System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及网络,尤其涉及一种报文处理方法、装置、设备、网卡及计算机程序产品。
技术介绍
1、当网络中存在待处理报文时,网卡可以从网络中接收报文,并通知核心处理器(central processing unit,简称cpu)有新的报文到达,而后cpu可以从网卡的缓冲区域获取到待处理报文,对待处理报文进行处理,并将处理后报文转发至网卡,以使网卡进行相对应的转发操作。
2、由于网卡可以具有不同的工作状态,当网卡工作在异常压力场景时,可能会使得发送方向的报文出现异常丢包的情况,此时,发送方向报文所对应的保序队列中的保序信息会一直等待超时弹出,从而导致保序队列的头阻塞,影响后续的报文转发时延。
技术实现思路
1、本专利技术实施例提供了一种报文处理方法、装置、设备、网卡及计算机程序产品,能够避免保序队列出现头阻塞的情况,从而保证后续的报文转发时延。
2、第一方面,本专利技术实施例提供一种报文处理方法,应用于现场可编程门阵列fpga模块,所述fpga模块通信连接有驱动模块,所述驱动模块用于驱动所述fpga模块与主机内存之间进行数据传输;所述方法包括:
3、所述fpga模块通过所述驱动模块获取待处理的当前报文;
4、在所述当前报文为需丢弃报文的情况下,所述fpga模块确定用于实现报文处理操作的保序队列,其中,所述保序队列中至少包括:需要进行保序操作的各个报文的保序信息;
5、所述fpga模块将所述当前报文丢弃,并释放所述保序队列中所述
6、第二方面,本专利技术实施例提供了一种报文处理装置,应用于现场可编程门阵列fpga模块,所述fpga模块通信连接有驱动模块,所述驱动模块用于驱动所述fpga模块与主机内存之间进行数据传输;所述装置包括:
7、第一获取模块,用于获取通过所述驱动模块待处理的当前报文;
8、第一确定模块,用于在所述当前报文为需丢弃报文的情况下,确定用于实现报文处理操作的保序队列,其中,所述保序队列中至少包括:需要进行保序操作的各个报文的保序信息;
9、第一处理模块,用于将所述当前报文丢弃,并释放所述保序队列中所述当前报文的保序信息。
10、第三方面,本专利技术实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第一方面中的报文处理方法。
11、第四方面,本专利技术实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第一方面中的报文处理方法。
12、第五方面,本专利技术实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述第一方面所示的报文处理方法中的步骤。
13、第六方面,本专利技术实施例提供一种报文处理方法,应用于驱动模块,所述驱动模块用于驱动现场可编程门阵列fpga模块与主机内存之间进行数据传输;所述方法包括:
14、获取用于实现报文处理操作的空闲报文描述符;
15、当所述驱动模块检测存在丢包的情况下,基于所述空闲报文描述符,确定未丢弃报文以及位于所述未丢弃报文之后的需进行保序操作的丢弃报文数量;
16、将所述丢弃报文数量添加在所述未丢弃报文的尾部字段。
17、第七方面,本专利技术实施例提供一种报文处理装置,应用于驱动模块,所述驱动模块用于驱动现场可编程门阵列fpga模块与主机内存之间进行数据传输;所述装置包括:
18、第二获取模块,用于获取用于实现报文处理操作的空闲报文描述符;
19、第二确定模块,用于当所述驱动模块检测存在丢包的情况下,基于所述空闲报文描述符,确定未丢弃报文以及位于所述未丢弃报文之后的需进行保序操作的丢弃报文数量;
20、第二处理模块,用于将所述丢弃报文数量添加在所述未丢弃报文的尾部字段。
21、第八方面,本专利技术实施例提供了一种电子设备,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述第六方面中的报文处理方法。
22、第九方面,本专利技术实施例提供了一种计算机存储介质,用于储存计算机程序,所述计算机程序使计算机执行时实现上述第六方面中的报文处理方法。
23、第十方面,本专利技术实施例提供了一种计算机程序产品,包括:存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述第六方面所示的报文处理方法中的步骤。
24、第十一方面,本专利技术实施例提供了一种网卡,包括:现场可编程门阵列fpga模块和与所述fpga模块通信连接的驱动模块,所述驱动模块用于驱动所述fpga模块与主机内存之间进行数据传输;
25、所述驱动模块,用于获取用于实现报文处理操作的空闲报文描述符;当所述驱动模块检测存在丢包的情况下,基于所述空闲报文描述符,确定未丢弃报文以及位于所述未丢弃报文之后的需进行保序操作的丢弃报文数量;将所述丢弃报文数量添加在所述未丢弃报文的尾部字段;
26、所述fpga模块,用于通过所述驱动模块获取待处理的当前报文;在所述当前报文为需丢弃报文的情况下,确定用于实现报文处理操作的保序队列,其中,所述保序队列中至少包括:需要进行保序操作的各个报文的保序信息;将所述当前报文丢弃,并释放所述保序队列中所述当前报文的保序信息。
27、本专利技术实施例提供的报文处理方法、装置、设备、网卡及计算机程序产品,通过所述驱动模块获取待处理的当前报文,在所述当前报文为需丢弃报文的情况下,确定用于实现报文处理操作的保序队列,而后可以将所述当前报文丢弃,并释放所述保序队列中所述当前报文的保序信息,这样可以避免因软件异常丢包操作而导致保序队列中出现头阻塞的情况,同时能够保证报文转发的时延和性能,而后可以利用释放了保序信息的保序队列对其他的待处理报文进行分析处理操作,从而有利于提高报文处理操作的质量和效率,进一步保证了该方法的实用性。
本文档来自技高网...【技术保护点】
1.一种报文处理方法,其特征在于,应用于现场可编程门阵列FPGA模块,所述FPGA模块通信连接有驱动模块,所述驱动模块用于驱动所述FPGA模块与主机内存之间进行数据传输;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在获取待处理的当前报文之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,基于所述丢弃报文数量,识别所述当前报文是否为需丢弃报文,包括:
4.根据权利要求2所述的方法,其特征在于,确定位于所述前一处理报文之后的需要进行丢弃操作的丢弃报文数量,包括:
5.根据权利要求4所述的方法,其特征在于,在获取预设信息队列之前,所述方法还包括:
6.一种报文处理方法,其特征在于,应用于驱动模块,所述驱动模块用于驱动现场可编程门阵列FPGA模块与主机内存之间进行数据传输;所述方法包括:
7.根据权利要求6所述的方法,其特征在于,在获取用于实现报文处理操作的空闲报文描述符之后,所述方法还包括:
8.根据权利要求6所述的方法,其特征在于,基于所述空闲报文描述符,确定未丢弃报文以及
9.根据权利要求8所述的方法,其特征在于,在所述待处理报文集合中,确定位于所述未丢弃报文之后的多个需保序报文,包括:
10.根据权利要求9所述的方法,其特征在于,确定各个待处理报文的报文类型,包括:
11.根据权利要求9所述的方法,其特征在于,基于各个待处理报文的报文类型,确定所述多个需保序报文,包括:
12.根据权利要求9所述的方法,其特征在于,在获取待处理报文集合之后,所述方法还包括:
13.一种报文处理装置,其特征在于,应用于现场可编程门阵列FPGA模块,所述FPGA模块通信连接有驱动模块,所述驱动模块用于驱动所述FPGA模块与主机内存之间进行数据传输;所述装置包括:
14.一种报文处理装置,其特征在于,应用于驱动模块,所述驱动模块用于驱动现场可编程门阵列FPGA模块与主机内存之间进行数据传输;所述装置包括:
15.一种网卡,其特征在于,包括:现场可编程门阵列FPGA模块和与所述FPGA模块通信连接的驱动模块,所述驱动模块用于驱动所述FPGA模块与主机内存之间进行数据传输;
16.一种电子设备,其特征在于,包括:存储器、处理器;其中,所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行时实现上述权利要求1-12中任意一项的方法。
17.一种计算机存储介质,其特征在于,用于储存计算机程序,所述计算机程序使计算机执行时实现上述权利要求1-12中任意一项的方法。
18.一种计算机程序产品,其特征在于,包括:计算机程序,当所述计算机程序被电子设备的处理器执行时,使所述处理器执行上述权利要求1-12中任意一项的方法中的步骤。
...【技术特征摘要】
1.一种报文处理方法,其特征在于,应用于现场可编程门阵列fpga模块,所述fpga模块通信连接有驱动模块,所述驱动模块用于驱动所述fpga模块与主机内存之间进行数据传输;所述方法包括:
2.根据权利要求1所述的方法,其特征在于,在获取待处理的当前报文之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,基于所述丢弃报文数量,识别所述当前报文是否为需丢弃报文,包括:
4.根据权利要求2所述的方法,其特征在于,确定位于所述前一处理报文之后的需要进行丢弃操作的丢弃报文数量,包括:
5.根据权利要求4所述的方法,其特征在于,在获取预设信息队列之前,所述方法还包括:
6.一种报文处理方法,其特征在于,应用于驱动模块,所述驱动模块用于驱动现场可编程门阵列fpga模块与主机内存之间进行数据传输;所述方法包括:
7.根据权利要求6所述的方法,其特征在于,在获取用于实现报文处理操作的空闲报文描述符之后,所述方法还包括:
8.根据权利要求6所述的方法,其特征在于,基于所述空闲报文描述符,确定未丢弃报文以及位于所述未丢弃报文之后的需进行保序操作的丢弃报文数量,包括:
9.根据权利要求8所述的方法,其特征在于,在所述待处理报文集合中,确定位于所述未丢弃报文之后的多个需保序报文,包括:
10.根据权利要求9所述的方法,其特征在于,确定各个待处理报文的报文类型,包括...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。