欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

一種記錄日志數(shù)據(jù)的方法和裝置與流程

文檔序號:11155483閱讀:247來源:國知局
一種記錄日志數(shù)據(jù)的方法和裝置與制造工藝

本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別涉及一種記錄日志數(shù)據(jù)的方法和裝置。



背景技術(shù):

應(yīng)用程序在運(yùn)行的過程中可以記錄日志數(shù)據(jù)。一般,基于技術(shù)人員的設(shè)置,應(yīng)用程序在完成某項(xiàng)處理或出現(xiàn)某種錯(cuò)誤時(shí),可以記錄一條日志數(shù)據(jù)。日志數(shù)據(jù)可以幫助技術(shù)人員對應(yīng)用程序進(jìn)行運(yùn)行狀態(tài)分析和故障分析等。

在早期的技術(shù)中,應(yīng)用程序每生成一條日志數(shù)據(jù)時(shí),就會將日志數(shù)據(jù)寫入到日志文件中。將日志數(shù)據(jù)寫入到日志文件的處理需要系統(tǒng)程序來執(zhí)行,首先應(yīng)用程序生成日志數(shù)據(jù)后可以向系統(tǒng)程序發(fā)送寫入申請,然后由系統(tǒng)程序?qū)⑷罩緮?shù)據(jù)寫入日志文件中。上述處理過程中,每記錄一條日志數(shù)據(jù),就需要在應(yīng)用程序處理和系統(tǒng)程序處理之間進(jìn)行一次往復(fù)切換,而這種切換的時(shí)延很高。

為了減少應(yīng)用程序處理和系統(tǒng)程序處理之間的切換,提出了一種新的記錄日志數(shù)據(jù)的處理方式:應(yīng)用程序每生成一條日志數(shù)據(jù)時(shí),先對生成的日志數(shù)據(jù)進(jìn)行緩存,當(dāng)緩存的日志數(shù)據(jù)達(dá)到一定數(shù)據(jù)量時(shí),對緩存的多條日志數(shù)據(jù)進(jìn)行整體壓縮,再將壓縮后的日志數(shù)據(jù)寫入日志文件。這樣,將日志數(shù)據(jù)寫入日志文件的頻率降低,從而,應(yīng)用程序處理和系統(tǒng)程序處理之間切換的頻率也有所降低,可以降低處理過程的時(shí)延。

在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)至少存在以下問題:

上述處理中,當(dāng)緩存的日志數(shù)據(jù)達(dá)到一定數(shù)據(jù)量時(shí),對緩存的多條日志數(shù)據(jù)進(jìn)行整體壓縮,這樣,需要壓縮的數(shù)據(jù)量比較大,會突發(fā)性地占用大量的處理資源,從而,會導(dǎo)致應(yīng)用程序運(yùn)行卡頓。



技術(shù)實(shí)現(xiàn)要素:

為了解決現(xiàn)有技術(shù)的問題,本發(fā)明實(shí)施例提供了一種記錄日志數(shù)據(jù)的方法和裝置。所述技術(shù)方案如下:

第一方面,提供了一種記錄日志數(shù)據(jù)的方法,所述方法包括:

獲取應(yīng)用程序生成的日志數(shù)據(jù);

以單條日志數(shù)據(jù)為基本壓縮元素,對生成的日志數(shù)據(jù)逐條進(jìn)行流式壓縮,對每條壓縮后的日志數(shù)據(jù)進(jìn)行緩存;

每當(dāng)緩存的日志數(shù)據(jù)滿足預(yù)設(shè)導(dǎo)出條件時(shí),將緩存的日志數(shù)據(jù)寫入日志文件中,并清除緩存的日志數(shù)據(jù)。

第二方面,提供了記錄日志數(shù)據(jù)的裝置,所述裝置包括:

獲取模塊,用于獲取應(yīng)用程序生成的日志數(shù)據(jù);

緩存模塊,用于以單條日志數(shù)據(jù)為基本壓縮元素,對生成的日志數(shù)據(jù)逐條進(jìn)行流式壓縮,對每條壓縮后的日志數(shù)據(jù)進(jìn)行緩存;

寫入模塊,用于每當(dāng)緩存的日志數(shù)據(jù)滿足預(yù)設(shè)導(dǎo)出條件時(shí),將緩存的日志數(shù)據(jù)寫入日志文件中,并清除緩存的日志數(shù)據(jù)。

本發(fā)明實(shí)施例提供的技術(shù)方案帶來的有益效果是:

本發(fā)明實(shí)施例中,采用流式壓縮的方式,每生成一條日志數(shù)據(jù)即可以壓縮一條日志數(shù)據(jù),每次壓縮的數(shù)據(jù)量比較小,不會突發(fā)性的占用大量的處理資源,從而,可以減少應(yīng)用程序的卡頓。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例中的技術(shù)方案,下面將對實(shí)施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1是本發(fā)明實(shí)施例提供的一種記錄日志數(shù)據(jù)的方法的流程示意圖;

圖2是本發(fā)明實(shí)施例提供的一種日志結(jié)構(gòu)體的示意圖;

圖3是本發(fā)明實(shí)施例提供的一種存在數(shù)據(jù)損壞的日志文件的示意圖;

圖4是本發(fā)明實(shí)施例提供的一種記錄日志數(shù)據(jù)的方法的流程示意圖;

圖5是本發(fā)明實(shí)施例提供的一種記錄日志數(shù)據(jù)的方法的流程示意圖;

圖6是本發(fā)明實(shí)施例提供的一種記錄日志數(shù)據(jù)的裝置的結(jié)構(gòu)示意圖;

圖7是本發(fā)明實(shí)施例提供的一種終端的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對本發(fā)明實(shí)施方式作進(jìn)一步地詳細(xì)描述。

本發(fā)明實(shí)施例提供了一種記錄日志數(shù)據(jù)的方法,該方法可以由終端實(shí)現(xiàn)。其中,終端可以是手機(jī)、平板電腦、臺式計(jì)算機(jī)、筆記本計(jì)算機(jī)等,終端中安裝有系統(tǒng)程序和應(yīng)用程序。用戶在使用終端的過程中,基于自己的不同需求,會使用各種各樣的應(yīng)用程序。該方法可以應(yīng)用于應(yīng)用程序的運(yùn)行過程中。應(yīng)用程序會基于其進(jìn)行的處理或出現(xiàn)的錯(cuò)誤生成日志數(shù)據(jù),進(jìn)而可以采用本發(fā)明實(shí)施例提供的方法,進(jìn)行日志數(shù)據(jù)的記錄,最終得到日志文件。該日志文件可以由終端上傳給服務(wù)器,以提供給相應(yīng)的技術(shù)人員,技術(shù)人員可以基于日志文件對應(yīng)用程序進(jìn)行運(yùn)行狀態(tài)分析和故障分析等。

終端可以包括處理器、存儲器等部件。處理器,可以為CPU(Central Processing Unit,中央處理單元)等,可以用于獲取應(yīng)用程序生成的日志數(shù)據(jù),對生成的日志數(shù)據(jù)進(jìn)行流式壓縮,將緩存的日志數(shù)據(jù)寫入日志文件中,等處理。存儲器,可以為RAM(Random Access Memory,隨機(jī)存取存儲器),F(xiàn)lash(閃存)等,可以用于存儲接收到的數(shù)據(jù)、處理過程所需的數(shù)據(jù)、處理過程中生成的數(shù)據(jù)等,如日志數(shù)據(jù)、預(yù)設(shè)導(dǎo)出條件等。

終端還可以包括收發(fā)器、輸入部件、顯示部件、音頻輸出部件等。收發(fā)器,可以用于與服務(wù)器進(jìn)行數(shù)據(jù)傳輸,例如,可以向服務(wù)器發(fā)送日志文件,收發(fā)器可以包括天線、匹配電路、調(diào)制解調(diào)器等。輸入部件可以是觸摸屏、鍵盤、鼠標(biāo)等。音頻輸出部件可以是音箱、耳機(jī)等。

如圖1所示,本發(fā)明一個(gè)實(shí)施例提供的記錄日志數(shù)據(jù)的方法的處理流程可以包括如下的步驟:

步驟101,獲取應(yīng)用程序生成的日志數(shù)據(jù)。

在實(shí)施中,技術(shù)人員可以預(yù)先在應(yīng)用程序中設(shè)置日志記錄的觸發(fā)事件,觸發(fā)事件可以是執(zhí)行某項(xiàng)處理或出現(xiàn)某種錯(cuò)誤,例如,可以設(shè)置應(yīng)用程序顯示A頁面時(shí)生成一條日志數(shù)據(jù),或者,可以設(shè)置應(yīng)用程序出現(xiàn)網(wǎng)絡(luò)連接失敗時(shí)生成一條日志數(shù)據(jù)。

在應(yīng)用程序運(yùn)行的過程中,當(dāng)某個(gè)觸發(fā)事件發(fā)生時(shí),應(yīng)用程序會調(diào)用日志接口并輸入需要記錄的數(shù)據(jù)。進(jìn)而應(yīng)用程序中負(fù)責(zé)日志記錄的模塊,對輸入的數(shù)據(jù)進(jìn)行日志格式化,為該數(shù)據(jù)添加文件名、函數(shù)名、時(shí)間戳、日志級別、線程號等信息,即可生成日志數(shù)據(jù)。其中,文件名是調(diào)用日志接口的代碼所在文件的文件名,函數(shù)名是調(diào)用日志接口的函數(shù)的函數(shù)名,線程號是調(diào)用日志接口的線程的線程號。應(yīng)用程序每生成一條日志數(shù)據(jù),則可以獲取該條日志數(shù)據(jù),進(jìn)行后續(xù)的處理。

步驟102,以單條日志數(shù)據(jù)為基本壓縮元素,對生成的日志數(shù)據(jù)逐條進(jìn)行流式壓縮,對每條壓縮后的日志數(shù)據(jù)進(jìn)行緩存。

其中,流式壓縮是一種參考?xì)v史數(shù)據(jù)對新生成的數(shù)據(jù)進(jìn)行壓縮的壓縮方式,可以應(yīng)用于對實(shí)時(shí)生成或?qū)崟r(shí)接收的數(shù)據(jù)進(jìn)行壓縮。基本壓縮元素是流式壓縮過程中進(jìn)行數(shù)據(jù)壓縮的基本單位,流式壓縮每次壓縮一個(gè)基本壓縮元素。在流式壓縮的過程中,每次壓縮一個(gè)基本壓縮元素時(shí),以之前壓縮的基本壓縮元素作為參考數(shù)據(jù),來進(jìn)行壓縮?;緣嚎s元素的可以基于流式壓縮的實(shí)際需求進(jìn)行設(shè)置,本實(shí)施例中,以單條日志數(shù)據(jù)為基本壓縮元素。

在實(shí)施中,每當(dāng)應(yīng)用程序生成一條日志數(shù)據(jù)時(shí),應(yīng)用程序可以以當(dāng)前時(shí)刻之前生成的日志數(shù)據(jù)為參考數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮。在獲取參考數(shù)據(jù)時(shí),可以從當(dāng)前時(shí)刻開始獲取之前生成的部分或全部日志數(shù)據(jù)。例如,可以從當(dāng)前時(shí)刻開始,向前逐條獲取日志數(shù)據(jù),直到獲取的日志數(shù)據(jù)的總數(shù)據(jù)量大于或等于預(yù)設(shè)數(shù)據(jù)量(如32K)時(shí),停止獲取日志數(shù)據(jù),并將以獲取的日志數(shù)據(jù)作為參考數(shù)據(jù)。其中,預(yù)設(shè)數(shù)據(jù)量的設(shè)置,可以基于壓縮率和壓縮處理量綜合考慮,取值可以在16~64K?;趨⒖紨?shù)據(jù)對日志數(shù)據(jù)進(jìn)行壓縮時(shí),可以確定日志數(shù)據(jù)相對于參考數(shù)據(jù)的差別,將此差別記錄下來作為壓縮數(shù)據(jù)。每壓縮一條日志數(shù)據(jù),則可以將壓縮后的日志數(shù)據(jù)以日志結(jié)構(gòu)體的形式存儲到應(yīng)用緩存中。應(yīng)用緩存即上述應(yīng)用程序向系統(tǒng)程序申請的緩存,用于緩存應(yīng)用程序的數(shù)據(jù)。

可選的,在進(jìn)行流式壓縮的過程中,每壓縮一條日志數(shù)據(jù)時(shí),可以只參考當(dāng)前應(yīng)用緩存中存在的日志數(shù)據(jù),相應(yīng)的,處理可以如下:每當(dāng)生成一條日志數(shù)據(jù)時(shí),如果當(dāng)前緩存有日志數(shù)據(jù),則以當(dāng)前緩存的日志數(shù)據(jù)為參考數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮,如果當(dāng)前未緩存有日志數(shù)據(jù),則不參考其它日志數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮。

在實(shí)施中,每當(dāng)應(yīng)用程序生成一條日志數(shù)據(jù)時(shí),應(yīng)用程序可以檢測應(yīng)用緩存中是否緩存有日志數(shù)據(jù)。因?yàn)?,?yīng)用程序每次將緩存的日志數(shù)據(jù)寫入日志文件的時(shí)候,會將應(yīng)用緩存中的日志數(shù)據(jù)清除掉,所以,在有些時(shí)候應(yīng)用緩存中是沒有日志數(shù)據(jù)的。如果應(yīng)用程序這時(shí)檢測到應(yīng)用緩存中存有日志數(shù)據(jù),則可以將這些日志數(shù)據(jù)作為參考數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮,在應(yīng)用緩存中的日志數(shù)據(jù)的數(shù)據(jù)量較大時(shí),可以只將其中的部分日志數(shù)據(jù)作為參考數(shù)據(jù)。如果檢測到應(yīng)用緩存中不存在日志數(shù)據(jù),則可以將當(dāng)前生成的日志數(shù)據(jù)作為流式壓縮的起始基本壓縮單元,進(jìn)行壓縮,即不參考其它日志數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮。這樣,每次清除應(yīng)用緩存中的日志數(shù)據(jù)后生成第一條日志數(shù)據(jù)時(shí),則可以認(rèn)為是流式壓縮的一個(gè)起始點(diǎn),該日志數(shù)據(jù)則可以認(rèn)為是流式壓縮的一個(gè)起始基本壓縮單元。相應(yīng)的,每次清除應(yīng)用緩存中的日志數(shù)據(jù)時(shí),則可以認(rèn)為是流式壓縮的一個(gè)結(jié)束點(diǎn),此時(shí)緩存的最后一條日志數(shù)據(jù)則可以認(rèn)為是流式壓縮的一個(gè)結(jié)束基本壓縮單元。每次將緩存的日志數(shù)據(jù)寫入日志文件時(shí),從緩存中寫入日志文件中的多條日志數(shù)據(jù)可稱為一個(gè)壓縮單位。

由于各種不同的原因,可能會造成日志文件中的某部分日志數(shù)據(jù)發(fā)生損壞。例如,在日志數(shù)據(jù)寫入緩存時(shí),應(yīng)用程序異常關(guān)閉或終端死機(jī),則可能造成日志數(shù)據(jù)損壞,在日志數(shù)據(jù)寫入日志文件后,日志文件中的該日志數(shù)據(jù)也是損壞的,或者,在日志數(shù)據(jù)寫入日志文件時(shí),終端死機(jī),則可能造成日志文件中的該日志數(shù)據(jù)損壞。如圖3所示,基于上述的流式壓縮的處理方式,如果日志文件中的某條日志數(shù)據(jù)損壞,則只會影響到該日志數(shù)據(jù)所在的壓縮單位中在該條日志數(shù)據(jù)之后的日志數(shù)據(jù)的解壓縮,而不會影響到其它日志數(shù)據(jù)的解壓縮。而現(xiàn)有技術(shù)中采用塊式壓縮,日志文件中某條日志數(shù)據(jù)損壞,會影響到該日志數(shù)據(jù)所在的壓縮單位中的所有日志數(shù)據(jù)的解壓縮。所以,本發(fā)明實(shí)施例的方法,可以減少日志數(shù)據(jù)損壞所造成的數(shù)據(jù)丟失。

可選的,在緩存日志數(shù)據(jù)時(shí),可以對日志數(shù)據(jù)進(jìn)行加密,相應(yīng)的處理可以是:對每條壓縮后的日志數(shù)據(jù)進(jìn)行加密,對壓縮加密后的日志數(shù)據(jù)進(jìn)行緩存。

在實(shí)施中,應(yīng)用程序每壓縮一條日志數(shù)據(jù),則可以基于預(yù)設(shè)的密鑰(key)對壓縮后的日志數(shù)據(jù)進(jìn)行加密,在將壓縮加密后的日志數(shù)據(jù)以日志結(jié)構(gòu)體的形式存儲到應(yīng)用緩存中。其中,日志結(jié)構(gòu)體的結(jié)構(gòu)可以如圖2所示,其中,magic start num字段為日志結(jié)構(gòu)體的開始標(biāo)識;seq字段為日志數(shù)據(jù)的序列號,在程序生命周期內(nèi)是自增的;length字段為日志結(jié)構(gòu)體中的log字段的長度;crypt key字段為加密所用的密鑰;log字段為壓縮加密后的日志數(shù)據(jù);magic end num字段為日志結(jié)構(gòu)體的結(jié)束標(biāo)識;省略號代表可以基于實(shí)際需求添加其它字段。本實(shí)施例中,可以將每條壓縮加密后的日志數(shù)據(jù)分別封裝在一個(gè)日志結(jié)構(gòu)體中,進(jìn)行緩存,也可以將應(yīng)用緩存中緩存的所有日志數(shù)據(jù)封裝在一個(gè)日志結(jié)構(gòu)體中,即每得到一條加密壓縮后的日志數(shù)據(jù),則將其添加到應(yīng)用緩存中的日志結(jié)構(gòu)體中的log字段,并基于log字段的更新,對length字段進(jìn)行更新。

可選的,應(yīng)用程序向系統(tǒng)程序申請應(yīng)用緩存的方式可以多種多樣,本實(shí)施例中,以通過mmap(一種具有緩存調(diào)用功能的函數(shù)的名稱)函數(shù)申請緩存和通過shm(一種具有緩存調(diào)用功能的函數(shù)的名稱)函數(shù)申請緩存為例,進(jìn)行方案的詳細(xì)說明。通過不同的方式申請的應(yīng)用緩存,會具有不同的工作機(jī)制,下面將結(jié)合應(yīng)用程序異常退出后對緩存日志數(shù)據(jù)進(jìn)行恢復(fù)的處理過程,對緩存的不同工作機(jī)制進(jìn)行介紹:

方式一,緩存日志數(shù)據(jù)的處理可以是:將每條壓縮后的日志數(shù)據(jù),寫入應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的緩存中。相應(yīng)的,該應(yīng)用程序異常關(guān)閉時(shí)的處理可以是:每當(dāng)應(yīng)用程序異常關(guān)閉時(shí),將該緩存中的日志數(shù)據(jù)寫入預(yù)先建立的該緩存對應(yīng)的映射文件中。相應(yīng)的,對日志數(shù)據(jù)進(jìn)行恢復(fù)的處理可以是:每當(dāng)該應(yīng)用程序啟動時(shí),如果該緩存對應(yīng)的映射文件不為空,則將映射文件中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空該映射文件。

下面以應(yīng)用程序通過mmap函數(shù)申請緩存為例。相應(yīng)的,緩存日志數(shù)據(jù)的處理可以是:將每條壓縮后的日志數(shù)據(jù),寫入應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的mmap緩存中。為了在應(yīng)用程序異常退出后可以對緩存日志數(shù)據(jù)進(jìn)行恢復(fù),可以在每次應(yīng)用程序啟動時(shí),進(jìn)行如下處理:每當(dāng)應(yīng)用程序啟動時(shí),如果mmap緩存對應(yīng)的mmap文件不為空,則將mmap文件中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空mmap文件。

在實(shí)施中,應(yīng)用程序啟動后可以通過mmap函數(shù)向系統(tǒng)程序申請用于日志數(shù)據(jù)存儲的緩存,此通過mmap函數(shù)申請的緩存可稱作mmap緩存。應(yīng)用程序會在指定的路徑,對應(yīng)此用于日志數(shù)據(jù)存儲的mmap緩存,建立一個(gè)mmap文件,并在申請mmap緩存時(shí)將該路徑通知系統(tǒng)程序。一般在應(yīng)用程序正常運(yùn)行的狀態(tài)下,mmap文件為空。當(dāng)系統(tǒng)程序檢測到應(yīng)用程序異常關(guān)閉時(shí),系統(tǒng)程序會將mmap緩存中的數(shù)據(jù)寫入對應(yīng)的mmap文件中??梢詾閼?yīng)用程序設(shè)置一個(gè)啟動處理機(jī)制,每當(dāng)應(yīng)用程序啟動時(shí),檢測上述指定的路徑存儲的mmap文件。如果檢測到該mmap文件,則進(jìn)一步檢測該mmap文件是否為空,如果不為空,則說明上一次應(yīng)用程序關(guān)閉屬于異常關(guān)閉,且系統(tǒng)程序?qū)惓jP(guān)閉后mmap緩存中殘存的日志文件寫入到該mmap文件中,此時(shí),可以將mmap文件中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空mmap文件,通過此標(biāo)記,技術(shù)人員在瀏覽日志文件時(shí)可以獲知應(yīng)用程序出現(xiàn)異常關(guān)閉,這里進(jìn)行標(biāo)記的方式可以是在日志結(jié)構(gòu)體的前后增加特定的標(biāo)識字段。如果在指定的路徑?jīng)]有查找到該mmap文件,說明該應(yīng)用程序是安裝后第一次運(yùn)行,此時(shí),可以通過mmap函數(shù)向系統(tǒng)程序申請用于日志數(shù)據(jù)存儲的mmap緩存,并建立對應(yīng)的mmap文件。如果在指定的路徑能查找到mmap文件,但mmap文件為空,則說明應(yīng)用程序上一次關(guān)閉是正常關(guān)閉,可以不做任何處理。

方式二,緩存日志數(shù)據(jù)的處理可以是:將每條壓縮后的日志數(shù)據(jù),寫入應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的緩存中。相應(yīng)的,該應(yīng)用程序異常關(guān)閉和正常關(guān)閉時(shí)的處理分別可以是:每當(dāng)該應(yīng)用程序正常關(guān)閉時(shí),清空該緩存中的日志數(shù)據(jù),每當(dāng)該應(yīng)用程序異常關(guān)閉時(shí),保留該緩存中的日志數(shù)據(jù)。相應(yīng)的,對日志數(shù)據(jù)進(jìn)行恢復(fù)的處理可以是:每當(dāng)該應(yīng)用程序啟動時(shí),如果該緩存不為空,則將該緩存中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空該緩存。

下面以應(yīng)用程序通過shm函數(shù)申請緩存為例。相應(yīng)的,緩存日志數(shù)據(jù)的處理可以是:將每條壓縮后的日志數(shù)據(jù),寫入應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的shm緩存中。為了在應(yīng)用程序異常退出后可以對緩存日志數(shù)據(jù)進(jìn)行恢復(fù),可以在每次應(yīng)用程序啟動時(shí),進(jìn)行如下處理:每當(dāng)應(yīng)用程序啟動時(shí),如果shm緩存不為空,則將shm緩存中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空shm緩存。

在實(shí)施中,應(yīng)用程序啟動后可以通過shm函數(shù)向系統(tǒng)程序申請用于日志數(shù)據(jù)存儲的緩存,此通過shm函數(shù)申請的緩存可稱作shm緩存。系統(tǒng)程序會將應(yīng)用程序指定的緩存標(biāo)識與該shm緩存的位置對應(yīng)存儲。應(yīng)用程序正常關(guān)閉時(shí),系統(tǒng)程序會清空shm緩存中的數(shù)據(jù),應(yīng)用程序非正常關(guān)閉時(shí),shm緩存中的數(shù)據(jù)會保留。可以為應(yīng)用程序設(shè)置一個(gè)啟動處理機(jī)制,每當(dāng)應(yīng)用程序啟動時(shí),向系統(tǒng)程序查詢上述指定的緩存標(biāo)識對應(yīng)的shm緩存是否為空。如果系統(tǒng)程序返回的結(jié)果不為空,則說明上一次應(yīng)用程序關(guān)閉屬于異常關(guān)閉,此時(shí)可以將shm緩存中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空shm緩存,通過此標(biāo)記,技術(shù)人員在瀏覽日志文件時(shí)可以獲知應(yīng)用程序出現(xiàn)異常關(guān)閉,這里進(jìn)行標(biāo)記的方式可以是在日志結(jié)構(gòu)體的前后增加特定的標(biāo)識字段。如果系統(tǒng)程序返回的結(jié)果為空,則說明應(yīng)用程序上一次關(guān)閉是正常關(guān)閉,或者應(yīng)用程序是安裝后第一次運(yùn)行,可以不做任何處理。

步驟103,每當(dāng)緩存的日志數(shù)據(jù)滿足預(yù)設(shè)導(dǎo)出條件時(shí),將緩存的日志數(shù)據(jù)寫入日志文件中,并清除緩存的日志數(shù)據(jù)。

在實(shí)施中,隨著應(yīng)用程序的不斷運(yùn)行,應(yīng)用緩存中的日志數(shù)據(jù)的數(shù)據(jù)量會不斷的增加。應(yīng)用程序可以對應(yīng)用緩存中的日志數(shù)據(jù)的數(shù)據(jù)量進(jìn)行實(shí)時(shí)檢測,這里檢測的數(shù)據(jù)量可以是日志數(shù)據(jù)被封裝成日志結(jié)構(gòu)體后的數(shù)據(jù)量,或者可以認(rèn)為是檢測該應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的mmap緩存或shm緩存中當(dāng)前存儲數(shù)據(jù)的數(shù)據(jù)量。導(dǎo)出條件可以根據(jù)實(shí)際需求任意設(shè)置。每當(dāng)檢測到緩存日志數(shù)據(jù)的數(shù)據(jù)量滿足預(yù)設(shè)導(dǎo)出條件時(shí),應(yīng)用程序則可以向系統(tǒng)程序發(fā)送寫入請求。進(jìn)而,系統(tǒng)程序可以將應(yīng)用緩存中的日志數(shù)據(jù)調(diào)入系統(tǒng)緩存,再將日志數(shù)據(jù)由系統(tǒng)緩存寫入指定的日志文件。此時(shí),應(yīng)用程序可以對應(yīng)用緩存中的日志數(shù)據(jù)進(jìn)行清除,清除之后,應(yīng)用緩存中的日志數(shù)據(jù)的數(shù)據(jù)量歸零。

終端在某些情況下可以將日志文件上傳給服務(wù)器,例如,用戶在應(yīng)用程序故障需要技術(shù)人員協(xié)助解決時(shí),操作應(yīng)用程序?qū)⑷罩疚募蟼鹘o服務(wù)器。技術(shù)人員可以操作管理終端在服務(wù)器中獲取用戶上傳的日志文件,對日志文件中壓縮的日志數(shù)據(jù)進(jìn)行解壓縮,并按時(shí)間順序顯示每條日志數(shù)據(jù)。技術(shù)人員可以瀏覽日志數(shù)據(jù),并對應(yīng)用程序進(jìn)行運(yùn)行狀態(tài)分析和故障分析等。

可選的,預(yù)設(shè)導(dǎo)出條件可以設(shè)置如下:每當(dāng)緩存的日志數(shù)據(jù)的數(shù)據(jù)量達(dá)到預(yù)設(shè)閾值或在預(yù)設(shè)時(shí)長內(nèi)未發(fā)生變化時(shí),將緩存的日志數(shù)據(jù)寫入日志文件中,并清除緩存的日志數(shù)據(jù)。

其中,預(yù)設(shè)閾值的設(shè)置,可以基于處理資源突發(fā)性占用和處理時(shí)延進(jìn)行綜合考慮。預(yù)設(shè)閾值不宜設(shè)置的過高,這樣可以防止一次性寫入日志文件的數(shù)據(jù)量過大,從而可以降低處理資源的突發(fā)性占用。而且,預(yù)設(shè)閾值不宜設(shè)置過低,這樣可以防止應(yīng)用程序處理和系統(tǒng)程序處理之間切換的頻率過高,長期來看可以減小整體的處理時(shí)延。該預(yù)設(shè)閾值的設(shè)置,還可以結(jié)合終端存儲資源的情況進(jìn)行考慮。該預(yù)設(shè)閾值的取值范圍可以是20~80K。

預(yù)設(shè)時(shí)長的設(shè)置,可以基于日志數(shù)據(jù)記錄的及時(shí)性和處理時(shí)延進(jìn)行綜合考慮。預(yù)設(shè)時(shí)長不宜設(shè)置的過長,這樣可以提高日志數(shù)據(jù)記錄的及時(shí)性。而且,預(yù)設(shè)時(shí)長不宜設(shè)置過短,這樣可以防止應(yīng)用程序處理和系統(tǒng)程序處理之間切換的頻率過高,長期來看可以減小整體的處理時(shí)延。該預(yù)設(shè)時(shí)長的取值范圍可以是5~20分鐘。

在實(shí)施中,應(yīng)用程序每緩存一條日志數(shù)據(jù),則可以計(jì)算當(dāng)前緩存的日志數(shù)據(jù)的數(shù)據(jù)量。如果該數(shù)據(jù)量大于或者等于預(yù)設(shè)閾值(如50K),則觸發(fā)將緩存的日志數(shù)據(jù)寫入日志文件中,并清除緩存的日志數(shù)據(jù)。同時(shí),在每次緩存的日志數(shù)據(jù)的數(shù)據(jù)量發(fā)生變化后,應(yīng)用程序可以進(jìn)行計(jì)時(shí),如果計(jì)時(shí)達(dá)到預(yù)設(shè)時(shí)長(如15分鐘)時(shí)該數(shù)據(jù)量還沒有發(fā)生新的變化,則觸發(fā)將緩存的日志數(shù)據(jù)寫入日志文件中,并清除緩存的日志數(shù)據(jù)。

如圖4所示,本發(fā)明又一實(shí)施例提供的記錄日志數(shù)據(jù)的方法的處理流程可以包括如下的步驟:

