CN116186033A - 数据归档方法、系统、设备及存储介质 - Google Patents
数据归档方法、系统、设备及存储介质 Download PDFInfo
- Publication number
- CN116186033A CN116186033A CN202211680231.2A CN202211680231A CN116186033A CN 116186033 A CN116186033 A CN 116186033A CN 202211680231 A CN202211680231 A CN 202211680231A CN 116186033 A CN116186033 A CN 116186033A
- Authority
- CN
- China
- Prior art keywords
- data
- archiving
- temporary table
- archived
- database
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本说明书一个或多个实施例提供一种数据归档方法、系统、电子设备及计算机可读存储介质。所述方法包括:响应于数据归档请求,确定源数据库中的待归档数据表,在所述源数据库中创建临时表;在源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据;在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统。本实施例保证数据归档场景下的数据安全。
Description
技术领域
本说明书一个或多个实施例涉及终端技术领域,尤其涉及一种数据归档方法、系统、电子设备及计算机可读存储介质。
背景技术
数据库归档技术是一种保持在线数据库规模大体不变却有能够为用户应用提供稳定的数据库性能的方法。数据库归档过程是将不再经常使用的数据移到一个单独的存储设备来进行长期保存的过程。具体来说,数据库归档过程是先将需要归档的数据备份到单独的存储设备中,随后删除数据库中的已备份数据。
但是,由于数据备份过程和数据删除过程存在时间差,可能存在以下问题:在将数据备份到其他存储设备之后,在对数据库中已备份的数据进行删除的过程中,用户可能会对数据库中已备份的数据进行修改,系统可能会将用户修改的数据一并删除,从而导致删除的数据与已备份的数据不一致的情况。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种数据归档方法、系统、电子设备及计算机可读存储介质。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种数据归档方法,包括:
响应于数据归档请求,确定源数据库中的待归档数据表,在所述源数据库中创建临时表;
在源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据;
在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统。
可选的,所述方法还包括:
对所述待归档数据表中的数据进行分片处理,得到至少两个数据分片;
所述在源数据库中执行数据库事务,包括:
针对于任一数据分片执行数据库事务,以将所述数据分片备份到所述临时表,并在备份完成后删除所述待归档数据表中的所述数据分片。
可选的,所述将所述临时表中的数据归档到目标存储系统,包括:
将备份到所述临时表中的数据分片并发归档到所述目标存储系统中。
可选的,所述将所述临时表中的数据归档到目标存储系统,包括:
按照预存的所述源数据库的存储结构和所述目标存储系统的存储结构之间的转换关系,对所述临时表中的数据进行转换处理,并将转换后的数据写入所述目标存储系统中。
可选的,在所述将所述临时表中的数据归档到目标存储系统之后,还包括:
利用端到端的数据校验方式,校验归档到所述目标存储系统中的数据和所述临时表中的数据是否一致。
可选的,在所述将所述临时表中的数据归档到目标存储介质系统之后,还包括:
在所述临时表的保存天数未超过预设保存天数的情况下,响应于所述待归档数据表的恢复请求,根据所述临时表进行数据恢复处理;
在所述临时表的保存天数超过预设保存天数的情况下,删除所述临时表。
可选的,所述目标存储系统是基于以下至少一种信息从多个候选存储系统中选定的:期望存储成本、期望归档效率、以及所述待归档数据表的使用需求;和/或
所述目标存储系统包括存储成本低于所述源数据库的其他数据库和/或文件存储系统。
可选的,所述将所述临时表中的数据归档到目标存储系统,包括:
根据所述临时表中不同部分的数据的不同使用需求,将所述不同部分的数据归档到不同目标存储系统中。
根据本说明书一个或多个实施例的第二方面,提出了一种数据归档系统,包括源数据库、数据归档装置和目标存储系统,所述数据归档装置分别与所述源数据库和所述目标存储系统连接;
所述数据归档装置用于执行第一方面任意一项所述的方法。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如第一方面中任一项所述的方法。
根据本说明书一个或多个实施例的第四方面,提出了一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面中任一项所述方法的步骤。
本说明书实施例具有如下有益效果:
本说明书实施例提供了一种数据归档方法,在接收到数据归档请求之后,可以在待归档数据表所在的源数据库创建临时表;然后在所述源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据,实现基于数据库的本地事务的特征保证备份到临时表中的数据与删除的数据保持一致;进而在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统;其中,临时表为对用户不可见的数据,用户无法对临时表中的数据进行修改;实现通过在源数据库中创建临时表并在源数据库中执行本地事务、进而归档临时表中的数据的方式,模拟了“先删除数据后再备份数据”的效果,从而保证了数据归档过程中删除数据和备份数据的一致性。
附图说明
图1是一示例性实施例提供的一种应用场景的示意图。
图2是一示例性实施例提供的一种数据归档方法的流程示意图。
图3是一示例性实施例提供的对数据分片进行处理的示意图。
图4是一示例性实施例提供的一种设备的结构示意图。
图5是一示例性实施例提供的一种数据归档装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
数据库归档过程是将不再经常使用的数据移到一个单独的存储设备来进行长期保存的过程。具体来说,数据库归档过程是先将需要归档的数据备份到单独的存储设备中,随后删除数据库中的已备份数据。
但是,由于数据备份过程和数据删除过程存在时间差,可能存在以下问题:在将数据备份到其他存储设备之后,在对数据库中已备份的数据进行删除的过程中,用户可能会对数据库中已备份的数据进行修改,系统可能会将用户修改的数据一并删除,从而导致删除的数据与已备份的数据不一致的情况。
针对于相关技术中的问题,本说明书实施例提供了一种数据归档方法,在接收到数据归档请求之后,可以在待归档数据表所在的源数据库创建临时表;然后在所述源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据,实现基于数据库的本地事务的特征保证备份到临时表中的数据与删除的数据保持一致;进而在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统;其中,临时表为对用户不可见的数据,用户无法对临时表中的数据进行修改;本实施例中实现通过在源数据库中创建临时表并在源数据库中执行本地事务、进而归档临时表中的数据的方式,模拟了“先删除数据后再备份数据”的效果,从而保证了数据归档过程中删除数据和备份数据的一致性。
其中,数据库事务(Database Transaction)是指数据库中作为单个逻辑工作单元执行的一系列操作。本地的数据库事务具有四大特性:
(1)原子性(Atomicity):事务作为一个整体被执行,包含在其中的对数据库的操作要么全部被执行,要么都不执行。因此事务的操作如果成功就必须要完全应用到数据库,如果操作失败则不能对数据库有任何影响。
(2)一致性(Consistency):一致性是指事务必须使数据库从一个一致性状态变换到另一个一致性状态,也就是说一个事务执行之前和执行之后都必须处于一致性状态。拿转账来说,假设用户A和用户B两者的钱加起来一共是5000,那么不管A和B之间如何转账,转几次账,事务结束后两个用户的钱相加起来应该还得是5000,这就是事务的一致性。
(3)隔离性(Isolation):隔离性是当多个用户并发访问数据库时,比如操作同一张表时,数据库为每一个用户开启的事务,不能被其他事务的操作所干扰,多个并发事务之间要相互隔离。即要达到这么一种效果:对于任意两个并发的事务T1和T2,在事务T1看来,T2要么在T1开始之前就已经结束,要么在T1结束之后才开始,这样每个事务都感觉不到有其他事务在并发地执行。
(4)持久性(Durability):持久性是指一个事务一旦被提交了,那么对数据库中的数据的改变就是永久性的,即便是在数据库系统遇到故障的情况下也不会丢失提交事务的操作。
在一些实施例中,本说明书实施例提供的数据归档方法可以由电子设备来执行。示例性的,所述电子设备包括但不限于物理服务器、虚拟服务器、云服务器、个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
示例性的,所述电子设备包括有处理器和存储器;所述存储器存储由处理器可执行指令;所述处理器通过运行所述可执行指令以实现本实施例提供的数据归档方法。示例性的,所述数据归档方法可以是集成于电子设备中的计算机程序产品。
示例性的,请参阅图1,所述电子设备可以与源数据库和目标存储系统建立连接,从而实现在源数据库进行数据的备份与删除,以及将源数据库临时表中的数据写入目标存储系统中。
在一些实施例中,请参阅图2,图2为本说明书实施例提供的一种数据归档方法的流程示意图。所述方法可以由电子设备来执行,所述方法包括:
在步骤S201中,响应于数据归档请求,确定源数据库中的待归档数据表,在所述源数据库中创建临时表。
示例性的,所述数据归档请求中携带有本次数据归档过程中的待归档数据表的信息,使得电子设备可以基于数据归档请求携带的信息确定源数据库中的待归档数据表。
在步骤S202中,在源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据。
在步骤S203中,在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统。
本实施例中,在接收到数据归档请求之后,可以在待归档数据表所在的源数据库创建临时表,然后在所述源数据库中执行数据库事务,实现基于数据库的本地事务的特征保证备份到临时表中的数据与删除的数据保持一致;进而在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统;其中,临时表为对用户不可见的数据,用户无法对临时表中的数据进行修改;实现通过在源数据库中创建临时表并在源数据库中执行本地事务、进而归档临时表中的数据的方式,模拟了“先删除数据后再备份数据”的效果,使得数据归档过程中删除数据和备份数据保持一致,有效保证数据库归档场景下的数据安全。
上述的数据归档请求,可以是基于预设的归档周期定时触发的请求,比如源数据库所在设备可以周期性地确定源数据库存储的各个数据表的使用频率,然后将使用频率低于预设频率阈值的数据表确定为待归档数据表,并向电子设备发送数据归档请求。也可以是源数据库管理程序或用户触发的数据归档请求,或是检测到上述源数据库中数据发生了特定的改变而触发的数据归档请求,本说明书不对此进行具体限定。
在确定源数据库中的待归档数据表之后,电子设备可以在所述源数据库中创建临时表;其中,所述临时表的表结构与所述待归档数据表的表结构相同,以提高后续备份过程中的备份效率;在创建临时表之后,电子设备可以在源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据;由于所述临时表的表结构与所述待归档数据表的表结构相同,则在数据备份过程中无需对数据进行额外的格式转换处理,从而有利于提高备份效率;进而在所述数据库事务提交之后,可以将所述临时表中的数据归档到目标存储系统。
在一些实施例中,为了做到让用户无感知地进行数据归档,在所述源数据库中创建临时表之后,可以对所述待归档数据表中的数据进行分片处理,得到至少两个数据分片。然后针对于至少两个数据分片中的任一数据分片执行数据库事务,以将所述数据分片备份到所述临时表,并在备份完成后删除所述待归档数据表中的所述数据分片,在针对于任一数据分片执行数据库事务期间,用户无法对该数据分片进行修改操作,实现基于数据库本地事务的特征保证要备份的数据分片与删除的数据分片保持一致。进而电子设备可以将备份到所述临时表中的数据分片并发归档到所述目标存储系统中,从而提高数据归档效率;比如电子设备可以通过合理的调配多线程资源的方式,加快待归档数据表中的数据的归档速度。
在一个例子中,请参阅图3,对于待归档数据表中ID从1~40000共计40000条数据,电子设备可以对所述待归档数据表进行分片处理,比如如图4所述,按照预设的4个分片条件(分别为id≥1and id<10024、id≥10024and id<21024、id≥21024and id<29501、以及id≥29501and id≤40000)将待归档数据表划分为4个数据分片,然后针对于每个数据分片执行数据库事务,以将所述数据分片备份到所述临时表,并在备份完成后删除所述待归档数据表中的所述数据分片,利用数据库的本地事务的特性保证备份的数据分片和删除的数据分片的一致性;进而将备份到所述临时表中的数据分片并发归档到所述目标存储系统中;示例性的,所述目标存储系统可以是存储成本低于源数据库的目标数据库,所述电子设备可以在目标数据库中建立目标表,进而将源数据库的临时表中的数据归档到目标数据库中的目标表中。
在一些实施例中,考虑到源数据库的存储结构和目标存储系统的存储结构存在差异,则电子设备可以预先不同的数据库的存储结构和不同的存储系统的存储结构之间的转换关系;进而在在归档临时表中的数据时,可以按照预存的所述源数据库的存储结构和所述目标存储系统的存储结构之间的转换关系,对所述临时表中的数据进行转换处理,并将转换后的数据写入所述目标存储系统中。
本说明书提供的数据归档方法具有通用性,对于所有数据库的数据进行归档都可以采用本说明书实施例提供的数据归档方法中的步骤。示例性的,电子设备可以支持多种不同的源数据库到多种不同的目标存储系统之间的归档,比如电子设备可以通过继承方式实现复用源数据库或目标存储系统中的代码,实现快速支持新的源数据库或新的目标存储系统。
在一些实施例中,考虑到数据损坏的情况会发生在数据归档过程中的任意一个环节,比如(1)在归档过程中出现硬件错误,如内存、CPU(中央处理器,central processingunit)、网卡等出现故障;(2)数据传输过程中的信噪干扰;(3)固件问题,如RAID(磁盘阵列,Redundant Arrays of Independent Disks)控制器、磁盘控制器等出现故障;(4)软件问题,如操作系统的内核问题、本地文件系统问题,网络系统问题、I/O(输入/输出,Input/Output))调度层问题等。
因此,在归档完成源数据库中的临时表之后,电子设备可以利用端到端的数据校验方式校验归档到所述目标存储系统中的数据和所述临时表中的数据是否一致,为后续删除临时表做准备。其中,端到端的数据校验方式是指应用层在写入数据时,在经过每个环节时,都计算并增加一个校验和信息,并将这些校验和信息和数据块一起发送至磁盘。磁盘在接收到数据包之后,会重新计算出一个新的校验和信息,并将其与接收到的校验和信息进行对比,如果比对不一致,就认为在归档过程中发生了错误,归档到所述目标存储系统中的数据和所述临时表中的数据不一致;反之,如果比对一致,则可以认为归档到所述目标存储系统中的数据和所述临时表中的数据一致。示例性的,在校验一致的情况下,可以将源数据库中的临时表删除;在校验不一致的情况下,可以重新执行将临时表中的数据归档到目标存储系统的过程,保证数据归档场景下的数据一致性和数据安全。
在一些实施例中,所述目标存储系统可以包括存储成本低于所述源数据库的其他数据库和/或文件存储系统。示例性的,比如在云原生数据仓库场景中,所述文件存储系统可以是部署在云端的OSS(Obeject Storage Servie,对象存储服务)存储系统。
示例性的,所述目标存储系统可以由用户指定,比如所述数据归档请求可以携带目标存储系统的信息。在数据归档过程中,电子设备可以将临时表中的数据直接归档到所述数据归档请求指示的目标存储系统中。
示例性的,所述目标存储系统可以由电子设备从多个候选存储系统中选定;比如所述数据归档请求可以携带以下至少一种信息:用户的期望存储成本、期望归档效率、以及所述待归档数据表的使用需求,电子设备可以基于所述期望存储成本、期望归档效率、以及所述待归档数据表的使用需求中的至少一种从多个候选存储系统中选定目标存储系统。
举个例子,所述多个候选存储系统的存储成本不同,所述多个候选存储系统包括数据库和文件存储系统,比如具有读写功能和数据分析功能的数据库的存储成本高于仅具备读取功能的文件存储系统的存储成本,并且不同数据库之间因读写性能和/或数据分析性能不同而具备不同的存储成本。电子设备可以基于用户的期望存储成本、以及待归档数据表在各个候选存储系统中的参考存储成本之间的差异,从多个候选存储系统中选定目标存储系统。
举个例子,所述多个候选存储系统设置在不同的地域,处于不同地域的候选存储系统与源数据库之间的通信距离不同,则归档效率也有所不同;其中,通信距离与归档效率成负相关关系,通信距离越长,则归档效率越低;反之,通信距离越短,则归档效率越高。电子设备可以基于用户的期望归档效率、以及各个候选存储系统与源数据库之间的通信距离,从多个候选存储系统中选定目标存储系统;比如如果用户期望优先考虑归档效率,希望能尽快完成数据归档,则可以从多个候选存储系统中选定与源数据库通信距离较短的候选存储系统作为目标存储系统。
举个例子,基于实际应用场景的不同,待归档数据表可能存在不同的使用需求;比如有些待归档数据表在后续应用过程中仅需具备查看需求即可,而有些待归档数据在后续应用过程中可能有数据分析需求,或者有些待归档数据在后续应用过程中可能需要被修改的需求;而不同的存储系统能够提供的功能不同,比如文件存储系统仅能提供数据查看功能(也即读取功能),数据库能够提供数据读写功能和数据分析功能。因此,电子设备可以基于待归档数据表的使用需求以及各个候选存储系统所能提供的功能,从多个候选存储系统中选定目标存储系统。比如待归档数据表在后续应用过程中有读写需求,则选定的目标存储系统可以是数据库;又比如待归档数据表在后续应用过程中仅有查看需求,则选定的目标存储系统可以是文件存储系统;还比如待归档数据表在后续应用过程中有简单的数据分析需求,则选定的目标存储系统可以是存储成本较低的具备一定数据分析功能的数据库。
示例性的,考虑到待归档数据表中的不同部分的数据可能存在不同的使用需求,则电子设备可以根据所述待归档数据表中不同部分的数据的使用需求、以及多个候选存储系统中的各个候选存储系统所能提供的功能,确定所述临时表中不同部分的数据对应的不同目标存储系统;进而在将待归档数据表中的数据备份到临时表之后,可以根据所述临时表中不同部分的数据的使用需求,将所述不同部分的数据归档到不同的目标存储系统中,从而实现个性化的数据归档需求。
举个例子,比如待归档数据表中的一部分数据在后续应用过程中有数据分析需求,而另一部分数据在在后续应用过程中仅有查看需求,则可以将存在数据分析需求的这部分数据归档到数据库,将存在查看需求的这部分数据归档到文件存储系统,满足用户的个性化归档需求。
在一些实施例中,在将待归档数据表中的数据归档到目标存储系统之后,电子设备还需要将待归档数据表的元数据也一并归档到目标存储系统中。元数据(Metadata)为描述数据的数据(data about data),主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
在一些实施例中,在将临时表中的数据归档到目标存储系统之后,为了满足用户的数据恢复需求,所述临时表可以在源数据库表中保存预设天数。可以理解的是,所述预设天数的具体数值可依据实际应用场景进行具体设置,本实施例对此不作任何限制。在所述临时表的保存天数未超过预设保存天数的情况下,可以响应于所述待归档数据表的恢复请求,根据所述临时表进行数据恢复处理;比如在临时表的表结构和待归档数据表的表结构相同的情况下,可以通过修改临时表的元数据实现将临时表作为所述待归档数据表;在所述临时表的保存天数超过预设保存天数的情况下,可以删除所述临时表,从而节省源数据库的存储资源。
在一种可能的实现方式中,在将待归档数据表中的数据归档到目标存储系统之后,用户可以通过客户端可以直接访问目标存储系统中的待归档数据表,而无需通过源数据库。
以上实施方式中的各种技术特征可以任意进行组合,只要特征之间的组合不存在冲突或矛盾,但是限于篇幅,未进行一一描述,因此上述实施方式中的各种技术特征的任意进行组合也属于本说明书公开的范围。
图4是一示例性实施例提供的一种设备的示意结构图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。本说明书一个或多个实施例可以基于软件方式来实现,比如由处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图5,数据归档装置可以应用于如图4所示的设备中,以实现本说明书的技术方案。其中,该数据归档装置可以包括:
请求响应模块501,用于响应于数据归档请求,确定源数据库中的待归档数据表,在所述源数据库中创建临时表;
数据库事务执行模块502,用于在所述源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据;
归档模块503,用于在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统。在一些实施例中,还包括分片模块,用于对所述待归档数据表中的数据进行分片处理,得到至少两个数据分片。所述数据库事务执行模块502具体用于针对于任一数据分片执行数据库事务,以将所述数据分片备份到所述临时表,并在备份完成后删除所述待归档数据表中的所述数据分片。
在一些实施例中,所述归档模块503具体用于将备份到所述临时表中的数据分片并发归档到所述目标存储系统中。
在一些实施例中,所述归档模块503具体用于按照预存的所述源数据库的存储结构和所述目标存储系统的存储结构之间的转换关系,对所述临时表中的数据进行转换处理,并将转换后的数据写入所述目标存储系统中。
在一些实施例中,还包括校验模块,用于利用端到端的数据校验方式,校验归档到所述目标存储系统中的数据和所述临时表中的数据是否一致。
在一些实施例中,还包括恢复与删除模块,用于在所述临时表的保存天数未超过预设保存天数的情况下,响应于所述待归档数据表的恢复请求,根据所述临时表进行数据恢复处理;在所述临时表的保存天数超过预设保存天数的情况下,删除所述临时表。
在一些实施例中,所述目标存储系统是基于以下至少一种信息从多个候选存储系统中选定的:期望存储成本、期望归档效率、以及所述待归档数据表的使用需求;和/或所述目标存储系统包括存储成本低于所述源数据库的其他数据库和/或文件存储系统。
在一些实施例中,所述归档模块503具体用于根据所述临时表中不同部分的数据的不同使用需求,将所述不同部分的数据归档到不同目标存储系统中。
上述装置中各个模块的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本公开还提供一种数据归档系统,包括源数据库、上述的数据归档装置和目标存储系统,所述数据归档装置分别与所述源数据库和所述目标存储系统连接;所述数据归档装置用于执行上述任意一项所述的方法。
示例性的,所述数据归档装置可安装于如图1或图4所示的电子设备中。
相应的,本公开还提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述任意一项所述方法中的步骤。
相应的,本公开还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并发处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。
Claims (11)
1.一种数据归档方法,包括:
响应于数据归档请求,确定源数据库中的待归档数据表,在所述源数据库中创建临时表;
在源数据库中执行数据库事务,所述执行数据库事务包括将所述待归档数据表中的数据备份到所述临时表,并在备份完成后删除所述待归档数据表中的数据;
在所述数据库事务提交之后,将所述临时表中的数据归档到目标存储系统。
2.根据权利要求1所述的方法,所述方法还包括:
对所述待归档数据表中的数据进行分片处理,得到至少两个数据分片;
所述在源数据库中执行数据库事务,包括:
针对于任一数据分片执行数据库事务,以将所述数据分片备份到所述临时表,并在备份完成后删除所述待归档数据表中的所述数据分片。
3.根据权利要求2所述的方法,所述将所述临时表中的数据归档到目标存储系统,包括:
将备份到所述临时表中的数据分片并发归档到所述目标存储系统中。
4.根据权利要求1所述的方法,所述将所述临时表中的数据归档到目标存储系统,包括:
按照预存的所述源数据库的存储结构和所述目标存储系统的存储结构之间的转换关系,对所述临时表中的数据进行转换处理,并将转换后的数据写入所述目标存储系统中。
5.根据权利要求1至4任意一项所述的方法,在所述将所述临时表中的数据归档到目标存储系统之后,还包括:
利用端到端的数据校验方式,校验归档到所述目标存储系统中的数据和所述临时表中的数据是否一致。
6.根据权利要求1至4任意一项所述的方法,在所述将所述临时表中的数据归档到目标存储介质系统之后,还包括:
在所述临时表的保存天数未超过预设保存天数的情况下,响应于所述待归档数据表的恢复请求,根据所述临时表进行数据恢复处理;
在所述临时表的保存天数超过预设保存天数的情况下,删除所述临时表。
7.根据权利要求1至4任意一项所述的方法,所述目标存储系统是基于以下至少一种信息从多个候选存储系统中选定的:期望存储成本、期望归档效率、以及所述待归档数据表的使用需求;和/或
所述目标存储系统包括存储成本低于所述源数据库的其他数据库和/或文件存储系统。
8.根据权利要求1至4任意一项所述的方法,所述将所述临时表中的数据归档到目标存储系统,包括:
根据所述临时表中不同部分的数据的不同使用需求,将所述不同部分的数据归档到不同目标存储系统中。
9.一种数据归档系统,包括源数据库、数据归档装置和目标存储系统,所述数据归档装置分别与所述源数据库和所述目标存储系统连接;
所述数据归档装置用于执行权利要求1至8任意一项所述的方法。
10.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1至8中任一项所述的方法。
11.一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680231.2A CN116186033A (zh) | 2022-12-26 | 2022-12-26 | 数据归档方法、系统、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211680231.2A CN116186033A (zh) | 2022-12-26 | 2022-12-26 | 数据归档方法、系统、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116186033A true CN116186033A (zh) | 2023-05-30 |
Family
ID=86449882
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211680231.2A Pending CN116186033A (zh) | 2022-12-26 | 2022-12-26 | 数据归档方法、系统、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116186033A (zh) |
-
2022
- 2022-12-26 CN CN202211680231.2A patent/CN116186033A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11514075B2 (en) | System and method for prioritizing replication copy activity | |
US10725976B2 (en) | Fast recovery using self-describing replica files in a distributed storage system | |
CN109086388B (zh) | 区块链数据存储方法、装置、设备及介质 | |
US20150213100A1 (en) | Data synchronization method and system | |
US9424137B1 (en) | Block-level backup of selected files | |
CN111309245B (zh) | 一种分层存储写入方法和装置、读取方法和装置及系统 | |
CN106776795B (zh) | 基于Hbase数据库的数据写入方法及装置 | |
CN114741449A (zh) | 一种基于分布式数据库的对象存储方法及装置 | |
US10592530B2 (en) | System and method for managing transactions for multiple data store nodes without a central log | |
US20210326271A1 (en) | Stale data recovery using virtual storage metadata | |
US9690886B1 (en) | System and method for a simulation of a block storage system on an object storage system | |
CN115878386A (zh) | 容灾方法、装置、电子设备及存储介质 | |
CN115421856A (zh) | 一种数据恢复方法及装置 | |
US7949632B2 (en) | Database-rearranging program, database-rearranging method, and database-rearranging apparatus | |
CN115454570A (zh) | 灾备方法、灾备恢复方法、虚拟机系统、设备及存储介质 | |
CN116186033A (zh) | 数据归档方法、系统、设备及存储介质 | |
US11416468B2 (en) | Active-active system index management | |
CN114924911A (zh) | Windows操作系统有效数据备份方法、装置、设备和存储介质 | |
US11341159B2 (en) | In-stream data load in a replication environment | |
CN109508255B (zh) | 一种数据处理的方法及装置 | |
CN112765129A (zh) | 一种实现数据库数据版本管理的方法与设备 | |
CN108415982B (zh) | 数据库的处理方法和装置 | |
CN117076147B (zh) | 死锁检测方法、装置、设备和存储介质 | |
US11644997B2 (en) | Releasing data storage tracks while maintaining logical corruption protection | |
US11531644B2 (en) | Fractional consistent global snapshots of a distributed namespace |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |