一种报文回调方法及装置制造方法及图纸

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

【技术实现步骤摘要】
一种报文回调方法及装置
本专利技术涉及报文通信领域,尤其涉及一种报文回调方法及装置。
技术介绍
在报文通信系统中,报文回调流程通常为:当一个操作流程中报文需要经过特定处理才能进行后续操作时,将待处理的报文发送给特定功能模块进行处理,该特定功能模块再将处理后的报文发送回来,以继续进行该操作流程的后续操作。例如,在网络路由器中,IPSec协议层的报文传送到加解密芯片,加解密芯片对报文进行加解密后回传至IPSec协议层。实际应用中,通常采用一个虚拟的BD(BufferDescription,缓冲区描述符)环进行报文的缓存和排序。将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环的缓存单元中存储的回调函数回调所述已处理报文,否则丢弃所述已处理报文。

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

【专利技术属性】
技术研发人员:杨大川
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1