基于RapidIO的實(shí)時(shí)CORBA中間件實(shí)現(xiàn)
RIOP傳輸協(xié)議類之間的關(guān)系如圖3所示,圖中的Endpoint、NetCircuit、NetCircuit Factory、NetCollector、NetCollectorFactory、NetFlow、NetFlowFactory、NetAcceptor、NetAcceptorFactory都是ORB用于傳輸?shù)幕悾?a class="contentlabel" href="http://www.ex-cimer.com/news/listbylabel/label/實(shí)現(xiàn)">實(shí)現(xiàn)RIOP需要從這些類派生出新類,如RIOEndpo int、RIONetCircuit、RIONetCircuitFactory、RIONetAcceptor、RIONetAcceptorFactory,并且可以實(shí)現(xiàn)RIOPortRegistry、PortTransport類。
端點(diǎn)(Endpoint)類負(fù)責(zé)管理網(wǎng)絡(luò)連接需要的地址信息:網(wǎng)絡(luò)電路(NetCircuit)類用于管理連接,負(fù)責(zé)建立連接(客戶端)及數(shù)據(jù)收發(fā),網(wǎng)絡(luò)連接一旦建立,就可以從NetCircuit讀取或?qū)懭霐?shù)據(jù);網(wǎng)絡(luò)收集器(NetCollector)類用于在連接的服務(wù)器端接收請(qǐng)求,網(wǎng)絡(luò)收集器負(fù)責(zé)在NetCircuit的服務(wù)器端接收數(shù)據(jù)的激活對(duì)象,通過(guò)NetCollectorFactory可創(chuàng)建收集器的實(shí)例;網(wǎng)絡(luò)收集器(Collector)和收集器工廠(NetCo llectorFactory)類能實(shí)現(xiàn)GIOP的語(yǔ)法要求,因此,傳輸協(xié)議開(kāi)發(fā)者不需要開(kāi)發(fā)收集器類;網(wǎng)絡(luò)流控(NetFlow)類是為未來(lái)功能擴(kuò)展的保留類,對(duì)應(yīng)的NetFlowFactory也會(huì)被定義,因此,傳輸協(xié)議開(kāi)發(fā)者不需要重寫該類;網(wǎng)絡(luò)接收器(NetAcceptor)類負(fù)責(zé)服務(wù)端監(jiān)聽(tīng)網(wǎng)絡(luò)連接請(qǐng)求,如檢測(cè)到網(wǎng)絡(luò)請(qǐng)求,NetCollectorFactory實(shí)例即被創(chuàng)建,此后,NetCollectorFactory會(huì)再創(chuàng)建一個(gè)收集器(Collector)和網(wǎng)絡(luò)電路(NetCircuit),當(dāng)Server開(kāi)始在一個(gè)Endpoint監(jiān)聽(tīng)時(shí),ORB就會(huì)使用NetAcceptorFactory實(shí)例;RIOPortRegistry類負(fù)責(zé)將RIOP注冊(cè)到ORB的傳輸協(xié)議列表;RIOTransport類則負(fù)責(zé)初始化RIOP傳輸協(xié)議。
2.3 驗(yàn)證測(cè)試
基于Rapid IO總線的實(shí)時(shí)CORBA中間件驗(yàn)證環(huán)境如圖圖4所示。圖中的兩塊板卡之間通過(guò)1x模式1.25GbpsRapidIO交換網(wǎng)絡(luò)互聯(lián),板卡由1片PPC處理器(MPC8548)和1片RIO交換芯片(TSI578)構(gòu)成,板卡處理器上運(yùn)行的是VxWorks5.5.1操作系統(tǒng)。
測(cè)試使用客戶端調(diào)用服務(wù)端echoPacket方法,輸入不同長(zhǎng)度字節(jié)序列的數(shù)據(jù),眼務(wù)端即可將數(shù)據(jù)原樣返回客戶端。IDL接口的定義如下:
typedefsequenceoctet>OctetSequence;
interface Echo{
oneway OctetSequence echoPacket(in OctetSequencepayload);
};
OctetSequence echoPacket(OctetSequence pavload);
服務(wù)器端可創(chuàng)建基于R10協(xié)議的對(duì)象引用,IOR里面包含有客戶端訪問(wèn)服務(wù)器的RIO尋址信息,客戶通過(guò)字符串或命名服務(wù)的方式獲得對(duì)象引用,再利用該對(duì)象引用向服務(wù)器發(fā)送請(qǐng)求,并接收應(yīng)答。IOR是一個(gè)數(shù)據(jù)結(jié)構(gòu),它提供了關(guān)于類型、協(xié)議支持和可用ORB服務(wù)的信息。ORB可創(chuàng)建、使用并維護(hù)該IOR。許多ORB供應(yīng)商提供有一個(gè)實(shí)用程序,可窺視IOR的內(nèi)部,如orbix的iordump.exe。使用iordump.exe能解析、使用RIOP服務(wù)端生成的字符串化的IOR。
波段開(kāi)關(guān)相關(guān)文章:波段開(kāi)關(guān)原理
評(píng)論