CN111522688A - 分布式系统的数据备份方法及装置 - Google Patents
分布式系统的数据备份方法及装置 Download PDFInfo
- Publication number
- CN111522688A CN111522688A CN201910102763.XA CN201910102763A CN111522688A CN 111522688 A CN111522688 A CN 111522688A CN 201910102763 A CN201910102763 A CN 201910102763A CN 111522688 A CN111522688 A CN 111522688A
- Authority
- CN
- China
- Prior art keywords
- file system
- metadata
- data
- modification
- target file
- 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.)
- Granted
Links
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
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Abstract
本发明公开了一种分布式系统的数据备份方法及装置,所述方法包括:获取源文件系统的修改;基于所述源文件系统的修改生成复制任务;根据所生成的复制任务,触发至少一个目标文件系统的元数据更新,以使所述目标文件系统基于所述元数据的更新执行所述复制任务。
Description
技术领域
本发明涉及互联网技术领域,特别是涉及一种分布式系统的数据备份的方法及装置。
背景技术
一个分布式文件系统也被称为一个集群,一个集群包括多个元数据节点(Meta)和众多用于存储文件数据副本的数据节点(Data),分布式文件的长度、副本等元信息都存储在元数据节点中,文件的实际数据全部都存储在数据节点上。当分布式文件系统被用户访问时,首先请求元数据节点获得数据位置和长度等信息,再读写数据节点完成对文件的操作。
目前,使用单一集群实现数据的备份容灾时,为了实现较好的容灾,单一集群中的数据节点,一般要求设置在相距比较远的地理位置区域,该种方式,当单一集群中的数据节点故障时,要从其他距离较远的数据节点获取数据,一方面由于距离数据传输上会有延时,另一方面,当需要的数据量大,或者在大数据情况下,网络资源消耗会比较大,也会成为备份容灾的瓶颈。而由于不同集群中的节点能够设置在同一地理位置区域中,因此,通过跨集群地进行数据备份容灾,就能够从同一地理位置的不同集群的数据节点中获取数据,从而避免由于传输距离或网络资源导致的备份容灾数据使用效率低下的问题。
然而,目前的跨集群的数据备份容灾对集群的要求较高,由于不同的集群之间所采用的硬件与操作系统可能存在差异,因而,现有的跨集群的数据备份容灾都是基于硬件与操作系统的全量备份,要求备份的源集群与目标集群具有相同的硬件与软件配置,导致跨集群备份容灾对于集群的配置要求严苛,且无法实现对部分数据的备份容灾。
发明内容
有鉴于此,本发明提供的一种分布式系统的数据备份的方法及装置,主要目的在于对部分数据进行跨文件系统的容灾备份。
为了解决上述问题,本发明主要提供如下技术方案:
第一方面,本发明提供了一种分布式系统的数据备份的方法,包括:
获取源文件系统的修改;
基于所述源文件系统的修改生成复制任务;
根据所生成的复制任务,触发至少一个目标文件系统的元数据更新,以使所述目标文件系统基于所述元数据的更新执行所述复制任务。
第二方面,本发明还提供一种分布式系统的数据备份的方法,所述方法应用于目标文件系统中的元数据节点,所述方法包括:
接收基于源文件系统的修改所生成的复制任务;
基于所述复制任务确定所述目标文件系统中更新的元数据;
根据所述更新的元数据执行所述复制任务。
第三方面,本发明还提供一种分布式系统的数据备份装置,该装置包括:
获取单元,用于获取源文件系统的修改;
生成单元,用于基于所述获取单元获取的源文件系统的修改生成复制任务;
触发单元,用于根据所述生成单元生成的复制任务,触发至少一个目标文件系统的元数据更新,以使所述目标文件系统基于所述元数据的更新执行所述复制任务。
第四方面,本发明还提供分布式系统的数据备份装置,所述装置应用于目标文件系统中的元数据节点,包括:
接收单元,用于接收基于源文件系统的修改所生成的复制任务;
确定单元,用于基于所述接收单元得到的复制任务确定所述目标文件系统中更新的元数据;
执行单元,用于根据所述确定单元确定更新的元数据执行所述复制任务。
第五方面,本发明还提供一种分布式系统,包括至少一个源文件系统、至少一个目标文件系统,以及数据备份节点;
所述数据备份节点,用于获取源文件系统的修改,基于所述修改生成复制任务,根据所生成的复制任务,触发至少一个目标文件系统的元数据更新;
所述目标文件系统,用于接收所述数据备份节点发送的复制任务,基于所述复制任务确定所述目标文件系统中更新的元数据,并根据所述更新的元数据执行所述复制任务。
本发明提供的分布式系统的数据备份的方法及装置,能够将一个源文件系统中修改的数据备份到其他的目标文件系统中,使得当这个源文件系统出现损坏时,能够通过其他的目标文件系统中所备份的数据为用户提供正常的服务。并且,本发明在执行跨文件系统备份数据时,不是全量备份,而是基于源文件系统中对数据的修改对应生成复制任务,将复制任务发送给目标文件系统,由目标文件系统执行复制任务以实现对所已备份数据进行修改或对新增数据的备份,确保目标文件系统中的备份数据与源文件系统中的数据相一致。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种分布式系统的数据备份方法的流程图;
图2示出了本发明实施例提供的另一种分布式系统的数据备份方法的流程图;
图3示出了本发明实施例提供的一种应用于备份模块的数据备份方法的流程图;
图4示出了本发明实施例提供的一种容灾备份的分布式系统的组成框图;
图5示出了本发明实施例提供的一种应用于目标文件系统的数据备份方法的流程图;
图6示出了本发明实施例提供的一种应用于备份模块的数据备份装置的组成框图;
图7示出了本发明实施例提供的一种应用于目标文件系统的数据备份装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
一个分布式文件系统在本发明实施例中也可以被称为一个集群,一个集群包括多个元数据节点(Meta)和众多的存储文件数据副本的数据节点(Data),分布式文件的长度、副本等元信息都存储在元数据节点中,文件的实际数据全部都存储在数据节点上。当分布式文件系统被用户访问时,首先请求元数据节点获得数据位置和长度等信息后,读写数据节点完成对文件的访问操作。
现有技术中使用单一集群实现数据的备份容灾时,为了实现较好的容灾,单一集群中存储数据的数据节点,一般要求设置在相距比较远的地理位置区域,该种方式,当单一集群中的数据节点故障时,要从其他距离较远的数据节点获取数据,一方面由于距离较远数据传输上会有延时,另一方面,当需要的数据量大,或者在大数据情况下,网络资源消耗会比较大,也会成为备份容灾的瓶颈。数据如何能够高效能的被处理,就是将处理数据的CPU和处理的数据放置在最近的位置上,降低网络资源的影响。而降低数据由于远距离传输的时间影响,最理想的状态就是CPU所要处理的数据正好在该CPU所在的服务器上。本发明为了实现该目的,将数据容灾备份由单一集群中的不同地理位置的数据节点实现,创新到由处于同一地理位置区域的不同集群实现,由于不同的集群已经设置了不同地理位于区域,那么不同集群中存储数据的数据节点就可能设置在同一个地理位置区域,甚至设置在同一个机房中,数据的传输可以通过物理连接实现,较大的降低了数据传输对网络资源的依赖。当然,本发明实施例并不排除将每个集群中的数据节点区分位置区域的布局。即使将本发明集群中的数据节点按照不同位置区域进行布局,也可以不用像单个集群容灾备份一样将数据节点设置的距离特别长,故而不论什么方式的布局本发明集群中的数据节点,与现有技术采用单一集群进行数据容灾相比,都较大程度的降低了数据容灾对网络资源的依赖,并在一定程度上降低了网络资源的消耗。
基于上述描述,本发明提供如下的基于分布式文件系统容灾备份的数据备份方法,该方法能够将源文件系统中的部分数据同步备份到目标文件系统中,具体如图1所示,该方法包括:
101、获取源文件系统的修改。
其中,源文件系统的修改是指该源文件系统中对文件的修改操作,包括对元数据的修改与数据的修改,该修改的具体内容可以为增加文件/目录、删除文件/目录、更改文件属性以及更改文件长度,也可以为其他类型的修改,具体的本发明实施例对此也不进行限制。
该源文件系统的修改可以是用户通过人机交互界面进行的,也可以通过系统配置自动执行的,具体的本发明实施例对此不进行限制。
102、基于源文件系统的修改生成复制任务。
其中,复制任务为将源文件系统的修改复制到预设的目标文件系统中并进行对应修改的任务。
本发明实施例中,进行容灾备份的不同文件系统,均可以为一个独立为用户提供服务的分布式文件系统,目标文件系统对源文件系统进行数据备份时,从目标文件系统的角度来看,实际上其执行数据备份所做的操作,相当于是对目标文件系统中文件的修改更新,目标文件系统执行对应的修改更新任务(复制任务)即可实现源文件系统数据的容灾备份。故本发明实施例在获取了对源文件系统的修改之后,将该修改生成目标文件系统可执行的复制任务。
103、根据所生成的复制任务,触发至少一个目标文件系统的元数据更新。
本发明实施例中,进行容灾备份的目标文件系统可以是一个,也可以是多个,具体的根据容灾备份需求具体设置,本发明实施例对此不进行限制。
上述图1所示的实施例中,是将源文件系统中的部分数据(有修改的数据),根据其修改生成复制任务,并发送给目标文件系统,由目标文件系统执行该复制任务,完成这部分数据的备份。在实际应用中,上述方法的执行可以是由源文件系统中的某个元数据节点执行,也可以是由第三方节点执行,或者是将上述数据备份的方法以数据服务的形式设置在所需执行的节点上,具体该节点与源文件系统的关系不做限定。
对应于图1所示的分布式系统的数据备份方法,本发明还提供一种应用于目标文件系统中元数据节点的数据备份方法,如图2所示,该方法包括:
201、接收基于源文件系统的修改所生成复制任务。
202、基于复制任务确定目标文件系统中更新的元数据。
203、根据更新的元数据执行复制任务。
如上所述的,目标文件系统在接收到基于源文件系统的修改而生成的复制任务之后,将该复制任务看作是对目标文件系统内部文件自身的修改更新,故执行所述复制任务即可实现对源文件系统的数据备份。
需要说明的是,由于图1所示实施例中,复制任务不一定是由源文件系统所生成的,因此,本实施例中的目标文件系统中的元数据节点也不一定是从源文件系统接收的复制任务,也可能是接收自第三方节点生成的复制任务。此外,本发明主要是用于在目标文件系统中更新备份源文件系统存在修改的数据内容,也就是说,目标文件系统中已存在对源文件系统的备份数据,而该数据备份方法的主要目的是为了同步目标文件系统中的备份数据,确保这些备份数据与源文件系统中的数据具有一致性。而现有技术中,为了保持备份数据的一致性,多采用的是定期地在目标文件系统中对源文件系统的数据进行全量备份、整体更新,而这种方式在数据同步性与处理资源存在矛盾,即若要保证数据的同步更新,就需要频繁地对源文件系统执行全量备份,这必然会占用大量的处理资源。而本发明则是通过获取源文件系统中部分数据的修改,同步生成对应的复制任务,由目标文件系统执行复制任务,实现备份数据的同步更新,由于不是全量备份,目标文件系统就无需使用大量的处理资源实现备份数据的更新同步,提升了数据备份的处理效率。
进一步的,本发明的文件系统是基于Raft算法的分布式文件系统,Raft是一种多节点分布式选举和数据复制协议,可以保证多个节点间数据一致和互为备份,多个节点组成的服务达到极高的可用性目的。在多个元数据节点中,完成选举后其中一个元数据节点作为Leader(主元数据节点)服务外部请求,并将元数据状态变化以修改日志的形式复制到其他Follower(从元数据节点)节点实现状态同步。基于Raft算法的分布式文件系统,本发明的分布式文件系统中的任一个元数据节点均可以扮演下面角色之一:
Leader:处理所有客户端交互,日志复制等,一般一个选举周期内只有一个Leader;
Follower:完全被动,接收Leader的数据、状态同步。
下面以日志复制为例子说明Raft算法,假设Leader已经选出,这时客户端发出增加一个日志的要求,比如日志是"sally":Leader要求Follower遵从他的指令,都将这个新的日志内容追加到他们各自日志中,大多数follower将日志写入磁盘文件后,确认追加成功,发出Commited Ok,在下一个心跳中,Leader会通知所有Follwer更新commited项目。对于每个新的日志记录,重复上述过程。
如果在这一过程中,发生了网络分区或者网络通信故障,使得Leader不能访问大多数Follwers了,那么Leader只能正常更新它能访问的那些Follower,而大多数的Follower因为没有了Leader,他们将重新选举一个候选者作为Leader,然后这个Leader作为代表与外界打交道,如果外界要求其添加新的日志,这个新的Leader就按上述步骤通知大多数Followers,如果这时网络故障修复了,那么原先的Leader就变成Follower,在失联阶段这个老Leader的任何更新都不能算commit,都回滚,接受新的Leader的新的更新。
由上可知,单一文件系统中的任一个元数据节点均可能成为Leader或Follower,并基于其阶段性的任务实现其对应角色的功能。本发明在实现跨文件系统的数据备份时,为了能够不影响原有的分布式文件系统的正常功能,可以在源文件系统中增加了一个数据备份模块(Replicator模块),并将其定义为Standby角色,该Standby角色,在Raft协议中为节点角色的一种扩展角色,该种角色不参加选举,但是和Follower角色一样接受Leader的修改日志,保证自己的状态和Leader同步。
在加入该Replicator模块之后,源文件系统中,该分布式文件系统中对文件进行的修改,都会被元数据服务以修改日志的形式记录下来,形成元数据,该元数据都会被无差别的复制到Replicator模块中。
由于该Replicator模块只具有同步元数据的功能,不具备成为候选者的功能,并且文件系统中所有修改的元数据均被同步到该Replicator模块中,所以可以在该Replicator模块内部增加任何基于源文件系统中文件/目录的过滤方法来定制容灾数据备份配置,该配置仅在该Replicator模块中使用,不会被同步到其他集群节点中,实现对源文件系统几乎无侵入的修改输出目的。
故,在源文件系统中增加了Replicator模块后,上述发明实施例中的数据备份方法具体如图3和图4所示,包括:
301、接收源文件系统中的修改日志。
其中,修改日志存储在源文件系统中的元数据节点中,并且源文件系统中的元数据节点能够通过同步其他元数据节点中的修改日志记录该源文件系统的修改,本步骤中,由Replicator模块同步源文件系统中元数据节点的修改日志。
本发明实施例中,在基于Raft协议的分布式文件系统中,Leader用来处理对外的请求,具体的,用户通过人机交互界面对文件执行的修改操作,可以直接由Leader节点接收,若不是由该Leader节点接收,基于Raft协议的分布式文件系统中也具有相应的机制,将文件修改操作引流到该Leader节点中,故本发明实施例中是由源文件系统中的Leader节点接收文件的修改,并对应生成修改日志。之后,基于Raft协议将修改日志复制到Replicator模块中。
302、解析修改日志,获取源文件系统的修改。
Replicator模块将接收到的修改日志进行解析,该解析过程可以视为源文件系统生成修改日志的过程的逆向过程,其具体解析方式本实施例不做限定。
303、解析源文件系统的修改,获取该源文件系统的修改的内容和类型。
Replicator模块通过解析文件系统的修改,能够获取到该修改的内容和类型,所述类型包括增加文件/目录、删除文件/目录、更改文件属性以及更改文件长度。例如,解析源文件系统的修改得到“删除源集群中的/d/f文件”,该修改的类型为删除文件/目录,内容为“/d/f文件”。
304、根据内容和类型匹配对应的数据备份配置。
该数据备份配置为基于Raft协议的分布式文件系统中对文件操作的具体配置,例如对于文件长度改变,可以生成新的数据复制任务,具体格式为[源数据的位置、复制长度];又例如删除文件,具体格式为[删除内容,del]等。
当匹配到数据备份配置时,执行步骤305,而如果未匹配到数据备份配置时,则需要发送提示信息,以便人工进行匹配。
305、根据数据备份配置生成对应所述内容和类型的复制任务。
具体的,源文件系统的修改的类型包括元数据修改和数据修改,当为元数据修改时,生成第一复制任务,该第一复制任务中包括修改内容和元数据操作,例如,[/d/f文件,del];当为数据修改时,生成第二复制任务,该第二复制任务中包括修改内容的位置与长度,例如,从源文件系统的数据节点的目录/a/F复制数据到目标集群数据节点的目录/a/F,其生成的复制任务格式为[/a/F,长度]。
进一步的,对于同一文件存在多次修改的情况,为了确保修改后的文件在备份时能够在目标文件系统中通过复制任务进行准确地备份,本发明实施例在发送复制任务之前,还会按照修改日志的时序关系排列修改日志对应生成的复制任务,从而使得目标文件系统能够根据修改日志的顺序执行对应的复制任务,使得到的数据内容与源文件系统中的数据相一致。
进一步的,当预设的目标文件系统为多个时,将复制任务发送给多个目标文件系统的具体实现方式包括:
第一种,将复制任务一次发送给多个目标文件系统。即容灾备份配置形式可以是源文件系统目录到多个目标文件系统目录,这样的配置可以灵活的适应目标文件系统目录与源文件系统目录组织形式不同造成的无法备份的问题;例如目标文件系统中的源文件系统备份路径已经在被其他业务使用中,如果还想向目标文件系统备份数据,则需要创建一个不同名的目录进行备份。
第二种,将复制任务发送给多个目标文件系统中的第一目标文件系统,以便所述第一目标文件系统再将所述复制任务发送给第二目标文件系统,进而使得所述多个目标文件系统串联接收该复制任务。即以优化地域间容灾带宽为目的的数据备份配置中,可以配置为级联容灾数据备份,可以有效防止源文件系统的出口带宽不足的问题,例如A文件系统作为B文件系统的源文件系统,而B文件系统作为C文件系统的源文件系统,这样在实现ABC3个文件系统相互备份的前提下,A文件系统的出口网络带宽最小。
进一步需要说明的是,本发明实施例中的源文件系统和目标文件系统,在某个时间段有可能成为目标文件系统或者源文件系统,故当本发明实施例中的源文件系统为其他文件系统的目标文件系统时,其所具有的功能如本发明实施例中的目标文件系统;当本发明实施例中的目标文件系统为源文件系统时,其具有的功能如本发明实施例中的源文件系统所具有的功能,具体的本发明实施例此处将不再赘述。
基于上述源文件系统的数据备份方法实施例,本发明实施例还提供一种分布式系统的数据备份方法,该方法为目标文件系统进行数据备份的方法,如图5和图4所示,该方法包括:
401、由目标文件系统的主元数据节点接收复制任务。
如上所述的,基于Raft协议的分布式文件系统中,Leader用来处理对外的访问请求,具体的,当目标文件系统接收到复制任务时,可以直接由Leader节点接收,若不是由该Leader节点接收,基于Raft协议的分布式文件系统也具有相应的机制,将复制任务引流到该Leader节点中,故本发明实施例中是由目标文件系统的主元数据节点(Leader节点)接收复制任务,该复制任务是由Replicator模块发送的基于源文件系统的修改所生成的任务。
402、由主元数据节点根据复制任务生成对目标文件系统内的文件进行修改的文件修改日志。
本发明实施例中,目标文件系统在实现对源文件系统的数据进行备份的过程中,是由Leader节点接收Replicator模块发送的复制任务,按照Raft协议的操作机制,Leader节点会将所有的复制任务均记录为文件修改日志。
403、主元数据节点将所述文件修改日志同步给目标文件系统的从元数据节点。
其中,本发明实施例中,为了实现目标文件系统的元数据节点内的数据统一备份,目标文件系统的Leader节点会将所述文件修改日志同步给所述目标文件系统的从元数据节点。
另外,若该目标文件系统中设置了Replicator模块,该Leader节点会在将该文件修改日志同步给从元数据节点的同时,将该文件修改日志同步Replicator模块。具体执行时,由于该Replicator模块设置在元数据节点,其与其他的Follower节点具有被动接收Leader同步信息的功能,故执行时不用判断Follower节点内是否设置有该Replicator模块。
404、由主元数据节点和从元数据节点根据所述文件修改日志确定目标文件系统中更新的元数据。
405、由主元数据节点和从元数据节点根据更新的元数据执行复制任务。
具体的,目标文件系统中的元数据节点会解析更新的元数据以获取复制任务的类型和内容,其中,复制任务的类型包括元数据修改和数据修改。若为数据修改类型的复制任务,则由Leader节点触发对应的数据节点获取需要复制的数据,所述数据是根据复制任务的内容向源文件系统中对应的数据节点拉取需要复制的数据;而若为元数据修改,则是根据复制任务的内容进行元数据的修改。
其中,由Leader节点触发对应的数据节点获取需要复制的数据的具体交互过程可以采用但不局限于以下的方法实现,包括:
首先,由目标文件系统的Leader节点触发对应的数据节点向源文件系统发送获取数据的请求信息,所述请求信息中包括数据位置和长度。
其次,由源文件系统的Leader节点接收目标文件系统发送的获取数据的请求信息,所述请求信息中包括数据位置和长度。
第三,由源文件系统的Leader节点确定数据所在的目标数据节点,并反馈该目标数据节点的标识。
最后,由目标文件系统的Leader节点将目标数据节点的标识发送至对应的数据节点中,由该数据节点根据标识建立与目标数据节点的连接并获取需要复制的数据。
本发明实施例中,目标文件系统的数据节点向源文件系统拉取数据的方法,由于拉取数据是由数据节点执行的,即使目标文件系统中有多个拉取数据的任务,也可以由分布式系统中的多个数据节点同时执行,使得复制数据的获取时的资源分散,充分的利用资源。
进一步的,由于接收复制任务的是目标文件系统中的Leader节点,而对于数据修改,其具体执行是由数据节点执行的数据修改操作,因此,本发明实施例在触发对应的数据节点获取需要复制的数据之后,Leader节点会监控该对应的数据节点是否获取到需要复制的数据,或者是监控其是否完成数据修改操作,若获取到数据或完成数据修改操作,则标记该复制任务完成,以确定对应的数据以完成备份。
进一步的,本发明实施例中,为了消除多个目标文件系统中的节点同时作为多个容灾备份目标时的数据复制协调工作,可以将其转化为单个目标文件系统中的节点恢复自身数据副本的常规操作。即拉取一个源文件系统中数据节点中的数据后触发目标文件系统中的多个数据节点对该数据创建副本,如此,可以有效降低文件系统间的带宽消耗,让跨地域的容灾备份成本更低。同理,对于在元数据节点中的更新的元数据,也会同步更新至目标文件系统中的所有元数据节点,以便元数据节点根据所述更新的元数据实现将源文件系统的修改复制到目标文件系统。
进一步的,作为对上述图1与图3所示方法的实现,本发明实施例提供了一种分布式系统的数据备份装置,该装置的主要功能与上述实施例中的Replicator模块的功能相同,用于将源文件系统中的存在修改的部分数据更新备份至目标文件系统中。为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置如图6所示,具体包括:
获取单元51,用于获取源文件系统的修改;
生成单元52,用于基于所述获取单元51获取的源文件系统的修改生成复制任务;
触发单元53,用于根据所述生成单元52生成的复制任务,触发至少一个目标文件系统的元数据更新,以使所述目标文件系统基于所述元数据的更新执行所述复制任务。
进一步的,如图6所示,所述获取单元51包括:
接收模块511,用于接收源文件系统中的修改日志,所述修改日志是由源文件系统中的元数据节点通过同步其他元数据节点中的修改日志得到;
获取模块512,用于解析所述接收模块511得到的修改日志,获取所述源文件系统的修改。
进一步的,如图6所示,所述生成单元52包括:
解析模块521,用于解析所述源文件系统的修改,获取所述源文件系统修改的内容和类型;
匹配模块522,用于根据所述解析模块521得到的内容和类型匹配对应的数据备份配置;
生成模块523,用于若所述匹配模块522匹配成功,则根据所述数据备份配置生成对应所述内容和类型的复制任务。
进一步的,所述源文件系统的修改的类型包括元数据修改和数据修改;所述生成模块523还用于:
当为元数据修改时,生成第一格式的复制任务,所述复制任务中包括修改内容和元数据操作;
当为数据修改时,生成第二格式的复制任务,所述复制任务中包括修改内容的位置与长度。
进一步的,如图6所示,所述装置还包括:
排序单元54,用于按照所述修改日志的时序关系排列所述生成单元52根据修改日志对应生成的复制任务。
进一步的,如图6所示,当目标文件系统为多个时,所述触发单元53还包括:
第一发送模块531,用于将所述复制任务一次发送给多个所述目标文件系统,以使所述多个目标文件系统基于所述元数据的更新执行所述复制任务;
第二发送模块532,用于将所述复制任务发送给多个所述目标文件系统中的第一目标文件系统,以便所述第一目标文件系统将所述复制任务发送给第二目标文件系统,进而使得所述多个目标文件系统串联接收所述复制任务。
进一步的,作为对上述图2与图5所示方法的实现,本发明实施例提供了一种分布式系统的数据备份装置,该装置设置在目标文件系统中的元数据节点中,用于备份源文件系统中的存在修改的部分数据。为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置如图7所示,具体包括:
接收单元61,用于接收基于源文件系统的修改所生成的复制任务;
确定单元62,用于基于所述接收单元61得到的复制任务确定所述目标文件系统中更新的元数据;
执行单元63,用于根据所述确定单元62确定更新的元数据执行所述复制任务。
进一步的,如图7所示,所述执行单元63包括:
解析模块631,用于解析所述更新的元数据获取复制任务的类型和内容,所述类型包括元数据修改和数据修改;
触发模块632,用于若根据所述解析模块631得到的复制任务的类型为数据修改,则触发对应的数据节点获取需要复制的数据,所述数据是根据所述复制任务的内容向所述源文件系统中对应的数据节点拉取需要复制的数据;
修改模块633,用于若根据所述解析模块632得到的复制任务的类型为元数据修改,则根据所述复制任务的内容进行元数据的修改。
进一步的,如图7所示,所述执行单元63还包括:
判断模块634,用于在触发模块632触发对应的数据节点获取需要复制的数据之后,判断是否获取到需要复制的数据;
标记模块635,用于若判断模块634确定获取到需要复制的数据,标记所述复制任务完成。
进一步的,所述执行单元63还用于:在所述复制任务执行完成时,将所述更新的元数据同步至目标文件系统中的所有元数据节点,以便所述元数据节点根据所述更新的元数据实现将源文件系统的修改复制到目标文件系统。
综合上述实施例的说明,本发明还提出了一种分布式系统,如图4所示,该系统包括至少一个源文件系统1、至少一个目标文件系统2,以及数据备份节点3;
所述数据备份节点3,用于获取源文件系统1的修改,基于所述修改生成复制任务,根据所生成的复制任务,触发至少一个目标文件系统2的元数据更新;
所述目标文件系统2,用于接收所述数据备份节点3发送的复制任务,基于所述复制任务确定所述目标文件系统中更新的元数据,并根据所述更新的元数据执行所述复制任务。
进一步的,所述目标文件系统2中还包括多个元数据节点21和数据节点22,所述多个元数据节点21互为备份;其中,多个元数据节点21之间由所述元数据节点21解析所述更新的元数据获取所述复制任务的类型和内容,所述类型包括元数据修改和数据修改;
当所述复制任务的类型为元数据修改时,由元数据节点21根据所述复制任务的内容进行元数据的修改;
当所述复制任务的类型为数据修改时,由元数据节点22触发对应的数据节点获取需要复制的数据,所述数据是根据所述复制任务的内容向所述源文件系统中对应的数据节点拉取需要复制的数据。
进一步的,所述源文件系统1中还包括多个元数据节点11和数据节点12,所述多个元数据节点11互为备份;
所述数据备份节点3可以设置在所述源文件系统的元数据节点中,以便同步获取所述源文件系统的修改。
进一步的,当用于备份数据的目标文件系统2为多个时,所述数据备份节点3将复制任务发送至多个目标文件系统中的第一目标文件系统;由所述第一目标文件系统将所述复制任务发送给第二目标文件系统,使得所述多个目标文件系统串联接收所述复制任务。
结合上述本发明实施例中所述的分布式系统的数据备份方法及装置,可以看出,该分布式系统在进行数据备份时,能够将一个源文件系统中修改的部分数据备份到其他的目标文件系统中,使得当这个源文件系统出现损坏时,能够通过其他的目标文件系统中所备份的数据为用户提供正常的服务。并且,本发明在执行跨文件系统备份数据时,不是全量备份,而是基于源文件系统中对数据的修改对应生成复制任务,将复制任务发送给目标文件系统,由目标文件系统执行复制任务以实现对所已备份数据进行修改或对新增数据的备份,确保目标文件系统中的备份数据与源文件系统中的数据相一致。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种分布式系统的数据备份方法,其特征在于,包括:
获取源文件系统的修改;
基于所述源文件系统的修改生成复制任务;
根据所生成的复制任务,触发至少一个目标文件系统的元数据更新,以使所述目标文件系统基于所述元数据的更新执行所述复制任务。
2.根据权利要求1所述的方法,其特征在于,所述获取源文件系统的修改包括:
接收源文件系统中的修改日志,所述修改日志存储在源文件系统中的元数据节点中;
解析所述修改日志,获取所述源文件系统的修改。
3.根据权利要求2所述的方法,其特征在于,基于所述源文件系统的修改生成复制任务包括:
解析所述源文件系统的修改,获取所述源文件系统的修改的内容和类型;
根据所述内容和类型匹配对应的数据备份配置;
若匹配成功,则根据所述数据备份配置生成对应所述内容和类型的复制任务。
4.根据权利要求3所述的方法,其特征在于,所述源文件系统的修改的类型包括元数据修改和数据修改;所述根据所述数据备份配置生成对应所述内容和类型的复制任务包括:
当为元数据修改时,生成第一复制任务,所述第一复制任务中包括修改内容和元数据操作;
当为数据修改时,生成第二复制任务,所述第二复制任务中包括修改内容的位置与长度。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
按照所述修改日志的时序关系排列所述修改日志对应生成的复制任务。
6.根据权利要求1-5中任一项所述的方法,其特征在于,当目标文件系统为多个时,所述触发至少一个目标文件系统的元数据更新包括:
将所述复制任务一次发送给多个目标文件系统,以使所述多个目标文件系统基于所述元数据的更新执行所述复制任务;
或者
将所述复制任务发送给多个所述目标文件系统中的第一目标文件系统,以便所述第一目标文件系统将所述复制任务发送给第二目标文件系统,进而使得所述多个目标文件系统串联接收所述复制任务。
7.一种分布式系统的数据备份方法,其特征在于,所述方法应用于目标文件系统中的元数据节点,所述方法包括:
接收基于源文件系统的修改所生成的复制任务;
基于所述复制任务确定所述目标文件系统中更新的元数据;
根据所述更新的元数据执行所述复制任务。
8.根据权利要求7所述的方法,其特征在于,根据所述更新的元数据执行所述复制任务包括:
解析所述更新的元数据获取复制任务的类型和内容,所述类型包括元数据修改和数据修改;
若为数据修改,则触发对应的数据节点获取需要复制的数据,所述数据是根据所述复制任务的内容向所述源文件系统中对应的数据节点拉取需要复制的数据;
若为元数据修改,则根据所述复制任务的内容进行元数据的修改。
9.根据权利要求8所述的方法,其特征在于,在触发对应的数据节点获取需要复制的数据之后,所述方法还包括:
判断是否获取到需要复制的数据;
若是,则标记所述复制任务完成。
10.根据权利要求9所述的方法,其特征在于,根据所述更新的元数据执行所述复制任务包括:
在所述复制任务执行完成时,将所述更新的元数据同步至目标文件系统中的所有元数据节点,以便所述元数据节点根据所述更新的元数据实现将源文件系统的修改复制到目标文件系统。
11.一种分布式系统的数据备份装置,其特征在于,所述装置包括:
获取单元,用于获取源文件系统的修改;
生成单元,用于基于所述获取单元获取的源文件系统的修改生成复制任务;
触发单元,用于根据所述生成单元生成的复制任务,触发至少一个目标文件系统的元数据更新,以使所述目标文件系统基于所述元数据的更新执行所述复制任务。
12.一种分布式系统的数据备份装置,其特征在于,所述装置应用于目标文件系统中的元数据节点,所述装置包括:
接收单元,用于接收基于源文件系统的修改所生成的复制任务;
确定单元,用于基于所述接收单元得到的复制任务确定所述目标文件系统中更新的元数据;
执行单元,用于根据所述确定单元确定更新的元数据执行所述复制任务。
13.一种分布式系统,其特征在于,包括至少一个源文件系统、至少一个目标文件系统,以及数据备份节点;
所述数据备份节点,用于获取源文件系统的修改,基于所述修改生成复制任务,根据所生成的复制任务,触发至少一个目标文件系统的元数据更新;
所述目标文件系统,用于接收所述数据备份节点发送的复制任务,基于所述复制任务确定所述目标文件系统中更新的元数据,并根据所述更新的元数据执行所述复制任务。
14.根据权利要求13所述的系统,其特征在于,所述目标文件系统中包括多个元数据节点和数据节点,所述多个元数据节点互为备份;
由所述元数据节点解析所述更新的元数据获取所述复制任务的类型和内容,所述类型包括元数据修改和数据修改;
当所述复制任务的类型为元数据修改时,由元数据节点根据所述复制任务的内容进行元数据的修改;
当所述复制任务的类型为数据修改时,由元数据节点触发对应的数据节点获取需要复制的数据,所述数据是根据所述复制任务的内容向所述源文件系统中对应的数据节点拉取需要复制的数据。
15.根据权利要求13所述的系统,其特征在于,所述源文件系统中包括多个元数据节点,所述多个元数据节点互为备份;
所述数据备份节点设置在所述源文件系统的元数据节点中,以便同步获取所述源文件系统的修改。
16.根据权利要求13所述的系统,其特征在于,当所述目标文件系统为多个时,所述数据备份节点将复制任务发送至多个目标文件系统中的第一目标文件系统;
由所述第一目标文件系统将所述复制任务发送给第二目标文件系统,使得所述多个目标文件系统串联接收所述复制任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910102763.XA CN111522688B (zh) | 2019-02-01 | 2019-02-01 | 分布式系统的数据备份方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910102763.XA CN111522688B (zh) | 2019-02-01 | 2019-02-01 | 分布式系统的数据备份方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111522688A true CN111522688A (zh) | 2020-08-11 |
CN111522688B CN111522688B (zh) | 2023-09-15 |
Family
ID=71910342
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910102763.XA Active CN111522688B (zh) | 2019-02-01 | 2019-02-01 | 分布式系统的数据备份方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111522688B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127567A (zh) * | 2021-04-29 | 2021-07-16 | 武汉优品楚鼎科技有限公司 | 基于分布式存储的金融数据计算系统、方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915338A (zh) * | 2012-09-18 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统数据同步的方法及文件系统 |
CN103761162A (zh) * | 2014-01-11 | 2014-04-30 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
CN105242988A (zh) * | 2015-10-10 | 2016-01-13 | 国家电网公司 | 分布式文件系统和分布式文件系统的数据备份方法 |
CN105589887A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN106372221A (zh) * | 2016-09-07 | 2017-02-01 | 华为技术有限公司 | 一种文件同步的方法、设备及系统 |
CN106569911A (zh) * | 2016-10-14 | 2017-04-19 | 深圳前海微众银行股份有限公司 | 数据备份方法和装置 |
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
-
2019
- 2019-02-01 CN CN201910102763.XA patent/CN111522688B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102915338A (zh) * | 2012-09-18 | 2013-02-06 | 浪潮(北京)电子信息产业有限公司 | 一种分布式文件系统数据同步的方法及文件系统 |
CN103761162A (zh) * | 2014-01-11 | 2014-04-30 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
CN105589887A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN105242988A (zh) * | 2015-10-10 | 2016-01-13 | 国家电网公司 | 分布式文件系统和分布式文件系统的数据备份方法 |
CN106372221A (zh) * | 2016-09-07 | 2017-02-01 | 华为技术有限公司 | 一种文件同步的方法、设备及系统 |
CN106569911A (zh) * | 2016-10-14 | 2017-04-19 | 深圳前海微众银行股份有限公司 | 数据备份方法和装置 |
CN106844510A (zh) * | 2016-12-28 | 2017-06-13 | 北京五八信息技术有限公司 | 一种分布式数据库集群的数据迁移方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113127567A (zh) * | 2021-04-29 | 2021-07-16 | 武汉优品楚鼎科技有限公司 | 基于分布式存储的金融数据计算系统、方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111522688B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11520670B2 (en) | Method and apparatus for restoring data from snapshots | |
US11537482B2 (en) | Method and apparatus for reading and writing committed data | |
WO2019154394A1 (zh) | 分布式数据库集群系统、数据同步方法及存储介质 | |
JP7271670B2 (ja) | データレプリケーション方法、装置、コンピュータ機器及びコンピュータプログラム | |
US20200356448A1 (en) | Manifest-based snapshots in distributed computing environments | |
US11429305B2 (en) | Performing backup operations using replicas | |
CN110249321B (zh) | 用于从分布式数据源中捕获变更数据以供异构目标使用的系统和方法 | |
US11635908B2 (en) | Managing digital assets stored as components and packaged files | |
CN108241555B (zh) | 一种分布式数据库的备份、恢复方法、装置和服务器 | |
US11966414B2 (en) | Synchronization of components of digital assets during live co-editing | |
US9436556B2 (en) | Customizable storage system for virtual databases | |
JP5178822B2 (ja) | データベースマネジメントシステム(dbms)におけるデータ複製方法およびシステム | |
US9367579B1 (en) | System and method for maintaining a file change log within a distributed file system | |
KR101662212B1 (ko) | 부분동기화 지원 데이터베이스 관리 시스템 및 데이터베이스 관리 시스템에서 부분동기화 방법 | |
US20150213100A1 (en) | Data synchronization method and system | |
US11093387B1 (en) | Garbage collection based on transmission object models | |
US11074224B2 (en) | Partitioned data replication | |
CN111221678B (zh) | Hbase数据备份/恢复系统、方法、装置及电子设备 | |
CN111078667B (zh) | 一种数据迁移的方法以及相关装置 | |
US10628298B1 (en) | Resumable garbage collection | |
CN112131237A (zh) | 数据同步方法、装置、设备及计算机可读介质 | |
US11397749B2 (en) | Asynchronous replication of in-scope table data | |
CN115729749A (zh) | 一种数据备份方法及系统 | |
WO2021082925A1 (zh) | 一种交易处理的方法及装置 | |
CN111522688B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |