針對corba中間件的通用傳輸協(xié)議框架、通信系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及無線通信領(lǐng)域,適用于采用CORBA (Common Object Request BrokerArchitecture,公共對象請求代理體系結(jié)構(gòu))技術(shù)標(biāo)準(zhǔn)來屏蔽硬件平臺所采用的多種數(shù)據(jù)傳輸機制的軟件無線電系統(tǒng),具體說是一種針對CORBA中間件的通用傳輸協(xié)議框架,能夠采用一套統(tǒng)一的操作流程,屏蔽軟件無線電系統(tǒng)硬件平臺所采用的多種底層數(shù)據(jù)傳輸機制,為運行在CORBA中間件上的不同應(yīng)用程序之間的分布式通信,提供一致的通信協(xié)議,滿足軟件無線電系統(tǒng)中不同應(yīng)用程序之間的標(biāo)準(zhǔn)通信要求。
【背景技術(shù)】
[0002]由于多種通信體制的層出不窮和不斷涌現(xiàn),以及用戶在不同場景中提出的不同通信需求,通信領(lǐng)域中多種通信體制共存的現(xiàn)實情況必將長期存在。在此情況下,軟件無線電(Software Defined Rad1, SDR)技術(shù)是解決不同通信設(shè)備之間的互聯(lián)互通互操作的有效的技術(shù)手段。軟件無線電技術(shù)是指盡可能的將數(shù)字電路靠近射頻天線,同時采用可編程的軟件來替代功能固化的硬件來實現(xiàn)多種通信體制,這樣,當(dāng)兩個通信設(shè)備需要采用同一種通信體制相互通信時,只需要在設(shè)備上同時加載和運行實現(xiàn)這種通信體制的軟件程序即可。也就是說,軟件無線電技術(shù)使通信設(shè)備成為一種通用的平臺,在同一個平臺上只需加載不同的通信軟件,即可實現(xiàn)不同的通信體制,滿足用戶的不同通信需求。
[0003]軟件無線電技術(shù)的核心是軟件無線電系統(tǒng)平臺的體系架構(gòu)。當(dāng)前得到廣泛認(rèn)可并得到廣泛應(yīng)用的是原美軍聯(lián)合戰(zhàn)術(shù)無線電系統(tǒng)(Joint Tactical Rad1 System, JTRS)項目提出的、目前由美軍聯(lián)合戰(zhàn)術(shù)網(wǎng)絡(luò)中心(Joint Tactical Networking Center, JTNC)繼續(xù)維護(hù)的軟件通信體系結(jié)構(gòu)(Software Communicat1ns Architecture, SCA)。
[0004]一直以來,SCA 規(guī)范米用 CORBA (Common Object Request Broker Architecture,公共對象請求代理體系結(jié)構(gòu))作為軟件無線電系統(tǒng)平臺的“軟總線”。CORBA是由0MG(ObjectManagement Group,對象管理組織)制定的一種分布式中間件技術(shù)標(biāo)準(zhǔn),它在SCA規(guī)范出現(xiàn)以前已經(jīng)在商業(yè)計算機領(lǐng)域得到了廣泛應(yīng)用,CORBA標(biāo)準(zhǔn)的目的是使運行于多種處理器架構(gòu)(例如x86、MIPS、ARM)、多種操作系統(tǒng)(例如Windows、Linux、VxWorks)、多種編程語言(例如C++、Ada、JAVA、C)的應(yīng)用模塊能夠以統(tǒng)一的函數(shù)調(diào)用方式進(jìn)行相互通信,而且無論相互調(diào)用的模塊是部署在同一個處理器(本地),還是部署在不同的處理器(異地),函數(shù)調(diào)用的方式完全一致。而負(fù)責(zé)將處理器、操作系統(tǒng)、編程語言、部署位置屏蔽起來的工作則全部由具體的CORBA中間件軟件來實現(xiàn),這樣就使得所有運行在CORBA中間件之上的應(yīng)用模塊就像工作在一條統(tǒng)一的“軟總線”一樣,從而使應(yīng)用模塊獲得了很好的可移植性和可重用性。因此,CORBA軟總線是實現(xiàn)軟件無線電平臺通用化的核心關(guān)鍵技術(shù)。目前,幾乎所有的SCA系統(tǒng)都采用了 CORBA中間件技術(shù)。
[0005]目前CORBA在SCA系統(tǒng)中的應(yīng)用存在一個很突出的技術(shù)缺陷,即CORBA無法以標(biāo)準(zhǔn)統(tǒng)一的方式適應(yīng)SCA系統(tǒng)平臺上多種數(shù)據(jù)傳輸機制。這是因為,如前所述,CORBA技術(shù)最初針對的應(yīng)用背景是計算機領(lǐng)域,在這一領(lǐng)域,部署在不同計算機上的應(yīng)用模塊之間的底層數(shù)據(jù)傳輸機制只有以太網(wǎng)一種,因此在這些領(lǐng)域中應(yīng)用的CORBA中間件也只需支持以太網(wǎng)一種方式。而與之相比,軟件無線電系統(tǒng)是一個包含多種數(shù)據(jù)傳輸機制的異構(gòu)處理平臺,除以太網(wǎng)以外,還有CPC1、VME、Rapid1、EMIF、HPI等多種數(shù)據(jù)傳輸方式。為了使CORBA在軟件無線電系統(tǒng)中繼續(xù)發(fā)揮“軟總線”作用,就必然要求CORBA能夠很好的支持多種不同的底層傳輸機制。
[0006]然而,現(xiàn)有CORBA中間件技術(shù)并未很好的解決這一問題。如圖1所示,按照CORBA中間件標(biāo)準(zhǔn)提出的“可拔插協(xié)議框架”機制,當(dāng)位于處理器-1上的應(yīng)用模塊-1作為服務(wù)器,需要支持ΙΙ0Ρ、ΗΡΙΙ0Ρ和R11P三種傳輸協(xié)議,根據(jù)該機制原理將HPI1P模塊和R11P模塊添加到“可插拔協(xié)議框架”中,而位于處理器-2上的應(yīng)用模塊-2作為客戶端,僅支持I1P和HPI1P傳輸協(xié)議,當(dāng)應(yīng)用模塊-2需要采用HPI1P協(xié)議與應(yīng)用模塊-1進(jìn)行通信時,由于作為服務(wù)器的應(yīng)用模塊-1不能同時支持Π0Ρ、HPI1P和R11P三種協(xié)議,只能通過配置支持其中的一種,從而服務(wù)器可能選擇錯誤的I1P或者R11P協(xié)議與之通信,這樣就導(dǎo)致了不同處理器之間無法正常通信的情況,從而不能滿足軟件無線電系統(tǒng)對異構(gòu)處理器實現(xiàn)無縫通信的要求;另一方面,CORBA中間件默認(rèn)是只支持I1P —種傳輸協(xié)議,按照如圖1所示,運行于處理器-1上的CORBA中間件如果需要支持HPI1P和R11P協(xié)議,則需要在“可拔插協(xié)議框架”中增加HPI1P和R11P模塊,用于處理HPI1P和R11P協(xié)議報文,并且還需要在傳輸接口驅(qū)動層增加對HPI接口和Rapid1接口的驅(qū)動程序,因此需要修改CORBA中間件軟件的源代碼,修改源程序會帶來破壞CORBA中間件軟件內(nèi)部結(jié)構(gòu)、降低CORBA性能的風(fēng)險,同時協(xié)議的復(fù)雜度直接影響到開發(fā)的時間和成本,不利于軟件無線電系統(tǒng)的開發(fā)。
[0007]現(xiàn)有技術(shù)的缺點如下:
1.盡管已有的CORBA中間件技術(shù)標(biāo)準(zhǔn)提出了一個支持不同傳輸機制的“可拔插協(xié)議框架”,但根據(jù)這個框架,當(dāng)一個應(yīng)用模塊需要支持多種傳輸協(xié)議時,必須指定多種協(xié)議類型而且不能同時支持多種協(xié)議,這會導(dǎo)致其他應(yīng)用模塊與該模塊進(jìn)行CORBA通信時,選擇錯誤的傳輸協(xié)議、進(jìn)而導(dǎo)致無法通信的情況。
[0008]2.按照CORBA現(xiàn)有的“可拔插協(xié)議框架”,如果要支持一種新的傳輸協(xié)議,必然對已有的CORBA中間件程序本身進(jìn)行較大修改,這不僅會增加開發(fā)的時間和成本,更加嚴(yán)重的是,由于不同編程人員對CORBA技術(shù)標(biāo)準(zhǔn)的理解程度不同,很可能在修改過程中破壞CORBA本身優(yōu)秀的設(shè)計模式,從而導(dǎo)致CORBA性能的下降。
【發(fā)明內(nèi)容】
[0009]針對現(xiàn)有CORBA技術(shù)標(biāo)準(zhǔn)在軟件無線電系統(tǒng)中應(yīng)用時無法有效支持底層多種傳輸協(xié)議,導(dǎo)致應(yīng)用模塊相互通信時有可能選擇錯誤的傳輸協(xié)議,同時,還會對CORBA本身代碼進(jìn)行大量修改,導(dǎo)致通信性能下降的技術(shù)問題,本發(fā)明提出一種針對CORBA中間件的通用傳輸協(xié)議框架,基于這種通用的傳輸框架,無論底層采用何種傳輸協(xié)議,對于應(yīng)用模塊而言,都只需使用已有的基于以太網(wǎng)的I1Pdnternet Inter-ORB Protocol,互聯(lián)網(wǎng)ORB互通協(xié)議)協(xié)議,這樣就避免了應(yīng)用模塊相互通信時選擇錯誤的傳輸協(xié)議的可能。
[0010]本發(fā)明解決上述技術(shù)問題采用的技術(shù)方案是:針對CORBA中間件的通用傳輸協(xié)議框架,包括I1P模塊、Socket套接字模塊、網(wǎng)絡(luò)協(xié)議棧模塊和若干虛擬網(wǎng)卡,其中: I1P模塊,一方面,負(fù)責(zé)接收來自客戶