预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共16页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

(19)中华人民共和国国家知识产权局(12)发明专利申请(10)申请公布号CN108023829A(43)申请公布日2018.05.11(21)申请号201711124549.1(22)申请日2017.11.14(71)申请人东软集团股份有限公司地址110179辽宁省沈阳市浑南新区新秀街2号(72)发明人刘健男(74)专利代理机构北京英创嘉友知识产权代理事务所(普通合伙)11447代理人杨云倩魏嘉熹(51)Int.Cl.H04L12/801(2013.01)H04L12/803(2013.01)H04L12/863(2013.01)权利要求书2页说明书10页附图3页(54)发明名称报文处理方法及装置、存储介质、电子设备(57)摘要本公开涉及一种报文处理方法及装置、存储介质、电子设备。所述方法包括:在当前网卡发包失败时,转发CPU利用可用CPU和/或可用网卡,对所述当前网卡发包失败的报文进行负载均衡;如果负载均衡失败,则判断所述转发CPU对应的缓存队列中报文的数目是否超过预设阈值;如果所述缓存队列中报文的数目未超过预设阈值,所述转发CPU将负载均衡失败的报文添加到所述缓存队列;所述转发CPU进行轮询处理时,如果所述当前网卡的负载空闲,则控制所述当前网卡发送所述缓存队列中的报文。如此方案,有助于降低发包失败概率,提高系统的稳定性。CN108023829ACN108023829A权利要求书1/2页1.一种报文处理方法,其特征在于,所述方法包括:在当前网卡发包失败时,转发CPU利用可用CPU和/或可用网卡,对所述当前网卡发包失败的报文进行负载均衡;如果负载均衡失败,则判断所述转发CPU对应的缓存队列中报文的数目是否超过预设阈值;如果所述缓存队列中报文的数目未超过预设阈值,所述转发CPU将负载均衡失败的报文添加到所述缓存队列;所述转发CPU进行轮询处理时,如果所述当前网卡的负载空闲,则控制所述当前网卡发送所述缓存队列中的报文。2.根据权利要求1所述的方法,其特征在于,所述转发CPU配置了bond口,且所述bond口的网卡中保存有该bond口的配置信息,则将所述bond口中未达到性能极限的网卡,确定为所述可用网卡,以使所述当前网卡根据所述配置信息,将发包失败的报文发送至所述可用网卡。3.根据权利要求1所述的方法,其特征在于,所述当前网卡与多个CPU具有连接关系,且各CPU在所述当前网卡都有一个对应的发送队列,则将所述当前网卡的所有发送队列中,有效描述符最多的发送队列对应的CPU,确定为所述可用CPU,以使所述转发CPU将发包失败的报文发送至所述可用CPU。4.根据权利要求1所述的方法,其特征在于,所述转发CPU进行轮询处理时,如果所述当前网卡的负载空闲,则控制所述当前网卡发送所述缓存队列中的报文,包括:所述转发CPU判断网卡队列在本次轮询周期内接收的报文数目,是否小于第一上限值;如果所述网卡队列在本次轮询周期内接收的报文数目小于第一上限值,所述转发CPU判定所述当前网卡的负载空闲;若所述缓存队列不为空,所述转发CPU控制所述当前网卡对所述缓存队列中的报文进行转发处理,直至所述缓存队列为空或者所述转发处理发包失败。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:所述转发CPU判断内核态队列在本次轮询周期内接收的报文数目,是否小于第二上限值;如果所述内核态队列在本次轮询周期内接收的报文数目小于第二上限值,所述转发CPU判定所述当前网卡的负载空闲;若所述缓存队列不为空,所述转发CPU控制所述当前网卡对所述缓存队列中的报文进行一次转发处理。6.根据权利要求1至5任一项所述的方法,其特征在于,如果缓存队列中的报文数目超过预设阈值,所述方法还包括:所述转发CPU判断所述当前网卡的每秒性能是否超过性能极限;如果所述当前网卡的每秒性能超过性能极限,所述转发CPU记录超过所述性能极限的时间,并对所述时间之后接收的报文进行丢包处理。7.根据权利要求6所述的方法,其特征在于,获取所述当前网卡的每秒性能的方式为:所述转发CPU每秒获取一次,所述当前网卡的所有发送队列在当前秒发送成功的报文总字节数;2CN108023829A权利要求书2/2页所述转发CPU累加所述所有发送队列在当前秒发送成功的报文总字节数,获得所述当前网卡的每秒性能。8.一种报文处理装置,其特征在于,所述报文处理装置属于转发CPU,所述报文处理装置包括:报文负载均衡模块,用于在当前网卡发包失败时,利用可用CPU和/或可用网卡,对所述当前网卡发包失败的报文进行负载均衡;报文数目判断模块,用于在负载均衡失败时,判断所述转发CPU对应的缓存队列中报文的数目是否超过预设阈值;缓存队列添加模块,用于在所述缓存队列中报文的数目未超过预设阈值时,将负载均衡失败的报文添加到所述缓存队列;轮询控制模块,用