掌桥专利:专业的专利平台
掌桥专利
首页

一种标签规则引擎的建立方法、装置、设备及存储介质

文献发布时间:2023-06-19 19:28:50


一种标签规则引擎的建立方法、装置、设备及存储介质

技术领域

本发明涉及数据管理领域,特别涉及一种标签规则引擎的建立方法、装置、设备及存储介质。

背景技术

元数据管理系统中元数据是用来描述数据的数据。业务数据反应的是真实业务场景下的交易、实践、对象和关系,而元数据反应的是业务数据的交易、实践、对象和关系,是从信息中抽取出来的用于说明其特征的结构化的数据。而现有技术中在对业务中台增设或调整新业务时,需要对业务中台进行更新调整,造成业务中台在复杂多变的业务场景中不适用的问题。因此,如何提供一种适用于多业务场景下灵活的业务中台,是本领域技术人员亟需解决的技术问题。

发明内容

有鉴于此,本发明的目的在于提供一种标签规则引擎的建立方法、装置、设备及存储介质,解决了现有技术中在对业务中台增设或调整新业务时,需要对业务中台进行更新调整,造成业务中台在复杂多变的业务场景中不适用的问题。

为解决上述技术问题,本发明提供了一种标签规则引擎的建立方法,包括:

利用规则表达式对标签进行规则定义,得到标签规则;

根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构;

将所述整合数据结构作为规则引擎模型。

可选的,所述根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构,包括:

基于所述规则表达式中的优先级符和逻辑符对所述标签规则进行解析处理,得到简化标签规则;

对所述简化标签规则进行整合处理,得到所述整合数据结构。

可选的,所述对所述简化标签规则进行整合处理,得到所述整合数据结构,包括:

选取所述简化标签规则中优先级符和逻辑符中优先级最高的两个所述规则表达式,进行整合处理,作为整合后的规则表达式;

将所述整合规则表达式和没有进行整合处理的所述规则表达式作为所述简化标签规则;

重复执行所述选取所述简化标签规则中优先级符和逻辑符中优先级最高的两个所述规则表达式的步骤,直至所述简化标签规则中的所述规则表达式为一个,将所述简化标签规则作为所述整合数据结构。

可选的,在所述根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构之前,还包括:

若所述规则表达式满足预设解析条件,则执行所述根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构的步骤;所述预设解析条件为能够对所述标签规则进行安全解析的规则。

可选的,所述利用规则表达式对标签进行规则定义,得到标签规则,包括:

利用所述规则表达式对标签进行可视化规则定义,得到所述标签规则。

可选的,在所述将所述整合数据结构作为规则引擎模型之后,还包括:

基于所述规则表达式中的所述优先级符和所述逻辑符逐级执行所述规则引擎模型中的所述整合数据结构。

可选的,所述基于所述规则表达式中的所述优先级符和所述逻辑符逐级执行所述规则引擎模型中的所述整合数据结构,包括:

基于所述规则表达式中的所述优先级符和所述逻辑符执行所述规则引擎模型中最高优先级的所述整合数据结构的节点,得到执行结果;

若所述执行结果为失败,则将所述执行结果进行保存;

将下一优先级的所述整合数据结构的节点作为所述最高优先级的所述整合数据结构的节点,并检索所述执行结果,得到已执行过的所述整合数据结构中的节点,执行未执行的所述最高优先级的所述整合数据结构中的节点,直至得到成功的所述执行结果或所述整合数据结构的节点全部执行完成。

本发明还提供了一种标签规则引擎的建立装置,包括:

规则定义执行模块,用于利用规则表达式对标签进行规则定义,得到标签规则;

解析整合处理模块,用于根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构;

规则引擎模型生成模块,用于将所述整合数据结构作为规则引擎模型。

本发明还提供了一种标签规则引擎的建立设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序实现上述的标签规则引擎的建立方法的步骤。

本发明还提供了一种存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的标签规则引擎的建立方法的步骤。

可见,本发明提供的标签规则引擎的建立方法,包括利用规则表达式对标签进行规则定义,得到标签规则,根据规则表达式对标签规则进行解析整合处理,得到整合数据结构,将整合数据结构作为规则引擎模型。本发明通过利用规则表达式对标签进行规则定义,得到标签规则,保证了业务中台能够适用于复杂多变的业务场景,通过规则表达式对标签规则进行解析整合处理,得到整合数据结构,并将整合数据结构作为规则引擎模型的方式,提高了业务中台中业务调整的灵活性,进而在对业务中台增设或调整新业务时,更加方便快捷,使得业务中台在复杂多变的业务场景中适用,提高了用户的使用体验。

此外,本发明还提供了一种标签规则引擎的建立装置、设备及存储介质,同样具有上述有益效果。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种标签规则引擎的建立方法的流程图;

图2为本发明实施例提供的一种基于动态合并算法对简化标签规则进行整合处理的方法的流程图;

图3为本发明实施例提供的一种基于规则表达式中的优先级符和逻辑符逐级执行规则引擎模型中的整合数据结构的方法的流程图;

图4为本发明实施例提供的一种动态合并算法的示例图;

图5为本发明实施例提供的一种标签规则引擎的建立装置的结构示意图;

图6为本发明实施例提供的一种标签规则引擎的建立设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

请参考图1,图1为本发明实施例提供的一种标签规则引擎的建立方法的流程图。该方法可以包括:

S101:利用规则表达式对标签进行规则定义,得到标签规则。

本实施例的执行主体为终端。本实施例并不限定终端的种类,只要是能够完成标签规则引擎的建立即可。例如,终端可以是通用型终端,或者终端也可以是专用型终端。本实施例并不限定利用规则表达式对标签进行规则定义的具体方式,只要是能够对标签进行规则定义即可。例如,可以通过DSL利用规则表达式对标签进行规则定义,或者可以通过可视化规则利用规则表达式对标签进行规则定义。需要进行说明的是,DSL是领域特定语言,使用对象一般为开发者,功能强大,灵活度高,但有一定的学习成本。可视化的规则定义方式操作更加简单、也更贴合实际的业务场景。

本实施例中规则表达式包含基础字段、操作符、阀值、数据源、优先级符和逻辑符,基础字段由元数据管理提供,一般为一个业务对象下的属性字段,同时可以选择标签,实现标签规则定义的复用;操作符表示基础字段和阀值之间的成立关系;阀值标识规则表达式成立的值;数据源标识阀值的数据来源;优先级符用于优先级划分,其中,优先级符可以为括号,括号包裹的规则表达式具有更高的优先级;逻辑符表示规则表达式之间的逻辑关系,其中可以并逻辑的优先级要高于或逻辑。

进一步地,为了简化对标签进行规则定义的操作,贴合实际的业务场景,上述利用规则表达式对标签进行规则定义,得到标签规则,可以包括以下步骤:

利用规则表达式对标签进行可视化规则定义,得到标签规则。

需要进行说明的是,可视化的规则定义方式对于业务人员来说,操作更加简单、也更贴合实际的业务场景,操作更加方便。

S102:根据规则表达式对标签规则进行解析整合处理,得到整合数据结构。

需要进行说明的是,本实施例中可以根据规则表达式中的基础字段、操作符、阀值、数据源、优先级符和逻辑符对标签规则进行解析整合处理,或者也可以根据规则表达式中的任意项的组合对标签规则进行解析整合处理。

进一步地,为了提高对标签规则进行解析整合处理的效率,上述根据规则表达式对标签规则进行解析整合处理,得到整合数据结构,可以包括以下步骤:

步骤S11:基于规则表达式中的优先级符和逻辑符对标签规则进行解析处理,得到简化标签规则。

步骤S12:对简化标签规则进行整合处理,得到整合数据结构。

需要进行说明的是,本实施例中规则表达式中括号包裹的规则表达式具有更高的优先级,并逻辑的优先级高于或逻辑优先级,同一优先级的表达式,优先执行后面的表达式。基于上述方式对标签规则进行解析处理,得到简化标签规则。

进一步地,为了提高整合数据结构的整合度,进一步提高对标签规则进行整合处理的效率,上述对简化标签规则进行整合处理,得到整合数据结构可以包括以下步骤。具体请参考图2,图2为本发明实施例提供的一种基于动态合并算法对简化标签规则进行整合处理的方法的流程图。

S201:选取简化标签规则中优先级符和逻辑符中优先级最高的两个规则表达式,进行整合处理,作为整合后的规则表达式。

需要进行说明的是,本实施例中利用动态合并算法对简化标签规则进行整合处理,其中,动态合并算法每一次合并操作只对优先级最高的两个规则表达式进行合并。当解析一个复杂的规则定义时,首先按照优先级顺序,先将优先级最高的两个规则表达式进行合并,视作一个普通的规则表达式,然后对剩下的结构进行相同的合并操作,以此类推进行合并操作,最终得到一个整合数据结构,这个整合数据结构就是动态合并算法的最终结果。

S202:将整合规则表达式和没有进行整合处理的规则表达式作为简化标签规则。

S203:重复执行选取简化标签规则中优先级符和逻辑符中优先级最高的两个规则表达式的步骤,直至简化标签规则中的规则表达式为一个,将简化标签规则作为整合数据结构。

进一步地,为了保证在对标签规则进行解析的可靠性,保证规则引擎模型的可靠性,在上述根据规则表达式对标签规则进行解析整合处理,得到整合数据结构之前,还可以包括以下步骤:

若规则表达式满足预设解析条件,则执行根据规则表达式对标签规则进行解析整合处理,得到整合数据结构的步骤;预设解析条件为能够对标签规则进行安全解析的规则。

需要进行说明的是,本实施例中安全解析的规则可以包括规则表达式中的基本内容完整、当存在多个规则表达式时,表达式之间的逻辑关系必须标明、当使用括号划分优先级时,括号必须成对使用。

S103:将整合数据结构作为规则引擎模型。

需要进行说明的是,本实施例中将整合好的整合数据结构作为规则引擎模型。规则引擎模型为一个树形的数据结构,这个树形的数据结构的每一个末端节点都是一个规则表达式,每一个非末端节点都是一个逻辑关系,其中,最终整合成的整合数据结构的节点作为根节点。在规则引擎模型中,节点包含两种:基本节点(末端节点)和逻辑节点(非末端节点)。其中,逻辑节点又分为或逻辑节点、并逻辑节点。基本节点执行具体的业务判断,逻辑节点不执行具体的业务判断,表示基本节点之间的逻辑关系。可以简单的理解为,在模型生成时,规则表达式构造成基本节点,整合构造成逻辑节点。

进一步地,为了提高规则引擎模型的功能性,在上述将整合数据结构作为规则引擎模型之后,还可以包括以下步骤:

基于规则表达式中的优先级符和逻辑符逐级执行规则引擎模型中的整合数据结构。

需要进行说明的是,本实施例中根节点是执行解析的入口。由根节点开始,逐级向下一个层级执行。执行的过程按照以下原则:对于基本节点,其规则表达式成立则执行成功;对于或逻辑节点,任意的一个子节点执行成功,则此节点执行成功;对于并逻辑节点,其所有的子节点都执行成功,则此节点执行成功。这种逻辑节点设计是基于Rete算法实现的。Rete算法是一种进行大量模式集合和大量对象集合间比较的高效方法,通过网络筛选的方法找出所有匹配各个模式的对象和规则。

进一步地,为了提高执行规则引擎模型的效率,上述基于规则表达式中的优先级符和逻辑符逐级执行规则引擎模型中的整合数据结构,可以包括以下步骤。具体请参考图3,图3为本发明实施例提供的一种基于规则表达式中的优先级符和逻辑符逐级执行规则引擎模型中的整合数据结构的方法的流程图。

S301:基于规则表达式中的优先级符和逻辑符执行规则引擎模型中最高优先级的整合数据结构的节点,得到执行结果。

S302:若执行结果为失败,则将执行结果进行保存。

S303:将下一优先级的整合数据结构的节点作为最高优先级的整合数据结构的节点,并检索执行结果,得到已执行过的整合数据结构中的节点,执行未执行的最高优先级的整合数据结构中的节点,直至得到成功的执行结果或整合数据结构的节点全部执行完成。

需要进行说明的是,本实施例中如果最高优先级的整合数据结构的节点执行成功,则最终结果执行成功,不需要再去执行其他整合数据结构的节点。在实际的业务场景中,规则树模型中通常存在很多相同的整合数据结构的节点,如果能够把节点的执行结果保存到索引中,在执行节点前先进行索引查询,对于已经执行过的节点就不在执行,这样可以极大地减少了要执行的节点数目。

应用本发明实施例提供的标签规则引擎的建立方法,包括利用规则表达式对标签进行规则定义,得到标签规则,根据规则表达式对标签规则进行解析整合处理,得到整合数据结构,将整合数据结构作为规则引擎模型。本发明通过利用规则表达式对标签进行规则定义,得到标签规则,保证了业务中台能够适用于复杂多变的业务场景,通过规则表达式对标签规则进行解析整合处理,得到整合数据结构,并将整合数据结构作为规则引擎模型的方式,提高了业务中台中业务调整的灵活性,进而在对业务中台增设或调整新业务时,更加方便快捷,使得业务中台在复杂多变的业务场景中适用,提高了用户的使用体验。此外,通过利用规则表达式对标签进行可视化规则定义,得到标签规则的方式,简化了对标签进行规则定义的操作,更加贴合实际的业务场景;基于规则表达式中的优先级符和逻辑符对标签规则进行解析处理,得到简化标签规则,提高了对标签规则进行解析整合处理的效率;利用动态合并算法对简化标签规则进行整合处理,提高了整合数据结构的整合度,进一步提高了对标签规则进行整合处理的效率;在根据规则表达式对标签规则进行解析整合处理之前,对规则表达式进行语法检查,保证了规则引擎模型的可靠性;本发明基于规则表达式中的优先级符和逻辑符逐级执行规则引擎模型中的整合数据结构,并将执行失败的整合数据结构的节点进行记录,防止多次执行相同节点,提高了规则引擎模型的功能性,同时提高了执行规则引擎模型的效率。

为了使本发明更便于理解,下面对本发明实施例中动态合并算法进行具体介绍。具体请参考图4,图4为本发明实施例提供的一种动态合并算法的示例图。

步骤1:规则表达式3和规则表达式4被括号包裹,代表他们拥有更高的执行优先级,所以在第一次合并时,先将规则表达式2和3合并成一个合体1,并将合体1视作一个普通的规则表达式。

步骤2:规则表达式1、规则表达式2和合体1处于同一优先级,并且之间都是或逻辑,没有优先级区分,但是按照规则引擎从后向前的执行方式,会将合体1和规则表达式2合并成一个合体2,并将合体2视作一个普通的规则表达式。

步骤3:现在只剩下规则表达式1和合体2,合并成合体3,并将合体3作为整合数据结构。

下面对本发明实施例提供的一种标签规则引擎的建立装置进行介绍,下文描述的标签规则引擎的建立装置与上文描述的标签规则引擎的建立方法可相互对应参照。

具体请参考图5,图5为本发明实施例提供的一种标签规则引擎的建立装置的结构示意图,可以包括:

规则定义执行模块100,用于利用规则表达式对标签进行规则定义,得到标签规则;

解析整合处理模块200,用于根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构;

规则引擎模型生成模块300,用于将所述整合数据结构作为规则引擎模型。

进一步,基于上述实施例,所述解析整合处理模块200,可以包括:

解析单元,用于基于所述规则表达式中的优先级符和逻辑符对所述标签规则进行解析处理,得到简化标签规则;

整合单元,用于对所述简化标签规则进行整合处理,得到所述整合数据结构。

进一步,基于上述实施例,所述整合单元,可以包括:

选取子单元,用于选取所述简化标签规则中优先级符和逻辑符中优先级最高的两个所述规则表达式,进行整合处理,作为整合后的规则表达式;

整合子单元,用于将所述整合规则表达式和没有进行整合处理的所述规则表达式作为所述简化标签规则;

循环执行子单元,用于重复执行所述选取所述简化标签规则中优先级符和逻辑符中优先级最高的两个所述规则表达式的步骤,直至所述简化标签规则中的所述规则表达式为一个,将所述简化标签规则作为所述整合数据结构。

进一步,基于上述实施例,所述标签规则引擎的建立装置,还可以包括:

语法检查模块,用于若所述规则表达式满足预设解析条件,则执行所述根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构的步骤;所述预设解析条件为能够对所述标签规则进行安全解析的规则。

进一步,基于上述实施例,所述规则定义执行模块100,可以包括:

可视化规则定义单元,用于利用所述规则表达式对标签进行可视化规则定义,得到所述标签规则。

进一步,基于上述实施例,所述标签规则引擎的建立装置,还可以包括:

模型执行模块,用于基于所述规则表达式中的所述优先级符和所述逻辑符逐级执行所述规则引擎模型中的所述整合数据结构。

进一步,基于上述实施例,所述模型执行模块,可以包括:

第一执行单元,用于基于所述规则表达式中的所述优先级符和所述逻辑符执行所述规则引擎模型中最高优先级的所述整合数据结构的节点,得到执行结果;

第二执行单元,用于若所述执行结果为失败,则将所述执行结果进行保存;

第三执行单元,用于将下一优先级的所述整合数据结构的节点作为所述最高优先级的所述整合数据结构的节点,并检索所述执行结果,得到已执行过的所述整合数据结构中的节点,执行未执行的所述最高优先级的所述整合数据结构中的节点,直至得到成功的所述执行结果或所述整合数据结构的节点全部执行完成。

应用本发明实施例提供的标签规则引擎的建立装置,规则定义执行模块100用于利用规则表达式对标签进行规则定义,得到标签规则,解析整合处理模块200用于根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构,规则引擎模型生成模块300用于将所述整合数据结构作为规则引擎模型。本发明通过利用规则表达式对标签进行规则定义,得到标签规则,保证了业务中台能够适用于复杂多变的业务场景,通过规则表达式对标签规则进行解析整合处理,得到整合数据结构,并将整合数据结构作为规则引擎模型的方式,提高了业务中台中业务调整的灵活性,进而在对业务中台增设或调整新业务时,更加方便快捷,使得业务中台在复杂多变的业务场景中适用,提高了用户的使用体验。此外,通过利用规则表达式对标签进行可视化规则定义,得到标签规则的方式,简化了对标签进行规则定义的操作,更加贴合实际的业务场景;基于规则表达式中的优先级符和逻辑符对标签规则进行解析处理,得到简化标签规则,提高了对标签规则进行解析整合处理的效率;利用动态合并算法对简化标签规则进行整合处理,提高了整合数据结构的整合度,进一步提高了对标签规则进行整合处理的效率;在根据规则表达式对标签规则进行解析整合处理之前,对规则表达式进行语法检查,保证了规则引擎模型的可靠性;本发明基于规则表达式中的优先级符和逻辑符逐级执行规则引擎模型中的整合数据结构,并将执行失败的整合数据结构的节点进行记录,防止多次执行相同节点,提高了规则引擎模型的功能性,同时提高了执行规则引擎模型的效率。

下面对本发明实施例提供的标签规则引擎的建立设备进行介绍,下文描述的标签规则引擎的建立设备与上文描述的标签规则引擎的建立方法可相互对应参照。

请参考图6,图6为本发明实施例提供的标签规则引擎的建立设备的结构示意图,可以包括:

存储器10,用于存储计算机程序;

处理器20,用于执行计算机程序,以实现上述的标签规则引擎的建立方法。

存储器10、处理器20、通信接口31均通过通信总线32完成相互间的通信。

在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本申请实施例中,存储器10中可以存储有用于实现以下功能的程序:

利用规则表达式对标签进行规则定义,得到标签规则;

根据所述规则表达式对所述标签规则进行解析整合处理,得到整合数据结构;

将所述整合数据结构作为规则引擎模型。

在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。

此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括NVRAM。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。

处理器20可以为中央处理器(Central Processing Unit,CPU)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。

通信接口31可以为通信模块的接口,用于与其他设备或者系统连接。

当然,需要说明的是,图6所示的结构并不构成对本申请实施例中标签规则引擎的建立设备的限定,在实际应用中标签规则引擎的建立设备可以包括比图6所示的更多或更少的部件,或者组合某些部件。

下面对本发明实施例提供的存储介质进行介绍,下文描述的存储介质与上文描述的标签规则引擎的建立方法可相互对应参照。

本发明还提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的标签规则引擎的建立方法的步骤。

该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。

最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。

以上对本发明所提供的一种标签规则引擎的建立方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

技术分类

06120115919308