一种数据下载方法、装置及系统的制作方法
【技术领域】
[0001]本申请涉及数据传输领域,尤其涉及一种数据下载方法、装置及系统。
【背景技术】
[0002]从文件存储服务器下载数据一般是将源文件分片存储于服务端,客户端请求下载时,一片一片地下载。现有下载系统中,下载总流量和文件大小几乎一致,而且下载速率完全取决于网络带宽和服务器承载能力,如果不考虑服务器的承载瓶颈,那么下载速率就只由网络带宽一元变量决定,现有的传输方案无法合理有效地判断客户端允许承载的性能并给出合理的传输方式,往往不是占用全部带宽影响用户的其他互联网体验,就是占用大量CPU影响用户的日常办公体验,导致了客户端大量资源的浪费。
[0003]因此,合理有效地组织利用客户端的多维资源,实现更优的下载传输方式是目前亟待解决的问题。
【发明内容】
[0004]本申请的主要目的在于提供一种数据下载方法、装置及系统,以解决现有技术存在的进行数据下载时无法合理有效地判断客户端允许承载的性能,导致客户端大量资源浪费的问题。
[0005]为解决上述问题,本申请实施例提供一种数据下载方法,包括:当接收到来自客户端的下载任务时,采集所述客户端的性能数据;根据所述性能数据,确定向所述客户端传输所述客户端要下载的数据的压缩系数,所述压缩系数为向所述客户端传输要下载的数据时,压缩数据的传输速率在总传输速率中所占比例;根据确定的压缩系数,确定向所述客户端传输所述要下载的数据时压缩数据的传输速率和未压缩数据的传输速率;根据确定的压缩数据的传输速率和未压缩数据的传输速率,向所述客户端传输对所述要下载的数据中的部分数据进行压缩处理得到的压缩数据和所述要下载的数据中未进行压缩处理的未压缩数据,由所述客户端对接收到的数据中的压缩数据进行解压还原。
[0006]其中,所述客户端的性能数据包括:所述客户端的CPU使用率、内存剩余空间、磁盘读写速度以及当前网络带宽。
[0007]其中,根据所述性能数据,确定向所述客户端传输所述客户端要下载的数据时的压缩系数的步骤之前,还包括:根据所述性能数据,确定是否对所述客户端要下载的数据进行压缩传输。
[0008]其中,根据所述性能数据,确定是否对所述客户端要下载的数据进行压缩传输,包括:如果所述客户端当前的传输速率与当前网络的最大传输速率的比值超过预定比值,并且所述客户端当前的CPU使用率小于预定阈值,则确定对所述要下载的数据进行压缩传输。
[0009]其中,根据确定的压缩数据的传输速率和未压缩数据的传输速率,向所述客户端传输对所述要下载的数据中的部分数据进行压缩处理得到的压缩数据和所述要下载的数据中未进行压缩处理的未压缩数据,包括:根据确定的压缩数据的传输速率和未压缩数据的传输速率,将所述压缩数据和所述未压缩数据分别通过不同的数据传输通道向所述客户端传输。
[0010]本申请实施例还提供一种数据下载装置,包括:数据采集模块,用于当接收到来自客户端的下载任务时,采集所述客户端的性能数据;第一确定模块,用于根据所述性能数据,确定向所述客户端传输所述客户端要下载的数据的压缩系数,所述压缩系数为向所述客户端传输要下载的数据时,压缩数据的传输速率在总传输速率中所占比例;第二确定模块,用于根据确定的压缩系数,确定向所述客户端传输所述要下载的数据时压缩数据的传输速率和未压缩数据的传输速率;数据传输模块,用于根据确定的压缩数据的传输速率和未压缩数据的传输速率,向所述客户端传输对所述要下载的数据中的部分数据进行压缩处理得到的压缩数据和所述要下载的数据中未进行压缩处理的未压缩数据,由所述客户端对接收到的数据中的压缩数据进行解压还原。
[0011]其中,所述客户端的性能数据包括:所述客户端的CPU使用率、内存剩余空间、磁盘读写速度以及当前网络带宽。
[0012]其中,还包括:第三确定模块,用于根据所述性能数据,确定是否对所述客户端要下载的数据进行压缩传输。
[0013]其中,所述第三确定模块,进一步用于:如果所述客户端当前的传输速率与当前网络的最大传输速率的比值超过预定比值,并且所述客户端当前的CPU使用率小于预定阈值,则确定对所述要下载的数据进行压缩传输。
[0014]其中,所述数据传输模块,进一步用于:根据确定的压缩数据的传输速率和未压缩数据的传输速率,将所述压缩数据和所述未压缩数据分别通过不同的数据传输通道向所述客户端传输。
[0015]本申请实施例还提供一种数据下载系统,包括:服务器和客户端,所述服务器,用于当接收到来自客户端的下载任务时,采集所述客户端的性能数据;根据所述性能数据,确定向所述客户端传输所述客户端要下载的数据的压缩系数;根据确定的压缩系数,确定向所述客户端传输所述要下载的数据时压缩数据的传输速率和未压缩数据的传输速率;根据确定的压缩数据的传输速率和未压缩数据的传输速率,向所述客户端传输对所述要下载的数据中的部分数据进行压缩处理得到的压缩数据和所述要下载的数据中未进行压缩处理的未压缩数据,其中,所述压缩系数为向所述客户端传输所述要下载的数据时,压缩数据的传输速率在总传输速率中所占比例;所述客户端,用于向所述服务器下发下载任务,接收所述服务器传输的所述压缩数据和未压缩数据,对接收到的压缩数据进行解压还原,并将解压得到的数据与接收到的未压缩数据进行合并得到所述要下载的数据。
[0016]根据本申请的技术方案,通过实时采集客户端性能数据,当客户端有大量闲置处理资源时,将客户端要下载的数据中的部分数据采用压缩的方式与未压缩的数据并行传输到客户端,以减少传输流量,并由客户端利用闲置的处理资源对压缩数据进行解压还原,将压缩数据的解压处理分布到客户端进行,有效利用了客户端的闲置资源,并提高了下载效率。
【附图说明】
[0017]此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
[0018]图1是本申请实施例一提供的数据下载方法的流程图;
[0019]图2是本申请实施例二提供的数据下载方法的流程图;
[0020]图3是本申请实施例三提供的数据下载装置的结构框图;
[0021]图4是本申请实施例四提供的数据下载装置的结构框图;以及
[0022]图5是本申请实施例五提供的数据下载系统的结构框图。
【具体实施方式】
[0023]本申请的主要思想在于,当客户端下载数据的带宽达到瓶颈,且客户端存在大量闲置处理资源时,通过对客户端要下载的数据中部分数据进行压缩后传输到客户端,由客户端利用闲置的资源对压缩数据进行解压还原,从而将压缩数据的解压处理分布到客户端进行,以适应网络带宽瓶颈,并有效地利用客户端的闲置资源,更快速的完成数据传输。
[0024]以下将配合附图及实施例来详细说明本申请的实施方式,藉此对本申请如何应用技术手段来解决技术问题并达成技术功效的实现过程能充分理解并据以实施。
[0025]如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接收的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到