组合服务演化中运行实例的在线迁移方法及设备的制作方法

文档序号:6441363阅读:168来源:国知局
专利名称:组合服务演化中运行实例的在线迁移方法及设备的制作方法
技术领域
本发明涉及组合服务技术,尤其涉及一种组合服务演化中运行实例的在线迁移方法及设备,属于计算机技术领域。
背景技术
近年来,随着互联网技术的不断发展,网络上聚集了越来越多的资源,不仅包含丰富的计算和存储等物理资源,还有大量的软件和服务资源,基于服务的分布式应用系统开发已经成为计算机领域一个重要的方向。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片段;
6
根据所述发生变更的SESE片段生成所述变更区域。具体地,动态变更区域是有效迁移判定的充分不必要条件,即虽然状态处于动态变更区域内的实例也有可能有效地迁移到新的流程模型下,但状态处于动态变更区域外的实例则一定能有效迁移。因此在上述实施例的在线迁移方法中,提出了一种基于流程结构树的变更区域计算方法,该方法计算出来的变更区域较更加准确,且计算复杂度更低,保证了实例迁移的有效判定。更为具体地,基于流程结构树的变更区域计算方法将由工作流网表示的业务流程图组织成一棵由单入口单出口(简称SESE)片段组成的树。每个SESE片段的内部可能嵌套包含其它SESE片段,这些片段被称为它的孩子片段。除嵌套包含孩子片段之外,SESE片段还可能包含内部网关节点,在这些内部节点和孩子片段之间相连的边被称为SESE片段的内部边。每个SESE片段都有自己特有的结构类型,其类型的判定是通过对将孩子片段替换成单一节点之后的流程片段归类而得的。SESE的片段类型根据其控制流结构不同可以多种多样。例如将SESE片段类型为以下六种,如表1中所示,表1为SESE片段类型定义表。
权利要求
1.一种组合服务演化中运行实例的在线迁移方法,其特征在于,包括 获取原流程模型与目标流程模型之间的变更区域;若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径; 若存在,则将所述待迁移实例迁移至所述目标路径。
2.根据权利要求1所述的组合服务演化中运行实例的在线迁移方法,其特征在于,所述获取原流程模型与目标流程模型之间的变更区域具体包括构建所述原流程模型的第一流程结构树,以及所述目标流程的第二流程结构树,所述第一流程结构树和所述第二流程结构树均包括相应流程模型中的单入口单出口 SESE片段,以及各SESE片段之间的嵌套关系;建立所述第一流程结构树的SESE片段,与所述第二流程结构树的SESE片段之间的映射关系;根据所述映射关系查找所述第一流程结构树与所述第二流程结构树之间发生变更的 SESE片段;根据所述发生变更的SESE片段生成所述变更区域。
3.根据权利要求1所述的组合服务演化中运行实例的在线迁移方法,其特征在于,检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径具体包括按照预定规则计算所述变更区域相对于所述原流程模型的比例; 若所述比例大于或等于预设阈值,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径。
4.根据权利要求1所述的组合服务演化中运行实例的在线迁移方法,其特征在于,检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径具体包括获取所述目标流程模型中,与所述原目标流程模型中的第一执行路径对应的第二执行路径,其中所述第一执行路径为所述待迁移实例的已有执行路径;若所述第一执行路径中的各节点与所述第二路径中的各节点一一对应,则获知所述第一执行路径与所述第二执行路径等价。
5.根据权利要求2所述的组合服务演化中运行实例的在线迁移方法,其特征在于,根据所述发生变更的SESE片段生成所述变更区域具体包括构造组合服务的数据依赖图,以获取组合服务中各组件服务的数据依赖关系; 将内部节点存在数据依赖关系的所述SESE片段进行合并,以生成所述变更区域。
6.一种组合服务演化中运行实例的在线迁移设备,其特征在于,包括 变更区域获取模块,用于获取原流程模型与目标流程模型之间的变更区域;迁移判定模块,用于若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径; 迁移执行模块,用于若存在,则将所述待迁移实例迁移至所述目标路径。
7.根据权利要求6所述的组合服务演化中运行实例的在线迁移设备,其特征在于,所述变更区域获取模块包括第一处理单元,用于构建所述原流程模型的第一流程结构树,以及所述目标流程的第二流程结构树,所述第一流程结构树和所述第二流程结构树均包括相应流程模型中的单入口单出口 SESE片段,以及各SESE片段之间的嵌套关系;第二处理单元,用于建立所述第一流程结构树的SESE片段,与所述第二流程结构树的 SESE片段之间的映射关系;第三处理单元,用于根据所述映射关系查找所述第一流程结构树与所述第二流程结构树之间发生变更的SESE片段;第四处理单元,用于根据所述发生变更的SESE片段生成所述变更区域。
8.根据权利要求6所述的组合服务演化中运行实例的在线迁移设备,其特征在于,所述迁移判定模块还用于按照预定规则计算所述变更区域相对于所述原流程模型的比例;若所述比例大于或等于预设阈值,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径。
9.根据权利要求6所述的组合服务演化中运行实例的在线迁移设备,其特征在于,所述迁移判定模块还用于获取所述目标流程模型中,与所述原目标流程模型中的第一执行路径对应的第二执行路径,其中所述第一执行路径为所述待迁移实例的已有执行路径;若所述第一执行路径中的各节点与所述第二路径中的各节点一一对应,则获知所述第一执行路径与所述第二执行路径等价。
10.根据权利要求7所述的组合服务演化中运行实例的在线迁移设备,其特征在于, 所述第四处理单元还用于构造组合服务的数据依赖图,以获取组合服务中各组件服务的数据依赖关系;将内部节点存在数据依赖关系的所述SESE片段进行合并,以生成所述变更区域。
全文摘要
本发明提供一种组合服务演化中运行实例的在线迁移方法及设备。该方法包括获取原流程模型与目标流程模型之间的变更区域;若判断获知待迁移运行实例位于所述变更区域内,则检测所述目标流程模型中是否存在与所述待迁移实例的已有执行路径等价的目标路径;若存在,则将所述待迁移实例迁移至所述目标路径。本发明提供的组合服务演化中运行实例的在线迁移方法及设备用以实现简便且准确性高的运行实例在线迁移。
文档编号G06Q10/06GK102567845SQ20111042022
公开日2012年7月11日 申请日期2011年12月15日 优先权日2011年12月15日
发明者孙海龙, 张万才, 怀进鹏, 林晶晶, 邹佳宁 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1