新四季網

一種基於話單數據的壓縮和存儲方法

2023-06-17 23:27:56 2

一種基於話單數據的壓縮和存儲方法
【專利摘要】本發明涉及一種基於話單數據的壓縮和存儲方法,由列存儲系統實現,列存儲系統包括壓縮模塊、存儲模塊和處理模塊,本發明方法採用多種輕量級壓縮算法從語法和語義分別對數據進行壓縮,將數據存儲於特定的列存資料庫。並支持多種數據處理語言對壓縮態下的數據進行查詢篩選等操作。本發明針對運營商實際存在的問題提出了一種有效的解決方案,並且適用於各大運營商處理其大量的話單數據,大大減少了數據存儲所需的空間,在數據存儲上引入了列存資料庫,由於其自身存儲的特殊性,與各種輕量級壓縮算法可以完美的結合起來,由於採用輕量級壓縮算法,可以對壓縮態的數據直接進行SQL操作,大大提高了數據的處理速度。
【專利說明】一種基於話單數據的壓縮和存儲方法
【技術領域】
[0001]本發明涉及數據壓縮和資料庫領域,特別涉及一種基於話單數據的壓縮和存儲方法。
【背景技術】
[0002]如今人們的日常生活已經越來越離不開移動通信,而隨之產生大量數據也得到了更多的關注。就中國移動的業務支撐能力而言,在業務量方面,用戶總數超過7億,全年受理營業300多億次,完成統計報表數億張;在支撐能力方面,全年處理幾萬億張計費話單,幾千萬張結算單,全網OLTP處理能力接近40億tpmC,存儲的有效容量將近20PB。面對如此之大的數據量,傳統的存儲方式和處理策略存在很大的局限性與滯後性。如何找到一種對大規模話單數據進行存儲和處理的方式,已經成為三大運營商的當務之急。
[0003]另一方面,列存資料庫作為一個新興的技術,得到越來越多學者的注意。然而,關於各種通用數據壓縮算法在列存資料庫中的具體實現和應用,國內尚處於起步階段。在國夕卜,各種開源的列存資料庫由於受到資金、人力資源和實踐檢驗的約束,導致其自身的設計與實現均存在著各種各樣的缺陷。更是沒有人將列存資料庫應用到具有特定數據結構的大規模的數據存儲上。
[0004]綜上兩點,運營商產生大量的話單數據得不到高效的存儲和處理,列存資料庫系統有著其自身的優勢但是沒有在存儲大規模數據上得到具體的應用。因此,如何為話單數據設計出適合其存儲和處理的列存資料庫,並且採用特定的壓縮算法來進一步減少數據存儲所需的空間,而且可以高效快速的讀取和處理數據,已經成為一個新型的研究方向下的技術難題。

【發明內容】

[0005]為解決上述技術問題,本發明所採用的技術方案如下:
[0006]一種基於話單數據的壓縮和存儲方法,由列存儲系統實現,列存儲系統包括壓縮模塊、存儲模塊和處理模塊,其壓縮和存儲方法如下:
[0007]步驟一、壓縮模塊對話單數據需要壓縮的屬性列採取不同的輕量級壓縮算法;
[0008]步驟二、由存儲模塊將經過壓縮模塊處理後的話單數據存入列存資料庫,列存資料庫的數據結構包括壓縮區和未壓縮區,壓縮區將採用不同輕量級壓縮算法壓縮後的屬性列分開存儲,未壓縮區則將不需要壓縮的屬性列直接存儲;
[0009]步驟三、處理模塊對列存資料庫的數據進行SQL操作,對未壓縮區的數據直接進行SQL操作;對壓縮區的數據進行SQL操作時,可以解壓後直接進行SQL操作,也可以不解壓間接進行SQL操作;當不進行解壓時,其SQL的間接操作方法如下:
[0010](I)通過操作算法選擇器對壓縮區不同屬性列採用的壓縮算法進行分析,
[0011](2)通過轉換器將SQL語句轉換成相應的可以用於該壓縮算法的語句。
[0012]步驟一中所述的輕量級壓縮算法可以為RLE行程編碼、差值壓縮或粗粒度字典壓縮。
[0013]本發明針對運營商實際存在的問題提出了一種有效的解決方案,並且適用於各大運營商處理其大量的話單數據,大大減少了數據存儲所需的空間,在數據存儲上引入了列存資料庫,由於其自身存儲的特殊性,與各種輕量級壓縮算法可以完美的結合起來,由於採用輕量級壓縮算法,可以對壓縮態的數據直接進行SQL操作,大大提高了數據的處理速度。
【專利附圖】

【附圖說明】
[0014]圖1列存儲系統的整體構架圖。
[0015]圖2壓縮模塊的壓縮流程圖。
[0016]圖3存儲模塊列存資料庫的數據結構。
[0017]圖4處理模塊的處理流程圖。
【具體實施方式】
[0018]下面結合說明書附圖對本發明作進一步的詳細說明。
[0019]本發明針對話單數據設計了一種基於話單數據的壓縮和存儲方法,該方法由列存儲系統實現,該系統的整體構架如附圖1所示,由三個模塊構成,分別為壓縮模塊、存儲模塊、處理模塊。本方法針對運營商產生的大規模的話單數據,採用多種輕量級壓縮算法從語法和語義分別對數據進行壓縮,將數據存儲於特定的列存資料庫。並支持多種數據處理語言對壓縮態下的數據進行查詢篩選等操作。
[0020]壓縮模塊分裝了對各種數據的壓縮算法,並且與存儲模塊中的數據結構緊密聯繫。存儲模塊設計了一種特定的列存資料庫有效地組織和保存算法生成的壓縮值。處理模塊用於將一般的SQL語句轉換成可以適用於各種輕量級壓縮算法的語句,以便在未解壓的情況下就能對壓縮態數據進行操作。SQL是Structured Query Language的英文縮寫,中文名為結構化查詢語言,是一種對資料庫進行操作的語言。該系統設計的好處在於:將三個模塊獨立分裝,從而保證了各個模塊之間的低耦合度。比如當數據壓縮方式發生變化的時候,我們只需要修改壓縮運算庫對外提供的各種接口就可以保證其他模塊不需要任何改動了。
[0021]壓縮模塊主要針對話單數據這一特定的數據結構,對各個屬性列採取不同的壓縮算法。具體流程如附圖2所示。原始話單數據在邏輯上已經按列存儲,分別為屬性列1、屬性列2…屬性列m。這些屬性列通過壓縮算法選擇器為不同的列制定特定的壓縮效率較高的壓縮算法。這裡我們採用的壓縮算法主要有RLE行程編碼(Run Length Encoding)、差值壓縮、粗粒度字典壓縮。原因是這些都是輕量級壓縮算法,可以不需解壓直接進行SQL操作。
[0022]由於話單數據的特殊性,存在大量的重複性數據,如通話類型標識(主要由10101、10106,10108不斷重複出現),對方運營商標識(主要由11、12、13不斷重複出現),主叫/被叫歸屬區號(主要由591、592、857、858不斷重複出現)、分局標識(基本都是一樣的)、計費事件類型標識等等,這些我們都可以採用粗粒度字典壓縮。將這些數據保存到一個字典中,並代之以一個整數來表示,這樣就節省了大量的空間。而另一些屬性列如通話開始時間,由於每一宗通話的開始時間在時間上是連續的,因此可以採用差值壓縮。例如(201407011023,201407011024,201407011025)就可以被壓縮為(201407011023,0,I, 2),對於 0、1、2 來說,可以用更少的位數來表示,從而達到節省空間的目的。還有的屬性列比如原始話單文件號,其內容多數都是13022800000000000000這樣的數據,我們可以看到有連續的14個O。採用RLE編碼可以大大縮短數據的長度。
[0023]因此,我們設計了以粗粒度字典壓縮為主,RLE行程編碼和差值壓縮為輔的壓縮策略。另外的一些屬性列如主叫和被叫號碼,由於數據的規律性不明顯,我們將其直接存儲而不壓縮。最後,當各個屬性列經過壓縮算法執行器壓縮後,還需將採用相同壓縮算法的列合併到一起,便於處理模塊對其進行操作。
[0024]存儲模塊設計了一種對各類壓縮算法生成的數據可以進行準確編碼解碼以及操作的列存資料庫。如附圖3,本發明的列存資料庫的數據結構充分體現了列存資料庫的特點。該數據結構主要分為壓縮區和未壓縮區。壓縮區又根據不同的壓縮算法分為字典壓縮區、RLE壓縮區、差值壓縮區。這樣的好處在於處理模塊可根據每一區域不同的壓縮算法而採取不同的解壓算法以及相應的壓縮態數據操作。而未壓縮區則直接存儲不需要壓縮的數據。
[0025]處理模塊可以對壓縮後的數據進行準確解碼,並且,由於壓縮採用的是輕量級壓縮算法,該模塊可以直接對壓縮態下的數據進行操作。具體流程如附圖4。SQL語句不能直接作用在原始的壓縮態數據上。數據首先要通過操作算法選擇器為不同的屬性列選擇不同的算法。由於各個屬性列都是按照相同的壓縮算法連續存儲的,因此操作算法選擇器具有方便性和快捷性。然後對應於不同的壓縮算法有著不同的轉換方式。便可以將最基本的SQL語句轉換成相應的可以用於該壓縮算法的資料庫操作語句。例如上述的粗粒度字典壓縮,壓縮後的數據在SQL運算中只需將字符串運算轉換為整數運算就可以了。因此該數據處理模塊大大減少了數據操作所需花費的時間。
【權利要求】
1.一種基於話單數據的壓縮和存儲方法,由列存儲系統實現,列存儲系統包括壓縮模塊、存儲模塊和處理模塊,其壓縮和存儲方法如下: 步驟一、壓縮模塊對話單數據需要壓縮的屬性列採取不同的輕量級壓縮算法; 步驟二、由存儲模塊將經過壓縮模塊處理後的話單數據存入列存資料庫,列存資料庫的數據結構包括壓縮區和未壓縮區,壓縮區將採用不同輕量級壓縮算法壓縮後的屬性列分開存儲,未壓縮區則將不需要壓縮的屬性列直接存儲; 步驟三、處理模塊對列存資料庫的數據進行SQL操作,對未壓縮區的數據直接進行SQL操作;對壓縮區的數據進行SQL操作時,可以解壓後直接進行SQL操作,也可以不解壓間接進行SQL操作;當不進行解壓時,其SQL的間接操作方法如下: (1)通過操作算法選擇器對壓縮區不同屬性列採用的壓縮算法進行分析, (2)通過轉換器將SQL語句轉換成相應的可以用於該壓縮算法的語句。
2.根據權利要求1所述的一種基於話單數據的壓縮和存儲方法,其特徵在於步驟一中所述的輕量級壓縮算法可以為RLE行程編碼、差值壓縮或粗粒度字典壓縮。
【文檔編號】G06F17/30GK103631927SQ201310648184
【公開日】2014年3月12日 申請日期:2013年12月3日 優先權日:2013年12月3日
【發明者】朱洪波, 沈順, 盧捍華, 朱翀, 徐蔓青, 錢超 申請人:南京郵電大學

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