CN110597467A - 高可用数据零丢失存储系统及方法 - Google Patents
高可用数据零丢失存储系统及方法 Download PDFInfo
- Publication number
- CN110597467A CN110597467A CN201910884974.3A CN201910884974A CN110597467A CN 110597467 A CN110597467 A CN 110597467A CN 201910884974 A CN201910884974 A CN 201910884974A CN 110597467 A CN110597467 A CN 110597467A
- Authority
- CN
- China
- Prior art keywords
- storage
- data
- adaptation module
- node
- request data
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
-
- 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
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种高可用数据零丢失存储系统及方法,所述系统包含应用服务器、代理服务器和数据存储服务器;所述应用服务器用于接收数据写入请求数据或数据读出请求数据;所述数据存储服务器根据预设规则分割为多组存储适配模块,所述存储适配模块包含至少两个存储节点;所述存储节点用于根据所述数据写入请求数据或数据读出请求数据提供数据存储服务或数据读取服务;所述代理服务器用于根据所述应用服务器提供的数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
Description
技术领域
本发明涉及分布式系统中存储系统技术领域,特别涉及一种高可用数据零丢失存储系统及方法。
背景技术
目前,为满足分布式存储系统的高实时性和数据的高可用性要求,任一存储设备出现障时,另一台存储阵列并不能够继续为前端应用提供完整的数据读写服务,故障转移切换不能自动完成且需人工干预,整个过程会影响前端应用对后端数据的读写,不能实现数据零丢失和保证业务的连续性。
原有分布式数据存储的高可用机制下,由于主备数据异步同步,从而导致当主节点故障触发主备切换时,备节点数据将存在与主节点不一致的可能,从而导致数据丢失。原有分布式数据存储节点的主备同步机制在触发全量同步时,会导致正在对外提供服务的主节点性能急剧下降,影响对外服务能力,甚至导致应用访问超时等情况出现;原有高可用在异步复制的机制下,需要前端应用对于数据可能丢失的情况进行大量的补偿措施。
发明内容
本发明的目的在于提供一种可支持分布式存储系统高可用切换时,进行自动补数,保证数据零丢失且不中断对外服务的分布式存储数据存储系统和方法。
为达上述目的,本发明提供的高可用数据零丢失存储系统,具体包含应用服务器、代理服务器和数据存储服务器;所述应用服务器用于接收数据写入请求数据或数据读出请求数据;所述数据存储服务器根据预设规则分割为多组存储适配模块,所述存储适配模块包含至少两个存储节点;所述存储节点用于根据所述数据写入请求数据或数据读出请求数据提供数据存储服务或数据读取服务;所述代理服务器用于根据所述应用服务器提供的数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
在上述高可用数据零丢失存储系统中,优选的,所述代理服务器包含分布式协调器和分布式消息队列模块;所述分布式协调器用于根据所述应用服务器提供的数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;所述分布式消息队列模块用于监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
在上述高可用数据零丢失存储系统中,优选的,所述分布式消息队列模块包含:当所述存储适配模块中所有存储节点的运行状态均符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中所有存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中任一所述存储节点进行数据读取处理。
在上述高可用数据零丢失存储系统中,优选的,所述分布式消息队列模块包含:当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中其他存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中其他所述存储节点进行数据读取处理。
在上述高可用数据零丢失存储系统中,优选的,所述分布式协调器还包含:根据所述数据写入请求数据建立监测标识;当接收所述存储节点的数据存入处理反馈和所述分布式消息队列模块的存入处理反馈后,生成确认信号并反馈至所述应用服务器。
在上述高可用数据零丢失存储系统中,优选的,所述分布式消息队列模块还包含当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述存储节点生成准备标识;当所述存储节点的运行状态符合预定规则时,根据所述准备标识于同一存储适配模块的其他存储节点中获得增量数据,将所述增量数据写入所述存储节点中。
本发明还提供一种高可用数据零丢失存储方法,所述方法包含:接收数据写入请求数据或数据读出请求数据;根据预设规则将数据存储服务器分割为多组存储适配模块,所述存储适配模块包含至少两个存储节点;根据所述数据写入请求数据或数据读出请求数据通过所述存储节点提供数据存储服务或数据读取服务;根据所述数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
在上述高可用数据零丢失存储方法中,优选的,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理包含:当所述存储适配模块中所有存储节点的运行状态均符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中所有存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中任一所述存储节点进行数据读取处理。
在上述高可用数据零丢失存储方法中,优选的,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理包含:当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中其他存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中其他所述存储节点进行数据读取处理。
在上述高可用数据零丢失存储方法中,优选的,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理还包含:当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述存储节点生成准备标识;当所述存储节点的运行状态符合预定规则时,根据所述准备标识于同一存储适配模块的其他存储节点中获得增量数据,将所述增量数据写入所述存储节点中。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
本发明的有益技术效果在于:在保证了具有存储节点高可用能力的前提下,通过分布式消息队列中间件来实现同一分片多个节点间的数据复制,并通过代理节点ACK机制保证了同一分片多个节点间的数据强一致,在触发高可用切换后,保证数据不丢失。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。在附图中:
图1为本发明一实施例所提供的高可用数据零丢失存储系统的结构示意图;
图2为本发明一实施例所提供的代理服务器的结构示意图;
图3为本发明一实施例所提供的高可用数据零丢失存储系统的读写模式的流程示意图;
图4为本发明一实施例所提供的高可用数据零丢失存储系统的切换模式的流程示意图;
图5为本发明一实施例所提供的高可用数据零丢失存储方法的流程示意图;
图6为本发明一实施例所提供的电子设备的结构示意图。
附图标号
应用服务器(APP) 1;
代理服务器(Proxy) 2;
分布式协调器(ETCD) 3;
分布式消息队列(Broker) 4;
存储节点(Storage) 5、6、7、8;
数据存储服务器(Storage) 9;
具体实施方式
以下将结合附图及实施例来详细说明本发明的实施方式,借此对本发明如何应用技术手段来解决技术问题,并达成技术效果的实现过程能充分理解并据以实施。需要说明的是,只要不构成冲突,本发明中的各个实施例及各实施例中的各个特征可以相互结合,所形成的技术方案均在本发明的保护范围之内。
另外,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
请参考图1所示,本发明提供的高可用数据零丢失存储系统,具体包含应用服务器1APP、代理服务器2Proxy和数据存储服务器9Storage;所述应用服务器1APP用于接收数据写入请求数据或数据读出请求数据;所述数据存储服务器9Storage根据预设规则分割为多组存储适配模块,所述存储适配模块包含至少两个存储节点(如:A1、A1');所述存储节点用于根据所述数据写入请求数据或数据读出请求数据提供数据存储服务或数据读取服务;所述代理服务器2Proxy用于根据所述应用服务器APP提供的数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器Storage中获得对应的存储适配模块;监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。以此,通过上述实施例所提供的系统以多主同时进行写操作,以此保证双主的数据强一致性,在触发高可用切换后,保证数据不丢失。
在本发明一实施例中,请参考图2所示,所述代理服务器包含分布式协调器ETCD和分布式消息队列模块Broker;所述分布式协调器ETCD用于根据所述应用服务器提供的数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;所述分布式消息队列模块Broker用于监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。其中,所述分布式消息队列模块Broker包含:当所述存储适配模块中所有存储节点的运行状态均符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中所有存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中任一所述存储节点进行数据读取处理。
在上述实施例中,所述分布式协调器还包含:根据所述数据写入请求数据建立监测标识;当接收所述存储节点的数据存入处理反馈和所述分布式消息队列模块的存入处理反馈后,生成确认信号并反馈至所述应用服务器;该实施例中,除了反馈确认消息之外,还可进一步包含多存储节点的强一致监控,具体方式如下:当分布式协调器收到一个请求时,会初始化一个ackFuture即监测标识,此ackFuture会初始化为在分布式协调器需要满足收到3个ack时,向服务请求者返回确认信息,3个ack包括:分布式协调器对分布式消息队列broker写成功,分布式消息队列一对存储节点主一写成功,分布式消息队列二对存储节点主二写成功。当监控系统判定同一个存储分片中双主中有一个主出现异常,则通过分布式协调器将对ack数量减少为2个,一个为分布式协调器对broker写成功,分布式消息队列一对存储节点主一写成功,与此同时,对于失效的另一个存储主节点将不再进行读写请求,待失效存储主节点恢复后,由分布式协调器对恢复后的存储主节点进行数据追平,待恢复后的存储主节点数据消费偏移量等于另一存储主节点时,分布式协调器将恢复3个ack确认机制,同时存储节点双主同时恢复对外提供读写服务,保证了存储节点双主之间的数据强一致性。
在上述实施例中,所述分布式消息队列模块包含:当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中其他存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中其他所述存储节点进行数据读取处理;进一步的,所述分布式消息队列模块还包含当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述存储节点生成准备标识;当所述存储节点的运行状态符合预定规则时,根据所述准备标识于同一存储适配模块的其他存储节点中获得增量数据,将所述增量数据写入所述存储节点中。
具体的,为更清楚的解释上述高可用数据零丢失存储系统,以下以实际工作中具体使用流程为例,对上述各实施例做整体说明,本领域相关技术人员当可知,以下实例仅为便于本领域相关技术人员理解上述实施例,并不对其做进一步限定。
实际工作中,本发明所提供的高可用数据零丢失存储系统主要包含联机写模式、联机读模式和高可用切换写模式与高可用切换读模式;
请参考图1及图3所示,当所述存储节点的运行状态均正常时:
启动联机写模式:
1、应用服务器集群装置1向代理服务器集群装置2中的分布式消息队列集群4的生产者发送写请求数据包;
2、代理服务器集群装置2中的分布式消息队列集群4的生产者将所收到的写请求根据一致性哈希算法得出所属分布式消息队列集群4中的partition;
3、代理服务器集群装置2中的分布式消息队列集群4的消费者将写请求写入数据存储服务器集群节点装置5、6;
4、代理服务器集群装置2中的分布式消息队列集群4的消费者写入数据存储服务器集群节点装置5、6成功后向代理服务器集群装置2中的分布式消息队列集群4的生产者返回两个确认ACK;
5、代理服务器集群装置2的分布式消息队列集群4的生产者收到两个确认ACK后,向应用服务器集群装置1返回写请求成功应答;
启动联机读模式:
1、应用服务器集群装置1向代理服务器集群装置2发送读请求;
2.、代理服务器集群装置2根据一致性哈希算法得出所属数据存储服务器集群装置9的对应节点,并从节点中的两个存储主节点随机选择一个节点(如:数据存储服务器集群节点装置5)进行读请求;
3、代理服务器集群装置2将数据存储服务器集群装置9的对应节点中(如:数据存储服务器集群节点装置5)读取的数据包返回给应用服务器集群装置1;
请参考图1及图4所示,当所述存储节点的运行状态存在异常时:
启动高可用切换写模式:
1、当数据存储服务器集群节点装置5出现故障,并被监控系统感知且在分布式协调器集群装置3中将此节点状态置为ShutDown;
2、应用服务器集群装置1向代理服务器集群装置2中的分布式消息队列集群4的生产者发送写请求数据包;
3、代理服务器集群装置2中的分布式消息队列集群4的生产者将所收到的写请求根据一致性哈希算法得出所属分布式消息队列集群4中的partition;
4、代理服务器集群装置2中的分布式消息队列集群4的消费者将写请求写入数据存储服务器集群节点装置6。
5、代理服务器集群装置2中的分布式消息队列集群4的消费者写入数据存储服务器集群节点装置6成功后向将1个确认ACK返回给代理服务器集群装置2中的分布式消息队列集群4的生产者;
6、代理服务器集群装置2中的分布式消息队列集群4的生产者在收到一个确认ACK后向应用服务器集群装置1返回写请求成功应答;
启动高可用切换读模式:
1、当数据存储服务器集群节点装置5出现故障,并被监控系统感知且在分布式协调器集群装置3中将此节点状态置为ShutDown;
2、应用服务器集群装置1向代理服务器集群装置2发送读请求数据包;
3、代理服务器集群装置2根据一致性哈希算法得出所属数据存储服务器集群装置9的对应节点,并将读请求路由至数据存储服务器集群节点装置6;
4、代理服务器集群装置2将从数据存储服务器集群节点装置6读取的数据返回给应用服务器集群装置1;
请参考图5所示,本发明还提供一种高可用数据零丢失存储方法,所述方法包含:S501接收数据写入请求数据或数据读出请求数据;S502根据预设规则将数据存储服务器分割为多组存储适配模块,所述存储适配模块包含至少两个存储节点;S503根据所述数据写入请求数据或数据读出请求数据通过所述存储节点提供数据存储服务或数据读取服务;S504根据所述数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;S505监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
在上述实施例中,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理包含:当所述存储适配模块中所有存储节点的运行状态均符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中所有存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中任一所述存储节点进行数据读取处理。以及,当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中其他存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中其他所述存储节点进行数据读取处理。
在上述实施例中,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理还包含:当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述存储节点生成准备标识;当所述存储节点的运行状态符合预定规则时,根据所述准备标识于同一存储适配模块的其他存储节点中获得增量数据,将所述增量数据写入所述存储节点中。
本发明在保证了具有存储节点高可用能力的前提下,通过分布式消息队列中间件来实现同一分片多个节点间的数据复制,并通过代理节点ACK机制保证了同一分片多个节点间的数据强一致,在触发高可用切换后,保证数据不丢失。其次,当故障节点被修复并正常运行后,本发明通过监控系统可自行感知存储节点状态,并通过分布式协调器的状态修改通知代理节点更新内存中的路由表,代理节点利用分布式消息队列中间件来实现数据的追加写入,追加过程中不会对正在对外服务的主节点造成性能损耗,并在数据追平后自动开启对外服务。同时,本发明给应用减少了大量故障应急工作,使产品的使用更加简洁便利,将复杂的高可用机制对前端应用做到了完全透明。
本发明还提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述方法。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述方法的计算机程序。
如图6所示,该电子设备600还可以包括:通信模块110、输入单元120、音频处理单元130、显示器160、电源170。值得注意的是,电子设备600也并不是必须要包括图6中所示的所有部件;此外,电子设备600还可以包括图6中没有示出的部件,可以参考现有技术。
如图6所示,中央处理器100有时也称为控制器或操作控件,可以包括微处理器或其他处理器装置和/或逻辑装置,该中央处理器100接收输入并控制电子设备600的各个部件的操作。
其中,存储器140,例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或更多种。可储存上述与失败有关的信息,此外还可存储执行有关信息的程序。并且中央处理器100可执行该存储器140存储的该程序,以实现信息存储或处理等。
输入单元120向中央处理器100提供输入。该输入单元120例如为按键或触摸输入装置。电源170用于向电子设备600提供电力。显示器160用于进行图像和文字等显示对象的显示。该显示器例如可为LCD显示器,但并不限于此。
该存储器140可以是固态存储器,例如,只读存储器(ROM)、随机存取存储器(RAM)、SIM卡等。还可以是这样的存储器,其即使在断电时也保存信息,可被选择性地擦除且设有更多数据,该存储器的示例有时被称为EPROM等。存储器140还可以是某种其它类型的装置。存储器140包括缓冲存储器141(有时被称为缓冲器)。存储器140可以包括应用/功能存储部142,该应用/功能存储部142用于存储应用程序和功能程序或用于通过中央处理器100执行电子设备600的操作的流程。
存储器140还可以包括数据存储部143,该数据存储部143用于存储数据,例如联系人、数字数据、图片、声音和/或任何其他由电子设备使用的数据。存储器140的驱动程序存储部144可以包括电子设备的用于通信功能和/或用于执行电子设备的其他功能(如消息传送应用、通讯录应用等)的各种驱动程序。
通信模块110即为经由天线111发送和接收信号的发送机/接收机110。通信模块(发送机/接收机)110耦合到中央处理器100,以提供输入信号和接收输出信号,这可以和常规移动通信终端的情况相同。
基于不同的通信技术,在同一电子设备中,可以设置有多个通信模块110,如蜂窝网络模块、蓝牙模块和/或无线局域网模块等。通信模块(发送机/接收机)110还经由音频处理器130耦合到扬声器131和麦克风132,以经由扬声器131提供音频输出,并接收来自麦克风132的音频输入,从而实现通常的电信功能。音频处理器130可以包括任何合适的缓冲器、解码器、放大器等。另外,音频处理器130还耦合到中央处理器100,从而使得可以通过麦克风132能够在本机上录音,且使得可以通过扬声器131来播放本机上存储的声音。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (12)
1.一种高可用数据零丢失存储系统,其特征在于,所述系统包含应用服务器、代理服务器和数据存储服务器;
所述应用服务器用于接收数据写入请求数据或数据读出请求数据;
所述数据存储服务器根据预设规则分割为多组存储适配模块,所述存储适配模块包含至少两个存储节点;所述存储节点用于根据所述数据写入请求数据或数据读出请求数据提供数据存储服务或数据读取服务;
所述代理服务器用于根据所述应用服务器提供的数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
2.根据权利要求1所述的高可用数据零丢失存储系统,其特征在于,所述代理服务器包含分布式协调器和分布式消息队列模块;
所述分布式协调器用于根据所述应用服务器提供的数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;
所述分布式消息队列模块用于监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
3.根据权利要求2所述的高可用数据零丢失存储系统,其特征在于,所述分布式消息队列模块包含:当所述存储适配模块中所有存储节点的运行状态均符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中所有存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中任一所述存储节点进行数据读取处理。
4.根据权利要求2所述的高可用数据零丢失存储系统,其特征在于,所述分布式协调器还包含:根据所述数据写入请求数据建立监测标识;当接收所述存储节点的数据存入处理反馈和所述分布式消息队列模块的存入处理反馈后,生成确认信号并反馈至所述应用服务器。
5.根据权利要求2所述的高可用数据零丢失存储系统,其特征在于,所述分布式消息队列模块包含:当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中其他存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中其他所述存储节点进行数据读取处理。
6.根据权利要求5所述的高可用数据零丢失存储系统,其特征在于,所述分布式消息队列模块还包含当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述存储节点生成准备标识;当所述存储节点的运行状态符合预定规则时,根据所述准备标识于同一存储适配模块的其他存储节点中获得增量数据,将所述增量数据写入所述存储节点后更新所述准备标识。
7.一种高可用数据零丢失存储方法,其特征在于,所述方法包含:
接收数据写入请求数据或数据读出请求数据;
根据预设规则将数据存储服务器分割为多组存储适配模块,所述存储适配模块包含至少两个存储节点;
根据所述数据写入请求数据或数据读出请求数据通过所述存储节点提供数据存储服务或数据读取服务;
根据所述数据写入请求数据或数据读出请求数据通过一致性哈希算法于所述数据存储服务器中获得对应的存储适配模块;
监测所述存储适配模块中各存储节点的运行状态,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理。
8.根据权利要求7所述的高可用数据零丢失存储方法,其特征在于,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理包含:
当所述存储适配模块中所有存储节点的运行状态均符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中所有存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中任一所述存储节点进行数据读取处理。
9.根据权利要求7所述的高可用数据零丢失存储方法,其特征在于,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理包含:
当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述数据写入请求数据对所述存储适配模块中其他存储节点进行数据存入处理;或,根据所述数据读出请求数据于所述存储适配模块中其他所述存储节点进行数据读取处理。
10.根据权利要求9所述的高可用数据零丢失存储方法,其特征在于,根据所述运行状态对所述存储适配模块进行数据存入处理或读取处理还包含:
当所述存储适配模块中任一所述存储节点的运行状态不符合预定规则时,根据所述存储节点生成准备标识;
当所述存储节点的运行状态符合预定规则时,根据所述准备标识于同一存储适配模块的其他存储节点中获得增量数据,将所述增量数据写入所述存储节点后更新所述准备标识。
11.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求7至10任一所述方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有执行权利要求7至10任一所述方法的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884974.3A CN110597467B (zh) | 2019-09-19 | 2019-09-19 | 高可用数据零丢失存储系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910884974.3A CN110597467B (zh) | 2019-09-19 | 2019-09-19 | 高可用数据零丢失存储系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110597467A true CN110597467A (zh) | 2019-12-20 |
CN110597467B CN110597467B (zh) | 2023-04-07 |
Family
ID=68861029
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910884974.3A Active CN110597467B (zh) | 2019-09-19 | 2019-09-19 | 高可用数据零丢失存储系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110597467B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464628A (zh) * | 2020-03-31 | 2020-07-28 | 中国工商银行股份有限公司 | 多路复用异步处理系统及方法 |
CN114415984A (zh) * | 2022-03-31 | 2022-04-29 | 阿里云计算有限公司 | 数据处理方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379021A (zh) * | 2012-04-24 | 2013-10-30 | 中兴通讯股份有限公司 | 实现分布式消息队列的方法及系统 |
CN104202375A (zh) * | 2014-08-22 | 2014-12-10 | 广州华多网络科技有限公司 | 同步数据的方法及系统 |
US20160234129A1 (en) * | 2015-02-05 | 2016-08-11 | Hitachi, Ltd. | Communication system, queue management server, and communication method |
CN108833462A (zh) * | 2018-04-13 | 2018-11-16 | 中国科学院信息工程研究所 | 一种面向微服务的自注册服务发现的系统及方法 |
-
2019
- 2019-09-19 CN CN201910884974.3A patent/CN110597467B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103379021A (zh) * | 2012-04-24 | 2013-10-30 | 中兴通讯股份有限公司 | 实现分布式消息队列的方法及系统 |
CN104202375A (zh) * | 2014-08-22 | 2014-12-10 | 广州华多网络科技有限公司 | 同步数据的方法及系统 |
US20160234129A1 (en) * | 2015-02-05 | 2016-08-11 | Hitachi, Ltd. | Communication system, queue management server, and communication method |
CN108833462A (zh) * | 2018-04-13 | 2018-11-16 | 中国科学院信息工程研究所 | 一种面向微服务的自注册服务发现的系统及方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464628A (zh) * | 2020-03-31 | 2020-07-28 | 中国工商银行股份有限公司 | 多路复用异步处理系统及方法 |
CN111464628B (zh) * | 2020-03-31 | 2022-10-11 | 中国工商银行股份有限公司 | 多路复用异步处理系统及方法 |
CN114415984A (zh) * | 2022-03-31 | 2022-04-29 | 阿里云计算有限公司 | 数据处理方法及装置 |
CN114415984B (zh) * | 2022-03-31 | 2022-08-16 | 阿里云计算有限公司 | 数据处理方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110597467B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11892922B2 (en) | State management methods, methods for switching between master application server and backup application server, and electronic devices | |
CN112612851B (zh) | 多中心数据同步方法及装置 | |
CN103164523A (zh) | 数据一致性检查方法、装置及系统 | |
US20210320977A1 (en) | Method and apparatus for implementing data consistency, server, and terminal | |
CN110597467B (zh) | 高可用数据零丢失存储系统及方法 | |
KR101983208B1 (ko) | 데이터 관리 방법, 노드, 그리고 데이터베이스 클러스터를 위한 시스템 | |
EP4213037A1 (en) | Data storage and reconciliation method and system | |
CN107817951B (zh) | 一种实现Ceph集群融合的方法及装置 | |
WO2024008156A1 (zh) | 数据库系统、主库选举方法及装置 | |
US20080133967A1 (en) | Distributed object sharing system and method thereof | |
CN111464628A (zh) | 多路复用异步处理系统及方法 | |
CN111352959B (zh) | 数据同步补救、存储方法及集群装置 | |
CN108616598B (zh) | 数据同步方法、装置和分布式存储系统 | |
CN112929438B (zh) | 一种双站点分布式数据库的业务处理方法及装置 | |
CN109298977A (zh) | 一种虚拟机业务快速恢复方法、系统、装置及存储介质 | |
EP3896931A1 (en) | Spark shuffle-based remote direct memory access system and method | |
US11860719B2 (en) | Method for implementing storage service continuity in storage system, front-end interface card, and storage system | |
CN108400881B (zh) | 基于状态机的消息引擎动态调整方法、装置及电子设备 | |
CN107404511B (zh) | 集群中服务器的替换方法及设备 | |
CN108268210B (zh) | 一种信息处理方法、计算节点及存储节点 | |
CN115292293A (zh) | 分布式缓存系统的数据迁移方法和装置 | |
CN111209342B (zh) | 分布式系统、数据同步与节点管理方法、设备及存储介质 | |
CN111698337B (zh) | 建立通信连接的方法、装置及设备 | |
CN113505177A (zh) | 分布式系统集群在线分片扩容方法及装置 | |
CN113507390A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |