一种分布式空间计算服务节点的构建方法及网关装置的制作方法

文档序号:7720384阅读:82来源:国知局
专利名称:一种分布式空间计算服务节点的构建方法及网关装置的制作方法
技术领域
本发明涉及Web地理信息系统(GIS)及Web遥感技术,尤其涉及一种分布式空间 计算服务节点的构建方法及网关装置。
背景技术
目前已有的基于地理信息网络服务框架的开发方法和系统,虽然功能各有所长, 但大都依赖于特定的GIS软件,有的甚至依赖特定的操作系统,不能支持集群和并行计算 环境。 目前已有的基于地理信息网络服务框架的开发技术,包含有开发地理信息系统网
络服务框架使用的数据库,该数据库中包含有空间数据。此外,地理信息系统的网络服务框
架,提供了一个地理信息系统的网络服务给用户。基于GIS功能是结合地理信息系统的网
络服务。用户访问地理信息系统的功能是使用这一地理信息系统的网络服务。 目前已有的地理信息系统接口服务技术,基于GIS接口服务的数据基础,其中的
GIS接口,与外部的应用系统相匹配,供外部的应用系统使用GIS接口服务功能,使得与外
部的应用系统相关的信息在GIS上进行定位和分布等。 目前已有的一种网格服务组的建立技术及网格服务的发现技术,若干GIS实例之 间通过交互,生成服务组成员列表并建立层叠网连接,之后完成服务组的建立。其中的网格 服务发现技术,GIS实例在收到服务查询请求后,当存在该服务类型的服务组时,判断出所 述GIS实例为服务组的成员则将请求转发给服务组的其他成员,否则将请求转发给服务组 的任一成员,由该成员转发给其他成员。这种网格服务发现技术提高了服务查询的效率,避 免了现有技术中洪泛的方法带来的响应时间长和网络开销大的缺陷。 已有的方法各有自己的着力点,但是往往依赖特定的GIS软件,依赖特定的操作 系统,不能支持集群和并行计算环境,这些方法集中在对于地理信息的数据库操作,因此不 够灵活,因为实际的地理信息文件格式和空间计算需求是多种多样的。

