数据处理方法、装置、电子设备和存储介质制造方法及图纸

技术编号:37602120 阅读:12 留言:0更新日期:2023-05-18 11:53
本公开关于数据处理方法、装置、电子设备和存储介质,包括:获取原数据库中待归档的目标数据表;获取目标数据表的归档上限和归档下限;从目标数据表中获取目标列的时间属性值在归档上限和归档下限之间的目标行数据;将目标行数据归档至归档数据库。这样,由于会记录归档上限和归档下限,即由于会对归档进度进行记录,每次归档无需从头开始遍历,可以避免将大量时间都浪费在查找未被归档过的数据上,可以提高数据归档的效率。并且,由于会对归档进度进行记录,本公开支持归档任务随时暂停和重启,归档服务重启之后会从记录的上次的归档位点开始,继续执行归档任务,避免从头开始执行,可以有效节省计算资源。可以有效节省计算资源。可以有效节省计算资源。

【技术实现步骤摘要】
数据处理方法、装置、电子设备和存储介质


[0001]本公开涉及计算机
,更具体地说,涉及数据处理方法、装置、电子设备和存储介质。

技术介绍

[0002]为了保证数据库的可用性和容灾能力,数据库一般是以集群的形式存在,一个数据库集群可以包含一个主库以及若干个从库,同一份数据可以被存储至数据库集群的不同位置。例如,可以将一份数据存储于主库内,同时,该份数据还可以被存入不同的从库内。
[0003]数据库内可能存在不经常使用的数据,即“冷数据”,可以将数据库内的“冷数据”归档至近线设备。相关技术中,每次进行数据归档时,均需要从整份数据的起始部分往后查询,直到查找到之前未被归档过的数据,进而对之前未被归档过的数据进行归档。由于每次归档都需要从头开始遍历,会导致将大量时间都浪费在查找未被归档过的数据上,造成数据归档的效率较低。

技术实现思路

