条件配置管理的方法技术

技术编号:5766640 阅读:211 留言:0更新日期:2012-04-11 18:40
条件配置管理的方法,条件由3张参数表完整定义,分别是:条件定义表,基本条件定义表,属性定义表,通过调用这三张参数表对业务是否满足条件进行判断,其中:(1)条件定义表:条件定义表定义了条件的完整内容,将一个条件定义为多个子条见的集合;(2)基本条件定义表:基本条件是构成条件的最小单元,它基本的实现方式就是对两个给定的参数进行逻辑运算,返回逻辑运算的结果;(3)属性定义表:属性定义表中定义了业务系统中需要的属性;判断业务时,条件定义列表依照子条件编码和子条件优先级调用基本条件定义表的基本条件进行判断,基本条件从属性定义表获判断参数的属性值。

【技术实现步骤摘要】
本专利技术涉及计算机业务处理的方法,具体为一种条件配置管理的方法
技术介绍
在商业应用中,业务规则往往是复杂而多变的,在不同的条件下,会有不同的业务规则与之相适应。配置一个复杂的业务规则的条件,必须要解决以下问题 ●支持子条件。一条复杂的业务的,往往涉及多个方面,每一个方面都需要配置单独的条件去描述。例如,在BOSS业务规则中要满足如下条件1)总费用大于100; 2)用户品牌为全球通。整个条件可以使用两个子条件来描述“总费用大于100”使用一个子条件描述,“用户品牌为全球通”用一个子条件描述。 ●支持子条件间的逻辑运算。一个条件的多个子条件间需要有逻辑关系,比如,条件可以是“总费用大于100”并且“用户品牌为全球通”,也可以是“总费用大于100”或者“用户品牌为全球通”。 ●支持复合条件。对于复杂的条件,比如“总费用大于100并且用户品牌为全球通或者动感地带”这样的条件,需要支持复合条件。子条件“总费用大于100”配置为基本条件,子条件“品牌为全球通或者动感地带”配置为复合条件。 ●基本条件的配置。基本条件是条件配置的最小单位。条件配置最终都会归结到基本条件的配置。基本条件的配置灵活性最终决定了条件配置功能的强弱。
技术实现思路
本专利技术要目的是如何配置和判别业务规则的触发条件,提出一种条件配置管理的方法。 本专利技术的技术方案是条件配置管理的方法,一个条件由3张参数表完整定义,分别是条件定义表,基本条件定义表,属性定义表,通过调用这三张参数表对业务是否满足条件进行判断,其中 (1)条件定义表条件定义表定义了条件的完整内容,将一个条件定义为多个子条见的集合,每个条件都由条件编码,条件名称,子条件编码,子条件类型,子条件的优先级,子条件间的逻辑关系定义组成; (2)基本条件定义表基本条件是构成条件的最小单元,它基本的实现方式就是对两个给定的参数进行逻辑运算,返回逻辑运算的结果,基本条件由基本条件编码,第一个参数,第一个参数类型,逻辑运算符,第二个参数,第二个参数类型等定义组成; (3)属性定义表属性定义表中定义了业务系统中需要的属性,并指定了这些属性的获取方法,属性由属性编码,属性名称,属性类型,属性值类型,属性值关联域等字段组成。 判断业务时,条件定义列表依照子条件编码和子条件优先级调用基本条件定义表的基本条件进行判断,基本条件从属性定义表获判断参数的属性值。 由于业务系统不同,业务数据的存储方式也不同,为了不对业务数据的存储方式做特殊的限制,本专利技术条件配置管理方法提供了一个通用的获取属性值的虚函数getValue(),此函数的输入参数是属性编码,属性类型,属性值类型,属性值关联域,输出参数是获取到的属性值。 利用本专利技术构造条件配置管理的组件,条件配置管理组件是一个由C++语言实现的类,嵌入在业务处理流程中。它类似ILOG公司的业务规则引擎,是基于表的业务规则管理工具。通过调用条件配置管理组件,可以判断业务运行状态是否满足特定的条件,根据判断的结果进行业务逻辑的控制,提高业务灵活性,实现业务流程自动化。条件是由一个或多个子条件组成,每个子条件可以是一个“基本条件”,也可以是一个“复合条件”。“基本条件”是条件的最小单位,往往描述了一条业务规则;“复合条件”可以由“基本条件”构成,也可以由另外一个“复合条件”构成,最终使用第归的方法将“复合条件”解析为一个或多个“基本条件”。多个子条件间使用“与”、“或”连接符进行逻辑判断,最终产生一个条件的判断结果。 本专利技术可以全面完整清楚的定义复杂的业务规则条件,实现了关于业务条件判断的逻辑性,严谨可靠,适用于各种不同存储方式的业务系统。 附图说明 图1是“条件”表达式 图2是“子条件”表达式 图3是“基本条件”表达式 具体实施例方式 配置说明一个条件被完整定义涉及到3张参数表,分别是条件定义表,基本条件定义表,属性定义表。 一)条件定义表 一个条件简单的理解就是一条业务规则。通常处理复杂规则的有效方法是分而治之,把一项庞大、繁杂的规则分解成多条目标明确、容易理解的子规则来完成是比较恰当的方法。当这些分解后的子规则处理完了,那么这条规则也就被处理完成了。 每个条件都由条件编码,条件名称,子条件编码,子条件类型,子条件的优先级,子条件间的逻辑关系组成。条件编码是区别一个条件的唯一标识。一个条件由一个或多个子条件组成,子条件编码不能为空,子条件编码是区别一个子条件的唯一标识。子条件可以分为两种基本条件和复合条件。子条件类型字段定义了当前的子条件是属于基本条件还是复合条件。当条件由多个子条件组成时,子条件的优先级决定了子条件判断的先后顺序,优先级高的子条件先被判断。条件编码和子条件的优先级构成了条件定义表的主键。子条件间的逻辑关系用来判断多个子条件之间的逻辑关系。 目前的条件配置管理组件中支持两种子条件类型一种是基本条件类型,一种是复合条件类型。对于基本条件类型,组件会到子条件定义表中查找到子条件编码,直接解析查找出来的基本条件,进行逻辑判断;对于复合条件类型,解析时,会在条件定义表中查找和子条件编码相同的条件编码,根据查找到的条件编码,再进行下一步解析,直至将复合条件转化成一个或多个基本条件。对于复合条件类型,子条件编码字段存储的其实是一个条件编码,组件会到条件定义表查找这条编码,解析它的规则,而不是到子条件定义表中查找(基本条件则会到子条件定义表查找)。对于查找的条件编码,它的子条件也可以配置为复合条件。这样就形成了递归,可以实现各种复杂度的条件。最终组件会把复合条件解析成多条基本条件进行处理。 由于复合条件用到了递归,在解析的时候特别使用了检查机制,防止递归调用陷入死循环。检查机制的原理如下在进行条件解析时,对每一个复合条件,都会有一个数组与之对应,这个数组存储了在解析这个复合条件过程中所得到的所有的复合条件的编码。数组初始时为空。在解析过程中,每遇到一个复合条件编码,首先会到这个数组中查找,看看这个复合条件编码是否在数组中存在。如果存在,说明会形成死循环,程序就会报错,退出条件解析流程;如果不存在,则将这个复合条件编码记录在数组中,继续进行后续的解析。例如,条件A由条件B组成,条件B是由一个基本条件b和条件C组成,C是由条件A组成。解析条件A时,由于A是复合条件,A会记录在数组中;A由B组成,B是复合条件并且数组中不存在B的编码,所以将B记录在数组中;B由C和b组成,由于C是复合条件并且数组中不存在C的编码,所以将C记录在数组中;C由A组成,由于A是复合条件,并且在数组中曾经出现,条件解析模块认为这样的闭环调用会导致死循环,因此会报错,退出条件解析流程,返回到主程序。 当一个条件由多个子条件组成时,哪一个子条件先进行判断就成为一个问题。条件定义表中记录了子条件的优先级。在获取条件时,如果取到了多条记录(一个条件往往是由多个子条件构成),组件会对多个子条件按照优先级进行排序,把优先级高的子条件排在前面。在顺序执行的子条件判断中,优先级高的子条件就会先被执行到。 当一个条件由多个子条件组成时,子条件间的逻辑关系就显得不可或缺。目前子条件间的逻辑关系只支持“与”和“或”两种,逻辑运算的结果只有“真”和“假”两种。进行逻辑本文档来自技高网...

【技术保护点】
条件配置管理的方法,其特征是一个条件由3张参数表完整定义,分别是:条件定义表,基本条件定义表,属性定义表,通过调用这三张参数表对业务是否满足条件进行判断,其中:    (1)条件定义表:条件定义表定义了条件的完整内容,将一个条件定义为多个子条见的集合,每个条件都由条件编码,条件名称,子条件编码,子条件类型,子条件的优先级,子条件间的逻辑关系定义组成;    (2)基本条件定义表:基本条件是构成条件的最小单元,它基本的实现方式就是对两个给定的参数进行逻辑运算,返回逻辑运算的结果,基本条件由基本条件编码,第一个参数,第一个参数类型,逻辑运算符,第二个参数,第二个参数类型定义组成;    (3)属性定义表:属性定义表中定义了业务系统中需要的属性,并指定了这些属性的获取方法,属性由属性编码,属性名称,属性类型,属性值类型,属性值关联域等字段组成;    判断业务时,条件定义列表依照子条件编码和子条件优先级调用基本条件定义表的基本条件进行判断,基本条件从属性定义表获判断参数的属性值。

【技术特征摘要】
1.条件配置管理的方法,其特征是一个条件由3张参数表完整定义,分别是条件定义表,基本条件定义表,属性定义表,通过调用这三张参数表对业务是否满足条件进行判断,其中(1)条件定义表条件定义表定义了条件的完整内容,将一个条件定义为多个子条见的集合,每个条件都由条件编码,条件名称,子条件编码,子条件类型,子条件的优先级,子条件间的逻辑关系定义组成;(2)基本条件定义表基本条件是构成条件的最小单元,它基本的实现方式就是对两个给定的参数进行逻辑运算,返回逻辑运算的结果,基本条件由基本条件编码,第一个参数,第一个参数类型,逻辑运算符...

【专利技术属性】
技术研发人员:赵广成陈勇
申请(专利权)人:南京联创科技股份有限公司
类型:发明
国别省市:84[中国|南京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1