一种合并活动的控制方法及相关装置制造方法及图纸

技术编号:18427244 阅读:30 留言:0更新日期:2018-07-12 02:12
本申请公开了一种合并活动的控制方法,包括:对全局状态进行判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移;删除全局状态中的所有回溯转移,得到删除结果;根据删除结果执行合并活动。通过对全局状态的判定,可以将判定后的回溯转移进行删除,得到不存在环的全局状态从而可以直接判断是否还有待执行和执行中的活动,以确定是否执行合并活动,避免了通过其他外部条件而导致的执行不准确,无法进行动态控制的情况,提高了在复杂情况中执行合并活动的确定率,使流程控制更加顺畅,符合预期的控制效果。本申请还公开了一种合并活动的控制装置、服务器以及计算机可读存储介质,具有上述有益效果。

【技术实现步骤摘要】
一种合并活动的控制方法及相关装置
本申请涉及流程控制
,特别涉及一种合并活动的控制方法、控制装置、服务器以及计算机可读存储介质。
技术介绍
随着信息技术的快速发展,计算机可以完成的任务越来越多样化,复杂化,包括很多复杂的流程控制问题。并且计算机所处理的流程控制问题也引入了很多复杂的控制流程,使流程控制中不只处理一些简单的线性调度问题。尤其在流程控制中,并行分支的活动合并是一个比较难处理的问题。一般情况中,流程引擎只会提供所有入口分支的合并,即该合并活动的所有入口分支的活动都执行完后,才执行合并活动。但有些情况下,合并活动之前的所有分支活动并不能全部被执行,或者流程中需要回流到其中一个分支活动重新处理,在这种入口分支活动不完全执行的情况中,基于一般的合并活动控制方法执行合并活动通常会出现出错的情况。虽然,解决上述问题可以通过条件启动和定时等待两种办法,但是一方面条件启动的方式,由于设置的静态启动条件在面对动态控制时,难以考虑到全部可能的状态而无法实现预期的效果,容易导致合并活动的执行失败。另一方面通过定时等待方式,由于在流程控制中,等待时间是不可控制的因素,因此定时等待也常常导致响应不及时或等待时间太短导致的合并活动执行失败。因此,如何在复杂情况下正确的执行合并活动是本领域技术人员所关注的重点问题。
技术实现思路
本申请的目的是提供一种合并活动的控制方法、控制装置、服务器以及计算机可读存储介质,通过对全局状态的判定,可以将判定后的回溯转移进行删除,得到不存在环的全局状态从而可以直接判断是否还有待执行和执行中的活动,以确定是否执行合并活动,避免了通过其他外部条件而导致的执行不准确,无法进行动态控制的情况,提高了在复杂情况中执行合并活动的确定率,使流程控制更加顺畅,符合预期的控制效果。为解决上述技术问题,本申请提供一种合并活动的控制方法,包括:对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移;当接收到合并活动的触发指令时,删除所述全局状态中的所有所述回溯转移,得到删除结果;根据所述删除结果判断到达所述合并活动的所有活动中是否存在未执行的活动;若是,则将所述合并活动加入待执行活动列表中;若否,则执行所述合并活动。可选的,对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移,包括:删除所述全局状态中的任一转移,得到待定全局状态;判断所述待定全局状态中的所有活动是否均到达结束活动;若是,则判断所述待定全局状态中是否不存在环;若是,则将所述转移标记为回溯转移。可选的,对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移,包括:步骤301,对所述全局状态中的每个转移判断是否存在包含所述转移的从开始活动到结束活动的无环路径,若是则将所述转移标记为普通转移,若否则将所述转移标记为待确认转移;步骤302,删除所述全局状态中的待确认转移,得到待确认全局状态;判断所述待确认全局状态是否存在环,若否则执行下一步;步骤303,判断所述全局状态中每个活动的出口转移中是否除了普通转移还包含待确认转移,若是则将所述待确认转移标记为所述回溯转移。可选的,还包括:判断每个所述回溯转移的目标活动的入口转移中是否包含普通转移,若是则将所述目标活动标记为开始活动,执行步骤301。可选的,还包括:当所述待确认全局状态中存在环,停止状态判定,发送失败指令。本申请还提供一种合并活动的控制装置,包括:回溯转移标记模块,用于对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移;回溯转移删除模块,用于当接收到合并活动的触发指令时,删除所述全局状态中的所有所述回溯转移,得到删除结果;活动状态判断模块,用于根据所述删除结果判断到达所述合并活动的所有活动中是否存在未执行的活动;待执行模块,用于当到达所述合并活动的所有活动中存在未执行的活动,将所述合并活动加入待执行活动列表中;执行模块,用于当到达所述合并活动的所有活动中不存在未执行的活动,执行所述合并活动。可选的,所述回溯转移标记模块包括:转移删除单元,用于删除所述全局状态中的任一转移,得到待定全局状态;活动到达判断单元,用于判断所述待定全局状态中的所有活动是否均到达结束活动;环判断单元,用于当所述待定全局状态中的所有活动均到达结束活动,判断所述待定全局状态中是否不存在环;回溯转移标记单元,用于当所述待定全局状态中不存在环,将所述转移标记为回溯转移。可选的,所述回溯转移标记模块包括:转移标记单元,用于对所述全局状态中的每个转移判断是否存在包含所述转移的从开始活动到结束活动的无环路径,若是则将所述转移标记为普通转移,若否则将所述转移标记为待确认转移;待确认全局状态判断单元,用于删除所述全局状态中的待确认转移,得到待确认全局状态;判断所述待确认全局状态是否存在环,若否则执行下一步;回溯转移标记单元,用于判断所述全局状态中每个活动的出口转移中是否除了普通转移还包含待确认转移,若是则将所述待确认转移标记为所述回溯转移。本申请还提供一种服务器,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序时实现如上所述的控制方法的步骤。本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的控制方法的步骤。本申请所提供的一种合并活动的控制方法,包括:对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移;当接收到合并活动的触发指令时,删除所述全局状态中的所有所述回溯转移,得到删除结果;根据所述删除结果判断到达所述合并活动的所有活动中是否存在未执行的活动;若是,则将所述合并活动加入待执行活动列表中;若否,则执行所述合并活动。通过对全局状态的判定,可以将判定后的回溯转移进行删除,得到不存在环的全局状态从而可以直接判断是否还有待执行和执行中的活动,以确定是否执行合并活动,避免了通过其他外部条件而导致的执行不准确,无法进行动态控制的情况,提高了在复杂情况中执行合并活动的确定率,使流程控制更加顺畅,符合预期的控制效果。本申请还提供一种合并活动的控制装置、服务器以及计算机可读存储介质,具有上述有益效果,在此不做赘述。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。图1为本申请实施例所提供的一种合并活动的控制方法的流程图;图2为本申请实施例所提供的回溯转移示意图;图3为本申请实施例所提供的合并活动的控制方法中的一种标记处理的流程图;图4为本申请实施例所提供的合并活动的控制方法中的另一种标记处理的流程图;图5为本申请实施例所提供的一种流程示意图;图6为本申请实施例所提供的另一种流程示意图;图7为本申请实施例所提供的又一种流程示意图;图8为本申请实施例所提供的条件分本文档来自技高网...

【技术保护点】
1.一种合并活动的控制方法,其特征在于,包括:对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移;当接收到合并活动的触发指令时,删除所述全局状态中的所有所述回溯转移,得到删除结果;根据所述删除结果判断到达所述合并活动的所有活动中是否存在未执行的活动;若是,则将所述合并活动加入待执行活动列表中;若否,则执行所述合并活动。

【技术特征摘要】
1.一种合并活动的控制方法,其特征在于,包括:对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移;当接收到合并活动的触发指令时,删除所述全局状态中的所有所述回溯转移,得到删除结果;根据所述删除结果判断到达所述合并活动的所有活动中是否存在未执行的活动;若是,则将所述合并活动加入待执行活动列表中;若否,则执行所述合并活动。2.根据权利要求1所述的控制方法,其特征在于,对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移,包括:删除所述全局状态中的任一转移,得到待定全局状态;判断所述待定全局状态中的所有活动是否均到达结束活动;若是,则判断所述待定全局状态中是否不存在环;若是,则将所述转移标记为回溯转移。3.根据权利要求1所述的控制方法,其特征在于,对去除任一转移后的全局状态进行状态判定,将判定不存在环并且执行顺序未改变的全局状态中被去除的转移标记为回溯转移,包括:步骤301,对所述全局状态中的每个转移判断是否存在包含所述转移的从开始活动到结束活动的无环路径,若是则将所述转移标记为普通转移,若否则将所述转移标记为待确认转移;步骤302,删除所述全局状态中的待确认转移,得到待确认全局状态;判断所述待确认全局状态是否存在环,若否则执行下一步;步骤303,判断所述全局状态中每个活动的出口转移中是否除了普通转移还包含待确认转移,若是则将所述待确认转移标记为所述回溯转移。4.根据权利要求3所述的控制方法,其特征在于,还包括:判断每个所述回溯转移的目标活动的入口转移中是否包含普通转移,若是则将所述目标活动标记为开始活动,执行步骤301。5.根据权利要求4所述的控制方法,其特征在于,还包括:当所述待确认全局状态中存在环,停止状态判定,发送失败指令。6.一种合并活动的控制装置,其特征在于,包括:回溯转移标记模块,用于对去除任一转移后的全局状态...

【专利技术属性】
技术研发人员:禹希初
申请(专利权)人:金蝶软件中国有限公司
类型:发明
国别省市:广东,44

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

1