本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種日志文件的讀寫方法、裝置及系統(tǒng)。
背景技術(shù):
日志文件是應(yīng)用系統(tǒng)操作事件的記錄文件或文件集合,包含整個應(yīng)用系統(tǒng)的運行日志、故障日志等,由多條日志記錄構(gòu)成,日志文件的記錄及讀取對于應(yīng)用系統(tǒng)的維護及問題的檢測至關(guān)重要。
目前,在對手機進行檢測或維修時都需要在手機處于開機的狀態(tài)下,從手機中讀取日志文件,以便對手機進行故障檢測及維修。然而,面對無法開機的故障手機,若要得到手機中保存的日志文件,最好的方案是回讀手機的整個userdata分區(qū),但隨著技術(shù)的進步,手機的容量越來越大,例如,64g、128g,回讀整個userdata分區(qū)所需要的時間過長,需要等待較長的時間,讀取日志文件的效率較低。
技術(shù)實現(xiàn)要素:
本發(fā)明的主要目的在于提供一種日志文件的讀寫方法、裝置及系統(tǒng),旨在解決現(xiàn)有技術(shù)中在手機出現(xiàn)故障無法開機時,需要通過回讀手機的整個userdata分區(qū)的方式讀取日志文件,帶來所需要的時間長,讀取效率低的技術(shù)問題。
為實現(xiàn)上述目的,本發(fā)明第一方面提供一種日志文件的寫入方法,該方法包括:
若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間;
獲取在所述第一存儲空間保存所述日志文件的存儲信息;
將所述存儲信息保存至預(yù)置的第二存儲空間,以便在所述移動終端處于關(guān)機狀態(tài)時,利用所述第二存儲空間保存的所述存儲信息從所述第一存儲空間讀取所述日志文件。
為實現(xiàn)上述目的,本發(fā)明第二方面提供一種日志文件的讀取方法,該方法包括:
在與處于關(guān)機狀態(tài)的移動終端連接之后,從預(yù)置的第二存儲空間獲取日志文件在預(yù)置的第一存儲空間保存時的存儲信息;
利用所述存儲信息讀取所述日志文件。
為實現(xiàn)上述目的,本發(fā)明第三方面提供一種移動終端,該移動終端包括:
第一保存模塊,用于若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間;
獲取模塊,用于獲取在所述第一存儲空間保存所述日志文件的存儲信息;
第二保存模塊,用于將所述存儲信息保存至預(yù)置的第二存儲空間,以便在所述移動終端處于關(guān)機狀態(tài)時,利用所述第二存儲空間保存的所述存儲信息從所述第一存儲空間讀取所述日志文件。
為實現(xiàn)上述目的,本發(fā)明第四方面提供一種日志文件的讀取裝置,該裝置包括:
獲取模塊,用于在與處于關(guān)機狀態(tài)的移動終端連接之后,從預(yù)置的第二存儲空間獲取日志文件在預(yù)置的第一存儲空間保存時的存儲信息;
讀取模塊,用于利用所述存儲信息讀取所述日志文件。
為實現(xiàn)上述目的,本發(fā)明第五方面提供一種日志文件的讀寫系統(tǒng),該系統(tǒng)包括第三方面的移動終端及第第方面的日志文件的讀取裝置。
本發(fā)明提供一種日志文件的讀寫方法,其中,寫入方法包括:若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間,獲取在該第一存儲空間中保存該日志文件的存儲信息,將該存儲信息保存至預(yù)置的第二存儲空間,以便在移動終端處于關(guān)機狀態(tài)時,能夠利用第二存儲空間保存的存儲信息從第一存儲空間讀取日志文件。此外,讀取方法包括:在與處于關(guān)機狀態(tài)的移動終端連接之后,從預(yù)置的第二存儲空間獲取日志文件在第一存儲空間保存時的存儲信息,利用該存儲信息讀取日志文件。相對于現(xiàn)有技術(shù),通過在移動終端中設(shè)置用于保存日志文件存儲時的存儲信息的第二存儲空間,使得在移動終端處于關(guān)機狀態(tài)時,能夠利用第二存儲空間中保存的存儲信息讀取日志文件,而不需要回讀整個userdata分區(qū),有效縮短日志文件讀取所需要的時間,提高讀取效率。
附圖說明
為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為一種移動終端的結(jié)構(gòu)框圖;
圖2為本發(fā)明第一實施例中日志文件的寫入方法的流程示意圖;
圖3為本發(fā)明第二實施例中日志文件的寫入方法的流程示意圖;
圖4為本發(fā)明第三實施例中日志文件的讀取方法的流程示意圖;
圖5為本發(fā)明第四實施例中移動終端的功能模塊的示意圖;
圖6為本發(fā)明第五實施例中移動終端的功能模塊的示意圖;
圖7為本發(fā)明第六實施例中日志文件的讀取裝置的功能模塊的示意圖;
圖8為本發(fā)明第七實施例中日志文件的讀寫系統(tǒng)的結(jié)構(gòu)示意圖。
具體實施方式
為使得本發(fā)明的發(fā)明目的、特征、優(yōu)點能夠更加的明顯和易懂,下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術(shù)方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而非全部實施例。基于本發(fā)明中的實施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
圖1示出了一種移動終端的結(jié)構(gòu)框圖。本發(fā)明實施例提供的日志文件的寫入方法可應(yīng)用于如圖1所示的移動終端10中,移動終端10可以但不限于包括:需依靠電池維持正常運行且支持網(wǎng)絡(luò)及下載功能的智能手機、筆記本、平板電腦、穿戴智能設(shè)備等。此外,移動終端10還可以與日志文件的讀取裝置一起,完成對日志文件的讀取。
如圖1所示,移動終端10包括存儲器101、存儲控制器102,一個或多個(圖中僅示出一個)處理器103、外設(shè)接口104、射頻模塊105、按鍵模塊106、音頻模塊107以及觸控屏幕108。這些組件通過一條或多條通訊總線/信號線109相互通訊。其中,所述存儲器101包含emmc(embeddedmultimediacard)。
可以理解,圖1所示的結(jié)構(gòu)僅為示意,其并不對移動終端的結(jié)構(gòu)造成限定。移動終端10還可包括比圖1所示更多或者更少的組件,或者具有與圖1所示不同的配置。圖1所示的各組件可以采用硬件、軟件或其組合實現(xiàn)。
存儲器101可用于存儲軟件程序以及模塊,如本發(fā)明實施例中的日志文件的寫入方法對應(yīng)的程序指令/模塊,處理器103通過運行存儲在存儲器101內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實現(xiàn)上述的日志文件的寫入方法。
存儲器101可包括高速隨機存儲器,還可包括非易失性存儲器,如一個或者多個磁性存儲裝置、閃存、或者其他非易失性固態(tài)存儲器。在一些實例中,存儲器101可進一步包括相對于處理器103遠程設(shè)置的存儲器,這些遠程存儲器可以通過網(wǎng)絡(luò)連接至移動終端10。上述網(wǎng)絡(luò)的實例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動通信網(wǎng)及其組合。處理器103以及其他可能的組件對存儲器101的訪問可在存儲控制器102的控制下進行。
外設(shè)接口104將各種輸入/輸入裝置耦合至cpu以及存儲器101。處理器103運行存儲器101內(nèi)的各種軟件、指令以執(zhí)行移動終端10的各種功能以及進行數(shù)據(jù)處理。
在一些實施例中,外設(shè)接口104,處理器103以及存儲控制器102可以在單個芯片中實現(xiàn)。在其他一些實例中,他們可以分別由獨立的芯片實現(xiàn)。
射頻模塊105用于接收以及發(fā)送電磁波,實現(xiàn)電磁波與電信號的相互轉(zhuǎn)換,從而與通訊網(wǎng)絡(luò)或者其他設(shè)備進行通訊。射頻模塊105可包括各種現(xiàn)有的用于執(zhí)行這些功能的電路元件,例如,天線、射頻收發(fā)器、數(shù)字信號處理器、加密/解密芯片、用戶身份模塊(sim)卡、存儲器等等。射頻模塊105可與各種網(wǎng)絡(luò)如互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、預(yù)置類型的無線網(wǎng)絡(luò)進行通訊或者通過預(yù)置類型的無線網(wǎng)絡(luò)與其他設(shè)備進行通訊。上述的預(yù)置類型的無線網(wǎng)絡(luò)可包括蜂窩式電話網(wǎng)、無線局域網(wǎng)或者城域網(wǎng)。上述的預(yù)置類型的無線網(wǎng)絡(luò)可以使用各種通信標準、協(xié)議及技術(shù),包括但并不限于全球移動通信系統(tǒng)(globalsystemformobilecommunication,gsm),增強型移動通信技術(shù)(enhanceddatagsmenvironment,edge),寬帶碼分多址技術(shù)(widebandcodedivisionmultipleaccess,w-cdma),碼分多址技術(shù)(codedivisionaccess,cdma),時分多址技術(shù)(timedivisionmultipleaccess,tdma),藍牙,無線保真技術(shù)(wireless-fidelity,wifi)(如美國電氣和電子工程師協(xié)會標準ieee802.11a、ieee802.11b、ieee802.11g和/或ieee802.11n),網(wǎng)絡(luò)電話(voiceoverinternetprotocal,voip),全球微波互聯(lián)接入(worldwideinteroperabilityformicrowaveaccess,wi-max),其他用于郵件、即時通訊及短消息的協(xié)議,以及任何其他合適的通訊協(xié)議。
按鍵模塊106提供用戶向移動終端進行輸入的接口,用戶可以通過按下不同的按鍵以使移動終端10執(zhí)行不同的功能。
音頻模塊107向用戶提供音頻接口,其可包括一個或多個麥克風、一個或者多個揚聲器以及音頻電路。音頻電路從外設(shè)接口104處接收聲音數(shù)據(jù),將聲音數(shù)據(jù)轉(zhuǎn)換為電信息,將電信息傳輸至揚聲器。揚聲器將電信息轉(zhuǎn)換為人耳能聽到的聲波。音頻電路還從麥克風處接收電信息,將電信號轉(zhuǎn)換為聲音數(shù)據(jù),并將聲音數(shù)據(jù)傳輸至外設(shè)接口104中以進行進一步的處理。音頻數(shù)據(jù)可以從存儲器101處或者通過射頻模塊105獲取。此外,音頻數(shù)據(jù)也可以存儲至存儲器101中或者通過射頻模塊105進行發(fā)送。在一些實例中,音頻模塊107還可包括一個耳機播孔,用于向耳機或者其他設(shè)備提供音頻接口。
觸控屏幕108在移動終端與用戶之間同時提供一個輸出及輸入界面。具體地,觸控屏幕108向用戶顯示視頻輸出,這些視頻輸出的內(nèi)容可包括文字、圖形、視頻、及其任意組合。一些輸出結(jié)果是對應(yīng)于一些用戶界面對象。觸控屏幕108還接收用戶的輸入,例如用戶的點擊、滑動等手勢操作,以便用戶界面對象對這些用戶的輸入做出響應(yīng)。檢測用戶輸入的技術(shù)可以是基于電阻式、電容式或者其他任意可能的觸控檢測技術(shù)。觸控屏幕108顯示單元的具體實例包括但并不限于液晶顯示器或發(fā)光聚合物顯示器。
基于上述移動終端描述本發(fā)明實施例中日志文件的寫入方法,并進一步描述本發(fā)明實施例中的日志文件讀取方法。
由于現(xiàn)有技術(shù)中在手機出現(xiàn)故障無法開機時,需要通過回讀手機的整個userdata分區(qū)的方式讀取日志文件,帶來所需要的時間長,讀取效率低的技術(shù)問題。
為了解決上述問題,本發(fā)明提出一種日志文件的讀寫方法、裝置及系統(tǒng),通過在移動終端中設(shè)置用于保存日志文件存儲時的存儲信息的第二存儲空間,使得在移動終端處于關(guān)機狀態(tài)時,能夠利用第二存儲空間中保存的存儲信息讀取日志文件,而不需要回讀整個userdata分區(qū),有效縮短日志文件讀取所需要的時間,提高讀取效率。
在本發(fā)明實施例中,日志文件的寫入方法是由移動終端實現(xiàn)的,日志文件的讀取方法是由日志文件的讀取裝置(以下簡稱:讀取裝置)實現(xiàn)的,該讀取裝置通常是指能夠用于對移動終端進行檢測及維修的設(shè)備,即可以在移動終端無法開機的情況下,通過本發(fā)明實施例中的技術(shù)方案從移動終端中讀取日志文件,以便對日志文件進行分析,確定移動終端的故障原因,并進一步的對故障進行處理。
請參閱圖2,為本發(fā)明第一實施例中日志文件的寫入方法的流程示意圖,該寫入方法包括:
步驟201、若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間;
步驟202、獲取在所述第一存儲空間保存所述日志文件的存儲信息;
步驟203、將所述存儲信息保存至預(yù)置的第二存儲空間,以便在所述移動終端處于關(guān)機狀態(tài)時,利用所述第二存儲空間保存的所述存儲信息從所述第一存儲空間讀取所述日志文件。
在本發(fā)明實施例中,移動終端內(nèi)至少包含兩種用于存儲數(shù)據(jù)的存儲空間,例如:用于保存日志文件的第一存儲空間,及用于保存日志文件在第一存儲空間的存儲信息的第二存儲空間,其中,該第一存儲空間及第二存儲空間都是預(yù)先設(shè)置的,且該第二存儲空間的大小可以根據(jù)需要設(shè)置。此外,該第二存儲空間可以是在移動終端的存儲器中劃分出來的部分存儲空間,該部分存儲空間專門用于存放日志文件在第一存儲空間保存時的存儲信息;或者,還可以通過對移動終端的存儲空間進行改進的方式,增加存儲空間的大小,并將增加的存儲空間作為上述的第一存儲空間,例如,可以通過優(yōu)化emmc芯片級電路的方式,在emmc芯片級電路中增加新的存儲芯片,并將該新的存儲芯片作為第二存儲空間使用。在本發(fā)明實施例中,通過設(shè)置用于保存日志文件在第一存儲空間的存儲信息的第二存儲空間,使得能夠利用第二存儲空間中保存的存儲信息讀取日志文件,而不需要通過回讀的方式查找到想要的日志文件,再進行讀取,使得能夠有效的加快日志文件的讀取,提高讀取效率。
在本發(fā)明實施例中,移動終端處于運行狀態(tài)時,系統(tǒng)將生成日志文件,若檢測到有日志文件生成,移動終端將生成的日志文件保存至預(yù)置的第一存儲空間。其中,該日志文件可以是一個日志文件,或者是多個日志文件。且該日志文件可以是一次產(chǎn)生的所有日志文件,例如,若移動終端的操作系統(tǒng)在運行過程中,突然出現(xiàn)死機現(xiàn)象,此時,該該操作系統(tǒng)將生成日志文件,移動終端在檢測到有日志文件生成時,將生成日志文件的寫入指令,并按照該指令,將生成的日志文件保存至預(yù)置的第一存儲空間,且此次操作系統(tǒng)發(fā)生故障帶來的死機,若將生成多個日志文件,則該多個日志文件將按照順序依次寫入第一存儲空間。
在本發(fā)明實施例中,移動終端在完成對日志文件的保存之后,將獲取此次在第一存儲空間保存日志文件的存儲信息。
其中,該存儲信息包含此次在第一存儲空間中保存日志文件的起始地址與該保存的日志文件的數(shù)據(jù)大小之間的映射關(guān)系。例如,若此次只保存了一個日志文件a,則存儲信息為該日志文件a在第一存儲空間中的起始地址b與該日志文件a的大小c之間的映射關(guān)系,若此次保存了日志文件a-e,且是按照a-e的順序依次存儲的,則存儲信息為日志文件a的起始地址與日志文件a-e的數(shù)據(jù)大小之間的映射關(guān)系。
其中,第二存儲空間可以用于存儲至少一個存儲信息。
在本發(fā)明實施例中,在獲取到在第一存儲空間保存日志文件的存儲信息之后,移動終端將該存儲信息保存至預(yù)置的第二存儲空間,以便在移動終端處于關(guān)機狀態(tài)時,能夠利用該第二存儲空間中保存的存儲信息從該第一存儲空間讀取日志文件。
在本發(fā)明實施例中,若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間,獲取在該第一存儲空間中保存該日志文件的存儲信息,將該存儲信息保存至預(yù)置的第二存儲空間,以便在移動終端處于關(guān)機狀態(tài)時,能夠利用第二存儲空間保存的存儲信息從第一存儲空間讀取日志文件。通過在移動終端中設(shè)置用于保存日志文件存儲時的存儲信息的第二存儲空間,使得在移動終端處于關(guān)機狀態(tài)時,能夠利用第二存儲空間中保存的存儲信息讀取日志文件,而不需要回讀整個userdata分區(qū),有效縮短日志文件讀取所需要的時間,提高讀取效率。
請參與圖3,為本發(fā)明第二實施例中日志文件的寫入方法的流程示意圖,該寫入方法包括:
步驟301、若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間;
步驟302、獲取在所述第一存儲空間保存所述日志文件的存儲信息;
步驟303、確定所述第二存儲空間的剩余存儲大小是否滿足所述存儲信息的存儲需求;執(zhí)行步驟304或步驟305;
步驟304、若不滿足,則按照保存時間從前至后的順序刪除所述第二存儲空間中已保存的存儲信息,直至所述剩余存儲大小滿足所述存儲信息的存儲需求,并將所述存儲信息保存至所述第二存儲空間;
步驟305、若滿足,則將所述存儲信息保存至所述第二存儲空間。
在本發(fā)明實施例中,上述步驟301及步驟302分別與第一實施例中步驟201及步驟202描述的內(nèi)容相同,此處不做贅述。
在本發(fā)明實施例中,移動終端在獲取到此次保存的日志文件的存儲信息之后,將確定第二存儲空間的剩余存儲大小是否滿足該存儲信息的存儲需求,其中,若該剩余存儲大小大于或等于該存儲信息的數(shù)據(jù)大小,則表明滿足存儲需求,若該剩余存儲大小小于該存儲信息的數(shù)據(jù)大小,則表明不滿足存儲需求。
其中,若滿足,則將存儲信息保存至第二存儲空間。
其中,若不滿足,則將刪除第二存儲空間中的部分已保存的存儲信息,具體的,按照保存時間從前至后的順序刪除第二存儲空間中已保存的存儲信息,直至第二存儲空間的剩余存儲大小滿足該存儲信息的存儲需求,并將該存儲信息保存至該第二存儲空間。其中,通過按照保存時間從前至后的順序刪除已保存的存儲信息是一種循環(huán)存儲的方式,即第二存儲空間中保存的存儲信息均為最近的存儲信息。
在本發(fā)明實施例中,在獲取日志文件的存儲信息之后,將確定第二存儲空間的剩余存儲大小是否滿足該存儲信息的存儲需求,若不滿足,則通過按照保存時間從前至后的順序刪除第二存儲空間中已保存的存儲信息,且直至剩余存儲大小滿足存儲需求的方式,使得能夠由足夠的剩余存儲空間存儲獲取的存儲信息,使得第二存儲空間能夠通過循環(huán)存儲的方式保存最近的存儲信息。
可以理解的是,上述第一實施例及第二實施例中是從移動終端側(cè)描述的日志文件的寫入方法,在日志文件寫入之后,若需要從移動終端中讀出該日志文件,且該移動終端處于關(guān)機狀態(tài)時,則需要利用本發(fā)明實施例中的日志文件讀取方法實現(xiàn)日志文件的讀取,具體的,請參閱圖4,為本發(fā)明第三實施例中日志文件的讀取方法的流程示意圖,該方法包括:
步驟401、在與處于關(guān)機狀態(tài)的移動終端連接之后,從預(yù)置的第二存儲空間獲取日志文件在預(yù)置的第一存儲空間保存時的存儲信息;
步驟402、利用所述存儲信息讀取所述日志文件。
在本發(fā)明實施例中,若需要讀取處于關(guān)機狀態(tài)的移動終端內(nèi)的日志文件時,需要將本發(fā)明實施例中的讀取裝置與該移動終端連接,且在連接之后,該讀取裝置將從預(yù)置的第二存儲空間獲取日志文件在預(yù)置的第一存儲空間保存時的存儲信息,并利用該存儲信息讀取該日志文件。
其中,存儲信息中包含日志文件在第一存儲空間保存時的起始地址與日志文件的數(shù)據(jù)大小之間的映射關(guān)系,則上述步驟402具體用于:從第一存儲空間的起始地址開始讀取數(shù)據(jù),直至已讀取的數(shù)據(jù)等于該映射關(guān)系中的數(shù)據(jù)大小,則表明已經(jīng)讀取出完整的日志文件,完成了日志文件的讀取。
在本發(fā)明實施例中,通過在移動終端內(nèi)設(shè)置第二存儲空間,且利用該第二存儲空間存儲保存日志文件時,該日志文件的存儲信息,使得能夠利用該第二存儲空間中的存儲信息讀取日志文件,而不需要通過回讀整個userdata分區(qū)的方式讀取日志文件,能夠有效縮短讀取日志文件所消耗的時間,提高讀取效率。
請參閱圖5,為本發(fā)明第四實施例中移動終端的功能模塊的示意圖,該移動終端包括:
第一保存模塊501,用于若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間;
獲取模塊502,用于獲取在所述第一存儲空間保存所述日志文件的存儲信息;
第二保存模塊503,用于將所述存儲信息保存至預(yù)置的第二存儲空間,以便在所述移動終端處于關(guān)機狀態(tài)時,利用所述第二存儲空間保存的所述存儲信息從所述第一存儲空間讀取所述日志文件。
在本發(fā)明實施例中,移動終端內(nèi)至少包含兩種用于存儲數(shù)據(jù)的存儲空間,例如:用于保存日志文件的第一存儲空間,及用于保存日志文件在第一存儲空間的存儲信息的第二存儲空間,其中,該第一存儲空間及第二存儲空間都是預(yù)先設(shè)置的,且該第二存儲空間的大小可以根據(jù)需要設(shè)置。此外,該第二存儲空間可以是在移動終端的存儲器中劃分出來的部分存儲空間,該部分存儲空間專門用于存放日志文件在第一存儲空間保存時的存儲信息;或者,還可以通過對移動終端的存儲空間進行改進的方式,增加存儲空間的大小,并將增加的存儲空間作為上述的第一存儲空間,例如,可以通過優(yōu)化emmc芯片級電路的方式,在emmc芯片級電路中增加新的存儲芯片,并將該新的存儲芯片作為第二存儲空間使用。在本發(fā)明實施例中,通過設(shè)置用于保存日志文件在第一存儲空間的存儲信息的第二存儲空間,使得能夠利用第二存儲空間中保存的存儲信息讀取日志文件,而不需要通過回讀的方式查找到想要的日志文件,再進行讀取,使得能夠有效的加快日志文件的讀取,提高讀取效率。
在本發(fā)明實施例中,移動終端處于運行狀態(tài)時,系統(tǒng)將生成日志文件,若檢測到有日志文件生成,第一保存模塊501將生成的日志文件保存至預(yù)置的第一存儲空間。其中,該日志文件可以是一個日志文件,或者是多個日志文件。且該日志文件可以是一次產(chǎn)生的所有日志文件,例如,若移動終端的操作系統(tǒng)在運行過程中,突然出現(xiàn)死機現(xiàn)象,此時,該該操作系統(tǒng)將生成日志文件,移動終端在檢測到有日志文件生成時,將生成日志文件的寫入指令,并按照該指令,將生成的日志文件保存至預(yù)置的第一存儲空間,且此次操作系統(tǒng)發(fā)生故障帶來的死機,若將生成多個日志文件,則該多個日志文件將按照順序依次寫入第一存儲空間。
在本發(fā)明實施例中,移動終端在完成對日志文件的保存之后,獲取模塊502將獲取此次在第一存儲空間保存日志文件的存儲信息。
其中,該存儲信息包含此次在第一存儲空間中保存日志文件的起始地址與該保存的日志文件的數(shù)據(jù)大小之間的映射關(guān)系。例如,若此次只保存了一個日志文件a,則存儲信息為該日志文件a在第一存儲空間中的起始地址b與該日志文件a的大小c之間的映射關(guān)系,若此次保存了日志文件a-e,且是按照a-e的順序依次存儲的,則存儲信息為日志文件a的起始地址與日志文件a-e的數(shù)據(jù)大小之間的映射關(guān)系。
其中,第二存儲空間可以用于存儲至少一個存儲信息。
在本發(fā)明實施例中,在獲取到在第一存儲空間保存日志文件的存儲信息之后,第二保存模塊503將該存儲信息保存至預(yù)置的第二存儲空間,以便在移動終端處于關(guān)機狀態(tài)時,能夠利用該第二存儲空間中保存的存儲信息從該第一存儲空間讀取日志文件。
在本發(fā)明實施例中,若檢測到有日志文件生成,則將生成的日志文件保存至預(yù)置的第一存儲空間,獲取在該第一存儲空間中保存該日志文件的存儲信息,將該存儲信息保存至預(yù)置的第二存儲空間,以便在移動終端處于關(guān)機狀態(tài)時,能夠利用第二存儲空間保存的存儲信息從第一存儲空間讀取日志文件。通過在移動終端中設(shè)置用于保存日志文件存儲時的存儲信息的第二存儲空間,使得在移動終端處于關(guān)機狀態(tài)時,能夠利用第二存儲空間中保存的存儲信息讀取日志文件,而不需要回讀整個userdata分區(qū),有效縮短日志文件讀取所需要的時間,提高讀取效率。
請參閱圖6,為本發(fā)明第五實施例中移動終端的功能模塊的示意圖,包括如圖5所示第四實施例中的第一保存模塊501、獲取模塊502及第二保存模塊503,且與第四實施例中描述的內(nèi)容一致,此處不做贅述。
在本發(fā)明實施例中,第二保存模塊503包括:
確定模塊601,用于確定所述第二存儲空間的剩余存儲大小是否滿足所述存儲信息的存儲需求;
刪除保存模塊602,用于若不滿足,則按照保存時間從前至后的順序刪除所述第二存儲空間中已保存的存儲信息,直至所述剩余存儲大小滿足所述存儲信息的存儲需求,并將所述存儲信息保存至所述第二存儲空間;
第三保存模塊603,用于若滿足,則將所述存儲信息保存至所述第二存儲空間。
在本發(fā)明實施例中,在獲取到此次保存的日志文件的存儲信息之后,確定模塊601將確定第二存儲空間的剩余存儲大小是否滿足該存儲信息的存儲需求,其中,若該剩余存儲大小大于或等于該存儲信息的數(shù)據(jù)大小,則表明滿足存儲需求,若該剩余存儲大小小于該存儲信息的數(shù)據(jù)大小,則表明不滿足存儲需求。
其中,若滿足,則第三保存模塊603將存儲信息保存至第二存儲空間。
其中,若不滿足,則刪除保存模塊602將刪除第二存儲空間中的部分已保存的存儲信息,具體的,刪除保存模塊602按照保存時間從前至后的順序刪除第二存儲空間中已保存的存儲信息,直至第二存儲空間的剩余存儲大小滿足該存儲信息的存儲需求,并將該存儲信息保存至該第二存儲空間。其中,通過按照保存時間從前至后的順序刪除已保存的存儲信息是一種循環(huán)存儲的方式,即第二存儲空間中保存的存儲信息均為最近的存儲信息。
在本發(fā)明實施例中,在獲取日志文件的存儲信息之后,將確定第二存儲空間的剩余存儲大小是否滿足該存儲信息的存儲需求,若不滿足,則通過按照保存時間從前至后的順序刪除第二存儲空間中已保存的存儲信息,且直至剩余存儲大小滿足存儲需求的方式,使得能夠由足夠的剩余存儲空間存儲獲取的存儲信息,使得第二存儲空間能夠通過循環(huán)存儲的方式保存最近的存儲信息。
請參閱圖7,為本發(fā)明第六實施例中日志文件的讀取裝置的功能模塊的示意圖,該讀取裝置包括:
獲取模塊701,用于在與處于關(guān)機狀態(tài)的移動終端連接之后,從預(yù)置的第二存儲空間獲取日志文件在預(yù)置的第一存儲空間保存時的存儲信息;
讀取模塊702,用于利用所述存儲信息讀取所述日志文件。
進一步的,所述存儲信息包含所述日志文件在所述第一存儲空間保存時的起始地址與所述日志文件的數(shù)據(jù)大小之間的映射關(guān)系;
所述讀取模塊702具體用于:
從所述第一存儲空間的所述起始地址開始讀取數(shù)據(jù),直至已讀取的數(shù)據(jù)等于所述數(shù)據(jù)大小,以完成所述日志文件的讀取。
在本發(fā)明實施例中,若需要讀取處于關(guān)機狀態(tài)的移動終端內(nèi)的日志文件時,需要將本發(fā)明實施例中的讀取裝置與該移動終端連接,且在連接之后,該讀取裝置中的獲取模塊701將從預(yù)置的第二存儲空間獲取日志文件在預(yù)置的第一存儲空間保存時的存儲信息,并由讀取模塊702利用該存儲信息讀取該日志文件。
其中,存儲信息中包含日志文件在第一存儲空間保存時的起始地址與日志文件的數(shù)據(jù)大小之間的映射關(guān)系,則上述步驟402具體用于:從第一存儲空間的起始地址開始讀取數(shù)據(jù),直至已讀取的數(shù)據(jù)等于該映射關(guān)系中的數(shù)據(jù)大小,則表明已經(jīng)讀取出完整的日志文件,完成了日志文件的讀取。
在本發(fā)明實施例中,通過在移動終端內(nèi)設(shè)置第二存儲空間,且利用該第二存儲空間存儲保存日志文件時,該日志文件的存儲信息,使得能夠利用該第二存儲空間中的存儲信息讀取日志文件,而不需要通過回讀整個userdata分區(qū)的方式讀取日志文件,能夠有效縮短讀取日志文件所消耗的時間,提高讀取效率。
請參閱圖8,為本發(fā)明第七實施例中日志文件的讀寫系統(tǒng)的結(jié)構(gòu)示意圖,包括第四實施例或者第五實施例中的移動終端801,及第六實施例中的日志文件讀取裝置802,且分別和上述實施例中描述的內(nèi)容相同,此處不再贅述。
在本申請所提供的幾個實施例中,應(yīng)該理解到,所揭露的裝置和方法,可以通過其它的方式實現(xiàn)。例如,以上所描述的裝置實施例僅僅是示意性的,例如,所述模塊的劃分,僅僅為一種邏輯功能劃分,實際實現(xiàn)時可以有另外的劃分方式,例如多個模塊或組件可以結(jié)合或者可以集成到另一個系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點,所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或模塊的間接耦合或通信連接,可以是電性,機械或其它的形式。
所述作為分離部件說明的模塊可以是或者也可以不是物理上分開的,作為模塊顯示的部件可以是或者也可以不是物理模塊,即可以位于一個地方,或者也可以分布到多個網(wǎng)絡(luò)模塊上??梢愿鶕?jù)實際的需要選擇其中的部分或者全部模塊來實現(xiàn)本實施例方案的目的。
另外,在本發(fā)明各個實施例中的各功能模塊可以集成在一個處理模塊中,也可以是各個模塊單獨物理存在,也可以兩個或兩個以上模塊集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實現(xiàn),也可以采用軟件功能模塊的形式實現(xiàn)。
所述集成的模塊如果以軟件功能模塊的形式實現(xiàn)并作為獨立的產(chǎn)品銷售或使用時,可以存儲在一個計算機可讀取存儲介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻的部分或者該技術(shù)方案的全部或部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計算機軟件產(chǎn)品存儲在一個存儲介質(zhì)中,包括若干指令用以使得一臺計算機設(shè)備(可以是個人計算機,服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個實施例所述方法的全部或部分步驟。而前述的存儲介質(zhì)包括:u盤、移動硬盤、只讀存儲器(rom,read-onlymemory)、隨機存取存儲器(ram,randomaccessmemory)、磁碟或者光盤等各種可以存儲程序代碼的介質(zhì)。
需要說明的是,對于前述的各方法實施例,為了簡便描述,故將其都表述為一系列的動作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明并不受所描述的動作順序的限制,因為依據(jù)本發(fā)明,某些步驟可以采用其它順序或者同時進行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實施例均屬于優(yōu)選實施例,所涉及的動作和模塊并不一定都是本發(fā)明所必須的。
在上述實施例中,對各個實施例的描述都各有側(cè)重,某個實施例中沒有詳述的部分,可以參見其它實施例的相關(guān)描述。
以上為對本發(fā)明所提供的一種日志文件的讀寫方法、裝置及系統(tǒng)的描述,對于本領(lǐng)域的技術(shù)人員,依據(jù)本發(fā)明實施例的思想,在具體實施方式及應(yīng)用范圍上均會有改變之處,綜上,本說明書內(nèi)容不應(yīng)理解為對本發(fā)明的限制。