APP下载

Web信息系统的服务替换技术研究

2016-01-04甄一章鹰潭市科技情报研究所江西鹰潭335000

山东工业技术 2016年1期

甄一章(鹰潭市科技情报研究所,江西 鹰潭 335000)



Web信息系统的服务替换技术研究

甄一章
(鹰潭市科技情报研究所,江西鹰潭335000)

摘 要:本文对web信息系统服务替换技术进行了归纳和总结,简单地概括和阐述了服务替换的整个流程;最后介绍了服务替换技术的研究现状,重点讨论了几种替换方法,指出了目前服务替换技术中需要解决的一些关键问题。

关键词:web信息系统;服务组合;服务替换

1 引言

随着Web服务技术的不断应用与发展,特别是面向服务的体系结构(Service Oriented Architecture, SOA)的日益成熟,越来越多的企业在Web服务整合传统应用的基础上推出各式各样的web服务。单个Web服务的功能有限,为适应用户不断变化发展的新需求,通过采用服务组合技术组合多个Web服务,实现服务增值和服务重用已经成为一个趋势。本文主要对服务替换技术目前取得的一些研究工作进行了详细的综述和分析,重点介绍了几种服务替换方法,最后指出了后续研究需要解决的一些关键性问题。

2 服务替换技术的基本概念

在开放、动态、多变的Internet环境下,服务替换是保证面向服务的软件系统持续可信的重要手段。对于服务替换的定义,目前尚未有统一的严格表述。Web服务替换问题是指,在一个服务组合的上下文环境中,以新的候选服务替换掉应用中某个组件服务,同时还能保证替换后的服务保留系统原有属性,可以实现特定的服务功能。当Web服务组合系统中的关键服务遇到来自网络的威胁或自身的软硬件故障,不能继续提供服务时,需选取新的服务来替换,替换是否成功取决于替换之后的组合是否仍是正确的。在综合以上观点后,本文认为服务替换是指在Web服务组合的系统中,当单个或多个服务由于网络环境、自身的软硬件故障、版本更新等因素失效或者QoS退化,导致用户需求无法满足且服务组合无法继续运行时,通过选择新的更优质的Web服务来替换,确保替换后的服务组合能够继续正常运行,提高动态环境下服务组合可靠性、可用性的一种手段。

3 服务替换技术的研究现状

3.1基于服务复制的替换方法

最早的服务替换方法是当服务失效时,通过复制服务的方法,选择备份服务进行替换。通常是采用主动复制和被动复制这两种复制算法。主动复制算法的思想是:所有冗余副本在服务执行过程中同时响应客户请求,当有副本失效时,系统将屏蔽该失效副本,其余副本并在失效副本缺席的情况下继续正常工作。优点是失效恢复时间短,不影响服务正常执行;缺点是耗费大量系统资源,并要求成员的状态是确定的,而且也可能导致重复嵌套呼叫问题。

被动复制算法思想是:冗余副本分为主从两种,在服务执行过程中,只有主副本接收和处理用户请求并实时更新从副本状态。当主副本出现失效时,系统将从副本中的一个升级为主副本,以继续提供服务。根据从副本状态落后于主副本的程度,又分为冷备份和暖备份等模式。优点是节约系统资源,并且不要求服务的状态是否确定;缺点是失效恢复时间长,而且还带来主副本与从副本的状态一致性问题,特别是当主副本突然失效,此时从副本的状态一致性很难维护,处理不当将可能产生严重后果。

这种早期的服务替换方法在初期服务资源比较匮乏的情况下还是能够有效的解决服务失效的问题,但随着越来越多的Web服务应用被开发,这种仅从服务提供者的角度出发,采用简单复制的方法,在牺牲大量硬件资源的同时,往往使得整个组合服务的性能质量停滞不前。因此,越来越多的研究者开始着眼于探索网络中日益增多的Web服务资源,加大网络资源地利用和Web服务地利用,通过搜索并调用较高更优质的的Web服务,及时、经济、合理地替换失效服务,实现恢复组合服务系统的运行和功能。

3.2基于QoS的服务替换方法

在服务组合运行过程中,若出现服务失效,导致流程无法执行,最简单的方法是寻找一个功能与失效服务一样的Web服务进行替换。当然这样的服务替换方法通常假设服务之间可以进行无缝的互操作。

随着技术的进步及服务提供商的加入,当相同或更优QoS指标且功能等价Web服务的不断出现,为维持或者提升现有组合服务的整体QoS指标提供了可能。服务替换的对象不再局限于失效的Web服务,对于Qos退化或版本升级的服务同样需要及时进行替换更新。同样,在选择替换服务时需要考虑对现有组合服务整体QoS的维持或提升最优的Web服务。

这种方法的基本思想是:当被替换进组合服务的新服务会影响该组合服务的整体QoS时,为确保仍然达到或超出原来要求的指标,可以用QoS聚合方法来计算组合服务中的QoS,根据计算得出的QoS值来选择最佳的替换服务。当新服务数量较多或Web服务组合的规模较大时,计算每个新服务代入服务组合后全局QoS引起的性能问题

3.3基于行为一致性的服务可替换性分析

随着服务组合方法的不断应用与推广,网络出现了大量的大粒度的服务。如果不考虑服务之间的交互特性,往往导致新的服务替换到原有的组合服务中后,会产生诸如消息传递不一致的情况。例如:电子商务中买家与卖家的Web服务:一个是卖家服务,有两个调用接口,一个收钱,一个发货,另外一个是买家服务,也是两个接口,一个付钱,一个收货。卖家的行为顺序是等待买家服务付钱以后,然后对其发货,买家服务的行为顺序是从卖家服务收到要购买的货物后,然后付钱。可以看到这两个服务的接口是相容的,行为却是不相容的,在实际应用过程中,这两个服务将无法合成。因此,若只以操作为粒度对服务进行替换,将破坏操作间业务的关联性,同时还需对服务的行为对象进行分析。

目前对服务的可替换性分析主要基于服务组合相容性的基础之上,首先借助某种形式化方法,主要有基于有限状态机的方法、基于进程代数(或PI-演算)的方法和基于Petri网的方法对Web服务流程进行建模,然后对组合中的行为特征进行推导,分析由于异步交互对Web服务组合行为产生的影响。同时提出一致性关系验证的条件,若新服务与将要被替换的参与组合的服务之间存在这种关系,那么替换后的服务组合仍然是正确的,并且替换是上下文无关的。随着参与组合服务数量的增加,Web服务组合验证需花费的代价也在快速增长。若频繁替换,不断重复的组合正确性验证必将会影响到系统运行的效率。为避免上述情况的发生,服务替换需是上下文无关的。上下文指的是组合系统中与要被替换的服务交互的所有部件服务。因此,基于上下文无关的行为可替换性分析是当前研究的热点方向。

在研究服务替换的行为特性上,还有一些工作从其它方面对服务之间交互问题进行了探索。针对目前的BPEL规范只提供有限的服务替换功能,当与伙伴服务的交互涉及到一系列有状态的会话操作时,服务替换就更加复杂。通过对面向方面的研究,提出面向BPEL语言的状态方面扩展。记录与伙伴服务交互过程中产生的会话信息。在伙伴服务失效时,通过替换服务,使得与当前的会话信息传播到功能等价的另一个伙伴服务上,从而确保流程的正常执行。

4 总结

服务运行过程中的可靠性和可用性,对于发挥企业信息系统的效能起着关键作用。如何有效地维护服务组合的运行并保证组合服务稳定性,是一个重要研究课题。服务替换是与Web服务组合密切相关的一个问题,“是一个硬币的两面”。已有研究表明,服务替换技术能够很好地保持和提升系统稳定性。当前对服务替换技术的研究都基于一定的假设前提,针对的对象也仅限与单个服务的替换问题,存在一定的局限性。多数的研究基于服务已经失效的前提下,缺乏高效准确的对失效前服务的检测机制。对于查找与失效服务匹配的替换服务时,查全率和差准率,以及自适应、用户无感知的替换都是目前企业web信息系统服务替换技术要求解决的难点问题。此外,动态环境中服务之间的交互问题,其行为特性分析也是保证信息系统可用性和健壮性的关键性问题。

参考文献:

[1]刘超(导师:杨金民).Web Services中基于服务替换的容错方法研究[J].湖南大学硕士论文,2009(05)

[2]印莹,张斌,张锡哲.基于具体事务的补偿支持服务替换QoS模型[J].东北大学学报(自然科学版),2010(01).

作者简介:甄一章(1979-),男,湖北黄冈人,本科,工程师,研究方向:信息技术。

DOI :10.16640/j.cnki.37-1222/t.2016.01.254