CN107547653B - 一种分布式文件存储系统 - Google Patents
一种分布式文件存储系统 Download PDFInfo
- Publication number
- CN107547653B CN107547653B CN201710814048.XA CN201710814048A CN107547653B CN 107547653 B CN107547653 B CN 107547653B CN 201710814048 A CN201710814048 A CN 201710814048A CN 107547653 B CN107547653 B CN 107547653B
- Authority
- CN
- China
- Prior art keywords
- file
- storage
- management server
- server
- server cluster
- 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
Links
Images
Abstract
本发明提供了一种分布式文件存储系统,包括数据存储服务器集群子系统和文件管理服务器集群子系统,文件管理服务器集群子系统包括至少两个存储卷,每个存储卷至少包括两个存储节点服务器,卷内各个存储节点服务器互为备份和镜像,且各卷内存储节点服务器的存储容量的差值小于第一设定值;所述文件管理服务器集群子系统用于客户文件上传、存储管理和存储服务器集群同步。本发明提供了一个海量、超大规模、可扩展、松耦合的分布式文件系统,在性能上得到了大幅度的提高,在动态扩展上得到了极大的改善,可支持文件秒传、流媒体实时播放、超大数据文件存储、多用户文件共享和保护,为目前大数据时代的数据存储技术提供了基础服务。
Description
技术领域
本发明属于数据存储技术领域,特别涉及一种分布式文件存储系统。
背景技术
文件系统是操作系统用来组织磁盘文件的方法和数据结构,计算机通过文件系统管理、存储数据。大数据时代海量信息爆炸式的增长,使得数据存储容量需求成指数级增长。单文件系统通过增加硬盘容量和个数来拓展文件系统存储容量的方式,在容量大小、容量增长速度、数据备份、数据安全和管理等方面的表现都差强人意。
分布式文件系统可以有效解决这个数据的存储和管理难题。一台普通或者专用计算机,通过添加服务对外提供远程文件访问。将位于不同地点的文件服务器进行集群,提供网络用户文件访问、目录并发控制和文件安全共享措施,便形成了一个分布式文件系统(Distributed File System,DFS)。这个DFS通过网络进行节点间的通信和数据传输,提供全网统一的文件系统管理。用户在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。DFS将服务范围扩展到了整个网络,不仅改变了数据的存储和管理方式,也拥有了本地文件系统所无法具备的数据备份、数据安全等优点。
实现DFS(尤其是机群文件系统)一般有两种方法:共享文件系统(shared filesystem approach)和共享磁盘(shared disk approach),共享文件系统的方法已被许多分布式文件系统所采用,如NFS、AFS和Sprite文件系统,而使用共享磁盘方法的有VAXCluster的文件系统,IBM GPFS,GFS等。然而商业的DFS(如Intel Paragon的PFS、IBM SP的GPFS、HPExemplar的HFS以及SGI Origin2000的XFS)提供了I/O密集型应用所需的高性能和功能性,但是仅仅适用于专门的平台。而诸如NFS、AFS/Coda、InterMezzo、xFS和GFS这些文件系统被设计来提供来自多个客户端机器的对文件的分布式访问,并且设计根据这种访问设计它们的一致性语义和缓存行为。然而大型并行科学应用的负载类型通常不会与为分布式访问设计的文件系统很好地结合;特别地,分布式文件系统不会为并行应用典型需要的高带宽并发写而设计。
发明内容
本发明的目的在于提供一种分布式文件存储系统,用于解决现有技术中采用分布式系统对并行数据的访问能力低的问题。
为实现上述目的,本发明的技术方案是:
存储系统方案一:一种分布式文件存储系统,包括数据存储服务器集群子系统和文件管理服务器集群子系统,所述数据存储服务器集群子系统和所述文件管理服务器集群子系统连接,所述数据存储服务器集群子系统包括至少两个存储卷,每个存储卷至少包括两个存储节点服务器,卷内各个存储节点服务器互为备份和镜像,且各卷内存储节点服务器的存储容量的差值小于第一设定值;所述文件管理服务器集群子系统用于客户文件上传、存储管理和存储服务器集群同步。
存储系统方案二:在存储系统方案一的基础上,当文件的大小大于第二设定值时,按照卷的总数进行分片,将所述文件分散存储到对应的卷上,并对卷内存储的文件进行同步。
存储系统方案三:在存储系统方案二的基础上,采用指数分裂的方式对卷内文件进行同步。
存储系统方案四:在存储系统方案一的基础上,所述文件管理服务器集群子系统包括负载均衡服务器、文件管理服务器集群及数据库存储集群。
存储系统方案五:在存储系统方案四的基础上,外网用户访问内部服务器时,负载均衡服务器响应一个最优的IP地址,外网用户根据所述最优的IP地址对内部服务器进行访问,所述最优的IP地址由该IP上分配的客户端数和机器的承载能力决定的。
存储系统方案六:在存储系统方案四的基础上,内网用户访问外部服务器时,内网用户将访问所需的报文发送到负载均衡服务器,负载均衡服务器选择最优的链路,并将内网访问外网的业务流量分发到所述链路,所述最优链路由客户端IP与数据库存储集群中存储节点IP路由之间的跳数以及该节点已经存在的链接数决定的。
存储系统方案七:在存储系统方案一的基础上,用户文件上传时,需计算文件的散列值,向文件管理服务器集群子系统发送文件上传请求和所述散列值,文件管理服务器集群子系统接收到请求后,在FileInfo表中查找是否存在用户上传的散列值,如果存在,则不用再上传文件。
存储系统方案八:在存储系统方案七的基础上,如果不存在,则在FileInfo表中增加一条记录上传到文件管理服务器集群子系统中,上传到文件管理服务器集群子系统中的临时存储空间,重新计算文件的散列值。
存储系统方案九:在存储系统方案四的基础上,所述数据库存储集群包括一个主服务器和至少两个从服务器,所述数据库存储集群用于记录各文件的文件分配表及权限对照表。
存储系统方案十:在存储系统方案九的基础上,所述文件分配表包括文件的ID、文件的散列值、文件大小、文件存储位置、创建日期、修改日期、上传文件进度及卷内文件同步进度;所述权限对照表包括文件的名称、所有者、文件的权限。
本发明的有益效果是:
本发明提供了一种分布式文件存储系统,包括数据存储服务器集群子系统和文件管理服务器集群子系统,所述数据存储服务器集群子系统和所述文件管理服务器集群子系统连接,所述文件管理服务器集群子系统包括至少两个存储卷,每个存储卷至少包括两个存储节点服务器,卷内各个存储节点服务器互为备份和镜像,且各卷内存储节点服务器的存储容量的差值小于第一设定值;所述文件管理服务器集群子系统用于客户文件上传、存储管理和存储服务器集群同步。本发明提供了一个海量、超大规模、可扩展、松耦合的分布式文件系统,采用分布式系统对并行数据的访问能力大大提高,在性能上得到了大幅度的提高,在动态扩展上得到了极大的改善,可支持文件秒传、流媒体实时播放、超大数据文件存储、多用户文件共享和保护,为目前大数据时代的数据存储技术提供了基础服务。
附图说明
图1为分布式文件存储系统结构图;
图2为负载均衡服务器结构图;
图3为文件管理服务器集群结构图;
图4为数据库存储集群结构示意图;
图5为单卷服务器集群结构图;
图6为Inbound链路负载均衡组网图;
图7为Inbound链路负载均衡流程图;
图8为Outbound链路负载均衡组网图;
图9为Outbound链路负载均衡流程图;
图10为文件管理服务器集群子系统结构图;
图11为数据库存储集群具体结构图;
图12为数据存储服务器集群子系统结构图;
图13为卷内文件同步算法示意图。
具体实施方式
下面结合附图对本发明的具体实施方式作进一步的说明:
本发明提供了一个分布式文件存储系统,该系统基于http协议,采用Web形式,能够提供超大规模并发访问,利用中间件和依赖注入方式,提供灵活的、可扩充和置换的鉴权机制,提供系统高效访问和流媒体实时播放机制。如图1所示,该包括数据存储服务器集群子系统和文件管理服务器集群子系统,数据存储服务器集群子系统和文件管理服务器集群子系统连接,数据服务器集群子系统包括至少两个存储卷,每个存储卷至少包括两个存储节点服务器,卷内各个存储节点服务器互为备份和镜像,且各卷内存储节点服务器的存储容量的差值小于第一设定值;文件管理服务器集群子系统用于客户文件上传、存储管理和存储服务器集群同步,文件管理服务器集群子系统包括负载均衡服务器、文件管理服务器集群及数据库存储集群,如图10所示。
(1)StorageServerCluster:数据存储服务器集群子系统,如图12所示,集群由存储节点(文件服务器)组成。存储节点直接利用OS的文件系统调用管理文件,节点中存储设备支持Raid技术构建具有冗余能力的磁盘阵列,也支持采用NAS(Network AttachedStorage:网络附属存储)作为本节点的附属存储设备,每个节点对外提供http静态文件访问,并支持SSO(Single Sign On,单点登录)提供的认证,通过读取数据库中心数据存储的权限匹配用户请求进行鉴权。加入存储服务器集群的存储节点被分成若干个组,每组由尽可能相同共享容量的节点组成,该组被命名为一个卷(Volume),卷的容量大小取决于本卷中共享容量最小文件服务器的容量,卷内各个服务器互为备份和镜像。各个卷容量的总和即为本文件系统的容量。
(2)LoadBalance Server:负载均衡服务器。如图2所示,主要做调度工作,起负载均衡的作用,负载均衡中的请求的分为两类:一类是上传文件的请求,该类的负载将被分配到文件管理服务器集群。另一类请求是下载文件请求,该类的负载将被分配到存储服务器集群。这个负载均衡可以本文件系统集成的主系统中的负载均衡合并。单个文件访问的负载均衡问题,可采用较为成熟的DNS负载均衡、反向代理负载均衡、Http重定向负载均衡、NAT负载均衡等负载均衡服务的实现方式。在本发明的文件系统中,由于采用大型网络的多个服务器群内硬件设备、各自的规模、提供的服务等的差异,因此设计了一种混合型负载均衡策略,从而给每个服务器群采用最合适的负载均衡方式,然后又在这多个服务器群间再一次负载均衡或群集起来以一个整体向外界提供服务(即把这多个服务器群当作一个新的服务器群),从而达到最佳的性能。这里特别指出的是流媒体文件负载均衡策略方案,解决了单一媒体由于热度过高,访问规模超大而导致的失响和卡顿等现象。
(3)File Manager ServerCluster:文件管理服务器集群,如图3所示,文件管理服务器集群负责对本系统存储的文件进行管理,是客户端和数据服务器交互的枢纽。文件管理服务器集群主要职责包括:对请求进行鉴权;提供文件上传的接口和UI(支持小文件上传和大文件分片上传);对上传的文件片进行合并后并在存储卷内同步;对多媒体文件或超大文件进行分片分卷存储;提供文件的删除、更新和共享功能。
(4)DatabaseServerCluster:数据库存储集群,如图4所示,该服务器集群记录本文件服务器系统所有的文件分配表和权限对照表。其中文件分配表记录了文件的Id、文件的散列值、文件大小、文件存储位置(分片文件有多个位置)、创建日期、修改日期、上传文件进度、卷内文件同步进度等。权限对照表则记录了文件的名称、所有者、文件的Id、文件的权限等。
下面分别对负载均衡服务器、文件管理服务器集群、数据库存储集群及数据存储服务器集群子系统分别作具体说明:
(1)负载均衡服务器
负载均衡服务器由两个服务器组成,如图2所示。负载均衡服务器有主负载均衡服务器和备用负载均衡服务器组成。CoDFS(Cooperator Distributed File System)的负载均衡可采用集成系统的负载均衡,也可使用系统自带的负载均衡服务器。负载均衡的主要分配在两个子系统中,一个是文件管理子系统,用于控制用户文件的上传服务。一个是文件存储子系统,用于控制用户文件的并发访问。
负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高业务处理能力,保证业务的高可用性。CoDFS独立的负载均衡子系统采用链路负载均衡,按照流量发起方向分为Inbound负载均衡和Outbound负载均衡
1)Inbound入方向负载均衡
Inbound负载均衡技术是DNS智能解析的一种,外网用户通过域名访问内部服务器时,Local DNS的地址解析请求到达LB设备,LB根据对Local DNS的就近性探测结果响应一个最优的IP地址,外网用户根据这个最优的IP响应进行对内部服务器的访问,最优的IP地址由一个权值来表示,它与两个数值相关,一是在该IP上分配的客户端数,二是机器的承载能力,这个权值正比于承载能力,反比于客户端数,如图6所示。
流程简述如下,如图7所示:
i.外部用户进行资源访问前先进行DNS解析,向其本地DNS服务器发送DNS请求。
ii.本地DNS服务器将DNS请求的源IP地址替换为自己的IP地址,并转发给域名对应的权威服务器——LB device。
iii.LB device根据DNS请求的域名和配置的Inbound链路负载均衡规则进行域名解析。
iv.LB device按照域名解析的结果,将DNS应答发送给本地DNS服务器。
v.本地DNS服务器将解析结果转发给用户。
vi.用户使用解析结果选择的链路,直接对LB device进行资源访问。
2)Outbound出方向负载均衡
如图8所示,内网用户访问Internet上其他服务器。Outbound链路负载均衡中VSIP为内网用户发送报文的目的网段。用户将访问VSIP的报文发送到负载均衡设备后,负载均衡设备依次根据策略、持续性功能、就近性算法、调度算法选择最优的链路,并将内网访问外网的业务流量分发到该链路,如图9所示,最优链路取决于请求客户端IP与数据库存储集群中存储节点IP路由之间的跳数以及该节点已经存在的链接数。其链路的权值与路由的跳数和链接数成反比关系。
i.LB Device接收内网用户流量;
ii.LB Device依次根据策略、持续性功能、就近性算法、调度算法进行链路选择在Outbound链路负载均衡组网中,通常使用就近性算法或带宽调度算法实现流量分发;
iii.LB device按照链路选择的结果将流量转发给选定的链路;
iv.LB Device接收外网用户流量;
v.LB Device将流量转发给内网用户。
(2)文件管理服务器集群
文件管理服务器集群由一组服务器组成,如图3所示。可以根据网络的规模对服务器集群进行扩充和缩减。CoDFS是一个典型的分布式文件系统(Distributed FileSystem),文件系统管理的物理存储资源不在本地节点上,而是通过计算机网络与节点相连,各卷中间节点将本身的存储目录映射到管理服务器指定目录,因此在管理服务器挂载有卷Vol1——Voln卷存储目录的完整映像。当用户上传文件到指定卷上时,管理服务将文件存储到映射目录,也即管理服务器并没有存储空间,其存储空间是卷Voli存储空间在本机的映射。但文件管理子系统有一个临时文件存储空间,用于存储用户上传文件时的临时文件或大文件的文件片,以便管理服务器在本机合成文件后再转储到指定卷的映射目录。
1、用户文件上传
1)首先在用户的本地对文件进行散列计算,求文件的散列值(MD5或哈希值),之后将文件的上传文件基本信息请求和散列值发送给管理服务器。
2)管理服务器在接收到请求后,并在数据库FileInfo表中查找HashCode字段是否存在用户上传的散列值。
3)如果存在一条记录,则表明用户上传的文件在服务器上已经存在,则不用上传文件,系统直接在FAC表中增加一条文件记录,并将存储结果返回给用户,完成文件上传的秒级存储。
4)如果请求上传的文件散列不在FileInfo表中,说明用户上传的文件是新文件,在存储服务器上不存在该文件,在FileInfo表中增加一条记录,上传文件到管理服务器的临时存储空间,再次在服务器端计算文件的散列值,之后在数据库FileInfo表中查找HashCode字段是否存在用户上传的散列值。如果存在一条记录,则表明用户进行了欺诈上传,删除FileInfo表中的记录,任然不用上传文件,系统直接在FAC表中增加一条文件记录,并将存储结果返回给用户。如果不存在,则将转储到存储服务器上,用FileInfo表中的UploadProgress字段记录文件上传进度,并开始存储服务器卷内同步,同步完成后在FAC表中增加一条文件记录,并将存储结果返回给用户。
2、卷内文件同步
为了完成文件的快速同步,卷内文件同步采用指数分裂的方式,具体算法参照下节的文件存储子系统CoDFSStorage。但是管理服务负责管理文件同步进度,用FileInfo表中的SynchronizationProgress字段记录文件同步进度,当文件同步进度未完成时,不得进行文件访问。
分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包括多个供多用户访问的服务器。另外,对等特性允许一些系统扮演客户机和服务器的双重角色。例如,用户可以“发表”一个允许其他客户机访问的目录,一旦被访问,这个目录对客户机来说就像使用本地驱动器一样,
(3)数据库存储集群
数据库存储集群由一主三从服务器组成,如图11所示。主服务器负责写服务,从服务器负责读服务,由系统负责三个服务器的同步。一般情况下该模式能够承担超大规模并发访问的压力,如果负载过大,可以扩充从服务器和增加消息队列服务器。为了完成数据的读取访问、权限控制、文件共享等基本特性,文件的基本信息与控制信息存放在数据库中而非链式文件。当文件系统遭遇超大规模并发访问时,单个数据库系统将无法承受高并发情况下的请求压力,为此,系统采用了一个小型的数据库集群系统,提供用户对文件系统的访问和权限控制,结构图如图7所示。
该数据库存储集群由一个主数据服务和若干个从数据哭服务器组成,针对系统的访问规模,一般情况下“一主三从”即可支持百万级的并发访问,当访问量增加时,可采用继续增加从服务器提高并发访问能力。当用户提出创建和修改文件时,其访问在主服务器上完成,由数据库系统自动完成主、从服务器的数据同步。而用户文件的读取访问操作则在从服务器完成,由于在系统应用中,文件的访问操作要远远大于文件的上传和修改操作,因此系统采用了多个从数据服务器,以应对超大规模并发访问。
在数据库系统中,主要存在两个表,用于记录文件信息。
表1.FileInfo表
表2.FAC文件权限控制表
(4)数据存储服务器集群子系统
数据存储服务器集群子系统由若干个卷组成,如图12所示,单个卷的组成如图5所示。服务器的总容量由组成卷的每一个卷容量之和确定,单卷服务器节点的多少决定了文件系统负载用户数的数量,节点越多,能够提供的服务规模越大。CoDFSStorage子系统有若干存储节点组成存储集群。其结构如图8所示:
1)存储容量
系统的存储容量C为:
其中Ci为卷Voli的存储容量。Voli的存储容量却决于该卷中最小单个服务器的容量。则Ci为:
Ci=Min({Cj|Cj∈Cvoli})
其中Cvoli是第i卷各个节点Nodej存储容量的集合。
而Nodej节点的存储容量取决于节点j所携带的存储设备的容量,单个节点可以采用磁盘组成磁盘阵列,以提高节点的安全性或系统,如采用Raid0,或Raid1技术。也可以采用NAS作为节点j的存储媒质。
2)卷内文件同步
当用户通过管理服务器上传文件到指定卷的某一个节点后,需要对卷内节点之间进行同步。同步算法如图9所示
i、首次同步,计算求解n/2以获得节点编号(这里/为整除,即收尾法),n/2节点存在吗,存在做如下同步,不存在转iii。管理服务器在接受上传文件时,第一步需要将文件至指定Voli的n/2节点上,n/2为整除运算,即图中的Step1。文件上传完毕后,需要做第二步同步,即图中的Step2,这一步将文件再次同步到1至n/2的中间节点n/4上。文件同步完毕后,,需要做第三步同步,即图9中的Step3,这一步将文件再次同步到n/2至n的中间节点3n/2上,这一步同步完毕后,完成第一次同步。更新数据库文件,第i步同步完成100%,首次则i=1。
ii、n/4和3n/4节点存在吗,存在则按照首次同步算法,依次同步n/4和3n/4节点。不存在则转iii。
iii、有剩余节点吗?有则转i,否则转iv,这里剩余节点指未同步节点,可从管理服务器的同步日志中获取未同步节点列表,如果列表不为空,则存在剩余节点。
iv、文件同步结束,更新数据库文件记录为同步完毕100%。每同步一次,则卷内集群同步服务器的数量规模增加一倍,其同步速度也以倍数的方式递增。当第n次同步后,服务器数目an为:
an=2n-1
在第n次同步后,已完成数据同步的服务器总数Sn为:
Sn=2n-1
3)大文件跨卷存储
以一部时长为120分钟的视频文件为例,若将该文件存储在一个卷上,在负载均衡时提供的服务器数量等于该卷卷内的节点数,当该文件被超大规模访问时,其他卷卷内服务器节点相对于本文件处于空闲状态,为了获得硬件的最大服务效率和最佳的用户体验,需要将这个大文件进行分片,将各个片分散存储在各个卷上,解决了文件系统对文件大小限制的问题,通常FAT32文件系统最大单一文件大小为4GB,NTFS文件系统最大单一文件大小为64GB,EXT4文件系统增加了48位块地址,最大支持单个16TB的文件,因此,本发明的分布式系统相对于以上的系统具有超大文件支持的特点。
文件分片算法可采用如下算法:
I、给定固定最小片大小SizeSlice=mMB。
II、计算文件总片数N,N=SizeFile/SizeSlice+SizeFile%SizeSlice,这里/为整除运
算,%为求模运算。
III、设定系统提供的卷数为n,则各个卷存储的文件片为:
Si={s|s∈Si%n}
IV、循环1至N,分别将各个片块存储到相应的卷上。
该存储算法将使得整个存储服务器获得最大的吞吐率和服务效率。以视频文件为例,系统将文件按照卷的总数进行划分片数并分散存储在各个卷上,当第一轮用户访问时间t=1时刻的数据片时,用户被负载均衡在Vol1卷内的节点,本轮用户在访问Vol1卷上的数据块。当t=2时刻,第二轮用户再次访问该文件,本轮用户将再次被负载均衡在Vol1卷内的节点。而此时t=1时刻的用户群已经消费完毕数据片S1,他们将请求数据片S2,负载均衡则将第一轮用户分配在Vol2卷内的节点。
依次类推,存储节点内各个卷依次被启动,完成该数据文件的对外服务,达到最佳的服务效率和最大的吞吐率。
本发明的CoDFS分布式文件系统具备以下的优点:
1)灵活高效的数据存储方式,例如有1000万个数据文件,可以在一个节点存储全部数据文件,在其他N个节点上每个节点存储1000/N万个数据文件作为备份;或者平均分配到N个节点上存储,每个节点上存储1000/N万个数据文件。采取这种存储方式,其目的是为了保证数据的存储安全和方便获取,本发明采用文件共享机制,保证相同文件不同用户的共享,由于只存储了一份文件,节省了服务器存储空间,采用散列技术保证文件的唯一性,各个用户可对此文件拥有不同的命名和不同的访问控制权限,通过中间件鉴权机制,完成文件系统的访问控制。
2)共享网络带宽的高速数据读取速率,包括响应用户读取数据文件的请求、定位数据文件所在的节点、读取实际硬盘中数据文件的时间、不同节点间的数据传输时间以及一部分处理器的处理时间等。提供了一个良好的用户体验。CoDFS分布式文件系统中数据的读取速率与本地文件系统中数据的读取速率相差不大,在CoDFS分布式文件系统中各种因素的影响下检索一个文件用时不超过2秒。
3)严格的数据安全机制,由于数据分散在各个节点中,必须要采取冗余、备份、镜像等方式保证节点出现故障的情况下,能够进行数据的恢复,确保数据安全。优异的架构,无单点故障的设计,集群同步的支持,信息流与数据流的分离设计,多副本机制,从多方面保障了整个系统的高可靠性和可用性。
4)系统具有高可扩展性。系统通过简单配置即可实现文件存储空间的扩展,可通过扩展名称服务器集群来提高名称服务器的并发性能、高性能和可靠性。支持通过增加服务器实现高并发、大存储量、大吞吐量,且有效避免单点故障。可通过增加副本文件来实现存储服务器的I/O吞吐量扩展,由于文件有多项副本存在,支持多项副本存储在不同城市的数据服务器,以实现各地快速访问文件目的。
以上给出了具体的实施方式,但本发明不局限于以上所描述的实施方式。本发明的基本思路在于上述基本方案,对本领域普通技术人员而言,根据本发明的教导,设计出各种变形的模型、公式、参数并不需要花费创造性劳动。在不脱离本发明的原理和精神的情况下对实施方式进行的变化、修改、替换和变型仍落入本发明的保护范围内。
Claims (8)
1.一种分布式文件存储系统,其特征在于,包括数据存储服务器集群子系统和文件管理服务器集群子系统,所述数据存储服务器集群子系统和所述文件管理服务器集群子系统连接,所述数据存储服务器集群子系统包括至少两个存储卷,每个存储卷至少包括两个存储节点服务器,卷内各个存储节点服务器互为备份和镜像,且各卷内存储节点服务器的存储容量的差值小于第一设定值;所述文件管理服务器集群子系统用于客户文件上传、存储管理和存储服务器集群同步;
所述文件管理服务器集群子系统包括负载均衡服务器、文件管理服务器集群及数据库存储集群;
所述数据库存储集群包括一个主服务器和至少两个从服务器,所述数据库存储集群用于记录各文件的文件分配表及权限对照表;
文件管理服务器挂载有卷存储目录的完整映像;文件管理服务器包括临时文件存储空间;用户文件上传时读写文件分配表和权限对照表。
2.根据权利要求1所述的分布式文件存储系统,其特征在于,当文件的大小大于第二设定值时,按照卷的总数进行分片,将所述文件分散存储到对应的卷上,并对卷内存储的文件进行同步。
3.根据权利要求2所述的分布式文件存储系统,其特征在于,采用指数分裂的方式对卷内文件进行同步。
4.根据权利要求3所述的分布式文件存储系统,其特征在于,外网用户访问内部服务器时,负载均衡服务器响应一个最优的IP地址,外网用户根据所述最优的IP地址对内部服务器进行访问,所述最优的IP地址由该IP上分配的客户端数和机器的承载能力决定的。
5.根据权利要求3所述的分布式文件存储系统,其特征在于,内网用户访问外部服务器时,内网用户将访问所需的报文发送到负载均衡服务器,负载均衡服务器选择最优的链路,并将内网访问外网的业务流量分发到所述链路,所述最优链路由客户端IP与数据库存储集群中存储节点IP路由之间的跳数以及该节点已经存在的链接数决定的。
6.根据权利要求1所述的分布式文件存储系统,其特征在于,用户文件上传时,需计算文件的散列值,向文件管理服务器集群子系统发送文件上传请求和所述散列值,文件管理服务器集群子系统接收到请求后,在文件分配表中查找是否存在用户上传的散列值,如果存在,则不用再上传文件。
7.根据权利要求6所述的分布式文件存储系统,其特征在于,如果不存在,则在文件分配表中增加一条记录上传到文件管理服务器集群子系统中,上传到文件管理服务器集群子系统中的临时存储空间,重新计算文件的散列值。
8.根据权利要求1所述的分布式文件存储系统,其特征在于,所述文件分配表包括文件的ID、文件的散列值、文件大小、文件存储位置、创建日期、修改日期、上传文件进度及卷内文件同步进度;所述权限对照表包括文件的名称、所有者、文件的权限。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710814048.XA CN107547653B (zh) | 2017-09-11 | 2017-09-11 | 一种分布式文件存储系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710814048.XA CN107547653B (zh) | 2017-09-11 | 2017-09-11 | 一种分布式文件存储系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107547653A CN107547653A (zh) | 2018-01-05 |
CN107547653B true CN107547653B (zh) | 2021-03-30 |
Family
ID=60963264
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710814048.XA Active CN107547653B (zh) | 2017-09-11 | 2017-09-11 | 一种分布式文件存储系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107547653B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108197323B (zh) * | 2018-02-05 | 2021-03-30 | 深圳市易图资讯股份有限公司 | 应用于分布式系统地图数据处理方法 |
CN108304555A (zh) * | 2018-02-05 | 2018-07-20 | 丁武轩 | 分布式地图数据处理方法 |
CN108509296B (zh) * | 2018-03-19 | 2021-02-02 | 网宿科技股份有限公司 | 一种处理设备故障的方法和系统 |
CN108989461B (zh) * | 2018-08-23 | 2021-10-22 | 郑州云海信息技术有限公司 | 一种多控存储均衡方法、装置、终端及存储介质 |
CN109347920A (zh) * | 2018-09-18 | 2019-02-15 | 杭州格原信息技术有限公司 | 一种应用于勘察设计行业的网盘系统 |
JP6708239B2 (ja) * | 2018-09-21 | 2020-06-10 | 富士ゼロックス株式会社 | ドキュメント管理システム |
CN109299225A (zh) * | 2018-10-24 | 2019-02-01 | 平安科技(深圳)有限公司 | 日志检索方法、系统、终端及计算机可读存储介质 |
CN109359101A (zh) * | 2018-12-10 | 2019-02-19 | 国电联合动力技术有限公司 | 风电场集群大数据分布式分析计算系统 |
CN111444157B (zh) * | 2019-01-16 | 2023-06-20 | 阿里巴巴集团控股有限公司 | 分布式文件系统及数据访问方法 |
CN110674098B (zh) * | 2019-09-19 | 2022-04-22 | 浪潮电子信息产业股份有限公司 | 一种分布式文件系统中的域名解析方法 |
CN113010475A (zh) * | 2019-12-20 | 2021-06-22 | 百度在线网络技术(北京)有限公司 | 用于存储轨迹数据的方法和装置 |
CN111488321A (zh) * | 2020-03-05 | 2020-08-04 | 北京联创信安科技股份有限公司 | 一种对存储卷的管理系统 |
CN112100129A (zh) * | 2020-09-14 | 2020-12-18 | 北京金山云网络技术有限公司 | 数据访问方法、数据存储方法、装置和文件存储系统 |
CN112256201B (zh) * | 2020-10-23 | 2023-10-31 | 南京鹏云网络科技有限公司 | 一种分布式块存储系统及其卷信息管理方法 |
CN112328685A (zh) * | 2020-11-05 | 2021-02-05 | 浪潮云信息技术股份公司 | 一种全对等分布式数据库数据同步方法 |
CN112463364A (zh) * | 2020-11-09 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 基于分组的分布式存储scsi目标服务管理方法、系统 |
CN112579567B (zh) * | 2020-12-14 | 2022-02-08 | 常州微亿智造科技有限公司 | 一种基于MinIO工业质检文件分布式存储方法 |
CN113411398B (zh) * | 2021-06-18 | 2022-02-18 | 全方位智能科技(南京)有限公司 | 一种基于大数据的文件清理写入及清理管理系统及方法 |
CN115297086A (zh) * | 2022-08-03 | 2022-11-04 | 明阳产业技术研究院(沈阳)有限公司 | 一种域名地址解析方法、装置、设备和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009134609A2 (en) * | 2008-04-28 | 2009-11-05 | Vmware, Inc. | Computer file system with path lookup tables |
CN102546823A (zh) * | 2012-02-18 | 2012-07-04 | 南京云创存储科技有限公司 | 一种云存储系统的文件存储管理系统 |
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8812454B2 (en) * | 2012-01-12 | 2014-08-19 | Alcatel Lucent | Apparatus and method for managing storage of data blocks |
US10909086B2 (en) * | 2014-11-17 | 2021-02-02 | Red Hat, Inc. | File lookup in a distributed file system |
-
2017
- 2017-09-11 CN CN201710814048.XA patent/CN107547653B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009134609A2 (en) * | 2008-04-28 | 2009-11-05 | Vmware, Inc. | Computer file system with path lookup tables |
CN102546823A (zh) * | 2012-02-18 | 2012-07-04 | 南京云创存储科技有限公司 | 一种云存储系统的文件存储管理系统 |
CN105162878A (zh) * | 2015-09-24 | 2015-12-16 | 网宿科技股份有限公司 | 基于分布式存储的文件分发系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107547653A (zh) | 2018-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107547653B (zh) | 一种分布式文件存储系统 | |
CN111124301B (zh) | 一种对象存储设备的数据一致性存储方法及系统 | |
CN110213352B (zh) | 名字空间统一的分散自治存储资源聚合方法 | |
KR101544480B1 (ko) | 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체 | |
Lakshman et al. | Cassandra: a decentralized structured storage system | |
EP2521336B1 (en) | Massively scalable object storage system | |
US9052962B2 (en) | Distributed storage of data in a cloud storage system | |
EP3200431B1 (en) | Massively scalable object storage system | |
CN106066896B (zh) | 一种应用感知的大数据重复删除存储系统及方法 | |
WO2018059032A1 (zh) | 一种虚拟节点的数据迁移方法和虚拟节点 | |
US9547706B2 (en) | Using colocation hints to facilitate accessing a distributed data storage system | |
CN106156359A (zh) | 一种云计算平台下的数据同步更新方法 | |
Xiong et al. | Metadata distribution and consistency techniques for large-scale cluster file systems | |
US20120166403A1 (en) | Distributed storage system having content-based deduplication function and object storing method | |
CN106294585A (zh) | 一种云计算平台下的存储方法 | |
CN103647797A (zh) | 一种分布式文件系统及其数据访问方法 | |
US9218353B2 (en) | Method and system for name space propagation and file caching to remote nodes in a storage system | |
CN103002027A (zh) | 基于键值对系统实现树形目录结构的数据存储系统及方法 | |
Noghabi et al. | Ambry: Linkedin's scalable geo-distributed object store | |
WO2013173539A1 (en) | Indirection objects in a cloud storage system | |
KR20100070895A (ko) | 메타데이터 서버 및 메타데이터 관리 방법 | |
CN102904948A (zh) | 一种超大规模低成本存储系统 | |
Xu et al. | Efficient and scalable metadata management in EB-scale file systems | |
CN102664914A (zh) | 一种IS/DFS-Image分布式文件存储查询系统 | |
CN105005611A (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 |