CN103973581A - 一种报文数据处理方法、装置及系统 - Google Patents
一种报文数据处理方法、装置及系统 Download PDFInfo
- Publication number
- CN103973581A CN103973581A CN201410193733.1A CN201410193733A CN103973581A CN 103973581 A CN103973581 A CN 103973581A CN 201410193733 A CN201410193733 A CN 201410193733A CN 103973581 A CN103973581 A CN 103973581A
- Authority
- CN
- China
- Prior art keywords
- message data
- processing unit
- processed
- data information
- need
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/36—Handling requests for interconnection or transfer for access to common bus or bus system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明公开了一种报文数据处理方法、装置及系统,涉及通信技术领域,为提高报文数据的传输效率而发明。所述方法由第一处理装置执行,包括:获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括需要处理的报文数据的头部和需要处理的报文数据在第一处理装置中的存储地址;将所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理;接收由所述第二处理装置处理后的第一报文数据信息(包括处理后更新的头部和所述存储地址),并利用所述第二处理装置处理后的第一报文数据信息和所述第二报文数据形成最终报文数据。本发明可用于数据处理技术中。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种报文数据处理方法、装置及系统。
背景技术
随着互联网技术的高速发展,用户对CPU(Central Processing Unit,中央处理器)的网络数据处理性能要求日益提高。
英特尔X86平台的一系列CPU(后面简称X86CPU)是通用的中央处理器。由于X86CPU在进行一些与网络功能相关的数据运算或处理时,缺少相应的硬件加速引擎,因此整个系统的处理性能不高。为了解决这个问题,一般是在X86CPU外围增加一些协处理器芯片,把一些网络数据处理相关的工作移植到协处理器芯片中来完成。这些协处理器芯片与X86CPU间报文数据的传输多是通过PCIe(Peripheral Component Interface Express,总线和接口标准)链路来完成的。
例如,协处理器芯片从网络侧接收到报文数据后,通过PCIe链路将报文数据发送至X86CPU中处理,X86CPU完成对报文数据的处理之后再将处理后的报文数据通过PCIe链路发送回协处理器芯片,最后协处理器芯片将处理后的报文数据发送到网络侧输出。在实际应用中,协处理器芯片与X86CPU之间也可能通过PCIe链路进行多次数据传输。
在上述数据处理中,在X86CPU与协处理器芯片之间通过PCIe链路进行报文数据的传输对PCIe链路的带宽要求非常高,但是由于PCIe总线本身是一种控制类的总线协议,因此使得报文数据的传输效率不高。
发明内容
有鉴于此,本发明实施例提供一种报文数据处理方法、装置及系统,以提高报文数据的传输效率。
为达到上述目的,本发明实施例采用如下技术方案:
第一方面,本发明提供了一种报文数据处理方法,由第一处理装置执行,包括:
获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
将所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理;
接收由所述第二处理装置处理后的第一报文数据信息,并利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据,所述第二处理装置处理后的第一报文数据信息包括由所述第二处理装置处理后更新的头部和所述存储地址。
在第一方面的第一种可能实现方式中,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据包括:
利用所述存储地址,获取所述第二报文数据;
将所述更新的头部以及所述第二报文数据进行关联,形成最终报文数据。
结合第一方面或第一方面的第一种至第二种任一种可能实现方式,在第一方面的第三种可能实现方式中,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
第二方面,本发明提供了一种报文数据处理方法,由第二处理装置执行,包括:
接收由第一处理装置发送的需要处理的报文数据中的第一报文数据信息;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
对所述需要处理的报文数据的头部进行处理得到更新的头部;
将处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
在第二方面的第一种可能实现方式中,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
结合第二方面或第二方面的第一种可能实现方式,在第二方面的第二种可能实现方式中,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
第三方面,本发明提供了一种报文数据处理装置,位于第一处理装置中,包括:
获取单元,用于获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
发送单元,用于将所述获取单元获取的所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理;
第一处理单元,用于接收由所述第二处理装置处理后的第一报文数据信息,并利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据,所述第二处理装置处理后的第一报文数据信息包括更新的头部和所述存储地址。
在第三方面的第一种可能实现方式中,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
结合第三方面或第三方面的第一种可能实现方式,在第三方面的第二种可能实现方式中,所述第一处理单元包括:
获取模块,用于利用所述存储地址,获取所述第二报文数据;
处理模块,用于将所述更新的头部以及所述获取模块获取的所述第二报文数据进行关联,形成最终报文数据。
结合第三方面或第三方面的第一至第二种任一种可能实现方式,在第三方面的第三种可能实现方式中,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
第四方面,本发明提供了一种报文数据处理装置,位于第二处理装置中,包括:
接收单元,用于接收由第一处理装置发送的需要处理的报文数据中的第一报文数据信息;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
第二处理单元,用于对所述接收单元接收的所述需要处理的报文数据的头部进行处理得到更新的头部;
发送单元,用于将所述第二处理单元处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
在第四方面的第一种可能实现方式中,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
结合第四方面或第四方面的第一种可能实现方式,在第四方面的第二种可能实现方式中,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
第五方面,本发明提供了一种报文数据处理系统,包括第一处理装置以及第二处理装置,
所述第一处理装置,用于:
获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
将所述第一报文数据信息发送至所述第二处理装置;
所述第二处理装置,用于:
接收所述第一处理装置发送的所述第一报文数据信息;
对所述需要处理的报文数据的头部进行处理得到更新的头部;
将处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
本发明实施例提供的报文数据处理方法、装置及系统,在对报文数据进行处理时,只将第一处理装置中的第一报文数据信息发送至第二处理装置中进行处理,即只将一部分必要的数据发送给第二处理装置处理,不需要处理的数据可以存储在第一处理装置中,不需要通过PCIe链路传输存储在第一处理装置中的这些数据,减轻了PCIe链路负担。因此,与现有技术相比,本发明实施例提供的报文数据处理方法、装置及系统能够提高报文数据的传输效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一的报文数据处理方法的流程图;
图2为本发明实施例二的报文数据处理方法的流程图;
图3为本发明实施例三的报文数据处理方法的流程图;
图4为本发明实施例三的报文数据处理方法的一个应用场景的示意图;
图5为本发明实施例三的报文数据处理方法的另一个应用场景的示意图;
图6为图5的应用场景下的报文数据处理方法的流程图;
图7为本发明实施例四的报文数据处理装置的结构图;
图8为本发明实施例四的报文数据处理装置的示意图;
图9为本发明实施例五的报文数据处理装置的结构图;
图10为本发明实施例七的报文数据处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了提高报文数据的传输效率,如图1所示,本发明实施例一提供了一种报文数据处理方法,由第一处理装置执行,包括:
步骤11、获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据。其中,所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址。
其中,第一处理装置可以为CPU或者协处理器芯片等能够处理报文数据的装置。例如,所述CPU可以为X86系统的CPU,在具体应用中也可以为X86CPU中的业务软件(APP)或虚拟机(VM)软件等;所述协处理器芯片可以为智能网卡芯片等。
所述第一报文数据信息中的报文数据的头部(Header)为所述需要处理的报文数据中真正需要处理的报文数据,报文数据的头部可包括报文类型、报文版本、报文长度、报文的目的地址、源地址等信息。
其中,所述第二报文数据为不需要发送到第二处理装置中处理的报文数据,即所述需要处理的报文数据中除了第一报文数据信息之外的报文数据。在实际应用中,这部分报文数据可驻留在第一处理装置中。
步骤12、将所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理。
其中,所述第二处理装置可以为与所述第一处理装置通信的处理装置。若所述第一处理装置为X86CPU,则所述第二处理装置为协处理器芯片;若所述第一处理装置为协处理器芯片,则所述第二处理装置为X86CPU。
其中,所述第一处理装置可通过PCIe链路将网络报文数据发送至第二处理装置。
步骤13、接收由所述第二处理装置处理后的第一报文数据信息,并利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据,所述第二处理装置处理后的第一报文数据信息包括由所述第二处理装置处理后更新的头部和所述存储地址。
其中,步骤12中第二处理装置对所述第一报文数据信息进行处理之后,可将处理后的报文数据(更新的头部)再发送回所述第一处理装置,并利用所述存储地址获取第一处理装置中驻留的第二数据,将更新的头部与所述第二数据组合成最终报文数据,该最终报文数据可通过以太网等网络接口输出。
由上可以看出,利用本发明实施例一提供的报文数据处理方法,在对报文数据进行处理时,只将第一处理装置中的第一报文数据信息发送至第二处理装置中进行处理,即只将一部分必要的数据发送给第二处理装置处理,不需要处理的数据可以存储在第一处理装置中,不需要通过PCIe链路传输存储在第一处理装置中的这些数据,减轻了PCIe链路负担。因此,与现有技术相比,本发明实施例一提供的报文数据处理方法能够提高报文数据的传输效率。
如图2所示,本发明实施例二提供了一种报文数据处理方法,由第二处理装置执行,包括:
步骤21、接收由第一处理装置发送的需要处理的报文数据中的第一报文数据信息,所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址。
其中,所述第一处理装置、第二处理装置、第一报文数据信息均可参照本发明实施例一中的描述,在此不再赘述。所以,按照本发明实施例一中的描述,所述第一报文数据信息包括所述需要处理的报文数据的头部以及所述需要处理的报文数据在所述第一处理装置中的存储地址。
步骤22、对所述第一报文数据信息进行处理。在实际应用中,此步骤具体为:对所述需要处理的报文数据的头部进行处理,生成更新的头部,利用所述更新的头部形成处理后的第一报文数据信息。
具体地,可对所述需要处理的报文数据的头部进行如以太网协议格式分析、IP协议格式分析等各种分析处理,处理之后形成更新的头部。再将该更新的头部和步骤21中所述的存储地址一起作为所述处理后的第一报文数据信息。
步骤23、将所述处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据。
其中,所述第一处理装置可利用所述需要处理的报文数据在所述第一处理装置中的存储地址获取自身中原来的未发送给所述第二处理装置的报文数据,再将这部分数据与将步骤22中形成的更新的头部进行组合形成最终报文数据。
由上可以看出,本发明实施例二提供的报文数据处理方法,在处理报文数据时,第二处理装置只接收第一处理装置通过PCIe链路发送的一部分必要的报文数据,不需要处理的数据可以存储在第一处理装置中,不需要通过PCIe链路传输存储在第一处理装置中的这些数据,减轻了PCIe链路负担。因此,与现有技术相比,本发明实施例二提供的报文数据处理方法能够提高报文数据的传输效率。
下面通过本发明实施例三对本发明的报文数据处理方法进行详细描述。假设第一处理装置为协处理器,第二处理装置为中央处理器。
如图3所示,本发明实施例三提供的报文数据处理方法包括:
步骤31、协处理器获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据。
其中,所述第一报文数据信息和第二报文数据可参照本发明实施例一或实施例二中的描述。所述第一报文数据信息除了包括需要处理的报文数据的头部之外,还包括所述需要处理的报文数据在所述第一处理装置中的存储地址。
为了方便描述,下面的描述中假设需要处理的报文数据的头部为Header(简写为H),所述第二报文数据为需要处理的报文数据中剩下的部分(即第二报文数据)为Payload(简写为P)。所述需要处理的报文数据在协处理器中的存储地址为Address(简写为A)。
步骤32、协处理器将所述第一报文数据信息通过PCIe链路(PCIe links)发送给中央处理器。按照上面的假设,此步骤具体为:协处理器将需要处理的报文数据的头部H以及需要处理的报文数据在协处理器中的存储地址A都发送至中央处理器。而第二报文数据P驻留在协处理器中。
步骤33、中央处理器接收所述协处理器发送的第一报文数据信息。即中央处理器接收步骤32中的协处理器发送的报文数据的头部H以及需要处理的报文数据在协处理器中的存储地址A。
步骤34、中央处理器对第一报文数据信息中的报文数据的头部H进行处理得到更新的头部,假设形成更新的报文数据的头部H’。其中,需要处理的报文数据在协处理器中的存储地址A不需要进行其他处理,可在下面的步骤中将其再发送回协处理器,使得协处理器根据该地址找到驻留的第二报文数据P。
步骤35、中央处理器将处理后的第一报文数据信息通过PCIe链路发送给协处理器。
其中,所述处理后的第一报文数据信息包括所述更新的报文数据的头部H’以及所述需要处理的报文数据在协处理器中的存储地址A。因此,此步骤为中央处理器将新的报文数据的头部H’以及所述需要处理的报文数据在协处理器中的存储地址A发送给协处理器。
步骤36、协处理器接收由中央处理器发送的处理后的第一报文数据信息,并利用中央处理器处理后的第一报文数据信息和所述第二报文数据形成最终报文数据。
在实际应用中,此步骤包括:协处理器利用所述需要处理的报文数据在协处理器中的存储地址,获取所述第二报文数据P;将所述中央处理器处理后的更新的报文数据的头部H’以及所述第二报文数据P进行关联(组合),形成最终报文数据。之后协处理器可将该最终报文数据发送到以太网口等网络接口输出。
其中,由于需要处理的报文数据包括第二报文数据,因此,需要处理的报文数据在协处理器中的存储地址也即第二报文数据在协处理器中的存储地址。所以利用所述需要处理的报文数据在协处理器中的存储地址,获取所述第二报文数据是可以实现的。
图4为本发明实施例三的报文数据处理方法的一个示意图。
图4中的01-06分别对应于步骤31-36。其中,图4中的步骤04是中央处理器CPU中的APP或VM对报文数据进行的处理。
在具体应用中,X86CPU中两个业务软件APP或两个虚拟机VM软件间也可通过PCIe接口来完成的报文通信,这些软件处理的报文数据还可发送到协处理器中用加速引擎(accelerator engine)进行加速处理。下面结合图5对该应用场景下的报文数据处理过程进行描述。此时,如图6所示,该应用场景下报文数据的处理过程包括:
步骤001、中央处理器(X86CPU)中的APP或VM#1识别需要处理的报文数据中需要发送到协处理器芯片处理的一部分报文数据H。另外一部分数据,也即第二数据P驻留在原处。
步骤002、APP或VM#1将H以及需要处理的报文数据在CPU中的存储地址通过PCIe链路发送至协处理器芯片中。
步骤003、协处理器芯片接收H,加速引擎accelerator engine对H进行处理,形成新的报文数据头部H’。
步骤004、协处理器芯片将新的报文数据头部H’以及需要处理的报文数据在CPU中的存储地址通过PCIe链路发送到中央处理器中。
步骤005、中央处理器中的APP或VM#2利用H’以及需要处理的报文数据在CPU中的存储地址形成最终的报文数据。
其中,中央处理器中的APP或VM#2在接收到协处理器芯片发送的需要处理的报文数据在CPU中的存储地址后,可利用该地址获取驻留在APP或VM#1中的第二报文数据P,之后将协处理器芯片发送的新的报文数据头部H’与第二报文数据P组合成完整的报文数据,之后还可对该完整的报文数据继续进行其他处理。
需要注意,在实际应用中第一处理装置和第二处理装置之间可能存在多次数据传输。例如在图5的应用场景中,报文数据在APP或VM#2中进行处理之后还可再发送到协处理器中进行处理。此时,需要注意每次从第一处理装置(或第二处理装置)通过PCIe链路发送报文数据的头部H时,需要将这些报文数据的存储地址(也即第二报文数据P的地址)同时发送过去,以便利用该地址找到未发送的驻留在第一处理装置(或第二处理装置)中的报文数据P,从而将第二处理装置(或第一处理装置)处理后的新的报文数据头部H’与P组合成最终的完整的报文数据。另外,一个报文数据的头部H可能被发送到第二处理装置中多次并被多次处理,每一次发送的待处理的报文数据的头部H在第一处理装置中的存储地址可能不同,因此与报文数据的头部H一并发送所述H的存储地址是必要的。例如,首次发送时报文数据的头部H的存储地址为A,接收到的新的报文数据头部H’与P组合成最终的完整的报文数据,并将新报文数据存储在第一处理装置中的存储地址B。如果需要再次将该新报文数据发送给第二处理装置,那么需要发送报文数据头部H’和存储地址B,以此类推,对于多次发送的情况,每次将第二处理装置更新的报文数据头部H’与P组合成的报文数据可能的存储位置是不同的。
由上可以看出,本发明实施例三提供的报文数据处理方法,在对报文数据进行处理时,只将第一处理装置中的第一报文数据信息发送至第二处理装置中进行处理,即只将一部分必要的数据发送给第二处理装置处理,不需要处理的数据可以存储在第一处理装置中,不需要通过PCIe链路传输存储在第一处理装置中的这些数据,减轻了PCIe链路负担。因此,与现有技术相比,本发明实施例一提供的报文数据处理方法能够提高报文数据的传输效率。
如图7所示,本发明实施例四提供了一种报文数据处理装置,位于第一处理装置中,包括:
获取单元41,用于获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;发送单元42,用于将所述获取单元41获取的所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理;第一处理单元43,用于接收由所述第二处理装置处理后的第一报文数据信息,并利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据,所述第二处理装置处理后的第一报文数据信息包括由所述第二处理装置处理后更新的头部和所述存储地址。
其中,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
其中,如图8所示,所述第一处理单元43包括:获取模块431,用于利用所述存储地址,获取所述第二报文数据;处理模块432,用于将所述更新的头部以及所述获取模块431获取的所述第二报文数据进行关联,形成最终报文数据。
在实际应用中,所述第一处理装置可以为中央处理器,所述第二处理装置为协处理器;或者所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
其中,所述装置的工作原理可参照前述方法实施例一中的描述,在此不再赘述。
由上可以看出,本发明实施例四中的报文数据处理装置,在对报文数据进行处理时,第一处理装置只将一部分必要的数据发送给第二处理装置处理,即只将一部分必要的数据发送给第二处理装置处理,不需要处理的数据可以存储在第一处理装置中,不需要通过PCIe链路传输存储在第一处理装置中的这些数据,减轻了PCIe链路负担。因此,与现有技术相比,本发明实施例四提供的报文数据处理装置能够提高报文数据的传输效率。
如图9所示,本发明实施例五提供了一种报文数据处理装置,位于第二处理装置中,包括:
接收单元51,用于接收由第一处理装置发送的需要处理的报文数据中的第一报文数据信息;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;第二处理单元52,用于对所述接收单元51接收的所述需要处理的报文数据的头部进行处理得到更新的头部;发送单元53,用于将所述第二处理单元52处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
其中,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
其中,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
其中,所述装置的工作原理可参照前述方法实施例二中的描述,在此不再赘述。
由上可以看出,本发明实施例五中的报文数据处理装置,在处理报文数据时,第二处理装置只接收第一处理装置通过PCIe链路发送的一部分必要的报文数据,不需要处理的数据可以存储在第一处理装置中,不需要通过PCIe链路传输存储在第一处理装置中的这些数据,减轻了PCIe链路负担。因此,与现有技术相比,本发明实施例二提供的报文数据处理方法能够提高报文数据的传输效率。
本发明实施例六提供了一种报文数据处理系统,包括第一处理装置以及第二处理装置。
所述第一处理装置,用于:获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据,所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;将所述第一报文数据信息发送至所述第二处理装置。
所述第二处理装置,用于:接收所述第一处理装置发送的所述第一报文数据信息;对所述需要处理的报文数据的头部进行处理得到更新的头部;将处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
由上可以看出,本发明实施例六提供的报文数据处理系统只将一部分必要的数据通过PCIe链路进行发送或接收,能够克服现有技术中将全部数据通过PCIe链路进行发送或接收使得报文数据传输效率低的缺陷,提高了报文数据的传输效率。
图10为本发明实施例七提供的报文数据处理设备的结构示意图。如图10所示,本实施例的遥控设备包括:至少一个处理器1001、存储器1002、通信接口1003和总线。处理器1001、存储器1002和通信接口1003通过总线连接并完成相互间的通信。所述总线可以是工业标准体系结构(Industry StandardArchitecture,简称为ISA)总线、外部设备互连(Peripheral Component,简称为PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。其中:
存储器1002用于存储可执行程序代码,该程序代码包括计算机操作指令。存储器1002可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
在一个实施例中,处理器1001通过读取存储器1002中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
将所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理;
接收由所述第二处理装置处理后的第一报文数据信息,并利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据,所述第二处理装置处理后的第一报文数据信息包括由所述第二处理装置处理后更新的头部和所述存储地址。
在另一个实施例中,处理器1001通过读取存储器1002中存储的可执行程序代码来运行与所述可执行程序代码对应的程序,以用于:
接收由第一处理装置发送的需要处理的报文数据中的第一报文数据信息;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
对所述需要处理的报文数据的头部进行处理得到更新的头部;
将处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
处理器1001可能是一个中央处理器(Central Processing Unit,简称为CPU),或者是特定集成电路(Application Specific Integrated Circuit,简称为ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
需说明的是,上述处理器1001除了具有上述功能之外,还可用于执行上述方法实施例中的其他流程,在此不再赘述。
通信接口1003主要用于实现本实施例的流量来源确定设备与其他设备或装置之间的通信。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (15)
1.一种报文数据处理方法,其特征在于,由第一处理装置执行,包括:
获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
将所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理;
接收由所述第二处理装置处理后的第一报文数据信息,并利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据,所述第二处理装置处理后的第一报文数据信息包括由所述第二处理装置处理后更新的头部和所述存储地址。
2.根据权利要求1所述的报文数据处理方法,其特征在于,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
3.根据权利要求1或2所述的报文数据处理方法,其特征在于,所述利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据包括:
利用所述存储地址,获取所述第二报文数据;
将所述更新的头部以及所述第二报文数据进行关联,形成最终报文数据。
4.根据权利要求1-3任一所述的报文数据处理方法,其特征在于,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者
所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
5.一种报文数据处理方法,其特征在于,由第二处理装置执行,包括:
接收由第一处理装置发送的需要处理的报文数据中的第一报文数据信息;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
对所述需要处理的报文数据的头部进行处理得到更新的头部;
将处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
6.根据权利要求5所述的报文数据处理方法,其特征在于,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
7.根据权利要求5或6所述的报文数据处理方法,其特征在于,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者
所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
8.一种报文数据处理装置,其特征在于,位于第一处理装置中,包括:
获取单元,用于获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
发送单元,用于将所述获取单元获取的所述第一报文数据信息发送给第二处理装置,使得所述第二处理装置对所述第一报文数据信息进行处理;
第一处理单元,用于接收由所述第二处理装置处理后的第一报文数据信息,并利用所述第二处理装置处理后的第一报文数据信息和由所述存储地址指示的所述第二报文数据形成最终报文数据,所述第二处理装置处理后的第一报文数据信息包括由所述第二处理装置处理后更新的头部和所述存储地址。
9.根据权利要求8所述的报文数据处理装置,其特征在于,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
10.根据权利要求8或9所述的报文数据处理装置,其特征在于,所述第一处理单元包括:
获取模块,用于利用所述存储地址,获取所述第二报文数据;
处理模块,用于将所述更新的头部以及所述获取模块获取的所述第二报文数据进行关联,形成最终报文数据。
11.根据权利要求8-10任一所述的报文数据处理装置,其特征在于,
所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者
所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
12.一种报文数据处理装置,其特征在于,位于第二处理装置中,包括:
接收单元,用于接收由第一处理装置发送的需要处理的报文数据中的第一报文数据信息;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
第二处理单元,用于对所述接收单元接收的所述需要处理的报文数据的头部进行处理得到更新的头部;
发送单元,用于将所述第二处理单元处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
13.根据权利要求12所述的报文数据处理装置,其特征在于,所述第一处理装置与所述第二处理装置通过总线和接口标准通信。
14.根据权利要求12或13所述的报文数据处理装置,其特征在于,所述第一处理装置为中央处理器,所述第二处理装置为协处理器;或者
所述第一处理装置为协处理器,所述第二处理装置为中央处理器。
15.一种报文数据处理系统,其特征在于,包括第一处理装置以及第二处理装置,
所述第一处理装置,用于:
获取需要处理的报文数据,所述需要处理的报文数据包括第一报文数据信息和第二报文数据;所述第一报文数据信息包括所述需要处理的报文数据的头部和所述需要处理的报文数据在所述第一处理装置中的存储地址;
将所述第一报文数据信息发送至所述第二处理装置;
所述第二处理装置,用于:
接收所述第一处理装置发送的所述第一报文数据信息;
对所述需要处理的报文数据的头部进行处理得到更新的头部;
将处理后的第一报文数据信息发送给所述第一处理装置,使得所述第一处理装置根据所述处理后的第一报文数据信息和所述需要处理的报文数据中的第二报文数据形成最终报文数据,所述处理后的第一报文数据信息包括所述更新的头部和所述存储地址。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410193733.1A CN103973581B (zh) | 2014-05-08 | 2014-05-08 | 一种报文数据处理方法、装置及系统 |
EP14891136.5A EP3110088B1 (en) | 2014-05-08 | 2014-10-14 | Packet data processing method, device and system |
PCT/CN2014/088585 WO2015169053A1 (zh) | 2014-05-08 | 2014-10-14 | 一种报文数据处理方法、装置及系统 |
US15/344,972 US10339091B2 (en) | 2014-05-08 | 2016-11-07 | Packet data processing method, apparatus, and system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410193733.1A CN103973581B (zh) | 2014-05-08 | 2014-05-08 | 一种报文数据处理方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103973581A true CN103973581A (zh) | 2014-08-06 |
CN103973581B CN103973581B (zh) | 2017-04-12 |
Family
ID=51242641
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410193733.1A Active CN103973581B (zh) | 2014-05-08 | 2014-05-08 | 一种报文数据处理方法、装置及系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10339091B2 (zh) |
EP (1) | EP3110088B1 (zh) |
CN (1) | CN103973581B (zh) |
WO (1) | WO2015169053A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015169053A1 (zh) * | 2014-05-08 | 2015-11-12 | 华为技术有限公司 | 一种报文数据处理方法、装置及系统 |
WO2023155526A1 (zh) * | 2022-02-17 | 2023-08-24 | 苏州浪潮智能科技有限公司 | 一种数据流处理方法、存储控制节点及非易失性可读存储介质 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112988739B (zh) * | 2019-12-18 | 2024-04-19 | 阿里巴巴集团控股有限公司 | 数据管理和处理方法、装置、计算机系统及可读存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2313462A1 (en) * | 1997-12-17 | 1999-06-24 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
CN101159729A (zh) * | 2007-09-05 | 2008-04-09 | 杭州华三通信技术有限公司 | 一种快速处理报文的方法及装置 |
CN102104541A (zh) * | 2009-12-21 | 2011-06-22 | 索乐弗莱尔通讯公司 | 报头处理引擎 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5870394A (en) * | 1996-07-23 | 1999-02-09 | Northern Telecom Limited | Method and apparatus for reassembly of data packets into messages in an asynchronous transfer mode communications system |
US20060020971A1 (en) * | 2004-07-22 | 2006-01-26 | Thomas Poslinski | Multi channel program guide with integrated progress bars |
US7797460B2 (en) * | 2005-03-17 | 2010-09-14 | Microsoft Corporation | Enhanced network system through the combination of network objects |
US7764676B1 (en) * | 2006-07-31 | 2010-07-27 | Qlogic, Corporation | Method and system for processing network information |
KR100898345B1 (ko) * | 2006-12-04 | 2009-05-20 | 한국전자통신연구원 | Toe의 패킷 수신 하드웨어 장치 및 toe 패킷 수신하드웨어를 이용한 수신 시스템 및 수신 방법 |
US8526363B2 (en) * | 2010-01-13 | 2013-09-03 | Sony Corporation | Method and system for transferring data between wireless devices |
US9344377B2 (en) * | 2010-04-30 | 2016-05-17 | Broadcom Corporation | Packet processing architecture |
CN103973581B (zh) * | 2014-05-08 | 2017-04-12 | 华为技术有限公司 | 一种报文数据处理方法、装置及系统 |
-
2014
- 2014-05-08 CN CN201410193733.1A patent/CN103973581B/zh active Active
- 2014-10-14 EP EP14891136.5A patent/EP3110088B1/en active Active
- 2014-10-14 WO PCT/CN2014/088585 patent/WO2015169053A1/zh active Application Filing
-
2016
- 2016-11-07 US US15/344,972 patent/US10339091B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2313462A1 (en) * | 1997-12-17 | 1999-06-24 | Src Computers, Inc. | Multiprocessor computer architecture incorporating a plurality of memory algorithm processors in the memory subsystem |
CN101159729A (zh) * | 2007-09-05 | 2008-04-09 | 杭州华三通信技术有限公司 | 一种快速处理报文的方法及装置 |
CN102104541A (zh) * | 2009-12-21 | 2011-06-22 | 索乐弗莱尔通讯公司 | 报头处理引擎 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015169053A1 (zh) * | 2014-05-08 | 2015-11-12 | 华为技术有限公司 | 一种报文数据处理方法、装置及系统 |
US10339091B2 (en) | 2014-05-08 | 2019-07-02 | Huawei Technologies Co., Ltd. | Packet data processing method, apparatus, and system |
WO2023155526A1 (zh) * | 2022-02-17 | 2023-08-24 | 苏州浪潮智能科技有限公司 | 一种数据流处理方法、存储控制节点及非易失性可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US10339091B2 (en) | 2019-07-02 |
US20170052925A1 (en) | 2017-02-23 |
EP3110088B1 (en) | 2021-12-08 |
EP3110088A4 (en) | 2017-04-26 |
WO2015169053A1 (zh) | 2015-11-12 |
EP3110088A1 (en) | 2016-12-28 |
CN103973581B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112543925B (zh) | 用于使用专用低延迟链路的多个硬件加速器的统一地址空间 | |
CN106598632B (zh) | 一种光模块的固件升级方法及装置 | |
EP3570175B1 (en) | Method for implementing nvme over fabrics, terminal, server, and system | |
CN104899085B (zh) | 一种数据处理方法和装置 | |
CN105491123A (zh) | 容器间通信方法及装置 | |
CN102165739B (zh) | 使用散列对经由rdma写入的消息的可靠接收 | |
CN110297608B (zh) | 数据的处理方法、装置和存储介质 | |
CN110463138B (zh) | 网络结构信息生成方法 | |
US20220004873A1 (en) | Techniques to manage training or trained models for deep learning applications | |
US9934120B2 (en) | Method and apparatus for updating a system on chip (SOC) image from a host computer system without using DMA | |
CN103973581A (zh) | 一种报文数据处理方法、装置及系统 | |
CN117118828B (zh) | 一种协议转换器、电子设备及一种配置方法 | |
CN117312215B (zh) | 一种服务器系统、作业执行方法、装置及设备和介质 | |
KR102303424B1 (ko) | 랜덤 액세스 메모리를 포함하는 하나 이상의 처리 유닛을 위한 직접 메모리 액세스 제어 장치 | |
CN109120731B (zh) | 一种通用型通讯方法、系统及装置 | |
CN115002087B (zh) | 一种音视频数据传输方法、系统、装置及存储介质 | |
CN115022424B (zh) | 水电lcu控制器网卡虚拟控制方法、系统、设备及其介质 | |
CN114095303B (zh) | 通信设备、数据传输方法及电子设备 | |
CN110489151A (zh) | 一种终端升级方法及系统 | |
CN112422485A (zh) | 一种传输控制协议的通信方法及装置 | |
CN111444129B (zh) | Mdb数据传输的方法及终端设备 | |
CN105320625B (zh) | 一种硬件封包的基于PCIe的DMA传输方法 | |
CN111371799B (zh) | Mctp控制器收发数据的控制方法、装置及设备 | |
CN108965169B (zh) | 一种报文传输方法、网卡控制器、网卡及电子设备 | |
CN107454021B (zh) | 一种通信方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |