国产精品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)格服務(wù)組的建立方法及網(wǎng)格服務(wù)的發(fā)現(xiàn)方法

      文檔序號:7629399閱讀:167來源:國知局
      專利名稱:網(wǎng)格服務(wù)組的建立方法及網(wǎng)格服務(wù)的發(fā)現(xiàn)方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及一種網(wǎng)格服務(wù)組的建立方法及網(wǎng)格服務(wù)發(fā)現(xiàn)方法,尤其是一種由網(wǎng)格環(huán)境中的任一GIS實(shí)例發(fā)起的為一服務(wù)類型建立服務(wù)組的方法以及基于已經(jīng)建立的服務(wù)組進(jìn)行的服務(wù)發(fā)現(xiàn)的方法。
      背景技術(shù)
      網(wǎng)格信息服務(wù)(Grid Information Service,簡稱GIS)是網(wǎng)格環(huán)境的重要組成部分。網(wǎng)格實(shí)現(xiàn)廣域網(wǎng)絡(luò)環(huán)境下的資源共享與協(xié)同利用,為了在網(wǎng)格應(yīng)用與網(wǎng)格資源之間動態(tài)的建立起綁定關(guān)系,就需要設(shè)計(jì)網(wǎng)格信息服務(wù)來支持資源(服務(wù))的發(fā)現(xiàn)以及之后的資源(服務(wù))的狀態(tài)監(jiān)控,維護(hù)參與到網(wǎng)格中的各類實(shí)體(包括人員、資源、服務(wù)以及硬件等)的相關(guān)信息。在基于面向服務(wù)的體系架構(gòu)(SOA)的服務(wù)網(wǎng)格中,信息服務(wù)扮演了服務(wù)注冊表的角色,它作為網(wǎng)格中的服務(wù)提供者和服務(wù)請求者之間的中介,為分布資源協(xié)調(diào)一致工作提供信息管理基礎(chǔ)設(shè)施,在網(wǎng)格系統(tǒng)中處于中心地位。事實(shí)上,許多網(wǎng)格中的上層服務(wù)如資源(服務(wù))的發(fā)現(xiàn)與選取、網(wǎng)格應(yīng)用管理、網(wǎng)格資源狀態(tài)監(jiān)控以及部分網(wǎng)格作業(yè)狀態(tài)管理與故障診斷等都是以信息服務(wù)為基礎(chǔ)的。
      在網(wǎng)格環(huán)境中,資源按照不同的隸屬關(guān)系組織成不同的自治域,自治域內(nèi)的資源在地理分布上比較接近,相互訪問的網(wǎng)絡(luò)開銷比較小,且具有相對一致的管理策略。在網(wǎng)格規(guī)模比較小時,加入網(wǎng)格的自治域數(shù)量有限,可以采用集中式的信息服務(wù)結(jié)構(gòu),即通過部署一個全局的GIS來管理各種實(shí)體的信息,如MDS-1(其中MDS為Metacomputing Directory Service,元計(jì)算目錄服務(wù))和Web服務(wù)環(huán)境中的注冊與發(fā)現(xiàn)服務(wù)UDDI(Universal Descriptionand Discovery Integration,統(tǒng)一描述、發(fā)現(xiàn)與集成)等。但隨著網(wǎng)格規(guī)模的逐步擴(kuò)大,參與網(wǎng)格環(huán)境的自治域數(shù)量以及網(wǎng)格環(huán)境中的資源總數(shù)迅速增長,集中式的方案會迅速成為性能瓶頸而變得不可行。為解決這一問題,許多研究者提出了分布式的信息服務(wù)管理機(jī)制,如MDS-2(其中MDS為Monitoring and Discovery Service,監(jiān)控與發(fā)現(xiàn)服務(wù))、R-GMA(RelationalGrid Monitoring Architecture,關(guān)系型網(wǎng)格監(jiān)控體系結(jié)構(gòu))、以及VEGA(織女星網(wǎng)格)的網(wǎng)格資源路由器等。分布式的信息服務(wù)系統(tǒng)在每個自治域內(nèi)部署一個或多個GIS實(shí)例管理域內(nèi)網(wǎng)格實(shí)體信息,分布的GIS實(shí)例之間通過一定的拓?fù)浣Y(jié)構(gòu)(如層次結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu))連接起來并通過信息交換協(xié)議進(jìn)行資源(服務(wù))發(fā)現(xiàn)請求的轉(zhuǎn)發(fā)和資源狀態(tài)更新。因此,分布式信息服務(wù)管理機(jī)制實(shí)際上是一種邏輯上集中,實(shí)現(xiàn)上分布的信息服務(wù)體系結(jié)構(gòu)。
      在分布式信息服務(wù)體系結(jié)構(gòu)中,現(xiàn)有技術(shù)的服務(wù)的發(fā)現(xiàn)方法存在如下缺陷由于GIS實(shí)例之間往往通過一些不同的關(guān)系連接起來,形成一個無結(jié)構(gòu)的圖,在這樣的拓?fù)浣Y(jié)構(gòu)上進(jìn)行資源(服務(wù))發(fā)現(xiàn)時必須采用一種稱為洪泛的方法,將查詢請求沿著這個圖進(jìn)行擴(kuò)散。隨著圖的規(guī)模的增長,這種搜索算法必然會帶來較大的性能問題(即較長的響應(yīng)時間和較大的綜合網(wǎng)絡(luò)開銷)。

      發(fā)明內(nèi)容
      本發(fā)明針對上述現(xiàn)有技術(shù)的服務(wù)發(fā)現(xiàn)方法存在的缺陷,提供一種網(wǎng)格服務(wù)組的建立方法,通過該方法可以在網(wǎng)格環(huán)境中,將具有同一類型的服務(wù)的GIS實(shí)例通過層疊網(wǎng)連接在一起,提高服務(wù)發(fā)現(xiàn)的效率。
      本發(fā)明針對上述現(xiàn)有技術(shù)的服務(wù)的發(fā)現(xiàn)方法存在的缺陷,提供一種加入服務(wù)組的方法,通過該方法可以在網(wǎng)絡(luò)中的GIS實(shí)例有新的服務(wù)被注冊時,及時根新服務(wù)組。
      本發(fā)明針對上述現(xiàn)有技術(shù)的服務(wù)的發(fā)現(xiàn)方法存在的缺陷,提供一種離開服務(wù)組的方法,通過該方法可以在服務(wù)組某個成員發(fā)生故障或者屬于該服務(wù)組的服務(wù)被反注冊時,及時更新服務(wù)組。
      本發(fā)明針對上述現(xiàn)有技術(shù)的服務(wù)的發(fā)現(xiàn)方法存在的缺陷,提供一種網(wǎng)格服務(wù)的發(fā)現(xiàn)方法,通過該方法可以高效的查詢到需要的服務(wù),避免了現(xiàn)有技術(shù)中洪泛的方法帶來的較長的響應(yīng)時間和較大的綜合網(wǎng)絡(luò)開銷。
      層疊網(wǎng)(Overlay)的思想是在現(xiàn)有底層網(wǎng)絡(luò)的基礎(chǔ)上按照特定的準(zhǔn)則構(gòu)建一層新的網(wǎng)絡(luò),并針對這些準(zhǔn)則定義適用于上層網(wǎng)絡(luò)的協(xié)議,從而為原有網(wǎng)絡(luò)系統(tǒng)增加新特性,提高原有網(wǎng)絡(luò)的效率。在這樣一個網(wǎng)絡(luò)環(huán)境中,我們稱上層的邏輯網(wǎng)絡(luò)為層疊網(wǎng)。相對于上層的邏輯網(wǎng)絡(luò)而言,底層網(wǎng)絡(luò)往往由具體的物理連接所構(gòu)成,因此一般被稱為“物理網(wǎng)絡(luò)”。
      一個層疊網(wǎng)由一組層疊網(wǎng)節(jié)點(diǎn)(Overlay Nodes)以及連接層疊網(wǎng)節(jié)點(diǎn)的層疊網(wǎng)連接(Overlay Links)構(gòu)成。其中,層疊網(wǎng)節(jié)點(diǎn)由一些特定的底層物理網(wǎng)絡(luò)節(jié)點(diǎn)充當(dāng),而層疊網(wǎng)連接映射到底層物理網(wǎng)格則體現(xiàn)為一個或者多個物理連接所構(gòu)成的路徑(Path)。
      為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供了一種網(wǎng)格服務(wù)組的建立方法,該方法包括如下步驟步驟11、第一GIS實(shí)例向分布設(shè)置在網(wǎng)絡(luò)中的多個第二GIS實(shí)例發(fā)送建立服務(wù)組的詢問消息,該詢問消息中包括一類型服務(wù)的信息;步驟12、所述第二GIS實(shí)例中具有所述類型服務(wù)的GIS實(shí)例向所述第一GIS實(shí)例發(fā)送響應(yīng)消息;步驟13、所述第一GIS實(shí)例根據(jù)收到的響應(yīng)消息,生成加入所述服務(wù)組的GIS實(shí)例成員列表;步驟14、根據(jù)所述GIS實(shí)例成員列表,為加入所述服務(wù)組的GIS實(shí)例成員建立層疊網(wǎng)連接;步驟15、所述第一GIS實(shí)例向所述第二GIS實(shí)例發(fā)送所述服務(wù)組建立的消息,并將包含所述GIS實(shí)例成員列表的服務(wù)組信息發(fā)送給所述第二GIS實(shí)例;步驟16、結(jié)束。
      本發(fā)明還提供了一種加入已建立的服務(wù)組的方法,包括如下步驟
      步驟21、網(wǎng)絡(luò)中的未加入所述服務(wù)組的GIS實(shí)例向所述服務(wù)組的任一所述GIS實(shí)例成員發(fā)送加入該服務(wù)組的請求消息;步驟22、收到所述請求消息的GIS實(shí)例成員與所述未加入所述服務(wù)組的GIS實(shí)例建立層疊網(wǎng)連接;步驟23、更新網(wǎng)絡(luò)中的GIS實(shí)例中存儲的該服務(wù)組的成員列表。
      本發(fā)明還提供了一種離開已經(jīng)加入的服務(wù)組的方法,包括如下步驟步驟31、希望離開所述服務(wù)組的GIS實(shí)例向相鄰的所述GIS實(shí)例成員發(fā)送離開通知消息;步驟32、所述鄰居節(jié)點(diǎn)的GIS實(shí)例接到通知后,建立自己與服務(wù)組其他成員的層疊網(wǎng)連接;步驟33、更新網(wǎng)絡(luò)中的GIS實(shí)例中存儲的該服務(wù)組的列表。
      本發(fā)明還提供了一種網(wǎng)格服務(wù)發(fā)現(xiàn)方法,包括如下步驟步驟41、GIS實(shí)例收到的服務(wù)查詢請求后,判斷是否存在該服務(wù)類型的服務(wù)組,如果是,則執(zhí)行步驟42,如果不是,則執(zhí)行步驟45;步驟42、判斷所述GIS實(shí)例是否為所述服務(wù)組的成員,如果是,則執(zhí)行步驟43,如果不是,則執(zhí)行步驟44;步驟43、所述GIS實(shí)例將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的其他GIS實(shí)例成員,然后執(zhí)行步驟46;步驟44、所述GIS實(shí)例將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的任一GIS實(shí)例成員,由該成員將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的其他GIS實(shí)例成員,然后執(zhí)行步驟46;步驟45、所述GIS實(shí)例向網(wǎng)絡(luò)中所有GIS實(shí)例轉(zhuǎn)發(fā)所述服務(wù)查詢請求。
      步驟46、結(jié)束。
      通過本發(fā)明提供的方法,提高了服務(wù)查詢的效率,避免了現(xiàn)有技術(shù)中洪泛的方法帶來的較長的響應(yīng)時間和較大的綜合網(wǎng)絡(luò)開銷,更加符合網(wǎng)格服務(wù)的需求。
      下面通過附圖和實(shí)施例,對本發(fā)明的技術(shù)方案做進(jìn)一步的詳細(xì)描述。


      圖1為本發(fā)明的網(wǎng)格服務(wù)組的建立方法的流程圖;圖2為本發(fā)明的加入已經(jīng)建立的服務(wù)組的方法的流程圖;圖3為本發(fā)明的離開已經(jīng)加入的服務(wù)組的方法的流程圖;圖4為本發(fā)明的網(wǎng)格服務(wù)發(fā)現(xiàn)方法流程圖。
      具體實(shí)施例方式
      服務(wù)組的提出是基于一個簡單的觀察,即網(wǎng)格用戶在進(jìn)行服務(wù)發(fā)現(xiàn)時往往依據(jù)特定的服務(wù)類別來進(jìn)行。這說明網(wǎng)格服務(wù)發(fā)現(xiàn)的過程并不是盲目的,而是具有一定的啟發(fā)式的。如果我們能夠從網(wǎng)格服務(wù)的類型入手在網(wǎng)格信息服務(wù)之上建立某種特殊的結(jié)構(gòu)并利用這種結(jié)構(gòu),就有可能設(shè)計(jì)出具有更高檢索效率的方法。
      服務(wù)組的基本思想是在現(xiàn)有GIS實(shí)例所構(gòu)成的底層Mesh網(wǎng)絡(luò)之上,依據(jù)每個GIS實(shí)例所注冊的服務(wù)類別信息將不同的GIS組織起來構(gòu)成針對某一服務(wù)類別的組,并在這些GIS實(shí)例之間建立邏輯連接形成層疊網(wǎng)。這樣,在針對這一類服務(wù)進(jìn)行服務(wù)發(fā)現(xiàn)時,服務(wù)發(fā)現(xiàn)請求將會首先在層疊網(wǎng)內(nèi)部進(jìn)行檢索,消息轉(zhuǎn)發(fā)的范圍將被局限在一個相對小的范圍之內(nèi),從而提高服務(wù)發(fā)現(xiàn)的效率,減少綜合網(wǎng)絡(luò)開銷。這些針對某一服務(wù)類別而建立起來的GIS實(shí)例組將含有一類服務(wù)的GIS聚合在一起,每個成員具有共同的特征,類似人類社會中“俱樂部”的結(jié)構(gòu),即Service CLUB,簡稱S-CLUB,也稱為服務(wù)組。
      參見圖1,其為本發(fā)明的網(wǎng)格服務(wù)組的建立方法的流程圖,包括如下步驟步驟11、第一GIS實(shí)例向分布設(shè)置在網(wǎng)絡(luò)中的多個第二GIS實(shí)例發(fā)送建立服務(wù)組的詢問消息,該詢問消息中包括一類型服務(wù)的信息;步驟12、所述第二GIS實(shí)例中具有所述類型服務(wù)的GIS實(shí)例向所述第一GIS實(shí)例發(fā)送響應(yīng)消息;步驟13、所述第一GIS實(shí)例根據(jù)收到的所述響應(yīng)消息,生成加入所述服務(wù)組的GIS實(shí)例成員列表;步驟14、根據(jù)所述GIS實(shí)例成員列表,為加入所述服務(wù)組的GIS實(shí)例成員建立層疊網(wǎng)連接;步驟15、所述第一GIS實(shí)例向所述第二GIS實(shí)例發(fā)送所述服務(wù)組建立的消息,并將包含所述GIS實(shí)例成員列表的服務(wù)組信息發(fā)送給所述第二GIS實(shí)例;步驟16、結(jié)束。
      在網(wǎng)格中,客戶端希望通過服務(wù)發(fā)現(xiàn)獲得一組當(dāng)前網(wǎng)格中可用服務(wù)的列表。在進(jìn)行服務(wù)發(fā)現(xiàn)時,服務(wù)類型是一個重要的屬性。事實(shí)上,在服務(wù)網(wǎng)格中,我們可以通過語法和語義兩個層面對服務(wù)類型進(jìn)行區(qū)分。在語義層面,目前語義網(wǎng)格和語義Web服務(wù)方面的研究就主要關(guān)注如何建立一個統(tǒng)一的服務(wù)本體庫(Service Ontology Base)描述服務(wù)的類別及其之間的關(guān)系,為服務(wù)的自動選取和組合提供基礎(chǔ),這是一種基于語義識別服務(wù)類型的方法。此外,Globus(Globus是美國國家實(shí)驗(yàn)室的研發(fā)項(xiàng)目,該項(xiàng)目對資源管理、安全、信息服務(wù)及數(shù)據(jù)管理等網(wǎng)格計(jì)算的關(guān)鍵理論進(jìn)行研究)中采用基于名字的查找也是一類根據(jù)功能識別服務(wù)類型的簡單方法。在語法層面,最近提出的OGSA/WSRF(Open Grid Services Architecture,開放網(wǎng)格體系結(jié)構(gòu)/Web Service Resource Framework Web服務(wù)資源框架)框架允許通過定義網(wǎng)格服務(wù)的標(biāo)準(zhǔn)接口為網(wǎng)格服務(wù)提供了一個統(tǒng)一的服務(wù)接口和擴(kuò)展機(jī)制。一個網(wǎng)格服務(wù)包含一組通用的Grid Service portType(網(wǎng)格服務(wù)端口類型)和用于提供該服務(wù)的核心功能的一組特定portType(端口類型)?;谶@些portType可以定義服務(wù)模板作為服務(wù)分類的依據(jù),所有實(shí)現(xiàn)了服務(wù)模板所列舉的portType的服務(wù)實(shí)例均可看作是同類的服務(wù),它們在使用時可以相互替換。因此我們可以用服務(wù)的名字或者portType作為服務(wù)的類型。
      通常,在服務(wù)組的建立過程需要一個信息交換的過程;在服務(wù)組建立之后,由于服務(wù)部署的動態(tài)性,新的GIS實(shí)例需要加入服務(wù)組,一些現(xiàn)有的GIS實(shí)例需要離開服務(wù)組,因此服務(wù)組的結(jié)構(gòu)需要動態(tài)的維護(hù)。這些過程都會產(chǎn)生額外的開銷。因此在這樣一種GIS管理機(jī)制中,存在著一個基本的取舍,即檢索響應(yīng)時間和綜合網(wǎng)絡(luò)開銷的取舍。這一取舍直接體現(xiàn)在特定環(huán)境中服務(wù)組的數(shù)量上。顯然,所建立起來的服務(wù)組數(shù)量越多,針對更多類別的服務(wù)發(fā)現(xiàn)過程即可受益于服務(wù)組的建立而得到效率的優(yōu)化,但過多的服務(wù)組會產(chǎn)生過多的拓?fù)渚S護(hù)開銷。我們注意到在網(wǎng)格環(huán)境中不同服務(wù)類型的使用頻度是不同的,顯然為使用頻度相對高的服務(wù)類型建立服務(wù)組可以在這一基本的取舍中找到一個合適的解決方案。
      在所述步驟11之前還包括步驟11a、所述第一GIs實(shí)例為自身注冊的每個類型服務(wù)記錄使用頻度,并設(shè)定使用頻度閾值;步驟11b、當(dāng)一個類型服務(wù)的所述使用頻度大于所述使用頻度閾值時,執(zhí)行步驟11。
      為了在分布式計(jì)算環(huán)境中識別出服務(wù)的請求頻度,每個GIS實(shí)例需要在本地為每個注冊的服務(wù)類型維護(hù)一個使用頻度UF(Usage Frequency)。為了記錄不同服務(wù)的調(diào)用情況,我們要求每個服務(wù)在被調(diào)用時向其注冊的信息服務(wù)報(bào)告這次調(diào)用。公式(1)是對一個確定GIS實(shí)例,例如服務(wù)類型T的UF定義為UF(T)=N(T)M---(1)]]>其中,N(T)代表在一個時間段內(nèi)服務(wù)類型T被調(diào)用的總數(shù),M代表在這個時間段內(nèi)這個GIS實(shí)例所接到的各類服務(wù)調(diào)用報(bào)告的總數(shù)。通常,每個GIS實(shí)例計(jì)算得到的UF(T)體現(xiàn)了與在這個GIS實(shí)例處注冊的其他服務(wù)類型相比,當(dāng)前情況下該服務(wù)類型T被調(diào)用的相對頻度。
      每個GIS實(shí)例都知道自己的服務(wù)被調(diào)用的頻度情況,但這只是一個局部觀測的結(jié)果,并不一定代表整個網(wǎng)格環(huán)境的服務(wù)調(diào)用頻度分布,因此還需要引入一個類似投票的過程。
      每個GIS實(shí)例周期性的發(fā)起服務(wù)組的建立的過程,不同GIS實(shí)例并不在同一時刻發(fā)起建立過程,這樣可以避免因同時發(fā)起過多的服務(wù)組建立過程而可能帶來的沖突和網(wǎng)絡(luò)擁塞。一個GIS實(shí)例在發(fā)起建立過程時,GIS實(shí)例計(jì)算每個服務(wù)類型的UF并嘗試為具有較高UF值且還沒有建立服務(wù)組的服務(wù)類型建立服務(wù)組。其中的關(guān)鍵問題是GIS實(shí)例應(yīng)當(dāng)嘗試為UF在何種水平的服務(wù)類型建立服務(wù)組。為解決這一問題,我們引入一個頻度閾值(FrequencyThreshold),記做α,其取值區(qū)間為
      。每個GIS在為每個服務(wù)類型計(jì)算UF后將其按照降序排序,并嘗試為排在前α%的服務(wù)類型建立服務(wù)組。
      另外為了在網(wǎng)格服務(wù)中建立有效的服務(wù)組,收到詢問消息的GIS實(shí)例還要判斷是否有必要建立這個服務(wù)組,并返回響應(yīng)消息,而發(fā)起服務(wù)組建立的GIS實(shí)例對返回的消息進(jìn)行分析來最終確定是否有必要建立這個服務(wù)組。因此在上述步驟12中,所述第二GIS實(shí)例可以在收到所述詢問消息后,判斷所述類型服務(wù)的使用頻度是否大于預(yù)先設(shè)定的針對該類型服務(wù)的使用頻度的閾值,如果是,則向所述第一GIS實(shí)例發(fā)送加入服務(wù)組的響應(yīng)消息,如果不是,則向所述第一GIS實(shí)例發(fā)送不加入服務(wù)組的響應(yīng)消息;相應(yīng)的在所述步驟13中,在生成加入所述服務(wù)組的GIS實(shí)例成員列表前還包括根據(jù)收到響應(yīng)消息計(jì)算所述類型服務(wù)的支持率,并判斷該支持率是否大于預(yù)先設(shè)定的支持率閾值,如果是,則繼續(xù)執(zhí)行,如果不是,則執(zhí)行步驟16,其中所述類型服務(wù)的支持率為加入服務(wù)組的響應(yīng)消息的數(shù)量與總的響應(yīng)消息的數(shù)量的比值。
      每個GIS實(shí)例檢查在UF排序中位于前α%的服務(wù)類型,如果該類型的服務(wù)還未建立服務(wù)組,該GIS實(shí)例就嘗試發(fā)起一個服務(wù)組創(chuàng)建過程。例如,GIS實(shí)例G嘗試為類型B建立服務(wù)組。首先,G通過由GIS實(shí)例所構(gòu)成的底層網(wǎng)絡(luò)發(fā)送建立服務(wù)組B的SETUP-REQUEST(GISG,B)消息,詢問其他GIS實(shí)例是否也愿意為B建立服務(wù)組。收到SETUP-REQUEST(B)消息的每個GIS實(shí)例X檢查是否有類型為B的服務(wù)被注冊,如果沒有就忽略該消息。否則,它應(yīng)當(dāng)執(zhí)行與G類似的檢查,計(jì)算本地UF并排序,確認(rèn)是否UF(B)處在排序的前α%。如果是,這個GIS實(shí)例向G發(fā)送加入服務(wù)組B的響應(yīng)消息SETUP-RESPONSE(GISG,GISX,B,YES)消息,表示同意為B創(chuàng)建服務(wù)組并愿意加入這個服務(wù)組。如果UF(B)在排序的前α%之外,X需要向G發(fā)送不加入服務(wù)組的SETUP-RESPONSE(GISG,GISX,B,NO)消息表示根據(jù)本地的觀察結(jié)果沒有必要為類型B創(chuàng)建服務(wù)組。經(jīng)過一段時間的等待,G根據(jù)收到的SETUP-RESPONSE消息創(chuàng)建當(dāng)前注冊有B類型服務(wù)的GIS集合CCB(服務(wù)組Candidate)并計(jì)算為B創(chuàng)建服務(wù)組的支持率δ,計(jì)算公式如公式(2)&delta;=N(YES)N(YES)+N(NO)---(2)]]>其中,N(YES)是收到SETUP-RESPONSE(GISG,GISX,B,YES)消息的個數(shù),而N(NO)是收到SETUP-RESPONSE(GISG,GISX,B,NO)消息的個數(shù)。在S-服務(wù)組中,我們設(shè)置一個構(gòu)造閾值(Construction Threshold)。如果δ大于這個閾值,G將為服務(wù)類型B建立一個服務(wù)組,否則G中止服務(wù)組創(chuàng)建過程,并等待下次發(fā)起創(chuàng)建過程時重復(fù)上述操作。
      如果G決定創(chuàng)建一個類型為B的服務(wù)組,根據(jù)前面分析SETUP-RESPONSE消息得到的CCB依次向CCB的成員發(fā)送服務(wù)組建立的通知消息SETUP-ANNOUNCEMENT(B,CCB)消息,通知這些GIS實(shí)例為服務(wù)類型B所創(chuàng)建的服務(wù)組已經(jīng)建立并將當(dāng)前的服務(wù)組成員列表CCB傳遞給每個成員,每個CCB的成員獨(dú)立的探測與其他成員之間的網(wǎng)絡(luò)距離。
      為了建立服務(wù)組成員間的層疊網(wǎng)連接,我們需要尋找一種合適的拓?fù)浣Y(jié)構(gòu),在保證可靠連接的同時盡量讓拓?fù)渚S護(hù)和基于拓?fù)涞姆?wù)發(fā)現(xiàn)代價最小,同時也需要尋找建立和維護(hù)這樣的拓?fù)浣Y(jié)構(gòu)的分布式的算法。這里我們并不規(guī)定用什么結(jié)構(gòu),可以采用最小生成樹或者其他結(jié)構(gòu)。當(dāng)整個Club已經(jīng)建立完畢后,發(fā)起建立過程的GIS實(shí)例G還需要通過底層網(wǎng)絡(luò)向所有GIS實(shí)例發(fā)送新的服務(wù)組建立消息NEW-CLUB(B,CCB)以通知其他GIS實(shí)例,這樣網(wǎng)絡(luò)中的每個GIS實(shí)例都有服務(wù)組的信息,任意一個GIS實(shí)例在處理對服務(wù)類型B的查詢請求時將優(yōu)先轉(zhuǎn)發(fā)給CCB的成員,從而提高服務(wù)發(fā)現(xiàn)的效率。
      在服務(wù)組建立以后,需要進(jìn)行動態(tài)的維護(hù)。一方面,GIS實(shí)例本身是動態(tài)的,由于網(wǎng)絡(luò)或運(yùn)行該GIS實(shí)例的主機(jī)的故障,GIS實(shí)例本身可能變得不可用;另一方面,注冊到GIS實(shí)例的服務(wù)是動態(tài)的。當(dāng)新的服務(wù)注冊到一個GIS實(shí)例或一個注冊的服務(wù)被反注冊(即因服務(wù)不再提供而在GIS實(shí)例處取消注冊信息)。這些情況都會導(dǎo)致GIS實(shí)例加入或離開已建立的服務(wù)組。
      參見圖2,其為本發(fā)明的加入已經(jīng)建立的服務(wù)組的方法的流程圖,包括如下步驟步驟21、網(wǎng)絡(luò)中的未加入所述服務(wù)組的GIS實(shí)例向所述服務(wù)組的任一所述GIS實(shí)例成員發(fā)送加入該服務(wù)組的請求消息;步驟22、收到所述請求消息的GIS實(shí)例成員與所述未加入所述服務(wù)組的GIS實(shí)例建立層疊網(wǎng)連接;步驟23、更新網(wǎng)絡(luò)中的GIS實(shí)例中存儲的該服務(wù)組的成員列表。
      參見圖3,其為本發(fā)明的離開已經(jīng)加入的服務(wù)組的方法的流程圖,包括如下步驟步驟31、希望離開所述服務(wù)組的GIS實(shí)例向相鄰的所述GIS實(shí)例成員發(fā)送離開通知消息;步驟32、所述鄰居節(jié)點(diǎn)的GIS實(shí)例接到通知后,建立自己與服務(wù)組其他成員的層疊網(wǎng)連接;步驟33、更新網(wǎng)絡(luò)中的GIS實(shí)例中存儲的該服務(wù)組的列表。
      在本發(fā)明中,服務(wù)組中的GIS實(shí)例通過一定的拓?fù)浣Y(jié)構(gòu)建立層疊網(wǎng)連接,為了在運(yùn)行時檢測因網(wǎng)絡(luò)或主機(jī)故障所導(dǎo)致的可能的GIS實(shí)例失效并盡快恢復(fù)因此而導(dǎo)致的拓?fù)浣Y(jié)構(gòu)變化,需要設(shè)計(jì)成員管理協(xié)議(Member ManagementProtocol)。
      服務(wù)組的成員管理協(xié)議的基本思想是每個成員需要維護(hù)一個所有其他成員的列表,記錄當(dāng)前各個成員的狀態(tài)。當(dāng)一個新成員進(jìn)入或者一個原有的成員離開服務(wù)組時,這個列表需要同步更新。為了在服務(wù)組中傳播這些變化,我們要求每個服務(wù)組成員周期性的產(chǎn)生一個刷新消息(Refresh Message)通過服務(wù)組的拓?fù)溥M(jìn)行傳遞。
      當(dāng)一個GIS實(shí)例X得到一個服務(wù)類型B服務(wù)的注冊信息,它需要檢查是否該類型的服務(wù)組已經(jīng)創(chuàng)建(這可以通過收集所收到的SETUP-ANNOUNCEMENT消息并維護(hù)一個當(dāng)前處于活動狀態(tài)的服務(wù)組集合來實(shí)現(xiàn))。如果存在,則依次向CCB的成員發(fā)送加入服務(wù)組的消息JOIN(GISX,B),直到收到一個確認(rèn)消息JOIN-ACK為止。收到JOIN消息的服務(wù)組成員M向X發(fā)送確認(rèn)消息JOIN-ACK(B,CCB)消息,更新本地狀態(tài),并將按照拓?fù)浣Y(jié)構(gòu)向其他服務(wù)組成員轉(zhuǎn)發(fā)這一消息。這時X同原來的服務(wù)組成員M之間建立層疊網(wǎng)連接,連入服務(wù)組。此后,X開始通過定期發(fā)送刷新消息和其他服務(wù)組成員交換信息,獲得服務(wù)組成員的變化信息。
      當(dāng)一個成員主動離開時,它需要通知其他鄰居節(jié)點(diǎn),將自己的直接鄰居節(jié)點(diǎn)的列表發(fā)送給其他鄰居節(jié)點(diǎn),這些收到通知的鄰居節(jié)點(diǎn)在自己同列表中建立與服務(wù)組其他成員間的層疊網(wǎng)連接,保證服務(wù)組的連通性,確保服務(wù)組的內(nèi)部拓?fù)洳粫驗(yàn)槌蓡T的離開而分割成兩個子圖。
      當(dāng)成員因網(wǎng)絡(luò)或主機(jī)故障被動離開時,它無法通知其他鄰居節(jié)點(diǎn),這需要服務(wù)組進(jìn)行故障檢測和恢復(fù)。如前文所述,每個成員會從其鄰居節(jié)點(diǎn)那里定期的收到刷新消息。如果GIS實(shí)例G在一個時間段(通常是連續(xù)k個刷新周期)內(nèi)沒有收到來自鄰居X的刷新消息,這表明節(jié)點(diǎn)X可能被動地離開了服務(wù)組。這時,G通過底層網(wǎng)絡(luò)發(fā)送尋找節(jié)點(diǎn)X的FIND-GIS(X,NBG)消息尋找節(jié)點(diǎn)X,NBG代表節(jié)點(diǎn)G在服務(wù)組中的所有直接鄰居節(jié)點(diǎn)集合。NBG的成員收到FIND-GIS消息后同其他NBG成員建立層疊網(wǎng)連接,保證服務(wù)組的連通性。
      上面介紹的成員進(jìn)入和離開的機(jī)制并不能確保成員之間的拓?fù)浣Y(jié)構(gòu)(因?yàn)樾鹿?jié)點(diǎn)的加入有隨機(jī)性),成員不斷的進(jìn)入和離開服務(wù)組會改變服務(wù)組成員拓?fù)浣Y(jié)構(gòu)并降低服務(wù)組內(nèi)消息傳遞的性能。因此整個服務(wù)組還需要定期地發(fā)起拓?fù)渲貥?gòu)過程,即更新后的服務(wù)組的成員列表重新為所述服務(wù)組的GIS實(shí)例成員的建立層疊網(wǎng)連接,重新執(zhí)行分布式的拓?fù)錁?gòu)造算法,將拓?fù)浠謴?fù)到預(yù)定的結(jié)構(gòu),提高層疊網(wǎng)內(nèi)部的消息傳遞效率。在拓?fù)渲貥?gòu)結(jié)束后,發(fā)起拓?fù)渲貥?gòu)的GIS實(shí)例還需要通過底層網(wǎng)絡(luò)向所有GIS實(shí)例發(fā)送拓?fù)渲貥?gòu)消息(NEW-CLUB(B,CCB))以通知其他GIS實(shí)例。這樣,不在服務(wù)組中的GIS實(shí)例可以定期的收到新的成員列表CCB并在處理對該類型的查詢消息時直接定位到服務(wù)組成員。
      當(dāng)新GIS實(shí)例進(jìn)入網(wǎng)格環(huán)境時,它需要獲得當(dāng)前服務(wù)組列表。由于每個進(jìn)入網(wǎng)格的GIS實(shí)例都至少存在一個與網(wǎng)格中的其他GIS實(shí)例的連接,因此這個新GIS實(shí)例可以向與其相鄰的其他GIS實(shí)例請求當(dāng)前的服務(wù)組列表,并將其拷貝到本地。
      參見圖4,其為本發(fā)明的網(wǎng)格服務(wù)發(fā)現(xiàn)方法的流程圖,包括如下步驟步驟41、GIS實(shí)例收到的服務(wù)查詢請求后,判斷是否存在該服務(wù)類型的服務(wù)組,如果是,則執(zhí)行步驟42,如果不是,則執(zhí)行步驟45;步驟42、判斷所述GIS實(shí)例是否為所述服務(wù)組的成員,如果是,則執(zhí)行步驟43,如果不是,則執(zhí)行步驟44;步驟43、所述GIS實(shí)例將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的其他GIS實(shí)例成員,然后執(zhí)行步驟46;步驟44、所述GIS實(shí)例將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的任一GIS實(shí)例成員,由該成員將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的其他GIS實(shí)例成員,然后執(zhí)行步驟46;步驟45、所述GIS實(shí)例向網(wǎng)絡(luò)中所有GIS實(shí)例轉(zhuǎn)發(fā)所述服務(wù)查詢請求。
      步驟46、結(jié)束。
      用戶在發(fā)出服務(wù)查詢請求時,總是發(fā)給距離自己最近的GIS實(shí)例。該GIS實(shí)例在收到用戶發(fā)起的請求后,該GIS實(shí)例首先檢查本地維護(hù)的服務(wù)組列表,判斷是否已經(jīng)建立起此類服務(wù)的服務(wù)組。如果服務(wù)組已建立,該GIS實(shí)例直接將請求轉(zhuǎn)發(fā)給服務(wù)組中的任何一個成員,收到請求的成員再將該請求轉(zhuǎn)發(fā)給服務(wù)組的其他成員。相關(guān)GIS實(shí)例將注冊服務(wù)的元數(shù)據(jù)發(fā)回給最初發(fā)起請求的GIS實(shí)例。如果該類型并未建立服務(wù)組,首先收到用戶請求的GIS將按現(xiàn)有技術(shù)的方法在底層網(wǎng)絡(luò)中的所有GIS實(shí)例轉(zhuǎn)發(fā)請求。
      最后所應(yīng)說明的是,以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解,可以對本發(fā)明的技術(shù)方案進(jìn)行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
      權(quán)利要求
      1.一種網(wǎng)格服務(wù)組的建立方法,其特征在于包括如下步驟步驟11、第一GIS實(shí)例向分布設(shè)置在網(wǎng)絡(luò)中的多個第二GIS實(shí)例發(fā)送建立服務(wù)組的詢問消息,該詢問消息中包括一類型服務(wù)的信息;步驟12、所述第二GIS實(shí)例中具有所述類型服務(wù)的GIS實(shí)例向所述第一GIS實(shí)例發(fā)送響應(yīng)消息;步驟13、所述第一GIS實(shí)例根據(jù)收到的響應(yīng)消息,生成加入所述服務(wù)組的GIS實(shí)例成員列表;步驟14、根據(jù)所述GIS實(shí)例成員列表,為加入所述服務(wù)組的GIS實(shí)例成員建立層疊網(wǎng)連接;步驟15、所述第一GIS實(shí)例向所述第二GIS實(shí)例發(fā)送所述服務(wù)組建立的消息,并將包含所述GIS實(shí)例成員列表的服務(wù)組信息發(fā)送給所述第二GIS實(shí)例;步驟16、結(jié)束。
      2.根據(jù)權(quán)利要求1所述的網(wǎng)格服務(wù)組的建立方法,其特征在于在所述步驟11之前還包括步驟11a、所述第一GIS實(shí)例為自身注冊的每個類型服務(wù)記錄使用頻度,并設(shè)定使用頻度閾值;步驟11b、當(dāng)一個類型服務(wù)的所述使用頻度大于所述使用頻度閾值時,執(zhí)行步驟11。
      3.根據(jù)權(quán)利要求1或2所述的網(wǎng)格服務(wù)組的建立方法,其特征在于在所述步驟12中,所述第二GIS實(shí)例在收到所述詢問消息后,判斷所述類型服務(wù)的使用頻度是否大于預(yù)先設(shè)定的針對該類型服務(wù)的使用頻度的閾值,如果是,則向所述第一GIS實(shí)例發(fā)送加入服務(wù)組的響應(yīng)消息,如果不是,則向所述第一GIS實(shí)例發(fā)送不加入服務(wù)組的響應(yīng)消息;在所述步驟13中,在生成加入所述服務(wù)組的GIS實(shí)例成員列表前還包括根據(jù)收到響應(yīng)消息計(jì)算所述類型服務(wù)的支持率,并判斷該支持率是否大于預(yù)先設(shè)定的支持率閾值,如果是,則繼續(xù)執(zhí)行,如果不是,則執(zhí)行步驟16,其中所述類型服務(wù)的支持率為加入服務(wù)組的響應(yīng)消息的數(shù)量與總的響應(yīng)消息的數(shù)量的比值。
      4.一種加入已經(jīng)建立的服務(wù)組的方法,其特征在于包括如下步驟步驟21、網(wǎng)絡(luò)中的未加入所述服務(wù)組的GIS實(shí)例向所述服務(wù)組的任一所述GIS實(shí)例成員發(fā)送加入該服務(wù)組的請求消息;步驟22、收到所述請求消息的GIS實(shí)例成員與所述未加入所述服務(wù)組的GIS實(shí)例建立層疊網(wǎng)連接;步驟23、更新網(wǎng)絡(luò)中的GIS實(shí)例中存儲的該服務(wù)組的成員列表。
      5.根據(jù)權(quán)利要求4所述的加入已經(jīng)建立的服務(wù)組的方法,其特征在于在所述步驟23之后還包括根據(jù)服務(wù)組的成員列表重新為所述服務(wù)組的GIS實(shí)例成員的建立層疊網(wǎng)連接。
      6.一種離開已經(jīng)加入的服務(wù)組的方法,其特征在于包括如下步驟步驟31、希望離開所述服務(wù)組的GIS實(shí)例向相鄰的所述GIS實(shí)例成員發(fā)送離開通知消息;步驟32、所述鄰居節(jié)點(diǎn)的GIS實(shí)例接到通知后,建立自己與服務(wù)組其他成員的層疊網(wǎng)連接;步驟33、更新網(wǎng)絡(luò)中的GIS實(shí)例中存儲的該服務(wù)組的列表。
      7.一種網(wǎng)格服務(wù)發(fā)現(xiàn)方法,其特征在于在包括如下步驟步驟41、GIS實(shí)例收到的服務(wù)查詢請求后,判斷是否存在該服務(wù)類型的服務(wù)組,如果是,則執(zhí)行步驟42,如果不是,則執(zhí)行步驟45;步驟42、判斷所述GIS實(shí)例是否為所述服務(wù)組的成員,如果是,則執(zhí)行步驟43,如果不是,則執(zhí)行步驟44;步驟43、所述GIS實(shí)例將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的其他GIS實(shí)例成員,然后執(zhí)行步驟46;步驟44、所述GIS實(shí)例將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的任一GIS實(shí)例成員,由該成員將所述服務(wù)查詢請求轉(zhuǎn)發(fā)給所述服務(wù)組的其他GIS實(shí)例成員,然后執(zhí)行步驟46;步驟45、所述GIS實(shí)例向網(wǎng)絡(luò)中所有GIS實(shí)例轉(zhuǎn)發(fā)所述服務(wù)查詢請求。步驟46、結(jié)束。
      全文摘要
      一種網(wǎng)格服務(wù)組的建立方法,包括如下步驟第一GIS實(shí)例向多個第二GIS實(shí)例發(fā)送建立服務(wù)組的詢問消息;第二GIS實(shí)例返回響應(yīng)消息;生成服務(wù)組成員列表;建立層疊網(wǎng)連接;第一GIS實(shí)例向第二GIS實(shí)例發(fā)送服務(wù)組建立的消息,并將包含成員列表的服務(wù)組信息發(fā)送給第二GIS實(shí)例;一種網(wǎng)格服務(wù)發(fā)現(xiàn)方法,包括如下步驟GIS實(shí)例收到的服務(wù)查詢請求后,當(dāng)存在該服務(wù)類型的服務(wù)組時,判斷所述GIS實(shí)例是否為服務(wù)組的成員,如果是,將請求轉(zhuǎn)發(fā)給服務(wù)組的其他成員,如果不是,將請求轉(zhuǎn)發(fā)給服務(wù)組的任一成員,由該成員轉(zhuǎn)發(fā)給其他成員。通過本發(fā)明提供的方法,提高了服務(wù)查詢的效率,避免了現(xiàn)有技術(shù)中洪泛的方法帶來的響應(yīng)時間長和網(wǎng)絡(luò)開銷大的缺陷。
      文檔編號H04L12/24GK1791045SQ20051013253
      公開日2006年6月21日 申請日期2005年12月26日 優(yōu)先權(quán)日2005年12月26日
      發(fā)明者懷進(jìn)鵬, 胡春明, 孫海龍, 夏先波, 富公為 申請人:北京航空航天大學(xué)
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1