一种基于令牌桶的智能QOS方法及系统技术方案

技术编号:15519180 阅读:191 留言:0更新日期:2017-06-04 09:07
本发明专利技术提供一种基于令牌桶的智能QOS方法及系统,属于网络应用技术领域。本发明专利技术方法包括如下步骤:标记报文优先级,然后将标记优先级的数据包送入用户保障令牌桶;判断是否在保障带宽内,如果是,将数据包送入系统保障队列,如果否,将数据包按照用户分类送入用户队列;调度器优先将系统保障队列的数据包按照优先级顺序调入系统令牌桶,如果有剩余带宽,将用户队列的数据包调入系统令牌桶;调度器根据系统令牌桶的令牌发送数据包。本发明专利技术的有益效果为:系统在保持公平的原则上,加入惩罚机制,让部分等应用不再占用大量带宽,将带宽分配给了其他应用,并且延迟明显减小,用户上网环境得到明显改善。

【技术实现步骤摘要】
一种基于令牌桶的智能QOS方法及系统
本专利技术涉及网络应用
,尤其涉及一种基于令牌桶的智能QOS方法,还涉及一种实现所述智能QOS方法的系统。
技术介绍
随着IP技术和网络的发展,过去将网络中所有的报文无差别对待、采用先进先出、尽力交付报文等不明确、不可靠传输方式已经不再适应当前网络中涌现的各类应用、视频、语音等复杂网络业务的需求。传统的QOS大多是基于一条流(五元组标识的数据流)来进行排队和拥塞处理的流量控制,而没有对不同的应用业务加以区分,也就无法在总的网络资源有限的情况下实现为保障某部分应用的带宽而降低其它应用的服务质量的需求。企业在日常的办公过程中,不同员工对网络应用的需求是不同的,通常会出现不相关业务占用了大量的带宽资源,当网络过载或者发生拥塞时,核心业务的数据包却因为没有相应的带宽保障从而出现被延迟或者被丢弃的现象,由于总的带宽一定,要解决因业务需求带来的带宽资源抢占的问题,就需要提出一套合理的分配各用户的带宽资源的方案以达到对上网流量进行有效管理,提高网络服务质量的目的,动态的合理分配带宽。
技术实现思路
为解决现有技术中的问题,本专利技术提供一种基于令牌桶的智能QOS方法,还提供一种实现所述智能QOS方法的系统。本专利技术基于令牌桶的智能QOS方法包括如下步骤:S1:标记报文优先级,然后将标记优先级的数据包送入用户保障令牌桶;S2:判断是否在保障带宽内,如果是,将数据包送入系统保障队列,如果否,将数据包按照用户分类送入用户队列;S3:调度器优先将系统保障队列的数据包按照优先级顺序调入系统令牌桶,如果有剩余带宽,将用户队列的数据包调入系统令牌桶;S4:调度器根据系统令牌桶的令牌发送数据包。本专利技术作进一步改进,在步骤S3后,步骤S4执行前,还包括定时器触发步骤:将数据包挂载到定时器链表上,由定时器触发调入系统令牌桶。本专利技术作进一步改进,数据包在进出用户保障令牌桶和系统令牌桶时,由定时器触发每隔一定时间增加令牌,消耗的令牌在数据包进入时实时更新。本专利技术作进一步改进,在步骤S2中,系统保障队列由所有用户共用,速率在保障带宽内的用户的数据包直接进入系统保障队列按照优先级发送,其中,保障带宽的值等于总带宽除以在线用户数。本专利技术作进一步改进,用户队列中的子队列的个数等于在线用户数,其中,每个子队列中的数据包按照优先级顺序排列。本专利技术作进一步改进,数据包进入系统保障队列或者用户队列的处理方法为:S21:进队处理;S22:获取数据包优先级;S23:判断队列是否已满,如果是,丢包,退出;如果否,按照优先级进入队列,退出。本专利技术作进一步改进,在步骤S3中,调度器调取用户队列的数据包时,子队列间的数据包公平轮转出队。本专利技术作进一步改进,在步骤S3中,系统保障队列发包处理方法为:S301:系统保障队列出队处理;S302:系统保障队列的数据包按照优先级顺序由高到低依次出包;S303:判断是否有数据包,如果没有,执行步骤S305,如果有,执行步骤S304;S304:判断wan口宽带令牌是否足够,如果是,发送数据包,统计流量,然后执行步骤S302,如果否,数据包重新入队,标志wan口令牌不足;S305:系统保障队列出包完成。本专利技术作进一步改进,所述用户队列发包处理方法为:S311:开始发包;S312:用户队列数据包按照优先级从高到低出包;S313:判断是否出包成功,如果出包成功,执行步骤S314,如果出包失败,执行步骤S316;S314:判断用户是否有限速规则,如果否,执行步骤S315;如果是,判断限速令牌是否足够,如果足够,执行步骤S315;S315:判断wan口令牌是否足够,如果是,发送数据包,统计流量,然后执行步骤S312,如果否,数据包重新入队,标志wan口令牌不足;S316:退出发包。本专利技术还提供一种实现所述智能QOS方法的系统,包括报文识别模块:用于识别报文的类型;报文标记模块:用于标记报文的优先级;QOS内核实现模块:用于判断是否在保障带宽内,如果是,将数据包送入系统保障队列,如果否,将数据包按照用户分类送入用户队列;其中,所述QOS内核实现模块包括:调度器:用于优先将系统保障队列的数据包按照优先级顺序调入系统令牌桶,如果有剩余带宽,将用户队列的数据包调入系统令牌桶,并根据系统令牌桶的令牌发送数据包;令牌计算模块:用于数据包进出时计算用户保障令牌桶及系统令牌桶的数量;所述智能QOS系统还包括,接口层:用于与实现QOS内核模块与应用层的通信;发包控制接口模块:用于将数据包根据数据包上下行标记发送到指定的地址。与现有技术相比,本专利技术的有益效果是:动态合理的分配带宽,当有多台设备都有带宽需求时,避免了迅雷,P2P等多连接的应用会占用大量的带宽,导致其他用户无法上网、游戏、正常观看视频等问题,系统在保持公平的原则上,加入惩罚机制,让部分等应用不再占用大量带宽,将带宽分配给了其他应用,并且延迟明显减小,用户上网环境得到明显改善。附图说明图1为本专利技术方法流程图;图2本专利技术处理流程示意图;图3为数据包进入队列流程图;图4为用户队列数据包出队进入系统保障队列流程图;图5为系统保障队列发包处理方法流程图;图6为用户队列发包处理方法流程图;图7为系统结构框图。具体实施方式下面结合附图和实施例对本专利技术做进一步详细说明。如图1和图2所示,本专利技术基于令牌桶的智能QOS方法包括如下步骤:S1:标记报文优先级,然后将标记优先级的数据包送入用户保障令牌桶;S2:判断是否在保障带宽内,如果是,将数据包送入系统保障队列,如果否,将数据包按照用户分类送入用户队列;S3:调度器优先将系统保障队列的数据包按照优先级顺序调入系统令牌桶,如果有剩余带宽,将用户队列的数据包调入系统令牌桶;S4:调度器根据系统令牌桶的令牌发送数据包。传统的FIFO(先入先出)队列不对报文进行分类,采用先进先出的方式发送报文,无法满足我们应用优先级的需求;SPQ队列(严格优先队列)虽然采用优先级的概念,但当其高优先级队列总是有数据包时,会出现低优先级队列“饿死”的现象;CQ队列(可定制队列)技术在SPQ的技术上加以改进,避免了“饿死”现象,但是无法保障任何流的延迟问题。基于以上原因,我们在SPQ队列的基础上加以改进添加了保障队列机制,设计了一个由所有用户共用的保障队列,同时每个用户都有自己独立的优先级队列来存储数据包,无论是保障队列还是用户自己的队列仍然采用绝对优先发包机制,只有高优先级没有数据包才会发送低优先级的数据包,本例将一个优先级队列的优先级分为5级(0~4),4为最低优先级,由于每次都是先发保障队列的包再发用户自己队列包的顺序,因此可以保证新用户的流不被延迟的问题。为了更好保证用户之间的带宽的合理分配,本例设置保障带宽的机制,即用户最小保证的速率,保障带宽的值等于总带宽除以在线用户数;速率在保障带宽内的用户的数据包直接进入系统保障队列优先级发送,确保刚上线的用户能很快的从其他用户抢占自己保障带宽。此外,在以上方法的基础上,本专利技术优选地,在步骤S3后,步骤S4执行前,还包括定时器触发步骤:将数据包挂载到定时器链表上,由定时器触发调入系统令牌桶。使本专利技术的发包为数据包触发与定时器触发发包相结合,每个数据包进入本系统后触发优先发送系统保障队列数据包,再发送该用本文档来自技高网...
一种基于令牌桶的智能QOS方法及系统

【技术保护点】
一种基于令牌桶的智能QOS方法,其特征在于包括如下步骤:S1:标记报文优先级,然后将标记优先级的数据包送入用户保障令牌桶;S2:判断是否在保障带宽内,如果是,将数据包送入系统保障队列,如果否,将数据包按照用户分类送入用户队列;S3:调度器优先将系统保障队列的数据包按照优先级顺序调入系统令牌桶,如果有剩余带宽,将用户队列的数据包调入系统令牌桶;S4:调度器根据系统令牌桶的令牌发送数据包。

【技术特征摘要】
1.一种基于令牌桶的智能QOS方法,其特征在于包括如下步骤:S1:标记报文优先级,然后将标记优先级的数据包送入用户保障令牌桶;S2:判断是否在保障带宽内,如果是,将数据包送入系统保障队列,如果否,将数据包按照用户分类送入用户队列;S3:调度器优先将系统保障队列的数据包按照优先级顺序调入系统令牌桶,如果有剩余带宽,将用户队列的数据包调入系统令牌桶;S4:调度器根据系统令牌桶的令牌发送数据包。2.根据权利要求1所述的智能QOS方法,其特征在于:在步骤S3后,步骤S4执行前,还包括定时器触发步骤:将数据包挂载到定时器链表上,由定时器触发调入系统令牌桶。3.根据权利要求2所述的智能QOS方法,其特征在于:数据包在进出用户保障令牌桶和系统令牌桶时,由定时器触发每隔一定时间增加令牌,消耗的令牌在数据包进入时实时更新。4.根据权利要求1-3任一项所述的智能QOS方法,其特征在于:在步骤S2中,系统保障队列由所有用户共用,速率在保障带宽内的用户的数据包直接进入系统保障队列按照优先级发送,其中,保障带宽的值等于总带宽除以在线用户数。5.根据权利要求4所述的智能QOS方法,其特征在于:用户队列中的子队列的个数等于在线用户数,其中,每个子队列中的数据包按照优先级顺序排列。6.根据权利要求5所述的智能QOS方法,其特征在于:数据包进入系统保障队列或者用户队列的处理方法为:S21:进队处理;S22:获取数据包优先级;S23:判断队列是否已满,如果是,丢包,退出;如果否,按照优先级进入队列,退出。7.根据权利要求1-3任一项所述的智能QOS方法,其特征在于:在步骤S3中,调度器调取用户队列的数据包时,子队列间的数据包公平轮转出队。8.根据权利要求7所述的智能QOS方法,其特征在于:在步骤S3中,系统保障队列发包处理方法为:S30...

【专利技术属性】
技术研发人员:熊平
申请(专利权)人:深圳市吉祥腾达科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1