一种基于集合的资源状态处理方法

文档序号:7694867阅读:149来源:国知局
专利名称:一种基于集合的资源状态处理方法
技术领域
本发明涉及一种基于集合的资源状态处理机制的实现方法。
背景技术
随着大规模网络技术的发展,特别是网格计算技术的兴起,极大地扩大了分布式系 统的规模。网格是近年来逐渐兴起的构建在Internet之上的一种新的计算模式,其目标 是在分布式、异构、自治的网络资源环境之上动态的构建虚拟组织,并在其内部实现跨 自治域的资源共享与协作,满足当前复杂应用对大规模计算能力和海量数据处理等需 求。因此,如何在分布式计算环境(特别是网格计算环境)下对异构资源进行共享和管理, 是一个亟待解决的问题。
Web服务可以很好的解决异构系统之间的互操作和集成问题,但传统的Web服务实现 是无状态的,客户端发出请求并得到响应,然后断开连接。然而在很多系统中,如机票 预定系统、CPU管理系统和工作流系统,有一个共同的特点就是它们都需要提供一种方 式,使得客户端能够访问到系统内部的有状态实体,获取实体的属性并管理它们的生命 周期。这些需求促使了0GSI(0pen Grid Services Infrastructure)的诞生,它把在网 格计算环境下对状态的建模和管理作为自己的首要目标。
Web服务资源框架(Web Services Resource Framework, WSRF)是对0GSI的重构与发 展,它保留了OGSI的所有核心功能,并克服了OGSI的一些弊病在一个规范中定义的 内容太多、不能和现存的Web服务和XML工具很好的工作等等。WSRF将OGSI定义的功 能划分进四个不同的协议中,这些协议共同解决了在Web服务框架中表示、抽象及管理 资源状态的问题。OGSI技术在一个规范中定义的内容非常复杂,资源状态处理过程没有 很好地与Web服务结合起来,效率比较低,也不符合流行的Web服务要求。

发明内容
本发明的技术解决问题克服现有技术的不足,提供一种基于集合的资源状态处理 方法,简化了资源状态处理流程,提高了状态操作效率。
为实现上述目的,本发明采用以下技术方案 一种基于集合的资源状态处理方法, 步骤如下
(1) 将资源状态封装成一种可以解析、操作XML的基于集合论与对象结构Metaset;
(2) 将用户对资源的访问转换成对所述步骤(1)中的Metaset封装对象结构的操作;
(3)通过对Metaset封装对象结构的操作产生返回的S0AP响应报文。 所述的步骤(1)将资源状态封装成一种可以解析、操作XML的基于集合论与对象 结构Metaset的方法为将资源的状态表示成资源属性文档,每一个资源属性文档都可 被表示成一个XML文档,将XML文档封装成Metaset对象结构,即完成了对资源状态的 封装。
所述步骤(2)中将用户对资源的访问转换成对Metaset封装对象结构的操作的方 法,包括两个部分
(a) 资源状态获取算法,通过对Metaset对象的操作得到资源的一个或者多个属 性的算法;
(b) 资源状态修改算法,通过对Metaset对象的操作来删除、插入和更新资源的属性。
所述的步骤(3)通过对Metaset封装对象结构的操作产生返回的SOAP响应报文的 方法如下
(a) 根据要返回的报文格式,组成相应的Metaset对象。
(b) 在容器的消息层,将这个Metaset对象结构变成文本形式发送给请求方。 本发明与现有技术相比的优点在于本发明通过使用Metaset来表示和描述Web服
务资源属性文档,使用上述定义的操作对其进行统一的处理,避免了在引擎内部进行繁 杂的对象强制转换过程,可以使用统一的算法处理各种类型的资源状态,从而简化了整 个系统的设计和实现,縮短了整个系统的开发周期,简化了资源状态处理流程,提高了 状态操作效率。


图1为本发明采用的Metaset的结构图; 图2为本发明方法的处理示意图。
具体实施例方式
在阐述本发明实现方法之前,先介绍一下Metaset。
Metaset是由北京航空航天大学计算机学院ACT实验室提出的一个以集合论和数学 逻辑理论为工具、以Services集为对象、以元操作为运算符的理论体系,用以构造网 格计算环境下的数学模型。如图1所示Metaset的结构图类似于D0M,将XML变成一种 树形的结构,便于操作,和对问题的形式化描述。该数学模型将服务的资源属性文档定义为五元组<formula>formula see original document page 5</formula>。
其中&"是资源属性文档元素名集合,是资源属性文档元素值的集合,"^"是资源属
性文档那个属性名集合,S"是资源属性文档属性值的集合,^^是XML语言表示的资 源属性文档的描述集合,其元素是Services集。上述定义将资源属性文档表示成为一 个集合,文档中的每个子句都是集合中的元素,以Services集的形式存在。下面给出 Services集几个关键元操作的定义。
定义1 Services集合的滤波函数是多态函数,其值为集合,集合的元素为 Services集。Services集的滤波函数有三种形式, 一种是仅有路径最为参数,另一种 是以路径和路径的最后一个属性名作为参数,再一种是以路径和路径最后一个属性名和 属性值作为参数。滤波函数返回值是一个集合,其集合元素是在路径上最后一个元素的 Services集。
<formula>formula see original document page 5</formula>Filter函数用^&^^W表示,它的功能是获取请求路径上满足某种指定条件的 Metaset元素的集合。
定义2 Services集的选择函数Selector的返回值为属性值,选择函数Selectors 的返回值是属性集合。
<formula>formula see original document page 5</formula>Selector函数用^&^"^)表示,它的功能是获取指定路径上满足特定条件的属性值。
定义3 Services集的Add函数表示向其中插入一个元素或一个Services集,其 结果仍为Services集。
<formula>formula see original document page 5</formula>Add函数用+(S,^"A)表示,它的功能是增加一个Metaset子元素或添加一个属性。 定义4 Services集的Remove函数表示从Services集中移处一个元素或一个子 Services集,其结果仍为Services集o
膽歸(S,, ; , < e , at , ar* >) — {Ss Ie户—,一 =e 。 \ enl \…W朋, & 2 & ) 〕 &s)〕…:d S (e ), & ( )-{< e朋,, OTyt >}}
訓歸(&,&,e +1) 4 I p e Sp ,; = e0 \... \ e A 2 & O0) 〕 & (e,)〕…〕S> ),
Remove函数用—(&^art),它的功能是删除特定路径上的Metaset子元素。 定义5 Services集的Car函数表示选择其第一个元素,其结果仍为Services集。 — &,&=""&, ,&},它的功能是获取当前Metaset元素的第一个子元素。
定义6 push函数用氺(&P"叫表示,pop函数用;(&戸叫表示。 通过使用Metaset来表示和描述Web服务资源属性文档,使用上述定义的操作对其 进行统一的处理,避免了在引擎内部进行繁杂的对象强制转换过程,可以使用统一的算 法处理各种类型的资源状态,从而简化了整个系统的设计和实现,縮短了整个系统的开 发周期。
如图2所示,本发明的具体实施步骤为 第一步将资源状态封装成一种可以解析、操作XML的基于集合论与对象结构 Metaset;
资源的状态被表示成资源属性文档,每一个资源属性文档都可被表示成一个XML文 档,XML文档可以被封装成Metaset对象,将资源属性文档表示成Metaset对象就完成 了对资源状态的封装,对资源状态的封装简化了资源状态的各项维护工作。
第二步将用户对资源的访问转换成对使用Metaset描述的对象的操作包括两部分
(1)资源状态获取算法 资源状态获取算法负责根据用户的SOAP请求在系统内部査找ACT-Resource的属性 值。可以一次只查找有状态资源一个属性的值,也可以一次查找有状态资源多个属性的 值。下面给出具体的获取单个资源属性的算法。对于一次获取多个资源属性的算法,在 此不再赘述。
假设S为资源属性文档,^为路径集合,x为待查找路径,则使用Metaset表示该 算法的形式语义如下所示当收到来自客户端的请求之后,首先从中解析出其请求的有状态资源的属性名称, 如果该过程无误,则可进行下一步,如果出错则表示请求报文有问题或被损坏,构造并 发送一个出错报文返回给用户。如果名称解析无误,则根据用户的请求创建一个资源上 下文,并从中解析出资源的标识符。然后根据该资源标识符定位到系统中的资源实例, 获取其资源属性文档。将资源属型文档中的每一个属性名称与用于请求的名称进行匹 配,如果成功则返回该属性的值,如果全部失败则构造出错报文返回给用户。下面给出 具体的资源状态获取算法。
资源状态获取算法中,资源状态的获取流程如下所示
a. 解析请求SOAP报文;
b. 获取对应资源管理器,若为空则返回错误信息
c. 从资源管理器中获取资源实例,若为空则返回错误信息
d. 从获得的资源对象里查询请求的资源状态并包装成SOAP返 回给客户。
(2)资源状态修改算法如下所示-对资源属性的修改操作主要有三种删除、插入和更新。删除表示删除资源实例的
一个或多个属性,插入表示向资源属性文档中插入新的属性,更新则表示修改某个或多 个资源属性的值。
设S为资源属性文档,^为路径集合,^W加/j是待査找路径,^竿M'是请求报文, 则使用Metaset表示该算法的形式语义如下所示。
<formula>formula see original document page 7</formula>当收到来自客户端的请求之后,首先从中解析出请求的具体操作,如果是Delete 则执行相应的删除操作,是Insert则执行相应的插入操作,是Update则执行相应的修 改操作。对于Delete操作,首先解析出要删除的属性名称,然后将对应的属性从资源 属性文档中删除;对于Insert操作,则直接将待插入的属性名及值插入到资源属性文 档中;对于Update操作,首先解析出待修改的属性名及值,然后根据其更新资源属性 文档。最后将执行的结果返回给客户端,通知客户此次操作执行成功或失败。
资源状态修改算法中,具体的资源状态修改流程如下-
a. 解析请求SOAP报文
b. 获取对应资源管理器,若为空则返回错误信息
c. 从资源管理器中获取资源实例,若为空则返回错误信息
d. 分析请求的操作如果是更新操作则创建对应的操作适配器对 资源实例进行更新处理,如果是销毁操作则创建对应的销毁操作适配器对资源实例进行 销毁处理,其他的操作流程类似。
e. 将对资源实例的处理数据包装成SOAP报文,返回给请求者。
第三步骤,通过对Metaset封装对象结构的操作产生返回的SOAP响应报文,即根据 要返回的报文格式,组成相应的Metaset对象;在容器的消息层,将这个Metaset对象 变成文本形式发送给请求方。
权利要求
1. 一种基于集合的资源状态处理方法,其特征在于包含以下步骤(1)将资源状态封装成一种可以解析、操作XML的基于集合论与对象结构Metaset;(2)将用户对资源的访问转换成对所述步骤(1)中的Metaset封装对象结构的操作;(3)通过对Metaset封装对象结构的操作产生返回的SOAP响应报文。
2、 根据权利要求1所述的基于集合的资源状态处理方法,其特征在于所述的步 骤(1)将资源状态封装成一种可以解析、操作XML的基于集合论与对象结构Metaset 的方法为将资源的状态表示成资源属性文档,每一个资源属性文档都可被表示成一个 XML文档,将XML文档封装成Metaset对象结构,即完成了对资源状态的封装。
3、 根据权利要求l所述的基于集合的资源状态处理方法,其特征在于 所述步骤(2)中将用户对资源的访问转换成对Metaset封装对象结构的操作的方法, 包括两个部分(1) 资源状态获取算法,通过对Metaset对象的操作得到资源的一个或者多个属 性的算法;(2) 资源状态修改算法,通过对Metaset对象的操作来删除、插入和更新资源的属性。
4、 根据权利要求1所述的基于集合的资源状态处理方法,其特征在于所述的步 骤(3)通过对Metaset封装对象结构的操作产生返回的SOAP响应报文的方法如下(1)根据要返回的报文格式,组成相应的Metaset对象; (2)在容器的消息层,将这个Metaset对象结构变成文本形式发送给请求方。
全文摘要
一种基于集合的资源状态处理方法,其步骤为(1)将资源状态封装成一种可以解析、操作XML的基于集合论与对象结构Metaset;(2)将用户对资源的访问转换成对所述步骤(1)中的Metaset封装对象结构的操作;(3)通过对Metaset封装对象结构的操作产生返回的SOAP响应报文。本发明简化了资源状态处理流程,提高了状态操作效率。
文档编号H04L29/02GK101291344SQ20081011229
公开日2008年10月22日 申请日期2008年5月22日 优先权日2008年5月22日
发明者建 刘, 磊 徐, 颖 李, 李竹青, 胡春明, 马殿富 申请人:北京航空航天大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1