[发明专利]一种处理数据的方法和装置有效
申请号: | 201610702578.0 | 申请日: | 2016-08-22 |
公开(公告)号: | CN107765992B | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 夏飞;熊劲;蒋德钧;孙凝晖 | 申请(专利权)人: | 华为技术有限公司;中国科学院计算技术研究所 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F16/22;G06F16/23;G06F16/2455 |
代理公司: | 北京中博世达专利商标代理有限公司 11274 | 代理人: | 张娜 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 处理 数据 方法 装置 | ||
本发明公开了一种处理数据的方法和装置,涉及数据处理技术领域,用以减少向NVM中写入数据的次数,从而减少系统的消耗,延长NVM的使用寿命。该方法应用于支持KV存储系统的服务器中,服务器包括NVM;该方法包括:接收更新操作,该更新操作包括第一Key和与第一Key对应的目标Value;将第一Key和目标Value写入NVM的空闲存储空间;将NVM中存储的第一Key对应的源索引项更新为目标索引项,源索引项包括源Value所在的Key‑Value对在NVM中的位置信息,目标索引项包括目标Value所在的Key‑Value对在NVM中的位置信息。
技术领域
本发明涉及数据处理技术领域,尤其涉及一种处理数据的方法和装置。
背景技术
原子性是指事务的操作全部完成或全部不完成。在键值(Key-Value,KV)存储系统中,数据以Key-Value对的结构进行存储。
在KV存储系统中,更新数据的过程包括:服务器在接收到携带Key和该Key对应的目标Value的更新操作之后,使用该Key对应的目标Value覆盖非易失性存储器(non-volatile memory,NVM)中存储的该Key对应的源Value。若在使用该目标Value覆盖该源Value的过程中,系统发生宕机,则NVM中存储的该Key对应的Value不是该Key对应的目标Value,也不是该Key对应的源Value。如图1所示,假设源Value包括a和b,目标Value包括a'和b';若在使用a'覆盖a的结束时刻,系统发生宕机,则NVM中存储的该Key对应的Value包括a'和b。该情况下,更新操作的写原子性被破坏。
为了解决上述问题,写数据的过程包括:服务器在NVM的一个数据区中先写入插入标识(+),再写入Key-Value对;并记录该数据区中的Key-Value对的个数。更新数据的过程包括:服务器在接收到携带Key和该Key对应的目标Value的更新操作之后,先在该Key对应的源Value所在的数据区内写入插入标识(-)、Key-源Value对,再写入插入标识(+)、Key-目标Value对;并更新所记录的该数据区中的Key-Value对的个数。示例的,假设NVM的一个数据区内存储有1个Key-Value对,且该Key-Value对中的Key为8,Value包括x1和x2,那么,该数据区中存储的数据为+8x1x2;假设更新操作中携带的Key为8,Value包括y1和y2,则服务器在该数据区内写入-8x1x2+8y1y2,并将所记录的该数据区中的Key-Value对的个数更新为3。
在上述方法中,若服务器在NVM内写入该目标Value的过程中,系统发生宕机,则该数据区内记录的Key-Value对的个数未更新,也就是说,该数据区内的有效的Key-Value对的个数未更新,该情况下,NVM中存储的该Key对应的Value为源Value;示例的,基于图2,若服务器在NVM内写入8y1y2的过程中,系统发生宕机,则该数据区内记录的Key-Value对的个数为1,也就是说,NVM中存储的为+8x1x2为有效Key-Value对。若服务器在NVM内写入该目标Value的过程中,系统没有发生宕机,则根据上述方法可知,NVM中存储的该Key对应的Value为目标Value。因此,上述方法能够保证更新操作的写原子性。
但是,上述方法中,服务器在更新数据的过程中,需要将该Key以及该Key对应的源Value写入NVM中,且需要在NVM中写入插入标识,因此,增加了向NVM中写入数据的次数,从而增加了系统的消耗,缩短了NVM的使用寿命。
发明内容
本发明的实施例提供一种处理数据的方法和装置,用于减少向NVM中写入数据的次数,从而减少系统的消耗,延长NVM的使用寿命。
为了达到上述目的,本发明的实施例采用如下技术方案:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司;中国科学院计算技术研究所,未经华为技术有限公司;中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610702578.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于传输消息的方法和装置
- 下一篇:硬盘界面装置
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置