徐 飛,楊恩寧,姚紅革
(1.西安工業大學 計算機科學與工程學院,陜西 西安 710032;2.西安交通大學 城市學院,陜西 西安 710018)
多傳感器數據融合(Multi-sensor Data Fusion)是指對來自多個傳感器的數據進行多級別多方面、多層次的處理,從而產生任何單一傳感器所無法獲得的有意義的信息。多傳感器數據融合是一個多級、多層面的分布式數據處理過程,在不同的計算節點上需要完成數據的配準、關聯、相關、估計和融合過程中。利用數學建模技術和分布式仿真技術構建一個通用的數據融合仿真平臺,在平臺上結合工程背景開展數據融合仿真試驗,評估各種模型、算法的性能及在實際系統中的應用情況,對試驗數據進行定量分析,驗證融合結構中各個層次數據處理的合理性和有效性[1]。
在分布式環境下進行數據融合過程仿真需要將多級融合算法分解,部署在多臺計算節點上進行仿真。分布式仿真系統在集成現有模型的基礎上還需要新模型的開發,因此對仿真系統具有異構性與可重用性有較高的要求。現有的分布式仿真系統大多遵循HLA規范。在重用性上受限于特定的仿真支撐平臺,且與其他支持平臺的技術和標準脫節[2]。在通用編程平臺結合的上只能選擇JavaEE或微軟.NET平臺組件實現方式[3],異構性較差。設計一種跨語言、跨平臺的基于服務的組件框架,同時滿足分布式數據融合系統異構性與算法模型可重用性就顯得非常有必要了。
面向服務的體系結構(service-oriented architecture,SOA)是一個組件模型,它將應用程序的不同功能單元通過這些服務之間定義良好的接口和契約聯系起來。接口是采用中立的方式進行定義的,它應該獨立于實現服務的硬件平臺、操作系統和編程語言。這使得構建在各種這樣的系統中的服務可以以一種統一和通用的方式進行交互[4]。面向對象的模型是緊耦合的,面向服務的體系結構是更傳統的面向對象的模型的替代模型。基于SOA的系統并不排除使用面向對象的設計來構建單個服務,但是其整體設計卻是面向服務的。由于它考慮到了系統內的對象,所以雖然 SOA是基于對象的,但是作為一個整體,它卻不是面向對象的。不同之處在于接口本身。
服務組件框架(service component architecture,簡稱SCA)是一套基于SOA去構建企業應用的編程模型,它的基礎思想就將業務功能構造成一系列的服務,并且能夠很好地將這些服務組合起來,達到解決業務需求的目的。在構建這些應用時所用到的服務,不僅包含新建服務,而且可以包括已有的業務應用中的業務功能,且SCA提供了一套針對服務組合和服務創建的模型。主要包括如下元素:
1)Module
Module是SCA構架中重要的組成單元,也是粒度較粗的一個單元。Module具有了屬性,這是為了能夠更加方便地注入給 Component屬性值而做的調整。Module是通過一個XML格式文件進行描述的。
2)ComponentType
ComponentType是一個描述 SCA中服務的元素,它定義了服務以及服務的接口,以及服務對應的屬性和服務引用。ComponentType是通過一個后綴名為.componentType XML文檔來描述的。
3)Component
ComponentType只是描述性地說明一下服務的接口以及屬性,引用,但是具體該服務對應的實現以及屬性的值和引用對應的服務是沒有給出的。而Component描述了服務對應的實現,服務實現是通過implement元素指定的。Component也描述ComponentType中定義的屬性以及引用所對應的值。Component的XML描述是在Module的描述文件中的
4)EntryPoint
Module在SCA中是一個粒度較為粗的單元,Module和Module之間的交互是通過定義在 Module內部的 Entry Point和 External Service進行的,也就是說 Entry Point是一個Module對外提供的接口,而 External Service是一個 Module對外訪問的出口。
分布式數據融合仿真平臺的采用了非集中式的融合結構,滿足多個機動目標跟蹤精度高、數據傳輸量大、雷達校準要求高等特點。雷達信息的二次和三次處理同在一個計算節點內進行,對各個雷達站的目標航跡點跡進行綜合處理,輸出各個目標的多雷達航跡和融合判決結果。本文提出分布式仿真系統采用模型-視圖-控制器(Model-View-Controller,MVC)模型。MVC選擇Struts框架與SCA規范業務模型整合的開發模式。視圖(View)部分主要負責界面顯示,接受系統用戶的請求,并嵌入電子地理信息系統,包括JSP網頁客戶端和Java應用程序客戶端。控制器(Controller)是運行構件的容器服務,完成構件生命周期管理、構件調度工作,是仿真系統的“大腦”,并根據用戶的請求調用不同的模型實例。模型(Model)主要完成航跡數據和融合算法,是仿真系統分布式服務的具體實現。Struts框架提供了可以擴展進行請求調度的模型實現,使得對象的復用更加地有效[4]。Struts整合SCA分布式仿真系統結構如圖1所示。

圖1 基于Struts和SCA的分布式仿真系統結構Fig.1 Structure of distributed simulation system based on Struts and SCA
仿真模塊是仿真業務功能的基本元素,也是系統實現的關鍵。SCA模塊由若干SCA抽象構件構成,如圖2所示。
SCA模塊按照一定的邏輯劃分對SCA構件進行分組和裝配。一個模塊同樣包含若干的組件、服務、引用和屬性,并且對應一個后綴名為composite的XML配置文件。SCA組件本身有多種實現方式,本文主要研究SCA組件的Java實現。
算法是數據融合中心的核心,其中IFusion為算法的輸入輸出接口,用來處理融合數據的輸入輸出;第二個接口IAlgoRes為算法資源接口,用來技術算法所需要的資源。


圖2 抽象構件設計Fig.2 Abstract component design

數據融合中心采用鏈表來組織數據,將數據分為兩類,一類是測試平臺用于實時顯示的數據,包括傳感器數據鏈表、目標航跡鏈表;另一類時組件內部融合算法輸入輸出的數據,包括輸入傳感器探測信息鏈表、輸出融合航跡點鏈表。定義的主要的類有:
傳感器屬性類,代表傳感器的屬性信息:

目標航跡類,代表融合得到的目標航跡:

目標信息類,代表傳感器探測到的目標信息:

感器探測信息類,代表單個傳感器一個融合周期內所探測的目標信息:

航跡點類,代表一次融合周期內輸出的單個目標航跡點:

構建SCA模塊需要編寫配置文件。多個SCA組件通過連線(wire)構成SCA模塊[5-7],組件的服務和引用通過提升(promote)成為模塊的服務與引用。一個完整的SCA模塊結構所示。SCA模塊按照一定的邏輯劃分對SCA組件進行分組和裝配。一個模塊同樣包含若干的組件、服務、引用和屬性,并且對應一個后綴名為composite的XML配置文件。
一個SCA組件可對外提供一個或多個服務,每個服務對應一個接口類,服務對應的方法在服務接口類中體現為一系列的抽象方法。若服務被定義為遠程調用,需要用@Remo table行注釋。
SCA應用分布性表現為一個SCA應用對應一個domain(域),domain包含一個或多個 composite(構件),一個composite包含一個多個業務component(組件),所有的component分布在不同的網絡node(結點)上。按照上節給出的業務構件定義及抽象構件的分布式實現如圖3所示。
在開發分布式SCA應用時不需要考慮應用的分布性,分布性的管理是由domain manager通過3個配置文件來完成的。這3個配置文件所在的位置是domain manager運行的當前目錄,分別是workspace.xml、domain.composite和 cloud.Composite。
3個部署節點分別用Node1.composite、Node2.composite和Node3.Composite進行描述。在每一個node配置文件中,包含的主要內容有:該node將要運行的contribution(包含對應的composite);該node所在計算機的網絡環境,包括IP和port;遠程調用所使用的綁定及其協議。
抽象構件的名稱、構成組件的名稱、組件之間相互引用的關系、傳輸協議的服務綁定等信息都反映在配置文件中。為了遵循SCA協議,在其組件配置文件中,抽象構件、組件與服務的相關信息分別在

圖3 數據融合業務構件的分布式模型Fig.3 Distributed model of data fusion business component
代碼片段為

SCA框架的部署主要是將多個contribution及其composite整合到同一個domain中(包括分配contribution所在node的IP地址和端口號),部署的主要工作是在domain manager的當前運行目錄下配置或生成3個文件,在本地服務器上設置相應的引用模塊,并將SCA模塊Web Service綁定與引用。其基本過程如下圖所示:編寫WSDL(web服務描述語言)文件。主要包括數據類型定義、消息定義、端口類型定義、綁定定義、服務訪問點定義和服務定義。
1)配置SCA模塊.主要是增加對Web Service的綁定,在元素


