CN107977396B - 一种KeyValue数据库的数据表的更新方法与表数据更新装置 - Google Patents
一种KeyValue数据库的数据表的更新方法与表数据更新装置 Download PDFInfo
- Publication number
- CN107977396B CN107977396B CN201710767670.XA CN201710767670A CN107977396B CN 107977396 B CN107977396 B CN 107977396B CN 201710767670 A CN201710767670 A CN 201710767670A CN 107977396 B CN107977396 B CN 107977396B
- Authority
- CN
- China
- Prior art keywords
- data
- row
- file
- full
- updating
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Abstract
本发明实施例提供了一种KeyValue数据库的数据表的更新方法,包括:接收全量数据更新指令,根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据更新文件;获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据的M个RowKey,生成全量数据删除文件;将全量数据更新文件导入数据表;将全量数据删除文件导入数据表。本发明实施例提供的KeyValue数据库的数据表的更新方法能够实现KeyValue数据库的数据表的全量更新,且更新速度较快,原子性较好。本发明实施例还提供了相关的表数据更新装置。
Description
本申请要求于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;
将所述全量数据更新文件导入所述数据表;
将所述全量数据删除文件导入所述数据表。
结合本发明实施例的第一方面,本发明实施例的第一方面的第一种实现方式中,先执 行所述生成全量数据删除文件的步骤,再执行所述生成全量数据更新文件的步骤;
所述每列新属性的更新时间戳的时刻为生成所述全量数据更新文件的时刻,所述每行 删除数据的删除时间戳的时刻为生成所述全量数据删除文件的时刻。
结合本发明实施例的第一方面或第一方面的第一种实现方式,本发明实施例的第一方 面的第二种实现方式中,先执行所述将所述全量数据更新文件导入所述数据表的步骤,再 执行所述将所述全量数据删除文件导入所述数据表的步骤。
结合本发明实施例的第一方面、第一方面的第一种或第二种实现方式,本发明实施例 的第一方面的第三种实现方式中,所述将所述全量数据更新文件导入所述数据表包括:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的 目录下。
结合本发明实施例的第一方面、第一方面的第一种、第二种或第三种实现方式,本发 明实施例的第一方面的第四种实现方式中,所述将所述全量数据删除文件导入所述数据表 包括:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的 目录下。
本发明实施例的第二方面提供了一种表数据更新装置,包括:
接收模块,用于接收全量数据更新指令;
文件生成模块,用于根据所述全量数据更新指令获取待导入的数据,并根据所述待导 入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包 括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取模块,用于获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行 旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
所述文件生成模块,还用于根据所述M行旧数据,生成全量数据删除文件,所述全量 数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删 除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据 的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小 于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P;
导入模块,用于将所述全量数据更新文件导入所述数据表,以及将所述全量数据删除 文件导入所述数据表。
结合本发明实施例的第二方面,本发明实施例的第二方面的第一种实现方式中,所述 文件生成模块,先生成所述全量数据删除文件,再生成所述全量数据更新文件,将生成所 述全量数据更新文件的时刻设置为所述每列新属性的更新时间戳,将生成所述全量数据删 除文件的时刻设置为所述每行删除数据的删除时间戳。
结合本发明实施例的第二方面或第二方面的第一种实现方式,本发明实施例的第二方 面的第二种实现方式中,所述导入模块,先将所述全量数据更新文件导入所述数据表,再 将所述全量数据删除文件导入所述数据表。
结合本发明实施例的第二方面、第二方面的第一种或第二种实现方式,本发明实施例 的第二方面的第三种实现方式中,所述第一导入模块具体用于:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的 目录下。
结合本发明实施例的第二方面、第二方面的第一种、第二种或第三种实现方式,本发 明实施例的第二方面的第四种实现方式中,所述第二导入模块具体用于:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的 目录下。
本发明实施例的第三方面提供了一种表数据更新装置,包括输入装置、输出装置、处 理器和存储器,其中,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数 据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey 和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个 RowKey和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第 R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更 新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相 同的RowKey,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件导入所述数据表;
将所述全量数据删除文件导入所述数据表。
结合本发明实施例的第三方面,本发明实施例的第三方面的第一种实现方式中,所述 处理器,先生成所述全量数据删除文件,再生成所述全量数据更新文件,将生成所述全量 数据更新文件的时刻设置为所述每列新属性的更新时间戳,将生成所述全量数据删除文件 的时刻设置为所述每行删除数据的删除时间戳。
结合本发明实施例的第三方面或第三方面的第一种实现方式,本发明实施例的第三方 面的第二种实现方式中,所述处理器,先将所述全量数据更新文件导入所述数据表,再将 所述全量数据删除文件导入所述数据表。
结合本发明实施例的第三方面、第三方面的第一种或第二种实现方式,本发明实施例 的第三方面的第三种实现方式中,所述处理器还用于执行:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的 目录下。
结合本发明实施例的第三方面、第三方面的第一种、第二种或第三种实现方式,本发 明实施例的第三方面的第四种实现方式中,所述处理器还用于执行:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的 目录下。
本发明实施例第四方面提供了一种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;
将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件;
将所述表数据更新文件导入所述数据表。
结合本发明实施例的第四方面,本发明实施例的第四方面的第一种实现方式中,所述 将所述表数据更新文件导入所述数据表包括:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目 录下。
本发明实施例的第五方面提供了一种表数据更新装置,包括:
指令接收模块,用于接收全量数据更新指令;
生成文件模块,用于根据所述全量数据更新指令获取待导入的数据,并根据所述待导 入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包 括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
数据获取模块,用于获取所述全量数据更新指令对应的数据表的M行旧数据,其中, 每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
所述生成文件模块,还用于根据所述M行旧数据,生成全量数据删除文件,所述全量 数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删 除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据 的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小 于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P;
文件合并模块,用于将所述全量数据更新文件与所述全量数据删除文件合并为表数据 更新文件
文件导入模块,用于将所述表数据更新文件导入所述数据表。
结合本发明实施例的第五方面,本发明实施例的第五方面的第一种实现方式中,所述 文件导入模块具体用于:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目 录下。
本发明实施例的第六方面提供了一种表数据更新装置,包括输入装置、输出装置、处 理器和存储器,其中,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数 据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey 和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个 RowKey和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第 R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更 新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相 同的RowKey,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件;
将所述表数据更新文件导入所述数据表。
结合本发明实施例的第六方面,本发明实施例的第六方面的第一种实现方式中,所述 处理器还用于执行:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目 录下。
本发明实施例提供了一种KeyValue数据库的数据表的更新方法,包括:接收全量数据 更新指令,根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据 更新文件;获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据生成全量数据删除文件;将全量数据更新文件导入数据表;将全量数据删除文件导入数据表。通过这样的方法,实现了KeyValue数据库的数据表的全部数据的全量更新。同时,由于全量数据更新文件与全量数据删除文件不是逐条的导入KeyValue数据库中,因此与现有技术中逐条更新数据表中的KeyValue数据相比,本发明实施例提供的方法更新速度较快,且原子性较好。
附图说明
图1为本发明实施例中KeyValue数据库的数据表的更新方法一个实施例流程图;
图2为本发明实施例中KeyValue数据库的数据表的更新方法另一个实施例流程图;
图3为本发明实施例中表数据更新装置一个实施例结构图;
图4为本发明实施例中表数据更新装置另一个实施例结构图;
图5为本发明实施例中KeyValue数据库的数据表的更新方法另一个实施例流程图;
图6为本发明实施例中表数据更新装置另一个实施例结构图。
具体实施方式
本发明实施例提供了一种KeyValue数据库的数据表的更新方法,可以实现KeyValue 数据库中的表数据全量更新。本发明还提出了相关的表数据更新装置,以下将分别进行说 明。
本发明实施例提供的KeyValue数据库的数据表的更新方法的基本流程请参阅图1,主 要包括:
101、接收全量数据更新指令;
用户通过客户端下发全量数据更新指令,该全量数据更新指令用于指示全量更新KeyValue数据库中指定的数据表的表数据。表数据更新装置接收该全量数据更新指令。
102、根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据 更新文件;
表数据更新装置根据该全量数据更新指令获取待导入的数据,并根据待导入的数据生 成全量数据更新文件。优选的,全量数据更新指令中可以包括该数据表的表名,并指定待 导入的数据的保存路径与生成的全量数据更新文件的保存路径。表数据更新装置从全量数 据更新指令所指定的待导入的数据的保存路径获取待导入的数据,根据待导入的数据生成 全量数据更新文件,然后保存在全量数据更新指令所指定的全量数据更新文件的保存路径 下。
其中,全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳。
103、获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据,生成全量数据删除文件;
表数据更新装置获取全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数 据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳。表数据更新装置根据M行旧数据,生成全量数据删除文件。
优选的,全量数据更新指令中可以包括该数据表的表名,并指定生成的全量数据删除 文件的保存路径。表数据更新装置根据数据表的表名确定数据表,然后保存在全量数据更 新指令所指定的全量数据删除文件的保存路径下。
其中,全量数据删除文件包括M行删除数据,每行删除数据与该数据表的每行旧数据 一一对应,每行删除数据的数据类型为Delete类型,每行删除数据用于删除与其RowKey相同的旧数据。其中,每行删除数据设置有删除时间戳。
其中,步骤103也可以位于步骤102之前,本实施例中不做限定。但无论步骤103与步骤102的顺序如何,都需要保证第R行删除数据的删除时间戳大于第R行旧数据中的原 始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据中的更新时间戳的最 小值。其中,第R行删除数据、第R行旧数据与第S行新数据具有相同的RowKey,且1 ≤R≤M,1≤S≤P。
104、将全量数据更新文件导入数据表;
表数据更新装置将全量数据更新文件导入全量数据更新指令对应的数据表,其中,全 量数据更新文件被一次性的导入数据表中,能够保证数据导入的原子性。
其中,由于全量数据更新文件的第S行新数据中更新时间戳的最小值,大于与其RowKey相同的第R行旧数据中的原始时间戳的最大值,因此在全量数据更新文件导入数 据表中后,若存在第R行旧数据,则第S行新数据能够覆盖第R行旧数据,用户能够读取 第S行新数据,但不能够读取第R行旧数据。
105、将全量数据删除文件导入数据表。
表数据更新装置将全量数据删除文件导入全量数据更新指令对应的数据表,其中,全 量数据删除文件被一次性的导入数据表中,能够保证数据删除的原子性。
其中,由于第R行删除数据的删除时间戳大于与其RowKey相同的第R行旧数据中的原始时间戳的最大值,因此第R行删除数据能够删除与其RowKey相同的第R行旧数据。 且因为全量数据删除文件包括与数据表的M行旧数据的RowKey一一对应的M行删除数 据,因此在全量数据删除文件导入到数据表中后,数据表中的M行旧数据被全部删除,用 户不能读取数据表中的旧数据。其中,由于第R行删除数据的删除时间戳小于与其RowKey 相同的第S行新数据中的更新时间戳的最小值,因此若存在第S行新数据,则第S行新数 据仍然有效,即全量数据删除文件导入数据表中后,全量数据更新文件依然能够被用户正 常读取。
其中,步骤105也可以位于步骤104之前,本实施例中不做限定。
本实施例提供了一种KeyValue数据库的数据表的更新方法,包括:接收全量数据更新 指令,根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据更新 文件;获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据,生成全量数据删除文件;将全量数据更新文件导入数据表;将全量数据删除文件导入数据表。通过这样的方法,实现了KeyValue数据库的数据表的全部数据的全量更新。同时,由于全量数据更新文件与全量数据删除文件不是逐条的导入KeyValue数据库中,因此与现有技术中逐条更新数据表中的KeyValue数据相比,本实施例提供的方法更新速度较快,且原子性较好。
图1所示的实施例中,步骤102、103的先后顺序没有做限定,步骤104、105的顺序没有做限定。但是在实际应用中,改变这些步骤的顺序,可以产生进一步的有益效果,请 参阅图2,本发明实施例提供的另一种KeyValue数据库的数据表的更新方法的流程包括:
201、接收全量数据更新指令;
用户通过客户端下发全量数据更新指令,该全量数据更新指令用于指示全量更新KeyValue数据库中数据表的表数据。表数据更新装置接收该全量数据更新指令。
具体的,全量数据更新指令用于指示删除KeyValue数据库中数据表的旧数据并向该数 据表中导入新数据,因此优选的,该全量数据更新指令中可以包括删除指令与更新指令。 删除指令用于指示删除KeyValue数据库中数据表的旧数据,更新指令用于指示向该数据表 中导入新数据。
202、获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据,生成全量数据删除文件;
表数据更新装置根据全量数据更新指令获取全量数据更新指令对应的数据表的M行 旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳。表数据更新装置根据M行旧数据,生成全量数据删除文件。
优选的,全量数据更新指令中可以包括该数据表的表名,并指定生成的全量数据删除 文件的保存路径。表数据更新装置根据数据表的表名确定数据表,然后保存在全量数据更 新指令所指定的全量数据删除文件的保存路径下。
其中,全量数据删除文件包括M行删除数据,每行删除数据与该数据表的每行旧数据 一一对应,每行删除数据的数据类型为Delete类型,每行删除数据用于删除与其RowKey相同的旧数据。其中,每行删除数据设置有删除时间戳,且每行删除数据的删除时间戳的时刻为生成该全量数据删除文件的时刻,该时间戳大于原始时间戳的最大值。
其中,若全量数据更新指令中包括删除指令与更新指令,则表数据更新装置根据该删 除指令执行本步骤中的操作。
203、根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据 更新文件;
表数据更新装置在生成了全量数据删除文件后,根据该全量数据更新指令获取待导入 的数据,并根据待导入的数据生成全量数据更新文件。优选的,全量数据更新指令中可以 包括该数据表的表名,并指定待导入的数据的保存路径与生成的全量数据更新文件的保存 路径。表数据更新装置从全量数据更新指令所指定的待导入的数据的保存路径获取待导入 的数据,根据待导入的数据生成全量数据更新文件,然后保存在全量数据更新指令所指定 的全量数据更新文件的保存路径下。
其中,全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳,且每 列新属性的更新时间戳的时刻为生成该全量数据更新文件的时刻,该更新时间戳大于原始时间戳的最大值。
其中,若全量数据更新指令中包括删除指令与更新指令,则表数据更新装置根据该更 新指令执行本步骤中的操作。
204、将全量数据更新文件导入数据表;
表数据更新装置将全量数据更新文件导入全量数据更新指令对应的数据表,其中,全 量数据更新文件被一次性的导入数据表中,能够保证数据导入的原子性。
优选的,表数据更新装置可以将全量数据更新文件的保存路径更改到该数据表的目录 下,以实现将全量数据更新文件导入数据表。其中,更改保存路径的操作耗时仅为秒级别。
其中,由于每列新属性的更新时间戳的时刻为生成该全量数据更新文件的时刻,该更 新时间戳大于原始时间戳的最大值,因此在全量数据更新文件导入数据表中后,第S行新 数据能够覆盖第R行旧数据,用户能够读取第S行新数据,但不能够读取第R行旧数据。其中,第R行旧数据与第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P。
205、将全量数据删除文件导入数据表。
表数据更新装置将全量数据删除文件导入全量数据更新指令对应的数据表,其中,全 量数据删除文件被一次性的导入数据表中,能够保证数据删除的原子性。
优选的,表数据更新装置可以将全量数据删除文件的保存路径更改到该数据表的目录 下,以实现将全量数据删除文件导入数据表。其中,更改保存路径的操作耗时仅为秒级别。
其中,由于每行删除数据的删除时间戳的时刻为生成该全量数据删除文件的时刻,该 删除时间戳大于原始时间戳的最大值,因此在全量数据更新文件导入数据表中后,第R行 删除数据能够删除与其RowKey相同的第R行旧数据。且因为全量数据删除文件包括与数 据表的M行旧数据的RowKey一一对应的M行删除数据,因此在全量数据删除文件导入到数据表中后,数据表中的M行旧数据被全部删除,用户不能读取数据表中的旧数据。其中,由于每列新属性的更新时间戳的时刻为步骤203中生成全量数据更新文件的时刻,每行删除数据的删除时间戳的时刻为步骤202中生成全量数据删除文件的时刻,且步骤202先于步骤203执行,因此每个删除时间戳小于每个更新时间戳,全量数据删除文件不会删除全量数据更新文件中的数据,全量数据更新文件依然能够被用户正常读取。
其中,步骤204、205的顺序本实施例中不做限定。但是,若先执行步骤205,则在全量数据删除文件导入数据表之后,全量数据更新文件导入数据表之前,数据表中没有数据可以被用户读取,KeyValue数据库对用户提供的服务暂时处于中断状态。因此优选的,先执行步骤204,后执行步骤205,这样可以保证在进行KeyValue数据库的数据表的更新时,数据表中一直有数据可以被用户读取,无需中断服务。
优选的,本发明实施例中的KeyValue数据库可以采用分布式文件系统作为底层数据存 储的介质。分布式文件系统是一种文件管理系统,该系统中的物理存储资源不一定连接在 本地节点上,而是通过计算机网络与多个节点相连。分布式文件系统中,大的数据块被分 为多个小的数据块存储在多个节点上,使得分布式文件系统有着较高的容错性与吞吐量。 常用的分布式文件系统有很多,包括Hadoop分布式文件系统(HDFS,HadoopDistributed File System)等,本发明实施例中不做限定,仅以HDFS举例说明。表数据更新装置在生 成了全量数据更新文件与全量数据删除文件后,将全量数据更新文件与全量数据删除文件 保存在HDFS中KeyValue数据库的目录之外的位置。在步骤204中,将全量数据更新文 件的保存路径更改到HDFS中KeyValue数据库中该数据表的目录下;在步骤205中,将 全量数据删除文件的保存路径更改到HDFS中KeyValue数据库中该数据表的目录下。
本实施例提供了一种KeyValue数据库的数据表的更新方法,包括:接收全量数据更新 指令;根据待导入的数据生成全量数据更新文件;并根据全量数据更新指令获取待导入的 数据;获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据,生成全量数据删除文件;将全量数据更新文件导入数据表;将全量数据删除文件导入数据表。通过这样的方法,实现了KeyValue数据库的数据表的全部数据的更新。且由于全量数据更新文件与全量数据删除文件不是逐条的导入KeyValue数据库中,且导入时间仅为秒级别,因此与现有技术中逐条更新数据表中的KeyValue数据相比,本发明实施例提供的方法原子性较好,且更新速度较快。又由于本发明实施例提供的方法先导入全量数据更新文件,后导入全量数据删除文件,因此目标表中的数据不会出现旧数据被删除了但数据还没有被导入的情况,因此无需中断数据读取服务,用户体验较好。
为了便于理解上述实施例,下面将以上述实施例的一个具体应用场景为例进行说明。
KeyValue数据库采用HDFS作为底层数据存储的介质。用户通过客户端下发全量数据 更新指令,指定更新数据表Table1中的数据。
其中,数据表Table1的形式如表1所示。其中,表1仅仅表示数据表Table1的一种逻辑结构,其底层文件为KeyValue的形式,每一行的每个属性对应一个KeyValue,每个KeyValue包括RowKey值、数据类型与原始时间戳,还可以包括其他信息。数据表Table1 中包括100行旧数据,该100行旧数据中,每行旧数据包括一个RowKey和3列属性(属 性1、属性2、属性3),每列属性设置有原始时间戳T0。其中,每列属性的数据类型为Put。
表1
T1时刻,表数据更新装置根据该全量数据更新指令,获取Table1的100行旧数据。表数据更新装置根据该100行旧数据,生成全量数据删除文件。该全量数据删除文件包括与数据表Table1的100行旧数据一一对应的100行删除数据,该100行删除数据与该100 行旧数据的RowKey一一对应,该100行删除数据用于删除该100行旧数据。
其中,全量数据删除文件的100行删除数据的形式可以为表2(a)所示。其中,表2(a)仅仅表示全量数据删除文件的一种逻辑结构,其底层文件为KeyValue的形式,每一 行对应一个KeyValue,每个KeyValue包括RowKey值、数据类型与删除时间戳,还可以 包括其他信息。每行删除数据的数据类型为Delete,且设置有删除时间戳,且每行删除数 据的删除时间戳的时刻为生成该全量数据删除文件的时刻T1,T1大于T0。
RowKey | 数据类型 | 删除时间戳 |
1 | Delete | T1 |
2 | Delete | T1 |
3 | Delete | T1 |
…… | …… | …… |
99 | Delete | T1 |
100 | Delete | T1 |
表2(a)
特别的,全量数据删除文件的100行删除数据的形式也可以为表2(b)所示。其中,表2(b)仅仅表示全量数据删除文件的一种逻辑结构,其底层文件为KeyValue的形式, 每一行的每个属性对应一个KeyValue,每个KeyValue包括RowKey值、数据类型与删除 时间戳,还可以包括其他信息。每行删除数据具有与Table1对应的三个属性,每个属性的 数据类型为Delete,且设置有删除时间戳,且每个属性的删除时间戳的时刻为生成该全量 数据删除文件的时刻T1,T1大于T0。本例中仅以表2(a)所示的全量数据删除文件为例 进行说明。
表2(b)
T2时刻,表数据更新装置根据该全量数据更新指令,获取待导入的数据,并根据待导 入的数据生成全量数据更新文件,请参阅表3。其中,表3仅仅表示全量数据更新文件的一种逻辑结构,其底层文件为KeyValue的形式,每一行的每个属性对应一个KeyValue, 每个KeyValue包括RowKey值、数据类型与更新时间戳,还可以包括其他信息。其中, 全量数据更新文件包括200行新数据,每行新数据包括一个行标识RowKey和3列新属性(属性1、属性2、属性4),每列新属性的数据类型为输入Put类型,每列新属性设置有 更新时间戳,且每列新属性的更新时间戳的时刻为生成该全量数据更新文件的时刻T2,T2 大于T1。
表3
T3时刻,表数据更新装置将全量数据更新文件的保存路径更改到该数据表Table1的 目录下,以实现将全量数据更新文件导入数据表。
T4时刻,表数据更新装置将全量数据删除文件的保存路径更改到该数据表Table1的 目录下,以实现将全量数据删除文件导入数据表,使得全量数据更新文件的数据有效,但 数据表中的旧数据被全部删除。其中T4大于T3。
本发明实施例还提供了相关的表数据更新装置,其基本结构请参阅图3,主要包括:
接收模块301,用于接收全量数据更新指令;
用户通过客户端下发全量数据更新指令,该全量数据更新指令用于指示全量更新KeyValue数据库中数据表的表数据。接收模块301接收该全量数据更新指令。
文件生成模块302,用于根据全量数据更新指令获取待导入的数据,并根据待导入的 数据生成全量数据更新文件;
文件生成模块302根据该全量数据更新指令获取待导入的数据,并根据待导入的数据 生成全量数据更新文件。优选的,全量数据更新指令中可以包括该数据表的表名,并指定 待导入的数据的保存路径与生成的全量数据更新文件的保存路径。文件生成模块302从全 量数据更新指令所指定的待导入的数据的保存路径获取待导入的数据,根据待导入的数据 生成全量数据更新文件,然后保存在全量数据更新指令所指定的全量数据更新文件的保存 路径下。
其中,全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳。
获取模块303,用于获取全量数据更新指令对应的数据表的M行旧数据;
其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳。
文件生成模块302,还用于根据M行旧数据,生成全量数据删除文件;
优选的,全量数据更新指令中可以包括该数据表的表名,并指定生成的全量数据删除 文件的保存路径。文件生成模块302根据数据表的表名确定数据表,然后保存在全量数据 更新指令所指定的全量数据删除文件的保存路径下。
其中,全量数据删除文件包括M行删除数据,每行删除数据与该数据表的每行旧数据 一一对应,每行删除数据的数据类型为Delete类型,每行删除数据用于删除与其RowKey相同的旧数据。其中,每行删除数据设置有删除时间戳。
其中,第R行删除数据的删除时间戳大于第R行旧数据中的原始时间戳的最大值,第 R行删除数据的删除时间戳小于第S行新数据中的更新时间戳的最小值。其中,第R行删除数据、第R行旧数据与第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P。
导入模块304,用于将全量数据更新文件导入数据表,以及将全量数据删除文件导入 数据表;
导入模块304将全量数据更新文件导入全量数据更新指令对应的数据表,其中,全量 数据更新文件被一次性的导入数据表中,能够保证数据导入的原子性。
其中,由于全量数据更新文件的第S行新数据中更新时间戳的最小值,大于与其RowKey相同的第R行旧数据中的原始时间戳的最大值,因此在全量数据更新文件导入数 据表中后,若存在第R行旧数据,则第S行新数据能够覆盖第R行旧数据,用户能够读取 第S行新数据,但不能够读取第R行旧数据。
导入模块304将全量数据删除文件导入全量数据更新指令对应的数据表,其中,全量 数据删除文件被一次性的导入数据表中,能够保证数据删除的原子性。
其中,由于第R行删除数据的删除时间戳大于与其RowKey相同的第R行旧数据中的原始时间戳的最大值,因此第R行删除数据能够删除与其RowKey相同的第R行旧数据。 且因为全量数据删除文件包括与数据表的M行旧数据的RowKey一一对应的M行删除数 据,因此在全量数据删除文件导入到数据表中后,数据表中的M行旧数据被全部删除,用 户不能读取数据表中的旧数据。其中,由于第R行删除数据的删除时间戳小于与其RowKey 相同的第S行新数据中的更新时间戳的最小值,因此若存在第S行新数据,则第S行新数 据仍然有效,即全量数据删除文件导入数据表中后,全量数据更新文件依然能够被用户正 常读取。
本实施例提供了一种表数据更新装置,包括:接收模块301,用于接收全量数据更新 指令;文件生成模块302,用于根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据更新文件;获取模块303,用于获取全量数据更新指令对应的数据表的M行旧数据;文件生成模块302,还用于根据M行旧数据,生成全量数据删除文件; 导入模块304,用于将全量数据更新文件导入数据表,以及将全量数据删除文件导入数据 表。本实施例提供的表数据更新装置能够实现KeyValue数据库的数据表的全部数据的更 新。同时,由于全量数据更新文件与全量数据删除文件不是逐条的导入KeyValue数据库中, 因此与现有技术中逐条更新数据表中的KeyValue数据相比,本发明实施例提供的表数据更 新装置的更新速度较快,且原子性较好。
优选的,图3所示的实施例中,文件生成模块302可以先生成全量数据删除文件,再生成所述全量数据更新文件。这样可以保证在进行KeyValue数据库的数据表的更新时,数据表中一直有数据可以被用户读取,无需中断服务。更为优选的,文件生成模块302可以 将生成全量数据更新文件的时刻设置为每列新属性的更新时间戳,将生成全量数据删除文件的时刻设置为每行删除数据的删除时间戳。优选的,图3所示的实施例中,导入模块304可以先将所述全量数据更新文件导入数据表,再将全量数据删除文件导入数据表。
优选的,图3所示的实施例中,导入模块304具体用于:将全量数据更新文件的保存路径更改到该数据表的目录下,以及将全量数据删除文件的保存路径更改到该数据表的目录下。其中,更改目录的操作耗时仅为秒级别。更为优选的,本发明实施例中的KeyValue 数据库可以采用分布式文件系统作为底层数据存储的介质,导入模块304具体用于将全量 数据更新文件的保存路径更改到HDFS中KeyValue数据库的该数据表的目录下,将全量 数据删除文件的保存路径更改到HDFS中KeyValue数据库的该数据表的目录下。
为了便于理解上述实施例,下面将以上述实施例的一个具体应用场景为例进行说明。
KeyValue数据库采用HDFS作为底层数据存储的介质。用户通过客户端下发全量数据 更新指令,指定更新数据表Table1中的数据。
其中,数据表Table1的形式如表1所示。数据表Table1中包括100行旧数据,该100行旧数据中,每行旧数据包括一个RowKey和3列属性(属性1、属性2、属性3),每列 属性设置有原始时间戳T0。其中,每列属性的数据类型为Put。
T1时刻,接收模块301根据该全量数据更新指令,获取模块303获取数据表Table1的100行旧数据。文件生成模块302根据该100行旧数据,生成全量数据删除文件。该全 量数据删除文件包括与数据表table1的100行旧数据一一对应的100行删除数据,该100 行删除数据与该100行旧数据的RowKey一一对应,该100行删除数据用于删除该100行 旧数据。
其中,全量数据删除文件的100行删除数据的形式可以为表2(a)所示。每行删除数据的数据类型为Delete,且设置有删除时间戳,且每行删除数据的删除时间戳的时刻为生成该全量数据删除文件的时刻T1,T1大于T0。
T2时刻,文件生成模块302装置根据该全量数据更新指令,获取待导入的数据,并根 据待导入的数据生成全量数据更新文件,请参阅表3。其中,全量数据更新文件包括200行新数据,每行新数据包括一个行标识RowKey和3列新属性(属性1、属性2、属性4), 每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳,且每列新属性的 更新时间戳的时刻为生成该全量数据更新文件的时刻T2,T2大于T1。
T3时刻,导入模块304将全量数据更新文件的保存路径更改到该数据表的目录下,以 实现将全量数据更新文件导入数据表。
T4时刻,导入模块304将全量数据删除文件的保存路径更改到该数据表的目录下,以 实现将全量数据删除文件导入数据表,使得全量数据更新文件的数据有效,但数据表中的 旧数据被全部删除。其中T4大于T3。
上面从单元化功能实体的角度对本发明实施例中的表数据更新装置进行了描述,下面 从硬件处理的角度对本发明实施例中的表数据更新装置进行描述,请参阅图4,本发明实 施例中的表数据更新装置400另一实施例包括:
输入装置401、输出装置402、处理器403和存储器404(其中表数据更新装置400 中的处理器403的数量可以一个或多个,图4中以一个处理器403为例)。在本发明的一 些实施例中,输入装置401、输出装置402、处理器403和存储器404可通过总线或其它 方式连接,其中,图4中以通过总线连接为例。
其中,通过调用存储器404存储的操作指令,处理器403用于执行如下步骤:
接收全量数据更新指令;
根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据更新文 件,全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
根据M行旧数据,生成全量数据删除文件,该全量数据删除文件包括M行删除数据,每行删除数据与每行旧数据一一对应,每行删除数据的数据类型为Delete类型,每行删 除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳 的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,其中, 第R行删除数据、第R行旧数据与第S行新数据具有相同的RowKey,且1≤R≤M,1≤ S≤P;
将全量数据更新文件导入数据表;
将全量数据删除文件导入数据表。
本发明的一些实施例中,处理器403先生成全量数据删除文件,再生成全量数据更新 文件,将生成全量数据更新文件的时刻设置为每列新属性的更新时间戳,将生成全量数据 删除文件的时刻设置为每行删除数据的删除时间戳。
本发明的一些实施例中,处理器403先将全量数据更新文件导入数据表,再将全量数 据删除文件导入数据表。本发明的一些实施例中,处理器403还用于执行如下步骤:
将全量数据更新文件的保存路径更改到全量数据更新指令对应的数据表的目录下。
本发明的一些实施例中,处理器403还用于执行如下步骤:
将全量数据删除文件的保存路径更改到全量数据更新指令对应的数据表的目录下。
本发明实施例还提供了另一种KeyValue数据库的数据表的更新方法,请参阅图5,具 体包括:
501、接收全量数据更新指令;
502、根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据 更新文件;
503、获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据,生成全量数据删除文件;
其中,步骤501至503与步骤101至103基本相同,此处不做赘述。
504、将全量数据更新文件与全量数据删除文件合并为表数据更新文件;
表数据更新装置生成了全量数据更新文件与全量数据删除文件后,将全量数据更新文 件与全量数据删除文件合并为表数据更新文件。合并后的表数据更新文件中,既包括全量 数据更新文件的所有数据,也包括全量数据删除文件的所有数据。
505、将表数据更新文件导入数据表。
表数据更新装置将表数据更新文件导入全量数据更新指令对应的数据表,其中,由于 表数据更新文件被一次性的导入数据表中,所以能够保证数据导入的原子性。
其中,由于合并后的表数据更新文件中包括全量数据更新文件的所有数据,而全量数 据更新文件的第S行新数据中更新时间戳的最小值,大于与其RowKey相同的第R行旧数 据中的原始时间戳的最大值,因此在表数据更新文件导入数据表中后,若存在第R行旧数 据,则第S行新数据能够覆盖第R行旧数据,用户能够读取第S行新数据,但不能够读取第R行旧数据。
其中,由于合并后的表数据更新文件中包括全量数据删除文件的所有数据,而第R行 删除数据的删除时间戳大于与其RowKey相同的第R行旧数据中的原始时间戳的最大值,因此在表数据更新文件导入数据表中后,第R行删除数据能够删除与其RowKey相同的第 R行旧数据。且因为全量数据删除文件包括与数据表的M行旧数据的RowKey一一对应的 M行删除数据,因此在表数据更新文件导入到数据表中后,数据表中的M行旧数据被全 部删除,用户不能读取数据表中的旧数据。其中,由于第R行删除数据的删除时间戳小于 与其RowKey相同的第S行新数据中的更新时间戳的最小值,因此若存在第S行新数据, 则第S行新数据仍然有效,即表数据更新文件中的所有数据依然能够被用户正常读取。
本实施例提供了一种KeyValue数据库的数据表的更新方法,包括:接收全量数据更新 指令,根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据更新 文件;获取全量数据更新指令对应的数据表的M行旧数据,并根据M行旧数据,生成全量数据删除文件;将全量数据更新文件与全量数据删除文件合并为表数据更新文件;将表数据更新文件导入数据表。通过这样的方法,实现了KeyValue数据库的数据表的全部数据的全量更新。同时,由于全量数据更新文件与全量数据删除文件不是逐条的导入KeyValue数据库中,因此与现有技术中逐条更新数据表中的KeyValue数据相比,本实施例提供的方法更新速度较快,且原子性较好。
本实施例与图1所示的实施例相比,先将全量数据更新文件与全量数据删除文件合并 为表数据更新文件,再将表数据更新文件导入数据表中。这样只需要向数据表中导入一次 文件即可实现表数据的全量更新。更为优选的,作为本发明的又一个实施例,表数据装置 可以不生成全量数据删除文件与全量数据更新文件,直接根据全量数据更新指令直接生成 表数据更新文件,然后将表数据更新文件导入数据表中。
优选的,表数据更新装置可以将表数据更新文件的保存路径更改到该数据表的目录 下,以实现将表数据更新文件导入数据表。其中,更改保存路径的操作耗时仅为秒级别。
本发明实施例还提供了相关的表数据更新装置,其基本结构请参阅图6,主要包括:
指令接收模块601,用于接收全量数据更新指令;
生成文件模块602,用于根据全量数据更新指令获取待导入的数据,并根据待导入的 数据生成全量数据更新文件;
数据获取模块603,用于获取全量数据更新指令对应的数据表的M行旧数据;
生成文件模块602,还用于根据M行旧数据,生成全量数据删除文件;
模块601至603与模块301至303基本相同,此处不做赘述。
文件合并模块604,用于将全量数据更新文件与全量数据删除文件合并为表数据更新 文件
表数据更新装置生成了全量数据更新文件与全量数据删除文件后,文件合并模块604 将全量数据更新文件与全量数据删除文件合并为表数据更新文件。合并后的表数据更新文 件中,既包括全量数据更新文件的所有数据,也包括全量数据删除文件的所有数据。
文件导入模块605,用于将表数据更新文件导入数据表。
文件导入模块605将表数据更新文件导入全量数据更新指令对应的数据表,其中,由 于表数据更新文件被一次性的导入数据表中,所以能够保证数据导入的原子性。
其中,由于合并后的表数据更新文件中包括全量数据更新文件的所有数据,而全量数 据更新文件的第S行新数据中更新时间戳的最小值,大于与其RowKey相同的第R行旧数 据中的原始时间戳的最大值,因此在表数据更新文件导入数据表中后,若存在第R行旧数 据,则第S行新数据能够覆盖第R行旧数据,用户能够读取第S行新数据,但不能够读取第R行旧数据。
其中,由于合并后的表数据更新文件中包括全量数据删除文件的所有数据,而第R行 删除数据的删除时间戳大于与其RowKey相同的第R行旧数据中的原始时间戳的最大值,因此在表数据更新文件导入数据表中后,第R行删除数据能够删除与其RowKey相同的第 R行旧数据。且因为全量数据删除文件包括与数据表的M行旧数据的RowKey一一对应的 M行删除数据,因此在表数据更新文件导入到数据表中后,数据表中的M行旧数据被全 部删除,用户不能读取数据表中的旧数据。其中,由于第R行删除数据的删除时间戳小于 与其RowKey相同的第S行新数据中的更新时间戳的最小值,因此若存在第S行新数据, 则第S行新数据仍然有效,即表数据更新文件中的所有数据依然能够被用户正常读取。
本实施例提供了一种表数据更新装置,其中,指令接收模块601接收全量数据更新指 令,生成文件模块602根据全量数据更新指令获取待导入的数据,并根据待导入的数据生 成全量数据更新文件;数据获取模块603获取全量数据更新指令对应的数据表的M行旧数 据,生成文件模块602根据M行旧数据,生成全量数据删除文件;文件合并模块604将全量数据更新文件与全量数据删除文件合并为表数据更新文件;文件导入模块605将表数据更新文件导入数据表。通过这样的方法,实现了KeyValue数据库的数据表的全部数据的全量更新。同时,由于全量数据更新文件与全量数据删除文件不是逐条的导入KeyValue数据库中,因此与现有技术中逐条更新数据表中的KeyValue数据相比,本实施例提供的方法更新速度较快,且原子性较好。
优选的,文件导入模块605可以将表数据更新文件的保存路径更改到该数据表的目录 下,以实现将表数据更新文件导入数据表。其中,更改保存路径的操作耗时仅为秒级别。
本实施例与图3所示的实施例相比,先将全量数据更新文件与全量数据删除文件合并 为表数据更新文件,再将表数据更新文件导入数据表中。这样只需要向数据表中导入一次 文件即可实现表数据的全量更新。更为优选的,作为本发明的又一个实施例,生成文件模 块602可以不生成全量数据删除文件与全量数据更新文件,直接根据全量数据更新指令直 接生成表数据更新文件,然后文件导入模块605将表数据更新文件导入数据表中。
上面从单元化功能实体的角度对本发明实施例中的表数据更新装置进行了描述,下面 从硬件处理的角度对本发明实施例中的表数据更新装置进行描述,请仍参阅图4,本发明 实施例中的表数据更新装置400另一实施例包括:
输入装置401、输出装置402、处理器403和存储器404(其中表数据更新装置400 中的处理器403的数量可以一个或多个,图4中以一个处理器403为例)。在本发明的一 些实施例中,输入装置401、输出装置402、处理器403和存储器404可通过总线或其它 方式连接,其中,图4中以通过总线连接为例。
其中,通过调用存储器404存储的操作指令,处理器403用于执行如下步骤:
接收全量数据更新指令;
根据全量数据更新指令获取待导入的数据,并根据待导入的数据生成全量数据更新文 件,全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
根据M行旧数据,生成全量数据删除文件,该全量数据删除文件包括M行删除数据,每行删除数据与每行旧数据一一对应,每行删除数据的数据类型为Delete类型,每行删 除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳 的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,其中, 第R行删除数据、第R行旧数据与第S行新数据具有相同的RowKey,且1≤R≤M,1≤ S≤P;
将全量数据更新文件与全量数据删除文件合并为表数据更新文件;
将表数据更新文件导入数据表。
本发明的一些实施例中,处理器403还用于执行如下步骤:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目 录下。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,模 块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它 的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨 论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,模块或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的 部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络 单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各 个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既 可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可 以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者 说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现 出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备 (可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部 或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以 存储程序代码的介质。
Claims (21)
1.一种KeyValue数据库的数据表的更新方法,其特征在于,包括:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识和Q列新属性,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个行标识和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的行标识,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件导入所述数据表;
将所述全量数据删除文件导入所述数据表。
2.根据权利要求1所述的KeyValue数据库的数据表的更新方法,其特征在于,先执行所述生成全量数据删除文件的步骤,再执行所述生成全量数据更新文件的步骤;
所述每列新属性的更新时间戳的时刻为生成所述全量数据更新文件的时刻,所述每行删除数据的删除时间戳的时刻为生成所述全量数据删除文件的时刻。
3.根据权利要求1或2所述的KeyValue数据库的数据表的更新方法,其特征在于,先执行所述将所述全量数据更新文件导入所述数据表的步骤,再执行所述将所述全量数据删除文件导入所述数据表的步骤。
4.根据权利要求1至3中任一项所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述全量数据更新文件导入所述数据表包括:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
5.根据权利要求1至3中任一项所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述全量数据删除文件导入所述数据表包括:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
6.一种表数据更新装置,其特征在于,包括:
接收模块,用于接收全量数据更新指令;
文件生成模块,用于根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识和Q列新属性,每列新属性设置有更新时间戳;
获取模块,用于获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个行标识和N列旧属性,每列旧属性设置有原始时间戳;
所述文件生成模块,还用于根据所述M行旧数据,生成全量数据删除文件,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的行标识,且1≤R≤M,1≤S≤P;
导入模块,用于将所述全量数据更新文件导入所述数据表,以及将所述全量数据删除文件导入所述数据表。
7.根据权利要求6所述的表数据更新装置,其特征在于,所述文件生成模块,先生成所述全量数据删除文件,再生成所述全量数据更新文件,将生成所述全量数据更新文件的时刻设置为所述每列新属性的更新时间戳,将生成所述全量数据删除文件的时刻设置为所述每行删除数据的删除时间戳。
8.根据权利要求6或7所述的表数据更新装置,其特征在于,所述导入模块,先将所述全量数据更新文件导入所述数据表,再将所述全量数据删除文件导入所述数据表。
9.根据权利要求6-8中任意一项所述的表数据更新装置,其特征在于,所述导入模块具体通过如下方法将所述全量数据更新文件导入所述数据表:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
10.根据权利要求6-8中任意一项所述的表数据更新装置,其特征在于,所述导入模块具体通过如下方法将所述全量数据删除文件导入所述数据表:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
11.一种表数据更新装置,包括输入装置、输出装置、处理器和存储器,其特征在于,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识和Q列新属性,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个行标识和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的行标识,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件导入所述数据表;
将所述全量数据删除文件导入所述数据表。
12.根据权利要求11所述的表数据更新装置,其特征在于,所述处理器,先生成所述全量数据删除文件,再生成所述全量数据更新文件,将生成所述全量数据更新文件的时刻设置为所述每列新属性的更新时间戳,将生成所述全量数据删除文件的时刻设置为所述每行删除数据的删除时间戳。
13.根据权利要求11或12所述的表数据更新装置,其特征在于,所述处理器,先将所述全量数据更新文件导入所述数据表,再将所述全量数据删除文件导入所述数据表。
14.根据权利要求11-13中任意一项所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
15.根据权利要求11-13中任意一项所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
16.一种KeyValue数据库的数据表的更新方法,其特征在于,包括:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识和Q列新属性,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个行标识和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的行标识,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件;
将所述表数据更新文件导入所述数据表。
17.根据权利要求16所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述表数据更新文件导入所述数据表包括:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
18.一种表数据更新装置,其特征在于,包括:
指令接收模块,用于接收全量数据更新指令;
生成文件模块,用于根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识和Q列新属性,每列新属性设置有更新时间戳;
数据获取模块,用于获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个行标识和N列旧属性,每列旧属性设置有原始时间戳;
所述生成文件模块,还用于根据所述M行旧数据,生成全量数据删除文件,所述全量数据删除文件包括M行删除数据,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的行标识,且1≤R≤M,1≤S≤P;
文件合并模块,用于将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件
文件导入模块,用于将所述表数据更新文件导入所述数据表。
19.根据权利要求18所述的表数据更新装置,其特征在于,所述文件导入模块具体用于:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
20.一种表数据更新装置,包括输入装置、输出装置、处理器和存储器,其特征在于,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识和Q列新属性,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个行标识和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的行标识,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件;
将所述表数据更新文件导入所述数据表。
21.根据权利要求20所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2014090934 | 2014-11-12 | ||
CNPCT/CN2014/090934 | 2014-11-12 | ||
CN201580000911.7A CN105900093B (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580000911.7A Division CN105900093B (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107977396A CN107977396A (zh) | 2018-05-01 |
CN107977396B true CN107977396B (zh) | 2021-07-20 |
Family
ID=55953654
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580000911.7A Active CN105900093B (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
CN201710767670.XA Active CN107977396B (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580000911.7A Active CN105900093B (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10467192B2 (zh) |
EP (1) | EP3051440B1 (zh) |
JP (2) | JP6251388B2 (zh) |
CN (2) | CN105900093B (zh) |
AU (1) | AU2015316450B2 (zh) |
WO (1) | WO2016074370A1 (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10366083B2 (en) | 2015-07-29 | 2019-07-30 | Oracle International Corporation | Materializing internal computations in-memory to improve query performance |
US10204135B2 (en) * | 2015-07-29 | 2019-02-12 | Oracle International Corporation | Materializing expressions within in-memory virtual column units to accelerate analytic queries |
US10671641B1 (en) * | 2016-04-25 | 2020-06-02 | Gravic, Inc. | Method and computer program product for efficiently loading and synchronizing column-oriented databases |
CN109960212B (zh) * | 2017-12-25 | 2020-07-31 | 北京京东乾石科技有限公司 | 任务发送方法和装置 |
US11226955B2 (en) | 2018-06-28 | 2022-01-18 | Oracle International Corporation | Techniques for enabling and integrating in-memory semi-structured data and text document searches with in-memory columnar query processing |
CN108920725B (zh) | 2018-08-02 | 2020-08-04 | 网宿科技股份有限公司 | 一种对象存储的方法及对象存储网关 |
CN109471866B (zh) * | 2018-11-09 | 2021-10-22 | 南京医渡云医学技术有限公司 | 增量医疗数据更新方法及系统 |
CN109582726B (zh) * | 2018-12-18 | 2021-09-07 | 网易(杭州)网络有限公司 | 数据表的处理方法和装置 |
CN109688266B (zh) * | 2018-12-21 | 2020-12-18 | 北京金山安全软件有限公司 | 铃声设置方法、装置和电子设备 |
US11507590B2 (en) | 2019-09-13 | 2022-11-22 | Oracle International Corporation | Techniques for in-memory spatial object filtering |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601541A (zh) * | 2003-09-26 | 2005-03-30 | 微软公司 | 自我维护的实时数据集合 |
JP2010128812A (ja) * | 2008-11-27 | 2010-06-10 | Mitsubishi Electric Corp | データ管理システム及びデータ管理方法及びデータ管理プログラム |
CN102024015A (zh) * | 2009-09-18 | 2011-04-20 | 软件股份公司 | 用于批量删除数据库系统的数据记录的方法 |
CN102483759A (zh) * | 2009-07-09 | 2012-05-30 | 诺尔斯克科技公司 | 用于执行部分数据库的增量更新的方法、系统和装置 |
CN103595776A (zh) * | 2013-11-05 | 2014-02-19 | 福建网龙计算机网络信息技术有限公司 | 分布式缓存方法及系统 |
CN103617232A (zh) * | 2013-11-26 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种针对HBase表的分页查询方法 |
CN103714163A (zh) * | 2013-12-30 | 2014-04-09 | 中国科学院信息工程研究所 | 一种NoSQL数据库的模式管理方法及系统 |
WO2014068820A1 (ja) * | 2012-10-29 | 2014-05-08 | 日本電気株式会社 | トランザクションシステム |
WO2014141594A1 (ja) * | 2013-03-15 | 2014-09-18 | 日本電気株式会社 | 計算機システム |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6959301B2 (en) | 2001-01-04 | 2005-10-25 | Reuters Limited | Maintaining and reconstructing the history of database content modified by a series of events |
US6665654B2 (en) * | 2001-07-03 | 2003-12-16 | International Business Machines Corporation | Changing table records in a database management system |
US6792429B2 (en) * | 2001-12-19 | 2004-09-14 | Hewlett-Packard Development Company, L.P. | Method for fault tolerant modification of data representation in a large database |
US7624119B2 (en) * | 2004-02-11 | 2009-11-24 | International Business Machines Corporation | Low-overhead built-in timestamp column for relational database systems |
US8533169B1 (en) * | 2005-09-21 | 2013-09-10 | Infoblox Inc. | Transactional replication |
US7769732B2 (en) * | 2007-08-27 | 2010-08-03 | International Business Machines Corporation | Apparatus and method for streamlining index updates in a shared-nothing architecture |
US20090083503A1 (en) * | 2007-09-20 | 2009-03-26 | Inventec Corporation | System of creating logical volume and method thereof |
CN101127915B (zh) | 2007-09-20 | 2011-04-20 | 中兴通讯股份有限公司 | 一种基于增量式的电子节目导航数据同步方法及系统 |
US8825601B2 (en) * | 2010-02-01 | 2014-09-02 | Microsoft Corporation | Logical data backup and rollback using incremental capture in a distributed database |
US20120284317A1 (en) * | 2011-04-26 | 2012-11-08 | Dalton Michael W | Scalable Distributed Metadata File System using Key-Value Stores |
CN102279885A (zh) | 2011-08-16 | 2011-12-14 | 中兴通讯股份有限公司 | 内存数据库对数据的操作方法及装置 |
US8751525B2 (en) * | 2011-12-23 | 2014-06-10 | Sap Ag | Time slider operator for temporal data aggregation |
CN103473239B (zh) | 2012-06-08 | 2016-12-21 | 腾讯科技(深圳)有限公司 | 一种非关系型数据库数据更新方法和装置 |
CN103002011B (zh) | 2012-10-29 | 2016-06-29 | 北京奇虎科技有限公司 | 基于服务器的数据更新方法和服务器 |
US9449038B2 (en) * | 2012-11-26 | 2016-09-20 | Amazon Technologies, Inc. | Streaming restore of a database from a backup system |
-
2015
- 2015-02-17 AU AU2015316450A patent/AU2015316450B2/en active Active
- 2015-02-17 JP JP2016519954A patent/JP6251388B2/ja active Active
- 2015-02-17 CN CN201580000911.7A patent/CN105900093B/zh active Active
- 2015-02-17 WO PCT/CN2015/073211 patent/WO2016074370A1/zh active Application Filing
- 2015-02-17 EP EP15832861.7A patent/EP3051440B1/en active Active
- 2015-02-17 CN CN201710767670.XA patent/CN107977396B/zh active Active
-
2016
- 2016-02-26 US US15/054,475 patent/US10467192B2/en active Active
-
2017
- 2017-11-22 JP JP2017224417A patent/JP6521402B2/ja active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1601541A (zh) * | 2003-09-26 | 2005-03-30 | 微软公司 | 自我维护的实时数据集合 |
JP2010128812A (ja) * | 2008-11-27 | 2010-06-10 | Mitsubishi Electric Corp | データ管理システム及びデータ管理方法及びデータ管理プログラム |
CN102483759A (zh) * | 2009-07-09 | 2012-05-30 | 诺尔斯克科技公司 | 用于执行部分数据库的增量更新的方法、系统和装置 |
CN102024015A (zh) * | 2009-09-18 | 2011-04-20 | 软件股份公司 | 用于批量删除数据库系统的数据记录的方法 |
WO2014068820A1 (ja) * | 2012-10-29 | 2014-05-08 | 日本電気株式会社 | トランザクションシステム |
WO2014141594A1 (ja) * | 2013-03-15 | 2014-09-18 | 日本電気株式会社 | 計算機システム |
CN103595776A (zh) * | 2013-11-05 | 2014-02-19 | 福建网龙计算机网络信息技术有限公司 | 分布式缓存方法及系统 |
CN103617232A (zh) * | 2013-11-26 | 2014-03-05 | 北京京东尚科信息技术有限公司 | 一种针对HBase表的分页查询方法 |
CN103714163A (zh) * | 2013-12-30 | 2014-04-09 | 中国科学院信息工程研究所 | 一种NoSQL数据库的模式管理方法及系统 |
Non-Patent Citations (2)
Title |
---|
Update操作一定是先Delete再Insert吗?;weixin_30378623;《https://blog.csdn.net/weixin_30378623/article/details/94992293》;20100106;第1-6页 * |
贾艳凯.多源异构增量数据抽取方法研究与设计.《中国优秀硕士学位论文全文数据库 信息科技辑》.2014,第I138-1223页. * |
Also Published As
Publication number | Publication date |
---|---|
AU2015316450A1 (en) | 2016-05-26 |
JP2018049656A (ja) | 2018-03-29 |
CN107977396A (zh) | 2018-05-01 |
AU2015316450B2 (en) | 2016-11-03 |
CN105900093B (zh) | 2018-02-02 |
US10467192B2 (en) | 2019-11-05 |
JP6251388B2 (ja) | 2017-12-20 |
JP6521402B2 (ja) | 2019-05-29 |
EP3051440B1 (en) | 2019-01-02 |
WO2016074370A1 (zh) | 2016-05-19 |
EP3051440A4 (en) | 2016-12-28 |
JP2017500622A (ja) | 2017-01-05 |
US20160179836A1 (en) | 2016-06-23 |
CN105900093A (zh) | 2016-08-24 |
EP3051440A1 (en) | 2016-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107977396B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
CN108228817B (zh) | 数据处理方法、装置和系统 | |
US10824372B2 (en) | Data recovery method and device, and cloud storage system | |
CN111046034B (zh) | 管理内存数据及在内存中维护数据的方法和系统 | |
CN106933836B (zh) | 一种基于分表的数据存储方法和系统 | |
CN107729399B (zh) | 数据处理的方法和装置 | |
CN111858760B (zh) | 一种异构数据库的数据处理方法及装置 | |
CN113204598B (zh) | 一种数据同步方法、系统及存储介质 | |
CN110727702B (zh) | 数据查询方法、装置、终端和计算机可读存储介质 | |
CN110858194A (zh) | 一种数据库扩容的方法和装置 | |
CN107609011B (zh) | 一种数据库记录的维护方法和装置 | |
CN115544183A (zh) | 数据可视化方法、装置、计算机设备和存储介质 | |
CN108073595B (zh) | 一种在olap数据库实现数据更新和快照的方法及装置 | |
CN105843809B (zh) | 数据处理方法和装置 | |
CN111984723A (zh) | 数据同步方法、装置及终端设备 | |
CN111753141A (zh) | 一种数据管理方法及相关设备 | |
CN111506646B (zh) | 数据同步方法、装置、系统、存储介质及处理器 | |
CN109739883B (zh) | 提升数据查询性能的方法、装置和电子设备 | |
JP2018109898A (ja) | データマイグレーションシステム | |
CN107391642B (zh) | 物化视图刷新方法和装置、存储介质以及处理器 | |
CN107665241B (zh) | 一种实时数据多维度去重方法和装置 | |
US20160140191A1 (en) | Method and apparatus for the storage and retrieval of time stamped blocks of data | |
CN110598072B (zh) | 一种特征数据聚合方法及装置 | |
CA2922388C (en) | Method and apparatus for updating data table of keyvalue database | |
CN117131023B (zh) | 数据表处理方法、装置、计算机设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |