旗正规则引擎的产品设计-阿里云开发者社区

开发者社区> 倔强的土豆> 正文

旗正规则引擎的产品设计

简介:
+关注继续查看

什么是规则引擎:

         规则引擎是一种采用人类能理解的术语(简称类自然语言)来描述业务逻辑(如各类公式、算法、策略、流程等)并且解析执行的软件程序。对于一般的数据处理逻辑以及判断逻辑,规则引擎可以直接采用业务人员自己定义的术语,来对其进行描述。使得这些业务逻辑可以脱离程序外进行单独配置和管理,已满足其后期随时变更。国外代表品牌是ILOG,开源DROOLS,以及国内商业产品代表是旗正规则引擎。

 

旗正规则引擎的特点:

使用规则引擎的目的就是为了让软件系统中一些数据处理的逻辑,未来可以随时调整。比如旗正规则引擎除了可以随时调整具体的逻辑外,还能支持对数据结构以及数据来源的调整,这是一般的规则引擎做不到的。

因此旗正规则引擎扩大了规则引擎的使用范围,能够解决软件系统当前普遍存在的后期维护的问题,使得在系统上线后可以随时进行调整,以便适应企业最新的需要。

 

旗正规则引擎是如何做到的?

软件系统的后期维护所需要的变更,无外乎数据结构和数据处理逻辑的变更问题。

如果按照一般的开发方式,数据结构的定义时,会有大量的实体类来定义数据结构。比如界面对应的实体类、逻辑处理的实体类以及数据库对应的实体类。当数据结构发生调整时,对应需要修改所有的实体类。

采用基于规则包配置时,不再采用实体类的方式来定义数据。而是采用key-value的方式来定义所有的类型。这样当数据结构发生调整时,只需更新key-value具体的值即可进行变更。

逻辑处理,采用规则包的动态接口定义。规则包的传入参数传出参数,以及可以直接用key-value传递需要处理的数据结构。

数据库对应的数据结构,采用动态的类来进行定义,用List<string>来定义列信息,用List<List>来定义数据库表的数据。当变更数据结构时,只需修改定义即可,而无需修改实体类。

通过这种方式,使得可以直接在规则引擎配置数据库的源信息,以及变更后的数据结构信息,而不用变更程序代码。

另外规则引擎还可以直接通过配置方式引入新的不同的数据源,比如其他的数据库、Excel数据、web服务、XML数据、MongoDB等。使得也能对数据源的变化随时进行调整。

同时旗正规则引擎可以将对数据处理的规则服务,发布成多种接口,直接供客户端程序进行访问,比如PC、web、手机app等,这样当数据结构发生变化时,前端的界面也可以随时调整。

 

旗正规则引擎具体怎么用?

       旗正规则引擎可以作为基础软件产品集成到各种业务管理系统中,用于管理各类将来可能会调整的各种业务逻辑。用户可以将各种和数据处理相关的逻辑通过规则配置器进行定义后,通过旗正规则引擎来处理执行。比如企业的人力资源管理系统,可以用规则引擎来配置具体的薪资计算的规则;比如企业的生产管理系统,可以用规则引擎来管理生产排程的优化处理;比如企业的渠道管理,可以用规则引擎来管理具体的返点政策;比如企业的报价系统,可以用规则引擎来管理具体的促销策略等。

         旗正规则引擎可以在业务管理系统改造升级时,作为其中一个模块集成进去。也可以在项目后期,作为一个独立的数据处理工具来运行。

         当在业务管理系统开发阶段时,要在架构设计上,将规则引擎作为数据库基础上一个基础组件,或者是ESB服务中的一部分。同时需要界定清楚,哪些业务的处理逻辑需要交由规则引擎进行控制。正常情况下,对于数据的增删改查等功能,无需采用规则引擎来处理。而对于需要有特定业务控制的逻辑处理模块,交由规则引擎来处理。规则引擎作为一个计算节点,如何触发以及相关的数据来源,还需要通过常规的系统进行维护。通过规则引擎与常规编码进行配合,将复杂的、易变的、模糊的各种数据处理逻辑脱离出来,使得常规编码只是处理一些数据的增删改查等简单操作。

         当项目已经上线处于维护阶段时,规则引擎作为独立的数据处理工具可以用于处理已经存储到数据库中的各种数据,类似于替代数据库的存储过程的功能。用户可以用规则引擎工具,直接连接数据库,配置各种数据处理的逻辑,最后将其发布成定时执行的任务,来完成各类数据的处理和输出。采用规则引擎取代数据库存储过程,可以有效的降低数据库的负载,提高系统的整体性能。同时也使得数据处理的逻辑更加容易维护。

        

