CN117648317A - 异构数据源的数据对比方法、装置、设备及存储介质 - Google Patents
异构数据源的数据对比方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN117648317A CN117648317A CN202311666657.7A CN202311666657A CN117648317A CN 117648317 A CN117648317 A CN 117648317A CN 202311666657 A CN202311666657 A CN 202311666657A CN 117648317 A CN117648317 A CN 117648317A
- Authority
- CN
- China
- Prior art keywords
- data
- comparison
- target
- heterogeneous
- determining
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 35
- 230000015654 memory Effects 0.000 claims description 26
- 238000012544 monitoring process Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 8
- 238000004891 communication Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 11
- 238000012360 testing method Methods 0.000 abstract description 11
- 230000008569 process Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000008186 active pharmaceutical agent Substances 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 230000003044 adaptive effect Effects 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 3
- 238000004140 cleaning Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000013524 data verification Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 241000211181 Manta Species 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- NFGXHKASABOEEW-LDRANXPESA-N methoprene Chemical compound COC(C)(C)CCCC(C)C\C=C\C(\C)=C\C(=O)OC(C)C NFGXHKASABOEEW-LDRANXPESA-N 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
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/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/283—Multi-dimensional databases or data warehouses, e.g. MOLAP or ROLAP
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及数据处理技术领域,公开了一种异构数据源的数据对比方法、装置、设备及存储介质,其中,该方法包括:获取待对比的异构数据源对应的第一元数据和第二元数据;基于第一元数据和第二元数据,从异构数据源中确定数据同构基准,并确定异构数据源对应的第一目标数据表和第二目标数据表;对第一目标数据表和第二目标数据表进行关联,确定异构数据源的对比指标;基于第一目标数据表和第二目标数据表,确定第一目标数据表和第二目标数据表之间的目标对比方式;按照目标对比方式以及数据同构基准,生成对比指标对应的数据对比结果。通过实施本公开技术方案,实现了全自动的数据对比测试,无需依赖人工,提升了数据比对效率以及数据比对准确度。
Description
技术领域
本公开涉及数据处理技术领域,具体涉及一种异构数据源的数据对比方法、装置、设备及存储介质。
背景技术
目前,在数据仓库研发过程中的数据源越来越多,不同数据源的对比成本非常高。这将导致数据测试不充分,数据质量成为很大的风险。通常对于来自于不同存储的数据都是异构的,彼此间的数据结构差异大,目前基本依赖人工完成异构数据源之间的对比,导致数据对比效率非常低。尽管存在一些自动化对比测试工具,但是其只是实现了部分的自动化,很多时候仍然需要借助人工实现异构数据源之间的对比,使得异构数据源之间的数据对比耗费了较多的人力成本,且对比的效率较低,一定程度上影响了研发进程。
发明内容
有鉴于此,本公开实施例提供了一种异构数据源的数据对比方法、装置、设备及存储介质,以解决异构数据源的数据对比难以实现自动化、对比效率极较低的问题。
第一方面,本公开实施例提供了一种异构数据源的数据对比方法,包括:获取待对比的异构数据源对应的第一元数据和第二元数据;基于第一元数据和第二元数据,从异构数据源中确定数据同构基准,并确定异构数据源对应的第一目标数据表和第二目标数据表;对第一目标数据表和第二目标数据表进行关联,确定异构数据源的对比指标;基于第一目标数据表和第二目标数据表,确定第一目标数据表和第二目标数据表之间的目标对比方式;按照目标对比方式以及数据同构基准,生成对比指标对应的数据对比结果。
本公开实施例提供的异构数据源的数据对比方法,通过对异构数据源的元数据进行分析以确定出数据同构基准,结合数据同构基准对异构数据源中的不同数据源进行数据处理以生成相应的目标数据表,继而对不同的目标数据表进行关联,以自动确定出所需的对比指标以及适配的目标对比方式,从而能够根据目标对比方式实现异构数据源的数据对比,生成相应的数据对比结果。由此,实现了全自动的数据对比测试,无需依赖人工,节省了人工成本,同时,通过自动化的数据对比,提升了数据比对效率,减少了人为比对的误差,提升了数据比对的准确度。
第二方面,本公开实施例提供了一种异构数据源的数据对比装置,包括:获取模块,用于获取待对比的异构数据源对应的第一元数据和第二元数据;数据信息确定模块,用于基于第一元数据和第二元数据,从异构数据源中确定数据同构基准,并确定异构数据源对应的第一目标数据表和第二目标数据表;指标确定模块,用于对第一目标数据表和第二目标数据表进行关联,确定异构数据源的对比指标;对比方式确定模块,用于基于第一目标数据表和第二目标数据表,确定第一目标数据表和第二目标数据表之间的目标对比方式;结果生成模块,用于按照目标对比方式以及数据同构基准,生成对比指标对应的数据对比结果。
第三方面,本公开实施例提供了一种计算机设备,包括:存储器和处理器,存储器和处理器之间互相通信连接,存储器中存储有计算机指令,处理器通过执行计算机指令,从而执行上述第一方面或其对应的任一实施方式的异构数据源的数据对比方法。
第四方面,本公开实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机指令,计算机指令用于使计算机执行上述第一方面或其对应的任一实施方式的异构数据源的数据对比方法。
附图说明
为了更清楚地说明本公开具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本公开一些实施例的异构数据源的数据对比方法的流程示意图;
图2是根据本公开一些实施例的另一异构数据源的数据对比方法的流程示意图;
图3是根据本公开一些实施例的又一异构数据源的数据对比方法的流程示意图;
图4是根据本公开实施例的异构数据源的数据对比装置的结构框图;
图5是本公开实施例的计算机设备的硬件结构示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
通常对于来自于不同存储的数据都是异构的,彼此间的数据结构差异大,目前基本依赖人工完成异构数据源之间的对比,导致数据对比效率非常低。尽管存在一些自动化对比测试工具,但是其只是实现了部分的自动化,具体如下:
(1)缺少对不同数据源的自动清洗、转化。这部分工作还需要依赖人工完成,例如,manta对比工具实现了两个Hive表的对比测试功能,但是不能实现一个kafka消息队列和一个hive表的对比。因为kafka消息队列为json或pb格式,而hive表则是一个二维表结构,需要人工将kafka消息队列同步到hive表后才能进行后面的数据对比工作。
(2)不同数据源的更新频率不同,导致数据对比结果不准确。例如,kafka、clickhouse、abase的数据是实时更新的,而Hive表更新是按照天或小时频次更新,这就加大了数据对比的实现成本,数据对比结果的准确性难以保证,目前主要是依赖人工进行处理。
(3)缺乏统一的数据对比模板和评价指标。例如,基于python实现数据测试工具包,其将不同存储组件的read API进行了统一封装以简化读取成本,虽然减少了用户读取数据的工作量,但是仍需要基于该工具包所提供的API来清洗和转化异构数据源,并手动编写对比指标的代码。
基于此,本公开技术方式结合元数据对数据源进行标准化格式转换,并设置在线对比方式和离线对比方式的数据对比水位线来实现异构数据源的数据对齐,通过数据对比水位线的异步监控,以对数据对比水位线以内的数据进行比对,从而保证结果的幂等性。同时,结合通用的数据模版格式,以自动生成对比指标。由此,实现了全自动的数据对比测试,提升了数据比对效率,减少了人为比对的误差,进一步提升了数据比对的准确度。
根据本公开实施例,提供了一种异构数据源的数据对比方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种异构数据源的数据对比方法,可用于计算机设备,如电脑、笔记本电脑、服务器等,图1是根据本公开实施例的异构数据源的数据对比方法的流程图,如图1所示,该流程包括如下步骤:
步骤S101,获取待对比的异构数据源对应的第一元数据和第二元数据。
异构数据源为数据仓库中所存储的数据结构不同的两个数据源,即异构数据源为两个不同的数据源,其这两个不同的数据源在数据存储结构上是不同的。例如kafka消息队列和hive表,kafka消息队列为json或pb的数据结构,而hive表则是一个二维表的数据结构。
元数据是针对数据源中的数据所对应的描述性信息,具体包括针对数据的属性、特征、结构、来源、格式等进行的描述。第一元数据和第二元数据分别为两个不同的数据源对应的元数据。
当需要针对数据仓库中任意异构数据源进行数据对比时,计算机设备可以获取异构数据源所对应的两个数据源标识信息,并通过访问数据仓库,从数据仓库中调取与这两个数据源标识信息所匹配的数据源,即待对比的异构数据源。其中,待对比的异构数据源可以来源于数据仓库中的不同组件,也可以来自于相同组件。此处不作具体限定。
步骤S102,基于第一元数据和第二元数据,从异构数据源中确定数据同构基准,并确定异构数据源对应的第一目标数据表和第二目标数据表。
数据同构基准用于表征实现数据对比的基准数据结构。结合第一元数据和第二元数据所表征的数据描述信息进行对比,结合对比结果从异构数据源中选择一个数据源作为数据同构基准,将另一个数据源的数据结构进行转换,使其数据结构与作为数据同构基准的数据源的数据格式相一致。
目标数据表用于表征数据源的数据存储结构,即按照数据存储结构进行数据存储所产生的数据表。元数据中包括有数据源类型、字段、存储格式、更新频率、数据量等描述信息,由此结合第一元数据可以生成第一目标数据表,结合第二元数据可以生成第二目标数据表。
在一个具体的示例中,异构数据源为数据源1和数据源2,经过元数据对比,将数据源1作为数据同构基准,则将数据源2的数据结构转换为与数据源1相一致。那么,数据源1对应的第一目标数据表和数据源2对应的第二目标数据表在数据结构上是一致的。
例如,第一目标数据表为Hive表,则第二目标数据表也为Hive表,根据第一元数据将数据源1中的数据按照Hive表结构进行存储,生成数据源1对应的第一目标数据表。同时,根据第二元数据将数据源2中的数据按照Hive表结构进行存储,生成数据源2对应的第二目标数据表。
步骤S103,对第一目标数据表和第二目标数据表进行关联,确定异构数据源的对比指标。
对比指标为需要当次进行数据对比的指标,例如视频播放差异量、商品订单差异量等。通过将异构数据源中的两个数据源进行关联,则可以结合异构数据源之间的关联关系,将两个数据源所对应的第一目标数据表和第二目标数据表进行数据关联,对第一目标数据表和第二目标数据表中的相同指标数据进行对比,以相同指标数据的差异值表征对比指标。
例如,异构数据源中的数据源1对应的第一目标数据表为:
商品标识 | 订单量 |
001 | 100 |
002 | 200 |
异构数据源中的数据源2对应的第二目标数据表为:
商品标识 | 订单量 |
001 | 90 |
002 | 200 |
在对数据源1和数据源2进行关联后,可以将两个数据源所对应的第一目标数据表和第二目标数据表进行数据关联,生成关联数据表如下:
通过对订单量进行对比计算,可以确定出第一目标数据表与第二目标数据表之间的对比指标(即订单差异量),结合订单差异量可以筛选出不同数据源中所存在的订单差异信息。
步骤S104,基于第一目标数据表和第二目标数据表,确定第一目标数据表和第二目标数据表之间的目标对比方式。
目标对比方式用于表征第一目标数据表和第二目标数据表之间所采用的数据对比方式,具体地,数据对比方式可以包括离线对比方式和在线对比方式。其中,离线对比方式适用于数据量较大或数据更新频率较慢的数据表,即对实时性要求不高的数据表;在线对比方式适用于数据量较小或数据更新频率较快的数据表,即对实时性要求较高的数据表。
第一目标数据表和第二目标数据表是与元数据所适配的数据表,而元数据中描述了数据更新频率、数据量等属性信息,由此根据第一目标数据表和第二目标数据表的数据结构可以确定其所适用的数据对比方式。
步骤S105,按照目标对比方式以及数据同构基准,生成对比指标对应的数据对比结果。
结合数据同构基准可以确定两个不同数据源之间的对比基准信息,例如数据对比水位线、数据对比时间等。在确定出对比基准信息之后,结合将第一目标数据表与第二目标数据表之间的对比指标,将第一目标数据表与第二目标数据表中按照对比基准信息以及目标对比方式进行数据对比,以生成与对比指标所相应的数据对比结果。
本实施例提供的异构数据源的数据对比方法,通过对异构数据源的元数据进行分析以确定出数据同构基准,结合数据同构基准对异构数据源中的不同数据源进行数据处理以生成相应的目标数据表,继而对不同的目标数据表进行关联,以自动确定出所需的对比指标以及适配的目标对比方式,从而能够根据目标对比方式实现异构数据源的数据对比,生成相应的数据对比结果。由此,实现了全自动的数据对比测试,无需依赖人工,节省了人工成本,同时,通过自动化的数据对比,提升了数据比对效率,减少了人为比对的误差,提升了数据比对的准确度。
在本实施例中提供了一种异构数据源的数据对比方法,可用于计算机设备,如电脑、笔记本电脑、服务器等,图2是根据本公开实施例的异构数据源的数据对比方法的流程图,如图2所示,该流程包括如下步骤:
步骤S201,获取待对比的异构数据源对应的第一元数据和第二元数据。详细说明参见上述实施例对应步骤的相关描述,此处不再赘述。
步骤S202,基于第一元数据和第二元数据,从异构数据源中确定数据同构基准,并确定异构数据源对应的第一目标数据表和第二目标数据表。
具体地,第一元数据包括第一更新频率和第一数据量,第二元数据包括第二更新频率和第二数据量。如上文所述,异构数据源为两个不同数据结构的数据源,第一更新频率表示其中一个数据源的数据更新频率,第二更新频率表示另一个数据源的数据更新频率;第一数据量表示其中一个数据源的数据更新量,第二数据量表示另一个数据源的数据更新量。
相应地,上述步骤S202可以包括:
步骤S2021,对比第一更新频率和第二更新频率,确定更新频率慢的第一目标数据源。
将第一更新频率与第二更新频率进行对比,确定第一更新频率和第二更新频率之间的频率大小关系,从中确定出较慢的更新频率,将更新频率较慢的数据源确定为第一目标数据源。
例如,数据源1对应的第一更新频率为1小时,数据源2对应的第二更新频率为10分钟,则将数据源1作为第一目标数据源。
步骤S2022,将第一目标数据源确定为数据同构基准。
由于第一目标数据源的更新频率较慢,为了保证数据对比的准确度,将第一目标数据源确定为数据同构基准,以按照第一目标数据源的数据更新频率进行数据对比。
步骤S2023,对比第一数据量和第二数据量,确定数据量大的第二目标数据源。
将第一数据量与第二数据量进行对比,确定第一数据量和第二数据量之间的数据量大小关系,从中确定出较大的数据量,将数据量较大的数据源确定为第二目标数据源。
例如,数据源1对应的第一数据量为1G,数据源2对应的第二数据量为100M,则将数据源1作为第二目标数据源。
步骤S2024,将第二目标数据源确定为数据同构基准。
由于第二目标数据源的数据更新量较大,为了避免数据大量转换而影响数据对比效率和数据准确度,将第二目标数据源确定为数据同构基准,以将另一数据源转换为第二目标数据源的数据结构,实现数据之间的有效对比。
步骤S2025,当第一更新频率和第二更新频率大于预设频率阈值,和/或,第一数据量和第二数据量大于预设数据量时,创建针对于异构数据源的数据同步任务。
预设频率阈值为预先设定的用于判定更新频率快慢的阈值,例如预设频率阈值可以为10分钟、15分钟等,此处可以根据实际需求进行设定,并不作具体限定。
当第一更新频率和第二更新频率均大于预设频率阈值时,判定异构数据源的数据更新频率较慢,此时可以采用离线方式对异构数据源中的数据进行标准化处理,具体地,可以在计算机设备的后台自动创建数据同步任务,以在数据发生更新后进行数据同步。
步骤S2026,基于数据同步任务对异构数据源的数据进行同步,并将异构数据源的数据结构转换为离线数据结构,生成具有离线数据结构的第一目标数据表和第二目标数据表。
在异构数据源中的数据发生更新时,执行数据同步任务以实现数据同步。由于异构数据源中的数据更新频率慢,此时可以采用离线数据结构进行数据的记录,例如离线Hive表。具体地,在确定出采用离线数据结构时,将异构数据源的两个数据源的数据同步到Hive表中,数据格式统一转换为Hive表结构,由此可以生成具有Hive表结构的两个中间表,即为第一目标数据表和第二目标数据表。
步骤S2027,当第一更新频率和第二更新频率小于预设频率阈值,和/或,第一数据量和第二数据量小于预设数据量时,调用异构数据源对应的数据源组件。
当第一更新频率和第二更新频率均小于预设频率阈值时,判定异构数据源的数据更新频率较快,此时可以采用在线方式对异构数据源中的数据进行标准化处理。具体地,计算机设备可以调用数据源组件API,以通过数据源组件API对数据结构进行标准化转换。
步骤S2028,基于数据源组件将异构数据源的数据转换为在线数据结构,生成具有在线数据结构的第一目标数据表和第二目标数据表。
通过调用数据源组件API将异构数据源中的数据转换为在线数据结构,例如SQL模式。在异构数据源中的数据发生更新时,由于异构数据源中的数据更新频率快,此时可以采用在线数据结构进行数据的记录。具体地,在确定出采用在线数据结构时,将异构数据源的两个数据源的数据转换为标准SQL模式,以生成具有SQL模式的第一目标数据表和第二目标数据表。
需要说明的是,若第一更新频率和第二更新频率中,其中一个大于预设频率阈值,另一个小于预设频率阈值,那么此时仍然是对比第一更新频率和第二更新频率,将更新频率慢的数据源作为数据同构基准。例如,当第一更新频率大于预设频率阈值、第二更新频率小于预设频率阈值时,此时以第一更新频率对应的数据源作为数据同构基准,并将异构数据源转换为Hive表等二维表结构,以实现异构数据源的数据对比。
若第一数据量和第二数据量中,其中一个大于预设数据量,另一个小于预设数据量,那么此时仍然是对比第一数据量和第二数据量,将数据量大的数据源作为数据同构基准。例如,当第一数据量大于预设数据量、第二数据量小于预设数据量时,此时以第一数据量对应的数据源作为数据同构基准,将异构数据源转换为Hive表等二维表结构,以实现异构数据源的数据对比。
步骤S203,对第一目标数据表和第二目标数据表进行关联,确定异构数据源的对比指标。
具体地,上述步骤S203可以包括:
步骤S2031,按照预设模板格式对第一目标数据表和第二目标数据表进行关联,确定数据维度以及数据参数。
数据维度用于表征数据表中可用于分类、分组或筛选数据的不同属性或特征,例如明细维度和统计维度等。数据参数是在数据维度下所产生的统计参数,例如商品订单量、视频播放量等。
预设模板格式为预先设定的数据处理模板,例如,通过SQL处理模板将不同数据结构的数据源进行关联,由此能够按照预设模板格式将数据表中的数据维度进行抽象,形成相应的数据模型。同时,根据各个数据维度对数据进行统计,可以确定出各个数据维度对应的数据参数。
步骤S2032,基于数据维度以及数据参数,确定对比指标。
在对数据维度抽象所形成的数据模型中,可以引入绝对误差统计方法和动态阈值,以对数据参数进行处理,生成相应的对比指标。
此处以商品订单量为例,若第一目标数据表为:
商品标识 | 订单量 |
001 | 100 |
002 | 200 |
第二目标数据表为:
商品标识 | 订单量 |
001 | 90 |
002 | 200 |
通过SQL处理模板可以自动生成针对于第一目标数据表和第二目标数据表的可执行SQL对比任务,且该SQL对比任务为待执行状态。结合该SQL对比任务生成关联数据表如下:
商品标识 | 数据源1订单量 | 数据源2订单量 | 订单差异量 | 绝对误差 |
001 | 100 | 90 | 10 | 0.1 |
002 | 200 | 200 | 0 | 0 |
动态阈值为用于筛选所需数据所设定的误差阈值,例如筛选绝对误差为0.1的数据占比,则可以确定该占比为:1/2=0.5;筛选绝对误差为0的数据占比,则可以确定该占比为:1/2=0.5;筛选绝对误差大于0.1的数据占比,则可以确定该占比为:0/2=0。
由此,结合绝对误差统计和动态阈值,可以对各个数据源的订单量进行处理,确定当前所需的对比指标(如订单差异量),继而结合对比指标对数据进行筛选处理,以确定出满足筛选需求的数据。
需要说明的是,作为一个特例,还可以只读取1个数据源,此时可以将该数据源的更新频率与预设频率阈值进行对比,以确定按照离线数据结构生成目标数据表或按照在线数据结构生成目标数据表。继而,将生成的目标数据表按照预设模板格式进行处理,以自动生成对比指标,通过该对比指标实现单数据源的自身对比。
步骤S204,基于第一目标数据表和第二目标数据表,确定第一目标数据表和第二目标数据表之间的目标对比方式。详细说明参见上述实施例对应步骤的相关描述,此处不再赘述。
步骤S205,按照目标对比方式以及数据同构基准,生成对比指标对应的数据对比结果。详细说明参见上述实施例对应步骤的相关描述,此处不再赘述。
本实施例提供的异构数据源的数据对比方法,结合数据更新频率或数据量确定异构数据源的数据同构基准,以实现异构数据源更新不同频时的数据对齐,便于提升后续的数据比对结果的准确度。结合数据更新频率或数据量对异构数据源的数据结构进行统一,生成相应的第一目标数据表和第二目标数据表,便于实现异构数据源的数据清洗,便于使用进行数据对比的快速处理。通过按照预设模板格式对第一目标数据表和第二目标数据表进行关联处理,能够针对目标数据表的数据维度进行抽象,以自动生成对比指标,从而无需依赖人工设置对比,最大程度上实现了数据对比的自动化测试进程,且保证了对比指标的统一性,避免因对比指标不统一而影响对比结果的可靠性。
在本实施例中提供了一种异构数据源的数据对比方法,可用于计算机设备,如电脑、笔记本电脑、服务器等,图3是根据本公开实施例的异构数据源的数据对比方法的流程图,如图3所示,该流程包括如下步骤:
步骤S301,获取待对比的异构数据源对应的第一元数据和第二元数据。详细说明参见上述实施例对应步骤的相关描述,此处不再赘述。
步骤S302,基于第一元数据和第二元数据,从异构数据源中确定数据同构基准,并确定异构数据源对应的第一目标数据表和第二目标数据表。详细说明参见上述实施例对应步骤的相关描述,此处不再赘述。
步骤S303,对第一目标数据表和第二目标数据表进行关联,确定异构数据源的对比指标。详细说明参见上述实施例对应步骤的相关描述,此处不再赘述。
步骤S304,基于第一目标数据表和第二目标数据表,确定第一目标数据表和第二目标数据表之间的目标对比方式。详细说明参见上述实施例对应步骤的相关描述,此处不再赘述。
步骤S305,按照目标对比方式以及数据同构基准,生成对比指标对应的数据对比结果。
具体地,上述步骤S305可以包括:
步骤S3051,基于数据同构基准确定数据对比水位线。
对比水位线表示用于进行数据对比时的时间水位线,该数据对比水位线通过数据同构基准确定。例如,数据同构基准为下午15:00完成数据同步,那么数据对比水位线则为下午15:00;数据同构基准为每间隔30分钟对比一次,那么则以30分钟间隔作为数据对比水位线。
步骤S3052,按照目标对比方式,对处于数据对比水位线以内的对比指标进行数据对比,得到对比结果。
目标对比方式包括离线对比方式和在线对比方式。当采用在线对比方式时,通过在线对比方式对应的在线计算引擎将待对比的数据提交至flink集群进行实时计算,数据对比结果也将实时更新。具体地,在线计算引擎利用flink集群中的连接器connecter分别读取第一目标数据表和第二目标数据表,并根据数据同构基准确定出的数据对比水位线对当前的对比水位线进行异步更新,以对截止到数据对比水位线以内的数据进行对比,从而保证结果准确性。例如,以30分钟间隔作为数据对比水位线,按照30分钟的间隔进行实时数据的实时对比和对比结果更新。
当采用离线对比方式时,通过离线对比方式对应的离线计算引擎将待对比的数据提交至spark集群进行计算,该计算过程可以根据实际需求执行1次或定时触发,以生成相应的数据对比结果。具体地,离线计算引擎利用spark集群对同步完成的第一目标数据表和第二目标数据表进行数据对比,并根据数据同构基准确定出用于离线对比的数据对比水位线,以对截止到数据对比水位线以内的数据进行对比,从而保证结果准确性。例如,数据同步在21:00完成,那么当次离线对比只对截止到21:00之前的数据进行对比,以保证数据比对结果的准确度。
在一些可选的实施例方式中,当目标对比方式为在线对比方式时,在得到对比结果之后,还可以包括:
步骤a1,检测对比结果是否满足预设条件。
步骤a2,当对比结果不满足预设条件时,生成实时的数据监控报警。
预设条件为预先设定的监控预警阈值,即检测到对比结果超出监控预警阈值时,表示数据对比存在异常,此时可以发送监控报警,以使技术人员进行数据校验。
当在线计算引擎完成本次的数据对比并生成对比结果后,计算机设备可以将当次的对比结果与预设条件所设定的监控预警阈值进行对比,以确定对比结果是否满足预设条件。在对比结果不满足预设条件时,生成实时的数据监控报警,以提醒技术人员对数据源的数据进行校验。
在上述实施方式中,通过检测对比结果是否满足预设条件所设定的监控预警阈值,以在数据对比发生异常时进行及时报警,从而使得技术人员能够及时介入进行数据校验,最大程度上降低数据对比的错误,提升了数据对比结果的可靠性。
在一些可选的实施例方式中,当目标对比方式为离线对比方式时,在进行数据对比之前,还可以包括:
步骤b1,检测异构数据源的数据是否完成数据同步。
步骤b2,当异构数据源的数据完成数据同步时,按照目标对比方式,对处于数据对比水位线以内的数据进行对比,得到对比结果。
离线对比方式是针对完成数据同步的数据源进行对比,在采用离线对比方式进行数据对比时,需要检测数据同步任务是否执行完成,即检测数据同步任务的执行进度,在确定数据同步任务执行完成时,结合的数据同构基准所确定出的数据对比水位线进行不同数据源的数据比对,生成相应的数据比对结果,并将数据比对结果推送至相关负责人员。
在上述实施方式中,由于数据同步完成才能保证数据的完整性,在采用离线对比方式进行数据比对时,通过检测数据同步任务的执行进度以在完成数据同步后开启数据对比,以对处于数据对比水位线以内的数据进行对比,保证了数据对比结果的准确性和幂等性。
在一些可选的实施例方式中,上述方法还可以包括:
步骤c1,获取离线对比方式对应的触发时间。
步骤c2,当到达触发时间时,按照目标对比方式,对处于数据对比水位线以内的数据进行对比,得到对比结果。
触发时间为预先设定的针对于离线对比方式的执行时间,例如,数据同步任务在前一天晚上11点完成,则可以设定每天上午9点对数据同步完成的数据进行对比。
由此,在采用离线对比方式设定有相应的触发时间时,需要检测是否达到触发时间,在数据同步任务完成且达到触发时间时,结合的数据同构基准所确定出的数据对比水位线进行不同数据源的数据比对,生成相应的数据比对结果,并将数据比对结果推送至相关负责人员。
在上述实施方式中,在离线对比方式下,结合所设定的触发时间开启数据对比进程,提升了离线对比方式的数据对比灵活性。
本实施例提供的异构数据源的数据对比方法,结合数据异构基准确定数据对比水位线,从而能够设置在线对比方式和离线对比方式的数据对比水位线来实现异构数据源的数据对齐,继而通过异步监控数据对比水位线,以对数据对比水位线以内的数据进行比对,从而保证数据对比结果的准确性。
在本实施例中还提供了一种异构数据源的数据对比装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种异构数据源的数据对比装置,如图4所示,包括:
获取模块401,用于获取待对比的异构数据源对应的第一元数据和第二元数据。
数据信息确定模块402,用于基于第一元数据和第二元数据,从异构数据源中确定数据同构基准,并确定异构数据源对应的第一目标数据表和第二目标数据表。
指标确定模块403,用于对第一目标数据表和第二目标数据表进行关联,确定异构数据源的对比指标。
对比方式确定模块404,用于基于第一目标数据表和第二目标数据表,确定第一目标数据表和第二目标数据表之间的目标对比方式。
结果生成模块405,用于按照目标对比方式以及数据同构基准,生成对比指标对应的数据对比结果。
在一些可选的实施例方式中,第一元数据包括第一更新频率和第一数据量,第二元数据包括第二更新频率和第二数据量,上述数据信息确定模块402可以包括:
第一对比单元,用于对比第一更新频率和第二更新频率,确定更新频率慢的第一目标数据源。
第一确定单元,用于将第一目标数据源确定为数据同构基准。
第二对比单元,用于对比第一数据量和第二数据量,确定数据量大的第二目标数据源。
第二确定单元,用于将第二目标数据源确定为数据同构基准。
在一些可选的实施例方式中,上述数据信息确定模块402还可以包括:
任务创建单元,用于当第一更新频率和第二更新频率大于预设频率阈值,和/或,第一数据量和第二数据量大于预设数据量时,创建针对于异构数据源的数据同步任务。
第一生成单元,用于基于数据同步任务对异构数据源的数据进行同步,并将异构数据源的数据结构转换为离线数据结构,生成具有离线数据结构的第一目标数据表和第二目标数据表。
组件调用单元,用于当第一更新频率和第二更新频率小于预设频率阈值,和/或,第一数据量和第二数据量小于预设数据量时,调用异构数据源对应的数据源组件。
第二生成单元,用于基于数据源组件将异构数据源的数据转换为在线数据结构,生成具有在线数据结构的第一目标数据表和第二目标数据表。
在一些可选的实施例方式中,上述指标确定模块403可以包括:
关联单元,用于按照预设模板格式对第一目标数据表和第二目标数据表进行关联,确定数据维度以及数据参数。
指标确定单元,用于基于数据维度以及数据参数,确定对比指标。
在一些可选的实施例方式中,上述结果生成模块405可以包括:
水位线确定单元,用于基于数据同构基准确定数据对比水位线。
对比单元,用于按照目标对比方式,对处于数据对比水位线以内的对比指标进行数据对比,得到对比结果。
在一些可选的实施例方式中,当目标对比方式为在线对比方式时,上述指标确定模块403还可以包括:
检测单元,用于检测对比结果是否满足预设条件。
报警单元,用于当对比结果不满足预设条件时,生成实时的数据监控报警。
在一些可选的实施例方式中,当目标对比方式为离线对比方式时,在进行数据对比之前,上述指标确定模块403还可以包括:
进度监测单元,用于检测异构数据源的数据是否完成数据同步。
第一执行单元,用于当异构数据源的数据完成数据同步时,按照目标对比方式,对处于数据对比水位线以内的数据进行对比,得到对比结果。
在一些可选的实施例方式中,上述指标确定模块403还可以包括:
触发单元,用于获取离线对比方式对应的触发时间。
第二执行单元,用于当到达触发时间时,按照目标对比方式,对处于数据对比水位线以内的数据进行对比,得到对比结果。
上述各个模块以及各个单元的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本实施例中的异构数据源的数据对比装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
本实施例提供的异构数据源的数据对比装置,通过对异构数据源的元数据进行分析以确定出数据同构基准,结合数据同构基准对异构数据源中的不同数据源进行数据处理以生成相应的目标数据表,继而对不同的目标数据表进行关联,以自动确定出所需的对比指标以及适配的目标对比方式,从而能够根据目标对比方式实现异构数据源的数据对比,生成相应的数据对比结果。由此,实现了全自动的数据对比测试,无需依赖人工,节省了人工成本,同时,通过自动化的数据对比,提升了数据比对效率,减少了人为比对的误差,提升了数据比对的准确度。
本公开实施例还提供一种计算机设备,具有上述图4所示的异构数据源的数据对比装置。
请参阅图5,图5是本公开可选实施例提供的一种计算机设备的结构示意图,如图5所示,该计算机设备包括:一个或多个处理器10、存储器20,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相通信连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在计算机设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示GUI的图形信息的指令。在一些可选的实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个计算机设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图5中以一个处理器10为例。
处理器10可以是中央处理器,网络处理器或其组合。其中,处理器10还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路,可编程逻辑器件或其组合。上述可编程逻辑器件可以是复杂可编程逻辑器件,现场可编程逻辑门阵列,通用阵列逻辑或其任意组合。
其中,所述存储器20存储有可由至少一个处理器10执行的指令,以使所述至少一个处理器10执行实现上述实施例示出的方法。
存储器20可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据计算机设备的使用所创建的数据等。此外,存储器20可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些可选的实施方式中,存储器20可选包括相对于处理器10远程设置的存储器,这些远程存储器可以通过网络连接至该计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
存储器20可以包括易失性存储器,例如,随机存取存储器;存储器也可以包括非易失性存储器,例如,快闪存储器,硬盘或固态硬盘;存储器20还可以包括上述种类的存储器的组合。
该计算机设备还包括通信接口30,用于该计算机设备与其他设备或通信网络通信。
本公开实施例还提供了一种计算机可读存储介质,上述根据本公开实施例的方法可在硬件、固件中实现,或者被实现为可记录在存储介质,或者被实现通过网络下载的原始存储在远程存储介质或非暂时机器可读存储介质中并将被存储在本地存储介质中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件的存储介质上的这样的软件处理。其中,存储介质可为磁碟、光盘、只读存储记忆体、随机存储记忆体、快闪存储器、硬盘或固态硬盘等;进一步地,存储介质还可以包括上述种类的存储器的组合。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件,当软件或计算机代码被计算机、处理器或硬件访问且执行时,实现上述实施例示出的方法。
虽然结合附图描述了本公开的实施例,但是本领域技术人员可以在不脱离本公开的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (12)
1.一种异构数据源的数据对比方法,其特征在于,包括:
获取待对比的异构数据源对应的第一元数据和第二元数据;
基于所述第一元数据和所述第二元数据,从所述异构数据源中确定数据同构基准,并确定所述异构数据源对应的第一目标数据表和第二目标数据表;
对所述第一目标数据表和所述第二目标数据表进行关联,确定所述异构数据源的对比指标;
基于所述第一目标数据表和所述第二目标数据表,确定所述第一目标数据表和所述第二目标数据表之间的目标对比方式;
按照所述目标对比方式以及所述数据同构基准,生成所述对比指标对应的数据对比结果。
2.根据权利要求1所述的方法,其特征在于,所述第一元数据包括第一更新频率和第一数据量;所述第二元数据包括第二更新频率和第二数据量;
所述基于所述第一元数据和所述第二元数据,从所述异构数据源中确定数据同构基准,包括:
对比所述第一更新频率和所述第二更新频率,确定更新频率慢的第一目标数据源;
将所述第一目标数据源确定为所述数据同构基准;
和/或,
对比所述第一数据量和所述第二数据量,确定数据量大的第二目标数据源;
将所述第二目标数据源确定为所述数据同构基准。
3.根据权利要求2所述的方法,其特征在于,所述确定所述异构数据源对应的第一目标数据表和第二目标数据表,包括:
当所述第一更新频率和所述第二更新频率大于预设频率阈值,和/或,所述第一数据量和所述第二数据量大于预设数据量时,创建针对于所述异构数据源的数据同步任务;
基于所述数据同步任务对所述异构数据源的据进行同步,并将所述异构数据源的数据结构转换为离线数据结构,生成具有所述离线数据结构的所述第一目标数据表和所述第二目标数据表。
4.根据权利要求2所述的方法,其特征在于,所述确定所述异构数据源对应的第一目标数据表和第二目标数据表,包括:
当所述第一更新频率和所述第二更新频率小于预设频率阈值,和/或,所述第一数据量和所述第二数据量小于预设数据量时,调用所述异构数据源对应的数据源组件;
基于所述数据源组件将所述异构数据源的数据转换为在线数据结构,生成具有所述在线数据结构的所述第一目标数据表和所述第二目标数据表。
5.根据权利要求1所述的方法,其特征在于,所述对所述第一目标数据表和所述第二目标数据表进行关联,确定所述异构数据源的对比指标,包括:
按照预设模板格式对所述第一目标数据表和所述第二目标数据表进行关联,确定数据维度以及数据参数;
基于所述数据维度以及所述数据参数,确定所述对比指标。
6.根据权利要求1所述的方法,其特征在于,所述按照所述目标对比方式以及所述数据同构基准,生成所述对比指标对应的数据对比结果,包括:
基于所述数据同构基准确定数据对比水位线;
按照所述目标对比方式,对处于所述数据对比水位线以内的数据进行对比,得到所述对比结果。
7.根据权利要求6所述的方法,其特征在于,当所述目标对比方式为在线对比方式时,在得到所述对比结果之后,还包括:
检测所述对比结果是否满足预设条件;
当所述对比结果不满足预设条件时,生成实时的数据监控报警。
8.根据权利要求6所述的方法,其特征在于,当所述目标对比方式为离线对比方式时,在所述按照所述目标对比方式,对处于所述数据对比水位线以内的数据进行对比,得到所述对比结果之前,还包括:
检测所述异构数据源的数据是否完成数据同步;
当所述异构数据源的数据完成数据同步时,按照所述目标对比方式,对处于所述数据对比水位线以内的所述对比指标进行数据对比,得到所述对比结果。
9.根据权利要求8所述的方法,其特征在于,还包括:
获取所述离线对比方式对应的触发时间;
当到达所述触发时间时,按照所述目标对比方式,对处于所述数据对比水位线以内的所述对比指标进行数据对比,得到所述对比结果。
10.一种异构数据源的数据对比装置,其特征在于,包括:
获取模块,用于获取待对比的异构数据源对应的第一元数据和第二元数据;
数据信息确定模块,用于基于所述第一元数据和所述第二元数据,从所述异构数据源中确定数据同构基准,并确定所述异构数据源对应的第一目标数据表和第二目标数据表;
指标确定模块,用于对所述第一目标数据表和所述第二目标数据表进行关联,确定所述异构数据源的对比指标;
对比方式确定模块,用于基于所述第一目标数据表和所述第二目标数据表,确定所述第一目标数据表和所述第二目标数据表之间的目标对比方式;
结果生成模块,用于按照所述目标对比方式以及所述数据同构基准,生成所述对比指标对应的数据对比结果。
11.一种计算机设备,其特征在于,包括:
存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1至9中任一项所述的异构数据源的数据对比方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述计算机指令用于使计算机执行权利要求1至9中任一项所述的异构数据源的数据对比方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311666657.7A CN117648317A (zh) | 2023-12-06 | 2023-12-06 | 异构数据源的数据对比方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311666657.7A CN117648317A (zh) | 2023-12-06 | 2023-12-06 | 异构数据源的数据对比方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117648317A true CN117648317A (zh) | 2024-03-05 |
Family
ID=90049218
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311666657.7A Pending CN117648317A (zh) | 2023-12-06 | 2023-12-06 | 异构数据源的数据对比方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117648317A (zh) |
-
2023
- 2023-12-06 CN CN202311666657.7A patent/CN117648317A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
CN112286806A (zh) | 自动化测试方法、装置、存储介质及电子设备 | |
CN111611172A (zh) | 项目测试缺陷分析方法、装置、设备及存储介质 | |
CN110737594A (zh) | 自动生成测试用例的数据库标准符合性测试方法及装置 | |
CN111190817B (zh) | 软件缺陷的处理方法及装置 | |
CN110699863B (zh) | 计时方法、系统、计算机可读存储介质及服务器 | |
CN110134598B (zh) | 一种批量处理方法、装置及系统 | |
CN109522296B (zh) | 一种发动机ecu数据匹配标定方法及装置 | |
CN110580220A (zh) | 测量代码段执行时间的方法及终端设备 | |
CN117648317A (zh) | 异构数据源的数据对比方法、装置、设备及存储介质 | |
CN112235358A (zh) | 数据的采集方法、装置、电子设备及计算机可读存储介质 | |
CN109508204B (zh) | 一种前端代码质量检测方法及装置 | |
CN111752786A (zh) | 压力测试过程中的数据存储方法、汇总方法、设备及介质 | |
CN107273293B (zh) | 大数据系统性能测试方法、装置及电子设备 | |
CN112132544B (zh) | 业务系统的巡检方法及装置 | |
CN115309638A (zh) | 协助模型优化的方法及装置 | |
CN109840213B (zh) | 一种gui测试的测试数据创建方法、装置、终端及存储介质 | |
CN113254332A (zh) | 一种存储系统多场景测试方法、系统、终端及存储介质 | |
CN112346994A (zh) | 一种测试信息关联方法、装置、计算机设备及存储介质 | |
CN112380204A (zh) | 一种数据质量的评估方法及装置 | |
CN112905438A (zh) | 一种自动化测试方法及装置 | |
CN113010424B (zh) | 接口自动化测试处理方法、系统、计算机设备与存储介质 | |
CN109857774B (zh) | 基于多传感器融合变形监测数据统计方法以及装置 | |
CN115563015B (zh) | 一种代码热度统计方法、装置、设备和存储介质 | |
CN118227490A (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 |