CN112202687B - 一种节点同步方法、装置、设备及存储介质 - Google Patents
一种节点同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN112202687B CN112202687B CN202011394125.9A CN202011394125A CN112202687B CN 112202687 B CN112202687 B CN 112202687B CN 202011394125 A CN202011394125 A CN 202011394125A CN 112202687 B CN112202687 B CN 112202687B
- Authority
- CN
- China
- Prior art keywords
- node
- event
- cluster
- slave
- authorized
- 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 54
- 238000012790 confirmation Methods 0.000 claims description 20
- 238000012986 modification Methods 0.000 claims description 12
- 230000004048 modification Effects 0.000 claims description 12
- 238000011084 recovery Methods 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 9
- 230000008569 process Effects 0.000 description 14
- 230000001360 synchronised effect Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 8
- 238000013475 authorization Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
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
- H04L47/00—Traffic control in data switching networks
- H04L47/50—Queue scheduling
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种节点同步方法、装置、电子设备及计算机可读存储介质,该方法包括:获取各个从节点发送的节点数据;从各个节点数据中得到目标集群参数,并基于事件队列长度,利用目标集群参数得到标准集群参数;根据标准集群参数确定授权从节点,并判断授权从节点的数量是否大于数量阈值;若数量大于数量阈值,则基于标准集群参数,利用集群事件对授权从节点进行事件重放;若数量未大于数量阈值,则控制授权从节点对非授权从节点进行状态同步,并在状态同步后利用集群事件对授权从节点进行事件重放;该方法可以在出现节点离开或加入的情况时重新确定授权从节点并使其同步,保证了数据一致性。
Description
技术领域
本申请涉及数据同步技术领域,特别涉及一种节点同步方法、节点同步装置、电子设备及计算机可读存储介质。
背景技术
一致性协议是分布式集群的实现的基础,Paxos协议是重要的一致性协议之一,Paxos协议可以大致分为两个阶段:Propose-Promise阶段(提出提案的阶段)和Commit-Accept阶段(提案接受的阶段)。相关技术利用这个两阶段协议在理论上被证明能够维持分布式集群中状态的一致性。但是,若发生了集群节点变化,例如有节点离开或有新的节点加入,则无法保证一致性。
因此,相关技术存在的不适用于节点动态变化的集群的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本申请的目的在于提供一种节点同步方法、节点同步装置、电子设备及计算机可读存储介质,在节点动态变化时保证集群中节点状态的一致性。
为解决上述技术问题,本申请提供了一种节点同步方法,包括:
获取各个从节点发送的节点数据;
从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;
根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;
若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;
若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。
可选地,所述基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放,包括:
从多个集群事件中确定事件编号为所述标准集群参数加一的目标集群事件;
将所述目标集群事件发送给所述授权从节点;
在获取到全部所述授权从节点发送的接收确认信息后,按照事件编号顺序更新所述目标集群事件;
若所述目标集群事件对应的目标事件编号大于所述目标集群参数,则确定所述事件重放完成。
可选地,所述根据所述标准集群参数确定授权从节点,包括:
判断各个所述节点数据中的节点集群参数是否小于所述标准集群参数;
若所述节点集群参数不小于所述标准集群参数,则将所述从节点确定为所述授权从节点;
若所述节点集群参数小于所述标准集群参数,则将所述从节点确定为所述非授权从节点。
可选地,所述控制所述授权从节点对非授权从节点进行状态同步,包括:
向目标授权从节点发送同步指令,以便所述目标授权从节点将对应的目标节点数据发送给所述非授权从节点,使所述非授权从节点对应的所述节点集群参数等于所述目标授权从节点对应的所述节点集群参数;
更新所述授权从节点的所述数量;
当所述数量大于所述数量阈值时,所述状态同步完成。
可选地,所述获取各个从节点发送的节点数据,包括:
判断自身身份是否为其他节点承认的主节点;
若为所述主节点,则向当前网络拓扑中的各个所述从节点发送状态回收请求;
获取各个所述从节点响应所述状态回收请求的所述节点数据。
可选地,所述判断自身身份是否为其他节点承认的主节点,包括:
获取所述当前网络拓扑中各个所述其他节点对应的节点序号;
判断自身序号是否为最小节点序号;
若为所述最小节点序号,则判断是否成功与所有的所述其他节点建立忠诚关系;
若成功建立所述忠诚关系,则确定所述自身身份为所述主节点。
可选地,在所述事件重放完毕后,还包括:
利用所述目标集群参数,按照事件编号顺序确定新事件编号;
向各个所述授权从节点发送所述新事件编号对应的新集群事件;
若获取到所有的所述授权从节点发送的接收确认信息,则向各个所述授权从节点发送标志位修改信息,以便所述授权从节点将所述新集群事件对应的标志位进行修改;
若获取到所有的所述授权从节点发送的修改确认信息,则重新确定所述新事件编号。
本申请还提供了一种节点同步装置,包括:
获取模块,用于获取各个从节点发送的节点数据;
标准确定模块,用于从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;
数量判断模块,用于根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;
第一同步模块,用于若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;
第二同步模块,用于若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。
本申请还提供了一种电子设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的节点同步方法。
本申请还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的节点同步方法。
本申请提供的节点同步方法,获取各个从节点发送的节点数据;从各个节点数据中得到目标集群参数,并基于事件队列长度,利用目标集群参数得到标准集群参数;根据标准集群参数确定授权从节点,并判断授权从节点的数量是否大于数量阈值;若数量大于数量阈值,则基于标准集群参数,利用集群事件对授权从节点进行事件重放;若数量未大于数量阈值,则控制授权从节点对非授权从节点进行状态同步,并在状态同步后利用集群事件对授权从节点进行事件重放。
可见,该方法在集群发生节点离开或加入等动态变化后,在重新向外提供服务前,需要选择足够数量的、状态足够新的授权从节点。各个从节点中的节点数据可以表示该从节点对应的事件执行情况。从节点在执行事件的过程中,其对应的节点集群参数也会随之改变,节点集群参数可以表示节点的状态。目标集群参数对应于所有从节点最新获取到的可执行的事件,由于获取到的事件可能不会被立即执行,各个从节点中的事件队列长度有限,因此基于目标集群参数确定的标准集群参数,可以表示获取到目标集群参数对应的事件前应当被执行完的事件,可以作为判断从节点状态是否足够新的标准。利用目标集群参数确定授权从节点后,判断其数量是否大于数量阈值,若大于数量阈值,则可以对其进行事件重放,使各个授权从节点达到同步。若不大于数量阈值,则说明授权从节点数量不足,因此控制授权从节点对非授权从节点进行状态同步,使部分非授权从节点转变为授权从节点,并在状态同步结束后进行事件重放,使得各个授权从节点达到同步。通过重新确定授权从节点并进行事件重放的方式,可以在发生节点离开或加入时重新确定授权从节点并使其同步,保证了数据一致性,解决了相关技术不适用于节点动态变化的集群的问题。
此外,本申请还提供了一种节点同步装置、电子设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种节点同步方法流程图;
图2为本申请实施例提供的一种节点同步装置的结构示意图;
图3为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例提供的一种节点同步方法流程图。该方法包括:
S101:获取各个从节点发送的节点数据。
需要说明的是,本申请提供的节点同步方法的部分或全部步骤可以由指定的电子设备执行,该指定的电子设备的数量可以为一个,例如可以为一个计算机或服务器,电子设备的数量还可以为多个,例如若干个计算机和/或若干个服务器共同作为电子设备。该电子设备可以为集群中的任意一个节点,例如可以为IP地址最小的节点,或者可以为编号最小的节点,或者可以为各个其他节点均承认的节点,该电子设备可以被称为主节点。集群中除主节点以外的节点可以被称为从节点。具体的,在一种可行的实施方式中,电子设备可以包括如下组件:
1、NTM, Network Topology Manager,网络拓扑管理器。PM服务(即Paxos Monitor服务,电子设备中的一项服务,用于实现节点同步)启动时NTM即启动,其作用为发现并检测网络内其它PM节点,并建立网络拓扑视图。网络拓扑视图的内容为本地节点以及经过筛选的可见PM节点列表(以及一组端口号)。网络拓扑视图内的PM节点互相成为集群候选成员。集群初始化过程中,可以在任意一个节点上执行创建集群命令时,该节点即被选为Master(即主节点),并要求其视图中所有PM节点返回各自的拓扑视图。Master上的NTM组件根据返回的视图信息构建一个集群视图。集群视图为包含Master,且节点间两两互联的最大拓扑视图。集群视图中的节点被分配有序的唯一ID, Master为ID最小者。Master进而与集群视图内的所有节点约定集群ID(即节点序号),完成集群创建的后续动作,在后续可以利用节点序号重新确定主节点。
如果在集群运行过程中Master节点崩溃或与其他节点断开连接,集群内其他节点会从原集群视图与本地拓扑视图交集中选出ID最小者的作为新的Master,并将本地节点的拓扑视图发送给Master。NTM保证了,当网络环境稳定之后,每个节点都会在某个拓扑视图中,且不同的拓扑视图没有公共节点。这样集群视图中就只会有唯一的Master,不会发生冲突。
2、Master,主节点组件。Master通过维持与Slave的忠诚关系来维持集群的存在,在忠诚关系的存续期向Slave发起事务。只有Master节点上的Master组件会被激活,其他节点上的Master组件保持静默。从集群创建开始,Master持续向集群内节点推送一个Level从1开始连续增加的Event序列。
3、Slave,从节点组件,应答Master请求。所有节点上的Slave组件都处于激活状态,在接到Master请求后调用相应的接口对NVS进行读写。Slave会维护一组有Level(即集群参数)的集群状态,初始Level是0。Slave要求接收到Level从1开始连续增加的Event序列,通过执行Event(即事件)改变集群状态和集群参数。事件应用后集群状态对应的Level会与最近应用的Event Level(事件编号)相同。Slave保存至多N个待执行Event的循环队列(即集群队列),队列的每个项包含一个Level的Event以及一个标志位,初始值为FALSE。当该Event得到过半数节点确认时,即过半数的从节点确定接收到该Event时,Master会通知Slave将这个标志位置修改为TRUE,以便允许各个从节点在需要时执行该Event。这个队列也保存在NVS中。
4、TC,Transaction Channel,事务通道组件。这个组件为每一种集群事务在每一对节点之间维护一个点对点消息通道,这个通道实质是两个PM节点上的一组配对端口。特别地,PM服务启动后TC即初始化,自动完成PM保留端口配对,得到的通道用于NTM视图消息发送。除此之外,TC还会为每一个可见的PM节点预留一组事务专用端口(这个端口可以是PM内部对保留端口的虚拟化)。NTM会将端口信息附加在拓扑视图中一并发送给Master,Master完成集群视图构建后即完成Master端端口配对,并将集群视图通过NTM专用通道发往集群内所有节点。Slave节点收到该消息后即完成Slave端端口配对,至此事务通道连接建立。
5、NVS,Non-Volatile Storage,非易失性存储接口。它封装了系统提供的非易失性存储的读写接口。这里需要依赖系统和存储介质去保证非易失性存储不因为节点崩溃而丢失。
节点数据为各个节点中用于表示事件执行状态的数据,其具体可以包括事件状态、事件编号(即事件level)、集群状态、集群参数(即集群level)、事件队列等,其具体内容可以根据实际需要进行设置。在发生集群节点动态接入或脱离时,为了保证集群中各个节点的一致性,需要获取各个从节点发送的节点数据,以便根据各个节点数据确定出不同步的事件,并对这些事件进行重放,保证各个节点上数据的一致性,进而保证节点状态的一致性。
在一种具体的实施方式中,S101步骤可以包括:
步骤11:判断自身身份是否为其他节点承认的主节点。
步骤12:若为主节点,则向当前网络拓扑中的各个从节点发送状态回收请求。
步骤13:获取各个从节点响应状态回收请求的节点数据。
在获取节点数据前,需要判断自身是否为主节点。由于在确定主节点的过程中可能再次发生节点动态脱离或加入的情况,因此主节点应当为所有从节点均承认的节点,这样可以准确的确定出唯一的主节点,防止出现多个主节点或不存在主节点,进而造成同步错误。在确定自身为主节点后,则向当前网络拓扑中各个从节点发送状态回收请求(即status request)。当前网络拓扑即为发生节点动态变化(加入或退出)后剩余节点组成的网络拓扑,在确定主节点后,当前网络拓扑中除主节点以外的其他节点均为从节点。从节点在接收到状态回收请求后,主动向主节点发送自身的节点数据,主节点等待获取各个从节点响应状态回收请求发送的节点数据。
具体的,在一种可行的实施方式中,步骤11具体可以包括:
步骤21:获取当前网络拓扑中各个其他节点对应的节点序号。
步骤22:判断自身序号是否为最小节点序号。
步骤23:若为最小节点序号,则判断是否成功与所有的其他节点建立忠诚关系。
步骤24:若成功建立忠诚关系,则确定自身身份为主节点。
为了防止在主节点确定过程中出现节点动态脱离或加入集群的情况,本实施例在确定主节点时,利用忠诚关系来表明从节点的承认,即若成功建立忠诚关系,则表明从节点承认该节点为主节点。具体的,在确定主节点时,先确定当前网络拓扑,并获取其中除自身以外的其他节点对应的节点序号,在获取节点需要后将其与自身需要进行判断,判断自身序号是否为最小节点序号。若自身序号为最小节点序号,则说明可以作为主节点,因此尝试与其他节点建立忠诚关系,并判断是否成功与所有的其他节点建立忠诚关系。具体的,可以采用Ballot Number(选票值)建立忠诚关系。Ballot Number是一个从0开始增加的整数值,是Master(即主节点)和Slave(即从节点)之间忠诚关系的凭证。Slave初始化时会将自己认可的Ballot Number置为0。在确定主节点时,序号最小的节点可以以1为初始值向所有当前集群视图(即当前网络视图)中的其他节点发送Ballot Request,其中包括Ballot Number,用于询问各个Slave是否认可此Ballot Number。如果Slave此前认可的Ballot Number不大于接收到的Ballot Number,就更改其认可的Ballot确定为此Ballot Number,向Master返回成功消息,并附上最新认可的Ballot Number。如果Slave此前认可的Ballot大于接收到的Ballot Number,Slave就向Master返回失败消息,并附上先前认可的Ballot。如果所有Slave都向Master返回了成功消息,则Master即认为与所有的其他节点之间的忠诚关系已经建立,确定自身为主节点。如果有Slave返回了失败消息,则Master会从其收到的Ballot中再选出最大者,将其+1作为新的Ballot Number并重试Ballot Request。因为NTM保证了,在网络和节点环境稳定后集群视图内只有一个Master,又因为只有Master才有权限增加Ballot Number,因此这个过程最终一定会成功,满足进入下一步骤的条件。若成功建立忠诚关系,则可以确定自身身份为主节点。
S102:从各个节点数据中得到目标集群参数,并基于事件队列长度,利用目标集群参数得到标准集群参数。
目标集群参数表示所有从节点最新获取到的事件,由于在事件发送时可能存在通信错误,导致部分从节点无法接收到主节点发送的事件,因此在确定目标集群参数时,需要从各个节点数据中获取对应的最新事件编号,并从各个最新事件编号中确定目标集群参数。具体的,若事件编号为从0开始逐渐增加的正整数序列,则目标集群参数即为最大的最新事件编号。在另一种实施方式中,还可以为每个事件设置对应的事件状态,初始状态可以为FALSE,在主节点确定全部从节点获取到该事件时,可以向各个从节点发送指令,将事件状态修改为TRUE,以便表示该事件可以被执行。由于可以被执行的事件才有意义,因此在确定目标集群参数时,还可以先确定事件状态为TRUE的事件编号,并从中确定出最大值作为目标集群参数。事件队列用于存储等待执行的事件,采用先入先出的模式,由于其长度有限,因此当新获取到一个事件后,事件队列前端的第一个事件必须被清除出队列,若此时被清除出队列的事件无法被立即执行,则会造成事件执行错误,该从节点的授权将被剥夺,变为非授权从节点,无法参与后续过程。而在发生节点动态变化后,在重新进行数据重放时,需要区分授权从节点和非授权从节点,以便利用授权从节点作为集群重新对外提供服务,保证数据一致性。为了实现上述目的,在确定存在从节点在节点动态变化前获取到与目标集群参数相对应的事件后,基于事件队列长度,可以得到用于区分从节点是否为授权从节点的标准数据,即标准集群参数。具体的,若事件队列长度为N,目标集群参数为L,且事件编号为从0开始逐渐增加的正整数序列,则各个从节点应当执行完事件编号为L-N的事件才能够作为授权从节点。
S103:根据标准集群参数确定授权从节点,并判断授权从节点的数量是否大于数量阈值。
在确定标准集群参数后,可以利用其确定授权从节点,并判断授权从节点的数量是否大于数量阈值。数量阈值为各个节点作为新的集群向外提供服务的阈值,其具体大小不做限定,例如可以为当前网络拓扑中从节点的半数。通过判断授权从节点的数量是否大于数量阈值可以判断当前授权从节点在事件重放实现同步后能否作为集群提供服务。
具体的,根据标准集群参数确定授权从节点的步骤可以包括:
步骤31:判断各个节点数据中的节点集群参数是否小于标准集群参数。
步骤32:若节点集群参数不小于标准集群参数,则将从节点确定为授权从节点。
步骤33:若节点集群参数小于标准集群参数,则将从节点确定为非授权从节点。
在本实施例中,节点数据中还包括节点集群参数,即集群level。由于集群参数会随着事件的执行和变化,在一个事件被执行完毕后,集群参数就会更新为该事件对应的事件编号,因此在确定授权从节点时,可以判断各个节点数据中的节点集群参数是否小于标准集群参数。若不小于标准集群参数,则说明在发生节点动态变化前,该节点为授权从节点,因此仍然可以将其确定为授权从节点。若节点集群参数小于标准集群参数,则说明该节点在发生节点动态变化前为非授权从节点,即使对其进行数据重放也无法实现数据一致,因此将其确定为非授权从节点。
S104:若数量大于数量阈值,则基于标准集群参数,利用集群事件对授权从节点进行事件重放。
若数量大于数量阈值,则说明授权节点可以在事件重放达到同步后作为集群对外提供服务,因此可以基于标准集群参数,利用集群事件对授权从节点进行事件重放。事件重放即为将标准集群参数之后的事件重新发送给各个授权从节点,以便对各个事件进行执行,保证各个授权从节点之间达到同步。具体的,基于标准集群参数,利用集群事件对授权从节点进行事件重放的步骤可以包括:
步骤41:从多个集群事件中确定事件编号为标准集群参数加一的目标集群事件。
步骤42:将目标集群事件发送给授权从节点。
步骤43:在获取到全部授权从节点发送的接收确认信息后,按照事件编号顺序更新目标集群事件。
步骤44:若目标集群事件对应的目标事件编号大于目标集群参数,则确定事件重放完成。
在进行事件重放时,先基于标准集群参数确定目标集群事件。本实施例中,事件编号为逐渐增加的正整数序列,因此将事件编号为标准集群参数加一的集群事件确定为目标集群事件。在确定目标集群事件后,将其发送给各个授权从节点,以便各个授权从节点获取该目标集群事件。在获取到全部周全从节点发送的接收确认信息后,则按照事件编号顺序更新目标集群事件,若目标集群事件对应的目标事件编号不大于目标集群参数,则说明发生节点动态变化前已经发送给各个授权节点的事件还未被同步完,因此可以返回执行步骤42。若目标集群事件对应的目标事件编号大于目标集群参数,则说明已经将所有曾经发送过的事件重新进行了发送,可以确定事件重放完成。
具体的,在一种具体的实时方式中,Master开始提交Level从L+1开始的Event,此后开始以连续增加的Level正常提交Event。假设当前所提交的Event Level为L_s,Slave端接收到Event后,将该Event的Level与该从节点确认的上一个Event的Level L_c进行比较:
如果L_s=L_c+1,则将本次接受到的Event写入NVS,事件状态为FALSE,并向Master返回L_s对应的提交确认成功。
如果L_s<L_c+1,则Slave将向Master返回L_c成功。
如果L_s>L_c+1,则它将等待当前应用中的Event执行完成,随后清空其NVS中保存的待应用Event队列,并向Master发出一个参数为L_s的Update Request。Master接到该请求后,首先会剥夺此Slave(称为请求Slave)的授权,将其确定为非授权节点,之后等待其他某个Slave返回Level为L_s的Event的提交确认成功,在获取到提交确认成功后,将UpdateRequest发送到该Slave(称为目标Slave)。目标Slave暂停事件的执行,并将自己的数据和Event队列同步给请求Slave,同步成功后请求Slave会重新获得授权。Master在获取到所有Slave发送的提交确认成功后发送标志位修改信息,将事件状态修改为TRUE。
进一步的,在另一种实施方式中,为了保证各个授权从节点将事件重放过程中发送的事件执行完毕,保证各个授权从节点获取到事件重放时发送的事件。可以在接收到全部授权从节点发送的接收确认信息后,向各个授权从节点发送标志位修改信息,以便将事件的事件状态由FALSE修改为TRUE,并在修改后执行该事件。
S105:若数量未大于数量阈值,则控制授权从节点对非授权从节点进行状态同步,并在状态同步后利用集群事件对授权从节点进行事件重放。
若授权从节点的数量未大于数量阈值,则需要扩充授权从节点的数量,即将若干非授权从节点调整为授权从节点,以便在完成事件重放后作为集群对外提供服务。具体的,可以控制授权从节点对非授权从节点进行状态同步,以便使得非授权从节点可以具有与授权从节点相同的数据。具体的,控制授权从节点对非授权从节点进行状态同步的过程可以包括:
步骤51:向目标授权从节点发送同步指令,以便目标授权从节点将对应的目标节点数据发送给非授权从节点,使非授权从节点对应的节点集群参数等于目标授权从节点对应的节点集群参数。
步骤52:更新授权从节点的数量。
步骤53:当数量大于数量阈值时,状态同步完成。
目标授权从节点可以为任意数量的授权从节点,通过向目标授权从节点发送同步指令,可以控制目标授权从节点将其具有的目标节点数据发送给非授权从节点,以便使非授权从节点具有目标节点数据,满足授权条件,成为授权从节点。在进行状态同步的过程中,通过更新授权从节点的数量来确定状态同步是否完成,当该数量大于数量阈值时,说明具有了足够的授权从节点,因此状态同步完成。在状态同步完成后即可进行事件重放。
进一步的,在一种可行的实施方式中,在事件重放结束后,授权从节点和主节点可以作为集群向外提供服务,具体的,还可以包括:
步骤61:利用目标集群参数,按照事件编号顺序确定新事件编号。
步骤62:向各个授权从节点发送新事件编号对应的新集群事件。
步骤63:若获取到所有的授权从节点发送的接收确认信息,则向各个授权从节点发送标志位修改信息,以便授权从节点将新集群事件对应的标志位进行修改。
步骤64:若获取到所有的授权从节点发送的修改确认信息,则重新确定新事件编号。
对于Level为L_A的Event,当所有授权Slave返回Event提交成功后,Master即向所有授权Slave发送该Event的提交确认。收到提交确认的Slave会将Level为L_A的Event事件状态对应的标志位修改为TRUE,并向Master返回成功。返回成功的Slave仍然保持其授权状态。Master收到所有授权Slave返回成功后开始提交下一个事件。
应用本申请实施例提供的节点同步方法,在集群发生节点离开或加入等动态变化后,在重新向外提供服务前,需要选择足够数量的、状态足够新的授权从节点。各个从节点中的节点数据可以表示该从节点对应的事件执行情况。从节点在执行事件的过程中,其对应的节点集群参数也会随之改变,节点集群参数可以表示节点的状态。目标集群参数对应于所有从节点最新获取到的可执行的事件,由于获取到的事件可能不会被立即执行,各个从节点中的事件队列长度有限,因此基于目标集群参数确定的标准集群参数,可以表示获取到目标集群参数对应的事件前应当被执行完的事件,可以作为判断从节点状态是否足够新的标准。利用目标集群参数确定授权从节点后,判断其数量是否大于数量阈值,若大于数量阈值,则可以对其进行事件重放,使各个授权从节点达到同步。若不大于数量阈值,则说明授权从节点数量不足,因此控制授权从节点对非授权从节点进行状态同步,使部分非授权从节点转变为授权从节点,并在状态同步结束后进行事件重放,使得各个授权从节点达到同步。通过重新确定授权从节点并进行事件重放的方式,可以在发生节点离开或加入时重新确定授权从节点并使其同步,保证了数据一致性,解决了相关技术不适用于节点动态变化的集群的问题。
下面对本申请实施例提供的节点同步装置进行介绍,下文描述的节点同步装置与上文描述的节点同步方法可相互对应参照。
请参考图2,图2为本申请实施例提供的一种节点同步装置的结构示意图,包括:
获取模块110,用于获取各个从节点发送的节点数据;
标准确定模块120,用于从各个节点数据中得到目标集群参数,并基于事件队列长度,利用目标集群参数得到标准集群参数;
数量判断模块130,用于根据标准集群参数确定授权从节点,并判断授权从节点的数量是否大于数量阈值;
第一同步模块140,用于若数量大于数量阈值,则基于标准集群参数,利用集群事件对授权从节点进行事件重放;
第二同步模块150,用于若数量未大于数量阈值,则控制授权从节点对非授权从节点进行状态同步,并在状态同步后利用集群事件对授权从节点进行事件重放。
可选地,第一同步模块140,包括:
目标集群事件确定单元,用于从多个集群事件中确定事件编号为标准集群参数加一的目标集群事件;
事件发送单元,用于将目标集群事件发送给授权从节点;
事件更新单元,用于在获取到全部授权从节点发送的接收确认信息后,按照事件编号顺序更新目标集群事件;
重放完成确定单元,用于若目标集群事件对应的目标事件编号大于目标集群参数,则确定事件重放完成。
可选地,数量判断模块130,包括:
集群参数判断单元,用于判断各个节点数据中的节点集群参数是否小于标准集群参数;
第一确定单元,用于若节点集群参数不小于标准集群参数,则将从节点确定为授权从节点;
第二确定单元,用于若节点集群参数小于标准集群参数,则将从节点确定为非授权从节点。
可选地,第二同步模块150,包括:
同步指令发送单元,用于向目标授权从节点发送同步指令,以便目标授权从节点将对应的目标节点数据发送给非授权从节点,使非授权从节点对应的节点集群参数等于目标授权从节点对应的节点集群参数;
数量更新单元,用于更新授权从节点的数量;
同步完成确定单元,用于当数量大于数量阈值时,状态同步完成。
可选地,获取模块110,包括:
身份判断单元,用于判断自身身份是否为其他节点承认的主节点;
请求发送单元,用于若为主节点,则向当前网络拓扑中的各个从节点发送状态回收请求;
获取单元,用于获取各个从节点响应状态回收请求的节点数据。
可选地,身份判断单元,包括:
节点序号获取子单元,用于获取当前网络拓扑中各个其他节点对应的节点序号;
最小节点序号判断子单元,用于判断自身序号是否为最小节点序号;
忠诚关系建立子单元,用于若为最小节点序号,则判断是否成功与所有的其他节点建立忠诚关系;
身份确定子单元,用于若成功建立忠诚关系,则确定自身身份为主节点。
可选地,还包括:
新事件编号确定模块,用于利用目标集群参数,按照事件编号顺序确定新事件编号;
新集群事件发送模块,用于向各个授权从节点发送新事件编号对应的新集群事件;
标志位修改信息,用于若获取到所有的授权从节点发送的接收确认信息,则向各个授权从节点发送标志位修改信息,以便授权从节点将新集群事件对应的标志位进行修改;
重新确定模块,用于若获取到所有的授权从节点发送的修改确认信息,则重新确定新事件编号。
下面对本申请实施例提供的电子设备进行介绍,下文描述的电子设备与上文描述的节点同步方法可相互对应参照。
请参考图3,图3为本申请实施例提供的一种电子设备的结构示意图。其中电子设备100可以包括处理器101和存储器102,还可以进一步包括多媒体组件103、信息输入/信息输出(I/O)接口104以及通信组件105中的一种或多种。
其中,处理器101用于控制电子设备100的整体操作,以完成上述的节点同步方法中的全部或部分步骤;存储器102用于存储各种类型的数据以支持在电子设备100的操作,这些数据例如可以包括用于在该电子设备100上操作的任何应用程序或方法的指令,以及应用程序相关的数据。该存储器102可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(Static Random Access Memory,SRAM)、电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、可擦除可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM)、可编程只读存储器(Programmable Read-Only Memory,PROM)、只读存储器(Read-OnlyMemory,ROM)、磁存储器、快闪存储器、磁盘或光盘中的一种或多种。
多媒体组件103可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器102或通过通信组件105发送。音频组件还包括至少一个扬声器,用于输出音频信号。I/O接口104为处理器101和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件105用于电子设备100与其他设备之间进行有线或无线通信。无线通信,例如Wi-Fi,蓝牙,近场通信(Near Field Communication,简称NFC),2G、3G或4G,或它们中的一种或几种的组合,因此相应的该通信组件105可以包括:Wi-Fi部件,蓝牙部件,NFC部件。
电子设备100可以被一个或多个应用专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、数字信号处理器(Digital Signal Processor,简称DSP)、数字信号处理设备(Digital Signal Processing Device,简称DSPD)、可编程逻辑器件(Programmable Logic Device,简称PLD)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述实施例给出的节点同步方法。
下面对本申请实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的节点同步方法可相互对应参照。
本申请还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的节点同步方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语包括、包含或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种节点同步方法,其特征在于,包括:
获取各个从节点发送的节点数据;
从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;目标集群参数为所有从节点最新获取到的可执行的事件的事件编号,事件编号为逐渐增加的正整数序列;事件队列用于存储等待执行的事件,采用先入先出的模式;标准集群参数为目标集群参数与所述事件队列长度的差值;
根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;所述授权从节点为将所述标准集群参数对应的事件执行完毕的从节点;
若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;
若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。
2.根据权利要求1所述的节点同步方法,其特征在于,所述基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放,包括:
从多个集群事件中确定事件编号为所述标准集群参数加一的目标集群事件;
将所述目标集群事件发送给所述授权从节点;
在获取到全部所述授权从节点发送的接收确认信息后,按照事件编号顺序更新所述目标集群事件;
若所述目标集群事件对应的目标事件编号大于所述目标集群参数,则确定所述事件重放完成。
3.根据权利要求1所述的节点同步方法,其特征在于,所述根据所述标准集群参数确定授权从节点,包括:
判断各个所述节点数据中的节点集群参数是否小于所述标准集群参数;
若所述节点集群参数不小于所述标准集群参数,则将所述从节点确定为所述授权从节点;
若所述节点集群参数小于所述标准集群参数,则将所述从节点确定为所述非授权从节点。
4.根据权利要求3所述的节点同步方法,其特征在于,所述控制所述授权从节点对非授权从节点进行状态同步,包括:
向目标授权从节点发送同步指令,以便所述目标授权从节点将对应的目标节点数据发送给所述非授权从节点,使所述非授权从节点对应的所述节点集群参数等于所述目标授权从节点对应的所述节点集群参数;
更新所述授权从节点的所述数量;
当所述数量大于所述数量阈值时,所述状态同步完成。
5.根据权利要求1所述的节点同步方法,其特征在于,所述获取各个从节点发送的节点数据,包括:
判断自身身份是否为其他节点承认的主节点;
若为所述主节点,则向当前网络拓扑中的各个所述从节点发送状态回收请求;
获取各个所述从节点响应所述状态回收请求的所述节点数据。
6.根据权利要求5所述的节点同步方法,其特征在于,所述判断自身身份是否为其他节点承认的主节点,包括:
获取所述当前网络拓扑中各个所述其他节点对应的节点序号;
判断自身序号是否为最小节点序号;
若为所述最小节点序号,则判断是否成功与所有的所述其他节点建立忠诚关系;
若成功建立所述忠诚关系,则确定所述自身身份为所述主节点。
7.根据权利要求1至6任一项所述的节点同步方法,其特征在于,在所述事件重放完毕后,还包括:
利用所述目标集群参数,按照事件编号顺序确定新事件编号;
向各个所述授权从节点发送所述新事件编号对应的新集群事件;
若获取到所有的所述授权从节点发送的接收确认信息,则向各个所述授权从节点发送标志位修改信息,以便所述授权从节点将所述新集群事件对应的标志位进行修改;
若获取到所有的所述授权从节点发送的修改确认信息,则重新确定所述新事件编号。
8.一种节点同步装置,其特征在于,包括:
获取模块,用于获取各个从节点发送的节点数据;
标准确定模块,用于从各个所述节点数据中得到目标集群参数,并基于事件队列长度,利用所述目标集群参数得到标准集群参数;目标集群参数为所有从节点最新获取到的可执行的事件的事件编号,事件编号为逐渐增加的正整数序列;事件队列用于存储等待执行的事件,采用先入先出的模式;标准集群参数为目标集群参数与所述事件队列长度的差值;
数量判断模块,用于根据所述标准集群参数确定授权从节点,并判断所述授权从节点的数量是否大于数量阈值;所述授权从节点为将所述标准集群参数对应的事件执行完毕的从节点;
第一同步模块,用于若所述数量大于所述数量阈值,则基于所述标准集群参数,利用集群事件对所述授权从节点进行事件重放;
第二同步模块,用于若所述数量未大于所述数量阈值,则控制所述授权从节点对非授权从节点进行状态同步,并在状态同步后利用所述集群事件对所述授权从节点进行所述事件重放。
9.一种电子设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的节点同步方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的节点同步方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011394125.9A CN112202687B (zh) | 2020-12-03 | 2020-12-03 | 一种节点同步方法、装置、设备及存储介质 |
PCT/CN2021/121207 WO2022116660A1 (zh) | 2020-12-03 | 2021-09-28 | 一种节点同步方法、装置、设备及存储介质 |
US18/038,919 US11895185B2 (en) | 2020-12-03 | 2021-09-28 | Node synchronization method and apparatus, device and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011394125.9A CN112202687B (zh) | 2020-12-03 | 2020-12-03 | 一种节点同步方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112202687A CN112202687A (zh) | 2021-01-08 |
CN112202687B true CN112202687B (zh) | 2021-05-25 |
Family
ID=74034536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011394125.9A Active CN112202687B (zh) | 2020-12-03 | 2020-12-03 | 一种节点同步方法、装置、设备及存储介质 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11895185B2 (zh) |
CN (1) | CN112202687B (zh) |
WO (1) | WO2022116660A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112202687B (zh) | 2020-12-03 | 2021-05-25 | 苏州浪潮智能科技有限公司 | 一种节点同步方法、装置、设备及存储介质 |
CN113794764A (zh) * | 2021-09-10 | 2021-12-14 | 小红书科技有限公司 | 服务器集群的请求处理方法、介质和电子设备 |
CN114237497B (zh) * | 2021-11-30 | 2024-03-12 | 北京达佳互联信息技术有限公司 | 一种分布式存储方法及装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9596301B2 (en) * | 2006-09-18 | 2017-03-14 | Hewlett Packard Enterprise Development Lp | Distributed-leader-election service for a distributed computer system |
US9201742B2 (en) * | 2011-04-26 | 2015-12-01 | Brian J. Bulkowski | Method and system of self-managing nodes of a distributed database cluster with a consensus algorithm |
US9697226B1 (en) * | 2013-06-28 | 2017-07-04 | Sanmina Corporation | Network system to distribute chunks across multiple physical nodes |
US20150006846A1 (en) * | 2013-06-28 | 2015-01-01 | Saratoga Speed, Inc. | Network system to distribute chunks across multiple physical nodes with disk support for object storage |
US20150113314A1 (en) * | 2013-07-11 | 2015-04-23 | Brian J. Bulkowski | Method and system of implementing a distributed database with peripheral component interconnect express switch |
CN103401951B (zh) * | 2013-08-28 | 2016-04-06 | 浙江大学 | 基于对等架构的弹性云分发方法 |
EP2885711B1 (en) * | 2013-10-18 | 2016-08-24 | Hitachi Data Systems Engineering UK Limited | Target-driven independent data integrity and redundancy recovery in a shared-nothing distributed storage system |
US9021296B1 (en) * | 2013-10-18 | 2015-04-28 | Hitachi Data Systems Engineering UK Limited | Independent data integrity and redundancy recovery in a storage system |
US10567499B1 (en) * | 2015-12-02 | 2020-02-18 | Amazon Technologies, Inc. | Unsupervised round robin catch up algorithm |
US20170255499A1 (en) * | 2016-03-07 | 2017-09-07 | International Business Machines Corporation | Hybrid quorum system with persistent and non-persistent |
US20180004777A1 (en) * | 2016-04-15 | 2018-01-04 | Brian J. Bulkowski | Data distribution across nodes of a distributed database base system |
CN106302700B (zh) * | 2016-08-11 | 2019-09-24 | 浪潮(北京)电子信息产业有限公司 | 基于paxos算法的分布式系统一致性更新方法及系统 |
US10353736B2 (en) * | 2016-08-29 | 2019-07-16 | TidalScale, Inc. | Associating working sets and threads |
CN106484542B (zh) * | 2016-09-06 | 2020-05-19 | 华为技术有限公司 | 一种处理分布式系统中重叠节点事件的方法与装置 |
KR102454779B1 (ko) * | 2016-12-19 | 2022-10-13 | 스월즈, 인크. | 이벤트들의 삭제를 가능하게 하는 분산 데이터베이스를 위한 방법 및 장치 |
US10331523B2 (en) * | 2017-04-04 | 2019-06-25 | International Business Machines Corporation | Recovering a failed clustered system using configuration data fragments |
CN109639794B (zh) * | 2018-12-10 | 2021-07-13 | 杭州数梦工场科技有限公司 | 一种有状态集群恢复方法、装置、设备及可读存储介质 |
CN110109752A (zh) * | 2019-04-12 | 2019-08-09 | 平安普惠企业管理有限公司 | 一种任务分配方法、装置、电子设备及存储介质 |
CN110138863B (zh) * | 2019-05-16 | 2021-11-02 | 哈尔滨工业大学(深圳) | 基于Multi-Paxos分组的自适应一致性协议优化方法 |
CN110636128A (zh) * | 2019-09-20 | 2019-12-31 | 苏州浪潮智能科技有限公司 | 一种数据同步方法、系统、电子设备及存储介质 |
CN110909076B (zh) | 2019-10-31 | 2023-05-23 | 北京浪潮数据技术有限公司 | 一种存储集群数据同步方法、装置、设备及存储介质 |
CN110933137B (zh) | 2019-10-31 | 2022-08-02 | 北京浪潮数据技术有限公司 | 一种数据同步方法、系统、设备及可读存储介质 |
CN110955523B (zh) * | 2019-11-22 | 2022-03-08 | 中国银联股份有限公司 | 一种业务处理方法及装置 |
CN111028902A (zh) * | 2019-12-09 | 2020-04-17 | 天津开心生活科技有限公司 | 基于节点切换的请求处理方法及装置、设备和介质 |
CN111818159B (zh) * | 2020-07-08 | 2024-04-05 | 腾讯科技(深圳)有限公司 | 数据处理节点的管理方法、装置、设备及存储介质 |
CN112202687B (zh) | 2020-12-03 | 2021-05-25 | 苏州浪潮智能科技有限公司 | 一种节点同步方法、装置、设备及存储介质 |
-
2020
- 2020-12-03 CN CN202011394125.9A patent/CN112202687B/zh active Active
-
2021
- 2021-09-28 US US18/038,919 patent/US11895185B2/en active Active
- 2021-09-28 WO PCT/CN2021/121207 patent/WO2022116660A1/zh active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022116660A1 (zh) | 2022-06-09 |
US11895185B2 (en) | 2024-02-06 |
US20230388376A1 (en) | 2023-11-30 |
CN112202687A (zh) | 2021-01-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112202687B (zh) | 一种节点同步方法、装置、设备及存储介质 | |
CN111368002A (zh) | 一种数据处理方法、系统、计算机设备和存储介质 | |
EP3039564B1 (en) | Method for sharing media data and electronic device thereof | |
CN106843749B (zh) | 写入请求处理方法、装置及设备 | |
JP4846027B2 (ja) | 分散装置に対するマルチマスタ・データ同期のコンフリクト解決 | |
KR101996624B1 (ko) | 분산 협약 프로토콜에서의 crud형 프로토콜 바인딩 기법 | |
US20150067536A1 (en) | Gesture-based Content Sharing Between Devices | |
CN102932164A (zh) | 群集客户端故障转移 | |
CN108055304B (zh) | 远程数据的同步方法、装置、服务器、设备和存储介质 | |
CN112148798A (zh) | 应用于分布式系统的数据处理方法及装置 | |
CN112003943A (zh) | 语音数据同步方法和装置 | |
US9043283B2 (en) | Opportunistic database duplex operations | |
CN112055242A (zh) | 视频同步播放方法、装置、系统和存储介质 | |
CN111200651A (zh) | 定时调用微服务的方法、系统、设备和介质 | |
CN108111374B (zh) | 同步设备列表的方法、装置、设备和计算机存储介质 | |
CN110875955B (zh) | 自组织呈现网络中的设备管理 | |
JP2002149467A (ja) | メモリオーバーヘッドを有すること無く複製されたデータベースにおいて書き込みコンフリクトを検出する方法 | |
CN110325980B (zh) | 用于数据库绑定型应用的用户界面后端集群的扩展方法 | |
KR102501542B1 (ko) | 블록체인 시스템의 가동 방법, 장치, 설비 및 저장 매체 | |
CN113010498B (zh) | 一种数据同步方法、装置、计算机设备及存储介质 | |
CN113727056A (zh) | 一种数据传输连接的管理方法及服务器 | |
CN111600958A (zh) | 服务发现系统、服务数据管理方法、服务器及存储介质 | |
CN113660339B (zh) | 用于去中心化集群的方法和装置 | |
CN110636090A (zh) | 窄带宽条件下的数据同步方法和装置 | |
US7756941B2 (en) | Communication system having dominating node and dominated node |
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 |