[发明专利]一种基于用户数据流优先级的队列调度方法与系统在审
| 申请号: | 202210412165.4 | 申请日: | 2022-04-19 |
| 公开(公告)号: | CN114679421A | 公开(公告)日: | 2022-06-28 |
| 发明(设计)人: | 庞信友 | 申请(专利权)人: | 深圳市吉祥腾达科技有限公司 |
| 主分类号: | H04L47/6275 | 分类号: | H04L47/6275;H04L47/62 |
| 代理公司: | 深圳市海顺达知识产权代理有限公司 44831 | 代理人: | 罗志伟 |
| 地址: | 518000 广东省深圳市南山区西丽*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 基于 用户 数据流 优先级 队列 调度 方法 系统 | ||
1.一种基于用户数据流优先级的队列调度方法,其特征在于:根据用户上网业务的数据流的优先级动态调整数据包的发送顺序,令高优先级的业务数据流优先出队,低优先级业务数据流后出队。
2.根据权利要求1所述的基于用户数据流优先级的队列调度方法,其特征在于:所述队列调度方法包括以下步骤:
S1、模块初始化;
S2、数据包入队过程;
S3、数据包出队过程;
S4、定时器调度。
3.根据权利要求2所述的基于用户数据流优先级的队列调度方法,其特征在于:步骤S1包括以下子步骤:
S1.1、首先,内核启动时,通过insmod命令加载网络服务质量模块,并初始化令牌桶和优先级队列,建立定时器,用户链表,并在协议栈发送数据包的入口函数dev_queue_xmit内设立钩子函数,用于接管所有数据包;
S1.2、所述的令牌桶用于表示WAN口带宽的度量,包含上行带宽、下行带宽,令牌以时间滴答数为单位,令牌桶数据结构至少包含4个成员变量,分别为检测时间、令牌激活时间、当前令牌数量、速率表,其中,检测时间、令牌激活时间初始值为当前系统运行时间的滴答数,当前令牌数量初始值为一秒内的滴答数,速率表为包含多个元素的数组,每个元素的值的含义为发送某个区间大小的数据包所需要消耗的令牌,速率表计算公式为:t(i)=(C1*(i+1)*C2/W)*C3;其中,C1为常量,表示一秒内的微妙数,i表示数组某个元素的下标值,C2为常量,表示每个元素值的区间范围的大小,W表示带宽,单位为一秒内的字节数,C3为常量,表示一微妙内的滴答数,t(i)值为发送某个区间字节大小的数据包时所需要的令牌数量;
S1.3、计算数据包满足发送条件所消耗的令牌数;
S1.4、所述优先级队列是一个二维数组,第一纬包含用于表示方向,第二纬用于表示优先级大小,每个优先级队列都包含用户关联链表,用于表示是否有用户的相应优先级的数据流与之关联;
S1.5、所述定时器的定时时间到后,开始遍历优先级队列,取出队列上的某个用户的相应优先级的数据流链表上的数据包进行发送。
4.根据权利要求3所述的基于用户数据流优先级的队列调度方法,其特征在于:
在步骤S1.2中,速率表为包含100个元素的数组,i表示数组某个元素的下标值,从0到99,C2为常量16,表示每个元素值的区间范围的大小为16,则速率表覆盖范围为从0到1600,W表示带宽,单位为一秒内的字节数,初始值为1Gbps,该值在模块加载完成后通过应用层下发配置修改之,C3为常量,表示一微妙内的滴答数,所以t(i)值为发送i*16到(i+1)*16之间字节大小的数据包时所需要的令牌数量;
在步骤S1.3中,通过将数据包大小/16,得到该数据包消耗的令牌数落入哪个区间k,当k=100时,此时的t(k)值则为发送此数据包的令牌数,如果k大于速率表大小100,则发送此数据包的令牌数,为t(99)*(k/100)+t(k%100);
在步骤S1.4中,所述优先级队列是一个二维数组,第一纬包含2个元素用于表示方向,0和1分别表示上行方向与下行方向,第二纬包含7个元素用于表示优先级大小,数字越小,优先级越高,0到6分别表示最高,较高,高,中,低,较低,最低优先级;
在步骤S1.5中,所述定时器使用了内核定时器struct timer_list,该定时器是以jiffies为单位的定时值,定时间隔10毫秒。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市吉祥腾达科技有限公司,未经深圳市吉祥腾达科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210412165.4/1.html,转载请声明来源钻瓜专利网。
- 上一篇:抗菌岩板及其制作方法
- 下一篇:一种术后康复用助行器





