CN106412137A - 一种文件下载***及文件下载方法 - Google Patents
一种文件下载***及文件下载方法 Download PDFInfo
- Publication number
- CN106412137A CN106412137A CN201611187936.5A CN201611187936A CN106412137A CN 106412137 A CN106412137 A CN 106412137A CN 201611187936 A CN201611187936 A CN 201611187936A CN 106412137 A CN106412137 A CN 106412137A
- Authority
- CN
- China
- Prior art keywords
- file
- slicing files
- download
- client
- server
- 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.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols 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]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种文件下载***,包括:客户端,适于向超级计算中心发送文件下载请求;超级计算中心,适于对所请求下载的文件进行分片处理得到多个分片文件、将多个分片文件发送给多个文件缓存服务器;调度服务器,适于在分片文件缓存到文件缓存服务器上时,生成对应分片文件的下载地址、发送下载地址给客户端以响应客户端对缓存进度的查询;文件缓存服务器,每个文件缓存服务器适于分别存储各分片文件;客户端还适于在接收到由调度服务器发送的下载地址时,从文件缓存服务器下载对应分片文件,并根据分片文件映射表拼接第一个分片文件及所下载的其他分片文件,以得到完整的下载文件。本发明还公开了相应的文件下载方法。
Description
技术领域
本发明文件传输技术领域,尤其是一种文件下载***及文件下载方法。
背景技术
用户在使用超级计算中心的计算资源进行计算时,一般输出的结果文件会比较大(达到数GB、甚至TB),通常用户需要将这些结果文件下载到本地来使用。鉴于超级计算中心的网络特点,用户和超级计算中心之间通过建立固定的VPN链路进行通讯,故用户与超级计算中心间的文件传输也只能采用scp/winscp、ftp这样的单线程下载工具,对于单个大文件来说,单线程的下载方式耗时太长,效率过低。
目前常见的一种单线程下载文件的改进方法,如图1所示,超级计算中心与客户端之间通过固定的VPN链路进行通讯(在图中以矩形框表示VPN通道),当要下载文件时,先在超级计算中心端对文件进行分片,例如将一个大文件分片处理得到4个分片文件,然后用户再使用诸如scp/winscp、ftp这样的工具,分别下载多个分片文件,当所有的分片文件都下载到本地后,组装得到大文件。这样的做法虽然解决了单线程下载的问题,但受制于VPN链路,所有的分片文件都必须通过仅有的一条VPN通道进行传输,无法进一步提升文件传输效率。
发明内容
为此,本发明提供了一种文件下载***及文件下载方法,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种文件下载***,包括:客户端,适于向超级计算中心发送文件下载请求、还适于根据超级计算中心返回的第一消息从超级计算中心下载第一个分片文件和分片文件映射表;超级计算中心,包括:连接管理单元,适于接收客户端发送的文件下载请求;控制单元,适于在接收到文件下载请求后,根据预定规则对所请求下载的文件进行分片处理得到多个分片文件,并生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置;连接管理单元还适于发送第一消息给客户端,其中第一消息包括第一个分片文件和分片文件映射表的下载地址,还适于将除第一个分片文件外的其他分片文件分别发送至对应的文件缓存服务器、并在每个分片文件在相应文件缓存服务器上缓存之后发送第二消息给调度服务器,其中第二消息包括该分片文件在相应文件缓存服务器上的地址;调度服务器,适于在接收到第二消息后,生成对应分片文件的下载地址、并发送下载地址给客户端以响应客户端对分片文件缓存进度的查询;多个文件缓存服务器,每个文件缓存服务器适于分别存储由超级计算中心发送的各分片文件;客户端还适于在接收到分片文件映射表后向调度服务器发送查询请求,以及在接收到由调度服务器发送的下载地址时,根据该下载地址从文件缓存服务器下载对应分片文件,并根据分片文件映射表拼接第一个分片文件及所下载的其他分片文件,以得到完整的下载文件。
可选地,在根据本发明的文件下载***中,超级计算中心以第一网络连接方式与客户端、文件缓存服务器和调度服务器分别建立连接;以及客户端以第二网络连接方式与调度服务器和文件缓存服务器分别建立连接。
可选地,在根据本发明的文件下载***中,第一网络连接方式的速度小于第二网络连接方式的速度;以及第一网络连接方式是虚拟专用网络连接。
可选地,在根据本发明的文件下载***中,在超级计算中心中,控制单元还适于判断所请求下载的文件大小是否大于阈值,若大于阈值则对所述文件进行分片处理得到第一数目个分片文件,其中,第一数目根据文件缓存服务器的数目得到。
可选地,在根据本发明的文件下载***中,在超级计算中心中,控制单元还适于根据预置分片大小对所述文件进行分片处理,得到至少一个分片文件。
可选地,在根据本发明的文件下载***中,在超级计算中心中,控制单元还适于为每个分片文件生成校验码以作为该分片文件的文件名,并在分片文件映射表中与分片文件的位置关联存储。
可选地,在根据本发明的文件下载***中,调度服务器还适于在接收到第二消息时,根据分片文件的文件名和该分片文件所在的文件缓存服务器的地址生成下载地址。
可选地,在根据本发明的文件下载***中,客户端还适于根据下载地址指向的文件缓存服务器的地址从该文件缓存服务器下载该分片文件。
可选地,在根据本发明的文件下载***中,客户端还适于在接收到分片文件映射表后向调度服务器发送查询请求包括:客户端还适于向调度服务器查询多个分片文件的缓存进度,直到接收到由调度服务器发送的下载地址为止。
可选地,在根据本发明的文件下载***中,客户端还适于查找分片文件映射表中是否存在所下载分片文件的校验码;若存在则按照分片文件映射表中存储的位置信息拼接分片文件;以及若不存在则重新下载对应的分片文件。
根据本发明的又一方面,提供了一种文件下载方法,该方法在文件下载***中执行,该***包括客户端、超级计算中心、调度服务器和多个文件缓存服务器,该方法包括步骤:超级计算中心接收到由客户端发送的文件下载请求时,根据预定规则对所请求下载的文件进行分片处理得到多个分片文件;超级计算中心生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置;超级计算中心发送第一消息给所述客户端,其中,第一消息包括第一个分片文件和分片文件映射表的下载地址,以便客户端根据第一消息下载第一个分片文件和分片文件映射表;超级计算中心将除第一个分片文件外的其他分片文件分别发送至对应的文件缓存服务器;超级计算中心在每个分片文件在相应文件缓存服务器上缓存之后发送第二消息给所述调度服务器,以便调度服务器生成该分片文件的下载地址、并发送该下载地址给客户端以响应客户端对分片文件缓存进度的查询,其中第二消息包括该分片文件在相应文件缓存服务器上的地址;客户端在接收到分片文件映射表后向调度服务器发送查询请求;客户端在接收到由调度服务器发送的下载地址时,根据该下载地址从文件缓存服务器下载对应分片文件;以及客户端根据分片文件映射表拼接第一个分片文件及所下载的其他分片文件,得到完整的下载文件。
可选地,在根据本发明的文件下载方法中,还包括步骤:超级计算中心分别以第一网络连接方式与客户端、文件缓存服务器和调度服务器建立连接;以及客户端分别以第二网络连接方式与调度服务器和文件缓存服务器建立连接。
可选地,在根据本发明的文件下载方法中,第一网络连接方式的速度小于第二网络连接方式的速度;以及第一网络连接方式是虚拟专用网络连接。
可选地,在根据本发明的文件下载方法中,超级计算中心根据预定规则对所请求下载文件进行分片处理得到多个分片文件的步骤包括:超级计算中心判断所请求下载的文件大小是否大于阈值,若大于阈值则对所述文件进行分片处理得到第一数目个分片文件,其中,第一数目根据文件缓存服务器的数目得到。
可选地,在根据本发明的文件下载方法中,超级计算中心根据预定规则对所请求下载文件进行分片处理得到多个分片文件的步骤包括:超级计算中心根据预置分片大小对文件进行分片处理,得到至少一个分片文件。
可选地,在根据本发明的文件下载方法中,超级计算中心生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置的步骤还包括:超级计算中心为每个分片文件生成校验码以作为该分片文件的文件名,并在分片文件映射表中与分片文件的位置关联存储。
可选地,在根据本发明的文件下载方法中,在超级计算中心发送第二消息给调度服务器的步骤之后,还包括步骤:调度服务器根据分片文件的文件名和该分片文件所在的文件缓存服务器的地址生成下载地址。
可选地,在根据本发明的文件下载方法中,客户端根据该下载地址从文件缓存服务器下载对应分片文件的步骤包括:客户端根据下载地址指向的文件缓存服务器的地址从该文件缓存服务器下载对应的分片文件。
可选地,在根据本发明的文件下载方法中,客户端在接收到分片文件映射表后向调度服务器发送查询请求的步骤包括步骤:客户端向调度服务器查询多个分片文件的缓存进度,直到接收到由调度服务器发送的下载地址为止。
可选地,在根据本发明的文件下载方法中,在客户端根据下载地址从文件缓存服务器下载对应分片文件的步骤之后,还包括步骤:客户端查找分片文件映射表中是否存在所下载分片文件的校验码;若存在则按照分片文件映射表中存储的位置拼接分片文件;以及若不存在则重新下载对应的分片文件。
根据本发明的文件下载方案,在具有超级计算中心这样的VPN链路环境中进行文件下载时,先对单个大文件进行分片处理,将各个分片文件缓存到多个文件缓存服务器上,再经由这多个文件缓存服务器将各个分片文件并行地传送给客户端。既突破了单一VPN链路的限制,又支持多线程下载,最大限度地提升了文件下载的效率。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了现有单线程下载文件的改进方案的示意图;
图2示出了根据本发明一个实施例的文件下载***200的示意图;以及
图3示出了根据本发明一个实施例的文件下载***200执行文件下载方法300的交互图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图2示出了根据本发明一个实施例的文件下载***200的示意图。
如图2所示,该***200包括:客户端210、超级计算中心220、调度服务器230和多个文件缓存服务器240,超级计算中心220布置在远程的计算集群,用以执行客户端210提交的作业,并生成作业运行的结果文件,本发明对***200内各部件的数量不作限制。其中,超级计算中心220以第一网络连接方式与客户端210、多个文件缓存服务器240和调度服务器230分别建立连接,客户端210以第二网络连接方式与调度服务器230和文件缓存服务器240分别建立连接。
根据本发明的实施方式,由于超级计算中心220网络隔离,故超级计算中心220只能通过VPN链路(即,第一网络连接方式)与客户端210进行通讯,为进一步突破VPN通讯链路的限制,让文件的一部分可以通过普通的互联网链路进行多线程的下载,在超级计算中心220和客户端210之间布置了多个文件缓存服务器240,多个文件缓存服务器240与超级计算中心220之间仍通过VPN链路进行通讯,但多个文件缓存服务器240与多个客户端210之间采用普通的互联网链路(即,第二网络连接方式)进行通讯。同时,增加调度服务器230,用于监控文件的缓存进度,同样地,调度服务器230与客户端210之间采用普通的互联网链路通讯,与超级计算中心210之间采用VPN链路通讯。
由于通过VPN链路进行通讯(如,下载文件)的速度小于通过普通互联网链路(如,HTTP协议)进行通讯的速度,故,若客户端210不是直接从超级计算中心220上下载结果文件,而是从文件缓存服务器240上下载文件,将能大大提高文件下载的速度。
概括来讲,在***200中,客户端210向超级计算中心220发送文件下载请求。
超级计算中心220按照一系列规则对请求下载的文件进行分片,并记载各分片文件的位置,而后将各分片文件发送给对应的每个文件缓存服务器240。
文件缓存服务器240分别存储由超级计算中心220发送的各分片文件。
调度服务器230监控各分片文件的缓存进度,在接收到超级计算中心220发送的某一分片文件在相应文件缓存服务器上的地址(即,第二消息)时,作为对客户端210查询分片文件缓存进度的响应,生成该分片文件的下载地址给客户端210,以便客户端210去文件缓存服务器240上下载该分片文件。
客户端210在接收到分片文件映射表后,向调度服务器230查询多个分片文件的缓存进度,直到接收到由调度服务器发送的下载地址为止。
客户端210将下载的各分片文件依其位置信息进行拼接,最终得到完整的下载文件。
根据本发明的实施方式,超级计算中心220包括:连接管理单元222和控制单元224,如图2所示。
其中,连接管理单元222接收客户端210发送的文件下载请求。控制单元224在接收到文件下载请求后,根据预定规则对所请求下载的文件进行分片处理得到多个分片文件,并生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置。
根据本发明的一个实施例,控制单元224判断所请求下载的文件大小是否大于阈值,若大于阈值则对该文件进行分片处理得到第一数目个分片文件,其中,第一数目根据文件缓存服务器240的数目得到。例如,设置当文件大小超过200M时就对文件进行分片,并且参考文件缓存服务器240的数目,若文件缓存服务器240有n个,则将文件分成(n+1)个分片。
或者,控制单元224根据预置分片大小对文件进行分片处理,得到至少一个分片文件。例如,设置固定的分片大小为200M,则按照每片200M大小对文件进行分片,要注意的是,最后一个分片可能会小于200M。
可选地,分片文件映射表中可以存储分片文件序号作为分片文件的位置信息。控制单元224为每个分片文件生成校验码以作为该分片文件的文件名,并在分片文件映射表中与分片文件的位置关联存储。如表1示例性地给出一个分片文件映射表的示例。本发明对分片文件生成校验码的方式不做限制。
表1文件映射表
连接管理单元222发送第一消息给客户端210,其中第一消息包括第一个分片文件和分片文件映射表的下载地址。
客户端210根据超级计算中心220返回的第一消息从超级计算中心220下载第一个分片文件和分片文件映射表。
连接管理单元222将除第一个分片文件外的其他分片文件分别发送至对应的文件缓存服务器240。
客户端210在接收到分片文件映射表后还会向调度服务器230发送查询请求,查询多个分片文件的缓存进度,知道接收到调度服务器230发送的下载地址为止。
同时,连接管理单元222在每个分片文件在相应文件缓存服务器上缓存之后发送第二消息给调度服务器230,其中第二消息包括该分片文件在相应文件缓存服务器240上的地址。
根据本发明的一个实施例,客户端210还可以查找分片文件映射表中是否存在所下载分片文件的校验码:若存在则按照分片文件映射表中存储的位置信息拼接分片文件;若不存在则重新下载对应的分片文件。
下面将更为详细地介绍***200在执行文件下载方法时的流程。图3示出了根据本发明一个实施例的在文件下载***200中执行文件下载方法300的交互图。
如图3所示,在步骤S301中,客户端210发送文件下载请求给超级计算中心220。
随后在步骤S302中,超级计算中心220接收到由客户端210发送的文件下载请求,根据预定规则对所请求下载的文件进行分片处理得到多个分片文件,并且,超级计算中心220生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置。
根据本发明的一个实施例,预定规则是,判断所请求下载的文件大小是否大于阈值,若大于阈值则对该文件进行分片处理得到第一数目个分片文件,其中,第一数目根据文件缓存服务器240的数目得到。例如,设置当文件大小超过200M时就对文件进行分片,并且参考文件缓存服务器240的数目,若文件缓存服务器240有n个,则将文件分成(n+1)个分片。
根据本发明的另一个实施例,预定规则是,根据预置分片大小对文件进行分片处理,得到至少一个分片文件。例如,设置固定的分片大小为200M,则按照每片200M大小对文件进行分片,要注意的是,最后一个分片可能会小于200M。
根据一种实现方式,超级计算中心220为每个分片文件生成校验码以作为该分片文件的文件名,并在分片文件映射表中与分片文件的位置关联存储。分片文件映射表如表1所示,以文件分片序号表征分片文件在所请求下载的文件中的位置,对每个分片文件生成校验码,如“abc”“def”“acd”,作为分片文件的文件名。应当注意的是,本发明对生成校验码的方式不做限制。
随后在步骤S303中,超级计算中心220发送第一消息给客户端210,其中,第一消息包括第一个分片文件(即,分片文件序号为0)和分片文件映射表的下载地址。
随后在步骤S304中,客户端210根据第一消息从超级计算中心220上下载第一个分片文件和分片文件映射表。此时,客户端210是通过VPN链路向超级计算中心220下载文件。
随后在步骤S305中,超级计算中心220将除第一个分片文件外的其他分片文件分别发送至对应的文件缓存服务器240。根据本发明的实施例,超级计算中心220依序将一个分片文件发送给一个文件缓存服务器240,也就是说,超级计算中心220与多个文件缓存服务器240之间构成多条VPN链路,并行地将多个分片文件发送至文件缓存服务器240。
随后在步骤S306中,超级计算中心220在每个分片文件在相应文件缓存服务器240上缓存之后发送第二消息给调度服务器230,其中第二消息包括该分片文件在相应文件缓存服务器240上的地址。根据本发明的一个实施例,设某个已缓存的分片文件的文件名(即,校验码)为abc,该分片文件所在的文件缓存服务器的地址为FCS1,超级计算中心220将分片文件文件名abc及对应的文件缓存服务器地址FCS1发送给调度服务器230。
在步骤S307中,客户端210在接收到分片文件映射表后就会向调度服务器230查询所述多个分片文件的缓存进度,直到接收到由调度服务器230发送的下载地址(即,步骤S308)为止。
在步骤S308中,调度服务器230在接收到第二消息后,生成该分片文件的下载地址、并发送该下载地址给客户端210以响应步骤S307。
根据本发明的一种实施方式,调度服务器230根据分片文件的文件名和该分片文件所在的文件缓存服务器的地址生成下载地址。例如,设某个分片文件的文件名为abc,对应的文件缓存服务器的地址为FCS1,那么,生成对应的下载地址就是:URL:http://FCS1/abc。
随后在步骤S309中,客户端210在接收到由调度服务器230发送的下载地址时,根据该下载地址指向的文件缓存服务器的地址从该文件缓存服务器下载对应分片文件。根据本发明的实施例,客户端210只要接收到一个下载地址,就启动下载该分片文件,同时,客户端210还会继续向调度服务器230查询是否有分片文件完成缓存,若有,则根据下一个分片文件的下载地址并行地进行下载,直至所有的分片文件都完成下载。
在***200中,客户端210与多个文件缓存服务器240之间以普通的互联网连接方式相连,故,客户端可以多线程地从文件缓存服务器上下载分片文件,提高下载速度和效率。
最后在步骤S310中,当所有分片文件都下载完毕时,客户端210根据分片文件映射表拼接第一个分片文件及所下载的其他分片文件,得到完整的下载文件。
根据本发明的实施例,客户端210在根据下载地址从文件缓存服务器下载对应分片文件后,客户端还会查找分片文件映射表中是否存在所下载分片文件的校验码:若存在则按照分片文件映射表中存储的位置拼接分片文件;若不存在则重新下载对应的分片文件。
根据本发明的文件下载方案,在具有超级计算中心这样的VPN链路环境中进行文件下载时,先对单个大文件进行分片处理,将各个分片文件缓存到多个文件缓存服务器上,经由这多个文件缓存服务器将各个分片文件并行地传送给客户端。既突破了单一VPN链路的限制,又支持多线程下载,最大限度地提升了文件下载的效率。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明还公开了:
A6、如A1-5中任一项所述的***,其中,在超级计算中心中,控制单元还适于为每个分片文件生成校验码以作为该分片文件的文件名,并在分片文件映射表中与分片文件的位置关联存储。
A7、如A6所述的***,其中,调度服务器还适于在接收到第二消息时,根据分片文件的文件名和该分片文件所在的文件缓存服务器的地址生成下载地址。
A8、如A7所述的***,其中,客户端还适于根据下载地址指向的文件缓存服务器的地址从该文件缓存服务器下载该分片文件。
A9、如A1-8中任一项所述的***,客户端还适于在接收到分片文件映射表后向调度服务器发送查询请求包括:客户端还适于向调度服务器查询多个分片文件的缓存进度,直到接收到由调度服务器发送的下载地址为止。
A10、如A6-9中任一项所述的***,其中,客户端还适于查找分片文件映射表中是否存在所下载分片文件的校验码;若存在则按照分片文件映射表中存储的位置信息拼接分片文件;以及若不存在则重新下载对应的分片文件。
B16、如B11-15中任一项中任一项所述的方法,其中,超级计算中心生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置的步骤还包括:超级计算中心为每个分片文件生成校验码以作为该分片文件的文件名,并在分片文件映射表中与分片文件的位置关联存储。
B17、如B16所述的方法,在超级计算中心发送第二消息给所述调度服务器的步骤之后,还包括步骤:调度服务器根据分片文件的文件名和该分片文件所在的文件缓存服务器的地址生成下载地址。
B18、如B17所述的方法,其中,客户端根据该下载地址从文件缓存服务器下载对应分片文件的步骤包括:客户端根据下载地址指向的文件缓存服务器的地址从该文件缓存服务器下载对应的分片文件。
B19、如B11-18中任一项所述的方法,其中,客户端在接收到分片文件映射表后向调度服务器发送查询请求的步骤包括:客户端向调度服务器查询多个分片文件的缓存进度,直到接收到由调度服务器发送的下载地址为止。
B20、如B16-19中任一项所述的方法,在客户端根据下载地址从文件缓存服务器下载对应分片文件的步骤之后,还包括步骤:客户端查找所述分片文件映射表中是否存在所下载分片文件的校验码;若存在则按照分片文件映射表中存储的位置拼接分片文件;以及若不存在则重新下载对应的分片文件。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机***的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。
Claims (10)
1.一种文件下载***,所述***包括:
客户端,适于向超级计算中心发送文件下载请求、还适于根据所述超级计算中心返回的第一消息从超级计算中心下载第一个分片文件和分片文件映射表;
超级计算中心,包括:
连接管理单元,适于接收客户端发送的文件下载请求;
控制单元,适于在接收到文件下载请求后,根据预定规则对所请求下载的文件进行分片处理得到多个分片文件,并生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置;
所述连接管理单元还适于发送第一消息给所述客户端,其中所述第一消息包括第一个分片文件和分片文件映射表的下载地址,还适于将除第一个分片文件外的其他分片文件分别发送至对应的文件缓存服务器、并在每个分片文件在相应文件缓存服务器上缓存之后发送第二消息给调度服务器,其中所述第二消息包括该分片文件在相应文件缓存服务器上的地址;
调度服务器,适于在接收到所述第二消息后,生成对应分片文件的下载地址、并发送所述下载地址给所述客户端以响应客户端对分片文件缓存进度的查询;
多个文件缓存服务器,每个文件缓存服务器适于分别存储由所述超级计算中心发送的各分片文件;
所述客户端还适于在接收到分片文件映射表后向所述调度服务器发送查询请求,以及在接收到由所述调度服务器发送的下载地址时,根据该下载地址从文件缓存服务器下载对应分片文件,并根据所述分片文件映射表拼接第一个分片文件及所下载的其他分片文件,以得到完整的下载文件。
2.如权利要求1所述的***,其中,
所述超级计算中心以第一网络连接方式与所述客户端、所述文件缓存服务器和所述调度服务器分别建立连接;以及
所述客户端以第二网络连接方式与所述调度服务器和所述文件缓存服务器分别建立连接。
3.如权利要求2所述的***,其中,
所述第一网络连接方式的速度小于第二网络连接方式的速度;以及
第一网络连接方式是虚拟专用网络连接。
4.如权利要求1-3中任一项所述的***,其中,在所述超级计算中心中,
所述控制单元还适于判断所请求下载的文件大小是否大于阈值,若大于阈值则对所述文件进行分片处理得到第一数目个分片文件,
其中,所述第一数目根据文件缓存服务器的数目得到。
5.如权利要求1-3中任一项所述的***,其中,在所述超级计算中心中,
所述控制单元还适于根据预置分片大小对所述文件进行分片处理,得到至少一个分片文件。
6.一种文件下载方法,所述方法在文件下载***中执行,该***包括客户端、超级计算中心、调度服务器和多个文件缓存服务器,该方法包括步骤:
所述超级计算中心接收到由客户端发送的文件下载请求时,根据预定规则对所请求下载的文件进行分片处理得到多个分片文件;
所述超级计算中心生成分片文件映射表以存储各个分片文件在所请求下载的文件中的位置;
所述超级计算中心发送第一消息给所述客户端,其中,所述第一消息包括第一个分片文件和分片文件映射表的下载地址,以便客户端根据第一消息下载第一个分片文件和分片文件映射表;
所述超级计算中心将除第一个分片文件外的其他分片文件分别发送至对应的文件缓存服务器;
所述超级计算中心在每个分片文件在相应文件缓存服务器上缓存之后发送第二消息给所述调度服务器,以便所述调度服务器生成该分片文件的下载地址、并发送该下载地址给所述客户端以响应所述客户端对分片文件缓存进度的查询,其中所述第二消息包括该分片文件在相应文件缓存服务器上的地址;
所述客户端在接收到分片文件映射表后向所述调度服务器发送查询请求;
所述客户端在接收到由所述调度服务器发送的下载地址时,根据该下载地址从文件缓存服务器下载对应分片文件;以及
所述客户端根据所述分片文件映射表拼接第一个分片文件及所下载的其他分片文件,得到完整的下载文件。
7.如权利要求6所述的方法,还包括步骤:
所述超级计算中心分别以第一网络连接方式与所述客户端、所述文件缓存服务器和所述调度服务器建立连接;以及
所述客户端分别以第二网络连接方式与所述调度服务器和所述文件缓存服务器建立连接。
8.如权利要求7所述的方法,其中,
所述第一网络连接方式的速度小于第二网络连接方式的速度;以及
第一网络连接方式是虚拟专用网络连接。
9.如权利要求6-8中任一项所述的方法,其中,所述超级计算中心根据预定规则对所请求下载文件进行分片处理得到多个分片文件的步骤包括:
所述超级计算中心判断所请求下载的文件大小是否大于阈值,若大于阈值则对所述文件进行分片处理得到第一数目个分片文件,
其中,所述第一数目根据文件缓存服务器的数目得到。
10.如权利要求6-8中任一项所述的方法,其中,所述超级计算中心根据预定规则对所请求下载文件进行分片处理得到多个分片文件的步骤包括:
所述超级计算中心根据预置分片大小对所述文件进行分片处理,得到至少一个分片文件。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187936.5A CN106412137B (zh) | 2016-12-20 | 2016-12-20 | 一种文件下载***及文件下载方法 |
CN201910506623.9A CN110290186B (zh) | 2016-12-20 | 2016-12-20 | 一种适用于多超算中心文件传输的***及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611187936.5A CN106412137B (zh) | 2016-12-20 | 2016-12-20 | 一种文件下载***及文件下载方法 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910506623.9A Division CN110290186B (zh) | 2016-12-20 | 2016-12-20 | 一种适用于多超算中心文件传输的***及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106412137A true CN106412137A (zh) | 2017-02-15 |
CN106412137B CN106412137B (zh) | 2019-07-09 |
Family
ID=58087656
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910506623.9A Active CN110290186B (zh) | 2016-12-20 | 2016-12-20 | 一种适用于多超算中心文件传输的***及方法 |
CN201611187936.5A Active CN106412137B (zh) | 2016-12-20 | 2016-12-20 | 一种文件下载***及文件下载方法 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910506623.9A Active CN110290186B (zh) | 2016-12-20 | 2016-12-20 | 一种适用于多超算中心文件传输的***及方法 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN110290186B (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182237A (zh) * | 2017-12-27 | 2018-06-19 | 金蝶软件(中国)有限公司 | 一种大数据的展示方法、***及相关装置 |
CN108712454A (zh) * | 2018-02-13 | 2018-10-26 | 阿里巴巴集团控股有限公司 | 一种文件处理方法、装置及设备 |
CN109429076A (zh) * | 2017-08-31 | 2019-03-05 | 杭州海康威视***技术有限公司 | 多媒体数据的播放卡顿处理方法以及装置 |
CN109660632A (zh) * | 2019-01-21 | 2019-04-19 | 联动优势电子商务有限公司 | 一种文件下载方法及*** |
CN109788073A (zh) * | 2019-03-11 | 2019-05-21 | 四川长虹电器股份有限公司 | 一种Web***中文件下载的方法 |
CN110784520A (zh) * | 2019-09-30 | 2020-02-11 | 北京字节跳动网络技术有限公司 | 文件下载方法、装置及电子设备 |
CN110830522A (zh) * | 2018-08-07 | 2020-02-21 | 石悌君 | 一种共享存储*** |
CN110891081A (zh) * | 2019-10-21 | 2020-03-17 | 量子云未来(北京)信息科技有限公司 | 一种数据发送设备、路由设备、报文公告设备、接收设备 |
CN111343225A (zh) * | 2018-12-19 | 2020-06-26 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN111835856A (zh) * | 2020-07-17 | 2020-10-27 | 北京百度网讯科技有限公司 | 文件下载的方法、装置、设备以及存储介质 |
CN112199052A (zh) * | 2020-11-04 | 2021-01-08 | 江苏特思达电子科技股份有限公司 | 一种文件下载方法、装置及计算机设备 |
CN112243269A (zh) * | 2020-10-15 | 2021-01-19 | Tcl通讯(宁波)有限公司 | 下载数据方法及其装置、移动终端 |
CN113037790A (zh) * | 2019-12-09 | 2021-06-25 | 汇海汽车科技(天津)有限公司 | 一种文件处理方法、装置和存储介质 |
CN113132489A (zh) * | 2021-04-22 | 2021-07-16 | 中国工商银行股份有限公司 | 下载文件的方法、装置、计算设备和介质 |
CN113452733A (zh) * | 2020-03-25 | 2021-09-28 | 北京沃东天骏信息技术有限公司 | 文件下载方法和装置 |
CN113840000A (zh) * | 2021-06-30 | 2021-12-24 | 山东易华录信息技术有限公司 | 一种海量大文件分布式网络下载方法及装置 |
CN115022303A (zh) * | 2022-05-17 | 2022-09-06 | 政采云有限公司 | 一种文件下载方法、装置、设备及介质 |
CN115242780A (zh) * | 2022-07-26 | 2022-10-25 | 北京知道创宇信息技术股份有限公司 | 文件下载方法、装置、下载管理器及可读存储介质 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113364848B (zh) * | 2021-06-01 | 2024-03-19 | 平安银行股份有限公司 | 文件缓存方法、装置、电子设备及存储介质 |
CN114745374B (zh) * | 2022-06-10 | 2022-09-27 | 武汉四通信息服务有限公司 | 文件传输方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的***及方法 |
CN101079709A (zh) * | 2006-06-15 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 单点对多节点并发下载***和方法 |
CN101626337A (zh) * | 2009-06-18 | 2010-01-13 | 南京联创科技股份有限公司 | 基于虚拟网卡技术的多隧道并发模型实现方法 |
US20100095012A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Fast retrieval and progressive retransmission of content |
CN101741730A (zh) * | 2009-12-02 | 2010-06-16 | 成都市华为赛门铁克科技有限公司 | 文件下载方法及设备、提供文件下载服务的方法及*** |
CN102651861A (zh) * | 2011-02-24 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 用于移动终端的下载方法、移动终端和代理下载服务器 |
CN103457999A (zh) * | 2013-08-06 | 2013-12-18 | 北京大学深圳研究生院 | 一种基于ndn网络架构的p2p文件传输方法 |
CN105915945A (zh) * | 2015-12-08 | 2016-08-31 | 乐视云计算有限公司 | 用于cdn平台的内容分发方法及调度代理服务器 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080126357A1 (en) * | 2006-05-04 | 2008-05-29 | Wambo, Inc. | Distributed file storage and transmission system |
CN101227460B (zh) * | 2007-01-19 | 2011-07-27 | 上海捷存软件有限公司 | 分布式文件上传、下载方法及其装置和*** |
CN103139241A (zh) * | 2011-11-24 | 2013-06-05 | 腾讯科技(深圳)有限公司 | 网络资源文件的离线下载***和方法 |
CN103873926B (zh) * | 2012-12-13 | 2017-03-22 | 腾讯科技(深圳)有限公司 | 下载并播放媒体文件的方法及*** |
IN2013MU03094A (zh) * | 2013-09-27 | 2015-07-17 | Tata Consultancy Services Ltd | |
CN104702646A (zh) * | 2013-12-09 | 2015-06-10 | 腾讯科技(深圳)有限公司 | 数据传输方法及相关装置和通信*** |
CN104735130B (zh) * | 2015-02-12 | 2018-11-09 | 卓易畅想(北京)科技有限公司 | 一种多媒体文件下载的方法与装置 |
-
2016
- 2016-12-20 CN CN201910506623.9A patent/CN110290186B/zh active Active
- 2016-12-20 CN CN201611187936.5A patent/CN106412137B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1710857A (zh) * | 2004-06-18 | 2005-12-21 | 千橡寰宇科技发展(北京)有限公司 | 一种实现文件加速下载的***及方法 |
CN101079709A (zh) * | 2006-06-15 | 2007-11-28 | 腾讯科技(深圳)有限公司 | 单点对多节点并发下载***和方法 |
US20100095012A1 (en) * | 2008-10-15 | 2010-04-15 | Patentvc Ltd. | Fast retrieval and progressive retransmission of content |
CN101626337A (zh) * | 2009-06-18 | 2010-01-13 | 南京联创科技股份有限公司 | 基于虚拟网卡技术的多隧道并发模型实现方法 |
CN101741730A (zh) * | 2009-12-02 | 2010-06-16 | 成都市华为赛门铁克科技有限公司 | 文件下载方法及设备、提供文件下载服务的方法及*** |
CN102651861A (zh) * | 2011-02-24 | 2012-08-29 | 腾讯科技(深圳)有限公司 | 用于移动终端的下载方法、移动终端和代理下载服务器 |
CN103457999A (zh) * | 2013-08-06 | 2013-12-18 | 北京大学深圳研究生院 | 一种基于ndn网络架构的p2p文件传输方法 |
CN105915945A (zh) * | 2015-12-08 | 2016-08-31 | 乐视云计算有限公司 | 用于cdn平台的内容分发方法及调度代理服务器 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109429076A (zh) * | 2017-08-31 | 2019-03-05 | 杭州海康威视***技术有限公司 | 多媒体数据的播放卡顿处理方法以及装置 |
CN108182237A (zh) * | 2017-12-27 | 2018-06-19 | 金蝶软件(中国)有限公司 | 一种大数据的展示方法、***及相关装置 |
CN108182237B (zh) * | 2017-12-27 | 2021-07-06 | 金蝶软件(中国)有限公司 | 一种大数据的展示方法、***及相关装置 |
CN108712454B (zh) * | 2018-02-13 | 2020-11-17 | 创新先进技术有限公司 | 一种文件处理方法、装置及设备 |
CN108712454A (zh) * | 2018-02-13 | 2018-10-26 | 阿里巴巴集团控股有限公司 | 一种文件处理方法、装置及设备 |
CN110830522A (zh) * | 2018-08-07 | 2020-02-21 | 石悌君 | 一种共享存储*** |
CN111343225B (zh) * | 2018-12-19 | 2024-04-09 | 三六零科技集团有限公司 | 一种文件处理方法和装置 |
CN111343225A (zh) * | 2018-12-19 | 2020-06-26 | 北京奇虎科技有限公司 | 一种文件处理方法和装置 |
CN109660632A (zh) * | 2019-01-21 | 2019-04-19 | 联动优势电子商务有限公司 | 一种文件下载方法及*** |
CN109788073A (zh) * | 2019-03-11 | 2019-05-21 | 四川长虹电器股份有限公司 | 一种Web***中文件下载的方法 |
CN110784520A (zh) * | 2019-09-30 | 2020-02-11 | 北京字节跳动网络技术有限公司 | 文件下载方法、装置及电子设备 |
CN110891081A (zh) * | 2019-10-21 | 2020-03-17 | 量子云未来(北京)信息科技有限公司 | 一种数据发送设备、路由设备、报文公告设备、接收设备 |
CN113037790A (zh) * | 2019-12-09 | 2021-06-25 | 汇海汽车科技(天津)有限公司 | 一种文件处理方法、装置和存储介质 |
CN113452733A (zh) * | 2020-03-25 | 2021-09-28 | 北京沃东天骏信息技术有限公司 | 文件下载方法和装置 |
CN111835856A (zh) * | 2020-07-17 | 2020-10-27 | 北京百度网讯科技有限公司 | 文件下载的方法、装置、设备以及存储介质 |
CN112243269A (zh) * | 2020-10-15 | 2021-01-19 | Tcl通讯(宁波)有限公司 | 下载数据方法及其装置、移动终端 |
CN112243269B (zh) * | 2020-10-15 | 2023-09-19 | 青岛乾程科技股份有限公司 | 下载数据方法及其装置、移动终端 |
CN112199052A (zh) * | 2020-11-04 | 2021-01-08 | 江苏特思达电子科技股份有限公司 | 一种文件下载方法、装置及计算机设备 |
CN113132489A (zh) * | 2021-04-22 | 2021-07-16 | 中国工商银行股份有限公司 | 下载文件的方法、装置、计算设备和介质 |
CN113840000A (zh) * | 2021-06-30 | 2021-12-24 | 山东易华录信息技术有限公司 | 一种海量大文件分布式网络下载方法及装置 |
CN115022303A (zh) * | 2022-05-17 | 2022-09-06 | 政采云有限公司 | 一种文件下载方法、装置、设备及介质 |
CN115242780A (zh) * | 2022-07-26 | 2022-10-25 | 北京知道创宇信息技术股份有限公司 | 文件下载方法、装置、下载管理器及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110290186B (zh) | 2021-09-07 |
CN110290186A (zh) | 2019-09-27 |
CN106412137B (zh) | 2019-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106412137A (zh) | 一种文件下载***及文件下载方法 | |
JP6880131B2 (ja) | データ処理用の方法、装置及びシステム | |
US8356274B2 (en) | System and methods to create a multi-tenancy software as a service application | |
CN105164677B (zh) | 在并行数据库处执行存储过程的方法和*** | |
CN103729471B (zh) | 数据库查询方法和装置 | |
CN102647482B (zh) | 一种访问网站的方法和*** | |
CN102331985B (zh) | 网页页面的分片嵌套缓存的处理方法和装置 | |
US8620926B2 (en) | Using a hashing mechanism to select data entries in a directory for use with requested operations | |
CN108737534B (zh) | 一种基于区块链的数据传输方法、装置、区块链*** | |
CN103391312B (zh) | 资源离线下载方法及装置 | |
CN109145020A (zh) | 信息查询方法、从服务器、客户端及计算机可读存储介质 | |
US7953887B2 (en) | Asynchronous automated routing of user to optimal host | |
CN105119973B (zh) | 用户信息处理方法和服务器 | |
CN105516284B (zh) | 一种集群数据库分布式存储的方法和装置 | |
CN105554085B (zh) | 一种基于服务器连接的动态超时处理方法和装置 | |
CN108959549A (zh) | 数据写入方法、装置、计算设备及计算机存储介质 | |
CN108173952A (zh) | 一种内容分发网络cdn的数据访问方法和装置 | |
CN105897849A (zh) | 跨进程服务方法和***及代理服务器 | |
CN105933226A (zh) | 内容分发方法及*** | |
CN103607424A (zh) | 一种服务器连接方法及服务器*** | |
JP2013015991A (ja) | 情報処理装置、サーバ選択方法、及びプログラム | |
CN106933965A (zh) | 静态资源请求的方法 | |
CN104125303B (zh) | 数据读写请求方法、客户端及*** | |
CN108153825A (zh) | 数据访问方法及装置 | |
CN105897754A (zh) | 一种数据处理***、数据拉取方法以及客户端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |