用于分布式数据库集群的同步装置、智能网卡及同步方法制造方法及图纸

技术编号:38248223 阅读:14 留言:0更新日期:2023-07-25 18:07
本发明专利技术公开了用于分布式数据库集群的同步装置、智能网卡及同步方法,属于分布式数据库集群技术领域,要解决的技术问题为如何实现分布式数据库的一致性同步。包括:存储区,用于存储用户的集群配置信息,所述用户的集群配置信息包括其它存储节点及其地址信息,其中,其它存储节点及其地址信息以follower列表的形式存储;日志缓存区,用于存储用户日志同步数据;心跳模块,用于在leader模式下定时发送心跳信息;选举模块,用于在leader故障时发起投票,选举新leader;同步模块,用于遍历所述日志缓存区follower列表、并向配置于存储区中的相邻节点发送用户同步日志数据。邻节点发送用户同步日志数据。邻节点发送用户同步日志数据。

【技术实现步骤摘要】
用于分布式数据库集群的同步装置、智能网卡及同步方法


[0001]本专利技术涉及分布式数据库集群
,具体地说是用于分布式数据库集群的同步装置、智能网卡及同步方法。

技术介绍

[0002]raft是一个共识算法(consensus algorithm),所谓共识,就是多个节点对某个事情达成一致的看法,即使是在部分节点故障、网络延时、网络分割的情况下。在分布式系统中,共识算法更多用于提高系统的容错性。raft协议的工作原理是:raft会先选举出leader,leader完全负责replicated log的管理。leader负责接受所有客户端更新请求,然后复制到follower节点,并在“安全”的时候执行这些请求。系统中最多只有一个leader,如果在一段时间里发现没有leader,则大家通过选举

投票选出leader。leader会不停的给follower发心跳消息,表明自己的存活状态。客户端的一切请求发送到leader,leader来调度这些并发请求的顺序,并且保证leader与followers状态的一致性。raft中的做法是,将这些请求以及执行顺序告知followers。leader和followers以相同的顺序来执行这些请求,保证状态一致。
[0003]如何实现分布式数据库的一致性同步,是需要解决的技术问题。

技术实现思路

[0004]本专利技术的技术任务是针对以上不足,提供用于分布式数据库集群的同步装置、智能网卡及同步方法,来解决如何实现分布式数据库的一致性同步的技术问题。
[0005]第一方面,本专利技术一种用于分布式数据库集群的同步装置,所述同步装置配置于智能网卡,包括:
[0006]存储区,所述存储区用于存储用户的集群配置信息,所述用户的集群配置信息包括其它存储节点及其地址信息,其中,其它存储节点及其地址信息以follower列表的形式存储;
[0007]日志缓存区,所述日志缓存区用于存储用户日志同步数据;
[0008]心跳模块,所述心跳模块用于在leader模式下定时发送心跳信息;
[0009]选举模块,所述选举模块用于在leader故障时发起投票,选举新leader;
[0010]同步模块,所述同步模块用于遍历所述日志缓存区follower列表、并向配置于存储区中的相邻节点发送用户同步日志数据。
[0011]作为优选,所述同步装置配置于基于SOC和FPGA的智能网卡;
[0012]所述心跳模块、选举模块和同步模块均与软件代码在SOC编程区实现。
[0013]作为优选,所述FPGA部分配置有TCP核,所述TCP核基于TCP协议与应用交互。
[0014]作为优选,所述FPGA部分配置有加解密核,所述加解密核与所述TCP核电连接,并与所述SOC电连接,用于对发送至应用的数据进行解密,并用于对接收自应用的数据进行加密。
[0015]作为优选,所述TCP核通过网络接口与应用交互。
[0016]作为优选,所述同步装置还包括DMA引擎,所述DMA引擎与同步模块电连接,用于与主机进行数据交互。
[0017]作为优选,所述DMA引擎用于与配置于主机中的DDR芯片进行数据交互。
[0018]第二方面,本专利技术一种智能网卡,所述智能网卡上配置有如第一方面任一项所述的同步装置。
[0019]第三方面,本专利技术一种分布式数据库集群的数据同步方法,对于分布式数据库集群的每个主机节点,所述主机节点上配置有如第二方面所述的智能网卡,
[0020]对于分布式数据集集群中leader节点和follower节点,所述数据同步方法为:
[0021]应用将同步数据下发至智能网卡,智能网卡遍历配置于存储区的follower列表并发送同步数据到其它存储节点,作为其它存储节点的follower节点收到同步数据后先回复leader节点同步确认,然后通知应用收到同步数据,应用主动获取数据并保存;
[0022]当leader节点收到半数及以上follower节点的同步确认请求后通知应用确认数据。
[0023]本专利技术的用于分布式数据库集群的同步装置、智能网卡及同步方法具有以下优点:
[0024]1、通过配置于智能网卡的同步装置,实现了分布式数据库集群中数据同步性;
[0025]2、利用SOC+FPGA智能网卡的可编程能力,卸载CPU负载的同时利用FPGA对数据面提供硬件加速能力提高数据的安全性。
附图说明
[0026]为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0027]下面结合附图对本专利技术进一步说明。
[0028]图1为实施例1一种用于分布式数据库集群的同步装置的结构框图;
[0029]图2为实施例3一种分布式数据库集群的数据同步方法的数据同步示意图。
具体实施方式
[0030]下面结合附图和具体实施例对本专利技术作进一步说明,以使本领域的技术人员可以更好地理解本专利技术并能予以实施,但所举实施例不作为对本专利技术的限定,在不冲突的情况下,本专利技术实施例以及实施例中的技术特征可以相互结合。
[0031]本专利技术实施例提供用于分布式数据库集群的同步装置、智能网卡及同步方法,用于解决如何实现分布式数据库的一致性同步的技术问题。
[0032]实施例1:
[0033]本专利技术一种用于分布式数据库集群的同步装置,该同步装置配置于智能网卡,包括存储区、日志缓存区、心跳模块、选举模块以及同步模块。
[0034]存储区用于存储用户的集群配置信息,所述用户的集群配置信息包括其它存储节
点及其地址信息,其中,其它存储节点及其地址信息以follower列表的形式存储。
[0035]日志缓存区用于存储用户日志同步数据。
[0036]心跳模块用于在leader模式下定时发送心跳信息。
[0037]选举模块用于在leader故障时发起投票,选举新leader。
[0038]同步模块用于遍历所述日志缓存区follower列表、并向配置于存储区中的相邻节点发送用户同步日志数据。
[0039]本实施例中,同步装置配置于基于SOC和FPGA的智能网卡,心跳模块、选举模块和同步模块均与软件代码在SOC编程区实现。
[0040]FPGA部分配置有TCP核,所述TCP核基于TCP协议与应用交互。本实施例中,TCP核通过网络接口与应用交互。
[0041]同步装置还包括DMA引擎,该DMA引擎与同步模块电连接,用于与主机进行数据交互。
[0042]作为优选,FPGA部分配置有加解密核,所述加解密核与所述TCP核电连接,并与所述SOC电连接,用于对发送至应用的数据进行解密,并用于对接收自应本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种用于分布式数据库集群的同步装置,其特征在于,所述同步装置配置于智能网卡,包括:存储区,所述存储区用于存储用户的集群配置信息,所述用户的集群配置信息包括其它存储节点及其地址信息,其中,其它存储节点及其地址信息以follower列表的形式存储;日志缓存区,所述日志缓存区用于存储用户日志同步数据;心跳模块,所述心跳模块用于在leader模式下定时发送心跳信息;选举模块,所述选举模块用于在leader故障时发起投票,选举新leader;同步模块,所述同步模块用于遍历所述日志缓存区follower列表、并向配置于存储区中的相邻节点发送用户同步日志数据。2.根据权利要求1所述的用于分布式数据库集群的同步装置,其特征在于,所述同步装置配置于基于SOC和FPGA的智能网卡;所述心跳模块、选举模块和同步模块均与软件代码在SOC编程区实现。3.根据权利要求2所述的用于分布式数据库集群的同步装置,其特征在于,所述FPGA部分配置有TCP核,所述TCP核基于TCP协议与应用交互。4.根据权利要求3所述的用于分布式数据库集群的同步装置,其特征在于,所述FPGA部分配置有加解密核,所述加解密核与所述TCP核电连接,并与所述SOC电连接,用于对发送至应用的数据进行解密,并用于对接收自应用的数据进行加密...

【专利技术属性】
技术研发人员:李正蛟赵鑫鑫王帅
申请(专利权)人:山东浪潮科学研究院有限公司
类型:发明
国别省市:

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

1