本申請涉及通信,尤其涉及一種哈希表的數(shù)據(jù)壓縮方法、芯片、電子設(shè)備及存儲介質(zhì)。
背景技術(shù):
1、目前,在部分網(wǎng)絡(luò)設(shè)備或通信模塊中,通過哈希(hash)表中的與的通信地址數(shù)據(jù)和通信策略數(shù)據(jù)進(jìn)行協(xié)議通信,比如,以太網(wǎng)交換、因特網(wǎng)協(xié)議(ip)路由和流分類等數(shù)據(jù),哈希表存放在網(wǎng)絡(luò)設(shè)備的靜態(tài)存儲空間(ram)中。網(wǎng)絡(luò)設(shè)備在查找哈希表中的地址數(shù)據(jù)時,根據(jù)接收到的請求方的通信地址鍵值(key)計算出哈希表的索引值,讀取該索引值對應(yīng)的通信地址數(shù)據(jù),且在確認(rèn)通信地址鍵值與通信地址數(shù)據(jù)相同時,與請求方進(jìn)行通信。目前,哈希表需要存儲完整的鍵值,以保證地址數(shù)據(jù)的查找結(jié)果的正確性,需要大量的存儲資源。而為了節(jié)約存儲資源,通常通過壓縮方法對鍵值進(jìn)行壓縮,在主流的壓縮算法(例如crc算法)中,生成的索引值與鍵值的規(guī)律性相關(guān),不具備較好的隨機(jī)特性,在某些場景下還會出現(xiàn)索引值重復(fù)的情況,從而導(dǎo)致哈希表的填充率下降,進(jìn)而降低了查找結(jié)果的正確性。
技術(shù)實現(xiàn)思路
1、本申請的主要目的在于提供一種通信管理方法、芯片、電子設(shè)備及存儲介質(zhì),用于管理多個終端設(shè)備之間的通信過程,以提高通信過程故障定位的效率。
2、第一方面,本申請實施例提供一種哈希表的數(shù)據(jù)壓縮方法,所述方法包括:
3、獲取待壓縮數(shù)據(jù),所述待壓縮數(shù)據(jù)包括多個鍵值,所述鍵值包括多個數(shù)值,所述鍵值的全部數(shù)值的位寬為n,對所述鍵值的全部數(shù)值進(jìn)行糾刪碼運(yùn)算,生成位寬為m的第一數(shù)據(jù),其中,n>m;
4、刪除所述鍵值中預(yù)設(shè)區(qū)間內(nèi)的數(shù)值,生成第二數(shù)據(jù),所述預(yù)設(shè)區(qū)間的位寬為m;
5、對所述第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,生成第三數(shù)據(jù),所述第三數(shù)據(jù)包括索引數(shù)據(jù)和表征數(shù)據(jù);
6、將所述表征數(shù)據(jù)和對應(yīng)的所述第二數(shù)據(jù)進(jìn)行拼接,生成散列數(shù)據(jù),根據(jù)所述索引數(shù)據(jù)排列所述散列數(shù)據(jù),生成所述哈希表。
7、第二方面,本申請實施例提供一種芯片,該芯片包括:數(shù)據(jù)索引模塊、數(shù)據(jù)壓縮模塊、數(shù)據(jù)加擾模塊和結(jié)果生成模塊;
8、數(shù)據(jù)索引模塊,用于獲取待壓縮數(shù)據(jù),所述待壓縮數(shù)據(jù)包括多個鍵值,所述鍵值包括多個數(shù)值,所述鍵值的全部數(shù)值的位寬為n,對所述鍵值的全部數(shù)值進(jìn)行糾刪碼運(yùn)算,生成位寬為m的第一數(shù)據(jù),其中,n>m;
9、數(shù)據(jù)壓縮模塊,用于刪除所述鍵值中預(yù)設(shè)區(qū)間內(nèi)的數(shù)值,生成第二數(shù)據(jù),所述預(yù)設(shè)區(qū)間的位寬為m;
10、數(shù)據(jù)加擾模塊,用于對所述第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,生成第三數(shù)據(jù),所述第三數(shù)據(jù)包括索引數(shù)據(jù)和表征數(shù)據(jù);
11、結(jié)果生成模塊,用于將所述表征數(shù)據(jù)和對應(yīng)的所述第二數(shù)據(jù)進(jìn)行拼接,生成散列數(shù)據(jù),根據(jù)所述索引數(shù)據(jù)排列所述散列數(shù)據(jù),生成所述哈希表。
12、第三方面,本申請實施例提供一種電子設(shè)備,其特征在于,包括存儲器、處理器、存儲在所述存儲器上并可在所述處理器上運(yùn)行的程序以及用于實現(xiàn)所述處理器和所述存儲器之間的連接通信的數(shù)據(jù)總線,所述程序被所述處理器執(zhí)行時實現(xiàn)如如本申請實施例中任一項所述的通信管理方法的步驟。
13、第四方面,本申請實施例提供一種存儲介質(zhì),用于計算機(jī)可讀存儲,所述存儲介質(zhì)存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)如本申請實施例中任一項所述的通信管理方法的步驟。
14、本申請實施例提供了一種通信管理方法,包括:獲取待壓縮數(shù)據(jù),待壓縮數(shù)據(jù)包括多個鍵值,鍵值包括多個數(shù)值,鍵值的全部數(shù)值的位寬為n,對鍵值的全部數(shù)值進(jìn)行糾刪碼運(yùn)算,生成位寬為m的第一數(shù)據(jù),其中,n>m;刪除鍵值中預(yù)設(shè)區(qū)間內(nèi)的數(shù)值,生成第二數(shù)據(jù),預(yù)設(shè)區(qū)間的位寬為m;對第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,生成第三數(shù)據(jù),第三數(shù)據(jù)包括索引數(shù)據(jù)和表征數(shù)據(jù);將表征數(shù)據(jù)和對應(yīng)的第二數(shù)據(jù)進(jìn)行拼接,生成散列數(shù)據(jù),根據(jù)索引數(shù)據(jù)排列散列數(shù)據(jù),生成哈希表。在上述過程中,根據(jù)鍵值的全部數(shù)值壓縮生成第一數(shù)據(jù),刪除所述鍵值中預(yù)設(shè)區(qū)間內(nèi)的數(shù)值,生成第二數(shù)據(jù),對第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算后得到索引數(shù)據(jù)和表征數(shù)據(jù),提高索引數(shù)據(jù)和表征數(shù)據(jù)的隨機(jī)特性,以防止降低索引數(shù)據(jù)重復(fù),再根據(jù)表征數(shù)據(jù)和第二數(shù)據(jù)拼接生成的散列數(shù)據(jù),根據(jù)可逆加擾運(yùn)算得到索引數(shù)據(jù)排序所述散列數(shù)據(jù),生成哈希表,通過提高索引數(shù)據(jù)的隨機(jī)特性防止哈希表的填充率下降,還將哈希表中的鍵值壓縮了與索引數(shù)據(jù)相同的數(shù)據(jù)位寬,有利于減少ram占用率,有助于提高哈希表的讀取速度。
1.一種哈希表的數(shù)據(jù)壓縮方法,其特征在于,所述方法包括:
2.如權(quán)利要求1所述的哈希表的數(shù)據(jù)壓縮方法,其特征在于,在對所述第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,生成第三數(shù)據(jù)之后,所述方法還包括:
3.如權(quán)利要求1所述的哈希表的數(shù)據(jù)壓縮方法,其特征在于,所述對所述第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,包括:
4.如權(quán)利要求1所述的哈希表的數(shù)據(jù)壓縮方法,其特征在于,所述對所述第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,包括:
5.如權(quán)利要求1所述的哈希表的數(shù)據(jù)壓縮方法,其特征在于,所述對所述第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,包括:
6.如權(quán)利要求1所述的哈希表的數(shù)據(jù)壓縮方法,其特征在于,所述對所述第一數(shù)據(jù)進(jìn)行可逆加擾運(yùn)算,包括:
7.如權(quán)利要求6所述的哈希表的數(shù)據(jù)壓縮方法,其特征在于,所述代換運(yùn)算、所述置換運(yùn)算和所述矩陣乘運(yùn)算的使用順序和使用次數(shù)可變更。
8.一種芯片,其特征在于,所述芯片包括:
9.一種電子設(shè)備,其特征在于,包括存儲器、處理器、存儲在所述存儲器上并可在所述處理器上運(yùn)行的程序以及用于實現(xiàn)所述處理器和所述存儲器之間的連接通信的數(shù)據(jù)總線,所述程序被所述處理器執(zhí)行時實現(xiàn)如權(quán)利要求1-7任一項所述的哈希表的數(shù)據(jù)壓縮方法的步驟。
10.一種存儲介質(zhì),用于計算機(jī)可讀存儲,其特征在于,所述存儲介質(zhì)存儲有一個或者多個程序,所述一個或者多個程序可被一個或者多個處理器執(zhí)行,以實現(xiàn)如權(quán)利要求1-7任一項所述的哈希表的數(shù)據(jù)壓縮方法的步驟。