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