沈祉怡,孫艷英
(92941部隊(duì)96分隊(duì),遼寧葫蘆島, 125001)
隨著海上靶場(chǎng)參試的裝備與日俱增,指控信息的內(nèi)容不斷豐富,傳統(tǒng)的指揮信息轉(zhuǎn)發(fā)軟 件配置復(fù)雜,維護(hù)困難。這就需要一種操作簡(jiǎn)便,并且能夠?qū)A康脑囼?yàn)信息進(jìn)行靈活、高 效轉(zhuǎn)發(fā)的指揮顯示信息分發(fā)系統(tǒng),以滿足現(xiàn)階段靶場(chǎng)需求。對(duì)于試驗(yàn)指揮員和各設(shè)備操作手, 不僅期望能夠快速、準(zhǔn)確的獲取所需信息,還要及時(shí)的將信息傳遞出去。在不同的試驗(yàn)任務(wù) 中,參試的指揮部位不同,對(duì)試驗(yàn)任務(wù)相關(guān)的信息需求也不同。這就需要一種方便、靈活、 可擴(kuò)展的交互機(jī)制和通信模型來(lái)適應(yīng)靶場(chǎng)試驗(yàn)任務(wù)中裝設(shè)備動(dòng)態(tài)變化和松耦合的特點(diǎn)。發(fā)布 /訂閱機(jī)制具有異步以及松散耦合的特點(diǎn),可以使信息的發(fā)布者和訂閱者在時(shí)間、空間和控 制流等方面完全解耦,適應(yīng)目前靶場(chǎng)外場(chǎng)裝設(shè)備站點(diǎn)和分指揮所動(dòng)態(tài)多變、有線/無(wú)線的指 揮顯示信息分發(fā)系統(tǒng)的需求。綜上,本文針對(duì)現(xiàn)階段靶場(chǎng)試驗(yàn)中的問(wèn)題,如網(wǎng)絡(luò)帶寬不夠, 連接不穩(wěn),動(dòng)態(tài)可擴(kuò)展性差等,結(jié)合未來(lái)靶場(chǎng)需求進(jìn)行探討,設(shè)計(jì)靈活、動(dòng)態(tài)、可擴(kuò)展、易 操作的指顯信息分發(fā)系統(tǒng)。
發(fā)布/訂閱是一種消息范式,主要包括發(fā)布者,是信息的生產(chǎn)者;訂閱者,是信息的消費(fèi)者;消息代理,是發(fā)布者和訂購(gòu)者的紐帶。在信息的生產(chǎn)者和消費(fèi)者之間所交互的信息稱 為事件或者消息。發(fā)布者發(fā)布不同類別的消息,訂閱者對(duì)一種或多種消息表達(dá)興趣,接收感興趣的消息。消息代理根據(jù)訂閱信息將發(fā)布的消息以異步的通知形式發(fā)送給相應(yīng)的訂閱者。發(fā)布/訂閱模型結(jié)構(gòu)如圖l所示。
圖l發(fā)布/訂閱模型結(jié)構(gòu)
發(fā)布/訂閱系統(tǒng)主要具備交互性和解稿性的特點(diǎn)。
(1)交互性:發(fā)布/訂閱系統(tǒng)具有很強(qiáng)的交互性。訂閱者提出訂閱需求,而發(fā)布者通過(guò)將事件 發(fā)送給分發(fā)代理滿足訂閱者的需求。
(2)解耦性:解耦性主要表現(xiàn)在空間解耦—消息的發(fā)布者和訂閱者不必互相知道彼此。時(shí)間解 耦一消息的發(fā)布和訂閱條件不需要同時(shí)產(chǎn)生??刂屏鹘怦钜皇录陌l(fā)布和訂閱不是在發(fā)布者或者訂閱者的主控流程里發(fā)生。
靶場(chǎng)在進(jìn)行試驗(yàn)任務(wù)過(guò)程中,各測(cè)控站點(diǎn)、分指揮所和指控中心都需要發(fā)送和獲取試驗(yàn) 任務(wù)相關(guān)的信息?,F(xiàn)階段靶場(chǎng)試驗(yàn)任務(wù)信息的傳輸主要是各測(cè)控設(shè)備將數(shù)據(jù)發(fā)送到中心,由 中心處理后再向外部的測(cè)控站點(diǎn)和分指揮所以及中心內(nèi)部進(jìn)行發(fā)布。不僅傳輸和處理過(guò)程復(fù)雜,而且各外部測(cè)控設(shè)備之間共享能力差,很難滿足試驗(yàn)任務(wù)中個(gè)性化的需求。
面對(duì)日益增長(zhǎng)的指揮顯示信息,指顯信息分發(fā)系統(tǒng)應(yīng)能夠及時(shí)的獲取相關(guān)任務(wù)信息,并能夠快速轉(zhuǎn)發(fā)給各站位;各站位不需要獲取所有的指顯信息,而是按需滿足個(gè)性化的定制, 以便有效的利用網(wǎng)絡(luò)帶寬資源;并且針對(duì)任務(wù)情況可以隨時(shí)動(dòng)態(tài)加入新的測(cè)控設(shè)備或分指揮 所,也可以隨時(shí)與該系統(tǒng)斷開(kāi),具備動(dòng)態(tài)可擴(kuò)展功能,更好地滿足未來(lái)靶場(chǎng)轉(zhuǎn)型需求。
指揮顯示信息分發(fā)系統(tǒng)為實(shí)現(xiàn)靶場(chǎng)試驗(yàn)信息的高度共享,適應(yīng)以網(wǎng)絡(luò)為中心的未來(lái)靶場(chǎng) 需求,利用訂閱/發(fā)布機(jī)制的松耦合、交互性、異步性的特點(diǎn)構(gòu)建了指揮顯示信息分發(fā)系統(tǒng)架構(gòu)。該系統(tǒng)的基本框架如圖2所示。
圖2 指揮顯示信息分發(fā)系統(tǒng)基本框架
該基本框架主要通過(guò)試驗(yàn)IP網(wǎng)、衛(wèi)星等通信方式在終端設(shè)備與指顯信息分發(fā)服務(wù)器之 間架構(gòu)網(wǎng)絡(luò)橋梁。終端設(shè)備用戶將自己獲取的指顯信息通過(guò)指顯信息分發(fā)接口的轉(zhuǎn)換發(fā)布到 指顯信息分發(fā)服務(wù)器上,然后經(jīng)過(guò)一系列的全局?jǐn)?shù)據(jù)的處理,將信息發(fā)布到發(fā)布列表中,就 可以在整個(gè)系統(tǒng)中共享指顯信息。用戶訂購(gòu)信息,首先要發(fā)送訂閱需求,在信息管理節(jié)點(diǎn)處 進(jìn)行注冊(cè)后,發(fā)送訂閱請(qǐng)求,在注冊(cè)表中查找匹配信息進(jìn)行發(fā)送信息。
指揮顯示信息分發(fā)系統(tǒng)的工作流程如圖3所示。在整個(gè)系統(tǒng)中,信息的發(fā)布者,通過(guò)指 揮顯示接口將任務(wù)信息發(fā)送到指顯信息分發(fā)系統(tǒng)中,創(chuàng)建相應(yīng)的發(fā)布主題并將主題和服務(wù)質(zhì) 量參數(shù)(QoS參數(shù))提交給數(shù)據(jù)寫入者,并在信息管理節(jié)點(diǎn)處將發(fā)布的信息進(jìn)行注冊(cè)便于訪 問(wèn)和查詢信息。信息的訂閱者,通過(guò)指揮顯示分發(fā)系統(tǒng)接口將訂閱需求發(fā)送到指顯信息分發(fā) 系統(tǒng)中,創(chuàng)建相應(yīng)的訂閱主題和QoS要求,通過(guò)數(shù)據(jù)訂閱者向系統(tǒng)提交請(qǐng)求,等待接收數(shù)據(jù),并在信息管理節(jié)點(diǎn)處將訂閱的信息進(jìn)行注冊(cè)。在信息管理節(jié)點(diǎn)處創(chuàng)建訂閱和發(fā)布的索引表里,通過(guò)信息匹配找到相應(yīng)的發(fā)布者和訂購(gòu)者,并將兩者建立連接,將實(shí)時(shí)的數(shù)據(jù)發(fā)送給訂閱者,同時(shí)將匹配結(jié)果發(fā)布到發(fā)布節(jié)點(diǎn)上。
數(shù)據(jù)模型是發(fā)布/訂閱系統(tǒng)的基礎(chǔ),其他技術(shù)都是依賴于數(shù)據(jù)模型進(jìn)行研究的。通常,發(fā)布/訂閱系統(tǒng)的數(shù)據(jù)模型主要由事件模型和訂閱模型組成。用來(lái)描述發(fā)布者所提供的事件 被稱為事件模型;用來(lái)描述訂閱者提交的訂閱條件被稱為訂閱模型。目前發(fā)布/訂閱系統(tǒng)所 采用的數(shù)據(jù)模型主要是基于Map的數(shù)據(jù)模型和基于XML的數(shù)據(jù)模型等。
在基于Map的數(shù)據(jù)模型中,通常把事件描述成屬性名和屬性值的形式,它把時(shí)間表述成多個(gè)屬性,每個(gè)屬性可以對(duì)應(yīng)一個(gè)或多個(gè)值,既一個(gè)“屬性=值”的集合,而這個(gè)集合就叫做一個(gè)Map。對(duì)于訂閱者提出的訂閱條件,一般是由各個(gè)屬性的“與”運(yùn)算組成,訂閱條件可能只涉及事件的一個(gè)屬性,也可能涉及到多個(gè)屬性。
在基于XML的數(shù)據(jù)模型中,每個(gè)事件被描述成為一個(gè)XML文檔,而訂閱條件一般被描述成為一個(gè)XPath表達(dá)式,其中既包括對(duì)XML文檔結(jié)構(gòu)的約束,又包括對(duì)某些元素和屬性的約束。雖然XML具有很強(qiáng)的表達(dá)能力,但是訂閱者必須預(yù)先知道被發(fā)布的XML文檔所遵從的XMLSchema,才能根據(jù)該Schema定義出相應(yīng)的訂閱條件。
在本系統(tǒng)中,擬采用基于Map的數(shù)據(jù)模型。把事件描述成屬性名-屬性值的二元組形式; 對(duì)于訂閱條件,通常用屬性名,關(guān)系操作符,屬性值三元組來(lái)表示。
在發(fā)布/訂閱系統(tǒng)中,事件實(shí)時(shí)更新,訂閱需求不斷發(fā)送,如何快速、高效、準(zhǔn)確的進(jìn)行匹配是匹配算法需要解決的問(wèn)題。常用的匹配方法有暴力法、匹配樹(shù)法和多級(jí)索引法等。
本系統(tǒng)設(shè)計(jì)在多級(jí)索引法的基礎(chǔ)上進(jìn)行調(diào)整改進(jìn)。所有訂閱條件被建立成一張多級(jí)索 引表,其中事件的主題是一級(jí)索引,關(guān)系操作符是二級(jí)索引,事件的屬性名是三級(jí)索引,屬 性值是四級(jí)索引。索引表的建立過(guò)程:對(duì)于新發(fā)布的訂閱條件,首先,在一級(jí)索引處進(jìn)行主題區(qū)分,找到對(duì)應(yīng)主題后進(jìn)入下一索引;其次,在二級(jí)索引中查找符合條件的關(guān)系操作符, 然后進(jìn)入第二級(jí)索引;再次,到三級(jí)索引中查找訂閱條件的屬性名,匹配后進(jìn)入第四級(jí)索引; 最后,在四級(jí)索引中找到滿足條件的屬性值后,找到符合條件的事件,結(jié)束索引。
在發(fā)布/訂閱系統(tǒng)中,一般由分布在不同地點(diǎn)的多臺(tái)服務(wù)器作為事件代理,并由這些事 件代理構(gòu)成一個(gè)網(wǎng)絡(luò)系統(tǒng)。為保障信息傳輸順利進(jìn)行,路由協(xié)議負(fù)責(zé)為分發(fā)服務(wù)器選擇合適 的路徑,將事件從發(fā)布者高效、可靠地傳送給訂閱者,并使分發(fā)代理節(jié)點(diǎn)可以靈活配置、動(dòng) 態(tài)的擴(kuò)展。所以,路由協(xié)議對(duì)整個(gè)系統(tǒng)的效率和可靠程度起著至關(guān)重要的作用。常見(jiàn)的發(fā)布 /訂閱系統(tǒng)的路由算法主要包括生成樹(shù)算法、逆向路徑算法等。
生成樹(shù)算法中,所有事件代理組成樹(shù)型結(jié)構(gòu)。當(dāng)某事件代理收到訂閱者發(fā)來(lái)的訂閱請(qǐng)求 時(shí),訂閱消息由當(dāng)前節(jié)點(diǎn)逐級(jí)向根節(jié)點(diǎn)發(fā)送,并利用過(guò)濾條件的覆蓋關(guān)系對(duì)消息轉(zhuǎn)發(fā)進(jìn)行優(yōu) 化。但是,由于處于上層的節(jié)點(diǎn)保存其子節(jié)點(diǎn)所有的訂閱信息,所以越是上層的節(jié)點(diǎn)保存的 信息就越多,負(fù)擔(dān)也就越重,各個(gè)節(jié)點(diǎn)就會(huì)出現(xiàn)負(fù)載不均現(xiàn)象。
逆向路徑算法中,訂閱消息的傳播采用“基于源轉(zhuǎn)發(fā)”廣播算法,事件消息的傳播采用 “逆向路徑轉(zhuǎn)發(fā)”廣播算法。每個(gè)事件代理都預(yù)先知道一棵以自己為根的生成樹(shù)。訂閱者將 訂閱消息發(fā)送給它的事件代理,然后事件代理將訂閱的事件按這棵生成樹(shù)轉(zhuǎn)發(fā)給其它各事件 代理,并利用過(guò)濾條件的覆蓋關(guān)系對(duì)轉(zhuǎn)發(fā)的消息進(jìn)行優(yōu)化。當(dāng)每個(gè)事件代理收到其客戶發(fā)布 的事件時(shí),該事件即按照各訂閱消息的逆向路徑被轉(zhuǎn)發(fā)到其它事件代理。這種路由協(xié)議的優(yōu) 點(diǎn)在于各事件代理的負(fù)載較為均衡。它的缺點(diǎn)在于,網(wǎng)絡(luò)中的每個(gè)節(jié)點(diǎn)都同時(shí)處在多棵事件 分發(fā)樹(shù)之中,其中包含的路由信息難以被其他節(jié)點(diǎn)所替代。一旦某節(jié)點(diǎn)失效,整個(gè)系統(tǒng)的路由重配工作將是很困難的。
已有的路由算法采用的協(xié)議都是在某種廣播協(xié)議基礎(chǔ)上進(jìn)行優(yōu)化,以避免不必要的消息 轉(zhuǎn)發(fā)。對(duì)于本系統(tǒng)的路由算法,通過(guò)檢測(cè)各分代理服務(wù)器中是否有對(duì)本事件感興趣的訂閱者, 來(lái)設(shè)置過(guò)濾條件的覆蓋關(guān)系,從而降低信息轉(zhuǎn)發(fā)數(shù)量,提高事件轉(zhuǎn)發(fā)效率、訂閱維護(hù)效率和 系統(tǒng)容錯(cuò)能力,實(shí)現(xiàn)系統(tǒng)的負(fù)載均衡,降低系統(tǒng)的資源消耗。
基于發(fā)布/訂閱機(jī)制的指揮顯示信息分發(fā)系統(tǒng)利用發(fā)布/訂閱模型的交互性、異步通信和 松耦合性的特點(diǎn),使指揮顯示信息分發(fā)系統(tǒng)不僅能夠更加快速、準(zhǔn)確的獲取實(shí)時(shí)的試驗(yàn)信息, 又能靈活、動(dòng)態(tài)擴(kuò)展系統(tǒng),滿足未來(lái)靶場(chǎng)繁重的試驗(yàn)任務(wù)需求。
圖3 指揮顯示信息分發(fā)系統(tǒng)工作流程