业务规则和规则引擎.docx

上传人:b****4 文档编号:1196689 上传时间:2022-10-18 格式:DOCX 页数:18 大小:1.06MB
下载 相关 举报
业务规则和规则引擎.docx_第1页
第1页 / 共18页
业务规则和规则引擎.docx_第2页
第2页 / 共18页
业务规则和规则引擎.docx_第3页
第3页 / 共18页
业务规则和规则引擎.docx_第4页
第4页 / 共18页
业务规则和规则引擎.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

业务规则和规则引擎.docx

《业务规则和规则引擎.docx》由会员分享,可在线阅读,更多相关《业务规则和规则引擎.docx(18页珍藏版)》请在冰豆网上搜索。

业务规则和规则引擎.docx

业务规则和规则引擎

 

规则引擎

Version1.0.0

 

作者:

JohnnyLeon

发布日期:

 2016-08—08

1业务规则ﻩ3

1.1ﻩ什么是业务规则3

1。

2ﻩ业务规则的例子ﻩ3

1。

3ﻩ业务规则的分类ﻩ3

1.5ﻩ业务规则的要素4

2规则引擎ﻩ5

2.1规则引擎是什么ﻩ5

2。

3规则引擎的推理ﻩ6

2.4规则引擎的应用7

2.5业务规则的提取ﻩ9

2。

6ﻩ业务规则的管理ﻩ10

案例1:

信用卡申请11

案例2:

企业薪资计算ﻩ13

案例3:

保险公司核保理赔ﻩ13

案例4:

快递产品报价14

案例5:

电商促销14

1业务规则

1.1什么是业务规则

与业务相关的操作规范、管理章程、规章制度、行业标准等,都可以称为业务规则(Business Rules,简称BR)。

业务规则描述了业务过程中重要的且值得记录的对象、关系和活动。

其中包括业务操作中的流程、规范与策略。

业务规则保证了业务能满足其目标和义务.

业务规则实质上也可以理解为一组条件和在此条件下的操作,是一组准确凝练的语句,用于描述、约束及控制企业的结构、运作和战略,是应用程序中的一段业务逻辑.该业务逻辑通常由业务人员、企业的管理人员和程序开发人员共同开发和修改。

业务规则的理论基础是:

设置一个条件集合,当满足这个条件集合时候,触发一个或者多个动作.

以规则形式捕捉策略语句能提供极大的灵活性和良好的适应性,是企业保持竞争优势的决定性因素.在市场驱动的情况下,系统架构和模型必须对客户、竞争对手、合作伙伴和整个市场情况的各种变更及时响应,同时将这些变更产生的需求作为业务规则体现到系统中去。

业务规则技术的基本思想是将系统处理的业务逻辑从程序代码中抽取出来,将其转变为简单的业务规则,以结构化的业务规则数据来表示业务行为,采用类自然语言来描述,并集中存储在规则库中.业务规则由业务人员创建、实时更新和调试,业务规则之问的复杂逻辑关系由规则引擎处理。

业务规则技术改变了传统的、以过程形式处理业务逻辑的方式。

1.2业务规则的例子

生活中的一些业务规则可能是:

Ø当顾客进入店内,最近的员工须向顾客打招呼说:

“欢迎来到×××”。

Ø当客户兑换超过200元的奖券时,柜员须要求查看客户的身份证并复印。

Ø当兑换的奖券金额小于25元时,无需客户签字。

Ø早上第一个进办公室的人需要把饮水机加热按钮打开。

找一些数据相关的业务规则,一些例子如下:

✧只有当客户产生第一个订单时才创建该客户的记录.

✧若一名学生没有选任何一门课程,把他的状态字段设为空。

✧若销售员在一个月中卖出10套沙发,奖励500元。

✧一个收件人必须至少有1个电话号码和1个收货地址。

✧若一个订单的除税总额超过1000元则能有5%的折扣.

✧若一个订单的除税总额超过500元则免运费。

✧员工购买本公司商品能有5%的折扣。

✧若仓库中某货品的存量低于上月卖出的总量时,则需要进货。

1.3业务规则的分类 

业务规则主要分为五类,第六类规则是术语,即专门定义的、对业务很重要的词、短语或缩略词汇,通常在术语表中定义术语。

 

1. 事实(fact):

通常是对业务的真实陈述,常常与重要的业务术语关联,事实也称为 不变量——关于数据实体及其属性的不可改变的真实情况。

 

2. 约束(constraint):

约束限制了系统或它的用户可以执行哪些操作;例如:

图书馆 的借阅者最多可以同时借10本书。

 

3。

 动作触发规则(action enabler):

在特定条件下触发某个动作的规则被称为动作触发规 则;例如:

如果某瓶化学药品到了失效日期,则通知其当前持有人。

4。

 推论(inference):

推论是根据某个条件的真实性得出某些新事实的规则,通常用“如 果/则”的句式来表达;例如:

如果到期30天后还没有偿还应付款,则该帐户是在拖欠债务。

5. 计算(computation):

使用特定的数学公式或算法进行的计算业务规则;例如:

订 单的数量为6件~10件,则单价降低10%,数量为11件~20件,单价降低20%. 

1.4业务规则的特性

1、原子性。

业务规则不可再分,每条规则只定义一种判断和操作,复杂的业务逻辑由多条规则协同处理。

2、独立性。

业务规则彼此之问独立,复杂的逻辑关系由规则引擎来处理。

业务规则存储在规则库中,独立于数据和程序。

3、简单性。

业务规则用简单直接的类自然语言来描述,很容易被业务人员和技术人员所理解。

 4、动态性.业务人员可以实时地修改业务规则,快捷地更新系统,低成本地维护系统。

5、逻辑性。

业务规则至少包含条件和执行两个部分,条件是对业务数据作用的判定,执行是对业务数据的处理。

在基于业务规则的软件系统中,业务规则存储在规则库中,业务人员可以进行查询、添加、更新、统计,可以不断积累经验,实现对业务行为的知识管理,这使得业务规则与单位的数据信息一样成为单位的重要资产.

1.5业务规则的要素

业务规则最基本的组成成份是用于表示它的语言,业务术语是人们用于定义事物的工具,例如术语表。

一个组织的本质和运行结构可以用相关的术语来描述,如“客户借一笔1年期流贷",类似“企业信用评级不可以低于A”这样的规则则能够限定和控制企业的某些行为.此外,利用业务规则可以从一种知识推导出另一种知识.  

业务规则的属性包括名称、状态(被提议的、有效的、被核准的、终止的)、有效日期和终止日期、业务规则描述、表达式、触发事件等。

其主要形式有决策表、决策树、规则语言和脚本.  

✧决策表:

以表格的形式表示业务规则,每一行表示一条规则,列表示条件或动作,当所有条件满足时,执行动作。

 

✧决策树:

将一组业务规则以树型结构来表示,每一个分支表示一条决策路径,叶子节点表示结果或动作。

 

✧规则语言:

使用类似自然语言的句法描述规则。

目前有很多种规则语言,每种语言适合解决其特定领域的问题,可以提供较好的性能,但比图形化的表示难于维护. 

✧脚本(模板):

用于描述过程性的业务逻辑,是决策表、决策树、规则语言的基础.如:

IF。

..THEN.。

ELSE。

.。

2规则引擎

在很对行业的系统应用里,业务规则往往非常复杂,并且处于不断的更新变化之中,而现有很多系统的做法,是将业务规则绑定在程序代码里;当业务规则变更时,对应的代码也必须得跟着修改,每次即使很小的变更都需要经历开发、测试、验证、上线等过程,变更成本比较大;长时间的规则变更,系统变得越来越难以维护;如此以往,系统变得僵化、新需求插入也比较困难,上线周期也较长;另一方面,开发人员熟悉业务的程度远远比不上业务人员,却需要承担将业务规则准确无误实现的重任;

使用传统的应用系统开发和实施方法,业务规则相对固定不易改动。

系统的每一项策略、规则的变化都需要开发人员对源代码进行修改,业务规则动态的特点使传统的解决方案越来越难以满足电子商务业务系统的实际需求,限制了系统的灵活性和生命力。

所以能否让我们的业务系统更灵活一点呢,将业务规则从技术实现中提取出来,实现技术和业务的分离,开发人员处理技术,业务人员定义业务规则,各自做自己擅长的事,这个方法就是所谓的规则引擎;

以电子商务为例,电商促销是一种典型的业务规则需要频繁改动的应用;各电商平台为了吸引用户,不断推出新的服务和优惠活动,以满足不同层次、不同时期用户的需求和业务需要;为快速响应竞争,这些业务策略的改变需要在很短的时间内完成,比如几个小时、当天或几天,这就意味着这些改变要由运营商自己的业务人员而不是软件的开发人员来实施;此外,电子商务业务处理的数据量巨大,每小时要处理的数据可能高达几千万条。

