规则匹配运算方法及装置制造方法及图纸

技术编号:13196158 阅读:45 留言:0更新日期:2016-05-12 08:02
本发明专利技术提供一种规则匹配运算方法及装置,所述方法包括:将规则表达式分解为若干个规则条件单元;根据所述规则表达式中运算符的优先级和每个规则条件单元在一定周期内监控到的匹配成功率调整规则条件单元的运算顺序;其中,若根据运算符优先级确定的当前运算的规则条件单元之间是和关系,则优先运算匹配成功率较低的规则条件单元;若根据运算符优先级确定的当前运算的规则条件单元之间是或关系,则优先运算匹配成功率较高的规则条件单元。本发明专利技术可实时监控规则表达式中各个规则条件单元的匹配成功率,并根据该匹配成功率调整整个规则表达式的运算顺序,以提高所述规则表达式的整体运算速度,进而提升运算效率。

【技术实现步骤摘要】

本专利技术属于计算机
,具体涉及一种规则匹配运算方法及装置
技术介绍
随着计算机技术的的飞速发展,互联网技术应用中,用户对运算速度的要求也越来越严格,然而,传统的规则匹配,其运算速度较慢,运算效率较低。例如:对于规则表达式C ! = 10 I I (A = 0&&B>5),规则上下文{A = 0,B = 6,C =10}。传统的规则运算会进行三次匹配:第一次运算C ! = 10为false,第二次运算(A =0&&B>5)中的A = O为true ;第三次运算B>5为true,之后才获取所述规则表达式的匹配结果为true。然而,如果将上述规则表达式的计算顺序做以调整,则可以有效的减少运算次数,进而提升其性能。例如:将上述规则表达式的计算顺序调整为(A = 0&&B>5) IlC!= 10,规则上下文同样为{A = 0,B = 6,C = 10},那么规则运算过程中仅需进行2次匹配,即可以获取所述规则表达式的匹配结果为true。相应的,第一次运算(A = 0&&B>5)中的A =O为true ;第二次运算B>5为true,故(A = 0&&B>5)的匹配结果为true,而(A = 0&&B>5)与C ! =10之间的逻辑关系为或关系,故仅在获取(A = 0&&B>5)的匹配结果为true后,不需要再次计算C ! = 10,即可以获取所述规则表达式的匹配结果为true。【专利技术内容】本专利技术的目的在于提供一种规则匹配运算方法及装置。为实现上述专利技术目的之一,本专利技术一实施方式提供了一种规则匹配运算方法,其包括:将规则表达式分解为若干个规则条件单元;根据所述规则表达式中运算符的优先级和每个规则条件单元在一定周期内监控到的匹配成功率调整规则条件单元的运算顺序;其中,若根据运算符优先级确定的当前运算的规则条件单元之间是和关系,则优先运算匹配成功率较低的规则条件单元;若根据运算符优先级确定的当前运算的规则条件单元之间是或关系,则优先运算匹配成功率较高的规则条件单元。作为本专利技术一实施方式的进一步改进,所述规则条件单元由单元类型、维度值、运算符、比较值组成。作为本专利技术一实施方式的进一步改进,“根据所述规则表达式中运算符的优先级和每个规则条件单元在一定周期内监控到的匹配成功率调整规则运算顺序”具体包括:将所述规则表达式按照运算符优先级和规则条件单元解析成语法二叉树,所述语法二叉树的每个叶子节点对应一个规则条件单元;为叶子节点中相同的规则条件单元分配同一个标识符;将所述语法二叉树的叶子节点替换为规则条件单元对应的标识符,并由叶子节点逐层向上进行两两运算;其中,根据所述规则表达式中运算符的优先级和每个标识符对应的规则条件单元在一定周期内监控到的匹配成功率调整标识符的运算顺序。作为本专利技术一实施方式的进一步改进,所述方法包括:根据所述规则条件单元的单元类型将标识符分堆;根据所述单元类型对应的执行模板,结合所述规则条件单元的维度值计算每个标识符的匹配结果。作为本专利技术一实施方式的进一步改进,所述方法包括监控每个规则条件单元在一定周期内的匹配成功率,其包括:实时地分别采集若干个规则条件单元在一定周期内的匹配成功率,所述匹配成功率=规则条件单元在一定周期内的匹配成功次数/规则条件单元在一定周期内的匹配次数。作为本专利技术一实施方式的进一步改进,计算所述匹配成功率具体包括:将所述规则表达式按照运算符优先级和规则条件单元解析成规则语法二叉树,所述规则语法二叉树的每个叶子节点对应一个规则条件单元;为叶子节点中相同的规则条件单元分配同一个标识符;将所述语法树的叶子节点替换为规则条件单元对应的标识符,并计算所述标识符的匹配结果;所述匹配成功率=规则条件单元对应的标识符的匹配成功次数/规则条件单元对应的标识符的匹配次数。作为本专利技术一实施方式的进一步改进,“计算所述标识符的匹配结果”具体包括:根据所述规则条件单元的单元类型将标识符分堆;根据所述单元类型对应的执行模板,结合所述规则条件单元的维度值计算每个标识符的匹配结果。为实现上述专利技术目的之一,本专利技术一实施方式提供了一种规则匹配运算装置,其包括:分解模块,用于将规则表达式分解为若干个规则条件单元;匹配模块,用于根据所述规则表达式中运算符的优先级和每个规则条件单元在一定周期内监控到的匹配成功率调整规则条件单元的运算顺序;其中,若根据运算符优先级确定的当前运算的规则条件单元之间是和关系,则优先运算匹配成功率较低的规则条件单元;若根据运算符优先级确定的当前运算的规则条件单元之间是或关系,则优先运算匹配成功率较高的规则条件单元。作为本专利技术一实施方式的进一步改进,所述规则条件单元由单元类型、维度值、运算符、比较值组成。作为本专利技术一实施方式的进一步改进,所述匹配模块还用于:将所述规则表达式按照运算符优先级和规则条件单元解析成语法二叉树,所述语法二叉树的每个叶子节点对应一个规则条件单元;为叶子节点中相同的规则条件单元分配同一个标识符;将所述语法二叉树的叶子节点替换为规则条件单元对应的标识符,并由叶子节点逐层向上进行两两运算;其中,根据所述规则表达式中运算符的优先级和每个标识符对应的规则条件单元在一定周期内监控到的匹配成功率调整标识符的运算顺序。作为本专利技术一实施方式的进一步改进,所述匹配模块还用于:根据所述规则条件单元的单元类型将标识符分堆;根据所述单元类型对应的执行模板,结合所述规则条件单元的维度值计算每个标识符的匹配结果。作为本专利技术一实施方式的进一步改进,所述匹配模块用于:监控每个规则条件单元在一定周期内的匹配成功率;所述匹配模块具体用于,实时地分别采集若干个规则条件单元在一定周期内的匹配成功率,所述匹配成功率=规则条件单元在一定周期内的匹配成功次数/规则条件单元在一定周期内的匹配次数。作为本专利技术一实施方式的进一步改进,所述匹配模块用于:将所述规则表达式按照运算符优先级和规则条件单元解析成规则语法二叉树,所述规则语法二叉树的每个叶子节点对应一个规则条件单元;为叶子节点中相同的规则条件单元分配同一个标识符;将所述语法树的叶子节点替换为规则条件单元对应的标识符,并计算所述标识符的匹配结果;所述匹配成功率=规则条件单元对应的标识符的匹配成功次数/规则条件单元对应的标识符的匹配次数。作为本专利技术一实施方式的进一步改进,所述匹配模块用于:根据所述规则条件单元的单元类型将标识符分堆;根据所述单元类型对应的执行模板,结合所述规则条件单元的维度值计算每个标识符的匹配结果。与现有技术相比,本专利技术的有益效果是:本专利技术的规则匹配运算方法及装置,可实时监控规则表达式中各个规则条件单元的匹配成功率,并根据该匹配成功率调整整个规则表达式的运算顺序,以提高所述规则表达式的整体运算速度,进而提升运算效率。【附图说明】图1是本专利技术一实施方式中规则匹配运算方法的流程示意图;图2A是本专利技术一实施方式中规则语法二叉树的结构示意图;图2B是图2A对应的规则条件单元池的结构示意图;图2C是将图2A中规则语法二叉树中的规则单元表达式替换为规则条件单元池中的标识符的结构示意图;本文档来自技高网...

【技术保护点】
一种规则匹配运算方法,其特征在于,所述方法包括:将规则表达式分解为若干个规则条件单元;根据所述规则表达式中运算符的优先级和每个规则条件单元在一定周期内监控到的匹配成功率调整规则条件单元的运算顺序;其中,若根据运算符优先级确定的当前运算的规则条件单元之间是和关系,则优先运算匹配成功率较低的规则条件单元;若根据运算符优先级确定的当前运算的规则条件单元之间是或关系,则优先运算匹配成功率较高的规则条件单元。

【技术特征摘要】

【专利技术属性】
技术研发人员:陈显铭
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1