[发明专利]一种基于数据库函数的规则实现及应用的方法及装置在审
申请号: | 201110451313.5 | 申请日: | 2011-12-29 |
公开(公告)号: | CN103186579A | 公开(公告)日: | 2013-07-03 |
发明(设计)人: | 商艳丽;王鹤琪;杜大江;刘兴宗 | 申请(专利权)人: | 北京亿阳信通科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100093 北京市*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 数据 库函数 规则 实现 应用 方法 装置 | ||
技术领域
本发明涉及数据库数据处理技术领域,特别是涉及一种基于数据库函数的规则实现及应用的方法及装置。
背景技术
规则引擎是一种嵌入在应用程序中的组件,由推理引擎发展而来,规则引擎接受数据输入,读取业务规则,通过推理得到符合业务规则的业务决策。使用规则引擎可以降低实现复杂业务逻辑组件的复杂性,降低应用程序的可扩展性成本。目前在运行应用程序时有多种规则引擎可供使用,其中最常见的包括商业规则引擎和开放源码规则引擎。商业规则引擎通常允许使用专用的类似英语的语言来表达规则,其他规则引擎允许使用脚本语言编写规则。
现有的JAVA规则引擎对提交的JAVA数据对象进行规则运算,根据这些JAVA数据对象的当前属性值和规则之间的关系,从加载到规则引擎的规则集中查找符合条件的规则,并创建这些规则的执行实例,这些实例将在规则引擎接到执行指令时依照某种优先序依次执行,从而使得规则引擎在执行之后能够得到响应的返回值。例如采用Java语言编写的开放源码规则引擎Drools,其使用Rete算法对所编写的规则求值。Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关。但是Drools作为一个开源产品,其侧重于规则引擎的实现以及规则语言的扩展,并没有在规则配置器做非常深入的研究。目前其提供的嵌入于Eclipse的配置器,只是一个为程序员设计和开发的工具;另外,由于Drools基于rete算法,所以必须要先学习rete算法,学习规则描述语言,才能去理解和配置规则,而rete算法对一般的程序员,则较难学习和理解。
现有的商业引擎,通常允许使用专用的类似英语的语言来表达规则,但是商业引擎对人员能力要求高,通常价格也比较昂贵,对于中小规模的软件集成,特别是,对于规则逻辑相对简单的处理应用,引入复杂和昂贵的规则引擎有些大材小用,得不偿失。
可见,现有的规则引擎,虽然有独立的框架和语法,可以适用于各种海量数据的复杂计算规则,但在实现上都比较复杂,随之产生了开发及二次开发成本高集成难度大的缺点,同时对开发人员的开发水平也有较高的要求,例如现有的JAVA规则引擎,就需要编写Java代码才能实现,而Drools,虽然有自己的语法规则,但是对开发人员的能力要求高,需要熟悉所有的语法规则并了解其底层架构,再在其基础上做二次开发采用进行应用;商业引擎则价格昂贵。
同时因为现有规则引擎的实现复杂,也使得相对简单的规则逻辑需求在基于复杂规则引擎进行数据处理时,会呈现繁琐复杂的缺点,这不仅影响规则处理的效率,也会使得在计算机上执行上述方法对外部对象或者内部数据进行处理时,给计算机的响应能力带来速度上的影响,降低了计算机处理数据的处理性能。
发明内容
本发明所要解决的技术问题是,提供一种基于数据库函数的规则实现及应用的方法,以通过实现简单的规则引擎可以提高规则处理的效率,也提升计算机的响应能力和的处理性能。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种基于数据库函数的规则处理装置,从而保证该方法的实现和应用。
为解决上述技术问题,本发明实施例提供了
一种基于数据库函数的规则实现及应用的方法,包括:
步骤A1、根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库中;
步骤A2、建立符合所述业务规则模型的多个规则;
步骤A3、将所述多个规则转化为规则描述语言,并保存到规则库中;
步骤A4、将所述规则库中的规则实现为对应的数据库函数,所述数据库函数的名称作为被调用接口;
步骤B1、根据应用需求配置源数据与所应用规则的关联关系;
步骤B2、获取用户输入的源数据中关键要素的值,通过调用所述关联规则相对应的数据库函数,执行所述数据库函数,返回执行结果。
所述步骤A3中的将所述多个规则转化为规则描述语言,具体为:
根据规则逻辑将所述建立的规则描述为自定义类规则或公式类规则;其中,所述的自定义类规则逻辑为基于规则关键要素的如果…则…表达式,所述公式类规则为以规则关键要素为自变量的数学运算表达式。
所述步骤A4的将所述规则库中的规则实现为对应的数据库函数,具体为:
所述的数据库函数名称确定为规则名称,数据库函数的程序头包括数据库函数的名称和输入输出参数,将所述规则表达式中的关键要素定义为数据库函数的输入输出参数;将规则描述语言形式的规则表达式转化为数据库函数的程序体部分。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京亿阳信通科技有限公司,未经北京亿阳信通科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110451313.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:高纯碲的制备方法
- 下一篇:高尔夫球杆和高尔夫球杆杆头
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置