判断数据状态的装置和方法以及数据更新的装置和方法制造方法及图纸

技术编号:20545814 阅读:39 留言:0更新日期:2019-03-09 18:45
本公开涉及判断数据状态的装置和方法以及数据更新的装置和方法。判断数据状态的方法包括:给包括增量数据和目标数据的所有数据中的每一条数据都配置一个校验字段,校验字段的值由相应数据的全部非主键字段确定,对于值不完全相同的非主键字段,所确定的校验字段的值也不同;将增量数据与目标数据的主键字段进行比较,如果不同,则判断增量数据的状态为新增,如果相同,则比较增量数据与目标数据的校验字段是否相同;如果增量数据与目标数据的校验字段不同,则判断增量数据的状态为修改,而如果相同则判断增量数据的状态为不变。通过引入校验字段,在判断增量数据状态时,避免了人工对不同的非主键字段反复编码的工作,极大的提升了判断效率。

Device and method for judging data status and device and method for data updating

The present disclosure relates to devices and methods for judging data status and devices and methods for data updating. The methods of judging data state include: configuring a check field for each data including incremental data and target data, the value of the check field is determined by all non-primary key fields of the corresponding data, and the value of the check field is different for non-primary key fields whose values are not identical; comparing the incremental data with the primary key fields of the target data If different, the state of incremental data is judged to be new, and if the same, whether the check field of incremental data is the same as that of target data is compared; if the check field of incremental data is different from that of target data, the state of incremental data is judged to be modified, and if the same, the state of incremental data is judged to be unchanged. By introducing the check field, when judging the state of incremental data, it avoids the manual repeated coding of different non-primary key fields, and greatly improves the judgment efficiency.

【技术实现步骤摘要】
判断数据状态的装置和方法以及数据更新的装置和方法
本专利技术涉及数据仓库领域,尤其是判断数据状态的装置和方法以及数据更新的装置和方法,以及一种存储有执行所述判断数据状态的方法的指令的计算机可读存储介质。
技术介绍
随着互联网和移动互联网的飞速发展,大型电信行业公司和电子商务公司,在日常运营中生产出的数据量越来越大。这些数据含有的信息量越来越多,越来越多元化,越来越复杂,并呈现爆发式增长。为了对数据进行有效存储,通常会先从企业日常运营生产的数据中抽取出增量数据,然后判定增量数据的变化状态,所述增量数据有三种变化状态,分别是新增、修改和不变三种。再将其中新增或修改的信息添加到企业的全量数据库中。在对海量数据的存储应用中,如何根据增量数据的状态来更新全量数据,确保增量数据所包含的新增信息,全部添加到全量数据中,使得全量数据在不增加冗余数据的基础上完成更新,是每一个拥有大数据量的企业都会碰到的问题。相关技术中判定增量数据状态,更新全量数据的方法有两种。第一种是直接将增量数据和全量数据进行对比,判定增量数据状态,并根据增量数据状态更新全量数据表。第二种是先从全量数据中截取一段周期的数据与增量数据进行对比,判定增量数据状态,再根据增量数据状态更新所述截取出的部分全量数据,最后将这部分截取出的部分全量数据表插回到全量数据中。无论采用上述哪种方法,均需判定增量数据的变化状态,现有的判定增量数据状态方法是,取主键相同的增量数据与目标数据,对增量数据与目标数据的每一个非主键字段进行比较,判定增量数据的变化状态。
技术实现思路
相关技术方案中存在如下问题。例如,采用直接将全量数据整体与增量数据进行对比判定的方案,可以保证数据准确性,但是耗费了大量的时间和计算资源。又例如,采用从全量数据中截取一段周期的数据与增量数据进行对比判定的方案,虽然能减少计算时间和计算资源的消耗,但会影响数据的准确性。在判定增量数据状态的过程中,由于增量数据的字段数和字段类型的不同,每一次判定都需要重新编写复杂的比较代码,需要大量的重复工作,效率低下。至少部分针对上述问题,提出了本专利技术。根据本专利技术的一方面,提供了一种判断数据状态的方法,包括:给包括增量数据和目标数据的所有数据中的每一条数据都配置一个校验字段,所述校验字段的值由相应数据的全部非主键字段确定,对于值不完全相同的非主键字段,所确定的校验字段的值也不同;将增量数据与目标数据的主键字段进行比较,如果增量数据与目标数据的主键字段不同,则判断增量数据的状态为新增;如果增量数据与目标数据的主键字段相同,则比较增量数据与目标数据的校验字段是否相同,如果增量数据与目标数据的校验字段不同,则判断增量数据的状态为修改,如果增量数据与目标数据的校验字段相同,则判断增量数据的状态为不变。本专利技术还提供了另外一种判断数据状态的方法,包括:将增量数据与目标数据的主键字段进行比较,如果增量数据与目标数据的主键字段不同,则判断增量数据的状态为新增;如果增量数据与目标数据的主键字段相同,则给包括主键字段相同的增量数据和目标数据的所有数据中的每一条数据都配置一个校验字段,所述校验字段的值由相应数据的全部非主键字段确定,对于值不完全相同的非主键字段,所确定的校验字段的值也不同,比较增量数据与目标数据的校验字段是否相同,如果增量数据与目标数据的校验字段不同,则判断增量数据的状态为修改,如果增量数据与目标数据的校验字段相同,则判断增量数据的状态为不变。优选的,所述目标数据是全量数据的一部分或者是全量数据的整体。优选的,所述校验字段的值由如下方法确定:将所述每一条数据的每一条非主键字段的值分别作为HASHCODE算法的输入参数进行计算;对每个非主键字段的计算结果进行汇总,得到汇总值;将所述汇总值作为HASHCODE算法的输入参数再次进行计算;将所述汇总值的计算结果作为相应的每一条数据的校验字段的值。优选的,所述目标数据通过如下方式获得:从增量数据的非主键字段中挑选分区字段;根据所述分区字段确定对应的分区标识;按照所述分区标识筛选全量数据,并将筛选出的分区数据作为目标数据。优选的,所述分区字段为时间字段。优选的,所述分区标识为所述时间字段对应的时间区间。优选的,所述增量数据来源于生产数据。根据本专利技术的另一方面,提供了一种数据更新的方法,包括:按照前述的方法,判定增量数据的变化状态;根据增量数据的变化状态更新目标数据。优选的,所述目标数据是全量数据的一部分的情况下,将更新后的目标数据插回到全量数据中。根据本专利技术的另一方面,提供了一种判断数据状态的装置,包括:用于执行前述方法的单元。根据本专利技术的另一方面,提供了一种数据更新装置,包括:前述判断数据状态的装置,用于将校验字段配置给增量数据和目标数据,并且将增量数据与目标数据进行比较,得到增量数据的变化状态;和数据更新单元,用于根据增量数据的变化状态更新目标数据。优选的,所述数据更新装置还包括分区标识单元,用于选取分区字段并确定分区标识;分区数据筛选单元,用于根据所述分区标识从全量数据中筛选得到数据作为目标数据。优选的,所述数据更新装置还包括插回单元,用于将更新后的目标数据插回到全量数据中。根据本专利技术的另一方面,提供了数据更新装置,包括:存储器;以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器中的指令,执行前述的方法。根据本专利技术的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述指令被处理器执行时实现前述的方法。根据本公开的不同方案,至少可以实现以下下列效果中的一项或多项:提供了增量数据状态的判定方法和装置,解决了当前数据状态判定方法需要反复编写非主键字段比较代码的问题,避免了重复工作,提升了效率;提供了从全量数据中抽取分区数据的方法和装置,在不降低合并准确性的前提下,减少了合并操作所需数据量,降低了运算资源开销。附图说明附图构成说明书的一部分,其描述了本公开的实施例,并且连同描述一起用于解释本公开的原理。参照附图,根据下面的详细描述,可以更加清楚地理解本公开。在附图中:图1是本专利技术更新全量数据的方法的一个实施例的流程图;图2是本专利技术判断数据状态的方法的一个实施例的流程图;图3是本专利技术判断数据状态的方法的另一个实施例的流程图;图4是本专利技术计算校验字段的值的方法的一个实施例的流程图;图5是本专利技术数据更新装置的一个实施例的示意图。图6是本专利技术全量数据更新装置的一个实施例的示意图。应理解,附图仅仅是示例性的。具体实施方式现在将参照附图来详细描述本专利技术的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本专利技术的范围。同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本专利技术及其应用或使用的任何限制。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。应注意到:相似的标号和字母在下面本文档来自技高网...

【技术保护点】
1.一种判断数据状态的方法,包括:给包括增量数据和目标数据的所有数据中的每一条数据都配置一个校验字段,所述校验字段的值由相应数据的全部非主键字段确定,对于值不完全相同的非主键字段,所确定的校验字段的值也不同;将增量数据与目标数据的主键字段进行比较,如果增量数据与目标数据的主键字段不同,则判断增量数据的状态为新增;如果增量数据与目标数据的主键字段相同,则比较增量数据与目标数据的校验字段是否相同,如果增量数据与目标数据的校验字段不同,则判断增量数据的状态为修改,如果增量数据与目标数据的校验字段相同,则判断增量数据的状态为不变。

【技术特征摘要】
1.一种判断数据状态的方法,包括:给包括增量数据和目标数据的所有数据中的每一条数据都配置一个校验字段,所述校验字段的值由相应数据的全部非主键字段确定,对于值不完全相同的非主键字段,所确定的校验字段的值也不同;将增量数据与目标数据的主键字段进行比较,如果增量数据与目标数据的主键字段不同,则判断增量数据的状态为新增;如果增量数据与目标数据的主键字段相同,则比较增量数据与目标数据的校验字段是否相同,如果增量数据与目标数据的校验字段不同,则判断增量数据的状态为修改,如果增量数据与目标数据的校验字段相同,则判断增量数据的状态为不变。2.一种判断数据状态的方法,包括:将增量数据与目标数据的主键字段进行比较,如果增量数据与目标数据的主键字段不同,则判断增量数据的状态为新增;如果增量数据与目标数据的主键字段相同,则给包括主键字段相同的增量数据和目标数据的所有数据中的每一条数据都配置一个校验字段,所述校验字段的值由相应数据的全部非主键字段确定,对于值不完全相同的非主键字段,所确定的校验字段的值也不同,比较增量数据与目标数据的校验字段是否相同,如果增量数据与目标数据的校验字段不同,则判断增量数据的状态为修改,如果增量数据与目标数据的校验字段相同,则判断增量数据的状态为不变。3.根据权利要求1或2所述的方法,其中,所述目标数据是全量数据的一部分或者是全量数据的整体。4.根据权利要求1或2所述的方法,其中,校验字段的值由如下方法确定:将所述每一条数据的每一条非主键字段的值分别作为HASHCODE算法的输入参数进行计算;对每个非主键字段的计算结果进行汇总,得到汇总值;将所述汇总值作为HASHCODE算法的输入参数再次进行计算;将所述汇总值的计算结果作为相应的每一条数据的校验字段的值。5.根据权利要求1或2所述的...

【专利技术属性】
技术研发人员:蔡海敏童新旺吕金鹏
申请(专利权)人:中国电信股份有限公司
类型:发明
国别省市:北京,11

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

1