一种数据表比对方法和装置的制造方法

文档序号:9911012阅读:189来源:国知局
一种数据表比对方法和装置的制造方法
【技术领域】
[0001] 本申请涉及数据处理技术领域,尤其涉及一种数据表比对方法和装置。
【背景技术】
[0002] 在大数据时代,需要存储的数据越来越多,数据仓库里数据表的数据量也越来越 大,有的已经达到PB级别。在对数据表进行数据计算、数据迁移等处理的过程中,经常需要 比对两张数据表中存储的数据是否一致。
[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] 图1是本申请一示例性实施例中数据表比对方法的流程示意图。
[0034] 图2是本申请一示例性实施例中生成第一特征值列表的流程示意图。
[0035] 图3是本申请一示例性实施例中服务器的结构示意图。
[0036] 图4是本申请一示例性实施例中数据表比对装置的结构示意图。
【具体实施方式】
[0037] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及 附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例 中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附 权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
[0038] 在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。 在本申请和所附权利要求书中所使用的单数形式的" 一种"、"所述"和"该"也旨在包括多 数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语"和/或"是指 并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0039] 应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这 些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离 本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第 一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当…… 时"或"响应于确定"。
[0040] 针对上述问题,本申请提供一种数据表比对方案,可以有效减少数据表对比过程 中带宽和时间的消耗。
[0041] 请参考图1,本申请提供一种数据表比对方法,所述方法可以应用在服务器上,包 括以下步骤:
[0042] 步骤101,为第一数据表生成第一特征值列表。
[0043] 步骤102,为第二数据表生成第二特征值列表。
[0044] 为了降低数据表比对过程中的数据传输量,在本申请中,为需要进行对比的第一 数据表和第二数据表分别生成对应的第一特征值列表和第二特征值列表。
[0045] 其中,请参考图2,以第一数据表为例,所述为第一数据表生成第一特征值列表可 以包括以下步骤:
[0046] 步骤1011,针对所述第一数据表的每个分区,分别计算该分区的特征值。
[0047] 所述第一数据表的分区划分通常由开发人员或管理人员预先设置,比如:可以按 照数据的存储时间划分所述第一数据表。举例来说,所述第一数据表用于存储30天的数 据,同一天的数据存储在同一个分区内,则所述第一数据表包括有30个分区,其中,第一个 分区中存储2014年1月1日的数据,第二个分区中存储2014年1月2日的数据,依次类推。 当然,对于所述第一数据表的分区的划分,也可以将相邻两天的数据存储在同一个分区内, t匕如:第一分区中可以用来存储2014年1月1日和2日的数据等,本申请对此不作限制。 [0048] 在本申请中,利用所述第一数据表的分区划分,先获取所述第一数据表的各 个分区列表,比如:所述第一数据表包括有30个分区,分别为:dt = 20140101,dt = 20140102, ...,dt = 20140130。然后,分别计算每个分区的特征值,使用每个分区的特征值 来代表该分区中存储的数据,大大减少了数据量。
[0049] 具体地,计算所述第一数据表的某一分区的特征值可以包括:
[0050] 1.将该分区中的每条数据转换为预设的格式。
[0051] 所述第一数据表中的每个分区内都存储有多条数据,每条数据都可能包括有多个 字段。所述字段可以理解为所述第一数据表中的"列",不同的字段可以用于存储不同的信 息,每个字段的字段类型可能相同,也可能不同。举例来说,假设所述第一数据表中的某条 数据包括三个字段,第一个字段用于存储时间,比如:2014年1月1日上午八点整。第二个 字段用于存储订单号,比如=130183。第三个字段用于存储金额,比如:102. 5元。则在本步 骤中,将该数据的每个字段中存储的数据转换为预设的格式,比如:字符串格式。当然,本领 域技术人员也可以依据相关技术将每个字段中存储的数据转换为其他的格式,本申请对此 不作限制。
[0052] 具体地,以所述预设的格式为字符串格式为例,开发人员或者管理人员需要 预先设置转换规则,比如:对于整形的数据格式,可以直接将原始的数据作为转换后的 数据。对于浮点型的数据格式,可以保留一定精度的小数位以作为转换后的数据。对 于日期格式的数据,可以将其转换为标准格式的日期。以前面的举例为例,对于第一 字段中存储的时间格式的数据:2014年1月1日上午八点整,可以将其转换为字符串 "2014-01-0108:00:00. 000",对于第二字段中存储的整形数据订单号:130183,可以直接将 " 130183"作为转换后的字符串,对于第三字段中存储的浮点格式数据金额:102. 5元,可以 保留五位小数,将其转换为字符串:" 102. 50000"。
[0053] 对于所述分区中的每条数据而言,如果该数据包括有m个字段,则经过本步骤的 转换,将该数据的m个不同类型的字段转换为m个字符串。
[0054] 在本申请中,通过将数据表中的每条数据转换为预设的格式,使得本申请可以适 用于异构的数据库中的数据表的比对,适用性更广。
[0055] 2.根据预设的算法分别计算该分区中每条数据的数据特征值。
[0056] 基于前述步骤,在得到某条数据的m个字符串之后,在本步骤中,可以根据预设的 算法计算该数据的数据特征值。比如:根据预设的算法通过函数RowjnergeO可以计算出 该数据的数据特征值。其中,所述预设的算法可以是求和算法或哈希算法。具体地,如果基 于前述步骤得到的某条数据的m个字符串均为数值,则可以采取求和的方式计算该数据的 数据特征值,如果基于前述步骤得到的某条数据的m个字符串包括数值也包括字符,则可 以将所述m个字符串合并为一个字符串,然后通过哈希运算的方式计算该数据的数据特征 值。当然,本领域技术人员也可以采取其他的算法来计算所述数据的数据特征值,本申请对 此不作限制。
[0057] 3.根据所述每条数据的数据特征值计算该分区的特征值。
[0058] 基于
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1