[发明专利]一种混合内存键值对存储系统的请求处理方法有效
申请号: | 201811395627.6 | 申请日: | 2018-11-22 |
公开(公告)号: | CN109683811B | 公开(公告)日: | 2020-05-19 |
发明(设计)人: | 童薇;冯丹;刘景宁;吴海源;秦俊青 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 混合 内存 键值 存储系统 请求 处理 方法 | ||
1.一种混合内存键值对存储系统的请求处理方法,所述混合内存键值对存储系统包括DRAM和NVM,其特征在于,包括如下步骤:
(1)判断请求类型,若为读请求,则转入步骤(2);若为写请求,则转入步骤(4);
(2)判断所述读请求的类型,若为点查询请求,则根据所述点查询请求的键查找哈希表,返回查询结果,并转入步骤(7);若为范围查询请求,则转入步骤(3);
(3)根据所述范围查询请求构建对应的跳表命令,将所述跳表命令添加至每一个跳表的命令缓存队列,并等待直至获取到所有跳表的返回结果;按照字典序合并获取到的返回结果,从而得到所述范围查询请求的查询结果并返回;转入步骤(7);
(4)为所述写请求在所述NVM中分配内存并写入值,从而得到所述写请求的值地址;
(5)判断所述写请求的类型,若为更新请求,则根据所述更新请求更新所述哈希表,并构建对应的跳表命令;若为插入请求,则根据所述插入请求新建跳表节点并更新所述哈希表,并构建对应的跳表命令;
(6)根据所述写请求中键的长度确定目标跳表,并将所述跳表命令添加至所述目标跳表的命令缓存队列;转入步骤(7);
(7)请求处理结束;
在处理请求的同时,还包括:
(S1)对于任意一个跳表S,若其命令缓存队列Q为空,则等待直至所述命令缓存队列Q不为空,并转入(S2);否则,转入(S2);
(S2)从所述命令缓存队列Q中取跳表命令C并判断请求类型,若为更新请求,则转入(S3);若为插入请求,则转入(S4);若为范围查询请求,则转入(S5);
(S3)根据所述跳表命令C中的跳表节点地址和值地址更新对应的跳表节点;转入步骤(S1);
(S4)根据所述跳表命令C中的跳表节点地址将新建的跳表节点插入所述跳表S;转入步骤(S1);
(S5)根据所述跳表命令C中的查询范围获得所述跳表S中键的字典序位于所述查询范围内的所有跳表节点并返回值地址;转入步骤(S1);其中,所述哈希表建立于所述DRAM中,所述哈希表中的索引项存储有键、值地址以及对应的跳表节点地址;所述跳表建立于所述NVM中,所述跳表有多个,每一个跳表分别与一个键的长度范围相对应,并且每一个跳表分别设置有一个命令缓存队列,所述跳表中的跳表节点存储有键和值地址;所述跳表命令封装有请求类型,所述查询范围为键的字典序范围。
2.如权利要求1所述的混合内存键值对存储系统的请求处理方法,其特征在于,还包括,若同一范围查询请求所对应的跳表命令均执行完成,则按照字典序合并各跳表命令返回的数据,从而得到所述范围查询请求的查询结果。
3.如权利要求1所述的混合内存键值对存储系统的请求处理方法,其特征在于,所述步骤(3)中,根据所述范围查询请求构建对应的跳表命令,包括:
获得所述范围查询请求的查询范围R;构建跳表命令Cs,并设置跳表命令Cs的请求类型为范围查询请求,设置所述跳表命令Cs的查询范围为所述查询范围R;
其中,所述查询范围为键的字典序范围。
4.如权利要求1所述的混合内存键值对存储系统的请求处理方法,其特征在于,所述步骤(5)中,判断所述写请求的类型的方法为:
根据所述写请求的键查找所述哈希表,若查找成功,则判定所述写请求为更新请求;否则,判定所述写请求为插入请求。
5.如权利要求1所述的混合内存键值对存储系统的请求处理方法,其特征在于,所述步骤(5)中,根据所述更新请求更新所述哈希表,并构建对应的跳表命令,包括:
根据所述更新请求的键查找到对应的索引项Iu;
将所述索引项Iu中值地址更新为所述写请求的值地址;
构建跳表命令Cu,设置所述跳表命令Cu的请求类型为更新请求,并将所述跳表命令Cu的跳表节点地址和值地址对应地设置为所述索引项Iu中存储的跳表节点地址和值地址。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811395627.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种读写方法及终端
- 下一篇:一种分布式块存储的共享卷的数据读写方法及系统