一种基于虚拟服务的异构网格工作流管理系统的制作方法

文档序号:7686403阅读:191来源:国知局
专利名称:一种基于虚拟服务的异构网格工作流管理系统的制作方法
技术领域
本发明属于网格计算领域,具体涉及一种基于虚拟服务的异构网格工作流管理系统。

背景技术
网格是继Internet之后的又一次重大技术进步,在国外,网格往往被称为“下一代万维网”。网格的根本特征是资源共享、消除Internet上的资源孤岛。它将地理上分布的、异构的各种资源通过高速网络连接并集成起来,实现计算资源、存储资源、数据资源、信息资源、知识资源和专家资源的全面共享。目前国内外比较著名的网格平台有GPE(德国国家网格平台),CGSP(中国教育科研网格平台)和GOS(织女星网格操作系统),这些由不同的大学及相关的科研机构开发出来的网格平台,在其各自专注的不同领域发挥了重要的作用。
工作流管理技术是一种过程建模和过程管理核心技术,它可以与其它应用系统有效地结合,利用网络上已有的Web Service(Web服务),据此对问题求解过程进行重组,以提高效率。针对具体应用可以利用工作流方法进行过程的建模和深入分析,不仅可以规范应用的流程,发现流程中不合理的环节,进而对整个过程进行优化重组,优化处理过程。
然而,网格是构建在国际互联网上的一系列新兴技术,由于尚处于发展阶段,很多技术标准仍处于制定阶段。如何将网格服务尤其是异构网格服务,以及相对成熟的网格作业管理系统与工作流技术相结合,是当前网格工作流管理系统需要解决的首要问题。商用的ActiveBPEL软件提供了一套工作流管理系统,提供一个健壮的运行环境,可以编排,控制Web Services,通过分布式的多引擎连接,可以实现负载均衡。然而单纯地将网格服务作为原子服务加入ActiveBPEL的工作流管理系统存在以下问题 1)异构环境下,工作流服务流程中的异构网格服务交互困难; 2)对服务的可靠性的支持力度不够,使得整个工作流服务的可靠性依赖于每个单一原子服务的可靠性;一旦某一原子服务资源失效,整个服务流程就会终止。
3)较弱的适应性,在服务动态变化的网格环境下,不能保持工作流服务的相对独立性和稳定性;任何一个子任务发生变化,将导致程序代码重新编写和部署。
4)服务与数据的紧耦合,导致系统的控制逻辑变得很模糊。工作流服务的定制者不需要关心外部数据的具体物理位置。


发明内容
本发明的目的是提供一种基于虚拟服务的异构网格工作流管理系统,该系统具有简单灵活,易于实现的特点,并且不影响各异构网格平台自身的独立性。
本发明提供一种基于虚拟服务的异构网格工作流管理系统,其特征在于该系统包括虚拟服务信息管理模块,虚拟服务调度模块和虚拟数据中心管理模块; 虚拟信息管理模块用于集成各异构网格平台的服务信息,并向虚拟服务调度模块提供分组后的虚拟服务信息; 虚拟服务调度模块根据工作流引擎提供的输入参数,在虚拟信息中心模块提供的虚拟服务信息中,选择适当的服务在该服务所在的网格平台上执行,并将结果作为输出参数返回工作流引擎,在服务调度过程中涉及的外部数据请求均提交给虚拟数据中心管理模块; 虚拟数据中心管理模块接收虚拟服务调度模块提供的外部数据请求,将其中的虚拟数据地址经过地址格式转换为物理地址,并进行实际的数据操作,再将结果还原成虚拟地址,返回虚拟服务调度模块。
本发明通过虚拟服务的引入,屏蔽了底层网格平台的异构性,并将网格服务的选择和调度加入了工作流管理系统,一方面实现了各异构网格平台之间的服务资源互操作,另一方面提高了该网格工作流管理系统的可靠性和灵活性。具体而言,本发明具有以下优点及效果 (1)灵活性。异构网格服务的更新,通过虚拟服务组管理完成,而不影响工作流流程的执行,不必重新编写工作流服务代码,不必重新部署。
(2)可靠性。通过在同一虚拟服务组中增加物理服务备份的形式,可以提高工作流管理系统的可靠性。当组内某一或某些服务资源退出或失效时,不影响工作流流程的执行。
(3)数据与服务的松耦合性。通过虚拟数据中心的引入,工作流服务的定制者无需了解外部数据的绝对地址,更无需将该地址写入工作流代码中。当外部数据失效或地址变换时,只需改变数据中心中的映射关系,而无需修改服务流程。
(4)可扩展性。为其他网格平台留有统一的接口,新的网格平台加入,只需部署特定的插件模块,不会影响原有网格工作流管理系统的运行。
当发明采用JAVA作为开发工具时,可以实现平台无关性。



图1为本发明基于虚拟服务的异构网格工作流管理系统的结构示意图; 图2为虚拟服务信息管理模块的结构示意图; 图3为虚拟服务调度模块的结构示意图; 图4为虚拟数据中心管理模块的结构示意图; 图5为本发明基于虚拟服务的异构网格工作流管理系统的各模块综合示意图。

具体实施例方式 从工作原理的角度,可以将整个工作流管理系统分为三个部分,即虚拟服务信息管理模块,虚拟服务调度模块和虚拟数据中心管理模块。由于受到机器硬件性能的限制,这三个模块可分开安装到不同的机器上;而从减少通信开销的角度考虑,避免在服务执行过程中,虚拟服务调度模块与工作流引擎间频繁的网络消息传输,最好将虚拟服务调度模块和工作流引擎安装在同一台机器上。
工作流管理系统的结构如图1所示,虚拟信息管理模块1负责集成各异构网格平台5.1,5.2...5.N的服务信息,并向虚拟服务调度模块2提供分组后的虚拟服务信息;虚拟服务调度模块2接收工作流引擎4的输入参数,在虚拟信息中心模块1提供的虚拟服务组中,选择适当的服务在该服务所在的网格平台5上执行,并将结果作为输出参数返回工作流引擎4,在服务调度过程中涉及的外部数据请求均需提交给虚拟数据中心管理模块3;虚拟数据中心管理模块3接收虚拟服务调度模块2提供的虚拟数据地址和数据的操作方法名,经过地址格式转换为物理地址后做实际的数据操作,并将结果还原成虚拟地址,返回虚拟服务调度模块2。
下面分别举例对各模块作进一步详细的说明。
如图2所示,虚拟服务信息管理模块1包括信息中心模块11,组管理模块12和同步更新模块13。
信息中心模块11负责收集各异构网格平台5.1,5.2,...5.N的服务信息,包括服务所在结点机的CPU性能,内存容量,网络带宽等硬件信息,和服务本身的类型,所属的网格平台名称,服务的执行代价等信息,并通过统一的服务信息描述语言将服务信息集成为XML(可扩展标识语言)文档,供组管理模块12查询使用。当服务信息发生变化时,信息中心模块11负责将更新信息,即最新的XML文档,封装成SOAP(简单对象访问协议)消息,发送给同步更新模块13。
组管理模块12向信息中心模块11提出服务信息的查询请求,在得到的查询结果的服务集合中,根据服务信息间相同或相似的特性,如相同的所属网格平台,相似的功能描述,相同的服务执行代价等,对服务分组,并对虚拟服务组进行管理,包括添加或删除虚拟服务组,变更组名称,注册,注销或更新组内服务信息等操作。分组后的服务信息以多个XML文档的形式组织,每一个XML文档对应于一个虚拟服务组;组管理模块12接收同步更新模块13的更新查询的结果,将查询结果得到的XML文档与虚拟服务组中各服务原有XML文档比对,包括新增或删除的标签,新增删除或更新的属性等,并进行必要的更新操作。
当异构网格平台5.1,5.2,...5.N中的服务信息发生变化时,信息中心模块11中收集到的服务信息也会发生相应的变化,此时,为了保证组管理模块12中的服务信息保持同步,需通过同步更新模块13更新各虚拟服务组内的服务信息。根据应用需求,同步更新可采用定时更新的方式,即同步更新模块13定时向信息中心模块11提出查询请求;也可以采用触发更新的方式,即当服务信息发生变化时,由信息中心模块11向同步更新模块13发出更新通告,触发同步更新模块13的查询请求。以上两种方式的查询请求执行完毕后,都需将查询结果即最新的XML,封装成SOAP消息,发送给组管理模块12。
如图3所示,虚拟服务调度模块2包括服务入口预处理模块21,规则库模型22,调度匹配管理模块23,服务调度信息解析模块24,服务调度模块25和服务出口处理模块26。
服务入口预处理模块21接收工作流引擎4的输入参数,包括调用WebService需要的服务物理地址,方法名,参数类型和参数值等,以及涉及外部数据操作的请求,将数据的虚拟地址提交给虚拟数据中心管理模块3处理,并接收返回的数据虚拟地址的结果。预处理过程完毕后,触发调度匹配管理模块23的执行。
规则库模型22用于存放一组预置的计算公式,每一个计算公式对应于一种服务调度模型,如最小代价模型,最快响应时间模型,最优负载平衡模型等。计算公式由服务信息中结点机的CPU性能,内存容量,网络带宽,服务执行代价,所属网格平台名称等各项组成,各项在公式中所占的权重由不同的服务调度模型决定,如在最快响应时间模型中,网络带宽项的所占权重最大,而在最小代价模型中,服务执行代价项的所占权重最大。该预置公式组提供给调度匹配管理模块23选择使用。
调度匹配管理模块23接收服务入口预处理模块21的触发后,根据用户选择的服务调度模型,从规则库模型22中选择出恰当的计算公式,并根据该公式,计算虚拟服务信息管理模块1中提供的虚拟服务组中各服务的加权平均值,从中选择出一个加权平均值最大的服务,将该服务信息,如服务所属平台名称,服务物理地址,WSDL(Web服务描述文档)地址等提交给服务调度信息解析模块24。
服务调度信息解析模块24接收调度匹配管理模块23提供的服务信息,根据其中WSDL地址,通过XPath(XML路径语言)查询技术,解析出实际调用该服务时所需要的具体参数,如服务名,名字空间,方法名,输入输出参数类型和输入参数值等,并将该参数以及服务所属平台名称的信息发送给服务调度模块25。
服务调度模块25负责将由服务调度信息解析模块24提供的参数封装成该服务所属网格平台能够接受的输入参数形式,通过调用该网格平台特定的服务提交接口,发送SOAP请求消息,在网格平台上执行该服务,执行过程结束后,结果以SOAP响应消息的形式返回,消息中包括该服务所属网格平台的输出参数,发送给服务出口处理模块26。
服务出口处理模块26取得服务调度模块25的运行结果参数,通过XPath技术,解析出其中的服务名,方法名,服务物理地址,输出参数的类型,输出参数的值等信息,封装成Web Service的输出参数,发送给工作流引擎4。
如图4所示,虚拟数据中心管理模块3包括地址格式转换模块31和异构数据传输模块32。
地址格式转换模块31接收虚拟服务调度模块2的数据操作请求,该请求包括数据的虚拟地址和数据的操作方法名。根据预先制定的虚拟地址和物理地址间的映射关系,将数据的虚拟地址转换为物理地址,并将数据的物理地址和数据的操作方法名发送给异构数据传输模块32做实际的数据操作,操作结束后,将返回结果的物理地址根据映射关系转换为虚拟地址,以虚拟地址的形式返回给虚拟服务调度模块2。
异构数据传输模块32接收地址格式转换模块31的数据操作请求,根据对速度或稳定性的不同要求,和数据本身的特性如数据量大小和分块大小,采用不同的数据传输软件6.1,6.2,...6.N执行具体的数据的操作方法名指定的操作,如上传,下载等。网格环境下使用的数据传输软件通常包括采用ftp,GridFTP等。
实例 为了验证本发明系统的可行性和有效性,在真实环境下配置本发明系统,我们对四个异构网格平台下的网格服务进行工作流管理。两个网格平台采用中国教育科研网格支撑中间件CGSP搭建,另两个网格平台采用中国科学院计算所开发的GOS网格中间件搭建。详细试验环境配置见表1所示。
经过试验测试,可以实现以下操作 (1)在工作流流程中包含CGSP和GOS两网格平台上的服务。实现异构网格服务在工作流作业中的透明选择。
(2)更新各网格平台上的服务信息,该信息都可以在信息中心和虚拟服务组中体现出来。
(3)根据功能需求和QoS需求,可动态地对虚拟服务组匹配选择并执行,无需人工配置或重新编写代码。
(4)工作流流程中只包含数据的虚拟地址,虚拟地址和物理地址的转换以及实际的数据操作都可以完成。
表1实验环境配置

权利要求
1.一种基于虚拟服务的异构网格工作流管理系统,其特征在于该系统包括虚拟服务信息管理模块(1),虚拟服务调度模块(2)和虚拟数据中心管理模块(3);
虚拟信息管理模块(1)用于集成各异构网格平台的服务信息,并向虚拟服务调度模块(2)提供分组后的虚拟服务信息;
虚拟服务调度模块(2)根据工作流引擎提供的输入参数,在虚拟信息中心模块(1)提供的虚拟服务信息中,选择适当的服务在该服务所在的网格平台上执行,并将结果作为输出参数返回工作流引擎,在服务调度过程中涉及的外部数据请求均提交给虚拟数据中心管理模块(3);
虚拟数据中心管理模块(3)接收虚拟服务调度模块(2)提供的外部数据请求,将其中的虚拟数据地址经过地址格式转换为物理地址,并进行实际的数据操作,再将结果还原成虚拟地址,返回虚拟服务调度模块(2)。
2.根据权利要求1所述的异构网格工作流管理系统,其特征在于虚拟服务信息管理模块(1)包括信息中心模块(11),组管理模块(12)和同步更新模块(13);
信息中心模块(11)负责收集各异构网格平台的服务信息,并通过统一的服务信息描述语言将服务信息集成为XML文档,供组管理模块(12)查询使用;当服务信息发生变化时,信息中心模块(11)负责将更新信息发送给同步更新模块(13);
组管理模块(12)向信息中心模块(11)提出服务信息的查询请求,在得到的查询结果的服务集合中,根据服务信息间相同或相似的特性对服务分组,并对虚拟服务组进行管理,分组后的服务信息以多个xml文档的形式组织,每一个xml文档对应于一个虚拟服务组;组管理模块(12)接收同步更新模块(13)的更新查询的结果,将查询结果与虚拟服务组中各服务原有信息比对,并进行更新操作;
同步更新模块(13)向信息中心模块(11)提出查询请求,将更新后的查询结果发送给组管理模块(12)。
3.根据权利要求1或2所述的异构网格工作流管理系统,其特征在于虚拟服务调度模块(2)包括服务入口预处理模块(21),规则库模型(22),调度匹配管理模块(23),服务调度信息解析模块(24),服务调度模块(25)和服务出口处理模块(26);
服务入口预处理模块(21)接收工作流引擎(4)的输入参数,将数据的虚拟地址提交给虚拟数据中心管理模块(3)处理,并接收返回的数据虚拟地址的结果;预处理过程完毕后,触发调度匹配管理模块(23)的执行;
规则库模型(22)用于存放一组预置的计算公式,供调度匹配管理模块(23)选择使用,每一个计算公式对应于一种服务调度模型;
调度匹配管理模块(23)接收服务入口预处理模块(21)的触发后,根据用户选择的服务调度模型,从规则库模型(22)中选择出恰当的计算公式,并根据该公式,计算虚拟服务信息管理模块(1)中提供的虚拟服务组中各服务的加权平均值,从中选择出一个加权平均值最大的服务,将该服务信息提交给服务调度信息解析模块(24);
服务调度信息解析模块(24)接收调度匹配管理模块(23)提供的服务信息,根据其中服务描述文档地址,解析出实际调用该服务时所需要的具体参数,并将该参数以及服务所属平台名称的信息发送给服务调度模块(25);
服务调度模块(25)负责将由服务调度信息解析模块(24)提供的参数封装成该服务所属网格平台能够接受的输入参数形式,通过调用该网格平台特定的服务提交接口,在网格平台上执行该服务,执行过程结束后,结果以该服务所属网格平台的输出参数形式返回,并发送给服务出口处理模块(26);
服务出口处理模块(26)获取服务调度模块(25)的运行结果参数,并予以解析,将解析后的信息封装后发送给工作流引擎。
4.根据权利要求1或2所述的异构网格工作流管理系统,其特征在于虚拟数据中心管理模块(3)包括地址格式转换模块(31)和异构数据传输模块(32);
地址格式转换模块(31)接收虚拟服务调度模块(2)的数据操作请求,根据预先制定的虚拟地址和物理地址间的映射关系,将数据的虚拟地址转换为物理地址,并将数据的物理地址和数据的操作方法名发送给异构数据传输模块(32);并将返回结果的物理地址根据映射关系转换为虚拟地址,以虚拟地址的形式返回给虚拟服务调度模块(2);
异构数据传输模块(32)接收地址格式转换模块(31)的数据操作请求,执行具体的数据的操作方法名指定的操作,并返回结果的物理地址。
全文摘要
本发明公开了一种基于虚拟服务的异构网格工作流管理系统,其中,虚拟信息管理模块用于集成各异构网格平台的服务信息,并向虚拟服务调度模块提供分组后的虚拟服务信息;虚拟服务调度模块根据工作流引擎提供的输入参数,在虚拟服务组中选择适当的服务在网格平台上执行,并将结果返回工作流引擎,外部数据请求提交给虚拟数据中心管理模块;虚拟数据中心管理模块将虚拟数据地址转换为物理地址,实际数据操作后将结果还原成虚拟地址并返回。本发明通过虚拟服务的引入,屏蔽了底层网格平台的异构性,并将网格服务的选择和调度加入了工作流管理系统,实现了各异构网格平台之间的服务资源互操作,提高了该网格工作流管理系统的可靠性和灵活性。
文档编号H04L12/46GK101227375SQ20081004684
公开日2008年7月23日 申请日期2008年1月29日 优先权日2008年1月29日
发明者海 金, 凯 王, 邹德清, 陶永才, 松 吴, 汉 何, 李运发, 廖振松 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1