999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SCA軟件平臺通知服務的設計與實現*

2016-07-01 08:50:54廖文瑜白維學
通信技術 2016年2期
關鍵詞:服務設計

廖文瑜,吳 非,白維學

(中國電子科技集團公司第三十研究所,四川 成都 610041)

?

SCA軟件平臺通知服務的設計與實現*

廖文瑜,吳非,白維學

(中國電子科技集團公司第三十研究所,四川 成都 610041)

摘要:采用軟件通信體系結構(SCA)的軟件平臺,核心框架基于分布式CORBA中間件實現,提供了組件化的平臺軟件實現架構,是戰術通信設備構建一致的軟件組件開發與應用環境的基礎。在戰術通信裝備軟件系統設計實現過程中,平臺軟件各組件通常需要交互多種事件狀態轉化或變化的消息,既要滿足事件消息傳遞的需求,又要適應系統組件化設計的要求。介紹了基于SCA組件方式設計與實現通知服務的方法,通知服務組件為SCA軟件平臺提供便捷的組件間傳遞系統狀態的機制。

關鍵詞:通知服務;軟件通信體系架構;通用對象請求代理體系結構;中間件

0引言

SCA是美軍聯合戰術無線系統(Joint Tactical Radio System,JTRS)裝備廣泛使用的軟件框架,旨在構建靈活包容的可移植性環境,提供開放的軟件開發與運行管理架構[1]。作為戰術通信裝備框架軟件,SCA軟件平臺實現了包括框架控制接口和各種設備與服務組件[2]。通常軟件平臺的設備組件或服務組件之間需要通過狀態事件獲得系統的不同組成所發生的狀態變化。在SCA定義的開放應用環境中,利用分布式CORBA中間件,以及核心框架接口,設計與實現一個獨立的通知服務組件負責為整個平臺軟件系統提供狀態事件的傳輸,能夠有效滿足戰術通信裝備狀態事件的分發需求,同時也更好地適應了SCA框架下的系統軟件組件化設計。

1CORBA中間件及其服務

核心框架的管理接口和應用實現接口基于CORBA中間件實現,本文基于TAO中間件進行軟件組件的分析、設計與實現。

TAO(The ACE ORB)是一種開源的CORBA實現[3],基于對象管理組織(OMG)標準CORBA參考模型,并通過自適應通訊環境(ACE)提供的軟件概念和框架構建而成。根據OMG發布的參考實現標準,TAO中間件也提供了包括命名服務、日志服務、事件服務[4]及通知服務[5]。

1.1TAO CORBA的事件服務與通知服務

TAO的事件服務為分離的兩端程序之間提供了一種靈活的調用方式(信息分發機制),不過在功能上有如下限制:

(1)缺乏事件消息的過濾機制:每一個事件通道只對應處理一種類型的事件消息,要處理多種事件則需要使用多個事件通道;

(2)事件消息的數據描述形式不具備分級分類的屬性:在同一個事件通道內的消息是對等的,只能通過在消息接收端的程序中通過使用不同的處理代碼分支對事件加以區分;

(3)CORBA事件服務接口不提供QoS機制;

(4)事件消息消費者程序不知曉存在的事件提供者以及事件提供者提供何種類型的事件消息。

TAO通知服務重點解決了上述問題,但在SCA軟件平臺運行環境中,直接使用TAO提供的通知服務仍然存在如下問題:

(5)使用服務時的初始化過程代碼復雜;

(6)對TAO提供的基礎服務依賴程度高:如需要命名服務、基于事件通道運行;

(7)與SCA環境其他模塊組件之間無法實現端口連接。

為了解決上述問題,本文提出了在SCA框架下運行的通知服務組件設計方法,實現更加簡易快捷的事件訂閱與分發機制,同時采用SCA組件形式進行實現與封裝,實現與其他各平臺組件的端口連接。

2通知服務及組件設計

通知服務主要負責為整個平臺系統提供狀態事件的傳輸。軟件平臺的設備組件或服務組件需要通過狀態事件獲得系統中發生的狀態變化。特定的設備組件或服務組件通常只關心與其功能相關的部分狀態事件,因此它們只需要向“通知服務組件”訂閱(注冊)希望收到的狀態事件類型,在相應狀態事件發生的時候,通知服務負責收集這些事件并推送到指定的已注冊組件。

根據SCA通信設備安全架構設計的建議與要求[1],通知服務的設計還需要符合紅黑旁路結構,搭建滿足紅黑安全環境中軟件狀態消息的分發應用。根據SCA4.0用戶指南,紅黑旁路的基本原理如圖1所示。通過紅黑旁路連接的數據包含了需要加密的業務數據和不需要加密的控制及狀態數據。通知服務相關的消息注冊和分發控制,及狀態消息內容本身,均屬于“完全透傳數據”。

圖1 紅黑旁路連接相關概念示意

通知服務的客戶端組件可以是任何希望發送或者接收狀態事件消息的組件。一個客戶端組件可以既發送狀態事件也接收狀態事件。通知服務組件為客戶端組件提供狀態事件(類型)的注冊端口、狀態事件消息的推送(發送)端口,以及狀態事件的接收端口。紅黑邊軟件平臺分別提供一個通知服務組件,紅邊的為主組件,黑邊的為從組件。

按照SCA服務組件及其它平臺組件的設計要求,圖2給出了在紅黑運行環境下,通知服務的部署與端口連接關系示例。

2.1組件功能要求

在需要使用通知服務的軟件平臺組件中,采用SCA方式定義的組件必須是可連接類型的,使用核心框架提供的端口連接機制:繼承<<核心框架::端口訪問>>接口;而一些特定的組件或軟件模塊,例如人機控制進程則不需要繼承<<核心框架::端口訪問>>接口,獨自實現與通知服務之間的端口連接;每一個端口連接必須關聯相同的連接名稱,這樣通知服務才能通過組件注冊關注的事件類型時提供的端口向這些組件推送消息。對特定的某一組件而言,連接名稱在整個電臺域內都必須是唯一的。

通知服務必須使用一個統一的狀態對象結構體來傳遞狀態消息(推送或接收狀態事件)。這個結構體包含了足夠描述狀態事件的所有信息,結構體包含了一組狀態對象類型屬性,描述了所有組件可能關心的狀態事件的類型,組件可以選擇一個到多個狀態事件類型進行注冊,當特定類型的事件狀態發生并被推送到通知服務,通知服務負責匹配需要接收這些類型的注冊組件,通過注冊的組件接收端口分發這些消息。

圖2 通知服務的部署與端口連接關系

圖3 通知服務組件相關類

客戶端組件向通知服務組件注冊特定類型的狀態事件后,將自動接收該類型的最新狀態消息,同時客戶端組件有選擇注銷某種類型消息的權利,在注銷類型之后,通知服務則立刻不再向該組件推送該類型的消息。如果客戶端組件斷開與通知服務的端口連接,通知服務將自動清除并且不會再試圖往該組件發送任何消息。

基于紅黑邊的設定,紅黑邊的通知服務都會維護需要轉發往另一邊的狀態類型注冊信息。不過,基于旁路通道框架的限制(見圖1),黑邊的通知服務組件無法提供所有狀態事件類型的注冊,而紅邊的通知服務組件能夠支持所有的狀態事件類型。

2.2通知服務組件設計

通知服務基于線程與信號量控制進行設計,同時自身滿足SCA基本平臺組件的接口,由紅黑節點的設備管理器負責啟動與管理。

通知服務組件維護一份狀態事件消息類型與消息內容的映射列表,基于該映射進行狀態事件的注冊管理;采用C++標準隊列緩存各客戶端組件發送來的狀態事件消息,而消息分發任務由組件的線程循環主函數負責。

基本類圖如圖3所示,通過C++模板設計事件分發端口,提供了通知服務組件狀態事件的中介傳遞功能、狀態事件類型注冊情況,紅黑通知服務組件通過該端口相連[6]。同時,為客戶端組件提供了基本的訂閱狀態事件的注冊端口以及推送狀態事件消息使用的發送端口。

狀態事件消息使用統一的結構體描述,負責描述消息類型的組成結構、類型名稱、及具體消息內容。基于模塊化思想,采用C++模板實現統一的消息封裝與解封函數。借助ACE基本消息單元ACE_Message_Block,以及TAO_InputCDR,TAO_OutputCDR,簡化消息的封裝與解封過程[7]。

2.3客戶端組件相關設計

客戶端組件向通知服務組件注冊與推送消息的端口屬于通知服務的輸入端口(圖3),而客戶端組件相關的接收端口需要進行單獨實現(如圖4所示:消息分發端口實現)。客戶端組件能夠實現選擇性注冊部分類型的狀態事件消息,也可以直接注冊選擇所有的事件類型。

2.4通知服務運行流程

紅黑邊節點分別實例化并運行一個通知服務組件,每個通知服務組件都維護一份狀態對象映射,以及一系列端口和連接。紅黑邊使用的通知服務組件實現代碼是一致的。在SCA核心框架的設備管理器啟動各個設備與服務組件的過程中啟動并連接了這些與事件狀態相關的組件,同時完成所有作為客戶端的組件注冊事件類型。通知服務線程掛起,組件間端口處于彼此連通狀態,如圖5所示。

圖5 通知服務狀態消息處理時序

當某個客戶端程序發生了某件狀態變化事件,該事件消息由客戶端組件封裝并推送到與之同側的通知服務組件,紅黑兩側通知服務組件檢查狀態是否被注冊,并調用消息分發端口提供的消息處理程序,將狀態事件消息發送到正確的事件接收組件。

3結語

通知服務負責SCA各個平臺組件彼此之間傳遞所發生的狀態事件的功能。本文介紹了一種基于SCA服務組件形式的通知服務設計與實現方法,具體描述了有關的事件消息類型和事件管理機制,簡化了通知服務的使用方法與連接方式,使通知服務能夠以服務組件的形式提供事件消息分發功能,滿足了軟件通信體系結構對戰術通信裝備系統軟件的模塊化設計要求,平臺服務功能實現了能夠靈活擴展或裁減。類似的設計方法,還可以應用于系統定位授時服務、日志服務等功能模塊的設計。

參考文獻:

[1]Joint Tactical Networking Center(JTNC).SCA Specification 4.0 User′s Guide[S],V1.0,San Diego,California:JTNC,2012.11.

[2]劉文斌,廖文瑜,彭麟等.電臺軟件架構發展及其向SCA4.0演進的途徑分析[J].通信技術,2014,47(04):396-400.

LIU Wen-bin,LIAO Wen-yu,PENG Lin,et al.Analysis of Development and Methods Upgrade to SCA 4.0 for Radio Software Architecture [J].Communication Technology,2014.47(04): Page 396-400.

[3]OCI TAO Developer's Guide [M].OCI TAO Version 1.3a (SKU: 530-01),OCI Documents,2004.

[4]OMG Event Service Specification[S].Version 1.2 formal/04-10-02,2004.11.

[5]OMG Notification Service Specification[S],Version 1.1 formal/04-10-11,2004.11.

[6]Michi Hengning,Steve Vinoski.基于C++ CORBA高級編程[M].北京: 清華大學出版社,2000.

Michi Hengning,Steve Vinoski.Advance CORBA Programming with C++ [M].BEIJING: Tsinghua University Press,2000.

[7]Douglas C Schimidt,Stephen D Huston著.C++網絡編程:(卷1)運用ACE和模式消除復雜性[M].葉斌 譯.北京:科學出版社,2011:67-96.

Douglas C Schimidt,Stephen D Huston,YE Bin Translated.C++ Network Programming (Vol.1): Mastering Complexity with ACE and Patterns [M].Science Press,2011: 67-96.

Design and Implementation of Notification Service in SCA Software Platform

LIAO Wen-yu,WU Fei,BAI Wei-xue

(No.30 Institute of CETC,Chengdu Sichuan 610041,China)

Abstract:SCA (Software Communication Architecture) software platform,mainly composed of core framework and implemented on the basis of distributed CORBA middleware,provides the architecture for component implementation of platform software,and is the foundation for tactical communication equipment to construct a consistent software- component development and application environment.Status events are used to notify each other among platform software components transforming-state and changing-state information.This is required to support transferring event messages and also leverage the modularization of system components.This paper describes the method for designing and implementing the notification service based on SCA component.Notification service provides a mechanism for transferring system status across the components in SCA software platform.

Key words:notification service; SCA; CORBA; middleware

doi:10.3969/j.issn.1002-0802.2016.02.021

* 收稿日期:2015-09-01;修回日期:2015-12-28Received date:2015-09-01;Revised date:2015-12-28

中圖分類號:TN924;TP311

文獻標志碼:A

文章編號:1002-0802(2016)02-0233-05

作者簡介:

廖文瑜(1986—),男,碩士,工程師,主要研究方向為軟件無線電及通信技術;

吳非(1982—),男,碩士,工程師,主要研究方向為軟件無線電及通信技術;

白維學(1986—),男,碩士,工程師,主要研究方向為軟件無線電及通信技術。

猜你喜歡
服務設計
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
服務在身邊 健康每一天
今日農業(2019年14期)2019-09-18 01:21:54
服務在身邊 健康每一天
今日農業(2019年12期)2019-08-15 00:56:32
服務在身邊 健康每一天
今日農業(2019年10期)2019-01-04 04:28:15
服務在身邊 健康每一天
今日農業(2019年15期)2019-01-03 12:11:33
服務在身邊 健康每一天
今日農業(2019年16期)2019-01-03 11:39:20
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
招行30年:從“滿意服務”到“感動服務”
商周刊(2017年9期)2017-08-22 02:57:56
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 国产流白浆视频| 婷婷综合亚洲| 波多野吉衣一区二区三区av| 国产成人无码综合亚洲日韩不卡| 成人国产三级在线播放| 欧美激情视频一区二区三区免费| 国产亚洲精品无码专| 欧美中出一区二区| 亚洲男人的天堂在线观看| 亚洲第一成年免费网站| 久久77777| 精品自窥自偷在线看| 国产欧美日韩va另类在线播放| 国产一区二区免费播放| 伊人精品视频免费在线| 中文字幕调教一区二区视频| 久久综合亚洲色一区二区三区| 91久久精品日日躁夜夜躁欧美| 99热在线只有精品| 亚洲色图欧美一区| www亚洲天堂| 无码专区第一页| 日本福利视频网站| 999精品视频在线| 亚洲精品无码人妻无码| 国产在线自乱拍播放| 欧亚日韩Av| 91福利国产成人精品导航| 久久人妻xunleige无码| 无码久看视频| 国产成人免费视频精品一区二区| 国产精品天干天干在线观看| 无码AV高清毛片中国一级毛片| 欧洲av毛片| 日本在线免费网站| 亚洲毛片在线看| 日韩国产亚洲一区二区在线观看 | 亚洲欧美精品日韩欧美| 亚洲欧美日韩中文字幕在线| 青青草综合网| 毛片大全免费观看| 青青操视频在线| 日本少妇又色又爽又高潮| 黄网站欧美内射| 人妻少妇乱子伦精品无码专区毛片| 亚洲欧洲日韩综合色天使| 911亚洲精品| 大学生久久香蕉国产线观看| 国产成人1024精品| 欧美中文字幕第一页线路一| 欧美精品亚洲精品日韩专区va| 特级aaaaaaaaa毛片免费视频| 婷婷午夜天| 色噜噜在线观看| 日韩区欧美国产区在线观看 | 国产成人a毛片在线| 久久永久精品免费视频| 制服丝袜国产精品| 18禁黄无遮挡网站| 国产女人水多毛片18| 青青青伊人色综合久久| 欧美日韩国产在线观看一区二区三区| 成色7777精品在线| 成人亚洲视频| 无码人中文字幕| 99青青青精品视频在线| 欧美成人精品一级在线观看| 国产成人亚洲精品蜜芽影院| 国产精品香蕉| 高清无码不卡视频| 亚洲欧洲免费视频| 亚洲经典在线中文字幕| A级毛片高清免费视频就| 国产在线视频二区| 欧美中文字幕一区| 欧美成在线视频| 成年人国产网站| 免费人成在线观看成人片| 久久久波多野结衣av一区二区| 中文无码精品A∨在线观看不卡 | 免费在线看黄网址| 婷婷伊人久久|