基于SOA的服务恢复方法与流程

文档序号:11234854阅读:354来源:国知局
基于SOA的服务恢复方法与流程

本发明涉及信息系统的服务恢复技术领域,特别地,涉及一种提高信息系统应急响应与灾难恢复能力的可靠、高效的服务恢复方法。



背景技术:

信息系统正成为国家建设的关键基础设施,信息安全已从单纯的技术性问题演变成为事关国家经济与安全的全球性问题。“9.11”事件充分验证了应急响应与灾难恢复技术在信息安全体系中不可替代的作用。面对入侵和攻击事件如此频繁的网络环境,许多关键行业和领域(例如银行、保险、军队等)先后建立了灾难恢复机制。分布式信息系统的强生存性需求要求应急响应与灾难恢复机制具有以下特点:

1.实时性。由于分布式信息系统服务的运行往往具有强实时性要求,尤其是军事、金融等关键领域的紧迫应用需求。因此,应急响应与灾难恢复机制必须具有高实时性特点。

2.可靠性。稳定性与可靠性是整个信息系统正常运行的关键。应急响应与灾难恢复过程中,即使很小的失误都可能导致服务失效、系统宕机等严重后果。

3.精确性。信息系统应用的运行状态随时间不断变化。对失效应用的灾难恢复,不仅要满足可用性需求,更要满足正确性需求。因此,信息系统应急响应与灾难恢复机制必须具有精确的故障恢复能力,以满足关键行业和领域的应用需求。

为了解决信息系统应急响应与灾难恢复问题,全世界的科研、工程人员经过多年的研究和探索,推出了多种灾难备份产品。其核心技术主要可归结为两类:1)数据恢复方法;2)服务切换方法。

1.数据恢复方法

该方法的主要思想是将应用与数据统一看待,单纯地将应用按照数据的方式进行备份,采用数据恢复的方法实现应用及系统恢复的目标。例如,ghost系统恢复方法,数据库热备、冷备方法等。

数据恢复方法虽然能够达到应急响应与灾难恢复的可靠性要求,但是,应用于开放的分布式信息系统的针对服务的应急响应与灾难恢复中,不能很好的满足实时性、精确性的需求:1)忽视应用的时间无关性,单纯地把应用按照数据的方式进行备份,导致依据时间的多备份副本冗余,造成了严重的资源浪费。2)不能充分利用分布式应用所具有的公共性、可访问性和互操作性等特点,忽略了分布式系统服务提供的动态性和随机性,尚未把整个网络服务资源统一地利用起来。3)解决应急响应问题效率不高、动态性不足。一些应用对信息系统服务的实时性要求较高,但是,在网络环境下,数据恢复速度受到存储位置分散、网络传输延迟等问题的制约。传统数据恢复的技术特点决定了它无法满足信息系统应急响应高效性、强实时性的要求。

2.服务切换方法

该方法使用互为备份的两台(或多台)服务器共同执行同一任务,其中一台主机为工作机,另一台(或多台)主机为备份机。在系统正常情况下,工作机为应用系统提供服务,备份机监视工作机的运行情况,工作机同时检测备份机是否正常。当工作机出现异常,不能支持应用系统运营时,备份机主动接管工作机的工作,继续支持关键应用服务,保证系统不间断的运行。例如,集群技术,双机热备技术等。

服务切换方法能够在一定程度上实现应急响应与灾难恢复的实时性、可靠性和精确性要求,但仍存在致命缺陷,主要表现在:1)兼容性低。由于历史的原因,许多备份恢复系统都是基于各自的应用系统设计的,这种分离性设计方案在解决单系统的灾难恢复问题过程中发挥了很大的作用。但是,随着互联网应用的增加,信息系统服务也朝着彼此兼容的趋势发展,因此,在开放网络环境下,原有的备份恢复系统应用于当前信息系统的服务恢复应用中,存在着兼容性低的问题。2)技术手段单一。传统的灾难恢复系统单纯采用服务切换方法,手段单一,一般只是针对单一系统、特定灾难进行恢复,难以应对分布式环境下信息系统服务的多样性特征,无法适用于开放网络环境下信息系统混合型服务的整体范围。

web服务技术将互联网转化为应用协作与集成的平台。随着面向服务的架构(serviceorientedarchitecture,soa)和面向服务的计算(serviceorientedcomputing,soc)概念和标准化技术体系的推出,栅格化和服务化已成为信息系统的主要发展趋势。soa架构,采用服务总线的思路对应用服务进行平台化的封装,旨在构建一种分布式服务系统来将应用程序功能作为服务统一地对外提供。该架构屏蔽了应用平台的异构性,支持服务的远程引用,使服务发展成为开放网络环境下的各种资源封装与共享的核心概念。



技术实现要素:

本发明目的在于提供基于soa的服务恢复方法,以解决背景技术中提到的技术问题,针对分布式信息系统的应急响应与灾难恢复需求,建立面向应急响应的服务恢复机制,以保证系统的强生存性,使其在遭受一定程度损毁的情况下,仍能维持系统的正常运转。

为实现上述目的,本发明提供了一种基于soa的服务恢复方法,包括步骤:

a、对服务提供节点和服务管理节点进行支持服务恢复的soa封装,以及组建基于soa的分布式可控层叠网络;分布式可控层叠网络为服务管理节点、服务提供节点和服务使用者,管理节点分别与服务提供节点、服务使用节点相连接;

服务提供节点的soa封装为:在服务提供节点增加信任管理模块、数据恢复模块、服务恢复模块和调度协作模块;其中信任管理模块实现服务节点间的信任识别,防止非法节点加入服务网络;数据恢复模块对服务相关数据进行恢复;服务恢复模块对服务代码和执行实体进行重建;调度协作模块则实现内外网络通信,协调各个节点协同工作;

服务管理节点的soa封装为:在服务管理节点增加服务注册接口、服务发布接口、服务定位接口和服务代理接口;服务注册接口允许其他服务节点注册并加入服务网络;服务发布接口允许各个服务对外发布功能调用,其他使用服务的节点和用户进行查询或定位;服务定位接口则提供获取服务的具体地址和端口;服务代理接口是服务节点使用其他服务的调用接口;

b、当服务使用节点所请求的信息系统服务崩溃或者损坏时,服务管理节点根据被请求服务的损毁情况,应用服务恢复策略,指导服务提供节点采取相应的恢复措施:

1)、部分功能单元受损,但服务仍可使用:服务降级运行,通过服务管理接口禁止一些非关键的服务功能调用,将可用的服务单元进行重新组合,用来保障核心服务的运行;

2)、服务失效,服务的备份节点可用:选择一个备份节点接替当前服务提供节点进行工作,将服务使用节点的服务请求重定向到新的服务提供节点上,实现服务的动态漂移;

3)、服务失效,服务备份节点不可用:选择一个新的服务承载节点,在新节点上重构服务。

优选的,步骤b还包括:服务管理节点将服务使用节点的服务请求绑定到新的服务提供节点上,并对请求完成情况进行跟踪;若响应成功,新的服务提供节点将服务结果返回给服务使用节点;否则,新的服务节点提交没有成功的服务请求状态到服务管理节点。

优选的,对服务使用节点的请求进行服务恢复之后,根据服务恢复的结果和用户反馈的信息,进行服务描述的更新及恢复评价标准的完善。

优选的,在步骤b服务失效,服务备份节点不可用的情况下,重构服务时需要相关的数据支持,则首先对所需数据进行恢复和重建。

本发明具有以下有益效果:

本发明针对传统应急响应与灾难恢复技术的诸多不足,基于soa架构,借鉴web服务组合思想,提出了面向应急响应的服务恢复的概念,以增强系统在复杂网络环境下的生存性与可靠性。所谓面向应急响应的服务恢复,是指采用分布式冗余与异构多样性的方法统筹安排网络服务资源,根据毁损服务的特点,结合服务协同的思想,通过服务恢复决策制定恢复方案,采用动态漂移、重构或降级等技术,实现对用户请求的应急响应和对毁损服务的透明恢复,可靠高效的保证信息系统的应急响应与灾难恢复能力。

对构建信息系统的应用服务进行支持服务恢复的soa封装,组建基于soa的分布式可控层叠网络,实现支持服务恢复的环境体系。在应用服务失效的情况下,通过有序组织现有服务资源,合理选择优化的恢复策略,有效利用动态漂移、重构和降级等服务恢复技术,通过多节点间有效的协同机制实现系统的快速反应和高效恢复,从而有效保证信息系统稳定可靠运行。

除了上面所描述的目的、特征和优点之外,本发明还有其它的目的、特征和优点。下面将参照图,对本发明作进一步详细的说明。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是本发明优选实施例的总流程图;

图2是本发明优选实施例针对应用服务的支持服务恢复的soa封装示意图;

图3是本发明优选实施例的基于soa的服务恢复体系结构示意图;

图4是本发明优选实施例的服务管理节点结构示意图;

图5是本发明优选实施例的服务恢复过程示意图;

图6是本发明优选实施例的分布式异构的多服务恢复示意图;

图7是本发明优选实施例的服务恢复决策流程图。

具体实施方式

以下结合附图对本发明的实施例进行详细说明,但是本发明可以根据权利要求限定和覆盖的多种不同方式实施。

参见图1,在应用服务失效的情况下,通过有序组织现有服务资源,合理选择优化的恢复策略,有效利用动态漂移、重构和降级等服务恢复技术,通过多节点间有效的协同机制实现系统的快速反应和高效恢复,从而有效保证信息系统稳定可靠运行。本发明提供的具体技术方案如下:

第一步,对现有应用服务进行支持服务恢复的soa封装。传统应用服务对平台依赖性强,难以灵活部署。面向应急响应的服务恢复机制有利于系统服务资源的集成和使用,充分发挥了服务的可重用性。在某一服务单元出现问题时,该机制寻找其他同类单元或多个单元的组合接替其工作,确保服务的生存性。然而,传统应用服务大都没有采用soa机制,无法发挥服务恢复机制在分布式条件下的优势和特点。为此,本发明提供了一种现有应用服务的soa封装技术,集成相对于应用服务独立的soa服务恢复机制,提升应用服务临灾情况下的应急响应与服务恢复能力。主要包括以下两方面任务:

1.对应用服务进行封装。基于soa的服务封装,是在保持原有应用服务功能的基础上,将应用服务的功能调用接口按照soa技术体系进行封装,并为其增加相对独立的服务恢复机制。服务恢复机制包括信任管理、数据恢复、服务恢复和调度协作等核心模块。其中,调度协作机制一方面实现服务服务节点间的信任管理,另一方面使得多个服务节点能够共同提供不间断的服务;服务恢复的具体手段包括服务漂移、服务降级和服务重构等;数据恢复为服务恢复提供数据支持;恢复决策综合考虑服务的临灾情况、服务组成以及服务质量等因素,提供具体合理的服务恢复策略。同时,服务节点分别为服务使用者和服务管理者提供调用接口和管理接口。

2.对管理节点进行封装。对应用服务进行支持服务恢复的soa封装后,还需为服务管理节点配置一定的管理能力,使得管理节点对外提供统一的服务注册、服务发布、服务定位和服务代理等接口。服务请求者可通过服务请求接口,使用管理节点所管理的多项服务。当某一服务出现故障时,服务管理节点通过管理接口对各个服务提供节点进行调度协调,并将用户的服务请求绑定到正常的服务提供节点上。

总体上,支持服务恢复的soa封装如图1所示,它是基于soa的服务恢复体系结构的一种具体实现。因为这种服务封装技术对应用服务实体没有太大影响,又提高了服务实体的安全恢复能力,所以其对于传统应用服务的升级和改造具有重要的现实意义。

第二步,组建基于soa的分布式可控层叠网络。基于soa的分布式可控层叠网络从服务的角度出发,将构建系统的角色分为服务提供者、服务管理者和服务使用者。如图2所示。

服务提供者:系统中的服务节点,即经过基于soa的服务封装后的完成一定功能的应用程序。系统中的所有服务节点及其备份采用松散的耦合方式、灵活部署,以共享服务池的形式分布存在。服务节点通过服务封装提供的有效的服务协作机制,将单一或组合服务的层叠式逻辑视图呈现给服务管理者和使用者。

服务管理者:主要提供两类服务,一是对服务节点的管理,包括服务注册信息管理、服务状态监测以及对失效服务实施合理服务恢复;二是作为服务使用者的请求代理,负责用户请求识别、系统资源探索和用户请求响应。信息系统中,管理节点采用分布冗余的部署方式,有效避免了单一管理节点的管理瓶颈问题,合理增强了体系结构的鲁棒性。

服务使用者:客户端,请求使用信息系统的特定功能。

基于soa构建的服务恢复层叠网络架构有利于系统服务资源的集成和使用,充分发挥了服务的可重用性。在某一服务单元出现问题时,该机制寻找其他同类单元接替其工作,确保服务的生存性。

第三步,当用户所请求的信息系统服务崩溃或者损坏时,针对信息系统服务的连续性和实时性特点,对用户请求进行应急响应,对失效服务进行透明恢复。参见图5,主要包括以下五个步骤,共同构成了完备的、闭环的动态服务恢复体系。

1.需求识别(refine)

制定合理的服务描述方式,作为恢复决策必不可少的前提;确定待恢复服务进行服务恢复时所采取的关键功能路径,作为服务恢复的功能目标;根据用户的非功能需求,制定公平、合理的服务恢复评价标准;分析关键功能路径中组件服务间的组合逻辑关系,拟订恢复后服务的服务质量(qos)计算方法。

2.资源探索(research)

根据服务恢复策略,结合系统资源配置方案,探索失效服务的服务恢复候选方案。

服务恢复策略的制定包括以下步骤:

1)制定合理的服务描述方式,作为服务注册必不可少的前提。整合服务组合(servicecomposition)与服务质量(qualityofservice,qos)的概念,将服务形式化描述为

二元组

其中,f是服务的功能描述,功能描述是对服务所实现功能及其划分的详细描述,对所请求服务功能的形式化描述,是服务组合的逆分析过程。对给定服务进行划分,不断细化功能粒度,直至完全由原子服务构成,得到服务的“功能层次树”(functionhierarchytree,fh-tree),作为对该服务的形式化描述;qos(qualityofservice)作为一个衡量服务质量的概念,包含了执行费用、执行时延、可靠性、信誉度、可移植性和互操作性等非功能属性,为n个qos属性构成非功能属性向量,是代表服务质量的非功能描述,向量中每个分量采用各自的度量单位。

2)根据选定的需求识别时获得功能性目标,即待恢复服务的关键功能路径。从待恢复服务的fh-tree中选定的“关键功能路径”(crucialfunctionpath,cfp),作为服务恢复的功能性目标。服务的关键功能路径在fh-tree中表示为对某一粒度等级子视图叶结点由左至右的遍历,关键功能路径上的节点依次满足服务的相容关系。关键功能路径体现了组建服务间的组合逻辑关系。

3)逻辑层的网络自组织。结合系统资源配置方案,为cfp中功能节点映射恢复候选资源集;结合服务的邻接关系,生成相应的恢复候选资源互连图(recoveryresourcesconnectiongraph,rrcg)。

4)探索rrcg,记录所有从r→…→r的可行路径,生成满足功能需求的候选恢复方案列表(recoverycandidateslist,rcl)。根据a)中拟订恢复后服务的服务质量(qos)计算方法,计算列表中各候选恢复方案的qos属性值,充实相应列表项。

3.方案评价(review)

根据步骤1中制定的服务恢复评价标准,对候选恢复方案进行评价,确定极大满足用户需求的服务恢复方案。

4.服务恢复(recovery)

以步骤3中获得的极大满足用户需求的决策结果为指导,实施对用户请求的应急响应和对毁损服务的透明恢复。

支持服务恢复的关键技术主要包括服务漂移、动态重构和服务降级。综合利用服务迁移技术、服务多样化机制及其配置和管理等技术,提高服务漂移的效率;利用动态重构技术,根据服务的内部组成及其关联关系,通过重新组合和分配幸存下来的关键服务单元及其资源,实现多节点协同条件下的服务重建。

服务动态漂移技术,将用户的服务请求从失效节点转移到正常的备份节点上,解决服务的临灾连续性问题。备份节点能够提供与原节点功能相同的服务。服务漂移的目的在于,在服务节点完全失效的情况下,将用户的服务请求重定向到备份的服务节点上。

服务重构技术,在服务完全失效的情况下,根据服务的内部组成及关联关系,通过重新组合和装配幸存下来的关键服务单元及网络资源,实现多节点协同条件下服务的高效组合和快速重建。服务重构过程中应用了服务组合技术。

服务降级技术,根据服务的关键程度,对临灾服务进行重新配置,使得服务在部分功能失效的情况下仍然能够确保核心关键功能的正常、持续运行。服务降级技术防止了“部分服务单元的失效导致整个服务实体失效”情况的发生。服务降级实质上是对原有服务的关键部分进行重构。

5.参数更新(refresh)

根据服务恢复的结果和用户反馈的信息,进行服务描述的更新及恢复评价标准的完善。

本发明针对分布式可控信息系统的服务可用性及业务连续性问题,提出了基于soa的服务恢复体系结构,并在此基础上设计并实现了对应用服务的支持服务恢复的soa封装,以及基于soa的服务恢复方法。采用本发明可以达到以下的技术效果:

1.吸取了分布式计算、网格计算和服务组合等技术的优点,更充分的发挥了web服务高度的互操作性、跨平台性和松耦合性等特点。

2.在服务提供与服务恢复过程中,统一高效的利用了信息系统现有的应用服务资源。

3.当某一应用服务失效的情况下,该方法为多目标服务恢复提供了高效、合理的服务恢复支持。针对用户对服务恢复的功能、质量需求,给出了广义满意的解决方案,能够有效保证分布式信息系统临灾情况下的服务可用性,提高系统的抗毁容灾能力。

4.服务恢复过程对用户透明,能够实现分布式条件,用户请求的无缝应急响应,能够有效保证分布式信息系统临灾情况下的业务连续性,提高系统的应急响应能力。

其中,图6展示了分布式异构的多服务恢复技术。采用强生存性所需的冗余及多样性方法,即通过分布式服务备份节点及系统异构性等技术实现对服务的备份、监测、漂移与重构处理。其中,关键业务和非关键业务的服务备份方法不同。如关键业务service1在节点a上有备份,可通过服务漂移实现服务恢复,而非关键业务service2没有备份,在受到损伤时只能通过降级处理;service3没有备份,或者目前没有可用的备份,在灾难发生时需要通过多节点协同组合来重构服务。

图7展示了支持服务失效后自动恢复的典型流程。当用户请求到达时,服务管理节点首先对所请求服务进行功能分析和有效性检测。若用户所请求的服务有效,直接将用户请求定向至服务界面;否则,结合服务的功能描述、服务注册中心提供的系统资源配置信息以及基于服务质量和用户需求制定的决策优度评价标准,生成候选恢复资源描述,这是制定服务恢复决策的前提和依据。根据服务恢复决策算法,获得恢复方案。最后,实现对用户请求的快速响应和对毁损服务的透明恢复,并将已恢复服务的信息提交服务注册中心。

具体步骤包括:

根据服务恢复流程图,获得图2所示体系结构基础上应用服务实体的一般恢复过程如下。

1)服务使用者(用户)向服务管理节点发送服务请求。

2)服务管理节点根据用户的服务请求,定位相应的服务,将用户服务请求绑定到服务提供节点上。通过服务监控机制,获取服务提供节点中服务的状态信息,若服务提供节点能够正常提供服务,则转5);否则,顺序执行。

3)管理节点根据被请求服务的损毁情况,应用服务恢复策略,指导服务提供节点采取相应的恢复措施。

a)部分功能单元受损,但服务仍可使用。服务降级运行,通过服务管理接口禁止一些非关键的服务功能调用,将幸存的服务单元进行重新组合,用来保障核心服务的运行。

b)服务失效,服务的备份节点可用。通过调度协作模块选择一个备份节点接替当前服务提供节点进行工作,将用户的服务请求重定向到新的服务提供节点上,实现服务的动态漂移。

c)服务失效,服务备份节点不可用(被占用、不存在或失效)。通过调度协作模块选择一个新的服务承载节点,根据服务描述和配置信息在新节点上重构服务。如果重构服务时需要相关的数据支持,则首先对所需数据进行恢复和重建。

4)服务管理节点将用户服务请求绑定到新的服务提供节点上,并对请求完成情况进行跟踪。若响应成功,新的服务提供节点将服务结果返回给用户;否则,提交没有成功的用户服务请求。

5)用户的一次服务请求完成。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1