国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      基于二進(jìn)制編碼的dns數(shù)據(jù)壓縮、解壓縮方法及系統(tǒng)的制作方法

      文檔序號:7982978閱讀:564來源:國知局
      基于二進(jìn)制編碼的dns數(shù)據(jù)壓縮、解壓縮方法及系統(tǒng)的制作方法
      【專利摘要】本發(fā)明公開了一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮、解壓縮方法及系統(tǒng),屬于計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。其中,DNS數(shù)據(jù)壓縮方法為:1)從數(shù)據(jù)源文件中讀取日志信息后,將數(shù)據(jù)打包放到一緩存隊(duì)列中;2)數(shù)據(jù)壓縮模塊從該數(shù)據(jù)緩存隊(duì)列中取出數(shù)據(jù)并壓縮后,將其存儲到一壓縮信息緩存中;3)從該壓縮信息緩存中取出數(shù)據(jù)并進(jìn)行二進(jìn)制編碼后保存到一結(jié)果文件中。解壓縮方法為:1)將結(jié)果文件中二進(jìn)制編碼壓縮日志信息進(jìn)行二進(jìn)制編碼解壓后,保存到壓縮信息緩存中;2)從緩存中取出數(shù)據(jù),將其存儲到一解壓信息緩存中;3)從解壓信息緩存中取出數(shù)據(jù)并進(jìn)行解壓得到日志記錄信息。本方法實(shí)現(xiàn)了日志的高比例壓縮,而且壓縮的文件還能用gzip進(jìn)一步壓縮。
      【專利說明】基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮、解壓縮方法及系統(tǒng)
      【技術(shù)領(lǐng)域】
      [0001]本發(fā)明涉及一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮、解壓縮方法及系統(tǒng),屬于計(jì)算機(jī)網(wǎng)絡(luò)【技術(shù)領(lǐng)域】。
      【背景技術(shù)】
      [0002]域名系統(tǒng)(Domain Name System,DNS)是互聯(lián)網(wǎng)基礎(chǔ)設(shè)施提供的一項(xiàng)核心服務(wù),系統(tǒng)包括可以將域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫,以及實(shí)現(xiàn)域名和網(wǎng)絡(luò)可以識別的IP地址轉(zhuǎn)換功能的系統(tǒng)。
      [0003]DNS經(jīng)過幾十年的發(fā)展,已經(jīng)成為目前全球最大、最復(fù)雜的分布式數(shù)據(jù)庫系統(tǒng),具有良好的擴(kuò)展性和高效的解析性能。同時(shí),巨大的工作量使得DNS系統(tǒng)產(chǎn)生了海量的數(shù)據(jù)?,F(xiàn)有的系統(tǒng)一般都是使用字符編碼的方式保留原始日志。
      [0004]現(xiàn)有技術(shù)的缺陷是:
      [0005]DNS海量的查詢和應(yīng)答服務(wù)產(chǎn)生了巨大日志量,一方面這些日志需要在本地進(jìn)行保存,另一方面很多任務(wù)都需要跨地區(qū)、跨網(wǎng)段進(jìn)行日志傳輸。目前缺乏一種穩(wěn)定有效的日志壓縮技術(shù)來提高日志保存和傳輸?shù)男?。因此,如果開發(fā)出能穩(wěn)定高效運(yùn)行的日志壓縮系統(tǒng)能大大的推動目前的各項(xiàng)工作。

      【發(fā)明內(nèi)容】

      [0006]針對現(xiàn)有技術(shù)中存在的技術(shù)問題,本發(fā)明的目的在于提供一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮、解壓縮方法及系統(tǒng);本發(fā)明改進(jìn)的方向?yàn)?
      [0007]I)設(shè)計(jì)高效的DNS信息壓縮算法;
      [0008]2)使用二進(jìn)制編碼方式進(jìn)行日志存儲,提高壓縮比例;
      [0009]3)設(shè)計(jì)優(yōu)良的系統(tǒng)架構(gòu),保證系統(tǒng)能進(jìn)行企業(yè)級應(yīng)用。
      [0010]本發(fā)明的技術(shù)方案為:
      [0011]一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮、解壓縮系統(tǒng),其特征在于包括一數(shù)據(jù)讀取模塊,一二進(jìn)制編碼模塊,一數(shù)據(jù)壓縮模塊,一二進(jìn)制解碼模塊,一數(shù)據(jù)解壓模塊;其中
      [0012]所述數(shù)據(jù)讀取模塊,用于從DNS數(shù)據(jù)源文件中讀取日志信息后,將數(shù)據(jù)打包放到一緩存隊(duì)列中;
      [0013]所述數(shù)據(jù)壓縮模塊,用于從所述數(shù)據(jù)緩存隊(duì)列中取出數(shù)據(jù)并壓縮后,將其存儲到一壓縮信息緩存中;
      [0014]所述二進(jìn)制編碼模塊,用于從所述壓縮信息緩存中取出數(shù)據(jù)并進(jìn)行二進(jìn)制編碼后保存到一結(jié)果文件中;
      [0015]所述二進(jìn)制解碼模塊,用于將所述結(jié)果文件中二進(jìn)制編碼壓縮日志信息進(jìn)行二進(jìn)制編碼解壓后,保存到壓縮信息緩存中;
      [0016]所述數(shù)據(jù)解壓模塊,用于從壓縮信息緩存中取出數(shù)據(jù),將其存儲到一解壓信息緩存中;然后從該解壓信息緩存中取出數(shù)據(jù)并進(jìn)行解壓得到日志記錄信息。[0017]一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮方法,其步驟為:
      [0018]I)數(shù)據(jù)讀取模塊從DNS數(shù)據(jù)源文件中讀取日志信息后,將數(shù)據(jù)打包放到一緩存隊(duì)列中;
      [0019]2)數(shù)據(jù)壓縮模塊從該數(shù)據(jù)緩存隊(duì)列中取出數(shù)據(jù)并壓縮后,將其存儲到一壓縮信息緩存中;
      [0020]3) 二進(jìn)制編碼模塊從該壓縮信息緩存中取出數(shù)據(jù)并進(jìn)行二進(jìn)制編碼后保存到一結(jié)果文件中。
      [0021]進(jìn)一步的,采用可變長度整型編碼規(guī)則進(jìn)行所述二進(jìn)制編碼;所述可變長度整型編碼的最大長度為128字節(jié)。
      [0022]進(jìn)一步的,二進(jìn)制編碼后的每個(gè)數(shù)據(jù)域包括標(biāo)志字段和數(shù)據(jù)字段兩部分;其中,標(biāo)志字段用于指明數(shù)據(jù)的類型和數(shù)據(jù)在消息結(jié)構(gòu)體中的序號,數(shù)據(jù)字段用于存儲數(shù)據(jù)的值;一個(gè)DNS數(shù)據(jù)包二進(jìn)制編碼后對應(yīng)一個(gè)消息結(jié)構(gòu)體。
      [0023]進(jìn)一步的,所述數(shù)據(jù)壓縮模塊對日志信息中的時(shí)間數(shù)據(jù)信息進(jìn)行壓縮,其方法為:首先從所述緩存隊(duì)列中讀取一條記錄,如果是首條記錄則保留該記錄完整的時(shí)間格式;否則判斷當(dāng)前記錄的在設(shè)定級時(shí)間域及其上級時(shí)間域的時(shí)間與上一條記錄的對應(yīng)級時(shí)間域是否相等,如果相等,則只保留設(shè)定級時(shí)間域下一級時(shí)間的時(shí)間;如果不相等,則判斷當(dāng)前記錄時(shí)間與上一記錄時(shí)間間隔是否大于設(shè)定閾值,如果大于該閾值,則保留當(dāng)前記錄完整的時(shí)間格式,否則比較設(shè)定級時(shí)間域下一級時(shí)間的時(shí)間,如果當(dāng)前記錄設(shè)定級時(shí)間域下一級時(shí)間小于上一條記錄對應(yīng)時(shí)間,則只保留當(dāng)前記錄設(shè)定級時(shí)間域的下一級時(shí)間域的時(shí)間,否則保留當(dāng)前記錄完整的時(shí)間格式。
      [0024]進(jìn)一步的,所述設(shè)定級時(shí)間域?yàn)槊霑r(shí)間域,所述閾值為I秒。
      [0025]進(jìn)一步的,從緩存隊(duì)列取出數(shù)據(jù)的時(shí)候,用哈希表做為域名和IP地址信息壓縮的輔助結(jié)構(gòu)。
      [0026]進(jìn)一步的,所述數(shù)據(jù)壓縮模塊對日志信息中的域名數(shù)據(jù)和IP數(shù)據(jù)信息進(jìn)行壓縮;a)對于域名數(shù)據(jù)進(jìn)行壓縮的方法為:從所述緩存隊(duì)列中讀取一條記錄,在所述哈希鏈表中搜索該記錄中的域名;如果存在該域名,則將該域名在哈希鏈表中的哈希位置保存到所述結(jié)果文件中,如果不存在該域名,則在所述哈希鏈表中為該域名構(gòu)建結(jié)點(diǎn)并將該域名保存到所述結(jié)果文件中山)對于IP地址數(shù)據(jù)信息進(jìn)行壓縮的方法為:從所述緩存隊(duì)列中讀取一條記錄,在所述哈希鏈表中搜索該記錄中的IP地址;如果存在該IP,則將該IP在哈希鏈表中的哈希位置保存到所述結(jié)果文件中,如果不存在該IP,則在所述哈希鏈表中為該IP構(gòu)建結(jié)點(diǎn)并將該IP保存到所述結(jié)果文件中。
      [0027]—種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮文件的解壓縮方法,其步驟為:
      [0028]I) 二進(jìn)制解碼模塊將結(jié)果文件中二進(jìn)制編碼壓縮日志信息進(jìn)行二進(jìn)制編碼解壓后,保存到壓縮信息緩存中;
      [0029]2)數(shù)據(jù)解壓模塊從壓縮信息緩存中取出數(shù)據(jù),將其存儲到一解壓信息緩存中;
      [0030]3)數(shù)據(jù)解壓模塊從該解壓信息緩存中取出數(shù)據(jù)并進(jìn)行解壓得到日志記錄信息。
      [0031]進(jìn)一步的,所述數(shù)據(jù)解壓模塊從該解壓信息緩存中取出數(shù)據(jù),對時(shí)間數(shù)據(jù)進(jìn)行解壓,其方法為:首先從所述解壓信息緩存中讀取一條記錄,如果是完整的時(shí)間格式,則將其設(shè)為基準(zhǔn)時(shí)間;否則判斷當(dāng)前記錄的時(shí)間域的時(shí)間是否大于或等于上一條記錄的對應(yīng)時(shí)間域的時(shí)間,如果是,則利用上一條記錄的完整格式時(shí)間和當(dāng)前記錄的時(shí)間域的時(shí)間合成當(dāng)前記錄的完整時(shí)間格式;如果小于,則利用上一條記錄的完整格式時(shí)間將當(dāng)前記錄的時(shí)間域的上一級時(shí)間域加I并判斷上一級時(shí)間域是否需要進(jìn)制,如需要進(jìn)制則利用上一條記錄的完整格式時(shí)間進(jìn)行調(diào)整并繼續(xù)逐級判斷是否需要進(jìn)制,合成當(dāng)前記錄的完整時(shí)間格式;如果不需要進(jìn)制,則利用上一條記錄的完整格式時(shí)間和當(dāng)前記錄的時(shí)間域的時(shí)間合成當(dāng)前記錄的完整時(shí)間格式;其中,所述時(shí)間域?yàn)槲⒚霑r(shí)間域。
      [0032]進(jìn)一步的,所述數(shù)據(jù)解壓模塊從該解壓信息緩存中取出數(shù)據(jù),對域名數(shù)據(jù)和IP數(shù)據(jù)進(jìn)行解壓;a)對于域名數(shù)據(jù),其解壓方法為:從所述解壓信息緩存中讀取一條記錄,如果域名為完整格式,則將其加入到哈希鏈表中并返回;如果域名信息為所述哈希鏈表中的位置信息,則根據(jù)該位置信息從所述哈希鏈表相應(yīng)位置處讀出域名的完整格式,并返回;b)對于IP數(shù)據(jù),其解壓方法為:從所述解壓信息緩存中讀取一條記錄,如果IP為完整格式,則將其加入到哈希鏈表中并返回;如果IP信息為所述哈希鏈表中的位置信息,則根據(jù)該位置信息從所述哈希鏈表相應(yīng)位置處讀出IP的完整格式,并返回。
      [0033]本發(fā)明整個(gè)系統(tǒng)由數(shù)據(jù)讀取模塊(即文件I/O)、數(shù)據(jù)壓縮和數(shù)據(jù)解壓三個(gè)部分組成。系統(tǒng)的進(jìn)程模型如圖1所示。
      [0034]緩存使用了 “生產(chǎn)者-消費(fèi)者”模式,文件I/O模塊做為“生產(chǎn)者”從源文件(DNS數(shù)據(jù)源文件為DNS服務(wù)產(chǎn)生的原始日志文件,一般采用字符編碼方式保存)中讀取信息后,將數(shù)據(jù)打包放到緩存隊(duì)列中;而數(shù)據(jù)處理模塊(壓縮/解壓模塊)則作為“消費(fèi)者”,將數(shù)據(jù)從緩存中取出并進(jìn)行處理。其中,壓縮模塊會根據(jù)算法,得到壓縮后的數(shù)據(jù)信息,這時(shí),壓縮模塊成為了“生產(chǎn)者”將信息存入到壓縮信息緩存(即用來存儲壓縮信息的緩存)中,文件I/O模塊這時(shí)候成為了“消費(fèi)者”,從壓縮信息緩存中取出數(shù)據(jù),并保存到結(jié)果文件中;解壓模塊的處理流程類似,首先二進(jìn)制解碼模塊將結(jié)果文件中二進(jìn)制編碼壓縮日志信息進(jìn)行二進(jìn)制編碼解壓后,保存到壓縮信息緩存中(即用來存儲二進(jìn)制編碼解壓后信息的緩存);然后數(shù)據(jù)解壓模塊從壓縮信息緩存中取出數(shù)據(jù),將其存儲到一解壓信息緩存中(即用來存儲壓縮信息的緩存);數(shù)據(jù)解壓模塊從該解壓信息緩存中取出數(shù)據(jù)并進(jìn)行解壓得到日志記錄信息。數(shù)據(jù)解壓模塊還原壓縮前的信息,并寫入到解壓結(jié)果文件中。
      [0035]數(shù)據(jù)壓縮總的思想原則是:“去除不需要的信息,壓縮冗余的數(shù)據(jù)”。在DNS信息中,時(shí)間,查詢類型、IP和域名這四類信息對于分析系統(tǒng)進(jìn)行各種數(shù)據(jù)分析統(tǒng)計(jì)最重要,其中時(shí)間、IP和域名這三類信息在日志文件中存在大量的冗余信息,所以可以針對這三類數(shù)據(jù),使用特定算法,去除冗余,用較小的空間來表示相同的內(nèi)容,這樣就得到了特定的壓縮信息。
      [0036]解壓模塊從“壓縮結(jié)果文件”中讀取信息,并通過算法還原壓縮前的信息,并把信息寫入到解壓結(jié)果文件。壓縮模塊主要是針對時(shí)間、IP和域名進(jìn)行了壓縮,所以解壓模塊也是針對這三個(gè)部分的信息進(jìn)行解壓還原。
      [0037]同時(shí),所有的信息在磁盤上保存時(shí)使用了二進(jìn)制編碼,這樣就再一次對存儲空間進(jìn)行了壓縮,大大節(jié)省了存儲空間。原理如下所述。
      [0038]系統(tǒng)的數(shù)字使用了 “基于128的可變長度整型”編碼規(guī)則(最大長度為128字節(jié))。這種方法是用一系列的字節(jié)來表示一個(gè)任意大小的數(shù)字,其中字節(jié)的長度是可變長的,類似于字符串。[0039]這個(gè)可變長度整型中的每個(gè)字節(jié)的第一個(gè)比特用做“標(biāo)志位”,如果標(biāo)志位是1,則表示這個(gè)字節(jié)非該可變長度整型的最后一個(gè)字節(jié);如果標(biāo)志位是0,則表示該字節(jié)是這個(gè)可變長度整型的最后一個(gè)字節(jié)。而標(biāo)志位后面的7個(gè)比特用于組成該可變長度整型的值。同時(shí),組成該可變長度整型的字節(jié)采用“低位在前”的表示方式。如下就是幾個(gè)表示的例子。
      [0040]1)“00000001”。其中第一個(gè)比特為0,表示該字節(jié)是最后一個(gè)字節(jié),隨后的7個(gè)比特位組成了這個(gè)可變長度整型的值,所以這個(gè)變長整形的值是1.[0041]2) “1010110000000010”。其中第一個(gè)字節(jié)的第一個(gè)位是1,表示該字節(jié)非最后一個(gè)字節(jié);第二個(gè)字節(jié)的第一個(gè)位是0,表示該字節(jié)是最后一個(gè)字節(jié)。于是,組成該可變長度整型的數(shù)字段為:“0101100”和“0000010”。又因?yàn)椴捎昧?“低位在前”的表示方式,所以,該數(shù)字的值為“00000100101100”,十進(jìn)制表示為:300
      [0042]在系統(tǒng)中每個(gè)數(shù)據(jù)域都由“標(biāo)志字段”和“數(shù)據(jù)字段”組成。其中,標(biāo)志字段指明了該數(shù)據(jù)的“類型”和“在消息結(jié)構(gòu)體中的序號”,一個(gè)DNS數(shù)據(jù)包二進(jìn)制編碼后對應(yīng)一個(gè)消息結(jié)構(gòu)體;數(shù)據(jù)字段用于存儲數(shù)據(jù)的值。
      [0043]數(shù)據(jù)編碼中,用編號0-5分別對應(yīng)各個(gè)類型,每個(gè)數(shù)據(jù)域用三個(gè)比特來表示其類型。所用的數(shù)據(jù)類型如表1所示:
      [0044]表1、數(shù)據(jù)編碼類型表
      [0045]
      【權(quán)利要求】
      1.一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮方法,其步驟為: 1)數(shù)據(jù)讀取模塊從DNS數(shù)據(jù)源文件中讀取日志信息后,將數(shù)據(jù)打包放到一緩存隊(duì)列中; 2)數(shù)據(jù)壓縮模塊從該數(shù)據(jù)緩存隊(duì)列中取出數(shù)據(jù)并壓縮后,將其存儲到一壓縮信息緩存中; 3)二進(jìn)制編碼模塊從該壓縮信息緩存中取出數(shù)據(jù)并進(jìn)行二進(jìn)制編碼后保存到一結(jié)果文件中。
      2.如權(quán)利要求1所述的方法,其特征在于采用可變長度整型編碼規(guī)則進(jìn)行所述二進(jìn)制編碼;所述可變長度整型編碼的最大長度為128字節(jié)。
      3.如權(quán)利要求2所述的方法,其特征在于二進(jìn)制編碼后的每個(gè)數(shù)據(jù)域包括標(biāo)志字段和數(shù)據(jù)字段兩部分;其中,標(biāo)志字段用于指明數(shù)據(jù)的類型和數(shù)據(jù)在消息結(jié)構(gòu)體中的序號,數(shù)據(jù)字段用于存儲數(shù)據(jù)的值;一個(gè)DNS數(shù)據(jù)包二進(jìn)制編碼后對應(yīng)一個(gè)消息結(jié)構(gòu)體。
      4.如權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)壓縮模塊對日志信息中的時(shí)間數(shù)據(jù)信息進(jìn)行壓縮,其方法為:首先從所述緩存隊(duì)列中讀取一條記錄,如果是首條記錄則保留該記錄完整的時(shí)間格式;否則判斷當(dāng)前記錄的在設(shè)定級時(shí)間域及其上級時(shí)間域的時(shí)間與上一條記錄的對應(yīng)級時(shí)間域是否相等,如果相等,則只保留設(shè)定級時(shí)間域下一級時(shí)間的時(shí)間;如果不相等,則判斷當(dāng)前記錄時(shí)間與上一記錄時(shí)間間隔是否大于設(shè)定閾值,如果大于該閾值,則保留當(dāng)前記錄完整的時(shí)間格式,否則比較設(shè)定級時(shí)間域下一級時(shí)間的時(shí)間,如果當(dāng)前記錄設(shè)定級時(shí)間域下一級時(shí)間小于上一條記錄對應(yīng)時(shí)間,則只保留當(dāng)前記錄設(shè)定級時(shí)間域的下一級時(shí)間域的時(shí)間,否則保留當(dāng)前記錄完整的時(shí)間格式。`
      5.如權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)壓縮模塊對日志信息中的域名數(shù)據(jù)和IP數(shù)據(jù)信息進(jìn)行壓縮;a)對于域名數(shù)據(jù)進(jìn)行壓縮的方法為:從所述緩存隊(duì)列中讀取一條記錄,在所述哈希鏈表中搜索該記錄中的域名;如果存在該域名,則將該域名在哈希鏈表中的哈希位置保存到所述結(jié)果文件中,如果不存在該域名,則在所述哈希鏈表中為該域名構(gòu)建結(jié)點(diǎn)并將該域名保存到所述結(jié)果文件中山)對于IP地址數(shù)據(jù)信息進(jìn)行壓縮的方法為:從所述緩存隊(duì)列中讀取一條記錄,在所述哈希鏈表中搜索該記錄中的IP地址;如果存在該IP,則將該IP在哈希鏈表中的哈希位置保存到所述結(jié)果文件中,如果不存在該IP,則在所述哈希鏈表中為該IP構(gòu)建結(jié)點(diǎn)并將該IP保存到所述結(jié)果文件中。
      6.一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮文件的解壓縮方法,其步驟為: 1)二進(jìn)制解碼模塊將結(jié)果文件中二進(jìn)制編碼壓縮日志信息進(jìn)行二進(jìn)制編碼解壓后,保存到壓縮信息緩存中; 2)數(shù)據(jù)解壓模塊從壓縮信息緩存中取出數(shù)據(jù),將其存儲到一解壓信息緩存中; 3)數(shù)據(jù)解壓模塊從該解壓信息緩存中取出數(shù)據(jù)并進(jìn)行解壓得到日志記錄信息。
      7.如權(quán)利要求6所述的方法,其特征在于所述數(shù)據(jù)解壓模塊從該解壓信息緩存中取出數(shù)據(jù),對時(shí)間數(shù)據(jù)進(jìn)行解壓,其方法為:首先從所述解壓信息緩存中讀取一條記錄,如果是完整的時(shí)間格式,則將其設(shè)為基準(zhǔn)時(shí)間;否則判斷當(dāng)前記錄的時(shí)間域的時(shí)間是否大于或等于上一條記錄的對應(yīng)時(shí)間域的時(shí)間,如果是,則利用上一條記錄的完整格式時(shí)間和當(dāng)前記錄的時(shí)間域的時(shí)間合成當(dāng)前記錄的完整時(shí)間格式;如果小于,則利用上一條記錄的完整格式時(shí)間將當(dāng)前記錄的時(shí)間域的上一級時(shí)間域加I并判斷上一級時(shí)間域是否需要進(jìn)制,如需要進(jìn)制則利用上一條記錄的完整格式時(shí)間進(jìn)行調(diào)整并繼續(xù)逐級判斷是否需要進(jìn)制,合成當(dāng)前記錄的完整時(shí)間格式;如果不需要進(jìn)制,則利用上一條記錄的完整格式時(shí)間和當(dāng)前記錄的時(shí)間域的時(shí)間合成當(dāng)前記錄的完整時(shí)間格式;其中,所述時(shí)間域?yàn)槲⒚霑r(shí)間域。
      8.如權(quán)利要求6所述的方法,其特征在于所述數(shù)據(jù)解壓模塊從該解壓信息緩存中取出數(shù)據(jù),對域名數(shù)據(jù)和IP數(shù)據(jù)進(jìn)行解壓;a)對于域名數(shù)據(jù),其解壓方法為:從所述解壓信息緩存中讀取一條記錄,如果域名為完整格式,則將其加入到哈希鏈表中并返回;如果域名信息為所述哈希鏈表中的位置信息,則根據(jù)該位置信息從所述哈希鏈表相應(yīng)位置處讀出域名的完整格式,并返回山) 對于IP數(shù)據(jù),其解壓方法為:從所述解壓信息緩存中讀取一條記錄,如果IP為完整格式,則將其加入到哈希鏈表中并返回;如果IP信息為所述哈希鏈表中的位置信息,則根據(jù)該位置信息從所述哈希鏈表相應(yīng)位置處讀出IP的完整格式,并返回。
      9.一種基于二進(jìn)制編碼的DNS數(shù)據(jù)壓縮、解壓縮系統(tǒng),其特征在于包括一數(shù)據(jù)讀取模塊,一二進(jìn)制編碼模塊,一數(shù)據(jù)壓縮模塊,一二進(jìn)制解碼模塊,一數(shù)據(jù)解壓模塊;其中 所述數(shù)據(jù)讀取模塊,用于從DNS數(shù)據(jù)源文件中讀取日志信息后,將數(shù)據(jù)打包放到一緩存隊(duì)列中; 所述數(shù)據(jù)壓縮模塊,用于從所述數(shù)據(jù)緩存隊(duì)列中取出數(shù)據(jù)并壓縮后,將其存儲到一壓縮息緩存中; 所述二進(jìn)制編碼模塊,用于從所述壓縮信息緩存中取出數(shù)據(jù)并進(jìn)行二進(jìn)制編碼后保存到一結(jié)果文件中; 所述二進(jìn)制解碼模塊,用于將所述結(jié)果文件中二進(jìn)制編碼壓縮日志信息進(jìn)行二進(jìn)制編碼解壓后,保存到壓縮信息緩存中; 所述數(shù)據(jù)解壓模塊,用于從壓縮信息緩存中取出數(shù)據(jù),將其存儲到一解壓信息緩存中;然后從該解壓信息緩存中取出數(shù)據(jù)并進(jìn)行解壓得到日志記錄信息。
      10.如權(quán)利要求9所述的系統(tǒng),其特征在于所述數(shù)據(jù)壓縮模塊對日志信息中的時(shí)間數(shù)據(jù)信息進(jìn)行壓縮,其方法為:首先從所述緩存隊(duì)列中讀取一條記錄,如果是首條記錄則保留該記錄完整的時(shí)間格式;否則判斷當(dāng)前記錄的在設(shè)定級時(shí)間域及其上級時(shí)間域的時(shí)間與上一條記錄的對應(yīng)級時(shí)間域是否相等,如果相等,則只保留設(shè)定級時(shí)間域下一級時(shí)間的時(shí)間;如果不相等,則判斷當(dāng)前記錄時(shí)間與上一記錄時(shí)間間隔是否大于設(shè)定閾值,如果大于該閾值,則保留當(dāng)前記錄完整的時(shí)間格式,否則比較設(shè)定級時(shí)間域下一級時(shí)間的時(shí)間,如果當(dāng)前記錄設(shè)定級時(shí)間域下一級時(shí)間小于上一條記錄對應(yīng)時(shí)間,則只保留當(dāng)前記錄設(shè)定級時(shí)間域的下一級時(shí)間域的時(shí)間,否則保留當(dāng)前記錄完整的時(shí)間格式;所述數(shù)據(jù)解壓模塊從解壓信息緩存中取出數(shù)據(jù),對時(shí)間數(shù)據(jù)進(jìn)行解壓,其方法為:首先從所述解壓信息緩存中讀取一條記錄,如果是完整的時(shí)間格式,則將其設(shè)為基準(zhǔn)時(shí)間;否則判斷當(dāng)前記錄的時(shí)間域的時(shí)間是否大于或等于上一條記錄的對應(yīng)時(shí)間域的時(shí)間,如果是,則利用上一條記錄的完整格式時(shí)間和當(dāng)前記錄的時(shí)間域的時(shí)間合成當(dāng)前記錄的完整時(shí)間格式;如果小于,則利用上一條記錄的完整格式時(shí)間將當(dāng)前記錄的時(shí)間域的上一級時(shí)間域加I并判斷上一級時(shí)間域是否需要進(jìn)制,如需要進(jìn)制則利用上一條記錄的完整格式時(shí)間進(jìn)行調(diào)整并繼續(xù)逐級判斷是否需要進(jìn)制,合成當(dāng)前記錄的完整時(shí)間格式;如果不需要進(jìn)制,則利用上一條記錄的完整格式時(shí)間和當(dāng)前記錄的時(shí)間域的時(shí)間合成當(dāng)前記錄的完整時(shí)間格式。
      【文檔編號】H04L29/12GK103685589SQ201210333176
      【公開日】2014年3月26日 申請日期:2012年9月7日 優(yōu)先權(quán)日:2012年9月7日
      【發(fā)明者】陽任科 申請人:中國科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
      1