国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      一種用于網(wǎng)格計(jì)算的模型驅(qū)動(dòng)方法

      文檔序號(hào):6639379閱讀:338來(lái)源:國(guó)知局
      專利名稱:一種用于網(wǎng)格計(jì)算的模型驅(qū)動(dòng)方法
      技術(shù)領(lǐng)域
      本發(fā)明是一種新型的網(wǎng)格計(jì)算平臺(tái)開(kāi)發(fā)方法,并在此平臺(tái)的基礎(chǔ)上給出了開(kāi)發(fā)應(yīng)用的拓?fù)浣Y(jié)構(gòu)。主要用于實(shí)現(xiàn)網(wǎng)格計(jì)算的快速開(kāi)發(fā),提高模型的重用性。解決了網(wǎng)格計(jì)算應(yīng)用開(kāi)發(fā)的周期長(zhǎng)、可視化操作差等缺點(diǎn)。
      背景技術(shù)
      網(wǎng)格技術(shù)是隨著Web技術(shù)的發(fā)展而出現(xiàn)的一種新興技術(shù),它較好的適應(yīng)了Internet的特點(diǎn),能充分實(shí)現(xiàn)資源的共享和任務(wù)之間的協(xié)作完成。目前,網(wǎng)格環(huán)境中有許多計(jì)算資源被閑置,如何充分利用這些資源,一方面需要構(gòu)建網(wǎng)格的計(jì)算基礎(chǔ)設(shè)施,同時(shí)還需要有好的網(wǎng)格應(yīng)用開(kāi)發(fā)支撐平臺(tái)。盡管GT3(GlobusToolkit 3.x,Globus工具箱3)已經(jīng)為網(wǎng)格應(yīng)用開(kāi)發(fā)提供了功能支持,所有的網(wǎng)格服務(wù)遵循OGSA(Open Grid Service Architecture,開(kāi)放網(wǎng)格服務(wù))/OGSI(OpenGrid Service Infrastructure,開(kāi)放網(wǎng)格服務(wù)基礎(chǔ)),但是在開(kāi)發(fā)速度和可視化方面還存在著不足。
      由于模型驅(qū)動(dòng)方法(MDA)有著諸多優(yōu)點(diǎn),它在電子商務(wù)、移動(dòng)計(jì)算和分布式計(jì)算等方面都有較好的應(yīng)用前景,對(duì)模型驅(qū)動(dòng)開(kāi)發(fā)方法的研究正成為學(xué)術(shù)界和工業(yè)界的熱點(diǎn)之一。模型驅(qū)動(dòng)開(kāi)發(fā)方法的關(guān)鍵技術(shù)包括平臺(tái)獨(dú)立模型PIM(Platform-independent model)的建立、平臺(tái)相關(guān)模型PSM(Platform-sepecificmodel)的建立、模型的可視化操作和代碼的自動(dòng)生成。而可視化顯示和代碼自動(dòng)生成是影響網(wǎng)格技術(shù)廣泛使用的重要因素之一,因此研究網(wǎng)格計(jì)算平臺(tái)下的模型驅(qū)動(dòng)開(kāi)發(fā)方法具有重要意義。
      網(wǎng)格計(jì)算平臺(tái)的模型驅(qū)動(dòng)開(kāi)發(fā)過(guò)程主要包括三個(gè)方面(1)網(wǎng)格計(jì)算平臺(tái)體系結(jié)構(gòu)的設(shè)計(jì)(2)基于MVC(Model-View-Control,模型-視圖-控制)體系的MDA設(shè)計(jì)流程(3)基于網(wǎng)格計(jì)算平臺(tái)的應(yīng)用開(kāi)發(fā)流程。目前對(duì)前兩個(gè)方面的研究已經(jīng)實(shí)現(xiàn),可以通過(guò)設(shè)計(jì)的網(wǎng)格計(jì)算平臺(tái)從一個(gè)網(wǎng)格服務(wù)從接口定義到客戶端的請(qǐng)求自動(dòng)完成;也可以通過(guò)自動(dòng)生成網(wǎng)格服務(wù)的可視化顯示,在顯示模型上通過(guò)點(diǎn)擊操作自動(dòng)生成網(wǎng)格服務(wù)流程中需要的代碼,同時(shí)對(duì)生成的代碼進(jìn)行修改,完成模型間的相互協(xié)作,達(dá)到整個(gè)網(wǎng)格服務(wù)流程的一致性。當(dāng)前國(guó)內(nèi)外對(duì)模型驅(qū)動(dòng)方法的研究主要是基于J2EE的Bean模型來(lái)進(jìn)行軟件開(kāi)發(fā)的,關(guān)于網(wǎng)格計(jì)算平臺(tái)進(jìn)行模型驅(qū)動(dòng)還是嘗試階段,在設(shè)計(jì)過(guò)程中對(duì)于PIM和PSM分別是通過(guò)IBM公司的Eclipse平臺(tái)中增加平臺(tái)建??蚣蹺MF(Eclipse Modeling Framework)和GEF(Graphical Editing Framework,圖形編輯框架)插件來(lái)實(shí)現(xiàn)的。

      發(fā)明內(nèi)容
      技術(shù)問(wèn)題本發(fā)明的目的是提供一種可視化用于網(wǎng)格計(jì)算的模型驅(qū)動(dòng)方法,來(lái)解決網(wǎng)格計(jì)算服務(wù)基于GT3的開(kāi)發(fā)速度慢和操作煩瑣的問(wèn)題,與過(guò)去使用的開(kāi)臺(tái)軟件開(kāi)發(fā)方法不同,本方法是一種通過(guò)建立模型來(lái)驅(qū)動(dòng)生成代碼的方法,通過(guò)使用本發(fā)明提出的方法可以達(dá)到快速發(fā)布一個(gè)網(wǎng)格服務(wù)的目的。
      技術(shù)方案本發(fā)明的方法是一種模型驅(qū)動(dòng)的軟件開(kāi)發(fā)方法,通過(guò)使用GT3開(kāi)發(fā)網(wǎng)格服務(wù)和結(jié)合IBM公司研發(fā)的開(kāi)源項(xiàng)目Eclipse的使用而提出的,其目標(biāo)是通過(guò)開(kāi)源項(xiàng)目中的平臺(tái)建??蚣蹺MF(Eclipse建模框架)/GEF(圖形編輯框架)插件來(lái)完成網(wǎng)格服務(wù)的可視化編程和代碼的模型驅(qū)動(dòng)生成。
      以下為本發(fā)明中對(duì)應(yīng)的中英文術(shù)語(yǔ)


      一、體系結(jié)構(gòu)圖1給出了網(wǎng)格計(jì)算平臺(tái)(Gbuilder)的設(shè)計(jì)體系結(jié)構(gòu),它的功能部件包括命令控制器、解釋器、模型驅(qū)動(dòng)器、創(chuàng)建工廠、插件管理器、適配工廠/適配器、圖形用戶接口、策略集、模型庫(kù)和配置集。
      下面我們給出幾個(gè)主要部分的具體說(shuō)明模型驅(qū)動(dòng)器模型驅(qū)動(dòng)器的概念借鑒了模型驅(qū)動(dòng)的開(kāi)發(fā)(MDA)的概念,通過(guò)模型至少是預(yù)先定義的一些模型允許用戶完成基于模型的網(wǎng)格應(yīng)用開(kāi)發(fā),模型驅(qū)動(dòng)器用來(lái)處理這些模型,一個(gè)簡(jiǎn)單的模型驅(qū)動(dòng)器的實(shí)現(xiàn)是基于狀態(tài)機(jī)和組合模式兩種設(shè)計(jì)模式,我們采用組合模式,將EMF插件提供的模型和GEF插件提供的可視化圖形編輯結(jié)合起來(lái)。根據(jù)網(wǎng)格的應(yīng)用類型我們將網(wǎng)格計(jì)算分為數(shù)據(jù)密集、任務(wù)密集、普遍共享等幾種形式,并將模型安裝這些形式進(jìn)行分類從而方便最終用戶的使用。
      適配工廠/適配器適配工廠/適配器是對(duì)客戶應(yīng)用的封裝,當(dāng)然如果通過(guò)自動(dòng)生成,組件可以跨過(guò)適配工廠直接調(diào)用API(Application Program Interface,應(yīng)用程序接口),當(dāng)然,增加效率的同時(shí)犧牲了可擴(kuò)展性,因?yàn)椴⒉恢辣徽{(diào)用的Toolkit(工具箱)會(huì)提供怎樣的API,適配工廠/適配器通過(guò)定義滿足通用框架的API來(lái)適配具體的Toolkit從而可以使得Toolkit對(duì)用戶透明,對(duì)未支持的API,直接返回異常,初步的API定義,我們參照OGSA(Open Grid ServicesArchitecture,開(kāi)放網(wǎng)格服務(wù)框架)和Globus Toolkit來(lái)進(jìn)行。
      圖形用戶接口良好的用戶接口是開(kāi)發(fā)符合用戶需求的軟件的一個(gè)很重要的方面,通過(guò)增加圖形用戶接口的數(shù)量和質(zhì)量可以大大提供最終用戶的體驗(yàn)。我們的圖形用戶接口將基于Eclipse的JFace/VE等來(lái)開(kāi)發(fā),其基本面是基于SWT的。
      二、網(wǎng)格計(jì)算平臺(tái)GBuilder的實(shí)現(xiàn)與應(yīng)用方案1、GT3實(shí)現(xiàn)網(wǎng)格服務(wù)流程通過(guò)使用GT3來(lái)部署網(wǎng)格服務(wù),得到網(wǎng)格服務(wù)的基本執(zhí)行流程,如圖2所示,包括網(wǎng)格服務(wù)客戶端的請(qǐng)求發(fā)起和網(wǎng)格服務(wù)器端的服務(wù)發(fā)布。
      主要工作流程1)網(wǎng)格服務(wù)器端流程步驟1設(shè)置與GT3相關(guān)的環(huán)境變量,并使開(kāi)發(fā)的網(wǎng)格服務(wù)的客戶和服務(wù)器端在同一目錄下;步驟2安裝Apache Axis,使%Java_home%/jre/lib下包括%Apache Axis%/lib下所有的*.jar文件;步驟3定義網(wǎng)格服務(wù)接口和服務(wù)實(shí)現(xiàn)的Java文件,對(duì)應(yīng)后面的端口類型PortType;步驟4直接書寫WSDL文件或通過(guò)step3定義的Java接口和實(shí)現(xiàn)文件來(lái)生成WSDL,生成*(如果是數(shù)學(xué)服務(wù)就命名為Math)Service.wsdl文件;步驟5利用JDK通過(guò)編譯由step4生成的Java文件,得到服務(wù)器端的Stubs文件;步驟6將Stubs文件進(jìn)行打包生成對(duì)應(yīng)服務(wù)的Jar文件,進(jìn)一步將Jar文件打包成Gar文件;步驟7部署由step1~step5生成的網(wǎng)格服務(wù)文件,向客戶端提供唯一的GSH(=http∥IP_aPort/GSR(Grid Service Resource,網(wǎng)格服務(wù)資源),GridService Handle,網(wǎng)格服務(wù)句柄)。
      2)網(wǎng)格客戶端流程步驟1編寫請(qǐng)求網(wǎng)格服務(wù)的客戶端程序,同時(shí)設(shè)置GT3及相關(guān)的環(huán)境變量;步驟2編譯客戶端程序,生成客戶端請(qǐng)求執(zhí)行文件;步驟3執(zhí)行該請(qǐng)求文件,向網(wǎng)格服務(wù)器端提供一個(gè)對(duì)應(yīng)的GSH(http∥IP_cPort/Package);步驟4如果服務(wù)器端有相應(yīng)的網(wǎng)格服務(wù)提供,則完成用戶的任務(wù),在客戶端顯示執(zhí)行結(jié)果,反之,則提供一個(gè)報(bào)錯(cuò)消息;步驟5網(wǎng)格服務(wù)生命周期結(jié)束。
      2、MDA方法實(shí)現(xiàn)網(wǎng)格服務(wù)流程網(wǎng)格平臺(tái)的開(kāi)發(fā)采用IBM公司提供的開(kāi)放源碼開(kāi)發(fā)平臺(tái)Eclipse3.1(中文版),該平臺(tái)下的EMF插件和GEF插件為實(shí)現(xiàn)和體現(xiàn)MDA思想提供了諸多的方便。在網(wǎng)格計(jì)算平臺(tái)(Gbuilder)中實(shí)現(xiàn)由模型到自動(dòng)生成代碼的過(guò)程①生成PIM模型—>②映射成PSM模型—>③自動(dòng)生成代碼,具體設(shè)計(jì)思想和實(shí)現(xiàn)中用到的技術(shù)如圖3所示。網(wǎng)格計(jì)算平臺(tái)的模型驅(qū)動(dòng)設(shè)計(jì)過(guò)程采用典型的三層結(jié)構(gòu)應(yīng)用分析層、應(yīng)用建模層和應(yīng)用表示層。應(yīng)用分析層通過(guò)對(duì)GT3工具包提供的網(wǎng)格服務(wù)流程思想,利用EMF插件方便快捷的建立網(wǎng)格計(jì)算平臺(tái)的平臺(tái)無(wú)關(guān)模型PIM;應(yīng)用建模層主要利用現(xiàn)有的PIM與PSM之間的轉(zhuǎn)換技術(shù),結(jié)合GEF插件來(lái)設(shè)計(jì)出與具體應(yīng)用平臺(tái)相關(guān)的PSM模型;應(yīng)用表示層將生成的PSM模型通過(guò)Xdoclet和Velocity代碼生成引擎,在Eclipse開(kāi)發(fā)平臺(tái)中利用與系統(tǒng)無(wú)關(guān)的輕量級(jí)的圖形顯示功能SWT和Swing來(lái)進(jìn)行流程的可視化設(shè)計(jì)。
      主要工作流程步驟1將圖2中左下角的模型模型基本元素,通過(guò)EMF插件進(jìn)行PIM建模,對(duì)源文件采用UML類圖來(lái)定義模型、執(zhí)行模型采用UML事件來(lái)定義。實(shí)現(xiàn)時(shí)將這些基本元模型采用SWT設(shè)計(jì)成相應(yīng)的可操作圖標(biāo),放圖標(biāo)顯示區(qū)里,支持用戶的拖拉操作;1)EMF模型定義層通過(guò)XML、UML和Java來(lái)定義模型;2)EMF模型表示層將定義的模型轉(zhuǎn)換為XMI、EMF Ecore和JavaAnnotation;3)EMF模型建立層生成EMF核心模型;4)EMF模型生成成通過(guò)EMF提供的EMF.Edit和EMF.Generate來(lái)編輯和生成PIM模型;步驟2將建立好的PIM模型通過(guò)GEF插件來(lái)生成可視化的界面,得到圖2所示的網(wǎng)格服務(wù)工作流,在編輯區(qū)支持對(duì)PIM模型的連接、拖拉、建立和修改等操作,實(shí)現(xiàn)時(shí)采用GEF中Draw2D提供的PolylineConnection類來(lái)建立連接,其它操作都通過(guò)包org.eclipse.draw2d.widgets和org.eclipse.draw2d.widgets.event.*實(shí)現(xiàn)的;步驟3實(shí)現(xiàn)圖標(biāo)區(qū)PIM和編輯區(qū)PSM之間的同步操作;步驟4通過(guò)拖拉等可視化操作生成網(wǎng)格服務(wù)端和客戶端的源文件,并自動(dòng)調(diào)用Tomcat容器來(lái)部署網(wǎng)格服務(wù);步驟5如果部署成功,則轉(zhuǎn)到步驟6,反之則轉(zhuǎn)到步驟1進(jìn)行修改;步驟6通過(guò)客戶端來(lái)調(diào)用服務(wù)器端提供的網(wǎng)格服務(wù),如果成功,則一個(gè)網(wǎng)格服務(wù)生命周期結(jié)束,否則轉(zhuǎn)到步驟4。
      3、基于網(wǎng)格平臺(tái)的應(yīng)用開(kāi)發(fā)拓?fù)浣Y(jié)構(gòu)如圖4所示,在實(shí)現(xiàn)基于Gbuilder平臺(tái)開(kāi)發(fā)的網(wǎng)格應(yīng)用拓?fù)浣Y(jié)構(gòu)分為服務(wù)請(qǐng)求層、服務(wù)注冊(cè)/查找層和服務(wù)提供層三層體系結(jié)構(gòu),并且各層之間是通過(guò)SOAP(Simple Object Access Protocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)相互通信的。
      第一層服務(wù)請(qǐng)求層是網(wǎng)格環(huán)境下的客戶提出的任務(wù)請(qǐng)求,他首先向服務(wù)中心提交的參數(shù)只是任務(wù)的描述集合。這里對(duì)每個(gè)任務(wù)可形式化表示為TK_c=&lt;IP_A,GSH,Parameter&gt;,其中IP_A為局域網(wǎng)環(huán)境下客戶端的IP地址;GSH是實(shí)現(xiàn)該客戶請(qǐng)求任務(wù)的網(wǎng)格服務(wù)提供地址;Parameter是一個(gè)集合,如對(duì)數(shù)學(xué)運(yùn)算任務(wù),可能是包括操作符和操作數(shù),對(duì)圖形填充包括邊界點(diǎn)和填充區(qū)域;第二層服務(wù)注冊(cè)查找層是客戶和服務(wù)之間交互的中心環(huán)節(jié),它有二方面的功能。
      1)服務(wù)提供層向其提交相應(yīng)的網(wǎng)格服務(wù)的GSH值和任務(wù)描述接口;2)服務(wù)請(qǐng)求層向其發(fā)出相應(yīng)的網(wǎng)格服務(wù)GSH和任務(wù)描述。
      第三層服務(wù)提供層由不同的虛擬組織構(gòu)成,負(fù)責(zé)向服務(wù)中心自動(dòng)提交其具有的網(wǎng)格服務(wù)對(duì)應(yīng)的任務(wù)描述TK_s=&lt;IP_A,GSH,Parameter&gt;,如果客戶請(qǐng)求層的TK_c中的GSH和Parameter兩個(gè)參數(shù)與TK_s中的完全匹配就能滿足要求并完成相應(yīng)的任務(wù),否則就說(shuō)明還沒(méi)有哪個(gè)虛擬組織VO可以提供客戶的請(qǐng)求。
      4、基于應(yīng)用拓?fù)浣Y(jié)構(gòu)下的圖形填充應(yīng)用實(shí)現(xiàn)時(shí)序圖在網(wǎng)格應(yīng)用實(shí)現(xiàn)拓?fù)浣Y(jié)構(gòu)的基礎(chǔ)上,我們?cè)贕builder平臺(tái)上進(jìn)行了圖形填充的實(shí)驗(yàn),通過(guò)該實(shí)例來(lái)體現(xiàn)該平臺(tái)在設(shè)計(jì)開(kāi)發(fā)過(guò)程的優(yōu)越性和網(wǎng)格計(jì)算的分布性及協(xié)作性。實(shí)驗(yàn)通過(guò)一個(gè)局域網(wǎng)內(nèi)的N臺(tái)(N=8)配置相同的機(jī)器組成一個(gè)虛擬組織、一個(gè)客戶端程序和一個(gè)服務(wù)注冊(cè)中心組成的實(shí)現(xiàn)環(huán)境。每個(gè)服務(wù)提供者分成兩個(gè)服務(wù)子項(xiàng),一個(gè)用于填充整個(gè)圖形,另一個(gè)用于填充部分圖形,并以不同的TK_s注冊(cè)在注冊(cè)中心。每個(gè)客戶端提交服務(wù)請(qǐng)求后,由注冊(cè)中心負(fù)責(zé)查找相應(yīng)的與之TK_c相匹配的任務(wù)來(lái)響應(yīng),如果沒(méi)有則返回相應(yīng)的消息給客戶并結(jié)束這次客戶請(qǐng)求。所以,得到如圖6所示的網(wǎng)格計(jì)算平臺(tái)下的圖形填充執(zhí)行流程。
      步驟21客戶端向UDDI中心發(fā)送圖形填充請(qǐng)求,同時(shí)各服務(wù)器端向UDDI中心發(fā)布服務(wù);步驟22服務(wù)中心對(duì)客戶請(qǐng)求的服務(wù)進(jìn)行查找,最簡(jiǎn)單的查找方法就是遍歷法,也可以考慮引入智能查找算法;步驟23對(duì)查找結(jié)果進(jìn)行匹配判斷,如果沒(méi)有相應(yīng)的請(qǐng)求服務(wù),則跳轉(zhuǎn)步驟27;步驟24如果匹配成功,則需進(jìn)行任務(wù)分解,如果是部分填充,則將任務(wù)分配到虛擬組織下已注冊(cè)該服務(wù)的服務(wù)器端,如果是全部填充,剛無(wú)需進(jìn)行任務(wù)分解,直接找一臺(tái)最優(yōu)性能的機(jī)器完成該任務(wù);步驟25服務(wù)器端進(jìn)行圖形的填充任務(wù),客戶端同步顯示填充進(jìn)度,讓用戶能實(shí)時(shí)了解任務(wù)的執(zhí)行情況;步驟26當(dāng)客戶端圖形填充完畢,說(shuō)明這次的網(wǎng)格服務(wù)生命周期結(jié)束;步驟27向客戶端提交“目前沒(méi)有完成客戶請(qǐng)求任務(wù)的服務(wù)端”的提示信息,并結(jié)束。
      有益效果本發(fā)明方法提出了網(wǎng)格計(jì)算平臺(tái)軟件設(shè)計(jì)的新方法,主要用于解決網(wǎng)格服務(wù)流程的可視化實(shí)現(xiàn)問(wèn)題,通過(guò)使用本發(fā)明提出的方法可以避免通過(guò)GT3開(kāi)發(fā)網(wǎng)格服務(wù)的復(fù)雜性、可以提高設(shè)計(jì)方法的靈活性,可以有效的達(dá)到快捷部署一個(gè)網(wǎng)格服務(wù)的目的。模型驅(qū)動(dòng)方法及其平臺(tái)具有如下優(yōu)點(diǎn)1)代碼重用性高利用模型驅(qū)動(dòng)開(kāi)過(guò),最主要的工作是建立PIM模型和PSM模型,其中PIM是跨平臺(tái)的,與應(yīng)用無(wú)關(guān)的,PSM是與平臺(tái)相關(guān)的。所以對(duì)于建立好的PIM模型可以在任何平臺(tái)上重復(fù)利用。
      2)開(kāi)發(fā)周期短模型驅(qū)動(dòng)開(kāi)發(fā)方法不同與傳的過(guò)程化設(shè)計(jì)方法和模塊化設(shè)計(jì)方法,它的主要工作在于給系統(tǒng)建模,建??梢岳矛F(xiàn)有的工具,這里采用的是EMF插件和GEF插件。一但模型建立好后,代碼可以利用現(xiàn)有的代碼生成引擎(如XDoclet和Velocity等)自動(dòng)生成。
      3)網(wǎng)格服務(wù)流程的可視化實(shí)現(xiàn);為網(wǎng)格開(kāi)發(fā)中的一些源文件(服務(wù)器端的接口文件、實(shí)現(xiàn)文件和WSDD文件等)提供建立向?qū)Ш途庉嫮h(huán)境。
      4)網(wǎng)格服務(wù)的快速部署和發(fā)布;當(dāng)網(wǎng)格服務(wù)需要的源文件生成以后,將網(wǎng)格服務(wù)的部署容器(設(shè)計(jì)過(guò)程中采用Tomcat)可以通過(guò)按鈕操作來(lái)啟動(dòng)、暫停、重啟和停止。同時(shí)也可以通過(guò)按鈕來(lái)自動(dòng)將服務(wù)器端的源文件生成相應(yīng)的Stubs文件。
      5)支持網(wǎng)格應(yīng)用的快速開(kāi)發(fā);開(kāi)發(fā)網(wǎng)格平臺(tái)的目標(biāo)就是為了能更好的方便用戶開(kāi)發(fā)網(wǎng)格應(yīng)用,為了能更好的體現(xiàn)該平臺(tái)在應(yīng)用開(kāi)發(fā)上的優(yōu)點(diǎn),提出了一種通用的網(wǎng)格服務(wù)應(yīng)用開(kāi)發(fā)的拓?fù)浣Y(jié)構(gòu),該結(jié)構(gòu)采用典型的網(wǎng)格開(kāi)發(fā)的三層C/S(Client/Server,客戶/服務(wù)器)結(jié)構(gòu)。


      圖1是網(wǎng)格計(jì)算平臺(tái)軟件Gbuilder的體系結(jié)構(gòu)示意圖。圖中包括模型驅(qū)動(dòng)器、適配工廠/適配器和圖形用戶接口等功能模塊。
      圖2是通用網(wǎng)格服務(wù)客戶端和服務(wù)器端的實(shí)現(xiàn)流程圖。圖中左下角一些基本元素為EMF建模對(duì)象。
      圖3是基于MVC體系的網(wǎng)格平臺(tái)MDA方法實(shí)現(xiàn)流程圖。表示本發(fā)明方法的流程示意圖。
      圖4是網(wǎng)格平臺(tái)的應(yīng)用實(shí)現(xiàn)拓?fù)浣Y(jié)構(gòu)圖。表示基于本發(fā)明的一個(gè)通用應(yīng)用框架。
      圖5是網(wǎng)格平臺(tái)下的圖形填充實(shí)現(xiàn)時(shí)序圖。表示基于本發(fā)明的一個(gè)具體應(yīng)用實(shí)現(xiàn)流程。
      圖6為網(wǎng)格計(jì)算平臺(tái)GBuilder的MDA實(shí)現(xiàn)流程圖。
      圖7為基于網(wǎng)格計(jì)算平臺(tái)GBuilder的網(wǎng)格應(yīng)用開(kāi)發(fā)流程圖。
      具體實(shí)施例方式
      具體實(shí)施分成兩部分完成,一部分是網(wǎng)格計(jì)算平臺(tái)Gbuilder實(shí)現(xiàn),另一部分是基于該平臺(tái)的應(yīng)用實(shí)現(xiàn)。
      一.網(wǎng)格計(jì)算平臺(tái)的MDA方法實(shí)現(xiàn)主要實(shí)現(xiàn)流程步驟1將圖2中左下角的模型基本元素,通過(guò)EMF插件進(jìn)行PIM建模,對(duì)源文件采用UML類圖來(lái)定義模型、執(zhí)行模型采用UML事件來(lái)定義。實(shí)現(xiàn)時(shí)將這些基本元模型采用SWT設(shè)計(jì)成相應(yīng)的可操作圖標(biāo),放圖標(biāo)顯示區(qū)里,支持用戶的拖拉操作;1)EMF模型定義層通過(guò)XML、UML和Java來(lái)定義模型;2)EMF模型表示層將定義的模型轉(zhuǎn)換為XMI、EMF Ecore和JavaAnnotation;3)EMF模型建立層生成EMF核心模型;4)EMF模型生成成通過(guò)EMF提供的EMF.Edit和EMF.Generate來(lái)5)編輯和生成PIM模型;步驟2將建立好的PIM模型通過(guò)GEF插件來(lái)生成可視化的界面,得到圖2所示的網(wǎng)格服務(wù)工作流,在編輯區(qū)支持對(duì)PIM模型的連接、拖拉、建立和修改等操作,實(shí)現(xiàn)時(shí)采用GEF中Draw2D提供的PolylineConnection類來(lái)建立連接,其它操作都通過(guò)包org.eclipse.draw2d.widgets和org.eclipse.draw2d.widgets.event.*實(shí)現(xiàn)的;步驟3實(shí)現(xiàn)圖標(biāo)區(qū)PIM和編輯區(qū)PSM之間的同步操作;步驟4通過(guò)拖拉等可視化操作生成網(wǎng)格服務(wù)端和客戶端的源文件,并自動(dòng)調(diào)用Tomcat容器來(lái)部署網(wǎng)格服務(wù);步驟5如果部署成功,則轉(zhuǎn)到步驟6,反之則轉(zhuǎn)到步驟1進(jìn)行修改;步驟6通過(guò)客戶端來(lái)調(diào)用服務(wù)器端提供的網(wǎng)格服務(wù),如果成功,則一個(gè)網(wǎng)格服務(wù)生命周期結(jié)束,否則轉(zhuǎn)到步驟4。
      二.網(wǎng)格計(jì)算的應(yīng)用實(shí)現(xiàn)框架實(shí)現(xiàn)基于Gbuilder平臺(tái)開(kāi)發(fā)的網(wǎng)格應(yīng)用拓?fù)浣Y(jié)構(gòu)分為服務(wù)請(qǐng)求層、服務(wù)注冊(cè)/查找層和服務(wù)提供層三層體系結(jié)構(gòu),并且各層之間是通過(guò)SOAP(SimpleObject Access Protocol,簡(jiǎn)單對(duì)象訪問(wèn)協(xié)議)相互通信的。
      第一層服務(wù)請(qǐng)求層是網(wǎng)格環(huán)境下的客戶提出的任務(wù)請(qǐng)求,他首先向服務(wù)中心提交的參數(shù)只是任務(wù)的描述集合。這里對(duì)每個(gè)任務(wù)可形式化表示為TK_c=&lt;IP_A,GSH,Parameter&gt;,其中IP_A為局域網(wǎng)環(huán)境下客戶端的IP地址;GSH是實(shí)現(xiàn)該客戶請(qǐng)求任務(wù)的網(wǎng)格服務(wù)提供地址;Parameter是一個(gè)集合,如對(duì)數(shù)學(xué)運(yùn)算任務(wù),可能是包括操作符和操作數(shù),對(duì)圖形填充包括邊界點(diǎn)和填充區(qū)域;第二層服務(wù)注冊(cè)查找層是客戶和服務(wù)之間交互的中心環(huán)節(jié),它有二方面的功能。
      1)服務(wù)提供層向其提交相應(yīng)的網(wǎng)格服務(wù)的GSH值和任務(wù)描述接口;2)服務(wù)請(qǐng)求層向其發(fā)出相應(yīng)的網(wǎng)格服務(wù)GSH和任務(wù)描述。
      第三層服務(wù)提供層由不同的虛擬組織構(gòu)成,負(fù)責(zé)向服務(wù)中心自動(dòng)提交其具有的網(wǎng)格服務(wù)對(duì)應(yīng)的任務(wù)描述TK_s=&lt;IP_A,GSH,Parameter&gt;,如果客戶請(qǐng)求層的TK_c中的GSH和Parameter兩個(gè)參數(shù)與TK_s中的完全匹配就能滿足要求并完成相應(yīng)的任務(wù),否則就說(shuō)明還沒(méi)有哪個(gè)虛擬組織VO可以提供客戶的請(qǐng)求。
      基于網(wǎng)格計(jì)算平臺(tái)Gbuilder的應(yīng)用實(shí)現(xiàn)流程為1).客戶端向UDDI中心發(fā)送圖形填充請(qǐng)求,同時(shí)各服務(wù)器端向UDDI中心發(fā)布服務(wù),2).服務(wù)中心對(duì)客戶請(qǐng)求的服務(wù),采用遍歷法或智能查找算法,3).對(duì)查找結(jié)果進(jìn)行匹配判斷,如果沒(méi)有相應(yīng)的請(qǐng)求服務(wù),則跳轉(zhuǎn)到7);4).如果匹配成功,則需進(jìn)行任務(wù)分解,如果是部分填充,則將任務(wù)分配到虛擬組織下已注冊(cè)該服務(wù)的服務(wù)器端,如果是全部填充,剛無(wú)需進(jìn)行任務(wù)分解,直接找一臺(tái)最優(yōu)性能的機(jī)器完成該任務(wù);5).服務(wù)器端進(jìn)行圖形的填充任務(wù),客戶端同步顯示填充進(jìn)度,讓用戶能實(shí)時(shí)了解任務(wù)的執(zhí)行情況;6).當(dāng)客戶端圖形填充完畢,說(shuō)明這次的網(wǎng)格服務(wù)生命周期結(jié)束;7).向客戶端提交“目前沒(méi)有完成客戶請(qǐng)求任務(wù)的服務(wù)端”的提示信息,并結(jié)束。
      權(quán)利要求
      1.一種用于網(wǎng)格計(jì)算的模型驅(qū)動(dòng)方法,其特征在于該方法由網(wǎng)格計(jì)算平臺(tái)的模型驅(qū)動(dòng)方法和基于網(wǎng)格計(jì)算平臺(tái)的應(yīng)用方法組成,其中,網(wǎng)格計(jì)算平臺(tái)的模型驅(qū)動(dòng)方法實(shí)現(xiàn)步驟為步驟1).將網(wǎng)格服務(wù)客戶端和服務(wù)器端的實(shí)現(xiàn)流程中的每一步看作是系統(tǒng)無(wú)關(guān)模型的一個(gè)基本元素,通過(guò)平臺(tái)建??蚣懿寮M(jìn)行平臺(tái)獨(dú)立模型建模,對(duì)源文件采用統(tǒng)一建模語(yǔ)言類圖來(lái)定義模型、執(zhí)行模型采用統(tǒng)一建模語(yǔ)言事件來(lái)定義;實(shí)現(xiàn)時(shí)將這些基本元模型采用小部件工具集設(shè)計(jì)成相應(yīng)的可操作圖標(biāo),放圖標(biāo)顯示區(qū)里,支持用戶的拖拉操作;a)平臺(tái)建??蚣苣P投x層通過(guò)可擴(kuò)展建模語(yǔ)言、統(tǒng)一建模語(yǔ)言和瓜哇語(yǔ)言來(lái)定義模型;b)平臺(tái)建模框架模型表示層將定義的模型轉(zhuǎn)換為擴(kuò)展建模語(yǔ)言建模接口、平臺(tái)建模框架核心和瓜哇語(yǔ)言注釋;c)平臺(tái)建??蚣苣P徒由善脚_(tái)建??蚣芎诵哪P?;d)平臺(tái)建??蚣苣P蜕赏ㄟ^(guò)平臺(tái)建??蚣芴峁┑钠脚_(tái)建模編輯框架和平臺(tái)建模生成框架來(lái)編輯和生成平臺(tái)獨(dú)立模型;步驟2).將建立好的平臺(tái)獨(dú)立模型通過(guò)圖形編輯框架插件來(lái)生成可視化的界面,得到網(wǎng)格服務(wù)工作流,在編輯區(qū)支持對(duì)平臺(tái)獨(dú)立模型的連接、拖拉、建立和修改等操作,實(shí)現(xiàn)時(shí)采用圖形編輯框架中二維圖形插件提供的對(duì)象聯(lián)接類來(lái)建立連接,其它操作都通過(guò)小部件圖形繪圖包和小部件圖形事件類實(shí)現(xiàn)的;步驟3).實(shí)現(xiàn)圖標(biāo)區(qū)平臺(tái)獨(dú)立模型和編輯區(qū)平臺(tái)相關(guān)模型之間的同步操作;步驟4).通過(guò)拖拉等可視化操作生成網(wǎng)格服務(wù)端和客戶端的源文件,并自動(dòng)調(diào)用網(wǎng)格容器來(lái)部署網(wǎng)格服務(wù);步驟5).如果部署成功,則轉(zhuǎn)到步驟6),反之則轉(zhuǎn)到步驟1)進(jìn)行修改;步驟6).通過(guò)客戶端來(lái)調(diào)用服務(wù)器端提供的網(wǎng)格服務(wù),如果成功,則一個(gè)網(wǎng)格服務(wù)生命周期結(jié)束,否則轉(zhuǎn)到步驟4);基于網(wǎng)格計(jì)算平臺(tái)的應(yīng)用實(shí)現(xiàn)流程為步驟21).客戶端向通用描述發(fā)現(xiàn)調(diào)用中心發(fā)送圖形填充請(qǐng)求,同時(shí)各服務(wù)器端向通用描述發(fā)現(xiàn)調(diào)用中心發(fā)布服務(wù);步驟22).服務(wù)中心對(duì)客戶請(qǐng)求的服務(wù),采用遍歷查找算法;步驟23).對(duì)查找結(jié)果進(jìn)行匹配判斷,如果沒(méi)有相應(yīng)的請(qǐng)求服務(wù),則跳轉(zhuǎn)到步驟27);步驟24).如果匹配成功,則需進(jìn)行任務(wù)分解,如果是部分填充,則將任務(wù)分配到虛擬組織下已注冊(cè)該服務(wù)的服務(wù)器端,如果是全部填充,剛無(wú)需進(jìn)行任務(wù)分解,直接找一臺(tái)最優(yōu)性能的機(jī)器完成該任務(wù);步驟25).服務(wù)器端進(jìn)行圖形的填充任務(wù),客戶端同步顯示填充進(jìn)度,讓用戶能實(shí)時(shí)了解任務(wù)的執(zhí)行情況;步驟26).當(dāng)客戶端圖形填充完畢,這次的網(wǎng)格服務(wù)生命周期結(jié)束;步驟27).向客戶端提交“目前沒(méi)有完成客戶請(qǐng)求任務(wù)的服務(wù)端”的提示信息,并結(jié)束。
      全文摘要
      網(wǎng)格計(jì)算平臺(tái)的模型驅(qū)動(dòng)開(kāi)發(fā)方法是繼OOP(Object-Oriented Program,面向?qū)ο缶幊?開(kāi)發(fā)思想之后提出的一種新的軟件設(shè)計(jì)方法學(xué),該方法目的是實(shí)現(xiàn)當(dāng)前各種平臺(tái)下的軟件實(shí)現(xiàn)互操作和實(shí)現(xiàn)所開(kāi)發(fā)的軟件具有跨平臺(tái)兩大特性。網(wǎng)格計(jì)算正是在當(dāng)前網(wǎng)絡(luò)環(huán)境下實(shí)現(xiàn)異構(gòu)環(huán)境下軟硬件資源的共享和協(xié)作。該方法一方面可以方便網(wǎng)格用戶開(kāi)發(fā)網(wǎng)格計(jì)算,另一方面使開(kāi)發(fā)的網(wǎng)格計(jì)算平臺(tái)具有跨平臺(tái)和互操作的優(yōu)點(diǎn)。同時(shí)當(dāng)前許多開(kāi)源的軟件為我們?cè)O(shè)計(jì)網(wǎng)格計(jì)算平臺(tái)的模型驅(qū)動(dòng)開(kāi)發(fā)提供了便利,我們?cè)谠O(shè)計(jì)過(guò)程中分成應(yīng)用分析層、應(yīng)用建模層和應(yīng)用實(shí)現(xiàn)層的三層體系結(jié)構(gòu)來(lái)設(shè)計(jì)網(wǎng)格計(jì)算平臺(tái)的。
      文檔編號(hào)G06F9/44GK1731351SQ20051009403
      公開(kāi)日2006年2月8日 申請(qǐng)日期2005年8月26日 優(yōu)先權(quán)日2005年8月26日
      發(fā)明者王汝傳, 季一木 申請(qǐng)人:南京郵電大學(xué)
      網(wǎng)友詢問(wèn)留言 已有0條留言
      • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1