CN113312113A - 业务规则信息的动态配置方法、装置、设备及存储介质 - Google Patents

业务规则信息的动态配置方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN113312113A
CN113312113A CN202110714992.4A CN202110714992A CN113312113A CN 113312113 A CN113312113 A CN 113312113A CN 202110714992 A CN202110714992 A CN 202110714992A CN 113312113 A CN113312113 A CN 113312113A
Authority
CN
China
Prior art keywords
rule
business
service
rule information
information
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
CN202110714992.4A
Other languages
English (en)
Other versions
CN113312113B (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.)
Agricultural Bank of China
Original Assignee
Agricultural Bank of China
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 Agricultural Bank of China filed Critical Agricultural Bank of China
Priority to CN202110714992.4A priority Critical patent/CN113312113B/zh
Publication of CN113312113A publication Critical patent/CN113312113A/zh
Application granted granted Critical
Publication of CN113312113B publication Critical patent/CN113312113B/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/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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

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

Abstract

本申请实施例提供一种业务规则信息的动态配置方法、装置、设备及存储介质及存储介质,通过获取业务规则信息,业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则;根据业务规则信息,生成业务规则信息对应的规则数据,其中,规则数据的数据格式符合规则引擎的语法规范;基于规则引擎,加载规则数据,以使业务处理系统使用业务规则信息对应的业务规则处理目标业务。由于基于规则引擎对业务规则信息进行加载,不需要重新对业务处理系统进行修改、编译和打包上线工作,可以实现业务规则的动态修改,因此避免了业务处理系统停机升级造成的无法正常工作的问题,提高了业务处理系统的工作效率,降低了业务处理系统的维护和使用成本。

Description

业务规则信息的动态配置方法、装置、设备及存储介质
技术领域
本申请涉及计算机技术领域,尤其涉及一种业务规则信息的动态配置方法、装置、设备及存储介质及存储介质。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中而被认为是现有技术。
当前,银行的业务处理系统非常庞大,其中包含了众多的用于对各种业务进行处理的规则,且随着需求和业务的变更,相关规则也需要随之同步更新,以满足业务需要。
现有技术中,对业务处理系统中规则更新,需要从业务处理系统的代码层面进行更新,导致每次对规则的更改,均需要实施对业务处理系统的程序进行编码修改、编译、打包上线等工作步骤,不仅影响业务处理系统的正常工作,降低了工作效率,还造成了巨大的系统维护成本。
发明内容
本申请提供一种业务规则信息的动态配置方法、装置、设备及存储介质及存储介质,用以解决现有技术无法对业务处理系统进行动态业务规则更新问题。
根据本申请实施例的第一方面,本申请提供了一种业务规则信息的动态配置方法,应用于服务器,所述服务器用于运行业务处理系统,所述方法包括:
获取业务规则信息,所述业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则;根据所述业务规则信息,生成所述业务规则信息对应的规则数据,其中,所述规则数据的数据格式符合所述规则引擎的语法规范;基于所述规则引擎,加载所述规则数据,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。
在一种可能的实现方式中,获取业务规则信息,包括:接收终端设备发送的规则字符串和对应的业务标识,所述规则字符串包括基于预设的规则语法编制的字符串,所述规则字符串表征对业务标识对应的目标业务进行处理的规则;根据所述规则字符串和所述业务标识,生成业务规则信息。
在一种可能的实现方式中,所述规则数据包括数据库表,根据所述业务规则信息,生成所述业务规则信息对应的规则数据,包括:根据所述业务规则信息,确定至少两个表字段;根据至少两个所述表字段对应的字段值,生成数据库表。
在一种可能的实现方式中,所述至少两个表字段包括规则标识项和业务规则项,所述规则标识项的字段值由所述业务标识确定;所述业务规则项的字段值由所述规则字符串确定。
在一种可能的实现方式中,基于所述规则引擎,加载所述规则数据,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务,包括:根据所述数据库表中的规则标识项的字段值,确定对应的业务规则项的字段值;调用所述规则引擎的加载接口,加载所述业务规则项的字段值,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。
在一种可能的实现方式中,所述规则引擎为Drools引擎。
在一种可能的实现方式中,所述方法还包括:基于所述规则数据,生成测试用例,所述测试用例用于对所述规则数据对应的业务规则的有效性进行测试;基于所述规则引擎,加载所述规则数据,包括:根据所述测试用例,对所述规则数据进行测试,生成测试结果;若所述测试结果表征所述测试数据对应的业务规则有效,则基于所述规则引擎,加载所述规则数据。
在一种可能的实现方式中,基于所述规则数据,生成测试用例,包括:基于所述规则数据,生成测试规则字符串;根据预设的关键字,解析所述测试规则字符串,生成抽象语法树,其中,所述抽象语法树用于表征所述测试规则字符串的语法结构;根据所述抽象语法树中的变量的有效取值范围,生成所述测试用例。
根据本申请实施例的第二方面,本申请提供了一种业务规则信息的动态配置装置,应用于服务器,所述服务器用于运行业务处理系统,所述装置包括:
获取模块,用于获取业务规则信息,所述业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则;
生成模块,用于根据所述业务规则信息,生成所述业务规则信息对应的规则数据,其中,所述规则数据的数据格式符合所述规则引擎的语法规范;
加载模块,用于基于所述规则引擎,加载所述规则数据,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。
在一种可能的实现方式中,所述获取模块,具体用于:接收终端设备发送的规则字符串和对应的业务标识,所述规则字符串包括基于预设的规则语法编制的字符串,所述规则字符串表征对业务标识对应的目标业务进行处理的规则;根据所述规则字符串和所述业务标识,生成业务规则信息。
在一种可能的实现方式中,所述规则数据包括数据库表,所述生成模块,具体用于:根据所述业务规则信息,确定至少两个表字段;根据至少两个所述表字段对应的字段值,生成数据库表。
在一种可能的实现方式中,所述至少两个表字段包括规则标识项和业务规则项,所述规则标识项的字段值由所述业务标识确定;所述业务规则项的字段值由所述规则字符串确定。
在一种可能的实现方式中,所述加载模块,具体用于:根据所述数据库表中的规则标识项的字段值,确定对应的业务规则项的字段值;调用所述规则引擎的加载接口,加载所述业务规则项的字段值,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。
在一种可能的实现方式中,所述规则引擎为Drools引擎。
在一种可能的实现方式中,所述业务规则信息的动态配置装置,还包括:
测试模块,用于:基于所述规则数据,生成测试用例,所述测试用例用于对所述规则数据对应的业务规则的有效性进行测试;所述加载模块,具体用于:根据所述测试用例,对所述规则数据进行测试,生成测试结果;若所述测试结果表征所述测试数据对应的业务规则有效,则基于所述规则引擎,加载所述规则数据。
在一种可能的实现方式中,所述测试模块,具体用于:基于所述规则数据,生成测试规则字符串;根据预设的关键字,解析所述测试规则字符串,生成抽象语法树,其中,所述抽象语法树用于表征所述测试规则字符串的语法结构;根据所述抽象语法树中的变量的有效取值范围,生成所述测试用例。
根据本申请实施例的第三方面,本申请提供了一种电子设备,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行如本申请实施例第一方面任一项所述的业务规则信息的动态配置方法。
在一种可能的实现方式中,所述电子设备为服务器。
根据本申请实施例的第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如本申请实施例第一方面任一项所述的业务规则信息的动态配置方法。
根据本申请实施例的第五方面,本申请提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的业务规则信息的动态配置方法。
本申请提供的业务规则信息的动态配置方法、装置、设备及存储介质及存储介质,通过获取业务规则信息,所述业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则;根据所述业务规则信息,生成所述业务规则信息对应的规则数据,其中,所述规则数据的数据格式符合所述规则引擎的语法规范;基于所述规则引擎,加载所述规则数据,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。由于基于规则引擎对业务规则信息进行加载,不需要重新对业务处理系统进行代码修改、编译和打包上线工作,可以实现业务规则的动态修改,因此避免了业务处理系统停机升级造成的无法正常工作的问题,提高了业务处理系统的工作效率,降低了业务处理系统的维护和使用成本。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的业务规则信息的动态配置方法的一种应用场景图;
图2为本申请一个实施例提供的业务规则信息的动态配置方法的流程图;
图3为本申请实施例提供的一种通过规则引擎实现业务规则信息的动态加载的示意图;
图4为本申请另一个实施例提供的业务规则信息的动态配置方法的流程图;
图5为图4所示实施例中步骤S204的流程示意图;
图6为为本申请一个实施例提供的业务规则信息的动态配置装置的结构示意图;
图7为本申请另一个实施例提供的业务规则信息的动态配置装置的结构示意图;
图8为本申请一个实施例提供的电子设备的示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
下面对本申请实施例的应用场景进行解释:
图1为本申请实施例提供的业务规则信息的动态配置方法的一种应用场景图,如图1所示,本申请实施例提供的业务规则信息的动态配置方法应用于服务器,服务器内运行有业务处理系统,用于各种预设的规则,对各类业务进行处理,例如业务风险评估、业务审批、业务办理、信息查询等。终端设备为与服务器通过局域网或广域网通信连接,在本实施例提供的应用场景中,终端设备为银行业务人员或者开发人员的操作设备,例如电脑,通过终端设备可以查看、修改服务器内运行的业务处理系统的各种预设的规则,从而使业务处理系统能够按照具体的需求对各类业务进行处理。
现有技术中,对业务处理系统中各种预设规则更新,需要从业务处理系统的代码层面进行更新,导致每次对规则的更改,均需要实施对业务处理系统的程序进行编码修改、编译、打包上线等工作步骤,由于银行业务处理系统规模庞大、安全性要求高,对业务处理系统的代码进行修改,不仅影响业务处理系统的正常工作,降低了工作效率,还造成了巨大的系统维护和使用成本,降低了业务处理系统的使用灵活性。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
图2为本申请一个实施例提供的业务规则信息的动态配置方法的流程图,应用于服务器,服务器用于运行业务处理系统,如图2所示,本实施例提供的业务规则信息的动态配置方法包括以下几个步骤:
步骤S101,获取业务规则信息,业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则。
示例性地,业务规则信息是用于描述处理目标业务时具体的业务规则的信息,例如,在查询用户身份信息时,需要对用户身份进行筛选,只显示有效用户的用户身份信息,其中,有效用户例如为银行卡未注销的用户。上述查询用户身份信息时的筛选策略,即为处理查询业务时使用的业务规则。当然,可以理解的是,对于查询业务,还可以包括其他业务规则;对应的,对于其他业务,例如业务审批、业务办理等,也分别对应有不同的业务规则,此处不再一一举例赘述。
进一步地,业务规则信息可以包括规则字符串和对应的业务标识,其中,规则字符串包括基于预设的规则语法编制的字符串,规则字符串表征对业务标识对应的目标业务进行处理的规则。在一种可能的实现方式中,获取业务规则信息,包括:接收终端设备发送的规则字符串和对应的业务标识,并根据规则字符串和业务标识,生成业务规则信息。其中,终端设备与服务器之间具有通信连接,终端设备可以从服务器读写数据。更加具体地,例如,终端设备为业务处理系统的操作人员使用的业务终端,终端设备与服务器之间基于客户端-服务器(Client-Server,C/S)模式,或者浏览器-服务器(Browser-Server,B/S)模式实现数据的交互,从而实现运行业务处理系统的服务器从终端设备获取业务规则信息的目的。该过程中服务器与终端设备进行数据交互的具体实现方法,为本领域技术人员知晓的现有技术,此处不再进行赘述。其中,业务规则信息中的规则字符串,可以是由操作人员在客户端(Client)或浏览器(Browser)一侧,按照一定的规则语法编制的字符串,该字符串用于描述具体的业务规则,以实现不同的业务需求。
步骤S102,根据业务规则信息,生成业务规则信息对应的规则数据,其中,规则数据的数据格式符合规则引擎的语法规范。
示例性地,在获得业务规则信息后,对业务信息进行解析和存储,生成能够利用规则引擎进行处理的数据,即规则数据。具体地,例如,在获得业务规则信息后,解析业务规则信息中的内容,将业务规则信息存储至数据库表中,并根据业务规则信息中的内容,存入数据库表中的多个表字段。其中,数据库表中至少包括两个表字段,一个表字段用于描述业务规则信息对应的业务规则的标识,另一个表字段用于描述业务规则信息对应的业务规则的具体内容。此外,数据库表中还可以包括其他表字段,例如用于描述业务规则信息对应的业务规则的启用时间和停止时间的表字段,用于描述业务规则信息对应的业务规则的适用用户的表字段,数据库表中的具体表字段的相关信息,由对业务规则信息进行解析后获得,可以根据具体的需要设置在业务规则信息中,此处不再进行一一举例。其中,规则数据的数据格式符合规则引擎的语法规范,可以通过规则引擎进行加载,从而实现对具体业务规则的调用。
步骤S103,基于规则引擎,加载规则数据,以使业务处理系统使用业务规则信息对应的业务规则处理目标业务。
首先对规则引擎进行简要介绍,规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。具体地,规则引擎通过接收特定数据结构的规则数据,从而去触发或实现一个或多个业务逻辑,其中业务逻辑例如为“在A条件下,执行a任务”。本实施例步骤中,通过规则引擎,可以实现从软件层面对业务处理系统内的业务规则进行增、删、改、查的目的,无需对业务处理系统的底层代码进行修改,可以在不对业务系统进行停机更新的前提下,完成对业务规则的修改,保证业务处理系统与业务规则的低耦合特性,实现了业务规则信息的动态配置。
示例性地,规则引擎例如为Drools引擎,Drools引擎为一种基于java的开源规则引擎,Drools引擎允许使用声明方式表达业务逻辑。可以通过可扩展标记语言(ExtensibleMarkup Language,XML)节点来规范If-Then句式和事实的定义,也可以使用非XML的本地语言编写规则。Drools引擎具有预设的加载接口,可以调用加载接口,可以实现对规则数据的加载。在加载完毕后,业务处理系统通过调用Drools引擎,基于规则数据对应的业务规则做出业务决策,完成业务处理的过程。其中,Drools引擎的具体调用方法,为本领域技术人员知晓的现有技术,此次不再进行赘述。
图3为本申请实施例提供的一种通过规则引擎实现业务规则信息的动态加载的示意图,如图3所示,运行业务处理系统的服务器接收到用户(例如为银行业务人员)输入的业务规则信息后,将业务规则信息存储为规则数据,并调用规则引擎对规则数据进行加载,从而修改业务处理系统内的运行的服务内的业务规则,实现了对业务规则信息的加载。
本实施例中,通过获取业务规则信息,业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则;根据业务规则信息,生成业务规则信息对应的规则数据,其中,规则数据的数据格式符合规则引擎的语法规范;基于规则引擎,加载规则数据,以使业务处理系统使用业务规则信息对应的业务规则处理目标业务。由于基于规则引擎对业务规则信息进行加载,不需要重新对业务处理系统进行代码修改、编译和打包上线工作,可以实现业务规则的动态修改,因此避免了业务处理系统停机升级造成的无法正常工作的问题,提高了业务处理系统的工作效率,降低了业务处理系统的维护和使用成本。
图4为本申请另一个实施例提供的业务规则信息的动态配置方法的流程图,如图4所示,本实施例提供的业务规则信息的动态配置方法在图2所示实施例提供的业务规则信息的动态配置方法的基础上,对步骤S102进一步细化,并在加载规则数据前增加了对规则数据进行测试的步骤,则本实施例提供的业务规则信息的动态配置方法包括以下几个步骤:
步骤S201,获取业务规则信息,业务规则信息中包括规则字符串和对应的业务标识,业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则。
步骤S202,根据业务标识,确定规则标识项;根据规则字符串,确定业务规则项。
步骤S203,将规则标识项和业务规则项作为两个表字段,生成数据库表。
示例性地,根据业务规则信息中的规则字符串和对应的业务标识,可以确定该业务标识所对应的具体业务,以及对该具体业务进行处理时的业务规则,更具体地,规则字符串作为表征具体的业务规则的信息,符合规则引擎所规定的规则语法,从而使规则引擎可以读取并执行规则字符串后,确定对应的业务规则的逻辑。其中,示例性地,规则引擎为Drools引擎,对应的规则语法为Drl规则。通过符合Drl规则的规则字符串,来描述在一定条件下执行的动作,其具体地实现方式为现有技术,此处不再赘述。
进一步地,将业务标识作为一个表字段,用于表征规则的唯一识别编号,将规则字符串作为一个表字段,用于表征业务规则的具体内容,从而形成能够表征处理目标业务时使用的业务规则的数据库表,且该数据库表符合规则引擎的语法规范,使规则引擎可以识别并加载该数据库表,从而加载数据库表所表征的表征处理目标业务时使用的业务规则。
步骤S204,基于数据库表,生成测试用例,测试用例用于对数据库表对应的业务规则的有效性进行测试。
示例性地,在生成表征处理目标业务时使用的业务规则的数据库表后,在本申请实施例提供的银行业务处理系统的场景下,出于对业务安全性方面的考虑,需要在业务系统加载数据库表对应的业务规则前,对其进行测试,以保证加载该业务规则后,该业务规则能正常运行,不会导致业务系统的稳定性和安全性问题。基于上述原因,在生成数据库表后,对应自动生成用于测试该数据库表的测试用例,以对数据库表对应的业务规则的有效性进行测试。
可选地,如图5所示,步骤S204包括步骤S2041、S2042、S2043三个具体的实现步骤:
步骤S2041,基于规则数据,生成测试规则字符串。
步骤S2042,根据预设的关键字,解析测试规则字符串,生成抽象语法树,其中,抽象语法树用于表征测试规则字符串的语法结构。
步骤S2043,根据抽象语法树中的变量的有效取值范围,生成测试用例。
示例性地,抽象语法树(abstract syntax code,AST),是源代码语法结构的一种抽象表示。它以树状的形式表现编程语言的语法结构,树上的每个节点都表示源代码中的一种结构。具体地,在本实施例中,通过提取规则数据中业务规则项表字段对应的字段值,即规则字符串,在测试环境下生成测试规则字符串,并根据解析该测试规则字符串后得到的抽象语法树,生成测试用例。其中,示例性地,测试规则字符串可以与规则数据中的规则字符串内容一致,通过对规则字符串进行复制而生成。测试规则字符串中包括表征业务规则的输入值的变量,根据测试规则字符串的抽象语法树,解析测试规则字符串的语法结构,从而可以确定该表征业务规则的输入值的变量。具体地,测试规则字符串中包括若干关键字,例如“when”、“then”等,该关键字也称为软关键字,可以由用户根据需要定义。根据对关键字进行识别,可以确定该表征业务规则的输入值的变量。进一步地,根据该变量的数据类型、有效取值范围等因素,根据预设的测试策略,生成对应的测试用例,以用于对该测试规则字符串对应的业务规则的输入值、输出值之间的映射关系进行测试,进而确定该测试规则字符串对应的业务规则是否有效。其中,抽象语法树为本领域技术人员知晓的技术,通过解析字符串,确定该字符串的抽象语法树的实现方法,为本领域技术人员知晓的技术方案,此次不再具体介绍。
本实施例中,通过基于规则数据,生成测试规则字符串,并基于解析测试规则字符串,生成的抽象语法树,生成对应的测试用例,在加载该规则数据前,首先通过测试用例对该规则数据进行测试,以保证该规则数据对应的业务规则的有效性,提高了更改业务规则时,业务系统的稳定性和安全性。
步骤S205,根据测试用例,对数据库表进行测试,生成测试结果。
步骤S206,若测试结果表征数据库表对应的业务规则有效,则根据数据库表中的规则标识项的字段值,确定对应的业务规则项的字段值。
示例性地,在获得测试规则字符串所对应的测试用例后,通过该测试用例对数据库表进行测试,由于测试规则字符串与数据库表中的规则字符串内容主要相同,因此,通过解析测试规则字符串得到的测试用例,可以用于测试数据库表中的规则字符串对应的业务规则的有效性。
进一步地,示例性地,测试结果可以包括业务规则有效和业务规则无效两种,业务规则有效,即表示规则字符串对应的业务规则通过了测试用例的测试,可以正常工作;相对地,业务规则无效,即表示规则字符串对应的业务规则未通过了测试用例的测试,出现了异常,无法正常工作。可选地,在确定业务规则无效后,可以向用户发出提示信息,提示业务规则信息对应的业务规则存在异常,无法加载,具体向用户发出提示信息的方式有多种,例如服务器向终端设备发送提示消息,或者服务器向第三方的终端设备发送提示消息,其中,发送提示消息的具体实现方式,以及提示消息的具体实现方式,可以根据需求具体设置,此次不再赘述。
步骤S207,调用规则引擎的加载接口,加载业务规则项的字段值,以使业务处理系统使用业务规则信息对应的业务规则处理目标业务。
进一步地,在通过测试用例确定数据库表所对应的业务规则有效后,可以通过调用规则引擎的加载接口,加载业务规则项的字段值,即规则字符串,规则字符串符合规则引擎的规则语法,因此规则引擎可以对规则字符串进行加载,并在业务系统内,通过对应的服务,更新业务规则,业务处理系统在使用该服务对目标业务进行处理时,即可使用通过规则引擎加载的更新后的业务规则,对目标业务进行处理。
本实施例中,步骤S201的实现方式与本申请图2所示实施例中的步骤S101的实现方式相同,在此不再一一赘述。
图6为本申请一个实施例提供的业务规则信息的动态配置装置的结构示意图,应用于服务器,服务器用于运行业务处理系统,如图6所示,本实施例提供的业务规则信息的动态配置装置3包括:
获取模块31,用于获取业务规则信息,业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则。
生成模块32,用于根据业务规则信息,生成业务规则信息对应的规则数据,其中,规则数据的数据格式符合规则引擎的语法规范。
加载模块33,用于基于规则引擎,加载规则数据,以使业务处理系统使用业务规则信息对应的业务规则处理目标业务。
在一种可能的实现方式中,获取模块31,具体用于:接收终端设备发送的规则字符串和对应的业务标识,规则字符串包括基于预设的规则语法编制的字符串,规则字符串表征对业务标识对应的目标业务进行处理的规则;根据规则字符串和业务标识,生成业务规则信息。
在一种可能的实现方式中,规则数据包括数据库表,生成模块32,具体用于:根据业务规则信息,确定至少两个表字段;根据至少两个表字段对应的字段值,生成数据库表。
在一种可能的实现方式中,至少两个表字段包括规则标识项和业务规则项,规则标识项的字段值由业务标识确定;业务规则项的字段值由规则字符串确定。
在一种可能的实现方式中,加载模块33,具体用于:根据数据库表中的规则标识项的字段值,确定对应的业务规则项的字段值;调用规则引擎的加载接口,加载业务规则项的字段值,以使业务处理系统使用业务规则信息对应的业务规则处理目标业务。
在一种可能的实现方式中,规则引擎为Drools引擎。
其中,获取模块31、生成模块32和加载模块33依次连接。本实施例提供的业务规则信息的动态配置装置3可以执行如图2所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
其中,获取模块31、生成模块32和加载模块33依次连接。本实施例提供的业务规则信息的动态配置装置3可以执行如图2-图4任一所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请另一个实施例提供的业务规则信息的动态配置装置的结构示意图,如图7所示,本实施例提供的业务规则信息的动态配置装置4在图6所示实施例提供的业务规则信息的动态配置装置3的基础上,增加了测试模块41。
其中,测试模块41,用于:基于规则数据,生成测试用例,测试用例用于对规则数据对应的业务规则的有效性进行测试;加载模块33,具体用于:根据测试用例,对规则数据进行测试,生成测试结果;若测试结果表征测试数据对应的业务规则有效,则基于规则引擎,加载规则数据。
在一种可能的实现方式中,测试模块41,具体用于:基于规则数据,生成测试规则字符串;根据预设的关键字,解析测试规则字符串,生成抽象语法树,其中,抽象语法树用于表征测试规则字符串的语法结构;根据抽象语法树中的变量的有效取值范围,生成测试用例。
其中,测试模块41分别与生成模块32、加载模块33连接。本实施例提供的业务规则信息的动态配置装置4可以执行如图2-图5任一所示的方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为本申请一个实施例提供的电子设备的示意图,如图8所示,本实施例提供的电子设备5包括:存储器51,处理器52以及计算机程序。
其中,计算机程序存储在存储器51中,并被配置为由处理器52执行以实现本申请图2-图5所对应的实施例中任一实施例提供的业务规则信息的动态配置方法。
其中,存储器51和处理器52通过总线53连接。
在一种可能的实现方式中,所述电子设备5为服务器。
相关说明可以对应参见图2-图5所对应的实施例中的步骤所对应的相关描述和效果进行理解,此处不做过多赘述。
本申请一个实施例提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行以实现本申请图2-图5所对应的实施例中任一实施例提供的业务规则信息的动态配置方法。
其中,计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本申请一个实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现本申请图2-图5所对应的实施例中任一实施例提供的业务规则信息的动态配置方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
本领域技术人员在考虑说明书及实践这里公开的申请后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

Claims (12)

1.一种业务规则信息的动态配置方法,其特征在于,应用于服务器,所述服务器用于运行业务处理系统,所述方法包括:
获取业务规则信息,所述业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则;
根据所述业务规则信息,生成所述业务规则信息对应的规则数据,其中,所述规则数据的数据格式符合所述规则引擎的语法规范;
基于所述规则引擎,加载所述规则数据,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。
2.根据权利要求1所述的方法,其特征在于,获取业务规则信息,包括:
接收终端设备发送的规则字符串和对应的业务标识,所述规则字符串包括基于预设的规则语法编制的字符串,所述规则字符串表征对业务标识对应的目标业务进行处理的规则;
根据所述规则字符串和所述业务标识,生成业务规则信息。
3.根据权利要求2所述的方法,其特征在于,所述规则数据包括数据库表,根据所述业务规则信息,生成所述业务规则信息对应的规则数据,包括:
根据所述业务规则信息,确定至少两个表字段;
根据至少两个所述表字段对应的字段值,生成数据库表。
4.根据权利要求3所述的方法,其特征在于,所述至少两个表字段包括规则标识项和业务规则项,所述规则标识项的字段值由所述业务标识确定;所述业务规则项的字段值由所述规则字符串确定。
5.根据权利要求4所述的方法,其特征在于,基于所述规则引擎,加载所述规则数据,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务,包括:
根据所述数据库表中的规则标识项的字段值,确定对应的业务规则项的字段值;
调用所述规则引擎的加载接口,加载所述业务规则项的字段值,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。
6.根据权利要求1所述的方法,其特征在于,所述规则引擎为Drools引擎。
7.根据权利要求1-6任一项所述的方法,其特征在于,所述方法还包括:
基于所述规则数据,生成测试用例,所述测试用例用于对所述规则数据对应的业务规则的有效性进行测试;
基于所述规则引擎,加载所述规则数据,包括:
根据所述测试用例,对所述规则数据进行测试,生成测试结果;
若所述测试结果表征所述测试数据对应的业务规则有效,则基于所述规则引擎,加载所述规则数据。
8.根据权利要求7所述的方法,其特征在于,基于所述规则数据,生成测试用例,包括:
基于所述规则数据,生成测试规则字符串;
根据预设的关键字,解析所述测试规则字符串,生成抽象语法树,其中,所述抽象语法树用于表征所述测试规则字符串的语法结构;
根据所述抽象语法树中的变量的有效取值范围,生成所述测试用例。
9.一种业务规则信息的动态配置装置,其特征在于,应用于服务器,所述服务器用于运行业务处理系统,包括:
获取模块,用于获取业务规则信息,所述业务规则信息用于表征业务处理系统在处理目标业务时使用的业务规则;
生成模块,用于根据所述业务规则信息,生成所述业务规则信息对应的规则数据,其中,所述规则数据的数据格式符合所述规则引擎的语法规范;
加载模块,用于基于所述规则引擎,加载所述规则数据,以使所述业务处理系统使用所述业务规则信息对应的业务规则处理所述目标业务。
10.一种电子设备,其特征在于,包括:存储器,处理器以及计算机程序;
其中,所述计算机程序存储在所述存储器中,并被配置为由所述处理器执行以实现如权利要求1至8中任一项所述的业务规则信息的动态配置方法。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机执行指令,所述计算机执行指令被处理器执行时用于实现如权利要求1至8任一项所述的业务规则信息的动态配置方法。
12.一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现权利要求1至8中任一项所述的业务规则信息的动态配置方法。
CN202110714992.4A 2021-06-25 2021-06-25 业务规则信息的动态配置方法、装置、设备及存储介质 Active CN113312113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110714992.4A CN113312113B (zh) 2021-06-25 2021-06-25 业务规则信息的动态配置方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110714992.4A CN113312113B (zh) 2021-06-25 2021-06-25 业务规则信息的动态配置方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113312113A true CN113312113A (zh) 2021-08-27
CN113312113B CN113312113B (zh) 2024-07-30

Family

ID=77380488

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110714992.4A Active CN113312113B (zh) 2021-06-25 2021-06-25 业务规则信息的动态配置方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113312113B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114021723A (zh) * 2021-11-26 2022-02-08 深圳创维智慧科技有限公司 医疗知识库的规则管理方法、装置及计算机可读存储介质
WO2023142911A1 (zh) * 2022-01-26 2023-08-03 京东方科技集团股份有限公司 业务处理方法及装置
CN117453278A (zh) * 2023-11-01 2024-01-26 国任财产保险股份有限公司 一种基于业务规则的规则管理系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856058B1 (en) * 2012-01-04 2014-10-07 Nice Systems Technologies Inc. Business rules engine with dynamically addressable facts
CN110297620A (zh) * 2019-05-17 2019-10-01 苏宁易购集团股份有限公司 一种基于Drools的动态规则维护和生成的方法
CN110825488A (zh) * 2019-09-29 2020-02-21 山东中创软件工程股份有限公司 一种业务处理方法、装置及电子设备和存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8856058B1 (en) * 2012-01-04 2014-10-07 Nice Systems Technologies Inc. Business rules engine with dynamically addressable facts
CN110297620A (zh) * 2019-05-17 2019-10-01 苏宁易购集团股份有限公司 一种基于Drools的动态规则维护和生成的方法
CN110825488A (zh) * 2019-09-29 2020-02-21 山东中创软件工程股份有限公司 一种业务处理方法、装置及电子设备和存储介质

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114021723A (zh) * 2021-11-26 2022-02-08 深圳创维智慧科技有限公司 医疗知识库的规则管理方法、装置及计算机可读存储介质
WO2023142911A1 (zh) * 2022-01-26 2023-08-03 京东方科技集团股份有限公司 业务处理方法及装置
CN117453278A (zh) * 2023-11-01 2024-01-26 国任财产保险股份有限公司 一种基于业务规则的规则管理系统
CN117453278B (zh) * 2023-11-01 2024-05-14 国任财产保险股份有限公司 一种基于业务规则的规则管理系统

Also Published As

Publication number Publication date
CN113312113B (zh) 2024-07-30

Similar Documents

Publication Publication Date Title
CN113312113B (zh) 业务规则信息的动态配置方法、装置、设备及存储介质
CN107644323B (zh) 一种面向业务流的智能审核系统
CN107704265B (zh) 一种面向业务流可配置的规则生成方法
US6523171B1 (en) Enhanced source code translator from procedural programming language (PPL) to an object oriented programming language (OOPL)
US6321190B1 (en) Infrastructure for developing application-independent language modules for language-independent applications
US8701087B2 (en) System and method of annotating class models
US20070038609A1 (en) System and method of query paraphrasing
WO1999021404A9 (en) Apparatus and method for semi-automated generation and application of language conformity tests
CN112363695B (zh) Pmml文件及其运行时环境与工业软件的集成方法
CN115185550A (zh) 服务部署方法、装置、计算机设备及存储介质
US6292773B1 (en) Application-independent language module for language-independent applications
CN111459830B (zh) 测试案例生成方法及装置
US7698695B2 (en) Search technique for design patterns in Java source code
CN108304164B (zh) 一种业务逻辑的开发方法及开发系统
CN111797020A (zh) 基于动态字节码的mock数据方法及装置
Camilli et al. Formal specification and verification of decentralized self-adaptive systems using symmetric nets
Hanna et al. Fault-based web services testing
CN114115884B (zh) 一种编程服务的管理方法以及相关装置
US12067377B2 (en) System and a method for automatic generation of smart contracts across blockchain platforms
US11442845B2 (en) Systems and methods for automatic test generation
de Camargo et al. An approach to design crosscutting framework families
CN112287012B (zh) 采用Spark SQL模式实现http接口调用方法
Carman et al. Planning for web services the hard way
Soma et al. A model-based framework for developing and deploying data aggregation services
CN115391330A (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