步驟401,每當(dāng)應(yīng)用程序生成日志數(shù)據(jù)時(shí),終端獲取當(dāng)前生成的日志數(shù)據(jù)。

步驟402,終端對日志數(shù)據(jù)進(jìn)行日志格式化。

步驟403,終端以mmap緩存中的日志數(shù)據(jù)為參考數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮。

這里采用的壓縮方式為流式壓縮,流式壓縮的基本壓縮元素為單條日志數(shù)據(jù)。此mmap緩存是應(yīng)用程序向系統(tǒng)程序申請的用于日志數(shù)據(jù)存儲的mmap緩存。

步驟404,終端對壓縮后的日志數(shù)據(jù)進(jìn)行加密。

步驟405,終端將加密壓縮后的日志數(shù)據(jù)以日志結(jié)構(gòu)體的形式寫入mmap緩存中。

步驟406,每當(dāng)mmap緩存中日志數(shù)據(jù)的數(shù)據(jù)量達(dá)到預(yù)設(shè)閾值或在預(yù)設(shè)時(shí)長內(nèi)未發(fā)生變化時(shí),將mmap緩存中的日志數(shù)據(jù)寫入日志文件中,并清除mmap緩存中的日志數(shù)據(jù)。

具體的處理細(xì)節(jié)可以參考上面的實(shí)施例。

如圖5所示,本發(fā)明又一實(shí)施例提供的應(yīng)用程序啟動過程中進(jìn)行日志數(shù)據(jù)找回的處理流程可以包括如下的步驟:

步驟501,每當(dāng)應(yīng)用程序啟動時(shí),終端檢測預(yù)設(shè)路徑處是否存儲有mmap文件,如果是,則執(zhí)行步驟502,否則執(zhí)行步驟504。其中,該mmap文件是應(yīng)用程序向系統(tǒng)程序申請的用于日志數(shù)據(jù)存儲的mmap緩存對應(yīng)的mmap文件。

步驟502,檢測在該mmap文件中是否存有數(shù)據(jù),如果是,則執(zhí)行步驟503,否則結(jié)束日志數(shù)據(jù)找回處理。

步驟503,將該mmap文件中的數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空該mmap文件中的數(shù)據(jù)。該步驟執(zhí)行完畢后結(jié)束日志數(shù)據(jù)找回處理。

步驟504,在預(yù)設(shè)路徑處,新建mmap文件。該步驟執(zhí)行完畢后結(jié)束日志數(shù)據(jù)找回處理。

具體的處理細(xì)節(jié)可以參考上面的實(shí)施例。

本發(fā)明實(shí)施例中,采用流式壓縮的方式,每生成一條日志數(shù)據(jù)即可以壓縮一條日志數(shù)據(jù),每次壓縮的數(shù)據(jù)量比較小,不會突發(fā)性的占用大量的處理資源,從而,可以減少應(yīng)用程序的卡頓。另外,每條日志數(shù)據(jù)進(jìn)行流式壓縮所產(chǎn)生的時(shí)延,遠(yuǎn)小于應(yīng)用程序處理和系統(tǒng)程序處理之間的切換所產(chǎn)生的時(shí)延。

基于相同的技術(shù)構(gòu)思,本發(fā)明實(shí)施例還提供了一種記錄日志數(shù)據(jù)的裝置,該裝置可以是上述實(shí)施例中的終端,可以用于執(zhí)行上述實(shí)施例中的方法,如圖6所示,該裝置包括:

獲取模塊610,用于獲取應(yīng)用程序生成的日志數(shù)據(jù);

緩存模塊620,用于以單條日志數(shù)據(jù)為基本壓縮元素,對生成的日志數(shù)據(jù)逐條進(jìn)行流式壓縮,對每條壓縮后的日志數(shù)據(jù)進(jìn)行緩存;

寫入模塊630,用于每當(dāng)緩存的日志數(shù)據(jù)滿足預(yù)設(shè)導(dǎo)出條件時(shí),將緩存的日志數(shù)據(jù)寫入日志文件中,并清除緩存的日志數(shù)據(jù)。

可選的,所述緩存模塊620,用于:

每當(dāng)生成一條日志數(shù)據(jù)時(shí),如果當(dāng)前緩存有日志數(shù)據(jù),則以當(dāng)前緩存的日志數(shù)據(jù)為參考數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮,如果當(dāng)前未緩存有日志數(shù)據(jù),則不參考其它日志數(shù)據(jù),對當(dāng)前生成的日志數(shù)據(jù)進(jìn)行壓縮。

可選的,所述緩存模塊620,用于:

將每條壓縮后的日志數(shù)據(jù),寫入所述應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的mmap緩存中。

可選的,所述寫入模塊630,還用于:

每當(dāng)所述應(yīng)用程序啟動時(shí),如果所述mmap緩存對應(yīng)的mmap文件不為空,則將所述mmap文件中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空所述mmap文件。

可選的,所述緩存模塊620,用于:將每條壓縮后的日志數(shù)據(jù),寫入所述應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的緩存中;

所述緩存模塊620,還用于:每當(dāng)所述應(yīng)用程序異常關(guān)閉時(shí),將所述緩存中的日志數(shù)據(jù)寫入預(yù)先建立的所述緩存對應(yīng)的映射文件中;

所述寫入模塊630,還用于:每當(dāng)所述應(yīng)用程序啟動時(shí),如果所述緩存對應(yīng)的映射文件不為空,則將所述映射文件中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空所述映射文件。

可選的,所述緩存模塊620,用于:

將每條壓縮后的日志數(shù)據(jù),寫入所述應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的shm緩存中。

可選的,所述寫入模塊630,還用于:

每當(dāng)所述應(yīng)用程序啟動時(shí),如果所述shm緩存不為空,則將所述shm緩存中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空所述shm緩存。

可選的,所述緩存模塊620,用于:將每條壓縮后的日志數(shù)據(jù),寫入所述應(yīng)用程序調(diào)用的用于日志數(shù)據(jù)存儲的緩存中;

所述緩存模塊620,還用于:每當(dāng)所述應(yīng)用程序正常關(guān)閉時(shí),清空所述緩存中的日志數(shù)據(jù),每當(dāng)所述應(yīng)用程序異常關(guān)閉時(shí),保留所述緩存中的日志數(shù)據(jù);

所述寫入模塊630,還用于:每當(dāng)所述應(yīng)用程序啟動時(shí),如果所述緩存不為空,則將所述緩存中的日志數(shù)據(jù),標(biāo)記為因應(yīng)用程序異常關(guān)閉而丟失的日志數(shù)據(jù),寫入日志文件中,并清空所述緩存。

可選的,所述緩存模塊620,用于:

對每條壓縮后的日志數(shù)據(jù)進(jìn)行加密,對壓縮加密后的日志數(shù)據(jù)進(jìn)行緩存。

可選的,所述寫入模塊630,用于:

每當(dāng)緩存的日志數(shù)據(jù)的數(shù)據(jù)量達(dá)到預(yù)設(shè)閾值或在預(yù)設(shè)時(shí)長內(nèi)未發(fā)生變化時(shí),將緩存的日志數(shù)據(jù)寫入日志文件中。

關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說明。

本發(fā)明實(shí)施例中,采用流式壓縮的方式,每生成一條日志數(shù)據(jù)即可以壓縮一條日志數(shù)據(jù),每次壓縮的數(shù)據(jù)量比較小,不會突發(fā)性的占用大量的處理資源,從而,可以減少應(yīng)用程序的卡頓。

需要說明的是:上述實(shí)施例提供的記錄日志數(shù)據(jù)的裝置在記錄日志數(shù)據(jù)時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將裝置的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的記錄日志數(shù)據(jù)的裝置與記錄日志數(shù)據(jù)的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過程詳見方法實(shí)施例,這里不再贅述。

請參考圖7,其示出了本發(fā)明實(shí)施例所涉及的終端的結(jié)構(gòu)示意圖,該終端可以用于實(shí)施上述實(shí)施例中提供的記錄日志數(shù)據(jù)的方法。具體來講:

終端700可以包括RF(Radio Frequency,射頻)電路110、包括有一個(gè)或一個(gè)以上計(jì)算機(jī)可讀存儲介質(zhì)的存儲器120、輸入單元130、顯示單元140、傳感器150、音頻電路160、WiFi(wireless fidelity,無線保真)模塊170、包括有一個(gè)或者一個(gè)以上處理核心的處理器180、以及電源190等部件。本領(lǐng)域技術(shù)人員可以理解,圖7中示出的終端結(jié)構(gòu)并不構(gòu)成對終端的限定,可以包括比圖示更多或更少的部件,或者組合某些部件,或者不同的部件布置。其中:

RF電路110可用于收發(fā)信息或通話過程中,信號的接收和發(fā)送,特別地,將基站的下行信息接收后,交由一個(gè)或者一個(gè)以上處理器180處理;另外,將涉及上行的數(shù)據(jù)發(fā)送給基站。通常,RF電路110包括但不限于天線、至少一個(gè)放大器、調(diào)諧器、一個(gè)或多個(gè)振蕩器、用戶身份模塊(SIM)卡、收發(fā)信機(jī)、耦合器、LNA(Low Noise Amplifier,低噪聲放大器)、雙工器等。此外,RF電路110還可以通過無線通信與網(wǎng)絡(luò)和其他設(shè)備通信。所述無線通信可以使用任一通信標(biāo)準(zhǔn)或協(xié)議,包括但不限于GSM(Global System of Mobile communication,全球移動通訊系統(tǒng))、GPRS(General Packet Radio Service,通用分組無線服務(wù))、CDMA(Code Division Multiple Access,碼分多址)、WCDMA(Wideband Code Division Multiple Access,寬帶碼分多址)、LTE(Long Term Evolution,長期演進(jìn))、電子郵件、SMS(Short Messaging Service,短消息服務(wù))等。

存儲器120可用于存儲軟件程序以及模塊,處理器180通過運(yùn)行存儲在存儲器120的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理。存儲器120可主要包括存儲程序區(qū)和存儲數(shù)據(jù)區(qū),其中,存儲程序區(qū)可存儲操作系統(tǒng)、至少一個(gè)功能所需的應(yīng)用程序(比如聲音播放功能、圖像播放功能等)等;存儲數(shù)據(jù)區(qū)可存儲根據(jù)終端700的使用所創(chuàng)建的數(shù)據(jù)(比如音頻數(shù)據(jù)、電話本等)等。此外,存儲器120可以包括高速隨機(jī)存取存儲器,還可以包括非易失性存儲器,例如至少一個(gè)磁盤存儲器件、閃存器件、或其他易失性固態(tài)存儲器件。相應(yīng)地,存儲器120還可以包括存儲器控制器,以提供處理器180和輸入單元130對存儲器120的訪問。

輸入單元130可用于接收輸入的數(shù)字或字符信息,以及產(chǎn)生與用戶設(shè)置以及功能控制有關(guān)的鍵盤、鼠標(biāo)、操作桿、光學(xué)或者軌跡球信號輸入。具體地,輸入單元130可包括觸敏表面131以及其他輸入設(shè)備132。觸敏表面131,也稱為觸摸顯示屏或者觸控板,可收集用戶在其上或附近的觸摸操作(比如用戶使用手指、觸筆等任何適合的物體或附件在觸敏表面131上或在觸敏表面131附近的操作),并根據(jù)預(yù)先設(shè)定的程式驅(qū)動相應(yīng)的連接裝置??蛇x的,觸敏表面131可包括觸摸檢測裝置和觸摸控制器兩個(gè)部分。其中,觸摸檢測裝置檢測用戶的觸摸方位,并檢測觸摸操作帶來的信號,將信號傳送給觸摸控制器;觸摸控制器從觸摸檢測裝置上接收觸摸信息,并將它轉(zhuǎn)換成觸點(diǎn)坐標(biāo),再送給處理器180,并能接收處理器180發(fā)來的命令并加以執(zhí)行。此外,可以采用電阻式、電容式、紅外線以及表面聲波等多種類型實(shí)現(xiàn)觸敏表面131。除了觸敏表面131,輸入單元130還可以包括其他輸入設(shè)備132。具體地,其他輸入設(shè)備132可以包括但不限于物理鍵盤、功能鍵(比如音量控制按鍵、開關(guān)按鍵等)、軌跡球、鼠標(biāo)、操作桿等中的一種或多種。

顯示單元140可用于顯示由用戶輸入的信息或提供給用戶的信息以及終端700的各種圖形用戶接口,這些圖形用戶接口可以由圖形、文本、圖標(biāo)、視頻和其任意組合來構(gòu)成。顯示單元140可包括顯示面板141,可選的,可以采用LCD(Liquid Crystal Display,液晶顯示器)、OLED(Organic Light-Emitting Diode,有機(jī)發(fā)光二極管)等形式來配置顯示面板141。進(jìn)一步的,觸敏表面131可覆蓋顯示面板141,當(dāng)觸敏表面131檢測到在其上或附近的觸摸操作后,傳送給處理器180以確定觸摸事件的類型,隨后處理器180根據(jù)觸摸事件的類型在顯示面板141上提供相應(yīng)的視覺輸出。雖然在圖7中,觸敏表面131與顯示面板141是作為兩個(gè)獨(dú)立的部件來實(shí)現(xiàn)輸入和輸入功能,但是在某些實(shí)施例中,可以將觸敏表面131與顯示面板141集成而實(shí)現(xiàn)輸入和輸出功能。

終端700還可包括至少一種傳感器150,比如光傳感器、運(yùn)動傳感器以及其他傳感器。具體地,光傳感器可包括環(huán)境光傳感器及接近傳感器,其中,環(huán)境光傳感器可根據(jù)環(huán)境光線的明暗來調(diào)節(jié)顯示面板141的亮度,接近傳感器可在終端700移動到耳邊時(shí),關(guān)閉顯示面板141和/或背光。作為運(yùn)動傳感器的一種,重力加速度傳感器可檢測各個(gè)方向上(一般為三軸)加速度的大小,靜止時(shí)可檢測出重力的大小及方向,可用于識別手機(jī)姿態(tài)的應(yīng)用(比如橫豎屏切換、相關(guān)游戲、磁力計(jì)姿態(tài)校準(zhǔn))、振動識別相關(guān)功能(比如計(jì)步器、敲擊)等;至于終端700還可配置的陀螺儀、氣壓計(jì)、濕度計(jì)、溫度計(jì)、紅外線傳感器等其他傳感器,在此不再贅述。

音頻電路160、揚(yáng)聲器161,傳聲器162可提供用戶與終端700之間的音頻接口。音頻電路160可將接收到的音頻數(shù)據(jù)轉(zhuǎn)換后的電信號,傳輸?shù)綋P(yáng)聲器161,由揚(yáng)聲器161轉(zhuǎn)換為聲音信號輸出;另一方面,傳聲器162將收集的聲音信號轉(zhuǎn)換為電信號,由音頻電路160接收后轉(zhuǎn)換為音頻數(shù)據(jù),再將音頻數(shù)據(jù)輸出處理器180處理后,經(jīng)RF電路110以發(fā)送給比如另一終端,或者將音頻數(shù)據(jù)輸出至存儲器120以便進(jìn)一步處理。音頻電路160還可能包括耳塞插孔,以提供外設(shè)耳機(jī)與終端700的通信。

WiFi屬于短距離無線傳輸技術(shù),終端700通過WiFi模塊170可以幫助用戶收發(fā)電子郵件、瀏覽網(wǎng)頁和訪問流式媒體等,它為用戶提供了無線的寬帶互聯(lián)網(wǎng)訪問。雖然圖7示出了WiFi模塊170,但是可以理解的是,其并不屬于終端700的必須構(gòu)成,完全可以根據(jù)需要在不改變發(fā)明的本質(zhì)的范圍內(nèi)而省略。

處理器180是終端700的控制中心,利用各種接口和線路連接整個(gè)手機(jī)的各個(gè)部分,通過運(yùn)行或執(zhí)行存儲在存儲器120內(nèi)的軟件程序和/或模塊,以及調(diào)用存儲在存儲器120內(nèi)的數(shù)據(jù),執(zhí)行終端700的各種功能和處理數(shù)據(jù),從而對手機(jī)進(jìn)行整體監(jiān)控。可選的,處理器180可包括一個(gè)或多個(gè)處理核心;優(yōu)選的,處理器180可集成應(yīng)用處理器和調(diào)制解調(diào)處理器,其中,應(yīng)用處理器主要處理操作系統(tǒng)、用戶界面和應(yīng)用程序等,調(diào)制解調(diào)處理器主要處理無線通信。可以理解的是,上述調(diào)制解調(diào)處理器也可以不集成到處理器180中。

終端700還包括給各個(gè)部件供電的電源190(比如電池),優(yōu)選的,電源可以通過電源管理系統(tǒng)與處理器180邏輯相連,從而通過電源管理系統(tǒng)實(shí)現(xiàn)管理充電、放電、以及功耗管理等功能。電源190還可以包括一個(gè)或一個(gè)以上的直流或交流電源、再充電系統(tǒng)、電源故障檢測電路、電源轉(zhuǎn)換器或者逆變器、電源狀態(tài)指示器等任意組件。

盡管未示出,終端700還可以包括攝像頭、藍(lán)牙模塊等,在此不再贅述。具體在本實(shí)施例中,終端700的顯示單元是觸摸屏顯示器,終端700還包括有存儲器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲于存儲器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行此一個(gè)或者一個(gè)以上程序來執(zhí)行上述各個(gè)實(shí)施例所述的記錄日志數(shù)據(jù)的方法。

本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。

以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
麻江县| 涟水县| 岳池县| 黔西| 纳雍县| 诏安县| 宜兰县| 海伦市| 龙南县| 龙口市| 大方县| 班戈县| 博野县| 普兰店市| 卢氏县| 新化县| 新蔡县| 大庆市| 高邑县| 南澳县| 理塘县| 鞍山市| 平定县| 扶沟县| 镇康县| 广宗县| 平阴县| 蒙山县| 宁晋县| 安平县| 白玉县| 赣州市| 隆德县| 姚安县| 浠水县| 新河县| 时尚| 静安区| 马关县| 历史| 双辽市|