一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

业务规则更新方法及相关装置与流程

2022-06-11 17:58:18 来源:中国专利 TAG:


1.本技术实施例涉及数据处理领域,具体涉及业务规则更新方法及相关装置。


背景技术:

2.在复杂业务系统中,系统架构几乎不会调整。但是业务系统的规则经常需要根据业务需求进行变更。drools规则引擎就是一种嵌套在应用程序中的规则引擎,它实现了将业务规则从应用程序代码中分离出来,使复杂的业务规则实现变得简单。该规则引擎常常用在金融行业的复杂业务场景中。
3.但是drools规则引擎基于文件的形式存储规则内容,将规则内容嵌套在了业务项目中,更改规则内容时需要对整个业务项目的程序进行更改。并且drools规则引擎采用的drl语言与常见的计算机语言语法不同,理解比较困难。普通业务人员难以掌握规则内容的编辑方法,更无法自行根据业务需求创建对应的规则内容。


技术实现要素:

4.为了解决上述问题,本技术提供了本技术实施例第一方面提供了一种业务规则更新方法,应用于drools开发平台,所述方法包括:
5.接收用户的选择指令,所述选择指令用于从多个预设的drools规则模板中选择目标规则模板;
6.展示目标规则模板,所述目标规则模板包括特征项、运算符和阈值项构成的条件表达式;
7.接收用户输入的填充数据,所述填充数据包括所述目标规则模板的阈值项数值;
8.根据所述填充数据和所述目标规则模板生成目标规则文件,并存储至数据库中;
9.更新所述目标规则文件至业务平台,以使得所述业务平台加载所述目标规则文件至目标业务实例。
10.可选地,所述更新所述目标规则文件至业务平台,包括:
11.向业务平台发送版本更新通知;
12.接收所述业务平台的调用请求;
13.通过预设的api接口发送所述目标规则文件至业务平台,以使得所述业务平台加载所述目标规则文件至目标业务实例。
14.可选地,所述方法还包括:
15.定时向所述业务平台发送心跳验证;
16.检测是否在预设时间内收到所述心跳验证的响应;
17.若未收到,确认所述目标业务实例已关闭。
18.可选地,在所述确认所述目标业务实例已关闭之后,所述方法还包括:
19.向业务监管人员发送异常报告。
20.本技术实施例第二方面提供了一种业务规则更新方法,应用于业务平台,所述方
法包括:
21.接收drools开发平台发送的版本更新通知,所述更新通知用于告知所述drools开发平台对目标业务实例的规则文件进行更新;
22.向所述drools开发平台发送目标规则文件的调用请求;
23.根据所述版本更新通知,从所述drools开发平台预设的api接口下载所述目标规则文件;
24.加载所述目标规则文件至目标业务实例。
25.可选地,所述方法还包括:
26.检测所述目标规则文件是否成功加载至目标业务实例;
27.若成功,发送第一响应信息至所述drools开发平台;
28.若未成功,发送第二响应信息至所述drools开发平台。
29.可选地,所述方法还包括:
30.接收所述drools开发平台发送的心跳验证;
31.若所述目标业务实例在运行,则发送心跳验证的响应至所述drools开发平台。
32.本技术第三方面提供一种drools开发平台,包括:
33.第一接收模块,用于接收用户的选择指令,所述选择指令用于从多个预设的drools规则模板中选择目标规则模板;
34.展示模块,用于展示目标规则模板,所述目标规则模板包括特征项、运算符和阈值项构成的条件表达式;
35.第二接收模块,用于接收用户输入的填充数据,所述填充数据包括所述目标规则模板的阈值项数值;
36.生成模块,用于根据所述填充数据和所述目标规则模板生成目标规则文件,并存储至数据库中;
37.更新模块,用于更新所述目标规则文件至业务平台,以使得所述业务平台加载所述目标规则文件至目标业务实例。
38.本技术第四方面提供一种业务平台,包括:
39.接收模块,用于接收drools开发平台发送的版本更新通知,所述更新通知用于告知所述drools开发平台对目标业务实例的规则文件进行更新;
40.发送模块,用于向所述drools开发平台发送目标规则文件的调用请求;
41.下载模块,根据所述版本更新通知,从所述drools开发平台预设的api接口下载所述目标规则文件;
42.加载模块,用于加载所述目标规则文件至目标业务实例。
43.本技术第五方面提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面中任意一项所述的业务规则更新方法的步骤。
44.从以上技术方案可以看出,本技术实施例具有以下优点:本技术提供的业务规则更新方法在drools开发平台上预设了模板,业务人员只要在预设模板中输入简单的逻辑规则,就能生成业务需要的规则版本供业务运行使用,大大降低了业务规则的开发难度。
附图说明
45.图1为本技术业务规则更新方法的一个实施例示意图;
46.图2为本技术业务规则更新方法的一个实施例示意图;
47.图3为本技术业务规则更新方法的一个实施例示意图;
48.图4为本技术业务规则更新方法的一个实施例示意图;
49.图5为本技术drools开发平台的一个实施例示意图;
50.图6为本技术业务平台的一个实施例示意图。
具体实施方式
51.drools规则引擎是一种嵌套在应用程序中的规则引擎,它实现了将业务规则从应用程序代码中分离出来,使复杂的业务规则实现变得简单。但是,drools规则引擎基于文件的形式存储规则内容,嵌套在项目中,难以更改维护,而且由于drools规则引擎的drl语法区别于常用的计算机开发语言,使得开发人员也需要花费一定的时间成本去掌握语法,对于业务人员来说,更是难以理解规则内容、无法自己创建和调整业务所需要的规则内容,增加了业务人员与开发人员的沟通成本。
52.根据上述drools存在的一些不足,本发明是对drools规则引擎二次开发的规则平台,在分布式系统开发中,将规则从项目中解耦出来,作为一个单独的规则服务,将规则内容存储在关系型数据库中。支持规则文件的直接导入,开发人员也可以在平台中预置规则模板,使得业务人员可以直接在web端的ui界面中根据模板,添加模板条件参数,从而创建规则并运行于项目中。同时,平台支持规则维护的版本记录,存储相同项目的多版本的文件,以及规则运行状态监控、下线邮件通知功能。
53.请参阅图1,本技术实施例首先提供了一种业务规则更新方法,应用于drools开发平台,所述方法包括:
54.101、接收用户的选择指令,所述选择指令用于从多个预设的drools规则模板中选择目标规则模板;
55.当业务人员需要为目标业务创建新的drools规则时,在drools开发平台上发出选择指令,从多个已有的规则模板中选择与目标业务匹配的目标规则模板。具体可以是drools开发平台将多个预设的规则模板显示给用户,同时显示每个规则模板需要填写的条件参数,业务人员可以大致浏览这些规则模板,选择适合目标业务的规则模板。这些预设的规则模板也可以按照对应的业务进行分类,每个业务预设对应的规则模板,供业务人员选择。
56.102、展示目标规则模板,所述目标规则模板包括特征项、运算符和阈值项构成的条件表达式;
57.在界面中向业务人员展示所选中的目标规则模板,显示构成该目标规则模板的条件表达式,该表达式主要由特征项、运算符和阈值项构成。通过该表达式,可以将业务的逻辑抽象为通用的规则模板进行描述。
58.103、接收用户输入的填充数据,所述填充数据包括所述目标规则模板的阈值项数值;
59.业务人员在界面中查看目标规则模板,并对目标规则模板的条件表达式进行补
全。一般来说,模板规则模板的特征项、运算符和阈值项都已经定义好了了,业务人员需要做的是根据业务需求,填写具体的阈值项。
60.104、根据所述填充数据和所述目标规则模板生成目标规则文件,并存储至数据库中;
61.业务平台将业务人员输入的填充数据与目标规则模板保存,生成新的规则文件保存在drools开发平台中。本发明的规则平台提供了规则文件的版本记录支持,当生产环境规则出现问题时,不仅可以及时在线上修改发布新的规则文件,同时也能恢复运行历史的稳定版本,快速应对突发的问题。
62.105、更新所述目标规则文件至业务平台,以使得所述业务平台加载所述目标规则文件至目标业务实例。
63.drools开发平台将新生成的规则文件作为目标规则文件,供业务平台使用,业务平台会将目标规则文件加载到对应的目标业务实例中,替换旧的规则版本来运行目标业务实例。
64.可以看到,本技术的规则文件创建过程中,业务人员不需要了解具体的drl编程语言,只需要在预设的规则模板中补全抽象的条件表达式即可,规则模板可以由专门的编程人员预先编辑好,保存在drools开发平台中供业务人员选取和重复使用。
65.在另一实施例中,还具体展示了业务平台为目标业务实例加载目标规则文件的流程,请参阅图2,该实施例包括:
66.201、drools开发平台接收用户的选择指令,所述选择指令用于从多个预设的drools规则模板中选择目标规则模板;
67.202、drools开发平台展示目标规则模板,所述目标规则模板包括特征项、运算符和阈值项构成的条件表达式;
68.203、drools开发平台接收用户输入的填充数据,所述填充数据包括所述目标规则模板的阈值项数值;
69.204、drools开发平台根据所述填充数据和所述目标规则模板生成目标规则文件,并存储至数据库中;
70.步骤201至204与图1所示实施例的步骤201至204类似,具体此处不再赘述。
71.205、drools开发平台向业务平台发送版本更新通知;
72.drools开发平台在确认目标规则文件生成并加入数据库后,向业务平台发送版本更新通知,告知业务平台需要对目标业务实例的规则版本进行更新。
73.206、业务平台向drools开发平台发送调用请求;
74.业务平台根据版本更新通知,向drools开发平台发送调用请求,以获取drools开发平台的数据库最新版本的规则文件,也就是新生成的目标规则文件。
75.207、drools开发平台通过预设的api接口发送所述目标规则文件至业务平台,以使得所述业务平台加载所述目标规则文件至目标业务实例。
76.业务平台从预设的api接口drools开发平台调用目标规则文件,以便对目标业务实例的规则版本进行更新。
77.208、业务平台加载所述目标规则文件至目标业务实例。
78.业务平台上加载目标规则文件到目标业务实例,并在业务平台上提供目标业务实
例的服务。
79.可以理解的是,上述实施例仅仅列举了目标规则文件更新至业务平台的一种较佳的实施方式,本领域技术人员还可以按照其他的方法和流程顺序,将目标规则文件更新到业务平台中,能保证业务平台的目标业务实例正常运行即可。
80.基于图2所示的实施例,在又一实施例中,本技术还在业务平台中添加了目标规则文件的加载检测功能,以便确认目标规则文件是否成功加载。具体请参见图3,该实施例包括:
81.301、drools开发平台接收用户的选择指令,所述选择指令用于从多个预设的drools规则模板中选择目标规则模板;
82.302、drools开发平台展示目标规则模板,所述目标规则模板包括特征项、运算符和阈值项构成的条件表达式;
83.303、drools开发平台接收用户输入的填充数据,所述填充数据包括所述目标规则模板的阈值项数值;
84.304、drools开发平台根据所述填充数据和所述目标规则模板生成目标规则文件,并存储至数据库中;
85.305、drools开发平台更新所述目标规则文件至业务平台,以使得所述业务平台加载所述目标规则文件至目标业务实例;
86.步骤301至305与图1所示实施例的步骤101至105类似,具体此处不再赘述。
87.306、业务平台加载所述目标规则文件至目标业务实例
88.业务平台上加载目标规则文件到目标业务实例,并在业务平台上提供目标业务实例的服务。
89.307、业务平台检测所述目标规则文件是否成功加载至目标业务实例;若为是,执行步骤308;若为否,执行步骤309;
90.业务平台检测在使用了新版本的目标规则文件后,目标业务实例是否能够运行。如果能够正常运行,则执行步骤308,反之则执行步骤309。具体可以是通过检测目标业务实例的程序是否存在响应、目标业务实例是否使用了新版本的规则文件等方法,对目标业务实例的运行状态进行验证。
91.308、发送第一响应信息至所述drools开发平台;
92.如果目标规则文件成功加载至目标业务实例,就会向drools开发平台发送第一响应信息,以便drools开发平台知晓新的规则版本成功运行。
93.309、发送第二响应信息至所述drools开发平台。
94.如果目标规则文件未能成功加载至目标业务实例,就会向drools开发平台发送第二响应信息,告知业务监管人员目标业务实例已经关闭。drools开发平台可以尝试重新生成目标规则文件,或者使用旧版本的规则文件继续运行目标业务实例,并组织人员对新版本的规则文件进行修复,避免目标业务实例停止运行。
95.作为对图1至图3任一实施例的改进,本技术还为drools开发平台和业务平台增加了心跳检测功能。具体请参见图4,在更新所述目标规则文件至业务平台之后,本方法还包括:
96.401、drools开发平台定时向所述业务平台发送心跳验证;
97.考虑到目标业务实例长期运行的稳定性,drools开发平台在发布了新版本的规则文件后,还可以定时向业务平台发送心跳验证,确定目标业务实例是否正常运行。
98.402、若所述目标业务实例在运行,业务平台发送心跳验证的响应至所述drools开发平台;
99.业务平台接收到心跳验证后,如果目标业务实例正常运行,则会立即回复drools开发平台的心跳验证。如果目标业务实例没有正常运行(例如目标业务实例上线后,在处理某项业务时因目标规则文件与目标业务实例不兼容而崩溃),则drools开发平台不回复心跳验证。
100.403、drools开发平台检测是否在预设时间内收到所述心跳验证的响应;若未收到,确认所述目标业务实例已关闭。
101.drools开发平台检测是否在预设时间内收到所述心跳验证的响应。如果收到了,则证明目标业务实例仍在正常运行。如果未收到,则需要对目标业务实例进行相应的处理,例如通过微信、钉钉或邮件向业务监管人员发送异常报告、自动回滚旧版本规则文件或采取其他措施。
102.在增加了心跳响应机制后,可以对目标业务实例进行长期的跟踪监管,更好地对目标业务实例进行维护,保障目标业务实例的长期正常运行。结合图3中业务平台自身的检测机制,可以保证目标业务实例在任何时间出现问题时,业务监管人员都能及时发现问题并进行处理。
103.请参阅图5,本技术实施例还提供了一种drools开发平台,该平台包括:
104.第一接收模块501,用于接收用户的选择指令,所述选择指令用于从多个预设的drools规则模板中选择目标规则模板;
105.展示模块502,用于展示目标规则模板,所述目标规则模板包括特征项、运算符和阈值项构成的条件表达式;
106.第二接收模块503,用于接收用户输入的填充数据,所述填充数据包括所述目标规则模板的阈值项数值;
107.生成模块504,用于根据所述填充数据和所述目标规则模板生成目标规则文件,并存储至数据库中;
108.更新模块505,用于更新所述目标规则文件至业务平台,以使得所述业务平台加载所述目标规则文件至目标业务实例。
109.drools开发平台的各单元模块还可以完成图1至图4所示实施例中drools开发平台所执行的方法,具体请参阅前述实施例,此处不再赘述。
110.请参阅图6,本技术实施例还提供了一种业务平台,该平台包括:
111.接收模块601,用于接收drools开发平台发送的版本更新通知,所述更新通知用于告知所述drools开发平台对目标业务实例的规则文件进行更新;
112.发送模块602,用于向所述drools开发平台发送目标规则文件的调用请求;
113.下载模块603,根据所述版本更新通知,从所述drools开发平台预设的api接口下载所述目标规则文件;
114.加载模块604,用于加载所述目标规则文件至目标业务实例。
115.drools开发平台的各单元模块还可以完成图1至图4所示实施例中业务平台所执
行的方法,具体请参阅前述实施例,此处不再赘述。
116.本技术实施例还出示一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现图1至图4任意实施例中drools开发平台或业务平台所执行的步骤,具体请参阅前述实施例。
117.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
118.在本技术所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
119.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
120.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
121.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献