网格体系结构是对网格基本组成部分和各部分功能的定义和描述,对网格各部分相互关系与集成方法的规定,以及对网格有效运行机制的定义。网格体系结构是网格最核心的技术,是网格的架构和灵魂,只有建立合理的网格体系结构,才能够设计和构建网格,才能够使网格的效能发挥得最好。目前最重要最有影响的网格体系结构有两个:一是5层沙漏体系结构;另一个是基于Web服务的开放网格服务体系结构(OGSA)。
欲具体了解网格技术介绍的请进入。
一、5层沙漏体系结构
5层沙漏体系结构是一种很有影响力的结构,这种结构是基于美国国家实验室的网格研发项目Globus提出来的,主要侧重于定性描述,而不是定义具体的协议。5层沙漏体系结构是以协议为中心的结构,强调被共享的物理资源以及这些资源所支持的服务,突出服务与应用编程接口(API)和软件开发工具(SDK)的重要性。
欲更多了解Globus技术的请进入。
1、结构构成
5层沙漏结构自下而上按构造层、连接层、资源层、汇聚层和应用层划分,如下图1-1所示。各层的释义详见下表1-1的介绍。
图 1-1:5层沙漏结构与TCP/IP网络体系结构
表 1-1:5层沙漏结构构成各层介绍
2、结构特点
网格的5层沙漏体系结构的建立需要具有支持资源共享、服务共享、代码共享的协议软件和应用编程接口,对实现这些协议的技术没有限制。从长期的角度讲,网格计算能否获得成功,取决于连接层和资源层的协议必须能否得到更广泛的支持,能否够屏蔽掉网格中各种资源的分布、异构特性。因特网协议使不同的计算机网络能够互联和交换信息,网格协议使不同的用户组织能够互操作和交换或共享资源。
5层体系结构的另一个特点是沙漏形状(见图1-1)。为什么采用沙漏形状?实际上可通过与微内核的操作系统进行类比来理解。微内核操作系统仅提供一些关键的核心功能,大量与应用或与特定设备有关的部分交付其他部分来实现。由此可知,一个小的核心操作系统非常有利于移植,也容易实现和获取支持。在网格环境中,由于各部分协议的数量不同且可变化,确保最核心部分的协议,使其既能支持上层各种协议向其映射,同时又可实现向下层的各种协议映射。换句话说,在支持网格计算的所有地点都应能得到核心协议的支持,为此应对核心协议数量加以控制,因而,网格核心协议也就成了5层体系结构的“瓶颈”。
二、开放网格服务体系结构(OGSA)
开放网格服务体系结构(OGSA,Open Grid Service System Architecture)是以服务为中心的“服务结构”。这里的服务是指具有特定功能的网络化实体,它具有更广的含义,可将各种计算资源、存储资源、网络、程序、数据库等等都列为服务。与5层沙漏体系结构不同,OGSA对服务实现共享。从“资源共享”发展到“服务共享”,可将资源、数据、信息等加以统一,有利于动态的共享机制的实现,并使分布式系统管理具有标准的接口和行为。
1、网格服务架构
在充分考虑网格的异构分布式特性的基础上,OGSA对Web服务进行了扩展,提出了动态服务(即网格服务,Grid Service)的概念,如下图2-1所示。通过定义标准的服务接口把服务内容、资源所在地、物理资源特性等信息屏蔽,不仅解决了异构网格环境的互操作问题,而且真正实现了服务的虚拟化。与Web服务一致,OGSA服务采用Web服务定义语言(WSDL,Web Services Definition Language)来描述。
图 2-1:OGSA网络服务示意图
OGSA对网格服务的标准定义是:提供一组定义好的接口,遵循明确约定的Web服务。接口功能包括:服务发现、动态服务创建、生命期管理、通知等功能;约定内容包括:命名和升级能力约定。
2、OGSA接口
OGSA接口和约定提供对临时服务实例(Transient Service Instances)的支持,也就是说,它具有动态服务创建、管理和撤消功能。这些功能可支持视频会议、数据库查询一类的应用。对升级能力的约定主要表现为在实际运行的网格环境中,服务可以独立升级。这要求服务之间具有版本和兼容性检查机制,还要求服务的升级不影响客户的使用。OGSA提供一套机制来识别服务改变,更新客户对服务的了解。OGSA定义的接口主要支持下表2-2所介绍的几类操作:服务发现、动态服务创建、生命周期管理、通知等。
表 2-2:OGSA定义的接口所支持的操作类型
OGSA只关心网格服务实例的语义,例如:如何创建,如何命名,如何决定生存期,如何通信等,不关心实现的编程模型、编程语言、实现工具或执行环境。宿主环境是服务实例实际应用中的执行环境。目前,科学的计算网格服务实例是以本地操作系统进程为宿主环境。Web服务提供的基于容器/组件(Container/Component)的宿主环境为将来的电子商务网格服务提供生存环境,后一种宿主环境提供更高级的编程能力、管理能力、灵活性和安全性。
欲进一步了解网格技术在有关领域应用的请进入。