CN111930383A - 一种基于轻量规则的业务处理引擎及业务系统的处理方法 - Google Patents

一种基于轻量规则的业务处理引擎及业务系统的处理方法 Download PDF

Info

Publication number
CN111930383A
CN111930383A CN202010618294.XA CN202010618294A CN111930383A CN 111930383 A CN111930383 A CN 111930383A CN 202010618294 A CN202010618294 A CN 202010618294A CN 111930383 A CN111930383 A CN 111930383A
Authority
CN
China
Prior art keywords
rule
rules
conditions
matcher
counter
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.)
Pending
Application number
CN202010618294.XA
Other languages
English (en)
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.)
CHINA-ASEAN INFORMATION HARBOR Co.,Ltd.
Guangxi Dongxin Yilian Technology Co.,Ltd.
Original Assignee
Guangxi Dongxin Yilian 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 Guangxi Dongxin Yilian Technology Co ltd filed Critical Guangxi Dongxin Yilian Technology Co ltd
Priority to CN202010618294.XA priority Critical patent/CN111930383A/zh
Publication of CN111930383A publication Critical patent/CN111930383A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/42Syntactic analysis
    • G06F8/427Parsing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • G06F8/44Encoding
    • G06F8/443Optimisation
    • G06F8/4434Reducing the memory space required by the program code

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于轻量规则的业务处理引擎及业务系统的处理方法,属于业务处理技术领域。包括解析器、匹配器和执行器,所述解析器用于解析规则库输入的规则,并将解析后的规则发送至匹配器;所述匹配器用于接收用户请求参数、接收解析器发送的规则、储存规则、将用户请求参数和规则进行匹配生成匹配的规则列表以及发送匹配的规则列表至执行器;所述执行器用于接收匹配器发送的匹配的规则列表和对匹配的规则列表进行执行。本发明能够提供轻量级规则解析及匹配机制,实现业务系统的灵活控制。

Description

一种基于轻量规则的业务处理引擎及业务系统的处理方法
技术领域
本发明属于业务处理技术领域,尤其是一种基于轻量规则的业务处理引擎及业务系统的处理方法。
背景技术
现有的业务规则引擎,主要依赖Rete算法及类Rete算法进行规则匹配,着重研究复杂的规则条件下如何提高规则的匹配速度,并需要解决规则间的冲突。Rete算法及类Rete算法需要大量的存储空间进行中间状态的存储,在处理大量规则的情况下可能会耗尽设备的存储空间。传统的规则引擎较为笨重,引入规则引擎时需要引入大量框架代码逻辑,同时规则的编写较为复杂,导致规则引擎的易用性不佳,在敏捷开发过程中效果不好。
发明内容
本发明的发明目的是提供一种基于轻量规则的业务处理引擎及业务系统的处理方法,能够提供轻量级规则解析及匹配机制,实现业务系统的灵活控制。
为达到上述目的,本发明所采用的技术方案是:
一种基于轻量规则的业务处理引擎,包括解析器、匹配器和执行器,所述解析器用于解析规则库输入的规则,并将解析后的规则发送至匹配器;所述匹配器用于接收用户请求参数、接收解析器发送的规则、储存规则、将用户请求参数和规则进行匹配生成匹配的规则列表以及发送匹配的规则列表至执行器;所述执行器用于接收匹配器发送的匹配的规则列表和对匹配的规则列表进行执行。
进一步的,所述规则包括规则头、条件块以及行为块。
进一步的,所述解析器根据规则模板对规则库输入的规则进行解析,遍历所有规则中的所有条件,去重后得到全部条件的集合;并建立条件-规则的映射关系,记录该条件在哪条规则中出现;规则库输入的规则经过解析器处理后,可得到全部条件的列表及条件与规则的映射关系,以及包含所有规则的一个计数器,计数器初始值均为0。
进一步的,所述匹配器的匹配方法包括如下步骤:
步骤一、匹配器遍历所有的条件列表,并将请求参数按照条件列表进行匹配判断,若用户请求参数符合当前的条件,则在对应的规则的计数器中增加1;
步骤二、遍历完所有的条件后,可得到计数器中的数据值,计数器中的计数值代表某条规则中条件符合的个数;
步骤三、对计数器中的所有规则进行遍历,当计数器中该规则的计数与该规则本身带有的条件数量相等时,说明该规则的所有条件均满足,即可以执行该规则的动作,放入匹配规则列表中;
步骤四、完成计数器中所有规则的遍历后,便得到了本次请求所需要执行的规则及其相应的动作;
步骤五、得到匹配规则后,将所需执行的规则交由执行器进行执行。
一种业务系统的处理方法,所述业务系统包括上述的任意一种基于轻量规则的业务处理引擎和业务处理逻辑;所述业务系统的处理方法包括如下步骤:
S1.用户请求输入轻量规则的业务处理引擎后,通过规则匹配和规则执行后,对用户的请求参数进行修改,并将修改后的参数交由业务处理逻辑进行处理;
S2.业务处理逻辑与外部资源方系统交互完成后,再将处理结果返回至用户侧。
由于采用上述技术方案,本发明具有以下有益效果:
本发明包括解析器和匹配器,提供了轻量级规则解析及匹配功能,能够有效地节省了储存空间,有利于实现业务系统的灵活控制,本发明提供了易用的简化规则,从而便于前端及业务人员编写。
附图说明
图1是本发明中业务处理引擎的结构示意图;
图2是本发明中规则模板的结构示意图;
图3是本发明中解析器的工作流程图;
图4是本发明中匹配器的工作流程图;
图5是本发明中业务系统处理方法的工作流程图。
具体实施方式
下面结合附图,对本发明的具体实施方式进行详细描述,但应当理解本发明的保护范围并不受具体实施方式的限制。
除非另有其它明确表示,否则在整个说明书和权利要求书中,术语“包括”或其变换如“包含”或“包括有”等等将被理解为包括所陈述的元件或组成部分,而并未排除其它元件或其它组成部分。
如图1所示,一种基于轻量规则的业务处理引擎,包括解析器、匹配器和执行器,解析器用于解析规则库输入的规则,并将解析后的规则发送至匹配器;匹配器用于接收用户请求参数、接收解析器发送的规则、储存规则、将用户请求参数和规则进行匹配生成匹配的规则列表以及发送匹配的规则列表至执行器;执行器用于接收匹配器发送的匹配的规则列表和对匹配的规则列表进行执行。
如图2所示,规则包括规则头、条件块以及行为块。规则头以rule标识开始,后接规则名称;条件块以if标识开始,条件块内部可编写多个条件,以换行符分隔不同的条件。各个条件之间是“与(and)”的关系,“或(or)”关系需编写在同一个条件内,如逻辑:A and(Bor C),需编写成:
if
A
B or C
A是一个条件,B or C作为一个条件;行为块以then标识开始,行为块内部可编写多个行为。当某一规则的所有条件满足时,其行为块中的所有行为将会被执行。
如图3所示,解析器根据规则模板对规则库输入的规则进行解析,遍历所有规则中的所有条件,去重后得到全部条件的集合;并建立条件-规则的映射关系,记录该条件在哪条规则中出现。例如,条件1在规则A及规则C中出现,那么就会建立条件1到规则A和规则C的指向关系;其余条件的指向关系以此类推,解析器处理后的数据存储于LHS缓存中。规则库输入的规则经过解析器处理后,可得到全部条件的列表及条件与规则的映射关系,以及包含所有规则的一个计数器,计数器初始值均为0。
如图4所示,匹配器的匹配方法包括如下步骤:
匹配器遍历所有的条件列表,并将请求参数按照条件列表进行匹配判断,若用户请求参数符合当前的条件,则在对应的规则的计数器中增加1;遍历完所有的条件后,可得到计数器中的数据值,计数器中的计数值代表某条规则中条件符合的个数;对计数器中的所有规则进行遍历,当计数器中该规则的计数与该规则本身带有的条件数量相等时,说明该规则的所有条件均满足,即可以执行该规则的动作,放入匹配规则列表中;完成计数器中所有规则的遍历后,便得到了本次请求所需要执行的规则及其相应的动作。以图3为例,计数器中所有规则的初始值均为0,假设条件1,3,4在某一参数下为真,条件2不为真,那么最终规则A计数为2,规则B计数为1,规则C计数为3;且规则A自身条件数为3,规则B条件数为2,规则C条件数为3;即规则C满足所有条件,可以执行该规则。
得到匹配规则后,将所需执行的规则交由执行器进行执行。例如,可设定某一业务规则:当版本号大于184,且渠道号为vac,且订购的产品id为006032,那么将给予95折的折扣。
编写的规则如下:
rule‘营销折扣’
if
version>184
channel=vac
productid=006032
then
discount=0.95
如图5所示,一种业务系统的处理方法,业务系统包括上述的任意一种基于轻量规则的业务处理引擎和业务处理逻辑;业务系统的处理方法包括如下步骤:
S1.用户请求输入轻量规则的业务处理引擎后,通过规则匹配和规则执行后,对用户的请求参数进行修改,并将修改后的参数交由业务处理逻辑进行处理;
S2.业务处理逻辑与外部资源方系统交互完成后,再将处理结果返回至用户侧。
轻量规则引擎接收两个输入,分别为用户请求输入和规则库输入。规则库可由业务人员进行维护,通过修改规则库,无需进行业务系统的代码发布即可实现系统行为的变更。
上述说明是针对本发明较佳实施例的详细说明,但实施例并非用以限定本发明的专利申请范围,凡本发明所提示的技术精神下所完成的同等变化或修饰变更,均应属于本发明所涵盖专利范围。

Claims (5)

1.一种基于轻量规则的业务处理引擎,其特征在于,包括解析器、匹配器和执行器,所述解析器用于解析规则库输入的规则,并将解析后的规则发送至匹配器;所述匹配器用于接收用户请求参数、接收解析器发送的规则、储存规则、将用户请求参数和规则进行匹配生成匹配的规则列表以及发送匹配的规则列表至执行器;所述执行器用于接收匹配器发送的匹配的规则列表和对匹配的规则列表进行执行。
2.如权利要求1所述的基于轻量规则的业务处理引擎,其特征在于,所述规则包括规则头、条件块以及行为块。
3.如权利要求2所述的基于轻量规则的业务处理引擎,其特征在于,所述解析器根据规则模板对规则库输入的规则进行解析,遍历所有规则中的所有条件,去重后得到全部条件的集合;并建立条件-规则的映射关系,记录该条件在哪条规则中出现;规则库输入的规则经过解析器处理后,可得到全部条件的列表及条件与规则的映射关系,以及包含所有规则的一个计数器,计数器初始值均为0。
4.如权利要求3所述的基于轻量规则的业务处理引擎,其特征在于,所述匹配器的匹配方法包括如下步骤:
步骤一、匹配器遍历所有的条件列表,并将请求参数按照条件列表进行匹配判断,若用户请求参数符合当前的条件,则在对应的规则的计数器中增加1;
步骤二、遍历完所有的条件后,可得到计数器中的数据值,计数器中的计数值代表某条规则中条件符合的个数;
步骤三、对计数器中的所有规则进行遍历,当计数器中该规则的计数与该规则本身带有的条件数量相等时,说明该规则的所有条件均满足,即可以执行该规则的动作,放入匹配规则列表中;
步骤四、完成计数器中所有规则的遍历后,便得到了本次请求所需要执行的规则及其相应的动作;
步骤五、得到匹配规则后,将所需执行的规则交由执行器进行执行。
5.一种业务系统的处理方法,其特征在于,所述业务系统包括如权利要求1-4所述的任意一种基于轻量规则的业务处理引擎和业务处理逻辑;所述业务系统的处理方法包括如下步骤:
S1.用户请求输入轻量规则的业务处理引擎后,通过规则匹配和规则执行后,对用户的请求参数进行修改,并将修改后的参数交由业务处理逻辑进行处理;
S2.业务处理逻辑与外部资源方系统交互完成后,再将处理结果返回至用户侧。
CN202010618294.XA 2020-06-30 2020-06-30 一种基于轻量规则的业务处理引擎及业务系统的处理方法 Pending CN111930383A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010618294.XA CN111930383A (zh) 2020-06-30 2020-06-30 一种基于轻量规则的业务处理引擎及业务系统的处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010618294.XA CN111930383A (zh) 2020-06-30 2020-06-30 一种基于轻量规则的业务处理引擎及业务系统的处理方法

Publications (1)

Publication Number Publication Date
CN111930383A true CN111930383A (zh) 2020-11-13

Family

ID=73316950

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010618294.XA Pending CN111930383A (zh) 2020-06-30 2020-06-30 一种基于轻量规则的业务处理引擎及业务系统的处理方法

Country Status (1)

Country Link
CN (1) CN111930383A (zh)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410795A (zh) * 2003-10-24 2009-04-15 微软公司 可伸缩的对监控规则的同步与异步处理
CN103092967A (zh) * 2013-01-22 2013-05-08 交通银行股份有限公司 一种基于规则引擎的业务规则决策方法及装置
CN105786950A (zh) * 2015-12-30 2016-07-20 北京锐安科技有限公司 一种处理数据的方法及装置
CN106503214A (zh) * 2016-11-03 2017-03-15 北京中安智达科技有限公司 一种基于Redis内存数据库的复杂规则匹配方法
WO2019089131A1 (en) * 2017-11-06 2019-05-09 Intel Corporation Technologies for programming flexible accelerated network pipeline using ebpf
CN110288406A (zh) * 2019-06-28 2019-09-27 江苏满运软件科技有限公司 营销活动管理平台、开发方法、执行方法、设备及介质
CN110908640A (zh) * 2019-11-26 2020-03-24 京东数字科技控股有限公司 实现业务功能的方法和脚本引擎

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101410795A (zh) * 2003-10-24 2009-04-15 微软公司 可伸缩的对监控规则的同步与异步处理
CN103092967A (zh) * 2013-01-22 2013-05-08 交通银行股份有限公司 一种基于规则引擎的业务规则决策方法及装置
CN105786950A (zh) * 2015-12-30 2016-07-20 北京锐安科技有限公司 一种处理数据的方法及装置
CN106503214A (zh) * 2016-11-03 2017-03-15 北京中安智达科技有限公司 一种基于Redis内存数据库的复杂规则匹配方法
WO2019089131A1 (en) * 2017-11-06 2019-05-09 Intel Corporation Technologies for programming flexible accelerated network pipeline using ebpf
CN110288406A (zh) * 2019-06-28 2019-09-27 江苏满运软件科技有限公司 营销活动管理平台、开发方法、执行方法、设备及介质
CN110908640A (zh) * 2019-11-26 2020-03-24 京东数字科技控股有限公司 实现业务功能的方法和脚本引擎

Similar Documents

Publication Publication Date Title
CN104951428B (zh) 用户意图识别方法及装置
GB2604552A (en) Fusing multimodal data using recurrent neural networks
WO2018226404A1 (en) Machine reasoning based on knowledge graph
CN109033206B (zh) 一种规则匹配方法、云服务器及规则匹配系统
CN110597844B (zh) 异构数据库数据统一访问方法及相关设备
CN101853301A (zh) 正则表达式匹配的方法和系统
US20130066855A1 (en) Nested complex sequence pattern queries over event streams
CN114968727B (zh) 基于人工智能运维的数据库贯穿基础设施的故障定位方法
CN103077192B (zh) 一种数据处理方法及其系统
CN108205593A (zh) 一种查询的方法及装置
CN109785024A (zh) 发票数据处理方法、装置、计算机设备和存储介质
CN111563377A (zh) 数据增强方法与装置
CN109783509A (zh) Sql脚本生成方法及装置
CN113221570A (zh) 基于线上问诊信息的处理方法、装置、设备及存储介质
CN111738763A (zh) 策略处理方法、装置、设备及存储介质
CN111930383A (zh) 一种基于轻量规则的业务处理引擎及业务系统的处理方法
Poiani et al. Inverse Reinforcement Learning with Sub-optimal Experts
CN114647575B (zh) 一种基于高阶函数的c++过程间异常分析系统及方法
CN109299132A (zh) Sql数据处理方法、系统以及电子设备
CN110377891A (zh) 事件分析文章的生成方法、装置、设备及计算机可读存储介质
CN110648108A (zh) 一种基于按键精灵的办公自动化方法及系统
CN109918391A (zh) 一种流式事务处理方法及系统
Rebmann et al. Recognizing task-level events from user interaction data
CN117112791B (zh) 一种未知日志分类决策系统、方法、装置及可读存储介质
CN107977262A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20201229

Address after: No.18 Pingle Avenue, Liangqing District, Nanning City, Guangxi Zhuang Autonomous Region, 530200

Applicant after: Guangxi Dongxin Yilian Technology Co.,Ltd.

Applicant after: CHINA-ASEAN INFORMATION HARBOR Co.,Ltd.

Address before: No.18 Pingle Avenue, Liangqing District, Nanning City, Guangxi Zhuang Autonomous Region

Applicant before: Guangxi Dongxin Yilian Technology Co.,Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20201113