[0004]本公开提供数据处理方法、装置、电子设备和存储介质,以至少解决上述相关技术中,数据归档的效率较低的问题。
[0005]根据本公开实施例的第一方面,提供一种数据处理方法,包括:获取原数据库中待归档的目标数据表,其中,所述原数据库为数据库集群中的数据库,所述目标数据表具有标示每行数据的时间属性值的目标列;获取所述目标数据表的归档上限和归档下限,其中,所述归档上限用于指示本次归档在所述目标数据表内的终止归档位点,所述归档下限用于指示所述本次归档在所述目标数据表内的起始归档位点;从所述目标数据表中获取所述目标列的时间属性值在所述归档上限和所述归档下限之间的目标行数据;将所述目标行数据归档至归档数据库。
[0006]可选地,所述目标列为所述目标数据表中具有物理时间属性的列,或者,所述目标列为表示所述目标数据表中所述每行数据被更新时间的时间戳隐藏列。
[0007]可选地,所述获取所述目标数据表的归档上限和归档下限,包括:每隔预设周期根据当前物理时间以及预设第一时间间隔,生成所述本次归档的归档上限,并每隔所述预设周期获取所述本次归档的归档下限,其中,所述本次归档的归档下限为所述本次归档的前一次归档的归档上限。
[0008]可选地,所述目标列为针对所述目标数据表的每行数据设置的表示写入先后顺序的标识列;所述获取所述目标数据表的归档上限和归档下限,包括:获取预先配置的第一标识作为所述归档上限,以及,获取预先配置的第二标识作为所述归档下限,其中,所述第二标识对应的写入顺序在所述第一标识对应的写入顺序之前。
[0009]可选地,所述从所述目标数据表中获取所述目标列的时间属性值在所述归档上限和所述归档下限之间的目标行数据,包括:在所述目标数据表中所述目标列的时间属性值
在所述本次归档的归档上限和所述本次归档的归档下限之间的行数据超过预设条件的情况下,从所述本次归档的归档下限开始,获取满足所述预设条件的行数据,作为所述目标行数据。
[0010]可选地,所述预设条件包括以下项中的至少一项:行数据的行数为预设行数、行数据的总字节数为预设第一字节数。
[0011]可选地,所述数据处理方法还包括:生成所述本次归档的下一次归档的目标归档下限,其中,所述目标归档下限采用所述目标行数据所对应的目标列的最大时间属性值表征;生成所述下一次归档的目标归档上限,其中,所述目标归档上限与所述本次归档的归档上限相同。
[0012]可选地,所述数据处理方法还包括:在当前归档的归档位点达到所述目标归档上限,或者,在当前归档的归档位点与所述目标归档上限之间的行数据的行数小于预设行数的情况下,根据当前物理时间以及预设第一时间间隔,生成当前归档的下一次归档的归档上限。
[0013]可选地,所述将所述目标行数据归档至归档数据库,包括:将所述目标行数据迁移至消息队列,以使所述消息队列在确定获取到的目标行数据的总字节数达到预设第二字节数时,将总字节数为所述预设第二字节数的目标行数据归档至所述归档数据库。
[0014]可选地,所述原数据库为主数据库,所述数据库集群还包括存储有所述目标数据表的从数据库;在所述将所述目标行数据归档至归档数据库之后,还包括:将所述归档上限和所述归档下限同步至所述从数据库,以使所述从数据库从所述目标数据表中获取所述目标行数据之后,将所述目标行数据归档至所述归档数据库。
[0015]可选地,所述原数据库为从数据库;所述获取所述目标数据表的归档上限和归档下限,包括:利用数据归档线程从归档位点数据表中读取所述本次归档的归档上限和所述本次归档的归档下限,其中,所述归档位点数据表存储于所述数据库集群中的主数据库中,所述归档位点数据表用于写入每次归档的归档上限和归档下限。
[0016]可选地,所述从所述目标数据表中获取所述目标列的时间属性值在所述归档上限和所述归档下限之间的目标行数据,包括:基于所述本次归档的归档上限和所述本次归档的归档下限,生成归档查询语句;通过所述归档查询语句,查询得到所述目标数据表中所述目标列的时间属性值在所述本次归档的归档上限和所述本次归档的归档下限之间的所述目标行数据。
[0017]可选地,所述数据处理方法还包括:获取所述目标数据表对应的校验上限和校验下限,其中,所述校验上限用于指示本次校验在所述目标数据表内的终止校验位点,所述校验下限用于指示所述本次校验在所述目标数据表内的起始校验位点;将所述原数据库中,对应的所述目标列的时间属性值在所述校验上限和所述校验下限之间的行数据,与,所述归档数据库中对应的所述目标列的时间属性值在所述校验上限和所述校验下限之间的行数据进行比对,获得比对结果;在所述比对结果为一致的情况下,确定所述校验上限和所述校验下限之间的行数据归档成功;在所述比对结果不一致的情况下,确定所述校验上限和所述校验下限之间的行数据归档失败。
[0018]可选地,所述获取所述目标数据表对应的校验上限和校验下限,包括:获取小于或者等于所述归档下限的位点作为所述本次校验的校验上限;获取所述本次校验的前一次校
验对应的校验上限,作为所述本次校验的校验下限。
[0019]可选地,所述获取小于或者等于所述归档下限的位点作为所述本次校验的校验上限,包括:获取小于所述归档下限、且与所述归档下限距离预设第二时间间隔的位点作为所述本次校验的校验上限,其中,被归档至所述归档数据库内的数据在被归档时刻之后的所述预设第二时间间隔之后处于可被读取状态。
[0020]可选地,所述数据处理方法还包括:获取所述目标数据表对应的清理上限和清理下限,其中,所述清理上限用于指示本次清理在所述目标数据表内的终止清理位点,所述清理下限用于指示所述本次清理在所述目标数据表内的起始清理位点;将所述目标数据表中,对应的所述目标列的时间属性值在所述清理上限和所述清理下限之间的行数据删除。
[0021]可选地,所述获取所述目标数据表对应的清理上限和清理下限,包括:获取小于或者等于最新的校验下限的位点作为所述本次清理的清理上限;获取所述本次清理的前一次清理对应的清理上限,作为所述本次清理的清理下限。
[0本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:获取原数据库中待归档的目标数据表,其中,所述原数据库为数据库集群中的数据库,所述目标数据表具有标示每行数据的时间属性值的目标列;获取所述目标数据表的归档上限和归档下限,其中,所述归档上限用于指示本次归档在所述目标数据表内的终止归档位点,所述归档下限用于指示所述本次归档在所述目标数据表内的起始归档位点;从所述目标数据表中获取所述目标列的时间属性值在所述归档上限和所述归档下限之间的目标行数据;将所述目标行数据归档至归档数据库。2.如权利要求1所述的数据处理方法,其特征在于,所述目标列为所述目标数据表中具有物理时间属性的列,或者,所述目标列为表示所述目标数据表中所述每行数据被更新时间的时间戳隐藏列。3.如权利要求2所述的数据处理方法,其特征在于,所述获取所述目标数据表的归档上限和归档下限,包括:每隔预设周期根据当前物理时间以及预设第一时间间隔,生成所述本次归档的归档上限,并每隔所述预设周期获取所述本次归档的归档下限,其中,所述本次归档的归档下限为所述本次归档的前一次归档的归档上限。4.如权利要求1所述的数据处理方法,其特征在于,所述目标列为针对所述目标数据表的每行数据设置的表示写入先后顺序的标识列;所述获取所述目标数据表的归档上限和归档下限,包括:获取预先配置的第一标识作为所述归档上限,以及,获取预先配置的第二标识作为所述归档下限,其中,所述第二标识对应的写入顺序在所述第一标识对应的写入顺序之前。5.如权利要求1所述的数据处理方法,其特征在于,所述从所述目标数据表中获取所述目标列的时间属性值在所述归档上限和所述归档下限之间的目标行数据,包括:在所述目标数据表中所述目标列的时间属性值在所述本次归档的归档上限和所述本次归档的归档下限之间的行数据超过预设条件的情况下,从所述本次归档的归档下限开始,获取满足所述预设条件的行数据,作为所述目标行数据。6.如权利要求5所述的数据处理方法,其特征在于,所述预设条件包括以下项中的至少一项:行数据的行数为预设行数、行数据的总字节数为预设第一字节数。7.如权利要求5所述的数据处理方法,其特征在于,所述数据处理方法还包括:生成所述本次归档的下一次归档的目标归档下限,其中,所述目标归档下限采用所述目标行数据所对应的目标列的最大时间属性值表征;生成所述下一次归档的目标归档上限,其中,所述目标归档上限与所述本次归档的归档上限相同。8.如权利要求7所述的数据处理方法,其特征在于,所述数据处理方法还包括:在当前归档的归档位点达到所述目标归档上限,或者,在当前归档的归档位点与所述目标归档上限之间的行数据的行数小于预设行数的情况下,根据当前物理时间以及预设第一时间间隔,生成当前归档的下一次归档的归档上限。
9.如权利要求1所述的数据处理方法,其特征在于,所述将所述目标行数据归档至归档数据库,包括:将所述目标行数据迁移至消息队列,以使所述消息队列在确定获取到的目标行数据的总字节数达到预设第二字节数时,将总字节数为所述预设第二字节数的目标行数据归档至所述归档数据库。10.如权利要求1所述的数据处理方法,其特征在于,所述原数据库为主数据库,所述数据库集群还包括存储有所述目标数据表的从数据库;在所述将所述目标行数据归档至归档数据库之后,还包括:将所述归档上限和所述归档下限同步至所述从数据库,以使所述从数据库从所述目标数据表中获取所述目标行数据之后,将所述目标行数据归档至所述归档数据库。11.如权利要求1所述的数据处理方法,其特征在于,所述原数据库为从数据库;所述获取所述目标数据表的归档上限和归档下限,包括:利用数据归档线程从归档位点数据表中读取所述本次归档的归档上限和所述本次归档的归档下限,其中,所述归档位点数据表存储于所述数据库集群中的主数据库中,所述归档位点数据表用于写入每次归档的归档上限和归档下限。12.如权利要求1所述的数据处理方法,其特征在于,所述从所述目标数据表中获取所述目标列的时间属性值在所述归档上限和所述归档下限之间的目标行数据,包括:基于所述本次归档的归档上限和所述本次归档的归档下限,生成归档查询语句;通过所述归档查询语句,查询得到所述目标数据表中所述目标列的时间属性值在所述本次归档的归档上限和所述本次归档的归档下限之间的所述目标行数据。13.如权利要求1所述的数据处理方法,其特征在于,所述数据处理方法还包括:获取所述目标数据表对应的校验上限和校验下限,其中,所述校验上限用于指示本次校验在所述目标数据表内的终止校验位点,所述校验下限用于指示所述本次校验在所述目标数据表内的起始校验位点;将所述原数据库中,对应的所述目标列的时间属性值在所述校验上限和所述校验下限之间的行数据,与,所述归档数据库中对应的所述目标列的时间属性值在所述校验上限和所述校验下限之间的行数据进行比对,获得比对结果;在所述比对结果为一致的情况下,确定所述校验上限和所述校验下限之间的行数据归档成功;在所述比对结果不一致的情况下,确定所述校验上限和所述校验下限之间的行数据归...

【专利技术属性】
技术研发人员:贺伟
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1