本发明涉及数据处理领域,特别是涉及一种增量数据获取方法、装置、电子设备和存储介质。
背景技术:
1、当业务系统中的数据更新后,需要对新增的业务数据进行增量更新,以确保数据能够被准确备份。现有技术中,一般是基于数据的时间戳进行增量数据的获取,然而,在一些应用场景下,例如医院业务系统中,由于医院业务系统的业务系统数据库设计良莠不齐,有些系统会存在基于时间戳增量采集困难或者基于非整型主键切分数据困难的情况,由此导致无法基于时间戳进行增量数据获取,只能进行全量数据获取,这种获取方式会导致重复获取数据,使得数据同步慢,且占有资源较多。
技术实现思路
1、针对上述技术问题,本发明采用的技术方案为:
2、根据本发明第一方面,提供了一种增量数据获取方法,所述方法包括如下步骤:
3、s100,在当前计算时刻,从当前业务数据库中获取任一数据表dg的时间戳字段tfg,如果tfg为空集或者获取到的时间戳字段为无效字段,执行s200;g的取值为1到j,j为当前业务数据库中的数据表的数量。
4、s200,判断当前增量数据库中是否存在与数据表dg的标识对应的数据过滤结构,如果存在,执行s400;如果不存在,执行s300;其中,所述数据过滤结构包括q个索引元组,第r个索引元组包括(lr,pr),lr为第r个索引元组对应的位置标识,pr为第r个索引元组对应的索引标识,r的取值为1到q;所述数据过滤结构中的索引标识的初始值均为第一索引值。
5、s300,在所述当前增量数据库中为数据表dg创建对应的数据过滤结构,执行s400。
6、s400,基于数据表dg中的第i条数据对应的数据标识,获取第i条数据对应的位置编码值集hgi={hgi1,hgi2,……,hgij,……,hgin},执行s500;其中,hgij为基于第j个位置编码函数获取的第i条数据的位置编码值,i的取值为1到m,m为dg中的数据的数量,j的取值为1到n,n为位置编码函数的数量。
7、s500,遍历hgi,对于hgij,如果数据表dg对应的数据过滤结构fsg中与hgij对应的位置标识对应的索引标识为第一索引值,将hgij对应的索引标识存入对应的当前索引标识记录集rgij中,并在对应的数据过滤结构fsg中将该对应的索引标识设置为第二索引值,执行s600;如果数据表dg对应的当前数据过滤结构fsg中与hgij对应的位置标识对应的索引标识为第二索引值,将hgij对应的索引标识存入对应的当前索引标识记录集rgij中,执行s600;rgij的初始值为空集。
8、s600,如果rgij中所有的索引标识均为第二索引值,不将第i条数据作为增量数据,如果rgij中存在至少一个索引标识为第一索引值,将第i条数据作为增量数据并从当前业务数据库中获取第i条数据;执行s700。
9、s700,设置i=i+1,如果i≤m,执行s400,否则,执行s100。根据本发明第二方面,提供一种增量数据获取装置,包括:
10、数据获取模块,用于在当前计算时刻,从当前业务数据库中获取任一数据表的时间戳字段。
11、判断模块,用于判断获取的数据表的时间戳字段是否为空集或者无效字段,如果是,判断当前增量数据库中是否存在与该数据表的标识对应的数据过滤结构,如果存在,获取该数据表中的任一数据的位置编码,如果不存在,在当前增量数据数据库中为该数据表创建对应的数据过滤结构。
12、位置编码获取模块,用于获取该数据表中的任一数据的位置编码。
13、判断模块,用于在确定该数据表对应的数据过滤结构中与任一数据的位置编码值对应的位置标识对应的索引标识为第一索引值时,将该位置编码对应的索引标识存入对应的当前索引标识记录集中,并在对应的当前数据过滤结构中将该位置编码对应的索引标识设置为第二索引值;以及在确定该数据表对应的数据过滤结构中与任一数据的位置编码值对应的位置标识对应的索引标识为第二索引值时,将该位置编码对应的索引标识存入对应的当前索引标识记录集中;当前索引标识记录集的初始值为空集。
14、增量数据确定模块,用于在确定该数据表对应的任一数据对应的当前索引标识记录集对应的所有的索引标识均为第二索引值,不将该数据作为增量数据,在确定该数据表对应的任一数据对应的当前索引标识记录集中存在至少一个索引标识为第一索引值时,将该任一数据作为增量数据。
15、增量数据获取模块,用于从当前业务数据库中获取增量数据确定模块确定的增量数据。根据本发明第三方面,提供一种电子设备,包括处理器和存储器;所述处理器通过调用所述存储器存储的程序或指令,用于执行本发明第一方面所述的方法。根据本发明第四方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机指令用于执行本发明第一方面所述的方法。
16、本发明至少具有以下有益效果:
17、本发明实施例提供的技术方案,在数据没有时间戳或者时间戳不可用的情况下,能够基于数据的标识获取的位置编码对该数据进行过滤,以获取增量数据,而不是进行全量数据获取,从而能够提高数据备份速度和降低数据备份资源。
18、应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
1.一种增量数据获取方法,其特征在于,所述方法包括如下步骤:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括如下步骤:
3.根据权利要求2所述的方法,其特征在于,所述位置编码函数的数量和对应的数据过滤结构的容错率负相关。
4.根据权利要求2所述的方法,其特征在于,ft0g与dg的数据等级负相关。
5.根据权利要求1所述的方法,其特征在于,s100还包括:
6.根据权利要求1所述的方法,其特征在于,s300具体包括:
7.一种增量数据获取装置,其特征在于,包括:
8.根据权利要求7所述的装置,其特征在于,还包括:
9.一种电子设备,其特征在于,包括处理器和存储器;
10.一种非瞬时性计算机可读存储介质,其特征在于,所述非瞬时性计算机可读存储介质存储程序或指令,所述程序或指令使计算机执行如权利要求1至6任一项所述方法的步骤。
