CN113495889A - 一种分布式对象存储方法、装置、电子设备及存储介质 - Google Patents
一种分布式对象存储方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN113495889A CN113495889A CN202110765726.4A CN202110765726A CN113495889A CN 113495889 A CN113495889 A CN 113495889A CN 202110765726 A CN202110765726 A CN 202110765726A CN 113495889 A CN113495889 A CN 113495889A
- Authority
- CN
- China
- Prior art keywords
- multiplexing
- storage node
- zone
- list
- storage
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013507 mapping Methods 0.000 claims abstract description 12
- 238000012545 processing Methods 0.000 claims description 37
- 230000002159 abnormal effect Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 5
- 238000007726 management method Methods 0.000 description 50
- 238000010586 diagram Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 9
- 238000013500 data storage Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2219—Large Object storage; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- 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/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种分布式对象存储方法、装置、电子设备及存储介质。用于提升SMR磁盘的空间利用率。包括:根据客户端发送的对象的存储请求,确定所述对象是否为第一对象;在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表;在确定存在第一ZG复用列表时,从第一ZG复用列表中确定第一ZG;向客户端发送第一信息,以使所述客户端根据存储节点列表将第一对象的数据写入对应的存储节点,以及使存储节点根据zgId和Zone的映射关系接着第一ZG中每个Zone当前写指针的位置顺序写入客户端待写入的数据。
Description
技术领域
本发明涉及分布式对象存储领域,尤其涉及一种分布式对象存储方法、装置、电子设备及存储介质。
背景技术
随着网络大数据时代的来临,数据存储技术面对前所未有的挑战。例如,在监控领域,随着高清化及智能化要求的不断提升,对于数据存储的要求越来越高。
为了应对视频监控中数据存储量答即数据吞吐性高的特征,叠瓦式磁记录(Shingled Magnetic Recording,SMR)相继诞生。SMR硬盘通过重叠磁道,重新调整数据存储的方式,进而提高了磁道密度,从而增加了单碟的容量。然而正是由于SMR磁盘物理上的特点,导致了SMR磁盘的读行为虽然与普通机械硬盘无异,但是写行为却有着巨大的差异,不支持随机写和原地更新写,仅支持从头到尾顺序写入。
在分布式对象存储系统中,一个对象的存储文件同时写入多个空间Zone,所述多个Zone构成一个空间集合(ZoneGroup,ZG),若上一次写入时,写入对象的存储文件没有占满整个ZG的Zone,且下一次执行写入操作时,下一个对象的存储文件不再继续写入此ZG,将会导致此ZG内Zone未写满导致空间浪费的问题。且,针对一些小文件的存储场景,可能会加剧空间的浪费,使得整个存储系统的垃圾容量占比较高,进而使得SMR磁盘的空间利用率较低。
因此,如何提升SMR磁盘的空间利用率是目前亟待解决的技术问题。
发明内容
本申请实施例提供了一种分布式对象存储方法、装置、电子设备及存储介质。用于提升SMR磁盘的空间利用率。
第一方面,提供一种分布式对象存储方法,所述方法包括:
根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;
在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;
在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;
向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
可选的,所述复用key包括bucket、纠删码和文件类型。
可选的,所述向所述客户端发送第一信息,包括:
确定所述第一ZG的剩余空间大小;
若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;
所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。
可选的,还包括:
确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;
在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。
可选的,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。
可选的,还包括:
确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与管理节点中存储的数据是否相同;
若存在第一存储节点与所述管理节点中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删除。
可选的,还包括:
确定所述第一ZG复用列表中每个ZG的创建时长;
将创建时长超过第二预设时长的ZG从所述第一ZG复用列表中删除。
可选的,还包括:
确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同;
若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。
第二方面,提供一种分布式对象存储装置,所述装置包括:
处理模块,用于根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;
所述处理模块,还用于在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;
所述处理模块,还用于在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;
通信模块,用于向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
可选的,所述复用key包括bucket、纠删码和文件类型。
可选的,所述处理模块,还用于:
确定所述第一ZG的剩余空间大小;
若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;
所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。
可选的,所述处理模块,还用于:
确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;
在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。
可选的,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。
可选的,所述处理模块,还用于:
确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与所述处理模块中存储的数据是否相同;
若存在第一存储节点与所述处理模块中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删除。
可选的,所述处理模块,还用于:
确定所述第一ZG复用列表中每个ZG的创建时长;
将创建时长超过第二预设时长的ZG从所述第一ZG复用列表中删除。
可选的,所述处理模块,还用于:
确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同;
若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。
第三方面,提供一种电子设备,所述电子设备包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行第一方面中任一所述的方法包括的步骤。
第四方面,提供一种计算可读存储介质,所述计算可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行第一方面中任一所述的方法包括的步骤。
第五方面,提供一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行上述各种可能的实现方式中所描述的分布式对象存储方法。
在本申请实施例中,管理节点接收客户端发送的对象的存储请求,判断该对象是否为对象存储文件中的第一个对象,若确定是第一个对象,则判断是否存在第一ZG复用列表的复用key与第一对象的复用key相同,若存在,则从第一ZG复用列表中确定创建时刻最早的第一ZG作为第一对象的复用ZG,并向客户端发送第一ZG的zgId和第一ZG中每个Zone对应的存储节点列表,以使客户端根据存储节点列表将数据写入对应的存储节点,以及使存储节点在客户端将数据写入之后根据zgId和Zone的映射关系接着第一ZG中每个Zone当前写指针的位置继续顺序写入客户端写入的数据。
也就是说,当客户端向管理节点申请空间用于存储文件时,针对存储文件中的第一个对象,优先判断是否有可以复用的第一ZG复用列表,若存在,则从第一ZG复用列表选择创建时刻最早的第一ZG作为第一个对象的复用ZG,将第一个对象的数据写入第一ZG中,使得第一ZG的剩余空间可以再次利用,从而有效提升了SMR磁盘中的空间利用率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例。
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种ZG中每个Zone分别来自不同的SMR的示意图;
图3为本申请实施例提供的分布式对象存储方法的流程交互图;
图4为本申请实施例提供的分布式对象存储装置的结构框图;
图5为本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请的说明书和权利要求书及上述附图中的术语“第一”和“第二”是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的保护。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请中的“多个”可以表示至少两个,例如可以是两个、三个或者更多个,本申请实施例不做限制。
另外,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,在不做特别说明的情况下,一般表示前后关联对象是一种“或”的关系。
为了便于理解,下面先对本发明实施例的技术背景进行介绍。
如前所述的,如何提升SMR磁盘的空间利用率是目前亟待解决的技术问题。目前,在分布式对象存储中,当上一次写入操作时,前面的每个对象都可以占满整个对应的整个ZG,但是最后一个对象的数据可能不能占满整个对应的ZG,因此,当上一次写入操作结束后,最后一个对象对应的ZG中还有剩余的空间,而下一次写入操作时,为每个对象重新申请新的ZG进行数据写入,这样,将会导致上一次写入过程中的最后一个对象对应的ZG的剩余空间浪费,进而使得SMR磁盘的空间利用率较低。
为了提升SMR磁盘的空间利用率,本申请实施例提供了一种分布式对象存储方法的方案,该方案在管理节点确定客户端发送的对象的存储请求中的对象是存储文件中的第一个对象时,优先判断是否存在与当前对象具有相同复用key的第一ZG复用列表,若存在,则从第一ZG复用列表中选择创建时刻最早的第一ZG,并将第一ZG的zgId和第一ZG中每个Zone对应的存储节点列表发送给客户端,使得客户端携带zgId将第一个对象的数据写入对应的存储节点,存储节点根据本地存储的zgId和Zone的映射关系接着第一ZG中每个Zone当前写指针的位置写入客户端待写入的数据,使得第一ZG中的剩余空间得到再次利用,从而有效提升了SMR磁盘的空间利用率。
在介绍完本申请实施例的设计思想后,下面对本申请实施例的技术方案能够适用的应用场景做一些简单的介绍,需要说明的是,以下介绍的应用场景仅用于说明本申请实施例而非限定。在具体实施时,可以根据实际需要灵活地应用本申请实施例提供的技术方案。
请参见图1所示,图1为本申请实施例的技术能够适用的一种应用场景,在该应用场景中,包括客户端10、存储节点11、管理节点12和备用管理节点13,客户端10和存储节点11之间传输数据流,客户端10和管理节点11之间传输信令流,以及管理节点和存储节点之间也传输信令流。其中,客户端10为读写设备,备用管理节点13用于在管理节点12出现异常时,接替管理节点12的功能,存储节点11包括多个存储节点。
在本申请实施例中,客户端10在写入操作的过程中,向管理节点12发送对象存储请求,管理节点12根据客户端10发送的请求,判断客户端请求的对象是否为存储文件的第一对象(即第一个对象),若确定为第一对象,则判断是否存在第一ZG复用列表对应的复用key与第一对象对应的复用key相同,若存在,则在第一ZG复用列表中选择创建时刻最早的第一ZG,并将第一ZG的zgId和第一ZG中每个Zone对应的存储节点列表发送给客户端10,客户端10根据存储节点列表将第一对象的数据写入对应的存储节点,以使存储节点根据本地存储的zgId和Zone的映射关系接着第一ZG中每个Zone当前写指针的位置继续顺序写入客户端10写入的数据,从而提升SMR磁盘的空间利用率。
其中,ZG中包括多个Zone,每个Zone可以是分别来自不同的SMR磁盘的Zone,也可以部分来自同一个SMR磁盘的Zone。图2为本申请实施例提供的一种ZG中每个Zone分别来自不同的SMR的示意图,包括存储节点(Datanode,DN)1、DN2、DN3、DN4和DN5,每个存储节点中包括多个SMR磁盘(即disk),每个disk中包括多个Zone(图中未示出)。在本申请实施例中,ZG包括5个Zone,Zone1为DN1中disk1的一个Zone,Zone2为DN2中disk1的一个Zone,Zone3为DN3中disk1的一个Zone,Zone4为DN4中disk1的一个Zone,Zone5为DN5中disk1的一个Zone,每个ZG由管理节点12进行管理。
下面结合说明书附图介绍本申请实施例提供的技术方案。
请参见图3所示,图3为本申请实施例提供的一种分布式对象存储方法的流程交互图。图3所述的方法流程图如下:
步骤301:客户端发送对象存储请求。
在分布式对象存储过程中,对象存储文件是以对象(Object)为粒度进行拆分的,且在拆分的过程中会对拆分得到的每个Object进行标记,例如,将第一个Object标记为Object1,将第二个Object标记为Object2等等。客户端完成对对象存储文件的拆分之后,向管理节点发送对象存储请求用于申请存储空间写入数据,其中,存储请求中包含了每个Object的标记信息。需要说明的是,在分布式存储的过程中,由于存入ZG的数据是同时写入ZG所包含的每一个Zone,因此,不同的对象存入的ZG不同。
步骤302:管理节点根据对象存储请求,确定所述对象是否为第一对象。
如前所述,客户端在对象存储的过程中,会对拆分的每个对象进行标记,并在发送对象存储请求时会携带对象的标记信息,因此管理节点可以根据客户端发送的对象的存储请求确定该对象是否为第一对象,即对象存储文件中的第一个对象。
在本申请实施例中,仅支持第一个对象在申请空间时允许可变大小,第二个及以上的对象在申请空间是,返回的预分配空间都是标准的默认大小,例如是256MB。,即本申请仅支持第一个对象在申请空间时,可以优先使用其它输入完成后数据没占满的ZG(即空间复用),而针对除去第一个对象之外的其它对象在申请空间时,为其它对象分配全新的ZG。因此,当管理节点确定客户端发送的对象的存储请求中的对象是第一对象,则执行步骤303,当管理节点确定客户端发送的对象的存储请求中的对象不是第一对象,则为该对象分配一个全新的ZG,进行数据写入。
步骤303:管理节点确定是否存在第一ZG复用列表。
如前所述,当第一个对象申请空间时,可以优先使用其它输入完成后数据没占满的ZG,即在本申请实施例中,在其它输入完成后,若写入的数据没有占满整个ZG,则可以将该ZG确定为可复用的ZG,并将该ZG添加到相应的复用列表里,且该复用列表的复用key与该ZG的复用key相同,即复用列表中每个ZG的文件桶bucket、纠删码EC和文件类型相同。
其中,每个ZG全局缓存维护着当前集合中每个Zone的上报状态,当管理节点确定ZG内部最后一个Zone完成上报时,判断当前ZG是否满足复用条件,例如,是否有剩余空间可以继续写入数据或者剩余空间的大小是否小于预设阈值。当确定有剩余空间,且剩余空间的大小大于预设阈值时,则确定满足复用条件;当确定没有剩余空间,或者剩余空间的大小小于预设阈值时,则确定不满足复用条件。这样,可以有效避免由于第一个对象的数据过于小,从而导致增加文件元数据的管理压力的情况。在确定满足复用条件时,将当前ZG的zgId插入到对应的ZG复用列表中。
具体的,可以判断是否有与当前ZG具有相同复用key的ZG复用列表,若存在,则将该当前ZG的zgId插入到对应的ZG复用列表中,若不存在,则创建一个新的ZG复用列表用于存储当前ZG的zgId,并标注该新的ZG复用列表的复用key为当前ZG的复用key。其中,ZG复用列表可以是一个ZG复用队列,在ZG复用队列里,最先创建的ZG的zgId放在ZG复用队列的最前面;还可以是一个随机列表,在ZG复用列表是一个随机列表时,当每个zgId插入时需要对其对应的ZG的创建时刻进行相应的标记,使得在进行ZG复用时,可以根据每个ZG的创建时刻进行选择。
在本申请实施例中,管理节点在确定是第一个对象申请存储空间时,还可以判断是否存在可进行空间复用的第一ZG复用列表,若存在,则执行步骤304,若不存在,则为该第一个对象分配一个全新的ZG进行数据写入。
步骤304:管理节点从所述第一ZG复用列表中确定第一ZG。
当存在第一个对象可进行空间复用的第一ZG复用列表时,需要从第一ZG复用列表中选择一个ZG用于写入该第一个对象的数据。在本申请实施例中,ZG不进行持久化存储,因此需要对每个ZG可复用的时长进行限定,例如是一天。其中,复用时长的限定可以根据实际需求进行动态的调整。例如,当第一ZG复用列表中的一个ZG的创建时长超过复用时长(即第二预设时长)时,需要将该ZG从第一ZG复用列表中删除,因此,管理节点在从第一ZG复用列表中选择第一ZG时可以选择创建时刻最早的ZG,这样,可以有效保证创建时间最早的ZG的剩余空间先被占满,从而减少空间的浪费。
步骤305:管理节点向客户端发送第一信息。
管理节点从第一ZG复用列表中选择出创建时刻最早的第一ZG后,需要将第一ZG的相关信息发送给客户端,其中,第一ZG的相关信息例如是包括第一ZG的zgId和第一ZG中每个Zone对应的存储节点列表的第一信息。
在一种可能的实施方式中,管理节点还可以比较第一ZG剩余空间的大小与第一对象的数据的大小。若确定第一ZG的剩余空间的大小小于第一对象的数据的大小,则管理节点直接分配一个新的第二ZG,并将第二ZG的相关信息发送给客户端,此时第一信息包括:第二ZG的zgId和第二ZG中每个Zone对应的存储节点列表;若确定第一ZG的剩余空间大小大于第一对象的数据的大小,则将第一ZG的相关信息发送给客户端,此时第一信息包括第一ZG的zgId和第一ZG中每个Zone对应的存储节点列表。
例如,第一ZG包括5个Zone,每个Zone的大小是256MB,其中4个空间用于存储数据,1个空间作为校验位,不用于存储数据,则第一ZG中用于存储数据的总空间大小是1024MB,若上一次输入操作时,写入的数据为512MB,那么当前第一ZG可用的剩余空间为512MB,此时,若第一对象的数据大小为512MB,或者第一对象的数据大小小于512MB,则管理节点设置对第一对象空间的预分配大小为512MB,并将第一ZG的zgId和第一ZG中每个Zone对应的存储节点列表发送给客户端;若第一对象的数据大小大于512MB,则第一ZG的剩余空间不足以存储第一对象的所有数据,因此,管理节点直接分配一个新的第二ZG用于存储第一对象的数据,并将第二ZG的zgId和第二ZG中每个Zone对应的存储节点列表发送给客户端。
步骤306:客户端根据第一信息将第一对象的数据写入对应的存储节点。
在本申请实施例中,客户端在接收到管理节点发送的第一信息时,根据第一信息中的第一ZG中每个Zone对应的存储节点列表将第一对象的数据(例如是SDK数据)写入对应的存储节点。
例如,第一ZG中包括5个Zone,每个Zone来自一个存储节点的一个SMR磁盘,其中,Zone1来自DN1,Zone2来自DN2,Zone3来自DN5,Zone来自为DN8,以及Zone5来自DN9。客户端根据第一ZG中每个Zone对应的存储节点列表将第一对象的SDK数据同时分布写入DN1、DN2、DN5、DN8和DN9。
步骤307:存储节点根据据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
在本申请实施例中,每个存储节点在客户端将SDK数据写入之后,根据自身存储的zgId和Zone的映射关系找到对应的Zone,将客户端写入的数据接着该Zone当前写指针的位置继续写入。其中,第一ZG的zgId可以是客户端在写入数据时携带的,也可以是管理节点发送的。
以步骤306中的例子继续举例,客户端根据第一ZG中每个Zone对应的存储节点列表将第一对象的SDK数据同时分布写入DN1、DN2、DN5、DN8和DN9之后,每个存储节点,根据自身存储的zgId的Zone的映射关系确定本存储节点下集合到第一ZG中的Zone,例如是DN1确定本存储节点集合到第一ZG中的Zone为本存储节点disk2中的第二个Zone(对应于第一ZG中的Zone1),DN2确定本存储节点集合到第一ZG中的Zone为本存储节点disk1中的第一个Zone(对应于Zone2),DN5确定本存储节点集合到第一ZG中的Zone为本存储节点disk3中第二个Zone(对应于Zone3),DN8确定本存储节点集合到第一ZG中的Zone为本存储节点disk1中的第四个Zone(对应于Zone4),DN9确定本存储节点集合到第一ZG中的Zone为本存储节点disk3中的第一个Zone(对应于Zone5)。
然后每个存储节点接着本存储节点对应于第一ZG中的Zone的写指针的位置处顺序写入客户端写入的数据。例如,上一次执行写入操作时,在第一ZG的每个Zone内写入的数据为128MB,此时,写指针的位置在128MB数据结束的位置,因此DN1、DN2、DN5、DN8和DN9分别在Zone1、Zone2、Zone3、Zone4和Zone5内128MB数据结束的位置继续顺序写入客户端写入的数据。
在一种可能的实施方式中,当管理节点确定不存在第一ZG复用列表,为第一对象分配了新的ZG时,客户端根据存储节点列表将第一对象的数据写入之后,存储节点找不到对应的zgId记录时,此时存储节点可以根据当前磁盘的负载情况,选择一个SMR磁盘的全新Zone区域,与这个zgId关联,并更新zgId与SMR磁盘的缓存记录,使得在该第一对象写入的数据本能占满整个ZG,该新的ZG需要进行复用时,可以直接定位到具体的Zone。
在一些其它的实施例中,管理节点需要实时对ZG复用列表进行管理,以使ZG复用列表里的每个ZG都是可以复用的。
在一种可能的实施方式中,管理节点需要判断每个ZG内的每个Zone对应的存储节点是否发生异常,即是否发生离线或者被删除,若确定任一存储节点发生异常时,则将该任一存储节点对应的ZG重置为不可复用状态,并将该ZG从所属的ZG复用列表里删除。其中,当确定存储节点发生的异常是该存储节点被删除,则立即重置跟这个存储节点相关的所有Zone的状态,设置对应ZG内的这个Zone的状态为未上报,且将对应的ZG重置为不可复用状态,并且从对应的ZG复用列表里删除。当确定存储节点发生的异常是离线时,为了避免是网络抖动引起存储节点频繁上下线,将该存储节点添加到延时重置ZG状态队列,在延时重置ZG队列对应的存储节点超过第一预设时长时,重置跟这个存储节点相关的所有Zone的状态,设置对应ZG内的这个Zone的状态为未上报,且将对应的ZG重置为不可复用状态,并且从对应的ZG复用列表里删除。
例如,DN1中disk1中的第一个Zone被集合到第一ZG复用列表的第三ZG中,则管理节点在确定DN1发生异常时,将第一ZG复用列表中的第三ZG重置为不可复用状态,并将第三ZG从第一ZG复用列表里删除。又例如,DN1中disk1中的第一个Zone被集合到第一ZG复用列表的第三ZG中,DN1中disk1中的第二个Zone被集合到第二ZG复用列表的第一ZG中,DN1中disk2中的第一个Zone被集合到第三ZG复用列表的第一ZG中,则管理节点在确定DN1发生异常时,分别将第一ZG复用列表中的第三ZG、第二ZG复用列表的第一ZG和第三ZG复用列表的第一ZG重置为不可复用状态,并分别将第一ZG复用列表中的第三ZG从第一ZG复用列表里删除、第二ZG复用列表的第一ZG从第二ZG复用列表里删除和第三ZG复用列表的第一ZG从第三ZG复用列表里删除。
在一种可能的实施方式中,管理节点还需要判断每个ZG中每个Zone对应的每个存储节点存储的数据与自身存储的数据是否相同,若存在存储节点与管理节点中存储的数据不相同,则将该存储节点对应的Zone从所属的ZG中删除,例如,管理节点确定第一ZG中每个Zone对应的每个存储节点存储的数据与管理节点存储的数据是否相同,若存在第一存储节点与管理节点存储的数据不同,则将第一存储节点对应的Zone从第一ZG中删除。
例如,管理节点基于存储节点周期性全量上报的数据,缓存本次上报的所有的Zone的信息,并根据这些信息比对管理节点内部缓存的对应的ZG状态,若出现数据不一致,则将该存储节点对应的所有ZG缓存重置为不可复用状态,并将该所有的ZG从对应的ZG复用列表里删除。从而有效避免管理节点元数据存在ZG缓存的脏数据,导致管理节点和存储节点的数据不一致。
在一种可能的实施方式中,管理节点还需要实时确定每个ZG复用列表中的每个ZG里包含的Zone的剩余空间大小是否相同,若存在ZG内有Zone的剩余空间和当前ZG内其它Zone的剩余空间大小不相同时,将该ZG从所属的ZG复用列表中删除。例如,确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同,若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。
以步骤306所举的例子为例,当上次执行写操作时,DN1出现掉线状态时,第一ZG中Zone1与第一ZG中其它4个Zone写指针位置没对齐,Zone1中剩余空间大小大于第一ZG中其它4个Zone剩余空间的大小,此时,需要将第一ZG从第一ZG复用列表中删除。
基于同一发明构思,本申请实施例提供了一种分布式对象存储装置,该分布式对象存储装置能够实现前述的分布式对象存储方法对应的功能。该分布式对象存储装置可以是硬件结构、软件模块、或硬件结构加软件模块。该分布式对象存储装置可以由芯片系统实现,芯片系统可以由芯片构成,也可以包含芯片和其他分立器件。请参见图4所示,该分布式对象存储装置包括处理模块401和通信模块402。其中:
处理模块401,用于根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;
所述处理模块401,还用于在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;
所述处理模块401,还用于在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;
通信模块402,用于向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
在一种可能的实施方式中,所述复用key包括bucket、纠删码和文件类型。
在一种可能的实施方式中,所述处理模块401,还用于:
确定所述第一ZG的剩余空间大小;
若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;
所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。
在一种可能的实施方式中,所述处理模块401,还用于:
确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;
在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。
在一种可能的实施方式中,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。
在一种可能的实施方式中,所述处理模块401,还用于:
确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与所述处理模块中存储的数据是否相同;
若存在第一存储节点与所述处理模块中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删除。
在一种可能的实施方式中,所述处理模块401,还用于:
确定所述第一ZG复用列表中每个ZG的创建时长;
将创建时长超过第二预设时长的ZG从所述第一ZG复用列表中删除。
在一种可能的实施方式中,所述处理模块401,还用于:
确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同;
若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。
前述的分布式对象存储方法的实施例涉及的各步骤的所有相关内容均可援引到本申请施例中的分布式对象存储装置所对应的功能模块的功能描述,在此不再赘述。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
基于同一发明构思,本申请实施例提供一种电子设备。请参见图5所示,该电子设备包括至少一个处理器501,以及与至少一个处理器连接的存储器502,本申请实施例中不限定处理器501与存储器502之间的具体连接介质,图5中是以处理器501和存储器502之间通过总线500连接为例,总线500在图5中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线500可以分为地址总线、数据总线、控制总线等,为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
在本申请实施例中,存储器502存储有可被至少一个处理器501执行的指令,至少一个处理器501通过执行存储器502存储的指令,可以执行前述的分布式对象存储方法中所包括的步骤。
其中,处理器501是电子设备的控制中心,可以利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器502内的指令以及调用存储在存储器502内的数据,电子设备的各种功能和处理数据,从而对电子设备进行整体监控。可选的,处理器501可包括一个或多个处理单元,处理器501可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器501中。在一些实施例中,处理器501和存储器502可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器501可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的分布式对象存储方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器502作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器502可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static Random Access Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器502是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器502还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器501进行设计编程,可以将前述实施例中介绍的分布式对象存储方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行前述的分布式对象存储方法的步骤,如何对处理器501进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (18)
1.一种分布式对象存储方法,其特征在于,所述方法包括:
根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;
在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;
在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;
向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
2.如权利要求1所述的方法,其特征在于,所述复用key包括bucket、纠删码和文件类型。
3.如权利要求1所述的方法,其特征在于,所述向所述客户端发送第一信息,包括:
确定所述第一ZG的剩余空间大小;
若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;
所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。
4.如权利要求1所述的方法,其特征在于,还包括:
确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;
在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。
5.如权利要求4所述的方法,其特征在于,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。
6.如权利要求1所述的方法,其特征在于,还包括:
确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与管理节点中存储的数据是否相同;
若存在第一存储节点与所述管理节点中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删除。
7.如权利要求1所述的方法,其特征在于,还包括:
确定所述第一ZG复用列表中每个ZG的创建时长;
将创建时长超过第二预设时长的ZG从所述第一ZG复用列表中删除。
8.如权利要求1所述的方法,其特征在于,还包括:
确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同;
若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。
9.一种分布式对象存储装置,其特征在于,所述装置包括:
处理模块,用于根据客户端发送的对象的存储请求,确定所述对象是否为第一对象,所述第一对象为对象存储文件中的第一个对象;
所述处理模块,还用于在确定所述对象为第一对象时,确定是否存在第一空间集合ZG复用列表,所述第一ZG复用列表对应的复用键key与所述第一对象对应的复用key相同,所述第一ZG复用列表中的每个ZG包括SMR磁盘的多个Zone;
所述处理模块,还用于在确定存在所述第一ZG复用列表时,从所述第一ZG复用列表中确定第一ZG,所述第一ZG为所述第一ZG复用列表中创建时刻最早的ZG;
通信模块,用于向所述客户端发送第一信息,所述第一信息包括所述第一ZG的zgId和所述第一ZG中每个Zone对应的存储节点列表,以使所述客户端根据所述存储节点列表将所述第一对象的数据写入对应的存储节点,以及使所述存储节点根据zgId和Zone的映射关系接着所述第一ZG中每个Zone当前写指针的位置顺序写入所述客户端待写入的数据。
10.如权利要求9所述的装置,其特征在于,所述复用key包括bucket、纠删码和文件类型。
11.如权利要求9所述的装置,其特征在于,所述处理模块,还用于:
确定所述第一ZG的剩余空间大小;
若所述第一ZG的剩余空间大小小于所述第一对象的数据的大小,则生成新的第二ZG;
所述第一信息包括:所述第二ZG的zgId和所述第二ZG中每个Zone对应的存储节点列表。
12.如权利要求9所述的装置,其特征在于,所述处理模块,还用于:
确定所述第一ZG复用列表中每个ZG内的Zone对应的存储节点是否发生异常;
在确定任一存储节点发生异常时,将所述任一存储节点对应的第三ZG重置为不可复用状态,并将所述任一存储节点对应的ZG从所述第一ZG复用列表中删除。
13.如权利要求12所述的装置,其特征在于,所述异常包括:存储节点被删除或所述存储节点的离线时长超过第一预设时长。
14.如权利要求9所述的装置,其特征在于,所述处理模块,还用于:
确定所述第一ZG中每个Zone对应的每个存储节点存储的数据与所述处理模块中存储的数据是否相同;
若存在第一存储节点与所述处理模块中存储的数据不相同,则将所述第一存储节点对应的Zone从所述第一ZG中删除。
15.如权利要求9所述的装置,其特征在于,所述处理模块,还用于:
确定所述第一ZG复用列表中每个ZG的创建时长;
将创建时长超过第二预设时长的ZG从所述第一ZG复用列表中删除。
16.如权利要求9所述的装置,其特征在于,所述处理模块,还用于:
确定所述第一ZG复用列表中每个ZG内的每个Zone剩余的空间大小是否相同;
若存在第四ZG内的第一Zone的剩余空间与所述第四ZG内其它Zone的剩余空间大小不同,则将所述第四ZG从所述第一ZG复用列表中删除。
17.一种电子设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行权利要求1-8任一项所述的方法包括的步骤。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被计算机执行时,使所述计算机执行如权利要求1-8任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110765726.4A CN113495889B (zh) | 2021-07-07 | 2021-07-07 | 一种分布式对象存储方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110765726.4A CN113495889B (zh) | 2021-07-07 | 2021-07-07 | 一种分布式对象存储方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113495889A true CN113495889A (zh) | 2021-10-12 |
CN113495889B CN113495889B (zh) | 2024-03-15 |
Family
ID=77995848
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110765726.4A Active CN113495889B (zh) | 2021-07-07 | 2021-07-07 | 一种分布式对象存储方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113495889B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114153392A (zh) * | 2021-11-29 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种对象存储数据存储管理方法、装置及设备 |
CN114153389A (zh) * | 2021-11-22 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种异常zone自动补齐方法、装置及设备 |
CN114221975A (zh) * | 2021-11-30 | 2022-03-22 | 浙江大华技术股份有限公司 | 基于smr盘的云存储数据恢复方法及装置、电子设备 |
CN114371815A (zh) * | 2021-12-13 | 2022-04-19 | 浙江大华技术股份有限公司 | 一种数据存储方法、装置及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164340A (zh) * | 2011-12-16 | 2013-06-19 | 上海博泰悦臻电子设备制造有限公司 | 对象的存储方法及装置、终端 |
CN106527981A (zh) * | 2016-10-31 | 2017-03-22 | 华中科技大学 | 一种基于配置的自适应分布式存储系统的数据分片方法 |
US20170220264A1 (en) * | 2016-02-01 | 2017-08-03 | Seagate Technology Llc | Zone forward drive management |
JP2020038623A (ja) * | 2018-09-04 | 2020-03-12 | 北京百度网▲訊▼科技有限公司Beijing Baidu Netcom Science And Technology Co.,Ltd. | データを記憶するための方法、装置及びシステム |
CN111026329A (zh) * | 2019-11-18 | 2020-04-17 | 华中科技大学 | 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法 |
CN111124301A (zh) * | 2019-12-18 | 2020-05-08 | 深圳供电局有限公司 | 一种对象存储设备的数据一致性存储方法及系统 |
CN111506269A (zh) * | 2020-04-22 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种磁盘存储空间分配方法、装置、设备及存储介质 |
CN111666047A (zh) * | 2020-06-04 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种分布式系统中存储卷的生成方法和相关装置 |
CN111913707A (zh) * | 2020-08-06 | 2020-11-10 | 上海连尚网络科技有限公司 | 运行进程的复用方法和装置 |
CN112527492A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 一种分布式存储系统中的数据存储方法及装置 |
-
2021
- 2021-07-07 CN CN202110765726.4A patent/CN113495889B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103164340A (zh) * | 2011-12-16 | 2013-06-19 | 上海博泰悦臻电子设备制造有限公司 | 对象的存储方法及装置、终端 |
US20170220264A1 (en) * | 2016-02-01 | 2017-08-03 | Seagate Technology Llc | Zone forward drive management |
CN106527981A (zh) * | 2016-10-31 | 2017-03-22 | 华中科技大学 | 一种基于配置的自适应分布式存储系统的数据分片方法 |
JP2020038623A (ja) * | 2018-09-04 | 2020-03-12 | 北京百度网▲訊▼科技有限公司Beijing Baidu Netcom Science And Technology Co.,Ltd. | データを記憶するための方法、装置及びシステム |
CN112527492A (zh) * | 2019-09-18 | 2021-03-19 | 华为技术有限公司 | 一种分布式存储系统中的数据存储方法及装置 |
CN111026329A (zh) * | 2019-11-18 | 2020-04-17 | 华中科技大学 | 基于主机管理瓦记录磁盘的键值存储系统及数据处理方法 |
CN111124301A (zh) * | 2019-12-18 | 2020-05-08 | 深圳供电局有限公司 | 一种对象存储设备的数据一致性存储方法及系统 |
CN111506269A (zh) * | 2020-04-22 | 2020-08-07 | 腾讯科技(深圳)有限公司 | 一种磁盘存储空间分配方法、装置、设备及存储介质 |
CN111666047A (zh) * | 2020-06-04 | 2020-09-15 | 腾讯科技(深圳)有限公司 | 一种分布式系统中存储卷的生成方法和相关装置 |
CN111913707A (zh) * | 2020-08-06 | 2020-11-10 | 上海连尚网络科技有限公司 | 运行进程的复用方法和装置 |
Non-Patent Citations (1)
Title |
---|
刘文国: "瓦记录磁盘系统性能优化方法的研究", 中国博士学位论文信息科技, no. 1 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114153389A (zh) * | 2021-11-22 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种异常zone自动补齐方法、装置及设备 |
CN114153392A (zh) * | 2021-11-29 | 2022-03-08 | 浙江大华技术股份有限公司 | 一种对象存储数据存储管理方法、装置及设备 |
CN114221975A (zh) * | 2021-11-30 | 2022-03-22 | 浙江大华技术股份有限公司 | 基于smr盘的云存储数据恢复方法及装置、电子设备 |
CN114221975B (zh) * | 2021-11-30 | 2024-01-30 | 浙江大华技术股份有限公司 | 基于smr盘的云存储数据恢复方法及装置、电子设备 |
CN114371815A (zh) * | 2021-12-13 | 2022-04-19 | 浙江大华技术股份有限公司 | 一种数据存储方法、装置及系统 |
CN114371815B (zh) * | 2021-12-13 | 2024-05-28 | 浙江大华技术股份有限公司 | 一种数据存储方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113495889B (zh) | 2024-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113495889B (zh) | 一种分布式对象存储方法、装置、电子设备及存储介质 | |
US9355112B1 (en) | Optimizing compression based on data activity | |
CN109496300B (zh) | 一种存储介质垃圾回收方法、存储介质和程序产品 | |
CN111159436B (zh) | 一种推荐多媒体内容的方法、装置及计算设备 | |
JP2013509658A (ja) | 将来の使用推量に基づく記憶メモリの割り当て | |
CN109428913B (zh) | 一种存储扩容方法及装置 | |
JP2003015912A (ja) | メッセージ・ロギングの細分制御のためのシステム及び方法 | |
CN110147203B (zh) | 一种文件管理方法、装置、电子设备及存储介质 | |
CN103761190A (zh) | 数据处理方法及装置 | |
CN113377292B (zh) | 一种单机存储引擎 | |
CN113568582B (zh) | 数据管理方法、装置和存储设备 | |
CN113282249B (zh) | 一种数据处理方法、系统、设备以及介质 | |
CN109684271A (zh) | 快照数据管理方法、装置、电子设备及机器可读存储介质 | |
CN112463058A (zh) | 一种碎片数据整理方法、装置及存储节点 | |
CN115617264A (zh) | 分布式存储方法及装置 | |
CN109753224B (zh) | 存储结构及存储结构配置方法 | |
CN114217740A (zh) | 一种存储管理方法、设备、系统和计算机可读存储介质 | |
CN109508140B (zh) | 存储资源管理方法、装置、电子设备及电子设备、系统 | |
CN113485874B (zh) | 数据处理方法及分布式存储系统 | |
CN102063383A (zh) | 一种逻辑区段和物理区段之间映射关系的记录方法 | |
CN114327942A (zh) | 一种共享内存管理方法和缓存服务组件 | |
CN111708489B (zh) | 一种提高硬盘服务质量的方法和设备 | |
CN114237489B (zh) | 将逻辑资源写入smr盘的方法、装置、电子设备及存储介质 | |
CN114153392A (zh) | 一种对象存储数据存储管理方法、装置及设备 | |
CN113504878A (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 |