一種基于嵌入式Linux系統的log抓取方法、裝置、計算機及存儲介質,涉及通信技術領域。解決了現有Linux系統異常信息無法全面抓取的問題。所述方法包括:Linux系統中CPU與MCU模塊連接,Linux系統中CPU傳輸心跳數據至MCU模塊,MCU模塊抓取所述心跳數據,并判斷是否有心跳數據缺失;獲取的心跳數據缺失,保存心跳數據在flash;重啟所述CPU,MCU模塊抓取所述保存在flash的心跳數據傳輸至CPU;CPU獲取所述心跳數據上傳至后臺服務器;CPU在發送異常心跳數據時,使用kdump makedumpfile機制進行抓取crashdump;CPU重啟后,crashdump保存在Linux系統中,并通過Linux系統上傳至后臺服務器。本發明專利技術應用于無人機平臺。發明專利技術應用于無人機平臺。發明專利技術應用于無人機平臺。
【技術實現步驟摘要】
一種基于嵌入式Linux系統的log抓取方法、裝置、計算機及存儲介質
[0001]本專利技術涉及通信
,尤其涉及一種基于嵌入式Linux系統的log抓取方法。
技術介紹
[0002]嵌入式系統出現于20世紀60年代晚期,它最初被用于控制機電電話交換機,如今已被廣泛的應用于工業制造、過程控制、通訊、儀器、儀表、汽車、船舶、航空、航天、軍事裝備、消費類產品等眾多領域。計算機系統核心CPU,每年在全球范圍內的產量大概在二十億顆左右,其中超過80%應用于各類專用性很強的嵌入式系統。一般的說,凡是帶有微處理器的專用軟硬件系統都可以稱為嵌入式系統。
[0003]Linux做嵌入式的優勢,首先,Linux是開放源代碼的,不存在黑箱技術,遍布全球的眾多Linux愛好者又是Linux開發者的強大技術支持;其次,Linux的內核小、效率高,內核的更新速度很快,linux是可以定制的,其系統內核最小只有約134KB。第三,Linux是免費的OS,在價格上極具競爭力。Linux還有著嵌入式操作系統所需要的很多特色,突出的就是Linux適應于多種CPU和多種硬件平臺,是一個跨平臺的系統。它可以支持二三十種CPU。而且性能穩定,裁剪性很好,開發和使用都很容易。
[0004]當前的嵌入式Linux系統抓取log方式,一般采用Linux設備通過UART線直接PC電腦來進行調試,但是在外場客戶使用過程中,無法進行實時連接PC,此時出現異常將導致異常信息無法抓取到,并且在實驗室環境下不能復現的情況。
[0005]現有專利CN109189601A公開了的一種Linux系統下RAID卡log信息的抓取方法,包括將storcli工具安裝至用戶文件夾,搭建測試環境;在用戶文件夾內創建用于保存RAID卡log信息的日志記錄文件;使用storcli工具抓取RAID卡log信息并分類保存到日志記錄文件中;根據預設條件對日志記錄文件中的log信息進行過濾,得到處理后的log信息;將處理后的log信息存儲到log數據表格table_log中。其有效縮短服務器故障修復時間,提高故障分析的效率和準確度是擺在每個維護人員面前的難題。然而,其僅能解決應用層log抓取問題,無法解決Linux內核層出現異常時,底層系統異常信息的全面抓取問題。
[0006]因此,亟需一種方法解決內核異常信息無法全面抓取的問題,解決系統出現異常死機、異常重啟等問題。
技術實現思路
[0007]本專利技術解決了現有Linux系統抓取log無法供外場客戶使用,無法進行實時連接PC,內核系統異常信息無法全面抓取的問題。
[0008]本專利技術提供一種基于嵌入式Linux系統的log抓取方法,所述方法包括:
[0009]Linux系統中CPU通過串行接口與MCU模塊連接,所述Linux系統中CPU傳輸心跳數據至MCU模塊,所述MCU模塊抓取所述心跳數據,并判斷是否有心跳數據缺失;
[0010]所述獲取的心跳數據缺失,保存心跳數據在flash中;
[0011]重啟所述CPU,所述MCU模塊抓取所述保存在flash的心跳數據傳輸至CPU;
[0012]所述CPU獲取所述心跳數據上傳至后臺服務器;
[0013]所述CPU在發送異常心跳數據時,使用kdump makedumpfile機制進行抓取crashdump;
[0014]所述CPU重啟后,所述crashdump保存在Linux系統中,并通過所述Linux系統上傳至后臺服務器。
[0015]進一步的,還提供一種優選實施方式,所述kdump makedumpfile機制具體為:
[0016]在Linux系統中增加kexec tool,用于負責加載crash內核和啟動參數傳遞;
[0017]在Linux系統中增加一個rootfs分區,用于存放rootfs文件系統。
[0018]進一步的,還提供一種優選實施方式,所述crashdump保存在Linux系統中,并通過所述Linux系統上傳至后臺服務器,還包括使用crash和vmlinux進行解析crashdump中各種系統調用棧、且使用objdump解析與Linux ARM異常狀態寄存器相關的寄存器。
[0019]進一步的,還提供一種優選實施方式,所述MCU模塊通過UART0抓取所述心跳數據。
[0020]進一步的,還提供一種優選實施方式,所述MCU模塊抓取所述保存在flash的心跳數據通過UART1傳輸至CPU。
[0021]進一步的,還提供一種優選實施方式,所述MCU模塊采用RT1160的MCU芯片。
[0022]進一步的,還提供一種優選實施方式,所述CPU型號為IMX8MP CPU。
[0023]基于同一專利技術構思,本專利技術還提供一種基于嵌入式Linux系統的log抓取裝置,所述裝置包括:
[0024]CPU模塊,用于所述Linux系統中CPU通過串行接口與MCU模塊連接,所述Linux系統中CPU傳輸心跳數據至MCU模塊;
[0025]MCU模塊,用于所述MCU模塊抓取所述心跳數據,并判斷是否有心跳數據缺失;
[0026]心跳數據獲取模塊,用于所述獲取的心跳數據缺失,保存心跳數據在flash中;
[0027]心跳數據保存模塊,用于重啟所述CPU,所述MCU模塊抓取所述保存在flash的心跳數據傳輸至CPU;
[0028]心跳數據上傳單元,用于所述CPU獲取所述心跳數據上傳至后臺服務器;
[0029]異常心跳抓取單元,用于所述CPU在發送異常心跳數據時,使用kdump makedumpfile機制進行抓取crashdump;
[0030]Crashdump上傳單元,用于所述CPU重啟后,所述crashdump保存在Linux系統中,并通過所述Linux系統上傳至后臺服務器。
[0031]基于同一專利技術構思,本專利技術還提供一種計算機設備,包括存儲器和處理器,所述存儲器中存儲有計算機程序,當所述處理器運行所述存儲器存儲的計算機程序時,所述處理器執行根據上述中任一項中所述的一種基于嵌入式Linux系統的log抓取方法。
[0032]基于同一專利技術構思,本專利技術還提供一種計算機可讀存儲介質,該計算機可讀存儲介質上存儲有計算機程序,該計算機程序被處理器運行時執行如上述任一項所述的一種基于嵌入式Linux系統的log抓取方法。
[0033]本專利技術的有益之處在于:
[0034]本專利技術解決了現有Linux系統抓取log無法供外場客戶使用,無法進行實時連接PC,異常信息無法全面抓取的問題。
[0035]本專利技術所述的一種基于嵌入式Linux系統的log抓取方法,通過MCU模塊獲取Linux系統中CPU的心跳數據,當MCU模塊獲取的心跳丟失,則將抓取到的數據保存在flash中。當Linux系統異常的時候,啟動第二內核進行數據轉存之后,系統將會重啟,待重啟后,MCU模塊抓取所述保存在flash的心跳數據傳輸至CPU,cp本文檔來自技高網...
【技術保護點】
【技術特征摘要】
中任一項中所述的一種基于嵌入式Linux系統的log抓取方法。10.一種計算機可讀存儲介質,其特征在于,該計算機可讀存儲介質上存儲有計算機程序,...
【專利技術屬性】
技術研發人員:李丹,
申請(專利權)人:黑龍江惠達科技發展有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。