CN114942905A - 一种迁移数据验证方法、装置、设备和存储介质 - Google Patents
一种迁移数据验证方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN114942905A CN114942905A CN202210499626.6A CN202210499626A CN114942905A CN 114942905 A CN114942905 A CN 114942905A CN 202210499626 A CN202210499626 A CN 202210499626A CN 114942905 A CN114942905 A CN 114942905A
- Authority
- CN
- China
- Prior art keywords
- migration
- data
- file
- files
- information
- 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.)
- Pending
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/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/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
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)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种迁移数据验证方法、装置、设备和存储介质,涉及大数据技术领域,能够提高在数据迁移之后,对迁移数据进行测试的效率和测试效果,包括:获取多个迁移文件;其中,每个迁移文件包括迁出信息和迁入信息;根据多个迁移文件的数据量和目标阈值,对多个迁移文件进行拆分得到多组拆分文件;其中,目标阈值用于指示电子设备处理数据的能力;获取多个迁移文件中每个迁移文件对应的接口字段定义;对多组拆分文件中的每组拆分文件并行执行如下过程:根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告。本申请实施例应用于对迁移数据进行测试的场景中。
Description
技术领域
本申请涉及大数据技术领域,尤其涉及一种迁移数据验证方法、装置、设备和存储介质。
背景技术
数据迁移是将旧系统中的数据向新系统进行迁移的过程,目的是为了满足后续新系统继续承接旧系统的业务需要,需要将旧系统中现有的数据向新系统进行迁移。在数据迁移结束之后,还需要对数据迁移的结果进行测试,以验证数据迁移的相关程序是否按照迁移规则进行开发实现,并且迁移后的数据在新系统中是否可以完成数据延续性的交易场景(即迁移后的数据是否可以正常执行业务)。
目前现有的数据迁移工具往往集成在数据迁移的过程中,可以对部分迁移数据进行验证,以验证数据迁移前后是否一致,但无法实现针对数据迁移的整个流程进行自动化验证。并且在进行迁移测试的过程中,需要通过手动进行数据迁移前后的数据比对。但是由于迁移数据的数据量比较大,手动进行数据比对的效率低、出错概率高、资源成本消耗高、消耗大量的时间,导致在数据迁移之后,对迁移数据进行测试的效率较低、测试效果较差。
发明内容
本申请的实施例提供一种迁移数据验证方法、装置、设备和存储介质,能够提高在数据迁移之后,对迁移数据进行测试的效率和测试效果。
为达到上述目的,本申请的实施例采用如下技术方案:
第一方面,本申请提供了一种迁移数据验证方法,该方法包括:获取多个迁移文件;其中,每个迁移文件包括迁出信息和迁入信息,迁入信息为对迁出信息执行数据迁移得到的信息;根据多个迁移文件的数据量和目标阈值,对多个迁移文件进行拆分得到多组拆分文件;其中,目标阈值用于指示电子设备处理数据的能力,多组拆分文件中的每组拆分文件中包括的迁移文件的数据量与目标阈值相对应;获取多个迁移文件中每个迁移文件对应的接口字段定义;对多组拆分文件中的每组拆分文件并行执行如下过程:根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告;迁移文件的验证报告用于指示迁移文件中迁出信息和迁入信息的一致性。
由上可知,本申请提供的一种迁移数据验证方法,应用于对迁移数据进行测试的场景中,在将旧系统中的数据向新系统进行数据迁移完成之后,可以通过获取数据迁移对应的多个迁移文件,并根据多个迁移文件的数据量和用于指示电子设备处理数据的能力的目标阈值,对多个迁移文件进行拆分,得到包括的迁移文件的数据量与目标阈值相对应的多组拆分文件;进一步的,再获取多个迁移文件中每个迁移文件对应的接口字段定义,并对多组拆分文件中的每组拆分文件并行的进行比对,以根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告,以通过验证报告指示迁移文件中的迁出信息和迁入信息的一致性,从而可以提高在数据迁移之后,对迁移文件进行测试的效率和测试效果,并提高得到的验证报告的准确度。
在一种可能的实现方式中,根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告,包括:基于数据迁移规则,对拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;数据迁移规则为多个迁移文件对应的数据迁移规则,数据处理包括以下至少一项:数据格式的转换、数据拆分、数据合并、数据分组、数据计算;比对目标信息和拆分文件包括的迁移文件中的迁入信息之间的接口字段定义是否一致,并根据比对结果生成迁移文件的验证报告。
由上可知,具体可以基于多个迁移文件对应的数据迁移规则,对拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;并进一步的,比对目标信息和拆分文件包括的迁移文件中的迁入信息之间的接口字段定义是否一致,以根据比对结果生成迁移文件的验证报告。通过对迁移文件的数据格式、数据内容、数据量进行比对,可以提高比对结果的准确度,以提升验证报告的准确度。
在一种可能的实现方式中,方法还包括:根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类;每个迁移文件对应的有效等价类还与每个迁移文件对应的接口字段定义相对应,公共类包括多个预先定义的正则表达式;并且根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告之后,方法还包括:基于每个迁移文件对应的有效等价类和多个迁移文件,通过目标算法对多个迁移文件进行抽样检测,得到抽样检测结果;抽样检测结果用于指示迁移文件的验证报告是否准确。
由上可知,可以进一步的根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类,从而基于每个迁移文件对应的有效等价类和多个迁移文件,通过目标算法对多个迁移文件进行抽样检测,得到抽样检测结果,以通过抽样检测结果指示迁移文件的验证报告是否准确。提高了对迁移文件进行测试的效果,并提高了得到的验证报告的准确度。
在一种可能的实现方式中,获取多个迁移文件中每个迁移文件对应的接口字段定义,包括:从一个迁移文件对应的接口数据源获取一个迁移文件对应的接口文本;接口文本包括一个迁移文件对应的接口字段定义,接口文本为以下任一项:excel、Swagger;从接口文本中获取多个迁移文件中多个迁移文件中每个迁移文件对应的接口字段定义。
由上可知,具体可以通过从一个迁移文件对应的接口数据源获取该一个迁移文件对应的接口文本,以从接口文本中获取该一个迁移文件对应的接口字段定义,给出了一种获取每个迁移文件对应的接口字段定义的具体实现方式,提高了获取迁移文件对应的接口字段定义的效率。
第二方面,本申请提供了一种迁移数据验证装置,该一种迁移数据验证装置包括:获取单元和处理单元;获取单元,用于获取多个迁移文件;其中,每个迁移文件包括迁出信息和迁入信息,迁入信息为对迁出信息执行数据迁移得到的信息;处理单元,用于根据多个迁移文件的数据量和目标阈值,对多个迁移文件进行拆分得到多组拆分文件;其中,目标阈值用于指示电子设备处理数据的能力,多组拆分文件中的每组拆分文件中包括的迁移文件的数据量与目标阈值相对应;获取单元,用于获取多个迁移文件中每个迁移文件对应的接口字段定义;处理单元,用于对多组拆分文件中的每组拆分文件并行执行如下过程:根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告;迁移文件的验证报告用于指示迁移文件中迁出信息和迁入信息的一致性。
在一种可能的实现方式中,处理单元,用于基于数据迁移规则,对拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;数据迁移规则为多个迁移文件对应的数据迁移规则,数据处理包括以下至少一项:数据格式的转换、数据拆分、数据合并、数据分组、数据计算;处理单元,用于比对目标信息和拆分文件包括的迁移文件中的迁入信息之间的接口字段定义是否一致,并根据比对结果生成迁移文件的验证报告。
在一种可能的实现方式中,处理单元,用于根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类;每个迁移文件对应的有效等价类还与每个迁移文件对应的接口字段定义相对应,公共类包括多个预先定义的正则表达式;处理单元,用于基于每个迁移文件对应的有效等价类和多个迁移文件,通过目标算法对多个迁移文件进行抽样检测,得到抽样检测结果;抽样检测结果用于指示迁移文件的验证报告是否准确。
在一种可能的实现方式中,获取单元,用于从一个迁移文件对应的接口数据源获取一个迁移文件对应的接口文本;接口文本包括一个迁移文件对应的接口字段定义,接口文本为以下任一项:excel、Swagger;获取单元,用于从接口文本中获取多个迁移文件中每个迁移文件对应的接口字段定义。
第三方面,本申请提供了一种电子设备,包括:处理器以及存储器;其中,存储器用于存储一个或多个程序,一个或多个程序包括计算机执行指令,当电子设备运行时,处理器执行存储器存储的计算机执行指令,以使电子设备执行如第一方面的一种迁移数据验证方法。
第四方面,本申请提供了一种存储一个或多个程序的计算机可读存储介质,该一个或多个程序包括指令,上述指令当被计算机执行时使计算机执行如第一方面的一种迁移数据验证方法。
第五方面,一种计算机程序产品,包括指令,当其在计算机上运行时,使得计算机执行如第一方面的一种迁移数据验证方法。
需要说明的是,上述计算机指令可以全部或者部分存储在第一计算机可读存储介质上。其中,第一计算机可读存储介质可以与接入网终端设备的处理器封装在一起的,也可以与接入网终端设备的处理器单独封装,本申请对此不作限定。
本申请中第二方面、第三方面、第四方面和第五方面的描述,可以参考第一方面的详细描述;并且,第二方面、第三方面、第四方面和第五方面描述的有益效果,可以参考第一方面的有益效果分析,此处不再赘述。
在本申请中,上述名字对电子设备或功能单元本身不构成限定,在实际实现中,这些电子设备或功能单元可以以其他名称出现。只要各个电子设备或功能单元的功能和本申请类似,属于本申请权利要求及其等同技术的范围之内。
本申请的这些方面或其他方面在以下的描述中会更加简明易懂。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请的实施例提供的一种迁移数据验证系统结构示意图;
图2为本申请的实施例提供的一种迁移数据验证方法流程示意图一;
图3为本申请的实施例提供的一种迁移数据验证方法流程示意图二;
图4为本申请的实施例提供的一种迁移数据验证方法流程示意图三;
图5为本申请的实施例提供的一种迁移数据验证方法流程示意图四;
图6为本申请的实施例提供的一种迁移数据验证装置结构示意图一;
图7为本申请的实施例提供的一种迁移数据验证装置结构示意图二;
图8为本申请的实施例提供的一种电子设备结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其他实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
为了便于清楚描述本申请实施例的技术方案,在本申请实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量或执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。此外,“至少一个”、“多个”是指两个或两个以上。
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。
基于背景技术,本申请实施例提供一种迁移数据验证方法。该方法为了解决在数据迁移功能测试阶段,面对大量的迁移数据内容比对,迁移数据量的验证的测试场景时,人工比对迁移前后的数据无法满足测试质量效率需求的问题。通过分别对迁出,处理,迁入的流程进行分析和抽象。通过开发数据库/文件的比对工具,对迁出系统对应的迁出数据库与迁出文件,迁出文件与迁入文件,迁入文件与迁入系统对应的迁入数据库以及迁出数据库与迁入数据库的数据格式、数据内容、数据量进行比对,完成数据迁移的自动化测试。并且在比对过程中,采用自动切分文件的方式,对大量迁移数据进行拆分,并行的进行处理以提高处理效率。
本申请实施例提供的一种迁移数据验证方法可以适用于迁移数据验证系统。图1示出了该迁移数据验证系统的一种结构示意图。如图1所示,迁移数据验证系统10包括电子设备11、服务器12、迁出系统13、迁出数据库14、迁入系统15、迁入数据库16。
电子设备11与服务器12连接。电子设备11以及服务器12之间可以采用有线方式连接,也可以采用无线方式连接,本申请实施例对此不作限定。
电子设备11可以用于物联网,电子设备11可以包括多个中央处理器(centralprocessing unit,CPU)、多个内存、存储有多个操作系统的存储装置等硬件。电子设备可以用于执行本申请实施例提供的一种迁移数据验证方法中的步骤。
电子设备11可以用于与服务器12进行指令或数据交互,例如,电子设备11可以获取服务器12中存储的历史数据信息,进而对获取到的数据信息进行分析处理;或者电子设备11通过服务器12,获取迁出系统13对应的迁出数据库14和迁入系统15对应的迁入数据库16中的数据。
服务器12也可以用于物联网,用于获取迁出系统13对应的迁出数据库14和迁入系统15对应的迁入数据库16中的数据,并执行对应的任务功能,例如用于执行对迁移数据进行比对的任务。例如,服务器可以是迁移数据比对平台。
迁出系统13可以理解为旧的系统,对应迁出数据库14;迁入系统15可以理解为新的系统,对应迁入数据库16,本申请实施例提供的一种迁移数据验证方法,用于验证将迁出数据库14中的数据迁移至迁入数据库16中之后,迁出数据库14中的数据与迁入数据库16中的数据是否一致,即检测迁入数据库16中的数据在迁入系统15中是否可以正常执行对应的任务(即迁出数据库14中的数据在迁出系统13中执行的任务)。
需要说明的,电子设备11和服务器12可以为相互独立的设备,也可以集成于同一设备中,本申请对此不作具体限定。
当电子设备11和服务器12集成于同一设备时,电子设备11和服务器12之间的通信方式为该设备内部模块之间的通信。这种情况下,二者之间的通信流程与“电子设备11和服务器12之间相互独立的情况下,二者之间的通信流程”相同。
在本申请提供的以下实施例中,本申请以电子设备11和服务器12相互独立设置为例进行说明。
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
如图2所示,本申请实施例提供的一种迁移数据验证方法应用于电子设备,包括:S201-S204:
S201、获取多个迁移文件。
其中,每个迁移文件包括迁出信息和迁入信息,迁入信息为对迁出信息执行数据迁移得到的信息。
在本申请实施例中,当从迁出系统(或迁出数据库)将数据迁移至迁入系统(或迁入数据库)之后,可以通过本申请实施例提供的迁移数据验证方法,对迁移前的数据(即迁出信息)和迁移后的数据(即迁入信息)进行比对,生成验证报告,以确定迁移前和迁移后的数据是否一致。
需要说明的是,数据迁移是将旧系统(即迁出系统)中需要的历史数据一次或几次转换到新的系统(即迁入系统),最主要的特点是需要在短时间内完成大批量数据的抽取、清洗和装载。数据迁移具体包括:系统切换前通过工具迁移、系统切换前通过手工录入、系统切换后通过新系统生成。其中,系统切换前通过工具迁移,是在系统切换前,利用数据迁移工具将旧系统中的历史数据抽取转换并装载到新系统中;系统切换前通过手工录入,是通过行管人员把需要的数据手工录入到新系统中;统切换后通过新系统生成,是在系统切换后,通过新系统的相关功能,或专门开发的配套程序生成所需的数据。
具体的,将迁入系统对应的数据库(即新数据库)配置为旧数据库(即迁出系统对应的数据库)的从数据库,用来同步数据;如果需要将数据同步到多个数据库中,那么可以使用一些第三方工具获取Binlog的增量日志(比如开源工具Canal),在获取增量日志之后就可以按照多个数据库的逻辑写入到新的数据库中了。同时,需要改造业务代码,在数据写入的时候,不仅要写入迁出系统的数据库,也要写入迁入系统的数据库。当然,基于性能的考虑,可以异步地写入迁入系统的数据库,只要保证迁出系统的数据库写入成功即可。但是,我们需要注意的是,需要将写入迁入系统的数据库失败的数据记录在单独的日志中,这样方便后续对这些数据补写,保证迁入系统的数据库和迁出系统的数据库的数据一致性。
S202、根据多个迁移文件的数据量和目标阈值,对多个迁移文件进行拆分得到多组拆分文件。
其中,目标阈值用于指示电子设备处理数据的能力,多组拆分文件中的每组拆分文件中包括的迁移文件的数据量与目标阈值相对应。
可以理解,上述多个迁移文件的数据量可以理解为:多个迁移文件所占用存储内存的大小;或者,可以理解为迁移文件的文件数量。
可选的,迁出信息可以包括迁出数据和迁出文件,迁入信息可以包括迁入文件和迁入数据,迁出文件为迁出系统中的迁出数据对应的文件,迁入文件为迁入系统中的迁入数据对应的文件,迁入文件为对迁出文件进行数据处理得到的文件。
可以理解,迁出数据和迁入数据为机器语言形式的数据,迁出数据对应的文件(即迁出文件)为:可显示、用户可浏览的数据形式的文件,比如通过电子设备识别迁出数据,可以生成可显示、用户可浏览的数据文件。
作为一种可能的实现方式,本申请实施例可以应用于迁移数据比对平台,该迁移数据比对平台运行在电子设备中,以通过迁移数据比对平台对多个迁移文件进行比对,得到比对结果。
示例性地,可以通过下述任一可能的实现方式获取迁移文件:
一种可能的实现方式,电子设备从数据迁移系统中获取迁移文件。比如将迁出系统中的数据迁移至迁入系统中,可以通过数据迁移系统来完成,因此可以直接从数据迁移系统中获取迁移文件,即获取迁出数据、迁出文件、迁入文件和迁入数据。
需要说明的是,上述数据迁移系统是一种,用于将旧系统(即迁出系统)中的数据迁移至新的系统(即迁入系统)的数据迁移工具,以实现在新的系统中执行与旧系统相同的任务。
可选的,由于数据迁移系统在进行数据迁移的过程中,可以记录保存迁移文件,从而电子设备可以向数据迁移系统发送数据获取请求,以从数据迁移系统中获取迁移文件。
另一种可能的实现方式,电子设备可以直接从迁出系统中获取迁出数据和迁出文件,并从迁入系统中获取迁入文件和迁入数据,从而获取到迁移文件。
需要说明的是,迁出数据为迁出系统或数据库中存储的数据,这种数据为机器可读的数据,迁出文件为将迁出数据转换为相对应的可显示、可阅读的文件文本,迁入文件为对迁出文件进行数据处理、数据映射得到的文件文本,迁入数据为根据迁入文件得到的相对应的机器可读的数据。
示例性的,迁出数据为迁出系统或数据库中存储的联系人信息,则迁出数据可以理解为数据库中存储的机器可读的二进制数据、字符型数据等;迁出文件可以理解为电子设备对数据库中存储的机器可读的二进制数据、字符型数据进行识别而生成的用户可浏览的文件形式;迁入文件为对迁出文件进行数据处理、数据映射得到的文件文本,例如联系人信息在迁出文件中包括有姓名栏位、性别栏位、联系方式栏位等,进行数据处理、数据映射得到的迁入文件中包括有姓氏栏位、名字栏位、性别栏位、联系方式栏位等,即将迁出文件中的姓名栏位拆分为姓氏栏位和名字栏位;迁入数据则是根据迁入文件生成的机器可读的二进制数据、字符型数据,以存储在迁入系统或数据库中。
进一步的,每个迁移文件包括迁出数据、迁出文件、迁入文件和迁入数据,可以理解为一个迁移文件包括至少一个迁出数据、至少一个迁出文件、至少一个迁入文件和至少一个迁入数据,并且,一个迁出数据、一个迁出文件、一个迁入文件和一个迁入数据之间存在对应关系,即一个迁出数据、一个迁出文件、一个迁入文件和一个迁入数据用于指示同一内容,例如相对应的一个迁出数据、一个迁出文件、一个迁入文件和一个迁入数据均用于指示联系人信息。
具体的,在迁出系统中的通讯录包括有姓名栏位、性别栏位、联系方式栏位等,进行数据迁移后,在迁入系统中的通讯录包括有姓氏栏位、名字栏位、性别栏位、联系方式栏位等。可以看出,在迁出系统中的通讯录与迁入系统中的通讯录所包括的内容相同,但是数据形式不同(即迁入系统中将姓名栏位拆分为姓氏栏位和名字栏位)。
可选的,对于电子设备来说,单次处理数据的能力是有限的,即电子设备对应一个数据处理阈值(即目标阈值),而迁移文件的总数据量是十分巨大的,因此可以根据目标阈值将迁移数据进行拆分,得到多组拆分文件,从而可以通过多个电子设备或多个系统分别对多组拆分文件进行并行处理,从而可以提高数据处理效率。
S203、获取多个迁移文件中每个迁移文件对应的接口字段定义。
其中,迁移文件对应的接口字段定义用于指示迁移文件对应的数据类型(或者数据格式)。具体的,接口字段定义为以下任一项:整型、字符型、浮点型。
作为一种可能的实现方式,可以通过读取接口文本获取每个迁移文件对应的接口字段定义,具体的,可以通过从不同的接口数据源获取到的接口文本中导入迁移接口字段定义,以获取每个迁移文件对应的接口字段定义。
需要说明的是,上述接口文本为用于指示数据接口的接口字段定义的文本,在该接口文本中存储有接口所对应的接口字段定义。即接口文本是用于保存接口字段定义的文件,例如swagger是一款更好的书写API文档的规范且完整框架,可以提供描述、生产、消费和可视化RESTful Web Service,是由庞大工具集合支撑的形式化规范。
在一种设计中,为了获取每个迁移文件对应的接口字段定义,如图3所示,本申请实施例提供的S203中的方法,具体可以包括下述S301-S302。
S301、从一个迁移文件对应的接口数据源获取一个迁移文件对应的接口文本。
其中,接口文本包括一个迁移文件对应的接口字段定义,接口文本为以下任一项:excel、Swagger。
可选的,接口文本中还可以包含以下至少一项:接口概述、接口名称、请求参数(请求头、请求体)、接口功能、接口类别、URL、传入参数、返回值、提交者、提交时间、需求来源等信息。
可以理解,接口文本也称为接口文档,由于项目在开发的过程中,前端和后端时分离开发的,因此应用程序的开发需要前端工程师和后端工程师共同定义接口,编写接口文档,之后大家可以根据接口文档进行开发,该接口文档到项目结束前都需要进行维护。接口文档用于在项目的开发过程中,有一个统一的文件进行共同交流开发,项目维护,或者项目人员更迭的时候,方便后期人员查看和维护项目。
需要说明的是,接口数据源是指数据库应用程序所使用的数据库或者数据库服务器。数据源是提供所需要数据的器件或原始媒体。在数据源中存储了所有建立数据库连接的信息。就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,可以找到相应的数据库连接。
数据源名称(data source name,DSN)是包含了有关某个特定数据库信息的数据结构,这个信息是开放式数据库连接驱动能够连接到数据库上必需的信息。DSN存储在注册表或作为一个单独的文本文件,DSN里面包含的信息有名称、目录和数据库驱动器,以及用户ID和密码(根据DSN的类型)。开发人员为每个数据库创建一个独立的DSN。为了连接到某个数据库,开发人员需要在程序中指定DSN。相反,没有DSN的连接则需要在程序中指定所有必要的信息。
可选的,在接口数据源中对应的保存有每个迁移文件对应的接口文本,该接口文本中存储有迁移文件对应的相关信息,例如:接口字段定义、迁移文件的数据格式、迁移文件的大小、迁移文件的生成时间等信息。
S302、从接口文本中获取多个迁移文件中每个迁移文件对应的接口字段定义。
可选的,在从不同的接口数据源获取对应的接口文本之后,可以通过接口文本获取到每个迁移文件对应的接口字段定义。
在一种实现方式中,电子设备在获取到迁移文件对应的接口文本之后,可以直接通过读取接口文本的方式,从该接口文本中读取迁移文件对应的接口字段定义。
在本申请实施例提供的一种迁移数据验证方法中,具体可以通过从一个迁移文件对应的接口数据源获取该一个迁移文件对应的接口文本,以从接口文本中获取该一个迁移文件对应的接口字段定义,给出了一种获取每个迁移文件对应的接口字段定义的具体实现方式,提高了获取迁移文件对应的接口字段定义的效率。
进一步的,对多组拆分文件中的每组拆分文件并行执行如下过程:
S204、根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告。
其中,迁移文件的验证报告用于指示迁移文件中迁出信息和迁入信息的一致性。
作为一种可能的实现方式,可以基于每个迁移文件对应的接口字段定义对迁移文件进行批量自动比对。
具体的,可以基于Python库的相关工具,根据接口字段定义对迁移文件中所包括的迁出信息和迁入信息进行批量自动比对,以得到用于指示迁移文件是否一致的比对结果,并根据数据比对结果生成验证报告。
示例性的,电子设备可以基于迁移文件对应的接口字段定义,对迁出信息进行数据处理得到一个处理后的信息(可以称为目标信息),并将该处理后的信息与迁入信息进行比对,即可得到比对结果。
可选的,对迁移文件进行自动比对的过程具体可以为:将迁移文件、每个迁移文件对应的接口字段定义、数据迁移规则作为输入,以根据迁移文件中的迁出信息再次生成迁入信息,从而根据数据迁移规则判断,再次生成的迁入信息,与迁移文件中包括的迁入信息是否一致,从而得到迁移文件的比对结果。
需要说明的是,上述数据迁移规则可以从数据迁移系统中获取的规则,或者,为用户输入的迁移规则。
可选的,还可以在迁入信息包括迁入数据和迁入文件,迁出信息包括迁出数据和迁出文件的情况下,电子设备可以根据每个迁移文件对应的接口字段定义,将迁出信息中的迁出数据与迁出文件进行自动比对、并将迁入信息中的迁入文件与迁入数据进行自动比对、将迁出文件与迁入文件进行自动比对、以及将迁出数据与迁入数据进行自动比对,生成验证报告。
可选的,电子设备可以根据数据迁移规则,对迁出信息包括的迁出数据进行处理,得到对应的新迁出文件;并进一步的对得到的新迁出文件进行处理得到对应的新迁入文件,以及对新迁入文件进行处理得到对应的新迁入数据。从而根据得到的新迁出文件、新迁入文件、新迁入数据之间的比对,生成验证报告。
具体的,电子设备可以比对迁出信息中的迁出数据与迁出文件所指示的数据内容是否一致,数据类型或数据格式是否一致等;并且,比对迁入信息中的迁入数据与迁入文件所指示的数据内容是否一致,数据类型或数据格式是否一致等。
比如,电子设备可以基于迁移文件对应的接口字段定义,对迁出数据进行数据处理得到一个处理后的迁出文件,并比对该处理后的迁出文件与S201中获取到的迁移文件中的迁出文件的数据格式是否一致、数据内容是否一致、数据量是否一致等,即可得到对应的比对结果。
以及,对迁入文件进行数据处理得到一个处理后的迁入数据,并比对该处理后的迁入数据与获取到的迁移文件中的迁入数据的数据格式是否一致、数据内容是否一致、数据量是否一致等,即可得到对应的比对结果。
进一步的,电子设备还可以比对处理后的迁出文件与迁入文件的数据格式是否一致、数据内容是否一致、数据量是否一致等,以及比对迁出数据与处理后的迁入数据的数据格式是否一致、数据内容是否一致、数据量是否一致等,得到对应的比对结果。
最终,电子设备将上述多个比对结果进行整合处理,即可生成验证报告。
可以理解,在数据迁移完成后,需要对迁移后的数据进行校验。数据迁移后的校验是对迁移质量的检查,同时数据校验的结果也是判断新系统能否正式启用的重要依据。可以通过以下2种方式对迁移后的数据进行校验:新旧系统查询数据对比检查,通过新旧系统各自的查询工具,对相同指标的数据进行查询,并比较最终的查询结果;先将新系统的数据恢复到旧系统迁移前一天的状态,然后将最后一天发生在旧系统上的业务全部补录到新系统,检查有无异常,并和旧系统比较最终产生的结果。
对迁移后的数据进行质量分析,可以通过数据质量检查工具或编写有针对性的检查程序进行。对迁移后数据的校验有别于迁移前历史数据的质量分析,主要是检查指标的不同。迁移后数据校验的指标主要包括5方面:完整性检查,引用的外键是否存在;一致性检查,相同含义的数据在不同位置的值是否一致;总分平衡检查,不同数据的对比;记录条数检查,检查新旧数据库对应的记录条数是否一致;特殊样本数据的检查,检查同一样本在新旧数据库中是否一致。
本申请提供的一种迁移数据验证方法,应用于对迁移数据进行测试的场景中,在将旧系统中的数据向新系统进行数据迁移完成之后,可以通过获取数据迁移对应的多个迁移文件,并根据多个迁移文件的数据量和用于指示电子设备处理数据的能力的目标阈值,对多个迁移文件进行拆分,得到包括的迁移文件的数据量与目标阈值相对应的多组拆分文件;进一步的,再获取多个迁移文件中每个迁移文件对应的接口字段定义,并对多组拆分文件中的每组拆分文件并行的进行比对,以根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告,以通过验证报告指示迁移文件中的迁出信息和迁入信息的一致性,从而可以提高在数据迁移之后,对迁移文件进行测试的效率和测试效果,并提高得到的验证报告的准确度。
在一种设计中,为了准确的对迁移文件进行自动比对生成验证报告,如图4所示,本申请实施例提供的S204中的方法,具体可以包括下述S401和S402。
S401、基于数据迁移规则,对拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息。
其中,数据迁移规则为多个迁移文件对应的数据迁移规则,数据处理包括以下至少一项:数据格式的转换、数据拆分、数据合并、数据分组、数据计算。
可选的,电子设备可以模拟数据迁移的过程中对迁出信息进行的数据处理过程,基于数据迁移规则再次对迁出信息进行数据处理,得到目标信息。
可以理解,上述目标信息为对迁入信息进行数据处理之后得到对应的新迁入信息。
例如,根据数据迁移规则,需要将迁出系统中数据格式为整型的迁出信息,转换为迁入系统可识别的字符型的迁入信息,则电子设备可以根据数据迁移规则,将迁移文件中的迁出信息进行数据处理得到字符型的目标信息。
可选的,上述数据处理还可以包括以下至少一项:数据分组,指定编码,按有关信息进行有效的分组;数据组织,整理数据或用某些方法安排数据,以便进行下一步的处理;数据计算,进行各种算数和逻辑运算,以便得到进一步的信息;数据存储,将原始数据或计算结果保存起来,供后续使用;数据排序,将数据按照一定的规则要求进行排序。
S402、比对目标信息和拆分文件包括的迁移文件中的迁入信息之间的接口字段定义是否一致,并根据比对结果生成迁移文件的验证报告。
作为一种可能的实现方式,在电子设备对迁移文件中的迁出信息进行数据处理得到目标信息之后,可以比对目标信息对应的接口字段定义,与拆分文件包括的迁移文件中的迁入信息对应的接口字段定义是否一致。
示例性的,假设迁出系统所对应的数据格式为整型,迁入系统对应的数据格式为字符型,则在数据迁移的过程中,需要将迁入系统中的迁移文件的数据格式,由整型数据转换为字符型数据(即迁出信息为整型数据,迁入信息为字符型数据),才可以完成数据迁移。
在这种情况下,电子设备在获取到迁移文件之后,电子设备可以确定迁移文件中的迁出信息为整型数据,迁入信息为字符型数据。则电子设备可以根据对应的数据迁移规则,对迁移文件中的迁出信息进行数据处理,得到数据格式为字符型的目标信息。进一步的,电子设备再判断目标信息的数据格式与迁入信息的数据格式是否一致。由于可以确定目标信息的数据格式与迁入信息的数据格式均为字符型,则可以得到数据格式一致的比对结果。
进一步的,假设电子设备获取到的迁移文件中的迁出信息为整型数据,迁入信息也为整型数据。但是电子设备根据对应的数据迁移规则,对迁移文件中的迁出信息进行数据处理,得到的目标信息的数据格式为字符型。则在判断目标信息的数据格式与迁入信息的数据格式是否一致的过程中,可以确定目标信息的数据格式与迁入信息的数据格式不一致,得到异常的比对结果,从而在生成的验证报告中显示“数据格式异常”的标识。
可选的,除比对数据格式是否一致外,电子设备还可以比对目标信息和拆分文件包括的迁移文件中的迁入信息之间的数据内容、数据量等参数信息,确定比对结果。比如电子设备可以进一步的比对目标信息与迁移文件中的迁入信息的数据内容是否一致、数据量是否一致等,得到对应的比对结果,从而成迁移文件的验证报告。
可以理解,电子设备可以对迁出、处理、迁入的流程进行分析和抽象。通过开发数据库/文件的比对工具(例如Python库的相关工具)对迁出数据与迁出文件,迁出文件与迁入文件,迁入文件与迁入数据以及迁出数据与迁入数据的数据格式,数据内容,数据量进行比对,完成数据迁移自动化测试。在比对过程中,采用自动切分文件,分库的方式对大量数据进行拆分并行处理以提高效率。
在本申请实施例提供的一种迁移数据验证方法中,具体可以根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;将目标信息和拆分文件包括的迁移文件中的迁入信息进行比对,生成迁移文件的验证报告。通过对迁移文件的数据格式、数据内容、数据量进行比对,可以提高比对结果的准确度,以提升验证报告的准确度具体可以根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;将目标信息和拆分文件包括的迁移文件中的迁入信息进行比对,生成迁移文件的验证报告。通过对迁移文件的数据格式、数据内容、数据量进行比对,可以提高比对结果的准确度,以提升验证报告的准确度。
在一种设计中,为了得到准确度较高的验证报告,如图5所示,本申请实施例提供的方法还包括下述S501-S502。
S501、根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类。
其中,每个迁移文件对应的有效等价类与每个迁移文件对应的接口字段定义相对应,公共类包括多个预先定义的正则表达式。
需要说明的是,等价类是将程序所有的可能输入的数据(包括有效等价类和无效等价类)划分为若干个等价类,然后从每部分中选取具有代表性的数据当做测试用例进行合理的分类,测试用例有有效等价类和无效等价类的代表组成,从而保证测试用例具有完整性和代表性。
其中,有效等价类为:完全满足产品规格说明的数据,有效的、有意义的输入数据构成的集合;无效等价类为:不满足程序的输入要求或者无效的输入数据构成的集合。
即,有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合,利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。有效等价类可以理解为判断条件,即用于判断迁移文件是否满足对应的条件。
作为一种可能的实现方式,可以依据接口字段定义,生成接口字段定义所对应的字段的有效等价类的数据生成规则,具体的,可以依据接口字段定义,从公共类中获取符合迁移文件对应的接口字段定义的有效等价类,将生成的有效等价类作为迁移文件对应的有效等价类。
可选的,根据接口字段定义确定迁移文件的数据类型(例如整型、字符型和浮点型等),并进一步的判断迁移文件中包括的数据的数据特征、参数特征等,从而可以从公共类中获取每个迁移文件对应的有效等价类。
例如,根据迁移文件对应的接口字段定义可以确定该文件为十位的字符型数据,则可以确定该迁移文件对应的有效等价类为:一位至十一位的字符型数据。
示例性的,迁移文件中的数据的取值范围或者数据的个数有规定,则可划分为一个有效等价类和两个无效等价类;例如,迁移文件中的数据包括有学生的成绩:0~100,则有效等价类为输入值为“0~100”,无效等价类为:输入值大于100或者输入值小于0。再例如,迁移文件中的数据规定了“必须如何”条件的情况下,可划分为一个有效等价类和一个无效等价类;例如,迁移文件中的数据为输入‘张三’的姓名,则有效等价类为:“张三”,无效等价类为:非“张三”的任何字符内容。
又示例性的,迁移文件中的数据为布尔条件的情况下,则可划分为一个有效等价类和一个无效等价类;例如,输入值大于10,有效等价类为:大于10的任何一个数字,无效等价类为:小于10的任何一个数字。或者,迁移文件中的数据为一组包括有n个数据的值,并且程序对每个输入值分别处理的情况下,可确定n个有效等价类和一个无效等价类;例如,规定输入学科条件说明学历可为:硕士、本科、大专三种之一,则把这三个值确定为3个有效等价类,把这三个学历之外的任何学历作为无效等价类。
S502、基于每个迁移文件对应的有效等价类和多个迁移文件,通过目标算法对多个迁移文件进行抽样检测,得到抽样检测结果。
其中,抽样检测结果用于指示迁移文件的验证报告是否准确。
作为一种可能的实现方式,可以通过每个迁移文件对应的有效等价类,对得到的比对结果进行抽样检测,以检测比对结果是否准确。
可以理解,抽样检测结果用于,检测迁移文件所对应的比对结果是否准确,在检测到迁移文件所对应的比对结果准确的情况下,可以确定迁移文件中的迁出信息和迁入信息一致;在检测到迁移文件所对应的比对结果不准确的情况下,可以确定迁移文件中的迁出信息和迁入信息不一致。
作为一种可能的实现方式,基于有效等价类和比对过的迁移文件,通过目标算法进行抽样,使用抽样的结果进行批量数据的查询比对,从而进一步的验证上述比对结果是否准确。
示例性的,随机的从比对过的迁移文件中,抽取部分迁移文件,以根据该部分迁移文件所对应的有效等价类,确定迁移文件中的数据形式是否符合对应的有效等价类,以确定该部分迁移文件所对应的比对结果是否准确。例如,迁移文件中的数据形式是通过整型和字符型构成的数据,而对应的有效等价类所指示的数据形式仅为字符型,则可以确定该部分迁移文件所对应的比对结果不准确。
作为一种可能的实现方式,在基于每个迁移文件对应的有效等价类和多个迁移文件,通过目标算法对多个迁移文件进行抽样检测,得到抽样检测结果之后,可以将抽样检测结果和上述比对结果进行结合,从而生成迁移数据对应的验证报告。
即通过抽样检测结果,判断迁移文件所对应的比对结果是否准确,从而保证迁移数据对应的验证报告的准确性。
在本申请实施例提供的一种迁移数据验证方法中,可以进一步的根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类,从而基于每个迁移文件对应的有效等价类和多个迁移文件,通过目标算法对多个迁移文件进行抽样检测,得到抽样检测结果,以通过抽样检测结果指示迁移文件的验证报告是否准确。提高了对迁移文件进行测试的效果,并提高了得到的验证报告的准确度。
本申请实施例,采用自动化测试的理念,将重复性的测试活动进行抽象和建模,针对迁移测试过程中生成的大量文件,采用自动化的方式完成比对。通过开发迁移数据比对平台,该平台主要的功能有根据迁移文件数据量自动拆分文件,自动读取迁移接口字段定义,根据定义验证迁移文件的正确性,并生成各字段的有效等价类,并从数据文件中根据有效等价类进行筛选和提取,将提取出的数据与数据库进行比对,并针对以上各阶段的结果生成测试报告。
在本申请实施例中,具体可以通过从不同的接口数据源获取对应的接口文本,以从接口文本中获取每个迁移文件对应的接口字段定义,给出了一种获取每个迁移文件对应的接口字段定义的具体实现方式,提高了获取迁移文件对应的接口字段定义的效率。
在一种设计中,如图6所示,一种迁移数据验证装置的结构示意图,包括:迁移数据库601、迁移文件602、迁移接口603、输入模块604、处理模块605和输出模块606。其中,输入模块604具体可以包括:文件处理模块6041、接口获取模块6042和等价类生成模块6043,处理模块605具体可以为:并行比对模块6051,输出模块606具体可以为:验证报告生成模块6061。
其中,迁移数据库601可以为数据迁移系统对应的数据库,该迁移数据库601中可以包括有迁出数据、迁出文件、迁入文件和迁入数据等;迁移接口603即为数据迁移的过程中所涉及到的接口;文件处理模块6041用于从数据库获取迁移数据,并对迁移文件进行拆分;接口获取模块6042用于获取每个迁移文件对应的接口字段定义;等价类生成模块6043用于根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类;并行比对模块6051用于根据每个迁移文件对应的接口字段定义,对迁移文件进行自动比对,所比对的数据量可以根据电子设备可处理的数据量进行动态调整;验证报告生成模块6061用于根据对迁移文件进行自动比对的结果,生成验证报告。
上述主要从方法的角度对本申请实施例提供的方案进行了介绍。为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本申请实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
本申请实施例可以根据上述方法示例对一种迁移数据验证装置进行功能模块的划分,例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。可选的,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
图7为本申请实施例提供的一种迁移数据验证装置的结构示意图。如图7所示,一种迁移数据验证装置100能够提高在数据迁移之后,对迁移数据进行测试的效率和测试效果,例如用于执行图2所示的一种迁移数据验证方法。该一种迁移数据验证装置100包括:获取单元1001和处理单元1002。
获取单元1001,用于获取多个迁移文件;其中,每个迁移文件包括迁出信息和迁入信息,迁入信息为对迁出信息执行数据迁移得到的信息;例如,如图2所示,获取单元1001可以用于执行S201中的步骤。
处理单元1002,用于根据多个迁移文件的数据量和目标阈值,对多个迁移文件进行拆分得到多组拆分文件;其中,目标阈值用于指示电子设备处理数据的能力,多组拆分文件中的每组拆分文件中包括的迁移文件的数据量与目标阈值相对应;例如,如图2所示,处理单元1002可以用于执行S202中的步骤。
获取单元1001,用于获取多个迁移文件中每个迁移文件对应的接口字段定义;例如,如图2所示,获取单元1001可以用于执行S203中的步骤。
处理单元1002,用于对多组拆分文件中的每组拆分文件并行执行如下过程:根据拆分文件包括的迁移文件对应的接口字段定义,对拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成迁移文件的验证报告;迁移文件的验证报告用于指示迁移文件中迁出信息和迁入信息的一致性。例如,如图2所示,处理单元1002可以用于执行S204中的步骤。
可选的,处理单元1002,用于基于数据迁移规则,对拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;数据迁移规则为多个迁移文件对应的数据迁移规则,数据处理包括以下至少一项:数据格式的转换、数据拆分、数据合并、数据分组、数据计算;例如,如图4所示,处理单元1002可以用于执行S401中的步骤。
处理单元1002,用于比对目标信息和拆分文件包括的迁移文件中的迁入信息之间的接口字段定义是否一致,并根据比对结果生成迁移文件的验证报告。例如,如图4所示,处理单元1002可以用于执行S402中的步骤。
可选的,处理单元1002,用于根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类;每个迁移文件对应的有效等价类还与每个迁移文件对应的接口字段定义相对应,公共类包括多个预先定义的正则表达式;例如,如图5所示,处理单元1002可以用于执行S501中的步骤。
处理单元1002,用于基于每个迁移文件对应的有效等价类和多个迁移文件,通过目标算法对多个迁移文件进行抽样检测,得到抽样检测结果;抽样检测结果用于指示迁移文件的验证报告是否准确。例如,如图5所示,处理单元1002可以用于执行S502中的步骤。
可选的,获取单元1001,用于从一个迁移文件对应的接口数据源获取一个迁移文件对应的接口文本;接口文本包括一个迁移文件对应的接口字段定义,接口文本为以下任一项:excel、Swagger;例如,如图3所示,获取单元1001可以用于执行S301中的步骤。
获取单元,用于从接口文本中获取多个迁移文件中每个迁移文件对应的接口字段定义。例如,如图3所示,获取单元1001可以用于执行S302中的步骤。
在采用硬件的形式实现上述集成的模块的功能的情况下,本申请实施例提供了上述实施例中所涉及的电子设备的另外一种可能的结构示意图。如图8所示,一种电子设备70,用于高效的评估产品进行迭代更新时,产品内容的调整导致产品活跃度发生变化的情况,例如用于执行图2所示的一种迁移数据验证方法。该电子设备70包括处理器701,存储器702以及总线703。处理器701与存储器702之间可以通过总线703连接。
处理器701是通信装置的控制中心,可以是一个处理器,也可以是多个处理元件的统称。例如,处理器701可以是一个通用中央处理单元(central processing unit,CPU),也可以是其他通用处理器等。其中,通用处理器可以是微处理器或者是任何常规的处理器等。
作为一种实施例,处理器701可以包括一个或多个CPU,例如图8中所示的CPU 0和CPU 1。
存储器702可以是只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only memory,EEPROM)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
作为一种可能的实现方式,存储器702可以独立于处理器701存在,存储器702可以通过总线703与处理器701相连接,用于存储指令或者程序代码。处理器701调用并执行存储器702中存储的指令或程序代码时,能够实现本申请实施例提供的一种迁移数据验证方法。
另一种可能的实现方式中,存储器702也可以和处理器701集成在一起。
总线703,可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外围设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
需要指出的是,图8示出的结构并不构成对该电子设备70的限定。除图8所示部件之外,该电子设备70可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
作为一个示例,结合图7,电子设备中的获取单元1001和处理单元1002实现的功能与图8中的处理器701的功能相同。
可选的,如图8所示,本申请实施例提供的电子设备70还可以包括通信接口704。
通信接口704,用于与其他设备通过通信网络连接。该通信网络可以是以太网,无线接入网,无线局域网(wireless local area networks,WLAN)等。通信接口704可以包括用于接收数据的接收单元,以及用于发送数据的发送单元。
在一种设计中,本申请实施例提供的电子设备中,通信接口还可以集成在处理器中。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明。在实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当计算机执行该指令时,该计算机执行上述方法实施例所示的方法流程中的各个步骤。例如,计算机可读存储介质可以为包括指令的存储器702,上述指令可由计算机设备的处理器701执行以完成上述方法。可选地,计算机可读存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、RAM、CD-ROM、磁带、软盘和光数据存储设备等。
本申请的实施例提供一种包含指令的计算机程序产品,当指令在计算机上运行时,使得计算机执行上述方法实施例中的一种迁移数据验证方法。
其中,计算机可读存储介质,例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘。随机存取存储器(Random Access Memory,RAM)、只读存储器(Read-Only Memory,ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、寄存器、硬盘、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的人以合适的组合、或者本领域数值的任何其他形式的计算机可读存储介质。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于特定用途集成电路(Application Specific Integrated Circuit,ASIC)中。在本申请实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
由于本申请的实施例中的电子设备、计算机可读存储介质、计算机程序产品可以应用于上述方法,因此,其所能获得的技术效果也可参考上述方法实施例,本申请实施例在此不再赘述。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全分类部或者部分功能。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是一个物理单元或多个物理单元,即可以位于一个地方,或者也可以分布到多个不同地方。可以根据实际的需要选择其中的部分或者全分类部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全分类部或部分可以以软件产品的形式体现出来,该软件产品存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全分类部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何在本申请揭露的技术范围内的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种迁移数据验证方法,其特征在于,所述方法包括:
获取多个迁移文件;其中,每个迁移文件包括迁出信息和迁入信息,所述迁入信息为对所述迁出信息执行数据迁移得到的信息;
根据所述多个迁移文件的数据量和目标阈值,对所述多个迁移文件进行拆分得到多组拆分文件;其中,所述目标阈值用于指示电子设备处理数据的能力,所述多组拆分文件中的每组拆分文件中包括的迁移文件的数据量与目标阈值相对应;
获取所述多个迁移文件中每个迁移文件对应的接口字段定义;
对所述多组拆分文件中的每组拆分文件并行执行如下过程:根据所述拆分文件包括的迁移文件对应的接口字段定义,对所述拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成所述迁移文件的验证报告;所述迁移文件的验证报告用于指示所述迁移文件中迁出信息和迁入信息的一致性。
2.根据权利要求1所述的方法,其特征在于,所述根据所述拆分文件包括的迁移文件对应的接口字段定义,对所述拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成所述迁移文件的验证报告,包括:
基于数据迁移规则,对所述拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;所述数据迁移规则为所述多个迁移文件对应的数据迁移规则,所述数据处理包括以下至少一项:数据格式的转换、数据拆分、数据合并、数据分组、数据计算;
比对所述目标信息和所述拆分文件包括的迁移文件中的迁入信息之间的接口字段定义是否一致,并根据比对结果生成所述迁移文件的验证报告。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类;所述每个迁移文件对应的有效等价类还与每个迁移文件对应的接口字段定义相对应,所述公共类包括多个预先定义的正则表达式;
所述根据所述拆分文件包括的迁移文件对应的接口字段定义,对所述拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成所述迁移文件的验证报告之后,所述方法还包括:
基于每个迁移文件对应的有效等价类和所述多个迁移文件,通过目标算法对所述多个迁移文件进行抽样检测,得到抽样检测结果;所述抽样检测结果用于指示所述迁移文件的验证报告是否准确。
4.根据权利要求1所述的方法,其特征在于,所述获取所述多个迁移文件中每个迁移文件对应的接口字段定义,包括:
从一个迁移文件对应的接口数据源获取所述一个迁移文件对应的接口文本;所述接口文本包括所述一个迁移文件对应的接口字段定义,所述接口文本为以下任一项:excel、Swagger;
从所述接口文本中获取所述多个迁移文件中每个迁移文件对应的接口字段定义。
5.一种迁移数据验证装置,其特征在于,包括:获取单元和处理单元;
所述获取单元,用于获取多个迁移文件;其中,每个迁移文件包括迁出信息和迁入信息,所述迁入信息为对所述迁出信息执行数据迁移得到的信息;
所述处理单元,用于根据所述多个迁移文件的数据量和目标阈值,对所述多个迁移文件进行拆分得到多组拆分文件;其中,所述目标阈值用于指示电子设备处理数据的能力,所述多组拆分文件中的每组拆分文件中包括的迁移文件的数据量与目标阈值相对应;
所述获取单元,用于获取所述多个迁移文件中每个迁移文件对应的接口字段定义;
所述处理单元,用于对所述多组拆分文件中的每组拆分文件并行执行如下过程:根据所述拆分文件包括的迁移文件对应的接口字段定义,对所述拆分文件包括的迁移文件中的迁出信息和迁入信息进行比对,生成所述迁移文件的验证报告;所述迁移文件的验证报告用于指示所述迁移文件中迁出信息和迁入信息的一致性。
6.根据权利要求5所述的迁移数据验证装置,其特征在于,所述处理单元,用于基于数据迁移规则,对所述拆分文件包括的迁移文件中的迁出信息进行数据处理得到目标信息;所述数据迁移规则为所述多个迁移文件对应的数据迁移规则,所述数据处理包括以下至少一项:数据格式的转换、数据拆分、数据合并、数据分组、数据计算;
所述处理单元,用于比对所述目标信息和所述拆分文件包括的迁移文件中的迁入信息之间的接口字段定义是否一致,并根据比对结果生成所述迁移文件的验证报告。
7.根据权利要求5所述的迁移数据验证装置,其特征在于,所述处理单元,用于根据每个迁移文件对应的接口字段定义,通过抽取公共类生成每个迁移文件对应的有效等价类;所述每个迁移文件对应的有效等价类还与每个迁移文件对应的接口字段定义相对应,所述公共类包括多个预先定义的正则表达式;
所述处理单元,用于基于每个迁移文件对应的有效等价类和所述多个迁移文件,通过目标算法对所述多个迁移文件进行抽样检测,得到抽样检测结果;所述抽样检测结果用于指示所述迁移文件的验证报告是否准确。
8.根据权利要求5所述的迁移数据验证装置,其特征在于,所述获取单元,用于从一个迁移文件对应的接口数据源获取所述一个迁移文件对应的接口文本;所述接口文本包括所述一个迁移文件对应的接口字段定义,所述接口文本为以下任一项:excel、Swagger;
所述获取单元,用于从所述接口文本中获取所述多个迁移文件中每个迁移文件对应的接口字段定义。
9.一种电子设备,其特征在于,包括:处理器以及存储器;其中,所述存储器用于存储一个或多个程序,所述一个或多个程序包括计算机执行指令,当所述电子设备运行时,处理器执行所述存储器存储的所述计算机执行指令,以使所述电子设备执行权利要求1-4中任一项所述的一种迁移数据验证方法。
10.一种存储一个或多个程序的计算机可读存储介质,其特征在于,所述一个或多个程序包括指令,所述指令当被计算机执行时使所述计算机执行如权利要求1-4中任一项所述的一种迁移数据验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210499626.6A CN114942905A (zh) | 2022-05-09 | 2022-05-09 | 一种迁移数据验证方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210499626.6A CN114942905A (zh) | 2022-05-09 | 2022-05-09 | 一种迁移数据验证方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114942905A true CN114942905A (zh) | 2022-08-26 |
Family
ID=82906615
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210499626.6A Pending CN114942905A (zh) | 2022-05-09 | 2022-05-09 | 一种迁移数据验证方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114942905A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941712A (zh) * | 2022-12-08 | 2023-04-07 | 中国平安财产保险股份有限公司 | 报送数据的处理方法、装置、计算机设备及存储介质 |
-
2022
- 2022-05-09 CN CN202210499626.6A patent/CN114942905A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115941712A (zh) * | 2022-12-08 | 2023-04-07 | 中国平安财产保险股份有限公司 | 报送数据的处理方法、装置、计算机设备及存储介质 |
CN115941712B (zh) * | 2022-12-08 | 2024-04-26 | 中国平安财产保险股份有限公司 | 报送数据的处理方法、装置、计算机设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114116496A (zh) | 自动化测试方法、装置、设备及介质 | |
CN110046086B (zh) | 用于测试的期望数据生成方法及装置和电子设备 | |
CN111666201A (zh) | 回归测试方法、装置、介质及电子设备 | |
CN113190220A (zh) | Json文件差异化对比方法及装置 | |
CN110532180A (zh) | 一种测试数据的生成方法及装置 | |
CN111475494A (zh) | 一种海量数据处理方法、系统、终端及存储介质 | |
CN115357625A (zh) | 结构化数据比对方法、装置、电子设备及存储介质 | |
CN114942905A (zh) | 一种迁移数据验证方法、装置、设备和存储介质 | |
CN114185791A (zh) | 一种数据映射文件的测试方法、装置、设备及存储介质 | |
CN114116505A (zh) | 代码测试方法及装置 | |
CN116661758B (zh) | 一种优化日志框架配置的方法、装置、电子设备及介质 | |
CN112882956A (zh) | 一种通过数据组合计算自动生成全场景自动化测试案例的方法、装置、存储介质及电子设备 | |
CN112446601A (zh) | 不可算台区数据诊断方法及系统 | |
CN108345541A (zh) | 一种程序检测方法及系统 | |
CN110837469B (zh) | 数据测试方法和装置、测试服务器和存储介质 | |
CN113672512A (zh) | 代码检查规则生成方法、代码检查方法、装置、介质 | |
CN113238940A (zh) | 一种接口测试结果的比对方法、装置、设备和存储介质 | |
CN113342632A (zh) | 仿真数据自动化处理方法、装置、电子设备及存储介质 | |
CN113760747A (zh) | 软件测试方法、装置、设备、储存介质及程序产品 | |
CN112631905A (zh) | 执行过程数据管理方法、装置、计算机设备及存储介质 | |
CN111625455A (zh) | 一种程序测试方法、装置、设备和介质 | |
CN116383068B (zh) | 一种c++程序接口的快速测试方法、装置及存储介质 | |
CN118445214B (zh) | 基于代码文件修改的测例获取方法、装置、设备、介质及产品 | |
CN113778874A (zh) | 测试结果判别方法及测试结果判别装置 | |
CN115994081A (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 |