一種日志收集方法、裝置及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種日志收集方法、裝置及系統(tǒng)。
【背景技術(shù)】
[0002]為了研究用戶的操作行為,或者是發(fā)現(xiàn)客戶端存在的問題,客戶端通常都具有日志上報(bào)的功能,該功能用于將客戶端的一些操作行為上報(bào)到后臺(tái)服務(wù)器,便于后臺(tái)服務(wù)器進(jìn)行入庫(kù)分析。
[0003]在現(xiàn)有的日志收集系統(tǒng)中,后臺(tái)服務(wù)器與各客戶端建立連接,收集各客戶端上報(bào)的日志數(shù)據(jù),并經(jīng)過日志數(shù)據(jù)清洗過濾,日志結(jié)構(gòu)化分析解析等多道處理程序后,將處理后的日志數(shù)據(jù)存儲(chǔ)在關(guān)系型數(shù)據(jù)庫(kù)(如=MYSQL)相應(yīng)的表中,便于后續(xù)的分析。
[0004]隨著計(jì)算機(jī)軟件技術(shù)的發(fā)展,客戶端的版本更新很快。為了能更好的收集用戶的行為和系統(tǒng)的行為,每發(fā)布一次新的客戶端,需要收集的日志的數(shù)據(jù)格式就會(huì)需要更新。此時(shí),客戶端的開發(fā)者往往需要修改前一個(gè)版本的客戶端的日志的數(shù)據(jù)格式,如:增加信息字段,修改原有字段,刪除沒有用的字段等。而同一時(shí)期各種不同版本的客戶端往往是并存的,這些不同版本的客戶端都會(huì)向后臺(tái)服務(wù)器上報(bào)日志數(shù)據(jù)。這就導(dǎo)致后臺(tái)服務(wù)器時(shí)常需要根據(jù)客戶端的版本進(jìn)行適配,客戶端每修改一次日志的數(shù)據(jù)格式,后臺(tái)服務(wù)器就需要配合進(jìn)行日志解析程序的修改,否則就沒有辦法正確讀取日志各個(gè)字段的信息,也就無(wú)法做到結(jié)構(gòu)化的存儲(chǔ)。
【發(fā)明內(nèi)容】
[0005]有鑒于此,本發(fā)明提供一種日志收集方法、裝置及系統(tǒng),可提高日志收集的效率。
[0006]本發(fā)明實(shí)施例提供的一種日志收集方法,包括:終端設(shè)備通過預(yù)置的客戶端獲取日志文件,根據(jù)預(yù)設(shè)的上報(bào)策略將所述日志文件轉(zhuǎn)換為JSON數(shù)據(jù)格式的文件,并上報(bào)給服務(wù)器;所述服務(wù)器接收所述終端設(shè)備上報(bào)的JSON數(shù)據(jù)格式的所述日志文件,并將所述JSON數(shù)據(jù)格式的所述日志文件中的日志數(shù)據(jù)直接存儲(chǔ)在文檔型數(shù)據(jù)庫(kù)中。
[0007]本發(fā)明實(shí)施例提供的另一種日志收集方法,應(yīng)用于終端設(shè)備,包括:通過預(yù)置的客戶端獲取日志文件;根據(jù)預(yù)設(shè)的上報(bào)策略將所述日志文件轉(zhuǎn)換為JSON數(shù)據(jù)格式的文件;將轉(zhuǎn)換后的JSON數(shù)據(jù)格式的所述日志文件上報(bào)給服務(wù)器。
[0008]本發(fā)明實(shí)施例提供的又一種日志收集方法,應(yīng)用于服務(wù)器,包括:接收終端設(shè)備上報(bào)的JSON數(shù)據(jù)格式的日志文件;將所述JSON數(shù)據(jù)格式的日志文件中的日志數(shù)據(jù)直接存儲(chǔ)在文檔型數(shù)據(jù)庫(kù)中。
[0009]本發(fā)明實(shí)施例提供的一種日志收集裝置,運(yùn)行于終端設(shè)備,包括:獲取模塊,用于通過預(yù)置的客戶端獲取日志文件;轉(zhuǎn)換模塊,用于根據(jù)預(yù)設(shè)的上報(bào)策略將所述獲取模塊獲取的所述日志文件轉(zhuǎn)換為JSON數(shù)據(jù)格式的文件;上報(bào)模塊,用于將所述轉(zhuǎn)換模塊轉(zhuǎn)換后的JSON數(shù)據(jù)格式的所述日志文件上報(bào)給服務(wù)器。
[0010]本發(fā)明實(shí)施例提供的另一種日志收集裝置,運(yùn)行于服務(wù)器,包括:接收模塊,用于接收終端設(shè)備上報(bào)的JSON數(shù)據(jù)格式的日志文件;存儲(chǔ)模塊,用于將所述接收模塊接收的所述JSON數(shù)據(jù)格式的日志文件中的日志數(shù)據(jù)直接存儲(chǔ)在文檔型數(shù)據(jù)庫(kù)中。
[0011]本發(fā)明實(shí)施例提供的一種日志收集系統(tǒng),包括:終端設(shè)備與服務(wù)器;其中所述終端設(shè)備,用于通過預(yù)置的客戶端獲取日志文件,根據(jù)預(yù)設(shè)的上報(bào)策略將所述日志文件轉(zhuǎn)換為JSON數(shù)據(jù)格式的文件,并上報(bào)給服務(wù)器;所述服務(wù)器,用于接收所述終端設(shè)備上報(bào)的JSON數(shù)據(jù)格式的所述日志文件,并將所述JSON數(shù)據(jù)格式的所述日志文件中的日志數(shù)據(jù)直接存儲(chǔ)在文檔型數(shù)據(jù)庫(kù)中。
[0012]本發(fā)明實(shí)施例提供的日志收集方法、裝置及系統(tǒng),通過在終端設(shè)備一側(cè)通過客戶端統(tǒng)一在上報(bào)前將日志文件轉(zhuǎn)換為JSON數(shù)據(jù)格式的文件后再上報(bào)給服務(wù)器,并通過在服務(wù)器一側(cè)將該客戶端上報(bào)的JSON數(shù)據(jù)格式的文件中的日志數(shù)據(jù)直接存儲(chǔ)在文檔型數(shù)據(jù)庫(kù)中,可省去服務(wù)器一側(cè)日志數(shù)據(jù)清洗過濾與日志結(jié)構(gòu)化分析解析的程序,并可有效解決現(xiàn)有技術(shù)中存在的客戶端每修改一次日志文件的數(shù)據(jù)格式,服務(wù)器就需要配合進(jìn)行日志解析程序的修改,否則就無(wú)法正確讀取日志文件中各個(gè)字段的信息,也就無(wú)法做到結(jié)構(gòu)化的存儲(chǔ)的問題,從而可解放服務(wù)器一側(cè)的日志解析開發(fā)工作,并進(jìn)一步實(shí)現(xiàn)與業(yè)務(wù)無(wú)關(guān)的通用存儲(chǔ),提高日志收集的效率。
[0013]為讓本發(fā)明的上述和其他目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附圖式,作詳細(xì)說(shuō)明如下。
【附圖說(shuō)明】
[0014]圖1為本發(fā)明實(shí)施例提供的日志收集系統(tǒng)的示意圖;
[0015]圖2示出了一種終端設(shè)備的結(jié)構(gòu)示意圖;
[0016]圖3示出了一種服務(wù)器的結(jié)構(gòu)示意圖;
[0017]圖4為本發(fā)明第一實(shí)施例提供的日志收集方法的流程示意圖;
[0018]圖5為本發(fā)明第二實(shí)施例提供的日志收集方法的流程示意圖;
[0019]圖6為本發(fā)明第三實(shí)施例提供的日志收集方法的流程示意圖;
[0020]圖7為本發(fā)明第四實(shí)施例提供的日志收集方法的流程示意圖;
[0021]圖8為本發(fā)明第五與第六實(shí)施例提供的日志收集裝置的結(jié)構(gòu)示意圖;
[0022]圖9為本發(fā)明第七實(shí)施例提供的日志收集裝置的結(jié)構(gòu)示意圖;
[0023]圖10為本發(fā)明第八實(shí)施例提供的日志收集裝置的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0024]為更進(jìn)一步闡述本發(fā)明為實(shí)現(xiàn)預(yù)定發(fā)明目的所采取的技術(shù)手段及功效,以下結(jié)合附圖及較佳實(shí)施例,對(duì)依據(jù)本發(fā)明的【具體實(shí)施方式】、結(jié)構(gòu)、特征及其功效,詳細(xì)說(shuō)明如后。
[0025]圖1為本發(fā)明實(shí)施例提供的日志收集方法及裝置的應(yīng)用環(huán)境圖。如圖1所示,終端設(shè)備100與服務(wù)器200位于有線或無(wú)線網(wǎng)絡(luò)中,通過該有線網(wǎng)絡(luò)或無(wú)線網(wǎng)絡(luò),終端設(shè)備100與服務(wù)器200進(jìn)行數(shù)據(jù)交互。
[0026]其中,終端設(shè)備100,用于通過預(yù)置的客戶端獲取日志文件,根據(jù)預(yù)設(shè)的上報(bào)策略將該日志文件轉(zhuǎn)換為JSON數(shù)據(jù)格式的文件,并上報(bào)給服務(wù)器;服務(wù)器200,用于接收終端設(shè)備100上報(bào)的JSON數(shù)據(jù)格式的該日志文件,并將該JSON數(shù)據(jù)格式的該日志文件中的日志數(shù)據(jù)直接存儲(chǔ)在文檔型數(shù)據(jù)庫(kù)中。
[0027]請(qǐng)參閱圖2,圖2為一種終端設(shè)備的結(jié)構(gòu)示意圖。本發(fā)明中的終端設(shè)備可以包括:支持日志上報(bào)及網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)闹悄苁謾C(jī)、平板電腦、筆記本、POS機(jī)、電子書閱讀器、MP3播放器(Moving Picture Experts Group Aud1 Layer III,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面 3)、MP4 (Moving Picture Experts Group Aud1 Layer IV,動(dòng)態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面4)播放器、膝上型便攜計(jì)算機(jī)、車載電腦、可穿戴設(shè)備、一體機(jī)、臺(tái)式計(jì)算機(jī)等等。
[0028]終端設(shè)備100包括:存儲(chǔ)器102、存儲(chǔ)控制器104、一個(gè)或多個(gè)(圖中僅示出一個(gè))處理器106、外設(shè)接口 108、射頻模塊110、音頻模塊112、顯示模塊114以及按鍵模塊116。這些組件通過一條或多條通訊總線/信號(hào)線118相互通訊。
[0029]可以理解,圖2所示的結(jié)構(gòu)僅為示意,終端設(shè)備100還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。圖2中所示的各組件可以采用硬件、軟件或其組合實(shí)現(xiàn)。
[0030]存儲(chǔ)器102可用于存儲(chǔ)軟件程序以及模塊,如本發(fā)明實(shí)施例中的日志收集方法、裝置及系統(tǒng)對(duì)應(yīng)的程序指令/模塊,處理器106通過運(yùn)行存儲(chǔ)在存儲(chǔ)器102內(nèi)的軟件程序以及模塊,從而執(zhí)行各種功能應(yīng)用以及數(shù)據(jù)處理,即實(shí)現(xiàn)上述的日志收集方法。
[0031]存儲(chǔ)器102可包括高速隨機(jī)存儲(chǔ)器,還可包括非易失性存儲(chǔ)器,如一個(gè)或者多個(gè)磁性存儲(chǔ)裝置、閃存、或者其他非易失性固態(tài)存儲(chǔ)器。在一些實(shí)例中,存儲(chǔ)器102可進(jìn)一步包括相對(duì)于處理器106遠(yuǎn)程設(shè)置的存儲(chǔ)器,這些遠(yuǎn)程存儲(chǔ)器可以通過網(wǎng)絡(luò)連接至終端設(shè)備100。上述網(wǎng)絡(luò)的實(shí)例包括但不限于互聯(lián)網(wǎng)、企業(yè)內(nèi)部網(wǎng)、局域網(wǎng)、移動(dòng)通信網(wǎng)及其組合。處理器106以及其他可能的組件對(duì)存儲(chǔ)器102的訪問可在存儲(chǔ)控制器104的控制下進(jìn)行。
[0032]處理器106運(yùn)行存儲(chǔ)器102內(nèi)的各種軟件、指令以執(zhí)行終端設(shè)備100的各種功能以及進(jìn)行數(shù)據(jù)處理。
[0033]外設(shè)接口 108用于將各種外部設(shè)備耦合至CPU以及存儲(chǔ)器102。
[0034]在一些實(shí)施例中,存儲(chǔ)控制器104、處理器106以及外設(shè)接口 108可以在單個(gè)芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,他們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
[0035]射頻模塊110用于接收以及發(fā)送電磁波,實(shí)現(xiàn)電磁波與電信號(hào)的相互轉(zhuǎn)換,從而與通信