2)編寫服務啟動程序。啟動程序主要通過SCADomain的靜態方法new Instance(String composite)加載配置文件與WSDL文件,用于啟動服務。
3)最后,將 discontribution貢獻包放在Node1上運行;Node1的JVM位于192.168.1.11的計算機上,提供服務的port為8081;服務的綁定采用sca綁定,綁定的協議由SCA框架自動選擇。“xmlns:c”是指composite的namespace,需要與前面的保持一致。

圖4 視頻信息處理器模擬器圖Fig.4 Video processor simulator
為證明分布式仿真系統的可行性,構建3個仿真節點和1個SCA服務節點。3個仿真節點由一個局域網中指定3臺PC承擔本任務。一臺PC是空情生成模擬器,一臺模擬視頻信息處理和顯示,一臺模擬空情數據處理。仿真計算機的配置為AMD 3200+CPU,1 GB內存,100 Mbps以太網卡。1個服務節點作為Web服務器和構件管理協調器。仿真時間設定為 3 60 s。
數據融合仿真系統要求實時處理顯示火炮空情信息,在全系統的處理時間協調上要統一處理各模塊的處理時間與全系統時間安排,如圖4所示。從仿真試驗結果可以看出航跡關聯算法在目標編隊交叉或近距飛行時,有較高的關聯正確率,從而解決了分布式多傳感器多目標跟蹤的有效性問題,并且區域之間具有較好的協調效果,如圖5所示。

圖5 空情數據處理模擬器Fig.5 Air situation data processing simulator
文中構建了基于SCA規范的分布式數據融合仿真系統,體現出了SOA系統松散耦合、粗粒度和傳輸協議透明這3大要素。按照面向對象和面向服務的原則進行抽象構件設計和業務構件設計,并使用Java語言進行具體編程實現。SCA組件的實現語言無關性及傳輸協議無關性滿足了系統對異構性的需求,大大降低了異構系統跨平臺集成的難度。分布式仿真框架通過Web Service與SCA的整合開發。構件化的開發模式有利于不同開發語言、不同計算平臺的業務組件的升級和維護。仿真系統的構建具有較好的通用性、可擴充性、開放性和實時性等特點,為評價數據融合算法及系統的戰術性能提供了可靠的平臺依托。
[1]徐飛,鐘連炯.高炮空情信息處理仿真[J].系統仿真學報,2008,20(23):6442-6445.
XU Fei,ZHONG Lian-jiong.Air intelligence information simulation of artillery[J].Journal of System Simulation,2008,20(23):6442-6445.
[2]向偉,蒲國林,楊清平.面向服務架構的異構系統集成模型[J].計算機系統應用,2011,20(1):22-26.
XIANG Wei,PU Guo-Lin,YANG Qing-ping.Heterogeneous system integration based on service-oriented architecture[J].Computer Systems&Applications,2011,20(1):22-26.
[3]鄧桂英.基于Web Services的第三方物流信息系統解決方案[J].上海理工大學學報,2006,28(3):290-292,298.
DENG Gui-ying.Solution ofthe third-party logistics application based on web services[J].Journal of University of Shanghai for Science and Technology,2006,28 (3):290-292,298.
[4]包潔嬌,范菁,熊麗榮.基于EJB的Web Service部署模型的研究[J].計算機與數字工程,2006,34(3):20-24.
BAO Jie-jiao,FAN Jin,XONG Li-rong.Research on deployment model of EJB-based web service[J].Computer&Digital Engineering,2006,34(3):20-24.
[5]關明,吉宏偉,楊雪君.基于SOA的數字城市管理業務系統的研究與設計[J].廣西大學學報:自然科學版,2009,34(5):690-695.
GUAN Ming,JI Hong-wei,YANG Xue-jun.Research and design of digital city management business system based on SOA[J].JournalofGuangxiUniversity:NaturalScienceEdition,2009,34(5):690-695.
[6]Chappell.IntroducingSCA[EB/OL].[2010-05-16].http://www.davidchappell.com/articles/Introducing_SCA.pdf.
[7]LAWSONS.Tuscany SCA in Action[M].USA:Manning Publication Co.,2011.