CN115686621A - 一种规则引擎规则脚本的生成方法及装置 - Google Patents

一种规则引擎规则脚本的生成方法及装置 Download PDF

Info

Publication number
CN115686621A
CN115686621A CN202211703254.0A CN202211703254A CN115686621A CN 115686621 A CN115686621 A CN 115686621A CN 202211703254 A CN202211703254 A CN 202211703254A CN 115686621 A CN115686621 A CN 115686621A
Authority
CN
China
Prior art keywords
rule
logic
script
engine
list
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
CN202211703254.0A
Other languages
English (en)
Other versions
CN115686621B (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.)
Sichuan XW Bank Co Ltd
Original Assignee
Sichuan XW Bank 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 Sichuan XW Bank Co Ltd filed Critical Sichuan XW Bank Co Ltd
Priority to CN202211703254.0A priority Critical patent/CN115686621B/zh
Publication of CN115686621A publication Critical patent/CN115686621A/zh
Application granted granted Critical
Publication of CN115686621B publication Critical patent/CN115686621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开一种规则引擎规则脚本的生成方法及装置,涉及互联网技术领域,现有生成规则脚本的方法存在没有相应技术背景的业务人员难以上手,并且由于直接生成规则脚本在需要更换规则引擎的时候需要把存量规则重新配置的技术问题,本发明首先让用户在预设的某一种规则配置界面上配置其需要的逻辑规则,得到逻辑规则列表;逻辑规则列表与数据库已有数据进行对比,若有不同则保存到数据库中;逻辑规则列表保存到数据库后,触发脚本生成器,由脚本生成器生成对应规则的规则脚本,然后保存;本发明解耦了规则与规则引擎,使业务人员只需专注于具体业务规则,并且业务规则输入后可实时部署到生产环境。

Description

一种规则引擎规则脚本的生成方法及装置
技术领域
本发明涉及互联网技术领域,具体涉及一种规则引擎规则脚本的生成方法及装置。
背景技术
目前在金融行业中,或者其他不同的行业,存在多种不同的情况,系统需要针对这些不同的情况有针对性的处理规则,例如不同用户的利率定价根据用户的客群及还款方式来决定,用户的还款日是根据用户在借款日期不同而有差异,对合作方的分润规则也可能根据用户的客群来进行分润。处理这些功能大体相同,但众多条件不同,相应的结果也不同的处理逻辑可以使用规则引擎进行规则的配置。而一般规则引擎使用规则脚本来定义其行为,若在此过程中需要更改,新增或删除某一个规则,又要重新进行开发测试和部署,费时费力。同时这种处理方式对于没有技术背景的业务人员来说,无疑是困难的。
现有技术的生成规则脚本的方法包括:
通过预设的用户界面让技术人员可以输入其需要相应的条件及选择对应的结果动作,可以直接生成对应的groovy规则脚本,然后用户可以用生成的脚本部署到相应的规则引擎中中,以用于规则引擎的执行。这种方案的基本原理是用户通过预设的规则配置界面,选择配置的条件和结果动作,并实时生成规则脚本,无需人工编写脚本,进而避免了人工编写脚本可能出现的错误。现有技术方案可参考的专利文献号为:专利[CN106126215A]
现有技术方案的缺陷:
上述发明预置的用户界面仍然需要用户具备相关的技术知识,对于毫无技术背景的业务人员来说无疑相当困难,业务人员通常希望使用一些直观的用户界面可以让其方便地配置规则,即便没有相应的技术背景,而该发明显然无法实现。其次,该发明没有对用户配置的逻辑规则进行保存,而是直接生成了对应的规则脚本,将来增加审核功能将非常困难,同时若规则引擎使用的规则脚本语言发生变更,存量的规则需要重新配置,这对于生产环境来说是无法接受的。
发明内容
为了解决上述现有技术中存在的问题,本发明拟提供了一种规则引擎规则脚本的生成方法及装置,拟解决现有生成规则脚本的方法存在没有相应技术背景的业务人员难以上手,并且由于直接生成规则脚本在需要更换规则引擎的时候需要把存量规则重新配置的问题。
一种规则引擎规则脚本的生成方法,包括如下步骤:
步骤 1:用户在预设的某一种规则配置界面上配置其需要的逻辑规则,得到逻辑规则列表;
步骤 2:将步骤1所得逻辑规则列表与数据库已有数据进行对比,若有不同则保存到数据库中;
步骤 3:逻辑规则列表保存到数据库后,触发脚本生成器,由脚本生成器生成对应规则的规则脚本,然后保存。
优选的,在所述步骤1中,所述规则配置界面由逻辑规则定义来渲染画面。
优选的,所述逻辑规则定义为一种XML描述文件,其定义了一类逻辑规则涵盖的元素包括条件,条件中可选字段,条件操作符及结果字段,在增加一类逻辑规则的时候则新增一种与该逻辑规则类型对应的逻辑规则定义。
优选的,在所述步骤2中,所述逻辑规则列表保存到数据库是按照逻辑规则列表的逻辑规则结构图保存的,其中逻辑规则列表的逻辑规则结构图包括:
规则集表定义了规则类型、规则脚本、规则名称、规则集编号;
规则表定义了规则编号、规则集编号、规则描述及规则优先级;规则优先级用于当同一个输入同时满足多条规则条件的时候,优先使用优先级高的规则的结果;组号用于处理条件间的关系,同组条件关系为“与”,不同组条件的关系为“或”;
条件表定义了规则编号、操作符、输入字段、预设值、组号,其中操作符用于判断输入字段的值和预设值之间的关系是否满足某逻辑规则的条件;
结果表定义了规则编号、设置的结果字段、设置的结果值,当输入满足某规则时,将与该规则对应设置的结果字段设置为与该规则对应的结果值。
优选的,所述规则集表与规则表是1对n(n≥1)的关系,通过规则集号相关联;所述规则表与规则条件表是1对m1(m1≥1)的关系,通过规则编号相关联;所述规则表与结果表是1对m2(m2≥1)的关系,通过规则编号相关联。
优选的,所述步骤3包括以下步骤,
步骤3.1:脚本生成器在被触发时,会查询数据库,获取步骤2中新增的逻辑规则列表;
步骤3.2:脚本生成器读取该类型逻辑规则定义,组装脚本的package语句,import语句;
步骤3.3:脚本生成器读取步骤3.1所述逻辑规则列表中的规则表,基于规则表中的规则优先级和规则编号选取一条规则组装规则定义的rule语句;
步骤3.4:脚本生成器读取步骤3.2所述逻辑规则定义并根据步骤3.3中选取规则的规则编号获取与该规则编号对应的规则条件表,基于逻辑规则定义和规则条件表中的数据生成groovy语言的条件脚本,得到when语句;
步骤3.5:脚本生成器读取步骤3.2所述逻辑规则定义并根据步骤3.3中选取规则的规则编号获取与该规则编号对应的结果表,基于逻辑规则定义和结果表中的数据生成groovy语言的结果脚本,得到then语句;
步骤3.6:结果脚本完成后拼接一个end语句便可得到规则表中一条规则的完整的规则脚本;
步骤3.7:循环步骤3.3到步骤3.6直到新增逻辑规则列表中的所有规则都生成了规则脚本,并将规则脚本保存到规则集表中的规则脚本字段。
优选的, 所述规则脚本保存以后,当规则引擎需要执行某一规则时,规则引擎直接从数据库中存储规则脚本的位置查询相应的规则脚本进行编译。
优选的相应规则脚本编译以后,在规则引擎收到输入条件时会运行相应的规则脚本进行规则判断,最终按照规则配置输出相应的结果。
一种规则引擎规则脚本的生成装置,包括逻辑规则采集模块,脚本生成器模块,规则引擎模块;其中逻辑规则采集模块用于采集用户配置的逻辑规则,生成逻辑规则列表并存储,然后脚本生成器模块获取新存储的逻辑规则列表并生成相应规则脚本传输到规则引擎模块;规则引擎模块将获取到的规则脚本进行保存然后在需要执行该规则时则直接找出其规则脚本并编译,当收到输入条件时进行规则判断并按照规则配置输出相应结果。
优选的,所述逻辑规则采集模块中包括用户界面,逻辑规则数据库,其中逻辑规则数据库用于存储不同类型的逻辑规则定义描述文件和逻辑规则列表,用户界面根据用户选择新增的逻辑规则对应类型的逻辑规则描述文件生成相应的界面内容用于用户配置规则;所述规则引擎模块包括规则脚本数据库,用于存储脚本生成器模块传输的规则脚本。
本发明的有益效果包括:
本申请方案引入逻辑规则概念,用户配置的条件和结果都是逻辑规则的部分,与最终的规则脚本无关,用户界面只需要跟逻辑规则相关联即可,使用户可以专注于业务规则的配置,降低了用户的配置上手难度,并且可以非常容易地增加相应的规则审核功能。同时用户配置的业务规则可以实时部署到生产环境,无需通过专业的工具,以免增加额外的成本;除此之外数据库中保存的逻辑规则,与使用到的规则引擎无关,更换引擎时只需要更新相应的脚本生成器即可,数据库中保存的逻辑规则仍然可以使用。
附图说明
图1为实施例1一种规则引擎规则脚本的生成方法流程示意图。
图2 为实施例1配置的用户界面示例。
图3为实施例1规则表逻辑结构图。
图4为实施例1规则结构图。
图5为实施例2一种规则引擎规则脚本的生成装置结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
实施例1
下面结合附图1对本发明的具体实施例做详细的说明;
一种规则引擎规则脚本的生成方法,包括如下步骤:
运营管理人员需要对某一客群新增相关的利率规则配置,则其可以在预设的用户界面上选择利率规则类型,其中规则类型定义为一种XML描述文件,其定义了一种规则涵盖的元素类型包括条件,条件中可选字段,条件操作符及结果字段等,具体内容如下:
Figure DEST_PATH_IMAGE001
<rule name="InterestRule" packageName="com.xwbank.rule" desc="利息规则">
<condition wrapper="com.xwbank.config.rule.entities.condition.CommonConditionWrapper"
alias="condition">
<attribute attribute="custGroup" type="java.lang.String" description="客群编码">
<allowOperator>None</allowOperator>
<allowOperator>StringEqual</allowOperator>
<allowOperator>StringIn</allowOperator>
</attribute>
<attribute attribute="howToRepay" type="java.lang.Integer"description="还款类型" enumeration="HowToRepay">
<allowOperator>None</allowOperator>
<allowOperator>NumberEqual</allowOperator>
</attribute>
<attribute attribute="custLimit" type="java.math.BigDecimal"description="额度">
<allowOperator>None</allowOperator>
<allowOperator>MoreOrEqual</allowOperator>
<allowOperator>MoreThan</allowOperator>
<allowOperator>LessOrEqual</allowOperator>
<allowOperator>LessThan</allowOperator>
<allowOperator>Between</allowOperator>
<allowOperator>NumberEqual</allowOperator>
<allowOperator>NumberNotEqual</allowOperator>
</attribute>
</condition>
<result wrapper="com.xwbank.config.rule.entities.result.InterestRuleResultWrapper"
alias="result">
<attribute seq="1" attribute="intrRuleTableId" type="java.lang.String" description="利率表id"
inner="false">
<script><![CDATA[result.setIntrRuleTableId("@param");]]></script>
</attribute>
<attribute seq="2" attribute="ruleId" type="java.lang.String"description="规则id"
inner="true">
<script><![CDATA[result.setRuleId("@param");]]></script>
</attribute>
</result>
</rule>
用户界面则根据利率规则类型定义来渲染界面,给出相关的可选的条件、条件间关系及结果,用户可以根据需求选择其中一个条件或几个条件进行配置规则。条件间关系是指当存在多个条件时,条件之间的关系是“与”、“或”的关系,预设的用户界面示例参考附图2。
用户配置规则完成后得到与该规则类型定义涵盖元素相对应的数据,并生成逻辑规则列表,所述逻辑规则列表的逻辑规则结构图包括规则集表、规则表、条件表、结果表;其中规则集表定义了规则类型、规则脚本、规则名称、规则集编号;规则表定义了规则编号、规则集编号、规则描述及优先级,优先级用于当同一个输入同时满足多条规则的条件时候,使用优先级高的规则的结果;条件表定义了规则编号、操作符、输入字段、预设值、组号,操作符是指输入字段的值和预设值满足操作符的条件,例如:输入字段的值等于预设值,输入字段的值在预设值的区间内,输入字段的值在预设值的集合内等,组号用于处理条件间的关系,同组条件关系为“与”,不同组条件的关系为“或”;结果表定义了规则编号、设置的字段、设置的值,目的是当输入满足该规则时,将某一字段设置为结果中的值;规则集表与规则表是1对n(n≥1)的关系,通过规则集号相关联;规则表与规则条件表是1对m1(m1≥1)的关系,通过规则编号相关联;所述规则表与结果表是1对m2(m2≥1)的关系,通过规则编号相关联,具体示意图参考附图3;将新生成逻辑规则列表与数据库中已有逻辑规则列表进行对比,若此逻辑规则列表在数据库中已有相同列表但数据有所不同,则将新增逻辑规则列表数据导入该相同列表,进行数据更新;若此逻辑规则列表在数据库中未有相同列表,则作为新增列表类型存入数据库中;
逻辑规则列表保存到数据库后会触发脚本生成器,脚本生成器查询新增的逻辑规则列表并生成相应规则脚本,具体步骤如下:
步骤1:脚本生成器在收到脚本生成的请求时,会查询逻辑规则数据库,获取数据库中新增的逻辑规则列表,获取新增逻辑规则的结构,具体示意图参考附图4;
步骤2:脚本生成器读取该类型逻辑规则定义,组装脚本的package语句,import语句,具体内容如下:
package com.xwbank.rule;
import com.xwbank.config.rule.entities.condition.RepayDateRuleConditionWrapper;
import com.xwbank.config.rule.entities.result.RepayDateRuleResultWrapper;
步骤3:脚本生成器读取步骤1所述逻辑规则列表中的规则表,基于规则表中的规则优先级和规则编号选取一条规则组装规则定义的rule语句,具体内容如下:
rule "Rule_001"
salience 0
步骤4:脚本生成器读取步骤2所述逻辑规则定义并根据步骤3中选取规则的规则编号获取与该规则编号对应的规则条件表,基于逻辑规则定义和规则条件表中的数据生成groovy语言的条件脚本,得到when语句,具体内容如下:
when
condition:com.xwbank.config.rule.entities.condition.RepayDateRuleConditionWrapper(loanDate >= 1.0 && loanDate <= 27.0)
result:com.xwbank.config.rule.entities.result.RepayDateRuleResultWrapper()
步骤5:脚本生成器读取步骤3.2所述逻辑规则定义并根据步骤3.3中选取规则的规则编号获取与该规则编号对应的结果表,基于逻辑规则定义和结果表中的数据生成groovy语言的结果脚本,得到then语句,具体内容如下:
then
result.setRuleId("Rule_001");
result.setRepayDate("n");
步骤6:结果脚本完成后拼接一个end语句便可得到规则表中一条规则的完整的规则脚本,具体内容如下;
package com.xwbank.rule;
import com.xwbank.config.rule.entities.condition.RepayDateRuleConditionWrapper;
import com.xwbank.config.rule.entities.result.RepayDateRuleResultWrapper;
rule "Rule_001"
salience 0
when
condition:com.xwbank.config.rule.entities.condition.RepayDateRuleConditionWrapper(loanDate >= 1.0 && loanDate <= 27.0)
result:com.xwbank.config.rule.entities.result.RepayDateRuleResultWrapper()
then
result.setRuleId("Rule_001");
result.setRepayDate("n");
end
步骤7: 循环步骤3.3到步骤3.6直到新增逻辑规则列表中的所有规则都生成了规则脚本,并将规则脚本保存到规则集表中的规则脚本字段,此实施例新增逻辑规则列表中仅包含两条规则,所得最终规则脚本如下;
package com.xwbank.rule;
import com.xwbank.config.rule.entities.condition.RepayDateRuleConditionWrapper;
import com.xwbank.config.rule.entities.result.RepayDateRuleResultWrapper;
rule "Rule_001"
salience 0
when
condition:com.xwbank.config.rule.entities.condition.RepayDateRuleConditionWrapper(loanDate >= 1.0 && loanDate <= 27.0)
result:com.xwbank.config.rule.entities.result.RepayDateRuleResultWrapper()
then
result.setRuleId("Rule_001");
result.setRepayDate("n");
end
rule "Rule_002"
salience 1
when
condition:com.xwbank.config.rule.entities.condition.RepayDateRuleConditionWrapper(loanDate >= 28)
result:com.xwbank.config.rule.entities.result.RepayDateRuleResultWrapper()
then
result.setRuleId("Rule_002");
result.setRepayDate("28");
end
上述规则脚本生成保存完毕之后,当规则引擎需执行相应规则时,规则引擎直接从数据库中规则脚本保存位置查询相应的规则脚本并进行编译;当收到输入条件时,则运行相应的规则脚本进行规则的判断,最终按照规则配置输出相应的结果。
本发明克服了现有技术中规则与规则引擎无法解耦的缺点,采用逻辑规则概念,通过先生成逻辑规则,再生成具体的规则引擎的脚本的方式,实现规则与规则引擎的解耦;本发明由于将规则与规则引擎解耦,可以对用户界面进行一步优化,使业务人员可以专注于业务规则的配置,降低了业务人员的配置上手难度;而且业务人员配置的业务规则可以实时部署到生产环境,无需通过专业的工具,以免增加额外的成本。
实施例2
参照附图5所示一种规则引擎规则脚本的生成装置的结构示意图,该装置可以是电子设备上的模块、程序段或代码。应理解,该装置与附图1方法实施例对应,能够执行附图1方法实施例涉及的各个步骤,该装置具体的功能可以参见实施例1中的描述,为避免重复,此处适当省略详细描述。如附图5所示该装置包括逻辑规则采集模块,脚本生成器模块,规则引擎模块,逻辑规则采集模块包括用户界面、逻辑规则数据库,其中用户界面用于采集用户部署的逻辑规则,逻辑规则数据库中保存有每类规则的逻辑规则定义描述文件,逻辑规则数据库与用户界面相连接,根据用户选择新增的逻辑规则类型的不同,配置不一样的用户界面,然后将用户输入的逻辑规则按照逻辑规则列表结构进行保存,逻辑规则列表保存到逻辑规则数据库的同时触发脚本生成器模块,脚本生成器模块再从逻辑规则数据库中获取新保存的逻辑规则列表并结合相应类型的逻辑规则定义描述文件生成规则脚本,而后将生成的规则脚本传输到规则引擎模块,规则引擎模块将得到的规则脚本保存到规则脚本数据库,当规则引擎模块需要执行某规则时先在规则脚本数据库中搜寻对应的规则脚本并进行编译然后获取到输入条件的时候,会运行相应的规则脚本进行规则的判断,最终按照规则配置输出相应的结果。
本发明克服了现有技术中规则与规则引擎无法解耦的缺点,采用逻辑规则概念,通过先生成逻辑规则,再生成具体的规则引擎的脚本的方式,实现规则与规则引擎的解耦;本发明由于将规则与规则引擎解耦,可以对用户界面进行一步优化,使业务人员可以专注于业务规则的配置,降低了业务人员的配置上手难度;而且业务人员配置的业务规则可以实时部署到生产环境,无需通过专业的工具,以免增加额外的成本。
以上所述实施例仅表达了本申请的具体实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请保护范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请技术方案构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。

