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

一種終端的重復日志過濾方法與流程

文檔序號:11253743閱讀:517來源:國知局
一種終端的重復日志過濾方法與流程

本發(fā)明涉及網(wǎng)絡安全技術(shù)領域,特別是涉及一種終端的重復日志過濾方法。



背景技術(shù):

日志即是我們常說的log,通常是系統(tǒng)或者某些軟件對已完成的某種處理的記錄,以便將來異常發(fā)生時做為參考,解決軟件的漏洞。日志的存在,讓異常發(fā)生之后,系統(tǒng)和軟件的開發(fā)者可以快速定位問題、解決問題,日志對維護系統(tǒng)和軟件有著至關重要的作用。

目前,雖然已經(jīng)有很多可以在手機端自動抓取異常日志的應用,當異常發(fā)生時,可以自動把異常相關的日志保存和上傳服務器,然后工程師可以根據(jù)上傳的日志解決問題。但是,由于系統(tǒng)無時無刻不在產(chǎn)生日志,導致日志文件十分繁雜,當一個異常重復發(fā)生時,應用就會不斷地上傳重復的日志到服務器,這就導致了數(shù)據(jù)的冗余,會浪費工程師大量的時間去分析日志。



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

本發(fā)明主要解決的技術(shù)問題是提供一種終端的重復日志過濾方法,能夠降低開發(fā)者的工作量,減少服務器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。

為解決上述技術(shù)問題,本發(fā)明采用的一個技術(shù)方案是:提供一種終端的重復日志過濾方法,所述方法包括:獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志;從待存儲日志提取能夠唯一標識異常的標識信息;利用標識信息生成待存儲日志的異??煺眨槐葘Υ鎯θ罩镜漠惓?煺张c數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜?;若不存在重復,則將待存儲日志以及待存儲日志的異??煺沾鎯χ翑?shù)據(jù)庫。

為解決上述技術(shù)問題,本發(fā)明采用的另一個技術(shù)方案是:提供一種終端的重復日志過濾方法,所述方法包括:獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志;從待存儲日志提取能夠唯一標識異常的標識信息;利用標識信息生成待存儲日志的異??煺?;將待存儲日志的異??煺瞻l(fā)送至服務器;判斷服務器基于待存儲日志的異??煺辗答伒目刂浦噶顬樯蟼髦噶钸€是放棄指令;若為上傳指令,則向服務器上傳待存儲日志以及待存儲日志的異??煺丈蟼髦练掌?;若為放棄指令,則不向服務器上傳待存儲日志以及待存儲日志的異??煺丈蟼髦练掌?。

為解決上述技術(shù)問題,本發(fā)明采用的另一個技術(shù)方案是:提供一種終端的重復日志過濾方法,所述方法包括:從終端接收待存儲日志的異常快照;比對待存儲日志的異??煺张c數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜?;若不存在重復,則向終端發(fā)送上傳指令,以指示終端上傳待存儲日志以及待存儲日志的異??煺?;若存在重復,則向終端發(fā)送放棄指令,以指示終端不上傳待存儲日志以及待存儲日志的異常快照。

本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明先獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志,并從待存儲日志提取能夠唯一標識異常的標識信息,進而利用標識信息生成待存儲日志的異??煺?,比對待存儲日志的異常快照與數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜停舨淮嬖谥貜?,則將待存儲日志以及待存儲日志的異??煺沾鎯χ翑?shù)據(jù)庫,從而減少服務器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。

附圖說明

圖1是本發(fā)明終端的重復日志過濾方法第一實施方式的流程示意圖;

圖2是本發(fā)明終端的重復日志過濾方法第二實施方式的流程示意圖;

圖3是本發(fā)明終端的重復日志過濾方法第三實施方式的流程示意圖;

圖4是本發(fā)明終端的重復日志過濾方法第四實施方式的流程示意圖;

圖5是本發(fā)明終端一實施方式的結(jié)構(gòu)示意圖;

圖6是本發(fā)明服務器一實施方式的結(jié)構(gòu)示意圖。

具體實施方式

請參閱圖1,圖1是本發(fā)明終端的重復日志過濾方法第一實施方式的流程示意圖。需注意的是,若有實質(zhì)上相同的結(jié)果,本發(fā)明的方法并不以圖1所示的流程順序為限。如圖1所示,該方法包括如下步驟:

s101:獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志。

其中,日志也即是log,通常是系統(tǒng)或者某些軟件對已完成的某種處理的記錄,以便將來做為參考,它并沒有固定的格式,通常是文本文件,可以用記事本打開以查看內(nèi)容,當然很可能是其它格式,直接打開就是亂碼。大部分的log可以從文件名看出它的作用,比如uninstall.log或是error.log,當然前者通常是軟件安裝過程中生成的記錄,以便將來卸載的時候可以提供給卸載程序使用,后者通常是用來記錄一些軟件運行中的錯誤信息等等。

其中,終端可以手機、平板電腦、筆記本電腦、掌上電腦、移動互聯(lián)網(wǎng)設備(mid,mobileinternetdevice)、可穿戴設備(智能手表、智能手環(huán))或其他終端設備。

其中,首先需要說明一個問題,具有相同異常的待存儲日志,產(chǎn)生的日志文件有可能會不同。這是因為日志文件里面除了異常信息之外,還記錄了大量動態(tài)的信息,比如異常的時間、即時的進程號、動態(tài)的內(nèi)存地址等,這些變化的數(shù)據(jù)會導致一個同樣的異常,在不同的時間發(fā)生,生成的日志也不同。

進一步地,由于終端設備沒有可以進行檢測異常日志的功能,因此,終端設備想要獲取在運行過程中產(chǎn)生的記錄有異常的待存儲日志的信息,需要注冊相應的服務。具體地,當安卓(android)設備注冊了dropbox之后,android系統(tǒng)中的dropboxmanager就會發(fā)送dropbox的廣播,android設備便可以得到記錄有異常的待存儲日志。

s102:從待存儲日志提取能夠唯一標識異常的標識信息。

其中,由于具有相同異常的待存儲日志,產(chǎn)生的日志文件有可能會不同。因此,可以提取待存儲日志中能夠唯一標識異常的標識信息,這些能夠唯一標識異常的標識信息不包括日志的動態(tài)的信息。

s103:利用標識信息生成待存儲日志的異??煺铡?/p>

其中,根據(jù)預定的精簡規(guī)則對標識信息進行精簡。具體地,先判斷標識信息是否包含特定符號;若包含特定符號,則去除特定符號。其中,特定符號包括空格等。

進一步地,將標識信息與異常所對應的異常應用包名稱以及終端所運行的操作系統(tǒng)的系統(tǒng)版本號進行關聯(lián),并作為待存儲日志的異??煺铡>唧w地,將標識信息與異常應用包名以及終端所運行的操作系統(tǒng)的系統(tǒng)版本號用“===”連接起來,形成一個字符串類型的完整異??煺?。

s104:比對待存儲日志的異??煺张c數(shù)據(jù)庫中存在的已存儲日志的異常快照是否存在重復。

其中,數(shù)據(jù)庫中存在的已存儲日志的異??煺瞻軌蛭ㄒ粯俗R異常的標識信息、異常所對應的異常應用包名以及終端所運行的操作系統(tǒng)的系統(tǒng)版本號。具體地,對比地過程也即是對比待存儲日志以及數(shù)據(jù)庫中存在的已存儲日志的能夠唯一標識異常的標識信息、異常所對應的異常應用包名以及終端所運行的操作系統(tǒng)的系統(tǒng)版本號。

s105:若不存在重復,則將待存儲日志以及待存儲日志的異??煺沾鎯χ翑?shù)據(jù)庫。

具體地,若待存儲日志與已存儲日志的唯一區(qū)別僅僅在于動態(tài)信息的不同,則系統(tǒng)視待存儲日志與已存儲日志為重復日志。

s106:若存在重復,則將待存儲日志以及待存儲日志的異常快照不存儲至數(shù)據(jù)庫。

在本實施方式中,先獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志,并從待存儲日志提取能夠唯一標識異常的標識信息,進而利用標識信息生成待存儲日志的異常快照,比對待存儲日志的異常快照與數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜?,若不存在重復,則將待存儲日志以及待存儲日志的異??煺沾鎯χ翑?shù)據(jù)庫,從而減少服務器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。

請參閱圖2,圖2是本發(fā)明終端的重復日志過濾方法第二實施方式的流程示意圖。本實施方式為從待存儲日志提取能夠唯一標識異常的標識信息的其中以具體的實施方式,該方法包括以下步驟:

s201:根據(jù)待存儲日志確定異常的類型。

具體地,待存儲日志確定異常的類型可以具體的分為應用層的異常(javeexception)、本地層的異常(nativeexception)以及應用無響應的異常(applicationnotresponsing)。

s202:根據(jù)異常的類型確定提取規(guī)則。

具體地,應用層的異常的提取規(guī)則為:對異常信息每一行進行兩次判斷,首先判斷是否由at開頭,然后判斷是否包含報錯應用包名。由于at開頭的是異常的堆棧信息,是異常發(fā)生代碼的位置,可以唯一標識這個異常;而包含報錯應用的包名之后,可以去掉一些無關的內(nèi)容,可以精簡異??煺?。

具體地,本地層的異常的提取規(guī)則為:對異常信息每一行進行判斷,把由“#00”“#01”“#02”開頭的行提取出來,并去除空格等符號。由于本地層的異常的類型重要的異常信息集中在這三行中,可以把這三行的內(nèi)容作為異??煺盏闹黧w。

具體地,應用無響應的異常的提取規(guī)則為:對異常信息每一行進行判斷,把由“executing”開頭的行提取出來,并去除空格等符號。

s203:根據(jù)提取規(guī)則從待存儲日志提取標識信息。

其中一個具體的實施方式為,對待存儲日志中的異常信息進行逐行掃描,并判斷當前行的異常信息中是否包含與提取規(guī)則對應的特定標記,若包含特定標記,則提取當前行的異常信息作為標識信息。

具體地,應用層的異常所提取的行同時包含at開頭和報錯應用包名;本地層的異常所提取的行包含由“#00”“#01”“#02”開頭;應用無響應的異常所提取的行包含由“executing”開頭。

在其中一個具體的實施方式中,以android設備為例,當android設備的應用層發(fā)生異常時,android系統(tǒng)的dropboxmanager會發(fā)送dropbox廣播。把dropbox廣播里面獲取的信息并且加以整合之后可以獲得下面一段異常信息。

type:javaexception

(je),time:20161008091222866,packagename:com.dropboxtest2.testerror,tag:data_app_crash,pid:0000,

process:com.dropboxtest2.testerror

flags:0x38e8be46

package:com.dropboxtest2.testerrorv1(1.0)

build:tcl/5080x/shine_lite:6.0/mra58k/v2ca6-0:user/release-keys

java.lang.nullpointerexception:attempttoinvokevirtualmethod'intjava.lang.string.length()'onanullobjectreference

at

com.dropboxtest2.testerror.mainactivity.onclick(mainactivity.java:71)

atandroid.view.view.performclick(view.java:5265)

atandroid.view.view$performclick.run(view.java:21534)

atandroid.os.handler.handlecallback(handler.java:815)

atandroid.os.handler.dispatchmessage(handler.java:104)

atandroid.os.looper.loop(looper.java:207)

atandroid.app.activitythread.main(activitythread.java:5774)

atjava.lang.reflect.method.invoke(nativemethod)

at

com.android.internal.os.zygoteinit$methodandargscaller.run(zygoteinit.java:789)

atcom.android.internal.os.zygoteinit.main(zygoteinit.java:679)

先提取異常所對應的異常應用包名為:com.dropboxtest2.testerror。然后再掃描每一行,把符合這兩個條件的數(shù)據(jù)保存下來:由at開頭以及包含報錯應用包名。將滿足這兩個條件的行,去除空格等符號,并把獲得的標識信息保存在字符串logbody里:

atcom.dropboxtest2.testerror.mainactivity.onclick(mainactivity.java:71)

接著,將字符串logbody、異常所對應的異常應用包名以及終端所運行的操作系統(tǒng)的系統(tǒng)版本號用“===”連接起來,形成一個字符串異常快照,其最終異常快照結(jié)果為:

tcl/5080x/shine_lite:6.0/mra58k/v2ca6-0:user/release-keys===com.dropboxtest2.testerror===atcom.dropboxtest2.testerror.mainactivity.onclick(mainactivity.java:71)。

最后,將該異??煺张c數(shù)據(jù)庫中存在的已存儲日志的異常快照進行比對,若比對結(jié)果不一致,則將該異??煺蘸团c該異常快照所對應的待存儲日志上傳至數(shù)據(jù)庫,否則,則不上傳。

本實施方式中,系統(tǒng)根據(jù)待存儲日志確定異常的類型,進而根據(jù)異常的類型確定提取規(guī)則,并根據(jù)提取規(guī)則從待存儲日志提取標識信息,能夠快速提取出能夠唯一標識異常的標識信息,降低開發(fā)者的工作量,減少服務器的開支,提高工作的效率。

請參閱圖3,圖3是本發(fā)明終端的重復日志過濾方法第三實施方式的流程示意圖。本實施方式是以終端為主體的其中一種實施方式,該方法包括以下步驟:

s301:獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志。

s302:從待存儲日志提取能夠唯一標識異常的標識信息。

其中,提取能夠唯一標識異常的標識信息的其中一種實施方式為:先根據(jù)待存儲日志確定異常的類型,然后根據(jù)異常的類型確定提取規(guī)則,最后根據(jù)提取規(guī)則從待存儲日志提取標識信息。

具體地,根據(jù)提取規(guī)則從待存儲日志提取標識信息的其中一種實施方式為:先對待存儲日志中的異常信息進行逐行掃描,然后判斷當前行的異常信息中是否包含與提取規(guī)則對應的特定標記,若是包含特定標記,則提取當前行的異常信息作為標識信息。

s303:利用標識信息生成待存儲日志的異常快照。

其中,要判斷標識信息是否包含特定符號,若包含特定符號,則去除特定符號。具體地,特定符號為空格等。

其中,將標識信息與異常所對應的異常應用包名稱以及終端所運行的操作系統(tǒng)的系統(tǒng)版本號進行關聯(lián),并作為待存儲日志的異??煺?。

s304:將待存儲日志的異??煺瞻l(fā)送至服務器。

s305:判斷服務器基于待存儲日志的異??煺辗答伒目刂浦噶顬樯蟼髦噶钸€是放棄指令。

s306:若為上傳指令,則向服務器上傳待存儲日志以及待存儲日志的異??煺丈蟼髦练掌?。

s307:若為放棄指令,則不向服務器上傳待存儲日志以及待存儲日志的異??煺丈蟼髦练掌?。

本實施方式中,先獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志,并從待存儲日志提取能夠唯一標識異常的標識信息,進而利用標識信息生成待存儲日志的異??煺?,比對待存儲日志的異??煺张c數(shù)據(jù)庫中存在的已存儲日志的異常快照是否存在重復,若不存在重復,則將待存儲日志以及待存儲日志的異??煺沾鎯χ翑?shù)據(jù)庫,從而減少服務器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。

請參閱圖4,圖4是本發(fā)明終端的重復日志過濾方法第四實施方式的流程示意圖。本實施方式是以服務器為主體的其中一種實施方式,該方法包括以下步驟:

s401:從終端接收待存儲日志的異??煺?。

s402:比對待存儲日志的異常快照與數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜汀?/p>

s403:若不存在重復,則向終端發(fā)送上傳指令,以指示終端上傳待存儲日志以及待存儲日志的異??煺?。

s404:若存在重復,則向終端發(fā)送放棄指令,以指示終端不上傳待存儲日志以及待存儲日志的異??煺?。

本實施方式中,先獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志,并從待存儲日志提取能夠唯一標識異常的標識信息,進而利用標識信息生成待存儲日志的異常快照,比對待存儲日志的異常快照與數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜?,若不存在重復,則將待存儲日志以及待存儲日志的異??煺沾鎯χ翑?shù)據(jù)庫,從而減少服務器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。

請參閱圖5,圖5是本發(fā)明終端一實施方式的結(jié)構(gòu)示意圖。本實施方式中,該終端50為上述實施方式中的終端,該終端50包括第一處理器51、第一存儲器52、第一接收器53以及第一發(fā)送器54。

第一存儲器52用于存儲操作系統(tǒng)、第一處理器51執(zhí)行的指令以及接收到的消息等。

第一接收器53用于接收服務器指令。

第一發(fā)送器54用于上傳待存儲日志以及待存儲日志的異??煺铡?/p>

第一處理器51用于獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志;從待存儲日志提取能夠唯一標識異常的標識信息;利用標識信息生成待存儲日志的異常快照;將待存儲日志的異常快照發(fā)送至服務器;判斷服務器基于待存儲日志的異??煺辗答伒目刂浦噶顬樯蟼髦噶钸€是放棄指令;若為上傳指令,則向服務器上傳待存儲日志以及待存儲日志的異常快照上傳至服務器;若為放棄指令,則不向服務器上傳待存儲日志以及待存儲日志的異??煺丈蟼髦练掌鳌?/p>

其中,第一處理器51還用于根據(jù)待存儲日志確定異常的類型;根據(jù)異常的類型確定提取規(guī)則;根據(jù)提取規(guī)則從待存儲日志提取標識信息。

進一步地,第一處理器51還用于對待存儲日志中的異常信息進行逐行掃描;判斷當前行的異常信息中是否包含與提取規(guī)則對應的特定標記;若包含特定標記,則提取當前行的異常信息作為標識信息。

進一步地,第一處理器51還用于判斷標識信息是否包含特定符號;若包含特定符號,則去除特定符號。

進一步地,第一處理器51還用于將標識信息與異常所對應的異常應用包名稱以及終端所運行的操作系統(tǒng)的系統(tǒng)版本號進行關聯(lián),并作為待存儲日志的異??煺?。

本實施方式中,先獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志,并從待存儲日志提取能夠唯一標識異常的標識信息,進而利用標識信息生成待存儲日志的異常快照,比對待存儲日志的異常快照與數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜?,若不存在重復,則將待存儲日志以及待存儲日志的異??煺沾鎯χ翑?shù)據(jù)庫,從而減少服務器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。

請參閱圖6,圖6是本發(fā)明服務器一實施方式的流程示意圖。本實施方式中,該終端60為上述實施方式中的服務器,該服務器60包括第二處理器61、第二存儲器62、第二接收器63以及第二發(fā)送器64。

第二存儲器62用于存儲操作系統(tǒng)、第二處理器61執(zhí)行的指令以及接收到的消息等。

第二接收器63用于從終端接收待存儲日志的異??煺铡?/p>

第二發(fā)送器64用于發(fā)送上傳指令和放棄指令。

第二處理器61用于比對待存儲日志的異常快照與數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜停蝗舨淮嬖谥貜?,則向終端發(fā)送上傳指令,以指示終端上傳待存儲日志以及待存儲日志的異??煺?;若存在重復,則向終端發(fā)送放棄指令,以指示終端不上傳待存儲日志以及待存儲日志的異??煺?。

本實施方式中,先獲取終端在運行過程中產(chǎn)生的記錄有異常的待存儲日志,并從待存儲日志提取能夠唯一標識異常的標識信息,進而利用標識信息生成待存儲日志的異??煺眨葘Υ鎯θ罩镜漠惓?煺张c數(shù)據(jù)庫中存在的已存儲日志的異??煺帐欠翊嬖谥貜?,若不存在重復,則將待存儲日志以及待存儲日志的異常快照存儲至數(shù)據(jù)庫,從而減少服務器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。

以上所述僅為本發(fā)明的實施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運用在其他相關的技術(shù)領域,均同理包括在本發(fā)明的專利保護范圍內(nèi)。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
芦溪县| 岚皋县| 长阳| 马公市| 缙云县| 阳谷县| 阿克陶县| 育儿| 聊城市| 淮阳县| 呈贡县| 洛川县| 永善县| 怀柔区| 葫芦岛市| 微山县| 石渠县| 大城县| 南岸区| 张家港市| 临洮县| 连云港市| 道孚县| 澄江县| 和静县| 沾化县| 宜州市| 静乐县| 焦作市| 宣化县| 临泉县| 尤溪县| 建湖县| 石城县| 临潭县| 定州市| 锡林郭勒盟| 遂平县| 河源市| 宜兴市| 忻州市|