发明名称 |
基于SSD的Key-Value型本地存储方法及系统 |
摘要 |
本发明公开一种基于SSD的Key-Value型本地存储方法和系统,所述方法包括:步骤1,对于数据采用内存快照B+树索引结构,进行内存的读写分离操作;步骤2,经过索引后的数据,针对B+树使用FIFO队列管理缓存;步骤3,对所述数据进行读写操作,通过空洞文件机制在日志型追加写入的数据中实现逻辑页号和物理位置的映射管理。 |
申请公布号 |
CN102722449B |
申请公布日期 |
2015.01.21 |
申请号 |
CN201210165053.X |
申请日期 |
2012.05.24 |
申请人 |
中国科学院计算技术研究所;华为技术有限公司 |
发明人 |
刘凯捷;熊劲;孙凝晖 |
分类号 |
G06F12/08(2006.01)I |
主分类号 |
G06F12/08(2006.01)I |
代理机构 |
|
代理人 |
|
主权项 |
一种基于SSD的Key‑Value型本地存储方法,其特征在于,包括:步骤1,对于数据采用内存快照B+树索引结构,进行内存中的读写分离操作;步骤2,经过索引后的数据,针对B+树页面使用FIFO队列管理缓存;步骤3,对所述数据页面追加写入SSD,通过空洞文件机制在日志型追加写入的数据中实现逻辑页号和物理位置的映射管理;其中,所述步骤1包括:步骤21,根节点A为B+树根节点,对首节点D做一次更新操作:首先将首节点D页面进行拷贝,拷贝的副本页面为首节点D’,然后在首节点D’页面中进行所需要的更新;步骤22,进行完这个操作以后,需要对中间节点B中指向首节点D’的索引也做更新,根据内存快照的原则,为了防止读写竞争,需要先对中间节点B进行拷贝,然后在副本中间节点B’中进行更新操作;依次操作,所述拷贝过程也在根节点A上发生;步骤23,当整个更新操作完成时,形成了一棵以根节点A’为根节点的新B+树,根节点A’相比较A,指向B’的索引有变化,而其他索引仍然不变;步骤24,中间节点B’更新了指向首节点D’的页面,其他索引没有变化。 |
地址 |
100080 北京市海淀区中关村科学院南路6号 |