一种业务处理方法及规则服务接口与流程

专利2024-07-29  45



1.本技术属于计算机应用技术领域,尤其涉及一种业务处理方法及规则服务接口。


背景技术:

2.商业银行有很多信贷产品包含了大量的业务规则,为了快速适应外部市场变化,业务规则经常需要变化,数据庞大的不同规则运算的复杂性,以及不同业务系统使用不同规则进行业务处理时与业务规则间信息传递、交互细节的复杂性,导致业务系统稳定性差且业务处理效率低。


技术实现要素:

3.有鉴于此,本技术提供一种业务处理方法及规则服务接口,通过设计一种通用的规则服务接口,克服现有技术的缺陷,提升不同业务系统使用不同规则进行业务处理时的系统稳定性及处理效率。
4.具体技术方案如下:
5.一种业务处理方法,包括:
6.预先生成的规则服务接口获取业务系统发起的服务请求;所述服务请求至少包括待调用规则的规则标识及待调用规则实现业务处理所需的业务对象;
7.所述规则服务接口调用预先生成的规则引擎,将所述规则标识和所述业务对象传递至所述规则引擎,以由所述规则引擎从所述规则服务接口整合的适用于多种场景下不同业务系统的业务规则集中调用所述规则标识指示的目标业务规则,并基于所述业务对象执行所述目标业务规则;
8.所述规则服务接口获取所述规则引擎返回的规则计算结果,并将所述规则计算结果反馈至所述业务系统。
9.可选的,所述规则服务接口获取业务系统发送的服务请求,包括:所述规则服务接口获取业务系统发送的按预设输入参数接口规范封装的服务请求;
10.所述规则服务接口将所述规则计算结果返回至所述业务系统,包括:所述规则服务接口基于预设输出参数接口规范封装所述规则计算结果,并将封装后得到的响应结果返回至所述业务系统。
11.可选的,所述预设输入参数接口规范包括对输入参数类型和输入参数格式的规范要求,所述预设输出参数接口规范包括对输出参数类型和输出参数格式的规范要求;
12.其中,所述输入参数类型包括如下类型中的至少部分:业务系统对应的系统码、认证码、待调用规则的规则标识、待调用规则实现业务处理所需输入的业务对象;
13.所述输出参数类型包括如下类型中的至少部分:规则计算结果、用于表示服务调用成功与否的返回码、规则执行情况信息。
14.可选的,在所述规则服务接口调用规则引擎之前,还包括:
15.所述规则服务接口根据所述服务请求中的系统码、认证码和规则标识中的至少部
分信息,确定所述业务系统是否具备调用所述目标业务规则的权限。
16.可选的,所述规则服务接口根据所述服务请求中的系统码、认证码和规则标识中的至少部分信息,确定所述业务系统是否具备调用所述目标业务规则的权限,包括:
17.所述规则服务接口验证所述服务请求中的认证码与系统码是否匹配;
18.若所述认证码与所述系统码匹配,验证所述服务请求中的规则标识与系统码是否匹配,若所述规则标识与所述系统码匹配,确定所述业务系统具备调用所述目标业务规则的权限;
19.若所述认证码与所述系统码不匹配或所述规则标识与所述系统码不匹配,确定业务系统不具备调用所述目标业务规则的权限。
20.可选的,所述服务请求中封装的业务对象为:按所述预设输入参数接口规范的要求对相应对象内容依次进行序列化和编码处理所得的编码结果;所述响应结果中封装的规则计算结果为:按所述输出参数接口规范的要求对所述规则引擎返回的原始规则计算结果依次进行序列化和编码处理所得的编码结果;
21.在所述规则服务接口调用预先生成的规则引擎之前,所述方法还包括:所述规则服务接口对所述服务请求中的业务对象依次进行解码及反序列化处理;
22.在所述规则服务接口将所述规则计算结果反馈至所述业务系统之前,所述方法还包括:所述规则服务接口对所述规则引擎返回的原始规则计算结果依次进行序列化和编码处理。
23.可选的,所述服务请求中的业务对象为一组或多组,每组业务对象对应与所述规则服务接口的一次交易;所述方法还包括:
24.统计所述服务请求对应所需的与所述规则服务接口的交易量;
25.根据所述交易量对所述业务系统进行限流控制。
26.一种规则服务接口,包括:
27.获取模块,用于获取业务系统发起的服务请求;所述服务请求至少包括待调用规则的规则标识及待调用规则实现业务处理所需的业务对象;
28.规则引擎调用模块,用于调用预先生成的规则引擎,将所述规则标识和所述业务对象传递至所述规则引擎,以由所述规则引擎从所述规则服务接口整合的适用于多种场景下不同业务系统的业务规则集中调用所述规则标识指示的目标业务规则,并基于所述业务对象执行所述目标业务规则;
29.响应模块,用于获取所述规则引擎返回的规则计算结果,并将所述规则计算结果反馈至所述业务系统。
30.可选的,上述规则服务接口还包括:
31.权限认证模块,用于根据所述服务请求中的系统码、认证码和规则标识中的至少部分信息,确定所述业务系统是否具备调用所述目标业务规则的权限。
32.可选的,所述服务请求中的业务对象为一组或多组,每组业务对象对应与所述规则服务接口的一次交易;所述接口还包括:
33.监测与控制模块,用于统计所述服务请求对应所需的与所述规则服务接口的交易量,根据所述交易量对所述业务系统进行限流控制。
34.根据以上方案可知,本技术提供的业务处理方法,预先构建了通用的规则服务接
口,在构建的通用规则服务接口进行不同业务规则的整合,形成能通用于不同场景下不同业务系统的业务规则集,并为规则服务接口搭配用于实现业务规则程序逻辑执行的规则引擎,在此基础上,基于规则服务接口和规则引擎为不同场景下不同业务系统提供统一、通用的多种规则服务能力,使得不同场景下不同业务系统不必关心规则运算的复杂性以及与业务规则间信息传递、交互细节的复杂性,直接通过调用规则服务接口即可实现所需的基于规则的业务处理,提升了业务系统稳定性及基于规则的业务处理效率。
附图说明
35.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.图1是本技术提供的规则服务接口的接口输入参数的示例;
37.图2是本技术提供的规则服务接口的接口输出参数的示例;
38.图3是本技术提供的规则服务接口的一种组成结构图;
39.图4是本技术提供的规则服务接口的另一种组成结构图;
40.图5是本技术提供的业务处理方法的一种流程示意图;
41.图6是本技术提供的业务处理方法的另一种流程示意图;
42.图7是本技术提供的业务处理方法的又一种流程示意图;
43.图8是本技术提供的基于规则服务接口为各场景业务系统提供规则计算服务的交互示例图。
具体实施方式
44.为引用或清楚起见,以下首先对本技术实施例涉及的技术名词、缩写或术语进行解释:
45.web service:是一个平台独立的,低耦合的,自包含的,基于可编程的web的应用程序,可使用开放的xml标准来描述、发布、发现、协调和配置这些应用程序,用于开发分布式的交互操作的应用程序;
46.序列化:把业务对象(如java业务对象)转换为字节序列的过程;
47.反序列化:把字节序列恢复为业务对象(如java业务对象)的过程;
48.base64编码:一种基于64个可打印字符来表示二进制数据的方法,是从二进制到字符的过程,可用于在http(hyper text transfer protocol,超文本传输协议)环境下传递较长的标识信息,采用base64编码具有不可读性,需要解码后才能阅读;
49.base64解码:从字符到二进制的过程;
50.规则引擎:规则引擎由推理引擎发展而来,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据规则做出业务决策。
51.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于
本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
52.本技术公开一种业务处理方法及规则服务接口,主要通过设计一通用的规则服务接口,在该通用规则服务接口整合不同场景业务系统的业务规则,并对面向不同业务规则的该接口进行接口输入/输出的规范、统一,来提供基于整合的业务规则集的通用规则计算服务,以此提升不同业务系统使用不同规则进行业务处理时的系统稳定性及处理效率。
53.可选的,规则服务接口为基于webservice技术实现的web service接口。
54.本技术实施例预先在规则服务接口整合多种场景下不同业务系统所需的业务规则,形成适用于多种场景下不同业务系统的业务规则集,并为规则服务接口制定了对应的输入/输出参数接口规范,通过制定的输入/输出参数接口规范,实现不同场景下不同业务系统与规则服务接口交互时输入/输出的规范化、统一化。
55.需要说明,一个业务系统可能需要一个或多个规则项目,一个规则项目对应一个完整的规则程序逻辑。对多种场景下不同业务系统所需的业务规则的整合,具体是指对多种场景下不同业务系统分别所需的一个或多个规则项目的整合。
56.可选的,规则服务接口对应的输入参数接口规范包括对输入参数类型和输入参数格式的规范要求,输入参数类型进一步包括如下类型中的部分或全部:业务系统对应的系统码、认证码、待调用规则的规则标识、待调用规则实现业务处理所需输入的业务对象。
57.在一优选实施方式中,结合参见图1,输入参数接口规范要求的各类型输入参数(也即规则服务接口对应的各类型输入参数)包括上述系统码、认证码、规则标识及业务对象中的全部信息。
58.图1中的各类型接口输入参数详细解释如下:
59.11)systemcode
60.表示接入规则服务接口的业务系统的系统码,每个接入规则服务接口的业务系统都有一个唯一标识的系统码,该系统码由规则服务接口进行分配,可选的,具体可在业务系统向规则服务接口注册时由规则服务接口进行分配。
61.12)systemcert
62.表示接入规则服务接口的业务系统的认证码,每个接入规则服务接口的业务系统都有一个唯一标识的认证码,该认证码由同样接口进行分配,可选的,同样可在业务系统向规则服务接口注册时由规则服务接口进行分配。
63.其中,系统码和认证码一一对照,一个系统码对照一个认证码,也即一个业务系统拥有相匹配的一个系统码和一个认证码,业务系统提供的系统码和认证码不匹配时,规则服务接口拒绝向其提供服务。
64.13)rulesetid
65.表示规则标识,每个规则项目都有一个唯一的规则id(规则项目id)。
66.优选的,基于权限控制需求或业务处理逻辑的匹配性/正确性,规则服务接口为每一系统码匹配一个或多个规则id,即系统码与规则id为一对一关系或一对多关系。当业务系统传递的规则id与其系统码不匹配时,规则服务接口拒绝向其提供服务。
67.14)list《hashmap《string,object》》
68.list《hashmap《string,object》》表示需要进行规则计算的业务对象集合。
69.业务对象可以是但不限于java业务对象。
70.本实施例中,规则服务接口通过设计的list《hashmap《string,object》》这一数据结构,支持业务系统通过一次请求一次性传递多组业务对象,其中,hashmap用于存储一组业务对象,list集合用于存储多组业务对象即多个hashmap。
71.同一组业务对象用于作为同一业务规则(即同一业务规则项目)同一次执行过程的输入;不同组业务对象用于分别作为不同业务规则(即不同业务规则项目)的输入,或者,用于分别作为同一业务规则不同次执行过程(如对同一业务规则的循环调用)的输入,对此不作限定,具体可视实际业务需求而定。
72.hashmap由key和value组成,对于不同的业务系统,若key的数量不同,意味着输入对象数量不同。可选的,key赋值为输入对象的类名,value为输入对象的对象内容。且可选的,value内容具体可以是将业务对象的对象内容依次经过序列化和编码处理后所得的无含义的字符。
73.编码处理可以但不限于基于base64编码实现。
74.为了避免调用方一次性传递的hashmap数量过多,可对list的大小进行限制,超过限制拒绝提供服务。
75.规则服务接口对应的输出参数接口规范包括对输出参数类型和输出参数格式的规范要求。输出参数类型进一步包括如下类型中的部分或全部:规则计算结果、用于表示服务调用成功与否的返回码、规则执行情况信息。
76.在一优选实施方式中,结合参见图2,输出参数接口规范要求的各类型输出参数(也即规则服务接口对应的各类型输出参数)包括上述规则计算结果、返回码及执行情况信息中的全部信息。
77.图2中的各类型接口输出参数详细解释如下:
78.21)resultcode;
79.resultcode为返回码,用于表示对接口的服务调用成功与否。
80.不同返回码含义不同,可选的,采用返回码“0”表示服务调用成功,其他返回码表示服务调用失败。
81.22)msg
82.表示规则执行情况信息(或称返回信息)。具体包括但不限于规则调用与执行过程的相关日志信息、规则调用或运行失败/异常时的相应记录信息、异常原因分析信息、告警信息等等,以便于调用方基于msg定位错误原因。
83.异常原因分析信息,包括但不限于因规则逻辑错误、规则运行异常或数据库异常等原因导致对接口的服务调用失败。
84.23)list《hashmap《string,object》》
85.表示返回的规则运算结果,和输入参数中的list是一一对照的,例如,针对输入参数中的每组业务对象,会有一个对应的计算结果,可选的,可将计算结果封装进key对应的value中。
86.调用方业务系统得到list后,可遍历hashmap,通过类名key得到value后,对value进行解码(如base64解码)和反序列化即可得到计算结果,之后,调用方可进一步根据计算结果进行后续处理。
87.除了对规则服务接口进行业务规则集整合及输入/输出参数接口规范制定,本技术还为规则服务接口设置一系列功能模块,参见图3提供的规则服务接口的组成结构图,规则服务接口的功能模块至少包括:获取模块10、规则引擎调用模块20和响应模块30。
88.其中,获取模块10用于获取业务系统发起的服务请求。
89.服务请求至少包括待调用规则的规则标识及待调用规则实现业务处理所需输入的业务对象。优选的,服务请求包括图1示出的输入参数接口规范所要求的各种参数:业务系统对应的系统码、认证码、待调用规则的规则标识及待调用规则实现业务处理所需输入的业务对象。服务请求中的业务对象可以有一组或多组,规则标识的数量可以为一个或多个。
90.当业务系统需使用规则服务接口提供的服务进行基于规则的业务计算时,对业务对象进行序列化和编码处理(如,base64编码),并按上述的输入参数接口规范封装系统码、认证码、规则标识及编码后的业务对象,形成符合输入参数接口规范的服务请求,并向规则服务接口发起服务请求以调用规则服务接口提供的规则服务。
91.规则服务接口的获取模块10相应获取业务系统发起的按上述输入参数接口规范封装的服务请求。
92.参见图4提供的规则服务接口的组成结构图,规则服务接口还包括编解码模块40,接口获取业务系统发起的服务请求后,进一步借助该模块对服务请求中的业务对象进行解码及反序列化处理。
93.规则引擎调用模块20,用于调用预先生成的规则引擎,并将服务请求中的规则标识和业务对象传递至规则引擎,以由规则引擎从规则服务接口整合的业务规则集中调用服务请求中的规则标识指示的目标业务规则,并基于接收的业务对象执行所述目标业务规则,得到对应的规则计算结果。
94.为降低对业务系统稳定性的影响,本技术引入了规则引擎技术,将现有业务规则从程序逻辑中独立出来,放入规则引擎中执行。同时利用提供的规则服务接口屏蔽规则引擎内部规则运算的复杂性,各场景下的业务系统不必关心与规则引擎之间的交互细节,只需按照规则服务接口的接口约定,传入自己的业务对象(java业务对象)进行规则计算,得到返回结果即可。
95.相应的,对于业务系统发起的服务请求,在借助编解码模块40完成对其所包含业务对象的解码及反序列化处理后,触发规则引擎调用模块20工作,规则引擎调用模块20调用规则引擎,并将服务请求中的规则标识和业务对象传递至规则引擎,通过规则引擎从业务规则集中查找所需的业务规则,并传入业务对象进行规则计算。
96.可选的,如果调用方业务系统传递了多组业务对象,接口可采用for循环的方式去调用规则引擎。对于调用方来说,即便需要基于多组业务对象多次调用业务规则进行业务计算,也仅需与规则服务接口交互一次,直接通过接口所提供的输入参数接口规范中业务对象的数据结构设计(即list《hashmap《string,object》》)一次性传入多组业务对象,即可实现在接口内部对业务规则的多次调用,其中,对业务规则的多次调用,可以是对同一业务规则的多次调用,也可以是对不同业务规则的多次调用,可视实际的业务需求而定。
97.响应模块30,用于获取所述规则计算结果,将所述规则计算结果返回至所述业务系统。
98.之后,响应模块30获取规则引擎返回的规则计算结果,借助编解码模块40对其进行序列化及编码处理,同时获取规则执行过程中的相关信息,并基于输出参数接口规范对编码后的计算结果进行封装,最终将封装后得到的响应结果返回至业务系统。
99.可选的,在一实施例中,规则服务接口还可以包括权限认证模块,用于根据业务系统发起的服务请求中的系统码、认证码和规则标识中的至少部分信息,确定业务系统是否具备调用所述目标业务规则的权限。
100.具体的,该模块具体可在规则服务接口调用规则引擎之前,验证服务请求中的认证码与系统码是否匹配;若不匹配,则确定业务系统不具备调用目标业务规则的权限,拒绝为调用方业务系统提供服务;若匹配,进一步验证服务请求中的规则标识与系统码是否匹配,若规则标识与系统码匹配,确定业务系统具备调用目标业务规则的权限,若规则标识与系统码不匹配,则不具备,相应拒绝为调用方业务系统提供服务。
101.可选的,在一实施例中,规则服务接口还可以包括监测与控制模块,用于统计当前的服务请求对应所需的与规则服务接口的交易量,根据统计的交易量对调用方业务系统进行限流控制。
102.其中,服务请求中的业务对象为一组或多组,每组业务对象均需对应调用一次业务规则实现对该组业务对象进行规则计算,相应的,每组业务对象产生与规则服务接口的一次交易。
103.监测与控制模块具体可以在调用方业务系统通过权限认证模块的认证后,统计调用方业务系统的当前服务请求所需的与规则服务接口的交易量(交易次数),如果交易量过高,超出设定阈值,对调用方业务系统进行限流,拒绝提供服务,以避免调用方一次性传递过多的业务对象组,减少接口运维成本。
104.基于上述的规则服务接口,如图5示出的业务处理方法流程图,本技术实施例公开的业务处理方法具体可实现为:
105.步骤501、预先生成的规则服务接口获取业务系统发起的服务请求;所述服务请求至少包括待调用规则的规则标识及待调用规则实现业务处理所需的业务对象。
106.规则服务接口具体可获取业务系统发送的按上述输入参数接口规范封装的服务请求。
107.步骤502、规则服务接口调用预先生成的规则引擎,将所述规则标识和所述业务对象传递至所述规则引擎,以由所述规则引擎从所述规则服务接口整合的适用于多种场景下不同业务系统的业务规则集中调用所述规则标识指示的目标业务规则,并基于所述业务对象执行所述目标业务规则。
108.其中,在规则服务接口调用规则引擎之前,首先对服务请求中的业务对象依次进行解码及反序列化处理。
109.步骤503、规则服务接口获取所述规则引擎返回的规则计算结果,并将所述规则计算结果反馈至所述业务系统。
110.其中,在规则服务接口将规则计算结果反馈至业务系统之前,先基于编解码模块对规则引擎返回的原始规则计算结果依次进行序列化和编码处理。同时获取规则执行过程中的相关信息,基于输出参数接口规范对编码后的计算结果进行封装,之后,将封装后得到的响应结果返回至业务系统。
111.根据以上方案可知,本实施例预先构建了通用的规则服务接口,在构建的通用规则服务接口进行不同业务规则的整合,形成能通用于不同场景下不同业务系统的业务规则集,并为规则服务接口搭配用于实现业务规则程序逻辑执行的规则引擎,在此基础上,基于规则服务接口和规则引擎为不同场景下不同业务系统提供统一、通用的多种规则服务能力,使得不同场景下不同业务系统不必关心规则运算的复杂性以及与业务规则间信息传递、交互细节的复杂性,直接通过调用规则服务接口即可实现所需的基于规则的业务处理,提升了业务系统稳定性及基于规则的业务处理效率。
112.可选的,在一实施例中,参见图6示出的业务处理方法流程图,本技术公开的业务处理方法在规则服务接口调用规则引擎之前,还包括:
113.步骤504、规则服务接口根据业务系统发起的服务请求中的系统码、认证码和规则标识中的至少部分信息,确定业务系统是否具备调用目标业务规则的权限。
114.其中,规则服务接口具体可通过其权限认证模块验证服务请求中的认证码与系统码是否匹配;若不匹配,则确定业务系统不具备调用目标业务规则的权限,拒绝为调用方业务系统提供服务;若匹配,进一步验证服务请求中的规则标识与系统码是否匹配,若规则标识与系统码匹配,确定业务系统具备调用目标业务规则的权限,若规则标识与系统码不匹配,则不具备,相应拒绝为调用方业务系统提供服务。
115.可选的,在一实施例中,参见图7示出的业务处理方法流程图,本技术公开业务处理方法还可以包括:
116.步骤505、统计服务请求对应所需的与规则服务接口的交易量,根据所述交易量对所述业务系统进行限流控制。
117.其中,服务请求中的业务对象为一组或多组,每组业务对象均需对应调用一次业务规则实现对该组业务对象进行规则计算,相应的,每组业务对象产生与规则服务接口的一次交易。
118.规则服务接口具体可以在调用方业务系统通过权限认证模块的认证后,利用其监测与控制模块,统计当前调用方业务系统与规则服务接口的交易量,如果交易量过高,超出设定阈值,对当前的调用方业务系统进行限流,拒绝提供服务,以避免调用方一次性传递过多的业务对象组,减少接口运维成本。
119.以下进一步提供本技术方案的一应用示例。图8提供了该示例中基于规则服务接口为各场景业务系统提供规则计算服务的交互示意图,该示例的具体交互流程如下:
120.31)业务系统调用规则计算接口时,上送分配的系统码、认证码、规则集id及java输入对象,并将java输入对象进行序列化和base64编码,然后通过webservice调用,将信息传递至作为服务方的规则服务接口;
121.32)服务方接受信息后,先校验系统码、认证码、规则集id是否合法,如果不合法直接拒绝,如果合法则统计交易量;
122.33)交易量统计完成且确认未超限后,将输入对象进行base64解码及反序列化,得到java业务对象,然后调用规则引擎进行规则计算;
123.其中,如果调用方传递了多组输入对象,接口将采用for循环的方式去调用规则引擎。
124.34)接口得到规则引擎返回结果后,组装返回对象,并对返回对象进行序列化和
base64编码;
125.35)调用方获取接口返回结果后,进行base64解码和反序列化,得到具有明确业务含义的输出结果对象,然后根据输出结果进行下一步的处理。
126.需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
127.为了描述的方便,描述以上系统或装置时以功能分为各种模块或单元分别描述。当然,在实施本技术时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
128.通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例或者实施例的某些部分所述的方法。
129.最后,还需要说明的是,在本文中,诸如第一、第二、第三和第四等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
130.以上所述仅是本技术的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本技术原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本技术的保护范围。

技术特征:
1.一种业务处理方法,其特征在于,包括:预先生成的规则服务接口获取业务系统发起的服务请求;所述服务请求至少包括待调用规则的规则标识及待调用规则实现业务处理所需的业务对象;所述规则服务接口调用预先生成的规则引擎,将所述规则标识和所述业务对象传递至所述规则引擎,以由所述规则引擎从所述规则服务接口整合的适用于多种场景下不同业务系统的业务规则集中调用所述规则标识指示的目标业务规则,并基于所述业务对象执行所述目标业务规则;所述规则服务接口获取所述规则引擎返回的规则计算结果,并将所述规则计算结果反馈至所述业务系统。2.根据权利要求1所述的方法,其特征在于,所述规则服务接口获取业务系统发送的服务请求,包括:所述规则服务接口获取业务系统发送的按预设输入参数接口规范封装的服务请求;所述规则服务接口将所述规则计算结果返回至所述业务系统,包括:所述规则服务接口基于预设输出参数接口规范封装所述规则计算结果,并将封装后得到的响应结果返回至所述业务系统。3.根据权利要求2所述的方法,其特征在于,所述预设输入参数接口规范包括对输入参数类型和输入参数格式的规范要求,所述预设输出参数接口规范包括对输出参数类型和输出参数格式的规范要求;其中,所述输入参数类型包括如下类型中的至少部分:业务系统对应的系统码、认证码、待调用规则的规则标识、待调用规则实现业务处理所需输入的业务对象;所述输出参数类型包括如下类型中的至少部分:规则计算结果、用于表示服务调用成功与否的返回码、规则执行情况信息。4.根据权利要求3所述的方法,其特征在于,在所述规则服务接口调用规则引擎之前,还包括:所述规则服务接口根据所述服务请求中的系统码、认证码和规则标识中的至少部分信息,确定所述业务系统是否具备调用所述目标业务规则的权限。5.根据权利要求4所述的方法,其特征在于,所述规则服务接口根据所述服务请求中的系统码、认证码和规则标识中的至少部分信息,确定所述业务系统是否具备调用所述目标业务规则的权限,包括:所述规则服务接口验证所述服务请求中的认证码与系统码是否匹配;若所述认证码与所述系统码匹配,验证所述服务请求中的规则标识与系统码是否匹配,若所述规则标识与所述系统码匹配,确定所述业务系统具备调用所述目标业务规则的权限;若所述认证码与所述系统码不匹配或所述规则标识与所述系统码不匹配,确定业务系统不具备调用所述目标业务规则的权限。6.根据权利要求3所述的方法,其特征在于,所述服务请求中封装的业务对象为:按所述预设输入参数接口规范的要求对相应对象内容依次进行序列化和编码处理所得的编码结果;所述响应结果中封装的规则计算结果为:按所述输出参数接口规范的要求对所述规则引擎返回的原始规则计算结果依次进行序列化和编码处理所得的编码结果;
在所述规则服务接口调用预先生成的规则引擎之前,所述方法还包括:所述规则服务接口对所述服务请求中的业务对象依次进行解码及反序列化处理;在所述规则服务接口将所述规则计算结果反馈至所述业务系统之前,所述方法还包括:所述规则服务接口对所述规则引擎返回的原始规则计算结果依次进行序列化和编码处理。7.根据权利要求2所述的方法,其特征在于,所述服务请求中的业务对象为一组或多组,每组业务对象对应与所述规则服务接口的一次交易;所述方法还包括:统计所述服务请求对应所需的与所述规则服务接口的交易量;根据所述交易量对所述业务系统进行限流控制。8.一种规则服务接口,其特征在于,包括:获取模块,用于获取业务系统发起的服务请求;所述服务请求至少包括待调用规则的规则标识及待调用规则实现业务处理所需的业务对象;规则引擎调用模块,用于调用预先生成的规则引擎,将所述规则标识和所述业务对象传递至所述规则引擎,以由所述规则引擎从所述规则服务接口整合的适用于多种场景下不同业务系统的业务规则集中调用所述规则标识指示的目标业务规则,并基于所述业务对象执行所述目标业务规则;响应模块,用于获取所述规则引擎返回的规则计算结果,并将所述规则计算结果反馈至所述业务系统。9.根据权利要求8所述的接口,其特征在于,还包括:权限认证模块,用于根据所述服务请求中的系统码、认证码和规则标识中的至少部分信息,确定所述业务系统是否具备调用所述目标业务规则的权限。10.根据权利要求8所述的接口,其特征在于,所述服务请求中的业务对象为一组或多组,每组业务对象对应与所述规则服务接口的一次交易;所述接口还包括:监测与控制模块,用于统计所述服务请求对应所需的与所述规则服务接口的交易量,根据所述交易量对所述业务系统进行限流控制。

技术总结
本申请公开一种业务处理方法及规则服务接口,本申请预先构建了通用的规则服务接口,在构建的通用规则服务接口进行不同业务规则的整合,形成能通用于不同场景下不同业务系统的业务规则集,并为规则服务接口搭配用于实现业务规则程序逻辑执行的规则引擎,在此基础上,基于规则服务接口和规则引擎为不同场景下不同业务系统提供统一、通用的多种规则服务能力,使得不同场景下不同业务系统不必关心规则运算的复杂性以及与业务规则间信息传递、交互细节的复杂性,直接通过调用规则服务接口即可实现所需的基于规则的业务处理,提升了业务系统稳定性及基于规则的业务处理效率。统稳定性及基于规则的业务处理效率。统稳定性及基于规则的业务处理效率。


技术研发人员:左猛 冯建朋 刘煜东 王新宝
受保护的技术使用者:中国农业银行股份有限公司
技术研发日:2022.06.22
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-9037.html

最新回复(0)