公开/公告号CN103997467A
专利类型发明专利
公开/公告日2014-08-20
原文格式PDF
申请/专利权人 深圳市共进电子股份有限公司;
申请/专利号CN201410212370.1
发明设计人 周明明;
申请日2014-05-20
分类号H04L12/819;
代理机构深圳中一专利商标事务所;
代理人张全文
地址 518054 广东省深圳市南山区南海大道1019号南山医疗器械产业园B116、B118
入库时间 2023-12-17 01:14:57
法律状态公告日
法律状态信息
法律状态
2017-11-14
授权
授权
2014-09-17
实质审查的生效 IPC(主分类):H04L12/819 申请日:20140520
实质审查的生效
2014-08-20
公开
公开
技术领域
本发明属于流量控制技术领域,尤其涉及一种数据流随机公平分享带宽的 方法及装置。
背景技术
随着网络技术的飞速发展,网络终端设备越来越多,用户对网络的需求也 越来越大。网络运营商虽然每年都在提高上行带宽,但其上行带宽的提高速度 远不及广大用户对网速的增长需求。假设某网络中间设备的带宽为10Mb/s, 用户A使用BitTorrent(又称比特洪流或BT)、视频传输或其他需要大流量的 数据传输功能时,10Mb/s的上行带宽会被用户A占去大部分甚至全部,导致 其他用户网络服务质量很差甚至无法获得网络服务。
因此,针对多用户上网,对于有限的带宽,如何保证每个用户的每种业务 的网络需求都能公平地发起与处理,是一项重要的工作。
现有技术中,为了实现数据流随机公平分享带宽,采用Linux自带的QoS (Quality of Service)中的流量监管(Traffic Policing)机制。该机制是基于QDisc (Queuing Discipline,排队规则)的,所涉及的队列和过滤器种类繁多,且需 要结合应用层TC(Traffic Control,流量控制)配置工具,实现难度高。
发明内容
本发明实施例的目的在于提供一种数据流随机公平分享带宽的方法,以降 低数据流随机公平分享带宽的实现难度。
本发明实施例是这样实现的,一种数据流随机公平分享带宽的方法,包括:
在指定时间段内,当当前数据包所需消耗的令牌数小于或等于所述连接跟 踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时间段为奇数次 时间段或者偶数次时间段;
在所述奇数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连 接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令牌数小于或等 于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
本发明实施例的另一目的在于提供一种数据流随机公平分享带宽的装置, 包括:
指定时间段数据包通过模块,用于在指定时间段内,当当前数据包所需消 耗的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前 数据包,所述指定时间段为奇数次时间段或者偶数次时间段;
总令牌桶借用模块,用于在所述奇数次时间段内,当所述当前数据包所需 消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所 需消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数 据包。
本发明实施例与现有技术相比存在的有益效果是:本发明实施例通过连接 跟踪令牌桶来对业务数据流进行流量控制,通过总令牌桶来对总数据流进行流 量控制,并根据时间段次数条件,借用总令牌桶内的剩余令牌给业务数据流, 从而在网络拥塞的情况下提高上行带宽的利用率,且大大降低了数据流随机公 平分享带宽的的实现难度。
附图说明
图1是本发明实施例提供的数据流随机公平分享带宽的方法的实现流程 图;
图2是本发明实施例提供的数据流随机公平分享带宽的方法中的奇数次 时间段和偶数次时间段的示意图;
图3是本发明实施例提供的数据流随机公平分享带宽的方法中采用双层 令牌桶的示意图;
图4是本发明另一实施例提供的数据流随机公平分享带宽的方法的实现 流程图;
图5是本发明实施例提供的数据流随机公平分享带宽的装置的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅 仅用以解释本发明,并不用于限定本发明。
本发明实施例通过连接跟踪令牌桶来对业务数据流进行流量控制,通过总 令牌桶来对总数据流进行流量控制,并根据时间段次数条件,借用总令牌桶内 的剩余令牌给业务数据流,从而在网络拥塞的情况下提高上行带宽的利用率, 且大大降低了数据流随机公平分享带宽的的实现难度。
本实施例中的令牌桶包括总令牌桶和至少一个连接跟踪令牌桶。可以认 为,每个用户的每种网络业务对应于一条业务数据流,共享同一带宽的所有用 户的所有网络业务对应于总数据流。为了保证每个用户的每种业务的网络需求 能够公平地发起与处理,可以以相同的速率向每个连接跟踪令牌桶中放入令 牌,且每个令牌允许发送相同的比特数,从而实现对业务数据流进行流量控制, 以使每条业务数据流随机公平地分享带宽。
图1示出了本发明实施例提供的数据流随机公平分享带宽的方法的实现流 程图,详述如下:
在S101中,在指定时间段内,当当前数据包所需消耗的令牌数小于或等 于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数据包,所述指定时 间段为奇数次时间段或者偶数次时间段。
图2示出了本发明实施例提供的数据流随机公平分享带宽的方法中的奇数 次时间段和偶数次时间段的示意图。在本发明实施例中,将时间段分为奇数次 时间段和偶数次时间段。
需要说明的是,本实施例提供的数据流随机公平分享带宽的方法是不基于 队列的,也就是说,没有队列对到来的数据包进行缓存,每个数据包的到来都 是即时的。在指定时间段(奇数次时间段或者偶数次时间段)内,若到来的当 前数据包所需消耗的令牌数小于或等于连接跟踪令牌桶内的剩余令牌数,则当 前数据包获取对应个数的令牌,以通过当前数据包。在这里,通过当前数据包 指的是,允许连接跟踪令牌桶对应的业务数据流发送当前数据包。
在S102中,在所述奇数次时间段内,当所述当前数据包所需消耗的令牌 数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需消耗的令 牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据包。
图3示出了本发明实施例提供的数据流随机公平分享带宽的方法中采用双 层令牌桶的示意图。参照图3,在指定时间段内,当前数据包到来后,首先采 用连接跟踪令牌桶对当前数据包进行处理,通过连接跟踪令牌桶判断当前数据 包所需消耗的令牌数是否大于连接跟踪令牌桶内的剩余令牌数,若是,则进一 步判断当前时间段次数条件是否满足总令牌桶的借用条件,若满足,则判断当 前数据包所需消耗的令牌数是否小于或等于总令牌桶内的剩余令牌数,若是, 则当前数据包获取对应个数的令牌,以通过当前数据包。其中,当当前时间段 次数为奇数次时间段时,满足总令牌桶的借用条件。
进一步的,所述方法还包括:
在所述偶数次时间段内,当所述当前数据包所需消耗的令牌数大于所述连 接跟踪令牌桶内的剩余令牌数时,丢弃所述当前数据包。
作为本发明的一个实施例,采用奇偶时间段次数错开处理的方式,在时间 段次数为偶数的情况下,不允许当前数据包借用总令牌桶内的令牌;在时间段 次数为奇数的情况下允许当前数据包借用总令牌桶内的令牌,以保证上行带宽 的利用率达到最大值。需要说明的是,也可以规定在时间段次数为奇数的情况 下,不允许当前数据包借用总令牌桶内的令牌;在时间段次数为偶数的情况下 允许当前数据包借用总令牌桶内的令牌。为了便于说明,本实施例只说明允许 在奇数次时间段内借用总令牌桶内令牌的情况。
在本实施例中,若当前时间段为奇数次时间段,则采用连接跟踪令牌桶和 总令牌桶的双层令牌桶处理方式来对当前数据包进行处理。若当前时间段为偶 数次时间段,则只采用连接跟踪令牌桶来对当前数据包进行处理,当当前数据 包所需消耗的令牌数大于连接跟踪令牌桶内的剩余令牌数时,直接丢弃当前数 据包。
进一步的,所述方法还包括:
在所述指定时间段内,当所述当前数据包所需消耗的令牌数大于所述总令 牌桶内的剩余令牌数时,丢弃所述当前数据包。
在本发明实施例中,在奇数次时间段内,当当前数据包所需消耗的令牌数 大于连接跟踪令牌桶内的剩余令牌数时,将当前数据包交给总令牌桶处理。若 此时总令牌桶内的剩余令牌数不足以通过当前数据包,则丢弃当前数据包。
在偶数次时间段内,当当前数据包所需消耗的令牌数大于总令牌桶内的剩 余令牌数时,该当前数据包所需消耗的令牌数必然大于连接跟踪令牌桶内的剩 余令牌数,因此丢弃当前数据包。
图4示出了本发明另一实施例提供的数据流随机公平分享带宽的方法的实 现流程图,为了便于说明,仅示出了与本实施例相关的部分。参照图4:
a:判断当前数据包所需消耗的令牌数是否大于连接跟踪令牌桶内的剩余 令牌数?若否,则执行b;若是,则执行c;
b:通过当前数据包;
c:判断时间段次数是否为奇数?若否,则执行d;若是,则执行e;
d:丢弃当前数据包;
e:判断当前数据包所需消耗的令牌数是否小于或等于总令牌桶内的剩余 令牌数?若是,则执行b;若否,则执行d。
进一步的,所述方法还包括:
当由所述偶数次时间段切换到所述奇数次时间段时,根据预设值重置所述 连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值和叠加值重置所述总令牌 桶内的剩余令牌数,所述叠加值为经过上一个偶数次时间段后所述总令牌桶内 的剩余令牌数。
在本发明实施例中,在指定时间段由偶数次时间段切换到奇数次时间段 时,对连接跟踪令牌桶和总令牌桶进行状态重置处理。根据预设值重置连接跟 踪令牌桶内的剩余令牌数,根据上行带宽值和叠加值重置总令牌桶内的剩余令 牌数。优选的,所有连接跟踪令牌桶的预设值之和等于上行带宽值。例如,预 设值为x比特每秒,上行带宽值为y比特每秒,连接跟踪令牌桶的个数为N, 则y=N×x。
由于采用奇偶时间段处理的方式,导致在偶数次时间段内存在一定的带宽 流失,因此,本实施例在奇数次时间段的状态重置处理中,将经过上一个偶数 次时间段后总令牌桶内的剩余令牌数添加到本次奇数次时间段的总令牌桶内, 也就是将偶数次时间段的剩余总带宽延续到奇数次时间段内,从而保证在拥塞 的情况下上行带宽的利用率达到最大。
进一步的,所述方法还包括:
当由所述奇数次时间段切换到所述偶数次时间段时,根据预设值重置所述 连接跟踪令牌桶内的剩余令牌数,并根据上行带宽值重置所述总令牌桶内的剩 余令牌数。
在本发明实施例中,当指定时间段由奇数次时间段切换到偶数次时间段 时,根据预设值重置连接跟踪令牌桶内的剩余令牌数,根据上行带宽值重置总 令牌桶内的剩余令牌数。
本发明实施例通过连接跟踪令牌桶来对业务数据流进行流量控制,通过总 令牌桶来对总数据流进行流量控制,并根据时间段次数条件,借用总令牌桶内 的剩余令牌给业务数据流,从而在网络拥塞的情况下提高上行带宽的利用率, 且大大降低了数据流随机公平分享带宽的的实现难度。
图5示出了本发明实施例提供的数据流随机公平分享带宽的装置的结构框 图,该装置可以用于运行图1至图4所述的数据流随机公平分享带宽的方法。 为了便于说明,仅示出了与本实施例相关的部分。
参照图5,该装置包括:
指定时间段数据包通过模块51,在指定时间段内,当当前数据包所需消耗 的令牌数小于或等于所述连接跟踪令牌桶内的剩余令牌数时,通过所述当前数 据包,所述指定时间段为奇数次时间段或者偶数次时间段。
总令牌桶借用模块52,在所述奇数次时间段内,当所述当前数据包所需消 耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数,且所述当前数据包所需 消耗的令牌数小于或等于所述总令牌桶内的剩余令牌数时,通过所述当前数据 包。
进一步的,所述装置还包括:
偶数次时间段数据包丢弃模块,在所述偶数次时间段内,当所述当前数据 包所需消耗的令牌数大于所述连接跟踪令牌桶内的剩余令牌数时,丢弃所述当 前数据包。
进一步的,所述装置还包括:
数据包丢弃模块,在所述指定时间段内,当所述当前数据包所需消耗的令 牌数大于所述总令牌桶内的剩余令牌数时,丢弃所述当前数据包。
进一步的,所述装置还包括:
奇数次时间段状态重置模块,当由所述偶数次时间段切换到所述奇数次时 间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带 宽值和叠加值重置所述总令牌桶内的剩余令牌数,所述叠加值为经过上一个偶 数次时间段后所述总令牌桶内的剩余令牌数。
进一步的,所述装置还包括:
偶数次时间段状态重置模块,当由所述奇数次时间段切换到所述偶数次时 间段时,根据预设值重置所述连接跟踪令牌桶内的剩余令牌数,并根据上行带 宽值重置所述总令牌桶内的剩余令牌数。
本发明实施例通过连接跟踪令牌桶来对业务数据流进行流量控制,通过总 令牌桶来对总数据流进行流量控制,并根据时间段次数条件,借用总令牌桶内 的剩余令牌给业务数据流,从而在网络拥塞的情况下提高上行带宽的利用率, 且大大降低了数据流随机公平分享带宽的的实现难度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发 明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明 的保护范围之内。
机译: 将数据分组业务从多个订户路由到公共目的地出口队列,每个订户都为数据流的各自带宽收缩,一种方法和装置,用于在订户之间公平地共享过量带宽和数据包丢弃,并按合同规定的业务流的粒度进行分配
机译: 一种利用有限的同步和瞬时模式数据流的数字压缩来在信道之间共享相同带宽而不会产生干扰的,用于增强带宽有限的通信线路的信道容量的方法和设备。是
机译: 常规动态随机存取存储器(dram)一种为设备和设备dram提供等效的带宽和寻址范围的数据带宽和寻址范围的方法,以增加可用和/或更紧凑的设备dram