• 
    

    
    

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

      航行通告分發(fā)服務中間件的研究與設計

      2016-03-17 03:51:32宋雪雁孫濟洲
      計算機應用與軟件 2016年2期
      關鍵詞:發(fā)布者中間件通告

      胡 靜 宋雪雁 孫濟洲

      (天津大學計算機科學與技術學院 天津 300072)

      ?

      航行通告分發(fā)服務中間件的研究與設計

      胡靜宋雪雁孫濟洲

      (天津大學計算機科學與技術學院天津 300072)

      摘要現有的航行通告處理系統(tǒng)采用C/S模式,客戶端和服務器間耦合度很高,且基于廣播的傳送方式造成客戶端大量冗余航行通告的產生。針對航行通告發(fā)生地明確、接收端可按需訂閱的特點,結合數據分發(fā)服務DDS(Data Distribution Service)規(guī)范能夠使通信雙方在空間、時間和數據通信等方面實現松耦合的特征。提出基于DDS規(guī)范的發(fā)布訂閱模型,設計了一個支持服務質量QoS(Quality of Service)的航行通告分發(fā)服務中間件,定義其中的數據結構、工作流程以及全局數據空間的管理策略。根據航行通告發(fā)布場景,使用CPN Tools工具進行建模和仿真。案例仿真結果表明,該中間件能夠提供準確的基于主題的航行通告分發(fā)服務,從而證明了中間件設計方案的可行性和有效性。

      關鍵詞航行通告分發(fā)服務中間件服務質量著色Petri網

      RESEARCH AND DESIGN OF NOTAM DISTRIBUTION SERVICE MIDDLEWARE

      Hu JingSong XueyanSun Jizhou

      (School of Computer Science and Technology,Tianjin University,Tianjin 300072,China)

      AbstractExisting NOTAM processing system uses C/S model, the coupling degree between client and server is very high, and the broadcast-based transmission means makes a lot of redundant NOTAM generated at the client. In view of the features of NOTAM that their generation places are clear and the receiver can be subscribed on demand, and combining with the characteristics of data distribution service (DDS) specification that it enables two communicating parties to reach the loose coupling in space, time and data communications, in this paper we present a DDS specification-based publishing and subscribing model. We design a NOTAM distribution service middleware which supports the QoS policies, define the data structure and work flow of it, as well as the managerial strategy of global data space. According to NOTAM distribution scene, we use CPN Tools for modelling and simulation. Case simulation results show that the middleware can provide accurate subject-based NOTAM distribution services, so that proves the feasibility and validity of the design scheme of middleware.

      KeywordsNotice to airmen (NOTAM)Distribution serviceMiddlewareQuality of serviceColoured Petri nets (CPN)

      0引言

      航行情報服務是空中交通管理的重要組成部分[1]。目前,我國正在使用的民航航行情報處理系統(tǒng)采用了基于客戶端/服務器C/S的通信模型,實現國內外航行通告、雪情通告及其他電報的接收、處理和發(fā)布[2]。這種基于C/S模型的系統(tǒng),使得客戶端和服務器間的耦合程度很高,降低了系統(tǒng)的靈活性、擴展性和健壯性。為了解決上述C/S模型的缺陷,本文在航行通告分發(fā)服務中引入了發(fā)布/訂閱模型[3],在發(fā)布/訂閱模型中,發(fā)布者和訂閱者通過主題關聯(lián),兩者不需同時在線,也不必知道對方的位置,從而實現了通信雙方時間、空間和數據通信的多維松耦合。

      目前常用的發(fā)布/訂閱系統(tǒng)有:CORBA Notification Service[4],它以對象和服務為中心,采用了C/S通信模式,通信機制較為復雜,數據的收發(fā)需要建立連接的過程,不能完全滿足系統(tǒng)對實時性的需要;JMS[5],它是采用Java語言開發(fā)的,使用集中式體系結構提供消息服務,影響了系統(tǒng)的實時性,且JMS并沒有提出QoS約束,用戶不能指定相互間的通信方式,限制通信的靈活性和可靠性。由于上述系統(tǒng)缺乏對應用層QoS(如:數據持久性、可靠性等)的支持,不能滿足航空航天、遠程勘測等對于實時性和可靠性要求很高的應用。因此,對象管理組織OMG頒布了數據分發(fā)服務DDS規(guī)范[6],定義了以數據為中心的發(fā)布/訂閱,并利用QoS策略描述資源狀況、網絡狀況等來控制數據分發(fā)的質量,極大地增強了通信的實時性和可靠性[7]。基于該規(guī)范,馮國良[8]等人提出了一種集中式的DDS實時中間件,它通過中心服務器完成消息的匹配和轉發(fā),但中心服務器負擔較重,容易造成系統(tǒng)的通信瓶頸和單點故障。因此,本文在此基礎上,根據DDS規(guī)范設計了一種采取分布式體系結構的基于主題的航行通告分發(fā)服務中間件,用以提高航行通告的交換效率,確保航行的正常、安全。并利用當前流行的適用于軟件流程的理論分析方法—著色Petri網,對本文所設計的航行通告的中間件進行場景建模和分析,驗證該設計方案的可行性、有效性。

      1航行通告分發(fā)服務

      1.1總體描述

      航行通告是有關航行的設施、服務、程序等的設立、狀況、變化,以及涉及航行安全的危險情況及其變化的通知[1]。其分發(fā)服務是航行情報服務的一個重要方面,是實施各類飛行的重要依據之一。常用的航行通告主要有一級航行通告、二級航行通告、雪情通告和火山通告,每一種航行通告都有其固定的格式。

      本文在設計航行通告分發(fā)服務中間件時,結合文獻[9]中介紹的航行通告中各項內容的填寫規(guī)則,將其A)項內容(記錄該航行通告的發(fā)生地)作為航行通告的主題,設計了一種基于主題的方式以實現航行通告的按需傳送。為了保證航行通告分發(fā)服務的質量,我們選取了DDS規(guī)范QoS策略[7]中的Reliability和Durability,其中,Reliability為數據傳輸方面的QoS策略,描述了數據讀取器所申請的可靠性等級和發(fā)布者所能提供的可靠性等級;Durability屬于數據有效性方面的QoS策略,用于控制當前數據是否對后來加入網絡的訂閱者有效。結合DDS規(guī)范,該中間件的總體模型如圖1所示。

      圖1 中間件的總體模型

      該模型包括全局數據空間(GDS)[10]、航行通告的發(fā)布者、訂閱者以及相應的數據寫入器和數據讀取器。一個發(fā)布者可以根據航行通告主題及QoS策略的不同,創(chuàng)建多個數據寫入器,一個數據寫入器與一種主題及其提供的QoS策略對應。類似的,一個訂閱者也可以根據實際需求創(chuàng)建多個數據寫入器,一個數據寫入器與一種主題及其要求的QoS策略對應,在航行通告的傳遞過程中,由GDS完成發(fā)布者與訂閱者、航行通告主題與QoS的匹配工作,控制相應的數據寫入器寫入數據,數據讀取器讀取數據。

      1.2理論模型

      根據中間件的總體模型,可以將航行通告的分發(fā)服務抽象為一個八元組,即Notam={P,S,DW,DR,GDS,T,M,QoS},其中,P表示發(fā)布者,S表示訂閱者,DW表示數據寫入器,DR表示數據讀取器,GDS表示各節(jié)點全局數據空間的集合,T表示航行通告的主題,M表示航行通告的具體內容,QoS表示分發(fā)服務中需要使用的QoS策略。各元組的定義如下:

      P={P1,P2,…,Pn}表示航行通告的發(fā)布者,通常包括民航總局航行情報中心國際通告室和地區(qū)管理局情報中心航行通告室、本地空中交通管制中心航行情報室;

      S={S1,S2,…,Sm}表示航行通告的訂閱者,通常包括民航總局航行情報中心,各地區(qū)空管局航行通告中心以及各空管中心(站)和部分航站;

      DW={DW11,DW12,DWij,…,DWnj}表示數據寫入器的集合,其中,DWij表示由發(fā)布者Pi創(chuàng)建的第j個數據寫入器;

      GDS={GDS1,GDS2,…,GDSn}表示系統(tǒng)中全局數據空間的集合,每個系統(tǒng)參與者都擁有一個自己的GDS,為了保證系統(tǒng)的正確運行,我們需要保證其中已發(fā)布數據記錄具有全局一致性;

      DR={DR11,DR12,DRij,…,DRnj}表示數據讀取器的集合,其中,DRij表示由訂閱者Si創(chuàng)建的第j個數據讀取器;

      T={T11,T12,Tij,…,Tnj}表示航行通告主題的集合,航行通告的主題為航行通告發(fā)布者所對應的四字代碼[11],例如天津濱海機場,即為ZBTJ。其中,Tij就表示由Ti所對應機場發(fā)布的第j種QoS策略的航行通告主題;

      M={M11,M12,Mij,…,Mnj}表示航行通告內容的集合,其中,Mij就表示主題Tij所對應航行通告的內容;

      QoS={Reliable,Best-effort,Volatile,Transient,Persistent}表示航行通告QoS策略的集合,這些值對應DDS規(guī)范QoS策略中的Reliability和Durability。

      2航行通告分發(fā)服務中間件的設計

      通過第1節(jié)的分析可知,中間件在工作時所需要的主題管理及匹配,通知發(fā)布者、訂閱者進行航行通告的傳送都是由GDS完成的,因此它是中間件設計的核心。本節(jié)首先給出中間件的體系結構,然后針對GDS中的數據結構、分發(fā)服務處理流程及其GDS管理策略的設計進行詳細敘述。

      2.1體系結構

      本文設計的航行通告分發(fā)服務中間件,其底層通信建立在ACE(Adaptive Communication Environment)[12]之上,ACE是可自由使用、開放源碼的面向對象框架,提供了一組豐富的可重用C++包裝外觀和框架組件,可跨多種平臺完成通用的通信軟件任務。其體系結構如圖2所示。

      圖2 中間件的體系結構

      圖2中每個應用系統(tǒng)對應一個DDS應用端(發(fā)布者/訂閱者),中間件之間的信息傳輸依賴于ACE提供的通信連接,消息在網絡傳輸中使用TCP/IP協(xié)議,位于網絡中的發(fā)布者和訂閱者通過中間件的GDS完成主題和QoS的匹配,并通過信息流交換發(fā)布、訂閱、控制信息等。當訂閱關系建立后,通過數據流完成航行通告數據的傳輸,實現了信息流和控制流的分離,保證了發(fā)布者和訂閱者的異步實時通信。

      2.2數據結構

      為了保證航行通告分發(fā)服務的質量,需要在GDS中設計相關數據結構,記錄節(jié)點的發(fā)布訂閱信息、失敗信息等。主要包括全局一致的發(fā)布主題記錄表、訂閱登記表、發(fā)布數據緩沖區(qū)、失敗節(jié)點記錄表四個部分。

      (1) 發(fā)布主題記錄表(Pub_Topic_Table)

      Pub_Topic_Table是系統(tǒng)中所有已發(fā)布主題的記錄表,由于系統(tǒng)中各個節(jié)點各自擁有一份發(fā)布主題表,因此它需要實時更新以保證其全局一致性。其具體內容如表1所示。

      表1 發(fā)布主題表的數據結構

      其中,Topic表示航行通告的主題,其格式即為ICAO規(guī)定的情報區(qū)和機場的四字代碼[12];Reliability為傳輸方式的可靠性,Best-effort表示盡力而為的傳輸方式,Reliable表示可靠的傳輸方式;Durability為數據的持久性,Volatile表示非持久性數據,即數據寫入器的內容不在數據緩沖區(qū)中保存,Persistent表示永久保存數據,其內容將被保存在數據緩沖區(qū)中。

      (2) 訂閱主題表(Sub_Table)

      Sub_Table記錄了位于民航網絡中的訂閱本地節(jié)點的所有節(jié)點信息,其具體內容如表2所示。

      表2 訂閱主題表的數據結構

      其中,Reliability為訂閱端要求的傳輸可靠性;Priority為訂閱事件的優(yōu)先級,其數值越小優(yōu)先級越高。發(fā)布端在發(fā)布航行通告時,通過查閱訂閱登記表,選取符合條件的節(jié)點,進行航行通告的傳送。

      (3) 發(fā)布數據緩沖區(qū)(Data_Pool)

      Data_Pool保存了本地節(jié)點發(fā)布的且Durability屬性為Persistent的航行通告數據,其組織結構如圖3所示。

      其中,每一項Data_Pool[n]記錄了同一主題已經發(fā)布的數據。Topic表示航行通告的主題;length記錄了該主題已發(fā)布信息的數目;Reliability表示該主題下傳輸可靠性的QoS;data_ptr是一個指向航行通告數據的指針。位于Data_Pool中的航行通告由兩部分組成,T_id為航行通告的編號,Notam表示航行通告的內容,它們是完成航行通告重傳功能的消息來源。

      (4) 失敗節(jié)點記錄表(Fail_Node_Table)

      Fail_Node_Table記錄本地節(jié)點向其他訂閱節(jié)點發(fā)布航行通告失敗的節(jié)點信息,其具體內容如表3所示。

      表3 失敗節(jié)點記錄表的數據結構

      當航行通告未能成功送達其訂閱端時,該條航行通告的主要信息及訂閱失敗方的IP地址將會被記錄到Fail_Node_Table,網絡中的節(jié)點各自維護本地的Fail_Node_Table。通過該記錄可以確定訂閱失敗航行通告重傳時的對象。

      2.3分發(fā)服務處理流程

      本文所設計的中間件由發(fā)布端、訂閱端、數據寫入器、數據讀取器和GDS組成以完成航行通告的分發(fā)服務。下面將分別闡述航行通告的發(fā)布過程、訂閱過程和傳輸過程,其總體工作流程如圖4所示。

      圖4 航行通告分發(fā)服務中間件的工作流程

      (1) 發(fā)布過程

      當發(fā)布端有航行通告需要發(fā)布時,首先,由發(fā)布端創(chuàng)建發(fā)布者Pi,然后,Pi根據航行通告的主題Ti及提供的QoS策略創(chuàng)建數據寫入器DWij,通知網絡中的其他各個節(jié)點更新其GDS中的Pub_Topic_Table,在其中添加一條記錄(Ti, Ti_Id, Pi_IP, Reliability, Durability),以保證民航網絡中所有節(jié)點的發(fā)布主題表是全局一致的。之后DWij處于阻塞狀態(tài),等待被激活。

      (2) 訂閱過程

      當訂閱端需要訂閱主題為Ti的航行通告時,首先,由訂閱端創(chuàng)建訂閱者Sj,然后,Sj根據訂閱主題及所需的QoS策略創(chuàng)建數據讀取器DRjm,DRjm查詢本地Pub_Topic_Table中是否有符合要求的發(fā)布者,若存在,則將訂閱主題Ti及申請的QoS作為訂閱請求,發(fā)送給對應發(fā)布端的GDS,之后DRjm處于阻塞狀態(tài),等待被激活;

      發(fā)布端在接收到訂閱請求后,在Sub_Table中添加一條記錄(Ti,Sj_IP,Reliability,Priority),然后查看Pub_Topic_Table中Ti的Durability值,若Durability = Volatile,則表明該航行通告為非持久性數據,沒有記錄保存在Data_Pool中;若Durability = Persistent,則表明該航行通告為持久性數據,保存在Data_Pool中,發(fā)布端在Data_Pool中查找Sj所需的數據,并進行QoS策略的匹配,若匹配成功,則激活DWij,將Data_Pool中相應數據按照QoS策略向Sj發(fā)送數據。

      (3) 傳輸過程

      發(fā)布航行通告:當發(fā)布端(Pi)有航行通告主題(Ti)需要發(fā)布時,Pi首先激活與Ti對應的數據寫入器DWi,然后判斷Durability屬性的值,若其值為Volatile,則將數據傳輸后丟棄;若其值為Persistent,則將該航行通告寫入Data_Pool的對應主題中,并更新對應Data_Pool的length。

      傳輸航行通告:Pi在本地的Pub_Topic_Table中查找是否有符合要求的訂閱者Sj,若存在集合S={Sj1,Sj2,…,Sjn}滿足條件,則Pi與集合S中的所有訂閱者建立發(fā)布訂閱關系,并激活對應的數據讀取器集合DR={DRj1,DRj2,…,DRjn}。DWi根據Ti中指定的QoS策略向數據讀取器集合DR發(fā)送航行通告,完成后DWi進入阻塞狀態(tài)等待被激活,若數據寫入器DRjm激活失敗,則失敗消息會返回至發(fā)布端Pi的GDS,并在Fail_Node_Tab-le中添加一條訂閱失敗記錄(Topici,Ti_Id, Sj_IP)。訂閱端DRj接收到航行通告后,將其交由上層的應用系統(tǒng)處理,隨后DRj進入阻塞狀態(tài),等待下一次被激活。

      2.4GDS管理策略

      GDS是中間件實現基于主題的航行通告分發(fā)服務的關鍵,為了保證網絡中各個節(jié)點擁有全局一致的發(fā)布主題記錄表,并且能夠及時、有效地維護和更新訂閱登記表,本文提出以下6條GDS管理策略,其過程如圖5所示。

      圖5 GDS管理策略

      (1) 當節(jié)點(圖中Node1)發(fā)布一個主題時,需要將該主題廣播到網絡中的所有的節(jié)點。各個節(jié)點在接收到該主題廣播后,在本地GDS的Pub_Topic_Table中添加相應的主題信息,從而保證網絡中各節(jié)點的Pub_Topic_Table是一致的。

      (2) 當節(jié)點(圖中Node2)產生訂閱需求時,首先查找本地Pub_Topic_Table中是否有滿足要求的發(fā)布者,若存在,則向相應的發(fā)布節(jié)點(圖中Node1)發(fā)送訂閱請求,Node1接收到訂閱請求后,將相關訂閱信息存入Sub_Table中,并查看Data_Pool中是否有相關信息,若存在,則向Node2傳送航行通告。若Node2未能成功接收到該航行通告,則將Node2的訂閱記錄添加到Node1的Fail_Node_Table中。

      (3) 當節(jié)點(圖中Node3)退訂航行通告時,需要發(fā)送退訂消息通知相應的發(fā)布端(圖中Node1)修改其Sub_Table,以避免訂閱端再次收到該發(fā)布端發(fā)布的航行通告。當Node1收到退訂消息后,首先將Node3的訂閱記錄從Sub_Table中刪除,然后,檢查本地Fail_Node_Table,若存在訂閱者的記錄,則將其刪除。

      (4) 當有新節(jié)點(圖中Node4)加入時,新節(jié)點向鄰近節(jié)點(圖中Node3)發(fā)送加入請求消息。Node3在接收到加入請求時,需將本地節(jié)點GDS中的Pub_Topic_Table發(fā)送給Node3,從而使Node3擁有當前網絡中的所有發(fā)布主題信息。

      (5) 為了保證未收到航行通告的節(jié)點在恢復正常后,能再次收到其訂閱的有效的航行通告。我們規(guī)定,每個節(jié)點在開機后,向所有節(jié)點廣播開機信息。當本地節(jié)點收到其他節(jié)點的開機信息后,檢查本地GDS中的Fail_Node_Table,若存在節(jié)點的失敗記錄,則向該節(jié)點重新發(fā)送未成功送達的航行通告,并在航行通告成功到達后,將該記錄從Fail_Node_Table中刪除。

      (6) 為了保證網絡中各節(jié)點是有效的,我們規(guī)定位于網絡中的節(jié)點需要定期向其訂閱節(jié)點發(fā)送心跳信息。若一段時間內收不到某個節(jié)點的回應,則認為該節(jié)點已經失效,刪除本地GDS中的Sub_Table及Fail_Node_Table(若存在)中對應的記錄。

      3案例分析

      著色Petri網CPN(Colored Petri Net)[13]是丹麥的 Jensen Kurt于1981年在 Petri 網[14]的基礎上定義的一種高級Petri網系統(tǒng),通過對庫所和標識加以顏色區(qū)別,代表系統(tǒng)中不同的資源;通過將庫所與特定的顏色集綁定,使得每個庫所只能存放相應顏色的標識。它是一種特別適合用來描述和分析在異步并發(fā)系統(tǒng)中的數據流與控制流的模型。相比于其他建模方法,它具有形式化的語義、狀態(tài)和動作的顯示表示以及豐富的分析技術等特點,對于從理論上驗證軟件工作原理十分有效[15]。本節(jié)針對2.3節(jié)設計的中間件工作流程,設計航行通告的發(fā)布場景,并使用CPN的仿真工具—CPN Tools[16]進行案例的建模和分析。

      3.1場景設計

      天津濱海機場(ZBTJ)需要發(fā)布一條航行通告(航行通告的內容用“notam”代替),該航行通告的編號為201411,Reliability屬性值為“Best-effort”,Durability屬性值為“Persistent”。ZBTJ的訂閱登記表中有三條記錄,分別是上海浦東機場(IP:222.73.250.26)、北京首都機場(IP: 210.75.250.212)和海口美蘭機場(IP:202.100.200.203),它們的Reliability屬性值均為“Best-effort”,且Priority值均為2。航行通告的傳送過程中,??诿捞m機場由于網絡故障,未能成功接收航行通告,而上海浦東機場、北京首都機場均成功接收航行通告。

      3.2CPN模型建立

      (1) 根據第3節(jié)中設計的支持中間件工作所需的數據結構、處理流程所需的函數及CPN Tools中 CPM ML語言的語法規(guī)則,定義模型的顏色集、變量、弧表達式,建立航行通告發(fā)布的CPN模型,并使用3.1節(jié)設計的場景進行初始化,其結果如圖6所示。

      圖6 航行通告發(fā)布場景CPN模型

      如圖6,發(fā)布端(圖中庫所P1)具有一條待發(fā)布航行通告1`(″ZBTJ″,201411,″60.30.94.1″,″notam″,″Best-effort″,″Persiste-nt″),通過變遷create創(chuàng)建數據寫入器(圖中庫所DW1),航行通告的主題信息(topic,t_id,ip,notam,rel,dur)通過變遷write寫入發(fā)布主題表(圖中庫所PT),同時,通過弧函數writeCheck()判斷本條航行通告是否需要寫入數據緩沖區(qū),由于航行通告的Durability屬性值為“Persistent”,因此航行通告相關內容被寫入數據緩沖區(qū)(圖中庫所Data)。此時,發(fā)布端的訂閱登記表中有三條記錄,分別代表浦東、首都、美蘭機場的訂閱信息(圖中庫所SR_1、SR_2、SR_3),這三條記錄的初始匹配值(圖中庫所rs1、rs2、rs3)都為空,當PT中有新的內容時,變遷match被觸發(fā),通過弧表達式matchCheck()檢查訂閱主題表(SR_1、SR_2、SR_3)中Reliability屬性是否與發(fā)布主題一致,根據場景設計,其Reliability屬性值與發(fā)布內容相同,都為“Best-effort”,此時,rs1、rs2、rs3的值變?yōu)椤皁k”,變遷copy被觸發(fā),弧函數send()被調用,通過檢查可知,訂閱登記表中記錄均滿足發(fā)布條件,因此,相應的數據寫入器(圖中庫所 S1、S2、S3)被激活。其中,圖中庫所rp1、rp2、rp3為數據寫入器的激活結果,其內容應為網絡反饋的結果,為了簡化模型,我們直接根據場景的設計,將其賦值為(“ok”,“ok”,“no”),這里“ok”表示數據寫入器激活成功,“no”表示數據寫入器激活失敗。根據上文流程的設計,通過弧函數decide()的判斷,被成功激活的數據寫入器(圖中庫所DR1、DR2)將通過變遷receive將航行通告?zhèn)鬟f到應用層(圖示庫所S1、S2),而未能成功送達的航行通告,圖中庫所DR3將收不到消息,同時,其相關信息將被寫入發(fā)布端的訂閱失敗列表(圖中庫所Fail)。

      3.3結果分析

      (1) 仿真結果

      首先,使用CPN Tools提供的符號檢查功能對模型進行檢驗,證明該模型沒有語法錯誤,接著,利用CPN Tools中的仿真工具(Simulation)進行模擬執(zhí)行,其結果如圖7所示。

      圖7 CPN模型模擬執(zhí)行結果

      圖8 State Space部分分析報告

      從圖中可知代表Data_Pool的庫所Data中添加了發(fā)布信息1`(201411,″notam″,″Best-effort″),代表Pub_Topic_Table的庫所PT中添加了發(fā)布主題1`(″ZBTJ″,201411,″notam″,″Best-effort″,″P-ersistent″);代表Sub_Table的庫所SR_1、SR_2、SR_3中保留原有的訂閱信息;代表Fail_Node_Table的庫所Fail中添加了海口美蘭機場的訂閱失敗信息1`(″ZBTJ″,201411,″202.100.200.203-″)。代表上海浦東、北京首都機場應用層的庫所S1、S2均接收到了發(fā)布的航行通告信息1`(201411,″notam″)。而代表??诿捞m機場數據讀取器的庫所DR3,因為激活失敗,而未收到任何信息。上述結果完全符合預期。通過模擬結果我們認為中間件工作流程的設計能夠滿足我們對航行通告分發(fā)服務的要求,可以實現航行通告的按主題及QoS的訂按需制推送。

      (2) CPN Tools 分析報告

      通過使用CPN Tools提供的State Space工具可以對模型的狀態(tài)空間進行分析,得到分析報告。其部分分析報告見圖8所示。

      其中,Home Properties記錄模型的源屬性,源標識是指可以從任何可達標識到達的標識[15],圖中顯示模型中存在源標識7,該標識即為場景中給出的初始條件,待發(fā)布的航行通告:1`(″ZBTJ″,201411,″60.30.94.1″,″notam″,″Best-effort″,″Persistent″);Liveness Properties記錄模型的活性,其中,死標識是指不具有使能變遷的標識,圖中顯示模型中存在死標識7,即為上述初始條件;圖中既不存在死鎖變遷,也不存在活變遷,說明模型具有活性,即任何變遷的執(zhí)行都是由一定條件觸發(fā)的,處于中間件的控制范圍內;Fairness Properties表明模型的公平性,該模型中并不存在可無限實施的變遷,即任何變遷在實施之前,其他的變遷只能執(zhí)行有限多次。在分析報告中還有模型的有界屬性,它表示模型所有可達標識中,每個庫所所能擁有的標識數的上下界,其中各標識的個數都是有限的,說明該模型具有有界性。

      CPN模型仿真執(zhí)行的結果與場景中設計的預期結果一致,通過其狀態(tài)空間分析報告的分析,可知該模型具有有界性、活性、公平性,中間件的控制過程符合預期。綜上,我們認為該中間件能夠準確地提供基于主題的航行通告分發(fā)服務,其設計方案是可行的、有效的。

      4結語

      由于現有航行通告系統(tǒng)采用C/S結構,使得系統(tǒng)中服務器壓力過大,模塊耦合度很高,不能對實時傳輸提供良好的支持。本文結合DDS規(guī)范具有時間、空間松耦合,且提供極強的實時性和靈活性保證的特點,提出了航行通告分發(fā)服務的理論模型,設計航行通告發(fā)布訂閱中間件所需的數據結構,發(fā)布訂閱處理流程以及GDS的管理方法,并提供數據持久性、傳輸方式、數據優(yōu)先級的QoS策略,以保證分發(fā)服務的實時性和可靠性。通過航行通告發(fā)布場景,使用CPN Tools工具進行建模和分析,證明該中間件能夠實現節(jié)點間準確的基于主題的分發(fā)服務,從而驗證了該方案的可行性和有效性。今后,將更深入研究DDS規(guī)范,完善與航行通告分發(fā)服務相關的QoS策略,并通過代碼實現中間件的具體功能,提高其應用價值。

      參考文獻

      [1] 中國民用航空局.民用航空情報工作規(guī)則[S].2010.

      [2] 王楠.淺析東北地區(qū)航行情報動態(tài)信息處理系統(tǒng)的運行模式[J].黑龍江科技信息,2012(16):18-18.

      [3] Ozansoy C R,Zayegh A,Kalam A.The real-time publisher/subscriber communication model for distributed substation systems[J].Power Delivery,IEEE Transactions on,2007,22(3):1411-1423.

      [4] Object Management Group.High-performance CORBA Specification[R].Object Management Group,Version1.2,Jan.2005.

      [5] Juneau J.Java Message Service[M]//Introducing Java EE 7.Apress,2013:147-161.

      [6] Object Management Group.Data Distribution Service for Real-time System Specification[R].2004.

      [7] Li C Q,Zhou C,Zhu S B.Design of QoS Protocol Matching Method in the DDS Specification[C]//Applied Mechanics and Materials,2014,577:898-902.

      [8] 馮國良,谷青范.基于DDS的實時中間件的研究與設計[J].航空電子技術,2011,42(3):41-47.

      [9] 王果.數字化航行通告關鍵技術研究[D].天津:中國民航大學,2012.

      [10] Pardo-Castellote G.Omg data-distribution service:Architectural overview[C]//Distributed Computing Systems Workshops,2003.Proceedings.23rd International Conference on.IEEE,2003:200-206.

      [11] 王潔寧,王果.基于DDS規(guī)范的航行情報分發(fā)服務[J].計算機技術與發(fā)展,2012,22(11):212-215.

      [12] 朱建文.ACE+TAO架構在網絡管理的應用[D].北京:北京郵電大學,2008.

      [13] Zimmermann A.Colored Petri Nets[J].Stochastic Discrete Event Systems:Modeling,Evaluation,Applications,2008:99-124.

      [14] Wu Zhehui.Petri net Introduction[M].Beijing:Mechanical Industry Press,2006:1-23.

      [15] 方歡,陸陽,黃鎮(zhèn)謹,等.基于CPN仿真的排隊系統(tǒng)建模及性能分析[J].系統(tǒng)仿真學報,2013,25(2):228-234.

      [16] Westergaard M.CPN tools 4:multi-formalism and extensibility[M] //Application and Theory of Petri Nets and Concurrency.Springer Berlin Heidelberg,2013:400-409.

      中圖分類號TP311

      文獻標識碼A

      DOI:10.3969/j.issn.1000-386x.2016.02.002

      收稿日期:2014-06-30。國家自然科學基金項目(61039001);天津市科技支撐計劃重點項目(11ZCKFGX04200)。胡靜,碩士生,主研領域:Petri網,CPN建模,民航數據分發(fā)技術等。宋雪雁,副教授。孫濟洲,教授。

      猜你喜歡
      發(fā)布者中間件通告
      國家藥監(jiān)局關于7批次藥品不符合規(guī)定的通告
      RFID中間件技術及其應用研究
      電子制作(2018年14期)2018-08-21 01:38:10
      基于VanConnect中間件的設計與開發(fā)
      電子測試(2018年10期)2018-06-26 05:54:02
      基于NDN的高效發(fā)布/訂閱系統(tǒng)設計與實現
      廣告發(fā)布者的著作權審查義務問題研究
      知識產權(2016年4期)2016-12-01 06:58:07
      加權映射匹配方法的站內搜索引擎設計
      關于實行參考文獻新規(guī)范的通告
      關于實行參考文獻新規(guī)范的通告
      中間件在高速公路領域的應用
      變更啟事
      新沂市| 兰西县| 东乌珠穆沁旗| 当阳市| 仁怀市| 微博| 金湖县| 鄂伦春自治旗| 左权县| 吉安市| 镇康县| 娱乐| 赤峰市| 奉化市| 襄城县| 淮南市| 西青区| 若羌县| 陕西省| 呼和浩特市| 黑龙江省| 开远市| 宜兰县| 宁城县| 阿荣旗| 民权县| 泊头市| 延川县| 开远市| 屏边| 栾川县| 香河县| 资溪县| 和政县| 五大连池市| 宁夏| 北京市| 卫辉市| 武强县| 中方县| 自贡市|