摘 要:针对基于Internet的学习平台在有效利用教学资源方面存在的问题,采用网格服务架构" title="开放网格服务架构">开放网格服务架构OGSA,建立基于虚拟组织的协作平台。在虚拟组织中,应用或用户能够创建临时服务,资源以网格服务的形式提供给用户或应用。基于OGSA的虚拟组织的建立,为资源共享协作提供了切实可行的解决思路和实施方案。
关键词:网格资源; 开放网格服务架构; 网格服务; 虚拟组织
目前高校使用的网络课堂、论坛以及学习网站等网络学习平台都是基于传统的Internet,它们只能实现部分和单向的资源共享,在利用当前的技术条件进行合作学习和资源共享等方面存在不足。表现为资源的获取和应用及更新速度较慢、动态适应性较差;并且多数为简单的信息存储,不利于教师、学生和学校的管理人员之间的有效沟通以及知识的共享和互动,远没有达到知识的水平;没有体现信息化技术在教学、科研及管理中的优势作用。
随着高校信息化建设的不断深入和发展,这些组织形式已经不能满足新的信息技术支持下教学、科研、管理等方面的需求。高校可以通过不断优化传统课堂教学,同时大力建设信息技术支持的虚拟学习环境来解决大批量的人才培养和学生个性化培养的矛盾。为此,本文提出采用网格服务的模式构建一个规模较大、扩展性强、兼容不同技术标准的资源协作平台,充分发挥虚拟组织在教学组织上的优势。
1 网格及虚拟组织概述
网格是一个集成的计算和资源环境,它把分散在不同地理位置的资源虚拟成为一个强大的信息系统,实现计算、存储、数据、信息、软件、知识和专家等资源的全面共享[1-2]。Ian Foster把“网格问题”定义为“动态的个人、机构和资源的集合体中灵活、安全、协同的资源共享”,并把这样的集合体称为虚拟组织[3]。网格具有跨平台、数据完全共享、计算能力强、集成有效性高等特点。网格具有高效的数据处理能力和充分利用闲置资源等特性,可以有效地支持虚拟组织间的资源共享,能很好地满足虚拟组织管理的需要。网格技术的目的就是要支持动态虚拟组织对各种各样资源的共享和协同使用。网格实现的是最充分的信息共享,能在形成的虚拟组织中将各个成员的资源、信息、数据等统一起来,实现灵活、一致、动态的共享协同机制。
虚拟组织的概念是网格计算的关键。虚拟组织是区别于传统组织的一种以信息技术为支撑的协作组织,它是运用以计算机技术为核心的多种技术手段把实体、资源动态地联系在一起的一种组织机制。虚拟组织是为了达到某些特定的目标,经由分工与协作和不同能力与资源的整合,以及各方不同层次的权利与责任而构成的组织的集合[4]。它通过信息网络将若干规模各异、各有专长的组织链接起来形成开放的组织形式。网格虚拟组织就是从网格服务的角度出发,利用网格平台为虚拟组织内各个服务需求相近的个体提供资源共享的信息服务接口,使这些个体可以不受时间和空间限制进行共享和协作。
2 虚拟组织模型的体系结构
采用虚拟组织管理网格资源,用户通过虚拟组织查询所需服务。模型采用分层结构,由网格资源层、虚拟组织层、用户应用层组成。虚拟组织的结构如图1所示。
网格资源层包括若干网格节点,本地应用程序作为网格服务部署在网格节点上;虚拟组织层是模型的核心部分,它由注册服务、功能描述表、任务队列、网格服务池、虚拟组织协调服务等模块组成。
注册服务记录网格服务功能及其所属网格节点的信息。功能描述表记录虚拟组织内网格服务的功能信息,注册服务模块中具备同种功能的多个服务对应功能描述表的一个表项,功能描述表与注册服务模块建立一对多的关系。用户通过功能描述表查找所需的服务功能。任务队列为虚拟组织收到的服务请求。虚拟组织协调服务提供保证虚拟组织之间正常协作与共享的服务,为当前虚拟组织收到的服务请求分配可用服务,维护虚拟组织正常运行,包括虚拟组织建立、虚拟组织成员状态的更新、安全权限控制,协助进行资源的共享和协作等,并负责虚拟组织内部消息传递、通信。网格服务池记录当前处于可用状态的网格服务。
虚拟组织层为每个网格节点安装服务的发现和使用接口以及向外发布的服务接口。用户访问数据时,先通过发现接口访问虚拟组织内满足条件的访问接口,并根据需求向相关节点请求数据。系统接口、应用通信、数据转换和目录信息都是建立在开放的、被广为接受的标准之上, 使任何具备权限的用户都能迅速地访问到他们所需要的资源。
用户是经过身份认证的合法用户。虚拟组织发给该用户一个X.509认证,用于标识该证书持有者的身份。所有用户只有通过身份认证才能使用网格资源。用户可以使用本地资源,也可以在其他地点登陆网格系统,使用其他虚拟组织的资源。
3 网格环境下虚拟组织的建立
3.1 支持虚拟组织建立的网格服务机制
在虚拟组织中,应用和用户能够创建临时服务,并且可以发现这些服务并得到其特性。用户提出的服务要求一般都比较抽象和复杂,但是这些要求可以转化为多个相对基本的要求或者服务,这样层层分解,直到找到基本的可以满足的服务为止。开放网格体系结构OGSA(Open Grid Services Architecture)[5]中的重要网格服务接口服务生命周期管理(GridService)、消息发布服务(NotificationSource)、消息接受服务(NotificationSink)、注册服务(Registry)、创建临时服务(Factory)、主键服务(PrimaryKey)、句柄映射(HandleMap)等支持临时服务实例的创建,可以发现、描述和创建与虚拟组织有关的服务实例。其中GridService服务接口是必需的,每个服务接口提供了相应的操作[6]。
网格服务通过提供一组相对统一的核心服务接口,使所有的网格服务都基于这些接口实现,这样就可以较容易地基于简单、基本、具体的服务构造出具有层次结构的、高级别和抽象的服务。这些服务可以跨越不同的抽象层次,以统一的方式看待,有利于通过统一的标准接口管理和使用网格。图2表示用这些接口构造的虚拟组织服务结构。
网格环境中的每个网格服务都被赋予一个全局唯一的名称,称为网格服务句柄GSH(Grid Service Handle),由GSH区分网格服务实例。支持服务发现的网格服务称为注册(Registry),此服务提供GSH的注册操作。通过GridService接口的FindServiceData操作,可以检索已经注册的GSH的消息。
在虚拟运行环境中,采用多级Registry和Factory的办法来管理服务,即使用一个或者多个高级Factory来处理创建低级Factory请求。用户接口被构造成一个高级Registry、一个或者多个高级的Factory和HandleMap服务。Registry记录了高级Factory和它们所创建的服务实例,以及特殊的虚拟组织服务策略,这些策略规定了如何使用虚拟组织中的服务。客户端使用虚拟组织的Registry功能来发现Factory和其他与虚拟组织相关的服务实例,然后使用Registry返回的句柄直接与服务实例交互。高级的Factory和Registry均以标准接口实现。
3.2 虚拟组织的建立和运作
用户通过Registry发布任务请求的信息,通过向虚拟组织协调服务提出申请加入某个虚拟组织,虚拟组织协调服务提供用户该虚拟组织的信息,创建该用户所用的Factory并注册到相应的Registry中。然后用户利用获得的以WSDL描述的服务信息与虚拟组织协调服务进行交互。用户加入到虚拟组织以后,可以通过和虚拟组织协调服务以及虚拟组织中其他用户之间的交互,来更新虚拟组织的信息。虚拟组织内以基于XML的SOAP协议作为标准通信协议,完成各个成员的应用程序的无缝集成,同时使用SOAP的安全扩展来保障虚拟组织交互操作过程中的安全问题。
4 面向虚拟组织的资源共享协作应用
数字化教学资源包括各类校内外精品课程、各类自主学习型网络课程、各类校内外精品课程网站、多媒体课件、校内外自助学习平台、视频点播系统等项目;数字图书馆、各类教学资源网的链接等方面的内容。
教学资源作为网格节点分布于各服务器,可以根据需要加入网格虚拟组织。在网格虚拟组织中,每个参与其中的成员可以提供一种或多种服务。以网格虚拟组织作为共享服务和协作的逻辑单位,每个网格虚拟组织中的成员不仅能充分利用组织内丰富的资源和网格平台强大的计算、存储、通信能力,而且还能有效提供自己的资源进行共享协作,提升了学习支持服务的力度。每个成员可以通过网格平台共享虚拟组织内部信息和其他虚拟组织的公共共享信息服务。
用户请求提供资源服务的过程如下:
(1)身份认证。用户和虚拟组织创建连接,将其证书X.509发给虚拟组织,虚拟组织给用户发送VODL明文文件,用户将VODL的明文用CertA加密后发给虚拟组织,虚拟组织将密文解密和原文一致则信任用户,完成身份认证[7]。
(2)注册服务。将网格节点数据共享与交换应用封装成GridServices组件的形式,发布到UDDI(统一描述、发现和集成)注册中心,以供注册认证的用户调用。
(3)查找符合要求的服务。合法用户提出资源服务请求,在虚拟组织维护的功能描述表中查找所需的服务。
(4)得到服务句柄。注册服务根据用户提出的要求筛选返回满足要求的服务。
(5)创建服务实例请求和满足要求的实例。用户根据返回的服务句柄,向虚拟组织提出请求,创建特定的服务实例,指定相关的参数,例如服务生命周期,进行何种类型的操作等。虚拟组织协调服务模块根据收到的服务请求和特定策略分配可用服务,创建满足要求的服务实例。
(6)新创建的服务实例以“用户”的身份查询任务,这种基于用户身份的代理策略是由OGSA的安全机制支持的。
(7)得到结果。用户找到可提供服务的资源。
文中基于开放网格体系结构OGSA和虚拟组织建立起高效的资源共享平台,将网格环境中所有的组件以网格服务的方式虚拟化;通过提供相对统一的核心接口,所有的网格服务都基于这些接口实现,并构造出具有层次结构的、高级别的服务;以虚拟组织的形式管理网格资源,屏蔽了资源异构及其复杂性;实现灵活的、动态的网格资源协同使用。
参考文献
[1] 张润彤,樊宁. 网格就是商务[M]. 北京:北京交通大学出版社,2006.
[2] 罗作民,张景,李军怀等. 网格计算及其关键技术综述[J]. 计算机工程与应用,2003,39(30):18-22.
[3] FOSTER I, KESSELMAN C, TUECKE S. The anatomy of the grid: enabling scalable virtual organizations[J]. Int’l Journal of Supercomputer Applications,2001,15(3):200-222.
[4] 邢永杰. 虚拟组织[D]. 上海:复旦大学出版社,2008.
[5] OGSA工作小组. OGSA结构描述[EB/OL],http://www.gridforum.org/ogsi-wg/drafts/ogsa_draft2.9_2002-06-22.pdf, 2003-01-10, http://www.Globus.org/ogsa/
[6] FOSTER I, KESSELMAN C, NICK J M, et al. Grid services for distributed system integration[J]. Computer,2002,35(6):37-46.
[7] 赵雪松,孙远运,马钧培. 基于虚拟组织的访问控制模型[J]. 计算机工程,2008,34(24):19-21.