CN110636090B - 窄带宽条件下的数据同步方法和装置 - Google Patents
窄带宽条件下的数据同步方法和装置 Download PDFInfo
- Publication number
- CN110636090B CN110636090B CN201810651933.5A CN201810651933A CN110636090B CN 110636090 B CN110636090 B CN 110636090B CN 201810651933 A CN201810651933 A CN 201810651933A CN 110636090 B CN110636090 B CN 110636090B
- Authority
- CN
- China
- Prior art keywords
- data
- storage node
- storage
- controlling
- synchronization
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/148—Migration or transfer of sessions
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例公开了一种窄带宽条件下的数据同步方法和装置。本发明实施例一种窄带宽条件下的数据同步方法包括:从待同步的数据中确定第一数据所在的第一存储节点,所述第一数据是当前优先级最高的数据;检测所述第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值;从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第二存储节点;控制所述第一存储节点向所述第二存储节点发送所述第一数据。本发明实施例提高数据同步效率,保证数据和其备份的强一致。
Description
技术领域
本发明实施例涉及数据存储技术,尤其涉及一种窄带宽条件下的数据同步方法和装置。
背景技术
现有的数据存储多采用分布式存储系统存储数据,分布式存储系统在存储数据之前先将数据进行分片切分成多个数据对象,然后将这些数据对象分别存储到不同的数据节点,并对每一个数据对象执行多节点备份策略,保证同一数据对象同时存储到多个不同的节点上。这里要求数据和备份具有强一致性,强一致性可以理解为在任意时刻,系统中所有原数据和其备份是一样的。当存储系统的拓扑结构发生变化的时候,数据需要进行再均衡,此时会有大量的数据在各个节点之间同步,最终达到数据的均衡。
但是,上述方法不适用于窄带宽情况下的数据同步,如果数据节点之间的连接网络带宽较窄,会在数据同步过程中产生数据堵塞,也无法保证数据和其备份的强一致性,最终导致存储系统无法正常工作。
发明内容
本发明实施例提供一种窄带宽条件下的数据同步方法和装置,以提高数据同步效率,保证数据和其备份的强一致。
第一方面,本发明实施例提供了一种窄带宽条件下的数据同步方法,包括:
从待同步的数据中确定第一数据所在的第一存储节点,所述第一数据是当前优先级最高的数据;
检测所述第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值;
从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第二存储节点;
控制所述第一存储节点向所述第二存储节点发送所述第一数据。
可选的,在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若有第二数据需要同步,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据,所述第二数据是比所述第一数据优先级更高的数据;
在所述第二数据同步完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
可选的,在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若所述第一存储节点断开超过设定时长,则控制所述第二存储节点中断接收所述第一数据并上报当前同步状态;
在所述第一存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
可选的,在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若所述第二存储节点断开超过设定时长,则控制所述第一存储节点中断发送所述第一数据并上报当前同步状态;
在所述第二存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据;或者,在经过设定的中止时长后所述第二存储节点仍然没有恢复连接,从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第三存储节点,并控制所述第一存储节点向所述第三存储节点发送所述第一数据。
可选的,在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若有第三数据写入,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据;
在所述第三数据写入完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
可选的,在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,还包括:
若所述第一存储节点断开超过设定时长,则从所述待同步的数据中确定第三数据所在的第四存储节点,所述第三数据是当前优先级最高的数据;
控制所述第四存储节点向所述第二存储节点发送所述第三数据。
可选的,在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,还包括:
若所述第二存储节点断开超过设定时长,则从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第五存储节点;
控制所述第一存储节点向所述第五存储节点发送所述第一数据。
可选的,所述检测所述第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值,包括:
采集所述第一存储节点与其他存储节点之间的输入数据量和输出数据量,计算输入带宽利用率和输出带宽利用率,并计算平均值得到所述网络带宽利用率;
判断所述网络带宽利用率是否低于所述设定阈值。
可选的,在所述从待同步的数据中确定第一数据所在的第一存储节点之前,还包括:
接收管理员通过终端设备设定的所述待同步的数据的优先级。
可选的,两个存储节点之间采用的传输协议是TCP协议。
第二方面,本发明实施例提供了一种窄带宽条件下的数据同步装置,包括:
确定模块,用于从待同步的数据中确定第一数据所在的第一存储节点,所述第一数据是当前优先级最高的数据;
检测模块,用于检测所述第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值;
所述确定模块,还用于从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第二存储节点;
控制模块,用于控制所述第一存储节点向所述第二存储节点发送所述第一数据。
可选的,所述控制模块,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若有第二数据需要同步,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据,所述第二数据是比所述第一数据优先级更高的数据;在所述第二数据同步完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
可选的,所述控制模块,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若所述第一存储节点断开超过设定时长,则控制所述第二存储节点中断接收所述第一数据并上报当前同步状态;在所述第一存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
可选的,所述控制模块,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若所述第二存储节点断开超过设定时长,则控制所述第一存储节点中断发送所述第一数据并上报当前同步状态;在所述第二存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据;或者,在经过设定的中止时长后所述第二存储节点仍然没有恢复连接,从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第三存储节点,并控制所述第一存储节点向所述第三存储节点发送所述第一数据。
可选的,所述控制模块,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若有第三数据写入,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据;在所述第三数据写入完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
可选的,所述控制模块,还用于在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,若所述第一存储节点断开超过设定时长,则从所述待同步的数据中确定第三数据所在的第四存储节点,所述第三数据是当前优先级最高的数据;控制所述第四存储节点向所述第二存储节点发送所述第三数据。
可选的,所述控制模块,还用于在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,若所述第二存储节点断开超过设定时长,则从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第五存储节点;控制所述第一存储节点向所述第五存储节点发送所述第一数据。
可选的,所述检测模块,具体用于采集所述第一存储节点与其他存储节点之间的输入数据量和输出数据量,计算输入带宽利用率和输出带宽利用率,并计算平均值得到所述网络带宽利用率;判断所述网络带宽利用率是否低于所述设定阈值。
可选的,还包括:
接收模块,用于接收管理员通过终端设备设定的所述待同步的数据的优先级。
可选的,两个存储节点之间采用的传输协议是TCP协议。
第三方面,本发明实施例提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,所述处理器执行所述程序时实现如上述第一方面中任一所述的窄带宽条件下的数据同步方法。
第四方面,本发明实施例提供了一种包含可执行指令的存储介质,所述可执行指令在由处理器执行时用于执行如上述第一方面中任一所述的窄带宽条件下的数据同步方法。
本发明实施例通过将元数据和存储的数据分开管理,并对存储数据的划分同步优先级,在窄带宽条件下只在网络空闲的情况下才同步数据,既不会影响数据写入,也可以提高数据同步效率,保证数据和其备份的强一致。
附图说明
图1为本发明实施例二提供的窄带宽条件下的数据同步方法的流程图;
图2为本发明实施例四提供的窄带宽条件下的数据同步装置的结构示意图;
图3为本发明实施例五提供的窄带宽条件下的数据同步装置的结构示意图;
图4为本发明实施例六提供的服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本发明实施例作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明实施例,而非对本发明实施例的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明实施例相关的部分而非全部结构。
实施例一
本发明实施例一提供了一种存储系统,从物理结构划分该存储系统的每个节点包含元数据管理模块和数据管理模块;从逻辑上划分该存储系统结构分为用户层、元数据管理模块层和数据存储模块层三层,其中
用户层负责对外提供数据显示和从外部获取数据,它主要由手持终端,PC客户端构成。用户使用这些设备从云存储系统读取数据,并显示到终端系统。还可以通过设备向存储系统传输数据,并存储到存储系统。
元数据管理模块层负责对存储系统的元数据进行管理,数据存储调度,以及数据节点状态和数据的状态进行维护等。元数据管理模块层所有节点组成一套元数据管理集群。它向用户层提供数据访问的API接口,元数据管理模块层只负责对元数据进行管理,不对数据进行存储等操作。所有服务器的元数据管理节点拥有完全相同的元数据,元数据包括数据块的大小,存储日期,存储位置和同步优先级等,因此无论哪个节点从集群中消失都不会导致元数据的丢失。
数据存储模块层负责提供数据存储服务。当数据调度完成之后,数据直接从应用层发送到数据存储模块层,数据存储模块层对这些数据进行处理并将数据存储到该节点。数据每次都进行单节点存储,当存储节点之间带宽利用率较低时,数据按优先级在存储节点之间进行两两同步。当有新的节点加入集群的时候,数据不需要再均衡。
实施例二
图1为本发明实施例二提供的窄带宽条件下的数据同步方法的流程图,该方法可以由元数据管理模块来执行,具体包括如下步骤:
步骤101、从待同步的数据中确定第一数据所在的第一存储节点,第一数据是当前优先级最高的数据;
如上所述,对于上传到存储节点的数据,元数据管理模块会首先记录该数据的元数据,包括数据的大小,存储日期,存储位置和优先级等。每一个数据都有一个默认的优先级,例如,数据的优先级总共分为3个级别:LEVEL1,LEVEL2,LEVEL3,其中LEVEL1为最高级,默认优先级为LEVEL3。管理员可以通过终端设备设定数据的优先级,即如果管理员想要提高该数据的优先级,可以对该数据优先级进行设置。本实施例中存储系统不对数据进行分片处理,直接把其当成一块完成的数据存储到存储节点上。元数据管理模块可以根据元数据知晓在整个存储系统中各数据的存储情况,包括原存储位置和备份存储位置,因此如果某数据在存储系统中没有存储足够数量的备份,则认为其是需要同步的数据。元数据中还包括优先级这一信息,元数据管理模块按照优先级从高到低的顺序,先同步优先级最高的数据,然后同步优先级次之的数据,即每次同步选择的都是当前优先级最高的数据。
步骤102、检测第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值;
在窄带宽条件下,存储节点写入外部数据和与其他存储节点同步数据都会占用带宽,为了不影响外部数据的写入,存储节点与其他存储节点同步数据可以在网络空闲时进行。网络带宽利用率是判断网络是否空闲的标准,元数据管理模块采集第一存储节点与其他存储节点之间的输入数据量和输出数据量,计算输入带宽利用率和输出带宽利用率,并计算平均值得到网络带宽利用率;判断网络带宽利用率是否低于设定阈值。即元数据管理模块先对以下数据进行采集:输入数据量(单位bit),输出数据量(单位bit)和总带宽(bit/s),然后根据以下公式计算网络带宽利用率:
输入带宽利用率=((输入数据量-N秒后数据输入量)/N)/总带宽*100%
输出带宽利用率=((输出数据量-N秒后输出数据量)/N)/总带宽*100%
网络带宽利用率=(输入带宽利用率+输出带宽利用率)/2
当网络带宽利用率大于设定阈值代表当前网络繁忙,小于设定阈值代表当前网络空闲。
步骤103、从满足网络带宽利用率低于设定阈值条件的存储节点中确定第二存储节点;
元数据管理模块从满足网络带宽利用率低于设定阈值条件的存储节点中确定第二存储节点,该第二存储节点与第一存储节点之间的网络空闲,此时可以进行数据同步。
步骤104、控制第一存储节点向第二存储节点发送第一数据。
元数据管理模块可以通过分别向第一存储节点和第二存储节点发送同步请求,进而控制第一存储节点向第二存储节点发送第一数据,两个存储节点之间的数据传输采用TCP安全传输协议,保证数据的安全性。可选的,元数据管理模块向第一存储节点发起同步请求。第一存储节点收到元数据模块发送的同步请求以后向其返回带有该存储节点的令牌(token)的回复(RESPONSE)。元数据管理模块向第二存储节点发送同步请求,该同步请求信息中带有第一存储节点的IP地址和token以及第一数据的元数据。第二存储节点收到同步请求以后向元数据管理模块发出RESPONSE,表示已经收到该同步请求,即将进行数据同步。第二存储节点向第一存储节点发送一份带有第一存储节点的token和第一数据的元数据的同步请求BACKUP REQUEST。第一存储节点收到该同步请求以后首先验证token是否正确,如果token正确则解析同步请求中的元数据,并将正确的第一数据发送给第二存储节点,如果token不正确则拒绝该请求。第二存储节点接收完第一数据,并将第一数据写入第二存储节点内部以后,并向第一存储节点发送数据写入完成响应。第一存储节点接收到第二存储节点发送的写入完成响应以后,发起一条新的响应到元数据管理模块,该响应包含此处同步的完成状态。数据同步完成以后第二存储节点向元数据管理模块发送同步完成响应。元数据管理模块将第一数据的元数据写入本地KVDB数据库中。
本实施例的技术方案,通过将元数据和存储的数据分开管理,并对存储数据的划分同步优先级,在窄带宽条件下只在网络空闲的情况下才同步数据,既不会影响数据写入,也可以提高数据同步效率,保证数据和其备份的强一致。
实施例二
在上述技术方案的基础上,在第一存储节点向第二存储节点发送第一数据的过程中,如果出现以下情况,元数据管理模块将会控制第一存储节点中断向第二存储节点发送第一数据,这些情况包括:
(1)有比第一数据优先级更高的数据需要同步
若有第二数据需要同步,则控制第一存储节点中断向第二存储节点发送第一数据,第二数据是比第一数据优先级更高的数据;在第二数据同步完成后,控制第一存储节点继续向第二存储节点发送第一数据。
第二数据的同步可能是从第一存储节点到第二存储节点、从第一存储节点到其他存储节点或者从其他存储节点到第二存储节点,总之第二数据的同步要占用第一存储节点的输出端口或第二存储节点的输入端口。此时就需要中断第一数据的同步,请求第一存储节点和第二存储节点上报当前的同步完成状态的元数据,先完成第二数据的同步,而第二数据的同步过程可参考上述方法,此处不再赘述。等第二数据同步完成后,元数据管理模块可以控制第一存储节点从中断的地方继续向第二存储节点发送第一数据。
(2)有新数据写入
若有第三数据写入,则控制第一存储节点中断向第二存储节点发送第一数据;在第三数据写入完成后,控制第一存储节点继续向第二存储节点发送第一数据。
为防止数据丢失,因此数据写入必须优先于数据同步,元数据管理模块检测到有第三数据写入时,中断第一数据的同步,请求第一存储节点和第二存储节点上报当前的同步完成状态的元数据,先完成第三数据写入,等第三数据写入后,元数据管理模块可以控制第一存储节点从中断的地方继续向第二存储节点发送第一数据。
(3)第一存储节点断开连接
若第一存储节点断开超过设定时长,则控制第二存储节点中断接收第一数据并上报当前同步状态;在第一存储节点恢复连接后,控制第一存储节点继续向第二存储节点发送第一数据。
如果第一存储节点在同步第一数据过程中突然中断且中断超过一定时间,则元数据管理模块认为第一存储节点已经失去连接,此时,元数据管理模块向第二存储节点发送请求,要求第二存储节点将当前同步完成状态的元数据上报给元数据管理模块,元数据管理模块将此元数据写入KVDB数据库,并将第一数据标记成不可用。一段时间以后,如果第一存储节点重新连接到存储系统,且第一存储节点与第二存储节点的网络带宽利用率低于设定阈值时,元数据管理模块重新发起第一存储节点与第二存储节点的同步,由于元数据管理模块记录了第一数据同步中断时的元数据,因此第一数据再次同步将从上次中断的地方开始进行。
(4)第二存储节点断开连接
若第二存储节点断开超过设定时长,则控制第一存储节点中断发送第一数据并上报当前同步状态;在第二存储节点恢复连接后,控制第一存储节点继续向第二存储节点发送第一数据;或者,在经过设定的中止时长后第二存储节点仍然没有恢复连接,从满足网络带宽利用率低于设定阈值条件的存储节点中确定第三存储节点,并控制第一存储节点向第三存储节点发送第一数据。
如果在第一数据同步进行的过程中第二存储节点失去连接超过一段时间,则元数据管理模块认为第二存储节点失去连接,此时,元数据管理模块向第一存储节点发送请求,要求第一存储节点将当前同步完成状态的元数据上报给元数据管理模块,元数据管理模块将此元数据写入KVDB数据库中,并标记此次同步失败。对于失败的同步,元数据模块会每隔一段时间重新检测第二存储节点的存活状态和网络连接状态,如果满足同步条件,则第一存储节点会接着从上一次的中断处继续发起数据同步。如果超过一段较长时间(例如两个小时)第二存储节点依然没有连接到存储系统,则元数据管理模块会重新从存储系统的其它存储节点中选择一个较优节点进行同步。
上述实施例中,在数据同步过程中,如果由于其他情况导致数据同步中断,通过记录当前同步完成状态的元数据,可以在恢复数据同步时从上次中断的地方开始续传,提高数据同步的效率。
实施例三
在上述技术方案的基础上,在控制第一存储节点向第二存储节点发送第一数据之前,如果出现以下情况,元数据管理模块将会重新选取数据同步的存储节点,或者重新选取要同步的数据,这些情况包括:
(1)第一存储节点断开连接
若第一存储节点断开超过设定时长,则从待同步的数据中确定第三数据所在的第四存储节点,第三数据是当前优先级最高的数据;控制第四存储节点向第二存储节点发送第三数据。
如果元数据管理模块向第一存储节点发出的同步请求,在一定时间内得不到第一存储节点的RESPONSE,则元数据管理模块认为第一存储节点失去连接,元数据模块会放弃此次同步任务,然后按优先级从待同步的数据中重新挑选当前优先级最高的数据来做同步。
(2)第二存储节点断开连接
若第二存储节点断开超过设定时长,则从满足网络带宽利用率低于设定阈值条件的存储节点中确定第五存储节点;控制第一存储节点向第五存储节点发送第一数据。
当元数据管理模块向第二存储节点发起同步请求以后,如果在一段时间之内没有收到第二存储节点的RESPONSE,则元数据管理模块认为第二存储节点失去连接,此时,元数据管理模块会向其他满足网络带宽利用率低于设定阈值条件的存储节点发送心跳检测请求,然后从返回响应的存储节点中重新挑选一个存储节点作同步节点,并向该存储节点发送同步请求。
上述实施例中,如果存储节点断开连接,可以及时变更待同步的数据或数据同步的收发方,提高数据同步的效率。
实施例四
图2为本发明实施例四提供的窄带宽条件下的数据同步装置的结构示意图,该装置包括:确定模块11、检测模块12和控制模块13,其中,确定模块11,用于从待同步的数据中确定第一数据所在的第一存储节点,所述第一数据是当前优先级最高的数据;检测模块12,用于检测所述第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值;所述确定模块11,还用于从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第二存储节点;控制模块13,用于控制所述第一存储节点向所述第二存储节点发送所述第一数据。
在上述技术方案的基础上,所述控制模块13,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若有第二数据需要同步,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据,所述第二数据是比所述第一数据优先级更高的数据;在所述第二数据同步完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
在上述技术方案的基础上,所述控制模块13,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若所述第一存储节点断开超过设定时长,则控制所述第二存储节点中断接收所述第一数据并上报当前同步状态;在所述第一存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
在上述技术方案的基础上,所述控制模块13,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若所述第二存储节点断开超过设定时长,则控制所述第一存储节点中断发送所述第一数据并上报当前同步状态;在所述第二存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据;或者,在经过设定的中止时长后所述第二存储节点仍然没有恢复连接,从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第三存储节点,并控制所述第一存储节点向所述第三存储节点发送所述第一数据。
在上述技术方案的基础上,所述控制模块13,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若有第三数据写入,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据;在所述第三数据写入完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
在上述技术方案的基础上,所述控制模块13,还用于在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,若所述第一存储节点断开超过设定时长,则从所述待同步的数据中确定第三数据所在的第四存储节点,所述第三数据是当前优先级最高的数据;控制所述第四存储节点向所述第二存储节点发送所述第三数据。
在上述技术方案的基础上,所述控制模块13,还用于在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,若所述第二存储节点断开超过设定时长,则从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第五存储节点;控制所述第一存储节点向所述第五存储节点发送所述第一数据。
在上述技术方案的基础上,所述检测模块11,具体用于采集所述第一存储节点与其他存储节点之间的输入数据量和输出数据量,计算输入带宽利用率和输出带宽利用率,并计算平均值得到所述网络带宽利用率;判断所述网络带宽利用率是否低于所述设定阈值。
实施例五
在上述技术方案的基础上,图3为本发明实施例五提供的窄带宽条件下的数据同步装置的结构示意图,该装置还包括:接收模块14,用于接收管理员通过终端设备设定的所述待同步的数据的优先级。
在上述技术方案的基础上,两个存储节点之间采用的传输协议是TCP协议。
本发明实施例所提供的窄带宽条件下的数据同步装置可执行本发明任意实施例所提供的窄带宽条件下的数据同步方法,具备执行方法相应的功能模块和有益效果。
实施例六
图4为本发明实施例六提供的服务器的结构示意图,如图4所示,该服务器包括处理器20、存储器21、输入装置22和输出装置23;服务器中处理器20的数量可以是一个或多个,图4中以一个处理器20为例;服务器中的处理器20、存储器21、输入装置22和输出装置23可以通过总线或其他方式连接,图4中以通过总线连接为例。
存储器21作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明实施例中的窄带宽条件下的数据同步方法对应的程序指令/模块。处理器20通过运行存储在存储器21中的软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述的窄带宽条件下的数据同步方法。
存储器21可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器21可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器21可进一步包括相对于处理器20远程设置的存储器,这些远程存储器可以通过网络连接至服务器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置22可用于接收输入的数字或字符信息,以及产生与服务器的用户设置以及功能控制有关的键信号输入。输出装置23可包括显示屏等显示设备。
实施例七
本发明实施例七还提供一种包含可执行指令的存储介质,所述可执行指令在由处理器执行时用于执行本发明任意实施例所提供的窄带宽条件下的数据同步方法中的相关操作。
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明实施例可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明实施例各个实施例所述的方法。
值得注意的是,上述装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明实施例的保护范围。
注意,上述仅为本发明实施例的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明实施例不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明实施例的保护范围。因此,虽然通过以上实施例对本发明实施例进行了较为详细的说明,但是本发明实施例不仅仅限于以上实施例,在不脱离本发明实施例构思的情况下,还可以包括更多其他等效实施例,而本发明实施例的范围由所附的权利要求范围决定。
Claims (9)
1.一种窄带宽条件下的数据同步方法,其特征在于,包括:
从待同步的数据中确定第一数据所在的第一存储节点,所述第一数据是当前优先级最高的数据;
检测所述第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值;
从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第二存储节点;
控制所述第一存储节点向所述第二存储节点发送所述第一数据;
所述第一存储节点与其他存储节点在网络空闲时进行数据同步;
在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若有第二数据需要同步,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据,所述第二数据是比所述第一数据优先级更高的数据;
在所述第二数据同步完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
2.根据权利要求1所述的方法,其特征在于,在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若所述第一存储节点断开超过设定时长,则控制所述第二存储节点中断接收所述第一数据并上报当前同步状态;
在所述第一存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
3.根据权利要求1所述的方法,其特征在于,在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若所述第二存储节点断开超过设定时长,则控制所述第一存储节点中断发送所述第一数据并上报当前同步状态;
在所述第二存储节点恢复连接后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据;或者,在经过设定的中止时长后所述第二存储节点仍然没有恢复连接,从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第三存储节点,并控制所述第一存储节点向所述第三存储节点发送所述第一数据。
4.根据权利要求1所述的方法,其特征在于,在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,还包括:
若有第三数据写入,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据;
在所述第三数据写入完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
5.根据权利要求1所述的方法,其特征在于,在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,还包括:
若所述第一存储节点断开超过设定时长,则从所述待同步的数据中确定第三数据所在的第四存储节点,所述第三数据是当前优先级最高的数据;
控制所述第四存储节点向所述第二存储节点发送所述第三数据。
6.根据权利要求1所述的方法,其特征在于,在所述控制所述第一存储节点向所述第二存储节点发送所述第一数据之前,还包括:
若所述第二存储节点断开超过设定时长,则从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第五存储节点;
控制所述第一存储节点向所述第五存储节点发送所述第一数据。
7.一种窄带宽条件下的数据同步装置,其特征在于,包括:
确定模块,用于从待同步的数据中确定第一数据所在的第一存储节点,所述第一数据是当前优先级最高的数据;
检测模块,用于检测所述第一存储节点与其他存储节点之间的网络带宽利用率是否低于设定阈值;
所述确定模块,还用于从满足网络带宽利用率低于所述设定阈值条件的存储节点中确定第二存储节点;
控制模块,用于控制所述第一存储节点向所述第二存储节点发送所述第一数据;
所述第一存储节点与其他存储节点在网络空闲时进行数据同步;
所述控制模块,还用于在所述第一存储节点向所述第二存储节点发送所述第一数据的过程中,若有第二数据需要同步,则控制所述第一存储节点中断向所述第二存储节点发送所述第一数据,所述第二数据是比所述第一数据优先级更高的数据;在所述第二数据同步完成后,控制所述第一存储节点继续向所述第二存储节点发送所述第一数据。
8.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-6中任一所述的窄带宽条件下的数据同步方法。
9.一种包含可执行指令的存储介质,其特征在于,所述可执行指令在由处理器执行时用于执行如权利要求1-6中任一所述的窄带宽条件下的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810651933.5A CN110636090B (zh) | 2018-06-22 | 2018-06-22 | 窄带宽条件下的数据同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810651933.5A CN110636090B (zh) | 2018-06-22 | 2018-06-22 | 窄带宽条件下的数据同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110636090A CN110636090A (zh) | 2019-12-31 |
CN110636090B true CN110636090B (zh) | 2022-09-20 |
Family
ID=68967213
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810651933.5A Active CN110636090B (zh) | 2018-06-22 | 2018-06-22 | 窄带宽条件下的数据同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110636090B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115174594B (zh) * | 2022-07-07 | 2024-03-29 | 广州炒米信息科技有限公司 | 分布式系统的数据同步方法、装置、设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336730A (zh) * | 2013-06-05 | 2013-10-02 | 中国人民解放军国防科学技术大学 | 一种基于云存储的数据备份方法及系统 |
CN104135539A (zh) * | 2014-08-15 | 2014-11-05 | 华为技术有限公司 | 数据存储方法、sdn控制器和分布式网络存储系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626314A (zh) * | 2009-08-07 | 2010-01-13 | 杭州华三通信技术有限公司 | 一种星型拓扑网络中心节点的备份方法和系统 |
CN102265277B (zh) * | 2011-06-01 | 2014-03-05 | 华为技术有限公司 | 数据存储系统的操作方法和装置 |
CA2769773C (en) * | 2011-11-04 | 2018-01-09 | Gemcom Software International Inc. | System and method for data communication over a network |
CN103761162B (zh) * | 2014-01-11 | 2016-12-07 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
CN105302817B (zh) * | 2014-06-25 | 2019-10-01 | 苏宁云计算有限公司 | 分布式文件系统管理方法和装置 |
CN104104735A (zh) * | 2014-08-06 | 2014-10-15 | 汉柏科技有限公司 | 利用空闲带宽进行数据备份的方法及系统 |
CN105930498A (zh) * | 2016-05-06 | 2016-09-07 | 中国银联股份有限公司 | 一种分布式数据库的管理方法及系统 |
CN107465706B (zh) * | 2016-06-06 | 2021-06-18 | 中国船舶工业系统工程研究院 | 一种基于无线通信网络的分布式数据对象存储装置 |
-
2018
- 2018-06-22 CN CN201810651933.5A patent/CN110636090B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336730A (zh) * | 2013-06-05 | 2013-10-02 | 中国人民解放军国防科学技术大学 | 一种基于云存储的数据备份方法及系统 |
CN104135539A (zh) * | 2014-08-15 | 2014-11-05 | 华为技术有限公司 | 数据存储方法、sdn控制器和分布式网络存储系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110636090A (zh) | 2019-12-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3518110B1 (en) | Designation of a standby node | |
US11320991B2 (en) | Identifying sub-health object storage devices in a data storage system | |
CN111459749B (zh) | 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质 | |
JP5872731B2 (ja) | クラスタの複数のノードのそれぞれに対してリンクの障害の検出を伝えるためのコンピュータ実装方法、非一時的なコンピュータ可読媒体およびコンピュータシステム | |
WO2021129477A1 (zh) | 一种数据同步的方法及相关设备 | |
EP3361703B1 (en) | Load balancing method, related device and system | |
CN109842651A (zh) | 一种业务不间断的负载均衡方法和系统 | |
CN106411629B (zh) | 一种用于监控cdn节点的状态的方法和设备 | |
US20110161520A1 (en) | Storage system for optimally controlling a plurality of data transfer paths and method therefor | |
CN110351313B (zh) | 数据缓存方法、装置、设备及存储介质 | |
CN111552701B (zh) | 确定分布式集群中数据一致性的方法及分布式数据系统 | |
CN103581276A (zh) | 集群管理装置、系统、业务客户端及相应方法 | |
CN104954444B (zh) | 一种迁移缓存数据的方法及设备 | |
CN108512753B (zh) | 一种集群文件系统中消息传输的方法及装置 | |
CN115827774A (zh) | 数据同步方法及计算设备 | |
CN113703917B (zh) | 一种多集群资源数据处理系统与方法、非暂态存储介质 | |
CN110636090B (zh) | 窄带宽条件下的数据同步方法和装置 | |
CN113849127B (zh) | 基于san存储双活网络的仲裁方法、装置及电子设备 | |
CN113766013B (zh) | 一种会话创建方法、装置、设备及存储介质 | |
CN110225133A (zh) | 消息发送方法、节点、装置、系统及相关设备 | |
US9544371B1 (en) | Method to discover multiple paths to disk devices cluster wide | |
CN117931512A (zh) | 基于云存储的自适应容错方法、装置、设备以及存储介质 | |
CN111881083A (zh) | 一种文件同步方法、装置、设备及介质 | |
CN115378962B (zh) | 一种基于iSCSI协议的存储集群的高可用性连通方法和系统 | |
EP4198701A1 (en) | Active-active storage system and data processing method based on same |
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 |