基于拓扑路径的决策流执行方法、装置、设备及存储介质与流程

    专利2022-07-08  78


    本发明涉及计算机通信技术领域,尤其涉及一种基于拓扑路径的决策流执行方法、装置、设备及存储介质。



    背景技术:

    在现有的业务场景中,使用决策流进行执行判断决策时,应为整个决策流中有大量的组件节点,各组件节点之间存在并行和递进等执行关系,十分复杂,导致整个决策流的执行速度过慢,且效率过低。



    技术实现要素:

    基于此,有必要针对上述技术问题,提供一种基于拓扑路径的决策流执行方法、装置、设备及存储介质。

    一种基于拓扑路径的决策流执行方法,所述方法包括:获取目标决策流的基本信息,根据所述基本信息获取所有的组件节点,所述组件节点分为开始节点、输入节点和邻接节点,所述邻接节点根据相互的邻接关系分为多个层级;基于拓扑路径对所述目标决策流的组件节点进行遍历,获取目标开始节点、目标输入节点和目标邻接节点;基于拓扑路径将所述目标开始节点作为顶点进行执行,将所述目标输入节点作为第二点进行执行;根据目标邻接节点的层级不同,将目标邻接节点根据层级进行分类,当同层的目标邻接节点不再有新节点加入时,则执行目标决策流的该层级的目标邻接节点;直到所述目标决策流的所有组件节点全部遍历完,并执行结束。

    在其中一个实施例中,所述直到所述目标决策流的所有组件节点全部遍历完,执行过程结束之后,还包括:根据所有组件节点的执行结果,判断是否满足预设要求;当满足时,所述目标决策流对应的目标决策通过,所述目标决策流执行完毕。

    在其中一个实施例中,所述根据所有组件节点的执行结果,判断是否满足预设要求之后,还包括:当不满足时,所述目标决策流对应的目标决策不通过,所述目标决策流执行完毕。

    一种基于拓扑路径的决策流执行装置,包括信息获取模块、节点分类模块和节点执行模块,其中:所述信息获取模块用于,获取目标决策流的基本信息,根据所述基本信息获取所有的组件节点,所述组件节点分为开始节点、输入节点和邻接节点,所述邻接节点根据相互的邻接关系分为多个层级;所述节点分类模块用于,基于拓扑路径对所述目标决策流的组件节点进行遍历,获取目标开始节点、目标输入节点和目标邻接节点;所述节点执行模块用于,基于拓扑路径将所述目标开始节点作为顶点进行执行,将所述目标输入节点作为第二点进行执行;所述节点执行模块还用于,根据目标邻接节点的层级不同,将目标邻接节点根据层级进行分类,当同层的目标邻接节点不再有新节点加入时,则执行目标决策流的该层级的目标邻接节点;所述节点执行模块还用于,直到所述目标决策流的所有组件节点全部遍历完,并执行结束。

    在其中一个实施例中,所述装置还包括结果判断模块和结果通过模块,其中:所述结果判断模块用于,根据所有组件节点的执行结果,判断是否满足预设要求;所述结果通过模块用于,当满足时,所述目标决策流对应的目标决策通过,所述目标决策流执行完毕。

    在其中一个实施例中,所述装置还包括结果不通过模块:所述结果不通过模块用于,当不满足时,所述目标决策流对应的目标决策不通过,所述目标决策流执行完毕。

    一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述各个实施例中所述的基于拓扑路径的决策流执行方法的步骤。

    一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述各个实施例中所述的基于拓扑路径的决策流执行方法的步骤。

    上述基于拓扑路径的决策流执行方法、装置、设备及存储介质,通过将拓扑寻径应用在决策流执行顺序上,从而实现了由于在整个决策流中,开始节点是确定的,因此省略了初始节点确定的过程,即省略了遍历全节点计算入度;在整个决策流后续节点的计算过程中,计算模式从按拓扑排序产生的序列依序执行,优化为同层节点并发计算的模式。尤其在相互独立的节点较多的情况下,能大幅减少决策流计算的时间开销,提高了决策流的执行效率。

    附图说明

    图1为一个实施例中基于拓扑路径的决策流执行方法的流程示意图;

    图2为一个实施例中基于拓扑路径的决策流执行装置的结构框图;

    图3是一个实施例中设备的内部结构图。

    具体实施方式

    为了使本发明的目的、技术方案及优点更加清楚明白,下面通过具体实施方式结合附图对本发明做进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

    在一个实施例中,如图1所示,提供了一种基于拓扑路径的决策流执行方法,包括以下步骤:

    s110获取目标决策流的基本信息,根据基本信息获取所有的组件节点,组件节点分为开始节点、输入节点和邻接节点,邻接节点根据相互的邻接关系分为多个层级。

    具体地,获取目标决策流的基本信息,基本信息中至少包括所有的组件节点,决策流所对应的决策,其中组件节点分为开始节点、输入节点和邻接节点,邻接节点在输入节点之后,对应了具体的执行组件,将邻接节点根据相互的邻接关系分为多个层级。

    s120基于拓扑路径对目标决策流的组件节点进行遍历,获取目标开始节点、目标输入节点和目标邻接节点。

    具体地,遍历过程类似于树的“层序遍历”,从起点开始,通过“一层一层”扩展的方法来遍历,从而将目标开始节点、目标输入节点和目标邻接节点逐一获取。

    s130基于拓扑路径将目标开始节点作为顶点进行执行,将目标输入节点作为第二点进行执行。

    具体地,“开始”组件对应的开始节点作为整个决策流的顶点,顶点的顺序是保证所有指向它的下个节点在被指节点前面;在决策流的执行中,从开始组件进行执行,然后进行各种输入的输入节点,故需要按照顺序将目标开始节点作为顶点进行执行,将目标输入节点作为第二点进行执行。因为顶点已知,那么有多少条边,就会执行多少次,假设这个决策流有e条边,那么共会执行e次,而算法的时间复杂度就为o(e)。

    s140根据目标邻接节点的层级不同,将目标邻接节点根据层级进行分类,当同层的目标邻接节点不再有新节点加入时,则执行目标决策流的该层级的目标邻接节点。

    具体地,从输入组件后开始遍历的过程,找到与之连接的所有邻接节点,w1,w2,…,wk;然后,依次从w1,w2,…,wk出发访问各自未被访问的邻接点。不断重复这一步骤,通过算法遍历逐个节点,直到全部顶点都被访问为止。通过“一层一层”扩展的方法来遍历,扩展时每发现一个同层节点就将这个节点加入到该层队列。当同层队列不再有新节点加入时,决策流开始并发执行该层的所有节点。

    s150直到目标决策流的所有组件节点全部遍历完,并执行结束。

    具体地,直到整张图都被遍历完且已经对应的执行完,目标决策流的执行过程即结束。

    在一个实施例中,步骤s150之后还包括:根据所有组件节点的执行结果,判断是否满足预设要求;当满足时,目标决策流对应的目标决策通过,目标决策流执行完毕。具体地,在执行结束后,需要对所有的执行结果进行判断,判断该结果是否满足预设的要求,如果满足预设的要求,则说明目标决策流对应的目标决策通过了,而目标决策流也彻底执行完毕。

    在一个实施例中,步骤根据所有组件节点的执行结果,判断是否满足预设要求之后,还包括:当不满足时,目标决策流对应的目标决策不通过,目标决策流执行完毕。具体地,在执行结束后,对所有的执行结果进行判断,判断该结果是否满足预设的要求,如果不满足预设的要求,则说明目标决策流对应的目标决策并未通过,而目标决策流也彻底执行完毕。

    上述实施例中,将属于“同一层”的规则并发执行,这样可以更大程度提升计算效率,转化为算法描述,与标准拓扑排序存在差异为:当多个入度为0的规则节点(判断节点后接的规则不在此范围内)同时存在时,则认为这部分节点存在于决策流的同一层,同一层的节点具备相互独立性。在决策流执行过程中,具备相互独立性的节点可以并发执行。当同一层的节点都执行完毕后,则继续遍历。通过将拓扑寻径经过改良后,应用于决策流执行顺序的问题上。相较标准的拓扑寻径,存在以下优点:1、由于在整个决策流中,开始节点是确定的,因此省略了初始节点确定的过程,即省略了遍历全节点计算入度。2、在整个决策流后续节点的计算过程中,计算模式从按拓扑排序产生的序列依序执行,优化为同层节点并发计算的模式。尤其在相互独立的节点较多的情况下,能大幅减少决策流计算的时间开销。

    在一个实施例中,如图2所示,提供了一种基于拓扑路径的决策流执行装置200,该装置包括信息获取模块210、节点分类模块220和节点执行模块230,其中:

    信息获取模块210用于,获取目标决策流的基本信息,根据基本信息获取所有的组件节点,组件节点分为开始节点、输入节点和邻接节点,邻接节点根据相互的邻接关系分为多个层级;

    节点分类模块220用于,基于拓扑路径对目标决策流的组件节点进行遍历,获取目标开始节点、目标输入节点和目标邻接节点;

    节点执行模块230用于,基于拓扑路径将目标开始节点作为顶点进行执行,将目标输入节点作为第二点进行执行;

    节点执行模块230还用于,根据目标邻接节点的层级不同,将目标邻接节点根据层级进行分类,当同层的目标邻接节点不再有新节点加入时,则执行目标决策流的该层级的目标邻接节点;

    节点执行模块230还用于,直到目标决策流的所有组件节点全部遍历完,并执行结束。

    在一个实施例中,装置还包括结果判断模块和结果通过模块,其中:结果判断模块用于,根据所有组件节点的执行结果,判断是否满足预设要求;结果通过模块用于,当满足时,目标决策流对应的目标决策通过,目标决策流执行完毕。

    在一个实施例中,装置还包括结果不通过模块,其中:当不满足时,目标决策流对应的目标决策不通过,目标决策流执行完毕。

    在一个实施例中,提供了一种设备,该设备可以是服务器,其内部结构图可以如图3所示。该设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该设备的处理器用于提供计算和控制能力。该设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该设备的数据库用于存储配置模板,还可用于存储目标网页数据。该设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于拓扑路径的决策流执行方法。

    本领域技术人员可以理解,图3中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的设备的限定,具体的设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

    在一个实施例中,还提供一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时使所述计算机执行如前述实施例所述的方法,所述计算机可以为上述提到的基于拓扑路径的决策流执行装置的一部分。

    本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-onlymemory,rom)或随机存储记忆体(randomaccessmemory,ram)等。

    显然,本领域的技术人员应该明白,上述本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在计算机存储介质(rom/ram、磁碟、光盘)中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。所以,本发明不限制于任何特定的硬件和软件结合。

    以上内容是结合具体的实施方式对本发明所做的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。


    技术特征:

    1.一种基于拓扑路径的决策流执行方法,其特征在于,包括:

    获取目标决策流的基本信息,根据所述基本信息获取所有的组件节点,所述组件节点分为开始节点、输入节点和邻接节点,所述邻接节点根据相互的邻接关系分为多个层级;

    基于拓扑路径对所述目标决策流的组件节点进行遍历,获取目标开始节点、目标输入节点和目标邻接节点;

    基于拓扑路径将所述目标开始节点作为顶点进行执行,将所述目标输入节点作为第二点进行执行;

    根据目标邻接节点的层级不同,将目标邻接节点根据层级进行分类,当同层的目标邻接节点不再有新节点加入时,则执行目标决策流的该层级的目标邻接节点;

    直到所述目标决策流的所有组件节点全部遍历完,并执行结束。

    2.如权利要求1所述的方法,其特征在于,所述直到所述目标决策流的所有组件节点全部遍历完,执行过程结束之后,还包括:

    根据所有组件节点的执行结果,判断是否满足预设要求;

    当满足时,所述目标决策流对应的目标决策通过,所述目标决策流执行完毕。

    3.如权利要求2所述的方法,其特征在于,所述根据所有组件节点的执行结果,判断是否满足预设要求之后,还包括:

    当不满足时,所述目标决策流对应的目标决策不通过,所述目标决策流执行完毕。

    4.一种基于拓扑路径的决策流执行装置,其特征在于,包括信息获取模块、节点分类模块和节点执行模块,其中:

    所述信息获取模块用于,获取目标决策流的基本信息,根据所述基本信息获取所有的组件节点,所述组件节点分为开始节点、输入节点和邻接节点,所述邻接节点根据相互的邻接关系分为多个层级;

    所述节点分类模块用于,基于拓扑路径对所述目标决策流的组件节点进行遍历,获取目标开始节点、目标输入节点和目标邻接节点;

    所述节点执行模块用于,基于拓扑路径将所述目标开始节点作为顶点进行执行,将所述目标输入节点作为第二点进行执行;

    所述节点执行模块还用于,根据目标邻接节点的层级不同,将目标邻接节点根据层级进行分类,当同层的目标邻接节点不再有新节点加入时,则执行目标决策流的该层级的目标邻接节点;

    所述节点执行模块还用于,直到所述目标决策流的所有组件节点全部遍历完,并执行结束。

    5.如权利要求4所述的装置,其特征在于,还包括结果判断模块和结果通过模块,其中:

    所述结果判断模块用于,根据所有组件节点的执行结果,判断是否满足预设要求;

    所述结果通过模块用于,当满足时,所述目标决策流对应的目标决策通过,所述目标决策流执行完毕。

    6.如权利要求4所述的装置,其特征在于,还包括结果不通过模块:

    所述结果不通过模块用于,当不满足时,所述目标决策流对应的目标决策不通过,所述目标决策流执行完毕。

    7.一种设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至3中任一项所述方法的步骤。

    8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至3中任一项所述的方法的步骤。

    技术总结
    本发明提供一种基于拓扑路径的决策流执行方法、装置、设备及存储介质。该方案通过将拓扑寻径应用在决策流执行顺序上,从而实现了由于在整个决策流中,开始节点是确定的,因此省略了初始节点确定的过程,即省略了遍历全节点计算入度;在整个决策流后续节点的计算过程中,计算模式从按拓扑排序产生的序列依序执行,优化为同层节点并发计算的模式。尤其在相互独立的节点较多的情况下,能大幅减少决策流计算的时间开销,提高了决策流的执行效率。

    技术研发人员:刘德彬;黄远江;孙世通;邓雪荣;罗杰;严絜
    受保护的技术使用者:重庆誉存大数据科技有限公司
    技术研发日:2020.11.30
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-23104.html

    最新回复(0)