CN103377100B - 一种数据备份方法、网络节点及系统 - Google Patents
一种数据备份方法、网络节点及系统 Download PDFInfo
- Publication number
- CN103377100B CN103377100B CN201210126362.6A CN201210126362A CN103377100B CN 103377100 B CN103377100 B CN 103377100B CN 201210126362 A CN201210126362 A CN 201210126362A CN 103377100 B CN103377100 B CN 103377100B
- Authority
- CN
- China
- Prior art keywords
- node
- data
- incremental data
- file
- write
- 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.)
- Active
Links
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种数据备份方法、网络节点及系统,用于优化写缓冲区同步备份方案,本发明方案增加了持久化管理同步机制,并且优化了从节点的写缓冲区结构。本发明实施例方法包括:根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区;将所述主节点发送的增量数据文件写入所述从节点的磁盘,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘;根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。通过实施本发明方案,能够节省从节点的硬件开销,进而降低构建数据服务集群的硬件成本。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种数据备份方法、网络节点及系统。
背景技术
在本领域中,为了提高数据服务能力和抵御数据丢失风险,使用多个数据服务节点组成一个数据服务集群为客户端提供数据服务。数据服务集群将数据备份到其中的多个节点中,当某一个节点失效时,其它节点能够及时提供与所述失效节点相同的数据服务,并协助恢复所述失效节点。因此,数据服务集群获得比单个节点更高的容灾能力。
目前,数据服务集群主要采用了基于主/从(Master/Slave)架构的写缓冲区同步备份方案。在该方案中,选择一个节点作为主节点,用于承担主要的数据服务,其它节点则作为从节点,用于协助所述主节点提供数据服务。主节点与从节点在硬件上无差别,且能够互相转换。当主节点失效时,其中一个从节点能够转换为主节点。
请参见图1,一个简单的基于主/从架构的写缓冲区同步备份方案包括:
101、客户端向主节点发送数据请求消息;
102、主节点根据所述数据请求消息生成增量数据;
103、主节点根据内容排序顺序将所述增量数据写入所述主节点的写缓冲区中;
写缓冲区的数据根据内容排序顺序进行维护,目的是维持写缓冲区的有序性,同时保证数据查询的高效性。
104、主节点向从节点发送所述增量数据;
105、从节点接收所述增量数据并根据内容排序顺序将所述增量数据写入所述从节点的写缓冲区中;
106、主节点和从节点分别触发将各自写缓冲区中的数据写入各自的磁盘中。
但是,上述数据备份方案存在以下问题:
1、为了维持写缓冲区中基于内容排序顺序的组织结构,从节点的写缓冲区被写入增量数据时需要与原有数据进行对比、合并,多次重复操作增加了处理器的计算开销;
2、从节点触发将写缓冲区中的数据写入磁盘时,会产生大量的处理器计算和临时内存开销;
3、从节点的磁盘写入数据时产生多个分散的存储区域,需采用后台磁盘数据整理的方式将所述多个分散的存储区域整理为一个连续的存储区域,并删除冗余数据文件,这种处理产生大量的磁盘IO(In/Out,输入输出)、处理器计算和内存开销。
发明内容
本发明实施例提供了一种数据备份方法、设备及系统,用于优化写缓冲区同步备份方案,本发明实施例增加了持久化管理同步机制,并且优化了从节点的写缓冲区结构,通过实施本发明实施例,能够节省从节点的硬件开销,进而降低构建数据服务集群的硬件成本。
一种数据备份方法,包括:
根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区;
将所述主节点发送的增量数据文件写入所述从节点的磁盘,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘;
根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
一种数据备份方法,包括:
向从节点发送增量数据,所述增量数据根据客户端发送的数据请求消息生成;
根据持久化数据与主节点的磁盘数据文件生成增量数据文件;
向所述从节点发送所述增量数据文件。
一种网络节点,作为从节点,包括:
写缓冲区写入单元,用于根据预设时间排序顺序将主节点发送的增量数据写入所述从节点的写缓冲区;
磁盘写入单元,用于将所述主节点发送的增量数据文件写入所述从节点的磁盘,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘;
写缓冲区删除单元,用于根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
一种网络节点,作为主节点,包括:
增量数据发送单元,用于向从节点发送增量数据,所述增量数据根据客户端发送的数据请求消息生成;
增量数据文件生成单元,用于根据持久化数据与所述主节点的磁盘数据文件生成增量数据文件;
增量数据文件发送单元,用于向所述从节点发送所述增量数据文件。
一种备份系统,包括:
至少一个如上所述的从节点和一个如上所述的主节点。
从以上技术方案可以看出,本发明实施例具有以下优点:
1、从节点根据预设时间排序顺序将增量数据写入写缓冲区,并根据增量数据文件删除写缓冲区中与增量数据文件相关的数据,能够避免写入增量数据时与原有数据进行对比、合并所造成的计算开销;
2、从节点直接将增量数据文件写入磁盘,能够避免触发将写缓冲区中的数据写入磁盘时产生的大量处理器计算和临时内存开销;
3、增量数据文件由主节点根据持久化数据与主节点的磁盘数据文件生成,从节点直接将增量数据文件写入磁盘,避免产生大量的磁盘IO、处理器计算和内存开销。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为现有技术的基于主/从架构的写缓冲区同步备份方案流程图;
图2为本发明第一实施例的数据备份方法流程图;
图3为本发明第二实施例的数据备份方法流程图;
图4为本发明第三实施例的数据备份方法流程图;
图5为本发明第四实施例的网络节点结构图;
图6为本发明第五实施例的网络节点结构图;
图7为本发明第六实施例的网络节点结构图;
图8为本发明第七实施例的备份系统结构图;
图9为本发明第七实施例的备份系统工作流程图。
具体实施方式
下面将结合本发明中的说明书附图,对发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种数据备份方法、网络节点及系统,用于用于优化写缓冲区同步备份方案,本发明方案增加了持久化管理同步机制,并且优化了从节点的写缓冲区结构,通过实施本发明方案,能够节省从节点的硬件开销,进而降低构建数据服务集群的硬件成本。
本发明第一实施例将对一种数据备份方法进行详细说明,本实施例所述的方法具体流程请参见图2,包括步骤:
201、从节点根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区。
主节点和从节点都包括一块写缓冲数据的缓存区域,称为写缓冲区。在现有技术中,写缓冲区采用基于内容排序顺序的数据维护方法,保证了事务的查询速度。但是,根据内容排序顺序维护数据时需要将增量数据与原有数据进行比较、合并,占用了一部分硬件开销。而作为从节点中的写缓冲区,这种数据维护方法是不必要的,反而会产生多余的硬件开销。
在本步骤中,主节点向从节点发送增量数据,从节点根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区。其中,所述预设时间排序顺序一般为按时间从早到晚的顺序,即最新的数据被追加写入写缓冲区的尾部,以获得高效的存储。所述增量数据被写入写缓冲区后即成为写缓冲区的数据的一部分。
202、从节点将所述主节点发送的增量数据文件写入所述从节点的磁盘。
在现有技术中,主节点和从节点都会分别触发将各自写缓冲区中的数据写入各自的磁盘中,但是,从节点的有关操作存在进一步优化的空间。只需要在主节点中触发将写缓冲区中的数据写入的磁盘中,并将所述写入磁盘中的数据文件同步备份到各从节点中即可。在本实施例中,把将被写入所述主节点的磁盘的数据称为持久化数据。主在写入持久化数据后还将分析磁盘中的原有数据文件,在进行比较、合并后生成增量数据文件。
在本步骤中,从节点将所述主节点发送的增量数据文件写入所述从节点的磁盘。其中,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘。本步骤能够节省从节点触发将持久化数据写入磁盘的操作,以及磁盘内部存储区域和合并操作,故节省了从节点的一部分硬件开销。
203、从节点根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
在步骤202中,从节点直接将主节点发送的增量数据文件写入所述从节点的磁盘,在本步骤中,根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。达到了与现有技术一样的同步备份写缓冲区的效果,却能够节省从节点的硬件开销。
在本实施例中,首先,从节点根据预设时间排序顺序将增量数据写入写缓冲区,并根据增量数据文件删除写缓冲区中与增量数据文件相关的数据,能够避免写入增量数据时与原有数据进行对比、合并所造成的计算开销;再者,从节点直接将增量数据文件写入磁盘,能够避免触发将写缓冲区中的数据写入磁盘时产生的大量处理器计算和临时内存开销;最后,增量数据文件由主节点根据持久化数据与主节点的磁盘数据文件生成,从节点直接将增量数据文件写入磁盘,避免产生大量的磁盘IO、处理器计算和内存开销。
本发明第二实施例将对第一实施例所述的数据备份方法进行补充说明,本实施例所述的方法具体流程请参见图3,包括步骤:
301、从节点根据主节点发送的增量数据生成日志文件。
主节点和从节点包含相同的硬件结构,包括:事务单元、写缓冲单元、持久化管理单元和日志单元,其中,事务单元用于分析、处理客户端发送的数据请求消息并生成增量数据,写缓冲单元用于接收事务单元发送的增量数据并将所述增量数据写入写缓冲区,持久化管理单元用于将写缓冲区中需要持久化到磁盘的数据写入磁盘,日志单元用于根据增量数据生成日志文件。
主节点的事务单元接收客户端发送的数据请求消息,若所述数据请求消息中包含读操作命令,则根据该命令生成增量数据。然后,主节点通过事务单元向从节点的写缓冲单元发送所述增量数据,即向从节点备份所述增量数据。
从节点的写缓冲单元接收到所述增量数据后,向同在从节点内部的日志单元发送所述增量数据,所述日志单元根据所述增量数据生成日志文件,优选地,日志单元以二进制格式将所述增量数据写入日志文件。
302、从节点根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区。
第一实施例中已经提到,现有技术的写缓冲区以内容排序顺序维护数据,这里不再赘述。从节点的写缓冲单元接收到所述增量数据后,根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区。优选地,所述预设时间排序顺序为按时间从早到晚的顺序,即最新的数据被追加写入写缓冲区的尾部,以获得高效的存储。所述增量数据被写入写缓冲区后即成为写缓冲区的数据的一部分。
另外,步骤302和步骤301可以调换次序或者同时执行。
在本发明方案中,从节点中的写缓冲区采用基于时间排序顺序的数据维护方法,但主节点中的写缓冲区写缓冲区仍旧采用基于内容排序顺序的数据维护方法,能够保证了事务的查询速度。
因此,当当前从节点由于外部原因需要转换为主节点时,所述当前从节点首先需要将写缓冲区中的数据由根据预设时间排序顺序存储转换为根据预设内容排序顺序存储。
303、从节点将所述主节点发送的增量数据文件写入所述从节点的磁盘。
第一实施例中已经提到,本发明方案中触发将写缓冲区中的持久化数据写入磁盘的操作只在主节点中执行,这里不再赘述。主节点通过持久化管理单元向从节点发送与写入磁盘相同的增量数据文件。
从节点的持久化管理单元在接收所述增量数据文件后,将所述增量数据文件写入所述从节点的磁盘。所述增量数据文件在主节点和从节点的磁盘中的存储格式可以相同也可以不同,这里不作具体限定。
其中,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,这里不再赘述。所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘。本步骤能够节省从节点触发将持久化数据写入磁盘的操作,以及磁盘内部存储区域和合并操作,故节省了从节点的一部分硬件开销。
304、从节点根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
在本发明方案中,从节点并没有执行主节点中将写缓冲区的持久化数据写入磁盘的操作,而是直接将主节点生成的增量数据文件写入磁盘。因此在从节点中,持久化管理单元触发写缓冲单元删除写缓冲区中与所述增量数据文件相关的数据,使得主节点和从节点中的写缓冲区数据同步。
305、从节点根据所述增量数据文件删除所述日志文件中与所述增量数据文件相关的内容。
步骤301中提到,日志单元根据所述增量数据生成日志文件,与步骤304相似地,日志文件中的内容可能涉及已经被写入磁盘的所述增量数据文件,故在本步骤中,从节点的持久化管理单元触发日志单元根据所述增量数据文件删除所述日志文件中与所述增量数据文件相关的内容,使得主节点和从节点中的日志文件同步。
另外,步骤304和步骤305可以调换次序或者同时执行。
在本实施例中,首先,从节点根据预设时间排序顺序将增量数据写入写缓冲区,并根据增量数据文件删除写缓冲区中与增量数据文件相关的数据,能够避免写入增量数据时与原有数据进行对比、合并所造成的计算开销;再者,从节点直接将增量数据文件写入磁盘,能够避免触发将写缓冲区中的数据写入磁盘时产生的大量处理器计算和临时内存开销;最后,增量数据文件由主节点根据持久化数据与主节点的磁盘数据文件生成,从节点直接将增量数据文件写入磁盘,避免产生大量的磁盘IO、处理器计算和内存开销。
本发明第三实施例将对另一种数据备份方法进行详细说明,本实施例所述的方法具体流程请参见图4,包括步骤:
401、主节点向从节点发送增量数据。
第一实施例中已经提到,主节点和从节点具有相同的写缓冲区,这里不再赘述。
若客户端发送的数据请求消息包含写操作命令,则主节点根据所述写操作命令生成增量数据,即所述增量数据根据客户端发送的数据请求消息生成,所述增量数据会被主节点以内容排序顺序写入写缓冲区,以上内容与现有技术的操作类似,这里不再赘述。
在本步骤中,主节点向从节点发送所述增量数据,即向从节点备份所述增量数据。
402、主节点根据持久化数据与主节点的磁盘数据文件生成增量数据文件。
当写缓冲区的数据符合预设的持久化条件时,主节点将会将写缓冲区中的一部分数据写入磁盘,这部分数据称为持久化数据,这里不再赘述。优选地,所述持久化条件可以是容量触发条件,即写缓冲区的数据达到某一容量阈值。
在本步骤中,主节点根据持久化数据与主节点的磁盘数据文件生成增量数据文件。具体为主在写入持久化数据后还将分析磁盘中的原有数据文件,在进行比较、合并后生成增量数据文件。值得注意的是,所述增量数据文件与前述的增量数据并没有对应关系,所述增量数据文件可以与所述增量数据相关,也可以不相关。
403、主节点向所述从节点发送所述增量数据文件。
在本步骤402生成增量数据文件后,主节点向所述从节点发送所述增量数据文件,即向从节点备份所述增量数据文件。另外,发送动作可以在生成所述增量数据文件之后或生成的过程中,这里不作具体限定。
优选地,主节点向所述从节点发送所述增量数据文件时,具体以流文件传输方式向所述从节点发送所述增量数据文件。
在本实施例中,主节点在生成增量数据文件后向从发送所述增量数据文件,使得从直接将直接将增量数据文件写入磁盘,能够避免触发将写缓冲区中的数据写入磁盘时产生的大量处理器计算和临时内存开销。
本发明第四实施例将对一种网络节点进行详细说明,所述网络节点中包含一个或多个单元用于实现前述方法的一个或多个步骤。因此,对前述方法中各步骤的描述适用于所述网络节点中相应的单元。本实施例所述的网络节点作为从节点,具体结构请参见图5,包括:
写缓冲区写入单元501,用于根据预设时间排序顺序将主节点发送的增量数据写入所述从节点的写缓冲区。
主节点向从节点发送增量数据,从节点的写缓冲区写入单元501根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区。其中,所述预设时间排序顺序一般为按时间从早到晚的顺序,即最新的数据被追加写入写缓冲区的尾部,以获得高效的存储。所述增量数据被写入写缓冲区后即成为写缓冲区的数据的一部分。
磁盘写入单元502,用于将所述主节点发送的增量数据文件写入所述从节点的磁盘。
从节点的磁盘写入单元502将所述主节点发送的增量数据文件写入所述从节点的磁盘。其中,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘。本步骤能够节省从节点触发将持久化数据写入磁盘的操作,以及磁盘内部存储区域和合并操作,故节省了从节点的一部分硬件开销。
写缓冲区删除单元503,用于根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
从节点的磁盘写入单元502直接将主节点发送的增量数据文件写入所述从节点的磁盘,写缓冲区删除单元503根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。达到了与现有技术一样的同步备份写缓冲区的效果,却能够节省从节点的硬件开销。
在本实施例中,首先,写缓冲区写入单元501根据预设时间排序顺序将增量数据写入写缓冲区,写缓冲区删除单元503根据增量数据文件删除写缓冲区中与增量数据文件相关的数据,能够避免写入增量数据时与原有数据进行对比、合并所造成的计算开销;再者,磁盘写入单元502直接将增量数据文件写入磁盘,能够避免触发将写缓冲区中的数据写入磁盘时产生的大量处理器计算和临时内存开销;最后,增量数据文件由主节点根据持久化数据与主节点的磁盘数据文件生成,磁盘写入单元502直接将增量数据文件写入磁盘,避免产生大量的磁盘IO、处理器计算和内存开销。
本发明第五实施例将对第四实施例所述的网络节点进行补充说明,所述网络节点中包含一个或多个单元用于实现前述方法的一个或多个步骤。因此,对前述方法中各步骤的描述适用于所述网络节点中相应的单元。本实施例所述的网络节点作为从节点,具体结构请参见图5,包括:
日志文件生成单元601,用于根据所述增量数据生成日志文件。
主节点和从节点包含相同的硬件结构,包括:事务单元、写缓冲单元、持久化管理单元和日志单元,其中,事务单元用于分析、处理客户端发送的数据请求消息并生成增量数据,写缓冲单元用于接收事务单元发送的增量数据并将所述增量数据写入写缓冲区,持久化管理单元用于将写缓冲区中需要持久化到磁盘的数据写入磁盘,日志单元用于根据增量数据生成日志文件。
主节点的事务单元接收客户端发送的数据请求消息,若所述数据请求消息中包含读操作命令,则根据该命令生成增量数据。然后,主节点通过事务单元向从节点的写缓冲单元发送所述增量数据,即向从节点备份所述增量数据。
从节点的写缓冲单元接收到所述增量数据后,向同在从节点内部的日志单元发送所述增量数据,所述日志单元中的日志文件生成单元601根据所述增量数据生成日志文件,优选地,日志文件生成单元601以二进制格式将所述增量数据写入日志文件。
写缓冲区写入单元602,用于根据预设时间排序顺序将主节点发送的增量数据写入所述从节点的写缓冲区。
从节点的写缓冲单元接收到所述增量数据后,所述写缓冲单元中的写缓冲区写入单元602根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区。优选地,所述预设时间排序顺序为按时间从早到晚的顺序,即最新的数据被追加写入写缓冲区的尾部,以获得高效的存储。所述增量数据被写入写缓冲区后即成为写缓冲区的数据的一部分。
写缓冲区重写单元603,用于当所述从节点需要转换为主节点时,将所述从节点的写缓冲区中的数据由根据预设时间排序顺序存储转换为根据预设内容排序顺序存储。
在本发明方案中,从节点中的写缓冲区采用基于时间排序顺序的数据维护方法,但主节点中的写缓冲区写缓冲区仍旧采用基于内容排序顺序的数据维护方法,能够保证了事务的查询速度。
因此,当当前从节点由于外部原因需要转换为主节点时,所述写缓冲单元中的写缓冲区重写单元603需要将写缓冲区中的数据由根据预设时间排序顺序存储转换为根据预设内容排序顺序存储。
磁盘写入单元604,用于将所述主节点发送的增量数据文件写入所述从节点的磁盘。
主节点通过持久化管理单元向从节点发送与写入磁盘相同的增量数据文件。从节点的持久化管理单元在接收所述增量数据文件后,所述持久化管理单元中的磁盘写入单元604将所述增量数据文件写入所述从节点的磁盘。所述增量数据文件在主节点和从节点的磁盘中的存储格式可以相同也可以不同,这里不作具体限定。
其中,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,这里不再赘述。所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘。本步骤能够节省从节点触发将持久化数据写入磁盘的操作,以及磁盘内部存储区域和合并操作,故节省了从节点的一部分硬件开销。
写缓冲区删除单元605,用于根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
在本发明方案中,从节点并没有执行主节点中将写缓冲区的持久化数据写入磁盘的操作,而是直接将主节点生成的增量数据文件写入磁盘。因此在从节点中,持久化管理单元触发写缓冲单元中的写缓冲区删除单元605删除写缓冲区中与所述增量数据文件相关的数据,使得主节点和从节点中的写缓冲区数据同步。
日志文件删除单元606,用于根据所述增量数据文件删除所述日志文件中与所述增量数据文件相关的内容。
前面提到,日志单元中的日志文件生成单元601根据所述增量数据生成日志文件,日志文件中的内容可能涉及已经被写入磁盘的所述增量数据文件,因此,从节点的持久化管理单元触发日志单元中的日志文件删除单元606根据所述增量数据文件删除所述日志文件中与所述增量数据文件相关的内容,使得主节点和从节点中的日志文件同步。
在本实施例中,首先,写缓冲区写入单元602根据预设时间排序顺序将增量数据写入写缓冲区,写缓冲区删除单元605根据增量数据文件删除写缓冲区中与增量数据文件相关的数据,能够避免写入增量数据时与原有数据进行对比、合并所造成的计算开销;再者,磁盘写入单元604直接将增量数据文件写入磁盘,能够避免触发将写缓冲区中的数据写入磁盘时产生的大量处理器计算和临时内存开销;最后,增量数据文件由主节点根据持久化数据与主节点的磁盘数据文件生成,磁盘写入单元604直接将增量数据文件写入磁盘,避免产生大量的磁盘IO、处理器计算和内存开销。
本发明第六实施例将对一种网络节点进行详细说明,所述网络节点中包含一个或多个单元用于实现前述方法的一个或多个步骤。因此,对前述方法中各步骤的描述适用于所述网络节点中相应的单元。本实施例所述的网络节点作为主节点,具体结构请参见图7,包括:
增量数据发送单元701,用于向从节点发送增量数据。
若客户端发送的数据请求消息包含写操作命令,则主节点根据所述写操作命令生成增量数据,即所述增量数据根据客户端发送的数据请求消息生成,所述增量数据会被主节点以内容排序顺序写入写缓冲区,以上内容与现有技术的操作类似,这里不再赘述。
主节点中的增量数据发送单元701向从节点发送所述增量数据,即向从节点备份所述增量数据。
增量数据文件生成单元702,用于根据持久化数据与所述主节点的磁盘数据文件生成增量数据文件。
当写缓冲区的数据符合预设的持久化条件时,主节点将会将写缓冲区中的一部分数据写入磁盘,这部分数据称为持久化数据,这里不再赘述。优选地,所述持久化条件可以是容量触发条件,即写缓冲区的数据达到某一容量阈值。
主节点中的增量数据文件生成单元702根据持久化数据与主节点的磁盘数据文件生成增量数据文件。具体为主在写入持久化数据后还将分析磁盘中的原有数据文件,在进行比较、合并后生成增量数据文件。值得注意的是,所述增量数据文件与前述的增量数据并没有对应关系,所述增量数据文件可以与所述增量数据相关,也可以不相关。
增量数据文件发送单元703,用于向所述从节点发送所述增量数据文件。
在增量数据文件生成单元702生成增量数据文件后,主节点中的增量数据文件发送单元703向所述从节点发送所述增量数据文件,即向从节点备份所述增量数据文件。另外,发送动作可以在生成所述增量数据文件之后或生成的过程中,这里不作具体限定。
增量数据文件流发送子单元7031,用于以流文件传输方式向所述从节点发送所述增量数据文件。
优选地,主节点中的增量数据文件发送单元703向所述从节点发送所述增量数据文件时,具体交由增量数据文件流发送子单元7031以流文件传输方式向所述从节点发送所述增量数据文件。
本发明第七实施例将对一种备份系统进行详细说明,本实施例所述的系统具体结构请参见图8,包括:两个如上所述的网络节点,分别为主节点801和从节点802,以及客户端803。
主节点801包括:事务单元8011、写缓冲单元8012、持久化管理单元8013和日志单元8014,其中,事务单元8011包括增量数据发送单元80111,持久化管理单元8013包括增量数据文件生成单元80131和增量数据文件发送单元80132,所述增量数据文件发送单元80132具体为增量数据文件流发送子单元801321;从节点和主节点具体相同的硬件结构,主要包括事务单元8021、写缓冲单元8022、持久化管理单元8023和日志单元8024,其中,写缓冲单元8022包括写缓冲区写入单元80221、写缓冲区重写单元80222和写缓冲区删除单元80223,持久化管理单元8023包括磁盘写入单元80231,日志单元8024包括日志文件生成单元80241和日志文件删除单元80242。
关于上述各单元的具体功能请参见前面实施例记载的相关内容,这里不再赘述。本实施例将对所述系统总体运作的具体流程进行详细说明,请参见图9,包括步骤:
901、客户端803向主节点801发送数据请求消息。
在本实施例中,假设所述数据请求消息中包含写操作命令。
902、主节点801中的事务单元8011根据所述数据请求消息生成增量数据。
903、事务单元8011中的增量数据发送单元80111向写缓冲单元8012、日志单元8014和从节点802发送所述增量数据。
904、写缓冲单元8012向主节点的写缓冲区写入所述增量数据,日志单元8014根据所述增量数据生成日志文件,从节点802的写缓冲单元8022接收所述增量数据。
当步骤904中的三个子操作均操作成功时,写缓冲单元8012、日志单元8014和从节点802分别向事务单元8011返回操作成功消息,否则返回操作失败消息。事务单元8011根据所述操作成功消息或操作失败消息通知客户端803本次数据请求的结果。
905、从节点802中的写缓冲区写入单元80221按时间先后顺序将所述增量数据写入从节点的写缓冲区。
一旦主节点801失效而从节点802需要转换为主节点,则写缓冲单元8022中的写缓冲区重写单元80222将写缓冲区中的数据由根据时间先后顺序存储转换为根据内容排序顺序存储。同时从节点中的事务单元8021将会启用。
906、写缓冲单元8022向日志单元8024发送所述增量数据,日志单元8024中的日志文件生成单元80241根据所述增量数据生成日志文件。
907、主节点801中的增量数据文件生成单元80131将缓冲区中的持久化数据写入磁盘,并与磁盘中原有文件进行比较合并,生成增量数据文件。
908、持久化管理单元8013中的增量数据文件发送单元80132向从节点的持久化管理单元8023发送所述增量数据文件。
主节点801中的增量数据文件发送单元80132向所述从节点802发送所述增量数据文件时,具体交由增量数据文件流发送子单元801321以流文件传输方式向所述从节点802发送所述增量数据文件。
909、持久化管理单元8023中的磁盘写入单元80231将所述增量数据文件写入从节点802的磁盘。
910、写缓冲区删除单元80223根据所述增量数据文件删除从节点802的写缓冲区中与所述增量数据文件相关的数据,日志文件删除单元80242根据所述增量数据文件删除从节点侧的日志文件中与所述增量数据文件相关的内容。
在本实施例中,相对于现有技术增加了持久化管理同步机制,并且优化了从节点的写缓冲区结构,从而优化了写缓冲区同步备份方案,通过实施本发明方案,能够节省从节点的硬件开销,进而降低构建数据服务集群的硬件成本。
这里只举一个简单的系统模型进行说明,即一个主节点和一个从节点,在实际情况中,通常是一个主节点对应多个从节点,这里不再赘述。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明所提供的一种数据备份方法、网络节点及系统进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (13)
1.一种数据备份方法,其特征在于,包括:
根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区;
将所述主节点发送的增量数据文件写入所述从节点的磁盘,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘,其中,将被写入所述主节点的磁盘的数据称为持久化数据;
根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
2.根据权利要求1所述的方法,其特征在于,所述根据预设时间排序顺序将主节点发送的增量数据写入从节点的写缓冲区之前进一步包括:
根据所述增量数据生成日志文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据之后进一步包括:
根据所述增量数据文件删除所述日志文件中与所述增量数据文件相关的内容。
4.根据权利要求1或2所述的方法,其特征在于,所述数据备份方法进一步包括:
当所述从节点需要转换为主节点时,将所述从节点的写缓冲区中的数据由根据预设时间排序顺序存储转换为根据预设内容排序顺序存储。
5.一种数据备份方法,其特征在于,包括:
向从节点发送增量数据,所述增量数据根据客户端发送的数据请求消息生成;
根据持久化数据与主节点的磁盘数据文件生成增量数据文件,其中,将被写入所述主节点的磁盘的数据称为持久化数据;
向所述从节点发送所述增量数据文件。
6.根据权利要求5所述的方法,其特征在于,所述向所述从节点发送所述增量数据文件包括:
以流文件传输方式向所述从节点发送所述增量数据文件。
7.一种网络节点,作为从节点,其特征在于,包括:
写缓冲区写入单元,用于根据预设时间排序顺序将主节点发送的增量数据写入所述从节点的写缓冲区;
磁盘写入单元,用于将所述主节点发送的增量数据文件写入所述从节点的磁盘,所述增量数据文件由所述主节点根据持久化数据与所述主节点的磁盘数据文件生成,所述持久化数据来自所述主节点的写缓冲区并将被写入所述主节点的磁盘,其中,将被写入所述主节点的磁盘的数据称为持久化数据;
写缓冲区删除单元,用于根据所述增量数据文件删除所述从节点的写缓冲区中与所述增量数据文件相关的数据。
8.根据权利要求7所述的网络节点,其特征在于,所述网络节点进一步包括:
日志文件生成单元,用于根据所述增量数据生成日志文件。
9.根据权利要求8所述的网络节点,其特征在于,所述网络节点进一步包括:
日志文件删除单元,用于根据所述增量数据文件删除所述日志文件中与所述增量数据文件相关的内容。
10.根据权利要求7或8所述的网络节点,其特征在于,所述网络节点进一步包括:
写缓冲区重写单元,用于当所述从节点需要转换为主节点时,将所述从节点的写缓冲区中的数据由根据预设时间排序顺序存储转换为根据预设内容排序顺序存储。
11.一种网络节点,作为主节点,其特征在于,包括:
增量数据发送单元,用于向从节点发送增量数据,所述增量数据根据客户端发送的数据请求消息生成;
增量数据文件生成单元,用于根据持久化数据与所述主节点的磁盘数据文件生成增量数据文件,其中,将被写入所述主节点的磁盘的数据称为持久化数据;
增量数据文件发送单元,用于向所述从节点发送所述增量数据文件。
12.根据权利要求11所述的节点,其特征在于,所述增量文件发送单元进一步包括:
增量数据文件流发送子单元,用于以流文件传输方式向所述从节点发送所述增量数据文件。
13.一种备份系统,其特征在于,包括:
至少一个如权利要求7至10任一项所述的网络节点和一个如权利要求11或12所述的网络节点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210126362.6A CN103377100B (zh) | 2012-04-26 | 2012-04-26 | 一种数据备份方法、网络节点及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210126362.6A CN103377100B (zh) | 2012-04-26 | 2012-04-26 | 一种数据备份方法、网络节点及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103377100A CN103377100A (zh) | 2013-10-30 |
CN103377100B true CN103377100B (zh) | 2016-12-14 |
Family
ID=49462256
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210126362.6A Active CN103377100B (zh) | 2012-04-26 | 2012-04-26 | 一种数据备份方法、网络节点及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103377100B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105335512B (zh) * | 2015-10-30 | 2019-09-17 | 小米科技有限责任公司 | 数据查询方法及装置 |
CN105574127A (zh) * | 2015-12-12 | 2016-05-11 | 天津南大通用数据技术股份有限公司 | 分布式数据库系统准实时的双活方法 |
CN108509462B (zh) | 2017-02-28 | 2021-01-29 | 华为技术有限公司 | 一种同步活动事务表的方法及装置 |
CN110263093B (zh) * | 2019-05-27 | 2021-07-23 | 东软集团股份有限公司 | 数据同步方法、装置、节点、集群及存储介质 |
CN110413689B (zh) * | 2019-06-29 | 2022-04-26 | 苏州浪潮智能科技有限公司 | 一种内存数据库的多节点数据同步方法与装置 |
CN110750594B (zh) * | 2019-09-30 | 2023-05-30 | 上海视云网络科技有限公司 | 一种基于mysql增量日志实时跨网络数据库同步方法 |
CN113783921A (zh) * | 2021-01-27 | 2021-12-10 | 北京京东振世信息技术有限公司 | 创建缓存组件的方法和装置 |
CN113885780A (zh) * | 2021-02-10 | 2022-01-04 | 京东科技控股股份有限公司 | 数据同步方法、装置、电子设备、系统和存储介质 |
CN113791935B (zh) * | 2021-09-06 | 2023-10-24 | 广州宝云信息科技有限公司 | 一种数据备份方法、网络节点及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940875A (zh) * | 2005-09-26 | 2007-04-04 | 英业达股份有限公司 | 计算机平台快取资料备援处理方法及系统 |
CN101145955A (zh) * | 2007-06-12 | 2008-03-19 | 中兴通讯股份有限公司 | 网管软件热备份的方法、网管及网管系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009100636A1 (zh) * | 2008-02-05 | 2009-08-20 | Huawei Technologies Co., Ltd. | 电信网络用户数据存储管理的方法及装置 |
-
2012
- 2012-04-26 CN CN201210126362.6A patent/CN103377100B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1940875A (zh) * | 2005-09-26 | 2007-04-04 | 英业达股份有限公司 | 计算机平台快取资料备援处理方法及系统 |
CN101145955A (zh) * | 2007-06-12 | 2008-03-19 | 中兴通讯股份有限公司 | 网管软件热备份的方法、网管及网管系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103377100A (zh) | 2013-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103377100B (zh) | 一种数据备份方法、网络节点及系统 | |
CN103116661B (zh) | 一种数据库的数据处理方法 | |
US6934877B2 (en) | Data backup/recovery system | |
CN104040481B (zh) | 用于融合、存储和检索增量式备份数据的方法和系统 | |
CN101814045B (zh) | 一种用于备份服务的数据组织方法 | |
CN104679772B (zh) | 分布式数据仓库中删除文件的方法、装置、设备及系统 | |
CN105190533B (zh) | 原位快照 | |
US11442961B2 (en) | Active transaction list synchronization method and apparatus | |
CN106502823A (zh) | 数据云备份方法和系统 | |
CN105190623A (zh) | 日志记录管理 | |
CN105005683A (zh) | 一种解决区域医疗系统数据规范化问题的缓存系统及方法 | |
CN104657497A (zh) | 一种基于分布式计算的海量用电信息并行计算系统及方法 | |
CN106708653B (zh) | 一种基于纠删码与多副本的混合税务大数据安全保护方法 | |
KR102038529B1 (ko) | 인-메모리 데이터베이스의 실시간 데이터 변경 처리 시스템 | |
CN108874590A (zh) | 一种云主机自动备份与恢复的系统 | |
CN102033930A (zh) | 分布式内存数据库系统 | |
CN111597197B (zh) | 数据库之间的数据对账方法和装置、存储介质及电子设备 | |
CN101986276A (zh) | 文件存储方法、文件恢复方法、系统及服务器 | |
CN109753360A (zh) | 面向电力系统中边缘节点的轻量级数据管理系统及方法 | |
EP1209569A1 (en) | Data backup/recovery system | |
CN103384266A (zh) | 一种基于文件级实时同步的Parastor200管理节点高可用方法 | |
Wu et al. | Overview of real-time database management system design for power system scada system | |
CN107943412A (zh) | 一种分区分裂、删除分区中数据文件的方法、装置及系统 | |
CN103207916A (zh) | 元数据处理的方法和装置 | |
CN110362590A (zh) | 数据管理方法、装置、系统、电子设备及计算机可读介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |