一种分布式容错键值存储的方法及装置制造方法及图纸

技术编号:22531793 阅读:19 留言:0更新日期:2019-11-13 09:06
本发明专利技术涉及了分布式容错键值存储的方法,包括以下步骤:基于Cassandra构架建立键值存储的环形拓扑;设置环形拓扑中各节点的协调服务架构;响应于接收到多个增删改查任务,从基于协调服务架构的节点中选择至少两个节点作为协调节点;在协调节点处理增删改查任务。协调服务架构赋予所有节点均具备实现全部的功能的能力,能够完成作为协调节点以及作为服务节点的工作。同时,存储将包含多个节点,建立多个副本,各副本互为备份。数据的读写请求可以分布到多个节点、多个副本,从而实现了分布式容错功能,提高数据一致性,解决了节点负载的均衡以及任务延时的问题。

A method and device of distributed fault tolerant key value storage

The invention relates to a distributed fault-tolerant key value storage method, which comprises the following steps: establishing a ring topology of key value storage based on Cassandra architecture; setting a coordination service architecture of each node in the ring topology; selecting at least two nodes from the nodes based on coordination service architecture as coordination nodes in response to receiving multiple add, delete, and modify tasks; processing add, delete, and modify in coordination nodes Task search. The coordination service architecture endows all nodes with the ability to realize all functions, and can complete the work as coordination nodes and service nodes. At the same time, the storage will contain multiple nodes, establish multiple copies, and each copy is backup to each other. Data read and write requests can be distributed to multiple nodes and multiple copies, thus realizing distributed fault-tolerant function, improving data consistency, solving the problem of load balance and task delay of nodes.

【技术实现步骤摘要】
一种分布式容错键值存储的方法及装置
本专利技术涉及大数据数据存储
本专利技术进一步涉及一种分布式容错键值存储的方法及装置。
技术介绍
分布式系统中的数据存储器通常可以包括跨分布式系统的多个存储结构实施键值存储,其中键可以表示索引并且值可以表示存储和/或检索的对象。通过分布式系统的协调节点可以对指定的键值存储结构进行访问。NoSQL的结构通常提供弱一致性的保证,如最终一致性,或仅限于单个的数据项。这些特性意味着NoSQL数据库、Key-Value键值存储给予最终更多的自由度去选择更高性能、高可用以及更好扩展性的数据存储方法及方案。在对数据库中的数据进行CRUD增删改查操作时,基于Cassandra构架建立拓扑结构,Cassandra使用了分布式的Hash-Table环,这个环实现了Key->ServerNode键-服务节点的映射,映射到这个环的键被关联到了特定的服务器节点。分配、映射键使用了某种特定的算法,如hash、基于键范围选值或者某种更复杂的方法。在环中的所有服务器节点中有一个协调节点,通过类似于Paxos的一致性算法选出。然而,基于键值存储的关系型数据库在执行规模小而读写频繁、者大批量极少写访问的事务时,表现出来的性能通常不够理想,一致性不足、容错能力较差并且节点资源负载不均衡。因此,需要提供一种在基于键值存储的关系型数据库执行大批量、小型读写任务时提高一致性、增强容错能力并均衡节点负载的解决方案。
技术实现思路
一方面,本专利技术基于上述目的提出了一种分布式容错键值存储的方法,包括以下步骤:基于Cassandra构架建立键值存储的环形拓扑;设置环形拓扑中各节点的协调服务架构;响应于接收到多个增删改查任务,从基于协调服务架构的节点中选择至少两个节点作为协调节点;在协调节点处理增删改查任务。根据本专利技术的分布式容错键值存储的方法的实施例,其中协调服务架构包括私有成员协议、虚拟环拓扑和增删改查功能组件。根据本专利技术的分布式容错键值存储的方法的实施例,其中私有成员协议由传输层协议和故障检测协议组成,传输层协议配置为以组播的方式通知各节点环形拓扑的拓扑信息;故障检测协议配置为通过节点对于节点恢复请求的响应判断节点的故障情况。根据本专利技术的分布式容错键值存储的方法的实施例,其中还包括:基于拓扑信息通过哈希算法计算得出虚拟环拓扑。根据本专利技术的分布式容错键值存储的方法的实施例,其中在协调节点处理增删改查任务进一步包括:将多个增删改查任务分配至至少两个协调节点;至少两个协调节点并行地根据所分配到的增删改查任务基于增删改查功能组件生成执行指令;将执行指令发送至相应的服务节点,使服务节点按照写时复制机制和/或读时同步机制执行增删改查任务。根据本专利技术的分布式容错键值存储的方法的实施例,其中写时复制机制包括在执行写操作时,通过键-服务节点机制将数据映射写入到三个服务节点上形成同一数据的三个副本。根据本专利技术的分布式容错键值存储的方法的实施例,其中读时同步机制包括在执行读操作时,读取三个副本的数据并进行比较,若相同则反馈该数据;若不相同则反馈时间戳最新的副本的数据,并以该时间戳最新的副本同步三个副本的数据。根据本专利技术的分布式容错键值存储的方法的实施例,其中该方法适用于低于百万级数据存储的小型分布式键值存储。另一方面,本专利技术还提出了一种分布式容错键值存储的装置,包括:至少一个处理器;和存储器,存储有处理器可运行的程序代码,该程序代码在被处理器执行时实现以下步骤:基于Cassandra构架建立键值存储的环形拓扑;设置环形拓扑中各节点的协调服务架构;响应于接收到多个增删改查任务,从基于协调服务架构的节点中选择至少两个节点作为协调节点;在协调节点处理增删改查任务。根据本专利技术的分布式容错键值存储的装置的实施例,其中在协调节点处理增删改查任务进一步包括:将多个增删改查任务分配至至少两个协调节点;至少两个协调节点并行地根据所分配到的增删改查任务基于增删改查功能组件生成执行指令;将执行指令发送至相应的服务节点,使服务节点按照写时复制机制和/或读时同步机制执行增删改查任务。采用上述技术方案,本专利技术至少具有如下有益效果:本专利技术的技术方案成功的实现了一个最小化的Key-Value键值数据存储,可以提供多点写入、多点读取,实现了成员间的内部私有协议,并提供快速复制及高一致性功能。在基于键值存储的关系型数据库执行大批量、小型读写任务时,根据本专利技术的方法创建的数据存储结构基于执行CRUD增删改查任务时的写时复制机制和读时同步机制能够提高数据一致性、增强容错能力。同时由于本专利技术的拓扑环中的所有节点均具备作为协调节点的能力,并且在发起了多个CRUD增删改查任务时,从所有节点中选取多个节点作为协调节点,进而在多个协调节点上并行处理所发起的CURD任务,解决了节点负载的均衡以及任务延时的问题。本专利技术提供了实施例的各方面,不应当用于限制本专利技术的保护范围。根据在此描述的技术可设想到其它实施方式,这对于本领域普通技术人员来说在研究以下附图和具体实施方式后将是显而易见的,并且这些实施方式意图被包含在本申请的范围内。下面参考附图更详细地解释和描述了本专利技术的实施例,但它们不应理解为对于本专利技术的限制。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对现有技术和实施例描述中所需要使用的附图作简单地介绍,附图中的部件不一定按比例绘制,并且可以省略相关的元件,或者在一些情况下比例可能已经被放大,以便强调和清楚地示出本文描述的新颖特征。另外,如本领域中已知的,结构部件可以被不同地布置。在图中:图1示出了根据本专利技术的分布式容错键值存储的方法的实施例的示意性框图;图2示出了根据本专利技术的用于分布式容错键值存储的节点的协调服务架构的实施例的示意图。具体实施方式虽然本专利技术可以以各种形式实施,但是在附图中示出并且在下文中将描述一些示例性和非限制性实施例,但应该理解的是,本公开将被认为是本专利技术的示例并不意图将本专利技术限制于所说明的具体实施例。图1示出了根据本专利技术的分布式容错键值存储的方法的实施例的示意性框图。如图1所示,该方法的实施例包括以下步骤:S1:基于Cassandra构架建立键值存储的环形拓扑;S2:设置环形拓扑中各节点的协调服务架构;S3:响应于接收到多个增删改查任务,从基于协调服务架构的节点中选择至少两个节点作为协调节点;S4:在协调节点处理增删改查任务。具体地说,在步骤S1中,基于Cassandra构架建立Key-Value键值存储的环形拓扑。在此,根据Cassandra构架中的Key->Servernode键-服务节点的映射机制,通过哈希算法将数据的键值映射到服务节点环中,关联到特定的节点,完成环形拓扑。为了均衡节点负载,在步骤S2中对环形拓扑的各节点设置协调服务架构,以使各节点具备作为协调节点的能力。优选地,环形拓扑中的所有节点均设置协调服务架构,从而所有的节点均具有作为协调节点的可能性。随后步骤S3开始响应于接收到发起的多个CRUD增删改查任务,从基于协调服务架构的节点中选择至少两个节点作为协调节点。也就是说,在发生大批量CRUD任务的时候,从所有具备协调服务架构即具有协调功能的节点中按照合适的算法选择出至少两个作为协调节点。更具需求,可以选择更多个节点作为本文档来自技高网...

【技术保护点】
1.一种分布式容错键值存储的方法,其特征在于,所述方法包括以下步骤:基于Cassandra构架建立所述键值存储的环形拓扑;设置所述环形拓扑中各节点的协调服务架构;响应于接收到多个增删改查任务,从基于所述协调服务架构的所述节点中选择至少两个所述节点作为协调节点;在所述协调节点处理所述增删改查任务。

【技术特征摘要】
1.一种分布式容错键值存储的方法,其特征在于,所述方法包括以下步骤:基于Cassandra构架建立所述键值存储的环形拓扑;设置所述环形拓扑中各节点的协调服务架构;响应于接收到多个增删改查任务,从基于所述协调服务架构的所述节点中选择至少两个所述节点作为协调节点;在所述协调节点处理所述增删改查任务。2.根据权利要求1所述的方法,其特征在于,所述协调服务架构包括私有成员协议、虚拟环拓扑和增删改查功能组件。3.根据权利要求2所述的方法,其特征在于,所述私有成员协议由传输层协议和故障检测协议组成,所述传输层协议配置为以组播的方式通知各节点所述环形拓扑的拓扑信息;所述故障检测协议配置为通过所述节点对于节点恢复请求的响应判断所述节点的故障情况。4.根据权利要求3所述的方法,其特征在于,还包括:基于所述拓扑信息通过哈希算法计算得出所述虚拟环拓扑。5.根据权利要求2所述的方法,其特征在于,所述在所述协调节点处理所述增删改查任务进一步包括:将所述多个增删改查任务分配至至少两个所述协调节点;所述至少两个协调节点并行地根据所分配到的所述增删改查任务基于所述增删改查功能组件生成执行指令;将所述执行指令发送至相应的所述服务节点,使所述服务节点按照写时复制机制和/或读时同步机制执行所述增删改查任务。6.根据权利要求5所述的方法,其特征在于,所述写时复制...

【专利技术属性】
技术研发人员:孙希发陈英南
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1