[发明专利]一种分布式强一致性组件在审
申请号: | 202011009782.7 | 申请日: | 2020-09-23 |
公开(公告)号: | CN111949675A | 公开(公告)日: | 2020-11-17 |
发明(设计)人: | 晏东;吴晓勇;杨刚 | 申请(专利权)人: | 成都精灵云科技有限公司 |
主分类号: | G06F16/23 | 分类号: | G06F16/23;G06F16/27 |
代理公司: | 成都弘毅天承知识产权代理有限公司 51230 | 代理人: | 孟仕杰 |
地址: | 610041 四川省成都市高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 分布式 一致性 组件 | ||
本发明涉及分布式系统领域,具体是一种分布式强一致性组件,包括编目分区组,包括多个编目节点,所述编目节点用于存储数据,所述编目分区组的数据采用强一致性模式,所述编目分区组内全部编目节点储存数据成功,则该数据储存成功;数据分区组,包括多个主数据节点,所述每个主数据节点包含多个从数据节点,所述主数据节点和从数据节点用于储存数据,所述数据分区组的数据采用最终一致性模式,所述数据分区组的主数据节点储存数据成功,则该数据储存成功;协调节点,用于连接应用端、数据分区组合数据分区组;所述编目分区组和数据分区组采用Raft算法保证数据一致性;解决了多副本部署下,数据无法保持一致的问题。
技术领域
本发明涉及分布式系统领域,具体是指一种分布式强一致性组件。
背景技术
在大数据场景下,分布式的数据一致性管理是其最重要的内核技术之一,也是保证分布式数据库满足数据库最基本的ACID特性中的“一致性”(Consistency)的保障,在分布式技术发展下,数据一致性的解决方法和技术也在不断的演进。
一致性可理解为所有节点都能访问到最新版本的数据,这在单机场景下非常容易实现,使用共享内存和锁即可解决,但数据存储在单机会有两个限制:
1)单机下系统整体将不可用;
2)系统吞吐量受限于单机的计算能力。
消除这两个限制的方法是用多机来存储数据的多个副本,负责更新的客户端会同时更新数据的多个副本,但存在多机之间的网络可能无法连接,当负责更新的客户端无法同时连接到多个机器时,不能保证所有客户端都能读到最新版本的数据
发明内容
基于以上问题,本发明提供了一种分布式强一致性组件,解决了多副本部署下,数据无法保持一致的问题。
为解决以上技术问题,本发明采用的技术方案如下:
一种分布式强一致性组件,包括
编目分区组,包括多个编目节点,所述编目节点用于存储数据,所述编目分区组的数据采用强一致性模式,所述编目分区组内全部编目节点储存数据成功,则该数据储存成功;
数据分区组,包括多个主数据节点,所述每个主数据节点包含多个从数据节点,所述主数据节点和从数据节点用于储存数据,所述数据分区组的数据采用最终一致性模式,所述数据分区组的主数据节点储存数据成功,则该数据储存成功;
协调节点,用于连接应用端、数据分区组合数据分区组;
所述编目分区组和数据分区组采用Raft算法保证数据一致性。
进一步,所述储存的数据包括数据文件和事物日志文件。
进一步,所述事物日志文件由20个64MB的文件构成,所述事物日志文件包含一个index编号和数据操作内容,所述index编号保持递增状态,所述20个文件写满后,从第一个文件开始进行覆盖写入。
进一步,所述编目分区组内全部编目节点均对数据操作内容执行成功,则对该事物日志文件执行成功,若执行失败,将数据操作内容回退给事物日志。
进一步,所述主数据节点对数据操作内容执行成功,则对该事物日志文件执行成功,主数据节点将事物日志同步至从数据节点。
进一步,所述主数据节点将事物日志同步到从数据节点为单线程操作,所述主数据节点执行成功一次事物日志记录一条主序列编号,所述主序列编号按照时间倒序排序,所述主序列编号随着主数据节点同步至从数据节点形成从序列编号,所述从序列编号同样按照时间倒序排序,当主数据和从数据同步时,若排序第一的主序列编号和排序第一的从序列编号的差距为一条记录,则主数据节点将排序第一的主序列编号对应的事物日志推送给从数据节点,若排序第一的主序列编号和排序第一的从序列编号的差距超过一条记录,则将其中未同步的事物日志打包推送给从数据节点。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于成都精灵云科技有限公司,未经成都精灵云科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011009782.7/2.html,转载请声明来源钻瓜专利网。