一种带宽资源分配系统与方法

文档序号:7986337阅读:262来源:国知局
一种带宽资源分配系统与方法
【专利摘要】本发明涉及一种带宽资源分配系统,包括优先级划分策略存储模块、数据包分类器、数据包处理器、剩余带宽估计模块;其中,数据包分类器从优先级划分策略存储模块读取优先级划分策略,并对外部传输而来的、经过网络协议栈处理的网络数据包实现分类,分类后的网络数据包被传输到数据包处理器中,数据包处理器根据所述剩余带宽估计模块的估计结果对网络数据包加以处理,以保证高优先级的数据包优先处理,网络数据包最终被分配到外部对应的应用中。本发明无需事先假设系统的接入带宽大小和预留带宽,可以根据优先级对网络数据进行细粒度的调度,在高优先级应用得到最大可能的带宽资源的前提下利用剩余带宽更为低优先级的业务提供网络服务。
【专利说明】一种带宽资源分配系统与方法
【技术领域】
[0001]本发明涉及嵌入式系统,特别涉及一种带宽资源分配系统与方法。
【背景技术】
[0002]随着“三网融合”的全面推进,各种网络业务不断涌现,推动了能够承载融合网络业务的嵌入式终端的发展,具有网络接入能力、支持各种网络业务的嵌入式终端受到了科研、运营机构和生产部门的关注。
[0003]各种网络业务,特别一些流媒体服务或下载服务,需要大量的网络带宽资源。尽管近年来用户接入带宽得到很大的提升,但针对如此多对网络资源高需求的应用仍显得捉襟见肘。嵌入式终端多采用Linux平台或者Android平台进行开发。Linux操作系统处理网络数据包采用FCFS (First Come First Serve,先进先服务)的策略。它本身并不区分网络数据包的优先级,只是简单地通过网络协议栈处理,然后递交到应用层。这样做的好处是可以最大化系统吞吐量,获得最高的网络带宽利用率。但是,当网络接入带宽资源耗尽时,部分应用的QoS得不到保证,而这些业务有可能是用户最为关注的业务。
[0004]针对带宽资源的使用,现有的一些技术通过预留带宽的方式以保证用户关注业务的带宽资源,如windows上的一些管理程序预留出带宽以保证浏览器访问网页的性能。这种方法虽然能够一定程度上保证某一业务的QoS需求,但如何确定预留的带宽值是一个难题,当预留出的带宽大于业务需求,则造成带宽资源的浪费,反之则业务对网络的需求得不到满足。

【发明内容】

[0005]本发明的目的在于克服现有的带宽分配方法或者容易造成带宽资源浪费,或者使得业务对网络的需求无法得到满足的缺陷,从而提供一种更为高效、合理的带宽资源分配系统与方法。
[0006]为了实现上述目的,本发明提供了一种带宽资源分配系统,包括优先级划分策略存储模块、数据包分类器、数据包处理器、剩余带宽估计模块;其中,
[0007]所述的数据包分类器从所述的优先级划分策略存储模块读取优先级划分策略,并对外部传输而来的、经过网络协议栈处理的网络数据包实现分类,分类后的网络数据包被传输到所述数据包处理器中,所述数据包处理器根据所述剩余带宽估计模块的估计结果对所述的网络数据包加以处理,以保证高优先级的数据包优先处理,网络数据包最终被分配到外部对应的应用中。
[0008]上述技术方案中,所述的优先级划分策略包括依据应用程序对带宽资源的占用特点将应用程序划分为三个固定优先级:时间敏感型、突发型和普通型;时间敏感型的应用优先级最高,突发型的应用优先级次之,普通型的应用优先级最低;
[0009]其中,时间敏感型对应于前台应用,即用户正在关注的应用;突发型对应于对网络流量要求不多的后台应用,包括后台通信进程;普通型对应于占用网络带宽大的后台应用,包括后台下载。
[0010]上述技术方案中,所述的数据包分类器在接收到网络数据包后,提取该网络数据包的属性,包括数据包的源端口、源IP、目的端口及目的IP,将所接收网络数据包的属性与预知的应用所需网络服务的属性进行比较,得到该网络数据包所属应用,进而得到该网络数据包的优先级类型,从而实现对网络数据包的分类。
[0011]上述技术方案中,所述的数据包处理器根据网络数据包所属的应用类型和当前剩余带宽资源,为网络数据包增加不同的时间延迟,优先级越高的网络数据包所增加的时间延迟越小。
[0012]上述技术方案中,所述的数据包处理器在处理数据包时,首先判断当前网络数据包的优先级类型,对于时间敏感型的数据包,处理延迟为0,对于其他两种类型的数据包,接着判断当前剩余带宽是否大于阈值,若大于且在较当前数据包的优先级更高的队列中尚有未处理的数据包,则增加当前数据包的处理延迟,若大于且较当前数据包的优先级更高的队列为空,则减少当前数据包的处理延迟;若当前剩余带宽小于阈值,则增加当前数据包的处理延迟。
[0013]上述技术方案中,所述剩余带宽估计模块在计算当前所能使用的带宽资源时,采用利用估计的总带宽减去当前使用的带宽资源的方法。
[0014]上述技术方案中,所述剩余带宽估计模块在估计总带宽时,首先设定总带宽为初始值为Btl ;接着统计单位时间内系统已经使用的带宽资源B’;再探测当前系统的剩余带宽;最后更新总带宽值B:当剩余带宽不足时,总带宽值为单位时间内系统已使用的带宽,SPB=B’,否则,总带宽Β=Β’ + Λ B。
[0015]本发明还提供了一种在所述的带宽资源分配系统上实现的带宽资源分配方法,包括:
[0016]步骤I)、数据包分类器从外部接收到网络数据包后,对其进行处理,获取所述网络数据包的属性信息,包括源ΙΡ,源端口,目的IP和目的端口 ;
[0017]步骤2)、将所述网络数据包的属性信息以及预知的应用所需网络服务的属性信息进行比较,得到该网络数据包所属应用,进而得到该网络数据包的优先级类型,将不同优先级的网络数据包存储到不同的优先级队列中;
[0018]步骤3)、依据网络数据包的优先级和当前的带宽资源状况,分别计算网络数据包的处理延迟;
[0019]步骤4)、根据处理延迟和当前时间,计算网络数据包的到期时间,按照到期时间的先后,将网络数据包放入数据包等待队列中;所述数据包等待队列按照先进先出的顺序处理数据;
[0020]步骤5)、检测所述数据包等待队列,获取首包的到期时间;
[0021]步骤6)、判断当前时间是否大于数据包等待队列中首个包的到期时间,若是执行下一步,否则重新执行步骤5);
[0022]步骤7)、将数据包等待队列中的首个包放入缓冲区;
[0023]步骤8)、应用程序读取该网络数据包。
[0024]上述技术方案中,所述的步骤3)包括:
[0025]步骤3-1)、判断当前数据包的优先级类型,对于时间敏感型的数据包,处理延迟为O,对于其他两种类型的数据包,执行后续操作;(
[0026]步骤3-2)、若当前剩余带宽大于阈值,而在较当前数据包的优先级更高的队列中尚有未处理的数据包,则增加当前数据包的处理延迟,若较当前数据包的优先级更高的队列为空,则减少当前数据包的处理延迟;
[0027]步骤3-3)、若当前剩余带宽小于阈值,则增加当前数据包的处理延迟。
[0028]本发明的优点在于:
[0029]1、本发明通过对应用使用的带宽资源进行管理,利用有限的带宽资源为多个应用提高有效的带宽资源分配策略,有效保证了用户关注业务的带宽资源;
[0030]2、本发明无需事先假设系统的接入带宽大小和预留带宽,可以根据优先级对网络数据进行细粒度的调度,在高优先级应用得到最大可能的带宽资源的前提下利用剩余带宽更为低优先级的业务提供网络服务。
【专利附图】

【附图说明】
[0031]图1是本发明的嵌入式带宽资源分配系统的结构示意图。
【具体实施方式】
[0032]现结合附图对本发明作进一步的描述。
[0033]参考图1,本发明的嵌入式带宽资源分配系统包括:优先级划分策略存储模块、数据包分类器、数据包处理器、剩余带宽估计模块;其中,所述的数据包分类器能够从所述的优先级划分策略存储模块读取优先级划分策略,并对外部传输而来的、经过网络协议栈处理的网络数据包实现分类,分类后的网络数据包被传输到数据包处理器中,所述数据包处理器根据剩余带宽估计模块的估计结果对所述的网络数据包加以处理,以保证高优先级的数据包优先处理,网络数据包最终被分配到对应的应用程序中。
[0034]下面对系统中各个模块的功能做进一步说明。
[0035]所述的数据包分类器依据网络数据包的属性以及优先级划分策略对数据包进行分类,并将其存放到对应的优先级队列中。其中,所述网络数据包的属性包括数据包的源端口、源IP、目的端口及目的IP。在所述的优先级划分策略中,依据应用程序对带宽资源的占用特点将应用程序划分为三个固定优先级:时间敏感型、突发型和普通型。时间敏感型对应于前台应用,即用户正在关注的应用;突发型对应于对网络流量要求不多的后台应用,如后台通信进程;普通型对应于占用网络带宽大的后台应用,如后台下载。对于时间敏感型应用,应保证其得到最高优先级的处理,突发型次之,最后是普通型。
[0036]数据包分类器在接收到网络数据包后,提取该网络数据包的属性,包括数据包的源端口、源IP、目的端口及目的IP,将所接收网络数据包的属性与预知的应用所需网络服务的属性(包括该应用所需网络服务所对应的IP、端口信息)进行比较,得到该网络数据包所属应用,进而得到该网络数据包的优先级类型,从而实现对网络数据包的分类。具有不同优先级的网络数据包被放入不同的优先级队列中。
[0037]所述的数据包处理器根据数据包所属的应用类型和当前剩余带宽资源,增加不同的处理延迟,从而实现数据包的优先级调度,优先级越高的数据包延迟越小。
[0038]具体而言,数据包处理器对当前所要处理的处理包执行如下操作:(I)判断当前数据包的优先级类型,对于时间敏感型的数据包,处理延迟为O,对于其他两种类型的数据包,执行后续操作;(2)若当前剩余带宽大于阈值,而在较当前数据包的优先级更高的队列中尚有未处理的数据包,则增加当前数据包的处理延迟,若较当前数据包的优先级更高的队列为空,则减少当前数据包的处理延迟;(3)若当前剩余带宽小于阈值,则增加当前数据包的处理延迟。
[0039]所述的剩余带宽估计模块用于计算当前所能使用的带宽资源。该模块在计算当前所能使用的带宽资源时,采用了用估计的总带宽减去当前使用的带宽资源的方法。目前已有多种技术可探测系统的剩余带宽,但考虑到频繁的探测流需要浪费一定的带宽资源以及实时性不够的问题,本发明采用定期探测剩余带宽(不需要过于频繁)和统计探测期间使用的带宽资源来估算总带宽,在实时调整的时候,再根据估算出来的总带宽减去当前占用的带宽来得到实时的剩余带宽。估算总带宽的具体步骤包括:(I)设定总带宽为初始值为B0 ; (2)统计单位时间内系统已经使用的带宽资源B’;(3)探测当前系统的剩余带宽;(4)更新总带宽值B:当剩余带宽不足时,总带宽值为单位时间内系统已使用的带宽,即B=B’,否贝U,总带宽Β=Β’ +ΛΒ。另外,当前使用的带宽情况可以通过统计得到。
[0040]以上是对本发明的嵌入式带宽资源分配系统的说明,下面结合该系统对带宽资源分配方法进行描述。
[0041]步骤201)、数据包分类器从外部接收到网络数据包后,对其进行处理,获取所述网络数据包的属性信息,包括源IP,源端口,目的IP和目的端口 ;
[0042]步骤202)、将所述网络数据包的属性信息以及预知的应用所需网络服务的属性信息进行比较,得到该网络数据包所属应用,进而得到该网络数据包的优先级类型,将不同优先级的网络数据包存储到不同的优先级队列中;
[0043]步骤203)、依据网络数据包的优先级和当前的带宽资源状况,分别计算网络数据包的处理延迟;
[0044]步骤204)、根据处理延迟和当前时间,计算网络数据包的到期时间,按照到期时间的先后,将网络数据包放入数据包等待队列中;所述数据包等待队列按照先进先出的顺序处理数据;
[0045]步骤205)、检测所述数据包等待队列,获取首包的到期时间;
[0046]步骤206)、判读当前时间是否大于数据包等待队列中首个包的到期时间,若是执行下一步,否则重新执行步骤205);
[0047]步骤207)、将数据包等待队列中的首个包放入缓冲区;
[0048]步骤208)、应用程序读取该网络数据包。
[0049]最后所应说明的是,以上实施例仅用以说明本发明的技术方案而非限制。尽管参照实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,对本发明的技术方案进行修改或者等同替换,都不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。
【权利要求】
1.一种带宽资源分配系统,其特征在于,包括优先级划分策略存储模块、数据包分类器、数据包处理器、剩余带宽估计模块;其中, 所述的数据包分类器从所述的优先级划分策略存储模块读取优先级划分策略,并对外部传输而来的、经过网络协议栈处理的网络数据包实现分类,分类后的网络数据包被传输到所述数据包处理器中,所述数据包处理器根据所述剩余带宽估计模块的估计结果对所述的网络数据包加以处理,以保证高优先级的数据包优先处理,网络数据包最终被分配到外部对应的应用中。
2.根据权利要求1所述的带宽资源分配系统,其特征在于,所述的优先级划分策略包括依据应用程序对带宽资源的占用特点将应用程序划分为三个固定优先级:时间敏感型、突发型和普通型;时间敏感型的应用优先级最高,突发型的应用优先级次之,普通型的应用优先级最低; 其中,时间敏感型对应于前台应用,即用户正在关注的应用;突发型对应于对网络流量要求不多的后台应用,包括后台通信进程;普通型对应于占用网络带宽大的后台应用,包括后台下载。
3.根据权利要求2所述的带宽资源分配系统,其特征在于,所述的数据包分类器在接收到网络数据包后,提取该网络数据包的属性,包括数据包的源端口、源IP、目的端口及目的IP,将所接收网络数据包的属性与预知的应用所需网络服务的属性进行比较,得到该网络数据包所属应用,进而得到该网络数据包的优先级类型,从而实现对网络数据包的分类。
4.根据权利要求1所述的带宽资源分配系统,其特征在于,所述的数据包处理器根据网络数据包所属的应用类型和当前剩余带宽资源,为网络数据包增加不同的时间延迟,优先级越高的网络数据包所增加的时间延迟越小。
5.根据权利要求4所述的带宽资源分配系统,其特征在于,所述的数据包处理器在处理数据包时,首先判断当前网络数据包的优先级类型,对于时间敏感型的数据包,处理延迟为O,对于其他两种类型的数据包,接着判断当前剩余带宽是否大于阈值,若大于且在较当前数据包的优先级更高的队列中尚有未处理的数据包,则增加当前数据包的处理延迟,若大于且较当前数据包的优先级更高的队列为空,则减少当前数据包的处理延迟;若当前剩余带宽小于阈值,则增加当前数据包的处理延迟。
6.根据权利要求1所述的带宽资源分配系统,其特征在于,所述剩余带宽估计模块在计算当前所能使用的带宽资源时,采用利用估计的总带宽减去当前使用的带宽资源的方法。
7.根据权利要求6所述的带宽资源分配系统,其特征在于,所述剩余带宽估计模块在估计总带宽时,首先设定总带宽为初始值为Btl ;接着统计单位时间内系统已经使用的带宽资源B’ ;再探测当前系统的剩余带宽;最后更新总带宽值B:当剩余带宽不足时,总带宽值为单位时间内系统已使用的带宽,即B=B’,否则,总带宽Β=Β’ +ΛΒ。
8.—种在权利要求1-7之一的带宽资源分配系统上实现的带宽资源分配方法,包括: 步骤I)、数据包分类器从外部接收到网络数据包后,对其进行处理,获取所述网络数据包的属性信息,包括源IP,源端口,目的IP和目的端口 ; 步骤2)、将所述网络数据包的属性信息以及预知的应用所需网络服务的属性信息进行比较,得到该网络数据包所属应用,进而得到该网络数据包的优先级类型,将不同优先级的网络数据包存储到不同的优先级队列中; 步骤3)、依据网络数据包的优先级和当前的带宽资源状况,分别计算网络数据包的处理延迟; 步骤4)、根据处理延迟和当前时间,计算网络数据包的到期时间,按照到期时间的先后,将网络数据包放入数据包等待队列中;所述数据包等待队列按照先进先出的顺序处理数据; 步骤5)、检测所述数据包等待队列,获取首包的到期时间; 步骤6)、判断当前时间是否大于数据包等待队列中首个包的到期时间,若是执行下一步,否则重新执行步骤5); 步骤7)、将数据包等待队列中的首个包放入缓冲区; 步骤8)、应用程序读取该网络数据包。
9.根据权利要求8所述的带宽资源分配方法,其特征在于,所述的步骤3)包括: 步骤3-1)、判断当前数据包的优先级类型,对于时间敏感型的数据包,处理延迟为O,对于其他两种类型的数据包,执行后续操作; 步骤3-2)、若当前剩余带宽大于阈值,而在较当前数据包的优先级更高的队列中尚有未处理的数据包,则增加当前数据包的处理延迟,若较当前数据包的优先级更高的队列为空,则减少当前数据 包的处理延迟; 步骤3-3)、若当前剩余带宽小于阈值,则增加当前数据包的处理延迟。
【文档编号】H04L12/865GK103841052SQ201210491521
【公开日】2014年6月4日 申请日期:2012年11月27日 优先权日:2012年11月27日
【发明者】朱小勇, 姜艳, 孙鹏, 程钢 申请人:中国科学院声学研究所, 上海尚恩华科网络科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1