CN106708427B - 一种适用于键值对数据的存储方法 - Google Patents
一种适用于键值对数据的存储方法 Download PDFInfo
- Publication number
- CN106708427B CN106708427B CN201611019247.3A CN201611019247A CN106708427B CN 106708427 B CN106708427 B CN 106708427B CN 201611019247 A CN201611019247 A CN 201611019247A CN 106708427 B CN106708427 B CN 106708427B
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- holding tank
- storage
- key
- 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
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/0604—Improving or facilitating administration, e.g. storage management
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage systems
-
- 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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0644—Management of space entities, e.g. partitions, extents, pools
-
- 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
-
- 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
本发明公开了一种适用于键值对数据的存储方法,针对LSM‑tree结构的数据特征,对存储设备进行扁平化管理,并根据LSM‑tree的日志请求与数据表请求的不同特征分别进行处理:对于日志请求,使用小粒度的IO单位将其存储到特定的日志区;对于数据表请求,将其存储于一段连续的物理空间;数据表的id根据其存放的物理空间段序号进行赋值;读取键值时,首先根据LSM‑tree的元信息查找出数据表的id,根据id定位到数据表的物理存储位置。这种存储方法简化了从数据表id到其存储位置之间的索引,使得LSM‑tree数据在物理存储层保持了连续性特征;写操作无需更改额外的远端索引信息,同时由于数据表以紧凑的方式存储,其删除操作可以回收整个存储段而无需进行额外迁移复制操作。
Description
技术领域
本发明属于数据存储技术领域,更具体地,涉及一种适用于键值对数据的存储方法。
背景技术
键值对(Key-Value,KV)数据在近年得到广泛应用,基于日志归并树(LSM-tree)的KV***适用于写频繁的场合。基于LSM-tree结构的KV应用通常在内存中维护一个0级表,当0级表插满时,将其合并到1级表,若1级表总尺寸或表个数超过设定,则选择并入2级表,依此类推;这种结构通过***删除符实现删除操作;由于对数据的读取总是从0级向下依次进行,在读取时新***的数据会屏蔽掉老的数据;如果读取到了删除符,则表明该数据已经被删除。
传统的KV应用运行于文件***之上,由于文件***需要维护路径等索引信息,对一个数据表文件的写操作不只是对内容的写,还包括对索引信息的写,且索引信息通常与内容数据相距较远,对磁盘而言会导致寻道上的开销;另外,文件***通常以块为基本管理单位,而基于LSM-tree的KV通常会生成较大的数据表文件,文件***不能保证为数据表文件分配连续的块。
当前基于LSM-tree的存储***如LevelDB、RocksDB通过文件***将数据存储于持久性存储设备;这种存储方式无法充分将LSM-tree形成的对存储设备友好的数据反应到存储设备上。文件***使用索引块和数据块的对存储请求在设备空间内进行组织,索引块用来定位数据块,数据块存储实际的用户数据。对数据块的更新会引起索引块的更新,读取某个数据块必须先读取索引块。
LSM-tree的设计并未考虑文件***级的对数据的重新组织,而只是考虑存储设备的特性——对连续的请求更友好。虽然其生成的数据请求是连续的,这种连续的请求经过文件***后,在存储设备上产生了不连续的请求,当文件***较满时,不连续比例升高。基于log的文件***虽然在写的时候不会导致不连续,但是为了实现这个目的引入了更多的负面效果:如回溯式更新、读性能降低、高代价的垃圾回收。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种适用于键值对数据的存储方法,其目的在于使用数据表文件的序列号对物理设备进行寻址,省去传统文件***中的路径索引,由此解决逻辑连续的数据在物理存储上不连续的问题。
为实现上述目的,按照本发明的一个方面,提供了一种适用于键值对数据的存储方法,具体包括如下步骤:
(1)将存储区域划分为日志区和数据区;并将数据区划分为大小固定的存储槽;
(2)根据文件名将日志归并树合并操作中生成的数据表文件一一映射到存储槽上;所述数据表文件具有唯一的序列号,所述存储槽具有一个描述符块;
(3)将日志类型的键值对数据存储到所述日志区;将数据表请求类型的键值对数据***内存中的数据表并在数据表达到预设尺度是进行内存表合并。
优选地,上述适用于键值对数据的存储方法,其步骤(3)包括如下子步骤:
(3.1)将日志类型的键值对数据以追加的方式写入日志区;
(3.2)将数据表请求类型的键值对数据***内存中的数据表,当数据表达到预设尺度,则进入步骤(3.4);否则进入步骤(3.3);
(3.3)接收新的键值对数据,进入步骤(3.2);
(3.4)启用后台线程,将内存表与硬盘上的第一层表进行合并;若合并后的第一层表的数据未超过预设尺度,则结束;否则将第一层表合并至第二层,直到所有层的数据都在预设尺度之内。
优选地,上述适用于键值对数据的存储方法,在步骤(3.4)中,将合并产生的数据表进行缓存,直至生成一个完整的数据表;在内存中将该完整的数据表组装构成一个slot数据包,然后将该slot数据包写入对应的存储槽。
优选地,上述适用于键值对数据的存储方法,在步骤(3.4)的合并操作中,将归并操作与读写操作并行处理,以提高***吞吐率。
优选地,上述适用于键值对数据的存储方法,以单向的方式、按照序号从0、1、2……、N-1、0、1、2……、N-1的方式循环分配存储槽;当某个存储槽已经被占用,则向后顺延至最近的空闲存储槽;若遍历所有存储槽都未发现空闲槽,则报告存储器已满。
优选地,上述适用于键值对数据的存储方法,所述存储槽的描述符内容包括存储槽使用状态、数据表长度和校验码;其中,存储槽使用状态占用1字节,数据表长度占用8字节,校验码占用8字节。
优选地,上述适用于键值对数据的存储方法,采用物理块作为描述符块;描述符块预留有用作扩展功能的空间。
优选地,上述适用于键值对数据的存储方法,在键值对数据应用请求对slot数据包进行写请求的同时对描述符进行存储。
优选地,上述适用于键值对数据的存储方法,对合并操作所产生的slot数据包写请求与log操作产生的写请求分开处理;
对log请求则直接读写并以读写数据单位进行存储;
对Slot数据包请求则一次发送整个Slot数据包大小的数据,以尽可能提高存储设备的利用率。
优选地,上述适用于键值对数据的存储方法,以512字节作为log请求里的数据单位。
优选地,上述适用于键值对数据的存储方法,在***启动时,根据描述符在内存中生成一个位图用于指示所有存储槽的使用状态,在分配存储槽时通过查询该位图快速查找空闲的存储槽,以加快分配过程。
优选地,上述适用于键值对数据的存储方法,通过在内存中维护一个空闲表用于保存空闲slot序列用以存储槽分配,以避免分配存储槽时的读写。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(1)本发明所提供的适用于键值对数据的存储方法,消除了LSM-tree在通用文件***上的目录级和文件级索引,使得LSM-tree产生的连续数据写请求能够反映到存储介质层;
(2)本发明所提供的适用于键值对数据的存储方法,对LSM-tree的请求类型进行了抽象,将其简化为log写和数据表写;其中log写是小而频繁的追加写请求,而数据表存储是大块的写请求;本发明所提供的这种方法对log写使用512字节的单位进行写盘以减小log写带来的写放大;对数据表请求使用以slot为单位进行写盘以尽可能利用存储介质的带宽;
(3)本发明所提供的适用于键值对数据的存储方法,由于在键值对应用请求对缓存进行写请求的同时对描述符进行存储,无需使用额外的读写进行描述符信息写入,使得数据表的写操作在存储介质上在时间上和空间上都是连续的,解决了逻辑连续的数据在物理存储上不连续的问题;
(4)本发明所提供的适用于键值对数据的存储方法,由于对slot的写和删除操作都是整体操作,不需要进行垃圾回收操作,一个slot被删除后变为空闲slot以等待被分配,极大地提高了存储性能。
附图说明
图1是LSM-tree的结构示意图;
图2是本发明实施例所提供的存储方法的示意图;
图3是本发明实施例对存储设备的划分示意图;
图4是本发明实施例中slot的内部结构;
图5是本发明实施例中slot的分配方式;
图6是本发明实施例中的合并方式示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1所示,是实施例里LSM-tree的结构示意图;基于LSM-tree的KV***在每个写请求到达时产生log请求,并将请求缓存在一个内存表里(C0),当这个内存表达到预设的大小(4MB)时,将其写入永久性存储设备的中的一层(C1);当C1达到预设的大小时,会选择部分数据将其归并到C2。图2所示为本发明所提供的存储方法的示意图;基于LSM-tree的KV产生两种类型的写请求,包括由log操作产生的log数据存储,由compaction操作产生的chunk表数据存储;实施例所提供的存储方法,对这两类写请求采用不同的处理方式。
图3所示,是实施例里对存储设备进行划分的示意图;在本实施例中,将存储对象划分为三个存储区域:保留区、log区、以及chunk区;对存储对象的划分不限于该实例,在实际使用中,可根据需求进行其他划分,譬如:将log区也放入chunk区或者使用不同的存储设备。
在本实施例中,LSM-tree本身的全局管理数据存储在保留区,LSM-tree产生的log数据和chunk数据分别存储在log区和chunk区;log区以循环的方式使用;每次compaction操作产生新的chunk。在实施例中,将LSM-tree的所有产生chunk的操作都认为是compaction操作。为新的chunk分配空闲的slot,并按照slot的位置为chunk赋予号码;如此设置使得从chunk到slot的映射不涉及额外的索引信息。当对chunk进行存储时,首先对chunk进行封包,封包处理根据chunk的尺寸填充描述符块,实施例里的封包处理过程如图4所示;
在实施例里,根据描述符块构建一个位图以指示所有slot的使用状态;通过维护一个如图5所示的空闲表,保存一串空闲的slot序列。每次对新的chunk进行存储时,首先从空闲表进行slot分配;一个线程读取位图以对空闲表进行填充;本实施例中,位图和空闲表的设置均是为了加快slot的分配速度。
在进行compaction操作时,将merge过程与dump过程进行分离;merge过程不断产生新的chunk,dump过程将这些chunk存入设备,其过程如图6所示。相比于传统LSM-tree,本实施例所提供的存储方法在HDD和SSD上均能提高键值对的存储性能;在HDD上的存储性能可提高1~2倍,在SSD上可提高2~3倍;本存储方法对数据表进行了紧凑存储并消除了从数据表ID到物理位置之间的索引,提高了读性能;经过实际测试,对于大小为100GB、平均键值对长度为100字节的数据集,采用本实施例所提供的适应于键值对数据的存储,可将读性能提高约20%。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种适用于键值对数据的存储方法,其特征在于,具体包括如下步骤:
(1)将存储区域划分为日志区和数据区;并将数据区划分为大小固定的存储槽;
(2)根据文件名将日志归并树合并操作中生成的数据表文件一一映射到存储槽上;所述数据表文件具有唯一的序列号,所述存储槽具有一个描述符块;
(3)将日志类型的键值对数据存储到所述日志区;将数据表请求类型的键值对数据***内存中的数据表并在数据表达到预设尺度时进行内存表合并,将合并后的数据表写入所述存储槽。
2.如权利要求1所述的存储方法,其特征在于,所述步骤(3)包括如下子步骤:
(3.1)将日志类型的键值对数据以追加的方式写入所述日志区;
(3.2)将数据表请求类型的键值对数据***内存中的数据表,当数据表达到预设尺度,则进入步骤(3.4);否则进入步骤(3.3);
(3.3)接收新的键值对数据,进入步骤(3.2);
(3.4)启用后台线程,将内存表与硬盘上的第一层表进行合并;判断合并后的第一层表的数据是否超过预设尺度,若否,则结束;若是,将第一层表合并至下一层,直到所有层的数据都在预设尺度之内。
3.如权利要求2所述的存储方法,其特征在于,所述步骤(3.4)中,将合并产生的数据表进行缓存,直至生成一个完整的数据表;在内存中将所述完整的数据表组包构成slot数据包,并将所述slot数据包写入存储槽。
4.如权利要求2所述的存储方法,其特征在于,所述步骤(3.4)的合并处理中,将归并操作与读写操作并行处理,以提高***吞吐率。
5.如权利要求1至4任一项所述的存储方法,其特征在于,以单向的方式、按照序号从0、1、2……、N-1、0、1、2……、N-1的方式循环分配存储槽;当某个存储槽已被占用,则向后顺延至最近的空闲存储槽;若遍历所有存储槽都未发现空闲槽,则报告存储器已满。
6.如权利要求1至4任一项所述的存储方法,其特征在于,采用描述符来描述存储槽的状态,所述描述符内容包括存储槽使用状态、数据表长度和校验码。
7.如权利要求6所述的存储方法,其特征在于,在键值对数据应用请求对slot数据包进行写请求的同时对描述符进行存储。
8.如权利要求3所述的存储方法,其特征在于,对合并处理所产生的slot数据包写请求与log操作产生的写请求分开处理;
对log请求则直接读写并以读写数据单位进行存储;对Slot数据包请求则一次发送整个Slot数据包大小的数据,以尽可能提高存储设备的利用率。
9.如权利要求1所述的存储方法,其特征在于,在***启动时根据描述符在内存中生成一个位图用于指示所有存储槽的使用状态,在分配存储槽时通过查询所述位图快速查找空闲的存储槽,以加快分配过程。
10.如权利要求9所述的存储方法,其特征在于,通过在内存中维护一个空闲表用于保存空闲slot序列用以存储槽分配,以避免分配存储槽时的读写。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611019247.3A CN106708427B (zh) | 2016-11-17 | 2016-11-17 | 一种适用于键值对数据的存储方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611019247.3A CN106708427B (zh) | 2016-11-17 | 2016-11-17 | 一种适用于键值对数据的存储方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106708427A CN106708427A (zh) | 2017-05-24 |
CN106708427B true CN106708427B (zh) | 2019-05-10 |
Family
ID=58941038
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611019247.3A Active CN106708427B (zh) | 2016-11-17 | 2016-11-17 | 一种适用于键值对数据的存储方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106708427B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347203A (zh) * | 2020-12-01 | 2021-02-09 | 广州海量数据库技术有限公司 | 存储模型及其字段级锁的实现方法 |
Families Citing this family (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330094B (zh) * | 2017-07-05 | 2020-06-16 | 湖南大学 | 动态存储键值对的布鲁姆过滤器树结构及键值对存储方法 |
KR102405593B1 (ko) | 2017-08-23 | 2022-06-08 | 삼성전자 주식회사 | 전자 장치 및 그의 데이터 운용 방법 |
CN107526550B (zh) * | 2017-09-06 | 2020-01-17 | 中国人民大学 | 一种基于日志结构合并树的两阶段合并方法 |
CN108052643B (zh) * | 2017-12-22 | 2021-02-23 | 北京奇虎科技有限公司 | 基于LSM Tree结构的数据存储方法、装置及存储引擎 |
WO2019127456A1 (zh) | 2017-12-29 | 2019-07-04 | 华为技术有限公司 | 处理预写日志的方法和装置 |
US11392544B2 (en) * | 2018-02-06 | 2022-07-19 | Samsung Electronics Co., Ltd. | System and method for leveraging key-value storage to efficiently store data and metadata in a distributed file system |
CN108446363B (zh) * | 2018-03-13 | 2021-05-25 | 北京奇安信科技有限公司 | 一种kv引擎的数据处理方法及装置 |
CN108920095B (zh) * | 2018-06-06 | 2021-06-29 | 深圳市脉山龙信息技术股份有限公司 | 一种基于crush的数据存储优化方法和装置 |
CN109101192B (zh) * | 2018-07-02 | 2021-04-13 | 北京东软医疗设备有限公司 | 数据存储方法和装置 |
CN109144891A (zh) * | 2018-07-20 | 2019-01-04 | 新华三技术有限公司 | 一种数据存储方法和装置 |
CN109241015B (zh) * | 2018-07-24 | 2021-07-16 | 北京百度网讯科技有限公司 | 用于在分布式存储***中写入数据的方法 |
CN109471851B (zh) * | 2018-10-17 | 2021-05-28 | 上海达梦数据库有限公司 | 数据处理方法、装置、服务器和存储介质 |
CN109656886B (zh) * | 2018-12-26 | 2021-11-09 | 百度在线网络技术(北京)有限公司 | 基于键值对的文件***实现方法、装置、设备和存储介质 |
CN110007860A (zh) * | 2019-03-28 | 2019-07-12 | 深圳大普微电子科技有限公司 | 基于lsm数据库的垃圾处理的方法、固态硬盘以及存储装置 |
CN110377227B (zh) * | 2019-06-13 | 2020-07-07 | 阿里巴巴集团控股有限公司 | 一种数据分块存储方法、装置及电子设备 |
US10983975B2 (en) | 2019-06-13 | 2021-04-20 | Ant Financial (Hang Zhou) Network Technology Co., Ltd. | Data block storage method and apparatus, and electronic device |
CN111104403B (zh) * | 2019-11-30 | 2022-06-07 | 北京浪潮数据技术有限公司 | 一种lsm树数据处理方法、***、设备及计算机介质 |
CN111399777B (zh) * | 2020-03-16 | 2023-05-16 | 平凯星辰(北京)科技有限公司 | 一种基于数据值分类的差异化键值数据存储方法 |
CN112256650B (zh) * | 2020-10-20 | 2024-05-31 | 广州市百果园网络科技有限公司 | 存储空间管理方法、装置、设备及存储介质 |
CN112579003B (zh) * | 2020-12-15 | 2022-06-14 | 浙江大华技术股份有限公司 | 键值对的调整方法、装置、存储介质以及电子装置 |
CN113094372A (zh) * | 2021-04-16 | 2021-07-09 | 三星(中国)半导体有限公司 | 数据存取方法、数据存取控制装置及数据存取*** |
CN113609091B (zh) * | 2021-08-18 | 2022-07-12 | 星环众志科技(北京)有限公司 | 日志管理方法、装置、设备及存储介质 |
CN117311645B (zh) * | 2023-11-24 | 2024-02-06 | 武汉纺织大学 | 一种lsm存储元数据读放大的优化方法 |
CN118092812B (zh) * | 2024-04-18 | 2024-06-25 | 华侨大学 | 基于内存表索引与迭代器缩减机制的键值存储及读写方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102668516A (zh) * | 2011-12-02 | 2012-09-12 | 华为技术有限公司 | 一种云消息服务中实现消息传递的方法和装置 |
CN103140840A (zh) * | 2011-09-30 | 2013-06-05 | 华为技术有限公司 | 数据管理的方法及装置 |
CN103399920A (zh) * | 2013-08-02 | 2013-11-20 | 苏州雄立科技有限公司 | 键值搜索方法、键值搜索装置及芯片 |
CN104408091A (zh) * | 2014-11-11 | 2015-03-11 | 清华大学 | 分布式文件***的数据存储方法及*** |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160179865A1 (en) * | 2014-12-17 | 2016-06-23 | Yahoo! Inc. | Method and system for concurrency control in log-structured merge data stores |
-
2016
- 2016-11-17 CN CN201611019247.3A patent/CN106708427B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103140840A (zh) * | 2011-09-30 | 2013-06-05 | 华为技术有限公司 | 数据管理的方法及装置 |
CN102668516A (zh) * | 2011-12-02 | 2012-09-12 | 华为技术有限公司 | 一种云消息服务中实现消息传递的方法和装置 |
CN103399920A (zh) * | 2013-08-02 | 2013-11-20 | 苏州雄立科技有限公司 | 键值搜索方法、键值搜索装置及芯片 |
CN104408091A (zh) * | 2014-11-11 | 2015-03-11 | 清华大学 | 分布式文件***的数据存储方法及*** |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112347203A (zh) * | 2020-12-01 | 2021-02-09 | 广州海量数据库技术有限公司 | 存储模型及其字段级锁的实现方法 |
CN112347203B (zh) * | 2020-12-01 | 2023-06-06 | 广州海量数据库技术有限公司 | 存储模型及其字段级锁的实现方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106708427A (zh) | 2017-05-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106708427B (zh) | 一种适用于键值对数据的存储方法 | |
US10289315B2 (en) | Managing I/O operations of large data objects in a cache memory device by dividing into chunks | |
CN107066393A (zh) | 提高地址映射表中映射信息密度的方法 | |
CN101241472B (zh) | 映射管理方法及*** | |
CN103186350B (zh) | 混合存储***及热点数据块的迁移方法 | |
US8782324B1 (en) | Techniques for managing placement of extents based on a history of active extents | |
CN104346357B (zh) | 一种嵌入式终端的文件存取方法及*** | |
CN103761190B (zh) | 数据处理方法及装置 | |
CN103514249B (zh) | 一种数据自精简方法和***及存储装置 | |
CN103838853B (zh) | 一种基于不同存储介质的混合文件*** | |
CN104331453B (zh) | 一种分布式文件***及分布式文件***的构建方法 | |
CN110347336A (zh) | 一种基于nvm与ssd混合存储结构的键值存储*** | |
CN102779096B (zh) | 一种基于页块面三维的闪存地址映射方法 | |
CN106095342B (zh) | 一种动态可变长条带的瓦记录磁盘阵列构建方法及*** | |
CN107924291B (zh) | 存储*** | |
CN101571869B (zh) | 一种智能卡的文件存储、读取方法及装置 | |
CN110119425A (zh) | 固态驱动器、分布式数据存储***和利用键值存储的方法 | |
CN111026329B (zh) | 基于主机管理瓦记录磁盘的键值存储***及数据处理方法 | |
CN103823865A (zh) | 一种数据库主存索引方法 | |
US11314689B2 (en) | Method, apparatus, and computer program product for indexing a file | |
CN103473239A (zh) | 一种非关系型数据库数据更新方法和装置 | |
CN109766312A (zh) | 一种区块链存储方法、***、装置及计算机可读存储介质 | |
CN107256196A (zh) | 基于闪存阵列的支持零拷贝的缓存***及方法 | |
CN106951375A (zh) | 在存储***中删除快照卷的方法及装置 | |
CN108959119A (zh) | 存储***中垃圾收集的方法和*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |