CN115185616A - 业务规则引擎及业务规则引擎的处理方法 - Google Patents

业务规则引擎及业务规则引擎的处理方法 Download PDF

Info

Publication number
CN115185616A
CN115185616A CN202211112487.3A CN202211112487A CN115185616A CN 115185616 A CN115185616 A CN 115185616A CN 202211112487 A CN202211112487 A CN 202211112487A CN 115185616 A CN115185616 A CN 115185616A
Authority
CN
China
Prior art keywords
rule
business
rules
service
rule matching
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211112487.3A
Other languages
English (en)
Other versions
CN115185616B (zh
Inventor
莫中平
陈增勇
杨康
王功勋
王帅帅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Yishi Huolala Technology Co Ltd
Original Assignee
Shenzhen Yishi Huolala Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Yishi Huolala Technology Co Ltd filed Critical Shenzhen Yishi Huolala Technology Co Ltd
Priority to CN202211112487.3A priority Critical patent/CN115185616B/zh
Publication of CN115185616A publication Critical patent/CN115185616A/zh
Application granted granted Critical
Publication of CN115185616B publication Critical patent/CN115185616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4482Procedural
    • G06F9/4484Executing subprograms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/041Abduction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/042Backward inferencing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种业务规则引擎。业务规则引擎包括规则引擎核心包,规则引擎核心包包括注册接口及校验接口。注册接口用于生成营销工具的业务规则匹配链,其中,每个营销工具对应一个业务规则匹配链,业务规则匹配链包括按执行阶梯排列的多个业务规则。校验接口用于:在待校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链;及在待校验的业务规则匹配链大于数量阈值时,重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。本申请还公开了一种业务规则引擎的处理方法。依据校验的不同场景,动态地调整最适宜的校验顺序,提高进行校验的效率。

Description

业务规则引擎及业务规则引擎的处理方法
技术领域
本申请涉及互联网平台技术领域,特别涉及一种业务规则引擎及业务规则引擎的处理方法。
背景技术
在运营增长业务领域,留存下来实用的营销工具需要不断地改进,还要不断创造新的营销工具以满足业务量的增长,对技术侧的要求就是营销工具版本迭代要“稳、快”。营销工具迭代升级大部分是对业务规则的调整,新的营销工具诞生初期业务规则往往也会复用已有工具的业务规则。技术侧让业务规则从业务逻辑中剥离出来独立校验,并建立规则池,变得尤为重要。目前市场上惯用的技术手段就是使用规则引擎对业务规则进行统一编排校验,以达到“稳、快”的目标。
目前市场上成熟的规则引擎中编译型有DROOLS,解释型有QLEXPRESS、GROOVY、JEXL等。编译型的规则引擎基本都是基于RETE算法实现,使用的是正向推理,按照由条件推出结论的方向进行的推理方式,从一组事实出发,使用一定的推理规则,来证明目标事实或命题的成立。适用于规则多于事实的业务场景,如案件审理(法律条款远多于事实证据)、购买保险(产品的条约远多于投被保人相关信息)等。而营销工具的业务规则量远小于客户信息,静态地逐一对营销工具进行校验,效率较低。
发明内容
为解决上述背景技术中的至少一个技术问题,本申请实施方式提供了一种业务规则引擎及业务规则引擎的处理方法。
本申请实施方式的业务规则引擎包括规则引擎核心包,所述规则引擎核心包包括:
注册接口,所述注册接口用于生成营销工具的业务规则匹配链,其中,每个所述营销工具对应一个业务规则匹配链,所述业务规则匹配链包括按执行阶梯排列的多个业务规则;及
校验接口,所述校验接口用于:在待校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链;及在待校验的业务规则匹配链大于所述数量阈值时,重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。
在某些实施方式中,所述校验接口还用于记录校验每个业务规则的平均耗时;
在串行校验多个业务规则匹配链时,所述校验接口用于:
基于所述平均耗时,对每个业务规则匹配链中,同一阶梯内的多个业务规则按平均耗时从低到高进行第一重新排序;及
按所述第一重新排序校验同一阶梯内的多个业务规则。
在某些实施方式中,在重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序时,所述校验接口用于:
将所有待校验的业务规则匹配链中,同一阶梯的多个业务规则进行整合;
基于所述平均耗时、历史通过率、及整合后同一阶梯中的相同业务规则的共用次数,对整合后同一阶梯中的业务规则进行第二重新排序;及
按所述第二重新排序校验整合后的同一阶梯内的多个业务规则。
在某些实施方式中,所述校验接口还用于:
在校验得到一个业务规则不匹配时,则判断与不匹配的业务规则对应的营销工具不适用。
在某些实施方式中,所述业务规则引擎还包括:
规则上下文数据包,所述规则上下文数据包用于定义业务规则中使用到的所有事实;
规则条件包,所述规则条件包用于从所述规则上下文数据包中提取与业务规则对应的数据;及
引擎工具包,所述引擎工具包用于定义业务规则编排使用的注解、及/或用于生成编排规则信息。
在某些实施方式中,所述规则条件包包括:
第一函数式接口,用于向规则上下文数据包中定义的事实对象中写入数据;及
第二函数式接口,用于读取规则上下文数据包中的数据,并加工成业务规则中用于判定的数据。
在某些实施方式中,所述规则条件包还包括工具类,所述工具类用于基于新增的业务规则,定义所述第一函数式接口及所述第二函数式接口的写入及/或读取规则。
在某些实施方式中,所述业务规则包括约束类规则条件、行为类规则条件和派生类规则条件中的任意一种或多种。
在某些实施方式中,所述业务规则引擎使用JAVA语言开发,所述规则引擎核心包、所述规则上下文数据包、所述规则条件包、及所述引擎工具包通过JAR包的方式接入所述业务规则引擎。
本申请实施方式的业务规则引擎的处理方法包括:
成营销工具的业务规则匹配链,其中,每个所述营销工具对应一个业务规则匹配链,所述业务规则匹配链包括按执行阶梯排列的多个业务规则;
在待校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链;及
在待校验的业务规则匹配链大于所述数量阈值时,重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。
本申请实施方式的业务规则引擎及业务规则引擎的处理方法中,生成营销工具的规则匹配链,在规则匹配链中按不同的执行阶梯排列多个业务规则,在触发校验时,对于业务规则匹配链较少的情况,直接串行多个业务规则匹配链,对于业务规则匹配链较多的情况,重新对所有规则匹配链进行整合,以按照新的执行顺序排列待校验的业务规则,如此,依据校验的不同场景,动态地调整最适宜的校验顺序,提高进行校验的效率。
本申请实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1为本申请某些实施方式的业务规则引擎的模块示意图;
图2为本申请某些实施方式利用业务规则引擎进行校验的功能框架示意图;
图3为本申请某些实施方式的业务规则引擎的处理方法的流程示意图。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。
请参阅图1,图1为本申请某些实施方式的业务规则引擎10的模块示意图,业务规则引擎10包括规则引擎核心包11,规则引擎核心包11包括注册接口111及校验接口112。注册接口111用于生成营销工具的业务规则匹配链,其中,每个营销工具对应一个业务规则匹配链,业务规则匹配链包括按执行阶梯排列的多个业务规则。校验接口112用于在待校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链;及在待校验的业务规则匹配链大于数量阈值时,重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。
本申请实施方式的业务规则引擎10中,生成营销工具的规则匹配链,在规则匹配链中按不同的执行阶梯排列多个业务规则,在触发校验时,对于业务规则匹配链较少的情况,直接串行多个业务规则匹配链,对于业务规则匹配链较多的情况,重新对所有规则匹配链进行整合,以按照新的执行顺序排列待校验的业务规则,如此,依据校验的不同场景,动态地调整最适宜的校验顺序,提高进行校验的效率。
具体地,注册接口111用于生成营销工具的业务规则匹配链,其中,业务规则匹配链与营销工具一一对应,规则引擎核心包11会在各个营销工具的机器生成业务规则匹配链。业务规则匹配链包括按执行阶梯排列的多个业务规则,执行阶梯代表业务规则匹配链中被校验的先后顺序,同一个执行阶梯可以并列有多个业务规则,一个业务规则匹配链可以包括一个或多个执行阶梯。
在一个例子中,设计了两个函数式接口用于生成业务规则匹配链,分别为规则判定函数式接口及规则执行函数接口。规则判定函数式接口(Boolean Function):用于实现业务规则中规则条件判定方法,所有规则条件生成的规则判定函数,按编排的顺序存储到Array Linked List中。规则执行函数接口(Execute Function):用于实现按顺序执行规则条件列表中的规则判定函数,组装每个规则条件判定结果,得到业务规则的最终执行结果。
校验接口112用于根据入参,执行要校验的多个业务规则匹配链。具体地,当需要执行校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链。当需要执行校验的业务规则匹配链大于数量阈值时,重新排列待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。其中,数量阈值可以依据业务规则引擎10的不同处理能力进行设定,例如数量阈值可以是二、三、四、五等,在此不作限制。依据校验的不同场景,采用不同的校验策略,动态地调整最适宜的校验顺序,提高进行校验的效率。
请继续参阅图1,在某些实施方式中,在校验得到一个业务不匹配时,则判断与不匹配的业务规则对应的营销工具不适用。其中,若需要确定适用营销工具,需要与营销工具对应的业务规则匹配链中所有的业务规则均能够校验成功,因此,只需要校验得到一个业务规则不匹配,则可以确定该业务规则所在的业务规则匹配链不匹配,该业务规则匹配链对应的营销工具不适用,而不需要再对业务规则匹配链中其余的业务规则进行校验。故,本实施方式采用反向推理的核心思想,将业务规则的规则条件编成业务规则匹配链,当某个业务规则条件不满足,可以舍弃后面业务规则的校验,极大地提升了效率,非常符合运营增长业务等追求效率的领域。
请继续参阅图1,在某些实施方式中,校验接口112还用于记录校验每个业务规则的平均耗时。在串行校验多个业务规则匹配链时,校验接口112具体用于:
基于平均耗时,对每个业务规则匹配链中,同一阶梯内的多个业务规则按平均耗时从低到高进行第一重新排序;及按第一重新排序校验同一阶梯内的多个业务规则。
具体地,校验接口112记录校验每个业务规则的平均耗时其中,可以记录过去任意数量个相同业务规则校验时的平均耗时,以记录过去10个相同业务规则的平均耗时为例,
Figure DEST_PATH_IMAGE002
,其中,
Figure DEST_PATH_IMAGE004
为过去10次某个相同的业务规则校验的平均耗时。可以理解,当计算得到的校验业务规则的平均耗时越小,代表校验该业务规则越快。
进一步地,在串行校验多个业务规则匹配链时,基于平均耗时,对每个业务规则匹配链中,同一阶梯内的多个业务规则按平均耗时从低到高进行第一重新排序,具体地,同一业务规则匹配链中可以有多个平均耗时不同的业务规则,对该业务规则进行第一重新排序,再按第一排序校验同一阶梯内的多个业务规则,即对于同一个阶梯内的多个业务规则,优先校验平均耗时较低的业务规则,以期尽快地得到整个业务规则匹配链的校验结果。当然,对于不同阶梯内的业务规则,则还是以阶梯为顺序进行校验。
请继续参阅图1,在某些实施方式中,在重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序时,校验接口112用于:
将所有待校验的业务规则匹配链中,同一阶梯的多个业务规则进行整合;基于平均耗时、历史通过率、及整合后同一阶梯中的相同业务规则的共用次数,对整合后同一阶梯中的业务规则进行第二重新排序;及按第二重新排序校验整合后的同一阶梯内的多个业务规则。
对多个业务规则匹配链中,同一阶梯的多个业务规则进行整合,例如,对所有待校验的业务规则匹配链的第一阶梯的业务规则进行整合,该整合包括但不限于对相同的业务规则进行合并。再基于平均耗时、历史通过率、及整合后同一阶梯中的相同业务规则的共用次数,对整合后同一阶梯中的业务规则进行第二重新排序,例如:
Figure DEST_PATH_IMAGE006
,其中,S为进行第二重新排序的衡量参数,S越小,则对应的业务规则进行第二重新排序时的位置越靠前,R为历史通过率,m为不同规则匹配链的同一阶梯中,某个业务规则的共用次数。可以理解,S越小,表示校验对应的业务规则的单位时间的效率越高,应优先被校验。按第二重新排序校验整合后的同一阶梯内的多个业务规则,极大地提升整体匹配效率。当然,本实施方式适用于第一阶梯、第二阶梯、第三阶梯等任意阶梯内的多个业务规则,在此不作限制。
请继续参阅图1,在某些实施方式中,业务规则引擎10还包括规则上下文数据包12、规则条件包13、及引擎工具包14;规则上下文数据包12用于定义业务规则中使用到的所有事实;规则条件包13用于从规则上下文数据包12中提取与业务规则对应的数据;引擎工具包14用于定义业务规则编排使用的注解、及/或用于生成编排规则信息。
具体地,业务规则引擎10使用JAVA语言开发,规则引擎核心包11、规则上下文数据包12、规则条件包13、及引擎工具包14通过JAR包的方式接入业务规则引擎10,如此,提供了已有使用JAVA语言开发的***,快速接入的解决方案,可供软件类工具参考,定义了灵活的函数式接口,对修改开放。另外,使用JAVA这种强类型语言实现规则判定,降低学习和排查问题成本,已有规则条件可快速配置引用。提供了实用的工具可以快速从业务人员配置的数据中生成规则编排信息,降低了接入成本。
如图1所示,规则上下文数据包12用于定义业务规则中使用到的所有事实,在一个例子中,规则条件包13包括第一函数式接口121及第二函数式接口122。第一函数式接口121用于向规则上下文数据包12中定义的事实对象中写入数据;第二函数式接口122用于读取规则上下文数据包12中的数据,并加工成业务规则中用于判定的数据。具体地,第一函数式接口121可以提供上下文数据函数(Context Provider):向规则上下文数据(规则上下文数据包12中定义的事实对象)中写入数据。第二函数式接口122可以是规则的取判定数据函数(Context Customer):读取规则上下文数据中的数据,加工成规则条件中用于判定的数据。
在一个营销例子中,自定义业务规则是活动限制车型为小面包或小货车,由订单预支付事件触发业务规则校验,则待判定数据就是订单预支付信息中的车型小面包,数据源就是KAFKA订单预支付的事件数据,提供上下文数据函数功能就是从数据源查询到订单预支付信息,写入到规则上下文数据中。规则上下文数据就是包含规则执行中使用到的所有数据的大对象。取待判定数据函数功能就是从订单预支付信息中读取订单车型值如小面包。业务规则判定就是判定小面包是否在自定义业务规则小面包或小货车中,判定结果就是通过。
请继续参阅图1,规则条件包13用于从规则上下文数据包12中提取与业务规则对应的数据,具体地,当营销工具***配置了选择的业务规则,规则条件包13会利用SpringBoot的Enable Auto Configuration功能将对应的提供上下文数据函数与规则的取判定数据函数Bean注入到营销工具***中。利用Environment Post Processor将必要的配置信息一并注入到营销工具***中,这样营销工具***就可以直接编排使用已有的业务规则。
在一个例子中,规则条件包13还包括工具类,工具类用于基于新增的业务规则,定义第一函数式接口121及第二函数式接口122的写入及/或读取规则。具体地,规则条件包13提供注册新业务规则时的提供上下文数据函数与规则的取判定数据函数的工具类,支持营销工具***新增独有业务规则,同时也提供了覆盖业务规则的取判定数据函数的工具类,支持营销工具***进行二次开发。
如图1所示,引擎工具包14包含业务规则编排使用的注解,以及生成编排规则信息的工具等。在一个例子中,引擎工具包14可以提供8个注解,支持识别编排业务规则,其中,每个注解可以有不同的代表功能,例如,第一注解用于支持行为类业务规则延后执行,以获取其他业务规则执行的结果、第二注解用于支持派生类业务规则,通过名称将业务规则分组,其他业务规则激活分组后,分组内的业务规则才执行。编排规则信息的工具用于支持解析任意存储活动业务规则信息的对象,通过分析注解信息生成业务规则编排信息。
需要说明的是,本申请实施方式的业务规则包括约束类规则条件、行为类规则条件和派生类规则条件中的任意一种或多种。其中,业务规则例如:年龄大于10,业务规则中判定类型例如:如上述业务规则中判定类型为“大于”。约束类规则条件:业务流程中某个过程节点准入或完成的制约条件,比较独立。行为类规则条件:业务中的动态规则,某一事件发生或满足条件触发的规则。派生类规则条件:利用逻辑推理或推断派生出新的实体。
请结合图2,图2为本申请某些实施方式利用业务规则引擎10进行校验的功能框架示意图,业务人员创建营销活动,并利用引擎工具包14注册编排业务规则,生成业务规则匹配链,依据发生的事件触发营销活动,准备好待判定数据后进行业务规则判定,生成判定结果,再依据判定结果进行营销活动业务逻辑处理。其中,业务规则判定的核心流程为:获取待判定数据、判定、记录判定结果、返回结果。具体的判定方式可以结合上述对业务规则引擎10的描述,在此不再赘述。
请参阅图3,图3为本申请某些实施方式的业务规则引擎的处理方法的流程示意图,业务规则引擎的处理方法包括步骤:
生成营销工具的业务规则匹配链,其中,每个营销工具对应一个业务规则匹配链,业务规则匹配链包括按执行阶梯排列的多个业务规则;
在待校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链;及
在待校验的业务规则匹配链大于数量阈值时,重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。
业务规则引擎的处理方法的相关实施细节可以参考上述对业务规则引擎10的相关描述,在此不再赘述。可以理解,业务规则引擎的处理方法还包括业务规则引擎10内的所有组成部分能够实现的功能,在此不再一一列出。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。

Claims (10)

1. 一种业务规则引擎,其特征在于,所述业务规则引擎包括规则引擎核心包,所述规则引擎核心包包括:
注册接口,所述注册接口用于生成营销工具的业务规则匹配链,其中,每个所述营销工具对应一个业务规则匹配链,所述业务规则匹配链包括按执行阶梯排列的多个业务规则;及
校验接口,所述校验接口用于:在待校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链;及在待校验的业务规则匹配链大于所述数量阈值时,重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。
2.根据权利要求1所述的业务规则引擎,其特征在于,所述校验接口还用于记录校验每个业务规则的平均耗时;
在串行校验多个业务规则匹配链时,所述校验接口用于:
基于所述平均耗时,对每个业务规则匹配链中,同一阶梯内的多个业务规则按平均耗时从低到高进行第一重新排序;及
按所述第一重新排序校验同一阶梯内的多个业务规则。
3.根据权利要求2所述的业务规则引擎,其特征在于,在重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序时,所述校验接口用于:
将所有待校验的业务规则匹配链中,同一阶梯的多个业务规则进行整合;
基于所述平均耗时、历史通过率、及整合后同一阶梯中的相同业务规则的共用次数,对整合后同一阶梯中的业务规则进行第二重新排序;及
按所述第二重新排序校验整合后的同一阶梯内的多个业务规则。
4.根据权利要求1所述的业务规则引擎,其特征在于,所述校验接口还用于:
在校验得到一个业务规则不匹配时,则判断与不匹配的业务规则对应的营销工具不适用。
5.根据权利要求1至4任意一项所述的业务规则引擎,其特征在于,所述业务规则引擎还包括:
规则上下文数据包,所述规则上下文数据包用于定义业务规则中使用到的所有事实;
规则条件包,所述规则条件包用于从所述规则上下文数据包中提取与业务规则对应的数据;及
引擎工具包,所述引擎工具包用于定义业务规则编排使用的注解、及/或用于生成编排规则信息。
6. 根据权利要求5所述的业务规则引擎,其特征在于,所述规则条件包包括:
第一函数式接口,用于向规则上下文数据包中定义的事实对象中写入数据;及
第二函数式接口,用于读取规则上下文数据包中的数据,并加工成业务规则中用于判定的数据。
7.根据权利要求6所述的业务规则引擎,其特征在于,所述规则条件包还包括工具类,所述工具类用于基于新增的业务规则,定义所述第一函数式接口及所述第二函数式接口的写入及/或读取规则。
8.根据权利要求5所述的业务规则引擎,其特征在于,所述业务规则包括约束类规则条件、行为类规则条件和派生类规则条件中的任意一种或多种。
9.根据权利要求5所述的业务规则引擎,其特征在于,所述业务规则引擎使用JAVA语言开发,所述规则引擎核心包、所述规则上下文数据包、所述规则条件包、及所述引擎工具包通过JAR包的方式接入所述业务规则引擎。
10.一种业务规则引擎的处理方法,其特征在于,所述业务规则引擎的处理方法包括:
生成营销工具的业务规则匹配链,其中,每个所述营销工具对应一个业务规则匹配链,所述业务规则匹配链包括按执行阶梯排列的多个业务规则;
在待校验的业务规则匹配链小于或等于预设的数量阈值时,串行校验多个业务规则匹配链;及
在待校验的业务规则匹配链大于所述数量阈值时,重新排列所有待校验的业务规则匹配链中的业务规则的执行顺序,并按重新排列的执行顺序校验多个业务规则。
CN202211112487.3A 2022-09-14 2022-09-14 业务规则引擎装置及业务规则引擎的处理方法 Active CN115185616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211112487.3A CN115185616B (zh) 2022-09-14 2022-09-14 业务规则引擎装置及业务规则引擎的处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211112487.3A CN115185616B (zh) 2022-09-14 2022-09-14 业务规则引擎装置及业务规则引擎的处理方法

Publications (2)

Publication Number Publication Date
CN115185616A true CN115185616A (zh) 2022-10-14
CN115185616B CN115185616B (zh) 2022-12-13

Family

ID=83524734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211112487.3A Active CN115185616B (zh) 2022-09-14 2022-09-14 业务规则引擎装置及业务规则引擎的处理方法

Country Status (1)

Country Link
CN (1) CN115185616B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116340832A (zh) * 2023-05-25 2023-06-27 北京城建智控科技股份有限公司 一种列控基础数据校验方法及装置

Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998021654A1 (en) * 1996-11-14 1998-05-22 Mitsubishi Electric Information Technology Center America, Inc. Log based data architecture for a transactional message queuing system
CA2250797A1 (en) * 1997-11-03 1999-05-03 Marius Minea Static partial order reduction
US20110153861A1 (en) * 2009-12-23 2011-06-23 Abhishek Chauhan Systems and methods for determining a good rss key
CN102292708A (zh) * 2008-11-25 2011-12-21 思杰***有限公司 用于策略的http调出的***和方法
CN102334111A (zh) * 2009-03-30 2012-01-25 亚马逊技术有限公司 为受管计算机网络提供逻辑联网功能
CN103116498A (zh) * 2013-03-07 2013-05-22 徐国庆 并行业务规则引擎及其实现方法
CN106101090A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 用于规则引擎的操作方法以及规则引擎***
CN107291716A (zh) * 2016-03-30 2017-10-24 阿里巴巴集团控股有限公司 一种链路数据校验方法及装置
US9940182B1 (en) * 2013-09-13 2018-04-10 Stott Creations LLC Business rule engine validation systems and related methods
CN107943878A (zh) * 2017-11-14 2018-04-20 北京思特奇信息技术股份有限公司 一种业务规则引擎实现方法和***
CN109582681A (zh) * 2018-10-26 2019-04-05 平安科技(深圳)有限公司 业务数据处理方法、装置、计算机设备及存储介质
CN110633160A (zh) * 2019-08-22 2019-12-31 浙江大搜车软件技术有限公司 接口调用方法、装置、计算机设备和存储介质
CN111241186A (zh) * 2020-01-17 2020-06-05 中信银行股份有限公司 基于规则的可视化并行数据准备方法、***、设备、介质
CN111562965A (zh) * 2020-04-27 2020-08-21 深圳木成林科技有限公司 基于决策树的页面数据校验方法和装置
CN111813406A (zh) * 2020-07-14 2020-10-23 深圳前海移联科技有限公司 一种动态的事件驱动模型
CN112115518A (zh) * 2020-09-28 2020-12-22 中国建设银行股份有限公司 一种业务数据校验方法和装置
CN112488855A (zh) * 2020-11-23 2021-03-12 中国人寿保险股份有限公司 一种基于规则模板的业务校验方法及设备
CN112532456A (zh) * 2020-12-04 2021-03-19 浪潮云信息技术股份公司 一种云环境下的告警监控方法
CN112685410A (zh) * 2020-12-25 2021-04-20 中国平安人寿保险股份有限公司 业务规则校验方法、装置、计算机设备及存储介质
CN112800095A (zh) * 2021-04-13 2021-05-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113435861A (zh) * 2021-07-15 2021-09-24 支付宝(杭州)信息技术有限公司 一种基于舆情数据的业务运维方法、装置及电子设备
CN113779004A (zh) * 2021-02-19 2021-12-10 北京沃东天骏信息技术有限公司 一种数据校验的方法和装置
CN114092116A (zh) * 2021-11-26 2022-02-25 浙江唯品会支付服务有限公司 业务规则的校验方法、装置以及电子设备
CN114896081A (zh) * 2022-03-03 2022-08-12 首约科技(北京)有限公司 一种下单校验效率的提高方法
CN115033816A (zh) * 2022-06-27 2022-09-09 中国平安人寿保险股份有限公司 基于规则引擎的业务处理方法、装置、计算机设备及介质

Patent Citations (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998021654A1 (en) * 1996-11-14 1998-05-22 Mitsubishi Electric Information Technology Center America, Inc. Log based data architecture for a transactional message queuing system
CA2250797A1 (en) * 1997-11-03 1999-05-03 Marius Minea Static partial order reduction
CN102292708A (zh) * 2008-11-25 2011-12-21 思杰***有限公司 用于策略的http调出的***和方法
CN102334111A (zh) * 2009-03-30 2012-01-25 亚马逊技术有限公司 为受管计算机网络提供逻辑联网功能
US20110153861A1 (en) * 2009-12-23 2011-06-23 Abhishek Chauhan Systems and methods for determining a good rss key
CN103116498A (zh) * 2013-03-07 2013-05-22 徐国庆 并行业务规则引擎及其实现方法
US9940182B1 (en) * 2013-09-13 2018-04-10 Stott Creations LLC Business rule engine validation systems and related methods
CN107291716A (zh) * 2016-03-30 2017-10-24 阿里巴巴集团控股有限公司 一种链路数据校验方法及装置
CN106101090A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 用于规则引擎的操作方法以及规则引擎***
CN107943878A (zh) * 2017-11-14 2018-04-20 北京思特奇信息技术股份有限公司 一种业务规则引擎实现方法和***
CN109582681A (zh) * 2018-10-26 2019-04-05 平安科技(深圳)有限公司 业务数据处理方法、装置、计算机设备及存储介质
CN110633160A (zh) * 2019-08-22 2019-12-31 浙江大搜车软件技术有限公司 接口调用方法、装置、计算机设备和存储介质
CN111241186A (zh) * 2020-01-17 2020-06-05 中信银行股份有限公司 基于规则的可视化并行数据准备方法、***、设备、介质
CN111562965A (zh) * 2020-04-27 2020-08-21 深圳木成林科技有限公司 基于决策树的页面数据校验方法和装置
CN111813406A (zh) * 2020-07-14 2020-10-23 深圳前海移联科技有限公司 一种动态的事件驱动模型
CN112115518A (zh) * 2020-09-28 2020-12-22 中国建设银行股份有限公司 一种业务数据校验方法和装置
CN112488855A (zh) * 2020-11-23 2021-03-12 中国人寿保险股份有限公司 一种基于规则模板的业务校验方法及设备
CN112532456A (zh) * 2020-12-04 2021-03-19 浪潮云信息技术股份公司 一种云环境下的告警监控方法
CN112685410A (zh) * 2020-12-25 2021-04-20 中国平安人寿保险股份有限公司 业务规则校验方法、装置、计算机设备及存储介质
CN113779004A (zh) * 2021-02-19 2021-12-10 北京沃东天骏信息技术有限公司 一种数据校验的方法和装置
CN112800095A (zh) * 2021-04-13 2021-05-14 腾讯科技(深圳)有限公司 一种数据处理方法、装置、设备及存储介质
CN113435861A (zh) * 2021-07-15 2021-09-24 支付宝(杭州)信息技术有限公司 一种基于舆情数据的业务运维方法、装置及电子设备
CN114092116A (zh) * 2021-11-26 2022-02-25 浙江唯品会支付服务有限公司 业务规则的校验方法、装置以及电子设备
CN114896081A (zh) * 2022-03-03 2022-08-12 首约科技(北京)有限公司 一种下单校验效率的提高方法
CN115033816A (zh) * 2022-06-27 2022-09-09 中国平安人寿保险股份有限公司 基于规则引擎的业务处理方法、装置、计算机设备及介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
余军阳等: "基于权重优先业务规则引擎的行政许可管理应用", 《杭州师范大学学报(自然科学版)》 *
刘苇等: "基于Spring的业务规则引擎", 《计算机工程》 *
路劲: "动态校验技术在数据质量提升中的应用", 《云南电力技术》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116340832A (zh) * 2023-05-25 2023-06-27 北京城建智控科技股份有限公司 一种列控基础数据校验方法及装置

Also Published As

Publication number Publication date
CN115185616B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
US8566787B2 (en) System and method for improving modularity of large legacy software systems
JP6216757B2 (ja) ビジネスルールの編集およびコンパイルの、方法、コンピュータプログラム、およびシステム
CA2729304C (en) Data logging in graph-based computations
Bergmann et al. Incremental evaluation of model queries over EMF models
US7716254B2 (en) System for modeling architecture for business systems and methods thereof
Fleck et al. Search‐based model transformations
CN115185616B (zh) 业务规则引擎装置及业务规则引擎的处理方法
Briand et al. Using machine learning to refine category-partition test specifications and test suites
Ebert et al. Reverse engineering using graph queries
CN112395199B (zh) 基于云计算的分布式软件实例测试方法及软件开发平台
Voigt Structural graph-based metamodel matching
Chimiak_Opoka et al. Querying UML models using OCL and Prolog: A performance study
Muñoz-Fernández et al. 10 challenges for the specification of self-adaptive software
Saini et al. A Proposed Method of Machine Learning based Framework for Software Product Line Testing
CN114791808A (zh) 一种数据流图生成方法及装置
AU2019204148B2 (en) Editing and compiling business rules
McGill et al. Scalable analysis of conceptual data models
Mahmood Software implementation of hierarchical decision modeling and hierarchical decision modeling sensitivity analysis.
Hartmanns et al. Fast Verified SCCs for Probabilistic Model Checking
Wetzler Efficient, mechanically-verified validation of satisfiability solvers
US20240135210A1 (en) Replacing lambda expressions in a rete network with corresponding code classes
Chaghrouchni et al. Machine Learning in Predicting the Appropriate Model of Software Process Models Deviation
Mey et al. Transforming Truth Tables to Binary Decision Diagrams Using Relational Reference Attribute Grammars.
Walter SAT-based analysis,(re-) configuration & optimization in the context of automotive product documentation
CN113448865A (zh) 基于形式模型的关系型测试数据生成方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant