[发明专利]一种协议报文的处理方法及系统有效
申请号: | 202010153040.5 | 申请日: | 2020-03-06 |
公开(公告)号: | CN113364705B | 公开(公告)日: | 2022-06-17 |
发明(设计)人: | 秦海洋 | 申请(专利权)人: | 烽火通信科技股份有限公司;成都烽火云网信息技术有限公司 |
主分类号: | H04L49/111 | 分类号: | H04L49/111;H04L49/90;H04L69/22 |
代理公司: | 武汉智权专利代理事务所(特殊普通合伙) 42225 | 代理人: | 陈文净 |
地址: | 430000 湖北省武*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 协议 报文 处理 方法 系统 | ||
本发明公开了一种协议报文的处理方法及系统,涉及通信技术领域。协议报文的处理方法包括:多核处理器的核从流水线线程队列获取任一条流水线的链路解析线程,执行链路解析线程得到待处理的三层报文;当待处理的三层报文为协议报文时,将协议报文存入为该条流水线配置的缓存队列,并启动一个协议处理线程;一个预先配置的核执行被启动的协议处理线程,以处理协议报文,其中,预先配置的核的数量不少于流水线的数量,执行协议处理线程的时长是根据缓存队列的当前深度确定的。本发明确保协议报文得到及时处理。
技术领域
本发明涉及通信技术领域,具体是涉及一种协议报文的处理方法及系统。
背景技术
多核处理器软件报文转发采用流水线模型,报文的转发流程分为不同的阶段,每个阶段为一个独立的线程,对报文执行不同的操作:接收报文、处理报文和发送报文。在流水线模型中,多条流水线的所有线程的线程函数指针都放在一个流水线线程队列(Pipeline Thread queue,PLTQ)中。处理器的多个核(core)公平地从PLTQ中获取线程函数指针并执行线程,执行完线程后,将线程函数指针放回PLTQ中,整个线程调度就是循环进行取线程、执行线程和放回线程。
在流水线模型中,承载用户数据的数据报文以及建立和维护网络信道的协议报文混合在一起,在多个转发流程的线程中被处理。当报文流量较大,超出线程处理能力时,就会造成数据报文和协议报文一起丢失,而协议报文丢失会引起业务振荡。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种协议报文的处理方法,确保协议报文得到及时处理。
一种协议报文的处理方法,其包括:
多核处理器的核从流水线线程队列获取任一条流水线的链路解析线程,执行链路解析线程得到待处理的三层报文;
当待处理的三层报文为协议报文时,将协议报文存入为该条流水线配置的缓存队列,并启动一个协议处理线程;
一个预先配置的核执行被启动的协议处理线程,以处理协议报文,其中,预先配置的核的数量不少于流水线的数量,执行协议处理线程的时长是根据缓存队列的当前深度确定的。
在上述技术方案的基础上,
所述预先配置的核在执行周期的指定时长内执行被启动的所述协议处理线程,指定时长根据所述缓存队列的当前深度所对应的深度级别预先设定,深度级别是对所述缓存队列的深度范围分级得到的。
在上述技术方案的基础上,
多核处理器的所有核均为所述预先配置的核,每个所述预先配置的核与一个所述协议处理线程绑定;
所述指定时长在所述执行周期中的初始占比随着所述深度级别的递增而增加,初始占比均小于100%并保存在线程分配表中,线程分配表还包括核与绑定的所述协议处理线程的关联信息以及所述协议处理线程的启动信息。
在上述技术方案的基础上,
根据所述缓存队列的当前深度计算实时平均深度,在所述线程分配表中按照判定条件选择并启动一个未被启动的所述协议处理线程;
所述判定条件包括:
所述协议处理线程对应的所述深度级别匹配实时平均深度;
所述协议处理线程对应的所述深度级别高于实时平均深度;
将所述缓存队列上次启动的所述协议处理线程的所述初始占比更改为100%。
在上述技术方案的基础上,
所述执行协议处理线程的时长根据所述缓存队列的当前深度动态调整。
与此同时,本发明的另一个目的在于提供一种协议报文的处理系统,确保协议报文得到及时处理。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于烽火通信科技股份有限公司;成都烽火云网信息技术有限公司,未经烽火通信科技股份有限公司;成都烽火云网信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010153040.5/2.html,转载请声明来源钻瓜专利网。