CN118337701A - 一种使用哈希算法的快速路由查找方法及系统 - Google Patents
一种使用哈希算法的快速路由查找方法及系统 Download PDFInfo
- Publication number
- CN118337701A CN118337701A CN202410420526.9A CN202410420526A CN118337701A CN 118337701 A CN118337701 A CN 118337701A CN 202410420526 A CN202410420526 A CN 202410420526A CN 118337701 A CN118337701 A CN 118337701A
- Authority
- CN
- China
- Prior art keywords
- hash
- address
- matching
- addresses
- refreshing
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 27
- 230000006870 function Effects 0.000 claims abstract description 40
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000013507 mapping Methods 0.000 claims abstract description 7
- 230000008901 benefit Effects 0.000 abstract description 4
- 238000004590 computer program Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000032683 aging Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种使用哈希算法的快速路由查找方法及系统,其中方法包括:哈希表生成:基于多个哈希函数生成多组哈希表,每组哈希表的每个地址使用多个字段以避免哈希冲突;在哈希表生成过程中检测所有的哈希冲突,并评估出所需要的哈希函数个数和每组哈希表的每个地址所使用的字段数量;哈希表刷新与切换:采用工作表‑刷新表进行刷新与切换;哈希查找匹配与比较:根据哈希函数对输入IP地址进行映射,找到对应的哈希地址,将哈希地址对应的所有字段的数据输出。本发明在保留哈希算法的快速匹配优势的同时,尽可能的降低和消除了哈希冲突对成功匹配产生的影响,从而从根本上改善路由查找系统性能。
Description
技术领域
本发明涉及低轨通信卫星星座组网技术领域,尤其涉及一种使用哈希算法的快速路由查找方法及系统。
背景技术
发明专利CN106549872B公开了一种最长前缀匹配与精确匹配结合的星载快速路由查找系统,包括精确匹配查找模块和最长前缀匹配查找模块,精确匹配查找模块包括哈希查找电路,哈希散列表和老化更新管理电路;最长前缀匹配查找模块包括压缩Trie树查找电路、Trie树节点存储区和路由表项存储区。与传统的最长前缀匹配查找结构相比,该专利增加了精确匹配查找以作为活跃路由表项的高速缓存,有助于提高IP报文流的路由查找速度,从而有效降低了平均查找时间。另外通过构建精确匹配查找的老化更新管理电路,实现了活跃路由表项的自动学习和添加操作,完成了对路由表项的老化检查和删除操作,保障活跃路由表项的高效管理和查找性能。该专利的精确匹配查找模块使用了哈希查找算法,该模块可以提升IP查找速度。在产生哈希冲突时,中止查找,并启用最长前缀匹配查找模块进行查找。在找到IP匹配项后,将查找结果更新到精确匹配查找模块中,方便后续相同匹配项的快速查找。
但该专利的缺点在于,为了提升IP查找速度,使用了哈希查找算法,但却无法规避哈希冲突产生时,无法找到正确的IP匹配项的问题。为了解决该问题,在哈希冲突产生时,不得不启用传统的最长前缀匹配查找模块。
此外,该专利中查找时间是不确定的。在哈希查找电路中如果能查找匹配成功,则快速输出匹配结果;如果在哈希查找电路中未匹配成功,则不能给出失配的结论,还需要从压缩Trie树查找电路中查找,给出确定的匹配成功还是失配的结论。哈希查找电路的查找时间是固定的,压缩Trie树查找电路的查找时间是不固定的。
根据该专利对应的论文《星载快速路由查找算法设计与实现》,作者:何婧、赵哲、李园利,《空间电子技术》2017年第2期。其中,哈希查找电路的查找时间为4个FPGA时钟周期,压缩Trie树查找电路的查找时间为:
总体来说:
当哈希查找电路能匹配成功时:查找时间=哈希查找时间(固定时间,4个时钟周期);
当哈希查找电路不能匹配成功时:查找时间=哈希查找时间(固定时间,4个时钟周期)+压缩Trie树查找时间(不固定时间,根据IP地址掩码长度,平均查找时间为24~38个时钟周期)。
发明内容
为了解决上述问题,本发明提出一种使用哈希算法的快速路由查找方法及系统,在保留哈希算法的快速匹配优势的同时,尽可能的降低和消除了哈希冲突对成功匹配产生的影响,从而从根本上改善路由查找系统性能。
本发明采用的技术方案如下:
一种使用哈希算法的快速路由查找方法,包括:
哈希表生成:基于多个哈希函数生成多组哈希表,每组哈希表的每个地址使用多个字段以避免哈希冲突;在哈希表生成过程中检测所有的哈希冲突,并评估出所需要的哈希函数个数和每组哈希表的每个地址所使用的字段数量;
哈希表刷新与切换:采用工作表-刷新表进行刷新与切换,即设置两个哈希表,其中一个为工作表,另一个为刷新表,工作表和刷新表之间互相切换;
哈希查找匹配与比较:根据哈希函数对输入IP地址进行映射,找到对应的哈希地址,将哈希地址对应的所有字段的数据输出。
进一步地,所述哈希表生成中:
如果未发生哈希冲突,则哈希地址和路由表IP地址是一一对应的,将路由表IP地址及其对应的数据存入第1个槽位即字段;
如果发生1次哈希冲突,则哈希地址有2个路由表IP地址对应,这时将冲突的IP地址放入第2个槽位;
如果发生2次哈希冲突,则哈希地址有3个路由表IP地址对应,这时将冲突的IP地址依次放入第2个槽位和第3个槽位,依次类推;
如果哈希桶即哈希表的某个哈希地址的所有槽位都用完了,则将路由表IP地址存入哈希桶2,哈希桶3,……;
最后生成所有路由表项所对应的哈希表,该哈希表包含了所有未产生和产生了哈希冲突的路由表数据。
进一步地,所述哈希表刷新与切换中:设置A、B两个哈希表,在默认状态下,A表为工作表,B表为刷新表;当新的哈希表生成以后,将新生成的哈希表刷入B表,刷新过程不影响A表正常完成哈希查找匹配工作;当哈希表刷入B表完成后,则通过切换指令,将B表切换为工作表,A表切换为刷新表,新的B表开始哈希查找匹配工作;下一次新哈希表生成后,则刷入A表,依次类推。
进一步地,所述哈希查找匹配与比较中:将所有的输出数据的IP地址和输入的IP地址进行比较,如果其中有一个相同,即为匹配成功,输出IP地址对应的数据,形成输出IP报文流;如果匹配均不成功,则为失配;不论匹配成功还是失配,均为满足所有哈希冲突发生后的正确匹配。
进一步地,所述哈希查找匹配与比较中,比较的优先级顺序的原则包括:按照哈希桶即哈希表的顺序比较,即哈希桶1,哈希桶2,……,依次比较;在同一个哈希桶内,按照槽位即字段的顺序比较,槽位1,槽位2,……,依次比较。
一种使用哈希算法的快速路由查找系统,包括:
哈希表生成模块,被配置为基于多个哈希函数生成多组哈希表,每组哈希表的每个地址使用多个字段以避免哈希冲突;在哈希表生成过程中检测所有的哈希冲突,并评估出所需要的哈希函数个数和每组哈希表的每个地址所使用的字段数量;
哈希表刷新与切换模块,被配置为采用工作表-刷新表进行刷新与切换,即设置两个哈希表,其中一个为工作表,另一个为刷新表,工作表和刷新表之间互相切换;
哈希查找匹配与比较模块,被配置为根据哈希函数对输入IP地址进行映射,找到对应的哈希地址,将哈希地址对应的所有字段的数据输出。
进一步地,所述哈希表生成模块中:
如果未发生哈希冲突,则哈希地址和路由表IP地址是一一对应的,将路由表IP地址及其对应的数据存入第1个槽位即字段;
如果发生1次哈希冲突,则哈希地址有2个路由表IP地址对应,这时将冲突的IP地址放入第2个槽位;
如果发生2次哈希冲突,则哈希地址有3个路由表IP地址对应,这时将冲突的IP地址依次放入第2个槽位和第3个槽位,依次类推;
如果哈希桶即哈希表的某个哈希地址的所有槽位都用完了,则将路由表IP地址存入哈希桶2,哈希桶3,……;
最后生成所有路由表项所对应的哈希表,该哈希表包含了所有未产生和产生了哈希冲突的路由表数据。
进一步地,所述哈希表刷新与切换模块中:设置A、B两个哈希表,在默认状态下,A表为工作表,B表为刷新表;当新的哈希表生成以后,将新生成的哈希表刷入B表,刷新过程不影响A表正常完成哈希查找匹配工作;当哈希表刷入B表完成后,则通过切换指令,将B表切换为工作表,A表切换为刷新表,新的B表开始哈希查找匹配工作;下一次新哈希表生成后,则刷入A表,依次类推。
进一步地,所述哈希查找匹配与比较模块中:将所有的输出数据的IP地址和输入的IP地址进行比较,如果其中有一个相同,即为匹配成功,输出IP地址对应的数据,形成输出IP报文流;如果匹配均不成功,则为失配;不论匹配成功还是失配,均为满足所有哈希冲突发生后的正确匹配。
进一步地,所述哈希查找匹配与比较模块中,比较的优先级顺序的原则包括:按照哈希桶即哈希表的顺序比较,即哈希桶1,哈希桶2,……,依次比较;在同一个哈希桶内,按照槽位即字段的顺序比较,槽位1,槽位2,……,依次比较。
本发明的有益效果在于:
1、本发明在保留哈希算法的快速匹配优势的同时,尽可能的降低和消除了哈希冲突对成功匹配产生的影响,从而从根本上改善路由查找系统性能。
2、本发明的技术方案通过了模块级测试、分机环境试验、桌面系统联试以及卫星整星联试,验证了方案的有效性、可靠性以及完备性,卫星在轨运行正常。
3、与发明专利CN106549872B相比,本发明可以直接利用哈希算法的查找速度优势,将查找系统的查找时间降低到固定的4个FPGA时钟周期内:
Clock1:将每个哈希函数计算前值复位;
Clock2:从输入IP地址完成哈希函数映射,获取哈希地址。如果存在多个哈希函数,则同时进行哈希函数映射;
Clock3:根据哈希地址读取所有哈希桶和哈希地址的槽位数据;
Clock4:根据优先级,将输入IP地址和读取的各哈希桶的各槽位数据的IP地址进行对比,如果对比上,输出IP地址对应的数据,如果均不能对比上,则说明匹配失配,不输出;
总体来说,查找时间=哈希查找时间(固定时间,4个时钟周期)。
附图说明
图1是本发明实施例1的快速路由查找系统原理图。
图2是本发明实施例1的哈希表生成原理图之一。
图3是本发明实施例1的哈希表生成原理图之二。
图4是本发明实施例1的哈希表生成原理图之三。
图5是本发明实施例1的哈希查找匹配与比较原理图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现说明本发明的具体实施方式。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明,即所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本实施例提供了一种使用哈希算法的快速路由查找方法,包括:
哈希表生成:基于多个哈希函数生成多组哈希表,每组哈希表的每个地址使用多个字段以避免哈希冲突;在哈希表生成过程中检测所有的哈希冲突,并评估出所需要的哈希函数个数和每组哈希表的每个地址所使用的字段数量;
哈希表刷新与切换:采用工作表-刷新表进行刷新与切换,即设置两个哈希表,其中一个为工作表,另一个为刷新表,工作表和刷新表之间互相切换;
哈希查找匹配与比较:根据哈希函数对输入IP地址进行映射,找到对应的哈希地址,将哈希地址对应的所有字段的数据输出。
如图1所示,本实施例还提供了一种使用哈希算法的快速路由查找系统,包括哈希表生成模块、哈希表刷新与切换模块、哈希查找匹配与比较模块,其中哈希表生成模块需要按照哈希规则生成哈希表,并完成哈希冲突的处理,这个功能模块可放入CPU处理;哈希查找匹配与比较模块需要获得快速的查找性能,这个功能模块可放入FPGA处理;哈希表刷新与切换模块将CPU处理好的哈希表刷入FPGA进行快速查找匹配。
其中,哈希查找匹配,就是先将元素按照哈希函数规则集合存储于哈希表中,待查询的元素通过相同的哈希函数进行计算,计算所得的值作为哈希表的访问地址,然后将对哈希表中地址所对应的值读取进行比较,从而判读待查询的元素是否在元素集合中存在。
如果两个值不相同的元素(在路由表中是IP地址)经过同一哈希函数计算得到相同的值,则认为发生了哈希冲突。哈希冲突发生以后,哈希表中地址所对应的值可能和待查询元素无法匹配。
为了解决这个问题,使用两种解决方案:
1.使用多个哈希函数同时进行地址计算,当其中一个哈希函数产生哈希冲突,匹配失效时,另外的哈希函数可能匹配成功;
2.在将元素按照哈希函数规则集合存储于哈希表中时,预先判别会产生哈希冲突的元素,并将产生哈希冲突的元素存储在相同地址的另外一个字段中。在查找时读出所有字段进行匹配,避免匹配失效。
在方法1中,使用的哈希函数越多,发生哈希冲突后匹配失效的概率越低;
在方法2中,哈希表中同一个地址的字段越多,发生哈希冲突后匹配失效的概率越低。由于两种方法在设计上会增加额外的存储器资源消耗,因此需要根据资源情况对发生哈希冲突后匹配失效的概率进行取舍。
一、哈希表生成
如图2和图3所示,哈希表是路由表按照哈希函数规则生成的查找表。在生成哈希表时,应用方法1,使用多个哈希函数生成多组哈希表(每组哈希表称为1个哈希桶,hashbucket),应用方法2,每组哈希表的每个地址使用多个字段来避免哈希冲突(每个字段称为1个槽位,slot)。在生成哈希表的过程中,即可发现所有的哈希冲突,并评估出所需要的哈希函数个数(哈希桶的个数)和每组哈希表的每个地址所使用的字段数量(槽位的个数)。哈希桶的个数和槽位的个数必须满足所有哈希冲突发生后,能够完成正确匹配。
哈希函数可以采用CRC函数或者其他的函数产生,不同的哈希函数可以生成不同的哈希桶。
每个哈希地址,包含了不同的槽位。
如图4所示,当未发生哈希冲突时,哈希地址和路由表IP地址是一一对应的,将路由表IP地址及其对应的数据存入第1个槽位;
如果发生1次哈希冲突,则哈希地址有2个路由表IP地址对应,这时将冲突的IP地址放入第2个槽位;
如果发生2次哈希冲突,则哈希地址有3个路由表IP地址对应,这时将冲突的IP地址依次放入第2个槽位和第3个槽位,依次类推。
如果哈希桶的某个哈希地址的所有槽位都用完了,则将路由表IP地址存入哈希桶2,哈希桶3,……。每个哈希桶的结构都一样,依次类推。
最后顺利生成所有路由表项所对应的哈希表,该哈希表包含了所有未产生和产生了哈希冲突的路由表数据。
二、哈希表刷新与切换
为了实现快速路由查找,需要将生成好的哈希表刷入哈希查找匹配与比较模块。
为了在刷新哈希表的过程中,不中断正在进行查表匹配的过程,哈希表刷新与切换模块采用工作表-刷新表切换设计。
在哈希查找匹配与比较模块中存在A、B两个哈希表,一个为工作表,一个为刷新表,工作表和刷新表之间互相切换。在默认状态下,A表为工作表,B表为刷新表。当新的哈希表生成以后,哈希表刷新与切换模块将新生成的哈希表刷入B表,刷新过程不影响A表正常完成哈希查找匹配工作。当哈希表刷入B表完成后,则通过切换指令,将B表切换为工作表,A表切换为刷新表,新的B表开始哈希查找匹配工作。下一次新哈希表生成后,则刷入A表,依次类推。
三、哈希查找匹配与比较
哈希查找与比较模块分为哈希查找与结果比较两个部分。和哈希表生成模块一样,哈希查找按照哈希函数对输入IP地址进行映射,找到对应的哈希地址,将哈希地址对应的所有槽位的数据输出。
如果在设计中有多个哈希函数,则将不同的哈希函数对应的哈希地址的所有槽位的数据全部输出。
如图5所示,将所有的输出数据的IP地址和输入的IP地址进行比较,如果其中有一个相同,即为匹配成功,输出IP地址对应的数据,形成输出IP报文流。如果匹配均不成功,则为失配。需要说明的是,不论匹配成功还是失配,均为满足所有哈希冲突发生后的正确匹配。比较的优先级顺序的原则为:
1.按照哈希桶的顺序比较,哈希桶1,2,……,依次比较;
2.同一个哈希桶内,按照槽位的顺序比较,槽位1,槽位2,……,依次比较。
由于哈希冲突是有限的,所以需要比较的数据最多为哈希桶数量×每个哈希地址的槽位数量,可以一次比较完成。
实施例2
本实施例在实施例1的基础上:
本实施例提供了一种使用哈希算法的快速路由查找方法及系统,基于低轨通信卫星星座的路由控制CPU软件、分组交换FPGA软件。本实施例中,在4个字节的IP匹配要求下,使用了2个哈希桶,每个哈希桶的哈希地址使用了3个槽位。根据仿真结果,随机生成100万次IP地址均无哈希冲突导致的匹配失效,证明了本发明的技术方案设计有效。在实例中,CPU和FPGA资源利用合理,查找时间短,匹配效率高。在实际测试过程中,没有出现因哈希冲突导致的匹配失效。
实施例3
本实施例在实施例1的基础上:
本实施例提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行该计算机程序时实现实施例1的使用哈希算法的快速路由查找方法的步骤。其中,计算机程序可以为源代码形式、对象代码形式、可执行文件或者某些中间形式等。
实施例4
本实施例在实施例1的基础上:
本实施例提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现实施例1的使用哈希算法的快速路由查找方法的步骤。其中,计算机程序可以为源代码形式、对象代码形式、可执行文件或者某些中间形式等。存储介质包括:能够携带计算机程序代码的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM)、随机存取存储器(RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,存储介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,存储介质不包括电载波信号和电信信号。
需要说明的是,对于前述的方法实施例,为了简便描述,故将其表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
Claims (10)
1.一种使用哈希算法的快速路由查找方法,其特征在于,包括:
哈希表生成:基于多个哈希函数生成多组哈希表,每组哈希表的每个地址使用多个字段以避免哈希冲突;在哈希表生成过程中检测所有的哈希冲突,并评估出所需要的哈希函数个数和每组哈希表的每个地址所使用的字段数量;
哈希表刷新与切换:采用工作表-刷新表进行刷新与切换,即设置两个哈希表,其中一个为工作表,另一个为刷新表,工作表和刷新表之间互相切换;
哈希查找匹配与比较:根据哈希函数对输入IP地址进行映射,找到对应的哈希地址,将哈希地址对应的所有字段的数据输出。
2.根据权利要求1所述的一种使用哈希算法的快速路由查找方法,其特征在于,所述哈希表生成中:
如果未发生哈希冲突,则哈希地址和路由表IP地址是一一对应的,将路由表IP地址及其对应的数据存入第1个槽位即字段;
如果发生1次哈希冲突,则哈希地址有2个路由表IP地址对应,这时将冲突的IP地址放入第2个槽位;
如果发生2次哈希冲突,则哈希地址有3个路由表IP地址对应,这时将冲突的IP地址依次放入第2个槽位和第3个槽位,依次类推;
如果哈希桶即哈希表的某个哈希地址的所有槽位都用完了,则将路由表IP地址存入哈希桶2,哈希桶3,……;
最后生成所有路由表项所对应的哈希表,该哈希表包含了所有未产生和产生了哈希冲突的路由表数据。
3.根据权利要求1所述的一种使用哈希算法的快速路由查找方法,其特征在于,所述哈希表刷新与切换中:设置A、B两个哈希表,在默认状态下,A表为工作表,B表为刷新表;当新的哈希表生成以后,将新生成的哈希表刷入B表,刷新过程不影响A表正常完成哈希查找匹配工作;当哈希表刷入B表完成后,则通过切换指令,将B表切换为工作表,A表切换为刷新表,新的B表开始哈希查找匹配工作;下一次新哈希表生成后,则刷入A表,依次类推。
4.根据权利要求1所述的一种使用哈希算法的快速路由查找方法,其特征在于,所述哈希查找匹配与比较中:将所有的输出数据的IP地址和输入的IP地址进行比较,如果其中有一个相同,即为匹配成功,输出IP地址对应的数据,形成输出IP报文流;如果匹配均不成功,则为失配;不论匹配成功还是失配,均为满足所有哈希冲突发生后的正确匹配。
5.根据权利要求4所述的一种使用哈希算法的快速路由查找方法,其特征在于,所述哈希查找匹配与比较中,比较的优先级顺序的原则包括:按照哈希桶即哈希表的顺序比较,即哈希桶1,哈希桶2,……,依次比较;在同一个哈希桶内,按照槽位即字段的顺序比较,槽位1,槽位2,……,依次比较。
6.一种使用哈希算法的快速路由查找系统,其特征在于,包括:
哈希表生成模块,被配置为基于多个哈希函数生成多组哈希表,每组哈希表的每个地址使用多个字段以避免哈希冲突;在哈希表生成过程中检测所有的哈希冲突,并评估出所需要的哈希函数个数和每组哈希表的每个地址所使用的字段数量;
哈希表刷新与切换模块,被配置为采用工作表-刷新表进行刷新与切换,即设置两个哈希表,其中一个为工作表,另一个为刷新表,工作表和刷新表之间互相切换;
哈希查找匹配与比较模块,被配置为根据哈希函数对输入IP地址进行映射,找到对应的哈希地址,将哈希地址对应的所有字段的数据输出。
7.根据权利要求6所述的一种使用哈希算法的快速路由查找系统,其特征在于,所述哈希表生成模块中:
如果未发生哈希冲突,则哈希地址和路由表IP地址是一一对应的,将路由表IP地址及其对应的数据存入第1个槽位即字段;
如果发生1次哈希冲突,则哈希地址有2个路由表IP地址对应,这时将冲突的IP地址放入第2个槽位;
如果发生2次哈希冲突,则哈希地址有3个路由表IP地址对应,这时将冲突的IP地址依次放入第2个槽位和第3个槽位,依次类推;
如果哈希桶即哈希表的某个哈希地址的所有槽位都用完了,则将路由表IP地址存入哈希桶2,哈希桶3,……;
最后生成所有路由表项所对应的哈希表,该哈希表包含了所有未产生和产生了哈希冲突的路由表数据。
8.根据权利要求6所述的一种使用哈希算法的快速路由查找系统,其特征在于,所述哈希表刷新与切换模块中:设置A、B两个哈希表,在默认状态下,A表为工作表,B表为刷新表;当新的哈希表生成以后,将新生成的哈希表刷入B表,刷新过程不影响A表正常完成哈希查找匹配工作;当哈希表刷入B表完成后,则通过切换指令,将B表切换为工作表,A表切换为刷新表,新的B表开始哈希查找匹配工作;下一次新哈希表生成后,则刷入A表,依次类推。
9.根据权利要求6所述的一种使用哈希算法的快速路由查找系统,其特征在于,所述哈希查找匹配与比较模块中:将所有的输出数据的IP地址和输入的IP地址进行比较,如果其中有一个相同,即为匹配成功,输出IP地址对应的数据,形成输出IP报文流;如果匹配均不成功,则为失配;不论匹配成功还是失配,均为满足所有哈希冲突发生后的正确匹配。
10.根据权利要求6所述的一种使用哈希算法的快速路由查找系统,其特征在于,所述哈希查找匹配与比较模块中,比较的优先级顺序的原则包括:按照哈希桶即哈希表的顺序比较,即哈希桶1,哈希桶2,……,依次比较;在同一个哈希桶内,按照槽位即字段的顺序比较,槽位1,槽位2,……,依次比较。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410420526.9A CN118337701A (zh) | 2024-04-09 | 2024-04-09 | 一种使用哈希算法的快速路由查找方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410420526.9A CN118337701A (zh) | 2024-04-09 | 2024-04-09 | 一种使用哈希算法的快速路由查找方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118337701A true CN118337701A (zh) | 2024-07-12 |
Family
ID=91781173
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410420526.9A Pending CN118337701A (zh) | 2024-04-09 | 2024-04-09 | 一种使用哈希算法的快速路由查找方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118337701A (zh) |
-
2024
- 2024-04-09 CN CN202410420526.9A patent/CN118337701A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7664040B2 (en) | Method of accelerating the shortest path problem | |
CN107431660B (zh) | 检索装置、检索方法及记录介质 | |
EP2544414A1 (en) | Method and device for storing routing table entry | |
US10771386B2 (en) | IP routing search | |
US9075836B2 (en) | Partitioning keys for hash tables | |
US8914574B2 (en) | Content addressable memory and method of searching data thereof | |
CN111522811B (zh) | 数据库的处理方法及装置、存储介质、终端 | |
Kanade et al. | Stable matching with evolving preferences | |
US6421660B1 (en) | Enhanced searching method and apparatus for variable bit chains | |
CN112818185A (zh) | 一种基于sram的最长前缀匹配硬件系统查找的方法 | |
CN118337701A (zh) | 一种使用哈希算法的快速路由查找方法及系统 | |
D’Emidio et al. | Exploring and making safe dangerous networks using mobile entities | |
US9294399B2 (en) | Method for learning media access control address, network device, and system | |
CN112491723B (zh) | 网关报文转发方法、装置、存储介质及网关 | |
CN110543664B (zh) | 一种面向具有特有结构fpga的工艺映射方法 | |
CN113688289B (zh) | 数据包关键字段匹配方法、装置、设备及存储介质 | |
CN114115911A (zh) | 一种基于有向无环图的系统构建策略生成方法 | |
CN113824814A (zh) | 一种转发表的地址匹配方法、装置、网络设备及介质 | |
CN118158153A (zh) | 一种在快速路由查找系统中避免哈希冲突的方法 | |
Guerriero et al. | Parallel asynchronous algorithms for the K shortest paths problem | |
US10476785B2 (en) | IP routing search | |
US7266635B1 (en) | Address lookup apparatus having memory and content addressable memory | |
US11329717B2 (en) | Packet forwarding incorporating partial sorting of path costs or utilities | |
CN114281830B (zh) | 多属性条件的规则映射表构建方法、规则匹配方法和装置 | |
CN111444186B (zh) | 一种信息管理方法、测试仪、设备和计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |