CN110661829B - 文件下载方法及装置、客户端和计算机可读存储介质 - Google Patents

文件下载方法及装置、客户端和计算机可读存储介质 Download PDF

Info

Publication number
CN110661829B
CN110661829B CN201810691559.1A CN201810691559A CN110661829B CN 110661829 B CN110661829 B CN 110661829B CN 201810691559 A CN201810691559 A CN 201810691559A CN 110661829 B CN110661829 B CN 110661829B
Authority
CN
China
Prior art keywords
file
downloaded
block
storage
file block
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201810691559.1A
Other languages
English (en)
Other versions
CN110661829A (zh
Inventor
李世红
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201810691559.1A priority Critical patent/CN110661829B/zh
Priority to PCT/CN2019/093074 priority patent/WO2020001488A1/zh
Publication of CN110661829A publication Critical patent/CN110661829A/zh
Application granted granted Critical
Publication of CN110661829B publication Critical patent/CN110661829B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Abstract

本申请提供一种文件下载方法及装置、客户端和计算机可读存储介质,用以提高存储服务器的资源利用率,从而提高从云存储系统下载文件的效率,该文件下载方法包括:从云存储系统获取待下载文件的文件信息;所述文件信息至少包括:所述文件的大小、存储所述文件的存储服务器列表、文件块分布信息表,所述文件块分布信息表包括:所述文件中各个文件块的文件块信息;根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;将下载的所述文件块保存至所述存储空间。

Description

文件下载方法及装置、客户端和计算机可读存储介质
技术领域
本申请涉及云存储技术领域,尤其涉及一种文件下载方法及装置、客户端和计算机可读存储介质。
背景技术
随着互联网网速的不断提升以及Web2.0应用的兴起以和移动互联网、智能终端的快速普及,使得云存储的应用和推广成为可能。云存储就是将储存资源放到云上供人存取的一种新兴方案,使用者可以在任何时间、任何地方,透过任何可连网的装置连接到云上方便地存取数据。云存储系统中文件下载是其核心功能,而由于网络带宽、文件大小等因素的影响,造成无法快速的从云存储系统下载文件。
目前,为了能够快速的从云存储系统下载文件,采取的一种下载方式为:针对待下载文件对应的每一个文件块,一般根据该文件块的下载地址(即该文件块在云存储系统中的存储位置),创建一个线程下载该文件块。上述下载方式在下载过程中,从文件块出发,未考虑存储文件的各存储服务器的实际情况,可能存在与某些存储服务器建立的线程过多,而与另外些存储服务器又未建立任何线程的问题,从而无法有效的利用存储服务器的资源,使得从云存储系统下载文件的效率不能达到很高。
发明内容
有鉴于此,本申请提供一种文件下载方法及装置、客户端和计算机可读存储介质,用以提高存储服务器的资源利用率,从而提高从云存储系统下载文件的效率。
第一方面,本申请实施例提供了一种文件下载方法,所述方法应用于客户端,包括:
从云存储系统获取待下载文件的文件信息;所述文件信息至少包括:所述文件的大小、存储所述文件的存储服务器列表、文件块分布信息表,所述文件块分布信息表包括:所述文件中各个文件块的文件块信息;
根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;
根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
将下载的所述文件块保存至所述存储空间。
上述方法,通过客户端从云存储系统获取待下载文件的文件信息,然后根据文件信息中的文件大小在本地磁盘划分出用于存储该文件的存储空间,以及根据文件信息中的存储服务器列表中存储服务器的个数M创建N个线程,之后由这N个线程根据文件信息中的文件块分布信息表并发下载该文件的文件块,并将下载的文件块存储至存储空间,由于在下载过程中,线程的创建是依据存储文件的存储服务器的个数,考虑了存储文件的各存储服务器的实际情况,因此可以提高存储服务器的资源利用率,从而提高从云存储系统下载文件的效率。
在一可能的实现方式中,所述文件块信息包括:文件块的序号和所处的存储服务器的地址;
所述根据所述存储服务器列表中存储服务器的个数M创建N个线程包括:
针对每一存储服务器,统计该存储服务器中存储的所述文件的文件块的数量L;
从云存储系统获取所述存储服务器支持的最大线程数量X;
根据所述L和所述X为所述存储服务器创建至少一个线程。
该方法中,针对每一存储服务器,统计该存储服务器中存储的待下载文件的文件块的数量L,以及从云存储系统获取该存储服务器支持的最大线程数量X,之后根据该存储服务器中存储的待下载文件的文件块的数量L和该存储服务器支持的最大线程数量X,创建至少一个线程下载该存储服务器中的文件块,由于在下载过程中,客户端与各存储服务器建立的线程数,是根据存储服务器各自支持的最大线程数量和各自包含的文件块的数量来确定,考虑了存储服务器各自的实际情况,因此可以提高存储服务器的资源利用率,从而提高从云存储系统下载文件的效率。
在一可能的实现方式中,所述文件块信息还包括:文件块的数据偏移量;
所述将下载的所述文件块存储至所述存储空间包括:
在所述文件块分布信息表中查询下载的文件块的数据偏移量;
根据下载的文件块的序号和数据偏移量将下载的文件块存储至所述存储空间。
在一可能的实现方式中,所述文件块分布信息表还包括:所述文件中各个文件块的校验信息;
在下载任意序号的一个文件块之后,该方法还包括:
在所述文件块分布信息表中查询所述文件块的校验信息;
根据所述文件块的校验信息验证该文件块的正确性。
该方法中,通过对下载的文件块进行校验,可以提高文件块的正确性。
在一可能的实现方式中,所述文件信息还包括:压缩算法;
在将下载的文件块存储至所述存储空间之前,该方法还包括:
根据所述压缩算法对下载的文件块进行解压缩处理;
将解压缩后的所述文件块存储至所述存储空间。
在一可能的实现方式中,所述文件信息还包括:原始文件的MD5值;
在将所述文件的所有文件块存储至所述存储空间之后,该方法还包括:
计算下载后的文件的MD5值,并将其与原始文件的MD5值进行比对,若两者的MD5值一致,则验证所述文件下载成功。
第二方面,本申请实施例还提供了一种文件下载装置,包括用于执行第一方面或第一方面的任意可能的实现方式中的文件下载方法的模块。
第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现第一方面或第一方面的任意可能的实现方式中的文件下载方法的步骤。
第四方面,本申请实施例还提供了一种客户端,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器用于:
从云存储系统获取待下载文件的文件信息;所述文件信息至少包括:所述文件的大小、存储所述文件的存储服务器列表、文件块分布信息表,所述文件块分布信息表包括:所述文件中各个文件块的文件块信息;
根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;
根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
将下载的所述文件块存储至所述存储空间。
附图说明
图1为本申请实施例提供的一种文件下载系统的结构示意图;
图2为本申请实施例提供的一种文件下载方法的流程示意图;
图3为本申请实施例提供的文件下载装置的第一种结构示意图;
图4为本申请实施例提供的文件下载装置的第二种结构示意图;
图5为本申请实施例提供的文件下载装置的第三种结构示意图;
图6为本申请实施例提供的文件下载装置所在客户端的一种硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
首先,介绍一下本申请实施例提供的技术方案的应用场景的网络架构,参见图1,本申请实施例提供的一种文件下载系统,包括:客户端11、云盘12、云存储系统13;客户端11与云盘12和云存储系统13(简称云存储)连接。
如图1所示,云存储系统13可以包括:多个管理服务器131和多个存储服务器132;多个管理服务器131与多个存储服务器132可以通过局域网(LAN)连接。待下载文件对应的文件块存储在云存储系统13中的多个存储服务器132上。
云盘12是一种专业的互联网存储工具,是互联网云技术的产物,具有安全稳定、海量存储的特点,它通过互联网为企业和个人提供信息的储存、读取、下载等服务。云盘12上存储有云存储相关信息,该云存储相关信息可以包括:存储待下载文件的云存储系统的地址(例如IP端口)、云存储鉴权信息(或者说访问校验信息)。云存储系统的地址并非下载地址,属于云存储的管理地址。
文件下载时,用户选择文件(例如可以进入文件目录或者文件列表页面,选择需要下载的文件),然后由客户端11向云盘12发送文件下载请求,其中,文件下载请求可以包括:用户名、密码、待下载文件的文件标识,云盘12根据用户名和密码鉴权通过后,查询待下载文件的文件标识对应的云存储相关信息,并将该云存储相关信息返回给客户端11,然后客户端11根据云存储相关信息中的云存储系统的地址与该云存储系统13建立连接,并向该云存储系统13发送文件信息请求,其中,文件信息请求可以包括:待下载文件的文件标识,接着云存储系统13查询待下载文件的文件标识对应的文件信息并返回给客户端11,之后客户端11根据该文件信息从云存储系统13下载文件。
其中,文件信息可以包括:文件的大小、存储文件的存储服务器列表、文件块分布信息表。文件块分布信息表可以包括:待下载文件中各个文件块的文件块信息。
上述文件块信息例如可以包括:文件块的序号、数据偏移量和所处的存储服务器的地址。当然,文件块信息还可以包括文件块的大小。
上述存储服务器列表例如可以包括:各存储服务器的IP地址、端口号、验证信息。
需要指出的是,上述云存储相关信息和文件信息都是在文件上传时存储的。
下面着重介绍客户端在与云存储系统建立连接后的文件下载的步骤。
参见图2,在客户端侧,本申请实施例提供了一种文件下载方法,该方法包括如下步骤:
S101、从云存储系统获取待下载文件的文件信息;
其中,文件信息可以包括:待下载文件的大小、存储待下载文件的存储服务器列表、文件块分布信息表。文件块分布信息表可以包括:待下载文件中各个文件块的文件块信息。
S102、根据所述文件的大小在本地磁盘划分出(或者说预分配)用于存储所述文件的存储空间;
S103、根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
上述创建的线程数N与存储服务器列表中存储服务器的个数M成正比关系。也就是说,存储服务器数量越多,创建的线程数也就越多,对于一个存储服务器,一般会创建至少一个线程。
S104、将下载的所述文件块存储(或者说填入)所述存储空间。
在一可能的实现方式中,上述文件块信息包括:文件块的序号和所处的存储服务器的地址;
上述步骤S103中根据所述存储服务器列表中存储服务器的个数M创建N个线程,可以包括:
针对每一存储服务器,统计该存储服务器中存储的所述文件的文件块的数量L;
从云存储系统获取所述存储服务器支持的最大线程数量X;
根据所述L和所述X为所述存储服务器创建至少一个线程。
一般来说,对于一个存储服务器,创建的线程数与文件块的数量L和最大线程数量X成正比光系,也就是说,文件块的数量L越多,创建的线程数越多,最大线程数量X越多,创建的线程数越多。
在一可能的实现方式中,上述步骤S103中由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块,包括:
针对任意序号的一个文件块,在所述文件块分布信息表中查询该文件块所处的存储服务器的地址;
由所述地址的存储服务器对应的线程下载所述文件块。
在一可能的实现方式中,上述文件块信息还可以包括:文件块的数据偏移量;
上述步骤S104中将下载的所述文件块存储至所述存储空间,可以包括:
在所述文件块分布信息表中查询下载的文件块的数据偏移量;
根据下载的文件块的序号和数据偏移量将下载的文件块存储至所述存储空间。
在一可能的实现方式中,上述文件块分布信息表还可以包括:待下载文件中各个文件块的的校验信息;
在下载任意序号的一个文件块之后,该方法还可以包括:
在所述文件块分布信息表中查询所述文件块的校验信息;
根据所述文件块的校验信息验证该文件块的正确性。
在一可能的实现方式中,上述文件信息还可以包括:原始文件的MD5值;
在将所述文件的所有文件块存储至所述存储空间之后,该方法还可以包括:
计算下载后的文件的MD5值,并将其与原始文件的MD5值进行比对,若两者的MD5值一致,则验证所述文件下载成功。
当然,还可以采取其他的方式校验下载的文件,例如可以采取CRC32、SHA1、SHA256等方式进行校验。
需要指出的是,对于视频、图片等文件一般采用直接上传的方式存储到云存储系统,而对于文本文件一般先进行压缩,之后再上传存储到云存储系统。因此,对于压缩的文件,下载后还需进行解压缩处理,客户端可以根据接收到的文件信息确定是否需要解压缩,例如若文件信息中包含压缩算法,则确定需要进行解压缩处理,否则,确定不需要进行解压缩处理。
在一可能的实现方式中,上述文件信息还可以包括:压缩算法;
在将下载的文件块存储至所述存储空间之前,该方法还可以包括:
根据所述压缩算法对下载的文件块进行解压缩处理;
将解压缩后的所述文件块存储至所述存储空间。
在一可能的实现方式中,在文件下载完成后,该方法还可以包括:
向云盘发送下载成功消息;该下载成功消息可以包括:文件标识、文件名称、文件大小、用户名、密码、下载该文件的IP地址。
在一可能的实现方式中,在文件下载完成后,该方法还可以包括:
提示用户下载成功。
例如:可以通过语音提示用户下载成功,也可以通过文本对话框提示用户下载成功。
基于同一发明构思,参见图3,在客户端侧,本申请实施例提供了一种文件下载装置,包括:文件信息获取模块21、预分配模块22、下载模块23和处理模块24。
其中,文件信息获取模块21,用于从云存储系统获取待下载文件的文件信息;
其中,文件信息可以包括:待下载文件的大小、存储待下载文件的存储服务器列表、文件块分布信息表。文件块分布信息表可以包括:待下载文件中各个文件块的文件块信息。
预分配模块22,用于根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;
下载模块23,用于根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
处理模块24,用于将下载的所述文件块存储至所述存储空间。
在一可能的实现方式中,上述文件块信息可以包括:文件块的序号和所处的存储服务器的地址;
下载模块23可以用于:
针对每一存储服务器,统计该存储服务器中存储的所述文件的文件块的数量L;
从云存储系统获取所述存储服务器支持的最大线程数量X;
根据所述L和所述X为所述存储服务器创建至少一个线程。
在一可能的实现方式中,上述文件块信息还可以包括:文件块的数据偏移量;
处理模块24可以用于:
在所述文件块分布信息表中查询下载的文件块的数据偏移量;
根据下载的文件块的序号和数据偏移量将下载的文件块存储至所述存储空间。
在一可能的实现方式中,上述文件块分布信息表还可以包括:待下载文件中各个文件块的校验信息;
参加图4,上述装置还可以包括:文件块校验模块25;
文件块校验模块25,用于在下载任意序号的一个文件块之后,在所述文件块分布信息表中查询所述文件块的校验信息,并根据所述文件块的校验信息验证该文件块的正确性。
在一可能的实现方式中,上述文件信息还可以包括:原始文件的MD5值;
参加图4,上述装置还可以包括:文件校验模块26;
文件校验模块26,用于在将所述文件的所有文件块存储至所述存储空间之后,计算下载后的文件的MD5值,并将其与原始文件的MD5值进行比对,若两者的MD5值一致,则验证所述文件下载成功。
在一可能的实现方式中,上述文件信息还可以包括:压缩算法;
参加图5,上述装置还可以包括:解压缩模块27;
解压缩模块27,用于在将下载的文件块存储至所述存储空间之前,根据所述压缩算法对下载的文件块进行解压缩处理;
上述处理模块24具体可以用于将解压缩后的所述文件块存储至所述存储空间。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现上述任意可能的实现方式中的文件下载方法的步骤。
可选地,该存储介质具体可以为存储器。
基于同一发明构思,本申请实施例还提供了一种客户端,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器用于:
从云存储系统获取待下载文件的文件信息;所述文件信息至少包括:所述文件的大小、存储所述文件的存储服务器列表、文件块分布信息表,所述文件块分布信息表包括:所述文件中各个文件块的文件块信息;
根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;
根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
将下载的所述文件块存储至所述存储空间。
需要指出的是,本申请文件下载装置的实施例可以应用在文件下载系统的客户端上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在客户端的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本申请文件下载装置所在客户端的一种硬件结构图,除了图6所示的处理器71、内存72、网络接口73、非易失性存储器74、以及内部总线75之外,实施例中装置所在的客户端通常根据该防火墙或服务器的实际功能,还可以包括其他硬件,对此不再赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (14)

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所述的装置,其特征在于,所述文件块信息包括:文件块的序号和所处的存储服务器的地址。
9.根据权利要求8所述的装置,其特征在于,所述文件块信息还包括:文件块的数据偏移量;
所述处理模块用于:
在所述文件块分布信息表中查询下载的文件块的数据偏移量;
根据下载的文件块的序号和数据偏移量将下载的文件块存储至所述存储空间。
10.根据权利要求7所述的装置,其特征在于,所述文件块分布信息表还包括:所述文件中各个文件块的校验信息;
所述装置还包括:文件块校验模块;
所述文件块校验模块,用于在下载任意序号的一个文件块之后,在所述文件块分布信息表中查询所述文件块的校验信息,并根据所述文件块的校验信息验证该文件块的正确性。
11.根据权利要求7所述的装置,其特征在于,所述文件信息还包括:压缩算法;
所述装置还包括:解压缩模块;
所述解压缩模块,用于在将下载的文件块存储至所述存储空间之前,根据所述压缩算法对下载的文件块进行解压缩处理;
所述处理模块具体用于将解压缩后的所述文件块存储至所述存储空间。
12.根据权利要求7所述的装置,其特征在于,所述文件信息还包括:原始文件的MD5值;
所述装置还包括:文件校验模块;
所述文件校验模块,用于在将所述文件的所有文件块存储至所述存储空间之后,计算下载后的文件的MD5值,并将其与原始文件的MD5值进行比对,若两者的MD5值一致,则验证所述文件下载成功。
13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现权利要求1-6任一项所述方法的步骤。
14.一种客户端,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器用于:
从云存储系统获取待下载文件的文件信息;所述文件信息至少包括:所述文件的大小、存储所述文件的存储服务器列表、文件块分布信息表,所述文件块分布信息表包括:所述文件中各个文件块的文件块信息;
根据所述文件的大小在本地磁盘划分出用于存储所述文件的存储空间;
根据所述存储服务器列表中存储服务器的个数M创建N个线程,由所述N个线程根据所述文件块分布信息表并发下载所述文件的文件块;其中,所述N与所述M成正比关系;
将下载的所述文件块存储至所述存储空间;
所述根据所述存储服务器列表中存储服务器的个数M创建N个线程包括:
针对每一存储服务器,统计该存储服务器中存储的所述文件的文件块的数量L;
从云存储系统获取所述存储服务器支持的最大线程数量X;
根据所述L和所述X为所述存储服务器创建至少一个线程;
其中,为所述存储服务器创建的线程的数量与所述L和所述X呈正比关系。
CN201810691559.1A 2018-06-28 2018-06-28 文件下载方法及装置、客户端和计算机可读存储介质 Active CN110661829B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810691559.1A CN110661829B (zh) 2018-06-28 2018-06-28 文件下载方法及装置、客户端和计算机可读存储介质
PCT/CN2019/093074 WO2020001488A1 (zh) 2018-06-28 2019-06-26 文件下载方法及装置、客户端和计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810691559.1A CN110661829B (zh) 2018-06-28 2018-06-28 文件下载方法及装置、客户端和计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN110661829A CN110661829A (zh) 2020-01-07
CN110661829B true CN110661829B (zh) 2021-09-21

Family

ID=68986165

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810691559.1A Active CN110661829B (zh) 2018-06-28 2018-06-28 文件下载方法及装置、客户端和计算机可读存储介质

Country Status (2)

Country Link
CN (1) CN110661829B (zh)
WO (1) WO2020001488A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110287146B (zh) * 2019-06-19 2021-07-20 上海连尚网络科技有限公司 应用下载的方法、设备和计算机存储介质
CN111901377B (zh) * 2020-06-28 2022-12-27 苏州浪潮智能科技有限公司 一种基于ai训练平台的文件传输方法、装置、设备和介质
CN112311897A (zh) * 2020-11-17 2021-02-02 腾讯科技(深圳)有限公司 资源文件下载方法、装置、设备及介质
CN113824760B (zh) * 2021-08-03 2024-01-30 中债金科信息技术有限公司 文件并发分块上传方法、装置、电子设备及存储介质
CN114449047A (zh) * 2022-01-28 2022-05-06 深圳灵动创新信息技术有限公司 一种文件数据的处理方法和装置
CN115658450B (zh) * 2022-10-20 2023-05-16 广州思智时代科技有限公司 一种软件测试系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605148A (zh) * 2009-05-21 2009-12-16 何吴迪 云存储的并行系统的架构方法

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100459497C (zh) * 2004-06-18 2009-02-04 千橡世纪科技发展(北京)有限公司 一种实现文件加速下载的系统及方法
CN201274500Y (zh) * 2008-09-16 2009-07-15 王鹏 基于mpi的并行文件传输服务器群系统
CN102307210B (zh) * 2011-01-13 2014-12-10 国云科技股份有限公司 一种数据下载系统及其数据管理和下载方法
CN102833294B (zh) * 2011-06-17 2015-05-20 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
CN102710630B (zh) * 2012-05-29 2016-03-16 新华网股份有限公司 一种多线程分片的云上传下载方法及系统
CN102882981B (zh) * 2012-10-19 2015-01-28 南京邮电大学 一种对等结构云平台下节点任务的负载均衡方法
CN103106068B (zh) * 2013-02-28 2015-03-18 江苏中科物联网科技创业投资有限公司 物联网大数据快速校验方法
MX2013005303A (es) * 2013-05-10 2013-08-07 Fondo De Informacion Y Documentacion Para La Ind Infotec Un sistema y un proceso de alto desempeño para el tratamiento y almacenamiento de datos, basado en componentes de bajo costo, que garantiza la integridad y disponibilidad de los datos para su propia administracion.
WO2014205839A1 (zh) * 2013-06-29 2014-12-31 华为技术有限公司 一种文件下载的方法和装置
CN104702646A (zh) * 2013-12-09 2015-06-10 腾讯科技(深圳)有限公司 数据传输方法及相关装置和通信系统
CN103841181A (zh) * 2014-01-24 2014-06-04 东蓝数码股份有限公司 一种局域网多线程文件传输方法
CN103825943B (zh) * 2014-02-25 2017-03-29 国家电网公司 基于p2p的scorm标准课件播放系统及其实现方法
CN104391930A (zh) * 2014-11-21 2015-03-04 用友软件股份有限公司 分布式文件存储装置和方法
CN104462324A (zh) * 2014-12-03 2015-03-25 浪潮电子信息产业股份有限公司 一种hdfs多线程并行下载方法
CN106161524A (zh) * 2015-04-03 2016-11-23 中国移动通信集团上海有限公司 一种基于分布式资源节点的资源下载方法及装置
CN105187551A (zh) * 2015-09-29 2015-12-23 成都四象联创科技有限公司 基于云平台的分布式计算方法
CN105404645A (zh) * 2015-10-27 2016-03-16 北京乐动卓越科技有限公司 文件服务器系统中的文件管理方法及文件服务器系统
CN105450769A (zh) * 2015-12-10 2016-03-30 浪潮通用软件有限公司 一种文件传输的方法及装置
CN107623709A (zh) * 2016-07-15 2018-01-23 北京金山云网络技术有限公司 一种文件下载方法及装置
CN108076117B (zh) * 2016-11-14 2020-08-25 腾讯科技(深圳)有限公司 一种数据下载方法及用户终端

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101605148A (zh) * 2009-05-21 2009-12-16 何吴迪 云存储的并行系统的架构方法

Also Published As

Publication number Publication date
CN110661829A (zh) 2020-01-07
WO2020001488A1 (zh) 2020-01-02

Similar Documents

Publication Publication Date Title
CN110661829B (zh) 文件下载方法及装置、客户端和计算机可读存储介质
CN111447102B (zh) Sdn网络设备访问方法、装置、计算机设备及存储介质
CN110990335B (zh) 日志归档方法、装置、设备及计算机可读存储介质
CN105429929B (zh) 一种信息处理方法、客户端、服务器及系统
CN110213290B (zh) 数据获取方法、api网关以及存储介质
CN112416964A (zh) 一种数据处理的方法、装置、系统、计算机设备及计算机可读存储介质
CN107748849A (zh) 一种基于网络文件系统的权限控制方法及系统
CN106572074B (zh) 一种验证码的校验方法和装置
CN106899564B (zh) 一种登录方法和装置
CN109558710B (zh) 用户登录方法、装置、系统及存储介质
CN109729139A (zh) 访问请求转发方法、装置、设备及可读存储介质
CN109829321B (zh) 一种认证身份的方法、装置、设备及存储介质
CN105184559B (zh) 一种支付系统及方法
CN112118189B (zh) 一种流量采样方法、计算机设备及计算机可读存储介质
CN108133026B (zh) 一种多数据的处理方法、系统及存储介质
CN111147235B (zh) 对象访问方法、装置、电子设备及机器可读存储介质
CN111090616B (zh) 一种文件管理方法、对应装置、设备及存储介质
CN109818915B (zh) 一种信息处理方法及装置、服务器及可读存储介质
CN105871982A (zh) 内容推送的方法、装置以及系统
CN113271308B (zh) 系统登录鉴权方法、装置、计算机设备及可读存储介质
CN109861982A (zh) 一种身份认证的实现方法及装置
CN114372240A (zh) 数据获取方法、装置、终端及计算机可读存储介质
CN109302446B (zh) 跨平台访问方法、装置、电子设备及存储介质
CN111382379B (zh) 一种导入带图片的配置数据的方法及终端
CN114071455A (zh) 免密认证方法、服务器和系统、网关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant