System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 决策流执行方法、装置、计算机设备和存储介质制造方法及图纸_技高网

决策流执行方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:42119694 阅读:5 留言:0更新日期:2024-07-25 00:38
本申请涉及的决策流执行方法包括:在检测到决策流执行栈中存在元素时,获取位于决策流执行栈的栈顶的当前节点的类型信息;根据类型信息判断当前节点的类型;响应于当前节点为分支节点,依次将各分支对应的起始节点压入决策流执行栈;响应于当前节点为准入节点,获取准入节点对应的准入条件信息,判断目标执行对象是否满足准入条件信息,若是,则将准入节点的子节点压入决策流执行栈;以及响应于当前节点为决策节点,获取决策节点的执行规则,根据执行规则执行对应的决策,并将决策节点从决策流执行栈中弹出后,将决策节点对应的子节点压入决策流执行栈。采用本方法能够能够提高决策流执行的效率。

【技术实现步骤摘要】

本申请涉及计算机,特别是涉及一种决策流执行方法、装置、计算机设备和存储介质


技术介绍

1、随着计算机技术的发展,出现了决策引擎技术,决策流执行引擎是决策引擎中的关键模块,随着数据处理能力和算法技术的不断进步,决策引擎的设计和实现也在不断演进。

2、传统技术中,通常采用基于状态机的调度器来实现,即使用状态机模型来描述和管理决策流程的执行状态,状态机定义了决策流程中可能的状态和状态之间的转移条件以及在每个状态下执行的动作或操作等。然而,由于状态机非常依赖预定义的状态和状态之间的转移条件,因此对于流程的管理和控制往往缺乏灵活性,难以应对复杂的决策逻辑或应对动态变化的场景,容易产生死锁或竞态条件等并发错误,从而导致调度灵活性弱、决策流程执行效率低的问题。


技术实现思路

1、基于此,有必要针对上述技术问题,提供一种能够提高决策流程执行效率的决策流执行方法方法、装置、计算机设备和存储介质。

2、第一方面,提供一种决策流执行方法,应用于决策流执行引擎,决策流执行引擎用于执行预编辑的决策流,该方法包括:

3、在检测到决策流执行栈中存在元素时,获取位于决策流执行栈的栈顶的当前节点的类型信息;

4、根据类型信息判断当前节点的类型;其中,当前节点的类型为分支节点、准入节点以及决策节点之中的至少一种;

5、响应于当前节点为分支节点,依次将各分支对应的起始节点压入决策流执行栈;

6、响应于当前节点为准入节点,获取准入节点对应的准入条件信息,判断目标执行对象是否满足准入条件信息,若是,则将准入节点的子节点压入决策流执行栈;以及

7、响应于当前节点为决策节点,获取决策节点的执行规则,根据执行规则执行对应的决策,并将决策节点从决策流执行栈中弹出后,将决策节点对应的子节点压入决策流执行栈。

8、在一些实施例中,该方法还包括:响应于目标执行对象不满足准入条件信息,将准入节点所对应的分支从决策流中删除。

9、在一些实施例中,依次将各分支对应的起始节点压入决策流执行栈,包括:将分支节点对应的各分支按照预设的逻辑顺序进行排序,按照排序结果依次将各分支的起始节点压入决策流执行栈,并依次遍历执行各分支中的节点。

10、在一些实施例中,依次遍历执行各分支中的节点,包括:判断当前分支下所有的节点是否执行完成,并判断当前分支是否为独占执行模式;响应于当前分支下所有的节点都执行完成并且当前分支是处于独占执行模式,进入下一个分支的执行;以及响应于当前分支下所有的节点未均执行完成,或当前分支处于非独占执行模式,继续进入当前分支的下一个节点的执行。

11、在一些实施例中,该方法还包括:在将子节点压入决策流执行栈之前,获取待压入的子节点的访问次数信息,将访问次数信息与预设的访问阈值进行比较;响应于访问次数信息大于访问阈值,将待压入的子节点以及其对应的分支从决策流中删除;以及响应于访问次数信息小于访问阈值,将待压入的子节点压入决策流执行栈。

12、在一些实施例中,当前节点的类型还包括开始节点,该方法还包括:响应于当前节点为开始节点,将开始节点弹出并将其子节点压入决策流执行栈。

13、在一些实施例中,在检测到决策流执行栈中存在元素时,获取位于决策流执行栈的栈顶的当前节点的类型信息之前,该方法还包括:创建空的决策流执行栈,决策流执行栈用于存储待访问的节点;将决策流的开始节点压入决策流执行栈,并将开始节点标记为已访问。

14、在一些实施例中,决策流为流程图结构,利用哈希表存储决策流中的节点,并利用邻接表存储决策流中的各节点之间的连接关系。

15、第二方面,还提供一种决策流执行装置,应用于决策流执行引擎,决策流执行引擎用于执行预编辑的决策流,该装置包括:

16、信息获取模块,用于在检测到决策流执行栈中存在元素时,获取位于决策流执行栈的栈顶的当前节点的类型信息;

17、类型判断模块,用于根据类型信息判断当前节点的类型;其中,当前节点的类型为分支节点、准入节点以及决策节点之中的至少一种;

18、第一执行模块,用于响应于当前节点为分支节点,依次将各分支对应的起始节点压入决策流执行栈;

19、第二执行模块,用于响应于当前节点为准入节点,获取准入节点对应的准入条件信息,判断目标执行对象是否满足准入条件信息,若是,则将准入节点的子节点压入决策流执行栈;以及

20、第三执行模块,用于响应于当前节点为决策节点,获取决策节点的执行规则,根据执行规则执行对应的决策,并将决策节点从决策流执行栈中弹出后,将决策节点对应的子节点压入决策流执行栈。

21、第三方面,提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现第一方面的任一项的方法的步骤。

22、第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现第一方面的任一项的方法的步骤。

23、上述决策流执行方法、装置、计算机设备和存储介质,根据当前节点的类型的不同,结合决策流执行栈分别进行不同的压入或执行等操作,由于各个节点根据类型划分的不同相应地与决策流执行栈之间响应不同的动作,因此,在决策流的执行过程中,并不会过度依赖各个节点彼此之间的依赖关联关系,由于巧妙地将决策流执行栈用于存储待执行的节点,通过结合栈的特性以及节点的分类处理策略,将执行过程聚焦于关注当前节点的类型和状态,而不是各个节点之间的关联关系,且每次从栈中弹出的节点都是当前搜索路径上的当前最深的节点,因此,可以沿着深度方向尽可能深地探索,在不增加整个决策流执行引擎复杂度的同时,提高决策流执行引擎的决策流执行效率和执行能力。

本文档来自技高网...

【技术保护点】

1.一种决策流执行方法,应用于决策流执行引擎,所述决策流执行引擎用于执行预编辑的决策流,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述依次将各所述分支对应的起始节点压入所述决策流执行栈,包括:

4.根据权利要求3所述的方法,其特征在于,所述依次遍历执行各分支中的节点,包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述当前节点的类型还包括开始节点,所述方法还包括:

7.根据权利要求1所述的方法,其特征在于,所述决策流为流程图结构,利用哈希表存储所述决策流中的节点,并利用邻接表存储所述决策流中的各节点之间的连接关系。

8.一种决策流执行装置,其特征在于,应用于决策流执行引擎,所述决策流执行引擎用于执行预编辑的决策流,所述装置包括:

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

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

...

【技术特征摘要】

1.一种决策流执行方法,应用于决策流执行引擎,所述决策流执行引擎用于执行预编辑的决策流,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,所述方法还包括:

3.根据权利要求1所述的方法,其特征在于,所述依次将各所述分支对应的起始节点压入所述决策流执行栈,包括:

4.根据权利要求3所述的方法,其特征在于,所述依次遍历执行各分支中的节点,包括:

5.根据权利要求1所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1所述的方法,其特征在于,所述当前节点的类型还包括开始节点,所述方法还包括:

7.根据权利要求1...

【专利技术属性】
技术研发人员:俞亮亮
申请(专利权)人:上海数禾信息科技有限公司
类型:发明
国别省市:

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

1