欧美日韩啪啪,最新精品在线,国产ts一区二区,色亚洲一区二区,草草影院国产,久久国产99,欧美日韩四区

一種日志處理方法、裝置、設(shè)備及存儲介質(zhì)與流程

文檔序號:42323985發(fā)布日期:2025-07-01 19:40閱讀:6來源:國知局

本技術(shù)涉及計(jì)算機(jī),特別涉及一種日志處理方法、裝置、設(shè)備及存儲介質(zhì)。


背景技術(shù):

1、log(日志)通常用于故障排除、系統(tǒng)監(jiān)控和調(diào)試,對log信息進(jìn)行壓縮可以顯著減少對存儲空間資源的需求,從而將更多的存儲空間分配給系統(tǒng)中其他更關(guān)鍵的業(yè)務(wù)使用,同時(shí)壓縮后的log在通過網(wǎng)絡(luò)傳輸時(shí),可以減少傳輸?shù)臄?shù)據(jù)量,節(jié)省網(wǎng)絡(luò)資源。例如,在存儲空間資源有限的嵌入式軟件的運(yùn)行過程中,通過壓縮log信息對資源進(jìn)行有效管理。

2、目前,主流的壓縮方法包括:基于統(tǒng)計(jì)的壓縮方法、基于預(yù)測的壓縮方法、基于字典的壓縮方法、嵌入式數(shù)據(jù)庫壓縮方法以及基于自定義壓縮算法的壓縮方法;其中,基于統(tǒng)計(jì)的壓縮方法是利用數(shù)據(jù)的統(tǒng)計(jì)特性來壓縮log信息,例如,使用哈夫曼編碼(huffmancoding)或算術(shù)編碼(arithmetic?encoding)等技術(shù),根據(jù)在數(shù)據(jù)中出現(xiàn)的頻率對信息進(jìn)行編碼,從而減少所需的存儲空間;基于預(yù)測的壓縮方法是利用數(shù)據(jù)的預(yù)測性來壓縮信息,例如,利用差分日志壓縮(differential?logging)技術(shù)記錄與上一次日志相比發(fā)生了變化的信息,從而減少所需的存儲空間;基于字典的壓縮方法是使用一個(gè)“字典”來映射數(shù)據(jù)中的重復(fù)模式,如lz77和lz78等基于字典的壓縮算法;嵌入式數(shù)據(jù)庫壓縮方法是使用嵌入式數(shù)據(jù)庫提供的內(nèi)置壓縮功能進(jìn)行信息壓縮,如通過sqlite提供的快速壓縮(quicklz)、squicklz和懷舊的“僅lz”(lz?only)等壓縮選項(xiàng)進(jìn)行信息壓縮;基于自定義壓縮算法的壓縮方法主要應(yīng)用于特定應(yīng)用場景或特定數(shù)據(jù)結(jié)構(gòu)的壓縮,例如,針對特定硬件的壓縮算法可以更好地利用硬件特性,從而提高壓縮效率。

3、然而,通過上述壓縮方法對log信息進(jìn)行壓縮時(shí),會涉及到復(fù)雜的壓縮算法,實(shí)施起來比較復(fù)雜,并且當(dāng)log中非轉(zhuǎn)換說明部分描述的越詳細(xì)時(shí),壓縮比會越低,另外,由于上述壓縮方法均是對運(yùn)行后產(chǎn)生的log信息進(jìn)行壓縮的,因此會占用目標(biāo)機(jī)的算力資源,如cpu(central?processing?unit,中央處理器)資源。

4、綜上,如何解決上述問題是本領(lǐng)域目前還有待進(jìn)一步解決的問題。


技術(shù)實(shí)現(xiàn)思路

1、有鑒于此,本技術(shù)的目的在于提供一種日志處理方法、裝置、設(shè)備及存儲介質(zhì),簡化了日志壓縮流程,具有更高的壓縮比,進(jìn)而減少了對存儲空間資源的需求,能夠?qū)⒏嗟拇鎯臻g分配給系統(tǒng)中其他的更關(guān)鍵的業(yè)務(wù)使用,同時(shí)壓縮后的日志在通過網(wǎng)絡(luò)傳輸時(shí),能夠減少傳輸?shù)臄?shù)據(jù)量,從而節(jié)省了網(wǎng)絡(luò)資源。其具體方案如下:

2、第一方面,本技術(shù)公開了一種日志處理方法,應(yīng)用于宿主機(jī),包括:

3、獲取在所述宿主機(jī)上為嵌入式設(shè)備編寫完的待編譯源代碼,并對所述待編譯源代碼進(jìn)行遍歷,以識別所述待編譯源代碼中的log語句模板得到原始log語句模板;

4、為所述原始log語句模板生成唯一標(biāo)識符,并建立所述唯一標(biāo)識符與所述原始log語句模板之間的映射關(guān)系;

5、識別所述原始log語句模板中的格式化字符串,得到目標(biāo)格式化字符串,并刪除所述目標(biāo)格式化字符串中的非轉(zhuǎn)換說明字符序列,得到包含轉(zhuǎn)換說明的壓縮后格式化字符串;

6、對所述唯一標(biāo)識符和所述壓縮后格式化字符串進(jìn)行拼接,得到壓縮后log語句模板,并將所述壓縮后log語句模板替換所述待編譯源代碼中的所述原始log語句模板,得到新代碼;

7、對所述新代碼進(jìn)行編譯得到鏡像文件,并在目標(biāo)機(jī)上運(yùn)行所述鏡像文件以產(chǎn)生壓縮后的log信息;所述壓縮后的log信息為執(zhí)行所述鏡像文件中的所述壓縮后log語句模板后產(chǎn)生的不包含所述非轉(zhuǎn)換說明字符序列的信息。

8、可選的,所述對所述唯一標(biāo)識符和所述壓縮后格式化字符串進(jìn)行拼接,得到壓縮后log語句模板,包括:

9、按照預(yù)設(shè)字符對所述壓縮后格式化字符串中的所有所述轉(zhuǎn)換說明進(jìn)行拼接,得到第一拼接后字符串;

10、對所述唯一標(biāo)識符和所述第一拼接后字符串進(jìn)行拼接,得到第二拼接后字符串;

11、在所述第二拼接后字符串中的所述唯一標(biāo)識符和所述第一拼接后字符串之間添加所述預(yù)設(shè)字符,得到壓縮后log語句模板。

12、可選的,所述在目標(biāo)機(jī)上運(yùn)行所述鏡像文件以產(chǎn)生壓縮后的log信息之后,還包括:

13、獲取所述目標(biāo)機(jī)導(dǎo)出的所述壓縮后的log信息,并根據(jù)所述壓縮后的log信息中包含的所述唯一標(biāo)識符確定所述原始log語句模板;

14、根據(jù)所述原始log語句模板對所述壓縮后的log信息進(jìn)行解壓縮,以還原包含所述非轉(zhuǎn)換說明字符序列的目標(biāo)log信息。

15、可選的,所述根據(jù)所述原始log語句模板對所述壓縮后的log信息進(jìn)行解壓縮,以還原包含所述非轉(zhuǎn)換說明字符序列的目標(biāo)log信息,包括:

16、對所述壓縮后的log信息中的參數(shù)進(jìn)行解析,得到與所述壓縮后log語句模板中的各所述轉(zhuǎn)換說明分別對應(yīng)的各目標(biāo)參數(shù);

17、將各所述目標(biāo)參數(shù)依次替換到所述原始log語句模板中的所述目標(biāo)格式化字符串的轉(zhuǎn)換說明中,得到包含所述非轉(zhuǎn)換說明字符序列的目標(biāo)log信息。

18、可選的,所述建立所述唯一標(biāo)識符與所述原始log語句模板之間的映射關(guān)系,包括:

19、建立所述唯一標(biāo)識符與所述原始log語句模板之間的映射關(guān)系,并將映射后的所述唯一標(biāo)識符和所述原始log語句模板記錄至預(yù)設(shè)映射文件中;其中,所述預(yù)設(shè)映射文件位于所述宿主機(jī)上;

20、相應(yīng)的,所述根據(jù)所述壓縮后的log信息中包含的所述唯一標(biāo)識符確定所述原始log語句模板,包括:

21、從位于所述宿主機(jī)上的所述預(yù)設(shè)映射文件中查詢與所述壓縮后的log信息中包含的所述唯一標(biāo)識符對應(yīng)的log語句模板,得到所述原始log語句模板。

22、可選的,所述為所述原始log語句模板生成唯一標(biāo)識符,包括:

23、對所有所述原始log語句模板進(jìn)行排序,得到排序后log語句模板;

24、利用預(yù)設(shè)字節(jié)的計(jì)數(shù)器依次為所述排序后log語句模板中的各log語句模板生成對應(yīng)的唯一標(biāo)識符。

25、可選的,所述對所述待編譯源代碼進(jìn)行遍歷,以識別所述待編譯源代碼中的log語句模板得到原始log語句模板,包括:

26、對所述待編譯源代碼進(jìn)行逐行遍歷,并在遍歷過程中判斷當(dāng)前語句中是否存在log語句模板;

27、若所述當(dāng)前語句中存在log語句模板,則提取所述當(dāng)前語句中存在的log語句模板,得到原始log語句模板。

28、第二方面,本技術(shù)公開了一種日志處理裝置,包括:

29、源代碼獲取模塊,用于獲取在所述宿主機(jī)上為嵌入式設(shè)備編寫完的待編譯源代碼;

30、遍歷模塊,用于對所述待編譯源代碼進(jìn)行遍歷,以識別所述待編譯源代碼中的log語句模板得到原始log語句模板;

31、標(biāo)識符生成模塊,用于為所述原始log語句模板生成唯一標(biāo)識符;

32、映射關(guān)系建立模塊,用于建立所述唯一標(biāo)識符與所述原始log語句模板之間的映射關(guān)系;

33、識別模塊,用于識別所述原始log語句模板中的格式化字符串,得到目標(biāo)格式化字符串;

34、刪除模塊,用于刪除所述目標(biāo)格式化字符串中的非轉(zhuǎn)換說明字符序列,得到包含轉(zhuǎn)換說明的壓縮后格式化字符串;

35、拼接模塊,用于對所述唯一標(biāo)識符和所述壓縮后格式化字符串進(jìn)行拼接,得到壓縮后log語句模板;

36、替換模塊,用于將所述壓縮后log語句模板替換所述待編譯源代碼中的所述原始log語句模板,得到新代碼;

37、編譯及運(yùn)行模塊,用于對所述新代碼進(jìn)行編譯得到鏡像文件,并在目標(biāo)機(jī)上運(yùn)行所述鏡像文件以產(chǎn)生壓縮后的log信息;所述壓縮后的log信息為執(zhí)行所述鏡像文件中的所述壓縮后log語句模板后產(chǎn)生的不包含所述非轉(zhuǎn)換說明字符序列的信息。

38、第三方面,本技術(shù)公開了一種電子設(shè)備,包括處理器和存儲器;其中,所述處理器執(zhí)行所述存儲器中保存的計(jì)算機(jī)程序時(shí)實(shí)現(xiàn)前述的日志處理方法。

39、第四方面,本技術(shù)公開了一種計(jì)算機(jī)可讀存儲介質(zhì),用于存儲計(jì)算機(jī)程序;其中,所述計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)前述的日志處理方法。

40、可見,本技術(shù)應(yīng)用于宿主機(jī),先獲取在所述宿主機(jī)上為嵌入式設(shè)備編寫完的待編譯源代碼,并對所述待編譯源代碼進(jìn)行遍歷,以識別所述待編譯源代碼中的log語句模板得到原始log語句模板,然后為所述原始log語句模板生成唯一標(biāo)識符,并建立所述唯一標(biāo)識符與所述原始log語句模板之間的映射關(guān)系,接著識別所述原始log語句模板中的格式化字符串,得到目標(biāo)格式化字符串,并刪除所述目標(biāo)格式化字符串中的非轉(zhuǎn)換說明字符序列,得到包含轉(zhuǎn)換說明的壓縮后格式化字符串,再對所述唯一標(biāo)識符和所述壓縮后格式化字符串進(jìn)行拼接得到壓縮后log語句模板,并將所述壓縮后log語句模板替換所述待編譯源代碼中的所述原始log語句模板得到新代碼,最后對所述新代碼進(jìn)行編譯得到鏡像文件,并在目標(biāo)機(jī)上運(yùn)行所述鏡像文件以產(chǎn)生壓縮后的log信息;其中,所述壓縮后的log信息為執(zhí)行所述鏡像文件中的所述壓縮后log語句模板后產(chǎn)生的不包含所述非轉(zhuǎn)換說明字符序列的信息。本技術(shù)為待編譯源代碼中的log語句模板建立唯一標(biāo)識符,然后將唯一標(biāo)識符和刪除了非轉(zhuǎn)換說明字符序列的格式化字符串進(jìn)行拼接,得到壓縮后log語句模板,并將壓縮后log語句模板替換待編譯源代碼中的原始log語句模板得到新代碼,最后對所述新代碼進(jìn)行編譯得到鏡像文件,并在目標(biāo)機(jī)上運(yùn)行對新代碼編譯后得到的鏡像文件,從而產(chǎn)生不包含所述非轉(zhuǎn)換說明字符序列的壓縮后的log信息,這樣一來,原始log語句模板中的非轉(zhuǎn)換說明字符序列的數(shù)據(jù)量越大則壓縮比越高;由于不涉及復(fù)雜的壓縮算法,因此簡化了日志壓縮流程,進(jìn)而減少了對存儲空間資源的需求,能夠?qū)⒏嗟拇鎯臻g分配給系統(tǒng)中其他的更關(guān)鍵的業(yè)務(wù)使用,同時(shí)壓縮后的日志在通過網(wǎng)絡(luò)傳輸時(shí),減少了傳輸?shù)臄?shù)據(jù)量,從而節(jié)省了網(wǎng)絡(luò)資源;另外,由于是在宿主機(jī)上進(jìn)行的壓縮操作,因此節(jié)省了目標(biāo)機(jī)的算力資源。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1