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

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