【技术实现步骤摘要】
一种文件差异数据的获取方法、装置及电子设备
本申请涉及软件
,尤其涉及一种基于数据库的文件差异数据的获取方法、装置及电子设备。
技术介绍
现有技术方案分别读取两个文件,将两边文件解析后的明细数据存储在内存中,并使用Set结构存储。然后依次比较Set结构的size是否相等,以及Set集合中的每个值是否相等,进而判断两个文件的差异性。由于过程需要读取文件,并将文件内容读取到机器内存中,在文件较大,明细数据无序的情况下,机器内存可能太小,无法全部运行时存储所有的文件数据,从而不能有效的进行大文件的明细差异比较。例如,1亿笔流水,文件大小达到20G以上时,无法使用现有技术方案解决。
技术实现思路
本申请实施例提供了一种基于数据库的文件差异数据的获取方法、装置及电子设备,用于解决现有技术中在文件较大、明细数据无序的情况下,机器内存可能太小,无法全部运行时存储所有的文件数据,从而不能有效的进行大文件的明细差异比较的问题。为解决上述技术问题,本申请实施例是这样实现的:一种基于数据库的文件差异数据的获取方法,包括:基于第一文件和第二文件,获取第一文件数据表和第二文件数据表;根据 ...
【技术保护点】
1.一种文件差异数据的获取方法,其特征在于,包括:基于第一文件和第二文件,获取第一文件数据表和第二文件数据表;根据第一文件数据表和第二文件数据表中的字段名,确定第一文件数据表和第二文件数据表的数据组;根据确定的数据组查找差异数据,并标记相应数据组的状态字段;根据状态字段和确定的数据组,筛选出差异数据以及差异数据类别。
【技术特征摘要】
1.一种文件差异数据的获取方法,其特征在于,包括:基于第一文件和第二文件,获取第一文件数据表和第二文件数据表;根据第一文件数据表和第二文件数据表中的字段名,确定第一文件数据表和第二文件数据表的数据组;根据确定的数据组查找差异数据,并标记相应数据组的状态字段;根据状态字段和确定的数据组,筛选出差异数据以及差异数据类别。2.根据权利要求1所述的文件差异数据获取方法,其特征在于,根据确定的数据组查找差异数据,并标记相应数据组的状态字段前,还包括:通过数据库索引选取第一文件数据表和第二文件数据表的指定数据组,并作为查找的目标文件数据表。3.根据权利要求1或2所述的文件差异数据获取方法,其特征在于,根据确定的数据组查找差异数据,并标记相应数据组的状态字段,具体包括:根据确定的数据组,通过SQL语句查找差异数据,并标记每组数据组的状态字段。4.根据权利要求1或2所述的文件差异数据获取方法,其特征在于,根据确定的数据组查找差异数据,并标记相应数据组的状态字段,具体包括:对第一文件数据表和第二文件表的数据组进行比对,查找第一文件数据表和第二文件数据表相同的数据组,更新第一文件数据表和第二文件数据表中相应数据组的状态字段为一致数据;查找第一文件数据表有第二文件数据表无的数据组,更新第一文件数据表中相应数据组的状态字段为第一文件有第二文件无数据;查找第二文件数据表有第一文件数据表无的数据组,更新第二文件数据表中相应数据组的状态字段为第一文件无第二文件有数据;更新第一文件数据表和第二文件数据表中数据为空的状态字段为不一致数据。5.根据权利要求1或2所述的文件差异数据获取方法,其特征在于,基于第一文件和第二文件,获取第一文件数据表和第二文件数据表,包括:分别依次逐行读取第一文件和第二文件的数据,并存储至同一数据库的两个不同的数据库表中。6.根据权利要求1或2所述的文件差异数据获取方法,其特征在于,根据第一文件数据表和第二文件数据表中的字段名,确定第一文件数据表和第二文件数据表的数据组,包括:根据第一文件数据表和第二文件数据表中的字段名,确定第一文件数据表和第二文件数据表中的数据为行数据组或列数据组。7.根据权利要求1或2所述的文件差异数据获取方法,其特征在于,根据状态字段和确定的数据组,筛选出差异数据以及差异数据类别后,还包括:导出筛选出的差异数据。8.根据权利要求4所述的文件差异数据获取方法,其特征在于,查找第一文件数据表有第二文件数据表无的数据组,或者查找第二文件数据表有第一文件数据表无的数据组,包括:根据第一关键字和第二关键字,确定第一文件数据表有第二文件数据表无的数据组或者第二文件数据表有第一文件数据表无的数据组。9.根据权利要求8所述的文件差异数据获取方法,其特征在于,根据第一关键字和第二关键字,确定第一文件数据表有第二文件数据表无的数据组或者第二文件数据表有第一文件数据表无的数据组,具体包括:第一文件数据表中的一组数据的第一关键字与第二文件数据表中的任何一组数据的第一关键字都不同,确定为第一文件数据表有第二文件数据表无的数据组;第一文件数据表中的一组数据的第一关键字与第二文件数据表中的其中一组数据的第一关键字相同,继续比较两组数据的第二关键字是否相同,若相同则为不一致数据,若不同则为第一文件数据表有第二文件数据表无的数据组;第二文件数据表中的一组数据的第一关键字与第一文件数据表中的任何一组数据的第一关键字都不同,确定为第二文件数据表有第一文件数据表无的数据组;第二文件数据表中的一组数据的第一关键字与第一文件数据表中的其中一组数据的第一关键字相同,继续比较两组数据的第二关键字是否相同,若相同则为不一致数据,若不同则为第二文件数据表有第二文件数据表无的数据组。10.根据权利要求9所述的文件差异数据获取方法,其特征在于,所述第一文件和第二文件为交易明细数据文件,所述第一关键字为交易流水,所述第二关键字为客户姓名。11.一种文件差异数据的获取装置,其特征在于,包括:获取模块,基于第一文件和第二文件,获取第一文件数据表和第二文件数据表,确定模块,根据第一文件数据表和第二文件数据表中的字段名,确定第一文件数据表和第二文件数据...
【专利技术属性】
技术研发人员:赵阳阳,
申请(专利权)人:阿里巴巴集团控股有限公司,
类型:发明
国别省市:开曼群岛,KY
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。