System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及数据库,具体而言,本公开涉及一种数据处理方法、装置、电子设备、存储介质及程序产品。
技术介绍
1、数据库的元数据指的是用于记录用户数据的结构定义的数据,通过元数据可以解析对应的用户数据,数据库的元数据在数据库设计、开发、维护和管理过程中起着重要的作用。
2、当用户对数据库的结构进行变更,就无法回退到之前的版本,针对上述情况,可以通过数据管理员(database administrator,dba)人为地在变更之前对元数据进行一次全量备份操作,但是该方法只能对执行备份操作的时刻的用户数据进行恢复,无法对其他时刻的用户数据进行恢复,灵活性较差。
技术实现思路
1、本公开实施例提供了一种数据处理方法、装置、电子设备、存储介质及程序产品,可以解决现有技术中无法对其他时刻的用户数据进行恢复,灵活性较差的问题。本公开提供的技术方案如下:
2、根据本公开实施例的一个方面,提供了一种数据处理方法,该方法包括:
3、确定待处理对象的元数据,所述待处理对象的元数据包括至少一个操作记录;所述操作记录包括时间戳字段和删除状态字段;
4、接收针对待处理对象的任一数据项的第一操作,基于所述第一操作对所述数据项进行处理;所述第一操作包括新增操作、更新操作和删除操作中的任一种;
5、基于所述第一操作对应的操作时刻,确定所述第一操作对应的操作记录中的时间戳字段值;基于所述第一操作对应的操作类型,确定所述第一操作对应的操作记录中的删除状态字段值;所
6、基于所述时间戳字段值、所述删除状态字段值,以及所述第一操作所针对的数据项的初始元数据信息,在所述待处理对象的元数据中添加所述第一操作的操作记录。
7、可选地,所述基于所述第一操作对应的操作类型,确定所述第一操作对应的操作记录中的删除状态字段值,包括:
8、若所述第一操作的操作类型为新增操作或更新操作,则确定所述删除状态字段值为第一字段值;所述第一字段值表示对应的数据项未删除;
9、若所述第一操作的类型为删除操作,则确定所述删除状态字段值为第二字段值;所述第二字段值表示对应的数据项已删除。
10、可选地,所述方法还包括:
11、接收针对待处理对象的第二操作,并确定所述第二操作对应的检索时刻;所述第二操作包括查询操作或回档操作;
12、基于所述待处理对象的元数据中每个操作记录的时间戳字段值,从所述待处理对象的元数据中确定出从检索时刻到当前时刻之间的至少一条操作记录,作为目标元数据;
13、基于所述目标元数据,确定所述待处理对象在所述检索时刻对应的检索数据。
14、可选地,所述第二操作包括回档操作,所述方法还包括:
15、将所述待处理对象的当前数据替换为所述检索数据。
16、可选地,所述方法还包括:
17、接收针对待处理对象的数据删除指令,基于所述数据删除指令确定待删除历史数据,并删除所述待删除历史数据;
18、或
19、若基于所述元数据中任一操作记录的时间戳字段值确定出所述任一操作记录的保存时间大于数据保存时间段,且所述任一操作记录的删除状态字段值为第二字段值,则删除所述任一操作记录。
20、可选地,所述方法还包括:
21、基于所述元数据中每个操作记录的时间戳字段值,确定在归档时间段之内的至少一个操作记录;将在归档时间段之内的至少一个操作记录归档至预设保存路径;
22、或
23、若检测出所述元数据中操作记录的删除状态字段值为第二字段值,则将所述操作记录所针对的数据项作为目标数据项;将针对所述目标数据项的至少一个操作记录归档至预设保存路径。
24、可选地,所述方法还包括:
25、确定恢复归档时间段;
26、从所述预设保存路径中将在所述恢复归档时间段内的至少一条操作记录恢复至所述元数据中。
27、可选地,所述确定恢复归档时间段是基于以下至少一种条件触发的:
28、接收针对所述待处理对象的恢复归档指令;
29、基于针对待处理对象的查询操作确定出查询时刻在所述归档时间段内;
30、基于针对待处理对象的查询操作确定出所述查询操作所针对的数据项为所述目标数据项。
31、根据本公开实施例的另一个方面,提供了一种数据处理装置,该装置包括:
32、元数据确定模块,用于确定待处理对象的元数据,所述待处理对象的元数据包括至少一个操作记录;所述操作记录包括时间戳字段和删除状态字段;
33、接收模块,用于接收针对待处理对象的任一数据项的第一操作,基于所述第一操作对所述数据项进行处理;所述第一操作包括新增操作、更新操作和删除操作中的任一种;
34、操作记录确定模块,用于基于所述第一操作对应的操作时刻,确定所述第一操作对应的操作记录中的时间戳字段值;基于所述第一操作对应的操作类型,确定所述第一操作对应的操作记录中的删除状态字段值;所述删除状态字段值用于表示对应的第一操作所针对的数据项是否已删除;
35、元数据更新模块,用于基于所述时间戳字段值、所述删除状态字段值,以及所述第一操作所针对的数据项的初始元数据信息,在所述待处理对象的元数据中添加所述第一操作的操作记录。
36、根据本公开实施例的另一个方面,提供了一种电子设备,该电子设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一种数据处理方法的步骤。
37、根据本公开实施例的再一个方面,提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如上述任一种数据处理方法的步骤。
38、根据本公开实施例的一个方面,提供了一种计算机程序产品,其包括计算机程序,该计算机程序被处理器执行时实现如上述任一种数据处理方法的步骤。
39、本公开实施例提供的技术方案带来的有益效果是:
40、在待处理对象的元数据中新增了时间戳字段和删除状态字段两个字段,通过这两个字段可以将待处理对象的生命周期的变化记录下来,从而实现了数据库的元数据的mvcc(multi-version concurrency control,多版本并发控制)能力,能够提供任意数据库对象在任意时刻的元数据信息,不仅能够利用任意历史时刻的元数据信息来解析对应历史时刻的用户数据,而且有助于利用元数据将用户数据恢复至任意历史时刻对应的历史数据,灵活性较高。
41、此外,本公开实施例中,通过在待处理对象的元数据中新增了两个字段,所带来的存储开销较小,避免了对元数据进行全量备份操作造成的大量存储空间的消耗,对数据库的性能的影响较小。
本文档来自技高网...【技术保护点】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述第一操作对应的操作类型,确定所述第一操作对应的操作记录中的删除状态字段值,包括:
3.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的数据处理方法,其特征在于,所述第二操作包括回档操作,所述方法还包括:
5.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的数据处理方法,其特征在于,所述方法还包括:
8.根据权利要求7所述的数据处理方法,其特征在于,所述确定恢复归档时间段是基于以下至少一种条件触发的:
9.一种数据处理装置,其特征在于,包括:
10.一种电子设备,包括存储器、处理器及存储在存储器上的计算机程序,其特征在于,所述处理器执行所述计算机程序以实现权利要求1至8任一项所述方法的步骤。
11.一种计算机可读存储
12.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8任一项所述方法的步骤。
...【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
2.根据权利要求1所述的数据处理方法,其特征在于,所述基于所述第一操作对应的操作类型,确定所述第一操作对应的操作记录中的删除状态字段值,包括:
3.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的数据处理方法,其特征在于,所述第二操作包括回档操作,所述方法还包括:
5.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
6.根据权利要求1所述的数据处理方法,其特征在于,所述方法还包括:
7.根据权利要求6所述的数据处理方法,其特征在于,所述方法还包括...
【专利技术属性】
技术研发人员:熊亮春,刘奇,黄东旭,崔秋,
申请(专利权)人:平凯星辰北京科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。