CN102929973A - 基于xml的规则定义和执行检查方法 - Google Patents
基于xml的规则定义和执行检查方法 Download PDFInfo
- Publication number
- CN102929973A CN102929973A CN2012103912823A CN201210391282A CN102929973A CN 102929973 A CN102929973 A CN 102929973A CN 2012103912823 A CN2012103912823 A CN 2012103912823A CN 201210391282 A CN201210391282 A CN 201210391282A CN 102929973 A CN102929973 A CN 102929973A
- Authority
- CN
- China
- Prior art keywords
- definition
- rule
- true
- boolean expression
- expression
- 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
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及一种基于XML的规则定义和执行检查方法包括:第1步:建立规则的数据表:首先进行如下定义,元数据的定义:元数据是指的业务中某个事物的属性,元数据对应到一张表的一个字段,元数据的定义保存在数据表里;算术运算符的定义;比较运算符的定义;逻辑运算符的定义:范围/多值/除外的定义;规则定义第2步:XML业务规则:将业务规则按照XML的格式定义到第1步所述的数据表中;业务规则是用户提供的对业务数据正确性的判定基础;本步骤将用户提供的所有业务规则翻译后保存在规则表里;第3步:通过逐条计算规则进行校验;第4步:效验结果:根据返回结果为假的规则编号,汇总错误信息,返回调用规则的应用程序。
Description
技术领域
本发明涉及一种基于XML格式规则的定义和通过规则计算来判定数据正确性的方法。
背景技术
在计算机应用领域,不同的行业领域存在不同的业务规则,对数据也就有着相应的要求。业务规则可能会不定期地发生变化,如果将规则固化到程序中,编程工作量很大,并且需要根据规则的变化不断地修改程序。
发明内容
所要解决的技术问题:针对行业领域存在的业务规则问题本发明提供为了一种规则定义和自动计算方法,从而实现数据自动校验的基于XML的规则定义和执行检查方法。
技术方案:为了解决以上问题本发明提供了一种基于XML的规则定义和执行检查方法,其特征在于:包括以下步骤:
第1步:建立规则的数据表:首先进行如下定义,
①元数据的定义;②算术运算符的定义; ③比较运算符的定义;④逻辑运算符的定义 ⑤范围/多值/除外的定义;⑥布尔表达式的定义;⑦规则定义
第2步:XML业务规则:将业务规则按照XML的格式定义到第1步所述的数据表中;
业务规则是用户提供的对业务数据正确性的判定基础;
本步骤将用户提供的所有业务规则翻译后保存在规则表里;
第3步:通过逐条计算规则进行校验;
第4步:效验结果:根据返回结果为假的规则编号,汇总错误信息,返回调用规则的应用程序。
所述的①元数据的定义:元数据是指的业务中某个事物的属性,元数据对应到一张表的一个字段,元数据的定义保存在数据表里;
②算术运算符的定义:算术运算符包括了“+”、“-”、“×”、“÷”;
③比较运算符的定义:比较符包括:“>”、“<”、“=”、“>=”、“<=”,“!=”;
④逻辑运算符的定义:逻辑运算符包括:“and”、“or”、“not”;
⑤范围/多值/除外的定义:{1..10,13;7,9} 范围之间使用 “..”表示,多值使用“,”分隔,除外使用“;”分隔,并且写在最后,{}表示一个集合;
⑥布尔表达式的定义:布尔表达式就是根据上述5类定义组合而成的最终结果是布尔值的表达式;
⑦规则定义:规则表示为如下格式:
<条件>布尔表达式0</条件>
<真>布尔表达式1</真>
<假>布尔表达式2</假>
计算时,先计算布尔表达式0的值,如果为真,则计算布尔表达式1的值返回;否则计算布尔表达式2的值返回;
规则的定义能嵌套多层。
所述的业务规则结构如下: 如果 XXXXX条件,则 实体属性 在/不在 数据范围。
所述第3步包括以下步骤:
第3-1步:解析XML格式规则,得到条件表达式、布尔表达式真和布尔表达式假;
所述第3-1步的XML格式为:
<条件>布尔表达式</条件>
<真>布尔表达式真</真>
<假>布尔表达式假</假>
第3-2步:计算条件表达式的值,得到真或者假;
第3-3步:如果条件表达式为真,则返回计算布尔表达式真,返回计算结果值;否则计算布尔表达式假,返回计算结果值;
所述第3-1步中布尔表达式真和布尔表达式假是嵌套的条件表达式:
<条件>布尔表达式</条件>
<真>
<条件>布尔表达式</条件>
<真>布尔表达式真</真>
<假>布尔表达式假</假>
</真>
<假>布尔表达式假</假>
所述第3步的计算流程为:①解析XML规则,得到条件表达式,布尔表达式真和布尔表达式假;对于条件表达式:②元数据值替换;③算术运算符的处理;④比较运算符的处理;⑤逻辑运算符的处理;⑥得到条件表达式的结果,根据此结果的真假,计算对应布尔表达式真或布尔表达式假,计算过程同②~⑤。
有益效果:本发明可以很好地适应这种变化,通过调整规则库的规则来适应用户变化的规则。业务数据可以先定义元数据,规则中可以利用到这些元数据,而不是直接指定数据库内表的字段,这样可以增强一定的灵活性。
附图说明
图1为本发明方法的原理框图;
图2为本发明计算规则的流程图。
具体实施方式
下面结合附图对本发明作进一步的描述。
本发明的基本思想是,利用XML格式定义规则,根据对规则内表达式的计算来获取规则的校验结果,汇总所有结果为假的规则的提示信息,供各个业务系统调用。
如图1所示,本发明的基于XML的规则定义和执行检查方法,包括以下步骤:
第1步:建立规则的数据表:首先进行如下定义,
①元数据的定义。元数据是指的业务中某个事物的属性,例如人的姓名、年龄等等,通常对应到一张表的一个字段。元数据的定义保存在数据表里。
②算术运算符的定义。算术运算符包括了“+”、“-”、“×”、“÷”。
③比较运算符的定义。比较符包括:“>”、“<”、“=”、“>=”、“<=”,“!=”。
④逻辑运算符的定义。逻辑运算符包括:“and”、“or”、“not”。
⑤范围/多值/除外的定义。{1..10,13;7,9} 范围之间使用 “..”表示,多值使用“,”分隔,除外使用“;”分隔,并且写在最后。{}表示一个集合。
⑥布尔表达式的定义。布尔表达式就是根据上述5类定义组合而成的最终结果是布尔值的表达式。
例如:[EAJ.SAAY] = {3102,3103,3148} and [EAJ.XTAJLX] = 51
[190.LX] = 5 and [184.YYZL] = 3
其中:EAJ.SAAY是EAJ表的SAAY字段值;190.LX表示实体编号190的LX属性值。
⑦规则定义。规则可以表示为如下格式:
<条件>布尔表达式0</条件>
<真>布尔表达式1</真>
<假>布尔表达式2</假>
计算时,先计算布尔表达式0的值,如果为真,则计算布尔表达式1的值返回;否则计算布尔表达式2的值返回。
规则的定义可以嵌套多层。
第2步:XML业务规则:将业务规则按照XML的格式定义到第1步所述的数据表中;
业务规则是用户提供的对业务数据正确性的判定基础。
业务规则通常是如下结构:
如果 XXXXX条件,则 实体属性 在/不在 数据范围。
例如:行政非诉执行(立案案由为31~39)的结案方式不能选1(不予受理)、2(不予执行)、3(驳回申请)。
翻译成XML的规则为:<条件>[EAJ.XTAJLX] = 34</条件><真>[181.JAFS] ≠ {1..3}</真>
本步骤将用户提供的所有业务规则翻译后保存在规则表里。
第3步:通过逐条计算规则进行校验;包括以下步骤:
第3-1步:解析XML格式规则,得到条件表达式、布尔表达式真和布尔表达式假;
所述第3-1步的XML格式为:
<条件>布尔表达式</条件>
<真>布尔表达式真</真>
<假>布尔表达式假</假>
其中,布尔表达式真和布尔表达式假可以是嵌套的条件表达式,例如:
<条件>布尔表达式</条件>
<真>
<条件>布尔表达式</条件>
<真>布尔表达式真</真>
<假>布尔表达式假</假>
</真>
<假>布尔表达式假</假>
第3-2步:计算条件表达式的值,得到真或者假;
第3-3步:如果条件表达式为真,则返回计算布尔表达式真,返回计算结果值;否则计算布尔表达式假,返回计算结果值;
所述第3步的计算流程为:如图2单条规则计算流程图所示,①解析XML规则,得到条件表达式,布尔表达式真和布尔表达式假;对于条件表达式:②元数据值替换;③算术运算符的处理;④比较运算符的处理;⑤逻辑运算符的处理;⑥得到条件表达式的结果,根据此结果的真假,计算对应布尔表达式真或布尔表达式假,计算过程同②~⑤。
第4步:效验结果:根据返回结果为假的规则编号,汇总错误信息,返回调用规则的应用程序。
以上所述仅为本发明的优选实施例而已,并不限制于本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的权利要求范围之内。
Claims (6)
1.基于XML的规则定义和执行检查方法,其特征在于:包括以下步骤:
第1步:建立规则的数据表:首先进行如下定义,
①元数据的定义;②算术运算符的定义; ③比较运算符的定义;④逻辑运算符的定义 ⑤范围/多值/除外的定义;⑥布尔表达式的定义;⑦规则定义
第2步:XML业务规则:将业务规则按照XML的格式定义到第1步所述的数据表中;
业务规则是用户提供的对业务数据正确性的判定基础;
本步骤将用户提供的所有业务规则翻译后保存在规则表里;
第3步:通过逐条计算规则进行校验;
第4步:效验结果:根据返回结果为假的规则编号,汇总错误信息,返回调用规则的应用程序。
2.根据权利要求1所述的基于XML的规则定义和执行检查方法,其特征在于:所述的
①元数据的定义:元数据是指的业务中某个事物的属性,元数据对应到一张表的一个字段,元数据的定义保存在数据表里;
②算术运算符的定义:算术运算符包括了“+”、“-”、“×”、“÷”;
③比较运算符的定义:比较符包括:“>”、“<”、“=”、“>=”、“<=”,“!=”;
④逻辑运算符的定义:逻辑运算符包括:“and”、“or”、“not”;
⑤范围/多值/除外的定义:{1..10,13;7,9} 范围之间使用 “..”表示,多值使用“,”分隔,除外使用“;”分隔,并且写在最后,{}表示一个集合;
⑥布尔表达式的定义:布尔表达式就是根据上述5类定义组合而成的最终结果是布尔值的表达式;
⑦规则定义:规则表示为如下格式:
<条件>布尔表达式0</条件>
<真>布尔表达式1</真>
<假>布尔表达式2</假>
计算时,先计算布尔表达式0的值,如果为真,则计算布尔表达式1的值返回;否则计算布尔表达式2的值返回;
规则的定义能嵌套多层。
3.根据权利要求2所述的基于XML的规则定义和执行检查方法,其特征在于:所述的业务规则结构如下: 如果 XXXXX条件,则 实体属性 在/不在 数据范围。
4.根据权利要求1所述的基于XML的规则定义和执行检查方法,其特征在于:所述第3步包括以下步骤:
第3-1步:解析XML格式规则,得到条件表达式、布尔表达式真和布尔表达式假;
所述第3-1步的XML格式为:
<条件>布尔表达式</条件>
<真>布尔表达式真</真>
<假>布尔表达式假</假>
第3-2步:计算条件表达式的值,得到真或者假;
第3-3步:如果条件表达式为真,则返回计算布尔表达式真,返回计算结果值;否则计算布尔表达式假,返回计算结果值。
5.根据权利要求4所述的基于XML的规则定义和执行检查方法,其特征在于:所述第3-1步中布尔表达式真和布尔表达式假是嵌套的条件表达式:
<条件>布尔表达式</条件>
<真>
<条件>布尔表达式</条件>
<真>布尔表达式真</真>
<假>布尔表达式假</假>
</真>
<假>布尔表达式假</假>。
6.根据权利要求1或4所述的基于XML的规则定义和执行检查方法,其特征在于:所述第3步的计算流程为:①解析XML规则,得到条件表达式,布尔表达式真和布尔表达式假;对于条件表达式:②元数据值替换;③算术运算符的处理;④比较运算符的处理;⑤逻辑运算符的处理;⑥得到条件表达式的结果,根据此结果的真假,计算对应布尔表达式真或布尔表达式假,计算过程同②~⑤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103912823A CN102929973A (zh) | 2012-10-16 | 2012-10-16 | 基于xml的规则定义和执行检查方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2012103912823A CN102929973A (zh) | 2012-10-16 | 2012-10-16 | 基于xml的规则定义和执行检查方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102929973A true CN102929973A (zh) | 2013-02-13 |
Family
ID=47644771
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2012103912823A Pending CN102929973A (zh) | 2012-10-16 | 2012-10-16 | 基于xml的规则定义和执行检查方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102929973A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446799A (zh) * | 2014-08-22 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种计算机系统中进行规则管理的方法及系统 |
CN107885609A (zh) * | 2017-11-08 | 2018-04-06 | 泰康保险集团股份有限公司 | 业务冲突处理方法及装置、存储介质和电子设备 |
CN108132962A (zh) * | 2017-11-17 | 2018-06-08 | 卡斯柯信号有限公司 | 基于实时码位状态自定义联锁维护台报警的方法 |
CN112395193A (zh) * | 2020-11-17 | 2021-02-23 | 中国外运股份有限公司 | 一种对嵌套规则进行校验的方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272222A (zh) * | 2008-05-06 | 2008-09-24 | 中兴通讯股份有限公司 | 一种约束校验方法及装置 |
CN101500040A (zh) * | 2009-03-02 | 2009-08-05 | 南京联创科技股份有限公司 | 基于任意扩展属性规格的可配置流程调度和环节选取方法 |
-
2012
- 2012-10-16 CN CN2012103912823A patent/CN102929973A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101272222A (zh) * | 2008-05-06 | 2008-09-24 | 中兴通讯股份有限公司 | 一种约束校验方法及装置 |
CN101500040A (zh) * | 2009-03-02 | 2009-08-05 | 南京联创科技股份有限公司 | 基于任意扩展属性规格的可配置流程调度和环节选取方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105446799A (zh) * | 2014-08-22 | 2016-03-30 | 阿里巴巴集团控股有限公司 | 一种计算机系统中进行规则管理的方法及系统 |
CN107885609A (zh) * | 2017-11-08 | 2018-04-06 | 泰康保险集团股份有限公司 | 业务冲突处理方法及装置、存储介质和电子设备 |
CN108132962A (zh) * | 2017-11-17 | 2018-06-08 | 卡斯柯信号有限公司 | 基于实时码位状态自定义联锁维护台报警的方法 |
CN112395193A (zh) * | 2020-11-17 | 2021-02-23 | 中国外运股份有限公司 | 一种对嵌套规则进行校验的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106104472B (zh) | 指定逻辑验证规则并将逻辑验证规则应用于数据 | |
US8943059B2 (en) | Systems and methods for merging source records in accordance with survivorship rules | |
US10191931B2 (en) | Systems and methods for generating event stream data | |
US11119988B2 (en) | Performing logical validation on loaded data in a database | |
EP3234809B1 (en) | Building reports | |
US10095766B2 (en) | Automated refinement and validation of data warehouse star schemas | |
KR101890179B1 (ko) | 건설공사의 수량산출서 및 내역서에 기반하는 공간별/부위별 공사비 추출집계시스템 및 이를 이용한 집계방법 | |
US10067965B2 (en) | Hierarchic model and natural language analyzer | |
US11164110B2 (en) | System and method for round trip engineering of decision metaphors | |
US10332010B2 (en) | System and method for automatically suggesting rules for data stored in a table | |
US20150066536A1 (en) | Method and apparatus for generating health quality metrics | |
CN102929973A (zh) | 基于xml的规则定义和执行检查方法 | |
EP2199905A1 (en) | Lifecycle management and consistency checking of object models using application platform tools | |
CN109828965B (zh) | 一种数据处理的方法及电子设备 | |
KR101244931B1 (ko) | 관계형 데이터베이스의 owl 온톨로지 변환방법 및 그 장치 | |
US10042884B2 (en) | Algebraic data types for database query languages | |
CN104750609B (zh) | 确定界面布局兼容度的方法及装置 | |
CN110188432B (zh) | 系统架构的验证方法、电子设备及计算机可读存储介质 | |
CN107291749B (zh) | 一种数据指标关联关系的确定方法及装置 | |
US20200372019A1 (en) | System and method for automatic completion of queries using natural language processing and an organizational memory | |
ITTO20130133A1 (it) | Metodo per la realizzazione di specificazioni di sistemi software, in particolare di tipo oltp-app, e relativo dispositivo | |
US10970265B2 (en) | Enhanced table functions for database management systems | |
US20210397745A1 (en) | Data providing server device and data providing method | |
US10198473B2 (en) | Hierarchical document flow determination | |
EP3435303A1 (en) | Method for using signifiers for data integration in rail automation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130213 |