CN101150483A - 路由表调整方法、路由查询方法和装置及路由表存储装置 - Google Patents
路由表调整方法、路由查询方法和装置及路由表存储装置 Download PDFInfo
- Publication number
- CN101150483A CN101150483A CN200710176765.0A CN200710176765A CN101150483A CN 101150483 A CN101150483 A CN 101150483A CN 200710176765 A CN200710176765 A CN 200710176765A CN 101150483 A CN101150483 A CN 101150483A
- Authority
- CN
- China
- Prior art keywords
- route
- sublist
- hyperplasia
- bloom filter
- address
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 206010020718 hyperplasia Diseases 0.000 claims description 88
- 238000012217 deletion Methods 0.000 claims description 2
- 230000037430 deletion Effects 0.000 claims description 2
- 230000006870 function Effects 0.000 abstract description 2
- 230000001105 regulatory effect Effects 0.000 abstract 4
- 230000035755 proliferation Effects 0.000 abstract 3
- 238000005516 engineering process Methods 0.000 description 24
- 238000004891 communication Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 101100407828 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) ptr-3 gene Proteins 0.000 description 1
- 101100351735 Neurospora crassa (strain ATCC 24698 / 74-OR23-1A / CBS 708.71 / DSM 1257 / FGSC 987) ptr-4 gene Proteins 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及路由表调整方法、路由查询方法和装置及路由表存储装置,该路由表调整方法包括:接收路由前缀;当监测到路由子表的存储量已达到门限值时,根据所述路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表。该路由查询方法包括:获取待查询的IP地址;根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。该路由表调整装置和路由查询装置分别包括执行上述方法的功能模块,该路由表存储装置包括存储路由子表和布隆过滤器的模块。本发明的技术方案能够实现以较小开销快捷的调整路由表。
Description
技术领域
本发明属于通信技术领域,尤其涉及通信领域中的一种路由表调整方法、路由查询方法和装置及路由表存储装置。
背景技术
在现有通信网络技术中,路由技术无疑是倍受关注的技术之一。通信领域的许多发展都需要相应提高对路由技术的要求。例如近几年,随着企业全球化的倾向,很多企业在世界不同的地点发展了更多的分支结构,所以很多企业趋向于利用因特网来替代它们私有的数据网络,这种利用因特网来传输私有信息而形成的逻辑网络就称为虚拟私用网(Virtual Private Network,以下简称VPN)。目前VPN的应用越来越广泛,而人们对于安全、方便的数据通讯手段的需求也日趋增加。随着VPN的广泛应用,以往只有接入端路由转发设备才需要支持VPN路由,但现在,很多中、高端路由转发设备直接连接到最终用户,也需要支持VPN路由。因此,对路由技术的要求越来越高。另一方面,传输媒质的传输速率在迅速增长,路由设备处理的报文数量迅速增长,例如:支持100G光缆端口的路由转发设备通常需要每秒钟查找150M次最大路由前缀,支持150G光缆端口的路由转发设备通常需要每秒钟查找250M次路由前缀,这也需要路由设备提供更强的查询能力,也就是更强的最大路由前缀查找能力,高速查找技术正是业界面临的难题之一。
高速查找技术中的两个关键因素是:查找速率和更新速率。查找速率提供更大的路由容量,更新速率提供更稳定的网络,也就是加快网络收敛速度,这正是本发明需要解决的技术问题。路由查询技术是通过网络传输数据包过程中的一个普遍步骤,路由系统必须为每一个接收到的IP数据包,在其路由表中寻找IP数据包中目的端地址的最大路由前缀,再依照相对应的路由路径传送该数据包。为改善路由查询操作的查询速度、查询开销等因素,人们采用了各种各样的路由查找系统,其中一种方法是采用布隆过滤器(以下称Bloom Filter)技术。Bloom Filter技术,是计算机科学家“Burton Bloom”在1970年提出的一套数据集合表示方法,这种方法可以非常显著和有效的压缩一个数据集合的信息,在信息检索方面被广泛应用。Bloom Filter技术应用在路由技术中,首先按照路由前缀匹配值的长度把路由表分成若干个路由子集,然后为每个路由子集分别建立一布隆过滤器,即Bloom Filter,以及与该过滤器相对应的路由子表,在共享内存的方式下,各Bloom Filer分别与一个内存的起始地址相对应。路由子表实际上就是原有路由表的一部分,是逻辑上形成的路由子表。图1A为基于布隆过滤器技术进行路由查询的流程示意图,图1B为相关的路由表架构示意图,其基本步骤如下:
步骤a1、获取待查询的IP地址;
步骤a2、根据待查询的IP地址,利用Bloom Filter技术,通过查询各个过滤器,即filter0、filter1、filter2和filter3等,取得待查询IP地址对应的最大路由前缀的长度,此处可能匹配到多个路由前缀的长度,按照最长匹配的原则,选择最大路由前缀的长度;
步骤a3、取IP地址前面的相应长度字节作为最大路由前缀值,该相对长度就是最大路由前缀长度;
步骤a4、对最大路由前缀值作哈希(hash)运算,获取对应的路由表项的物理地址,从而最终查询到路由路径,即在对应的前缀长度表中查询对应ip地址的索引,为了正确,还需要比较实际存储的路由前缀值(key)与查询的key是否正确,验证正确时才将其作为查询结果,验证不正确时,则返回至步骤a2中,选择较短的路由前缀长度,而后再执行步骤a3,直到查询出正确的结果。
在上述步骤a2中,由于相同路由的前缀配置会有很多,通过hash运算一个值来确定一个地址,配置路由表的时候就把相应路由存放在该地址处。
路由数据的合理存储和维护技术是实现高效、可靠路由的重要前提。当采用上述布隆过滤器技术时,可以建立一个hash表的占用内存较小的矢量表,即布隆过滤器,来对应占用较大内存空间的实际前缀表项。
但是发明人在进行本发明的研究过程中发现基于布隆过滤器技术的路由表存储维护技术中至少存在下述问题:由于预先很难估计各个路由子集的规模,只能假定其大小而预先分配一定的存储空间给某一长度前缀的路由子表,但是路由表项的数量在实际的网络中会频繁的增减震荡,当某个长度前缀的路由子集内数值剧增的时候,必须释放旧的布隆过滤器和对应的路由子表,而后重新构建容量更大的布隆过滤器和对应的路由子表,无疑,这种操作开销是巨大的。
发明内容
本发明实施例提供一种路由表调整方法和装置,克服现有基于布隆过滤器的路由技术中,路由表的调整方案复杂、调整开销大的问题,从而以实现路由子表存储量增减时,迅速对路由表进行维护,并且实现以较小的操作开销调整路由表。
本发明实施例还提供一种路由查询方法和装置,适应于采用本发明路由表调整方法进行扩展的路由表,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,也能够相应的提高查询速度。
本发明实施例又提供一种路由表存储装置,适应于采用本发明路由表调整方法实施例进行调整,其可采用快捷、开销小的路由表调整方法。
本发明的一些实施例提供了一种路由表调整方法,包括如下步骤:
接收路由前缀匹配值;
当监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表。
本发明的又一些实施例提供了一种路由表调整装置,包括:
接收模块,用于接收路由前缀匹配值;
创建模块,用于监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表。
由以上技术方案可知,本发明路由表调整方法和装置的实施例,当路由子表存储量增加至设定值时,采用对应原布隆过滤器和路由子表建立增生布隆过滤器和增生路由子表的技术手段,克服了现有技术中在扩展路由表时需要重建布隆过滤器和路由子表,而扩展开销大的技术问题。因此,本发明路由表调整方法和调整装置的扩展开销小,且扩展操作快捷。
本发明的再一些实施例提供了一种路由查询方法,包括:
获取待查询的IP地址;
根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀长度;
根据查询到的该路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。
本发明的另一些实施例提供了一种路由查询装置,包括:
获取模块,用于获得待查询的IP地址;
第一查询模块,用于根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的最大路由前缀的长度;
第二查询模块,用于根据最大路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。
由上述技术方案可知,本发明路由查询方法和装置能够在查询原有的布隆过滤器时,同时查询增生布隆过滤器,适应于采用本发明路由表调整方法进行扩展的路由表,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,也能够相应的提高查询速度。
本发明的又一些实施例提供了一种路由表存储装置,包括:
第一模块,用于存储路由前缀匹配值,包括两个以上用于存储设定长度路由前缀匹配值的第一单元,以及一个以上用于存储与第一单元中路由前缀匹配值长度相等的路由前缀匹配值的第二单元;
第二模块,用于存储第一单元和第二单元的起始地址;
第三模块,包括两个以上第三单元,与第一单元一一对应相连,用于存储第一单元中路由前缀匹配值的长度信息,以及一个以上第四单元,与第二单元一一对应相连,用于存储第二单元中路由前缀匹配值的长度信息。
由上述技术方案可知,该路由表存储装置包括第一单元和第二单元,用于存储同样长度的路由前缀匹配值,还包括第三单元和第四单元,与第一单元和第二单元相互对应,能够适应于采用本发明路由表调整方法实施例的技术方案,当第一单元的内容扩充时,第一单元和第三单元不必重新生成,因而其调整的方法快捷、开销小。
下面通过具体实施例并结合附图对本发明做进一步的详细描述。
附图说明
图1A为现有技术中路由查询方法流程图;
图1B为现有技术中路由查询方法流程示意图;
图2为本发明路由表调整方法具体实施例一中的路由表结构示意图;
图3为本发明路由表调整方法具体实施例一的流程图;
图4为本发明路由表调整方法具体实施例二的流程图;
图5为本发明路由表调整装置具体实施例一的结构示意图;
图6为本发明路由表调整装置具体实施例二的结构示意图;
图7为本发明路由查询方法具体实施例的流程图;
图8为本发明路由查询装置具体实施例的结构示意图;
图9为本发明路由表存储装置具体实施例的结构示意图
具体实施方式
路由表调整方法实施例一
如图3所示为本发明路由表调整方法具体实施例一的流程图,本实施例的路由表调整方法是在基于布隆过滤器技术的路由技术中,对路由表进行调整的方法。基于布隆过滤器的路由技术,按照路由前缀匹配值的长度将其划分为多个不相交的路由前缀匹配值的集合,为每个路由前缀匹配值的集合在路由表中独立分配一块空间,即将路由表划分为多个独立的路由子表,每个路由子表又一一对应一个布隆过滤器,路由子表中的路由前缀匹配值均通过hash运算,将其长度信息写入布隆过滤器中,以便在一个布隆过滤器中查询到待查找路由前缀的长度,而后进一步在对应的路由子表中具体查询该路由前缀的匹配值,这是基于布隆过滤器的路由技术的基本原理。布隆过滤器的本质是一个矢量组,存放在一个大的数组里面,建立布隆过滤器的时候会通过把路由前缀匹配值进行hash运算,使用hash的地址将布隆过滤器中对应的比特位设置为1,当使用几个hash函数时,对每一个路由前缀匹配值进行运算都可以得到一个矢量,也就是布隆过滤器的几个比特位均为1。布隆过滤器的数组需要足够大,否则就会出现多个路由器前缀匹配值hash运算后使同样的比特位为1,那么在进行ip路由前缀查询时,就会出现误判。所以布隆过滤器的长度,也就是布隆过滤器比特位的个数,需要足够多。布隆过滤器的长度应与路由子表的容量相对应,以尽量减少误判的可能。本实施例的针对其路由表的调整方法包括:
步骤101、接收一路由前缀匹配值;
步骤102、当监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表,该路由子表记为原路由子表,该路由子表的布隆过滤器记为原布隆过滤器;
上述步骤102中原路由子表的存储量达到设定门限值的情况可以为该路由子表的存储空间已满,或为保证查询速度而为路由子表存储量设定的最大存储限值,通常发生在某路由子表大规模扩张的时候;调整后的路由表结构如图2所示,其中,原路由子表t0~t3与原布隆过滤器bf0~bf3可以通过段地址寄存器Seg ptr0~Seg ptr3一一对应,段地址寄存器Seg ptr0~Segptr3分别用于存储各原路由子表t0~t3在内存中的首地址。如图2所示,当原路由子表t2的存储量达到设定门限值时,则根据原路由子表t2的容量建立其增生布隆过滤器bf2′,并建立增生路由子表t2′,并且,当使用段地址寄存器存储路由子表的首地址时,还需要在段地址寄存器Seg ptr4中保存增生路由子表bf2′的首地址。
在上述步骤102中,根据原路由子表的容量,建立原路由子表的增生布隆过滤器的步骤可以具体为:根据原路由子表的容量,建立长度与原路由子表的原布隆过滤器长度相等,即比特位数相等的增生布隆过滤器,原布隆过滤器的长度与原路由子表的容量相对应,一般是路由子表的容量成正比。该技术方案中,建立长度等于原布隆过滤器的增生布隆过滤器,还可以便于后续合并原布隆过滤器和增生布隆过滤器的操作。在步骤102中,根据原路由子表的容量建立增生路由子表的步骤可以具体为:根据原路由子表的容量,建立容量与原路由子表的容量相等的增生路由子表,即在内存中分配一与原路由子表同样大小的存储空间作为增生路由子表。
在步骤102中,可进一步在建立增生路由子表后,保存增生路由子表的起始地址,以便查找到路由子表的位置。在本实施例所针对的路由表存储架构中,如图2所示,当共享内存时,路由子表的起始地址可以进一步存储在段地址寄存器中,当有多个外联存储空间或者内嵌随机存储器(RAM)时,路由子表可以对应于路由子表号,使用段地址寄存器和路由子表号均可更便捷的查找到路由子表的位置。因此,增生路由子表起始地址的保存可具体为保存到段地址寄存器中。
在建立增生路由子表之后,可以进一步执行下述步骤,如图3所示:
步骤103、保存该接收到的路由前缀匹配值。
在上述步骤103中,接收到路由前缀匹配值的保存具体是保存到路由子表中,并将路由前缀匹配值的长度信息写入布隆过滤器中。在本实施例中,较佳的是将新接收到的路由前缀匹配值保存到新建的增生路由子表中,并将其长度信息写入增生布隆过滤器中,以充实增生路由子表中的内容,逐渐使原路由子表与增生路由子表的存储量趋于相等。
本实施例技术方案的优势在于:实现了动态路由表扩展的方法,与现有技术相比,路由表的扩张开销小,调整方法便捷。
路由表调整方法实施例二
如图4所示为本发明路由表调整方法具体实施例二的流程图,本实施例是以上述实施例一的技术方案为基础的,在上述步骤102建立增生布隆过滤器及增生路由子表之后,可进一步执行路由表的收缩步骤,具体包括下述步骤:
步骤301、监测到该路由子表和/或该路由子表的增生路由子表的存储量减少到设定门限值时,执行步骤302;
步骤302、合并该路由子表的布隆过滤器和该增生布隆过滤器,并合并该路由子表和该增生路由子表。
在上述步骤301中,路由子表或增生路由子表存储量下限值的设定可根据具体情况而定,还需要根据路由子表合并的方式确定。例如需保证一个原路由子表的空间可容纳原路由子表和增生路由子表中存储的路由前缀匹配值。
在上述步骤302中,合并路由子表的布隆过滤器和增生布隆过滤器的步骤具体可以为:对路由子表布隆过滤器和该增生布隆过滤器的位向量数组执行“或”操作,将其结果作为原布隆过滤器,然后释放,即删除增生布隆过滤器;合并该路由子表和该增生路由子表的步骤具体可以为:将增生路由子表中的路由前缀匹配值添加到原路由子表的路由前缀匹配值的后续存储空间中。进一步的,在合并该路由子表和增生路由子表之后,还可以包括:从段地址寄存器中删除该增生路由子表的起始地址。
本实施例技术方案的优势在于:当增生路由子表中的路由前缀匹配值数量减少到设定门限值以下时,可进一步执行收缩操作,对路由表进行维护,以节约存储空间和提高路由查询速度。
路由表调整装置实施例一
如图5所示为本发明路由表调整装置具体实施例一的结构示意图,该装置包括:
接收模块1,用于接收路由前缀匹配值;创建模块2,用于监测到与该路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据该路由子表的容量建立该路由子表的增生布隆过滤器以及增生路由子表。
本实施例的路由表调整装置可采用本发明路由表调整方法实施例一的技术方案,实现了动态路由表扩展的方法,与现有技术相比,路由表的扩张开销小,调整便捷。
路由表调整装置实施例二
如图6所示为本发明路由表调整装置具体实施例二的结构示意图,本实施例在上述路由表调整装置实施例一的基础上还包括:
合并模块4,用于监测到路由子表和/或路由子表的增生路由子表的存储量减少到设定门限值时,合并路由子表的布隆过滤器和增生布隆过滤器,并合并路由子表和增生路由子表。
本实施例的路由表调整装置可采用本发明路由表调整方法实施例二的技术方案,当增生路由子表中的路由前缀匹配值数量减少到设定门限值以下时,可进一步执行收缩操作,对路由表进行维护,以节约存储空间和提高路由查询速度。
路由查询方法实施例
如图7所示为本发明路由查询方法具体实施例的流程图,本实施例的路由查询方法依据本发明路由表调整方法中所针对的路由表进行路由查询,该路由表的结构如图2所示,包括如下步骤:
步骤201、获取待查询的IP地址;
步骤202、根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;
步骤203、根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。
在上述步骤202和203的执行过程中,根据最长路由前缀匹配原则,通常在获取到的IP地址对应的多个路由前缀长度中选择从最长的路由前缀长度,在查询正确时,再查询较短的路由前缀长度,反复执行步骤202、203,直到查询出正确的结果
在上述步骤203中,根据路由前缀的长度,在对应的路由子表中获取待查询IP地址的路由路径具体可以通过执行下述步骤来实现:
步骤2031、根据获取的路由前缀的长度,在段地址寄存器中查询对应的路由子表的起始地址;
步骤2032、通过哈希运算获取对应的路由子表的表内地址;
步骤2033、根据获取的路由子表的起始地址和表内地址,获取对应的路由表中的对应物理地址;
步骤2034、根据路由表中的物理地址获取待查询IP地址的路由路径。
本实施例的技术方案能够有效基于本发明路由表调整方法所调整的路由表进行路由查询,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,也能够相应的提高查询速度。
路由查询装置实施例
如图8所示为本发明路由查询装置具体实施例的结构示意图,该装置包括:
获取模块11,用于获取待查询的IP地址;第一查询模块12,用于根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;第二查询模块13,用于根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。
本实施例的路由查询装置可采用本发明路由查询方法任一实施例的技术方案,因而可以采用快捷、开销小的路由表调整方法,且路由查询在较小的路由子表中进行,或者通过采用其他存储介质实现在路由子表和增生路由子表中同时查询,所以也能够相应的提高查询速度。
路由表存储装置实施例
如图9所示为本发明路由表存储装置具体实施例的结构示意图,该装置包括:
路由表模块100,即第一模块,用于存储路由前缀匹配值,包括两个以上用于存储设定长度路由前缀匹配值的路由子表单元1001,即第一单元,以及一个以上用于存储与路由子表单元1001中路由前缀匹配值长度相等的路由前缀匹配值的增生路由子表单元1002,即第二单元;段地址寄存器200,即第二模块,用于存储路由子表单元1001和增生路由子表单元1002的起始地址;过滤器模块300,包括两个以上布隆过滤器3001,即第三单元,与路由子表单元1001一一对应相连,用于存储路由子表单元1001中路由前缀匹配值的长度信息,以及一个以上增生布隆过滤器3002,即第四单元,与增生路由子表单元1002一一对应相连,用于存储增生路由子表单元1002中路由前缀匹配值的长度信息。
本实施例可适应于应用本发明路由表调整方法和路由查询方法的实施例,当其内容扩充时,可快捷、开销小的进行调整。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (15)
1.一种路由表调整方法,包括:
接收路由前缀匹配值;
当监测到与所述路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据所述路由子表的容量建立所述路由子表的增生布隆过滤器以及增生路由子表。
2.根据权利要求1所述的路由表调整方法,其特征在于,根据所述路由子表的容量建立所述路由子表的增生布隆过滤器具体为:根据所述路由子表的容量,建立长度与所述路由子表的布隆过滤器的长度相等的增生布隆过滤器。
3.根据权利要求1所述的路由表调整方法,其特征在于,根据所述路由子表的容量建立增生路由子表具体为:根据所述路由子表的容量,建立容量与所述路由子表的容量相等的增生路由子表。
4.根据权利要求1所述的路由表调整方法,其特征在于,在建立所述增生路由子表之后,还包括:将所述增生路由子表的起始地址保存在段地址寄存器中。
5.根据权利要求1所述的路由表调整方法,其特征在于,在建立所述增生路由子表之后,还包括:将所述接收到的路由前缀匹配值保存在所述增生路由子表中,并将所述接收到的路由前缀匹配值的长度信息写入所述增生布隆过滤器中。
6.根据权利要求1所述的路由表调整方法,其特征在于,在建立所述路由子表的增生布隆过滤器以及增生路由子表之后,该方法还包括:
监测到所述路由子表和/或所述路由子表的增生路由子表的存储量减少到设定门限值时,合并所述路由子表的布隆过滤器和所述增生布隆过滤器,并合并所述路由子表和所述增生路由子表。
7.根据权利要求6所述的路由表调整方法,其特征在于,合并所述路由子表的布隆过滤器和所述增生布隆过滤器具体为:对所述路由子表的布隆过滤器和所述增生布隆过滤器执行“或”操作,将结果作为所述路由子表的布隆过滤器,并删除所述增生布隆过滤器。
8.根据权利要求6所述的路由表调整方法,其特征在于,合并所述路由子表和所述增生路由子表具体为:将所述增生路由子表中的路由前缀配置值添加到所述路由子表中的路由前缀配置值的后续存储空间中。
9.根据权利要求8所述的路由表调整方法,其特征在于,在合并所述路由子表和所述增生路由子表之后,还包括:从段地址寄存器中删除所述增生路由子表的起始地址。
10.一种路由表调整装置,其特征在于,包括:
接收模块,用于接收路由前缀匹配值;
创建模块,用于监测到与所述路由前缀匹配值的长度对应的路由子表的存储量已达到设定的门限值时,根据所述路由子表的容量建立所述路由子表的增生布隆过滤器以及增生路由子表。
11.根据权利要求10所述的路由表调整装置,其特征在于,还包括:
合并模块,用于监测到所述路由子表和/或所述路由子表的增生路由子表的存储量减少到设定门限值时,合并所述路由子表的布隆过滤器和所述增生布隆过滤器,并合并所述路由子表和所述增生路由子表。
12.一种路由查询方法,其特征在于,包括:
获取待查询的IP地址;
根据待查询的IP地址,通过在布隆过滤器及增生布隆过滤器中查询,取得待查询IP地址对应的路由前缀长度;
根据查询到的所述路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。
13.根据权利要求12所述的路由查询方法,其特征在于,根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径具体为:
根据获取的路由前缀长度,在对应的段地址寄存器中查询对应的路由子表的起始地址;
通过哈希运算获取对应的路由子表的表内地址;
根据获取的路由子表的起始地址和表内地址,获取在路由表中的对应物理地址;
根据路由表中的物理地址获取待查询IP地址的路由路径。
14.一种路由查询装置,其特征在于,包括:
获取模块,用于获得待查询的IP地址;
第一查询模块,用于根据待查询的IP地址,通过在布隆过滤器及其增生的布隆过滤器中查询,取得待查询IP地址对应的路由前缀的长度;
第二查询模块,用于根据路由前缀长度,在对应的路由子表中获取待查询IP地址的路由路径。
15.一种路由表存储装置,其特征在于,包括:
第一模块,用于存储路由前缀匹配值,包括两个以上用于存储设定长度路由前缀匹配值的第一单元,以及一个以上用于存储与所述第一单元中路由前缀匹配值长度相等的路由前缀匹配值的第二单元;
第二模块,用于存储所述第一单元和所述第二单元的起始地址;
第三模块,包括两个以上第三单元,与所述第一单元一一对应相连,用于存储所述第一单元中路由前缀匹配值的长度信息,以及一个以上第四单元,与所述第二单元一一对应相连,用于存储所述第二单元中路由前缀匹配值的长度信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710176765.0A CN100531102C (zh) | 2007-11-02 | 2007-11-02 | 路由表调整方法、路由查询方法和装置及路由表存储装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200710176765.0A CN100531102C (zh) | 2007-11-02 | 2007-11-02 | 路由表调整方法、路由查询方法和装置及路由表存储装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101150483A true CN101150483A (zh) | 2008-03-26 |
CN100531102C CN100531102C (zh) | 2009-08-19 |
Family
ID=39250835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200710176765.0A Expired - Fee Related CN100531102C (zh) | 2007-11-02 | 2007-11-02 | 路由表调整方法、路由查询方法和装置及路由表存储装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100531102C (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841483A (zh) * | 2010-05-06 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 硬件路由表管理方法、装置和通讯设备 |
CN101901248A (zh) * | 2010-04-07 | 2010-12-01 | 北京星网锐捷网络技术有限公司 | 一种布隆过滤器的生成、更新以及查询元素方法和装置 |
CN101923568A (zh) * | 2010-06-23 | 2010-12-22 | 北京星网锐捷网络技术有限公司 | 布隆过滤器的元素增加、删除方法以及布隆过滤器 |
CN102132533A (zh) * | 2008-08-26 | 2011-07-20 | 艾利森电话股份有限公司 | 网络中的分组转发 |
CN102203773A (zh) * | 2008-09-19 | 2011-09-28 | 甲骨文国际公司 | 在具有卸载的布隆过滤器的智能存储器中利用协同并行过滤的哈希联接 |
CN102271087A (zh) * | 2011-07-27 | 2011-12-07 | 中兴通讯股份有限公司 | 一种路由查找方法和装置 |
CN102333036A (zh) * | 2011-10-17 | 2012-01-25 | 中兴通讯股份有限公司 | 一种实现高速路由查找的方法和系统 |
US8458511B2 (en) | 2010-09-17 | 2013-06-04 | Oracle International Corporation | Fault isolation using code paths |
US20130212296A1 (en) * | 2012-02-13 | 2013-08-15 | Juniper Networks, Inc. | Flow cache mechanism for performing packet flow lookups in a network device |
US20140280249A1 (en) | 2013-03-14 | 2014-09-18 | Oracle International Corporation | Predicate offload of large objects |
US8868831B2 (en) | 2009-09-14 | 2014-10-21 | Oracle International Corporation | Caching data between a database server and a storage system |
CN105095393A (zh) * | 2015-06-30 | 2015-11-25 | 努比亚技术有限公司 | 一种数据存储方法及装置 |
CN105122745A (zh) * | 2013-02-27 | 2015-12-02 | 马维尔国际贸易有限公司 | 用于网络设备的高效最长前缀匹配技术 |
US9361232B2 (en) | 2008-09-19 | 2016-06-07 | Oracle International Corporation | Selectively reading data from cache and primary storage |
US9436389B2 (en) | 2007-03-08 | 2016-09-06 | Oracle International Corporation | Management of shared storage I/O resources |
CN106850541A (zh) * | 2016-12-13 | 2017-06-13 | 华为技术有限公司 | 一种物联网中节点的地址确定方法和装置 |
US9798655B2 (en) | 2013-09-20 | 2017-10-24 | Oracle International Corporation | Managing a cache on storage devices supporting compression |
US10229161B2 (en) | 2013-09-20 | 2019-03-12 | Oracle International Corporation | Automatic caching of scan and random access data in computing systems |
US10331573B2 (en) | 2016-11-04 | 2019-06-25 | Oracle International Corporation | Detection of avoidable cache thrashing for OLTP and DW workloads |
US10528590B2 (en) | 2014-09-26 | 2020-01-07 | Oracle International Corporation | Optimizing a query with extrema function using in-memory data summaries on the storage server |
CN110781392A (zh) * | 2019-10-22 | 2020-02-11 | 深圳墨世科技有限公司 | 可动态伸缩的过滤方法、装置、计算机设备及存储介质 |
US10642837B2 (en) | 2013-03-15 | 2020-05-05 | Oracle International Corporation | Relocating derived cache during data rebalance to maintain application performance |
CN112035413A (zh) * | 2020-09-03 | 2020-12-04 | 杭州海康威视系统技术有限公司 | 元数据信息查询方法、装置及存储介质 |
CN112637077A (zh) * | 2020-12-28 | 2021-04-09 | 杭州迪普科技股份有限公司 | 路由动态配置方法及装置 |
US10990596B2 (en) | 2019-06-14 | 2021-04-27 | Oracle International Corporation | Non-disruptive referencing of special purpose operators for database management systems |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US11200234B2 (en) | 2019-06-14 | 2021-12-14 | Oracle International Corporation | Non-disruptive dynamic ad-hoc database catalog services |
US20230221864A1 (en) * | 2022-01-10 | 2023-07-13 | Vmware, Inc. | Efficient inline block-level deduplication using a bloom filter and a small in-memory deduplication hash table |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106603414B (zh) * | 2016-11-17 | 2020-04-10 | 珠海高凌信息科技股份有限公司 | 路由表快速比对方法 |
-
2007
- 2007-11-02 CN CN200710176765.0A patent/CN100531102C/zh not_active Expired - Fee Related
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9436389B2 (en) | 2007-03-08 | 2016-09-06 | Oracle International Corporation | Management of shared storage I/O resources |
CN102132533A (zh) * | 2008-08-26 | 2011-07-20 | 艾利森电话股份有限公司 | 网络中的分组转发 |
US8521923B2 (en) | 2008-09-19 | 2013-08-27 | Oracle International Corporation | Storage-side storage request management |
US10430338B2 (en) | 2008-09-19 | 2019-10-01 | Oracle International Corporation | Selectively reading data from cache and primary storage based on whether cache is overloaded |
CN102203773A (zh) * | 2008-09-19 | 2011-09-28 | 甲骨文国际公司 | 在具有卸载的布隆过滤器的智能存储器中利用协同并行过滤的哈希联接 |
US9361232B2 (en) | 2008-09-19 | 2016-06-07 | Oracle International Corporation | Selectively reading data from cache and primary storage |
US9336275B2 (en) | 2008-09-19 | 2016-05-10 | Oracle International Corporation | Hash join using collaborative parallel filtering in intelligent storage with offloaded bloom filters |
US8874807B2 (en) | 2008-09-19 | 2014-10-28 | Oracle International Corporation | Storage-side storage request management |
US8825678B2 (en) | 2008-09-19 | 2014-09-02 | Oracle International Corporation | Hash join using collaborative parallel filtering in intelligent storage with offloaded bloom filters |
CN102203773B (zh) * | 2008-09-19 | 2014-03-19 | 甲骨文国际公司 | 在具有卸载的布隆过滤器的智能存储器中利用协同并行过滤的哈希联接 |
US9405694B2 (en) | 2009-09-14 | 2016-08-02 | Oracle Internation Corporation | Caching data between a database server and a storage system |
US8868831B2 (en) | 2009-09-14 | 2014-10-21 | Oracle International Corporation | Caching data between a database server and a storage system |
CN101901248A (zh) * | 2010-04-07 | 2010-12-01 | 北京星网锐捷网络技术有限公司 | 一种布隆过滤器的生成、更新以及查询元素方法和装置 |
CN101901248B (zh) * | 2010-04-07 | 2012-08-15 | 北京星网锐捷网络技术有限公司 | 一种布隆过滤器的生成、更新以及查询元素方法和装置 |
CN101841483B (zh) * | 2010-05-06 | 2013-06-19 | 北京星网锐捷网络技术有限公司 | 硬件路由表管理方法、装置和通讯设备 |
CN101841483A (zh) * | 2010-05-06 | 2010-09-22 | 北京星网锐捷网络技术有限公司 | 硬件路由表管理方法、装置和通讯设备 |
CN101923568B (zh) * | 2010-06-23 | 2013-06-19 | 北京星网锐捷网络技术有限公司 | 布隆过滤器的元素增加、删除方法以及布隆过滤器 |
CN101923568A (zh) * | 2010-06-23 | 2010-12-22 | 北京星网锐捷网络技术有限公司 | 布隆过滤器的元素增加、删除方法以及布隆过滤器 |
US8458511B2 (en) | 2010-09-17 | 2013-06-04 | Oracle International Corporation | Fault isolation using code paths |
CN102271087B (zh) * | 2011-07-27 | 2017-09-29 | 中兴通讯股份有限公司 | 一种路由查找方法和装置 |
CN102271087A (zh) * | 2011-07-27 | 2011-12-07 | 中兴通讯股份有限公司 | 一种路由查找方法和装置 |
CN102333036B (zh) * | 2011-10-17 | 2015-06-03 | 中兴通讯股份有限公司 | 一种实现高速路由查找的方法和系统 |
CN102333036A (zh) * | 2011-10-17 | 2012-01-25 | 中兴通讯股份有限公司 | 一种实现高速路由查找的方法和系统 |
US8886827B2 (en) * | 2012-02-13 | 2014-11-11 | Juniper Networks, Inc. | Flow cache mechanism for performing packet flow lookups in a network device |
US20130212296A1 (en) * | 2012-02-13 | 2013-08-15 | Juniper Networks, Inc. | Flow cache mechanism for performing packet flow lookups in a network device |
CN105122745A (zh) * | 2013-02-27 | 2015-12-02 | 马维尔国际贸易有限公司 | 用于网络设备的高效最长前缀匹配技术 |
CN105122745B (zh) * | 2013-02-27 | 2019-06-28 | 马维尔国际贸易有限公司 | 用于网络设备的高效最长前缀匹配技术 |
US20140280249A1 (en) | 2013-03-14 | 2014-09-18 | Oracle International Corporation | Predicate offload of large objects |
US10489365B2 (en) | 2013-03-14 | 2019-11-26 | Oracle International Corporation | Predicate offload of large objects |
US10642837B2 (en) | 2013-03-15 | 2020-05-05 | Oracle International Corporation | Relocating derived cache during data rebalance to maintain application performance |
US9798655B2 (en) | 2013-09-20 | 2017-10-24 | Oracle International Corporation | Managing a cache on storage devices supporting compression |
US10229161B2 (en) | 2013-09-20 | 2019-03-12 | Oracle International Corporation | Automatic caching of scan and random access data in computing systems |
US10528590B2 (en) | 2014-09-26 | 2020-01-07 | Oracle International Corporation | Optimizing a query with extrema function using in-memory data summaries on the storage server |
CN105095393B (zh) * | 2015-06-30 | 2018-11-16 | 努比亚技术有限公司 | 一种数据存储方法及装置 |
CN105095393A (zh) * | 2015-06-30 | 2015-11-25 | 努比亚技术有限公司 | 一种数据存储方法及装置 |
US11138131B2 (en) | 2016-11-04 | 2021-10-05 | Oracle International Corporation | Detection of avoidable cache thrashing for OLTP and DW workloads |
US10331573B2 (en) | 2016-11-04 | 2019-06-25 | Oracle International Corporation | Detection of avoidable cache thrashing for OLTP and DW workloads |
CN106850541A (zh) * | 2016-12-13 | 2017-06-13 | 华为技术有限公司 | 一种物联网中节点的地址确定方法和装置 |
CN106850541B (zh) * | 2016-12-13 | 2020-11-06 | 华为技术有限公司 | 一种物联网中节点的地址确定方法和装置 |
US11086876B2 (en) | 2017-09-29 | 2021-08-10 | Oracle International Corporation | Storing derived summaries on persistent memory of a storage device |
US10990596B2 (en) | 2019-06-14 | 2021-04-27 | Oracle International Corporation | Non-disruptive referencing of special purpose operators for database management systems |
US11200234B2 (en) | 2019-06-14 | 2021-12-14 | Oracle International Corporation | Non-disruptive dynamic ad-hoc database catalog services |
CN110781392A (zh) * | 2019-10-22 | 2020-02-11 | 深圳墨世科技有限公司 | 可动态伸缩的过滤方法、装置、计算机设备及存储介质 |
CN110781392B (zh) * | 2019-10-22 | 2022-08-12 | 深圳墨世科技有限公司 | 可动态伸缩的过滤方法、装置、计算机设备及存储介质 |
CN112035413A (zh) * | 2020-09-03 | 2020-12-04 | 杭州海康威视系统技术有限公司 | 元数据信息查询方法、装置及存储介质 |
CN112035413B (zh) * | 2020-09-03 | 2024-02-20 | 杭州海康威视系统技术有限公司 | 元数据信息查询方法、装置及存储介质 |
CN112637077A (zh) * | 2020-12-28 | 2021-04-09 | 杭州迪普科技股份有限公司 | 路由动态配置方法及装置 |
US20230221864A1 (en) * | 2022-01-10 | 2023-07-13 | Vmware, Inc. | Efficient inline block-level deduplication using a bloom filter and a small in-memory deduplication hash table |
Also Published As
Publication number | Publication date |
---|---|
CN100531102C (zh) | 2009-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100531102C (zh) | 路由表调整方法、路由查询方法和装置及路由表存储装置 | |
CN102739720B (zh) | 分布式缓存服务器系统及其应用方法、缓存客户端 | |
CN101159619B (zh) | Arp表项的快速添加方法、装置及交换设备 | |
US20110270979A1 (en) | Reducing Propagation Of Message Floods In Computer Networks | |
US20150127649A1 (en) | Efficient implementations for mapreduce systems | |
CN105589664B (zh) | 虚拟存储高速传输方法 | |
US20020046291A1 (en) | Network unit with address cache for frequently occurring network conversations | |
CN104811493B (zh) | 一种网络感知的虚拟机镜像存储系统及读写请求处理方法 | |
US20120173840A1 (en) | Sas expander connection routing techniques | |
CN103918230B (zh) | 对网络设备背景中的转发数据库进行同步 | |
CN101594319A (zh) | 表项查找方法和装置 | |
CN104111924A (zh) | 一种数据库系统 | |
CN101236564A (zh) | 一种海量数据高性能读取显示方法 | |
CN108089825A (zh) | 一种基于分布式集群的存储系统 | |
CN107517266A (zh) | 一种基于分布式缓存的即时通讯方法 | |
JP2002314561A5 (zh) | ||
CN103220230B (zh) | 支持报文交叉存储的动态共享缓冲方法 | |
CN111190546A (zh) | 一种基于alua和本地缓存的分布式块存储性能优化方法 | |
CN103491124A (zh) | 一种对彩信数据进行处理的方法及分布式缓存系统 | |
CN103139068A (zh) | 转发报文的方法、路由器和系统 | |
CN114640641B (zh) | 一种流量感知的OpenFlow流表弹性节能查找方法 | |
CN101102176A (zh) | 一种数据备份方法 | |
CN102833146B (zh) | 一种网络去重的方法和设备 | |
CN108156249B (zh) | 基于近似马尔科夫链的网络缓存更新方法 | |
EP3481014B1 (en) | Forwarding table entry access |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090819 |