CN115951846A - 数据写入方法、装置、设备及介质 - Google Patents
数据写入方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115951846A CN115951846A CN202310247632.7A CN202310247632A CN115951846A CN 115951846 A CN115951846 A CN 115951846A CN 202310247632 A CN202310247632 A CN 202310247632A CN 115951846 A CN115951846 A CN 115951846A
- Authority
- CN
- China
- Prior art keywords
- data
- request
- write
- solid state
- state disk
- 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 60
- 239000007787 solid Substances 0.000 claims abstract description 148
- 230000014759 maintenance of location Effects 0.000 claims abstract description 29
- 238000012217 deletion Methods 0.000 claims description 44
- 230000037430 deletion Effects 0.000 claims description 44
- 238000011084 recovery Methods 0.000 claims description 35
- 238000004590 computer program Methods 0.000 claims description 12
- 230000002085 persistent effect Effects 0.000 claims description 10
- 238000009825 accumulation Methods 0.000 claims description 9
- 230000000903 blocking effect Effects 0.000 claims description 9
- 230000003993 interaction Effects 0.000 abstract description 15
- 230000003321 amplification Effects 0.000 abstract description 11
- 238000003199 nucleic acid amplification method Methods 0.000 abstract description 11
- 230000002035 prolonged effect Effects 0.000 abstract description 8
- 238000007726 management method Methods 0.000 description 113
- 230000002688 persistence Effects 0.000 description 16
- 230000001960 triggered effect Effects 0.000 description 14
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000000717 retained effect Effects 0.000 description 4
- 230000009467 reduction Effects 0.000 description 3
- 238000013523 data management Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请公开了数据写入方法、装置、设备及介质,应用于分布式存储技术领域,包括:将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;确定所述临时管理队列的已使用空间;若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。这样,无需元数据落盘,同时降低了与固态硬盘的交互次数,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。
Description
技术领域
本申请涉及分布式存储技术领域,特别涉及数据写入方法、装置、设备及介质。
背景技术
目前,分布式存储软件对于写IO(即Input/Output,输入/输出)请求需要依赖双写来保证数据可靠性。写IO请求会clone(克隆)一份元数据来管理旧数据,该元数据需要落盘并且在删除旧数据时需要读取该元数据来删除旧数据,根据写事务的结果状态,实现留存新数据或旧数据的其中一份,删除另一份,存在与SSD(即Solid State Disk,固态硬盘)的交互,过多的与SSD交互不仅降低性能还降低磁使用寿命。综上,现有保证数据写可靠性的方案中存在数据放大,以及降低写请求性能以及固态硬盘使用寿命的问题。
发明内容
有鉴于此,本申请的目的在于提供数据写入方法、装置、设备及介质,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。其具体方案如下:
第一方面,本申请公开了一种数据写入方法,应用于分布式存储软件,包括:
将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
确定所述临时管理队列的已使用空间;
若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。
在一些实施例中,所述将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存,具体为将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积。
在一些实施例中,所述触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列,具体为触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
在一些实施例中,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。
在一些实施例中,还包括:
将写IO请求的IO信息添加至IO信息统计记录中;所述IO信息包括被覆盖旧数据的大小信息;
相应的,所述确定所述临时管理队列的已使用空间,包括:
基于所述IO信息统计记录确定所述临时管理队列的已使用空间。
在一些实施例中,所述IO信息统计记录还包括写入完成状态标识信息;
相应的,所述方法还包括:基于所述写入完成状态标识信息识别写IO请求是否完成写入。
在一些实施例中,还包括:
当写IO请求完成写入,且该写IO请求对应的被覆盖旧数据属于堆积的数据,则向所述固态硬盘发送第一数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
在一些实施例中,还包括:
当写IO请求写入失败时,则向所述固态硬盘发送故障恢复通知,以便所述固态硬盘基于堆积的数据中该写IO请求对应的被覆盖旧数据进行数据恢复;
当数据恢复完成,则向所述固态硬盘发送第二数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
在一些实施例中,在固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除之后,还包括:
修改所述IO信息统计记录。
在一些实施例中,还包括:
判断堆积的数据所占用的空间是否达到所述空间阈值;
若堆积的数据所占用的空间达到所述空间阈值,则进行IO阻塞。
第二方面,本申请公开了一种数据写入方法,应用于固态硬盘,包括:
写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;
其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。
在一些实施例中,所述将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存,包括:
将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积。
在一些实施例中,所述将所述写IO请求对应的被覆盖旧数据存入临时管理队列,包括:
将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
在一些实施例中,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。
在一些实施例中,还包括:
当获取到分布式存储软件发送的第一数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;
其中,所述第一数据删除通知为当写IO请求完成写入时发送的数据删除通知。
在一些实施例中,还包括:
当获取到分布式存储软件发送的故障恢复通知,则基于堆积的数据中相应写IO请求对应的被覆盖旧数据进行数据恢复。
在一些实施例中,还包括:
当获取到分布式存储软件发送的第二数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;
其中,所述第二数据删除通知为当数据恢复完成发送的数据删除通知。
第三方面,本申请公开了一种数据写入装置,包括:
IO数据写入模块,用于将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
已使用空间确定模块,用于确定所述临时管理队列的已使用空间;
数据保留通知发送模块,用于若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。
在一些实施例中,还包括:第一数据删除通知发送模块,用于当写IO请求完成写入,且该写IO请求对应的被覆盖旧数据属于堆积的数据,则向所述固态硬盘发送第一数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
在一些实施例中,还包括:故障恢复通知发送模块,用于当写IO请求写入失败时,则向所述固态硬盘发送故障恢复通知,以便所述固态硬盘基于堆积的数据中该写IO请求对应的被覆盖旧数据进行数据恢复。
在一些实施例中,还包括:第二数据删除通知发送模块,用于当数据恢复完成,则向所述固态硬盘发送第二数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
第四方面,本申请公开了一种数据写入装置,应用于固态硬盘,包括:
数据写入模块,用于写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
持久化保存模块,用于当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;
其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。
第五方面,本申请公开了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现前述的数据写入方法。
第六方面,本申请公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述的数据写入方法。
可见,本申请将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;确定所述临时管理队列的已使用空间;若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。也即,本申请中,固态硬盘中提供临时管理队列,将写IO请求携带的数据写入固态硬盘,则触发固态硬盘将相应的被覆盖旧数据存入临时管理队列,该队列满则自动淘汰数据,分布式存储软件无需与固态硬盘进行交互来删除旧数据,另外,分布式存储软件根据临时管理队列的已使用空间来确定是否需要进行旧数据持久化,当临时管理队列的已使用空间达到空间阈值,则向固态硬盘发送数据保留通知,固态硬盘将未完成写入的写IO请求对应的被覆盖旧数据持久化保存,来保障数据的可靠性。这样,无需元数据落盘,同时降低了与固态硬盘的交互次数,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种数据写入方法流程图;
图2为本申请实施例提供的一种具体的IO信息统计表示意图;
图3为本申请实施例提供的一种固态硬盘中临时管理队列的数据管理逻辑图;
图4为本申请实施例提供的一种写请求操作流程比对图;
图5为本申请实施例提供的另一种数据写入方法流程图;
图6为本申请实施例提供的一种数据写入装置示意图;
图7为本申请实施例提供的一种电子设备结构图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
目前,分布式存储软件对于写IO请求需要依赖双写来保证数据可靠性。写IO请求会clone一份元数据来管理旧数据,该元数据需要落盘并且在删除旧数据时需要读取该元数据来删除旧数据,根据写事务的结果状态,实现留存新数据或旧数据的其中一份,删除另一份,存在与SSD的交互,过多的与SSD交互不仅降低性能还降低磁使用寿命。综上,现有保证数据写可靠性的方案中存在数据放大,以及降低SSD性能以及使用寿命的问题。为此,本申请提供了数据写入方案,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。
参见图1所示,本申请实施例公开了一种数据写入方法,应用于分布式存储软件,包括:
步骤S11:将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据。
可以理解的是,本申请实施例固态硬盘提供临时管理队列(即固定大小的专用空间)来保存旧数据,将写IO请求携带的数据写入固态硬盘,固态硬盘自动将将所述写IO请求对应的被覆盖旧数据存入临时管理队列。并且,临时管理队列为先进先出队列。
步骤S12:确定所述临时管理队列的已使用空间。
在具体的实施方式中,可以将写IO请求的IO信息添加至IO信息统计记录中;所述IO信息包括被覆盖旧数据的大小信息;相应的,基于所述IO信息统计记录确定所述临时管理队列的已使用空间。
也即,IO信息统计记录用于记录被覆盖旧数据放置于临时管理队列的每个写IO请求的IO信息,IO信息包括被覆盖旧数据的大小信息,根据IO信息统计记录可以计算出临时管理队列的已使用空间。
步骤S13:若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。
其中,空间阈值可以为预设的固定阈值,比如临时管理队列总空间的80%,也可以为动态阈值。
其中,所述将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存,具体为将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积。相应的,所述触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列,具体为触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
另外,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。因为各请求是独立执行的,当移走一个请求后,下一个请求有可能是完成状态,可以释放空间,继续执行新请求。
并且,所述IO信息统计记录还包括写入完成状态标识信息;相应的,本申请实施例基于所述写入完成状态标识信息识别写IO请求是否完成写入。本申请实施例可以采用多线程并发将写IO请求的IO信息添加至IO信息统计记录,当任一线程中新写IO请求到来,则该写IO请求的上一个写IO请求为完成状态,修改相应的写入完成状态标识信息。
进一步的,当写IO请求完成写入,且该写IO请求对应的被覆盖旧数据属于堆积的数据,则向所述固态硬盘发送第一数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
另外,当写IO请求写入失败时,则向所述固态硬盘发送故障恢复通知,以便所述固态硬盘基于堆积的数据中该写IO请求对应的被覆盖旧数据进行数据恢复;当数据恢复完成,则向所述固态硬盘发送第二数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
也即,本申请中,已完成的写请求在队列满时自动删除,并且,在阈值处触发持久化操作,保留需要长期保留的未完成写请求的旧数据,直至写请求完成后或故障恢复完成后通知删除。
并且,在固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除之后,本申请实施例修改所述IO信息统计记录。
另外,本申请实施例还可以判断堆积的数据所占用的空间是否达到所述空间阈值;若堆积的数据所占用的空间达到所述空间阈值,则进行IO阻塞。
在一种实施方式中,IO信息统计记录可以为IO信息统计表,例如,参见图2所示,图2为本申请实施例公开的一种具体的IO信息统计表示意图。分布式存储软件中包括OSD(即Object Store Daemon,对象存储进程),用于处理读写请求,PG(即Placement Group,放置组),为OSD进程中真正处理业务请求的一个子模块,一个OSD进程包含多个PG,PG之间并行操作,一个PG包括可以包括多个线程,图2中以线程1和线程2为例,表中,包括Flag(标志位),默认为0,在写IO事务完成时标记为1。阈值位置处可以基于0标志的IO通知SSD进行持久化操作,1标志的不做处理。在达到队尾时自动丢弃。SIZE(数据大小)表示某写IO的被覆盖旧数据的大小。Oid作为IO的标识,用于识别到底是哪一个IO。对于某一线程,相邻IO的下一个IO来作为前一个IO的写请求完成的判断,通过上图中以线程区分的指针结构完成对新IO信息填入统计表的操作,同时进行更改前一个IO的Flag操作(写完成标志为1)。并且,采用多线程并发填表,能很好的适配统计写IO信息的操作和写IO主流程的并发写操作,做到不影响写IO流程性能。基于统计表中每个IO的被覆盖数据大小计算出临时管理的已使用空间,以此作为空间阈值的触发条件。堆积数据大小达到阈值大小时会触发阻塞逻辑。
参见图3所示,图3为本申请实施例提供的一种固态硬盘中临时管理队列的数据管理逻辑图,上层软件在阈值大小位置处会触发持久化操作,也即堆积数据与非堆积数据的数据和>=阈值时触发持久化操作,SSD收到通知后,需将要长期保存的IO的旧数据置于临时管理队列的队首位置,长期保存的数据形成了上图的堆积数据。可以先保留队尾的未完成IO的旧数据,因为PG之间的请求是独立执行的,当移走一个请求后,下一个请求有可能是完成状态,可以释放空间,继续执行新请求。软件层新写IO请求对应的被覆盖旧数据在堆积数据之后插入。上层软件统计临时管理队列的数据情况,在堆积数据也达到阈值时进行阻塞。并且,收到针对堆积数据中的IO旧数据的删除通知时,SSD将该IO的旧数据放入垃圾回收队列,等待回收删除即可。删除成功时,上层软件同步更新IO的统计信息。
可见,本申请实施例将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;确定所述临时管理队列的已使用空间;若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。也即,本申请中,固态硬盘中提供临时管理队列,将写IO请求携带的数据写入固态硬盘,则触发固态硬盘将相应的被覆盖旧数据存入临时管理队列,该队列满则自动淘汰数据,分布式存储软件无需与固态硬盘进行交互来删除旧数据,另外,分布式存储软件根据临时管理队列的已使用空间来确定是否需要进行旧数据持久化,当临时管理队列的已使用空间达到空间阈值,则向固态硬盘发送数据保留通知,固态硬盘将未完成写入的写IO请求对应的被覆盖旧数据持久化保存,来保障数据的可靠性。这样,无需元数据落盘,同时降低了与固态硬盘的交互次数,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。
例如,参见图4所示,图4为本申请实施例提供的一种写请求操作流程比对图,图4中(a)为现有技术中的写请求操作流程示意图,每次写操作过程中,现有方案依赖拷贝的元数据管理旧数据,用来保证整体流程中正常写完成时落盘新数据删除旧数据或者异常场景时删除新数据恢复旧数据,从而达到保证数据可靠性的目的。图4中(b)为本申请提供的一种写请求操作流程示意图,本方案通过软件层统计IO信息来获取SSD磁盘中旧数据的空间使用状态,配合写IO请求的完成情况,来管理SSD磁盘中的被覆盖的旧数据。正常写IO事务完成时,该旧数据自动淘汰,软件与硬件0交互即可完成写IO。发生故障时,可以读取SSD磁盘中保留的旧数据来恢复被覆盖的旧数据。SSD中管理旧数据的空间有限,同时设计了阈值管理逻辑,保障未能及时处理的IO可以长期堆积,等待写IO事务完成或故障恢复完成后删除。具体的,硬件层:SSD磁盘提供临时管理队列保存旧数据,该队列默认先入先出,队列满时的IO自动淘汰;收到软件层某IO的保留通知时,将队列中该IO的旧数据放入临时管理队列的队首位置堆积起来。堆积的旧数据可长期保存,直至收到软件层的某IO的删除通知后该IO对应的旧数据可参与垃圾回收。需长期保存的堆积数据过多时,需要上层软件进行写IO阻塞。队列中的其它旧数据会在队列满时自动淘汰删除。软件层:需统计整个OSD进程中每个写IO的信息,来达到识别SSD磁盘中临时管理队列的空间使用状态的目的。写事务完成时对统计表中的IO进行标记。作为上层软件是否通知SSD保留或删除该IO旧数据的依据之一。统计表中设计阈值大小位置,与前述标记信息配合来触发通知SSD保留操作。堆积的旧数据也达到阈值时,进行阻塞操作。防止事务未完成的IO数据丢失。IO的空间统计信息更新有两处,新写的IO插入时并发更新,故障恢复后删除堆积数据后更新。软件层面通过减少写磁盘及更新DB这样的耗时操作的,大大提升了性能,并且由原来的双写降为单写,不仅节省了空间使用,还可以延长磁盘的寿命。
需要指出的是,持久化(即数据长期保留操作)属于数据安全性的保障机制,合理设计阈值大小可以在稳态时基本不触发该持久化操作。本申请中阈值可以为经验值,稳态场景时,软件层的写IO基本在触发持久化前已经完成对写请求的判断,故不通知SSD即可完成对旧数据的删除操作,而持久化操作可以确保任何IO不发生误删,最终有校保证数据的安全性,同时旧数据的自动删除可以实现与SSD的0交互,大大提升性能。大压力场景时,软件层的写IO也只有部分IO会触发持久化。触发持久化的IO需要在故障恢复流程中与SSD进行交互删除或者收到上层软件事务完成的通知后删除,不影响整体读写流程性能。而堆积IO较多达到阈值时才会触发整体写IO阻塞,对大多数场景性能影响不大。本申请方案的数据安全性保障未引入新的阻塞点。
从图4中可以看出,现有技术中分布式存储软件仅仅将SSD硬件磁盘作为存储单元使用,对于写IO请求需要依赖双写来保证数据安全性,写IO请求会clone一份元数据管理旧数据,存在元数据落盘操作,元数据管理也会增加DB(DataBase,数据库)操作;根据写事务的结果状态,实现留存新数据或旧数据的其中一份,删除另一份,存在与SSD的交互。原流程保障可靠性的方案存在数据放大,并且过多的与SSD交互不仅降低性能还降低磁盘使用寿命。而本申请在SSD磁盘提供的临时管理队列保存旧数据,在软件层面统计放入临时管理队列的IO信息来同步SSD磁盘的空间使用状态,在上层软件逻辑中根据统计到的SSD磁盘的空间使用状态及写IO的完成情况来管理旧数据,在软件逻辑层面完成对数据安全性的保证,去掉了数据双写操作。这样,利用SSD磁盘中临时管理队列放置旧数据,同时配合软件层的管理逻辑,来完成对数据可靠性的保证,可保证在整个处理流程中,需要回溯旧数据时均能读取到旧数据,而事务完成时旧数据能及时删除。去除写过程中保障稳定性的clone等操作,来避免通过数据双写来保证数据的安全性,不必每次操作都进行旧数据/新数据的删除其一操作,即写成功保留新数据删除旧数据,写失败保留旧数据删除新数据,减少软件与SSD硬件的交互,从而提升写请求性能,并提升磁盘的寿命。可以有校避免数据流软件栈的加深和SSD的IOPS放大问题。
参见图5所示,本申请实施例公开了一种数据写入方法,应用于固态硬盘,包括:
步骤S21:写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
步骤S22:当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;
其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。
在具体的实施方式中,本申请实施例可以将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积,以实现旧数据的持久化保存。
相应的,所述将所述写IO请求对应的被覆盖旧数据存入临时管理队列,具体为将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
在一种实施方式中,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。
进一步的,本申请实施例中,当获取到分布式存储软件发送的第一数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;其中,所述第一数据删除通知为当写IO请求完成写入时发送的数据删除通知。
另外,本申请实施例,还可以当获取到分布式存储软件发送的故障恢复通知,则基于堆积的数据中相应写IO请求对应的被覆盖旧数据进行数据恢复。
并且,当获取到分布式存储软件发送的第二数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;其中,所述第二数据删除通知为当数据恢复完成发送的数据删除通知。
可见,本申请实施例先写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。也即,本申请中,固态硬盘中提供临时管理队列,写入写IO请求携带的数据,并将相应的被覆盖旧数据存入临时管理队列,该队列满则自动淘汰数据,分布式存储软件无需与固态硬盘进行交互来删除旧数据,另外,分布式存储软件根据临时管理队列的已使用空间来确定是否需要进行旧数据持久化,当临时管理队列的已使用空间达到空间阈值,则向固态硬盘发送数据保留通知,固态硬盘将未完成写入的写IO请求对应的被覆盖旧数据持久化保存,来保障数据的可靠性。这样,无需元数据落盘,同时降低了与固态硬盘的交互次数,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。
参见图6所示,本申请实施例公开了一种数据写入装置,包括:
IO数据写入模块11,用于将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
已使用空间确定模块12,用于确定所述临时管理队列的已使用空间;
数据保留通知发送模块13,用于若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。
可见,本申请实施例将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;确定所述临时管理队列的已使用空间;若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。也即,本申请中,固态硬盘中提供临时管理队列,将写IO请求携带的数据写入固态硬盘,则触发固态硬盘将相应的被覆盖旧数据存入临时管理队列,该队列满则自动淘汰数据,分布式存储软件无需与固态硬盘进行交互来删除旧数据,另外,分布式存储软件根据临时管理队列的已使用空间来确定是否需要进行旧数据持久化,当临时管理队列的已使用空间达到空间阈值,则向固态硬盘发送数据保留通知,固态硬盘将未完成写入的写IO请求对应的被覆盖旧数据持久化保存,来保障数据的可靠性。这样,无需元数据落盘,同时降低了与固态硬盘的交互次数,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。
其中,所述将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存,具体为将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积。相应的,所述触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列,具体为触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
在一种实施方式中,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。
进一步的,所述装置还包括:
IO信息统计模块,用于将写IO请求的IO信息添加至IO信息统计记录中;所述IO信息包括被覆盖旧数据的大小信息;
相应的,所述已使用空间确定模块12,具体用于基于所述IO信息统计记录确定所述临时管理队列的已使用空间。
进一步的,所述IO信息统计记录还包括写入完成状态标识信息;
所述装置还用于:基于所述写入完成状态标识信息识别写IO请求是否完成写入。
另外,所述装置还包括:第一数据删除通知发送模块,用于当写IO请求完成写入,且该写IO请求对应的被覆盖旧数据属于堆积的数据,则向所述固态硬盘发送第一数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
并且,所述装置还包括:故障恢复通知发送模块,用于当写IO请求写入失败时,则向所述固态硬盘发送故障恢复通知,以便所述固态硬盘基于堆积的数据中该写IO请求对应的被覆盖旧数据进行数据恢复;
进一步的,所述装置还包括:第二数据删除通知发送模块,用于当数据恢复完成,则向所述固态硬盘发送第二数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
另外,IO信息统计模块,还用于在固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除之后,修改所述IO信息统计记录。
进一步的,所述装置还包括IO阻塞控制模块,用于判断堆积的数据所占用的空间是否达到所述空间阈值;若堆积的数据所占用的空间达到所述空间阈值,则进行IO阻塞。
进一步的,本申请实施例公开了另一种数据写入装置,应用于固态硬盘,包括:
数据写入模块,用于写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
数据持久化模块,用于当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;
其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。
可见,本申请实施例先写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。也即,本申请中,固态硬盘中提供临时管理队列,写入写IO请求携带的数据,并将相应的被覆盖旧数据存入临时管理队列,该队列满则自动淘汰数据,分布式存储软件无需与固态硬盘进行交互来删除旧数据,另外,分布式存储软件根据临时管理队列的已使用空间来确定是否需要进行旧数据持久化,当临时管理队列的已使用空间达到空间阈值,则向固态硬盘发送数据保留通知,固态硬盘将未完成写入的写IO请求对应的被覆盖旧数据持久化保存,来保障数据的可靠性。这样,无需元数据落盘,同时降低了与固态硬盘的交互次数,能够避免数据放大的问题,并提升写请求性能以及延长固态硬盘使用寿命。
在一种实施方式中,数据持久化模块,具体用于:将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积。
相应的,数据写入模块,具体用于将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
在一种实施方式中,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。
进一步的,该装置还包括:
堆积数据删除模块,用于当获取到分布式存储软件发送的第一数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;其中,所述第一数据删除通知为当写IO请求完成写入时发送的数据删除通知。
数据恢复模块,用于当获取到分布式存储软件发送的故障恢复通知,则基于堆积的数据中相应写IO请求对应的被覆盖旧数据进行数据恢复。
进一步的,堆积数据删除模块,还用于当获取到分布式存储软件发送的第二数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;其中,所述第二数据删除通知为当数据恢复完成发送的数据删除通知。
本申请实施例公开了另一种数据写入装置,应用于固态硬盘,包括:
数据写入模块,用于写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
持久化保存模块,用于当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;
其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。
参见图7所示,本申请实施例公开了一种电子设备20,包括处理器21和存储器22;其中,所述存储器22,用于保存计算机程序;所述处理器21,用于执行所述计算机程序,前述实施例公开的数据写入方法。
关于上述数据写入方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
并且,所述存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储方式可以是短暂存储或者永久存储。
另外,所述电子设备20还包括电源23、通信接口24、输入输出接口25和通信总线26;其中,所述电源23用于为所述电子设备20上的各硬件设备提供工作电压;所述通信接口24能够为所述电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;所述输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现前述实施例公开的数据写入方法。
关于上述数据写入方法的具体过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上对本申请所提供的数据写入方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (21)
1.一种数据写入方法,其特征在于,应用于分布式存储软件,包括:
将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
确定所述临时管理队列的已使用空间;
若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。
2.根据权利要求1所述的数据写入方法,其特征在于,所述将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存,具体为将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积。
3.根据权利要求2所述的数据写入方法,其特征在于,所述触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列,具体为触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
4.根据权利要求1所述的数据写入方法,其特征在于,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。
5.根据权利要求1所述的数据写入方法,其特征在于,还包括:
将写IO请求的IO信息添加至IO信息统计记录中;所述IO信息包括被覆盖旧数据的大小信息;
相应的,所述确定所述临时管理队列的已使用空间,包括:
基于所述IO信息统计记录确定所述临时管理队列的已使用空间。
6.根据权利要求5所述的数据写入方法,其特征在于,所述IO信息统计记录还包括写入完成状态标识信息;
相应的,所述方法还包括:基于所述写入完成状态标识信息识别写IO请求是否完成写入。
7.根据权利要求6所述的数据写入方法,其特征在于,还包括:
当写IO请求完成写入,且该写IO请求对应的被覆盖旧数据属于堆积的数据,则向所述固态硬盘发送第一数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
8.根据权利要求6所述的数据写入方法,其特征在于,还包括:
当写IO请求写入失败时,则向所述固态硬盘发送故障恢复通知,以便所述固态硬盘基于堆积的数据中该写IO请求对应的被覆盖旧数据进行数据恢复;
当数据恢复完成,则向所述固态硬盘发送第二数据删除通知,以便所述固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除。
9.根据权利要求7或8所述的数据写入方法,其特征在于,在固态硬盘将该写IO请求对应的被覆盖旧数据从堆积的数据中删除之后,还包括:
修改所述IO信息统计记录。
10.根据权利要求1所述的数据写入方法,其特征在于,还包括:
判断堆积的数据所占用的空间是否达到所述空间阈值;
若堆积的数据所占用的空间达到所述空间阈值,则进行IO阻塞。
11.一种数据写入方法,其特征在于,应用于固态硬盘,包括:
写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;
其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。
12.根据权利要求11所述的数据写入方法,其特征在于,所述将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存,包括:
将目标请求对应的被覆盖旧数据放置至所述临时管理队列的队首进行堆积。
13.根据权利要求12所述的数据写入方法,其特征在于,所述将所述写IO请求对应的被覆盖旧数据存入临时管理队列,包括:
将所述写IO请求对应的被覆盖旧数据存入堆积的数据之后。
14.根据权利要求13所述的数据写入方法,其特征在于,所述目标请求为被覆盖旧数据处于所述临时管理队列最尾部的未完成写入的写IO请求。
15.根据权利要求11所述的数据写入方法,其特征在于,还包括:
当获取到分布式存储软件发送的第一数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;
其中,所述第一数据删除通知为当写IO请求完成写入时发送的数据删除通知。
16.根据权利要求15所述的数据写入方法,其特征在于,还包括:
当获取到分布式存储软件发送的故障恢复通知,则基于堆积的数据中相应写IO请求对应的被覆盖旧数据进行数据恢复。
17.根据权利要求16所述的数据写入方法,其特征在于,还包括:
当获取到分布式存储软件发送的第二数据删除通知,将相应写IO请求对应的被覆盖旧数据从堆积的数据中删除;
其中,所述第二数据删除通知为当数据恢复完成发送的数据删除通知。
18.一种数据写入装置,其特征在于,包括:
IO数据写入模块,用于将写IO请求携带的数据写入固态硬盘,并触发所述固态硬盘将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
已使用空间确定模块,用于确定所述临时管理队列的已使用空间;
数据保留通知发送模块,用于若所述临时管理队列的已使用空间达到空间阈值,则向所述固态硬盘发送数据保留通知,以便所述固态硬盘将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;其中,所述目标请求为未完成写入的写IO请求。
19.一种数据写入装置,其特征在于,应用于固态硬盘,包括:
数据写入模块,用于写入写IO请求携带的数据,并将所述写IO请求对应的被覆盖旧数据存入临时管理队列;该队列满自动淘汰数据;
持久化保存模块,用于当获取到分布式存储软件发送的数据保留通知,则将所述临时管理队列中目标请求对应的被覆盖旧数据持久化保存;所述目标请求为未完成写入的写IO请求;
其中,所述数据保留通知为所述分布式存储软件在判定所述临时管理队列的已使用空间达到空间阈值时,向所述固态硬盘发送的通知。
20.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至17任一项所述的数据写入方法。
21.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至17任一项所述的数据写入方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310247632.7A CN115951846B (zh) | 2023-03-15 | 2023-03-15 | 数据写入方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310247632.7A CN115951846B (zh) | 2023-03-15 | 2023-03-15 | 数据写入方法、装置、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115951846A true CN115951846A (zh) | 2023-04-11 |
CN115951846B CN115951846B (zh) | 2023-06-13 |
Family
ID=85886529
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310247632.7A Active CN115951846B (zh) | 2023-03-15 | 2023-03-15 | 数据写入方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115951846B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04251347A (ja) * | 1990-10-10 | 1992-09-07 | Fuji Xerox Co Ltd | ディスクファイル制御装置およびアップデート方法 |
US20120166749A1 (en) * | 2009-09-08 | 2012-06-28 | International Business Machines Corporation | Data management in solid-state storage devices and tiered storage systems |
CN104572491A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 一种基于固态硬盘的读缓存管理方法及装置 |
CN104583989A (zh) * | 2012-08-28 | 2015-04-29 | 惠普发展公司,有限责任合伙企业 | 高性能持久性存储器 |
CN107391269A (zh) * | 2016-03-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种用于通过持久化队列处理消息的方法与设备 |
CN110413205A (zh) * | 2018-04-28 | 2019-11-05 | 伊姆西Ip控股有限责任公司 | 用于向磁盘阵列进行写入的方法、设备和计算机可读存储介质 |
CN112230859A (zh) * | 2020-10-23 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种不中断业务的读写迁移方法及装置 |
CN112256675A (zh) * | 2020-11-05 | 2021-01-22 | 深圳壹账通智能科技有限公司 | 数据迁移方法、装置、终端设备及存储介质 |
CN112463059A (zh) * | 2020-11-30 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种写数据处理方法、装置、电子设备及存储介质 |
CN113885780A (zh) * | 2021-02-10 | 2022-01-04 | 京东科技控股股份有限公司 | 数据同步方法、装置、电子设备、系统和存储介质 |
EP3968175A1 (en) * | 2019-05-05 | 2022-03-16 | Tencent Technology (Shenzhen) Company Limited | Data replication method and apparatus, and computer device and storage medium |
CN114756178A (zh) * | 2022-04-29 | 2022-07-15 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法、系统及计算机可读存储介质 |
CN115525221A (zh) * | 2022-08-19 | 2022-12-27 | 济南浪潮数据技术有限公司 | 一种数据更新方法、装置、设备及介质 |
CN115599302A (zh) * | 2022-10-21 | 2023-01-13 | 济南浪潮数据技术有限公司(Cn) | 一种数据写入方法、装置、设备及存储介质 |
-
2023
- 2023-03-15 CN CN202310247632.7A patent/CN115951846B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04251347A (ja) * | 1990-10-10 | 1992-09-07 | Fuji Xerox Co Ltd | ディスクファイル制御装置およびアップデート方法 |
US20120166749A1 (en) * | 2009-09-08 | 2012-06-28 | International Business Machines Corporation | Data management in solid-state storage devices and tiered storage systems |
CN104583989A (zh) * | 2012-08-28 | 2015-04-29 | 惠普发展公司,有限责任合伙企业 | 高性能持久性存储器 |
CN104572491A (zh) * | 2014-12-30 | 2015-04-29 | 华为技术有限公司 | 一种基于固态硬盘的读缓存管理方法及装置 |
CN107391269A (zh) * | 2016-03-28 | 2017-11-24 | 阿里巴巴集团控股有限公司 | 一种用于通过持久化队列处理消息的方法与设备 |
CN110413205A (zh) * | 2018-04-28 | 2019-11-05 | 伊姆西Ip控股有限责任公司 | 用于向磁盘阵列进行写入的方法、设备和计算机可读存储介质 |
EP3968175A1 (en) * | 2019-05-05 | 2022-03-16 | Tencent Technology (Shenzhen) Company Limited | Data replication method and apparatus, and computer device and storage medium |
CN112230859A (zh) * | 2020-10-23 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种不中断业务的读写迁移方法及装置 |
CN112256675A (zh) * | 2020-11-05 | 2021-01-22 | 深圳壹账通智能科技有限公司 | 数据迁移方法、装置、终端设备及存储介质 |
CN112463059A (zh) * | 2020-11-30 | 2021-03-09 | 苏州浪潮智能科技有限公司 | 一种写数据处理方法、装置、电子设备及存储介质 |
CN113885780A (zh) * | 2021-02-10 | 2022-01-04 | 京东科技控股股份有限公司 | 数据同步方法、装置、电子设备、系统和存储介质 |
CN114756178A (zh) * | 2022-04-29 | 2022-07-15 | 浪潮电子信息产业股份有限公司 | 一种数据存储方法、系统及计算机可读存储介质 |
CN115525221A (zh) * | 2022-08-19 | 2022-12-27 | 济南浪潮数据技术有限公司 | 一种数据更新方法、装置、设备及介质 |
CN115599302A (zh) * | 2022-10-21 | 2023-01-13 | 济南浪潮数据技术有限公司(Cn) | 一种数据写入方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
朱正义 等: "高性能块级CDP系统的研究与设计", 计算机工程与设计 * |
Also Published As
Publication number | Publication date |
---|---|
CN115951846B (zh) | 2023-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7987329B2 (en) | Storage system and method of controlling the same | |
CN111880751B (zh) | 一种硬盘迁移方法、分布式存储集群系统和存储介质 | |
CN103024329B (zh) | 一种监控录像的存储管理方法 | |
CN107643880A (zh) | 基于分布式文件系统的文件数据迁移的方法及装置 | |
CN108319543A (zh) | 一种计算机日志数据的异步处理方法及其介质、系统 | |
CN107608826A (zh) | 一种存储集群的节点的故障恢复方法、装置及介质 | |
CN113495889B (zh) | 一种分布式对象存储方法、装置、电子设备及存储介质 | |
WO2023206968A1 (zh) | 一种数据存储方法、系统及计算机可读存储介质 | |
CN108399047A (zh) | 一种闪存文件系统及其数据管理方法 | |
CN112506710A (zh) | 分布式文件系统数据修复方法、装置、设备及存储介质 | |
CN115292266A (zh) | 一种基于存储器的高可靠日志存储方法 | |
CN116088770B (zh) | 数据管理方法及装置、系统、电子设备、存储介质 | |
CN110765088A (zh) | 一种日志处理方法及电子设备 | |
CN113377292A (zh) | 一种单机存储引擎 | |
CN115629714A (zh) | Raid卡的写方法、raid卡的写系统及相关装置 | |
CN105740098A (zh) | 备份数据中过期数据的判定方法及系统 | |
CN115951846A (zh) | 数据写入方法、装置、设备及介质 | |
CN103729301B (zh) | 数据处理方法和装置 | |
US20120317384A1 (en) | Data storage method | |
CN109992445A (zh) | 一种修改写操作的处理方法、装置、电子设备及存储介质 | |
CN114237489B (zh) | 将逻辑资源写入smr盘的方法、装置、电子设备及存储介质 | |
WO2022126551A1 (zh) | 一种时序数据的存储方法 | |
CN114780489A (zh) | 一种实现分布式块存储底层gc的方法及装置 | |
US11868620B2 (en) | Read-write method and apparatus, electronic device, and readable memory medium | |
CN114816228A (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 |