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

日志壓縮方法及裝置的制造方法

文檔序號(hào):10655258閱讀:207來(lái)源:國(guó)知局
日志壓縮方法及裝置的制造方法
【專利摘要】本發(fā)明涉及一種日志壓縮方法及裝置,其中方法包括以下步驟:獲取包含日志記錄的文件;根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所述文件,分別以唯一的編號(hào)替代所述文件中每一所述日志記錄的字符串,得到已替代日志記錄;對(duì)所述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,得到壓縮后的日志。本發(fā)明利用日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,分別以唯一的編號(hào)替代文件中各條日志記錄的字符串,從而減少了字符串所占的字節(jié)數(shù),提升了日志的壓縮比,同時(shí)對(duì)字符串替代后的日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,有效降低了日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,進(jìn)一步提高了日志壓縮比和壓縮效率。
【專利說(shuō)明】
曰志壓縮方法及裝置
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及數(shù)據(jù)壓縮技術(shù)領(lǐng)域,特別是涉及一種日志壓縮方法及裝置?!颈尘凹夹g(shù)】
[0002]日志功能是無(wú)線通信系統(tǒng)的一項(xiàng)重要功能,在運(yùn)營(yíng)商的設(shè)備中,由于不能實(shí)時(shí)觀察系統(tǒng)運(yùn)行信息,當(dāng)出現(xiàn)用戶投訴時(shí),追溯用戶投訴的問(wèn)題原因時(shí)只能通過(guò)所存儲(chǔ)的系統(tǒng)日志來(lái)分析解決,因此日志對(duì)于系統(tǒng)問(wèn)題的分析和定位起著至關(guān)重要的作用。
[0003]同時(shí),基于產(chǎn)品成本的考慮,無(wú)線通信系統(tǒng)的存儲(chǔ)介質(zhì)空間通常受到嚴(yán)格的限制, 因而無(wú)法存儲(chǔ)大量的系統(tǒng)日志,這給系統(tǒng)問(wèn)題的分析和定位帶來(lái)了巨大的挑戰(zhàn),因此,如何進(jìn)一步提高日志壓縮效果,對(duì)于在有限的存儲(chǔ)介質(zhì)空間上提升存儲(chǔ)的系統(tǒng)日志內(nèi)容具有重要意義。目前,在日志壓縮方面,存在著多種壓縮方法,但這些壓縮方法仍存在壓縮比較低、 壓縮效果不夠理想的問(wèn)題。
【發(fā)明內(nèi)容】

