CN114401261A - 文件下载方法及装置 - Google Patents
文件下载方法及装置 Download PDFInfo
- Publication number
- CN114401261A CN114401261A CN202111645473.3A CN202111645473A CN114401261A CN 114401261 A CN114401261 A CN 114401261A CN 202111645473 A CN202111645473 A CN 202111645473A CN 114401261 A CN114401261 A CN 114401261A
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- target
- storage server
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 239000012634 fragment Substances 0.000 claims description 2
- 230000008569 process Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 6
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000000903 blocking effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请公开了一种文件下载方法及装置。其中,该方法包括:接收客户端的文件下载请求,下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器;将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的目标文件;将目标文件发送至客户端。本申请解决了分布式存储环境下文件下载时寻址缓慢、下载效率较低的技术问题。
Description
技术领域
本申请涉及数据下载技术领域,具体而言,涉及一种文件下载方法及装置。
背景技术
随着互联网技术的快速发展,其为人们的生活提供了极大的便利性,人们可以通过互联网请求下载自身所需的各种文档、视频、音频等数据。当用户通过客户端发送下载请求后,服务器会依据下载请求从存储器中获取对应的文件,然后再反馈给用户。
然而在大数据环境下,文件通常分布式存储于多个存储服务器中,现有的文件下载方法寻址速度较慢,特别是在用户众多且文件较大时,文件下载速度缓慢,下载效率较低,难以满足用户的需求。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种文件下载方法及装置,以至少解决分布式存储环境下文件下载时寻址缓慢、下载效率较低的技术问题。
根据本申请实施例的一个方面,提供了一种文件下载方法,包括:接收客户端的文件下载请求,所述下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的所述目标文件;将所述目标文件发送至所述客户端。
可选地,所述文件存储信息中至少包括:所述目标文件的名称,所述目标文件的存储路径,所述目标文件的大小,所述存储器集群中第一次接收所述目标文件的第一服务器的标识,所述目标文件上传至所述第一服务器的文件上传时间。
可选地,确定所述存储器集群中的各个存储服务器的文件同步时间,其中,所述存储器集群中的各个存储服务器中的文件互相同步,任一所述存储服务器的文件同步时间为所述存储器集群中的其他存储服务器将所述目标文件最后一次同步至所述存储服务器的时间的最小值;基于所述文件上传时间和所述各个存储服务器的文件同步时间,从所述存储器集群中选择至少一个备选存储服务器;从所述至少一个备选存储服务器中确定所述目标存储服务器。
可选地,确定所述文件上传时间与当前时间的时间差;若所述时间差大于第一预设时长,将所述存储器集群中的所有存储服务器均作为备选存储服务器;若所述时间差小于第一预设时长,将所述存储器集群中的各个存储服务器的文件同步时间与所述文件上传时间进行比较;若存在文件同步时间晚于所述文件上传时间的存储服务器,将所述存储服务器作为所述备选存储服务器;若存在文件同步时间早于所述文件上传时间但不超过第二预设时长的存储服务器,且所述时间差大于第三预设时长,将所述存储服务器作为所述备选存储服务器;否则,将所述第一服务器作为所述备选存储服务器。
可选地,基于负载均衡的轮询方式从所述至少一个备选存储服务器中确定所述目标存储服务器。
可选地,基于多线程方式和I/O多路复用异步方式,接收多个客户端的所述文件下载请求。
可选地,获取所述目标存储服务器基于无锁消息队列方式发送的所述目标文件的多个片段,得到所述目标文件。
根据本申请实施例的另一方面,还提供了一种文件下载装置,包括:接收模块,用于接收客户端的文件下载请求,所述下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;选择模块,用于基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;获取模块,用于将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的所述目标文件;发送模块,用于将所述目标文件发送至所述客户端。
根据本申请实施例的另一方面,还提供了一种非易失性存储介质,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行上述的文件下载方法。
根据本申请实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的文件下载方法。
在本申请实施例中,服务器首先接收客户端的文件下载请求,该下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;可以基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器;然后将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的目标文件,再将目标文件发送至客户端。其中,基于请求下载的目标文件所携带的存储器集群标识和文件存储信息,可以快速确定对应的存储服务器,提高寻址效率,同时,服务器各模块可以采用多线程和I/O多路复用异步方式实现高并发,以同时响应多个用户的下载请求,从而解决了分布式存储环境下文件下载时寻址缓慢、下载效率较低技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种文件下载方法的流程示意图;
图2是根据本申请实施例的一种文件下载过程的示意图;
图3是根据本申请实施例的一种文件下载装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
为了解决相关技术中分布式存储环境下文件下载时寻址缓慢、下载效率较低的技术问题,本申请实施例针对现有的文件下载方案提出了以下优化思路:
首先,对于服务器中的反向代理模块,可以使用多线程(进程数量通常与CPU数目相同)方式以及I/O多路复用异步方式实现对消息的高并发处理,以同时响应来自多个客户端的下载请求。
同时,服务器中还具有多个决策模块,反向代理模块可以通过负载均衡的轮询方式与多个决策模块进行通信,将下载请求传输至其中一个决策模块,其中,决策模块在与反向代理模块进行数据交互时,内部本身采用多线程方式以及I/O多路复用异步方式实现对消息的高并发处理;接收到下载请求后,决策模块同样基于负载均衡的轮询方式从多个存储服务器中选择目标存储服务器,将其返回给反向代理模块,由反向代理模块向该目标存储服务器请求下载文件。其中,为了保证多个存储服务器之间的文件已完成同步,不会出现同步延时,可以通过将文件上传时间和每个存储服务器中文件最后同步时间进行比较,以选择出最合适的存储服务器作为目标存储服务器。
针对存储端,由于决策模块的轮询选择会分担每个存储服务器的流量压力,存储服务器本身也可以采用多线程方式以及I/O多路复用异步方式实现对消息的高并发处理;在请求下载的文件较大时,存储服务器还可以将文件内容进行分段,通过无锁消息队列方式发送至反向代理模块,由反向代理模块反馈给客户端。
进一步地,存储端可以增加卷的组织方式以实现大容量储存,这些卷中的文件相互独立,整个存储端的容量为所有卷的容量的总和;每个文件卷包含多个存储服务器,这些存储服务器中的文件相同,即同一个文件卷下的所有存储服务器互相同步。
在下载文件时,客户端发送的下载请求中通常包括有卷标识与文件标识,由于每个卷相互独立,只需根据卷标识在对应的卷中查找文件,而无需查找所有文件,可以有效提高文件寻址效率;而文件标识中通常包括文件名以及文件存储路径,当确定目标存储服务器后,可直接通过文件名以及文件存储路径快速查找到目标文件,从而进一步提高文件寻址效率,以实现大容量存储***寻址高效的目的。
本申请实施例在客户端进行文件下载时,由服务器将下载请求通过反向代理模块发送到决策模块,通过负载均衡的轮询方式选择目标存储服务器,目标存储服务器通过查询文件信息,将文件分段传输至终端。在该过程中,由于反向代理模块、决策模块与目标存储服务器都具有负载均衡、高并发的特性,可以通过异步非阻塞方式处理客户端的下载请求,理论上整体下载数据的速度可以达到带宽上限,整个下载***具有低资源、低消耗、高性能的特点,即使在同时下载文件的用户众多、文件过大、文件数量巨大时,均能迅速寻址目标文件并迅速响应,从而实现高速下载。
基于上述优化方案,本申请实施例提供了一种文件下载方法,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种可选的文件下载方法的流程示意图,如图1所示,该方法至少包括步骤S102-S108,其中:
步骤S102,接收客户端的文件下载请求,下载请求中携带有目标文件对应的存储器集群标识和文件存储信息。
其中,客户端通常为安装于用户的手机、计算机等终端中的应用软件,用户可以通过客户端向服务器请求下载文件;服务器中的反向代理模块可以基于多线程方式和I/O多路复用异步方式,同时接收多个客户端的文件下载请求,以下主要针对处理其中一个客户端的下载请求的过程进行说明。
具体地,反向代理模块接收客户端通过http协议发送的下载请求,该下载请求中通常携带有目标文件对应的存储器集群标识和文件存储信息,其中,存储器集群即为目标文件在存储端中对应的卷,存储器集群标识即为卷标识;而文件存储信息中至少包括有:目标文件的名称,目标文件的存储路径,目标文件的大小,存储器集群中第一次接收目标文件的第一服务器的标识,目标文件上传至第一服务器的文件上传时间,由于目标文件可能是分批次上传至第一服务器,或后续有追加上传更新内容,该文件上传时间取目标文件最后一次追加上传至第一服务器的时间。
步骤S104,基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器。
其中,反向代理模块会将下载请求中的存储器集群标识和文件存储信息通过决策模块定义的私有协议发送至决策模块,决策模块可以根据这些信息从存储器集群中的多个存储服务器中确定用于下载目标文件的目标存储服务器。
在本申请一些可选的实施例中,决策模块首先确定存储器集群中的各个存储服务器的文件同步时间,其中,由于存储器集群中的各个存储服务器中的文件互相同步,任一存储服务器的文件同步时间为存储器集群中的其他存储服务器将目标文件最后一次同步至该存储服务器的时间中的最小值;然后基于文件上传时间和各个存储服务器的文件同步时间,从存储器集群中选择至少一个备选存储服务器;再从至少一个备选存储服务器中确定目标存储服务器。
其中,为保证最终的目标存储服务器中的文件已完成同步,在确定备选存储服务器时,可以参考以下实施步骤。
1、确定文件上传时间与当前时间的时间差,若时间差大于第一预设时长,将存储器集群中的所有存储服务器均作为备选存储服务器。其中,第一预设时长可以设置为24h,即当文件最后一次上传时间为24h之前时,可以认为当前所有的存储服务器中的目标文件均已完成同步,可以作为备选存储服务器。
2、若时间差小于第一预设时长,将存储器集群中的各个存储服务器的文件同步时间与文件上传时间进行比较,若存在文件同步时间晚于文件上传时间的存储服务器,将存储服务器作为备选存储服务器。可以理解地,文件同步时间晚于文件上传时间的存储服务器中的目标文件必然已完成同步,该存储服务器可以作为备选存储服务器。
3、若存在文件同步时间早于文件上传时间但不超过第二预设时长的存储服务器,且时间差大于第三预设时长,将存储服务器作为备选存储服务器。其中,第二预设时长可以设置为1s,第三预设时长可以设置为300s,即当文件最后一次上传时间为300s之前,若某一存储服务器的文件同步时间虽早于该文件上传时间但不超过1s,则认为该存储服务器正在同步目标文件且当前已同步完成,可以作为备选存储服务器。
4、若以上条件均不满足,则可以将第一服务器作为唯一的备选存储服务器,即最终的目标存储服务器。
之后,决策模块可以基于负载均衡的轮询方式从至少一个备选存储服务器中确定目标存储服务器,并将该目标存储服务器反馈给反向代理模块。
步骤S106,将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的目标文件。
步骤S108,将目标文件发送至客户端。
具体地,反向代理模块会将下载请求发送至目标存储服务器,若请求下载的目标文件较大,目标存储服务器会将该目标文件进行分段,然后基于无锁消息队列方式发送至反向代理模块,反向代理模块获取目标存储服务器发送的目标文件的多个片段后,再将得到的目标文件反馈至请求的客户端。
在某些断点下载场景中,客户端发送的下载请求中还包括有下载数据偏移量及下载中断点字节,目标存储服务器会基于下载数据偏移量从下载中断点字节处读取文件,并将得到的文件发送至反向代理模块,由反向代理模块反馈至客户端。
图2为一种可选的文件下载过程的示意图,其中:
1、客户端向反向代理模块发送下载请求;
2、反向代理模块将下载请求信息发送至决策模块;
3、决策模块确定目标存储服务器并反馈给反向代理模块;
4、反向代理模块将下载请求发送至目标存储服务器;
5、目标存储服务器将目标文件发送至反向代理模块;
6、反向代理模块将目标文件反馈至客户端。
在本申请实施例中,服务器首先接收客户端的文件下载请求,该下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;可以基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器;然后将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的目标文件,再将目标文件发送至客户端。其中,基于请求下载的目标文件所携带的存储器集群标识和文件存储信息,可以快速确定对应的存储服务器,提高寻址效率,同时,服务器各模块可以采用多线程和I/O多路复用异步方式实现高并发,以同时响应多个用户的下载请求,从而解决了分布式存储环境下文件下载时寻址缓慢、下载效率较低技术问题。
实施例2
根据本申请实施例,还提供了一种用于实现上述文件下载方法的文件下载装置,如图3所示,该装置至少包括接收模块30,选择模块32,和获取模块34和发送模块36,其中:
接收模块30,用于接收客户端的文件下载请求,下载请求中携带有目标文件对应的存储器集群标识和文件存储信息。
其中,客户端通常为安装于用户的手机、计算机等终端中的应用软件,用户可以通过客户端向服务器请求下载文件;接收模块对应于服务器中的反向代理模块,其可以基于多线程方式和I/O多路复用异步方式,同时接收多个客户端的文件下载请求,以下主要针对处理其中一个客户端的下载请求的过程进行说明。
具体地,反向代理模块接收客户端通过http协议发送的下载请求,该下载请求中通常携带有目标文件对应的存储器集群标识和文件存储信息,其中,存储器集群即为目标文件在存储端中对应的卷,存储器集群标识即为卷标识;而文件存储信息中至少包括有:目标文件的名称,目标文件的存储路径,目标文件的大小,存储器集群中第一次接收目标文件的第一服务器的标识,目标文件上传至第一服务器的文件上传时间,由于目标文件可能是分批次上传至第一服务器,或后续有追加上传更新内容,该文件上传时间取目标文件最后一次追加上传至第一服务器的时间。
选择模块32,用于基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器。
其中,选择模块对应于决策模块,反向代理模块会将下载请求中的存储器集群标识和文件存储信息通过决策模块定义的私有协议发送至决策模块,决策模块可以根据这些信息从存储器集群中的多个存储服务器中确定用于下载目标文件的目标存储服务器。
在本申请一些可选的实施例中,决策模块首先确定存储器集群中的各个存储服务器的文件同步时间,其中,由于存储器集群中的各个存储服务器中的文件互相同步,任一存储服务器的文件同步时间为存储器集群中的其他存储服务器将目标文件最后一次同步至该存储服务器的时间中的最小值;然后基于文件上传时间和各个存储服务器的文件同步时间,从存储器集群中选择至少一个备选存储服务器;再从至少一个备选存储服务器中确定目标存储服务器。
其中,为保证最终的目标存储服务器中的文件已完成同步,在确定备选存储服务器时,可以参考以下实施步骤。
1、确定文件上传时间与当前时间的时间差,若时间差大于第一预设时长,将存储器集群中的所有存储服务器均作为备选存储服务器。其中,第一预设时长可以设置为24h,即当文件最后一次上传时间为24h之前时,可以认为当前所有的存储服务器中的目标文件均已完成同步,可以作为备选存储服务器。
2、若时间差小于第一预设时长,将存储器集群中的各个存储服务器的文件同步时间与文件上传时间进行比较,若存在文件同步时间晚于文件上传时间的存储服务器,将存储服务器作为备选存储服务器。可以理解地,文件同步时间晚于文件上传时间的存储服务器中的目标文件必然已完成同步,该存储服务器可以作为备选存储服务器。
3、若存在文件同步时间早于文件上传时间但不超过第二预设时长的存储服务器,且时间差大于第三预设时长,将存储服务器作为备选存储服务器。其中,第二预设时长可以设置为1s,第三预设时长可以设置为300s,即当文件最后一次上传时间为300s之前,若某一存储服务器的文件同步时间虽早于该文件上传时间但不超过1s,则认为该存储服务器正在同步目标文件且当前已同步完成,可以作为备选存储服务器。
4、若以上条件均不满足,则可以将第一服务器作为唯一的备选存储服务器,即最终的目标存储服务器。
之后,决策模块可以基于负载均衡的轮询方式从至少一个备选存储服务器中确定目标存储服务器,并将该目标存储服务器反馈给反向代理模块。
获取模块34,用于将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的目标文件。
发送模块36,用于将目标文件发送至客户端。
具体地,获取模块和发送模块均对应于反向代理模块,其会将下载请求发送至目标存储服务器,若请求下载的目标文件较大,目标存储服务器会将该目标文件进行分段,然后基于无锁消息队列方式发送至反向代理模块,反向代理模块获取目标存储服务器发送的目标文件的多个片段后,再将得到的目标文件反馈至请求的客户端。
在某些断点下载场景中,客户端发送的下载请求中还包括有下载数据偏移量及下载中断点字节,目标存储服务器会基于下载数据偏移量从下载中断点字节处读取文件,并将得到的文件发送至反向代理模块,由反向代理模块反馈至客户端。
需要说明的是,本申请实施例中的文件下载装置中的各模块与实施例1中的文件下载方法的各实施步骤一一对应,由于实施例1中已经进行了详尽的描述,本实施例中部分未体现的细节可以参考实施例1,在此不再过多赘述。
实施例3
根据本申请实施例,还提供了一种非易失性存储介质,该非易失性存储介质包括存储的程序,其中,在程序运行时控制非易失性存储介质所在设备执行实施例1中的文件下载方法。
根据本申请实施例,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行实施例1中的文件下载方法。
具体地,在程序运行时主要执行实现以下步骤:接收客户端的文件下载请求,下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;基于文件存储信息,从存储器集群标识对应的存储器集群中选择目标存储服务器;将文件下载请求发送至目标存储服务器,获取目标存储服务器反馈的目标文件;将目标文件发送至客户端。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (10)
1.一种文件下载方法,其特征在于,包括:
接收客户端的文件下载请求,所述下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;
基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;
将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的所述目标文件;
将所述目标文件发送至所述客户端。
2.根据权利要求1所述的方法,其特征在于,
所述文件存储信息中至少包括:所述目标文件的名称,所述目标文件的存储路径,所述目标文件的大小,所述存储器集群中第一次接收所述目标文件的第一服务器的标识,所述目标文件上传至所述第一服务器的文件上传时间。
3.根据权利要求2所述的方法,其特征在于,基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器,包括:
确定所述存储器集群中的各个存储服务器的文件同步时间,其中,所述存储器集群中的各个存储服务器中的文件互相同步,任一所述存储服务器的文件同步时间为所述存储器集群中的其他存储服务器将所述目标文件最后一次同步至所述存储服务器的时间的最小值;
基于所述文件上传时间和所述各个存储服务器的文件同步时间,从所述存储器集群中选择至少一个备选存储服务器;
从所述至少一个备选存储服务器中确定所述目标存储服务器。
4.根据权利要求3所述的方法,其特征在于,基于所述文件上传时间和所述各个存储服务器的文件同步时间,从所述存储器集群中选择至少一个备选存储服务器,包括:
确定所述文件上传时间与当前时间的时间差;
若所述时间差大于第一预设时长,将所述存储器集群中的所有存储服务器均作为备选存储服务器;
若所述时间差小于第一预设时长,将所述存储器集群中的各个存储服务器的文件同步时间与所述文件上传时间进行比较;
若存在文件同步时间晚于所述文件上传时间的存储服务器,将所述存储服务器作为所述备选存储服务器;若存在文件同步时间早于所述文件上传时间但不超过第二预设时长的存储服务器,且所述时间差大于第三预设时长,将所述存储服务器作为所述备选存储服务器;否则,将所述第一服务器作为所述备选存储服务器。
5.根据权利要求3所述的方法,其特征在于,从所述至少一个备选存储服务器中确定所述目标存储服务器,包括:
基于负载均衡的轮询方式从所述至少一个备选存储服务器中确定所述目标存储服务器。
6.根据权利要求1所述的方法,其特征在于,接收客户端的文件下载请求,包括:
基于多线程方式和I/O多路复用异步方式,接收多个客户端的所述文件下载请求。
7.根据权利要求1所述的方法,其特征在于,获取所述目标存储服务器反馈的所述目标文件,包括:
获取所述目标存储服务器基于无锁消息队列方式发送的所述目标文件的多个片段,得到所述目标文件。
8.一种文件下载装置,其特征在于,包括:
接收模块,用于接收客户端的文件下载请求,所述下载请求中携带有目标文件对应的存储器集群标识和文件存储信息;
选择模块,用于基于所述文件存储信息,从所述存储器集群标识对应的存储器集群中选择目标存储服务器;
获取模块,用于将所述文件下载请求发送至所述目标存储服务器,获取所述目标存储服务器反馈的所述目标文件;
发送模块,用于将所述目标文件发送至所述客户端。
9.一种非易失性存储介质,其特征在于,所述非易失性存储介质包括存储的程序,其中,在所述程序运行时控制所述非易失性存储介质所在设备执行权利要求1至7中任意一项所述的文件下载方法。
10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至7中任意一项所述的文件下载方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111645473.3A CN114401261A (zh) | 2021-12-29 | 2021-12-29 | 文件下载方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111645473.3A CN114401261A (zh) | 2021-12-29 | 2021-12-29 | 文件下载方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114401261A true CN114401261A (zh) | 2022-04-26 |
Family
ID=81228355
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111645473.3A Pending CN114401261A (zh) | 2021-12-29 | 2021-12-29 | 文件下载方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114401261A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086297A (zh) * | 2022-05-30 | 2022-09-20 | 一点灵犀信息技术(广州)有限公司 | 文件处理方法及设备 |
CN115150389A (zh) * | 2022-06-23 | 2022-10-04 | 浙江惠瀜网络科技有限公司 | 文件下载处理方法以及装置、电子设备、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030873A (zh) * | 2007-02-15 | 2007-09-05 | 深圳市迅雷网络技术有限公司 | 一种下载数据的方法及*** |
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储*** |
US20170187800A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | File synchronization method, electronic device |
CN108234539A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种文件上传、下载、传输方法及装置 |
CN112612769A (zh) * | 2020-12-16 | 2021-04-06 | 深圳前海微众银行股份有限公司 | 文件处理方法、装置及存储介质 |
-
2021
- 2021-12-29 CN CN202111645473.3A patent/CN114401261A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030873A (zh) * | 2007-02-15 | 2007-09-05 | 深圳市迅雷网络技术有限公司 | 一种下载数据的方法及*** |
CN104731516A (zh) * | 2013-12-18 | 2015-06-24 | 腾讯科技(深圳)有限公司 | 一种存取文件的方法、装置及分布式存储*** |
US20170187800A1 (en) * | 2015-12-28 | 2017-06-29 | Le Holdings (Beijing) Co., Ltd. | File synchronization method, electronic device |
CN108234539A (zh) * | 2016-12-14 | 2018-06-29 | 北京金山云网络技术有限公司 | 一种文件上传、下载、传输方法及装置 |
CN112612769A (zh) * | 2020-12-16 | 2021-04-06 | 深圳前海微众银行股份有限公司 | 文件处理方法、装置及存储介质 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115086297A (zh) * | 2022-05-30 | 2022-09-20 | 一点灵犀信息技术(广州)有限公司 | 文件处理方法及设备 |
CN115150389A (zh) * | 2022-06-23 | 2022-10-04 | 浙江惠瀜网络科技有限公司 | 文件下载处理方法以及装置、电子设备、存储介质 |
CN115150389B (zh) * | 2022-06-23 | 2024-05-17 | 浙江惠瀜网络科技有限公司 | 文件下载处理方法以及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8090813B2 (en) | Methods and apparatus for data transfer | |
EP2255277B1 (en) | File folder transmission on network | |
CN114401261A (zh) | 文件下载方法及装置 | |
US20140165119A1 (en) | Offline download method, multimedia file download method and system thereof | |
US9900167B2 (en) | Document sharing method, system, and device | |
CN102882985A (zh) | 基于云存储的文件共享方法 | |
CN113965560A (zh) | 数据传输方法和代理服务器、存储介质及电子装置 | |
CN103139241A (zh) | 网络资源文件的离线下载***和方法 | |
CA3131954C (en) | Information synchronization method, system, apparatus, computer device and storage medium | |
CN112437329B (zh) | 一种播放视频的方法、装置、设备、及可读存储介质 | |
CN104935668A (zh) | 分布式文件***及其数据同步的方法 | |
CN103108008A (zh) | 一种下载文件的方法及文件下载*** | |
CN112612769A (zh) | 文件处理方法、装置及存储介质 | |
EP4221233A1 (en) | Data download method and apparatus, computer device and storage medium | |
CN103731507A (zh) | 一种分布式数据存储设备处理数据的方法及装置 | |
JP2019016042A (ja) | データ取得プログラム、装置、及び方法 | |
CN114185484A (zh) | 一种文档存储集群化的方法、装置、设备和介质 | |
CN106686117B (zh) | 一种分布式计算集群的数据存储处理***及方法 | |
CN115499449A (zh) | 镜像加速***、方法及装置 | |
EP3579526B1 (en) | Resource file feedback method and apparatus | |
CN114222086A (zh) | 音视频码流的调度方法、***、介质及电子装置 | |
CN111131470B (zh) | 终端设备及其数据处理方法以及数据处理*** | |
CN112491951A (zh) | 对等网络中的请求处理方法、服务器及存储介质 | |
CN110895583B (zh) | 数据资源获取的方法、装置和*** | |
CN114124891B (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 |