CN113852556B - 一种路由信息压缩与检索方法和系统 - Google Patents
一种路由信息压缩与检索方法和系统 Download PDFInfo
- Publication number
- CN113852556B CN113852556B CN202111010862.9A CN202111010862A CN113852556B CN 113852556 B CN113852556 B CN 113852556B CN 202111010862 A CN202111010862 A CN 202111010862A CN 113852556 B CN113852556 B CN 113852556B
- Authority
- CN
- China
- Prior art keywords
- address
- huffman
- tree
- avl
- avl tree
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/745—Address table lookup; Address filtering
- H04L45/7453—Address table lookup; Address filtering using hashing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/35—Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本公开涉及一种基于霍夫曼编码和AVL树的路由信息压缩与检索方法。该方法包括对业务方的IP地址进行查重和过滤,根据用户订购的业务来将IP地址分批下放至用户网关,将IP地址拆分成IP地址段并构建霍夫曼树以生成对应于所述IP地址段的霍夫曼编码,合并霍夫曼编码并将其存储在霍夫曼编码组列表中,基于IP地址段和对应的所述霍夫曼编码来构建AVL树,以及基于该AVL树和霍夫曼编码组列表来检索要访问的IP地址。
Description
技术领域
本发明涉及数据压缩和检索,尤其涉及基于基于霍夫曼编码和AVL树的路由信息压缩与检索。
背景技术
目前,云网超宽带为了能够为用户提供各类应用宽带服务,在网关侧下发目标IP地址的明细路由表来区分加速应用和非加速应用,但是在现有技术中通常直接将未加工和未过滤的业务方的IP地址下发到用户网关,而当前现有网关的硬件能力和IP地址存储数量受限,硬件运算能力也较低,无法应对大量的明细路由表信息。另外,在现有技术中没有针对IP地址进行压缩存储,而对于IP地址这样很可能存在连续地址情况,使得IP地址段的重复率可能较高,有优化的空间来压缩。
对于路由表数据压缩领域的现有技术,相对节省算力的方法如CN03109123.7中路由压缩方法的20%压缩比过高;对于拆分过滤的方式,如CN201911368259.0中IPv6单播地址压缩方法,其不符合无损压缩的条件;对于外部访问解决方式,如CN201310404848.6中,访问存在延迟不符合项目需求;对于CN201210124632.X中的高效算术压缩算法,其对性能配置要求较高(Intel(R)CoreTM2.4GHz2处理器,2G内存,ATI RadeonHD图形显卡),外加训练模型的复杂度较高不适用本发明的应用场景。
因此,需要能够改进现有技术中的缺陷的方法和系统。
发明内容
提供本发明内容来以简化形式介绍将在以下具体实施方式部分中进一步描述的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
为了通过在网络终端(诸如网关)存放路由信息的形式来区分业务访问,本发明的目标是结合网络终端低存储、低性能的特点以及项目快速响应和高稳定性的要求提供一种路由信息的压缩与检索方法和系统。
通过压缩方法的比较,霍夫曼压缩法(Huff0)能保持相对不错的压缩比,并由于其简单的架构使得该方法的压缩和解压速度较为优秀,保障了解码和编码的效率。另外,在本发明的应用场景中,单个应用方提供的IP地址量都可达数万条,而基于动态霍夫曼编码将IP地址转换成紧凑的二进制编码可以降低IP地址的平均长度,理论上可以节约20%-90%的存储,配合其他的过滤方案可以扩大网关存储的IP地址数量,从而解决解决端侧存储全量IP地址的问题。
为了解决检索效率的问题,可将树形结构和散列表(Hash)作为解决方案。关于Hash方法,虽然其在查询和添加方面效率极高(O(1)),但偶现的哈希冲突的情况影响其稳定性,外加较差的延展,所以相对不适用于数量不确定的路由信息的存储;B/B+树是当前主流数据库的索引结构,但对比其他树形结构,其主要在具有较大数据量的情况下具备优势,因此不太符合网关存储受限的场景;红黑树和AVL树均为平衡二叉树,但AVL树具有相对更高的稳定性,并且其搜索复杂度约为O(logN),对于列表查询速度的影响较小,因此相对红黑树AVL树更为适用于本发明的应用场景。
综上所述,本发明采用动态霍夫曼编码算法来实现IP地址的无损压缩,并使用AVL平衡检索树来减少编码对识别IP地址的影响。
具体而言,在本发明的一个实施例中,提供了一种基于霍夫曼编码和AVL树的路由信息压缩与检索方法,该方法包括:
对业务方的IP地址进行查重和过滤;
根据用户订购的业务来将所述IP地址分批下放至用户网关;
将所述IP地址拆分成IP地址段并构建霍夫曼树以生成对应于所述IP地址段的霍夫曼编码;
合并所述霍夫曼编码以生成霍夫曼编码组并将其存储在霍夫曼编码组列表中;
基于所述IP地址段和对应的所述霍夫曼编码来构建AVL树;以及
基于所述AVL树和所述霍夫曼编码组列表来检索要访问的IP地址。
在本发明的另一个实施例中,提供了一种基于霍夫曼编码和AVL树的路由信息压缩与检索系统,该系统包括:
用于对业务方的IP地址进行查重和过滤的装置;
用于根据用户订购的业务来将所述IP地址分批下放至用户网关的装置;
用于将所述IP地址拆分成IP地址段并构建霍夫曼树以生成对应于所述IP地址段的霍夫曼编码的装置;
用于合并所述霍夫曼编码以生成霍夫曼编码组并将其存储在霍夫曼编码组列表中的装置;
用于基于所述IP地址段和对应的所述霍夫曼编码来构建AVL树的装置;以及
用于基于所述AVL树和所述霍夫曼编码组列表来检索要访问的IP地址的装置。
在本发明的又一个实施例中,提供了一种存储计算机可执行指令的计算机可读介质,这些指令包括:
用于对业务方的IP地址进行查重和过滤的指令;
用于根据用户订购的业务来将所述IP地址分批下放至用户网关的指令;
用于将所述IP地址拆分成IP地址段并构建霍夫曼树以生成对应于所述IP地址段的霍夫曼编码的指令;
用于合并所述霍夫曼编码以生成霍夫曼编码组并将其存储在霍夫曼编码组列表中的指令;
用于基于所述IP地址段和对应的所述霍夫曼编码来构建AVL树的指令;以及
用于基于所述AVL树和所述霍夫曼编码组列表来检索要访问的IP地址的指令。
在结合附图研读了下文对本发明的具体示例性实施例的描述之后,本发明的其他方面、特征和实施例对于本领域普通技术人员将是明显的。尽管本发明的特征在以下可能是针对某些实施例和附图来讨论的,但本发明的全部实施例可包括本文所讨论的有利特征中的一个或多个。换言之,尽管可能讨论了一个或多个实施例具有某些有利特征,但也可以根据本文讨论的本发明的各种实施例使用此类特征中的一个或多个特征。以类似方式,尽管示例性实施例在下文可能是作为设备、系统或方法实施例进行讨论的,但是应当领会,此类示例性实施例可以在各种设备、系统、和方法中实现。
附图说明
为了能详细理解本公开的以上陈述的特征所用的方式,可参照各方面来对以上简要概述的内容进行更具体的描述,其中一些方面在附图中阐示。然而应该注意,附图仅阐示了本公开的某些典型方面,故不应被认为限定其范围,因为本描述可允许有其他等同有效的方面。
图1是根据本公开的一个实施例的基于霍夫曼编码和AVL树的路由信息压缩与检索的系统架构的示意图。
图2示出了根据本公开的一个实施例的基于霍夫曼编码和AVL树的路由信息压缩与检索方法的流程图。
图3示出了根据本公开的一个实施例的霍夫曼树构建和编码方法的流程图。
图4示出了根据本公开的一个实施例的AVL树构建和检索方法的流程图。
具体实施方式
以下将参考形成本发明一部分并示出各具体示例性实施例的附图更详尽地描述各个实施例。然而,各实施例可以以许多不同的形式来实现,并且不应将其解释为限制此处所阐述的各实施例;相反地,提供这些实施例以使得本公开变得透彻和完整,并且将这些实施例的范围完全传达给本领域普通技术人员。各实施例可按照方法、系统或设备来实施。因此,这些实施例可采用硬件实现形式、全软件实现形式或者结合软件和硬件方面的实现形式。因此,以下具体实施方式并非是局限性的。
各流程图中的步骤可通过硬件(例如,处理器、引擎、存储器、电路)、软件(例如,操作系统、应用、驱动器、机器/处理器可执行指令)或其组合来执行。如本领域普通技术人员将理解的,各实施例中所涉及的方法可以包括比示出的更多或更少的步骤。
下文中将通过框图、数据流图以及方法流程图对本公开的各方面进行详细描述。
图1是根据本公开的一个实施例的基于霍夫曼编码和AVL树的路由信息压缩与检索的系统架构100的示意图。
为了对IP地址信息进行压缩和检索,首先需要完成IP地址库的组建。如图1所示,通过去重模块104对业务方的IP地址(即,业务方路由信息102)进行哈希去重,再通过DNS查询过滤模块106对经去重的IP地址进行过滤。具体而言,DNS查询过滤模块106实时更新DNS信息并基于DNS查询来检测业务方给的URL与对应IP地址信息的一致性,即通过DNS查询去除无效IP地址。最后将经去重和经过滤的IP地址信息引入到构建在服务器上的因业务方而异的地址库108中。
随后,IP地址分批下发模块110根据用户订购的业务以及当前网关编码进度将服务器地址库108中的IP地址分批次下发到用户网关,即将地址库中的IP地址作为IP地址组1、IP地址组2、……、IP地址组N来分批下发。在本发明的一个实施例中,也可通过集成终端管理系统(ITMS)来分批下发IP地址信息。所下发的IP地址组可被存储在用户网关的本地IP地址存储112中,以供后续压缩和检索。
然后,在进行IP地址动态编码之前通过拆分模块114将本地存储112中的IP地址拆分为数个(例如,4个)IP地址段。作为示例而非限制,可以进行N个IP地址拆分:N*[192.168.100.155]→N*[192,168,100,155]。
经拆分的IP地址段被传递给动态霍夫曼编码模块116以供搭建动态霍夫曼树。动态霍夫曼编码模块116基于经拆分的IP地址段来构建霍夫曼树并按照左0右1的规则获得每个IP地址段的霍夫曼编码。所构建的霍夫曼树被存储在用户网关的本地存储112中,动态霍夫曼树的构建将在下文中更详细地描述。
合并模块118随后合并经编码的IP地址段以生成编码组列表120中的霍夫曼编码组,即将数个IP地址段的二进制霍夫曼编码拼接成数组存储在列表120中。
为了提高后续的检索效率,还需要一种IP地址转编码树(具体是AVL树,如下所述)来存储经编码的IP地址/IP地址段(诸如192.168.100.155→
110.11.010.11→1101101011)。
IP转编码树模块122通过搭建AVL树来实现高效的IP地址检索。具体而言,当通过动态霍夫曼编码模块116构建动态霍夫曼编码后会获取不同IP地址段的对应霍夫曼编码,IP转编码树模块122将IP地址段和对应的霍夫曼编码绑定成一个个元组(如图1所示,作为示例而非限制,IP地址段X可以与霍夫曼编码X组成一个元组、IP地址段Y可以与霍夫曼编码Y组成一个元组,IP地址段Z可以与霍夫曼编码Z组成一个元组),并基于得到的一个个元组来构建AVL树。
如同霍夫曼树,所构建的AVL树也被存储在用户网关的本地存储112中,并且空间复杂度是:O(N*(M+T))+O((N*M)^4),通过降低编码大小(M)来实现压缩IP地址段(T),N是IP地址数量。AVL树的构建将在下文中更详细地描述。
当该批次完成编码后(即,完成动态霍夫曼树和AVL树的构建)就通知用户网关请求IP地址下发模块110继续下发,直到IP地址库108中的所有IP地址的编码完成。
随后,当后续访问业务时,对于业务访问请求124,首先也由IP地址拆分模块114对业务访问请求124中所包含的要访问的IP地址进行拆分,即拆分成数个IP地址段。随后,IP地址检索模块(未示出)首先在所构建的AVL树中检索每个IP地址段(或IP代码段)所对应的霍夫曼编码以完成在AVL树中查找相应元素。若未找到,则再合并各个IP地址段的霍夫曼编码以形成霍夫曼编码组并到霍夫曼编码组列表中进行检索。若还是未找到,则表示当前检索的IP地址未命中。在本发明的一个实施例中,路由命中识别的时间复杂度为O(NlogN),N是IP地址数量。
图2示出了根据本公开的一个实施例的基于霍夫曼编码和AVL树的路由信息压缩与检索方法200的流程图。
方法200开始于步骤202。在步骤202,对业务方的IP地址进行查重和过滤。在本发明的一个实施例中,该步骤包括对业务方的IP地址进行哈希去重,并且实时更新DNS信息并基于DNS查询来检测业务方给的URL与对应IP地址信息的一致性以过滤掉(去除)无效IP地址信息。该步骤进一步包括将经查重(去重)和经过滤的IP地址信息引入到构建在服务器上的因业务方而异的IP地址库(服务器地址库)中。
随后,方法200继续至步骤204。在步骤204,根据用户订购的业务来将所述IP地址分批下放至用户网关。在本发明的一个实施例中,该步骤包括根据用户订购的业务以及当前网关编码进度将IP地址库中的IP地址分批次下发到用户网关,即将地址库中的IP地址作为IP地址组1、IP地址组2、……、IP地址组N来分批下发。所下发的IP地址组可被存储在用户网关的本地IP地址存储中以供后续压缩和检索。
接着,方法200继续至步骤206。在步骤206,将IP地址拆分成IP地址段并构建霍夫曼树以生成对应于IP地址段的霍夫曼编码。该步骤206包括将用户网关的本地IP地址存储中的IP地址拆分成数个(例如4个,也可以是其他数目)IP地址段,基于经拆分的IP地址段来构建霍夫曼树,以及按照左0右1的规则获得每个IP地址段的霍夫曼编码。所构建的霍夫曼树被存储在用户网关的本地存储中,并且该步骤的细节将在下文中参照图3更详细地描述。
接着,方法200继续至步骤208。在步骤208,合并霍夫曼编码以生成霍夫曼编码组并将其存储在霍夫曼编码组列表中。该步骤包括将数个IP地址段的二进制霍夫曼编码拼接成数组并存储在霍夫曼编码组列表中。
接着,方法200继续至步骤210。在步骤210,基于IP地址段和对应的霍夫曼编码来构建AVL树。该AVL树指的是图1中的用于IP地址段与对应的霍夫曼编码之间的对应关系的IP转编码树。该步骤210包括获取IP地址段以及通过步骤206得到的对应霍夫曼编码,将IP地址段和对应的霍夫曼编码绑定成元组,以及基于所获取的元组来构建AVL树。所构建的AVL树被存储在用户网关的本地存储中,并且该AVL树的构建将在下文中参照图4更详细地描述。该步骤210进一步包括在完成AVL树的构建后,通知用户网关请求继续下发下一组IP地址以供编码。所构建的AVL树被存储在用户网关的本地存储中,并且该步骤的细节将在下文中参照图4更详细地描述。
最后,方法200继续至步骤212。在步骤212,基于该AVL树和霍夫曼编码组列表来检索要访问的IP地址。该步骤212包括将后续业务访问请求中的要访问的IP地址拆分成IP地址段,在所构建的AVL树中检索每个IP地址段所对应的霍夫曼编码以完成在该AVL树中查找相应元素。若未找到,则再合并这些霍夫曼编码以形成霍夫曼编码组并到霍夫曼编码组列表中进行检索。若还是未找到,则表示当前检索的IP地址未命中。
在步骤212结束后,方法200完成。
图3示出了根据本公开的一个实施例的霍夫曼树构建和编码方法300的流程图。
方法300开始于步骤302。在步骤302,将下发的IP地址组存储在用户网关的本地存储中。
然后,方法300继续至步骤304。在步骤304,将本地存储中的每个IP地址拆分成数个IP地址段。
在步骤304后,方法300继续至步骤306。在步骤306,建立空霍夫曼树并构建初始索引为0的NYT根节点。该步骤进一步包括按照索引编号从上到下、从右到左依次减小原则为新添加的元素(即,IP地址段)确定索引。
随后,方法300行进至步骤308。在步骤308,以中间节点加上左NYT节点和右元素节点的形式插入元素直到完成霍夫曼树的构建。在本发明的一个实施例中,父元素是下方元素的和,以及同一区块中,按照叶节点先移动后更新,内节点反之的规则进行不断插入,最后完成动态霍夫曼树的构建。
具体而言,在本发明的一个实施例中,读取一个字符(诸如192),当这个字符没有在霍夫曼树里出现过的时候,构建新子树,且根节点权重值为1,左孩子为NYT,右孩子为该字符,然后用子树替换标识为NYT的节点,同时输出NYT的编码和字符。当该字符出现过时,输出该字符的霍夫曼编码。然后,从被输出的节点开始往上走,每一个节点权重值加1,但是在加权重值之前,需要判断该节点是否为同权重值里节点编号最大的。如果不是为最大,则与最大节点交换位置(节点的子树也要交换而不是只交换单个节点)。交换后再互换节点编号,这样权重值需要被加1的节点就保证为同级节点编号最大的节点,最终生成压缩过的二进制编码。
本领域技术人员可以理解的,上述霍夫曼树的构建方式仅仅是出于示例目的,而不是限制性的,在本发明的其他实施例中也可使用其他合适的霍夫曼树构建方式,而不背离本发明的范围和精神。
接着,方法300前进至步骤310。在步骤310,按照左0右1的规则获得每个元素值,即IP地址段的霍夫曼编码。
最后,方法继续至步骤312。在步骤312,将IP地址段的二进制霍夫曼编码拼接成数组,即霍夫曼编码组,并将其存储在编码组列表中。
在步骤312完成后,方法300结束,并继续至图4的方法步骤。
图4示出了根据本公开的一个实施例的AVL树构建和检索方法400的流程图。
方法400从图3所示的方法300继续,并开始于步骤402。在步骤402,通过所构建的霍夫曼树来获取包括IP地址段和对应的霍夫曼编码的元组。
然后,方法400继续至步骤404。在步骤404,依照AVL树以二叉检索树的形式插入节点(称为叶节点),即元组,并针对新增节点检查包括LL(左子树的左子节点不平衡)、RR(右子树的右子节点不平衡)、RL(右子树的左子节点不平衡)和LR(左子树的右子节点不平衡)在内的不同情况来进行单/双旋以确保整颗二叉树的平衡(因为左右子树高度之差的绝对值可能会超过1),其中LL需要右旋操作,RR需要左旋操作,RL需要先右旋后左旋,且LR需要先左旋后右旋。
换言之,在确保AVL二叉搜索树的平衡的过程中,以断边下端为根节点,确定两个子树中的哪一个深度大(左子树还是右子树),并且如果新插入的失衡子节点的方向(左子节点还是右子节点)与上述确定的子树的方向(左子树还是右子树)一致(即都为左或者都为右),则需要对以失衡节点为根节点的子树进行单旋转。否则,对以失衡节点为根节点的子树进行双旋转。
随后,在步骤406,继续上述步骤404中的操作,直到插入所有元组以完成AVL树的构建。本领域技术人员可以理解的,上述AVL树的构建方式仅仅是出于示例目的,而不是限制性的,在本发明的其他实施例中也可使用其他合适的AVL树构建方式,而不背离本发明的范围和精神。
在本发明的一个实施例中,在步骤406中完成AVL树的构建后,方法400还包括(未示出)请求继续下发下一组IP地址,然后返回至方法300中的步骤302。
然后,方法400继续至步骤408。在步骤408,将要访问的IP地址拆分成IP地址段。
然后,方法400继续至步骤410。在步骤410,在所构建的AVL树中检索每个IP地址段所对应的霍夫曼编码以完成在该AVL树中检索相应元素。
最后,方法400继续至步骤412。在步骤412,若在步骤410中在该AVL树中未找到相应元素,则再合并这些霍夫曼编码以形成霍夫曼编码组并到霍夫曼编码组列表中进行检索。若还未找到,则表示要访问的IP地址未命中。
在步骤412后,方法400完成。
由此,通过本发明,在业务初期会出现的IP地址复杂且庞杂与网关设备性能受限的之间出现矛盾的情况下,能够在更小的搜索性能损失的前提下提升网关存储量以作为网关设备性能较低时的解决方案,从而可以帮助用户可以选择更多应用宽带种类,可以加入更多的业务,并且可以选择减小网络服务器的投入。另外,除了一开始的去重和DNS服务器对IP地址的有效性验证进行验证之外,不依赖的硬件设备投入,即可在网关设备纯软件的情况下实现无损压缩,并且动态霍夫曼编码在压缩能力、编码速度以及伴随数量级的增大而提升的压缩率的特点(相比静态),可以适应更多的地址存储。
以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了本发明的实施例。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (10)
1.一种基于霍夫曼编码和AVL树的路由信息压缩与检索方法,包括:
对业务方的IP地址进行查重和过滤;
根据用户订购的业务来将所述IP地址分批下放至用户网关;
将所述IP地址拆分成IP地址段并构建霍夫曼树以生成对应于所述IP地址段的霍夫曼编码;
合并所述霍夫曼编码以生成霍夫曼编码组并将其存储在霍夫曼编码组列表中;
基于所述IP地址段和对应的所述霍夫曼编码来构建AVL树;以及
基于所述AVL树和所述霍夫曼编码组列表来检索要访问的IP地址。
2.如权利要求1所述的方法,其中对业务方的所述IP地址进行查重和过滤包括对所述IP地址进行哈希去重并基于DNS查询来过滤掉无效的IP地址。
3.如权利要求2所述的方法,进一步包括将经去重和经过滤的IP地址信息引入到构建在服务器上的因业务方而异的地址库中。
4.如权利要求1所述的方法,其中每个IP地址段的霍夫曼编码是按照左0右1的规则获得的,并且所构建的霍夫曼树被存储在所述用户网关的本地存储中。
5.如权利要求1所述的方法,其中构建所述霍夫曼树包括:
建立空霍夫曼树并构建初始索引为0的NYT根节点;
按照索引编号从上到下、从右到左依次减小原则为新添加的元素确定索引;以及
以中间节点加上左NYT节点和右元素节点的形式插入元素直到完成所述霍夫曼树的构建。
6.如权利要求1所述的方法,其中构建所述AVL树包括:
通过所述霍夫曼树来获取包括所述IP地址段和对应的所述霍夫曼编码的元组;
以二叉检索树的形式插入所述元组作为叶节点;
针对新增节点检查包括LL、RR、RL和LR在内的不同情况来进行单旋或双旋以确保所述二叉检索树的平衡;以及
继续插入所述元组直到插入所有元组以完成所述AVL树的构建,
其中所构建的所述AVL树被存储在所述用户网关的本地存储中。
7.如权利要求1所述的方法,其中检索所述要访问的IP地址包括:
将所述要访问的IP地址拆分成IP地址段;
在所构建的所述AVL树中检索每个所述IP地址段所对应的霍夫曼编码;以及
在未检索到的情况下合并所述霍夫曼编码以形成霍夫曼编码组并到所述霍夫曼编码组列表中进行检索。
8.如权利要求1所述的方法,进一步包括在完成所述霍夫曼树和所述AVL树的构建后请求将下一组IP地址下放至所述用户网关。
9.一种基于霍夫曼编码和AVL树的路由信息压缩与检索系统,所述系统包括用于执行如权利要求1-8中的任一项所述的方法的装置。
10.一种具有指令的计算机可读存储介质,所述指令在被执行时使计算机执行如权利要求1-8中的任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010862.9A CN113852556B (zh) | 2021-08-31 | 2021-08-31 | 一种路由信息压缩与检索方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111010862.9A CN113852556B (zh) | 2021-08-31 | 2021-08-31 | 一种路由信息压缩与检索方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113852556A CN113852556A (zh) | 2021-12-28 |
CN113852556B true CN113852556B (zh) | 2023-04-14 |
Family
ID=78976722
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111010862.9A Active CN113852556B (zh) | 2021-08-31 | 2021-08-31 | 一种路由信息压缩与检索方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113852556B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675897A (zh) * | 2002-08-07 | 2005-09-28 | 因芬尼昂技术股份公司 | 数据分组路由方法及路由装置 |
CN104657362A (zh) * | 2013-11-18 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 数据存储、查询方法和装置 |
CN107315829A (zh) * | 2017-07-05 | 2017-11-03 | 成都电科智联科技有限公司 | 一种实时数据库中基于规则集的快速压缩方法 |
CN109347758A (zh) * | 2018-08-30 | 2019-02-15 | 赛尔网络有限公司 | 一种报文压缩的方法、设备、系统和介质 |
CN109995377A (zh) * | 2017-12-29 | 2019-07-09 | 烟台正展信息技术有限公司 | 一种基于霍夫曼编码的改进心电数据压缩算法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100468742B1 (ko) * | 2002-06-26 | 2005-01-29 | 삼성전자주식회사 | 이진 검색 기법을 이용한 jpeg 허프만 테이블 디코더및 그 방법 |
WO2004110027A1 (en) * | 2003-06-06 | 2004-12-16 | Computer Associates Think, Inc. | System and method for compressing url request parameters |
DE10353289B4 (de) * | 2003-11-14 | 2009-10-15 | Infineon Technologies Ag | Verfahren und Vorrichtung zur Kompression von Datenpaketen |
US20090006399A1 (en) * | 2007-06-29 | 2009-01-01 | International Business Machines Corporation | Compression method for relational tables based on combined column and row coding |
US11720251B2 (en) * | 2019-07-22 | 2023-08-08 | EMC IP Holding Company LLC | Generating compressed representations of sorted arrays of identifiers |
-
2021
- 2021-08-31 CN CN202111010862.9A patent/CN113852556B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1675897A (zh) * | 2002-08-07 | 2005-09-28 | 因芬尼昂技术股份公司 | 数据分组路由方法及路由装置 |
CN104657362A (zh) * | 2013-11-18 | 2015-05-27 | 深圳市腾讯计算机系统有限公司 | 数据存储、查询方法和装置 |
CN107315829A (zh) * | 2017-07-05 | 2017-11-03 | 成都电科智联科技有限公司 | 一种实时数据库中基于规则集的快速压缩方法 |
CN109995377A (zh) * | 2017-12-29 | 2019-07-09 | 烟台正展信息技术有限公司 | 一种基于霍夫曼编码的改进心电数据压缩算法 |
CN109347758A (zh) * | 2018-08-30 | 2019-02-15 | 赛尔网络有限公司 | 一种报文压缩的方法、设备、系统和介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113852556A (zh) | 2021-12-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104657362B (zh) | 数据存储、查询方法和装置 | |
CN110599169B (zh) | 数据处理方法、装置、终端及介质 | |
US10680645B2 (en) | System and method for data storage, transfer, synchronization, and security using codeword probability estimation | |
CN108733317B (zh) | 数据存储方法和装置 | |
US11070231B2 (en) | Reducing storage of blockchain metadata via dictionary-style compression | |
US10691644B2 (en) | System and method for data storage, transfer, synchronization, and security using recursive encoding | |
US7973680B2 (en) | Method and system for creating an in-memory physical dictionary for data compression | |
CN106202172A (zh) | 文本压缩方法及装置 | |
US11868328B2 (en) | Multi-record index structure for key-value stores | |
CN111629081A (zh) | 互联网协议ip地址数据处理方法、装置及电子设备 | |
CN112118010A (zh) | 一种字符串的压缩处理方法、装置和存储介质 | |
AU2014353667A1 (en) | A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure | |
CN110825706B (zh) | 一种数据压缩的方法和相关设备 | |
CN114666212A (zh) | 配置数据下发方法 | |
CN110413711A (zh) | 一种差异数据获取方法及其存储介质 | |
WO2024149207A1 (zh) | 数据处理方法和装置、介质和计算机设备 | |
CN113852556B (zh) | 一种路由信息压缩与检索方法和系统 | |
CN110266834B (zh) | 基于互联网协议地址的地区查找方法及装置 | |
CN116760661A (zh) | 数据存储方法、装置、计算机设备、存储介质和程序产品 | |
US9509757B2 (en) | Parallel sorting key generation | |
CN113297266A (zh) | 数据处理方法、装置、设备及计算机存储介质 | |
CN108829872A (zh) | 无损压缩文件的快速处理方法、设备、系统及存储介质 | |
CN109726254B (zh) | 一种三元组知识库的构建方法及装置 | |
CN105830063B (zh) | 协调卷组中的小卷 | |
CN105938489A (zh) | 一种压缩详单的存储和展示方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |