[发明专利]文件下载方法及装置、客户端和计算机可读存储介质有效
申请号: | 201810691559.1 | 申请日: | 2018-06-28 |
公开(公告)号: | CN110661829B | 公开(公告)日: | 2021-09-21 |
发明(设计)人: | 李世红 | 申请(专利权)人: | 杭州海康威视系统技术有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L29/06;H04L9/06 |
代理公司: | 北京博思佳知识产权代理有限公司 11415 | 代理人: | 林祥 |
地址: | 310051 浙江省杭州*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 文件 下载 方法 装置 客户端 计算机 可读 存储 介质 | ||
1.一种文件下载方法,其特征在于,所述方法应用于客户端,包括:
从云存储系统获取待下载文件的文件信息;所述文件信息至少包括:所述文件的大小、存储所述文件的存储服务器列表、文件块分布信息表,所述文件块分布信息表包括:所述文件中各个文件块的文件块信息;
根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;
根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
将下载的所述文件块存储至所述存储空间;
所述根据所述存储服务器列表中存储服务器的个数M创建N个线程包括:
针对每一存储服务器,统计该存储服务器中存储的所述文件的文件块的数量L;
从云存储系统获取所述存储服务器支持的最大线程数量X;
根据所述L和所述X为所述存储服务器创建至少一个线程;
其中,为所述存储服务器创建的线程的数量与所述L和所述X呈正比关系。
2.根据权利要求1所述的方法,其特征在于,所述文件块信息包括:文件块的序号和所处的存储服务器的地址。
3.根据权利要求2所述的方法,其特征在于,所述文件块信息还包括:文件块的数据偏移量;
所述将下载的所述文件块存储至所述存储空间包括:
在所述文件块分布信息表中查询下载的文件块的数据偏移量;
根据下载的文件块的序号和数据偏移量将下载的文件块存储至所述存储空间。
4.根据权利要求1所述的方法,其特征在于,所述文件块分布信息表还包括:所述文件中各个文件块的校验信息;
在下载任意序号的一个文件块之后,该方法还包括:
在所述文件块分布信息表中查询所述文件块的校验信息;
根据所述文件块的校验信息验证该文件块的正确性。
5.根据权利要求1所述的方法,其特征在于,所述文件信息还包括:压缩算法;
在将下载的文件块存储至所述存储空间之前,该方法还包括:
根据所述压缩算法对下载的文件块进行解压缩处理;
将解压缩后的所述文件块存储至所述存储空间。
6.根据权利要求1所述的方法,其特征在于,所述文件信息还包括:原始文件的MD5值;
在将所述文件的所有文件块存储至所述存储空间之后,该方法还包括:
计算下载后的文件的MD5值,并将其与原始文件的MD5值进行比对,若两者的MD5值一致,则验证所述文件下载成功。
7.一种文件下载装置,其特征在于,所述装置包括:
文件信息获取模块,用于从云存储系统获取待下载文件的文件信息;所述文件信息至少包括:所述文件的大小、存储所述文件的存储服务器列表、文件块分布信息表,所述文件块分布信息表包括:所述文件中各个文件块的文件块信息;
预分配模块,用于根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;
下载模块,用于根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
处理模块,用于将下载的所述文件块存储至所述存储空间;
所述下载模块用于:
针对每一存储服务器,统计该存储服务器中存储的所述文件的文件块的数量L;
从云存储系统获取所述存储服务器支持的最大线程数量X;
根据所述L和所述X为所述存储服务器创建至少一个线程;
其中,为所述存储服务器创建的线程的数量与所述L和所述X呈正比关系。
8.根据权利要求7所述的装置,其特征在于,所述文件块信息包括:文件块的序号和所处的存储服务器的地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视系统技术有限公司,未经杭州海康威视系统技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810691559.1/1.html,转载请声明来源钻瓜专利网。