CN103186579A - 一种基于数据库函数的规则实现及应用的方法及装置 - Google Patents
一种基于数据库函数的规则实现及应用的方法及装置 Download PDFInfo
- Publication number
- CN103186579A CN103186579A CN2011104513135A CN201110451313A CN103186579A CN 103186579 A CN103186579 A CN 103186579A CN 2011104513135 A CN2011104513135 A CN 2011104513135A CN 201110451313 A CN201110451313 A CN 201110451313A CN 103186579 A CN103186579 A CN 103186579A
- Authority
- CN
- China
- Prior art keywords
- rule
- model
- database functions
- business
- regular
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明实施例公开了一种基于数据库函数的规则实现及应用的方法及装置,包括:根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型;建立符合所述业务规则模型的多个规则;将所述多个规则转化为规则描述语言,保存到规则库中;将所述规则库中的规则实现为对应的数据库函数;根据应用需求配置源数据与所应用规则的关联关系;获取用户输入的所述配置规则中关键要素的值,通过调用所述规则相关联的数据库函数执行所述规则,返回执行结果。采用本发明实施例公开的方法或装置,在基于数据库函数实现的规则引擎的实现结果上,将繁琐算法的实现借助于简单的数据库函数来实现,降低了规则引擎的开发难度,节省了成本,提高了规则处理的效率。
Description
技术领域
本发明涉及数据库数据处理技术领域,特别是涉及一种基于数据库函数的规则实现及应用的方法及装置。
背景技术
规则引擎是一种嵌入在应用程序中的组件,由推理引擎发展而来,规则引擎接受数据输入,读取业务规则,通过推理得到符合业务规则的业务决策。使用规则引擎可以降低实现复杂业务逻辑组件的复杂性,降低应用程序的可扩展性成本。目前在运行应用程序时有多种规则引擎可供使用,其中最常见的包括商业规则引擎和开放源码规则引擎。商业规则引擎通常允许使用专用的类似英语的语言来表达规则,其他规则引擎允许使用脚本语言编写规则。
现有的JAVA规则引擎对提交的JAVA数据对象进行规则运算,根据这些JAVA数据对象的当前属性值和规则之间的关系,从加载到规则引擎的规则集中查找符合条件的规则,并创建这些规则的执行实例,这些实例将在规则引擎接到执行指令时依照某种优先序依次执行,从而使得规则引擎在执行之后能够得到响应的返回值。例如采用Java语言编写的开放源码规则引擎Drools,其使用Rete算法对所编写的规则求值。Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关。但是Drools作为一个开源产品,其侧重于规则引擎的实现以及规则语言的扩展,并没有在规则配置器做非常深入的研究。目前其提供的嵌入于Eclipse的配置器,只是一个为程序员设计和开发的工具;另外,由于Drools基于rete算法,所以必须要先学习rete算法,学习规则描述语言,才能去理解和配置规则,而rete算法对一般的程序员,则较难学习和理解。
现有的商业引擎,通常允许使用专用的类似英语的语言来表达规则,但是商业引擎对人员能力要求高,通常价格也比较昂贵,对于中小规模的软件集成,特别是,对于规则逻辑相对简单的处理应用,引入复杂和昂贵的规则引擎有些大材小用,得不偿失。
可见,现有的规则引擎,虽然有独立的框架和语法,可以适用于各种海量数据的复杂计算规则,但在实现上都比较复杂,随之产生了开发及二次开发成本高集成难度大的缺点,同时对开发人员的开发水平也有较高的要求,例如现有的JAVA规则引擎,就需要编写Java代码才能实现,而Drools,虽然有自己的语法规则,但是对开发人员的能力要求高,需要熟悉所有的语法规则并了解其底层架构,再在其基础上做二次开发采用进行应用;商业引擎则价格昂贵。
同时因为现有规则引擎的实现复杂,也使得相对简单的规则逻辑需求在基于复杂规则引擎进行数据处理时,会呈现繁琐复杂的缺点,这不仅影响规则处理的效率,也会使得在计算机上执行上述方法对外部对象或者内部数据进行处理时,给计算机的响应能力带来速度上的影响,降低了计算机处理数据的处理性能。
发明内容
本发明所要解决的技术问题是,提供一种基于数据库函数的规则实现及应用的方法,以通过实现简单的规则引擎可以提高规则处理的效率,也提升计算机的响应能力和的处理性能。
本发明的另一个目的是将上述构思应用于具体的应用环境中,提供一种基于数据库函数的规则处理装置,从而保证该方法的实现和应用。
为解决上述技术问题,本发明实施例提供了
一种基于数据库函数的规则实现及应用的方法,包括:
步骤A1、根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库中;
步骤A2、建立符合所述业务规则模型的多个规则;
步骤A3、将所述多个规则转化为规则描述语言,并保存到规则库中;
步骤A4、将所述规则库中的规则实现为对应的数据库函数,所述数据库函数的名称作为被调用接口;
步骤B1、根据应用需求配置源数据与所应用规则的关联关系;
步骤B2、获取用户输入的源数据中关键要素的值,通过调用所述关联规则相对应的数据库函数,执行所述数据库函数,返回执行结果。
所述步骤A3中的将所述多个规则转化为规则描述语言,具体为:
根据规则逻辑将所述建立的规则描述为自定义类规则或公式类规则;其中,所述的自定义类规则逻辑为基于规则关键要素的如果…则…表达式,所述公式类规则为以规则关键要素为自变量的数学运算表达式。
所述步骤A4的将所述规则库中的规则实现为对应的数据库函数,具体为:
所述的数据库函数名称确定为规则名称,数据库函数的程序头包括数据库函数的名称和输入输出参数,将所述规则表达式中的关键要素定义为数据库函数的输入输出参数;将规则描述语言形式的规则表达式转化为数据库函数的程序体部分。
所述步骤A1之后,还包括:
步骤A11:删除、修改、增加或查询所述业务规则模型库中的业务规则模型,其中,所述修改的方式为通过增加或删除规则关键要素的方式。
所述步骤A11,具体为:
通过规则模型配置用户界面,删除、修改、增加或查询所述业务规则模型库中的业务规则模型。
所述步骤A3之后,还包括:
步骤A31:删除、修改、增加或查询所述规则库中的规则。
所述步骤A31,具体为:
通过规则配置用户界面,删除、修改、增加或查询所述规则库中的规则。
所述步骤A2之后还包括:
对所述建立的规则根据应用业务的类别进行分类。
以及,还包括
为所述规则库中的规则定义版本号及相应的版本状态,每次创建新规则时定义初始版本号,以后修改该规则时生成新的版本号,保持只有一个版本处于激活状态,其它版本为非激活状态。
此外,本发明还提出一种基于数据库函数的规则实现及应用的装置,包括,
规则模型管理单元,用于根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库中;
规则管理单元,用于根据所述规则模型库中的规则模型,建立符合所述业务规则模型的多个规则;将所述规则转化为规则描述语言,并保存到规则库中;
规则调用接口单元,用于将所述规则库中的规则实现为数据库函数,所述数据库函数的名称作为被调用接口;
规则关联单元,用于根据应用需求配置源数据与所应用规则的关联关系;
规则调用单元,用于根据规则关联单元所配置的规则,获取用户输入的源数据中关键要素的值,根据规则关联单元所关联的规则名称,通过规则调用接口,调用所述关联规则相对应的数据库函数,执行所述数据库函数,返回执行结果。
所述规则关联单元所建立的规则描述为自定义类规则或公式类规则;所述的自定义类规则逻辑为如果…则…表达式,所述的公式类规则为数学运算表达式。
所述规则调用接口单元具体包括:
转化子模块,用于将数据库函数名称确定为规则名称,将所述规则表达式中的关键要素定义为数据库函数的输入输出参数;将规则描述语言形式的规则表达式转化为数据库函数的程序体部分。
组装子模块,用于组装数据库函数的程序头和程序体,程序头包括转化子模块确定的数据库函数名称和输入输出参数。
所述的规则模型管理单元还包括:
规则模型更新模块,用于删除、修改、增加或查询所述业务规则模型库中的业务规则模型,其中,所述修改的方式为通过增加或删除规则关键要素的方式。
所述规则模型管理单元具体通过规则模型配置用户界面,删除、修改、增加或查询所述业务规则模型库中的业务规则模型。
所述的规则管理单元还包括:
规则更新模块,用于删除、修改、增加或查询所述规则库中的规则。
所述规则管理单元,具体通过规则配置用户界面删除、修改、增加或查询所述规则库中的规则。
所述规则管理单元还包括:
规则分类模块,用于对所述规则管理单元建立的规则进一步根据应用业务的类型进行分类。
所述的规则管理单元还包括:
版本管理单元,为所述规则库中的规则定义版本号及相应的版本状态,每次创建新规则时定义初始版本号,以后修改该规则时生成新的版本号,保持只有一个版本处于激活状态,其它版本为非激活状态。
从上述的技术方案可以看出,本发明实施例在基于数据库函数实现的规则引擎的实现结果上,通过直接调用数据库中的数据库函数对应用源数据进行处理,从而可以将规则引擎中繁琐算法的实现借助于简单的数据库函数来实现,对开发人员的要求下降到熟悉数据库函数的编程方法即可,从而降低了规则引擎的开发难度,节省了成本,提高了规则处理的效率。本发明优选的实施例还建立了规则模型管理和规则管理的方法及机制,从而达到规则数据库的灵活更新,使更加满足应用需求。进一步地,本发明优选的实施例还通过实现易于操作的规则配置界面,使用户不需要学习规则描述语言的语法形式,便可以方便地配置规则。
相对于现有的JAVA规则引擎来说,本发明实施例在数据库中实现规则引擎,能够使实现更简单,也不需要像Drools一样需要程序员学习非常复杂的算法,同时在实现上也不像商业引擎那么昂贵,更利于在实际应用中推广使用。进一步的,本发明实施例也能在计算机上执行上述方法对外部对象或者内部数据进行处理时,提升计算机的响应能力和处理性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明的规则实现及应用的方法实施例一的流程图;
图2为本发明的规则实现及应用的方法实施例二的流程图;
图3为本发明的方法实施例二规则模型配置用户界面的一个示意图;
图4为本发明的方法实施例二自定义规则详细内容的规则创建界面的示意图;
图5为本发明的方法实施例二公式类规则的规则创建界面的示意图;
图6为本发明数据处理装置实施例一的结构示意图;
图7为本发明数据处理装置实施例二的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,示出了本发明的一种基于数据库函数的规则实现及应用的方法实施例一的流程图,可以包括以下步骤:
步骤101:根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库中。
本发明在建立规则之前,需要先建立业务规则模型,该业务规则模型包括一个或多个规则关键要素。这里的规则业务模型是指,规则应用于实际业务场景时,组成规则的若干相关关键要素的集合,也可以简称为业务模型。这些关键要素决定了相关业务模型的结构,这些关键要素的变化对业务模型的变化有重要的影响。比如G网基站平均断站信息就决定了网络质量,设备的CPU利用率、内存占用率、硬盘吞吐量决定了设备的状态,因此网络质量考核模型中有一个关键要素-G网基站平均断站信息,设备告警模型中有三个关键要素-CPU利用率、内存占用率和硬盘吞吐量,这些模型及关键要素由用户根据规则应用的业务场景自行定义。
在本发明实现方案中,将关键要素实现为相关的业务属性字段。在规则创建之前,只要先创建一系列的规则业务模型,就可以基于这些模型创建相应的规则了。这样创建出来的规则就是以规则业务模型为指导的规则。借助简单的用户界面编辑功能可以实现轻松的规则创建。
步骤102:建立符合所述业务规则模型的多个规则。
在建立业务规则模型并保存到规则模型库之后,接着创建符合前述业务规则模型的规则。其中,建立规则时需要选择规则类型,类型则表示一个规则是自定义规则还是公式类规则等,自定义规则一般用于可以描述成“if……else……”这种形式的规则,而公式类规则,则用于可以将业务规则推理转换为线性数学公式类的,例如y=ax+b这种形式的。
其中,公式类规则中的公式可以是线性数学公式,目前可以根据用户规则推理出来,或者是采用用户直接给定的计算公式,只要在规则创建界面直接录入公式即可,例如:y=A-A*(x/y),得分(Z)=配置总分(A)-配置总分(A)*(【申请时间】(X)/总工单数(Y))。
目前的规则基本都能够直接或者间接通过自定义和公式类规则来创建,例如:故障工单紧急程度和所走流程分支的关联规则定义:当故障工单紧急程度为非常紧急时,走流程A分支,当故障工单紧急程度为紧急时,走流程B分支。则规则可以描述成“if……else……”,只需要将返回结果再进行业务翻译即可。
步骤103:将所述多个规则转化为规则描述语言,并保存到规则库中。
下面用一个实例说明规则转化为规则描述语言的过程。假设需要创建某省业务考核得分计算规则,该规则所表示的含义(即是其定义)为:G网基站平均断站次数小于或等于0.5次则结果为满分,而该断站次数每超过0.5次,扣10%的分,扣完为止。那么可以定义一个网络考核模型的业务模型,其属性是G网基站平均断站次数。假设符合此业务规则模型的规则的权重分为5分,则基准值为0.5、满分为5分。根据上述规则的定义可解析为:当断站次数大于或等于0且小与或等于0.5,则得5分;当断站次数大于0.5且小于或等于1,则得4.5分;当段站次数大于1且小于或等于≤1.5,则得4分,依此类推。
那么用“右值”代表断站次数应该大于或等于的值,而用“左值”代表断站次数应该小于或等于的值;实际值”为G网基站平均断站次数,可得表1所示的规则描述。
表1
ID | 实际值 | 比较符号 | 左值 | 连接符号 | 实际值 | 比较符 | 右值 | 返回值 |
1 | 实际值 | > | 0 | 并且 | 实际值 | <= | 0.5 | 5 |
2 | 实际值 | > | 0.5 | 并且 | 实际值 | <= | 1 | 4.5 |
3 | 实际值 | > | 1 | 并且 | 实际值 | <= | 1.5 | 4 |
4 | 实际值 | > | 1.5 | 并且 | 实际值 | <= | 2 | 3.5 |
5 | 实际值 | > | 2 | 并且 | 实际值 | <= | 2.5 | 3 |
6 | 实际值 | > | 2.5 | 并且 | 实际值 | <= | 3 | 2.5 |
再将表1内容转化为规则描述语言,作为规则的详细信息保存至规则库中,如下:
在本步骤中将建立的规则的基本信息及详细内容都保存在规则库中,也方便后续可能更新规则而用,或者,也可以从所述规则库中查询规则,以显示规则的信息,例如:主键(即是规则标识)、主键英文名、主键中文名、规则详细内容、规则创建者、规则创建时间、规则状态、规则版本号、规则描述、规则所属类别标识和/或规则所属业务模型。该规则库用于保存创建的多个规则。
在实际应用中,为了方便本领域技术人员更好的理解规则数据库,本发明实施例将规则保存为数据表形式,例如下面举出几个数据表结构的实例。
表2为规则模型基本表结构,用于存储规则模型的基本信息。与如下表3是一对多关系。
字段名称 | 字段类型 | 字段描述 |
id | Varchar2(32) | 主键 |
model_name_en | Varchar2(50) | 模型英文名 |
model_name_cn | Varchar2(100) | 模型中文名 |
表3为包含业务属性的规则模型结构:
表3
字段名称 | 字段类型 | 字段描述 |
id | Varchar2(32) | 主键 |
model_id | Varchar2(32) | 业务模型标识 |
field_name_en | Varchar2(50) | 字段英文名 |
field_name_cn | Varchar2(100) | 字段中文名 |
field_type | Varchar2(50) | 字段类型名 |
表4为简单的规则配置表结构:
表4
表5为规则表结构:
表5
字段名称 | 字段类型 | 字段描述 |
id | Varchar2(32) | 主键 |
rule_name_en | Varchar2(50) | 规则英文名 |
rule_name_cn | Varchar2(100) | 规则中文名 |
rule_content | Varchar2(500) | 规则详细内容 |
rule_create_user | Varchar2(50) | 规则创建者 |
rulec_reate_time | Varchar2(50) | 规则创建时间 |
rule_status | Varchar2(50) | 规则状态 |
rule_version | Varchar2(50) | 规则版本号 |
rule_description | Varchar2(500) | 规则描述 |
rule_type_id | Varchar2(32) | 所属类别id |
rule_model_id | Varchar2(32) | 所属业务模型id |
步骤104:将所述规则库中的规则实现为数据库函数,所述数据库函数的名称作为被调用接口。
在本步骤中需要将规则库中的规则实现为数据库函数,该数据库函数的名称作为被调用接口。具体的,所述的数据库函数名称确定为规则名称,数据库函数的程序头包括数据库函数的名称和输入输出参数,将所述规则表达式中的关键要素定义为数据库函数的输入输出参数;将规则描述语言形式的规则表达式转化为数据库函数的程序体部分。其中,所述的的数据库函数是以数据库脚本语言描述的。其中,数据库函数可以是由一个或多个T-SQL(执行结构化查询语言,Transact-Structured Query Language)语句组成的子程序,可被封装代码以便重新使用。数据库函数是以编译后的形式存放在数据库中的函数。其中,函数可以没有参数也可以有多个参数并有一个返回值,也可以通过参数列表获取或返回零个或多个值。T-SQL语句可以分为四大类,分别为数据定义语句、数据操作语句、数据控制语句和一些附加的语言元素。
需要说明的是,规则库中的规则可保存为数据表,该规则数据表中的内容后续可以随时进行更新,而数据库函数则是根据规则关键要素和数据库脚本语言转化组装后保存至数据库中才生成的。
在本实施例中生成的数据库函数也称为规则文件,即PL/SQL(过程化SQL语言,Procedural Language/SQL)中的函数“Function”。具体的,需要将数据库函数名称确定为规则名称,数据库函数的程序头除了数据库函数名称,还包括输入输出参数,,即将规则业务模型中的所有关键要素(业务属性字段)定义成“Function”的输入输出(IN OUT)参数。其中,生成的数据库函数的格式可以如下所示:
上述“规则语句”包含了返回值的计算方式,调用数据库函数之后最后返回计算得到的“返回值”。
而上述数据库函数可以通过JDBC(是一种用于执行SQL语句的Java API)执行规则(即ORACLE中的function)。需要说明的是,也可以用Map的格式来表示规则,用户可以根据其定义的业务模型进行设置,例如业务模型字段的英文名为Map的key值,从应用模块获得的实际值为Map的value值。例如:考核规则模型的字段G网基站平均断站次数的英文名为bugNum,实际值是1次。则Map的key值为bugNum,value值为1。
在实际应用中,针对表1所述的规则内容,参考上述数据库函数的格式可知,表1对应的数据库函数的实例如下所示:
需要说明的是,通过业务模型限制规则的左值,业务模型管理只提供给业务经理人员。初始部署时预先定义好,供用户选择。该功能主要解决了用户创建规则与需求开发的规则参数不一致产生的错误。
以上步骤101-104主要是建立和维护规则的过程,下面的步骤就是如何应用这些规则了。
步骤105:根据应用需求配置源数据与所应用规则的关联关系。
本实施例中所述的源数据是需要应用规则处理的信息,对于公式类规则,可以是一个需要计算的数值,对于如果…则…规则,可以是一个需要满足的条件。
将需要进行规则计算的源数据与已建好的应用规则建立关联关系;
当需要调用规则计算时,则源数据会根据所建立的规则关联关系,调用规则对应的数据库函数进行计算,根据源数据中的关键要素的值。
这种关联关系的配置,可以由多种方式实现,本实施例是通过配置文件进行规则关联配置的;如有计算规则变化,直接修改配置文件即可。
规则配置文件示例如下:
步骤106、获取用户输入的所述源数据中关键要素的值,通过调用所述关联规则相对应的数据库函数执行所述规则,返回执行结果。
通过用户输入的关键要素的值,调用与所述关联规则相对应的数据库函数以执行规则,例如用户输入了G网基站平均断站次数是1.8次,那么根据需要对该关键要素进行的处理(即是根据G网基站平均断站次数来得到考核得分)可以得知,需要调用计算考核得分的计算规则,此处通过规则调用接口,对此规则对应的数据库函数进行调用,该规则调用接口可以为应用系统提供调用的统一接口。
需要说明的是,通过调用接口调用数据库函数时,只需要将关键要素的值即是参数的实际取值情况输入,递给规则中定义的变量,规则计算交给数据库执行,即可返回执行结果。例如本例中将实际断站次数传递进去后,即可获得考核得分。
在本实施例中规则对应的数据库函数是保存在数据库中,调用规则亦是间接调用了数据库中保存的这些函数,从而计算出结果,也是上述表1中的返回值。
本实施例在具体创建或者配置规则时,可以为每条规则配置应用系统模块的标识,通过应用模块来实现应用系统模块与规则的关联关系,通过这种关联关系,更便于对管理人员对规则的管理和维护。
本发明实施例在基于数据库函数实现的规则引擎的实现结果上,通过直接调用数据库中的数据库函数对应用源数据进行处理,从而可以将规则引擎中繁琐算法的实现借助于简单的数据库函数来实现,对开发人员的要求下降到熟悉数据库函数的编程方法即可,从而降低了规则引擎的开发难度,节省了成本,提高了规则处理的效率。本发明优选的实施例还建立了规则模型管理和规则管理的方法及机制,从而达到规则数据库的灵活更新,使更加满足应用需求。进一步地,本发明优选的实施例还通过实现易于操作的规则配置界面,使用户不需要学习规则描述语言的语法形式,便可以方便地配置规则。同时,也能保证在计算机上执行上述方法对规则进行处理的时候,提升计算机的响应能力以及处理性能。
参见图2,示出了本发明的一种基于数据库函数的规则实现及应用的方法实施例二的流程图,可以包括以下步骤:
步骤201:根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库中。
具体可以通过增加或删除规则关键要素即业务字段的方式来实现。规则中的关键要素在创建规则模型的时候进行定义,所有规则可能需要的业务字段都可以预先在创建规则模型时进行定义。例如G网基站平均断站次数,工单的紧急程度等。
步骤202:删除、修改、增加或查询所述业务规则模型库中的业务规则模型,其中,所述修改的方式为通过增加、修改或删除规则关键要素(业务属性字段)的方式。
本步骤具体可以通过规则模型配置用户界面删除、修改、增加或查询所述业务规则模型库中的业务规则模型。请参见图3a和图3b所示,其中实现业务规则模型的修改,可通过模型属性添加、修改、删除来实现,即增加、修改、删除业务属性字段。图3c所示是业务属性字段的添加或修改界面。
步骤203:建立符合所述业务规则模型的多个规则。
在本实施例中,可以根据规则类型和预置的规则业务模型,建立符合业务规则模型的多个规则。例如可以建立规则类型为自定义规则,且规则业务模型为考核模型的G网基站平均断站信息规则。
步骤204:对所述建立的规则根据应用业务的类型进行分类。
在本实施例中,还可以根据应用业务的类型对已经建立的规则进行分类,例如规则为流程类规则还是考核类规则等。
表6为规则分类实例表。
表6
需要说明的是,上述规则数据表只是规则内容的一种存储形式,因此,规则数据表中的形式可以任意设置,只要能保存规则内容即可。
步骤205:根据规则逻辑将所述建立的规则描述为自定义类规则或公式类规则;其中,所述的自定义类规则逻辑为如果…则…表达式,所述公式类规则为数学运算表达式。
其中,自定义规则利用运算符号,例如“+、-、*、/”等常用数学计算符号,编写自己需要的公式。
步骤206:删除、修改、增加或查询所述规则库中的规则。
本步骤具体可以为:通过规则配置用户界面删除、修改、增加或查询所述规则库中的规则。
以下是增加规则的实例。
图4所示通过规则配置用户界面完成自定义规则详细内容的编辑界面。自定义规则时选择“添加模板”按钮,即可自动添加一行如下所示的规则模板语句,即规则描述语言的模板语句:
IF?>1AND?<=10THEN?=:10;END IF;
其中的“?”为对应业务模型的关键要素,即业务属性字段,然后可以通过图4中“替换”按钮,将模板语句中的“?”替换成所需要的业务字段,这样即能进行快速的规则编辑,也能防止产生不必要的用户输入错误,提升规则编辑质量。其中,图4的左侧是业务属性字段,编辑好规则后,可以将上述模板语句中的“?”替换成图4中完整的规则描述语言。其中,图4中的第一行按钮是用来添加比较符号的,将光标放在文本域的相应位置,点击按钮即可。第二行按钮是用来添加运算符号的,将光标放在文本域的相应位置,点击按钮即可。
而公式类规则的规则配置用户界面则如图5所示。用户只需要在规则详细内容中输入具体的运算公式即可。如果用户双击图5左侧的业务模型字段,就可以在图5右侧添加内容。其中,图5中的第一行按钮是用来添加运算符号的,将光标放在文本域的相应位置,点击按钮即可。
需要说明的是,本实施例中给出的规则创建界面都是具体的例子,其所示意的内容不应理解为对本发明的限制,在实际应用场景中可以根据场景需求适应性调整规则创建界面。
需要说明的是,本实施例中创建的规则可以采用版本进行描述,一个规则可以有多个版本,但只有一个版本是激活状态。而每次创建新的规则时定义初始版本号,以后修改该规则时生成新的版本号,用于区分不同版本的规则。本实施例可以支持一个规则返回多个处理结果的情况。采用版本管理有2个用途:
1、对一个规则进行修改后,新的规则会保存成为跟原规则名称相同,但是版本号不同的另一个规则;为了留下规则的修改痕迹,并对已经用规则计算过的数据进行根源回溯,可以找出当时计算时的规则细节,所以对旧的规则进行版本封存;
2、同一个业务规则在不同时期,规则细节可能会有细微变化或者调整,将细节变化的规则分别按版本保存,根据不同的时期,调用不同的规则版本,也免去了对规则反复修改的过程。
在本实施例中,规则数据库因为可以后续再进行更新,因此可以在规则或者规则业务模型的内容发生变化时,依据变化的内容重新更新规则数据表中的规则内容,或者通过规则配置用户界面来删除、修改、增加或查询所述规则库中的规则。这样就能保证规则内容的实时性与准确性,如果后续需要对数据库函数做更新,也需要依据规则数据库中的内容进行。
步骤207:根据应用需求配置源数据与所应用规则的关联关系。
所述的源数据是需要应用规则处理的信息,对于公式类规则,可以是一个需要计算的数值,对于如果…则…规则,可以是一个需要满足的条件。
将需要进行规则计算的源数据与已建好的应用规则建立关联关系;
当需要调用规则计算时,则源数据会根据所建立的规则关联关系,调用规则对应的数据库函数进行计算,根据源数据中的关键要素的值。
这种关联关系的配置,可以由多种方式实现,本实施例是通过配置文件进行规则关联配置的;如有计算规则变化,直接修改配置文件即可。
步骤208、获取用户输入的源数据中关键要素的值,通过调用所述关联规则相对应的数据库函数,执行所述数据库函数,返回执行结果。
本实施例说明了删除、修改、增加或查询规则库中的规则的过程,以及删除、修改、增加或查询所述业务规则模型库中的业务规则模型的过程。这样就在规则引擎简单实现的基础上,保证了规则模型库及规则库中的规则模型及规则都可以实时更新。通过以上的方法实施例的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
相应于上面的方法实施例,本发明实施例还提供一种基于数据库函数的规则实现及应用的装置。参见图6,示出了一种基于数据库函数的规则实现及应用的装置实施例一的结构示意图,可以包括:
规则模型管理单元601,用于根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库602中;
规则管理单元603,用于选取所述规则模型库中的规则模型,建立符合所述业务规则模型的多个规则;将所述规则转化为规则描述语言,并保存到规则库604中;
规则调用接口单元605,用于将所述规则库中的规则实现为数据库函数,保存到数据库函数库(也称规则文件)606中,所述数据库函数的名称作为被调用接口;
所述规则调用接口单元605可以具体包括:
转化子模块,用于将数据库函数名称确定为规则名称,将所述规则表达式中的关键要素定义为数据库函数的输入输出参数;将规则描述语言形式的规则表达式转化为数据库函数的程序体部分。
组装子模块,用于组装数据库函数的程序头和程序体,程序头包括转化子模块确定的数据库函数名称和输入输出参数。
规则关联单元607,用于根据应用需求配置源数据与所应用规则的关联关系;所述规则取于规则库604。源数据通过用户界面获取。
规则调用单元608,用于根据规则关联单元607所配置的规则,获取用户输入的源数据中关键要素的值,根据规则关联单元607所关联的规则名称,通过规则调用接口,从数据库函数库606调用所述关联规则相对应的数据库函数,执行所述数据库函数,返回执行结果。
本实施例所公开的规则实现及应用的装置,实现了基于数据库函数的规则实现及应用的方法,规则模型管理单元和规则管理单元使用户有效地建立规则库,通过规则调用接口将规则实现为数据库函数,在基于数据库函数实现的规则引擎的实现机制基础上,通过直接调用数据库中的数据库函数对源数据进行处理,从而可以将规则中繁琐算法的实现借助于简单的数据库函数来实现,对开发人员的要求下降到熟悉数据库函数的编程方法即可,从而不仅降低了规则引擎的开发难度,节省了成本,还提高了规则处理的效率。
参见图7,示出了一种基于数据库函数的规则实现及应用的装置实施
例二的结构示意图,可以包括:
规则模型管理单元601,用于根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库602中;
其中,还包括规则模型更新模块6011,用于删除、修改、增加或查询所述业务规则模型库中的业务规则模型,其中,所述修改的方式为通过增加或删除规则关键要素的方式。
所述规则模型更新单元6011具体可以用于:
通过规则模型配置用户界面删除、修改、增加或查询所述业务规则模型库中的业务规则模型。
规则管理单元603,用于选取所述规则模型库中的规则模型,建立符合所述业务规则模型的多个规则;将所述规则转化为规则描述语言,并保存到规则库中;
规则更新模块6031,用于删除、修改、增加或查询所述规则库中的规则。
所述规则更新模块6031,具体可以用于:
通过规则配置用户界面删除、修改、增加或查询所述规则库中的规则。
规则调用接口单元605,用于将所述规则库中的规则实现为数据库函数,所述数据库函数的名称作为被调用接口;
规则关联单元607,用于根据应用需求配置源数据与所应用规则的关联关系;
所述规则关联单元607所建立的规则描述为自定义类规则或公式类规则;所述的自定义类规则逻辑为如果…则…表达式,所述的公式类规则为数学运算表达式。
规则调用单元608,用于根据规则关联单元所配置的规则,获取用户输入的规则中关键要素的值,通过规则调用接口,调用所述规则相关联的数据库函数,执行所述规则,返回执行结果。
在本实施例中,规则数据库因为可以后续在进行更新,因此可以在规则或者规则业务模型的内容发生变化时,依据变化的内容重新更新规则数据表中的规则内容。这样就能保证规则内容的实时性与准确性,如果后续需要对数据库函数做更新,也可以依据规则数据表中的内容进行。
另外,为便于管理不同应用需求的规则,上述的规则管理单元还可以包括规则分类单元6032,用于对所述规则管理单元建立的规则进一步根据应用业务的类型进行分类。
为了保留规则的创建、更新过程记录,上述的规则管理单元还可以包括规则版本管理单元6033,为所述规则库中的规则定义版本号及相应的版本状态,每次创建新规则时定义初始版本号,以后修改该规则时生成新的版本号,保持只有一个版本处于激活状态,其它版本为非激活状态。
可以理解的是,本发明可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述仅是本发明的具体实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (18)
1.一种基于数据库函数的规则实现及应用的方法,其特征在于,包括:
步骤A1、根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库中;
步骤A2、建立符合所述业务规则模型的多个规则;
步骤A3、将所述多个规则转化为规则描述语言,并保存到规则库中;
步骤A4、将所述规则库中的规则实现为对应的数据库函数,所述数据库函数的名称作为被调用接口;
步骤B1、根据应用需求配置源数据与所应用规则的关联关系;
步骤B2、获取用户输入的源数据中关键要素的值,通过调用所述关联规则相对应的数据库函数,执行所述数据库函数,返回执行结果。
2.根据权利要求1所述的方法,其特征在于,所述步骤A3中的将所述多个规则转化为规则描述语言,具体为:
根据规则逻辑将所述建立的规则描述为自定义类规则或公式类规则;其中,所述的自定义类规则逻辑为基于规则关键要素的如果…则…表达式,所述公式类规则为以规则关键要素为自变量的数学运算表达式。
3.根据权利要求2所述的方法,其特征在于,所述步骤A4的将所述规则库中的规则实现为对应的数据库函数,具体为:
所述的数据库函数名称确定为规则名称,数据库函数的程序头包括数据库函数的名称和输入输出参数,将所述规则表达式中的关键要素定义为数据库函数的输入输出参数;将规则描述语言形式的规则表达式转化为数据库函数的程序体部分。
4.根据权利要求1所述的方法,其特征在于,所述步骤A1之后,还包括:
步骤A11:删除、修改、增加或查询所述业务规则模型库中的业务规则模型,其中,所述修改的方式为通过增加或删除规则关键要素的方式。
5.根据权利要求4所述的方法,其特征在于,所述步骤A11,具体为:
通过规则模型配置用户界面,删除、修改、增加或查询所述业务规则模型库中的业务规则模型。
6.根据权利要求31所述的方法,其特征在于,所述步骤A3之后,还包括:
步骤A31:删除、修改、增加或查询所述规则库中的规则。
7.根据权利要求6所述的方法,其特征在于,所述步骤A31,具体为:
通过规则配置用户界面,删除、修改、增加或查询所述规则库中的规则。
8.根据权利要求1所述的方法,其特征在于,所述步骤A2之后还包括:
对所述建立的规则根据应用业务的类别进行分类。
9.根据权利要求1所述的方法,其特征在于,还包括
为所述规则库中的规则定义版本号及相应的版本状态,每次创建新规则时定义初始版本号,以后修改该规则时生成新的版本号,保持只有一个版本处于激活状态,其它版本为非激活状态。
10.一种基于数据库函数的规则实现及应用的装置,其特征在于,包括,
规则模型管理单元,用于根据规则应用需求,建立包括一个或多个规则关键要素的业务规则模型,保存到规则模型库中;
规则管理单元,用于根据所述规则模型库中的规则模型,建立符合所述业务规则模型的多个规则;将所述规则转化为规则描述语言,并保存到规则库中;
规则调用接口单元,用于将所述规则库中的规则实现为数据库函数,所述数据库函数的名称作为被调用接口;
规则关联单元,用于根据应用需求配置源数据与所应用规则的关联关系;
规则调用单元,用于根据规则关联单元所配置的规则,获取用户输入的源数据中关键要素的值,根据规则关联单元所关联的规则名称,通过规则调用接口,调用所述关联规则相对应的数据库函数,执行所述数据库函数,返回执行结果。
11.根据权利要求10所述的装置,其特征在于,所述规则关联单元所建立的规则描述为自定义类规则或公式类规则;所述的自定义类规则逻辑为如果…则…表达式,所述的公式类规则为数学运算表达式。
12.根据权利要求11所述的装置,其特征在于,所述规则调用接口单元具体包括:
转化子模块,用于将数据库函数名称确定为规则名称,将所述规则表达式中的关键要素定义为数据库函数的输入输出参数;将规则描述语言形式的规则表达式转化为数据库函数的程序体部分。
组装子模块,用于组装数据库函数的程序头和程序体,程序头包括转化子模块确定的数据库函数名称和输入输出参数。
13.根据权利要求10所述的装置,其特征在于,所述的规则模型管理单元还包括:
规则模型更新模块,用于删除、修改、增加或查询所述业务规则模型库中的业务规则模型,其中,所述修改的方式为通过增加或删除规则关键要素的方式。
14.根据权利要求13所述的装置,其特征在于,所述规则模型管理单元具体通过规则模型配置用户界面,删除、修改、增加或查询所述业务规则模型库中的业务规则模型。
15.根据权利要求10所述的装置,其特征在于,所述的规则管理单元还包括:
规则更新模块,用于删除、修改、增加或查询所述规则库中的规则。
16.根据权利要求15所述的装置,其特征在于,所述规则管理单元,具体
通过规则配置用户界面删除、修改、增加或查询所述规则库中的规则。
17.根据权利要求10所述的装置,其特征在于,所述规则管理单元还包括:
规则分类模块,用于对所述规则管理单元建立的规则进一步根据应用业务的类型进行分类。
18.根据权利要求10所述的装置,其特征在于,所述的规则管理单元还包括:
版本管理单元,为所述规则库中的规则定义版本号及相应的版本状态,每次创建新规则时定义初始版本号,以后修改该规则时生成新的版本号,保持只有一个版本处于激活状态,其它版本为非激活状态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104513135A CN103186579A (zh) | 2011-12-29 | 2011-12-29 | 一种基于数据库函数的规则实现及应用的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104513135A CN103186579A (zh) | 2011-12-29 | 2011-12-29 | 一种基于数据库函数的规则实现及应用的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103186579A true CN103186579A (zh) | 2013-07-03 |
Family
ID=48677748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104513135A Pending CN103186579A (zh) | 2011-12-29 | 2011-12-29 | 一种基于数据库函数的规则实现及应用的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103186579A (zh) |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473642A (zh) * | 2013-09-10 | 2013-12-25 | 中国科学院沈阳自动化研究所 | 一种面向生产调度的规则引擎方法 |
CN103793223A (zh) * | 2013-12-27 | 2014-05-14 | 远光软件股份有限公司 | 一种规则创建方法及系统 |
CN104932935A (zh) * | 2015-05-27 | 2015-09-23 | 武汉捷讯信息技术有限公司 | 基于扩展Drools5规则引擎的数据流处理方法及系统 |
CN105446799A (zh) * | 2014-08-22 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种计算机系统中进行规则管理的方法及系统 |
CN105701242A (zh) * | 2016-02-26 | 2016-06-22 | 浪潮通信信息系统有限公司 | 一种可扩展的智能移动终端动态规则检测引擎 |
CN105739956A (zh) * | 2014-12-09 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 计算机系统的构建智能规则模型的方法及系统 |
CN105786932A (zh) * | 2014-12-26 | 2016-07-20 | 北大医疗信息技术有限公司 | 医疗系统中临床业务的查询方法及查询装置 |
CN106201537A (zh) * | 2016-07-18 | 2016-12-07 | 浪潮通用软件有限公司 | 一种数据处理方法及装置 |
CN106204285A (zh) * | 2016-07-14 | 2016-12-07 | 深圳麦亚信科技股份有限公司 | 基于云计算的保险规则处理方法及系统 |
CN106407357A (zh) * | 2016-09-07 | 2017-02-15 | 深圳市中易科技有限责任公司 | 一种文本数据规则模型开发的工程方法 |
CN106649402A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种规则发布系统、方法及装置 |
CN106897927A (zh) * | 2017-02-16 | 2017-06-27 | 中国人民银行清算总中心 | 一种交易系统业务检查方法及系统 |
CN107784400A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 一种业务模型的执行方法和装置 |
CN108008944A (zh) * | 2017-11-29 | 2018-05-08 | 千寻位置网络有限公司 | 规则引擎响应方法及系统、规则引擎、服务终端、存储器 |
CN108228487A (zh) * | 2017-12-29 | 2018-06-29 | 安徽方正医疗信息技术有限公司 | 一种调用业务规则的通用接口方法 |
CN109241158A (zh) * | 2018-08-03 | 2019-01-18 | 上海嘉银金融科技股份有限公司 | 用于规则管理的数据源自定义方法以及装置 |
CN109783470A (zh) * | 2018-12-13 | 2019-05-21 | 中国平安人寿保险股份有限公司 | 数据库子系统的属主追踪装置、方法及存储介质 |
CN109858607A (zh) * | 2019-03-08 | 2019-06-07 | 网宿科技股份有限公司 | 一种模型应用方法、管理方法、系统及服务器 |
CN110083707A (zh) * | 2019-04-26 | 2019-08-02 | 苏州热工研究院有限公司 | 一种构建核电消防规范规则库的方法 |
CN110502546A (zh) * | 2019-08-22 | 2019-11-26 | 郑州阿帕斯科技有限公司 | 一种数据处理方法及装置 |
CN110647546A (zh) * | 2019-09-18 | 2020-01-03 | 北京明略软件系统有限公司 | 第三方规则引擎生成方法及装置 |
CN110865804A (zh) * | 2019-09-30 | 2020-03-06 | 天阳宏业科技股份有限公司 | 一种规则引擎的优化方法、装置、系统及存储介质 |
CN112183936A (zh) * | 2020-08-31 | 2021-01-05 | 中冶南方都市环保工程技术股份有限公司 | 一种用于工业生产管理的性能指标实时计算方法 |
CN115686621A (zh) * | 2022-12-29 | 2023-02-03 | 四川新网银行股份有限公司 | 一种规则引擎规则脚本的生成方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050222996A1 (en) * | 2004-03-30 | 2005-10-06 | Oracle International Corporation | Managing event-condition-action rules in a database system |
CN102231162A (zh) * | 2011-07-01 | 2011-11-02 | 福建富士通信息软件有限公司 | 基于业务处理的规则引擎动态配置方法 |
CN102253984A (zh) * | 2011-06-28 | 2011-11-23 | 用友软件股份有限公司 | 查询语句处理装置和查询语句处理方法 |
-
2011
- 2011-12-29 CN CN2011104513135A patent/CN103186579A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050222996A1 (en) * | 2004-03-30 | 2005-10-06 | Oracle International Corporation | Managing event-condition-action rules in a database system |
CN102253984A (zh) * | 2011-06-28 | 2011-11-23 | 用友软件股份有限公司 | 查询语句处理装置和查询语句处理方法 |
CN102231162A (zh) * | 2011-07-01 | 2011-11-02 | 福建富士通信息软件有限公司 | 基于业务处理的规则引擎动态配置方法 |
Non-Patent Citations (2)
Title |
---|
王伟辉: "基于业务规则的专家系统关键技术研究", 《中国博士学位论文全文数据库信息科技辑》 * |
范力: "基于规则引擎的操作系统可配置性的研究与实现", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103473642A (zh) * | 2013-09-10 | 2013-12-25 | 中国科学院沈阳自动化研究所 | 一种面向生产调度的规则引擎方法 |
CN103793223A (zh) * | 2013-12-27 | 2014-05-14 | 远光软件股份有限公司 | 一种规则创建方法及系统 |
CN105446799A (zh) * | 2014-08-22 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种计算机系统中进行规则管理的方法及系统 |
CN105739956A (zh) * | 2014-12-09 | 2016-07-06 | 阿里巴巴集团控股有限公司 | 计算机系统的构建智能规则模型的方法及系统 |
CN105739956B (zh) * | 2014-12-09 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 计算机系统的构建智能规则模型的方法及系统 |
CN105786932A (zh) * | 2014-12-26 | 2016-07-20 | 北大医疗信息技术有限公司 | 医疗系统中临床业务的查询方法及查询装置 |
CN105786932B (zh) * | 2014-12-26 | 2020-03-27 | 北大医疗信息技术有限公司 | 医疗系统中临床业务的查询方法及查询装置 |
CN104932935A (zh) * | 2015-05-27 | 2015-09-23 | 武汉捷讯信息技术有限公司 | 基于扩展Drools5规则引擎的数据流处理方法及系统 |
CN106649402A (zh) * | 2015-11-03 | 2017-05-10 | 阿里巴巴集团控股有限公司 | 一种规则发布系统、方法及装置 |
CN105701242A (zh) * | 2016-02-26 | 2016-06-22 | 浪潮通信信息系统有限公司 | 一种可扩展的智能移动终端动态规则检测引擎 |
CN106204285A (zh) * | 2016-07-14 | 2016-12-07 | 深圳麦亚信科技股份有限公司 | 基于云计算的保险规则处理方法及系统 |
CN106201537A (zh) * | 2016-07-18 | 2016-12-07 | 浪潮通用软件有限公司 | 一种数据处理方法及装置 |
CN107784400A (zh) * | 2016-08-24 | 2018-03-09 | 北京京东尚科信息技术有限公司 | 一种业务模型的执行方法和装置 |
CN107784400B (zh) * | 2016-08-24 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 一种业务模型的执行方法和装置 |
CN106407357A (zh) * | 2016-09-07 | 2017-02-15 | 深圳市中易科技有限责任公司 | 一种文本数据规则模型开发的工程方法 |
CN106407357B (zh) * | 2016-09-07 | 2019-04-19 | 深圳市中易科技有限责任公司 | 一种文本数据规则模型开发的工程方法 |
CN106897927A (zh) * | 2017-02-16 | 2017-06-27 | 中国人民银行清算总中心 | 一种交易系统业务检查方法及系统 |
CN108008944A (zh) * | 2017-11-29 | 2018-05-08 | 千寻位置网络有限公司 | 规则引擎响应方法及系统、规则引擎、服务终端、存储器 |
CN108228487A (zh) * | 2017-12-29 | 2018-06-29 | 安徽方正医疗信息技术有限公司 | 一种调用业务规则的通用接口方法 |
CN109241158B (zh) * | 2018-08-03 | 2022-09-16 | 上海嘉银金融科技股份有限公司 | 用于规则管理的数据源自定义方法以及装置 |
CN109241158A (zh) * | 2018-08-03 | 2019-01-18 | 上海嘉银金融科技股份有限公司 | 用于规则管理的数据源自定义方法以及装置 |
CN109783470B (zh) * | 2018-12-13 | 2024-02-06 | 中国平安人寿保险股份有限公司 | 数据库子系统的属主追踪装置、方法及存储介质 |
CN109783470A (zh) * | 2018-12-13 | 2019-05-21 | 中国平安人寿保险股份有限公司 | 数据库子系统的属主追踪装置、方法及存储介质 |
CN109858607A (zh) * | 2019-03-08 | 2019-06-07 | 网宿科技股份有限公司 | 一种模型应用方法、管理方法、系统及服务器 |
CN110083707B (zh) * | 2019-04-26 | 2021-04-30 | 苏州热工研究院有限公司 | 一种构建核电消防规范规则库的方法 |
CN110083707A (zh) * | 2019-04-26 | 2019-08-02 | 苏州热工研究院有限公司 | 一种构建核电消防规范规则库的方法 |
CN110502546A (zh) * | 2019-08-22 | 2019-11-26 | 郑州阿帕斯科技有限公司 | 一种数据处理方法及装置 |
CN110647546A (zh) * | 2019-09-18 | 2020-01-03 | 北京明略软件系统有限公司 | 第三方规则引擎生成方法及装置 |
CN110865804A (zh) * | 2019-09-30 | 2020-03-06 | 天阳宏业科技股份有限公司 | 一种规则引擎的优化方法、装置、系统及存储介质 |
CN112183936A (zh) * | 2020-08-31 | 2021-01-05 | 中冶南方都市环保工程技术股份有限公司 | 一种用于工业生产管理的性能指标实时计算方法 |
CN115686621A (zh) * | 2022-12-29 | 2023-02-03 | 四川新网银行股份有限公司 | 一种规则引擎规则脚本的生成方法及装置 |
CN115686621B (zh) * | 2022-12-29 | 2023-06-06 | 四川新网银行股份有限公司 | 一种规则引擎规则脚本的生成方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103186579A (zh) | 一种基于数据库函数的规则实现及应用的方法及装置 | |
US7437703B2 (en) | Enterprise multi-agent software system with services able to call multiple engines and scheduling capability | |
KR101120815B1 (ko) | 완전한 유연성을 가진 자동화에 기초하여 사용자인터페이스를 생성하는 방법 및 장치 | |
CN101617292B (zh) | 面向生成器图的编程和执行 | |
US8776009B2 (en) | Method and system for task modeling of mobile phone applications | |
CN101452386B (zh) | 使用正向推理链执行基于上下文模型的策略的方法及策略引擎 | |
CN102426582B (zh) | 数据操作管理装置和数据操作管理方法 | |
CN103793223A (zh) | 一种规则创建方法及系统 | |
CN101901265B (zh) | 一种虚拟试验数据对象化管理系统 | |
CN102542382A (zh) | 业务规则的管理方法和装置 | |
Shen et al. | A metapattern-based automated discovery loop for integrated data mining-unsupervised learning of relational patterns | |
CN112016256B (zh) | 一种集成电路开发平台、方法、存储介质及设备 | |
CN115469860B (zh) | 基于指令集的需求到软件领域模型的自动生成方法及系统 | |
Glorio et al. | Designing Data Warehouses for Geographic OLAP querying by using MDA | |
Collet et al. | Towards a mediation system framework for transparent access to largely distributed sources | |
Wood et al. | Supporting robotic software migration using static analysis and model-driven engineering | |
Schneider et al. | A role language to interpret multi-formalism system of systems models | |
CN112612481A (zh) | 一种智能中台的系统架构 | |
Rafeh et al. | LinZinc: A library for linearizing Zinc models | |
RIKAČOVS et al. | An Overview of Practical Applications of Model Transformation Language L0. | |
Mascarenhas et al. | Mtp: Model transformation profile | |
CN116627390B (zh) | 航空软件开发中icd文件的替代方法及装置 | |
CN100595754C (zh) | 数据存储中无序和有序集合的实现系统和方法 | |
Fu et al. | Algorithms for analysing related constraint business rules | |
Stohr et al. | Languages for decision support systems: An overview |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130703 |