一种下载限速的方法和系统的制作方法

文档序号:7743039阅读:227来源:国知局
专利名称:一种下载限速的方法和系统的制作方法
技术领域
本发明涉及互联网的点对点(P2P,Peer-to-Peer)下载技术,尤其涉及一种下载限速的方法和系统。
背景技术
与传统的分布式系统相比,P2P技术具有无可比拟的优势,从而具有广泛的应用前景,一时间,互联网上各种P2P应用软件层出不穷,用户数量急剧增加。P2P下载是目前互联网的主要应用之一,也是占用服务器带宽最多的应用,而且下载的文件如游戏、其他应用软件等也呈现出越来越大的趋势。目前主流的P2P下载工具都是采用超文本传输协议(HTTP, HyperText Transfer Protocol)多源下载和P2P下载相结合的方式,如果离开了 HTTP下载源的支持,P2P下载也就无法发挥实际的作用。然而,目前众多的P2P下载软件都在一味的追求下载速度,从而导致服务器带宽费用增加,用户带宽被占满,甚至无法浏览网站。而且, 现有的P2P下载工具,几乎从未考虑过如何在保障一定下载速度的前提下尽量节省服务器带宽的问题。现有技术中提供的一种下载限速的系统,如图1所示,该系统主要由下载速度测量模块10、HTTP下载模块20和P2P下载模块30组成,下载速度限制就是通过下载速度测量模块10、HTTP下载模块20和P2P下载模块30共同完成的。其中,下载速度测量模块10 用于实时监控当前的下载速度,HTTP下载模块20和P2P下载模块30分别完成数据下载的功能。在用户通过下载软件用户界面(UI,User Interface)设置了下载速度的限制值后, 如果下载速度测量模块10测量的总下载速度(包括HTTP下载速度和P2P下载速度)超出了用户设置的限制值,则需通知HTTP下载模块20和P2P下载模块30对下载速度进行调整。 对于HTTP下载模块20,其通过减缓数据的接收速度,来达到降低HTTP下载速度的目的;对于P2P下载模块30,其通过降低请求数据的速度,来达到减缓下载速度的目的。由此可以看出,现有技术中的下载限速方案,虽然能够有效的对下载速度进行控制,但其下载速度的控制并没有考虑到优先限制HTTP的下载速度,从而容易导致HTTP服务器的带宽费用始终保持在较高的水平上,不利于节省HTTP服务器的带宽。

发明内容
有鉴于此,本发明的主要目的在于提供一种下载限速的方法和系统,以实现优先限制HTTP的下载速度,节省HTTP服务器的带宽。为达到上述目的,本发明的技术方案是这样实现的本发明提供了一种下载限速的方法,该方法包括分别对超文本传输协议(HTTP)下载速度和点对点(P2P)下载速度进行实时监控和测量,并得到总下载速度;在所述总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制。所述在总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制,具体为 判断所述P2P下载速度是否大于或等于预设的限速值,如果是,则设置所述P2P下载速度等于所述限速值,并设置所述HTTP下载速度为零;否则,设置所述HTTP下载速度等于所述限制值与P2P下载速度的差值。所述在总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制,具体为在总下载速度超出用户预设的限速值时,逐次降低所述HTTP下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。该方法进一步包括如果所述HTTP下载速度降低到零时,当前的总下载速度仍超出用户预设的限速值,则逐次降低所述P2P下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。本发明还提供了一种下载限速的系统,该系统包括HTTP下载模块、P2P下载模块、HTTP下载速度测量模块、P2P下载速度测量模块和下载限速管理模块,其中,所述HTTP下载模块和P2P下载模块,用于在下载限速管理模块控制下,执行数据下载;所述HTTP下载速度测量模块,用于对HTTP下载速度进行实时监控和测量,并将测量所得HTTP下载速度提供给所述下载限速管理模块;所述P2P下载速度测量模块,用于对P2P下载速度进行实时监控和测量,并将测量所得P2P下载速度提供给所述下载限速管理模块;所述下载限速管理模块,用于根据接收的HTTP下载速度和P2P下载速度得到总下载速度,并判断所述总下载速度是否超出用户预设的限速值,在判断超出时,优先对HTTP 下载速度进行限制。所述下载限速管理模块进一步用于,在所述总下载速度超出用户预设的限速值时,判断所述P2P下载速度是否大于或等于预设的限速值,如果是,则设置所述P2P下载速度等于所述限速值,并设置所述HTTP下载速度为零;否则,设置所述HTTP下载速度等于所述限制值与P2P下载速度的差值;相应的,所述HTTP下载模块和P2P下载模块进一步用于,根据所述下载限速管理模块的速度设置执行数据下载。所述下载限速管理模块进一步用于,在总下载速度超出用户预设的限速值时,逐次降低所述HTTP下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。所述下载限速管理模块进一步用于,在所述HTTP下载速度降低到零,且当前的总下载速度仍超出用户预设的限速值时,逐次降低所述P2P下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。本发明所提供的一种下载限速的方法和系统,分别对HTTP下载速度和P2P下载速度进行实时监控和测量,并得到总下载速度;在总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制。通过本发明的方法和装置,在总下载速度超出用户预设的限速值时,优先限制HTTP下载速度,从而能够充分发挥P2P下载的作用,达到节省HTTP服务器带宽成本的目的。


图1为现有技术中下载限速的系统结构示意图;图2为本发明一种下载限速的系统结构示意图;图3为本发明一种下载限速的方法流程图。
具体实施例方式下面结合附图和具体实施例对本发明的技术方案进一步详细阐述。本发明提供了一种以节省HTTP服务器带宽为目的的下载限速方法,其核心思想为分别对HTTP下载速度和P2P下载速度进行实时监控和测量,并得到总下载速度;在总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制。基于上述思想,本发明所提供的一种下载限速的系统,如图2所示,该系统由HTTP 下载模块20、P2P下载模块30、HTTP下载速度测量模块40、P2P下载速度测量模块50和下载限速管理模块60组成。其中,HTTP下载模块20和P2P下载模块30,用于在下载限速管理模块60的控制下,执行数据下载。HTTP下载模块20负责HTTP下载部分,P2P下载模块30负责P2P下载部分。HTTP下载速度测量模块40,用于对HTTP下载速度进行实时监控和测量,并将测量所得HTTP下载速度提供给下载限速管理模块60。P2P下载速度测量模块50,用于对P2P下载速度进行实时监控和测量,并将测量所得P2P下载速度提供给下载限速管理模块60。下载限速管理模块60,用于根据HTTP下载速度测量模块40提供的HTTP下载速度,以及P2P下载速度测量模块50提供的P2P下载速度得到总下载速度,并判断总下载速度是否超出用户预设的限速值,在判断超出时,优先对HTTP下载速度进行限制。所谓优先对HTTP下载速度进行限制,可以有多种实现方式,且本发明中并不对优先限制HTTP下载速度的策略进行限定,凡是基于优先限制HTTP下载速度这一思想的各种实现方式都应属于本发明的保护范围。本发明提供的第一种实现方式为在总下载速度超出用户预设的限速值时,判断 P2P下载速度是否大于或等于预设的限速值,如果是,则设置P2P下载速度等于限速值,并设置HTTP下载速度为零;否则,设置HTTP下载速度等于限制值与P2P下载速度的差值;相应的,HTTP下载模块20和P2P下载模块30则根据下载限速管理模块60设置的速度执行数据下载。本发明提供的第二种实现方式为在总下载速度超出用户预设的限速值时,逐次降低HTTP下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止;如果 HTTP下载速度降低到零时,当前的总下载速度仍超出用户预设的限速值,则逐次降低P2P 下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。例如用户预定的限速值为100KB/S,规定HTTP下载速度和P2P下载速度每次降低为10KB/S ;如果测量HTTP下载速度为50KB/S,P2P下载速度为70KB/S,那么总下载速度为120KB/S,超出了 100KB/S,从而HTTP下载速度需要降低两次(每次降低10KB/S),才能使总下载速度不超出 100KB/S。再例如用户预定的限速值为100KB/S,规定HTTP下载速度和P2P下载速度每次降低为10KB/S ;如果测量HTTP下载速度为20KB/S,P2P下载速度为100KB/S,那么总下载速度为120KB/S,超出了 100KB/S,从而HTTP下载速度需要降低两次(每次降低10KB/S),即降低到零,才能使总下载速度不超出100KB/S。再例如用户预定的限速值为100KB/S,规定 HTTP下载速度和P2P下载速度每次降低为10KB/S ;如果测量HTTP下载速度为10KB/S,P2P 下载速度为110KB/S,那么总下载速度为120KB/S,超出了 100KB/S,从而先降低HTTP下载速度;HTTP下载速度降低到零时,判断当前的总下载速度仍超出100KB/S,进而降低P2P下载速度,降低为100KB/S,才能使总下载速度不超出100KB/S。相比第一种实现方式,第二种实现方式是在总下载速度超出用户预设的限速值的情况下,不再执行任何判断和计算的操作,直接开始试探性的降低HTTP下载速度,且一边降低一边判断当前的总下载速度是否仍然超出用户预设的限速值,直到判断当前的总下载速度小于或等于用户预设的限速值为止。也就是说,第一种实现方式通过判断和计算操作, 进行一次精确的调整,即可达到用户期望的下载速度;而第二种实现方式,省去了精确计算的操作,采用试探性的调整,通常需要进行多次调整才能达到用户期望的下载速度。下面再结合图3,对上述本发明提供的第一种实现方式进一步详细阐述。如图3所示,该下载限速方法主要包括以下步骤步骤301,通过实时监控和测量,获取总下载速度。HTTP下载速度测量模块40对HTTP下载速度进行实时监控和测量,并将测量所得 HTTP下载速度提供给下载限速管理模块60 ;P2P下载速度测量模块50对P2P下载速度进行实时监控和测量,并将测量所得P2P下载速度也提供给下载限速管理模块60。从而,下载限速管理模块60能够根据HTTP下载速度测量模块40提供的HTTP下载速度,以及P2P下载速度测量模块50提供的P2PA下载速度得到总下载速度,即总下载速度=HTTP下载速度 +P2P下载速度。步骤302,判断总下载速度是否大于用户通过下载软件UI预设的限速值,如果是, 执行步骤303 ;否则,返回步骤301。步骤303,获取HTTP下载速度和P2P下载速度。步骤304,判断P2P下载速度是否大于或等于限速值,如果是,执行步骤305 ;否则, 执行步骤307。步骤305,设置P2P下载速度等于限速值,P2P下载模块30按照设置的P2P下载速度进行数据下载。步骤306,设置HTTP下载速度为零,执行完后返回步骤301。步骤307,设置HTTP下载速度等于限制值与P2P下载速度的差值,P2P下载速度保持不变,执行完后返回步骤301。需要说明的是,HTTP下载模块20是通过减缓数据的接收速度,来达到降低HTTP下载速度的目的;在本发明的HTTP下载过程中,HTTP下载模块20仅检测当前HTTP的下载速度是否超出限速管理模块60所设置的HTTP限速值,依此控制HTTP下载速度在设置的HTTP 限速值以下。P2P下载模块30是通过降低请求数据的速度,来达到降低P2P下载速度的目的;在本发明的P2P下载过程中,P2P下载模块30仅检测当前P2P的下载速度是否超出限速管理模块60所设置的P2P限速值,依此控制P2P下载速度在设置的P2P限速值以下。综上所述,通过本发明的下载限速的方法和系统,在总下载速度超出用户预设的限速值时,优先限制HTTP下载速度,从而能够充分发挥P2P下载的作用,并减少向HTTP服务器请求的次数,达到节省HTTP服务器带宽成本的目的。 以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。
权利要求
1.一种下载限速的方法,其特征在于,该方法包括分别对超文本传输协议(HTTP)下载速度和点对点(P2P)下载速度进行实时监控和测量,并得到总下载速度;在所述总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制。
2.根据权利要求1所述下载限速的方法,其特征在于,所述在总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制,具体为判断所述P2P下载速度是否大于或等于预设的限速值,如果是,则设置所述P2P下载速度等于所述限速值,并设置所述HTTP下载速度为零;否则,设置所述HTTP下载速度等于所述限制值与P2P下载速度的差值。
3.根据权利要求1所述下载限速的方法,其特征在于,所述在总下载速度超出用户预设的限速值时,优先对HTTP下载速度进行限制,具体为在总下载速度超出用户预设的限速值时,逐次降低所述HTTP下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。
4.根据权利要求3所述下载限速的方法,其特征在于,该方法进一步包括如果所述 HTTP下载速度降低到零时,当前的总下载速度仍超出用户预设的限速值,则逐次降低所述 P2P下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。
5.一种下载限速的系统,其特征在于,该系统包括HTTP下载模块、P2P下载模块、HTTP 下载速度测量模块、P2P下载速度测量模块和下载限速管理模块,其中,所述HTTP下载模块和P2P下载模块,用于在下载限速管理模块控制下,执行数据下载;所述HTTP下载速度测量模块,用于对HTTP下载速度进行实时监控和测量,并将测量所得HTTP下载速度提供给所述下载限速管理模块;所述P2P下载速度测量模块,用于对P2P下载速度进行实时监控和测量,并将测量所得 P2P下载速度提供给所述下载限速管理模块;所述下载限速管理模块,用于根据接收的HTTP下载速度和P2P下载速度得到总下载速度,并判断所述总下载速度是否超出用户预设的限速值,在判断超出时,优先对HTTP下载速度进行限制。
6.根据权利要求5所述下载限速的系统,其特征在于,所述下载限速管理模块进一步用于,在所述总下载速度超出用户预设的限速值时,判断所述P2P下载速度是否大于或等于预设的限速值,如果是,则设置所述P2P下载速度等于所述限速值,并设置所述HTTP下载速度为零;否则,设置所述HTTP下载速度等于所述限制值与P2P下载速度的差值;相应的,所述HTTP下载模块和P2P下载模块进一步用于,根据所述下载限速管理模块的速度设置执行数据下载。
7.根据权利要求5所述下载限速的系统,其特征在于,所述下载限速管理模块进一步用于,在总下载速度超出用户预设的限速值时,逐次降低所述HTTP下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。
8.根据权利要求7所述下载限速的系统,其特征在于,所述下载限速管理模块进一步用于,在所述HTTP下载速度降低到零,且当前的总下载速度仍超出用户预设的限速值时, 逐次降低所述P2P下载速度,直到判断当前的总下载速度小于或等于用户预设的限速值为止。
全文摘要
本发明公开了一种下载限速的系统,包括超文本传输协议(HTTP)下载模块和点对点(P2P)下载模块,用于在下载限速管理模块控制下,执行数据下载;HTTP下载速度测量模块,用于对HTTP下载速度进行实时监控和测量,并提供给下载限速管理模块;P2P下载速度测量模块,用于对P2P下载速度进行实时监控和测量,并提供给下载限速管理模块;下载限速管理模块,用于根据接收的HTTP下载速度和P2P下载速度得到总下载速度,并判断总下载速度是否超出用户预设的限速值,在判断超出时,优先对HTTP下载速度进行限制。本发明还提供了一种下载限速的方法。通过本发明,能够充分发挥P2P下载的作用,节省HTTP服务器带宽成本。
文档编号H04L29/08GK102164157SQ20101011914
公开日2011年8月24日 申请日期2010年2月24日 优先权日2010年2月24日
发明者王志华, 邵颖哲, 陈谦, 鲁小锁 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1