CN102811258B - 数据并发下载方法、装置和网络设备 - Google Patents
数据并发下载方法、装置和网络设备 Download PDFInfo
- Publication number
- CN102811258B CN102811258B CN201210264649.5A CN201210264649A CN102811258B CN 102811258 B CN102811258 B CN 102811258B CN 201210264649 A CN201210264649 A CN 201210264649A CN 102811258 B CN102811258 B CN 102811258B
- Authority
- CN
- China
- Prior art keywords
- link
- downloaded
- file
- concurrent
- current
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
本发明提供一种数据并发下载方法、装置和网络设备,方法包括:对文件服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息;根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接;采用调整后的并发链接将所述待下载文件下载到所述设备本地。本发明还提供了一种数据并发下载装置和网络设备。本发明能够动态调整并发链接的数量,在不过分挤占带宽的前提下,提升了文件传输效率。
Description
技术领域
本发明涉及通信技术,尤其涉及一种数据并发下载方法、装置和网络设备。
背景技术
文件传输协议(FileTransferProtocol;以下简称:FTP)是网络中常见的传输协议,一般用于文件共享。FTP传输基于传输控制协议(TransmissionControlProtocol;以下简称:TCP)实现,具有传输可靠的特点;FTP实现相对简单、容易部署,且能对不同用户设置不同的访问权限。FTP还可以执行双向传输,即FTP客户端可以从FTP站点下载资源的同时,也可以在获取对应权限的前提下,向FTP站点上传资源。基于以上特点,FTP成为具体机构设施共享资源的主要方式之一。当前,很多知名的公司、学校、科研机构均部署了自己的FTP站点,向外界共享资源。FTP传输是基于命令交互实现,任意的一次FTP传输,均对应着一个控制链接和一个数据链接;控制链接负责传输对应的交互命令,数据链接负责传输具体的文件信息。对于一个数据链接,其生命期仅能传输一个文件;对于控制链接,其生命期内可以对应着多个文件传输;通常情况下,一个FTP客户端和一个FTP服务端之间仅能存在一个数据链接,这意味着,当一个FTP客户端向特定的FTP服务端下载文件时,只能单个文件地逐步下载。但为了提高传输速度,FTP也能够支持一个客户端同时对服务端的多个文件的并发传输,比如freshFTP。在广域网环境内,考虑丢包,时延等问题的影响,当FTP下载的文件规模较大时,对应的下载时间将会很长,甚至会出现传输中断。因此,FTP传输优化是广域网优化系统的一个重要组成部分。
现有技术中对FTP跨广域网传输优化的主要途径是采用并发下载的方式实现,对应的途径主要有三种,分别是多线程下载,服务器选择技术和多服务器并发下载。其中多线程下载为常用的一种方式,多线程下载是利用FTP的断点续传功能实现。所谓断点续传功能,是指在文件下载过程出现中断之后,当FTP数据链接重新建立后,FTP客户端能够通知FTP服务器上次下载中断的位置,并直接从上次下载中断的位置处继续开始下载。这一功能使得FTP客户端能够自行决定具体文件的起始下载点,并控制对应的下载数据量,使得一个FTP链接能够仅下载一个文件的指定分块。多线程下载将一个文件切分成多个子份,每个子份由一个单独的FTP链接下载,这样,多个FTP链接执行并发下载,达到了更快的下载的速度。
然而,现有技术中的多线程下载方法在FTP传输过程中并发发起的链接数目是固定的,可能导致带宽被过分挤占。
发明内容
本发明提供一种数据并发下载方法、装置和网络设备,能够动态调整并发链接的数量,在不过分挤占带宽的前提下,提升文件传输效率。
本发明的第一个方面是提供一种数据并发下载方法,包括:
对文件服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息;
根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接;
采用调整后的并发链接将所述待下载文件下载到所述设备本地。
本发明的另一个方面是提供一种数据并发下载装置,包括:
第一解析模块,用于对文件服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息;
调整模块,用于根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接;
下载模块,用于采用调整后的并发链接将所述待下载文件下载到所述设备本地。
本发明的又一个方面是提供一种网络设备,包括上述的数据并发下载装置。
本发明的技术效果是:通过对待下载文件进行解析,获取对待下载文件具有访问权限的访问用户的用户信息,根据设备自身的运行状况、当前的带宽占用情况以及访问用户的用户信息,动态调整下载待下载文件所需的链接,并采用调整后的并发链接将所述待下载文件下载到所述设备本地;本实施例能够动态调整并发链接的数量,在不过分挤占带宽的前提下,提升了文件传输效率。
附图说明
图1为本发明数据并发下载方法实施例一的流程图;
图2为本发明数据并发下载方法实施例二的流程图;
图3为本发明数据并发下载方法实施例二中广域网优化系统部署结构示意图;
图4为本发明数据并发下载装置实施例一的结构示意图;
图5为本发明数据并发下载装置实施例二的结构示意图。
具体实施方式
图1为本发明数据并发下载方法实施例一的流程图,如图1所示,本实施例提供了一种数据并发下载方法,可以具体包括如下步骤:
步骤101,对文件服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息。
本实施例具体应用于广域网优化系统中,通过多链接来并发执行文件的下载。本步骤为通过设置在客户端与出口网关之间的加速设备对文件服务器中的待下载文件进行解析,获取该待下载文件所处的文件服务器,以及对该待下载文件具有访问权限的访问用户的用户信息。其中,对于不同的待下载文件来说,对应有不同用户的访问权限,此处通过解析待下载文件获取能够对其执行访问的访问用户,此处的用户信息可以包括用户的IP地址以及用户相关信息。本实施例中的客户端具体为FTP客户端,文件服务器具体为FTP服务器,待下载文件具体为待下载FTP文件。当FTP客户端请求从FTP服务器下载待下载文件时,通过加速设备来对文件下载进行优化。具体为当加速设备发现FTP客户端所请求的文件不在加速设备本地,需要跨广域网向FTP服务器获取时,或者当加速设备直接向FTP服务器获取文件时,加速设备通过动态建立的并发链接来完成待下载文件的下载过程。
进一步地,在上述步骤101之前,还可以包括如下步骤:对与文件客户端间的控制链接进行解析,获取所述文件服务器的合法用户的用户信息,其中,所述合法用户包括所述访问用户。
步骤102,根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接。
在获取到对待下载文件具有访问权限的访问用户的用户信息后,根据设备自身的运行状况、当前的带宽占用情况以及访问用户的用户信息,动态调整下载该待下载文件所需的链接。此处的设备的运行状况具体为加速设备的具体运行状况,例如加速设备处于闲时状态或处于忙时状态。在本实施例中,初始状态下并发链接中只包含一条初始链接,由初始链接先对待下载文件进行下载,根据下载过程中实时获取的带宽占用情况,来确定是否能够在并发链接中新建一条链接。当当前的带宽占用情况允许新建一条链接时,可以根据之前获取的访问用户的用户信息来获取其中一个用户的用户信息作为新建的链接的用户信息,然后将其加入到当前并发链接中。在并发链接中新建一条链接后,由初始链接和新建的链接组成的并发链接对待下载文件进行下载,根据下载过程中实时获取的带宽占用情况,来确定是否能够在当前并发链接中再新建一条链接。以此类推,根据实时获取的当前并发链接情况来动态调整下载该待下载文件所需的链接。
具体地,本实施例中的上述步骤102可以具体包括如下步骤:根据设备自身的运行状态生成带宽占用阈值;根据所述带宽占用阈值和当前的带宽占用情况判断是否能够新建一个链接;当能够新建一个链接时,使用除当前并发链接中各链接所使用的访问用户之外的一个所述访问用户的用户信息建立一个链接。
更具体地,上述根据所述带宽占用阈值和当前的带宽占用情况判断是否能够新建一个链接的步骤可以具体包括如下步骤:判断当前是否存在链接下载完毕或预设的定时时间是否到达,所述定时时间是在所述当前并发链接中存在链接下载完毕时根据下载完毕的链接的传输时间设置的;若当前存在下载完毕的链接或预设的定时时间到达时,则判断所述当前并发链接所占用的带宽是否超过所述带宽占用阈值;若所述当前并发链接所占用的带宽未超过所述带宽占用阈值,则能够新建一个链接。
步骤103,采用调整后的并发链接将所述待下载文件下载到所述设备本地。
通过上述步骤实时对下载待下载文件所需的链接进行调整,获取调整后的并发链接,然后采用调整后的并发链接将所述待下载文件下载到所述设备本地。本实施例以并发链接并发执行待下载文件的下载,且根据下载过程中的带宽占用情况和设备自身的运行情况实时动态调整并发链接中链接的数量,从而不会出现过分挤占带宽的现象。本实施例中通过不同访问用户对应的链接来组成并发链接,可以防止由于文件服务器对单个用户发起的链接数目存在限制而导致的并发链接受限的现象,本实施例通过并发下载可以提升文件下载的速度,进而提高文件传输效率。
进一步地,本实施例提供的数据并发下载方法还可以包括如下步骤:根据所述带宽占用阈值和预设的多线程并发的最多链接数,生成初始链接所能下载的数据量;根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,生成新建的链接所能下载的数据量,以根据所述新建的链接所能下载的数据量对所述新建的链接进行配置。
本实施例提供了一种数据并发下载方法,通过对待下载文件进行解析,获取对待下载文件具有访问权限的访问用户的用户信息,根据设备自身的运行状况、当前的带宽占用情况以及访问用户的用户信息,动态调整下载待下载文件所需的链接,并采用调整后的并发链接将待下载文件下载到所述设备本地;本实施例能够动态调整并发链接的数量,在不过分挤占带宽的前提下,提升了文件传输效率。
图2为本发明数据并发下载方法实施例二的流程图,如图2所示,本实施例提供了一种数据并发下载方法,可以具体包括如下步骤:
步骤201,对与FTP客户端间的控制链接进行解析,获取FTP服务器的合法用户的用户信息。
图3为本发明数据并发下载方法实施例二中广域网优化系统部署结构示意图,如图3所示,本实施例具体应用于广域网优化系统,图中所示具体为一个公司的广域网优化系统。其中,FTP客户端位于公司的分支机构,即远程办事处,而FTP服务器位于公司总部,由于分支机构与公司总部同属于一个机构,因此通常采用专线通讯,FTP客户端与FTP服务器是N对1的关系;在FTP客户端与出口网关之间设置一个加速设备,加速设备采取双边部署,用于对FTP客户端与FTP服务器之间的数据传输进行优化。加速设备对FTP传输进行优化的主要途径是通过预取,所谓预取,是指将FTP客户端所需要下载的文件预先下载至邻近的加速设备上,当FTP客户端需要下载对应的文件时,加速设备直接将预取的文件反馈给FTP客户端。
本步骤为加速设备对自身与FTP客户端之间的控制链接进行解析,获取FTP服务器的合法用户的用户信息。在本实施例中,当若干FTP客户端通过加速设备访问FTP服务器时,加速设备对途径的任意一条控制链接流进行解析,获取对于FTP服务器来说是合法的合法用户的IP地址以及对应的用户相关信息。
步骤202,对FTP服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息。
当加速设备发现FTP客户端所请求的待下载文件不在加速设备本地,需要跨广域网向FTP服务器获取时,或者当加速设备直接向FTP服务器预取文件时,则加速设备执行对FTP服务器中的待下载文件进行解析的步骤,从而获取对待下载文件具有访问权限的访问用户的用户信息。其中,本步骤获取的访问用户包含在上述步骤201获取的合法用户中,即本步骤具体从合法用户中获取对待下载文件具有访问权限的访问用户的用户信息。本步骤为加速设备对待下载文件进行解析,获取该待下载文件所处的文件服务器,以及对该待下载文件具有访问权限的访问用户的用户信息。其中,用户信息可以包括用户的IP地址以及用户相关信息。
步骤203,根据加速设备的运行状态生成带宽占用阈值。
本步骤为根据加速设备的具体运行状态确定带宽占用阈值,具体地,加速设备的运行状态为闲时状态或忙时状态。当加速设备处于闲时状态时,此时可以将并发链路所能占用的带宽阈值设定为一个较大的数值,即对FTP多线程并发所能占用的带宽进行设定,如设定为当前网络带宽的80%。当加速设备处于忙时状态时,可以将并发链路所能占用的带宽阈值设定为一个较小的数值,如设定为当前网络带宽的30%,从而防止多链接并发下载对带宽的过分抢占而影响到加速设备对其他应用的优化。此处所指的加速设备的闲时状态或忙时状态可以通过时间段来设定的,比如设置加速设备在0:00-6:00为闲时状态,在其余时间段为忙时状态。
步骤204,根据所述带宽占用阈值和预设的多线程并发的最多链接数,生成初始链接所能下载的数据量。
在本实施例中,初始链接的链接数为1条,本步骤为计算初始链接所能下载的数据量,具体根据带宽占用阈值和预设的多线程并发的最多链接数,生成初始链接所能下载的数据量。具体可以采用如下公式来生成初始链接所能下载的数据量:
其中,B为上述步骤203生成的带宽占用阈值,N为并发链接的链接数上限值,t为预设的下载时间,其可以根据经验预估,通常取值为60,X为初始链接所能下载的数据量。以10Mbps带宽的闲时状态为例,上述步骤203设定闲时状态的带宽占用阈值为当前网络带宽的80%,即B=8Mbps,假设并发链接的链接数上限值N=10,则通过上述公式(1)计算得到初始链接所能下载的数据量X=48Mbit,且为待下载文件的前48Mbit的数据。
步骤205,采用当前并发链接对待下载文件进行下载,并判断当前是否存在链接下载完毕或当前是否到达预设的定时时间,如果是,则执行步骤206,否则继续执行本步骤205。
在完成上述初始化过程之后,加速设备便可以向FTP服务器发起FTP链接请求,从而采用当前并发链接对待下载文件进行下载,本实施例中的并发链接是动态变化的,可以根据下载过程中带宽占用情况来增加并发链接中的链接数,因此每个时刻的当前并发链接可能不同。本实施例在采用当前并发链接对待下载文件进行下载时,还需要实时判断当前是否存在链接下载完毕或当前是否到达预设的定时时间,如果是,则执行步骤206,否则继续执行本步骤205。具体可以设置一个定时器来判断定时时间是否达到,定时器是在所述当前并发链接中存在链接下载完毕时根据下载完毕的链接的传输时间设置的,该定时器的定时时间可以设置为下载完毕的链接的传输时间的1/10,本实施例中并发链接中各链接是按序加入的,此处的单个链接具体为当前并发链接中最后加入的链接。本步骤判断当前是否存在下载完毕的链接或者判断预设的定时时间是否到达,当上述两个判断过程中有一个判断结果为是时,便执行步骤206,否则继续执行本步骤。
步骤206,判断当前并发链接所占用的带宽是否超过带宽占用阈值,如果是,则返回执行步骤205,否则执行步骤207。
若当前存在下载完毕的链接,或者预设的定时时间到达,则继续判断当前并发链接所占用的带宽是否超过带宽占用阈值,如果是,则返回执行步骤205,暂时不新建链接,仍采用当前的并发链接对待下载文件进行下载,否则执行步骤207。
步骤207,判断当前并发链接中的链接数是否超过预设的并发链接的链接数上限值,如果是,则返回执行步骤205,否则执行步骤208。
当一个链接下载完其对应的数据量时,当前并发链接所占用的带宽未超过带宽占用阈值,则表明当前能够新建一个链接;或者当预设的定时时间到达时,当前并发链接所占用的带宽未超过带宽占用阈值,则表明当前能够新建一个链接。在能够新建一个链接时,还要继续判断当前并发链接中的链接数是否超过预设的并发链接的链接数上限值,如果是,则返回执行步骤205,暂时不新建链接,仍采用当前的并发链接对待下载文件进行下载,否则执行步骤208。本实施例为了防止FTP服务器的磁盘负担过重,比如磁盘磁头的频繁移动,这里对并发链接的链接数进行限定,将其上限限制为10条。
步骤208,判断待下载文件是否存在尚未下载的部分,如果是,则执行步骤209,否则结束本流程。
如果在能够新建一个链接时,当前并发链接中的链接数未超过预设的并发链接的链接数上限值,则还要判断待下载文件是否存在尚未下载的部分,如果是,则执行步骤209;否则表明采用当前并发链接便可以完成待下载文件中所有数据的下载,无需再新建链接,此时可以采用当前并发链接对剩余的数据进行下载,结束本流程的链接调整过程。
步骤209,使用除当前并发链接中各链接所使用的访问用户之外的一个访问用户的用户信息建立一个链接,并返回执行步骤205。
当通过判断当前条件满足上述新建链接的各条件时,使用除当前并发链接中各链接所使用的访问用户之外的一个访问用户的用户信息建立一个链接,并返回执行步骤205,采用更新后的并发链接对待下载文件进行下载。此处的访问用户为上述步骤202中对待下载文件具备访问权限的用户,具体可以从上述步骤201和202中获取建立链接所需的访问用户的IP地址和相关用户信息。由此可见,本实施例中并发链接中的各链接分别采用不同的IP地址执行多链路下载,从而可以避免现有技术中由于采用相同IP地址并发下载所导致的FTP服务器对链接数的限制,甚至拒绝服务的现象。另外,本实施例在每次新建一个链接后,还对新建的链接所能下载的数据量进行动态控制,通过合理设置各新建的链接所能下载的数据量,可以保证待下载文件能够被有序传输完毕,即顺序靠前的部分能以更大的概率先传输完,并写入磁盘。
在本实施例中,在计算新建的链接所能下载的数据量时,具体根据初始链接能下载的数据量、待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,判断下述不等式(2)是否成立:
p>q+Δ(2)
其中p为待下载文件当前剩余的待传输数据量,即待下载文件中除去当前并发链接中各链接所能下载的数据量之后剩余的数据量,q为当前并发链接中最后建立的链接当前剩余的待传输数据量,n为预设的正整数,通常取值为5。在本实施例中,并发链接中各链接是顺序建立的,即初始链接为第1条链接,然后根据带宽占用情况建立第2条链接、第3条链接、…,每条新建的链接都是在前几条链接执行一段时间的数据传输之后才建立的,每建立一个新的链接时,同时计算该链接所能下载的数据量,然后该新的链接从当前剩余的待传输数据量开始处进行传输,以保证文件下载的有序性。在本实施例中,若上述不等式(2)成立,则生成新建的链路所能下载的数据量为q+Δ;若上述不等式(2)不成立,则生成新建的链路所能下载的数据量为p。由此可见,除了最后一条链接外,后续建立的链接所能下载的数据量总是比先前建立的链接所能下载的数据量更多,使得先建立的链接总是能先于后建立的链接下载完相应的数据,保证了文件传输以及写入磁盘的有序性。
在本实施例中的文件下载过程中,为了减少加速设备内磁盘的读写次数,同时考虑到并发链接中链接数的限制,以及各条链接所能下载的数据量的限制,各个链接所下载的数据均临时存在内存,直到该链接所指定的数据量的文件信息下载完毕,且在该链接前的所有链接均下载完毕,方才将对应的数据由内存写入到磁盘中。这里仍以10Mbps带宽的闲时状态为例,10条链接所能下载的数据量所占用的内存大约为60MByte,而加速设备的内存的最低配置当前为2GByte,可见内存占用并不会很高。
需要指出的是,上述实施例仅以FTP传输为例进行说明,但本实施例的技术方案同样适用于凡是支持断点续传或者多线程下载的应用,比如超文本传输协议(TheHypertextTransferProtocol;以下简称:HTTP)。上述实施例具体应用于广域网加速系统中,但本实施例同样适用于支持代理行为的相关设备。本实施例也可以与现有的其他FTP并发传输的方案结合使用,比如与多服务器并发下载相结合。本实施例当前是针对单个文件执行并发下载,对于同时对多个文件的并发下载过程也同样适用,只需对各个文件的下载情况进行分别维护。
本实施例提供了一种数据并发下载方法,通过对待下载文件进行解析,获取对待下载文件具有访问权限的访问用户的用户信息,根据设备自身的运行状况、当前的带宽占用情况以及访问用户的用户信息,动态调整下载待下载文件所需的链接,并采用调整后的并发链接将待下载文件下载在设备本地;本实施例能够动态调整并发链接的数量,在不过分挤占带宽的前提下,提升了文件传输效率;本实施例中链接数目逐步递增,以在指定带宽上限阈值下,获取合理的并发线程数;本实施例能够动态调整各链接所能下载的数据量,保证FTP传输的有序性,且减少了加速设备的磁盘读写负荷;本实施例实现灵活,对并发的链接数目以及各链接所能传输的数据量均依据实际传输情况动态调整,自行获取合理的并发链接数,减少了用户负担。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
图4为本发明数据并发下载装置实施例一的结构示意图,如图4所示,本实施例提供了一种数据并发下载装置,可以具体执行上述方法实施例一中的各个步骤,此处不再赘述。本实施例提供的数据并发下载装置可以具体包括第一解析模块401、调整模块402和下载模块403。其中,第一解析模块401用于对文件服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息。调整模块402用于根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接。下载模块403用于采用调整后的并发链接将所述待下载文件下载到所述设备本地。
图5为本发明数据并发下载装置实施例二的结构示意图,如图5所示,本实施例提供了一种数据并发下载装置,可以具体执行上述方法实施例二中的各个步骤,此处不再赘述。本实施例提供的数据并发下载装置在上述图5所示的基础之上,调整模块402可以具体包括第一生成单元412、第一判断单元422和建立单元432。其中,第一生成单元412用于根据设备自身的运行状态生成带宽占用阈值。第一判断单元422用于根据所述带宽占用阈值和当前的带宽占用情况判断是否能够新建一个链接。建立单元432用于当能够新建一个链接时,使用除当前并发链接中各链接所使用的访问用户之外的一个所述访问用户的用户信息建立一个链接。
进一步地,第一判断单元422可以包括第一判断子单元4221和第二判断子单元4222。其中第一判断子单元4221用于判断当前是否存在链接下载完毕或当前是否到达预设的定时时间,所述定时时间是在所述当前并发链接中存在链接下载完毕时根据下载完毕的链接的传输时间设置的。第二判断子单元4222用于若当前存在下载完毕的链接或当前到达预设的定时时间,则判断所述当前并发链接所占用的带宽是否超过所述带宽占用阈值,若所述当前并发链接所占用的带宽未超过所述带宽占用阈值,则能够新建一个链接。
进一步地,本实施例提供的数据并发下载装置还可以包括第一计算模块501和第二计算模块502。其中,第一计算模块501用于根据所述带宽占用阈值和预设的多线程并发的最多链接数,生成初始链接所能下载的数据量。第二计算模块502用于根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,生成新建的链接所能下载的数据量,以根据所述新建的链接所能下载的数据量对所述新建的链接进行配置。
具体地,本实施例中的第一计算模块501具体用于根据所述带宽占用阈值和预设的并发链接的链接数上限值,采用上述公式(1)生成初始链接所能下载的数据量。
具体地,第二计算模块502可以具体包括第二判断单元512、第二生成单元522和第三生成单元532。其中,第二判断单元512用于根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,判断上述不等式(2)是否成立。第二生成单元522用于若上述不等式成立,则生成新建的链路所能下载的数据量为q+Δ。第三生成单元532用于若上述不等式不成立,则生成新建的链路所能下载的数据量为p。
更进一步地,本实施例提供的数据并发下载装置还可以包括第二解析模块503,第二解析模块503用于在第一解析模块401对文件服务器中的待下载文件进行解析之前,对与文件客户端间的控制链接进行解析,获取文件服务器的合法用户的用户信息,其中,所述合法用户包括所述访问用户。
本实施例提供了一种数据并发下载装置,通过对待下载文件进行解析,获取对待下载文件具有访问权限的访问用户的用户信息,根据设备自身的运行状况、当前的带宽占用情况以及访问用户的用户信息,动态调整下载待下载文件所需的链接,并采用调整后的并发链接将待下载文件下载到本地;本实施例能够动态调整并发链接的数量,在不过分挤占带宽的前提下,提升了文件传输效率;本实施例中链接数目逐步递增,以在指定带宽上限阈值下,获取合理的并发线程数;本实施例能够动态调整各链接所能下载的数据量,保证FTP传输的有序性,且减少了加速设备的磁盘读写负荷;本实施例实现灵活,对并发的链接数目以及各链接所能传输的数据量均依据实际传输情况动态调整,自行获取合理的并发链接数,减少了用户负担。
本实施例还提供了一种网络设备,可以具体包括上述图4或图5所示的数据并发下载装置。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (11)
1.一种数据并发下载方法,其特征在于,包括:
对文件服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息;
根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接;
采用调整后的并发链接将所述待下载文件下载到所述设备本地;
所述根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接包括:
根据设备自身的运行状态生成带宽占用阈值;
根据所述带宽占用阈值和当前的带宽占用情况判断是否能够新建一个链接;
当能够新建一个链接时,使用除当前并发链接中各链接所使用的访问用户之外的一个所述访问用户的用户信息建立一个链接;
所述根据所述带宽占用阈值和当前的带宽占用情况判断是否能够新建一个链接包括:
判断当前是否存在链接下载完毕或预设的定时时间是否到达,所述定时时间是在所述当前并发链接中存在链接下载完毕时根据下载完毕的链接的传输时间设置的;
若当前存在下载完毕的链接或预设的定时时间到达,则判断所述当前并发链接所占用的带宽是否超过所述带宽占用阈值;
若所述当前并发链接所占用的带宽未超过所述带宽占用阈值,则能够新建一个链接。
2.根据权利要求1所述的方法,其特征在于,还包括:
根据所述带宽占用阈值和预设的多线程并发的最多链接数,生成初始链接所能下载的数据量;
根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,生成新建的链接所能下载的数据量,以根据所述新建的链接所能下载的数据量对所述新建的链接进行配置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述带宽占用阈值和预设的多线程并发的最多链接数,生成初始链接所能下载的数据量具体为:
根据所述带宽占用阈值和预设的并发链接的链接数上限值,采用下述公式生成初始链接所能下载的数据量:
其中,B为所述带宽占用阈值,N为所述并发链接的链接数上限值,t为预设的下载时间,X为所述初始链接所能下载的数据量。
4.根据权利要求2所述的方法,其特征在于,所述根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,生成新建的链接所能下载的数据量包括:
根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,判断下述不等式是否成立:
p>q+D,其中
其中,p为所述待下载文件当前剩余的待传输数据量,q为所述最后建立的链接当前剩余的待传输数据量,n为预设的正整数,X为所述初始链接所能下载的数据量;
若上述不等式成立,则生成新建的链路所能下载的数据量为q+D;
若上述不等式不成立,则生成新建的链路所能下载的数据量为p。
5.根据权利要求1所述的方法,其特征在于,在所述对文件服务器中的待下载文件进行解析之前,还包括:
对与文件客户端间的控制链接进行解析,获取所述文件服务器的合法用户的用户信息,其中,所述合法用户包括所述访问用户。
6.一种数据并发下载装置,其特征在于,包括:
第一解析模块,用于对文件服务器中的待下载文件进行解析,获取对所述待下载文件具有访问权限的访问用户的用户信息;
调整模块,用于根据设备自身的运行状况、当前的带宽占用情况以及所述访问用户的用户信息,动态调整下载所述待下载文件所需的链接;
下载模块,用于采用调整后的并发链接将所述待下载文件下载到所述设备本地;
所述调整模块包括:
第一生成单元,用于根据设备自身的运行状态生成带宽占用阈值;
第一判断单元,用于根据所述带宽占用阈值和当前的带宽占用情况判断是否能够新建一个链接;
建立单元,用于当能够新建一个链接时,使用除当前并发链接中各链接所使用的访问用户之外的一个所述访问用户的用户信息建立一个链接;
所述第一判断单元包括:
第一判断子单元,用于判断当前是否存在链接下载完毕或预设的定时时间是否到达,所述定时时间是在所述当前并发链接中存在链接下载完毕时根据下载完毕的链接的传输时间设置的;
第二判断子单元,用于若当前存在下载完毕的链接或预设的定时时间到达,则判断所述当前并发链接所占用的带宽是否超过所述带宽占用阈值,若所述当前并发链接所占用的带宽未超过所述带宽占用阈值,则能够新建一个链接。
7.根据权利要求6所述的装置,其特征在于,还包括:
第一计算模块,用于根据所述带宽占用阈值和预设的多线程并发的最多链接数,生成初始链接所能下载的数据量;
第二计算模块,用于根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,生成新建的链接所能下载的数据量,以根据所述新建的链接所能下载的数据量对所述新建的链接进行配置。
8.根据权利要求7所述的装置,其特征在于,所述第一计算模块具体用于根据所述带宽占用阈值和预设的并发链接的链接数上限值,采用下述公式生成初始链接所能下载的数据量:
其中,B为所述带宽占用阈值,N为所述并发链接的链接数上限值,t为预设的下载时间,X为所述初始链接所能下载的数据量。
9.根据权利要求7所述的装置,其特征在于,所述第二计算模块包括:
第二判断单元,用于根据所述初始链接能下载的数据量、所述待下载文件当前剩余的待传输数据量以及当前并发链接中最后建立的链接当前剩余的待传输数据量,判断下述不等式是否成立:
p>q+D,其中
其中,p为所述待下载文件当前剩余的待传输数据量,q为所述最后建立的链接当前剩余的待传输数据量,n为预设的正整数,X为所述初始链接所能下载的数据量;
第二生成单元,用于若上述不等式成立,则生成新建的链路所能下载的数据量为q+D;
第三生成单元,用于若上述不等式不成立,则生成新建的链路所能下载的数据量为p。
10.根据权利要求6所述的装置,其特征在于,还包括:
第二解析模块,用于在所述第一解析模块对文件服务器中的待下载文件进行解析之前,对与文件客户端间的控制链接进行解析,获取所述文件服务器的合法用户的用户信息,其中,所述合法用户包括所述访问用户。
11.一种网络设备,其特征在于,包括权利要求6-10中任一项所述的数据并发下载装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210264649.5A CN102811258B (zh) | 2012-07-27 | 2012-07-27 | 数据并发下载方法、装置和网络设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210264649.5A CN102811258B (zh) | 2012-07-27 | 2012-07-27 | 数据并发下载方法、装置和网络设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102811258A CN102811258A (zh) | 2012-12-05 |
CN102811258B true CN102811258B (zh) | 2015-11-25 |
Family
ID=47234831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210264649.5A Active CN102811258B (zh) | 2012-07-27 | 2012-07-27 | 数据并发下载方法、装置和网络设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102811258B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6310925B2 (ja) * | 2012-10-18 | 2018-04-11 | ジラフィック テクノロジーズ エルティーディー.Giraffic Technologies Ltd. | 通信リンクのスループットを動的に最大化するための輻輳制御方法。 |
CN103384275B (zh) * | 2013-07-19 | 2017-05-17 | 贝壳网际(北京)安全技术有限公司 | 跨终端进行下载的方法、系统云端服务器和终端 |
WO2015055368A2 (en) * | 2013-10-15 | 2015-04-23 | Nokia Solutions And Networks Oy | Application based network information maintenance |
CN104657355B (zh) * | 2013-11-15 | 2018-10-23 | 阿里巴巴集团控股有限公司 | 一种网页的并发抓取方法和系统 |
CN103716249B (zh) * | 2013-12-18 | 2017-07-28 | 北京奇虎科技有限公司 | 一种网络传输速度控制方法和设备 |
CN103841194B (zh) * | 2014-03-07 | 2017-01-25 | 汉柏科技有限公司 | 一种app下载的辅助设备及方法 |
CN104811759B (zh) * | 2015-04-01 | 2018-08-03 | 深圳市九洲电器有限公司 | 机顶盒动态升级方法及系统 |
CN105262830B (zh) * | 2015-10-30 | 2018-08-07 | 北京奇艺世纪科技有限公司 | 一种文件上传方法及装置 |
CN105847370A (zh) * | 2016-03-31 | 2016-08-10 | 乐视控股(北京)有限公司 | 视频文件的调度分发或请求的方法及系统 |
CN106357736B (zh) * | 2016-08-26 | 2019-04-23 | 百度在线网络技术(北京)有限公司 | 用于传输文件的方法和装置 |
CN106254833B (zh) * | 2016-08-30 | 2020-01-14 | 浙江宇视科技有限公司 | 一种分布式文件的下载方法及装置 |
CN106790709B (zh) * | 2017-02-28 | 2019-09-17 | 烽火通信科技股份有限公司 | 基于异步化读写的ftp文件传输方法及ftp客户端 |
CN109040230B (zh) * | 2018-07-31 | 2021-06-04 | 优视科技新加坡有限公司 | 文件的下载方法、装置、设备/终端/服务器及存储介质 |
CN108965928B (zh) * | 2018-08-15 | 2021-02-02 | 湖南快乐阳光互动娱乐传媒有限公司 | 自适应链接视频下载方法及系统 |
CN109120480B (zh) * | 2018-09-25 | 2021-04-20 | 锐捷网络股份有限公司 | 基于数据中心的链路优化方法及装置 |
CN109361951B (zh) * | 2018-10-30 | 2021-04-30 | 腾讯科技(深圳)有限公司 | 一种视频数据缓存方法、装置及用户终端 |
CN114205347B (zh) * | 2021-12-13 | 2023-11-14 | 平安证券股份有限公司 | 基于ftp协议的文件下载方法、装置、设备及存储介质 |
CN115567505B (zh) * | 2022-01-10 | 2023-06-30 | 荣耀终端有限公司 | 网络加速效果的显示方法、设备和存储介质 |
CN115208877B (zh) * | 2022-07-21 | 2024-02-27 | 中国建设银行股份有限公司 | 文件传输方法、装置、设备、介质及产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977234A (zh) * | 2010-11-02 | 2011-02-16 | 中南大学 | 基于并行tcp技术的广域网通信加速方法 |
CN102368833A (zh) * | 2011-11-29 | 2012-03-07 | 乐视网信息技术(北京)股份有限公司 | 一种对视频信息进行分段下载均衡的方法 |
CN102420764A (zh) * | 2011-12-08 | 2012-04-18 | 北京星网锐捷网络技术有限公司 | 一种链路建立方法及设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020002596A1 (en) * | 1998-09-03 | 2002-01-03 | Sony Corporation | Apparatus and method for retrieving information over a computer network |
-
2012
- 2012-07-27 CN CN201210264649.5A patent/CN102811258B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101977234A (zh) * | 2010-11-02 | 2011-02-16 | 中南大学 | 基于并行tcp技术的广域网通信加速方法 |
CN102368833A (zh) * | 2011-11-29 | 2012-03-07 | 乐视网信息技术(北京)股份有限公司 | 一种对视频信息进行分段下载均衡的方法 |
CN102420764A (zh) * | 2011-12-08 | 2012-04-18 | 北京星网锐捷网络技术有限公司 | 一种链路建立方法及设备 |
Non-Patent Citations (1)
Title |
---|
使用wget下载需要用户名和密码访问的网站资源;ITeye;《http://jythoner.iteye.com/blog/354221》;20090324;第1-4页 * |
Also Published As
Publication number | Publication date |
---|---|
CN102811258A (zh) | 2012-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102811258B (zh) | 数据并发下载方法、装置和网络设备 | |
US10582014B2 (en) | System providing faster and more efficient data communication | |
US10361959B2 (en) | Method and system for dynamic interleaving | |
US10404790B2 (en) | HTTP scheduling system and method of content delivery network | |
CN100531186C (zh) | 通信网络中的对象传输控制 | |
US10296653B2 (en) | Systems and methods for accelerating web page loading | |
US7240162B2 (en) | System and method for predictive streaming | |
US8099492B2 (en) | Method and system for background replication of data objects | |
US8620999B1 (en) | Network resource modification for higher network connection concurrence | |
EP2853074B1 (en) | Methods for optimizing service of content requests and devices thereof | |
CN108173774B (zh) | 一种客户端的升级方法及系统 | |
US20140258365A1 (en) | Enhanced computer networking via multi-connection object retrieval | |
CN102170475A (zh) | 一种基于p2p的文件分发系统及分片方法 | |
WO2013082595A1 (en) | Systems and methods for connection pooling for video streaming in content delivery networks | |
EP2880839B1 (en) | Web caching method and system for content distribution network (cdn) | |
CN101406060A (zh) | 应用对等(p2p)内容分发网络延时下载视频服务 | |
CN102394880A (zh) | 内容分发网络中的跳转响应处理方法和设备 | |
Davern et al. | HTTPEP: A HTTP performance enhancing proxy for satellite systems | |
US20180091631A1 (en) | Systems and methods for writing prioritized http/2 data to a socket buffer | |
JP2017168074A (ja) | データ伝送制御方法及び装置 | |
CN102158518A (zh) | 一种cdn网络中的数据传输方法、网络节点及系统 | |
CN101883079A (zh) | 在互联网中用于加速点播多媒体内容的方法与装置 | |
JP5957965B2 (ja) | 仮想化システム、負荷分散装置、負荷分散方法、及び負荷分散プログラム | |
Hottmar et al. | Analytical model of a weighted round robin service system | |
Seyler et al. | Insights on the configuration and performances of SOME/IP service discovery |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |