CN110597904B - 一种数据同步方法、备机和主机 - Google Patents
一种数据同步方法、备机和主机 Download PDFInfo
- Publication number
- CN110597904B CN110597904B CN201810515871.5A CN201810515871A CN110597904B CN 110597904 B CN110597904 B CN 110597904B CN 201810515871 A CN201810515871 A CN 201810515871A CN 110597904 B CN110597904 B CN 110597904B
- Authority
- CN
- China
- Prior art keywords
- request
- characteristic
- standby machine
- cache layer
- host
- 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
- 238000000034 method Methods 0.000 title claims abstract description 57
- 230000001360 synchronised effect Effects 0.000 description 37
- 238000010586 diagram Methods 0.000 description 10
- 230000005540 biological transmission Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Classifications
-
- 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
- Hardware Redundancy (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种数据同步方法,应用于备机,方法包括:将主机截取的IO请求同步到所述备机的缓存层,判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。本发明能够在网络不稳定的情况下有效的实现数据同步,使备机中控数据库具备可用性。本发明还公开了一种备机和主机。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据同步方法、备机和主机。
背景技术
在半分布式架构专网集群系统中,为了保持系统的稳定性,增加系统的冗余特性,需要保证中控业务的正常运行。为了保证中控业务的正常运行,目前主要采用搭建主备环境的方式,当主机出现问题时,备机正常接替主机进行业务的正常通信。由此可以看出,在整个过程中,备机中控数据库的可用性至关重要。
目前,数据库同步技术大都采用同步写的方式来保证数据的可用性,但因同步写需要增加网络传输和备机写入两个步骤,相对于原本的主机写入过程会加大IO(input/output,输入/输出)开销,降低数据库的性能。现有技术中,为了降低同步写的开销,采用了高速网络和高速flash,高速flash比现有磁盘快100倍,现有高速IO的传输时间能达到总线级的纳秒级别。在没有高速网络的情况下,数据库的访问将变得极其缓慢,备机的数据库会大概率的变得不可用。
因此,如何在网络不稳定的情况下有效的实现数据同步是一项亟待解决的问题。
发明内容
有鉴于此,本发明提供了一种数据同步方法,能够在网络不稳定的情况下有效的实现数据同步,使备机中控数据库具备可用性。
本发明提供了一种数据同步方法,应用于备机,所述方法包括:
将主机截取的IO请求同步到所述备机的缓存层;
判断所述缓存层中的所述IO请求中是否包含特征IO;
当所述缓存层中的所述IO请求中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
优选地,所述判断所述缓存层中的所述IO请求中是否包含特征IO包括:
判断所述缓存层中的所述IO请求中是否包含检查点IO。
优选地,所述判断所述缓存层中的所述IO请求中是否包含检查点IO包括:
判断在预设位置是否写入有512个字节的IO请求,当在预设位置写入有512个字节的IO请求时,所述缓存层中的所述IO请求中包含检查点IO。
优选地,所述主机截取的IO请求包括:日志IO、数据IO和所述检查点IO。
一种数据同步方法,应用于主机,所述方法包括:
截取IO请求;
将截取的所述IO请求通过网络同步至备机,所述备机将所述主机截取的IO请求同步到所述备机的缓存层,判断所述缓存层中的所述IO请求中是否包含特征IO,当所述缓存中的所述IO请求中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
一种备机,包括:
同步模块,用于将主机截取的IO请求同步到所述备机的缓存层;
判断模块,用于判断所述缓存层中的所述IO请求中是否包含特征IO;
写入模块,用于当所述缓存层中的所述IO请求中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
优选地,所述判断模块用于:
判断所述缓存中的所述IO请求中是否包含检查点IO。
优选地,所述判断模块用于:
判断在预设位置是否写入有512个字节的IO请求,当在预设位置写入有512个字节的IO请求时,所述缓存层中的所述IO请求中包含检查点IO。
优选地,所述主机截取的IO请求包括:日志IO、数据IO和所述检查点IO。
一种主机,包括:
截取模块,用于截取IO请求;
发送模块,用于将截取的所述IO请求通过网络发送至备机,所述备机将所述主机截取的IO请求同步到所述备机的缓存层,判断所述缓存层中的所述IO请求中是否包含特征IO,当所述缓存层中的所述O中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
一种数据同步系统,包括:
存储器,用于存储应用程序与应用程序运行所产生的数据;
处理器,用于运行所述应用程序以执行上述的数据同步方法。
一种存储介质,所述存储介质包括存储的程序,其中,所述程序执行上述的数据同步方法。
从上述技术方案可以看出,本发明提供了一种数据同步方法,当需要对数据进行同步时,首先将主机截取的IO请求同步到备机的缓存层,然后判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含特征IO时,才将特征IO以及特征IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明公开的一种数据同步方法实施例1的方法流程图;
图2为本发明公开的一种数据同步方法实施例2的方法流程图;
图3为本发明公开的一种数据同步方法实施例3的方法流程图;
图4为本发明公开的一种数据同步方法实施例4的方法流程图;
图5为本发明公开的一种备机实施例1的结构示意图;
图6为本发明公开的一种备机实施例2的结构示意图;
图7为本发明公开的一种备机实施例3的结构示意图;
图8为本发明公开的一种主机实施例1的结构示意图;
图9为本发明公开的一种数据同步系统的结构示意图;
图10为本发明公开的一种存储介质的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,为本发明公开的一种数据同步方法的实施例1的流程图,所述方法应用于备机,所述方法可以包括以下步骤:
S101、将主机截取的IO请求同步到备机的缓存层;
当需要同步数据时,主机截取IO请求,然后通过网络将截取的IO请求发送至备机。然后,备机将主机截取的IO请求同步到备机的缓存层。
例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求,然后通过网络将截取的数据库目录下的IO请求同步至备机,在同步的过程中,备机将主机截取的数据库目录下的IO请求同步至备机的缓存层。
S102、判断缓存层中的IO请求中是否包含特征IO;
当将主机截取的IO请求同步到备机的缓存层后,进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含特征IO。需要说明的是,所述的特征IO为能表征备机中控数据库可用性的IO请求。
S103、当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。
当通过判断表明缓存层中的IO请求中包含特征IO时,进一步将该特征IO以及该特征IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,首先将主机截取的IO请求同步到备机的缓存层,然后判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含特征IO时,才将特征IO以及特征IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
如图2所示,为本发明公开的一种数据同步方法实施例2的流程图,所述方法应用于备机,所述方法可以包括以下步骤:
S201、将主机截取的IO请求同步到备机的缓存层;
当需要同步数据时,主机截取IO请求,然后通过网络将截取的IO请求发送至备机。然后,备机将主机截取的IO请求同步到备机的缓存层。
例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求,然后通过网络将截取的数据库目录下的IO请求发送至备机,然后,备机将主机截取的数据库目录下的IO请求同步至备机的缓存层。
S202、判断缓存层中的IO请求中是否包含检查点IO;
按照系统的机制,一个增删改操作至少会有三个IO请求,即日志IO、数据IO和检查点IO,如果这三个IO请求完全写入备机的数据库,那么备机的系统就是可用的,如果只有日志IO和数据IO,没有检查点IO,那么备机在启动数据库时很可能变得不可用。
因此,当将主机截取的IO请求同步到备机的缓存层后,进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含检查点IO。需要说明的是,所述的检查点IO为能表征备机中控数据库可用性的IO请求。
S203、当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。
当通过判断表明缓存层中的IO请求中包含检查点IO时,进一步将该检查点IO以及该检查点IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,首先将主机截取的IO请求同步到备机的缓存层,然后判断缓存层中的IO请求中是否包含检查点IO,当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含检查点IO时,才将检查点IO以及检查点IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
如图3所示,为本发明公开的一种数据同步方法实施例3的流程图,所述方法应用于备机,所述方法可以包括以下步骤:
S301、将主机截取的IO请求同步到备机的缓存层;
当需要同步数据时,主机截取IO请求,然后通过网络将截取的IO请求发送至备机。然后,备机将主机截取的IO请求同步到备机的缓存层。
例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求,然后通过网络将截取的数据库目录下的IO请求发送至备机,然后,备机将主机截取的数据库目录下的IO请求同步至备机的缓存层。
S302、判断在预设位置是否写入有512个字节的IO请求,当在预设位置写入有512个字节的IO请求时,缓存层中的IO请求中包含检查点IO;
按照系统的机制,一个增删改操作至少会有三个IO请求,即日志IO、数据IO和检查点IO,如果这三个IO请求完全写入备机的数据库,那么备机的系统就是可用的,如果只有日志IO和数据IO,没有检查点IO,那么备机在启动数据库时很可能变得不可用。
因此,当将主机截取的IO请求同步到备机的缓存层后,进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含检查点IO。需要说明的是,所述的检查点IO为能表征备机中控数据库可用性的IO请求。
在判断缓存层中的IO请求中是否包含检查点IO时,由试验分析可以得出检查点IO在IO请求层面可以识别为固定文件,即在固定位置写入固定长度内容的一个IO请求,一般为在文件起始位置512或1536位置写入512个字节的IO请求即为检查点IO。
S303、当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。
当通过判断表明缓存层中的IO请求中包含检查点IO时,进一步将该检查点IO以及该检查点IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,首先将主机截取的IO请求同步到备机的缓存层,然后判断缓存层中的的IO请求中是否包含检查点IO,当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含检查点IO时,才将检查点IO以及检查点IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
如图4所示,为本发明公开的一种数据同步方法实施例4的流程图,所述方法应用于主机,所述方法可以包括以下步骤:
S401、截取IO请求;
当需要同步数据时,主机截IO请求。例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求。
S402、将截取的IO请求通过网络发送至备机,备机将主机截取的IO请求同步到备机的缓存层,判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。
然后通过网络将截取的IO请求发送至备机,备机将主机截取的IO请求同步到备机的缓存层,并进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含特征IO。需要说明的是,所述的特征IO为能表征备机中控数据库可用性的IO请求。当通过判断表明缓存层中的IO请求中包含特征IO时,进一步将该特征IO以及该特征IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,主机首先截取IO请求,然后将截取的IO请求通过网络发送至备机,备机将主机截取的IO请求同步到备机的缓存层,判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含特征IO时,才将特征IO以及特征IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
如图5所示,为本发明公开的一种备机实施例1的结构示意图,所述方备机可以包括:
同步模块501,用于将主机截取的IO请求同步到备机的缓存层;
当需要同步数据时,主机截取IO请求,然后通过网络将截取的IO请求发送至备机。然后,备机将主机截取的IO请求同步到备机的缓存层。
例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求,然后通过网络将截取的数据库目录下的IO请求同步至备机,在同步的过程中,备机将主机截取的数据库目录下的IO请求同步至备机的缓存层。
判断模块502,用于判断缓存层中的IO请求中是否包含特征IO;
当将主机截取的IO请求同步到备机的缓存层后,进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含特征IO。需要说明的是,所述的特征IO为能表征备机中控数据库可用性的IO请求。
写入模块503,用于当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。
当通过判断表明缓存层中的IO请求中包含特征IO时,进一步将该特征IO以及该特征IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,首先将主机截取的IO请求同步到备机的缓存层,然后判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含特征IO时,才将特征IO以及特征IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
如图6所示,为本发明公开的一种备机实施例2的结构示意图,所述方备机可以包括:
同步模块601,用于将主机截取的IO请求同步到备机的缓存层;
当需要同步数据时,主机截取IO请求,然后通过网络将截取的IO请求发送至备机。然后,备机将主机截取的IO请求同步到备机的缓存层。
例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求,然后通过网络将截取的数据库目录下的IO请求发送至备机,然后,备机将主机截取的数据库目录下的IO请求同步至备机的缓存层。
判断模块602,用于判断缓存层中的IO请求中是否包含检查点IO;
按照系统的机制,一个增删改操作至少会有三个IO请求,即日志IO、数据IO和检查点IO,如果这三个IO请求完全写入备机的数据库,那么备机的系统就是可用的,如果只有日志IO和数据IO,没有检查点IO,那么备机在启动数据库时很可能变得不可用。
因此,当将主机截取的IO请求同步到备机的缓存层后,进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含检查点IO。需要说明的是,所述的检查点IO为能表征备机中控数据库可用性的IO请求。
写入模块603,用于当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。
当通过判断表明缓存层中的IO请求中包含检查点IO时,进一步将该检查点IO以及该检查点IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,首先将主机截取的IO请求同步到备机的缓存层,然后判断缓存层中的IO请求中是否包含检查点IO,当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含检查点IO时,才将检查点IO以及检查点IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
如图7所示,为本发明公开的一种备机实施例3的结构示意图,所述方备机可以包括:
同步模块701,用于将主机截取的IO请求同步到备机的缓存层;
当需要同步数据时,主机截取IO请求,然后通过网络将截取的IO请求发送至备机。然后,备机将主机截取的IO请求同步到备机的缓存层。
例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求,然后通过网络将截取的数据库目录下的IO请求发送至备机,然后,备机将主机截取的数据库目录下的IO请求同步至备机的缓存层。
判断模块702,用于判断在预设位置是否写入有512个字节的IO请求,当在预设位置写入有512个字节的IO请求时,缓存层中的IO请求中包含检查点IO;
按照系统的机制,一个增删改操作至少会有三个IO请求,即日志IO、数据IO和检查点IO,如果这三个IO请求完全写入备机的数据库,那么备机的系统就是可用的,如果只有日志IO和数据IO,没有检查点IO,那么备机在启动数据库时很可能变得不可用。
因此,当将主机截取的IO请求同步到备机的缓存层后,进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含检查点IO。需要说明的是,所述的检查点IO为能表征备机中控数据库可用性的IO请求。
在判断缓存层中的IO请求中是否包含检查点IO时,由试验分析可以得出检查点IO在IO请求层面可以识别为固定文件,即在固定位置写入固定长度内容的一个IO请求,一般为在文件起始位置512或1536位置写入512个字节的IO请求即为检查点IO。
写入模块703,用于当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。
当通过判断表明缓存层中的IO请求中包含检查点IO时,进一步将该检查点IO以及该检查点IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,首先将主机截取的IO请求同步到备机的缓存层,然后判断缓存层中的的IO请求中是否包含检查点IO,当缓存层中的IO请求中包含检查点IO时,将检查点IO以及检查点IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含检查点IO时,才将检查点IO以及检查点IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
如图8所示,为本发明公开的一种主机实施例1的结构示意图,所述主机可以包括:
截取模块801,用于截取IO请求;
当需要同步数据时,主机截取IO请求。例如,对数据库的数据进行同步时,主机截取数据库目录下的每个IO请求。
发送模块802,用于将截取的IO请求通过网络发送至备机,备机将主机截取的IO请求同步到备机的缓存层,判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。
然后通过网络将截取的IO请求发送至备机,备机将主机截取的IO请求同步到备机的缓存层,并进一步对缓存层中的IO请求进行判断,判断缓存层中的IO请求中是否包含特征IO。需要说明的是,所述的特征IO为能表征备机中控数据库可用性的IO请求。当通过判断表明缓存层中的IO请求中包含特征IO时,进一步将该特征IO以及该特征IO之前的IO请求写入备机的文件系统。
综上所述,在上述实施例中,当需要对数据进行同步时,主机首先截取IO请求,然后将截取的IO请求通过网络发送至备机,备机将主机截取的IO请求同步到备机的缓存层,判断缓存层中的IO请求中是否包含特征IO,当缓存层中的IO请求中包含特征IO时,将特征IO以及特征IO之前的IO请求写入备机的文件系统。通过预先将IO请求同步到备机的缓存层,直至判断缓存层中的IO请求中包含特征IO时,才将特征IO以及特征IO之前的IO请求写入备机的文件系统,有效解决了不稳定网络情况下,数据同步过程中出现数据文件损坏而导致主备切换后备机数据库不可用的问题。
本发明实施例提供了一种数据同步系统,如图9所示,包括:存储应用程序与应用程序运行所产生的数据的存储器,以及运行应用程序以执行数据同步方法的处理器,其中:
处理器通过运行应用程序执行图1至图4中所描述或展示的数据同步方法。
本发明实施例提供了一种存储介质,如图10所示,该存储介质处于设备上,而该存储介质上存储有程序,该程序运行时控制该存储介质所在的设备执行图1至图4中所描述或展示的数据同步方法。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种数据同步方法,其特征在于,应用于备机,所述方法包括:
将主机截取的IO请求同步到所述备机的缓存层;所述主机截取的IO请求至少包括日志IO以及数据IO;
判断所述缓存层中的所述IO请求中是否包含特征IO;所述特征IO为检查点IO;
当所述缓存层中的所述IO请求中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
2.根据权利要求1所述的方法,其特征在于,所述判断所述缓存层中的所述IO请求中是否包含特征IO包括:
判断在预设位置是否写入有512个字节的IO请求,当在预设位置写入有512个字节的IO请求时,所述缓存层中的所述IO请求中包含特征IO。
3.一种数据同步方法,其特征在于,应用于主机,所述方法包括:
截取IO请求;所述IO请求至少包括日志IO以及数据IO;
将截取的所述IO请求通过网络同步至备机,所述备机将所述主机截取的IO请求同步到所述备机的缓存层;判断所述缓存层中的所述IO请求中是否包含特征IO,所述特征IO为检查点IO;当所述缓存中的所述IO请求中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
4.一种备机,其特征在于,包括:
同步模块,用于将主机截取的IO请求同步到所述备机的缓存层;所述主机截取的IO请求至少包括日志IO以及数据IO;
判断模块,用于判断所述缓存层中的所述IO请求中是否包含特征IO;所述特征IO为检查点IO;
写入模块,用于当所述缓存层中的所述IO请求中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
5.根据权利要求4所述的备机,其特征在于,所述判断模块用于:
判断在预设位置是否写入有512个字节的IO请求,当在预设位置写入有512个字节的IO请求时,所述缓存层中的所述IO请求中包含特征IO。
6.一种主机,其特征在于,包括:
截取模块,用于截取IO请求;所述IO请求至少包括日志IO以及数据IO;
发送模块,用于将截取的所述IO请求通过网络发送至备机,所述备机将所述主机截取的IO请求同步到所述备机的缓存层;判断所述缓存层中的所述IO请求中是否包含特征IO,所述特征IO为检查点IO;当所述缓存层中的所述IO中包含特征IO时,将所述特征IO以及所述特征IO之前的IO请求写入所述备机的文件系统。
7.一种数据同步系统,其特征在于,包括:
存储器,用于存储应用程序与应用程序运行所产生的数据;
处理器,用于运行所述应用程序以执行权利要求1至3中任意一项所述的数据同步方法。
8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,所述程序执行权利要求1至3中任意一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810515871.5A CN110597904B (zh) | 2018-05-25 | 2018-05-25 | 一种数据同步方法、备机和主机 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810515871.5A CN110597904B (zh) | 2018-05-25 | 2018-05-25 | 一种数据同步方法、备机和主机 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597904A CN110597904A (zh) | 2019-12-20 |
CN110597904B true CN110597904B (zh) | 2023-11-24 |
Family
ID=68848585
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810515871.5A Active CN110597904B (zh) | 2018-05-25 | 2018-05-25 | 一种数据同步方法、备机和主机 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597904B (zh) |
Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394641A (zh) * | 2007-09-18 | 2009-03-25 | 中兴通讯股份有限公司 | 一种面向用户数据的主备机倒换方法 |
CN101719923A (zh) * | 2009-12-11 | 2010-06-02 | 北京中科大洋科技发展股份有限公司 | 一种播出异地容灾备份的系统和方法 |
CN101751394A (zh) * | 2008-12-16 | 2010-06-23 | 青岛海信传媒网络技术有限公司 | 数据同步方法和数据同步系统 |
CN101770411A (zh) * | 2009-12-31 | 2010-07-07 | 北京和利时系统工程有限公司 | 冗余数据的自动选择方法、分析器及实现无扰切换的方法 |
CN101771567A (zh) * | 2009-11-10 | 2010-07-07 | 南京联创科技集团股份有限公司 | 自主内存数据库基于日志的数据持久或双机热备方法 |
CN102855163A (zh) * | 2011-06-27 | 2013-01-02 | 华为软件技术有限公司 | 一种内存数据库双机热备方法及主机 |
CN103064761A (zh) * | 2012-12-24 | 2013-04-24 | 华为技术有限公司 | 一种数据同步方法、设备和系统 |
CN103138912A (zh) * | 2011-12-05 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 数据同步方法及系统 |
CN103684839A (zh) * | 2012-09-26 | 2014-03-26 | 中国移动通信集团四川有限公司 | 一种用于双机热备的数据传输方法、系统及服务器 |
CN104484136A (zh) * | 2014-12-25 | 2015-04-01 | 深圳联友科技有限公司 | 一种可支撑高并发内存数据的方法 |
CN105072021A (zh) * | 2015-08-11 | 2015-11-18 | 国电南瑞科技股份有限公司 | 一种调度自动化系统跨网段的消息转发方法 |
CN105354046A (zh) * | 2015-09-15 | 2016-02-24 | 深圳市深信服电子科技有限公司 | 基于共享磁盘的数据库更新处理方法及系统 |
CN105635263A (zh) * | 2015-12-25 | 2016-06-01 | 中国民航信息网络股份有限公司 | 基于后台缓存的访问处理方法及适配器 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI285878B (en) * | 2005-05-27 | 2007-08-21 | Asustek Comp Inc | Computer system, module of displaying assistance message and method thereof |
US8417885B2 (en) * | 2010-02-24 | 2013-04-09 | Avaya Inc. | Method and apparatus for high availability (HA) protection of a running virtual machine (VM) |
US8656388B2 (en) * | 2010-09-30 | 2014-02-18 | Avaya Inc. | Method and apparatus for efficient memory replication for high availability (HA) protection of a virtual machine (VM) |
-
2018
- 2018-05-25 CN CN201810515871.5A patent/CN110597904B/zh active Active
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101394641A (zh) * | 2007-09-18 | 2009-03-25 | 中兴通讯股份有限公司 | 一种面向用户数据的主备机倒换方法 |
CN101751394A (zh) * | 2008-12-16 | 2010-06-23 | 青岛海信传媒网络技术有限公司 | 数据同步方法和数据同步系统 |
CN101771567A (zh) * | 2009-11-10 | 2010-07-07 | 南京联创科技集团股份有限公司 | 自主内存数据库基于日志的数据持久或双机热备方法 |
CN101719923A (zh) * | 2009-12-11 | 2010-06-02 | 北京中科大洋科技发展股份有限公司 | 一种播出异地容灾备份的系统和方法 |
CN101770411A (zh) * | 2009-12-31 | 2010-07-07 | 北京和利时系统工程有限公司 | 冗余数据的自动选择方法、分析器及实现无扰切换的方法 |
CN102855163A (zh) * | 2011-06-27 | 2013-01-02 | 华为软件技术有限公司 | 一种内存数据库双机热备方法及主机 |
CN103138912A (zh) * | 2011-12-05 | 2013-06-05 | 阿里巴巴集团控股有限公司 | 数据同步方法及系统 |
CN103684839A (zh) * | 2012-09-26 | 2014-03-26 | 中国移动通信集团四川有限公司 | 一种用于双机热备的数据传输方法、系统及服务器 |
CN103064761A (zh) * | 2012-12-24 | 2013-04-24 | 华为技术有限公司 | 一种数据同步方法、设备和系统 |
CN104484136A (zh) * | 2014-12-25 | 2015-04-01 | 深圳联友科技有限公司 | 一种可支撑高并发内存数据的方法 |
CN105072021A (zh) * | 2015-08-11 | 2015-11-18 | 国电南瑞科技股份有限公司 | 一种调度自动化系统跨网段的消息转发方法 |
CN105354046A (zh) * | 2015-09-15 | 2016-02-24 | 深圳市深信服电子科技有限公司 | 基于共享磁盘的数据库更新处理方法及系统 |
CN105635263A (zh) * | 2015-12-25 | 2016-06-01 | 中国民航信息网络股份有限公司 | 基于后台缓存的访问处理方法及适配器 |
Non-Patent Citations (1)
Title |
---|
一种基于主备机快速切换的双机容错系统;吴娟等;《计算机应用》;1948-1951 * |
Also Published As
Publication number | Publication date |
---|---|
CN110597904A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9134914B1 (en) | Deduplication | |
CN109445861B (zh) | 系统启动方法、装置、计算机装置及存储介质 | |
CN108959117B (zh) | H2d写操作加速方法、装置、计算机设备及存储介质 | |
CN102541984B (zh) | 一种分布式文件系统客户端的文件系统的实现方法 | |
US9075722B2 (en) | Clustered and highly-available wide-area write-through file system cache | |
WO2019001521A1 (zh) | 数据存储方法、存储设备、客户端及系统 | |
CN114443364B (zh) | 一种分布式块存储数据处理方法、装置、设备及存储介质 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
KR20210040864A (ko) | 파일 디렉터리 순회 방법, 장치, 기기, 매체 및 컴퓨터 프로그램 | |
US20140082275A1 (en) | Server, host and method for reading base image through storage area network | |
CN110908965A (zh) | 一种对象存储管理方法、装置、设备及存储介质 | |
CN110650182B (zh) | 网络缓存方法、装置、计算机设备及存储介质 | |
CN110442601B (zh) | 一种Openstack镜像数据并行加速的方法和装置 | |
US9619336B2 (en) | Managing production data | |
WO2024124912A1 (zh) | 冗余固件的数据同步方法、装置及非易失性可读存储介质 | |
CN113849341A (zh) | 一种nas快照的性能优化方法、系统、设备及可读存储介质 | |
CN110597904B (zh) | 一种数据同步方法、备机和主机 | |
US10896201B2 (en) | Synchronization of block based volumes | |
US10073874B1 (en) | Updating inverted indices | |
CN110119388A (zh) | 文件读写方法、装置、系统、设备及计算机可读存储介质 | |
US9367452B1 (en) | System and method for apportioning storage | |
US11500579B1 (en) | Consolidated write system and method | |
US11481381B2 (en) | System and method for non-disruptive in-memory certificate management | |
CN111625514B (zh) | 一种元数据管控方法、装置、设备及存储介质 | |
US11151159B2 (en) | System and method for deduplication-aware replication with an unreliable hash |
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 |