數(shù)據(jù)壓縮方法及設(shè)備的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明實(shí)施例涉及通信技術(shù),尤其涉及一種數(shù)據(jù)壓縮方法及設(shè)備。
【背景技術(shù)】
[0002] 在無線通信網(wǎng)絡(luò)中,當(dāng)用戶設(shè)備(User Equipment,簡(jiǎn)稱為UE)需要通信的時(shí)候,會(huì) 和基站完成認(rèn)證、鑒權(quán)等流程,之后UE所發(fā)送的信令消息通過基站,在無線通信網(wǎng)絡(luò)中的 承載網(wǎng)上傳輸?shù)浇邮辗?。在該過程中,UE隨時(shí)與基站保持通信,會(huì)產(chǎn)生大量的呼叫歷史記錄 (Call History Record,簡(jiǎn)稱為 CHR)和測(cè)量報(bào)告(Measurement Report,簡(jiǎn)稱為 MR)數(shù)據(jù), 這些CHR/MR數(shù)據(jù)保存在基站控制器上。根據(jù)需要,基站控制器會(huì)將CHR/MR數(shù)據(jù)傳輸?shù)綌?shù) 據(jù)采集服務(wù)器上,之后數(shù)據(jù)采集服務(wù)器將CHR/MR數(shù)據(jù)上傳到云數(shù)據(jù)中心,使得在云數(shù)據(jù)中 心能夠基于CHR/MR數(shù)據(jù)提供運(yùn)維增值服務(wù)。
[0003] 隨著無線通信網(wǎng)絡(luò)的快速發(fā)展,UE數(shù)量激增,CHR/MR數(shù)據(jù)大幅增長(zhǎng),海量CHR/MR 數(shù)據(jù)的產(chǎn)生與云數(shù)據(jù)中心的有限網(wǎng)絡(luò)帶寬之間矛盾日趨凸顯,過長(zhǎng)的CHR/MR數(shù)據(jù)上傳時(shí) 間已成為制約云數(shù)據(jù)中心處理效率的瓶頸。將海量CHR/MR數(shù)據(jù)進(jìn)行壓縮編碼以提升傳輸 效率,是應(yīng)對(duì)這一難題的一條有效途徑。其中,算術(shù)編碼是目前用于對(duì)海量CHR/MR數(shù)據(jù)進(jìn) 行壓縮編碼的一種有效方法,主要是將被編碼的一條消息或字符串表不成0與1之間的一 段間隔,即對(duì)一串符號(hào)直接編碼成[0,1)區(qū)間上的一個(gè)浮點(diǎn)小數(shù),從而避開了用一個(gè)特定 碼字代替一個(gè)輸入符號(hào)的思想,而是用一個(gè)單獨(dú)的浮點(diǎn)數(shù)來代替一串輸入符號(hào),克服了霍 夫曼(Huffman)編碼中比特?cái)?shù)必須取整的缺點(diǎn),有效地提高了數(shù)據(jù)的壓縮比。
[0004] 目前,基于算術(shù)編碼的數(shù)據(jù)壓縮過程是:以被壓縮數(shù)據(jù)中連續(xù)的多個(gè)字節(jié)數(shù)據(jù)建 立上下文,獲得被壓縮數(shù)據(jù)的概率分布情況,在得到被壓縮數(shù)據(jù)的概率分布情況下獲取接 近信息熵,這種方法適用于各種通用數(shù)據(jù),但是用于對(duì)CHR/MR數(shù)據(jù)進(jìn)行壓縮時(shí),壓縮后的 數(shù)據(jù)仍存在數(shù)據(jù)冗余,壓縮比有待進(jìn)一步提高。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明實(shí)施例提供一種數(shù)據(jù)壓縮方法及設(shè)備,用以進(jìn)一步提高對(duì)CHR/MR數(shù)據(jù)的 壓縮比。
[0006] 第一方面提供一種數(shù)據(jù)壓縮方法,包括:
[0007] 按照預(yù)定格式,對(duì)呼叫歷史記錄/測(cè)量報(bào)告CHR/MR數(shù)據(jù)文件包含的多個(gè)CHR/MR 數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分析,獲取所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段在所述CHR/MR數(shù) 據(jù)文件中出現(xiàn)的概率;
[0008] 根據(jù)所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段在所述CHR/MR數(shù)據(jù)文件中出現(xiàn) 的概率,從所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段中確定至少一個(gè)關(guān)鍵字段,并按照 所述至少一個(gè)關(guān)鍵字段,對(duì)所述多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行排序;
[0009] 按照排序后的多個(gè)CHR/MR數(shù)據(jù)包的先后順序,依次對(duì)每個(gè)CHR/MR數(shù)據(jù)包包含的 每個(gè)定長(zhǎng)字段進(jìn)行哈希運(yùn)算,將所述定長(zhǎng)字段的哈希值與所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中的 哈希值進(jìn)行匹配,如果匹配中,將所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中匹配中的哈希值對(duì)應(yīng)的編 碼符號(hào)的概率增大,以增大后的概率作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述定長(zhǎng)字段進(jìn)行算術(shù) 編碼并輸出所述定長(zhǎng)字段對(duì)應(yīng)的編碼符號(hào);如果未匹配中,將所述定長(zhǎng)字段的哈希值添加 到所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中,以所述定長(zhǎng)字段的哈希值對(duì)應(yīng)的編碼符號(hào)的默認(rèn)概率作 為算術(shù)編碼的輸入?yún)?shù),對(duì)所述定長(zhǎng)字段進(jìn)行算術(shù)編碼輸出所述定長(zhǎng)字段對(duì)應(yīng)的編碼符 號(hào);其中,所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段對(duì)應(yīng)同一哈希表。
[0010] 結(jié)合第一方面,在第一方面的第一種可能的實(shí)現(xiàn)方式中,所述按照所述至少一個(gè) 關(guān)鍵字段,對(duì)所述多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行排序之前,包括:
[0011] 檢查每個(gè)所述CHR/MR數(shù)據(jù)包包含的所有字段是否均按字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ);
[0012] 如果存在未按字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ)的字段,將所述未按字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ) 的字段擴(kuò)充為以字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ)。
[0013] 結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式,在第一方面的第二種可能的 實(shí)現(xiàn)方式中,所述按照所述至少一個(gè)關(guān)鍵字段,對(duì)所述多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行排序,包括 :
[0014] 按照所述至少一個(gè)關(guān)鍵字段的優(yōu)先級(jí),依次根據(jù)每個(gè)關(guān)鍵字段對(duì)所述多個(gè)CHR/MR 數(shù)據(jù)包進(jìn)行排序。
[0015] 結(jié)合第一方面或第一方面的第一種可能的實(shí)現(xiàn)方式或第一方面的第二種可能的 實(shí)現(xiàn)方式,在第一方面的第三種可能的實(shí)現(xiàn)方式中,所述CHR/MR數(shù)據(jù)包包含的定長(zhǎng)字段中 至少一個(gè)定長(zhǎng)字段包括至少一個(gè)邏輯域,所述包括至少一個(gè)邏輯域的定長(zhǎng)字段對(duì)應(yīng)的哈希 表包括至少一個(gè)哈希表項(xiàng),每個(gè)哈希表項(xiàng)對(duì)應(yīng)所述至少一個(gè)邏輯域中的一個(gè)邏輯域,且相 同定長(zhǎng)字段中相同邏輯域?qū)?yīng)同一哈希表中的同一哈希表項(xiàng);
[0016] 對(duì)包括至少一個(gè)邏輯域的定長(zhǎng)字段,所述對(duì)所述定長(zhǎng)字段進(jìn)行哈希運(yùn)算,將所述 定長(zhǎng)字段的哈希值與所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中的哈希值進(jìn)行匹配,如果匹配中,將所 述定長(zhǎng)字段對(duì)應(yīng)的哈希表中匹配中的哈希值對(duì)應(yīng)的編碼符號(hào)的概率增大,以增大后的概率 作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述定長(zhǎng)字段進(jìn)行算術(shù)編碼輸出所述定長(zhǎng)字段對(duì)應(yīng)的編碼符 號(hào);如果未匹配中,將所述定長(zhǎng)字段的哈希值添加到所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中,以所述 定長(zhǎng)字段的哈希值對(duì)應(yīng)的編碼符號(hào)的默認(rèn)概率作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述定長(zhǎng)字段 進(jìn)行算術(shù)編碼輸出所述定長(zhǎng)字段對(duì)應(yīng)的編碼符號(hào),包括:
[0017] 對(duì)所述包括至少一個(gè)邏輯域的定長(zhǎng)字段包括的每個(gè)邏輯域進(jìn)行哈希運(yùn)算,將所述 邏輯域的哈希值與所述包括至少一個(gè)邏輯域的定長(zhǎng)字段對(duì)應(yīng)的哈希表中所述邏輯域?qū)?yīng) 的哈希表項(xiàng)中的哈希值進(jìn)行匹配,如果匹配中,將所述邏輯域?qū)?yīng)的哈希表項(xiàng)中匹配中的 哈希值對(duì)應(yīng)的編碼符號(hào)的概率增大,以增大后的概率作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述邏 輯域進(jìn)行算術(shù)編碼輸出所述邏輯域?qū)?yīng)的編碼符號(hào);如果未匹配中,將所述邏輯域的哈希 值添加到所述邏輯域?qū)?yīng)的哈希表項(xiàng)中,以所述邏輯域的哈希值對(duì)應(yīng)的編碼符號(hào)的默認(rèn)概 率作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述邏輯域進(jìn)行算術(shù)編碼輸出所述邏輯域?qū)?yīng)的編碼符 號(hào)。
[0018] 第二方面提供一種數(shù)據(jù)壓縮設(shè)備,包括:
[0019] 獲取模塊,用于按照預(yù)定格式,對(duì)呼叫歷史記錄/測(cè)量報(bào)告CHR/MR數(shù)據(jù)文件包含 的多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分析,獲取所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段在 所述CHR/MR數(shù)據(jù)文件中出現(xiàn)的概率;
[0020] 排序模塊,用于根據(jù)所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段在所述CHR/MR 數(shù)據(jù)文件中出現(xiàn)的概率,從所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段中確定至少一個(gè) 關(guān)鍵字段,并按照所述至少一個(gè)關(guān)鍵字段,對(duì)所述多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行排序;
[0021] 匹配模塊,用于按照排序后的多個(gè)CHR/MR數(shù)據(jù)包的先后順序,依次對(duì)每個(gè)CHR/MR 數(shù)據(jù)包包含的每個(gè)定長(zhǎng)字段進(jìn)行哈希運(yùn)算,將所述定長(zhǎng)字段的哈希值與所述定長(zhǎng)字段對(duì)應(yīng) 的哈希表中的哈希值進(jìn)行匹配;其中,所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng)字段對(duì)應(yīng)同 一哈希表;
[0022] 算術(shù)編碼模塊,用于在所述匹配模塊匹配中時(shí),將所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中 匹配中的哈希值對(duì)應(yīng)的編碼符號(hào)的概率增大,以增大后的概率作為算術(shù)編碼的輸入?yún)?shù), 對(duì)所述定長(zhǎng)字段進(jìn)行算術(shù)編碼并輸出所述定長(zhǎng)字段對(duì)應(yīng)的編碼符號(hào),或者用于在所述匹配 模塊未匹配中時(shí),將所述定長(zhǎng)字段的哈希值添加到所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中,以所述 定長(zhǎng)字段的哈希值對(duì)應(yīng)的編碼符號(hào)的默認(rèn)概率作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述定長(zhǎng)字段 進(jìn)行算術(shù)編碼輸出所述定長(zhǎng)字段對(duì)應(yīng)的編碼符號(hào)。
[0023] 結(jié)合第二方面,在第二方面的第一種可能的實(shí)現(xiàn)方式中,所述排序模塊還用于在 對(duì)所述多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行排序之前,檢查每個(gè)所述CHR/MR數(shù)據(jù)包包含的所有字段是 否均按字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ),并在存在未按字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ)的字段時(shí),將所述未 按字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ)的字段擴(kuò)充為以字節(jié)對(duì)齊方式進(jìn)行存儲(chǔ)。
[0024] 結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式,在第二方面的第二種可能的 實(shí)現(xiàn)方式中,所述排序模塊用于按照所述至少一個(gè)關(guān)鍵字段,對(duì)所述多個(gè)CHR/MR數(shù)據(jù)包進(jìn) 行排序,包括:
[0025] 所述排序模塊具體用于按照所述至少一個(gè)關(guān)鍵字段的優(yōu)先級(jí),依次根據(jù)每個(gè)關(guān)鍵 字段對(duì)所述多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行排序。
[0026] 結(jié)合第二方面或第二方面的第一種可能的實(shí)現(xiàn)方式或第二方面的第二種可能的 實(shí)現(xiàn)方式,在第二方面的第三種可能的實(shí)現(xiàn)方式中,所述CHR/MR數(shù)據(jù)包包含的定長(zhǎng)字段中 至少一個(gè)定長(zhǎng)字段包括至少一個(gè)邏輯域,所述包括至少一個(gè)邏輯域的定長(zhǎng)字段對(duì)應(yīng)的哈希 表包括至少一個(gè)哈希表項(xiàng),每個(gè)哈希表項(xiàng)對(duì)應(yīng)所述至少一個(gè)邏輯域中的一個(gè)邏輯域,且相 同定長(zhǎng)字段中相同邏輯域?qū)?yīng)同一哈希表中的同一哈希表項(xiàng);
[0027] 所述匹配模塊具體用于對(duì)包括至少一個(gè)邏輯域的定長(zhǎng)字段包括的每個(gè)邏輯域進(jìn) 行哈希運(yùn)算,將所述邏輯域的哈希值與所述包括至少一個(gè)邏輯域的定長(zhǎng)字段對(duì)應(yīng)的哈希表 中所述邏輯域?qū)?yīng)的哈希表項(xiàng)中的哈希值進(jìn)行匹配;
[0028] 所述算術(shù)編碼模塊具體用于在所述匹配模塊匹配中時(shí),將所述邏輯域?qū)?yīng)的哈希 表項(xiàng)中匹配中的哈希值對(duì)應(yīng)的編碼符號(hào)的概率增大,以增大后的概率作為算術(shù)編碼的輸入 參數(shù),對(duì)所述邏輯域進(jìn)行算術(shù)編碼輸出所述邏輯域?qū)?yīng)的編碼符號(hào);或者在所述匹配模塊 未匹配中時(shí),將所述邏輯域的哈希值添加到所述邏輯域?qū)?yīng)的哈希表項(xiàng)中,以所述邏輯域 的哈希值對(duì)應(yīng)的編碼符號(hào)的默認(rèn)概率作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述邏輯域進(jìn)行算術(shù)編 碼輸出所述邏輯域?qū)?yīng)的編碼符號(hào)。
[0029] 本發(fā)明實(shí)施例提供的數(shù)據(jù)壓縮方法及設(shè)備,首先按照預(yù)定格式,對(duì)CHR/MR數(shù)據(jù)文 件包含的多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行統(tǒng)計(jì)分析,獲取所述多個(gè)CHR/MR數(shù)據(jù)包包含的相同定長(zhǎng) 字段在所述CHR/MR數(shù)據(jù)文件中出現(xiàn)的概率,然后按照這些概率從所述相同定長(zhǎng)字段中選 擇至少一個(gè)關(guān)鍵字段,然后根據(jù)至少一個(gè)關(guān)鍵字段對(duì)多個(gè)CHR/MR數(shù)據(jù)包進(jìn)行排序,使得具 有較高相似度的字段之間的距離減小,有利于提高數(shù)據(jù)壓縮比;進(jìn)一步按照排序后的多個(gè) CHR/MR數(shù)據(jù)包的先后順序,依次對(duì)每個(gè)CHR/MR數(shù)據(jù)包包含的每個(gè)定長(zhǎng)字段進(jìn)行哈希運(yùn)算, 將所述定長(zhǎng)字段的哈希值與所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中的哈希值進(jìn)行匹配,如果匹配 中,將所述定長(zhǎng)字段對(duì)應(yīng)的哈希表中匹配中的哈希值對(duì)應(yīng)的編碼符號(hào)的概率增大,以增大 后的概率作為算術(shù)編碼的輸入?yún)?shù),對(duì)所述定長(zhǎng)字段進(jìn)行算