一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种数据对比方法、装置、电子设备及存储介质与流程

2022-10-22 08:03:00 来源:中国专利 TAG:


1.本公开涉及计算机技术领域,尤其涉及一种数据对比方法、装置、电子设备及存储介质。


背景技术:

2.目前,用户可以通过登录大数据计算平台(例如adhoc)的方式提交临时查询任务,并且在线等待返回的计算结果,然后需要人工对比计算结果以及判断数据的一致性等。
3.但是,上述方法中,重复机械式地提交临时查询任务会导致用户无法投入到其他业务的开发过程中,并且依赖人工计算和判断的过程可能无法对整个数据对比的过程进行控制,影响了数据对比的准确性。


技术实现要素:

4.本公开提供一种数据对比方法、装置、电子设备及存储介质,解决了现有技术中依赖人工计算和判断的过程可能无法对整个数据对比的过程进行控制,影响了数据对比的准确性的技术问题。
5.本公开实施例的技术方案如下:
6.根据本公开实施例的第一方面,提供一种数据对比方法。该方法可以包括:响应于用户发送的数据对比请求,创建目标任务实例,该数据对比请求包括目标任务以及该目标任务对应的配置信息,该配置信息用于表征至少一个待对比项目,该目标任务实例为该目标任务对应的任务实例,该对比请求用于请求基于该至少一个待对比项目进行数据对比;按照该配置信息执行该目标任务实例,得到该至少一个待对比项目中每个待对比项目的对比结果,该每个待对比项目的对比结果用于表征数据表之间是否存在差异;基于该每个待对比项目的对比结果,生成数据对比报告。
7.可选地,上述每个待对比项目对应一个查询语句,该配置信息包括源数据表和目标数据表;上述按照该配置信息执行该目标任务实例,得到该至少一个待对比项目中每个待对比项目的对比结果具体包括:获取当前待对比项目,以及该当前待对比项目对应的查询语句;分别对该源数据表以及该目标数据表执行该当前待对比项目对应的查询语句,根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果。
8.可选地,上述当前待对比项目包括:概览对比项目,该概览对比项目用于对比该源数据表与该目标数据表之间的整体差异;该查询结果包括:该源数据表包括的行数、该目标数据表包括的行数、第一主键字段对应的行数、第二主键字段对应的行数、该第一主键字段的空值数量以及该第二主键字段的控制数量,该第一主键字段为该源数据表中包括的主键字段,该第二主键字段为该目标数据表中包括的与该第一主键字段对应的主键字段;上述根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果具体包括:当该源数据表包括的行数与该目标数据表包括的行数相同,该第一主键字段对应的行数与该第二主键字段对应的行数相同,并且该第一主键字段的空值数量与该第二主键
字段的空值数量相同时,确定该概览对比项目的对比结果为数据正常。
9.可选地,上述当前待对比项目包括:字段对比项目,该字段对比项目用于对比该源数据表中包括的字段与该目标数据表中包括的字段之间的差异;该查询结果包括:第一数据和第二数据;上述数据对比方法还包括:对第一字段中包括的数据进行预设处理,得到第一数据,该第一字段为该源数据表中包括的字段;上述根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果具体包括:当该第一数据与该第二数据相同时,确定该字段对比项目的对比结果为数据正常,该第二数据为第二字段中包括的数据,该第二字段为该目标数据表中与该第一字段对应的字段。
10.可选地,上述当前对比项目包括:维度对比项目,该维度对比项目用于对比第一维度对应的字段与第二维度对应的字段之间的差异,该第一维度为该源数据表中包括的维度,该第二维度为该目标数据表中包括的维度;该查询结果包括:第三数据和第四数据;上述数据对比方法还包括:对第三字段中包括的数据进行预设处理,得到该第三数据,该第三字段为该第一维度对应的字段;上述根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果具体包括:当该第三数据与该第四数据相同时,确定该维度对比项目的对比结果为数据正常,该第四数据为第四字段中包括的数据,该第四字段为该第二维度对应的字段。
11.可选地,上述数据对比方法还包括:确定该目标任务实例的运行状态;上述基于该每个对比项目的对比结果,生成数据对比报告具体包括:当该目标任务实例的运行状态为运行完成时,基于该每个对比项目的对比结果,生成数据对比报告。
12.可选地,上述数据对比方法还包括:当接收到该用户发送的历史报告查询请求时,确定该用户是否具有历史报告查询权限,该历史报告查询请求用于请求查询历史数据对比报告;当该用户具有该历史报告查询权限时,向该用户发送该历史数据对比报告。
13.可选地,上述数据对比方法还包括:确定存在差异的待对比项目的数量;当该数量大于或等于数量阈值时,显示差异最大的待对比项目。
14.根据本公开实施例的第二方面,提供一种数据对比装置。该装置可以包括:处理模块;该处理模块,被配置为响应于用户发送的数据对比请求,创建目标任务实例,该数据对比请求包括目标任务以及该目标任务对应的配置信息,该配置信息用于表征至少一个待对比项目,该目标任务实例为该目标任务对应的任务实例,该对比请求用于请求基于该至少一个待对比项目进行数据对比;该处理模块,还被配置为按照该配置信息执行该目标任务实例,得到该至少一个待对比项目中每个待对比项目的对比结果,该每个待对比项目的对比结果用于表征数据表之间是否存在差异;该处理模块,还被配置为基于该每个待对比项目的对比结果,生成数据对比报告。
15.可选地,上述每个待对比项目对应一个查询语句,该配置信息包括源数据表和目标数据表;该数据对比装置还包括获取模块;该获取模块,被配置为获取当前待对比项目,以及该当前待对比项目对应的查询语句;该处理模块,具体被配置为分别对该源数据表以及该目标数据表执行该当前待对比项目对应的查询语句,根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果。
16.可选地,上述该当前待对比项目包括:概览对比项目,该概览对比项目用于对比该源数据表与该目标数据表之间的整体差异;该查询结果包括:该源数据表包括的行数、该目
标数据表包括的行数、第一主键字段对应的行数、第二主键字段对应的行数、该第一主键字段的空值数量以及该第二主键字段的控制数量,该第一主键字段为该源数据表中包括的主键字段,该第二主键字段为该目标数据表中包括的与该第一主键字段对应的主键字段;该数据对比装置还包括确定模块;该确定模块,被配置为当该源数据表包括的行数与该目标数据表包括的行数相同,该第一主键字段对应的行数与该第二主键字段对应的行数相同,并且该第一主键字段的空值数量与该第二主键字段的空值数量相同时,确定该概览对比项目的对比结果为数据正常。
17.可选地,上述当前待对比项目包括:字段对比项目,该字段对比项目用于对比该源数据表中包括的字段与该目标数据表中包括的字段之间的差异;该查询结果包括:第一数据和第二数据;该处理模块,还被配置为对第一字段中包括的数据进行预设处理,得到第一数据,该第一字段为该源数据表中包括的字段;该确定模块,被配置为当该第一数据与该第二数据相同时,确定该字段对比项目的对比结果为数据正常,该第二数据为第二字段中包括的数据,该第二字段为该目标数据表中与该第一字段对应的字段。
18.可选地,上述当前对比项目包括:维度对比项目,该维度对比项目用于对比第一维度对应的字段与第二维度对应的字段之间的差异,该第一维度为该源数据表中包括的维度,该第二维度为该目标数据表中包括的维度;该查询结果包括:第三数据和第四数据;该处理模块,还被配置为对第三字段中包括的数据进行预设处理,得到该第三数据,该第三字段为该第一维度对应的字段;该确定模块,被配置为当该第三数据与该第四数据相同时,确定该维度对比项目的对比结果为数据正常,该第四数据为第四字段中包括的数据,该第四字段为该第二维度对应的字段。
19.可选地,该确定模块,被配置为确定该目标任务实例的运行状态;该处理模块,具体被配置为当该目标任务实例的运行状态为运行完成时,基于该每个对比项目的对比结果,生成数据对比报告。
20.可选地,该数据对比装置还包括发送模块;该确定模块,被配置为当接收到该用户发送的历史报告查询请求时,确定该用户是否具有历史报告查询权限,该历史报告查询请求用于请求查询历史数据对比报告;该发送模块,被配置为当该用户具有该历史报告查询权限时,向该用户发送该历史数据对比报告。
21.可选地,该数据对比装置还包括显示模块;该确定模块,被配置为确定存在差异的待对比项目的数量;该显示模块,被配置为当该数量大于或等于数量阈值时,显示差异最大的待对比项目。
22.根据本公开实施例的第三方面,提供一种电子设备,可以包括:处理器和被配置为存储处理器可执行指令的存储器;其中,处理器被配置为执行所述指令,以实现上述第一方面中任一种可选地数据对比方法。
23.根据本公开实施例的第四方面,提供一种计算机可读存储介质,计算机可读存储介质上存储有指令,当该计算机可读存储介质中的指令由电子设备执行时,使得该电子设备能够执行上述第一方面中任一种可选地数据对比方法。
24.根据本公开实施例的第五方面,提供一种计算机程序产品,该计算机程序产品包括计算机指令,当该计算机指令在电子设备上运行时,使得该电子设备执行如第一方面中任一种可选地数据对比方法。
25.本公开的实施例提供的技术方案至少带来以下有益效果:
26.基于上述任一方面,本公开中,电子设备响应于用户发送的数据对比请求,可以创建目标任务实例。由于该数据对比请求包括目标任务以及该目标任务对应的配置信息,如此电子设备可以按照该配置信息执行该目标任务实例,具体为执行该配置信息表征的至少一个待对比项目,得到该至少一个待对比项目中每个待对比项目的对比结果,然后基于该每个待对比项目的对比结果,生成数据对比报告。本公开实施例中,无需依赖人工进行数据对比计算,由电子设备对整个数据对比的过程进行处理和控制,能够提升数据对比的准确性,可以使得数据质量达到更标准、更可信的程度。
27.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
28.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
29.图1示出了本公开实施例提供的一种电子设备的内部结构示意图;
30.图2示出了本公开实施例提供的一种数据对比方法的流程示意图;
31.图3示出了本公开实施例提供的又一种数据对比方法的流程示意图;
32.图4示出了本公开实施例提供的又一种数据对比方法的流程示意图;
33.图5示出了本公开实施例提供的又一种数据对比方法的流程示意图;
34.图6示出了本公开实施例提供的又一种数据对比方法的流程示意图;
35.图7示出了本公开实施例提供的又一种数据对比方法的流程示意图;
36.图8示出了本公开实施例提供的又一种数据对比方法的流程示意图;
37.图9示出了本公开实施例提供的又一种数据对比方法的流程示意图;
38.图10示出了本公开实施例提供的一种数据对比装置的结构示意图;
39.图11示出了本公开实施例提供的又一种数据对比装置的结构示意图。
具体实施方式
40.为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
41.需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
42.还应当理解的是,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其他特征、整体、步骤、操作、元素和/或组件的存在或添加。
43.本公开所涉及的数据可以为经用户授权或者经过各方充分授权的数据。
44.如背景技术中所描述,由于现有技术需要重复机械地提交临时查询任务导致用户
无法投入到其他业务的开发过程中,并且依赖人工计算和判断的过程可能无法对整个数据对比的过程进行控制,影响了数据对比的准确性。基于此,本公开实施例提供一种数据对比方法,无需依赖人工进行数据对比计算,由电子设备对整个数据对比的过程进行处理和控制,能够提升数据对比的准确性,可以使得数据质量达到更标准、更可信的程度。
45.本公开实施例提供的数据对比方法、装置、电子设备及存储介质,应用于数据对比(具体可以为对比两个数据表中的数据)的场景中。当电子设备响应于用户发送的数据对比请求时,可以依据本公开实施例提供的方法,生成数据对比报告。
46.以下结合附图对本公开实施例提供的数据对比方法进行示例性说明:
47.示例性的,执行本公开实施例提供的数据对比方法的电子设备可以是手机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本,以及蜂窝电话、个人数字助理(personal digital assistant,pda)、增强现实(augmented reality,ar)\虚拟现实(virtual reality,vr)设备等,本公开对电子设备的具体形态不作特殊限制。其可以与用户通过键盘、触摸板、触摸屏、遥控器、语音交互或手写设备等一种或多种方式进行人机交互。
48.如图1所示,本公开实施例提供的电子设备可以包括前端部分和后端部分。
49.具体的,前端部分可以理解为人机交互模块,可以直接与用户进行交互,即该前端部分可以接收用户发送的数据对比请求。该前端部分可以由react以及antdesign等一些开源的代码开发构造而成。
50.该前端部分与该后端部分可以采用超文本传输协议(hyper text transfer protocol,http)的形式进行通讯,具体的可以将上述数据对比请求发送至该后端部分,以使得该后端部分可以执行相关操作。
51.后端部分可以包括数据对比模块和数据校验模块,该数据校验模块可以对待对比的数据进行一些列的校验,该数据对比模块用于对待对比的数据(包括数据表以及对应的项目)进行对比操作。
52.可以理解的是,后端部分还可以部署kwsql引擎,kconf以及mybatis等二方库,hdfs clickhouse以及druid等数据库,以及mysql(图中未示出)。
53.具体的,kwsql引擎用于实现查询语句的计算(或)执行过程;kconf以及mybatis等二方库用于做一些缓存处理;hdfs clickhouse以及druid等数据库用于存储查询语句的计算结果(或每个待对比项目的对比结果);mysql用于存储数据对比报告。
54.在本公开实施例的一种实现方式中,电子设备(具体为上述后端部分)可以以键入即时通讯(keyed instant message,kim)消息的方式通知用户以查看数据对比报告。
55.应理解,执行本公开实施例提供的数据对比方法的设备可以为一个,即一个电子设备可以完整地执行本公开实施例提供的数据对比方法。在本公开实施例提供的另一种实现方式中,该数据对比方法也可以执行于不同的设备之间,具体为以设备间交互的形式实现该数据对比方法。
56.具体的,可以在一台机器(例如客户端设备)中部署上述前端部分的功能,并且在另一台机器(例如服务端设备)中部署上述后端部分的功能,该服务端设备与该客户端设备可以属于相同的集群,也可以属于不同的集群。即前端部分的功能所对应的执行步骤可以在该客户端设备上实现,后端部分的功能所对应的执行步骤可以在该服务端设备上实现。
57.如图2所示,本公开实施例提供的数据对比方法可以包括s101-s103。
58.s101、电子设备响应于用户发送的数据对比请求,创建目标任务实例。
59.其中,该数据对比请求包括目标任务以及该目标任务对应的配置信息,该配置信息用于表征至少一个待对比项目,该目标任务实例为该目标任务对应的任务实例,该对比请求用于请求基于该至少一个待对比项目进行数据对比。
60.应理解,该目标任务即为用户请求进行数据对比的任务,对于一个任务(例如目标任务)而言,每一次执行该任务都会生成一个任务实例。
61.可以理解的是,用户在发送数据对比请求之前,需要先创建该目标任务,以使得用户向电子设备发送该数据对比请求之后,该电子设备可以执行(或处理)该目标任务。而电子设备创建的目标任务实例可以理解为执行该目标任务的初始过程,即电子设备接收到该目标任务,创建(或生成)了该目标任务实例。后续过程中执行该目标任务实例即为执行该目标任务。
62.本公开实施例中,一个待对比项目可以表征数据对比过程中一个待对比的类型(或者一个待对比的内容)。具体的,该待对比项目可以为表行数,即待对比的数据表中有多少行的数据;该待对比项目也可以为主键行数,即待对比的数据表中的主键有多少行;该待对比项目还可以为主键空值数,即待对比的数据表中主键为空的数据有多少条等。
63.s102、电子设备按照配置信息执行目标任务实例,得到至少一个待对比项目中每个待对比项目的对比结果。
64.其中,该每个待对比项目的对比结果用于表征数据表之间是否存在差异。
65.应理解,电子设备按照上述目标任务对应的配置信息执行该目标任务实例,即为按照该至少一个待对比项目中每个待对比项目表征的数据对比过程中对应的待对比的内容,对数据表(或待对比的数据表)进行数据比对。
66.示例性的,假设一个待对比项目为表行数,则电子设备可以确定待对比的数据表的表行数是否相同。当表行数相同时,说明待对比的数据表之间不存在差异;否则,即当表行数不同时,说明待对比的数据表之间存在差异。
67.s103、电子设备基于每个待对比项目的对比结果,生成数据对比报告。
68.结合上述实施例的描述,应理解,上述至少一个待对比项目中每个待对比项目的对比结果用于表征数据表之间是否存在差异。即电子设备生成的数据对比报告可以表征出待对比的数据表在每个待对比项目中是否存在差异。该数据对比报告可以完整、有效地体现出待对比的数据表之间的差异性,进而能够指导用户执行相关数据操作等。
69.在本公开实施例的一种实现方式中,电子设备在得到上述每个待对比项目的对比结果之后,可以对该每个待对比项目的对比结果进行一些运算,然后基于运算后的结果生成数据对比报告。
70.结合上述s102中的示例,假设待对比的数据表为数据表1和数据表2,该数据表1的表行数为10,该数据表2的表行数为11,则电子设备可以确定该两个数据表的表行数差异占比为:(11-10)/10=0.1。该表行数差异占比0.1为电子设备生成的数据对比报告中的一部分。
71.可选地,电子设备在生成上述数据对比报告之后还可以存储该数据对比报告。
72.上述实施例提供的技术方案至少能够带来以下有益效果:由s101-s103可知,电子
设备响应于用户发送的数据对比请求,可以创建目标任务实例。由于该数据对比请求包括目标任务以及该目标任务对应的配置信息,如此电子设备可以按照该配置信息执行该目标任务实例,具体为执行该配置信息表征的至少一个待对比项目,得到该至少一个待对比项目中每个待对比项目的对比结果,然后基于该每个待对比项目的对比结果,生成数据对比报告。本公开实施例中,无需依赖人工进行数据对比计算,由电子设备对整个数据对比的过程进行处理和控制,能够提升数据对比的准确性,可以使得数据质量达到更标准、更可信的程度。
73.结合图2,如图3所示,在本公开实施例的一种实现方式中,上述每个待对比项目对应一个查询语句,该配置信息包括源数据表和目标数据表,上述按照配置信息执行目标任务实例,得到至少一个待对比项目中每个待对比项目的对比结果,包括s1021-s1022。
74.s1021、电子设备获取当前待对比项目,以及当前待对比项目对应的查询语句。
75.应理解,该当前待对比项目为上述至少一个待对比项目中的一个或多个待对比项目。
76.可选地,本公开实施例中的查询语句可以为结构化查询语言(structured query language,sql)语句。
77.s1022、电子设备分别对源数据表以及目标数据表执行当前待对比项目对应的查询语句,根据当前待对比项目对应的查询语句的查询结果,得到当前待对比项目的对比结果。
78.应理解,当电子设备获取到上述目标任务对应的配置信息,具体为获取到上述至少一个待对比项目、该源数据表以及该目标数据表时,该电子设备可以获取上述当前待对比项目以及该当前待对比项目对应的查询语句;然后该电子设备可以分别对该源数据表以及该目标数据表执行该当前待对比项目对应的查询语句,即可以得到该当前待对比项目对应的查询语句的查询结果。之后,该电子设备可以根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果。如此,电子设备可以得到上述至少一个待对比项目中每个待对比项目的对比结果。
79.上述实施例提供的技术方案至少能够带来以下有益效果:由s1021-s1022可知,电子设备可以获取当前待对比项目以及该当前待对比项目对应的查询语句;然后该电子设备可以分别对源数据表以及目标数据表执行该当前待对比项目对应的查询语句,根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果。本公开实施例中,由于至少一个待对比项目中每个待对比项目对应一个查询语句,因此电子设备根据当前待对比项目对应的查询语句的查询结果,即可以得到该查询语句对应的待对比项目(即当前待对比项目)的对比结果。如此,电子设备可以快捷、有效地得到每个待对比项目的对比结果,进而可以提升数据对比报告的生成效率。
80.结合图3,如图4所示,在本公开实施例的一种实现方式中,上述当前待对比项目包括:概览对比项目,该概览对比项目用于对比该源数据表与该目标数据表之间的整体差异;该查询结果包括:该源数据表包括的行数、该目标数据表包括的行数、第一主键字段对应的行数、第二主键字段对应的行数、该第一主键字段的空值数量以及该第二主键字段的控制数量,该第一主键字段为该源数据表中包括的主键字段,该第二主键字段为该目标数据表中包括的与该第一主键字段对应的主键字段。上述根据当前待对比项目对应的查询语句的
查询结果,得到当前待对比项目的对比结果,包括s1022a。
81.s1022a、当源数据表包括的行数与目标数据表包括的行数相同,第一主键字段对应的行数与第二主键字段对应的行数相同,并且第一主键字段的空值数量与第二主键字段的空值数量相同时,电子设备确定概览对比项目的对比结果为数据正常。
82.应理解,当该源数据表包括的行数与该目标数据表包括的行数相同时,说明在表行数上该目标数据表与该源数据表之间不存在差异;当该第一主键字段对应的行数与该第二主键字段对应的行数相同时,说明在主键行数上该目标数据表与该源数据表之间不存在差异;当该第一主键字段的空值数量与该第二主键字段的空值数量相同时,说明在主键空值数上该目标数据表与该源数据表之间不存在差异。此时电子设备可以确定上述概览对比项目的对比结果为数据正常。
83.在一种可选的实现方式中,当该源数据表包括的行数与该目标数据表包括的行数不相同,和/或该第一主键字段对应的行数与该第二主键字段对应的行数不相同,和/或该第一主键字段的空值数量与该第二主键字段的空值数量不相同时,电子设备可以确定该概览对比项目的对比结果为数据异常。
84.可以理解的是,当该源数据表包括的行数与该目标数据表包括的行数不相同时,说明在表行数上该目标数据表与该源数据表之间存在差异;当该第一主键字段对应的行数与该第二主键字段对应的行数不相同时,说明在主键行数上该目标数据表与该源数据表之间存在差异;当该第一主键字段的空值数量与该第二主键字段的空值数量不相同时,说明在主键空值数上该目标数据表与该源数据表之间存在差异。此时电子设备可以确定该概览对比项目的对比结果为数据异常。
85.本公开实施例提供的数据对比方法可以应用于数据模型迁移的应用场景下。具体的,在数据开发的过程中,由于需要进行项目空间切换、成本控制以及模型重构等,开发人员需要将已有的数据模型迁移至新的环境中。例如项目空间a具有数据表1和数据表2,项目空间b具有数据表3和数据表4,为了安全问题等需要把项目空间a中的数据表1和数据表2迁移到项目空间b中。此时可以通过“消息队列”、“map reduce”以及“kafka”等工具进行数据表(或数据)的迁移。在数据(或数据模型)的迁移过程中,可能会出现一系列的问题,例如数据增多或数据遗漏等。此时,可以通过本公开提供的数据对比方法,确定迁移前的数据模型(也可以理解为源数据表)与迁移后的数据模型(即目标数据表)之间是否存在差异。具体为表行数是否一致,主键行数是否一致,以及主键空值数等。
86.上述实施例提供的技术方案至少能够带来以下有益效果:由s1022a可知,当源数据表包括的行数与目标数据表包括的行数相同时,说明在表行数上该目标数据表与该源数据表之间不存在差异;当第一主键字段对应的行数与第二主键字段对应的行数相同时,说明在主键行数上该目标数据表与该源数据表之间不存在差异;当该第一主键字段的空值数量与该第二主键字段的空值数量相同时,说明在主键空值数上该目标数据表与该源数据表之间不存在差异。此时电子设备可以确定概览对比项目的对比结果为数据正常。本公开实施例中,电子设备可以基于数据表中包括的行数、数据表中包括的主键字段对应的行数以及数据表中包括的主键字数的空值数量确定数据表之间是否存在差异,能够合理、有效地确定出当前待对比项目的对比结果,进而可以方便、快捷地生成数据对比报告。
87.结合图3,如图5所示,在本公开实施例的一种实现方式中,上述当前待对比项目包
括:字段对比项目,所述字段对比项目用于对比所述源数据表中包括的字段与所述目标数据表中包括的字段之间的差异;所述查询结果包括:第一数据和第二数据。本公开实施例提供的数据对比方法还包括s104。
88.s104、电子设备对第一字段中包括的数据进行预设处理,得到第一数据。
89.其中,该第一字段为上述源数据表中包括的字段。
90.本公开实施例中,上述预设处理具体可以包括求和、求乘积、求最大值以及求最小值等。当该预设处理为求和时,上述第一数据即为第一字段中包括的数据之和。
91.继续如图5所示,上述根据当前待对比项目对应的查询语句的查询结果,得到当前待对比项目的对比结果,包括s1022b。
92.s1022b、当第一数据与第二数据相同时,电子设备确定字段对比项目的对比结果为数据正常。
93.其中,该第二数据为第二字段中包括的数据,该第二字段为上述目标数据表中与第一字段对应的字段。
94.在本公开实施例的一种实现方式中,上述配置信息还包括预设对应关系,该预设对应关系用于表征上述源数据表中包括的多个字段与目标数据表中包括的至少一个字段之间的对应关系。电子设备可以基于该第一字段以及该预设对应关系确定出上述第二字段。
95.应理解,当该第一数据与该第二数据相同时,说明该第一数据与该第二数据之间不存在差异(具体为上述第一字段与第二字段之间不存在差异),此时电子设备可以确定上述字段对比项目的对比结果为数据正常。
96.可选地,当该第一数据与该第二数据不相同时,说明该第一数据与该第二数据之间存在差异(具体为该第一字段与该第二字段之间存在差异),此时电子设备可以确定该字段对比项目的对比结果为数据异常。
97.在一种可选的实现方式中,上述第一字段可以表征多个账户中每个账户对应的每一次资源分配大小,并且上述第二字段可以表征该每个账户对应的资源分配总量,上述预设处理可以为求和。当该每个账户对应的每一次资源分配大小之和等于该每个账户对应的资源分配总量时,电子设备可以确定上述第一数据与第二数据相同,即电子设备可以确定该字段对比项目的对比结果为数据正常。
98.示例性的,以下表1和表2分别为上述源数据表和目标数据表的一种示例。如表1所示,该源数据表中包括3个账户(即账户a、账户b以及账户c)的6条资源分配记录(一条资源分配记录对应一次资源分配过程),具体为该3个账户各自对应2条资源分配记录。表2中示出的该目标数据表中也包括该3个账户,以及该3个账户各自对应的资源分配总量。
99.表1
100.资源分配记录账户资源分配大小第1条记录账户a20第2条记录账户b30第3条记录账户a30第4条记录账户c40第5条记录账户c50
第6条记录账户b20
101.表2
102.账户资源分配总量账户a50账户b50账户c90
103.由此,电子设备可以确定出该3个账户中每个账户对应的每一次资源分配大小之和等于该每个账户对应的资源分配总量,即电子设备确定该字段对比项目的对比结果为数据正常。
104.本公开实施例提供的数据对比方法可以应用于数据模型变更的应用场景下。具体的,可以对源数据表中包括的部分字段做轻粒度聚合,例如可以将第一字段中包括的数据(例如上述每个账户对应的每一次资源分配大小)聚合为上述第一数据(即该每个账户对应的每一次资源分配大小之和)。电子设备可以通过确定轻粒度聚合之后的数据(即第一数据,具体为该每个账户对应的每一次资源分配大小之和)与目标数据表中包括的数据(即第二数据,具体为该每个账户对应的资源分配总量)是否相同,从而确定数据模型变更(或数据轻粒度聚合的过程中)是否存在差异或异常,能够提升数据对比以及异常检测的有效性。
105.上述实施例提供的技术方案至少能够带来以下有益效果:由s104以及s1022b可知,电子设备可以对第一字段中包括的数据进行预设处理,得到第一数据;当该第一数据与该第二数据相同时,说明该第一数据与该第二数据之间不存在差异(具体为第一字段与第二字段之间不存在差异),此时电子设备可以确定字段对比项目的对比结果为数据正常。本公开实施例中,电子设备可以通过对比不同数据表中包括的字段和数据是否相同以确定数据表之间是否存在差异,能够提升数据对比的准确性,进而可以自动生成准确度更高的数据对比报告。
106.结合图3,如图6所示,在本公开实施例的一种实现方式中,上述当前对比项目包括:维度对比项目,该维度对比项目用于对比第一维度对应的字段与第二维度对应的字段之间的差异,该第一维度为该源数据表中包括的维度,该第二维度为该目标数据表中包括的维度;该查询结果包括:第三数据和第四数据。本公开实施例提供的数据对比方法还包括s105。
107.s105、电子设备对第三字段中包括的数据进行预设处理,得到第三数据。
108.其中,该第三字段为该第一维度对应的字段。
109.需要说明的是,电子设备对该第三字段中包括的数据进行预设处理的过程与上述电子设备对第一字段中包括的数据进行预测处理的过程是相同或类似的,此处不再赘述。
110.继续如图6所示,上述根据当前待对比项目对应的查询语句的查询结果,得到当前待对比项目的对比结果,包括s1022c。
111.s1022c、当第三数据与第四数据相同时,电子设备确定维度对比项目的对比结果为数据正常。
112.其中,该第四数据为第四字段中包括的数据,该第四字段为上述第二维度对应的字段。
113.应理解,当该第三数据与该第四数据相同时,说明该第三数据与该第四数据之间
不存在差异,具体为上述第三字段(即第一维度对应的字段)与第四字段(即第二维度对应的字段)之间不存在差异,此时电子设备可以确定上述维度对比项目的对比结果为数据正常。
114.可选地,当该第三数据与该第四数据不相同时,说明该第三数据与该第四数据之间存在差异,具体为该第三字段(即该第一维度对应的字段)与该第四字段(即该第二维度对应的字段)之间存在差异,此时电子设备可以确定该维度对比项目的对比结果为数据异常。
115.在一种可选的实现方式中,上述第一维度可以为账户维度,第二维度可以为性别维度;上述第三字段可以表征多个账户中每个账户对应的每一次资源分配大小,并且上述第四字段可以表征相同性别对应的资源分配总量,上述预设处理可以为求和。当相同性别的账户对应的每一次资源分配大小之和等于相同性别对应的资源分配总量时,电子设备可以确定上述第三数据与第四数据相同,即电子设备可以确定该维度对比项目的对比结果为数据异常。
116.示例性的,以下表3和表4分别为上述源数据表和目标数据表的一种示例。如表3所示,该源数据表中包括3个账户(即账户a、账户b以及账户c)的6条资源分配记录(一条资源分配记录对应一次资源分配过程),具体为该3个账户各自对应2条资源分配记录以及该3个账户各自的性别。表4中示出了该目标数据表中包括2种性别,以及该2种性别各自对应的资源分配总量。
117.表3
118.资源分配记录账户性别资源分配大小第1条记录账户a男20第2条记录账户b女30第3条记录账户a男30第4条记录账户c女40第5条记录账户c女50第6条记录账户b女20
119.表4
120.性别资源分配总量女140男50
121.由此,电子设备可以确定出相同性别的账户对应的每一次资源分配大小之和等于相同性别对应的资源分配总量,即电子设备确定该维度对比项目的对比结果为数据正常。
122.本公开实施例提供的数据对比方法可以应用于任务发布校验的应用场景下。具体的,在数据开发的过程中,具体为任务发布前通常会做任务校验,可以在代码开发环境中建立临时表,然后与线上的表做对比。实际上在这个场景下就是老的数据模型(即源数据表)被新的数据模型(即目标数据表)所替换。由于新的数据模型中可能会增加或删减了一些字段,此时我们需要对之前(源数据表)中已有的字段(或内容)进行对比,保证两个数据表之间的一致性。在具体的数据对比过程中,本公开提供的技术方案可以对字段(或字段的内容)通过不同的维度(例如性别、金额以及产品类型等)进行对比,从而确定在这种任务发布
校验的应用场景下,数据是否存在异常。
123.上述实施例提供的技术方案至少能够带来以下有益效果:由s105以及s1022c可知,电子设备可以对第三字段中包括的数据进行预设处理,得到第三数据;当该第三数据与该第四数据相同时,说明该第三数据与该第四数据之间不存在差异,具体为第三字段(即第一维度对应的字段)与第四字段(即第二维度对应的字段)之间不存在差异,此时电子设备可以确定维度对比项目的对比结果为数据正常。本公开实施例中,电子设备可以从不同的维度对比不同数据表中包括的字段和数据是否相同以确定数据表之间是否存在差异,能够提升数据对比的准确性,进而可以自动生成准确度更高的数据对比报告。
124.结合图2,如图7所示,本公开实施例提供的数据对比方法还包括s106。
125.s106、电子设备确定目标任务实例的运行状态。
126.应理解,一个任务实例的运行状态可以为待运行、运行中以及运行完成等。待运行表示该任务实例尚未开始运行或操作,运行中表示该任务实例已经开始运行并且正在运行的过程中,运行完成表示该任务实例已经开始运行并且已经运行成功。
127.继续如图7所示,上述基于每个对比项目的对比结果,生成数据对比报告,具体可以包括s1031。
128.s1031、当目标任务实例的运行状态为运行完成时,电子设备基于每个对比项目的对比结果,生成数据对比报告。
129.可以理解的是,当该目标任务实例的运行状态为运行完成时,说明电子设备已经得到了上述至少一个待对比项目中每个待对比项目的对比结果,或者上述至少一个待对比项目各自对应的查询语句已经执行完成并且得到相应的查询结果,此时电子设备可以基于该每个待对比项目的对比结果,生成该数据对比报告。即当基于源数据表以及目标数据表执行完成所有的查询语句并且得到相应的对比结果之后,电子设备才可以生成数据对比报告。
130.可选地,当该目标任务实例的运行状态为待运行或运行中时,电子设备可以指示该目标任务实例继续运行,或者继续执行该至少一个待对比项目中未被执行的查询语句,直到该至少一个待对比项目中每个待对比项目对应的查询语句执行完成(即该目标任务实例的运行状态为运行完成)并且得到每个待对比项目的对比结果之后,再基于该每个对比项目的对比结果,生成该数据对比报告。
131.上述实施例提供的技术方案至少能够带来以下有益效果:由s106以及s1031可知,电子设备可以确定目标任务实例的运行状态,当该目标任务实例的运行状态为运行完成时,说明电子设备已经得到了上述至少一个待对比项目中每个待对比项目的对比结果,或者上述至少一个待对比项目各自对应的查询语句已经执行完成,此时电子设备可以基于该每个待对比项目的对比结果,生成该数据对比报告。本公开实施例中,电子设备可以基于目标任务实例的运行状态,确定是否生成数据对比报告,可以合理、有效地确定数据对比报告的生成时机,能够自动生成准确度较高的数据对比报告。
132.结合图2,如图8所示,本公开实施例提供的数据对比方法还包括s107-s108。
133.s107、当接收到用户发送的历史报告查询请求时,电子设备确定用户是否具有历史报告查询权限。
134.其中,该历史报告查询请求用于请求查询历史数据对比报告。
135.结合上述实施例的描述,电子设备在生成数据对比报告之后可以存储该数据对比报告。同理,电子设备在历史时间段生成历史数据对比报告之后也可以存储该历史数据对比报告。
136.s108、当用户具有历史报告查询权限时,电子设备向用户发送历史数据对比报告。
137.可以理解的是,当该用户具有历史报告查询权限时,说明该用户有权限查询并获取该历史数据对比报告。如此电子设备可以向用户发送(或返回)该历史数据对比报告。
138.上述实施例提供的技术方案至少能够带来以下有益效果:由s107-s108可知,当接收到用户发送的历史报告查询请求时,电子设备可以确定该用户是否具有历史报告查询权限。当该用户具有该历史报告查询权限时,说明该用户有权限查询并获取历史数据对比报告。如此电子设备可以向用户发送(或返回)该历史数据对比报告。本公开实施例中,电子设备可以通过确定用户是否具有历史报告查询权限的方式确定是否向该用户发送(或返回)已经存储的历史数据对比报告,能够保证用户可以查询到历史时间段生成的数据对比报告,协助用户追溯历史对比数据。
139.结合图2,如图9所示,本公开实施例提供的数据对比方法还包括s109-s110。
140.s109、电子设备确定存在差异的待对比项目的数量。
141.具体的,电子设备可以从上述至少一个待对比项目中对比结果为数据异常的待对比项目,并且将对比结果为数据异常的待对比项目确定为存在差异的待对比项目。
142.s110、当存在异常的待对比项目的数量大于或等于数量阈值时,电子设备显示差异最大的待对比项目。
143.应理解,当存在异常的待对比项目的数量大于或等于数量阈值时,说明存在异常的待对比项目较多,此时电子设备可以显示差异最大的待对比项目。进而用户可以对该差异最大的待对比项目进行相关处理,以保证数据表之间的一致性。
144.上述实施例提供的技术方案至少能够带来以下有益效果:由s109-s110可知,电子设备可以确定存在差异的待对比项目的数量;当存在异常的待对比项目的数量大于或等于数量阈值时,说明存在异常的待对比项目较多,此时电子设备可以显示差异最大的待对比项目。本公开实施例中,电子设备可以优先显示差异最大的待对比项目,以协助用户对差异最大的待对比项目进行相关处理,从而保证数据表之间的一致性,能够提升数据对比以及异常处理的有效性。
145.可以理解的,在实际实施时,本公开实施例所述的电子设备可以包含有用于实现前述对应数据对比方法的一个或多个硬件结构和/或软件模块,这些执行硬件结构和/或软件模块可以构成一个电子设备。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
146.基于这样的理解,本公开实施例还对应提供一种数据对比装置,图10示出了本公开实施例提供的数据对比装置的结构示意图。如图10所示,该数据对比装置10可以包括:根据本公开实施例的第二方面,提供一种数据对比装置。该数据对比装置10可以包括:处理模块101。
147.处理模块101,被配置为响应于用户发送的数据对比请求,创建目标任务实例,该数据对比请求包括目标任务以及该目标任务对应的配置信息,该配置信息用于表征至少一个待对比项目,该目标任务实例为该目标任务对应的任务实例,该对比请求用于请求基于该至少一个待对比项目进行数据对比。
148.处理模块101,还被配置为按照该配置信息执行该目标任务实例,得到该至少一个待对比项目中每个待对比项目的对比结果,该每个待对比项目的对比结果用于表征数据表之间是否存在差异。
149.处理模块101,还被配置为基于该每个待对比项目的对比结果,生成数据对比报告。
150.可选地,上述每个待对比项目对应一个查询语句,该配置信息包括源数据表和目标数据表;该数据对比装置10还包括获取模块102。
151.获取模块102,被配置为获取当前待对比项目,以及该当前待对比项目对应的查询语句。
152.处理模块101,具体被配置为分别对该源数据表以及该目标数据表执行该当前待对比项目对应的查询语句,根据该当前待对比项目对应的查询语句的查询结果,得到该当前待对比项目的对比结果。
153.可选地,上述该当前待对比项目包括:概览对比项目,该概览对比项目用于对比该源数据表与该目标数据表之间的整体差异;该查询结果包括:该源数据表包括的行数、该目标数据表包括的行数、第一主键字段对应的行数、第二主键字段对应的行数、该第一主键字段的空值数量以及该第二主键字段的控制数量,该第一主键字段为该源数据表中包括的主键字段,该第二主键字段为该目标数据表中包括的与该第一主键字段对应的主键字段;该数据对比装置10还包括确定模块103。
154.确定模块103,被配置为当该源数据表包括的行数与该目标数据表包括的行数相同,该第一主键字段对应的行数与该第二主键字段对应的行数相同,并且该第一主键字段的空值数量与该第二主键字段的空值数量相同时,确定该概览对比项目的对比结果为数据正常。
155.可选地,上述当前待对比项目包括:字段对比项目,该字段对比项目用于对比该源数据表中包括的字段与该目标数据表中包括的字段之间的差异;该查询结果包括:第一数据和第二数据。
156.处理模块101,还被配置为对第一字段中包括的数据进行预设处理,得到第一数据,该第一字段为该源数据表中包括的字段。
157.确定模块103,被配置为当该第一数据与该第二数据相同时,确定该字段对比项目的对比结果为数据正常,该第二数据为第二字段中包括的数据,该第二字段为该目标数据表中与该第一字段对应的字段。
158.可选地,上述当前对比项目包括:维度对比项目,该维度对比项目用于对比第一维度对应的字段与第二维度对应的字段之间的差异,该第一维度为该源数据表中包括的维度,该第二维度为该目标数据表中包括的维度;该查询结果包括:第三数据和第四数据。
159.处理模块101,还被配置为对第三字段中包括的数据进行预设处理,得到该第三数据,该第三字段为该第一维度对应的字段。
160.确定模块103,被配置为当该第三数据与该第四数据相同时,确定该维度对比项目的对比结果为数据正常,该第四数据为第四字段中包括的数据,该第四字段为该第二维度对应的字段。
161.可选地,确定模块103,被配置为确定该目标任务实例的运行状态。
162.处理模块101,具体被配置为当该目标任务实例的运行状态为运行完成时,基于该每个对比项目的对比结果,生成数据对比报告。
163.可选地,该数据对比装置10还包括发送模块104。
164.确定模块103,被配置为当接收到该用户发送的历史报告查询请求时,确定该用户是否具有历史报告查询权限,该历史报告查询请求用于请求查询历史数据对比报告。
165.发送模块104,被配置为当该用户具有该历史报告查询权限时,向该用户发送该历史数据对比报告。
166.可选地,该数据对比装置10还包括显示模块105。
167.确定模块103,被配置为确定存在差异的待对比项目的数量。
168.显示模块105,被配置为当该数量大于或等于数量阈值时,显示差异最大的待对比项目。
169.如上所述,本公开实施例可以根据上述方法示例对数据对比装置进行功能模块的划分。其中,上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。另外,还需要说明的是,本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。
170.关于上述实施例中的数据对比装置,其中各个模块执行操作的具体方式、以及具备的有益效果,均已经在前述方法实施例中进行了详细描述,此处不再赘述。
171.图11是本公开提供的另一种数据对比装置的结构示意图。如图11,该数据对比装置20可以包括至少一个处理器201以及用于存储处理器可执行指令的存储器203。其中,处理器201被配置为执行存储器203中的指令,以实现上述实施例中的数据对比方法。
172.另外,数据对比装置20还可以包括通信总线202以及至少一个通信接口204。
173.处理器201可以是一个处理器(central processing units,cpu),微处理单元,asic,或一个或多个用于控制本公开方案程序执行的集成电路。
174.通信总线202可包括一通路,在上述组件之间传送信息。
175.通信接口204,使用任何收发器一类的装置,用于与其他设备或通信网络通信,如以太网,无线接入网(radio access network,ran),无线局域网(wireless local area networks,wlan)等。
176.存储器203可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器(electrically erasable programmable read-only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
存储器可以是独立存在,通过总线与处理单元相连接。存储器也可以和处理单元集成在一起。
177.其中,存储器203用于存储执行本公开方案的指令,并由处理器201来控制执行。处理器201用于执行存储器203中存储的指令,从而实现本公开方法中的功能。
178.在具体实现中,作为一种实施例,处理器201可以包括一个或多个cpu,例如图11中的cpu0和cpu1。
179.在具体实现中,作为一种实施例,数据对比装置20可以包括多个处理器,例如图11中的处理器201和处理器207。这些处理器中的每一个可以是一个单核(single-cpu)处理器,也可以是一个多核(multi-cpu)处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
180.在具体实现中,作为一种实施例,数据对比装置20还可以包括输出设备205和输入设备206。输出设备205和处理器201通信,可以以多种方式来显示信息。例如,输出设备205可以是液晶显示器(liquid crystal display,lcd),发光二级管(light emitting diode,led)显示设备,阴极射线管(cathode ray tube,crt)显示设备,或投影仪(projector)等。输入设备206和处理器201通信,可以以多种方式接受用户的输入。例如,输入设备206可以是鼠标、键盘、触摸屏设备或传感设备等。
181.本领域技术人员可以理解,图11中示出的结构并不构成对数据对比装置20的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
182.另外,本公开还提供一种计算机可读存储介质,包括指令,当指令由电子设备执行时,使得电子设备执行如上述实施例所提供的数据对比方法。
183.另外,本公开还提供一种计算机程序产品,包括指令,当指令由电子设备执行时,使得电子设备执行如上述实施例所提供的数据对比方法。
184.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献