本发明涉及计算机
技术领域:
:,尤其涉及一种数据库迁移检测的方法、装置、电子设备及计算机可读存储介质。
背景技术:
::随着大数据时代的来临,数据库系统中存储的数据量越来越大,接入至各个系统的数据量也越来越大,在使用这些数据之前需要对数据进行数据库迁移检测。同时,由于业界对数据的质量要求逐渐增高,因此,数据库迁移检测也变得越来越重要。现有技术中,每次数据库迁移检测是都要重新编写规则脚本,数据库迁移检测效率低。技术实现要素:本发明提供一种数据库迁移检测方法、装置、电子设备及计算机可读存储介质,其主要目的在于提高数据库迁移检测的效率和质量。为实现上述目的,本发明提供的一种数据库迁移检测方法,包括所述方法包括数据迁移阶段和数据比对阶段;其中,所述数据迁移阶段包括:将预设测试用数据存入第一数据库中;通过所述第一数据库筛选所述测试用数据中数值为空的字段,并根据所述字段的数据格式填充与所述字段对应的模拟数值,形成新测试用数据;将所述新测试用数据迁移至所述第二数据库中,形成与所述新测试用数据对应的迁移数据;所述数据比对阶段包括:导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据;基于导出后的所述新测试用数据和所述迁移数据进行数据比对,确定所述新测试用数据和所述迁移数据之间的差异数据。可选地,根据所述字段的数据格式填充与所述字段对应的模拟数值的步骤包括:基于深度信念网络的不完全数据填充方式获取所述模拟数值;和/或,基于em和贝叶斯网络的丢失数据填充方式获取所述模拟数值。可选地,所述新测试数据存储在区块链中,所述导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据的步骤包括:将所述新测试用数据和所述迁移数据均导出为预设格式,以将导出后的所述新测试用数据和所述迁移数据中的字段统一转换为相同格式。可选地,所述基于导出后的所述新测试用数据和所述迁移数据进行数据比对的过程包括:通过tabletextcompare工具、bejson在线对比工具或bcompare文件对比工具对所述导出后的新测试用数据和所述迁移数据进行比对。可选地,所述第一数据库为oracle数据库,所述第二数据库为mongodb数据库。可选地,所述测试用数据包括字段、与所述字段对应的字段key和字段数值。可选地,所述确定所述新测试用数据和所述迁移数据之间的差异数据的步骤包括:当所述新测试用数据和所述迁移数据之间不存在差异数据时,确定所述数据库迁移检测结果合格;否则,当所述新测试用数据和所述迁移数据之间存在差异数据时,查找所述差异数据的位置并返回错误报告。为了解决上述问题,本发明还提供一种数据库迁移检测装置,所述装置包括:数据迁移模块和数据比对模块;其中,所述数据迁移模块包括:测试用数据存入单元,用于将预设测试用数据存入第一数据库中;新测试用数据形成单元,用于通过所述第一数据库筛选所述测试用数据中数值为空的字段,并根据所述字段的数据格式填充与所述字段对应的模拟数值,形成新测试用数据;迁移数据形成单元,用于将所述新测试用数据迁移至所述第二数据库中,形成与所述新测试用数据对应的迁移数据;所述数据比对模块包括:数据导出单元,用于导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据;差异数据确定单元,用于基于导出后的所述新测试用数据和所述迁移数据进行数据比对,确定所述新测试用数据和所述迁移数据之间的差异数据。为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:存储器,存储至少一个指令;及处理器,执行所述存储器中存储的指令以实现上述所述的数据库迁移检测方法中的步骤。为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个指令,所述至少一个指令被电子设备中的处理器执行以实现上述所述的数据库迁移检测方法中的步骤。本发明实施例自动筛选待测的数据中字段值为空的字段,并根据其字段格式,向其中填充相应格式的字段值,从而使后续迁入至mongodb数据库中的数据在理论上的字段个数与原数据库的数量相同,方便后续在比对时能够准确快速的识别出两个数据库之间的数据差异。通过上述特征,本发明能够快速根据不同的测试场景自动比对两个数据库间的数据准确性,采用的自动填充数据模型可以很快速的筛选出迁移表数据是否缺失,以及在不同节点的数据是否准确无误,测试效率及质量高。附图说明图1为本发明一实施例提供的数据库迁移检测方法的流程示意图;图2为本发明一实施例提供的数据库迁移检测装置的模块示意图;图3为本发明一实施例提供的实现数据库迁移检测方法的电子设备的内部结构示意图;本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。具体实施方式应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。本发明提供一种数据库迁移检测方法。参照图1所示,为本发明一实施例提供的数据库迁移检测方法的流程示意图。该方法可以由一个装置执行,该装置可以由软件和/或硬件实现。在本实施例中,数据库迁移检测方法包括:包括数据迁移阶段和数据比对阶段;其中,数据迁移阶段包括:s110:将预设测试用数据存入第一数据库中。其中,测试用数据包括字段、与字段对应的字段key和字段数值,各字段。例如,测试用数据中包括:姓名:张三,年龄:23,身份证号:123456789098765432,性别:男。在具体应用过程中,该测试用数据为向待迁移数据的业务部门所申请的数据,由于不同的部门所使用的字段不同,因而其提供的数据中会存在某些字段为空值的情况,后续需要对这些字段值为空的字段进行处理。s120:通过第一数据库筛选测试用数据中数值为空的字段,并根据字段的数据格式填充与字段对应的模拟数值,形成新测试用数据。其中,根据字段的数据格式填充与字段对应的模拟数值的步骤包括:基于深度信念网络的不完全数据填充方式获取模拟数值;和/或,基于em和贝叶斯网络的丢失数据填充方式获取模拟数值。具体地,根据字段的数据格式填充模拟数值时,可使用基于深度信念网络的不完全数据填充算法,用降噪的深度信念网络直接从不完全数据(或训练模型)中提取具有一定鲁棒性的特征,再用这些特征进行聚类,在每个聚类后的类内使用共现矩阵和部分距离策略对数据进行举手表决,最后将得分转换成权重进行加权填充,由此生成所需数据(数值为空的字段)相应的格式的数值。并将该数值导入至第一数据库中,使该第一数据库中所有字段均不为空(这一步是为了保证后续两个数据中的两份数据在没有代码缺陷的情况下是完全一样的)。此外,需要说明的是,也可以通过基于em和贝叶斯网络的丢失数据填充算法来实现,该算法利用朴素贝叶斯估计出em算法初值,然后将em和贝叶斯算法结合得到填充后的新测试用数据。s130:将新测试用数据迁移至第二数据库中,形成与新测试用数据对应的迁移数据。在该步骤中,数据的迁移可按照预设的迁移配置参数进行,经过上述各步骤处理后,新测试用数据中已不存在空值的字段,因此,新测试用数据迁移至第二数据库后,形成的迁移数据的数据量与新测试用数据的数据量理论上是相同的,这样能够方便后续的数据比对,从而发现数据在迁移过程中的异常问题。数据比对阶段包括:s140:导出位于第一数据库中的新测试用数据,以及导出位于第二数据库中的迁移数据。其中,新测试数据存储在区块链中,导出位于第一数据库中的新测试用数据,以及导出位于第二数据库中的迁移数据的步骤包括:将新测试用数据和迁移数据均导出为预设格式,以将导出后的新测试用数据和迁移数据中的字段统一转换为相同格式。例如,将字段名称中的大写字母均改为小写字母、将字段名称中的特殊字符删除等等。需要说明的是,导出格式或者转换后的相同格式可根据具体的应用场景进行设置,例如可将预设格式设置为csv格式等。需要强调的是,为进一步保证上述新测试用数据的私密和安全性,上述新测试用数据还可以存储于一区块链的节点中。s150:基于导出后的新测试用数据和迁移数据进行数据比对,确定新测试用数据和迁移数据之间的差异数据。具体地,基于导出后的新测试用数据和迁移数据进行数据比对的过程包括:通过tabletextcompare工具、bejson在线对比工具或bcompare文件对比工具对导出后的新测试用数据和迁移数据进行比对。其中,可通过上述各种工具比较制表符分隔或逗号分隔的csv文件,并找出两个文件之间的差异,输出其中不一致的数据。该步骤中是将步骤四中进行格式修改后的两个csv文件同时输入上述某一个对比工具中,通过对比工具对比数据的同时即可得到对比结论,显示差异数据。例如,字段名称不相同的,字段值不相同的,仅在某一数据库中存在的字段。若两个数据库中的数据相同,则证明该两个数据库之间迁移所做的配置参数无误,可直接使用其进行数据迁移工作。而存在数据不一致的情况时,则证明该配置存在问题,需进行针对性修改。可知,确定新测试用数据和迁移数据之间的差异数据的步骤包括:当新测试用数据和迁移数据之间不存在差异数据时,确定数据库迁移检测结果合格;否则,当新测试用数据和迁移数据之间存在差异数据时,查找差异数据的位置并返回错误报告,以便进行修改。在本发明的数据库迁移检测方法中,第一数据库可采用oracle数据库,第二数据库可采用mongodb数据库,可知,第一数据库和第二数据库并不限于oracle数据库和mongodb数据库这两种,需要进行数据迁移的两个目标数据库均可采用本发明的数据库迁移检测方法,进行数据迁移比对。作为具体示例,针对oracle数据库向mongodb数据库迁移后的数据对比的过程包括:先将mongodb数据库中的数据导出成csv格式,并使用数据库配置的模板字段信息(模板表在最初开发阶段都会以字段维度配置信息),将所有字段抽取补齐。此时只是将数据库中的字段补充完整,其中补充的字段是空值字段,因此后续还需将这部分空值字段进行赋值。其次,对文本中空值数据进行特定格式的填充。这里的特定格式是指根据该字段的数据类型,填充相应格式的数值,例如身份证号,即填充18位的身份证格式的数值。然后将填充的数据导入到mongodb数据库中,使mongodb库中包含初始开发阶段的全部字段,并且每个字段均由相应的值。然后,再打开向oracle数据库落数据的开关,使数据落到oracle数据库。也就是说,将上述不存在空值字段的mongodb库中的数据,按照预设的迁移配置参数迁移至oracle数据库中,这里预设的迁移配置参数也即待测试的配置参数,如果数据成功迁移,则表示配置参数符合要求,否则,需要更改数据迁移的配置参数信息。最后,即可将迁移后数据与原数据进行对比,从而验证预设的迁移配置是否存在错误。由此可知,本发明也可以进行mongodb数据库到oracle数据库的迁移测试验证工作,在测试过程中无疑会减少大部分的工作量节省很多测试时间且减少因为手动产生的误差。在本发明的另一具体实施例中,如图2所示,是本发明数据库迁移检测装置的功能模块图。本发明所述数据库迁移检测装置100可以安装于电子设备中。根据实现的功能,所述数据库迁移检测装置可以包括:数据迁移模块和数据比对模块;其中,所述数据迁移模块包括:测试用数据存入单元101、新测试用数据形成单元102、迁移数据形成单元103;所述数据比对模块包括:测试用数据存入单元,用于将预设测试用数据存入第一数据库中;数据导出单元104、差异数据确定单元105。本发所述模块或单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。在本实施例中,关于上述各模块/单元的功能如下:测试用数据存入单元101,用于将预设测试用数据存入第一数据库中。其中,在测试用数据存入单元101中,测试用数据包括字段、与字段对应的字段key和字段数值,各字段。例如,测试用数据中包括:姓名:张三,年龄:23,身份证号:123456789098765432,性别:男。在具体应用过程中,该测试用数据为向待迁移数据的业务部门所申请的数据,由于不同的部门所使用的字段不同,因而其提供的数据中会存在某些字段为空值的情况,后续需要对这些字段值为空的字段进行处理。新测试用数据形成单元102,用于通过所述第一数据库筛选所述测试用数据中数值为空的字段,并根据所述字段的数据格式填充与所述字段对应的模拟数值,形成新测试用数据。其中,根据字段的数据格式填充与字段对应的模拟数值的步骤包括:基于深度信念网络的不完全数据填充方式获取模拟数值;和/或,基于em和贝叶斯网络的丢失数据填充方式获取模拟数值。具体地,根据字段的数据格式填充模拟数值时,可使用基于深度信念网络的不完全数据填充算法,用降噪的深度信念网络直接从不完全数据(或训练模型)中提取具有一定鲁棒性的特征,再用这些特征进行聚类,在每个聚类后的类内使用共现矩阵和部分距离策略对数据进行举手表决,最后将得分转换成权重进行加权填充,由此生成所需数据(数值为空的字段)相应的格式的数值。并将该数值导入至第一数据库中,使该第一数据库中所有字段均不为空(这一步是为了保证后续两个数据中的两份数据在没有代码缺陷的情况下是完全一样的)。此外,需要说明的是,也可以通过基于em和贝叶斯网络的丢失数据填充算法来实现,该算法利用朴素贝叶斯估计出em算法初值,然后将em和贝叶斯算法结合得到填充后的新测试用数据。迁移数据形成单元103,用于将所述新测试用数据迁移至所述第二数据库中,形成与所述新测试用数据对应的迁移数据。在该单元103中,数据的迁移可按照预设的迁移配置参数进行,经过上述各步骤处理后,新测试用数据中已不存在空值的字段,因此,新测试用数据迁移至第二数据库后,形成的迁移数据的数据量与新测试用数据的数据量理论上是相同的,这样能够方便后续的数据比对,从而发现数据在迁移过程中的异常问题。所述数据比对模块包括:数据导出单元104,用于导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据。其中,新测试数据存储在区块链中,导出位于第一数据库中的新测试用数据,以及导出位于第二数据库中的迁移数据的步骤包括:将新测试用数据和迁移数据均导出为预设格式,以将导出后的新测试用数据和迁移数据中的字段统一转换为相同格式。例如,将字段名称中的大写字母均改为小写字母、将字段名称中的特殊字符删除等等。需要说明的是,导出格式或者转换后的相同格式可根据具体的应用场景进行设置,例如可将预设格式设置为csv格式等。需要强调的是,为进一步保证上述新测试用数据的私密和安全性,上述新测试用数据还可以存储于一区块链的节点中。差异数据确定单元105,用于基于导出后的所述新测试用数据和所述迁移数据进行数据比对,确定所述新测试用数据和所述迁移数据之间的差异数据。具体地,基于导出后的新测试用数据和迁移数据进行数据比对的过程包括:通过tabletextcompare工具、bejson在线对比工具或bcompare文件对比工具对导出后的新测试用数据和迁移数据进行比对。其中,可通过上述各种工具比较制表符分隔或逗号分隔的csv文件,并找出两个文件之间的差异,输出其中不一致的数据。该步骤中是将步骤四中进行格式修改后的两个csv文件同时输入上述某一个对比工具中,通过对比工具对比数据的同时即可得到对比结论,显示差异数据。例如,字段名称不相同的,字段值不相同的,仅在某一数据库中存在的字段。若两个数据库中的数据相同,则证明该两个数据库之间迁移所做的配置参数无误,可直接使用其进行数据迁移工作。而存在数据不一致的情况时,则证明该配置存在问题,需进行针对性修改。可知,确定新测试用数据和迁移数据之间的差异数据的步骤包括:当新测试用数据和迁移数据之间不存在差异数据时,确定数据库迁移检测结果合格;否则,当新测试用数据和迁移数据之间存在差异数据时,查找差异数据的位置并返回错误报告,以便进行修改。在本发明的数据库迁移检测方法中,第一数据库可采用oracle数据库,第二数据库可采用mongodb数据库,可知,第一数据库和第二数据库并不限于oracle数据库和mongodb数据库这两种,需要进行数据迁移的两个目标数据库均可采用本发明的数据库迁移检测方法,进行数据迁移比对。作为具体示例,针对oracle数据库向mongodb数据库迁移后的数据对比的过程包括:先将mongodb数据库中的数据导出成csv格式,并使用数据库配置的模板字段信息(模板表在最初开发阶段都会以字段维度配置信息),将所有字段抽取补齐。此时只是将数据库中的字段补充完整,其中补充的字段是空值字段,因此后续还需将这部分空值字段进行赋值。其次,对文本中空值数据进行特定格式的填充。这里的特定格式是指根据该字段的数据类型,填充相应格式的数值,例如身份证号,即填充18位的身份证格式的数值。然后将填充的数据导入到mongodb数据库中,使mongodb库中包含初始开发阶段的全部字段,并且每个字段均由相应的值。然后,再打开向oracle数据库落数据的开关,使数据落到oracle数据库。也就是说,将上述不存在空值字段的mongodb库中的数据,按照预设的迁移配置参数迁移至oracle数据库中,这里预设的迁移配置参数也即待测试的配置参数,如果数据成功迁移,则表示配置参数符合要求,否则,需要更改数据迁移的配置参数信息。最后,即可将迁移后数据与原数据进行对比,从而验证预设的迁移配置是否存在错误。如图3所示,是本发明实现数据库迁移检测方法的电子设备结构示意图。所述电子设备1可以包括处理器10、存储器11和总线,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如数据库迁移检测程序12。其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备1的内部存储单元,例如该电子设备1的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备1的外部存储设备,例如电子设备1上配备的插接式移动硬盘、智能存储卡(smartmediacard,smc)、安全数字(securedigital,sd)卡、闪存卡(flashcard)等。进一步地,所述存储器11还可以既包括电子设备1的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备1的应用软件及各类数据,例如数据库迁移检测程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(centralprocessingunit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(controlunit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如数据库迁移检测程序等),以及调用存储在所述存储器11内的数据,以执行电子设备1的各种功能和处理数据。所述总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。所述总线被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。图3仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图2示出的结构并不构成对所述电子设备1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。例如,尽管未示出,所述电子设备1还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备1还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘述。进一步地,所述电子设备1还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备1与其他电子设备之间建立通信连接。可选地,该电子设备1还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organiclight-emittingdiode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备1中处理的信息以及用于显示可视化的用户界面。应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。所述电子设备1中的所述存储器11存储的数据库迁移检测程序12是多个指令的组合,在所述处理器10中运行时,可以实现:数据迁移阶段和数据比对阶段;其中,所述数据迁移阶段包括:将预设测试用数据存入第一数据库中;通过所述第一数据库筛选所述测试用数据中数值为空的字段,并根据所述字段的数据格式填充与所述字段对应的模拟数值,形成新测试用数据;将所述新测试用数据迁移至所述第二数据库中,形成与所述新测试用数据对应的迁移数据;所述数据比对阶段包括:导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据;基于导出后的所述新测试用数据和所述迁移数据进行数据比对,确定所述新测试用数据和所述迁移数据之间的差异数据。可选地,根据所述字段的数据格式填充与所述字段对应的模拟数值的步骤包括:基于深度信念网络的不完全数据填充方式获取所述模拟数值;和/或,基于em和贝叶斯网络的丢失数据填充方式获取所述模拟数值。可选地,所述新测试数据存储在区块链中,所述导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据的步骤包括:将所述新测试用数据和所述迁移数据均导出为预设格式,以将导出后的所述新测试用数据和所述迁移数据中的字段统一转换为相同格式。可选地,所述基于导出后的所述新测试用数据和所述迁移数据进行数据比对的过程包括:通过tabletextcompare工具、bejson在线对比工具或bcompare文件对比工具对所述导出后的新测试用数据和所述迁移数据进行比对。可选地,所述第一数据库为oracle数据库,所述第二数据库为mongodb数据库。可选地,所述测试用数据包括字段、与所述字段对应的字段key和字段数值。可选地,所述确定所述新测试用数据和所述迁移数据之间的差异数据的步骤包括:当所述新测试用数据和所述迁移数据之间不存在差异数据时,确定所述数据库迁移检测结果合格;否则,当所述新测试用数据和所述迁移数据之间存在差异数据时,查找所述差异数据的位置并返回错误报告。具体地,所述处理器10对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。需要强调的是,为进一步保证上述新检测用数据的私密和安全性,上述新检测用数据还可以存储于一区块链的节点中。进一步地,所述电子设备1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-onlymemory)。在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。当前第1页1 2 3 当前第1页1 2 3 
技术特征:1.一种数据库迁移检测方法,其特征在于,所述方法包括数据迁移阶段和数据比对阶段;其中,
所述数据迁移阶段包括:
将预设测试用数据存入第一数据库中;
通过所述第一数据库筛选所述测试用数据中数值为空的字段,并根据所述字段的数据格式填充与所述字段对应的模拟数值,形成新测试用数据;
将所述新测试用数据迁移至所述第二数据库中,形成与所述新测试用数据对应的迁移数据;
所述数据比对阶段包括:
导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据;
基于导出后的所述新测试用数据和所述迁移数据进行数据比对,确定所述新测试用数据和所述迁移数据之间的差异数据。
2.如权利要求1所述的数据库迁移检测方法,其特征在于,根据所述字段的数据格式填充与所述字段对应的模拟数值的步骤包括:
基于深度信念网络的不完全数据填充方式获取所述模拟数值;和/或,
基于em和贝叶斯网络的丢失数据填充方式获取所述模拟数值。
3.如权利要求1所述的数据库迁移检测方法,其特征在于,所述新测试数据存储在区块链中,所述导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据的步骤包括:
将所述新测试用数据和所述迁移数据均导出为预设格式,以将导出后的所述新测试用数据和所述迁移数据中的字段统一转换为相同格式。
4.如权利要求1所述的数据库迁移检测方法,其特征在于,所述基于导出后的所述新测试用数据和所述迁移数据进行数据比对的过程包括:
通过tabletextcompare工具、bejson在线对比工具或bcompare文件对比工具对所述导出后的新测试用数据和所述迁移数据进行比对。
5.如权利要求1所述的数据库迁移检测方法,其特征在于,
所述第一数据库为oracle数据库,所述第二数据库为mongodb数据库。
6.如权利要求1所述的数据库迁移检测方法,其特征在于,
所述测试用数据包括字段、与所述字段对应的字段key和字段数值。
7.如权利要求1所述的数据库迁移检测方法,其特征在于,所述确定所述新测试用数据和所述迁移数据之间的差异数据的步骤包括:
当所述新测试用数据和所述迁移数据之间不存在差异数据时,确定所述数据库迁移检测结果合格;否则,
当所述新测试用数据和所述迁移数据之间存在差异数据时,查找所述差异数据的位置并返回错误报告。
8.一种数据库迁移检测装置,其特征在于,所述装置包括:数据迁移模块和数据比对模块;其中,
所述数据迁移模块包括:
测试用数据存入单元,用于将预设测试用数据存入第一数据库中;
新测试用数据形成单元,用于通过所述第一数据库筛选所述测试用数据中数值为空的字段,并根据所述字段的数据格式填充与所述字段对应的模拟数值,形成新测试用数据;
迁移数据形成单元,用于将所述新测试用数据迁移至所述第二数据库中,形成与所述新测试用数据对应的迁移数据;
所述数据比对模块包括:
数据导出单元,用于导出位于所述第一数据库中的新测试用数据,以及导出位于所述第二数据库中的迁移数据;
差异数据确定单元,用于基于导出后的所述新测试用数据和所述迁移数据进行数据比对,确定所述新测试用数据和所述迁移数据之间的差异数据。
9.一种电子设备,其特征在于,所述电子设备包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至7中任一所述的数据库迁移检测方法中的步骤。
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一所述的数据库迁移检测方法中的步骤。
技术总结本发明涉及计算机技术领域,揭露一种数据库迁移检测方法,包括:数据迁移阶段和数据比对阶段;其中,数据迁移阶段包括:将预设测试用数据存入第一数据库中;通过第一数据库筛选测试用数据中数值为空的字段,并填充与字段对应的模拟数值,形成新测试用数据;将新测试用数据迁移至第二数据库中,形成与新测试用数据对应的迁移数据;数据比对阶段包括:导出位于第一数据库中的新测试用数据,以及导出位于第二数据库中的迁移数据;基于导出后的新测试用数据和迁移数据进行数据比对,确定新测试用数据和迁移数据之间的差异数据。本发明还涉及区块链技术,测试用数据存储于区块链中。本发明可以提高数据库迁移检测的效率和准确度。
技术研发人员:黄妙婕
受保护的技术使用者:平安普惠企业管理有限公司
技术研发日:2020.12.16
技术公布日:2021.03.12