引入规则引擎之后把业务规则从具体的程序代码中剥离出来。

业务规则不再以程序代码的形式驻留在系统中,取而代之的是处理规则的规则引擎,业务规则存储在规则库中,完全独立于程序.业务人员可以像管理数据一样对业务规则进行管理,比如查询、添加、更新、统计、提交业务规则等。

业务规则被加载到规则引擎中供应用系统调用.

2.1规则引擎是什么

BRMS (Business Rule Management System)业务规则管理系统,俗称规则引擎,是由推理引擎发展而来的一种专家系统;专家系统是人工智能的一个分支,它模仿人类的推理方式,使用试探性的方法进行推理,并使用人类能理解的术语解释和证明它的推理结论。

专家系统有很多分类:

神经网络、基于案例推理和基于规则系统等;

规则引擎的主要思想是将应用程序中随着时间、空间动态易变的业务决策部分分离出来,并使用预定义的语义模块编写业务决策,由用户或开发者在需要时进行配置、管理。

规则引擎实现了将业务决策从应用程序代码中分离出来,接受数据输入,解释业务规则,并根据业务规则做出业务决策。

它可以为企业带来许多好处:

✧分离商业决策者的商业决策逻辑和应用开发者的技术决策

✧能有效的提高实现复杂逻辑的代码的可维护性

✧在开发期间或部署后修复代码缺陷

✧应付特殊状况,即客户一开始没有提到要将业务逻辑考虑在内

✧符合组织对敏捷或迭代开发过程的使用

✧规则能作为知识被保留下来,不会随着关键人员的流失而流失

在规则引擎为企业带来的诸多好处中,最重要的三点,就是带来业务系统的敏捷性、企业业务知识的沉淀以及为决策分析提供支持。

要真正达到以上几点,就需要规则引擎产品能够:

✧提供友好的规则设置界面,让业务人员自行设置规则

✧提供完善的管理功能,使用软件工程的思想管理规则的开发过程

✧提供良好的嵌入式架构,规则不仅能在BRMS中编辑,也能在业务系统中编辑,从而真正做到规则管理无处不在。

2.2规则引擎的组成

规则引擎的任务是把当前提交给引擎的数据对象与加载在引擎中的业务规则进行测试和比对,激活那些符合当前数据状态下的业务规则,根据业务规则中声明的执行逻辑,触发应用程序中对应的操作。

它主要包括以下三部分:

RuleBase(规则集)、WorkingMemory(工作存储器)和InferenceEngine(推理引擎);

推理引擎包括三部分:

PatternMatcher(匹配器)、Agenda(议程)和ExecutionEngine(执行引擎);

它们的结构如下所示:

1)规则集容器,用于存放从规则库中提取的对应当前问题的一组规则;这些规则将按照某种数据结构组织,当工作区中的数据发生改变后,引擎需要迅速根据工作区中的对象现状,调整规则执行队列中的规则。

 

2)工作存储器,即规则引擎的综合数据库,也称为事实库;用于存放规则系统运行时所需要的各种信息;其中的信息用来与规则集容器中的规则进行匹配。

3)匹配器,是规则引擎工作的上下文环境,用来关联规则集容器和工作存储器;将规则集容器中的所有规则与工作存储器中的事实进行模式匹配,匹配成功的规则将被激活,并与前面推理得到的所有激活规则构成规则冲突集.

4)议程,议程中存放的是根据需要进行过排序的规则冲突集。

对匹配生成的规则冲突集进行排序的过程称为冲突消解;然后议程中首条规则的结论或动作部分将会执行,这可能会产生新的事实,从而改变工作存储器的内容;整个过程将一直循环下去,最终得到执行结果.

2.3规则引擎的推理

推理引擎通过决定哪些规则满足事实或目标,并授予规则优先级,满足事实或目标的规则被加入议程.

存在两者推理方式:

演绎法(Forward-Chaining正向链)和归纳法(Backward—Chaining反向链).演绎法从一个初始的事实出发,不断地应用规则得出结论(或执行指定的动作)。

而归纳法则是从假设出发,不断地寻找符合假设的事实。

规则引擎的推理步骤如下:

 

a将初始数据(fact)输入至工作内存(WorkingMemory)。

 

b使用PatternMatcher将规则库(Rulesrepository)中的规则(rule)和数据(fact)比较. n

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1