CN105187489A - 可集群并支持多用户同时上传的文件传输方法和系统 - Google Patents

可集群并支持多用户同时上传的文件传输方法和系统 Download PDF

Info

Publication number
CN105187489A
CN105187489A CN201510474496.0A CN201510474496A CN105187489A CN 105187489 A CN105187489 A CN 105187489A CN 201510474496 A CN201510474496 A CN 201510474496A CN 105187489 A CN105187489 A CN 105187489A
Authority
CN
China
Prior art keywords
files
upload
blocks
file
client
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
Application number
CN201510474496.0A
Other languages
English (en)
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.)
SHENZHEN LAN-YOU TECHNOLOG Co Ltd
Original Assignee
SHENZHEN LAN-YOU TECHNOLOG 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 SHENZHEN LAN-YOU TECHNOLOG Co Ltd filed Critical SHENZHEN LAN-YOU TECHNOLOG Co Ltd
Priority to CN201510474496.0A priority Critical patent/CN105187489A/zh
Publication of CN105187489A publication Critical patent/CN105187489A/zh
Pending legal-status Critical Current

Links

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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/5651Reducing the amount or size of exchanged application data

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种可集群并支持多用户同时上传的文件传输方法和系统,系统包括具有多个客户端的用户层、包括一LVS模块和多个文件传输模块的接入层、包括多个文件存储模块的存储层,方法为:S1、客户端发送上传请求;S2、LVS模块选择一个文件传输模块处理该上传请求,文件传输模块将该新文件切分为多个文件块,并返回上传响应;S3、客户端在接收到上传响应后发送文件块上传请求;S4、文件传输模块基于未上传的文件块,返回写文件块响应;S5、客户端根据写文件块响应发送文件块给文件传输模块;S6、文件传输模块选择一个文件存储模块存储文件块,转S4继续下个文件块的上传。本发明通过集群提高系统吞吐量和抗风险能力,支持多用户同时上传同一个文件以及断点续传。

Description

可集群并支持多用户同时上传的文件传输方法和系统
技术领域
本发明涉及通信领域,尤其涉及一种可集群并支持多用户同时上传的文件传输方法和系统。
背景技术
在互联网文件传输服务开发任务中,存在程序中读写IO频繁而且上传文件比较大对网络吞吐量要求高的问题,既要支撑高并发和高IO磁盘访问,又要保证文件在集群部署中的一致性,同时还要降低程序异常退出、网络带宽使用,减少磁盘碎片等问题。
落地文件,即保存到本地计算机磁盘上的文件。参考图1,现有文件传输服务中,落地文件和文件传输服务在同一台服务器上,读写本地磁盘。因此,现有文件传输服务不支持集群,落地文件和文件传输服务部署在同一台服务器,受服务器的性能和网络IO影响,单机服务的处理能力得不到最大化,大量用户并且大文件上传时,无法达到高并发高实时性的要求;另一方面由于当服务器出现故障,服务重启、系统掉电等异常情况出现,没有备用机器将导致文件传输功能无法使用。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种可集群并支持多用户同时上传的文件传输方法和系统。
本发明解决其技术问题所采用的技术方案是:构造一种可集群并支持多用户同时上传的文件传输方法,基于文件传输系统实现,该文件传输系统包括用户层、接入层、存储层,所述用户层包括多个客户端,所述接入层包括一个LVS模块和多个文件传输模块,所述存储层包括集群部署的多个文件存储模块;
所述方法包括:
S1、用户层中的客户端发送上传请求给接入层的LVS模块,所述上传请求用于请求向存储层上传新文件;
S2、接入层中的LVS模块选择一个文件传输模块处理该上传请求,文件传输模块将该新文件切分为多个文件块,并返回上传响应给对应的客户端;
S3、客户端在接收到上传响应后,发送文件块上传请求给该文件传输模块;
S4、文件传输模块基于未上传的文件块,返回写文件块响应给对应的客户端;
S5、客户端根据接收的写文件块响应,发送对应的文件块给文件传输模块;
S6、文件传输模块选择存储层中的一个文件存储模块存储该文件块,并在文件块存储完毕后转步骤S4继续下一个文件块的上传直至所有的文件块都上传至存储层。
在本发明所述的可集群并支持多用户同时上传的文件传输方法中,所述步骤S2中还包括:所述文件传输模块将每个文件块切分为多个更小的文件块;所述步骤S4还包括:文件传输模块根据客户端的网络类型和设备类型,经由所述写文件块响应设定该客户端单次上传的较小文件块的数量。
在本发明所述的可集群并支持多用户同时上传的文件传输方法中,每个文件块包括三种状态:未上传、正在上传、已上传,步骤S2中首次将文件切分时将所有文件块的状态都设置为未上传,
所述步骤S4包括:从第1块较小的文件块开始顺序查找直到找到状态为未上传的一个或者多个文件块,将该一个或者多个文件块的位置信息包含在写文件块响应中下发,并将该一个或者多个文件块的状态设置为正在上传,如果某个较大的文件块中的存在状态为正在上传的较小的文件块,则将该较大的文件块的状态设置为正在上传;
所述步骤S6中,在文件块存储完毕时将该文件块的状态设置为已上传,如果某个较大的文件块中的所有的较小的文件块的状态均为已上传,则将该较大的文件块的状态设置为已上传,如果所有的较大的文件块的状态都为已上传,则发送上传完毕指令给对应的客户端,结束。
在本发明所述的可集群并支持多用户同时上传的文件传输方法中,所述步骤S6所述的选择存储层中的一个文件存储模块存储该文件块包括:将所述存储层中的文件存储模块顺序编号为1-n,n为正整数;将客户端提交的文件MD5值经过哈希算法整形化后的值对n取模,并将取模的结果记为k;选择第k个文件存储模块存储文件块。
在本发明所述的可集群并支持多用户同时上传的文件传输方法中,所述步骤S2包括:
S20、LVS模块接收到的上传请求后,根据负载均衡算法确定一个文件传输模块,并将该上传请求转发至该文件传输模块;
S21、该文件传输模块判断所述上传请求所对应的新文件是否已上传;
S22、如果新文件已上传,则发送上传完毕指令给对应的客户端,结束;
S23、如果新文件未上传或正在上传,则返回所述上传响应给对应的客户端。
本发明还公开了一种可集群并支持多用户同时上传的文件传输系统,包括:
用户层,包括多个客户端;
接入层,包括一个LVS模块和多个文件传输模块;
存储层,包括集群部署的多个文件存储模块;
所述客户端用于发送上传请求给所述LVS模块,所述上传请求用于请求向存储层上传新文;所述LVS模块用于选择一个文件传输模块处理该上传请求;文件传输模块用于将该新文件切分为多个文件块,并返回上传响应给对应的客户端;所述客户端还用于在接收到上传响应后,发送文件块上传请求给文件传输模块;文件传输模块还用于基于未上传的文件块返回写文件块响应给对应的客户端;客户端还用于根据接收的写文件块响应,发送对应的文件块给文件传输模块;文件传输模块还用于选择一个文件存储模块存储该文件块,并在文件块存储完毕后发送下一个写文件块响应至对应的客户端以继续下一个文件块的上传直至所有的文件块都上传至存储层。
在本发明所述的可集群并支持多用户同时上传的文件传输系统中,所述文件传输模块还用于将每个文件块切分为多个更小的文件块;并根据客户端的网络类型和设备类型,经由所述写文件块响应设定该客户端单次上传的较小文件块的数量。
在本发明所述的可集群并支持多用户同时上传的文件传输系统中,每个文件块包括三种状态:未上传、正在上传、已上传,所述LVS模块首次文件切分时将所有文件块的状态都设置为未上传,
所述的文件传输模块基于未上传的文件块,返回写文件块响应给对应的客户端包括:从第1块较小的文件块开始顺序查找直到找到状态为未上传的一个或者多个文件块,将该一个或者多个文件块的位置信息包含在写文件块响应中下发,并将该一个或者多个文件块的状态设置为正在上传,如果某个较大的文件块中的存在状态为正在上传的较小的文件块,则将该较大的文件块的状态设置为正在上传;
所述文件传输模块还用于在文件块存储完毕时将该文件块的状态设置为已上传,如果某个较大的文件块中的所有的较小的文件块的状态均为已上传,则将该较大的文件块的状态设置为已上传,如果所有的较大的文件块的状态都为已上传,则发送上传完毕指令给对应的客户端。
在本发明所述的可集群并支持多用户同时上传的文件传输系统中,所述的选择存储层中的一个文件存储模块存储该文件块包括:将所述存储层中的文件存储模块顺序编号为1-n,n为正整数;将客户端提交的文件MD5值经过哈希算法整形化后的值对n取模,并将取模的结果记为k;选择第k个文件存储模块存储文件块。
在本发明所述的可集群并支持多用户同时上传的文件传输系统中,所述文件传输模块在接收到的上传请求时,首先判断所述上传请求所对应的新文件是否已上传,如果新文件已上传,则发送上传完毕指令给对应的客户端;如果新文件未上传或正在上传,则返回上传响应给对应的客户端。
实施本发明的可集群并支持多用户同时上传的文件传输方法和系统,具有以下有益效果:
1)、接入层将客户端的请求采用LVS分发到相应的接入层文件传输模块,实现程序的分布式部署,以达到接入层程序可集群、高并发、高IO磁盘访问的效果,提高接入层程序的并发处理事务的能力,而且文件存储模块可集群,通过集群能提高整个系统吞吐量,及处理上传文件性能;
2)设计接入层和存储层架构,文件存储模块集群部署,这种结构通过修改接入层的文件传输服务配置文件,可随时添加文件存储模块实现文件服务集群,数据实现备份及迁移部署,容灾抗风险能力强;
3)、将文件分块上传,实现可集群并支持多用户同时上传同一个文件以及断点续传的要求;
进一步的,本发明还根据客户端的网络类型和设备类型,经由写文件块响应设定该客户端单次上传的较小文件块的数量,例如网络好客户端每次上传数量较多的文件块,网络差的每次上传数量较小的文件块,如此能解决外网、内网、移动端等造成的网络吞吐不一样的情况,在多用户上传时实现合理分配,提高上传效率。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是现有技术中文件上传的结构示意图;
图2是本发明可集群并支持多用户同时上传的文件传输系统的结构示意图;
图3是本发明本发明可集群并支持多用户同时上传的文件传输方法的流程图;
图4是新文件切分示意图;
图5是选择文件存储模块的原理图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。
参考图2,是本发明可集群并支持多用户同时上传的文件传输系统的结构示意图;
本发明的可集群并支持多用户同时上传的文件传输系统,包括:
用户层,包括多个客户端,客户端根据设备类型可以分为PC机、手机客户端等,还可以根据网络类型分为wifi、内网、外网等。
接入层,包括一个LVS模块和多个文件传输模块,如图中文件传输模块1-n,LVS模块和文件传输模块实际上就是具体的应用程序,LVS是LINUX下开源集群软件。
存储层,包括集群部署的多个文件存储模块,用于接收文件传输模块传送的数据,如图中文件存储模块1-n,文件接收保存到本地磁盘即为落地文件。
下面结合图3,介绍本发明的可集群并支持多用户同时上传的文件传输方法,也即该文件传输系统的工作过程。参考图3,是本发明本发明可集群并支持多用户同时上传的文件传输方法的流程图。
方法包括:
S1、用户层中的客户端发送上传请求给接入层的LVS模块,所述上传请求用于请求向存储层上传新文件;
S2、接入层中的LVS模块选择一个文件传输模块处理该上传请求,其中,上传请求中包括文件MD5值以及文件大小、位置等信息,可以根据文件MD5值判断来自各个不同的客户端的上传请求所针对的是否是同一个新文件。文件传输模块在接收到上传请求时具体执行以下子步骤:
S21:首先判断所述上传请求所对应的新文件是否已上传,如果新文件已上传,则发送上传完毕指令给对应的客户端,并结束,如此相当于实现文件秒传功能;
S22:如果新文件未上传或正在上传,则返回上传响应给对应的客户端,并进入步骤S3,具体的:如果新文件为未上传,即接收到某个新文件的第一个上传请求,如图4所示,则文件传输模块根据文件大小以及位置信息将该新文件平均切分为多个文件块1-N,优选的,还可以进一步将每个文件块切分为多个更小的文件块1-M;其中,每个文件块(较大的文件块以及较小的文件块)包括三种状态:未上传、正在上传、已上传,首次将文件切分时默认所有文件块的状态都设置为未上传。
S3、客户端在接收到上传响应后,发送文件块上传请求给文件传输模块;
S4、文件传输模块基于未上传的文件块,返回写文件块响应给对应的客户端;
此处,n个文件传输模块即实现程序的分布式部署,以达到接入层程序可集群、高并发、高IO磁盘访问的效果,提高接入层程序的并发处理事务的能力。
S5、客户端根据接收的写文件块响应,发送对应的文件块给文件传输模块;
此处,将文件分块上传,实现可集群并支持多用户同时上传同一个文件以及断点续传的要求,达到支撑应用程序的可集群、高并发、高IO磁盘访问的效果。
S6、文件传输模块选择存储层中的一个文件存储模块存储该文件块(可根据配置文件的偏移量和上传的文件块,将文件块安全写入到对应落地文件),并在文件块存储完毕后转步骤S4继续下一个文件块的上传直至所有的文件块都上传至存储层。
在上述文件传输模块集群的基础上,还设置文件存储模块可集群,通过集群能提高整个系统吞吐量,及处理上传文件性能。而且由于本发明设计接入层和存储层架构,文件存储模块集群部署,这种结构通过修改接入层的文件传输服务配置文件,可随时添加文件存储模块实现文件服务集群,数据实现备份及迁移部署,容灾抗风险能力强。
参考图2,图中1-n表示文件存储模块的序号,如果一个文件存储模块对应一个服务器,步骤S6中在选择文件存储模块时,主要是确定具体序号的文件存储模块,文件传输模块内的文件传输服务配置文件中将序号1-n分别与具体的服务器的地址对应。
所以存储层具备数据迁移功能,当主服务的机器数据容量或者并发量达不到应用服务需求时,将服务进行分布式存储,对应部署多套主备服务器,或者服务器出现故障时直接利用新的服务器替换。数据迁移时,先将当前服务器中待迁移的数据迁移到新部署的服务器,迁移完成后,通过修改文件传输服务配置文件,指向新部署的文件存储模块,从而保证存储设备的无缝扩容。
优选的,所述步骤S4中,文件传输模块可以综合考虑客户端的网络类型和设备类型,经由所述写文件块响应设定客户端单次上传的较小文件块的数量。如此能解决外网、内网、移动端等造成的网络吞吐不一样的情况,在多用户上传时实现合理分配,提高上传效率。
例如,对于网络条件较好的内网的PC机,可以设定单次上传时上传M个较小的文件块,即上传一个较大的文件块,对于网络条件较差的连接wifi的手机,可以设定单次上传时上传1个较小的文件块,对于网络条件中等的外网的PC机,可以设定单次上传时上传p个较小的文件块,1<p<N。
其中,所述步骤S4包括:从第1块较小的文件块开始顺序查找直到找到状态为未上传的一个或者多个文件块,将该一个或者多个文件块的位置信息包含在写文件块响应中下发,并将该一个或者多个文件块的状态设置为正在上传,如果某个较大的文件块中的存在状态为正在上传的较小的文件块,则将该较大的文件块的状态设置为正在上传;
其中,所述步骤S6中,在文件块存储完毕时将该文件块的状态设置为已上传,如果某个较大的文件块中的所有的较小的文件块的状态均为已上传,则将该较大的文件块的状态设置为已上传,如果所有的较大的文件块的状态都为已上传,则发送上传完毕指令给对应的客户端,结束。
继续参考图2并结合图5,图中1-n表示文件存储模块的序号,Key表示客户端提交的文件MD5值经过哈希算法整形化后的值对n取模。
优选的,所述步骤S6所述的选择存储层中的一个文件存储模块存储该文件块具体为:将所述存储层中的文件存储模块顺序编号为1-n,n为正整数;将客户端提交的文件MD5值经过哈希算法整形化后的值对n取模,并将取模的结果记为Key;选择第Key个文件存储模块用于存储文件块。按照此种方法选择文件存储模块,基本能达到每个文件存储服务器处理事务一样多,实现负载均衡。
另外,存储层除了执行上述的业务数据管理和数据迁移功能外,还可以执行文件管理的功能,对落地文件定期进行检测,对过期不重要文件进行清理,对过期重要文件进行备份,以达到数据容灾的功能。
综上所述,实施本发明的可集群并支持多用户同时上传的文件传输方法和系统,具有以下有益效果:1)、接入层将客户端的请求采用LVS分发到相应的接入层文件传输模块,实现程序的分布式部署,以达到接入层程序可集群、高并发、高IO磁盘访问的效果,提高接入层程序的并发处理事务的能力,而且文件存储模块可集群,通过集群能提高整个系统吞吐量,及处理上传文件性能;2)设计接入层和存储层架构,文件存储模块集群部署,这种结构通过修改接入层的文件传输服务配置文件,可随时添加文件存储模块实现文件服务集群,数据实现备份及迁移部署,容灾抗风险能力强;3)、将文件分块上传,实现可集群并支持多用户同时上传同一个文件以及断点续传的要求。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本发明的保护之内。