[0004]基于此,有必要針對(duì)目前日志壓縮比較低、壓縮效果不夠理想的問(wèn)題,提供一種日志壓縮方法及裝置,本發(fā)明所提出的日志壓縮方法及裝置通過(guò)對(duì)日志內(nèi)容進(jìn)行智能壓縮處理,改善了日志的壓縮效率,提升了日志的壓縮比。
[0005]本發(fā)明采取如下的技術(shù)方案:
[0006]—種日志壓縮方法,所述方法包括以下步驟:
[0007]獲取包含日志記錄的文件;
[0008]根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所述文件,分別以唯一的編號(hào)替代所述文件中每一所述日志記錄的字符串,得到已替代日志記錄;
[0009]對(duì)所述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,得到壓縮后的日志。
[0010]相應(yīng)地,本發(fā)明還提出一種日志壓縮裝置,所述裝置包括:
[0011]獲取模塊,用于獲取包含日志記錄的文件;
[0012]替代模塊,用于根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所述文件,分別以唯一的編號(hào)替代所述文件中每一所述日志記錄的字符串,得到已替代日志記錄;
[0013]編碼模塊,用于對(duì)所述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,得到壓縮后的日志。
[0014]上述日志壓縮方法及裝置利用日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,分別以唯一的編號(hào)替代文件中每一所述日志記錄的字符串,從而縮短日志記錄中字符串的長(zhǎng)度,減少了字符串所占的字節(jié)數(shù),提升了日志的壓縮比,同時(shí)對(duì)字符串替代后的日志記錄即已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,即對(duì)于共時(shí)間段的日志記錄, 只保留第一條日志記錄的時(shí)間信息,其他共時(shí)間段共時(shí)間戳的日志記錄的時(shí)間信息均采用某一字符替代,因此共時(shí)段日志共時(shí)間戳編碼處理有效降低了時(shí)間信息相同的日志記錄的時(shí)間戳開(kāi)銷,降低了日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,從而進(jìn)一步提高了日志壓縮比和壓縮效率?!靖綀D說(shuō)明】
[0015]圖1為本發(fā)明其中一個(gè)實(shí)施例中日志壓縮方法的流程示意圖;
[0016]圖2為本發(fā)明其中一個(gè)實(shí)施例中日志壓縮裝置的結(jié)構(gòu)示意圖。【具體實(shí)施方式】
[0017]下面將結(jié)合附圖及較佳實(shí)施例對(duì)本發(fā)明的技術(shù)方案進(jìn)行詳細(xì)描述。
[0018]在其中一個(gè)實(shí)施例中,參見(jiàn)圖1所示,一種日志壓縮方法,該方法包括以下步驟:
[0019]S100獲取包含日志記錄的文件。
[0020]S200根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所述文件,分別以唯一的編號(hào)替代所述文件中每一所述日志記錄的字符串,得到已替代日志記錄。
[0021]在本發(fā)明中,日志記錄輸出是指開(kāi)發(fā)人員在源代碼中插入需要輸出系統(tǒng)中某些變量或過(guò)程狀態(tài)的信息,例如
[0022]???source code---
[0023]L0G_DEBUG(M0D_AA,macld,^ueNumt %d],throughOutput[%u]MB.state is ideal!\n〃,ueNUm,totalthp);
[0024]???source code---[〇〇25]在步驟S200中,根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,按照日志記錄輸出優(yōu)先級(jí)順序分別以唯一的編號(hào)替代文件中每一所述日志記錄的字符串,得到已替代的日志記錄,例如,以系統(tǒng)業(yè)務(wù)日志為例,業(yè)務(wù)日志輸出的格式為“時(shí)間+表示日志記錄中信息含義的字符串+動(dòng)態(tài)變量的值”,假設(shè)字符串替代前的日志記錄為:
[0026] a:[2000-01-01 00:06:53:752]:ueNum[32],total throught[20]MB,state is ideal 〇[〇〇27] 其中“a”表示日志記錄編號(hào),“[2000-01-01 00:06:53:752]”表示日志記錄的時(shí)間信息,“32”和“20”均表示動(dòng)態(tài)變量的實(shí)時(shí)輸出值,將上述日志記錄中表示日志記錄的字符串用唯一的編號(hào)進(jìn)行替代,這里,在其中一種可選的實(shí)施方式中,以數(shù)值型編號(hào)替代日志記錄中的字符串,并且根據(jù)日志記錄的總條數(shù)確定數(shù)值型編號(hào)所占的字節(jié)數(shù),優(yōu)選地,數(shù)值型編號(hào)所占的字節(jié)數(shù)小于或者等于4個(gè)字節(jié),以滿足壓縮時(shí)日志記錄的總條數(shù)需求的同時(shí),保證每條日志記錄的壓縮效果。用唯一的編號(hào)替代上述日志記錄中表示日志記錄的對(duì)應(yīng)的字符串后,得到的已替代日志記錄為:
[0028]ai[2000-01-01 00:06:53:752]:10,32,20[〇〇29]即利用數(shù)值型編號(hào)“10”替代表示日志記錄的字符串“ueNUm[ ],total throught[] MB,state is ideal?!憋@然地,數(shù)值型編號(hào)“10”所占的字節(jié)數(shù)遠(yuǎn)小于替代前表示日志記錄的字符串的字節(jié)數(shù),因此對(duì)表示日志記錄的字符串進(jìn)行替代能夠顯著地提高日志記錄的壓縮比。在上述的例子中,僅以數(shù)值型編號(hào)為例對(duì)如何以唯一的編號(hào)替代表示日志記錄的對(duì)應(yīng)的字符串進(jìn)行了說(shuō)明,實(shí)際上,以唯一的編號(hào)對(duì)相應(yīng)的字符串進(jìn)行替代,其目的主要是通過(guò)所占字節(jié)數(shù)較少的編號(hào)替代所占字節(jié)數(shù)較多的字符串以減少日志記錄整體所占的字節(jié)數(shù),并在恢復(fù)日志記錄內(nèi)容時(shí),根據(jù)壓縮時(shí)唯一的編號(hào)可以對(duì)壓縮的日志記錄進(jìn)行解壓恢復(fù),因此在對(duì)表示日志記錄的字符串進(jìn)行替代以提高日志記錄壓縮比的過(guò)程中,用于替代字符串的編號(hào)只要能夠滿足縮短字符串所占字節(jié)并能用于恢復(fù)日志記錄即可,用于替代字符串的編號(hào)并不局限于數(shù)值型編號(hào),其他編號(hào)如字母型編號(hào)、數(shù)字與字母相結(jié)合的編號(hào)或者其他類型的編號(hào)等也完全適用于本發(fā)明中對(duì)字符串的替代。當(dāng)用于替代表示日志記錄的字符串的編號(hào)為數(shù)值型編號(hào)時(shí),在其中一個(gè)具體的實(shí)施方式中,可以根據(jù)字符串的輸出頻率的大小順序確定字符串對(duì)應(yīng)的數(shù)值型編號(hào)的取值,當(dāng)字符串的輸出頻率越大時(shí),數(shù)值型編號(hào)的取值越小,即本實(shí)施方式可以按照字符串的輸出頻率從大至小的順序確定對(duì)應(yīng)的數(shù)值型編號(hào)從小至大的取值,即對(duì)于輸出頻率較大的字符串,利用取值較小的數(shù)值型編號(hào)予以替代,由于取值較小的數(shù)值型編號(hào)所占的字節(jié)數(shù)相應(yīng)較小,而且數(shù)值型編號(hào)較小的日志記錄在日志解壓恢復(fù)的過(guò)程中所需遍歷的次數(shù)少,因此按照字符串的輸出頻率從大至小的順序確定對(duì)應(yīng)的數(shù)值型編號(hào)從小至大的取值不僅有利于提高日志記錄的壓縮效果,而且同時(shí)有利于提高日志解壓恢復(fù)的速度。
[0030]由于本實(shí)施例的日志壓縮方法是根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件并分別以唯一的編號(hào)對(duì)文件中每一所述日志記錄的字符串進(jìn)行替代的,因此在解壓恢復(fù)原日志記錄時(shí),根據(jù)日志記錄輸出優(yōu)先級(jí)進(jìn)行解壓恢復(fù)即可,減小了遍歷所有文件中的日志記錄的次數(shù),有利于提高解壓恢復(fù)日志記錄的速度和效率。其中,對(duì)于日志記錄輸出優(yōu)先級(jí)的設(shè)定可以有多種方法,例如根據(jù)日志記錄輸出的頻繁度或者重要程度等設(shè)定日志記錄輸出的優(yōu)先級(jí)等,這里作為其中一種具體的實(shí)施方式,根據(jù)日志記錄的信息重要等級(jí)設(shè)定步驟S200中的日志記錄輸出優(yōu)先級(jí),當(dāng)日志記錄的信息重要等級(jí)越高時(shí),日志記錄對(duì)應(yīng)的日志記錄輸出優(yōu)先級(jí)越高。系統(tǒng)的日志記錄能夠反映出系統(tǒng)發(fā)生的事件的信息,由于發(fā)生的事件的重要程度不同,因此記錄時(shí)間的日記記錄所對(duì)應(yīng)的信息重要程度也不盡相同,本實(shí)施方式以日志記錄的信息重要等級(jí)為依據(jù),對(duì)日志記錄的輸出優(yōu)先級(jí)進(jìn)行排序,日志記錄的信息重要等級(jí)越高,相應(yīng)的日志記錄輸出優(yōu)先級(jí)越高,從而實(shí)現(xiàn)對(duì)重要的日志記錄的優(yōu)先壓縮輸出,提高了日志壓縮的可靠性和有效性。
[0031]S300對(duì)已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,得到壓縮后的日志。 [〇〇32]步驟S200完成對(duì)每一所述日志記錄的字符串的編號(hào)替代,得到已替代日志記錄后,步驟S300將對(duì)已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,具體地,對(duì)于屬于同一時(shí)間段的共時(shí)間戳的日志記錄,進(jìn)行時(shí)間戳編碼處理,可以有效降低壓縮日志記錄時(shí)的時(shí)間戳開(kāi)銷,降低日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,從而進(jìn)一步提高了日志壓縮比和壓縮效率。具體地,在共時(shí)段日志共時(shí)間戳編碼處理的一種實(shí)現(xiàn)方式中,判斷當(dāng)前已替代日志記錄的時(shí)間信息是否與相鄰上一條已替代日志記錄的時(shí)間信息相同,若是,則采用預(yù)設(shè)特殊字符替代當(dāng)前已替代日志記錄的時(shí)間信息來(lái)進(jìn)行編碼,亦即對(duì)于若干個(gè)共時(shí)段日志共時(shí)間戳的日志記錄而言,只保留第一條日志記錄的時(shí)間信息,與該第一條日志記錄屬于共時(shí)段日志共時(shí)間戳的其他日志記錄的時(shí)間信息則采用某一字符進(jìn)行替代,進(jìn)而實(shí)現(xiàn)對(duì)已替代日志記錄的共時(shí)段日志共時(shí)間戳編碼,對(duì)于逐條對(duì)已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理的情況而言,需對(duì)待編碼的當(dāng)前已替代日志記錄的時(shí)間信息進(jìn)行判斷,如果當(dāng)前已替代日志記錄的時(shí)間信息與其相鄰的上一已替代日志記錄的時(shí)間信息相同,那么就采用某一字符替代當(dāng)前已替代日志記錄的時(shí)間信息來(lái)進(jìn)行共時(shí)段日志共時(shí)間戳編碼。例如,假設(shè)字符串替代之后、共時(shí)段日志共時(shí)間戳編碼處理之前的已替代日志記錄為:
[0033]mi[2000-01-01 00:10:41:584]:460,93,0,0,3
[0034]ni[2000-01-01 00:10:41:584]:461,93,104,5,58
[0035]〇i[2000-01-01 00:10:41:584]:460,bd,0,0,5
[0036]pi[2000-01-01 00:10:41:584]:461,bd,64,5,54
[0037]qi[2000-01-01 00:10:41:584]:460,69,0,5,94
[0038]ri[2000-01-01 00:10:41:584]:461,69,76,4,71
[0039]si[2000-01-01 00:10:41:584]:460,7d,0,9,158
[0040]ti[2000-01-01 00:10:41:584]:461,7d,56,1,32[0041 ]ui[2000-01-01 00:10:41:696]:721,12,bl,2
[0042]vi[2000-01-01 00:10:41:728]:721,12,9d,2[〇〇43]在上述已替代日志記錄中,日志記錄編號(hào)為m?t的日志記錄屬于共時(shí)段日志共時(shí)間戳日志記錄,時(shí)間戳均為[2000-01-01 00:10:41:584],因此對(duì)上述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理后,將日志記錄編號(hào)為m的已替代日志記錄的時(shí)間信息保留, 日志記錄編號(hào)為n?t的已替代日志記錄的時(shí)間信息則采用某一字符進(jìn)行替代,替代后即得到共時(shí)段日志共時(shí)間戳編碼處理后的、壓縮后的日志記錄,如下所示:
[0044]mi[2000-01-01 00:10:41:584]:460,93,0,0,3
[0045]n#:461,93,104,5,58
[0046]〇#:460,bd,0,0,5
[0047]p#:461,bd,64,5,54
[0048]q#:460,69,0,5,94
[0049]r#:461,69,76,4,71
[0050]s#:460,7d,0,9,158
[0051]t#:461,7d,56,l,32
[0052]ui[2000-01-01 00:10:41:696]:721,12,bl,2
[0053]vi[2000-01-01 00:10:41:728]:721,12,9d,2[〇〇54] 在上述壓縮后的日志記錄中,每一條日志記錄的首字母代表對(duì)應(yīng)的日志記錄編號(hào),日志記錄編號(hào)后的特殊字符代表區(qū)分時(shí)間戳是否更新,第一個(gè)冒號(hào)之后的數(shù)值代表對(duì)表示日志記錄的字符串進(jìn)行替代的唯一的編號(hào),編號(hào)后面的數(shù)值代表動(dòng)態(tài)變量的實(shí)時(shí)輸出值,因此在共時(shí)段日志共時(shí)間戳編碼處理后,日志記錄編號(hào)為u和v的日志記錄由于其時(shí)間信息發(fā)生改變,即與相鄰的上一條已替代日志記錄的時(shí)間信息不相同,因此記錄編號(hào)為U和 V的日志記錄的時(shí)間信息被保留下來(lái),而日志記錄編號(hào)為n?t的日志記錄的時(shí)間信息則以符號(hào)替代原來(lái)的“[2000-01-01 00:10:41:584]”,使得時(shí)間信息所占的字節(jié)數(shù)由原來(lái)的 24個(gè)字節(jié)變?yōu)樘娲蟮?個(gè)字節(jié),顯著地降低了時(shí)間信息相同的日志記錄的時(shí)間戳開(kāi)銷,有效降低了日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,從而進(jìn)一步提高了日志壓縮比和壓縮效率。
[0055]本實(shí)施例所提出的日志壓縮方法利用日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,分別以唯一的編號(hào)替代文件中每一所述日志記錄的字符串,從而縮短日志記錄中字符串的長(zhǎng)度,減少了字符串所占的字節(jié)數(shù),提升了日志的壓縮比,同時(shí)對(duì)字符串替代后的日志記錄即已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,即對(duì)于共時(shí)間段的日志記錄,只保留第一條日志記錄的時(shí)間信息,其他共時(shí)間段共時(shí)間戳的日志記錄的時(shí)間信息均采用某一字符替代,因此共時(shí)段日志共時(shí)間戳編碼處理有效降低了時(shí)間信息相同的日志記錄的時(shí)間戳開(kāi)銷,降低了日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,從而進(jìn)一步提高了日志壓縮比和壓縮效率。
[0056]作為一種具體的實(shí)施方式,得到已替代日志記錄步驟之后、對(duì)已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理步驟之前還包括以下步驟:將被編號(hào)替代的字符串保存至用于恢復(fù)原日志記錄的映射文件中。在本實(shí)施方式中,根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,分別以唯一的編號(hào)替代每一文件中日志記錄的字符串,得到已替代日志記錄后,同時(shí)將被編號(hào)替代的字符串保存至映射文件中,該映射文件將用于對(duì)壓縮后的日志進(jìn)行解碼恢復(fù),即將被編碼替代掉的字符串另外單獨(dú)保存到某一文本文件中,在后續(xù)對(duì)壓縮后的日志進(jìn)行解碼恢復(fù)時(shí),可以利用該文本文件來(lái)準(zhǔn)確地恢復(fù)原日志記錄。本實(shí)施方式通過(guò)將被編號(hào)替代的字符串存儲(chǔ)至映射文件中,在提高日志壓縮比的基礎(chǔ)之上,在對(duì)壓縮后的日志進(jìn)行解壓恢復(fù)時(shí),同時(shí)可以利用該映射文件實(shí)現(xiàn)對(duì)壓縮后的日志的準(zhǔn)確解壓恢復(fù),從而提高日志解壓恢復(fù)的準(zhǔn)確性和可靠性。[0〇57]在本發(fā)明中,表不日志記錄的字符串包括日志記錄中的靜態(tài)字符串和變量輸出的格式指示,具體地,在根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件后,將每一文件中表示日志記錄的字符串用唯一的編號(hào)替代時(shí),用唯一的編號(hào)替代每一文件中表示日志記錄的靜態(tài)字符串和變量輸出的格式指示,以提高利用編號(hào)替代表示日志記錄的字符串的效率。例如,假設(shè)原始日志記錄為:
[0058]L0G_DEBUG(M0D_AA,macld,^ueNumt %d],throughOutput[%u]MB.state is ideal!\n〃,ueNUm,totalthp);
[0059]將表示日志記錄的字符串用唯一的編號(hào)替代(如利用數(shù)值型編號(hào)“11”進(jìn)行替代) 后,得到已替代日志記錄:
[0060]L0G_DEBUG(M0D_AA,macId, 11, %d, %u,ueNUm,totalthp);
[0061]在原始日志記錄中,〃ueNum[%d],throughOutput[%u]MB.state is ideal!\n" 為靜態(tài)字符串,這里用數(shù)值型編號(hào)“11”替代該靜態(tài)字符串,其中%(1及%1!均代表變量輸出的格式指示。
[0062]在另一個(gè)實(shí)施例中,參見(jiàn)圖2所示,本發(fā)明提出一種日志壓縮裝置,該裝置包括:
[0063]獲取模塊100,用于獲取包含日志記錄的文件;[〇〇64]替代模塊200,用于根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所述文件,分別以唯一的編號(hào)替代所述文件中每一所述日志記錄的字符串,得到已替代日志記錄;[〇〇65] 編碼模塊300,用于對(duì)所述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,得到壓縮后的日志。[〇〇66]具體地,在本實(shí)施例中,替代模塊200根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,按照日志記錄輸出優(yōu)先級(jí)順序分別以唯一的編號(hào)替代文件中每一所述日志記錄的字符串,得到已替代的日志記錄,例如,以系統(tǒng)業(yè)務(wù)日志為例,業(yè)務(wù)日志輸出的格式為 “時(shí)間+表示日志記錄中信息含義的字符串+動(dòng)態(tài)變量的值”,假設(shè)字符串替代前的日志記錄為:
[0067] a:[2000-01-01 00:06:53:752]:ueNum[32],total throught[20]MB,state is ideal 〇[〇〇68] 其中“a”表示日志記錄編號(hào),“[2000-01-01 00:06:53:752]”表示日志記錄的時(shí)間信息,“32”和“20”均表示動(dòng)態(tài)變量的實(shí)時(shí)輸出值,替代模塊200將上述日志記錄中表示日志記錄的字符串用唯一的編號(hào)進(jìn)行替代,這里,在其中一種可選的實(shí)施方式中,替代模塊200 以數(shù)值型編號(hào)替代日志記錄中的字符串,并且根據(jù)日志記錄的總條數(shù)確定數(shù)值型編號(hào)所占的字節(jié)數(shù),優(yōu)選地,數(shù)值型編號(hào)所占的字節(jié)數(shù)小于或者等于4個(gè)字節(jié),以滿足壓縮時(shí)日志記錄的總條數(shù)需求的同時(shí),保證每條日志記錄的壓縮效果。替代模塊200用唯一的編號(hào)替代上述日志記錄中表示日志記錄的對(duì)應(yīng)的字符串后,得到的已替代日志記錄為:
[0069]ai[2000-01-01 00:06:53:752]:10,32,20
[0070]即替代模塊200利用數(shù)值型編號(hào)“10”替代表示日志記錄的字符串“ueNUm[ ],total throught[ ]MB, state is ideal?!憋@然地,數(shù)值型編號(hào)“10”所占的字節(jié)數(shù)遠(yuǎn)小于替代前表示日志記錄的字符串的字節(jié)數(shù),因此替代模塊200對(duì)表示日志記錄的字符串進(jìn)行替代能夠顯著地提高日志記錄的壓縮比。在上述的例子中,僅以數(shù)值型編號(hào)為例對(duì)替代模塊200如何以唯一的編號(hào)替代表示日志記錄的對(duì)應(yīng)的字符串進(jìn)行了說(shuō)明,實(shí)際上,替代模塊200以唯一的編號(hào)對(duì)表示日志記錄的對(duì)應(yīng)的字符串進(jìn)行替代,其目的主要是通過(guò)所占字節(jié)數(shù)較少的編號(hào)替代所占字節(jié)數(shù)較多的字符串以減少日志記錄整體所占的字節(jié)數(shù),并在恢復(fù)日志記錄內(nèi)容時(shí),根據(jù)壓縮時(shí)唯一的編號(hào)可以對(duì)壓縮的日志記錄進(jìn)行解壓恢復(fù),因此在替代模塊200對(duì)表示日志記錄的字符串進(jìn)行替代以提高日志記錄壓縮比的過(guò)程中,用于替代字符串的編號(hào)只要能夠滿足縮短字符串所占字節(jié)并能用于恢復(fù)日志記錄即可,用于替代字符串的編號(hào)并不局限于數(shù)值型編號(hào),其他編號(hào)如字母型編號(hào)、數(shù)字與字母相結(jié)合的編號(hào)或者其他類型的編號(hào)等也完全適用于本發(fā)明中字符串的替代。當(dāng)用于替代表示日志記錄的字符串的編號(hào)為數(shù)值型編號(hào)時(shí),在其中一個(gè)具體的實(shí)施方式中,替代模塊200可以根據(jù)字符串的輸出頻率的大小順序確定字符串對(duì)應(yīng)的數(shù)值型編號(hào)的取值,當(dāng)字符串的輸出頻率越大時(shí),數(shù)值型編號(hào)的取值越小,即本實(shí)施方式中的替代模塊200可以按照字符串的輸出頻率從大至小的順序確定對(duì)應(yīng)的數(shù)值型編號(hào)從小至大的取值,即對(duì)于輸出頻率較大的字符串,替代模塊200利用取值較小的數(shù)值型編號(hào)予以替代,由于取值較小的數(shù)值型編號(hào)所占的字節(jié)數(shù)相應(yīng)較小,而且數(shù)值型編號(hào)較小的日志記錄在日志解壓恢復(fù)的過(guò)程中所需遍歷的次數(shù)少,因此按照字符串的輸出頻率從大至小的順序確定對(duì)應(yīng)的數(shù)值型編號(hào)從小至大的取值不僅有利于提高日志記錄的壓縮效果,而且同時(shí)有利于提高日志解壓恢復(fù)的速度。
[0071]替代模塊200完成對(duì)每一所述日志記錄的字符串的編號(hào)替代,得到已替代日志記錄后,編碼模塊300將對(duì)已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,具體地,編碼模塊300對(duì)于屬于同一時(shí)間段的共時(shí)間戳的日志記錄,進(jìn)行時(shí)間戳編碼處理,可以有效降低壓縮日志記錄時(shí)的時(shí)間戳開(kāi)銷,降低日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,從而進(jìn)一步提高了日志壓縮比和壓縮效率。具體地,在編碼模塊300的一種實(shí)現(xiàn)方式中,編碼模塊 300判斷當(dāng)前已替代日志記錄的時(shí)間信息是否與相鄰上一條已替代日志記錄的時(shí)間信息相同,若是,則編碼模塊300采用預(yù)設(shè)特殊字符替代當(dāng)前已替代日志記錄的時(shí)間信息來(lái)進(jìn)行編碼,亦即對(duì)于若干個(gè)共時(shí)段日志共時(shí)間戳的日志記錄而言,編碼模塊300只保留第一條日志記錄的時(shí)間信息,與該第一條日志記錄屬于共時(shí)段日志共時(shí)間戳的其他日志記錄的時(shí)間信息編碼模塊300則采用某一字符進(jìn)行替代,進(jìn)而實(shí)現(xiàn)對(duì)已替代日志記錄的共時(shí)段日志共時(shí)間戳編碼,對(duì)于編碼模塊300逐條對(duì)已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理的情況而言,編碼模塊300需對(duì)待編碼的當(dāng)前已替代日志記錄的時(shí)間信息進(jìn)行判斷,如果當(dāng)前已替代日志記錄的時(shí)間信息與其相鄰的上一已替代日志記錄的時(shí)間信息相同,那么編碼模塊300就采用某一字符替代當(dāng)前已替代日志記錄的時(shí)間信息來(lái)進(jìn)行共時(shí)段日志共時(shí)間戳編碼。例如,假設(shè)字符串替代之后、共時(shí)段日志共時(shí)間戳編碼處理之前的已替代日志記錄為:
[0072]mi[2000-01-01 00:10:41:584]:460,93,0,0,3
[0073]ni[2000-01-01 00:10:41:584]:461,93,104,5,58
[0074]〇i[2000-01-01 00:10:41:584]:460,bd,0,0,5
[0075]pi[2000-01-01 00:10:41:584]:461,bd,64,5,54
[0076]qi[2000-01-0100:10:41:584]:460,69,0,5,94
[0077]ri[2000-01-01 00:10:41:584]:461,69,76,4,71
[0078]si[2000-01-01 00:10:41:584]:460,7d,0,9,158
[0079]ti[2000-01-01 00:10:41:584]:461,7d,56,1,32
[0080]ui[2000-01-01 00:10:41:696]:721,12,bl,2
[0081]vi[2000-01-01 00:10:41:728]:721,12,9d,2[〇〇82] 在上述已替代日志記錄中,日志記錄編號(hào)為m?t的日志記錄屬于共時(shí)段日志共時(shí)間戳日志記錄,時(shí)間戳均為[2000-01-01 00:10:41:584],因此編碼模塊300對(duì)上述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理后,將日志記錄編號(hào)為m的已替代日志記錄的時(shí)間信息保留,日志記錄編號(hào)為n?t的已替代日志記錄的時(shí)間信息則采用某一字符進(jìn)行替代,替代后即得到共時(shí)段日志共時(shí)間戳編碼處理后的、壓縮后的日志記錄,如下所示:
[0083]mi[2000-01-01 00:10:41:584]:460,93,0,0,3
[0084]n#:461,93,104,5,58
[0085]〇#:460,bd,0,0,5
[0086]p#:461,bd,64,5,54
[0087]q#:460,69,0,5,94
[0088]r#:461,69,76,4,71
[0089]s#:460,7d,0,9,158
[0090]t#:461,7d,56,l,32
[0091]ui[2000-01-01 00:10:41:696]:721,12,bl,2
[0092]vi[2000-01-01 00:10:41:728]:721,12,9d,2
[0093] 在上述壓縮后的日志記錄中,每一條日志記錄的首字母代表對(duì)應(yīng)的日志記錄編號(hào),日志記錄編號(hào)后的特殊字符代表區(qū)分時(shí)間戳是否更新,第一個(gè)冒號(hào)之后的數(shù)值代表對(duì)表示日志記錄的字符串進(jìn)行替代的唯一的編號(hào),編號(hào)后面的數(shù)值代表動(dòng)態(tài)變量的實(shí)時(shí)輸出值,因此在編碼模塊300進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理后,日志記錄編號(hào)為1!和?的日志記錄由于其時(shí)間信息發(fā)生改變,因此時(shí)間信息被保留下來(lái),而日志記錄編號(hào)為n?t的日志記錄的時(shí)間信息則以符號(hào)替代原來(lái)的“[2000-01-01 00:10:41:584]”,使得時(shí)間信息所占的字節(jié)數(shù)由原來(lái)的24個(gè)字節(jié)變?yōu)樘娲蟮?個(gè)字節(jié),顯著地降低了時(shí)間信息相同的日志記錄的時(shí)間戳開(kāi)銷,有效降低了日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,從而進(jìn)一步提高了日志壓縮比和壓縮效率。
[0094]本實(shí)施例所提出的日志壓縮裝置利用日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,替代模塊分別以唯一的編號(hào)替代文件中每一所述日志記錄的字符串,從而縮短日志記錄中字符串的長(zhǎng)度,減少了字符串所占的字節(jié)數(shù),提升了日志的壓縮比,同時(shí)編碼模塊對(duì)字符串替代后的日志記錄即已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,即對(duì)于共時(shí)間段的日志記錄,只保留第一條日志記錄的時(shí)間信息,其他共時(shí)間段共時(shí)間戳的日志記錄的時(shí)間信息均采用某一字符替代,因此編碼模塊對(duì)已替代日志記錄進(jìn)行的共時(shí)段日志共時(shí)間戳編碼處理有效降低了時(shí)間信息相同的日志記錄的時(shí)間戳開(kāi)銷,降低了日志記錄的時(shí)間戳信息在日志內(nèi)容中的比重,從而進(jìn)一步提高了日志壓縮比和壓縮效率。
[0095]由于日志壓縮裝置中的替代模塊是根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件并分別以唯一的編號(hào)對(duì)所述文件中每一所述日志記錄的字符串進(jìn)行替代的,因此在解壓恢復(fù)原日志記錄時(shí),根據(jù)日志記錄輸出優(yōu)先級(jí)進(jìn)行解壓恢復(fù)即可,減小了遍歷所有文件中的日志記錄的次數(shù),有利于提高解壓恢復(fù)日志記錄的速度和效率。對(duì)于日志記錄輸出優(yōu)先級(jí)的設(shè)定可以有多種方法,例如根據(jù)日志記錄輸出的頻繁度或者重要程度等設(shè)定日志記錄輸出的優(yōu)先級(jí)等,這里作為其中一種具體的實(shí)施方式,日志壓縮裝置還包括根據(jù)日志記錄的信息重要等級(jí)設(shè)定日志記錄輸出優(yōu)先級(jí)的優(yōu)先級(jí)設(shè)定模塊,優(yōu)先級(jí)設(shè)定模塊與替代模塊連接,當(dāng)日志記錄的信息重要等級(jí)越高時(shí),優(yōu)先級(jí)設(shè)定模塊設(shè)定日志記錄對(duì)應(yīng)的日志記錄輸出優(yōu)先級(jí)越高。系統(tǒng)的日志記錄能夠反映出系統(tǒng)發(fā)生的事件的信息,由于發(fā)生的事件的重要程度不同,因此記錄時(shí)間的日記記錄所對(duì)應(yīng)的信息重要程度也不盡相同,本實(shí)施方式中的優(yōu)先級(jí)設(shè)定模塊以日志記錄的信息重要等級(jí)為依據(jù),對(duì)日志記錄的輸出優(yōu)先級(jí)進(jìn)行排序,日志記錄的信息重要等級(jí)越高,設(shè)定相應(yīng)的日志記錄輸出優(yōu)先級(jí)越高,從而實(shí)現(xiàn)對(duì)重要的日志記錄的優(yōu)先壓縮輸出,提高了日志壓縮的可靠性和有效性。
[0096]作為一種具體的實(shí)施方式,日志壓縮裝置還包括存儲(chǔ)模塊,存儲(chǔ)模塊用于存儲(chǔ)映射文件,該映射文件用于保存被編號(hào)替代的字符串并用于恢復(fù)原日志記錄,存儲(chǔ)模塊與替代模塊連接。在本實(shí)施方式中,替代模塊根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所有包含日志記錄的文件,并分別以唯一的編號(hào)替代每一文件中日志記錄的字符串,得到已替代日志記錄后, 存儲(chǔ)模塊同時(shí)將被編號(hào)替代的字符串保存至映射文件中,對(duì)映射文件進(jìn)行存儲(chǔ),且該映射文件將用于對(duì)壓縮后的日志進(jìn)行解碼恢復(fù),即存儲(chǔ)模塊將被編碼替代掉的字符串另外單獨(dú)保存到某一文本文件中,在后續(xù)對(duì)壓縮后的日志進(jìn)行解碼恢復(fù)時(shí),用于解碼的模塊可以利用該文本文件來(lái)準(zhǔn)確地恢復(fù)原日志記錄。本實(shí)施方式利用存儲(chǔ)模塊將被編號(hào)替代的字符串存儲(chǔ)至映射文件中并對(duì)映射文件進(jìn)行存儲(chǔ),在提高日志壓縮比的基礎(chǔ)之上,在對(duì)壓縮后的日志進(jìn)行解壓恢復(fù)時(shí),同時(shí)可以利用該映射文件實(shí)現(xiàn)對(duì)壓縮后的日志的準(zhǔn)確解壓恢復(fù),從而提高日志解壓恢復(fù)的準(zhǔn)確性和可靠性。
[0097]本發(fā)明日志壓縮裝置中各個(gè)模塊其具體功能的實(shí)現(xiàn)方法,可以參照上述的日志壓縮方法實(shí)施例中描述的實(shí)現(xiàn)方法,此處不再贅述。
[0098]以上所述實(shí)施例的各技術(shù)特征可以進(jìn)行任意的組合,為使描述簡(jiǎn)潔,未對(duì)上述實(shí)施例中的各個(gè)技術(shù)特征所有可能的組合都進(jìn)行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認(rèn)為是本說(shuō)明書記載的范圍。
[0099]以上所述實(shí)施例僅表達(dá)了本發(fā)明的幾種實(shí)施方式,其描述較為具體和詳細(xì),但并不能因此而理解為對(duì)發(fā)明專利范圍的限制。應(yīng)當(dāng)指出的是,對(duì)于本領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明構(gòu)思的前提下,還可以做出若干變形和改進(jìn),這些都屬于本發(fā)明的保護(hù)范圍。因此,本發(fā)明專利的保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
【主權(quán)項(xiàng)】
1.一種日志壓縮方法,其特征在于,包括以下步驟:獲取包含日志記錄的文件;根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所述文件,分別以唯一的編號(hào)替代所述文件中每一所述 日志記錄的字符串,得到已替代日志記錄;對(duì)所述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,得到壓縮后的日志。2.根據(jù)權(quán)利要求1所述的日志壓縮方法,其特征在于,還包括:根據(jù)所述日志記錄的信息重要等級(jí)設(shè)定所述日志記錄輸出優(yōu)先級(jí);當(dāng)所述日志記錄的 所述信息重要等級(jí)越高時(shí),所述日志記錄對(duì)應(yīng)的日志記錄輸出優(yōu)先級(jí)越高。3.根據(jù)權(quán)利要求1或2所述的日志壓縮方法,其特征在于,得到已替代日志記錄步驟之 后、對(duì)所述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理步驟之前還包括以下步驟:將被所述編號(hào)替代的所述字符串保存至用于恢復(fù)原日志記錄的映射文件中。4.根據(jù)權(quán)利要求1或2所述的日志壓縮方法,其特征在于,對(duì)所述已替代日志記錄進(jìn)行 共時(shí)段日志共時(shí)間戳編碼處理的過(guò)程包括:判斷當(dāng)前已替代日志記錄的時(shí)間信息是否與相鄰的上一條已替代日志記錄的時(shí)間信 息相同,若是,則采用預(yù)設(shè)特殊字符替代所述當(dāng)前已替代日志記錄的時(shí)間信息來(lái)進(jìn)行共時(shí) 段日志共時(shí)間戳編碼。5.根據(jù)權(quán)利要求1或2所述的日志壓縮方法,其特征在于,所述編號(hào)為數(shù)值型編號(hào),所述數(shù)值型編號(hào)所占的字節(jié)數(shù)根據(jù)所述日志記錄的總條數(shù)確定。6.根據(jù)權(quán)利要求5所述的日志壓縮方法,其特征在于,根據(jù)所述字符串的輸出頻率的大小順序確定所述字符串對(duì)應(yīng)的所述數(shù)值型編號(hào)的取 值;當(dāng)所述字符串的輸出頻率越大時(shí),所述數(shù)值型編號(hào)的取值越小。7.根據(jù)權(quán)利要求5所述的日志壓縮方法,其特征在于,所述數(shù)值型編號(hào)所占的字節(jié)數(shù)小于或者等于4個(gè)字節(jié)。8.—種日志壓縮裝置,其特征在于,包括 獲取模塊,用于獲取包含日志記錄的文件;替代模塊,用于根據(jù)日志記錄輸出優(yōu)先級(jí)遍歷所述文件,分別以唯一的編號(hào)替代所述 文件中每一所述日志記錄的字符串,得到已替代日志記錄;編碼模塊,用于對(duì)所述已替代日志記錄進(jìn)行共時(shí)段日志共時(shí)間戳編碼處理,得到壓縮 后的日志。9.根據(jù)權(quán)利要求8所述的日志壓縮裝置,其特征在于,還包括優(yōu)先級(jí)設(shè)定模塊,所述優(yōu)先級(jí)設(shè)定模塊用于根據(jù)所述日志記錄的信息重要等級(jí)設(shè)定所述日志記錄輸出優(yōu)先級(jí);當(dāng)所述日志記錄的所述信息重要等級(jí)越高時(shí),所述優(yōu)先級(jí)設(shè)定模塊設(shè)定所述日志記錄 對(duì)應(yīng)的日志記錄輸出優(yōu)先級(jí)越高。10.根據(jù)權(quán)利要求8或9所述的日志壓縮裝置,其特征在于,還包括存儲(chǔ)模塊,所述存儲(chǔ)模塊用于存儲(chǔ)映射文件,所述映射文件用于保存被所述編號(hào)替代的所述字符 串并用于恢復(fù)原日志記錄。
【文檔編號(hào)】G06F17/30GK106021417SQ201610319121
【公開(kāi)日】2016年10月12日
【申請(qǐng)日】2016年5月12日
【發(fā)明人】孫詩(shī)元, 李偉丹, 劉永欽, 羅遠(yuǎn)科
【申請(qǐng)人】京信通信系統(tǒng)(廣州)有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
从化市| 茂名市| 肥城市| 莲花县| 循化| 广饶县| 潞城市| 醴陵市| 高台县| 石屏县| 博罗县| 清徐县| 鄄城县| 肇源县| 循化| 元氏县| 漯河市| 葫芦岛市| 拉孜县| 滕州市| 巩留县| 台安县| 通化市| 邻水| 抚松县| 隆林| 丰台区| 微博| 城步| 晋宁县| 广汉市| 保德县| 平和县| 凤凰县| 靖宇县| 巴彦县| 奉贤区| 克山县| 九寨沟县| 黄石市| 饶阳县|