数据迁移后的数据校验方法及装置
文献发布时间:2023-06-19 11:44:10
技术领域
本发明涉及自动程序设计技术领域,尤其涉及一种数据迁移后的数据校验方法及装置。
背景技术
本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
数据迁移的成功与否是新系统成功上线的重要前提,也是新系统今后稳定运行的有力保障。在对数据进行从源数据库到目标数据库迁移完成之后,源数据库和目标数据库的一致性直接影响着数据迁移的成功与否,因此数据迁移后对源数据库和目标数据库数据的一致性校验至关重要。
源数据库和目标数据库数据的一致性主要体现在表的数量、表的数据条数、表的关键字段、表的索引、表的分区、存储过程等数据库对象是否一致,通过人工手动的方式去源库和目标库进行比对,在数据量很小的情况下可以接受,但是当数据量很大时,这种方式一方面效率极度的低下,另一方面由于手动的原因,容易产生比对结果出错的情况。即使通过抽样的方式进行抽检校验,可以提升效率,但是结果并不能代表所有数据的抽检结果,准确性存在一定的风险,不适用于数据敏感性很强的系统,适用范围有限。
发明内容
本发明实施例提供一种数据迁移后的数据校验方法,用以高效、准确和全面地对数据迁移后的数据进行校验,该方法包括:
获取预先创建的配置文件;
根据所述配置文件中源数据库的类型,确定源数据库的连接方式;根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式;
根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据;根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据;
根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果。
在一个实施例中,根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,包括:
根据所述配置文件中的数据校验类型,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果;其中,所述数据校验类型包括:结构化比对校验类型和/或内容化比对校验类型。
在一个实施例中,根据所述配置文件中的数据校验类型,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,包括:
根据配置文件中针对多种不同数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第一子任务,启动多线程并行处理多个第一子任务,和/或,根据配置文件中针对同一数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第二子任务,启动多线程并行处理多个第二子任务,得到数据迁移后的数据校验结果。
在一个实施例中,根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,包括:根据所述配置文件中的校验方式及待校验表的标识,对源数据库表和目标数据库表进行对比,得到数据迁移后的数据校验结果。
在一个实施例中,根据所述配置文件中源数据库的类型,确定源数据库的连接方式,包括:若配置文件中源数据库的类型是ORACLE数据库,确定源数据库的连接方式是sqlplus连接方式;若配置文件中源数据库的类型是GAUSS数据库,确定源数据库的连接方式是zsql连接方式;
根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式,包括:若配置文件中目标数据库的类型是ORACLE数据库,确定目标数据库的连接方式是sqlplus连接方式;若配置文件中目标数据库的类型是GAUSS数据库,确定目标数据库的连接方式是zsql连接方式。
在一个实施例中,根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据,包括:若源数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取源数据库数据;若源数据库的连接方式是zsql连接方式,调用zsql连接工具,获取源数据库数据;
根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据,包括:若目标数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取目标数据库数据;若目标数据库的连接方式是zsql连接方式,调用zsql连接工具,获取目标数据库数据。
在一个实施例中,获取预先创建的配置文件,包括:获取预先创建的JSON格式配置文件。
在一个实施例中,所述数据迁移后的数据校验方法基于python编程语言实现。
本发明实施例还提供一种数据迁移后的数据校验装置,用以高效、准确和全面地对数据迁移后的数据进行校验,该装置包括:
获取单元,用于获取预先创建的配置文件;
确定单元,用于根据所述配置文件中源数据库的类型,确定源数据库的连接方式;根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式;
处理单元,用于根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据;根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据;
校验单元,用于根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果。
在一个实施例中,所述校验单元具体用于:
根据所述配置文件中的数据校验类型,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果;其中,所述数据校验类型包括:结构化比对校验类型和/或内容化比对校验类型。
在一个实施例中,所述校验单元具体用于:
根据配置文件中针对多种不同数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第一子任务,启动多线程并行处理多个第一子任务,和/或,根据配置文件中针对同一数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第二子任务,启动多线程并行处理多个第二子任务,得到数据迁移后的数据校验结果。
在一个实施例中,所述校验单元具体用于:根据所述配置文件中的校验方式及待校验表的标识,对源数据库表和目标数据库表进行对比,得到数据迁移后的数据校验结果。
在一个实施例中,所述确定单元具体用于:
若配置文件中源数据库的类型是ORACLE数据库,确定源数据库的连接方式是sqlplus连接方式;若配置文件中源数据库的类型是GAUSS数据库,确定源数据库的连接方式是zsql连接方式;
若配置文件中目标数据库的类型是ORACLE数据库,确定目标数据库的连接方式是sqlplus连接方式;若配置文件中目标数据库的类型是GAUSS数据库,确定目标数据库的连接方式是zsql连接方式。
在一个实施例中,所述处理单元具体用于:
若源数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取源数据库数据;若源数据库的连接方式是zsql连接方式,调用zsql连接工具,获取源数据库数据;
若目标数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取目标数据库数据;若目标数据库的连接方式是zsql连接方式,调用zsql连接工具,获取目标数据库数据。
在一个实施例中,所述获取单元具体用于:获取预先创建的JSON格式配置文件。
在一个实施例中,所述数据迁移后的数据校验装置基于python编程语言实现。
本发明实施例还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述数据迁移后的数据校验方法。
本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述数据迁移后的数据校验方法的计算机程序。
本发明实施例中,数据迁移后的数据校验方案,通过:获取预先创建的配置文件;根据所述配置文件中源数据库的类型,确定源数据库的连接方式;根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式;根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据;根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据;根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,可以实现高效、准确和全面地对数据迁移后的数据进行校验,进而提高了数据迁移后新系统成功上线的效率,也为新系统今后稳定运行提供了有力的保障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1为本发明实施例中数据迁移后的数据校验方法的流程示意图;
图2为本发明实施例中数据迁移后的数据校验的系统架构示意图;
图3为本发明实施例中数据迁移后的数据校验的原理示意图;
图4为本发明实施例中数据迁移后的数据校验装置的结构示意图;
图5为本发明实施例中计算机设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。
在介绍本发明实施例之前,首先对本发明实施例涉及的名称进行介绍。
1.Oracle RAC:Oracle Real Application Cluster的缩写,是一种实时应用集群,是Oracle数据库支持网络环境计算的核心技术。该集群支持多节点负载均衡;提供高可用,具备故障容错和无缝切换功能;集群事务的响应时间快,支持的每秒交易数和连接数多;硬件成本低,可用多个廉价的PC服务器代替昂贵的小型机或大型机,同时节约相应维护成本;集群可扩展性好,可以方便添加删除节点、扩展硬件资源。
2.GaussDB:是华为国产自主研发的数据库,可以支持X86、ARM、GPU、NPU等异构架构,可实现自运维、自管理、自调优、故障自诊断和自愈,可以完全建立在华为IT架构的底层之上,包括网络设备、芯片、操作系统、云计算等。
3.数据迁移:数据迁移是指将数据从源数据库迁移到目标数据库的过程,数据迁移的实现可以分为3个阶段:数据迁移前的准备、数据迁移的实施和数据迁移后的校验。由于数据迁移的特点,大量的工作都需要在准备阶段完成,充分而周到的准备工作是完成数据迁移的主要基础。
4.Python:Python是一种跨平台的计算机程序设计语言。是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。Python在设计上坚持了清晰划一的风格,具备良好的简洁性、易读性和可扩展性。
5.SQL:结构化查询语言(Structured Query Language)简称SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统。结构化查询语言是高级的非过程化编程语言,允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解具体的数据存放方式,所以具有完全不同底层结构的不同数据库系统,可以使用相同的结构化查询语言作为数据输入与管理的接口。结构化查询语言语句可以嵌套,这使它具有极大的灵活性和强大的功能。
为了解决现有技术中存在的技术问题,本发明实施例提供了一种数据迁移后的数据校验方案,该方案为一种基于Python程序的数据迁移的数据比对校验方案,实现数据迁移后,对源库(源数据库)和目标库(目标数据库)的数据一致性校验功能,本发明实施例可对数据库进行全面的数据校验,程序基于python实现,部署方便,配置简单,运行方便,校验速度快,结果准确率100%。
本发明实施例提出的数据迁移后的数据对比校验方法是基于python编程语言,适配ORACLE数据库之间、GAUSS数据库之间以及ORACLE和GAUSS数据库之间互相迁移后的数据对比校验场景。
python是一种解释性、交互式、面向对象的跨平的语言,具备很强的可移植性、解释性以及可扩展性。Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行,无需担心如何编译程序,如何确保连接转载正确的库等,这一切使得使用Python变得更加简单。只需要把Python程序复制到另外一台计算机上,它就可以正常的运行了,这也使得Python程序更加易于移植。同时,python具备丰富我可扩展性,具备丰富的库,可适配多种数据库的连接方式。
ORACLE和GAUSS数据库的连接方式存在着差异,ORACLE支持sqlplus的连接方式,GAUSS支持zsql的连接方式,通过python程序可以适配整合两种数据库的连接方式。同时,ORACLE数据库和GAUSS数据库均支持标准的SQL语言,通过标准的SQL语言可以对数据库按需进行查询、统计、分析等操作。
目前并无基于ORACLE和GAUSS数据库的数据迁移比对校验方法,基于人工的对比方法较本发明实施例提出的方法在比对效果和比对效率上都很差。
下面对本发明实施例提出的数据迁移后的数据校验方案进行详细介绍。
图1为本发明实施例中数据迁移后的数据校验方法的流程示意图,如图1所示,该方法包括如下步骤:
步骤101:获取预先创建的配置文件;
步骤102:根据所述配置文件中源数据库的类型,确定源数据库的连接方式;根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式;
步骤103:根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据;根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据;
步骤104:根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果。
本发明实施例中,数据迁移后的数据校验方案,通过:获取预先创建的配置文件;根据所述配置文件中源数据库的类型,确定源数据库的连接方式;根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式;根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据;根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据;根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,可以实现高效、准确和全面地对数据迁移后的数据进行校验,进而提高了数据迁移后新系统成功上线的效率,也为新系统今后稳定运行提供了有力的保障。
下面结合图2至图3,对本发明实施例涉及的各个步骤进行详细介绍。
本发明实施例中基于python程序对ORACLE数据库和GAUSS数据库迁移后的状态数据比对校验,架构图如图2所示。在介绍各个步骤之前,首先对图2中涉及的名词进行简单介绍,在图2中:
ORACLE:一种非国产化的商业数据库。
Sqlplus:oralce数据库的连接工具。
GAUSS:国产化数据库。
Zsql:gauss数据库的连接工具。
Json:是一种轻量级的数据交换格式。JSON配置模块里面包含了需要校验的源库和目标库信息,校验方式,校验的内容和校验的范围。
Python:Python是一种跨平台的计算机程序设计语言。Python模块是用来控制整个校验流程逻辑的。
SQL:结构化查询语句,用来进行数据库的增删改查。标准SQL是用来操作数据库的,为python程序进行数据库校验提供数据源。
一、首先,介绍在上述步骤101之前,预先创建配置文件的步骤。
具体实施时,如图3所示,首先,可以在配置文件中配置源库和目标库;其次,在配置文件中配置源库和目标库的连接方式;接着,配置数据校验的类型,数据校验类型可以包括:结构化比对校验类型和/或内容化比对校验类型,其中,如图2所示,结构化比对校验类型可以具体包括:表数量对比,表数据量比对和表结构对比,当然还可以包括:表名对比、表字段对比、表索引对比、表分区对比等;如图2所示,内容化比对校验类型具体可以包括:求和比对、分组比对和字段内容对比,当然还可以包括:关键字段求和对比、关键字段分组比对、关键字段去重比对等。
具体实施时,如图3所示,接着,如果校验类型涉及表结构和内容,还需要配置需要校验的表;如果对并发数有要求,配置程序一级并发数和二级并发数,关于并发数详见后面对步骤104的介绍。
二、接着,介绍上述步骤101。
在一个实施例中,获取预先创建的配置文件,可以包括:获取预先创建的JSON格式配置文件。
具体实施时,由于ORACLE数据库和GAUSS数据库的连接方式不同,本发明实施例采用JSON格式配置文件的形式消除了连接方式的差异,入参通过JSON格式配置文件形式输入,配置灵活,可读性和可编辑性好。
三、接着,介绍上述步骤102。
在一个实施例中,根据所述配置文件中源数据库的类型,确定源数据库的连接方式,可以包括:若配置文件中源数据库的类型是ORACLE数据库,确定源数据库的连接方式是sqlplus连接方式;若配置文件中源数据库的类型是GAUSS数据库,确定源数据库的连接方式是zsql连接方式;
根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式,可以包括:若配置文件中目标数据库的类型是ORACLE数据库,确定目标数据库的连接方式是sqlplus连接方式;若配置文件中目标数据库的类型是GAUSS数据库,确定目标数据库的连接方式是zsql连接方式。
具体实施时,本发明实施例可以通过读取配置文件中的字段来确定是ORACLE库的连接串,还是GAUSS库的连接串,确定连接串对应的数据库类型,接着根据数据库类型确定连接方式,然后调用对应的连接工具去进行数据库连接,配置文件中的SourceQueryTool和TargetQueryTool可以分别用来标识源数据库和目标数据库的连接方式,ORACLE可以使用sqlplus来连接,GAUSS可以使用zsql来连接。
四、接着,介绍上述步骤103。
在一个实施例中,根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据,可以包括:若源数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取源数据库数据;若源数据库的连接方式是zsql连接方式,调用zsql连接工具,获取源数据库数据;
根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据,可以包括:若目标数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取目标数据库数据;若目标数据库的连接方式是zsql连接方式,调用zsql连接工具,获取目标数据库数据。
具体实施时,本发明实施例中,基于标准的SQL,支持多种数据库对象的比对,比对范围广泛。例如,ORACLE数据库和GAUSS数据库均支持标准的SQL语言,通过标准的SQL语言可以对数据库按需进行查询、统计、分析等操作。
五、接着,介绍上述步骤104。
在一个实施例中,如图3所示,根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,可以包括:根据所述配置文件中的校验方式及待校验表的标识,对源数据库表和目标数据库表进行对比,得到数据迁移后的数据校验结果。
具体实施时,如图3所示,在创建配置文件的阶段,预先配置数据校验的类型;如果校验类型涉及表结构和内容,配置需要校验的表。依据预先配置的关于表的信息例如标识(可以是表名),进行数据校验,提高校验的准确性和效率。
在一个实施例中,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,可以包括:
根据所述配置文件中的数据校验类型,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果;其中,所述数据校验类型包括:结构化比对校验类型和/或内容化比对校验类型。
具体实施时,本发明实施例中数据迁移后的数据校验方法基于标准的SQL语言,支持对源数据库和目标数据库结构化对比以及内容化比对,即数据校验类型可以包括:结构化比对校验类型和/或内容化比对校验类型。其中,结构化对比主要包括表名对比、表字段对比、表数据量对比、表索引对比、表分区对比等,内容化对比主要支持基于标准SQL的字段内容对比、关键字段求和对比、关键字段分组比对、关键字段去重比对等。
在一个实施例中,根据所述配置文件中的数据校验类型,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,可以包括:
根据配置文件中针对多种不同数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第一子任务,启动多线程并行处理多个第一子任务,和/或,根据配置文件中针对同一数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第二子任务,启动多线程并行处理多个第二子任务,得到数据迁移后的数据校验结果。
具体实施时,本发明实施例中数据迁移后的数据校验方法利用python自身完善的并发机制,采用两级并发的方式去处理不同的比对类型需求,极大地提升了比对的速度。在创建配置文件阶段,即预先配置阶段,进行了如果对并发数有要求,配置程序一级并发数(针对多种不同数据校验类型设置的并行校验数目)和二级并发数(针对同一数据校验类型设置的并行校验数目)的配置,一级并发指在多个比对类型(不同数据校验类型)之间进行并发,二级并发指在同一比对类型(同一数据校验类型)内部进行并发。例如,要比对源库和目标库的每张表的表结构和表数据量是否一致,需要在配置文件中的Scope关键字配置ROWCOUNTWITHLINE和COLUMNWITHOUTORDER属性,两种类型的比对会并发地进行,在每种类型内部会默认启动4线程去处理对每一张表的比对。本发明实施例支持从配置文件制定并发规模,从而可以根据源库、目标库以及校验程序运行的服务器配置动态地去调整并发规模,提升校验效率、灵活性和系统稳定性。
在一个实施例中,所述数据迁移后的数据校验方法可以基于python编程语言实现。
具体实施时,python是一种解释性、交互式、面向对象的跨平的语言,具备很强的可移植性、解释性以及可扩展性。Python语言写的程序不需要编译成二进制代码,可以直接从源代码运行程序。在计算机内部,Python解释器把源代码转换成称为字节码的中间形式,然后再把它翻译成计算机使用的机器语言并运行,无需担心如何编译程序,如何确保连接转载正确的库等,这一切使得使用Python变得更加简单。只需要把Python程序复制到另外一台计算机上,它就可以正常的运行了,这也使得Python程序更加易于移植。同时,python具备丰富我可扩展性,具备丰富的库,可适配多种数据库的连接方式。因此,基于python语言编写本发明实施例的数据迁移后的数据校验方法,具备良好的可扩展性,部署方便,配置简单,运行方便,校验速度快,结果准确率100%。
具体实施时,在完成了创建配置文件的步骤,执行上述步骤101至104,即如图3中所示的:导入配置文件,运行程序(数据迁移后的数据校验方法),查看程序运行生成的比对校验文件;分析比对校验文件,总结校验结果。
下面结合附图3举个例子,对本发明实施例涉及的数据迁移后的数据校验方法进行详细介绍,以便于理解本发明如何实施。
场景举例:
源数据库可以为S,目标数据库可以为T,校验数据库中的表TEST的表字段、表数据量信息等。
(1)在JSON配置文件中配置源数据库的目标数据库的数据库连接串、数据库连接工具等。
(2)在JSON中配置校验类型为COLUMN,ROWCOUNT。
(3)在JSON中配置校验的表为TEST。
(4)运行python程序(本发明实施例提供的数据迁移后的数据校验方法)。
(5)查看生成的校验结果文件,得到数据迁移后的数据校验结果。
(6)分析校验结果,得出结论。
综上,本发明实施例提供的数据迁移后的数据校验方法的关键点是:
1.ORACLE数据库和GAUSS数据库的比对校验。
2.基于JSON配置文件的动态入参比对方法。
3.基于标准SQL和python扩展的数据库内容多维度比对。
4.基于两级并发的比对性能优化策略。
综上,本发明实施例提供的数据迁移后的数据校验方法的有益效果是:
1.入参通过JSON配置文件形式输入,配置灵活,可读性和可编辑性好。
2.基于python语言编写,具备良好的可扩展性。
3.基于两级并发提速比对效率,有着良好的比对体验。
4.基于标准的SQL,支持多种数据库对象的比对,比对范围广泛。
本发明实施例中还提供了一种数据迁移后的数据校验装置,如下面的实施例所述。由于该装置解决问题的原理与数据迁移后的数据校验方法相似,因此该装置的实施可以参见数据迁移后的数据校验方法的实施,重复之处不再赘述。
图4为本发明实施例中数据迁移后的数据校验装置的结构示意图,如图4所示,该装置包括:
获取单元01,用于获取预先创建的配置文件;
确定单元02,用于根据所述配置文件中源数据库的类型,确定源数据库的连接方式;根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式;
处理单元03,用于根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据;根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据;
校验单元04,用于根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果。
在一个实施例中,所述校验单元具体可以用于:
根据所述配置文件中的数据校验类型,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果;其中,所述数据校验类型包括:结构化比对校验类型和/或内容化比对校验类型。
在一个实施例中,所述校验单元具体可以用于:
根据配置文件中针对多种不同数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第一子任务,启动多线程并行处理多个第一子任务,和/或,根据配置文件中针对同一数据校验类型设置的并行校验数目,将数据校验任务拆分成多个第二子任务,启动多线程并行处理多个第二子任务,得到数据迁移后的数据校验结果。
在一个实施例中,所述校验单元具体可以用于:根据所述配置文件中的校验方式及待校验表的标识,对源数据库表和目标数据库表进行对比,得到数据迁移后的数据校验结果。
在一个实施例中,所述确定单元具体可以用于:
若配置文件中源数据库的类型是ORACLE数据库,确定源数据库的连接方式是sqlplus连接方式;若配置文件中源数据库的类型是GAUSS数据库,确定源数据库的连接方式是zsql连接方式;
若配置文件中目标数据库的类型是ORACLE数据库,确定目标数据库的连接方式是sqlplus连接方式;若配置文件中目标数据库的类型是GAUSS数据库,确定目标数据库的连接方式是zsql连接方式。
在一个实施例中,所述处理单元具体可以用于:
若源数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取源数据库数据;若源数据库的连接方式是zsql连接方式,调用zsql连接工具,获取源数据库数据;
若目标数据库的连接方式是sqlplus连接方式,调用sqlplus连接工具,获取目标数据库数据;若目标数据库的连接方式是zsql连接方式,调用zsql连接工具,获取目标数据库数据。
在一个实施例中,所述获取单元具体可以用于:获取预先创建的JSON格式配置文件。
在一个实施例中,所述数据迁移后的数据校验装置可以基于python编程语言实现。
本发明实施例还提供了一种计算机设备,如图5所示,包括存储器302、处理器304及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的接收机电路以及终端的工作方法。
具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的接收机电路以及终端的工作方法的计算机程序。
具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
本发明实施例提供数据迁移后的数据校验方案的有益技术效果是:
本发明实施例提供数据迁移后的数据校验方案通过:获取预先创建的配置文件;根据所述配置文件中源数据库的类型,确定源数据库的连接方式;根据所述配置文件中目标数据库的类型,确定目标数据库的连接方式;根据所述源数据库的连接方式,调用源数据库的连接工具,获取源数据库数据;根据所述目标数据库的连接方式,调用目标数据库的连接工具,获取目标数据库数据;根据所述配置文件中的校验方式,对源数据库数据和目标数据库数据进行对比,得到数据迁移后的数据校验结果,可以实现高效、准确和全面地对数据迁移后的数据进行校验,进而提高了数据迁移后新系统成功上线的效率,也为新系统今后稳定运行提供了有力的保障。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 数据迁移后的数据校验方法及装置
- 数据迁移完整性校验方法、装置、设备及计算机可读介质