一种业务规则动态配置管理方法和系统与流程

文档序号:28376873发布日期:2022-01-07 22:08阅读:455来源:国知局
一种业务规则动态配置管理方法和系统与流程

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.预先设置第二次数阈值,检测业务逻辑规则的可使用数量、剔除操作次数和加入操作次数,当所述可使用数量为1,且发生剔除操作和加入操作的次数达到所述第二次数阈值时,触发告警。
26.本发明还提供一种业务规则动态配置管理系统,包括:
27.规则引擎,用于按不同的服务类别,配置对应的业务规则;
28.业务请求模块,用于获取业务请求信息;
29.决策模块,用于根据所述业务请求信息,在规则引擎中进行业务规则匹配,获取一个或多个业务逻辑规则,当获取多个业务逻辑规则时,对所述多个业务逻辑规则进行优先级排序,并选取最优的业务逻辑规则;
30.执行模块,用于通过所述最优的业务逻辑规则,调用相应的服务并执行
31.本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述中任一项所述方法。
32.本发明还提供一种电子终端,包括:处理器及存储器;
33.所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行如上述中任一项所述方法。
34.本发明中的业务规则动态配置管理方法和系统,通过规则引擎,将应用和其他依赖服务解耦,无需冗余复杂多变的业务逻辑,通过动态配置规则,适配不同需求,在对复杂多变的业务,客户需求发生变化时,只需要在规则引擎配置对应的业务规则即可,提高迭代效率,节约了维护成本。
附图说明
35.图1是本发明实施例中业务规则动态配置管理方法的流程示意图。
36.图2是本发明实施例中业务规则动态配置管理方法的实施例1的工作流程示意图。
37.图3是本发明实施例中业务规则动态配置管理方法的动态管理流程示意图。
38.图4是本发明实施例中业务规则动态配置管理系统的系统框架示意图。
具体实施方式
39.以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实
施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
40.需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
41.在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
42.如图1所示,本实施例中的业务规则动态配置管理方法,包括:
43.s101.通过规则引擎按不同的服务类别,配置对应的业务规则;
44.s102.获取业务请求信息,根据所述业务请求信息,在规则引擎中进行业务规则匹配,获取一个或多个业务逻辑规则,当获取多个业务逻辑规则时,对所述多个业务逻辑规则进行优先级排序,并选取最优的业务逻辑规则;
45.s103.通过所述最优的业务逻辑规则,调用相应的服务并执行。
46.在本实施例的步骤s101中,首先通过规则引擎按不同的服务类别,配置对应的业务规则。本实施例中的规则引擎提供可视化页面,支持动态的配置、扩展、删除业务规则等操作。也可以支持不同行业的规则配置,使用第三方规则引擎技术适应不同的行业要求。针对每个应用,按不同的服务类别,将复杂多变的业务逻辑配置在规则引擎,比如金融风控业务、安防门禁开门规则、银行金融渠道路由配置等。应用程序在执行时调用规则引擎,规则引擎可以根据业务信息自动触发业务规则,执行对应的业务逻辑,并返回执行结果。
47.在本实施例中,业务规则配置为通用的最小粒度,所述业务逻辑规则包括一个或多个业务规则;在规则引擎中进行业务规则匹配,获取一个或多个业务逻辑规则包括:将同一服务指向的多个业务规则组成或随机组合为一业务逻辑规则。对于业务规则,通过细化到通用的最小粒度,应用程序使用时可以做到随机组合成一个复杂的业务逻辑规则。例如门禁的开门规则,有二维码验证、身份证验证、人脸验证等,开门规则可以是单个,也可以是多个的组合。
48.在本实施例的步骤s102中,获取业务请求信息,根据业务请求信息,在规则引擎中进行业务规则匹配,获取一个或多个业务逻辑规则,当获取多个业务逻辑规则时,对多个业务逻辑规则进行优先级排序,并选取最优的业务逻辑规则。通过多维度参数对所述多个业务逻辑规则进行优先级排序,所述多维度包括响应时间、响应结果、消耗成本、执行稳定性,在本实施例中,针对多个业务逻辑规则,可以从流程历史执行的大数据中,通过执行响应时间、响应结果、消耗成本、系统稳定性等多维度进行分析统计,将多个业务规则按照优先级排序,使每次业务逻辑都使按照最优的规则去执行。
49.在本实施例的步骤s103中,通过最优的业务逻辑规则,调用相应的服务并执行。例如门禁支持多种方式通行,比如人脸、二维码、身份证、门禁卡、人脸+二维码、人脸+身份证等开门规则,为了实现多种规则的灵活配置、最优开门方式的选择、开门方式自动切换等功
能,可以根据最优的业务逻辑规则,触发开门逻辑,根据前端面板使用的开门方式,决策出最优比对规则,以最优的方式执行开门业务功能。
50.在本实施例中,根据预设的配置规则对业务规则进行动态管理,本实施例动态管理包括:将预先配置好的业务逻辑规则,作为可执行规则加入至可使用列表;对所有可执行规则进行一次校验,当一所述可执行规则不可用时,将其加入至剔除列表;对提出列表中的规则进行二次校验,若可用,则恢复至所述可使用列表,若不可用,则加入至淘汰列表,并触发告警。在进行二次校验时,预先设置第一次数阈值,当校验次数达到所述第一次数阈值,且依然不可用时,将其加入至淘汰列表。在可执行列表中对多个业务逻辑规则进行优先级排序;在执行服务调用时,选择优先级最高的业务逻辑规则;对可执行列表进行检测,获取每一类业务逻辑规则数量,如果没有可使用的业务逻辑规则,则触发告警。预先设置第二次数阈值,检测业务逻辑规则的可使用数量、剔除操作次数和加入操作次数,当可使用数量为1,且发生剔除操作和加入操作的次数达到第二次数阈值时,触发告警。
51.如图3所示,本实施例中的动态管理,主要操作包括:
52.剔除:后台模拟处理业务规则流程,在当前业务规则不可用时(可以通过设置重试次数、超时时间确认),将该规则暂时放到剔除列表,以备后续检测可重新加入到可执行规则列表。
53.加入:分为两种情况的加入
54.情况1.动态配置业务规则时直接加入。
55.情况2.将剔除列表中的业务规则重新模拟,每重新尝试加入一次,将对应的尝试次数加1。若业务流程处理成功,则将业务规则重新加入到可执行列表,并将重试次数归0,以便后续使用规则。
56.决策:针对可用列表中存在多个业务规则,系统从流程历史执行的大数据中,从执行响应时间、响应结果、消耗成本、系统稳定性等维度分析统计,将多个业务规则按照优先级排序,使每次业务逻辑都使按照最优的规则去执行。
57.切换:在执行业务规则的过程中,若出现业务规则不可用,那么会在已经按照优先级排好序的可执行列表中,选择一个最优的业务规则继续执行,并将不可用规则添加到剔除列表中,以保证整个业务流程高可用。
58.淘汰:针对在剔除列表中的业务规则,经过多次尝试加入,尝试次数达到设置的阈值后,依然在剔除列表中的业务规则,将其加入到淘汰列表中,并发送通知,人工介入处理。
59.预警/告警:在可用规则列表中,若某类可用规则只存在1个可用,并且频繁出现剔除和加入操作,触发后台告警系统,发出预警提示。当某类业务规则可用规则数为0时,触发后台告警系统,发出告警信息,人工即时介入,最大可能缩小业务不可用时间。人工介入后,对淘汰的规则处理后可手动加入可使用业务规则列表。
60.在本实施例中,可以动态配置需要使用的业务规则,并将其加入可使用列表中。自动通过模拟请求、心跳等方式检验业务规则是否可用,若不可用,将业务规则从可用列表中剔除并加入剔除列表。可以自动对剔除列表中规则再次检测是否可用,若恢复则加入到可使用列表,若重试次数达到第二次数阈值时,例如若重试3次还是未恢复,可以将其加入到淘汰列表,并发送告警信息,人工介入。
61.下面以两个具体实施例进行说明:
62.实施例1
63.如图2所示,是一种针对门禁开门利用规则引擎的实现,门禁支持多种方式通行,例如人脸、二维码、身份证、门禁卡、人脸+二维码、人脸+身份证等开门规则,为了实现多种规则的灵活配置、最优开门方式的选择、开门方式自动切换等功能。在本实施例中,首先进行门禁开门规则配置,包括新增、删除、修改规则,动态组合各种开门方式。然后进行开门规则决策推荐,通过模拟开门方式请求以及历史执行开门方式请求数据,从响应时间、响应结果、消耗成本、执行稳定性等几个维度分析统计,对每种开门方式进行优先级排序,将最优开门方式推荐到前端面板,提示使用最优开门方式进行认证通行。最后触发开门逻辑,根据前端面板使用的开门方式,决策出最优比对规则,以最优的方式执行开门业务功能。
64.实施例2
65.本实施例是一种针对银行渠道路由选择利用规则引擎的实现,在本实施例中,对于第三方支付机构的充、提、退、转等功能,都离不开和银行的对接,而且一个支付公司会对接多家银行,为了实现多渠道路由动态配置及渠道自动的调优、切换等功能,通过本实施例,首先进行路由的动态配置,包括新增渠道路由规则、修改渠道路由规则(如费率调整等)、删除等。然后,进行渠道路由决策,通过分析历史订单数据,系统自动根据费率、响应时间、成功率、掉单率等维度分析出最优渠道,分析维度可根据需要自定义。通过实现自动检测方案保证渠道的可用性,对于不可用渠道做到及时剔除、监控、预警、告警。最后进行业务执行,每笔业务执行时选择系统决策出的最优渠道路由,在执行过程中发现渠道路由不可用,做到及时切换,保证业务正常执行。
66.相应的,本发明还提供一种业务规则动态配置管理系统,包括:
67.规则引擎,用于按不同的服务类别,配置对应的业务规则;
68.业务请求模块,用于获取业务请求信息;
69.决策模块,用于根据所述业务请求信息,在规则引擎中进行业务规则匹配,获取一个或多个业务逻辑规则,当获取多个业务逻辑规则时,对所述多个业务逻辑规则进行优先级排序,并选取最优的业务逻辑规则;
70.执行模块,用于通过所述最优的业务逻辑规则,调用相应的服务并执行。
71.如图4所示,本实施例中的业务规则动态配置管理,可以通过上述业务规则动态配置管理方法,执行相应的操作,完成动态配置管理。传统的开发模式下,一旦用户需求发生变化,就需要经过开发、测试、部署等一系列流程才能满足需求,通过本实施例中的业务规则动态配置管理,只要业务逻辑不发生根本性变化,应用程序无需开发流程,直接在规则引擎配置即可,解决了维护成本高,迭代困难等程序开发痛点。特别针对安防行业,行业属性强,很多情况下同一应用业务逻辑变动不大,可能只是在页面展示,业务规则组合的不同,通过本实施例中的动态配置管理系统,可以做到同一应用多处部署,能保证规则最优、高可用、发现问题,并可以及时预警、告警,提升系统的效率和健壮性。
72.本实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本实施例中的任一项方法。
73.本实施例还提供一种电子终端,包括:处理器及存储器;
74.所述存储器用于存储计算机程序,所述处理器用于执行所述存储器存储的计算机程序,以使所述终端执行本实施例中任一项方法。
75.本实施例中的计算机可读存储介质,本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过计算机程序相关的硬件来完成。前述的计算机程序可以存储于一计算机可读存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。
76.本实施例提供的电子终端,包括处理器、存储器、收发器和通信接口,存储器和通信接口与处理器和收发器连接并完成相互间的通信,存储器用于存储计算机程序,通信接口用于进行通信,处理器和收发器用于运行计算机程序,使电子终端执行如上方法的各个步骤。
77.在本实施例中,存储器可能包含随机存取存储器(random access memory,简称ram),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
78.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
79.在上述实施例中,除非另外规定,否则通过使用“第一”、“第二”等序号对共同的对象进行描述,只表示其指代相同对象的不同实例,而非是采用表示被描述的对象必须采用给定的顺序,无论是时间地、空间地、排序地或任何其他方式。在上述实施例中,说明书对“本实施例”、“一实施例”、“另一实施例”、或“其他实施例”的提及表示结合实施例说明的特定特征、结构或特性包括在至少一些实施例中,但不必是全部实施例。“本实施例”、“一实施例”、“另一实施例”的多次出现不一定全部都指代相同的实施例。
80.在上述实施例中,尽管已经结合了本发明的具体实施例对本发明进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变形对本领域普通技术人员来说将是显而易见的。例如,其他存储结构(例如,动态ram(dram))可以使用所讨论的实施例。本发明的实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。
81.本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络pc、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
82.本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
83.上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1