本發(fā)明實施例涉及計算機技術(shù),尤其涉及一種日志存儲方法及裝置。
背景技術(shù):
日志是記錄電子設(shè)備中硬件、軟件和系統(tǒng)問題的信息,同時還可以監(jiān)視系統(tǒng)中發(fā)生的事件。用戶可以通過它來判斷、檢查錯誤發(fā)生的原因等。
在電子設(shè)備的生產(chǎn)過程中,測試人員對電子設(shè)備進行測試時,若發(fā)現(xiàn)該電子設(shè)備存在異常時,通常會把異常出現(xiàn)時候的日志,以及出現(xiàn)異常后的現(xiàn)象拍攝為照片一并發(fā)送給研發(fā)人員,以便研發(fā)人員能夠?qū)Ξ惓.a(chǎn)生的原因進行診斷。但是通常由于日志中記載內(nèi)容過少,研發(fā)人員常常無法僅根據(jù)日志分析異常產(chǎn)生的原因,更多的還需要結(jié)合當(dāng)時測試人員具體執(zhí)行了哪些操作,執(zhí)行各操作的先后順序以及在執(zhí)行各操作后設(shè)備的響應(yīng)情況等進行綜合判斷。但是往往測試人員無法全部回憶起當(dāng)時執(zhí)行了哪些操作、執(zhí)行各操作的先后順序以及在執(zhí)行各操作后設(shè)備的響應(yīng)情況等。無疑,這會使的電子設(shè)備性能改善、提升受限。
技術(shù)實現(xiàn)要素:
本發(fā)明提供一種日志存儲方法及裝置,以達到為研發(fā)人員分析異常產(chǎn)生原因提供完善的數(shù)據(jù)依據(jù)的目的。
第一方面,本發(fā)明實施例提供了一種日志存儲方法,該日志存儲方法包括:
接收日志數(shù)據(jù)并保存;
以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存;
將所述日志數(shù)據(jù)與所述畫面截圖時間進行關(guān)聯(lián)。
進一步地,所述以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存包括:
以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,并記錄每一次圖像截取時間,得到畫面截圖并保存,所述畫面截圖名稱包括所述圖像截取時間。
進一步地,所述日志數(shù)據(jù)包括所述日志數(shù)據(jù)的生成時間;
所述將所述日志數(shù)據(jù)與所述畫面截圖時間進行關(guān)聯(lián)包括,根據(jù)所述日志數(shù)據(jù)的生成時間以及所述畫面截圖的圖像截取時間,在所述日志數(shù)據(jù)中插入指向所述畫面截圖存儲地址的命令信息。
進一步地,所述以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存包括:
判斷當(dāng)前系統(tǒng)是否異常;
若當(dāng)前系統(tǒng)異常,從系統(tǒng)異常時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
進一步地,所述以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存包括:
檢測所述日志數(shù)據(jù)是否包括表征系統(tǒng)異常的關(guān)鍵詞;
若檢測到所述日志內(nèi)容包括所述關(guān)鍵詞,從首次檢測到所述關(guān)鍵詞時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
第二方面,本發(fā)明實施例還提供了一種日志存儲裝置,該日志存儲裝置包括:
日志數(shù)據(jù)保存模塊,用于接收日志數(shù)據(jù)并保存;
畫面截圖獲取模塊,用于以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存;
時間關(guān)聯(lián)模塊,用于將所述日志數(shù)據(jù)與所述畫面截圖時間進行關(guān)聯(lián)。
進一步地,所述畫面截圖獲取模塊具體用于:
以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,并記錄每一次圖像截取時間,得到畫面截圖并保存,所述畫面截圖名稱包括所述圖像截取時間。
進一步地,所述日志數(shù)據(jù)包括所述日志數(shù)據(jù)的生成時間;
所述時間關(guān)聯(lián)模塊具體用于,根據(jù)所述日志數(shù)據(jù)的生成時間以及所述畫面截圖的圖像截取時間,在所述日志數(shù)據(jù)中插入指向所述畫面截圖存儲地址的命令信息。
進一步地,所述畫面截圖獲取模塊具體用于:
判斷當(dāng)前系統(tǒng)是否異常;
若當(dāng)前系統(tǒng)異常,從系統(tǒng)異常時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
進一步地,所述畫面截圖獲取模塊具體用于:
檢測所述日志數(shù)據(jù)是否包括表征系統(tǒng)異常的關(guān)鍵詞;
若檢測到所述日志內(nèi)容包括所述關(guān)鍵詞,從首次檢測到所述關(guān)鍵詞時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
本發(fā)明實施例通過以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存,將所述日志數(shù)據(jù)與所述畫面截圖時間進行關(guān)聯(lián),這樣研發(fā)人員在接收到測試人員發(fā)送的日志文件時,由于日志文件包括日志數(shù)據(jù)以及畫面截圖相關(guān)信息,研發(fā)人員可以根據(jù)日志文件內(nèi)容,獲知測試人員在測試時先后執(zhí)行了哪些操作,以及在各操作執(zhí)行完畢后設(shè)備的響應(yīng)情況,進而據(jù)此對異常產(chǎn)生的原因進行診斷,解決了利用現(xiàn)有的日志存儲方法存儲的日志信息包括內(nèi)容過少,致使研發(fā)人員常常無法根據(jù)日志分析異常產(chǎn)生的原因的問題,達到了為研發(fā)人員分析異常產(chǎn)生原因提供完善的數(shù)據(jù)依據(jù)的目的。
附圖說明
圖1是本發(fā)明實施例一提供的一種日志存儲方法的流程圖;
圖2a示例性地給出了一幅畫面截圖的相關(guān)信息;
圖2b為圖2a對應(yīng)的畫面截圖的內(nèi)容;
圖3是本發(fā)明實施例二提供的一種日志存儲方法的流程圖;
圖4是本發(fā)明實施例三提供的一種日志存儲裝置的結(jié)構(gòu)框圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明作進一步的詳細說明??梢岳斫獾氖?,此處所描述的具體實施例僅僅用于解釋本發(fā)明,而非對本發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明相關(guān)的部分而非全部結(jié)構(gòu)。
實施例一
圖1為本發(fā)明實施例一提供的日志存儲方法的流程圖,本實施例可適用于對電子設(shè)備進行測試的情況,該方法可以由電子設(shè)備單獨來執(zhí)行,這里電子設(shè)備具體可以為手機、電腦、智能可穿戴設(shè)備以及公共大廳的信息查詢機等具有圖像顯示功能的設(shè)備。該日志存儲方法適用于內(nèi)核日志(kernel log)和安卓日志(android log)存儲等。該日志存儲方法具體包括如下步驟:
S110、接收日志數(shù)據(jù)并保存。
日志數(shù)據(jù)是設(shè)備在運行時產(chǎn)生的一個叫l(wèi)og的事件記錄信息,每一行日志都記載著日期、時間、使用者以及使用者利用該設(shè)備執(zhí)行的操作等描述信息。這里使用者可以為設(shè)備的測試人員。
接收日志數(shù)據(jù)并保存具體可以指,在對設(shè)備進行測試時,將使用者利用設(shè)備執(zhí)行的操作的相關(guān)信息記錄為日志數(shù)據(jù),并將該日志數(shù)據(jù)保存到本地文件中。
可選地,在具體設(shè)置是,可以設(shè)置開機時啟動日志記錄功能,也可以設(shè)置在使用者手動點擊用于啟動日志記錄功能的圖標(biāo)后,啟動日志記錄功能。進一步地,在對日志數(shù)據(jù)進行保存時,可以將日志數(shù)據(jù)存儲于使用者設(shè)置的日志數(shù)據(jù)存儲路徑中,也可以采用系統(tǒng)默認日志存儲路徑對日志數(shù)據(jù)進行存儲。
S120、以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
時間間隔是指連續(xù)兩次對設(shè)備顯示畫面進行圖像截取的時間差。在具體設(shè)置時,連續(xù)兩次對設(shè)備顯示畫面進行圖像截取的時間差可以相同也可以不同。時間間隔的設(shè)定方法可以有多種,例如可以由使用者自行設(shè)定,也可以采用系統(tǒng)默認值。
本步驟具體實現(xiàn)方法可以為,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,將每一次通過圖像截取得到的畫面截圖保存到本地文件中。進一步地,在對該畫面截圖進行保存時,畫面截圖名稱可以包括圖像截取時間。這樣設(shè)置的好處是,可以根據(jù)畫面截圖的名稱確定畫面截圖的截取時間,進而根據(jù)畫面截圖的截取時間進行進一步操作。
可選地,在具體設(shè)置時,可以設(shè)置開機時啟動對設(shè)備顯示畫面進行圖像截取功能,也可以在接收到圖像截取指令后,啟動對設(shè)備顯示畫面進行圖像截取的功能。這里圖像截取指令包括設(shè)備系統(tǒng)自動生成的圖像截取指令,也可以為使用者通過點擊設(shè)備的某些按鍵或圖標(biāo)而生成的圖像截取指令。進一步地,在對日志數(shù)據(jù)進行保存時,可以將畫面截圖存儲于使用者設(shè)置的畫面截圖存儲路徑中,也可以采用系統(tǒng)默認畫面截圖路徑對畫面截圖進行存儲。需要說明的是,畫面截圖存儲路徑與日志數(shù)據(jù)存儲路徑可以相同,也可以不同。
在具體截圖時,可以直接調(diào)用shell命令進行截圖。示例性地,可以用于對設(shè)備顯示圖像進行截圖的命令為:
root@X82:/#screencap-p/data/2016-12-28-172426.jpg
screencap-p/data/2016-12-28-172426.jpg。
圖2a示例性地給出了一幅畫面截圖的相關(guān)信息,圖2b為圖2a對應(yīng)的畫面截圖的內(nèi)容。
S130、將日志數(shù)據(jù)與畫面截圖時間進行關(guān)聯(lián)。
將日志數(shù)據(jù)與畫面截圖時間進行關(guān)聯(lián)實質(zhì)上,是確定每一行日志記錄的操作執(zhí)行與所得到的每一幅畫面截圖截取的先后順序。
本步驟具體實現(xiàn)方法可以有多種,例如,在記錄每一行日志時,相應(yīng)地對設(shè)備當(dāng)前顯示畫面進行截圖,每一行日志與用于指向每一幅畫面截圖的存儲地址的命令按照發(fā)生時間先后順序依次存儲,或者按照發(fā)生時間先后順序為每一行日志與用于指向每一幅畫面截圖的存儲地址的命令進行編號。
典型地,日志數(shù)據(jù)包括日志數(shù)據(jù)的生成時間;將日志數(shù)據(jù)與畫面截圖時間進行關(guān)聯(lián)包括,根據(jù)日志數(shù)據(jù)的生成時間以及畫面截圖的圖像截取時間,在日志數(shù)據(jù)中插入指向畫面截圖存儲地址的命令信息。示例性地,將用于指向每一幅畫面截圖的存儲地址的命令插入的日志數(shù)據(jù)后,該日志數(shù)據(jù)可以為:
[52.631170]<2>.(2)[240:healthd]healthd:send_already=0
[52.631170]screencap-p/data/2016-12-28-172426.jpg
[52.634820]<2>.(2)[240:healthd]healthd:Unkown battery status‘3’。
表示用于指向第52.63秒截取的,名稱為2016-12-28-172426.jpg的畫面截圖的存儲地址的命令插入到日志數(shù)據(jù)中。
本發(fā)明實施例通過以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存,將日志數(shù)據(jù)與畫面截圖時間進行關(guān)聯(lián),這樣研發(fā)人員在接收到測試人員發(fā)送的日志文件時,由于日志文件包括日志數(shù)據(jù)以及畫面截圖相關(guān)信息,研發(fā)人員可以根據(jù)日志文件內(nèi)容,獲知測試人員在測試時先后執(zhí)行了哪些操作,以及在各操作執(zhí)行完畢后設(shè)備的響應(yīng)情況,并據(jù)此對異常產(chǎn)生的原因進行診斷,解決了利用現(xiàn)有的日志存儲方法存儲的日志信息包括內(nèi)容過少,致使研發(fā)人員常常無法根據(jù)日志分析異常產(chǎn)生的原因的問題,達到了為研發(fā)人員分析異常產(chǎn)生原因提供完善的數(shù)據(jù)依據(jù)的目的。
實施例二
圖3為本發(fā)明實施例二提供的一種日志存儲方法的流程圖。本實施例提供的日志存儲方法為實施例一提供的日志存儲方法的一個具體示例。參見圖3,該日志存儲方法包括:
S110、接收日志數(shù)據(jù)并保存。
S210、判斷當(dāng)前系統(tǒng)是否異常,若當(dāng)前系統(tǒng)異常,從系統(tǒng)異常時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
判斷當(dāng)前系統(tǒng)是否異常的方法有多種,例如判斷上層發(fā)生軟件的系統(tǒng)是否開始強制關(guān)閉各種服務(wù),若是說明此時設(shè)備出現(xiàn)異常,設(shè)備系統(tǒng)自動生成的圖像截取指令,在該圖像截取指令的控制下,設(shè)備以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
或者,檢測日志數(shù)據(jù)是否包括表征系統(tǒng)異常的關(guān)鍵詞;若檢測到日志內(nèi)容包括該關(guān)鍵詞,從首次檢測到關(guān)鍵詞時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。該關(guān)鍵詞可以為“fail”或“error”等詞。
S130、將日志數(shù)據(jù)與畫面截圖時間進行關(guān)聯(lián)。
本實施例技術(shù)方案實質(zhì)是僅在系統(tǒng)出現(xiàn)異常時,開始對設(shè)備顯示畫面進行截圖,可以有效降低設(shè)備的功耗,另外,由于在系統(tǒng)處于非異常情況時并未對設(shè)備顯示畫面進行截圖,可以有效降低需保存的畫面截圖的數(shù)量,減小非必要的畫面截圖占據(jù)的設(shè)備的存儲空間。
在上述技術(shù)方案的基礎(chǔ)上,為了防止當(dāng)畫面截圖數(shù)量達到一定程度時,設(shè)備的存儲空間中無法繼續(xù)容納新的畫面截圖的不良現(xiàn)象產(chǎn)生,可選地,可以預(yù)設(shè)設(shè)備可容納畫面截圖的數(shù)量以及畫面截圖的大小,當(dāng)設(shè)備某一時刻存儲的畫面截圖的數(shù)量等于預(yù)設(shè)的設(shè)備可容納畫面截圖的數(shù)量時,自動刪除最早存儲的一幅的畫面截圖,以保留最新一幅的畫面截圖。
為了進一步控制畫面截圖的大小,可選地,對畫面截圖的分辨率進行設(shè)定。示例性地,設(shè)置某設(shè)備畫面截圖的分辨率為720P,這樣1000張畫面截圖需要占據(jù)的存儲空間為約為700M。如果設(shè)置每隔1秒對設(shè)備當(dāng)前顯示畫面截取一次,1000張畫面截圖需要大約20分鐘方可獲得。而對于一般設(shè)備系統(tǒng)異常而言,1000張畫面截圖可以反映該系統(tǒng)異常前大約20分鐘的操作情況,這足以滿足研發(fā)人員對異常產(chǎn)生原因進分析的需求。
實施例三
圖4為本發(fā)明實施例三提供的一種日志存儲裝置的結(jié)構(gòu)框圖。參見圖4,該日志存儲裝置包括日志數(shù)據(jù)保存模塊310、畫面截圖獲取模塊320以及時間關(guān)聯(lián)模塊330。具體地,
日志數(shù)據(jù)保存模塊310,用于接收日志數(shù)據(jù)并保存;
畫面截圖獲取模塊320,用于以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存;
時間關(guān)聯(lián)模塊330,用于將日志數(shù)據(jù)與畫面截圖時間進行關(guān)聯(lián)。
本發(fā)明實施例提供的日志存儲裝置通過以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存,將日志數(shù)據(jù)與畫面截圖時間進行關(guān)聯(lián),這樣研發(fā)人員在接收到測試人員發(fā)送的日志文件時,由于日志文件包括日志數(shù)據(jù)以及畫面截圖相關(guān)信息,研發(fā)人員可以根據(jù)日志文件內(nèi)容,獲知測試人員在測試時先后執(zhí)行了哪些操作,以及在各操作執(zhí)行完畢后設(shè)備的響應(yīng)情況,進而據(jù)此對異常產(chǎn)生的原因進行診斷,解決了利用現(xiàn)有的日志存儲方法存儲的日志信息包括內(nèi)容過少,致使研發(fā)人員常常無法根據(jù)日志分析異常產(chǎn)生的原因的問題,達到了為研發(fā)人員分析異常產(chǎn)生原因提供完善的數(shù)據(jù)依據(jù)的目的。
進一步地,畫面截圖獲取模塊320具體用于:
以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,并記錄每一次圖像截取時間,得到畫面截圖并保存,畫面截圖名稱包括圖像截取時間。
進一步地,日志數(shù)據(jù)包括日志數(shù)據(jù)的生成時間;
時間關(guān)聯(lián)模塊330具體用于,根據(jù)日志數(shù)據(jù)的生成時間以及畫面截圖的圖像截取時間,在日志數(shù)據(jù)中插入指向畫面截圖存儲地址的命令信息。
進一步地,畫面截圖獲取模塊320具體用于:
判斷當(dāng)前系統(tǒng)是否異常;
若當(dāng)前系統(tǒng)異常,從系統(tǒng)異常時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
進一步地,畫面截圖獲取模塊320具體用于:
檢測日志數(shù)據(jù)是否包括表征系統(tǒng)異常的關(guān)鍵詞;
若檢測到日志內(nèi)容包括關(guān)鍵詞,從首次檢測到關(guān)鍵詞時刻開始,以設(shè)定時間間隔對設(shè)備顯示畫面進行圖像截取,得到畫面截圖并保存。
上述產(chǎn)品可執(zhí)行本發(fā)明任意實施例所提供的方法,具備執(zhí)行方法相應(yīng)的功能模塊和有益效果。
注意,上述僅為本發(fā)明的較佳實施例及所運用技術(shù)原理。本領(lǐng)域技術(shù)人員會理解,本發(fā)明不限于這里所述的特定實施例,對本領(lǐng)域技術(shù)人員來說能夠進行各種明顯的變化、重新調(diào)整和替代而不會脫離本發(fā)明的保護范圍。因此,雖然通過以上實施例對本發(fā)明進行了較為詳細的說明,但是本發(fā)明不僅僅限于以上實施例,在不脫離本發(fā)明構(gòu)思的情況下,還可以包括更多其他等效實施例,而本發(fā)明的范圍由所附的權(quán)利要求范圍決定。