国产精品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>

      數(shù)據(jù)壓縮的方法和裝置的制作方法

      文檔序號(hào):6369284閱讀:160來源:國知局
      專利名稱:數(shù)據(jù)壓縮的方法和裝置的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明實(shí)施例涉及數(shù)據(jù)存儲(chǔ)領(lǐng)域,并且更具體地,涉及數(shù)據(jù)壓縮的方法和裝置。
      背景技術(shù)
      經(jīng)過多年的系統(tǒng)建設(shè)和優(yōu)化完善,電信領(lǐng)域經(jīng)營分析系統(tǒng)已經(jīng)建立了面向電信企業(yè)運(yùn)營的數(shù)據(jù)信息平臺(tái)。但是隨著時(shí)間推移和加速增長的業(yè)務(wù)量,數(shù)據(jù)倉庫中存儲(chǔ)的數(shù)據(jù)加速膨脹,必須通過不斷擴(kuò)容滿足存儲(chǔ)要求,造成了數(shù)據(jù)倉庫的成本高收益低,最終擴(kuò)無可擴(kuò)的局面。為應(yīng)對(duì)上述挑戰(zhàn),電信行業(yè)數(shù)據(jù)倉庫系統(tǒng)逐步引入了分級(jí)存儲(chǔ)策略,根據(jù)數(shù)據(jù)創(chuàng)建時(shí)間、訪問頻率和訪問時(shí)間的響應(yīng)要求將數(shù)據(jù)按生命周期分為在線、近線、歸檔和銷毀等級(jí)別。通過生命周期策略和分級(jí)存儲(chǔ)策略的有機(jī)結(jié)合,將數(shù)據(jù)動(dòng)態(tài)遷移或加載到最適合的存儲(chǔ)介質(zhì)中,達(dá)到各類存儲(chǔ)的最佳搭配,以便控制信息技術(shù)(IT, Information Technology) 設(shè)備的投資規(guī)模,同時(shí)獲得更好的效益。生命周期為近線級(jí)別的數(shù)據(jù)也稱為近線數(shù)據(jù)。近線數(shù)據(jù)常用來完成歷史數(shù)據(jù)對(duì)比分析、營銷軌跡分析和數(shù)據(jù)挖掘等對(duì)電信領(lǐng)域經(jīng)營分析具有重要意義的數(shù)據(jù)分析,其顯著特點(diǎn)是數(shù)據(jù)量大,掃描范圍廣;以查詢?yōu)橹?,但并發(fā)量小。近線數(shù)據(jù)采用數(shù)據(jù)壓縮機(jī)制進(jìn)行壓縮既能提升存儲(chǔ)利用率,又可提高數(shù)據(jù)分析效率。電信領(lǐng)域中的近線數(shù)據(jù)有以下適合壓縮的特點(diǎn)I、屬性值為特征串時(shí),有固定的編碼約定。字符串包括特征串。舉例來說,國際移動(dòng)裝備辨識(shí)碼(MEI,InternationalMobile Equipment Identity)或國際移動(dòng)用戶識(shí)別碼(IMSI, International MobileSubscriber Identification number)是典型的特征串。對(duì)于特定運(yùn)營商,特征串類型的屬性值中大量地重復(fù)前綴或后綴編碼。其中屬性在編碼中與一個(gè)或多個(gè)字段對(duì)應(yīng),屬性值與字段值對(duì)應(yīng)。2、屬性值為低基數(shù)的可選值,并且屬性之間存在組合關(guān)系的基數(shù)同樣較低。低基數(shù)是指這個(gè)屬性只有很少的可選取值。如屬性為話單類型時(shí),話單類型的基數(shù)為2,目前只包括語音話單和短信話單兩種屬性值;如屬性為呼叫類型時(shí),呼叫類型的基數(shù)為3。話單類型和呼叫類型之間存在基數(shù)為6的組合關(guān)系。在這6種組合關(guān)系中,其中個(gè)別組合關(guān)系出現(xiàn)的重復(fù)性遠(yuǎn)大于其他幾種組合關(guān)系。3、屬性值之間存在邏輯或計(jì)算關(guān)系。舉例來說,如用戶信息表中的屬性“用戶標(biāo)識(shí)”對(duì)應(yīng)的字段的編碼編號(hào)規(guī)則如下用戶標(biāo)識(shí)=所屬地區(qū)編號(hào)(字段)+ ‘0’+所屬地區(qū)編號(hào)(字段)+流水號(hào)。屬性值存在字段間的重復(fù)編碼,例如上述等式中的“所述地區(qū)編號(hào)”。4、非連續(xù)存儲(chǔ)的許多記錄間存在邏輯關(guān)聯(lián),且只存在少數(shù)屬性的差異,而大部分屬性相同。最常見場景為以時(shí)間軸模式保存業(yè)務(wù)辦理變更,最新記錄被從當(dāng)前記錄復(fù)制,更新業(yè)務(wù)對(duì)應(yīng)的字段;更新當(dāng)前的記錄為歷史記錄狀態(tài)。數(shù)據(jù)壓縮的基本原理是按照特定的編碼機(jī)制,以比未經(jīng)編碼數(shù)據(jù)少的數(shù)據(jù)比特,或者其它信息相關(guān)的數(shù)據(jù)單位表示原數(shù)據(jù)。出現(xiàn)概率高的數(shù)據(jù),也稱為重復(fù)數(shù)據(jù)盡量以短編碼標(biāo)識(shí),而概率低的數(shù)據(jù)則可以使用長編碼標(biāo)識(shí)。因此,重復(fù)數(shù)據(jù)越多,可能獲得的壓縮比越高,相應(yīng)地存儲(chǔ)利用率也就越高。其中壓縮比是數(shù)據(jù)壓縮器壓縮效率的質(zhì)量標(biāo)識(shí),滿足以下公式壓縮比=壓縮掉的數(shù)據(jù)單位/壓縮前的數(shù)據(jù)單位近線數(shù)據(jù)采用數(shù)據(jù)壓縮機(jī)制進(jìn)行壓縮既能提升存儲(chǔ)利用率,又可提高數(shù)據(jù)分析效率。然而,現(xiàn)有技術(shù)中對(duì)近線數(shù)據(jù)進(jìn)行壓縮的壓縮比較低。

      發(fā)明內(nèi)容
      本發(fā)明實(shí)施例提供一種數(shù)據(jù)壓縮的方法和裝置,能夠提高數(shù)據(jù)壓縮的壓縮比。一方面,提供了一種數(shù)據(jù)壓縮方法,包括
      根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋;根據(jù)所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊的壓縮進(jìn)程;執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成對(duì)所述原始數(shù)據(jù)的壓縮。另一方面,提供了一種數(shù)據(jù)壓縮裝置,包括所述數(shù)字指紋生成器用于根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋;所述數(shù)據(jù)路由模塊用于根據(jù)所述數(shù)字指紋生成器生成的所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的所述數(shù)據(jù)塊的壓縮進(jìn)程;所述壓縮模塊用于執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮。上述技術(shù)方案可以利用原始數(shù)據(jù)生成的數(shù)字指紋的數(shù)據(jù)相似性,將數(shù)據(jù)壓縮到指定的數(shù)據(jù)塊,從而提高數(shù)據(jù)壓縮的壓縮比。


      為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。圖I是本發(fā)明實(shí)施例的數(shù)據(jù)壓縮的方法的示意流程圖。圖2是本發(fā)明另一實(shí)施例的數(shù)據(jù)壓縮的方法的示意流程圖。圖3是用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法生成具有數(shù)據(jù)相似性的數(shù)字指紋的原理示意圖。圖4A和圖4B是本發(fā)明實(shí)施例的數(shù)據(jù)壓縮的裝置的示意框圖。圖5是本發(fā)明實(shí)施例的一個(gè)應(yīng)用場景的原始數(shù)據(jù)。圖6是圖5的原始數(shù)據(jù)進(jìn)行用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法后的數(shù)據(jù)。
      具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍?,F(xiàn)有技術(shù)中主流的關(guān)系型數(shù)據(jù)庫基本采用行方式存儲(chǔ)數(shù)據(jù),壓縮的方法為通過順序掃描整個(gè)表,找到重復(fù)的字符和字符串后,將上述字符和字符串存儲(chǔ)在一個(gè)壓縮字典中,然后用一個(gè)存儲(chǔ)在字典中對(duì)應(yīng)數(shù)據(jù)字符串的替代符號(hào)來替代表中的實(shí)際數(shù)據(jù),從而達(dá)到了壓縮數(shù)據(jù)的目的。由于順序掃描的數(shù)據(jù)行中的數(shù)據(jù)重復(fù)程度不高,導(dǎo)致數(shù)據(jù)無法獲得較高壓縮率。此外,因?yàn)闊o有效手段判斷數(shù)據(jù)行之間的數(shù)據(jù)相似性和重復(fù)分布,從而無法將相似數(shù)據(jù)保存到同一個(gè)塊中,以提升壓縮比。進(jìn)一步地,按行存儲(chǔ)的模式,對(duì)低基數(shù)列和上述提及的電信領(lǐng)域特有的近線數(shù)據(jù)無法實(shí)現(xiàn)高壓縮比。上述低基數(shù)列是指該列中只有很少的可選取值,比如性別屬性中的可選取值包括男、女和未知。列式數(shù)據(jù)庫常用的提高壓縮比的方法為利用列數(shù)據(jù)庫架構(gòu)優(yōu)勢,按數(shù)據(jù)類型特點(diǎn)壓縮,如按照基數(shù)的聚合度范圍,建立搜索(英文為lookup)表,動(dòng)態(tài)優(yōu)化不同基數(shù)聚合度的壓縮比;直接采用位圖索引(英文為bitmap index)表達(dá)列值,同時(shí)提高掃描效率和壓縮存儲(chǔ)效率?;鶖?shù)聚合度定義指在該列上取值的可能的個(gè)數(shù),在一定的范圍內(nèi)呈現(xiàn)出的聚 合規(guī)律。如在一段數(shù)據(jù)中,一列數(shù)據(jù)只出現(xiàn)3種可選值紅、藍(lán)和綠,則lookup表可用單字節(jié)編碼,起到壓縮作用。位圖索引主要針對(duì)低基數(shù)列。針對(duì)每一個(gè)可選值,如性別屬性,可選值“男”的位圖索引可以表示為〃010111",每一位比特值為I時(shí)代表〃是〃,為O時(shí)代表“否”。列式數(shù)據(jù)庫可以直接將低基數(shù)列使用位圖索引表示,因此能提高掃描效率和壓縮率。列式數(shù)據(jù)庫由于架構(gòu)上的特點(diǎn),在數(shù)據(jù)壓縮和掃描性能上有優(yōu)勢,但針對(duì)電信領(lǐng)域中具有近線數(shù)據(jù)的特點(diǎn)1、3和4的數(shù)據(jù)無法對(duì)行間存在的重復(fù)數(shù)據(jù)進(jìn)行有效去重。因此,僅從通用性角度出發(fā),未能從重復(fù)數(shù)據(jù)的檢測方面進(jìn)一步提升壓縮比。本發(fā)明中“數(shù)據(jù)塊的壓縮進(jìn)程”表明了在本發(fā)明中使用了主控模塊為每一個(gè)數(shù)據(jù)塊分配壓縮進(jìn)程方式,但這并不是唯一方式,本發(fā)明還可以采用多個(gè)數(shù)據(jù)塊共用一個(gè)壓縮進(jìn)程的方式。本發(fā)明實(shí)施例提供了一種數(shù)據(jù)壓縮的方法,能夠提高數(shù)據(jù)壓縮的壓縮比。圖I是本發(fā)明實(shí)施例的數(shù)據(jù)壓縮的方法10的示意流程圖。方法10包括以下內(nèi)容。11,根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋;。12,根據(jù)所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊的壓縮進(jìn)程。13,執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮;本發(fā)明實(shí)施例中可以利用數(shù)據(jù)生成的數(shù)字指紋的數(shù)據(jù)相似性,將數(shù)據(jù)壓縮到指定的數(shù)據(jù)塊,從而提高數(shù)據(jù)壓縮的壓縮比??蛇x的,所述根據(jù)所述數(shù)字指紋確定數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊的壓縮進(jìn)程,具體包括獲取數(shù)據(jù)塊的數(shù)字指紋范圍,將所述數(shù)字指紋與所述數(shù)據(jù)塊的數(shù)字指紋范圍進(jìn)行比對(duì),將所述數(shù)字指紋所落入的數(shù)字指紋范圍對(duì)應(yīng)的數(shù)據(jù)塊確定為與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,并將所述數(shù)據(jù)指紋對(duì)應(yīng)的所述原始數(shù)據(jù)路由到所述確定的數(shù)據(jù)塊的壓縮進(jìn)程。其中,可選的,當(dāng)所述數(shù)字指紋不在任何數(shù)據(jù)塊的數(shù)字指紋范圍內(nèi),則新建壓縮進(jìn)程;并將所述原始數(shù)據(jù)路由到該新建的壓縮進(jìn)程,執(zhí)行所述新建的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮,生成新的數(shù)據(jù)塊,并指定所述數(shù)字指紋為所述新建的數(shù)據(jù)塊的主數(shù)字指紋。其中,可選的,所述數(shù)據(jù)塊的數(shù)字指紋范圍在確認(rèn)要新建數(shù)據(jù)塊時(shí)被設(shè)置,具體包括以原始數(shù)據(jù)生成的用于數(shù)據(jù)相似性檢測的數(shù)字指紋作為主數(shù)字指紋;以所述主數(shù)字指紋作為中心,并以到所述中心的漢明距離作為所述新建數(shù)據(jù)塊的數(shù)字指紋范圍??蛇x的,將壓縮后的所述原始數(shù)據(jù)存儲(chǔ)到所述確定的數(shù)據(jù)塊后,所述方法還包括獲取所述數(shù)據(jù)塊和/或數(shù)據(jù)塊的壓縮進(jìn)程的即時(shí)狀態(tài),并根據(jù)所述即時(shí)狀態(tài)和壓縮策略確定是否新建數(shù)據(jù)塊和/或新建壓縮進(jìn)程。當(dāng)前數(shù)據(jù)塊的大小是否在壓縮策略限定的范圍內(nèi),如果到達(dá)限定的數(shù)據(jù)塊大小范圍,則新建數(shù)據(jù)塊;當(dāng)前數(shù)據(jù)塊的壓縮進(jìn)程中排隊(duì)等待完成壓縮的原始數(shù)據(jù)個(gè)數(shù)是否超過壓縮策略的閾值,如果超過所述閾值,則新建壓縮進(jìn)程。可選的,所述執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮,具體包括將所述原始數(shù)據(jù)和確定的數(shù)據(jù)塊作為所述壓縮進(jìn)程的壓縮參數(shù),并按照字典壓縮算法 重新生成數(shù)據(jù)塊。所述根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋包括使用用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋。所述根據(jù)原始數(shù)據(jù)生成具有數(shù)據(jù)相似性的數(shù)字指紋前,所述方法還包括利用分布式并行方式加載需要進(jìn)行壓縮的各原始數(shù)據(jù)。圖2是本發(fā)明另一實(shí)施例的數(shù)據(jù)壓縮的方法20的示意流程圖。方法20包括以下內(nèi)容。21,加載原始數(shù)據(jù)。數(shù)據(jù)壓縮裝置中的數(shù)據(jù)加載器可以通過各種不同方式,例如文件、傳輸協(xié)議等將原始數(shù)據(jù)載入。其中傳輸協(xié)議可以是套接字(英文為Socket)、超文本傳送協(xié)議(HTTP,HyperText Transfer Protocol)或消息隊(duì)列(MQ, Message Queue)等。原始數(shù)據(jù)的整個(gè)加載過程即可以支持順序掃描數(shù)據(jù)例如源表,也可以支持導(dǎo)入流式數(shù)據(jù),甚至可以同時(shí)支持這兩種方式,從而實(shí)現(xiàn)利用分布式并行方式加載,不存在現(xiàn)有技術(shù)中加載數(shù)據(jù)時(shí)排序或等待的情況。22,根據(jù)原始數(shù)據(jù)生成具有數(shù)據(jù)相似性的數(shù)字指紋。數(shù)據(jù)壓縮裝置使用用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法為載入的原始數(shù)據(jù)生成具有數(shù)據(jù)相似性的數(shù)字指紋。所生成的具有數(shù)據(jù)相似性的數(shù)字指紋上下文中簡稱為生成的數(shù)字指紋或數(shù)字指紋。其中,數(shù)據(jù)壓縮裝置中的數(shù)字指紋生成器(FI⑶RE_GENERAT0R)可以用來生成數(shù)字指紋??梢杂啥鄠€(gè)數(shù)字指紋生成器組成數(shù)字指紋生成器集群,與現(xiàn)有技術(shù)處理數(shù)據(jù)時(shí)需要排序或等待不同,進(jìn)而可以實(shí)現(xiàn)利用分布式并行方式處理原始數(shù)據(jù),工作效率高。下文中,以SimHash (英文 Hash-based Similarity Detection 的縮寫)算法為例,參考圖3進(jìn)行生成數(shù)字指紋的說明。SimHash算法是用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法的一種。原始數(shù)據(jù)經(jīng)過用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法生成數(shù)字指紋,通過比對(duì)兩個(gè)數(shù)字指紋間的漢明(英文為Hamming)距離,可以獲知兩者的數(shù)據(jù)相似性。接下來介紹幾個(gè)概念
      哈希(Hash)算法Hash算法將原始數(shù)據(jù)盡量均勻隨機(jī)地映射為一個(gè)簽名值,變換成固定長度的輸出,該輸出就是散列值,也稱為數(shù)字指紋。不同的特征串進(jìn)行Hash算法后得到的數(shù)字指紋,簡稱為Hash數(shù)字指紋。不同的特征串得到的Hash數(shù)字指紋不同。用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法算法將原始數(shù)據(jù)進(jìn)行轉(zhuǎn)換,輸出不同于進(jìn)行傳統(tǒng)Hash算法后得到的數(shù)字指紋。數(shù)字指紋之間的數(shù)據(jù)相似性可以體現(xiàn)原始數(shù)據(jù)的數(shù)據(jù)相似性。用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法包括SimHash算法、Shingling算法、I-Match算法和隨機(jī)映射(英文為Random Pro jection)算法等。以SimHash方法為例,兩個(gè)進(jìn)行SimHash算法后得到的數(shù)字指紋,通過漢明距離可以判定數(shù)字指紋對(duì)應(yīng)的原始數(shù)據(jù)是否相似。其中進(jìn)行SimHash算法后得到的數(shù)字指紋簡稱為SimHash數(shù)字指紋。漢明距離兩個(gè)等長字符串之間對(duì)應(yīng)位置的不同字符的個(gè)數(shù)。比如2143896與2233796比較數(shù)據(jù)相似性,如斜字體突出顯示的字符所示,兩者之間的漢明距離是3。23,獲取數(shù)據(jù)塊的數(shù)字指紋范圍。
      數(shù)據(jù)塊可以是多個(gè),由此可以實(shí)現(xiàn)分布式壓縮處理。首先數(shù)據(jù)壓縮裝置的數(shù)據(jù)路由模塊(DATA_R0UTER)可以向數(shù)據(jù)壓縮裝置中的主控模塊(Master)查詢數(shù)據(jù)塊中的數(shù)字指紋范圍。 24,確定數(shù)字指紋是否落入數(shù)據(jù)塊的數(shù)字指紋范圍。數(shù)據(jù)路由模塊將數(shù)字指紋生成器生成的數(shù)字指紋與數(shù)據(jù)壓縮裝置中的數(shù)據(jù)塊的數(shù)字指紋范圍比對(duì),確定數(shù)字指紋是否落入數(shù)據(jù)塊的數(shù)字指紋范圍。數(shù)據(jù)塊的數(shù)字指紋范圍可以由兩個(gè)上下限數(shù)字指紋限定,例如可以由一個(gè)主數(shù)字指紋及主數(shù)字指紋上的漢明距離限定。主數(shù)字指紋為設(shè)定的用來與根據(jù)原始數(shù)據(jù)生成的具有數(shù)據(jù)相似性的數(shù)據(jù)指紋進(jìn)行漢明距離比對(duì)的一個(gè)數(shù)字指紋。例如主數(shù)字指紋為100110,且主數(shù)字指紋的漢明距離為小于等于3。比對(duì)的方法可以是將生成的數(shù)字指紋與主數(shù)字指紋比較,如果漢明距離為小于等于3,則上述生成的數(shù)字指紋落入該數(shù)字壓縮單元的數(shù)字指紋范圍,該數(shù)字壓縮單元即為確定的數(shù)據(jù)塊。生成的數(shù)字指紋對(duì)應(yīng)的原始數(shù)據(jù)將被數(shù)據(jù)路由模塊路由到上述確定的數(shù)據(jù)塊的壓縮進(jìn)程,且被壓縮到上述確定的數(shù)據(jù)塊存儲(chǔ)。如果確定根據(jù)原始數(shù)據(jù)生成的數(shù)字指紋在一個(gè)數(shù)據(jù)塊的數(shù)字指紋范圍,也就是圖2的24的判斷結(jié)果為“是”,則執(zhí)行圖2的25 ;否則,也就是圖2的24的判斷結(jié)果為“否”,則執(zhí)行圖2的26。25,將原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊的壓縮進(jìn)程。數(shù)據(jù)壓縮裝置的數(shù)據(jù)路由模塊在前一步驟中已確定原始數(shù)據(jù)存儲(chǔ)時(shí)對(duì)應(yīng)的的數(shù)據(jù)塊,根據(jù)路由信息,將原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊對(duì)應(yīng)的壓縮進(jìn)程,然后執(zhí)行圖2的27。26,新建數(shù)據(jù)塊。當(dāng)數(shù)據(jù)路由模塊確定生成的數(shù)字指紋沒有落入任何數(shù)據(jù)塊的數(shù)字指紋范圍時(shí),則主控模塊新建壓縮進(jìn)程,并由路由模塊將所述原始數(shù)據(jù)路由到該新建的壓縮進(jìn)程,壓縮模塊執(zhí)行所述新建的數(shù)據(jù)塊的壓縮進(jìn)程,所述壓縮進(jìn)程完成原始數(shù)據(jù)的壓縮,生成新的數(shù)據(jù)塊;主控模塊指定所述數(shù)字指紋為所述新建的數(shù)據(jù)塊的主數(shù)字指紋,進(jìn)入步驟28。27,執(zhí)行壓縮進(jìn)程,該壓縮進(jìn)程對(duì)原始數(shù)據(jù)進(jìn)行壓縮。數(shù)據(jù)壓縮裝置的壓縮模塊(C0MPRESS_W0RKER)執(zhí)行壓縮進(jìn)程。壓縮模塊可以是多個(gè),組成一個(gè)用于處理壓縮任務(wù)的集群。每個(gè)壓縮模塊可以并行處理一個(gè)或多個(gè)壓縮進(jìn)程,以提高工作效率,壓縮時(shí)不需排序或等待。同一壓縮進(jìn)程可以將原始數(shù)據(jù)和已有的數(shù)據(jù)塊重新壓縮生成數(shù)據(jù)塊或直接將原始數(shù)據(jù)壓縮生成新的數(shù)據(jù)塊。此外,同一壓縮進(jìn)程可以將原始數(shù)據(jù)分別和不同的數(shù)據(jù)塊完成壓縮。并且,不同的壓縮進(jìn)程可以將不同的原始數(shù)據(jù)和同一個(gè)數(shù)據(jù)塊重新壓縮生成數(shù)據(jù)塊或?qū)⒉煌脑紨?shù)據(jù)和不同的數(shù)據(jù)塊重新壓縮。需要特別指出的是,在采用字典壓縮算法時(shí),重新壓縮生成數(shù)據(jù)塊后還要更新原有數(shù)據(jù)塊的壓縮字典,從而進(jìn)一步提高數(shù)據(jù)重復(fù)性的壓縮率。原始數(shù)據(jù)的整個(gè)加載實(shí)現(xiàn)分布式并行加載后,在接下來的后續(xù)的壓縮過程通過并行執(zhí)行不同壓縮進(jìn)程同樣可以實(shí)現(xiàn)分布式并行壓縮,不存在現(xiàn)有技術(shù)中壓縮原始數(shù)據(jù)時(shí)排序或等待的情況,由此工作效率高。28,所述原始數(shù)據(jù)壓縮完成后,獲取所述數(shù)據(jù)塊和/或數(shù)據(jù)塊的壓縮進(jìn)程的即時(shí)狀態(tài)。壓縮模塊執(zhí)行壓縮進(jìn)程,所述壓縮進(jìn)程將所述原始數(shù)據(jù)壓縮到所述數(shù)據(jù)塊,壓縮 模塊向數(shù)據(jù)壓縮裝置的主控模塊反饋所述數(shù)據(jù)塊的即時(shí)狀態(tài),例如數(shù)據(jù)塊大小、壓縮比等指標(biāo)。29,根據(jù)即時(shí)狀態(tài)確定是否新建數(shù)據(jù)塊或新建壓縮進(jìn)程。數(shù)據(jù)壓縮裝置的主控模塊接收壓縮模塊執(zhí)行壓縮進(jìn)程后反饋的分布式壓縮處理的實(shí)時(shí)信息,按壓縮策略決定是否需要新建數(shù)據(jù)塊,以及是否需要新建立壓縮進(jìn)程。例如可以在數(shù)據(jù)塊大小飽和時(shí)新建數(shù)據(jù)塊,或者在當(dāng)前的壓縮進(jìn)程不能處理過多待壓縮的原始數(shù)據(jù)時(shí),新建壓縮進(jìn)程。所述即時(shí)狀態(tài)包括當(dāng)前各數(shù)據(jù)塊的大小以及處于等待壓縮進(jìn)程執(zhí)行壓縮的數(shù)據(jù)塊。所述壓縮策略包括單個(gè)數(shù)據(jù)塊允許的最大容量、允許等待壓縮進(jìn)數(shù)據(jù)塊最大原數(shù)據(jù)閾值;并在數(shù)據(jù)塊的容量要超過策略中設(shè)置最大容量時(shí),后續(xù)的檢測到滿足所述數(shù)據(jù)塊的數(shù)字指紋范圍的原數(shù)據(jù)就通過創(chuàng)建新數(shù)據(jù)塊,進(jìn)一步利用壓縮進(jìn)程完成壓縮;并在等待壓縮進(jìn)數(shù)據(jù)塊最大原數(shù)據(jù)閾值,創(chuàng)建新的壓縮進(jìn)程來處理超過所述閾值的原數(shù)據(jù)的壓縮任務(wù)。數(shù)據(jù)路由模塊、主控模塊和壓縮模塊通過消息隊(duì)列(MQ,Message queue)進(jìn)行通 目。本發(fā)明實(shí)施例中可以利用數(shù)據(jù)生成的數(shù)字指紋的數(shù)據(jù)相似性,將數(shù)據(jù)壓縮到指定的數(shù)據(jù)塊,從而提高數(shù)據(jù)壓縮的壓縮比。接下來,以SimHash算法為例說明用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法的原理。圖3是用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法生成具有數(shù)據(jù)相似性的數(shù)字指紋的原理示意圖。如圖3所示,包括以下幾個(gè)步驟。首先,原始數(shù)據(jù)31,其中colP^coln (其中η為正整數(shù))為原始數(shù)據(jù)31中的各屬性值,所述屬性如“年齡”、“性別”、“城市”等。隨后各個(gè)屬性值值進(jìn)行Hash算法得到原始數(shù)據(jù)31對(duì)應(yīng)Hash散列值32。圖3中屬性值col3進(jìn)行Hash算法獲得Hash散列值為101101。然后,計(jì)算原始數(shù)據(jù)31的加權(quán)向量,具體過程為Hash散列值對(duì)應(yīng)位上為I的,則為正,否則為負(fù)1,得到未加權(quán)的向量,如所述col3的未加權(quán)向量為(1,_1,I, 1,-1, 1),并針對(duì)colL··· coin各屬性值的給上述未加權(quán)向量加權(quán);圖中wl、w3***wn即各屬性值對(duì)應(yīng)的加權(quán)值,由此得到了屬性31的加權(quán)向量。進(jìn)一步將上述各屬性值對(duì)應(yīng)的加權(quán)向量按對(duì)應(yīng)向量位求和。拿圖3中的coll和col2對(duì)應(yīng)的加權(quán)向量求和為例,如(wl, -wl, -wl, wl, -wl, -wl) + (w2, w2, -w2, -w2, -w2, w2)=(wl+w2, -wl+w2, -wl-w2, wl-w2, -wl-w2, -wl+w2)。按上述方法,將colL··· coin對(duì)應(yīng)的加權(quán)向量求和,得到圖3中的向量V=(28,-2,-36,411,21, _54),然后將向量V映射為6位的二進(jìn)制數(shù),規(guī)則為對(duì)應(yīng)向量V從左到右的各位按照向量位大于O則取二進(jìn)制1,向量位小于O則取二進(jìn)制O。得到的映射為6位的二進(jìn)制數(shù)即為經(jīng)過SimHash算法得到的數(shù)字指紋34,簡稱為SimHash數(shù)字指紋,則原始數(shù)據(jù)31的SimHash數(shù)字指紋為100110。可以將原始數(shù)據(jù)31的SimHash數(shù)字指紋100110 與另一個(gè)屬性值的數(shù)字指紋進(jìn)行比較,確認(rèn)兩者間的漢明距離,漢明距離的大小反映了原始數(shù)據(jù)31與所述另一個(gè)屬性值的數(shù)據(jù)相似性。漢明距離越小,用于比較的兩個(gè)數(shù)字指紋對(duì)應(yīng)的屬性值,所述屬性值即本發(fā)明的原始數(shù)據(jù)的相似程度越高。其中,另一個(gè)數(shù)字指紋就是指上下文中的主數(shù)字指紋。接下來,具體針對(duì)一個(gè)實(shí)例進(jìn)行說明。圖5是本發(fā)明實(shí)施例的一個(gè)應(yīng)用場景的原始數(shù)據(jù)。圖6是圖5的原始數(shù)據(jù)進(jìn)行用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法后的數(shù)據(jù)。為說明清楚,其中以斜體突出指示數(shù)據(jù)相似性較高的原始數(shù)據(jù),如編號(hào)為I和編號(hào)為1221所在行的原始數(shù)據(jù)以斜體突出顯示,所在行的原始數(shù)據(jù)下面稱為數(shù)據(jù)行。數(shù)字指紋生成器集群采用用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法對(duì)上述原始數(shù)據(jù)加載,然后進(jìn)行運(yùn)算,生成具有數(shù)據(jù)相似性的數(shù)字指紋,如圖6的最后一列所示。數(shù)據(jù)路由模塊根據(jù)圖6中的數(shù)字指紋將原始數(shù)據(jù)路由到對(duì)應(yīng)的數(shù)據(jù)塊的壓縮進(jìn)程。此時(shí),編號(hào)I的數(shù)據(jù)行即為原始數(shù)據(jù),也可以認(rèn)為是圖3的原始數(shù)據(jù)31,其中“用戶標(biāo)識(shí)”、“地區(qū)編號(hào)”等就是對(duì)應(yīng)的屬性,而“315000000000”、“315”就是對(duì)應(yīng)編號(hào)I的屬性值,得到經(jīng)過SimHash計(jì)算獲得編號(hào)I的SimHash值為10011000110010100...,數(shù)據(jù)路由模塊查詢發(fā)現(xiàn)無對(duì)應(yīng)的數(shù)據(jù)塊,則主控模塊新建一個(gè)數(shù)據(jù)塊,例如指定數(shù)據(jù)塊編號(hào)為0001,主數(shù)字指紋為10011000110010100...,漢明距離范圍為3。當(dāng)編號(hào)為1221數(shù)據(jù)行,進(jìn)行數(shù)據(jù)路由時(shí),數(shù)據(jù)路由模塊歷遍數(shù)據(jù)塊列表,發(fā)現(xiàn)與編號(hào)0001數(shù)據(jù)塊的主數(shù)字指紋的漢明距離為1,參見圖6中編號(hào)I和編號(hào)1221的數(shù)字指紋中黑色字體突出顯示的字符。表明編號(hào)1221行數(shù)據(jù),與編號(hào)0001的數(shù)據(jù)塊的數(shù)據(jù)相似程度非常高,則將編號(hào)1221行數(shù)據(jù)路由至編號(hào)0001數(shù)據(jù)塊對(duì)應(yīng)的壓縮進(jìn)程。隨后壓縮模塊執(zhí)行該編號(hào)0001數(shù)據(jù)塊對(duì)應(yīng)的壓縮進(jìn)程,對(duì)編號(hào)1221行數(shù)據(jù)路進(jìn)行壓縮。壓縮后的原始數(shù)據(jù)被存儲(chǔ)在編號(hào)0001數(shù)據(jù)塊。本發(fā)明實(shí)施例中針對(duì)記錄中的數(shù)據(jù),生成具有數(shù)據(jù)相似性的數(shù)字指紋,通過漢明距離確定數(shù)據(jù)間的相似程度,在順序掃描數(shù)據(jù)或?qū)?dǎo)入流式數(shù)據(jù)進(jìn)行分布式并行加載過程中,不存在排序或等待情況,且將相似的記錄聚合到同一個(gè)或同一組的數(shù)據(jù)塊中,可以提高壓縮比,同時(shí)也提高了數(shù)據(jù)分析效率。圖4A是本發(fā)明實(shí)施例的數(shù)據(jù)壓縮的裝置40的示意框圖。裝置40包括數(shù)字指紋生成器41、數(shù)據(jù)路由模塊42、壓縮模塊43和數(shù)據(jù)塊44。數(shù)字指紋生成器41用于根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋。
      數(shù)據(jù)路由模塊42用于根據(jù)所述數(shù)字指紋生成器41生成的所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的所述數(shù)據(jù)塊的壓縮進(jìn)程。壓縮模塊43用于執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮。裝置40實(shí)現(xiàn)了方法10,出于簡潔,具體細(xì)節(jié)此處不再贅述。
      本發(fā)明實(shí)施例中可以利用數(shù)據(jù)生成的數(shù)字指紋的數(shù)據(jù)相似性,將數(shù)據(jù)壓縮到指定的數(shù)據(jù)塊,從而提高數(shù)據(jù)壓縮的壓縮比。圖4B是本發(fā)明另一實(shí)施例的數(shù)據(jù)壓縮的裝置40的示意框圖,與圖4A的裝置40不同的是,圖4B的裝置40還包括主控模塊45和數(shù)據(jù)加載器46??蛇x的,主控模塊45向所述路由模塊42提供數(shù)所述據(jù)塊的數(shù)字指紋范圍;所述數(shù)據(jù)路由模塊42具體用于將所述數(shù)字指紋與所述數(shù)據(jù)塊的數(shù)字指紋范圍進(jìn)行比對(duì),將所述數(shù)字指紋所落入的數(shù)字指紋范圍對(duì)應(yīng)的數(shù)據(jù)塊確定為與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,并將所述數(shù)據(jù)指紋對(duì)應(yīng)的所述原始數(shù)據(jù)路由到所述確定的數(shù)據(jù)塊的壓縮進(jìn)程??蛇x的,當(dāng)所述數(shù)據(jù)路由模塊42確定所述數(shù)字指紋不在任何數(shù)據(jù)塊的數(shù)字指紋范圍內(nèi),則由主控模塊45新建壓縮進(jìn)程;所述數(shù)據(jù)路由模塊42還用于將所述原始數(shù)據(jù)路由到所述新建的壓縮進(jìn)程;所述壓縮模塊43執(zhí)行所述新建的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮,生成新的數(shù)據(jù)塊。所述主控模塊45還用于設(shè)置所述數(shù)字指紋為所述新建的數(shù)據(jù)塊的主數(shù)字指紋。可選的,主控模塊45還用于通過壓縮模塊43獲取所述數(shù)據(jù)塊和/或所述數(shù)據(jù)塊的壓縮進(jìn)程的即時(shí)狀態(tài),并根據(jù)所述即時(shí)狀態(tài)和所述裝置的壓縮策略確定是否新建數(shù)據(jù)塊和/或新建壓縮進(jìn)程??蛇x的,所述數(shù)字指紋生成器41使用用于數(shù)據(jù)相似性檢測的數(shù)字指紋算法根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋??蛇x的,所述數(shù)據(jù)加載器46利用分布式并行方式加載所述原始數(shù)據(jù),并發(fā)送到所述數(shù)字指紋生成器41。裝置40實(shí)現(xiàn)了方法10和20,出于簡潔,具體細(xì)節(jié)此處不再贅述。本發(fā)明實(shí)施例中可以利用數(shù)據(jù)生成的數(shù)字指紋的數(shù)據(jù)相似性,將數(shù)據(jù)壓縮到指定的數(shù)據(jù)塊,從而提高數(shù)據(jù)壓縮的壓縮比。本領(lǐng)域普通技術(shù)人員可以意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、或者計(jì)算機(jī)軟件和電子硬件的結(jié)合來實(shí)現(xiàn)。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。所屬領(lǐng)域的技術(shù)人員可以清楚地了解到,為描述的方便和簡潔,上述描述的系統(tǒng)、裝置和單元的具體工作過程,可以參考前述方法實(shí)施例中的對(duì)應(yīng)過程,在此不再贅述。在本申請(qǐng)所提供的幾個(gè)實(shí)施例中,應(yīng)該理解到,所揭露的系統(tǒng)、裝置和方法,可以通過其它的方式實(shí)現(xiàn)。例如,以上所描述的裝置實(shí)施例僅僅是示意性的,例如,所述單元的劃分,僅僅為一種邏輯功能劃分,實(shí)際實(shí)現(xiàn)時(shí)可以有另外的劃分方式,例如多個(gè)單元或組件可以結(jié)合或者可以集成到另一個(gè)系統(tǒng),或一些特征可以忽略,或不執(zhí)行。另一點(diǎn),所顯示或討論的相互之間的耦合或直接耦合或通信連接可以是通過一些接口,裝置或單元的間接耦合或通信連接,可以是電性,機(jī)械或其它的形式。所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上。可以根據(jù)實(shí)際的需要選擇其中的部分或者全部單元來實(shí)現(xiàn)本實(shí)施例方案的目的。另外,在本發(fā)明各個(gè)實(shí)施例中的各功能單元可以集成在一個(gè)處理單元中,也可以是各個(gè)單元單獨(dú)物理存在,也可以兩個(gè)或兩個(gè)以上單元集成在一個(gè)單元中。所述功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算機(jī)可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本發(fā)明的技術(shù)方案本質(zhì)上或者說對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè) 人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括U盤、移動(dòng)硬盤、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM, Random Access Memory)、磁碟或者光盤等各種可以存儲(chǔ)程序代碼的介質(zhì)。以上所述,僅為本發(fā)明的具體實(shí)施方式
      ,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)所述以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
      權(quán)利要求
      1.一種數(shù)據(jù)壓縮的方法,其特征在于,包括 根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋; 根據(jù)所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊的壓縮進(jìn)程; 執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成對(duì)所述原始數(shù)據(jù)的壓縮。
      2.根據(jù)權(quán)利要求I所述的方法,其特征在于,所述根據(jù)所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊的壓縮進(jìn)程,具體包括 獲取數(shù)據(jù)塊的數(shù)字指紋范圍,將所述數(shù)字指紋與所述數(shù)據(jù)塊的數(shù)字指紋范圍進(jìn)行比對(duì),將所述數(shù)字指紋所落入的數(shù)字指紋范圍對(duì)應(yīng)的數(shù)據(jù)塊確定為與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,并將所述數(shù)據(jù)指紋對(duì)應(yīng)的所述原始數(shù)據(jù)路由到所述確定的數(shù)據(jù)塊的壓縮進(jìn)程。
      3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述方法還包括 當(dāng)所述數(shù)字指紋不在任何數(shù)據(jù)塊的數(shù)字指紋范圍內(nèi),則新建壓縮進(jìn)程;并將所述原始數(shù)據(jù)路由到該新建的壓縮進(jìn)程,執(zhí)行所述新建的壓縮進(jìn)程,完成對(duì)所述原始數(shù)據(jù)的壓縮,生成新的數(shù)據(jù)塊,并指定所述數(shù)字指紋為所述新建的數(shù)據(jù)塊的主數(shù)字指紋。
      4.根據(jù)權(quán)利要求1-3任一所述的方法,其特征在于,所述數(shù)據(jù)塊的數(shù)字指紋范圍在確認(rèn)要新建數(shù)據(jù)塊時(shí)被設(shè)置,具體包括 以原始數(shù)據(jù)生成的用于數(shù)據(jù)相似性檢測的數(shù)字指紋作為主數(shù)字指紋; 以所述主數(shù)字指紋作為中心,并以到所述中心的漢明距離作為所述新建數(shù)據(jù)塊的數(shù)字指紋范圍。
      5.根據(jù)權(quán)利要求1-4任一所述的方法,其特征在于,所述方法還包括獲取所述數(shù)據(jù)塊和/或數(shù)據(jù)塊的壓縮進(jìn)程的即時(shí)狀態(tài),并根據(jù)所述即時(shí)狀態(tài)和壓縮策略確定是否新建數(shù)據(jù)塊和/或新建壓縮進(jìn)程。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述即時(shí)狀態(tài)和壓縮策略包括 當(dāng)前數(shù)據(jù)塊的大小是否在壓縮策略限定的范圍內(nèi),如果到達(dá)限定的數(shù)據(jù)塊大小范圍,則新建數(shù)據(jù)塊; 當(dāng)前數(shù)據(jù)塊的壓縮進(jìn)程中排隊(duì)等待完成壓縮的原始數(shù)據(jù)個(gè)數(shù)是否超過壓縮策略的閾值,如果超過所述閾值,則新建壓縮進(jìn)程。
      7.根據(jù)權(quán)利要求1-6任一所述的方法,其特征在于,所述根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋前,所述方法還包括 利用分布式并行方式加載需要進(jìn)行壓縮的各原始數(shù)據(jù)。
      8.根據(jù)權(quán)利要求1-7任一所述的方法,其特征在于,所述執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮,具體包括 將所述原始數(shù)據(jù)和確定的數(shù)據(jù)塊作為所述壓縮進(jìn)程的壓縮參數(shù),并按照字典壓縮算法重新生成數(shù)據(jù)塊。
      9.一種數(shù)據(jù)壓縮的裝置,其特征在于,包括數(shù)字指紋生成器、數(shù)據(jù)路由模塊和壓縮模塊 所述數(shù)字指紋生成器用于根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋;所述數(shù)據(jù)路由模塊用于根據(jù)所述數(shù)字指紋生成器生成的所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的所述數(shù)據(jù)塊的壓縮進(jìn)程;所述壓縮模塊用于執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮。
      10.根據(jù)權(quán)利要求9所述的裝置,其特征在于,所述裝置還包括主控模塊 所述主控模塊用于向所述數(shù)據(jù)路由模塊提供所述數(shù)據(jù)塊的數(shù)字指紋范圍; 所述數(shù)據(jù)路由模塊具體用于將所述數(shù)字指紋與所述數(shù)據(jù)塊的數(shù)字指紋范圍進(jìn)行比對(duì),將所述數(shù)字指紋所落入的數(shù)字指紋范圍對(duì)應(yīng)的數(shù)據(jù)塊確定為與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,并將所述數(shù)據(jù)指紋對(duì)應(yīng)的所述原始數(shù)據(jù)路由到所述確定的數(shù)據(jù)塊的壓縮進(jìn)程。
      11.根據(jù)權(quán)利要求10所述的裝置,其特征在于所述主控模塊還用于 當(dāng)所述數(shù)據(jù)路由模塊確定所述數(shù)字指紋不在任何數(shù)據(jù)塊的數(shù)字指紋范圍內(nèi),則新建壓縮進(jìn)程; 所述數(shù)據(jù)路由模塊還用于將所述原始數(shù)據(jù)路由到所述新建的壓縮進(jìn)程; 所述壓縮模塊執(zhí)行所述新建的壓縮進(jìn)程,完成原始數(shù)據(jù)的壓縮,生成新的數(shù)據(jù)塊。
      所述主控模塊還用于設(shè)置所述數(shù)字指紋為所述新建的數(shù)據(jù)塊的主數(shù)字指紋。
      12.根據(jù)權(quán)利要求10所述的裝置,其特征在于 所述主控模塊還用于通過壓縮模塊獲取所述數(shù)據(jù)塊和/或所述數(shù)據(jù)塊的壓縮進(jìn)程的即時(shí)狀態(tài),并根據(jù)所述即時(shí)狀態(tài)和所述裝置的壓縮策略確定是否新建數(shù)據(jù)塊和/或新建壓縮進(jìn)程。
      13.根據(jù)權(quán)利要求9所述的裝置,其特征在于所述裝置還包括數(shù)據(jù)加載器 所述數(shù)據(jù)加載器利用分布式并行方式加載所述原始數(shù)據(jù),并發(fā)送到所述數(shù)字指紋生成器。
      全文摘要
      本發(fā)明實(shí)施例提供了一種數(shù)據(jù)壓縮方法和裝置。方法包括根據(jù)原始數(shù)據(jù)生成用于數(shù)據(jù)相似性檢測的數(shù)字指紋;根據(jù)所述數(shù)字指紋確定與所述原始數(shù)據(jù)具有數(shù)據(jù)相似性的數(shù)據(jù)塊,將所述原始數(shù)據(jù)路由到確定的數(shù)據(jù)塊的壓縮進(jìn)程;執(zhí)行所述確定的數(shù)據(jù)塊的壓縮進(jìn)程,完成對(duì)所述原始數(shù)據(jù)的壓縮。方法對(duì)應(yīng)的裝置包括數(shù)字指紋生成器、數(shù)據(jù)路由模塊、壓縮模塊和數(shù)據(jù)塊。上述技術(shù)方案可以利用原始數(shù)據(jù)生成的數(shù)字指紋的相似性,將原始數(shù)據(jù)壓縮到指定的數(shù)據(jù)塊,從而提高數(shù)據(jù)壓縮的壓縮比。
      文檔編號(hào)G06F17/30GK102708183SQ201210142169
      公開日2012年10月3日 申請(qǐng)日期2012年5月9日 優(yōu)先權(quán)日2012年5月9日
      發(fā)明者張亮, 陳系華 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1