[发明专利]一种队列清空方法以及相关设备有效
| 申请号: | 201710114413.6 | 申请日: | 2017-02-28 |
| 公开(公告)号: | CN106899516B | 公开(公告)日: | 2020-07-28 |
| 发明(设计)人: | 郑勤;屈仁杰 | 申请(专利权)人: | 华为技术有限公司 |
| 主分类号: | H04L12/863 | 分类号: | H04L12/863 |
| 代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
| 地址: | 518129 广东*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 队列 方法 以及 相关 设备 | ||
本发明实施例公开一种队列清空方法以及相关设备,该方法包括:队列清空处理器从队列信息表中扫描有效队列的清空状态,确定队列信息表中清空状态为“将被清空”的目标队列,队列信息表用于记录有效队列的清空状态;队列清空处理器将目标队列的清空状态修改为“启动清空”;队列清空处理器将目标队列清空;其中,当目标队列被清空后,目标队列的清空状态被修改为“清空完成”。实施本发明实施例无需考虑目标队列的优先级,可以同时扫描多个队列并进行清空,保证队列清空完成时间,进而提高队列批量清空能力。
技术领域
本发明涉及通信技术领域,尤其涉及一种队列清空方法以及相关设备。
背景技术
现代通信设备需要提供大容量的数据包缓存来吸收突发的数据包。缓存在通信设备中的数据包按照数据包的包描述符组成队列进行管理,并按照队列的优先级进行调度发送。为了保证一个用户的数据包不被错发给另一个用户,当一个用户下线时,需要将该用户的数据包对应的包描述符组成的队列清空后才能将该队列重新分配给另一用户。现有的队列清空方式为:向流量管理芯片下发针对需要清空队列的队列清空命令;流量管理芯片接收到该队列清空命令之后,等待该需要清空队列被调度出队;在该需要清空队列出队时,清空该需要清空队列中的所有包描述符。
当需要清空的队列数量较多时,优先级较低的队列等待被调度出队的时间较长,导致优先级较低的队列会长时间无法被调度出队,优先级较低的队列的清空完成时间无法得到保证。
发明内容
本发明实施例公开了一种队列清空方法以及相关设备,可以解决当需要清空的队列数量较多时,清空速度较慢的问题。
本发明实施例第一方面公开一种队列清空方法,包括:
队列清空处理器从队列信息表中扫描有效队列的清空状态,确定清空状态为“将被清空”的目标队列,所述队列信息表用于记录包括所述有效队列的清空状态;
所述队列清空处理器将所述目标队列的清空状态修改为“启动清空”;
所述队列清空处理器将所述目标队列清空;其中,当所述目标队列被清空后,
所述目标队列的清空状态被修改为“清空完成”。
本发明实施例无需考虑目标队列的优先级,可以同时扫描多个队列并进行清空,实现批量清空队列,保证队列的清空完成时间,进而提高队列批量清空能力。
可选的,所述队列清空处理器将所述目标队列的清空状态修改为“启动清空”之后,所述方法还包括:
所述队列清空处理器判断所述目标队列是否位于调度器的正常队列链表中,所述调度器用于对所述正常队列链表中的队列进行调度;
若否,所述队列清空处理器将所述目标队列添加到所述调度器的清空队列链表中,并执行所述将所述目标队列清空的步骤;
若是,则执行所述将所述目标队列清空的步骤。
不论目标队列是位于调度器的正常队列链表中,还是位于调度器的清空队列链表中,还是一部分目标队列位于调度器的正常队列链表中,另一部分目标队列位于调度器的清空队列链表中,本发明实施例都可以将目标队列进行清空。
可选的,所述队列清空处理器将所述目标队列清空包括:
所述队列清空处理器读取所述正常队列链表和/或所述清空队列链表中当前已入队的所有队列的队列标识;
当所述正常队列链表和/或所述清空队列链表中当前已入队的所述所有队列的对列标识均被所述队列清空处理器读取之后,所述队列清空处理器接收所述出队处理器发送的清空完成指示,所述清空完成指示用于指示所述正常队列链表和/或所述清空队列链表中当前已入队的所有需要清空的队列均被清空。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710114413.6/2.html,转载请声明来源钻瓜专利网。





