CN102790788B - 一种网格资源管理*** - Google Patents
一种网格资源管理*** Download PDFInfo
- Publication number
- CN102790788B CN102790788B CN201110133577.6A CN201110133577A CN102790788B CN 102790788 B CN102790788 B CN 102790788B CN 201110133577 A CN201110133577 A CN 201110133577A CN 102790788 B CN102790788 B CN 102790788B
- Authority
- CN
- China
- Prior art keywords
- resource
- module
- client
- information
- access
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种网格资源管理***,用于信息技术领域,为“虚拟超市”资源共享与协同服务平台提供了一种有效的资源管理方式,能使“虚拟超市”用户更自主的方便的使用平台中的跨域资源。所述***包括:管理控制***,用来负责管理下属所有资源域的客户端,同时响应上层资源请求端的资源请求,并将资源请求发送至相应的资源客户端由其处理。资源客户端,所述资源客户端具有二级机构,用来对所述资源请求进行相应处理。本发明实施例提供网格资源管理***,设计并实现了统一资源描述模型,实现了对资源本地操作的有效封装,对外提供统一访问接口,在一定程度上实现了资源共享。
Description
技术领域
本发明涉及一种信息技术领域,尤其涉及一种网格资源管理***。
背景技术
进入网络计算时代,面向互联网资源共享与协同工作的计算环境是网络计算技术领域的重要研究课题。网络资源的战略价值日益突显,人们自然希望将纷繁复杂的底层实体抽象化,而为上层提供相对简化的统一视图,从而实现互联网资源的共享和综合利用。
互联网资源就像超市里的货物一样,为了实现互联网资源共享与协同工作,引进“虚拟超市”的思想。“虚拟超市”的思想可以理解为,参考超市中的进货流程,尚未经虚拟化的跨域资源可以看作来自不同厂家的商品,跨域资源的虚拟化以及聚合可以类比为从不同厂家采购商品并形成商品仓库的过程,“虚拟超市”便从该商品仓库中取“货”(虚拟资源)。
“虚拟超市”的体系结构首先对分布于各域的资源进行虚拟化(即类似超市的进货过程),虚拟资源经过聚合后形成能力计算空间(相当于超市的商品仓库)。然后,能力计算空间中“无序”的虚拟资源通过优化组合(类似超市中的商品按货架位分类存放)、应用服务虚拟化技术,转换成适用于任务自主调度的业务级服务。最后,工作流动态构造技术将用户需求描述为与业务级服务相匹配的子任务,完成在业务级服务之上按需定制相应的虚拟组织。
发明内容
本发明的目的是鉴于现有的资源管理方法的不足,提供了一种基 于“虚拟超市”思想的资源管理***,提出了相对于传统显代理的一种新的方法-自主构造,为“虚拟超市”资源共享与协同服务平台提供了一种有效的资源管理方式,能使“虚拟超市”用户更自主的方便的使用平台中的跨域资源。
为了实现上述发明目的,本发明实施例一种网格资源管理***是通过以下的技术方案实现的:
一种网格资源管理***,所述***包括以下模块:
管理控制***,用来负责管理下属所有资源域的客户端,同时响应上层资源请求端的资源请求,并将资源请求发送至相应的资源客户端由其处理
资源客户端,所述资源客户端具有二级机构,用来对所述资源请求进行相应处理。
进一步优选地,所述管理控制***具体包括:
通信模块,用来负责所述管理控制***和各客户端及资源请求端的通信;其中,所述通信分为两部分:将资源访问信息按照一定的格式返回给资源请求端,使得资源请求端与资源端建立资源访问连接;访问资源客户端,收集必要的资源访问信息;
资源信息查询模块,用来依照资源请求,获取指定的资源信息,交由其调用子模块做进一步处理;
管理命令模块,用来向资源客户端发出管理控制命令,其中,所述管理控制命令包括:启动资源服务命令,资源状态为可用,使得资源可以响应资源请求;关闭资源服务命令,资源状态为不可用,使得资源不可被外界访问;终止资源访问命令,中断当前所有的资源访问连接,资源暂时进入不可用状态;
计算资源访问模块,用来提供计算资源访问入口,通过资源信息查询模块,获取访问计算资源必要的信息,并按照一定的格式返回给通信模块,以支持计算资源的调用;
存储资源访问模块,用来提供存储资源访问入口,通过资源信息查询模块,获取访问存储资源必要的信息,按照一定的格式返回给通信模块,以支持存储资源的调用;
应用资源访问模块,用来提供应用资源访问入口,通过资源信息查询模块,获取访问应用资源必要的信息,按照一定的格式返回给通信模块,以支持应用资源的调用;
数据资源访问模块,用来提供数据资源访问入口,通过资源信息查询模块,获取访问数据资源必要的信息,按照一定的格式返回给通信模块,以支持数据资源的调用;
资源信息更新模块,用来依照资源更新请求,更新指定资源的相关信息,同时将更新操作的执行结果返回给其调用模块。
进一步优选地,所述资源客户端具体包括:计算资源客户端、存储资源客户端和数据资源客户端,所述资源客户端、存储资源客户端和数据资源客户端分别包含二级机构,即分别包含相应的一级客户端和二级客户端。
进一步优选地,所述计算资源一级客户端具体包括:
监控模块,用来当接收到上层的管理控制***发出的监控命令时,解析内部结构文档,并将内部节点拓扑结构发送给上层管理控制***;
资源调用模块,用来直接调用应用资源,并向上层返回调用结果;
超时监控模块,用来根据预先设定的监控时间量度,监控是否有资源调用结果返回;
通讯模块,用来将本次应用资源调用过程信息发送至管理控制***;
应用动态部署模块,用来进行应用资源的动态部署;
LIB库读写模块,用来实现对LIB库的读写操作,所述LIB的读写操作均在线程级别上完成,读写操作具有互斥性。
进一步优选地,所述计算资源二级客户端具体包括:
通讯模块,用来与计算资源一级客户端CE_Client进行通讯,包括接收CE_Client的控制命令,和发送本地Host结点信息;
动态部署模块,所述动态部署模块为CE_Client应用动态部署模块的下层模块,用来将应用资源部署到Host计算节点上;
管理命令响应模块,用来解析CE_Client发送的控制命令,并根据所述控制命令作出响应来改变计算资源Host结点的状态,其中,所述改变计算资源Host节点的状态具体包括:停止或开启计算资源Host结点,停止或开启部署在其结点上的应用资源,中断应用资源对外的全部连接。
进一步优选地,所述存储资源一级客户端具体包括:
监控模块,用来当接收到上层的管理控制***发出的监控命令时,解析内部结构文档,将内部节点拓扑结构发送给上层管理控制***;
元数据管理模块,用来存储整个元数据和对象数据的布局信息和负责***的资源分配和网络虚拟磁盘的地址映射;
资源调用模块,用来直接调用应用资源,并向上层返回调用结果;
通讯模块,用来将本次资源调用过程信息发送至管理控制***;
LIB库读写模块,用来实现对LIB库的读写操作,所述LIB的读写操作均在线程级别上完成,读写操作具有互斥性。
进一步优选地,所述存储资源二级客户端具体包括:
通讯模块,用来与存储资源一级客户端SE_Client模块通讯,包括接收SE_Client的控制命令和传送本地Host结点信息;
存储资源读写模块,用来负责直接读写存储资源;
管理命令响应模块,用来解析SE_Client发送的管理命令,并根据所述管理命令作出响应来改变计算资源Host结点的状态,所述改变计算资源Host结点的状态具体包括:停止或开启计算资源Host 结点,中断应用资源对外的全部连接。
进一步优选地,所述数据资源一级客户端具体包括:
同步模块,用来保持对核心数据库的所有读写操作进行同步;
资源调用模块,用来负责数据查询命令的执行;
LIB库操作模块,用来实现对LIB库的读写操作,所述对LIB的读写操作均在线程级别上完成,并具有互斥性;
通讯模块,用来与管理控制***通讯,将本次资源调用过程信息发送至管理控制***。
进一步优选地,所述数据资源二级客户端具体包括:
通讯模块,用来与数据资源一级客户端DE_Client模块通讯,包括接收DE_Client的控制命令和传送本地Host结点信息;
同步模块,用来向DE_Client发出同步请求;
管理命令响应模块,用来解析DE_Client发送的管理命令,并根据所述管理命令作出响应来改变计算资源Host结点的状态,所述改变计算资源Host结点的状态具体包括:停止或开启计算资源Host结点,中断应用资源对外的全部连接;
资源调用模块,用来调用数据资源流程中的底层模块,负责数据查询命令的执行。
本发明实施例提供网格资源管理***,设计并实现了统一资源描述模型,资源描述模型包含资源的信息说明、发布类型、所含元素以及可选架构,以便资源开发者提供的资源可以有效被其他应用所使用,同时,设计并实现了一套资源构造方案,该方案结合资源描述模型,利用Web Service技术框架实现了对资源本地操作的有效封装,对外提供统一访问接口,在一定程度上实现了资源共享。
附图说明
通过下面结合附图对其示例性实施例进行的描述,本发明上述特 征和优点将会变得更加清楚和容易理解。
图1为本发明实施例1一种资源管理***的组成示意图;
图2为本发明实施例2优选的一种资源管理***的组成示意图。
具体实施方式
下面结合附图对本发明作进一步详细说明。为了更好的描述本发明实施例的技术方案,首先对以下概念作一一说明。熟悉本领域的技术人员可以知道,该说明仅为了帮助理解和说明,并不在于限制本发明,其中,名词术语部分为本领域常用或为本领域一般技术人员可以理解的用法,而并不构成对本发明的实施方式的限制。
1、资源描述模型
网络环境中的各种资源需要进行统一表示,本发明实施例通过对资源信息进行抽象达到这一目标。本发明实施方案采用的资源描述模型抛弃所有与***相关的资源特性,只从资源信息中提取那些可以被量化或可以被简单地统一表示的部分。被提取出的资源信息称为资源属性(资源参数)。
其中,对于静态属性的描述,用Info(信息)表示;对于频繁变换状态的描述,用State(状态)表示;对于使资源使用规范的描述,用Policy(规范或策略)描述;对于资源访问规范的描述,用AccessControlBase(信息访问规范)表示。
同时依照网络资源的功能属性,具体分为四类资源,即计算资源、存储资源、数据资源、应用资源。下面将参照如图1至如图2详细介绍资源描述模型。
1.1计算资源模型
(1)Computing Element(计算资源单元,以下简称CE)
CE是一个计算资源单元的集合,代表可以对外提供一定程度上高计算能力的复杂计算资源。作为一种普适性的抽象模型,CE代表了计算服务提供者的属性、计算能力描述及资源访问策略。Element 内部由Host组成,且不要求Host在性能上保持一致性,换言之,对于Element内部的Host,可能存在不同的处理器型号、内存类型、甚于不同的操作***。
(2)Host(计算节点)
Host描述一个计算节点的具体配置信息,是应用运行时的实际载体,Host之间的资源请求的分配由Element协调。为了准确刻画资源个体属性,从而为高层***提供准确的资源信息,相比于CE的描述模型,Host更偏重于计算资源性能的量化描述,而不是抽象的描述。
1.2存储资源模型
(1)Storage Element(存储资源单元,以下简称SE)
SE存储资源单元通过提供不同服务对物理资源进行管理,包括数据的权限控制、配额管理以及磁盘空间管理等。Storage Element是存储资源模型的核心实体,用来描述负责存储资源服务的信息。
(2)Host(存储载体)
Host是文件分布式存储的最终载体,可以看成是存储***的最小单位,所有Host资源对外呈现普适性视图,其属性只刻画本身的存储属性及访问属性。在文件***方面,与其相应的管理Element保持一致。
1.3数据资源模型
(1)Data Element(数据资源单元,以下简称DE)
DE是建立在数据源上的代理服务,管理对内部Host的访问,同时验证访问者身份。同时负责核心数据库和影子数据库的同步。
(2)Host(数据访问请求实体)
HOST为数据访问请求的相应实体,若为核心数据库,则记录影子数据库的信息,它在某事件驱动下会向影子数据库发出同步操作命令;若为影子数据库,则记录其唯一核心数据库的信息,响应核心数 据库发出的同步命令,更新内部数据。影子数据库和核心数据库的角色划分是互斥的,即一个Host只能是在核心数据库和核心数据库中选择其一,且一个Host只能是选择一个数据库连接作为其核心数据库。
1.4应用资源模型(Application Element,以下简称AE)
应用资源是指应用程序的的表现形式,用来实现对应用程序的访问、管理、控制。应用资源应可以使得在不修改本地运行环境或文件***的基础上进行应用的部署。一个AE就代表了一个应用资源的入口,该AE会被赋予这种应用所需要的各种资源信息,包括硬件资源和软件资源,从用户的角度看,所用的应用资源都是通过AE体现,用户可以通过访问AE来使用网络上的应用资源。
2、资源构造方案
本发明实施例为以开放网格服务体系机构为代表的服务虚拟化的方式,将应用封装成服务,并利用分布式框架将任务分散到服务实例中。
服务虚拟化同样允许应用开发者将不同应用领域的服务作为组件,这些组件能被重新组合以适应高层需求的变化。在依照资源描述模型对资源构造时,对所有资源访问方式都以服务的形式发布,使得应用资源能够共享或独享硬件资源和单一操作***,而软件划分能够映射软件组件到平台资源,并且允许应用组件之间彼此隔离。
资源访问接口服务化使得应用层硬件中分离,从而消除了可扩展性问题和其他的硬件限制,与此同时,它还提供灵活性以适应新的高层要求。
本发明实施例为了实现对资源端的访问、控制和管理,在资源端部署了虚拟资源客户端,从而封装对资源的全部操作,对外提供统一的访问接口,同时对上层模块提供操作命令,允许高层模块有限地控制资源端,主要包括开启资源服务、停止资源服务、中断正在进行的 资源操作。
具体的实施方式下,本发明实施例可采用的操作***为WindowsXP Professional SP3;其编程平台的集成开发环境可以为MyEclipse6。0,可采用JAVA语言编写,JDK版本可以包括JDK1。4。1、JDK1。4。2,数据库管理***可以为MySQL5。0,服务器运行环境可以采用Tbmcat6。0及XFire库作为跨域资源服务的服务器运行环境。本发明实施例并不限于以上实现方式,任何操作***、编程平台、编程语言、数据库***、服务器运行环境的选择均可按照本领域一般技术人员的应用习惯进行。
考虑到“虚拟超市”跨域跨平台的特点,一个优选的实施方式,选择使用SUN公司的JAVA作为编程语言。鉴于JAVA优良的跨平台性,可以很好的解决***异构性的问题,无论是Win32还是Linux,都可以运行此管理***。
3、***架构
本发明实施例的***架构采用集中式控制结构,即将整个***分为两部分,分别是管理控制***和虚拟资源客户端。
其中,管理控制***负责管理下属所有资源域的客户端,同时响应上层资源请求,并将资源请求发送至相应的资源客户端由其处理。为了保持与资源描述模型的一致,在资源Element和Host级别上均设有客户端,***整体架构如图2所示。管理控制***是***的核心模块,其负责下属资源客户端的管理控制,及底层模块和高层子***的通信。
管理控制***具有以下功能:
提交创建新应用程序(资源),管理控制***记录应用程序的部署信息。
记录成为某一应用程序的开发人员,这样,这些人员就可以上传代码的新版本;
查看访问数据和错误日志,并分析访问量;
查看所有资源的状态信息,并提供手工更新信息的接口;
查看应用程序的计划任务的状态;
测试应用程序的新版本,并切换用户看到的版本。
3.1管理控制***的内部结构
各子模块功能如下所示:
(1)通信模块
负责管理控制***和各客户端及资源请求端的通信,具体说来,可分为两部分:将资源访问信息按照一定的格式返回给资源请求端,使得资源请求端与资源端建立资源访问连接;访问资源客户端,收集必要的资源访问信息。
(2)管理命令模块
向资源客户端发出管理控制命令,具体分为:启动资源服务命令,资源状态为可用,使得资源可以响应资源请求;关闭资源服务命令,资源状态为不可用,使得资源不可被外界访问;终止资源访问命令,中断当前所有的资源访问连接,资源暂时进入不可用状态。
(3)计算资源访问模块
计算资源访问入口,通过资源信息查询模块,获取访问计算资源必要的信息,按照一定的格式返回给通信模块,以支持计算资源的调用。
(4)存储资源访问模块
存储资源访问入口,通过资源信息查询模块,获取访问存储资源必要的信息,按照一定的格式返回给通信模块,以支持存储资源的调用。
(5)应用资源访问模块
应用资源访问入口,通过资源信息查询模块,获取访问应用资源必要的信息,按照一定的格式返回给通信模块,以支持应用资源的调 用。
(6)数据资源访问模块
数据资源访问入口,通过资源信息查询模块,获取访问数据资源必要的信息,按照一定的格式返回给通信模块,以支持数据资源的调用。
为了防止资源信息库由于读写时序问题而产生脏数据,所有针对于资源信息的查询或修改都由两个模块完成,两个模块内部已设置了读写协调机制,因此不会产生脏数据。
(7)资源信息查询模块
依照资源请求,获取指定的资源信息,交由其调用子模块做进一步处理。
(8)资源信息更新模块
依照资源更新请求,更新指定资源的相关信息,同时将更新操作的执行结果返回给其调用模块。
其模块在实现时,均采用了单实例多线程模式,既保证了各模块同步互斥访问资源信息库,同时,对于每一个资源请求,都产生独立的线程相应其请求。
3.2资源客户端
为了与资源描述模型中二级结构保持一致性,所有硬件资源的客户端均采用二级结构,一级客户端部署在Element结点上,二级客户端部署在Host结点上。
3.2.1、计算资源客户端
A.计算资源一级客户端(以下简称CE_Client)
CE_Client由如下功能模块组成:监控模块、资源调用模块、超时监控模块、通讯模块、应用动态部署模块、LIB操作模块、及本地信息库(Local Information Base,简称LIB)。其中,本地信息库包含了计算资源客户端的配置文件,及下属的Host信息表。
(1)监控模块
CE是一个独立自治区域,其内部结构对外是透明的。自治性隐含着CE域内可以处理内部节点结构的变化,具有自主控制处理能力。其内部结构记录于XML配置文档中,便于监控模块对该文档进行修改。当监控模块接收到上层控制管理***发出的监控命令时,解析内部结构文档,将内部节点拓扑结构发送给上层控制管理***,以便其进行其他操作。
(2)资源调用模块
资源调用模块是整个CE_Client客户端的核心模块,该模块位于CE_Client的最底层,负责直接调用应用资源,并向上层返回调用结果,失败则返回失败原因。资源调用模块利用SOAP协议对应用资源进行访问,并将资源调用状态及调用结果返回上层模块。由于某些应用本身运行时间较长,调用方可能会误判断CE服务器宕机。为了避免该类错误,资源调用模块内含一个超时监控子模块,该模块的作用是定时向资源端发送测试消息,若该消息发送失败,则本次应用资源调用过程直接结束,否则等待应用运行完毕或再次发出测试消息。
(3)超时监控
依照Host属性中的State。WorstResponseTime值,作为监控的时间量度,若在此值内没有资源调用结果返回(不论返回状态为成功或失败),则向CHost_Client客户端发出测试信息。该测试消息消息体为空,因此当一个CE内部出现多次资源调用时,避免了因频繁发送测试消息而造成的带宽浪费。根据测试消息的返回状态,CE_Client可以判断应用所在Host是否宕机,以此来降低上层资源调用的盲等时间。
(4)通讯模块
为了实现资源位置的透明性,资源请求均被发送至管理控制***,由其为资源请求指明确定的资源访问位置,而这一通讯过程不能 被资源请求发送端所捕获,因此,资源请求操作中涉及资源位置的信息均不对用户开放。在资源请求被资源端响应的过程中,CE_Client通过通讯模块,将本次资源调用过程信息发送至管理******,同时,管理信息模块可以发送控制命令至资源端,终止本次资源请求,并向资源请求端返回失败信息。除此以外,其它所有模块与控制管理***的通讯信息均由通讯模块处理。
(5)应用动态部署模块
支持应用资源的动态部署,也可以理解为应用资源的动态提交过程。该模块支持远程部署应用资源,并将其自动CE服务端开启该应用。同样,为了保证资源位置的透明性,动态部署请求只涉及所申请CE资源的性能要求,在部署过程中,管理控制***会根据资源申请而选择合适CE资源部署其应用,并通过通讯模块将应用的部署信息发送至控制管理***。
(6)LIB库读写模块
由于CE内部实现自治管理,因此所有CE管理信息均放在本地,形成本地信息库(Local Information Base,以下简称LIB),为了增强该库的可操作性以可移植性,选择XML作为LIB的存储方式。考虑到LIB的重要性,因此所有针对LIB库的读写操作均由LIB库读写模块统一完成,这样就实现了对LIB信息的集中式管理。对于LIB的读写操作均在线程级别上完成,同时设定读写操作的互斥性,这样既增强了LIB库读操作的并发性,又保证了LIB数据的完整性及正确性。
B、计算资源二级客户端(以下简称CHost_Client)
CHost_Client是应用资源提交过程中的最底层模块,直接负责资源在计算资源服务器上的部署,同时可以接受CE_Client的命令,完成对资源的卸载、启用、停止等操作。其包括如下模块:
(1)通讯模块
与CE_Client模块通讯,接收CE_Client的控制命令,同时发送 本地Host结点信息。
(2)动态部署模块
该模块是CE_Client应用动态部署模块的下层模块,负责将应用资源部署到Host计算节点上。
(3)管理命令响应模块
解析CE_Client发送的管理命令,并根据命令作出响应来改变计算资源Host结点的状态,具体可分为:停止或开启计算资源Host结点,停止或开启部署在其结点上的应用资源,中断应用资源对外的全部连接。
3.2.2、存储资源客户端
A.存储资源一级客户端(以下简称SE_Client)
读取、存储位于该域能力范围内的文件资源,完成域内文件的分布式存储和读取。SE_Client由如下功能模块组成:通讯模块、元数据管理模块、资源调用模块、LIB操作模块、监控模块及本地信息库(LIB)。其中,本地信息库包含了计算资源客户端的配置文件,下属的Host信息表。
(1)监控模块
SE是一个独立自治区域,其内部结构对外是透明的。自治性隐含着SE域内可以处理内部节点结构的变化,具有自主控制处理能力。其内部结构记录于XML配置文档中,便于监控模块对该文档进行修改。当监控模块接收到上层控制管理***发出的监控命令时,解析内部结构文档,将内部节点拓扑结构发送给上层控制管理***,以便其进行其他操作。
(2)元数据管理模块
元数据管理模块着整个SE内部元数据和对象数据的布局信息,负责***的资源分配和网络虚拟磁盘的地址映射,其可以完成对整个存储***的配置和运行的管理。另外,元数据管理模块通过冗余管理 软件来实现普通存储节点之间的数据冗余关系,并为资源请求提供合理的资源分配方案。在文件传输过程中开启多线程并发传输文件。
(3)资源调用模块
资源调用模块是整个SE_Client客户端的核心模块,该模块位于SE_Client的最底层,负责直接调用应用资源,并向上层返回调用结果,失败则返回失败原因。在其调用过程中,必要的通讯信息由通讯模块发出。其工作模式为一对多模式,即根据元数据管理模块提供的资源分配方案,一个SE_Client同时调用多个SHost_Client端,并发地完成文件资源的读写操作。其中,每个SHost_Client都是独立的存储设备,负责对象数据的存储、备份、迁移和恢复,并负责监控本地存储设备的运行状况和资源情况。除此以外,存储资源还可以作为应用资源中间数据的存储载体。在传输中,SE_Client一对多相应资源请求,具体说来,就是一个Element对应多个Host。
(4)通讯模块
为了实现资源位置的透明性,资源请求均被发送至管理控制***,由其为资源请求指明确定的资源访问位置,而这一通讯过程不能被资源轻松发送端所捕获,因此,资源请求操作中涉及资源位置的信息均不对用户开放。在资源请求被资源端响应的过程中,SE_Client通过通讯模块,将本次资源调用过程信息发送至管理******,同时,管理信息模块可以发送控制命令至资源端,终止本次资源请求,并向资源请求端返回失败信息。除此以外,其它所有模块与控制管理***的通讯信息均由通讯模块处理。
(5)LIB库读写模块
由于SE内部实现自治管理,因此所有SE管理信息均放在本地,形成本地信息库(Local Information Base,以下简称LIB),为了增强该库的可操作性以可移植性,选择XML作为LIB的存储方式。考虑到LIB的重要性,因此所有针对LIB库的读写操作均有LIB库读写 模块统一完成,这样就实现了对LIB信息的集中式管理。对于LIB的读写操作均在线程级别上完成,同时设定读写操作的互斥性,这样既增强了LIB库读操作的并发性,又保证了LIB数据的完整性及正确性。
B、存储资源二级客户端(以下简称SHost_Client)
SHost_Client是调用存储资源流程中的最底层模块,负责数据的直接存储及读取。
(1)通讯模块
与SE_Client模块通讯,接收SE_Client的控制命令,同时传送本地Host结点信息。
(2)存储资源读写模块
负责直接读写存储资源,若文件为分布式存储,每一个Host结点接本地资源读取完毕后,需在SE_Client上集成后再送至资源请求端。
(3)管理命令响应模块
解析SE_Client发送的管理命令,并根据命令作出响应来改变计算资源Host结点的状态,具体可分为:停止或开启计算资源Host结点,中断应用资源对外的全部连接。
3.2.3、数据资源客户端
A、数据资源一级客户端(以下简称DE_Client)
数据资源客户端和API使用者建立端对端连接,***可监控该连接过程,并可以一定程度上终止该连接。数据资源仅仅是一个多级处理***,而不是真正意义上的分布式数据库,即资源请求不能直接由DHost_Client完成,而是由DE_Client进行资源调度后将请求转发。DE中存在的数据库,都在多个DHost上有备份,从而提高数据库接收数据操作请求的能力。这里,将源数据库称为“核心数据库”,而将备份数据库称为“影子数据库”。
DE_Client由如下功能模块组成:同步模块、资源调用模块、LIB (Local Information Base,以下简称LIB)操作模块、通讯模块、监控模块及本地信息库(LIB)。其中,本地信息库包含了计算资源客户端的配置文件,下属的Host信息表;监控模块(Host信息收集)SE是一个独立自治区域,其内部结构对外是透明的。自治性隐含着DE域内可以处理内部节点结构的变化,具有自主控制处理能力。其内部结构记录于XML配置文档中,便于监控模块对该文档进行修改。当监控模块接收到上层控制管理***发出的监控命令时,解析内部结构文档,将内部节点拓扑结构发送给上层控制管理***,以便其进行其他操作。
(1)同步模块
由于DE内Host上数据库是其中一个核心数据库的备份,因此应该保持数据操作的同步,因此对于核心数据库的所有写操作均会被发送至同步模块,同步模块向数据库发送相应的更新影子数据库命令。同时,该模块的读写操作由一组互斥的线程操作完成,既保证了操作的效率又保证了操作的正确。
(2)资源调用模块
调用数据资源流程中的底层模块,负责数据查询命令的执行,具体执行交由数据资源二层客户端完成。
(3)LIB库操作模块
由于DE内部实现自治管理,因此所有SE管理信息均放在本地,形成本地信息库(Local Information Base,以下简称LIB),为了增强该库的可操作性以可移植性,选择XML作为LIB的存储方式。考虑到LIB的重要性,因此所有针对LIB库的读写操作均有LIB库读写模块统一完成,这样就实现了对LIB信息的集中式管理。对于LIB的读写操作均在线程级别上完成,同时设定读写操作的互斥性,这样既增强了LIB库读操作的并发性,又保证了LIB数据的完整性及正确性。
(4)通讯模块
为了实现资源位置的透明性,资源请求均被发送至管理控制***,由其为资源请求指明确定的资源访问位置,而这一通讯过程不能被资源轻松发送端所捕获,因此,资源请求操作中涉及资源位置的信息均不对用户开放。在资源请求被资源端响应的过程中,DE_Client通过通讯模块,将本次资源调用过程信息发送至管理******,同时,管理信息模块可以发送控制命令至资源端,终止本次资源请求,并向资源请求端返回失败信息。除此以外,其它所有模块与控制管理***的通讯信息均由通讯模块处理。
B、数据资源二级客户端(以下简称DHost_Client)
(1)通讯模块
与DE_Client模块通讯,接收DE_Client的控制命令,同时传送本地Host结点信息。
(2)同步模块
核心数据库的同步模块向DE_Client发出同步请求,DE_Client会向其所有的影子数据库发出同步数据指令,同时返回影子数据库信息,核心数据库与影子数据库建立连接。影子数据库的同步模块负责接收更新数据,并对本地数据库进行更新。
(3)管理命令响应模块
解析DE_Client发送的管理命令,并根据命令作出响应来改变计算资源Host结点的状态,具体可分为:停止或开启计算资源Host结点,中断应用资源对外的全部连接。
(4)资源调用模块
调用数据资源流程中的底层模块,负责数据查询命令的执行。
4、API实现
为了实现对资源的受控访问及二次开发,对资源的访问可以通过***提供的API实现,这些API共同形成了资源SDK开发工具。
4.1应用资源API
应用资源API包括以下:
(1)访问控制
用户通过API发出资源请求时,该请求不会被送至资源端,而是被发送至子***,子***通过管理控制核心模块,为本次请求选择合适的资源,并将资源调用的详细信息返回值API端。随后API端根据***返回信息,向资源端发送资源请求。这样就保证了资源访问由子***控制,用户不用关心资源的具***置,一方面增强了API的可用性,一方面保证了资源的访问控制。
(2)队列管理
将资源请求放至其目标资源请求队列中,该队列分为两部分:执行队列及等待队列。由于每个计算资源都有自己可以承受的最大任务数,因此一旦执行队列大小超过最大任务数,该请求会被放至等待队列中,若等待队列大小超多最大任务等待数,本次资源请求返回失败信息。当资源请求被发出时,API端不会与马上与资源端建立连接,而是选择监听一个特定本地端口,当资源请求被执行时,才与资源端建立连接,否则,持续监听该端口。
(3)资源调用
通过API提供的资源调用函数,可以调用使用者权限范围内的所有应用资源,且通用接口统一,调用过程中的通讯及调度过程均由API内部函数完成,对使用者透明。
4.2存储资源API
存储资源API包括以下:
(1)访问控制
用户通过API发出资源请求时,该请求不会被送至资源端,而是被发送至子***,子***通过管理控制核心模块,为本次请求选择合适的资源,并将资源调用的详细信息返回值API端。随后API端根据***返回信息,向资源端发送资源请求。这样就保证了资源访问由 子***控制,用户不用关心资源的具***置,一方面增强了API的可用性,一方面保证了资源的访问控制。
(2)资源分配
根据资源请求信息,子***管理控制***选取合适的存储资源集构成资源分配方案,并将分配方案返回,构成本地资源分配方案,由此派发资源调用请求。
(3)资源调用
根据本地资源调用方案,多线程的实现存储资源调用。具体说来,若为存储文件操作,会依照资源调用方案,分割文件,将每个文件块建立不同连接,多线程发送文件;若为读取文件,依照资源调用方案,先建立不同连接,多线程回收临时文件块,然后依照顺序拼接成完整文件,后删除临时文件块。
4.3数据资源API
数据资源API包括以下:
(1)访问控制
用户通过API发出资源请求时,该请求不会被送至资源端,而是被发送至子***,子***通过管理控制核心模块,为本次请求选择合适的资源,并将资源调用的详细信息返回值API端。随后API端根据***返回信息,向资源端发送资源请求。这样就保证了资源访问由子***控制,用户不用关心资源的具***置,一方面增强了API的可用性,一方面保证了资源的访问控制。
(2)资源调用
资源调用API完成基于JDBC访问数据库的安全控制,能够支持多种数据库的访问,提供一个SQL语言中Select子集的本地访问控制。通过修改影子数据库的配置属性提供对角色、库、数据表、字段和过滤条件的维护。此外方便用户维护访问控制策略,实现多种数据库和文件资源的本地授权。
4.4计算资源API
计算资源API包括以下:
(1)上传应用程序
如果用户使用的是Web浏览器,则可直接从Web页面上传的应用程序。要上传应用程序,请点击前端页面上的上传按钮。根据用户提出的计算资源描述需求,***选择合适的计算资源部署您的应用。还可从命令提示符上传的应用程序。用于运行的命令位于SDK的tools/bin/upload。jar目录中。
(2)更新索引
当使用update操作上传应用程序时,更新将包括应用程序索引配置(CEDoc。xml文档)。如果索引配置定义了描述文件中上还不存在的索引,则控制管理模块将创建此新索引。创建索引可能需要一些时间,时间长短取决于数据存储区中已存在的需要编入新索引的数据量。如果应用程序执行需要索引的查询但该索引还未构建完成,则该查询将引发异常。
要防止出现该问题,必须确保在索引构建完成之前,要求新索引的应用程序的新版本不是应用程序的活动版本。其中一种做法是,每当用户在配置中添加或更改索引时,即在CEDoc。xml文档中为应用程序指定一个新版本号。应用程序将以新版本上传,不会自动变成默认的版本。当索引已完成构建时,可使用管理控制台的“版本”部分将默认版本更改为新版本。
本发明实施例提供网格资源管理***,设计并实现了统一资源描述模型,资源描述模型包含资源的信息说明、发布类型、所含元素以及可选架构,以便资源开发者提供的资源可以有效被其他应用所使用,同时,设计并实现了一套资源构造方案,该方案结合资源描述模型,利用Web Service技术框架实现了对资源本地操作的有效封装,对外提供统一访问接口,在一定程度上实现了资源共享。另外,更设 计了一套资源开发API,利用该API可以对资源进行访问,并可以根据不同层次的资源需求,对资源进行整合或二次开发。
需要注意的是,以上内容是结合具体的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施方式仅限于此,在本发明的上述指导下,本领域技术人员可以在上述实施例的基础上进行各种改进和变形,而这些改进或者变形落在本发明的保护范围内。
Claims (8)
1.一种网格资源管理***,其特征在于,所述***包括:
管理控制***,用来负责管理下属所有资源域的客户端,同时响应上层资源请求端的资源请求,并将资源请求发送至相应的资源客户端由其处理,
资源客户端,所述资源客户端具有二级机构,用来对所述资源请求进行相应处理;
所述管理控制***具体包括:
通信模块,用来负责所述管理控制***和各客户端及资源请求端的通信;其中,所述通信分为两部分:将资源访问信息按照一定的格式返回给资源请求端,使得资源请求端与资源端建立资源访问连接;访问资源客户端,收集必要的资源访问信息;
资源信息查询模块,用来依照资源请求,获取指定的资源信息,交由该资源信息查询模块调用子模块做进一步处理;
管理命令模块,用来向资源客户端发出管理控制命令,其中,所述管理控制命令包括:启动资源服务命令,资源状态为可用,使得资源可以响应资源请求;关闭资源服务命令,资源状态为不可用,使得资源不可被外界访问;终止资源访问命令,中断当前所有的资源访问连接,资源暂时进入不可用状态;
计算资源访问模块,用来提供计算资源访问入口,通过资源信息查询模块,获取访问计算资源必要的信息,并按照一定的格式返回给通信模块,以支持计算资源的调用;
存储资源访问模块,用来提供存储资源访问入口,通过资源信息查询模块,获取访问存储资源必要的信息,按照一定的格式返回给通信模块,以支持存储资源的调用;
应用资源访问模块,用来提供应用资源访问入口,通过资源信息查询模块,获取访问应用资源必要的信息,按照一定的格式返回给通信模块,以支持应用资源的调用;
数据资源访问模块,用来提供数据资源访问入口,通过资源信息查询模块,获取访问数据资源必要的信息,按照一定的格式返回给通信模块,以支持数据资源的调用;
资源信息更新模块,用来依照资源更新请求,更新指定资源的相关信息,同时将更新操作的执行结果返回给其调用模块。
2.根据权利要求1所述的***,其特征在于,所述资源客户端具体包括:计算资源客户端、存储资源客户端和数据资源客户端,所述计算资源客户端、存储资源客户端和数据资源客户端分别包含二级机构,即分别包含相应的一级客户端和二级客户端。
3.根据权利要求2所述的***,其特征在于,所述计算资源一级客户端具体包括:
监控模块,用来当接收到上层的管理控制***发出的监控命令时,解析内部结构文档,并将内部节点拓扑结构发送给上层管理控制***;
资源调用模块,用来直接调用应用资源,并向上层返回调用结果;
超时监控模块,用来根据预先设定的监控时间量度,监控是否有资源调用结果返回;
通讯模块,用来将本次应用资源调用过程信息发送至管理控制***;
应用动态部署模块,用来进行应用资源的动态部署;
LIB库读写模块,用来实现对LIB库的读写操作,所述LIB的读写操作均在线程级别上完成,读写操作具有互斥性。
4.根据权利要求3所述的***,其特征在于,所述计算资源二级客户端具体包括:
通讯模块,用来与计算资源一级客户端CE_Client进行通讯,包括接收CE_Client的控制命令,和发送本地Host结点信息;
动态部署模块,所述动态部署模块为CE_Client应用动态部署模块的下层模块,用来将应用资源部署到Host计算节点上;
管理命令响应模块,用来解析CE_Client发送的控制命令,并根据所述控制命令作出响应来改变计算资源Host结点的状态,其中,所述改变计算资源Host节点的状态具体包括:停止或开启计算资源Host结点,停止或开启部署在其结点上的应用资源,中断应用资源对外的全部连接。
5.根据权利要求2所述的***,其特征在于,所述存储资源一级客户端具体包括:
监控模块,用来当接收到上层的管理控制***发出的监控命令时,解析内部结构文档,将内部节点拓扑结构发送给上层管理控制***;
元数据管理模块,用来存储整个元数据和对象数据的布局信息和负责***的资源分配和网络虚拟磁盘的地址映射;
资源调用模块,用来直接调用应用资源,并向上层返回调用结果;
通讯模块,用来将本次资源调用过程信息发送至管理控制***;
LIB库读写模块,用来实现对LIB库的读写操作,所述LIB的读写操作均在线程级别上完成,读写操作具有互斥性。
6.根据权利要求5所述的***,其特征在于,所述存储资源二级客户端具体包括:
通讯模块,用来与存储资源一级客户端SE_Client模块通讯,包括接收SE_Client的控制命令和传送本地Host结点信息;
存储资源读写模块,用来负责直接读写存储资源;
管理命令响应模块,用来解析SE_Client发送的管理命令,并根据所述管理命令作出响应来改变计算资源Host结点的状态,所述改变计算资源Host结点的状态具体包括:停止或开启计算资源Host结点,中断应用资源对外的全部连接。
7.根据权利要求2所述的***,其特征在于,所述数据资源一级客户端具体包括:
同步模块,用来保持对核心数据库的所有读写操作进行同步;
资源调用模块,用来负责数据查询命令的执行;
LIB库操作模块,用来实现对LIB库的读写操作,所述对LIB的读写操作均在线程级别上完成,并具有互斥性;
通讯模块,用来与管理控制***通讯,将本次资源调用过程信息发送至管理控制***。
8.根据权利要求7所述的***,其特征在于,所述数据资源二级客户端具体包括:
通讯模块,用来与数据资源一级客户端DE_Client模块通讯,包括接收DE_Client的控制命令和传送本地Host结点信息;
同步模块,用来向DE_Client发出同步请求;
管理命令响应模块,用来解析DE_Client发送的管理命令,并根据所述管理命令作出响应来改变计算资源Host结点的状态,所述改变计算资源Host结点的状态具体包括:停止或开启计算资源Host结点,中断应用资源对外的全部连接;
资源调用模块,用来调用数据资源流程中的底层模块,负责数据查询命令的执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110133577.6A CN102790788B (zh) | 2011-05-23 | 2011-05-23 | 一种网格资源管理*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110133577.6A CN102790788B (zh) | 2011-05-23 | 2011-05-23 | 一种网格资源管理*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102790788A CN102790788A (zh) | 2012-11-21 |
CN102790788B true CN102790788B (zh) | 2014-12-10 |
Family
ID=47156088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110133577.6A Active CN102790788B (zh) | 2011-05-23 | 2011-05-23 | 一种网格资源管理*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102790788B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105988881B (zh) * | 2015-02-10 | 2019-02-12 | 菜鸟智能物流控股有限公司 | 用于处理资源访问操作信息的方法与设备 |
CN108052380B (zh) * | 2017-12-07 | 2020-10-30 | 金蝶软件(中国)有限公司 | 业务功能对接方法、装置、计算机设备及存储介质 |
CN110633164B (zh) * | 2019-08-09 | 2023-05-16 | 锐捷网络股份有限公司 | 一种面向消息的中间件故障恢复方法及装置 |
CN113127443B (zh) * | 2020-01-14 | 2024-06-18 | 北京京东振世信息技术有限公司 | 一种更新缓存数据的方法和装置 |
CN113485761A (zh) * | 2021-06-29 | 2021-10-08 | 未鲲(上海)科技服务有限公司 | 针对资源访问请求的处理方法、装置、设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713595A (zh) * | 2004-06-15 | 2005-12-28 | 国际商业机器公司 | 协调独立外部资源在请求网格环境中的使用的方法和*** |
CN1924907A (zh) * | 2005-09-02 | 2007-03-07 | 鸿富锦精密工业(深圳)有限公司 | 网络资源自动化管理***及方法 |
CN101291337A (zh) * | 2008-05-30 | 2008-10-22 | 同济大学 | 一种网格资源管理***及管理方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8713179B2 (en) * | 2005-10-04 | 2014-04-29 | International Business Machines Corporation | Grid computing accounting and statistics management system |
-
2011
- 2011-05-23 CN CN201110133577.6A patent/CN102790788B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1713595A (zh) * | 2004-06-15 | 2005-12-28 | 国际商业机器公司 | 协调独立外部资源在请求网格环境中的使用的方法和*** |
CN1924907A (zh) * | 2005-09-02 | 2007-03-07 | 鸿富锦精密工业(深圳)有限公司 | 网络资源自动化管理***及方法 |
CN101291337A (zh) * | 2008-05-30 | 2008-10-22 | 同济大学 | 一种网格资源管理***及管理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102790788A (zh) | 2012-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102103518B (zh) | 一种在虚拟化环境中管理资源的***及其实现方法 | |
US11038778B2 (en) | Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature | |
US10673981B2 (en) | Workload rebalancing in heterogeneous resource environments | |
US10447806B1 (en) | Workload scheduling across heterogeneous resource environments | |
US10042628B2 (en) | Automated upgrade system for a service-based distributed computer system | |
CN104040503B (zh) | 用于多个可用性管理器的简化和协调编排的开放弹性框架 | |
US11520506B2 (en) | Techniques for implementing fault domain sets | |
CN104081353B (zh) | 可缩放环境中的动态负载平衡 | |
CN102681899B (zh) | 云计算服务平台的虚拟计算资源动态管理方法 | |
CN109803018A (zh) | 一种基于Mesos和YARN结合的DCOS云管理平台 | |
US20150263983A1 (en) | System and Method for Allocating Resources and Managing a Cloud Based Computer System | |
CN111527474B (zh) | 软件功能的动态交付 | |
CN107924336A (zh) | 用于虚拟服务器机架部署中的分散式机架体系架构的硬件管理*** | |
US20170364844A1 (en) | Automated-application-release-management subsystem that supports insertion of advice-based crosscutting functionality into pipelines | |
CN103140842A (zh) | 用于提供灵活存储和检索快照档案的***和方法 | |
CN102790788B (zh) | 一种网格资源管理*** | |
CN104636077A (zh) | 用于虚拟机的网络块设备存储***与方法 | |
CN112104723A (zh) | 一种多集群的数据处理***及方法 | |
Agirre et al. | QoS aware middleware support for dynamically reconfigurable component based IoT applications | |
Beckman et al. | Exascale operating systems and runtime software report | |
CN112256406B (zh) | 作业流程平台化调度方法 | |
Rodriguez-Martinez et al. | Open source cloud computing tools: A case study with a weather application | |
CN111290839A (zh) | 一种基于openstack的iaas云平台*** | |
US10171370B1 (en) | Distribution operating system | |
CN106462444A (zh) | 云提供商选择和投影的架构及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |