CN109213432B - 利用日志结构合并树将数据写入的存储设备及其方法 - Google Patents
利用日志结构合并树将数据写入的存储设备及其方法 Download PDFInfo
- Publication number
- CN109213432B CN109213432B CN201710538198.2A CN201710538198A CN109213432B CN 109213432 B CN109213432 B CN 109213432B CN 201710538198 A CN201710538198 A CN 201710538198A CN 109213432 B CN109213432 B CN 109213432B
- Authority
- CN
- China
- Prior art keywords
- log
- data
- write
- controller
- storage device
- 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
- 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/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- 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/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
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
本发明提供利用日志结构合并树将数据写入存储设备的方法以及存储设备,存储设备包含控制器和硬盘,该方法包括:所述控制器将第一写请求写入所述硬盘的第一逻辑层中的第一日志表以及所述控制器的内存中的第一数据写入表;其中,所述第一写请求携带第一键值对,所述第一逻辑层用于存储最新的日志表;所述第一数据写入表和所述第一日志表属于第一日志结构合并树。
Description
技术领域
本发明涉及数据处理技术,尤其涉及利用日志结构合并树将数据写入的存储设备及其方法。
背景技术
近年来,随着NoSQL数据库(如BigTable***)的流行,LSM树(Log StructuredMerge Trees,日志结构合并树)被人们熟知。LSM树是数据库的底层索引结构,LSM树的思想是将对数据的修改保存在控制器的内存中,为保证数据可靠性,还会同时向硬盘写日志(无序),当内存数据达到一定容量限制以后,再批量、有序地将修改的数据写入硬盘,从而提升写性能。
其中,数据要先写入硬盘的日志和控制器的内存,当内存中数据达到一定容量以后,将需要将内存中的数据写入表进行合并形成合并数据表(SST,Sorted String Table),即,排序的字符串表,并存储到硬盘的第一逻辑层(L0层)中,因此增加了对硬盘的IO(input/output,输入输出)次数。
发明内容
一方面,本发明实施例提供一种利用日志结构合并树将数据写入存储设备的方法,该存储设备包含控制器和硬盘。该方法包括:控制器接收第一写请求,其中,第一写请求携带第一键值对;将第一写请求的数据写入硬盘的第一逻辑层中的第一日志表以及控制器的内存中的第一数据写入表;其中,第一逻辑层用于存储最新的日志表,并且第一数据写入表和第一日志表属于第一日志结构合并树。本发明实施例提供的第一日志表持久化存储在第一逻辑层,并且与第一数据写入表内容相同。因此不再需要将内存中的数据写入表写到第一逻辑层,减少了对硬盘的IO次数。进一步的,由于第一数据写入表和第一日志表属于第一日志结构合并树,因此不会影响与其他日志结构合并树的并发性能。进一步的,当第一数据写入表的容量达到预定值时,控制器将第一数据写入表转为第一只读数据表,将第一日志表转为第二日志表,其中,第二日志表属于第一日志结构合并树。
进一步的,控制器读取所述第一逻辑层中的多个需合并的日志表;其中,多个需合并的日志表包含第二日志表。接着将多个需合并的志表合并得到合并数据表,并将合并数据表存储到硬盘的第二逻辑层。
进一步的,其中,当内存中的存储容量达到内存预定值时,控制器删除内存中的第二只读数据表。其中,第二只读数据表是内存中最早被转换得到的第一只读数据表。其中,第二只读数据表属于第一日志结构合并树。如此,可以释放内存空间,确保后续写入的数据可以存储在内存中。
进一步的,控制器为第一写请求在第一索引表中创建索引项,其中,当第一数据写入表的容量达到预定值时,将第一索引表转为第二索引表。
进一步的,控制器读取第一逻辑层中的多个需合并的日志表具体包括:从内存读取第一只读数据表,并根据第二索引表从第一逻辑层中读取与第二只读数据表对应的日志表。
进一步的,所述控制器接收第二写请求;其中,第二写请求携带第二键值对;控制器将第二写请求写入硬盘的第一逻辑层中的第三日志表以及内存中的第二数据写入表;其中,第二写请求携带第二键值对;第二数据写入表和第三日志表属于第二日志结构合并树。
由于第一数据写入表和第一日志表属于第一日志结构合并树,第二数据写入表和第三日志表属于第二日志结构合并树,因此,可以利用多个日志结构合并树将数据并行写入。
第二方面,本发明实施例还提供一种利用日志结构合并树将数据写入的存储设备,该存储设备包含控制器和硬盘,控制器包括接收单元,写入单元和内存;其中,接收单元,用于接收第一写请求,其中,第一写请求携带第一键值对;写入单元用于将第一写请求写入硬盘的第一逻辑层中的第一日志表以及内存中的第一数据写入表;第一数据写入表和第一日志表属于第一日志结构合并树。进一步的,控制器还包括实现第一方面方案中各实现方式的其他单元。
本发明实施例还提供一种计算机存储介质和计算机程序产品,在计算机存储介质和计算机程序产品上存储有利用日志结构合并树将数据写入存储设备的计算机程序指令,存储设备包含控制器和硬盘,存储设备的控制器执行计算机程序指令用于执行本发明实施例第一方面的各种方案。
附图说明
图1是根据本发明的实施例的利用日志结构合并树将数据写入的存储设备的结构图;
图2是图1中所示的控制器的结构图;
图3是图1中所示的内存和硬盘的示意图;
图4是根据本发明的实施例的利用日志结构合并树将数据写入存储设备的方法的流程图。
具体实施方式
下面结合说明书附图,对本发明的实施例进行详细说明。
图1是根据本发明的实施例的利用日志结构合并树将数据写入的存储设备1的结构图。如图1所示,存储设备1包括控制器12和硬盘11。控制器用于执行本发明各实施例,其中,控制器包括接收单元120、写入单元121和内存10。
图2是图1中所示的控制器12的结构图,如图2所示,控制器12还包括转换单元122、读取单元123、合并单元124、存储单元125和删除单元126。
图3是图1中所示的内存和硬盘的示意图,图4是根据本发明的实施例的利用日志结构合并树将数据写入存储设备的方法的流程图。
下面结合图1-图4具体说明本发明的实施例。
在步骤S40,控制器12中的接收单元120接收第一写请求,其中,第一写请求携带第一键值(key-value)对。
在步骤S41,控制器12中的写入单元121将第一写请求写入硬盘11的第一逻辑层中的第一日志表111以及内存10中的第一数据写入表101,其中,第一逻辑层记为L0。其中,第一逻辑层L0用于存储最新的日志表。每个键值对中存储有对应的数据值(value),通过键名(key)可以查找到相应的数据值,进而可以对数据值进行相应的操作。本发明实施例提供的第一日志表持久化存储在L0,并且与第一数据写入表内容相同。因此不再需要将内存中的数据写入表写到L0,减少了对硬盘的IO次数。
这里,如图3所示,每次写入第一键值对时,写入单元121先以追加写的方式将第一键值对写入第一日志表111,然后将第一键值对写入第一数据写入表101。
其中,第一数据写入表101和第一日志表111属于第一日志结构合并树。例如,图3显示的是第一日志合并树的结构图。
在步骤S42,每当第一数据写入表101的容量达到预定容量时,转换单元122将第一数据写入表101转换为只读数据表,将第一日志表111转换为第二日志表。
具体的,例如当按照步骤S41的方式在第一数据写入表101中写入了10条第一键值对,此时第一数据写入表101的容量达到了预定容量(例如64M)时,转换单元122将第一数据写入表101转换为第一只读数据表102-1,将第一日志表111转换为第二日志表 112-1。如此,随着后续的写入和转换,在内存10中会存储有多个第一只读数据表102-1、 102-2……,并在第一逻辑层L0中存储有与多个第一只读数据表102-1、102-2……分别一一对应的多个第二日志表112-1,112-2……。另外,在转换后会重新创建新的第一日志表111、第一数据写入表101,用于后续数据的写入和转换。
另外,随着后续的写入和转换,内存10中会存储越来越多的第一只读数据表。当内存10的存储容量超过内存预定值时,控制器12中的删除单元126会删除内存10中的转换时间最早的第一只读数据表,以释放内存10的存储空间。其中,被删除的第一只读数据表被称为第二只读数据表。
另外,在步骤S41,写入单元121可以为第一写请求在第一索引表103中创建索引项,并且,当第一数据写入表101的容量达到上述预定值时,将第一索引表103转为第二索引表。随着后续的写入和转换,在内存10中会存储有多个第二索引表104-1,104-2……,并且这些第二索引表104-1,104-2……分别对应于硬盘11的第一逻辑层L0中的第二日志表112-1、112-2……。此外,当第一索引表被转为第二索引表之后,会重新生成新的第一索引表,用于存储后续的索引项。
在步骤S43,当第一逻辑层L0的存储容量已满时,需要对第一逻辑层L0中的多个第二日志表进行合并。此时,读取单元123读取第一逻辑层L0中的多个需合并的日志表,这里,多个需合并的日志表包含第二日志表。本例中,多个需合并的日志表例如是第二日志表112-1和112-3。
具体的,当内存10中存在与第二日志表对应的第一只读数据表时,读取单元123从内存10读取第一只读数据表,当内存10中不存在与第二日志表对应的第一只读数据表时,读取单元123根据对应的第二索引表从第一逻辑层L0中读取与第二只读数据表对应的日志表。
本例中,对于第二日志表112-1,例如,如图1所示,在内存10中存在对应的第一只读数据表102-1,读取单元123直接读取内存10中的对应的第一只读数据表102-1,从而读取到第二日志表112-1。这里,读取单元123无需从硬盘11的L0层读取第二日志表112-1,因此可以减少硬盘IO次数。
另外,本例中,对于第二日志表112-3,例如,如图1所示,在内存10中并不存在对应的第一只读数据表,即,与第二日志表112-3对应的第一只读数据表已被删除单元 126删除。这个被删除的第一只读数据表就是第二只读数据表。另,如上所述,该第二只读数据表、第二索引表104-1、第二日志表112-3互相对应。
读取单元123根据与该第二只读数据表对应的第二索引表104-1,从第一逻辑层L0 中读取与该第二只读数据表对应的日志表,即,读取第二日志表112-3。
其中,第二索引表104-3中包含索引项,该索引项包含数据值(value)的操作类型,操作类型例如是更新、***或者删除。如果第二索引表104-3中的索引项包含的操作类型是删除,那么不会从第二日志表112-3中读取对应的数据值;如果第二索引表104-3 中的索引项包含的操作类型是更新或***,那么就从相关第二日志表112-3中读取对应的数据值。如此,可以根据索引项读取第二日志表112-3中的部分数据值,而不是全部数据值因此,在从硬盘11的第一逻辑层L0读取第二日志表112-3时,读取的数据值会减少,从而减少硬盘IO次数。
进一步,在步骤S42,转换单元122将内存10中的多个第二索引表追加到第一逻辑层L0中作为多个备份第二索引表。
这里,转换单元122例如将内存10中的这些第二索引表104-1、104-2、104-3……追加到L0层中作为多个备份第二索引表104-1’、104-2’、104-3’……。这些备份第二索引表104-1’、104-2’、104-3’……中的索引项分别与第二索引表104-1、104-2、104-3……中的索引项相同。当控制器12出现故障时,例如,控制器12的内存10中存储的第二索引表104-1、104-2、104-3……因故障而丢失时,在硬盘11中的L0层仍然保存有这些备份第二索引表104-1’、104-2’、104-3’……。在这种情况下,读取单元123 可以根据备份第二索引表104-3’按照上述同样的方式从第二日志表112-3读取部分数据值。因此,即使在控制器12出现故障时,也可以确保从硬盘11中读取第二日志表中的部分数据值,从而可以进一步确保减少硬盘IO次数。
接下去,在步骤S44,合并单元124将多个需合并的日志表合并得到合并数据表。本例中,合并单元124将第二日志表112-1和112-3合并得到合并数据表,也就是说,将步骤S43中读取的第一只读数据表102-1以及第二日志表112-3中的部分数据值进行合并,得到合并数据表,例如SST 2-1。
然后,在步骤S45,存储单元125将合并数据表SST 2-1存储到硬盘11的第二逻辑层,记为L1。
这里,在需要对硬盘11中的其他逻辑层中的合并数据表SST与第一逻辑层L0中的第二日志表进行合并时,都按照步骤S43中的方式读取第二日志表。
进一步,例如在得到合并数据表SST 2-1之后,删除单元126从第一逻辑层L0删除需合并的日志表,即,删除第二日志表112-1、112-3,并从内存10删除与第二日志表112-1对应的第一只读数据表102-1以及与第二日志表112-1、112-3分别对应的第二索引表104-1、104-3。如此,可以释放内存10以及硬盘11的L0层的存储空间,用于后续的写入。
进一步,例如在得到合并数据表SST 2-1之后,删除单元126进一步从第一逻辑层L0删除与需合并的日志表112-1、112-3分别对应的备份第二索引表104-1’、104-3’,从而进一步释放硬盘11的L0层的存储空间。
另外,控制器12可以对第二日志结构合并树进行上述写入过程。例如,接收单元120接收第二写请求,其中,第二写请求携带第二键值(key-value)对;写入单元121 将第二写请求写入硬盘11的第一逻辑层L0中的第三日志表以及内存10中的第二数据写入表;其中,第二写请求携带第二键值对;第二数据写入表和第三日志表属于第二日志结构合并树。这里,第一日志结构合并树和第二日志结构合并树的结构完全相同,同时,在存在多个日志结构合并树的情况下,每个日志结构合并树的结构都相同,并可以由图3 所表示。
本发明实施例中,每个日志结构合并树中的数据写入表对应于一个日志表,当利用多个日志结构合并树写入不同的数据时(多个线程并发时),不会像现有技术一样写入同一个日志表,从而可以提高写并发性。
进一步,本发明实施例可以直接从内存10读取一些第一只读数据表,而无需从硬盘 11读取一些第二日志表,同时利用第二索引表,从第二日志表中读取部分数据值,过滤对失效数据值的读取操作,因此可以减少硬盘IO次数。
如图1所示,本发明实施例提供一种利用日志结构合并树将数据写入的存储设备1,存储设备1包含控制器12和硬盘11,控制器12包括处理器和内存10;该处理器包括图 2所示的接收单元120、写入单元121、转换单元122、读取单元123、合并单元124、存储单元125和删除单元126,该处理器用于执行图4所示的方法。
本发明实施例还提供一种计算机存储介质和计算机程序产品,在计算机存储介质和计算机程序产品上存储有利用日志结构合并树将数据写入存储设备1的计算机程序指令,存储设备1包含控制器12和硬盘11,存储设备1的控制器12执行计算机程序指令用于执行图4所示的方法。
Claims (12)
1.一种利用日志结构合并树将数据写入存储设备的方法,其特征在于,所述存储设备包含控制器和硬盘,所述方法包括:
所述控制器接收第一写请求;其中,所述第一写请求携带第一键值对;
所述控制器将所述第一写请求写入所述硬盘的第一逻辑层中的第一日志表以及所述控制器的内存中的第一数据写入表;所述第一逻辑层用于存储最新的日志表;
所述第一数据写入表和所述第一日志表属于第一日志结构合并树;
其中,所述方法还包括:
当所述第一数据写入表的容量达到预定值时,将所述第一数据写入表转为第一只读数据表,将所述第一日志表转为第二日志表,其中,所述第二日志表属于所述第一日志结构合并树;
其中,所述方法还包括:
读取所述第一逻辑层中的多个需合并的日志表;其中,所述多个需合并的日志表包含所述第二日志表;
将多个需合并的第二日志表合并得到合并数据表;
将所述合并数据表存储到所述硬盘的第二逻辑层。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:删除所述内存中的第二只读数据表;所述第二只读数据表属于第一日志结构合并树。
3.如权利要求2所述的方法,其特征在于,所述方法还包括:为所述第一写请求在第一索引表中创建索引项,其中,当所述第一数据写入表的容量达到所述预定值时,将所述第一索引表转为第二索引表。
4.如权利要求3所述的方法,其特征在于,所述读取第一逻辑层中的所述多个需合并的日志表具体包括:从所述内存读取第一只读数据表,并根据所述第二索引表从所述第一逻辑层中读取与所述第二只读数据表对应的日志表。
5.如权利要求1-4中任一项所述的方法,其特征在于,还包括:
所述控制器接收第二写请求;其中,所述第二写请求携带第二键值对;
所述控制器将所述第二写请求写入所述硬盘的所述第一逻辑层中的第三日志表以及所述内存中的第二数据写入表;其中,所述第二数据写入表和所述第三日志表属于第二日志结构合并树。
6.一种利用日志结构合并树将数据写入的存储设备,其特征在于,所述存储设备包含控制器和硬盘,所述控制器包括接收单元,写入单元和内存;其中
所述接收单元,用于接收第一写请求;其中,所述第一写请求携带第一键值对;
所述写入单元,用于将所述第一写请求写入所述硬盘的第一逻辑层中的第一日志表以及所述内存中的第一数据写入表;其中,所述第一逻辑层用于存储最新的日志表,所述第一数据写入表和所述第一日志表属于第一日志结构合并树;
其中,所述控制器还包括:
转换单元,用于当所述第一数据写入表的容量达到预定值时,将所述第一数据写入表转为第一只读数据表,将所述第一日志表转为第二日志表;其中,所述第二日志表属于所述第一日志结构合并树;
其中,所述控制器还包括:
读取单元,用于读取所述第一逻辑层中的多个需合并的日志表;其中,所述多个需合并的日志表包含所述第二日志表;
合并单元,用于将所述多个需合并第二日志表合并得到合并数据表;
存储单元,用于将所述合并数据表存储到所述硬盘的第二逻辑层。
7.如权利要求6所述的存储设备,其特征在于,所述控制器还包括:
删除单元,用于删除所述内存中的第二只读数据表;所述第二只读数据表属于第一日志结构合并树。
8.如权利要求7所述的存储设备,其特征在于,所述写入单元还用于为所述第一写请求在第一索引表中创建索引项;其中,当所述第一数据写入表的容量达到所述预定值时,所述转换单元将所述第一索引表转为第二索引表。
9.如权利要求8所述的存储设备,其特征在于,所述读取单元具体用于:从所述内存读取第一只读数据表,并根据所述第二索引表从所述第一逻辑层中读取与所述第二只读数据表对应的日志表。
10.如权利要求6-9中任一项所述的存储设备,其特征在于,所述接收单元还用于接收第二写请求;其中,所述第二写请求携带第二键值对;
所述写入单元还用于将所述第二写请求写入所述硬盘的第一逻辑层中的第三日志表以及所述内存中的第二数据写入表;其中,所述第二数据写入表和所述第三日志表属于第二日志结构合并树。
11.一种利用日志结构合并树将数据写入的存储设备,其特征在于,所述存储设备包含控制器和硬盘,所述控制器包括处理器和内存;所述处理器用于执行权利要求1-5任一所述的方法。
12.一种计算机存储介质,其特征在于,在所述计算机存储介质上存储有利用日志结构合并树将数据写入存储设备的计算机程序指令,所述存储设备包含控制器和硬盘,所述存储设备的控制器执行所述计算机程序指令用于执行权利要求1-5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710538198.2A CN109213432B (zh) | 2017-07-04 | 2017-07-04 | 利用日志结构合并树将数据写入的存储设备及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710538198.2A CN109213432B (zh) | 2017-07-04 | 2017-07-04 | 利用日志结构合并树将数据写入的存储设备及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109213432A CN109213432A (zh) | 2019-01-15 |
CN109213432B true CN109213432B (zh) | 2021-10-26 |
Family
ID=64992825
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710538198.2A Active CN109213432B (zh) | 2017-07-04 | 2017-07-04 | 利用日志结构合并树将数据写入的存储设备及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109213432B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109947775B (zh) * | 2019-03-13 | 2021-03-23 | 北京微步在线科技有限公司 | 数据处理方法、装置、电子设备及计算机可读介质 |
WO2021017647A1 (zh) * | 2019-07-29 | 2021-02-04 | 华为技术有限公司 | 一种数据单元的合并方法及装置 |
CN112307016B (zh) * | 2019-07-29 | 2022-08-26 | 华为技术有限公司 | 一种数据单元的合并方法及装置 |
CN110568994B (zh) * | 2019-08-16 | 2023-11-14 | 北京火山引擎科技有限公司 | 逻辑块设备访问方法、装置及电子设备 |
CN110515957A (zh) * | 2019-09-02 | 2019-11-29 | 深圳市网心科技有限公司 | 一种区块链数据存储的方法、***、设备及可读存储介质 |
CN113688099B (zh) * | 2021-08-09 | 2023-10-13 | 上海沄熹科技有限公司 | 基于spdk的数据库存储引擎加速方法及*** |
CN118069069B (zh) * | 2024-04-17 | 2024-06-21 | 联想凌拓科技有限公司 | 一种数据存储方法及装置、存储介质、计算机程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915145A (zh) * | 2014-03-11 | 2015-09-16 | 华为技术有限公司 | 一种降低LSM Tree写放大的方法和装置 |
CN105447035A (zh) * | 2014-08-29 | 2016-03-30 | 华为技术有限公司 | 数据扫描方法及装置 |
CN106021335A (zh) * | 2016-05-06 | 2016-10-12 | 北京奇虎科技有限公司 | 访问数据库的方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9846711B2 (en) * | 2012-12-28 | 2017-12-19 | Facebook, Inc. | LSM cache |
-
2017
- 2017-07-04 CN CN201710538198.2A patent/CN109213432B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104915145A (zh) * | 2014-03-11 | 2015-09-16 | 华为技术有限公司 | 一种降低LSM Tree写放大的方法和装置 |
CN105447035A (zh) * | 2014-08-29 | 2016-03-30 | 华为技术有限公司 | 数据扫描方法及装置 |
CN106021335A (zh) * | 2016-05-06 | 2016-10-12 | 北京奇虎科技有限公司 | 访问数据库的方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109213432A (zh) | 2019-01-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109213432B (zh) | 利用日志结构合并树将数据写入的存储设备及其方法 | |
CN107391628B (zh) | 数据同步方法及装置 | |
US8856469B2 (en) | Apparatus and method for logging optimization using non-volatile memory | |
US10248676B2 (en) | Efficient B-Tree data serialization | |
CN109086388B (zh) | 区块链数据存储方法、装置、设备及介质 | |
US10970173B2 (en) | Logging process in a data storage system | |
US20160350302A1 (en) | Dynamically splitting a range of a node in a distributed hash table | |
US20010051954A1 (en) | Data updating apparatus that performs quick restoration processing | |
CN107665219B (zh) | 一种日志管理方法及装置 | |
JP6445049B2 (ja) | ログの管理方法及び計算機システム | |
CN108021717B (zh) | 一种轻量级嵌入式文件***的实现方法 | |
US11048678B2 (en) | Bulk-load for B-trees | |
CN111444196B (zh) | 块链式账本中全局状态的哈希的生成方法、装置及设备 | |
CN109726264B (zh) | 用于索引信息更新的方法、装置、设备和介质 | |
KR101674176B1 (ko) | 파일 단위 순서 모드 저널링 기법을 이용한 fsync 시스템 호출 처리 장치 및 방법 | |
CN104035822A (zh) | 一种低开销的高效内存去冗余方法及*** | |
US10969970B2 (en) | Storage optimization of database in volatile and non-volatile storing unit | |
US9898468B2 (en) | Single pass file system repair with copy on write | |
CN113253932B (zh) | 一种分布式存储***的读写控制方法和*** | |
JP2014182417A (ja) | ファイルシステム検証方法、ファイルシステム検証プログラム、および情報処理装置 | |
CN112965939A (zh) | 一种文件合并方法、装置和设备 | |
CN114780489B (zh) | 一种实现分布式块存储底层gc的方法及装置 | |
WO2022121274A1 (zh) | 一种存储***中元数据管理方法、装置及存储*** | |
CN114297196A (zh) | 元数据存储方法、装置、电子设备及存储介质 | |
CN112559457A (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 |