[发明专利]报文发送方法及报文发送装置在审
申请号: | 201510628379.5 | 申请日: | 2015-09-25 |
公开(公告)号: | CN105245471A | 公开(公告)日: | 2016-01-13 |
发明(设计)人: | 刘福元;赵剑川 | 申请(专利权)人: | 京信通信技术(广州)有限公司 |
主分类号: | H04L12/863 | 分类号: | H04L12/863 |
代理公司: | 广州华进联合专利商标代理有限公司 44224 | 代理人: | 黄晓庆 |
地址: | 510663 广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 报文 发送 方法 装置 | ||
技术领域
本发明涉及数据通信领域,特别是涉及报文发送方法及报文发送装置。
背景技术
随着大数据时代的到来,通信系统中对网络设备的处理能力的要求越来越高,而仅仅依靠提高单核芯片的速度来提高CPU(CentralProcessingUnit,中央处理单元)的处理能力会产生过多热量,且无法带来相应的性能改善,其性价比也令人难以接受。另一方面,现在的系统都要求可以进行多任务操作。在这种情况下,多核CPU无疑是一个很好的选择,其优势主要在两个方面:为用户带来更强大的计算性能;更重要的是可满足用户同时进行多任务处理和多任务计算环境的要求。
多核网络处理器的最大特点是可以并行处理多个报文的转发。但同时也带来了另一个问题,每个报文的处理流程可能不一样,这就导致了每个报文的处理速度不一样(例如长报文的处理时间比短报文的处理时间一般要长),先到达CPU的报文可能由于处理慢而比后到达CPU的报文晚发送出去,导致同一数据流的网络报文出现乱序现象。这在对于报文顺序有严格要求的数据流是一个致命伤害,比如IPSEC(InternetProtocolSecurity,Internet协议安全性)数据流、视频数据流等。
为了解决以上问题,必须找到一种让网络处理器在处理网络报文时,按顺序处理的方法,即报文保序方法。发明者在研究现有的技术方法上发现,现有的报文保序方法主要从以下几个方面着手:1、采用互斥锁机制来保证报文的处理顺序,即在报文的处理前先获取一个锁之后再进行报文的处理,如果暂时获取不到锁,则要等待锁的释放;2、采用报文序列号的方法,即在报文发送前,先判断报文的序列号是否与当前发送序列号相等,如果相等就直接发送并递增发送序列号;如果不等则等待;3、采用保序队列方法,先把报文按接收顺序保存在队列中,然后各个CPU处理报文,当发送报文时,按接收顺序从队列头发送已处理完成的报文,如果队列头中有未处理完成的报文,则该队列的所有报文都不可以发送。
这些方法都存在一个弊端,即无法解决报文在处理过程中CPU核出现错误(如程序挂死等)时,导致同一业务流的所有后序报文都被阻塞的问题。
发明内容
基于此,本发明的目的在于提供一种报文发送方法及报文发送装置,以解决CPU核错误导致的同一业务流的所有后序报文都被阻塞的问题。
为达到上述目的,本发明实施例采用以下技术方案:
一种报文发送方法,包括步骤:
接收报文;
根据所述报文所属业务流将所述报文按接收顺序排入与所述业务流对应的队列中,并将所述队列的长度加1;
对所述报文进行处理,并在处理完成后,判断该报文是否位于所述队列的队列头;
若是,发送已处理的所述报文,并将所述队列的长度减1;
若否,将所述报文标记为已处理,并判断所述队列的长度是否大于队列长度阈值,若大于,删除所述队列的队列头的报文,并将所述队列的长度减1。
一种报文发送装置,包括:
报文接收模块,用于接收报文;
队列添加模块,用于根据所述报文所属业务流将所述报文按接收顺序排入与所述业务流对应的队列中,并将所述队列的长度加1;
队列判定模块,用于在对所述报文处理完成后,判断该报文是否位于所述队列的队列头;
队列处理模块,用于在所述队列判定模块的判定结果为是时,发送已处理的所述报文,并将所述队列的长度减1,在所述队列判定模块的判定结果为否时,将所述报文标记为已处理,并判断所述队列的长度是否大于队列长度阈值,若大于,删除所述队列的队列头的报文,并将所述队列的长度减1。
根据如上所述的本发明实施例的方案,其在接收到报文后,是先将该报文按照接收顺序排入该报文所属业务流的队列中,再对该报文进行处理,并在处理完成后,如果该报文是处于队列的队列头,则直接将该报文发送出去,如果不是,且队列的长度大于了队列长度阈值,则删除队列的队列头的报文,避免了在报文处理过程中遇到不可恢复错误时导致的报文阻塞现象,达到了自愈的效果。
附图说明
图1是本发明实施例的报文发送方法的流程示意图;
图2是一个具体示例中的报文发送方法的流程示意图;
图3是一个具体示例的队列中的报文序列的示意图;
图4是本发明实施例的报文发送装置的结构示意图。
具体实施方式
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于京信通信技术(广州)有限公司,未经京信通信技术(广州)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510628379.5/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种LED封装器件及发光设备
- 下一篇:LED晶片及功率型LED