一种增强soa可生存性的降级服务替换验证方法

文档序号:7812421阅读:215来源:国知局
专利名称:一种增强soa可生存性的降级服务替换验证方法
技术领域
本发明属于SOA技术领域,具体涉及一种SOA降级服务替换正确性验证的方法。
背景技术
任何系统都不可避免地会发生故障。面向服务的架构SOA (Service Oriented Architecture)的软件(服务)系统也不例外。众所周知,以备用的候选服务替代产生故障的服务或系统,是一种性质有效的系统可用性增强方法。系统从发生故障到恢复正常工作的这个紧急修复时间内,成功实施服务替换面临的最大挑战是迅速找到可用的候选服务。作为一种特例,迅速找到与被替换服务完全等价的候选服务。实践中,对于一个关键任务(Mission-Critical)系统,在其故障修复期间内,既无法期望系统立即恢复工作(因为故障),又不容忍整个系统彻底失效(因为承担着关键任务)。所能选择的,是一个具有可生存性的系统。即,系统不必工作在正常状态,但仍然能够继续提供有限的功能的服务,尤其是提供核心服务。在这种紧急情况下,允许降级服务替换是主要应急措施之一。在这种可生存性环境中,降级服务替换面临的关键问题,是采取什么替换关系理论可保证实施替换后的系统仍可保持服务相容性。中国专利申请(申请号200710025615. X,公开号101130402)给出了一种基于行为
一致的服务替换方法。该方法要求,服务提供者在注册服务时须提供服务的行为描述,即合法操作序列。服务使用者在实施替换时检查候选服务与原始被替换服务的行为一致性。在服务替换时,行为一致性通过行为观察一致性规则来验证。另一中国专利申请(申请号201110058676. 2,公开号102082737A)给出了一种基于服务优先级的替换方法。该方法分析了组合服务的非功能属性,即服务质量QoS(Quality of krvices),并以此定义服务优先级。专利申请201110058676. 2不具备降级替换的能力和相应的验证技术。上述两项中国专利申请,分别从功能属性和非功能属性方面仅保证了等价(或升级)服务替换的正确性,而不能完成降级服务可替换性的验证。在可生存性环境中的紧急修复时间内,往往难以迅速找到与被替换服务完全等价的候选服务。此外,在愈来愈普及的云计算环境中,为了降低运维成本,服务消费者通常会主动采用降级服务。因此,研究降级服务的可替换性验证技术很有必要。

发明内容
本发明的目的在于提供一种SOA降级服务替换正确性验证的方法,以解决现有技术只能从功能属性和非功能属性方面保证等价(或升级)服务替换的正确性,而不能完成降级服务可替换性的验证问题。本发明是针对具有交互协议、流程形式服务的降级替换验证。一种典型的对象是国际工业标准 WS-BPEL (Web Services - Business Process Execution Language)组合流程服务。对于替换服务和候选服务,以及服务组合和替换的上下文环境,其服务接口、接口上的消息操作以及消息交互协议均为已知。任何软件系统都不可避免发生故障,系统从发生故障到恢复正常工作的紧急修复时间内,成功实施服务替换面临的最大挑战是迅速找到可用的候选服务。尤其是,很难迅速找到与被替换服务完全等价的候选服务。本发明针对不同结构的候选服务,验证服务替换的正确性,特别地,验证降级服务替换的正确性,并满足如下要求
确认实施替换后不影响系统相容性的降级服务替换; 确认实施替换后的系统能满足用户要求。本发明提出的SOA降级服务替换正确性验证方法,其流程如附

图1,具体步骤为 步骤一、采用进程代数形式化建模WS-BPEL描述文件所体现的组合服务交互协议国际工业标准WS-BPEL是最为广泛使用的组合服务描述方式。本发明利用进程代数这
一形式化工具对服务及其组合环境进行形式化建模,如附图1中1. 1所示。其中,成员服务及组合服务的系统模型表示为服务契约。服务契约用以描述服务外部可观测的消息行为; 由于WS-BPEL提供了参与组合的服务集合、服务的调用关系和消息的往来信息,这里便可采用白盒策略描述WS-BPEL流程形式的替换服务和候选服务以及服务组合和替换的上下文环境(附图1中1.2)。采用π演算描述一个WS-BPEL流程服务(即服务契约)C,具体语法如下
这里,χ表示流程服务的一个接口。K(m)表示发送消息操作,即沿接口 x发出消息m ;:f(m)表示接收消息操作,即沿接口ι接收消息m ;τ表示没有消息交互的内部操作。
权利要求
1. 一种增强SOA可生存性的降级服务替换验证方法,其特征在于具体步骤为 步骤一、采用进程代数形式化建模WS-BPEL描述文件所体现的组合服务交互协议利用进程代数这一形式化工具对服务及其组合环境进行形式化建模,其中,成员服务及组合服务的系统模型表示为服务契约;所述服务契约用以描述服务外部可观测的消息行为;由于WS-BPEL提供了参与组合的服务集合、服务的调用关系和消息的往来信息,这里采用白盒策略描述WS-BPEL流程形式的替换服务和候选服务以及服务组合和替换的上下文环境;采用π演算描述一个WS-BPEL流程服务即服务契约C,具体语法如下这里,\表示流程服务的一个接口,表示发送消息操作,即沿接.发出消息·;ifm)表示接收消息操作,即沿接 接收消息tn ;τ表示没有消息交互的内部操作;根据服务契约的操作语义规则,C d c表示服务契约c执行操作ι后演化为cf,(\t表示隐藏操作,意味着在C中的消息操作χ变为r,即,当多个服务组合成一个服务系统时,某些服务可能仅提供部分接口,并且某些接口及其相关消息操作变成了内部不可观察的;步骤二、建立流程决策点,分析WS-BPEL流程形式服务的消息交互行为在WS-BPEL流程服务交互环境中,区分三类服务契约的决策点(1)仅有发送消息操作的决策点;(2)仅有接受消息操作的决策点;(3)同时包括发送消息操作和接受消息操作的决策点;其中,第三类流程决策点是指同一服务接口的发送消息操作和接受消息操作; 步骤三、建立服务替换正确性准则,定义服务相容性包括两大部分其一,是在所有计算路径上完成属性;其二,在部分计算路径上的“测试成功”;设一组WS-BPEL流程服务£T5(ie〖1..η〗〕组合,记为系统P = (C1 1 C2 I!…Il CJ ; 系统P满足完成相容属性,记为P Il,如果下列条件之一成立(1)如果P是自包含系统,对于任意F以致P^ P^P ^ 0 (2)如果ρ是开放系统,对于任意11)以致ρ:ρ 存在/以致ρ 二 ο ; 步骤四、降级服务替换正确性验证包括两部分其一,服务子契约以较少的可交换消息集保持了所有计算路径上的服务相容性;其二,服务契约的测试精化,在部分计算路径上保持了服务相容性;一个WS-BPEL流程服务契约C2是另一服务契约Ci的子契约,记为<2 C1 ’如果下列条件成立(1)如果C1是一个决策点即顶层操作是一个选择,那么。也是一个和C1具有相同类型的决策点;(2)对于每个接收消息操作^^吣以致q二^ ,存在&,〔》以致C2(3)对于每个发送消息操作Pir^以致广!^r‘,存在Sr 以致如果,WS-BPEL流程服务契约C2是^的子契约,那么,对于相同的运行环境ρ, Cz替换 Ci后不改变系统原有的完成属性,即如果C2 鳟 C1,那么,VPKC1 II f) H (C, I F) 41 ; 在使用子契约实施替换后,一个系统仍保持系统原有的相容性; 然而,由于使用子契约实施的替换是不等价替换,所以,系统的某些服务行为可能会受到影响,这个影响分为两方面第一,如果子契约提供了更多的消息接收能力,并且具有相同的发送消息非决定性选择,那么,这个替换不影响系统的运行,并且系统将具有更多的服务能力;第二,如果子契约提供了更多的消息接收能力,但是发送消息的非决定性选择减少,即发送更少的消息,那么,替换会对系统的全局行为产生两个方面的影响,即(1)较少的消息交换集合;(2)较少的可完成计算路径;最后,实现增强SOA系统可生存性的降级服务替换;这里,用保留的服务契约来描述降级服务替换后用户期望保留的系统功能,记为 prs'/(P);其中,P是WS-BPEL流程服务系统;依据正确服务替换的要求,实施服务替换后必须满足 prsv(P) 0 ;令P = (C1 1 C2 …Il Cn),其中,Cs是ws-BPEL流程服务契约,且P 4 O ,PI-SV(P) 0 ;对于任意i e [L.e], prsv(P[C/C])功0如果下列条件成立 (1) Clf^Cl ;⑵对于每个消息发送操作巩泔)以致χ ε F(C) Π FfprsviP)),在C/中也存在
全文摘要
本发明属于SOA技术领域,具体为增强SOA可生存性的降级服务替换验证方法。主要步骤1.采用进程代数形式化建模WS-BPEL描述文件所体现的组合服务交互协议,包括服务契约,成员服务可允许的消息交互;2.流程决策点,分析流程形式服务的消息操作(即发送、接受消息)选择。采用白盒策略描述WS-BPEL流程形式的替换服务和候选服务、以及服务组合和替换的上下文环境。3.将服务替换准则确定为服务相容性被定义为组合系统的可执行完成属性。在此基础上,4.验证实施替换后不影响系统相容性的降级服务替换,以及实施替换后的降级系统是否满足用户需求。本发明解决了现有技术无法验证降级服务替换正确性的问题。
文档编号H04L29/08GK102571789SQ20111045769
公开日2012年7月11日 申请日期2011年12月31日 优先权日2011年12月31日
发明者张亮, 杨勇 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1