规则引擎适用于哪些项目?

         以旗正规则引擎为例,旗正规则引擎是国内最早出现的一款商业规则引擎,适用于各行各业的信息化管理系统中。以下列举各行业适用的管理系统。

1、  金融风控

金融在近两年来迅速发展,备受瞩目,P2P、消费金融等野蛮生长,而直接要面对的一个问题就是如何控制风险,避免欺诈行为,特别是在欺诈方面更是成为P2P面临最大的难题,据行业数据报告显示,欺诈行为已占P2P坏账中50%。规则引擎在其中主要作为决策工具,风险规则多变,欺诈行为多变,需要系统及时调整策略来进行控制,所以规则引擎在其中的作用可谓非常之大。

2、  企业渠道管理系统

制造企业普遍采用渠道政策来发展代理商销售其产品。渠道政策随着企业的发展,会定期进行调整,正常情况下,每个季度都会调整一次渠道政策。调整的目的可能是增加了新的产品线,或者促销某类产品,或者激励某类客户或者区域。每个季度,需要根据新的渠道政策,以及代理商的级别和销售业绩,来计算需要给代理商的返点、积分或者折扣。渠道管理系统用于维护计算返点、积分所需的各类信息,包括代理商信息、产品信息、系列信息、区域信息、渠道级别信息、销售数据以及其他相关的原始数据,同时维护具体的返点、积分政策以及计算结果。渠道管理每个季度重新配置一遍新的返点、积分等策略,并运算后,将结果输出到财务核算系统或者导出到其他地方。

3、  企业产品报价系统

商业企业针对不同的客户以及不同的产品,提供不同的报价体系。报价体系除了和产品自身的成本相关外,还需要涉及到合同、促销、折扣、审批等。比如与客户签订一个一年期的销售合同,可能是按照固定价格给客户,也可能是按照其采购量给予折扣,或者是不同时间段的价格和折扣都完全不同。报价体系而且是一个不断会调整的系统,客户可能会新增合同。因此每个月结算时,需要根据当月的销售额以及客户具体的合同,来计算客户需要支付的费用。产品报价系统需要维护产品信息、合同信息、折扣信息以及其他产品报价相关的基础数据,通过规则引擎配置具体的报价逻辑。提供服务给外部程序来询价,以及每月结算时计算相应的结果。

4、  企业绩效管理系统

企业的薪酬体系是配合企业的绩效考核一起来进行的,对于员工数量多的企业客户来说,奖惩制度也会随着工种的不同会有很多的变化。企业绩效管理系统针对企业每个员工特定的薪资计算政策,根据每月员工完成的绩效,来计算对应的奖惩金额。企业绩效管理系统主要用于管理员工信息、工资信息、奖惩信息、绩效信息等,通过规则引擎配置具体的奖惩规则,每月定时结算。

5、  企业生产排程优化系统