Claims (10)

1.一种规则引擎规则脚本的生成方法,其特征在于,包括如下步骤:
步骤 1:用户在预设的某一种规则配置界面上配置其需要的逻辑规则,得到逻辑规则列表;
步骤 2:将步骤1所得逻辑规则列表与数据库已有数据进行对比,若有不同则保存到数据库中;
步骤 3:逻辑规则列表保存到数据库后,触发脚本生成器,由脚本生成器生成对应规则的规则脚本,然后保存。
2.根据权利要求1所述的一种规则引擎规则脚本的生成方法,其特征在于,在所述步骤1中,所述规则配置界面由逻辑规则定义来渲染画面。
3.根据权利要求2所述的一种规则引擎规则脚本的生成方法,其特征在于,所述逻辑规则定义为一种描述文件,其定义了一类逻辑规则涵盖的元素包括条件,条件中可选字段,条件操作符及结果字段,在增加一类逻辑规则的时候则新增一种与该逻辑规则类型对应的逻辑规则定义。
4.根据权利要求1-3任一项所述的一种规则引擎规则脚本的生成方法,其特征在于,在所述步骤2中,所述逻辑规则列表保存到数据库是按照逻辑规则列表的逻辑规则结构图保存的,其中逻辑规则列表的逻辑规则结构图包括:
规则集表定义了规则类型、规则脚本、规则名称、规则集编号;
规则表定义了规则编号、规则集编号、规则描述及规则优先级;规则优先级用于当同一个输入同时满足多条规则条件的时候,优先使用优先级高的规则的结果;组号用于处理条件间的关系,同组条件关系为“与”,不同组条件的关系为“或”;
条件表定义了规则编号、操作符、输入字段、预设值、组号,其中操作符用于判断输入字段的值和预设值之间的关系是否满足某逻辑规则的条件;
结果表定义了规则编号、设置的结果字段、设置的结果值,当输入满足某规则时,将与该规则对应设置的结果字段设置为与该规则对应的结果值。
5.根据权利要求4所述的一种规则引擎规则脚本的生成方法,其特征在于,所述规则集表与规则表是1对n(n≥1)的关系,通过规则集号相关联;所述规则表与规则条件表是1对m1(m1≥1)的关系,通过规则编号相关联;所述规则表与结果表是1对m2(m2≥1)的关系,通过规则编号相关联。
6.根据权利要求1所述的一种规则引擎规则脚本的生成方法,其特征在于,所述步骤3包括以下步骤,
步骤3.1:脚本生成器在被触发时,会查询数据库,获取步骤2中新增的逻辑规则列表;
步骤3.2:脚本生成器读取该类型逻辑规则定义,组装脚本的package语句,import语句;
步骤3.3:脚本生成器读取步骤3.1所述逻辑规则列表中的规则表,基于规则表中的规则优先级和规则编号选取一条规则组装规则定义的rule语句;
步骤3.4:脚本生成器读取步骤3.2所述逻辑规则定义并根据步骤3.3中选取规则的规则编号获取与该规则编号对应的规则条件表,基于逻辑规则定义和规则条件表中的数据生成groovy语言的条件脚本,得到when语句;
步骤3.5:脚本生成器读取步骤3.2所述逻辑规则定义并根据步骤3.3中选取规则的规则编号获取与该规则编号对应的结果表,基于逻辑规则定义和结果表中的数据生成groovy语言的结果脚本,得到then语句;
步骤3.6:结果脚本完成后拼接一个end语句便可得到规则表中一条规则的完整的规则脚本;
步骤3.7:循环步骤3.3到步骤3.6直到新增逻辑规则列表中的所有规则都生成了规则脚本,并将规则脚本保存到规则集表中的规则脚本字段。
7.根据权利要求1所述的一种规则引擎规则脚本的生成方法,其特征在于, 所述规则脚本保存以后,当规则引擎需要执行某一规则时,规则引擎直接从数据库中存储规则脚本的位置查询相应的规则脚本进行编译。
8.根据权利要求7述的一种规则引擎规则脚本的生成方法,其特征在于,相应规则脚本编译以后,在规则引擎收到输入条件时会运行相应的规则脚本进行规则判断,最终按照规则配置输出相应的结果。
9.一种规则引擎规则脚本的生成装置,其特征在于,包括逻辑规则采集模块,脚本生成器模块,规则引擎模块;其中逻辑规则采集模块用于采集用户配置的逻辑规则,生成逻辑规则列表并存储,然后脚本生成器模块获取新存储的逻辑规则列表并生成相应规则脚本传输到规则引擎模块;规则引擎模块将获取到的规则脚本进行保存然后在需要执行该规则时则直接找出其规则脚本并编译,当收到输入条件时进行规则判断并按照规则配置输出相应结果。
10.根据权利要求9所述的一种规则引擎规则脚本的生成装置,其特征在于,所述逻辑规则采集模块中包括用户界面,逻辑规则数据库,其中逻辑规则数据库用于存储不同类型的逻辑规则定义描述文件和逻辑规则列表,用户界面根据用户选择新增的逻辑规则对应类型的逻辑规则描述文件生成相应的界面内容用于用户配置规则;所述规则引擎模块包括规则脚本数据库,用于存储脚本生成器模块传输的规则脚本。
CN202211703254.0A 2022-12-29 2022-12-29 一种规则引擎规则脚本的生成方法及装置 Active CN115686621B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211703254.0A CN115686621B (zh) 2022-12-29 2022-12-29 一种规则引擎规则脚本的生成方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211703254.0A CN115686621B (zh) 2022-12-29 2022-12-29 一种规则引擎规则脚本的生成方法及装置

Publications (2)

Publication Number Publication Date
CN115686621A true CN115686621A (zh) 2023-02-03
CN115686621B CN115686621B (zh) 2023-06-06

Family

ID=85056063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211703254.0A Active CN115686621B (zh) 2022-12-29 2022-12-29 一种规则引擎规则脚本的生成方法及装置

Country Status (1)

Country Link
CN (1) CN115686621B (zh)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140701A1 (en) * 2006-12-11 2008-06-12 Digital River, Inc. Email Content Builder System and Method
CN101872449A (zh) * 2010-06-25 2010-10-27 南京联创科技集团股份有限公司 一种客户信息筛选方法
CN103092967A (zh) * 2013-01-22 2013-05-08 交通银行股份有限公司 一种基于规则引擎的业务规则决策方法及装置
CN103186579A (zh) * 2011-12-29 2013-07-03 北京亿阳信通科技有限公司 一种基于数据库函数的规则实现及应用的方法及装置
CN103942228A (zh) * 2013-01-23 2014-07-23 纽海信息技术(上海)有限公司 规则引擎、计算方法、业务系统及调用方法
US20160140635A1 (en) * 2014-11-18 2016-05-19 Zoho Corporation Private Limited Methods and Systems for Grouping and Prioritization of Website Visitors for Live Support
CN108595276A (zh) * 2018-03-18 2018-09-28 平安科技(深圳)有限公司 业务逻辑的处理方法、系统、计算机设备和存储介质
CN108647049A (zh) * 2018-03-18 2018-10-12 平安科技(深圳)有限公司 基于规则引擎的可配置化系统、方法、设备和存储介质
CN115509497A (zh) * 2022-10-09 2022-12-23 中邮科通信技术股份有限公司 基于脚本语言的可视化业务规则引擎构建方法

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080140701A1 (en) * 2006-12-11 2008-06-12 Digital River, Inc. Email Content Builder System and Method
CN101872449A (zh) * 2010-06-25 2010-10-27 南京联创科技集团股份有限公司 一种客户信息筛选方法
CN103186579A (zh) * 2011-12-29 2013-07-03 北京亿阳信通科技有限公司 一种基于数据库函数的规则实现及应用的方法及装置
CN103092967A (zh) * 2013-01-22 2013-05-08 交通银行股份有限公司 一种基于规则引擎的业务规则决策方法及装置
CN103942228A (zh) * 2013-01-23 2014-07-23 纽海信息技术(上海)有限公司 规则引擎、计算方法、业务系统及调用方法
US20160140635A1 (en) * 2014-11-18 2016-05-19 Zoho Corporation Private Limited Methods and Systems for Grouping and Prioritization of Website Visitors for Live Support
CN108595276A (zh) * 2018-03-18 2018-09-28 平安科技(深圳)有限公司 业务逻辑的处理方法、系统、计算机设备和存储介质
CN108647049A (zh) * 2018-03-18 2018-10-12 平安科技(深圳)有限公司 基于规则引擎的可配置化系统、方法、设备和存储介质
CN115509497A (zh) * 2022-10-09 2022-12-23 中邮科通信技术股份有限公司 基于脚本语言的可视化业务规则引擎构建方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
EL KAED 等: "\"SRE: Semantic rules engine for the industrial Internet-of-Things gateways" *
庞伟正 等: "一种规则引擎的实现方法" *

