CN114281791B - 数据访问方法、***、设备及存储介质 - Google Patents
数据访问方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN114281791B CN114281791B CN202210217619.2A CN202210217619A CN114281791B CN 114281791 B CN114281791 B CN 114281791B CN 202210217619 A CN202210217619 A CN 202210217619A CN 114281791 B CN114281791 B CN 114281791B
- Authority
- CN
- China
- Prior art keywords
- data
- snapshot copy
- storage nodes
- file
- original
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供一种数据访问方法、***、设备及存储介质。在本申请实施例中,在原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取原快照副本的数据文件至多个存储节点的内存中,可提高存储节点读取原快照副本的数据文件效率;基于多个存储节点的内存中的数据文件,向实例提供待访问数据,可利用多个存储节点的内存缓存加速待访问数据的读取速度,降低数据访问延迟。调度多个存储节点基于内存中的数据文件,动态生成新快照副本供云盘引用。实例启动时可访问新的快照副本,对待访问数据的访问流量可分散到不同的快照副本上,可降低数据访问热点的出现概率,甚至可消除数据访问热点,有助于加快数据访问效率,降低数据访问延迟。
Description
技术领域
本申请涉及云计算技术领域,尤其涉及一种数据访问方法、***、设备及存储介质。
背景技术
弹性计算是云计算中的重要部分,例如,在当今的互联网应用中,业务流量波动非常剧烈,当这些应用运行在云计算平台上时,则对虚拟机(Virtual Machine,VM)的需求数量具有非常大的弹性波动,例如,当业务高峰到来的时候,需要在短时间内启动大量VM。
在短时间内启动大量VM,就需要并发完成对大量云盘的创建。快照数据副本可通过克隆链接的方式,批量克隆大量的云盘,使得本地集群的单快照副本在完全不发生数据搬运的情况下能够快速完成大批量云盘的创建。
然而,由于单本地快照数据副本作为数据源,被大量并发的虚拟机启动实例使用,造成单快照副本的数据读取热点的问题,进而造成快照副本数据读取延迟增大。
发明内容
本申请的多个方面提供一种数据访问方法、***、设备及存储介质,用以降低数据访问热点的出现概率,有助于降低数据访问延迟。
本申请实施例提供一种数据访问方法,包括:
获取实例发起的用于访问所述实例挂载的云盘的数据请求;
从所述数据请求中获取待访问数据的快照标识;
在所述快照标识对应的原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取所述原快照副本的数据文件至所述多个存储节点的内存中;
基于所述多个存储节点的内存中的数据文件,向所述实例提供所述待访问数据;
调度所述多个存储节点基于所述内存中的数据文件,生成所述快照标识对应的新快照副本;
将所述新快照副本的物理文件导入所述云盘,以供所述实例访问所述新快照副本。
本申请实施例还提供一种分布式存储***,包括:虚拟化服务节点、管控节点、块服务节点和存储节点;
所述虚拟化服务节点部署有实例;所述块服务节点设置有云盘;所述存储节点存储有实例启动所需的快照副本;
所述存储节点中的云盘挂载于所述实例;
所述实例在启动过程中,向所述云盘发送数据请求;
所述管控节点,用于:获取所述数据请求;从所述数据请求中获取待访问数据的快照标识;在所述快照标识对应的原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取所述原快照副本的数据文件至所述多个存储节点的内存中;所述实例从所述多个存储节点的内存中,读取所述待访问数据;
所述管控节点,还用于:调度所述多个存储节点基于所述内存中的数据文件,生成所述快照标识对应的新快照副本,以供所述实例访问所述新快照副本。
本申请实施例还提供一种计算设备,包括:存储器、处理器和通信组件;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器和所述通信组件,用于执行所述计算机程序以用于执行上述数据访问方法中的步骤。
本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行上述数据访问方法中的步骤。
在本申请实施例中,在原快照副本存在数据访问热点的情况下,可调度多个存储节点并发读取原快照副本的数据文件至多个存储节点的内存中,可提高存储节点读取原快照副本的数据文件效率;并基于多个存储节点的内存中的数据文件,向实例提供待访问数据,可利用多个存储节点的内存缓存加速待访问数据的读取速度,降低数据访问延迟。另一方面,调度多个存储节点基于内存中的数据文件,动态生成新快照副本供云盘引用。这样,实例启动时可访问新的快照副本,对待访问数据的访问流量可分散到不同的快照副本上,可降低数据访问热点的出现概率,甚至可消除数据访问热点,进而有助于加快数据访问效率,降低数据访问延迟。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为本申请实施例提供的分布式存储***的结构示意图;
图2为本申请实施例提供的逻辑段的物理文件的存储格式示意图;
图3为本申请实施例提供的存储逻辑单元的逻辑关系示意图;
图4为本申请实施例提供的逻辑段的写数据过程示意图;
图5为本申请实施例提供的云盘克隆过程示意图;
图6为本申请实施例提供的快照副本的存放形式示意图;
图7为本申请实施例提供的批量云盘克隆引用单快照副本的示意图;
图8a为本申请实施例提供的另一分布式存储***的结构示意图;
图8b为本申请实施例提供的多快照副本的数据逻辑引用示意图;
图9和图10为本申请实施例提供的逻辑地址空间分片示意图;
图11为本申请实施例提供的多快照副本的物理文件的引用关系示意图;
图12为本申请实施例提供的批量云盘克隆引用多快照副本的示意图;
图13为本申请实施例提供的分布式存储***进行多快照副本管理的示意图;
图14为本申请实施例提供的多快照副本的数据转换过程示意图;
图15为本申请实施例提供的数据访问方法的流程示意图;
图16为本申请实施例提供的计算设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
针对现有单快照副本的数据读取热点的技术问题,在本申请一些实施例中,在原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取原快照副本的数据文件至多个存储节点的内存中,可提高存储节点读取原快照副本的数据文件效率;基于多个存储节点的内存中的数据文件,向实例提供待访问数据,可利用多个存储节点的内存缓存加速待访问数据的读取速度,降低数据访问延迟。调度多个存储节点基于内存中的数据文件,动态生成新快照副本供云盘引用。实例启动时可访问新的快照副本,对待访问数据的访问流量可分散到不同的快照副本上,可降低数据访问热点的出现概率,甚至可消除数据访问热点,进而有助于加快数据访问效率,降低数据访问延迟。
以下结合附图,详细说明本申请各实施例提供的技术方案。
应注意到:相同的标号在下面的附图以及实施例中表示同一物体,因此,一旦某一物体在一个附图或实施例中被定义,则在随后的附图和实施例中不需要对其进行进一步讨论。
图1为本申请实施例提供的分布式存储***的逻辑架构示意图。如图1所示,分布式存储***包括:元数据服务集群10、块服务器11和分布式文件***12。该分布式存储***是基于日志结构的分布式块设备(Log Structured Block Device,LSBD) 。LSBD的数据的写入是追加的,并且对块设备写入数据的引用,不需要每次都将逻辑块的引用地址更新到磁盘,而是将读取的数据块索引累计到内存中达到一定程度,再将内存中部分更新的数据块的最新索引与已经存储的全量的索引进行异步更新归并,从而实现数据的高效读取。
在本实施例中,块服务器11部署有多个云盘。多个是指2个或2个以上。实际应用中,块服务器11上部署有成千上万个云盘。应用程序可对云盘进行读写。
分布式文件***12中的逻辑段为逻辑段的物理文件。逻辑段的物理文件可包括:索引文件(Index File)、数据文件(Data File)和日志文件(Txn File)等。这些文件可采用追加写的方式进行写文件。索引文件用于记录云盘的逻辑地址空间(Logical BlockAddress Range, LBA Range)和数据文件的物理地址空间之间的对应关系。数据文件负责存储逻辑段的数据,日志文件(Txn File)记录修改逻辑段的事物日志。应用程序可通过块服务器11访问分布式文件***12中相应的逻辑段(Device Segment),实现对云盘的访问。
在本申请实施例中,不限定逻辑段的物理文件的具体存储形式。在一些实施例中,逻辑段的物理文件可以纠删码进行存储,这样有助于提高分布式存储***的数据容错性,可在数据出现一定程度的损耗或丢失的情况下,对故障数据进行恢复。
图2示出了逻辑段的物理文件的存储格式。如图2所示,应用程序对数据文件的写入采取追加的方式,该文件的偏移一直递增,并且不能被覆盖。索引文件表示整个逻辑段的逻辑地址空间,在逻辑段加载时调入内存,给应用程序提供数据块的逻辑地址到数据块物理地址的转换,包括逻辑块地址所对应的数据文件及在数据文件的偏移地址,即数据文件偏移offset。通过索引文件实现回放操作,回放操作是按照索引文件的提供的地址,访问到相应的数据文件。
对于分布式文件***12中的逻辑段,如图3所示,多个逻辑段构成段组,多个段组构成逻辑存储单元(Logical Unit Number,LUN)。元数据服务器集群10可存储逻辑存储单元、逻辑段组及逻辑段之间的关系。云数据服务器还可存储逻辑段(Device Segment)的元数据,如逻辑段的大小等配置信息。
每个块服务器11可在对应的元数据服务器中获得相应的逻辑段的元数据,以及每个块服务器11可以访问的逻辑段。每个块服务器11可访问的逻辑段可以是一个或多个逻辑段。
下面结合图4对逻辑段的写数据过程进行示例性说明。如图4所示,针对应用程序发起的写请求,可将写请求携带的应用程序数据以数据块的形式写入到数据文件中。在日志文件(Txn File)中记录写入数据块的事务日志(Transaction Log)。进一步,可将新写入的数据块的逻辑地址空间(LBA Range)与物理地址区间之间的对应关系更新到索引文件中。该索引文件在数据块读取时,可调入内存中,即调入图4中内存中的压缩映射表中。内存中的索引文件提供数据块的逻辑地址到数据块物理地址的转换。内存中的索引文件可根据数据读取需求实现换入换出。
在云计算领域,应用运行在云计算平台上,对实例的需求是弹性波动的。例如,在业务高峰期,需要在短时间启动大量实例。在本申请实施例中,实例是指等同于一台虚拟服务器,可提供CPU、内存、网络配置、磁盘等基础的组件,其具体性能指标包括实例vCPU核数、内存大小、网络性能等。在本实施例中,不限定实例的具体实现形态。可选地,实例可实现为虚拟机、容器或容器组等。其中,容器组可实现为pod形式。
在短时间内启动大量实例,就需要并发完成对大量云盘的创建。在图5中,弹性云服务(ECS)可提供虚拟化服务,为用户提供应用程序运行所需的虚拟实例。图5中仅以实例为QEMU类型的虚拟机或KVM类型的虚拟机进行图示,但不构成限定。块存储后端是指弹性云服务的后端处理逻辑的实现。该块存储后端可用于云盘的克隆、快照副本数据的存储等等。在图5中,块存储后端可包括:云数据服务器、快服务节点以及部署分布式文件***的存储节点等。其中,块服务节点可部署至少一个云盘,并挂载于虚拟机上,即图5所示的存储接入至虚拟机。如图5所示,虚拟机还可通过元数据服务器对块服务节点进行存储管控等等。
图5示出了本地快照副本克隆云盘的主要过程。如图5所示,在完成本地快照创建后,通过硬链接(Hardlink)的方式将与云盘共享数据的本地快照导出到云盘外的本集群存储,得到原快照副本(对应图5中的步骤1)。在使用本地快照进行批量创建云盘时,新克隆的批量云盘的数据直接使用本地快照副本进行创建引用。如图5所示,可通过Hardlink方式将原快照副本的数据导入新克隆的云盘,实现新克隆的批量云盘对原快照副本的数据的引用(对应图5中的步骤2),从而实现批量云盘对单一快照副本(原快照副本)的数据文件共享。在完成对新克隆云盘进行的快照副本的数据导入之后,云盘克隆操作完成。实例可对新克隆的云盘进行数据读取(对应图5中的步骤3),实现实例启动。
本地快照数据在分布式文件***的存储格式如图6所示。如图6所示,本地快照数据创建完成后,快照关联的数据文件通过Hardlink方式独立导出并存放在独立的快照副本数据目录sf/dev_xxx/sixxx/(对应图6中的步骤1)。同时,在快照副本表中存放有该快照的关联引用及记录。例如,图6中快照副本表中存放有快照ID1对应的快照副本的引用次数。
云盘的克隆过程直接通过Hardlink的导入方式,即通过Hardlink方式将原快照副本的物理文件导入至新克隆的云盘,保持新克隆的云盘对该数据文件的引用(对应图6中的步骤2)。快照副本的数据文件可为1个或多个。图6仅以快照副本的数据文件为2个进行图示,但不构成限定。快照数据目录还可记录快照副本的清单(Manifest)。清单用于记录快照副本的元数据信息等。
在快照数据目录中还存储有快照副本的索引文件。该索引文件记录有数据文件的逻辑地址到物理地址之间的对应关系。如图6所示,存在2块云盘使用本地快照副本进行快速克隆,所以快照副本表中该快照副本对应的快照ID的引用数量为2。
从图6的物理的数据的引用关系可以看出,快照副本及响应的数据块实际通过Hardlink的方式被多个云盘所共享的。随着,批量克隆的云盘的数据量的增多,单一快照副本的数据文件的引用也会增加,快照副本表中该快照副本的引用计数也会增加,最终实现了单一本地快照副本对多个云盘的批量克隆支持。
通过以上的本地快照克隆的过程可以看出,现有的快照克隆方式,通过共享单一快照副本的数据文件的方式来完成,多个云盘的克隆过程实际共享同一快照副本的物理文件。对快照副本的数据文件的访问,在分布式文件***,通过读取数据文件逻辑地址对应的数据块来完成的数据读取的。
如图7所示,数据文件Data File1、Data File2及Data File3在分布式文件***中实际共享相同的数据块,云盘Device1及Device2的数据文件Data File2及Data File3实际上通过增加硬连接Hardlink的引用数来共享分布式文件***中数据文件Data File1的数据块(即数据块#1、数据块#2和数据块#3)。
在图7中,由于批量克隆的多个云盘共享相同的数据文件,并且批量拉起的多个实例更容易采用相同的数据访问模式,导致多个实例的数据请求极易调度到同一个块服务器,导致对数据文件的数据请求在块服务器的读请求队列中处于等待状态。例如,如图7所示,对于数据块#1及数据块#3的读取请求排队访问。随着共享同一数据文件的云盘的数量增多,数据请求的队列深度增加,造成单点数据访问的延迟增加,从而造成数据访问的热点问题。
为了解决单一快照副本进行批量云盘克隆所造成的数据热点问题,降低因数据共享造成的数据访问延迟,在本申请实施例中提供一种动态派生快照副本的数据访问方式,下面结合具体实施例对本申请实施例提供的数据访问方式进行示例性说明。
图8a为本申请实施例提供的另一分布式存储***的结构示意图。如图8a所示,该分布式存储***包括:虚拟化服务节点20、管控节点21、块服务节点22和存储节点23。
其中,虚拟化服务节点20可提供弹性云服务,可根据实际应用需求,动态创建或缩减实例。在本实施例中,虚拟化服务节点20部署有实例,如虚拟机、容器或容器组等。其中,关于实例的创建过程可参见上述实施例的相关内容,在此不再赘述。虚拟化服务节点20可实现为弹性云服务中的计算节点等等。
在本申请实施例中,管控节点21、块服务节点22和存储节点23共同构成了弹性云服务的块存储后端。其中,存储节点23存储有实例启动所需的快照副本。对于存储节点23存储的原始快照副本可预先从镜像中心下载到存储节点23中进行存储,得到本地快照副本。
启动大量实例需要并发完成大量云盘的创建。块服务节点22可设置云盘。如图8a中的云盘1-3。云盘在创建完成后可挂载于实例。实例可对云盘进行数据访问获取实例启动所需的快照副本。在本申请实施例中,块服务节点22和存储节点23可实现为同一类型的物理机,也可实现为不同类型的物理机等等。块服务节点22和存储节点23也可实现为同一物理机。即该物理机上既可设置云盘,也可作为存储节点存储快照副本。
上述云盘的克隆过程可分为:云盘创建过程和快照数据导入过程。对于新创建的云盘,尚未完成快照副本数据导入已挂载于实例上,实例即可访问云盘。相应地,实例在启动过程中,可向该实例挂载的云盘发起数据请求。
对于数据请求所需的待访问数据,管控节点21可采用延迟加载方式调度块服务节点22进行数据加载,并把加载的数据提供给实例供实例进行启动。其中,延迟加载也可称为懒加载,可实现按需加载。延迟加载主要是指当在真正需要数据的时,才真正执行数据加载操作,可用于避免一些无谓的性能开销,达到节约内存资源,提高数据加载速度的目的。
由于云盘尚未导入快照副本数据,因此,管控节点21需对云盘进行快照副本数据导入。本申请实施例中,对于快照副本数据可采用延迟加载方式,即当实例访问快照副本数据时,才将快照副本数据导入云盘。如图8b所示,在快照副本数据导入云盘之前,云盘的索引文件指向快照副本数据的逻辑块地址(LBA)可标记为指定标识符。其中指示指定标识符可为-1等等。例如,图8b中逻辑块地址LBA#3、LBA#4和LBA#4标记为-1,用于标识延迟加载的逻辑块。
进一步,在快照副本数据导入云盘之后,将云盘的索引文件中指向快照副本数据的逻辑块地址修改为快照副本的数据文件的物理地址,进而实现云盘对快照副本的数据文件的引用。其中,图8b中逻辑块地址LBA#3、LBA#4和LBA#4是指云盘的索引文件中指向云盘启动所需的快照副本的数据文件的逻辑块地址。
在本申请实施例中,为了解决上述实施例中单一快照副本访问导致的数据访问热点问题,管控节点21可获取实例向云盘发送的数据请求;并从该数据请求中获取待访问数据对应的快照标识。其中,快照标识是指可唯一表示一个快照副本的信息。例如,快照标识可为快照ID、快照的编号等。
管控节点21可从存储节点23存储的快照副本中,获取快照标识对应的快照副本。该快照副本可定义为原快照副本。原快照副本的数量可为1个或多个。多个是指2个或2个以上。在本申请实施例中,为了解决大量云盘克隆访问同一快照副本导致的数据访问热点问题,管控节点21可先确定原快照副本的数据访问热点情况;并根据原快照副本的数据热点情况,决定是否动态派生新的快照副本。在本申请实施例中,不限定管控节点21确定原快照副本的数据访问热点情况的具体实施方式。下面结合几种可选实施方式进行示例性说明。
实施方式1:在一些实施例中,管控节点21可获取原快照副本的引用数量。其中,原快照副本的引用数据是指共享该原快照副本的物理文件的云盘的数量。其中,原快照副本的引用数量越多,说明同一时刻访问该原快照副本的并发量越多,容易造成数据访问热点的可能性越大。因此,可设置快照副本的引用数量阈值。相应地,可判断原快照副本的引用数量是否大于或等于该引用数量阈值,若判断结果为原快照副本的引用数量大于或等于该引用数量阈值,确定原快照副本存在数据访问热点。在本申请实施例中,不限定引用数量阈值的具体取值。在一些实施例中,可根据先验知识,设定引用数量阈值。在另一些实施例中,可通过压力测试确定引用数量阈值等等。
实施方式2:在云计算领域,可对云盘的性能进行监测。云盘的性能包括:云盘的数据读取时间延迟。其中,云盘的数据读取时间延迟可由接收到对该云盘的数据请求的时间,与从该云盘中读取到数据请求所需的数据的时间之间的时间差决定。其中,云盘的数据读取时间延迟越大,说明该云盘的数据热点问题越严重。相应地,管控节点21可获取引用原快照副本的云盘的数据读取时间延迟;并判断该数据读取时间延迟是否大于或等于设定的时间延迟阈值;若判断结果为是,则确定原快照副本存在数据访问热点问题。
上述实施方式1和2仅为示例性说明,并不构成限定。上述实施方式1和2可择一实施,也可结合进行实施。在实施方式1和2结合实施时,可在原快照副本的引用数量大于或等于该引用数量阈值,且引用原快照副本的云盘的数据读取时间延迟大于或等于设定的时间延迟阈值的情况下,确定原快照副本存在数据访问热点问题。当然,也可在判断结果存在是的情况下,确定原快照副本存在数据访问热点问题;等等。
在本申请实施例中,在原快照副本不存在数据访问热点的情况下,管控节点21可将原快照副本的数据导入实例访问的云盘,实现云盘与其它云盘共享原快照副本。相应地,管控节点21可将云盘的索引文件中指向原快照副本的数据文件的目标逻辑块地址,修改为原快照副本的数据文件的物理地址。
之后,实例可从云盘对应的原快照副本的数据中,读取待访问数据;并利用待访问数据启动实例。由于原快照副本的数据分布式存储于存储节点23中,对于存储节点23,可通过延迟加载(lazy load))方式从原快照副本的数据中,读取待访问数据;并将待访问数据提供给实例。实例可利用待访问数据进行启动。
相应地,在原快照副本存在数据访问热点的情况下,管控节点21可调度至少一个存储节点调度至少一个存储节点23读取原快照副本的数据文件至少一个存储节点23的内存中。管控节点21调度的存储节点的数量可为1个或多个。多个是指2个或2个以上。为了提高数据读取效率,管控节点21可调度多个存储节点23并发读取原快照副本的数据文件至多个存储节点23的内存中。
其中,管控节点21调度到的用于执行数据转换任务的存储节点可包括:存储原快照副本的存储节点,当然,也可不包括存储原快照副本的存储节点。
可选地,管控节点21可根据分布式存储***中存储节点23的任务负载情况,从分布式存储***的存储节点23中,选择任务负载率小于或等于设定的负载率阈值的至少一个存储节点;并调度选择出的至少一个存储节点并发读取原快照副本的数据文件至至少一个存储节点23的内存中。
在一些实施例中,管控节点21可根据原快照副本的索引文件,生成数据转换任务。该数据转换任务用于指示存储节点23将原快照副本的数据文件转换为新快照副本的数据文件。进一步,管控节点21可将数据转换任务提供给存储节点23。
对于存储节点23可执行数据转换任务;并在执行数据转换任务的过程中,读取原快照副本的数据文件至存储节点23的内存中。具体地,存储节点23可根据原快照副本的索引文件记录的原快照副本的逻辑地址空间与原快照副本的数据文件的物理地址空间之间的对应关系,从原快照副本的数据文件的物理地址空间,读取原快照副本的数据文件至存储节点23的内存中。可选地,为了提高数据加载效率,存储节点23可采用延迟加载方式从原快照副本的数据文件的物理地址空间,读取原快照副本的数据文件至存储节点23的内存中。
进一步,存储节点23可将原快照副本的数据文件写入新快照副本的数据文件。其中,新快照副本的数据文件存储于分布式文件***。进一步,可建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;并将该对应关系写入新快照副本的索引文件,得到新快照副本。其中,新快照副本的索引文件也存储于分布式文件***,并与新快照副本的数据文件构成分布式文件***的一个逻辑段。
在一些实施例中,为了提高生成新快照副本的速度,降低数据访问延迟,管控节点21可从原快照副本的索引文件中,获取原快照副本的逻辑地址空间;并将原快照副本的逻辑地址空间划分为多个逻辑空间分片(Shard)。多个是指2个或2个以上。在本申请实施例中,不限定管控节点21将原快照副本的逻辑地址空间划分为多个逻辑空间分片的具体实施方式。在一些实施例中,管控节点21可根据分布式存储***中可调度的存储节点的数量和原快照副本的数据量,将原快照副本的逻辑地址空间划分为多个逻辑空间分片。其中,分布式存储***中可调度的存储节点可为分布式存储***中的所有存储节点,也可为部分存储节点,具体是指可执行计算任务的存储节点,例如任务负载率小于等于设定的负载率阈值的存储节点等等。
可选地,管控节点21可根据分布式存储***中可调度的存储节点的数量和原快照副本的数据量,确定逻辑空间分片的地址范围。例如,假设可调度的存储节点的数量M个;原快照副本的数据量为N,则逻辑空间分片的地址范围为N/M。进一步,可将原快照副本的逻辑地址空间分为多个地址范围为N/M的逻辑空间分片。
在将原快照副本的逻辑地址空间划分为多个逻辑空间分片之后,管控节点21可调度多个存储节点,并发读取原快照副本中多个逻辑空间分片对应的数据块至多个存储节点23的内存中。其中,存储节点的数量可与逻辑空间分片的数量相同,也可大于或小于逻辑空间分片的数量。为了提高数据转换效率,存储节点的数量大于或等于逻辑空间分片的数量。其中,调度多个存储节点23并发读取原快照副本的数据文件,可将数据读取任务分散到多个存储节点上,有助于提高数据读取效率。
可选地,管控节点21可将多个逻辑空间分片划分至多个数据转换任务。数据转换任务的数量与逻辑空间分片的数量相同。每个数据转换任务用于指示将该数据转换任务对应的逻辑空间分片对应的数据转换为新快照副本的数据。进一步,管控节点21可调度多个存储节点23,并发执行数据转换任务。多个存储节点23可在并发执行数据转换任务的过程中,从原快照副本中,并发读取执行的数据转换任务对应的逻辑空间分片对应的数据块至各自的内存中。
进一步,针对任一用于执行读数据的存储节点23,可采用延迟加载方式从原快照副本的数据文件中,读取所执行的数据转换任务该存储节点23对应的逻辑空间分片对应的数据块。这样,可实现数据按需加载,有助于降低存储节点读数据时的内存消耗。
对于实例发起的访问请求,管控节点21可基于多个存储节点23的内存中的数据文件,向实例提供待访问数据。具体地,管控节点21可调度云盘所在的快服务节点从多个存储节点23的内存中的数据文件中,读取待访问数据;并将待访问数据提供给实例。实例可基于待访问实例进行启动。这样,块服务节点22在读取待访问数据时,可从多个存储节点23的内存缓存(cache)中读取待访问数据对应的至少部分数据块,而无需去分布式文件***对应的持久性存储介质中进行数据读取,可降低当前数据请求的访问延迟,进一步提高数据访问效率。
由于原快照副本存在数据访问热点,该实例重新启动或其它实例启动时,如果访问原快照副本依然会存在数据访问热点问题。基于此,本申请实施例除了为当前数据请求提供及时响应之外,还可动态派生新的快照副本。具体地,在管控节点21调度多个存储节点23并发读取原快照副本的数据文件之后,还可调度多个存储节点23基于多个存储节点23的内存中的数据文件,生成快照标识对应的新快照副本。
具体地,管控节点21可调度多个存储节点23将多个存储节点23的内存中的数据块并发写入新快照副本的数据文件中;并建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;之后,可将该对应关系写入新快照副本的索引文件,以得到新快照副本。
上述数据转换任务包括:读取原快照副本的数据文件至存储节点的内存中,以及基于内存中的数据文件,生成新快照副本等两个阶段。
在一些实施例中,如图9所示,管控节点21调度到的用于执行数据转换任务的存储节点的数量,与逻辑空间分片的数量相同。每个存储节点用于执行一个数据转换任务。相应地,每个数据转换任务对应的存储节点对该数据转换任务对应的逻辑空间分片具有读写权限。在该实施例中,针对任一逻辑空间分片,管控节点21可调度该逻辑空间分片对应的第一存储节点23执行数据转换任务。具体地,管控节点21可调度逻辑空间分片对应的第一存储节点23从原快照副本的数据文件中,读取该逻辑空间分片对应的数据块至第一存储节点23的内存中;并调度第一存储节点23将其内存中的数据块写入新快照副本的数据文件中。
在另一些实施例中,如图10所示,管控节点21调度到的用于执行数据转换任务的存储节点的数量,大于逻辑空间分片的数量。在该实施例中,针对多个逻辑空间分片,至少存在一个目标逻辑空间分片对应至少2个存储节点。目标逻辑空间分片是指调度到的存储节点的数量至少为2个存储节点的逻辑空间分片。例如,图10中逻辑空间分片0调度到的存储节点为2个,则逻辑空间分片0为目标逻辑空间分片。目标逻辑空间分片对应的存储节点对该目标逻辑空间分片具有读权限。但是,为了防止多个存储节点对目标逻辑空间分片的并发写操作,造成写数据冲突,可指定目标逻辑空间分片对应的至少2个存储节点中的某个存储节点,对目标逻辑空间分片具有写权限。对目标逻辑空间分片具有写权限的存储节点,定义为指定存储节点。例如,图10中,逻辑空间分片0的存储节点0对目标逻辑空间分片具有写权限,编号4的存储节点无写权限。
其中,指定存储节点可由管控节点21进行指定。可选地,管控节点21可从目标逻辑空间分片对应的至少2个存储节点中,任选一个存储节点作为指定存储节点。在本申请实施例中,为了便于描述和区分,将目标逻辑空间分片对应的至少2个存储节点定义为第二存储节点。第二存储节点的数量为至少2个。
针对目标逻辑空间分片,管控节点21可调度目标逻辑空间分片对应的第二个存储节点,从原快照副本的数据文件中,读取目标逻辑空间分片对应的数据块至第二存储节点的内存中;并调度指定存储节点将第二存储节点的内存中的数据块写入新快照副本的数据文件中。可选地,管控节点21可从目标逻辑空间分片对应的至少2个存储节点任选一个存储节点,并调度该存储节点从原快照副本的数据文件中读取目标逻辑空间分片对应的数据块。或者,管控节点21可根据目标逻辑空间分片对应的至少2个存储节点的任务负载情况,从目标逻辑空间分片对应的至少2个存储节点选择任务负载最小的目标存储节点;并调度目标存储节点从原快照副本的数据文件中读取目标逻辑空间分片对应的数据块等等。
对于管控节点21调度多个存储节点从原快照副本的数据文件中,并发读取逻辑空间分片对应的数据块至多个存储节点的内存中,并将内存中的数据块写入新快照副本的数据文件的步骤一直执行,直至原快照副本的数据文件中的数据读取完成,进而得到新快照副本的数据文件,实现将新快照副本的数据文件转换为新快照副本的数据文件。新快照副本的数据文件可存储至分布式文件***中。存储节点23可将读取到的数据块写入分布式文件***中的新快照副本的数据文件中,得到新快照副本的数据文件,实现将新快照副本的数据文件转换为新快照副本的数据文件。
对于管控节点21在存储节点23将原快照副本的数据文件转换为新快照副本的数据文件之后,可建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;并调度存储节点23将该对应关系写入新快照副本的索引文件,进而生成新快照副本。
具体地,管控节点21可调度任一存储节点23将新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系,写入新快照副本的索引文件。当然,管控节点21也可调度执行数据转换任务的存储节点23将上述对应关系,写入新快照副本的索引文件。如图11所示,新快照副本的索引文件与数据文件在分布式文件***中存储于同一逻辑段,与原快照副本的物理文件独立存储。分布式文件***对应的存储介质可由管控节点21调度到用于执行数据转换任务的多个存储节点23提供。
在图11中,新快照副本的索引文件与原快照副本的物理文件具有独立的快照数据目录。其中,原快照副本的物理文件的数据目录为sf/dev_xxx/sixxx/;新快照副本的索引文件的物理文件的快照数据目录为sf/dev_xxx/sixxx_1/。
在得到新快照副本之后,管控节点21可将新快照副本的物理文件导入实例访问的云盘。这样,可基于云盘对应的新快照副本的物理文件,向实例提供待访问数据。实例或者其它实例可从新快照副本的物理文件中,读取数据请求所需的待访问数据。这样,对待访问数据的访问流量可分散到不同的快照副本上,可降低数据访问热点的出现概率,甚至可消除数据访问热点,进而有助于加快数据访问效率,降低数据访问延迟。
在本申请实施例中,实例当前数据请求的访问与新快照副本的生成,可复用多个存储节点读取至内存中的数据文件,进而降低对分布式文件***所在集群的流量冲击。这是因为假设实例的数据请求和新快照副本的生成不复用多个存储节点读取至内存中的数据文件,而是独立从分布式文件***中读取原快照副本的数据文件,则在大批量实例启动时,对分布式文件***所在集群存在大量的访问流量。因此,本申请实施例前数据请求的访问与新快照副本的生成,可复用多个存储节点读取至内存中的数据文件,进而降低对分布式文件***所在集群的流量冲击。
针对生成的新快照副本,如图12所示,在新快照副本的物理文件导入云盘之后,云盘1和云盘2引用的数据文件,在分布式文件***层面实现为不同的数据文件。云盘1及云盘2引用的数据文件,在分布式文件***层面,实际派生为不同的独立的数据文件。例如图12中,云盘1和云盘2对数据块#1和数据块#3的数据请求,可分散到不同快照副本对应的数据文件1和数据文件2上,降低了单一快照副本的访问流量。相对于单快照副本的云盘克隆方式,批量克隆云盘的读取的压力被分散到不同的数据文件,从而降低了快照数据读取热点及数据读取的延迟。
在本申请实施例中,不限定管控节点21将新快照副本的物理文件导入云盘的具体实施方式。在一些实施例中,为了实现多个云盘共享新快照副本的物理文件,管控节点21可通过硬链接(hardlink)将新快照副本的物理文件导入云盘。
硬链接指的是一个文件的一个或多个文件名,是把文件名和计算机文件***使用的节点号链接起来。因此我们可以用多个文件名与同一个文件进行链接,这些文件名可以在同一目录或不同目录。一个文件有几个文件名,则该文件的链接数为几,例如,链接数是1的文件表示该文件只有一个文件名,通过硬链接可实现让多个不在或者在同在一个目录下的文件名,能够同时修改同一个文件,其中一个文件名所对应的文件被修改后,所有与其有硬链接关系的文件都可一起被修改。
在本实施例中,管控节点21可通过硬链接方式在云盘上针对新快照副本的数据文件设置目标文件名;并通过硬链接方式将云盘对应的目标文件名与新快照副本的数据文件进行链接,实现云盘对新快照副本的物理文件的引用,从而将新快照副本的数据导入云盘。这样,实例可从云盘对应的新快照副本的物理文件中,读取数据请求所需的待访问数据。
如图11所示,分布式文件***还可设置快照副本表,用于记录快照副本的关联引用及引用次数。其中,图11中,快照副本表中原快照副本(快照ID1)的引用次数为1;新快照副本的引用次数也为1。在图11中,快照副本表中,snapshot_meta表示快照的元数据;snapshot_copy_dir表示快照副本的路径信息。相应地,在将新快照副本的物理文件导入云盘之后,新快照副本的引用次数加1。
在本申请实施例中,如图8b所示,在快照副本数据导入云盘之前,云盘的索引文件中指向原快照副本的数据文件的目标逻辑块地址标记为指定标识符。例如,图8b中,图8b中逻辑块地址LBA#3、LBA#4和LBA#4标记为-1,用于标识延迟加载的逻辑块。
相应地,在将新快照副本的物理文件导入云盘之后,管控节点21还可将云盘的索引文件中目标逻辑块地址修改为指向新快照副本的数据文件的物理地址空间。可选地,管控节点21可调度云盘所在的块服务节点22将云盘的索引文件中目标逻辑块地址修改为指向新快照副本的数据文件的物理地址空间。例如,图8b中,在将新快照副本的物理文件导入云盘之后,逻辑块地址LBA#3、LBA#4和LBA#4修改为指向新快照副本的数据文件X的物理地址空间。这样,管控节点21在新快照副本的物理文件导入云盘之后,实例可从云盘对应的新快照副本的物理文件中,读取数据请求所需的待访问数据。
具体地,管控节点21可将实例发送的数据请求调度至云盘所在的块服务节点22。块服务节点22可基于云盘对应的新快照副本的物理文件,读取数据请求所需的待访问数据。具体地,块服务节点22可确定待访问数据对应的数据块的逻辑地址;并根据数据块的逻辑地址查询新快照副本的索引文件,得到数据块的逻辑地址对应的物理地址;进一步,可根据数据块的物理地址,从新快照副本的数据文件中读取数据块,直至待访问数据读取完成。进一步,块服务节点22可将待访问数据提供给实例。实例可利用待访问数据进行实例启动。
在本申请实施例中,图8a虚拟化服务节点20可提供弹性云服务,可根据实际应用需求,动态创建或缩减实例。在本申请实施例中,管控节点21、块服务节点22和存储节点23共同构成了弹性云服务的块存储后端。下面从本申请实施例提供的分布式存储***的逻辑架构,对本申请实施例提供的数据访问方式进行示例性说明。
图13为本申请实施例提供的分布式存储***的逻辑架构示意图。图14为本申请实施例提供的逻辑架构图中各组件之间在实例对新创建的云盘访问时的流程交互示意图。结合图13和图14,快照副本管理模块和快照数据导入模块可部署于管控节点21;云盘设置于块服务节点22;快照服务模块部署于存储节点23。其中,如图14所示,从逻辑功能上,快照服务模块可分为数据延迟加载模块和快照数据转换模块。下面结合分布式存储***的逻辑架构对本申请实施例提供的数据访问方式进行示例性说明。
结合图13和图14,针对原快照副本,快照副本管理模块可将原快照副本的逻辑地址空间划分为多个逻辑空间分片(Shard)。关于将原快照副本的逻辑地址空间划分为多个逻辑空间分片的具体实施方式,可参见上述实施例的相关内容,在此不再赘述。之后,快照副本管理模块可将多个逻辑空间分片划分至多个数据转换任务;并调度多个存储节点23并发执行多个数据转换任务。
针对任一存储节点23,针对任一用于执行读数据的存储节点23,其快照延迟加载模块可启动延迟加载任务;快照数据转换模块可采用延迟加载方式加载原快照副本的数据文件,并将读取的数据文件存储至存储节点23的内存缓存中。管控节点21还可触发多个存储节点23并发执行数据转换任务。具体地,快照数据转换模块可优先从存储节点23的内存缓存中读取原快照副本的有效数据块。其中,原快照副本的有效数据块是指实例启动所需的数据块。进一步,快照数据转换模块可将读取到的有效数据块写入新快照副本对应的数据文件中,实现读取到的有效数据块的数据转换。对于未在内存缓存中读取到的数据块,快照数据转换模块可采用延迟加载方式从原快照副本的数据文件中,读取所执行的数据转换任务对应的逻辑空间分片对应的数据块;并将读取到的数据块写入到新快照副本对应的数据文件中,实现读取到的数据块的数据转换。
对于快照数据转换模块读取目标逻辑空间分片对应的数据块,并将读取的数据块写入新快照副本的数据文件的步骤一直执行,直至原快照副本的数据文件中的数据读取完成,进而得到新快照副本的数据文件,实现将新快照副本的数据文件转换为新快照副本的数据文件。快照副本管理模块可查询数据转换任务的任务状态,在数据转换任务的任务状态均为执行完成的情况下,说明原快照副本的数据文件中的数据读取完成。
快照副本管理模块在将原快照副本的数据文件转换为新快照副本的数据文件之后,可建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;并调度存储节点将该对应关系写入新快照副本的索引文件,进而生成新快照副本。
在得到新快照副本之后,快照数据导入模块可将新快照副本的物理文件导入实例访问的云盘。这样,可基于云盘对应的新快照副本的物理文件,向实例提供待访问数据。实例可从云盘对应的新快照副本的物理文件中,读取数据请求所需的待访问数据。
在本申请实施例中,为了进一步提高数据访问效率,降低数据访问延迟,更好地解决数据访问热点问题,在本申请一些实施例中,对于管控节点调度到用于执行数据转换任务的多个存储节点,快照数据转换模块还可将读取到的数据块写入存储节点的内存中,这样,块服务节点在读取待访问数据时,可从多个存储节点的内存缓存(cache)中读取待访问数据对应的至少部分数据块,而无需去分布式文件***对应的持久性存储介质中进行数据读取,可进一步提高数据访问效率。其中,快照服务节点可采用延迟加载方式从多个存储节点的内存缓存(cache)中读取待访问数据对应的至少部分数据块。
除了上述实施例提供的分布式存储***之外,本申请实施例还提供数据访问方法,下面对本申请实施例提供的数据访问方法进行示例性说明。
图15为本申请实施例提供的数据访问方法的流程示意图。如图15所示,该数据访问方法包括:
501、获取实例发起的用于访问实例挂载的云盘的数据请求。
502、从数据请求中获取待访问数据的快照标识。
503、在快照标识对应的原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取原快照副本的数据文件至多个存储节点的内存中。
504、基于多个存储节点的内存中的数据文件,向实例提供待访问数据。
505、调度多个存储节点基于内存中的数据文件,生成快照标识对应的新快照副本。
506、将新快照副本的物理文件导入云盘,以供实例访问新快照副本。
在本申请实施例中,云盘的克隆过程可分为:云盘创建过程和快照数据导入过程。对于新创建的云盘,尚未完成快照副本数据导入已挂载于实例上,实例即可访问云盘。相应地,实例在启动过程中,可向该实例挂载的云盘发起数据请求。
对于数据请求所需的待访问数据,可采用延迟加载方式调度块服务节点进行数据加载,并把加载的数据提供给实例供实例进行启动。由于云盘尚未导入快照副本数据,因此,需对云盘进行快照副本数据导入。本申请实施例中,对于快照副本数据可采用延迟加载方式,即当实例访问快照副本数据时,才将快照副本数据导入云盘。
在本申请实施例中,为了解决上述实施例中单一快照副本访问导致的数据访问热点问题,在步骤501中,可获取实例向云盘发送的数据请求;并在步骤502中,从该数据请求中获取待访问数据对应的快照标识。
进一步,可从存储节点存储的快照副本中,获取快照标识对应的快照副本。该快照副本可定义为原快照副本。原快照副本的数量可为1个或多个。多个是指2个或2个以上。在本申请实施例中,为了解决大量云盘克隆访问同一快照副本导致的数据访问热点问题,可先确定原快照副本的数据访问热点情况;并根据原快照副本的数据热点情况,决定是否动态派生新的快照副本。在本申请实施例中,不限定确定原快照副本的数据访问热点情况的具体实施方式。下面结合几种可选实施方式进行示例性说明。
实施方式1:在一些实施例中,可获取原快照副本的引用数量,并判断原快照副本的引用数量是否大于或等于该引用数量阈值,若判断结果为原快照副本的引用数量大于或等于该引用数量阈值,确定原快照副本存在数据访问热点。在本申请实施例中,不限定引用数量阈值的具体取值。在一些实施例中,可根据先验知识,设定引用数量阈值。在另一些实施例中,可通过压力测试确定引用数量阈值等等。
实施方式2:在云计算领域,可对云盘的性能进行监测。云盘的性能包括:云盘的数据读取时间延迟。其中,云盘的数据读取时间延迟可由接收到对该云盘的数据请求的时间,与从该云盘中读取到数据请求所需的数据的时间之间的时间差决定。其中,云盘的数据读取时间延迟越大,说明该云盘的数据热点问题越严重。相应地,可获取引用原快照副本的云盘的数据读取时间延迟;并判断该数据读取时间延迟是否大于或等于设定的时间延迟阈值;若判断结果为是,则确定原快照副本存在数据访问热点问题。
上述实施方式1和2仅为示例性说明,并不构成限定。上述实施方式1和2可择一实施,也可结合进行实施。在实施方式1和2结合实施时,可在原快照副本的引用数量大于或等于该引用数量阈值,且引用原快照副本的云盘的数据读取时间延迟大于或等于设定的时间延迟阈值的情况下,确定原快照副本存在数据访问热点问题。当然,也可在判断结果存在是的情况下,确定原快照副本存在数据访问热点问题;等等。
在本申请实施例中,在原快照副本不存在数据访问热点的情况下,可将原快照副本的数据导入实例访问的云盘,实现云盘与其它云盘共享原快照副本。相应地,可将云盘的索引文件中指向原快照副本的数据文件的目标逻辑块地址,修改为原快照副本的数据文件的物理地址。
之后,实例可从云盘对应的原快照副本的数据中,读取待访问数据;并利用待访问数据启动实例。由于原快照副本的数据分布式存储于存储节点中,对于存储节点,可采用延迟加载(lazy load))方式从原快照副本的数据中,读取待访问数据;并将待访问数据提供给实例。实例可利用待访问数据进行启动。
相应地,在原快照副本存在数据访问热点的情况下,在步骤503中,可调度多个存储节点并发读取原快照副本的数据文件至所述多个存储节点的内存中。
其中,管控节点调度到的用于执行数据转换任务的存储节点可包括:存储原快照副本的存储节点,当然,也可不包括存储原快照副本的存储节点。
可选地,可根据分布式存储***中存储节点的任务负载情况,从分布式存储***的存储节点中,选择任务负载率小于或等于设定的负载率阈值的多个存储节点;并调度选择出的多个存储节点将原快照副本的数据文件并发读取原快照副本的数据文件至多个存储节点的内存中。
在一些实施例中,可根据原快照副本的索引文件,生成数据转换任务。该数据转换任务用于指示存储节点将原快照副本的数据文件转换为新快照副本的数据文件。进一步,可调度存储节点执行数据转换任务。
具体地,可调度存储节点根据原快照副本的索引文件,读取原快照副本的数据文件至存储节点的内存中。进一步,可调度存储节点将内存中的数据文件写入新快照副本的数据文件。进一步,可建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;并调度存储节点将该对应关系写入新快照副本的索引文件,得到新快照副本。其中,新快照副本的索引文件也存储于分布式文件***,并与新快照副本的数据文件构成分布式文件***的一个逻辑段。
在一些实施例中,为了提高生成新快照副本的速度,降低数据访问延迟,可从原快照副本的索引文件中,获取原快照副本的逻辑地址空间;并将原快照副本的逻辑地址空间划分为多个逻辑空间分片(Shard)。多个是指2个或2个以上。
在本申请实施例中,不限定将原快照副本的逻辑地址空间划分为多个逻辑空间分片的具体实施方式。在一些实施例中,可根据分布式存储***中可调度的存储节点的数量和原快照副本的数据量,将原快照副本的逻辑地址空间划分为多个逻辑空间分片。其中,分布式存储***中可调度的存储节点可为分布式存储***中的所有存储节点,也可为部分存储节点,具体是指可执行计算任务的存储节点,例如任务负载率小于等于设定的负载率阈值的存储节点等等。
可选地,可根据分布式存储***中可调度的存储节点的数量和原快照副本的数据量,确定逻辑空间分片的地址范围。例如,假设可调度的存储节点的数量M个;原快照副本的数据量为N,则逻辑空间分片的地址范围为N/M。进一步,可将原快照副本的逻辑地址空间分为多个地址范围为N/M的逻辑空间分片。
在将原快照副本的逻辑地址空间划分为多个逻辑空间分片之后,可调度多个存储节点,并发读取原快照副本中多个逻辑空间分片对应的数据块至多个存储节点的内存中。其中,存储节点的数量可与逻辑空间分片的数量相同,也可大于或小于逻辑空间分片的数量。为了提高数据转换效率,存储节点的数量大于或等于逻辑空间分片的数量。其中,调度多个存储节点并发读取原快照副本的数据文件,可将数据读取任务分散到多个存储节点上,有助于提高数据读取效率。
可选地,可调用多个存储节点采用延迟加载方式,并发读取原快照副本中多个逻辑空间分片对应的数据块至多个存储节点的内存中。这样,可实现数据按需加载,有助于降低存储节点读数据时的内存消耗。
对于实例发起的访问请求,在步骤504中,可基于多个存储节点的内存中的数据文件,向实例提供待访问数据。具体地,可调度云盘所在的快服务节点从多个存储节点的内存中的数据文件中,读取待访问数据;并将待访问数据提供给实例。实例可基于待访问实例进行启动。这样,块服务节点在读取待访问数据时,可从多个存储节点的内存缓存(cache)中读取待访问数据对应的至少部分数据块,而无需去分布式文件***对应的持久性存储介质中进行数据读取,可降低当前数据请求的访问延迟,进一步提高数据访问效率。
由于原快照副本存在数据访问热点,该实例重新启动或其它实例启动时,如果访问原快照副本依然会存在数据访问热点问题。基于此,本申请实施例除了为当前数据请求提供及时响应之外,还可动态派生新的快照副本。具体地,在调度多个存储节点并发读取原快照副本的数据文件之后,在步骤505中,还可调度多个存储节点基于多个存储节点的内存中的数据文件,生成快照标识对应的新快照副本。
在本申请实施例中,步骤504和步骤505可并行执行,也可串行执行。在二者串行执行时,不限定步骤504和步骤505执行的先后顺序。优选地,步骤504和步骤505并行执行。
具体地,可调度多个存储节点将多个存储节点的内存中的数据块并发写入新快照副本的数据文件中;并建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;之后,可将该对应关系写入新快照副本的索引文件,以得到新快照副本。
在一些实施例中,调度到的用于执行数据转换任务的存储节点的数量,与逻辑空间分片的数量相同。每个存储节点用于执行一个数据转换任务。其中,上述数据转换任务包括:读取原快照副本的数据文件至存储节点的内存中,以及基于内存中的数据文件,生成新快照副本等两个阶段。
相应地,每个数据转换任务对应的存储节点对该数据转换任务对应的逻辑空间分片具有读写权限。在该实施例中,针对任一逻辑空间分片,可调度该逻辑空间分片对应的存储节点执行数据转换任务。具体地,可调度逻辑空间分片对应的第一存储节点从原快照副本的数据文件中,读取该逻辑空间分片对应的数据块至第一存储节点的内存中;并调度第一存储节点将内存中的数据块写入新快照副本的数据文件中。
在另一些实施例中,调度到的用于执行数据转换任务的存储节点的数量,大于逻辑空间分片的数量。在该实施例中,针对多个逻辑空间分片,至少存在一个目标逻辑空间分片对应至少2个存储节点。目标逻辑空间分片是指调度到的存储节点的数量至少为2个存储节点的逻辑空间分片。目标逻辑空间分片对应的存储节点对该目标逻辑空间分片具有读权限。但是,为了防止多个存储节点对目标逻辑空间分片的并发写操作,造成写数据冲突,可指定目标逻辑空间分片对应的至少2个存储节点中的某个存储节点,对目标逻辑空间分片具有写权限。对目标逻辑空间分片具有写权限的存储节点,定义为指定存储节点。关于指定存储节点的确定方式,可参见上述实施例的相关内容,在此不再赘述。
针对目标逻辑空间分片,可调度目标逻辑空间分片对应的第二存储节点,从原快照副本的数据文件中,读取目标逻辑空间分片对应的数据块至第二存储节点的内存中;并调度指定存储节点将第二存储节点的内存中的数据块写入新快照副本的数据文件中。关于读取目标逻辑空间分片对应的数据块的存储节点的确定方式,可参见上述实施例的相关内容,在此不再赘述。
对于调度多个存储节点从原快照副本的数据文件中,并发读取逻辑空间分片对应的数据块,并将内存中的数据块写入新快照副本的数据文件的步骤一直执行,直至原快照副本的数据文件中的数据读取完成,进而得到新快照副本的数据文件,实现将新快照副本的数据文件转换为新快照副本的数据文件。新快照副本的数据文件可存储至分布式文件***中。可调度存储节点将读取到的数据块写入分布式文件***中的新快照副本的数据文件中,得到新快照副本的数据文件,实现将新快照副本的数据文件转换为新快照副本的数据文件。
对于在存储节点将原快照副本的数据文件转换为新快照副本的数据文件之后,可建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;并调度存储节点将该对应关系写入新快照副本的索引文件,进而生成新快照副本。关于新快照副本的数据存储形式可参见上述实施例的相关内容,在此不再赘述。
在得到新快照副本之后,在步骤506中,可将新快照副本的物理文件导入实例访问的云盘。这样,可基于云盘对应的新快照副本的物理文件,向实例提供待访问数据。实例可从云盘对应的新快照副本的物理文件中,读取数据请求所需的待访问数据。其中,此处实例可为上述发起数据请求的实例,也可为其它实例。这样,对待访问数据的访问流量可分散到不同的快照副本上,可降低数据访问热点的出现概率,甚至可消除数据访问热点,进而有助于加快数据访问效率,降低数据访问延迟。
在本申请实施例中,实例当前数据请求的访问与新快照副本的生成,可复用多个存储节点读取至内存中的数据文件,进而降低对分布式文件***所在集群的流量冲击。这是因为假设实例的数据请求和新快照副本的生成不复用多个存储节点读取至内存中的数据文件,而是独立从分布式文件***中读取原快照副本的数据文件,则在大批量实例启动时,对分布式文件***所在集群存在大量的访问流量。因此,本申请实施例前数据请求的访问与新快照副本的生成,可复用多个存储节点读取至内存中的数据文件,进而降低对分布式文件***所在集群的流量冲击。
在本申请实施例中,不限定将新快照副本的物理文件导入云盘的具体实施方式。在一些实施例中,为了实现多个云盘共享新快照副本的物理文件,可通过硬链接(hardlink)将新快照副本的物理文件导入云盘。
在本申请实施例中,在快照副本数据导入云盘之前,云盘的索引文件中指向原快照副本的数据文件的目标逻辑块地址标记为指定标识符。相应地,在将新快照的副本文件导入云盘之后,还可将云盘的索引文件中目标逻辑块地址修改为指向新快照副本的数据文件的物理地址空间。可选地,可调度云盘所在的块服务节点将云盘的索引文件中目标逻辑块地址修改为指向新快照副本的数据文件的物理地址空间。这样,在新快照副本的物理文件导入云盘之后,实例可从云盘对应的新快照副本的物理文件中,读取数据请求所需的待访问数据。关于实例读取从云盘对应的新快照副本的物理文件中,读取数据请求所需的待访问数据的具体实施方式,可参见上述实施例的相关内容,在此不再赘述。
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤501和502的执行主体可以为设备A;又比如,步骤501的执行主体可以为设备A,步骤502的执行主体可以为设备B;等等。
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如504、505等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
相应地,本申请实施例还提供一种存储有计算机指令的计算机可读存储介质,当计算机指令被一个或多个处理器执行时,致使一个或多个处理器执行上述数据访问方法中的步骤。
图16为本申请实施例提供的计算设备的结构示意图。如图16所示,该计算设备包括:存储器60a、处理器60b和通信组件60c;其中,存储器60a,用于存储计算机程序。
处理器60b耦合至存储器60a和通信组件60c,用于执行计算机程序以用于:通过通信组件60c获取实例发起的用于访问实例挂载的云盘的数据请求;从数据请求中获取待访问数据的快照标识;在快照标识对应的原快照副本存在数据访问热点的情况下,在快照标识对应的原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取原快照副本的数据文件至多个存储节点的内存中;基于多个存储节点的内存中的数据文件,向实例提供待访问数据;调度多个存储节点基于内存中的数据文件,生成快照标识对应的新快照副本;将新快照副本的物理文件导入云盘,以供实例访问新快照副本。
处理器60b还用于执行以下至少一种判断操作:
获取引用原快照副本的云盘的数据读取时间延迟;判断数据读取时间延迟是否大于或等于设定的时间延迟阈值;
获取原快照副本的引用数量;判断原快照副本的引用数量是否大于或等于设定的引用数量阈值;
若至少一种判断操作的判断结果为是,确定原快照副本存在数据访问热点。
可选地,处理器60b在将新快照副本的物理文件导入云盘时,具体用于:通过硬链接方式将新快照副本的数据文件导入云盘。
可选地,处理器60b在调度多个存储节点并发读取原快照副本的数据文件至多个存储节点的内存中时,具体用于:从原快照副本的索引文件中,获取原快照副本的逻辑地址空间;将原快照副本的逻辑地址空间划分为多个逻辑空间分片;调度多个存储节点并发读取原快照副本中多个逻辑空间分片对应的数据块至多个存储节点的内存中。
可选地,处理器60b在调度多个存储节点并发读取原快照副本中多个逻辑空间分片对应的数据块至多个存储节点的内存中时,具体用于:调度多个存储节点采用延迟加载方式从原快照副本的数据文件中,并发读取多个逻辑空间分片分别对应的数据块至多个存储节点的内存中。
相应地,处理器60b在调度多个存储节点基于内存中的数据文件,生成快照标识对应的新快照副本时,具体用于:调度多个存储节点将内存中的数据块并发写入新快照副本的数据文件中;建立新快照副本的逻辑地址空间与新快照副本的数据文件的物理地址空间之间的对应关系;并将对应关系写入新快照副本的索引文件,以得到新快照副本。
在另一些实施例中,多个存储节点的数量与多个逻辑空间分片的数量相同;每个逻辑空间分片对应的存储节点对该逻辑空间分片具有读写权限。处理器60b在调度多个存储节点并发读取原快照副本中多个逻辑空间分片对应的数据块至多个存储节点的内存时,具体用于:针对任一逻辑空间分片,调度任一逻辑空间分片对应的第一存储节点从原快照副本的数据文件中,读取任一逻辑空间分片对应的数据块至第一存储节点的内存中。
相应地,处理器60b在调度多个存储节点将内存中的数据块写入新快照副本的数据文件中时,具体用于:调度第一存储节点将第一存储节点内存中的数据块,写入新快照副本的数据文件中。
在另一些实施例中,多个逻辑空间分片中存在至少一个目标逻辑空间分片对应至少两个存储节点;目标逻辑空间分片对应的至少两个存储节点中指定存储节点对目标逻辑空间分片具有写权限。处理器60b在调度多个存储节点并发读取原快照副本中多个逻辑空间分片对应的数据块至多个存储节点的内存时,具体用于:针对目标逻辑空间分片,调度目标逻辑空间分片对应的第二存储节点,从原快照副本的数据文件中,读取目标逻辑空间分片对应的数据块至第二存储节点的内存中。
相应地,处理器60b在调度多个存储节点将内存中的数据块写入新快照副本的数据文件中时,具体用于:调度指定存储节点将第二存储节点的内存中的数据块,写入新快照副本的数据文件中。
可选地,处理器60b在将原快照副本的逻辑地址空间划分为多个逻辑空间分片时,具体用于:根据可调度的存储节点的数量和原快照副本的数据量,将原快照副本的逻辑地址空间划分为多个逻辑空间分片。
可选地,处理器60b还用于:在将新快照副本的物理文件导入云盘之前,将云盘的索引文件中指向原快照副本的数据文件的目标逻辑块地址标记为指定标识符;以及,在将新快照副本的物理文件导入云盘之后,将目标逻辑块地址修改为指向新快照副本的数据文件的物理地址空间。
在一些可选实施方式中,如图16所示,该计算设备还可以包括:电源组件60d等可选组件。图16中仅示意性给出部分组件,并不意味着计算设备必须包含图16所示全部组件,也不意味着计算设备只能包括图16所示组件。
本实施例提供的计算设备,在原快照副本存在数据访问热点的情况下,可调度多个存储节点并发读取原快照副本的数据文件至多个存储节点的内存中,可提高存储节点读取原快照副本的数据文件效率;并基于多个存储节点的内存中的数据文件,向实例提供待访问数据,可利用多个存储节点的内存缓存加速待访问数据的读取速度,降低数据访问延迟。另一方面,调度多个存储节点基于内存中的数据文件,动态生成新快照副本供云盘引用。这样,实例启动时可访问新的快照副本,对待访问数据的访问流量可分散到不同的快照副本上,可降低数据访问热点的出现概率,甚至可消除数据访问热点,进而有助于加快数据访问效率,降低数据访问延迟。
在本申请实施例中,存储器用于存储计算机程序,并可被配置为存储其它各种数据以支持在其所在设备上的操作。其中,处理器可执行存储器中存储的计算机程序,以实现相应控制逻辑。存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
在本申请实施例中,处理器可以为任意可执行上述方法逻辑的硬件处理设备。可选地,处理器可以为中央处理器(Central Processing Unit,CPU)、图形处理器(GraphicsProcessing Unit,GPU)或微控制单元(Microcontroller Unit,MCU);也可以为现场可编程门阵列(Field-Programmable Gate Array,FPGA)、可编程阵列逻辑器件(ProgrammableArray Logic,PAL)、通用阵列逻辑器件(General Array Logic,GAL)、复杂可编程逻辑器件(Complex Programmable Logic Device,CPLD)等可编程器件;或者为先进精简指令集(RISC)处理器(Advanced RISC Machines,ARM)或***芯片(System on Chip,SOC)等等,但不限于此。
在本申请实施例中,通信组件被配置为便于其所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如WiFi,2G或3G,4G,5G或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件还可基于近场通信(NFC)技术、射频识别(RFID)技术、红外数据协会(IrDA)技术、超宽带(UWB)技术、蓝牙(BT)技术或其他技术来实现。
在本申请实施例中,电源组件被配置为其所在设备的各种组件提供电力。电源组件可以包括电源管理***,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
本领域内的技术人员应明白,本申请的实施例可提供为方法、***、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器 (CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器 (RAM) 和/或非易失性内存等形式,如只读存储器 (ROM) 或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机的存储介质为可读存储介质,也可称为可读介质。可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存 (PRAM)、静态随机存取存储器 (SRAM)、动态随机存取存储器 (DRAM)、其他类型的随机存取存储器 (RAM)、只读存储器 (ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器 (CD-ROM)、数字多功能光盘(DVD) 或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体 (transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (13)
1.一种数据访问方法,其特征在于,包括:
获取实例发起的用于访问所述实例挂载的云盘的数据请求;
从所述数据请求中获取待访问数据的快照标识;
在所述快照标识对应的原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取所述原快照副本的数据文件至所述多个存储节点的内存中;
基于所述多个存储节点的内存中的数据文件,向所述实例提供所述待访问数据;
调度所述多个存储节点基于所述内存中的数据文件,生成所述快照标识对应的新快照副本;
将所述新快照副本的物理文件导入所述云盘,以供所述实例访问所述新快照副本。
2.根据权利要求1所述的方法,其特征在于,所述将所述新快照副本的物理文件导入所述云盘,包括:
通过硬链接方式将所述新快照副本的物理文件导入所述云盘。
3.根据权利要求1所述的方法,其特征在于,所述调度多个存储节点并发读取所述原快照副本的数据文件至所述多个存储节点的内存中,包括:
从所述原快照副本的索引文件中,获取所述原快照副本的逻辑地址空间;
将所述原快照副本的逻辑地址空间划分为多个逻辑空间分片;
调度所述多个存储节点并发读取所述原快照副本中所述多个逻辑空间分片对应的数据块至所述多个存储节点的内存中。
4.根据权利要求3所述的方法,其特征在于,所述调度所述多个存储节点并发读取所述原快照副本中所述多个逻辑空间分片对应的数据块至所述多个存储节点的内存中,包括:
调度所述多个存储节点采用延迟加载方式从所述原快照副本的数据文件中,并发读取所述多个逻辑空间分片分别对应的数据块至所述多个存储节点的内存中。
5.根据权利要求3所述的方法,其特征在于,所述调度所述多个存储节点基于所述内存中的数据文件,生成所述快照标识对应的新快照副本,包括:
调度所述多个存储节点将内存中的数据块并发写入所述新快照副本的数据文件中;
建立新快照副本的逻辑地址空间与所述新快照副本的数据文件的物理地址空间之间的对应关系;
将所述对应关系写入所述新快照副本的索引文件,以得到所述新快照副本。
6.根据权利要求5所述的方法,其特征在于,所述多个存储节点的数量与所述多个逻辑空间分片的数量相同;每个逻辑空间分片对应的存储节点对该逻辑空间分片具有读写权限;
所述调度所述多个存储节点并发读取所述原快照副本中所述多个逻辑空间分片对应的数据块至所述多个存储节点的内存中,包括:
针对任一逻辑空间分片,调度所述任一逻辑空间分片对应的第一存储节点从所述原快照副本的数据文件中,读取所述任一逻辑空间分片对应的数据块至所述第一存储节点的内存中;
所述调度所述多个存储节点将内存中的数据块写入所述新快照副本的数据文件中,包括:
调度所述第一存储节点将所述第一存储节点内存中的数据块写入所述新快照副本的数据文件中。
7.根据权利要求5所述的方法,其特征在于,所述多个逻辑空间分片中存在至少一个目标逻辑空间分片对应至少两个存储节点;所述目标逻辑空间分片对应的至少两个存储节点中指定存储节点对所述目标逻辑空间分片具有写权限;
所述调度所述多个存储节点并发读取所述原快照副本中所述多个逻辑空间分片对应的数据块至所述多个存储节点的内存中,包括:
针对所述目标逻辑空间分片,调度所述目标逻辑空间分片对应的第二存储节点,从原快照副本的数据文件中,读取所述目标逻辑空间分片对应的数据块至所述第二存储节点的内存中;
所述调度所述多个存储节点将内存中的数据块写入所述新快照副本的数据文件中,包括:
调度所述指定存储节点将所述第二存储节点的内存中的数据块写入所述新快照副本的数据文件中。
8.根据权利要求3所述的方法,其特征在于,所述将所述原快照副本的逻辑地址空间划分为多个逻辑空间分片,包括:
根据可调度的存储节点的数量和所述原快照副本的数据量,将所述原快照副本的逻辑地址空间划分为多个逻辑空间分片。
9.根据权利要求5所述的方法,其特征在于,所述方法还包括:在将所述新快照副本的物理文件导入所述云盘之前,将所述云盘的索引文件中指向所述原快照副本的数据文件的目标逻辑块地址标记为指定标识符;以及,
在将所述新快照副本的物理文件导入所述云盘之后,将所述目标逻辑块地址修改为指向所述新快照副本的数据文件的物理地址空间。
10.根据权利要求1-9任一项所述的方法,其特征在于,还包括执行以下至少一种判断操作:
获取引用所述原快照副本的云盘的数据读取时间延迟;判断所述数据读取时间延迟是否大于或等于设定的时间延迟阈值;
获取所述原快照副本的引用数量;判断所述原快照副本的引用数量是否大于或等于设定的引用数量阈值;
若所述至少一种判断操作的判断结果为是,确定所述原快照副本存在数据访问热点。
11.一种分布式存储***,其特征在于,包括:虚拟化服务节点、管控节点、块服务节点和存储节点;
所述虚拟化服务节点部署有实例;所述块服务节点设置有云盘;所述存储节点存储有实例启动所需的快照副本;
所述块服务节点中的云盘挂载于所述实例;
所述实例在启动过程中,向所述云盘发送数据请求;
所述管控节点,用于:获取所述数据请求;从所述数据请求中获取待访问数据的快照标识;在所述快照标识对应的原快照副本存在数据访问热点的情况下,调度多个存储节点并发读取所述原快照副本的数据文件至所述多个存储节点的内存中;所述实例从所述多个存储节点的内存中,读取所述待访问数据;
所述管控节点,还用于:调度所述多个存储节点基于所述内存中的数据文件,生成所述快照标识对应的新快照副本,以供所述实例访问所述新快照副本。
12.一种计算设备,其特征在于,包括:存储器、处理器和通信组件;其中,所述存储器,用于存储计算机程序;
所述处理器耦合至所述存储器和所述通信组件,用于执行所述计算机程序以用于执行权利要求1-10任一项所述方法中的步骤。
13.一种存储有计算机指令的计算机可读存储介质,其特征在于,当所述计算机指令被一个或多个处理器执行时,致使所述一个或多个处理器执行权利要求1-10任一项所述方法中的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217619.2A CN114281791B (zh) | 2022-03-07 | 2022-03-07 | 数据访问方法、***、设备及存储介质 |
PCT/CN2023/078265 WO2023169235A1 (zh) | 2022-03-07 | 2023-02-24 | 数据访问方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210217619.2A CN114281791B (zh) | 2022-03-07 | 2022-03-07 | 数据访问方法、***、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114281791A CN114281791A (zh) | 2022-04-05 |
CN114281791B true CN114281791B (zh) | 2022-07-22 |
Family
ID=80882335
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210217619.2A Active CN114281791B (zh) | 2022-03-07 | 2022-03-07 | 数据访问方法、***、设备及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114281791B (zh) |
WO (1) | WO2023169235A1 (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114281791B (zh) * | 2022-03-07 | 2022-07-22 | 阿里云计算有限公司 | 数据访问方法、***、设备及存储介质 |
CN115048254B (zh) * | 2022-07-11 | 2022-12-09 | 北京志凌海纳科技有限公司 | 数据分配策略的仿真测试方法、***、设备和可读介质 |
CN116627974B (zh) * | 2023-05-25 | 2024-02-09 | 成都融见软件科技有限公司 | 一种覆盖率存储*** |
CN117240917B (zh) * | 2023-11-08 | 2024-04-05 | 阿里云计算有限公司 | 缓存型云存储***与数据读写方法、设备及存储介质 |
CN118132528A (zh) * | 2024-04-30 | 2024-06-04 | 苏州元脑智能科技有限公司 | 一种基于块的分布式文件***、快照获取方法以及产品 |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7043503B2 (en) * | 2002-02-15 | 2006-05-09 | International Business Machines Corporation | Ditto address indicating true disk address for actual data blocks stored in one of an inode of the file system and subsequent snapshot |
US7085785B2 (en) * | 2002-02-15 | 2006-08-01 | International Business Machines Corporation | Writable file system snapshot with ditto address feature |
US8055864B2 (en) * | 2007-08-06 | 2011-11-08 | International Business Machines Corporation | Efficient hierarchical storage management of a file system with snapshots |
US9323462B2 (en) * | 2014-04-08 | 2016-04-26 | International Business Machines Corporation | File system snapshot data management in a multi-tier storage environment |
CN107302561B (zh) * | 2017-05-23 | 2019-08-13 | 南京邮电大学 | 一种云存储***中热点数据副本放置方法 |
CN110018879B (zh) * | 2018-01-09 | 2023-06-09 | 阿里巴巴集团控股有限公司 | 应用于分布式***的延迟加载方法及装置 |
US11200122B2 (en) * | 2019-07-24 | 2021-12-14 | EMC IP Holding Company LLC | Barrierless snapshots |
US10942852B1 (en) * | 2019-09-12 | 2021-03-09 | Advanced New Technologies Co., Ltd. | Log-structured storage systems |
CN112764663B (zh) * | 2019-10-21 | 2024-04-12 | 阿里巴巴集团控股有限公司 | 云存储空间的空间管理方法、装置和***、电子设备以及计算机可读存储介质 |
CN113849137B (zh) * | 2021-10-13 | 2023-08-01 | 上海威固信息技术股份有限公司 | 一种面向申威容器平台的可视化块存储方法和*** |
CN114281791B (zh) * | 2022-03-07 | 2022-07-22 | 阿里云计算有限公司 | 数据访问方法、***、设备及存储介质 |
-
2022
- 2022-03-07 CN CN202210217619.2A patent/CN114281791B/zh active Active
-
2023
- 2023-02-24 WO PCT/CN2023/078265 patent/WO2023169235A1/zh unknown
Also Published As
Publication number | Publication date |
---|---|
WO2023169235A1 (zh) | 2023-09-14 |
CN114281791A (zh) | 2022-04-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114281791B (zh) | 数据访问方法、***、设备及存储介质 | |
US10609174B2 (en) | Parallel prefetching log/meta stream sub-portions to recreate partition states in a distributed computing system | |
JP5438100B2 (ja) | 大容量データ処理の方法及びシステム | |
US20190243688A1 (en) | Dynamic allocation of worker nodes for distributed replication | |
US11048591B1 (en) | Efficient name space organization in a global name space cluster | |
WO2019166940A2 (en) | Transactional operations in multi-master distributed data management systems | |
US9928008B2 (en) | Pre-loading a parameter to a media accessor to support a data request | |
US20080028402A1 (en) | Method of setting operation environment and computer system | |
WO2012072411A1 (en) | Snapshot based replication | |
CN108475201B (zh) | 一种虚拟机启动过程中的数据获取方法和云计算*** | |
CN111399764B (zh) | 数据存储方法、读取方法、装置、设备及存储介质 | |
CN111124286A (zh) | 一种基于Libcloud的多云管理实现方法 | |
US11175846B2 (en) | Data co-location in a hierarchical storage management (HSM) system | |
CN113296926B (zh) | 一种资源分配方法、计算设备及存储介质 | |
US20240028382A1 (en) | Method and Apparatus for Starting Secure Container | |
US11442927B1 (en) | Storage performance-based distribution of deduplicated data to nodes within a clustered storage environment | |
CN113420005A (zh) | 数据存储方法、***、电子设备及计算机存储介质 | |
CN110399248B (zh) | 一种镜像文件创建、获取方法、装置及服务器 | |
CN112579550B (zh) | 一种分布式文件***的元数据信息同步方法及*** | |
CN107329798B (zh) | 数据复制的方法、装置和虚拟化*** | |
US11593310B2 (en) | Providing writable streams for external data sources | |
US10671307B2 (en) | Storage system and operating method thereof | |
Fu et al. | Efficient shuffle management with scache for DAG computing frameworks | |
CN109753340B (zh) | 虚拟机快照处理方法、装置及*** | |
US8402235B2 (en) | Backup apparatus, backup method and backup program |
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 |