Claims (10)

1.一种可集群并支持多用户同时上传的文件传输方法,基于文件传输系统实现,其特征在于,该文件传输系统包括用户层、接入层、存储层,所述用户层包括多个客户端,所述接入层包括一个LVS模块和多个文件传输模块,所述存储层包括集群部署的多个文件存储模块;
所述方法包括:
S1、用户层中的客户端发送上传请求给接入层的LVS模块,所述上传请求用于请求向存储层上传新文件;
S2、接入层中的LVS模块选择一个文件传输模块处理该上传请求,文件传输模块将该新文件切分为多个文件块,并返回上传响应给对应的客户端;
S3、客户端在接收到上传响应后,发送文件块上传请求给该文件传输模块;
S4、文件传输模块基于未上传的文件块,返回写文件块响应给对应的客户端;
S5、客户端根据接收的写文件块响应,发送对应的文件块给文件传输模块;
S6、文件传输模块选择存储层中的一个文件存储模块存储该文件块,并在文件块存储完毕后转步骤S4继续下一个文件块的上传直至所有的文件块都上传至存储层。
2.根据权利要求1所述的可集群并支持多用户同时上传的文件传输方法,其特征在于,所述步骤S2中还包括:所述文件传输模块将每个文件块切分为多个更小的文件块;所述步骤S4还包括:文件传输模块根据客户端的网络类型和设备类型,经由所述写文件块响应设定该客户端单次上传的较小文件块的数量。
3.根据权利要求2所述的可集群并支持多用户同时上传的文件传输方法,其特征在于,每个文件块包括三种状态:未上传、正在上传、已上传,步骤S2中首次将文件切分时将所有文件块的状态都设置为未上传,
所述步骤S4包括:从第1块较小的文件块开始顺序查找直到找到状态为未上传的一个或者多个文件块,将该一个或者多个文件块的位置信息包含在写文件块响应中下发,并将该一个或者多个文件块的状态设置为正在上传,如果某个较大的文件块中的存在状态为正在上传的较小的文件块,则将该较大的文件块的状态设置为正在上传;
所述步骤S6中,在文件块存储完毕时将该文件块的状态设置为已上传,如果某个较大的文件块中的所有的较小的文件块的状态均为已上传,则将该较大的文件块的状态设置为已上传,如果所有的较大的文件块的状态都为已上传,则发送上传完毕指令给对应的客户端,结束。
4.根据权利要求1所述的可集群并支持多用户同时上传的文件传输方法,其特征在于,所述步骤S6所述的选择存储层中的一个文件存储模块存储该文件块包括:将所述存储层中的文件存储模块顺序编号为1-n,n为正整数;将客户端提交的文件MD5值经过哈希算法整形化后的值对n取模,并将取模的结果记为k;选择第k个文件存储模块存储文件块。
5.根据权利要求1所述的可集群并支持多用户同时上传的文件传输方法,其特征在于,所述步骤S2包括:
S20、LVS模块接收到的上传请求后,根据负载均衡算法确定一个文件传输模块,并将该上传请求转发至该文件传输模块;
S21、该文件传输模块判断所述上传请求所对应的新文件是否已上传;
S22、如果新文件已上传,则发送上传完毕指令给对应的客户端,结束;
S23、如果新文件未上传或正在上传,则返回所述上传响应给对应的客户端。
6.一种可集群并支持多用户同时上传的文件传输系统,其特征在于,包括:
用户层,包括多个客户端;
接入层,包括一个LVS模块和多个文件传输模块;
存储层,包括集群部署的多个文件存储模块;
所述客户端用于发送上传请求给所述LVS模块,所述上传请求用于请求向存储层上传新文;所述LVS模块用于选择一个文件传输模块处理该上传请求;文件传输模块用于将该新文件切分为多个文件块,并返回上传响应给对应的客户端;所述客户端还用于在接收到上传响应后,发送文件块上传请求给文件传输模块;文件传输模块还用于基于未上传的文件块返回写文件块响应给对应的客户端;客户端还用于根据接收的写文件块响应,发送对应的文件块给文件传输模块;文件传输模块还用于选择一个文件存储模块存储该文件块,并在文件块存储完毕后发送下一个写文件块响应至对应的客户端以继续下一个文件块的上传直至所有的文件块都上传至存储层。
7.根据权利要求6所述的可集群并支持多用户同时上传的文件传输系统,其特征在于,所述文件传输模块还用于将每个文件块切分为多个更小的文件块;并根据客户端的网络类型和设备类型,经由所述写文件块响应设定该客户端单次上传的较小文件块的数量。
8.根据权利要求7所述的可集群并支持多用户同时上传的文件传输系统,其特征在于,每个文件块包括三种状态:未上传、正在上传、已上传,所述LVS模块首次文件切分时将所有文件块的状态都设置为未上传,
所述的文件传输模块基于未上传的文件块,返回写文件块响应给对应的客户端包括:从第1块较小的文件块开始顺序查找直到找到状态为未上传的一个或者多个文件块,将该一个或者多个文件块的位置信息包含在写文件块响应中下发,并将该一个或者多个文件块的状态设置为正在上传,如果某个较大的文件块中的存在状态为正在上传的较小的文件块,则将该较大的文件块的状态设置为正在上传;
所述文件传输模块还用于在文件块存储完毕时将该文件块的状态设置为已上传,如果某个较大的文件块中的所有的较小的文件块的状态均为已上传,则将该较大的文件块的状态设置为已上传,如果所有的较大的文件块的状态都为已上传,则发送上传完毕指令给对应的客户端。
9.根据权利要求6所述的可集群并支持多用户同时上传的文件传输系统,其特征在于,所述的选择存储层中的一个文件存储模块存储该文件块包括:将所述存储层中的文件存储模块顺序编号为1-n,n为正整数;将客户端提交的文件MD5值经过哈希算法整形化后的值对n取模,并将取模的结果记为k;选择第k个文件存储模块存储文件块。
10.根据权利要求6所述的可集群并支持多用户同时上传的文件传输系统,其特征在于,所述文件传输模块在接收到的上传请求时,首先判断所述上传请求所对应的新文件是否已上传,如果新文件已上传,则发送上传完毕指令给对应的客户端;如果新文件未上传或正在上传,则返回上传响应给对应的客户端。
CN201510474496.0A 2015-08-05 2015-08-05 可集群并支持多用户同时上传的文件传输方法和系统 Pending CN105187489A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510474496.0A CN105187489A (zh) 2015-08-05 2015-08-05 可集群并支持多用户同时上传的文件传输方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510474496.0A CN105187489A (zh) 2015-08-05 2015-08-05 可集群并支持多用户同时上传的文件传输方法和系统

Publications (1)

Publication Number Publication Date
CN105187489A true CN105187489A (zh) 2015-12-23

Family

ID=54909329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510474496.0A Pending CN105187489A (zh) 2015-08-05 2015-08-05 可集群并支持多用户同时上传的文件传输方法和系统

Country Status (1)

Country Link
CN (1) CN105187489A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595109A (zh) * 2017-12-29 2018-09-28 郑州云海信息技术有限公司 一种基于Ceph分布式存储系统的多客户端写的方法
CN109086388A (zh) * 2018-07-26 2018-12-25 百度在线网络技术(北京)有限公司 区块链数据存储方法、装置、设备及介质
CN110943942A (zh) * 2019-11-13 2020-03-31 北京连山时代科技有限公司 一种基于数据包编号的多路并发传输方法和系统

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571959A (zh) * 2012-01-11 2012-07-11 北京奇虎科技有限公司 一种数据下载系统及方法
CN102833294A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
CN102882960A (zh) * 2012-09-21 2013-01-16 东软集团股份有限公司 一种资源文件的发送方法及装置
CN103442037A (zh) * 2013-08-09 2013-12-11 华南理工大学 一种基于ftp协议实现超大文件多线程断点上传的方法
US20140000214A1 (en) * 2008-05-08 2014-01-02 Single Eagle, Inc. dba Concrete Contractors Interstate Decorative aggregate concrete surface preparation process
US20140021405A1 (en) * 2011-03-24 2014-01-23 Merck Patent Gmbh Mesogenic compounds, liquid-crystalline media and components for high-frequency technology
CN103986764A (zh) * 2014-05-16 2014-08-13 百度在线网络技术(北京)有限公司 用于多客户端协同文件上传的设备和方法
US20140240525A1 (en) * 2004-07-09 2014-08-28 Qualcomm Incorporated System and method for managing distribution of media files
CN104065643A (zh) * 2014-05-07 2014-09-24 上海文广互动电视有限公司 基于树形逻辑的多媒体网络传输方法及系统
CN104580268A (zh) * 2013-10-09 2015-04-29 南京中兴新软件有限责任公司 文件数据的传输方法及装置
CN104639661A (zh) * 2015-03-13 2015-05-20 华存数据信息技术有限公司 分布式存储系统及文件存储和读取方法
US20150156264A1 (en) * 2013-12-04 2015-06-04 International Business Machines Corporation File access optimization using strategically partitioned and positioned data in conjunction with a collaborative peer transfer system

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140240525A1 (en) * 2004-07-09 2014-08-28 Qualcomm Incorporated System and method for managing distribution of media files
US20140000214A1 (en) * 2008-05-08 2014-01-02 Single Eagle, Inc. dba Concrete Contractors Interstate Decorative aggregate concrete surface preparation process
US20140021405A1 (en) * 2011-03-24 2014-01-23 Merck Patent Gmbh Mesogenic compounds, liquid-crystalline media and components for high-frequency technology
CN102833294A (zh) * 2011-06-17 2012-12-19 阿里巴巴集团控股有限公司 基于云存储的文件处理方法、系统及服务器集群系统
CN102571959A (zh) * 2012-01-11 2012-07-11 北京奇虎科技有限公司 一种数据下载系统及方法
CN102882960A (zh) * 2012-09-21 2013-01-16 东软集团股份有限公司 一种资源文件的发送方法及装置
CN103442037A (zh) * 2013-08-09 2013-12-11 华南理工大学 一种基于ftp协议实现超大文件多线程断点上传的方法
CN104580268A (zh) * 2013-10-09 2015-04-29 南京中兴新软件有限责任公司 文件数据的传输方法及装置
US20150156264A1 (en) * 2013-12-04 2015-06-04 International Business Machines Corporation File access optimization using strategically partitioned and positioned data in conjunction with a collaborative peer transfer system
CN104065643A (zh) * 2014-05-07 2014-09-24 上海文广互动电视有限公司 基于树形逻辑的多媒体网络传输方法及系统
CN103986764A (zh) * 2014-05-16 2014-08-13 百度在线网络技术(北京)有限公司 用于多客户端协同文件上传的设备和方法
CN104639661A (zh) * 2015-03-13 2015-05-20 华存数据信息技术有限公司 分布式存储系统及文件存储和读取方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108595109A (zh) * 2017-12-29 2018-09-28 郑州云海信息技术有限公司 一种基于Ceph分布式存储系统的多客户端写的方法
CN109086388A (zh) * 2018-07-26 2018-12-25 百度在线网络技术(北京)有限公司 区块链数据存储方法、装置、设备及介质
CN110943942A (zh) * 2019-11-13 2020-03-31 北京连山时代科技有限公司 一种基于数据包编号的多路并发传输方法和系统
CN110943942B (zh) * 2019-11-13 2020-10-23 北京连山时代科技有限公司 一种基于数据包编号的多路并发传输方法和系统

Similar Documents

Publication Publication Date Title
US10594340B2 (en) Disaster recovery with consolidated erasure coding in geographically distributed setups
US9906598B1 (en) Distributed data storage controller
US10956276B2 (en) System state recovery in a distributed, cloud-based storage system
US8918392B1 (en) Data storage mapping and management
US11314444B1 (en) Environment-sensitive distributed data management
CN102171661B (zh) 从整体数据库备份中恢复所选对象
CN105025053A (zh) 基于云存储技术的分布式文件的上传方法及其系统
US20190235979A1 (en) Systems and methods for performing computing cluster node switchover
US8930364B1 (en) Intelligent data integration
WO2019152122A1 (en) Systems and methods for performing computing cluster node switchover
CN101808012B (zh) 一种云环境下的数据备份方法
CN102662992A (zh) 一种海量小文件的存储、访问方法及装置
CN102200936A (zh) 适用于云存储的智能配置存储备份方法
CN103905537A (zh) 分布式环境下管理工业实时数据存储的系统
US10740198B2 (en) Parallel partial repair of storage
CN102761528A (zh) 数据管理系统及方法
CN103067525A (zh) 一种基于特征码的云存储数据备份方法
CN105426427A (zh) 基于raid 0 存储的mpp 数据库集群副本实现方法
CN103488546A (zh) 一种支持多级别数据和数据库在线并发备份与恢复方法
CN102411639A (zh) 元数据的多副本存储管理方法和系统
CN103067488A (zh) 一种统一存储的实现方法
CN109739435A (zh) 文件存储和更新方法及装置
US9152506B2 (en) Management apparatus and management method
CN105187489A (zh) 可集群并支持多用户同时上传的文件传输方法和系统
US11748004B2 (en) Data replication using active and passive data storage modes

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20151223