一种确定演化域的最小生成工作流网方法

文档序号:6631213阅读:205来源:国知局
一种确定演化域的最小生成工作流网方法
【专利摘要】本发明公开了一种确定演化域的最小生成工作流网方法,包括:S101,将初始化系统抽象为工作流网,确定与问题节点相对应的工作流网中的指定变迁;S102,初始化工作流网为集合,并将指定变迁划分到集合中;S103,遍历工作流网中所有变迁,逐一判断所有变迁是否对指定变迁具有引发完全依赖,当所有变迁中的一个变迁对指定变迁具有引发完全依赖,则将一个变迁划分到集合中;S104,当集合满足工作流网的条件时,集合为最小输出工作流网;否则,在工作流网中添加虚拟节点以使得集合为最小输出工作流网。本发明可以实现在用相同的演化模型条件下减小演化代价,缩短演化时间的功能。
【专利说明】一种确定演化域的最小生成工作流网方法

【技术领域】
[0001] 本发明涉及信息技术在线演化领域,具体地,涉及一种确定演化域的最小生成工 作流网方法。

【背景技术】
[0002] 能否提供不间断的服务正成为人们衡量软件系统的一项重要的指标,在线演化就 成了现在的一个热门领域。
[0003] 现有技术研究了工作流网的动态演化问题,Aalst等人提出演化前后的工作流模 型必须满足继承关系,该方法虽然可以避免引入动态演化错误,但当工作流网演化前后不 满足继承关系时就不能用此方法进行动态演化,因此不具有一般性。
[0004] Aalst等人还提出了一种不限定工作流类型的工作流演化方法,该方法通过比较 变化前后的工作流模型,找出工作流模型中所有发生了变化的区域,只有当工作流实例不 在变化区域里执行的时候,才允许工作流实例的迁移。此方法缩小了工作流演化的范围,当 工作流实例在演化区域里执行的时候不能被动态演化。
[0005] 接下来,Casatiet al.提出了一个系统全局的方法来管理动态工作流网的达到改 善工作流演化问题。此外Sadiq et al.提出了一个判断工作流程正确属性的标准。WIDE 方法试图在工作流的基础上找出工作流程所有执行过的历史信息从而达到对工作流程的 改善。
[0006] Analysis of workflow dynamic changes based on Petri net, Information and Software Technology,51 (2009) :284-292,这篇文献定义了一个特殊的动态改变,兼容性 改变,并缩小了演变范围,但这里的改变范围是对比前后整个工作流网得出的,并没有从工 作流本身出发进行操作,即并没有本质的缩小操作范围。


【发明内容】

[0007] 本发明的目的是提供一种确定软件演化域的最小生成工作流网的方法,该方法从 工作流本身出发进行操作,可以实现在用相同的演化模型条件下减小演化代价,缩短演化 时间的功能。
[0008] 为了实现上述目的,本发明提供了一种确定演化域的最小生成工作流网方法,该 方法包括:
[0009] S101,将初始化系统抽象为工作流网,确定与问题节点相对应的工作流网中的指 定变迁;
[0010] S102,初始化所述工作流网为集合,并将所述指定变迁划分到所述集合中;
[0011] S103,遍历工作流网中所有变迁,逐一判断所述所有变迁是否对所述指定变迁具 有引发完全依赖,当所述所有变迁中的一个变迁对所述指定变迁具有引发完全依赖,则将 所述一个变迁划分到所述集合中;
[0012] S104,当所述集合满足工作流网的条件时,所述集合为最小输出工作流网;
[0013] 当所述集合不满足工作流网的条件时,在所述工作流网中添加虚拟节点以使得所 述集合为最小输出工作流网。
[0014] 优选地,在步骤S104中,添加虚拟节点的方法包括:
[0015] 添加虚拟库所和虚拟弧,且所述虚拟库所通过所述虚拟弧指向所述工作流网中无 后继库所的变迁节点使得所述集合为最小输出工作流网。
[0016] 优选地,在步骤S104中,添加虚拟节点的方法还包括:
[0017] S201,判断所述工作流网中是否存在无后继变迁的库所节点和/或无后继库所的 变迁节点,
[0018] S202,当存在无后继变迁的库所节点且不存在无后继库所的变迁节点时,先添加 第一虚拟变迁和与所述第一虚拟变迁相对应的第一虚拟弧使得所述无后继变迁的库所节 点通过第一虚拟弧指向第一虚拟变迁;再添加第一虚拟库所和第二虚拟弧,使所述第一虚 拟变迁通过所述第二虚拟弧指向所述第一虚拟库所;或
[0019] 当存在无后继库所的变迁节点且不存在无后继变迁的库所节点时,添加第二虚拟 库所和与所述第二虚拟库所相对应的第三虚拟弧使所述无后继库所的变迁节点通过所述 第三虚拟弧指向所述第二虚拟库所;或
[0020] 当存在无后继变迁的库所节点且存在无后继库所的变迁节点时,先添加第二虚拟 变迁和与所述第二虚拟变迁相对应的第四虚拟弧使所述无后继变迁的库所节点通过所述 第四虚拟弧指向所述第二虚拟变迁;再添加第三虚拟库所和与所述第三虚拟库所相对应的 第五虚拟弧使所述无后继库所的变迁节点通过所述第五虚拟弧指向所述第三虚拟库所。
[0021] 优选地,步骤S103判断所述所有变迁中的任意一个变迁是否对所述指定变迁具 有引发完全依赖的步骤包括:
[0022] S301,记录任意一个变迁的k个可引发的前驱序列,其中k为自然数;
[0023] S302,判断所述指定变迁是否属于所有的所述可引发的前驱序列;
[0024] S303,当所述指定变迁属于所有的所述可引发的前驱序列时,则判断该变迁对所 述指定变迁具有引发完全依赖。
[0025] 优选地,步骤S103中,
[0026] 所述引发完全依赖包括:直接引发完全依赖或间接引发完全依赖。
[0027] 优选地,步骤S104中,集合满足工作流网的条件包括:
[0028] 当所述工作流网中的任意一个库所中的所有输入变迁属于所述集合和所述工作 流网中的任意一个弧中的所有输入节点和所有输出节点属于所述集合时,所述集合为最小 输出工作流网。
[0029] 通过上述方法,本发明针对目前大规模软件系统的在线演化问题,如果对整个系 统进行操作其演化过程必然会涉及到资源和时间的利用问题,本发明提出了一种确定软件 演化域的最小生成工作流网的方法,找出所有需要处理的部分放入演化域内,不需要处理 的部分划分出去,这样就可以控制用最小演化区域达到实现整个系统演化功能的作用,该 种方法可以在用相同的演化模型条件下减小演化代价,缩短了演化的时间。
[0030] 本发明的其他特征和优点将在随后的【具体实施方式】部分予以详细说明。

【专利附图】

【附图说明】
[0031] 附图是用来提供对本发明的进一步理解,并且构成说明书的一部分,与下面的具 体实施方式一起用于解释本发明,但并不构成对本发明的限制。在附图中:
[0032] 图1是说明本发明的【具体实施方式】的一种确定演化域的最小生成工作流网方法 的流程图;以及
[0033] 图2是说明本发明的【具体实施方式】的一种确定演化域的最小生成工作流网方法 的网购系统的购物流程图。

【具体实施方式】
[0034] 以下结合附图对本发明的【具体实施方式】进行详细说明。应当理解的是,此处所描 述的【具体实施方式】仅用于说明和解释本发明,并不用于限制本发明。
[0035] 在本发明的一种确定演化域的最小生成工作流网方法中,该方法包括:
[0036]S101,将初始化系统抽象为工作流网,确定与问题节点相对应的工作流网中的指 定变迁;
[0037] S102,初始化所述工作流网为集合,并将所述指定变迁划分到所述集合中;
[0038] S103,遍历工作流网中所有变迁,逐一判断所述所有变迁是否对所述指定变迁具 有引发完全依赖,当所述所有变迁中的一个变迁对所述指定变迁具有引发完全依赖,则将 所述一个变迁划分到所述集合中;
[0039] S104,当所述集合满足工作流网的条件时,所述集合为最小输出工作流网;
[0040] 当所述集合不满足工作流网的条件时,在所述工作流网中添加虚拟节点以使得所 述集合为最小输出工作流网。
[0041] 通过上述方法,本发明针对目前大规模软件系统的在线演化问题,如果对整个系 统进行操作其演化过程必然会涉及到资源和时间的利用问题,本发明提出了 一种确定软件 演化域的最小生成工作流网的方法,找出所有需要处理的部分放入演化域内,不需要处理 的部分划分出去,这样就可以控制用最小演化区域达到实现整个系统演化功能的作用,该 种方法可以在用相同的演化模型条件下减小演化代价,缩短了演化的时间。
[0042] 该种方法,将不需要的变迁给划分出去,需要的步骤划分成所述集合,从而实现得 到最小输出流网,减小了演化的代价,缩短了演化的时间。
[0043] 下面结合附图1和附图2对本发明进行进一步的说明,在本发明的一种具体实施 方式中,通过一个网购案例来阐述一下最小生成工作流网工作的原理。
[0044] 在本发明的一种【具体实施方式】中,在步骤S104中,添加虚拟节点的方法包括 :
[0045] 添加虚拟库所和虚拟弧,且所述虚拟库所通过所述虚拟弧指向所述工作流网中无 后继库所的变迁节点使得所述集合为最小输出工作流网。
[0046] 在步骤S104中,添加虚拟节点的方法还包括:
[0047] S201,判断所述工作流网中是否存在无后继变迁的库所节点和/或无后继库所的 变迁节点,
[0048] S202,当存在无后继变迁的库所节点且不存在无后继库所的变迁节点时,先添加 第一虚拟变迁和与所述第一虚拟变迁相对应的第一虚拟弧使得所述无后继变迁的库所节 点通过第一虚拟弧指向第一虚拟变迁;再添加第一虚拟库所和第二虚拟弧,使所述第一虚 拟变迁通过所述第二虚拟弧指向所述第一虚拟库所;或
[0049] 当存在无后继库所的变迁节点且不存在无后继变迁的库所节点时,添加第二虚拟 库所和与所述第二虚拟库所相对应的第三虚拟弧使所述无后继库所的变迁节点通过所述 第三虚拟弧指向所述第二虚拟库所;或
[0050] 当存在无后继变迁的库所节点且存在无后继库所的变迁节点时,先添加第二虚拟 变迁和与所述第二虚拟变迁相对应的第四虚拟弧使所述无后继变迁的库所节点通过所述 第四虚拟弧指向所述第二虚拟变迁;再添加第三虚拟库所和与所述第三虚拟库所相对应的 第五虚拟弧使所述无后继库所的变迁节点通过所述第五虚拟弧指向所述第三虚拟库所。
[0051] 在本发明中限制了最小工作流网必须是工作流网,在一般生成过程中可能会不满 足工作流网条件,所以为了能满足最小工作流网是一个工作流网,需要添加虚拟节点构成 工作流网,添加虚拟节点就是为了让生成工作流网满足工作流网的所有条件。
[0052] 在本发明的一种【具体实施方式】中,步骤S103判断所述所有变迁中的任意一个变 迁是否对所述指定变迁具有引发完全依赖的步骤包括:
[0053] S301,记录任意一个变迁的k个可引发的前驱序列,其中k为自然数;
[0054] S302,判断所述指定变迁是否属于所有的所述可引发的前驱序列;
[0055] S303,当所述指定变迁属于所有的所述可引发的前驱序列时,则判断该变迁对所 述指定变迁具有引发完全依赖。
[0056] 通过上述实施方式,可以实现判断任意一个变迁对所述指定变迁是否具有引发完 全依赖。
[0057] 在本发明的一种【具体实施方式】中,步骤S103中,
[0058] 所述引发完全依赖可以包括:直接引发完全依赖或间接引发完全依赖。
[0059] 在本发明的一种【具体实施方式】中,步骤S104中,集合满足工作流网的条件包括:
[0060] 当所述工作流网中的任意一个库所中的所有输入变迁属于所述集合和所述工作 流网中的任意一个弧中的所有输入节点和所有输出节点属于所述集合时,所述集合为最小 输出工作流网。
[0061] 通过上述实施方式,可最大化的减少演化代价,通过判断任意一个输入变迁和任 意一个输入节点或输出节点是否在集合中即可以判断所述集合是否是最小输出工作流网。
[0062] 在本发明的一种【具体实施方式】中,最优选地实施方法包括以下几个步骤:
[0063]步骤1,初始化系统将其抽象为W(工作流网),确定指定问题节点对应的工作流网 中的t (指定变迁);
[0064]步骤2,初始化最小生成工作流网的S (初始集合),并将t划分到集合S中;[0065]步骤3,遍历工作流网中所有变迁,根据定义2 (具体定义如下文所示)、定义3 (具 体定义如下文所示)判断所有变迁中任意一个变迁是否对t具有引发完全依赖;当其对t 具有完全依赖,转到步骤4,否则转到步骤5。
[0066] 步骤4,将该变迁划分到集合S中。
[0067] 步骤5,跳过该变迁继续遍历,转到步骤3。
[0068]步骤6,判断工作流网是否遍历结束,若遍历结束,转到步骤7,否则转到步骤3。 [0069]步骤7,根据定义4 (具体定义如下文所示)判断集合S是否满足最小生成工作流 网,若满足转到步骤8,否则,转到步骤9。
[0070]步骤8,输出最小输出工作流网。
[0071] 步骤9,根据定义4(具体定义如下文所示)添加虚拟节点并转到步骤7。
[0072] 其中上述过程中用到的定义可参考下面的定义:
[0073] 定义1,可引发前驱序列:则在工作流网中,所有在Ti节点之前引发的变迁节点组 成的最小序列称为Ti的可引发前驱序列,所谓最小序列就是当序列中任一节点不引发时, Ti都不能引发。
[0074] 定理1,在工作流网中,对任意一个节点Ti,设其节点可引发前驱序列有k个, (k G N*),分别为 NI, N2......Nk,若变迁节点 Tj G Nl 且 Tj G N2. ? --且 Tj G Nk,则 Ti 对Tj直接或间接完全依赖。
[0075]定义2,直接引发完全依赖:对于某一服务组合实例的已执行活动序列S中的任 意两个活动S [i]和S [j],若S [j]的发生只有建立在S [i]发生的基础上,则称S [j]完 全依赖于s [i]。即有且仅有活动S [i]发生,活动S [j]才会发生。记作:S [i] - S [j]。
[0076] 定义3,间接引发完全依赖:对于某一服务组合实例的已执行活动序列S中的3 个活动S [i],S [j],S [k],其中i〈j〈k,若活动S [j]直接或间引发据依赖于活动S [j], 活动S [j]直接或间接依赖于活动S [k],则活动S [i]间接依赖于活动S [k]。记作: 5 [k] -- 5 [i]。
[0077] 综合定义2和定义3可知间接引发完全依赖具有传递性,而直接引发完全依赖不 具有传递性。
[0078] 定义4,设S-WFN(P,T,F,t)是最小生成工作流网则满足以下三个性质 :
[0079] 1,S-WFN .UVFN,最小工作流网是一个工作流网;
[0080] 2, S-WFN是根据某一特定变迁节点T生成;
[0081] 3,对任意变迁Ti属于原工作流网WFN,若Ti对T具有引发完全依赖,则Ti属 于S-WFN,否则Ti不属于S-WFN,对原工作流网中任意库所P,若P所有的输入变迁都属于 S-WFN,则P属于S-WFN,否则P不属于S-WFN。对于原工作流网中任意弧F,若F的输入节点 和输出节点都属于S-WFN,则F属于S-WFN,否则F不属于S-WFN。
[0082] 综上所述,性质1中限定了此网必须是一个工作流网,但在一般生成过程中可能 会不满足工作流网条件,所以为了能满足性质1,需要添加虚拟节点构成工作流网。
[0083] 在本发明中添加虚拟节点是为了让生成工作流网满足工作流网的所有条件,首先 添加一个虚拟库所Pn和虚拟弧Fn,使Pn通过Fn指向T,然后判断此时是否满足最小工作流 网的条件,若满足则此时的网就是要找的最小生成工作流网,若不满足,判断网中是否有无 后继的变迁节点或无后继的库所节点,分为以下三种情况进行添加:当只有无后继变迁的 库所节点,则添加一个Tv (虚拟变迁)和相应的Fvi (虚拟弧)使得这些库所节点通过Fvi 指向Tv,再添加一个Pv(虚拟库所节点)和Fv(虚拟弧),使Tv通过Fv指向Pv ;当只有无 后继库所的变迁节点,则添加一个Pv (虚拟库所)和相应的Fvi (虚拟弧),使得这些变迁 通过Fvi指向Pv ;当有无后继变迁的库所节点也有无后继库所的变迁节点,则首先添加一 个Tv (虚拟变迁)和相应的Tvi (虚拟弧),使得无后继变迁的库所节点通过Tvi指向Tv, 然后再添加一个Pv (虚拟库所)和相应的Tvj (虚拟弧),使得所有无后继库所的变迁节点 通过Tvj指向Pv。
[0084] 另外,通过上面的介绍,下面结合附图2将本发明用于一个这个网购系统,在该网 购系统中,包括:登录,选择商品,接着直接购买或者加入购物车,对加入购物车的商品进行 结算,然后选择支付方式,是在线支付还是线下支付,线下支付选择提货方式,自提还是送 货上门,选择网点,积分担保,确认地址,确认订单,在线支付选择,支付宝支付还是网银支 付,获取积分后记录用户的偏好,最后确认收货,再收货。具体操作方式参见图2,涉及到了 很多操作步骤,但并不是所有的操作步骤都有关联性,正常与否并不影响其他的操作正常 进行;剩下的节点正常工作。在本例中,假设节点支付宝支付出现了故障,即支付宝支付出 现了问题,这时如果对整个系统进行停机修复也能达到系统在线演化的目的,但资源与时 间浪费较大。通过上述模型与算法可知,只需要找到与支付宝支付有数据关联的节点即可, 所以通过寻找最小生成工作流网找出和支付宝支付有关联的节点。根据上述最小生成工 作流网的定义,可以发现登陆支付宝满足条件,即支付宝支付与登陆支付宝构成的工作流 网就是要找的最小生成工作流网,除了最小生成工作流网之外的工作流网其他部分正常工 作;在系统上中其他的节点出现了问题也可以同样用找最小生成工作流网的方法将影响范 围化到最小。该方法可以将系统出现故障所带来的损失降低到最低。
[0085] 以上结合附图详细描述了本发明的优选实施方式,但是,本发明并不限于上述实 施方式中的具体细节,在本发明的技术构思范围内,可以对本发明的技术方案进行多种简 单变型,这些简单变型均属于本发明的保护范围。
[0086] 另外需要说明的是,在上述【具体实施方式】中所描述的各个具体技术特征,在不矛 盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本发明对各种可 能的组合方式不再另行说明。
[0087] 此外,本发明的各种不同的实施方式之间也可以进行任意组合,只要其不违背本 发明的思想,其同样应当视为本发明所公开的内容。
【权利要求】
1. 一种确定演化域的最小生成工作流网方法,其特征在于,该方法包括: S101,将初始化系统抽象为工作流网,确定与问题节点相对应的工作流网中的指定变 迁; 5102, 初始化所述工作流网为集合,并将所述指定变迁划分到所述集合中; 5103, 遍历工作流网中所有变迁,逐一判断所述所有变迁是否对所述指定变迁具有引 发完全依赖,当所述所有变迁中的一个变迁对所述指定变迁具有引发完全依赖,则将所述 一个变迁划分到所述集合中; 5104, 当所述集合满足工作流网的条件时,所述集合为最小输出工作流网; 当所述集合不满足工作流网的条件时,在所述工作流网中添加虚拟节点以使得所述集 合为最小输出工作流网。
2. 根据权利要求1所述的确定演化域的最小生成工作流网方法,其特征在于,在步骤 S104中,添加虚拟节点的方法包括: 添加虚拟库所和虚拟弧,且所述虚拟库所通过所述虚拟弧指向所述工作流网中无后继 库所的变迁节点使得所述集合为最小输出工作流网。
3. 根据权利要求1所述的确定演化域的最小生成工作流网方法,其特征在于,在步骤 S104中,添加虚拟节点的方法还包括: S201,判断所述工作流网中是否存在无后继变迁的库所节点和/或无后继库所的变迁 节点, S202,当存在无后继变迁的库所节点且不存在无后继库所的变迁节点时,先添加第一 虚拟变迁和与所述第一虚拟变迁相对应的第一虚拟弧使得所述无后继变迁的库所节点通 过第一虚拟弧指向第一虚拟变迁;再添加第一虚拟库所和第二虚拟弧,使所述第一虚拟变 迁通过所述第二虚拟弧指向所述第一虚拟库所;或 当存在无后继库所的变迁节点且不存在无后继变迁的库所节点时,添加第二虚拟库所 和与所述第二虚拟库所相对应的第三虚拟弧使所述无后继库所的变迁节点通过所述第三 虚拟弧指向所述第二虚拟库所;或 当存在无后继变迁的库所节点且存在无后继库所的变迁节点时,先添加第二虚拟变迁 和与所述第二虚拟变迁相对应的第四虚拟弧使所述无后继变迁的库所节点通过所述第四 虚拟弧指向所述第二虚拟变迁;再添加第三虚拟库所和与所述第三虚拟库所相对应的第五 虚拟弧使所述无后继库所的变迁节点通过所述第五虚拟弧指向所述第三虚拟库所。
4. 根据权利要求1所述的确定演化域的最小生成工作流网方法,其特征在于,步骤 S103判断所述所有变迁中的任意一个变迁是否对所述指定变迁具有引发完全依赖的步骤 包括: S301,记录任意一个变迁的k个可引发的前驱序列,其中k为自然数; S302,判断所述指定变迁是否属于所有的所述可引发的前驱序列; S303,当所述指定变迁属于所有的所述可引发的前驱序列时,则判断该变迁对所述指 定变迁具有引发完全依赖。
5. 根据权利要求1所述的确定演化域的最小生成工作流网方法,其特征在于,步骤 S103 中, 所述引发完全依赖包括:直接引发完全依赖或间接引发完全依赖。
6.根据权利要求1所述的确定演化域的最小生成工作流网方法,其特征在于,步骤 S104中,集合满足工作流网的条件包括: 当所述工作流网中的任意一个库所中的所有输入变迁属于所述集合和所述工作流网 中的任意一个弧中的所有输入节点和所有输出节点属于所述集合时,所述集合为最小输出 工作流网。
【文档编号】G06Q30/06GK104317885SQ201410567556
【公开日】2015年1月28日 申请日期:2014年10月22日 优先权日:2014年10月22日
【发明者】章昭辉, 郑禄涛 申请人:安徽师范大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1