CN117931886A - 一种伸缩一致性及极致高可用分布式数据系统 - Google Patents
一种伸缩一致性及极致高可用分布式数据系统 Download PDFInfo
- Publication number
- CN117931886A CN117931886A CN202311722406.6A CN202311722406A CN117931886A CN 117931886 A CN117931886 A CN 117931886A CN 202311722406 A CN202311722406 A CN 202311722406A CN 117931886 A CN117931886 A CN 117931886A
- Authority
- CN
- China
- Prior art keywords
- data
- consistency
- module
- grade
- client
- 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
- 238000004891 communication Methods 0.000 claims abstract description 11
- 230000002159 abnormal effect Effects 0.000 claims abstract description 8
- 238000012545 processing Methods 0.000 claims description 23
- 238000004806 packaging method and process Methods 0.000 claims description 7
- 230000015556 catabolic process Effects 0.000 abstract description 3
- 238000006731 degradation reaction Methods 0.000 abstract description 3
- 230000005540 biological transmission Effects 0.000 description 12
- 239000013256 coordination polymer Substances 0.000 description 2
- 238000000034 method Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24552—Database cache management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2471—Distributed queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种伸缩一致性及极致高可用分布式数据系统,所述分布式数据系统包括客户端、存储单元、支节点和主节点;所述客户端用于客户写数据,将数据标记上一致性等级,并在数据上附带数据的信息,其中等级分为强一致性等级、高可用等级、强一致性优先、极致高可用;所述存储单元用于当客户端与集群通信异常上,将极致高可用数据写本地缓存。本发明一种伸缩一致性及极致高可用分布式数据系统,在主节点添加raft算法,支节点向当前的主点节点发出写入请求后,数据在预定的时间内未收到回复时,即降级为高可用写,从而使得强一致性优先模式在无法维持强一致性的情况下自动降级为高可用读写,减少上层应用干预,自动降级。
Description
技术领域
本发明涉及分布式数据系统技术领域,特别涉及一种伸缩一致性及极致高可用分布式数据系统。
背景技术
数据系统将数据分为不同一致性等级:强一致性等级、高可用等级、强一致性优先、极致高可用,从而导致数据设计者需精确识别数据类型,在合适的时候存入合适的CP或AP系统,现有对系统改进设计,如可调节读写一致性,即允许用户在读写时指定当前操作的一致性等级,相当于将CP/AP融入同一系统,但仍存在用户在操作时,必须选定固定一致性等级,从而存在无法自动降级的问题。
发明内容
本发明的目的在于提供一种伸缩一致性及极致高可用分布式数据系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种伸缩一致性及极致高可用分布式数据系统,所述分布式数据系统包括客户端、存储单元、支节点和主节点;
所述客户端用于客户写数据,将数据标记上一致性等级,并在数据上附带数据的信息,其中等级分为强一致性等级、高可用等级、强一致性优先、极致高可用;
所述存储单元用于当客户端与集群通信异常上,将极致高可用数据写本地缓存;
所述支节点用于将一致性等级进行识别,并当数据为高可用等级,使其在节点上执行Gossip算法传播,向客户端返回数据写入成功;当数据为高可用等级和强一致性优先时,支节点将请求转发至主节点处理;
所述主节点是通过Raft算法,将强一致优先等级的数据进行降级。
优选的,所述客户端包括一致性等级标记模块、打包模块和极致高可用判别模块。
优选的,所述一致性等级标记模块用于区分数据的一致性等级,并在数据做上等级表示,所述打包模块用于将数据携带上IP地址和本地时间戳,所述极致高可用判别模块用于将标记等级的数据进行识别,并将值极高可用数据进行提取。
优选的,所述存储单元包括接收模块、本地缓存模块和备份模块。
优选的,所述接收模块用于接收客户端所发送的数据信息,所述本地缓存模块用于将极致高可用数据进行本地缓存,所述备份模块用于将保存在本体的数据进行备份。
优选的,所述支节点包括识别一致性等级模块、数据区分模块、传播模块、结果回复模块和请求模块。
优选的,所述识别一致性等级模块用于将客户端出入支节点的数据通过标记来识别数据一致性等级,所述数据区分模块包括高可用等级部、强一致性等级部和强一致性优先部,所述数据区分模块用于将识别的不同等级的数据按照结果进行区分。
优选的,所述传播模块用于将一致性等级为高可用等级的数据在节点上执行Gossip算法传播,所述结果回复模块用于将数据写入完成的信息,所述请求模块用于将一致性等级为强一致性等级和强一致性优先的数据转发至主节点处理。
优选的,所述主节点包括强一致性优先处理模块、回传模块、强一致性数据处理模块和回复模块。
优选的,所述强一致性优先处理模块用于支节点优先向主节点请求Raft共识,超时后降级为高可用写,所述回传模块用于将降为高可用等级的强一致性优选的数据回传至支节点,所述强一致性数据处理模块通过Raft算法执行数据一致性共识,过半数一致为数据写入成功,所述回复模块用于向客户端恢复数据写入完成的信息。
本发明的技术效果和优点:
该伸缩一致性及极致高可用分布式数据系统,在主节点添加raft算法,支节点向当前的主点节点发出写入请求后,数据在预定的时间内未收到回复时,即降级为高可用写,从而使得强一致性优先模式在无法维持强一致性的情况下自动降级为高可用读写,减少上层应用干预,自动降级。
附图说明
图1为本发明分布式数据系统流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供了如图1所示的一种伸缩一致性及极致高可用分布式数据系统,分布式数据系统包括客户端、存储单元、支节点和主节点;
客户端用于客户写数据,将数据标记上一致性等级,并在数据上附带数据的信息,其中等级分为强一致性等级、高可用等级、强一致性优先、极致高可用;
存储单元用于当客户端与集群通信异常上,将极致高可用数据写本地缓存;
支节点用于将一致性等级进行识别,并当数据为高可用等级,使其在节点上执行Gossip算法传播,向客户端返回数据写入成功;当数据为高可用等级和强一致性优先时,支节点将请求转发至主节点处理;
主节点是通过Raft算法,将强一致优先等级的数据进行降级。
需要说明的是,在分布式数据系统中,数据以分布式方式存储在不同的节点上,这些节点可以是物理服务器、虚拟机或容器,分布式数据系统提供一些机制来管理数据的分布和复制,以确保数据的一致性、可靠性和可用性;客户端访问任意节点均可提供服务,从而实现通过客户端来发起数据写请求和数据读请求,若经过判断后得出数据读写使用极致高可用模式,则客户端注册到集群,集群节点使用Gossip算法将最新数据同步至客户端本地缓存。
进一步的,数据写请求是指向数据库或分布式系统发送的一种请求,用于将新的数据写入数据库;数据读请求是指向数据库或分布式系统发送的一种请求,用于检索数据,并将其返回给请求方,读请求通常用于查询数据库中的数据,以便获取所需的信息。
具体的,客户端包括一致性等级标记模块、打包模块和极致高可用判别模块。
具体的,一致性等级标记模块用于区分数据的一致性等级,并在数据做上等级表示,打包模块用于将数据携带上IP地址和本地时间戳,极致高可用判别模块用于将标记等级的数据进行识别,并将值极高可用数据进行提取。
需要说明的是,设置的一致性等级标记模块是用于区分数据的一致性等级,其中一致性等级分为强一致性等级、高可用等级、强一致性优先、极致高可用,并通过不同的一致性等级来作上带有其特征的标识,用来区分不同一致性等级的数据,从而实现在客户端标记数据一致性等级,同一系统内灵活提供不同的数据服务级别;打包模块用于数据携带其IP地址和本地时间戳,IP地址指的是数据生成或发送方所在的机器的IP地址,通过携带本地IP地址,可以确定数据的来源,有助于识别数据是由哪个设备生成的;本地时间戳指的是数据生成或发送的本地时间,它用于标记数据生成或发送的准确时间点,用来帮助确定数据的时间顺序和处理顺序;设置的极致高可用判别模块用来区分为极致高可用数据,并将极致高可用数据进行提取,若与集群通信异常,数据等级为极致高可用,则写本地缓存,当与集群通信恢复后执行Gossip算法将数据写入至集群,集群是由多个节点组成的。
进一步的,客户端发起数据写请求时,先将数据的一致性等级进行标识,再将数据的IP地址和本地时间戳进行打包,当数据的一致性等级为极致高可用,且客户端与集群通信异常,数据等级为极致高可用,则写本地缓存,客户端集群通信恢复后执行Gossip算法将数据写入至集群。
具体的,存储单元包括接收模块、本地缓存模块和备份模块。
具体的,接收模块用于接收客户端所发送的数据信息,本地缓存模块用于将极致高可用数据进行本地缓存,备份模块用于将保存在本体的数据进行备份。
需要说明的是,设置的存储单元用于当客户端与集群之间通信异常时,通过接收模块来接收一致性等级为极致高可用数据,再通过本地缓存模块将数据进行储存,当客户端与集群之间通信回复后,将数据执行Gossip算法将数据写入至集群,使得极致高可用模式下客户端与集群建立Gossip网络,无法与集群通信时读写本地缓存;设置的备份模块用于将保存在本地的数据进行备份,将数据复制到另一台设备上,数据备份是防止数据丢失或损坏的重要手段,当原始数据出现故障或意外删除时,备份数据可用于快速找到和恢复数据,从而避免数据丢失。
具体的,支节点包括识别一致性等级模块、数据区分模块、传播模块、结果回复模块和请求模块。
具体的,识别一致性等级模块用于将客户端出入支节点的数据通过标记来识别数据一致性等级,数据区分模块包括高可用等级部、强一致性等级部和强一致性优先部,数据区分模块用于将识别的不同等级的数据按照结果进行区分。
需要说明的是,设置的识别一致性等级模块用于识别通过一致性等级标记模块所标记的数据一致性等级,并通过数据分区模块来区分数据的一致性等级。
具体的,传播模块用于将一致性等级为高可用等级的数据在节点上执行Gossip算法传播,结果回复模块用于将数据写入完成的信息,请求模块用于将一致性等级为强一致性等级和强一致性优先的数据转发至主节点处理。
需要说明的是,Gossip算法是分布式计算中的一种用于消息传递和数据同步的算法,主要用于处理大规模的数据分发和集群管理,该算法的核心思想是通过随机选取一些节点进行信息传递,并让这些节点在特定的时间间隔内随机选取下一个节点进行信息传递,最终让所有节点都获得相同的信息,从而达到数据同步和一致性的目的,从而实现将一致性等级为高可用的数据通过Gossip算法在支节点中进行传播,当传播完成后用过结果回复模块向用户端传递数据写入成功的信息。
进一步的,在使用时,支节点将接收到的数据通过识别一致性等级模块来识别数据的一致性等级,当数据的一致性等级为高可用等级时节点执行Gossip算法传播,传播方法有以下几个步骤:第一步,支节点确定所需传播的数据;第二步,将选定的数据向其他支节点进行发送;第三步,支节点将接收到的信息与自己的信息进行合并,更新自己的数据,通过三个步骤来完成数据的传播,当数据传播完成后,通过结果回复模块向客户端发送写入成功信息。
具体的,主节点包括强一致性优先处理模块、回传模块、强一致性数据处理模块和回复模块。
具体的,强一致性优先处理模块用于支节点优先向主节点请求Raft共识,超时后降级为高可用写,回传模块用于将降为高可用等级的强一致性优选的数据回传至支节点,强一致性数据处理模块通过Raft算法执行数据一致性共识,过半数一致为数据写入成功,回复模块用于向客户端恢复数据写入完成的信息。
需要说明的是,在主节点添加raft算法,支节点向当前的主点节点发出写入请求后,数据在预定的时间内未收到回复时,即降级为高可用写,从而使得强一致性优先模式在无法维持强一致性的情况下自动降级为高可用读写,再将降级后的强一致性优选等级的数据回传至支节点中,将分类为高可用等级数据,来进一步处理;节点将请求转发至主节点处理,主节点通过Raft算法执行数据一致性共识,达成多数一致后,向客户端返回数据写入成功。
进一步的,在读取数据时,当数据的一致性等级为极致高可用,且客户端与集群通信异常时,通过读取本地缓存,通过本地缓存的数据信息来进行读取;
当数据一致性等级为高可用等级时,支节点查询本地数据后返回结果;
当数据一致性等级为强一致性等级时,支节点将请求转发至主节点处理,主节点查询数据后返回结果;
当数据一致性等级为强一致性优先时,节点优先向主节点查询数据,超时后降级为高可用读。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述分布式数据系统包括客户端、存储单元、支节点和主节点;
所述客户端用于客户写数据,将数据标记上一致性等级,并在数据上附带数据的信息,其中等级分为强一致性等级、高可用等级、强一致性优先、极致高可用;
所述存储单元用于当客户端与集群通信异常上,将极致高可用数据写本地缓存;
所述支节点用于将一致性等级进行识别,并当数据为高可用等级,使其在节点上执行Gossip算法传播,向客户端返回数据写入成功;当数据为高可用等级和强一致性优先时,支节点将请求转发至主节点处理;
所述主节点是通过Raft算法,将强一致优先等级的数据进行降级。
2.根据权利要求1所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述客户端包括一致性等级标记模块、打包模块和极致高可用判别模块。
3.根据权利要求2所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述一致性等级标记模块用于区分数据的一致性等级,并在数据做上等级表示,所述打包模块用于将数据携带上IP地址和本地时间戳,所述极致高可用判别模块用于将标记等级的数据进行识别,并将值极高可用数据进行提取。
4.根据权利要求1所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述存储单元包括接收模块、本地缓存模块和备份模块。
5.根据权利要求4所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述接收模块用于接收客户端所发送的数据信息,所述本地缓存模块用于将极致高可用数据进行本地缓存,所述备份模块用于将保存在本体的数据进行备份。
6.根据权利要求1所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述支节点包括识别一致性等级模块、数据区分模块、传播模块、结果回复模块和请求模块。
7.根据权利要求6所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述识别一致性等级模块用于将客户端出入支节点的数据通过标记来识别数据一致性等级,所述数据区分模块包括高可用等级部、强一致性等级部和强一致性优先部,所述数据区分模块用于将识别的不同等级的数据按照结果进行区分。
8.根据权利要求7所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述传播模块用于将一致性等级为高可用等级的数据在节点上执行Gossip算法传播,所述结果回复模块用于将数据写入完成的信息,所述请求模块用于将一致性等级为强一致性等级和强一致性优先的数据转发至主节点处理。
9.根据权利要求1所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述主节点包括强一致性优先处理模块、回传模块、强一致性数据处理模块和回复模块。
10.根据权利要求9所述的一种伸缩一致性及极致高可用分布式数据系统,其特征在于,所述强一致性优先处理模块用于支节点优先向主节点请求Raft共识,超时后降级为高可用写,所述回传模块用于将降为高可用等级的强一致性优选的数据回传至支节点,所述强一致性数据处理模块通过Raft算法执行数据一致性共识,过半数一致为数据写入成功,所述回复模块用于向客户端恢复数据写入完成的信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311722406.6A CN117931886A (zh) | 2023-12-14 | 2023-12-14 | 一种伸缩一致性及极致高可用分布式数据系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311722406.6A CN117931886A (zh) | 2023-12-14 | 2023-12-14 | 一种伸缩一致性及极致高可用分布式数据系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117931886A true CN117931886A (zh) | 2024-04-26 |
Family
ID=90769320
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311722406.6A Pending CN117931886A (zh) | 2023-12-14 | 2023-12-14 | 一种伸缩一致性及极致高可用分布式数据系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117931886A (zh) |
-
2023
- 2023-12-14 CN CN202311722406.6A patent/CN117931886A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106406758B (zh) | 一种基于分布式存储系统的数据处理方法及存储设备 | |
US7440977B2 (en) | Recovery method using extendible hashing-based cluster logs in shared-nothing spatial database cluster | |
CN103268318B (zh) | 一种强一致性的分布式键值数据库系统及其读写方法 | |
CN104679611B (zh) | 数据资源复制方法以及装置 | |
US9286298B1 (en) | Methods for enhancing management of backup data sets and devices thereof | |
US10366106B2 (en) | Quorum-based replication of data records | |
CN103942252B (zh) | 一种恢复数据的方法及系统 | |
US20110258488A1 (en) | Server Failure Recovery | |
CN101809558A (zh) | 远程异步数据复制系统和方法 | |
CN106850856A (zh) | 一种分布式存储系统及其同步缓存方法 | |
US7228352B1 (en) | Data access management system in distributed processing system | |
CN113010549A (zh) | 基于异地多活系统的数据处理方法、相关设备及存储介质 | |
JP2013222373A (ja) | ストレージシステム、キャッシュ制御プログラムおよびキャッシュ制御方法 | |
WO2012158804A1 (en) | Distributed caching and cache analysis | |
CN111651526B (zh) | 冗余前端处理器的数据同步方法、前端处理器和处理系统 | |
CN108762668A (zh) | 一种处理写入冲突的方法及装置 | |
CN102708166B (zh) | 数据复制方法、数据恢复方法及装置 | |
CN106776151A (zh) | Samba集群tdb数据库记录备份方法、装置及系统 | |
CN105323271B (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN107465706B (zh) | 一种基于无线通信网络的分布式数据对象存储装置 | |
CN117931886A (zh) | 一种伸缩一致性及极致高可用分布式数据系统 | |
CN111130896A (zh) | 一种nfs故障的切换方法、系统及双控存储系统 | |
CN109992447A (zh) | 数据复制方法、装置及存储介质 | |
CN116821232A (zh) | 一种数据同步方法及相关装置 | |
CN112711382A (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 |