数据访问方法、节点及系统的制作方法

文档序号:7560321阅读:139来源:国知局
专利名称:数据访问方法、节点及系统的制作方法
技术领域
本发明涉及通信领域中数据业务技术,具体地,涉及数据访问方法、节点及系统。
背景技术
数据存储系统最常用的使用方式是文件系统,例如,图1中文件系统通过路径名,如/home/myname/novel/novell. txt访问文件,路径名处于一个命名空间中,路径处于一个树状空间中,树状空间表征一定的逻辑关系,对用户比较友好。数据库系统是另一类存储系统的使用方式,它不依赖于文件系统路径来体现逻辑关系,以“表”或其他结构来表征逻辑,如图1中数据库系统以“表”表征逻辑。如图1,所有需要随机访问的数据存储系统(文件系统和数据库系统)的底层均构建于块设备之上。所谓块设备,是可以通过指定一个块编号,来访问设备中的一个指定区域,块的编号可以在一个很大的寻址空间内进行随机寻址,但是块编号本身没有逻辑含义,用户需要借助上层的文件系统或数据库系统等有用户逻辑的系统。文件系统的访问具有更好的逻辑结构,但是块访问可以支持各种文件系统和其他存储系统,如数据库系统,灵活性更高。针对图1的文件读写流程如图2和图3所示,读写均由客户端发起,送到文件系统层,文件系统客户对应用提供了文件打开、定位、读写等操作接口,成功的文件打开操作会返回一个文件的描述符,该描述符为序号或指针,对应用来说是唯一的表征要操作文件的标识,对应用程序的文件访问操作,文件系统层要分一次或多次去块设备访问一些块来读取信息或写入数据。有些块中存储着管理和组织文件用的元数据,有些块存储着用户数据,不同的文件系统实现采用不同的方式来存放和读取这些块,文件系统转化为的多个块操作,送达块设备层,最终到达磁盘进行操作,这里省略了缓存等优化措施。使用块设备服务的客户端以磁盘等形式获得一块存储区域,通过小型计算机系统接口(SCSI)或先进技术附件接口(ATA)块操作指令来存放、读取、更新以及删除存储块。一般使用者会在磁盘上建立文件系统来使用。随着云计算的发展,存储系统的挑战是容量和成本,既需要大容量的存储空间,又需要降低存储系统的成本。面对这种需求,需要使用大量的普通服务器构建大容量的存储系统,图1-图3的块访问不适于分布式访问。上述图1-图3为通过文件系统或数据系统访问块设备,下面的图4-6为针对云计算的大容量低成本需求提供的一种并行网络文件系统(PNFS),即用户以文件系统接口的方式访问PNFS元数据服务器获取元数据,然后再从分布存储的设备(文件存储服务器)以块接口或文件系统接口访问数据,以利用分布化的资源提高系统的可扩展性和性能。其他如LustreFS等分布式文件系统也都使用了类似的架构。在图4中,元数据服务器的文件系统层存储文件描述符和数据位置信息(块编号)的对应表,其中,图4的分布式系统中,不是特别强调块的概念,数据位置信息需有文件存储节点信息和端口号,用户根据数据位置信息去访问对应的文件存储节点,文件存储节点根据文件名或块ID找到文件或数据块,图5和图6为图4所示系统对应的读写访问控制流程图。图5和图6中分布式文件系统的客户端采用与图1-图3的文件系统不同的操作,它可以感知文件系统的分布式,并至少有元数据服务器的访问方式,关于文件创建、打开、关闭等操作,都是通过元数据服务器进行的操作,它承担的功能基本可以类比本机文件系统的文件系统层,两者之间是通过网络传送的操作消息。如图5,客户应用以文件系统接口方式向元数据服务器发送文件打开访问请求,元数据服务器的文件系统根据访问请求中的文件描述符找到对应的数据位置信息,并返回客户应用,客户应用即可根据数据位置信息读取对应的文件存储节点。如图6,客户应用以文件系统接口方式向元数据服务器发送创建文件请求,元数据服务器的文件系统创建对应的文件描述符,当客户应用写操作访问时,根据写操作访问中文件描述符分配指定的存储空间返回客户应用,分配空间时包括指定存储节点及数据描述标识。客户应用根据指定分配空间找到对应的存储节点,并对文件存储节点进行写入操作。元数据服务器节点在分配空间或返回数据位置信息时,会指定用户数据的存储节点,和数据的描述标识,其中数据描述标识通常是一个数据位置的地址或者是数据编号。具体的用户数据读写操作是发生在存储节点上的,这些具体的分块的数据类似于单机文件系统的块,但在不同的实现中可能是存储节点上的一些文件或某些集中块存储设备上的块。在实现本发明过程中,发明人发现现有分布式文件系统每次访问需要一次或多次通过元数据服务器进行寻址,然后访问存储节点,元数据服务器成为系统的瓶颈。

发明内容
本发明的第一目的是提出一种数据访问方法,以减少现有技术通过元数据服务器寻址的访问开销。本发明的第二目的是提出一种客户节点,以减少现有技术通过元数据服务器寻址的访问开销。本发明的第三目的是提出一种存储控制节点,以减少现有技术通过元数据服务器寻址的访问开销。本发明的第四目的是提出一种数据存储系统,以实现提高访问效率。为实现上述第一目的,根据本发明的一个方面,提供了一种数据访问方法,包括接收包含块编号标识的访问请求;预建立的本地块单元根据块编号标识查找本地块单元的块编号与提供存储服务的存储节点资源信息的对应关系,获得块编号标识对应的存储节点位置以及块数据标识;本地块单元根据块编号标识对应的存储节点位置以及块数据标识,向存储节点发送块数据访问请求;其中,存储节点资源信息包括提供存储服务的存储节点位置信息及存储节点的块数据标识。优选地,接收包含块编号标识的访问请求之前还可以包括向控制节点发送包含存储容量大小的块数据开通请求;接收控制节点根据存储节点的存储资源状态信息和/或发送块数据开通请求的客户节点位置信息,分配存储容量大小对应的存储节点资源信息;根据存储节点资源信息建立本地块设备单元。
优选地,接收包含块编号标识的访问请求之前还可以包括通过块设备接口接收直接的包含块编号标识的访问请求和/或通过文件/数据库系统接口接收文件名/表数据访问请求,解析文件名或表数据对应的块编号标识。优选地。本地块单元为提供分布式存储服务的虚拟本地块设备驱动或者为提供应用服务的虚拟机。为实现上述第二目的,根据本发明的另一个方面,提供了一种客户节点,包括一至多个本地块单元,其中,本地块单元包括接口模块,用于接收包含块编号标识的访问请求;存储模块,用于存储本地块单元的块编号与提供存储服务的存储节点资源信息的对应关系;存储节点资源信息包括提供存储服务的存储节点信息、存储节点的块数据标识;处理模块,用于根据块编号标识查找存储单元,获得块编号标识对应的存储节点位置以及块数据标识,通过接口模块向存储节点发送块数据访问请求。为实现上述第三目的,根据本发明的另一个方面,提供了一种存储控制节点,包括接口模块,用于接收块数据开通/释放请求;控制模块,用于根据一至多个存储节点的存储资源状态信息和/或接收的块数据开通请求的客户节点位置信息,分配对应的存储节点资源信息;或者根据块数据释放请求释放对应的存储节点资源信息;存储模块,用于存储一至多个存储节点已分配的存储节点资源信息;其中,存储节点资源信息包括存储节点信息及存储节点的块数据标识。为实现上述第四目的,根据本发明的另一个方面,提供了一种数据存储系统,包括第二目的的客户节点以及第三目的的存储控制节点。本发明各实施例的数据访问方法、装置和系统,由于提供更底层的本地块单元,由本地块单元存储块编号与预先分配的存储节点资源信息的对应关系,因此在进行数据访问时,不需要通过现有技术中的元数据服务器等进行寻址,因此不存在性能瓶颈,可以大大减少访问开销,提高了访问效率。本发明还有些实施例在使用时可以自己根据应用选择直接使用块设备接口或创建自己的文件系统接口访问本地块单元,因此具有更好的系统可扩展性。本发明中的本地块单元可以应用到虚拟机,用户只能访问分配的存储资源,对于公共服务的多租户隔离能力更强,安全性更高。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。


附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中图1为根据现有技术中的块设备和文件系统、数据库系统的逻辑关系图;图2为针对图1的读访问操作流程图;图3为针对图1的写访问操作流程图4为根据现有技术中的并行网络文件系统(pNFS)的逻辑关系图;图5为针对图4的读访问操作流程图;图6为针对图4的写访问操作流程图;图7为根据本发明数据访问方法实施例一流程图;图8为根据本发明数据访问方法实施例二流程图;图9为根据本发明数据访问方法的解析示意图,以及本发明的数据存储系统结构示意图;图10为针对图9的数据资源申请开通/释放流程示意图;图11为本发明数据访问方法中访问过程实施例示意图;图12为针对图11的读访问操作流程图;图13为针对图11的写访问操作流程图;图14为根据本发明存储控制装置实施例示意图;图15为根据本发明客户节点实施例示意图。
具体实施例方式以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。方法实施例图7为根据本发明数据访问方法实施例一流程图,如图7所示,本实施例包括步骤S102 接收包含块编号标识的访问请求;步骤S104 预建立的本地块单元根据块编号标识查找本地块单元的块编号与提供存储服务的存储节点资源信息的对应关系,获得块编号标识对应的存储节点位置以及块数据标识;其中,存储节点资源信息包括提供存储服务的存储节点位置信息及该存储节点的块数据标识;本实施例中的本地块单元可以通过向一控制节点申请块数据,从而获得能提供服务器的存储节点资源信息,并预先根据申请的块数据建立一个本地块单元,如提供分布式存储服务的虚拟本地块设备驱动提供给应用程序使用,应用程序根据该单元可以进行后续的数据访问;步骤S106 本地块单元根据块编号标识对应的存储节点位置以及块数据标识,向该存储节点发送块数据访问请求。由于本地块单元存储有一至多个存储节点资源信息,则可以根据各存储资源信息中的存储节点位置和块数据标识进行数据访问,存储节点也可以根据块数据标识区分来自不同客户节点的访问,具体可参见后续的图9实施例。本实施例由于提供更底层的本地块单元,由本地块单元存储块编号与预先分配的存储节点资源信息的对应关系,因此在进行数据访问时,不需要通过现有技术中的元数据服务器等进行寻址,因此不存在性能瓶颈,可以大大减少访问开销,提高了访问效率。图8为根据本发明数据访问方法实施例二流程图,如图8所示,本实施例包括步骤S202 如图9所示,客户节点向控制节点发送包含存储容量大小的块数据开通/释放请求;
步骤S204 存储控制节点(也称管理节点或控制节点)监控各存储节点的资源使用状态,根据客户节点申请的分配空间,以及各存储节点的资源状态信息,分配给客户节点一至多个存储节点的资源,包括存储节点位置信息(地址/端口号)、块数据标识等;管理节点还可以进一步根据发送该请求的客户节点的位置,分配较近的存储节点资源信息给客户节点;管理节点也可以结合客户节点位置以及存储节点的资源状态,分配一至多个存储节点资源给客户节点;步骤S206 客户节点获取存储节点资源信息;步骤S208 根据存储节点资源信息创建为一个本地块设备驱动;步骤S210 客户节点可以直接通过标准的块设备接口访问指令对本地块设备驱动访问,并映射成对存储节点的访问;还可以自己创建文件系统或数据库系统,并通过文件系统接口或者数据库系统接口将文件名或表数据进行解析,获得本地块设备驱动对应的块编号标识,进一步由本地块设备驱动映射成对某个存储节点的访问。本实施例综合了集中式访问和分布式访问的优点,能访问到块数据且访问容量大,客户节点通过控制节点获得的分配空间并对应增加本地块设备驱动,用户在使用时可以根据应用选择直接使用块设备或创建自己的本地文件系统,因此具有更好的系统可扩展性。本实施例采用增加的本地块设备驱动,不用到元数据服务器中查找,因此不存在性能瓶颈。本实施例还可以应用到虚拟机,用户只能访问分配的存储资源,对于公共服务的多租户隔离能力更强,安全性更高。图9为根据本发明数据访问方法的解析示意图,以及本发明的数据存储系统结构示意图。如图9所示的数据存储系统包括存储控制节点和客户节点,控制节点是逻辑上的集中管理节点,对外提供一个可以用于申请、释放块数据的接口,并可以进行全局的、集中的、可靠的管理控制,提供与客户节点的应用接口,控制各存储节点的存储资源状态;存储节点(也可以称为服务节点),主要用于进行具体的块数据的分配和提供存储服务,当控制节点将某个存储节点的存储资源分配给客户节点后,存储节点可以不经过控制节点直接将该节点上的存储资源提供给用户使用。如图9,物理部署上,控制节点不一定是一个单一的或独立的节点,可以是一个集群,甚至复用部分存储节点,位于存储节点内执行存储管理控制的功能。而存储节点对应于每一个提供块设备服务的拥有磁盘空间的物理服务器。控制节点接收并处理用户申请、释放块设备、调整块设备大小的操作;存储节点存储用户数据,执行数据块的增加、删除、获取、修改等操作。下面通过图10-13对数据分配、访问过程进行详细说明。图10为针对图9的数据资源申请开通/释放流程示意图,如图10所示,数据存储资源申请/释放流程发生在客户节点和控制节点之间,包括步骤1 客户节点可以申请指定大小的块设备,如向控制节点发送包含指定存储容量的块数据开通请求;步骤2 控制节点接收到开通请求之前会检查各存储节点的可用空间以及有效状态等资源使用情况,可以主动监测或各存储节点上报;
步骤3 控制节点由于已经存储各节点的资源使用情况,根据存储节点的存储资源状态以及客户节点的位置、请求的存储容量空间大小等信息,在存储节点上分配空间,将分配的存储空间提供给客户节点使用,为了达到高可用性,控制节点可以分配多个存储节点的资源给同一个客户作为冗余。为了避免后续空间被占用,控制节点可以在分配后预先发送存储节点,使其预留相应的空间大小;如客户节点请求2G的空间,管理节点根据各存储节点资源使用情况,分配存储节点1,端口号5,分配块数据标识1ν0(对应存储节点1上的块数据1-10000);存储节点2,端口号4,分配块数据标识lvl(对应存储节点2上的数据2000-12000) ;· · ·具体分配时可以根据情况分配多个冗余的存储节点给同一个客户节点。步骤4 控制节点将分配后的存储节点资源信息发送给客户节点,并且控制节点存储已分配给该客户节点的存储节点资源信息,例如存储节点标识、位置信息、空间大小、块数据区域标识等等;步骤5 客户节点根据返回的结果,包括存储节点地址、指定的具体服务的存储区域的标识,例如步骤3中分配的块数据对应的区域标识lvO、Ivl等,依据这些信息,服务的存储节点可以区分来自不同客户节点的访问,客户节点随后将这些存储节点的资源信息建立一个本地块设备驱动提供给应用程序使用,至此申请流程完成。控制节点管理每个存储节点确定可以存储的空间大小。本实施例仅以申请流程为例说明,具体地,在客户节点主动发起释放流程之前,这些存储资源对于用户来说始终是可以使用的。释放流程与申请类似,不再举例说明。图10构建成的本地块设备使用的架构如图11所示。在图9和图10申请开通了存储资源后,后续的资源的使用流程,如读和写等只发生在客户节点和提供服务的存储节点(服务节点)之间,与现有技术必须每次到元数据服务器中查找块设备所在的位置不同,本实施例不存在性能瓶颈。如图8实施例所描述的,图11中,客户节点在建立本地块单元后可以作为本地一块设备驱动,提供给应用程序使用,并可以直接对该本地块设备通过标准的块设备接口进行块编号访问或者通过创建文件系统、数据库系统等进行文件访问,因此具有更好的系统可扩展性。其中图11的本地块单元与上层之间可以是标准的块设备接口。本地块设备接收到块访问指令后可以进行排队等处理以提高访问效率,具体可参见后续图12,处理后的块访问指令由本地块单元映射为对应的存储节点访问,并发送到对应的存储节点。本实施例采用增加的本地块设备驱动进行映射访问,可以应用到虚拟机技术,如图11所示的系统可以为大云弹性计算服务的虚拟机提供可以永久存储、具有高可用性的块设备服务。现有技术中分布式文件系统的方式用户可以看到全局的其他资源,安全性和可靠性存在隐患。本发明提供的数据存储访问服务,用户只能访问分配的存储资源,无法看到全局的其他的存储资源状态,对于公共服务的多租户隔离能力更强,安全性和可靠性更高。现有技术虚拟机使用情况下,每个客户端虚拟机都只有一个磁盘,这个磁盘实际来自于“虚拟机镜像”文件,运行着客户操作系统,当虚拟机被实例销毁之后,所有存在磁盘上的数据就都不存在了。本发明提供数据存储服务后,虚拟机可以有若干个映射的本地块设备来使用,本发明提供的本地块设备与虚拟机镜像是独立的,与客户端实际运行的操作系统没有关系,即使虚拟机销毁后也会存在,并可以通过管理节点重新获得该块设备被用户的其他的虚拟机使用,甚至一个本地块设备可以被多个虚拟机同时使用,极大提高了服务质量。服务的本地块设备安装在提供虚拟机服务的主机(Host)或服务器上,将这个块设备直接提供给用户指定的虚拟机使用,虚拟机本身不需要任何变化、不需要安装驱动,就可以使用这个“本地”磁盘。本发明各实施例分配给用户的本地块设备可以允许用户充分自主定制,具有更好的灵活性。对于图11中如果客户节点对本地块单元不创建文件系统或数据库系统,直接进行块数据访问,则根据块编号标识根据本地块单元存储的块编号与存储节点资源信息的对应关系,映射为对某存储节点的块数据的访问,并返回访问结果,过程比较简单,在此不画图举例说明。为了与现有技术中的集中式和分布式文件系统访问进行对比,下面通过图12、图13中使用本发明的本地块设备进行文件访问的过程。图12为针对图11的读访问操作流程图,图13为针对图11的写访问操作流程图。如图12和图13实施例中,客户节点创建的文件系统存有文件描述符对应的块编号。通过文件系统进行数据访问时,客户节点的应用通过文件系统的文件名(描述符),获得对应的块编号,进而向本地块设备进行块数据访问,本地块设备驱动将此块数据映射为对应存储节点的块数据访问,从而返回数据结果。下面解释下文件描述符对应的块编号和本地块设备驱动映射的块数据标识的含义,文件描述符对应的块编号是本地块设备上的例如0x0500001这样的编号;块数据标识是存储节点上的其中某个块设备对应的标识,如lvO、IvU 1ν2。例如,用户通过文件描述符访问自己本地块设备上的0x0500001块编号时,根据本地块设备驱动存储的块编号与存储节点资源信息的对应关系,实际映射成访问存储节点,例如主机host07(地址)上的Ivl (块数据区域标识)上的0x50001。在进行写操作时,本地块设备驱动可以根据块编号发给所有分配给用户的存储节点,进行并行写操作。在读操作时,可以仅发给块编号对应的存储节点。相对比现有技术中,图12和图13客户应用在访问本地块设备驱动时,流程到达本地块设备驱动之前与图2和图3中的非分布式应用的场景类似,因此与传统应用兼容,但后续访问流程有所区别本地块设备驱动根据申请时得到的存储节点资源信息,将访问本地块设备映射到访问提供服务的存储节点,如图12和图13,本地块设备驱动接收到块数据访问后可以进行下面的处理,包括1.在到达预设访问数量或时间阈值前缓存块设备数据访问;2.对于缓存的块设备访问进行排序(如按照访问的块数据标识进行排序,便于提高访问相同存储节点的访问效率);3.根据用户访问的特点,判断是否需要预读部分用户未请求数据;如,根据用户访问历史获知进行连续性访问,则可以进行预读;用户访问如果是非连续性的,可以不预读数据;4.打包压缩块访问操作指令,根据申请时得到的信息,发送到对应到存储服务节点(读操作选择一个,写操作并发到多个服务节点)。本发明上述实施例相对于现有技术中的集中式文件,可以分布式的提供存储节点,本地块设备驱动根据预先的资源申请找到对应的存储节点;若存储节点仅为一个,则与客户节点的文件系统和本地块设备类似于现有集中式文件系统的功能,此时,客户节点本地块设备相当于一个转发器,转发到存储节点。上述各方法实施例具有如下优点1.与现有技术中分布式文件系统类的存储系统相比,现有技术分布式文件系统的文件系统层多了一个元数据服务器节点的网络访问过程,本发明却可以提供更底层的本地块设备访问接口,用户在使用时可以自己根据应用选择直接使用本地块设备驱动或创建自己的本地文件系统,提供灵活性的同时,也减少了文件系统层的开销。2.通过客户节点的映射,客户节点将块数据访问映射到一个或多个存储节点的物理存储资源上,访问过程中无需请求控制节点;控制节点的调度管理仅在分配资源和出现故障时发挥作用,因此,不存在性能瓶颈。3.与集中式的块设备相比,分布式体系架构具有更好的系统可扩展性,由于可以集中利用集群中闲置的存储空间,具有更好的资源利用率和更高的性价比。4.由于用户在使用存储资源时仅访问分配给用户的资源,其他存储资源的对用户来说不可见,对于多租户的隔离能力更强。如果控制节点分配多个存储节点资源信息给同一个客户节点作为冗余,通过映射得到的多个存储节点的的存储数据是一致的,存储节点中的若干个发生突然失效(故障)时,剩余有效存储节点的信息仍然是完整的可以提供服务。控制节点监测到存储节点失效后,可以根据之前已存储的各存储节点的资源使用情况,通知剩余有效节点,将相同存储数据的信息复制到新增的存储节点上,并将客户节点上的映射指向新的存储节点进行重新配置,达到高可用性。例如,控制节点存储的各客户节点的用户与存储节点的映射关系可如下表1所
不表1用户与存储节点(服务节点)的映射关系表
权利要求
1.一种数据访问方法,其特征在于,包括接收包含块编号标识的访问请求;预建立的本地块单元根据所述块编号标识查找所述本地块单元的块编号与提供存储服务的存储节点资源信息的对应关系,获得所述块编号标识对应的存储节点位置以及块数据标识;所述本地块单元根据所述块编号标识对应的存储节点位置以及块数据标识,向所述存储节点发送块数据访问请求;其中,所述存储节点资源信息包括提供存储服务的存储节点位置信息及所述存储节点的块数据标识。
2.根据权利要求1所述的数据访问方法,其特征在于,接收包含块编号标识的访问请求之前还包括向控制节点发送包含存储容量大小的块数据开通请求;接收所述控制节点根据存储节点的存储资源状态信息和/或发送所述块数据开通请求的客户节点位置信息,分配所述存储容量大小对应的存储节点资源信息;根据所述存储节点资源信息建立所述本地块单元。
3.根据权利要求1所述的数据访问方法,其特征在于,接收包含块编号标识的访问请求之前包括通过块设备接口接收包含块编号标识的访问请求;和/或通过文件/数据库系统接口接收文件名/表数据访问请求,所述文件/数据库系统接口解析所述文件名/表数据对应的块编号标识,向所述本地块单元发送包含所述块编号标识的访问请求。
4.根据权利要求1所述的数据访问方法,其特征在于,向所述存储节点发送块数据访问请求之前还包括对块数据访问请求进行预处理,所述预处理包括以下任意组合在所述块数据访问不大于预设访问数量或时间阈值时,缓存所述块数据访问;对块数据访问进行缓存及进行排序;根据块数据访问特点,确定是否预读未请求访问的块数据; 打包压缩所述块数据访问。
5.根据权利要求1-4任一项所述的数据访问方法,其特征在于,所述本地块单元为提供分布式存储服务的虚拟本地块设备驱动或为提供应用服务的虚拟机。
6.根据权利要求5所述的数据访问方法,其特征在于,还包括当所述虚拟机销毁后,向控制节点发送包含客户节点标识的存储节点资源信息的获取请求;接收所述控制节点根据所述客户节点标识返回的存储节点资源信息。
7.一种客户节点,其特征在于,包括一至多个本地块单元,其中,所述本地块单元包括接口模块,用于接收包含块编号标识的访问请求;存储模块,用于存储本地块单元的块编号与提供存储服务的存储节点资源信息的对应关系;所述存储节点资源信息包括提供存储服务的存储节点信息及所述存储节点的块数据标识;处理模块,用于根据所述块编号标识查找所述存储单元,获得所述块编号标识对应的存储节点位置以及块数据标识,向所述存储节点发送块数据访问请求。
8.根据权利要求7所述的客户节点,其特征在于,所述接口模块包括直接访问子模块,用于通过块设备接口接收包含块编号标识的访问请求;和/或系统访问子模块,用于通过文件/数据库系统接口接收文件名/表数据访问请求,解析所述文件名/表数据对应的块编号标识,向所述处理模块发送包含所述块编号标识的访问请求。
9.根据权利要求7或8所述的客户节点,其特征在于,所述处理模块还包括块访问处理子模块,用于对所述块数据访问进行预处理,所述预处理包括以下任意组合在所述块数据访问不大于预设访问数量或时间阈值时,缓存所述块数据访问;对缓存的所述块数据访问进行排序;根据块数据访问特点,确定是否预读未请求访问的块数据; 打包压缩所述块数据访问。
10.根据权利要求7或8所述的客户节点,其特征在于,所述本地块单元为提供分布式存储服务的虚拟本地块设备驱动或提供应用服务的虚拟机。
11.一种存储控制节点,其特征在于,包括接口模块,用于接收块数据开通/释放请求;控制模块,用于根据一至多个存储节点的存储资源状态信息和/或接收的所述块数据开通请求的客户节点位置信息,分配所述块数据开通请求对应的存储节点资源信息;或者根据所述块数据释放请求释放对应的存储节点资源信息;存储模块,用于存储一至多个存储节点已分配的存储节点资源信息;其中,所述存储节点资源信息包括存储节点信息及所述存储节点的块数据标识。
12.根据权利要求11所述的存储控制节点,其特征在于,还包括监测模块,用于监测到存储节点失效后,查找所述存储模块中与所述失效的存储节点有相同存储数据的有效存储节点,将所述有效存储节点的存储数据复制到新建立的存储节点ο
13.根据权利要求11所述的存储控制节点,其特征在于,所述存储模块还存储客户节点与已分配的存储节点资源信息的对应关系;所述接口模块进一步接收包含客户节点标识的获取请求;所述控制模块进一步根据所述客户节点标识从所述存储模块查找对以的存储节点资源信息,并返回所述接口模块。
14.根据权利要求11-13任一项所述的存储控制节点,其特征在于,位于客户节点和一至多个存储节点之间,或者位于所述存储节点上。
15.一种数据存储系统,其特征在于,包括权利要求7-10任一项所述的客户节点以及权利要求11-14任一项所述的存储控制节点。
全文摘要
本发明公开了一种数据访问方法、装置及系统,其中,该方法包括接收包含块编号标识的访问请求;预建立的本地块单元根据块编号标识查找本地块单元的块编号与提供存储服务的存储节点资源信息的对应关系,获得块编号标识对应的存储节点位置以及块数据标识;本地块单元根据块编号标识对应的存储节点位置以及块数据标识,向存储节点发送块数据访问请求;其中,存储节点资源信息包括提供存储服务的存储节点位置信息及存储节点的块数据标识。本发明可以解决现有分布式文件系统每次访问需要通过元数据服务器进行寻址,元数据服务器成为系统的瓶颈,访问效率低的缺陷。
文档编号H04L29/08GK102594852SQ201110005099
公开日2012年7月18日 申请日期2011年1月4日 优先权日2011年1月4日
发明者王旭, 罗治国 申请人:中国移动通信集团公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1