数据规整迁移方法、装置、计算机设备和存储介质与流程

文档序号:18618830发布日期:2019-09-06 22:17阅读:156来源:国知局
数据规整迁移方法、装置、计算机设备和存储介质与流程

本申请涉及数据库技术领域,特别是涉及一种数据规整迁移方法、装置、计算机设备和存储介质。



背景技术:

随着互联网技术和数据库技术的发展,数据迁移成为了数据库数据处理中一个常用技术。数据迁移是数据系统整合中保证系统平滑升级和更新的关键部分,且目前数据库类型是多种多样的。

传统的数据迁移方式,主要针对不同数据库分别下载不同的备份工具,进行数据本地备份后,导入到新的数据库设备中,或者通过底层binlog(二进制日志)文件复制到新的数据库设备中。传统的数据迁移方式,备份导入过程慢,并且当今大企业中数据库基本都会分库分表,这样需要分别备份,对应导入,操作很繁琐并且容易出错,而且如果迁移前后的新老数据库类型不一致,很难保证导入数据的正确性。



技术实现要素:

基于此,有必要针对上述技术问题,提供一种能够提升迁移效率和迁移准确率的数据规整迁移方法、装置、计算机设备和存储介质。

一种数据规整迁移方法,该方法包括:

根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

在其中一个实施例中,上述的分析结果还包括日志数据表和垃圾数据表;

上述的方法还包括:校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,若一致,则进入根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中的步骤。

在其中一个实施例中,上述的方法还包括:

校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据是否符合数据规整规则,若清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据,与本批次迁移数据一致且符合数据规整规则,则进入根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中的步骤。

在其中一个实施例中,上述的方法还包括:检测本批次导入目标数据库中的数据是与清洁数据表中的数据以及选出的数据一致,若一致,发送本批次迁移数据的迁移完成提示信息。

在其中一个实施例中,上述的根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据,可以包括:

根据源库分库分表规则和源数据表迁移批次信息,确定待迁移数据;

根据源数据表迁移批次信息,将待迁移数据的迁移任务拆分成多个迁移子任务;

在本批次迁移数据的迁移子任务启动后,从源数据库中读取本批次迁移数据。

在其中一个实施例中,上述的方法还包括:

显示数据迁移进度信息,数据迁移进度信息包括本批次迁移数据的当前迁移进程信息、待迁移数据的已迁移批次信息、待迁移数据的数据迁移完成率、待迁移数据的未迁移批次信息、本批次迁移数据的预计迁移完成时间和待迁移数据的预计迁移完成时间中的任意一个或者任意组合。

在其中一个实施例中,上述的根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据,包括:

根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移原数据;

按照预设的过滤规则,对本批次迁移原数据进行过滤处理,得到本批次迁移数据。

一种数据规整迁移装置,该述装置包括:

读取模块,用于根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

规整模块,用于根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

写入模块,用于根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中,并检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

步根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

上述数据规整迁移方法、装置、计算机设备和存储介质,是根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据,根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表,根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中,检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库,由于是进行数据读取与写入,而不需要进行数据备份,更不需要按照分库分表规则分表备份,且由于对读取数据进行了迁移批次规划和数据规整处理,可以提升数据的迁移效率,同时,数据规整迁移不需要依赖数据库类型,数据读取与写入分别考虑了源库分库分表规则和目标库分库分表规则,可以提升数据迁移的准确性。

附图说明

图1为一个实施例中数据规整迁移方法的应用环境图;

图2为一个实施例中数据规整迁移方法的流程示意图;

图3为另一个实施例中数据规整迁移方法的流程示意图;

图4为再一个实施例中数据规整迁移方法的流程示意图;

图5为一个实施例中本批次迁移数据读取步骤的流程示意图;

图6为另一个实施例中本批次迁移数据读取步骤的流程示意图;

图7为又一个实施例中数据规整迁移方法的流程示意图;

图8为一个实施例中数据规整迁移装置的结构框图;

图9为一个实施例中计算机设备的内部结构图。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

本申请提供的数据规整迁移方法,可以应用于如图1所示的应用环境中。其中,终端104通过网络与源数据库服务器102以及目标数据库服务器106进行通信,但通信方式也不限于网络通信。其中,终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑和便携式可穿戴设备,源数据库服务器102和目标数据库服务器106可以分别用独立的数据库服务器或者是多个数据库服务器组成的服务器集群来实现。源数据库服务器102和目标数据库服务器106的数据库类型可以相同,也可以不同。

在一个实施例中,如图2所示,提供了一种数据规整迁移方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤202,根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

这里,源库分库分表规则指源数据库的分库分表,源数据库是指数据迁移前所在的数据库。

这里,源数据表迁移批次信息是指将需要从源数据库迁移到目标数据库的数据表的迁移批次信息,具体地,可以是迁移批次标识信息与数据表标识信息的对应关系。该源数据表迁移批次信息可以根据实际需要预先配置。

这里,本批次迁移数据是指本批次需要从源数据库迁移到目标数据库的数据。

具体地,可以根据预设的根据源数据表迁移批次信息,确定本批次待迁移数据表,根据本批次待迁移数据表以及源库分库分表规则,确定本批次待迁移数据所在位置(源数据库中的哪些数据子库中的哪些表),根据该本批次待迁移数据所在位置,读取本批次迁移数据。可以通过启用迁移大数据spark任务实现本批次迁移数据的读取。其中,spark是专为大规模数据处理而设计的计算引擎。

步骤204,根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

这里,数据规整规则可以根据实际需要预先配置,具体可以包括数数据划分规则和数据过滤条件。

其中,根据预设的数据规整规则对待迁移数据进行数据分析获得的分析结果,一般保存在若干张表中,该若干表一般为hive表,hive是基于hadoop(一种分布式系统基础架构)的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql(structuredquerylanguage,结构化查询语言)查询功能,可以将sql语句转换为mapreduce(一种编程模型,用于大规模数据集的并行运算)任务进行运行。

这里,清洁数据表,也称为clean表,一般为包括本批次迁移数据中的经过过滤后需要迁移的数据(也可以理解为有用数据)的hive表。待查数据表,也称为check表,一般为包括本批次迁移数据中的机器规则无法识别需要进一步确认的数据的hive表,也即终端不能根据数据规整规则识别出是否有用的数据的hive表。

具体地,在进行本步骤的数据规整操作时,可以通过启用大数据spark去重任务实现。

步骤206,根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

这里,目标库分库分表规则是指目标数据库的分库分表规则,目标数据库是指数据迁移后所在的数据库。

其中,目标库分库分表规则和源库分库分表规则可以相同也可以不同,若仅仅是数据库切换,比如从oracle数据库迁移到mysql数据库,分库分表规则不变,则目标数据库和源数据库的分库分表规则保持一致;如果原先分了100张表不满足需求,需进一步拆分成1000张表,那目标数据库和源数据库的分库分表规则不相同。其中,oracle和mysql是两种关系型数据库管理系统。

具体地,在进行本步骤的数据写入操作时,可以通过启用大数据spark交换任务实现。

步骤208,检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库;

具体地,可以显示待查数据表中的数据,接收用户对该显示的数据的选取操作,将用户选出的需要保留的数据,根据目标库分库分表规则,将选出的数据写入目标数据库。在进行本步骤的数据写入操作时,也可以通过启用大数据spark交换任务实现。

上述数据规整迁移方法中,是根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据,根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表,根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中,检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库,由于是进行数据读取与写入,而不需要进行数据备份,更不需要按照分库分表规则分表备份,且由于对读取数据进行了迁移批次规划和数据规整处理,可以提升数据的迁移效率,同时,数据规整迁移不需要依赖数据库类型,数据读取与写入分别考虑了源库分库分表规则和目标库分库分表规则,可以提升数据迁移的准确性。

需要说明的是,一般的数据库数据迁移,是相同类型数据库之间数据存储文件的复制,简单粗暴;但是不同类型的数据库,底层的存储方式是不一样的,所以没办法直接拷贝,甚至相同类型数据库,不同版本之间也是不兼容的。而本发明方案类似于作为一个中间平台访问不同的数据库,这样,就可以通过标准的sql(structuredquerylanguage,结构化查询语言)语言实现数据的读取和写入,所以不需要依赖数据库本身就可以实现,也就不需要依赖于数据库类型。

此外,上述步骤s206和步骤s208,可以不依赖于上述先后顺序执行,也可以同时执行。

在一个实施例中,如图3所示,提供了一种数据规整迁移方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤302,根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

步骤304,根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表、待查数据表、日志数据表和垃圾数据表;

这里,日志数据表,也称为log表,一般为包括本批次迁移数据中的所有计算过滤历史数据的hive表,垃圾数据表,也称为tmp表,一般为包括本批次迁移数据中的过滤出的重复数据或者其他垃圾数据的hive表。

步骤306,校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,若一致,则进入步骤308;

具体地,可以启动自动校验任务,校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,若一致,则进入步骤308,若不一致,生成校验提示信息,用于提示用户进行人工校验。其中,数据完整性(即一致性)校验可以采用任意可以实现的方式,例如,可以进行数量比对,若数量一致,则判定清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据一致。

步骤308,根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

步骤310,检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

本实施例中,步骤302、304、308和310可以参照上述步骤202、204、206和208中的描述,在此不予赘述。

本实施例中,通过校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据是否与本批次迁移数据一致的方式,校验了数据的完整性,可以进一步提升数据迁移的准确性。

在一个实施例中,如图4所示,提供了一种数据规整迁移方法,以该方法应用于图1中的终端为例进行说明,包括以下步骤:

步骤402,根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

步骤404,根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表、待查数据表、日志数据表和垃圾数据表;

步骤406,校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,并校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据是否符合数据规整规则,若清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据,与本批次迁移数据一致且符合数据规整规则,则进入步骤408;

具体地,可以启动自动校验任务,校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据是否符合数据规整规则,若清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据,与本批次迁移数据一致且符合数据规整规则,则进入步骤408,若任意一项检测不通过,例如,清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据不一致,或者清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据不符合数据规整规则,则生成校验提示信息,用于提示用户进行人工校验。

其中,数据完整性(即一致性)校验方式可以采用任意可以实现的方式,在此不予赘述。

其中,检测四张表(清洁数据表、待查数据表、日志数据表和垃圾数据表)是否符合数据规整规则,具体可以是,根据四张表自身的功能属性分别校验,例如,对于清洁数据表,主要校验是否存在满足数据规整规则中的过滤规则但未被过滤掉的数据;日志数据表中主要校验是否包含本批次迁移数据的所有的待处理数据日志;待查数据表表主要靠人工校验,决定哪些数据是垃圾数据,哪些是有用数据;垃圾数据表跟清洁数据表,主要是校验垃圾数据是否都满足数据规整规则中的过滤规则,防止把干净的数据放进来。

步骤408,根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

步骤410,检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

本实施例中,步骤402、404、408和410可以参照上述步骤202、204、206和208中的描述,在此不予赘述。

本实施例中,校验了四张表中数据的完整性以及是否满足数据规整规则,可以进一步提升数据迁移的准确性。

在其中一个实施例中,在上述的根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中,和上述的检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库之后,还可以包括:检测本批次导入目标数据库中的数据是与清洁数据表中的数据以及选出的数据一致,若一致,发送本批次迁移数据的迁移完成提示信息。

本实施例中的检测,与上述实施例中的数据规整前后的校验类似,本实施例中的检测是将最终迁移过去的已经落库的数据与清洁数据表中的数据以及选出的数据,以校验规整后的数据是否正常落库,保证最终目标数据库中数据的完整性,以防止最后一步的写入过程中发生异常导致数据写入缺失等问题。这里的数据校验过程可以采用数量比对的方式,也可以采用逐条数据进行比对的方式。

同时,本实施例中,若本批次导入目标数据库中的数据与清洁数据表中的数据以及选出的数据一致,则发送本批次迁移数据的迁移完成提示信息,若不一致,则可以生成写入异常提示信息,用于提示用户本批次迁移数据存在写入异常。

其中,迁移完成提示信息可以包含本次迁移涉及的源表信息、目标表信息;本次迁移的源表和目标表的数据量信息,迁移过程中数据规整前后的数据量信息,以及各个任务(读取任务、规整任务、校验任务以及写入任务等)执行时间,资源占用等信息中的一种或者多种,这些信息可以用于分析迁移效率,调整后续迁移任务占用资源等。

具体地,发送迁移完成api(applicationprogramminginterface,应用程序编程接口)事件,用户可通过此事件得到迁移结果,并可定制后续操作,如打开新老数据源开关等。例如,用户在业务应用中通过api事件发起的调用数据规整任务,此时,获得了迁移完成api事件,可以定制后续的操作。

采用本实施例的方案,可以进一步提升数据迁移的准确性。

在其中一个实施例中,如图5所示,根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据,可以包括如下步骤:

步骤502,根据预设的源库分库分表规则和源数据表迁移批次信息,确定待迁移数据;

这里,待迁移数据包括由源数据表迁移批次信息确定的各个批次需要迁移的数据。

步骤504,根据源数据表迁移批次信息,将待迁移数据的迁移任务拆分成多个迁移子任务;

其中,一个批次的迁移数据可以对应一个迁移子任务,也可以对应多个迁移子任务;

步骤506,在本批次迁移数据的迁移子任务启动后,从源数据库中读取本批次迁移数据;

其中,迁移子任务启动时间可以根据由源数据表迁移批次信息确定的子任务启动顺序,以及预设的数据迁移时段确定。数据迁移时段可以根据实际情况设定。为了尽量不影响服务性能,可以选择每天晚上系统访问量少的时候进行迁移;当需要迁移海量的数据时,一个晚上的时间可能不够,也可以选择分多个批次来进行数据迁移工作。

本实施例中,将待迁移数据拆分成多个迁移子任务进行,可以有效避免在待迁移数据的数据量大,单批次执行耗时长影响服务性能的问题。其中,一个数据迁移时段(例如一个晚上)迁移数据的批次数目可以根据实际情况确定。

在其中一个实施例中的数据规整迁移方法还可以包括:显示数据迁移进度信息,数据迁移进度信息包括本批次迁移数据的当前迁移进程信息、待迁移数据的已迁移批次信息、待迁移数据的数据迁移完成率、待迁移数据的未迁移批次信息、本批次迁移数据的预计迁移完成时间和待迁移数据的预计迁移完成时间中的任意一个或者任意组合。

这里,本批次迁移数据的当前迁移进程信息是指本批次迁移数据的当前所处的迁移进程(读取、规整、校验和写入)以及当前所处的迁移进程的完成率等信息。

采用本实施例的方案,可以实现迁移进度的可视化。用户可以根据该数据迁移进度信息调整迁移子任务的当前执行数量,以便于加快迁移速度。

在其中一个实施例中,如图6所示,上述的根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据,可以包括如下步骤:

步骤602,根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移原数据;

步骤604,按照预设的过滤规则,对本批次迁移原数据进行过滤处理,得到本批次迁移数据。

这里,过滤规则可以根据实际需要设定。本实施例中,是在读取数据的过程中进行数据的粗过滤,如此,可以减少数据规整过程中的数据量,进一步提升数据迁移率。

为了便于理解本发明的方案,以下通过一个具体示例进行说明,该具体示例中不构成对本发明方案的限定。

如图7所示,源数据库按照其分库分表规则,分成了多个子数据库,每个子数据库中有若干张数据表。源数据库中的本次迁移数据可以通过启动spark交换任务读取到第一个hive库,该hive库中包括本次迁移数据的各个数据表,通过启动spark去重任务对hive库中的本次迁移数据进行去重处理(相当于上述的数据规整过程),去重处理结果存储到第二个hive库,该hive库中包括上述提及的四张表,然后,启动spark交换任务,将清洁数据表和待查数据表中选出的有用数据,按照目标库的分库分表规则写入目标数据库。

其中,在源数据库中的本次迁移数据迁移到第一个hive库后,可以启动spark数量比对任务,在完成spark去重任务后,可以启动spark数量比对任务,在完成数据写入时,可以执行spark逐条比对任务。

例如,系统需要从db2迁移到mysql,并且,由于业务发展导致单表数据量太大,需要将之前的100张表拆成1024张表;同时,由于之前数据库未对业务主键进行唯一性索引强校验,导致数据库中存在重复的垃圾数据,就可以采用该实施例中方案进行数据规整和迁移操作。其中,在进行数据规整和迁移操作前,需要预先配置源库分库分表规则、源数据表迁移批次信息、数据库规整规则和目标库分库分表规则,可以通过配置文件或者代码注解的方式进行这些规则的配置。

应该理解的是,虽然图2-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2-7中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

在一个实施例中,如图8所示,提供了一种数据规整迁移装置,包括:读取模块802、规整模块804和写入模块806,其中:

读取模块802,用于根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

规整模块804,用于根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

写入模块806,用于根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中,并检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

在其中一个实施例中,上述的分析结果还包括日志数据表和垃圾数据表;上述的装置还可以包括第一校验模块,该第一校验模块用于校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,写入模块806在第一校验装置的校验结果为一致时,根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中。

在其中一个实施例中,第一校验模块还用于校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据是否符合数据规整规则,写入模块806在第一校验装置的校验结果为清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据,与本批次迁移数据一致且符合数据规整规则时,根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中。

在其中一个实施例中,上述的装置还可以包括第二校验模块,该第二校验模块用于检测本批次导入目标数据库中的数据是与清洁数据表中的数据以及选出的数据一致,若一致,发送本批次迁移数据的迁移完成提示信息。

在其中一个实施例中,读取模块802可以根据源库分库分表规则和源数据表迁移批次信息,确定待迁移数据,根据源数据表迁移批次信息,将待迁移数据的迁移任务拆分成多个迁移子任务,在本批次迁移数据的迁移子任务启动后,从源数据库中读取本批次迁移数据。

