一种下载数据的方法及系统的制作方法

文档序号:7649861阅读:192来源:国知局
专利名称:一种下载数据的方法及系统的制作方法
技术领域
本发明涉及计算机及通信领域,特别是下载数据的方法及系统。
背景技术
互联网的主要应用之一就是资源共享,用户可通过互联网获得需要的信息和数据。目前现有技术中存在两种主要下载方式,一种是采用客户端-服务器(C-S)架构,客户端根据服务器的网络地址向服务器发送数据下载请求,服务器响应请求后发送数据给客户端,客户端接收数据并完成下载。参见图1所示。这种方式下,大量客户端同时从服务器下载数据,会占用大量系统资源,服务器的负担较重,如果利用多个服务器分担承载的客户端数量,会增加网络成本。
另一种方式同样是采用C-S架构,但该方式中的服务器只进行下载调度和协调工作,不保存数据,一个客户端通过服务器获得其它客户端的地址,并从其它客户端下载数据。参见图2所示。这种方式下,数据保存在客户端,而客户端的数据稳定性较差,文件容易被改变位置或被删除,导致其它客户端无法下载,并且客户端的承载能力较弱,无法同时承载较多的客户端同时下载数据,以及当多个客户端同时从一个客户端下载数据时,多个客户端的下载质量不理想,也会影响该客户端的其它业务运行。一个客户端的下载速率完全依赖于其它客户端的上传速率,而上传速率由用户自行控制,用户经常担心上传速率过高会影响该客户端的其它业务而将上传速率调低,所以会影响整个网络的下载速率。

发明内容
本发明提供一种下载数据的方法及系统,用于提高客户端下载数据的速率和下载质量。
本发明提供以下技术方案一种基于比特流文件传输协议的下载数据的方法,包括以下步骤客户端向中央服务器发送下载请求,该下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端;所述中央服务器向发送所述下载请求的客户端发送下载策略,该下载策略包括存有所述文件的数据的文件服务器和客户端的下载路径;发送所述下载请求的客户端根据收到的下载策略同时从文件服务器和客户端下载需要的数据。
所述中央服务器根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端。
所述中央服务器根据所述选择策略为选择的文件服务器和客户端设定优先级,并将该优先级携带在下载策略中发送给发送所述下载请求的客户端。
发送所述下载请求的客户端按照下载策略中的优先级由高到低的顺序连接文件服务器和客户端。
所述选择策略包括下述选择方式之一或它们的组合所述中央服务器从查询到文件服务器和客户端中优先选择与所述发送下载请求的客户端处于同一局域网的文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择下载速率不低于预设的门限值的文件服务器和客户端,或者从查询到文件服务器和客户端中按下载速率由高到低的顺序选择文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择承载的客户端数量不大于预设的门限值的文件服务器和客户端;或者从查询到文件服务器和客户端中按承载的客户端数量由小到大的顺序选择文件服务器和客户端。
所述中央服务器在选择文件服务器和客户端时优先选择文件服务器。
发送所述下载请求的客户端从同一局域网的文件服务器和客户端下载数据时启用的线程数不少于从其它文件服务器和客户端下载时启用的线程数。
客户端根据下载策略提供的文件服务器和客户端中选择文件服务器和客户端下载数据。
一种下载数据的方法,包括以下步骤客户端向中央服务器发送下载请求,该下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端,并根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端;所述中央服务器向发送所述下载请求的客户端发送下载策略,该下载策略包括选择的文件服务器和客户端的下载路径;发送所述下载请求的客户端根据收到的下载策略同时从文件服务器和客户端下载需要的数据。
所述中央服务器根据所述选择策略为选择的文件服务器和客户端设定优先级,并将该优先级携带在下载策略中发送给发送所述下载请求的客户端。
发送所述下载请求的客户端按照下载策略中的优先级由高到低的顺序连接文件服务器和客户端。
客户端根据预先制定的选择策略从连接到的文件服务器和客户端中选择文件服务器和客户端并进行下载。
所述选择策略包括下述选择方式之一或它们的组合所述中央服务器从查询到文件服务器和客户端中优先选择与所述发送下载请求的客户端处于同一局域网的文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择下载速率不低于预设的门限值的文件服务器和客户端,或者从查询到文件服务器和客户端中按下载速率由高到低的顺序选择文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择承载的客户端数量不大于预设的门限值的文件服务器和客户端;或者从查询到文件服务器和客户端中按承载的客户端数量由小到大的顺序选择文件服务器和客户端。
所述中央服务器在选择文件服务器和客户端时优先选择文件服务器。
发送所述下载请求的客户端从同一局域网的文件服务器和客户端下载数据时启用的线程数不少于从其它文件服务器和客户端下载时启用的线程数。
一种服务器,包括用于接收客户端发送的下载请求的单元,该下载请求包括请求下载的文件的标识;用于存储文件服务器和客户端的相关信息的单元;用于根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端的单元;用于根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端的单元;用于向发送所述下载请求的客户端发送下载策略的单元,该下载策略包括选择的文件服务器和客户端的下载路径。
一种基于比特流文件分发协议的客户端,包括发送单元,用于根据控制单元的指示向中央服务器发送下载请求,该下载请求包括请求下载的文件的标识;接收单元,用于接收中央服务器发送的下载策略,该下载策略包括文件服务器和客户端的下载路径,以及从文件服务器和客户端接收下载的数据;控制单元,用于根据所述文件服务器和客户端的下载路径指示连接单元与相应的文件服务器和客户端建立连接,并查询本客户端需要下载的数据并进行下载;连接单元,用于根据所述控制单元的指示,通过所述接收单元和发送单元与所述文件服务器和客户端进行交互,建立与文件服务器和客户端的连接。
一种基于比特流文件分发协议的通信系统,包括客户端,用于向中央服务器发送下载请求,并根据收到的下载策略下载需要的数据;其中,所述下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端,以及向发送所述下载请求的客户端发送下载策略,该下载策略包括存有所述文件的数据的文件服务器和客户端的下载路径。
一种通信系统,包括客户端,用于向中央服务器发送下载请求,并根据收到的下载策略下载需要的数据;其中,所述下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端,并根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端,以及向发送所述下载请求的客户端发送下载策略,该下载策略包括选择的文件服务器和客户端的下载路径。
本发明有益效果如下本实施例通过文件服务器为请求客户端提供下载服务,利用了文件服务器的高性能和非易修改性,提升了客户端的下载速率和下载质量。同时利用了客户端来分担服务器的承载,并且可以节省网络成本。
本实施例还通过中央服务器制定下载策略,从可提供数据下载的文件服务器和客户端中选择可提供下载速率较好的文件服务器和客户端提供给请求客户端,即保证了客户端的下载速率又节省了网络资源。


图1为现有技术中一种通信系统的结构图;图2为现有技术中另一种通信系统的结构图;图3为本发明实施例中通信系统的结构图;图4A为本发明实施例中中央服务器的结构图;
图4B为本发明实施例中客户端的结构图;图5为本发明实施例中基于比特流文件分发协议的下载数据的主要方法流程图;图6为本发明实施例中基于比特流文件分发协议的下载数据的具体方法流程图;图7为本发明实施例中下载数据的具体方法流程图。
具体实施例方式
为了提高客户端下载数据的速率和下载质量,本实施例在网络中增加用于存储数据的服务器(本实施例中称为文件服务器),通过用于下载调度和协调的服务器(本实施例中称为中央服务器)进行统一的下载调度和制定下载策略。客户端可同时从其它客户端和文件服务器下载用户需要的数据。
在本实施例中,将文件划分为多个数据包,各数据包称为文件分片。每个文件分片对应有标识和大小等信息。
参见图3,本实施例中通信系统包括客户端301、中央服务器302和文件服务器303。
文件服务器303存储文件数据,可以是完整的文件或部分文件分片,以及存有本服务器的相关信息,包括标识、IP地址、各端口号、所用的代理、文件标识列表和与文件对应的文件分片标识列表等。
客户端301存有文件数据,同时可根据用户的需要请求下载文件或文件分片。收到中央服务器302返回的文件服务器303和其它客户端301的标识和下载路径等信息从相应的文件服务器303和客户端301下载需要的文件分片,并定期向中央服务器302发送下载状态信息和数据信息,其中下载状态信息包括下载速率、上传速率、下载进度和承载的客户端301数量等;数据信息包括已下载的文件分片的标识等。
下载速率是指在单位带宽内下载的比特数与下载时间的比值;上传速率是指在单位带宽内上传的比特数与上传时间的比值;下载进度是指下载的比特数占总文件大小的百分比。
中央服务器302存有各文件服务器303和客户端301的相关信息,文件服务器303的相关信息包括标识、IP地址、端口、所用的代理、存有的文件标识、各文件对应的文件分片标识、各文件的地址、当前的下载速率和承载的客户端301数量等;客户端301的相关信息包括标识、IP地址、存有的文件标识、各文件对应的文件分片标识、各文件的地址、当前的下载速率、上传速率、下载进度和承载的客户端301数量等。中央服务器302可以通过与文件服务器303的交互获得文件服务器303的相关信息,可以通过接收客户端301发送的消息获得客户端301的相关信息。
中央服务器302收到客户端301发送的下载请求消息后,根据下载请求消息中的文件标识和已完整下载的文件分片的标识查询存有用户需要的数据的文件服务器303和客户端301,并从查询到的文件服务器303和客户端301中优先选择与发送请求的客户端301处于同一局域网的文件服务器303和客户端301,然后选择下载速率较好的文件服务器303和客户端301,最后选择承载的客户端301数量较少的文件服务器303和客户端301,然后将选择的文件服务器303和客户端301的下载路径和优先级等信息发送给发送请求消息的客户端301。以及记录客户端301发送下载状态信息和数据信息。当客户端301连接文件服务器303和客户端301时,将文件服务器303和客户端301所承载的客户端301数量加1。当客户端301暂停和停止下载时,将相应的文件服务器303和客户端301所承载的客户端301数量减1。由于文件服务器303的带宽是固定的,中央服务器302可根据文件服务器303的带宽和承载的客户端301数量计算出文件服务器303的下载速率。
参见图4A,本实施例中,中央服务器302包括接收单元401、查询单元402、选择单元403、存储单元404和发送单元405。
存储单元404存储各文件服务器303和客户端301的相关信息,文件服务器303的相关信息包括标识、IP地址、端口、所用的代理、存有的文件标识、各文件对应的文件分片标识、各文件的地址、当前的下载速率、上传速率、下载进度和承载的客户端301数量等;客户端301的相关信息包括标识、IP地址、存有的文件标识、各文件对应的文件分片标识、各文件的地址、当前的下载速率和承载的客户端301数量等。
接收单元401接收客户端301发送的下载请求消息、下载状态信息和数据信息等,并将下载状态信息和数据信息存储到存储单元404。
查询单元402根据下载请求消息中的文件标识和文件分片标识到存储单元404中查询存有用户需要的数据的文件服务器303和客户端301,并进一步获得文件服务器303和客户端301的下载路径、IP地址、下载速率和承载的客户端301数量等信息。
选择单元403根据选择策略从查询到的文件服务器303和客户端301中优先选择与发送请求的客户端301处于同一局域网的文件服务器303和客户端301,然后选择下载速率较好的文件服务器303和客户端301,最后选择承载的客户端301数量较少的文件服务器303和客户端301;并且优先选择文件服务器303。
发送单元405向请求的客户端301发送包括选择的文件服务器303和客户端301的下载路径和优先级的下载策略。
参见图4B,本实施例中客户端301包括接收单元410、选择单元411、连接单元412、控制单元413、存储单元414、发送单元415和用户接口416。
存储单元414存储已下载的文件分片数据、已下载的文件分片的标识和大小、需要下载的文件的标识和文件分片的标识等。存储单元414可以是软盘、硬盘和磁带等。
例如,存有已下载的文件分片的标识为aaa,该文件分片的大小为1m,该文件分片已下载第0k至第100k、第200k至第300k。那么,只需下载第101k至第199k、第301k至1024k。
用户接口416接收用户的下载指示,通知控制单元413生成下载请求消息。
发送单元415根据控制单元413的指示向中央服务器302发送下载请求消息、报告下载状态信息和数据信息,以及在与文件服务器303和客户端301建立连接时发送的交互消息。
接收单元410接收中央服务器302发送的文件服务器303和客户端301的标识、IP地址、对应的文件标识和文件分片标识、下载速率、承载的客户端301数量、连接各文件服务器303和客户端301的优先级顺序等信息以及无法下载的通知等,接收文件服务器303和客户端301发送的数据和建立连接时的交互信息,并将数据传送给存储单元414并保存。接收单元410包括从文件服务器接收下载数据的接收单元410,该接收单元410应用HTTP或FTP等传输协议;还包括从容户端301接收下载数据的接收单元410,该接收单元410应用比特流文件分发协议,当然也可以采用其他协议。
选择单元411根据文件服务器303和客户端301的标识和IP地址分析出与请求客户端301处于同一局域网的文件服务器303和客户端301并作为优先选择,或者根据下载速率优先选择下载速率较高的文件服务器303和客户端301,或者优先选择承载的客户端301数量较少的文件服务器303和客户端301。将选择结果发送给控制单元413。
控制单元413生成下载请求消息;根据接收到的优先级顺序或者根据选择单元411提供的优先级顺序指示连接单元412连接文件服务器303和客户端301;定期指示发送单元向中央服务器302发送下载状态信息和数据信息,以及在暂停或停止下载时也指示发送单元向中央服务器302发送下载状态信息和数据信息。
连接单元412根据控制单元413的指示,通过接收单元410和发送单元415与文件服务器303和客户端301进行交互,建立与各文件服务器303和客户端301的连接。
参见图5,本实施例中基于比特流文件分发协议的下载数据的主要方法流程如下
步骤501客户端301(以下称请求客户端301)向中央服务器302发送下载请求消息,该消息包括请求下载的文件的标识。
步骤502中央服务器302根据收到的下载请求消息查询存有所述文件的数据的文件服务器303和客户端301,并从查询到的文件服务器303和客户端301中选择可提供较好下载速率和传输质量的文件服务器303和客户端301。
步骤503中央服务器302向请求客户端301发送下载策略,该下载策略包括选择的文件服务器和客户端的下载路径等。
步骤504请求客户端301根据收到的下载策略同时从文件服务器303和客户端301下载需要的数据。
参见图6,本实施例中基于比特流文件分发协议的下载数据的具体方法流程如下步骤601请求客户端301根据用户的指示生成并向中央服务器302发送下载请求消息,下载请求消息包括需要下载的文件的签名值(为一种标识,可以是数字和字母的组合)、需要下载的文件分片的总数、已下载的各文件分片的大小和标识,或者还包括需要下载的文件分片标识、请求客户端301的IP地址(包括公网IP和局域网IP)、路由信息等。如果请求客户端301是首次请求下载该文件,那么已经下载的文件分片标识为空或者为0。
已下载的文件分片有多种理解方式,如一种是完整下载文件分片后认为该文件分片已下载,那么在这种方式下下载请求消息可以不包括已下载的文件分片的大小;如另一种方式是只下载了文件分片的部分数据,则认为该文件分片已下载,那么在这种方式下下载请求消息需要包括已下载的文件分片的大小,中央服务器302可根据文件分片的大小判断请求客户端301是否需要继续下载该文件分片。
步骤602中央服务器302接收下载请求消息并记录请求客户端301的标识、端口号、文件存储路径、IP地址和已经下载的文件分片标识等,根据下载请求消息中的文件的签名值和文件分片的标识查询存有未下载的文件分片的文件服务器303和客户端301。
步骤603中央服务器302判断是否可以查询到存有文件分片的文件服务器303和客户端301,若是,则继续步骤604,否则,通知请求客户端301无法下载。
步骤604中央服务器302进一步获得查询到的文件服务器303和客户端301的IP地址、下载速率和承载的客户端301数量等信息。
步骤605中央服务器302根据下载请求消息获知请求客户端301的局域网IP,或者根据路由信息分析出局域网IP,或者根据请求客户端301的标识查询到其IP地址和路由信息等。中央服务器302根据预先制定的选择策略从查询到的文件服务器303和客户端301中选择可以提供较好下载速率和传输质量的文件服务器303和客户端301,并根据选择策略为选择的文件服务器303和客户端301设定优先级。选择策略如下步骤605A根据请求客户端301的局域网IP、文件服务器303和客户端301的IP地址,优先选择与请求客户端301处于同一局域网的文件服务器303和客户端301,或者选择与请求客户端301路由距离较近的文件服务器303和客户端301,例如属于同一的路由子网的文件服务器303和客户端301。
步骤605B中央服务器302从其它的查询到的文件服务器303和客户端301中选择下载速率较高的文件服务器303和客户端301。较高的下载速率是指超过预设的门限值的下载速率视为较高的下载速率,或者将下载速率由高到低进行排序,前m个下载速率视为较高的下载速率,其中m为预设的参数值。
步骤605C中央服务器302再从其它的查询到的文件服务器303和客户端301中选择承载的客户端301数量较少的文件服务器303和客户端301。较少的承载的客户端301数量是指低于预设的门限值的承载的客户端301数量视为较少的承载的客户端301数量,或者将承载的客户端301数量由少到多进行排序,前n个承载的客户端301数量视为较少的承载的客户端301数量,其中n为预设的参数值。
上述选择步骤可以任选其一或是它们的组合,一种较佳的实现方式是按照步骤605A、605B和605C的顺序执行,并且在每步中优先选择文件服务器303。本实施例中中央服务器302和请求客户端301的选择策略相同。
步骤606中央服务器302向请求客户端301发送下载策略,下载策略包括下载路径和选择的文件服务器303和客户端301的优先级。对于文件服务器303,下载路径是指统一资源定位(URL)地址;对于客户端301,下载路径是指IP地址和文件在客户端301上的存储地址。优先级由高到低的顺序为局域网中的文件服务器303、客户端301、下载速率较好的文件服务器303、客户端301、承载的客户端301数量较少的文件服务器303、客户端301。下载策略还可以包括文件服务器303的标识、IP地址、端口号、文件服务器303所用的代理文件标识、文件分片标识、下载速率和承载的客户端301数量等信息,以及客户端301的标识、文件标识、文件分片标识、下载速率和承载的客户端301数量等信息。
步骤607请求客户端301根据收到的下载策略下载需要的数据。定期向中央服务器302发送下载状态信息和数据信息,以及在暂停和停止下载时,也向中央服务器302发送下载状态信息和数据信息。请求客户端301根据下载策略中的优先级顺序,优先连接局域网内的文件服务器303和客户端301,再按照下载速率由高到低的顺序和承载的客户端301数量由少到多的顺序连接文件服务器303和客户端301。从连接到的文件服务器303和客户端301中查询需要下载的数据并进行下载。请求客户端301启用较多的线程从局域网内的文件服务器303和客户端301下载数据,较多的线程是指占总线程数的50%以上视为较多的线程,或者比从其它文件服务器303和客户端301下载时启用的线程数多视为较多的线程。
若在步骤606中中央服务器302向请求客户端301发送的信息中只包括文件服务器303和客户端301的标识时,则在步骤607中,请求客户端301可以根据文件服务器303和客户端301的标识查询到文件服务器303和客户端301的IP地址、端口号、文件服务器303所用的代理、文件地址、下载路径、文件标识、文件分片标识、下载速率和承载的客户端301数量等信息。请求客户端301也可以根据下载策略中的文件服务器303和客户端301的IP地址分析出文件服务器303和客户端301是否与本客户端301处于同一局域网,优先选择同一局域网的文件服务器303和客户端301进行下载;根据下载速率和承载的客户端301数量选择可提供较好的下载速率和下载质量的文件服务器303和客户端301进行下载。或者请求客户端301在下载过程中,根据预先设定的选择策略随着网络环境的变化重新从已连接的文件服务器303和客户端301中选择下载,并且可以中断无法提供较好传输速率的文件服务器303和客户端301的连接。
步骤608中央服务器302接收并记录下载状态信息和数据信息。当请求客户端301开始连接各文件服务器303和客户端301时,或者中央服务器302将文件服务器303和客户端301的相关信息发送给请求客户端301时,中央服务器302将请求客户端301连接的文件服务器303和客户端301所承载的客户端301数量加1;当请求客户端301暂停或停止下载时,将请求客户端301连接的文件服务器303和客户端301所承载的客户端301数量减1。中央服务器302当接收到的承载的客户端301数量与本地记录的数量不符时,根据接收到的承载的客户端301数量更新本地的记录。
在步骤601中,下载请求消息可以只包括请求下载的文件的标识。已下载的文件分片的标识等信息可以在以后的消息中上报给中央服务器302。在步骤602至步骤606中,中央服务器302将与所述文件标识对应的文件服务器303和客户端301的下载路径发送给请求客户端301。在步骤607中,请求客户端301根据下载策略与文件服务器303和客户端301建立连接,并查询各文件服务器303和客户端301是否存有请求客户端301需要下载的数据,下载查询到的数据,中断未存有需要的数据的文件服务器303和客户端301的连接。
参见图7,本实施例中中央服务器302根据选择策略选择可提供较好的传输速率的文件服务器303和客户端301时的下载数据的方法,该方法不限于比特流文件分发协议,该方法的流程如下步骤701请求客户端301根据用户的指示生成并向中央服务器302发送下载请求消息,下载请求消息包括需要下载的文件的签名值。
步骤702中央服务器302接收下载请求消息并记录请求客户端301的标识、端口号、文件存储路径、IP地址和已经下载的文件分片标识等,根据下载请求消息中的文件的签名值查询存有所述文件的数据的文件服务器303和客户端301。
步骤703中央服务器302判断是否可以查询到存有文件分片的文件服务器303和客户端301,若是,则继续步骤704,否则,通知请求客户端301无法下载。
步骤704中央服务器302进一步获得查询到的文件服务器303和客户端301的IP地址、下载速率和承载的客户端301数量等信息。
步骤705中央服务器302根据下载请求消息获知请求客户端301的局域网IP,或者根据路由信息分析出局域网IP,或者根据请求客户端301的标识查询到其IP地址和路由信息等。中央服务器302根据预先制定的选择策略从查询到的文件服务器303和客户端301中选择可以提供较好下载速率和传输质量的文件服务器303和客户端301,并根据选择策略为选择的文件服务器303和客户端301设定优先级。
步骤706中央服务器302向请求客户端301发送下载策略,下载策略包括下载路径和选择的文件服务器303和客户端301的优先级。
步骤707请求客户端301根据收到的下载策略下载需要的数据。定期向中央服务器302发送下载状态信息和数据信息,以及在暂停和停止下载时,也向中央服务器302发送下载状态信息和数据信息。请求客户端301根据下载策略中的优先级顺序,优先连接局域网内的文件服务器303和客户端301,再按照下载速率由高到低的顺序和承载的客户端301数量由少到多的顺序连接文件服务器303和客户端301。从连接到的文件服务器303和客户端301中查询需要下载的数据并进行下载。请求客户端301启用较多的线程从局域网内的文件服务器303和客户端301下载数据。
若在步骤706中,中央服务器302向请求客户端301发送的信息中只包括文件服务器303和客户端301的标识时,则在步骤707中,请求客户端301可以根据文件服务器303和客户端301的标识查询到文件服务器303和客户端301的IP地址、端口号、文件服务器303所用的代理、文件地址、下载路径、文件标识、文件分片标识、下载速率和承载的客户端301数量等信息。请求客户端301也可以根据下载策略中的文件服务器303和客户端301的IP地址分析出文件服务器303和客户端301是否与本客户端301处于同一局域网,优先选择同一局域网的文件服务器303和客户端301进行下载;根据下载速率和承载的客户端301数量选择可提供较好的下载速率和下载质量的文件服务器303和客户端301进行下载。或者请求客户端301在下载过程中,根据预先设定的选择策略随着网络环境的变化重新从已连接的文件服务器303和客户端301中选择下载,并且可以中断无法提供较好传输速率的文件服务器303和客户端301的连接。
步骤708中央服务器302接收并记录下载状态信息和数据信息。
本实施例通过文件服务器为请求客户端提供下载服务,利用了文件服务器的高性能和非易修改性,提升了客户端的下载速率和下载质量。同时利用了客户端来分担服务器的承载,并且可以节省网络成本。本实施例还通过中央服务器制定下载策略,从可提供数据下载的文件服务器和客户端中选择可提供下载速率较好的文件服务器和客户端提供给请求客户端,即保证了客户端的下载速率又节省了网络资源。本实施例提供了应用于各种传输协议的下载数据的方法。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
权利要求
1.一种基于比特流文件分发协议的下载数据的方法,其特征在于,包括以下步骤客户端向中央服务器发送下载请求,该下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端;所述中央服务器向发送所述下载请求的客户端发送下载策略,该下载策略包括存有所述文件的数据的文件服务器和客户端的下载路径;发送所述下载请求的客户端根据收到的下载策略同时从文件服务器和客户端下载需要的数据。
2.如权利要求1所述的下载数据的方法,其特征在于,所述中央服务器根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端。
3.如权利要求2所述的下载数据的方法,其特征在于,所述中央服务器根据所述选择策略为选择的文件服务器和客户端设定优先级,并将该优先级携带在下载策略中发送给发送所述下载请求的客户端。
4.如权利要求3所述的下载数据的方法,其特征在于,发送所述下载请求的客户端按照下载策略中的优先级由高到低的顺序连接文件服务器和客户端。
5.如权利要求2或3所述的下载数据的方法,其特征在于,所述选择策略包括下述选择方式之一或它们的组合所述中央服务器从查询到文件服务器和客户端中优先选择与所述发送下载请求的客户端处于同一局域网的文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择下载速率不低于预设的门限值的文件服务器和客户端,或者从查询到文件服务器和客户端中按下载速率由高到低的顺序选择文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择承载的客户端数量不大于预设的门限值的文件服务器和客户端;或者从查询到文件服务器和客户端中按承载的客户端数量由小到大的顺序选择文件服务器和客户端。
6.如权利要求5所述的下载数据的方法,其特征在于,所述中央服务器在选择文件服务器和客户端时优先选择文件服务器。
7.如权利要求5所述的下载数据的方法,其特征在于,发送所述下载请求的客户端从同一局域网的文件服务器和客户端下载数据时启用的线程数不少于从其它文件服务器和客户端下载时启用的线程数。
8.如权利要求1所述的下载数据的方法,其特征在于,客户端根据下载策略提供的文件服务器和客户端中选择文件服务器和客户端下载数据。
9.如权利要求1所述的下载数据的方法,其特征在于,所述下载请求还包括请求的文件分片的总数、请求的各文件分片的大小和标识。
10.如权利要求1所述的下载数据的方法,其特征在于,所述中央服务器接收下载请求时,记录发送所述下载请求的客户端的文件保存路径、端口号和IP地址。
11.如权利要求1所述的下载数据的方法,其特征在于,所述中央服务器未查询到文件服务器和客户端时,通知发送所述下载请求的客户端无法下载。
12.如权利要求1所述的下载数据的方法,其特征在于,发送所述下载请求的客户端从文件服务器下载数据时应用与服务器之间的传输协议,从客户端下载数据时应用比特流文件分发协议。
13.如权利要求1所述的下载数据的方法,其特征在于,当发送所述下载请求的客户端开始连接文件服务器和客户端时,所述中央服务器将与发送所述下载请求的客户端连接的文件服务器和客户端所承载的客户端数量加1;或者所述中央服务器向发送所述下载请求的客户端发送所述下载策略时,将所述查询到的文件服务器和客户端所承载的客户端数量加1。
14.如权利要求1所述的下载数据的方法,其特征在于,当发送所述下载请求的客户端暂停或停止下载数据时,所述中央服务器将与该发送下载请求的客户端连接的文件服务器和客户端所承载的客户端数量减1。
15.如权利要求1所述的下载数据的方法,其特征在于,发送所述下载请求的客户端开始下载数据后,定期向所述中央服务器发送下载状态信息和数据信息,所述中央服务器接收并记录下载状态信息和数据信息;和/或发送所述下载请求的客户端在暂停和停止下载数据时,向所述中央服务器发送下载状态信息和数据信息,所述中央服务器接收并记录下载状态信息和数据信息;其中,所述下载状态信息包括下载速率、上传速率和下载进度;所述数据信息包括已下载的文件分片的标识。
16.一种下载数据的方法,其特征在于,包括以下步骤客户端向中央服务器发送下载请求,该下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端,并根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端;所述中央服务器向发送所述下载请求的客户端发送下载策略,该下载策略包括选择的文件服务器和客户端的下载路径;发送所述下载请求的客户端根据收到的下载策略同时从文件服务器和客户端下载需要的数据。
17.如权利要求16所述的下载数据的方法,其特征在于,所述中央服务器根据所述选择策略为选择的文件服务器和客户端设定优先级,并将该优先级携带在下载策略中发送给发送所述下载请求的客户端。
18.如权利要求17所述的下载数据的方法,其特征在于,发送所述下载请求的客户端按照下载策略中的优先级由高到低的顺序连接文件服务器和客户端。
19.如权利要求16所述的下载数据的方法,其特征在于,客户端根据预先制定的选择策略从连接到的文件服务器和客户端中选择文件服务器和客户端并进行下载。
20.如权利要求17或19所述的下载数据的方法,其特征在于,所述选择策略包括下述选择方式之一或它们的组合所述中央服务器从查询到文件服务器和客户端中优先选择与所述发送下载请求的客户端处于同一局域网的文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择下载速率不低于预设的门限值的文件服务器和客户端,或者从查询到文件服务器和客户端中按下载速率由高到低的顺序选择文件服务器和客户端;或者所述中央服务器从查询到文件服务器和客户端中优先选择承载的客户端数量不大于预设的门限值的文件服务器和客户端;或者从查询到文件服务器和客户端中按承载的客户端数量由小到大的顺序选择文件服务器和客户端。
21.如权利要求20所述的下载数据的方法,其特征在于,所述中央服务器在选择文件服务器和客户端时优先选择文件服务器。
22.如权利要求20所述的下载数据的方法,其特征在于,发送所述下载请求的客户端从同一局域网的文件服务器和客户端下载数据时启用的线程数不少于从其它文件服务器和客户端下载时启用的线程数。
23.一种服务器,其特征在于,包括用于接收客户端发送的下载请求的单元,该下载请求包括请求下载的文件的标识;用于存储文件服务器和客户端的相关信息的单元;用于根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端的单元;用于根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端的单元;用于向发送所述下载请求的客户端发送下载策略的单元,该下载策略包括选择的文件服务器和客户端的下载路径。
24.一种基于比特流文件分发协议的客户端,其特征在于,包括发送单元,用于根据控制单元的指示向中央服务器发送下载请求,该下载请求包括请求下载的文件的标识;接收单元,用于接收中央服务器发送的下载策略,该下载策略包括文件服务器和客户端的下载路径,以及从文件服务器和客户端接收下载的数据;控制单元,用于根据所述文件服务器和客户端的下载路径指示连接单元与相应的文件服务器和客户端建立连接,并查询本客户端需要下载的数据并进行下载;连接单元,用于根据所述控制单元的指示,通过所述接收单元和发送单元与所述文件服务器和客户端进行交互,建立与文件服务器和客户端的连接。
25.一种基于比特流文件分发协议的通信系统,其特征在于,包括客户端,用于向中央服务器发送下载请求,并根据收到的下载策略下载需要的数据;其中,所述下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端,以及向发送所述下载请求的客户端发送下载策略,该下载策略包括存有所述文件的数据的文件服务器和客户端的下载路径。
26.一种通信系统,其特征在于,包括客户端,用于向中央服务器发送下载请求,并根据收到的下载策略下载需要的数据;其中,所述下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端,并根据预先制定的选择策略从查询到的文件服务器和客户端中选择文件服务器和客户端,以及向发送所述下载请求的客户端发送下载策略,该下载策略包括选择的文件服务器和客户端的下载路径。
全文摘要
本发明公开了下载数据的方法,用于提高客户端下载数据的速率和下载质量。所述方法为客户端向中央服务器发送下载请求,该下载请求包括请求下载的文件的标识;所述中央服务器根据所述文件的标识查询存有所述文件的数据的文件服务器和客户端;所述中央服务器向发送所述下载请求的客户端发送下载策略,该下载策略包括存有所述文件的数据的文件服务器和客户端的下载路径;发送所述下载请求的客户端根据收到的下载策略同时从文件服务器和客户端下载需要的数据。本发明还公开了服务器、客户端和通信系统。
文档编号H04L29/06GK101030873SQ20071008466
公开日2007年9月5日 申请日期2007年2月15日 优先权日2007年2月15日
发明者李金波, 潘学会, 顾生华 申请人:深圳市迅雷网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1