CN116015613A - 报文处理方法、装置、电子设备及计算机可读存储介质 - Google Patents
报文处理方法、装置、电子设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN116015613A CN116015613A CN202310014512.2A CN202310014512A CN116015613A CN 116015613 A CN116015613 A CN 116015613A CN 202310014512 A CN202310014512 A CN 202310014512A CN 116015613 A CN116015613 A CN 116015613A
- Authority
- CN
- China
- Prior art keywords
- software
- item
- lookup
- address
- hash value
- 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
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种报文处理方法、装置、电子设备及计算机可读存储介质。其中,该方法包括:硬件接收到传输的数据包;解析数据包,得到软件查表所需的报文信息;基于报文信息,计算得到软件查表的哈希值;基于软件查表的哈希值,获取软件查表的条目地址;硬件通过接口发送条目地址至总线;总线依据条目地址,将存储器中的条目数据通过接口写入高速缓存空间中。本发明解决了相关技术中大量业务的软件查表时,存在的CPU的访存压力较大,软转发的整体性能较差的技术问题。
Description
技术领域
本发明涉及计算机领域,具体而言,涉及一种报文处理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着计算机的发展,在软转发场景中,业务越来越复杂,目前主要由软件进行业务报文的识别查找处理和报文编辑。但在相关技术中大量业务的软件查表时,存在CPU的访存压力较大,软转发的整体性能较差的问题。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种报文处理方法、装置、电子设备及计算机可读存储介质,以至少解决相关技术中大量业务的软件查表时,存在的CPU的访存压力较大,软转发的整体性能较差的技术问题。
根据本发明实施例的一个方面,提供了一种报文处理方法,包括:硬件接收到传输的数据包;解析所述数据包,得到软件查表所需的报文信息;基于所述报文信息,计算得到所述软件查表的哈希值;基于所述软件查表的哈希值,获取所述软件查表的条目地址;所述硬件通过接口发送所述条目地址至总线;所述总线依据所述条目地址,将存储器中的条目数据通过所述接口写入高速缓存空间中。
可选地,所述软件查表的类型包括:全局表和转发表,所述基于所述报文信息,计算得到所述软件查表的哈希值,包括:获取所述软件查表的标识ID和待查找的条目类型;基于所述报文信息和待查找的所述条目类型,计算得到所述软件查表的哈希值。
可选地,所述方法还包括:设置所述软件查表的表信息,其中,所述表信息包括:所述软件查表的起始地址,软表大小,条目长度,预取长度。
可选地,基于所述软件查表的哈希值,获取所述软件查表的条目地址,包括:基于软件查表的起始地址、条目长度和所述哈希值,计算得到所述软件查表的条目地址。
可选地,在所述硬件通过接口发送所述条目地址至总线之后,还包括:获取所述硬件用于接收所述数据包的收包通道或收包队列的收包状态,其中,所述收包状态包括如下至少之一:处于待处理状态的数据深度和处于未处理状态的存储器的描述符个数;在所述收包状态大于预设阈值的情况下,确定需要执行所述条目数据的硬件预取。
可选地,包括:所述硬件基于所述条目地址和所述条目长度来确定预取至少一个条目数据。
可选地,通过总线指令来触发预取操作,其中,所述预取操作表征执行所述条目数据的硬件预取。
根据本发明实施例的一个方面,提供了一种报文处理装置,包括:接收模块,用于硬件接收到传输的数据包;解析模块,用于解析所述数据包,得到软件查表所需的报文信息;计算模块,用于基于所述报文信息,计算得到所述软件查表的哈希值;获取模块,用于基于所述软件查表的哈希值,获取所述软件查表的条目地址;第一发送模块,用于所述硬件通过接口发送所述条目地址至总线;第二发送模块,用于所述总线依据所述条目地址,将存储器中的条目数据通过所述接口写入高速缓存空间中。
可选地,所述软件查表的类型包括:全局表和转发表,其中,所述计算模块包括:子获取模块,用于获取所述软件查表的标识ID和待查找的条目类型;子计算模块,用于基于所述报文信息和待查找的所述条目类型,计算得到所述软件查表的哈希值。
根据本发明实施例的一个方面,提供了一种电子设备,包括:处理器;用于存储所述处理器可执行指令的存储器;其中,所述处理器被配置为执行所述指令,以实现上述任一项所述的报文处理方法。
根据本发明实施例的一个方面,提供了一种计算机可读存储介质,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项所述的报文处理方法。
在本发明实施例中,通过硬件接收到传输的数据包,然后解析数据包,得到软件查表所需的报文信息,再基于报文信息,计算得到软件查表的哈希值,然后基于软件查表的哈希值,获取软件查表的条目地址,硬件再通过接口发送条目地址至总线,最后总线依据条目地址,将存储器中的条目数据通过接口写入高速缓存空间中。由于是通过硬件接收到传输的数据包,因此接收数据包的速度较快、耗时较短。由于硬件通过接口发送条目地址至总线,总线依据条目地址,将存储器中的条目数据通过接口写入高速缓存空间中,因此可以有效减轻CPU的访存压力,提升软转发的整体性能。从而实现了提高软转发的整体性能的技术效果,进而解决了相关技术中大量业务的软件查表时,存在的CPU的访存压力较大,软转发的整体性能较差的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的报文处理方法的流程图;
图2是相关技术中的报文处理方法的示意图;
图3是本发明可选实施方式提供的报文处理方法的示意图;
图4是根据本发明实施例的报文处理装置的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本发明实施例,提供了一种报文处理方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本发明实施例的报文处理方法的流程图,如图1所示,该方法包括如下步骤:
步骤S102,硬件接收到传输的数据包;
在本发明上述步骤S102提供的技术方案中,由于是通过硬件接收到传输的数据包,因此接收数据包的速度较快、耗时较短。
步骤S104,解析数据包,得到软件查表所需的报文信息;
在本发明上述步骤S104提供的技术方案中,解析数据包,可以准确地得到软件查表所需的报文信息,如,路由接入场景典型值为IP五元组,可以额外结合三层接口Interface或者虚拟路由转发VRF(Virtual Routing Forwarding)信息。
步骤S106,基于报文信息,计算得到软件查表的哈希值;
在本发明上述步骤S106提供的技术方案中,基于报文信息,可以快速地计算得到软件查表的哈希值。
步骤S108,基于软件查表的哈希值,获取软件查表的条目地址;
在本发明上述步骤S108提供的技术方案中,基于软件查表的哈希值,可以准确地获取软件查表的条目地址。
步骤S110,硬件通过接口发送条目地址至总线;
在本发明上述步骤S110提供的技术方案中,硬件可以为直接存储器访问控制器DMA Controller,接口可以为加速器一致性接口ACP(Accelerator Coherency Port)接口,DMA Controller通过ACP接口发送条目地址至总线,不需要通过中央处理器CPU,可以有效减轻CPU的访存压力,提升软转发的整体性能。
步骤S112,总线依据条目地址,将存储器中的条目数据通过接口写入高速缓存空间中。
在本发明上述步骤S112提供的技术方案中,存储器可以为双倍速率同步动态随机存储器DDR,由于总线依据条目地址,将DDR中的条目数据通过接口写入到高速缓存空间中,因此可以确保条目数据快速地被写入至高速缓存空间Cache中。
通过上述步骤S102至上述步骤S112,通过硬件接收到传输的数据包,然后解析数据包,得到软件查表所需的报文信息,再基于报文信息,计算得到软件查表的哈希值,然后基于软件查表的哈希值,获取软件查表的条目地址,硬件再通过接口发送条目地址至总线,最后总线依据条目地址,将存储器中的条目数据通过接口写入高速缓存空间中。由于是通过硬件接收到传输的数据包,因此接收数据包的速度较快、耗时较短。由于硬件通过接口发送条目地址至总线,总线依据条目地址,将存储器中的条目数据通过接口写入高速缓存空间中,因此可以有效减轻CPU的访存压力,提升软转发的整体性能。从而实现了提高软转发的整体性能的技术效果,进而解决了相关技术中大量业务的软件查表时,存在的CPU的访存压力较大,软转发的整体性能较差的技术问题。
作为一种可选的实施例,软件查表的类型包括:全局表和转发表,基于报文信息,计算得到软件查表的哈希值,包括:获取软件查表的标识ID和待查找的条目类型;基于报文信息和待查找的条目类型,计算得到软件查表的哈希值。
在该实施例中,软件查表的类型包括:全局表,基于IPv4/IPv6类型、收包端口、收包通道、收包队列信息的组合设置的转发表。获取软件查表的标识ID和待查找的条目类型之后,基于报文信息和待查找的条目类型,可以准确地、快速地计算得到软件查表的哈希值。
作为一种可选的实施例,方法还包括:设置软件查表的表信息,其中,表信息包括:软件查表的起始地址,软表大小,条目长度,预取长度。
在该实施例中,软件查表的起始地址,软表大小,条目长度,预取长度是软件查表重要的表信息。因此,设置软件查表的表信息时,表信息包括软件查表的起始地址,软表大小,条目长度以及预取长度。
作为一种可选的实施例,基于软件查表的哈希值,获取软件查表的条目地址,包括:基于软件查表的起始地址、条目长度和哈希值,计算得到软件查表的条目地址。
在该实施例中,基于软件查表的起始地址、条目长度和哈希值,可以准确地计算得到软件查表的条目地址。
作为一种可选的实施例,在硬件通过接口发送条目地址至总线之后,还包括:获取硬件用于接收数据包的收包通道或收包队列的收包状态,其中,收包状态包括如下至少之一:处于待处理状态的数据深度和处于未处理状态的存储器的描述符个数;在收包状态大于预设阈值的情况下,确定需要执行条目数据的硬件预取。
在该实施例中,直接存储器访问控制器DMAController对应收包通道,收包队列的收包状态。收包状态包括如下至少之一:处于待处理状态的数据深度和处于未处理状态的存储器的描述符个数,例如,数据先进先出FIFO深度,软件未处理的直接存储器访问DMA描述符个数。在收包状态大于预设阈值的情况下,可以确定需要执行条目数据的硬件预取。
作为一种可选的实施例,该方法包括:硬件基于条目地址和条目长度来确定预取至少一个条目数据。
在该实施例中,DMAController基于条目地址和条目长度,可以准确地预取对应的一个或多个条目数据到高速缓存空间Cache中。
作为一种可选的实施例,通过总线指令来触发预取操作,其中,预取操作表征执行条目数据的硬件预取。
在该实施例中,DMAController发起的预取操作通过总线指令完成,步骤为:DMAController一次或多次向总线发送数据地址,然后总线根据地址以条目数据为单位从存储空间中取出数据,并通过CPU侧接口写入高速缓存空间Cache中分配好的特定区域,其中,存储空间可以为双倍速率同步动态随机存储器DDR,在CPU为ARM架构时,CPU侧接口可以为ACP接口。通过这种方式,可以快速地通过总线指令来触发预取操作。
基于上述实施例及可选实施例,提供了一种可选实施方式,下面具体说明。
在相关技术中,大量业务的软件查表时,存在的CPU的访存压力较大,软转发的整体性能较差的技术问题。
鉴于此,本发明可选实施方式中提供了一种报文处理方法,其能够有效减少CPU进行报文业务查找所需的访存时延,从而大大提高软转发效率。
图2是相关技术中的报文处理方法的示意图,图2中,中央处理器集群CPU Cluster包括N+1个共享L3 Cache的中央处理器核心CPU Core,N+1个CPU Core分别为CPU Core 0,CPU Core 1,…,CPU Core N,每个CPU Core中都包括一级缓存L1 I-Cache,L1 D-Cache以及二级缓存L2 Cache,DMA Controller RX为上文中的直接存储器访问控制器DMAController,ACE及ACE-Lite为总线接口,BUS为总线,DDR 4为上文中的为双倍速率同步动态随机存储器DDR,DDR Intf为总线与DDR之间的接口,Packet为上文中的数据包,PacketData用于存储Packet,Hot Data为上文中的条目数据,如图2所示,相关技术中的软转发的步骤如下:
S1,直接存储器访问控制器DMAController先写包到双倍速率同步动态随机存储器DDR,写完对应的报文后,更新直接存储器访问DMA描述符或提供中断;
S2,中央处理器CPU通过轮询DMA描述符或DMA提供的中断感知报文接收;
S3,CPU获取并解析报文数据,并基于报文数据计算软件查表的哈希值;
S4,CPU读取软表对应位置的条目数据,读操作会将对应条目数据留在高速缓存空间Cache中,在总线支持Cache一致性的情况下,之后访问相同的软表数据时,都只访问Cache,无需再反复读取DDR;
S5,由于CPU读取DDR的时延较长,在取回数据前CPU无法继续处理接收到的报文,这就导致CPU资源的空耗,软转发的整体性能大幅下降。
图3是本发明可选实施方式提供的报文处理方法的示意图,图3中,中央处理器集群CPU Cluster包括N+1个共享L3 Cache的中央处理器核心CPU Core,N+1个CPU Core分别为CPU Core 0,CPU Core 1,…,CPU Core N,每个CPU Core中都包括一级缓存L1 I-Cache,L1 D-Cache以及二级缓存L2 Cache,DMAController RX为上文中的直接存储器访问控制器DMA Controller,ACE及ACE-Lite为总线接口,ACP为上文中的ACP接口,BUS为总线,DDR 4为上文中的为双倍速率同步动态随机存储器DDR,DDR Intf为总线与DDR之间的接口,Packet为上文中的数据包,Hot Data为上文中的条目数据,Transaction为总线的传输事务结构,Partition Cache ACP Private中的Hot Data为上文中的高速缓存空间Cache中分配好的特定区域,如图3所示,本申请中的软转发的步骤如下:
S1,解析数据包,得到软件查表所需的报文信息,如,路由接入场景典型值为IP五元组,可以额外结合三层接口Interface或者虚拟路由转发VRF(Virtual RoutingForwarding)信息;
S2,判别软表,软件查表的类型包括:全局表,基于IPv4/IPv6类型、收包端口、收包通道、收包队列信息的组合设置的转发表,获取软件查表的标识ID和待查找的条目类型;
S3,基于报文信息和待查找的条目类型,计算得到软件查表的哈希值;
S4,设置软件查表的表信息,其中,表信息包括:软件查表的起始地址,软表大小,条目长度,预取长度;
S5,基于软件查表的起始地址、条目长度和哈希值,计算得到软件查表的条目地址;
S6,直接存储器访问控制器DMA Controller对应收包通道,收包队列的收包状态。收包状态包括如下至少之一:处于待处理状态的数据深度和处于未处理状态的存储器的描述符个数,例如,数据先进先出FIFO深度,软件未处理的直接存储器访问DMA描述符个数。在收包状态大于预设阈值的情况下,可以确定需要执行条目数据的硬件预取;
S7,DMA Controller基于条目地址和条目长度,预取对应的一个或多个条目数据到高速缓存空间Cache中;
S8,DMAController发起的预取操作通过总线指令完成,步骤为:DMAController一次或多次向总线发送数据地址,然后总线根据地址以条目数据为单位从存储空间中取出数据,并通过CPU侧接口写入高速缓存空间Cache中分配好的特定区域,其中,存储空间可以为双倍速率同步动态随机存储器DDR,在CPU为ARM架构时,CPU侧接口可以为ACP接口。
通过上述可选实施方式,可以达到至少以下几点有益效果:
(1)有效减少CPU进行报文业务查找所需的访存时延,从而大大提高软转发效率;
(2)减轻CPU的访存压力,提升软转发的整体性能。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例的方法。
实施例2
根据本发明实施例,还提供了一种用于实施上述报文处理方法的装置,图4是根据本发明实施例的报文处理装置的结构框图,如图4所示,该装置包括:接收模块402,解析模块404,计算模块406,获取模块408,第一发送模块410和第二发送模块412,下面对该装置进行详细说明。
接收模块402,用于硬件接收到传输的数据包;解析模块404,连接于上述接收模块402,用于解析数据包,得到软件查表所需的报文信息;计算模块406,连接于上述解析模块404,用于基于报文信息,计算得到软件查表的哈希值;获取模块408,连接于上述计算模块406,用于基于软件查表的哈希值,获取软件查表的条目地址;第一发送模块410,连接于上述获取模块408,用于硬件通过接口发送条目地址至总线;第二发送模块412,连接于上述第一发送模块410用于总线依据条目地址,将存储器中的条目数据通过接口写入高速缓存空间中。
此处需要说明的是,上述接收模块402,解析模块404,计算模块406,获取模块408,第一发送模块410和第二发送模块412对应于实施报文处理方法中的步骤S102至步骤S112,多个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例1所公开的内容。
作为一种可选的实施例,软件查表的类型包括:全局表和转发表,其中,计算模块包括:子获取模块,用于获取软件查表的标识ID和待查找的条目类型;子计算模块,用于基于报文信息和待查找的条目类型,计算得到软件查表的哈希值。
在该实施例中,由于子获取模块可以获取软件查表的标识ID和待查找的条目类型,子计算模块可以基于报文信息和待查找的条目类型,计算得到软件查表的哈希值,因此包括子获取模块和子计算模块的计算模块可以基于报文信息,计算得到软件查表的哈希值。
实施例3
根据本发明实施例的另外一个方面,还提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器,其中,处理器被配置为执行指令,以实现上述任一项的报文处理方法。
实施例4
根据本发明实施例的另外一个方面,还提供了一种计算机可读存储介质,当计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述任一项的报文处理方法。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (11)
1.一种报文处理方法,其特征在于,包括:
硬件接收到传输的数据包;
解析所述数据包,得到软件查表所需的报文信息;
基于所述报文信息,计算得到所述软件查表的哈希值;
基于所述软件查表的哈希值,获取所述软件查表的条目地址;
所述硬件通过接口发送所述条目地址至总线;
所述总线依据所述条目地址,将存储器中的条目数据通过所述接口写入高速缓存空间中。
2.根据权利要求1所述的方法,其特征在于,所述软件查表的类型包括:全局表和转发表,所述基于所述报文信息,计算得到所述软件查表的哈希值,包括:
获取所述软件查表的标识ID和待查找的条目类型;
基于所述报文信息和待查找的所述条目类型,计算得到所述软件查表的哈希值。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
设置所述软件查表的表信息,其中,所述表信息包括:所述软件查表的起始地址,软表大小,条目长度,预取长度。
4.根据权利要求3所述的方法,其特征在于,基于所述软件查表的哈希值,获取所述软件查表的条目地址,包括:
基于软件查表的起始地址、条目长度和所述哈希值,计算得到所述软件查表的条目地址。
5.根据权利要求4所述的方法,其特征在于,在所述硬件通过接口发送所述条目地址至总线之后,还包括:
获取所述硬件用于接收所述数据包的收包通道或收包队列的收包状态,其中,所述收包状态包括如下至少之一:处于待处理状态的数据深度和处于未处理状态的存储器的描述符个数;
在所述收包状态大于预设阈值的情况下,确定需要执行所述条目数据的硬件预取。
6.根据权利要求5所述的方法,其特征在于,包括:
所述硬件基于所述条目地址和所述条目长度来确定预取至少一个条目数据。
7.根据权利要求5所述的方法,其特征在于,通过总线指令来触发预取操作,其中,所述预取操作表征执行所述条目数据的硬件预取。
8.一种报文处理装置,其特征在于,包括:
接收模块,用于硬件接收到传输的数据包;
解析模块,用于解析所述数据包,得到软件查表所需的报文信息;
计算模块,用于基于所述报文信息,计算得到所述软件查表的哈希值;
获取模块,用于基于所述软件查表的哈希值,获取所述软件查表的条目地址;
第一发送模块,用于所述硬件通过接口发送所述条目地址至总线;
第二发送模块,用于所述总线依据所述条目地址,将存储器中的条目数据通过所述接口写入高速缓存空间中。
9.根据权利要求8所述的装置,其特征在于,所述软件查表的类型包括:全局表和转发表,其中,所述计算模块包括:
子获取模块,用于获取所述软件查表的标识ID和待查找的条目类型;
子计算模块,用于基于所述报文信息和待查找的所述条目类型,计算得到所述软件查表的哈希值。
10.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述的报文处理方法。
11.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如权利要求1至7中任一项所述的报文处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014512.2A CN116015613A (zh) | 2023-01-05 | 2023-01-05 | 报文处理方法、装置、电子设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310014512.2A CN116015613A (zh) | 2023-01-05 | 2023-01-05 | 报文处理方法、装置、电子设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116015613A true CN116015613A (zh) | 2023-04-25 |
Family
ID=86024502
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310014512.2A Pending CN116015613A (zh) | 2023-01-05 | 2023-01-05 | 报文处理方法、装置、电子设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116015613A (zh) |
-
2023
- 2023-01-05 CN CN202310014512.2A patent/CN116015613A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106649349B (zh) | 用于游戏应用的数据缓存方法、装置和系统 | |
CN109376318B (zh) | 一种页面加载方法、计算机可读存储介质及终端设备 | |
CN105677580A (zh) | 访问缓存的方法和装置 | |
CN109640113B (zh) | 一种拖拉视频数据的处理方法及代理服务器 | |
US9584628B2 (en) | Zero-copy data transmission system | |
US20200364080A1 (en) | Interrupt processing method and apparatus and server | |
CN113419824A (zh) | 数据处理方法、装置、系统及计算机存储介质 | |
CN112506823B (zh) | 一种fpga数据读写方法、装置、设备及可读存储介质 | |
CN107911456A (zh) | 图片加载的流量优化方法、装置、终端设备及存储介质 | |
CN105988941B (zh) | 缓存数据处理方法和装置 | |
CN111338688B (zh) | 数据长效缓存方法、装置、计算机系统及可读存储介质 | |
CN109656670B (zh) | 一种页面渲染方法及装置 | |
CN113536168B (zh) | 组件处理方法及设备 | |
CN110232029A (zh) | 一种基于索引的fpga中ddr4包缓存的实现方法 | |
US20090225767A1 (en) | Network packet capturing method | |
WO2014190700A1 (zh) | 一种内存访问的方法、缓冲调度器和内存模块 | |
CN113157609A (zh) | 存储系统、数据处理方法、装置、电子设备及存储介质 | |
CN107277062B (zh) | 数据包的并行处理方法及装置 | |
CN116467235B (zh) | 一种基于dma的数据处理方法、装置、电子设备及介质 | |
CN116610262A (zh) | 降低ssd顺序读延时的方法、装置、设备及介质 | |
CN116015613A (zh) | 报文处理方法、装置、电子设备及计算机可读存储介质 | |
CN114116656B (zh) | 数据处理方法及相关装置 | |
CN111512293A (zh) | 一种基于dma的数据处理方法及相关产品 | |
CN110825652B (zh) | 淘汰磁盘块上的缓存数据的方法、装置及设备 | |
CN113010454A (zh) | 数据读写方法、装置、终端及存储介质 |
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 |