数据库流复制方法及装置制造方法及图纸

技术编号:32461368 阅读:46 留言:0更新日期:2022-02-26 08:50
本申请是关于一种数据库流复制方法及装置,具体涉及网络通信技术领域。所述方法包括:生成预写式日志;该主节点数据库中加载有基于数据平面开发套件的加速网络协议栈DPDK

【技术实现步骤摘要】
数据库流复制方法及装置


[0001]本专利技术涉及网络通信
,具体涉及数据库流复制方法及装置。

技术介绍

[0002]分布式数据库系统中由各个计算机构成,每台计算机可单独放在一个地方,每台计算机中都具有自己局部的数据库,位于不同地点的许多计算机通过网络互相连接,共同组成一个完整的、全局的逻辑上集中、物理上分布的大型数据库。
[0003]以MPP架构的数据库集群为例,MPP数据库集群主要由Master,Standby,Segment三部分组成,其中Master节点一方面要负责处理客户端的请求,分发执行计划到各Segment节点并汇总结果,另一方面还要将Master的所有xlog日志通过流复制同步到Standby节点,以保证Standby的数据与Master的数据同步。
[0004]但上述方案中,当进行大数据量插入查询或者大量客户端连接时,网络性能就会成为瓶颈,过高的延迟会造成Master/Standby之间流复制失败,导致数据不同步,进而引发集群故障。

技术实现思路

[0005]本申请提供了一种数据库流复制方法及装置,减小了由于数据不同步导致的集群故障的发生的可能性,该技术方案如下。
[0006]一方面,提供了一种数据库流复制方法,所述方法用于主节点设备,所述包括:
[0007]生成预写式日志;所述预写式日志用于指示所述主节点设备上的主节点数据库的更新情况;所述主节点数据库中加载有基于数据平面开发套件的加速网络协议栈DPDK

ANS的接口函数;<br/>[0008]通过所述DPDK

ANS的接口函数,调用所述DPDK

ANS将所述预写式日志传输至备份节点设备,以便所述备份节点数据库进行数据更新;所述备份节点设备上加载有备份节点数据库;所述备份节点数据库中加载有所述DPDK

ANS的接口函数。
[0009]又一方面,提供了一种数据库流复制方法,所述方法用于备份节点设备,所述备份节点设备上加载有备份节点数据库;所述方法包括:
[0010]通过基于数据平面开发套件的加速网络协议栈DPDK

ANS接收主节点设备发送的预写式日志;所述预写式日志用于指示所述主节点数据库的更新情况;所述主节点数据库中加载有所述DPDK

ANS的接口函数;
[0011]将预写式日志导入备份节点数据库;所述备份节点数据库中加载有所述DPDK

ANS的接口函数。
[0012]又一方面,提供了一种数据库流复制装置,所述装置应用于主节点设备,所述装置包括:
[0013]日志生成模块,用于生成预写式日志;所述预写式日志用于指示所述主节点设备上的主节点数据库的更新情况;所述主节点数据库中加载有基于数据平面开发套件的加速
网络协议栈DPDK

ANS的接口函数;
[0014]日志传输模块,用于通过所述DPDK

ANS的接口函数,调用所述DPDK

ANS将所述预写式日志传输至备份节点设备,以便所述备份节点数据库进行数据更新;所述备份节点设备上加载有备份节点数据库;所述备份节点数据库中加载有所述DPDK

ANS的接口函数。
[0015]在一种可能的实现方式中,所述装置还包括:
[0016]第一文件获取模块,获取第一源代码文件;
[0017]第一头文件替换模块,用于将所述第一源代码文件中的linux接口头文件替换为适配层头文件,获得第一适配代码文件;所述适配层头文件中包含所述DPDK

ANS的接口函数;
[0018]主节点数据库加载模块,用于编译所述第一适配代码文件,生成并加载第一可执行程序,以启动所述主节点数据库。
[0019]在一种可能的实现方式中,所述装置还包括:
[0020]更新数据获取模块,用于获取第一主应用程序生成的第一更新数据;
[0021]更新数据传输模块,用于通过主节点设备上的linux接口函数,调用内核网络将所述第一更新数据传输至所述备份节点设备,以实现所述备份节点设备上的第一备份应用程序的数据更新。
[0022]又一方面,提供了一种数据库流复制装置,所述装置用于备份节点设备,所述备份节点设备上加载有备份节点数据库;所述装置包括:
[0023]日志接收模块,用于通过基于数据平面开发套件的加速网络协议栈DPDK

ANS接收主节点设备发送的预写式日志;所述预写式日志用于指示所述主节点数据库的更新情况;所述主节点数据库中加载有所述DPDK

ANS的接口函数;
[0024]日志导入模块,用于将预写式日志导入备份节点数据库;所述备份节点数据库中加载有所述DPDK

ANS的接口函数。
[0025]在一种可能的实现方式中,所述装置还包括:
[0026]第二文件获取模块,用于获取第二源代码文件;
[0027]第二头文件替换模块,用于将所述第二源代码文件中的linux接口头文件替换为适配层头文件,获得第二适配代码文件;所述适配层头文件中包含所述DPDK

ANS的接口函数;
[0028]备份节点数据库加载模块,用于编译所述第二适配代码文件,生成并加载第二可执行程序,以启动所述备份节点数据库。
[0029]在一种可能的实现方式中,更新数据接收模块,用于通过内核网络接收所述主节点设备发送的第一更新数据;所述第一更新数据是第一主应用程序生成的;
[0030]更新数据导入模块,用于将所述第一更新数据通过第一备份应用程序中的linux接口函数导入所述第一备份应用程序。
[0031]再一方面,提供了一种计算机设备,所述计算机设备中包含处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、至少一段程序、代码集或指令集由处理器加载并执行以实现上述数据库流复制方法。
[0032]又一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令,所述至少一条指令由处理器加载并执行以实现上述的数据库流复制方法。
[0033]再一方面,提供了一种计算机程序产品还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述的数据库流复制方法。
[0034]本申请提供的技术方案可以包括以下有益效果:
[0035]在具有主节点数据库以及备份节点数据库的分布式数据库系统中,可以通过流复制方式实现数据更新同步,而在流辅助过程中,可以在主节点数据库中加载DPDK

ANS的接口函数,从而实现通过DPDK

A本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据库流复制方法,其特征在于,所述方法用于主节点设备,所述方法包括:生成预写式日志;所述预写式日志用于指示所述主节点设备上的主节点数据库的更新情况;所述主节点数据库中加载有基于数据平面开发套件的加速网络协议栈DPDK

ANS的接口函数;通过所述DPDK

ANS的接口函数,调用所述DPDK

ANS将所述预写式日志传输至备份节点设备,以便所述备份节点数据库进行数据更新;所述备份节点设备上加载有备份节点数据库;所述备份节点数据库中加载有所述DPDK

ANS的接口函数。2.根据权利要求1所述的方法,其特征在于,所述生成预写式日志之前,所述方法还包括:获取第一源代码文件;将所述第一源代码文件中的linux接口头文件替换为适配层头文件,获得第一适配代码文件;所述适配层头文件中包含DPDK

ANS的接口函数;编译所述第一适配代码文件,生成并加载第一可执行程序,以启动所述主节点数据库。3.根据权利要求1或2所述的方法,其特征在于,所述主节点设备上还加载有第一主应用程序,所述方法还包括:获取第一主应用程序生成的第一更新数据;通过主节点设备上的linux接口函数,调用内核网络将所述第一更新数据传输至所述备份节点设备,以实现所述备份节点设备上的第一备份应用程序的数据更新。4.一种数据库流复制方法,其特征在于,所述方法用于备份节点设备,所述备份节点设备上加载有备份节点数据库;所述方法包括:通过基于数据平面开发套件的加速网络协议栈DPDK

ANS接收主节点设备发送的预写式日志;所述预写式日志用于指示所述主节点数据库的更新情况;所述主节点数据库中加载有所述DPDK

ANS的接口函数;将预写式日志导入备份节点数据库;所述备份节点数据库中加载有所述DPDK

ANS的接口函数。5.根据权利要求4所述的方法,其特征在于,所述通过所述DPDK

ANS接收主节点设备发送的预写式日志之前,所述方法还包括:获取第二源代码文件;将所述第二源代码文件中的linux接口头文件替换为适配层头文件,获得第二适配代码文件;所述适配层头文件中包含所述DPDK

ANS的接口函数;编译所述第二适配代码文件,生成并加载第二可执行程序,以启动所述备份节点数据库。6.根据权利要求4或5所述的方法,其特征在于,所述备份节点设备上还加载有第一备份应用程序,所述方法还包括:通过内核网络接收所述主节点设备发送的第一更新数据;所述第一更新数据是第一主应用程序生成的;将所述第一更新数据通过所述第一备份应用程序中的linux接口函数导入所述第一备份应用程序。7.一种数据库流复制装置,其特征在于,所述装置应用于主节点设备,所述装置...

【专利技术属性】
技术研发人员:张兰坤
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:

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

1