数据访问方法、数据存储方法、装置和文件存储系统与流程

文档序号:23350290发布日期:2020-12-18 16:55阅读:148来源:国知局
数据访问方法、数据存储方法、装置和文件存储系统与流程

本发明涉及文件存储技术领域,尤其是涉及一种数据访问方法、数据存储方法、装置和文件存储系统。



背景技术:

hdfs(hadoopdistributedfilesystem,hadoop分布式文件系统)是目前比较典型的、使用比较广泛的开源分布式文件存储系统。在hdfs系统中,所有文件的元数据存储在namenode节点,该namenode节点的内存空间有限,因而该namenode节点中可以存储的文件的元数据的数量有限,限制了系统整体可以存储的文件的总数量和总数据量。



技术实现要素:

有鉴于此,本发明的目的在于提供一种数据访问方法、数据存储方法、装置和文件存储系统,以提高系统存储文件的数量和总数据量。

第一方面,本发明实施例提供了一种数据访问方法,方法包括:基于数据访问请求,确定待访问文件所属的第一目标数据卷;基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;基于待访问文件的元数据,访问待访问文件。

进一步的,每个文件目录管理分片包括多个文件目录管理节点;多个文件目录管理节点包括一个主用文件目录管理节点和至少一个备用文件目录管理节点;其中,主用文件目录管理节点用于提供待访问文件的元数据;备用文件目录管理节点与主用文件目录管理节点的数据同步。

进一步的,多个文件目录管理节点中的主用文件目录管理节点,基于预设的raft协议确定;备用文件目录管理节点的数据,通过预设的raft协议与主用文件目录管理节点的数据同步。

进一步的,文件存储系统中设置有多个文件存储集群;待访问文件的元数据包括待访问文件的文件数据所在的文件存储集群;基于待访问文件的元数据,访问待访问文件的步骤,包括:从待访问文件所属的文件存储集群中,获取待访问文件。

进一步的,文件存储集群包括集群管理节点和数据存储节点;集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系;从待访问文件所属的文件存储集群中,获取待访问文件的步骤,包括:通过待访问文件所属的文件存储集群的集群管理节点,确定待访问文件的文件数据所在的目标数据存储节点;从目标数据存储节点中获取待访问文件的文件数据。

进一步的,每个文件存储集群包括多个集群管理节点;多个集群管理节点包括一个主用集群管理节点和至少一个备用集群管理节点;其中,主用集群管理节点用于提供待访问文件的文件数据所在的目标数据存储节点;备用集群管理节点与主用集群管理节点的数据同步。

进一步的,文件存储系统中设置有数据持久化服务;数据持久化服务用于提供文件目录管理分片与数据卷的对应关系;基于数据访问请求,确定待访问文件所属的第一目标数据卷的步骤之前,方法还包括:通过数据持久化服务,获取文件目录管理分片与数据卷的对应关系。

第二方面,本发明实施例提供了一种数据存储方法,方法包括:基于数据存储请求,确定待存储文件所属的第二目标数据卷;基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第二目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;确定待存储文件的目标存储位置;基于目标存储位置,在第二目标数据卷所属的文件目录管理分片中,生成待存储文件的元数据;将待存储文件存储至目标存储位置。

进一步的,文件存储系统中设置有多个文件存储集群;目标存储位置包括:存储待存储文件的文件数据的目标文件存储集群;将待存储文件存储至目标存储位置的步骤,包括:将待存储文件存储至目标文件存储集群。

进一步的,文件存储集群包括集群管理节点和数据存储节点;集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系;将待存储文件存储至目标文件存储集群的步骤,包括:从目标文件存储集群中确定存储待存储文件的目标数据存储节点;基于目标数据存储节点,在目标文件存储集群的集群管理节点中,生成待存储文件的文件数据与目标数据存储节点的对应关系;将待存储文件的文件数据保存至目标数据存储节点。

第三方面,本发明实施例提供了一种文件存储系统,系统包括数据请求服务端、多个文件目录管理分片和多个文件存储集群;其中,每个文件存储集群用于存储指定数据卷中的文件;每个文件目录管理分片用于管理指定数据卷中文件的元数据;元数据用于指示指定数据卷中文件所在的文件存储集群;数据请求服务端用于基于文件目录管理分片与数据卷的对应关系,处理接收到的数据请求。

进一步的,文件存储系统中设置有数据持久化服务;数据持久化服务用于向数据请求服务端提供文件目录管理分片与数据卷的对应关系。

进一步的,每个文件目录管理分片包括多个文件目录管理节点;多个文件目录管理节点包括一个主用文件目录管理节点和至少一个备用文件目录管理节点;其中,主用文件目录管理节点用于提供指定数据卷中文件的元数据;备用文件目录管理节点与主用文件目录管理节点的数据同步。

进一步的,文件存储集群包括集群管理节点和数据存储节点;数据存储节点用于保存文件存储集群中的各个文件的文件数据;集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系。

进一步的,文件存储集群包括多个集群管理节点;多个集群管理节点包括一个主用集群管理节点和至少一个备用集群管理节点;其中,主用集群管理节点用于提供文件存储集群中各个文件的文件数据所在的数据存储节点;备用集群管理节点与主用集群管理节点的数据同步。

第四方面,本发明实施例提供了一种数据访问装置,装置包括:第一数据卷确定模块,用于基于数据访问请求,确定待访问文件所属的第一目标数据卷;第一管理分片确定模块,用于基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;文件访问模块,用于从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;基于待访问文件的元数据,访问待访问文件。

第五方面,本发明实施例提供了一种数据存储装置,装置包括:第二数据卷确定模块,用于基于数据存储请求,确定待存储文件所属的第二目标数据卷;第二管理分片确定模块,用于基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第二目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;文件存储模块,用于确定待存储文件的目标存储位置;基于目标存储位置,在第二目标数据卷所属的文件目录管理分片中,生成待存储文件的元数据;将待存储文件存储至目标存储位置。

第六方面,本发明实施例提供了一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现第一方面任一项的数据访问方法、第二方面任一项的数据存储方法、或者第三方面任一项的文件存储系统。

第七方面,本发明实施例提供了一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现第一方面任一项的数据访问方法、第二方面任一项的数据存储方法、或者第三方面任一项的文件存储系统。

本发明实施例带来了以下有益效果:

本发明实施例提供了一种数据访问方法、数据存储方法、装置和文件存储系统,基于数据访问请求,确定待访问文件所属的第一目标数据卷;基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;其中的文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;基于待访问文件的元数据,访问待访问文件。该方式中,文件存储系统中设置有多个文件目录管理分片,当文件量较大时,文件目标管理分片可以水平扩容,避免了单个文件目录管理节点中存储文件的元数据的数量有限的问题,提高了系统存储文件的数量和总数据量。

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种数据访问方法的流程图;

图2为本发明实施例提供的一种文件存储系统的结构示意图;

图3为本发明实施例提供的另一种数据访问方法的流程图;

图4为本发明实施例提供的一种数据存储方法的流程图;

图5为本发明实施例提供的一种文件存储系统的结构示意图;

图6为本发明实施例提供的一种数据访问装置的结构示意图;

图7为本发明实施例提供的一种数据存储装置的结构示意图;

图8为本发明实施例提供的一种电子设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

目前hdfs是目前比较典型的、使用比较广泛的开源分布式文件存储系统。hdfs主要有如下几个缺陷:一、存储的文件规模有限:所有的文件元数据都存储在namenode节点,且namenode节点无水平扩容能力,导致集群能存储的文件数量和总数据量受限于namenode节点的内存瓶颈,一般只能存储数亿个文件;二、元数据可靠性不高:hdfs的namenode节点有主、备两个节点,主、备节点的元数据同步是异步同步,当有元数据更新时,主节点向备节点同步更新时、或尚未向从主节点同步更新时,主节点宕机了,就会丢失部分最新的元数据;三、服务可用性不高:hdfs的主namenode节点挂掉后,备namenode节点需要将所有的元数据加载到内存后,才能对外提供服务,当文件规模为数亿级别时,这个切换时间为数分钟级别。基于此,本发明实施例提供的一种数据访问方法、数据存储方法、装置和文件存储系统,该技术可以应用于电脑、笔记本等各种硬件设备中,尤其可以应用与具有数据访问功能的设备中。该技术可以通过相关硬件和软件实现。需要说明的是,本实施例中的文件存储系统,具体可以为分布式文件存储系统。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据访问方法进行详细介绍,如图1所示,该方法包括如下步骤:

步骤s102,基于数据访问请求,确定待访问文件所属的第一目标数据卷;

上述数据卷可以是一个命名空间,用来存放用户创建的目录、文件等;用户在使用文件存储系统前,首先需要创建待访问文件的数据卷;在实际实现时,用户可以通过客户端等设备,发送数据访问请求,该数据访问请求中包括用户指定的数据卷名称,在文件存储系统的服务端接收到数据访问请求后,可以通过数据访问请求包括的数据卷名称,直接确定待访问文件所属的第一目标数据卷。上述文件存储系统的服务端通常对外暴露卷、目录、文件等操作接口,转发用户的数据访问请求到相应的模块上进行处理。

步骤s104,基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;

本实施中提到的文件存储系统可以理解为一个带目录树的文件系统,用户存储用户上传的文件,并对用户提供典型的文件系统操作,比如:卷操作、目录操作、文件操作、文件链接、更改文件的权限和所有者等。上述文件目录管理分片可以称为slice,文件存储系统中设置有多个文件目录管理分片,比如,可以是三个或者5个;每个文件目录管理分片逻辑上包含有多个数据卷,每个数据卷对应一个目录树,每个数据卷只属于一个文件目录管理分片,不能跨文件目录管理分片。每个文件目录管理分片用于管理指定数据卷中文件的元数据;元数据也可以称为inodeid,每个文件都有唯一的元数据,元数据也是文件的唯一标识,该元数据可以被定义为描述文件的数据,对文件及信息资源的描述性信息。

由于每个数据卷只属于一个文件目录管理分片,因此上述文件目录管理分片与数据卷的对应关系是一一对应的关系,该对应关系可以通过文件存储系统中指定的服务进行存储;具体的,文件存储系统的服务端在确定待访问文件所属的第一目标数据卷后,可以直接通过文件目录管理分片与数据卷的对应关系,首先找到从多个数据卷中获取第一目标数据卷,然后确定第一目标数据卷所属的文件目录管理分片。

步骤s106,从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;基于待访问文件的元数据,访问待访问文件。

由于每个文件目录管理分片用于管理指定数据卷中文件的元数据;即每个文件目录管理分片中包括有对应的文件的元数据;因此,在确定了第一目标数据卷所属的文件目录管理分片后,可以通过该文件目录管理分片,获取待访问文件的元数据,具体的,可以通过文件目录管理分片包括的多个文件目录管理节点,获取待访问文件的元数据;其中,文件目录管理节点主要用于管理用户的目录树以及文件到元数据的映射,可以提供待访问文件的元数据。

本发明实施例提供了一种数据访问方法,基于数据访问请求,确定待访问文件所属的第一目标数据卷;基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;其中的文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;基于待访问文件的元数据,访问待访问文件。该方式中,文件存储系统中设置有多个文件目录管理分片,当文件量较大时,文件目标管理分片可以水平扩容,避免了单个文件目录管理节点中存储文件的元数据的数量有限的问题,提高了系统存储文件的数量和总数据量。

上述每个文件目录管理分片包括多个文件目录管理节点;多个文件目录管理节点包括一个主用文件目录管理节点和至少一个备用文件目录管理节点;其中,主用文件目录管理节点用于提供待访问文件的元数据;备用文件目录管理节点与主用文件目录管理节点的数据同步。

具体的,可以参见图2所示的文件存储系统的结构示意图,上述多个文件目录管理分片对应图中的slice1、slice2等;上述文件目录管理节点对应图中的namenode;上述主用文件目录管理节点对应图中的masternamenode,备用文件目录管理节点对应图中的slavenamenode;上述多个文件目录管理节点的数据可以为完全镜像。

上述文件目录管理节点主要通过文件到元数据的映射关系,提供待访问文件的元数据。备用文件目录管理节点与主用文件目录管理节点的数据可以为异步同步。

需要说明的是,文件存储系统中所包括的文件目录管理分片不仅限于图中示出的数量,也可以更多,通常包括三个或者五个,在此不做限制,具体数量可以根据实际需要进行设置。另外,文件目录管理节点包括的至少一个备用文件目录管理节点也不仅限于图中示出的个数,也可以更多,在此不做限制,具体数量可以根据实际需要进行设置。

另外,多个文件目录管理节点中的主用文件目录管理节点,基于预设的raft协议确定;备用文件目录管理节点的数据,通过预设的raft协议与主用文件目录管理节点的数据同步。

上述raft协议可以使得一个集群的服务器组成复制状态机,维护多个文件目录管理节点的数据的一致性;通常在初始状态下,每个文件目录管理分片中的多个文件目录管理节点没有主用和备用的区别,通过raft协议的选举机制从多个文件目录管理节点中选择一个主用文件目录管理节点,剩下的文件目录管理节点便直接成为备用文件目录管理节点。该种方式在主用文件目录管理节点挂掉后,能在百毫秒内从备用文件目录管理节点中选择出新的主用文件目录管理节点,并提供服务;且由于raft协议的一致性算法,新的主用文件目录管理节点的数据与挂掉的主用文件目录管理节点的数据相同,解决了文件存储系统主用文件目录管理节点挂掉后,备用文件目录管理节点需耗费数分钟才能对外提供服务的问题,同时解决了文件存储系统主用文件目录管理节点挂掉后,丢失部分新元数据的问题。

上述的文件存储系统的结构中管理目录树的文件目录管理节点被拆分成多个文件目录管理分片,文件目录管理分片可以水平无缝扩容;解决了文件存储系统受限于单个文件目录管理节点的内存瓶颈,而只能存储数亿文件的问题,提高了系统存储文件的数量和总数据量。

本实施例提供了另一种数据访问方法,上述文件存储系统中设置有多个文件存储集群;上述待访问文件的元数据包括待访问文件的文件数据所在的文件存储集群。可以参见图2所示的文件存储系统的结构示意图,文件存储系统中设置有多个文件存储集群,对应图中的cluster;上述待访问文件的元数据包括待访问文件的文件数据所在的文件存储集群的地址,即clusterid。

如图3所示,该方法包括如下步骤:

步骤s302,通过数据持久化服务,获取文件目录管理分片与数据卷的对应关系;

比如,数据持久化服务可以为zookeeper(分布式应用程序协调服务)等服务,可以用来实时持久化文件目录管理节点、集群管理节点和数据存储节点的ip(网络之间互连的协议)信息,数据卷等信息;通常文件存储系统中设置有数据持久化服务;数据持久化服务用于提供文件目录管理分片与数据卷的对应关系;该对应关系通常是通过实时持久化各个文件目录管理节点、集群管理节点和数据存储节点的信息得到。比如,对文件目录管理节点、集群管理节点和数据存储节点的数据进行更改时,会实时将更改的数据进行持久化,以保证数据持久化服务中的数据为最新数据。

具体的,在系统启动时,系统的服务端(对应图2中的client)访问一次数据持久化服务,从该数据持久化服务中获取文件目录管理分片与数据卷的对应关系,将该对应关系保存至服务端本地;需要说明的是,系统的服务端只在系统启动的时候仅仅访问一次数据持久化服务,并将需要的文件目录管理分片与数据卷的对应关系,以及其他相关信息保存至本地;避免在数据访问过程中频繁访问数据持久化服务。

步骤s304,基于数据访问请求,确定待访问文件所属的第一目标数据卷;

步骤s306,基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;

步骤s308,从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;

步骤s310,从待访问文件所属的文件存储集群中,获取待访问文件。

由于待访问文件的元数据包括待访问文件的文件数据所在的文件存储集群的地址,因此可以根据该文件存储集群的地址直接访问对应的文件存储集群;通过文件存储集群中的集群管理节点,获取待访问文件。

上述文件存储集群包括集群管理节点和数据存储节点;集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系。其中集群管理节点主要作用是管理文件的元数据到文件内容的映射关系(即文件的元数据由那几块内容组成,每块内容分布在哪几个数据存储节点上);数据存储节点用于存储用户上传的文件数据,每个文件被水平切割成多个定长的块。

上述步骤s310,一种可能的实施方式:通过待访问文件所属的文件存储集群的集群管理节点,确定待访问文件的文件数据所在的目标数据存储节点;从目标数据存储节点中获取待访问文件的文件数据。

具体的,可以通过待访问文件所属的文件存储集群的主用集群管理节点中的各个文件的文件数据与数据存储节点的对应关系,确定待访问文件的文件数据对应的目标数据存储节点;得到目标数据存储节点的地址后,可以直接从目标数据存储节点中获取待访问文件的文件数据。

每个文件存储集群包括多个集群管理节点;多个集群管理节点包括一个主用集群管理节点和至少一个备用集群管理节点;其中,主用集群管理节点用于提供待访问文件的文件数据所在的目标数据存储节点;备用集群管理节点与主用集群管理节点的数据同步。

具体的,可以参见图2所示的文件存储系统的结构示意图;其中每个文件存储集群通常包含有三个或五个集群管理节点,其中一个是主用集群管理节点,其余是备用集群管理节点;该集群管理节点对应图2中的metanode;主用集群管理节点对应图2中的mastermetanode;备用集群管理节点对应图2中的slavemetanode;数据存储节点对应图2中的datanode,每个文件存储集群可以包括多个数据存储节点;上述多个集群管理节点的数据可以为完全镜像。上述集群管理节点主要管理文件存储集群内的所有数据分布,管理文件的元数据到文件内容的映射关系。

需要说明的是,文件存储系统中所包括的文件存储集群不仅限于图中示出的数量,也可以更多,在此不做限制,具体数量可以根据实际需要进行设置。另外,集群管理节点也不仅限于图中示出的个数,也可以更多,通常包括三个或五个,在此不做限制,具体数量可以根据实际需要进行设置;同样的,数据存储节点也不仅限于图中示出的数量,也可以更多或更少,在此不做限制。

另外,多个集群管理节点中的主用集群管理节点,基于预设的raft协议确定;备用集群管理节点的数据,通过预设的raft协议与主用集群管理节点的数据同步。

通常在初始状态下,每个文件存储集群中的多个集群管理节点没有主用和备用的区别,通过raft协议的选举机制从多个集群管理节点中选择一个主用集群管理节点,剩下的集群管理节点便直接成为备用集群管理节点。该种方式在主用集群管理节点挂掉后,能在百毫秒内从备用集群管理节点中选择出新的主用集群管理节点,并提供服务;且由于raft协议的一致性算法,新的主用集群管理节点的数据与挂掉的主用集群管理节点的数据相同,保证文件存储系统主用集群管理节点挂掉后,百毫秒内选出新的主用集群管理节点并对外提供服,且新的主用集群管理节点的数据与老的主用集群管理节点的数据完全一致,不会丢失任何数据。同时解决了文件存储系统受限于单集群不能水平扩容而导致存储容量瓶颈问题。

上述的文件存储系统的结构中集群管理节点以及数据存储节点被拆分成多个文件存储集群,文件存储集群可以水平无缝扩容;解决了文件存储系统受限于单个集群不能水平扩容而导致存储容量瓶颈问题,提高了系统存储文件的数量和总数据量。

由于目前比较典型的、使用比较广泛的开源文件存储系统hdfs有较多的缺陷,其中最主要的是存储的文件规模有限,所有的文件元数据都存储在namenode节点,且namenode节点无水平扩容能力,导致集群能存储的文件数量和总数据量受限于namenode节点的内存瓶颈,一般只能存储数亿个文件,基于此,本发明实施例还提供了一种数据存储方法,如图4所示,该方法包括如下步骤:

步骤s402,基于数据存储请求,确定待存储文件所属的第二目标数据卷;

其中第二目标数据卷与前述的第一目标数据卷可以具有相同的属性,可以是一个命名空间,用来存放用户创建的目录、文件等。

步骤s404,基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第二目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;

步骤s406,确定待存储文件的目标存储位置;基于目标存储位置,在第二目标数据卷所属的文件目录管理分片中,生成待存储文件的元数据;将待存储文件存储至目标存储位置。

上述元数据也可以称为inodeid,是待存储文件的唯一标识,该元数据可以被定义为描述文件的数据,对文件及信息资源的描述性信息。待存储文件的目标存储位置可以由文件存储系统进行确定,并同时记录待存储文件的目标存储位置,以方便后续用户的访问。

上述文件存储系统中设置有多个文件存储集群;目标存储位置包括:存储待存储文件的文件数据的目标文件存储集群;将待存储文件存储至目标存储位置的步骤,包括:将待存储文件存储至目标文件存储集群。

上述文件存储集群包括集群管理节点和数据存储节点;集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系;将待存储文件存储至目标文件存储集群的步骤,包括:

1)从目标文件存储集群中确定存储待存储文件的目标数据存储节点;

具体可以从目标文件存储集群的集群管理节点中确定存储待存储文件的目标数据存储节点。

2)基于目标数据存储节点,在目标文件存储集群的集群管理节点中,生成待存储文件的文件数据与目标数据存储节点的对应关系;将待存储文件的文件数据保存至目标数据存储节点。

生成待存储文件的文件数据与目标数据存储节点的对应关系,其目的是方便后续用户对待存储文件的文件数据的访问。

上述方式中,基于数据存储请求,确定待存储文件所属的第二目标数据卷;基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第二目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;确定待存储文件的目标存储位置;基于目标存储位置,在第二目标数据卷所属的文件目录管理分片中,生成待存储文件的元数据;将待存储文件存储至目标存储位置。该方式中,文件存储系统中设置有多个文件目录管理分片,当文件量较大时,文件目标管理分片可以水平扩容,避免了单个文件目录管理节点中存储文件的元数据的数量有限的问题,提高了系统存储文件的数量和总数据量。

本实施例还提供了一种文件存储系统,如图5所示,该系统包括数据请求服务端、多个文件目录管理分片和多个文件存储集群;其中,每个文件存储集群用于存储指定数据卷中的文件;每个文件目录管理分片用于管理指定数据卷中文件的元数据;元数据用于指示指定数据卷中文件所在的文件存储集群;数据请求服务端用于基于文件目录管理分片与数据卷的对应关系,处理接收到的数据请求。

上述文件存储系统中设置有数据持久化服务;数据持久化服务用于向数据请求服务端提供文件目录管理分片与数据卷的对应关系。

其中,每个文件目录管理分片包括多个文件目录管理节点;多个文件目录管理节点包括一个主用文件目录管理节点和至少一个备用文件目录管理节点;其中,主用文件目录管理节点用于提供指定数据卷中文件的元数据;备用文件目录管理节点与主用文件目录管理节点的数据同步。

上述文件存储集群包括集群管理节点和数据存储节点;数据存储节点用于保存文件存储集群中的各个文件的文件数据;集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系。

上述文件存储集群包括多个集群管理节点;多个集群管理节点包括一个主用集群管理节点和至少一个备用集群管理节点;其中,主用集群管理节点用于提供文件存储集群中各个文件的文件数据所在的数据存储节点;备用集群管理节点与主用集群管理节点的数据同步。

本实施例提供的文件存储系统中,包括数据请求服务端、多个文件目录管理分片和多个文件存储集群;其中,每个文件存储集群用于存储指定数据卷中的文件;每个文件目录管理分片用于管理指定数据卷中文件的元数据;元数据用于指示指定数据卷中文件所在的文件存储集群;数据请求服务端用于基于文件目录管理分片与数据卷的对应关系,处理接收到的数据请求。该方式中,文件存储系统中设置有多个文件目录管理分片,当文件量较大时,文件目标管理分片可以水平扩容,避免了单个文件目录管理节点中存储文件的元数据的数量有限的问题,提高了系统存储文件的数量和总数据量。

对应上述的方法实施例,本实施例提供了一种数据访问装置,如图6所示,该装置包括:

第一数据卷确定模块61,用于基于数据访问请求,确定待访问文件所属的第一目标数据卷;

第一管理分片确定模块62,用于基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;

文件访问模块63,用于从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;基于待访问文件的元数据,访问待访问文件。

本发明实施例提供了一种数据访问装置,基于数据访问请求,确定待访问文件所属的第一目标数据卷;基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第一目标数据卷所属的文件目录管理分片;其中的文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;从第一目标数据卷所属的文件目录管理分片中,获取待访问文件的元数据;基于待访问文件的元数据,访问待访问文件。该方式中,文件存储系统中设置有多个文件目录管理分片,当文件量较大时,文件目标管理分片可以水平扩容,避免了单个文件目录管理节点中存储文件的元数据的数量有限的问题,提高了系统存储文件的数量和总数据量。

进一步的,上述每个文件目录管理分片包括多个文件目录管理节点;多个文件目录管理节点包括一个主用文件目录管理节点和至少一个备用文件目录管理节点;其中,主用文件目录管理节点用于提供待访问文件的元数据;备用文件目录管理节点与主用文件目录管理节点的数据同步。

进一步的,上述多个文件目录管理节点中的主用文件目录管理节点,基于预设的raft协议确定;上述备用文件目录管理节点的数据,通过预设的raft协议与主用文件目录管理节点的数据同步。

进一步的,上述文件存储系统中设置有多个文件存储集群;待访问文件的元数据包括待访问文件的文件数据所在的文件存储集群;上述文件访问模块还用于:从待访问文件所属的文件存储集群中,获取待访问文件。

进一步的,上述文件存储集群包括集群管理节点和数据存储节点;集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系;上述文件访问模块还用于:通过待访问文件所属的文件存储集群的集群管理节点,确定待访问文件的文件数据所在的目标数据存储节点;从目标数据存储节点中获取待访问文件的文件数据。

进一步的,上述每个文件存储集群包括多个集群管理节点;多个集群管理节点包括一个主用集群管理节点和至少一个备用集群管理节点;其中,主用集群管理节点用于提供待访问文件的文件数据所在的目标数据存储节点;备用集群管理节点与主用集群管理节点的数据同步。

进一步的,上述文件存储系统中设置有数据持久化服务;数据持久化服务用于提供文件目录管理分片与数据卷的对应关系;上述装置还包括获取模块,用于通过数据持久化服务,获取文件目录管理分片与数据卷的对应关系。

本发明实施例提供的数据访问装置,与上述实施例提供的数据访问方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

对应上述的方法实施例,本实施例还提供了一种数据存储装置,如图7所示,该装置包括:

第二数据卷确定模块71,用于基于数据存储请求,确定待存储文件所属的第二目标数据卷;

第二管理分片确定模块72,用于基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第二目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;

文件存储模块73,用于确定待存储文件的目标存储位置;基于目标存储位置,在第二目标数据卷所属的文件目录管理分片中,生成待存储文件的元数据;将待存储文件存储至目标存储位置。

上述装置中,基于数据存储请求,确定待存储文件所属的第二目标数据卷;基于文件存储系统中,文件目录管理分片与数据卷的对应关系,确定第二目标数据卷所属的文件目录管理分片;其中,文件存储系统中设置有多个文件目录管理分片;每个文件目录管理分片用于管理指定数据卷中文件的元数据;确定待存储文件的目标存储位置;基于目标存储位置,在第二目标数据卷所属的文件目录管理分片中,生成待存储文件的元数据;将待存储文件存储至目标存储位置。该方式中,文件存储系统中设置有多个文件目录管理分片,当文件量较大时,文件目标管理分片可以水平扩容,避免了单个文件目录管理节点中存储文件的元数据的数量有限的问题,提高了系统存储文件的数量和总数据量。

进一步的,上述文件存储系统中设置有多个文件存储集群;上述目标存储位置包括:存储待存储文件的文件数据的目标文件存储集群;上述文件存储模块还用于:将待存储文件存储至目标文件存储集群。

进一步的,上述文件存储集群包括集群管理节点和数据存储节点;该集群管理节点中存储有文件存储集群中保存的各个文件的文件数据与数据存储节点的对应关系;上述文件存储模块还用于:从目标文件存储集群中确定存储待存储文件的目标数据存储节点;基于目标数据存储节点,在目标文件存储集群的集群管理节点中,生成待存储文件的文件数据与目标数据存储节点的对应关系;将待存储文件的文件数据保存至目标数据存储节点。

本发明实施例提供的数据存储装置,与上述实施例提供的数据存储方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。

本实施例还提供一种电子设备,包括处理器和存储器,存储器存储有能够被处理器执行的机器可执行指令,处理器执行机器可执行指令以实现上述数据访问方、数据存储方法或者文件存储系统。

参见图8所示,该电子设备包括处理器100和存储器101,该存储器101存储有能够被处理器100执行的机器可执行指令,该处理器100执行机器可执行指令以实现上述数据访问方法、数据存储方法或者文件存储系统。

进一步地,图8所示的电子设备还包括总线102和通信接口103,处理器100、通信接口103和存储器101通过总线102连接。

其中,存储器101可能包含高速随机存取存储器(ram,randomaccessmemory),也可能还包括非不稳定的存储器(non-volatilememory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是isa总线、pci总线或eisa总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。

处理器100可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器100中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器100可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessor,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器101,处理器100读取存储器101中的信息,结合其硬件完成前述实施例的方法的步骤。

本实施例还提供一种机器可读存储介质,机器可读存储介质存储有机器可执行指令,机器可执行指令在被处理器调用和执行时,机器可执行指令促使处理器实现上述数据访问方法、数据存储方法或者文件存储系统。

本发明实施例所提供的数据访问方法、数据存储方法、装置和文件存储系统的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1