文/丁月林
嵌入式系統(tǒng)作為物聯(lián)網(wǎng)終端和邊緣計算系統(tǒng)的重要形式,確保其安全性和可靠性是保證整個物聯(lián)網(wǎng)系統(tǒng)的穩(wěn)定性的前提,由于受限于計算資源和性能低,導(dǎo)致在嵌入式軟件系統(tǒng)中無法運行復(fù)雜的日志系統(tǒng)對其錯誤進行追蹤和報告,極大的降低了嵌入式軟件運行的穩(wěn)定性和可靠性。在這一背景下本文通過對當(dāng)前先進的事件服務(wù)追蹤技術(shù)進行研究,將事件服務(wù)追蹤技術(shù)應(yīng)用到嵌入式軟件的錯誤追蹤機制設(shè)計中,構(gòu)建了一個可靠、高效的嵌入式軟件錯誤追蹤內(nèi)核,以實現(xiàn)對嵌入式軟件的錯誤事件進行管理和追蹤,對提高嵌入式軟件運行的穩(wěn)定性具有非常重要的意義。
本文設(shè)計過程中采用的事件追蹤理論是基于IEC61850提出的應(yīng)用在電力系統(tǒng)中的終端設(shè)備的高效的Reporing事件機制傳輸數(shù)據(jù)集,其不僅在觸發(fā)條件滿足時立即發(fā)布事件報告,也可以是經(jīng)過一段緩存時間按事件順序組合發(fā)布報告。在該事件追蹤機制中,其報告模型主要由事件監(jiān)測器、報告處理器和報告控制三個部分組成。

圖1:嵌入式軟件錯誤追蹤機制內(nèi)核整體方案
基于上述原理,本文以嵌入式Linux系統(tǒng)為例,對如何應(yīng)用事件追蹤機制構(gòu)建嵌入式軟件錯誤追蹤機制內(nèi)核進行了詳細設(shè)計,其整體設(shè)計方案如圖1所示。整個機制構(gòu)建在嵌入式軟件系統(tǒng)的基礎(chǔ)上,其中最底層是嵌入式Linux系統(tǒng)和硬件平臺的支撐,然后是TCP網(wǎng)絡(luò)通信、SQLITE3數(shù)據(jù)庫和日志模塊三個模塊的支撐,這三個模塊是目前嵌入式系統(tǒng)標(biāo)配的三個模塊,通過構(gòu)建SоftErrоrTrасkCоnfig模塊、SoftErrorTrackLib內(nèi)核模塊、SoftErrorTrack事件映射模塊和SoftErrorTrackLib應(yīng)用程序API接口四個模塊組成嵌入式軟件的錯誤追蹤機制核心模塊。
基于前文的整體方案設(shè)計和事件追蹤機制的原理分析,在實現(xiàn)對嵌入式系統(tǒng)中的軟件的錯誤事件的追蹤中,主要是通過SoftErrorTrackLib的內(nèi)核模塊從嵌入式軟件日志系統(tǒng)中實時的獲取數(shù)據(jù),并根據(jù)SoftErrorTrack映射模塊轉(zhuǎn)換成事件信息,上報到內(nèi)核中的事件庫中,而在整個處理過程中,要實現(xiàn)高效的錯誤事件追蹤,其核心就是需要誰高效可靠的事件驅(qū)動機制。
通過上述的事件驅(qū)動觸發(fā)機制,可以實現(xiàn)對系統(tǒng)中的軟件錯誤信息的實時監(jiān)測和管理,在上述機制中,其中實現(xiàn)的對象是BRCB模塊來實現(xiàn),通過BRCB模塊的屬性進行控制,對事件觸發(fā)的方式進行管理和控制,實現(xiàn)高效的事件驅(qū)動觸發(fā),在BRCB模塊中,應(yīng)用于事件觸發(fā)的BRCB中的屬性有兩個,分別為DatSet和TrgOps。DatSet(數(shù)據(jù)集引用),該屬性是通過實時數(shù)據(jù)建模的數(shù)據(jù)對象來構(gòu)成。同時在BRCB中還包括了一個TrgOps(觸發(fā)選項)該選項中包括dchg(數(shù)據(jù)改變)、qchg(品質(zhì)改變)、dupd(數(shù)據(jù)更新)、integrity(完整性)和general-interrogation(總召喚)五個類型的觸發(fā)器。本文追蹤的軟件錯誤狀態(tài)預(yù)測的數(shù)據(jù)同步報告采用上述流程圖最左邊的觸發(fā)機制,以dchg作為觸發(fā)選項,軟件錯誤報告標(biāo)志的狀態(tài)值作為事件觸發(fā)條件。
近年來隨著物聯(lián)網(wǎng)和邊緣計算的快速發(fā)展,對嵌入式軟件系統(tǒng)的性能要求越來越高,如何確保嵌入式軟件運行的穩(wěn)定性和可靠性成為了當(dāng)前嵌入式技術(shù)發(fā)展的關(guān)鍵之一,本文對嵌入式軟件中的錯誤追蹤機制進行研究,提出了一種基于事件驅(qū)動追蹤機制的錯誤追蹤報告機制,以提高嵌入式軟件中的錯誤追蹤的效率和準(zhǔn)確性。對推動未來邊緣計算和物聯(lián)網(wǎng)終端設(shè)備的軟件運行的安全性和穩(wěn)定性具有非常重要的意義。