本发明专利技术公开了一种极速下载文件的方法及系统,其中方法包括:扫描磁盘文件,生成SHA-1散列数据库文件,存储在磁盘中,并上传到云端服务器;云端服务器定期逐一比对云端服务器上的所有文件,并生成增量包;云端服务器存储存在增量关系的文件及其对应的增量包;客户端发起http请求到文件下载服务器,以下载文件;文件下载服务器在http响应的请求头中添加文件对应的SHA-1散列;客户端在数据库文件中查询是否存在所述文件对应的SHA-1散列若存在,则客户端极速下载所述文件。通过上述方式,本发明专利技术能够减少对本地已存在的文件的在下,节约用户时间以及网络资源。
【技术实现步骤摘要】
本专利技术涉及文件处理
,尤其是涉及一种极速下载文件的方法及系统。
技术介绍
目前,人们大量从网络或其他途径下载东西,如视频、音频以及其他文档类的文件。但会经常会出现重复下载的情况,即所要下载的文件其实在本地已经存在,如在计算机的硬盘中存在,但由于路径或文件名的不同,下载工具无法识别为同一文件,就会重新下载,浪费了许多时间。还有一种情况,就是本地已存在类似文件,所下载的文件只是该文件的一个增量包,当获取该增量包时,就可以恢复出完整文件。现有专利(申请号:201410845517.0)公开了一种避免重复下载的方法及移动终端,所述方法包括:当移动终端有下载文件任务时,遍历移动终端本地下载文件夹;通过二进制比较法,比对本地下载文件夹中是否有与下载文件相同的文件;当有相同的文件时,移动终端提示用户是否继续下载。但该专利仅仅是提示用户是否重复下载本地已有的文件,当所下载的文件与本地文件仅仅是一个增量包的区别时,该专利也是认为是不同文件,因此还是要求用户进行完整文件内容的下载,浪费用户时间及网络资源。
技术实现思路
本专利技术所要解决的技术问题是:在下载时候,若本地存在已有的文件资源时,选择性的执行极速下载或增量下载,减少用户下载时间及网络资源的占用。为了解决上述技术问题,本专利技术采用的技术方案为:提供一种极速下载文件的方法,包括:扫描磁盘文件,生成SHA-1散列数据库文件,存储在磁盘中,并上传到云端服务器;云端服务器定期逐一比对云端服务器上的所有文件,并生成增量包;云端服务器存储存在增量关系的文件及其对应的增量包;客户端发起http请求到文件下载服务器,以下载文件;文件下载服务器在http响应的请求头中添加文件对应的SHA-1散列;客户端在数据库文件中查询是否存在所述文件对应的SHA-1散列;若存在,则客户端极速下载所述文件。为解决上述问题,本专利技术提供一种极速下载文件的系统,包括:扫描存储上传模块,用于扫描磁盘文件,生成SHA-1散列数据库文件,存储在磁盘中,并上传到云端服务器;比对生成模块,用于云端服务器定期逐一比对云端服务器上的所有文件,并生成增量包;云存储模块,用于云端服务器存储存在增量关系的文件及其对应的增量包;请求发起模块,用于客户端发起http请求到文件下载服务器,以下载文件;头添加模块,用于文件下载服务器在http响应的请求头中添加文件对应的SHA-1散列;查询模块,用于客户端在数据库文件中查询是否存在所述文件对应的SHA-1散列;极速下载模块,用于客户端极速下载所述文件。本专利技术的有益效果在于:区别于现有技术,本专利技术通过扫描磁盘文件,生成SHA-1散列数据库文件,上传到云端服务器;云端服务器比对文件,对存在增量关系的文件生成对应的增量包;当客户端发起下载的和http请求时,在请求头中添加对应的SHA-1散列,并在数据库文件中查询,最后选择性的执行极速下载。通过上述方式,本专利技术可以减少对本地已存在的文件的在下,节约用户时间以及网络资源。附图说明图1为本专利技术方法实施例一的流程示意图;图2为本专利技术方法实施例二的流程示意图;图3为本专利技术系统实施例三的结构框图;图4为本专利技术系统实施例四的结构框图。具体实施方式为详细说明本专利技术的
技术实现思路
、所实现目的及效果,以下结合实施方式并配合附图予以说明。本专利技术最关键的构思在于:在本地扫描,获取文件的哈希散列,在下载的时候,通过对比所要下载的资源的散列是否存在于本地中,而选择性的执行极速下载或增量下载,以降低文件下载工作量。请参照图1,本专利技术实施例一提供一种极速下载文件的方法,包括:S1:扫描磁盘文件,生成SHA-1散列数据库文件,存储在磁盘中,并上传到云端服务器;S2:云端服务器定期逐一比对云端服务器上的所有文件,并生成增量包;S3:云端服务器存储存在增量关系的文件及其对应的增量包;S4:客户端发起http请求到文件下载服务器,以下载文件;S5:文件下载服务器在http响应的请求头中添加文件对应的SHA-1散列;S6:客户端在数据库文件中查询是否存在所述文件对应的SHA-1散列;S7:若存在,则客户端极速下载所述文件。区别于现有技术,本专利技术实施例一通过扫描磁盘文件,生成SHA-1散列数据库文件,上传到云端服务器;云端服务器比对文件,对存在增量关系的文件生成对应的增量包;当客户端发起下载的和http请求时,在请求头中添加对应的SHA-1散列,并在数据库文件中查询,最后选择性的执行极速下载。通过上述方式,本专利技术可以减少对本地已存在的文件的在下,节约用户时间以及网络资源。如图2所示,在实施例一的基础上,本专利技术实施例二的步骤S6之后,还包括:若不存在,则执行S70:发送所述文件对应的SHA-1散列到云端服务器;以及S71:根据所述文件对应的SHA-1散列,查找是否有对应的增量包。其中,步骤S71之后,还包括:若有,则执行S81:客户端下载所述文件对应的增量包,并通过delta算法合并所述增量包与所述文件;反之,则执行S82:客户端正常下载所述文件。其中,步骤S1具体为:S11:扫描磁盘中大于10M的文件,生成对应的SHA-1散列;S12:根据SHA-1散列,在客户端生成数据库文件,并存储在硬盘中;S13:上传所述SHA-1散列到云端服务器中。其中,步骤S3具体为:S31:云端服务器存储存在增量关系文件对应的SHA-1散列的物理位置信息;S32:云端服务器存储存在增量关系文件对应的增量包的物理位置信息。为方便理解,本专利技术通过下述一个具体实施例对上述方法进行说明。在客户端上,用户对其本地的磁盘进行扫描,生成出所有文件的SHA-1散列,其中SHA-1散列是一种HASH散列,如建立一个用户散列表用于存储客户端所在的计算机中所有文件的SHA-1散列,主要用于后续服务端匹配。将SHA-1散列存于客户端中,并上传到服务端,如类似云存储百度云等云端存储服务器中,服务端对其上的文件两两比对,对存在增量关系的文件使用delta算法生成增量包,生成增量包,并存储所有的文件及其增量包。其中,本专利技术具体实施例中对本地磁盘扫描大于10M文件,如文件小于10M,其正常下载的时间本身就很短,因此可以根据用户下载速度设定扫描文件的大小,若网速更快,可以设置更大的数值,如100M等。服务端定期(如每天)对服务端上的本文档来自技高网...
【技术保护点】
一种极速下载文件的方法,其特征在于,包括:扫描磁盘文件,生成SHA‑1散列数据库文件,存储在磁盘中,并上传到云端服务器;云端服务器定期逐一比对云端服务器上的所有文件,并生成增量包;云端服务器存储存在增量关系的文件及其对应的增量包;客户端发起http请求到文件下载服务器,以下载文件;文件下载服务器在http响应的请求头中添加文件对应的SHA‑1散列;客户端在数据库文件中查询是否存在所述文件对应的SHA‑1散列;若存在,则客户端极速下载所述文件。
【技术特征摘要】
1.一种极速下载文件的方法,其特征在于,包括:
扫描磁盘文件,生成SHA-1散列数据库文件,存储在磁盘中,并上传到云
端服务器;
云端服务器定期逐一比对云端服务器上的所有文件,并生成增量包;
云端服务器存储存在增量关系的文件及其对应的增量包;
客户端发起http请求到文件下载服务器,以下载文件;
文件下载服务器在http响应的请求头中添加文件对应的SHA-1散列;
客户端在数据库文件中查询是否存在所述文件对应的SHA-1散列;
若存在,则客户端极速下载所述文件。
2.根据权利要求1所述极速下载文件的方法,其特征在于,客户端在数据
库文件中查询是否存在所述文件对应的SHA-1散列之后,还包括:
若不存在,则发送所述文件对应的SHA-1散列到云端服务器;
根据所述文件对应的SHA-1散列,查找是否有对应的增量包。
3.根据权利要求2所述极速下载文件的方法,其特征在于,根据所述文件
对应的SHA-1散列,查找是否有对应的增量包之后,还包括:
若有,则客户端下载所述文件对应的增量包,并通过delta算法合并所述增
量包与所述文件;
反之,则客户端正常下载所述文件。
4.根据权利要求1所述极速下载文件的方法,其特征在于,扫描磁盘文件,
生成SHA-1散列数据库文件,存储在磁盘中,并上传到云端服务器的步骤具体
为:
扫描磁盘中大于10M的文件,生成对应的SHA-1散列;
根据SHA-1散列,在客户端生成数据库文件,并存储在硬盘中;
上传所述SHA-1散列到云端服务器中。
5.根据权利要求1所述极速下载文件的方法,其特征在于,云端服务器存
储存在增量关系的文件及其对应的增量包的步骤具体为:
云端服务器存储存在增量关系文件对应的SHA-1散列的物理位置信息;
云端服务器存储存在增量关系文件对应的增量包的物理位置信息。
6.一种极速...
【专利技术属性】
技术研发人员:陈丛亮,刘德建,毛新生,
申请(专利权)人:福建天晴数码有限公司,
类型:发明
国别省市:福建;35
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。