• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      一種嵌入式軟件組件更新方法的研究與實(shí)現(xiàn)

      2020-08-14 04:38:26郭秋麗趙益民邸海濤
      無線互聯(lián)科技 2020年10期
      關(guān)鍵詞:嵌入式軟件一致性組件

      郭秋麗,趙益民,邸海濤

      (航空工業(yè)西安航空計(jì)算技術(shù)研究所,陜西 西安 710068)

      動(dòng)態(tài)更新的研究始于19世紀(jì)60年代,在開放的Internet環(huán)境下,動(dòng)態(tài)性和多變性的需求越來越明顯。大多數(shù)系統(tǒng)都處于持續(xù)運(yùn)行中,如果停機(jī)更新維護(hù),則會(huì)帶來巨大的損失,這就要求軟件系統(tǒng)具有動(dòng)態(tài)更新的能力,能實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)更新。嵌入式軟件組件經(jīng)過組裝和集成后形成龐大的軟件系統(tǒng),但對(duì)執(zhí)行時(shí)間、可靠性、安全性、可用性及功耗等因素要求較高,使用者在經(jīng)過評(píng)估或性能改進(jìn)后,會(huì)對(duì)不符合需求的軟件組件進(jìn)行更新,于是就引入了對(duì)軟件組件更新的需求。文章提出了一種嵌入式軟件組件的更新方法,并具體實(shí)現(xiàn)了更新過程。

      1 組件更新方式

      根據(jù)嵌入式軟件組件更新發(fā)生的時(shí)機(jī)不同,可將組件更新方式分為以下4種:

      (1)設(shè)計(jì)時(shí)更新:在軟件編譯前,通過修改組件的設(shè)計(jì)或源代碼,重新編譯和部署來適應(yīng)變化。在文章中不考慮這種類型的組件更新。(2)運(yùn)行前更新:又稱為靜態(tài)更新,指在軟件編譯之后、運(yùn)行之前進(jìn)行的更新。(3)有限制的動(dòng)態(tài)更新:一般在設(shè)計(jì)時(shí)就規(guī)定了更新的具體條件,比如將系統(tǒng)設(shè)置為“安全”模式后進(jìn)行一些規(guī)定的更新操作,不會(huì)破壞系統(tǒng)的穩(wěn)定性和一致性。黃英蘭等[1]提到了基于確定策略的機(jī)載分布式系統(tǒng)多級(jí)重構(gòu)方法就是通過預(yù)先定義系統(tǒng)的重構(gòu)策略,并將策略存儲(chǔ)在配置數(shù)據(jù)中來實(shí)現(xiàn)的。(4)動(dòng)態(tài)更新:又稱為運(yùn)行時(shí)更新,指在組件運(yùn)行過程中,根據(jù)應(yīng)用需要和環(huán)境變化,動(dòng)態(tài)的進(jìn)行組件運(yùn)行、維護(hù)和更新。

      2 一種嵌入式軟件組件更新方法的設(shè)計(jì)

      組件更新在本質(zhì)上是指刪除舊組件和增加新組件的替換操作。在具體替換時(shí),需要收集舊組件的狀態(tài)和數(shù)據(jù),然后傳遞給新組件,新組件通過直接使用這些狀態(tài)和數(shù)據(jù)或根據(jù)系統(tǒng)約束對(duì)其進(jìn)行轉(zhuǎn)化,最終使新系統(tǒng)能正確運(yùn)行。若替換操作不成功,系統(tǒng)必須恢復(fù)到原來的狀態(tài)。因此,組件必須滿足以下特性:

      (1)新、舊組件必須兼容,并且新組件必須符合功能屬性要求,以減少更新后對(duì)整個(gè)系統(tǒng)的影響。(2)新組件只影響與其相連的組件,不能影響系統(tǒng)中的其他組件。(3)保證組件滿足一致性要求,即行為一致性、狀態(tài)一致性、應(yīng)用一致性。

      2.1 嵌入式軟件組件系統(tǒng)的組成

      嵌入式軟件組件系統(tǒng)由操作系統(tǒng)、驅(qū)動(dòng)、組件管理框架、組件和組件庫(kù)組成,其中操作系統(tǒng)和驅(qū)動(dòng)與硬件環(huán)境緊密聯(lián)系,組件分為應(yīng)用組件和中間件組件,中間件組件運(yùn)行在組件管理框架中。組件是不能直接與底層軟件進(jìn)行交互的,需要組件管理框架來完成。組件管理框架是一個(gè)支持組件運(yùn)行和部署的環(huán)境,主要負(fù)責(zé)組件與外部的連接、組件生命周期的管理、組件服務(wù)的綁定調(diào)用、為組件分配系統(tǒng)資源等功能[2-3]。組件管理框架在組件更新時(shí)起到了非常重要的作用,通過組件管理框架可以實(shí)現(xiàn)組件狀態(tài)的遷移,如:組件增加、組件刪除、組件修改、組件升級(jí)和組件替換等操作。嵌入式軟件組件系統(tǒng)組成如圖1所示。

      圖1 嵌入式軟件組件系統(tǒng)組成

      2.2 組件更新策略

      當(dāng)嵌入式系統(tǒng)有組件更新需求時(shí),系統(tǒng)需要判斷當(dāng)前更新操作是否可以進(jìn)行,一般是通過組件的依賴關(guān)系來判斷的。配置描述文件以一種規(guī)范化、易于理解的方式來全面、準(zhǔn)確地描述組件信息,包括:組件名稱、版本、提供商、功能、服務(wù)、依賴服務(wù)等,其中組件依賴服務(wù)屬性描述了該組件對(duì)其他組件的依賴關(guān)系及依賴強(qiáng)度。

      假如系統(tǒng)中有組件A、組件B和組件C 3個(gè)組件在運(yùn)行,其中,組件A依賴于組件B,且組件B是為組件A而加載運(yùn)行的,組件C依賴于組件A?,F(xiàn)在要求動(dòng)態(tài)更新組件A,處理規(guī)則如下:

      (1)如果新組件A沒有提供給組件C所需要的服務(wù),則系統(tǒng)判斷其不符合一致性規(guī)則,不允許更新。(2)如果新組件A提供了組件C所需要的服務(wù),但沒有依賴組件B,則不影響整個(gè)系統(tǒng)的運(yùn)行,允許更新。在更新成功后,將舊組件A和組件B同時(shí)卸載。(3)如果新組件A提供了組件C所需要的服務(wù),也依賴于組件B,則允許更新,更新成功后,將舊組件A卸載,保留組件B。

      3 一種嵌入式軟件組件更新方法的實(shí)現(xiàn)

      3.1 組件更新軟件

      組件更新軟件用來實(shí)現(xiàn)組件的更新。如圖2所示,組件更新軟件分為更新響應(yīng)、動(dòng)態(tài)更新、狀態(tài)恢復(fù)共3個(gè)子模塊。

      圖2 組件更新軟件功能模塊

      (1)更新響應(yīng)模塊:當(dāng)組件框架接收到組件更新的命令后,即調(diào)用更新響應(yīng)模塊,對(duì)組件及當(dāng)前狀態(tài)進(jìn)行判斷,確定能否更新、靜態(tài)更新或動(dòng)態(tài)更新等。(2)動(dòng)態(tài)更新模塊:主要進(jìn)行組件的動(dòng)態(tài)更新。(3)狀態(tài)恢復(fù)模塊:無論組件更新成功與否,系統(tǒng)都要進(jìn)行更新動(dòng)作后的清理工作。如果更新失敗,則要將系統(tǒng)恢復(fù)到更新之前的狀態(tài);如果更新成功,則要將舊組件相關(guān)信息清除。

      3.2 組件更新的過程

      當(dāng)組件框架調(diào)用了更新響應(yīng)功能后,組件更新軟件就開始執(zhí)行,組件更新的過程如圖3所示。

      圖 3個(gè)組件更新過程

      (1)執(zhí)行組件下載功能,將新組件下載到本地組件庫(kù)中。(2)判斷所要更新的模塊名稱是否安裝在當(dāng)前的軟件組件管理框架中,如果沒有被安裝,則結(jié)束更新過程。(3)判斷新組件是否滿足一致性要求,如果不滿足則結(jié)束更新過程。(4)判斷舊組件是否被加載到內(nèi)存,如果沒有則將新組件進(jìn)行安裝,并在安裝文件中記錄安裝信息,卸載舊組件,結(jié)束更新過程。(5)如果組件被加載到內(nèi)存,且參與了系統(tǒng)功能服務(wù),則要進(jìn)行動(dòng)態(tài)更新。先判斷舊組件是否被當(dāng)前運(yùn)行的組件強(qiáng)制依賴,如果有,則結(jié)束更新過程。(6)如果舊組件沒有被強(qiáng)制依賴,則將舊組件的狀態(tài)設(shè)置為“Updating”,將其他組件對(duì)舊組件的依賴關(guān)系標(biāo)記為“Updating”,將舊組件對(duì)其他組件的服務(wù)依賴關(guān)系標(biāo)記為“Updating”。(7)安裝加載新組件,為新組件注冊(cè)并建立服務(wù)依賴關(guān)系,將其他組件對(duì)舊組件的依賴關(guān)系遷移到新組件上來,并將依賴關(guān)系標(biāo)記為“Normal”,將新組件的狀態(tài)設(shè)置為“Runing”。新組件安裝時(shí),將舊組件的安裝信息更名位“_old”。(8)如果新組件安裝運(yùn)行正常,將系統(tǒng)中舊組件的依賴關(guān)系刪除,將安裝文件目錄中舊組件的安裝文件刪除,結(jié)束組件更新過程。(9)如果新組件在安裝加載過程中出了問題,系統(tǒng)將會(huì)退回到舊組件狀態(tài),并且結(jié)束更新過程。退回過程:將其他組件對(duì)舊組件的依賴關(guān)系記錄標(biāo)記為“Normal”;將舊組件對(duì)其他組件的服務(wù)依賴關(guān)系標(biāo)記為“Normal”;將舊組件的狀態(tài)設(shè)置為“Runing”;從安裝文件目錄中將新組件的安裝文件刪除,將舊組件的安裝文件名稱恢復(fù)成原來的名稱。

      4 結(jié)語(yǔ)

      文章提出了一種嵌入式軟件組件的更新方法,并實(shí)現(xiàn)了更新過程。在嵌入式系統(tǒng)向開放式系統(tǒng)發(fā)展的道路上,軟件的復(fù)雜度越來越高,動(dòng)態(tài)性和多變性的需求就越來越明顯,提供軟件系統(tǒng)的動(dòng)態(tài)更新能力,保證系統(tǒng)在不停機(jī)的狀態(tài)下進(jìn)行軟件更新,將會(huì)降低人工成本,提高嵌入式系統(tǒng)的運(yùn)行效率。

      猜你喜歡
      嵌入式軟件一致性組件
      關(guān)注減污降碳協(xié)同的一致性和整體性
      公民與法治(2022年5期)2022-07-29 00:47:28
      無人機(jī)智能巡檢在光伏電站組件診斷中的應(yīng)用
      能源工程(2022年2期)2022-05-23 13:51:50
      注重教、學(xué)、評(píng)一致性 提高一輪復(fù)習(xí)效率
      IOl-master 700和Pentacam測(cè)量Kappa角一致性分析
      U盾外殼組件注塑模具設(shè)計(jì)
      實(shí)時(shí)嵌入式軟件的測(cè)試技術(shù)
      全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
      電子制作(2017年17期)2017-12-18 06:40:56
      橋梁組件搭配分析
      基于事件觸發(fā)的多智能體輸入飽和一致性控制
      基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
      龙游县| 万宁市| 桦南县| 高碑店市| 甘孜县| 山西省| 顺昌县| 祁东县| 田阳县| 雷山县| 鄂托克前旗| 长顺县| 敖汉旗| 敦化市| 临桂县| 许昌市| 龙井市| 商都县| 济阳县| 大姚县| 东山县| 金昌市| 开阳县| 邯郸市| 安远县| 浮山县| 安阳市| 福海县| 湖北省| 定西市| 新源县| 辽阳县| 江源县| 卓资县| 酉阳| 华宁县| 吉木乃县| 慈利县| 南安市| 祁阳县| 东阳市|