关联表的校验方法、装置、存储介质和电子设备制造方法及图纸

技术编号:32286038 阅读:48 留言:0更新日期:2022-02-12 19:54
本公开涉及一种关联表的校验方法、装置、存储介质和电子设备,涉及电子信息处理技术领域,该方法包括:控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将待校验数据并行写入阻塞队列,控制第二数量个校验线程,从阻塞队列中并行读取待校验数据,并按照预设的关联关系对待校验数据与目标数据表进行并行校验,源数据表与目标数据表之间具有关联关系,将每个校验线程的校验结果进行合并,以得到源数据表与目标数据表对应的总校验结果。本公开通过并行运行的读取线程从源数据表中读取数据,并通过并行运行的校验线程执行校验,能够有效提高源数据表与目标数据表之间关联关系的校验速度。关系的校验速度。关系的校验速度。

【技术实现步骤摘要】
关联表的校验方法、装置、存储介质和电子设备


[0001]本公开涉及电子信息处理
,具体地,涉及一种关联表的校验方法、装置、存储介质和电子设备。

技术介绍

[0002]随着互联网、云计算等信息技术的迅猛发展,相应带来的数据量也呈现爆发式的增长。在对大量的数据进行分析的过程中,经常需要对数据进行校验,以确定数据是否符合要求。尤其是针对具有关联关系的多个数据表,需要校验数据表内的数据是否符合关联关系。例如,存储有一个地区内所有初中学生的学生信息的学生表,和存储有该地区内所有初中学校的学校信息的学校表,需要校验学生表中的每个学生信息,在学校表中都有对应的学校信息,即每个初中学生均对应一个初中学校。当数据表中存储的数据量很大时,现有的数据校验速度过慢,无法满足实际需求。例如百亿级的数据量,校验速度为20000条/s,那么100亿条数据就需要将近6天时间才能完成校验,很难进行实际应用。

技术实现思路

[0003]本公开的目的是提供一种关联表的校验方法、装置、存储介质和电子设备,用于解决现有技术中存在的相关问题。
[0004]为了实现上述目的,根据本公开实施例的第一方面,提供一种关联表的校验方法,所述方法包括:
[0005]控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将所述待校验数据并行写入阻塞队列;
[0006]控制第二数量个校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,所述源数据表与所述目标数据表之间具有所述关联关系;
[0007]将每个所述校验线程的校验结果进行合并,以得到所述源数据表与所述目标数据表对应的总校验结果。
[0008]可选地,每个所述读取线程对应一个数据库连接,且每个所述读取线程对应所述源数据表中的一个待校验数据组,每个所述待校验数据组中包括多个所述待校验数据;
[0009]所述控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将所述待校验数据并行写入阻塞队列,包括:
[0010]控制每个所述读取线程,通过对应的所述数据库连接依次读取对应的所述待校验数据组中的一个所述待校验数据,并将该待校验数据写入所述阻塞队列;
[0011]所述控制第二数量个校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,包括:
[0012]控制每个所述校验线程,从所述阻塞队列中依次读取一个所述待校验数据,并按照所述关联关系对该待校验数据与所述目标数据表进行校验。
[0013]可选地,所述控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将所述待校验数据并行写入阻塞队列,包括:
[0014]在所述阻塞队列不为满的情况下,控制第一数量个所述读取线程从所述源数据表中并行读取所述待校验数据,并将所述待校验数据并行写入所述阻塞队列;
[0015]在所述阻塞队列为满的情况下,阻塞第一数量个所述读取线程;
[0016]所述控制第二数量个校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,包括:
[0017]在所述阻塞队列不为空的情况下,控制第二数量个所述校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照所述关联关系对所述待校验数据与所述目标数据表进行校验;
[0018]在所述阻塞队列为空的情况下,阻塞第二数量个所述校验线程。
[0019]可选地,所述将每个所述校验线程的校验结果进行合并,包括:
[0020]在所述阻塞队列为空,且每个读取线程读取完对应的所述待校验数据组的情况下,将每个所述校验线程的所述校验结果进行合并,以得到所述总校验结果。
[0021]可选地,每个所述校验线程对应一个结果缓存器;所述方法还包括:
[0022]将所述目标数据表存入目标缓存器;
[0023]所述按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,包括:
[0024]控制每个所述校验线程,从所述目标缓存器中读取所述目标数据表;
[0025]控制该校验线程依次校验所述待校验数据与所述目标数据表中指定列的每个数据是否满足所述关联关系,并将所述校验结果存入该校验线程对应的所述结果缓存器。
[0026]可选地,所述将每个所述校验线程的校验结果进行合并,包括:
[0027]将每个所述校验线程对应的所述结果缓存器中存储的所述校验结果进行合并,以得到所述总校验结果。
[0028]为了实现上述目的,根据本公开实施例的第二方面,提供一种关联表的校验装置,所述装置包括:
[0029]读取模块,用于控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将所述待校验数据并行写入阻塞队列;
[0030]校验模块,用于控制第二数量个校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,所述源数据表与所述目标数据表之间具有所述关联关系;
[0031]合并模块,用于将每个所述校验线程的校验结果进行合并,以得到所述源数据表与所述目标数据表对应的总校验结果。
[0032]可选地,每个所述读取线程对应一个数据库连接,且每个所述读取线程对应所述源数据表中的一个待校验数据组,每个所述待校验数据组中包括多个所述待校验数据;
[0033]所述读取模块用于:
[0034]控制每个所述读取线程,通过对应的所述数据库连接依次读取对应的所述待校验数据组中的一个所述待校验数据,并将该待校验数据写入所述阻塞队列;
[0035]所述校验模块用于:
[0036]控制每个所述校验线程,从所述阻塞队列中依次读取一个所述待校验数据,并按
照所述关联关系对该待校验数据与所述目标数据表进行校验。
[0037]可选地,所述读取模块包括:
[0038]读取子模块,用于在所述阻塞队列不为满的情况下,控制第一数量个所述读取线程从所述源数据表中并行读取所述待校验数据,并将所述待校验数据并行写入所述阻塞队列;
[0039]第一阻塞子模块,用于在所述阻塞队列为满的情况下,阻塞第一数量个所述读取线程;
[0040]所述校验模块包括:
[0041]校验子模块,用于在所述阻塞队列不为空的情况下,控制第二数量个所述校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照所述关联关系对所述待校验数据与所述目标数据表进行校验;
[0042]第二阻塞子模块,用于在所述阻塞队列为空的情况下,阻塞第二数量个所述校验线程。
[0043]可选地,所述合并模块用于:
[0044]在所述阻塞队列为空,且每个读取线程读取完对应的所述待校验数据组的情况下,将每个所述校验线程的所述校验结果进行合并,以得到所述总校验结果。
[0045]可选地,每个所述校验线程对应一个结果缓存本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种关联表的校验方法,其特征在于,所述方法包括:控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将所述待校验数据并行写入阻塞队列;控制第二数量个校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,所述源数据表与所述目标数据表之间具有所述关联关系;将每个所述校验线程的校验结果进行合并,以得到所述源数据表与所述目标数据表对应的总校验结果。2.根据权利要求1所述的方法,其特征在于,每个所述读取线程对应一个数据库连接,且每个所述读取线程对应所述源数据表中的一个待校验数据组,每个所述待校验数据组中包括多个所述待校验数据;所述控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将所述待校验数据并行写入阻塞队列,包括:控制每个所述读取线程,通过对应的所述数据库连接依次读取对应的所述待校验数据组中的一个所述待校验数据,并将该待校验数据写入所述阻塞队列;所述控制第二数量个校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,包括:控制每个所述校验线程,从所述阻塞队列中依次读取一个所述待校验数据,并按照所述关联关系对该待校验数据与所述目标数据表进行校验。3.根据权利要求1所述的方法,其特征在于,所述控制第一数量个读取线程,从源数据表中并行读取待校验数据,并将所述待校验数据并行写入阻塞队列,包括:在所述阻塞队列不为满的情况下,控制第一数量个所述读取线程从所述源数据表中并行读取所述待校验数据,并将所述待校验数据并行写入所述阻塞队列;在所述阻塞队列为满的情况下,阻塞第一数量个所述读取线程;所述控制第二数量个校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照预设的关联关系对所述待校验数据与目标数据表进行并行校验,包括:在所述阻塞队列不为空的情况下,控制第二数量个所述校验线程,从所述阻塞队列中并行读取所述待校验数据,并按照所述关联关系对所述待校验数据与所述目标数据表进行校验;在所述阻塞队列为空的情况下,阻塞第二数量个所述校验线程。4.根据权利要求2所述的方法,其特征在于,所述将每个所述校验线程的校验结果进行合并,包括:在所述阻塞队列为空,且每个读取线程读取完对应的所述待校验数据组的情况下,将每...

【专利技术属性】
技术研发人员:王鑫李东鸽
申请(专利权)人:山东东软系统集成有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1