在其中一个实施例中,上述的装置还可以包括显示模块,该显示模块用于显示数据迁移进度信息,数据迁移进度信息包括本批次迁移数据的当前迁移进程信息、待迁移数据的已迁移批次信息、待迁移数据的数据迁移完成率、待迁移数据的未迁移批次信息、本批次迁移数据的预计迁移完成时间和待迁移数据的预计迁移完成时间中的任意一个或者任意组合。

在其中一个实施例中,读取模块802可以根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移原数据,按照预设的过滤规则,对本批次迁移原数据进行过滤处理,得到本批次迁移数据。

关于数据规整迁移装置的具体限定可以参见上文中对于数据规整迁移方法的限定,在此不再赘述。上述数据规整迁移装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。

在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据规整迁移方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:

根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

在其中一个实施例中,上述的分析结果还包括日志数据表和垃圾数据表;处理器执行计算机程序时还实现以下步骤:校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,若一致,则进入根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中的步骤。

在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据是否符合数据规整规则,若清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据,与本批次迁移数据一致且符合数据规整规则,则进入根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中的步骤。

在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:检测本批次导入目标数据库中的数据是与清洁数据表中的数据以及选出的数据一致,若一致,发送本批次迁移数据的迁移完成提示信息。

在其中一个实施例中,处理器执行计算机程序实现上述的根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据的步骤时,具体实现以下步骤:根据源库分库分表规则和源数据表迁移批次信息,确定待迁移数据;根据源数据表迁移批次信息,将待迁移数据的迁移任务拆分成多个迁移子任务;在本批次迁移数据的迁移子任务启动后,从源数据库中读取本批次迁移数据。

在其中一个实施例中,处理器执行计算机程序时还实现以下步骤:显示数据迁移进度信息,数据迁移进度信息包括本批次迁移数据的当前迁移进程信息、待迁移数据的已迁移批次信息、待迁移数据的数据迁移完成率、待迁移数据的未迁移批次信息、本批次迁移数据的预计迁移完成时间和待迁移数据的预计迁移完成时间中的任意一个或者任意组合。

在其中一个实施例中,处理器执行计算机程序实现上述的根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据的步骤时,具体实现以下步骤:根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移原数据;按照预设的过滤规则,对本批次迁移原数据进行过滤处理,得到本批次迁移数据。

在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:

根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据;

根据预设的数据规整规则对待迁移数据进行数据分析,获得分析结果,分析结果包括清洁数据表和待查数据表;

根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中;

检测对待查数据表中数据的选取操作,根据目标库分库分表规则,将选出的数据写入目标数据库。

在其中一个实施例中,上述的分析结果还包括日志数据表和垃圾数据表;计算机程序被处理器执行时还实现以下步骤:校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据与本批次迁移数据的一致性,若一致,则进入根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中的步骤。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:校验清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据是否符合数据规整规则,若清洁数据表、待查数据表、日志数据表和垃圾数据表中的数据,与本批次迁移数据一致且符合数据规整规则,则进入根据预设的目标库分库分表规则,将清洁数据表中的数据写入目标数据库中的步骤。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:检测本批次导入目标数据库中的数据是与清洁数据表中的数据以及选出的数据一致,若一致,发送本批次迁移数据的迁移完成提示信息。

在其中一个实施例中,计算机程序被处理器执行实现上述的根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据的步骤时,具体实现以下步骤:根据源库分库分表规则和源数据表迁移批次信息,确定待迁移数据;根据源数据表迁移批次信息,将待迁移数据的迁移任务拆分成多个迁移子任务;在本批次迁移数据的迁移子任务启动后,从源数据库中读取本批次迁移数据。

在其中一个实施例中,计算机程序被处理器执行时还实现以下步骤:显示数据迁移进度信息,数据迁移进度信息包括本批次迁移数据的当前迁移进程信息、待迁移数据的已迁移批次信息、待迁移数据的数据迁移完成率、待迁移数据的未迁移批次信息、本批次迁移数据的预计迁移完成时间和待迁移数据的预计迁移完成时间中的任意一个或者任意组合。

在其中一个实施例中,计算机程序被处理器执行实现上述的根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移数据的步骤时,具体实现以下步骤:根据预设的源库分库分表规则和源数据表迁移批次信息,从源数据库中读取本批次迁移原数据;按照预设的过滤规则,对本批次迁移原数据进行过滤处理,得到本批次迁移数据。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram以多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双数据率sdram(ddrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1