制造企业根据订单安排生产,正常情况下根据3个月的订单情况,安排生产计划。但是在实际的过程中,经常会有调整订单和插单情况,或者出现一些原材料不足等意外发生。根据最新的情况,调整生产计划同时又要满足其他所有的订单的生产不发生问题,或者预先知道那些订单会发生延期交付等问题。生产排程优化,除了可以保障按时交付订单外,还可以考虑以下的成本节约:库存最小化、单位产能最大化、配套间隔时间最短等等。生产排程的优化,可以在原始生成排程的基础上,根据以上原则进行优化,最后形成更优的生产计划。生产排程优化系统需要维护生产线信息、产品信息、系列信息、订单信息等与排程相关的数据,同时通过规则引擎配置具体的优化逻辑。每次调整订单时,都可以重新执行并得到最优的结果。

6、  电信运营商计费系统

电信运营商计费系统中的计费规则,基本上都在采用规则引擎进行计算。后期可以不断的追加新的规则等。目前电信运营商都在进行国产化的改造阶段,因此目前有非常好的商业机会。

7、  保险理算系统

保险的理赔规则的配置实现

8、  医疗的数据处理

医疗数据的采集、传输、存储、分析、处理等一系列动作,都可以采用规则引擎进行处理。

 

规则引擎的价值

         当企业的信息系统集成了规则引擎产品后,能带来以下显著的效果:

1、  信息系统中负责的业务逻辑处理,可完全交由规则引擎进行配置。降低了项目的风险,保障了项目进度。

2、  增强业务部门对信息系统的控制能力,提高了业务部门的参与度。

3、  减轻业务部门和技术部门的沟通工作量,减轻了技术部门的工作压力

4、  降低数据库的负载,提高了系统的整体性能

5、  降低系统的维护成本,增强了项目的可适应性

 


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
阿里云服务器怎么设置密码?怎么停机?怎么重启服务器?
如果在创建实例时没有设置密码,或者密码丢失,您可以在控制台上重新设置实例的登录密码。本文仅描述如何在 ECS 管理控制台上修改实例登录密码。
4114 0
阿里云服务器端口号设置
阿里云服务器初级使用者可能面临的问题之一. 使用tomcat或者其他服务器软件设置端口号后,比如 一些不是默认的, mysql的 3306, mssql的1433,有时候打不开网页, 原因是没有在ecs安全组去设置这个端口号. 解决: 点击ecs下网络和安全下的安全组 在弹出的安全组中,如果没有就新建安全组,然后点击配置规则 最后如上图点击添加...或快速创建.   have fun!  将编程看作是一门艺术,而不单单是个技术。
4559 0
计算机系统的设计规则,性能评测
版权声明:您好,转载请留下本人博客的地址,谢谢 https://blog.csdn.net/hongbochen1223/article/details/45831397 控制流程的...
965 0
阿里云服务器如何登录?阿里云服务器的三种登录方法
购买阿里云ECS云服务器后如何登录?场景不同,阿里云优惠总结大概有三种登录方式: 登录到ECS云服务器控制台 在ECS云服务器控制台用户可以更改密码、更换系.
5779 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
10784 0
阿里云服务器远程登录用户名和密码的查询方法
阿里云服务器远程连接登录用户名和密码在哪查看?阿里云服务器默认密码是什么?云服务器系统不同默认用户名不同
655 0
阿里云ECS云服务器初始化设置教程方法
阿里云ECS云服务器初始化是指将云服务器系统恢复到最初状态的过程,阿里云的服务器初始化是通过更换系统盘来实现的,是免费的,阿里云百科网分享服务器初始化教程: 服务器初始化教程方法 本文的服务器初始化是指将ECS云服务器系统恢复到最初状态,服务器中的数据也会被清空,所以初始化之前一定要先备份好。
3469 0
nginx location匹配规则
location匹配命令 ~      #波浪线表示执行一个正则匹配,区分大小写 ~*    #表示执行一个正则匹配,不区分大小写 ^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录 =      #进行普通字符精确匹配 @     #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files location 匹配的优先级(与location在配置文件中的顺序无关) = 精确匹配会第一个被处理。
557 0
9
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载