CN103532965A - 一种报文回调方法及装置 - Google Patents

一种报文回调方法及装置 Download PDF

Info

Publication number
CN103532965A
CN103532965A CN201310500918.8A CN201310500918A CN103532965A CN 103532965 A CN103532965 A CN 103532965A CN 201310500918 A CN201310500918 A CN 201310500918A CN 103532965 A CN103532965 A CN 103532965A
Authority
CN
China
Prior art keywords
message
buffer unit
ring
sequence
header information
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
Application number
CN201310500918.8A
Other languages
English (en)
Other versions
CN103532965B (zh
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.)
Maipu Communication Technology Co Ltd
Original Assignee
Maipu Communication Technology 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 Maipu Communication Technology Co Ltd filed Critical Maipu Communication Technology Co Ltd
Priority to CN201310500918.8A priority Critical patent/CN103532965B/zh
Publication of CN103532965A publication Critical patent/CN103532965A/zh
Application granted granted Critical
Publication of CN103532965B publication Critical patent/CN103532965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Communication Control (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种报文回调方法及装置,涉及报文通信领域,能够实现正确地回调已处理报文。本发明的方法主要包括:接收报文处理装置发送的封装头部信息后的已处理报文;从已处理报文的封装的头部信息中获取其报文序列号和缓冲区描述符BD序列号,其中所述BD序列号与BD环的缓存单元一一对应;若所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文。本发明的实施例主要用于报文回调的过程中。

Description

一种报文回调方法及装置
技术领域
本发明涉及报文通信领域,尤其涉及一种报文回调方法及装置。
背景技术
在报文通信系统中,报文回调流程通常为:当一个操作流程中报文需要经过特定处理才能进行后续操作时,将待处理的报文发送给特定功能模块进行处理,该特定功能模块再将处理后的报文发送回来,以继续进行该操作流程的后续操作。例如,在网络路由器中,IPSec协议层的报文传送到加解密芯片,加解密芯片对报文进行加解密后回传至IPSec协议层。
实际应用中,通常采用一个虚拟的BD(Buffer Description,缓冲区描述符)环进行报文的缓存和排序。将BD环的缓存单元的序列号信息保存到报文封装的头部信息中,封装的头部信息跟随报文一起被发送至报文处理装置,在报文被处理完毕后根据已处理报文封装的头部信息获取对应的BD序列号并查找到对应BD环的缓存单元上保存的回调函数,最后根据回调函数将处理后的报文回传到正在等待该报文的报文接口。但是,由于处理芯片或硬件通道不稳定等原因,可能存在报文丢包的情况,为了充分利用丢包报文占用的BD环的缓存单元,就需要识别是否发生了报文丢包。
现有技术中,为了能够及时识别报文丢包,通过判断回收的BD序列号是否连续判断是否存在丢包的情况。具体的,假设向处理装置发送4个报文的顺序对应的BD序列号为1、2、3、4,但是处理装置返回的处理后的报文对应BD序列号为1、2、4,在接收到BD序列号为4的报文时则可以判断BD序列号为3的报文已经丢失。
但是,这种判断报文丢失的方法仅适用于处理装置按照接收报文的顺序处理报文。如果处理装置返回报文的顺序不遵循其接收报文的顺序,则会导致向报文接口回调错误的报文,造成程序异常。例如,处理装置返回的报文的BD序列号顺序为1、2、4、3,当BD序列号为4的报文返回时,便确定BD序列号为3的报文已经丢失,同时释放序列号为3的BD环的缓存单元。后续的待处理报文便可以占用序列号为3的BD环的缓存单元,此时处理装置返回BD序列号为3的报文,默认将此报文按照序列号为3的BD环的缓存单元中当前存储的回调函数回调给对应接口,导致回调的报文错误,引起处理异常。
因此,亟需一种报文回调技术即使报文乱序的情况下,也能保证正确地回调已处理报文。
发明内容
本发明的实施例提供一种报文回调方法及装置,能够实现正确地回调已处理报文。
为达到上述目的,本发明的实施例采用如下技术方案:
本发明的一方面提供一种报文回调方法,包括:
接收报文处理装置发送的封装头部信息后的已处理报文;
从已处理报文封装的头部信息中获取其报文序列号和缓冲区描述符BD序列号,其中所述BD序列号与BD环的缓存单元一一对应;
若所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文。
本发明的另一方面,提供一种报文回调装置,包括:
接收模块,用于接收报文处理装置发送的封装头部信息后的已处理报文;
获取模块,用于从所述接收模块接收到的已处理报文封装的头部信息中获取其报文序列号和缓冲区描述符BD序列号,其中所述BD序列号与BD环的缓存单元一一对应;
匹配模块,用于将所述获取模块获取到的报文序列号和所述BD环的缓存单元中存储的报文序列号进行匹配;
回调模块,用于当所述匹配模块的匹配结果表明所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配时,根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文。
本发明实施例提供的报文回调方法及装置,从处理装置返回的已处理报文的封装的头部信息中获取其报文序列号和BD序列号,若获取的报文序列号与BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调该已处理报文,与现有技术中依据BD序列号进行回调相比,由于每个报文除了有对应的BD环的缓存单元外,还有报文序列号作为匹配条件,在两者均确定无误的情况下才采用该BD环的缓存单元中的回调函数将已处理报文回调,使得回调的已处理报文是该函数对应的报文,从而确保正确回调已处理报文。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一中的一种报文回调方法流程图;
图2为本发明实施例二中的一种报文回调方法流程图;
图3为本发明实施例二中的一种封装头部信息后的报文示意图;
图4为本发明实施例二中的一种报文回调流程示意图;
图5为本发明实施例三中的一种报文回调装置组成示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明公开的报文回调方法及装置,适用于当一个操作流程中报文需要经过特定处理才能进行后续操作时,将待处理的报文发送给特定功能模块,即报文处理装置进行处理,该特定功能模块再将处理后的报文发送回来,以继续进行该操作流程的后续操作。例如,在网络路由器中,IPSec协议层模块的报文传送到加解密驱动模块,由加解密驱动模块发送到加解密芯片进行加解密处理,加解密芯片对报文进行加解密后发送到加解密驱动模块,加解密驱动模块再回传至IPSec协议层模块。为了本领域技术人员清楚的理解本发明的实现方法,在本说明书中将多处以加解密驱动模块的处理流程为例进行举例说明,需要说明的是,本发明的报文回调方法及装置不仅限于加解密处理的场景,还可以应用于其他报文处理的场景,本发明对此不做限定。
实施例一
本发明实施例提供一种报文回调方法,如图1所示,该方法包括:
101、接收报文处理装置发送的封装头部信息后的已处理报文。
其中,报文在传输过程通常会进行头部信息封装,在本发明的实施例中加解密驱动模块接收经过加解密芯片处理后的报文,由于之前加解密驱动模块将报文序列号和BD序列号一起封装到头部信息中,当然封装的头部信息中还可以包含其他与传输或处理所需的信息,例如加密的密钥向量等,本发明实施例对此不做限定。加解密芯片将报文经过加解密处理后,不改变报文封装的头部信息,将处理完成的密文信息替代报文中原有报文数据区的明文信息。
102、从已处理报文封装的头部信息中获取其报文序列号和BD序列号,其中所述BD序列号与BD环的缓存单元一一对应。
其中,在步骤101之前未将报文发送给报文处理装置时,就可以为待处理报文分配报文序列号及未锁定的BD环的缓存单元;将所述待处理报文的回调函数和报文序列号存储在所述BD环的缓存单元中,并锁定所述BD环的缓存单元;对所述待处理报文进行头部信息的封装,并发送给报文处理装置,其中所述待处理报文的封装的头部信息中包含所述待处理报文对应的报文序列号和BD序列号。
103、若所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文。
其中,从封装的头部信息中获取到BD序列号后可以查找到对应的BD环的缓存单元,在该BD环的缓存单元中存储有一个报文序列号,将封装的头部信息中获取的报文序列号与BD环的缓存单元中存储的报文序列号进行匹配,若匹配则说明当前接收到的已处理报文是该BD环的缓存单元被锁定时所对应的报文,因此可以调用锁定时在其中存储的回调函数,将已处理报文回调。
反之,从封装的头部信息中获取到BD序列号后必然可以查找到对应的BD环的缓存单元,但是该BD环的缓存单元中存储的报文序列号与当前已处理报文封装的头部信息中获取的报文序列号不匹配,则说明该BD环的缓存单元也许曾经为该报文锁定,但是由于时延或其他原因该BD环的缓存单元已被其他报文占用,其中存储的报文序列号和回调函数是与其他报文对应的,而不是当前接收到的已处理报文的,因此不用执行回调函数对当前已处理报文进行回调。
本发明实施例提供的报文回调方法,从处理装置返回的已处理报文封装的头部信息中获取其报文序列号和BD序列号,若获取的报文序列号与BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调该已处理报文,与现有技术中依据BD序列号进行回调相比,由于每个报文除了有对应的BD环的缓存单元外,还有报文序列号作为匹配条件,在两者均确定无误的情况下才采用该BD环的缓存单元中的回调函数将已处理报文回调,使得回调的已处理报文是该函数对应的报文,从而确保正确回调已处理报文。
实施例二
本发明实施例提供一种报文回调方法,如图2所示,该方法可以包括:
201、接收到待处理报文。
其中,在一个处理流程中其中的部分处理环节可以交由特定功能的报文处理装置代为处理,因此当接收到待处理报文时,需要将待处理报文发送给报文处理装置,在报文处理完成后,还需要将处理后的报文发送到等待该报文的接口。例如,在网络路由器中,由硬件加解密芯片实现报文的加密和解密操作,IPSec协议层模块将待加密或待解密的报文发送到加解密驱动层,加解密驱动层模块接收到待加解密的报文后需要将其封装头部信息后发送给加解密芯片进行处理。为了在报文处理完毕后将处理后的报文回送给IPSec协议层,加解密驱动层模块就需要准确锁定其回调函数。
加解密驱动模块构建用于缓存报文的虚拟BD环,虚拟BD环的长度可以自由设定,设定的原则是根据加解密芯片(硬件加密芯片)的处理速率来决定,对应的加密速率越高,建议设定的BD环长度越大。创建完成BD环过后需要对每一个BD缓存单元(即BD缓存结构)进行初始化,保证每一个BD缓存单元处于解锁状态供待加解密报文进行缓存,BD缓存单元用于存储对应缓存报文回送IPSec协议层模块的回调函数和回调参数。
当IPSec协议层模块将待加密报文送入加解密驱动层模块时,加解密驱动层模块需要依次查找BD环并获取空闲的BD缓存单元(解锁状态)缓存该报文,然后将BD序列封装至报文头部,并将回调参数保存至对应的BD缓存单元中,最后对该BD缓存单元进行锁定,确保该报文在加解密完成之前该BD缓存单元不会被其他报文占用。
本实施例在加解密报文封装的头部信息中加入了除BD序列号之外的另一个专属于本次发送报文的序列号,该序列号在每一个报文完成封装过后进行累加,每次累加1即可,目的是保证每一个加密请求的报文都有独占的特定标示符。同时将该标示符也保存至报文对应的BD缓存单元中去,作为回收报文时比对报文正确性的依据。
在本实施例中,为待处理的报文分配一个BD环的缓存单元用于存储回调函数等信息。本实施例中的,加解密芯片的作用为报文处理装置,本发明中步骤201-213的执行主体为加解密驱动层模块。
进一步可选的,当BD环的缓存单元充裕时可以直接分配空闲的资源,但当BD环的缓存单元不充裕时,为了充分利用BD环中的BD环的缓存单元,可以采取如步骤202和213的资源回收策略,具体如下。
202、判断BD环中的每个BD环的缓存单元是否均已被锁定;若存在未锁定的BD环的缓存单元,则执行步骤203;若每个BD环的缓存单元均被锁定,则执行步骤213。
需要说明的是,步骤202是可选步骤,当BD环的缓存单元均被锁定时回收部分资源,可选的,也可以在每个缓存单元被锁定时记录其被锁定的时间值,当被锁定的时间超过一定时长则解锁该缓存单元。当然,本发明还可以采用其他回收BD环的缓存单元的方式,本发明实施例对此不做限定,可以理解的是一旦一个缓存单元回收,也就意味着该缓存单元中已存储的之前的报文序列号和回调函数等信息都被丢弃,对应的之前的报文将不会回调,也就被视为丢弃了。
进一步的,为了给报文处理装置和传输过程提供更多的处理时间,避免不必要的丢弃报文,可以延长等待的时间。具体的,为待处理报文分配未锁定的BD环的缓存单元的过程还可以包括:若N次判断表明BD环中的每个的缓存单元均被锁定,则解锁所述BD环中第一个被锁定的缓存单元;其中N为大于1的整数;将解锁后的BD环的缓存单元分配给所述待处理报文。
203、为待处理报文分配报文序列号及未锁定的BD环的缓存单元。
其中,所述报文序列号的形式本实施例不做限定,报文序列号可以为数字编号,或者也可以为时间戳。一个报文对应一个报文序列号,避免报文序列号重复可以防止在报文处理后为其匹配错误的回调函数。其中,时间戳是不重复的,在为待处理报文分配报文序列号的时刻的时间戳作为其序列号,一方面存储在BD环的缓存单元中,另一方面也同时写入到待处理报文封装的头部信息中。当以数字编号作为报文序列号时,数字编号的字节数决定其可选的数字编号的个数,通常数字编号的字节数越多可供分配的数字编号个数越多,需要较长时间及较多报文才能将遍历数字编号从而翻转到第一个编号循环使用编号。同时,数字编号的字节数越长相应的占用空间越多,因此数字编号的字节数可以根据实际需要选择。例如,预设报文序列号的位数为64bit,即8字节,此时需要若干年才会面临序列号翻转,因此可以保证较长时间内的待处理报文均分配到唯一的报文序列号。
204、将所述待处理报文的回调函数和报文序列号存储在所述BD环的缓存单元中。
其中,报文序列号用于匹配处理后的报文是否为该BD环的缓存单元中存储的信息对应的报文,回调函数用于将已处理报文回送到相应接口。
205、锁定所述BD环的缓存单元。
其中,BD环中的缓存单元一旦被分配给待处理报文后,便于该报文一一对应,为了防止该报文被处理后无法回调,需要将存储有报文序列号和回调函数的BD环的缓存单元锁定,后续到来的待处理报文将不再占用该BD环的缓存单元。
206、对所述待处理报文进行头部信息的封装,并发送给报文处理装置,其中所述待处理报文封装的头部信息中包含所述待处理报文对应的报文序列号和BD序列号。
其中,封装的头部信息包括已分配的BD环的缓存单元的BD序列号,以及已分配的报文序列号,当然还可以包括处理或传输所需的其他封装的头部信息,本实施例对此不做限定。例如,封装头部信息后的待加密报文可以为如图3所示的形式,BD序列号为1,报文序列号为2049,其他封装的头部信息可以包括加解密所需要的密钥向量等信息,其中BD序列号、报文序列号以及其他信息的封装顺序本实施例不做限定。
207、接收报文处理装置发送的封装头部信息后的已处理报文。
其中,报文处理装置接收到封装头部信息后的待处理报文后,解析出待处理报文进行处理,保持封装的头部信息中的BD序列号和报文序列号不变,对已处理报文进行重新封装,并返回封装头部信息后的已处理报文。与图3的类似,报文处理装置返回的报文封装的头部信息部分基本不变,只是将待处理报文替换为已处理报文。
208、从已处理报文封装的头部信息中获取其报文序列号和BD序列号,其中所述BD序列号与BD环的缓存单元一一对应。
可以理解的是,每个BD环的缓存单元都有其对应的BD序列号,根据从封装的头部信息中获取的BD序列号可以查找到对应的BD环的缓存单元。
209、将所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号进行匹配;若匹配成功,则执行步骤210;若匹配失败,则执行步骤211。
其中,采用步骤208中获取的BD序列号可以查找到对应的BD环的缓存单元,进一步的通过将已处理报文封装的头部信息中的报文序列号与BD环的缓存单元中存储的报文序列号进行匹配,可以进一步确定该BD环的缓存单元为该报文锁定后是否一直未被重写,从而保证BD环的缓存单元中存储的回调函数是该报文对应的回调函数。
210、根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文。
即加解密驱动模块层模块在报文经过加解密芯片处理后,将处理后的报文回送给IPSec协议层模块。
211、解锁已回调的报文对应的所述BD环的缓存单元。
212、丢弃所述已处理报文。
进一步的,为了在BD环的缓存单元不充足的情况下,有效回收BD环的缓存单元,可以通过步骤202的判断结果确定是否放弃丢失可能性较大的报文或已经丢失的报文的回调,当步骤202判断表明BD环的缓存单元环中的每个BD环的缓存单元均被锁定时,执行如下步骤回收丢失可能性较大或已经丢失的报文对应的BD环的缓存单元:
213、解锁所述BD环的缓存单元环中第一个被锁定的BD环的缓存单元;然后执行步骤203。
例如,如图4所示的一种实际场景举例,首先,为接收到待处理报文其报文序列号为1,为其分配未锁定的BD环的缓存单元BD1,将报文1的相关信息存储在BD1中,并将报文1发送给报文处理装置。然后,在报文处理装置返回处理后的报文1之前,陆续接收到多个报文并分别分配了BD环的缓存单元,导致BD环中的2048个缓存单元全部被占用。接下来,在接收到待处理报文2049时,由于BD环的缓存单元全部被占满所以将最先锁定的BD1解锁,视为报文1已处理失败或丢弃。将报文2049的相关信息写入BD1后锁定BD1,将报文2049发送给报文处理装置。此时,如果再接收到处理完成的报文1,可以查找到对应的BD1,但是BD1中存储的报文序列号此时为2049而不再是1,因此报文1被丢弃。而如果接收到处理完成的报文2049,查找到对应的BD1后,BD1中存储的报文序列号和报文封装的头部信息中的报文序列号均为2049,因此可以确定BD1与报文2049之间的对应关系无误,采用BD1中存储的回调函数回调处理后的报文2049。最后,解锁已回调的报文2049对应的BD1,以便后续待处理报文使用。
本发明实施例提供的报文回调方法,从处理装置返回的已处理报文封装的头部信息中获取其报文序列号和BD序列号,若获取的报文序列号与BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调该已处理报文,与现有技术中依据BD序列号进行回调相比,由于每个报文除了有对应的BD环的缓存单元外,还有报文序列号作为匹配条件,在两者均确定无误的情况下才采用该BD环的缓存单元中的回调函数将已处理报文回调,使得回调的已处理报文是该函数对应的报文,从而确保正确回调已处理报文。
实施例三
本发明的另一实施例提供一种报文回调装置,如图5所示,该装置可以包括:
接收模块51,用于接收报文处理装置发送的封装头部信息后的已处理报文;
获取模块52,用于从所述接收模块51接收到的已处理报文封装的头部信息中获取其报文序列号和缓冲区描述符BD序列号,其中所述BD序列号与BD环的缓存单元一一对应;
匹配模块53,用于将所述获取模块52获取到的报文序列号和所述BD环的缓存单元中存储的报文序列号进行匹配;
回调模块54,用于当所述匹配模块53的匹配结果表明所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配时,根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文。
可选的,该报文回调模块54还可以用于:当所述匹配模块53的匹配结果表明所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号不匹配时,丢弃所述已处理报文。
在本实施例中,该报文回调装置还可以包括:
分配模块55,用于为待处理报文分配报文序列号及未锁定的BD环的缓存单元;
存储模块56,用于将所述待处理报文的回调函数和报文序列号存储在所述分配模块55分配的BD环的缓存单元中,并锁定所述BD环的缓存单元;
发送模块57,用于对所述待处理报文进行头部信息的封装,并发送给报文处理装置,其中所述待处理报文封装的头部信息中包含所述待处理报文对应的报文序列号和BD序列号。
进一步可选的,在一种实现方式中,所述分配模块55还用于:
当BD环中的每个缓存单元均被锁定时,解锁所述BD环中第一个被锁定的缓存单元;
将解锁后的缓存单元分配给所述待处理报文。
进一步可选的,在另一种实现方式中,所述分配模块55还用于:
当N次判断表明BD环中的每个缓存单元均被锁定时,解锁所述BD环中第一个被锁定的缓存单元;其中N为大于1的整数;
将解锁后的缓存单元分配给所述待处理报文。
进一步可选的,所述报文序列号可以包括:数字编号或时间戳。
本发明实施例提供的报文回调装置,从处理装置返回的已处理报文封装的头部信息中获取其报文序列号和BD序列号,若获取的报文序列号与BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调该已处理报文,与现有技术中依据BD序列号进行回调相比,由于每个报文除了有对应的BD环的缓存单元外,还有报文序列号作为匹配条件,在两者均确定无误的情况下才采用该BD环的缓存单元中的回调函数将已处理报文回调,使得回调的已处理报文是该函数对应的报文,从而确保正确回调已处理报文。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘,硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (10)

1.一种报文回调方法,其特征在于,包括:
接收报文处理装置发送的封装头部信息后的已处理报文;
从已处理报文封装的头部信息中获取其报文序列号和缓冲区描述符BD序列号,其中所述BD序列号与BD环的缓存单元一一对应;
若所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配,则根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文,否则丢弃所述已处理报文。
2.根据权利要求1所述的报文回调方法,其特征在于,在所述接收报文处理装置发送的封装头部信息后的已处理报文之前,还包括:
为待处理报文分配报文序列号及未锁定的BD环的缓存单元;
将所述待处理报文的回调函数和报文序列号存储在所述BD环的缓存单元中,并锁定所述BD环的缓存单元;
对所述待处理报文进行头部信息的封装,并发送给报文处理装置,其中所述待处理报文封装的头部信息中包含所述待处理报文对应的报文序列号和BD序列号。
3.根据权利要求2所述的报文回调方法,其特征在于,所述为待处理报文分配未锁定的BD环的缓存单元,包括:
若BD环中的每个缓存单元均被锁定,则解锁所述BD环中第一个被锁定的缓存单元;
将解锁后的BD环的缓存单元分配给所述待处理报文。
4.根据权利要求2所述的报文回调方法,其特征在于,所述为待处理报文分配未锁定的BD环的缓存单元,包括:
若N次判断表明BD环的缓存单元环中的每个缓存单元均被锁定,则解锁所述BD环中第一个被锁定的缓存单元;其中N为大于1的整数;
将解锁后的BD环的缓存单元分配给所述待处理报文。
5.根据权利要求1-4中任一项所述的报文回调方法,其特征在于,所述报文序列号包括:数字编号或时间戳。
6.一种报文回调装置,其特征在于,包括:
接收模块,用于接收报文处理装置发送的封装头部信息后的已处理报文;
获取模块,用于从所述接收模块接收到的已处理报文封装的头部信息中获取其报文序列号和缓冲区描述符BD序列号,其中所述BD序列号与BD环的缓存单元一一对应;
匹配模块,用于将所述获取模块获取到的报文序列号和所述BD环的缓存单元中存储的报文序列号进行匹配;如果匹配结果表明所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配时,通知回调模块,否则丢弃所述已处理报文;
回调模块,用于当所述匹配模块的匹配结果表明所述封装的头部信息中获取的报文序列号与所述BD环的缓存单元中存储的报文序列号匹配时,根据所述BD环的缓存单元中存储的回调函数回调所述已处理报文。
7.根据权利要求6所述的报文回调装置,其特征在于,还包括:
分配模块,用于为待处理报文分配报文序列号及未锁定的BD环的缓存单元;
存储模块,用于将所述待处理报文的回调函数和报文序列号存储在所述分配模块分配的BD环的缓存单元中,并锁定所述BD环的缓存单元;
发送模块,用于对所述待处理报文进行头部信息的封装,并发送给报文处理装置,其中所述待处理报文封装的头部信息中包含所述待处理报文对应的报文序列号和BD序列号。
8.根据权利要求7所述的报文回调装置,其特征在于,所述分配模块还用于:
当BD环中的每个缓存单元均被锁定时,解锁所述BD环中第一个被锁定的缓存单元;
将解锁后的BD环的缓存单元分配给所述待处理报文。
9.根据权利要求7所述的报文回调装置,其特征在于,所述分配模块还用于:
当N次判断表明BD环中的每个缓存单元均被锁定时,解锁所述BD环中第一个被锁定的缓存单元;其中N为大于1的整数;
将解锁后的BD环的缓存单元分配给所述待处理报文。
10.根据权利要求6-10中任一项所述的报文回调装置,其特征在于,所述报文序列号包括:数字编号或时间戳。
CN201310500918.8A 2013-10-22 2013-10-22 一种报文回调方法及装置 Active CN103532965B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310500918.8A CN103532965B (zh) 2013-10-22 2013-10-22 一种报文回调方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310500918.8A CN103532965B (zh) 2013-10-22 2013-10-22 一种报文回调方法及装置

Publications (2)

Publication Number Publication Date
CN103532965A true CN103532965A (zh) 2014-01-22
CN103532965B CN103532965B (zh) 2017-03-29

Family

ID=49934644

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310500918.8A Active CN103532965B (zh) 2013-10-22 2013-10-22 一种报文回调方法及装置

Country Status (1)

Country Link
CN (1) CN103532965B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108200122A (zh) * 2017-12-08 2018-06-22 北京奇虎科技有限公司 一种http数据处理方法及装置
CN109286539A (zh) * 2018-10-31 2019-01-29 迈普通信技术股份有限公司 检测发送异常的方法、装置、通信设备及可读存储介质
CN113676413A (zh) * 2021-08-26 2021-11-19 锐捷网络股份有限公司 一种乱序报文的重排方法、装置及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278459A1 (en) * 1997-10-14 2005-12-15 Boucher Laurence B Network interface device that can offload data transfer processing for a TCP connection from a host CPU
CN101202707A (zh) * 2007-12-03 2008-06-18 杭州华三通信技术有限公司 高速单板传输报文的方法、现场可编程门阵列及高速单板
CN102255818A (zh) * 2011-08-26 2011-11-23 迈普通信技术股份有限公司 一种驱动接收报文的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050278459A1 (en) * 1997-10-14 2005-12-15 Boucher Laurence B Network interface device that can offload data transfer processing for a TCP connection from a host CPU
US20070130356A1 (en) * 1998-04-27 2007-06-07 Alacritech, Inc. TCP/IP offload network interface device
CN101202707A (zh) * 2007-12-03 2008-06-18 杭州华三通信技术有限公司 高速单板传输报文的方法、现场可编程门阵列及高速单板
CN102255818A (zh) * 2011-08-26 2011-11-23 迈普通信技术股份有限公司 一种驱动接收报文的方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108200122A (zh) * 2017-12-08 2018-06-22 北京奇虎科技有限公司 一种http数据处理方法及装置
CN109286539A (zh) * 2018-10-31 2019-01-29 迈普通信技术股份有限公司 检测发送异常的方法、装置、通信设备及可读存储介质
CN113676413A (zh) * 2021-08-26 2021-11-19 锐捷网络股份有限公司 一种乱序报文的重排方法、装置及存储介质
CN113676413B (zh) * 2021-08-26 2024-05-17 锐捷网络股份有限公司 一种乱序报文的重排方法、装置及存储介质

Also Published As

Publication number Publication date
CN103532965B (zh) 2017-03-29

Similar Documents

Publication Publication Date Title
EP0074864B1 (en) System and method for name-lookup in a local area network data communication system
US7200641B1 (en) Method and system for encoding SCSI requests for transmission using TCP/IP
CA2450869A1 (en) Methods and systems for transferring data over a network
CN113014528B (zh) 报文处理方法、处理单元及虚拟专用网络服务器
CN106790221B (zh) 一种英特网协议安全IPSec协议加密方法和网络设备
CN111510474B (zh) 基于消息中间件的数据传输方法及相关设备
JP2009194559A (ja) 暗号処理方法および暗号処理装置
CN104038505A (zh) 一种IPSec防重放的方法和装置
US20230208825A1 (en) Method and Apparatus for Managing Reception of Secure Data Packets
CN106231346A (zh) 一种针对离线视频的分布式加密方法
CN113055269A (zh) 虚拟专用网络数据的传输方法及装置
CN103532965A (zh) 一种报文回调方法及装置
US20180083777A1 (en) Methods, systems, apparatuses, and devices for securing network communications using multiple security protocols
CN114297114B (zh) 加密卡及其数据交互方法、装置及计算机可读存储介质
CN112968919A (zh) 一种数据处理方法、装置、设备和存储介质
CN112600838B (zh) 一种can总线数据的加密方法、装置、存储介质及电子设备
CN110177116B (zh) 智融标识网络的安全数据传输方法和装置
EP3796197A1 (en) Information processing method and information processing system for encryptor
CN105376619A (zh) 一种机顶盒与智能卡的通讯方法、装置及机顶盒
CN102055811A (zh) 设备id的写入方法及系统
CN112600943B (zh) 高并发数据状态下异构系统的消息同步方法
US11599649B2 (en) Method and apparatus for managing transmission of secure data packets
CN113676314B (zh) 量子密钥管理方法、比对方法、输出方法、装置及系统
CN113422754A (zh) 数据处理方法和装置、电子设备及计算机可读存储介质
CN111654750B (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
CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 16 Hing Hing Road, Chengdu high tech Development Zone, Sichuan, China 16

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

CP02 Change in the address of a patent holder
CP02 Change in the address of a patent holder

Address after: 610041 nine Xing Xing Road 16, hi tech Zone, Sichuan, Chengdu

Patentee after: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.

Address before: 610041 15-24 floor, 1 1 Tianfu street, Chengdu high tech Zone, Sichuan

Patentee before: MAIPU COMMUNICATION TECHNOLOGY Co.,Ltd.