一种跨站点存储系统及数据信息访问方法与流程

文档序号:20917695发布日期:2020-05-29 13:44阅读:278来源:国知局
一种跨站点存储系统及数据信息访问方法与流程

本申请涉及分布式存储技术领域,具体而言,涉及一种跨站点存储系统及数据信息访问方法。



背景技术:

随着数据信息爆炸式的增长,推动了存储系统向更高密度和更高存储容量的方向发展。当前,pb级别的存储系统已大量落地,并将逐步向eb级规模迈进。

现有技术中,主要支持中小规模的存储系统,对于大规模的存储系统,不能很好的突破站点限制,使各个站点的命名空间能够以统一的视图呈现,实现全系统内数据信息的真正共享。



技术实现要素:

本申请实施例的目的在于提供一种跨站点存储系统及数据信息访问方法,用以实现千亿级数据信息的存储及管理。

第一方面,本申请实施例提供一种跨站点存储系统,包括:多个站点,其中,每个站点包括:存储单元、存储集控制器、存储站点控制器和接入节点;多个站点之间通过存储站点控制器进行通信连接;每个站点的存储单元、存储集控制器和存储站点控制器通信连接;每个站点的接入节点分别与存储单元、存储集控制器、存储站点控制器通信连接;所述存储单元用于存储数据信息;所述存储集控制器用于控制所述存储单元对所述数据信息的存储;所述存储站点控制器用于接收客户端的访问请求,并根据所述访问请求从一个或多个站点的存储单元获取对应的数据信息;所述接入节点用于为客户端提供接入所述系统的接口。

本申请实施例提供的跨站点存储系统通过存储站点控制器将各个站点进行通信连接,构成了能够存储并管理千亿级数据信息的存储系统。

进一步地,所述存储站点控制器包括数据信息服务模块、元数据信息服务模块、管理调度模块、跨站点服务发起端和跨站点服务目的端;其中:所述数据信息服务模块用于根据接收到的访问请求获取对应的数据信息,并将所述数据信息返回至所述客户端;所述元数据信息服务模块用于根据接收到的所述访问请求获取对应的元数据信息;所述管理调度模块用于管理接收到的多个访问请求;所述跨站点服务发起端用于确定访问请求对应的数据信息的起始站点;所述跨站点服务器目的端用于确定访问请求对应的数据信息的目的站点。

本申请实施例通过存储站点控制器实现各个站点之间的通信连接,并通过数据信息服务模块、元数据信息服务模块、管理调度模块、跨站点服务发起端和跨站点服务目的端实现对千亿级数据信息的管理。

进一步地,每个站点的存储站点控制器存储有全局元数据信息和对应站点的元数据信息,所述全局元数据信息包括各个站点分别存储的元数据信息;其中,所述元数据信息包括文件路径、站点id、权限、副本信息和目录的访问权限信息。

本申请实施例通过存储站点控制器存储全局元数据信息,从而能够查询客户端所请求的数据信息的具体位置,进而实现了对全局元数据信息的管理与调度。

进一步地,所述存储站点控制器具体用于:所述存储站点控制器根据所述访问请求从全局元数据信息中获取对应的元数据信息,并根据所述元数据信息从存储单元中获取对应的待访问数据。

本申请实施例通过存储站点控制器存储全局元数据信息,从而能够查询客户端所请求的数据信息的具体位置,进而实现了对全局元数据信息的管理与调度。

进一步地,所述存储站点控制器还包括本地文件系统和本地客户端。

第二方面,本申请实施例提供一种跨站点数据信息访问方法,应用于跨站点存储系统,所述系统包括多个站点,每个站点包括:存储单元、存储集控制器、存储站点控制器和接入节点;多个站点之间通过存储站点控制器进行通信连接;存储单元、存储集控制器和存储站点控制器通信连接;接入节点分别与存储单元、存储集控制器、存储站点控制器通信连接;方法包括:目标站点接收客户端通过接入节点发送的访问请求;其中,所述目标站点为多个站点中的任意一个;所述目标站点根据所述访问请求确定存储对应的待访问数据的站点;所述目标站点从存储对应的待访问数据的站点中获取对应的待访问数据;所述目标站点通过所述接入节点向所述客户端发送所述待访问数据。

本申请实施例中,跨站点存储系统的目标站点接收到访问请求时,先确定待访问数据所在的站点,然后通过跨站点的方式获取对应的待访问数据,实现了跨站点的数据信息访问。

进一步地,所述目标站点的存储站点控制器中存储有全局元数据信息,所述全局元数据信息包括各个站点分别存储的元数据信息,所述元数据信息包括站点id;所述目标站点根据所述访问请求确定存储对应的待访问数据的站点,包括:所述目标站点通过全局元数据信息获取存储所述待访问数据的站点id。

本申请实施例通过在存储站点控制器中存储全局元数据信息,从而,存储站点控制器可以根据全局元数据信息获得待访问数据存储的站点,并且,存储站点控制器可以与对应站点的存储站点控制器进行通信,以获取对应的待访问数据,打通了各个站点,实现跨站点的数据信息访问。

进一步地,所述目标站点从存储对应的待访问数据的站点中获取对应的待访问数据,包括:若所述待访问数据存储在所述目标站点中,则从所述目标站点的存储单元中获取对应的待访问数据;若所述待访问数据存储在其他站点中,则所述目标站点通过存储站点控制器从其他站点中获取所述待访问数据。

本申请实施例中,目标站点根据待访问数据所存储的位置去对应的站点获取待访问数据,从而实现了跨站点数据信息的访问。

进一步地,所述存储站点控制器包括数据信息服务模块和元数据信息服务模块;所述从所述目标站点的存储单元中获取对应的待访问数据,包括:所述元数据信息服务模块获取所述待访问数据的元数据信息;所述数据信息服务模块根据所述待访问数据的元数据信息从所述存储单元中获取对应的待访问数据。

进一步地,所述存储站点控制器包括管理调度模块,所述方法还包括:若接收到多个访问请求,则利用所述管理调度模块确定所述多个访问请求的处理顺序。

本申请实施例通过存储站点控制器中的管理调度模块对多个访问请求进行调度,以实现对数据信息的有效管理。

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

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的跨站点存储系统架构图;

图2为本申请实施例提供的存储站点控制器结构示意图;

图3为本申请实施例提供的存储站点控制器中存储元数据示意图;

图4为本申请实施例提供的跨站点数据信息访问方法流程示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

图1为本申请实施例提供的跨站点存储系统架构图,如图1所示,该系统包括多个站点10,每个站点10中包括存储单元101、存储集控制器102、存储站点控制器103和接入节点104。各个站点10之间通过存储站点控制器103通信连接。对于每一个站点来说,存储单元101、存储集控制器102和存储站点控制器103通信连接,从而构成内部互联。接入节点104分别与存储单元101、存储集控制器102和存储站点控制器103通信连接,构成外部互联。接入节点104还与应用节点105通信连接,若接入节点104与应用节点105共同部署在同一个服务器上,那么可以将该服务器称为应用及接入节点106。

应当说明的是,上述中的通信连接均可以是通过有线的方式进行通信连接,也可以通过无线的方式进行通信连接。

其中,存储单元101用于存储各种数据信息。可以理解的是,存储单元可以包括多个存储区域,并且,存储单元101中除了存储本站点的数据信息之外,还可以存储其他站点的数据信息副本。另外,存储单元101可以是磁盘、固态硬盘等。

存储集控制器102用于控制所述存储单元101对所述数据信息的存储,例如:当有数据信息要存储到存储单元101时,对该数据信息进行安全性检测,在检测通过的情况下将数据信息存储到存储单元101中。

存储站点控制器103用于实现各个站点之间的通信,将各个站点连接起来构成整体的系统,并且,存储站点控制器103用于接收客户端的访问请求,并根据所述访问请求从一个或多个站点的存储单元获取对应的数据信息。

接入节点104用于为客户端提供接入所述系统的接口,应用节点105也可以称为客户端,即访问该系统的节点。

应当说明的是,图1中只给出了两个站点之间通信的示意图,在具体实现过程中,可以将更多个站点进行通信连接,具体站点的个数可以根据数据信息的大小进行确定,本申请实施例对站点的个数不作具体限定。另外,站点与站点之间的距离可以根据实际情况进行设置,这里的距离是指系统中站点之间的逻辑距离。

本申请实施例通过提供的跨站点存储系统通过存储站点控制器将各个站点进行通信连接,构成了能够存储并管理千亿级数据信息的存储系统。并且通过外部互联网络,可实现跨站点存储,系统总容量可进一步扩大。

存储站点控制器运行多个服务模块,相互之间运行对等服务,相互提供数据请求与服务支持。图2为本申请实施例提供的存储站点控制器结构示意图,如图2所示,存储站点控制器103包括数据信息服务模块201、元数据信息服务模块202、管理调度模块203、跨站点服务发起端204和跨站点服务目的端205;其中:

数据信息服务模块201用于当站点接收到客户端发送的访问请求后,通过数据信息服务模块201获取对应的数据信息,并将所述数据信息返回至所述客户端。

元数据信息服务模块202用于根据接收到的访问请求获取对应的元数据信息;其中,元数据(metadata)是关于数据仓库的数据,指在数据仓库建设过程中所产生的有关数据源定义,目标定义,转换规则等相关的关键数据。同时元数据还包含关于数据含义的商业信息,所有这些信息都应当妥善保存,并很好地管理。为数据仓库的发展和使用提供方便。

所述管理调度模块203用于管理接收到的多个访问请求,以确定多个访问请求被处理的先后顺序,或者并发处理。

所述跨站点服务发起端204用于确定访问请求对应的数据信息的起始站点。

所述跨站点服务器目的端205用于确定访问请求对应的数据信息的目的站点。

由于待访问数据可能分别存储在不同的站点,例如,待访问数据被分割成了三部分,第一部分存储在a站点,第二部分存储在b站点,第三部分存储在c站点,当a站点接收到访问请求后,可以本站点中获得第一部分数据,从b站点获取第二部分数据,从c站点获取第三部分数据。那么,跨站点服务发起端204即为a站点,所述跨站点服务器目的端205对应b站点和c站点。

每个站点的存储站点控制器103存储有全局元数据信息和对应站点的元数据信息,全局元数据信息包括各个站点分别存储的元数据信息;其中,所述元数据信息包括文件路径、站点id、权限、副本信息和目录的访问权限信息。

图3为本申请实施例提供的存储站点控制器中存储元数据示意图,图3中示出了站点x、站点y和站点z三个站点,在站点x的存储站点控制器中存储有站点x的本地元数据信息和全局元数据信息,在站点y的存储站点控制器中存储有站点y的本地元数据信息和全局元数据信息,在站点z的存储站点控制器中存储有站点z的本地元数据信息和全局元数据信息。应当说明的是,站点x、站点y和站点z中的全局元数据信息是相同的。而站点x中只存储有站点x中数据对应的元数据信息,站点y中只存储有站点y中数据对应的元数据信息,站点z中只存储有站点z中数据对应的元数据信息。

另外,图3中lino为本地文件标识;gino为全局文件标识。如果meta代表文件,则表示文件在多个站点存在副本;如果meta代表目录,则表示目录在多个站点存在分片。可以看出,同一个文件或目录的全局元数据信息在各个站点保持一致。

本申请实施例通过存储站点控制器实现各个站点之间的通信连接,并通过数据信息服务模块、元数据信息服务模块、管理调度模块、跨站点服务发起端和跨站点服务目的端实现对千亿级数据信息的管理。

为了解决数以千万亿次i/o访问的性能问题,本申请实施例采用元数据和数据分离存储的方法,避免因为数据访问对磁盘和网络的压力影响到元数据访问。同时,为了实现eb级云存储系统对跨地域的全局命名空间进行管理,本申请实施例对存储在存储节点控制器中的元数据信息采取分层管理,共分为两层:第一级的元数据位置管理层和第二级的元数据管理层。

元数据位置管理层:用于管理文件元数据所在的服务器位置信息和存储构成用户视图的目录树结构,向应用接入层提供各个文件的具体元数据存储位置信息以及传统的目录树结构。元数据信息的副本在本站点至少有2份,以提高元数据的可用性,如果需要,可以在异地站点建立副本。同时,为了实现全局命名空间,文件的元数据位置信息会在各个站点进行相互同步,以便在其它站点可以访问到本站点的元数据信息。

元数据管理层:该层用于管理文件的基本属性(如大小、修改时间)、数据信息的存储位置信息、文件扩展属性(如权限配置)等。在存储系统中,由于需要管理海量文件,每个文件的元数据量较多,因此该级的元数据信息存储需求较一级元数据信息存储需求大。

在上述实施例的基础上,所述存储站点控制器具体用于:

所述存储站点控制器根据所述访问请求从全局元数据信息中获取对应的元数据信息,并根据所述元数据信息从存储单元中获取对应的待访问数据。

在具体的实施过程中,由于存储站点控制器中存储有全局元数据信息,因此,当站点接收到某个客户端发送的访问请求时,可以调用存储站点控制器中的元数据信息服务模块从全局元数据信息中获取待访问数据对应的元数据信息,在获得元数据信息之后,再调用数据信息服务模块从存储单元中获取对应的数据信息,将数据信息返回至客户端。

另外,存储站点控制器103中还可以包括本地客户端206和本地文件系统207和;其中:

本地客户端206为运行在对应站点的客户端。

本地文件系统207是操作系统用于明确存储设备(常见的是磁盘,也有基于nandflash的固态硬盘)分区上的文件的方法和数据结构;即在存储设备上组织文件的方法。本地文件系统207包括文件系统接口208。

图4为本申请实施例提供的跨站点数据信息访问方法流程示意图,如图4所示,该方法应用于上述各实施例提供的跨站点存储系统,包括:

步骤401:目标站点接收客户端通过接入节点发送的访问请求;其中,所述目标站点为多个站点中的任意一个。

在具体的实施过程中,客户端通过接入节点与目标站点通信连接,因此,客户端可以通过接入节点向目标站点发送访问请求。可以理解的是,一个站点可以与多个客户端建立通信,为了表述方便,本申请实施例通过对一个站点(目标站点)接收的访问请求的处理来进行介绍,其他站点的处理流程与目标站点一致。

步骤402:所述目标站点根据所述访问请求确定存储对应的待访问数据的站点。

在具体的实施过程中,目标站点在接收到客户端发送的访问请求后,根据该访问请求确定存储待访问数据的站点。可以理解的是,若客户端需要一个数据集,而数据集中的数据没有存储在一个站点中,那么可以确定出待访问数据的站点为多个。

步骤403:所述目标站点从存储对应的待访问数据的站点中获取对应的待访问数据。

在具体的实施过程中,由于各个站点之间均通过存储站点控制器通信连接,因此在确定存储待访问数据的站点之后,可以通过存储站点控制器从对应的站点中获取待访问数据。

步骤404:所述目标站点通过所述接入节点向所述客户端发送所述待访问数据。

在具体的实施过程中,目标站点在获取到待访问数据之后,将待访问数据通过接入节点返回给待访问数据。

本申请实施例中,跨站点存储系统的目标站点接收到访问请求时,先确定待访问数据所在的站点,然后通过跨站点的方式获取对应的待访问数据,实现了跨站点的数据信息访问。

在上述实施例的基础上,所述目标站点的存储站点控制器中存储有全局元数据信息,所述全局元数据信息包括各个站点分别存储的元数据信息,所述元数据信息包括站点id;所述目标站点根据所述访问请求确定存储对应的待访问数据的站点,包括:

所述目标站点通过全局元数据信息获取存储所述待访问数据的站点id。

在具体的实施过程中,全局元数据信息是指系统中各个站点中存储的元数据信息的总和。在每个站点的存储节点控制器中均存储了一份全局元数据信息。一条元数据信息包括站点id,即存储该元数据信息的站点id,每个站点都有唯一一个站点id,因此,通过站点id可以用来获知元数据信息存储的位置。另外,元数据信息还包括文件路径、权限、副本信息,以及全部目录的访问权限信息等。其中,文件路径是指存储元数据信息对应的数据信息的文件路径;权限是指元数据信息对应的数据信息的被操作权限,例如:只读或者读写等。副本信息是指该元数据对应的数据的副本情况,例如一共有多少个副本,以及每个副本的存储位置等信息。

目标站点在接收到访问请求后,可以从全局元数据信息中获取对应待访问数据对应的站点id,以获知待访问数据被存储在了哪些站点上,然后去对应的站点上获取数据即可。

本申请实施例通过在存储站点控制器中存储全局元数据信息,从而,存储站点控制器可以根据全局元数据信息获得待访问数据存储的站点,并且,存储站点控制器可以与对应站点的存储站点控制器进行通信,以获取对应的待访问数据,打通了各个站点,实现跨站点的数据信息访问。

在上述实施例的基础上,所述目标站点从存储对应的待访问数据的站点中获取对应的待访问数据,包括:

若所述待访问数据存储在所述目标站点中,则从所述目标站点的存储单元中获取对应的待访问数据;

若所述待访问数据存储在其他站点中,则所述目标站点通过存储站点控制器从其他站点中获取所述待访问数据。

在具体的实施过程中,若目标站点确定待访问数据就存储在本地站点中,那么可以调用本地站点中的元数据信息服务模块获取待访问数据对应的元数据信息,然后再调用本地站点中的数据信息服务模块获取元数据信息对应的数据,该数据即为待访问数据。

若目标站点确定待访问数据存储在其他站点中,可以理解的是,其他站点可以为一个,也可以为多个,那么可以通过本地站点的存储站点控制器向存储有待访问数据的站点发送数据请求,存储待访问数据的站点根据数据请求从本地元数据信息中获取待访问数据对应的元数据信息,然后根据元数据信息获取对应的待访问数据,将待访问数据返回给目标站点。

可以理解的是,待访问数据中,可以有一部分数据存储在目标站点中,另一部分数据存储在其他站点中。目标站点可以通过上述方法获取存储在目标站点中的数据,并且通过上述方法从其他站点中获取另一部分数据,最后将数据进行整合后获得待访问数据,并将待访问数据发送给对应的客户端。

本申请实施例中,目标站点根据待访问数据所存储的位置去对应的站点获取待访问数据,从而实现了跨站点数据信息的访问。

在上述实施例的基础上,所述存储站点控制器包括管理调度模块,所述方法还包括:

若接收到多个访问请求,则利用所述管理调度模块确定所述多个访问请求的处理顺序。

在具体的实施过程中,由于一个站点可以与多个客户端通信连接,因此,站点可能在短时间内收到多个客户端发送的访问请求。管理调度模块可以对多个访问请求进行管理调度,即确定多个访问请求的处理顺序。例如:可以根据目标站点接收到的访问请求的时间来确定,也可以根据客户端的优先级进行确定。从而实现了对访问请求的有序管理。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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