一种自动化数据对比方法及装置、电子设备与流程

文档序号:18301876发布日期:2019-07-31 10:15阅读:339来源:国知局
一种自动化数据对比方法及装置、电子设备与流程

本发明涉及数据同步技术领域,特别涉及一种自动化数据对比方法及装置、电子设备。



背景技术:

日常工作中,通常会将同一份数据发送给不同的处理方,并存储至不同的数据库中。例如,分公司系统将销售订单上传至总公司系统,以存储到总公司系统的数据库中,同时也会在自身的数据库中存储有上述销售订单。因此,为了保证数据的一致性,往往需要对这些内容近似、来源于不同数据库的数据进行对比分析,从而发现和纠正其中的错误。基于此需求,数据对比工具应运而生,并且能够提取出对比数据之间的不同之处。

目前市面上的数据对比工具,例如excel,需要人工在数据库中查询数据,并按照固定的格式手动地将查询得到的对比数据粘贴进excel软件,以进行数据对比。可见,当应用于大数据量的数据对比时,这种方式十分消耗人力。



技术实现要素:

为了解决相关技术中存在的人力消耗大的问题,本发明提供了一种自动化数据对比方法及装置、电子设备。

本发明实施例第一方面公开了一种自动化数据对比方法,所述方法包括:

接收用户输入的第一数据库检索指令和第二数据库检索指令;其中,所述第一数据库检索指令用于从第一数据库中提取出第一对比数据,所述第二数据库检索指令用于从第二数据库中提取出第二对比数据;

根据所述第一数据库检索指令从所述第一数据库中提取出所述第一对比数据;

以及,根据所述第二数据库检索指令从所述第二数据库中提取出所述第二对比数据;

分析所述第一对比数据和所述第二对比数据之间的差异信息;

根据分析得到的所述差异信息生成对比结果。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述接收用户输入的第一数据库检索指令和第二数据库检索指令之后,所述方法还包括:

从所述第一数据库检索指令中提取出第一数据库名称;

以及,从所述第二数据库检索指令中提取出第二数据库名称;

判断自动化数据对比装置是否与对应于所述第一数据库名称的所述第一数据库建立连接;

以及,判断所述自动化数据对比装置是否与对应于所述第二数据库名称的所述第二数据库建立连接;

若所述自动化数据对比装置与所述第一数据库建立连接,并且所述自动化数据对比装置与所述第二数据库建立连接,执行所述根据所述第一数据库检索指令从所述第一数据库中提取出所述第一对比数据的步骤;

若所述自动化数据对比装置与所述第一数据库未能建立连接,或者所述自动化数据对比装置与所述第二数据库未能建立连接,返回指示连接失败的提示信息。

作为一种可选的实施方式,在本发明实施例第一方面中,所述第一数据库为hbase数据库,所述第二数据库为oracle数据库;所述根据所述第一数据库检索指令从所述第一数据库中提取出所述第一对比数据,包括:

从所述第一数据库检索指令中提取出第一数据表名和第一列名;

从所述第一数据库中导出与所述第一数据表名对应的第一数据表;

从所述第一数据表中提取出与所述第一列名对应的第一对比数据;

所述根据所述第二数据库检索指令从所述第二数据库中提取出所述第二对比数据,包括:

从所述第二数据库检索指令中提取出第二数据表名和第二列名;

从所述第二数据库中导出与所述第二数据表名对应的第二数据表;

从所述第二数据表中提取出与所述第二列名对应的第二对比数据。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述从所述第一数据表中提取出与所述第一列名对应的第一对比数据,以及从所述第二数据表中提取出与所述第二列名对应的第二对比数据之后,所述方法还包括:

判断所述第一列名和所述第二列名是否一致;

若判定出所述第一列名和所述第二列名一致,执行所述分析所述第一对比数据和所述第二对比数据之间的差异信息的步骤;若判定出所述第一列名和所述第二列名不一致,返回指示数据库检索指令有误的所述提示信息。

作为一种可选的实施方式,在本发明实施例第一方面中,在所述判定出所述第一列名和所述第二列名一致之后,以及在所述分析所述第一对比数据和所述第二对比数据之间的差异信息之前,所述方法还包括:

针对所述第一对比数据所包含的任一第一行名,从所述第一对比数据中提取出对应于所述第一行名的值;

将所述第一行名和所述对应于所述第一行名的值添加到第一对比列表;

以及,针对所述第二对比数据所包含的任一第二行名,从所述第二对比数据中提取出对应于所述第二行名的值;

将所述第二行名和所述对应于所述第二行名的值添加到第二对比列表。

作为一种可选的实施方式,在本发明实施例第一方面中,所述分析所述第一对比数据和所述第二对比数据之间的差异信息,包括:

从所述第一对比列表中提取出第一行名列表;

以及,从所述第二对比列表中提取出第二行名列表;

若所述第一行名列表的第一元素个数大于所述第二行名列表的第二元素个数,将所述第一行名列表作为目标遍历列表;若所述第一元素个数小于或等于所述第二元素个数,将所述第二行名列表作为目标遍历列表;

针对所述目标遍历列表的任一目标行名,判断所述第一对比列表中对应于所述目标行名的第一目标值是否与所述第二对比列表中对应于所述目标行名的第二目标值相同;

若不相同,将所述目标行名、所述第一目标值和所述第二目标值添加至差异信息列表中,以获得所述差异信息列表的所有信息作为所述第一对比数据与所述第二对比数据之间的差异信息。

作为一种可选的实施方式,在本发明实施例第一方面中,所述方法还包括:

针对所述目标遍历列表的任一目标行名,若在所述第一对比列表或者所述第二对比列表中不存在所述目标行名,将所述目标行名添加至所述差异信息列表中,以获得所述差异信息列表的所有信息作为所述第一对比数据与所述第二对比数据之间的差异信息。

本发明实施例第二方面公开了一种自动化数据对比装置,所述装置包括:

接收单元,用于接收用户输入的第一数据库检索指令和第二数据库检索指令;其中,所述第一数据库检索指令用于从第一数据库中提取出第一对比数据,所述第二数据库检索指令用于从第二数据库中提取出第二对比数据;

提取单元,用于根据所述第一数据库检索指令从所述第一数据库中提取出所述第一对比数据;以及,根据所述第二数据库检索指令从所述第二数据库中提取出所述第二对比数据;

分析单元,用于分析所述第一对比数据和所述第二对比数据之间的差异信息;

生成单元,用于根据分析得到的所述差异信息生成对比结果。

本发明实施例第三方面公开了一种电子设备,所述电子设备包括:

处理器;

存储器,所述存储器上存储有计算机可读指令,所述计算机可读指令被所述处理器执行时,实现本发明实施例第一方面公开的自动化数据对比方法。

本发明实施例第四方面公开了一种计算机可读存储介质,其存储计算机程序,所述计算机程序使得计算机执行本发明实施例第一方面公开的自动化数据对比方法。

本发明的实施例提供的技术方案可以包括以下有益效果:

本发明所提供的自动化数据对比方法包括如下步骤:接收用户输入的第一数据库检索指令和第二数据库检索指令;其中,第一数据库检索指令用于从第一数据库中提取出第一对比数据,第二数据库检索指令用于从第二数据库中提取出第二对比数据;根据第一数据库检索指令从第一数据库中提取出第一对比数据;根据第二数据库检索指令从第二数据库中提取出第二对比数据;分析第一对比数据和第二对比数据之间的差异信息,并根据分析得到的差异信息生成对比结果。

此方法下,通过接收用户输入的数据库检索指令,能够根据数据库检索指令自动地从数据库中提取出检索的对比数据,极大地减少了人工的工作量;此外,还能够自动地对来源于第一数据库的第一对比数据和来源于第二数据库的第二对比数据进行对比,并输出第一对比数据和第二对比数据之间的差异信息,解决了因数据库的数据输出格式不兼容导致的对比出错问题,提高了数据对比的智能化程度以及准确性,同时也减少了人工干预,从而提升数据对比的效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并于说明书一起用于解释本发明的原理。

图1是本发明实施例公开的一种装置的结构示意图;

图2是本发明实施例公开的一种自动化数据对比方法的流程图;

图3是本发明实施例公开的另一种自动化数据对比方法的流程图;

图4是本发明实施例公开的一种自动化数据对比装置的结构示意图;

图5是本发明实施例公开的另一种自动化数据对比装置的结构示意图。

具体实施方式

这里将详细地对示例性实施例执行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。

实施例一

本发明的实施环境可以是电子设备,例如智能手机、平板电脑、台式电脑。

图1是本发明实施例公开的一种装置的结构示意图。装置100可以是上述电子设备。如图1所示,装置100可以包括以下一个或多个组件:处理组件102,存储器104,电源组件106,多媒体组件108,音频组件110,传感器组件114以及通信组件116。

处理组件102通常控制装置100的整体操作,诸如与显示,电话呼叫,数据通信,相机操作以及记录操作相关联的操作等。处理组件102可以包括一个或多个处理器118来执行指令,以完成下述的方法的全部或部分步骤。此外,处理组件102可以包括一个或多个模块,用于便于处理组件102和其他组件之间的交互。例如,处理组件102可以包括多媒体模块,用于以方便多媒体组件108和处理组件102之间的交互。

存储器104被配置为存储各种类型的数据以支持在装置100的操作。这些数据的示例包括用于在装置100上操作的任何应用程序或方法的指令。存储器104可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammablereadonlymemory,简称eprom),可编程只读存储器(programmablered-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。存储器104中还存储有一个或多个模块,用于该一个或多个模块被配置成由该一个或多个处理器118执行,以完成如下所示方法中的全部或者部分步骤。

电源组件106为装置100的各种组件提供电力。电源组件106可以包括电源管理系统,一个或多个电源,及其他与为装置100生成、管理和分配电力相关联的组件。

多媒体组件108包括在装置100和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(liquidcrystaldisplay,简称lcd)和触摸面板。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与触摸或滑动操作相关的持续时间和压力。屏幕还可以包括有机电致发光显示器(organiclightemittingdisplay,简称oled)。

音频组件110被配置为输出和/或输入音频信号。例如,音频组件110包括一个麦克风(microphone,简称mic),当装置100处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器104或经由通信组件116发送。在一些实施例中,音频组件110还包括一个扬声器,用于输出音频信号。

传感器组件114包括一个或多个传感器,用于为装置100提供各个方面的状态评估。例如,传感器组件114可以检测到装置100的打开/关闭状态,组件的相对定位,传感器组件114还可以检测装置100或装置100一个组件的位置改变以及装置100的温度变化。在一些实施例中,该传感器组件114还可以包括磁传感器,压力传感器或温度传感器。

通信组件116被配置为便于装置100和其他设备之间有线或无线方式的通信。装置100可以接入基于通信标准的无线网络,如wifi(wireless-fidelity,无线保真)。在本发明实施例中,通信组件116经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在本发明实施例中,通信组件116还包括近场通信(nearfieldcommunication,简称nfc)模块,用于以促进短程通信。例如,在nfc模块可基于射频识别(radiofrequencyidentification,简称rfid)技术,红外数据协会(infrareddataassociation,简称irda)技术,超宽带(ultrawideband,简称uwb)技术,蓝牙技术和其他技术来实现。

在示例性实施例中,装置100可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。

实施例二

请参阅图2,图2是本发明实施例公开的一种自动化数据对比方法的流程示意图。如图2所示该自动化数据对比方法可以包括以下步骤:

201、接收用户输入的第一数据库检索指令和第二数据库检索指令;其中,第一数据库检索指令用于从第一数据库中提取出第一对比数据,第二数据库检索指令用于从第二数据库中提取出第二对比数据。

本发明实施例可以应用于自动化数据对比装置或者电子设备,对此不作具体限定。

本发明实施例中,第一数据库可以为hbase数据库,第二数据库可以为oracle数据库。hbase数据库和oracle数据库都属于关系型数据库,由多张能互相联接的二维行列表格组成。oracle数据库为行式数据库,以行为单位将数据写入数据块中,在读取指定列时,需要将整个数据块读入内存,再通过遍历若干行数据,才能读取出指定列的内容;而hbase数据库为列式数据库,以列作为元素存储,在读取指定列时,只需要将存放有指定列的列块读入内存,便可以读取到指定列的内容。可见,hbase数据库和oracle数据库的数据存储与输出格式都不相同,hbase数据库适用于大规模、高并发数据查询,而oracle数据库适用于复杂查询,以及增删查改操作。

作为一种可选的实施方式,步骤201可以包括以下步骤:

接受用户输入的第一数据库名称、第一数据表名和第一列名,以及第二数据库名称、第二数据表名和第二列名;

根据第一数据库名称、第一数据表名和第一列名,生成与第一数据库的类型相匹配的第一数据库检索指令;以及,根据第二数据库名称、第二数据表名和第二列名,生成与第二数据库的类型相匹配的第二数据库检索指令。

举例来说,用户欲对分别存储在数据库a和数据库b中的新入职员工表的员工id信息进行对比,那么在相应的自动化数据对比装置的交互页面,用户只需要针对第一数据输入区域输入(或者通过列表选择)数据库a-新入职员工表名-员工id,以及在第二数据输入区域输入数据库b-新入职员工表名-员工id,即可由自动化数据对比装置自动生成数据库检索指令,以从不同的数据库中提取出对比数据。

进一步地,用户也可以只输入第一数据库名称、第一数据表名、第二数据库名称和第二数据表名,此时默认对第一数据表和第二数据表中所有对应于相同列名的数据进行对比,获得第一数据表和第二数据表的对比结果。

202、根据第一数据库检索指令从第一数据库中提取出第一对比数据,以及,根据第二数据库检索指令从第二数据库中提取出第二对比数据。

203、分析第一对比数据和第二对比数据之间的差异信息。

204、根据分析得到的差异信息生成对比结果。

本发明实施例中,差异信息可以包括第一对比数据和第二对比数据之间针对同一列名的不同行数据(包括缺少的行名以及对应同一行名的不同值),并以可视化图表的形式生成对比结果,以展示给用户。

可见,实施图2所描述的方法,通过接收用户输入的数据库检索指令,能够根据数据库检索指令自动地从数据库中提取出检索的对比数据,极大地减少了人工的工作量;此外,还能够自动地对来源于第一数据库的第一对比数据和来源于第二数据库的第二对比数据进行对比,并输出第一对比数据和第二对比数据之间的差异信息,解决了因数据库的数据输出格式不兼容导致的对比出错问题,提高了数据对比的智能化程度以及准确性,同时也减少了人工干预,从而提升数据对比的效率。

实施例三

请参阅图3,图3是本发明实施例公开的另一种自动化数据对比方法的流程示意图。如图3所示,该自动化数据对比方法可以包括以下步骤:

301、接收用户输入的第一数据库检索指令和第二数据库检索指令;其中,第一数据库检索指令用于从第一数据库中提取出第一对比数据,第二数据库检索指令用于从第二数据库中提取出第二对比数据。

302、从第一数据库检索指令中提取出第一数据库名称,以及,从第二数据库检索指令中提取出第二数据库名称。

303、判断自动化数据对比装置是否与对应于第一数据库名称的第一数据库建立连接;以及,判断自动化数据对比装置是否与对应于第二数据库名称的第二数据库建立连接;若自动化数据对比装置与第一数据库建立连接,并且自动化数据对比装置与第二数据库建立连接,执行步骤305~步骤307;否则,执行步骤304。

304、返回指示连接失败的提示信息。

可见,实施上述步骤302~步骤304,通过确保自动化数据对比装置与第一数据库和第二数据库都正常建立连接,能够避免因连接失败浪费不必要的等待时间,保证检索对比数据的进程正常进行。

305、根据第一数据库检索指令从第一数据库中提取出第一对比数据,以及,根据第二数据库检索指令从第二数据库中提取出第二对比数据。

作为一种可选的实施方式,根据第一数据库检索指令从第一数据库中提取出第一对比数据,具体包括以下步骤:

从第一数据库检索指令中提取出第一数据表名和第一列名;

从第一数据库中导出与第一数据表名对应的第一数据表;

从第一数据表中提取出与第一列名对应的第一对比数据。

以及,根据第二数据库检索指令从第二数据库中提取出第二对比数据,具体包括以下步骤:

从第二数据库检索指令中提取出第二数据表名和第二列名;

从第二数据库中导出与第二数据表名对应的第二数据表;

从第二数据表中提取出与第二列名对应的第二对比数据。

进一步地,作为一种可选的实施方式,在从第一数据表中提取出与第一列名对应的第一对比数据,以及从第二数据表中提取出与第二列名对应的第二对比数据之后,还可以包括以下步骤:

判断第一列名和第二列名是否一致;

若判定出第一列名和第二列名一致,执行分析第一对比数据和第二对比数据之间的差异信息的步骤;若判定出第一列名和第二列名不一致,返回指示数据库检索指令有误的提示信息。

可见,通过从第一数据表和第二数据表中分别提取出对应于相同列名的对比数据,能够实现对第一数据表和第二数据表进行精准到字段和值的对比。

再进一步地,在判定出第一列名和第二列名一致之后,以及在分析第一对比数据和第二对比数据之间的差异信息之前,还可以包括:

针对第一对比数据所包含的任一第一行名,从第一对比数据中提取出对应于第一行名的值;

将第一行名和对应于第一行名的值添加到第一对比列表;

以及,针对第二对比数据所包含的任一第二行名,从第二对比数据中提取出对应于第二行名的值;

将第二行名和对应于第二行名的值添加到第二对比列表。

可以理解,由于第一数据库(hbase数据库)为列式数据库,而第二数据库(oracle数据库)为行式数据库,二者的数据输出格式不同,为了保证数据对比的准确性,在进行数据对比之前,需要统一第一对比数据和第二对比数据的格式为二维行列表,该二维行列表用于存放第一/第二对比数据包括的所有行名、所有列名以及对应于特定行、列名的值。可见,通过统一第一对比数据和第二对比数据的格式,能够解决对比数据的输出格式不兼容问题,降低对比出错率。

306、分析第一对比数据和第二对比数据之间的差异信息。

作为一种可选的实施方式,在对第一对比数据和第二对比数据进行统一格式化,并获得第一对比列表和第二对比列表之后,步骤306具体包括:

从第一对比列表中提取出第一行名列表;

以及,从第二对比列表中提取出第二行名列表;

若第一行名列表的第一元素个数大于第二行名列表的第二元素个数,将第一行名列表作为目标遍历列表;若第一元素个数小于或等于第二元素个数,将第二行名列表作为目标遍历列表;

针对目标遍历列表的任一目标行名,判断第一对比列表中对应于目标行名的第一目标值是否与第二对比列表中对应于目标行名的第二目标值相同;

若不相同,将目标行名、第一目标值和第二目标值添加至差异信息列表中,以获得差异信息列表的所有信息作为第一对比数据与第二对比数据之间的差异信息。

可见,在确定需要对比的字段(列)之后,需要针对第一对比列表和第二对比列表中分别对应于同一目标行名的第一目标值和第二目标值进行匹配。通过从第一行名列表和第二行名列表中挑选出包含更多元素(行名)个数的行名列表,并将其作为目标遍历列表,能够使得第一对比列表和第二对比列表中所有行名均被遍历,保证数据对比的完整性。

进一步可选的,本方案还包括:

针对目标遍历列表的任一目标行名,若在第一对比列表或者第二对比列表中不存在目标行名,将目标行名添加至差异信息列表中,以获得差异信息列表的所有信息作为第一对比数据与第二对比数据之间的差异信息。

可见,实施可选的实施方式,能够通过遍历目标遍历列表中所有行名,获取第一/第二对比列表中非共有的行名,并将其作为第一对比数据和第二对比数据的差异点。

307、根据分析得到的差异信息生成对比结果。

作为一种可选的实施方式,在接收用户输入的第一数据库检索指令和第二数据库检索指令之前,可以提供用户登录界面,接受当前用户输入的账号信息,以验证当前用户是否具有操作权限;并且,在确定当前用户具有操作权限时,执行接收用户输入的第一数据库检索指令和第二数据库检索指令的步骤。

进一步地,在生成对比结果之后,还可以自动将生成的对比结果发送给绑定邮箱或绑定终端,以告知相关处理人员当前用户通过自动化数据对比装置执行数据读取和对比操作的具体情况以及获得的数据对比结果。可见,这样能够监测数据对比操作的合法性,以及快速地将对比结果通知给相关处理人员。

可见,实施图3所描述的方法,通过接收用户输入的数据库检索指令,能够根据数据库检索指令自动地从数据库中提取出检索的对比数据,极大地减少了人工的工作量;此外,还能够自动地对来源于第一数据库的第一对比数据和来源于第二数据库的第二对比数据进行对比,并输出第一对比数据和第二对比数据之间的差异信息,解决了因数据库的数据输出格式不兼容导致的对比出错问题,提高了数据对比的智能化程度以及准确性,同时也减少了人工干预,从而提升数据对比的效率;此外,通过确保自动化数据对比装置与第一数据库和第二数据库都正常建立连接,能够避免因连接失败浪费不必要的等待时间,保证检索对比数据的进程正常进行;并且,通过从第一数据表和第二数据表中分别提取出对应于相同列名的对比数据,能够实现对第一数据表和第二数据表进行精准到字段和值的对比;进一步地,通过统一第一对比数据和第二对比数据的格式,能够解决对比数据的输出格式不兼容问题,降低对比出错率;再进一步地,通过从第一行名列表和第二行名列表中挑选出包含更多元素(行名)个数的行名列表,并将其作为目标遍历列表,能够使得第一对比列表和第二对比列表中所有行名均被遍历,保证数据对比的完整性,还能够获取第一/第二对比列表中非共有的行名,并将其作为第一对比数据和第二对比数据的差异点。

实施例四

请参阅图4,图4是本发明实施例公开的一种自动化数据对比装置的结构示意图。如图4所示,该自动化数据对比装置可以包括:接收单元401、提取单元402、分析单元403和生成单元404,其中,

接收单元401,用于接收用户输入的第一数据库检索指令和第二数据库检索指令;其中,第一数据库检索指令用于从第一数据库中提取出第一对比数据,第二数据库检索指令用于从第二数据库中提取出第二对比数据。

作为一种可选的实施方式,接收单元401,具体用于接受用户输入的第一数据库名称、第一数据表名和第一列名,以及第二数据库名称、第二数据表名和第二列名;以及,根据第一数据库名称、第一数据表名和第一列名,生成与第一数据库的类型相匹配的第一数据库检索指令;以及,根据第二数据库名称、第二数据表名和第二列名,生成与第二数据库的类型相匹配的第二数据库检索指令。

举例来说,用户欲对分别存储在数据库a和数据库b中的新入职员工表的员工id信息进行对比,那么在相应的自动化数据对比装置的交互页面,用户只需要针对第一数据输入区域输入(或者通过列表选择)数据库a-新入职员工表名-员工id,以及在第二数据输入区域输入数据库b-新入职员工表名-员工id,即可由自动化数据对比装置自动生成数据库检索指令,以从不同的数据库中提取出对比数据。

进一步地,用户也可以只输入第一数据库名称、第一数据表名、第二数据库名称和第二数据表名,此时默认对第一数据表和第二数据表中所有对应于相同列名的数据进行对比,获得第一数据表和第二数据表的对比结果。

提取单元402,用于根据第一数据库检索指令从第一数据库中提取出第一对比数据;以及,根据第二数据库检索指令从第二数据库中提取出第二对比数据。

分析单元403,用于分析第一对比数据和第二对比数据之间的差异信息。

生成单元404,用于根据分析得到的差异信息生成对比结果。

可见,实施图4所描述的装置,通过接收用户输入的数据库检索指令,能够根据数据库检索指令自动地从数据库中提取出检索的对比数据,极大地减少了人工的工作量;此外,还能够自动地对来源于第一数据库的第一对比数据和来源于第二数据库的第二对比数据进行对比,并输出第一对比数据和第二对比数据之间的差异信息,解决了因数据库的数据输出格式不兼容导致的对比出错问题,提高了数据对比的智能化程度以及准确性,同时也减少了人工干预,从而提升数据对比的效率。

实施例五

请参阅图5,图5是本发明实施例公开的另一种自动化数据对比装置的结构示意图。图5所示的自动化数据对比装置是由图4所示的自动化数据对比装置进行优化得到的。与图4所示的自动化数据对比装置相比较,图5所示的自动化数据对比装置还可以包括:判断单元405和提示单元406,其中,

提取单元402,还用于在接收单元401接收用户输入的第一数据库检索指令和第二数据库检索指令之后,从第一数据库检索指令中提取出第一数据库名称;以及,从第二数据库检索指令中提取出第二数据库名称。

判断单元405,用于判断自动化数据对比装置是否与对应于第一数据库名称的第一数据库建立连接;以及,判断自动化数据对比装置是否与对应于第二数据库名称的第二数据库建立连接。

提取单元402用于根据第一数据库检索指令从第一数据库中提取出第一对比数据的方式具体为:

提取单元402,用于在判断单元405判定出自动化数据对比装置与第一数据库建立连接,并且自动化数据对比装置与第二数据库建立连接时,从第一数据库检索指令中提取出第一数据表名和第一列名;以及,从第一数据库中导出与第一数据表名对应的第一数据表;以及,从第一数据表中提取出与第一列名对应的第一对比数据。

提示单元406,用于在判断单元405判定出自动化数据对比装置与第一数据库未能建立连接,或者自动化数据对比装置与第二数据库未能建立连接时,返回指示连接失败的提示信息。

作为一种可选的实施方式,提取单元402用于根据第二数据库检索指令从第二数据库中提取出第二对比数据的方式具体为:

提取单元402,用于从第二数据库检索指令中提取出第二数据表名和第二列名;以及,从第二数据库中导出与第二数据表名对应的第二数据表;以及,从第二数据表中提取出与第二列名对应的第二对比数据。

进一步地,作为一种可选的实施方式,判断单元405,还用于在提取单元402从第一数据表中提取出与第一列名对应的第一对比数据,以及从第二数据表中提取出与第二列名对应的第二对比数据之后,判断第一列名和第二列名是否一致。

分析单元403,具体用于在判断单元405判定出第一列名和第二列名一致时,分析第一对比数据和第二对比数据之间的差异信息。

提示单元406,还用于在判断单元405判定出第一列名和第二列名不一致时,返回指示数据库检索指令有误的提示信息。

再进一步地,提取单元402,还用于在判断单元405判定出第一列名和第二列名一致之后,以及在分析单元403分析第一对比数据和第二对比数据之间的差异信息之前,针对第一对比数据所包含的任一第一行名,从第一对比数据中提取出对应于第一行名的值;以及,将第一行名和对应于第一行名的值添加到第一对比列表;以及,针对第二对比数据所包含的任一第二行名,从第二对比数据中提取出对应于第二行名的值;以及,将第二行名和对应于第二行名的值添加到第二对比列表。

分析单元403用于分析所述第一对比数据和所述第二对比数据之间的差异信息的方式具体为:

分析单元403,用于从第一对比列表中提取出第一行名列表;以及,从第二对比列表中提取出第二行名列表;以及,在第一行名列表的第一元素个数大于第二行名列表的第二元素个数时,将第一行名列表作为目标遍历列表;在第一元素个数小于或等于第二元素个数时,将第二行名列表作为目标遍历列表;以及,针对目标遍历列表的任一目标行名,判断第一对比列表中对应于目标行名的第一目标值是否与第二对比列表中对应于目标行名的第二目标值相同;以及,在第一目标值和第二目标值不相同时,将目标行名、第一目标值和第二目标值添加至差异信息列表中,以获得差异信息列表的所有信息作为第一对比数据与第二对比数据之间的差异信息。

分析单元403,还用于针对目标遍历列表的任一目标行名,在第一对比列表或者第二对比列表中不存在目标行名时,将目标行名添加至差异信息列表中,以获得差异信息列表的所有信息作为第一对比数据与第二对比数据之间的差异信息。

作为一种可选的实施方式,该自动化数据对比装置还可以包括验证单元和通知单元,其中,

验证单元,用于在接收用户输入的第一数据库检索指令和第二数据库检索指令之前,提供用户登录界面,接受当前用户输入的账号信息,以验证当前用户是否具有操作权限;并且,在确定当前用户具有操作权限时,使得接收单元401执行接收用户输入的第一数据库检索指令和第二数据库检索指令的步骤。

通知单元,用于在生成对比结果之后,自动将生成的对比结果发送给绑定邮箱或绑定终端,以告知相关处理人员当前用户通过自动化数据对比装置执行数据读取和对比操作的具体情况以及获得的数据对比结果。可见,这样能够监测数据对比操作的合法性,以及快速地将对比结果通知给相关处理人员。

可见,实施图5所描述的装置,通过接收用户输入的数据库检索指令,能够根据数据库检索指令自动地从数据库中提取出检索的对比数据,极大地减少了人工的工作量;此外,还能够自动地对来源于第一数据库的第一对比数据和来源于第二数据库的第二对比数据进行对比,并输出第一对比数据和第二对比数据之间的差异信息,解决了因数据库的数据输出格式不兼容导致的对比出错问题,提高了数据对比的智能化程度以及准确性,同时也减少了人工干预,从而提升数据对比的效率;此外,通过确保自动化数据对比装置与第一数据库和第二数据库都正常建立连接,能够避免因连接失败浪费不必要的等待时间,保证检索对比数据的进程正常进行;并且,通过从第一数据表和第二数据表中分别提取出对应于相同列名的对比数据,能够实现对第一数据表和第二数据表进行精准到字段和值的对比;进一步地,通过统一第一对比数据和第二对比数据的格式,能够解决对比数据的输出格式不兼容问题,降低对比出错率;再进一步地,通过从第一行名列表和第二行名列表中挑选出包含更多元素(行名)个数的行名列表,并将其作为目标遍历列表,能够使得第一对比列表和第二对比列表中所有行名均被遍历,保证数据对比的完整性,还能够获取第一/第二对比列表中非共有的行名,并将其作为第一对比数据和第二对比数据的差异点。

本发明还提供一种电子设备,该电子设备包括:

处理器;

存储器,该存储器上存储有计算机可读指令,该计算机可读指令被处理器执行时,实现如前所示的自动化数据对比方法。

该电子设备可以是图1所示装置100。

在一示例性实施例中,本发明还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前所示的自动化数据对比方法。

应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。

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