CN112150091A - 一种业务规则的处理方法及装置 - Google Patents
一种业务规则的处理方法及装置 Download PDFInfo
- Publication number
- CN112150091A CN112150091A CN201910576569.5A CN201910576569A CN112150091A CN 112150091 A CN112150091 A CN 112150091A CN 201910576569 A CN201910576569 A CN 201910576569A CN 112150091 A CN112150091 A CN 112150091A
- Authority
- CN
- China
- Prior art keywords
- node
- expression
- factor expression
- factor
- tree
- 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
- 238000000034 method Methods 0.000 title claims abstract description 62
- 238000012545 processing Methods 0.000 title claims abstract description 52
- 230000014509 gene expression Effects 0.000 claims abstract description 388
- 238000010276 construction Methods 0.000 claims description 9
- 230000000875 corresponding effect Effects 0.000 description 124
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 238000003672 processing method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000009191 jumping Effects 0.000 description 3
- 239000000835 fiber Substances 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/958—Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Resources & Organizations (AREA)
- General Engineering & Computer Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种业务规则的处理方法及装置。该方法包括:获得输入参数,输入参数包括:因子路径和场景标识;从业务对象对应的因子表达式集合中确定出因子路径对应的第一因子表达式;从因子表达式集合中确定出场景标识对应的第二因子表达式;根据第一因子表达式和第二因子表达式,确定出第三因子表达式;获得第三因子表达式的值,第三因子表达式的值用于表示可执行业务规则的执行结果。在本申请中,通过针对业务对象发生变化的部分,结合当前场景,获得对应的业务规则,使得同一页面可以针对不同商品的内容展现不同的业务规则,进而实现业务规则与页面元素的灵活绑定,实现业务规则的精确执行。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种业务规则的处理方法及装置。
背景技术
现在的互联网应用***,如电信运营领域的客户关系管理(customerrelationship management,CRM)***、企业资源计划(entrerprise resource planning,ERP)***、电子商务***等,这些***基本上都是互联网应用,比较常见的是,***服务运行后台服务器上面,用户通过各种终端设备通过网络访问后台服务器上的***服务。
通常,这些***采用浏览器和服务器架构(即B/S(browser/server)架构)模式,用户在终端设备在访问远端服务,首先需要使用浏览器打开用户页面,然后通过操作页面与后台服务交互实现完成业务功能,并且对于用户在终端设备上面的操作,***服务按照业务规则对用户的操作进行响应。在用户对页面进行操作时,页面中各个元素之间会产生联动,这种元素之间的联动关系就是业务规则的体现。
由此可见,业务规则是与页面元素绑定在一起的,而同一个页面可以用来展示不同商品的内容,同一个页面元素所承载的业务数据的要求是不一样的,对于业务数据的不同要求,业务规则与页面元素的绑定规则不具有灵活性,无法实现业务规则的精确执行。
发明内容
本申请提供了一种业务规则的处理方法及装置,以使得同一页面可以针对不同商品的内容展现不同的业务规则,进而实现业务规则与页面元素的灵活绑定,实现业务规则的精确执行。
第一方面,本申请提供一种业务规则的处理方法,包括:获得输入参数,所述输入参数包括:因子路径和场景标识,其中,所述因子路径用于表征业务对象所发生的变化,所述场景标识用于表征当前场景;从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式,所述因子表达式集合为用于表示所述业务对象对应的业务规则的集合;从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式;根据所述第一因子表达式和所述第二因子表达式,确定出第三因子表达式,所述第三因子表达式用于表示在当前场景下变化后的业务对象对应的可执行业务规则;获得所述第三因子表达式的值,所述第三因子表达式的值用于表示所述可执行业务规则的执行结果。
在本申请中,通过针对业务对象发生变化的部分,结合当前场景,获得对应的业务规则,使得同一页面可以针对不同商品的内容展现不同的业务规则,进而实现业务规则与页面元素的灵活绑定,实现业务规则的精确执行。
基于第一方面,在一些可能的实施方式下,所述方法还包括:获取所述业务对象的属性信息;从所述因子表达式集合中确定出所述属性信息对应的第四因子表达式;根据所述第一因子表达式、所述第二因子表达式和所述第四因子表达式,确定出所述第三因子表达式。
在本申请中,业务对象的属性信息可以为用户操作、业务渠道、客户等级等。
基于第一方面,在一些可能的实施方式下,所述从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式,包括:获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述因子路径,在所述规则索引树中查找所述第一因子表达式。
基于第一方面,在一些可能的实施方式下,所述根据所述因子路径,在所述规则索引树中查找所述第一因子表达式,包括:将所述因子路径对应的因子表达式转换成第一表达式节点链;依次获得所述第一表达式节点链中的第一节点,并判断所述第一节点是否具有参数;若所述第一节点具有参数,则根据所述第一节点的上一节点的节点名称以及对应的参数,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
在本申请中,表达式节点链为规则引擎内部的数据结构,用来描述因子表达式。
基于第一方面,在一些可能的实施方式下,所述方法还包括:若所述第一节点不具有参数,则根据所述第一节点的上一节点的节点名称,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
基于第一方面,在一些可能的实施方式下,所述方法还包括:将所述因子表达式集合中的各个因子表达式转换成第二表达式节点链;遍历所述第二表达式节点链,依次对所述第二表达式节点链中的第i个第二节点执行以下步骤,i为正整数:判断所述第i个第二节点是否具有参数;若所述第i个第二节点具有参数,则根据所述第i个第二节点的节点名称以及对应的参数在预先创建的规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
基于第一方面,在一些可能的实施方式下,所述方法还包括:若所述第i个第二节点不具有参数,则根据所述第i个第二节点的节点名称在所述规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
基于第一方面,在一些可能的实施方式下,所述从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式,包括:根据所述场景标识,获得对应的为当前场景配置的因子表达式;根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式。
基于第一方面,在一些可能的实施方式下,所述根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式,包括:获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述为当前场景配置的因子表达式,在所述规则索引树中查找到所述第二因子表达式。
基于第一方面,在一些可能的实施方式下,在所述获得所述可执行业务规则的执行结果之后,所述方法还包括:当所述可执行业务规则为校验规则时,则根据消息模板组装消息,输出执行结果。
第二方面,本申请实施例提供一种业务规则的处理装置,包括:接口模块,用于获得输入参数,所述输入参数包括:因子路和场景标识,其中,所述因子路径用于表征业务对象所发生的变化,所述场景标识用于表征当前场景;处理模块,用于从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式,所述因子表达式集合为用于表示所述业务对象对应的业务规则的集合;从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式;根据所述第一因子表达式和所述第二因子表达式,确定出第三因子表达式,所述第三因子表达式用于表示在当前场景下变化后的业务对象对应的可执行业务规则;获得所述第三因子表达式的值,所述第三因子表达式的值用于表示所述可执行业务规则的执行结果。
基于第二方面,在一些可能的实施方式下,所述处理模块,还用于获取所述业务对象的属性信息;从所述因子表达式集合中确定出所述属性信息对应的第四因子表达式;根据所述第一因子表达式、所述第二因子表达式和所述第四因子表达式,确定出所述第三因子表达式。
基于第二方面,在一些可能的实施方式下,所述处理模块,用于获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述因子路径,在所述规则索引树中查找所述第一因子表达式。
基于第二方面,在一些可能的实施方式下,所述处理模块,用于将所述因子路径对应的因子表达式转换成第一表达式节点链;依次获得所述第一表达式节点链中的第一节点,并判断所述第一节点是否具有参数;若所述第一节点具有参数,则根据所述第一节点的上一节点的节点名称以及对应的参数,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
基于第二方面,在一些可能的实施方式下,所述处理模块,还用于若所述第一节点不具有参数,则根据所述第一节点的上一节点的节点名称,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
基于第二方面,在一些可能的实施方式下,所述装置还包括:树构建模块,用于将所述因子表达式集合中的各个因子表达式转换成第二表达式节点链;遍历所述第二表达式节点链,依次对所述第二表达式节点链中的第i个第二节点执行以下步骤,i为正整数:判断所述第i个第二节点是否具有参数;若所述第i个第二节点具有参数,则根据所述第i个第二节点的节点名称以及对应的参数在预先创建的规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
基于第二方面,在一些可能的实施方式下,所述树构建模块,还用于若所述第i个第二节点不具有参数,则根据所述第i个第二节点的节点名称在所述规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
基于第二方面,在一些可能的实施方式下,所述处理模块,还用于根据所述场景标识,获得对应的为当前场景配置的因子表达式;根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式。
基于第二方面,在一些可能的实施方式下,所述处理模块,用于获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述为当前场景配置的因子表达式,在所述规则索引树中查找到所述第二因子表达式。
基于第二方面,在一些可能的实施方式下,所述接口模块,还用于在所述处理模块获得所述可执行业务规则的执行结果之后,当所述可执行业务规则为校验规则时,则根据消息模板组装消息,输出执行结果。
第三方面,本申请提供一种用户设备,包括处理器,处理器用于与存储器耦合,读取并执行存储器中的指令,以实现如上述第一方面任一项所述的业务规则的处理方法。
基于第三方面,在一些可能的实施方式下,上述用户设备还包括存储器。
第四方面,本申请提供一种后台服务器,包括处理器,处理器用于与存储器耦合,读取并执行存储器中的指令,以实现如上述第一方面任一项所述的业务规则的处理方法。
基于第四方面,在一些可能的实施方式下,上述后台服务器还包括存储器。
第五方面,本申请提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令计算机上运行时,用于执行上述第一方面任一项所述的业务规则的处理方法。
第六方面,本申请提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现上述第一方面任一项所述的业务规则的处理方法。
应当理解的是,本申请的第二至六方面与本申请的第一方面的技术方案一致,各方面及对应的可行实施方式所取得的有益效果相似,不再赘述。
附图说明
为了更清楚地说明本申请实施例或背景技术中的技术方案,下面将对本申请实施例或背景技术中所需要使用的附图进行说明。
图1为本申请实施例中的CRM***的结构示意图;
图2为本申请实施例中CRM***中规则引擎的结构示意图;
图3为本申请实施例中的业务规则的示意图;
图4为本申请实施例中的业务规则的处理方法的流程示意图;
图5为本申请实施例中的规则索引树的示意图;
图6为本申请实施例中的构建规则索引树的流程示意图;
图7为本申请实施例中的搜索规则索引树的流程示意图;
图8为本申请实施例中的业务规则的处理装置的结构示意图;
图9为本申请实施例中的用户设备的结构示意图;
图10为本申请实施例中的后台服务器的结构示意图。
具体实施方式
下面结合本申请实施例中的附图对本申请实施例进行描述。以下描述中,参考形成本申请一部分并以说明之方式示出本申请实施例的具体方面或可使用本申请实施例的具体方面的附图。应理解,本申请实施例可在其它方面中使用,并可包括附图中未描绘的结构或逻辑变化。因此,以下详细描述不应以限制性的意义来理解,且本申请的范围由所附权利要求书界定。例如,应理解,结合所描述方法的揭示内容可以同样适用于用于执行所述方法的对应设备或***,且反之亦然。例如,如果描述一个或多个具体方法步骤,则对应的设备可以包含如功能单元等一个或多个单元,来执行所描述的一个或多个方法步骤(例如,一个单元执行一个或多个步骤,或多个单元,其中每个都执行多个步骤中的一个或多个),即使附图中未明确描述或说明这种一个或多个单元。另一方面,例如,如果基于如功能单元等一个或多个单元描述具体装置,则对应的方法可以包含一个步骤来执行一个或多个单元的功能性(例如,一个步骤执行一个或多个单元的功能性,或多个步骤,其中每个执行多个单元中一个或多个单元的功能性),即使附图中未明确描述或说明这种一个或多个步骤。进一步,应理解的是,除非另外明确提出,本文中所描述的各示例性实施例和/或方面的特征可以相互组合。
在本申请实施例中,提供一种电信运营管理领域的CRM***,图1为本申请实施例中的CRM***的结构示意图,参见图1所示,该CRM***100可以包括:用户设备101和后台服务器102,在用户设备上部署有浏览器,在每个后台服务器上部署有应用程序(app),并且每个app上面都是发布了服务。CRM***采用浏览器和服务器架构(即B/S(browser/server)架构)模式,用户在终端设备在访问远端服务,首先需要使用浏览器打开用户页面,然后通过操作页面与后台服务交互实现完成业务功能,并且对于用户在终端设备上面的操作,***服务按照业务规则对用户的操作进行响应。在用户对页面进行操作时,页面中各个元素之间会产生联动,这种元素之间的联动关系就是业务规则的体现。可见,业务规则是与页面元素绑定在一起的,而同一个页面可以用来展示不同商品的内容,同一个页面元素所承载的业务数据的要求是不一样的,对于业务数据的不同要求,业务规则与页面元素的绑定规则不具有灵活性,无法实现业务规则的精确执行。
为了解决这个问题,本申请实施例提供一种业务规则的处理方法,该方法可以应用于上述CRM***中的处理设备,如后台服务器102或者与后台服务器通信的用户设备101。在处理设备上均部署有app,在app中可以部署有规则引擎。图2为本申请实施例中CRM***中规则引擎的结构示意图,参见图2所示,该规则引擎20可以包括:因子层21和规则层22,因子层21用于对因子表达式进行计算,在规则执行过程中,根据规则层22提供的上下文计算因子的值,规则层22可以包括:规则索引树221、规则过滤器222、场景计算器223以及规则执行器224。
在实际应用中,上述规则引擎可以为一个或者多个处理器。
需要说明的是,在本申请实施例中,业务规则可以分为校验规则和配置规则,校验规则是用于校验业务对象是否满足业务规则的条件(condition),并给出提示消息;配置规则用于判断业务对象是否满足业务规则的condition,并执行相应的动作(如:置灰按钮、调整下拉框选项)。图3为本申请实施例中的业务规则的示意图,参见图3所示,业务规则可以包括三部分,分别是:
condition:是指业务规则条件,用因子表达式描述。
success-action:是指规则condition为true时,应该执行的动作。
failure-action:指规则condition为false时,应该执行的动作。
从而整个业务规则所表示的语义是:如果condition为true则执行success-action,否则执行failure-action。
举例来说,当用户通过浏览器在页面上选择制式为“全网通尊享版”时,假设当前的商品用因子orderitem封装,“颜色”、“制式”、“容量”等均可以认为是属性,从而“制式”可以描述为attribute[‘mode’],(“mode”表示“制式”),此时,若要置灰“容量”为
“6GB+64G”这一选项,不置灰“容量”为“6GB+128GB”这一选项,那么,业务规则就可以设置为:
condition:orderitem.attribute[‘mode’]==“全网通尊享版”。
success-action:置灰“容量”为“6GB+64G”的选项;不置灰“容量”为“6GB+128GB”的选项。
当然,上述业务规则并不限于包括上述三部分,还可以根据实际应用进行设置,本申请实施例不做具体限定。
下面结合上述规则引擎的结构,对本申请实施例所提供的业务规则的处理方法进行说明。
图4为本申请实施例中的业务规则的处理方法的流程示意图,参见图4所示,该方法包括:
S401:获得输入参数;
其中,所述输入参数包括:因子路径(path)和场景标识;所述因子路径用于表征业务对象所发生的变化,所述场景标识用于表征当前场景,
在本申请实施例中,所述输入参数还可以包括:所述被校验对象,用于表征所述业务对象(owner)。所述被校验对象携带有属性字段,用来描述业务对象的属性信息,如用户操作、业务渠道、客户等级等。当然,输入参数还可以包括其他参数,本申请实施例不做具体限定。
这里,用户在页面上进行操作后,规则引擎获得由页面输入的用户操作所对应的输入参数。
S402:从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式;
其中,所述因子表达式集合为用于表示所述业务对象对应的业务规则的集合;
这里,规则引擎在获得输入参数后,由上述规则过滤器在预设的业务对象对应的因子表达式集合中对进行业务规则的过滤,确定出输入参数中因子路径对应的第一因子表达式。在实际应用中,业务对象对应的因子表达式集合可以用于表示业务对象对应的所有业务规则,那么,规则过滤器就是从业务对象对应的所有业务规则中过滤出因子路径所对应的业务规则,也就是业务对象所发生变化的部分对应的业务规则。
在一些可能的实施方式中,上述业务对象(owner)对应的因子表达式集合可以以规则索引树的形式进行表示每一个规则索引树都是按照业务对象进行组织的。例如,图5为本申请实施例中的规则索引树的示意图,对于下表1所示的三条业务规则的condition来说,每个condition都是用因子表达式来描述的,那么,这三条condition对应的规则索引树就可以参见图5所示。其中,规则索引树的节点名可以为业务规则的condition对应的因子表达式的因子名称或参数,业务规则可以设置在规则索引树对应节点的下面,从而使得业务规则所在的树节点的路径就是业务规则condition的因子表达式。
表1
[1]orderitem.attribute[‘mode’]==“全网通尊享版” |
[2]orderitem.attribute[‘mem’]==“4G+64G” |
[3]orderitem.relateditem[‘option’]==“耳机” |
需要注意的是,上述仅为对规则索引树的举例说明,并不对规则索引树进行限定。
在具体实施过程中,在S402之前,还可以包括构建规则索引树的过程,相应地,上述规则引擎还可以包括:规则索引树构建模块。那么,图6为本申请实施例中的构建规则索引树的流程示意图,参见图6所示,该过程可以包括:
步骤一、规则索引树构建模块将所述因子表达式集合中的各个因子表达式转换成第二表达式节点链(第二node链);
这里,规则索引树构建模块将业务对象对应的因子表达式集合中的各个因子表达式转换成对应的第二node链。在本申请实施例中,第二Node链为规则引擎内部的数据结构,用来描述因子表达式。
步骤二、规则索引树构建模块遍历所述第二表达式节点链,依次对所述第二表达式节点链中的第i个第二节点执行以下步骤,i为正整数:
那么,图6为本申请实施例中的构建规则索引树的流程示意图,参见图6所示,
S601:规则索引树构建模块判断所述第i个第二节点是否具有参数,若所述第i个第二节点具有参数,跳转至S602,否则,跳转至S606;
S602:规则索引树构建模块根据所述第i个第二节点的节点名称以及对应的参数在预先创建的规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,跳转至S603,反之,流程结束。
S603:规则索引树构建模块为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;
S604:规则索引树构建模块判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则跳转至S605,反之,i=i+1,并返回步骤S601。
S605:规则索引树构建模块将所述规则索引树模型确定为所述规则索引树;
S606:规则索引树构建模块根据所述第i个第二节点的节点名称在所述规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,规则索引树构建模块跳转至S603,反之,流程结束。
在本申请实施例中,上述规则索引树模型可以为在创建规则索引树时预先设置好的空白的树结构。
那么,基于上述规则索引树,上述S402可以包括:获取由所述因子表达式集合构建的规则索引树;根据所述因子路径,在所述规则索引树中查找所述第一因子表达式。
其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应。
这里,规则过滤器首先根据业务对象,读取预先存储的该业务对象对应的规则索引树,然后,使用因子路径在规则索引树中进行查找,以获得第一因子表达式。例如,因子路径的值为“orderitem.attribute[‘制式’]”,那么,只要搜索业务规则condition的因子表达式的前缀与因子路径的值等同的因子表达式即可,如上述condition[1]。
在一些可能的实现方式中,图7为本申请实施例中的搜索规则索引树的流程示意图,参见图7所示,上述所述根据所述因子路径,在所述规则索引树中查找所述第一因子表达式的步骤,可以包括:
S701:规则过滤器将所述因子路径对应的因子表达式转换成第一表达式节点链;
S702:规则过滤器依次获得所述第一表达式节点链中的第一节点,并判断所述第一节点是否具有参数;若所述第一节点具有参数,则跳转至S703,反之,若所述第一节点不具有参数,则跳转至S706。
S703:规则过滤器根据所述第一节点的上一节点的节点名称以及对应的参数,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则跳转至S704,反之,流程结束。
S704:规则过滤器判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则跳转至S705,反之,返回S702;
S705:规则过滤器将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
S706:规则过滤器根据所述第一节点的上一节点的节点名称,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则跳转至S704,反之,返回S702。
由此,规则过滤器便将因子路径对应的第一因子表达式过滤出来。在实际应用中,规则过滤器还可以通过其他方式获得因子路径对应的第一因子表达式,如在表达式集合中搜索节点名称与因子路径就一致的节点,由此获得对应的第一因子表达式,本申请实施例不做具体限定。
S403:从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式;
在本申请实施例中,场景是对业务对象操作的一种归类划分,比如,可以把选择颜色、容量、制式等划分为配置属性场景。
场景上可以承载的内容有:1、错误消息:可以按规则标识等规则属性为匹配因子,对规则消息进行定制。2、当前场景下允许执行的因子表达式,使用与或非、当且仅当计算来描述。当然,场景上还可以承载其他内容,本申请实施例不做具体限定。
在本申请实施例中,S403可以包括:根据所述场景标识,获得对应的为当前场景配置的因子表达式;根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式。
这里,为了实现在不同场景下业务规则的精确执行,可以预先为不同场景配置不同的业务规则,这些业务规则使用因子表达式来描述,进而将为不同场景配置的因子表达式与场景标识进行关联。那么,场景计算器可以先根据场景标识,获得当前场景对应的因子表达式,然后,再从因子表达式集合中筛选出满足当前场景对应的因子表达式的第二因子表达式,如此,场景计算器便能够获得当前场景下可执行的业务规则。例如,为当前场景配置的因子表达式为:#iff OrderItem.attribute[],其中,#iff为当且仅当的操作符,那么,场景计算器可以从表达式集合中查找满足“OrderItem.attribute[]”的因子表达式作为第二因子表达式。
在本申请实施例中,由于规则索引树用于描述表达式集合中的各个因子表达式,那么,场景计算器可以根据规则索引树从因子表达式集合中筛选出满当前场景对应的因子表达式的第二因子表达式,具体可以为:获取上述实施例中所述的由所述因子表达式集合构建的规则索引树,然后,根据所述为当前场景配置的因子表达式,在所述规则索引树中查找到所述第二因子表达式。
在实际应用中,规则过滤器还可以通过其他方式获得场景标识对应的第二因子表达式,本申请实施例不做具体限定。
在一些可能的实施过程中,由于为当前场景配置的因子表达式中存在“与”、“或”、“非”和/或“当且仅当”这些操作符,那么,场景计算器先将所述为当前场景配置的因子表达式转换成第五表达式节点链和操作符组,再对所述操作符组中的所有操作符按照优先级从高至低排序,然后,遍历排序后的操作符组,依次获取当前操作符,并判断所述当前操作符是否为所述操作符组中的最后一个操作符;若所述当前操作符是所述操作符组中的最后一个操作符,则计算所述当前操作符的计算结果,并根据所述当前操作符的计算结果,获得所述第二因子表达式的值;这里,计算出的第二因子表达式的值就可以表示业务规则的执行结果。
在一些可能的实施方式中,若所述当前操作符不是所述操作符组中的最后一个操作符,则场景计算器还可以计算所述当前操作符的计算结果,并在上下文中设置所述当前操作符以及所述当前操作符的关联表达式的值;以及,获取下一个操作符作为当前操作符,返回判断所述当前操作符是否为所述操作符组中的最后一个操作符的步骤。
由此,场景计算器便将场景标识对应的第二因子表达式过滤出来。
需要说明的是,上述S402和S403可以先后执行,也可以同时执行,本申请实施例对其执行顺序不做具体限定。
S404:根据所述第一因子表达式和所述第二因子表达式,确定出第三因子表达式;
其中,所述第三因子表达式用于表示在当前场景下变化后的业务对象对应的可执行业务规则;
这里,规则执行器在获得第一因子表达式和第二因子表达式之后,对两者进行“与”运算,获得第一因子表达式和第二因子表达式的交集,由此得到第三因子表达式,即在当前场景下变化后的业务对象对应的可执行业务规则。
S405:获得所述第三因子表达式的值;
其中,所述第三因子表达式的值用于表示所述可执行业务规则的执行结果。
这里,规则执行器调用因子层对第三因子表达式进行计算,获得可执行业务规则的执行结果,以此实现业务规则的精确执行。
进一步地,在S405之后,上述方法还可以包括:当所述可执行业务规则为校验规则时,则根据消息模板组装消息,输出执行结果,也就是说,规则执行器在执行完校验规则后,可以向页面输出执行结果;而当可执行业务规则为配置规则时,则规则执行器通过S405执行相应的动作即可。
在一些可能的实施方式中,所述方法还可以包括:获取所述业务对象的属性信息;从所述因子表达式集合中确定出所述属性信息对应的第四因子表达式;根据所述第一因子表达式、所述第二因子表达式和所述第四因子表达式,确定出所述第三因子表达式。
这里,上述规则过滤器还可以通过S401获得业务对象的属性信息,然后,以该属性信息作为筛选条件从表达式集合中确定出与属性信息对应的第四因子表达式,接着,规则执行器可以在获得第一因子表达式、第二因子表达式和第四因子表达式之后,对三者进行“与”运算,获得第一因子表达式、第二因子表达式和第四因子表达式的交集,由此得到第三因子表达式,即在当前场景下变化后的业务对象对应的可执行业务规则。
下面举例来对上述方法进行说明。
假设,在手机商品的页面配置中,当手机的制式为“全网通尊享版”时,容量只能选择“6G+128G”,那么,可以通过如下业务规则(记为:rule_1)来实现:
condition:orderitem.attribute[“mode”]==“全网通尊享版”;
success-action:置灰容量“4G+64G”、“6G+64G”;
如果在配置该业务规则前***中不存在与该业务规则相关的数据时,可以做以下配置:
1、配置orderitem(订单项)、attribute(属性)两个因子;
2、配置场景数据,如场景标识为prod_config、为该场景配置的因子表达式为:#iff orderitem.attribute[],其中,#iff为当且仅当的操作符;
3、配置rule_1,并且业务对象的属性信息为add,也就是表示为订购一个商品;
4、在编写页面的代码里面,嵌入通用的页面操作监听,在监听里面调用实现上述规则引擎的应用程序编程接口(application programming interface,api)。
那么,当用户在商品页面中选择订购时,页面向规则引擎输入输入参数,如因子路径:OrderItem.attribute[“mode”]、场景标识:prod_config以及属性信息:add。
此时,第一步、规则引擎获得上述输入参数:OrderItem.attribute[“mode”]、prod_config以及add;
第二步、规则过滤器根据OrderItem.attribute[“mode”]从业务对象对应的因子表达式集合中确定出因子表达式1,即规则集1;
第二步、场景计算器根据prod_config从因子表达式集合中确定出因子表达式2,即规则集2;
第三步、规则过滤器根据add从因子表达式集合中确定出因子表达式3,即规则集3;
第四步、规则执行器对规则集1、规则集2以及规则集3进行“与”操作,取三者的交集,得到可执行业务规则;
第五步、规则执行器执行可执行业务规则。
需要说明的是,上述第二步、第三步以及第四步可以同时执行,也可以依次执行,本申请实施例对此不做具体限定。
在本申请实施例中,通过针对业务对象发生变化的部分,结合当前场景,获得对应的业务规则,使得同一页面可以针对不同商品的内容展现不同的业务规则,进而实现业务规则与页面元素的灵活绑定,实现业务规则的精确执行。
基于与上述方法相同的发明构思,本申请实施例提供一种业务规则的处理装置,该业务规则的处理装置可以为用户设备或者后台服务器中的芯片或者片上***,如上述实施例中的规则引擎,还可以为用户设备或者后台服务器中用于实现上述实施例所述的方法的功能模块。举例来说,图8为本申请实施例中的业务规则的处理装置的结构示意图,参见图8所示,该业务规则的处理装置800,可以包括:接口模块801,用于获得输入参数,所述输入参数包括:因子路和场景标识,其中,所述因子路径用于表征业务对象所发生的变化,所述场景标识用于表征当前场景;处理模块802,用于从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式,所述因子表达式集合为用于表示所述业务对象对应的业务规则的集合;从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式;根据所述第一因子表达式和所述第二因子表达式,确定出第三因子表达式,所述第三因子表达式用于表示在当前场景下变化后的业务对象对应的可执行业务规则;获得所述第三因子表达式的值,所述第三因子表达式的值用于表示所述可执行业务规则的执行结果。
在一些可能的实施方式下,所述处理模块,还用于获取所述业务对象的属性信息;从所述因子表达式集合中确定出所述属性信息对应的第四因子表达式;根据所述第一因子表达式、所述第二因子表达式和所述第四因子表达式,确定出所述第三因子表达式。
在一些可能的实施方式下,所述处理模块,用于获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述因子路径,在所述规则索引树中查找所述第一因子表达式。
在一些可能的实施方式下,所述处理模块,用于将所述因子路径对应的因子表达式转换成第一表达式节点链;依次获得所述第一表达式节点链中的第一节点,并判断所述第一节点是否具有参数;若所述第一节点具有参数,则根据所述第一节点的上一节点的节点名称以及对应的参数,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
在一些可能的实施方式下,所述处理模块,还用于若所述第一节点不具有参数,则根据所述第一节点的上一节点的节点名称,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
在一些可能的实施方式下,所述装置还包括:树构建模块,用于将所述因子表达式集合中的各个因子表达式转换成第二表达式节点链;遍历所述第二表达式节点链,依次对所述第二表达式节点链中的第i个第二节点执行以下步骤,i为正整数:判断所述第i个第二节点是否具有参数;若所述第i个第二节点具有参数,则根据所述第i个第二节点的节点名称以及对应的参数在预先创建的规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
在一些可能的实施方式下,所述树构建模块,还用于若所述第i个第二节点不具有参数,则根据所述第i个第二节点的节点名称在所述规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
在一些可能的实施方式下,所述处理模块,还用于根据所述场景标识,获得对应的为当前场景配置的因子表达式;根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式。
在一些可能的实施方式下,所述处理模块,用于获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述为当前场景配置的因子表达式,在所述规则索引树中查找到所述第二因子表达式。
在一些可能的实施方式下,所述接口模块,还用于在所述处理模块获得所述可执行业务规则的执行结果之后,当所述可执行业务规则为校验规则时,则根据消息模板组装消息,输出执行结果。
需要说明的是,上述处理模块与上述实施例中的规则过滤器、场景计算器以及规则执行器所实现的功能一致;上述树构建模块与规则索引树所实现的功能一致。
在实际应用中,上述接口模块可以为接收接口、接收电路或者接收器等;上述处理模块可以为一个或者多个处理器。
基于与上述方法相同的发明构思,本申请实施例提供一种用户设备,图9为本申请实施例中的用户设备的结构示意图,参见图9中实线所示,用户设备900可以包括处理器901,处理器901用于与存储器耦合,读取并执行存储器中的指令,以实现如上述实施例所述的业务规则的处理方法。
在一些可能的实施方式下,参见图9中虚线所示,上述用户设备900还可以包括存储器902,用于保存用户设备必要的计算机执行指令和数据。当该用户设备运行时,该处理器执行该存储器存储的该计算机执行指令,以使该通信装置执行如上述实施例所述的业务规则的处理方法。
基于与上述方法相同的发明构思,本申请实施例提供一种后台服务器,图10为本申请实施例中的后台服务器的结构示意图,参见图10中实线所示,后台服务器1000可以包括处理器1001,处理器1001用于与存储器耦合,读取并执行存储器中的指令,以实现如上述实施例所述的业务规则的处理方法。
在一些可能的实施方式下,参见图10中虚线所示,上述后台服务器1000还可以包括存储器1002,用于保存后台服务器必要的计算机执行指令和数据。当该后台服务器运行时,该处理器执行该存储器存储的该计算机执行指令,以使该通信装置执行如上述实施例所述的业务规则的处理方法。
基于与上述方法相同的发明构思,本申请实施例提供一种计算机可读存储介质,计算机可读存储介质存储有指令,当指令计算机上运行时,用于执行上述实施例中所述的业务规则的处理方法。
基于与上述方法相同的发明构思,本申请实施例提供一种计算机程序或计算机程序产品,当计算机程序或计算机程序产品在计算机上被执行时,使得计算机实现上述实施例中所述的业务规则的处理方法。
本领域技术人员能够领会,结合本文公开描述的各种说明性逻辑框、模块和算法步骤所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么各种说明性逻辑框、模块、和步骤描述的功能可作为一或多个指令或代码在计算机可读媒体上存储或传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据通信协议)的通信媒体。以此方式,计算机可读媒体大体上可对应于(1)非暂时性的有形计算机可读存储媒体,或(2)通信媒体,例如信号或载波。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索用于实施本申请中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来存储指令或数据结构的形式的所要程序代码并且可由计算机存取的任何其它媒体。并且,任何连接被恰当地称作计算机可读媒体。举例来说,如果使用同轴缆线、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴缆线、光纤缆线、双绞线、DSL或例如红外线、无线电和微波等无线技术包含在媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各项的组合也应包含在计算机可读媒体的范围内。
可通过例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一或多个处理器来执行指令。因此,如本文中所使用的术语“处理器”可指前述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文中所描述的各种说明性逻辑框、模块、和步骤所描述的功能可以提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或者并入在组合编解码器中。而且,所述技术可完全实施于一或多个电路或逻辑元件中。
本申请的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本申请中描述各种组件、模块或单元是为了强调用于执行所揭示的技术的装置的功能方面,但未必需要由不同硬件单元实现。实际上,如上文所描述,各种单元可结合合适的软件和/或固件组合在编码解码器硬件单元中,或者通过互操作硬件单元(包含如上文所描述的一或多个处理器)来提供。
在上述实施例中,对各个实施例的描述各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上所述,仅为本申请示例性的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应该以权利要求的保护范围为准。
Claims (20)
1.一种业务规则的处理方法,其特征在于,包括:
获得输入参数,所述输入参数包括:因子路径和场景标识,其中,所述因子路径用于表征业务对象所发生的变化,所述场景标识用于表征当前场景;
从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式,所述因子表达式集合为用于表示所述业务对象对应的业务规则的集合;
从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式;
根据所述第一因子表达式和所述第二因子表达式,确定出第三因子表达式,所述第三因子表达式用于表示在当前场景下变化后的业务对象对应的可执行业务规则;
获得所述第三因子表达式的值,所述第三因子表达式的值用于表示所述可执行业务规则的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述业务对象的属性信息;
从所述因子表达式集合中确定出所述属性信息对应的第四因子表达式;
根据所述第一因子表达式、所述第二因子表达式和所述第四因子表达式,确定出所述第三因子表达式。
3.根据权利要求1或2所述的方法,其特征在于,所述从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式,包括:
获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;
根据所述因子路径,在所述规则索引树中查找所述第一因子表达式。
4.根据权利要求3所述的方法,其特征在于,所述根据所述因子路径,在所述规则索引树中查找所述第一因子表达式,包括:
将所述因子路径对应的因子表达式转换成第一表达式节点链;
依次获得所述第一表达式节点链中的第一节点,并判断所述第一节点是否具有参数;
若所述第一节点具有参数,则根据所述第一节点的上一节点的节点名称以及对应的参数,在所述规则索引树中查找是否存在对应的树节点;
若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;
若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
若所述第一节点不具有参数,则根据所述第一节点的上一节点的节点名称,在所述规则索引树中查找是否存在对应的树节点;
若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;
若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
6.根据权利要求3至5任一项所述的方法,其特征在于,所述方法还包括:
将所述因子表达式集合中的各个因子表达式转换成第二表达式节点链;
遍历所述第二表达式节点链,依次对所述第二表达式节点链中的第i个第二节点执行以下步骤,i为正整数:
判断所述第i个第二节点是否具有参数;
若所述第i个第二节点具有参数,则根据所述第i个第二节点的节点名称以及对应的参数在预先创建的规则索引树模型中查找对应的树节点;
若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;
判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;
若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
若所述第i个第二节点不具有参数,则根据所述第i个第二节点的节点名称在所述规则索引树模型中查找对应的树节点;
若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;
判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;
若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
8.根据权利要求1至7任一项所述的方法,其特征在于,所述从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式,包括:
根据所述场景标识,获得对应的为当前场景配置的因子表达式;
根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式。
9.根据权利要求8所述的方法,其特征在于,所述根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式,包括:
获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;
根据所述为当前场景配置的因子表达式,在所述规则索引树中查找到所述第二因子表达式。
10.根据权利要求1至9任一项所述的方法,其特征在于,在所述获得所述可执行业务规则的执行结果之后,所述方法还包括:
当所述可执行业务规则为校验规则时,则根据消息模板组装消息,输出执行结果。
11.一种业务规则的处理装置,其特征在于,包括:
接口模块,用于获得输入参数,所述输入参数包括:因子路和场景标识,其中,所述因子路径用于表征业务对象所发生的变化,所述场景标识用于表征当前场景;
处理模块,用于从所述业务对象对应的因子表达式集合中确定出所述因子路径对应的第一因子表达式,所述因子表达式集合为用于表示所述业务对象对应的业务规则的集合;从所述因子表达式集合中确定出所述场景标识对应的第二因子表达式;根据所述第一因子表达式和所述第二因子表达式,确定出第三因子表达式,所述第三因子表达式用于表示在当前场景下变化后的业务对象对应的可执行业务规则;获得所述第三因子表达式的值,所述第三因子表达式的值用于表示所述可执行业务规则的执行结果。
12.根据权利要求11所述的装置,其特征在于,所述处理模块,还用于获取所述业务对象的属性信息;从所述因子表达式集合中确定出所述属性信息对应的第四因子表达式;根据所述第一因子表达式、所述第二因子表达式和所述第四因子表达式,确定出所述第三因子表达式。
13.根据权利要求11或12所述的装置,其特征在于,所述处理模块,用于获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述因子路径,在所述规则索引树中查找所述第一因子表达式。
14.根据权利要求13所述的装置,其特征在于,所述处理模块,用于将所述因子路径对应的因子表达式转换成第一表达式节点链;依次获得所述第一表达式节点链中的第一节点,并判断所述第一节点是否具有参数;若所述第一节点具有参数,则根据所述第一节点的上一节点的节点名称以及对应的参数,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
15.根据权利要求14所述的装置,其特征在于,所述处理模块,还用于若所述第一节点不具有参数,则根据所述第一节点的上一节点的节点名称,在所述规则索引树中查找是否存在对应的树节点;若存在对应的树节点,则判断所述第一节点是否为所述第一表达式节点链的最后一个节点;若所述第一节点为所述第一表达式节点链的最后一个节点,则将所述规则索引树中的以所述第一节点对应的树节点为根节点的子树所对应的因子表达式确定为所述第一因子表达式。
16.根据权利要求13至15任一项所述的装置,其特征在于,所述装置还包括:树构建模块,用于将所述因子表达式集合中的各个因子表达式转换成第二表达式节点链;遍历所述第二表达式节点链,依次对所述第二表达式节点链中的第i个第二节点执行以下步骤,i为正整数:判断所述第i个第二节点是否具有参数;若所述第i个第二节点具有参数,则根据所述第i个第二节点的节点名称以及对应的参数在预先创建的规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
17.根据权利要求16所述的装置,其特征在于,所述树构建模块,还用于若所述第i个第二节点不具有参数,则根据所述第i个第二节点的节点名称在所述规则索引树模型中查找对应的树节点;若未查找到所述第i个第二节点对应的树节点,则为所述第i个第二节点创建新的树节点,并将所述新的树节点添加至所述规则索引树模型中的上一树节点的子节点;判断所述第i个第二节点是否为自身所在的第二表达式节点链中的最后一个节点;若所述第i个第二节点是自身所在的第二表达式节点链中的最后一个节点,则将所述规则索引树模型确定为所述规则索引树。
18.根据权利要求11至17任一项所述的装置,其特征在于,所述处理模块,还用于根据所述场景标识,获得对应的为当前场景配置的因子表达式;根据所述为当前场景配置的因子表达式,在所述因子表达式集合中确定出所述第二因子表达式。
19.根据权利要求18所述的装置,其特征在于,所述处理模块,用于获取由所述因子表达式集合构建的规则索引树,其中,所述因子表达式集合中各个因子表达式中的因子与所述规则索引树的各个节点对应;根据所述为当前场景配置的因子表达式,在所述规则索引树中查找到所述第二因子表达式。
20.根据权利要求11至19任一项所述的装置,其特征在于,所述接口模块,还用于在所述处理模块获得所述可执行业务规则的执行结果之后,当所述可执行业务规则为校验规则时,则根据消息模板组装消息,输出执行结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910576569.5A CN112150091A (zh) | 2019-06-28 | 2019-06-28 | 一种业务规则的处理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910576569.5A CN112150091A (zh) | 2019-06-28 | 2019-06-28 | 一种业务规则的处理方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112150091A true CN112150091A (zh) | 2020-12-29 |
Family
ID=73869470
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910576569.5A Pending CN112150091A (zh) | 2019-06-28 | 2019-06-28 | 一种业务规则的处理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112150091A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380401A (zh) * | 2021-01-14 | 2021-02-19 | 蚂蚁智信(杭州)信息技术有限公司 | 业务数据的核对方法和装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080648A1 (en) * | 2003-09-29 | 2005-04-14 | Huelsman David L. | Rule processing method, apparatus, and computer-readable medium to generate valid combinations for selection |
CN1674519A (zh) * | 2004-03-24 | 2005-09-28 | 华为技术有限公司 | 一种通信业务计费的实现方法 |
US20070094199A1 (en) * | 2005-08-30 | 2007-04-26 | International Business Machines Corporation | System and method for automatically processing dynamic business rules in a content management system |
CN104391830A (zh) * | 2014-10-24 | 2015-03-04 | 华迪计算机集团有限公司 | 单据页面动态布局的方法及装置 |
CN107645403A (zh) * | 2016-07-22 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 终端规则引擎装置、终端规则运行方法 |
CN108628947A (zh) * | 2018-04-02 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种业务规则匹配处理方法、装置及处理设备 |
CN108984567A (zh) * | 2017-06-02 | 2018-12-11 | 华为技术有限公司 | 一种业务数据管理***及方法 |
CN109190874A (zh) * | 2018-07-12 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 多分支业务流程的实现方法和装置 |
CN109598632A (zh) * | 2018-12-13 | 2019-04-09 | 泰康保险集团股份有限公司 | 保险业务处理方法、装置、介质及电子设备 |
-
2019
- 2019-06-28 CN CN201910576569.5A patent/CN112150091A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050080648A1 (en) * | 2003-09-29 | 2005-04-14 | Huelsman David L. | Rule processing method, apparatus, and computer-readable medium to generate valid combinations for selection |
CN1674519A (zh) * | 2004-03-24 | 2005-09-28 | 华为技术有限公司 | 一种通信业务计费的实现方法 |
US20070094199A1 (en) * | 2005-08-30 | 2007-04-26 | International Business Machines Corporation | System and method for automatically processing dynamic business rules in a content management system |
CN104391830A (zh) * | 2014-10-24 | 2015-03-04 | 华迪计算机集团有限公司 | 单据页面动态布局的方法及装置 |
CN107645403A (zh) * | 2016-07-22 | 2018-01-30 | 阿里巴巴集团控股有限公司 | 终端规则引擎装置、终端规则运行方法 |
CN108984567A (zh) * | 2017-06-02 | 2018-12-11 | 华为技术有限公司 | 一种业务数据管理***及方法 |
CN108628947A (zh) * | 2018-04-02 | 2018-10-09 | 阿里巴巴集团控股有限公司 | 一种业务规则匹配处理方法、装置及处理设备 |
CN109190874A (zh) * | 2018-07-12 | 2019-01-11 | 阿里巴巴集团控股有限公司 | 多分支业务流程的实现方法和装置 |
CN109598632A (zh) * | 2018-12-13 | 2019-04-09 | 泰康保险集团股份有限公司 | 保险业务处理方法、装置、介质及电子设备 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112380401A (zh) * | 2021-01-14 | 2021-02-19 | 蚂蚁智信(杭州)信息技术有限公司 | 业务数据的核对方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3072070B1 (en) | Callpath finder | |
CN109241101B (zh) | 一种数据库查询优化方法、装置、及计算机设备 | |
US20180300336A1 (en) | Knowledge point structure-based search apparatus | |
CN112154420B (zh) | 自动智能云服务测试工具 | |
CN106873952B (zh) | 移动端网页开发的数据处理***和方法、及应用装置 | |
CN114064690A (zh) | 数据处理方法及装置 | |
CN113079198B (zh) | 一种云平台接口协议转换的方法及装置 | |
CN116560661A (zh) | 代码优化方法、装置、设备及存储介质 | |
CN110851343A (zh) | 一种基于决策树的测试方法和装置 | |
CN112150091A (zh) | 一种业务规则的处理方法及装置 | |
CN108959294B (zh) | 一种访问搜索引擎的方法和装置 | |
CN112068815B (zh) | 一种业务规则的处理方法及装置 | |
CN105245622A (zh) | 一种可配置的数据处理方法、***及移动平台 | |
CN110866031B (zh) | 数据库访问路径的优化方法、装置、计算设备以及介质 | |
CN114995719B (zh) | 列表渲染方法、装置、设备以及存储介质 | |
CN116010389A (zh) | 数据校验方法、装置、设备及存储介质 | |
CN115577363A (zh) | 恶意代码反序列化利用链的检测方法及装置 | |
CN114493799A (zh) | 一种分库分表管理专车订单数据的方法及*** | |
CN110471708B (zh) | 基于可重用组件的配置项获取的方法及装置 | |
CN109712011B (zh) | 社区发现方法和装置 | |
CN110851126A (zh) | iOS平台上自制私有库配置的方法和装置 | |
US20230229865A1 (en) | Extensible digital assistant interface using natural language processing to respond to user intent | |
CN112270601B (zh) | 信息传递方法、装置、电子设备及可读存储介质 | |
CN106484859A (zh) | 一种关联词展现方法和装置 | |
CN110096504B (zh) | 流式事件特征匹配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |