本發(fā)明涉及網(wǎng)絡(luò)安全技術(shù)領(lǐng)域,特別是涉及一種終端的重復(fù)日志過濾方法。
背景技術(shù):
日志即是我們常說的log,通常是系統(tǒng)或者某些軟件對已完成的某種處理的記錄,以便將來異常發(fā)生時(shí)做為參考,解決軟件的漏洞。日志的存在,讓異常發(fā)生之后,系統(tǒng)和軟件的開發(fā)者可以快速定位問題、解決問題,日志對維護(hù)系統(tǒng)和軟件有著至關(guān)重要的作用。
目前,雖然已經(jīng)有很多可以在手機(jī)端自動(dòng)抓取異常日志的應(yīng)用,當(dāng)異常發(fā)生時(shí),可以自動(dòng)把異常相關(guān)的日志保存和上傳服務(wù)器,然后工程師可以根據(jù)上傳的日志解決問題。但是,由于系統(tǒng)無時(shí)無刻不在產(chǎn)生日志,導(dǎo)致日志文件十分繁雜,當(dāng)一個(gè)異常重復(fù)發(fā)生時(shí),應(yīng)用就會(huì)不斷地上傳重復(fù)的日志到服務(wù)器,這就導(dǎo)致了數(shù)據(jù)的冗余,會(huì)浪費(fèi)工程師大量的時(shí)間去分析日志。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明主要解決的技術(shù)問題是提供一種終端的重復(fù)日志過濾方法,能夠降低開發(fā)者的工作量,減少服務(wù)器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。
為解決上述技術(shù)問題,本發(fā)明采用的一個(gè)技術(shù)方案是:提供一種終端的重復(fù)日志過濾方法,所述方法包括:獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志;從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息;利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺?;比對待存儲(chǔ)日志的異常快照與數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù);若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異常快照存儲(chǔ)至數(shù)據(jù)庫。
為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種終端的重復(fù)日志過濾方法,所述方法包括:獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志;從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息;利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺眨粚⒋鎯?chǔ)日志的異??煺瞻l(fā)送至服務(wù)器;判斷服務(wù)器基于待存儲(chǔ)日志的異??煺辗答伒目刂浦噶顬樯蟼髦噶钸€是放棄指令;若為上傳指令,則向服務(wù)器上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異常快照上傳至服務(wù)器;若為放棄指令,則不向服務(wù)器上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺丈蟼髦练?wù)器。
為解決上述技術(shù)問題,本發(fā)明采用的另一個(gè)技術(shù)方案是:提供一種終端的重復(fù)日志過濾方法,所述方法包括:從終端接收待存儲(chǔ)日志的異常快照;比對待存儲(chǔ)日志的異常快照與數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù);若不存在重復(fù),則向終端發(fā)送上傳指令,以指示終端上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺?;若存在重復(fù),則向終端發(fā)送放棄指令,以指示終端不上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺?。
本發(fā)明的有益效果是:區(qū)別于現(xiàn)有技術(shù)的情況,本發(fā)明先獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志,并從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,進(jìn)而利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺?,比對待存儲(chǔ)日志的異常快照與數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù),若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異常快照存儲(chǔ)至數(shù)據(jù)庫,從而減少服務(wù)器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。
附圖說明
圖1是本發(fā)明終端的重復(fù)日志過濾方法第一實(shí)施方式的流程示意圖;
圖2是本發(fā)明終端的重復(fù)日志過濾方法第二實(shí)施方式的流程示意圖;
圖3是本發(fā)明終端的重復(fù)日志過濾方法第三實(shí)施方式的流程示意圖;
圖4是本發(fā)明終端的重復(fù)日志過濾方法第四實(shí)施方式的流程示意圖;
圖5是本發(fā)明終端一實(shí)施方式的結(jié)構(gòu)示意圖;
圖6是本發(fā)明服務(wù)器一實(shí)施方式的結(jié)構(gòu)示意圖。
具體實(shí)施方式
請參閱圖1,圖1是本發(fā)明終端的重復(fù)日志過濾方法第一實(shí)施方式的流程示意圖。需注意的是,若有實(shí)質(zhì)上相同的結(jié)果,本發(fā)明的方法并不以圖1所示的流程順序?yàn)橄?。如圖1所示,該方法包括如下步驟:
s101:獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志。
其中,日志也即是log,通常是系統(tǒng)或者某些軟件對已完成的某種處理的記錄,以便將來做為參考,它并沒有固定的格式,通常是文本文件,可以用記事本打開以查看內(nèi)容,當(dāng)然很可能是其它格式,直接打開就是亂碼。大部分的log可以從文件名看出它的作用,比如uninstall.log或是error.log,當(dāng)然前者通常是軟件安裝過程中生成的記錄,以便將來卸載的時(shí)候可以提供給卸載程序使用,后者通常是用來記錄一些軟件運(yùn)行中的錯(cuò)誤信息等等。
其中,終端可以手機(jī)、平板電腦、筆記本電腦、掌上電腦、移動(dòng)互聯(lián)網(wǎng)設(shè)備(mid,mobileinternetdevice)、可穿戴設(shè)備(智能手表、智能手環(huán))或其他終端設(shè)備。
其中,首先需要說明一個(gè)問題,具有相同異常的待存儲(chǔ)日志,產(chǎn)生的日志文件有可能會(huì)不同。這是因?yàn)槿罩疚募锩娉水惓P畔⒅猓€記錄了大量動(dòng)態(tài)的信息,比如異常的時(shí)間、即時(shí)的進(jìn)程號(hào)、動(dòng)態(tài)的內(nèi)存地址等,這些變化的數(shù)據(jù)會(huì)導(dǎo)致一個(gè)同樣的異常,在不同的時(shí)間發(fā)生,生成的日志也不同。
進(jìn)一步地,由于終端設(shè)備沒有可以進(jìn)行檢測異常日志的功能,因此,終端設(shè)備想要獲取在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志的信息,需要注冊相應(yīng)的服務(wù)。具體地,當(dāng)安卓(android)設(shè)備注冊了dropbox之后,android系統(tǒng)中的dropboxmanager就會(huì)發(fā)送dropbox的廣播,android設(shè)備便可以得到記錄有異常的待存儲(chǔ)日志。
s102:從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息。
其中,由于具有相同異常的待存儲(chǔ)日志,產(chǎn)生的日志文件有可能會(huì)不同。因此,可以提取待存儲(chǔ)日志中能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,這些能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息不包括日志的動(dòng)態(tài)的信息。
s103:利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺?。
其中,根據(jù)預(yù)定的精簡規(guī)則對標(biāo)識(shí)信息進(jìn)行精簡。具體地,先判斷標(biāo)識(shí)信息是否包含特定符號(hào);若包含特定符號(hào),則去除特定符號(hào)。其中,特定符號(hào)包括空格等。
進(jìn)一步地,將標(biāo)識(shí)信息與異常所對應(yīng)的異常應(yīng)用包名稱以及終端所運(yùn)行的操作系統(tǒng)的系統(tǒng)版本號(hào)進(jìn)行關(guān)聯(lián),并作為待存儲(chǔ)日志的異??煺?。具體地,將標(biāo)識(shí)信息與異常應(yīng)用包名以及終端所運(yùn)行的操作系統(tǒng)的系統(tǒng)版本號(hào)用“===”連接起來,形成一個(gè)字符串類型的完整異常快照。
s104:比對待存儲(chǔ)日志的異常快照與數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù)。
其中,數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異常快照包括能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息、異常所對應(yīng)的異常應(yīng)用包名以及終端所運(yùn)行的操作系統(tǒng)的系統(tǒng)版本號(hào)。具體地,對比地過程也即是對比待存儲(chǔ)日志以及數(shù)據(jù)庫中存在的已存儲(chǔ)日志的能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息、異常所對應(yīng)的異常應(yīng)用包名以及終端所運(yùn)行的操作系統(tǒng)的系統(tǒng)版本號(hào)。
s105:若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異常快照存儲(chǔ)至數(shù)據(jù)庫。
具體地,若待存儲(chǔ)日志與已存儲(chǔ)日志的唯一區(qū)別僅僅在于動(dòng)態(tài)信息的不同,則系統(tǒng)視待存儲(chǔ)日志與已存儲(chǔ)日志為重復(fù)日志。
s106:若存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺詹淮鎯?chǔ)至數(shù)據(jù)庫。
在本實(shí)施方式中,先獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志,并從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,進(jìn)而利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異常快照,比對待存儲(chǔ)日志的異??煺张c數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù),若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺沾鎯?chǔ)至數(shù)據(jù)庫,從而減少服務(wù)器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。
請參閱圖2,圖2是本發(fā)明終端的重復(fù)日志過濾方法第二實(shí)施方式的流程示意圖。本實(shí)施方式為從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息的其中以具體的實(shí)施方式,該方法包括以下步驟:
s201:根據(jù)待存儲(chǔ)日志確定異常的類型。
具體地,待存儲(chǔ)日志確定異常的類型可以具體的分為應(yīng)用層的異常(javeexception)、本地層的異常(nativeexception)以及應(yīng)用無響應(yīng)的異常(applicationnotresponsing)。
s202:根據(jù)異常的類型確定提取規(guī)則。
具體地,應(yīng)用層的異常的提取規(guī)則為:對異常信息每一行進(jìn)行兩次判斷,首先判斷是否由at開頭,然后判斷是否包含報(bào)錯(cuò)應(yīng)用包名。由于at開頭的是異常的堆棧信息,是異常發(fā)生代碼的位置,可以唯一標(biāo)識(shí)這個(gè)異常;而包含報(bào)錯(cuò)應(yīng)用的包名之后,可以去掉一些無關(guān)的內(nèi)容,可以精簡異常快照。
具體地,本地層的異常的提取規(guī)則為:對異常信息每一行進(jìn)行判斷,把由“#00”“#01”“#02”開頭的行提取出來,并去除空格等符號(hào)。由于本地層的異常的類型重要的異常信息集中在這三行中,可以把這三行的內(nèi)容作為異??煺盏闹黧w。
具體地,應(yīng)用無響應(yīng)的異常的提取規(guī)則為:對異常信息每一行進(jìn)行判斷,把由“executing”開頭的行提取出來,并去除空格等符號(hào)。
s203:根據(jù)提取規(guī)則從待存儲(chǔ)日志提取標(biāo)識(shí)信息。
其中一個(gè)具體的實(shí)施方式為,對待存儲(chǔ)日志中的異常信息進(jìn)行逐行掃描,并判斷當(dāng)前行的異常信息中是否包含與提取規(guī)則對應(yīng)的特定標(biāo)記,若包含特定標(biāo)記,則提取當(dāng)前行的異常信息作為標(biāo)識(shí)信息。
具體地,應(yīng)用層的異常所提取的行同時(shí)包含at開頭和報(bào)錯(cuò)應(yīng)用包名;本地層的異常所提取的行包含由“#00”“#01”“#02”開頭;應(yīng)用無響應(yīng)的異常所提取的行包含由“executing”開頭。
在其中一個(gè)具體的實(shí)施方式中,以android設(shè)備為例,當(dāng)android設(shè)備的應(yīng)用層發(fā)生異常時(shí),android系統(tǒng)的dropboxmanager會(huì)發(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)
先提取異常所對應(yīng)的異常應(yīng)用包名為:com.dropboxtest2.testerror。然后再掃描每一行,把符合這兩個(gè)條件的數(shù)據(jù)保存下來:由at開頭以及包含報(bào)錯(cuò)應(yīng)用包名。將滿足這兩個(gè)條件的行,去除空格等符號(hào),并把獲得的標(biāo)識(shí)信息保存在字符串logbody里:
atcom.dropboxtest2.testerror.mainactivity.onclick(mainactivity.java:71)
接著,將字符串logbody、異常所對應(yīng)的異常應(yīng)用包名以及終端所運(yùn)行的操作系統(tǒng)的系統(tǒng)版本號(hào)用“===”連接起來,形成一個(gè)字符串異??煺?,其最終異??煺战Y(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ù)庫中存在的已存儲(chǔ)日志的異常快照進(jìn)行比對,若比對結(jié)果不一致,則將該異??煺蘸团c該異??煺账鶎?yīng)的待存儲(chǔ)日志上傳至數(shù)據(jù)庫,否則,則不上傳。
本實(shí)施方式中,系統(tǒng)根據(jù)待存儲(chǔ)日志確定異常的類型,進(jìn)而根據(jù)異常的類型確定提取規(guī)則,并根據(jù)提取規(guī)則從待存儲(chǔ)日志提取標(biāo)識(shí)信息,能夠快速提取出能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,降低開發(fā)者的工作量,減少服務(wù)器的開支,提高工作的效率。
請參閱圖3,圖3是本發(fā)明終端的重復(fù)日志過濾方法第三實(shí)施方式的流程示意圖。本實(shí)施方式是以終端為主體的其中一種實(shí)施方式,該方法包括以下步驟:
s301:獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志。
s302:從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息。
其中,提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息的其中一種實(shí)施方式為:先根據(jù)待存儲(chǔ)日志確定異常的類型,然后根據(jù)異常的類型確定提取規(guī)則,最后根據(jù)提取規(guī)則從待存儲(chǔ)日志提取標(biāo)識(shí)信息。
具體地,根據(jù)提取規(guī)則從待存儲(chǔ)日志提取標(biāo)識(shí)信息的其中一種實(shí)施方式為:先對待存儲(chǔ)日志中的異常信息進(jìn)行逐行掃描,然后判斷當(dāng)前行的異常信息中是否包含與提取規(guī)則對應(yīng)的特定標(biāo)記,若是包含特定標(biāo)記,則提取當(dāng)前行的異常信息作為標(biāo)識(shí)信息。
s303:利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺铡?/p>
其中,要判斷標(biāo)識(shí)信息是否包含特定符號(hào),若包含特定符號(hào),則去除特定符號(hào)。具體地,特定符號(hào)為空格等。
其中,將標(biāo)識(shí)信息與異常所對應(yīng)的異常應(yīng)用包名稱以及終端所運(yùn)行的操作系統(tǒng)的系統(tǒng)版本號(hào)進(jìn)行關(guān)聯(lián),并作為待存儲(chǔ)日志的異??煺?。
s304:將待存儲(chǔ)日志的異??煺瞻l(fā)送至服務(wù)器。
s305:判斷服務(wù)器基于待存儲(chǔ)日志的異常快照反饋的控制指令為上傳指令還是放棄指令。
s306:若為上傳指令,則向服務(wù)器上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺丈蟼髦练?wù)器。
s307:若為放棄指令,則不向服務(wù)器上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺丈蟼髦练?wù)器。
本實(shí)施方式中,先獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志,并從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,進(jìn)而利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺眨葘Υ鎯?chǔ)日志的異??煺张c數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù),若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異常快照存儲(chǔ)至數(shù)據(jù)庫,從而減少服務(wù)器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。
請參閱圖4,圖4是本發(fā)明終端的重復(fù)日志過濾方法第四實(shí)施方式的流程示意圖。本實(shí)施方式是以服務(wù)器為主體的其中一種實(shí)施方式,該方法包括以下步驟:
s401:從終端接收待存儲(chǔ)日志的異??煺?。
s402:比對待存儲(chǔ)日志的異常快照與數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù)。
s403:若不存在重復(fù),則向終端發(fā)送上傳指令,以指示終端上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺?。
s404:若存在重復(fù),則向終端發(fā)送放棄指令,以指示終端不上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺?。
本實(shí)施方式中,先獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志,并從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,進(jìn)而利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺眨葘Υ鎯?chǔ)日志的異??煺张c數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異常快照是否存在重復(fù),若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺沾鎯?chǔ)至數(shù)據(jù)庫,從而減少服務(wù)器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。
請參閱圖5,圖5是本發(fā)明終端一實(shí)施方式的結(jié)構(gòu)示意圖。本實(shí)施方式中,該終端50為上述實(shí)施方式中的終端,該終端50包括第一處理器51、第一存儲(chǔ)器52、第一接收器53以及第一發(fā)送器54。
第一存儲(chǔ)器52用于存儲(chǔ)操作系統(tǒng)、第一處理器51執(zhí)行的指令以及接收到的消息等。
第一接收器53用于接收服務(wù)器指令。
第一發(fā)送器54用于上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺?。
第一處理器51用于獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志;從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息;利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺?;將待存儲(chǔ)日志的異??煺瞻l(fā)送至服務(wù)器;判斷服務(wù)器基于待存儲(chǔ)日志的異??煺辗答伒目刂浦噶顬樯蟼髦噶钸€是放棄指令;若為上傳指令,則向服務(wù)器上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺丈蟼髦练?wù)器;若為放棄指令,則不向服務(wù)器上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺丈蟼髦练?wù)器。
其中,第一處理器51還用于根據(jù)待存儲(chǔ)日志確定異常的類型;根據(jù)異常的類型確定提取規(guī)則;根據(jù)提取規(guī)則從待存儲(chǔ)日志提取標(biāo)識(shí)信息。
進(jìn)一步地,第一處理器51還用于對待存儲(chǔ)日志中的異常信息進(jìn)行逐行掃描;判斷當(dāng)前行的異常信息中是否包含與提取規(guī)則對應(yīng)的特定標(biāo)記;若包含特定標(biāo)記,則提取當(dāng)前行的異常信息作為標(biāo)識(shí)信息。
進(jìn)一步地,第一處理器51還用于判斷標(biāo)識(shí)信息是否包含特定符號(hào);若包含特定符號(hào),則去除特定符號(hào)。
進(jìn)一步地,第一處理器51還用于將標(biāo)識(shí)信息與異常所對應(yīng)的異常應(yīng)用包名稱以及終端所運(yùn)行的操作系統(tǒng)的系統(tǒng)版本號(hào)進(jìn)行關(guān)聯(lián),并作為待存儲(chǔ)日志的異常快照。
本實(shí)施方式中,先獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志,并從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,進(jìn)而利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺?,比對待存儲(chǔ)日志的異??煺张c數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù),若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺沾鎯?chǔ)至數(shù)據(jù)庫,從而減少服務(wù)器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。
請參閱圖6,圖6是本發(fā)明服務(wù)器一實(shí)施方式的流程示意圖。本實(shí)施方式中,該終端60為上述實(shí)施方式中的服務(wù)器,該服務(wù)器60包括第二處理器61、第二存儲(chǔ)器62、第二接收器63以及第二發(fā)送器64。
第二存儲(chǔ)器62用于存儲(chǔ)操作系統(tǒng)、第二處理器61執(zhí)行的指令以及接收到的消息等。
第二接收器63用于從終端接收待存儲(chǔ)日志的異常快照。
第二發(fā)送器64用于發(fā)送上傳指令和放棄指令。
第二處理器61用于比對待存儲(chǔ)日志的異??煺张c數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù);若不存在重復(fù),則向終端發(fā)送上傳指令,以指示終端上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺?;若存在重復(fù),則向終端發(fā)送放棄指令,以指示終端不上傳待存儲(chǔ)日志以及待存儲(chǔ)日志的異常快照。
本實(shí)施方式中,先獲取終端在運(yùn)行過程中產(chǎn)生的記錄有異常的待存儲(chǔ)日志,并從待存儲(chǔ)日志提取能夠唯一標(biāo)識(shí)異常的標(biāo)識(shí)信息,進(jìn)而利用標(biāo)識(shí)信息生成待存儲(chǔ)日志的異??煺?,比對待存儲(chǔ)日志的異常快照與數(shù)據(jù)庫中存在的已存儲(chǔ)日志的異??煺帐欠翊嬖谥貜?fù),若不存在重復(fù),則將待存儲(chǔ)日志以及待存儲(chǔ)日志的異??煺沾鎯?chǔ)至數(shù)據(jù)庫,從而減少服務(wù)器的開支,提高工作的效率和終端系統(tǒng)的穩(wěn)定性。
以上所述僅為本發(fā)明的實(shí)施方式,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。