Also Published As

Publication number Publication date
CN115686621B (zh) 2023-06-06

Similar Documents

Publication Publication Date Title
CN107704265B (zh) 一种面向业务流可配置的规则生成方法
CN107644323B (zh) 一种面向业务流的智能审核系统
US11099973B2 (en) Automated test case management systems and methods
US11163731B1 (en) Autobuild log anomaly detection methods and systems
US8839107B2 (en) Context based script generation
US8074204B2 (en) Test automation for business applications
US8584085B2 (en) Identification of concepts in software
CN111400186B (zh) 性能测试方法及系统
US20040139176A1 (en) Systems and methods for improving service delivery
US20110208855A1 (en) Parameterized Computer Monitoring System
WO2009036079A2 (en) A system, method and graphical user interface for workflow generation, deployment and/or execution
CN111158674A (zh) 组件管理方法、系统、设备及存储介质
US20150120479A1 (en) Catalog driven order management for rule definition
US20100186009A1 (en) Parameterized Installation Packages
CN108279882B (zh) 框架生成方法、装置、设备及计算机可读介质
US20130074063A1 (en) Managing data linked with the setup, installation, and configuration of enterprise software
CN107741904A (zh) 测试机自动配置方法、装置、设备及存储介质
CN114327678A (zh) 一种支持多引擎的实时数据处理系统及方法
CN112488485A (zh) 一种业务流程管理系统
CN109815130A (zh) 基于区块链的软件兼容性测试的存储方法及系统
CN111881042A (zh) 自动化测试脚本的生成方法、装置和电子设备
CN113052696B (zh) 金融业务任务处理方法、装置、计算机设备和存储介质
CN115525534A (zh) 基于swagger的接口测试的测试用例生成方法、生成平台
CN115686621A (zh) 一种规则引擎规则脚本的生成方法及装置
CN110716866A (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