本申请涉及通信,尤其涉及一种哈希表操作方法、装置、电子设备及存储介质。
背景技术:
1、随着网络智能化和运维可视化的需求增长,数据转发设备经常需要对报文进行分类、统计和处理。常见的做法是网络处理器(network processor,np)将报文复制一份发送到控制面(control plane,cp),控制面对报文进行解析和统计,这种方式多受限于控制面与网络处理器相连链路带宽和控制面的中央处理器(central processing unit,cpu)处理能力而难以达到较高的性能。为提高性能,业界多采用网络处理器学习硬件流表进行报文分类和处理的方式来进行加速,控制面操作现有硬件流表对外提供功能。
2、然而,目前数据转发设备中控制面操作硬件哈希流表的方式存在操作速率低、操作结果不可靠、操作速率不可控、业务不便扩展的缺点。
技术实现思路
1、为克服相关技术中存在的问题,本申请提供了一种哈希表操作方法、装置、电子设备及存储介质。
2、根据本申请实施例的第一方面,提供一种哈希表操作方法,所述方法应用于网络处理器,所述网络处理器与控制面通过pcie通道连接,所述方法包括:
3、接收控制面发出的哈希表操作指令,其中所述哈希表操作指令包括操作类型和下一条待操作的冲突链的索引值;
4、根据所述下一条待操作的冲突链的索引值确定待操作冲突链,利用加速指令对所述待操作冲突链内的表项进行所述操作类型的处理操作;
5、将操作结果写入pcie缓冲区,以使控制面读取所述操作结果。
6、根据本申请实施例的第二方面,提供一种哈希表操作方法,所述方法应用于控制面,所述控制面与网络处理器通过pcie通道连接,所述方法包括:
7、生成哈希表操作指令,所述哈希表操作指令包括操作类型和下一条待操作的冲突链的索引值;
8、将所述哈希表操作指令发送给网络处理器,以使所述网络处理器根据所述下一条待操作的冲突链的索引值确定待操作冲突链,利用加速指令对所述待操作冲突链内的表项进行所述操作类型的处理操作并将操作结果写入pcie缓冲区;
9、从pcie缓冲区读取所述操作结果。
10、根据本申请实施例的第三方面,提供一种哈希表操作装置,所述装置应用于网络处理器,所述网络处理器与控制面通过pcie通道连接,所述装置包括:
11、接收模块,用于接收控制面发出的哈希表操作指令,其中所述哈希表操作指令包括操作类型和下一条待操作的冲突链的索引值;
12、处理操作模块,用于根据所述下一条待操作的冲突链的索引值确定待操作冲突链,利用加速指令对所述待操作冲突链内的表项进行所述操作类型的处理操作;
13、写入模块,用于将操作结果写入pcie缓冲区,以使控制面读取所述操作结果。
14、根据本申请实施例的第四方面,提供一种哈希表操作装置,所述装置应用于控制面,所述控制面与网络处理器通过pcie通道连接,所述装置包括:
15、遍历模块,用于生成哈希表操作指令,所述哈希表操作指令包括操作类型和下一条待操作的冲突链的索引值;
16、发送模块,用于将所述哈希表操作指令发送给网络处理器,以使所述网络处理器根据所述下一条待操作的冲突链的索引值确定待操作冲突链,利用加速指令对所述待操作冲突链内的表项进行所述操作类型的处理操作并将操作结果写入pcie缓冲区;
17、读取模块,用于从pcie缓冲区读取所述操作结果。
18、根据本申请实施例的第五方面,提供一种电子设备,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现如上所述的方法步骤。
19、根据本申请实施例的第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法步骤。
20、本申请的实施例提供的技术方案可以包括以下有益效果:
21、在本申请实施例中,网络处理器通过pcie通道接收控制面发出的哈希表操作指令,根据哈希表操作指令中包含的操作类型和冲突链索引值,批量操作冲突链中的全部表项,最终将操作结果通过pcie通道一并返回供控制面使用。也就是说,本申请实施例将遍历哈希表结构所需的两层遍历拆分开来,控制面负责遍历主表内冲突链,网络处理器负责遍历冲突链内表项,通过网络处理器的加速指令加速批量表项操作,具备操作速率快、操作速率可控、操作结果可靠、业务可扩展的优点。
22、应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
1.一种哈希表操作方法,其特征在于,所述方法应用于网络处理器,所述网络处理器与控制面通过pcie通道连接,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述哈希表操作指令还包括最大操作表项数量或最大操作冲突链数量;
3.根据权利要求1所述的方法,其特征在于,根据所述下一条待操作的冲突链的索引值确定待操作冲突链,利用加速指令对所述待操作冲突链内的表项进行所述操作类型的处理操作,包括:
4.根据权利要求1所述的方法,其特征在于,所述哈希表操作指令还包括目标哈希表的业务类型;
5.一种哈希表操作方法,其特征在于,所述方法应用于控制面,所述控制面与网络处理器通过pcie通道连接,所述方法包括:
6.根据权利要求5所述的方法,其特征在于,在生成哈希表操作指令之前,还包括:
7.一种哈希表操作装置,其特征在于,所述装置应用于网络处理器,所述网络处理器与控制面通过pcie通道连接,所述装置包括:
8.一种哈希表操作装置,其特征在于,所述装置应用于控制面,所述控制面与网络处理器通过pcie通道连接,所述装置包括:
9.一种电子设备,其特征在于,包括处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现权利要求1-6中任一项所述的方法步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6中任一项所述的方法步骤。
