CN108647049A - 基于规则引擎的可配置化系统、方法、设备和存储介质 - Google Patents

基于规则引擎的可配置化系统、方法、设备和存储介质 Download PDF

Info

Publication number
CN108647049A
CN108647049A CN201810221789.1A CN201810221789A CN108647049A CN 108647049 A CN108647049 A CN 108647049A CN 201810221789 A CN201810221789 A CN 201810221789A CN 108647049 A CN108647049 A CN 108647049A
Authority
CN
China
Prior art keywords
rule
script
operation system
parameter
regulation engine
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
CN201810221789.1A
Other languages
English (en)
Other versions
CN108647049B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810221789.1A priority Critical patent/CN108647049B/zh
Priority to PCT/CN2018/104315 priority patent/WO2019179056A1/zh
Publication of CN108647049A publication Critical patent/CN108647049A/zh
Application granted granted Critical
Publication of CN108647049B publication Critical patent/CN108647049B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及计算机网络技术领域,具体涉及一种基于规则引擎的可配置化系统、方法、设备和存储介质。一种基于规则引擎的可配置化系统,包括设置于支持规则引擎的业务系统中参数录入模块、脚本生成模块、脚本执行模块和监控模块,通过参数录入模块录入业务参数后调用脚本生成模块生成规则脚本,再利用脚本执行模块调用规则引擎驱动规则脚本运行后对符合条件的业务数据执行一定的业务决策功能,同时调用监控模块进行执行过程的监控后避免处理遗漏。本发明采用可视化配置方式动态生成规则脚本,降低了编撰所需的技术水平要求,不易出现语法错误,可广泛应用于银行金融业务系统和房地产交易系统领域。

Description

基于规则引擎的可配置化系统、方法、设备和存储介质
技术领域
本发明涉及计算机网络技术领域,具体涉及一种基于规则引擎的可配置化系统、方法、设备和存储介质。
背景技术
计算机技术的飞速发展,渗透到人们生活的方方面面。为满足各类产业发展的需求、提升工作效率的需要,计算机信息技术已经在社会各个领域被广泛应用于构建功能各异、种类繁杂的企业信息化系统。目前在网络上运行着大量为用户提供业务处理功能的业务系统,用户在这些系统中按各自的业务规则进行各类业务操作。在信息系统的生命周期中,企业的业务需求不可避免地会发生改变,这就需要及时对软件产品进行升级维护或二次开发。为了满足这个需要,业务规则引擎应运而生,其将业务系统运作中的复杂逻辑抽象成规则,然后使用特定算法对规则进行求值等操作。一个业务规则包含一组条件和在此条件下执行的操作,其通常由业务分析人员和策略管理者开发和修改,开发时,设置一个或多个条件,当满足这些条件时会触发一个或多个操作。规则引擎将业务决策从应用程序代码中分离出来,其使用预定义的语义模块编写业务决策。业务规则引擎通过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和扩展性成本,有效提高实现复杂逻辑的代码的可维护性,并可于开发期间或部署后修复代码缺陷。
由于规则引擎在处理业务逻辑上的众多优点,市场上出现了各类对应产品,主要有IBM公司的ILOG、JBOSS的Drools、Mandarax、JLisa、OpenRules、JEOPS、InfoSapient、JRuleEngine、Roolie等。但是,这些主流规则引擎存在如下缺陷:
1、需要嵌套的规则语句繁多且复杂,对应存储文件占据内存量大;
2、规则引擎一旦生成,其可配置性较低;
3、编写和学习成本高,耗时长;
4、手动编写时易出现语法错误,且对编写人员的语法水平要求高。
综上所述,目前的规则引擎产品存在较高的学习和应用门槛,且其可配置化性能较弱,限制了适用范围和应用场合。
发明内容
基于现有技术的需要,本发明的目的在于提供一种基于规则引擎的可配置化系统、方法、设备和存储介质,采用可视化配置的方式动态生成规则引擎的执行脚本,降低了编撰所需的技术水平要求,不易出现语法错误,并且通过一键触发方式使规则脚本得以应用和执行,操作方便快捷,规则引擎运行的整体流程实现了实时监控,出错率得到有效控制,间接降低了维护成本,可广泛应用于银行金融业务系统和房地产交易系统领域。
为实现上述目的,本发明是通过下述技术方案实现:
一种基于规则引擎的可配置化系统,其包括:参数录入模块、脚本生成模块、脚本执行模块和监控模块;所述参数录入模块,用于将生成规则脚本所需的规则参数录入至业务系统中备用;所述脚本生成模块,用于将录入的规则参数按业务系统支持的规则引擎所对应的语法进行配置后生成规则脚本后存储于所述业务系统中;所述脚本执行模块,用于在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行;所述监控模块,用于对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生。
所述参数录入模块还用于选定一支持规则引擎功能的业务系统并选定其所支持的任一规则引擎,将所述规则引擎部署至所述业务系统中,在业务系统前端生成对应的参数录入界面,将生成规则脚本所需的规则参数逐一录入至参数录入界面中的对应输入点内,检测规则参数的输入过程并将已输入的规则参数存储在业务系统的临时存储单元内便于后续操作步骤的调取。
所述脚本生成模块还用于在业务系统前端设置一脚本生成开关,点击脚本生成开关后,从临时存储单元中调取已输入的规则参数,将调取后的规则参数按规则引擎的语法生成对应的规则脚本,将生成的规则脚本按特定规则命名后存入业务系统内。
所述脚本执行模块还用于在业务系统前端的规则应用界面中选定一欲使其发挥作用的规则脚本,并触发其所对应的脚本应用开,规则引擎加载对应规则脚本并解析其规则逻辑,同时对数据库的规则列表中对应该规则脚本的状态标识进行更新,使其由未应用状态变更为已应用状态,规则引擎按规则脚本中的规则条件从业务数据的数据库表中提取符合条件的业务数据对应的数据记录存入数据存储区后生成一待执行数据队列,规则引擎按规则脚本中的规则实体逐一对所述待执行数据队列中的数据执行规则实体对应的业务功能,业务系统将业务功能执行的情况记录在执行结果表内,包括业务数据和对应的执行结果。
所述监控模块还用于对执行结果表进行实时监控,按设定读取周期读取其内的执行结果序列,当监测到执行结果为失败时,规则引擎将执行失败的业务数据记录插入所述待执行数据队列中等待再次被执行规则实体对应的业务功能。
所述规则参数在所述参数录入界面以中文、英文或者数字呈现。
所述输入点的输入方式包括文本输入框输入、数字输入框输入、下拉框选择输入、单项目勾选输入、多项目勾选输入。
所述脚本生成开关的界面呈现方式为:按钮、单选框、链接中的任一种。
规则脚本的存储方式包括:以独立文件的形式存储于所述业务系统的存储单元中,或者以数据库记录的形式存储于所述业务系统的数据库中。
优选的,所述规则脚本以字符串形式保存至独立文件中并存储至业务系统的存储单元内,或者以字符串形式作为一数据库记录存储于数据库中。
对应以数据库记录的形式存储所述规则脚本的脚本存储方式,在业务系统的数据库中设置一规则列表,用于以特定的数据类型存储所述规则脚本,任一生成的规则脚本为所述规则列表中的一条数据记录。
优选的,所述数据类型为BLOB类型。
对应任一已生成的规则脚本设置与其对应的状态标识,用于标记其是否已被应用,当规则脚本存储于独立文件内时,所述状态标识于规则脚本一起存储至所述独立文件内,当规则脚本存储于数据库中时,所述状态标识与规则脚本存储于同一表内,且位于同一条数据记录中。
在业务系统前端设有一规则应用界面,用于显示已生成的规则脚本,对应其中显示的任一规则脚本设有与其一一对应的脚本应用开关,脚本应用开关被触发后,对应的规则脚本被规则引擎加载后得以应用。
所述脚本应用开关采用按钮、单选框、复选框和链接的界面元素形式呈现在所述规则应用界面上。
所述规则应用界面上设置至少两个所述脚本应用开关,任一所述脚本应用开关对应一已生成的规则脚本。
优选的,至少两个所述脚本应用开关以复选框的界面元素形式呈现在所述规则应用界面上。
一种基于规则引擎的可配置化方法,其包括如下执行步骤:
步骤S1,规则参数的录入,将用于生成规则脚本所需的规则参数录入至业务系统中备用,其包括如下步骤:
步骤S11,选定一支持规则引擎功能的业务系统并选定其所支持的任一规则引擎,将所述规则引擎部署至所述业务系统中;
步骤S12,在业务系统前端生成对应的参数录入界面,将生成规则脚本所需的规则参数逐一录入至参数录入界面中的对应输入点内;
步骤S13,检测规则参数的输入过程并将已输入的规则参数存储在业务系统的临时存储单元内便于后续操作步骤的调取。
步骤S2,规则脚本的生成,将步骤S1中已完成录入的规则参数按业务系统支持的规则引擎所对应的语法进行配置后生成规则脚本后存储于所述业务系统中,其包括如下步骤:
步骤S21,在业务系统前端设置一脚本生成开关,触发脚本生成开关;
步骤S22,从临时存储单元中调取已输入的规则参数;
步骤S23,将调取后的规则参数按规则引擎的语法生成对应的规则脚本;
步骤S24,将生成的规则脚本按特定规则命名后存入业务系统内。
步骤S3,规则脚本的执行,在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行,其包括如下步骤:
步骤S31,在业务系统前端的规则应用界面中选定一欲使其发挥作用的规则脚本,并触发其所对应的脚本应用开关;
步骤S32,规则引擎加载对应规则脚本并解析其规则逻辑,同时对数据库的规则列表中对应该规则脚本的状态标识进行更新,使其由未应用状态变更为已应用状态;
步骤S33,规则引擎按规则脚本中的规则条件从业务数据的数据库表中提取符合条件的业务数据对应的数据记录存入数据存储区后生成一待执行数据队列;
步骤S34,规则引擎按规则脚本中的规则实体逐一对所述待执行数据队列中的数据执行规则实体对应的业务功能;
步骤S35,业务系统将业务功能执行的情况记录在执行结果表内,包括业务数据和对应的执行结果。
步骤S4,规则执行的监控,对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生,其包括如下步骤:
步骤S41,对执行结果表进行实时监控,按设定读取周期读取其内的执行结果序列;
步骤S42,当监测到执行结果为失败时,规则引擎将执行失败的业务数据记录插入所述待执行数据队列中等待再次被执行规则实体对应的业务功能。
所述步骤S11中,规则引擎选用ILog、Drools、Mandarax、JLisa、OpenRules、JEOPS、InfoSapient、JRuleEngine、Roolie、Jess中的任一种。
所述步骤S12中,规则参数包括:规则类型、规则描述、规则条件、规则实体。
所述步骤S12中,规则参数的录入采用文本输入、数字输入、下拉框选择、单项目选择或者多项目选择的输入方式进行输入。
优选的,所述规则类型采用下拉框选择方式作为其输入方式时,对应的在所述业务系统设置一规则类型映射表,通过规则类型映射表将任一规则类型和其在下拉框中的选择项目一一对应。
更优选的,任一所述规则类型在其下拉框中的选择项目以中文显示对应的项目名称。
所述步骤S24中,规则脚本以独立文件或者数据库记录的形式存储;
当规则脚本以独立文件的形式存储时,规则脚本以规则引擎所支持的文件格式存储于业务系统的存储单元;
当规则脚本以数据库记录的形式存储时,将其存入业务系统的数据库中的规则列表中,且同时在规则列表中生成与规则脚本一一对应的状态标识,并赋予初始值,用以标记该规则脚本尚未被应用,便于规则引擎应用规则脚本时判断,防止重复加载和应用。
一种计算机设备,所述计算机设备包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述处理器用于执行所述计算机程序,以实现上述所述的一种基于规则引擎的可配置化方法的步骤。
一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现上述所述的一种基于规则引擎的可配置化方法的步骤。
上述的一种基于规则引擎的可配置化系统、方法、设备和存储介质,通过在业务系统的前端设置可视化操作界面对规则参数进行录入和配置并一键生成规则脚本,操作直观明了、方便快捷,大大改善了传统业务系统使用时,因业务需求变化而产生的开发和修改所需技术门槛高的现状,从而降低了维护成本;通过对规则引擎应用规则过程的实时监控和对策,提高了规则引擎的运行稳定性,降低整体作业流程中的数据处理疏漏,对于数据处理敏感的银行、房产等金融领域尤其适用。
附图说明
图1为本发明的功能模块连接示意图;
图2为本发明的方法过程示意图;
图3为图2中步骤S1的具体流程图;
图4为图2中步骤S2的具体流程图;
图5为图2中步骤S3和步骤S4的具体流程图;
图6为本发明应用于银行业务中的一种实施例的参数录入界面示意图;
图7为图6对应的规则应用界面示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明的一种基于规则引擎的可配置化系统,包括参数录入模块、脚本生成模块、脚本执行模块和监控模块,参数录入模块,用于将生成规则脚本所需的规则参数录入至业务系统中备用;脚本生成模块,用于将录入的规则参数按业务系统支持的规则引擎所对应的语法进行配置后生成规则脚本后存储于所述业务系统中;脚本执行模块,用于在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行;监控模块,用于对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生。
在一个实施例中,参数录入模块还用于选定一支持规则引擎功能的业务系统并选定其所支持的任一规则引擎,将所述规则引擎部署至所述业务系统中,在业务系统前端生成对应的参数录入界面,将生成规则脚本所需的规则参数逐一录入至参数录入界面中的对应输入点内,检测规则参数的输入过程并将已输入的规则参数存储在业务系统的临时存储单元内便于后续操作步骤的调取。
在一个实施例中,脚本生成模块还用于在业务系统前端设置一脚本生成开关,触发脚本生成开关后,从临时存储单元中调取已输入的规则参数,将调取后的规则参数按规则引擎的语法生成对应的规则脚本,将生成的规则脚本按特定规则命名后存入业务系统内。
在一个实施例中,脚本执行模块还用于在业务系统前端的规则应用界面中选定一欲使其发挥作用的规则脚本,并触发其所对应的脚本应用开关,规则引擎加载对应规则脚本并解析其规则逻辑,同时对数据库的规则列表中对应该规则脚本的状态标识进行更新,使其由未应用状态变更为已应用状态,规则引擎按规则脚本中的规则条件从业务数据的数据库表中提取符合条件的业务数据对应的数据记录存入数据存储区后生成一待执行数据队列,规则引擎按规则脚本中的规则实体逐一对所述待执行数据队列中的数据执行规则实体对应的业务功能,业务系统将业务功能执行的情况记录在执行结果表内,包括业务数据和对应的执行结果。
在一个实施例中,监控模块还用于对执行结果表进行实时监控,按设定读取周期读取其内的执行结果序列,当监测到执行结果为失败时,规则引擎将执行失败的业务数据记录插入所述待执行数据队列中等待再次被执行规则实体对应的业务功能。
如图1所示,在一个实施例中,上述参数录入模块、脚本生成模块、脚本执行模块和监控模块均通过业务系统的服务器调用后实现对应的功能,服务器设有临时存储单元和数据库,对应生成的规则脚本在数据库中设有规则列表,任一生成后的规则脚本作为规则列表中的一条数据记录存储在数据库中;数据库中设有用于记录规则脚本应用时产生的执行结果的执行结果表,其中记录了执行规则实体对应的业务功能后的业务数据及标识执行结果的标记,供监控模块调用后判断规则实体对应的业务功能是否执行成功,若执行失败,则监控模块通过服务器通知规则引擎将执行失败的业务数据插入至执行序列中等待再次被处理。
用户在业务系统前端的参数录入界面中输入用于生成规则脚本的业务参数,这些业务参数包括用于筛选提取历史业务数据的规则条件,用于确定业务功能类型的规则类型,用于描述规则脚本功能的规则描述,用于执行业务功能的规则实体,输入的业务参数被存储于临时存储单元内,当用户点击界面中的脚本生成按钮后,一键生成对应的规则脚本,并将其存入数据库中的规则列表中。当需要应用规则时,在业务系统前端的规则应用界面中选中对应的规则脚本即可使规则引擎加载规则列表中的对应项,使对应规则脚本得以应用,此时规则引擎根据脚本中的规则条件提取对应的业务数据后生成待执行规则实体的数据队列,然后逐一根据队列顺序对其中的数据执行脚本中规则实体定义的业务功能,并将执行结果反馈至执行结果表。在执行过程中,监控模块对执行结果表进行实时监控,当发生执行失败的情况时通知规则引擎将对应的业务数据插入至执行中的数据队列中等待再次被执行对应业务功能。
如图2~图5所示,本发明实施例提供的一种基于规则引擎的可配置化方法,包括四个执行步骤:
步骤S1、规则参数的录入:将用于生成规则脚本所需的规则参数录入至业务系统中备用,如图3所示,具体包括如下步骤:
步骤S11、选定一支持规则引擎功能的业务系统并选定其所支持的任一规则引擎,将所述规则引擎部署至所述业务系统中;
步骤S12、在业务系统前端生成对应的参数录入界面,操作者将生成规则脚本所需的规则参数逐一录入至参数录入界面中的对应输入点内,为避免录入错误,需要对录入的参数进行校验,按如下步骤进行入参的校验:
步骤S1201、在业务系统中部署录入参数校验功能,并实时对录入的任一规则参数的值进行读取和校验,当发现录入参数合法时,往下顺序执行后续步骤;
步骤S1202、当校验发现录入参数非法时,输出异常信息,便于用户修改重新输入,并将执行流程跳转至步骤S12;
步骤S13、检测规则参数合法后将已输入的规则参数存储在业务系统的临时存储单元内便于后续操作步骤的调取。
步骤S2、规则脚本的生成:将步骤S1中已完成录入的规则参数按照规则引擎所支持的语法进行配置后生成对应的规则脚本后存储于所述业务系统中,如图4所示,具体包括如下步骤:
步骤S21、在业务系统前端设置一脚本生成开关,触发脚本生成开关;
步骤S22、从临时存储单元中调取已输入的规则参数;
步骤S23、将调取后的规则参数按规则引擎的语法生成对应的规则脚本;
步骤S24、将生成的规则脚本按特定规则命名后存入业务系统内的规则列表中,为避免在规则脚本被规则引擎加载并执行规则的过程中发生重复加载的情况,需要配合生成的脚本定义一用于标记其应用状态的状态标识,为此在此步骤中设置一子步骤:
步骤S2401、对应规则脚本在规则列表的对应记录中设置状态标识,并在规则脚本被记录至数据库时将对该标记赋予初始值,用于标记其处于未被规则引擎加载和应用。
步骤S3、规则脚本的执行:在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行,如图5所示,具体包括如下步骤:
步骤S31、在业务系统前端的规则应用界面中选定一欲使其发挥作用的规则脚本,并触发其所对应的脚本应用开关;
步骤S32、规则引擎加载对应规则脚本并解析其规则逻辑,同时对数据库的规则列表中对应该规则脚本的状态标识进行更新,使其由未应用状态变更为已应用状态;
步骤S33、规则引擎按规则脚本中的规则条件从业务数据的数据库表中提取符合条件的业务数据对应的数据记录存入数据存储区后生成一待执行数据队列;
步骤S34、规则引擎按规则脚本中的规则实体逐一对所述待执行数据队列中的数据执行规则实体对应的业务功能;
步骤S35、业务系统将业务功能执行的情况记录在执行结果表内,包括业务数据和对应的执行结果。
步骤S4、规则执行的监控:对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生,如图5所示,具体包括如下步骤:
步骤S41、对步骤S35中的执行结果表进行实时监控,按设定读取周期读取其内的执行结果序列;
步骤S42、当监测到执行结果为失败时,规则引擎将执行失败的业务数据记录插入所述待执行数据队列中等待再次被执行规则实体对应的业务功能。
在一个实施例中,提供了一种计算机设备,计算机设备包括:存储器、处理器以及存储在存储器上的计算机程序,处理器用于执行计算机程序,以实现上述一种基于规则引擎的可配置化方法的步骤,具体步骤为:规则参数的录入:将用于生成规则脚本所需的规则参数录入至业务系统中备用;规则脚本的生成:将上一步录入的规则参数按业务系统支持的规则引擎所对应的语法进行配置后生成规则脚本后存储于所述业务系统中;规则脚本的执行:在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行;规则执行的监控:对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生。
在一个实施例中,提供了一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被一个或多个处理器执行时实现上述一种基于规则引擎的可配置化方法的步骤,具体步骤为:规则参数的录入:将用于生成规则脚本所需的规则参数录入至业务系统中备用;规则脚本的生成:将上一步录入的规则参数按业务系统支持的规则引擎所对应的语法进行配置后生成规则脚本后存储于所述业务系统中;规则脚本的执行:在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行;规则执行的监控:对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生。
本发明的一种实施例为应用于银行金融业务系统中的基于规则引擎的可配置化系统、方法、设备和存储介质,具体设置及运行逻辑如下:
选定规则引擎为Drools并将其部署到银行业务系统中;
如图6所示对参数录入界面进行版面布局,其上设置规则类型的参数标识名为产品类型,用于表示其为一种金融产品,通过下拉列表选定规则类型为“按揭”,在规则描述中输入文字“计算按揭金额”,用于描述本规则的实际作用;
在参数标识名为“条件”的规则条件配置区,选定“放款时间”为第一条件,并选定数学符号“>”和日期“2017-08-09”,用于表示第一条件为筛选出放款时间在2017年8月9日之后的历史业务数据作为待处理的数据;通过增加开关“+”按钮,生成并列的另一规则条件,并选定“银行名称”作为第二条件,选定数学符号“=”和“中国银行”作为第二条件的值,用于表示第二条件为筛选出中国银行的历史业务数据;
通过两个规则条件的约束作为筛选开关,可提取中国银行在2017年8月9日以后放款的历史业务数据作为待处理数据。
在参数录入界面设置备注区,用于详细说明本规则的用途和使用细节等信息,在其中输入“放款时间大于2017年08月09日的中国银行的订单执行规则”。
在参数标识名为“执行”的规则实体配置区设置规则实体为“收入-作业收入-金额”,其计算公式为“&loanAmount&-1000”。
通过点击界面中的“生成规则脚本”按钮,一键生成名称与“产品类型”同名的规则脚本。
参照图7,为该银行业务系统前端设置的规则执行列表,其上设有已经生成的四个规则脚本的执行开关选项,对应有每一个规则脚本在配置时的备注项目和产品类型,在其左侧设有对应的执行开关、右侧设有与规则脚本的状态标识对应的显示区,其显示与数据库中该规则脚本的状态标识同步,可从中看到下数第四个规则脚本已经被选中并已经呈“已应用”状态。
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (10)

1.一种基于规则引擎的可配置化系统,其特征在于,包括参数录入模块、脚本生成模块、脚本执行模块和监控模块;
所述参数录入模块,用于将生成规则脚本所需的规则参数录入至业务系统中备用;
所述脚本生成模块,用于将录入的规则参数按业务系统支持的规则引擎所对应的语法进行配置后生成规则脚本后存储于所述业务系统中;
所述脚本执行模块,用于在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行;
所述监控模块,用于对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生。
2.如权利要求1所述的一种基于规则引擎的可配置化系统,其特征在于,所述参数录入模块还用于选定一支持规则引擎功能的业务系统并选定其所支持的任一规则引擎,将所述规则引擎部署至所述业务系统中,在业务系统前端生成对应的参数录入界面,将生成规则脚本所需的规则参数逐一录入至参数录入界面中的对应输入点内,检测规则参数的输入过程并将已输入的规则参数存储在业务系统的临时存储单元内便于后续操作步骤的调取;
所述脚本生成模块还用于在业务系统前端设置一脚本生成开关,触发脚本生成开关后,从临时存储单元中调取已输入的规则参数,将调取后的规则参数按规则引擎的语法生成对应的规则脚本,将生成的规则脚本按特定规则命名后存入业务系统内。
3.如权利要求1所述的一种基于规则引擎的可配置化系统,其特征在于,所述脚本执行模块还用于在业务系统前端的规则应用界面中选定一欲使其发挥作用的规则脚本,并触发其所对应的脚本应用开关,规则引擎加载对应规则脚本并解析其规则逻辑,同时对数据库的规则列表中对应该规则脚本的状态标识进行更新,使其由未应用状态变更为已应用状态,规则引擎按规则脚本中的规则条件从业务数据的数据库表中提取符合条件的业务数据对应的数据记录存入数据存储区后生成一待执行数据队列,规则引擎按规则脚本中的规则实体逐一对所述待执行数据队列中的数据执行规则实体对应的业务功能,业务系统将业务功能执行的情况记录在执行结果表内,包括业务数据和对应的执行结果;
所述监控模块还用于对执行结果表进行实时监控,按设定读取周期读取其内的执行结果序列,当监测到执行结果为失败时,规则引擎将执行失败的业务数据记录插入所述待执行数据队列中等待再次被执行规则实体对应的业务功能。
4.一种基于规则引擎的可配置化方法,其包括如下执行步骤:
步骤S1、规则参数的录入:将用于生成规则脚本所需的规则参数录入至业务系统中备用;
步骤S2、规则脚本的生成:将步骤S1中录入的规则参数按业务系统支持的规则引擎所对应的语法进行配置后生成规则脚本后存储于所述业务系统中;
步骤S3、规则脚本的执行:在业务系统前端的操作界面中使欲应用的规则脚本得以应用后执行对应的规则实体使对应的业务功能得以执行;
步骤S4、规则执行的监控:对规则脚本在应用过程中的规则引擎的执行情况进行监控并根据执行结果进行对应的对策,以确保执行过程完整,防止有遗漏执行的情况发生。
5.如权利要求4所述的一种基于规则引擎的可配置化方法,其特征在于,所述步骤S1包括:
步骤S11,选定一支持规则引擎功能的业务系统并选定其所支持的任一规则引擎,将所述规则引擎部署至所述业务系统中;
步骤S12,在业务系统前端生成对应的参数录入界面,将生成规则脚本所需的规则参数逐一录入至参数录入界面中的对应输入点内;
步骤S13,检测规则参数的输入过程并将已输入的规则参数存储在业务系统的临时存储单元内便于后续操作步骤的调取。
6.如权利要求4所述的一种基于规则引擎的可配置化方法,其特征在于,所述步骤S2包括:
步骤S21,在业务系统前端设置一脚本生成开关,触发脚本生成开关;
步骤S22,从临时存储单元中调取已输入的规则参数;
步骤S23,将调取后的规则参数按规则引擎的语法生成对应的规则脚本;
步骤S24,将生成的规则脚本按特定规则命名后存入业务系统内。
7.如权利要求4所述的一种基于规则引擎的可配置化方法,其特征在于,所述步骤S3包括:
步骤S31,在业务系统前端的规则应用界面中选定一欲使其发挥作用的规则脚本,并触发其所对应的脚本应用开关;
步骤S32,规则引擎加载对应规则脚本并解析其规则逻辑,同时对数据库的规则列表中对应该规则脚本的状态标识进行更新,使其由未应用状态变更为已应用状态;
步骤S33,规则引擎按规则脚本中的规则条件从业务数据的数据库表中提取符合条件的业务数据对应的数据记录存入数据存储区后生成一待执行数据队列;
步骤S34,规则引擎按规则脚本中的规则实体逐一对所述待执行数据队列中的数据执行规则实体对应的业务功能;
步骤S35,业务系统将业务功能执行的情况记录在执行结果表内,包括业务数据和对应的执行结果。
8.如权利要求7所述的一种基于规则引擎的可配置化方法,其特征在于,所述步骤S4包括:
步骤S41,对执行结果表进行实时监控,按设定读取周期读取其内的执行结果序列;
步骤S42,当监测到执行结果为失败时,规则引擎将执行失败的业务数据记录插入所述待执行数据队列中等待再次被执行规则实体对应的业务功能。
9.一种计算机设备,其特征在于,所述计算机设备包括:存储器、处理器以及存储在所述存储器上的计算机程序,所述处理器用于执行所述计算机程序,以实现如权利要求4至8中任一项权利要求所述的一种基于规则引擎的可配置化方法的步骤。
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被一个或多个处理器执行时实现如权利要求4至8中任一项权利要求所述的一种基于规则引擎的可配置化方法的步骤。
CN201810221789.1A 2018-03-18 2018-03-18 基于规则引擎的可配置化系统、方法、设备和存储介质 Active CN108647049B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810221789.1A CN108647049B (zh) 2018-03-18 2018-03-18 基于规则引擎的可配置化系统、方法、设备和存储介质
PCT/CN2018/104315 WO2019179056A1 (zh) 2018-03-18 2018-09-06 基于规则引擎的可配置化系统、方法、设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810221789.1A CN108647049B (zh) 2018-03-18 2018-03-18 基于规则引擎的可配置化系统、方法、设备和存储介质

Publications (2)

Publication Number Publication Date
CN108647049A true CN108647049A (zh) 2018-10-12
CN108647049B CN108647049B (zh) 2023-01-31

Family

ID=63744280

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810221789.1A Active CN108647049B (zh) 2018-03-18 2018-03-18 基于规则引擎的可配置化系统、方法、设备和存储介质

Country Status (2)

Country Link
CN (1) CN108647049B (zh)
WO (1) WO2019179056A1 (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109271809A (zh) * 2018-12-03 2019-01-25 南方电网科学研究院有限责任公司 一种数据库加固的方法、系统及相关装置
CN109636317A (zh) * 2018-11-23 2019-04-16 山东中创软件工程股份有限公司 业务控制方法、装置、系统及存储介质
CN109669992A (zh) * 2018-12-20 2019-04-23 云南电网有限责任公司玉溪供电局 一种数据可视化转换的实现方法
CN109977009A (zh) * 2019-02-27 2019-07-05 深圳云步互娱网络科技有限公司 一种基于规则引擎的开关状态控制方法及系统
CN110532041A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 规则引擎参数配置方法、装置、计算机设备及存储介质
CN110532536A (zh) * 2019-08-30 2019-12-03 深圳前海微众银行股份有限公司 一种规则配置方法及装置
CN110766289A (zh) * 2019-09-26 2020-02-07 北京淇瑀信息科技有限公司 一种风控规则动态调整方法、装置和电子设备
CN111314342A (zh) * 2020-02-15 2020-06-19 西安奥卡云数据科技有限公司 一种物联网规则引擎运行方法
CN111339136A (zh) * 2020-02-19 2020-06-26 中国建设银行股份有限公司 一种数据检核方法、装置、电子设备及存储介质
CN111400353A (zh) * 2020-03-19 2020-07-10 中国建设银行股份有限公司 一种规则计算方法、装置、设备及存储介质
CN111857679A (zh) * 2019-04-29 2020-10-30 西门子(中国)有限公司 用于生成脚本程序的方法、装置及脚本程序处理系统
CN111984247A (zh) * 2020-09-11 2020-11-24 得到(天津)文化传播有限公司 一种业务处理方法、装置和电子设备
CN112330180A (zh) * 2020-11-17 2021-02-05 深圳市智象科技有限公司 一种灵活配置的自动作业系统
CN112379872A (zh) * 2020-11-05 2021-02-19 上海汇付数据服务有限公司 一种规则引擎系统
CN112433699A (zh) * 2020-11-05 2021-03-02 北京中电华大电子设计有限责任公司 一种用于se个人化的脚本引擎
CN112464620A (zh) * 2020-09-23 2021-03-09 航天信息股份有限公司企业服务分公司 一种财务规则引擎的实现方法及实现系统
CN113190283A (zh) * 2021-04-15 2021-07-30 北京致远互联软件股份有限公司 一种基于Groovy语言可视化计算公式实现的方法
CN113254061A (zh) * 2021-06-02 2021-08-13 深圳前海大道金融服务有限公司 基于规则引擎的业务决策方法、系统及存储介质
CN115686621A (zh) * 2022-12-29 2023-02-03 四川新网银行股份有限公司 一种规则引擎规则脚本的生成方法及装置
CN116976655A (zh) * 2023-06-15 2023-10-31 四川仕虹腾飞信息技术有限公司 一种分布式银行网点交易流程监管系统及其方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110941419B (zh) * 2019-11-27 2023-06-23 北京天元创新科技有限公司 一种基于规则引擎的运营配置实现方法及系统
CN113127817A (zh) * 2019-12-31 2021-07-16 深信服科技股份有限公司 一种规则命中检测方法、装置、电子设备及可读存储介质
CN111260336B (zh) * 2020-02-13 2023-07-04 支付宝(杭州)信息技术有限公司 基于规则引擎的业务核对方法、装置及设备
CN111932076B (zh) * 2020-07-09 2023-12-12 车智互联(北京)科技有限公司 一种规则配置和发布方法、装置及计算设备
CN111966342A (zh) * 2020-08-10 2020-11-20 上海中通吉网络技术有限公司 基于类自然语言的规则配置与解析方法、系统及设备
CN112214210A (zh) * 2020-09-01 2021-01-12 北京中电飞华通信有限公司 后勤业务规则引擎及其配置方法、装置、设备和存储介质
CN113010277A (zh) * 2020-11-20 2021-06-22 云智慧(北京)科技有限公司 一种基于自动化运维的多条件触发自动作业系统和方法
CN112394922B (zh) * 2020-12-02 2022-02-22 成都新希望金融信息有限公司 决策配置方法、业务决策方法和决策引擎系统
CN112767133B (zh) * 2021-01-26 2024-02-27 北京水滴科技集团有限公司 业务决策方法及装置、存储介质、计算机设备
CN113377419A (zh) * 2021-05-31 2021-09-10 同盾科技有限公司 一种业务处理方法、装置、可读存储介质及电子设备
CN113885961A (zh) * 2021-10-09 2022-01-04 上海得帆信息技术有限公司 一种aPaaS平台的公式规则可视化实现的方法
CN114124743B (zh) * 2021-11-16 2023-10-20 广东电网有限责任公司 一种数据应用全链路检查规则执行方法及系统
CN114116674A (zh) * 2021-11-30 2022-03-01 浩云科技股份有限公司 基于综合业务平台的业务建模方法、装置、介质及设备
CN116501312B (zh) * 2023-04-03 2024-04-16 上海卡方信息科技有限公司 一种数据处理方法、装置、设备及可读存储介质
CN117216063A (zh) * 2023-09-13 2023-12-12 建信人寿保险股份有限公司 数据校验方法、装置、设备、介质和程序产品

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120191580A1 (en) * 2011-01-25 2012-07-26 Intuit Inc. Methods systems and computer program products for generating financial statement complying with accounting standard
CN103927174A (zh) * 2014-04-17 2014-07-16 北京视博数字电视科技有限公司 业务处理方法和装置
CN106101090A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 用于规则引擎的操作方法以及规则引擎系统
CN107133039A (zh) * 2017-04-28 2017-09-05 九次方大数据信息集团有限公司 规则引擎的构建方法和装置
CN107632842A (zh) * 2017-09-26 2018-01-26 携程旅游信息技术(上海)有限公司 规则配置和发布方法、系统、设备及存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101470882A (zh) * 2007-12-24 2009-07-01 阿里巴巴集团控股有限公司 一种动态业务规则应用方法、系统和装置
CN106126215B (zh) * 2016-06-17 2019-06-21 深圳市麦斯杰网络有限公司 业务规则脚本生成方法及装置
CN106547896A (zh) * 2016-11-04 2017-03-29 广州唯品会信息科技有限公司 规则引擎服务化处理系统及方法
CN106648660A (zh) * 2016-12-22 2017-05-10 深圳怡化电脑股份有限公司 一种业务开发的方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120191580A1 (en) * 2011-01-25 2012-07-26 Intuit Inc. Methods systems and computer program products for generating financial statement complying with accounting standard
CN103927174A (zh) * 2014-04-17 2014-07-16 北京视博数字电视科技有限公司 业务处理方法和装置
CN106101090A (zh) * 2016-06-07 2016-11-09 中国建设银行股份有限公司 用于规则引擎的操作方法以及规则引擎系统
CN107133039A (zh) * 2017-04-28 2017-09-05 九次方大数据信息集团有限公司 规则引擎的构建方法和装置
CN107632842A (zh) * 2017-09-26 2018-01-26 携程旅游信息技术(上海)有限公司 规则配置和发布方法、系统、设备及存储介质

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109636317A (zh) * 2018-11-23 2019-04-16 山东中创软件工程股份有限公司 业务控制方法、装置、系统及存储介质
CN109636317B (zh) * 2018-11-23 2023-06-30 山东中创软件工程股份有限公司 业务控制方法、装置、系统及存储介质
CN109271809A (zh) * 2018-12-03 2019-01-25 南方电网科学研究院有限责任公司 一种数据库加固的方法、系统及相关装置
CN109669992A (zh) * 2018-12-20 2019-04-23 云南电网有限责任公司玉溪供电局 一种数据可视化转换的实现方法
CN109977009A (zh) * 2019-02-27 2019-07-05 深圳云步互娱网络科技有限公司 一种基于规则引擎的开关状态控制方法及系统
CN111857679A (zh) * 2019-04-29 2020-10-30 西门子(中国)有限公司 用于生成脚本程序的方法、装置及脚本程序处理系统
CN111857679B (zh) * 2019-04-29 2024-03-15 西门子(中国)有限公司 用于生成脚本程序的方法、装置及脚本程序处理系统
CN110532041A (zh) * 2019-08-29 2019-12-03 深圳前海环融联易信息科技服务有限公司 规则引擎参数配置方法、装置、计算机设备及存储介质
CN110532536A (zh) * 2019-08-30 2019-12-03 深圳前海微众银行股份有限公司 一种规则配置方法及装置
CN110532536B (zh) * 2019-08-30 2023-07-14 深圳前海微众银行股份有限公司 一种规则配置方法及装置
CN110766289A (zh) * 2019-09-26 2020-02-07 北京淇瑀信息科技有限公司 一种风控规则动态调整方法、装置和电子设备
CN111314342A (zh) * 2020-02-15 2020-06-19 西安奥卡云数据科技有限公司 一种物联网规则引擎运行方法
CN111339136A (zh) * 2020-02-19 2020-06-26 中国建设银行股份有限公司 一种数据检核方法、装置、电子设备及存储介质
CN111400353A (zh) * 2020-03-19 2020-07-10 中国建设银行股份有限公司 一种规则计算方法、装置、设备及存储介质
CN111984247A (zh) * 2020-09-11 2020-11-24 得到(天津)文化传播有限公司 一种业务处理方法、装置和电子设备
CN112464620A (zh) * 2020-09-23 2021-03-09 航天信息股份有限公司企业服务分公司 一种财务规则引擎的实现方法及实现系统
CN112379872A (zh) * 2020-11-05 2021-02-19 上海汇付数据服务有限公司 一种规则引擎系统
CN112433699A (zh) * 2020-11-05 2021-03-02 北京中电华大电子设计有限责任公司 一种用于se个人化的脚本引擎
CN112330180A (zh) * 2020-11-17 2021-02-05 深圳市智象科技有限公司 一种灵活配置的自动作业系统
CN113190283A (zh) * 2021-04-15 2021-07-30 北京致远互联软件股份有限公司 一种基于Groovy语言可视化计算公式实现的方法
CN113254061B (zh) * 2021-06-02 2021-11-09 深圳前海大道金融服务有限公司 基于规则引擎的业务决策方法、系统及存储介质
CN113254061A (zh) * 2021-06-02 2021-08-13 深圳前海大道金融服务有限公司 基于规则引擎的业务决策方法、系统及存储介质
CN115686621A (zh) * 2022-12-29 2023-02-03 四川新网银行股份有限公司 一种规则引擎规则脚本的生成方法及装置
CN115686621B (zh) * 2022-12-29 2023-06-06 四川新网银行股份有限公司 一种规则引擎规则脚本的生成方法及装置
CN116976655A (zh) * 2023-06-15 2023-10-31 四川仕虹腾飞信息技术有限公司 一种分布式银行网点交易流程监管系统及其方法
CN116976655B (zh) * 2023-06-15 2024-05-24 四川仕虹腾飞信息技术有限公司 一种分布式银行网点交易流程监管系统及其方法

Also Published As

Publication number Publication date
CN108647049B (zh) 2023-01-31
WO2019179056A1 (zh) 2019-09-26

Similar Documents

Publication Publication Date Title
CN108647049A (zh) 基于规则引擎的可配置化系统、方法、设备和存储介质
US20200258015A1 (en) Techniques for semantic business policy composition
US10872067B2 (en) Creating data in a data store using a dynamic ontology
US8768976B2 (en) Operational-related data computation engine
US8626702B2 (en) Method and system for validation of data extraction
US9037549B2 (en) System and method for testing data at a data warehouse
US9189356B2 (en) Data audit module for application software
CN108628741A (zh) 网页页面测试方法、装置、电子设备和介质
US20050234787A1 (en) Enterprise service architecture platform architecture for multi-application computer system
US9558215B2 (en) Governing information
CN107590070A (zh) 一种业务流程调试方法及装置
CN113110993A (zh) 自动化测试平台集成对接testlink系统的方法
CN106548326A (zh) 衔接受理场景和办理场景的工作流引擎的方法及其系统
CN111723086A (zh) 一种数据质量检核方法、装置、设备及可读存储介质
CN101320388A (zh) 一种依据单据状态过滤单据的方法和装置
CN107480369A (zh) 一种pcb设计中分类显示drc的设计、操作方法
CN112667612A (zh) 一种数据质量检核方法、装置、电子设备及存储介质
CN114219207A (zh) 业务决策方法、系统、装置、计算机设备和存储介质
US11163742B2 (en) System and method for generating in-memory tabular model databases
US9015619B2 (en) Pop-up panel for multiple messages
CN104123104B (zh) 日志控制系统及方法
US20150199688A1 (en) System and Method for Analyzing an Alert
CN116737137A (zh) 业务流程的生成方法、装置、计算机设备和存储介质
CN110083596A (zh) 一种数据历史跟踪和数据变化历史跟踪的方法
CN115310011A (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