CN114493493A - 决策引擎及决策引擎实现方法 - Google Patents
决策引擎及决策引擎实现方法 Download PDFInfo
- Publication number
- CN114493493A CN114493493A CN202111620455.XA CN202111620455A CN114493493A CN 114493493 A CN114493493 A CN 114493493A CN 202111620455 A CN202111620455 A CN 202111620455A CN 114493493 A CN114493493 A CN 114493493A
- Authority
- CN
- China
- Prior art keywords
- decision
- strategy
- decision engine
- strategies
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
Abstract
本发明公开了一种决策引擎及决策引擎实现方法,该方法包括:通过预定义语义模块编写业务决策,配置决策策略至决策引擎系统;在配置完成决策策略后,将决策策略部署至工作内存中;业务方调用决策引擎,传递待检验数据,将待检验数据输入到工作内存中,调用所对应的决策策略;将事实数据与决策策略进行匹配,判断是否满足预设触发条件,判断相应的决策结果,进行模式匹配;重复执行步骤S103至步骤S105,直到议程中的策略全部执行完成。本发明通过可配置化的决策引擎,将复杂且多变的业务策略从硬编码中解放出来,可增加业务处理的透明度;降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,适用于企业级敏捷性开发领域场景。
Description
技术领域
本发明内容涉及决策引擎技术领域,尤其涉及一种决策引擎及决策引擎实现方法。
背景技术
决策引擎是指企业针对其客户提供个性化服务的决策平台,这些个性化服务包括:风险决策、精准营销决策等,在决策引擎之上可以开发出各种不同的解决方案。
目前常见的决策引擎有Ilog JRules和Drool。Drools是最活跃的开源决策引擎,可以将复杂多变的策略从硬编码中解放出来,以策略脚本的形式存放于文件中,使得策略的变更不需要修正代码重启机器就可以立即在线上环境生效。
目前行业内以金融类项目为例,用户审核风控、融资放款审核、业务审核等也成为常用且经常变化的业务。这类经常变更的业务让公司运营和程序员都非常头痛。
但是,目前的决策引擎需要用户耗费大量的学习成本来学习决策引擎对应的脚本知识,对于使用者的要求较高,配置过程较为繁琐。按照产品开发的传统逻辑思维,基本写法就是添加If判断,但是依照这类传统的思维方式考虑问题会出现以下弊端:增加开发人员与测试人员的工作量;部门间需要更加频繁地进行业务沟通,时间成本增加,也不能快速提取策略或修改策略,维护困难。如何解决这些弊端成为技术部门的重要任务之一。
发明内容
本发明内容所要解决的技术问题是针对背景技术中所涉及到的缺陷,提供一种决策引擎及决策引擎实现方法,实现业务策略与系统代码分离,提高业务灵活性,增加了业务处理的透明度。
本发明内容的目的及解决的技术问题是采用以下技术方案来实现的:
一种决策引擎,包括:
决策门面管理模块,用于管理决策用户信息、用户授权信息及用户的角色、决策权限;
系统管理模块,用于配置系统函数及决策策略;
决策管理模块,用于管理不同的决策策略,负责链接事件和规则,通过不同模式对规则进行组合,动态配置决策策略,所述决策策略配置形式包括但不限于策略集、评分卡、决策表、决策树;
决策执行模块,用于当满足触发条件时,执行策略逻辑,启动决策对应的任务输出决策结果。
优选的,所述决策引擎还包括对触发事件管理模块,配置不同的事件以选择触发的时机,在事件下可以配置多个决策策略。
优选的,所述决策引擎还包括存储决策引擎运行过程中的日志和执行结果的日志模块。
本发明还提供一种决策引擎实现方法,包括以下步骤:
S101:通过预定义语义模块编写业务决策,配置决策策略至决策引擎系统;
S102:在配置完成决策策略后,将决策策略部署至工作内存中,同时将决策策略转换成为Drools可读的drl文件,部署至工作内存;
S103:业务方调用决策引擎,传递待检验数据,将所述待检验数据输入到工作内存中,调用所对应的决策策略;
S104:将事实数据与决策策略进行匹配,判断是否满足预设触发条件,判断相应的决策结果,进行模式匹配;
S105:当到达一个事实与策略相匹配的节点时,将数据添加到议程组件中;
当一个事实与多个策略相匹配,则认为这些策略是冲突的,使用冲突解决策略管理上述策略的执行顺序;
S106:重复执行所述步骤S103至步骤S105,直到所述议程中的策略全部执行完成。
优选的,步骤S103中,所述待检验数据属性与配置的策略入参一致。
优选的,所述方法中还包括决策引擎监听消息队列消息,业务方通过消息队列的方式发送异步消息到决策引擎平台启动业务方在决策引擎系统中已配置的事件。
优选的,所述方法提供内置的系统函数,或通过groovy来自定义函数,支持多层嵌套的函数,所述系统函数可以在字段和策略中使用。
优选的,所述步骤S103中,业务方调用决策引擎后,判断产品是否存在且状态是否正确;
判断事件是否存在,且状态是否正确;
判断是否存在决策策略,且决策策略是否正确;
上述条件存在且状态正确,继续执行。
优选的,所述方法中,判断决策结果后继续执行循环决策列表并更新执行后状态,判断决策结果后返回最终决策结果。
本发明通过可配置化的决策引擎,业务决策从程序代码中分离出来,将复杂且多变的业务策略从硬编码中解放出来,以实现不需要修正项目代码以及重启服务器就可以在线上环境生效,可以随时对公司业务进行修改,增加业务处理的透明度,实现管理业务策略;可以显著降低业务逻辑实现的难度,降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,适用于企业级敏捷性开发领域场景。
附图说明
图1是本发明提供的决策引擎实现方法的流程示意图。
具体实施方式
下面结合附图对本发明内容的技术方案做进一步的详细说明。显然,所描述的实施例仅仅是本发明内容一部分实施例,而不是全部的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明内容保护的范围。
应当理解,尽管这里可以使用术语第一、第二、第三等描述各个元件、组件和/或部分,但这些元件、组件和/或部分不受这些术语限制。
现有技术中,大多是将规则引擎嵌入到应用程序中,使得每次对策略的更新、修改都需要对应用程序的代码进行修改,不便于快速维护更新;且在需要获取产品的策略时,也不便于策略的提取。而本申请实施例中将规则引擎作为平台,通过组件方式运行应用程序,即,将策略从应用程序中分离出来,更便于策略的更新、修改,也便于获取产品的全部策略。
如图1所示,本发明提供了一种决策引擎及决策引擎实现方法,
一种决策引擎,包括:
决策门面管理模块,用于管理决策用户信息、用户授权信息及用户的角色、决策权限;
系统管理模块,用于配置系统函数及决策策略;
决策管理模块,用于管理不同的决策策略,负责链接事件和规则,通过不同模式对规则进行组合,动态配置决策策略,所述决策策略配置形式包括但不限于策略集、评分卡、决策表、决策树;
决策执行模块,用于当满足触发条件时,执行策略逻辑,启动决策对应的任务输出决策结果。
决策引擎系统还包括有用户服务器与决策引擎服务器,用户服务器与决策引擎服务器相连,决策引擎服务器可以采用服务器租用方式来向多个用户提供服务器租用业务,用户服务器调用决策引擎服务器的程序接口来实现决策引擎服务。
其中,所述决策门面管理模块包括用户标识,用户决策引擎服务器对外提供用户标识来作为身份ID来表示不同用户。
本实施例中,所述决策引擎还包括对触发事件管理模块,配置不同的事件以选择触发的时机,在事件下可以配置多个决策策略。
本实施例中,所述决策引擎还包括存储决策引擎运行过程中的日志和执行结果的日志模块。
本发明还提供一种决策引擎实现方法,包括以下步骤:
S101:通过预定义语义模块编写业务决策,配置决策策略至决策引擎系统;
S102:在配置完成决策策略后,将决策策略部署至工作内存中,同时将决策策略转换成为Drools可读的drl文件,部署至工作内存;
S103:业务方封装产品ID、事件ID和待判断的对象,业务方调用决策引擎,传递待检验数据,将所述待检验数据输入到工作内存中,调用所对应的决策策略;
S104:将事实数据与决策策略进行匹配,判断是否满足预设触发条件,判断相应的决策结果,进行模式匹配;
S105:当到达一个事实与策略相匹配的节点时,将数据添加到议程组件中;
当一个事实与多个策略相匹配,则认为这些策略是冲突的,使用冲突解决策略管理上述策略的执行顺序;
S106:重复执行所述步骤S103至步骤S105,直到所述议程中的策略全部执行完成。
本实施例中,一条策略可以包括策略名称、策略触发条件匹配公式以及策略对应的事件;进一步地,策略配置时还可以配置策略的状态,表示该策略当前是被启用状态还是关闭状态;此外,还可以配置策略的描述信息。
本实施例中,步骤S103中,所述待检验数据属性与配置的策略入参一致。
本实施例中,所述方法中还包括决策引擎监听消息队列消息,业务方通过消息队列的方式发送异步消息到决策引擎平台启动业务方在决策引擎系统中已配置的事件。
本实施例中,所述方法提供内置的系统函数,或通过groovy来自定义函数,支持多层嵌套的函数,所述系统函数可以在字段和策略中使用。
本实施例中,所述步骤S103中,业务方调用决策引擎后,判断产品是否存在且状态是否正确,产品不存在或状态异常,任务结束;
判断事件是否存在,且状态是否正确,事件不存在或状态异常,任务结束;
判断是否存在决策策略,且决策策略是否正确,策略未配置,任务结束;
上述条件存在且状态正确,继续执行。
本实施例中,所述方法中,判断决策结果后继续执行循环决策列表并更新执行后状态,判断决策结果后返回最终决策结果。
判断决策结果后继续执行循环决策列表,更新执行后状态,将出参保存至log表,判断规则执行后赋值,节点终结,判断决策结果,更新数据表状态,保存出参字段,释放redis锁,返回决策结果至决策引擎服务器。
本发明通过可配置化的决策引擎,业务决策从程序代码中分离出来,将复杂且多变的业务策略从硬编码中解放出来,以实现不需要修正项目代码以及重启服务器就可以在线上环境生效,可以随时对公司业务进行修改,增加了业务处理的透明度,实现管理业务策略;可以显著降低业务逻辑实现的难度,降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,适用于企业级敏捷性开发领域场景。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上公开的本说明书优选实施例只是用于帮助阐述本说明书。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本说明书的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本说明书。本说明书仅受权利要求书及其全部范围和等效物的限制。
Claims (9)
1.一种决策引擎,其特征在于,包括:
决策门面管理模块,用于管理决策用户信息、用户授权信息及用户的角色、决策权限;
系统管理模块,用于配置系统函数及决策策略;
决策管理模块,用于管理不同的决策策略,负责链接事件和规则,通过不同模式对规则进行组合,动态配置决策策略,所述决策策略配置形式包括但不限于策略集、评分卡、决策表、决策树;
决策执行模块,用于当满足触发条件时,执行策略逻辑,启动决策对应的任务输出决策结果。
2.根据权利要求1所述的决策引擎,其特征在于,所述决策引擎还包括对触发事件管理模块,配置不同的事件以选择触发的时机,在事件下可以配置多个决策策略。
3.根据权利要求1所述的决策引擎,其特征在于,所述决策引擎还包括存储决策引擎运行过程中的日志和执行结果的日志模块。
4.本发明还提供一种决策引擎实现方法,其特征在于,包括以下步骤:
S101:通过预定义语义模块编写业务决策,配置决策策略至决策引擎系统;
S102:在配置完成决策策略后,将决策策略部署至工作内存中,同时将决策策略转换成为Drools可读的drl文件,部署至工作内存;
S103:业务方调用决策引擎,传递待检验数据,将所述待检验数据输入到工作内存中,调用所对应的决策策略;
S104:将事实数据与决策策略进行匹配,判断是否满足预设触发条件,判断相应的决策结果,进行模式匹配;
S105:当到达一个事实与策略相匹配的节点时,将数据添加到议程组件中;
当一个事实与多个策略相匹配,则认为这些策略是冲突的,使用冲突解决策略管理上述策略的执行顺序;
S106:重复执行所述步骤S103至步骤S105,直到所述议程中的策略全部执行完成。
5.根据权利要求4所述的决策引擎实现方法,其特征在于,步骤S103中,所述待检验数据属性与配置的策略入参一致。
6.根据权利要求4所述的决策引擎实现方法,其特征在于,所述方法中还包括决策引擎监听消息队列消息,业务方通过消息队列的方式发送异步消息到决策引擎平台启动业务方在决策引擎系统中已配置的事件。
7.根据权利要求4所述的决策引擎实现方法,其特征在于,所述方法提供内置的系统函数,或通过groovy来自定义函数,支持多层嵌套的函数,所述系统函数可以在字段和策略中使用。
8.根据权利要求4所述的决策引擎实现方法,其特征在于,所述步骤S103中,业务方调用决策引擎后,判断产品是否存在且状态是否正确;
判断事件是否存在,且状态是否正确;
判断是否存在决策策略,且决策策略是否正确;
上述条件存在且状态正确,继续执行。
9.根据权利要求4所述的决策引擎实现方法,其特征在于,所述方法中,判断决策结果后继续执行循环决策列表并更新执行后状态,判断决策结果后返回最终决策结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620455.XA CN114493493A (zh) | 2021-12-28 | 2021-12-28 | 决策引擎及决策引擎实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111620455.XA CN114493493A (zh) | 2021-12-28 | 2021-12-28 | 决策引擎及决策引擎实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114493493A true CN114493493A (zh) | 2022-05-13 |
Family
ID=81495575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111620455.XA Pending CN114493493A (zh) | 2021-12-28 | 2021-12-28 | 决策引擎及决策引擎实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114493493A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116994686A (zh) * | 2023-09-26 | 2023-11-03 | 北斗云方(北京)健康科技有限公司 | 数据驱动的临床决策支持系统和方法 |
-
2021
- 2021-12-28 CN CN202111620455.XA patent/CN114493493A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116994686A (zh) * | 2023-09-26 | 2023-11-03 | 北斗云方(北京)健康科技有限公司 | 数据驱动的临床决策支持系统和方法 |
CN116994686B (zh) * | 2023-09-26 | 2023-12-15 | 北斗云方(北京)健康科技有限公司 | 数据驱动的临床决策支持系统和方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11847167B2 (en) | System and method for generation of chat bot system with integration elements augmenting natural language processing and native business rules | |
CN107562513B (zh) | 一种基于java的智能合约生命周期的管理方法 | |
US8762187B2 (en) | Easy process modeling platform | |
US9690822B2 (en) | System and method for metadata level validation of custom setup objects | |
CN109299150B (zh) | 一种可配置多数据源适配规则引擎解决方法 | |
US10469315B2 (en) | Using computing platform definitions to provide segmented computing platforms in a computing system | |
US11736418B2 (en) | Decision tree processing for chatbot dialog flow | |
US20200322339A1 (en) | Hierarchical permissions model within a document | |
CN111066039A (zh) | 包括企业模型的微处理器 | |
CN111258565B (zh) | 小程序的生成方法、系统、服务器及存储介质 | |
US20170351506A1 (en) | Automating feature graduation | |
CN111031133B (zh) | 业务引擎的运行方法和装置、存储介质、电子装置 | |
Nguyen et al. | A feature-oriented approach for web service customization | |
US9542656B2 (en) | Supporting ETL processing in BPEL-based processes | |
US10891115B2 (en) | Model configuration using partial model data | |
CN110908730A (zh) | 一种云平台配置文件管理方法及管理系统 | |
CN114493493A (zh) | 决策引擎及决策引擎实现方法 | |
Bauer et al. | Reusing system states by active learning algorithms | |
US7735090B2 (en) | On demand software contract modification and termination in running component assemblies | |
CN116982029A (zh) | 对基于事件的应用进行托管 | |
US10685309B1 (en) | Case system events triggering a process | |
CN107015787B (zh) | 一种交互式应用框架设计的方法及装置 | |
US20140019439A1 (en) | Systems and methods for performing smart searches | |
CN113204540A (zh) | 一种规则引擎配置方法、装置、设备及存储介质 | |
CN114756224A (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 |