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

数据检验方法、装置、终端及存储介质与流程

2022-02-24 14:27:45 来源:中国专利 TAG:


1.本公开涉及计算机领域,特别涉及一种数据检验方法、装置、终端及存储介质。


背景技术:

2.同源数据库指的是数据来源相同的两个或多个数据库。例如:数据库1和数据库2均从源数据库s中获取数据,则数据库1和数据库2可以被称为同源数据库。
3.在一些应用场景下,同源数据库中存储的数据需要保持一致,但在实际中,由于系统、网络可能发生的卡顿、故障等情况,可能引发同源数据库中数据不同的情况,即同源数据库之间存在数据不一致。举例说明:同源数据库1和数据库2同样存储了公司a的数据“员工数量”,但两者存储的该员工数量并不相同。目前缺少相应的解决方案。


技术实现要素:

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.数据写入模块,用于将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,对于所述比较表的其中一行,其第一比较列和第二比较列分别被写入所述第一数据集和所述第二数据集中的相对应的数据;
30.数据比较模块,用于对所述第一比较列和所述第二比较列中的各行数据进行比较,于所述比较表中生成比较结果列;
31.数据标记模块,用于在所述第一数据空间中为已经比较过的数据添加标记,所述标记将在数据发生变化后被清除
32.结果生成模块,用于依据所设定的指令处理所述比较结果列,生成用于展示的比较结果。
33.根据本公开实施例的第三方面,提供一种电子设备,包括存储器和处理器,所述存储器存储有可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的数据检验方法。
34.根据本公开实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如第一方面所述的数据检验方法中的步骤。
35.与现有技术相比,本公开公开了一种数据检验方法,能够自动得到数据一致性的检验结果,并自动化执行修正。同时,该检验结果可量化,可以为研发人员进一步排查问题
乃至彻底解决问题提供对照依据。
附图说明
36.附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
37.图1是根据一示例性实施例提出的数据检验方法的一种流程示意图;
38.图2是根据一示例性实施例提出的数据检验方法的另一种流程示意图;
39.图3是根据一示例性实施例提出的数据检验方法的另一种流程示意图;
40.图4是根据一示例性实施例提出的数据检验方法的另一种流程示意图;
41.图5是根据一示例性实施例提出的数据检验方法的另一种流程示意图;
42.图6是根据一示例性实施例提出的数据检验装置的框图;
43.图7是根据一示例性实施例提出的一种电子设备的框图。
具体实施方式
44.下面详细描述本公开的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本公开,而不能理解为对本公开的限制。
45.在本公开的描述中,若干的含义是一个或者多个,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
46.本公开的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本公开中的具体含义。
47.同源数据库指的是数据来源相同的两个或多个数据库。例如:数据库1和数据库2均从源数据库s中获取数据,则数据库1和数据库2可以被称为同源数据库。
48.在一些应用场景下,同源数据库中存储的数据需要保持一致,但在实际中存在同源数据库中数据不同的情况,即同源数据库之间的数据不一致。举例说明:同源数据库1和数据库2同样存储了公司a的数据“员工数量”,但两者存储的该数量并不相同。这种数据的不一致可能是由于系统性问题引起的,所述系统性问题包括网络堵塞、设备故障或者写入数据库的程序本身有问题等。
49.本公开通过以下实施例示出了一种数据检验方法,可以针对同源数据库执行数据检验,以解决现有技术中存在的问题。
50.实施例1:
51.参见图1,本公开提供的数据检验方法可以包括以下步骤s101到步骤s106:
52.在步骤s101中,在设定的获取周期内,从第一数据空间中持续获取符合预设条件的未标记的数据并组成第一数据集;
53.在一些实施方式中,数据可以包括数据标识和数据内容。
54.具体而言,数据标识可以具有多个级别。高级别的数据标识下可以包括若干更低
级的数据标识。
55.例如,参考表1,公司的公司名称可以为一级数据标识。公司的业务维度可为一级数据标识下的若干个二级数据标识。
[0056][0057]
表1
[0058]
以表2进行具体举例:公司名称“千x科技”是一级数据标识,公司的若干业务维度“员工数量”、“员工平均年龄”、和“专利数量”均为二级数据标识。其中,一级数据标识“千x科技”和二级数据标识“专利数量”统称为本步骤中的数据标识,数字“1500”是对应于该数据标识的数据内容。
[0059]
在一些实施方式中,预设条件可以包括选择其中一个级别的一个或多个数据标识。例如,预设条件为选择二级数据标识“员工数量”和“专利数量”,则获取第一数据空间中的各个公司的“员工数量”和“专利数量”对应的数据标识和数据内容,组成第一数据集。
[0060][0061]
表2
[0062]
参考表3,在一些实施方式中,数据标识还可分为更多级别。例如表3:一级数据标识“千x科技”、二级数据标识“员工”和三级数据标识“员工数量”统称为本步骤中的数据标识,数字“3000”是对应于该数据标识的数据内容。
[0063][0064]
表3
[0065]
在步骤s102中,在所述设定的获取周期内,从第二数据空间定时获取与所述第一数据集中的数据相对应的数据,组成第二数据集;
[0066]
在某些应用场景中,从第一数据空间获取数据并组成第一数据集所耗费的时间与从第二数据空间获取数据并组成第二数据集所耗费的时间差别较大。
[0067]
例如:在从第一数据空间获取符合预设条件的数据时,预设条件是:1.数据标识为“员工数量”,2。数据内容为“不等于1的数值”。那么,从第一数据空间获取数据时需要依次
检测每个数据的数据标识以及数据内容,而从第二数据空间获取数据时只需要检测数据标识,前者耗费时间更长。
[0068]
对应的,可以持续从第一数据空间中获取数据,并从第二数据空间中定时获取与所述第一数据集中的数据相对应的数据。例如:每隔2小时从第一数据空间获取一次数据,每次获取数据并写入第一数据集需要的时间约30~60分钟。同时,每隔10分钟从第二数据空间获取与第一数据集中的数据具有相同的数据标识的数据。
[0069]
从第一数据空间获取数据的流程和从第二数据空间获取数据的流程可以同时进行。例如:12:00开始从第一数据空间获取数据并写入第一数据集,12:40获取并写入完成。在12:00、12:10、12:20、12:30、12:40、12:50

等时间点都分别从第二数据空间中获取与该第一数据集的新增数据具有相同的数据标识的数据。
[0070]
上述方式的有益效果是:一方面可以更及时的得到同源数据库之间的不一致数据的比较结果,及时通知到相关方进行修改。另一方面可以将不一致数据依据时间段进行量化展示,更为直观。
[0071]
在步骤s103中,将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,对于所述比较表的其中一行,其第一比较列和第二比较列分别被写入所述第一数据集和所述第二数据集中的相对应的数据;
[0072]
其中,第一数据集与第二数据集中相对应的数据指的是:第一数据集和第二数据集中的具有相同数据标识的数据。
[0073]
由于数据库的写入效率相对于内存的写入效率低,为了提高效率,可以将第一数据集、第二数据集和比较表都存储在内存空间中。
[0074]
其中,将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,包括:
[0075]
s103a,确定所述第一数据集和所述第二数据集中数据标识相同的数据,将所述数据标识写入所述比较表的数据标识列;
[0076]
s103b,获取所述数据标识在所述第一数据集对应的数据内容和在所述第二数据集对应的数据内容,并分别写入与所述数据标识处于同一行的第一比较列和第二比较列。
[0077]
在步骤s104中,对所述第一比较列和所述第二比较列中的各行数据进行比较,于所述比较表中生成比较结果列;
[0078]
可选的,该比较表可以如下所示:
[0079]
数据标识列第一比较列第二比较列比较结果列千x公司
‑‑
员工数量1001001千x公司—风险数量340
…………
[0080]
表4
[0081]
在一些实施例中,所述比较结果列用于写入表征数据一致的第一标识或表征数据不一致的第二标识。可选的,如上表4所示,第一标识是以数字1表示,第二标识以数字0表示。
[0082]
在步骤s105中,在所述第一数据空间中为已经比较过的数据添加标记,所述标记将在数据发生变化后被清除;
[0083]
为避免已被检验过的数据被重复检验,本实施例引入“标记”步骤。在第一数据空
间中获取数据后,会在第一数据空间中将该已经获取的数据进行标记,下次从该第一数据空间获取数据时将不会获取已经被标记的数据。
[0084]
相应的,当第一数据空间中被标记的数据发生变化后(例如第一数据空间从源数据库获取到更新后的数据),清除该数据的标记,该数据会被重新置为未标记,以便后续对更新后的数据执行检验。
[0085]
在步骤s106中,依据所设定的指令处理所述比较结果列,生成用于展示的比较结果。
[0086]
上述实施例中的方案可以实现对同源数据库之间的不一致数据的自动校验,能够及时得到量化的校验结果,便于后续查看和修改。
[0087]
实施例2:
[0088]
参见图2,本公开提供的数据检验方法可以包括以下步骤s201到步骤s206:
[0089]
在步骤s201中,在设定的获取周期内,从第一数据空间中持续获取符合预设条件的数据并组成第一数据集;
[0090]
在步骤s202中,在所述设定的获取周期内,从第二数据空间定时获取与所述第一数据集中的数据相对应的数据,组成第二数据集;
[0091]
在步骤s203中,将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,对于所述比较表的其中一行,其第一比较列和第二比较列分别被写入所述第一数据集和所述第二数据集中的相对应的数据;
[0092]
在步骤s204中,对所述第一比较列和所述第二比较列中的各行数据进行比较,于所述比较表中生成比较结果列,所述比较结果列用于写入表征数据一致的第一标识或表征数据不一致的第二标识;
[0093]
在步骤s205中,遍历所述比较结果列,确定被写入第二标识的行;
[0094]
在步骤s206中,确定所述被写入第二标识的行中的数据标识,从源数据库中查找到具有相同的数据标识的数据,以更新所述第一数据空间和第二数据空间中的对应数据。
[0095]
上述更新步骤可以实现对于第一数据空间和第二数据空间的不一致数据的修正,当发现第一数据空间和第二数据空间中存在不一致的数据时,直接从第一数据空间和第二数据空间的源数据库中获取对应的(数据标识相同的)数据,并使用该获取到的数据更新第一数据空间和第二数据空间中的数据,实现修正的目的。
[0096]
在一些实施例中,更新所述第一数据空间和第二数据空间中的对应数据后,还可再次执行步骤s201~步骤s204,以对修正后的数据进行验证。若在验证后,仍旧存在不一致的数据,则触发通报机制,自动通报给相关技术人员进行人工处理。
[0097]
本实施例示出的方案可以实现不一致数据进行自动检验和自动修正,直到数据空间之间的数据一致,从检测到修正的步骤均不需要人工参与,节省人力的同时提高效率。
[0098]
实施例3:
[0099]
参见图3,本公开提供的数据检验方法可以包括以下步骤s301到步骤s306:
[0100]
在步骤s301中,在设定的获取周期内,从第一数据空间中持续获取符合预设条件的数据并组成第一数据集;
[0101]
在步骤s302中,在所述设定的获取周期内,从第二数据空间定时获取与所述第一数据集中的数据相对应的数据,组成第二数据集;
[0102]
在步骤s303中,将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,对于所述比较表的其中一行,其第一比较列和第二比较列分别被写入所述第一数据集和所述第二数据集中的相对应的数据;
[0103]
在步骤s304中,对所述第一比较列和所述第二比较列中的各行数据进行比较,于所述比较表中生成比较结果列,所述比较结果列用于写入表征数据一致的第一标识或表征数据不一致的第二标识;
[0104]
在步骤s305中,调取预设的第一展示函数,将所述比较结果列中被写入第二标识的行进行高亮展示,或者调取预设的第二展示函数,确定所述比较结果列中被写入第二标识的行,将所述行中的数据内容进行图形化展示。
[0105]
本实施例中的“图形化展示”可以是图形化的展示统计图表,该展示结果用于支持后续的异常检测。
[0106]
实施例4:
[0107]
参见图4,本公开提供的数据检验方法可以包括以下步骤s401到步骤s405:
[0108]
在步骤s401中,使用第一处理通道,在设定的获取周期内,从第一数据空间中持续获取符合预设条件的未标记的数据并组成第一数据集;
[0109]
在步骤s402中,使用第二处理通道,在所述设定的获取周期内,从第二数据空间定时获取与所述第一数据集中的数据相对应的数据,组成第二数据集;
[0110]
在步骤s403中,将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,对于所述比较表的其中一行,其第一比较列和第二比较列分别被写入所述第一数据集和所述第二数据集中的相对应的数据;
[0111]
在步骤s404中,使用第三处理通道,对所述第一比较列和所述第二比较列中的各行数据进行比较,于所述比较表中生成比较结果列;
[0112]
在步骤s405中,在所述第一数据空间中为已经比较过的数据添加标记,所述标记将在数据发生变化后被清除;
[0113]
在步骤s406中,依据所设定的指令处理所述比较结果列,生成用于展示的比较结果。
[0114]
上述使用不同处理通道进行各个步骤的数据处理,可以同时执行从第一数据空间中持续获取数据、从第二数据空间获取据相对应的数据,并对数据进行比较。以进一步提高处理效率。
[0115]
实施例5:
[0116]
参见图5,本公开提供的数据检验方法可以包括以下步骤s501到步骤s506:
[0117]
在步骤s501中,在设定的获取周期内,从第一数据空间中持续获取符合预设条件的未标记的数据并组成第一数据集;
[0118]
在步骤s502中,在所述设定的获取周期内,从第二数据空间中获取与第一数据集具有相同的源数据记录时间的数据,组成第二数据集;
[0119]
在步骤s503中,将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,对于所述比较表的其中一行,其第一比较列和第二比较列分别被写入所述第一数据集和所述第二数据集中的相对应的数据;
[0120]
在步骤s504中,对所述第一比较列和所述第二比较列中的各行数据进行比较,于
所述比较表中生成比较结果列;
[0121]
在步骤s505中,在所述第一数据空间中为已经比较过的数据添加标记,所述标记将在数据发生变化后被清除;
[0122]
在步骤s506中,依据所设定的指令处理所述比较结果列,生成用于展示的比较结果。
[0123]
如上文所述,源数据指的是第一数据空间和第二数据空间中数据的来源数据。源数据记录时间即为源数据被记录下来(例如记录到源数据库)的时间。
[0124]
举例说明:数据采集模块采集到a公司的专利数量更新为34件,在2月1日15:00将“a公司的专利数量为34件”这一信息记录到源数据库中,则针对包括数据标识“a公司”“专利数量”,数据内容“34”的数据而言,其源数据记录时间为2月1日15:00。
[0125]
源数据记录时间通常被记载于源数据库中,作为源数据录入时的时间戳。本实施例中,在将源数据库的数据同步到第一数据空间或第二数据空间时,需要将该源数据记录时间也一并同步过来。
[0126]
可能存在的一种情况是,第一数据空间和第二数据空间从源数据中同步数据的时间不相同。例如:源数据库在12:00时更新过一次数据。第一数据空间在12:05从源数据库1同步了数据,这些数据表示,a公司公开的专利数量是34件。第二数据空间在11:55从源数据库同步了数据,这些数据表示,a公司的专利数据是33件,第二数据空间下一次从源数据库同步数据的时间是12:15。那么如果在12:05~12:15执行针第一数据空间和第二数据空间间不一致数据的检验流程,则由于两个数据空间的同步进度不一,检验结果会发生错误。
[0127]
由此。本实施例引入了源数据记录时间,只对源数据记录时间相同的数据进行比较,可以有效避免出现上述问题,提高检验准确度。
[0128]
图6为本公开实施例一种数据检验装置的结构示意图;如图6所示,所述装置600可以包括:。
[0129]
第一获取模块610,用于在设定的获取周期内,从第一数据空间中持续获取符合预设条件的未标记的数据并组成第一数据集;
[0130]
第二获取模块620,用于在所述设定的获取周期内,从第二数据空间定时获取与所述第一数据集中的数据相对应的数据,组成第二数据集;
[0131]
数据写入模块630,用于将所述第一数据集中的数据和所述第二数据集中的数据写入比较表,对于所述比较表的其中一行,其第一比较列和第二比较列分别被写入所述第一数据集和所述第二数据集中的相对应的数据;
[0132]
数据比较模块640,用于对所述第一比较列和所述第二比较列中的各行数据进行比较,于所述比较表中生成比较结果列;
[0133]
数据标记模块650,用于在所述第一数据空间中为已经比较过的数据添加标记,所述标记将在数据发生变化后被清除
[0134]
结果生成模块660,用于依据所设定的指令处理所述比较结果列,生成用于展示的比较结果。
[0135]
图7为本公开实施例中终端的结构示意图;如图7所示,例如,终端1900可以被提供为一服务器。参照7,终端1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以
包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的数据检验方法。
[0136]
另外,终端1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行终端1900的电源管理,该通信组件1950可以被配置为实现终端1900的通信,例如,有线或无线通信。此外,该终端1900还可以包括输入/输出(i/o)接口1958。终端1900可以操作基于存储在存储器1932的操作系统,例如windows servertm,mac os xtm,unixtm,linuxtm等等。
[0137]
在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的数据检验方法的步骤。例如,该非临时性计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述数据检验方法。
[0138]
在另一示例性实施例中,还提供一种计算机程序产品,该计算机程序产品包含能够由可编程的装置执行的计算机程序,该计算机程序具有当由该可编程的装置执行时用于执行上述的数据检验方法的代码部分。
[0139]
在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合,为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。
[0140]
此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。
[0141]
以上所述实施例,仅为本公开的具体实施方式,用以说明本公开的技术方案,而非对其限制,本公开的保护范围并不局限于此,尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本公开实施例技术方案的精神和范围,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应所述以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献