[发明专利]一种KeyValue数据库的数据表的更新方法与表数据更新装置有效
申请号: | 201580000911.7 | 申请日: | 2015-02-17 |
公开(公告)号: | CN105900093B | 公开(公告)日: | 2018-02-02 |
发明(设计)人: | 郭益君;毕杰山 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 keyvalue 数据库 数据表 更新 方法 数据 装置 | ||
本申请要求于2014年11月12日提交国际专利局、申请号为PCT/CN2014/090934、发明名称为“一种KeyValue数据库的数据表的更新方法与表数据更新装置”的国际专利申请的优先权,其全部内容通过引用结合在本申请中
技术领域
本发明涉及信息技术领域,尤其涉及一种KeyValue数据库的数据表的更新方法与表数据更新装置。
背景技术
键值对(KeyValue)类型的数据库(以下简称KeyValue数据库)作为非关系(NoSQL)型的分布式存储的数据库,具有高可伸缩性和高可靠性,已经在越来越多的系统中得到广泛使用。很多KeyValue数据库中数据以表为单位进行存储,每个表中包括多行数据,每行数据用行标识(RowKey)来唯一标识,且每行数据包括多列属性,每列属性对应一条KeyValue数据,且每列属性具有数据类型和时间戳。其中,数据类型包括Put(新增)、Delete(删除)等类型,Put类型用于表示该属性是一个新增的属性,Delete类型用于表示该属性用于删除一个旧属性。时间戳用于表示每个属性生成的时间。KeyValue数据库中采用时间戳来实现数据的多版本保存,即,相同RowKey值的数据通过时间戳来进行进新旧数据的区分。当KeyValue数据库中包括有多版本的数据时,旧版本的数据会被新版本的数据所覆盖,用户在读取数据时会直接读取新版本的数据。
KeyValue数据库在更新数据时采用的是标记删除技术,用于逐条的删除或导入KeyValue数据。而实际应用中常常需要将对表数据进行全部数据的整体性的全量更新,即需要将表中现有数据全部清空并导入新数据,但是现有的KeyValue数据库不支持对表数据的一次性全量更新。而如果逐条对表数据进行删除与导入,则更新表中的全部数据的过程耗时很长,且更新过程缺乏原子性,会影响该表提供的数据读取服务的质量。因此,提供一种适用于KeyValue数据库的表数据的全量更新方法,具有重要的意义。
发明内容
本发明实施例提供了一种KeyValue数据库的数据表的更新方法,可以实现KeyValue数据库中的表数据全量更新。
本发明实施例第一方面提供了一种KeyValue数据库的数据表的更新方法,包括:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据的数据类型为删除Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件导入所述数据表;
将所述全量数据删除文件导入所述数据表。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,先执行所述生成全量数据删除文件的步骤,再执行所述生成全量数据更新文件的步骤;
所述每列新属性的更新时间戳的时刻为生成所述全量数据更新文件的时刻,所述每行删除数据的删除时间戳的时刻为生成所述全量数据删除文件的时刻。
结合本发明实施例的第一方面或第一方面的第一种实现方式,本发明实施例的第一方面的第二种实现方式中,先执行所述将所述全量数据更新文件导入所述数据表的步骤,再执行所述将所述全量数据删除文件导入所述数据表的步骤。
结合本发明实施例的第一方面、第一方面的第一种或第二种实现方式,本发明实施例的第一方面的第三种实现方式中,所述将所述全量数据更新文件导入所述数据表包括:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
结合本发明实施例的第一方面、第一方面的第一种、第二种或第三种实现方式,本发明实施例的第一方面的第四种实现方式中,所述将所述全量数据删除文件导入所述数据表包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201580000911.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:供举办奖励活动的网络服务系统
- 下一篇:时序数据管理方法以及时序数据管理系统