发明内容
本发明所要解决的技术问题,在于需要提供一种分布式空间计算服务节点的构建 方法及网关装置,以融合多种平台提供空间计算服务。 为了解决上述技术问题,本发明提供了一种分布式空间计算服务节点构建方法, 包括 基于Web服务结构,对空间计算资源进行异步调用; 按照先入先出的次序,以多线程的方式对事件进行响应,实现事件相应的功能;
通过配置文件来配置实际连接计算资源的连接器,实现与实际计算资源的连接。
优选地,对所述空间计算资源进行异步调用的步骤,包括
将用户的计算需求封装成用可扩展标记语言描述的计算任务; 通过预定义的Web服务接口将所述计算任务提交到空间计算服务节点,生成具有唯一标识的任务实例; 由用户通过启动和控制所述任务实例的运行,直到所述任务实例执行结束后回收 执行结果。 优选地,对节点本身以及节点上部署的各个任务实施监视和管理。 优选地,按照先入先出的次序,以多线程的方式对事件进行响应的步骤,包括 将用户请求和系统状态变化作为事件加入到事件队列,按照先入先出的次序,以
多线程的方式对事件进行响应。 为了解决上述技术问题,本发明还提供了一种分布式空间计算服务节点的网关装 置,包括空间计算服务统一接口、节点网关引擎以及资源接口,其中 所述空间计算服务统一接口,基于Web服务结构,用于对空间计算资源进行异步 调用; 所述节点网关引擎,与所述空间计算服务统一接口相连,用于按照先入先出的次 序,以多线程的方式对事件进行响应,实现事件相应的功能; 所述资源接口,与所述节点网关引擎相连,采用插件-配置结构,通过配置文件配 置实际连接计算资源的连接器,实现与实际计算资源的连接。 优选地,根据可扩展标记语言的自描述性,所述空间计算服务统一接口具备自描 述的能力。 优选地,所述节点网关引擎,用于根据建立任务时所使用的任务描述和配置文件
所提供的配置信息寻找计算资源接口支持类,以实现与该种类计算资源的连接。 优选地,所述节点网关引擎支持桌面系统、condor或集群计算资源平台,支持
Li皿x或Windows操作系统。 优选地,该装置进一步包括 节点监视和管理服务模块,用于提供对所述服务节点以及所述服务节点上部署的 各个任务实施监视和管理。 本发明技术方案主要在空间计算服务的分布式计算以及Web化的空间计算进行 了系统地设计和实现,提供了一种有力且易于使用的技术手段,使得空间计算资源的所有 者可以简单地将其所拥有的各种不同平台、不同系统上的计算资源提供出来,由节点构建 工具将其服务化,形成具有统一的自描述接口的空间计算服务,可以比较简单地通过安装 中间件以及简单地配置,与其他安装有相同中间件和类似配置的空间计算服务节点进行通 信,形成一个多节点多支撑环境的分布式空间计算环境,克服了以往技术和产品在这方面 的不足。空间Web计算服务的用户可以通过任意浏览器而无须安装其他插件就可以方便地 使用这些空间计算服务。 本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变 得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利 要求书以及附图中所特别指出的结构来实现和获得。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实 施例一起用于解释本发明,并不构成对本发明的限制。在附图中
4
图1是本发明提出的空间计算服务节点网关装置实施例结构示意图; 图2是图1所示空间计算服务统一接口的逻辑执行示意图; 图3是本发明分布式空间计算服务节点构建方法实施例的流程示意图。
具体实施例方式以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用
技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。 需要说明的是,如果不冲突,本发明实施例以及实施例中的各个特征可以相互结
合,均在本发明的保护范围之内。另外,在附图的流程图示出的步骤可以在诸如一组计算机
可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况
下,可以以不同于此处的顺序执行所示出或描述的步骤。 传统的Web空间计算服务采用的调用模型基本上都是同步调用,即在调用空间计算服务的时候调用者会被阻塞,直到计算服务完成工作将控制权返回给调用者之后才能继续执行。这种同步调用会带来一系列的问题,其中最严重的是超时问题。为了解决上述问题,针对现有技术空间计算服务计算量大、计算时间长的缺陷,本发明在Web空间计算服务节点构建时采用空间计算服务的异步调用模型。 图1为本发明提出的空间计算服务节点网关装置实施例的组成示意图。如图1所示,该装置实施例主要包括空间计算服务统一接口 110、节点网关引擎120、资源接口 130、节点监视和管理服务模块140,其中 空间计算服务统一接口 llO,基于Web服务(Service)结构,用于对空间计算资源进行异步调用; 由于空间计算通常计算量大,计算时间长,传统Web Service的同步调用模式由于超时限制而无法作为空间计算服务的统一接口 ;上述的空间计算服务统一接口 110,基于传统的Web Service的结构,用于对空间计算资源进行异步调用,并赋予该上述的空间计算服务统一接口 110自描述的能力,方便空间计算服务的使用。 自描述性本指可扩展标记语言(XML)文档的一个特征,即XML文档通常包含一个文档类型声明,因而XML文档是自描述的。不仅人能读懂XML文档,计算机也能处理。XML表示数据的方式真正做到了独立于应用系统,并且数据能够重用。XML文档被看作是文档的数据库化和数据的文档化。在本发明中,利用了这个技术实现了空间计算服务接口的自描述。 从效率和使用的方便性等方面考虑,空间计算服务统一接口 110的异步模式的基本实现过程是将用户的计算需求封装成为一个用可扩展标记语言(XML)描述的计算任务,这个计算任务通过一个预先定义好的Web Service接口提交到空间计算服务节点,生成一个具有唯一标识(ID)的任务实例,并由用户通过启动和控制这个任务实例的运行,直到任务实例执行结束后再回收任务执行的结果。 具体来讲,空间计算服务统一接口 110为服务的使用者提供以下功能,以满足建立、销毁和控制任务的需求 建立(Create):根据用户提供的任务描述建立一个新的空间计算任务实例,并返回用来标识该任务实例的唯一 ID。
启动(Start):启动一个任务实例的运行,节点网关引擎120将根据提供服务的平台和系统的状态决定何时以及使用哪些资源运行该任务实例。 暂停/恢复(Pause/resume):暂停/恢复一个任务实例的运行,只有任务实现支持暂停/恢复的时候才可以使用,也就是说,某些任务是不能被暂停/恢复的。
结束(Terminate):强制结束一个任务实例的运行。
销毁(Destroy):销毁一个任务的实例。 除了上面这些控制任务所需要的接口之外,空间计算服务统一接口 IIO还定义了如下功能,以实现用户对任务更多的控制和监视 参数设置(setParameter):设置任务实例运行所需要的参数,参数将根据其类型自动编码,当前参数/结果传递支持的数据类型(即可以被自动编解码的数据类型)有Java简单类型、字符串、Java beans,以及上述类型的数组。
参数读取(getParameter):读取任务实例运行的参数。 结果获取(getResult):得到任务实例运行的结果。需要说明的是,任务实例不一定必须在到达完成(finished)状态才有结果输出,getResult接口也就可以在任何时刻读取任务实例运行结果,如果结果尚未输出,则返回一个空值。 状态获取(getStatus):得到任务实例的运行状态,客户端可以轮询以获得任务实例的状态。 消息获取(getMessage):读取任务实例运行过程中输出的消息,这些消息由任务的实现代码设置。 上述功能都通过Web Service方式调用,具有明确的网络服务描述语言(WSDL)描述,并提供一些客户端支持库,方便其使用。 节点网关引擎120,与该空间计算服务接口 IIO相连,用于按照先入先出的次序,以多线程的方式对事件进行响应,实现事件相应的功能; 基于事件的节点网关引擎120,以事件队列为中心,将各种用户请求和各种系统状态变化作为事件加入到事件队列,按照先入先出的次序,以多线程的方式对事件进行响应,以实现对应的功能。 节点网关引擎120定义的事件包括请求建立任务的任务建立请求事件、完成任务
建立的任务建立完成事件、请求启动任务的任务启动请求事件、启动任务的任务启动事件、
完成任务的任务完成事件以及表示任务失败的任务失败事件等。节点网关引擎120所定义
的计算资源实现的功能包括如下几个 任务启动(startJob):启动一个任务实例的运行。任务终止(terminateJob):终止一个任务实例的运行。 任务初始化(onCreate):在任务实例被建立的时候调用,以提供一种在任务实例实际运行之前对相应计算资源进行初始化的机制。 任务清除(onDestroy):在任务实例被销毁前调用,以提供一种在任务实例被销
毁之前对相应计算资源进行清除(Cleanup)的机制。 任务暂停(stopJob):暂停一个任务实例的运行。 任务恢复(resumeJob):恢复一个被暂停的任务实例的运行。 其中startjob必须具备功能性的实现,以保证任务能够得到运行;而其余几个功
6能在计算资源不需要或不支持的情况下可以采用空实现。 同时,节点网关引擎120还提供任务运行所必需的任务实例上下文的定义。任务实例上下文中包括任务实例的ID、描述、参数、状态、消息、结果等信息,同时任务实例上下文中还指明了任务实例依赖于何种计算资源接口支持。 资源接口 130,与该节点网关引擎120相连,用于采用插件-配置结构,由节点网关引擎120以Java接口等方式定义计算资源接口所必须实现的功能,通过配置文件来配置实际连接计算资源的连接器,实现与实际计算资源的连接。 实现的计算资源接口可以通过一个XML文件进行配置,节点网关引擎120会根据用户建立任务时所使用的任务描述和该配置文件所提供的配置信息寻找合适的计算资源接口支持类,以实现与该种类计算资源的连接,可以支持桌面系统、condor以及集群三种不同的计算资源平台,以及Li皿x、 Windows两种不同的操作系统。 节点监视和管理服务模块140,与该节点网关引擎120相连,用于提供对节点本身以及节点上部署的各个任务实施监视和管理,主要工作包括如下 获取节点相关信息,包括静态信息(如节点体系结构、操作系统、平台版本等等)和动态信息(如节点当前负载等等);获取节点上部署任务的情况,包括对任务进行列表和根据一些条件(如任务名、任务特性等)进行任务查找,并提供方便的任务部署手段;获取任务接口,以供用户调用任务使用。同时提供工具,根据已知的任务接口自动生成调用计算服务任务的客户端。 图2是图1所示空间计算服务统一接口的逻辑执行示意图。结合图1所示网关装置实施例,图2所示的逻辑执行示意图主要包括如下步骤 步骤S210,根据用户提供的任务描述建立(create) —个新的空间计算任务实例,完成初始化(initialized); 步骤S220,启动(Start)该任务实例的运行,之后处于运行(running)状态;
步骤S230,在运行(running)过程中,可以对部分任务执行暂停(Pause)操作;执行暂停(pause)操作后,任务实例处于暂停(pause)状态; 步骤S240,对处于暂停(pause)状态的任务实例执行恢复操作,重新返回运行(running)状态; 需要说明的是,只有部分任务支持暂停/恢复(pause/resume)功能;
步骤S250,处于运行(running)状态在实现(accomplish)之后,进入完成(finished)状态,可以执行步骤S280,销毁(Destroy)任务实例,使该任务实例处于不存在(Not Exist)状态。 如图2中步骤S260所示,在初始化(initialized)过程中、运行(running)状态或者暂停(pause)状态,可以强制结束(Terminate)该任务实例的运行,此时任务实例处于失败(failed)状态。 如步骤S270所示,在运行(running)状态中,可能会因为异常(exc印tion)状态而使得任务实例处于失败(failed)状态。 在失败(failed)状态或者完成(finished)状态,可以执行步骤S280,销毁(Destroy)任务实例,使该任务实例处于不存在(Not Exist)状态。 当任务实例处于不存在(Not Exist)状态,说明这是一个新起的任务实例,回到步
7骤S210。 图3是本发明分布式空间计算服务节点构建方法实施例的流程示意图。结合图1所示网关装置实施例以及图2所示的逻辑执行,图3所示的本发明方法主要包括如下步骤 步骤S310,基于Web服务结构,对空间计算资源进行异步调用; 步骤S320,按照先入先出的次序,以多线程的方式对事件进行响应,实现事件相应
的功能; 步骤S330,通过配置文件来配置实际连接计算资源的连接器,实现与实际计算资源的连接。 上述对所述空间计算资源进行异步调用的步骤,主要包括 将用户的计算需求封装成用可扩展标记语言描述的计算任务; 通过预定义的Web服务接口将所述计算任务提交到空间计算服务节点,生成具有
唯一标识的任务实例; 由用户通过启动和控制所述任务实例的运行,直到所述任务实例执行结束后回收执行结果。 图3所示方法实施例中,可以对节点本身以及节点上部署的各个任务实施监视和管理。 上述按照先入先出的次序,以多线程的方式对事件进行响应的步骤,可以包括
将用户请求和系统状态变化作为事件加入到事件队列,按照先入先出的次序,以多线程的方式对事件进行响应。 本发明在通过构建空间计算服务节点达到空间计算服务的分布式计算以及Web化的空间计算的目的方面区别于现有的技术。因此本发明的核心发明点就是构建空间计算服务节点以实现空间计算服务的分布式计算的过程,以及空间计算服务的异步调用模型、各种不同平台的计算资源接口支持方法等。 本发明方法采用面向服务架构(SOA)基本理论模型以及Web服务技术框架,利用Java技术和服务封装等技术,可以适用于多种地理信息系统(GIS),很好地克服了现在网格计算技术灵活性不够,扩展性差的缺点,并且有效地支持运行环境及应用程序在网格环境下的迁移,同时还支持原有网格计算模型。本发明方法能在不修改应用系统的前提下使得应用系统能很好地利用GIS,大大降低了实现成本。 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个程序模块,或者将它们中的多个模块或步骤制作成单个程序模块来实现。 虽然本发明所揭露的实施方式如上,但所述的内容只是为了便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属技术领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式上及细节上作任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。
权利要求
一种分布式空间计算服务节点构建方法,其特征在于,包括基于Web服务结构,对空间计算资源进行异步调用;按照先入先出的次序,以多线程的方式对事件进行响应,实现事件相应的功能;通过配置文件来配置实际连接计算资源的连接器,实现与实际计算资源的连接。
2. 如权利要求1所述的方法,其特征在于,对所述空间计算资源进行异步调用的步骤,包括将用户的计算需求封装成用可扩展标记语言描述的计算任务;通过预定义的Web服务接口将所述计算任务提交到空间计算服务节点,生成具有唯一标识的任务实例;由用户通过启动和控制所述任务实例的运行,直到所述任务实例执行结束后回收执行结果。
3. 如权利要求1所述的方法,其特征在于对节点本身以及节点上部署的各个任务实施监视和管理。
4. 如权利要求1所述的方法,其特征在于,按照先入先出的次序,以多线程的方式对事件进行响应的步骤,包括将用户请求和系统状态变化作为事件加入到事件队列,按照先入先出的次序,以多线程的方式对事件进行响应。
5. —种分布式空间计算服务节点的网关装置,其特征在于,包括空间计算服务统一接口、节点网关引擎以及资源接口,其中所述空间计算服务统一接口 ,基于Web服务结构,用于对空间计算资源进行异步调用;所述节点网关引擎,与所述空间计算服务统一接口相连,用于按照先入先出的次序,以多线程的方式对事件进行响应,实现事件相应的功能;所述资源接口 ,与所述节点网关引擎相连,采用插件_配置结构,通过配置文件配置实际连接计算资源的连接器,实现与实际计算资源的连接。
6. 如权利要求5所述的装置,其特征在于根据可扩展标记语言的自描述性,所述空间计算服务统一接口具备自描述的能力。
7. 如权利要求5所述的装置,其特征在于所述节点网关引擎,用于根据建立任务时所使用的任务描述和配置文件所提供的配置信息寻找计算资源接口支持类,以实现与该种类计算资源的连接。
8. 如权利要求7所述的装置,其特征在于所述节点网关引擎支持桌面系统、condor或集群计算资源平台,支持Li皿x或Windows操作系统。
9. 如权利要求5所述的装置,其特征在于,该装置进一步包括节点监视和管理服务模块,用于提供对所述服务节点以及所述服务节点上部署的各个任务实施监视和管理。
全文摘要
本发明公开了一种分布式空间计算服务节点的构建方法及网关装置,以融合多种平台提供空间计算服务。其中该方法包括基于Web服务结构,对空间计算资源进行异步调用;按照先入先出的次序,以多线程的方式对事件进行响应,实现事件相应的功能;通过配置文件来配置实际连接计算资源的连接器,实现与实际计算资源的连接。本发明使得空间计算资源的所有者可以简单地将其所拥有的各种不同平台、不同系统上的计算资源提供出来,由节点构建工具将其服务化,形成具有统一的自描述接口的空间计算服务。
文档编号H04L29/08GK101741904SQ200910238509
公开日2010年6月16日 申请日期2009年11月27日 优先权日2009年11月27日
发明者于文洋, 张旭, 李凡, 李国庆, 范东璞, 邓广, 黄震春 申请人:中国林业科学研究院资源信息研究所;中国科学院对地观测与数字地球科学中心;清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1