CN109815389A - 应用规则引擎的节点匹配方法、装置以及计算机设备 - Google Patents
应用规则引擎的节点匹配方法、装置以及计算机设备 Download PDFInfo
- Publication number
- CN109815389A CN109815389A CN201910107963.4A CN201910107963A CN109815389A CN 109815389 A CN109815389 A CN 109815389A CN 201910107963 A CN201910107963 A CN 201910107963A CN 109815389 A CN109815389 A CN 109815389A
- Authority
- CN
- China
- Prior art keywords
- rule
- meta
- matching
- matching result
- result
- 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
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本公开涉及一种应用规则引擎的节点匹配方法,该方法包括:响应于接收到的用户操作,获取所述用户操作的属性信息以及待匹配的规则集,所述规则集包括父节点元规则和子节点元规则;基于所述属性信息,获取所述规则集中子节点元规则的匹配结果;以及根据所述匹配结果确定对所述用户操作的后续响应。本公开的实施例提供的技术方案能够在进行节点匹配计算的时候,减少计算的节点数,使得计算的时间更快,因而其时间复杂度更低。对匹配结果数据的存储不是全量存储,而是只对热点叶子节点匹配数据进行存储,减少了空间资源的占用。
Description
技术领域
本公开涉及互联网技术领域,具体而言,涉及一种应用规则引擎的节点匹配方法和装置以及计算设备。
背景技术
规则引擎是一个数据处理平台,主要是处理计算、统计类业务。规则引擎可以根据不同的业务配置不同类型的规则,业务越繁琐,规则引擎起到的作用就越强大,规则处理模块中配置规则公式(公式处理)可以应用于不同的业务要求中,也可以只处理单独一种特殊的业务。
它是一种在人工智能和商业管理领域中广泛使用的规则生成系统,它的使用会促进程序编写人员与策略专家的分离。它是基于一组规则集和规则运算上下文进行规则匹配运算的装置,是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。接受数据输入,解释业务规则,并根据业务规则做出业务决策。
当前的规则引擎的节点计算有2种,一种是每一次计算都一个节点一个节点的计算,另一种是依然是每一次计算都一个节点一个节点的计算,只是增加了计算结果的保存,下一次可以直接使用。
很多父子关系的节点都进行了计算,实际上子节点是否符合之后,父节点是不需要计算的,相当于原来的计算浪费了不少计算资源。另外一种就是计算结果会全量存储,以做下一次调度使用,会占用不少的内存资源,实际上有不少规则不是常用的。
因此,如何解决无用节点的计算和全量计算结果占用较大存储空间的问题,是相关技术亟待解决的问题。
在所述背景技术部分公开的上述信息仅用于加强对本公开的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。
发明内容
有鉴于此,本公开的目的是提供应用规则引擎的节点匹配方法和装置以及计算设备,进而至少在一定程度上克服由于相关技术的限制和缺陷而导致的一个或者多个问题。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的一方面,提出一种应用规则引擎的节点匹配方法,该方法包括:响应于接收到的用户操作,获取所述用户操作的属性信息以及待匹配的规则集,所述规则集包括父节点元规则和子节点元规则;基于所述属性信息,获取所述规则集中子节点元规则的匹配结果;以及根据所述匹配结果确定对所述用户操作的后续响应。
根据本公开的一方面,提出一种应用规则引擎的节点匹配装置,包括:规则获取模块,设置为响应于接收到的用户操作,获取所述用户操作的属性信息以及待匹配的规则集,所述规则集包括父节点元规则和子节点元规则;结果获取模块,设置为基于所述属性信息,获取所述规则集中子节点元规则的匹配结果;结果存储模块,设置为根据所述匹配结果确定对所述用户操作的后续响应。
根据本公开实施例的一个方面,提供一种存储有计算机程序的存储介质,所述计算机程序在由计算机的处理器运行时,使所述计算机执行如以上任一实施例所述的方法。
根据本公开实施例的一个方面,提供一种计算设备,包括:处理器;存储器,存储有可由所述处理器执行的指令;其中所述处理器被配置为执行如以上任一实施例所述的方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
在进行节点匹配计算的时候,计算的节点数减少了,计算的时间更快,因而其时间复杂度更低。对匹配结果数据的存储不是全量存储,而是只对热点叶子节点匹配数据进行存储,减少了空间资源的占用。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
通过参照附图详细描述其示例实施例,本公开的上述和其它目标、特征及优点将变得更加显而易见。下面描述的附图仅仅是本公开的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为根据本公开一实施例的应用规则引擎的节点匹配方法流程图;
图2为本公开实施例提供的一种规则树的结构示意图;
图3为根据本公开一实施例的应用规则引擎的节点匹配方法流程图;
图4是根据本公开一实施例应用规则引擎的节点匹配装置结构框图;
图5示出根据本公开示例实施方式中一种计算设备50的示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
应理解,虽然本文中可能使用术语第一、第二、第三等来描述各种组件,但这些组件不应受这些术语限制。这些术语乃用以区分一组件与另一组件。因此,下文论述的第一组件可称为第二组件而不偏离本公开概念的教示。如本文中所使用,术语“及/或”包括相关联的列出项目中的任一个及一或多者的所有组合。
本领域技术人员可以理解,附图只是示例实施例的示意图,附图中的模块或流程并不一定是实施本公开所必须的,因此不能用于限制本公开的保护范围。
图1为根据本公开一实施例的应用规则引擎的节点匹配方法流程图,如图所示,本实施例的方法包括以下步骤S101-S103。
在步骤S101中,响应于接收到的用户操作,获取所述用户操作的属性信息以及待匹配的规则集,所述规则集包括父节点元规则和子节点元规则。
运行规则不仅需要用到元规则,还需要元规则涉及的业务数据参与,所述业务数据反映了当前所要运行的规则对应的具体业务场景,对业务内容不做限定,可以是任意可在网上进行的业务,比如,电子商务业务、金融业务、通信业务、风险控制业务、视频监控业务等,这些业务可以独立地为用户提供服务,也可以相互协助地为用户提供服务。因此,用户的操作例如可以是用户在具体业务场景里进行的有关的业务操作。
用户操作的属性信息可以是业务操作中包含的与元规则相关的业务数据,例如用户使用的应用程序(Application,APP)的类型或者支付方式的类型,本公开对此不作限定。
规则集可以包含多条元规则,不同的元规则之间可能有父子关系(或者称为父子结构关系、上下结构或者树结构),父子关系的节点之间的关系需要被读取出来。
在步骤S102中,基于所述属性信息,获取所述规则集中子节点元规则的匹配结果。
根据规则集和业务数据,读取元规则集中子节点和业务数据进行匹配计算,其匹配计算结果作为规则集中子节点元规则的匹配结果,运行结果一般为1或者0(或者为TRUE或FALSE),当然,在实际应用中,运行结果也可能不是一个逻辑运算结果,比如,运行结果也可以是用于表征两种以上情况中的一种情况的数值等。
在本公开的一个示例性实施例中,基于多条元规则之间的父子关系获取所述规则集,所述多条元规则与多项所述属性信息分别对应,所述父节点元规则对应于至少一条子节点元规则。并且,对于某个父节点元规则而言,在其对应的所有子节点元规则中任一子节点元规则匹配时,都确定该父节点元规则匹配。
因为父节点元规则可以包含有父子关系的多个子节点元规则,其子节点元规则也可以包含有父子关系的多个孙节点元规则,由末端的孙节点元规则到父节点元规则的连接关系构成元规则树,在元规则树的末端的子节点元规则(也称为叶子节点元规则)也是处于元规则树根部的父节点元规则(也称为根节点元规则)对应的子节点元规则。只需对多个叶子节点元规则中的任一子节点元规则进行匹配,则其匹配结果可以认为是父节点元规则的匹配结果。
在步骤S103中,根据所述匹配结果确定对所述用户操作的后续响应。
若是匹配结果为1,则可以执行相应的操作,例如可以是用户符合业务规则,可以享受优惠,若是匹配结果为0,也执行相应的操作,例如可以是用户不符合业务规则,不能享受优惠。
在一个实施例中,步骤S103还可包括将符合热点条件的子节点元规则对应的匹配结果存入指定位置,例如缓存空间,从而如果后续用户操作的属性信息符合热点条件,则不需要计算,直接从存储中获取。
为了便于理解,本公开实施例提供了一种规则树的结构示意图,如图2所示。
需要说明的是,图2中的规则树的结构只是示例,本申请对规则树的层数、分叉数目、各节点具体等并不做限定。
例如,父节点元规则运行的则是与支付方式相关的判断,支付方式可以是微信支付或者银联支付。子节点元规则运行的则是与具体的支付方式相关的判断,具体的支付方式指的可以是信用卡支付或者借记卡支付,孙节点元规则运行的则是与银行相关的判断,可以指的是招商银行的借记卡、工商银行的信用卡或者农业银行的信用卡。在进行匹配的时候,若是用户使用的是中国银行的借记卡来进行支付,那么在进行孙节点元规则匹配时,因为不符合任一条孙节点元规则,因此,孙节点元规则的匹配结果是0,父节点元规则的匹配结果也为0。
在本公开的一个示例性实施例中,基于所述父节点元规则之间的计算关系构建元规则树。
将每一个叶子节点元规则到根节点元规则根据关系进行组装构成元规则树。
在本公开的一个示例性实施例中,在其中一种计算关系中,例如对于指示同时满足的计算关系,可按照所述元规则树的深度排序,遍历获取所述元规则树中子节点元规则的匹配结果,直至完成遍历或得到不匹配的结果。
若是父节点元规则的之间的关系是与(AND)的关系,在进行匹配时候,先对父节点元规则所在的元规则树进行深度排序,深度即元规则树中元规则的个数,对多个元规则树中的每个叶子节点元规则进行匹配遍历,若是每一个子节点元规则的匹配结果都是1,则最终的匹配结果也是1。若是有一个子节点元规则的匹配结果是0,则最终的匹配结果也是0,也不需要进行后续的匹配。
在本公开的实施例中,可以基于从小到大进行深度排序,也可以基于从大到小进行排序,因为都是内存获取,所以影响不大,若选择从小到大进行排序的话,元规则树的遍历次数会减少,若选择从大到小排序,元规则节点的匹配次数会减少,若是不进行深度排序,则会增加遍历次数和元规则节点的匹配次数,本公开对此不作限定。
在本公开的一个示例性实施例中,在另一种计算关系中,例如对于指示择一满足的计算关系,获取所述元规则树中子节点元规则的匹配结果,直至得到任一匹配或全部不匹配的结果。
若是父节点元规则的之间的关系是或(OR)的关系,在进行匹配时候,先对父节点元规则所在的元规则树进行深度排序,对多个元规则树中的每个叶子节点元规则进行匹配遍历,若是有一个子节点元规则的匹配结果是1,则最终的匹配结果也是1,也不需要进行后续的匹配,若是每一个子节点元规则的匹配结果都是0,则最终的匹配结果也是0。
若是父节点元规则的之间的关系同时存在与(AND)关系和或(OR)关系,先将存在与(AND)关系的父节点元规则读取出来进行匹配,再对或(OR)关系的父节点元规则进行匹配,其两者的匹配结果按照逻辑运算规则进行计算获得最终的匹配结果。匹配方法和上述实施例中存在与(AND)和或(OR)关系的父节点元规则匹配相同。
图3为根据本公开一实施例的应用规则引擎的节点匹配方法流程图,如图3所示,在本公开的一个示例性实施例中,基于所述属性信息,确定所述指定位置是否存储有对应子节点元规则的匹配结果,若是则输出该匹配结果,否则根据所述属性信息与所述对应子节点元规则的比较结果输出所述匹配结果。
根据用户操作的业务数据,确定在指定位置中,例如可以是缓存空间,查询是否有与其业务数据对应的子节点元规则的匹配结果值,若是存在直接返回缓存的匹配结果值。若是没有,则对与其业务数据对应的父节点元规则所在的元规则树进行匹配,输出其匹配结果。
在本公开的一个示例性实施例中,所述将符合热点条件的子节点元规则对应的匹配结果存入指定位置包括,将符合以下任意热点条件的子节点元规则对应的匹配结果存入所述指定位置:
预设时间内的匹配次数超过第一预设阈值;
每秒查询率QPS超过第二预设阈值;以及
计算所述匹配结果所需的内存量超过第三预设阈值。
对热点子节点规则匹配结果进行存储,热点元规则结果集可以使用例如并行哈希表(concurrentHashMap)来进行存储。存储的键值(key)为热点叶子节点元规则,值(value)为计算结果(1或者0)。
判断子节点是否是热点元规则需符合以下任一条件,即预设时间内的匹配次数超过第一预设阈值,例如,一天内匹配次数超过N,N为自然数,本公开对此不作限定。每秒查询率QPS超过第二预设阈值,例如,每秒查询率QPS超过M,M为自然数,本公开对此不作限定,以及计算所述匹配结果所需的内存量超过第三预设阈值,例如计算所述匹配结果所需的内存量超过X,X为自然数,本公开对此不作限定。
对热点子节点元规则匹配结果进行存储,之后用户操作的属性信息符合热点条件,不需要每一次都进行计算,可以直接获取匹配结果,能有效的节省计算资源,也能加快节点的计算速度,提升系统的性能。
在本公开的一个示例性实施例中,在获取所述匹配结果之后或者按周期对所述指定位置进行空间清除处理。
热点子节点在某个时间会符合热点子节点的判断条件,然而,有可能在一段时间过后,其可能会不符合热点子节点的判断条件,但是,因为其匹配结果仍存储在指定位置,占用了缓存空间,因此,需要对其判断后进行清除处理。可以在获取所述匹配结果之后和/或按周期对所述指定位置进行空间清除处理,例如可以是每隔半个小时进行空间清除处理。
在本公开的一个示例性实施例中,所述的空间清除处理包括,删除与符合以下任意清除条件的子节点元规则对应的匹配结果:
预设时间内的匹配次数小于第四预设阈值;
所述指定空间的存储大小超过第五预设阈值;以及
计算所述匹配结果所需的内存量超过第六预设阈值。
在进行空间清除处理判断的时候需符合以下任一条件,热点子节点元规则预设时间内匹配次数小于Y,Y为自然数,本公开对此不作限定。指定空间的存储大小超过O,O为自然数,本公开对此不作限定。热点子节点计算需要内存量超过Z,Z为自然数,本公开对此不作限定。
对空间进行清除处理,能有效的清除不必要的资源占用,释放资源空间,为新的热点子节点元规则匹配结果存储提供更多的空间,能有效提升空间利用的合理性。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图4是根据本公开一实施例应用规则引擎的节点匹配装置结构框图,如图所示,本实施例的装置包括规则获取模块401,结果获取模块402,结果存储模块403。
规则获取模块401,设置为响应于接收到的用户操作,获取所述用户操作的属性信息以及待匹配的规则集,所述规则集包括父节点元规则和子节点元规则;
结果获取模块402,设置为基于所述属性信息,获取所述规则集中子节点元规则的匹配结果;
结果存储模块403,设置为根据所述匹配结果确定对所述用户操作的后续响应。
基于多条元规则之间的父子关系获取所述规则集,所述多条元规则与多项所述属性信息分别对应,所述父节点元规则对应于至少一条子节点元规则,结果获取模块402被设置为,且在所述至少一条子节点元规则中任一子节点元规则匹配时确定所述父节点元规则匹配。
结果获取模块402还被设置为基于所述父节点元规则之间的计算关系构建元规则树;在其中一种计算关系中,例如对于指示同时满足的计算关系,按照所述元规则树的深度排序,遍历获取所述元规则树中子节点元规则的匹配结果,直至完成遍历或得到不匹配的结果;在另一种计算关系中,例如对于指示择一满足的计算关系,获取所述元规则树中子节点元规则的匹配结果,直至得到任一匹配或全部不匹配的结果。
结果获取模块402还被设置为基于所述属性信息,确定所述指定位置是否存储有对应子节点元规则的匹配结果,若是则输出该匹配结果,否则根据所述属性信息与所述对应子节点元规则的比较结果输出所述匹配结果。
结果存储模块403还被设置为将符合热点条件的子节点元规则对应的匹配结果存入指定位置。例如,结果存储模块403将符合以下任意热点条件的子节点元规则对应的匹配结果存入所述指定位置:
预设时间内的匹配次数超过第一预设阈值;
每秒查询率QPS超过第二预设阈值;以及
计算所述匹配结果所需的内存量超过第三预设阈值。
应用规则引擎的节点匹配装置还包括空间清除模块404,空间清除模块404设置为在获取所述匹配结果之后或者按周期对所述指定位置进行空间清除处理。
空间清除模块404还被设置为删除与符合以下任意清除条件的子节点元规则对应的匹配结果:
预设时间内的匹配次数小于第四预设阈值;
所述指定空间的存储大小超过第五预设阈值;以及
计算所述匹配结果所需的内存量超过第六预设阈值。
应用规则引擎的节点匹配装置通过对热点子节点元规则匹配结果进行存储,能有效的节省计算资源,也能加快节点的计算速度,提升系统的性能。通过对空间进行清除处理,能有效的清除不必要的资源占用,释放资源空间,为新的热点子节点元规则匹配结果存储提供更多的空间,能有效提升空间利用的合理性。
本实施例基于与上述方法实施例同样的发明构思,提供了一种应用规则引擎的节点匹配装置,本实施例能够用于实现上述实施例中提供的应用规则引擎的节点匹配方法。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
通过以上实施方式的描述,本领域的技术人员易于理解,上文描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。
例如,在一个示例实施方式中,还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时可以实现上述任意一个实施例中所述方法的步骤。所述方法的具体步骤可参考前述实施例中的详细描述,此处不再赘述。
在另一个示例实施方式中,还提供一种计算设备,该设备可以是手机、平板电脑等移动终端,也可以是台式计算机、服务器等终端设备,本示例实施方式中对此不作限制。图5示出根据本公开示例实施方式中一种计算设备50的示意图。例如,设备50可以被提供为一移动终端。参照图5,设备50包括处理组件51,其进一步包括一个或多个处理器,以及由存储器52所代表的存储器资源,用于存储可由处理组件51的执行的指令,例如应用程序。存储器52中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件51被配置为执行指令,以执行上述应用规则引擎的节点匹配方法。
其中,存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算机终端或移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
装置50还可以包括一个电源组件53被配置为执行装置50的电源管理,一个有线或无线网络接口54被配置为将装置50连接到网络,和一个输入输出(I/O)接口55。装置50可以操作基于存储在存储器52的操作系统,例如Android、IOS或类似。
需要说明的是,本发明所示的存储有计算机程序的存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本发明实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由所附的权利要求指出。
虽然已参照几个典型实施例描述了本公开,但应当理解,所用的术语是说明和示例性、而非限制性的术语。由于本公开能够以多种形式具体实施而不脱离申请的精神或实质,所以应当理解,上述实施例不限于任何前述的细节,而应在随附权利要求所限定的精神和范围内广泛地解释,因此落入权利要求或其等效范围内的全部变化和改型都应为随附权利要求所涵盖。
Claims (12)
1.一种应用规则引擎的节点匹配方法,其特征在于,包括:
响应于接收到的用户操作,获取所述用户操作的属性信息以及待匹配的规则集,所述规则集包括父节点元规则和子节点元规则;
基于所述属性信息,获取所述规则集中子节点元规则的匹配结果;以及
根据所述匹配结果确定对所述用户操作的后续响应。
2.如权利要求1所述的方法,其特征在于,还包括:
基于多条元规则之间的父子关系构建所述规则集,所述多条元规则与多项所述属性信息分别对应,所述父节点元规则对应于至少一条子节点元规则,且在所述至少一条子节点元规则中任一子节点元规则匹配时确定所述父节点元规则匹配。
3.如权利要求1所述的方法,其特征在于,所述获取所述规则集中子节点元规则的匹配结果,包括:
基于所述父节点元规则之间的计算关系构建元规则树;以及
按照所述元规则树的深度排序,遍历获取所述元规则树中子节点元规则的匹配结果,直至完成遍历或得到不匹配的结果。
4.如权利要求1所述的方法,其特征在于,所述获取所述规则集中子节点元规则的匹配结果,包括:
基于所述父节点元规则之间的计算关系构建元规则树;以及
获取所述元规则树中子节点元规则的匹配结果,直至得到任一匹配或全部不匹配的结果。
5.如权利要求1、3或4所述的方法,其特征在于,在所述获取子节点元规则的匹配结果后,所述方法还包括:将符合热点条件的子节点元规则对应的匹配结果存入指定位置。
6.如权利要求5所述的方法,其特征在于,所述获取子节点元规则的匹配结果,包括:
基于所述属性信息,确定所述指定位置是否存储有对应子节点元规则的匹配结果,若是则输出该匹配结果,否则根据所述属性信息与所述对应子节点元规则的比较结果输出所述匹配结果。
7.如权利要求5所述的方法,其特征在于,所述将符合热点条件的子节点元规则对应的匹配结果存入指定位置包括,将符合以下任意热点条件的子节点元规则对应的匹配结果存入所述指定位置:
预设时间内的匹配次数超过第一预设阈值;
每秒查询率QPS超过第二预设阈值;以及
计算所述匹配结果所需的内存量超过第三预设阈值。
8.如权利要求5所述的方法,其特征在于,还包括:
在获取所述匹配结果之后对所述指定位置进行空间清除处理或者按周期对所述指定位置进行空间清除处理。
9.如权利要求8所述的方法,其特征在于,所述的空间清除处理包括,删除与符合以下任意清除条件的子节点元规则对应的匹配结果:
预设时间内的匹配次数小于第四预设阈值;
所述指定空间的存储大小超过第五预设阈值;以及
计算所述匹配结果所需的内存量超过第六预设阈值。
10.一种应用规则引擎的节点匹配装置,包括:
规则获取模块,设置为响应于接收到的用户操作,获取所述用户操作的属性信息以及待匹配的规则集,所述规则集包括父节点元规则和子节点元规则;
结果获取模块,设置为基于所述属性信息,获取所述规则集中子节点元规则的匹配结果;
结果存储模块,设置为根据所述匹配结果确定对所述用户操作的后续响应。
11.一种存储有计算机程序的存储介质,所述计算机程序在由计算机的处理器运行时,使所述计算机执行如权利要求1-9中任一项所述的方法。
12.一种计算设备,包括:
处理器;以及存储器,存储有可由所述处理器执行的指令;其中所述处理器被配置为执行如权利要求1-9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910107963.4A CN109815389A (zh) | 2019-02-02 | 2019-02-02 | 应用规则引擎的节点匹配方法、装置以及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910107963.4A CN109815389A (zh) | 2019-02-02 | 2019-02-02 | 应用规则引擎的节点匹配方法、装置以及计算机设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109815389A true CN109815389A (zh) | 2019-05-28 |
Family
ID=66605162
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910107963.4A Pending CN109815389A (zh) | 2019-02-02 | 2019-02-02 | 应用规则引擎的节点匹配方法、装置以及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109815389A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433774A (zh) * | 2019-08-07 | 2021-03-02 | 中移信息技术有限公司 | 业务信息匹配方法、装置、设备及存储介质 |
CN112527402A (zh) * | 2019-08-27 | 2021-03-19 | 马上消费金融股份有限公司 | 结算方法以及相关装置 |
CN112613275A (zh) * | 2020-12-24 | 2021-04-06 | 金蝶软件(中国)有限公司 | 单据生成方法、装置、计算机设备和存储介质 |
CN112819521A (zh) * | 2021-01-29 | 2021-05-18 | 广州华多网络科技有限公司 | 消费权益多规则匹配方法及其装置、设备与介质 |
CN113641708A (zh) * | 2021-08-11 | 2021-11-12 | 华院计算技术(上海)股份有限公司 | 规则引擎的优化方法、数据匹配方法及装置、存储介质、终端 |
CN114462365A (zh) * | 2021-12-27 | 2022-05-10 | 奇安信科技集团股份有限公司 | 报表生成方法、装置、设备、存储介质和程序产品 |
GB2603472A (en) * | 2021-01-29 | 2022-08-10 | Pelion Iot Ltd | Implementation of Rules in a Computing System |
CN114925092A (zh) * | 2022-05-09 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN116012123A (zh) * | 2023-03-27 | 2023-04-25 | 湖南三湘银行股份有限公司 | 一种基于Rete算法的风控规则引擎方法及系统 |
CN116561134A (zh) * | 2023-07-10 | 2023-08-08 | 深圳高益科技有限公司 | 业务规则处理方法、装置、设备及存储介质 |
CN117573186A (zh) * | 2023-11-24 | 2024-02-20 | 北京中海通科技有限公司 | 基于Drools的规则引擎效率优化方法、装置和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015162024A (ja) * | 2014-02-26 | 2015-09-07 | 日本電信電話株式会社 | 検索木生成・検索装置及び方法及びプログラム |
CN105096033A (zh) * | 2015-07-01 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种提供决策信息的方法和装置 |
CN105573726A (zh) * | 2014-10-10 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种规则处理方法及设备 |
CN106909454A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种规则处理方法和设备 |
CN107247588A (zh) * | 2017-05-26 | 2017-10-13 | 电子科技大学 | 一种基于约束频度的规则引擎优化方法 |
-
2019
- 2019-02-02 CN CN201910107963.4A patent/CN109815389A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2015162024A (ja) * | 2014-02-26 | 2015-09-07 | 日本電信電話株式会社 | 検索木生成・検索装置及び方法及びプログラム |
CN105573726A (zh) * | 2014-10-10 | 2016-05-11 | 阿里巴巴集团控股有限公司 | 一种规则处理方法及设备 |
CN105096033A (zh) * | 2015-07-01 | 2015-11-25 | 北京京东尚科信息技术有限公司 | 一种提供决策信息的方法和装置 |
CN106909454A (zh) * | 2015-12-22 | 2017-06-30 | 阿里巴巴集团控股有限公司 | 一种规则处理方法和设备 |
CN107247588A (zh) * | 2017-05-26 | 2017-10-13 | 电子科技大学 | 一种基于约束频度的规则引擎优化方法 |
Non-Patent Citations (1)
Title |
---|
王平: "基于改进Rete算法的RFID复合事件检测方法研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112433774A (zh) * | 2019-08-07 | 2021-03-02 | 中移信息技术有限公司 | 业务信息匹配方法、装置、设备及存储介质 |
CN112527402A (zh) * | 2019-08-27 | 2021-03-19 | 马上消费金融股份有限公司 | 结算方法以及相关装置 |
CN112613275A (zh) * | 2020-12-24 | 2021-04-06 | 金蝶软件(中国)有限公司 | 单据生成方法、装置、计算机设备和存储介质 |
CN112819521A (zh) * | 2021-01-29 | 2021-05-18 | 广州华多网络科技有限公司 | 消费权益多规则匹配方法及其装置、设备与介质 |
GB2603472A (en) * | 2021-01-29 | 2022-08-10 | Pelion Iot Ltd | Implementation of Rules in a Computing System |
CN113641708A (zh) * | 2021-08-11 | 2021-11-12 | 华院计算技术(上海)股份有限公司 | 规则引擎的优化方法、数据匹配方法及装置、存储介质、终端 |
CN114462365A (zh) * | 2021-12-27 | 2022-05-10 | 奇安信科技集团股份有限公司 | 报表生成方法、装置、设备、存储介质和程序产品 |
CN114925092A (zh) * | 2022-05-09 | 2022-08-19 | 北京达佳互联信息技术有限公司 | 一种数据处理方法、装置、电子设备及存储介质 |
CN116012123A (zh) * | 2023-03-27 | 2023-04-25 | 湖南三湘银行股份有限公司 | 一种基于Rete算法的风控规则引擎方法及系统 |
CN116561134A (zh) * | 2023-07-10 | 2023-08-08 | 深圳高益科技有限公司 | 业务规则处理方法、装置、设备及存储介质 |
CN116561134B (zh) * | 2023-07-10 | 2023-11-03 | 深圳高益科技有限公司 | 业务规则处理方法、装置、设备及存储介质 |
CN117573186A (zh) * | 2023-11-24 | 2024-02-20 | 北京中海通科技有限公司 | 基于Drools的规则引擎效率优化方法、装置和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109815389A (zh) | 应用规则引擎的节点匹配方法、装置以及计算机设备 | |
CN107424069A (zh) | 一种风控特征的生成方法、风险监控方法及设备 | |
CN107688423A (zh) | 一种系统上菜单选项的管理方法和处理设备 | |
CN109255072A (zh) | 信息召回方法及装置、计算机存储介质、电子设备 | |
CN103138981A (zh) | 一种社交网络分析方法和装置 | |
CN109840111A (zh) | 一种图形化的业务处理系统和方法 | |
CN109598542A (zh) | 一种营销权益的投放方法、装置及电子设备 | |
CN109522314A (zh) | 基于区块链的数据归档方法及终端设备 | |
CN108197903A (zh) | 一种企业中的关系信息处理方法及装置 | |
CN112491900B (zh) | 异常节点识别方法、装置、设备及介质 | |
CN110428139A (zh) | 基于标签传播的信息预测方法及装置 | |
CN106844792A (zh) | 一种社交关系的原生信息指定受众广告实现方法及系统 | |
CN110517145A (zh) | 基于多区块链间的数据交易方法及相关设备 | |
CN110009347A (zh) | 一种区块链交易信息审计的方法及装置 | |
CN108762846A (zh) | 插件化实时推荐方法、服务器及计算机可读存储介质 | |
CN109740066A (zh) | 信息推荐方法、信息推荐装置、存储介质及电子设备 | |
CN112965710A (zh) | 计算图的处理方法、装置和系统 | |
CN109542432A (zh) | 风控规则编辑方法及终端设备 | |
CN109753573A (zh) | 一种基于图数据库构建预设模型的处理方法及装置 | |
CN107204998A (zh) | 处理数据的方法和装置 | |
Chen et al. | A modified harmony search algorithm for solving the dynamic vehicle routing problem with time windows | |
CN109903079A (zh) | 信息处理方法、设备及存储介质 | |
CN108446311A (zh) | 一种基于社交网络的app推荐方法及装置 | |
CN110223132A (zh) | 基于多权限角色的订单处理方法、装置、终端及存储介质 | |
CN104137475B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |