一种规则处理方法和设备技术

技术编号:15746431 阅读:385 留言:0更新日期:2017-07-03 01:44
本申请公开了一种规则处理方法和设备,包括:获取待处理的规则,所述规则中包含至少一个执行条件;解析所述规则,确定针对所述规则的满足设定条件的运算路径;根据所述运算路径和短路运算策略,对所述规则进行处理,得到所述规则的处理结果,其中,所述处理结果用于处理与所述规则相匹配的业务事件。这样,对于待处理的规则,通过解析所述规则中各个执行条件之间的逻辑关系,确定满足设定条件的运算路径,并基于该运算路径和短路运算策略,快速得到规则的处理结果,有效简化规则中各个执行条件的逻辑执行次数,进而缩短规则处理时间,快速提升业务事件的处理效率。

Rule processing method and apparatus

The invention discloses a rule processing method and apparatus, including: obtaining the rules, including at least one execution condition of the rules; analyzing the operation rules, the rules of the path is determined to meet the set conditions; according to the operation path and short operation strategy, to deal with the the rules, processing results, the rules in which the processing results for business events which match with the rules. So, for the rules, through analyzing the logical relationship between the rules of each execution conditions, determine the operation path set conditions, and based on the operation path and short operation strategy, quick result rules, simplify the rules in each execution condition logic execution times, and shorten the processing rules fast time, improve processing efficiency of business events.

【技术实现步骤摘要】
一种规则处理方法和设备
本申请涉及互联网信息处理
,尤其涉及一种规则处理方法和设备。
技术介绍
随着互联网技术的发展,用户请求服务器处理的业务越来越多。然而,业务在处理过程中需要使用业务规则,每一条业务规则中包含多个执行条件(这里的执行条件是指包含一段业务逻辑的代码)和多个逻辑运算符(例如:and逻辑运算符;or逻辑运算符),但是,服务器在处理一个业务请求时需要使用多条业务规则,这就意味着业务规则分析处理的速度决定了业务请求的处理速度。一般业务规则的分析方法为:将业务规则对应的表达式转换成为表达式树的形式,并对表达式树执行遍历操作,在遍历的过程中计算表达式树中各个叶子节点(即执行条件)的值,逐步向表达式树的根结点回溯得到根节点的值,根节点的值即可认定为该业务规则的分析结果。这种传统的业务规则的分析方法,在遍历过程中逐一计算表达式树中各个叶子节点的值,存在计算量大,又比较耗时的问题,使得业务规则处理的速度相对比较慢,进而影响业务请求的处理速度。然而,随着电子商务技术的发展,网络业务的复杂度也随之增加,当面对海量的业务请求需要处理时,如何缩短业务规则的处理时间成为提高业务处理效率的关键问题。
技术实现思路
有鉴于此,本申请实施例提供了一种规则处理方法和设备,用于解决如何缩短业务规则处理时间的问题,以提升业务处理效率。一种规则处理方法,包括:获取待处理的规则,其中,所述规则中包含至少一个执行条件;解析所述规则,确定针对所述规则的满足设定条件的运算路径;根据所述运算路径和短路运算策略,对所述规则进行处理,得到所述规则的处理结果,其中,所述处理结果用于处理与所述规则相匹配的业务事件。一种规则处理设备,包括:获取单元,用于获取待处理的规则,其中,所述规则中包含至少一个执行条件;确定单元,用于解析所述规则,确定针对所述规则的满足设定条件的运算路径;处理单元,用于根据所述运算路径和短路运算策略,对所述规则进行处理,得到所述规则的处理结果,其中,所述处理结果用于处理与所述规则相匹配的业务事件。本专利技术有益效果如下:本专利技术实施例获取待处理的规则,所述规则中包含至少一个执行条件;解析所述规则,确定针对所述规则的满足设定条件的运算路径;根据所述运算路径和短路运算策略,对所述规则进行处理,得到所述规则的处理结果,其中,所述处理结果用于处理与所述规则相匹配的业务事件。这样,对于待处理的规则,通过解析所述规则中各个执行条件之间的逻辑关系,确定满足设定条件的运算路径,并基于该运算路径和短路运算策略,快速得到规则的处理结果,有效简化规则中各个执行条件的逻辑执行次数,进而缩短规则处理时间,快速提升业务事件的处理效率。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本申请实施例提供的一种规则处理方法的流程示意图;图2为规则表达树的结构示意图;图3为本申请实施例提供的一种规则处理设备的结构示意图。具体实施方式为了实现本申请的目的,本申请实施例提供了一种规则处理方法和设备,获取待处理的规则,所述规则中包含至少一个执行条件;解析所述规则,确定针对所述规则的满足设定条件的运算路径;根据所述运算路径和短路运算策略,对所述规则进行处理,得到所述规则的处理结果,其中,所述处理结果用于处理与所述规则相匹配的业务事件。这样,对于待处理的规则,通过解析所述规则中各个执行条件之间的逻辑关系,确定满足设定条件的运算路径,并基于该运算路径和短路运算策略,快速得到规则的处理结果,有效简化规则中各个执行条件的逻辑执行次数,进而缩短规则处理时间,快速提升业务事件的处理效率。需要说明的是,本申请实施例的执行主体可以是规则引擎,规则引擎是一种嵌入在应用程序中的组件,实现将业务策略从应用程序代码中分离出来,并使用预定义的语义模块编写业务策略。在电子商务时代,规则引擎被用于支撑复杂的业务决策,被广泛地用于商品交易、风险识别、行为特征匹配以及个性化推荐等方面。规则引擎中可以包含多个规则模型,每一个规则模型的建立包含:规则可以表示成为一个布尔表达式,包含执行条件和逻辑运算符;规则的结果是布尔值,即真或假;而执行条件是包含一段业务逻辑的代码,可以根据输入参数计算得出结果。下面结合说明书附图对本专利技术各个实施例作进一步地详细描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本专利技术保护的范围。图1为本申请实施例提供的一种规则处理方法的流程示意图。所述方法可以如下所示。步骤101:获取待处理的规则。其中,所述规则中包含至少一个执行条件。在步骤101中,规则引擎中包含多个规则,获取待处理的规则可以是指在接收到业务处理请求时,根据该业务处理请求确定用于处理该业务处理请求的规则;也可以是指规则引擎中包含的每一个规则,这里不做限定。需要说明的是,本申请实施例中所记载的规则是指由执行条件和逻辑运算符组成的规则表达式。例如:(((((1&2)&3)&4)&5)&(7|(3&(1&2)),1、2、3、4、5、7分别表示执行条件,&和|分别表示逻辑运算符。步骤102:解析所述规则,确定针对所述规则的满足设定条件的运算路径。在步骤102中,解析所述规则中包含的执行条件以及不同执行条件之间的逻辑关系,确定所述规则中包含的每一个所述执行条件的执行优先级;并根据所述规则中包含的每一个所述执行条件的执行优先级,确定针对所述规则的满足设定条件的运算路径。具体地,确定所述规则中包含的每一个所述执行条件的执行优先级的方法包括但不限于:第一种方法:针对所述规则中包含的每一个执行条件,分别计算每一个执行条件的平均执行时间;根据每一个执行条件的平均执行时间,分别确定各个所述执行条件的执行优先级。其中,所述平均执行时间越少,对应的执行条件的优先级越高。具体地,每一个执行条件的平均执行时间可以通过计数器记录该执行条件的历史执行时间,根据历史执行时间以及执行次数,得到该执行条件的平均执行时间。在得到所述规则中包含的每一个执行条件的平均执行时间时,按照平均执行时间的长短,将所述规则中包含的执行条件进行排序,并根据排序结果确定各个所述执行条件的执行优先级。第二种方法:根据所述规则中包含的各个执行条件之间的逻辑关系,建立所述规则对应的规则表达树,其中,所述规则表达树的叶子节点为所述规则中包含的执行条件,两个所述叶子节点对应的非叶子节点为所述规则中包含的逻辑运算符;遍历所述规则表达树,确定所述规则表达树中各个叶子节点的权重值;根据所述权重值,确定各个叶子节点对应的执行条件的执行优先级。需要说明的是,本申请实施例中可以设置权重值越大对应的运算优先级越高;也可以设置权重值越小对应的运算优先级越低,这里不做限定。具体地,确定所述规则对应的规则表达式;对所述规则表达式进行语法分析,得到针对所述规则表达式生成的二叉分析树,即得到本文档来自技高网...
一种规则处理方法和设备

【技术保护点】
一种规则处理方法,其特征在于,包括:获取待处理的规则,其中,所述规则中包含至少一个执行条件;解析所述规则,确定针对所述规则的满足设定条件的运算路径;根据所述运算路径和短路运算策略,对所述规则进行处理,得到所述规则的处理结果,其中,所述处理结果用于处理与所述规则相匹配的业务事件。

【技术特征摘要】
1.一种规则处理方法,其特征在于,包括:获取待处理的规则,其中,所述规则中包含至少一个执行条件;解析所述规则,确定针对所述规则的满足设定条件的运算路径;根据所述运算路径和短路运算策略,对所述规则进行处理,得到所述规则的处理结果,其中,所述处理结果用于处理与所述规则相匹配的业务事件。2.如权利要求1所述的规则处理方法,其特征在于,解析所述规则,确定针对所述规则的满足设定条件的运算路径,包括:解析所述规则,确定所述规则中包含的每一个所述执行条件的执行优先级;并根据所述规则中包含的每一个所述执行条件的执行优先级,确定针对所述规则的满足设定条件的运算路径。3.如权利要求2所述的规则处理方法,其特征在于,解析所述规则,确定所述规则中包含的每一个所述执行条件的执行优先级,包括:针对所述规则中包含的每一个执行条件,分别计算每一个执行条件的平均执行时间;根据每一个执行条件的平均执行时间,分别确定各个所述执行条件的执行优先级,其中,所述平均执行时间越少,对应的执行条件的优先级越高。4.如权利要求2所述的规则处理方法,其特征在于,解析所述规则,确定所述规则中包含的每一个所述执行条件的执行优先级,包括:根据所述规则中包含的各个执行条件之间的逻辑关系,建立所述规则对应的规则表达树,其中,所述规则表达树的叶子节点为所述规则中包含的执行条件,两个所述叶子节点对应的非叶子节点为所述规则中包含的逻辑运算符;遍历所述规则表达树,确定所述规则表达树中各个叶子节点的权重值;根据所述权重值,确定各个叶子节点对应的执行条件的执行优先级。5.如权利要求4所述的规则处理方法,其特征在于,根据所述规则中包含的每一个所述执行条件的执行优先级,确定针对所述规则的满足设定条件的运算路径,包括:在遍历所述规则表达树过程时,根据所述规则中包含的每一个所述执行条件的执行优先级,选择执行优先级大于设定级别的执行条件对应的运算路径作为针对所述规则的满足设定条件的运算路径。6.一种规则处理设备,其特征在于,包括:获取单...

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

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

1