CN112540966A - 一种文件同步的方法及装置 - Google Patents
一种文件同步的方法及装置 Download PDFInfo
- Publication number
- CN112540966A CN112540966A CN201910900849.7A CN201910900849A CN112540966A CN 112540966 A CN112540966 A CN 112540966A CN 201910900849 A CN201910900849 A CN 201910900849A CN 112540966 A CN112540966 A CN 112540966A
- Authority
- CN
- China
- Prior art keywords
- node
- slave nodes
- slave
- master node
- nodes
- 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 83
- 230000004044 response Effects 0.000 claims abstract description 185
- 230000005540 biological transmission Effects 0.000 claims abstract description 60
- 238000004891 communication Methods 0.000 claims description 42
- 230000003139 buffering effect Effects 0.000 claims description 32
- 238000004590 computer program Methods 0.000 claims description 12
- 230000001360 synchronised effect Effects 0.000 claims description 12
- 238000005192 partition Methods 0.000 description 116
- 238000012545 processing Methods 0.000 description 39
- 230000008569 process Effects 0.000 description 18
- 238000010586 diagram Methods 0.000 description 16
- 238000012544 monitoring process Methods 0.000 description 15
- 230000006870 function Effects 0.000 description 7
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000010076 replication Effects 0.000 description 3
- 239000013307 optical fiber Substances 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000001105 regulatory effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Classifications
-
- 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/17—Details of further file system functions
- G06F16/178—Techniques for file synchronisation in file systems
-
- 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/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- 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
- G06F16/1824—Distributed file systems implemented using Network-attached Storage [NAS] architecture
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供一种文件同步的方法及装置,包括:主节点按第一发送速度,向从节点发送第一写请求;主节点接收从节点发送的至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存;在满足限速条件的情况下,以第二发送速度向从节点发送第二写请求;第二发送速度小于第一发送速度;限速条件为:未向所述主节点发送n个响应的从节点数量超过设定的节点数量阈值,和/或未向所述主节点发送n个响应的至少一个从节点发送的响应数量平均值小于设定响应阈值。因主节点调控向从节点发送写请求的速度,控制了进行同步的节点的落后程度,缓解因某些节点故障而一段时间内无法写入的问题。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种文件同步的方法及装置。
背景技术
为了便于文件管理,分布式网络系统中一般可以包括多个分区,每个分区中包括至少一个节点,在同一个分区内的节点中保存有相同的文件副本。
为了保证分布式网络系统的稳定性以及可靠性,系统需要对某个分区中的文件进行写请求时,通常需要将写请求发送到对应分区中的所有节点上,使所述分区中所有节点全部执行所述写请求,保证所述分区中的所有节点的数据具有一致性。这样,当该分区中的某个节点故障时,可以通过该分区中的其他节点进行数据修复,同时,若系统需要读写该分区内文件时,其他节点可以继续执行相应操作,从而提升了整个分布式网络系统的可用性(Availability)。
现有技术中系统一般采用Raft协议执行写操作。所述Raft协议是一种通过日志的复制,使得包含2N+1个节点的分区中,有N+1个节点正常则能正常提供服务,从而实现分布式系统一致性的一种算法。现有Raft协议写数据的流程为:如图1所示,分布式网络系统的任一分区中有2N+1(N>=1)个节点,其中包含1个主节点(Leader)和2N个从节点(Follower)。Leader收到客户端发送的写请求后,会将所述写请求记录到本地日志中,同时,还会将所述写请求以日志的形式发送给所述分区中的Follower。所述分区中的Follower将接收到的日志中的写请求记录到本地日志以实现日志同步,并在完成日志同步后发送一个回复给Leader。当Leader接收到N+1(包括Leader自己)个回复后,对客户端进行响应,以通知客户端分区接收并成功处理该写请求。
上述分布式网络系统进行写请求的方法存在的主要问题是:由于Leader收到N+1个节点(A类节点,即分区中日志同步较快的节点)的回复后就会返回,剩下的N个节点(B类节点,即分区中日志同步较慢的节点)在日志同步过程中可能会有落后。与此同时,随着接收到的写操作请求越来越多,分区中节点进行日志同步的落后程度将越来越大。而一旦A类节点中有部分节点故障,会在一段时间内,Leader无法收到N+1个回复。而B类节点因落后较大,不能及时顶替A类节点向Leader发送回复,从而导致长时间不能向客户端进行响应,大大增加了响应时延。
发明内容
本申请提供一种文件同步的方法及设备,用以避免现有技术分布式网络系统进行文件同步时节点间同步进度相差较大的问题。
第一方面,本申请实施例提供一种文件同步的方法,包括:
主节点按照第一发送速度,向m个从节点中的每个从节点发送n个第一写请求,其中,所述主节点与所述m个从节点保存有相同的文件,所述n个第一写请求用于对所述文件进行写操作,n、m为大于1的整数;所述主节点分别从p个从节点接收至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存,p为小于或等于m的正整数;在满足限速条件的情况下,所述主节点以第二发送速度向所述从节点发送f个第二写请求;其中,所述第二发送速度小于所述第一发送速度;所述限速条件为第一从节点的数量低于设定的节点数量阈值,和/或所述主节点接收的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
基于该方案,本申请实施例中在进行文件同步过程中,所述主节点先将接收到的客户端发送的写请求进行存储,然后按照一定的速度向从节点以日志的形式发送写请求,并监控从节点同步的状态,当所述从节点同步状态满足限速条件时,调控所述主节点以日志形式向从节点发送写请求的速度,以实现控制进行同步的节点的落后程度,从而缓解在某些节点故障后,系统在一段时间内无法写入的问题。
在一种可能的实现方式中,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
在一种可能的实现方式中,所述第二发送速度为预设的,或者为所述主节点根据所述第一发送速度和速度差得到的,所述速度差为所述主节点根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
在一种可能的实现方式中,所述主节点向m个从节点中的每个从节点发送n个第一写请求之前,所述主节点从本地缓存的写请求中读取所述n个第一写请求;或所述主节点从外部的存储设备接收所述n个第一写请求。
在一种可能的实现方式中,所述主节点分别向m个从节点发送n个第一写请求之前,所述主节点将所述n个第一写请求存储到本地日志中。
第二方面,本申请实施例还提供一种文件同步的方法,包括:
缓冲设备按照第一发送速度,向主节点发送n个第一写请求,其中,所述n个第一写请求用于对所述文件进行写操作,n为大于1的整数;所述缓冲设备获取所述主节点接收的响应;在满足限速条件的情况下,所述缓冲设备以第二发送速度向所述主节点发送f个第二写请求;其中,任一个响应对应一个第一写请求,任一个从节点发送的任一个响应表示所述第一写请求已保存;所述第二发送速度小于所述第一发送速度;所述限速条件为第一从节点的数量低于设定的节点数量阈值,和/或所述缓冲设备从所述主节点获取的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
基于该方案,本申请实施例中在进行文件同步过程中,所述缓冲设备先将接收到的客户端发送的写请求进行存储,然后按照一定的速度发送给主节点,然后主节点再将接收到的写请求向从节点以日志的形式发送。所述缓冲设备监控从节点同步的状态,当所述从节点同步状态满足限速条件时,调控向所述主节点发送写请求的速度,以实现控制进行同步的节点的落后程度,从而缓解在某些节点故障后,系统在一段时间内无法写入的问题。
在一种可能的实现方式中,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
在一种可能的实现方式中,所述第二发送速度为预设的,或者为所述主节点根据所述第一发送速度和速度差得到的,所述速度差为所述缓冲设备根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
在一种可能的实现方式中,所述缓冲设备按照第一发送速度,向主节点发送n个第一写请求之前,还包括:所述缓冲设备从本地缓存的写请求中读取所述n个第一写请求;或所述缓冲设备从外部的存储设备接收所述n个第一写请求。
在一种可能的实现方式中,所述缓冲设备通过下列方式确定是否满足限速条件:所述缓冲设备获取所述主节点中用于存储各个从节点已经同步日志的数组;所述缓冲设备根据所述数组确定所述从节点的同步状态,并根据所述同步状态确定是否满足限速条件。
第三方面,本申请实施例提供了一种文件同步的装置,该装置可以用来执行上述第一方面及第一方面的任意可能的实现方式中的操作。例如,装置可以包括用于执行上述第一方面或第一方面的任意可能的实现方式中的各个操作的模块单元;和/或,该装置可以用来执行上述第二方面及第二方面的任意可能的实现方式中的操作,例如,装置可以包括用于执行上述第二方面或第二方面的任意可能的实现方式中的各个操作的模块单元。
第四方面,本申请实施例提供了一种文件同步的装置,该装置包括:处理器、收发器,可选的还包括存储器。其中,处理器、收发器和存储器之间通过内部连接通路互相通信。存储器用于存储指令,处理器用于执行所述存储器存储的指令。当处理器执行存储器存储的指令时,上述执行使得装置执行上述第一方面或第一方面的任意可能的实现方式中的任一方法;和/或,使得装置执行上述第二方面或第二方面的任意可能的实现方式中的任一方法。
第五方面,本申请实施例提供了一种芯片系统,包括处理器,可选的还包括存储器;其中,存储器用于存储计算机程序,处理器用于从存储器中调用并运行计算机程序,使得安装有芯片系统的通信设备执行上述第一方面或第一方面的任意可能的实现方式中的任一方法;和/或,使得安装有芯片系统的通信设备执行上述第二方面或第二方面的任意可能的实现方式中的任一方法。
第六方面,本申请实施例提供了一种计算机程序产品,计算机程序产品包括:计算机程序代码,当计算机程序代码被通信设备的通信单元、处理单元或收发器、处理器运行时,使得通信设备执行上述第一方面或第一方面的任意可能的实现方式中的任一方法;和/或,使得通信设备执行上述第二方面或第二方面的任意可能的实现方式中的任一方法。
第七方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质存储有程序,程序使得通信设备(例如,终端设备或网络设备)执行上述第一方面或第一方面的任意可能的实现方式中的任一方法;和/或,使得通信设备执行上述第二方面或第二方面的任意可能的实现方式中的任一方法。
第八方面,本申请实施例提供了一种计算机程序,计算机程序在某一计算机上执行时,将会使得计算机实现上述第一方面或第一方面的任意可能的实现方式中的任一方法;和/或,使得计算机实现上述第二方面或第二方面的任意可能的实现方式中的任一方法。
附图说明
图1为现有通过Raft协议写数据的流程示意图;
图2为本申请提供的第一种文件同步的系统架构示意图;
图3为本申请提供的一种主节点中缓冲模块的构造示意图;
图4为本申请提供的第一种文件同步的方法示意图;
图5为本申请提供的一种通过系统一进行文件同步示意图;
图6为本申请提供的一种通过系统一实现文件同步的流程示意图;
图7为本申请提供的第二种文件同步的系统架构示意图;
图8为本申请提供的一种缓冲设备的构造示意图;
图9为本申请提供的第二种文件同步的方法示意图;
图10为本申请提供的一种通过系统二进行文件同步示意图;
图11为本申请提供的一种通过系统二实现文件同步的流程示意图;
图12为本申请提供的第一种文件同步的装置示意图;
图13为本申请提供的第二种文件同步的装置示意图;
图14为本申请提供的第三种文件同步的装置示意图;
图15为本申请提供的第四种文件同步的装置示意图。
具体实施方式
为了便于文件管理,分布式网络系统中一般可以包括多个分区,每个分区中包括至少一个节点,在同一个分区内的节点中保存有相同的文件副本。为了保证分布式网络系统的稳定性以及可靠性,系统需要对某个分区中的文件进行写请求时,通常需要将写请求发送到对应分区中的所有节点上,使所述分区中所有节点全部执行所述写请求,保证所述分区中的所有节点的数据具有一致性。这样,当该分区中的某个节点故障时,可以通过该分区中的其他节点进行数据修复,同时,若系统需要读写该分区内文件时,其他节点可以继续执行相应操作,从而提升了整个分布式网络系统的可用性(Availability)。
目前,现有技术中系统一般采用Raft协议执行写操作。所述Raft协议是一种通过日志的复制,使得包含2N+1个节点的分区中,只要满足有N+1个节点正常反馈则能正常提供服务,从而实现分布式系统一致性的一种算法。
其中,现有Raft协议写数据的流程为:如图1所示,分布式网络系统的任一分区中有2N+1(N>=1)个节点,其中包含1个主节点(Leader)和2N个从节点(Follower)。Leader收到客户端发送的写请求后,会将所述写请求记录到本地日志中,同时,还会将所述写请求以日志的形式发送给所述分区中的Follower。所述分区中的Follower将接收到以日志形式发送的写请求记录到本地日志以实现日志同步,并在完成日志同步后发送一个回复给Leader。当Leader接收到N+1(包括Leader自己)个回复后,对客户端进行响应,以通知客户端分区接收并成功处理该写请求。
但是,上述分布式网络系统进行写请求的方法存在的主要问题是:由于Leader收到N+1个节点的回复后就会返回,剩下的N个节点在日志同步过程中可能会有落后。与此同时,随着接收到的写操作请求越来越多,分区中节点进行日志同步的落后程度将越来越大。而一旦节点中有部分节点故障,会在一段时间内,Leader无法收到N+1个回复。而因剩余节点落后较大,不能及时完成同步向Leader发送回复,从而导致长时间不能向客户端进行响应,大大增加了响应时延。
为解决该问题,本申请实施例提供一种文件同步的方法,可应用于任何需要文件同步的分布式网络架构中。本申请实施例的基础思想就是在分布式网络架构中进行文件同步的系统中增加请求缓冲模块,通过调控主节点向从节点发送写请求的速度来控制进行同步的节点的落后程度,从而缓解在某些节点故障后,系统在一段时间内无法写入的问题。
以下,对本申请实施例中的名词进行解释说明,以便于理解。
1)Raft协议,是一种分布式算法,主要用于解决分布式中的一致性问题。其中,Raft算法与其它算法相比的一个独特性为所述Raft使用一种更强的领导能力形式。比如,日志条目只从领导者发送给其他的服务器。这种方式简化了对复制日志的管理并且使得Raft算法更加易于理解。
2)A类节点,是指在分区中日志同步较快的节点,可以理解为当分布式网络系统某一具有2N+1(N>=1)个节点的分区中,前N个向主节点反馈信息的节点。
例如,假设分布式网络系统中的某一分区中有9个节点,分别为节点0~节点8,其中,节点0为所述分区中的主节点。当客户端向所述分区中的节点进行文件同步过程中,所述客户端先向所述主节点发送写请求1,所述主节点接收到所述写请求1后,将所述写请求1存储到本地日志中,再将所述写请求1以日志的形式向所述分区中的其他节点进行发送,即向节点1~节点8发送,若所述主节点最先接收到节点1、节点3~5的反馈信息,则可以将所述节点1、节点3~5理解为A类节点。
同理,B类节点,是指在分区中日志同步较慢的节点,可以理解为当分布式网络系统某一具有2N+1(N>=1)个节点的分区中,后N个向主节点反馈信息或者未反馈信息的节点。例如,上述例子中的节点2、节点6~8。
3)本申请实施例中的术语“系统”和“网络”可被互换使用。“至少一个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。字符“以是一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)下或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。
除非有相反的说明,本申请实施例提及“第一”、“第二”等序数词是用于对多个对象进行区分,不用于限定多个对象的顺序、时序、优先级或者重要程度。例如,第一写请求和第二写请求,只是为了区分不同的写请求,而并不是表示这两种写请求的内容或者重要程度等的不同。
此外,本申请实施例和权利要求书及附图中的术语“包括”和“具有”不是排他的。例如,包括了一系列步骤或模块的过程、方法、系统、产品或设备,不限定于已列出的步骤或模块,还可以包括没有列出的步骤或模块。
其中,本申请实施例中所述主节点主要是由所述分布式网络系统通过选举产生的,用于接收客户端发送的写请求,并将所述接收到的写请求记录到本地日志中以及将所述写请求以日志的形式发送给从节点。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于设备实施例或系统实施例中。其中,在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。
进一步的,本申请实施例中在进行文件同步时,进行文件同步的系统可以有多种,下面分别进行介绍。
实施例一:
本申请实施例一中进行文件同步时,主要采用如图2所示的进行文件同步的系统一的系统架构,其中,所述系统一包括:客户端200、包含有缓冲模块的主节点201以及分区中的从节点202。
其中,客户端200,是一种向用户提供语音和/或数据连通性的设备,也可以称为用户设备(user equipment,UE)、接入终端、用户单元、用户站、移动站、移动台、远方站、远程终端、移动设备、用户终端、终端、无线通信设备、用户代理或用户装置。本申请的实施例中的终端可以是手机(mobile phone)、平板电脑(Pad)、带无线收发功能的电脑、虚拟现实(virtual reality,VR)终端、增强现实(augmented reality,AR)终端、工业控制(industrial control)中的无线终端、无人驾驶(self driving)中的无线终端、远程医疗(remotemedical)中的无线终端、智能电网(smart grid)中的无线终端、运输安全(transportation safety)中的无线终端、智慧城市(smart city)中的无线终端、智慧家庭(smart home)中的无线终端等等。
主节点201,是指在分布式系统中具备全部同步能力的节点,具体包括针对分区中全部节点的管理能力、同步能力、共识能力等。其中,所述主节点201中包含有缓冲模块,用于在收到所述客户端200发送的写请求之后,将所述写请求先缓存到所述缓冲模块中,然后根据所述分区中所有节点当前的同步状态,以一定的速度从缓存模块中取出写请求,存储到本地日志中以及以日志的形式同步到分区中的从节点。
进一步的,所述主节点201还用于维护一个同步数组matchIndex,数组里面保存了所在分区中的所有从节点已经同步日志的索引(index)的值,由此可以通过下述公式1计算得到部分或全部从节点日志落后的平均条数P。
其中,所述P表示所述分区中部分或全部从节点未完成日志同步的平均条数,k表示节点的标识,n表示节点数量。
从节点202,是指在分布式系统中只具备部分同步能力的节点,具体包括部分节点管理能力、部分同步能力和通信能力。
进一步的,本申请实施例中的所述主节点201中的缓冲模块的构造可以如图3所示,包括存储单元300、请求处理单元301和控制单元302。
其中,所述存储单元300用于缓存所述主节点201接收到的客户端发送的写请求,所述存储单元中可设有请求队列,且所述请求队列大小可设置,即按照所述主节点201接收到的写请求的顺序存储对应的写请求。
可选的,所述存储单元300还可设置一个存储阈值,当所述存储单元300中存储写请求所占用的存储资源不小于所述存储阈值时,则可通过所述主节点通知所述客户端负载过重;或当所述存储单元300中所设存储队列快满时,则可通过所述主节点通知所述客户端负载过重。
所述请求处理单元301用于负责按照一定的速度从所述存储单元300中的请求队列中取出请求,发送给所述主节点201中的处理器进行处理,其中,所述主节点201中的处理器主要用于执行日志同步功能。
可选的,本申请实施例进行文件同步初始状态时,所述请求处理单元301可以按照最大速率进行处理。
所述控制单元302用于负责实时监控所在分区中各个节点的落后状态,或每隔阈值时长统计所述阈值时长内所述分区中各个节点的落后状态。其中,所述控制单元302可以通过调取所述主节点201中的matchIndex数组信息来监控所述分区中各个节点的落后状态;当满足设定的限速条件后,调整所述请求处理单元301从所述存储单元300中调取请求的速度。也就是说,当所述分区中存在部分从节点落后太多时,所述控制单元302减慢所述请求处理单元301的处理速度,使所述从节点的落后程度能控制在一定范围内,从而缓解在某些节点故障后,系统在一段时间内无法写入的问题。
如图4所示,本发明实施例一基于所述系统一提供的一种文件同步的方法,该方法包括:
步骤400,主节点按照第一发送速度,向m个从节点中的每个从节点发送n个第一写请求,其中,所述主节点与所述m个从节点保存有相同的文件,所述n个第一写请求用于对所述文件进行写操作,n、m为大于1的整数;
步骤401,所述主节点分别从p个从节点接收至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存,p为小于或等于m的正整数;
步骤402,在满足限速条件的情况下,所述主节点以第二发送速度向所述从节点发送f个第二写请求;
需要说明的是,其中,所述第二发送速度小于所述第一发送速度;所述限速条件为第一从节点的数量低于设定的节点数量阈值,和/或所述主节点接收的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
其中,本申请实施例中所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。k为小于或等于m的正整数,a、b为小于或等于k的正整数。
例如,假设分区中共有7个节点,分别为节点0~6,其中,所述节点0为主节点。本申请实施例一中所述客户端向所述主节点发送了大量的写请求,如图5所示,所述主节点接收到所述写请求后将所述写请求存储到所述请求队列中,且假设当前所述请求队列中已存储了40条写请求。
然后,所述主节点中的请求处理单元从所述请求队列中按照第一发送速度向所述分区中的从节点以日志的形式发送写请求,例如所述第一发送速度为以日志的形式每秒向所述分区中的从节点发送6条写请求。所述从节点1~6在接收到所述主节点以日志形式发送的写请求后,所述从节点1~6中的任一从节点在每次成功完成一条写请求日志同步后向所述主节点发送一个响应。期间,所述控制单元实时监控所述从节点1~所述从节点6的同步状态。若所述控制单元根据监控结果确定满足限速条件,则调整所述请求处理单元的发送速度,指示所述请求处理单元从所述请求队列中按照第二发送速度,例如降为每秒以日志形式向所述分区中的从节点发送4条写请求。
进一步的,本申请实施例一中的限速条件可以有多种,具体并不限于下述几种:
限速条件1:第一从节点数量低于设定的节点数量阈值。其中,所述第一从节点为所述分区的从节点中所述主节点接收到的响应的数量等于所述主节点发送写请求数量的从节点,即所述第一从节点为所述分区中已完成文件同步的从节点。
例如,假设分区中共有7个节点,分别为节点0~6,所述节点0为主节点,且为了确定是否满足限速条件所设定的节点阈值为3。在进行文件同步过程中,所述主节点中的请求处理单元从所述请求队列中按照第一发送速度向所述分区中的从节点以日志的形式发送写请求,所述控制单元实时监控节点1~节点6的同步状态。假设当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求,其中,所述控制单元的监控结果如表1所示,则可以从表1中得出当前第一从节点的数量为1个,低于所述节点阈值3,确定满足限速条件。因此,本申请实施例一中所述控制单元将所述请求处理单元的发送速度降低为第二发送速度,例如将以日志的形式每秒向所述分区中的从节点发送6条写请求降为以日志的形式每秒向所述分区中的从节点发送4条写请求。
节点 | 发送的响应数量 |
节点1 | 12 |
节点2 | 8 |
节点3 | 6 |
节点4 | 4 |
节点5 | 5 |
节点6 | 4 |
表1分区中从节点向分区中主节点发送响应数量的监控结果
限速条件2:所述主节点接收的来自多个从节点的响应的数量的平均值小于阈值。其中,本申请实施例一中所述多个从节点为所述分区中的全部或部分第二从节点,且为方便描述以及区分,本申请实施例一中将“所述多个从节点”统称为“所述目标从节点”。所述第二从节点为所述分区的从节点中所述主节点接收到的响应的数量小于所述主节点发送写请求数量的从节点,即所述第二从节点为所述分区中未完成文件同步的从节点。
其中,本申请实施例中所述目标从节点可以设置为以下几种情况:
设置1:所述目标从节点为所述分区中所有的第二从节点,即所述分区中发送响应的数量小于所述主节点发送写请求数量的从节点。
例如,假设分区中共有7个节点,分别为节点0~6,所述节点0为主节点,本申请实施例一中为了确定是否满足限速条件所设定的响应阈值为8。在进行文件同步过程中,所述主节点中的请求处理单元从所述请求队列中按照第一发送速度向所述分区中的从节点以日志的形式发送写请求,所述控制单元实时监控节点1~节点6的同步状态。假设当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求,其中,所述控制单元的监控结果如上述表1所示,则可以从表1中得出当前落后同步的节点为节点2~节点6,即所述目标节点为节点2~节点6。而所述目标节点2~节点6所发送的响应平均值为7,小于设定的响应阈值8,确定满足限速条件。因此,本申请实施例中所述控制单元将所述请求处理单元的发送速度降低为第二发送速度,例如将以日志的形式每秒向所述分区中的从节点发送6条写请求降为以日志的形式按照每秒向所述分区中的从节点发送4条写请求。
设置2:所述目标从节点为k个所述第二从节点中所述主节点接收的响应数量最少的a个从节点,其中,k为小于或等于所述分区中第二节点数量的正整数,a为小于或等于k的正整数。
例如,假设分区中共有7个节点,分别为节点0~6,所述节点0为主节点,本申请实施例一中为了确定是否满足限速条件所设定的响应阈值为8,且假设所述目标从节点为所有第二节点中发送响应数量最少的2个从节点。在进行文件同步过程中,所述主节点中的请求处理单元从所述请求队列中按照第一发送速度向所述分区中的从节点以日志的形式发送写请求,所述控制单元实时监控节点1~节点6的同步状态。假设当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求,其中,所述控制单元的监控结果如上述表1所示,则可以从表1中得出当前第二从节点为节点2~节点6,且所述节点2~节点6中发送响应数量最少的2个从节点为节点4和节点6。即所述目标节点为节点4和节点6,而所述目标节点4和节点6所发送的响应平均值为4,小于设定的响应阈值8,确定满足限速条件。因此,本申请实施例一中所述控制单元将所述请求处理单元的发送速度降低为第二发送速度,例如将以日志的形式每秒向所述分区中的从节点发送6条写请求降为以日志的形式按照每秒向所述分区中的从节点发送4条写请求。
设置3:所述目标从节点为k个所述第二从节点中所述主节点接收的响应数量最多的b个从节点,其中,k为小于或等于所述分区中第二节点数量的正整数,b为小于或等于k的正整数。
例如,假设分区中共有7个节点,分别为节点0~6,所述节点0为主节点,本申请实施例一中为了确定是否满足限速条件所设定的响应阈值为8,且假设所述目标从节点为所有第二从节点中发送响应数量最多的2个从节点。在进行文件同步过程中,所述主节点中的请求处理单元从所述请求队列中按照第一发送速度向所述分区中的从节点以日志的形式发送写请求,所述控制单元实时监控节点1~节点6的同步状态。假设当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求。其中,所述控制单元的监控结果如上述表1所示,则可以从表1中得出当前第二从节点为节点2~节点6,且所述节点2~节点6中发送响应数量最多的2个从节点为节点2和节点3。即所述目标节点为节点2和节点3,而所述目标节点2和节点3所发送的响应平均值为7,小于设定的响应阈值8,确定满足限速条件。因此,本申请实施例一中所述控制单元将所述请求处理单元的发送速度降低为第二发送速度,例如将以日志的形式每秒向所述分区中的从节点发送6条写请求降为以日志的形式按照每秒向所述分区中的从节点发送4条写请求。
需要说明的是,本申请实施例中的限速条件还可以同时满足限速条件1和限速条件2。
进一步的,本发明实施例一中在满足限速条件需要降低第一发送速度时,可根据下列方式确定降低后的发送速度,即所述第二发送速度。
示例性的,可通过如下公式2计算所述第二发送速度:
V2=V1-(T-K) 公式2
其中,所述V1表示第一发送速度,所述V2表示第二发送速度,T表示k个所述第二从节点发送的响应数量平均值,K表示预设的响应阈值。
示例性的,本申请实施例中还可以通过预设的方式确定所述第二发送速度,例如,预设一个调整值,假设所述预设的调整值为每秒发送1个写请求,当前第一发送速度为每秒发送5个写请求,则当满足限速条件后,将所述第一发送速度与所述预设的调整值的差值确定为所述第二发送速度,即每秒发送4个写请求。
如图6所示,本发明实施例一通过系统一实现文件同步的流程,具体步骤包括:
步骤600:客户端向主节点发送写请求。
步骤601:所述主节点将接收到的写请求存储到所述主节点中的请求缓冲模块。
步骤602:所述请求缓冲模块按照第一发送速度调取存储的写请求发送给所述主节点中的日志同步模块。
步骤603:所述日志同步模块将接收到的写请求同步到本地日志中以及将所述写请求同步给从节点。
其中,所述从节点为所述主节点所在分区中除所述主节点外的其余节点。
步骤604:所述从节点接收主节点以日志形式发送的写请求,并同步到本地日志中。
步骤605:所述从节点在每成功同步一条接收到的写请求后向所述主节点发送一条响应。
步骤606:所述主节点接收从节点发送的响应。
步骤607:所述请求缓冲模块监控所述从节点的同步状态。
其中,所述请求缓冲模块可以根据所述主节点中的matchIndex数组监控所述从节点的同步状态。
步骤608:所述请求缓冲模块在确定所述从节点的同步状态满足限定条件后,确定调整后的发送速度为第二发送速度。
步骤609:所述请求缓冲模块按照第二发送速度调取存储的写请求发送给所述主节点中的日志同步模块,然后返回继续执行步骤607,直到完成文件同步。
实施例二:
本申请实施例二中进行文件同步时,主要采用如图7所示的进行文件同步的系统二的系统架构,其中,所述系统二包括:客户端700、缓冲设备701、主节点702以及分区中的从节点703。
其中,客户端700同上述实施例一中的客户端200,在此不进行赘述。
缓冲设备701,是指在分布式系统中具备存储和处理写请求功能的设备,具体包括针对客户端发送的写请求的存储管理能力、同步能力、监控能力等。其中,所述缓冲设备701位于所述客户端700与所述主节点702中间,用于在收到所述客户端700发送的写请求之后,将所述写请求先缓存到本地,然后根据所述分区中所有节点当前的状态,以一定的速度从本地取出写请求发送给所述主节点702。
进一步的,本申请实施例中的所述缓冲设备701的构造可以如图8所示,包括存储单元800、请求处理单元801和控制单元802。
其中,所述存储单元800用于缓存从客户端700接收到的写请求,所述存储单元800中可设有请求队列,且所述存储队列大小可设置,即按照从客户端700接收到的写请求的顺序存储对应的写请求。
可选的,所述存储单元800还可设置一个存储阈值,当所述存储单元800中存储写请求所占用的存储资源不小于所述存储阈值时,则可通知所述客户端负载过重;或当所述存储单元800中所设请求队列快满时,则可通知所述客户端负载过重。
所述请求处理单元801用于负责按照一定的速度从所述存储单元800中的请求队列中取出请求,发送给所述主节点702。可选的,本申请实施例进行文件同步初始状态时,所述请求处理单元801可以按照最大速率进行处理。
所述控制单元802用于负责实时监控所在分区中各个节点的落后状态,或每隔阈值时长统计所述阈值时长内所述分区中各个节点的落后状态,其中,所述控制单元802可以每隔阈值时长向所述主节点702发送获取所述主节点702中的matchIndex数组信息的指令,并接收所述主节点反馈的所述matchIndex数组信息,以此来监控所述分区中各个节点进行信息同步的状态;或者,所述控制单元802可以接收所述主节点每隔阈值时长发送的matchIndex数组信息,以此来监控所述分区中各个节点进行信息同步的状态等,获取需要说明的是,本申请实施例中并不限制所述控制单元802获取所述主节点中matchIndex数组信息的方式。所述控制单元802还用于在确定满足设定的限速条件后,调整所述请求处理单元801从所述存储单元800中调取请求的速度。也就是说,当所述分区中存在部分从节点落后太多时,所述控制单元802减慢所述请求处理单元801的处理速度,使所述从节点的落后程度能控制在一定范围内。
主节点702,是指在分布式系统中具备全部同步能力的节点,具体包括针对分区中全部节点的管理能力、同步能力、共识能力等。其中,所述主节点702用于在收到所述缓冲设备701发送的写请求之后,将接收到的写请求存储到本地日志中以及以日志的形式同步到分区中的从节点。
进一步的,所述主节点702还用于维护一个matchIndex数组,数组里面保存了所在分区中的所有从节点已经同步日志的index的值,由此可以通过本申请实施例一中所述的公式1计算得到部分或全部从节点日志落后的平均条数P。
从节点703,是指在分布式系统中只具备部分同步能力的节点,具体包括部分节点管理能力、部分同步能力和通信能力。
如图9所示,本发明实施例一提供的一种文件同步的方法,该方法包括:
步骤900,缓冲设备按照第一发送速度,向主节点发送n个第一写请求,其中,所述n个第一写请求用于对所述文件进行写操作,n为大于1的整数。
步骤901,所述缓冲模块调取所述主节点接收到的从节点响应结果;
步骤902,在满足限速条件的情况下,所述缓冲设备以第二发送速度向所述主节点发送f个第二写请求。
其中,任一个响应对应一个第一写请求,任一个从节点发送的任一个响应表示所述第一写请求已保存;所述第二发送速度小于所述第一发送速度;所述限速条件为第一从节点的数量低于设定的节点数量阈值,和/或所述缓冲设备从所述主节点获取的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
其中,本申请实施例中所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。k为小于或等于m的正整数,a、b为小于或等于k的正整数。
例如,假设分区中共有7个节点,分别为节点0~6,其中,所述节点0为主节点。本申请实施例中客户端通过缓冲设备向所述主节点发送了大量的写请求,如图10所示,所述缓冲设备先将客户端发送的写请求存储到本地的请求队列中,假设当前所述请求队列中已存储了40条写请求。
然后,所述缓冲设备按照第一发送速度将所述请求队列中写请求发送给所述主节点,例如所述缓冲设备以每秒6条写请求的速度向所述主节点发送写请求。所述主节点接收到所述写请求后,将所述写请求存储到本地日志中,并以日志的形式向节点1~6发送所述写请求。所述节点1~6在接收到所述主节点发送的写请求日志后,任一从节点在每次成功保存一条写请求后向所述主节点发送一个响应。
期间,所述缓冲设备实时监控节点1~节点6的同步状态。若所述控制单元根据监控结果确定满足限速条件,则调整向所述主节点发送写请求的发送速度,例如降为每秒发送4条写请求。
可选的,本申请实施二中,所述缓冲设备可以通过调取所述主节点的matchIndex数组信息来监控所述分区中各个节点的落后状态。
进一步的,本申请实施例二中的限速条件可以有多种,具体并不限于下述几种:
限速条件1:第一从节点数量低于设定的节点阈值,其中,所述第一从节点为所述分区的从节点中所述主节点接收到的响应的数量等于所述主节点发送写请求数量的从节点,即所述第一从节点为所述分区中已完成文件同步的从节点。
例如,假设本申请实施例中设定的节点阈值为3,则在上述如图10的基础上,所述缓冲设备通过调取所述主节点的matchIndex数组信息来监控节点1~节点6的同步状态,且当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求。假设,所述缓冲设备的监控结果如表2所示,则可以从表2中得出当前第一从节点数量为2个,低于所述节点阈值3,确定满足限速条件。因此,本申请实施例二中所述缓冲设备将向所述主节点发送写请求的发送速度降低为第二发送速度,例如所述第二发送速度为按照每秒4条写请求的发送速度向所述主节点发送写请求。
节点 | 发送的响应数量 |
节点1 | 12 |
节点2 | 12 |
节点3 | 8 |
节点4 | 6 |
节点5 | 10 |
节点6 | 4 |
表2分区中从节点向分区中主节点发送响应数量的监控结果
限速条件2:所述缓冲设备从所述主节点获取的来自多个从节点的响应的数量的平均值小于阈值。其中,本申请实施例二中所述多个从节点为所述分区中的全部或部分第二从节点,且为方便描述以及区分,本申请实施例二中将“所述多个从节点”统称为“所述目标从节点”。所述第二从节点为所述分区的从节点中所述主节点接收到的响应的数量小于所述主节点发送写请求数量的从节点,即所述第二从节点为所述分区中未完成文件同步的从节点。
其中,本申请实施例中所述目标从节点可以设置为以下几种情况:
设置1:所述目标从节点为所述分区中所有的第二从节点,即所述分区中发送响应的数量小于所述主节点发送写请求数量的从节点。
例如,假设本申请实施例中设定的响应阈值为7,则在上述如图10的基础上,所述缓冲设备监控节点1~节点6的同步状态,且当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求。假设,所述缓冲设备的监控结果如上述表2所示,则可以从表2中得出当前第二从节点为节点3~节点6,即所述目标节点为节点3~节点6,而所述目标节点3~节点6所发送的响应平均值为7,不小于设定的响应阈值7,则确定不满足限速条件。因此,继续通过第一发送速度向所述主节点发送写请求。反之,所述缓冲设备将所述发送速度降低为第二发送速度,例如所述第二发送速度为按照每秒4条写请求的发送速度向所述主节点发送写请求。
设置2:所述目标从节点为k个所述第二从节点中所述主节点接收的响应数量最少的a个从节点,其中,k为小于或等于所述分区中第二节点数量的正整数,a为小于或等于k的正整数。
例如,假设本申请实施例中设定的响应阈值为6,且假设所述目标从节点为所述分区中所有第二从节点中发送响应数量最少的2个从节点,则在上述如图10的基础上,所述缓冲设备监控节点1~节点6的同步状态,且当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求。假设,所述缓冲设备的监控结果如上述表2所示,则可以从表2中得出当前第二从节点为节点3~节点6,且所述节点3~节点6中发送响应数量最少的2个从节点为节点4和节点6。即所述目标节点为节点4和节点6,而所述目标节点4和节点6所发送的响应平均值为5,小于设定的响应阈值6,确定满足限速条件,因此,本申请实施例二中所述缓冲设备将发送速度降低为第二发送速度,例如所述第二发送速度为按照每秒4条写请求的发送速度向所述主节点发送写请求。
设置3:所述目标从节点为k个所述第二从节点中所述主节点接收的响应数量最多的b个从节点,其中,k为小于或等于所述分区中第二节点数量的正整数,b为小于或等于k的正整数。
例如,假设本申请实施例中设定的响应阈值为8,且假设所述目标从节点为所述分区中所有第二从节点中发送响应数量最多的2个从节点,则在上述如图9的基础上,所述缓冲设备监控节点1~节点6的同步状态,且当前所述主节点已通过日志形式向所述分区中的从节点发送了12条写请求。假设,所述缓冲设备的监控结果如上述表2所示,则可以从表2中得出当前第二从节点为节点3~节点6,且所述节点3~节点6中发送响应数量最多的2个从节点为节点3和节点5。即所述目标节点为节点3和节点5,而所述目标节点3和节点5所发送的响应平均值为9,大于设定的响应阈值8,确定不满足限速条件。因此,继续通过第一发送速度向所述主节点发送写请求。反之,所述缓冲设备将所述发送速度降低为第二发送速度,例如所述第二发送速度为按照每秒4条写请求的发送速度向所述主节点发送写请求。
需要说明的是,本申请实施例中的限速条件还可以同时满足限速条件1和限速条件2。
进一步的,本发明实施例中在满足限速条件需要降低第一发送速度时,可根据下列方式确定降低后的发送速度,即所述第二发送速度。
示例性的,上述实施例一中的公式2确定第二发送速度,即所述第二发送速度是所述主节点根据所述第一发送速度和速度差得到的,其中,所述速度差为所述主节点根据多个第二从节点发送的响应数量平均值与预设的响应阈值确定的。
示例性的,本申请实施例中还可以通过预设的方式确定所述第二发送速度,例如,预设一个调整值,假设所述预设的调整值为每秒发送1个写请求,当前第一发送速度为每秒发送5个写请求,则当满足限速条件后,将所述第一发送速度与所述预设的调整值的差值确定为所述第二发送速度,即每秒发送4个写请求。
如图11所示,本发明实施例二通过系统二实现文件同步的流程,具体步骤包括:
步骤1100:客户端向缓冲设备发送写请求;
步骤1101:所述缓冲设备将接收到的写请求存储到本地;
步骤1102:所述缓冲设备按照第一发送速度调取存储的写请求发送给主节点;
步骤1103:所述主节点将接收到的写请求同步到本地日志中以及将所述写请求同步给从节点;
其中,所述从节点为所述主节点所在分区中除所述主节点外的其余节点;
步骤1104:所述从节点接收主节点以日志形式发送的写请求,并同步到本地日志中;
步骤1105:所述从节点在每成功同步一条接收到的写请求后向所述主节点发送一条响应;
步骤1106:所述主节点接收从节点发送的响应,并更新所述主节点中的matchIndex数组;
其中,所述matchIndex数组用于存储各个从节点已完成写请求同步的index的值。
步骤1107:所述缓冲设备通过获取所述主节点中的matchIndex数组监控所述从节点的同步状态;
步骤1108:所述缓冲设备在确定所述从节点的同步状态满足限定条件后,确定调整后的发送速度为第二发送速度;
步骤1109:所述缓冲设备按照第二发送速度调取存储的写请求发送给所述主节点,然后返回继续执行步骤1107,直到完成文件同步。
需要说明的是,本申请实施例一与实施例二中针对文件同步的方法的相关描述内容可以相互引用,例如,本申请实施例二中系统二所介绍的主节点可以引用所述实施例一系统一所介绍的主节点。
通过上述对本申请方案的介绍,可以理解的是,上述实现各设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本发明能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
如图12所示,本申请一种文件同步的装置,该装置包括处理器1200、存储器1201和通信接口1202。
处理器1200负责管理总线架构和通常的处理,存储器1201可以存储处理器1200在执行操作时所使用的数据。通信接口1202用于处理器1200与存储器1201进行数据通信。
所述处理器1200可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。所述处理器1200还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。存储器1201可以包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
所述处理器1200、所述存储器1201以及所述通信接口1202之间相互连接。可选的,所述处理器1200、所述存储器1201以及所述通信接口1202可以通过总线1203相互连接;所述总线1203可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
具体地,所述处理器1200,用于读取存储器1201中的程序并执行:
通过所述通信接口按照第一发送速度,向m个从节点中的每个从节点发送n个第一写请求,其中,所述主节点与所述多个从节点保存有相同的文件,所述n个第一写请求用于对所述文件进行写操作,所述n、所述m为大于1的整数;通过所述通信接口分别从p个从节点接收至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存,所述p为小于或等于所述m的正整数;在满足限速条件的情况下,所述主节点以第二发送速度向所述从节点发送f个第二写请求;
其中所述第二发送速度小于所述第一发送速度;所述限速条件为:来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
在一种可能的实现方法中,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
在一种可能的实现方法中,所述第二发送速度为预设的,或者为所述主节点根据所述第一发送速度和速度差得到的,所述速度差为所述主节点根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
在一种可能的实现方法中,所述存储器1201具体用于:
缓存接收的第一写请求;
所述处理器1200还用于:
从所述存储器中读取所述n个第一写请求;或,
所述处理器1200还用于:
通过所述通信接口从外部的存储设备接收所述n个第一写请求。
在一种可能的实现方法中,所述处理器1200还用于:
将所述n个第一写请求存储到本地日志中。
如图13所示,本发明提供一种文件同步的装置,该装置包括:
请求缓冲模块1300:用于按照第一发送速度,通过日志同步模块1301向m个从节点中的每个从节点发送n个第一写请求,其中,所述主节点与所述m个从节点保存有相同的文件,所述n个第一写请求用于对所述文件进行写操作,n、m为大于1的整数;获取所述日志同步模块1301接收到的响应,在满足限速条件的情况下,以第二发送速度向所述从节点发送F个第二写请求;
日志同步模块1301:用于分别从p个从节点接收至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存,p为小于或等于m的正整数;
其中,所述第二发送速度小于所述第一发送速度;所述限速条件为:第一从节点的数量低于设定的节点数量阈值,和/或所述主节点接收的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
在一种可能的实现方法中,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
在一种可能的实现方法中,所述第二发送速度为预设的,或者为所述主节点根据所述第一发送速度和速度差得到的,所述速度差为所述主节点根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
在一种可能的实现方法中,所述请求缓冲模块1300还用于:
从本地缓存的写请求中读取所述n个第一写请求;或从外部的存储设备接收所述n个第一写请求。
在一种可能的实现方法中,所述请求缓冲模块1300还用于:
将所述n个第一写请求存储到本地日志中。
如图14所示,本申请另一种文件同步的装置,该装置包括处理器1400、存储器1401和通信接口1402。
处理器1400负责管理总线架构和通常的处理,存储器1401可以存储处理器1400在执行操作时所使用的数据。通信接口1402用于处理器1400与存储器1401进行数据通信。
所述处理器1400可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP)或者CPU和NP的组合。所述处理器1400还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。存储器1401可以包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
所述处理器1400、所述存储器1401以及所述通信接口1402之间相互连接。可选的,所述处理器1400、所述存储器1401以及所述通信接口1402可以通过总线1403相互连接;所述总线1403可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图14中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
具体地,所述处理器1400,用于读取存储器1401中的程序并执行:
通过所述通信接口按照第一发送速度,向主节点发送n个第一写请求,其中,所述n个第一写请求用于对所述文件进行写操作,n为大于1的整数;获取所述主节点接收的响应;在满足限速条件的情况下,以第二发送速度向所述主节点发送f个第二写请求;
其中,任一个响应对应一个第一写请求,任一个从节点发送的任一个响应表示所述第一写请求已保存;所述第二发送速度小于所述第一发送速度;所述限速条件为第一从节点的数量低于设定的节点数量阈值,和/或所述缓冲设备从所述主节点获取的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
在一种可能的实现方法中,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
在一种可能的实现方法中,所述第二发送速度为预设的,或者为所述缓冲设备根据所述第一发送速度和速度差得到的,所述速度差为所述缓冲设备根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
在一种可能的实现方法中,所述存储器1401具体用于:
缓存接收的第一写请求;
所述处理器1400还用于:
从所述存储器中读取所述n个第一写请求;或,
所述处理器1400还用于:
通过所述通信接口从外部的存储设备接收所述n个第一写请求。
在一种可能的实现方法中,所述处理器1400通过下列方式确定是否满足限速条件:
获取所述主节点中用于存储各个从节点已经同步日志的数组;
根据所述数组确定所述从节点的同步状态,并根据所述同步状态确定是否满足限速条件。
如图15所示,本发明提供另一种文件同步的装置,该装置包括:
发送模块1500:用于按照第一发送速度,向主节点发送n个第一写请求,其中,所述n个第一写请求用于对所述文件进行写操作,n为大于或等于1的整数;
获取模块1501:用于获取所述主节点接收的响应;
处理模块1502:用于根据所述主节点接收的响应,确定满足限速条件时,确定第二发送速度,并按照所述第二发送速度向所述主节点发送f个第二写请求;
其中,任一个响应对应一个第一写请求,任一个响应为从节点在成功保存相应的第一写请求后发送给所述主节点的;所述第二发送速度小于所述第一发送速度;所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
在一种可能的实现方法中,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
在一种可能的实现方法中,所述第二发送速度为预设的,或者为所述处理模块1502根据所述第一发送速度和速度差得到的,所述速度差为所述处理模块1502根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
在一种可能的实现方法中,所述处理模块1502还用于:
从本地缓存的写请求中读取所述n个第一写请求;或从外部的存储设备接收所述n个第一写请求。
在一种可能的实现方法中,所述处理模块1502通过下列方式确定是否满足限速条件:
获取所述主节点中用于存储各个从节点已经同步日志的数组;根据所述数组确定所述从节点的同步状态,并根据所述同步状态确定是否满足限速条件。
在一些可能的实施方式中,本发明实施例提供的文件同步的方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序代码在计算机设备上运行时,所述程序代码用于使所述计算机设备执行本说明书中描述的根据本发明各种示例性实施方式的文件同步的方法中的步骤。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
根据本发明的实施方式的用于配置参数的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在服务器设备上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被信息传输、装置或者器件使用或者与其结合使用。
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由周期网络动作系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备。
本申请实施例针对信息同步的方法还提供一种计算设备可读存储介质,即断电后内容不丢失。该存储介质中存储软件程序,包括程序代码,当所述程序代码在计算设备上运行时,该软件程序在被一个或多个处理器读取并执行时可实现本申请实施例上面任何一种文件同步的方案。
以上参照示出根据本申请实施例的方法、装置(系统)和/或计算机程序产品的框图和/或流程图描述本申请。应理解,可以通过计算机程序指令来实现框图和/或流程图示图的一个块以及框图和/或流程图示图的块的组合。可以将这些计算机程序指令提供给通用计算机、专用计算机的处理器和/或其它可编程数据处理装置,以产生机器,使得经由计算机处理器和/或其它可编程数据处理装置执行的指令创建用于实现框图和/或流程图块中所指定的功能/动作的方法。
相应地,还可以用硬件和/或软件(包括固件、驻留软件、微码等)来实施本申请。更进一步地,本申请可以采取计算机可使用或计算机可读存储介质上的计算机程序产品的形式,其具有在介质中实现的计算机可使用或计算机可读程序代码,以由指令执行系统来使用或结合指令执行系统而使用。在本申请上下文中,计算机可使用或计算机可读介质可以是任意介质,其可以包含、存储、通信、传输、或传送程序,以由指令执行系统、装置或设备使用,或结合指令执行系统、装置或设备使用。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (24)
1.一种文件同步的方法,其特征在于,包括:
主节点按照第一发送速度,向m个从节点中的每个从节点发送n个第一写请求,其中,所述主节点与所述m个从节点保存有相同的文件,所述n个第一写请求用于对所述文件进行写操作,n、m为大于1的整数;
所述主节点分别从p个从节点接收至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存,p为小于或等于m的正整数;
在满足限速条件的情况下,所述主节点以第二发送速度向所述从节点发送f个第二写请求;
其中,所述第二发送速度小于所述第一发送速度;所述限速条件为:第一从节点的数量低于设定的节点数量阈值,和/或所述主节点接收的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点为所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应少于n个的从节点。
2.如权利要求1所述的方法,其特征在于,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
3.如权利要求1或2所述的方法,其特征在于,所述第二发送速度为预设的,或者为所述主节点根据所述第一发送速度和速度差得到的,所述速度差为所述主节点根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
4.如权利要求1~3任一项所述的方法,其特征在于,所述主节点向m个从节点中的每个从节点发送n个第一写请求之前,还包括:
所述主节点从本地缓存的写请求中读取所述n个第一写请求;或
所述主节点从外部的存储设备接收所述n个第一写请求。
5.如权利要求1-4任一项所述的方法,其特征在于,所述主节点向m个从节点中的每个从节点发送n个第一写请求之前,还包括:
所述主节点将所述n个第一写请求存储到本地日志中。
6.一种主节点,其特征在于,包括:处理器、通信接口;
所述通信接口,用于接收和发送数据;
所述处理器,用于:
通过所述通信接口按照第一发送速度,向m个从节点中的每个从节点发送n个第一写请求,其中,所述主节点与所述m个从节点保存有相同的文件,所述n个第一写请求用于对所述文件进行写操作,所述n、所述m为大于1的整数;
通过所述通信接口分别从p个从节点接收至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存,所述p为小于或等于所述m的正整数;
在满足限速条件的情况下,所述主节点以第二发送速度向所述从节点发送f个第二写请求;
其中所述第二发送速度小于所述第一发送速度;所述限速条件为:第一从节点的数量低于设定的节点数量阈值,和/或所述主节点接收的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
7.如权利要求6所述的主节点,其特征在于,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
8.如权利要求6或7所述的主节点,其特征在于,所述第二发送速度为预设的,或者为所述主节点根据所述第一发送速度和速度差得到的,所述速度差为所述主节点根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
9.如权利要求6~8任一项所述的主节点,其特征在于,
所述主节点还包含存储器,用于缓存接收的第一写请求;所述处理器在向m个从节点中的每个从节点发送n个第一写请求之前,还用于:从所述存储器中读取所述n个第一写请求;或
所述处理器在向m个从节点中的每个从节点发送n个第一写请求之前,还用于:通过所述通信接口从外部的存储设备接收所述n个第一写请求。
10.如权利要求6~9任一项所述的主节点,其特征在于,所述处理器还用于:
将所述n个第一写请求存储到本地日志中。
11.一种文件同步的方法,其特征在于,包括:
缓冲设备按照第一发送速度,向主节点发送n个第一写请求,其中,所述n个第一写请求用于对所述文件进行写操作,n为大于1的整数;
所述缓冲设备获取所述主节点接收的响应;
在满足限速条件的情况下,所述缓冲设备以第二发送速度向所述主节点发送f个第二写请求;
其中,任一个响应对应一个第一写请求,任一个从节点发送的任一个响应表示所述第一写请求已保存;所述第二发送速度小于所述第一发送速度;所述限速条件为第一从节点的数量低于设定的节点数量阈值,和/或所述缓冲设备从所述主节点获取的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
12.如权利要求11所述的方法,其特征在于,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
13.如权利要求11或12所述的方法,其特征在于,所述第二发送速度为预设的,或者为所述缓冲设备根据所述第一发送速度和速度差得到的,所述速度差为所述缓冲设备根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
14.如权利要求11~13任一项所述的方法,其特征在于,所述缓冲设备按照第一发送速度,向主节点发送n个第一写请求之前,还包括:
所述缓冲设备从本地缓存的写请求中读取所述n个第一写请求;或
所述缓冲设备从外部的存储设备接收所述n个第一写请求。
15.如权利要求9~14任一项所述的方法,其特征在于,所述缓冲设备通过下列方式确定是否满足限速条件:
所述缓冲设备获取所述主节点中用于存储各个从节点已经同步日志的数组;
所述缓冲设备根据所述数组确定所述从节点的同步状态,并根据所述同步状态确定是否满足限速条件。
16.一种缓冲设备,其特征在于,包括:处理器、通信接口;
所述通信接口,用于接收和发送数据;
所述处理器,用于通过所述通信接口按照第一发送速度,向主节点发送n个第一写请求,其中,所述n个第一写请求用于对所述文件进行写操作,n为大于1的整数;
调取所述主节点接收的响应;在满足限速条件的情况下,以第二发送速度向所述主节点发送f个第二写请求;
其中,任一个响应对应一个第一写请求,任一个从节点发送的任一个响应表示所述第一写请求已保存;所述第二发送速度小于所述第一发送速度;所述限速条件为第一从节点的数量低于设定的节点数量阈值,和/或所述缓冲设备从所述主节点获取的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
17.如权利要求16所述的缓冲设备,其特征在于,所述多个从节点为所述k个第二从节点中所述主节点接收的响应数量最少的a个从节点,或者为所述k个第二从节点中所述主节点接收的响应数量最多的b个从节点。
18.如权利要求16或17所述的缓冲设备,其特征在于,所述第二发送速度为预设的,或者为所述处理器根据所述第一发送速度和速度差得到的,所述速度差为所述处理器根据所述多个从节点发送的响应数量平均值与预设的响应阈值确定的。
19.如权利要求16~18任一项所述的缓冲设备,其特征在于,
所述缓冲设备还包含存储器,用于缓存接收的第一写请求;所述处理器在向所述主节点发送n个第一写请求之前,还用于:从所述存储器中读取所述n个第一写请求;或
所述处理器在向所述主节点发送n个第一写请求之前,还用于:通过所述通信接口从外部的存储设备接收所述n个第一写请求。
20.如权利要求16~19任一项所述的缓冲设备,其特征在于,所述处理器通过下列方式确定是否满足限速条件:
获取所述主节点中用于存储各个从节点已经同步日志的数组;
根据所述数组确定所述从节点的同步状态,并根据所述同步状态确定是否满足限速条件。
21.一种执行写请求同步的系统,其特征在于,包括:主节点以及m个从节点;
所述主节点,用于按照第一发送速度,向m个从节点中的每个从节点发送n个第一写请求,其中,所述主节点与所述m个从节点保存有相同的文件,所述n个第一写请求用于对所述文件进行写操作,n、m为大于1的整数;分别从p个从节点接收至少一个响应,其中,任一个响应对应一个第一写请求,从任一个从节点接收的任一个响应表示所述第一写请求已保存,p为小于或等于m的正整数;在满足限速条件的情况下,以第二发送速度向所述从节点发送f个第二写请求,其中所述第二发送速度小于所述第一发送速度;
所述从节点,用于接收所述主节点按照所述第一发送速度发送的所述n个第一写请求,将接收到的所述n个第一写请求同步到本地日志中,并在每次完成一个所述第一写请求同步后,向所述主节点发送一个响应;接收所述主节点按照所述第二发送速度发送的所述f个第二写请求,将接收到的所述f个第二写请求同步到本地日志中,并在每次完成一个所述第二写请求同步后,向所述主节点发送一个响应;
其中,所述限速条件为:第一从节点的数量低于设定的节点数量阈值,和/或所述主节点接收的来自多个从节点的响应的数量的平均值小于阈值,所述第一从节点为所述m个从节点中所述主节点接收到n个响应的从节点,所述多个从节点我所述m个从节点中的全部或者部分第二从节点,所述第二从节点为所述m个从节点中,所述主节点接收到的响应数量少于n个的从节点。
22.如权利要求21所述的系统,其特征在于,所述系统还包括:缓冲设备;
所述缓冲设备,用于通过所述通信接口按照第一发送速度,向主节点发送n个第一写请求,其中,所述n个第一写请求用于对所述文件进行写操作,n为大于或等于1的整数;调取所述主节点接收的响应;在满足限速条件的情况下,以第二发送速度向所述主节点发送f个第二写请求。
23.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机指令,当所述计算机指令被通信装置执行时,使得所述通信装置执行如权利要求1-5中任一项所述的适用于主节点的方法;和/或使得所述通信装置执行如权利要求11-15中任一项所述的适用于缓冲设备的方法。
24.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机指令,当所述计算机指令被通信装置执行时,使得所述通信装置执行如权利要求1-5中任一项所述的适用于主节点的方法;和/或使得所述通信装置执行如权利要求11-15中任一项所述的适用于缓冲设备的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910900849.7A CN112540966A (zh) | 2019-09-23 | 2019-09-23 | 一种文件同步的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910900849.7A CN112540966A (zh) | 2019-09-23 | 2019-09-23 | 一种文件同步的方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112540966A true CN112540966A (zh) | 2021-03-23 |
Family
ID=75013223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910900849.7A Pending CN112540966A (zh) | 2019-09-23 | 2019-09-23 | 一种文件同步的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112540966A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113253924A (zh) * | 2021-04-28 | 2021-08-13 | 百果园技术(新加坡)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN114285724A (zh) * | 2021-12-23 | 2022-04-05 | 山东浪潮科学研究院有限公司 | 基于Raft协议的Alertmanager部署方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979652B1 (en) * | 2007-12-20 | 2011-07-12 | Amazon Technologies, Inc. | System and method for M-synchronous replication |
CN105426439A (zh) * | 2015-11-05 | 2016-03-23 | 腾讯科技(深圳)有限公司 | 一种元数据的处理方法和装置 |
CN107547593A (zh) * | 2016-06-27 | 2018-01-05 | 华为技术有限公司 | 一种实现日志同步的方法、装置及分布式系统 |
CN108696595A (zh) * | 2018-05-28 | 2018-10-23 | 郑州云海信息技术有限公司 | 分布式集群数据同步方法、主节点、从节点、系统及介质 |
-
2019
- 2019-09-23 CN CN201910900849.7A patent/CN112540966A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7979652B1 (en) * | 2007-12-20 | 2011-07-12 | Amazon Technologies, Inc. | System and method for M-synchronous replication |
CN105426439A (zh) * | 2015-11-05 | 2016-03-23 | 腾讯科技(深圳)有限公司 | 一种元数据的处理方法和装置 |
CN107547593A (zh) * | 2016-06-27 | 2018-01-05 | 华为技术有限公司 | 一种实现日志同步的方法、装置及分布式系统 |
CN108696595A (zh) * | 2018-05-28 | 2018-10-23 | 郑州云海信息技术有限公司 | 分布式集群数据同步方法、主节点、从节点、系统及介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113253924A (zh) * | 2021-04-28 | 2021-08-13 | 百果园技术(新加坡)有限公司 | 数据处理方法、装置、电子设备及计算机可读存储介质 |
CN114285724A (zh) * | 2021-12-23 | 2022-04-05 | 山东浪潮科学研究院有限公司 | 基于Raft协议的Alertmanager部署方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107046552B (zh) | 基于心跳的数据同步装置、方法及分布式存储系统 | |
US11068499B2 (en) | Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching | |
CN110636122A (zh) | 分布式存储方法、服务器、系统、电子设备以及存储介质 | |
CN110659151B (zh) | 数据校验方法及装置,存储介质 | |
CN106354865B (zh) | 一种同步主从数据库的方法、装置和系统 | |
US11640261B2 (en) | Log processing method to avoid log collision, and related device and system | |
EP3993346A1 (en) | Method and device for distributed data storage | |
CN113553179A (zh) | 分布式键值存储负载均衡方法及系统 | |
US9298765B2 (en) | Apparatus and method for handling partially inconsistent states among members of a cluster in an erratic storage network | |
CN112540966A (zh) | 一种文件同步的方法及装置 | |
US10891081B1 (en) | Systems and methods for asynchronous writing of synchronous write requests based on a dynamic write threshold | |
CN115827774A (zh) | 数据同步方法及计算设备 | |
CN103500108A (zh) | 系统内存访问方法、节点控制器和多处理器系统 | |
CN111225003B (zh) | 一种nfs节点配置方法和装置 | |
US11755541B2 (en) | Distributed file system and method for accessing a file in such a system | |
CN114422537A (zh) | 多云存储系统、多云数据读写方法及电子设备 | |
US8095228B2 (en) | Data distribution apparatus, its control method, program, and storage medium | |
CN113268329A (zh) | 一种请求调度方法、装置及存储介质 | |
CN106855869A (zh) | 一种实现数据库高可用的方法、装置和系统 | |
CN105022833A (zh) | 一种数据处理的方法、节点及监控系统 | |
CN104780120A (zh) | 一种局域网中文件传输的方法和装置 | |
US11381642B2 (en) | Distributed storage system suitable for sensor data | |
CN109525456A (zh) | 一种服务器监控方法、装置和系统 | |
US9182941B2 (en) | Flow control with buffer reclamation | |
CN110636090B (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 |