廣州海格通信集團(tuán)股份有限公司 余秀美 賴(lài)文龍
美軍軍用軟件通信體系結(jié)構(gòu)規(guī)范,一直建議使用公共對(duì)象請(qǐng)求代理體系結(jié)構(gòu) (Common ObjectRequest Broker Architecture,CO RBA)中間件作為各個(gè)軟件組件間通信的軟總線(xiàn),通過(guò)CORBA為軟件無(wú)線(xiàn)電系統(tǒng)構(gòu)建一個(gè)核心框架和操作環(huán)境,屏蔽了底層硬件平臺(tái)和操作系統(tǒng)的差異性,大大提高系統(tǒng)的可擴(kuò)展性和可移植性,使軟件組件具有很好的可替換性。但隨著軟件無(wú)線(xiàn)電技術(shù)在裝備中應(yīng)用,時(shí)常被詬病引入的時(shí)延開(kāi)銷(xiāo)大,軟件體積大等問(wèn)題。直至2009年發(fā)布的SCANext,不再?gòu)?qiáng)制約束軟件通信體系結(jié)構(gòu)的傳輸機(jī)制只能使用CORBA中間件,可以根據(jù)實(shí)際設(shè)備需要選擇。因此業(yè)內(nèi)也在研究探討在軟件無(wú)線(xiàn)電設(shè)備采用非CORBA中間件的可能性。本文將討論ZeroC公司所推出的新興的中間件產(chǎn)品ICE在軟件無(wú)線(xiàn)電設(shè)備的應(yīng)用前景,具體通過(guò)對(duì)主流的CORBA中間件和ICE中間件的傳輸能力進(jìn)行測(cè)試,并就測(cè)試結(jié)果進(jìn)行對(duì)比分析,從而得出相關(guān)的結(jié)論。
CORBA 是對(duì)象管理組織專(zhuān)門(mén)為異構(gòu)平臺(tái)上不同語(yǔ)言開(kāi)發(fā)的分布式對(duì)象進(jìn)行互操作而制定的標(biāo)準(zhǔn)規(guī)范,其核心為對(duì)象請(qǐng)求代理ORB。CORBA規(guī)范屏蔽了底層硬件、操作系統(tǒng)和網(wǎng)絡(luò)協(xié)議的不同,使開(kāi)發(fā)者能夠?qū)⒕械綉?yīng)用邏輯上,而不需考慮復(fù)雜的異構(gòu)環(huán)境通信問(wèn)題。
ICE(互聯(lián)網(wǎng)通信引擎,The Internet Communications Engine)是ZeroC公司的開(kāi)源通信協(xié)議產(chǎn)品,ICE 提供的新的面向?qū)ο蟮闹虚g件平臺(tái),在概念上ICE與CORBA 基本一致,但 ICE 解決了過(guò)去長(zhǎng)期困擾中間件的低效問(wèn)題,并提供了數(shù)據(jù)報(bào)協(xié)議 (UDP)支持、異步方法分派、嵌入的安全機(jī)制、對(duì)象的保存和接口聚集等技術(shù)支持,從而建立了一個(gè)更簡(jiǎn)單也更高效的新的基礎(chǔ)架構(gòu)。
本文以AM3359處理器單元作為測(cè)試系統(tǒng)的服務(wù)器端,而以S3C2410處理器單元作為測(cè)試系統(tǒng)的客戶(hù)端,模擬設(shè)備實(shí)際的運(yùn)行環(huán)境,分別運(yùn)行IceE、 omniORB和TAO的服務(wù)端測(cè)試程序和客戶(hù)端程序。
具體的測(cè)試內(nèi)容是在客戶(hù)端向服務(wù)端循環(huán)發(fā)送1000或10000包大小為64 bytes至16384 bytes的數(shù)據(jù)包,統(tǒng)計(jì)通過(guò)各個(gè)中間件傳送完這1000或10000包數(shù)據(jù)的時(shí)延。測(cè)試樣本為30個(gè),根據(jù)這30個(gè)樣本計(jì)算出1包數(shù)據(jù)的平均傳輸時(shí)延,并計(jì)算相應(yīng)的時(shí)延抖動(dòng)。相關(guān)的測(cè)試結(jié)果如下表所示。
表1 IceE傳輸時(shí)延及抖動(dòng)測(cè)試記錄
表2 omniORB傳輸時(shí)延及抖動(dòng)測(cè)試記錄
圖1 循環(huán)1000次時(shí)IceE、TAO及omniORB的平均時(shí)延及抖動(dòng)
圖2 循環(huán)10000次時(shí)IceE、TAO及omniORB的平均時(shí)延及抖動(dòng)
表3 TAO傳輸時(shí)延及抖動(dòng)測(cè)試記錄
通過(guò)上述的測(cè)試結(jié)果,可以針對(duì)三種中間件的傳輸時(shí)延、傳輸抖動(dòng)以及系統(tǒng)開(kāi)銷(xiāo)影響因素進(jìn)行分析,具體如下所述。
3.2.1 傳輸時(shí)延結(jié)果對(duì)比分析
對(duì)IceE中間件、omniORB中間件與TAO中間件分別在循環(huán)1000次和10000次的結(jié)果進(jìn)行對(duì)比,可得到如圖1、圖2:
由以上兩圖可知,分別調(diào)用IceE中間件、omniORB中間件和TAO中間件傳送單包大小為64bytes至16KB的數(shù)據(jù)時(shí),可得以下現(xiàn)象:
抖動(dòng)相對(duì)于時(shí)延的值較小,抖動(dòng)情況均在合理范圍之內(nèi);
IceE中間件的平均傳輸時(shí)延在3.347ms至8.299ms之間連續(xù)遞增;
omniORB中間件的平均傳輸時(shí)延在1.781ms至30.809ms之間連續(xù)遞增;
TAO中間件的平均傳輸時(shí)延在5.785ms至11.424ms之間連續(xù)遞增;
在傳輸1KB以下的數(shù)據(jù)時(shí),omniORB中間件的傳輸時(shí)延比IceE的傳輸時(shí)延??;
在傳輸1KB以上的數(shù)據(jù)時(shí),IceE中間件的傳輸時(shí)延比omniORB的傳輸時(shí)延?。?/p>
當(dāng)數(shù)據(jù)包大小以2的倍數(shù)增長(zhǎng)時(shí), OmniORB中間件的傳輸時(shí)延亦類(lèi)似地以指數(shù)式增長(zhǎng),而IceE中間件、TAO中間件的傳輸時(shí)延增加則較為平緩;
IceE中間件與TAO中間件的傳輸時(shí)延隨數(shù)據(jù)包大小變化規(guī)律類(lèi)似,TAO中間件每包時(shí)延比ICE中間件少2ms左右。
從本文測(cè)試結(jié)果上看,在傳輸能力方面,ICE和TAO、omniORB相比并沒(méi)有明顯的優(yōu)勢(shì),甚至在數(shù)據(jù)包較小的情形,omniORB的傳輸能力還優(yōu)于ICE,但I(xiàn)CE和TAO在大數(shù)據(jù)包傳輸中優(yōu)勢(shì)較為明顯,而且相比于CORBA,ICE在對(duì)象模型、調(diào)用模型、傳輸協(xié)議等方面有較大的優(yōu)點(diǎn),因此ICE也不失為軟件無(wú)線(xiàn)電設(shè)備中間件選擇對(duì)象之一。