CN111193772A - 文件下载方法及服务器 - Google Patents
文件下载方法及服务器 Download PDFInfo
- Publication number
- CN111193772A CN111193772A CN201911235138.9A CN201911235138A CN111193772A CN 111193772 A CN111193772 A CN 111193772A CN 201911235138 A CN201911235138 A CN 201911235138A CN 111193772 A CN111193772 A CN 111193772A
- Authority
- CN
- China
- Prior art keywords
- downloading
- download
- protocol
- speed
- file
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种文件下载方法,所述方法包括:接收文件下载的触发指令,获取待下载的目标文件;基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件;达到了利用多个下载协议进行目标文件下载的目的,由于采用平均下载速度最大值对应的下载协议进行目标文件的下载,因此,提高了文件下载速度和下载质量。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种文件下载方法及服务器。
背景技术
目前,现有的文件下载方法大部分都是基于某一种下载协议进行下载,即整个下载过程中,均使用同一种下载协议,但随着目标下载文件的数目变多、数量变大、目录复杂等一系列问题,目标下载文件的下载速度、下载质量、文件安全性等方面已无法满足对应的下载需求;因此,在目标下载文件的整个下载过程中,采用单一下载协议进行单一的下载方式,可能存在下载速度慢、下载质量差、文件安全性得不到保障等方面的问题。
发明内容
本发明提供一种文件下载方法及服务器,用以在下载目标文件时,对比多个下载协议之间的平均下载速度,从而选择出平均下载速度最大的下载协议进行目标文件的下载,提高目标文件的下载速度和下载质量。
为实现上述目的,本发明提供了一种文件下载方法,所述文件下载方法包括:
接收文件下载的触发指令,获取待下载的目标文件;
基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;
获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件。
进一步地,所述文件下载方法还包括:
接收文件下载的触发指令,获取待下载的所述目标文件的同时,按照预设校验方式,计算目标文件的校验编码;
在整个下载周期内,按照所述校验编码,下载所述目标文件;
其中,所述校验编码包括md5编码。
进一步地,所述文件下载方法还包括:
按照预设检测周期,重新计算各下载协议分别对应的目标文件的平均下载速度;
若重新计算得到的最大平均下载速度所对应的下载协议与所述初始下载协议一致,则继续按照所述初始下载协议,下载所述目标文件;
若重新计算得到的最大平均下载速度所对应的下载协议不是初始下载协议,则切换至最大平均下载速度所对应的下载协议,并按照切换后的下载协议,下载所述目标文件。
进一步地,所述文件下载方法还包括:
设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步。
进一步地,所述设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步,包括:
获取各下载协议在历史时长内n个观测点的数据,假设观测值为T={T1,T2,...,Tn},则各观测点对应得到的累加序列为:
T(n)={T(1),T(2),...,T(n)};
假设在k时刻,其观测值T(k)为:
则(k+1)时刻的累加预测值为:
其中,u和a为待估参数,可根据历史数据拟合求解得出,因此,(k+1)次的预测值为:
Tk+1=T*(k+1)-T(k);
基于上述算法模型,即可预测不同下载协议在下一时刻的下载速度;假设服务器同时支持m种协议,则下一时刻利用上述算法模型预测不同协议的速度分别为:
T1,k+1,T1,k+1,...,Tm,k+1;
其中,当前下载过程采用的下载协议为第p个,当前系统的最快下载速度对应的下载协议为第q个协议,则有:
则系统处理流程如下:
其中,ΔT为下载速度最小切换阈值,N为一次下载任务中下载协议最大切换次数,Nk为过去k时刻已切换的下载协议的次数;
即当算法预测的各协议的下载速度与当前协议的下载速度之差大于切换阈值,且剩余切换次数大于0时,则在下一个下载周期结束后设置断点续传,同步执行切换操作。
进一步地,所述文件下载方法还包括:
为每个下载协议设置断点续传;
当因所述目标文件的下载中断而重新下载时,计算当前下载进度锚点,在下载断点处重新下载所述目标文件。
为实现上述目的,本发明还提供了一种服务器,所述服务器包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的文件下载程序,所述文件下载程序被所述处理器运行时实现如下步骤:
接收文件下载的触发指令,获取待下载的目标文件;
基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;
获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件。
进一步地,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
接收文件下载的触发指令,获取待下载的所述目标文件的同时,按照预设校验方式,计算目标文件的校验编码;
在整个下载周期内,按照所述校验编码,下载所述目标文件;
其中,所述校验编码包括:md5编码。
进一步地,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
按照预设检测周期,重新计算各下载协议分别对应的目标文件的平均下载速度;
若重新计算得到的最大平均下载速度所对应的下载协议与所述初始下载协议一致,则继续按照所述初始下载协议,下载所述目标文件;
若重新计算得到的最大平均下载速度所对应的下载协议不是初始下载协议,则切换至最大平均下载速度所对应的下载协议,并按照切换后的下载协议,下载所述目标文件。
进一步地,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步。
进一步地,所述文件下载程序还可以被所述处理器执行,以设置同步机制,将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步,包括:
获取各下载协议在历史时长内n个观测点的数据,假设观测值为T={T1,T2,...,Tn},则各观测点对应得到的累加序列为:
T(n)={T(1),T(2),...,T(n)};
假设在k时刻,其观测值T(k)为:
则(k+1)时刻的累加预测值为:
其中,u和a为待估参数,可根据历史数据拟合求解得出,因此,(k+1)次的预测值为:
Tk+1=T*(k+1)-T(k);
基于上述算法模型,即可预测不同下载协议在下一时刻的下载速度;假设服务器同时支持m种协议,则下一时刻利用上述算法模型预测不同协议的速度分别为:
T1,k+1,T1,k+1,...,Tm,k+1;
其中,当前下载过程采用的下载协议为第p个,当前系统的最快下载速度对应的下载协议为第q个协议,则有:
则系统处理流程如下:
其中,ΔT为下载速度最小切换阈值,N为一次下载任务中下载协议最大切换次数,Nk为过去k时刻已切换的下载协议的次数;
即当算法预测的各协议的下载速度与当前协议的下载速度之差大于切换阈值,且剩余切换次数大于0时,则在下一个下载周期结束后设置断点续传,同步执行切换操作。
本发明一种文件下载方法及服务器可以达到如下有益效果:
接收文件下载的触发指令,获取待下载的目标文件;基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件;达到了利用多个下载协议进行目标文件下载的目的,由于采用平均下载速度最大值对应的下载协议进行目标文件的下载,因此,提高了文件下载速度和下载质量;进一步地,由于在整个下载周期内,均按照目标文件对应的文件校验编码进行同一文件的下载,提高了文件的下载质量,同时也在一定程度上提高了文件的下载速度。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所指出的内容来实现和获得。
下面通过附图和实施例,对本发明的技术方案做进一步描述。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
图1是本发明文件下载方法的一种实施方式的流程示意图;
图2是本发明服务器的一种实施方式的内部结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明提供了一种文件下载方法及服务器,使用了多个下载协议,在下载目标文件时,对比多个下载协议之间的平均下载速度,并选择平均下载速度最大的下载协议进行目标文件的下载,提高了目标文件的下载速度和下载质量。
如图1所示,图1是本发明文件下载方法的一种实施方式的流程示意图;本发明一种文件下载方法可以实施为如下描述的步骤S10-S30:
步骤S10、接收文件下载的触发指令,获取待下载的目标文件;
本发明实施例中,针对文件下载的触发指令,获取到待下载的目标文件后,为进一步提高文件下载质量和下载速度,本发明实施例中,采用在同一下载周期内仅下载一个目标文件的下载方式。
在获取待下载的目标文件的同时,按照预设校验方式,计算待下载的目标文件的校验编码;从而按照计算得到的校验编码,在整个下载周期内,下载对应的目标文件。
在一个具体的应用场景中,采用的预设校验方式包括但不限于:md5文件校验方式,因此,计算所述目标文件对应的校验编码包括但不限于:目标文件的md5编码。
步骤S20、基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;
本发明实施例中,进行文件下载时,在服务端与客户端均已预制了全部的下载方式。针对预先配置的多个下载协议,在当前的网络延时、网络抖动以及网络丢包率对应的网络质量状况下,分别计算在不同的下载协议下,每个下载协议在下载所述目标文件时分别对应的平均下载速度。
在一具体的应用场景中,预先配置的多个下载协议包括但不限于:
HTTP下载协议、FTP下载协议、P2P下载协议、bitTorrent下载协议、DHT下载协议等。本发明实施例对所述下载协议不进行一一穷举和赘述,只要该下载协议能够支持目标文件的下载即可,本发明实施例对文件下载方法及服务器中所使用的下载协议的具体内容和下载协议的使用种类不进行限定。
步骤S30、获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件。
根据计算得到的在不同下载协议下各下载协议分别对应的目标文件的平均下载速度,找出平均下载速度最大对应的下载协议,并将平均下载速度最大对应的下载协议作为初始下载协议,在下载对应的目标文件时,即按照初始下载协议进行数据下载。本发明实施例中,初始下载协议即对应客户端开始下载目标文件时,首次发数据给服务器时,服务器从计算出的各个下载协议分别对应的目标文件的平均下载速度中,挑选出的平均下载速度最大值对应的下载协议。
在下载开始后,系统会按照预设检测周期,重新计算各下载协议分别对应的目标文件的平均下载速度;
若重新计算得到的最大平均下载速度所对应的下载协议与所述初始下载协议一致,则继续按照所述初始下载协议,下载所述目标文件;
若重新计算得到的最大平均下载速度所对应的下载协议不是初始下载协议,则切换至最大平均下载速度所对应的下载协议,并按照切换后的下载协议,下载所述目标文件。
比如,下载开始后,系统会每隔一个固定的时间(比如,每隔30秒),重新计算各个下载协议下的平均下载速度,重新排序各个下载协议的平均下载速度排名;若发现平均下载速度最大的下载协议与当前使用的下载协议不相同,则系统自动切换下载协议,从而确保按照平均下载速度最大的下载协议,进行数据下载,保证了目标文件的下载速度。
进一步地,在本发明的一个实施例中,为了防止通信的延迟或者网络故障引起的不同步的问题,系统和服务之间设置同步机制对应的算法,以便将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步。
进一步地,在本发明的一个实施例中,为了保证下载体验,系统为每个下载协议都配置了断点续传功能;若发生不可抗力因素导致的下载中断的情况,当开始重新下载时,系统自动计算当前下载进度锚点,在前一次下载的断点处重新下载对应的目标文件。
进一步地,在本发明的一个实施例中,在具体的应用场景中,虽然可以根据当前的各下载协议的下载速度,做出是否进行切换下载协议的决策,但是在实际操作中,会由于操作延迟以及传输延时等因素,导致传输缺乏连贯性,影响用户体验;因此,系统基于固定的检测周期对应的历史下载速度数据,提前预测各协议的下载速度,为延时留有充分时间,进而使得下载速度更加平稳,实现客户端切换无感的目的。
因此,在本发明实施例中,设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步,可以按照如下技术手段实施:
获取各下载协议在历史时长内n个(比如24个)观测点的数据,假设观测值为T={T1,T2,...,Tn},则各观测点对应得到的累加序列为:
T(n)={T(1),T(2),...,T(n)};
假设在k时刻,其观测值T(k)为:
则(k+1)时刻的累加预测值为:
其中,u和a为待估参数,可根据历史数据拟合求解得出,因此,(k+1)次的预测值为:
Tk+1=T*(k+1)-T(k);
基于上述算法模型,即可预测不同下载协议在下一时刻的下载速度;假设服务器同时支持m种协议,则下一时刻利用上述算法模型预测不同协议的速度分别为:
T1,k+1,T1,k+1,…,Tm,k+1;
其中,当前下载过程采用的下载协议为第p个,当前系统的最快下载速度对应的下载协议为第q个协议,则有:
则系统处理流程如下:
其中,ΔT为下载速度最小切换阈值,N为一次下载任务中下载协议最大切换次数,Nk为过去k时刻已切换的下载协议的次数;
即当算法预测的各协议的下载速度与当前协议的下载速度之差大于切换阈值,且剩余切换次数大于0时,则在下一个下载周期结束后设置断点续传,同步执行切换操作。
在具体的应用场景中,假设平台协议支持如下4种下载协议:HTTP、Bit Torrent、Gnutella、Fast Track。当前采用下载协议为HTTP协议时,该HTTP协议对应的下载速度为350kb/s。根据历史观测数据,利用上述算法对不同协议的下载速度进行预测,预测结果如下:
HTTP协议的下载速度为:355kb/s;Bit Torrent协议的下载速度为:365kb/s;Gnutella协议的下载速度为:382kb/s;Fast Track协议的下载速度为320kb/s。由于当前下载速度最大的协议为Gnutella协议,且其下载速度高于当前其他下载协议对应的下载速度;且HTTP协议的下载速度也大于阈值,同时根据系统记录,剩余切换协议切换次数为5次,因此系统做出下载协议切换操作,切换至Gnutella协议。
相较于基于当前速度执行切换协议操作时,易受当前瞬时速度波动,导致误判,同时频繁切换也会给客户造成不好的体验,因此,利用上述切换算法针对不同步协议的历史数据,对于不同协议的速度进行预测,因而使得切换决策更为可信。同时,也为切换操作留有充分时间,进而实现错峰下载,使得下载速度更加平稳,实现客户端切换无感的目的。
本发明文件下载方法,接收文件下载的触发指令,获取待下载的目标文件;基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件;达到了利用多个下载协议进行目标文件下载的目的,由于采用平均下载速度最大值对应的下载协议进行目标文件的下载,因此,提高了文件下载速度和下载质量;进一步地,由于在整个下载周期内,均按照目标文件对应的文件校验编码进行同一文件的下载,提高了文件的下载质量,同时也在一定程度上提高了文件的下载速度。
基于图1所述实施例的描述,如图2所示,图2是本发明服务器的一种实施方式的内部结构示意图,图2所述的服务器可以实施图1描述的文件下载方法。
在本实施例中,信息存储设备1可以是PC(Personal Computer,个人电脑),也可以是智能手机、平板电脑、便携计算机等终端设备。该信息存储设备1至少包括存储器11、处理器12,通信总线13,以及网络接口14。
其中,存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是信息存储设备1的内部存储单元,例如该信息存储设备1的硬盘。存储器11在另一些实施例中也可以是信息存储设备1的外部存储设备,例如信息存储设备1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括信息存储设备1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于信息存储设备1的应用软件及各类数据,例如信息存储程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行信息存储程序01等。
通信总线13用于实现这些组件之间的连接通信。
网络接口14可选的可以包括标准的有线接口、无线接口(如WI-FI接口),通常用于在该装置1与其他电子设备之间建立通信连接。
可选地,该装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的用户接口还可以包括标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在信息存储设备1中处理的信息以及用于显示可视化的用户界面。
图2仅示出了具有组件11-14以及信息存储程序01的信息存储设备1,本领域技术人员可以理解的是,图2示出的结构并不构成对信息存储设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
在图2所示的装置1实施例中,存储器11中存储有文件下载程序01;所述存储器11上存储的文件下载程序01可在所述处理器12上运行,所述文件下载程序01被所述处理器12运行时实现如下步骤:
接收文件下载的触发指令,获取待下载的目标文件;
基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;
获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件。
在一个实施例中,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
接收文件下载的触发指令,获取待下载的所述目标文件的同时,按照预设校验方式,计算目标文件的校验编码;
在整个下载周期内,按照所述校验编码,下载所述目标文件;
其中,所述校验编码包括:md5编码。
在一个实施例中,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
按照预设检测周期,重新计算各下载协议分别对应的目标文件的平均下载速度;
若重新计算得到的最大平均下载速度所对应的下载协议与所述初始下载协议一致,则继续按照所述初始下载协议,下载所述目标文件;
若重新计算得到的最大平均下载速度所对应的下载协议不是初始下载协议,则切换至最大平均下载速度所对应的下载协议,并按照切换后的下载协议,下载所述目标文件。
在一个实施例中,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步。
在一个实施例中,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
为每个下载协议设置断点续传;
当因所述目标文件的下载中断而重新下载时,计算当前下载进度锚点,在下载断点处重新下载所述目标文件。
在一个实施例中,所述文件下载程序还可以被所述处理器执行,以设置同步机制,将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步,包括:
获取各下载协议在历史时长内n个观测点的数据,假设观测值为T={T1,T2,...,Tn},则各观测点对应得到的累加序列为:
T(n)={T(1),T(2),...,T(n)};
假设在k时刻,其观测值T(k)为:
则(k+1)时刻的累加预测值为:
其中,u和a为待估参数,可根据历史数据拟合求解得出,因此,(k+1)次的预测值为:
Tk+1=T*(k+1)-T(k);
基于上述算法模型,即可预测不同下载协议在下一时刻的下载速度;假设服务器同时支持m种协议,则下一时刻利用上述算法模型预测不同协议的速度分别为:
T1,k+1,T1,k+1,...,Tm,k+1;
其中,当前下载过程采用的下载协议为第p个,当前系统的最快下载速度对应的下载协议为第q个协议,则有:
则系统处理流程如下:
其中,ΔT为下载速度最小切换阈值,N为一次下载任务中下载协议最大切换次数,Nk为过去k时刻已切换的下载协议的次数;
即当算法预测的各协议的下载速度与当前协议的下载速度之差大于切换阈值,且剩余切换次数大于0时,则在下一个下载周期结束后设置断点续传,同步执行切换操作。
本发明服务器,接收文件下载的触发指令,获取待下载的目标文件;基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件;达到了利用多个下载协议进行目标文件下载的目的,由于采用平均下载速度最大值对应的下载协议进行目标文件的下载,因此,提高了文件下载速度和下载质量;进一步地,由于在整个下载周期内,均按照目标文件对应的文件校验编码进行同一文件的下载,提高了文件的下载质量,同时也在一定程度上提高了文件的下载速度。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (10)
1.一种文件下载方法,其特征在于,所述文件下载方法包括:
接收文件下载的触发指令,获取待下载的目标文件;
基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;
获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件。
2.如权利要求1所述的文件下载方法,其特征在于,所述文件下载方法还包括:
接收文件下载的触发指令,获取待下载的所述目标文件的同时,按照预设校验方式,计算目标文件的校验编码;
在整个下载周期内,按照所述校验编码,下载所述目标文件;
其中,所述校验编码包括md5编码。
3.如权利要求1所述的文件下载方法,其特征在于,所述文件下载方法还包括:
按照预设检测周期,重新计算各下载协议分别对应的目标文件的平均下载速度;
若重新计算得到的最大平均下载速度所对应的下载协议与所述初始下载协议一致,则继续按照所述初始下载协议,下载所述目标文件;
若重新计算得到的最大平均下载速度所对应的下载协议不是初始下载协议,则切换至最大平均下载速度所对应的下载协议,并按照切换后的下载协议,下载所述目标文件。
4.如权利要求1或2或3所述的文件下载方法,其特征在于,所述文件下载方法还包括:
设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步。
5.如权利要求4所述的文件下载方法,其特征在于,所述设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步,包括:
获取各下载协议在历史时长内n个观测点的数据,假设观测值为T={T1,T2,...,Tn},则各观测点对应得到的累加序列为:
T(n)={T(1),T(2),...,T(n)};
假设在k时刻,其观测值T(k)为:
则(k+1)时刻的累加预测值为:
其中,u和a为待估参数,可根据历史数据拟合求解得出,因此,(k+1)次的预测值为:
Tk+1=T*(k+1)-T(k);
基于上述算法模型,即可预测不同下载协议在下一时刻的下载速度;假设服务器同时支持m种协议,则下一时刻利用上述算法模型预测不同协议的速度分别为:
T1,k+1,T1,k+1,...,Tm,k+1;
其中,当前下载过程采用的下载协议为第p个,当前系统的最快下载速度对应的下载协议为第q个协议,则有:
则系统处理流程如下:
其中,ΔT为下载速度最小切换阈值,N为一次下载任务中下载协议最大切换次数,Nk为过去k时刻已切换的下载协议的次数;
即当算法预测的各协议的下载速度与当前协议的下载速度之差大于切换阈值,且剩余切换次数大于0时,则在下一个下载周期结束后设置断点续传,同步执行切换操作。
6.如权利要求1或2或3所述的文件下载方法,其特征在于,所述文件下载方法还包括:
为每个下载协议设置断点续传;
当因所述目标文件的下载中断而重新下载时,计算当前下载进度锚点,在下载断点处重新下载所述目标文件。
7.一种服务器,其特征在于,所述服务器包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的文件下载程序,所述文件下载程序被所述处理器运行时实现如下步骤:
接收文件下载的触发指令,获取待下载的目标文件;
基于预设的多个下载协议,在当前网络状况下,计算不同下载协议分别对应的目标文件的平均下载速度;
获取计算得到的最大平均下载速度所对应的下载协议,并将最大平均下载速度对应的下载协议作为初始下载协议,按照所述初始下载协议,下载所述目标文件。
8.如权利要求7所述的服务器,其特征在于,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
按照预设检测周期,重新计算各下载协议分别对应的目标文件的平均下载速度;
若重新计算得到的最大平均下载速度所对应的下载协议与所述初始下载协议一致,则继续按照所述初始下载协议,下载所述目标文件;
若重新计算得到的最大平均下载速度所对应的下载协议不是初始下载协议,则切换至最大平均下载速度所对应的下载协议,并按照切换后的下载协议,下载所述目标文件。
9.如权利要求7或8所述的服务器,其特征在于,所述文件下载程序还可以被所述处理器执行,以实现如下步骤:
设置同步机制,以将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步。
10.如权利要求9所述的服务器,其特征在于,所述文件下载程序还可以被所述处理器执行,以设置同步机制,将计算得到最大平均下载速度对应的当前位置和间隔步长进行同步,包括:
获取各下载协议在历史时长内n个观测点的数据,假设观测值为T={T1,T2,...,Tn},则各观测点对应得到的累加序列为:
T(n)={T(1),T(2),...,T(n)};
假设在k时刻,其观测值T(k)为:
则(k+1)时刻的累加预测值为:
其中,u和a为待估参数,可根据历史数据拟合求解得出,因此,(k+1)次的预测值为:
Tk+1=T*(k+1)-T(k);
基于上述算法模型,即可预测不同下载协议在下一时刻的下载速度;假设服务器同时支持m种协议,则下一时刻利用上述算法模型预测不同协议的速度分别为:
T1,k+1,T1,k+1,...,Tm,k+1;
其中,当前下载过程采用的下载协议为第p个,当前系统的最快下载速度对应的下载协议为第q个协议,则有:
则系统处理流程如下:
其中,ΔT为下载速度最小切换阈值,N为一次下载任务中下载协议最大切换次数,Nk为过去k时刻已切换的下载协议的次数;
即当算法预测的各协议的下载速度与当前协议的下载速度之差大于切换阈值,且剩余切换次数大于0时,则在下一个下载周期结束后设置断点续传,同步执行切换操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911235138.9A CN111193772B (zh) | 2019-12-05 | 2019-12-05 | 文件下载方法及服务器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911235138.9A CN111193772B (zh) | 2019-12-05 | 2019-12-05 | 文件下载方法及服务器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111193772A true CN111193772A (zh) | 2020-05-22 |
CN111193772B CN111193772B (zh) | 2022-04-05 |
Family
ID=70710886
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911235138.9A Active CN111193772B (zh) | 2019-12-05 | 2019-12-05 | 文件下载方法及服务器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111193772B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770186A (zh) * | 2020-07-03 | 2020-10-13 | 珠海金山网络游戏科技有限公司 | 一种多内容分发网络负载均衡方法及装置 |
CN111835856A (zh) * | 2020-07-17 | 2020-10-27 | 北京百度网讯科技有限公司 | 文件下载的方法、装置、设备以及存储介质 |
WO2023071184A1 (zh) * | 2021-10-27 | 2023-05-04 | 北京达佳互联信息技术有限公司 | 数据传输方法及装置 |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047775A1 (en) * | 2004-08-27 | 2006-03-02 | Timo Bruck | Method and apparatus for downloading content |
CN101325611A (zh) * | 2008-07-30 | 2008-12-17 | 金蝶软件(中国)有限公司 | 一种点对点下载的方法及装置 |
US20090083812A1 (en) * | 2007-01-19 | 2009-03-26 | Beijing Funshion Online Technologies Ltd. | Method and apparatus for controlling on-demand play of media files based on P2P protocols |
CN101741883A (zh) * | 2008-11-27 | 2010-06-16 | Tcl集团股份有限公司 | 一种提高ce设备网络下载速度的方法及系统 |
CN102055805A (zh) * | 2010-12-30 | 2011-05-11 | Tcl集团股份有限公司 | 一种跨网络协议标准进行p2p下载的装置和方法 |
CN102082807A (zh) * | 2009-12-01 | 2011-06-01 | 突触计算机系统(上海)有限公司 | 基于多协议的文件传输方法及装置 |
CN103888512A (zh) * | 2014-02-20 | 2014-06-25 | 上海聚力传媒技术有限公司 | 一种资源下载的方法与装置 |
CN104283955A (zh) * | 2014-09-30 | 2015-01-14 | 百度在线网络技术(北京)有限公司 | 一种浏览器、服务器、下载系统及下载方法 |
CN104348919A (zh) * | 2014-11-07 | 2015-02-11 | 北京奇虎科技有限公司 | 进行文件下载的方法、装置和浏览器 |
CN104702592A (zh) * | 2015-01-08 | 2015-06-10 | 三星电子(中国)研发中心 | 流媒体下载方法和装置 |
CN104994143A (zh) * | 2015-06-19 | 2015-10-21 | 小米科技有限责任公司 | 文件下载方法和装置 |
CN109218847A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 一种下载控制方法、装置以及多媒体终端 |
CN109729519A (zh) * | 2019-02-11 | 2019-05-07 | Oppo广东移动通信有限公司 | 数据下载的方法及相关装置 |
-
2019
- 2019-12-05 CN CN201911235138.9A patent/CN111193772B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060047775A1 (en) * | 2004-08-27 | 2006-03-02 | Timo Bruck | Method and apparatus for downloading content |
US20090083812A1 (en) * | 2007-01-19 | 2009-03-26 | Beijing Funshion Online Technologies Ltd. | Method and apparatus for controlling on-demand play of media files based on P2P protocols |
CN101325611A (zh) * | 2008-07-30 | 2008-12-17 | 金蝶软件(中国)有限公司 | 一种点对点下载的方法及装置 |
CN101741883A (zh) * | 2008-11-27 | 2010-06-16 | Tcl集团股份有限公司 | 一种提高ce设备网络下载速度的方法及系统 |
US20110131336A1 (en) * | 2009-12-01 | 2011-06-02 | Synacast Computer System (Shanghai) Co., Ltd. | Method and device for file transmission based on multiple protocols |
CN102082807A (zh) * | 2009-12-01 | 2011-06-01 | 突触计算机系统(上海)有限公司 | 基于多协议的文件传输方法及装置 |
CN102055805A (zh) * | 2010-12-30 | 2011-05-11 | Tcl集团股份有限公司 | 一种跨网络协议标准进行p2p下载的装置和方法 |
CN103888512A (zh) * | 2014-02-20 | 2014-06-25 | 上海聚力传媒技术有限公司 | 一种资源下载的方法与装置 |
CN104283955A (zh) * | 2014-09-30 | 2015-01-14 | 百度在线网络技术(北京)有限公司 | 一种浏览器、服务器、下载系统及下载方法 |
CN104348919A (zh) * | 2014-11-07 | 2015-02-11 | 北京奇虎科技有限公司 | 进行文件下载的方法、装置和浏览器 |
CN104702592A (zh) * | 2015-01-08 | 2015-06-10 | 三星电子(中国)研发中心 | 流媒体下载方法和装置 |
CN104994143A (zh) * | 2015-06-19 | 2015-10-21 | 小米科技有限责任公司 | 文件下载方法和装置 |
CN109218847A (zh) * | 2017-06-30 | 2019-01-15 | 中兴通讯股份有限公司 | 一种下载控制方法、装置以及多媒体终端 |
CN109729519A (zh) * | 2019-02-11 | 2019-05-07 | Oppo广东移动通信有限公司 | 数据下载的方法及相关装置 |
Non-Patent Citations (4)
Title |
---|
唐诗竣: ""Linux下多协议下载工具的设计与实现"", 《中国优秀硕士学位论文全文数据库》 * |
孟亚辉: "基于校园网的多协议节约型离线下载系统设计", 《广东石油化工学院学报》 * |
崔水龙: ""基于多线程的网络文件下载"", 《中国优秀硕士学位论文全文数据库》 * |
蒋雪玲: "P2P流媒体系统多点下载技术的实现研究", 《沈阳大学学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111770186A (zh) * | 2020-07-03 | 2020-10-13 | 珠海金山网络游戏科技有限公司 | 一种多内容分发网络负载均衡方法及装置 |
CN111835856A (zh) * | 2020-07-17 | 2020-10-27 | 北京百度网讯科技有限公司 | 文件下载的方法、装置、设备以及存储介质 |
WO2023071184A1 (zh) * | 2021-10-27 | 2023-05-04 | 北京达佳互联信息技术有限公司 | 数据传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111193772B (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111193772B (zh) | 文件下载方法及服务器 | |
US10659832B1 (en) | Dynamic bitrate selection for streaming media | |
US11126590B2 (en) | Data processing method and device | |
US20130231194A1 (en) | Offline game storing system and method thereof | |
CN110121100B (zh) | 媒体文件的下载方法、装置、终端和计算机可读存储介质 | |
EP3179701A1 (en) | File upload and download methods and associated server | |
US9674063B2 (en) | Managing data usage of a computing device | |
CN108566370B (zh) | 一种数据回源的方法以及装置 | |
CN109819336B (zh) | 一种基于播放缓存大小分片下载的方法及系统 | |
CN106576198A (zh) | 自适应比特率流送的系统和方法 | |
US20170064404A1 (en) | Live event viewing via mixed live and on-demand streaming | |
US10771358B2 (en) | Data acquisition device, data acquisition method and storage medium | |
US11303949B2 (en) | Method of switching resolution, computing device, and computer-readable storage medium | |
CN105207947A (zh) | 一种过滤抖动的渐进式流量调度方法和系统 | |
CN111265853B (zh) | 游戏平台切换方法、装置、服务器和存储介质 | |
CN106303563B (zh) | 流媒体在线播放方法、装置、执行终端以及存储介质 | |
US8762563B2 (en) | Method and apparatus for improving the adaptive bit rate behavior of a streaming media player | |
WO2017001941A1 (en) | System and method for duplicating files on client device for cloud storage | |
US11671656B2 (en) | Method for selecting resolution switching algorithm, computing device, and computer-program product | |
US10855745B2 (en) | Systems and methods for downloading data chunks using a varying number of simultaneous connections | |
CN109995824B (zh) | 一种对等网络中的任务调度方法及装置 | |
CN111008053A (zh) | 一种虚拟桌面的自动同步方法及装置 | |
CN104954862A (zh) | 用于预测的缓冲和网络成形的系统和方法 | |
WO2011119132A2 (en) | Variable bit rate video streaming over peer-to-peer networks | |
RU2520430C2 (ru) | Способ и устройство загрузки данных |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |