路由方法、哈希运算方法、路由器、装置和设备制造方法及图纸

技术编号:30402908 阅读:17 留言:0更新日期:2021-10-20 10:49
本发明专利技术公开一种路由方法、哈希运算方法、路由器、装置和设备。其中的哈希运算方法包括:基于至少两个已有的CRC本原多项式分别得到哈希参数矩阵;将得到的至少两个哈希参数矩阵进行融合生成新的哈希参数矩阵;基于新的哈希参数矩阵对输入数据进行哈希运算。本发明专利技术通过将已有的至少两种CRC哈希算法的哈希参数矩阵进行融合生成新的哈希参数矩阵以减少哈希冲突的概率,高了原有硬件资源的利用率,减少了资源浪费,并且简单、方便、易于实现。易于实现。易于实现。

【技术实现步骤摘要】
路由方法、哈希运算方法、路由器、装置和设备


[0001]本专利技术涉及计算机网络
,特别涉及一种路由方法、哈希运算方法、路由器、装置和设备。

技术介绍

[0002]哈希(Hash)表是根据关键值(key)而直接进行访问的数据结构,它通过把关键码值映射到表项中一个位置(index)来存储,以加快数据查找的速度。其中,此映射函数叫做哈希函数(f),使用哈希函数将任意长度的输入数据转换为固定长度数据过程称为哈希运算,而存放记录的数组便是哈希表,哈希表的数学表达式为:index=f(key)。
[0003]哈希算法可以由多种方式实现,其中,CRC哈希算法就是基于循环冗余校验码(CRC)技术实现的哈希算法。CRC是数据通信领域中最常用的一种冗余检错码,其特征是信息字段和校验字段的长度可以任意选定。CRC哈希算法根据特定的CRC本原多项式构建相应的硬件电路,通过将输入编成固定长度的CRC码从而实现哈希运算。
[0004]在网络通信领域以路由查找为例,哈希函数输入值(key)的有效范围是整个地址空间,哈希函数输出值(Index)有效范围是系统支持该表项的最大规格。显然,无论是哪种哈希算法,由于输出值的有效范围远远小于输入值的有效范围,在这个前提下,无论怎么去构造哈希函数(f),都不可避免会出现key1≠key2,而f(key1)=f(key2)的情况,此情况便为哈希冲突。
[0005]现有技术中,可以根据存储数据的不同来选择不同的Hash函数,以降低冲突概率。然而,在上述CRC哈希算法的情形中,每一种CRC哈希算法都需要通过搭建具体的硬件电路来实现,例如基于FPGA(现场可编程逻辑门阵列)进行设计或制造的芯片形成的集成电路来计算CRC,进而进行哈希运算。由此,当需要实现多种CRC哈希算法时,就需要搭建多种硬件电路,相应地也要占用大量的硬件资源,而被弃用的CRC哈希算法的硬件电路无法被重复使用,造成资源浪费。
[0006]而且,每次需要新的CRC哈希算法时就要重新设计硬件电路,例如,对原有硬件电路进行重新编译、更改反馈路径或者更新版本等,实现起来比较复杂,不够灵活。

技术实现思路

[0007]鉴于现有技术中存在的技术缺陷和技术弊端,本专利技术实施例提供克服上述问题或者至少部分地解决上述问题的一种路由方法、哈希运算方法、路由器、装置和设备。
[0008]作为本专利技术实施例的一个方面,涉及一种哈希运算方法,可以包括:
[0009]基于至少两个已有的CRC本原多项式分别得到哈希参数矩阵;
[0010]将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵;
[0011]基于所述新的哈希参数矩阵对输入数据进行哈希运算。
[0012]作为本专利技术实施例的第二方面,涉及一种路由方法,可以包括:
[0013]基于至少两种CRC哈希算法对路由信息进行哈希运算,并根据该哈希运算的运算
结果查找相应的数据流;
[0014]当多个不同的路由信息的运算结果对应于同一个数据流时,确定为所述CRC哈希算法发生了冲突;
[0015]基于所述至少两种CRC哈希算法各自的CRC本原多项式分别获取哈希参数矩阵;
[0016]将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵;
[0017]基于所述新的哈希参数矩阵对所述路由信息进行哈希运算,并根据该哈希运算的运算结果查找相应的数据流进行路由转发。
[0018]作为本专利技术实施例的第三方面,涉及一种哈希运算装置,可以包括:
[0019]参数矩阵获取模块,用于基于至少两个已有的CRC本原多项式分别得到哈希参数矩阵;
[0020]参数矩阵融合模块,用于将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵;
[0021]哈希运算模块,用于基于所述新的哈希参数矩阵对输入数据进行哈希运算。
[0022]作为本专利技术实施例的第四方面,涉及一种路由器,可以包括:
[0023]运算模块,用于基于至少两种CRC哈希算法对路由信息进行哈希运算;
[0024]查找模块,用于根据哈希运算的运算结果查找相应的数据流;
[0025]确定模板,用于当多个不同的路由信息的运算结果对应于同一个数据流时,确定为所述CRC哈希算法发生了冲突;
[0026]获取模块,用于基于所述至少两种CRC哈希算法各自的CRC本原多项式分别得到哈希参数矩阵;
[0027]融合模块,用于将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵;
[0028]运算模块,还用于基于所述新的哈希参数矩阵对所述路由信息进行哈希运算;
[0029]转发模块,用于根据新的哈希参数矩阵对所述路由信息进行哈希运算的运算结果查找相应的数据流进行转发。
[0030]作为本专利技术实施例的第五方面,涉及一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述哈希运算方法、路由方法。
[0031]作为本专利技术实施例的第六方面,涉及一种计算机设备,包括存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述哈希运算方法、路由方法。
[0032]本专利技术实施例至少实现了如下技术效果:
[0033]本专利技术通过将已有的至少两种CRC哈希算法的哈希参数矩阵进行融合生成新的哈希参数矩阵,基于该新的哈希参数矩阵实现新的CRC哈希算法以减少哈希冲突的概率。整个过程只需要将已有的硬件电路相结合即可快速生成新的CRC哈希算法,无需根据新的CRC本原多项式搭建新的硬件电路,因此提高了原有硬件资源的利用率,减少了资源浪费,并且简单、方便、易于实现。
[0034]本专利技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所记载的结构来实现和获得。
[0035]下面通过附图和实施例,对本专利技术的技术方案做进一步的详细描述。
附图说明
[0036]附图用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与本专利技术的实施例一起用于解释本专利技术,并不构成对本专利技术的限制。在附图中:
[0037]图1为本专利技术实施例1提供的哈希运算方法的流程图;
[0038]图2为本专利技术实施例1所述的基于本原多项式的硬件电路结构的举例模型示意图;
[0039]图3为图1中的步骤S11的具体实现流程图;
[0040]图4为本专利技术实施例1提供的哈希运算装置的结构示意图;
[0041]图5为本专利技术实施例2提供的路由方法的流程图;
[0042]图6为本专利技术实施例2提供的路由器的结构示意图。
具体实施方式
[0043]下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种哈希运算方法,包括:基于至少两个已有的CRC本原多项式分别得到哈希参数矩阵;将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵;基于所述新的哈希参数矩阵对输入数据进行哈希运算。2.根据权利要求1所述的方法,所述基于至少两个已有的CRC本原多项式分别得到哈希参数矩阵,包括:根据所述CRC本原多项式确定当前输出的CRC数据串与输入数据和前次输出的CRC数据串之间的参数关系;令所述前次输出的CRC数据串为0,得到所述当前输出的CRC数据串与所述输入数据之间的参数关系;根据所述当前输出的CRC数据串与所述输入数据之间的参数关系得到所述哈希参数矩阵。3.根据权利要求1所述的方法,所述将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵,包括:将至少两个所述哈希参数矩阵进行如下至少一项逻辑运算生成新的哈希参数矩阵:相加、相减、相乘或相除。4.根据权利要求3所述的方法,所述将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵之前,还包括:根据所述输入数据的维度和所述逻辑运算的类型,调整所述哈希参数矩阵的行宽和/或列宽。5.一种路由方法,包括:基于至少两种CRC哈希算法对路由信息进行哈希运算,并根据该哈希运算的运算结果查找相应的数据流;当多个不同的路由信息的运算结果对应于同一个数据流时,确定为所述CRC哈希算法发生了冲突;基于所述至少两种CRC哈希算法各自的CRC本原多项式分别获取哈希参数矩阵;将得到的至少两个所述哈希参数矩阵进行融合生成新的哈希参数矩阵;基于所述新的哈希参数矩阵对所述路由信息进行哈希运算,并根据该哈希运算的运算结果查找相应的数据流进行路由转发。6.根据权利要求5所述的方法,所述基于所述至少两种CRC哈希算法各自的CRC本原多项式分别得到哈希参数矩阵之前还包括:确定所述CRC哈希算法发生冲突的次数超过预定值。7.根据权利要求5所述的方法,所述基于所述至少两种CRC哈希算法各自的CRC本原多项式分别得到哈希参数矩阵,包括:根据所述CRC本原多项式确定当前输出的CRC数据串与输入的路由...

【专利技术属性】
技术研发人员:吴卫海
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1