朱祥林
(岳阳石油化工总厂广播电视大学,湖南岳阳 414014)
资源是网格中的主要对象,网格的目的就是要管理好网格中的各种资源,为需要资源的用户提供透明一致的访问接口。资源管理包含资源收集、更新、发现、分配、定位、迁移、预约等操作,其中资源发现具有承前启后的重要作用。它的主要目的就是能及时发现网格中满足条件的资源,为以后使用提供依据。
资源发现是把资源请求者和资源提供者联系在一起的中介者的主要功能之一。目前主要的资源发现规范有 UDDI和 WS-Inspection两种,在 Web Service上使用较广,但它们在网格上的应用还有待于人们的进一步研究。然而,网格技术是以Web Service为基础的,是Web Service技术的进一步扩展。Web Service最有趣的特点之一就是能够用WSDL进行自我描述,告诉使用者如何操作和使用它。因此,在网格资源发现中我们也可使用这一技术。但是,WSDL太专业且重于方法调用、协议等细节,使用起来较复杂也不太方便。我们需要一个能很容易分类和索引的手段来代替它,这就是本文要阐述的重点——网格的服务信息技术。
这里我们引进服务信息元素(Service Data Element缩写为SDE)的概念。网格中每个服务实例都可能包含0个或多个SDE,每个SDE有唯一的名字以区别于其它的SDE。SDE中包含了若干元素(Element)用于存储资源信息。它以xsd文件形式表示,在GWSDL文件中设定并生成对应的Java类。在Java类中包含设置和获取SDE元素信息的函数。
下面为便于说明,以一个实例来进行阐述。即:在IP地址范围为10.226.136.51-10.226.136.60的网格环境中查找“可用内存空间”大于X的计算机资源。这里假设IP为10.226.136.50的机器为资源发现者,它要在10.226.136.51-10.226.136.60中查找满足条件的资源。通过建立接口文件、xsd文件、GWSDL文件、服务实现程序、WSDD文件,并对它们进行编译和部署来构建资源发现环境,当然,在此之前还要建立网格环境(安装 JAVA、ANT、GT3)。资源发现者建立客户端程序并编译之(主要功能是发出请求,进行判断)。为突出重点,便于阅读,下例每个文件或程序只写出重要部分,且大部分用文字进行描述。
此文件可生成相应的Memory.wsdl文件
利用SDE名“Sde-Name”创建SDE,并添加到服务信息组中,给SDE赋初值。
利用相关语句获得本机内存的可用空间大小,并将此值存入SDE的free元素中。
此程序是通过回调方法 postCreatec()创建SDE,并初始化里面的元素。利用资源发现者程序调用MemoryFree()获得当前本机可用空间大小,并存入到SDE的free元素中。
设置网格服务的名称
网格实例的描述
设置WSDL的路径(Memory.wsdl)
设置网格服务实例的基类
设置相关参数
完成上述步骤后,编译相关文件并部署到地址为10.226.136.50-10.226.136.60的机器中去,然后启动OGSA服务容器等待资源请求者查询。
1.设置二个数组IP[]和usespace[]分别存放IP地址及对应的可用内存大小。
2.给定10.226.136.50地址,自动产生由10.226.136.51到10.226.136.60十个地址分别放入IP[1]到IP[10]中,设 I的初值为 1,循环 3-8 步,直到I=10为止。
3.由 IP[1]、/ogsa/services/、服务名称(getfree)产生网格服务句柄(GSH)。
4.创建实例。
5.调用远程方法MemoryFree()。
6.通过GSH及SDE名(Sde-Name)产生SDE-Type.xsd对应的SDE-Type类的对象。
7.获取SDE中free的值存入usespace[I]中。
8.撤销实例,I=I+1。
9.判断usespace[I]中那些可用内存空间值大于给定的x,并显示满足条件机器的内存空间大小及对应的IP地址。
}
本文只在SDE中使用了一个元素信息,其实还可在SDE建立若干个元素信息用于存储资源的动、静态信息(如当前cpu是否空闲,资源能提供什么功能等),并且还可查询通用的SDE(如服务实现接口名等)。SDE是有生命周期的,它是在服务实例下创建的,因此也随实例的撤消而撤消。
[1]Laura Pearlman,Von Welch,Ian Foster,Carl Kesselman,Steven Tuecke.A Community Authorization Service For Group Collaboration.CiteSeer.2002.
[2]Ian Foster,Carl Kesselman,Jeffrey M.Nick,Steven.Tuecke.The Physiology of the Grid[EB/OL].http://www.globus.org/research/papers/ogsa.pdf.
[3]Randy Butler,Von Velch,Ian Foster,Steven Tuecke,John Volmer,Carl Kesselman.A National-Scale Authentication Infrastructure.IEEE,2000.
[4]Austin Gillbert,Ajith Abraham,Marcin Paprzycki.A System for Ensuring Data Integrity in Grid Environments.IEEE,2004.
[5]徐志伟,冯百明,李伟.网格计算技术[M].北京:电子工业出版社,2004.
[6]I.Foster,C.Kesselman.The Grid 2:Blueprint for a New Comuputing Infrastructure[M].北京:电子工业出版社,2004.