CN117097679A - 一种网络中断的聚合方法、装置及网络通信设备 - Google Patents

一种网络中断的聚合方法、装置及网络通信设备 Download PDF

Info

Publication number
CN117097679A
CN117097679A CN202311050077.5A CN202311050077A CN117097679A CN 117097679 A CN117097679 A CN 117097679A CN 202311050077 A CN202311050077 A CN 202311050077A CN 117097679 A CN117097679 A CN 117097679A
Authority
CN
China
Prior art keywords
special
dma queue
data frame
queue
message data
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
Application number
CN202311050077.5A
Other languages
English (en)
Inventor
请求不公布姓名
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuxi Muchuang Integrated Circuit Design Co ltd
Original Assignee
Wuxi Muchuang Integrated Circuit Design Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuxi Muchuang Integrated Circuit Design Co ltd filed Critical Wuxi Muchuang Integrated Circuit Design Co ltd
Priority to CN202311050077.5A priority Critical patent/CN117097679A/zh
Publication of CN117097679A publication Critical patent/CN117097679A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/50Queue scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种网络中断的聚合方法、装置及网络通信设备,涉及网络通信技术领域,该方法应用于网络通信设备,包括:获取特殊报文数据帧;根据数据包标识,将特殊报文数据帧存储到目标DMA队列;在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断,以控制目标DMA队列对应的CPU核对目标DMA队列中的特殊报文数据帧进行处理;本发明能够对特定场景下的特殊报文数据包进行分类识别并存入相应的DMA队列,进而使得特定场景下的同一报文数据包的全部数据帧接收完毕后才会生成中断,并且同一会话的不同报文数据包能够由不同的CPU核分别处理,不仅降低了数据的传输延时,还能够提升网络吞吐量。

Description

一种网络中断的聚合方法、装置及网络通信设备
技术领域
本发明涉及网络通信技术领域,特别涉及一种网络中断的聚合方法、装置及网络通信设备。
背景技术
随着,在面向通用处理器(如中央处理器CPU)的以太网控制器(即网卡设备)中,广泛采用中断聚合的方式来实现控制器中断的产生。所谓中断聚合,是指将连续的若干个中断事件合并为一个中断,然而再统一发送到处理器中进行处理,以减少处理器对中断的响应次数,提高处理器对系统任务的处理能力。
在传统的以太网控制器中,通常采用计时寄存器rx-usecs和计数寄存器rx-frames的方式来实现中断聚合技术。rx-usecs在时间的维度对中断的频率进行控制,而rx-frames在接收/发送数据帧个数的维度对中断频率进行调节。举例来说,当一次中断事件产生后,rx-usecs开始计时,同时rx-frames开始对接收/发送的数据帧进行计数;当rx-usecs超时或rx-frames达到设定的阈值时,则产生相应的中断,同时rx-usecs与rx-frames清零,如此循环。
现有技术中,采用中断聚合技术后,当网络通信设备(如网卡设备)从网络接收到数据帧时,其不必立即生成中断,而是等接收到多个数据帧后才产生中断,控制CPU对数据帧进行处理。然而,现有的中断聚合方式虽然能够有效地减少中断次数,从而减轻CPU的负担,但中断聚合的使用也需要考虑上层应用的需求,如果聚合的数据帧较多,对于应用程序来说则意味着网络延时的增大,这对于某些对延时敏感的应用来说是不能接受的;如果聚合的数据帧较少,那么又会增大处理器的开销,造成系统性能的下降,网络吞吐量较低。因此,如何能够实现特定场景下的低延时和高吞吐的中断聚合方式,提升用户体验,是现今急需解决的问题。
发明内容
本发明的目的是提供一种网络中断的聚合方法、装置及网络通信设备,以实现特定场景下的低延时和高吞吐,提升用户体验。
为解决上述技术问题,本发明提供一种网络中断的聚合方法,应用于网络通信设备,包括:
获取特殊报文数据帧;其中,所述特殊报文数据帧包括数据包标识、报文数量和协议类型,所述特殊报文为协议类型为预设特殊报文类型的任一报文;
根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列;其中,所述网络通信设备的DMA队列包括普通DMA队列和特殊DMA队列,每个所述特殊DMA队列分别与各自对应的CPU核绑定,不同所述特殊DMA队列绑定的CPU核不同,所述目标DMA队列为所述数据包标识对应的特殊DMA队列;
在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,以控制所述目标DMA队列对应的CPU核对所述目标DMA队列中的特殊报文数据帧进行处理。
在一些实施例中,所述目标DMA队列为所述数据包标识对应的一个特殊DMA队列,所述根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列,包括:
根据当前数据包标识和调度表,确定当前目标DMA队列;其中,当前数据包标识为当前特殊报文数据帧中的数据包标识,当前目标DMA队列为当前特殊报文数据帧对应的一个特殊DMA队列,当前特殊报文数据帧为任一所述特殊报文数据帧,所述调度表包括各所述特殊DMA队列与各自存储的特殊报文数据帧中的数据包标识的对应关系;
将当前特殊报文数据帧存储到当前目标DMA队列。
在一些实施例中,所述根据当前数据包标识和调度表,确定当前目标DMA队列,包括:
判断所述调度表中是否存在当前数据包标识;
若存在当前数据包标识,则将所述调度表中当前数据包标识对应的特殊DMA队列确定为当前目标DMA队列;
若不存在当前数据包标识,则检测是否存在可选特殊DMA队列;其中,所述可选特殊DMA队列为未存储有所述特殊报文数据帧的特殊DMA队列;
若存在所述可选特殊DMA队列,选择一个所述可选特殊DMA队列确定为当前目标DMA队列,并在所述调度表中记录当前目标DMA队列与当前数据包标识的对应关系。
在一些实施例中,所述检测是否存在可选特殊DMA队列之后,还包括:
若不存在所述可选特殊DMA队列,则利用所述普通DMA队列对所述特殊报文数据帧进行存储和中断处理。
在一些实施例中,所述获取特殊报文数据帧,包括:
接收待处理数据帧;
判断所述待处理数据帧的协议类型是否为所述预设特殊报文类型;
若为所述预设特殊报文类型,则确定所述待处理数据帧为所述特殊报文数据帧;
若不为所述预设特殊报文类型,则利用所述普通DMA队列对所述待处理数据帧进行存储和中断处理。
在一些实施例中,所述网络通信设备为网卡设备,每个所述特殊DMA队列分别与主机端中各自对应的CPU核绑定;所述在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,包括:
在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成并向主机端发送相应的中断,以控制所述主机端利用所述目标DMA队列对应的CPU核对所述目标DMA队列中的特殊报文数据帧进行处理。
在一些实施例中,所述每个所述普通DMA队列分别与各自对应的CPU核绑定,不同所述DMA队列绑定的CPU核不同。
在一些实施例中,所述在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,包括:
若所述目标DMA队列对应的计数寄存器的计数值达到可更新阈值,则生成相应的中断;其中,所述可更新阈值为所述目标DMA队列存储的特殊报文数据帧中的报文数量;
若所述计数值未达到所述可更新阈值,且所述目标DMA队列对应的计时寄存器的计时值达到预设计时阈值,则删除所述目标DMA队列存储的特殊报文数据帧;
对应的,所述根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列之后,还包括:
更新所述目标DMA队列对应的计数寄存器的可更新阈值,并将所述目标DMA队列对应的计时寄存器的计时值清零。
本发明还提供了一种网络中断的聚合装置,应用于网络通信设备,包括:
获取模块,用于获取特殊报文数据帧;其中,所述特殊报文数据帧包括数据包标识、报文数量和协议类型,所述特殊报文为协议类型为预设特殊报文类型的任一报文;
存储模块,用于根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列;其中,所述网络通信设备的DMA队列包括普通DMA队列和特殊DMA队列,每个所述特殊DMA队列分别与各自对应的CPU核绑定,不同所述特殊DMA队列绑定的CPU核不同,所述目标DMA队列为所述数据包标识对应的特殊DMA队列;
中断生成模块,用于在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,以控制所述目标DMA队列对应的CPU核对所述目标DMA队列中的特殊报文数据帧进行处理。
本发明还提供了一种网络通信设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的网络中断的聚合方法的步骤。
本发明所提供的一种网络中断的聚合方法,应用于网络通信设备,包括:获取特殊报文数据帧;其中,特殊报文数据帧包括数据包标识、报文数量和协议类型,特殊报文为协议类型为预设特殊报文类型的任一报文;根据数据包标识,将特殊报文数据帧存储到目标DMA队列;其中,网络通信设备的DMA队列包括普通DMA队列和特殊DMA队列,每个特殊DMA队列分别与各自对应的CPU核绑定,不同特殊DMA队列绑定的CPU核不同,目标DMA队列为数据包标识对应的特殊DMA队列;在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断,以控制目标DMA队列对应的CPU核对目标DMA队列中的特殊报文数据帧进行处理;
可见,本发明能够对特定场景下的特殊报文数据包进行分类识别并存入相应的DMA队列,进而通过在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断,使得特定场景下的同一报文数据包的全部数据帧接收完毕后才会生成中断,并且同一会话的不同报文数据包能够由不同的CPU核分别处理,不仅降低了数据的传输延时,也能够避免单一CPU核性能不足导致的网络吞吐量的降低,提升了网络吞吐量。此外,本发明还提供了一种网络中断的聚合装置及网络通信设备,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种网络中断的聚合方法的流程图;
图2为本发明实施例所提供的另一种网络中断的聚合方法的特殊报文数据帧的结构示意图;
图3为本发明实施例所提供的另一种网络中断的聚合方法的系统结构示意图;
图4为本发明实施例所提供的另一种网络中断的聚合方法的流程图;
图5为本发明实施例所提供的另一种网络中断的聚合方法的流程示意图;
图6为本发明实施例所提供的一种网络中断的聚合生成装置的结构框图;
图7为本发明实施例所提供的一种网络通信设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种网络中断的聚合方法的流程图。该方法应用于网络通信设备,可以包括:
步骤101:获取特殊报文数据帧;其中,特殊报文数据帧包括数据包标识、报文数量和协议类型,特殊报文为协议类型为预设特殊报文类型的任一报文。
可以理解的是,本实施例中的特殊报文数据帧可以为协议类型为预设特殊报文类型的数据帧,即网络通信设备从网络接收的预设特殊报文类型的数据帧;例如,网络通信设备可以利用网络端口(如图3中的端口0),从网络接收预设特殊报文类型和普通协议类型的数据帧。
其中,由于MTU(Maximum Transmission Unit,最大传输单元)的原因,数据量较大的数据包(即报文数据包)经过网络通信设备(如网卡设备、路由器或交换机等)的时候会根据MTU大小被分片,得到相应的数据帧进行网络传输;即网络通信设备可以通过用户数据预处理过程,对待传输报文数据包进行分片,并为每个分片(即报文数据帧)添加额外的标识信息(即分片标识信息),如在报文数据帧的数据头部添加分片标识信息;该分片标识信息可以包括数据包标识(如图2中的报文magic)和报文数量;数据包标识可以用于标识报文数据帧所属的报文数据包,即同属于一个报文数据包的数据包标识相同;报文数量可以用于表述标识报文数据帧所属的报文数据包对应的报文数据帧的数量(即分片数量),如用户数据预处理过程中根据报文数据包的数据长度和MTU大小计算出的分片数量。
进一步的,本实施例所提供的方法还可以包括用户数据的预处理过程,即网络通信设备可以对获取的待传输报文数据包进行分片,得到待传输报文数据包对应的待传输数据帧。例如,处理器可以对每个需要传输的报文数据包(即待传输报文数据包)均进行同样的分片操作,使各报文数据对应的报文数据帧均包括数据包标识、报文数量和其他标识信息(如包含协议类型的五元组信息)。处理器也可以对特殊报文和普通报文的报文数据包采用不同的分片操作,使特殊报文的报文数据包(即特殊报文数据包)对应的报文数据帧与普通报文的报文数据包对应的报文数据帧中的数据结构不同;例如,如图2所示,特殊报文数据包对应的报文数据帧(即特殊报文数据帧)可以包括报文magic(即数据包标识)、报文数量和分片的用户数据(date0至N-1)以及IP(Internet Protocol,网络协议)报文头部、目标MAC(Medium/Media Access Control,硬件地址)地址、源MAC地址、自定义协议类型(即协议类型)和FCS(帧校验序列)等其他标识信息;普通报文的报文数据包对应的报文数据帧可以不包括数据包标识和/或报文数量。本实施例对此不做任何。
对应的,本步骤中网络通信设备从网络获取特殊报文数据帧可以包括数据包标识、报文数量和协议类型。对于本实施例中特殊报文数据帧的具体内容,可以由设计人员根据使用场景和用户需求自行设置,如可以采用与现有技术中的数据包分片方法相同或相似的方式实现,如特殊报文数据帧可以包括IP报文头部(如源头IP地址和目的IP地址)、目标MAC地址、源MAC地址、协议类型、数据包标识、报文数量、用户数据和FCS;只要特殊报文数据帧可以包括数据包标识、报文数量和协议类型,本实施例对此不做任何限制。
相应的,对于本实施例中特殊报文数据帧中的数据包标识和协议类型的具体设置,可以由设计人员自行设置,如图2所示,特殊报文数据帧中的数据包标识可以采用报文magic,以使网络通信设备的处理器(如图3中的调度器)能够区分不同特殊报文数据包的特殊报文数据帧;特殊报文数据帧中的协议类型可以采用自定义协议类型,如IP协议中预留的协议类型(例如,0xfffd),即预设特殊报文类型可以为自定义协议类型,以使处理器能够根据协议类型区分收到的报文数据帧是特殊报文数据帧,还是其他普通的报文数据帧。
需要说明的是,对于本步骤中处理器获取特殊报文数据帧的具体方式,可以由设计人员根据使用场景和用户需求自行设置,如处理器可以直接接收特殊报文数据帧。处理器也可以接收待处理数据帧;判断待处理数据帧的协议类型是否为预设特殊报文类型;若为预设特殊报文类型,则确定待处理数据帧为特殊报文数据帧;也就是说,网络通信设备可以根据从网络上接收的报文数据帧(即待处理数据帧)的协议类型,识别获取特殊报文数据帧。本实施例对此不做任何限制。
对应的,对于待处理数据帧的协议类型不为预设特殊报文类型,即待处理数据帧为普通的报文数据帧(即普通报文数据帧)的情况,可以由设计人员自行设置,如处理器可以利用普通DMA(Direct Memory Access,直接存储器访问)队列对待处理数据帧进行存储和中断处理;例如,处理器可以利用普通DMA队列采用与现有的中断聚合方法相同的方式,生成相应的中断。
步骤102:根据数据包标识,将特殊报文数据帧存储到目标DMA队列;其中,网络通信设备的DMA队列包括普通DMA队列和特殊DMA队列,每个特殊DMA队列分别与各自对应的CPU核绑定,不同特殊DMA队列绑定的CPU核不同,目标DMA队列为数据包标识对应的特殊DMA队列。
可以理解的是,本实施例中将网络通信设备的DMA队列(DMA queue)划分为普通DMA队列和特殊DMA队列;其中,本实施例中的DMA队列可以用于网络通信设备中用于暂时存储报文数据帧(即特殊报文数据帧和普通报文数据帧);特殊DMA队列可以用于处理特殊报文数据包,如存储特殊报文数据帧;普通DMA队列可以主要用于处理普通报文数据包(协议类型不为预设特殊报文类型的报文数据包),如普通DMA队列可以仅存储普通报文数据帧,也可以存储普通报文数据帧和特殊DMA队列无法及时存储处理的特殊报文数据帧。
其中,网络通信设备(如网卡设备)可以包含多个DMA队列,例如intel82599(一种网卡设备的型号)网卡芯片每个DMA包含128个队列;网络通信设备使用队列管理与其相对应的内存缓冲区(如环形内存缓冲区ring buffer,如内存缓冲区为ring buffer时,DMA队列可以包括ring buffer的内存物理地址、buffer长度、描述符head(头)和tail(尾)指针、rx-frames(计时寄存器)、rx-usecs(计时寄存器)和中断寄存器等。也就是说,本步骤中处理器可以将根据数据包标识,将特殊报文数据帧存储到目标DMA队列对应的内存缓冲区中。
对应的,对于本实施例中网络通信设备的DMA队列的具体设置,可以由设计人员根据使用场景和用户需求自行设置,如网络通信设备的DMA队列可以包括网络通信设备中各网络接口各自对应的DMA队列;每个网络接口对应的DMA队列的数量可以为M+N,即M个特殊DMA队列(如图3中的queueN至queueM-1)和N个普通DMA队列(如图3中的queue0至queueN-1),M和N均可以为大于或等于1的正整数,如M和N均可以大于或等于2;每个特殊DMA队列分别与各自对应的CPU核(CPU core)绑定,例如,CPU核为主机端(如图3中的服务器)的处理器(如CPU)的内核时,网络通信设备可以与主机端通过PCIE(PCI-Express,一种总线和接口标准)连接,主机端可以驱动程序为每个特殊DMA队列分配资源并将其绑定到相应的CPU核上,使得每个特殊DMA队列触发的中断能够由相应的CPU核进行处理。相应的,每个网络接口对应的M个特殊DMA队列中不同特殊DMA队列绑定的CPU核不同;如不同网络接口对应的不同特殊DMA队列绑定的CPU核均不同,即网络通信设备中不存在绑定同一CPU核的特殊DMA队列;或则,不同网络接口对应的不同特殊DMA队列绑定的CPU核可以相同,即网络通信设备中可以存在绑定同一CPU核的特殊DMA队列,绑定同一CPU核的特殊DMA队列对应不同的网络接口。网络通信设备的DMA队列也可以包括全部网络接口或部分网络接口对应的DMA队列,即这些DMA队列可以用于处理对应的全部网络接口或部分网络接口接收的报文数据帧(即待处理数据帧)。
相应的,对于每个特殊DMA队列各自绑定CPU核的具体位置,可以由设计人员自行设置,如每个特殊DMA队列各自绑定CPU核可以为网络通信设备连接的主机端(如服务器)的CPU核;每个特殊DMA队列各自绑定CPU核也可以为网络通信设备中CPU的CPU核。本实施例对此不做任何限制。
需要说明的是,本步骤中处理器可以根据特殊报文数据帧中的数据包标识,识别特殊报文数据帧对应的特殊DMA队列(即目标DMA队列),并将特殊报文数据帧存储到目标DMA队列对应的内存缓冲区。也就是说,本实施例中的目标DMA队列可以为特殊报文数据帧中的数据包标识对应的特殊DMA队列,即目标DMA队列可以用于存储该数据包标识的特殊报文数据包对应的全部特殊报文数据帧。本实施例中的目标DMA队列可以为数据包标识对应的一个特殊DMA队列,即每个DMA队列可以用于存储相应一个数据包标识的全部特殊报文数据帧。目标DMA队列也可以为数据包标识对应的多个特殊DMA队列,如特殊报文数据包的数据量较大时,可以采用多个DMA队列存储一个数据包标识的全部特殊报文数据帧;例如,处理器可以通过特殊报文数据帧中报文数量与数量阈值的比较,确定目标DMA队列的数量,如目标DMA队列的数量可以为报文数量与数量阈值的商先上取整。本实施例对此不做任何限制。
对应的,对于本步骤中处理器根据数据包标识,将特殊报文数据帧存储到目标DMA队列的具体方式,可以由设计人员自行设置,如处理器可以根据特殊报文数据帧中的数据包标识,利用对应关系信息,识别特殊报文数据帧对应的目标DMA队列;对应关系信息可以为各特殊DMA队列与各自存储的特殊报文数据帧中的数据包标识的对应关系,对应关系信息可以以调度表或调度数列的形式存储在网络通信设备中。例如,本步骤中处理器可以根据当前数据包标识和调度表,确定当前目标DMA队列;将当前特殊报文数据帧存储到当前目标DMA队列;其中,当前数据包标识为当前特殊报文数据帧中的数据包标识,当前目标DMA队列为当前特殊报文数据帧对应的一个特殊DMA队列,当前特殊报文数据帧为任一特殊报文数据帧,调度表包括各特殊DMA队列与各自存储的特殊报文数据帧中的数据包标识的对应关系。
其中,上述处理器根据当前数据包标识和调度表,确定当前目标DMA队列的具体方式,可以由设计人员自行设置,如处理器可以判断调度表中是否存在当前数据包标识;若存在当前数据包标识,则将调度表中当前数据包标识对应的特殊DMA队列确定为当前目标DMA队列;若不存在当前数据包标识,则检测是否存在可选特殊DMA队列;其中,可选特殊DMA队列为未存储有特殊报文数据帧的特殊DMA队列;若存在可选特殊DMA队列,选择一个可选特殊DMA队列确定为当前目标DMA队列,并在调度表中记录当前目标DMA队列与当前数据包标识的对应关系。
相应的,对于上述不存在可选特殊DMA队列的情况,可以由设计人员自行设置,如处理器可以利用普通DMA队列对特殊报文数据帧进行存储和中断处理,以保证特殊报文数据帧的处理效率;处理器也可以将特殊报文数据帧放入到等待队列,以等待出现可选特殊DMA队列后,再执行选择一个可选特殊DMA队列确定为当前目标DMA队列,并在调度表中记录当前目标DMA队列与当前数据包标识的对应关系的步骤。
步骤103:在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断,以控制目标DMA队列对应的CPU核对目标DMA队列中的特殊报文数据帧进行处理。
可以理解的是,本步骤中处理器可以确定目标DMA队列存储有其存储的特殊报文数据帧中报文数量的特殊报文数据帧,即某一特殊报文数据包对应的全部特殊报文数据帧之后,触发生成相应的中断,以控制目标DMA队列绑定的CPU核对目标DMA队列中的特殊报文数据帧进行处理,如目标DMA队列绑定的主机端的CPU核可以通过GRO(Generic ReceiveOffload,一种接收数据包时的合并延迟技术)模块一次将目标DMA队列中的全部特殊报文数据帧上传给内核网络协议栈,使一次中断便可识别完整的特殊报文数据包的传递,降低延迟。
相应的,本步骤中网络通信设备在生成目标DMA队列对应的中断后,可以将利用目标DMA队列对应的CPU核,将目标DMA队列全部特殊报文数据帧组装成相应的一个特殊报文数据包并传输给内核协议栈。
需要说明的是,对于本步骤中处理器在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断的具体方式,即特殊DMA队列触发中断的具体方式,可以由设计人员根据使用场景和用户需求自行设置,如采用DMA队列各自对应的计时寄存器(rx-usecs)和计数寄存器(rx-frames)调整中断频率的情况下,本步骤中处理器可以在目标DMA队列对应的计数寄存器的计数值达到可更新阈值时,生成相应的中断;其中,可更新阈值为目标DMA队列存储的特殊报文数据帧中的报文数量;在计数值未达到可更新阈值,且目标DMA队列对应的计时寄存器的计时值达到预设计时阈值时,删除目标DMA队列存储的特殊报文数据帧;对应的,步骤102之后,处理器可以更新目标DMA队列对应的计数寄存器的可更新阈值,并将目标DMA队列对应的计时寄存器的计时值清零。采用DMA队列各自对应的中断频率寄存器ite来调整中断频率的情况下,可以采用与上述中断触发方式相似的方式实现,本实施例对此不做任何限制。
本实施例中,本发明实施例能够对特定场景下的特殊报文数据包进行分类识别并存入相应的DMA队列,进而通过在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断,使得特定场景下的同一报文数据包的全部数据帧接收完毕后才会生成中断,并且同一会话的不同报文数据包能够由不同的CPU核分别处理,不仅降低了数据的传输延时,也能够避免单一CPU核性能不足导致的网络吞吐量的降低。
基于上述实施例,本发明实施例还提供了另一种网络中断的聚合方法,以保证数据包接收的准确性。相应的,请参考图4,图4为本发明实施例所提供的另一种网络中断的聚合方法的流程图。该方法应用于网卡设备,可以包括:
步骤201:接收当前待处理数据帧。
其中,本步骤中的当前待处理数据帧可以为网卡设备从网络接收的任意一个报文数据帧,如图5中从网络接收的一帧数据(即报文数据帧)。
步骤202:判断当前待处理数据帧的协议类型是否为预设特殊报文类型;若是,则进入步骤203;若否,则进入步骤212;
可以理解的是,本实施例中的预设特殊报文类型可以为预先设置的协议类型,如IP协议中预留协议类型,例如0xfffd。本实施例中通过待处理数据帧中的协议类型,将待处理数据帧划分为特殊报文数据帧和普通特殊报文数据帧;也就是说,本步骤中通过检测当前待处理数据帧中的协议类型(如五元组中的协议号)是否为预设特殊报文类型,确定当前待处理数据帧是否为特殊报文(即特殊报文数据包)中的报文数据帧(即特殊报文数据帧)。
步骤203:确定当前待处理数据帧为特殊报文数据帧,判断调度表中是否存在当前数据包标识;若是,则进入步骤204;若否,则进入步骤206;
其中,本实施例中的特殊报文数据帧可以为协议类型为任一预设特殊报文类型的待处理数据帧。本实施例中的当前数据包标识可以为当前待处理数据帧中的数据包标识(如报文magic);本实施例中的调度表可以记录有各特殊DMA队列与各自存储的特殊报文数据帧中的数据包标识的对应关系。如图3所示,调度器可以维护一张调度表,每个表项对应一个特殊DMA队列;某一特殊DMA队列对应的内存缓冲区存储有一种数据包标识的特殊报文数据帧的过程中或之后,调度器可以在调度表中该特殊DMA队列对应的表项上记录该数据包标识,即实现该特殊DMA队列与该数据包标识的记录;相应的,该特殊DMA队列对应的内存缓冲区中的特殊报文数据帧清空后,调度器可以清空调度表中该特殊DMA队列对应的表项上的数据包标识。
对应的,本步骤中处理器(如图3中的调度器)通过调度表中是否存在当前待处理数据帧中的数据包标识(即当前数据包标识),确定当前数据包标识是否已分配了特殊DMA队列,即是否已经有特殊DMA队列存储了当前数据包标识的其他报文数据帧。如图5所示,当前待处理数据帧中的数据包标识为报文magic(即magic字段值)时,本步骤中处理器可以查询调度表,确定该magic是否已分配了队列(即特殊DMA队列),即根据报文数据帧的magic字段值查找调度表,检测该magic是否已经在调度表的表项中;从而在调度表的表项中存在该magic时,确定该magic是否已分配了队列(queue),可以将该报文数据帧存入该magic对应的队列中并取出该报文数据帧的报文数量N字段写入队列的rx-frames寄存器(即计数寄存器)中,这样当特殊DMA队列中接收到N个报文数据帧的时候则说明一个完整报文数据包的数据传输完成。
步骤204:将调度表中当前数据包标识对应的特殊DMA队列确定为当前目标DMA队列。
可以理解的是,本步骤中处理器可以在调度表中存在当前数据包标识对应的特殊DMA队列时,将该特殊DMA队列确定为当前目标DMA队列,以利用该特殊DMA队列对应的内存缓冲区存储当前待处理数据帧。
步骤205:检测是否存在可选特殊DMA队列;若是,则进入步骤206;若否,则进入步骤212;
其中,可选特殊DMA队列为未存储有特殊报文数据帧的特殊DMA队列,如空的特殊DMA队列(如图5中的空特殊queue)。本步骤中处理器可以在调度表中不存在当前数据包标识对应的特殊DMA队列时,通过检测存在可选特殊DMA队列,确定当前是否有可选特殊DMA队列能够存储当前待处理数据帧,以在存在可选特殊DMA队列时,利用一个可选特殊DMA队列对应的内存缓冲区存储当前待处理数据帧。
步骤206:选择一个可选特殊DMA队列确定为当前目标DMA队列,并在调度表中记录当前目标DMA队列与当前数据包标识的对应关系。
相应的,本步骤中处理器可以在存在可选特殊DMA队列时,将选择一个可选特殊DMA队列作为当前目标DMA队列,并在调度表中记录选择的可选特殊DMA队列与当前数据包标识的对应关系,以使后续该当前数据包标识的其他报文数据帧能够存储到选择的可选特殊DMA队列。
对应的,本实施例并不限定本步骤中选择一个可选特殊DMA队列的具体方式,如可以随机从全部可选特殊DMA队列中选择一个可选特殊DMA队列作为当前目标DMA队列;也可以将检测出的第一个可选特殊DMA队列作为当前目标DMA队列;还可以按照可选特殊DMA队列的空置时间,从全部可选特殊DMA队列中选择一个可选特殊DMA队列作为当前目标DMA队列,例如将空置时间最长或最短的一个可选特殊DMA队列作为当前目标DMA队列。
步骤207:将当前待处理数据帧存储到当前目标DMA队列,并更新当前目标DMA队列对应的计数寄存器的可更新阈值,将当前目标DMA队列对应的计时寄存器的计时值清零。
可以理解的是,本步骤中处理器可以将当前待处理数据帧存储到当前目标DMA队列对应的内存缓冲区,并将当前目标DMA队列的计数寄存器的可更新阈值调整为当前待处理数据帧中的报文数量,将当前目标DMA队列对应的计时寄存器(如图5中的rx-usecs)的计时值清零,以方便后续对报文丢失的检测。
步骤208:判断当前目标DMA队列对应的计数寄存器的计数值是否达到可更新阈值;若否,则进入步骤209;若是,则进入步骤211。
其中,本步骤中通过判断当前目标DMA队列对应的计数寄存器的计数值是否达到可更新阈值,确定当前目标DMA队列是否存储一个完整的特殊报文数据包中的全部特殊报文数据帧。
步骤209:判断当前目标DMA队列对应的计时寄存器的计时值是否达到预设计时阈值;若是,则进入步骤210。
相应的,本步骤中通过判断当前目标DMA队列对应的计时寄存器的计时值是否达到预设计时阈值,确定当前目标DMA队列是否能够在预设计时阈值(如2秒)内存储下一个特殊报文数据帧,从而在特殊报文数据包为接收完全且无法在预设计时阈值内接收存储下一个特殊报文数据帧时,确定该特殊报文数据包的传输发生丢帧,可以通过步骤210,应该丢弃已经接收的该特殊报文数据包的全部数据。
需要说明的是,本实施例中的步骤208和步骤209的判断过程,是为了检测特殊报文数据包接收完全(即计数寄存器的计数值达到可更新阈值)以及特殊报文数据包发生丢帧(即计数寄存器的计数值未达到可更新阈值且计时寄存器的计时值达到预设计时阈值)的情况,可以如本实施例所示先进行步骤208再进行步骤209;也可以两个步骤同时进行,或如图5所示,先判断是否当前目标DMA队列对应的计数寄存器的计数值达到可更新阈值或计时寄存器的计时值达到预设计时阈值;若否,则返回步骤201或接收本流程,以等待接收下一帧的报文数据帧;若是,则判断是否计时寄存器的计时值达到预设计时阈值;若达到预设计时阈值,则确定特殊报文数据包发生丢帧,可以进入步骤210丢弃已经接收的该特殊报文数据包的全部数据;若未达到预设计时阈值,则说明特殊报文数据包接收完全,可以进入步骤211生成相应的中断。
需要说明的是,本实施例是以通过特殊报文数据包中先后两个特殊报文数据帧的接收时间间隔与预设计时阈值的比较,确定特殊报文数据包是否发生丢帧的丢帧检测方式为例进行的展示;在一些实施例中也可以通过特殊报文数据包中全部特殊报文数据帧的总接收时间与相应时间阈值的比较,确定特殊报文数据包是否发生丢帧,本实施例对此不做任何限制。
步骤210:删除当前目标DMA队列存储的特殊报文数据帧。
步骤211:生成并向主机端发送相应的中断,以控制主机端利用当前目标DMA队列对应的CPU核对当前目标DMA队列中的特殊报文数据帧进行处理。
可以理解的是,本步骤中网卡设备的处理器可以在确定当前目标DMA队列存储了相应的特殊报文数据包中全部特殊报文数据帧之后,产生相应的中断,使得主机端(如服务器)中当前目标DMA队列绑定的CPU核在收到该中断后,可以对当前目标DMA队列中的特殊报文数据帧进行处理,如利用GRO模块一次将当前目标DMA队列中的全部特殊报文数据帧上传给内核网络协议栈。相应的,当前目标DMA队列对应的CPU核处理完当前目标DMA队列中的特殊报文数据帧之后,可以清空当前目标DMA队列中的特殊报文数据帧,以方便后续当前目标DMA队列的使用。
步骤212:利用普通DMA队列对待处理数据帧进行存储和中断处理。
可以理解的是,本实施例中处理器可以在当前待处理数据帧不为预设特殊报文类型或不存在可选特殊DMA队列时,利用普通DMA队列对待处理数据帧进行存储和中断处理,以利用DMA队列完成协议类型不为预设特殊报文类型的普通报文数据帧以及部分特殊报文数据帧的存储和中断处理。
对应的,对于本步骤中处理器利用普通DMA队列对待处理数据帧进行存储和中断处理的具体方式,可以由设计人员自行设置,如采用与现有中断聚合技术中普通的DMA队列对报文数据帧的中断处理方法相同或相似的方式实现,本实施例对此不做任何限制。
进一步的,本实施例中每个普通DMA队列分别与各自对应的CPU核绑定,不同DMA队列(如普通DMA队列和特殊DMA队列)绑定的CPU核不同,以使每个DMA队列能够绑定一个CPU核,使得每个DMA队列产生的中断将由对应的CPU核进行处理,提高中断的处理效率。
相应于上面的方法实施例,本发明实施例还提供了一种网络中断的聚合装置,下文描述的一种网络中断的聚合装置与上文描述的一种网络中断的聚合生成方法可相互对应参照。
请参考图6,图6为本发明实施例所提供的一种网络中断的聚合生成装置的结构框图。该装置应用于网络通信设备,可以包括:
获取模块10,用于获取特殊报文数据帧;其中,特殊报文数据帧包括数据包标识、报文数量和协议类型,特殊报文为协议类型为预设特殊报文类型的任一报文;
存储模块20,用于根据数据包标识,将特殊报文数据帧存储到目标DMA队列;其中,网络通信设备的DMA队列包括普通DMA队列和特殊DMA队列,每个特殊DMA队列分别与各自对应的CPU核绑定,不同特殊DMA队列绑定的CPU核不同,目标DMA队列为数据包标识对应的特殊DMA队列;
中断生成模块30,用于在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断,以控制目标DMA队列对应的CPU核对目标DMA队列中的特殊报文数据帧进行处理。
在一些实施例中,目标DMA队列为数据包标识对应的一个特殊DMA队列,存储模块20可以包括:
队列确定子模块,用于根据当前数据包标识和调度表,确定当前目标DMA队列;其中,当前数据包标识为当前特殊报文数据帧中的数据包标识,当前目标DMA队列为当前特殊报文数据帧对应的一个特殊DMA队列,当前特殊报文数据帧为任一特殊报文数据帧,调度表包括各特殊DMA队列与各自存储的特殊报文数据帧中的数据包标识的对应关系;
队列存储子模块,用于将当前特殊报文数据帧存储到当前目标DMA队列。
在一些实施例中,队列确定子模块可以包括:
标识判断单元,用于判断调度表中是否存在当前数据包标识;
第一确定单元,用于若存在当前数据包标识,则将调度表中当前数据包标识对应的特殊DMA队列确定为当前目标DMA队列;
队列判断单元,用于若不存在当前数据包标识,则检测是否存在可选特殊DMA队列;其中,可选特殊DMA队列为未存储有特殊报文数据帧的特殊DMA队列;
第二确定单元,用于若存在可选特殊DMA队列,选择一个可选特殊DMA队列确定为当前目标DMA队列,并在调度表中记录当前目标DMA队列与当前数据包标识的对应关系。
在一些实施例中,队列确定子模块还可以包括:
普通处理单元,用于若不存在可选特殊DMA队列,则利用普通DMA队列对特殊报文数据帧进行存储和中断处理。
在一些实施例中,获取模块10可以包括:
接收子模块,用于接收待处理数据帧;
类型判断子模块,用于判断待处理数据帧的协议类型是否为预设特殊报文类型;
报文确定子模块,用于若为预设特殊报文类型,则确定待处理数据帧为特殊报文数据帧;
普通处理子模块,用于若不为预设特殊报文类型,则利用普通DMA队列对待处理数据帧进行存储和中断处理。
在一些实施例中,网络通信设备为网卡设备,每个特殊DMA队列分别与主机端中各自对应的CPU核绑定;中断生成模块30可以具体用于在目标DMA队列存储有报文数量的特殊报文数据帧后,生成并向主机端发送相应的中断,以控制主机端利用目标DMA队列对应的CPU核对目标DMA队列中的特殊报文数据帧进行处理。
在一些实施例中,每个普通DMA队列分别与各自对应的CPU核绑定,不同DMA队列绑定的CPU核不同。
在一些实施例中,中断生成模块30可以包括:
生成子模块,用于若目标DMA队列对应的计数寄存器的计数值达到可更新阈值,则生成相应的中断;其中,可更新阈值为目标DMA队列存储的特殊报文数据帧中的报文数量;
删除子模块,用于若计数值未达到可更新阈值,且目标DMA队列对应的计时寄存器的计时值达到预设计时阈值,则删除目标DMA队列存储的特殊报文数据帧;
对应的,中断生成模块30还可以用于在根据数据包标识,将特殊报文数据帧存储到目标DMA队列之后,更新目标DMA队列对应的计数寄存器的可更新阈值,并将目标DMA队列对应的计时寄存器的计时值清零。
本实施例中,本发明实施例能够对特定场景下的特殊报文数据包进行分类识别并存入相应的DMA队列,进而通过中断生成模块30在目标DMA队列存储有报文数量的特殊报文数据帧后,生成相应的中断,使得特定场景下的同一报文数据包的全部数据帧接收完毕后才会生成中断,并且同一会话的不同报文数据包能够由不同的CPU核分别处理,不仅降低了数据的传输延时,也能够避免单一CPU核性能不足导致的网络吞吐量的降低。
相应于上面的方法实施例,本发明实施例还提供了一种网络通信设备,下文描述的一种网络通信设备与上文描述的一种网络中断的聚合方法可相互对应参照。
请参考图7,图7为本发明实施例所提供的一种网络通信设备的结构示意图。该网络通信设备可以包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例所提供的网络中断的聚合方法的步骤。
具体的,本实施例所提供的网络通信设备可以为网卡设备(如网卡芯片);也可以为路由器或交换机。
相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种轨道列车的运行速度规划方法可相互对应参照。
本发明实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例所提供的网络中断的聚合方法的步骤。
该计算机可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、网络通信设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种网络中断的聚合方法、装置及网络通信设备进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

Claims (10)

1.一种网络中断的聚合方法,其特征在于,应用于网络通信设备,包括:
获取特殊报文数据帧;其中,所述特殊报文数据帧包括数据包标识、报文数量和协议类型,所述特殊报文为协议类型为预设特殊报文类型的任一报文;
根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列;其中,所述网络通信设备的DMA队列包括普通DMA队列和特殊DMA队列,每个所述特殊DMA队列分别与各自对应的CPU核绑定,不同所述特殊DMA队列绑定的CPU核不同,所述目标DMA队列为所述数据包标识对应的特殊DMA队列;
在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,以控制所述目标DMA队列对应的CPU核对所述目标DMA队列中的特殊报文数据帧进行处理。
2.根据权利要求1所述的网络中断的聚合方法,其特征在于,所述目标DMA队列为所述数据包标识对应的一个特殊DMA队列,所述根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列,包括:
根据当前数据包标识和调度表,确定当前目标DMA队列;其中,当前数据包标识为当前特殊报文数据帧中的数据包标识,当前目标DMA队列为当前特殊报文数据帧对应的一个特殊DMA队列,当前特殊报文数据帧为任一所述特殊报文数据帧,所述调度表包括各所述特殊DMA队列与各自存储的特殊报文数据帧中的数据包标识的对应关系;
将当前特殊报文数据帧存储到当前目标DMA队列。
3.根据权利要求2所述的网络中断的聚合方法,其特征在于,所述根据当前数据包标识和调度表,确定当前目标DMA队列,包括:
判断所述调度表中是否存在当前数据包标识;
若存在当前数据包标识,则将所述调度表中当前数据包标识对应的特殊DMA队列确定为当前目标DMA队列;
若不存在当前数据包标识,则检测是否存在可选特殊DMA队列;其中,所述可选特殊DMA队列为未存储有所述特殊报文数据帧的特殊DMA队列;
若存在所述可选特殊DMA队列,选择一个所述可选特殊DMA队列确定为当前目标DMA队列,并在所述调度表中记录当前目标DMA队列与当前数据包标识的对应关系。
4.根据权利要求3所述的网络中断的聚合方法,其特征在于,所述检测是否存在可选特殊DMA队列之后,还包括:
若不存在所述可选特殊DMA队列,则利用所述普通DMA队列对所述特殊报文数据帧进行存储和中断处理。
5.根据权利要求1所述的网络中断的聚合方法,其特征在于,所述获取特殊报文数据帧,包括:
接收待处理数据帧;
判断所述待处理数据帧的协议类型是否为所述预设特殊报文类型;
若为所述预设特殊报文类型,则确定所述待处理数据帧为所述特殊报文数据帧;
若不为所述预设特殊报文类型,则利用所述普通DMA队列对所述待处理数据帧进行存储和中断处理。
6.根据权利要求1所述的网络中断的聚合方法,其特征在于,所述网络通信设备为网卡设备,每个所述特殊DMA队列分别与主机端中各自对应的CPU核绑定;所述在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,包括:
在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成并向主机端发送相应的中断,以控制所述主机端利用所述目标DMA队列对应的CPU核对所述目标DMA队列中的特殊报文数据帧进行处理。
7.根据权利要求1所述的网络中断的聚合方法,其特征在于,所述每个所述普通DMA队列分别与各自对应的CPU核绑定,不同所述DMA队列绑定的CPU核不同。
8.根据权利要求1至7任一项所述的网络中断的聚合方法,其特征在于,所述在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,包括:
若所述目标DMA队列对应的计数寄存器的计数值达到可更新阈值,则生成相应的中断;其中,所述可更新阈值为所述目标DMA队列存储的特殊报文数据帧中的报文数量;
若所述计数值未达到所述可更新阈值,且所述目标DMA队列对应的计时寄存器的计时值达到预设计时阈值,则删除所述目标DMA队列存储的特殊报文数据帧;
对应的,所述根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列之后,还包括:
更新所述目标DMA队列对应的计数寄存器的可更新阈值,并将所述目标DMA队列对应的计时寄存器的计时值清零。
9.一种网络中断的聚合装置,其特征在于,应用于网络通信设备,包括:
获取模块,用于获取特殊报文数据帧;其中,所述特殊报文数据帧包括数据包标识、报文数量和协议类型,所述特殊报文为协议类型为预设特殊报文类型的任一报文;
存储模块,用于根据所述数据包标识,将所述特殊报文数据帧存储到目标DMA队列;其中,所述网络通信设备的DMA队列包括普通DMA队列和特殊DMA队列,每个所述特殊DMA队列分别与各自对应的CPU核绑定,不同所述特殊DMA队列绑定的CPU核不同,所述目标DMA队列为所述数据包标识对应的特殊DMA队列;
中断生成模块,用于在所述目标DMA队列存储有所述报文数量的特殊报文数据帧后,生成相应的中断,以控制所述目标DMA队列对应的CPU核对所述目标DMA队列中的特殊报文数据帧进行处理。
10.一种网络通信设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述的网络中断的聚合方法的步骤。
CN202311050077.5A 2023-08-18 2023-08-18 一种网络中断的聚合方法、装置及网络通信设备 Pending CN117097679A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311050077.5A CN117097679A (zh) 2023-08-18 2023-08-18 一种网络中断的聚合方法、装置及网络通信设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311050077.5A CN117097679A (zh) 2023-08-18 2023-08-18 一种网络中断的聚合方法、装置及网络通信设备

Publications (1)

Publication Number Publication Date
CN117097679A true CN117097679A (zh) 2023-11-21

Family

ID=88770973

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311050077.5A Pending CN117097679A (zh) 2023-08-18 2023-08-18 一种网络中断的聚合方法、装置及网络通信设备

Country Status (1)

Country Link
CN (1) CN117097679A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117834570A (zh) * 2024-03-04 2024-04-05 山东云海国创云计算装备产业创新中心有限公司 传输系统的数据包处理方法、装置、电子设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117834570A (zh) * 2024-03-04 2024-04-05 山东云海国创云计算装备产业创新中心有限公司 传输系统的数据包处理方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
US11876701B2 (en) System and method for facilitating operation management in a network interface controller (NIC) for accelerators
CN109936510B (zh) 多路径rdma传输
US7953915B2 (en) Interrupt dispatching method in multi-core environment and multi-core processor
US20190312816A1 (en) Flow Control Method and Switching Device
US7836195B2 (en) Preserving packet order when migrating network flows between cores
US6981084B2 (en) Apparatus and method for packet ingress interrupt moderation
CN111163018B (zh) 网络设备及其降低传输时延的方法
JP2013115576A (ja) 受信データ処理方法、通信装置、及びプログラム
CN113411262B (zh) 一种大型接收卸载功能的设置方法和装置
EP4175232A1 (en) Congestion control method and device
CN106921665B (zh) 一种报文处理方法及网络设备
CN117097679A (zh) 一种网络中断的聚合方法、装置及网络通信设备
WO2021208682A1 (zh) 网络设备的数据采样方法、装置、设备及介质
CN116233018A (zh) 报文处理方法、装置、电子设备及存储介质
US20160294926A1 (en) Using a single work item to send multiple messages
WO2019109902A1 (zh) 队列调度方法及装置、通信设备、存储介质
CN112261142B (zh) 一种rdma网络的数据重传方法、装置及fpga
CN116633879A (zh) 数据包接收方法、装置、设备以及存储介质
CN113472681A (zh) 流量限速方法及装置
CN112351049B (zh) 数据传输方法、装置、设备及存储介质
CN110278052B (zh) 一种数据接收方法及装置
JP4349636B2 (ja) パケット処理装置およびプログラム
CN110336759A (zh) 基于rdma的协议报文转发方法及装置
WO2023193689A1 (zh) 报文传输方法、装置、设备及计算机可读存储介质
US20090129355A1 (en) Apparatus of transmitting packets of wireless local network and method for using the same

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination