CN102055649B - 多核系统的报文处理方法、装置及系统 - Google Patents

多核系统的报文处理方法、装置及系统 Download PDF

Info

Publication number
CN102055649B
CN102055649B CN2009102088088A CN200910208808A CN102055649B CN 102055649 B CN102055649 B CN 102055649B CN 2009102088088 A CN2009102088088 A CN 2009102088088A CN 200910208808 A CN200910208808 A CN 200910208808A CN 102055649 B CN102055649 B CN 102055649B
Authority
CN
China
Prior art keywords
sequence number
unit
message
indexing head
order
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.)
Expired - Fee Related
Application number
CN2009102088088A
Other languages
English (en)
Other versions
CN102055649A (zh
Inventor
李珅
陆晓萍
Original Assignee
Huawei Symantec Technologies 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 Huawei Symantec Technologies Co Ltd filed Critical Huawei Symantec Technologies Co Ltd
Priority to CN2009102088088A priority Critical patent/CN102055649B/zh
Publication of CN102055649A publication Critical patent/CN102055649A/zh
Application granted granted Critical
Publication of CN102055649B publication Critical patent/CN102055649B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明实施例涉及一种多核系统的报文处理方法、装置和系统。该方法包括:为通过网络接口接收的报文标记连续的基本序列号,并将报文分配给核单元进行转发前处理;对报文进行识别;当识别到报文为特定报文时,将完成转发前处理的特定报文的状态信息按特定报文的特定序列号存入特定保序队列中的序列号单元;对特定保序队列执行刷队列操作,按照特定报文在特定保序队列中的顺序进行发送。本发明实施例采用设置独立于基本保序队列的特定保序队列的技术手段,避免了特定报文乱序现象的发生,改善了多核系统的报文处理性能。

Description

多核系统的报文处理方法、装置及系统
技术领域
本发明实施例涉及通信系统中的报文处理技术,尤其涉及一种多核系统的报文处理方法、装置及系统。
背景技术
多核系统是为提高数据处理速度而形成的产品。在多核系统中,每个核单元拥有各自的执行程序及系统运行资源,各核单元的系统运行彼此相互独立。为了能让多核并行工作来处理IP报文,多核系统中设置的网络接口在接收到IP报文后会进行轮询分发,公平的分发给每个核单元来处理报文。当每个核单元收到分发给自身的IP报文时即进入独立处理工作。对于一个中央处理单元(Central Processing Unit,简称CPU)来说,一个单核CPU一次只能处理一个IP报文,而对于多核CPU一次则能处理多个IP报文。
在多核系统运行时,不能保证一条数据流的报文在同一个核单元上处理。一条数据流的报文经过轮询分发,散落在各个核单元中进行处理,而每个核单元处理速度不会实时一致,对于报文的处理有快有慢。当各个核单元将报文处理完毕发送到网络接口时,并不能保证发送的顺序还是报文进入多核系统前的顺序,这样就产生了报文乱序的现象,也相应提出了基本保序功能。报文的基本保序功能是保证从同一个网络接口进来的报文,经过多核系统的处理后按照原先的顺序发送出去。
在多核系统中,基本保序功能由基本保序模块实现,其处理流程包括:网络接口为接收到的每一个报文都打上序列号,以标识报文进入多核系统的顺序;带有序列号的报文经过轮询分发机制分发给多核系统中的各个核单元进行处理;多核系统中的各个核单元共同维护一个基本保序队列,通过加解锁的方式来操作队列;各个核单元经基本转发前流程对报文处理后,根据业务决定报文的保序要求,即:需保序发送还是放弃保序,将报文入基本保序队列,即根据该报文的序列号在基本保序队列里对号入坐,随后调整索引尾(End Index);在刷队列时,从索引头(Start Index)开始,遇到需要保序的报文就发送,并调整索引头,遇到放弃保序的报文则跳过,遇到还没入队列的报文则需要等待,以此达到报文保序发送的功能。在索引头和索引尾之间都是已处理完或待入队列的报文。
但是,发明人在进行本发明的研究过程中,发现上述多核系统基于基本保序功能的报文处理方法存在如下问题:在报文中存在部分报文的处理时间较长,例如:IP数据安全(IP Security;以下简称:IPSec)报文为内嵌于基本转发流程中一种特殊协议处理的报文。IP数据安全定义了IP网络上数据安全的一整套体系结构,包括认证头(Authenticaton Header,简称AH)、封装安全有效负载(Encapsulating Security Payload,简称ESP)和密钥管理协议(Internet Key Exchange,简称IKE)等协议。该协议作为三层隧道协议,是由互联网工程任务组(The Internet Engineering Task Force;以下简称:IETF)制定的一系列协议,它为IP数据报提供了高质量的、可互操作的、基于密码学的安全性。特定的通信方之间在IP层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性和防重放。由于在处理IPSec报文时,IPSec隧道需要对IP报文进行加密和解密的处理,与一般的基本转发的普通报文相比,对IPSec报文的处理流程较复杂,处理时间较长。由于现有技术在刷队列时遇到尚未入基本保序队列的报文会等待,所以为了不影响整体的转发性能,核单元在识别到IPSec报文时就默认其放弃保序,并在基本保序队列对应的序列号单元中标记其放弃保序,在刷队列时,当遇到IPSec报文则识别到其状态为放弃保序,直接跳过,处理后续报文。因此现有技术中对IPSec报文是不进行保序的。
因此,现有多核系统中,IPSec报文经过设备处理后在网络接口会出现乱序现象,无法满足对实时报文顺序要求较高的应用,如语音业务,一旦IPSec报文出现乱序,则会有断音、杂音等现象。
发明内容
本发明实施例提供了一种多核系统的报文处理方法、装置和系统,以改善多核系统的报文处理性能,并减少报文乱序问题。
本发明实施例提供了一种多核系统的报文处理方法,包括:
为通过网络接口接收的报文标记连续的基本序列号,并将报文分配给核单元进行转发前处理;
对所述报文进行识别;
当识别到所述报文为特定报文时,将完成转发前处理的所述特定报文的状态信息按所述特定报文的特定序列号存入特定保序队列的序列号单元中;
对所述特定保序队列执行刷队列操作,按照特定报文在所述特定保序队列中的顺序进行发送。
本发明实施例还提供了一种多核系统的报文处理装置,包括:
转发前处理模块,用于对接收到的标记有连续基本序列号的报文进行转发前处理;
识别模块,用于对所述报文进行识别;
特定报文入队列模块,用于当识别模块识别到所述报文为特定报文时,将完成转发前处理的所述特定报文的状态信息按所述特定报文的特定序列号存入特定保序队列的序列号单元中;
特定报文刷队列模块,用于对所述特定保序队列执行刷队列操作,按照特定报文在所述特定保序队列中的顺序进行发送。
本发明实施例还提供了一种多核系统,包括网络接口和至少两个核单元,其中,所述核单元包括上述的多核系统的报文处理装置,所述网络接口包括分配模块,用于为接收到的报文标记连续的基本序列号,并将报文分配给所述核单元进行转发前处理。
由以上技术方案可知,本发明实施例采用设置独立于基本保序队列的特定保序队列来实现特定报文的保序功能的技术手段,在保证了非特定报文在基本保序队列中发送的转发前处理效率的前提下,通过特定保序队列实现了特定报文的保序功能,避免了特定报文乱序现象的发生,改善了多核系统的报文处理性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的多核系统的报文处理方法的流程图;
图2为本发明实施例二提供的多核系统的报文处理方法的流程图;
图3为基本保序队列和特定保序队列的局部结构示意图;
图4为本发明实施例三提供的多核系统的报文处理方法的流程图;
图5为本发明实施例四提供的多核系统的报文处理方法的流程图;
图6为本发明实施例五提供的多核系统的报文处理装置的结构示意图;
图7为本发明实施例六提供的多核系统的报文处理装置的结构示意图;
图8为本发明实施例七提供的多核系统的报文处理装置的结构示意图;
图9为本发明实施例八提供的多核系统的报文处理装置的结构示意图;
图10为本发明实施例九提供的多核系统的报文处理装置的结构示意图。
具体实施方式
下面通过具体实施例并结合附图对本发明做进一步的详细描述。
实施例一
图1为本发明实施例一提供的多核系统的报文处理方法的流程图。执行报文转发前处理是多核系统的基本功能之一,本实施例的技术方案可以由多核系统中的保序模块来执行,保序模块可以通过硬件和/或软件方式来实现,通常可以集成于各个核单元中。本实施例的方法具体包括如下步骤:
步骤100、保序模块为通过网络接口接收的报文标记连续的基本序列号,并将该报文分配给核单元进行转发前处理;
基本序列号是连续递增的序号,用于标识报文进入多核系统的顺序,一般可以设置为在一定范围内循环使用,例如循环使用20比特(bit)的序号,由于当前处理的报文的数量远小于20bit,所以可以看作当前的基本序列号是连续的,并且唯一标识报文。分配报文时,可以按照轮询等规则将报文分配给各个核单元。
步骤200、保序模块对报文进行识别;
步骤A10、当保序模块识别到报文为特定报文时,将完成转发前处理的特定报文的状态信息按该特定报文的特定序列号存入特定保序队列的序列号单元中。
其中,特定报文可以是任何需要进行特殊处理的报文,相比于非特定报文而言,特定报文的处理速度较慢。在不同情况下,特定报文可以有不同的定义,所以从接收到的报文中识别出特定报文也可以有多种形式。可以是根据报文中携带的参数进行识别;或者还可以是根据对报文进行的转发前处理次数进行识别;或者还可以根据对报文进行的特定转发前处理进行识别。例如,对于IPSec报文,一方面可以根据报文协议头中的参数识别到该报文为IPSec报文;或者也可以当监测到该报文进行第二次转发前处理时判断该报文为IPSec报文;再或者,当监测到对该报文进行IPSec转发流程处理时,即识别该报文为IPSec报文。
其中,该特定保序队列包括至少两个序列号单元,序列号单元用于存储与特定序列号对应的特定报文的状态信息,特定序列号是特定保序队列中各个序列号单元的队列元素,状态信息一般包括该报文是否为特定,是否已处理,以及保序要求(即需保序还是放弃保序),状态信息还可以包括该报文在内存中的地址指针、长度和发送端口等信息,以便刷队列时能够提取报文进行发送;
步骤A20、保序模块对特定保序队列执行刷队列操作,按照特定报文在特定保序队列中的顺序进行发送。
在本实施例的基础上,若在步骤200中在保序模块对报文进行识别,且识别到报文为非特定报文时,则可以执行如下步骤:
步骤B10、当保序模块识别到该报文为非特定报文时,将完成转发前处理的非特定报文的状态信息按该非特定报文的基本序列号存入基本保序队列的序列号单元中。
其中,基本保序队列包括连续的至少两个序列号单元,各序列号单元用于存储与基本序列号对应的报文的状态信息,只有标识有相同基本序列号的报文的状态信息才能存入对应的序列号单元中。由于特定报文和非特定报文均具备基本序列号,所以序列号单元中存储非特定报文的状态信息之外,还可以选择性地存储特定报文的状态信息。状态信息类似的包括是否为特定、是否已处理、保序要求,以及报文的地址指针、长度和发送端口等信息。
步骤B20、保序模块对基本保序队列执行刷队列操作,按照非特定报文在基本保序队列中的顺序进行发送。
为实现基本保序队列刷队列过程中无须等待特定报文的处理结果,可以在步骤200之后,进一步包括:
当保序模块识别到该报文为特定报文时,在基本保序队列中进行注册,即在特定报文的基本序列号所对应的序列号单元中记录状态信息为特定。
则在进行基本保序队列的刷队列操作时,若识别到该序列号单元对应的报文为特定报文,可以直接跳过,以提高对非特定报文发送的处理速率。
上述步骤A10、A20与步骤B10、B20的先后顺序并不限定,步骤A10和步骤B10可统称为入队列操作,步骤A20和步骤B20可统称为出队列操作。具体应用中,各核单元独立地对报文进行转发前处理,当对报文完成转发前处理后就进行入队列操作,而后即可以执行出队列操作。
在本发明实施例所描述的多核系统中,进行转发前处理的各个核单元共同维护基本保序队列和特定保序队列,任何一个核单元开始对基本保序队列或特定保序队列进行入队列操作时都需要先进行加锁,防止别的核单元同时操作,成功加锁后,其他核单元如也要操作该队列,则需要等待。当目前操作的核单元操作完毕进行解锁后,抢到锁资源的其他核单元才可以对该队列进行操作。在入队列操作之后,需要相应地调整索引尾的位置。定义基本保序队列具有第一索引头和第一索引尾,定义特定保序队列具有第二索引头和第二索引尾,在初始时,设定第一索引头和第二索引头分别为第一个序列号单元。多核系统中,每个核单元完成一个报文的转发前处理之后都可以进行刷队列操作。刷队列同样需要加解锁操作,即在一个核单元刷队列时进行加锁,避免其他核单元同时对队列的操作。与入队列操作不同的是,请求刷队列时,如果核单元抢不到锁资源,则可以退出进行后续操作,而不必等待锁资源,因为抢到锁资源的核单元已经能够将当前可发送的报文通过刷队列发送了。
由于相比于非特定报文而言,特定报文的处理速度较慢,若将特定报文放弃保序则可能导致乱序的缺陷,但若等待特定报文转发前处理完成之后再发送后续报文,又会影响非特定报文的转发效率。本实施例的技术方案通过增设特定保序队列来实现特定报文的保序发送,对特定报文和非特定报文进行独立的保序操作。这样既能够满足特定报文的保序要求,又可以不影响非特定报文的转发前处理效率,本实施例的技术方案尤其是解决了现有的IPSec报文转发前处理问题。
实施例二
图2为本发明实施例二提供的多核系统的报文处理方法的流程图,本实施例可以以实施例一为基础,具体包括如下步骤:
步骤100、保序模块为通过网络接口接收的报文标记连续的基本序列号,并将报文分配给核单元进行转发前处理;
具体的,多核系统中的核单元对分配给自身的报文进行转发前处理,例如转发前处理可以包括常规的基本转发流程等,核单元根据业务类型等参数可确定该报文的状态信息为需要保序或放弃保序。
步骤200、保序模块对报文进行识别,当识别出该报文为特定报文时,进入步骤C10,当识别出该报文为非特定报文时,进入步骤B10;
步骤C10、将特定报文在基本保序队列中进行注册,进入步骤A10;
步骤C10具体的可以在特定报文的基本序列号所对应的序列号单元中记录状态信息为特定,这种方式是将特定报文与基本保序队列进行关联的具体实施方式之一。例如:图3为基本保序队列和特定保序队列的局部结构示意图,第一行示出了第一索引头和第一索引尾之间的序列号单元,其中,“?”代表未处理的报文,“○”代表非特定、已处理且需保序的报文,“△”代表非特定、已处理且放弃保序的报文,“■”代表特定的报文。
步骤A10、当保序模块识别到报文为特定报文时,将完成转发前处理的特定报文的状态信息按该特定报文的特定序列号存入特定保序队列的序列号单元中,进入步骤A20;
步骤B10、当保序模块识别到该报文为非特定报文时,将完成转发前处理的非特定报文的状态信息按非特定报文的基本序列号存入基本保序队列的序列号单元中,进入步骤B20;
上述步骤A10和B10的顺序不作限制,是随着转发前处理是否完成的进度来进行的。
当各核单元完成入队列操作后,还需要进行刷队列操作,以便将完成转发前处理的报文按照顺序发送出去。具体的,基本保序队列和特定保序队列的刷队列操作可以独立地进行,其中,当某个核单元抢到执行基本保序队列的刷队列操作的锁资源之后,步骤B20具体包括如下步骤:
步骤B21、在基本保序列队中进行第一索引头识别,第一索引头识别包括对第一索引头所指向的当前序列号单元中的状态信息进行识别;
步骤B22、当识别到当前序列号单元中状态信息为非特定、已处理且需保序时,将当前基本序列号对应的非特定报文进行发送,并将第一索引头加一,而后返回步骤B21,执行第一索引头识别;或
步骤B23、当识别到当前序列号单元中状态信息为非特定、已处理且放弃保序时,跳过当前序列号单元,将第一索引头加一,而后返回步骤B21,执行第一索引头识别;或
步骤B24、当识别到当前序列号单元中状态信息为特定时,跳过当前序列号单元,将第一索引头加一,而后返回步骤B21,执行第一索引头识别;或
步骤B25、当识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
也就是说,正在执行刷队列操作的核单元遇到报文没有入队列的序列号单元时,则结束该核单元的本次刷队列操作,释放锁资源,多核系统等待下一次任意一个核单元继续执行刷队列操作。
上述步骤B25中,状态信息为未处理,则表示该序列号单元对应的报文还未完成转发前处理,尚未执行入队列操作,还不能确定其保序要求等信息,需要等待报文完成转发前处理后入队列,在执行下一次刷队列时再发送。
上述步骤实现了基本保序队列的刷队列操作,当识别到非特定、已处理且需保序的非特定报文时,在状态信息中查询该非特定报文在内存中的地址指针、长度以及发送端口等,而后提取该报文进行发送。上述刷队列操作无须对特定报文进行处理,直接跳过。当特定报文为处理速度较慢的IPSec报文时,不会影响非特定报文的转发前处理速率。
为保证特定保序队列刷队列操作的顺利执行,在上述步骤B24中,当识别到当前序列号单元中状态信息为特定时,还进一步执行下述操作:
步骤B26、从当前序列号单元开始,顺序地搜索出下一个状态信息为特定的序列号单元,并将搜索到的序列号单元的基本序列号存入特定保序队列中与当前序列号对应的序列号单元相邻的下一个序列号单元中,作为序列号索引。
具体的,所谓序列号索引,也可以是状态信息的一种,用于指示下一个存储有特定报文的序列号单元。
在上述技术方案的基础上,对特定保序队列执行刷队列操作,按照特定报文在特定保序队列中的顺序进行发送包括如下步骤。图3还示出了特定保序队列的局部结构,第二行示出了第二索引头和第二索引尾之间的序列号单元,其中,“●”代表特定、已处理且需保序的报文,“▲”代表特定、已处理且放弃保序的报文,“?”代表未处理的报文,“□”代表非特定的报文。
当某个核单元抢到执行特定保序队列的刷队列操作的锁资源之后,步骤A20具体包括如下步骤:
步骤A21、在特定保序列队中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
步骤A22、当识别到当前序列号单元中状态信息为特定、已处理且需保序时,将当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后返回步骤A21,执行第二索引头识别;或
步骤A23、当识别到当前序列号单元中状态信息为特定、已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后返回步骤A21,执行第二索引头识别;或
步骤A24、当识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。也就是说正在执行刷队列操作的核单元遇到报文没有入队列的序列号单元时,则该核单元结束本次刷队列操作,释放锁资源,多核系统等待下一次任意一个核单元继续执行刷队列操作。或
步骤A25a、当识别到当前序列号单元中状态信息为序列号索引时,将第二索引头更新至序列号索引指向的序列号单元,而后返回步骤A21,执行第二索引头识别。
夹在两个特定报文中间的非特定报文可称为特定报文空隙,例如夹在两个IPSec报文中间的普通报文就可称为IPSec空隙。采用本实施例的技术方案,将下一个特定报文的基本序列号记录到特定保序队列中当前特定报文下一个序列号单元中,使得识别下一个序列号单元中状态信息时,不仅可以获知此序列号单元对应的报文为非特定报文,而且可以直接索引至下一个特定报文的位置,使得在进行特定保序队列刷队列操作时,可以快速地将非特定报文忽略,并快速地索引下一个需要发送的特定报文。当然,若下一个特定报文此时还没有注册到基本保序队列之中,则按照未处理的情况进行处理。
本实施例的技术方案,可以使特定保序队列利用基本序列号兼作特定序列号。非特定报文无论其保序要求为需保序还是放弃保序,都要进行入基本保序队列的操作,特定报文无论其保序要求为需保序还是放弃保序,都要进行入特定保序队列的操作。并且,识别出为特定报文之后,预先在基本保序队列中进行注册,则在基本保序队列进行刷队列操作时,无需等待特定报文完成转发前处理并入队列后就可以获知该序列号单元对应的是特定报文,从而直接跳过,该技术方案可以显著提高对非特定报文的发送速度。
实施例三
图4为本发明实施例三提供的多核系统的报文处理方法的流程图,本实施例可以以实施例一为基础,具体包括如下步骤:
步骤100、保序模块为通过网络接口接收的报文标记连续的基本序列号,并将报文分配给核单元进行转发前处理;
步骤200、保序模块对报文进行识别,当识别出该报文为特定报文时,进入步骤C10,当识别出该报文为非特定报文时,进入步骤C20;
步骤C10、将特定报文在基本保序队列中进行注册,在特定报文的基本序列号所对应的序列号单元中记录状态信息为特定,进入步骤A10;
步骤C20、当保序模块识别到该报文为非特定报文时,在特定保序队列中与非特定报文的基本序列号所对应的序列号单元中记录状态信息为非特定,进入步骤B10。
步骤A10、将完成转发前处理的特定报文的状态信息按该特定报文的特定序列号存入特定保序队列的序列号单元中;
步骤B10、将完成转发前处理的非特定报文的状态信息按非特定报文的基本序列号存入基本保序队列的序列号单元中;
基本保序队列和特定保序队列的刷队列操作可以独立进行,其中,当某个核单元抢到执行基本保序队列的刷队列操作的锁资源之后,基本保序队列的刷队列操作包括上述的步骤B21~步骤B25。
上述步骤实现了基本保序队列的刷队列操作,无须对特定报文进行处理,直接跳过。当特定报文为处理速度较慢的IPSec报文时,不会影响非特定报文的转发前处理速率。
在上述技术方案的基础上,当某个核单元抢到执行特定保序队列的刷队列操作的锁资源之后,对特定保序队列执行刷队列操作,按照特定报文在特定保序队列中的顺序进行发送包括上述类似的步骤A21~步骤A24,且上述的步骤A25a替换为执行A25b:
步骤A25b、当识别到当前序列号单元中状态信息为非特定时,跳过当前序列号单元,将第二索引头加一,而后返回步骤A21,执行第二索引头识别。
本实施例的技术方案,一方面将识别到的特定报文在基本保序队列中进行注册,另一方面将识别到的非特定报文在特定保序队列中进行注册,则基本保序队列的刷队列操作不必等待特定报文是否完成转发前处理,而可以直接跳过,类似的,特定保序队列的刷队列操作必等待非特定报文是否完成转发前处理,可以直接跳过。对于特定报文与非特定报文的处理速度相近,基于其他原因独立对特定报文进行保序的情况尤为适用。
实施例四
图5为本发明实施例四提供的多核系统的报文处理方法的流程图,本实施例与实施例二所采用的特定序列号分配方式不同。本实施例的方法具体包括如下步骤:
步骤100、保序模块为通过网络接口接收的报文标记连续的基本序列号,并将报文分配给核单元进行转发前处理;
步骤200、保序模块对报文进行识别,当识别出该报文为特定报文时,进入步骤C10,当识别出该报文为非特定报文时,进入步骤B10;
步骤C10、将特定报文在基本保序队列中进行注册,在特定报文的基本序列号所对应的序列号单元中记录状态信息为特定,进入步骤A10;
在将报文关联至保序队列的同时,多核系统中的核单元对分配给自身的报文进行转发前处理。
步骤A10、将完成转发前处理的特定报文的状态信息按该特定报文的特定序列号存入特定保序队列的序列号单元中,进入步骤A20;
步骤B10、当保序模块识别到该报文为非特定报文时,将完成转发前处理的非特定报文的状态信息按非特定报文的基本序列号存入基本保序队列的序列号单元中,进入步骤B20;
而后可以独立地进行刷队列操作。
对基本保序队列进行刷队列操作的流程具体包括上述的步骤B21、步骤B22、步骤B23和步骤B25,且步骤B24替换为执行步骤B24c:
步骤B24c、当识别到当前序列号单元中状态信息为特定时,跳过当前序列号单元,将第一索引头加一,同时为当前基本序列号对应的特定报文分配连续的特定序列号,以在特定保序队列中增加与分配的特定序列号对应的序列号单元。
由于特定报文的特定序列号在整个多核系统中应是唯一的,所以在基本保序队列中为特定报文分配特定序列号时需要进行加解锁处理。
本实施例的技术方案不用预先识别报文是否为特定报文,而是在报文经过转发前处理之后入基本保序队列时,保序模块可以识别到已处理的报文为特定报文,则为特定报文分配独立于基本序列号的特定序列号;
基于上述技术方案,对特定保序队列进行刷队列操作的流程包括如下步骤:
步骤A21、在特定保序队列中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
步骤A22c、当识别到当前序列号单元中状态信息为已处理且需保序时,将所述当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后返回步骤A21,执行第二索引头识别;或
步骤A23c、当识别到当前序列号单元中状态信息为已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后返回步骤A21,执行第二索引头识别;或
步骤A24c、当识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
本实施例的技术方案,在进行基本保序队列的刷队列操作时为已注册的、且已处理的特定报文按顺序分配特定序列号。由于特定报文的状态信息是按照特定序列号连续存储的,所以在特定保序队列中只需识别特定报文是否已处理,或是否需要保序,而无须识别是否为特定报文,因此实现方案更为简单。
本发明各实施例所提供的多核系统的报文处理方法,实现了特定报文和非特定报文的保序功能,既能够保证非特定报文的转发前处理效率,又能够实现特定报文高可靠性隧道报文传输,保障按序发送报文要求较高的应用。
本发明的技术方案尤其适用于IPSec报文的保序处理。
实施例五
图6为本发明实施例五提供的多核系统的报文处理装置的结构示意图。该装置可以包括转发前处理模块10、识别模块20、特定报文入队列模块30和特定报文刷队列模块40。其中:
转发前处理模块10用于对接收到的标记有连续基本序列号的报文进行转发前处理;
识别模块20,用于对报文进行识别;
特定报文入队列模块30,用于当识别模块20识别到报文为特定报文时,将完成转发前处理的特定报文的状态信息按特定报文的特定序列号存入特定保序队列的序列号单元中,特定保序队列包括至少两个序列号单元,各序列号单元用于存储与特定序列号对应的特定报文的状态信息;
特定报文刷队列模块40,用于对特定保序队列执行刷队列操作,按照特定报文在特定保序队列中的顺序进行发送。
本实施例采用了增设特定保序队列的技术方案,能够在按照基本序列号实现基本保序功能的基础上,对特定报文实现独立的保序功能。
在上述技术方案的基础上,该报文处理装置还可以包括:非特定报文入队列模块50和非特定报文刷队列模块60。其中:
非特定报文入队列模块50,用于当识别模块20识别到报文为非特定报文时,将完成转发前处理的非特定报文的状态信息按非特定报文的基本序列号存入基本保序队列的序列号单元中,基本保序队列包括连续的至少两个序列号单元,各序列号单元用于存储与基本序列号对应的报文的状态信息;
非特定报文刷队列模块60,用于对基本保序队列执行刷队列操作,按照非特定报文在基本保序队列中的顺序进行发送。
该装置还可以进一步包括特定报文注册模块70。
特定报文注册模块70,用于当识别模块20识别到报文为特定报文时,在基本保序队列中,在特定报文的基本序列号所对应的序列号单元中记录状态信息为特定。
本实施例多核系统的报文处理装置可以执行本发明多核系统的报文处理方法,具有相应的功能模块,能够以特定保序队列实现特定报文的保序,避免出现乱序问题,同时在基本保序队列中仅实现非特定报文的保序发送,无须等待特定报文的处理,而可以直接跳过,保证了非特定报文的转发前处理效率。本实施例多核系统的报文处理装置可以是多核系统中的多个功能模块,也可以集成在核单元中。
实施例六
图7为本发明实施例六提供的多核系统的报文处理装置的结构示意图。本实施例可以实施例五为基础,非特定报文刷队列模块60具体可以包括:第一索引头识别单元601、第一发送单元602、第一非特定报文跳过单元603、第一特定报文跳过单元604和第一未处理单元605。其中:
第一索引头识别单元601,用于在基本保序列队中进行第一索引头识别,第一索引头识别包括对第一索引头所指向的当前序列号单元中的状态信息进行识别;
第一发送单元602,用于当第一索引头识别单元601识别到当前序列号单元中状态信息为非特定、已处理且需保序时,将当前基本序列号对应的非特定报文进行发送,并将第一索引头加一,而后触发第一索引头识别单元601;
第一非特定报文跳过单元603,用于当第一索引头识别单元601识别到当前序列号单元中状态信息为非特定、已处理且放弃保序时,跳过当前序列号单元,将第一索引头加一,而后触发第一索引头识别单元601;
第一特定报文跳过单元604,用于当第一索引头识别单元601识别到当前序列号单元中状态信息为特定时,跳过当前序列号单元,将第一索引头加一,而后触发第一索引头识别单元601;
第一未处理单元605,用于当第一索引头识别单元601识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
本实施例多核系统的报文处理装置可以执行本发明多核系统的报文处理方法,具有相应的功能模块,能够以特定保序队列实现特定报文的保序,避免出现乱序问题,同时在基本保序队列中仅实现非特定报文的保序发送,无须等待特定报文的处理,而可以直接跳过,保证了非特定报文的转发前处理效率。
实施例七
图8为本发明实施例七提供的多核系统的报文处理装置的结构示意图。本实施例可以上述实施例六为基础,其中,非特定报文刷队列模块60还包括:
第一索引设定单元606,用于当第一索引头识别单元601识别到当前序列号单元中状态信息为特定时,从当前序列号单元开始,顺序搜索下一个状态信息为特定的序列号单元,并将搜索到的序列号单元的基本序列号存入特定保序队列中与当前序列号对应的序列号单元相邻的下一个序列号单元中,作为序列号索引。
本实施例中具体采用基本序列号作为特定序列号,且特定报文刷队列模块40具体包括:第二索引头识别单元401、第二发送单元402、第二特定报文跳过单元403、第二未处理单元404和第二索引更新单元405。其中:
第二索引头识别单元401,用于在特定保序列队中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
第二发送单元402,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为特定、已处理且需保序时,将当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后触发第二索引头识别单元401;
第二特定报文跳过单元403,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为特定、已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后触发第二索引头识别单元401;
第二未处理单元404,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作;
第二索引更新单元405,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为序列号索引时,将第二索引头更新至序列号索引指向的序列号单元,而后触发第二索引头识别单元401。
本实施例多核系统的报文处理装置可以执行本发明多核系统的报文处理方法,具有相应的功能模块,不仅可以获知此序列号单元对应的报文为非特定报文,而且可以直接索引至下一个特定报文的位置,使得在进行特定保序队列刷队列操作时,可以快速地将非特定报文忽略,并快速地索引下一个需要发送的特定报文。
实施例八
图9为本发明实施例八提供的多核系统的报文处理装置的结构示意图。本实施例可以上述实施例六为基础,该装置还包括非特定报文注册模块80。其中,非特定报文注册模块80用于当识别到报文为非特定报文时,在特定保序队列中与非特定报文的基本序列号所对应的序列号单元中记录状态信息为非特定。
本实施例中具体采用基本序列号作为特定序列号,且特定报文刷队列模块40具体包括:第二索引头识别单元401、第二发送单元402、第二特定报文跳过单元403、第二未处理单元404和第二非特定报文跳过单元406。其中:
第二索引头识别单元401,用于在特定保序列队中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
第二发送单元402,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为特定、已处理且需保序时,将当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后触发第二索引头识别单元401;
第二特定报文跳过单元403,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为特定、已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后触发第二索引头识别单元401;
第二未处理单元404,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作;
第二非特定报文跳过单元406,用于当第二索引头识别单元401识别到当前序列号单元中状态信息为非特定时,跳过当前序列号单元,将第二索引头加一,而后触发第二索引头识别单元401。
本实施例多核系统的报文处理装置可以执行本发明多核系统的报文处理方法,具有相应的功能模块,一方面将识别到的特定报文在基本保序队列中进行注册,另一方面将识别到的非特定报文在特定保序队列中进行注册,则基本保序队列的刷队列操作不必等待特定报文是否完成转发前处理,而可以直接跳过,类似的,特定保序队列的刷队列操作必等待非特定报文是否完成转发前处理,可以直接跳过。对于特定报文与非特定报文的处理速度相近,基于其他原因独立对特定报文进行保序的情况尤为适用。
实施例九
图10为本发明实施例九提供的多核系统的报文处理装置的结构示意图。本实施例可以实施例五为基础,非特定报文刷队列模块60中的第一特定报文跳过单元604还用于为当前基本序列号对应的特定报文分配连续的特定序列号,以在特定保序队列中增加与分配的特定序列号对应的序列号单元。
相应的,该特定报文刷队列模块40具体包括:第四索引头识别单元411、第四发送单元412、第四特定报文跳过单元413和第四未处理单元414。其中:
第四索引头识别单元411,用于在特定保序队列中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
第四发送单元412,用于当第四索引头识别单元411识别到当前序列号单元中状态信息为已处理且需保序时,将当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后触发第四索引头识别单元411;
第四特定报文跳过单元413,用于当第四索引头识别单元411识别到当前序列号单元中状态信息为已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后触发第四索引头识别单元411;
第四未处理单元414,用于当第四索引头识别单元411识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
本实施例多核系统的报文处理装置可以执行本发明多核系统的报文处理方法,具有相应的功能模块,而且由于特定报文的状态信息是按照特定序列号连续存储的,所以在特定保序队列中只需识别特定报文是否已处理,或是否需要保序,而无须识别是否为特定报文,实现方案简单。
实施例十
本发明实施例十还提供一种多核系统。该多核系统包括网络接口和至少两个核单元,网络接口用于接收报文,还可以包括一分配模块,分配模块用于为接收到的报文标记连续的基本序列号,并将报文分配给所述核单元进行转发前处理。核单元可以包括本发明实施例所提供的任意一种多核系统的报文处理装置。
本实施例可采用本发明提供的多核系统的报文处理装置,处理装置的各功能模块可以是多核系统中的独立模块或集成在各个核单元中的模块,以软件和/或硬件的形式实现。本实施例多核系统可以执行本发明多核系统的报文处理方法,具有相应的功能模块,采用设置独立于基本保序队列的特定保序队列来实现特定报文的保序功能的技术手段,保证了非特定报文在基本保序队列中发送的转发前处理效率,且通过特定保序队列实现了特定报文的保序功能,避免了特定报文乱序现象的发生,改善了多核系统的报文处理性能。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (16)

1.一种多核系统的报文处理方法,其特征在于,包括:
为通过网络接口接收的报文标记连续的基本序列号,并将报文分配给核单元进行转发前处理;
对所述报文进行识别;
当识别到所述报文为特定报文时,将完成转发前处理的所述特定报文的状态信息按所述特定报文的特定序列号存入特定保序队列的序列号单元中;
对所述特定保序队列执行刷队列操作,按照特定报文在所述特定保序队列中的顺序进行发送。
2.根据权利要求1所述的多核系统的报文处理方法,其特征在于,对所述报文进行识别包括:
根据所述报文中携带的参数对所述报文进行识别;或
根据对所述报文进行的转发前处理次数对所述报文进行识别;或
根据对所述报文进行的特定转发前处理对所述报文进行识别。
3.根据权利要求1所述的多核系统的报文处理方法,其特征在于,还包括:
当识别到所述报文为非特定报文时,将完成转发前处理的所述非特定报文的状态信息按所述非特定报文的基本序列号存入基本保序队列的序列号单元中;
对所述基本保序队列执行刷队列操作,按照非特定报文在所述基本保序队列中的顺序进行发送。
4.根据权利要求3所述的多核系统的报文处理方法,其特征在于,在对所述报文进行识别之后,还包括:
当识别到所述报文为特定报文时,在所述基本保序队列中,在所述特定报文的基本序列号所对应的序列号单元中记录状态信息为特定。
5.根据权利要求4所述的多核系统的报文处理方法,其特征在于,对所 述基本保序队列执行刷队列操作,按照所述非特定报文在所述基本保序队列中的顺序进行发送包括:
在所述基本保序队列中进行第一索引头识别,所述第一索引头识别包括对第一索引头所指向的当前序列号单元中的状态信息进行识别;
当识别到当前序列号单元中状态信息为非特定、已处理且需保序时,将当前基本序列号对应的非特定报文进行发送,并将第一索引头加一,而后返回执行第一索引头识别;或
当识别到当前序列号单元中状态信息为非特定、已处理且放弃保序时,跳过当前序列号单元,将第一索引头加一,而后返回执行第一索引头识别;或
当识别到当前序列号单元中状态信息为特定时,跳过当前序列号单元,将第一索引头加一,而后返回执行第一索引头识别;或
当识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
6.根据权利要求5所述的多核系统的报文处理方法,其特征在于:
当所述特定序列号与所述基本序列号相同时,则对所述基本保序队列执行刷队列操作还包括:
当识别到当前序列号单元中状态信息为特定时,从当前序列号单元开始,顺序搜索下一个状态信息为特定的序列号单元,并将搜索到的序列号单元的基本序列号存入特定保序队列中与当前序列号对应的序列号单元相邻的下一个序列号单元中,作为序列号索引;
对所述特定保序队列执行刷队列操作,按照特定报文在所述特定保序队列中的顺序进行发送包括:
在所述特定保序队列中进行第二索引头识别,所述第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
当识别到当前序列号单元中状态信息为特定、已处理且需保序时,将所述当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后返回 执行第二索引头识别;或
当识别到当前序列号单元中状态信息为特定、已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后返回执行第二索引头识别;或
当识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作;或
当识别到当前序列号单元中状态信息为序列号索引时,将第二索引头更新至所述序列号索引指向的序列号单元,而后返回执行第二索引头识别。
7.根据权利要求5所述的多核系统的报文处理方法,其特征在于:
当所述特定序列号与所述基本序列号相同时,还包括:
当识别到所述报文为非特定报文时,在所述特定保序队列中与所述非特定报文的基本序列号所对应的序列号单元中记录状态信息为非特定;
对所述特定保序队列执行刷队列操作,按照特定报文在所述特定保序队列中的顺序进行发送包括:
在所述特定保序队列中进行第二索引头识别,所述第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
当识别到当前序列号单元中状态信息为特定、已处理且需保序时,将所述当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后返回执行第二索引头识别;或
当识别到当前序列号单元中状态信息为特定、已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后返回执行第二索引头识别;或
当识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作;或
当识别到当前序列号单元中状态信息为非特定时,跳过当前序列号单元,将第二索引头加一,而后返回执行第二索引头识别。
8.根据权利要求5所述的多核系统的报文处理方法,其特征在于:
所述当识别到当前序列号单元中状态信息为特定时,跳过当前序列号单 元,将第一索引头加一,而后返回执行第一索引头识别还包括:为当前序列号对应的特定报文分配连续的特定序列号,以在所述特定保序队列中增加与分配的特定序列号对应的序列号单元;
对所述特定保序队列执行刷队列操作,按照特定报文在所述特定保序队列中的顺序进行发送包括:
在所述特定保序队列中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
当识别到当前序列号单元中状态信息为已处理且需保序时,将所述当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后返回执行第二索引头识别;或
当识别到当前序列号单元中状态信息为已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后返回执行第二索引头识别;或
当识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
9.一种多核系统的报文处理装置,其特征在于,包括:
转发前处理模块,用于对接收到的标记有连续基本序列号的报文进行转发前处理;
识别模块,用于对所述报文进行识别;
特定报文入队列模块,用于当识别模块识别到所述报文为特定报文时,将完成转发前处理的所述特定报文的状态信息按所述特定报文的特定序列号存入特定保序队列的序列号单元中;
特定报文刷队列模块,用于对所述特定保序队列执行刷队列操作,按照特定报文在所述特定保序队列中的顺序进行发送。
10.根据权利要求9所述的多核系统的报文处理装置,其特征在于,还包括:
非特定报文入队列模块,用于当识别模块识别到所述报文为非特定报文时,将完成转发前处理的所述非特定报文的状态信息按所述非特定报文的基 本序列号存入基本保序队列的序列号单元中;
非特定报文刷队列模块,用于对所述基本保序队列执行刷队列操作,按照非特定报文在所述基本保序队列中的顺序进行发送。
11.根据权利要求10所述的多核系统的报文处理装置,其特征在于,还包括:
特定报文注册模块,用于当识别模块识别到所述报文为特定报文时,在所述基本保序队列中,在所述特定报文的基本序列号所对应的序列号单元中记录状态信息为特定。
12.根据权利要求11所述的多核系统的报文处理装置,其特征在于,所述非特定报文刷队列模块包括:
第一索引头识别单元,用于在所述基本保序队列中进行第一索引头识别,所述第一索引头识别包括对第一索引头所指向的当前序列号单元中的状态信息进行识别;
第一发送单元,用于当第一索引头识别单元识别到当前序列号单元中状态信息为非特定、已处理且需保序时,将当前基本序列号对应的非特定报文进行发送,并将第一索引头加一,而后触发所述第一索引头识别单元;
第一非特定报文跳过单元,用于当第一索引头识别单元识别到当前序列号单元中状态信息为非特定、已处理且放弃保序时,跳过当前序列号单元,将第一索引头加一,而后触发所述第一索引头识别单元;
第一特定报文跳过单元,用于当第一索引头识别单元识别到当前序列号单元中状态信息为特定时,跳过当前序列号单元,将第一索引头加一,而后触发所述第一索引头识别单元;
第一未处理单元,用于当第一索引头识别单元识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
13.根据权利要求12所述的多核系统的报文处理装置,其特征在于:
所述非特定报文刷队列模块还包括第一索引设定单元,用于当第一索引 头识别单元识别到当前基本序列号单元中状态信息为特定时,从当前序列号单元开始,顺序搜索下一个状态信息为特定的序列号单元,并将搜索到的序列号单元的基本序列号存入特定保序队列中与当前序列号对应的序列号单元相邻的下一个序列号单元中,作为序列号索引;
采用基本序列号作为所述特定序列号,且所述特定报文刷队列模块包括:
第二索引头识别单元,用于在所述特定保序队列中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
第二发送单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为特定、已处理且需保序时,将所述当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后触发所述第二索引头识别单元;
第二特定报文跳过单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为特定、已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后触发所述第二索引头识别单元;
第二未处理单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作;
第二索引更新单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为序列号索引时,将第二索引头更新至所述序列号索引指向的序列号单元,而后触发所述第二索引头识别单元。
14.根据权利要求12所述的多核系统的报文处理装置,其特征在于:
还包括非特定报文注册模块,用于当识别到所述报文为非特定报文时,在所述特定保序队列中与所述非特定报文的基本序列号所对应的序列号单元中记录状态信息为非特定;
采用基本序列号作为所述特定序列号,且所述特定报文刷队列模块包括:
第二索引头识别单元,用于在所述特定保序队列中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进 行识别;
第二发送单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为特定、已处理且需保序时,将所述当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后触发所述第二索引头识别单元;
第二特定报文跳过单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为特定、已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后触发所述第二索引头识别单元;
第二未处理单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作;
第二非特定报文跳过单元,用于当第二索引头识别单元识别到当前序列号单元中状态信息为非特定时,跳过当前序列号单元,将第二索引头加一,而后触发所述第二索引头识别单元。
15.根据权利要求12所述的多核系统的报文处理装置,其特征在于:
所述第一特定报文跳过单元还用于为当前基本序列号对应的特定报文分配连续的特定序列号,以在所述特定保序队列中增加与分配的特定序列号对应的序列号单元,
所述特定报文刷队列模块包括:
第四索引头识别单元,用于在所述特定保序队列中进行第二索引头识别,第二索引头识别包括对第二索引头所指向的当前序列号单元中的状态信息进行识别;
第四发送单元,用于当第四索引头识别单元识别到当前序列号单元中状态信息为已处理且需保序时,将所述当前序列号单元对应的特定报文进行发送,并将第二索引头加一,而后触发所述第四索引头识别单元;
第四特定报文跳过单元,用于当第四索引头识别单元识别到当前序列号单元中状态信息为已处理且放弃保序时,跳过当前序列号单元,将第二索引头加一,而后触发所述第四索引头识别单元; 
第四未处理单元,用于当第四索引头识别单元识别到当前序列号单元中状态信息为未处理时,结束本次刷队列操作。
16.一种多核系统,包括网络接口和至少两个核单元,其特征在于:所述核单元包括权利要求9~15任一所述的多核系统的报文处理装置,所述网络接口包括分配模块,用于为接收到的报文标记连续的基本序列号,并将报文分配给所述核单元进行转发前处理。 
CN2009102088088A 2009-10-29 2009-10-29 多核系统的报文处理方法、装置及系统 Expired - Fee Related CN102055649B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102088088A CN102055649B (zh) 2009-10-29 2009-10-29 多核系统的报文处理方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102088088A CN102055649B (zh) 2009-10-29 2009-10-29 多核系统的报文处理方法、装置及系统

Publications (2)

Publication Number Publication Date
CN102055649A CN102055649A (zh) 2011-05-11
CN102055649B true CN102055649B (zh) 2012-11-21

Family

ID=43959600

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102088088A Expired - Fee Related CN102055649B (zh) 2009-10-29 2009-10-29 多核系统的报文处理方法、装置及系统

Country Status (1)

Country Link
CN (1) CN102055649B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095511A (zh) * 2011-10-28 2013-05-08 华为技术有限公司 一种在IPsec机制下的网络测试方法,装置及系统
CN102546424B (zh) * 2012-01-20 2015-03-18 华为技术有限公司 报文保序方法及装置
CN102801635B (zh) * 2012-08-30 2015-06-10 北京傲天动联技术股份有限公司 在多核处理器系统中使用的报文保序方法
CN109327405B (zh) * 2017-07-31 2022-08-12 迈普通信技术股份有限公司 报文保序方法及网络设备
CN108093061A (zh) * 2017-12-26 2018-05-29 北京天融信网络安全技术有限公司 业务板间信息的同步方法、装置、存储介质及计算机设备
CN109714273A (zh) * 2018-12-25 2019-05-03 武汉思普崚技术有限公司 一种多核网络设备的报文处理方法及装置
CN110149281B (zh) * 2019-05-27 2022-11-11 东软集团股份有限公司 一种报文转发方法、装置及存储介质
CN110830386B (zh) * 2019-11-14 2023-06-30 武汉船舶通信研究所(中国船舶重工集团公司第七二二研究所) 报文保序的方法、装置和系统
CN111083075B (zh) * 2019-12-20 2022-01-11 苏州盛科通信股份有限公司 多核SoC处理报文的方法及应用其的SoC
CN113055403B (zh) * 2021-04-02 2022-06-17 电信科学技术第五研究所有限公司 一种线速保序方法
CN113630376B (zh) * 2021-06-16 2023-04-07 新华三信息安全技术有限公司 一种网络安全设备及其处理报文的方法
CN114338559B (zh) * 2021-12-15 2024-03-22 杭州迪普信息技术有限公司 一种报文保序的方法及装置
CN114448573B (zh) * 2022-03-02 2024-02-23 新华三半导体技术有限公司 一种报文处理方法及装置
CN115292023B (zh) * 2022-10-08 2023-01-17 北京中科网威信息技术有限公司 定时任务处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093373A2 (en) * 2003-04-12 2004-10-28 Cavium Networks Ipsec performance optimization
CN101013383A (zh) * 2007-02-13 2007-08-08 杭州华为三康技术有限公司 实现多核cpu进行报文联合处理的系统及方法
CN101175033A (zh) * 2007-11-27 2008-05-07 中兴通讯股份有限公司 报文保序方法及其装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2004093373A2 (en) * 2003-04-12 2004-10-28 Cavium Networks Ipsec performance optimization
CN101013383A (zh) * 2007-02-13 2007-08-08 杭州华为三康技术有限公司 实现多核cpu进行报文联合处理的系统及方法
CN101175033A (zh) * 2007-11-27 2008-05-07 中兴通讯股份有限公司 报文保序方法及其装置

Also Published As

Publication number Publication date
CN102055649A (zh) 2011-05-11

Similar Documents

Publication Publication Date Title
CN102055649B (zh) 多核系统的报文处理方法、装置及系统
US7808999B2 (en) Method and apparatus for out-of-order processing of packets using linked lists
US7844681B2 (en) Network file sharing method and system
CN101795236B (zh) 报文保序方法及装置
CN102143088B (zh) 一种基于ssl vpn的数据转发方法和设备
CN101309195A (zh) 一种在安全套接层虚拟专网保证服务质量的方法及装置
CN101650646A (zh) 一种共享数据一致性的实现方法及装置
WO2006138178A3 (en) Secure storage management system and method
CN110704214B (zh) 进程间通信方法和装置
CN106095597B (zh) 客户端数据处理方法及装置
US7111289B2 (en) Method for implementing dual link list structure to enable fast link-list pointer updates
CN1279790A (zh) 快速16位分离事务i/o总线
CN112597526B (zh) 一种用于联盟链的安全数据存取方法
CN101151867B (zh) 对乱序递送数据的保护
CN102970142A (zh) 一种vpn设备在多加密卡环境下并发加解密的方法及系统
US7984495B1 (en) Method and an apparatus to identify security association of virtual private network tunnels
CN103051636A (zh) 一种数据报文的传输方法和设备
KR102115758B1 (ko) 데이터 흐름 기반 서비스를 처리하기 위한 방법 및 컴퓨터 판독가능 매체에 저장된 컴퓨터 프로그램
CN104391751B (zh) 一种算法数据处理的同步方法及装置
CN107589999B (zh) 一种天地一体化工程中进程通信安全通道建立方法
CN102404156A (zh) 一种基于聚合链路的数据传输方法和设备
CN110445580A (zh) 数据发送方法及装置、存储介质、电子装置
US8719902B2 (en) Secure communication device, secure communication method, and program
CN103532965A (zh) 一种报文回调方法及装置
CN1547825A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: HUAWEI DIGITAL TECHNOLOGY (CHENGDU) CO., LTD.

Free format text: FORMER NAME: CHENGDU HUAWEI SYMANTEC TECHNOLOGIES CO., LTD.

CP01 Change in the name or title of a patent holder

Address after: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee after: Huawei Symantec Technologies Co., Ltd.

Address before: 611731 Chengdu high tech Zone, Sichuan, West Park, Qingshui River

Patentee before: Chengdu Huawei Symantec Technologies Co., Ltd.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121121

Termination date: 20191029