数据恢复方法、装置、设备、存储介质和程序产品与流程

文档序号:31863821发布日期:2022-10-19 07:29阅读:76来源:国知局
数据恢复方法、装置、设备、存储介质和程序产品与流程

1.本技术涉及数据库领域,特别是涉及一种数据恢复方法、装置、设备、存储介质和程序产品。


背景技术:

2.postgresql数据库是一个功能非常强大的、源代码开放的关系型数据库,目前已应用于越来越多的行业和领域。在postgresql数据库使用过程中,经常遇到数据误操作、数据丢失等问题。
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.该实施例中,借助第一事务号以及第二事务号的相关信息来判断目标修改记录对应的修改操作类型,提高各目标修改记录对应的修改操作类型的效率,方法简单,易于实现。
41.在其中一个实施例中,确定可见记录集合之前,该方法还包括:
42.获取事务存储配置参数,事务存储配置参数包括事务清理参数、事务冻结参数以及事务追踪参数,事务清理参数用于指示触发修改记录清理操作的事务数值,事务冻结参数用于指示触发修改记录冻结操作的事务数值,事务追踪参数用于指示触发开启事务快照追踪的状态参数;
43.根据事务存储配置参数,在对目标数据表进行操作的过程中,存储对应的修改记录。
44.该实施例中,根据事务存储配置参数,在对目标数据表进行操作的过程中,存储对应的修改记录,实现了对目标数据表中执行过数据修改的数据对应的旧数据的保留,便于后续恢复误操作数据时误操作数据对应的旧数据的准确获取,提高了数据恢复效率。
45.第二方面,本技术提供了一种数据恢复方法。该方法包括:
46.在接收到针对数据库中目标数据对象的数据恢复指令后,从历史备份数据流中确定目标数据对象对应的目标备份数据流,历史备份数据流为执行过数据对象删除操作的各数据对象对应的备份数据流,备份数据流包括各数据对象对应的数据内容以及各数据对象的级联对象对应的数据内容,数据内容包括数据定义内容以及数据文件内容;
47.根据目标备份数据流对目标数据对象执行数据恢复操作。
48.该申请实施例实现了对执行过数据对象删除的误操作数据的快速恢复,且这种数据恢复方法可实现对执行过数据对象删除的误操作数据的针对性恢复,无需像现有技术中在需要恢复误删除数据对象时需要对整个数据库执行恢复操作,提高了数据恢复效率,而且无需重启数据库。
49.在其中一个实施例中,从历史备份数据流中确定目标数据对象对应的目标备份数据流,包括:
50.获取目标数据对象的目标对象标识符;
51.根据目标对象标识符,从历史备份数据流中确定目标备份数据流。
52.该实施例中,通过目标数据对象的目标对象标识符确定对应的目标备份数据流,
便于准确确定目标数据对象的备份数据流,提高了确定目标备份数据流的准确性。
53.在其中一个实施例中,从历史备份数据流中确定目标数据对象对应的目标备份数据流之前,包括:
54.在接收到针对数据库中的数据对象的数据对象删除指令后,获取数据对象对应的备份数据流;
55.基于对象备份配置参数,将备份数据流备份至回收站中的预设目录下以生成历史备份数据流,对象备份配置参数包括数据对象的对象标识符;
56.对数据对象执行数据对象删除处理。
57.该实施例中,通过在接收到针对数据库中的数据对象的数据对象删除指令后,获取数据对象对应的备份数据流,并基于对象备份配置参数将备份数据流备份至回收站中的预设目录下,实现了对数据对象对应的数据内容的备份,提高后续执行数据恢复时获取目标数据对象的备份数据流的准确性。
58.在其中一个实施例中,根据目标备份数据流对目标数据对象执行数据恢复操作,包括:
59.根据目标备份数据流对应的数据对象之间的级联关系,确定第三执行次序;
60.按照第三执行次序对目标备份数据流对应的各数据对象执行数据恢复操作。
61.该实施例中,利用目标备份数据流对应的数据对象之间的级联关系确定目标备份数据流对应的各数据对象的恢复次序,避免执行数据恢复时出错,降低了数据库故障发生的可能性。
62.第三方面,本技术还提供了一种数据恢复装置。该装置包括:
63.接收模块,用于在接收到针对数据库中目标数据表的数据恢复指令后,确定可见记录集合,可见记录集合包含目标数据表的目标修改记录,目标修改记录用于对目标数据表的已执行完毕的修改操作进行记录;
64.确定模块,用于根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型,修改操作类型包括删除操作类型和插入操作类型;
65.恢复模块,用于根据各目标修改记录对应的修改操作类型,对目标数据表进行数据恢复处理,以将目标数据表恢复至闪回时刻。
66.第四方面,本技术还提供了一种数据恢复装置。该装置包括:
67.接收模块,用于在接收到针对数据库中目标数据对象的数据恢复指令后,从历史备份数据流中确定目标数据对象对应的目标备份数据流,历史备份数据流为执行过数据对象删除操作的各数据对象对应的备份数据流,备份数据流包括各数据对象对应的数据内容以及各数据对象的级联对象对应的数据内容,数据内容包括数据定义内容以及数据文件内容;
68.恢复模块,用于根据目标备份数据流对目标数据对象执行数据恢复操作。
69.第五方面,本技术还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面,或上述第二方面任一所述的数据恢复方法。
70.第六方面,本技术还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面,或上述第
二方面任一所述的数据恢复方法。
71.第七方面,本技术还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上述第一方面,或上述第二方面任一所述的数据恢复方法。
72.上述数据恢复方法、装置、计算机设备、存储介质和计算机程序产品,在接收到针对数据库中目标数据表的数据恢复指令后,确定可见记录集合,可见记录集合包含目标数据表的目标修改记录,目标修改记录用于对目标数据表的已执行完毕的修改操作进行记录;根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型,修改操作类型包括删除操作类型和插入操作类型;根据各目标修改记录对应的修改操作类型,对目标数据表进行数据恢复处理,以将目标数据表恢复至闪回时刻。本技术实施例基于确定的可见记录集合实现了执行过修改操作的误操作数据对应的待恢复数据,同时根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型以用于对目标数据表进行数据恢复处理,实现了对执行过修改操作的误操作数据的数据闪回,在不进行数据备份的前提下即可对执行过修改操作的误操作数据进行快速恢复,无需重启数据库,恢复成本低,恢复效率高。
附图说明
73.图1为一个实施例中数据恢复方法的流程示意图;
74.图2为另一个实施例中数据恢复方法的流程示意图;
75.图3为一个实施例中步骤103的流程示意图;
76.图4为一个实施例中步骤101的流程示意图;
77.图5为另一个实施例中数据恢复方法的流程示意图;
78.图6为另一个实施例中数据恢复方法的流程示意图;
79.图7为一个实施例中数据对象级联关系示意图;
80.图8为另一个实施例中数据恢复方法的流程示意图;
81.图9为一个实施例中步骤602的流程示意图;
82.图10为另一个实施例中数据恢复方法的流程示意图;
83.图11为一个实施例中数据恢复装置的结构框图;
84.图12为另一个实施例中数据恢复装置的结构框图;
85.图13为另一个实施例中数据恢复装置的结构框图;
86.图14为另一个实施例中数据恢复装置的结构框图;
87.图15为另一个实施例中计算机设备的内部结构图。
具体实施方式
88.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
89.postgresql数据库是一个功能非常强大的、源代码开放的关系型数据库。postgresql数据库具有以下优点:(1)支持大部分的sql功能,例如复杂sql查询、外键、触发
器、视图、事务完整性、多版本并发控制等功能;(2)借助扩展工具对postgresql进行功能扩展;(3)postgresql在各主流操作系统上均可运行;(4)任何人都可以以任何目的免费使用、修改和分发postgresql。
90.基于以上优点,postgresql数据库被越来越多的行业和领域所应用。但是,在postgresql数据库使用过程中,通常会遇到数据误操作的问题。
91.针对上述问题,传统的做法是利用预先做好的数据备份进行对整个postgresql数据库执行数据恢复处理。但是,这种方法恢复比较耗时,而且在数据恢复时可能会降低数据库性能或需要重启数据库。
92.有鉴于此,本技术实施例提供了一种数据恢复方法以提高postgresql数据库的数据恢复效率。
93.本技术实施例提供了一种数据恢复方法。该数据恢复方法,其执行主体可以是数据恢复装置,该数据恢复装置可以通过软件、硬件或者软硬件结合的方式实现成为终端或服务器的部分或者全部。其中,终端可以是个人计算机、笔记本电脑、媒体播放器、智能电视、智能手机、平板电脑和便携式可穿戴设备等;服务器可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
94.下述方法实施例中,均以执行主体是终端为例来进行说明。可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。
95.在本技术实施例中,针对基于增删改数据库指令(insert、update以及delete)执行的数据修改的操作以及基于“drop”数据库指令执行的数据对象的删除操作分别提出对应的数据恢复策略。在具体实现过程中,可根据对应的误操作数据对应的数据操作,采取对应的数据恢复策略。
96.针对基于增删改数据库指令(insert、update以及delete)执行的数据修改的操作,其对应的数据恢复方法可参考图1。如图1所示,本技术实施例提供的一种数据恢复方法可以包括以下步骤:
97.步骤101,在接收到针对数据库中目标数据表的数据恢复指令后,确定可见记录集合。
98.其中,可见记录集合包含目标数据表的目标修改记录,目标修改记录用于对目标数据表的已执行完毕的修改操作进行记录。
99.在postgresql数据库中,事务是数据库工作的离散单位,是访问并可能修改数据库中各数据项的一个数据库操作序列,每个事务包括多个修改记录。为保证事务的执行不受其他事务的干扰,通常会基于postgresql数据库的mvcc实现机制对每个事务分配一个事务快照以保存该事务在某个时刻点能够看到的事务状态信息。在事务快照拍摄过程中,处于执行的事务和未来的事务对该事务快照均不可见。因此,为避免当前时刻其他事务对当前数据恢复处理的影响,需要先确定当前时刻的可见记录集合。
100.可选的,该修改操作为基于增删改数据库指令执行的数据库操作,该增删改数据库指令包括insert、update以及delete。其中,该“update”的数据处理机制为:先将旧数据标记为删除,然后插入新数据。
101.基于此,该目标修改记录对应的修改操作为删除或者插入。
102.步骤102,根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型。
103.其中,修改操作类型包括删除操作类型和插入操作类型。
104.可选的,该闪回时刻是由人工设置的,也可以为终端根据用户输入的恢复目标确定的时刻。
105.通常,事务包括多个修改记录。针对事务中每个修改记录,均保存该修改记录对应的第一事务号(xmin)和第二事务号(xmax),其中,第一事务号(xmin)用于标识修改记录的修改操作类型为插入操作时对应的事务号,第二事务号(xmax)用于标识修改记录的修改操作类型为删除操作时对应的事务号。在修改记录对应的修改操作类型为插入操作类型时,将修改记录的第一事务号(xmin)设置为该事务的事务号xid,第二事务号(xmax)设置为0;而在修改记录对应的修改操作类型为删除操作类型时,将修改记录的第二事务号(xmax)设置为该事务的事务号xid。
106.因此,可基于各目标修改记录对应的第一事务号和第二事务号,判断该目标修改记录对应的修改操作类型。
107.步骤103,根据各目标修改记录对应的修改操作类型,对目标数据表进行数据恢复处理,以将目标数据表恢复至闪回时刻。
108.可选的,若在数据恢复过程中出现故障,因数据恢复事务未提交,不会损坏目标数据表的数据。
109.该实施例中,基于确定的可见记录集合实现了执行过修改操作的误操作数据对应的待恢复数据,同时根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型以用于对目标数据表进行数据恢复处理,实现了对执行过修改操作的误操作数据的数据闪回,即在不进行数据备份的前提下就对执行过修改操作的误操作数据进行快速恢复,无需重启数据库,恢复成本低,恢复效率高。
110.在其中一个实施例中,在对目标数据表执行数据修改时,会保留对应的旧数据。因此,如图2所示,确定可见记录集合之前,该方法还包括:
111.步骤201,获取事务存储配置参数。
112.其中,事务存储配置参数包括事务清理参数、事务冻结参数以及事务追踪参数,事务清理参数用于指示触发修改记录清理操作的事务数值,事务冻结参数用于指示触发修改记录冻结操作的事务数值,事务追踪参数用于指示触发开启事务追踪的状态参数。
113.可选的,基于字段vacuum_defer_cleanup_age设置事务清理参数对应的事务数值。例如,可将该事务数值设置为1000000。具体的,可通过以下语句“vacuum_defer_cleanup_age=1000000”设置事务清理参数,该参数保证处于100万个事务内的修改记录不被清理至回收站。
114.可选的,基于字段vacuum_freeze_min_age设置事务冻结参数对应的事务数值。例如,可将该事务数值设置为50000000。具体的,可通过以下语句“vacuum_freeze_min_age=50000000”设置事务冻结参数,该参数保证处于5000万个事务内的修改记录不被冻结。
115.可选的,基于以下语句“rack_commit_timestamp=on”设置事务追踪参数。该参数可保证根据事务的事务号可以得到事务结束时间。
116.步骤202,根据事务存储配置参数,在对目标数据表进行操作的过程中,存储对应
的修改记录。
117.该实施例中,根据事务存储配置参数,在对目标数据表进行操作的过程中,存储对应的修改记录,实现了对目标数据表中执行过数据修改的数据对应的旧数据的保留,便于后续恢复误操作数据时误操作数据对应的旧数据的准确获取,提高了数据恢复效率。
118.在本技术实施例中,如图3所示,基于图1所示的实施例,步骤103中根据各目标修改记录对应的修改操作类型,对目标数据表进行数据恢复处理的实现过程,包括以下步骤301-步骤303:
119.步骤301,根据各目标修改记录对应的修改操作类型,确定各目标修改记录对应的数据恢复操作。
120.可选的,对于各目标修改记录,若目标修改记录对应的修改操作类型为删除操作类型,则将插入操作确定为目标修改记录对应的数据恢复操作;若目标修改记录对应的修改操作类型为插入操作类型,则将删除操作确定为目标修改记录对应的数据恢复操作。
121.步骤302,根据各目标修改记录对应的事务提交时间戳,确定各数据恢复操作的第一执行次序。
122.其中,事务提交时间戳用于表征修改记录提交的时间。
123.可选的,根据各目标修改记录对应的事务提交时间戳,确定各目标修改记录对应的修改操作的第二执行次序;将第二执行次序的逆序确定为第一执行次序。
124.步骤303,按照第一执行次序执行各目标修改记录对应的数据恢复操作。
125.可选的,按照第一执行次序,将对应的数据恢复操作为插入操作的目标修改记录所对应的数据表数据,插入至目标数据表中;将对应的数据恢复操作为删除操作的目标修改记录所对应的数据表数据,从目标数据表中删除。
126.该实施例中,通过确定各目标修改记录对应的修改操作类型以及各数据恢复操作的第一执行次序以用于执行各目标修改记录对应的数据恢复操作,避免数据恢复过程数据发生冲突,降低了在数据恢复过程中故障发生的可能性,提高了数据恢复的准确性。
127.在本技术实施例中,如图4所示,基于以上任一实施例,该实施例涉及的是步骤101中确定可见记录集合的实现过程,包括以下实现步骤:
128.步骤401,从目标数据表对应的多个事务快照中确定距当前时刻最近的目标事务快照。
129.可选的,获取各事务快照对应的快照时间戳,并将各事务快照对应的快照时间戳与当前时刻进行比较,得到目标事务快照。
130.步骤402,根据目标事务快照对应的快照时间戳以及与目标事务快照对应的各修改记录对应的事务提交时间戳,确定可见记录集合。
131.其中,快照时间戳用于表征事务快照创建的时间,事务提交时间戳用于表征修改记录提交的时间。
132.该实施例中,从目标数据表对应的多个事务快照中确定距当前时刻最近的目标事务快照,根据目标事务快照对应的快照时间戳以及与目标事务快照对应的各修改记录对应的事务提交时间戳,确定可见记录集合。本技术实施例通过确定目标事务快照以实现可见记录集合的确定,避免了当前时刻执行的其它事务对当前数据恢复操作的干扰,提高了数据恢复的准确性。
133.在一个实施例中,为避免遗漏对目标事务快照可见的修改记录、提高可见记录集合获取的准确性,将满足第一条件、第二条件和第三条件中任一条件的修改记录确定为目标修改记录;并基于目标修改记录,得到可见记录集合。
134.其中,第一条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且与第二事务号对应的修改记录的第二事务提交时间戳大于快照时间戳;第二条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且第二事务号为零;第三条件包括:与第一事务号对应的修改记录处于被冻结状态。
135.对应的,可采用xmin表示第一事务号,采用xmax表示第二事务号。针对各修改记录,第一条件可表示如下:xmin对应的第一事务提交时间戳小于快照时间戳,且xmax对应的第二事务提交时间戳大于快照时间戳;第一条件可表示如下:xmin对应的第一事务提交时间戳小于快照时间戳,且xmax=0;第一条件可表示如下:xmin已冻结。
136.进一步的,在一个实施例中,步骤102根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型的实现过程,包括:
137.若与第一事务号对应的目标修改记录的第一事务提交时间戳大于闪回时刻,且第二事务号为零,则确定修改操作类型为插入操作类型。
138.若与第一事务号对应的目标修改记录的第一事务提交时间戳小于闪回时刻,且与第二事务号对应的目标修改记录的第二事务提交时间戳大于闪回时刻,则确定修改操作类型为删除操作类型。
139.该实施例中,借助第一事务号以及第一事务号的相关信息来判断目标修改记录对应的修改操作类型,提高各目标修改记录对应的修改操作类型的效率,方法简单,易于实现。
140.在本技术实施例中,如图5所示,提供了一种数据恢复方法,该方法包括以下步骤:
141.步骤501,获取事务存储配置参数。
142.其中,事务存储配置参数包括事务清理参数、事务冻结参数以及事务追踪参数,事务清理参数用于指示触发修改记录清理操作的事务数值,事务冻结参数用于指示触发修改记录冻结操作的事务数值,事务追踪参数用于指示触发开启事务追踪的状态参数。
143.步骤502,根据事务存储配置参数,在对目标数据表进行操作的过程中,存储对应的修改记录。
144.步骤503,在接收到针对数据库中目标数据表的数据恢复指令后,从目标数据表对应的多个事务快照中确定距当前时刻最近的目标事务快照。
145.步骤504,根据所述目标事务快照对应的快照时间戳以及与所述目标事务快照对应的各修改记录对应的事务提交时间戳,将满足第一条件、第二条件和第三条件中任一条件的修改记录确定为目标修改记录以得到可见记录集合。
146.其中,快照时间戳用于表征事务快照创建的时间,事务提交时间戳用于表征修改记录提交的时间。可见记录集合包含目标数据表的目标修改记录,目标修改记录用于对目标数据表的已执行完毕的修改操作进行记录。
147.其中,第一条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且与第二事务号对应的修改记录的第二事务提交时间戳大于快照时间戳,其中,第一事务号用于标识修改记录的修改操作类型为插入操作时对应的事务号,第二事务
号用于标识修改记录的修改操作类型为删除操作时对应的事务号;第二条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且第二事务号为零;第三条件包括:与第一事务号对应的修改记录处于被冻结状态。
148.步骤505,若与第一事务号对应的目标修改记录的第一事务提交时间戳大于闪回时刻,且第二事务号为零,则确定修改操作类型为插入操作类型。
149.步骤506,若与第一事务号对应的目标修改记录的第一事务提交时间戳小于闪回时刻,且与第二事务号对应的目标修改记录的第二事务提交时间戳大于闪回时刻,则确定修改操作类型为删除操作类型。
150.步骤507,对于各目标修改记录,若目标修改记录对应的修改操作类型为删除操作类型,则将插入操作确定为目标修改记录对应的数据恢复操作;若目标修改记录对应的修改操作类型为插入操作类型,则将删除操作确定为目标修改记录对应的数据恢复操作。
151.步骤508,根据各目标修改记录对应的事务提交时间戳,确定各目标修改记录对应的修改操作的第二执行次序,将第二执行次序的逆序确定为第一执行次序。
152.步骤509,按照第一执行次序,将对应的数据恢复操作为插入操作的目标修改记录所对应的数据表数据,插入至目标数据表中;将对应的数据恢复操作为删除操作的目标修改记录所对应的数据表数据,从目标数据表中删除。
153.该实施例,实现了对执行过修改操作的误操作数据的数据闪回,在不进行数据备份的前提下即可对执行过修改操作的误操作数据进行快速恢复,恢复成本低,恢复效率高。
154.接下来将针对基于“drop”数据库指令执行的数据对象删除操作对应的数据恢复策略的实现过程进行描述。在本技术实施例中,如图6所示,提供了一种数据恢复方法,该方法包括以下步骤:
155.步骤601,在接收到针对数据库中目标数据对象的数据恢复指令后,从历史备份数据流中确定目标数据对象对应的目标备份数据流。
156.其中,历史备份数据流为执行过数据对象删除操作的各数据对象对应的备份数据流,备份数据流包括各数据对象对应的数据内容以及各数据对象的级联对象对应的数据内容,数据内容包括数据定义内容以及数据文件内容。
157.其中,该数据对象删除操作为基于“drop”数据库指令执行的数据库操作。
158.可选的,如图7所示,可将数据库的数据对象分为以下几个层级:第1级-《数据库》、第2级-《模式》、第3级-《表》以及第4级-《列、视图、约束、子表、子区》。针对某个数据对象,其级联对象包括该数据对象的下级数据对象以及下级数据对象的级联对象。以该数据对象为模式为例,则该级联对象包括第3级数据对象以及第4级对应的数据对象。
159.可选的,该数据定义内容包括表定义内容pg_class、索引定义内容index_class、列定义内容pg_attribute、类型定义内容pg_type、触发器定义内容pg_trigger以及约束定义内容pg_constraint。这几个定义内容由postgresql数据库本身针对数据对象设置的定义内容。
160.可选的,该数据定义内容还包括备份表定义内容dg_class(在pg_class基础上增加两个字段删除时间和对象oid)、备份列定义内容dg_attribute(在pg_attribute基础上增加两个字段删除时间和对象oid)、备份类型定义内容dg_type(在pg_type基础上增加两个字段删除时间和对象oid)以及备份触发器定义内容dg_trigger(在pg_trigger基础上增
加两个字段删除时间和对象oid)
161.步骤602,根据目标备份数据流对目标数据对象执行数据恢复操作。
162.可选的,将目标备份数据流包括的数据定义内容以及数据文件内容恢复至数据库中。
163.可选的,在数据恢复操作发生故障时,只需要清理已经恢复的数据文件,元数据信息不需要清理。只有在所有数据的数据文件均恢复完成后,元数据信息恢复的事务才会提交。
164.该实施例中,在接收到针对数据库中目标数据对象的数据恢复指令后,从历史备份数据流中确定目标数据对象对应的目标备份数据流,根据目标备份数据流对目标数据对象执行数据恢复操作,其中,历史备份数据流为执行过数据对象删除操作的各数据对象对应的备份数据流。该申请实施例实现了对执行过数据对象删除的误操作数据的快速恢复,且这种数据恢复方法可实现对执行过数据对象删除的误操作数据的针对性恢复,无需像现有技术中在需要恢复误删除数据时需要对整个数据库执行恢复操作,提高了数据恢复效率,而且无需重启数据库。
165.在其中一个实施例中,为便于获取数据对象的备份数据流,会在对数据对象执行删除时,对该数据对象的备份数据流进行备份。如图8所示,该从历史备份数据流中确定所述目标数据对象对应的目标备份数据流之前,包括:
166.步骤701,在接收到针对数据库中的数据对象的数据对象删除指令后,获取数据对象对应的备份数据流。
167.其中,该数据对象删除指令为“drop”数据库指令。
168.可选的,在接收到针对数据库中的数据对象的数据对象删除指令后,采用hook dg_recycle拦截数据对象删除处理操作并获取数据对象的备份数据流。
169.步骤702,基于对象备份配置参数,将备份数据流备份至回收站中的预设目录下以生成历史备份数据流。
170.可选的,对象备份配置参数包括数据对象的对象标识符。
171.可选的,该对象备份配置参数还包括数据对象的删除时间、对象名称以及预设目录构建信息。具体的,可在回收站下构建db_oid/rel_oid目录,其中,db_oid为数据库目录名,rel_oid为数据对象目录名;将备份数据流包括的各数据内容分别备份至构建的对应目录下。回收站中目录下存储的数据内容即为历史备份数据流。
172.步骤703,对数据对象执行数据对象删除处理。
173.该实施例中,通过在接收到针对数据库中的数据对象的数据对象删除指令后,获取数据对象对应的备份数据流,并基于对象备份配置参数将备份数据流备份至回收站中的预设目录下,实现了对数据对象对应的数据内容的备份,提高后续执行数据恢复时获取目标数据对象的备份数据流的准确性。
174.进一步的,在其中一个实施例中,从历史备份数据流中确定目标数据对象对应的目标备份数据流的实现过程,包括:获取目标数据对象的目标对象标识符;根据目标对象标识符,从历史备份数据流中确定目标备份数据流。
175.该实施例中,通过目标数据对象的目标对象标识符确定对应的目标备份数据流,便于准确确定目标数据对象的备份数据流,提高了确定目标备份数据流的准确性。
176.在本技术实施例中,如图9所示,基于图6所示的实施例,步骤602根据目标备份数据流对目标数据对象执行数据恢复操作,包括:
177.步骤801,根据目标备份数据流对应的数据对象之间的级联关系,确定第三执行次序。
178.可选的,按照数据对象对应的层级,按照从高层级到低层级的顺序,对各数据对象进行排序,得到第三执行次序。
179.可选的,针对各数据对象设置数字标识,数据对象对应的层级越高,数字标识对应的数值越小。例如,将数据库、模式、表、列、视图、约束、子表、子区对应的数字标识设置依次设置为1、2、3、4、5、6、7、8。
180.可选的,获取目标备份数据流对应的各数据对象对应的数字标识,根据各数字标识的数值大小对数据对象进行排序,得到第三执行次序,该排序方式为从小到大的顺序。
181.步骤802,按照第三执行次序对目标备份数据流对应的各数据对象执行数据恢复操作。
182.可选的,按照第三执行次序依次将各数据对象的数据内容恢复至数据库中。
183.该实施例中,根据目标备份数据流对应的数据对象之间的级联关系,确定第三执行次序,按照第三执行次序对目标备份数据流对应的各数据对象执行数据恢复操作,利用目标备份数据流对应的数据对象之间的级联关系确定目标备份数据流对应的各数据对象的恢复次序,避免执行数据恢复时出错,降低了数据库故障发生的可能性。
184.在本技术实施例中,如图10所示,该实施例提供了一种数据恢复方法,该方法包括以下步骤:
185.步骤901,在接收到针对数据库中的数据对象的数据对象删除指令后,获取数据对象对应的备份数据流。
186.步骤902,基于对象备份配置参数,将备份数据流备份至回收站中的预设目录下以生成历史备份数据流。
187.步骤903,对数据对象执行数据对象删除处理。
188.步骤904,在接收到针对数据库中目标数据对象的数据恢复指令后,从历史备份数据流中确定目标数据对象对应的目标备份数据流。
189.步骤905,根据目标备份数据流对应的数据对象之间的级联关系,确定第三执行次序。
190.步骤906,按照第三执行次序对目标备份数据流对应的各数据对象执行数据恢复操作。
191.该申请实施例实现了对执行过数据对象删除的误操作数据的快速恢复,这种数据恢复方法可实现对执行过数据对象删除的误操作数据的针对性恢复,无需像现有技术中在需要恢复误删除数据对象时需要对整个数据库执行恢复操作,提高了数据恢复效率,而且无需重启数据库。
192.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个
阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
193.基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的数据恢复方法的数据恢复装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个数据恢复装置实施例中的具体限定可以参见上文中对于数据恢复方法的限定,在此不再赘述。
194.在一个实施例中,如图11所示,提供了一种数据恢复装置,包括:接收模块100、确定模块200和恢复模块300,其中:
195.接收模块100,用于在接收到针对数据库中目标数据表的数据恢复指令后,确定可见记录集合,可见记录集合包含目标数据表的目标修改记录,目标修改记录用于对目标数据表的已执行完毕的修改操作进行记录;
196.确定模块200,用于根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型,修改操作类型包括删除操作类型和插入操作类型;
197.恢复模块300,用于根据各目标修改记录对应的修改操作类型,对目标数据表进行数据恢复处理,以将目标数据表恢复至闪回时刻。
198.在一个实施例中,该恢复模块300,具体用于:
199.根据各目标修改记录对应的修改操作类型,确定各目标修改记录对应的数据恢复操作;
200.根据各目标修改记录对应的事务提交时间戳,确定各数据恢复操作的第一执行次序,其中,事务提交时间戳用于表征修改记录提交的时间;
201.按照第一执行次序执行各目标修改记录对应的数据恢复操作。
202.在其中一个实施例中,该恢复模块300,还具体用于:
203.对于各目标修改记录,若目标修改记录对应的修改操作类型为删除操作类型,则将插入操作确定为目标修改记录对应的数据恢复操作;若目标修改记录对应的修改操作类型为插入操作类型,则将删除操作确定为目标修改记录对应的数据恢复操作。
204.在其中一个实施例中,该恢复模块300,还具体用于:
205.根据各目标修改记录对应的事务提交时间戳,确定各目标修改记录对应的修改操作的第二执行次序;
206.将第二执行次序的逆序确定为第一执行次序。
207.在其中一个实施例中,该恢复模块300,还具体用于:
208.按照第一执行次序,将对应的数据恢复操作为插入操作的目标修改记录所对应的数据表数据,插入至目标数据表中;将对应的数据恢复操作为删除操作的目标修改记录所对应的数据表数据,从目标数据表中删除。
209.在其中一个实施例中,该接收模块100,具体用于:
210.从目标数据表对应的多个事务快照中确定距当前时刻最近的目标事务快照;
211.根据目标事务快照对应的快照时间戳以及与目标事务快照对应的各修改记录对应的事务提交时间戳,确定可见记录集合,快照时间戳用于表征事务快照创建的时间,事务提交时间戳用于表征修改记录提交的时间。
212.在其中一个实施例中,该接收模块100,还具体用于:
213.将满足第一条件、第二条件和第三条件中任一条件的修改记录确定为目标修改记录;
214.其中,第一条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且与第二事务号对应的修改记录的第二事务提交时间戳大于快照时间戳,其中,第一事务号用于标识修改记录的修改操作类型为插入操作时对应的事务号,第二事务号用于标识修改记录的修改操作类型为删除操作时对应的事务号;
215.第二条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且第二事务号为零;
216.第三条件包括:与第一事务号对应的修改记录处于被冻结状态。
217.在其中一个实施例中,该确定模块200,具体用于:
218.若与第一事务号对应的目标修改记录的第一事务提交时间戳大于闪回时刻,且第二事务号为零,则确定修改操作类型为插入操作类型;
219.若与第一事务号对应的目标修改记录的第一事务提交时间戳小于闪回时刻,且与第二事务号对应的目标修改记录的第二事务提交时间戳大于闪回时刻,则确定修改操作类型为删除操作类型。
220.在其中一个实施例中,如图12所示,该数据恢复装置还包括配置模块400,该配置模块400,用于:
221.获取事务存储配置参数,事务存储配置参数包括事务清理参数、事务冻结参数以及事务追踪参数,事务清理参数用于指示触发修改记录清理操作的事务数值,事务冻结参数用于指示触发修改记录冻结操作的事务数值,事务追踪参数用于指示触发开启事务快照追踪的状态参数;
222.根据事务存储配置参数,在对目标数据表进行操作的过程中,存储对应的修改记录。
223.在一个实施例中,如图13所示,提供了一种数据恢复装置,包括:接收模块500和恢复模块600,其中:
224.接收模块500,用于在接收到针对数据库中目标数据对象的数据恢复指令后,从历史备份数据流中确定目标数据对象对应的目标备份数据流,历史备份数据流为执行过数据对象删除操作的各数据对象对应的备份数据流,备份数据流包括各数据对象对应的数据内容以及各数据对象的级联对象对应的数据内容,数据内容包括数据定义内容以及数据文件内容;
225.恢复模块600,用于根据目标备份数据流对目标数据对象执行数据恢复操作。
226.在一个实施例中,接收模块500,具体用于:
227.获取目标数据对象的目标对象标识符;
228.根据目标对象标识符,从历史备份数据流中确定目标备份数据流。
229.在一个实施例中,如图14所示,该数据恢复装置还包括配置模块700,该配置模块700,用于:
230.在接收到针对数据库中的数据对象的数据对象删除指令后,获取数据对象对应的备份数据流;
231.基于对象备份配置参数,将备份数据流备份至回收站中的预设目录下以生成历史备份数据流,对象备份配置参数包括数据对象的对象标识符;
232.对数据对象执行数据对象删除处理。
233.在一个实施例中,恢复模块600,具体用于:
234.根据目标备份数据流对应的数据对象之间的级联关系,确定第三执行次序;
235.按照第三执行次序对目标备份数据流对应的各数据对象执行数据恢复操作。
236.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种数据恢复方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
237.本领域技术人员可以理解,图15中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
238.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
239.在接收到针对数据库中目标数据表的数据恢复指令后,确定可见记录集合,可见记录集合包含目标数据表的目标修改记录,目标修改记录用于对目标数据表的已执行完毕的修改操作进行记录;
240.根据数据恢复指令所指示的闪回时刻,确定各目标修改记录对应的修改操作类型,修改操作类型包括删除操作类型和插入操作类型;
241.根据各目标修改记录对应的修改操作类型,对目标数据表进行数据恢复处理,以将目标数据表恢复至闪回时刻。
242.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
243.根据各目标修改记录对应的修改操作类型,确定各目标修改记录对应的数据恢复操作;根据各目标修改记录对应的事务提交时间戳,确定各数据恢复操作的第一执行次序,其中,事务提交时间戳用于表征修改记录提交的时间;按照第一执行次序执行各目标修改记录对应的数据恢复操作。
244.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
245.对于各目标修改记录,若目标修改记录对应的修改操作类型为删除操作类型,则将插入操作确定为目标修改记录对应的数据恢复操作;若目标修改记录对应的修改操作类型为插入操作类型,则将删除操作确定为目标修改记录对应的数据恢复操作。
246.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
247.根据各目标修改记录对应的事务提交时间戳,确定各目标修改记录对应的修改操
作的第二执行次序;将第二执行次序的逆序确定为第一执行次序。
248.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
249.按照第一执行次序,将对应的数据恢复操作为插入操作的目标修改记录所对应的数据表数据,插入至目标数据表中;将对应的数据恢复操作为删除操作的目标修改记录所对应的数据表数据,从目标数据表中删除。
250.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
251.从目标数据表对应的多个事务快照中确定距当前时刻最近的目标事务快照;根据目标事务快照对应的快照时间戳以及与目标事务快照对应的各修改记录对应的事务提交时间戳,确定可见记录集合,快照时间戳用于表征事务快照创建的时间,事务提交时间戳用于表征修改记录提交的时间。
252.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
253.将满足第一条件、第二条件和第三条件中任一条件的修改记录确定为目标修改记录;其中,第一条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且与第二事务号对应的修改记录的第二事务提交时间戳大于快照时间戳,其中,第一事务号用于标识修改记录的修改操作类型为插入操作时对应的事务号,第二事务号用于标识修改记录的修改操作类型为删除操作时对应的事务号;第二条件包括:与第一事务号对应的修改记录的第一事务提交时间戳小于快照时间戳,且第二事务号为零;第三条件包括:与第一事务号对应的修改记录处于被冻结状态。
254.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
255.若与第一事务号对应的目标修改记录的第一事务提交时间戳大于闪回时刻,且第二事务号为零,则确定修改操作类型为插入操作类型;若与第一事务号对应的目标修改记录的第一事务提交时间戳小于闪回时刻,且与第二事务号对应的目标修改记录的第二事务提交时间戳大于闪回时刻,则确定修改操作类型为删除操作类型。
256.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
257.获取事务存储配置参数,事务存储配置参数包括事务清理参数、事务冻结参数以及事务追踪参数,事务清理参数用于指示触发修改记录清理操作的事务数值,事务冻结参数用于指示触发修改记录冻结操作的事务数值,事务追踪参数用于指示触发开启事务快照追踪的状态参数;根据事务存储配置参数,在对目标数据表进行操作的过程中,存储对应的事务快照。
258.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤。
259.在接收到针对数据库中目标数据对象的数据恢复指令后,从历史备份数据流中确定目标数据对象对应的目标备份数据流,历史备份数据流为执行过数据对象删除操作的各数据对象对应的备份数据流,备份数据流包括各数据对象对应的数据内容以及各数据对象的级联对象对应的数据内容,数据内容包括数据定义内容以及数据文件内容;根据目标备份数据流对目标数据对象执行数据恢复操作。
260.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
261.获取目标数据对象的目标对象标识符;根据目标对象标识符,从历史备份数据流中确定目标备份数据流。
262.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
263.在接收到针对数据库中的数据对象的数据对象删除指令后,获取数据对象对应的备份数据流;基于对象备份配置参数,将备份数据流备份至回收站中的预设目录下以生成历史备份数据流,对象备份配置参数包括数据对象的对象标识符;对数据对象执行数据对象删除处理。
264.在一个实施例中,处理器执行计算机程序时还实现以下步骤:
265.根据目标备份数据流对应的数据对象之间的级联关系,确定第三执行次序;按照第三执行次序对目标备份数据流对应的各数据对象执行数据恢复操作。
266.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以上方法实施例中的步骤。
267.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现以上方法实施例中的步骤。
268.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
269.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
270.以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1