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

文档序号:8285025阅读:194来源:国知局
一种数据下载方法、装置及系统的制作方法
【技术领域】
[0001]本申请涉及数据传输领域,尤其涉及一种数据下载方法、装置及系统。
【背景技术】
[0002]在现有的下载技术架构中,P2SP(Peer to Server&Peer,点对服务器和点)对P2S (Point to Server,点对服务器)P2P (Peer to Peer,点对点)技术做了进一步的延伸和整合,在稳定性和速度方面,P2SP协议比传统的P2P或P2S有了较大的提高。在P2P和P2SP下载技术架构中,通过把文件资源分成若干片段并行下载可以成倍地提高下载速度,并且这种分片下载的方式,充分利用了用户端富余的上行带宽,可以在下载文件资源分片的同时,把已经下载的分片同时上传到其他需求的客户端。这样,下载的人越多,实际网络带宽就越大,速度自然就越快。
[0003]然而,不管是P2P技术,还是P2SP技术,虽然都提供了端到端的下载方式,丰富了下载资源,分散了资源服务端压力,但仍然存在同一资源被多个用户端下载的情况,会造成文件资源服务端的服务压力和带宽压力,这主要是由于端到端的下载方式导致其他用户端通过网络不断的读写文件资源提供端磁盘,给资源提供端磁盘带来损伤,而且还会占用该提供端的系统资源,导致资源提供端机器反应变慢,并且,下载的用户端越多,该端点对外的某一下载连接速度就会变的越慢,负载加大,乃至崩溃,一旦该端点服务崩溃,资源也将无法继续下载。如果文件资源提供端为个人用户或被要求下载的文件资源贫乏时,表现的尤为突出。
[0004]因此,针对现有技术中存在的上述技术问题,需要提出改进的文件资源下载方案。

【发明内容】

[0005]本申请的主要目的在于提供一种数据下载方法、装置及系统,以解决现有技术存在的数据的提供端连接大量数据的请求端的服务压力和带宽压力的问题。
[0006]为解决上述问题,本申请实施例提供一种数据下载方法,包括:提供端接收至少一个请求端对数据的下载请求;当接收到的对所述数据的下载请求数达到预定数量时,所述提供端将所述数据向所述至少一个请求端组播发送,由所述至少一个请求端组播接收所述数据。
[0007]其中,还包括:在接收到的对所述数据的下载请求数未达到预定数量的情况下,所述提供端建立与所述至少一个请求端的连接,向所述至少一个请求端发送所述数据。
[0008]其中,所述提供端将所述数据向所述至少一个请求端组播发送,包括:
[0009]所述提供端将所述数据发送到一组播组,并向所述至少一个请求端发送所述数据的组播消息,由所述至少一个请求端加入所述组播组接收所述数据。
[0010]本申请实施例还提供一种数据下载方法,包括:请求端向提供端发送对要下载的数据的下载请求,并检测是否存在所述要下载的数据的组播消息;当接收到所述要下载的数据的组播消息时,所述请求端根据所述组播消息接收所述要下载的数据。
[0011]其中,还包括:在未接收到所述要下载的数据的组播消息的情况下,所述请求端接收所述提供端根据所述下载请求发送的所述要下载的数据。
[0012]其中,当接收到要下载的所述要下载的数据的组播消息时,所述请求端断开与所述提供端的连接,根据所述组播消息继续接收所述要下载的数据。
[0013]其中,所述请求端根据所述组播消息接收所述要下载的数据,包括:所述请求端根据所述组播消息加入所述要下载的数据的组播组,接收所述要下载的数据。
[0014]本申请实施例还提供一种数据下载装置,应用于数据的提供端,包括:请求接收模块,用于接收至少一个请求端对数据的下载请求;组播发送模块,用于当接收到的对所述数据的下载请求数达到预定数量时,将所述数据向所述至少一个请求端组播发送,由所述至少一个请求端组播接收所述数据。
[0015]其中,还包括:数据发送模块,用于在接收到的对所述数据的下载请求数未达到预定数量的情况下,建立与所述至少一个请求端的连接,向所述至少一个请求端发送所述数据。
[0016]其中,所述数据发送模块进一步用于:将所述数据发送到一组播组,并向所述至少一个请求端发送所述数据的组播消息,由所述至少一个请求端加入所述组播组接收所述数据。
[0017]本申请实施例还提供一种数据下载装置,应用于数据的请求端,包括:请求发送模块,用于向提供端发送对要下载的数据的下载请求;检测模块,用于检测是否存在所述要下载的数据的组播消息;组播接收模块,用于当接收到所述要下载的数据的组播消息时,根据所述组播消息接收所述要下载的数据。
[0018]其中,还包括:数据接收模块,用于在未接收到所述要下载的数据的组播消息的情况下,接收所述提供端根据所述下载请求发送的所述要下载的数据。
[0019]其中,所述数据接收模块,进一步用于当接收到所述要下载的数据的组播消息时,断开与所述提供端的连接;所述组播接收模块,进一步用于根据所述组播消息继续接收所述要下载的数据。
[0020]其中,所述组播接收模块,进一步用于根据所述组播消息加入所述要下载的数据的组播组,接收所述要下载的数据。
[0021]本申请实施例还提供一种客户端,包括:请求接收模块,用于接收至少一个请求端对数据的下载请求;组播发送模块,用于当接收到的对所述数据的下载请求数达到预定数量时,将所述数据向所述至少一个请求端组播发送,由所述至少一个请求端组播接收所述数据;请求发送模块,用于向提供端发送对要下载的数据的下载请求;检测模块,用于检测是否存在所述要下载的数据的组播消息;组播接收模块,用于当接收到所述要下载的数据的组播消息时,根据所述组播消息接收所述要下载的数据。
[0022]本申请实施例还提供一种数据下载系统,包括多个如上所述的客户端。
[0023]根据本申请的技术方案,当接收到对同一数据资源的多个下载请求时,数据的提供端作为组播源组播发送该数据,减轻了数据的提供端需要连接大量数据的请求端的服务压力和带宽压力。在各个端点既作为客户端,又作为服务端而存在的下载架构中,实现了点到多点的数据传输,有效的缓解了各个端点作为服务端时的并发传输压力。
【附图说明】
[0024]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0025]图1是本申请实施例一提供的数据下载方法的流程图;
[0026]图2是本申请实施例二提供的数据下载方法的流程图;
[0027]图3是本申请实施例三提供的数据下载方法的流程图;
[0028]图4是本申请实施例四提供的数据下载方法的流程图;
[0029]图5是本申请实施例五提供的数据下载装置的结构框图;
[0030]图6是本申请实施例六提供的数据下载装置的结构框图;
[0031]图7是本申请实施例七提供的客户端的结构框图;以及
[0032]图8是本申请实施例八提供的数据下载系统的结构框图。
【具体实施方式】
[0033]本申请的主要思想在于,当端点作为数据的提供端接收到对同一数据资源的
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1