本申請涉及計算機,尤其涉及一種日志清理方法、裝置、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、為了記錄各種類型的電子設(shè)備的運行情況,目前,在很多電子設(shè)備中,均設(shè)置了日志記錄功能,即按照時間順序,依次記錄不同時刻生成的日志信息。例如,在汽車領(lǐng)域,車載設(shè)備研發(fā)或量產(chǎn)過程中,日志能有效的記錄各個功能模塊所發(fā)生的異常,是一種通用的問題定位手段。
2、例如,在有些場景中,尤其是在定位問題時,有在各個設(shè)備間進行utc(universaltime?coordinated,協(xié)調(diào)世界時)時間或其他標準時間同步的需求,以便各個設(shè)備產(chǎn)生的日志時間是對應(yīng)的,這樣能方便的對應(yīng)同一時刻各個設(shè)備中的記錄的內(nèi)容,更有效的分析定位問題。
3、然而實際場景中,比如在隧道或在地下車庫等無法連接網(wǎng)絡(luò)的場景,不一定能獲取準確的utc時間,所以時間有可能存在跳變的情況。這種場景下,采用utc時間對歷史日志數(shù)據(jù)進行清理,可能會導(dǎo)致無法準確識別哪些文件是最新產(chǎn)生的,哪些是較早前產(chǎn)生的,從而導(dǎo)致日志數(shù)據(jù)誤刪除的問題。
技術(shù)實現(xiàn)思路
1、鑒于此,為解決上述部分或全部技術(shù)問題,本申請實施例提供一種日志清理方法、裝置、電子設(shè)備及存儲介質(zhì)。
2、第一方面,本申請實施例提供一種日志清理方法,該方法包括:響應(yīng)于確定目標運行對象對應(yīng)的日志存儲區(qū)內(nèi)的數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量閾值,確定日志存儲區(qū)中的每個日志記錄對象對應(yīng)的生成序號,其中,生成序號為在生成日志記錄對象時,對日志記錄對象的生成次序進行記錄得到;執(zhí)行如下刪除步驟:基于日志存儲區(qū)中的每個日志記錄對象的生成序號,從日志存儲區(qū)中,確定生成時刻最早的目標日志記錄對象,并刪除目標日志記錄對象;若刪除目標日志記錄對象后,日志存儲區(qū)內(nèi)當前的數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量閾值,且日志存儲區(qū)內(nèi)的日志記錄對象的數(shù)量大于或等于預(yù)設(shè)數(shù)量閾值,重新執(zhí)行刪除步驟。
3、在一個可能的實施方式中,在響應(yīng)于確定目標運行對象對應(yīng)的日志存儲區(qū)內(nèi)的數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量閾值,確定日志存儲區(qū)中的每個日志記錄對象對應(yīng)的生成序號之前,該方法還包括:響應(yīng)于目標運行對象啟動,生成本次啟動對應(yīng)的日志記錄對象,并將新生成的日志記錄對象存儲到目標運行對象對應(yīng)的日志存儲區(qū)中;記錄目標運行對象當前的啟動次數(shù);基于啟動次數(shù),生成日志記錄對象對應(yīng)的生成序號。
4、在一個可能的實施方式中,響應(yīng)于目標運行對象啟動,生成本次啟動對應(yīng)的日志記錄對象,并將新生成的日志記錄對象存儲到目標運行對象對應(yīng)的日志存儲區(qū)中,包括:響應(yīng)于目標系統(tǒng)啟動,將目標系統(tǒng)確定為目標運行對象;確定預(yù)設(shè)的用于存儲目標系統(tǒng)上安裝的應(yīng)用程序生成的日志數(shù)據(jù)的存儲區(qū)域,作為目標系統(tǒng)對應(yīng)的日志存儲區(qū);在日志存儲區(qū)中新建目標系統(tǒng)本次啟動后對應(yīng)的系統(tǒng)日志存儲目錄,并將系統(tǒng)日志存儲目錄確定為日志記錄對象。
5、在一個可能的實施方式中,在基于啟動次數(shù),生成日志記錄對象對應(yīng)的生成序號之后,方法還包括:將生成序號添加到系統(tǒng)日志存儲目錄的目錄名中。
6、在一個可能的實施方式中,響應(yīng)于目標運行對象啟動,生成本次啟動對應(yīng)的日志記錄對象,并將新生成的日志記錄對象存儲到目標運行對象對應(yīng)的日志存儲區(qū)中,包括:響應(yīng)于目標系統(tǒng)上安裝的目標應(yīng)用程序啟動,將目標應(yīng)用程序確定為目標運行對象;若目標應(yīng)用程序為首次啟動,在系統(tǒng)日志存儲目錄中,新建目標應(yīng)用程序?qū)?yīng)的應(yīng)用日志存儲目錄,并將應(yīng)用日志存儲目錄對應(yīng)的存儲區(qū)確定為目標應(yīng)用程序?qū)?yīng)的日志存儲區(qū);在應(yīng)用日志存儲目錄中,生成目標應(yīng)用程序本次啟動后對應(yīng)的日志文件,并將日志文件確定為日志記錄對象。
7、在一個可能的實施方式中,在基于啟動次數(shù),生成日志記錄對象對應(yīng)的生成序號之后,方法還包括:將生成序號添加到日志文件的文件名中。
8、在一個可能的實施方式中,記錄目標運行對象當前的啟動次數(shù),包括:在針對目標運行對象累計的歷史啟動次數(shù)的基礎(chǔ)上加一,得到啟動次數(shù);基于啟動次數(shù),生成日志記錄對象對應(yīng)的生成序號,包括:若啟動次數(shù)達到預(yù)設(shè)的最大啟動次數(shù),將啟動次數(shù)設(shè)為預(yù)設(shè)的初始啟動次數(shù),并將初始啟動次數(shù)確定為日志記錄對象對應(yīng)的生成序號;若啟動次數(shù)未達到預(yù)設(shè)的最大啟動次數(shù),將啟動次數(shù)確定為日志記錄對象對應(yīng)的生成序號。
9、在一個可能的實施方式中,基于日志存儲區(qū)中的每個日志記錄對象的生成序號,從日志存儲區(qū)中,確定生成時刻最早的目標日志記錄對象,包括:確定日志存儲區(qū)中是否存在生成序號大于當前的啟動次數(shù)的至少一個待刪除日志記錄對象;若存在,將至少一個待刪除日志記錄對象中,生成序號最小的日志記錄對象確定為目標日志記錄對象;若不存在,將日志存儲區(qū)中生成序號最小的日志記錄對象確定為目標日志記錄對象。
10、第二方面,本申請實施例提供一種日志清理裝置,該裝置包括:確定模塊,用于響應(yīng)于確定目標運行對象對應(yīng)的日志存儲區(qū)內(nèi)的數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量閾值,確定日志存儲區(qū)中的每個日志記錄對象對應(yīng)的生成序號,其中,生成序號為在生成日志記錄對象時,對日志記錄對象的生成次序進行記錄得到;刪除模塊,用于執(zhí)行如下刪除步驟:基于日志存儲區(qū)中的每個日志記錄對象的生成序號,從日志存儲區(qū)中,確定生成時刻最早的目標日志記錄對象,并刪除目標日志記錄對象;判斷模塊,用于若刪除目標日志記錄對象后,日志存儲區(qū)內(nèi)當前的數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量閾值,且日志存儲區(qū)內(nèi)的日志記錄對象的數(shù)量大于或等于預(yù)設(shè)數(shù)量閾值,重新執(zhí)行刪除步驟。
11、第三方面,本申請實施例提供一種電子設(shè)備,包括:存儲器,用于存儲計算機程序;處理器,用于執(zhí)行存儲器中存儲的計算機程序,且計算機程序被執(zhí)行時,實現(xiàn)本申請上述第一方面的日志清理方法中任一實施例的方法。
12、第四方面,本申請實施例提供一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,計算機程序被處理器執(zhí)行時,實現(xiàn)如上述第一方面的日志清理方法中任一實施例的方法。
13、第五方面,本申請實施例提供一種計算機程序,計算機程序包括計算機可讀代碼,當計算機可讀代碼在設(shè)備上運行時,使得該設(shè)備中的處理器實現(xiàn)如上述第一方面的日志清理方法中任一實施例的方法。
14、本申請實施例提供的日志清理方法、裝置、電子設(shè)備及存儲介質(zhì),通過在目標運行對象對應(yīng)的日志存儲區(qū)內(nèi)的數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量閾值時,確定日志存儲區(qū)中的每個日志記錄對象對應(yīng)的生成序號,然后根據(jù)生成序號,依次從日志存儲區(qū)中確定生成時刻最早的目標日志記錄對象,并刪除目標日志記錄對象,在符合清理結(jié)束條件時停止清理。本申請實施例實現(xiàn)了根據(jù)生成序號判斷日志記錄對象生成的時間先后順序,可以有效避免使用標準時間順序進行日志清理導(dǎo)致的日志記錄對象的生成時間排序混亂,從而在日志清理時,保留下來的日志記錄對象為最近生成的,降低將某些日志記錄對象誤刪除的風(fēng)險。
1.一種日志清理方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述響應(yīng)于確定目標運行對象對應(yīng)的日志存儲區(qū)內(nèi)的數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量閾值,確定所述日志存儲區(qū)中的每個日志記錄對象對應(yīng)的生成序號之前,所述方法還包括:
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述響應(yīng)于所述目標運行對象啟動,生成本次啟動對應(yīng)的日志記錄對象,并將新生成的日志記錄對象存儲到所述目標運行對象對應(yīng)的日志存儲區(qū)中,包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在所述基于所述啟動次數(shù),生成所述日志記錄對象對應(yīng)的生成序號之后,所述方法還包括:
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述響應(yīng)于所述目標運行對象啟動,生成本次啟動對應(yīng)的日志記錄對象,并將新生成的日志記錄對象存儲到所述目標運行對象對應(yīng)的日志存儲區(qū)中,包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,在所述基于所述啟動次數(shù),生成所述日志記錄對象對應(yīng)的生成序號之后,所述方法還包括:
7.根據(jù)權(quán)利要求2-6任一項所述的方法,其特征在于,所述記錄所述目標運行對象當前的啟動次數(shù),包括:
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,所述基于所述日志存儲區(qū)中的每個日志記錄對象的生成序號,從所述日志存儲區(qū)中,確定生成時刻最早的目標日志記錄對象,包括:
9.一種日志清理裝置,其特征在于,所述裝置包括:
10.一種電子設(shè)備,其特征在于,包括:
11.一種計算機可讀存儲介質(zhì),其上存儲有計算機程序,其特征在于,所述計算機程序被處理器執(zhí)行時,實現(xiàn)上述權(quán)利要求1-8任一所述的日志清理方法。