CN111831475A - 数据备份方法、装置、节点设备及可读存储介质 - Google Patents
数据备份方法、装置、节点设备及可读存储介质 Download PDFInfo
- Publication number
- CN111831475A CN111831475A CN201910471293.4A CN201910471293A CN111831475A CN 111831475 A CN111831475 A CN 111831475A CN 201910471293 A CN201910471293 A CN 201910471293A CN 111831475 A CN111831475 A CN 111831475A
- Authority
- CN
- China
- Prior art keywords
- data
- node equipment
- file
- information
- relay
- 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
- 238000000034 method Methods 0.000 title claims abstract description 78
- 238000013500 data storage Methods 0.000 claims abstract description 36
- 230000008859 change Effects 0.000 claims description 25
- 230000008569 process Effects 0.000 claims description 24
- 238000001514 detection method Methods 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 3
- 238000004590 computer program Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 11
- 230000006870 function Effects 0.000 description 8
- 238000004891 communication Methods 0.000 description 7
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000001960 triggered effect Effects 0.000 description 3
- 241000422846 Sequoiadendron giganteum Species 0.000 description 1
- 238000007596 consolidation process Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 239000000945 filler Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- 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
- G06F11/1458—Management of the backup or restore process
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请实施例提供了一种数据备份方法、装置、节点设备及可读存储介质,涉及数据存储技术领域。该数据备份方法包括:在检测到节点设备所在的数据库存储系统升级时,将日志文件及中继数据信息备份在节点设备本地,并将数据文件对应的硬链接备份在所述节点设备本地。在上述备份的数据中日志文件及中继数据信息所占的数据量较小,而需要占用大量存储空间的数据文件采用与数据文件对应的硬链接进行备份,由于硬链接占用的存储资源非常的少,如此在进行数据备份时,节点设备本地的存储资源就能满足数据备份的需求,备份数据写入时占用的I/O资源也比较少,完成写入的时间也较短,可以实现数据文件的即时备份。
Description
技术领域
本申请涉及数据存储技术领域,具体而言,涉及数据备份方法、装置、节点设备及可读存储介质。
背景技术
目前数据库存储系统在升级后可能面临数据格式不兼容或数据被错误删除等风险导致数据丢失。数据丢失是衡量数据库存储系统性能的一个重要指标,且是数据库存储系统升级不可避免要涉及的问题。为了避免数据库存储系统升级后造成的数据丢失,需要数据库存储系统在升级后具有数据安全备份及数据回滚的功能。
目前的数据备份大多是将数据定期存储在本地存储介质或远程的存储介质(比如,分布式文件系统(Hadoop Distributed File System))中,但在本地存储资源有限的情况下,存储资源可能无法满足需要备份的数据,导致无法进行本地数据备份,备份效率较低。使用远程的存储介质进行备份又比较占用带宽资源,在带宽资源有限的情况下需要花费较多时间进行数据远程备份,数据备份的及时性较差。因此,上述两种方式都不能很好的解决数据备份的问题。
发明内容
为了至少克服现有技术中的上述不足,本申请的目的之一在于提供一种数据备份方法、装置、节点设备及可读存储介质,以解决在目前数据备份过程数据备份效率低及备份不及时的技术问题。
根据本申请实施例的一个方面,提供一种节点设备,可以包括一个或多个存储介质和一个或多个与存储介质通信的处理器。一个或多个存储介质存储有处理器可执行的机器可读指令。当节点设备运行时,处理器与存储介质之间通过总线通信,处理器执行所述机器可读指令,以执行下述的数据备份方法。
根据本申请实施例的另一方面,提供一种数据备份方法,该方法应用于基于LSM存储引擎的节点设备,所述方法包括:检测所述节点设备所在的数据库存储系统是否升级,其中,所述节点设备中存储有数据文件、日志文件及中继数据信息,所述日志文件包括还未写入所述节点设备内存的数据,所述中继数据信息包括数据元信息及数据文件配置;在检测到所述节点设备所在的数据库存储系统升级时,将所述日志文件及中继数据信息备份在所述节点设备中,并将数据文件对应的硬链接备份在所述节点设备中。
在本申请的一些实施例中,在检测所述节点设备所在的数据库存储系统是否升级之前,所述方法还包括:将数据文件中的数据写入日志文件中;再将写入所述日志文件中的数据写入内存中;并在所述内存写满或磁盘中分层次存储的磁盘空间被写满时,将内存或分层次存储的磁盘空间中的数据文件合并写入到磁盘中下一层次的磁盘空间中,并在合并写入过程中生成中继数据信息。由于备份的数据中日志文件及中继数据信息所占的数据量较小,而需要占用大量存储空间的数据文件采用与数据文件对应的硬链接进行备份,由于硬链接占用的存储资源非常的少,如此在进行数据备份时,节点设备本地的存储资源就能满足数据备份的需求,备份数据写入时占用的I/O资源也比较少,完成写入的时间也较短,可以实现数据文件的即时备份。
在本申请的一些实施例中,所述将内存或分层次存储的磁盘空间中的数据文件合并写入到磁盘中下一层次的磁盘空间中的步骤,包括:将所述内存中或磁盘空间中写入的数据文件与下一层级磁盘空间中的数据文件进行合并,生成新的数据文件;将合并成所述新的数据文件所对应的旧数据文件删除。
在本申请的一些实施例中,所述方法还包括:检测存储引擎是否启动;在存储引擎启动时,将更改后的日志文件和中继数据信息进行存储,保留日志文件和中继数据信息的历史快照信息,所述历史快照信息包括日志文件和中继数据信息发生变化的时间及变化内容。
在本申请的一些实施例中,所述方法还包括:在需要数据回滚时,通过检测日志文件和中继数据信息的历史快照信息,查找最近一次历史快照信息对应的日志文件和中继数据信息;根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到对应的数据存储位置。
在本申请的一些实施例中,所述根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到对应的数据存储位置的步骤,包括:根据查找到的中继数据信息以及数据文件对应的硬链接,找到需要恢复的数据所处的数据存储位置;从查找到的日志文件中获得还未在内存中落盘的待恢复数据,将该待恢复数据复制到所述数据存储位置,实现数据回滚。
根据本申请实施例的另一方面,提供一种数据备份方法,应用于基于LSM存储引擎的数据库存储系统,所述数据库存储系统包括多个节点设备,所述方法包括:在所述数据库存储系统升级时,将该节点设备存储的数据文件所对应的日志文件及中继数据信息备份在该节点设备中,并将数据文件对应的硬链接备份在该节点设备中,其中,所述日志文件包括还未写入所述节点设备内存的数据,所述中继数据信息包括数据元信息及文件配置。
在本申请的一些实施例中,所述数据库存储系统中包括一个主节点设备和多个从节点设备,所述将该节点设备存储的数据文件所对应的日志文件及中继数据信息备份在该节点设备中,并将数据文件对应的硬链接备份在该节点设备中的步骤,包括:将每个从节点设备存储的数据文件所对应的日志文件及中继数据信息备份到对应的从节点设备中,并将数据文件对应的硬链接备份到对应的从节点设备中,以完成对从节点设备的数据备份;在完成对从节点设备的备份后,将主节点设备切换成从节点设备,使切换后的从节点设备执行上述数据备份的步骤,以完成对主节点设备的数据备份。
在本申请的一些实施例中,所述方法还包括:在所述数据库存储系统需要数据回滚时,从节点设备查找最近一次备份的日志文件和中继数据信息;基于从节点设备根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到从节点设备中对应的数据存储位置,以完成对从节点设备的数据回滚;将主节点设备切换成从节点设备,使切换后的从节点设备执行上述数据回滚的步骤,以完成对主节点设备上的数据回滚。
在本申请的一些实施例中,所述数据库存储系统中包括多个由一个主节点设备和至少一个从节点设备组成的节点设备组,所述将该节点设备存储的数据文件所对应的日志文件及中继数据信息备份在该节点设备中,并将数据文件对应的硬链接备份在该节点设备中的步骤,包括:将节点设备组中的每个从节点设备存储的数据文件所对应的日志文件及中继数据信息备份到对应的从节点设备中,并将数据文件对应的硬链接备份到对应的从节点设备中,以完成节点设备组中各从节点设备的数据备份;在完成对从节点设备的数据备份后,将节点设备组中的主节点设备切换成从节点设备,使切换后的从节点设备执行上述数据备份步骤,以完成对节点设备组中的主节点设备的数据备份。
在本申请的一些实施例中,所述方法还包括:在所述数据库存储系统需要数据回滚时,在节点设备组中的从节点设备查找最近一次备份的日志文件和中继数据信息;基于从节点设备根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到从节点设备中对应的数据存储位置,以完成对节点设备组中的从节点设备的数据回滚;将该节点设备组中的主节点设备切换成从节点设备,使节点设备组中切换后的从节点设备执行上述数据回滚的步骤,以完成节点设备组中的主节点设备上数据的回滚。
根据本申请实施例的另一方面,提供一种数据备份装置,应用于基于LSM存储引擎的节点设备,所述装置包括:检测模块,用于检测所述节点设备所在的数据库存储系统是否升级,其中,所述节点设备中存储有数据文件、日志文件及中继数据信息,所述日志文件包括还未写入所述节点设备内存的数据,所述中继数据信息包括数据元信息及数据文件配置;备份模块,用于在检测到所述节点设备所在的数据库存储系统升级时,将所述日志文件及中继数据信息备份在所述节点设备中,并将数据文件对应的硬链接备份在所述节点设备中。
在本申请的一些实施例中,所述装置还包括:数据写入模块,用于将数据文件中的数据写入日志文件中,并将写入所述日志文件中的数据写入内存中;数据文件合并模块,用于在所述内存写满或磁盘中分层次存储的磁盘空间被写满时,将内存或分层次存储的磁盘空间中的数据文件合并写入到磁盘中下一层次的磁盘空间中,并在合并写入过程中生成中继数据信息。
在本申请的一些实施例中,数据文件合并模块具体用于:将所述内存中或磁盘空间中写入的数据文件与下一层级磁盘空间中的数据文件进行合并,生成新的数据文件;将合并成所述新的数据文件所对应的旧数据文件删除。
在本申请的一些实施例中,所述装置还包括存储模块;所述检测模块,还用于检测存储引擎是否启动;所述存储模块,还用于在存储引擎启动时,将更改后的日志文件和中继数据信息进行存储,保留日志文件和中继数据信息的历史快照信息,所述历史快照信息包括日志文件和中继数据信息发生变化的时间及变化内容。
在本申请的一些实施例中,所述装置还包括:查找模块,用于在需要数据回滚时,通过检测日志文件和中继数据信息的历史快照信息,查找最近一次历史快照信息对应的日志文件和中继数据信息;回滚模块,用于根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到对应的数据存储位置。
在本申请的一些实施例中,所述回滚模块具体用于:根据查找到的中继数据信息以及数据文件对应的硬链接,找到需要恢复的数据所处的数据存储位置;从查找到的日志文件中获得还未在内存中落盘的待恢复数据,将该待恢复数据复制到所述数据存储位置,实现数据回滚。
根据本申请实施例的另一方面,提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述的数据备份方法的步骤。
基于上述任一方面,在本申请实施例中,在检测到节点设备所在的数据库存储系统升级时,将日志文件及中继数据信息备份在节点设备本地,并将数据文件对应的硬链接备份在所述节点设备本地。在上述备份的数据中日志文件及中继数据信息所占的数据量较小(一般为几百MB),而需要占用大量存储空间的数据文件采用与数据文件对应的硬链接进行备份,由于硬链接占用的存储资源非常的少,如此在进行数据备份时,总共所需备份的数据量就会大大的减少,节点设备本地的存储资源足够满足数据备份的需求,同时因备份数据少在写入过程中对节点设备的I/O资源的占用也较少,写入速率较快,能即时实现数据的备份。
为使本申请实施例的上述目的、特征和优点能更明显易懂,下面将结合实施例,并配合所附附图,作详细说明。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例提供的数据库存储系统的示意图;
图2示出了一基于LSM存储引擎的数据文件合并的过程示意图;
图3示出了本申请实施例所提供的图1中节点设备的示例性硬件和软件组件的示意图;
图4示出了本申请实施例所述提供的数据备份方法的一种流程示意图;
图5示出了本申请实施例提供的一个具体的数据文件合并示意图;
图6示出了本申请实施例所述提供的数据备份方法的另一种流程示意图;
图7示出了本申请实施例所述提供的数据备份装置的一种功能模块图;
图8示出了本申请实施例所述提供的数据备份装置的另一种功能模块图。
图标:100-节点设备;200-网络;101-网络端口;102-处理器;103-通信总线;104-存储介质;105-I/O接口;110-数据备份装置;1101-检测模块;1102-备份模块;1103-数据写入模块;1104-数据文件合并模块;1105-存储模块;1106-查找模块;1107-回滚模块。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
另外,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请所保护的范围。
需要说明的是,本申请实施例中将会用到术语“包括”,用于指出其后所声明的特征的存在,但并不排除增加其它的特征。
为了解决上述背景技术中提及的技术问题,本申请实施例提供了一种数据备份方法、装置、节点设备及可读存储介质。在检测到节点设备所在的数据库存储系统升级时,将日志文件及中继数据信息备份在节点设备本地,并将数据文件对应的硬链接备份在所述节点设备本地。在上述备份的数据中日志文件及中继数据信息所占的数据量较小,而需要占用大量存储空间的数据文件采用与数据文件对应的硬链接进行备份,由于硬链接占用的存储资源非常的少,如此在进行数据备份时,总共所需备份的数据量就会大大的减少,数据完全可以备份在节点设备本地,就不会受远程备份过程中带宽的限制,同时因备份数据少在写入过程中对节点设备的I/O资源的占用也较少,写入速率较快,能即时实现数据的备份。
图1为本申请一种可替代实施例提供的数据库存储系统的示意图。数据库存储系统包括多个节点设备100,不同的节点设备100之间通过网络200相互通信。
在本申请实施例中,数据库存储系统采用日志结构的合并树(Log-StructuredMerged-Tree,简称LSM)的存储引擎进行数据存储。节点设备100在采用LSM存储引擎进行数据写入,就是构建有序的树,所有数据会被先写到日志和内存中,具体地,在节点设备100的内存中构建一颗有序的小树,随着数据的不断增加,内存中的小树会超出内存的容量阈值,在超出内存的容量阈值后时,将内存中树的一部分刷新到节点设备100的磁盘上,并对磁盘上的树定期做合并归一,形成一颗容量更大的大树。
请参照图2,图2示出了基于LSM存储引擎的数据文件合并的过程示意图,具体合并顺序参照图2中的2a-2d。基于LSM存储引擎存储的数据文件在节点设备100的存储空间中是分层次存储的,比如如图2所示,在节点设备100中,数据文件被分层次存储到Level0~Level3的存储空间中,其中,Level0可以对应节点设备100的内存存储空间,Level1~Level3可以对应节点设备100的磁盘存储空间。请参照图2中的2a,新写入数据文件的数据会先写入到Level0,当Level0中写入的数据超过Level0的容量阈值时,会触发LSM存储引擎进行数据文件的合并。请参照图2中的2b,LSM存储引擎将Level0中的数据文件与Level1中的数据文件进行合并,合并后会形成新的数据文件,新的数据文件(图2中的2c中黑色的椭圆形框表示新的数据文件)会存储在Level1中,Level0和Level1中的旧文件会被删除掉。在Level1中的数据超过Level1的容量阈值时,会触发LSM存储引擎将Level1中的数据文件与Level2中的数据文件进行合并,合并后会形成新的数据文件,新的数据文件(图2中的2d中黑色的椭圆形框表示新的数据文件)会存储在Level2中,Level1和Level2中的旧文件会被删除掉,参照图2中的2d。
在本申请实施例中,节点设备100可以包括任何具有数据存储能力的终端设备(比如,移动设备、平板计算机、膝上型计算机等,或者其任意组合)和服务器。
在节点设备100为服务器时,节点设备100可以是单个服务器,也可以是一个服务器组。服务器组可以是集中式的,也可以是分布式的。在本申请的一些实施例中,节点设备100也可以在云平台上实现;仅作为示例,云平台可以包括私有云、公有云、混合云、社区云(Community Cloud)、分布式云、跨云(Inter-Cloud)、多云(Multi-Cloud)等,或者它们的任意组合。在本申请实施例中,优选节点设备100为单个服务器或终端设备。
网络200可以用于信息和/或数据的交换。在一些实施例中,应用场景中的一个或多个组件(例如,节点设备100)可以向其他组件发送信息和/或数据。例如,一节点设备100可以经由网络200向另一节点设备100发送数据。在本申请的一些实施例中,网络200可以是任何类型的有线或者无线网络,或者是他们的结合。仅作为示例,网络200可以包括有线网络、无线网络、光纤网络、远程通信网络、内联网、因特网、局域网(Local Area Network,LAN)、广域网(Wide Area Network,WAN)、无线局域网(Wireless Local Area Networks,WLAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、公共电话交换网(Public Switched Telephone Network,PSTN)、蓝牙网络、ZigBee网络、或近场通信(Near Field Communication,NFC)网络等,或其任意组合。在本申请的一些实施例中,网络200可以包括一个或多个网络接入点。例如,网络200可以包括有线或无线网络接入点,例如基站和/或网络交换节点,图1中的应用场景中的一个或多个节点设备100可以通过该接入点连接到网络200以交换数据和/或信息。
请参照图3,图3示出根据本申请的一些实施例可以实现本申请思想的节点设备100的示例性硬件和软件组件的示意图。
节点设备100可以是通用计算机或特殊用途的计算机,本申请以节点设备100为一个计算机为例进行说明。
在本申请实施例中,节点设备100可以包括连接到网络200的网络端口101、用于执行程序指令的一个或多个处理器102、通信总线103、和不同形式的存储介质104,例如,磁盘、ROM、或RAM,或其任意组合。示例性地,节点设备100还可以包括存储在ROM、RAM、或其他类型的非暂时性存储介质、或其任意组合中的程序指令。根据这些程序指令可以实现本申请提供的数据备份方法。节点设备100还可以包括计算机与其他输入输出设备(例如键盘、显示屏)之间的输入/输出(Input/Output,I/O)接口105,通过I/O接口105实现数据文件的写入或数据的备份。
为了便于说明,在节点设备100中仅描述了一个处理器102。然而,应当注意,本申请中的节点设备100还可以包括多个处理器102,因此本申请中描述的一个处理器102执行的步骤也可以由多个处理器102联合执行或单独执行。例如,若节点设备100的处理器102执行步骤A和步骤B,则应该理解,步骤A和步骤B也可以由两个不同的处理器102共同执行或者在一个处理器102中单独执行。例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一处理器和第二处理器共同执行步骤A和B。
请参照图4,图4示出了本申请的一些实施例的数据备份方法的流程示意图,该数据备份方法可以由图3中所示的节点设备100来执行。应当理解的是,在其他实施例中,本申请实施例所描述的数据备份方法中的部分步骤的顺序可以根据实际需求进行交换,或者其中的部分步骤也可以省略或删除。下面对该数据备份方法的详尽步骤介绍如下。
步骤S401,检测节点设备所在的数据库存储系统是否升级。
在本申请实施例中,节点设备100采用LSM存储引擎进行数据存储,在节点设备100中存储的数据包括以下信息:数据文件、日志文件(log文件)及中继数据信息(meta信息)。其中,中继数据信息用于保存数据元信息及数据文件配置等信息,中继数据信息主要用于描述存储数据的属性(property)的信息,并用来支持如指示存储位置、历史数据、资源查找、数据文件记录等功能。日志文件包括写入到写前日志中还未写入到节点设备100的内存中的数据(即还未落盘的数据)。数据文件为存储的实际数据,一般地,数据文件以二进制形式进行存储。日志文件与中继数据信息相对占用的存储空间较小(一般为几百MB),数据文件占用的存储空间较大(一般为TB级别)。
步骤S402,在检测到节点设备所在的数据库存储系统升级时,将日志文件及中继数据信息备份在节点设备中,并将数据文件对应的硬链接备份在节点设备中。
在本申请实施例中,将占用存储资源较少的日志文件及中继数据信息直接备份到节点设备中。而对于占用存储资源较多的数据文件,采用数据文件对应的硬链接进行备份。其中,硬链接(Hard Link)又称符号链接,硬链接用于解决Linux系统中数据文件的共享问题,具有隐藏数据文件路径、增加权限安全及节省存储等好处。数据文件在节点设备100中存储在文件数据块(Data Block)上,通过描述该数据文件的元数据中的索引节点号(inode号)可以查找对应数据文件所在的文件数据块,若一个索引节点号对应多个文件名,则称这些文件名为硬链接。换言之,硬链接就是同一个文件使用了多个别名。硬链接可以通过命令link或ln创建,比如,以对数据文件oldfile创建硬链接为例,具体的创建命令可以为:
link oldfile newfile;或
ln oldfile newfile。
由于硬链接具有相同索引节点号而文件名不同,硬链接具有以下特点:
1)同一数据文件的硬链接具有相同的索引节点号和文件数据块;
2)系统只能对已存在的数据文件创建硬链接;
3)删除一个硬链接并不影响与该硬链接具有相同索引节点号的其他硬链接。
在本申请实施例中,在为数据文件创建一个硬链接后,就会建立起该硬链接指向数据文件存储的文件数据块,而不需要将存储的数据文件再单独进行复制存储,这样就可以避免对数据文件进行备份时需要占用的存储资源空间较大而节点设备100的磁盘存储空间不足的问题,建立硬链接的过程仅仅是简单的给存储在节点设备100中的数据文件设置一个引用计数(文件名),占用的节点设备100的存储资源相当的少。节点设备100基于LSM存储引擎进行数据存储,在磁盘空间中进行数据文件的合并时,会生成新的数据文件,并将旧的数据文件进行删除,这样就可以避免对节点设备100中存储的数据文件进行修改时,会影响到数据备份的结果,备份的数据始终将维持一个历史的数据。
在上述方案中,备份的数据中日志文件及中继数据信息所占的数据量较小(一般为几百MB),而需要占用大量存储空间的数据文件采用与数据文件对应的硬链接进行备份,由于硬链接占用的存储资源非常的少,如此在进行数据备份时,总共所需备份的数据量就会大大的减少,节点设备本地的存储资源就能满足数据备份的需求,不需要在通过远程数据备份的方式进行数据备份。由于备份的数据量少,在进行备份数据写入时所占用的I/O资源也比较少,完成写入的时间也较短,可以实现数据文件的即时备份。
本申请实施例提供的数据备份方法还可以包括以下步骤。
首先,将数据文件中的数据写入日志文件中;
接着,再将写入日志文件中的数据写入节点设备100的内存中;
最后,在内存写满或磁盘中分层次存储的磁盘空间被写满时,将内存或分层次存储的磁盘空间中的数据文件合并写入到磁盘中下一层次的磁盘空间中,并在合并写入过程中生成中继数据信息。
下面对上述数据写入过程进行具体说明,以数据库存储系统为LevelDB为例进行说明。
在LevelDB的架构下,LSM-tree被分为三种文件,第一种是内存中的两个memtable,一个是正常的接收写入请求的memtable,另一个是不可修改的immutablememtable;另外一部分是磁盘上的SStable(Sorted String Table,有序字符串表),有序字符串表中有序的字符串就是数据的key。
在写入时,首先将写入的数据文件的数据写入日志文件中;接下来,将日志文件中的数据写到memtable中,当memtable写满,就将该memtable切换为不可更改的immutablememtable,并新开一个memtable接收新的写入请求,而该immutable memtable可以刷到磁盘空间中。由于数据文件在节点设备100的磁盘空间中分层次存储,在上一层的磁盘空间写满时,会触发LSM存储引擎对写满数据的上一层磁盘空间中的数据文件与下一层磁盘空间中的数据文件进行合并,应当注意的是,在进行数据文件合并时,并不需要上一层磁盘空间中的所有数据文件与下一层磁盘空间中的所有数据文件进行合并,在实际合并中,上一层磁盘空间中的数据文件和下一层磁盘空间中的数据文件可以只部分参与合并。请参照图5,下面结合,图5以一个具体的例子进行说明。
在一个immutable memtable刷写到Level0时,会使LSM存储引擎触发Level0与Level1的数据文件合并,假设带填充色的方框中所对应的数据文件为涉及本次文件合并的数据文件(Level0(a=2,e=3);Level1(a=5,b=3)、(e=1,f=6)),在进行数据文件合并后,Level0中的数据文件(a=2,e=3)被删除,Level1中的数据文件(a=5,b=3)更新为(a=2,b=3),数据文件(e=1,f=6)更新为(e=3,f=6)。在Level1中的数据还是保持全局有序,三个文件的数据顺序始终为abcdef。
在本申请实施例中,本申请实施例提供的数据备份方法还可以包括以下步骤。
首先,检测存储引擎是否启动;
接着,在存储引擎启动时,将更改后的日志文件和中继数据信息进行存储,保留日志文件和中继数据信息的历史快照信息,历史快照信息包括日志文件和中继数据信息发生变化的时间及变化内容。
具体地,在本申请中在进行数据存储时,LSM存储引擎就会启动并对数据进行有序存储,在每次数据存储过程中,日志文件和中继数据信息都会变化,节点设备100保留这些变化的日志文件和中继数据信息,形成日志文件和中继数据信息的历史快照信息,便于后续在系统升级过程中因人为原因(比如,误操作)或系统原因(比如,数据格式不兼容)导致数据丢失后,方便进行数据回滚。历史快照信息包括日志文件和中继数据信息发生变化的时间及变化内容。
请参照图6,在需要进行数据回滚时,本申请实施例提供的数据备份方法还可以包括以下步骤。
步骤S601,通过检测日志文件和中继数据信息的历史快照信息,查找最近一次历史快照信息对应的日志文件和中继数据信息。
在历史快照信息中记录有日志文件和中继数据信息发生变化的时间及变化内容,可以根据回滚操作的请求时间,确定与该请求时间最近的变化时间,并基于确定的最近的变化时间得到最近一次变更时的日志文件和中继数据信息。
步骤S602,根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到对应的数据存储位置。
可选地,在本申请实施例中,步骤S602可以通过以下步骤实现:
首先,根据查找到的中继数据信息以及数据文件对应的硬链接,找到需要恢复的数据所处的数据存储位置;
接着,从查找到的日志文件中获得还未在内存中落盘的待恢复数据,将该待恢复数据复制到所述数据存储位置,实现数据回滚。
进一步地,通过数据文件对应的硬链接查找到中继数据信息中的索引节点号,根据索引节点号即可查找对应数据文件所在的文件数据块。同时通过将最近一次备份在日志文件中的还未落盘到磁盘存储空间的数据复制到对应文件数据块,即可以实现数据回滚。
本申请实施还提供一种数据备份方法,该数据备份方法应用于基于LSM存储引擎的数据库存储系统,数据库存储系统包括多个节点设备。所述数据备份方法包括:
在所述数据库存储系统升级时,将节点设备存储的数据文件所对应的日志文件及中继数据信息备份在该节点设备中,并将数据文件对应的硬链接备份在该节点设备中,其中,所述日志文件包括还未写入所述节点设备内存的数据,所述中继数据信息包括数据元信息及文件配置。
中继数据信息用于保存数据元信息及数据文件配置等信息,中继数据信息主要用于描述存储数据的属性(property)的信息,并用来支持如指示存储位置、历史数据、资源查找、数据文件记录等功能。日志文件包括写入到写前日志中还未写入到节点设备100的内存中的数据(即还未落盘的数据)。数据文件为存储的实际数据,一般地,数据文件以二进制形式进行存储。日志文件与中继数据信息相对占用的存储空间较小(一般为几百MB),数据文件占用的存储空间较大(一般为TB级别)。
将占用存储资源较少的日志文件及中继数据信息直接备份到节点设备中。而对于占用存储资源较多的数据文件,采用数据文件对应的硬链接进行备份,备份的数据中日志文件及中继数据信息所占的数据量较小(一般为几百MB),而需要占用大量存储空间的数据文件采用与数据文件对应的硬链接进行备份,由于硬链接占用的存储资源非常的少,如此在进行数据备份时,总共所需备份的数据量就会大大的减少。节点设备本地的存储资源就能满足数据备份的需求,备份数据的数据量少,在进行备份数据写入时所占用的I/O资源也比较少,完成写入的时间也较短,可以实现数据文件的即时备份。
下面结合不同的应用场景对数据库存储系统中各节点设备100进行数据备份以及数据回滚的方案进行介绍。
第一种应用场景,在对数据库存储系统的数据安全性要求比较高,且不允许节点设备100不可用和出错的场景下。在该场景下进行整个数据库存储系统中的所有节点设备100进行数据备份和数据回滚的主要方式为以单个节点设备100为单位进行数据备份和数据回滚。
在数据库存储系统中各节点设备100根据是否能进行读写操作分为主节点设备及从节点设备,在第一种应用场景下,数据库存储系统中各节点设备100进行数据备份的方式,首先针对数据库存储系统中的从节点设备进行数据备份,再对数据库存储系统中的主节点设备进行数据备份。具体过程如下:
首先,将每个从节点设备存储的数据文件所对应的日志文件及中继数据信息备份到对应的从节点设备中,并将数据文件对应的硬链接备份到对应的从节点设备中,以完成对从节点设备的数据备份;
接着,在完成对从节点设备的数据备份后,将主节点设备切换成从节点设备,将切换后的从节点设备(原主节点设备)存储的数据文件所对应的日志文件及中继数据信息备份到切换后的从节点设备中,并将切换后的从节点设备存储的数据文件所对应的硬链接备份到切换后的从节点设备中,以完成对原主节点设备的数据备份。
在第一种应用场景中,首先对从节点设备进行数据备份,再将主节点切换为从节点设备进行数据备份,节点设备在进行数据备份时均不可读写操作,确保数据备份过程中不会出现数据错误。
进一步地,在第一种应用场景下,数据库存储系统中各节点设备100进行数据回滚的方式如下,首先针对数据库存储系统中的从节点设备进行数据回滚,再对数据库存储系统中的主节点设备进行数据回滚。具体过程如下:
首先,在数据库存储系统升级后因人为或系统原因导致数据丢失需要进行数据回滚时,各个从节点设备查找最近一次该从节点设备备份的日志文件和中继数据信息。
接着,基于从节点设备查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到该从节点设备中对应的数据存储位置,以完成对从节点设备的数据回滚。
具体地,根据查找到的中继数据信息以及数据文件对应的硬链接,找到需要恢复的数据所处的数据存储位置;在从查找到的日志文件中获得还未在内存中落盘的待恢复数据,将该待恢复数据复制到所述数据存储位置,实现从节点设备的数据回滚。
最后,将主节点设备切换成从节点设备,使切换后的从节点设备(原主节点设备)基于查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到该切换后的从节点设备中对应的数据存储位置,以完成对原主节点设备上的数据回滚。
在第一种应用场景中,首先对从节点设备进行数据回滚,再将主节点切换为从节点设备进行数据回滚,节点设备在进行数据备份时均不可读写操作。在完成所有节点设备的数据回滚后,再将原主节点设备(切换后的从节点设备)重新切换成主节点设备,主节点设备和从节点设备会恢复升级之前的历史数据。
接下来介绍第二种应用场景,第二种应用场景为提高容忍度的数据升级的场景。在该场景下进行整个数据库存储系统中的所有节点设备100进行数据备份和数据回滚的主要方式为以节点设备组为单位进行数据备份和数据回滚。
数据库存储系统包括多个节点设备组,每个节点设备组包括一个主节点设备和至少一个从节点设备,在第二种应用场景下,数据库存储系统中以节点设备组为单位进行数据备份的方式,首先针对数据库存储系统中各节点设备组中的从节点设备进行数据备份,再对数据库存储系统中各节点设备组中的主节点设备进行数据备份。具体过程如下:
首先,将节点设备组中每个从节点设备存储的数据文件所对应的日志文件及中继数据信息备份到对应的从节点设备中,并将数据文件对应的硬链接备份到对应的从节点设备中,以完成节点设备组中各从节点设备的数据备份;
接着,在完成对节点设备组中的从节点设备的数据备份后,将节点设备组中主节点设备切换成从节点设备,将切换后的从节点设备(原节点设备组中的主节点设备)存储的数据文件所对应的日志文件及中继数据信息备份到切换后的从节点设备中,并将切换后的从节点设备存储的数据文件所对应的硬链接备份到对应的从节点设备中,以完成对节点设备组中原主节点设备的数据备份。
在第二种应用场景中,首先对节点设备组中的从节点设备进行数据备份,再将节点设备组中的主节点设备切换为从节点设备进行数据备份,从节点设备切换为主节点设备可以接收线上请求,主节点设备切换为从节点设备后可以继续数据备份,如此完成一个节点设备组的数据备份,将数据库存储系统分为多个节点设备组同时进行数据备份,数据备份的速度及影响都会比较少。
进一步地,在第二种应用场景下,数据库存储系统中节点设组中的各节点设备100进行数据回滚的方式如下,首先针对数据库存储系统中每个节点设备组中的从节点设备进行数据回滚,再对数据库存储系统中每个节点设备组中的主节点设备进行数据回滚。具体过程如下:
首先,在数据库存储系统升级后因人为或系统原因导致数据丢失需要进行数据回滚时,每个节点设备组中的从节点设备查找最近一次该从节点设备备份的日志文件和中继数据信息。
接着,基于节点设备组中从节点设备查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到该从节点设备中对应的数据存储位置,以完成对节点设备组中从节点设备的数据回滚。
具体地,根据查找到的中继数据信息以及数据文件对应的硬链接,找到需要恢复的数据所处的数据存储位置;在从查找到的日志文件中获得还未在内存中落盘的待恢复数据,将该待恢复数据复制到所述数据存储位置,实现节点设备组中从节点设备的数据回滚。
最后,将节点设备组中主节点设备切换成从节点设备,使切换后的从节点设备(原主节点设备)基于查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到该切换后的从节点设备中对应的数据存储位置,以完成对节点设备组中原主节点设备上的数据回滚。
在第二种应用场景中,首先对各节点设备组中的从节点设备进行数据回滚,再将节点设备组中的主节点切换为从节点设备进行数据回滚。在上述场景中,数据库存储系统中的节点设备被分为多个节点设备组,各个节点设备组中的节点设备同时进行数据备份或数据回滚,可以大大节省数据备份或数据回滚的耗时,防止因数据备份或数据回滚时间过长带来的运维难度。
请参照图7,图7示出本申请的一些实施例的数据备份装置110的功能框图,该数据备份装置110实现的功能对应上述数据备份方法执行的步骤。该装置可以理解为上述节点设备100,或节点设备100的处理器,也可以理解为独立于上节点设备100或处理器之外的在节点设备100控制下实现本申请功能的功能组件,如图7所示,数据备份装置110可以包括检测模块1101与备份模块1102。
检测模块1101,可以用于检测所述节点设备100所在的数据库存储系统是否升级。
在本申请实施例中,节点设备100采用LSM存储引擎进行数据存储,在节点设备100中存储的数据包括以下信息:数据文件、日志文件(log文件)及中继数据信息(meta信息)。其中,中继数据信息用于保存数据元信息及数据文件配置等信息,中继数据信息主要用于描述存储数据的属性(property)的信息,并用来支持如指示存储位置、历史数据、资源查找、数据文件记录等功能。日志文件包括写入到写前日志中还未写入到节点设备100的内存中的数据(即还未落盘的数据)。数据文件为存储的实际数据,一般地,数据文件以二进制形式进行存储。日志文件与中继数据信息相对占用的存储空间较小(一般为几百MB),数据文件占用的存储空间较大(一般为TB级别)。
备份模块1102,可以用于在检测到所述节点设备100所在的数据库存储系统升级时,将所述日志文件及中继数据信息备份在所述节点设备100中,并将数据文件对应的硬链接备份在所述节点设备100中。
可以理解的是,该备份模块1102可以用于执行上述步骤S402,关于备份模块1102的详细实现方式可以参照上述对步骤S402的有关内容。
在上述方案中,备份的数据中日志文件及中继数据信息所占的数据量较小(一般为几百MB),而需要占用大量存储空间的数据文件采用与数据文件对应的硬链接进行备份,由于硬链接占用的存储资源非常的少,如此在进行数据备份时,总共所需备份的数据量就会大大的减少。节点设备本地的存储资源就能满足数据备份的需求,备份数据的数据量少,在进行备份数据写入时所占用的I/O资源也比较少,完成写入的时间也较短,可以实现数据文件的即时备份。
请参照图8,在本申请实施例中,数据备份装置110还可以包括数据写入模块1103及数据文件合并模块1104。
数据写入模块1103,可以用于将数据文件中的数据写入日志文件中,并将写入所述日志文件中的数据写入内存中。
数据文件合并模块1104,可以用于在所述内存写满或磁盘中分层次存储的磁盘空间被写满时,将内存或分层次存储的磁盘空间中的数据文件合并写入到磁盘中下一层次的磁盘空间中,并在合并写入过程中生成中继数据信息。
在本申请实施例中,数据文件合并模块1104具体用于:将所述内存中或磁盘空间中写入的数据文件与下一层级磁盘空间中的数据文件进行合并,生成新的数据文件;将合并成所述新的数据文件所对应的旧数据文件删除。
请再次参照图8,在本申请实施例中,数据备份装置110还可以包括存储模块1105;
检测模块1101,还用于检测存储引擎是否启动;
存储模块1105,还用于在存储引擎启动时,将更改后的日志文件和中继数据信息进行存储,保留日志文件和中继数据信息的历史快照信息,所述历史快照信息包括日志文件和中继数据信息发生变化的时间及变化内容。
具体地,在本申请中在进行数据存储时,LSM存储引擎就会启动并对数据进行有序存储,在每次数据存储过程中,日志文件和中继数据信息都会变化,节点设备100保留这些变化的日志文件和中继数据信息,形成日志文件和中继数据信息的历史快照信息,便于后续在系统升级过程中因人为原因(比如,误操作)或系统原因(比如,数据格式不兼容)导致数据丢失后,方便进行数据回滚。历史快照信息包括日志文件和中继数据信息发生变化的时间及变化内容。
请再次参照图8,在本申请实施例中,数据备份装置110还可以包括:查找模块1106及回滚模块1107。
查找模块1106,可以用于在需要数据回滚时,通过检测日志文件和中继数据信息的历史快照信息,查找最近一次历史快照信息对应的日志文件和中继数据信息。
具体地,在历史快照信息中记录有日志文件和中继数据信息发生变化的时间及变化内容,查找模块1106可以根据回滚操作的请求时间,确定与该请求时间最近的变化时间,并基于确定的最近的变化时间得到最近一次变更时的日志文件和中继数据信息。
回滚模块1107,可以用于根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到对应的数据存储位置。
具体地,在本申请实施例中,所述回滚模块1107可首先根据查找到的中继数据信息以及数据文件对应的硬链接,找到需要恢复的数据所处的数据存储位置;然后,再从查找到的日志文件中获得还未在内存中落盘的待恢复数据,将该待恢复数据复制到所述数据存储位置,实现数据回滚。
本申请实施例还提供了一种可读存储介质,所述可读存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的数据备份方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考方法实施例中的对应过程,本申请中不再赘述。在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (14)
1.一种数据备份方法,其特征在于,应用于基于LSM存储引擎的节点设备,所述方法包括:
检测所述节点设备所在的数据库存储系统是否升级,其中,所述节点设备中存储有数据文件、日志文件及中继数据信息,所述日志文件包括还未写入所述节点设备内存的数据,所述中继数据信息包括数据元信息及数据文件配置;
在检测到所述节点设备所在的数据库存储系统升级时,将所述日志文件及中继数据信息备份在所述节点设备中,并将数据文件对应的硬链接备份在所述节点设备中。
2.如权利要求1所述的方法,其特征在于,在检测所述节点设备所在的数据库存储系统是否升级之前,所述方法还包括:
将数据文件中的数据写入日志文件中;
再将写入所述日志文件中的数据写入内存中;
并在所述内存写满或磁盘中分层次存储的磁盘空间被写满时,将内存或分层次存储的磁盘空间中的数据文件合并写入到磁盘中下一层次的磁盘空间中,并在合并写入过程中生成中继数据信息。
3.如权利要求2所述的方法,其特征在于,所述将内存或分层次存储的磁盘空间中的数据文件合并写入到磁盘中下一层次的磁盘空间中的步骤,包括:
将所述内存中或磁盘空间中写入的数据文件与下一层级磁盘空间中的数据文件进行合并,生成新的数据文件;
将合并成所述新的数据文件所对应的旧数据文件删除。
4.如权利要求1-3中任意一项所述的方法,其特征在于,所述方法还包括:
检测存储引擎是否启动;
在存储引擎启动时,将更改后的日志文件和中继数据信息进行存储,保留日志文件和中继数据信息的历史快照信息,所述历史快照信息包括日志文件和中继数据信息发生变化的时间及变化内容。
5.如权利要求4所述的方法,其特征在于,所述方法还包括:
在需要数据回滚时,通过检测日志文件和中继数据信息的历史快照信息,查找最近一次历史快照信息对应的日志文件和中继数据信息;
根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到对应的数据存储位置。
6.如权利要求5所述的方法,其特征在于,所述根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到对应的数据存储位置的步骤,包括:
根据查找到的中继数据信息以及数据文件对应的硬链接,找到需要恢复的数据所处的数据存储位置;
从查找到的日志文件中获得还未在内存中落盘的待恢复数据,将该待恢复数据复制到所述数据存储位置,实现数据回滚。
7.一种数据备份方法,其特征在于,应用于基于LSM存储引擎的数据库存储系统,所述数据库存储系统包括多个节点设备,所述方法包括:
在所述数据库存储系统升级时,将该节点设备存储的数据文件所对应的日志文件及中继数据信息备份在该节点设备中,并将数据文件对应的硬链接备份在该节点设备中,其中,所述日志文件包括还未写入所述节点设备内存的数据,所述中继数据信息包括数据元信息及文件配置。
8.如权利要求7所述的方法,其特征在于,所述数据库存储系统中包括一个主节点设备和多个从节点设备,所述将该节点设备存储的数据文件所对应的日志文件及中继数据信息备份在该节点设备中,并将数据文件对应的硬链接备份在该节点设备中的步骤,包括:
将每个从节点设备存储的数据文件所对应的日志文件及中继数据信息备份到对应的从节点设备中,并将数据文件对应的硬链接备份到对应的从节点设备中,以完成对从节点设备的数据备份;
在完成对从节点设备的备份后,将主节点设备切换成从节点设备,使切换后的从节点设备执行上述数据备份的步骤,以完成对主节点设备的数据备份。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:
在所述数据库存储系统需要数据回滚时,从节点设备查找最近一次备份的日志文件和中继数据信息;
基于从节点设备根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到从节点设备中对应的数据存储位置,以完成对从节点设备的数据回滚;
将主节点设备切换成从节点设备,使切换后的从节点设备执行上述数据回滚的步骤,以完成对主节点设备上的数据回滚。
10.如权利要求7所述的方法,其特征在于,所述数据库存储系统中包括多个由一个主节点设备和至少一个从节点设备组成的节点设备组,所述将该节点设备存储的数据文件所对应的日志文件及中继数据信息备份在该节点设备中,并将数据文件对应的硬链接备份在该节点设备中的步骤,包括:
将节点设备组中的每个从节点设备存储的数据文件所对应的日志文件及中继数据信息备份到对应的从节点设备中,并将数据文件对应的硬链接备份到对应的从节点设备中,以完成节点设备组中各从节点设备的数据备份;
在完成对从节点设备的数据备份后,将节点设备组中的主节点设备切换成从节点设备,使切换后的从节点设备执行上述数据备份步骤,以完成对节点设备组中的主节点设备的数据备份。
11.如权利要求10所述的方法,其特征在于,所述方法还包括:
在所述数据库存储系统需要数据回滚时,在节点设备组中的从节点设备查找最近一次备份的日志文件和中继数据信息;
基于从节点设备根据查找到的日志文件、中继数据信息以及数据文件对应的硬链接,将最近一次备份的数据复制到从节点设备中对应的数据存储位置,以完成对节点设备组中的从节点设备的数据回滚;
将该节点设备组中的主节点设备切换成从节点设备,使节点设备组中切换后的从节点设备执行上述数据回滚的步骤,以完成节点设备组中的主节点设备上数据的回滚。
12.一种数据备份装置,其特征在于,应用于基于LSM存储引擎的节点设备,所述装置包括:
检测模块,用于检测所述节点设备所在的数据库存储系统是否升级,其中,所述节点设备中存储有数据文件、日志文件及中继数据信息,所述日志文件包括还未写入所述节点设备内存的数据,所述中继数据信息包括数据元信息及数据文件配置;
备份模块,用于在检测到所述节点设备所在的数据库存储系统升级时,将所述日志文件及中继数据信息备份在所述节点设备中,并将数据文件对应的硬链接备份在所述节点设备中。
13.一种节点设备,其特征在于,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当节点设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行如权利要求1-6中任一项所述的数据备份方法的步骤。
14.一种可读存储介质,其特征在于,该可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1-6中任一项所述的数据备份方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910471293.4A CN111831475A (zh) | 2019-05-31 | 2019-05-31 | 数据备份方法、装置、节点设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910471293.4A CN111831475A (zh) | 2019-05-31 | 2019-05-31 | 数据备份方法、装置、节点设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831475A true CN111831475A (zh) | 2020-10-27 |
Family
ID=72911645
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910471293.4A Pending CN111831475A (zh) | 2019-05-31 | 2019-05-31 | 数据备份方法、装置、节点设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831475A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416860A (zh) * | 2020-11-16 | 2021-02-26 | 平安科技(深圳)有限公司 | 数据回滚更新方法、装置、计算机设备和存储介质 |
CN112612413A (zh) * | 2020-12-04 | 2021-04-06 | 海光信息技术股份有限公司 | 一种版本管理文件缓存方法、装置、系统和相关设备 |
CN113434339A (zh) * | 2021-06-29 | 2021-09-24 | 湖南方心科技股份有限公司 | 一种智能计算中心基于组合循环备份的数据加密传输系统与方法 |
CN115617580A (zh) * | 2022-12-15 | 2023-01-17 | 杭州欧若数网科技有限公司 | 基于共享sst文件的增量备份、恢复方法和系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0774715A1 (en) * | 1995-10-23 | 1997-05-21 | Stac Electronics | System for backing up files from disk volumes on multiple nodes of a computer network |
US20170344618A1 (en) * | 2010-12-23 | 2017-11-30 | Eliot Horowitz | Systems and methods for managing distributed database deployments |
US9940460B1 (en) * | 2015-12-18 | 2018-04-10 | EMC IP Holding Company LLC | Cleaning malware from backup data |
US10235066B1 (en) * | 2017-04-27 | 2019-03-19 | EMC IP Holding Company LLC | Journal destage relay for online system checkpoint creation |
CN109542682A (zh) * | 2018-11-16 | 2019-03-29 | 上海达梦数据库有限公司 | 一种数据备份方法、装置、设备和存储介质 |
-
2019
- 2019-05-31 CN CN201910471293.4A patent/CN111831475A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0774715A1 (en) * | 1995-10-23 | 1997-05-21 | Stac Electronics | System for backing up files from disk volumes on multiple nodes of a computer network |
US20170344618A1 (en) * | 2010-12-23 | 2017-11-30 | Eliot Horowitz | Systems and methods for managing distributed database deployments |
US9940460B1 (en) * | 2015-12-18 | 2018-04-10 | EMC IP Holding Company LLC | Cleaning malware from backup data |
US10235066B1 (en) * | 2017-04-27 | 2019-03-19 | EMC IP Holding Company LLC | Journal destage relay for online system checkpoint creation |
CN109542682A (zh) * | 2018-11-16 | 2019-03-29 | 上海达梦数据库有限公司 | 一种数据备份方法、装置、设备和存储介质 |
Non-Patent Citations (2)
Title |
---|
张也;刘晓洁;邓健;: "一种远程备份数据虚拟重构方法", 四川大学学报(自然科学版), no. 05 * |
申新鹏;李战怀;赵晓南;: "基于日志的数据热备份的实现", 微电子学与计算机, no. 04 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112416860A (zh) * | 2020-11-16 | 2021-02-26 | 平安科技(深圳)有限公司 | 数据回滚更新方法、装置、计算机设备和存储介质 |
CN112416860B (zh) * | 2020-11-16 | 2024-04-26 | 平安科技(深圳)有限公司 | 数据回滚更新方法、装置、计算机设备和存储介质 |
CN112612413A (zh) * | 2020-12-04 | 2021-04-06 | 海光信息技术股份有限公司 | 一种版本管理文件缓存方法、装置、系统和相关设备 |
CN113434339A (zh) * | 2021-06-29 | 2021-09-24 | 湖南方心科技股份有限公司 | 一种智能计算中心基于组合循环备份的数据加密传输系统与方法 |
CN115617580A (zh) * | 2022-12-15 | 2023-01-17 | 杭州欧若数网科技有限公司 | 基于共享sst文件的增量备份、恢复方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230117542A1 (en) | Remote Data Replication Method and System | |
CN111831475A (zh) | 数据备份方法、装置、节点设备及可读存储介质 | |
CN110531940B (zh) | 视频文件处理方法及装置 | |
US20060047926A1 (en) | Managing multiple snapshot copies of data | |
JP6309103B2 (ja) | スナップショットおよびクローンの複製 | |
US8250033B1 (en) | Replication of a data set using differential snapshots | |
US6594744B1 (en) | Managing a snapshot volume or one or more checkpoint volumes with multiple point-in-time images in a single repository | |
US8229897B2 (en) | Restoring a file to its proper storage tier in an information lifecycle management environment | |
JP4236677B2 (ja) | Cdpを用いたリカバリ方法 | |
CN109144416B (zh) | 查询数据的方法和装置 | |
JP2004334574A (ja) | ストレージの運用管理プログラム、運用管理方法及び管理計算機 | |
EP1698977B1 (en) | Storage system and method for acquisition and utilisation of snapshots | |
CN105068856A (zh) | 基于镜像快照的虚拟机备份系统及备份方法 | |
US10102083B1 (en) | Method and system for managing metadata records of backups | |
JP2007241486A (ja) | 記憶装置システム | |
JP2004302505A (ja) | データ移行支援システム、プログラム、装置および取外し可能な記憶装置またはデータ移行が完了した記憶媒体の識別方法 | |
CN108228678B (zh) | 一种多副本数据恢复方法及装置 | |
US10223206B1 (en) | Method and system to detect and delete uncommitted save sets of a backup | |
CN114721881B (zh) | 一种数据库管理方法、系统、电子设备及存储介质 | |
CN106775481B (zh) | 数据读取方法及设备 | |
CN113157808B (zh) | 基于内存和轻量级数据库的配置文件同步系统及方法 | |
CN114625696A (zh) | 文件恢复方法、装置、电子设备及存储介质 | |
WO2024041433A1 (zh) | 数据处理方法以及装置 | |
US10445183B1 (en) | Method and system to reclaim disk space by deleting save sets of a backup | |
CN109325005A (zh) | 一种数据处理方法和电子设备 |
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 |