CN103297268A - 基于p2p技术的分布式数据一致性维护系统和方法 - Google Patents
基于p2p技术的分布式数据一致性维护系统和方法 Download PDFInfo
- Publication number
- CN103297268A CN103297268A CN2013101741035A CN201310174103A CN103297268A CN 103297268 A CN103297268 A CN 103297268A CN 2013101741035 A CN2013101741035 A CN 2013101741035A CN 201310174103 A CN201310174103 A CN 201310174103A CN 103297268 A CN103297268 A CN 103297268A
- Authority
- CN
- China
- Prior art keywords
- data
- data access
- node
- message
- lock
- 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.)
- Granted
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于P2P技术的分布式数据一致性维护系统和方法,该系统由分布式集群系统中的多个具有相同处理功能和各自唯一标识号的数据维护节点所组成,每个数据维护节点负责实时管理一个或多个具有各自唯一标识号的数据访问锁,均能接受客户端的数据读取和数据访问操作,并存储一个或多个数据的副本;并维护自身管理的数据访问锁的使用对照表和利用数据访问锁分配对照表记录每个数据维护节点编号与其数据访问锁编号之间的映射关系。本发明优点是:系统灵活、可靠:不会出现单点故障,可选择其他数据维护节点重新发起访问操作请求;能减少回滚操作开销和减少网络故障的通信开销。
Description
技术领域
本发明涉及一种基于P2P技术的分布式数据一致性维护系统和方法,属于计算机的技术领域。
背景技术
现有技术解决分布式数据一致性的方法及其缺陷主要有以下几种:
主访问方法:当系统中存在一个数据的多份数据副本时,设置其中的一个数据为主数据。在访问时,首先访问主数据;当主数据访问成功后,访问消息从主数据中被发送到其它的数据副本中,使得数据副本也进行同样的访问操作。其缺点是访问消息需要在较短时间内发送到所有数据节点上,如果不能在较短时间内完成发送,系统中就会产生过时的数据,并且,如果主数据所在节点出现故障,数据副本节点将不能得到访问消息,同时存在性能伸缩上的问题。
镜像访问方法:该方法不考虑每个数据的数据副本,仅仅考虑每个主数据和定义在主数据上的镜像,当主数据进行访问时,同时刷新定义在主数据上的镜像。该访问方法中的镜像数据是只读而不能写,存在一定的限制,并且也存在单点故障的问题。
懒惰访问方法:该方法是数据上的访问操作并不马上执行,而是只有当数据被访问时才执行访问操作。懒惰访问法会加大客户端访问数据的时延,尤其是当多个并发访问同时进行时,延迟更加明显,并且容易引起死锁。
消息队列法:该方法是所有的访问操作消息都存放在一个消息队列中,并由系统中所有的节点共享,消息队列中的消息按照先进先出的原则被处理。该方法中的消息按照先进先出的原则被处理,但是,消息队列长度有限制,当并发的访问消息比较多、且消息的数据包大小比较大时,容易引起消息队列的溢出,导致访问消息的丢失。
事务控制法:事务是指一系列的原子操作,数据通过执行这一系列的原子操作从一个一致性状态转换到另一个一致性状态。事务控制访问法存在事务访问失败,引起事务重启频率加大,并且当本地事务和全局事务同时执行时,容易导致数据访问不一致。
上述这些现有技术的一致性访问方法,在其访问过程中可能出现的节点故障和网络通信故障方面都存在不完善之处,急需改进。
发明内容
有鉴于此,本发明的目的是提供一种基于P2P技术的分布式数据一致性维护系统和方法,本发明系统用于分布式网络环境对分布式数据进行一致性维护,并给出分布式数据一致性维护系统的具体操作流程。可以减少网络通信开销,提高分布式数据访问的可靠性、高效性和可用性,
为了达到上述目的,本发明提供了一种基于P2P(Peer-to-Peer)技术的分布式数据一致性维护系统,其特征在于:该系统是由分布式集群系统中的多个节点、即多个具有相同处理功能和各自唯一标识号的数据维护节点所组成,每个数据维护节点均能接受客户端的数据读取和数据访问操作,并存储一个或多个数据的副本;每个数据维护节点负责实时管理一个或多个数据访问锁的获取和释放,并维护自身管理的数据访问锁的使用对照表,以及利用数据访问锁分配对照表记录每个数据维护节点编号与其数据访问锁编号之间的映射关系;所述数据访问锁具有各自唯一的标识号;每个数据维护节点被配置管理的数据访问锁的数量取决于其处理能力:能力强,则配管的数据访问锁数量多,能力差,则配管的数据访问锁数量少;每个数据维护节点设有:事件监听模块、数据一致性维护模块、数据访问锁维护模块和事件发送模块。
为了达到上述目的,本发明还提供了一种采用本发明分布式数据一致性维护系统的工作方法,包括访问单个数据或访问多个数据;其特征在于:所述方法在对单个数据的多个相同数据副本进行一致性访问、即访问数据时,包括下列操作步骤:
(1)某个数据维护节点接收到客户端发送的数据访问消息后,就作为数据访问操作发起节点将该消息转交给数据一致性维护模块;
(2)数据一致性维护模块根据数据访问锁维护模块中的数据访问锁使用对照表检测判断被访问数据的数据访问锁是否由其自身管理,如果是,则执行后续步骤(3);否则,按照数据访问锁分配对照表找到管理该数据访问锁的数据维护节点、即临时主节点,并将该数据访问请求消息转发临时主节点;
(3)临时主节点先检测对应数据的访问消息队列中是否有待处理消息,如果有,则把该消息放入对应数据的数据访问消息队列中,等待被处理;否则,根据自身节点保存的数据访问锁使用对照表检查被访问数据的访问锁是否可用,如果不可用,则将该消息放入对应数据的访问消息队列中,等待其状态码转变为可用时,才执行后续处理步骤(4);否则,设置其状态码为1,表示当前被占用,直接执行步骤(4);
(4)临时主节点的数据一致性维护模块从数据访问锁维护模块中获取含有被访问数据副本的每个数据维护节点的IP地址、监听端口号和被访问数据存放目录的所有信息后,并向该相关数据维护节点发送数据访问消息;
(5)该相关数据维护节点接收到该数据访问请求消息后,执行对应数据副本的访问、即访问操作,数据访问成功后,再更改该数据副本的版本号;同时向临时主节点反馈该数据副本访问成功的确认消息或访问失败的确认消息;
(6)临时主节点判断是否接收到所有数据副本反馈的访问成功确认消息,若是,则表明系统工作正常,执行后续步骤(7);否则,跳转执行步骤(8);
(7)临时主节点访问自身节点的对应数据副本,同时释放该数据的数据访问锁,即其数据访问锁使用对照表中的状态码设置为0,表示该数据访问锁能被下一个访问消息使用,并向数据访问操作发起节点发送本次数据访问成功确认消息,数据访问操作发起节点再向客户端发送本次数据访问成功确认消息,结束本次数据访问流程;
(8)临时主节点向没有反馈访问成功确认消息的数据维护节点重新发送数据访问消息;并判断本次重新发送数据访问消息的操作是否已经达到设定的最大次数,若否,则执行步骤(9);若是,则跳转执行步骤(10);
(9)重新接收到数据访问消息的数据维护节点,首先检查其中要求访问的数据版本号是否与已经访问成功的数据版本号相同,如果是,则直接返回数据访问成功确认消息,表明已经完成数据访问操作;否则,返回步骤(5),重新执行数据访问操作;
(10)临时主节点向本次已经访问成功的数据维护节点发送数据回滚操作消息,访问成功的数据维护节点接收到该数据回滚操作消息后,回滚本次已经执行的数据访问操作,并向临时主节点反馈回滚操作完成消息,并修改数据访问锁使用对照表中对应数据的状态码;同时,临时主节点向数据访问操作发起节点发送数据访问操作失败消息,该数据访问操作发起节点则向客户端发送本次数据访问失败确认消息,结束本次数据访问流程。
本发明基于P2P技术的分布式数据一致性维护系统和方法的关键技术是:
(A)分布式节点集群中的每个数据维护节点的功能都相同,没有中心主节点,这样,本发明系统不会出现单点故障,集群中的每个数据维护节点均可以发起对任何数据的读取和更新的数据访问操作。
(B)发起数据读取和数据更新的数据访问操作的数据维护节点的访问操作是最后执行的,该策略可以在存在数据维护节点访问失败时,减少发起数据更新操作的数据维护节点回滚操作的开销。
(C)客户端可以同时对多个不同数据同时发起数据的读取和更新的数据访问操作请求,而且,各个数据的访问操作是独立并发地进行的。
(D)本发明使用数据版本号和时间窗口技术,减少因网络环境故障导致消息传输延迟加大而使得访问成功消息被丢弃的概率,减少不必要的重复执行数据访问操作的开销,提高分布式数据一致性访问的高效性、可靠性和可用性;
本发明基于P2P技术的分布式数据一致性维护系统和方法的优点:
本发明系统本身就是本发明区别于现有分布式数据一致性维护方案的最大优点。这是因为分布式节点集群中的各个数据维护节点具有相同功能和对等关系,不存在中心节点。当发起访问操作的数据维护节点出现故障时,可以选择集群中其他数据维护节点重新发起访问操作请求,保证系统的灵活性和可靠性。
发起数据访问操作的数据维护节点是最后才执行访问操作,这样若存在数据维护节点访问失败时,减少发起数据访问操作的数据维护节点回滚操作开销。
客户端可以同时对多个目标数据同时发起访问操作,且引入数据的版本号,以减少网络故障带来的通信开销。
总之,本发明具有很好的推广应用前景。
附图说明
图1是本发明基于P2P技术的分布式数据一致性维护系统结构组成示意图。
图2是数据维护节点的结构组成示意图。
图3是在正常情况下,本发明分布式数据一致性维护方法的操作时序图。
图4是存在数据维护节点访问失败时,本发明分布式数据一致性维护方法的操作时序图。
图5是网络传输故障时,本发明分布式数据一致性维护方法的操作时序图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
本发明是基于P2P技术的分布式数据一致性维护系统和方法,也就是如何保证分布式系统集群中各个节点的数据的一致性:当一份数据被保存在分布式集群中的多个节点上时,如果其中一个集群节点上的数据被访问时,怎样保证该集群中的其它节点上的相应数据副本也被进行同样的访问操作,从而保证整个系统中数据的所有副本的强一致性。
本发明的应用场景如下:客户端向分布式系统中的数据发起访问操作请求,该访问操作包括:读取数据和更新数据:包括增加数据、删除数据、修改数据和回滚操作;该数据回滚操作是撤销最近一次执行的数据更新操作。数据的访问操作是首先被发送到除去自身节点外的其它包含相同数据的节点上,当这些节点上的数据均访问成功后,发起访问操作节点上的数据才进行相应的访问操作,并最终给发起数据访问操作的客户端发送所有数据完成访问的确认消息。如果存在数据副本访问失败的情况,则已经访问成功的数据副本均要放弃本次访问操作,以保证系统中所有的数据副本在任何情况下均处于一致。
本发明的数据都具有各自唯一的标识号及其版本号,同一个数据的所有副本的标识号都相同,且每次数据更新成功后,其版本号也进行相应的改变。
参见图1,介绍本发明基于P2P技术的分布式数据一致性维护系统的结构组成:由分布式集群系统中的多个具有相同处理功能和各自唯一标识号的数据维护节点所组成,每个数据维护节点均能接受客户端的数据读取和数据更新操作,并存储一个或多个数据的副本。每个数据维护节点负责实时管理一个或多个数据访问锁的获取和释放,并维护自身管理的数据访问锁的使用对照表,以及利用数据访问锁分配对照表记录每个数据维护节点编号与其数据访问锁编号之间的映射关系。每个数据访问锁具有各自唯一的标识号。每个数据维护节点被配置管理的数据访问锁的数量取决于其处理能力:能力强,则配管的数据访问锁数量多,能力差,则配管的数据访问锁数量少。该数据访问锁用于限制访问数据:若要访问数据对其进行“读取”或“更新”操作时,必须先从管理数据访问锁的数据维护节点获取该数据的访问锁;只要成功获取数据访问锁后,其对应的数据就不再接收客户端的读写请求,直到该数据的访问锁被释放。
参见图2,介绍每个数据维护节点的四个组成部件:事件监听模块、数据一致性维护模块、数据访问锁维护模块和事件发送模块的功能:
事件监听模块:负责监听系统中其它数据维护节点发送到本节点的消息,并把接收的消息发送到数据一致性维护模块或数据访问锁维护模块执行后续处理;还负责实时调整每次数据一致性访问过程中接收消息的窗口时长,以适应网络环境的变化。
数据一致性维护模块:用于从数据访问锁管理模块中获取被访问数据的访问锁是否被占用的信息,以决定是否根据接收到的访问数据请求消息对本节点的对应数据执行本次数据访问操作;该数据一致性维护模块设有多个数据访问消息队列,其数量等于本节点存储的不同数据的副本个数,以供存储不同数据副本的访问消息,保证数据访问操作的最大并发性,提高系统数据一致性访问的整体效率;数据访问完成后,要更改该数据的版本号,并把访问成功或访问失败的确认消息发送到事件发送模块。
事件发送模块:用于把接收到的数据访问成功、数据访问失败或数据回滚操作成功与否的确认消息发送给其它数据维护节点。
数据访问锁维护模块:负责管理数据访问锁,即获取或释放数据访问锁;同时实时收集分布式集群中各个数据维护节点的存活状况及其数据维护节点上存储的数据副本信息;使用数据访问锁分配对照表记录数据维护节点编号和数据访问锁编号之间的映射关系,以及利用数据访问锁使用对照表来记录数据访问锁的使用信息。其中,数据访问锁分配对照表用于记录每个数据维护节点编号与其数据访问锁编号之间的一对一或一对多的映射关系,设有两个字节:数据访问锁编号及其所在的数据维护节点编号。数据访问锁分配对照表初始化的方法有三种:一种是根据数据维护节点的处理能力大小按比例分配,另一种是采用轮询方法分配,第三种是利用一致性哈希的方法分配。
下表1展示的是按照一致性哈希的方法分配数据访问锁,其中,编号为i的数据访问锁所对应的数据维护节点编号m是其编号i除以系统中数据维护节点总个数n的余数。
数据访问锁编号 | 数据维护节点编号 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | … |
5 | n |
6 | 1 |
7 | 2 |
… | … |
m | n |
如上表所示,每个数据维护节点可能管理一个或多个数据访问锁,并且需要实时维护数据访问锁的获取和释放。
每个数据维护节点除了维护数据访问锁分配对照表以外,还需要维护其管理的数据访问锁的使用情况对照表、即数据访问锁使用对照表。
数据访问锁设有两个字节:数据访问锁标识号及其状态码。若某个数据访问锁未被使用,则其对应的状态码为0(初始值),否则,其状态码为1。当数据访问请求消息使用完该数据访问锁后,要把其状态码重置为0,表示该数据的访问锁可用。下表2是一个数据访问锁使用对照表的示意图,其中k为数据维护节点分管的数据访问锁个数:
数据访问锁标识号 | 1 | 2 | 4 | 5 | … | k |
标识码 | 1 | 0 | 1 | 0 | … | 1 |
数据访问锁分配对照表和数据访问锁使用对照表的初始化是在系统初始化的过程完成的。但是,因为系统中的数据维护节点的数量是随时发生变化的,故当数据维护节点个数发生变化时,数据访问锁分配对照表和数据访问锁使用对照表必须实时更新。也就是,当数据维护节点增加或删除时,数据访问锁分配对照表同样按照初始化的方法重新分配,同时每个数据维护节点上的数据访问锁使用对照表也同步进行更新,但该过程是数据访问锁维护模块异步执行的。
数据访问锁使用对照表的访问有两种情况:一种是数据访问锁在获取和释放时相应更改其状态码,另一种是系统中的数据维护节点数量发生变化时,更改数据访问锁使用对照表。为防止同时发生上述两种访问情况,必须设置这两种操作为互斥操作,即任何时刻都只允许数据访问锁使用对照表执行其中的一种操作;虽然同一个数据访问锁的修改操作是互斥的,但是多个数据访问锁的状态码能够同时被修改。
本发明分布式数据一致性维护系统的工作方法,包括访问单个数据或访问多个数据;该方法在对单个数据的多个相同数据副本进行一致性访问、即更新数据时,包括下列具体操作步骤:
步骤1,某个数据维护节点接收到客户端发送的数据访问消息后,就作为数据访问操作发起节点将该消息转交给数据一致性维护模块。
步骤2,数据一致性维护模块根据数据访问锁维护模块中的数据访问锁使用对照表检测判断被访问数据的数据访问锁是否由其自身管理,如果是,则执行后续步骤3;否则,按照数据访问锁分配对照表找到管理该数据访问锁的数据维护节点、即临时主节点,并将该数据访问请求消息转发临时主节点。
步骤3,临时主节点先检测对应数据的访问消息队列中是否有待处理消息,如果有,则把该消息放入对应数据的数据访问消息队列中,等待被处理;否则,根据自身节点保存的数据访问锁使用对照表检查被访问数据的访问锁是否可用,如果不可用,则将该消息放入对应数据的访问消息队列中,等待其状态码转变为可用时,才执行后续处理步骤4;否则,设置其状态码为1,表示当前被占用,直接执行步骤4。
步骤4,临时主节点的数据一致性维护模块从数据访问锁维护模块中获取含有被访问数据副本的每个数据维护节点的IP地址、监听端口号和被访问数据存放目录的所有信息后,并向该相关数据维护节点发送数据访问消息。
步骤5,该相关数据维护节点接收到该数据访问请求消息后,执行对应数据副本的访问、即更新操作,数据更新成功后,更改该数据副本的版本号。同时向临时主节点反馈该数据副本访问成功的确认消息或访问失败的确认消息。
步骤6,临时主节点判断是否接收到所有数据副本反馈的访问成功确认消息,若是,则表明系统工作正常,执行后续步骤7;否则,跳转执行步骤8。
步骤7,临时主节点访问自身节点的对应数据副本,同时释放该数据的数据访问锁,即其数据访问锁使用对照表中的状态码设置为0,表示该数据访问锁能被下一个访问消息使用,并向数据访问操作发起节点发送本次数据访问成功确认消息,数据访问操作发起节点再向客户端发送本次数据访问成功确认消息,结束本次数据访问流程。
步骤8,临时主节点向没有反馈访问成功确认消息的数据维护节点重新发送数据访问消息;并判断本次重新发送数据访问消息的操作是否已经达到设定的最大次数,若否,则执行步骤9;若是,则跳转执行步骤10。
步骤9,重新接收到数据访问消息的数据维护节点,首先检查其中要求访问的数据版本号是否与已经访问成功的数据版本号相同,如果是,则直接返回数据访问成功确认消息,表明已经完成数据访问操作;否则,返回步骤5,重新执行数据访问操作。
步骤10,临时主节点向本次已经访问成功的数据维护节点发送数据回滚操作消息,访问成功的数据维护节点接收到该数据回滚操作消息后,回滚本次已经执行的数据访问操作,并向临时主节点反馈回滚操作完成消息,并修改数据访问锁使用对照表中对应数据的状态码;同时,临时主节点向数据访问操作发起节点发送数据访问操作失败消息,该数据访问操作发起节点则向客户端发送本次数据访问失败确认消息,结束本次数据访问流程。
本发明方法在访问多个不同数据时,则数据访问操作发起节点先把该多个不同数据分割为各自独立的多个数据的访问请求消息,并根据数据标识号的数值大小,向不同的临时主节点顺序发送这些数据访问请求消息,以便申请相应的数据访问锁;然后,各个临时主节点返回其数据访问锁是否申请成功的确认消息:
如果所有访问请求都成功确认,则该不同的数据访问请求消息被分发到管理相应数据的临时主节点,该临时主节点就执行上述步骤3~步骤9;然后,数据访问操作发起节点检查所有不同数据是否都访问成功,如果有访问不成功的数据,则对已经访问成功的数据均执行回滚操作,并由数据访问操作发起节点向客户端发送本次数据访问失败的确认消息;否则,向客户端发送本次数据访问成功的确认消息,以保证多个不同数据访问操作的原子性;
如果所有访问请求没有全部成功确认,则释放已经获取的数据访问锁,同时终止本次数据的一致性访问,并由数据访问操作发起节点向客户端发送本次数据一致性访问操作失败的确认消息。
本发明方法的数据访问请求为读取数据时,则执行下述操作步骤:
步骤A,数据访问操作发起节点执行上述更新数据时的操作步骤2,同时申请数据访问锁。
步骤B,如果数据访问锁申请成功,则临时主节点只向该数据的一个数据副本发送数据的访问请求消息,对应的数据维护节点收到访问请求消息后,执行相应的数据读取操作,并给数据访问操作发起节点返回相应的确认信息。或
步骤C,如果临时主节点在设定时间内没有接收到返回信息,则其向对应的数据维护节点重新发送数据访问消息:如果重新发送达到设定最大次数后,仍然没有接收到相应信息,则临时主节点向数据访问操作发起节点发送本次数据读取操作的失败确认消息;接着,该数据访问操作发起节点再向客户端发送本次数据读取失败的确认消息,并终止本次数据读取操作;否则,向客户端发送数据读取成功的确认消息。或
步骤D,如果临时主节点在设定时间内接收到返回的消息,则向数据更新请求发起节点发送数据读取操作成功确认消息;接着,数据访问操作发起节点再向客户端发送本次数据访问成功的确认消息,并结束本次数据读写操作。或
步骤E,如果数据更新锁申请不成功,则临时主节点向数据访问操作发起节点发送数据读取操作失败消息;接着,数据访问操作发起节点再向客户端发送本次数据访问失败的确认消息,并终止本次数据访问操作。
下面分别介绍正常情况和异常情况时,本发明数据一致性访问的实施流程。
参见图3,介绍本发明方法在正常情况时,一个数据的多个副本一致性维护的时序图。所谓正常情况是分布式系统中各个数据维护节点之间的网络通信没有出现故障,并且各个数据维护节点自身工作正常。图3中的数据维护节点均是含有被访问数据的数据维护节点,其时序流程详细说明如下:
(1)首先,客户端向系统中的某个数据维护节点发送数据副本的访问操作消息,若该访问操作消息中包含对多个数据副本的操作,则数据一致性维护模块要把该消息分割成多个数据副本的独立访问消息,每个数据副本对应一个数据访问消息,即每个数据副本应独立进行访问操作。此时,数据一致性维护模块根据数据访问锁维护模块中的数据访问锁使用对照表检测判断被访问数据的访问锁是否是由其自身管理,如果是,则跳至执行步骤2;否则,按照数据访问锁分配对照表找到管理被访问数据访问锁的数据维护节点,并转发数据访问请求消息到该管理被访问数据访问锁的数据维护节点、即临时主节点。
(2)临时主节点接收到转发来的数据访问消息后,先检测对应数据的访问消息队列中是否还有待处理的消息,如果有,则把该消息放入对应数据的数据访问消息队列中,等待被处理;否则,根据该节点存储的数据访问锁使用对照表检查被更改数据的访问锁是否可用,如果可用,则设置相应的标识码为1,表示当前被占用;再由数据一致性维护模块从数据访问锁维护模块中获取所有含有被访问数据副本的数据维护节点的信息(包括:数据维护节点的IP地址,监听端口号和被更改数据存放的目录信息),接着,向这些数据维护节点发送数据访问消息;否则,放入对应数据的访问消息队列中,等待被处理。
(3)各个数据维护节点接收到数据访问请求消息后,访问对应数据副本,更改成功后,更改数据副本的版本号,同时向临时主节点发送数据副本访问成功确认消息。
(4)临时主节点接收到所有数据副本发送的访问成功确认消息后,访问自身节点上对应的数据副本,同时,释放对应数据的访问锁,即把数据访问锁使用对照表中的标识码设置为0,表示数据访问锁可以被下一个访问消息使用。至此,完成单个数据的多个副本的一致性访问过程。
(5)如果是对多个不同的数据副本同时发起访问操作,需要等待系统中所有不同的数据副本访问操作均成功后;此时,如果发起数据访问操作的数据维护节点接收到所有不同的数据副本均访问成功的消息,则向客户端发送本次数据访问操作成功的消息;否则,已经访问成功的不同数据副本需要进行回滚操作,保证多个不同数据访问操作的原子性,同时向客户端发送本次数据访问操作失败消息。至此,完成了多个不同数据副本的一致性访问过程。
本发明方法的异常情况主要包括:数据维护节点访问失败,数据维护节点之间的网络连接出现故障,以及数据维护节点访问失败与数据维护节点之间的网络连接故障同时存在的三种异常情况。
上述各种异常情况主要出现在正常情况下的步骤(4)中,因此,异常情况下的数据一致性维护方法实施流程是从正常情况下的步骤(4)开始叙述的。
参见图4,介绍数据维护节点访问失败时,一个数据的多个副本一致性维护的时序图,图4中的数据维护节点均是含有被访问数据副本的数据维护节点,其具体处理方式说明如下:
数据维护节点访问失败是指数据维护节点本身故障造成的,该故障可能是短暂性的,也可能是永久性的。导致数据的访问操作失败的原因是数据维护节点访问失败时,其一致性访问过程和正常情况下的一致性访问过程的区别是:临时主节点没有接收到所有的数据维护节点发送的访问成功确认消息时的处理方式,此时,临时主节点向发送数据访问失败消息的数据维护节点重新广播数据访问消息。其具体操作步骤如下:
(4A)如果临时主节点在设定时间内没有收到除去自身节点外的含有被访问数据副本的数据维护节点发送的访问成功消息,临时主节点就认为没有发送访问成功确认消息的数据维护节点访问失败,并不再接收数据维护节点发送的本次访问成功确认消息。此时,临时主节点中的事件监听模块采取的策略是:调整消息接收时间窗口的大小到适宜时长,并且,临时主节点重新向没有发送访问成功消息的数据维护节点发送数据访问消息;
(5A)如果临时主节点按照上述步骤(4A)的策略最多实施u(u为数据访问消息重发的最大次数)次后,仍然没有接收到访问失败节点发送的访问成功确认消息,则向所有的本次已访问成功的数据维护节点发送回滚操作消息。这些数据维护节点接收到回滚操作消息后,回滚对应数据最近一次已经执行的数据访问操作,回滚操作完成后,就向临时主节点发送回滚操作完成消息,临时主节点最多发送u次回滚操作消息,并且放弃本次数据一致性访问过程,同时释放对应数据的访问锁,交由下一个访问请求使用。
(6A)如果临时主节点按照上述步骤(4A)的策略最多执行u次后,最终收到了所有数据维护节点的访问成功消息,接着,访问步骤按照正常情况下的步骤(4)~步骤(5)完成。
参见图5,介绍网络传输故障时的本发明一致性维护方法的时序图。图5中的数据维护节点均是含有被访问数据副本的数据维护节点,
网络传输故障是节点之间的网络连接中断,或是网络拥塞导致的消息传输时延加大吗,使得消息没有在设定时间内到达临时主节点,从而使得传送的消息被丢弃。网络传输故障时数据一致性维护过程和存在数据维护节点访问失败时数据一致性维护过程的不同点是:当数据维护节点重新接收到数据访问消息时,并不是马上重新执行数据访问操作,而是先检查数据的版本号和访问成功后数据的版本号是否一致,若一致,则直接发送访问成功确认消息;若不一致,则重新执行数据的访问操作。其具体处理方式说明如下:
数据维护节点访问失败是指数据维护节点本身故障造成的,该故障可能是短暂性的,也可能是永久性的。导致数据的访问操作失败的原因是数据维护节点访问失败时,其一致性访问过程和正常情况下的一致性访问过程的区别是:临时主节点没有接收到所有的数据维护节点发送的访问成功确认消息时的处理方式,此时,临时主节点向发送数据访问失败消息的数据维护节点重新广播数据访问消息。其具体操作步骤如下:
(4B)如果临时主节点因网络环境故障原因没有接收到所有数据维护节点访问成功消息,则临时主节点就向没有发送访问成功消息的数据维护节点重新发送数据访问消息,该消息中除了包含原先信息外,还要包含数据访问成功后的数据版本号,且临时主节点中的事件监听模块调整消息的接收时间窗口大小到适宜时长,以减少因网络传输时延增加,造成访问成功消息被丢弃的概率。
(5B)数据维护节点再次接收到数据访问消息时,并不立即执行数据的访问操作,而是先检查其数据的版本号是否和消息中包含的版本号一致。如果两者一致,则该数据实际上已经访问成功,不需要再次执行访问操作,就直接向临时主节点发送访问成功消息,减少不必要的访问操作开销;如果不一致,就重新执行数据的访问操作。
(6B)如果临时主节点经过上述步骤(5B)最多实施u次后,仍然没有收到所有访问失败的数据维护节点发送的访问成功消息,则向所有本次访问成功的数据维护节点发送回滚操作消息,其他所有的数据维护节点回滚操作完成后,向临时主节点发送回滚操作完成消息,临时主节点最多发送u次回滚操作消息,也不进行本次数据访问操作,同时释放对应数据的访问锁,再交由下一个访问请求使用。
(7B)如果临时主节点经过上述步骤(5B)最多实施u次后,最终接收到所有的数据维护节点的发送的访问成功消息,则剩余的访问步骤按照正常情况下的步骤(4)~步骤(5)进行。
数据维护节点访问失败与网络故障同时存在时,本发明的处理方式是综合上述两种异常情况下的处理方式,此种情况也是在实施一致性维护访问过程中,经常使用的方法,因为系统本身无法判断数据访问失败是由哪种情况引起的。其具体处理方式说明如下:~
(4C)临时主节点向没有发送访问成功消息的数据维护节点重新发送数据访问消息,这些数据维护节点再次收到访问消息后,首先检查自身的数据版本号是否和访问消息中包含的版本号一致,如果两者相等,则直接向临时主节点发送访问成功消息,否则,访问对应的数据。
(5C)如果执行上述步骤(4C)最多达到u次处理后,临时主节点最终接收到所有数据维护节点的访问成功消息,则后续处理步骤是执行正常情况的数据一致性维护操作过程的步骤(4)-步骤(5);否则,则后续处理步骤是执行网络传输故障情况时的步骤(6B)。
Claims (9)
1.一种基于对等P2P(Peer-to-Peer)技术的分布式数据一致性维护系统,其特征在于:该系统是由分布式集群系统中的多个节点、即多个具有相同处理功能和各自唯一标识号的数据维护节点所组成,每个数据维护节点均能接受客户端的数据读取和数据访问操作,并存储一个或多个数据的副本;每个数据维护节点负责实时管理一个或多个数据访问锁的获取和释放,并维护自身管理的数据访问锁的使用对照表,以及利用数据访问锁分配对照表记录每个数据维护节点编号与其数据访问锁编号之间的映射关系;所述数据访问锁具有各自唯一的标识号;每个数据维护节点被配置管理的数据访问锁的数量取决于其处理能力:能力强,则配管的数据访问锁数量多,能力差,则配管的数据访问锁数量少;每个数据维护节点设有:事件监听模块、数据一致性维护模块、数据访问锁维护模块和事件发送模块。
2.根据权利要求1所述的系统,其特征在于:所述数据访问锁用于限制访问数据:若要访问数据对其进行“读取”或“访问”操作时,必须先从管理数据访问锁的数据维护节点获取该数据的访问锁;只要成功获取数据访问锁后,其对应的数据就不再接收客户端的读写请求,直到该数据的访问锁被释放。
3.根据权利要求1所述的系统,其特征在于:所述数据维护节点内部各个模块的功能是:
事件监听模块,负责监听系统中其它数据维护节点发送到本节点的消息,并把接收的消息发送到数据一致性维护模块或数据访问锁维护模块执行后续处理;还负责实时调整每次数据一致性访问过程中接收消息的窗口时长,以适应网络环境的变化;
数据一致性维护模块,用于从数据访问锁管理模块中获取被访问数据的访问锁是否被占用的信息,以决定是否根据接收到的访问数据请求消息对本节点的对应数据执行本次数据访问操作;该数据一致性维护模块设有多个数据访问消息队列,其数量等于本节点存储的不同数据的副本个数,以供存储不同数据副本的访问消息,保证数据访问操作的最大并发性,提高系统数据一致性访问的整体效率;数据访问完成后,要更改该数据的版本号,并把访问成功或访问失败的确认消息发送到事件发送模块;
数据访问锁维护模块,负责管理数据访问锁,即获取或释放数据访问锁;同时实时收集分布式集群中各个数据维护节点的存活状况及其数据维护节点上存储的数据副本信息;
事件发送模块,用于把接收到的数据访问成功、数据访问失败或数据回滚操作成功与否的确认消息发送给其它数据维护节点。
4.根据权利要求3所述的系统,其特征在于:所述数据都有各自唯一的标识号及其版本号,同一个数据的所有副本的标识号都相同,且每次数据访问成功后,其版本号也相应改变;所述数据访问的操作包括增加数据、删除数据、修改数据和回滚操作;该数据回滚操作是撤销最近一次执行的数据访问操作。
5.根据权利要求1所述的系统,其特征在于:所述数据访问锁分配对照表用于记录每个数据维护节点编号与其数据访问锁编号之间的一对一或一对多的映射关系,设有两个字节:数据访问锁编号及其所在的数据维护节点编号;
所述数据访问锁使用对照表用于记录数据访问锁使用信息,设有两个字节:数据访问锁标识号及其状态码:若某个数据访问锁未被使用,则其对应的状态码为初始值、即0;否则,其状态码为1;当数据访问请求消息使用完该数据访问锁后,要把其状态码重置为0,表示该数据的访问锁可用;
因系统中的数据维护节点的数量随时发生变化,故当数据维护节点个数发生变化时,所述数据访问锁分配对照表和数据访问锁使用对照表必须实时访问。
6.根据权利要求5所述的系统,其特征在于:所述数据访问锁使用对照表的访问有两种情况:一种是数据访问锁在获取和释放时相应更改其状态码,另一种是系统中的数据维护节点数量发生变化时,更改数据访问锁使用对照表;为防止同时发生上述两种访问情况,必须设置这两种操作为互斥操作,即任何时刻都只允许数据访问锁使用对照表执行其中的一种操作;虽然同一个数据访问锁的修改操作是互斥的,但是多个数据访问锁的状态码能够同时被修改。
7.一种采用权利要求1所述的分布式数据一致性维护系统的工作方法,包括访问单个数据或访问多个数据;其特征在于:所述方法在对单个数据的多个相同数据副本进行一致性访问、即访问数据时,包括下列操作步骤:
(1)某个数据维护节点接收到客户端发送的数据访问消息后,就作为数据访问操作发起节点将该消息转交给数据一致性维护模块;
(2)数据一致性维护模块根据数据访问锁维护模块中的数据访问锁使用对照表检测判断被访问数据的数据访问锁是否由其自身管理,如果是,则执行后续步骤(3);否则,按照数据访问锁分配对照表找到管理该数据访问锁的数据维护节点、即临时主节点,并将该数据访问请求消息转发临时主节点;
(3)临时主节点先检测对应数据的访问消息队列中是否有待处理消息,如果有,则把该消息放入对应数据的数据访问消息队列中,等待被处理;否则,根据自身节点保存的数据访问锁使用对照表检查被访问数据的访问锁是否可用,如果不可用,则将该消息放入对应数据的访问消息队列中,等待其状态码转变为可用时,才执行后续处理步骤(4);否则,设置其状态码为1,表示当前被占用,直接执行步骤(4);
(4)临时主节点的数据一致性维护模块从数据访问锁维护模块中获取含有被访问数据副本的每个数据维护节点的IP地址、监听端口号和被访问数据存放目录的所有信息后,并向该相关数据维护节点发送数据访问消息;
(5)该相关数据维护节点接收到该数据访问请求消息后,执行对应数据副本的访问、即访问操作,数据访问成功后,再更改该数据副本的版本号;同时向临时主节点反馈该数据副本访问成功的确认消息或访问失败的确认消息;
(6)临时主节点判断是否接收到所有数据副本反馈的访问成功确认消息,若是,则表明系统工作正常,执行后续步骤(7);否则,跳转执行步骤(8);
(7)临时主节点访问自身节点的对应数据副本,同时释放该数据的数据访问锁,即其数据访问锁使用对照表中的状态码设置为0,表示该数据访问锁能被下一个访问消息使用,并向数据访问操作发起节点发送本次数据访问成功确认消息,数据访问操作发起节点再向客户端发送本次数据访问成功确认消息,结束本次数据访问流程;
(8)临时主节点向没有反馈访问成功确认消息的数据维护节点重新发送数据访问消息;并判断本次重新发送数据访问消息的操作是否已经达到设定的最大次数,若否,则执行步骤(9);若是,则跳转执行步骤(10);
(9)重新接收到数据访问消息的数据维护节点,首先检查其中要求访问的数据版本号是否与已经访问成功的数据版本号相同,如果是,则直接返回数据访问成功确认消息,表明已经完成数据访问操作;否则,返回步骤(5),重新执行数据访问操作;
(10)临时主节点向本次已经访问成功的数据维护节点发送数据回滚操作消息,访问成功的数据维护节点接收到该数据回滚操作消息后,回滚本次已经执行的数据访问操作,并向临时主节点反馈回滚操作完成消息,并修改数据访问锁使用对照表中对应数据的状态码;同时,临时主节点向数据访问操作发起节点发送数据访问操作失败消息,该数据访问操作发起节点则向客户端发送本次数据访问失败确认消息,结束本次数据访问流程。
8.根据权利要求7所述的方法,其特征在于:所述方法是访问多个不同数据时,则数据访问操作发起节点先把该多个不同数据分割为各自独立的多个数据的访问请求消息,并根据数据标识号的数值大小,向不同的临时主节点顺序发送这些数据访问请求消息,以便申请相应的数据访问锁;然后,各个临时主节点返回其数据访问锁是否申请成功的确认消息:
如果所有访问请求都成功确认,则该不同的数据访问请求消息被分发到管理相应数据的临时主节点,该临时主节点就执行上述步骤(3)~(9);然后,数据访问操作发起节点检查所有不同数据是否都访问成功,如果有访问不成功的数据,则对已经访问成功的数据均执行回滚操作,并由数据访问操作发起节点向客户端发送本次数据访问失败的确认消息;否则,向客户端发送本次数据访问成功的确认消息,以保证多个不同数据访问操作的原子性;
如果所有访问请求没有全部成功确认,则释放已经获取的数据访问锁,同时终止本次数据的一致性访问,并由数据访问操作发起节点向客户端发送本次数据一致性访问操作失败的确认消息。
9.根据权利要求7所述的方法,其特征在于:所述方法的数据访问请求为读取数据时,则执行下述操作步骤:
(A)数据访问操作发起节点执行所述步骤(2),同时申请数据访问锁:
(B)如果数据访问锁申请成功,则临时主节点只向该数据的一个数据副本发送数据的访问请求消息,对应的数据维护节点收到该访问请求消息后,执行相应的数据读取操作,并给数据访问操作发起节点返回相应的确认信息:或
(C)如果临时主节点在设定时间内没有接收到返回信息,则其向对应的数据维护节点重新发送数据访问消息:如果重新发送达到设定最大次数后,仍然没有接收到相应信息,则临时主节点向数据访问操作发起节点发送本次数据读取操作的失败确认消息;接着,该数据访问操作发起节点再向客户端发送本次数据读取失败的确认消息,并终止本次数据读取操作;否则,向客户端发送数据读取成功的确认消息;或
(D)如果临时主节点在设定时间内接收到返回的消息,则向数据访问请求发起节点发送数据读取操作成功确认消息;接着,数据访问操作发起节点再向客户端发送本次数据访问成功的确认消息,并结束本次数据读写操作;或
(E)如果数据访问锁申请不成功,则临时主节点向数据访问操作发起节点发送数据读取操作失败消息;接着,数据访问操作发起节点再向客户端发送本次数据访问失败的确认消息,并终止本次数据访问操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310174103.5A CN103297268B (zh) | 2013-05-13 | 2013-05-13 | 基于p2p技术的分布式数据一致性维护系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310174103.5A CN103297268B (zh) | 2013-05-13 | 2013-05-13 | 基于p2p技术的分布式数据一致性维护系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103297268A true CN103297268A (zh) | 2013-09-11 |
CN103297268B CN103297268B (zh) | 2016-04-06 |
Family
ID=49097616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310174103.5A Expired - Fee Related CN103297268B (zh) | 2013-05-13 | 2013-05-13 | 基于p2p技术的分布式数据一致性维护系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103297268B (zh) |
Cited By (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533068A (zh) * | 2013-10-22 | 2014-01-22 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN103678561A (zh) * | 2013-12-06 | 2014-03-26 | 华为技术有限公司 | 桶状态处理方法与装置 |
CN103716383A (zh) * | 2013-12-13 | 2014-04-09 | 华为技术有限公司 | 一种访问共享资源的方法及装置 |
CN104407814A (zh) * | 2014-11-21 | 2015-03-11 | 华为技术有限公司 | 双写数据的方法和装置 |
CN105068877A (zh) * | 2015-07-14 | 2015-11-18 | 许继电气股份有限公司 | 一种多优先级任务间数据一致性传递方法 |
CN105592139A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种分布式文件系统管理平台的ha实现方法及装置 |
CN105589887A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN105765948A (zh) * | 2014-10-29 | 2016-07-13 | 华为技术有限公司 | 信息更新的方法、装置及设备 |
CN105794182A (zh) * | 2014-11-12 | 2016-07-20 | 华为技术有限公司 | 分布式系统中锁服务器故障的处理方法及其系统 |
CN106293523A (zh) * | 2016-08-04 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种对非易失性存储的io请求响应方法及装置 |
CN106325933A (zh) * | 2016-08-24 | 2017-01-11 | 明算科技(北京)股份有限公司 | 批量数据同步方法和装置 |
CN106888245A (zh) * | 2016-06-07 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及系统 |
CN106910326A (zh) * | 2015-12-22 | 2017-06-30 | 霍尼韦尔国际公司 | 报警设备校准方法及系统 |
CN108063787A (zh) * | 2017-06-26 | 2018-05-22 | 杭州沃趣科技股份有限公司 | 基于分布式一致性状态机实现双活架构的方法 |
CN108073658A (zh) * | 2016-11-16 | 2018-05-25 | 中国移动通信集团广西有限公司 | 一种数据同步系统及方法 |
CN108155998A (zh) * | 2016-12-05 | 2018-06-12 | 天脉聚源(北京)科技有限公司 | 一种集群服务器发送广播信息的方法和系统 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN108614873A (zh) * | 2018-04-20 | 2018-10-02 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN109885622A (zh) * | 2019-01-18 | 2019-06-14 | 广州虎牙信息科技有限公司 | 一种数据处理设备、系统以及多节点数据处理方法 |
CN110011857A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种节点控制器的集群事件处理方法及相关装置 |
WO2019141186A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 数据处理方法和装置 |
CN111104070A (zh) * | 2019-12-24 | 2020-05-05 | 北京同有飞骥科技股份有限公司 | 分布式系统中数据一致性的实现方法及系统 |
CN112073456A (zh) * | 2017-04-26 | 2020-12-11 | 华为技术有限公司 | 分布式锁的实现方法、相关设备及系统 |
CN112100190A (zh) * | 2020-09-21 | 2020-12-18 | 天津神舟通用数据技术有限公司 | 一种基于更新序列的分布式锁状态同步方法 |
CN112579620A (zh) * | 2020-12-23 | 2021-03-30 | 上海上实龙创智能科技股份有限公司 | 一种基于消息队列的分布式系统数据最终一致性方法 |
CN113986907A (zh) * | 2021-12-24 | 2022-01-28 | 深圳市明源云科技有限公司 | 异常数据的图形化维护方法、装置、设备及存储介质 |
CN116991332A (zh) * | 2023-09-26 | 2023-11-03 | 长春易加科技有限公司 | 一种智慧工厂大规模数据存储和分析方法 |
CN117149097A (zh) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | 一种分布式存储系统数据访问控制方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233455A1 (en) * | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
CN101960427A (zh) * | 2007-12-26 | 2011-01-26 | 斯曼泰克公司 | 分布式资源管理的平衡一致性散列 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡系统和方法 |
-
2013
- 2013-05-13 CN CN201310174103.5A patent/CN103297268B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030233455A1 (en) * | 2002-06-14 | 2003-12-18 | Mike Leber | Distributed file sharing system |
CN101960427A (zh) * | 2007-12-26 | 2011-01-26 | 斯曼泰克公司 | 分布式资源管理的平衡一致性散列 |
CN102882973A (zh) * | 2012-10-11 | 2013-01-16 | 北京邮电大学 | 基于p2p技术的分布式负载均衡系统和方法 |
Non-Patent Citations (2)
Title |
---|
郝文宁等: "《多节点群数据一致性维护系统的研究与实现》", 《计算机工程与应用》 * |
陈珉等: "《分布式数据库系统中数据一致性维护方法研究》", 《国防科技大学学报》 * |
Cited By (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103533068A (zh) * | 2013-10-22 | 2014-01-22 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN103533068B (zh) * | 2013-10-22 | 2017-08-25 | 黎亮 | 基于ip的任务自主均衡分配集群系统 |
CN103678561A (zh) * | 2013-12-06 | 2014-03-26 | 华为技术有限公司 | 桶状态处理方法与装置 |
CN103678561B (zh) * | 2013-12-06 | 2017-02-15 | 华为技术有限公司 | 桶状态处理方法与装置 |
WO2015085826A1 (zh) * | 2013-12-13 | 2015-06-18 | 华为技术有限公司 | 一种访问共享资源的方法及装置 |
CN103716383A (zh) * | 2013-12-13 | 2014-04-09 | 华为技术有限公司 | 一种访问共享资源的方法及装置 |
CN105589887B (zh) * | 2014-10-24 | 2020-04-03 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN105589887A (zh) * | 2014-10-24 | 2016-05-18 | 中兴通讯股份有限公司 | 分布式文件系统的数据处理方法及分布式文件系统 |
CN105765948A (zh) * | 2014-10-29 | 2016-07-13 | 华为技术有限公司 | 信息更新的方法、装置及设备 |
CN108023939B (zh) * | 2014-11-12 | 2021-02-05 | 华为技术有限公司 | 分布式系统中锁服务器故障的处理方法及其系统 |
CN105794182A (zh) * | 2014-11-12 | 2016-07-20 | 华为技术有限公司 | 分布式系统中锁服务器故障的处理方法及其系统 |
CN108023939A (zh) * | 2014-11-12 | 2018-05-11 | 华为技术有限公司 | 分布式系统中锁服务器故障的处理方法及其系统 |
US9952947B2 (en) | 2014-11-12 | 2018-04-24 | Huawei Technologies Co., Ltd. | Method and system for processing fault of lock server in distributed system |
CN105794182B (zh) * | 2014-11-12 | 2017-12-15 | 华为技术有限公司 | 分布式系统中锁服务器故障的处理方法及其系统 |
CN104407814B (zh) * | 2014-11-21 | 2017-10-17 | 华为技术有限公司 | 双写数据的方法和装置 |
CN104407814A (zh) * | 2014-11-21 | 2015-03-11 | 华为技术有限公司 | 双写数据的方法和装置 |
CN105068877B (zh) * | 2015-07-14 | 2018-07-17 | 许继电气股份有限公司 | 一种多优先级任务间数据一致性传递方法 |
CN105068877A (zh) * | 2015-07-14 | 2015-11-18 | 许继电气股份有限公司 | 一种多优先级任务间数据一致性传递方法 |
CN105592139A (zh) * | 2015-10-28 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种分布式文件系统管理平台的ha实现方法及装置 |
CN105592139B (zh) * | 2015-10-28 | 2019-03-15 | 新华三技术有限公司 | 一种分布式文件系统管理平台的ha实现方法及装置 |
CN106910326A (zh) * | 2015-12-22 | 2017-06-30 | 霍尼韦尔国际公司 | 报警设备校准方法及系统 |
CN106888245A (zh) * | 2016-06-07 | 2017-06-23 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置及系统 |
CN106293523A (zh) * | 2016-08-04 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种对非易失性存储的io请求响应方法及装置 |
CN106325933B (zh) * | 2016-08-24 | 2019-07-02 | 明算科技(北京)股份有限公司 | 批量数据同步方法和装置 |
CN106325933A (zh) * | 2016-08-24 | 2017-01-11 | 明算科技(北京)股份有限公司 | 批量数据同步方法和装置 |
CN108073658B (zh) * | 2016-11-16 | 2020-06-12 | 中国移动通信集团广西有限公司 | 一种数据同步系统及方法 |
CN108073658A (zh) * | 2016-11-16 | 2018-05-25 | 中国移动通信集团广西有限公司 | 一种数据同步系统及方法 |
CN108155998A (zh) * | 2016-12-05 | 2018-06-12 | 天脉聚源(北京)科技有限公司 | 一种集群服务器发送广播信息的方法和系统 |
CN112073456B (zh) * | 2017-04-26 | 2022-01-07 | 华为技术有限公司 | 分布式锁的实现方法、相关设备及系统 |
CN112073456A (zh) * | 2017-04-26 | 2020-12-11 | 华为技术有限公司 | 分布式锁的实现方法、相关设备及系统 |
CN108063787A (zh) * | 2017-06-26 | 2018-05-22 | 杭州沃趣科技股份有限公司 | 基于分布式一致性状态机实现双活架构的方法 |
CN108234641B (zh) * | 2017-12-29 | 2021-01-29 | 北京奇元科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
CN108234641A (zh) * | 2017-12-29 | 2018-06-29 | 北京奇虎科技有限公司 | 基于分布式一致性协议实现的数据读写方法及装置 |
WO2019141186A1 (zh) * | 2018-01-16 | 2019-07-25 | 华为技术有限公司 | 数据处理方法和装置 |
US11604597B2 (en) | 2018-01-16 | 2023-03-14 | Huawei Technologies Co., Ltd. | Data processing method and apparatus |
CN108614873B (zh) * | 2018-04-20 | 2020-11-06 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN108614873A (zh) * | 2018-04-20 | 2018-10-02 | 新华三技术有限公司 | 一种数据处理方法及装置 |
CN109885622A (zh) * | 2019-01-18 | 2019-06-14 | 广州虎牙信息科技有限公司 | 一种数据处理设备、系统以及多节点数据处理方法 |
CN110011857A (zh) * | 2019-04-12 | 2019-07-12 | 苏州浪潮智能科技有限公司 | 一种节点控制器的集群事件处理方法及相关装置 |
CN111104070A (zh) * | 2019-12-24 | 2020-05-05 | 北京同有飞骥科技股份有限公司 | 分布式系统中数据一致性的实现方法及系统 |
CN112100190A (zh) * | 2020-09-21 | 2020-12-18 | 天津神舟通用数据技术有限公司 | 一种基于更新序列的分布式锁状态同步方法 |
CN112100190B (zh) * | 2020-09-21 | 2023-12-15 | 天津神舟通用数据技术有限公司 | 一种基于更新序列的分布式锁状态同步方法 |
CN112579620A (zh) * | 2020-12-23 | 2021-03-30 | 上海上实龙创智能科技股份有限公司 | 一种基于消息队列的分布式系统数据最终一致性方法 |
CN113986907A (zh) * | 2021-12-24 | 2022-01-28 | 深圳市明源云科技有限公司 | 异常数据的图形化维护方法、装置、设备及存储介质 |
CN116991332A (zh) * | 2023-09-26 | 2023-11-03 | 长春易加科技有限公司 | 一种智慧工厂大规模数据存储和分析方法 |
CN116991332B (zh) * | 2023-09-26 | 2023-12-15 | 长春易加科技有限公司 | 一种智慧工厂大规模数据存储和分析方法 |
CN117149097A (zh) * | 2023-10-31 | 2023-12-01 | 苏州元脑智能科技有限公司 | 一种分布式存储系统数据访问控制方法及装置 |
CN117149097B (zh) * | 2023-10-31 | 2024-02-06 | 苏州元脑智能科技有限公司 | 一种分布式存储系统数据访问控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103297268B (zh) | 2016-04-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103297268B (zh) | 基于p2p技术的分布式数据一致性维护系统和方法 | |
US7636868B2 (en) | Data replication in a distributed system | |
CN103036717B (zh) | 分布式数据的一致性维护系统和方法 | |
US8140623B2 (en) | Non-blocking commit protocol systems and methods | |
US9141480B2 (en) | Handling failed transaction peers in a distributed hash table | |
WO2018103318A1 (zh) | 分布式事务处理方法和系统 | |
US8719227B1 (en) | Dynamic membership management in a distributed system | |
US10366106B2 (en) | Quorum-based replication of data records | |
CN101334797B (zh) | 一种分布式文件系统及其数据块一致性管理的方法 | |
JP3863842B2 (ja) | 移動コンピュータ環境におけるトランザクションキャッシュ一貫性維持システム及びその方法 | |
JP4722973B2 (ja) | リクエスト処理方法及び計算機システム | |
EP3206378B1 (en) | Smb2 scaleout | |
WO2016070375A1 (zh) | 一种分布式存储复制系统和方法 | |
KR20040015223A (ko) | 클러스터형 컴퓨터 시스템의 자원 작용 수행 방법,클러스터형 컴퓨터 시스템 및 그의 수행을 위한 컴퓨터프로그램 | |
CN107771321A (zh) | 数据中心中的恢复 | |
CN100388225C (zh) | 具有远程数据镜像的集群数据库 | |
CN103885895A (zh) | 容错集群存储系统中的写入性能 | |
US20180219946A1 (en) | Leaderless consistency protocol | |
CN113010496B (zh) | 一种数据迁移方法、装置、设备和存储介质 | |
KR101296778B1 (ko) | NoSQL 데이터베이스를 위한 결과적 트랜잭션 처리 방법 | |
CN111078607A (zh) | 面向rdma与非易失性内存的网络访问编程框架部署方法及系统 | |
JP4201447B2 (ja) | 分散処理システム | |
EP4229522A1 (en) | Highly available, high performance, persistent memory optimized, scale-out database | |
US11003550B2 (en) | Methods and systems of operating a database management system DBMS in a strong consistency mode | |
WO2010096688A1 (en) | Managing workflow communication in a distributed storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160406 Termination date: 20170513 |
|
CF01 | Termination of patent right due to non-payment of annual fee |