技术领域
[0001] 本发明涉及虚拟化技术领域,具体涉及一种面向服务架构的资源保障模型。
相关背景技术
[0002] 面向服务架构(Service-oriented Architecture, SOA)表达一种软件架构的思想,其定义为使用服务来满足软件用户的需求。目前,对于SOA 学术界尚未有统一的定义和规范,根据其出发点和最终能力实现,认为:SOA 是一种范式,其目的是增强灵活性,它接受系统异质化的现实,从而可以实现和维护跨越了大型分布式系统的业务流程。据此,用户可以根据需求通过网络对松散耦合的粗粒度应用和服务组件进行分布式部署、组合和使用。这些应用及服务组件基于某种格式定义(或契约,例如WSDL)进行互操作,该定义独立于底层平台和编程语言,因此,SOA兼容的系统与开发平台无关(比如Java、.NET 等)。SOA 主要基于3 个技术概念:
(1)服务:一个服务就是一项自足的业务功能。SOA的目标是基于对业务规则和功能的抽象构筑大型分布式系统。
[0003] (2)高互操作性:SOA 接受异质系统,处理异质系统的首要目标是将这些系统进行互联,即高互操作性。目前SOA 中以企业服务总线(Enterprise Service Bus, ESB)作为基础设施来实现高互操作性。
[0004] (3)松耦合:松耦合表达了最小化依赖的概念,这有助于容错和灵活性。同时,松耦合还带来可伸缩性,可以尽可能地将各个服务或者应用分散开来,避免引入任何不必要的集中及可能引起的瓶颈。
[0005] 虚拟化技术由来已久,早在20 世纪60 年代,IBM公司就提出了虚拟计算机的概念,虚拟化技术主要有2 个方向:(1)将一个单独的物理资源,如服务器,虚拟成若干个独立的虚拟资源和虚拟机器,提高资源利用率,
(2)将若干个分散的物理资源虚拟为一个统一的虚拟资源,使得多个物理主机或资源看起来成为一台机器,达到最大化利用资源和简化管理的目标。目前主流的虚拟化技术主要有5 类:CPU 虚拟化,网络虚拟化,服务器虚拟化,存储虚拟化和应用虚拟化。虚拟机系统具有不同的虚拟级别,视角不同,虚拟的机器含义也不同。从进程和系统的角度来看,虚拟机系统可分为两 类:进程级虚拟机,如Java 虚拟机;系统级虚拟机,如Xen、VMware 等。
[0006] 系统虚拟机通过虚拟机监视器(Virtual Machine Monitor,VMM)实现对底层硬件的虚拟化,所虚拟的系统可向用户提供与真实计算机相同的体验和功能。使用虚拟化技术为上层服务应用提供资源保障,具有以下特点:(1)资源的统一管理与描述通过虚拟化技术,可以将底层资源虚拟整合到一个统一的资源池内。对上屏蔽底层硬件平台的异构性,对下实现资源的集中管控和能力描述。同时,基于虚拟机的方式,可向上层明确表达能够提供的资源能力和水平,对于SOA化后的上层服务和应用需求,可进行虚拟服务器定制。
[0007] (2)资源整合能力将原来独立的物理资源,例如服务器通过VMM 合并到同一个虚拟的逻辑服务器上。这样不仅增加功能部件的复用度,降低硬件的成本,提高系统的可负担性,而且可以提高底层物理资源的利用率,也有利于实现负载均衡。
[0008] (3)安全隔离机制虚拟化技术实现了操作系统与底层硬件以及各个Guest OS 之间的解耦与隔离。对于SOA 架构下的用户服务和应用,每一项子服务可以运行在各自单独的Guest OS上,从而实现应用服务的独立。这样就使得一种应用服务或者子服务在遭受攻击或者发生故障时不会波及到其他应用服务,从而提高可靠性和可用性。
[0009] (4)资源的动态调整基于虚拟化技术的资源保障机制,最重要的特点是能够实现底层资源的动态配置和调整,这也是虚拟化技术与SOA 服务架构资源需求最紧密的契合点。主要体现在2 种机制与模式上:1)根据SOA 用户层服务和应用的资源需求来动态定制和生成符合要求的虚拟服务器、操作系统和相关应用平台;2)根据服务和应用的实时请求率和负载强度动态调整后端资源服务器的提供能力,例如升级或者降级服务器能力水平,增加或者减少后端虚拟服务器的节点数量等。
[0010] (5)动态迁移技术虚拟化动态迁移技术又称热迁移(hot migration)技术,是指在不影响用户接受服务的情况下,实现应用服务或整个Guest OS 从一台物理机器转移到另外一台物理机器上运行。对于SOA 架构下的服务应用而言,这项技术可使服务部署更高效,更具动态性。例如某些短期或者潜在用户的网络位置距离服务提供者较远,无法满足其QoS 要求,此时可以利用动态迁移技术进行服务迁移,将服务推送至可以满足其要求的网络位置。
[0011] SOA 服务模块化和松耦合的特性与架构使其能够快速、有效地适应业务需求的变化。但是也正是这种灵活的松耦合结构,使得传统的集中式资源调度和分配方式无法满足上层服务和应用的需求。
具体实施方式
[0020] 下面根据说明书附图,结合具体实施例,对本发明进一步说明:一种面向服务架构的资源保障模型,基于虚拟化技术,对面向服务架构SOA的资源的保障能力和保障机制进行研究,构建SOA的资源保障模型,该模型包括服务应用层、资源匹配层、逻辑虚拟层和物理资源层,其中:
(1)服务应用层:是直接面向用户的应用和接口层,用户通过访问相关接口获取相应服务,并不关心具体程序和服务流程如何实现以及底层资源如何保障。服务应用有可能是一个单一的服务,也有可能由一系列子服务构成,可以抽象为连续的服务工作流;对于服务工作流的情形,可以对其进行逐级分解,直至不可再分,即达到“原子”服务的级别,然后对“原子”服务的资源需求进行研究,即可得到用户所请求服务的资源需求;但是在实际应用中,由于进行SOA 集成后的系统平台、编程语言和接口复杂而多样,要想真正达到原子服务级别的资源需求分析还是比较困难的,而且由此带来的开销可能会很大,因此比较符合实际的做法是从上层应用向下分解,达到一定的服务粒度规模即可。
[0021] (2)资源匹配层:是整个资源保障模型中的核心,主要完成3 大主要任务:1)自上而下分解用户请求,建立每一个“原子”服务的资源需求参数或者资源需求向量;
2)向上聚合、映射底层资源能力,形成资源能力向量;
由于底层物理资源的分布性和异构性,使得对于资源能力的统一表述和管理难以实现,采用虚拟化等技术,可以将这些底层资源抽象为一个统一的资源池,实现各类资源的统一聚合,形成可量化的向上层提供的能力向量;
3)考虑服务质量及资源最优化使用的原则,对服务及资源进行相应的匹配调度;
(3)逻辑虚拟层:是承上启下的虚拟架构层,它将底层的物理资源进行聚合,依照不同的资源属性将资源进行分类;
它是连接底层物理资源和上层资源需求的纽带,同时,通过逻辑虚拟层,屏蔽了底层物理资源的异构性,降低了所提供资源能力分析的复杂性;
(4)物理资源层:是所有上层服务应用最终运行和实现的基础和落脚点,其范围十分丰富广泛,可以是计算资源、存储系统、目录、网络资源、传感器等。一个资源也可能是一个逻辑实体,例如分布式文件系统、计算机集群和分布式计算池等;依据不同的资源属性,可以向上抽象聚合为虚拟的、逻辑的资源能力。
[0022] 所述资源需求向量,对于每一个用户请求SR,可用一个三元组进行表示,即SR={S,F,Q},其中,S 表示完成一个SR 所需的全部子服务;F 表示整个服务工作流描述;Q 代表用户的QoS需求,可以表述为“请求最大等待时间”,“请求最长执行时间”等。其S={s1,s2,…,sr},对于每一个原子服务si,可以分析或者实测得到其资源需求向量,即Wsi={w1,w2,…,wt},然后再对同类资源进行叠加即可得到每一种用户请求的资源需求。
[0023] 所述物理资源层范围包括:计算资源、存储系统、目录、网络资源、传感器等。