CN105900093B - 一种KeyValue数据库的数据表的更新方法与表数据更新装置 - Google Patents
一种KeyValue数据库的数据表的更新方法与表数据更新装置 Download PDFInfo
- Publication number
- CN105900093B CN105900093B CN201580000911.7A CN201580000911A CN105900093B CN 105900093 B CN105900093 B CN 105900093B CN 201580000911 A CN201580000911 A CN 201580000911A CN 105900093 B CN105900093 B CN 105900093B
- Authority
- CN
- China
- Prior art keywords
- data
- full dose
- new
- file
- row
- 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
- 238000000034 method Methods 0.000 title claims abstract description 53
- 241001269238 Data Species 0.000 claims abstract description 133
- 230000008676 import Effects 0.000 claims abstract description 77
- 238000012217 deletion Methods 0.000 claims description 32
- 230000037430 deletion Effects 0.000 claims description 32
- 230000005055 memory storage Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 4
- 238000010276 construction Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000903 blocking effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004321 preservation Methods 0.000 description 2
- 238000007630 basic procedure Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000008929 regeneration Effects 0.000 description 1
- 238000011069 regeneration method Methods 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
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 (27)
1.一种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;
将所述全量数据更新文件导入所述数据表;
将所述全量数据删除文件导入所述数据表。
2.根据权利要求1所述的KeyValue数据库的数据表的更新方法,其特征在于,先执行所述生成全量数据删除文件的步骤,再执行所述生成全量数据更新文件的步骤;
所述每列新属性的更新时间戳的时刻为生成所述全量数据更新文件的时刻,所述每行删除数据的删除时间戳的时刻为生成所述全量数据删除文件的时刻。
3.根据权利要求1或2所述的KeyValue数据库的数据表的更新方法,其特征在于,先执行所述将所述全量数据更新文件导入所述数据表的步骤,再执行所述将所述全量数据删除文件导入所述数据表的步骤。
4.根据权利要求1或2所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述全量数据更新文件导入所述数据表包括:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
5.根据权利要求3所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述全量数据更新文件导入所述数据表包括:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
6.根据权利要求1或2所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述全量数据删除文件导入所述数据表包括:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
7.根据权利要求3所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述全量数据删除文件导入所述数据表包括:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
8.一种表数据更新装置,其特征在于,包括:
接收模块,用于接收全量数据更新指令;
文件生成模块,用于根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取模块,用于获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
所述文件生成模块,还用于根据所述M行旧数据,生成全量数据删除文件,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P;
导入模块,用于将所述全量数据更新文件导入所述数据表,以及将所述全量数据删除文件导入所述数据表。
9.根据权利要求8所述的表数据更新装置,其特征在于,所述文件生成模块,先生成所述全量数据删除文件,再生成所述全量数据更新文件,将生成所述全量数据更新文件的时刻设置为所述每列新属性的更新时间戳,将生成所述全量数据删除文件的时刻设置为所述每行删除数据的删除时间戳。
10.根据权利要求8或9所述的表数据更新装置,其特征在于,所述导入模块,先将所述全量数据更新文件导入所述数据表,再将所述全量数据删除文件导入所述数据表。
11.根据权利要求8或9所述的表数据更新装置,其特征在于,所述导入模块具体通过如下方法将所述全量数据更新文件导入所述数据表:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
12.根据权利要求10所述的表数据更新装置,其特征在于,所述导入模块具体通过如下方法将所述全量数据更新文件导入所述数据表:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
13.根据权利要求8或9所述的表数据更新装置,其特征在于,所述导入模块具体通过如下方法将所述全量数据删除文件导入所述数据表:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
14.根据权利要求10所述的表数据更新装置,其特征在于,所述导入模块具体通过如下方法将所述全量数据删除文件导入所述数据表:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
15.一种表数据更新装置,包括输入装置、输出装置、处理器和存储器,其特征在于,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件导入所述数据表;
将所述全量数据删除文件导入所述数据表。
16.根据权利要求15所述的表数据更新装置,其特征在于,所述处理器,先生成所述全量数据删除文件,再生成所述全量数据更新文件,将生成所述全量数据更新文件的时刻设置为所述每列新属性的更新时间戳,将生成所述全量数据删除文件的时刻设置为所述每行删除数据的删除时间戳。
17.根据权利要求15或16所述的表数据更新装置,其特征在于,所述处理器,先将所述全量数据更新文件导入所述数据表,再将所述全量数据删除文件导入所述数据表。
18.根据权利要求15或16所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
19.根据权利要求17所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述全量数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
20.根据权利要求15或16所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
21.根据权利要求17所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述全量数据删除文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
22.一种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;
将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件;
将所述表数据更新文件导入所述数据表。
23.根据权利要求22所述的KeyValue数据库的数据表的更新方法,其特征在于,所述将所述表数据更新文件导入所述数据表包括:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
24.一种表数据更新装置,其特征在于,包括:
指令接收模块,用于接收全量数据更新指令;
生成文件模块,用于根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
数据获取模块,用于获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
所述生成文件模块,还用于根据所述M行旧数据,生成全量数据删除文件,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P;
文件合并模块,用于将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件
文件导入模块,用于将所述表数据更新文件导入所述数据表。
25.根据权利要求24所述的表数据更新装置,其特征在于,所述文件导入模块具体用于:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
26.一种表数据更新装置,包括输入装置、输出装置、处理器和存储器,其特征在于,通过调用存储器存储的操作指令,所述处理器用于执行如下步骤:
接收全量数据更新指令;
根据所述全量数据更新指令获取待导入的数据,并根据所述待导入的数据生成全量数据更新文件,所述全量数据更新文件包括P行新数据,每行新数据包括一个行标识RowKey和Q列新属性,每列新属性的数据类型为输入Put类型,每列新属性设置有更新时间戳;
获取所述全量数据更新指令对应的数据表的M行旧数据,其中,每行旧数据包括一个RowKey和N列旧属性,每列旧属性设置有原始时间戳;
根据所述M行旧数据,生成全量数据删除文件,其中,所述全量数据删除文件包括M行删除数据,每行删除数据与所述每行旧数据一一对应,所述每行删除数据的数据类型为Delete类型,所述每行删除数据设置有删除时间戳,第R行删除数据的删除时间戳大于第R行旧数据的原始时间戳的最大值,第R行删除数据的删除时间戳小于第S行新数据的更新时间戳的最小值,所述第R行删除数据、所述第R行旧数据与所述第S行新数据具有相同的RowKey,且1≤R≤M,1≤S≤P;
将所述全量数据更新文件与所述全量数据删除文件合并为表数据更新文件;
将所述表数据更新文件导入所述数据表。
27.根据权利要求26所述的表数据更新装置,其特征在于,所述处理器还用于执行:
将所述表数据更新文件的保存路径更改到所述全量数据更新指令对应的数据表的目录下。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710767670.XA CN107977396B (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2014090934 | 2014-11-12 | ||
CNPCT/CN2014/090934 | 2014-11-12 | ||
PCT/CN2015/073211 WO2016074370A1 (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710767670.XA Division CN107977396B (zh) | 2014-11-12 | 2015-02-17 | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105900093A CN105900093A (zh) | 2016-08-24 |
CN105900093B true CN105900093B (zh) | 2018-02-02 |
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 After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710767670.XA Active CN107977396B (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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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数据库的模式管理方法及*** |
Family Cites Families (21)
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 |
US7149736B2 (en) * | 2003-09-26 | 2006-12-12 | Microsoft Corporation | Maintaining time-sorted aggregation records representing aggregations of values from multiple database records using multiple partitions |
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 | 中兴通讯股份有限公司 | 一种基于增量式的电子节目导航数据同步方法及*** |
JP5448428B2 (ja) * | 2008-11-27 | 2014-03-19 | 三菱電機株式会社 | データ管理システム及びデータ管理方法及びデータ管理プログラム |
US8918380B2 (en) * | 2009-07-09 | 2014-12-23 | Norsync Technology As | Methods, systems and devices for performing incremental updates of partial databases |
EP2302534B1 (en) * | 2009-09-18 | 2017-12-13 | Software AG | Method for mass-deleting data records of a database system |
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 | 腾讯科技(深圳)有限公司 | 一种非关系型数据库数据更新方法和装置 |
US20150286671A1 (en) | 2012-10-29 | 2015-10-08 | Nec Corporation | Transaction system |
CN103002011B (zh) | 2012-10-29 | 2016-06-29 | 北京奇虎科技有限公司 | 基于服务器的数据更新方法和服务器 |
US9449039B2 (en) * | 2012-11-26 | 2016-09-20 | Amazon Technologies, Inc. | Automatic repair of corrupted blocks in a database |
WO2014141594A1 (ja) * | 2013-03-15 | 2014-09-18 | 日本電気株式会社 | 計算機システム |
-
2015
- 2015-02-17 JP JP2016519954A patent/JP6251388B2/ja active Active
- 2015-02-17 EP EP15832861.7A patent/EP3051440B1/en 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 AU AU2015316450A patent/AU2015316450B2/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 (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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数据库的模式管理方法及*** |
Also Published As
Publication number | Publication date |
---|---|
JP6251388B2 (ja) | 2017-12-20 |
JP6521402B2 (ja) | 2019-05-29 |
US10467192B2 (en) | 2019-11-05 |
EP3051440A1 (en) | 2016-08-03 |
EP3051440B1 (en) | 2019-01-02 |
CN107977396A (zh) | 2018-05-01 |
JP2018049656A (ja) | 2018-03-29 |
WO2016074370A1 (zh) | 2016-05-19 |
JP2017500622A (ja) | 2017-01-05 |
AU2015316450B2 (en) | 2016-11-03 |
EP3051440A4 (en) | 2016-12-28 |
CN105900093A (zh) | 2016-08-24 |
CN107977396B (zh) | 2021-07-20 |
US20160179836A1 (en) | 2016-06-23 |
AU2015316450A1 (en) | 2016-05-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105900093B (zh) | 一种KeyValue数据库的数据表的更新方法与表数据更新装置 | |
Schram et al. | MySQL to NoSQL: data modeling challenges in supporting scalability | |
CN103064639B (zh) | 数据存储方法及装置 | |
DE112012005037B4 (de) | Verwalten von redundanten unveränderlichen Dateien unter Verwendung von Deduplizierungen in Speicher-Clouds | |
CN103714123B (zh) | 企业云存储分块对象重复数据删除和重组版本控制方法 | |
CN103778148B (zh) | Hadoop分布式文件***数据文件的生命周期管理方法和设备 | |
CN104361018B (zh) | 电子档案信息整编方法及装置 | |
CN103544156B (zh) | 文件存储方法及装置 | |
CN104462185B (zh) | 一种基于混合结构的数字图书馆云存储*** | |
JP6262874B2 (ja) | データベース実現方法 | |
CN104111936B (zh) | 数据查询方法和*** | |
CN103246549B (zh) | 一种数据转存的方法及*** | |
CN103198090A (zh) | 用于优化虚拟桌面环境中的存储分配的方法和*** | |
CN106960020B (zh) | 一种创建索引表的方法及设备 | |
US11100087B2 (en) | Data tokenization system maintaining data integrity | |
JP2014078085A (ja) | 実行制御プログラム、実行制御方法および情報処理装置 | |
Silva et al. | Integrating big data into the computing curricula | |
CN104317963B (zh) | 一种数据处理方法及装置 | |
CN107819886A (zh) | 一种智能云平台图书馆 | |
CN108255855A (zh) | 数据存储方法和装置 | |
CN106909595A (zh) | 一种数据迁移方法及装置 | |
WO2014137258A1 (en) | Selection of data storage settings for an application | |
CN110442585A (zh) | 数据更新方法、数据更新装置、计算机设备及存储介质 | |
CN105843554A (zh) | 基于对象存储的数据迁移的方法及其*** | |
KR101332270B1 (ko) | 유전 정보 관리 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220301 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |