【技术实现步骤摘要】
一种哈希表管理方法及装置、计算机可读存储介质
本专利技术涉及通信
,尤其涉及一种哈希表管理方法及装置、计算机可读存储介质。
技术介绍
网络处理器是面向网络应用领域的专用指令处理器,是面向数据分组处理的、具有特定电路的软件可编程器件。它将精简指令集计算机(ReducedInstructionSetComputer,RISC)处理器的低成本、灵活性与专用集成电路(ApplicationSpecificIntegratedCircuits,ASIC)的高性能、可扩展性很好地结合在一起,开发者可以利用网络处理器实现快速地编程、灵活提供客户所需功能,它使得网络系统能够具备高性能和高灵活性。哈希(Hash)算法是网络处理器中常用的一种索引算法,即将每个查找键值通过哈希函数计算出对应的索引,查找时通过这些索引,直接查找到所需要的内容。在实际使用的情况中,网络处理器中用于存储表项的空间通常有限,如何分配不同哈希表的存储空间,从而合理利用存储空间、不造成存储空间的浪费是一个很关键的问题。
技术实现思路
为了解决上述技术问题,本专利技术提供了一种哈希表管理方法及装置、计算机可读存储 ...
【技术保护点】
1.一种哈希表管理方法,其特征在于,包括:创建哈希表,并根据待写入哈希表中的若干个表项的大小配置所创建的哈希表的容量;获取待写入哈希表中的若干个表项对应的一组关键字,使用若干个哈希函数分别对该组关键字进行计算,得到若干组预索引;选择冲突最少的一组预索引,将该组预索引中的每个预索引分别除以所配置的哈希表的容量,得到待写入哈希表中的若干个表项对应的最终索引;将每个待写入哈希表中的表项写入该表项对应的最终索引对应的存储位置。
【技术特征摘要】
1.一种哈希表管理方法,其特征在于,包括:创建哈希表,并根据待写入哈希表中的若干个表项的大小配置所创建的哈希表的容量;获取待写入哈希表中的若干个表项对应的一组关键字,使用若干个哈希函数分别对该组关键字进行计算,得到若干组预索引;选择冲突最少的一组预索引,将该组预索引中的每个预索引分别除以所配置的哈希表的容量,得到待写入哈希表中的若干个表项对应的最终索引;将每个待写入哈希表中的表项写入该表项对应的最终索引对应的存储位置。2.根据权利要求1所述的哈希表管理方法,其特征在于,所述配置的哈希表的容量为所述哈希表存储的表项个数。3.根据权利要求1所述的哈希表管理方法,其特征在于,所述将该组预索引中的每个预索引分别除以所配置的哈希表的容量,具体包括:通过若干条除法运算流水线逐个计算每个预索引除以所配置的哈希表的容量的商。4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有哈希表管理程序,所述哈希表管理程序被处理器执行时实现如权利要求1至3中任一项所述的哈希表管理方法的步骤。5.一种哈希表管理方法,其特征在于,包括:获取要查找的哈希表的表号以及要查找的哈希表中的表项的关键字;根据所述要查找的哈希表的表号确定对应的用于计算预索引的哈希函数,使用所确定的哈希函数对所述关键字进行计算,得到要查找的哈希表中的表项的预索引;将得到的预索引除以要查找的哈希表的容量,得到要查找的哈希表中的表项的最终索引;从得到的最终索引对应的存储位置读取要查找的哈希表中的表项。6.根据权利要求5所述的哈希表管理方法,其特征在于,所述要查找的哈希表的容量为所述哈希表存储的表项个数。7.根据权利要求5所述的哈希表管理方法,其特征在于,所述将得到的预索引除以要查找的哈希表的容量,具体包括:通过若干条除法运算流水线逐个计算得到的预索引除以要查找的哈希表的容量的商。8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有哈希表管理程序,所述哈希表管理程序被处理器执行时实现如权利要求5至7中任...
【专利技术属性】
技术研发人员:王晓泾,包闯,闫振林,刘振伟,陈西,
申请(专利权)人:深圳市中兴微电子技术有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。