• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      數(shù)據(jù)分發(fā)服務(wù)中的全局?jǐn)?shù)據(jù)空間(GDS)的研究與設(shè)計(jì)*

      2010-04-26 05:07:06
      艦船電子工程 2010年4期
      關(guān)鍵詞:發(fā)布者登記表中間件

      李 軍

      (武漢市74223信箱 武漢 430074)

      1 引言

      隨著分布式計(jì)算和網(wǎng)絡(luò)的飛速發(fā)展,分布式應(yīng)用系統(tǒng)在金融、電信、軍事領(lǐng)域中得到廣泛應(yīng)用。為了實(shí)現(xiàn)分布式異構(gòu)網(wǎng)絡(luò)環(huán)境下不同應(yīng)用的互聯(lián)、互通和互操作,一般采用中間件技術(shù)來(lái)屏蔽系統(tǒng)平臺(tái)的差異。但是目前中間件產(chǎn)品并不能很好地解決通信的實(shí)時(shí)性、伸縮性和靈活性問(wèn)題,如當(dāng)前較為流行的CORBA技術(shù),由于它是以對(duì)象和服務(wù)為中心,采用了C/S通信模型,通信機(jī)制較為復(fù)雜,數(shù)據(jù)收發(fā)需要建立連接,不能完全滿(mǎn)足系統(tǒng)對(duì)實(shí)時(shí)性能的需要。早先的分布式共享內(nèi)存是一種以數(shù)據(jù)為中心交換的經(jīng)典模型,然而這種模型很難在網(wǎng)絡(luò)中高效地執(zhí)行,很難為用戶(hù)提供可衡量性和靈活性,特別是很難滿(mǎn)足系統(tǒng)的實(shí)時(shí)性需求。OMG意識(shí)到需要一個(gè)基于以數(shù)據(jù)為中心的發(fā)布/訂閱(DCPS)通信模型[1]的數(shù)據(jù)分發(fā)服務(wù)來(lái)滿(mǎn)足分布式實(shí)時(shí)應(yīng)用的需要,提出并最終采納了“OMG-DDS”規(guī)范。為了實(shí)現(xiàn)網(wǎng)絡(luò)中各節(jié)點(diǎn)通信的實(shí)時(shí)性、異步獨(dú)立性和松耦合性,該規(guī)范建立了“全局?jǐn)?shù)據(jù)空間(Global Data Space)[2]”的概念并指定了發(fā)布者和訂閱者以及如何訪問(wèn)該空間。在DCPS通信模型中,全局?jǐn)?shù)據(jù)空間代替了中心服務(wù)器,用來(lái)管理整個(gè)分布式系統(tǒng)中的主題發(fā)布,主題訂閱,節(jié)點(diǎn)信息的維護(hù)以及節(jié)點(diǎn)的關(guān)聯(lián)。因此,GDS的設(shè)計(jì)成為了DCPS通信模型實(shí)現(xiàn)的關(guān)鍵。本論文根據(jù)DDS[3,5]中以數(shù)據(jù)為中心的發(fā)布/訂閱模型,提出一種全局?jǐn)?shù)據(jù)空間的總體框架及各組織結(jié)構(gòu)設(shè)計(jì),最后給出了一些管理策略。

      2 全局?jǐn)?shù)據(jù)空間的概念

      如圖1所示,DDS中以數(shù)據(jù)為中心的發(fā)布/訂閱(DCPS)模型[3~4]建立了一個(gè)“全局?jǐn)?shù)據(jù)空間”的概念,通過(guò)全局?jǐn)?shù)據(jù)空間來(lái)管理數(shù)據(jù)對(duì)象(每個(gè)數(shù)據(jù)對(duì)象由“主題(T opic)”和“類(lèi)型(Type)”共同標(biāo)識(shí),“主題”提供了一個(gè)標(biāo)志符,在全局?jǐn)?shù)據(jù)空間中唯一地標(biāo)識(shí)某些數(shù)據(jù)項(xiàng)?!邦?lèi)型”提供了中間件如何操縱這些數(shù)據(jù)所需的結(jié)構(gòu)信息)的發(fā)布及主題的訂閱。需要說(shuō)明的是全局?jǐn)?shù)據(jù)空間并不存放實(shí)際數(shù)據(jù),它只管理訂閱主題信息。

      想要向數(shù)據(jù)空間提供主題信息的應(yīng)用程序聲明為“發(fā)布者”,同樣,想從數(shù)據(jù)空間中獲取主題信息的應(yīng)用程序成為“訂閱者”。發(fā)布者(Publisher)負(fù)責(zé)發(fā)布數(shù)據(jù),它可能發(fā)布不同類(lèi)型的數(shù)據(jù)。訂閱者(Subscriber)負(fù)責(zé)對(duì)發(fā)布的數(shù)據(jù)進(jìn)行接收并使數(shù)據(jù)能被接收應(yīng)用所使用(根據(jù)Subscriber的QoS)。主題在邏輯上將發(fā)布者和訂閱者關(guān)聯(lián)起來(lái)。發(fā)布者必須能夠讓訂閱者非常清楚地查閱它。主題能夠完成該目的:它將一個(gè)名稱(chēng)(在領(lǐng)域domain內(nèi)唯一)、數(shù)據(jù)類(lèi)型(data-type)和數(shù)據(jù)本身的QoS關(guān)聯(lián)在一起,使空間上、時(shí)間上關(guān)系松散甚至毫無(wú)關(guān)聯(lián)的發(fā)布者和訂閱者之間產(chǎn)生了互通。

      每當(dāng)發(fā)布者將新主題信息發(fā)送到當(dāng)前節(jié)點(diǎn)的全局?jǐn)?shù)據(jù)空間,中間件就會(huì)把主題信息廣播給所有感興趣的訂閱者。當(dāng)訂閱者能從自己的數(shù)據(jù)空間中找到需要的主題信息時(shí),就向發(fā)布主題節(jié)點(diǎn)發(fā)送訂閱請(qǐng)求信息,發(fā)布者根據(jù)訂閱信息中的訂閱者地址,發(fā)布該主題下的數(shù)據(jù)給指定的訂閱者,兩者即完成數(shù)據(jù)的分發(fā)。

      圖1 DCPS數(shù)據(jù)模型及全局?jǐn)?shù)據(jù)空間

      3 全局?jǐn)?shù)據(jù)空間設(shè)計(jì)分析

      在DDS中間件設(shè)計(jì)中采用基于偵聽(tīng)的通信機(jī)制,由偵聽(tīng)者來(lái)進(jìn)行信息的分發(fā)并觸發(fā)相關(guān)實(shí)體的動(dòng)作,即各節(jié)點(diǎn)之間通過(guò)偵聽(tīng)者來(lái)傳遞發(fā)布和訂閱的主題信息。所有與主題相關(guān)的信息都保存在GDS中,偵聽(tīng)者收到來(lái)自其他節(jié)點(diǎn)的信息后通過(guò)與GDS進(jìn)行交互來(lái)進(jìn)行主題和QOS的匹配,從而進(jìn)行任務(wù)的分發(fā),通知相關(guān)發(fā)布者/訂閱者調(diào)用與主題相關(guān)聯(lián)的數(shù)據(jù)寫(xiě)入者/數(shù)據(jù)讀入者進(jìn)行數(shù)據(jù)傳送。

      由于DCPS通信模型采用的是基于主題發(fā)布訂閱機(jī)制[6~7],各節(jié)點(diǎn)之間的交互通過(guò)主題來(lái)關(guān)聯(lián),而且新節(jié)點(diǎn)的接入和節(jié)點(diǎn)的退出信息也保存在全局?jǐn)?shù)據(jù)空間中,因此全局?jǐn)?shù)據(jù)空間上的主題信息的同步更新則成為了設(shè)計(jì)的關(guān)鍵。GDS一方面與本地發(fā)布者、訂閱者、數(shù)據(jù)讀入者、數(shù)據(jù)寫(xiě)入者進(jìn)行交互,協(xié)助這些實(shí)體完成主體的發(fā)布或訂閱。另一方面,它為偵聽(tīng)者進(jìn)行信息處理和分發(fā)提供參考。

      由于傳統(tǒng)C/S通信模式需要一個(gè)中心服務(wù)器來(lái)處理并提供數(shù)據(jù),而且如果多個(gè)節(jié)點(diǎn)同時(shí)向服務(wù)器請(qǐng)求,服務(wù)器需要花很長(zhǎng)時(shí)間來(lái)處理消息,增加了服務(wù)器的負(fù)載,不適合數(shù)據(jù)流大的實(shí)時(shí)系統(tǒng),所以全局?jǐn)?shù)據(jù)空間并不在一個(gè)集中式服務(wù)器中,而是采用分布式的設(shè)計(jì),分布到每個(gè)分布式節(jié)點(diǎn)上。于是,在設(shè)計(jì)GDS的時(shí)候需要考慮以下幾個(gè)方面:

      ?當(dāng)需要發(fā)布主題時(shí),DDS中間件需要查詢(xún)GDS是否已有其他節(jié)點(diǎn)發(fā)布過(guò)該主題;若沒(méi)有,發(fā)布方采取廣播的方式發(fā)送主題到所有接入的節(jié)點(diǎn),各節(jié)點(diǎn)需要同步更新GDS主題信息表,所以各節(jié)點(diǎn)保持一樣的主題信息;

      ?當(dāng)訂閱者訂閱主題時(shí),DDS中間件通過(guò)查詢(xún)GDS主題信息表得到該主題的發(fā)布者,確定向哪里訂閱;

      ?當(dāng)確定主題發(fā)送者之后,即向發(fā)布者發(fā)送訂閱信息;訂閱信息存儲(chǔ)在發(fā)布者的訂閱登記表中;

      ?當(dāng)某個(gè)主題上有數(shù)據(jù)產(chǎn)生時(shí),需要在GDS訂閱登記表中查詢(xún)找到所有該主題的訂閱者,來(lái)確定數(shù)據(jù)的接收地;

      ?當(dāng)偵聽(tīng)者收到訂閱主題或退訂消息時(shí),通過(guò)查找GDS確定是否需要保存該信息。

      4 全局?jǐn)?shù)據(jù)空間的設(shè)計(jì)

      基于以上的需求分析,提出了一種基于DCPS模型的發(fā)布訂閱中間件框架并設(shè)計(jì)了全局?jǐn)?shù)據(jù)空間的的組織結(jié)構(gòu)。如圖2所示。

      圖2 基于DCPS模型的發(fā)布訂閱中間框架及數(shù)據(jù)空間結(jié)構(gòu)

      通過(guò)以上對(duì)DDS規(guī)范的研究和對(duì)實(shí)際應(yīng)用的需求分析,GDS主要需要保存所有發(fā)布者的主題信息、本節(jié)點(diǎn)的訂閱信息、需要保存的數(shù)據(jù)、所有訂閱失敗的信息。所以設(shè)計(jì)的GDS由發(fā)布主題表、訂閱登記表、發(fā)布數(shù)據(jù)緩存區(qū)和訂閱失敗隊(duì)列四部分構(gòu)成。

      1)發(fā)布主題表

      定義發(fā)布主題表PT_Table(ID,P_IP,T_QOS)保存所有發(fā)布主題的狀態(tài)信息,其中ID為發(fā)布的主題標(biāo)識(shí);P_IP為發(fā)布者IP地址;T_QOS表示發(fā)布者所提供主題的服務(wù)質(zhì)量,T_QOS主要包括:(1)Durability數(shù)據(jù)持久性,其中 VOLATILE表示非持久性數(shù)據(jù),不需要保存,T RANSIENT表示需要暫時(shí)保存,PERSISTENT表示持久性數(shù)據(jù),需要永久保存;(2)Reliability為傳輸方式的可靠性,Best-effort表示盡力方式傳輸,Reliable表示采用可靠方式傳輸;(3)Priority表示訂閱時(shí)間的優(yōu)先級(jí),值越小其優(yōu)先級(jí)越高。

      所有節(jié)點(diǎn)上的發(fā)布主題表保持一致并實(shí)時(shí)更新。對(duì)于一個(gè)有多個(gè)分布節(jié)點(diǎn)組成的具有特定功能的系統(tǒng)來(lái)說(shuō),所有節(jié)點(diǎn)應(yīng)用具備一張一致的發(fā)布主題表,描述了該系統(tǒng)的基本主題狀況。

      2)訂閱登記表

      定義訂閱登記表SR_T able(ID,S_IP,T_QOS)反映當(dāng)前訂閱該節(jié)點(diǎn)的訂閱信息,其中ID表示訂閱主題;S_IP為訂閱者地址;T_QOS表示訂閱方要求主題的服務(wù)質(zhì)量,與PR_Table的 T_QOS參數(shù)和意義相同。

      不同節(jié)點(diǎn)的訂閱登記表各不相同。節(jié)點(diǎn)在訂閱主題時(shí),通過(guò)發(fā)布主題來(lái)確定提供該訂閱主題的節(jié)點(diǎn);在發(fā)布數(shù)據(jù)時(shí),通過(guò)訂閱登記表來(lái)確定數(shù)據(jù)該發(fā)往何處。

      3)發(fā)布數(shù)據(jù)緩沖區(qū)

      Data_pool保存由本節(jié)點(diǎn)發(fā)布且需要保存的發(fā)送數(shù)據(jù),即主題的Durability_QOS屬性為T(mén)RANSIERNT或PERSISENT的數(shù)據(jù)。其結(jié)構(gòu)如圖3所示,數(shù)組每一項(xiàng)表示同一主題已發(fā)送的數(shù)據(jù),num表示現(xiàn)有數(shù)據(jù)條數(shù);ID為主題標(biāo)識(shí);ptr指向所有主題數(shù)據(jù)的鏈表,鏈表的每一項(xiàng)保存了一條數(shù)據(jù)信息,通過(guò)指針指向數(shù)據(jù)的內(nèi)存區(qū);Livaspan表示該主題數(shù)據(jù)需要保存的時(shí)間,若 Livaspan為0xffff則永久保存,否則在規(guī)定的時(shí)刻后刪除該主題下的首條消息;

      GDS根據(jù)每種主題下數(shù)據(jù)的Livaspan來(lái)決定何時(shí)更新緩沖區(qū)。

      圖3 發(fā)布數(shù)據(jù)緩沖區(qū)結(jié)構(gòu)示意圖

      4)訂閱失敗隊(duì)列

      Sub_fail_que保存本節(jié)點(diǎn)向其他節(jié)點(diǎn)失敗訂閱的歷史記錄,數(shù)組每一項(xiàng)表示在同一主機(jī)上訂閱失敗的記錄。中間件在收到發(fā)布方開(kāi)機(jī)信息或間隔一定時(shí)間再進(jìn)行重新訂閱。

      5 GDS管理策略

      GDS是本模型實(shí)現(xiàn)主題訂閱和數(shù)據(jù)分發(fā)的關(guān)鍵。如何更新各節(jié)點(diǎn)上的發(fā)布主題表使其保持動(dòng)態(tài)一致,以及維護(hù)和更新訂閱登記表是GDS管理的核心環(huán)節(jié),所以GDS最后需要一些管理策略來(lái)進(jìn)行更新維護(hù)。本文提出了如下策略:

      ?每個(gè)節(jié)點(diǎn)開(kāi)機(jī)時(shí)向所有節(jié)點(diǎn)廣播開(kāi)機(jī)信息,收到開(kāi)機(jī)信息后,各個(gè)節(jié)點(diǎn)檢查自己的訂閱失敗隊(duì)列,將在開(kāi)機(jī)節(jié)點(diǎn)上訂閱失敗的訂閱消息重新發(fā)給開(kāi)機(jī)節(jié)點(diǎn),訂閱成功后從隊(duì)列中刪除。

      ?訂閱者變更訂閱記錄時(shí)通知相應(yīng)發(fā)布者更新其訂閱登記表。發(fā)布者變更發(fā)布主題信息時(shí)通知所有節(jié)點(diǎn)更新發(fā)布主題表,以保持發(fā)布主題表的全局一致性。

      ?訂閱方根據(jù)發(fā)布主題表向發(fā)布者發(fā)送訂閱信息,若發(fā)布主題表中沒(méi)有相關(guān)發(fā)布記錄,則進(jìn)行廣播訂閱,若訂閱成功就在發(fā)布者的訂閱登記表中登記訂閱記錄。發(fā)布節(jié)點(diǎn)上的GDS在發(fā)布數(shù)據(jù)緩沖區(qū)查找是否存在該訂閱者所訂閱主題的數(shù)據(jù),然后激活相應(yīng)數(shù)據(jù)寫(xiě)入者將數(shù)據(jù)發(fā)送給訂閱方的相應(yīng)數(shù)據(jù)讀入者。若訂閱失敗就將該訂閱記錄記入本節(jié)點(diǎn)的訂閱失敗隊(duì)列。

      ?節(jié)點(diǎn)離開(kāi)或失效的情況:當(dāng)節(jié)點(diǎn)離開(kāi)時(shí),向其他節(jié)點(diǎn)發(fā)送離線消息,其他節(jié)點(diǎn)刪除訂閱登記表中離線節(jié)點(diǎn)的訂閱記錄,并終止與離線節(jié)點(diǎn)間的所有發(fā)布/訂閱關(guān)系,離開(kāi)節(jié)點(diǎn)同時(shí)清空節(jié)點(diǎn)上的訂閱登記表;各個(gè)節(jié)點(diǎn)通過(guò)定期向其他節(jié)點(diǎn)發(fā)送心跳信息來(lái)表示該節(jié)點(diǎn)還“活著”。一段時(shí)間內(nèi)收不到某節(jié)點(diǎn)的心跳信息表明該節(jié)點(diǎn)已“死亡”,其他節(jié)點(diǎn)要?jiǎng)h除訂閱登記表中“死亡”節(jié)點(diǎn)的訂閱記錄。

      6 結(jié)語(yǔ)

      傳統(tǒng)的中間件包括CORBA、EJB、DCOM 都采用C/S通信模式,它需要一個(gè)中心服務(wù)器來(lái)處理數(shù)據(jù)信息,增加了服務(wù)器的負(fù)載,產(chǎn)生了不可預(yù)測(cè)的時(shí)延,不適用于數(shù)據(jù)量大的實(shí)時(shí)系統(tǒng)。而DDS規(guī)范采用的以數(shù)據(jù)為中心的發(fā)布/訂閱(DCPS)模型,根據(jù)主題進(jìn)行點(diǎn)到點(diǎn)消息發(fā)送,實(shí)現(xiàn)了按需發(fā)送。而全局?jǐn)?shù)據(jù)空間概念的提出,實(shí)現(xiàn)了發(fā)布訂閱模型的異步性和松耦合性,同時(shí)本文提出一種全局?jǐn)?shù)據(jù)空間分布式設(shè)計(jì)方案,大大提高了系統(tǒng)的可靠性和可擴(kuò)展性。因此,DDS中間件在高性能、高可靠性、高實(shí)時(shí)的數(shù)據(jù)傳輸中應(yīng)用前景廣闊。

      [1]OMG Data Distribution Service for Real-time Systems Version 1.2,2007

      [2]Giddings V Tutorial on the OMG Data Distribution Service[R].Objective Interface Systems.Inc,2005

      [3]TAO Developer's Guide Excerpt Object Computing,Inc,2007

      [4]Data Distribution Service(DDS)and the RTPS protocol Gerardo Pardo Castellote gerardo@rti.com,2004

      [5]Addressing the Challenges of Tactical Information Management in Net-CentricSystemswith DDS Douglas C.Schmidt Angelo Corsaro Hans van't Hag PrismTech Corporation,2005

      [6]Middleware Solutions for automation application-case RTPS Helsinki University of Technology Seppo Sierla,2003

      [7]Designing and debugging real-time distributed systems By Geoff Revill,RTI,2008

      猜你喜歡
      發(fā)布者登記表中間件
      2021年山西省對(duì)口升學(xué)考試獎(jiǎng)勵(lì)照顧考生登記表
      山西省成人高校招生錄取照顧對(duì)象登記表
      2020年山西省對(duì)口升學(xué)考試獎(jiǎng)勵(lì)照顧考生登記表
      RFID中間件技術(shù)及其應(yīng)用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      基于VanConnect中間件的設(shè)計(jì)與開(kāi)發(fā)
      基于NDN的高效發(fā)布/訂閱系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
      山西省對(duì)口升學(xué)考試獲獎(jiǎng)考生照顧加分登記表
      廣告發(fā)布者的著作權(quán)審查義務(wù)問(wèn)題研究
      加權(quán)映射匹配方法的站內(nèi)搜索引擎設(shè)計(jì)
      中間件在高速公路領(lǐng)域的應(yīng)用
      鲜城| 万荣县| 化德县| 平江县| 额尔古纳市| 延津县| 柘荣县| 新民市| 清水河县| 葫芦岛市| 刚察县| 嵩明县| 莱州市| 丰原市| 高台县| 德格县| 左权县| 黎平县| 慈利县| 水城县| 达州市| 香格里拉县| 晋宁县| 隆子县| 河津市| 新平| 大足县| 临海市| 婺源县| 名山县| 芜湖市| 平顺县| 苏尼特右旗| 邵东县| 晋州市| 桐城市| 宾阳县| 万全县| 兴安县| 阆中市| 阿图什市|