首页 / 专利库 / 软件 / 模型驱动体系结构 / 一种用于网格计算的模型驱动方法

一种用于网格计算的模型驱动方法

阅读:272发布:2020-07-12

专利汇可以提供一种用于网格计算的模型驱动方法专利检索,专利查询,专利分析的服务。并且网格计算平台的模型驱动开发方法是继OOP(Object-Oriented Program,面向对象编程)开发思想之后提出的一种新的 软件 设计方法学,该方法目的是实现当前各种平台下的软件实现互操作和实现所开发的软件具有跨平台两大特性。网格计算正是在当前网络环境下实现异构环境下软 硬件 资源的共享和协作。该方法一方面可以方便网格用户开发网格计算,另一方面使开发的网格计算平台具有跨平台和互操作的优点。同时当前许多开源的软件为我们设计网格计算平台的模型驱动开发提供了便利,我们在设计过程中分成应用分析层、应用建模层和应用实现层的三层体系结构来设计网格计算平台的。,下面是一种用于网格计算的模型驱动方法专利的具体信息内容。

1.一种用于网格计算的模型驱动方法,其特征在于该方法由网格计算平台 的模型驱动方法和基于网格计算平台的应用方法组成,其中,网格计算平台的模 型驱动方法实现步骤为:
步骤1).将网格服务客户端和服务器端的实现流程中的每一步看作是系 统无关模型的一个基本元素,通过平台建模框架插件进行平台独立模型建模, 对源文件采用统一建模语言类图来定义模型、执行模型采用统一建模语言事件 来定义;实现时将这些基本元模型采用小部件工具集设计成相应的可操作图标, 放图标显示区里,支持用户的拖拉操作;
a)平台建模框架模型定义层:通过可扩展建模语言、统一建模语言和瓜 哇语言来定义模型;
b)平台建模框架模型表示层:将定义的模型转换为扩展建模语言建模接 口、平台建模框架核心和瓜哇语言注释;
c)平台建模框架模型建立层:生成平台建模框架核心模型;
d)平台建模框架模型生成:通过平台建模框架提供的平台建模编辑框架 和平台建模生成框架来编辑和生成平台独立模型;
步骤2).将建立好的平台独立模型通过图形编辑框架插件来生成可视化 的界面,得到网格服务工作流,在编辑区支持对平台独立模型的连接、拖拉、建 立和修改等操作,实现时采用图形编辑框架中二维图形插件提供的对象联接类来建 立连接,其它操作都通过小部件图形绘图包和小部件图形事件类实现的;
步骤3).实现图标区平台独立模型和编辑区平台相关模型之间的同步操 作;
步骤4).通过拖拉等可视化操作生成网格服务端和客户端的源文件,并 自动调用网格容器来部署网格服务;
步骤5).如果部署成功,则转到步骤6),反之则转到步骤1)进行修改;
步骤6).通过客户端来调用服务器端提供的网格服务,如果成功,则一 个网格服务生命周期结束,否则转到步骤4);
基于网格计算平台的应用实现流程为:
步骤21).客户端向通用描述发现调用中心发送图形填充请求,同时各服务器端向通 用描述发现调用中心发布服务;
步骤22).服务中心对客户请求的服务,采用遍历查找算法
步骤23).对查找结果进行匹配判断,如果没有相应的请求服务,则跳转 到步骤27);
步骤24).如果匹配成功,则需进行任务分解,如果是部分填充,则将任 务分配到虚拟组织下已注册该服务的服务器端,如果是全部填充,刚无需进行任 务分解,直接找一台最优性能的机器完成该任务;
步骤25).服务器端进行图形的填充任务,客户端同步显示填充进度,让 用户能实时了解任务的执行情况;
步骤26).当客户端图形填充完毕,这次的网格服务生命周期结束;
步骤27).向客户端提交“目前没有完成客户请求任务的服务端”的提示 信息,并结束。

说明书全文

技术领域

发明是一种新型的网格计算平台开发方法,并在此平台的基础上给出了 开发应用的拓扑结构。主要用于实现网格计算的快速开发,提高模型的重用性。 解决了网格计算应用开发的周期长、可视化操作差等缺点。

背景技术

网格技术是随着Web技术的发展而出现的一种新兴技术,它较好的适应了 Internet的特点,能充分实现资源的共享和任务之间的协作完成。目前,网格环 境中有许多计算资源被闲置,如何充分利用这些资源,一方面需要构建网格的计 算基础设施,同时还需要有好的网格应用开发支撑平台。尽管GT3(Globus Toolkit 3.x,Globus工具箱3)已经为网格应用开发提供了功能支持,所有的网 格服务遵循OGSA(Open Grid Service Architecture,开放网格服务)/OGSI(Open Grid Service Infrastructure,开放网格服务基础),但是在开发速度和可视化 方面还存在着不足。
由于模型驱动方法(MDA)有着诸多优点,它在电子商务、移动计算和分布式 计算等方面都有较好的应用前景,对模型驱动开发方法的研究正成为学术界和工 业界的热点之一。模型驱动开发方法的关键技术包括平台独立模型PIM (Platform-independent model)的建立、平台相关模型 PSM(Platform-sepecificmodel)的建立、模型的可视化操作和代码的自动生成。 而可视化显示和代码自动生成是影响网格技术广泛使用的重要因素之一,因此研 究网格计算平台下的模型驱动开发方法具有重要意义。
网格计算平台的模型驱动开发过程主要包括三个方面:(1)网格计算平台体 系结构的设计(2)基于MVC(Model-View-Control,模型-视图-控制)体系的MDA 设计流程(3)基于网格计算平台的应用开发流程。目前对前两个方面的研究已 经实现,可以通过设计的网格计算平台从一个网格服务从接口定义到客户端的请 求自动完成;也可以通过自动生成网格服务的可视化显示,在显示模型上通过点 击操作自动生成网格服务流程中需要的代码,同时对生成的代码进行修改,完成 模型间的相互协作,达到整个网格服务流程的一致性。当前国内外对模型驱动方 法的研究主要是基于J2EE的Bean模型来进行软件开发的,关于网格计算平台进 行模型驱动还是尝试阶段,在设计过程中对于PIM和PSM分别是通过IBM公司的 Eclipse平台中增加平台建模框架EMF(Eclipse Modeling Framework)和 GEF(Graphical Editing Framework,图形编辑框架)插件来实现的。

发明内容

技术问题:本发明的目的是提供一种可视化用于网格计算的模型驱动方法, 来解决网格计算服务基于GT3的开发速度慢和操作烦琐的问题,与过去使用的开 台软件开发方法不同,本方法是一种通过建立模型来驱动生成代码的方法,通过 使用本发明提出的方法可以达到快速发布一个网格服务的目的。
技术方案:本发明的方法是一种模型驱动的软件开发方法,通过使用GT3 开发网格服务和结合IBM公司研发的开源项目Eclipse的使用而提出的,其目标 是通过开源项目中的平台建模框架EMF(Eclipse建模框架)/GEF(图形编辑框 架)插件来完成网格服务的可视化编程和代码的模型驱动生成。
以下为本发明中对应的中英文术语:     英文术语     中文术语     MDA     模型驱动框架     GBuilder     网格计算平台     EMF     平台建模框架     UML     统一建模语言     XML     可扩展建模语言     XMI     扩展建模语言模型交互     Java Annotation     瓜哇语言注释     Draw2d     二维图形插件     PolylineConnection     对象联接类     org.eclipse.draw2d.widgets     小部件图形绘图类     org.eclipse.draw2d.widgets.event     小部件图形事件类     Tomcat     网格容器     GEF     图形编辑框架     EMF Ecore     平台建模框架核心     UDDI     通用描述发现调用
一、体系结构
图1给出了网格计算平台(Gbuilder)的设计体系结构,它的功能部件包括 命令控制器、解释器、模型驱动器、创建工厂、插件管理器、适配工厂/适配器、 图形用户接口、策略集、模型库和配置集。
下面我们给出几个主要部分的具体说明:
模型驱动器:模型驱动器的概念借鉴了模型驱动的开发(MDA)的概念,通过 模型至少是预先定义的一些模型允许用户完成基于模型的网格应用开发,模型驱 动器用来处理这些模型,一个简单的模型驱动器的实现是基于状态机和组合模式 两种设计模式,我们采用组合模式,将EMF插件提供的模型和GEF插件提供的可 视化图形编辑结合起来。根据网格的应用类型我们将网格计算分为:数据密集、 任务密集、普遍共享等几种形式,并将模型安装这些形式进行分类从而方便最终 用户的使用。
适配工厂/适配器:适配工厂/适配器是对客户应用的封装,当然如果通过自 动生成,组件可以跨过适配工厂直接调用API(Application Program Interface, 应用程序接口),当然,增加效率的同时牺牲了可扩展性,因为并不知道被调用 的Toolkit(工具箱)会提供怎样的API,适配工厂/适配器通过定义满足通用框 架的API来适配具体的Toolkit从而可以使得Toolkit对用户透明,对未支持的 API,直接返回异常,初步的API定义,我们参照OGSA(Open Grid Services Architecture,开放网格服务框架)和Globus Toolkit来进行。
图形用户接口:良好的用户接口是开发符合用户需求的软件的一个很重要 的方面,通过增加图形用户接口的数量和质量可以大大提供最终用户的体验。我 们的图形用户接口将基于Eclipse的JFace/VE等来开发,其基本面是基于SWT 的。
二、网格计算平台GBuilder的实现与应用方案
1、GT3实现网格服务流程
通过使用GT3来部署网格服务,得到网格服务的基本执行流程,如图2所 示,包括网格服务客户端的请求发起和网格服务器端的服务发布。
主要工作流程:
1)网格服务器端流程
步骤1:设置与GT3相关的环境变量,并使开发的网格服务的客户和服务 器端在同一目录下;
步骤2:安装Apache Axis,使%Java_home%/jre/lib下包括%Apache Axis% /lib下所有的*.jar文件;
步骤3:定义网格服务接口和服务实现的Java文件,对应后面的端口类型 PortType;
步骤4:直接书写WSDL文件或通过step3定义的Java接口和实现文件来 生成WSDL,生成*(如果是数学服务就命名为Math)Service.wsdl文件;
步骤5:利用JDK通过编译由step4生成的Java文件,得到服务器端的Stubs 文件;
步骤6:将Stubs文件进行打包生成对应服务的Jar文件,进一步将Jar文 件打包成Gar文件;
步骤7:部署由step1~step5生成的网格服务文件,向客户端提供唯一的 GSH(=http:∥IP_a:Port/GSR(Grid Service Resource,网格服务资源),Grid Service Handle,网格服务句柄)。
2)网格客户端流程
步骤1:编写请求网格服务的客户端程序,同时设置GT3及相关的环境变 量;
步骤2:编译客户端程序,生成客户端请求执行文件;
步骤3:执行该请求文件,向网格服务器端提供一个对应的GSH (http:∥IP_c:Port/Package);
步骤4:如果服务器端有相应的网格服务提供,则完成用户的任务,在客 户端显示执行结果,反之,则提供一个报错消息;
步骤5:网格服务生命周期结束。
2、MDA方法实现网格服务流程
网格平台的开发采用IBM公司提供的开放源码开发平台Eclipse3.1(中文 版),该平台下的EMF插件和GEF插件为实现和体现MDA思想提供了诸多的 方便。在网格计算平台(Gbuilder)中实现由模型到自动生成代码的过程①生成 PIM模型—>②映射成PSM模型—>③自动生成代码,具体设计思想和实现中用 到的技术如图3所示。网格计算平台的模型驱动设计过程采用典型的三层结构: 应用分析层、应用建模层和应用表示层。应用分析层通过对GT3工具包提供的 网格服务流程思想,利用EMF插件方便快捷的建立网格计算平台的平台无关模 型PIM;应用建模层主要利用现有的PIM与PSM之间的转换技术,结合GEF 插件来设计出与具体应用平台相关的PSM模型;应用表示层将生成的PSM模 型通过Xdoclet和Velocity代码生成引擎,在Eclipse开发平台中利用与系统无关 的轻量级的图形显示功能SWT和Swing来进行流程的可视化设计。
主要工作流程:
步骤1:将图2中左下的模型模型基本元素,通过EMF插件进行PIM建 模,对源文件采用UML类图来定义模型、执行模型采用UML事件来定义。 实现时将这些基本元模型采用SWT设计成相应的可操作图标,放图标显示 区里,支持用户的拖拉操作;
1)EMF模型定义层:通过XML、UML和Java来定义模型;
2)EMF模型表示层:将定义的模型转换为XMI、EMF Ecore和Java Annotation;
3)EMF模型建立层:生成EMF核心模型;
4)EMF模型生成成:通过EMF提供的EMF.Edit和EMF.Generate来编 辑和生成PIM模型;
步骤2:将建立好的PIM模型通过GEF插件来生成可视化的界面,得到图 2所示的网格服务工作流,在编辑区支持对PIM模型的连接、拖拉、建立 和修改等操作,实现时采用GEF中Draw2D提供的PolylineConnection类 来建立连接,其它操作都通过包org.eclipse.draw2d.widgets和 org.eclipse.draw2d.widgets.event.*实现的;
步骤3:实现图标区PIM和编辑区PSM之间的同步操作;
步骤4:通过拖拉等可视化操作生成网格服务端和客户端的源文件,并自 动调用Tomcat容器来部署网格服务;
步骤5:如果部署成功,则转到步骤6,反之则转到步骤1进行修改;
步骤6:通过客户端来调用服务器端提供的网格服务,如果成功,则一个 网格服务生命周期结束,否则转到步骤4。
3、基于网格平台的应用开发拓扑结构
如图4所示,在实现基于Gbuilder平台开发的网格应用拓扑结构分为服务 请求层、服务注册/查找层和服务提供层三层体系结构,并且各层之间是通过 SOAP(Simple Object Access Protocol,简单对象访问协议)相互通信的。
第一层:服务请求层是网格环境下的客户提出的任务请求,他首先向服务 中心提交的参数只是任务的描述集合。这里对每个任务可形式化表示为 TK_c=,其中IP_A为局域网环境下客户端的IP地址; GSH是实现该客户请求任务的网格服务提供地址;Parameter是一个集合,如对 数学运算任务,可能是包括操作符和操作数,对图形填充包括边界点和填充区域;
第二层:服务注册查找层是客户和服务之间交互的中心环节,它有二方面 的功能。
1)服务提供层向其提交相应的网格服务的GSH值和任务描述接口;
2)服务请求层向其发出相应的网格服务GSH和任务描述。
第三层:服务提供层由不同的虚拟组织构成,负责向服务中心自动提交其 具有的网格服务对应的任务描述TK_s=,如果客户请求层 的TK_c中的GSH和Parameter两个参数与TK_s中的完全匹配就能满足要求并 完成相应的任务,否则就说明还没有哪个虚拟组织VO可以提供客户的请求。
4、基于应用拓扑结构下的图形填充应用实现时序图
在网格应用实现拓扑结构的基础上,我们在Gbuilder平台上进行了图形填 充的实验,通过该实例来体现该平台在设计开发过程的优越性和网格计算的分布 性及协作性。实验通过一个局域网内的N台(N=8)配置相同的机器组成一个虚拟 组织、一个客户端程序和一个服务注册中心组成的实现环境。每个服务提供者分 成两个服务子项,一个用于填充整个图形,另一个用于填充部分图形,并以不同 的TK_s注册在注册中心。每个客户端提交服务请求后,由注册中心负责查找相 应的与之TK_c相匹配的任务来响应,如果没有则返回相应的消息给客户并结束 这次客户请求。所以,得到如图6所示的网格计算平台下的图形填充执行流程。
步骤21:客户端向UDDI中心发送图形填充请求,同时各服务器端向 UDDI中心发布服务;
步骤22:服务中心对客户请求的服务进行查找,最简单的查找方法就是遍 历法,也可以考虑引入智能查找算法
步骤23:对查找结果进行匹配判断,如果没有相应的请求服务,则跳转步 骤27;
步骤24:如果匹配成功,则需进行任务分解,如果是部分填充,则将任务 分配到虚拟组织下已注册该服务的服务器端,如果是全部填充,刚无需进行任务 分解,直接找一台最优性能的机器完成该任务;
步骤25:服务器端进行图形的填充任务,客户端同步显示填充进度,让用 户能实时了解任务的执行情况;
步骤26:当客户端图形填充完毕,说明这次的网格服务生命周期结束;
步骤27:向客户端提交“目前没有完成客户请求任务的服务端”的提示信 息,并结束。
有益效果:
本发明方法提出了网格计算平台软件设计的新方法,主要用于解决网格服 务流程的可视化实现问题,通过使用本发明提出的方法可以避免通过GT3开发 网格服务的复杂性、可以提高设计方法的灵活性,可以有效的达到快捷部署一个 网格服务的目的。模型驱动方法及其平台具有如下优点:
1)代码重用性高
利用模型驱动开过,最主要的工作是建立PIM模型和PSM模型,其中PIM 是跨平台的,与应用无关的,PSM是与平台相关的。所以对于建立好的PIM模 型可以在任何平台上重复利用。
2)开发周期短
模型驱动开发方法不同与传的过程化设计方法和模化设计方法,它的主 要工作在于给系统建模,建模可以利用现有的工具,这里采用的是EMF插件和 GEF插件。一但模型建立好后,代码可以利用现有的代码生成引擎(如XDoclet 和Velocity等)自动生成。
3)网格服务流程的可视化实现;
为网格开发中的一些源文件(服务器端的接口文件、实现文件和WSDD文 件等)提供建立向导和编辑环境。
4)网格服务的快速部署和发布;
当网格服务需要的源文件生成以后,将网格服务的部署容器(设计过程中 采用Tomcat)可以通过按钮操作来启动、暂停、重启和停止。同时也可以通过 按钮来自动将服务器端的源文件生成相应的Stubs文件。
5)支持网格应用的快速开发;
开发网格平台的目标就是为了能更好的方便用户开发网格应用,为了能更 好的体现该平台在应用开发上的优点,提出了一种通用的网格服务应用开发的拓 扑结构,该结构采用典型的网格开发的三层C/S(Client/Server,客户/服务器)结构。
附图说明
图1是网格计算平台软件Gbuilder的体系结构示意图。图中包括模型驱动 器、适配工厂/适配器和图形用户接口等功能模块。
图2是通用网格服务客户端和服务器端的实现流程图。图中左下角一些基本 元素为EMF建模对象。
图3是基于MVC体系的网格平台MDA方法实现流程图。表示本发明方法 的流程示意图。
图4是网格平台的应用实现拓扑结构图。表示基于本发明的一个通用应用框 架。
图5是网格平台下的图形填充实现时序图。表示基于本发明的一个具体应用 实现流程。
图6为网格计算平台GBuilder的MDA实现流程图。
图7为基于网格计算平台GBuilder的网格应用开发流程图。

具体实施方式

具体实施分成两部分完成,一部分是网格计算平台Gbuilder实现,另一部 分是基于该平台的应用实现。
一.网格计算平台的MDA方法实现
主要实现流程:
步骤1:将图2中左下角的模型基本元素,通过EMF插件进行PIM建模, 对源文件采用UML类图来定义模型、执行模型采用UML事件来定义。实现时 将这些基本元模型采用SWT设计成相应的可操作图标,放图标显示区里,支持 用户的拖拉操作;
1)EMF模型定义层:通过XML、UML和Java来定义模型;
2)EMF模型表示层:将定义的模型转换为XMI、EMF Ecore和Java Annotation;
3)EMF模型建立层:生成EMF核心模型;
4)EMF模型生成成:通过EMF提供的EMF.Edit和EMF.Generate来
5)编辑和生成PIM模型;
步骤2:将建立好的PIM模型通过GEF插件来生成可视化的界面,得到图 2所示的网格服务工作流,在编辑区支持对PIM模型的连接、拖拉、建立和修 改等操作,实现时采用GEF中Draw2D提供的PolylineConnection类来建立连接, 其它操作都通过包org.eclipse.draw2d.widgets和org.eclipse.draw2d.widgets.event.* 实现的;
步骤3:实现图标区PIM和编辑区PSM之间的同步操作;
步骤4:通过拖拉等可视化操作生成网格服务端和客户端的源文件,并自 动调用Tomcat容器来部署网格服务;
步骤5:如果部署成功,则转到步骤6,反之则转到步骤1进行修改;
步骤6:通过客户端来调用服务器端提供的网格服务,如果成功,则一个 网格服务生命周期结束,否则转到步骤4。
二.网格计算的应用实现框架
实现基于Gbuilder平台开发的网格应用拓扑结构分为服务请求层、服务注 册/查找层和服务提供层三层体系结构,并且各层之间是通过SOAP(Simple Object Access Protocol,简单对象访问协议)相互通信的。
第一层:服务请求层是网格环境下的客户提出的任务请求,他首先向服务 中心提交的参数只是任务的描述集合。这里对每个任务可形式化表示为 TK_c=,其中IP_A为局域网环境下客户端的IP地址; GSH是实现该客户请求任务的网格服务提供地址;Parameter是一个集合,如对 数学运算任务,可能是包括操作符和操作数,对图形填充包括边界点和填充区域;
第二层:服务注册查找层是客户和服务之间交互的中心环节,它有二方面 的功能。
1)服务提供层向其提交相应的网格服务的GSH值和任务描述接口;
2)服务请求层向其发出相应的网格服务GSH和任务描述。
第三层:服务提供层由不同的虚拟组织构成,负责向服务中心自动提交其 具有的网格服务对应的任务描述TK_s=,如果客户请求层 的TK_c中的GSH和Parameter两个参数与TK_s中的完全匹配就能满足要求并 完成相应的任务,否则就说明还没有哪个虚拟组织VO可以提供客户的请求。
基于网格计算平台Gbuilder的应用实现流程为:
1).客户端向UDDI中心发送图形填充请求,同时各服务器端向UDDI 中心发布服务,
2).服务中心对客户请求的服务,采用遍历法或智能查找算法,
3).对查找结果进行匹配判断,如果没有相应的请求服务,则跳转到7);
4).如果匹配成功,则需进行任务分解,如果是部分填充,则将任 务分配到虚拟组织下已注册该服务的服务器端,如果是全部填充,刚无需进行任 务分解,直接找一台最优性能的机器完成该任务;
5).服务器端进行图形的填充任务,客户端同步显示填充进度,让 用户能实时了解任务的执行情况;
6).当客户端图形填充完毕,说明这次的网格服务生命周期结束;
7).向客户端提交“目前没有完成客户请求任务的服务端”的提示信 息,并结束。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