CN112445759A - 跨分布式数据库的集群复制数据的方法、装置和电子设备 - Google Patents
跨分布式数据库的集群复制数据的方法、装置和电子设备 Download PDFInfo
- Publication number
- CN112445759A CN112445759A CN202011379593.9A CN202011379593A CN112445759A CN 112445759 A CN112445759 A CN 112445759A CN 202011379593 A CN202011379593 A CN 202011379593A CN 112445759 A CN112445759 A CN 112445759A
- Authority
- CN
- China
- Prior art keywords
- data
- snapshot
- cluster
- file
- pieces
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 230000010076 replication Effects 0.000 title description 6
- 230000009467 reduction Effects 0.000 claims abstract description 28
- 230000006870 function Effects 0.000 claims description 38
- 230000003362 replicative effect Effects 0.000 claims description 21
- 238000004590 computer program Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 abstract description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 6
- 230000005012 migration Effects 0.000 description 5
- 238000013508 migration Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000001737 promoting effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/119—Details of migration of file systems
-
- 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/11—File system administration, e.g. details of archiving or snapshots
- G06F16/128—Details of file system snapshots on the file-level, e.g. snapshot creation, administration, deletion
-
- 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/18—File system types
- G06F16/182—Distributed file systems
-
- 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
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种跨分布式数据库的集群复制数据的方法、装置和电子设备;所述方法包括:在MapReduce程序中加载数据库集群中创建的属于两个不同时间快照,使用所述程序中的映射函数,以数据中列的行键作为唯一标识的方式,对两个快照中包含的所有数据进行读取,并将具备相同行键的数据由映射函数传至归约函数中;由归约函数对所述数据是否为新增数据进行判定;其中判定逻辑为,首先判断数据的条数,再对多于1条的数据进行时间戳的判断;在判定出新增数据后,所述程序将新增数据生成为HFile文件,并采取BulkLoad的方式,将其批量写入指定服务器的另一集群中。本方案实现快速简单地复制快照中的增量数据。
Description
技术领域
本说明书一个或多个实施例涉及技术领域,尤其涉及一种跨分布式数据库的集群复制数据的方法、装置和电子设备。
背景技术
在现有技术中,针对HBase的快找数据更新,而进行的跨集群快照数据的复制迁移方案,一般采取将快照的全部数据进行整体复制,并将赋值的整体数据全部导入到另一集群中,由于实际生产中快照的数据量大,往往会导致复制数据的时间长,导入数据的时间也相应地耗时久,另一个突出的缺点,在于快照整体数据进行导入期间,会导致HBase数据库短时不可用,需要等待快照数据导入完毕,这使得需要每日进行数据复制导入的更新操作,消耗额外的时间以及人员的成本。
基于此,需要一种能够实现在快照数据更新时,将更新的数据快速迁移至制定集群,而不影响HBase使用的方案。
发明内容
有鉴于此,本说明书一个或多个实施例的目的在于提出一种跨分布式数据库的集群复制数据的方法、装置和电子设备,以解决更新的快照数据迁移时间久,影响HBase使用的问题。
基于上述目的,本说明书一个或多个实施例提供了跨分布式数据库的集群复制数据的方法,包括:在MapReduce程序中加载HBase第一集群中创建的属于两个不同时间快照,然后使MapReduce程序中的Map映射函数,对两个快照中包含的所有数据进行读取,读取的方式为,将数据中列的行键作为唯一标识,并将具备相同行键的数据由Map映射函数传至1个Reduce归约函数中;之后,由Reduce归约函数对所述数据是否为新增数据进行判定;其中判定逻辑为,首先判断数据的条数,再对多于1条的数据进行时间戳的判断;在判定出新增数据后,MapReduce程序将新增数据生成为HFile文件,并且采取BulkLoad的方式,将其批量写入制定服务器的集群中。
基于同一发明构思,本说明书一个或多个实施例还提供了一种跨分布式数据库的集群复制数据的装置,包括:
创建模块,被配置为:在所述分布式数据库的第一集群中创建指定表的第一快照和第二快照,第一快照表示所述指定表在第一时刻的元数据信息集合;第二快照表示所述指定表在第二时刻的元数据信息集合;
对比模块,被配置为:对比所述第一快照与所述第二快照,以得到增量数据;
生成模块,被配置为:基于所述增量数据生成所述分布式数据库的预定格式的数据文件;
写入模块,被配置为:将所述预定格式的数据文件批量写入所述分布式数据库的第二集群中。
基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一项所述的跨分布式数据库的集群复制数据的方法。
基于同一发明构思,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,其中,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上述跨分布式数据库的集群复制数据的方法。
从上面所述可以看出,本说明书一个或多个实施例提供的跨分布式数据库的集群复制数据的方法、装置和电子设备,基于HBase的快照技术,综合考虑用了快照数据量的大小,跨集群迁移的耗时,以及对数据库的整体影响,来进行快照对比后的增量复制,使得只复制迁移快照数据的增量部分,也即数据每日或每次的更新部分,从而实现了快照数据快速更新,提高了操作的效率。
附图说明
为了更清楚地说明本说明书一个或多个实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书一个或多个实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本说明书一个或多个实施例的跨分布式数据库的集群复制数据的方法流程示意图;
图2为本说明书一个或多个实施例的跨分布式数据库的集群复制数据的装置模块示意图;
图3为本说明书一个或多个实施例的跨分布式数据库的集群复制数据的操作流程示意图;
图4为本说明书一个或多个实施例的电子设备结构示意图。
具体实施方式
为使本公开的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本公开进一步详细说明。
需要说明的是,除非另外定义,本说明书一个或多个实施例使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本说明书一个或多个实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
如背景技术部分所述,现有的跨分布式数据库的集群复制数据的方法还难以满足快照数据的更新需要。申请人在实现本公开的过程中发现,现有的快照赋值方法存在的主要问题在于:快照数据量大,在每日的更新迁移操作中,耗时久,并且会导致数据库的暂时不可用,极其影响工作生产的效率。
有鉴于此,本说明书一个或多个实施例提供了一种跨分布式数据库的集群复制数据的方法,具体的,在MapReduce程序中加载HBase第一集群中创建的属于两个不同时间快照,然后使MapReduce程序中的Map映射函数,对两个快照中包含的所有数据进行读取,读取的方式为,将数据中列的行键作为唯一标识,并将具备相同行键的数据由Map映射函数传至1个Reduce归约函数中;之后,由Reduce归约函数对所述数据是否为新增数据进行判定;其中判定逻辑为,首先判断数据的条数,再对多于1条的数据进行时间戳的判断;在判定出新增数据后,MapReduce程序将新增数据生成为HFile文件,并且采取BulkLoad的方式,将其批量写入制定服务器的集群中。
以下,通过具体的实施例,并具体结合图3示出的跨分布式数据库的集群复制数据的操作流程示意图,来详细说明本说明书一个或多个实施例的技术方法。
参考图1,本说明书一个实施例的跨分布式数据库的集群复制数据的方法,包括以下步骤:
步骤S101、在所述分布式数据库的第一集群中创建指定表的第一快照和第二快照,第一快照表示所述指定表在第一时刻的元数据信息集合;第二快照表示所述指定表在第二时刻的元数据信息集合。
本发明的实施例基于Hbase(分布式数据库)的快照技术,所述HBase为分布式的、面向列的开源数据库;其中,通过所述快照技术可以得到数据库中数据的元信息的集合。
为实现本步骤,可以在HBase的第一集群中,使用snapshot命令,创建两个快照:snapshot1作为第一快照、和snapshot2作为第二快照,分别代表了在第一时刻,与第二时刻对数据创建的快照。
根据创建的两份快照,利用MapReduce程序对第一快照和第二快照的文件进行读取加载,其中所述MapReduce程序包括:Map映射函数阶段的操作,和Reduce归约函数阶段的操作。具体的所述加载操作包括:作为操作基础,首先判断所述快照是否为可用快照文件,也即对两份快照文件的格式以及包含的字段做确认;在确认为可用快照文件后,MapReduce程序将对快照文件逐行读取数据,完成输入加载的操作,并将读取的数据交至Map映射函数处理。
在本发明的实施例中,由于HBase的快照文件中的每一行数据均以行键作为唯一标识,因此可以使用Map映射函数将具备相同行键的数据映射至同一个Reduce归约函数中,实现将数据整合为规模更小的一组或多组值。
步骤S102、对比所述第一快照与所述第二快照,以得到增量数据。
在本发明的实施例中,一个行键可以读取不少于一条数据,其中,每条数据包含不少于一个列,其中,每个列有一个值,并且每列具备一个时间戳,用来记录本列的值的更新时间,在本实施例中默认预设为一个行键读取了一条或两条数据,每条数据包含一列。
在本步骤中,Reduce归约函数对进入到其中的属于同一个行键的数据,进行条数上的判断,也即判断所述同一个行键总共读取了几条数据,具备相同行键的数据数量应为不少于一条;具体的操作,首先在Reduce归约函数中设定保留只有一条数据记录的行键,和列值变化的记录;并设定,当Reduce归约函数判断所述相同行键仅读取一条数据时,则判定该单条数据为新增数据,并获取判定结果中的所有列;当Reduce归约函数在相同行键下发现具备多于一条数据时,则将本行键下的多条数据继续进行下一步的判断。
进一步的,当Reduce归约函数在相同行键下发现具备多于一条数据时,在本实施例中,以具备两条数据为例,设定其中一条数据包含一条列:left_cell,其中另一条数据包含一条列:right_cell;程序将对两条数据中的列的值进行对应比较,也即比较left_celld的值与right_cell的值是否一致,如果不一致,则分别查看比较两条列的时间戳,将时间戳大的列所属于的数据,判定为新增的增量数据,也即在left_cell的时间戳比right_cell的时间戳大时,认定left_cell更晚更新,因此left_cell所属的数据为新增数据。为了控制输出的数量大小,本实施例中只把数据变化的列进行数据而不是把整行输出。
本发明的实施例,仅需考虑快照中的增量部分,由此可知,在本步骤中的比对过程,只判断增加列,而不删减列,因此运行的程序只遍历数组中最长的部分。
步骤S103、基于所述增量数据生成所述分布式数据库的预定格式的数据文件。
在本发明的实施例中,基于HBase架构的特点,HFile为架构中最小的结构,HBase中的数据均可存储于HFile格式的文件中。因此在本步骤中,首先在MapReduce程序中完成与HFile方式输出的相关设置,包括HFile文件的相关结构部分,例如:数据块,元数据块,数据索引块等;设置完成后,在MapReduce程序中,将上一步骤中判定出的新增数据生成为HFile文件的格式。
步骤S104、将所述预定格式的数据文件批量写入所述分布式数据库的第二集群中。
在本发明的实施例中,采取BulkLoad的方式,实现将在第一集群中生成的HFile文件,批量复制到第二集群中。具体的,利用HBase中的核心模块RegionService,对其内部管理的多个可以批量写入数据的Region目录直接进行写入操作,即将第一集群中的HFile文件移动到与HBase中第二集群相对应的Region目录中。
可见,本说明书一个或多个实施例的跨分布式数据库的集群复制数据的方法,基于HBase的快照技术,综合考虑用了快照数据量的大小,跨集群迁移的耗时,以及对数据库的整体影响,来进行快照对比后的增量复制,使得只复制迁移快照数据的增量部分,也即数据每日或每次的更新部分,从而实现了快照数据快速更新,提高了操作的效率。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种跨分布式数据库的集群复制数据的装置。
参考图2,所述跨分布式数据库的集群复制数据的装置,包括:
创建模块S201,被配置为:在所述分布式数据库的第一集群中创建指定表的第一快照和第二快照,第一快照表示所述指定表在第一时刻的元数据信息集合;第二快照表示所述指定表在第二时刻的元数据信息集合;
对比模块S202,被配置为:对比所述第一快照与所述第二快照,以得到增量数据;
生成模块S203,被配置为:基于所述增量数据生成所述分布式数据库的预定格式的数据文件;
写入模块S204,被配置为:将所述预定格式的数据文件批量写入所述分布式数据库的第二集群中。
作为一个可选的实施例,所述对比模块S201,具体被配置为:在HBase的第一集群中,使用snapshot命令,创建两个快照:snapshot1作为第一快照、和snapshot2作为第二快照,分别代表了在第一时刻,与第二时刻对数据创建的快照。
根据创建的两份快照,利用MapReduce程序对第一快照和第二快照的文件进行读取加载,其中所述MapReduce程序包括:Map映射函数阶段的操作,和Reduce归约函数阶段的操作。具体的所述加载操作包括:作为操作基础,首先判断所述快照是否为可用快照文件,也即对两份快照文件的格式以及包含的字段做确认;在确认为可用快照文件后,MapReduce程序将对快照文件逐行读取数据,完成输入加载的操作,并将读取的数据交至Map映射函数处理。
在本发明的实施例中,由于HBase的快照文件中的每一行数据均以行键作为唯一标识,因此可以使用Map映射函数将具备相同行键的数据映射至同一个Reduce归约函数中,实现将数据整合为规模更小的一组或多组值。
作为一个可选的实施例,所述对比模块S202,具体被配置为:Reduce归约函数对进入到其中的属于同一个行键的数据,进行条数上的判断,也即判断所述同一个行键总共读取了几条数据,具备相同行键的数据数量应为不少于一条;具体的操作,首先在Reduce归约函数中设定保留只有一条数据记录的行键,和列值变化的记录;并设定,当Reduce归约函数判断所述相同行键仅读取一条数据时,则判定该单条数据为新增数据,并获取判定结果中的所有列;当Reduce归约函数在相同行键下发现具备多于一条数据时,则将本行键下的多条数据继续进行下一步的判断。
进一步的,当Reduce归约函数在相同行键下发现具备多于一条数据时,在本实施例中,以具备两条数据为例,设定其中一条数据包含一条列:left_cell,其中另一条数据包含一条列:right_cell;程序将对两条数据中的列的值进行对应比较,也即比较left_celld的值与right_cell的值是否一致,如果不一致,则分别查看比较两条列的时间戳,将时间戳大的列所属于的数据,判定为新增的增量数据,也即在left_cell的时间戳比right_cell的时间戳大时,认定left_cell更晚更新,因此left_cell所属的数据为新增数据。为了控制输出的数量大小,本实施例中只把数据变化的列进行数据而不是把整行输出。
本发明的实施例,仅需考虑快照中的增量部分,由此可知,在本步骤中的比对过程,只判断增加列,而不删减列,因此运行的程序只遍历数组中最长的部分。
作为一个可选的实施例,所述生成模块S203,具体被配置为:基于HBase架构的特点,HFile为架构中最小的结构,HBase中的数据均可存储于HFile格式的文件中。因此在本步骤中,首先在MapReduce程序中完成与HFile方式输出的相关设置,包括HFile文件的相关结构部分,例如:数据块,元数据块,数据索引块等;设置完成后,在MapReduce程序中,将上一步骤中判定出的新增数据生成为HFile文件的格式。
作为一个可选的实施例,所述写入模块S204,具体被配置为:采取BulkLoad的方式,实现将在第一集群中生成的HFile文件,批量复制到第二集群中。具体的,利用HBase中的核心模块RegionService,对其内部管理的多个可以批量写入数据的Region目录直接进行写入操作,即将第一集群中的HFile文件移动到与HBase中第二集群相对应的Region目录中。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的跨分布式数据库的集群复制数据的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上任意一实施例所述的快照复制的法。
图4示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的装置用于实现前述任一实施例中相应的跨分布式数据库的集群复制数据的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本说明书一个或多个实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的跨分布式数据库的集群复制数据的方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的跨分布式数据库的集群复制数据的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本说明书一个或多个实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本说明书一个或多个实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本说明书一个或多个实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本说明书一个或多个实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种跨分布式数据库的集群复制数据的方法,其特征在于,包括:
在所述分布式数据库的第一集群中创建指定表的第一快照和第二快照,第一快照表示所述指定表在第一时刻的元数据信息集合;第二快照表示所述指定表在第二时刻的元数据信息集合;
对比所述第一快照与所述第二快照,以得到增量数据;
基于所述增量数据生成所述分布式数据库的预定格式的数据文件;
将所述预定格式的数据文件批量写入所述分布式数据库的第二集群中。
2.根据权利要求1所述的方法,其特征在于,所述分布式数据库包括HBase数据库,所述预定格式的数据文件为HFile文件。
3.根据权利要求2所述的方法,其特征在于,所述对比所述第一快照与所述第二快照,以得到增量数据,包括:
采用MapReduce程序,将所述第一快照与所述第二快照中具有相同行键的数据读取到一个归约函数中;
确定该归约函数中有一条数据还是有两条数据;
若确定该归约函数中有一条数据,则确定这条数据为所述增量数据;
若确定该归约函数中有两条数据,则确定这两条数据的相应列中的值是否一致,若确定这两条数据至少有一列中的值不一致,则确定这两条数据中时间戳大的数据为所述增量数据。
4.根据权利要求2或3所述的方法,其特征在于,所述将所述预定格式的数据文件批量写入所述分布式数据库的第二集群中包括:
以BulkLoad方式,利用区域服务器将所述HFile文件移动到相应的区域目录下。
5.一种跨分布式数据库的集群复制数据的装置,其特征在于,包括:
创建模块,被配置为:在所述分布式数据库的第一集群中创建指定表的第一快照和第二快照,第一快照表示所述指定表在第一时刻的元数据信息集合;第二快照表示所述指定表在第二时刻的元数据信息集合;
对比模块,被配置为:对比所述第一快照与所述第二快照,以得到增量数据;
生成模块,被配置为:基于所述增量数据生成所述分布式数据库的预定格式的数据文件;
写入模块,被配置为:将所述预定格式的数据文件批量写入所述分布式数据库的第二集群中。
6.根据权利要求5所述的装置,其特征在于,所述分布式数据库包括HBase数据库,所述预定格式的数据文件为HFile文件。
7.根据权利要求6所述的装置,其特征在于,所述对比所述第一快照与所述第二快照,以得到增量数据,包括:
采用MapReduce程序,将所述第一快照与所述第二快照中具有相同行键的数据读取到一个归约函数中;
确定该归约函数中有一条数据还是有两条数据;
若确定该归约函数中有一条数据,则确定这条数据为所述增量数据;
若确定该归约函数中有两条数据,则确定这两条数据的相应列中的值是否一致,若确定这两条数据至少有一列中的值不一致,则确定这两条数据中时间戳大的数据为所述增量数据。
8.根据权利要求5或6所述的方法,其特征在于,所述将所述预定格式的数据文件批量写入所述分布式数据库的第二集群中包括:
以BulkLoad方式,利用区域服务器将所述HFile文件移动到相应的区域目录下。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至4任意一项所述的方法。
10.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行权利要求1至4任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011379593.9A CN112445759B (zh) | 2020-11-30 | 2020-11-30 | 跨分布式数据库的集群复制数据的方法、装置和电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011379593.9A CN112445759B (zh) | 2020-11-30 | 2020-11-30 | 跨分布式数据库的集群复制数据的方法、装置和电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112445759A true CN112445759A (zh) | 2021-03-05 |
CN112445759B CN112445759B (zh) | 2024-04-16 |
Family
ID=74739378
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011379593.9A Active CN112445759B (zh) | 2020-11-30 | 2020-11-30 | 跨分布式数据库的集群复制数据的方法、装置和电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112445759B (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN105808577A (zh) * | 2014-12-29 | 2016-07-27 | 北京神州泰岳软件股份有限公司 | 一种基于HBase数据库的数据批量入库的方法和装置 |
CN107608830A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据备份方法、装置及计算机可读存储介质 |
CN108717462A (zh) * | 2018-05-28 | 2018-10-30 | 郑州云海信息技术有限公司 | 一种数据库快照验证方法及系统 |
CN110515969A (zh) * | 2019-07-08 | 2019-11-29 | 中国平安人寿保险股份有限公司 | 数据查询处理方法、电子装置、计算机设备及存储介质 |
CN111221678A (zh) * | 2018-11-27 | 2020-06-02 | 阿里巴巴集团控股有限公司 | Hbase数据备份/恢复系统、方法、装置及电子设备 |
CN111538719A (zh) * | 2020-04-30 | 2020-08-14 | 深圳前海微众银行股份有限公司 | 数据迁移方法、装置、设备及计算机存储介质 |
-
2020
- 2020-11-30 CN CN202011379593.9A patent/CN112445759B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183387A (zh) * | 2007-12-14 | 2008-05-21 | 沈阳东软软件股份有限公司 | 一种增量数据捕获方法和系统 |
CN105808577A (zh) * | 2014-12-29 | 2016-07-27 | 北京神州泰岳软件股份有限公司 | 一种基于HBase数据库的数据批量入库的方法和装置 |
CN107608830A (zh) * | 2017-09-26 | 2018-01-19 | 郑州云海信息技术有限公司 | 一种数据备份方法、装置及计算机可读存储介质 |
CN108717462A (zh) * | 2018-05-28 | 2018-10-30 | 郑州云海信息技术有限公司 | 一种数据库快照验证方法及系统 |
CN111221678A (zh) * | 2018-11-27 | 2020-06-02 | 阿里巴巴集团控股有限公司 | Hbase数据备份/恢复系统、方法、装置及电子设备 |
CN110515969A (zh) * | 2019-07-08 | 2019-11-29 | 中国平安人寿保险股份有限公司 | 数据查询处理方法、电子装置、计算机设备及存储介质 |
CN111538719A (zh) * | 2020-04-30 | 2020-08-14 | 深圳前海微众银行股份有限公司 | 数据迁移方法、装置、设备及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112445759B (zh) | 2024-04-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134668B (zh) | 应用于区块链的数据迁移方法、装置和设备 | |
CN110019111B (zh) | 数据处理方法、装置、存储介质以及处理器 | |
CN110807013B (zh) | 用于分布式数据存储集群的数据迁移方法和装置 | |
CN112214472A (zh) | 气象格点数据的存储及查询方法、装置及存储介质 | |
CN114780641A (zh) | 多库多表同步方法、装置、计算机设备和存储介质 | |
CN115391337A (zh) | 数据库分区的方法、装置、存储介质及电子设备 | |
CN114297196A (zh) | 元数据存储方法、装置、电子设备及存储介质 | |
CN111158858A (zh) | 一种虚拟机的克隆方法和装置,及计算机可读存储介质 | |
WO2019105267A1 (en) | Redistributing table data in database cluster | |
WO2024087777A1 (zh) | 数据库表的数据重整方法和装置、介质和计算机设备 | |
CN117591341A (zh) | 数据备份方法、装置、电子设备及可读存储介质 | |
CN112445759B (zh) | 跨分布式数据库的集群复制数据的方法、装置和电子设备 | |
CN113326288A (zh) | 数据处理方法、装置、电子设备 | |
WO2019179252A1 (zh) | 一种样本回放数据存取方法及装置 | |
CN115658391A (zh) | 基于QianBase MPP数据库的WAL机制的备份恢复方法 | |
CN114816247A (zh) | 一种逻辑数据获取方法及装置 | |
CN115185458A (zh) | 一种数据写入方法、装置、存储介质和计算机设备 | |
CN112579117B (zh) | 数据升级方法及装置 | |
CN114780134A (zh) | 微应用的配置管理方法及相关设备 | |
CN112699129A (zh) | 一种数据处理系统、方法及装置 | |
CN112288586A (zh) | 基于HBase的保险行业数据整合方法及相关设备 | |
CN110019507B (zh) | 数据同步的方法及装置 | |
CN112445810A (zh) | 一种数据仓库数据更新方法、设备、电子设备及存储介质 | |
CN110955653A (zh) | 一种数据页面的处理方法、装置、设备及计算机系统 | |
CN108121719B (zh) | 一种实现数据抽取转换加载etl的方法及装置 |
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 |