CN102567845B - 组合服务演化中运行实例的在线迁移方法及设备 - Google Patents
组合服务演化中运行实例的在线迁移方法及设备 Download PDFInfo
- Publication number
- CN102567845B CN102567845B CN201110420224.4A CN201110420224A CN102567845B CN 102567845 B CN102567845 B CN 102567845B CN 201110420224 A CN201110420224 A CN 201110420224A CN 102567845 B CN102567845 B CN 102567845B
- Authority
- CN
- China
- Prior art keywords
- procedural model
- fragment
- execution route
- sese
- migrated
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
本发明提供一种组合服务演化中运行实例的在线迁移方法及设备。该方法包括:获取原流程模型与目标流程模型之间的变更区域;若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径;若存在,则将所述待迁移实例迁移至所述目标路径。本发明提供的组合服务演化中运行实例的在线迁移方法及设备用以实现简便且准确性高的运行实例在线迁移。
Description
技术领域
本发明涉及组合服务技术,尤其涉及一种组合服务演化中运行实例的在线迁移方法及设备,属于计算机技术领域。
背景技术
近年来,随着互联网技术的不断发展,网络上聚集了越来越多的资源,不仅包含丰富的计算和存储等物理资源,还有大量的软件和服务资源,基于服务的分布式应用系统开发已经成为计算机领域一个重要的方向。
Web服务技术可以用于解决了不同的平台/系统之间应用的整合问题,为跨组织边界的业务流程的自动化提供技术基础,但由于服务的提供者分工越来越细,并且为了保证重用性和可维护性等,一般不将复杂的业务逻辑封装到单个的Web服务中,而为了满足用户多样性的需求,实现完整的业务功能,需要把分布的独立的Web服务组合起来,形成具有增值价值的服务,服务组合技术成为构建网络化软件的一种重要方法,基于这种方法所开发的软件在技术形态上体现为组合服务。
基于业务流程的Web服务组合是指:通过借鉴传统的工作流和业务流程管理技术,将不同的组件服务编排在一个具有固定业务逻辑的流程中,执行时在按照此流程中的逻辑关系和时序关系来调用远程的组件服务。一般使用工作流语言描述Web服务组合形成的业务流程:指定一组Web服务操作的执行顺序,确定服务共享的数据、业务流程涉的伙伴和各伙伴在业务流程中的角色,以及多个服务和组织是如何参与等。其中,业务流程是指为实现一个特定业务目标通过Web服务组合能完成的各项活动的逻辑结构关系。活动为业务流程中实现特定业务目标的步骤,即Web服务。因此,根据Web服务工作流语言定义出Web服务组合的工作流模型,工作流模型可以被工作流执行引擎执行。
组合服务的演化已经是学术界的研究热点,从演化时间、演化影响、演化操作分类以及演化带来的问题等方面均进行了深入分析,其中组合服务演化中运行实例的成功迁移尤为重要。组合服务实例迁移是一种根据已有实例执行状态判定计算在新组合服务定义下的实例状态的行为,它保留了已有执行的宝贵数据,并且最大化地降低了回滚重做的损失。这种提供在同一组合服务不同版本的模型间动态迁移的机制,解决了传统工作流及业务流程系统应对变化能力差的问题。但是由于在组合服务演化过程中,其业务流程模型的语义、消息流、控制流、数据流都有可能发生变化,所以可能会导致实例运行同步失效、死锁和语义错误等问题。
针对组合服务演化时运行期流程实例状态迁移的情况,国内外相关研究提出了一个重要的问题——动态变更错误(Dynamic Change Bug),指的是旧流程实例中的状态在新的流程实例中找不到合适的对应状态(演化后会导致某些活动执行了多次或被不合理的跳过)。基于PetriNet模型,相关研究人员提出了通过划分“变更区域”的方法来处理动态变更错误,即运行状态处于变更区域内的流程实例不能迁移(如果迁移会导致动态变更错误),而运行状态在变更区域外的则可以进行迁移的方法。该变更区域只是静态变更区域,并且通过工作流网(PetriNet的扩展)给出了静态变更区域的自动生成算法,进一步证明了静态变更区域的定义既不充分也不必要,也就是说处于变更区域内的状态也有可能正常地迁移到新的流程实例中,而处于变更区域外的某些状态很可能不能合法地迁移。
因此,在进行运行实例的在线迁移时,如何避免动态变更错误,以实现准确、有效的在线实例迁移,是极为重要的研究课题。
发明内容
本发明提供一种组合服务演化中运行实例的在线迁移方法及设备,用以实现简便且准确性高的运行实例在线迁移。
根据本发明的一方面,提供一种组合服务演化中运行实例的在线迁移方法,包括:
获取原流程模型与目标流程模型之间的变更区域;
若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径;
若存在,则将所述待迁移实例迁移至所述目标路径。
根据本发明的另一方面,还提供一种组合服务演化中运行实例的在线迁移设备,包括:
变更区域获取模块,用于获取原流程模型与目标流程模型之间的变更区域;
迁移判定模块,用于若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径;
迁移执行模块,用于若存在,则将所述待迁移实例迁移至所述目标路径。
根据本发明提供的组合服务演化中运行实例的在线迁移方法及设备,通过改变现有的基于变更区域的迁移判定算法,提出了结合变更区域计算以及基于执行路径等价性的迁移判定过程,从而保障了运行实例在线迁移过程中控制流的正确性,确保了运行实例在线迁移的高准确度,能够安全正确地将运行状态的实例动态迁移到更新的流程模型上去,避免了系统停机重启,减少了回滚重做的损失,保证了系统的稳定性。
附图说明
图1为用于实现本发明实施例的组合服务演化中运行实例的在线迁移方法的系统结构图;
图2为本发明实施例的组合服务演化中运行实例的在线迁移方法;
图3为执行了SESE片段划分的业务流程示意图;
图4为图3中J片段的抽象示意图;
图5为本发明实施例的组合服务演化中运行实例的在线迁移设备的结构示意图。
具体实施方式
图1为用于实现本发明实施例的组合服务演化中运行实例的在线迁移方法的系统结构图。如图1所示,该系统主要包括组合服务运行管理工具和柔性组合服务执行引擎,其中,组合服务运行管理工具用于负责组合服务动态演化的人工接口,柔性组合服务执行引擎用于支持运行实例的在线迁移。本发明实施例的组合服务演化中运行实例的在线迁移方法由图1中的柔性组合服务执行引擎来执行。
图2为本发明实施例的组合服务演化中运行实例的在线迁移方法。如图2所示,该运行实例的在线迁移方法包括以下步骤:
步骤S201,获取原流程模型与目标流程模型之间的变更区域;
步骤S202,若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径;
步骤S203,若存在,则将所述待迁移实例迁移至所述目标路径。
具体地,组合服务实例迁移主要包括四个步骤:实例状态控制及获取、迁移判定、目标状态计算和迁移实施。其中迁移判定是指判断特定的组合服务实例状态是否能够在特定的组合服务模型定义下正确继续执行。其通过保证实例迁移前后已执行行为一致性以及迁移前能正确终止的实例在迁移后仍能正确终止来判定控制流的正确性。因此通过合理的实例迁移判定方法能够保障组合服务演化中实例迁移的控制流的正确性。
在上述实施例的在线迁移方法中,综合了基于变更区域和基于路径等价性两种判定方法进行混合判定。变更区域的计算方法的输入为迁移前后组合服务流程模型,输出为计算得到的变更区域,之后进入迁移判定的主体部分。
通过综合组合服务执行引擎运行期日志和实例当前工作流网状态确定运行实例的当前状态,将其和变更区域比对,判定是否已经进入变更区域。如果判定结果为否,则判定通过,并将该实例直接按原有状态迁移到新的组合服务业务流程模型上继续执行。如果判定结果为是,则进入下一步判定:是否在目标流程模型下存在与待迁移实例行为等价的新状态。更为具体地,通过在目标流程模型的状态空间里寻找一条与原实例已执行路径等价的路径来寻找行为等价的新状态。当搜索成功时,则判定通过,意味着只要将实例的状态转换为搜索到的新状态,就可以将实例迁移到新的流程模型上并继续执行。当搜索失败时,则表明该实例在当前时刻不可迁移,判定失败。判定失败的实例会继续按照原有的流程模型执行,直到其判定通过为止。
根据上述实施例的组合服务演化中运行实例的在线迁移方法,通过改变现有的基于变更区域的迁移判定算法,提出了结合变更区域计算以及基于执行路径等价性的迁移判定过程,从而保障了运行实例在线迁移过程中控制流的正确性,确保了运行实例在线迁移的高准确度,能够安全正确地将运行状态的实例动态迁移到更新的流程模型上去,避免了系统停机重启,减少了回滚重做的损失,保证了系统的稳定性。
进一步地,在上述实施例的组合服务演化中运行实例的在线迁移方法中,所述获取原流程模型与目标流程模型之间的变更区域具体包括:
构建所述原流程模型的第一流程结构树,以及所述目标流程的第二流程结构树,所述第一流程结构树和所述第二流程结构树均包括相应流程模型中的单入口单出口SESE片段,以及各SESE片段之间的嵌套关系;
建立所述第一流程结构树的SESE片段,与所述第二流程结构树的SESE片段之间的映射关系;
根据所述映射关系查找所述第一流程结构树与所述第二流程结构树之间发生变更的SESE片段;
根据所述发生变更的SESE片段生成所述变更区域。
具体地,动态变更区域是有效迁移判定的充分不必要条件,即虽然状态处于动态变更区域内的实例也有可能有效地迁移到新的流程模型下,但状态处于动态变更区域外的实例则一定能有效迁移。因此在上述实施例的在线迁移方法中,提出了一种基于流程结构树的变更区域计算方法,该方法计算出来的变更区域较更加准确,且计算复杂度更低,保证了实例迁移的有效判定。
更为具体地,基于流程结构树的变更区域计算方法将由工作流网表示的业务流程图组织成一棵由单入口单出口(简称SESE)片段组成的树。每个SESE片段的内部可能嵌套包含其它SESE片段,这些片段被称为它的孩子片段。除嵌套包含孩子片段之外,SESE片段还可能包含内部网关节点,在这些内部节点和孩子片段之间相连的边被称为SESE片段的内部边。每个SESE片段都有自己特有的结构类型,其类型的判定是通过对将孩子片段替换成单一节点之后的流程片段归类而得的。SESE的片段类型根据其控制流结构不同可以多种多样。例如将SESE片段类型为以下六种,如表1中所示,表1为SESE片段类型定义表。
每个SESE片段的完整信息包括类型、入节点、出节点、子片段集合、内部边集合五部分。每个片段的信息中都将所有其子片段的信息抽象成单一节点,即不考虑子片段内部的信息。图3为执行了SESE片段划分的业务流程示意图。如图3所示,该业务流程一共有24个SESE片段,其中,J片段和C、D片段之间有嵌套关系,V片段和O、P、Q片段有嵌套关系。在判定J、V片段类型时,首先需要将其包含的子片段,即C、D和O、P、Q片段的内部结构忽略,即将C、D、O、P、Q抽象为单一节点,而后得到J、V忽略了其各自子片段细节信息后的结构。以J片段为例,忽略子片段细节信息后的J片段抽象结构如图4所示,图4为图3中J片段的抽象示意图。
获得PST模型之后,将迁移前后的PST树进行遍历比对,比对的内容包括片段类型、入节点、出节点、内部边信息。内容完全匹配的SESE片段是迁移前后没有变化的区域,反之则是迁移过程中的变化区域。下面给出变更区域的具体计算算法。
算法的输入为迁移前后的PST模型。对于每一个PST模型,采用深度遍历的方法,优先匹配嵌套最内层的SESE片段。这样做的原因是,每个SESE片段信息的匹配都依赖于其孩子片段信息的匹配,即孩子片段的替换仍然意味着其父片段是变化的片段。匹配的过程按照片段类型、孩子片段集合、内部边依次匹配,目的是为了加快不匹配情况的剪枝速度。算法的复杂度和输入流程模型的结构复杂度有关。结构越复杂的流程模型所包含单入单出片段的个数及其嵌套的层次越多的可能性越大。假设N为迁移前PST0中包含的SESE片段的个数,M为迁移后PSTN包含的SESE片段的个数,E为流程模型中的边的个数,则最坏的时间复杂度为O(NM+E),这已经大大降低了原有变更区域算法的复杂度。
进一步地,在上述实施例的组合服务演化中运行实例的在线迁移方法中,检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径具体包括:
按照预定规则计算所述变更区域相对于所述原流程模型的比例;
若所述比例大于或等于预设阈值,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径。
具体地,利用预设的判定函数来选择本次的运行实例迁移过程中,是采用基于变更区域的迁移判定方法来进行迁移判定,或是采用执行路径等价性的方法来进行迁移判定。
判定函数可由以下的表达式表示:
hybridDeterm=λ*change Re gDeterm+(1-λ)*traceEquivDeterm
其中
在该表达式中,代表变更区域所包含的节点数据,表征了变更区域的大小,为组合服务流程模型的总节点数据,因此θ表征了变更区域占整个模型区域的比例。α为触发不同判定方法的阈值,例如当α为0.5时则表示当变更区域占整个模型区域的比例大于50%时,采用执行路径等价判定方法,否则采用基于变更区域判定方法。
在这种混合的判定方法下,可以结合变更区域判定方法计算复杂度低的优点和路径等价性判定方法判定准确的优点,更好地避免两种方法的缺点,更好地利用两种方法的优势来实现组合服务演化中的正确、高效的实例迁移判定,有力地保障了组合服务演化中实例迁移的控制流数据流正确性保障。
进一步地,在上述实施例的在线迁移方法中,检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径具体包括:
获取所述目标流程模型中,与所述原目标流程模型中的第一执行路径对应的第二执行路径,其中所述第一执行路径为所述待迁移实例的已有执行路径;
若所述第一执行路径中的各节点与所述第二路径中的各节点一一对应,则获知所述第一执行路径与所述第二执行路径等价。
具体地,例如将基于执行路径等价性的迁移判定扩展定义如下:
组合服务CS1的一条执行路径trace1=<t1,...ti,...,tn>与组合服务CS2的一条执行路径trace2=<s1,...,si,...,sn>等价,当且仅当能够在T={ti|1≤i≤n}与S={si|1≤i≤n}建立一一映射,映射的节点对<ti,sj>语义等价,且若i≠j,则<ti,tj>与<si,sj>数据无关。下面给出扩展后的基于执行路径等价性的迁移判定算法(以下简称DCMI算法):
以上扩展的路径等价定义反映了流程中数据无关的节点执行顺序的可无序性。若与目标流程模型中的一条路径满足扩展路径等价的实例,仍然可以完成有效迁移。DCIM算法输入为带数据的工作流网模型和待迁移实例的控制流、数据流状态和已执行日志,输出为判定结果及迁移后目标状态。算法的主体部分分为状态空间计算和数据无关性判定。其中2-5行完成了可达图、数据依赖图数据结构的初始化,6-14行为主体部分,包括状态空间的搜索,数据无关节点的判定,和扩展路径等价的判定。算法的最坏复杂度是指数级别,因为计算工作流网可达图的算法最坏复杂度为指数级别,而在搜索可达图的计算复杂度小于O(N2)。
根据上述实施例的组合服务演化中运行实例的在线迁移方法,根据数据无关性,对判定时实例执行路径和目标流程模型中路径的等价定义进行进一步扩展,增加了动态迁移的柔性。
进一步地,在上述实施例的组合服务演化中运行实例的在线迁移方法中,根据所述发生变更的SESE片段生成所述变更区域具体包括:
构造组合服务的数据依赖图,以获取组合服务中各组件服务的数据依赖关系;
将内部节点存在数据依赖关系的所述SESE片段进行合并,以生成所述变更区域。
具体地,采用数据依赖图(Data Dependence Graph,简称DDG)来为组合服务中组件服务的数据流信息建立模型。其中,数据依赖图是不连通有向图,它刻画了同一组合服务中各组件服务间的数据依赖关系。
数据依赖图模型由每个数据变量对应的数据依赖子图(Sub DataDependence Graph简称SDDG)组成。在SDDG中,每条有向边代表了组件服务的直接数据依赖关系。例如,当组合服务中存在第一组件服务ws1直接读入第二组件服务ws2写入的数据d时,则在数据d对应的SDDG中存在着一条由第二组件服务ws2指向第一组件服务ws1的有向边。
更为具体地,例如将DDG定义如下:
一个数据依赖图是一个多元组,DDG=<SDDG,CS>,其中:
CS是该DDG所属的业务流程模型,由带数据的工作流网来表达,CS∈WFD-net;
SDDG是对应的数据依赖子图组成的集合,SDDG是一个多元组SDDG=<T,E,D>,其中D与CS中数据变量集合相等, (t1,t2)∈E,表示关于数据变量d,组件服务t1依赖于t2。
构造组合服务的数据依赖图的方法为,遍历该组合服务流程模型的控制流图,当经过写数据变量的节点时,更新对应数据最后被写的组件服务信息,当经过读数据变量的节点时,新建一条从该节点到最后写该变量的组件服务节点的边,并将该条边加入到该数据变量对应的子数据依赖图中。值得注意的是,流程模型中根据路径不同两变量之间可能有多种依赖关系,其并不影响本发明实施例的计算,因为直接依赖或是间接依赖均认为两组件服务间之间存在着数据依赖关系。
在得到数据依赖图后,就可以快速地计算出组合服务的两组件服务是否相依赖。
在获得组合服务中各组件服务的数据依赖关系之后则需要将迁移判定算法进行扩展,扩展的方法为合并那些内部节点存在数据依赖关系的SESE片段,合并之后的SESE片段包括发生变更的SESE片段以及与该发生变更的SESE片段具有数据依赖关系的非变更的SESE片段。
根据上述实施例的组合服务演化中运行实例的在线迁移方法,扩展后的变更区域保证了具有数据依赖的节点运行在同一版本的流程模型定义上,从而避免了动态迁移导致的数据不一致、数据缺失问题,进一步为运行实例的成功在线迁移提供了保障。
图5为本发明实施例的组合服务演化中运行实例的在线迁移设备的结构示意图。如图5所示,该在线迁移设备包括:
变更区域获取模块51,用于获取原流程模型与目标流程模型之间的变更区域;
迁移判定模块52,用于若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径;
迁移执行模块53,用于若存在,则将所述待迁移实例迁移至所述目标路径。
上述实施例的组合服务演化中运行实例的在线迁移设备例如为图1中所示的柔性组合服务执行引擎,其执行运行实例的在线迁移的流程与上述实施例的在线迁移方法相同,故此处不再赘述。
根据上述实施例的组合服务演化中运行实例的在线迁移设备,通过改变现有的基于变更区域的迁移判定算法,提出了结合变更区域计算以及基于执行路径等价性的迁移判定过程,从而保障了运行实例在线迁移过程中控制流的正确性,确保了运行实例在线迁移的高准确度,能够安全正确地将运行状态的实例动态迁移到更新的流程模型上去,避免了系统停机重启,减少了回滚重做的损失,保证了系统的稳定性。
进一步地,在上述实施例的组合服务演化中运行实例的在线迁移设备中,变更区域获取模块包括:
第一处理单元,用于构建所述原流程模型的第一流程结构树,以及所述目标流程的第二流程结构树,所述第一流程结构树和所述第二流程结构树均包括相应流程模型中的单入口单出口SESE片段,以及各SESE片段之间的嵌套关系;
第二处理单元,用于建立所述第一流程结构树的SESE片段,与所述第二流程结构树的SESE片段之间的映射关系;
第三处理单元,用于根据所述映射关系查找所述第一流程结构树与所述第二流程结构树之间发生变更的SESE片段;
第四处理单元,用于根据所述发生变更的SESE片段生成所述变更区域。
进一步地,在上述实施例的组合服务演化中运行实例的在线迁移设备中,所述迁移判定模块还用于按照预定规则计算所述变更区域相对于所述原流程模型的比例;若所述比例大于或等于预设阈值,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径。
根据上述实施例的组合服务演化中运行实例的在线迁移设备,可以结合变更区域判定方法计算复杂度低的优点和路径等价性判定方法判定准确的优点,更好地避免两种方法的缺点,更好地利用两种方法的优势来实现组合服务演化中的正确、高效的实例迁移判定,有力地保障了组合服务演化中实例迁移的控制流数据流正确性保障。
进一步地,在上述实施例的组合服务演化中运行实例的在线迁移设备中,所述迁移判定模块还用于获取所述目标流程模型中,与所述原目标流程模型中的第一执行路径对应的第二执行路径,其中所述第一执行路径为所述待迁移实例的已有执行路径;若所述第一执行路径中的各节点与所述第二路径中的各节点一一对应,则获知所述第一执行路径与所述第二执行路径等价。
根据上述实施例的组合服务演化中运行实例的在线迁移设备,根据数据无关性,对判定时实例执行路径和目标流程模型中路径的等价定义进行进一步扩展,增加了动态迁移的柔性。
进一步地,在上述实施例的组合服务演化中运行实例的在线迁移设备中,所述第四处理单元还用于构造组合服务的数据依赖图,以获取组合服务中各组件服务的数据依赖关系;将内部节点存在数据依赖关系的所述SESE片段进行合并,以生成所述变更区域。
根据上述实施例的组合服务演化中运行实例的在线迁移设备,扩展后的变更区域保证了具有数据依赖的节点运行在同一版本的流程模型定义上,从而避免了动态迁移导致的数据不一致、数据缺失问题,进一步为运行实例的成功在线迁移提供了保障。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (2)
1.一种组合服务演化中运行实例的在线迁移方法,其特征在于,包括:
获取原流程模型与目标流程模型之间的变更区域;
若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移运行实例的已有执行路径等价的目标路径;
若存在,则将所述待迁移运行实例迁移至所述目标路径;
检测所述目标流程模型中是否存在与所述待迁移运行实例的已有执行路径等价的目标路径具体包括:
按照预定规则计算所述变更区域相对于所述原流程模型的比例;若所述比例大于或等于预设阈值,则检测所述目标流程模型中是否存在与所述待迁移运行实例的已有执行路径等价的目标路径;
或者,
获取所述目标流程模型中,与所述原流程模型中的第一执行路径对应的第二执行路径,其中所述第一执行路径为所述待迁移运行实例的已有执行路径;
若所述第一执行路径中的各节点与所述第二执行路径中的各节点一一对应,则获知所述第一执行路径与所述第二执行路径等价;
所述获取原流程模型与目标流程模型之间的变更区域具体包括:
构建所述原流程模型的第一流程结构树,以及所述目标流程模型的第二流程结构树,所述第一流程结构树和所述第二流程结构树均包括相应流程模型中的单入口单出口SESE片段,以及各SESE片段之间的嵌套关系;
建立所述第一流程结构树的SESE片段,与所述第二流程结构树的SESE片段之间的映射关系;
根据所述映射关系查找所述第一流程结构树与所述第二流程结构树之间发生变更的SESE片段;
根据所述发生变更的SESE片段生成所述变更区域;
根据所述发生变更的SESE片段生成所述变更区域具体包括:
构造组合服务的数据依赖图,以获取组合服务中各组件服务的数据依赖关系;
将内部节点存在数据依赖关系的所述SESE片段进行合并,以生成所述变更区域。
2.一种组合服务演化中运行实例的在线迁移设备,其特征在于,包括:
变更区域获取模块,用于获取原流程模型与目标流程模型之间的变更区域;
迁移判定模块,用于若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移运行实例的已有执行路径等价的目标路径;
迁移执行模块,用于若存在,则将所述待迁移运行实例迁移至所述目标路径;
所述迁移判定模块还用于按照预定规则计算所述变更区域相对于所述原流程模型的比例;若所述比例大于或等于预设阈值,则检测所述目标流程模型中是否存在与所述待迁移运行实例的已有执行路径等价的目标路径;
或者,所述迁移判定模块还用于获取所述目标流程模型中,与所述原流程模型中的第一执行路径对应的第二执行路径,其中所述第一执行路径为所述待迁移运行实例的已有执行路径;若所述第一执行路径中的各节点与所述第二执行路径中的各节点一一对应,则获知所述第一执行路径与所述第二执行路径等价;
所述变更区域获取模块包括:
第一处理单元,用于构建所述原流程模型的第一流程结构树,以及所述目标流程模型的第二流程结构树,所述第一流程结构树和所述第二流程结构树均包括相应流程模型中的单入口单出口SESE片段,以及各SESE片段之间的嵌套关系;
第二处理单元,用于建立所述第一流程结构树的SESE片段,与所述第二流程结构树的SESE片段之间的映射关系;
第三处理单元,用于根据所述映射关系查找所述第一流程结构树与所述第二流程结构树之间发生变更的SESE片段;
第四处理单元,用于根据所述发生变更的SESE片段生成所述变更区域;
所述第四处理单元还用于构造组合服务的数据依赖图,以获取组合服务中各组件服务的数据依赖关系;将内部节点存在数据依赖关系的所述SESE片段进行合并,以生成所述变更区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420224.4A CN102567845B (zh) | 2011-12-15 | 2011-12-15 | 组合服务演化中运行实例的在线迁移方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110420224.4A CN102567845B (zh) | 2011-12-15 | 2011-12-15 | 组合服务演化中运行实例的在线迁移方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102567845A CN102567845A (zh) | 2012-07-11 |
CN102567845B true CN102567845B (zh) | 2015-04-15 |
Family
ID=46413210
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110420224.4A Expired - Fee Related CN102567845B (zh) | 2011-12-15 | 2011-12-15 | 组合服务演化中运行实例的在线迁移方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567845B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107526726B (zh) * | 2017-07-27 | 2020-09-22 | 山东科技大学 | 一种将中文流程模型自动转换为英文自然语言文本的方法 |
CN112579057B (zh) * | 2020-12-23 | 2022-05-13 | 杭州电子科技大学 | 支持组织架构变更的自适应业务流程引擎设计方法 |
CN113342331B (zh) * | 2021-05-21 | 2023-10-03 | 武汉大学 | 一种面向生态的软件服务系统演化分析方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751626A (zh) * | 2010-01-04 | 2010-06-23 | 北京航空航天大学 | 组合服务演化中运行实例的在线迁移方法 |
-
2011
- 2011-12-15 CN CN201110420224.4A patent/CN102567845B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751626A (zh) * | 2010-01-04 | 2010-06-23 | 北京航空航天大学 | 组合服务演化中运行实例的在线迁移方法 |
Non-Patent Citations (4)
Title |
---|
A Hybrid Instance Migration Approach for Composite Service Evolution;Jianing Zou,Hailong Sun,Xudong Liu,Kun Fang,Jingjing Lin;《SERVICE COMPUTATION 2010:The Second International Conferences on Advanced Service Computing》;20101126;第153-159页 * |
Live Instance Migration with Data Consistency in Composite Service Evolution;Jianing Zou,Xudong Liu,Hailong Sun,Jin Zeng;《2010 IEEE 6th World Congress on Services》;20101231;第653-656页 * |
LiveMig:An Approach to Live Instance Migration in Composite Service Evolution;Jin Zeng,Jinpeng Huai,Hailong Sun,Ting Deng,Xiang Li;《2009 IEEE International Conference on Web Services》;20091231;第679-686页 * |
曾晋,孙海龙,刘旭东,邓婷,怀进鹏.基于服务组合的可信软件动态演化机制.《软件学报》.2010,第21卷(第2期),第261-276页. * |
Also Published As
Publication number | Publication date |
---|---|
CN102567845A (zh) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Klein et al. | Attribute-based architecture styles | |
CN110166285B (zh) | 一种基于Docker的网络安全实验平台搭建方法 | |
Souri et al. | Behavioral modeling and formal verification of a resource discovery approach in Grid computing | |
CN105138601B (zh) | 一种支持模糊约束关系的图模式匹配方法 | |
CN101571810B (zh) | 执行程序的方法、验证程序结果的方法、装置及系统 | |
CN103377035A (zh) | 针对粗颗粒度流应用的流水并行化方法 | |
CN102915271A (zh) | 基于控制流图的单元回归测试用例集合优化方法 | |
CN105868116A (zh) | 基于语义变异算子的测试用例生成和优化方法 | |
CN111737033A (zh) | 一种基于运行时图谱分析的微服务故障定位方法 | |
CN102567845B (zh) | 组合服务演化中运行实例的在线迁移方法及设备 | |
CN107122238B (zh) | 基于Hadoop云计算框架的高效迭代机制设计方法 | |
CN105808438A (zh) | 一种基于函数调用路径的测试用例复用方法 | |
CN102523155B (zh) | 一种基于Boost库的K则最短路径搜索方法和系统 | |
Zhang et al. | Distributed time-respecting flow graph pattern matching on temporal graphs | |
CN104516813A (zh) | 网络页面的测试节点的选取方法和装置 | |
CN102622334B (zh) | 多线程环境下并行xslt转换方法和装置 | |
Annane et al. | Selection and combination of heterogeneous mappings to enhance biomedical ontology matching | |
CN114356757A (zh) | 一种基于有限自动驾驶仿真场景的测试条件配置方法 | |
CN109144498A (zh) | 一种面向对象实例化任务的api自动推荐方法及装置 | |
Gafni et al. | The weakest failure detector for solving k-set agreement | |
CN101650799A (zh) | 业务流程间的不匹配交互的发现方法 | |
CN110135747B (zh) | 基于神经网络的流程定制方法 | |
CN103646061A (zh) | 面向服务的需求分析方法 | |
Karami et al. | Maintaining accurate web usage models using updates from activity diagrams | |
Bar-Sinai | Extending Behavioral Programming for Model-Driven Engineering |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150415 Termination date: 20171215 |