CN105989089A - 一种数据对比方法及装置 - Google Patents
一种数据对比方法及装置 Download PDFInfo
- Publication number
- CN105989089A CN105989089A CN201510075473.2A CN201510075473A CN105989089A CN 105989089 A CN105989089 A CN 105989089A CN 201510075473 A CN201510075473 A CN 201510075473A CN 105989089 A CN105989089 A CN 105989089A
- Authority
- CN
- China
- Prior art keywords
- data
- tables
- record
- field
- area
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例公开了一种数据对比方法及装置,该方法包括:获取第一数据表和第二数据表;选取第一数据表和第二数据表的共有字段;将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;根据检测结果,判断第一数据表和第二数据表中的数据是否一致。本申请实施例的数据对比方法及装置,能够准确的判断不同数据表中的数据是否一致。
Description
技术领域
本申请涉及计算机技术领域,特别涉及一种数据对比方法及装置。
背景技术
随着互联网数据的日益增长,数据表中的数据量也在逐渐递增,目前一张数据表的数据量有可能达到TB(Terabyte太字节)、PB(Petabyte,拍字节)级别。在一些情况下,需要将一张数据表中的海量数据迁移到另一张数据表中。海量数据在迁移过程中容易出现差错,例如部分数据丢失或部分数据的值出现差错等。因此,在数据迁移之后,需要对两张数据表中的数据进行对比,以确保迁移前后数据保持一致。
现有技术中,通常采用统计分析的方法对比两张数据表中的数据。例如,分别统计两张数据表相同字段数据的平均值(还可以是最大值、最小值、中位数等),然后将两张数据表的平均值进行对比。若平均值相同,则认为两张数据表中的数据一致,若平均值不相同,则认为两张数据表中的数据不一致。
但是,上述采用统计分析的方法对比两张数据表中的数据,并不能够准确的反映出两张数据表中数据的一致性。例如,一张数据表中某一字段的两个数据分别为1500和500,另一张数据表中该字段的两个数据均为1000。分别计算两张数据表该字段数据的平均值。得到两张数据表的平均值均为1000。由此认为两张数据表中的数据一致。但是,两张数据表中的数据并不相同。
发明内容
本申请实施例的目的在于提供一种数据对比方法及装置,以准确的判断不同数据表中的数据是否一致。
为解决上述技术问题,本申请实施例提供的一种数据对比方法及装置是这样实现的:
一种数据对比方法,包括:
获取第一数据表和第二数据表;
选取第一数据表和第二数据表的共有字段;
将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
根据检测结果,判断第一数据表和第二数据表中的数据是否一致。
另一种数据对比方法,包括:
获取第一数据文件和第一数据表;
获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第二数据表中;
选取第一数据表和第二数据表的共有字段;
将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
根据检测结果,判断第一数据文件和第一数据表中的数据是否一致。
另一种数据对比方法,包括:
获取第一数据文件和第二数据文件;
获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
选取第一数据表和第二数据表的共有字段;
将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致。
另一种数据对比方法,包括:
获取第一数据表和第二数据表;
按照预设分区规则,分别将第一数据表和第二数据表分成不同的区域;
从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
选取第一数据表和第二数据表的共有字段;
将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
根据检测结果,判断第一数据表和第二数据表中的数据不一致。
另一种数据对比方法,包括:
获取第一数据文件和第一数据表;
获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第二数据表中;
按照预设分区规则,分别将第一数据表和第二数据表分成不同的区域;
从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
选取第一数据表和第二数据表的共有字段;
将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
根据检测结果,判断第一数据文件和第一数据表中的数据不一致。
另一种数据对比方法,包括:
获取第一数据文件和第二数据文件;
获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
按照预设分区规则,分别将第一数据表和第二数据表分成不同的区域;
从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
选取第一数据表和第二数据表的共有字段;
将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
根据检测结果,判断第一数据文件和第二数据文件中的数据不一致。
一种数据对比装置,包括:
第一获取模块,用于获取第一数据表和第二数据表;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第一对比模块,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第一判断模块,用于根据检测结果,判断第一数据表和第二数据表中的数据是否一致。
另一种数据对比装置,包括:
第二获取模块,用于获取第一数据文件和第一数据表;
第一建立模块,用于获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第一保存模块,用于将第一数据文件中的数据保存至第二数据表中;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第一对比模块,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第二判断模块,用于根据检测结果,判断第一数据文件和第一数据表中的数据是否一致。
另一种数据对比装置,包括:
第三获取模块,用于获取第一数据文件和第二数据文件;
第二建立模块,用于获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第三建立模块,用于获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第二保存模块,用于将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第一对比模块,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第三判断模块,用于根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致。
另一种数据对比装置,包括:
第一获取模块,用于获取第一数据表和第二数据表;
分区模块,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第二对比模块,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第四判断模块,用于根据检测结果,判断第一数据表和第二数据表之间的数据不一致。
另一种数据对比装置,包括:
第二获取模块,用于获取第一数据文件和第一数据表;
第一建立模块,用于获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第一保存模块,用于将第一数据文件中的数据保存至第二数据表中;
分区模块,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第二对比模块,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第五判断模块,用于根据检测结果,判断第一数据文件和第一数据表中的数据不一致。
另一种数据对比装置,包括:
第三获取模块,用于获取第一数据文件和第二数据文件;
第二建立模块,用于获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第三建立模块,用于获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第二保存模块,用于将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
分区模块,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第二对比模块,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第六判断模块,用于根据检测结果,判断第一数据文件和第二数据文件中的数据不一致。
由以上本申请实施例提供的技术方案可见,本申请实施例通过将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,从而判断第一数据表和第二数据表中的数据是否一致。与现有技术相比,由于本申请实施例将两张数据表中的数据进行了一一对比,因而能够检测出两张数据表之间是否存在差异数据,从而准确的判断不同数据表中的数据是否一致。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例中一种数据对比方法的流程示意图;
图2是本申请实施例中另一种数据对比方法的流程示意图;
图3是本申请实施例中另一种数据对比方法的流程示意图;
图4是本申请实施例中另一种数据对比方法的流程示意图;
图5是本申请实施例中一种数据对比装置的功能模块示意图;
图6是本申请实施例中另一种数据对比装置的功能模块示意图;
图7是本申请实施例中另一种数据对比装置的功能模块示意图;
图8是本申请实施例中另一种数据对比装置的功能模块示意图;
图9是本申请实施例中另一种数据对比装置的功能模块示意图;
图10是本申请实施例中另一种数据对比装置的功能模块示意图;
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
在本申请的说明书中:
字段一般指数据表中的列。在数据表中,每一列一般称为一个字段。
记录一般指数据表中的行。在数据表中,每一行一般称为一个记录。
如图1所示,本申请实施例提供的一种数据对比方法包括:
S101:获取第一数据表和第二数据表。
所述第一数据表和所述第二数据表中保存有待对比的数据。
在某一实施方式中,第一数据表为保存有海量数据的数据表。在一些情况下,将第一数据表中的海量数据迁移到第二数据表中。为了确保迁移前后的数据保持一致,需要将第一数据表中的数据和第二数据表中的数据进行对比。
在另一实施方式中,第一数据表为保存有海量数据的数据表。在一些情况下,对第一数据表中的数据使用了不稳定的排序算法进行排序,并将排序后的数据保存到第二数据表中。为了检测排序前后的数据是否一致,需要将第一数据表中的数据和第二数据表中的数据进行对比。其中,不稳定的排序算法一般是指若待排序的两个数据相等,则排序之后两个数据的先后顺序可能不变,也可能发生变化。即两个数据的先后顺序是不确定的。不稳定的排序算法有可能使数据产生差错。例如,某一数据表中保存了学生数据。该数据表的字段包括姓名、学号、年龄、班级等。数据表中的数据已经按照学号大小进行了排序。在一些情况下,仍需要按照年龄从小到大再次进行排序。如果年龄相同,则按照学号从小到大进行排序。若选择了不稳定的排序算法对年龄进行排序,那么,排序后年龄相同学生的学号有可能产生差错。
S102:选取第一数据表和第二数据表的共有字段,将选取的字段标记为第一字段。
一般情况下,第一数据表和第二数据表是具有一定关联的。例如,第二数据表中保存的是由第一数据表迁移过去的数据。或者,第二数据表中保存的是排序后的第一数据表中的数据。又或者,第二数据表中保存的是修改数据结构后的第一数据表中的数据。因此,一般情况下,第一数据表的结构和第二数据表的结构相类似。第一数据表和第二数据表之间存在共有字段。
首先获取第一数据表的字段,然后获取第二数据表的字段,最后选取第一数据表和第二数据表的共有字段。将选取的字段标记为第一字段。所述第一字段的数量可以是一个,也可以是多个。
在某一实施方式中,可以根据字段的名称选取第一数据表和第二数据表的共有字段。例如,第一数据表的字段包括账户名称、商品金额、商品种类。第二数据表的字段包括账户名称、商品金额。第一数据表和第二数据表的共有字段为账户名称和商品金额。将账户名称和商品金额标记为第一字段。第一字段的数量为两个。
S103:将第一数据表每个记录第一字段的数据与第二数据表第一字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据。
将第一数据表每个记录第一字段的数据与第二数据表第一字段的数据进行对比,若第一数据某个记录第一字段的数据与第二数据表第一字段的数据均不相同,则该记录的数据为第一数据表和第二数据表之间的差异数据。在第一数据表的记录均对比完后,从第二数据表中选出与第一数据表第一字段的数据均不相同的记录,选出的记录的数据为第一数据表和第二数据表之间的差异数据。
在某一实施方式中,在步骤S103中,将第一数据表每个记录第一字段的数据与第二数据表每个记录第一字段的数据进行对比。
进一步的,在将第一数据表每个记录第一字段的数据与第二数据表每个记录第一字段的数据进行对比的过程中,将第一记录每个第一字段的数据分别与第二记录相应第一字段的数据进行对比。所述第一记录为第一数据表的任一记录。所述第二记录为第二数据表的任一记录。所述相应第一字段一般为名称相同的第一字段。
下面以一个具体例子详细说明以上的对比过程。
第一数据表如下面的表1所示。第二数据表如下面的表2所示。第一数据表包括Nick、Age和Tag字段。第二数据表包括Nick、Age、Tag和trading-volume字段。选取Nick、Age和Tag字段作为第一字段。第一字段的数量为3个。
表1
Nick | Age | Tag |
Tom | 30 | 美食 |
Jack | 20 | 女装 |
表2
Nick | Age | Tag | trading-volume |
Jack | 20 | 美食 | 15 |
Tom | 30 | 美食 | 20 |
选取表1第一个记录(第一行)每个第一字段的数据。选取表2第一个记录每个第一字段的数据。然后将表1第一个记录和表2第一个记录Nick字段的数据进行对比,即将“Tom”和“Jack”进行对比。由于“Tom”和“Jack”不相同,因此表1第一个记录和表2第一个记录Nick字段的数据不相同。从而判断表1第一个记录第一字段的数据与表2第一个记录第一字段的数据不相同。
选取表2第二个记录每个第一字段的数据。将表1第一个记录和表2第二个记录Nick字段的数据进行对比。由于二者都为“Tom”,因此表1第一个记录和表2第二个记录Nick字段的数据相同。然后将表1第一个记录和表2第二个记录Age字段的数据进行对比。由于二者都为“30”,因此表1第一个记录和表2第二个记录Age字段的数据相同。最后将表1第一个记录和表2第二个记录Tag字段的数据进行对比。由于二者都为“美食”,因此表1第一个记录和表2第二个记录Tag字段的数据相同。从而判断表1第一个记录第一字段的数据与表2第二个记录第一字段的数据相同。
接下来选取表1第二个记录每个第一字段的数据。选取表2第一个记录每个第一字段的数据。然后将表1第二个记录和表2第一个记录Nick字段的数据进行对比。由于二者都为“Jack”,因此表1第二个记录和表2第一个记录Nick字段的数据相同。然后将表1第二个记录和表2第一个记录Age字段的数据进行对比。由于二者都为“20”,因此表1第二个记录和表2第一个记录Age字段的数据相同。最后将表1第二个记录和表2第一个记录Tag字段的数据进行对比。由于“女装”和“美食”不相同,因此表1第二个记录和表2第一个记录Tag字段的数据不相同。从而判断表1第二个记录第一字段的数据与表2第一个记录第一字段的数据不相同。
选取表2第二个记录每个第一字段的数据。将表1第二个记录和表2第二个记录Nick字段的数据进行对比。由于“Jack”和“Tom”不相同,因此表1第二个记录和表2第二个记录Nick字段的数据不相同。从而判断表1第二个记录第一字段的数据与表2第二个记录第一字段的数据不相同。
由以上的对比过程可知,由于表1第二个记录第一字段的数据与表2每个记录第一字段的数据均不相同。因此,将表1第二个记录的数据标记为第一差异数据。类似地,将表2第一个记录的数据标记为第二差异数据。
进一步的,为了加快数据对比的速度,在对比之前,可以分别将第一数据表和第二数据表每个第一字段的数据按相同的顺序进行拼接处理。具体如下:
将第一数据表每个记录第一字段的数据按顺序拼接。将第二数据表每个记录第一字段的数据按相同顺序拼接。最后将第一数据表每个记录拼接后的数据与第二数据表每个记录拼接后的数据进行对比。
下面以一个具体例子详细说明以上的对比过程。
第一数据表如表1所示。第二数据表如表2所示。针对表1的每个记录,按照nick、age和tag字段的顺序进行拼接。拼接后的数据如下面的表3所示。
表3
NickAgeTag(字段) |
Tom30美食 |
Jack20女装 |
针对表2的每个记录。同样按照nick、age和tag字段的顺序进行拼接。拼接后的数据如下面的表4所示。
表4
NickAgeTag(字段) |
Jack20美食 |
Tom30美食 |
选取表3第一个记录的数据。选取表4第一个记录的数据。然后将表3第一个记录的数据和表4第一个记录的数据进行对比。即将“Tom30美食”和“Jack20美食”进行对比。由于二者不相同,因此表3第一个记录的数据和表4第一个记录的数据不相同。
选取表4第二个记录的数据。然后将表3第一个记录的数据和表4第二个记录的数据进行对比。由于二者均为“Tom30美食”,因此表3第一个记录的数据和表4第二个记录的数据相同。
接下来选取表3第二个记录的数据。选取表4第一个记录的数据。然后将表3第二个记录的数据和表4第一个记录的数据进行对比。即将“Jack20女装”和“Jack20美食”进行对比。由于二者不相同,因此表3第二个记录的数据和表4第一个记录的数据不相同。
选取表4第二个记录的数据。然后将表3第二个记录的数据和表4第二个记录的数据进行对比。即将“Jack20女装”和“Tom30美食”进行对比。由于二者不相同,因此表3第二个记录的数据和表4第二个记录的数据不相同。
由以上的对比过程可知,由于表3第二个记录的数据与表4每个记录的数据均不相同。因此,将表3第二个记录的数据标记为差异数据。类似地,将表4第一个记录的数据标记为差异数据。
表3的每个记录与表1的每个记录具有一一对应的关系。表4的每个记录与表2的每个记录具有一一对应的关系。根据表3的记录的行数(例如第一行、第二行)可以获取表1中的相应记录。同样,根据表4的记录的行数可以获取表2中的相应记录。由于表3第二个记录的行数为第二行,因此将表1第二个记录的数据标记为第一差异数据。类似地,将表2第一个记录的数据标记为第二差异数据。
进一的,为了加快数据对比的速度,在对比之前,还可以分别将第一数据表和第二数据表每个第一字段的数据转换为相同长度的数据,例如MD5数据。具体如下:
将第一数据表每个记录第一字段的数据按顺序进行拼接,并将拼接后的数据转换为相同长度的数据,将该相同长度的数据记为第一数据。将第二数据表每个记录第一字段的数据按相同的顺序进行拼接,并将拼接后的数据转换为相同长度的数据,将该相同长度的数据记为第二数据。最后将第一数据表每个记录的第一数据与第二数据表每个记录的第二数据进行对比。
下面以一个具体例子详细说明以上的对比过程。
第一数据表如表1所示,第二数据表如表2所示。针对表1的每个记录,按照nick、age和tag字段的顺序进行拼接。拼接后的数据如表3所示。将表3每个记录的数据转换为第一数据,转换后的数据如表5所示。
表5
NickAgeTag(字段) |
7313945297FC5F81 |
15C6779E36F32C90 |
针对表2的每个记录。同样按照nick、age和tag字段的顺序进行拼接。拼接后的数据如下面的表4所示。将表4每个记录的数据转换为第二数据,转换后的数据如表6所示。
表6
NickAgeTag(字段) |
304CF40D47E1C0FF |
7313945297FC5F81 |
选取表5第一个记录的数据。选取表6第一个记录的数据。然后将表5第一个记录的数据和表6第一个记录的数据进行对比。即将“7313945297FC5F81”和“304CF40D47E1C0FF”进行对比。由于二者不相同,因此表5第一个记录的数据和表6第一个记录的数据不相同。
选取表6第二个记录的数据。然后将表5第一个记录的数据和表6第二个记录的数据进行对比。由于二者均为“7313945297FC5F81”,因此表5第一个记录的数据和表6第二个记录的数据相同。
接下来选取表5第二个记录的数据。选取表6第一个记录的数据。然后将表5第二个记录的数据和表6第一个记录的数据进行对比。即将“15C6779E36F32C90”和“304CF40D47E1C0FF”进行对比。由于二者不相同,因此表5第二个记录的数据和表6第一个记录的数据不相同。
选取表6第二个记录的数据。然后将表5第二个记录的数据和表6第二个记录的数据进行对比。即将“15C6779E36F32C90”和“7313945297FC5F81”进行对比。由于二者不相同,因此表5第二个记录的数据和表6第二个记录的数据不相同。
由以上的对比过程可知,由于表5第二个记录的数据与表6每个记录的数据均不相同。因此,将表5第二个记录的数据标记为差异数据。类似地,将表6第一个记录的数据标记为差异数据。
表5的每个记录与表1的每个记录具有一一对应的关系。表6的每个记录与表2的每个记录具有一一对应的关系。根据表5的记录的行数(例如第一行、第二行)可以获取表1中的相应记录。同样,根据表6的记录的行数可以获取表2中的相应记录。由于表5第二个记录的行数为第二行,因此将表1第二个记录的数据标记为第一差异数据。类似地,将表2第一个记录的数据标记为第二差异数据。
在另一实施方式中,当检测到第一数据表和第二数据表之间设有主键(primary key)时,可以使用主键加快数据表之间数据对比的速度。由于第一数据表和第二数据表是具有一定关联的,因此可以检测第一数据表和第二数据表的配置数据,以判断第一数据表和第二数据表之间是否设有主键。其中,所述主键一般是数据表中的一个或多个字段,它的值用于惟一地标识数据表中的记录。当两个数据表之间设有主键时,那么,同一个主键值在两个数据表中代表的是同一个记录。
在步骤S103中,使用主键加快数据表之间数据对比速度的过程如下:
获取第一数据表和第二数据表之间的主键。针对每个主键值,获取该主键值所对应的第三记录和第四记录。将第三记录第一字段的数据与第四记录第一字段的数据进行对比。所述第三记录为第一数据表的记录,所述第四记录为第二数据表的记录;
进一步的,在将第三记录第一字段的数据与第四记录第一字段的数据进行对比的过程中,将第三记录每个第一字段的数据分别与第四记录相应第一字段的数据进行对比。所述相应第一字段一般为名称相同的第一字段。
下面以一个具体例子详细说明以上的对比过程。
第一数据表如下面的表7所示。第二数据表如下面的表8所示。第一数据表包括ID、Nick和Tag字段。第二数据表包括ID、Nick、Tag和trading-volume字段。选取nick和tag字段作为第一字段。第一字段的数量为2个。ID字段为第一数据表和第二数据表之间的主键。
表7
ID(主键) | Nick | Tag |
001 | Tom | 美食 |
002 | Jack | 女装 |
表8
ID(主键) | Nick | Tag | trading-volume |
001 | Tom | 美食 | 20 |
002 | Jack | 美食 | 15 |
首先选取主键值001。在表7中,主键值001所对应的为第一个记录。在表8中,主键值001所对应的为第一个记录。将表7第一个记录和表8第一个记录Nick字段的数据进行对比。由于二者都为“Tom”,因此表7第一个记录和表8第一个记录Nick字段的数据相同。然后将表7第一个记录和表8第一个记录Tag字段的数据进行对比。由于二者都为“美食”,因此表7第一个记录和表8第一个记录Tge字段的数据相同。从而判断表7第一个记录第一字段的数据与表8第一个记录第一字段的数据相同。
接下来选取主键值002。在表7中,主键值002所对应的为第二个记录。在表8中,主键值002所对应的为第二个记录。将表7第二个记录和表8第二个记录Nick字段的数据进行对比。由于二者都为“Jack”,因此表7第一个记录和表8第一个记录Nick字段的数据相同。然后将表7第二个记录和表8第二个记录Tag字段的数据进行对比。由于“女装”和“美食”不相同,因此表7第二个记录和表8第二个记录Tag字段的数据不相同。从而判断表7第二个记录第一字段的数据与表8第二个记录第一字段的数据不相同。
由以上的对比过程可知,表7第二个记录第一字段的数据与表8第二个记录第一字段的数据不相同。并且由于主键值用于惟一地标识数据表中的记录,因此表7第二个记录第一字段的数据与表8其它记录第一字段的数据也不相同。因此,将表7第二个记录的数据标记为第一差异数据。类似地,将表8第二个记录的数据标记为第二差异数据。
更进一步的,在一些情况下,对于数据表中数据类型为整数或实数的数据,允许其在第一数据表和第二数据表中存在一定的差异,只要该差异在合理的范围内即可。因此,对于数据表中数据类型为整数或实数的数据,可以设定阈值。具体方法如下:
从第一字段中选取数据类型为整数或实数的字段,将选取的字段记为第二字段。其中,所述数据类型为整数的字段包括但不限于数据类型为int、bigint、long或short的字段,所述数据类型为实数的字段包括但不限于数据类型为float或double的字段。所述第二字段的数量可以为1个,也可以为多个。
获取第一数据表和第二数据表之间的主键。针对每个主键值,获取该主键值所对应的第三记录和第四记录。将第三记录第一字段的数据与第四记录第一字段的数据进行对比。所述第三记录为第一数据表的记录,所述第四记录为第二数据表的记录;
在将第三记录第一字段的数据与第四记录第一字段的数据进行对比的过程中,首先从第一字段中选取第二字段;然后根据第三记录第二字段的数据和第四记录第二字段的数据按第一预设函数进行计算;然后将计算结果与第一阈值进行比较。
当计算结果大于第一阈值时,表示第二字段的数据在第一数据表和第二数据表中的差异过大。因此将第三记录的数据标记为第一差异数据,将第四记录的数据标记为第二差异数据。
当计算结果小于第一阈值时,表示第二字段的数据在第一数据表和第二数据表中的差异在合理范围内。此时,选取第一字段中除去第二字段后剩余的字段,然后将第三记录剩余字段的数据与第四记录剩余字段的数据进行对比。
所述第一预设函数可以是abs(a.gmv-b.gmv)/max(a.gmv,b.gmv)。其中,a表示第一数据表,b表示第二数据表,gmv表示第二字段,abs为取绝对值运算,max为取最大值运算,a.gmv表示第一数据表任一记录gmv字段的数值,b.gmv表示第二数据表任一记录gmv字段的数值。
第一阈值的大小可以根据实际的需求而灵活设定。若对数据的一致性要求较高,则第一阈值可以设定的小些。若对数据的一致性要求较低,则第一阈值可以设定的大些。
下面以一个具体例子详细说明以上的对比过程。
第一数据表如下面的表9所示。第二数据表如下面的表10所示。第一数据表包括ID、Nick和Age字段。第二数据表包括ID、Nick、Age和trading-volume字段。选取nick和Age字段为第一字段。第一字段的数量为2个。ID字段为第一数据表和第二数据表之间的主键。在第一字段中,由于Age字段的数据类型为整数,因此将age字段记为第二字段。第一预设函数为abs(表9.Age-表10.Age)/max(表9.Age,表10.Age)。第一阈值的数值设为0.2。
表9
ID(主键) | Nick | Age |
001 | Tom | 30 |
002 | Jack | 20 |
表10
ID(主键) | Nick | Age | trading-volume |
001 | Tom | 25 | 20 |
002 | Jack | 15 | 15 |
首先选取主键值001。在表9中,主键值001所对应的为第一个记录。在表10中,主键值001所对应的为第一个记录。首先将表9第一个记录和表10第一个记录Age字段的数据进行对比。表9第一个记录Age字段的数据为30。表10第一个记录Age字段的数据为25。计算第一预设函数的值为0.167,小于0.2。因此认为表9第一个记录和表10第一个记录Age字段的数据相同。然后将表9第一个记录和表10第一个记录Nick字段的数据进行对比。由于二者都为“Tom”,因此表9第一个记录和表10第一个记录Tge字段的数据相同。从而判断表9第一个记录第一字段的数据与表10第一个记录第一字段的数据相同。
接下来选取主键值002。在表9中,主键值002所对应的为第二个记录。在表10中,主键值002所对应的为第二个记录。首先将表9第二个记录和表10第二个记录Age字段的数据进行对比。表9第二个记录Age字段的数据为20。表10第二个记录Age字段的数据为15。计算第一预设函数的值为0.25,大于0.2。因此认为表9第二个记录和表10第二个记录Age字段的数据不相同。从而判断表9第二个记录第一字段的数据与表10第二个记录第一字段的数据不相同。
由以上的对比过程可知,表9第二个记录第一字段的数据与表10第二个记录第一字段的数据不相同。并且由于主键值用于惟一地标识数据表中的记录,因此表9第二个记录第一字段的数据与表10其它记录第一字段的数据也不相同。因此,将表9第二个记录的数据标记为第一差异数据。类似地,将表10第二个记录的数据标记为第二差异数据。
进一步的,为了加快数据对比的速度,在对比之前,可以分别将第一数据表和第二数据表每个第一字段的数据按相同的顺序进行拼接处理。具体如下:
获取第一数据表和第二数据表之间的主键。针对每个主键值,获取该主键值所对应的第三记录和第四记录。将第三记录第一字段的数据与第四记录第一字段的数据进行对比。所述第三记录为第一数据表的记录,所述第四记录为第二数据表的记录;
在将第三记录第一字段的数据与第四记录第一字段的数据进行对比的过程中,将第三记录第一字段的数据按顺序拼接。将第四记录第一字段的数据按相同顺序拼接。最后将第三记录拼接后的数据与第四记录拼接后的数据进行对比。
下面以一个具体例子详细说明以上的对比过程。
第一数据表如表7所示,第二数据表如表8所示。针对表7的每个记录,按照nick和tag字段的顺序进行拼接。拼接后的数据如下面的表11所示。
表11
ID(主键) | Nick Tag(字段) |
001 | Tom美食 |
002 | Jack女装 |
针对表8的每个记录,同样按照nick和tag字段的顺序进行拼接。拼接后的数据如下面的表12所示。
表12
ID(主键) | Nick Tag(字段) |
001 | Tom美食 |
002 | Jack美食 |
首先选取主键值001。在表11中,主键值001所对应的为第一个记录。在表12中,主键值001所对应的为第一个记录。将表11第一个记录的数据和表12第一个记录的据进行对比。由于二者都为“Tom美食”,因此表11第一个记录的数据和表12第一个记录的数据相同。
接下来选取主键值002。在表11中,主键值002所对应的为第二个记录。在表12中,主键值002所对应的为第二个记录。将表11第二个记录的数据和表12第二个记录的数据进行对比。由于“Jack女装”和“Jack美食”不相同,因此表11第二个记录的数据和表12第二个记录的数据不相同。
由以上的对比过程可知,表11第二个记录的数据与表12第二个记录的数据不相同。并且由于主键值用于惟一地标识数据表中的记录,因此表11第二个记录的数据与表12其它记录的数据也不相同。因此,将表11第二个记录的数据标记为差异数据。类似地,将表12第二个记录的数据标记为差异数据。
表11的每个记录与表7的每个记录具有一一对应的关系。表12的每个记录与表8的每个记录具有一一对应的关系。根据表11的记录的行数(例如第一行、第二行)可以获取表7中的相应记录。同样,根据表12的记录的行数可以获取表8中的相应记录。由于表11第二个记录的行数为第二行,因此将表7第二个记录的数据标记为第一差异数据。类似地,将表8第二个记录的数据标记为第二差异数据。
进一的,为了加快数据对比的速度,在对比之前,还可以分别将第一数据表和第二数据表每个第一字段的数据转换为相同长度的数据,例如MD5数据。具体如下:
获取第一数据表和第二数据表之间的主键。针对每个主键值,获取该主键值所对应的第三记录和第四记录。将第三记录第一字段的数据与第四记录第一字段的数据进行对比。所述第三记录为第一数据表的记录,所述第四记录为第二数据表的记录;
在将第三记录第一字段的数据与第四记录第一字段的数据进行对比的过程中,将第三记录第一字段的数据按顺序拼接,并将拼接后的数据转换为相同长度的数据,将该相同长度的数据记为第三数据。将第四记录第一字段的数据按相同顺序拼接,并将拼接后的数据转换为相同长度的数据,将该相同长度的数据记为第四数据。最后将第三数据与第四数据进行对比。
下面以一个具体例子详细说明以上的对比过程。
第一数据表如表7所示,第二数据表如表8所示。针对表7的每个记录,按照nick、age和tag字段的顺序进行数据拼接。拼接后的数据如表11所示。将表11每个记录的数据转换为第三数据,转换后的数据如下面的表13所示。
表13
ID(主键) | Nick Tag(字段) |
001 | 0E00CD6B49CDBD17 |
002 | EA802E836598CCBC |
针对表8的每个记录,同样按照nick、age和tag字段的顺序进行数据拼接。拼接后的数据如表12所示。将表12每个记录的数据转换为第四数据,转换后的数据如下面的表14所示。
表14
ID(主键) | Nick Tag(字段) |
001 | 0E00CD6B49CDBD17 |
002 | 7CFF45CB8F19CFE0 |
首先选取主键值001。在表13中,主键值001所对应的为第一个记录。在表14中,主键值001所对应的为第一个记录。将表13第一个记录的数据和表14第一个记录的数据进行对比。由于二者都为“0E00CD6B49CDBD17”,因此表13第一个记录的数据和表14第一个记录的数据相同。
接下来选取主键值002。在表13中,主键值002所对应的为第二个记录。在表14中,主键值002所对应的为第二个记录。将表13第二个记录的数据和表14第二个记录的数据进行对比。由于“EA802E836598CCBC”和“7CFF45CB8F19CFE0”不相同,因此表13第二个记录的数据和表14第二个记录的数据不相同。
由以上的对比过程可知,表13第二个记录的数据与表14第二个记录的数据不相同。并且由于主键值用于惟一地标识数据表中的记录,因此表13第二个记录的数据与表14其它记录的数据也不相同。因此,将表13第二个记录的数据标记为差异数据。类似地,将表14第二个记录的数据标记为差异数据。
表13的每个记录与表7的每个记录具有一一对应的关系。表14的每个记录与表8的每个记录具有一一对应的关系。根据表13的记录的行数(例如第一行、第二行)可以获取表7中的相应记录。同样,根据表14的记录的行数可以获取表8中的相应记录。由于表13第二个记录的行数为第二行,因此将表7第二个记录的数据标记为第一差异数据。类似地,将表8第二个记录的数据标记为第二差异数据。
S104:根据检测结果,判断第一数据表中的数据和第二数据表中的数据是否一致。
在某一实施方式中,当检测到第一数据表和第二数据表之间存在差异数据(例如第一差异数据或第二差异数据)时,则判断第一数据表中的数据和第二数据表中的数据不一致。当检测到第一数据表和第二数据表之间不存在差异数据时,则判断第一数据表中的数据和第二数据表中的数据一致。
在另一实施方式中,可以设定第二阈值。当检测到第一数据表和第二数据表之间存在差异数据时,统计第五记录的数量,统计第一数据表记录的数量,统计第二数据表记录的数量。根据第五记录的数量、第一数据表记录的数量和第二数据表记录的数量按第二预设函数进行计算。将计算结果与第二阈值进行比较。当计算结果小于第二阈值时,判断第一数据表和第二数据表中的数据一致。当计算结果大于第二阈值时,判断第一数据表和第二数据表中的数据不一致。其中,第五记录为第一数据表和第二数据表中具有差异数据的记录(例如第一差异数据或第二差异数据)。当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据表和第二数据表中的数据一致。
所述第二预设函数包括a/(b+c)。其中,a为第五记录的数量,b为第一数据表记录的数量,c为第二数据表记录的数量。
第二阈值的大小可以根据实际的需求而灵活设定。若对数据的一致性要求较高,则第二阈值可以设定的小些。若对数据的一致性要求较低,则第二阈值可以设定的大些。
在另一实施方式中,在判断第一数据表中的数据和第二数据表中的数据不一致时,显示差异数据。例如显示第一差异数据和/或第二差异数据。从而精确的定位出差异数据。当然,为了节省资源空间、计算时间以及考虑到实际需求,也可以显示部分差异数据(例如其中的100个)。所述显示差异数据,包括在第一数据表中突出显示第一差异数据,以及在第二数据表中突出显示第二差异数据。
在另一实施方式中,第一数据表和第二数据表存在于不同的服务器上。因此,在步骤S103之前,需要将第一数据表传送至第二数据表所在的服务器上。或者将第二数据表传送至第一数据表所在的服务器上。这样,第一数据表和第二数据表位于同一个服务器上,从而便于第一数据表和第二数据表之间进行数据对比。
在另一实施方式中,在步骤S103之前,分别对第一数据表中的数据和第二数据表中的数据进行忽略字符、忽略浮点精度或忽略字段内分隔符处理。
对数据表中的数据进行忽略字符处理,一般是将需要忽略的字符替换为空字符。例如,忽略数据表中的“a”字符,一般是将数据表中的“a”字符替换为空字符。
对数据表中的数据进行忽略浮点精度处理,一般是对数据表中数据类型为实数的数据进行截取。例如,忽略小数点后四位的精度,即从小数点右边第三位开始向左截取。忽略浮点精度处理可以屏蔽不同数据类型之间(例如bigint数据类型和double数据类型之间)存储格式的差异。在对数据表中的数据进行忽略浮点精度处理的过程中,还可以将数据表中的数据统一转换为浮点数的形式或科学计数法的形式,以屏蔽科学计数法与纯浮点数之间存储格式的差异。
一般地,在数据表中对于多个文字较短的内容,可以使用分隔符将它们隔开。从而将多个文字较短的内容保存在一个字段里。所述分隔符包括“,”或“;”。
对数据表中的数据进行忽略字段内分隔符处理,一般是将数据表字段内的分隔符替换为空字符。在将分隔符替换为空字符后,还可以对字段内的字符按照统一的顺序进行排序。
例如,将表15第一个记录tag字段“女装;美食”中的“;”替换为空字符。同时,将表15第二个记录tag字段“女装,美食”中的“,”替换为空字符。在将分隔符替换为空字符后,将每个记录tag字段的数据统一排序为“女装美食”。最终形成表16。
表15
id(主键) | nick | age | tag |
123 | aaa**** | 30 | 女装;美食 |
245 | bbb***** | 20 | 美食,女装 |
表16
id(主键) | nick | age | tag |
123 | aaa**** | 30 | 女装美食 |
245 | bbb***** | 20 | 女装美食 |
以上的忽略字符、忽略浮点精度和忽略字段内分隔符,可以由内置的SQL函数执行,也可以由用户编写的udf(user-defined function:用户自定义函数)执行。
以忽略字符为例,内置的SQL函数可以是如下的指令:
select@s=′abc,def′
@str=replace(@s,″)
上述指令表示将"abc,def"中的逗号替换为空格符。替换后的数据为“abc def”。
本实施例的数据对比方法,将第一数据表每个记录的数据和第二数据表的数据进行一一对比,因此能够准确的判断第一数据表中的数据和第二数据表中的数据是否一致。
同时,本实施例的数据对比方法,可以精确定位第一数据表和第二数据表之间的差异数据,便于进一步的分析处理。
同时,本实施例的数据对比方法,设置了第一阈值和第二阈值,便于根据实际的需求灵活的设置数据对比的精度。并且,能够避免将合理的数据波动认定为差异数据。
同时,本实施例的数据对比方法,可以通过代码实现。通过设定触发时间(例如每天的0点),实现了定时自动数据对比。
在一些情况下,只关心两张数据表中部分区域之间的数据是否一致。因此,在本申请的另一个实施例中,在数据对比之前,将数据表划分成不同的区域。如图2所示,包括:
S201:获取第一数据表和第二数据表。
步骤S201与步骤S101的内容类似。
S202:按照预设分区规则,分别将第一数据表和第二数据表分成不同的区域。
一般地,不同时间段的数据存储在数据表的不同区域。例如,第一天的数据存储在数据表的第1-500行,第二天的数据存储在数据表的第501-1000行。
或者,不同业务的数据存储在数据表的不同区域。例如,淘宝网的交易数据存储在数据表的第1-500行,天猫商城的数据存储在数据表的第501-1000行。
在某一实施方式中,所述预设分区规则包括以时间为单元将数据表划分成不同的区域。例如,将数据表划分成第一区域和第二区域。其中,第一区域存储第一天的数据,第二区域存储第二天的数据。
在另一实施方式中,所述预设分区规则包括以业务为单元将数据表中的数据划分成不同的区域。例如,将数据表中划分成第一区域和第二区域。其中,第一区域中存储淘宝网的交易数据,第二区域存储天猫商城的交易数据。
S203:从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中数据的属性相同。
所述数据的属性包括数据的时间或数据的业务类型。例如,第一区域和第二区域中均为第一天的数据。又如,第一区域和第二区域中均为淘宝网的交易数据。
S204:选取第一数据表和第二数据表的共有字段,将选取的字段标记为第一字段。
步骤S204与步骤S102的内容类似。
S205:将第一区域每个记录第一字段的数据与第二区域第一字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据。
步骤S205的内容与步骤S103的内容类似。
S206:根据检测结果,判断第一数据表和第二数据表中的数据不一致。
在某一实施方式中,当第一区域和第二区域之间存在差异数据时,判断第一数据表和第二数据表中的数据不一致。
在另一实施方式中,可以设定第二阈值。当检测到第一区域和第二区域之间存在差异数据时,统计第六记录的数量,统计第一区域记录的数量,统计第二区域记录的数量。根据第六记录的数量、第一区域记录的数量和第二区域记录的数量按第三预设函数进行计算。将计算结果与第二阈值进行比较。当计算结果大于第二阈值时,判断第一数据表和第二数据表中的数据不一致。其中,第六记录为第一区域和第二区域中具有差异数据的记录。
所述第三预设函数包括a/(b+c)。其中,a为第六记录的数量,b为第一区域记录的数量,c为第二区域记录的数量。
第二阈值的大小可以根据实际的需求而灵活设定。若对数据的一致性要求较高,则第二阈值可以设定的小些。若对数据的一致性要求较低,则第二阈值可以设定的大些。
在另一实施方式中,在判断第一数据表中的数据和第二数据表中的数据不一致时,显示差异数据。从而精确的定位出差异数据。当然,为了节省资源空间、计算时间以及考虑到实际需求,也可以显示部分差异数据(例如其中的100个)。
在另一实施方式中,在步骤S205之前,分别对第一数据表中的数据和第二数据表中的数据进行忽略字符、忽略浮点精度或忽略字段内分隔符处理。
本实施例的数据对比方法,将第一数据表和第二数据表划分成不同的区域。将第一数据表和第二数据表相应区域之间的数据进行一一对比。因此,本实施例的数据对比方法,实现了两张数据表之间的分区对比。从而简少了数据对比的时间。例如,一张数据表中可能保存了较长时间的数据,在一些情况下,只需要对比数据表中最近一段时间的数据。
与图1和图2所对应的实施例相比,在本申请的另一个实施例中,可以将数据文件中的数据转换为数据表中的数据,从而实现了数据表与数据文件之间的数据对比。如图3所示,包括:
S301:获取第一数据文件和第一数据表。
所述第一数据文件和所述第一数据表中保存有待对比的数据。
所述第一数据文件包括txt文件、exl文件和word文件等。
S302:获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型。
一般情况下,第一数据文件和第一数据表中的数据是具有一定关联的。例如,第一数据表中保存的是由第一数据文件迁移过去的数据。或者,第一数据表中保存的是排序后的第一数据文件中的数据。或者,第一数据表中保存的是修改数据结构后的第一数据文件中的数据。因此,能够将第一数据文件中的数据迁移到第二数据表中。
例如,第一参数中包括两个字段,名称分别为age和tag。其中,age字段的数据类型为int。tag字段的数据类型为string。那么,建立的第二数据表如下面的表17。
表17
age | tag |
S303:将第一数据文件中的数据保存至第二数据表中。
在某一实施方式中,将第一数据文件中的数据复制到第二数据表中。
S304:选取第一数据表和第二数据表的共有字段,将选取的字段标记为第一字段。
步骤S304的内容与步骤S102的内容相似。
S305:将第一数据表每个记录第一字段的数据与第二数据表第一字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据。
步骤S305的内容与步骤S103的内容相类似。
S306:根据检测结果,判断第一数据文件中的数据和第一数据表中的数据是否一致。
在某一实施方式中,当检测到第一数据表和第二数据表之间存在差异数据时,则判断第一数据文件中的数据和第一数据表中的数据不一致。当检测到第一数据表和第二数据表之间不存在差异数据时,则判断第一数据文件中的数据和第一数据表中的数据一致。
在另一实施方式中,可以设定第二阈值。当检测到第一数据表和第二数据表之间存在差异数据时,统计第五记录的数量,统计第一数据表记录的数量,统计第二数据表记录的数量。根据第五记录的数量、第一数据表记录的数量和第二数据表记录的数量按第二预设函数进行计算。将计算结果与第二阈值进行比较。当计算结果小于第二阈值时,判断第一数据文件中的数据和第一数据表中的数据一致。当计算结果大于第二阈值时,判断第一数据文件和第一数据表中的数据不一致。其中,第五记录为第一数据表和第二数据表中具有差异数据的记录。当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据文件中的数据和第一数据表中的数据一致。
所述第二预设函数包括a/(b+c)。其中,a为第五记录的数量,b为第一数据表记录的数量,c为第二数据表记录的数量。
第二阈值的大小可以根据实际的需求而灵活设定。若对数据的一致性要求较高,则第二阈值可以设定的小些。若对数据的一致性要求较低,则第二阈值可以设定的大些。
在另一实施方式中,在判断第一数据文件中的数据和第一数据表中的数据不一致时,显示差异数据。当然,为了节省资源空间、计算时间以及考虑到实际需求,也可以显示部分差异数据(例如其中的100个)。
在另一实施方式中,在步骤S305之前,分别对第一数据表中的数据和第二数据表中的数据进行忽略字符、忽略浮点精度或忽略字段内分隔符处理。
在另一实施方式中,在步骤S305之前,将第一数据表和第二数据表分成不同的区域。从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中数据的属性相同。相应地,在步骤S305中,将第一区域每个记录第一字段的数据与第二区域第一字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据。相应地,在步骤S306中,根据检测结果判断第一数据文件和第一数据表中的数据不一致。
本实施例的数据对比方法,将第一数据文件中的数据保存至第二数据表中。从而实现了数据文件和数据表之间的数据对比。提高了本申请数据对比方法的通用性。
与图1和图2所对应的实施例相比,在本申请的另一个实施例中,可以将数据文件中的数据转换为数据表中的数据,从而实现了两个数据文件之间的数据对比。如图4所示,包括:
S401:获取第一数据文件和第二数据文件。
所述第一数据文件和所述第二数据文件中保存有待对比的数据。
所述第一数据文件和所述第二数据文件包括txt文件、exl文件和word文件等。
S402:获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型。
S403:获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型。
步骤S402、步骤S403的内容与步骤S302的内容相似。
S404:将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中。
步骤S404的内容与步骤S303的内容相似。
S405:选取第一数据表和第二数据表的共有字段,将选取的字段标记为第一字段。
步骤S405的内容与步骤S102的内容相类似。
S406:将第一数据表每个记录第一字段的数据与第二数据表第一字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据。
步骤S406的内容与步骤S103的内容相类似。
S407:根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致。
在某一实施方式中,当检测到第一数据表和第二数据表之间存在差异数据时,则判断第一数据文件中的数据和第二数据文件中的数据不一致。当检测到第一数据表和第二数据表之间不存在差异数据时,则判断第一数据文件中的数据和第二数据文件中的数据一致。
在另一实施方式中,可以设定第二阈值。当检测到第一数据表和第二数据表之间存在差异数据时,统计第五记录的数量,统计第一数据表记录的数量,统计第二数据表记录的数量。根据第五记录的数量、第一数据表记录的数量和第二数据表记录的数量按第二预设函数进行计算。将计算结果与第二阈值进行比较。当计算结果小于第二阈值时,判断第一数据文件中的数据和第二数据文件中的数据一致。当计算结果大于第二阈值时,判断第一数据文件和第二数据文件中的数据不一致。其中,第五记录为第一数据表和第二数据表中具有差异数据的记录。当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据文件中的数据和第二数据文件中的数据一致。
所述第二预设函数包括a/(b+c)。其中,a为第五记录的数量,b为第一数据表记录的数量,c为第二数据表记录的数量。
第二阈值的大小可以根据实际的需求而灵活设定。若对数据的一致性要求较高,则第二阈值可以设定的小些。若对数据的一致性要求较低,则第二阈值可以设定的大些。
在另一实施方式中,在判断第一数据文件中的数据和第二数据文件中的数据不一致时,显示差异数据。当然,为了节省资源空间、计算时间以及考虑到实际需求,也可以显示部分差异数据(例如其中的100个)。
在另一实施方式中,在步骤S406之前,分别对第一数据表中的数据和第二数据表中的数据进行忽略字符、忽略浮点精度或忽略字段内分隔符处理。
在另一实施方式中,在步骤S406之前,将第一数据表和第二数据表分成不同的区域。从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中数据的属性相同。相应地,在步骤S406中,将第一区域每个记录第一字段的数据与第二区域第一字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据。相应地,在步骤S407中,根据检测结果判断第一数据文件和第二数据文件中的数据不一致。
本实施例的对比数据的方法,将第一数据文件中的数据转换为第一数据表中的数据,将第二数据文件中的数据转换为第二数据表中的数据,从而实现了数据文件之间的数据对比。提高了本申请数据对比方法的通用性。
本申请实施例还提供一种数据对比装置,如图5所示,包括:
第一获取模块501,用于获取第一数据表和第二数据表;
第一选取模块502,用于选取第一数据表和第二数据表的共有字段;
第一对比模块503,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第一判断模块504,用于根据检测结果,判断第一数据表和第二数据表中的数据是否一致。
在某一实施方式中,所述第一对比模块503还包括第一对比单元505,用于将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比。
在另一实施方式中,所述第一对比模块503还包括第二对比单元506,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一数据表的记录,所述第三记录为第二数据表的记录。
在另一实施方式中,,所述装置还包括:第一显示模块507,用于在判断第一数据表和第二数据表中的数据不一致之后,显示差异数据。
本申请实施例还提供另一种数据对比装置,如图6所示,包括:
第二获取模块601,用于获取第一数据文件和第一数据表;
第一建立模块602,用于获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第一保存模块603,用于将第一数据文件中的数据保存至第二数据表中;
第一选取模块502,用于选取第一数据表和第二数据表的共有字段;
第一对比模块503,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第二判断模块604,用于根据检测结果,判断第一数据文件和第一数据表中的数据是否一致。
在某一实施方式中,所述第一对比模块503还包括第一对比单元505,用于将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比。
在另一实施方式中,所述第一对比模块503还包括第二对比单元506,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一数据表的记录,所述第三记录为第二数据表的记录。
在另一实施方式中,所述装置还包括第二显示模块605,用于在判断第一数据文件和第一数据表中的数据不一致之后,显示差异数据。
本申请实施例还提供另一种数据对比装置,如图7所示,包括:
第三获取模块701,用于获取第一数据文件和第二数据文件;
第二建立模块702,用于获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第三建立模块703,用于获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第二保存模块704,用于将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
第一选取模块502,用于选取第一数据表和第二数据表的共有字段;
第一对比模块503,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第三判断模块705,用于根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致。
在某一实施方式中,所述第一对比模块503还包括第一对比单元505,用于将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比。
在另一实施方式中,所述第一对比模块503还包括第二对比单元506,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一数据表的记录,所述第三记录为第二数据表的记录。
在另一实施方式中,所述装置还包括第三显示模块706,用于在判断第一数据文件和第二数据文件中的数据不一致之后,显示差异数据。
本申请实施例还提供另一种数据对比装置,如图8所示,包括:
第一获取模块501,用于获取第一数据表和第二数据表;
分区模块801,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块802,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块502,用于选取第一数据表和第二数据表的共有字段;
第二对比模块803,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第四判断模块804,用于根据检测结果,判断第一数据表和第二数据表之间的数据不一致。
在某一实施方式中,所述装置还包括:第一显示模块507,用于在判断第一数据表和第二数据表中的数据不一致之后,显示差异数据。
在另一实施方式中,所述第二对比模块803包括第三对比单元805,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比。
在另一实施方式中,所述第二对比模块803包括第四对比单元806,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一区域的记录,所述第三记录为第二区域的记录。
本申请实施例还提供另一种数据对比装置,如图9所示,包括:
第二获取模块601,用于获取第一数据文件和第一数据表;
第一建立模块602,用于获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第一保存模块603,用于将第一数据文件中的数据保存至第二数据表中;
分区模块801,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块802,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块502,用于选取第一数据表和第二数据表的共有字段;
第二对比模块803,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第五判断模块901,用于根据检测结果,判断第一数据文件和第一数据表中的数据不一致。
在某一实施方式中,所述第二对比模块803包括第三对比单元805,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比。
在另一实施方式中,所述第二对比模块803包括第四对比单元806,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一区域的记录,所述第三记录为第二区域的记录。
在另一实施方式中,所述装置还包括第二显示模块605,用于在判断第一数据文件和第一数据表中的数据不一致之后,显示差异数据。
本申请实施例还提供另一种数据对比装置,如图10所示,包括:
第三获取模块701,用于获取第一数据文件和第二数据文件;
第二建立模块702,用于获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第三建立模块703,用于获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第二保存模块704,用于将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
分区模块801,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块802,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块502,用于选取第一数据表和第二数据表的共有字段;
第二对比模块803,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第六判断模块1001,用于根据检测结果,判断第一数据文件和第二数据文件中的数据不一致。
在某一实施方式中,所述第二对比模块803包括第三对比单元805,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比。
在另一实施方式中,所述第二对比模块803包括第四对比单元806,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一区域的记录,所述第三记录为第二区域的记录。
在另一实施方式中,所述装置还包括第三显示模块706,用于在判断第一数据文件和第二数据文件中的数据不一致之后,显示差异数据。
在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片2。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java HardwareDescription Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware DescriptionLanguage)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit HardwareDescription Language)与Verilog2。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。
控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、AtmelAT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。
本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。该计算机软件产品可以包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。该计算机软件产品可以存储在内存中,内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括短暂电脑可读媒体(transitory media),如调制的数据信号和载波。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。
Claims (65)
1.一种数据对比方法,其特征在于,包括:
获取第一数据表和第二数据表;
选取第一数据表和第二数据表的共有字段;
将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
根据检测结果,判断第一数据表和第二数据表中的数据是否一致。
2.如权利要求1所述的方法,其特征在于,所述根据检测结果,判断第一数据表和第二数据表中的数据是否一致,包括:
当检测到第一数据表和第二数据表之间存在差异数据时,判断第一数据表和第二数据表中的数据不一致;
当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据表和第二数据表中的数据一致。
3.如权利要求1所述的方法,其特征在于,所述根据检测结果,判断第一数据表和第二数据表中的数据是否一致,包括:
当检测到第一数据表和第二数据表之间存在差异数据时,统计第一记录的数量,统计第一数据表记录的数量,统计第二数据表记录的数量,根据第一记录的数量、第一数据表记录的数量和第二数据表记录的数量按第一预设函数进行计算,将计算结果与第一阈值进行比较,根据比较结果判断第一数据表和第二数据表中的数据是否一致,其中,第一记录为第一数据表和第二数据表中具有差异数据的记录;
当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据表和第二数据表中的数据一致。
4.如权利要求3所述的方法,其特征在于,所述根据比较结果判断第一数据表和第二数据表之间的数据是否一致,包括:
当计算结果小于第一阈值时,判断第一数据表和第二数据表中的数据一致;
当计算结果大于第一阈值时,判断第一数据表和第二数据表中的数据不一致。
5.一种数据对比方法,其特征在于,包括:
获取第一数据文件和第一数据表;
获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第二数据表中;
选取第一数据表和第二数据表的共有字段;
将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
根据检测结果,判断第一数据文件和第一数据表中的数据是否一致。
6.如权利要求5所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第一数据表中的数据是否一致,包括:
当检测到第一数据表和第二数据表之间存在差异数据时,判断第一数据文件和第一数据表中的数据不一致;
当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据文件和第一数据表中的数据一致。
7.如权利要求5所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第一数据表中的数据是否一致,包括:
当检测到第一数据表和第二数据表之间存在差异数据时,统计第一记录的数量,统计第一数据表记录的数量,统计第二数据表记录的数量,根据第一记录的数量、第一数据表记录的数量和第二数据表记录的数量按第一预设函数进行计算,将计算结果与第一阈值进行比较,根据比较结果判断第一数据文件和第一数据表中的数据是否一致,其中,第一记录为第一数据表和第二数据表中具有差异数据的记录;
当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据文件和第一数据表中的数据一致。
8.如权利要求7所述的方法,其特征在于,所述根据比较结果判断第一数据文件和第一数据表中的数据是否一致,包括:
当计算结果小于第一阈值时,判断第一数据文件和第一数据表中的数据一致;
当计算结果大于第一阈值时,判断第一数据文件和第一数据表中的数据不一致。
9.一种数据对比方法,其特征在于,包括:
获取第一数据文件和第二数据文件;
获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
选取第一数据表和第二数据表的共有字段;
将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致。
10.如权利要求9所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致,包括:
当检测到第一数据表和第二数据表之间存在差异数据时,判断第一数据文件和第二数据文件中的数据不一致;
当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据文件和第二数据文件中的数据一致。
11.如权利要求9所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致,包括:
当检测到第一数据表和第二数据表之间存在差异数据时,统计第一记录的数量,统计第一数据表记录的数量,统计第二数据表记录的数量,根据第一记录的数量、第一数据表记录的数量和第二数据表记录的数量按第一预设函数进行计算,将计算结果与第一阈值进行比较,根据比较结果判断第一数据文件和第二数据文件中的数据是否一致,其中,第一记录为第一数据表和第二数据表中具有差异数据的记录;
当检测到第一数据表和第二数据表之间不存在差异数据时,判断第一数据文件和第二数据文件中的数据一致。
12.如权利要求11所述的方法,其特征在于,所述根据比较结果判断第一数据文件和第二数据文件中的数据是否一致,包括:
当计算结果小于第一阈值时,判断第一数据文件和第二数据文件中的数据一致;
当计算结果大于第一阈值时,判断第一数据文件和第二数据文件中的数据不一致。
13.如权利要求1、5或9所述的方法,其特征在于,所述将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,包括:
将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比。
14.如权利要求1、5或9所述的方法,其特征在于,所述将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,包括:
获取第一数据表和第二数据表之间的主键;
针对每个主键值,获取该主键值所对应的第二记录和第三记录,所述第二记录为第一数据表的记录,所述第三记录为第二数据表的记录;
将第二记录共有字段的数据与第三记录共有字段的数据进行对比。
15.如权利要求13所述的方法,其特征在于,所述将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比,包括:
将第二记录每个共有字段的数据分别与第三记录每个共有字段的数据进行对比,所述第二记录为第一数据表的任一记录,所述第三记录为第二数据表的任一记录。
16.如权利要求13所述的方法,其特征在于,所述将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第一顺序拼接,将第三记录共有字段的数据按第一顺序拼接,所述第二记录为第一数据表的任一记录,所述第三记录为第二数据表的任一记录;
将第二记录拼接后的数据与第三记录拼接后的数据进行对比。
17.如权利要求13所述的方法,其特征在于,所述将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第一数据,所述第二记录为第一数据表的任一记录;
将第三记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第二数据,所述第三记录为第二数据表的任一记录;
将第一数据与第二数据进行对比。
18.如权利要求14所述的方法,其特征在于,所述将第二记录共有字段的数据与第三记录共有字段的数据进行对比,包括:
将第二记录每个共有字段的数据分别与第三记录每个共有字段的数据进行对比。
19.如权利要求14所述的方法,其特征在于,所述将第二记录共有字段的数据与第三记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第一顺序拼接,将第三记录共有字段的数据按第一顺序拼接;
将第二记录拼接后的数据与第三记录拼接后的数据进行对比。
20.如权利要求14所述的方法,其特征在于,所述将第二记录共有字段的数据与第三记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第一数据;
将第三记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第二数据;
将第一数据与第二数据进行对比。
21.如权利要求3、7或11所述的方法,其特征在于,所述第一预设函数包括:a/(b+c),其中,a为第一记录的数量,b为第一数据表记录的数量,c为第二数据表记录的数量。
22.如权利要求18所述的方法,其特征在于,所述将第二记录每个共有字段的数据分别与第三记录每个共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据,包括:
从共有字段中选取第一字段,所述第一字段为数据类型为整数或实数的字段;
根据第二记录第一字段的数据和第三记录第一字段的数据按第二预设函数进行计算;
将计算结果与第二阈值进行比较,以检测第二记录第一字段和第三记录第一字段之间是否存在差异数据。
23.如权利要求22所述的方法,其特征在于,所述第二预设函数包括:
abs(a.md-b.md)/max(a.md,b.md),其中,abs为取绝对值运算,max为取最大值运算,a为第一数据表,b为第二数据表,md为第一字段。
24.一种数据对比方法,其特征在于,包括:
获取第一数据表和第二数据表;
按照预设分区规则,分别将第一数据表和第二数据表分成不同的区域;
从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
选取第一数据表和第二数据表的共有字段;
将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
根据检测结果,判断第一数据表和第二数据表中的数据不一致。
25.如权利要求24所述的方法,其特征在于,所述根据检测结果,判断第一数据表和第二数据表中的数据不一致,包括:
当检测到第一区域和第二区域之间存在差异数据时,判断第一数据表和第二数据表中的数据不一致。
26.如权利要求24所述的方法,其特征在于,所述根据检测结果,判断第一数据表和第二数据表中的数据不一致,包括:
当检测到第一区域和第二区域之间存在差异数据时,统计第二记录的数量,统计第一区域记录的数量,统计第二区域记录的数量,根据第二记录的数量、第一区域记录的数量和第二区域记录的数量按第三预设函数进行计算,将计算结果与第一阈值进行比较,根据比较结果判断第一数据表和第二数据表中的数据不一致,其中,第二记录为第一区域和第二区域中具有差异数据的记录。
27.如权利要求26所述的方法,其特征在于,所述根据比较结果判断第一数据表和第二数据表中的数据不一致,包括:
当计算结果大于第一阈值时,判断第一数据表和第二数据表中的数据不一致。
28.如权利要求2、4、25或27所述的方法,其特征在于,在判断第一数据表和第二数据表中的数据不一致之后,所述方法还包括:显示差异数据。
29.一种数据对比方法,其特征在于,包括:
获取第一数据文件和第一数据表;
获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第二数据表中;
按照预设分区规则,分别将第一数据表和第二数据表分成不同的区域;
从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
选取第一数据表和第二数据表的共有字段;
将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
根据检测结果,判断第一数据文件和第一数据表中的数据不一致。
30.如权利要求29所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第一数据表中的数据不一致,包括:
当检测到第一区域和第二区域之间存在差异数据时,判断第一数据文件和第一数据表中的数据不一致。
31.如权利要求29所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第一数据表中的数据不一致,包括:
当检测到第一区域和第二区域之间存在差异数据时,统计第二记录的数量,统计第一区域记录的数量,统计第二区域记录的数量,根据第二记录的数量、第一区域记录的数量和第二区域记录的数量按第三预设函数进行计算,将计算结果与第一阈值进行比较,根据比较结果判断第一数据文件和第一数据表中的数据不一致,其中,第二记录为第一区域和第二区域中具有差异数据的记录。
32.如权利要求31所述的方法,其特征在于,所述根据比较结果判断第一数据文件和第一数据表中的数据不一致,包括:
当计算结果大于第一阈值时,判断第一数据文件和第一数据表中的数据不一致。
33.如权利要求6、8、30或32所述的方法,其特征在于,在判断第一数据文件和第一数据表中的数据不一致之后,所述方法还包括:显示差异数据。
34.一种数据对比方法,其特征在于,包括:
获取第一数据文件和第二数据文件;
获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
按照预设分区规则,分别将第一数据表和第二数据表分成不同的区域;
从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
选取第一数据表和第二数据表的共有字段;
将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
根据检测结果,判断第一数据文件和第二数据文件中的数据不一致。
35.如权利要求34所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第二数据文件中的数据不一致,包括:
当检测到第一区域和第二区域之间存在差异数据时,判断第一数据文件和第二数据文件中的数据不一致。
36.如权利要求34所述的方法,其特征在于,所述根据检测结果,判断第一数据文件和第二数据文件中的数据不一致,包括:
当检测到第一区域和第二区域之间存在差异数据时,统计第二记录的数量,统计第一区域记录的数量,统计第二区域记录的数量,根据第二记录的数量、第一区域记录的数量和第二区域记录的数量按第三预设函数进行计算,将计算结果与第一阈值进行比较,根据比较结果判断第一数据文件和第二数据文件中的数据不一致,其中,第二记录为第一区域和第二区域中具有差异数据的记录。
37.如权利要求36所述的方法,其特征在于,所述根据比较结果判断第一数据文件和第二数据文件中的数据不一致,包括:
当计算结果大于第一阈值时,判断第一数据文件和第二数据文件中的数据不一致。
38.如权利要求10、12、35或37所述的方法,其特征在于,在判断第一数据文件和第二数据文件中的数据不一致之后,所述方法还包括:显示差异数据。
39.如权利要求24、29或34所述的方法,其特征在于,所述将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,包括:
将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比。
40.如权利要求24、29或34所述的方法,其特征在于,所述将第一区域每个记录共有字段的数据与第二区域共有字段的数据进行对比,包括:
获取第一数据表和第二数据表之间的主键;
针对每个主键值,获取该主键值所对应的第二记录和第三记录,所述第二记录为第一区域的记录,所述第三记录为第二区域的记录;
将第二记录共有字段的数据与第三记录共有字段的数据进行对比。
41.如权利要求39所述的方法,其特征在于,所述将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,包括:
将第二记录每个共有字段的数据分别与第三记录每个共有字段的数据进行对比,所述第二记录为第一区域的任一记录,所述第三记录为第二区域的任一记录。
42.如权利要求39所述的方法,其特征在于,所述将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第一顺序拼接,将第三记录共有字段的数据按第一顺序拼接,所述第二记录为第一区域的任一记录,所述第三记录为第二区域的任一记录;
将第二记录拼接后的数据与第三记录拼接后的数据进行对比。
43.如权利要求39所述的方法,其特征在于,所述将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第一数据,所述第二记录为第一区域的任一记录;
将第三记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第二数据,所述第三记录为第二区域的任一记录;
将第一数据与第二数据进行对比。
44.如权利要求40所述的方法,其特征在于,所述将第二记录共有字段的数据与第三记录共有字段的数据进行对比,包括:
将第二记录每个共有字段的数据分别与第三记录每个共有字段的数据进行对比。
45.如权利要求40所述的方法,其特征在于,所述将第二记录共有字段的数据与第三记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第一顺序拼接,将第三记录共有字段的数据按第一顺序拼接;
将第二记录拼接后的数据与第三记录拼接后的数据进行对比。
46.如权利要求40所述的方法,其特征在于,所述将第二记录共有字段的数据与第三记录共有字段的数据进行对比,包括:
将第二记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第一数据;
将第三记录共有字段的数据按第二顺序拼接,并将拼接后的数据转换为第二数据;
将第一数据与第二数据进行对比。
47.如权利要求26、31或36所述的方法,其特征在于,所述第三预设函数包括:a/(b+c),其中,a为第一记录的数量,b为第一区域记录的数量,c为第二区域记录的数量。
48.如权利要求44所述的方法,其特征在于,所述将第二记录每个共有字段的数据分别与第三记录每个共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据,包括:
从共有字段中选取第一字段,所述第一字段为数据类型为整数或实数的字段;
根据第二记录第一字段的数据和第三记录第一字段的数据按第四预设函数进行计算;
将计算结果与第二阈值进行比较,以检测第二记录第一字段和第三记录第一字段之间是否存在差异数据。
49.如权利要求48所述的方法,其特征在于,所述第四预设函数包括:
abs(a.md-b.md)/max(a.md,b.md),其中,abs为取绝对值运算,max为取最大值运算,a为第一区域,b为第二区域,md为第一字段。
50.如权利要求17、20、43或46所述的方法,其特征在于,所述第一数据和所述第二数据为MD5数据。
51.如权利要求1、5、9、24、28或32所述的方法,其特征在于,所述选取第一数据表和第二数据表的共有字段,包括:
选取第一数据表中和第二数据表中名称相同的字段。
52.如权利要求1、5、9、24、29或34所述的方法,其特征在于,在将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比之前,所述方法还包括:
对第一数据表中的数据和第二数据表中的数据进行忽略字符、忽略浮点精度或忽略字段内分隔符处理。
53.一种数据对比装置,其特征在于,包括:
第一获取模块,用于获取第一数据表和第二数据表;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第一对比模块,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第一判断模块,用于根据检测结果,判断第一数据表和第二数据表中的数据是否一致。
54.一种数据对比装置,其特征在于,包括:
第二获取模块,用于获取第一数据文件和第一数据表;
第一建立模块,用于获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第一保存模块,用于将第一数据文件中的数据保存至第二数据表中;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第一对比模块,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第二判断模块,用于根据检测结果,判断第一数据文件和第一数据表中的数据是否一致。
55.一种数据对比装置,其特征在于,包括:
第三获取模块,用于获取第一数据文件和第二数据文件;
第二建立模块,用于获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第三建立模块,用于获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第二保存模块,用于将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第一对比模块,用于将第一数据表每个记录共有字段的数据与第二数据表共有字段的数据进行对比,以检测第一数据表和第二数据表之间是否存在差异数据;
第三判断模块,用于根据检测结果,判断第一数据文件和第二数据文件中的数据是否一致。
56.如权利要求53、54或55所述的装置,其特征在于,所述第一对比模块包括第一对比单元,用于将第一数据表每个记录共有字段的数据与第二数据表每个记录共有字段的数据进行对比。
57.如权利要求53、54或55所述的装置,其特征在于,所述第一对比模块包括第二对比单元,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一数据表的记录,所述第三记录为第二数据表的记录。
58.一种数据对比装置,其特征在于,包括:
第一获取模块,用于获取第一数据表和第二数据表;
分区模块,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第二对比模块,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第四判断模块,用于根据检测结果,判断第一数据表和第二数据表之间的数据不一致。
59.如权利要求53或58所述的装置,其特征在于,所述装置还包括:
第一显示模块,用于在判断第一数据表和第二数据表中的数据不一致之后,显示差异数据。
60.一种数据对比装置,其特征在于,包括:
第二获取模块,用于获取第一数据文件和第一数据表;
第一建立模块,用于获取第一参数,并根据第一参数建立第二数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第一保存模块,用于将第一数据文件中的数据保存至第二数据表中;
分区模块,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第二对比模块,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第五判断模块,用于根据检测结果,判断第一数据文件和第一数据表中的数据不一致。
61.如权利要求54或60所述的装置,其特征在于,所述装置还包括:
第二显示模块,用于在判断第一数据文件和第一数据表中的数据不一致之后,显示差异数据。
62.一种数据对比装置,其特征在于,包括:
第三获取模块,用于获取第一数据文件和第二数据文件;
第二建立模块,用于获取第一参数,根据第一参数建立第一数据表,所述第一参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第三建立模块,用于获取第二参数,根据第二参数建立第二数据表,所述第二参数包括字段的数量、每个字段的名称和每个字段的数据类型;
第二保存模块,用于将第一数据文件中的数据保存至第一数据表中,将第二数据文件中的数据保存至第二数据表中;
分区模块,用于按照预设分区规则,分别将第一数据表中的数据和第二数据表中的数据分成不同的区域;
第二选取模块,用于从第一数据表中选取第一区域,从第二数据表中选取第二区域,所述第一区域和所述第二区域中的数据具有相同的属性;
第一选取模块,用于选取第一数据表和第二数据表的共有字段;
第二对比模块,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比,以检测第一区域和第二区域之间是否存在差异数据;
第六判断模块,用于根据检测结果,判断第一数据文件和第二数据文件中的数据不一致。
63.如权利要求55或62所述的装置,其特征在于,所述装置还包括:
第三显示模块,用于在判断第一数据文件和第二数据文件中的数据不一致之后,显示差异数据。
64.如权利要求58、60或62所述的装置,其特征在于,所述第二对比模块包括第三对比单元,用于将第一区域每个记录共有字段的数据与第二区域每个记录共有字段的数据进行对比。
65.如权利要求58、60或62所述的装置,其特征在于,所述第二对比模块包括第四对比单元,用于获取第一数据表和第二数据表之间的主键,针对每个主键值,获取该主键值所对应的第二记录和第三记录,将第二记录共有字段的数据与第三记录共有字段的数据进行对比,所述第二记录为第一区域的记录,所述第三记录为第二区域的记录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075473.2A CN105989089A (zh) | 2015-02-12 | 2015-02-12 | 一种数据对比方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510075473.2A CN105989089A (zh) | 2015-02-12 | 2015-02-12 | 一种数据对比方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105989089A true CN105989089A (zh) | 2016-10-05 |
Family
ID=57041987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510075473.2A Pending CN105989089A (zh) | 2015-02-12 | 2015-02-12 | 一种数据对比方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105989089A (zh) |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106709374A (zh) * | 2017-03-03 | 2017-05-24 | 北京恒华伟业科技股份有限公司 | 一种关键数据安全性保证方法和装置 |
CN106970941A (zh) * | 2017-02-16 | 2017-07-21 | 上海瀚之友信息技术服务有限公司 | 一种销售数据对比方法及系统 |
CN107070645A (zh) * | 2016-12-30 | 2017-08-18 | 华为技术有限公司 | 比较数据表的数据的方法和系统 |
CN107784102A (zh) * | 2017-10-27 | 2018-03-09 | 中国电子科技集团公司第二十八研究所 | 一种基于Oracle数据库的数据差异比较方法 |
CN108170805A (zh) * | 2017-12-28 | 2018-06-15 | 福建中金在线信息科技有限公司 | 一种数据表比较方法、装置、电子设备及可读存储介质 |
CN109033201A (zh) * | 2018-06-29 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种文件差异数据的获取方法、装置及电子设备 |
CN109284301A (zh) * | 2018-08-31 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 数据核对方法及装置 |
WO2019029155A1 (zh) * | 2017-08-08 | 2019-02-14 | 平安科技(深圳)有限公司 | 数据对比方法、装置、计算机设备和存储介质 |
CN109977082A (zh) * | 2019-03-12 | 2019-07-05 | 福建省农村信用社联合社 | 一种大批量数据自动比对的方法及计算机可读存储介质 |
CN110347715A (zh) * | 2019-05-22 | 2019-10-18 | 国网安徽省电力有限公司 | 一种针对电网运行数据汇总比对方法及系统 |
CN111143368A (zh) * | 2019-12-27 | 2020-05-12 | 瀚高基础软件股份有限公司 | 一种关系型数据库数据对比方法及系统 |
CN111261210A (zh) * | 2018-11-30 | 2020-06-09 | 旺宏电子股份有限公司 | 存储器装置 |
CN111563088A (zh) * | 2020-04-20 | 2020-08-21 | 成都库珀区块链科技有限公司 | 数据一致性检测方法及装置 |
CN111918378A (zh) * | 2020-08-13 | 2020-11-10 | 盐城工学院 | 一种通信设备的信号功率控制系统及控制方法 |
CN111949663A (zh) * | 2020-08-17 | 2020-11-17 | 沈阳京华博瑞科技有限公司 | 一种大数据主外键一致性评价方法、装置和设备 |
CN112016982A (zh) * | 2020-08-19 | 2020-12-01 | 云账户技术(天津)有限公司 | 一种开票金额的计算方法及装置 |
CN113177044A (zh) * | 2021-04-08 | 2021-07-27 | 武汉达梦数据库股份有限公司 | 一种基于数据库b树快速对比数据的方法和装置 |
CN116089436A (zh) * | 2022-11-29 | 2023-05-09 | 荣耀终端有限公司 | 一种大数据量的数据稽核方法和电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183361A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种关系数据库应用自动升级的方法 |
CN102411588A (zh) * | 2010-09-26 | 2012-04-11 | 金蝶软件(中国)有限公司 | 数据表的对比检验方法及系统 |
CN104142954A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 一种基于频度分区的数据表比对更新方法与装置 |
CN104156832A (zh) * | 2014-08-28 | 2014-11-19 | 国家电网公司 | 系统间数据核对方法及装置 |
CN104239301A (zh) * | 2013-06-06 | 2014-12-24 | 阿里巴巴集团控股有限公司 | 一种数据比对方法和装置 |
-
2015
- 2015-02-12 CN CN201510075473.2A patent/CN105989089A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101183361A (zh) * | 2006-11-13 | 2008-05-21 | 中兴通讯股份有限公司 | 一种关系数据库应用自动升级的方法 |
CN102411588A (zh) * | 2010-09-26 | 2012-04-11 | 金蝶软件(中国)有限公司 | 数据表的对比检验方法及系统 |
CN104142954A (zh) * | 2013-05-10 | 2014-11-12 | 中国电信股份有限公司 | 一种基于频度分区的数据表比对更新方法与装置 |
CN104239301A (zh) * | 2013-06-06 | 2014-12-24 | 阿里巴巴集团控股有限公司 | 一种数据比对方法和装置 |
CN104156832A (zh) * | 2014-08-28 | 2014-11-19 | 国家电网公司 | 系统间数据核对方法及装置 |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107070645A (zh) * | 2016-12-30 | 2017-08-18 | 华为技术有限公司 | 比较数据表的数据的方法和系统 |
CN106970941A (zh) * | 2017-02-16 | 2017-07-21 | 上海瀚之友信息技术服务有限公司 | 一种销售数据对比方法及系统 |
CN106970941B (zh) * | 2017-02-16 | 2021-02-02 | 上海瀚之友信息技术服务有限公司 | 一种销售数据对比方法及系统 |
CN106709374A (zh) * | 2017-03-03 | 2017-05-24 | 北京恒华伟业科技股份有限公司 | 一种关键数据安全性保证方法和装置 |
WO2019029155A1 (zh) * | 2017-08-08 | 2019-02-14 | 平安科技(深圳)有限公司 | 数据对比方法、装置、计算机设备和存储介质 |
CN107784102A (zh) * | 2017-10-27 | 2018-03-09 | 中国电子科技集团公司第二十八研究所 | 一种基于Oracle数据库的数据差异比较方法 |
CN108170805A (zh) * | 2017-12-28 | 2018-06-15 | 福建中金在线信息科技有限公司 | 一种数据表比较方法、装置、电子设备及可读存储介质 |
CN108170805B (zh) * | 2017-12-28 | 2021-07-02 | 福建中金在线信息科技有限公司 | 一种数据表比较方法、装置、电子设备及可读存储介质 |
CN109033201A (zh) * | 2018-06-29 | 2018-12-18 | 阿里巴巴集团控股有限公司 | 一种文件差异数据的获取方法、装置及电子设备 |
CN109284301A (zh) * | 2018-08-31 | 2019-01-29 | 阿里巴巴集团控股有限公司 | 数据核对方法及装置 |
CN111261210A (zh) * | 2018-11-30 | 2020-06-09 | 旺宏电子股份有限公司 | 存储器装置 |
CN111261210B (zh) * | 2018-11-30 | 2022-02-22 | 旺宏电子股份有限公司 | 存储器装置 |
CN109977082A (zh) * | 2019-03-12 | 2019-07-05 | 福建省农村信用社联合社 | 一种大批量数据自动比对的方法及计算机可读存储介质 |
CN110347715A (zh) * | 2019-05-22 | 2019-10-18 | 国网安徽省电力有限公司 | 一种针对电网运行数据汇总比对方法及系统 |
CN111143368A (zh) * | 2019-12-27 | 2020-05-12 | 瀚高基础软件股份有限公司 | 一种关系型数据库数据对比方法及系统 |
CN111143368B (zh) * | 2019-12-27 | 2023-05-12 | 瀚高基础软件股份有限公司 | 一种关系型数据库数据对比方法及系统 |
CN111563088A (zh) * | 2020-04-20 | 2020-08-21 | 成都库珀区块链科技有限公司 | 数据一致性检测方法及装置 |
CN111918378A (zh) * | 2020-08-13 | 2020-11-10 | 盐城工学院 | 一种通信设备的信号功率控制系统及控制方法 |
CN111949663A (zh) * | 2020-08-17 | 2020-11-17 | 沈阳京华博瑞科技有限公司 | 一种大数据主外键一致性评价方法、装置和设备 |
CN112016982A (zh) * | 2020-08-19 | 2020-12-01 | 云账户技术(天津)有限公司 | 一种开票金额的计算方法及装置 |
CN113177044A (zh) * | 2021-04-08 | 2021-07-27 | 武汉达梦数据库股份有限公司 | 一种基于数据库b树快速对比数据的方法和装置 |
CN113177044B (zh) * | 2021-04-08 | 2022-05-27 | 武汉达梦数据库股份有限公司 | 一种基于数据库b树快速对比数据的方法和装置 |
CN116089436A (zh) * | 2022-11-29 | 2023-05-09 | 荣耀终端有限公司 | 一种大数据量的数据稽核方法和电子设备 |
CN116089436B (zh) * | 2022-11-29 | 2023-11-07 | 荣耀终端有限公司 | 一种大数据量的数据稽核方法和电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105989089A (zh) | 一种数据对比方法及装置 | |
US9904694B2 (en) | NoSQL relational database (RDB) data movement | |
CN112036736A (zh) | 一种工作流创建方法及装置 | |
US10168870B2 (en) | System for retrieving, visualizing and editing semantic annotations | |
CN112672184A (zh) | 一种视频审核及发布方法 | |
CN108763059A (zh) | 一种异常检测方法、装置及设备 | |
CN109241026A (zh) | 数据管理的方法、装置及系统 | |
CN104537001A (zh) | 一种油气信息数据挖掘平台及方法 | |
US10175958B2 (en) | Acquiring identification of an application lifecycle management entity associated with similar code | |
CN105868216A (zh) | 一种实现对象过期操作的方法、装置和设备 | |
CN106484690A (zh) | 一种数据迁移的验证方法及装置 | |
CN108875743A (zh) | 一种文本识别方法及装置 | |
CN108846069A (zh) | 一种基于标记语言的文档执行方法及装置 | |
CN106156109A (zh) | 一种搜索方法及装置 | |
CN106201859A (zh) | 一种回归测试方法及系统 | |
CN106970758A (zh) | 电子文档操作处理方法、装置和电子设备 | |
CN110119381A (zh) | 一种索引更新方法、装置、设备及介质 | |
CN109325035A (zh) | 相似表的识别方法及装置 | |
WO2024078122A1 (zh) | 数据库表扫描的方法、装置以及设备 | |
CN110276056B (zh) | 文档编辑方法、装置、设备及系统 | |
US9286349B2 (en) | Dynamic search system | |
CN108920241A (zh) | 一种显示状态调整方法、装置及设备 | |
US10764130B2 (en) | Automatically reconfiguring an input interface | |
CN113590660A (zh) | 一种数据自助查询方法、装置以及电子设备 | |
US11138244B2 (en) | Detection and visualization of geographic data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161005 |
|
RJ01 | Rejection of invention patent application after publication |