CN117270789B - 一种基于分布式存储的数据控制方法、系统及电子设备 - Google Patents
一种基于分布式存储的数据控制方法、系统及电子设备 Download PDFInfo
- Publication number
- CN117270789B CN117270789B CN202311388939.5A CN202311388939A CN117270789B CN 117270789 B CN117270789 B CN 117270789B CN 202311388939 A CN202311388939 A CN 202311388939A CN 117270789 B CN117270789 B CN 117270789B
- Authority
- CN
- China
- Prior art keywords
- position information
- data block
- data
- target data
- information
- 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
- 238000000034 method Methods 0.000 title claims abstract description 69
- 230000015654 memory Effects 0.000 claims description 65
- 238000013507 mapping Methods 0.000 claims description 19
- 238000004590 computer program Methods 0.000 claims description 5
- 230000004044 response Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书公开了一种基于分布式存储的数据控制方法、系统及电子设备,可以提高大IO场景下的数据读写效率。所述方法包括获取目标数据相应的元数据信息,所述元数据信息用于表征所述目标数据在分布式存储元数据结构下的位置信息;根据所述目标数据的偏移地址与数据长度,结合所述元数据信息确定与所述目标数据相对应的目标数据块;获取数据块位置信息相应的位置索引信息;根据所述位置索引信息在所述数据块位置信息相对应的多个所述物理块位置信息中查找确定出与所述目标数据块相对应的目标物理块位置信息;根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作。
Description
技术领域
本说明书涉及分布式存储控制技术领域,具体涉及一种基于分布式存储的数据控制方法、系统及电子设备。
背景技术
在分布式存储方案中,会将上层发来的数据切分成一个个的大小均等的对象数据,每个对象数据对应一个元数据信息。元数据信息用来记录对象数据在盘上的存储位置。在进行读写数据时,根据元数据信息确定对象数据在存储硬盘上的存储位置进行读写。
基于元数据信息的三级映射结构,进行读写数据时通常的存储地址查找方式为先根据偏移及长度查找对象逻辑区域,根据对象逻辑区域查找数据块位置信息,再根据数据块位置信息查找物理块位置信息,然后执行读写操作。物理块位置信息存储在一个vector数组中,当通过数据块位置信息查找物理块位置信息时,需要依次遍历进行查找。Vector数组中物理块位置信息较少时,遍历查找耗时还可以接受。然而,在大IO场景下,数据块位置信息长度较大,最多可达1024个,此时再通过遍历查找将非常耗时,无法满足正常读写需求。
发明内容
有鉴于此,本说明书实施例提供了一种基于分布式存储的数据控制方法、系统及电子设备,可以提高大IO场景下的数据读写效率。
在第一方面,本说明书实施例提供了一种基于分布式存储的数据控制方法,所述方法包括:
获取目标数据相应的元数据信息,所述元数据信息用于表征所述目标数据在分布式存储元数据结构下的位置信息,所述元数据结构包括对象逻辑层、数据块层与物理块层;
根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层中确定与所述目标数据相对应的目标数据块位置信息;
获取所述目标数据块位置信息相应的位置索引信息,所述位置索引信息用于记录所述目标数据块位置信息所对应的多个物理块位置信息在所述物理块层中的位置;
根据所述位置索引信息在所述目标数据块位置信息相对应的多个所述物理块位置信息中查找确定目标物理块位置信息;
根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作。
本说明书实施例还提供了一种基于分布式存储的数据控制系统,所述系统包括:
元数据信息获取模块,用于获取目标数据相应的元数据信息,所述元数据信息用于表征所述目标数据在分布式存储元数据结构下的位置信息,所述元数据结构包括对象逻辑层、数据块层与物理块层;
目标数据块定位模块,用于根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层中确定与所述目标数据相对应的目标数据块位置信息;
位置索引信息获取模块,用于获取所述目标数据块位置信息相应的位置索引信息,所述位置索引信息用于记录所述目标数据块位置信息所对应的多个物理块位置信息在所述物理块层中的位置;
目标物理块定位模块,用于根据所述位置索引信息在所述目标数据块位置信息相对应的多个所述物理块位置信息中查找确定目标物理块位置信息;以及
读写操作模块,用于根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作。
本说明书实施例还提供了一种基于分布式存储的数据控制电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的基于分布式存储的数据控制方法。
从上面可以看出,本说明书实施例所提供的一种基于分布式存储的数据控制方法、系统及电子设备,具有如下有益技术效果:
在大IO场景下,首先结合目标数据相应元数据信息的数据结构,根据目标数据偏移地址以及数据长度在数据块位置信息中确定对应的目标数据块,并根据数据块位置信息相应的位置索引信息所表征的一对一映射关系,快速准确地从物理块层中查找确定出目标物理块位置信息。这样的方式,无须在物理块位置信息数组中依次遍历查找,能够提高大IO场景下的数据读写效率。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法中元数据信息三级映射结构示意图;
图2示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法中数据对象与数据块位置信息对应关系示意图;
图3示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法中物理块位置信息数组示意图;
图4示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法示意图;
图5示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法中大IO场景下的元数据信息结构示意图;
图6示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法中数据写入时执行内存分配控制方法示意图;
图7示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法中成员变量数组示意图;
图8示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制系统结构示意图;
图9示出了本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在分布式存储方案中,会将上层发来的数据切分成一个个的大小均等的对象数据,每个对象数据对应一个元数据信息。元数据信息用来记录对象数据在盘上的存储位置。在进行读写数据时,根据元数据信息确定对象数据在存储硬盘上的存储位置进行读写。其中,如图1所示,元数据(onode)信息内存映射为三级映射结构,分别为:对象逻辑区域(LE)、数据块位置信息(BL)、物理块位置信息(PE)。
基于元数据信息的三级映射结构,进行读写数据时通常的存储地址查找方式为先根据偏移及长度查找对象逻辑区域,根据对象逻辑区域查找数据块位置信息,再根据数据块位置信息查找物理块位置信息,然后在磁盘(disk)对应存储空间执行读写操作。物理块位置信息存储在一个物理块位置信息数组(vector数组)中,当通过数据块位置信息查找物理块位置信息时,需要依次遍历进行查找。
数据块位置信息长度为不小于64k,以固态硬盘ssd为例,则每个数据块位置信息最少对应16个物理块位置信息。物理块vector数组中记录16个物理块位置信息时,遍历查找耗时较少,不会影响到正常读写操作。然而,在大IO场景下,数据块位置信息长度较大,物理块vector数组中记录的物理块位置信息数量大大增加。大IO场景下,写入数据一般大于128K的场景,数据块位置信息长度可能需要设置为4M,对应的物理块位置信息的数量最多可达1024个。这种情况下,再通过遍历查找将非常耗时,无法满足正常读写需求。
另外,在写入数据时,每次写入的对象在数据块位置信息中不一定是连续的,有可能第一次写了第一个4k,第二次写了第3个4k,如图2所示。并且记录物理块位置信息的vector数组中的数据,是根据写IO时分配的偏移及长度依次记录的,因此数组中的记录的可能是第一次写的第一个4k,第二次写的第三个4k,第三次写的第7个4k,……,如图3所示。此时查找时需要依次判断进行,非常耗时。
针对上述问题,本说明书实施例的目的在于提出一种基于分布式存储的数据读写控制方法,在数据块位置信息与物理块位置信息之间建立两级映射关系,在读写数据需要查找确定物理块位置信息时能够在物理块vector数组中迅速确定目标物理块位置信息,从而提升大IO场景下的读写效率。
基于上述目的,在一方面本说明书实施例提供了一种基于分布式存储的数据读写控制方法。
如图4所示,本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法,包括:
S1:获取目标数据相应的元数据信息,所述元数据信息用于表征所述目标数据在分布式存储元数据结构下的位置信息,所述元数据结构包括对象逻辑层、数据块层与物理块层。
所述元数据结构是由所述对象逻辑层、所述数据块层与所述物理块层构成的三级映射结构。所述对象逻辑层包括多个对象逻辑区域,所述数据块层包括至少一个数据块位置信息,所述物理块层包括多个物理块位置信息。
如图5所示,在大IO场景下所述数据块层可能仅包括一个数据块位置信息,该数据块位置信息的数据长度可以设置为4M。
所述对象逻辑层中的多个所述对象逻辑区域与所述数据块层中的至少一个所述数据块位置信息之间为多对一的映射关系。所述数据块层中的至少一个所述数据块位置信息与所述物理块层中的多个所述物理块位置信息之间为一对多的映射关系,如图3所示,所述数据块位置信息对应的多个所述物理块位置信息记录在物理块位置信息数组vector中。
S2:根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层中确定与所述目标数据相对应的目标数据块。
根据所述目标数据的所述偏移地址与数据长度,结合元数据结构中对象逻辑区域与数据块位置信息之间多对一的映射关系,可以准确确定出所述目标数据在所述数据块层中对应的数据块位置信息。如图5所示,在大IO场景下所述数据块层可能仅包括一个数据块位置信息,该数据块位置信息的数据长度可以设置为4M。
所述数据块位置信息可以按照最小分配单元min_alloc_size划分为均等的块。每一块的起始偏移为起始地址加n×min_alloc_size,偏移范围为0-4M。根据所述偏移地址与所述数据长度,既可以计算确定出所述数据块位置信息中与所述目标数据对应的目标数据块。
在一些可选实施方式中,可以采用以下方式在所述数据块层的数据块位置信息中确定与所述目标数据相对应的目标数据块:
通过将所述数据块位置信息与分布式存储磁盘的最小分配单元对齐,将所述数据块位置信息划分为多个均等的数据块。具体的,将所述分布式存储磁盘的最小分配单元的大小,设置为与所述分布式存储磁盘的最小操作单元的大小一致;将所述数据块位置信息按照所述最小分配单元的大小划分为多个均等的数据块。
根据所述偏移地址和所述数据长度,计算确定所述目标数据块在所述数据块层对应的多个所述数据块中的顺序编号,以确定所述目标数据块。具体的,根据所述数据长度,将所述目标数据按照所述最小分配单元划分为多个所述目标数据块;根据所述偏移地址和所述最小分配单元的大小,分别确定每个所述目标数据块的偏移地址;分别将每个所述目标数据块的偏移地址与所述最小分配单元相除,得到所述顺序编号。
所述顺序编号D:
D=offset/min_alloc_size
其中,offset表示所述偏移地址,min_alloc_size表示所述最小分配单元,所述最小分配单元与所述分布式存储磁盘的最小操作单元设为一致。
所述最小分配单元min_alloc_size与所述分布式存储磁盘的最小操作单元设为一致。根据所述最小分配单元min_alloc_size可以动态调整写入数据块的大小,而无需重新编译代码。
S3:获取所述目标数据块位置信息相应的位置索引信息,所述位置索引信息用于记录所述目标数据块位置信息所对应的多个物理块位置信息在所述物理块层中的位置。
需要说明的是,在分布式存储磁盘中所写入数据对应的物理块位置信息排布顺序与对应数据块位置信息按照所述最小分配单元所划分的多个块的顺序之间存在差异,即直接根据所述数据块位置信息中多个块的排序无法确定对应多个所述物理块位置信息排序。因此,在执行针对目标数据的数据读写操作时,可以先获取所述数据块位置信息相应的所述位置索引信息。所述位置索引信息用于表征所述数据块位置信息中多个块对应的多个所述物理块位置信息在所述物理块层中的具体位置顺序。
所述目标数据块位置信息对应的多个所述物理块位置信息记录在相应的所述物理块位置信息数组vector中。因此所述位置索引信息也用于表征多个所述物理块位置信息在所述物理块位置信息数组vector中的位置。
S4:根据所述位置索引信息在所述数据块位置信息相对应的多个所述物理块位置信息中查找确定与所述目标数据块相对应的目标物理块位置信息。
根据所述位置索引信息可以准确快速地确定出所述数据块位置信息中多个块对应的多个所述物理块位置信息的具体位置,基于所述位置索引信息所表征的一对一的映射关系从而准确确定出待执行读写操作的所述目标物理块位置信息。
S5:根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作。
在确定所述目标物理块位置信息后,可以在分布式存储磁盘中与所述目标物理块位置信息相对应的存储空间执行读写操作。具体的如果所述目标数据为待读取数据,即需要从分布式存储磁盘中读取数据时,根据所述目标数据的偏移地址以及数据长度在数据块位置信息中对应的目标数据块,然后在根据位置索引信息确定出目标物理块位置信息,从所述目标物理块位置信息相应的存储空间中读取数据。如果所述目标数据为待写入数据,可以采用同样的方式确定目标物理块位置信息,将所述目标数据写入所述目标物理块位置信息对应的存储空间。
所述基于分布式存储的数据读写控制方法,在大IO场景下,首先结合目标数据相应元数据信息的数据结构,根据目标数据偏移地址以及数据长度在数据块位置信息中确定对应的目标数据块,并根据数据块位置信息相应的位置索引信息所表征的一对一映射关系,快速准确地从物理块层中查找确定出目标物理块位置信息。这样的方式,无须在物理块位置信息数组中依次遍历查找,能够提高大IO场景下的数据读写效率。
如图6所示,本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法,在所述目标数据为待写入数据的情况下,在结合所述元数据信息在所述数据块层中确定与所述目标数据相对应的目标数据块位置信息后,还包括:
S201:获取所述数据块位置信息相对应的状态标记信息,根据所述状态标记信息确定所述目标数据块对应的内存分配状态。
对于写入数据的情况,还需要考虑分布式存储磁盘中的内存状态。因此可以获取所述数据块位置信息相应的状态标记信息。所述状态标记信息用于表征分布式存储磁盘中与多个所述物理块位置信息相对应的多个存储空间的内存分配状态。根据所述状态标记信息可以确定出所述目标物理块位置信息相应的所述内存分配状态。
在一些可选实施方式中,所述状态标识信息可以采用uint8数组指针类型的成员变量数组(unused)表示。采用uint8数组指针类型数据,所述成员变量数组相应的标记块大小及数目可以根据所使用的磁盘的规格参数进行动态调整,可扩展性大大提高。
所述成员变量数组包括多个元素,多个所述元素分别与所述数据块层中的多个所述数据块位置信息相对应。所述元素包括多个位域,多个所述位域分别与所述元素相应所述数据块位置信息对应的多个所述物理块位置信息相对应;当所述位域取值为第一预设值时,表示所述位域对应的所述物理块位置信息所对应的数据块未被分配存储空间;当所述位域取值为第二预设值时,表示所述位域对应的所述物理块位置信息所对应的数据块已被分配存储空间。可选的,第一预设值可以为0,第二预设值可以为1。
如图7所示,显示了成员变量数组unused中的三个元素,每个元素是uint8类型数据,包含8个位域,每个位域此时对应数据块位置信息中128k大小空间的分配状态,为1表示空间已分配,为0表示空间尚未分配。数组中每个元素的每一个位域,对应数据块位置信息划分的每一个数据块的内存分配状态。具体的,步骤S210中,获取所述数据块位置信息相应的所述成员变量数组,并从所述成员变量数组中获取所述目标数据块对应的位域;当所述目标数据块对应的位域取值为所述第一预设值时,确定所述目标数据块对应的内存分配状态为未写入数据;当所述目标数据块对应的位域取值为所述第二预设值时,确定所述目标数据块对应的内存分配状态为已写入数据。
S202:响应于所述目标数据块位置信息对应的所述内存分配状态为未写入数据,针对所述目标数据块位置信息在分布式存储磁盘中分配存储空间。
若所述内存分配状态为未写入数据,说明在分布式存储磁盘中还未针对所述目标物理块位置信息分配存储空间,因此需要首先针对目标物理块位置信息分配内存。
在分配存储空间之后,可以在相应的存储空间中执行数据写入操作。
在一些可选实施方式中,可以采用以下方式只想数据写入操作:
在分配存储空间只有,将所分配的存储空间对应的物理块位置信息放入所述目标数据块对应的所述物理块位置信息数组的最后一位,并根据所述物理块位置信息在所述物理块位置信息数组中的位置对所述位置索引信息进行更新。
利用更新后的所述位置索引信息确定所述目标物理块位置信息,在所述目标物理块位置信息对应的存储空间执行数据写入。
S203:响应于所述目标数据块位置信息对应的所述内存分配状态为已写入数据,将所述目标数据块位置信息相应的物理块位置信息释放,并针对所述目标数据块在分布式存储磁盘中重新分配存储空间。
若所述内存分配状态为已写入数据,说明所述目标物理块位置信息对应的存储空间中存在已写入数据。需要针对所述目标物理块位置信息重新分配新的存储空间,之后在新分配的存储空间上执行数据写入操作。
在重新分配新的存储空间之后,根据所述位置索引信息,利用重新分配的存储空间对应的物理块位置信息对所述目标数据块对应的所述物理块位置信息数据进行更新。
更新后的所述物理块位置信息与新分配的存储空间相对应,基于所述位置索引信息所确定的所述目标物理块位置信息即指向新分配的存储空间。在确定所述目标物理块位置信息后,针对所述目标物理块位置信息所对应的存储空间执行数据写入操作。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据读写控制方法中,所述位置索引信息采用位置索引指针数组,所述位置索引指针数组中每个元素用于记录所述目标数据块位置信息相对应的多个所述物理块位置信息在所述物理块位置信息数组中的位置。
所述位置索引指针数组的数据类型为uint16,数组长度根据所述最小分配单元进行动态调整设置。
在一些可选实施例中,在所述目标数据为待写入数据的情况下,所述目标数据的读写控制方法流程,包括以下步骤:
步骤(1):根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层中确定与所述目标数据相对应的目标数据块。
步骤(2):根据所述位置索引指针数组确定所述目标数据块对应的目标物理块位置信息,并通过成员变量数组(unused)确定所述目标物理块位置信息的对应的内存分配状态。
步骤(3):响应于所述成员变量数组(unused)中与所述目标物理块位置信息相对应的所述位域取值为0,说明该物理块位置信息对应的存储空间未写入数据,针对所述物理块位置信息分配存储空间。
步骤(4):将所分配的存储空间对应的物理块位置信息放入所述数据块位置信息对应的所述物理块位置信息数组的最后一位。
步骤(5):根据所述物理块位置信息在所述物理块位置信息数组中的位置对所述位置索引信息进行更新。
步骤(:6):在所述成员变量数组中,将所述目标数据块对应的位域的取值更新为第二预设值,即更新为1。
步骤(7):响应于所述成员变量数组(unused)中与所述目标物理块位置信息相对应的所述位域取值为1,说明该物理块位置信息对应的存储空间已写入数据,将该存储空间对应的所述物理块位置信息释放情况,并针对该所述物理块位置信息重新分配存储空间。
步骤(8):根据所述位置索引信息,从所述物理块位置信息数组中确定出所述目标数据块对应的所述物理块位置信息。
步骤(9):根据重新分配的存储空间对应的物理块位置信息,对所述目标数据块对应的所述物理块位置信息进行更新。
步骤(10):在所述目标物理块数据信息对应的存储空间执行写盘操作。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一目的,与上述任意实施例方法相对应的,本说明书实施例还提供了一种基于分布式存储的数据控制系统。
参考图8,所述基于分布式存储的数据控制系统,包括:
元数据信息获取模块,用于获取目标数据相应的元数据信息,所述元数据信息用于表征所述目标数据在分布式存储元数据结构下的位置信息,所述元数据结构包括对象逻辑层、数据块层与物理块层;
目标数据块定位模块,用于根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层的数据块位置信息中确定与所述目标数据相对应的目标数据块;
位置索引信息获取模块,用于获取所述数据块位置信息相应的位置索引信息,所述位置索引信息用于记录所述数据块位置信息所对应的多个物理块位置信息在所述物理块层中的位置;
目标物理块定位模块,用于根据所述位置索引信息在所述目标数据块位置信息相对应的多个所述物理块位置信息中查找确定出与所述目标数据块相对应的目标物理块位置信息;以及
读写操作模块,用于根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统中,所述元数据结构是由所述对象逻辑层、所述数据块层与所述物理块层构成的三级映射结构,所述对象逻辑层包括多个对象逻辑区域,所述数据块层包括至少一个数据块位置信息,所述物理块层包括多个物理块位置信息;所述对象逻辑层中的多个所述对象逻辑区域与所述数据块层中的至少一个所述数据块位置信息之间为多对一的映射关系;所述数据块层中的至少一个所述数据块位置信息与所述物理块层中的多个所述物理块位置信息之间为一对多的映射关系,所述数据块位置信息对应的多个所述物理块位置信息记录在物理块位置信息数组中。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统中,所述目标数据块定位模块,还用于通过将所述数据块位置信息与分布式存储磁盘的最小分配单元对齐,将所述数据块位置信息划分为多个均等的数据块;根据所述偏移地址和所述数据长度,计算确定所述目标数据块在所述数据块位置信息对应的多个所述数据块中的顺序编号,以确定所述目标数据块。其中,通过将所述数据块位置信息与分布式存储磁盘的最小分配单元对齐,将所述数据块位置信息划分为多个均等的数据块,具体包括:将所述分布式存储磁盘的最小分配单元的大小,设置为与所述分布式存储磁盘的最小操作单元的大小一致;将所述数据块位置信息按照所述最小分配单元的大小划分为多个均等的数据块。根据所述偏移地址和所述数据长度,计算确定所述目标数据块在所述数据块位置信息中的顺序编号,具体包括:根据所述数据长度,将所述目标数据按照所述最小分配单元划分为多个所述目标数据块;根据所述偏移地址和所述最小分配单元的大小,分别确定每个所述目标数据块的偏移地址;分别将每个所述目标数据块的偏移地址与所述最小分配单元相除,得到所述顺序编号。
所述顺序编号D:
D=offset/min_alloc_size
其中,offset表示所述偏移地址,min_alloc_size表示所述最小分配单元,所述最小分配单元与所述分布式存储磁盘的最小操作单元设为一致。
本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统,还包括内存分配控制模块。所述内存分配控制模块,用于在所述目标数据为待写入数据的情况下,获取所述数据块位置信息相对应的状态标记信息,根据所述状态标记信息确定所述目标数据块对应的内存分配状态;在所述目标数据块对应的所述内存分配状态为未写入数据情况下,针对所述目标数据块在分布式存储磁盘中分配存储空间;在所述目标数据块对应的所述内存分配状态为已写入数据情况下,将所述目标数据块相应的物理块位置信息释放,并针对所述目标数据块在分布式存储磁盘中重新分配存储空间。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统中,所述状态标记信息用于表示分布式存储磁盘中与多个所述物理块位置信息相对应的多个存储空间的内存分配状态;所述状态标识信息采用uint8数组指针类型的成员变量数组表示;所述成员变量数组包括多个元素,多个所述元素分别与所述数据块层中的多个所述数据块位置信息相对应;所述元素包括多个位域,多个所述位域分别与所述元素相应所述数据块位置信息对应的多个所述物理块位置信息相对应;所述位域表示相应所述物理块位置信息所对应存储空间的内存分配状态,当所述位域取值为第一预设值时,表示所述位域对应的所述物理块位置信息所对应的数据块未被分配存储空间;当所述位域取值为第二预设值时,表示所述位域对应的所述物理块位置信息所对应的数据块已被分配存储空间。当所述目标数据块对应的位域取值为所述第一预设值时,确定所述目标数据块对应的内存分配状态为未写入数据;当所述目标数据块对应的位域取值为所述第二预设值时,确定所述目标数据块对应的内存分配状态为已写入数据。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统中,所述内存分配控制模块在针对所述目标数据块在分布式存储磁盘中分配存储空间后,还用于将所分配的存储空间对应的物理块位置信息放入所述数据块位置信息对应的所述物理块位置信息数组的最后一位,并根据所述物理块位置信息在所述物理块位置信息数组中的位置对所述位置索引信息进行更新,在所述成员变量数组中,将所述目标数据块对应的位域的取值更新为第二预设值。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统中,所述内存分配控制模块在针对所述目标数据块在分布式存储磁盘中重新分配存储空间后,还用于根据所述位置索引信息,从所述物理块位置信息数组中确定出所述目标数据块对应的所述物理块位置信息;根据重新分配的存储空间对应的物理块位置信息,对所述目标数据块对应的所述物理块位置信息进行更新。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统中,所述位置索引信息采用位置索引指针数组,所述位置索引指针数组中每个元素用于记录所述数据块位置信息相对应的多个所述物理块位置信息在所述物理块位置信息数组中的位置;所述位置索引指针数组的数据类型为uint16,数组长度根据所述最小分配单元进行动态调整设置。所述内存分配控制模块,还用于获取所述数据块位置信息相应的所述成员变量数组,根据所述成员变量数组中的位域取值,确定所述目标数据块对应的所述物理块位置信息相应的内存分配状态;响应于所述位域取值为0,说明所述物理块位置信息对应的存储空间未写入数据,针对所述物理块位置信息分配存储空间;分配完毕后,将分配确定的物理块位置信息放入所述物理块位置信息数组的最后一个位置,并将所述物理块位置信息在所述物理块位置信息数组中的位置写入所述位置索引指针数组中;在所述成员变量数组中,将所述位域的取值更新为1;响应于所述位域取值为1,说明所述物理块位置信息对应的存储空间已写入数据,将该存储空间对应的所述物理块位置信息释放,并针对该所述物理块位置信息重新分配存储空间;重新分配完毕后,根据所述物理块位置信息在所述位置索引指针数组中的位置,利用新申请存储空间的位置信息对所述物理块位置信息数组中对应位置数据进行替换更新。
在本说明书一个或多个可选实施例所提供的一种基于分布式存储的数据控制系统中,读写操作模块用在在所述目标数据为待写入数据的情况下,根据所述目标物理块位置信息,确定所述目标数据在所述分布式存储磁盘中对应的存储空间;将所述目标数据写入所述存储空间对应的地址范围中;在所述目标数据为待读取数据的情况下,根据所述目标物理块位置信息,确定所述目标数据在所述分布式存储磁盘中对应的存储空间;从所述存储空间中读取所述目标数据。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图9示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图, 该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线 1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的基于分布式存储的数据控制方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的基于分布式存储的数据控制方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (16)
1.一种基于分布式存储的数据控制方法,其特征在于,所述方法包括:
获取目标数据相应的元数据信息,所述元数据信息用于表征所述目标数据在分布式存储元数据结构下的位置信息,所述元数据结构包括对象逻辑层、数据块层与物理块层;所述对象逻辑层包括多个对象逻辑区域,所述数据块层包括至少一个数据块位置信息;所述对象逻辑层中的多个所述对象逻辑区域与所述数据块层中的至少一个所述数据块位置信息之间为多对一的映射关系;
根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层的数据块位置信息中确定与所述目标数据相对应的目标数据块;所述根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层的数据块位置信息中确定与所述目标数据相对应的目标数据块,包括:通过将所述数据块位置信息与分布式存储磁盘的最小分配单元对齐,将所述数据块位置信息划分为多个均等的数据块;根据所述偏移地址和所述数据长度,计算确定所述目标数据块在所述数据块位置信息对应的多个所述数据块中的顺序编号,以确定所述目标数据块;其中,所述通过将所述数据块位置信息与分布式存储磁盘的最小分配单元对齐,将所述数据块位置信息划分为多个均等的数据块,包括:将所述分布式存储磁盘的最小分配单元的大小,设置为与所述分布式存储磁盘的最小操作单元的大小一致;将所述数据块位置信息按照所述最小分配单元的大小划分为多个均等的数据块;所述根据所述偏移地址和所述数据长度,计算确定所述目标数据块在所述数据块位置信息中的顺序编号,包括:根据所述数据长度,将所述目标数据按照所述最小分配单元划分为多个所述目标数据块;根据所述偏移地址和所述最小分配单元的大小,分别确定每个所述目标数据块的偏移地址;分别将每个所述目标数据块的偏移地址与所述最小分配单元相除,得到所述顺序编号;
获取所述数据块位置信息相应的位置索引信息,所述位置索引信息用于记录所述数据块位置信息所对应的多个物理块位置信息在所述物理块层中的位置;
根据所述位置索引信息在所述数据块位置信息相对应的多个所述物理块位置信息中查找确定出与所述目标数据块相对应的目标物理块位置信息;
根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作。
2.根据权利要求1所述的方法,其特征在于,所述数据块层包括至少一个数据块位置信息,所述物理块层包括多个物理块位置信息;
所述数据块层中的至少一个所述数据块位置信息与所述物理块层中的多个所述物理块位置信息之间为一对多的映射关系,所述数据块位置信息对应的多个所述物理块位置信息记录在物理块位置信息数组中。
3.根据权利要求2所述的方法,其特征在于,在所述目标数据为待写入数据的情况下,在结合所述元数据信息在所述数据块层中确定与所述目标数据相对应的目标数据块后,还包括:
获取所述数据块位置信息相对应的状态标记信息,根据所述状态标记信息确定所述目标数据块对应的内存分配状态;
响应于所述目标数据块对应的所述内存分配状态为未写入数据,针对所述目标数据块在分布式存储磁盘中分配存储空间;
响应于所述目标数据块对应的所述内存分配状态为已写入数据,将所述目标数据块相应的物理块位置信息释放,并针对所述目标数据块在分布式存储磁盘中重新分配存储空间。
4.根据权利要求3所述的方法,其特征在于,所述状态标记信息用于表示分布式存储磁盘中与多个所述物理块位置信息相对应的多个存储空间的内存分配状态;
所述状态标识信息采用uint8数组指针类型的成员变量数组表示;
所述成员变量数组包括多个元素,多个所述元素分别与所述数据块层中的多个所述数据块位置信息相对应。
5.根据权利要求4所述的方法,其特征在于,所述元素包括多个位域,多个所述位域分别与所述元素相应所述数据块位置信息对应的多个所述物理块位置信息相对应;
所述位域表示相应所述物理块位置信息所对应存储空间的内存分配状态;
当所述位域取值为第一预设值时,表示所述位域对应的所述物理块位置信息所对应的数据块未被分配存储空间;
当所述位域取值为第二预设值时,表示所述位域对应的所述物理块位置信息所对应的数据块已被分配存储空间。
6.根据权利要求5所述的方法,其特征在于,获取所述数据块位置信息相对应的状态标记信息,根据所述状态标记信息确定所述目标数据块对应的内存分配状态,包括:
获取所述数据块位置信息相应的所述成员变量数组,并从所述成员变量数组中获取所述目标数据块对应的位域;
当所述目标数据块对应的位域取值为所述第一预设值时,确定所述目标数据块对应的内存分配状态为未写入数据;
当所述目标数据块对应的位域取值为所述第二预设值时,确定所述目标数据块对应的内存分配状态为已写入数据。
7.根据权利要求4所述的方法,其特征在于,在针对所述目标数据块在分布式存储磁盘中分配存储空间后,还包括:
将所分配的存储空间对应的物理块位置信息放入所述数据块位置信息对应的所述物理块位置信息数组的最后一位;
根据所述物理块位置信息在所述物理块位置信息数组中的位置对所述位置索引信息进行更新。
8.根据权利要求7所述的方法,其特征在于,在根据所述物理块位置信息在所述物理块位置信息数组中的位置对所述位置索引信息进行更新后,还包括:
在所述成员变量数组中,将所述目标数据块对应的位域的取值更新为第二预设值。
9.根据权利要求3所述的方法,其特征在于,在针对所述目标数据块在分布式存储磁盘中重新分配存储空间后,还包括:
根据所述位置索引信息,从所述物理块位置信息数组中确定出所述目标数据块对应的所述物理块位置信息;
根据重新分配的存储空间对应的物理块位置信息,对所述目标数据块对应的所述物理块位置信息进行更新。
10.根据权利要求3所述的方法,其特征在于,所述位置索引信息采用位置索引指针数组,所述位置索引指针数组中每个元素用于记录所述数据块位置信息相对应的多个所述物理块位置信息在所述物理块位置信息数组中的位置;
所述位置索引指针数组的数据类型为uint16,数组长度根据最小分配单元进行动态调整设置。
11.根据权利要求10所述的方法,其特征在于,根据所述物理块位置信息在所述物理块位置信息数组中的位置对所述位置索引信息进行更新,包括:
将所述物理块位置信息在所述物理块位置信息数组中的位置写入所述位置索引指针数组中。
12.根据权利要求1至11任意一项所述的方法,其特征在于,在所述目标数据为待写入数据的情况下,根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作,包括:
根据所述目标物理块位置信息,确定所述目标数据在所述分布式存储磁盘中对应的存储空间;
将所述目标数据写入所述存储空间对应的地址范围中。
13.根据权利要求1至11任意一项所述的方法,其特征在于,在所述目标数据为待读取数据的情况下,根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作,包括:
根据所述目标物理块位置信息,确定所述目标数据在所述分布式存储磁盘中对应的存储空间;
从所述存储空间中读取所述目标数据。
14.一种基于分布式存储的数据控制系统,其特征在于,所述系统包括:
元数据信息获取模块,用于获取目标数据相应的元数据信息,所述元数据信息用于表征所述目标数据在分布式存储元数据结构下的位置信息,所述元数据结构包括对象逻辑层、数据块层与物理块层;所述对象逻辑层包括多个对象逻辑区域,所述数据块层包括至少一个数据块位置信息;所述对象逻辑层中的多个所述对象逻辑区域与所述数据块层中的至少一个所述数据块位置信息之间为多对一的映射关系;
目标数据块定位模块,用于根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层的数据块位置信息中确定与所述目标数据相对应的目标数据块;所述根据所述目标数据的偏移地址与数据长度,结合所述元数据信息在所述数据块层的数据块位置信息中确定与所述目标数据相对应的目标数据块,包括:通过将所述数据块位置信息与分布式存储磁盘的最小分配单元对齐,将所述数据块位置信息划分为多个均等的数据块;根据所述偏移地址和所述数据长度,计算确定所述目标数据块在所述数据块位置信息对应的多个所述数据块中的顺序编号,以确定所述目标数据块;其中,所述通过将所述数据块位置信息与分布式存储磁盘的最小分配单元对齐,将所述数据块位置信息划分为多个均等的数据块,包括:将所述分布式存储磁盘的最小分配单元的大小,设置为与所述分布式存储磁盘的最小操作单元的大小一致;将所述数据块位置信息按照所述最小分配单元的大小划分为多个均等的数据块;所述根据所述偏移地址和所述数据长度,计算确定所述目标数据块在所述数据块位置信息中的顺序编号,包括:根据所述数据长度,将所述目标数据按照所述最小分配单元划分为多个所述目标数据块;根据所述偏移地址和所述最小分配单元的大小,分别确定每个所述目标数据块的偏移地址;分别将每个所述目标数据块的偏移地址与所述最小分配单元相除,得到所述顺序编号;
位置索引信息获取模块,用于获取所述数据块位置信息相应的位置索引信息,所述位置索引信息用于记录所述数据块位置信息所对应的多个物理块位置信息在所述物理块层中的位置;
目标物理块定位模块,用于根据所述位置索引信息在所述目标数据块位置信息相对应的多个所述物理块位置信息中查找确定出与所述目标数据块相对应的目标物理块位置信息;以及
读写操作模块,用于根据所述目标物理块位置信息在分布式存储磁盘中对所述目标数据执行读写操作。
15.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至13任意一项所述的方法。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至13中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311388939.5A CN117270789B (zh) | 2023-10-25 | 2023-10-25 | 一种基于分布式存储的数据控制方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311388939.5A CN117270789B (zh) | 2023-10-25 | 2023-10-25 | 一种基于分布式存储的数据控制方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117270789A CN117270789A (zh) | 2023-12-22 |
CN117270789B true CN117270789B (zh) | 2024-02-06 |
Family
ID=89200838
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311388939.5A Active CN117270789B (zh) | 2023-10-25 | 2023-10-25 | 一种基于分布式存储的数据控制方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117270789B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469120A (zh) * | 2016-08-30 | 2017-03-01 | 华为技术有限公司 | 碎片整理方法、装置及设备 |
CN110019004A (zh) * | 2017-09-08 | 2019-07-16 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
CN111782656A (zh) * | 2020-06-30 | 2020-10-16 | 北京海益同展信息科技有限公司 | 数据读写方法及装置 |
CN113535746A (zh) * | 2021-09-13 | 2021-10-22 | 环球数科集团有限公司 | 一种非关系型数据通过随机序列读写后控制一致性的方法 |
CN114153394A (zh) * | 2021-11-30 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种数据存储管理方法、装置及设备 |
CN116069685A (zh) * | 2023-03-07 | 2023-05-05 | 浪潮电子信息产业股份有限公司 | 一种存储系统写控制方法、装置、设备及可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577339B (zh) * | 2012-07-27 | 2018-01-30 | 深圳市腾讯计算机系统有限公司 | 一种数据存储方法及系统 |
-
2023
- 2023-10-25 CN CN202311388939.5A patent/CN117270789B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106469120A (zh) * | 2016-08-30 | 2017-03-01 | 华为技术有限公司 | 碎片整理方法、装置及设备 |
CN110019004A (zh) * | 2017-09-08 | 2019-07-16 | 华为技术有限公司 | 一种数据处理方法、装置及系统 |
CN111782656A (zh) * | 2020-06-30 | 2020-10-16 | 北京海益同展信息科技有限公司 | 数据读写方法及装置 |
CN113535746A (zh) * | 2021-09-13 | 2021-10-22 | 环球数科集团有限公司 | 一种非关系型数据通过随机序列读写后控制一致性的方法 |
CN114153394A (zh) * | 2021-11-30 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种数据存储管理方法、装置及设备 |
CN116069685A (zh) * | 2023-03-07 | 2023-05-05 | 浪潮电子信息产业股份有限公司 | 一种存储系统写控制方法、装置、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117270789A (zh) | 2023-12-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10481817B2 (en) | Methods and apparatus to optimize dynamic memory assignments in multi-tiered memory systems | |
KR101266580B1 (ko) | 메모리 디바이스에 대한 인덱스된 레지스터 액세스 | |
CN104778127A (zh) | 一种nand flash写数据的方法和装置 | |
CN110286856B (zh) | 卷克隆方法、装置、电子设备及机器可读存储介质 | |
CN110209493B (zh) | 内存管理方法、装置、电子设备及存储介质 | |
CN111930643B (zh) | 一种数据处理方法及相关设备 | |
CN106775474A (zh) | 一种Nand Flash磨损均衡方法、装置及存储器 | |
CN109416621B (zh) | 利用支持共享对象的计算机存储系统来恢复非易失性存储中的空闲空间 | |
CN109460406A (zh) | 一种数据处理方法及装置 | |
CN114385089A (zh) | 一种基于交叉编址的动态bank存储方法、装置及电子设备 | |
US8726101B2 (en) | Apparatus and method for tracing memory access information | |
US11507799B2 (en) | Information processing apparatus and method of operating neural network computing device therein | |
CN116700629B (zh) | 数据处理方法和装置 | |
CN117270789B (zh) | 一种基于分布式存储的数据控制方法、系统及电子设备 | |
US20110231627A1 (en) | Memory managing apparatus and method | |
US20050097258A1 (en) | Systems and methods for accessing thread private data | |
US20170192905A1 (en) | Sequential access to page metadata stored in a multi-level page table | |
KR20150142250A (ko) | 컨트롤러의 작동 방법과 상기 컨트롤러를 포함하는 장치의 작동 방법 | |
WO2019179252A1 (zh) | 一种样本回放数据存取方法及装置 | |
CN115168249A (zh) | 地址转换方法、存储器系统、电子设备及存储介质 | |
CN111143006B (zh) | 命令帮助信息的获取方法及装置 | |
CN111209062A (zh) | 信息获取方法、装置、电子设备及计算机存储介质 | |
WO2017087002A1 (en) | Shared memory for distributed data | |
CN112015672A (zh) | 一种存储系统中数据处理方法、装置、设备及存储介质 | |
CN111435285B (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 |