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

一種低耦合可移植的嵌入式主控軟件架構(gòu)設(shè)計(jì)

2020-12-25 08:41:54趙興祥
微處理機(jī) 2020年6期
關(guān)鍵詞:嵌入式服務(wù)管理

趙興祥,趙 濤,唐 瑜,黃 華,彭 湖

(重慶金美通信有限責(zé)任公司,重慶400030)

1 引 言

嵌入式系統(tǒng)因其的裁剪性強(qiáng)、可靠性高、實(shí)時(shí)性好、能耗低等特性,被廣泛應(yīng)用在電子、通信、醫(yī)療等各行業(yè)中。隨著互聯(lián)網(wǎng)、5G、物聯(lián)網(wǎng)等技術(shù)的快速發(fā)展,嵌入式系統(tǒng)呈現(xiàn)出了系統(tǒng)化、生活化、網(wǎng)絡(luò)化、精簡(jiǎn)化等發(fā)展趨勢(shì)[1]。在此背景下,穩(wěn)定、易擴(kuò)展、兼容性好的嵌入式軟件架構(gòu)是高水準(zhǔn)嵌入式軟件設(shè)計(jì)的可靠保障,也是嵌入式產(chǎn)品的性能及穩(wěn)定性的重要決定因素。現(xiàn)有研究大多集中于此,但并不完善,例如:文獻(xiàn)[2]中提出的軟件架構(gòu),通過線程管理、備份硬件喚醒、通信協(xié)議設(shè)計(jì)等手段增強(qiáng)軟件的可靠性和穩(wěn)定性,但在移植性、擴(kuò)展性方面的設(shè)計(jì)還不充分;文獻(xiàn)[3]中通過擴(kuò)展Bios 設(shè)計(jì)提高嵌入式系統(tǒng)的可靠性,但沒有在擴(kuò)展性、兼容性方向做出設(shè)計(jì);文獻(xiàn)[4]設(shè)計(jì)并實(shí)現(xiàn)了基于通信中間件的綜合化信號(hào)與信息處理機(jī)軟件架構(gòu)RCSSystem,采用直接數(shù)據(jù)包通信方式取代了CORBA 中間件的遠(yuǎn)程函數(shù)調(diào)用,通過總線互連,增強(qiáng)系統(tǒng)的穩(wěn)定性和可靠性,但架構(gòu)復(fù)雜,與硬件、驅(qū)動(dòng)層耦合性大;文獻(xiàn)[5]中給出了基于多任務(wù)的實(shí)時(shí)處理架構(gòu)設(shè)計(jì)方法,但仍存在硬件耦合性大的問題。

針對(duì)嵌入式系統(tǒng)耦合高、擴(kuò)展性不足的現(xiàn)狀,在此設(shè)計(jì)一種低耦合、可移植、易擴(kuò)展、支持熱插拔的嵌入式設(shè)備主控軟件架構(gòu)。

2 軟件架構(gòu)設(shè)計(jì)

2.1 總體架構(gòu)設(shè)計(jì)

結(jié)合 SOA(Service Oriented Architecture)思想及分層思想,將軟件定義為服務(wù),服務(wù)之間通過輕量化通信中間件進(jìn)行整合[6],各服務(wù)以插件的方式獨(dú)立運(yùn)行于系統(tǒng)中,可以根據(jù)需求動(dòng)態(tài)加載或卸載各功能模塊,以滿足用戶業(yè)務(wù)、服務(wù)及性能的擴(kuò)展性要求。軟件總體結(jié)構(gòu)如圖1。

圖1 軟件總體架構(gòu)圖

結(jié)合嵌入式系統(tǒng)平臺(tái),核心管理服務(wù)、通信中間件及硬件抽象層構(gòu)成了服務(wù)的基礎(chǔ),形成物理層、MAC 層、網(wǎng)絡(luò)層以及安全等多種類的標(biāo)準(zhǔn)接口服務(wù)組件,其詳細(xì)架構(gòu)如圖2 所示。

圖2 軟件架構(gòu)圖

2.2 核心管理服務(wù)

核心管理服務(wù)是整個(gè)架構(gòu)的基礎(chǔ)服務(wù),作為獨(dú)立進(jìn)程,主要用來實(shí)現(xiàn)整個(gè)軟件框架的模塊(組件)管理和消息(類似參數(shù))管理。

2.2.1 模塊管理

模塊管理負(fù)責(zé)對(duì)各服務(wù)模塊的加載/卸載過程及服務(wù)組件狀態(tài)等進(jìn)行管理與監(jiān)控,對(duì)外提供模塊注冊(cè)注銷、模塊狀態(tài)查詢及狀態(tài)主動(dòng)匯報(bào)等標(biāo)準(zhǔn)接口。模塊管理的運(yùn)作機(jī)制如圖3 所示。

圖3 模塊管理服務(wù)結(jié)構(gòu)圖

當(dāng)某個(gè)服務(wù)啟動(dòng)時(shí),先調(diào)用注冊(cè)接口向模塊管理注冊(cè)。模塊管理將該服務(wù)加入管理鏈表后,開始啟動(dòng)監(jiān)控機(jī)制。監(jiān)控方式可以是由服務(wù)程序主動(dòng)狀態(tài)匯報(bào),也可以是模塊管理周期地查詢狀態(tài)。服務(wù)需要退出時(shí),要先調(diào)用注銷接口脫離模塊管理。

2.2.2 消息管理

參數(shù)管理是參數(shù)(狀態(tài)及配置參數(shù))的集合,包含參數(shù)的定義與操作。消息管理對(duì)消息的訂閱、發(fā)布、可靠性保證等進(jìn)行管控,與參數(shù)具體含義無關(guān)。參數(shù)管理配合消息管理,實(shí)現(xiàn)配置消息的檢查、存儲(chǔ)與初始化。

服務(wù)完成注冊(cè)后,向消息管理模塊訂閱該服務(wù)啟動(dòng)及運(yùn)行過程中所需的全部參數(shù)。消息管理將該服務(wù)所訂閱的參數(shù)記錄到參數(shù)訂閱列表,并通過參數(shù)管理模塊獲取參數(shù)值后,發(fā)給消費(fèi)者服務(wù)程序。如果某個(gè)參數(shù)值被修改,參數(shù)管理依據(jù)參數(shù)訂閱列表分發(fā)給各服務(wù)模塊。消息管理的體制如圖4。

圖4 消息管理服務(wù)結(jié)構(gòu)圖

路由拓?fù)洹⑿诺蕾|(zhì)量等實(shí)時(shí)且不需要保存的信息,由提供者主動(dòng)發(fā)布,消息管理按需分發(fā)給服務(wù)消費(fèi)者。

這一設(shè)計(jì)的思想是:參數(shù)管理只需關(guān)注初始化配置參數(shù),設(shè)備狀態(tài)信息無需初始化,由供方服務(wù)主動(dòng)發(fā)布;設(shè)備新增的參數(shù),只需信息提供方、需求方自行訂閱分發(fā)即可,核心管理模塊無需做任何更改。

2.3 通信中間件

本架構(gòu)中,服務(wù)間通信均通過通信中間件來實(shí)現(xiàn)。借鑒SCA 思想,通信中間件類似CORBA(Common Object Request Broker Architecture)的對(duì)象請(qǐng)求代理ORB。中間件以庫文件的形式集成到服務(wù)軟件中,通過宏定義選擇編譯,可廣泛移植于不同操作系統(tǒng)平臺(tái)。一般情況下,作為獨(dú)立的線程運(yùn)行在各個(gè)調(diào)用服務(wù)中,在沒有操作系統(tǒng)的CPU 上,中間件可以是一個(gè)接口封裝。

通信中間件的功能包括:

1)自動(dòng)完成通信目標(biāo)的查詢及信息可靠傳輸;

2)為宿主程序提供同步、異步消息傳輸保障;

3)記錄各個(gè)模塊的通訊地址而無需每次發(fā)送消息重復(fù)查詢服務(wù)。

通信中間件的工作流程如圖5。

圖5 通信中間件工作流程圖

假設(shè)有服務(wù)A、B,在相互不知道對(duì)方是否存在的情況下,服務(wù)A 需要向服務(wù)B 發(fā)送業(yè)務(wù)時(shí),服務(wù)A 向通信中間件發(fā)起試探,并從中間件獲得服務(wù)B的通信接口信息,隨后,即可向服務(wù)B 發(fā)起業(yè)務(wù)。通信的可靠性由通信中間件來保障。服務(wù)B 向服務(wù)A發(fā)起業(yè)務(wù)時(shí),也是相同的操作。

通信中間件對(duì)外提供的接口如圖6 所示。

圖6 通信中間件結(jié)構(gòu)圖

消息中間件的創(chuàng)建由服務(wù)調(diào)用發(fā)起,服務(wù)需為通信中間件提供接收消息的回調(diào)函數(shù)。消息中間件的同步發(fā)送接口會(huì)阻塞服務(wù)進(jìn)程,異步發(fā)送接口要求服務(wù)提供回調(diào)函數(shù)。

2.4 平臺(tái)基礎(chǔ)服務(wù)

平臺(tái)基礎(chǔ)服務(wù)包括日志服務(wù)及調(diào)試打印服務(wù)兩個(gè)基本服務(wù)和系統(tǒng)資源抽象服務(wù)。

(1) 日志服務(wù)

日志記錄了包括各服務(wù)啟動(dòng)、異常現(xiàn)場(chǎng)、系統(tǒng)資源使用情況等重要信息[7]。日志服務(wù)的數(shù)據(jù)在內(nèi)存中匯聚,周期性更新并保存到flash 上。

日志服務(wù)對(duì)外提供日志輸入與日志顯示兩種標(biāo)準(zhǔn)接口。外部程序按照接口要求調(diào)用獲得日志服務(wù)。日志服務(wù)的構(gòu)建如圖7 所示。

圖7 日志服務(wù)結(jié)構(gòu)圖

(2) 網(wǎng)絡(luò)調(diào)試打印服務(wù)

網(wǎng)絡(luò)調(diào)試服務(wù)提供基于優(yōu)先級(jí)的、支持本地/遠(yuǎn)端信息輸出的服務(wù)[8],結(jié)構(gòu)如圖8 所示。

圖8 網(wǎng)絡(luò)調(diào)試打印服務(wù)結(jié)構(gòu)圖

調(diào)用print_config 標(biāo)準(zhǔn)接口啟動(dòng)調(diào)試打印服務(wù),并配置優(yōu)先級(jí)、輸出目標(biāo)IP 等參數(shù)。通過xPrint 接口打印自定義的輸出格式數(shù)據(jù)。

(3) 系統(tǒng)資源抽象服務(wù)

服務(wù)對(duì)平臺(tái)IPC(Inter-Process Communication)、信號(hào)、串口等系統(tǒng)資源進(jìn)行抽象化,將其封裝成標(biāo)準(zhǔn)的服務(wù)接口,無差別地為其他服務(wù)(包括通信中間件)提供支持。

2.5 公共應(yīng)用服務(wù)

公共應(yīng)用服務(wù)是指一般嵌入式通信設(shè)備均需要的一般服務(wù),如人機(jī)交互服務(wù)、網(wǎng)絡(luò)管理服務(wù)、軟件維護(hù)服務(wù)、測(cè)試支撐服務(wù)等。

架構(gòu)支持 LED 顯示屏、WEB、控制臺(tái)命令(Shell)等多手段的人機(jī)交互方式,形成標(biāo)準(zhǔn)的接口對(duì)外提供調(diào)用服務(wù)。類似于以操作為對(duì)象,對(duì)外提供不同的網(wǎng)絡(luò)管理服務(wù)接口,為上層應(yīng)用或服務(wù)提供網(wǎng)絡(luò)管控手段。

軟件維護(hù)服務(wù)主要是指軟件升級(jí),涉及的場(chǎng)景共有三種,歸納于圖9 中。

圖9 軟件維護(hù)的三個(gè)場(chǎng)景

網(wǎng)絡(luò)中有服務(wù)器時(shí),設(shè)備與服務(wù)器中的軟件進(jìn)行版本檢測(cè)對(duì)比,不是最新版本則從服務(wù)器下載最新的軟件進(jìn)行升級(jí)。沒有服務(wù)器時(shí),設(shè)備之間自主進(jìn)行軟件版本匹配,如果設(shè)備之間軟件版本不一致則從最新版本設(shè)備中下載新程序進(jìn)行更新升級(jí)。

架構(gòu)中的測(cè)試支撐服務(wù)是一個(gè)集中處理可測(cè)試性的接入窗口服務(wù)。設(shè)備軟硬件可測(cè)試性主要由具體的硬件、軟件模塊提供支撐。

硬件可測(cè)試性支撐服務(wù)需要做到:提供各項(xiàng)硬件測(cè)試、檢測(cè)的執(zhí)行過程,并返回測(cè)試結(jié)果的自動(dòng)測(cè)試功能;提供自動(dòng)跳轉(zhuǎn)參數(shù)以滿足性能指標(biāo)的自動(dòng)校準(zhǔn)功能。軟件可測(cè)試服務(wù),指的是提供各項(xiàng)測(cè)試的測(cè)試用例、測(cè)試指令輸入口及執(zhí)行測(cè)試用例功能。

測(cè)試支撐服務(wù)整體結(jié)構(gòu)如圖10 所示。其具備的功能包括:

①支持測(cè)試指令、校準(zhǔn)指令輸入;

②支持調(diào)試指令輸入;

③具備測(cè)試、校準(zhǔn)操作執(zhí)行過程集合。

該服務(wù)對(duì)外提供輸入接口,可按照既定輸入規(guī)范,對(duì)軟硬件模塊進(jìn)行狀態(tài)更改、控制及故障定位等進(jìn)行測(cè)試與調(diào)試。

圖10 測(cè)試支撐服務(wù)結(jié)構(gòu)圖

3 平臺(tái)適應(yīng)性分析

本設(shè)計(jì)選用的軟件架構(gòu),適用于Linux 系統(tǒng)下ARM、PowerPC、X86 等平臺(tái)的嵌入式設(shè)備開發(fā)。核心管理服務(wù)在開發(fā)過程中,考慮程序移植性,支持多平臺(tái)的編碼設(shè)計(jì),以宏定義的方式,針對(duì)不同的硬件平臺(tái)進(jìn)行編譯選擇。考慮Linux 的內(nèi)核態(tài)和用戶態(tài)特性,在內(nèi)核態(tài)中,通過自定義標(biāo)準(zhǔn)函數(shù)指針的形式,對(duì)外提供注冊(cè)注銷以及數(shù)據(jù)發(fā)送接口,其他軟件模塊動(dòng)態(tài)注冊(cè)時(shí)提供其數(shù)據(jù)接收接口;應(yīng)用態(tài)模塊間通過套接字進(jìn)行模塊間的數(shù)據(jù)傳輸。

本架構(gòu)下的服務(wù),應(yīng)用態(tài)下以.so 文件存在,內(nèi)核態(tài)下以.ko 文件形式存在。核心管理程序根據(jù)用戶需求,動(dòng)態(tài)調(diào)用、加載相應(yīng)服務(wù)程序;用戶結(jié)束服務(wù)后,殺死或卸載對(duì)應(yīng)的服務(wù),減輕CPU 的負(fù)載壓力。依據(jù)Linux 系統(tǒng)可剪裁的特性,可根據(jù)嵌入式設(shè)備不同的應(yīng)用需求,調(diào)整Linux 系統(tǒng)的實(shí)時(shí)性、搶占式參數(shù),對(duì)架構(gòu)中各模塊的優(yōu)先級(jí)進(jìn)行設(shè)置,提高架構(gòu)在各平臺(tái)下不同應(yīng)用場(chǎng)景的適配性。

4 結(jié)束語

結(jié)合嵌入式系統(tǒng)的應(yīng)用背景,針對(duì)嵌入式設(shè)備可熱插拔、按需擴(kuò)展、廣泛移植應(yīng)用的需求,設(shè)計(jì)了可通用的主控軟件架構(gòu)。該軟件架構(gòu)基于SOA 思想進(jìn)行設(shè)計(jì),具有松耦合、易擴(kuò)展、可移植、平臺(tái)無關(guān)等多個(gè)特點(diǎn),已在多個(gè)項(xiàng)目和設(shè)備上實(shí)際應(yīng)用,軟件的耦合性、擴(kuò)展性、移植性均得到充分驗(yàn)證,也可較好地適用于SCA、SDN 等技術(shù)的應(yīng)用環(huán)境,具有良好的實(shí)用性和應(yīng)用前景。

猜你喜歡
嵌入式服務(wù)管理
棗前期管理再好,后期管不好,前功盡棄
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
服務(wù)在身邊 健康每一天
搭建基于Qt的嵌入式開發(fā)平臺(tái)
招行30年:從“滿意服務(wù)”到“感動(dòng)服務(wù)”
商周刊(2017年9期)2017-08-22 02:57:56
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
“這下管理創(chuàng)新了!等7則
雜文月刊(2016年1期)2016-02-11 10:35:51
人本管理在我國國企中的應(yīng)用
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 一本久道久久综合多人| 日韩在线欧美在线| 精品伊人久久大香线蕉网站| 超清人妻系列无码专区| 无码av免费不卡在线观看| 国产精品区网红主播在线观看| 日韩专区欧美| 毛片视频网| 欧美国产视频| 久久精品66| 日本五区在线不卡精品| 欧美特级AAAAAA视频免费观看| 国产中文一区二区苍井空| 国产网友愉拍精品视频| 国产免费福利网站| 强奷白丝美女在线观看| 亚洲欧美日韩动漫| 噜噜噜久久| 亚洲黄色视频在线观看一区| 国产女人18水真多毛片18精品| 亚洲精品国产首次亮相| 欧美一级99在线观看国产| 亚洲国产日韩欧美在线| 另类专区亚洲| 91一级片| 99久久精品国产精品亚洲| 亚洲精品无码AV电影在线播放| 在线亚洲小视频| 亚洲天堂精品在线观看| 国产一区免费在线观看| 操国产美女| 免费在线一区| 久996视频精品免费观看| 亚洲国产精品成人久久综合影院| h网址在线观看| 欧美a在线看| 在线观看热码亚洲av每日更新| 青青草a国产免费观看| 国产成人亚洲欧美激情| 风韵丰满熟妇啪啪区老熟熟女| 特级欧美视频aaaaaa| 欧美日韩一区二区在线免费观看| AV天堂资源福利在线观看| 亚洲精品大秀视频| 九九热在线视频| 免费看黄片一区二区三区| 国产免费a级片| 老色鬼久久亚洲AV综合| 五月天丁香婷婷综合久久| 亚洲v日韩v欧美在线观看| 麻豆国产原创视频在线播放 | 国产av无码日韩av无码网站| 亚洲综合第一页| 亚洲侵犯无码网址在线观看| 黄色a一级视频| 久久精品91麻豆| 成人夜夜嗨| 日韩黄色在线| 亚洲精品在线91| 一级毛片免费观看久| 老司国产精品视频91| 亚洲一区二区约美女探花| 国产精品久久久久久久伊一| 毛片网站观看| 亚洲开心婷婷中文字幕| 美女被躁出白浆视频播放| 日韩专区欧美| 国产成人AV男人的天堂| 国产在线自乱拍播放| 国产成人综合在线观看| 精品欧美视频| 国产毛片高清一级国语| 五月六月伊人狠狠丁香网| 国产精品香蕉在线| 亚洲综合激情另类专区| 97在线视频免费观看| 日本亚洲欧美在线| 欧美久久网| 国产91小视频| 国产主播喷水| 免费福利视频网站| 国产女人爽到高潮的免费视频|