数据回收方法、装置、电子设备及计算机可读存储介质制造方法及图纸

技术编号:37366610 阅读:14 留言:0更新日期:2023-04-27 07:13
本申请实施例提供了一种数据回收方法、装置、电子设备及计算机可读存储介质,涉及数据处理技术领域。该方法包括:响应于针对数据库中的目标数据表的删除操作,若确定存在目标数据对象与所述目标数据表存在关联关系,则解除所述关联关系,将解除关系后的目标数据表移动至数据库回收站;确定所述关联关系的类型以及所述删除操作的类型,根据所述关联关系的类型以及所述删除操作的类型对所述目标数据对象进行处理。本申请实施例实现了对存在关联关系的目标数据表的回收,实现了对与目标数据表存在关联关系的目标数据对象进行处理。在关联关系的目标数据对象进行处理。在关联关系的目标数据对象进行处理。

【技术实现步骤摘要】
数据回收方法、装置、电子设备及计算机可读存储介质


[0001]本申请涉及数据处理
,具体而言,本申请涉及一种数据回收方法、装置、电子设备及计算机可读存储介质。

技术介绍

[0002]数据库中的数据表可以被划分为2类,分别是第一类数据表和第二类数据表。其中,该第一类数据表和目标数据对象之间不存在任何关联关系,该目标数据对象可以是数据库中的其他数据表、触发器以及序列中的任意一种,该关联关系是父子关系(父子关系可以为分区关系或继承关系)、包含关系中的任意一种,即该第一类数据表不与其他数据表存在父子关系,也不与触发器或序列存在包含关系(不包含触发器,也不包含序列)。第二类数据表和第一类数据表相反,第二类数据表和其他数据对象之间存在关联关系,该第二类数据表满足以下至少一种情况:与其他数据表之间存在父子关系、包含触发器、包含序列。数据库回收站可对数据库中删除的数据表进行管理,数据库中被删除的数据表其实并没有立刻从磁盘中删除,只是数据表由原来的数据库移动至数据库回收站,即由数据库回收站回收数据表。
[0003]现有方案对数据库回收站对数据表进行回收时,由于上述第一类数据表是独立的数据表,因此数据库回收站可正常回收上述第一类数据表,也即第一类数据表可以由的原来的数据库移动至数据库回收站。
[0004]而第二类数据表由于与其他数据对象存在关联关系,在回收时很可能会出现异常,因而导致第二类数据表无法被正常回收,如何让数据库回收站正常回收上述第二类数据表是一个亟待解决的问题。

技术实现思路

[0005]本申请实施例提供了一种数据回收方法、装置、电子设备、计算机可读存储介质及计算机程序产品,用于解决
技术介绍
中的技术问题。
[0006]根据本申请实施例的第一方面,提供了一种数据回收方法,该方法包括:
[0007]响应于针对数据库中的目标数据表的删除操作,若确定存在目标数据对象与目标数据表存在关联关系,则解除关联关系,将解除关系后的目标数据表移动至数据库回收站;
[0008]确定关联关系的类型以及删除操作的类型,根据关联关系的类型以及删除操作的类型对目标数据对象进行处理。
[0009]根据本申请实施例的第二方面,提供了一种数据回收装置,该装置包括:
[0010]删除操作响应模块,用于响应于针对数据库中的目标数据表的删除操作,若确定存在目标数据对象与目标数据表存在关联关系,则解除关联关系,将解除关系后的目标数据表移动至数据库回收站;
[0011]目标数据对象处理模块,用于确定关联关系的类型以及删除操作的类型,根据关联关系的类型以及删除操作的类型对目标数据对象进行处理。
[0012]在一个可能的实现方式中,关联关系的类型包括目标数据表为目标数据对象的父表,删除操作的类型包括drop类型;
[0013]目标数据对象处理模块包括:
[0014]第一确定子模块,用于确定关联关系的类型包括目标数据表为目标数据对象的父表,删除操作的类型为drop类型;
[0015]第一处理子模块,用于将目标数据对象移动至数据库回收站,并在数据库回收站中建立目标数据表和目标数据对象之间的关联关系为目标数据表为目标数据对象的父表。
[0016]在一个可能的实现方式中,关联关系的类型包括目标数据表为目标数据对象的父表,删除操作的类型包括truncate类型;
[0017]目标数据对象处理模块包括:
[0018]第二确定子模块,用于确定关联关系的类型包括目标数据表为目标数据对象的父表,删除操作的类型为truncate类型;
[0019]第二处理子模块,用于将目标数据对象移动至数据库回收站,在数据库中分别创建第一数据表和第二数据表;第一数据表和目标数据表的表结构相同,且第一数据表为空表;第二数据表和目标数据对象的表结构相同,且第二数据表为空表;在数据库回收站中建立目标数据表和目标数据对象之间的关联关系为目标数据表为目标数据对象的父表;在数据库中建立第一数据表为第二数据表之间的关联关系为第一数据表为第二数据表的父表。
[0020]在一个可能的实现方式中,关联关系的类型包括目标数据表为目标数据对象的子表,删除操作的类型包括truncate类型;
[0021]目标数据对象处理模块包括:
[0022]第三确定子模块,用于确定关联关系的类型包括目标数据表为目标数据对象的子表,删除操作的类型为truncate类型;
[0023]第三处理子模块,用于在数据库中创建第三数据表;第三数据表和目标数据表的表结构相同,且第三数据表为空表;在数据库中建立第三数据表和目标数据对象之间的关联关系为第三数据表为目标数据对象的子表。
[0024]在一个可能的实现方式中,关联关系的类型包括目标数据表中包含目标数据对象,删除操作的类型包括drop类型;
[0025]目标数据对象处理模块包括:
[0026]第四确定子模块,用于确定关联关系的类型包括目标数据表中包含目标数据对象,删除操作的类型为drop类型;
[0027]第四处理子模块,用于将目标数据对象移动至数据库回收站,在数据库回收站中建立目标数据表和目标数据对象之间的关联关系为目标数据表包含目标数据对象。
[0028]在一个可能的实现方式中,关联关系的类型包括目标数据表中包含目标数据对象,删除操作的类型包括truncate类型;
[0029]目标数据对象处理模块包括:
[0030]第五确定子模块,用于确定关联关系的类型包括目标数据表中包含目标数据对象,删除操作的类型为truncate类型;
[0031]第五处理子模块,用于在数据库中创建第四数据表,第四数据表和目标数据表的表结构相同,且第四数据表为空表;在数据库中建立第四数据表和目标数据对象之间的关
联关系为第四数据表包含目标数据对象。
[0032]在一个可能的实现方式中,所删除操作响应模块还用于若确定不存在目标数据对象和目标数据表存在关联关系,则将数据目标数据表移动至数据库回收站。
[0033]在一个可能的实现方式中,删除操作响应模块包括:
[0034]目标数据表回收子模块,用于从数据库中提取目标数据表,对目标数据表进行重命名,得到新目标数据表,将新目标数据表存储至数据库回收站。
[0035]在一个可能的实现方式中,该装置还包括:
[0036]死元组清除子模块,用于在数据库回收站对应的磁盘中清除新目标数据表中的死元组;死元组为被标记为删除的数据行;
[0037]压缩子模块,用于在数据库回收站中通过预设的压缩算法对新目标数据表进行压缩。
[0038]在一个可能的实现方式中,该装置还包括:
[0039]映射关系建立模块,用于建立目标数据表和新目标数据表之间的映射关系;
[0040]撤销删除操作响应模块,用于响应于针对撤销删除目标数据表的操作,根据映射关系确定数据库回收站中目标数据表对应的新目标数据表,对新目标数据表进行解压缩、重命本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据回收方法,其特征在于,包括:响应于针对数据库中的目标数据表的删除操作,若确定存在目标数据对象与所述目标数据表存在关联关系,则解除所述关联关系,将解除关系后的目标数据表移动至数据库回收站;确定所述关联关系的类型以及所述删除操作的类型,根据所述关联关系的类型以及所述删除操作的类型对所述目标数据对象进行处理。2.根据权利要求1所述的方法,其特征在于,所述关联关系的类型包括所述目标数据表为所述目标数据对象的父表,所述删除操作的类型包括drop类型;所述确定所述关联关系的类型以及所述删除操作的类型,根据所述关联关系的类型以及所述删除操作的类型对所述目标数据对象进行处理,包括:确定所述关联关系的类型包括所述目标数据表为所述目标数据对象的父表,所述删除操作的类型为drop类型;将所述目标数据对象移动至所述数据库回收站,并在所述数据库回收站中建立所述目标数据表和所述目标数据对象之间的关联关系为所述目标数据表为所述目标数据对象的父表。3.根据权利要求1所述的方法,其特征在于,所述关联关系的类型包括所述目标数据表为所述目标数据对象的父表,所述删除操作的类型包括truncate类型;所述确定所述关联关系的类型以及所述删除操作的类型,根据所述关联关系的类型以及所述删除操作的类型对所述目标数据对象进行处理,包括:确定所述关联关系的类型包括所述目标数据表为所述目标数据对象的父表,所述删除操作的类型为truncate类型;将所述目标数据对象移动至所述数据库回收站,在所述数据库中分别创建第一数据表和第二数据表;所述第一数据表和所述目标数据表的表结构相同,且所述第一数据表为空表;所述第二数据表和所述目标数据对象的表结构相同,且所述第二数据表为空表;在所述数据库回收站中建立所述目标数据表和所述目标数据对象之间的关联关系为所述目标数据表为所述目标数据对象的父表;在所述数据库中建立所述第一数据表为所述第二数据表之间的关联关系为所述第一数据表为所述第二数据表的父表。4.根据权利要求1所述的方法,其特征在于,所述关联关系的类型包括所述目标数据表为所述目标数据对象的子表,所述删除操作的类型包括truncate类型;所述确定所述关联关系的类型以及所述删除操作的类型,根据所述关联关系的类型以及所述删除操作的类型对所述目标数据对象进行处理,包括:确定所述关联关系的类型包括所述目标数据表为所述目标数据对象的子表,所述删除操作的类型为truncate类型;在所述数据库中创建第三数据表;所述第三数据表和所述目标数据表的表结构相同,且所述第三数据表为空表;在所述数据库中建立所述第三数据表和所述目标数据对象之间的关联关系为所述第三数据表为所述目标数据对象的子表。5.根据权利要求1所述的方法,其特征在于,所述关联关系的类型包括所述目标数据表中包含所述目标数据对象,所述删除操作的类型包括drop类型;
所述确定所述关联关系的类型以及所述删除操作的类型,根据所述关联关系的类型以及所述删除操作的类型对所述目标数据对象进行处理,包括:确定所述关联关系的类...

【专利技术属性】
技术研发人员:张小波洪建辉梁博许兴旺顾颀余秀明马珊珊
申请(专利权)人:湖南亚信安慧科技有限公司
类型:发明
国别省市:

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

1