[发明专利]高可用数据库日志接收队列、同步方法及装置有效
申请号: | 202011607632.6 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112612855B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 赵伟;陈文亭;莫爱玲;王雪松;吕迅 | 申请(专利权)人: | 天津南大通用数据技术股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 天津企兴智财知识产权代理有限公司 12226 | 代理人: | 马倩倩 |
地址: | 300384 天津市滨海新区高新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可用 数据库 日志 接收 队列 同步 方法 装置 | ||
本发明提供了一种高可用数据库日志同步方法,包括:从节点创建至少一个recv_thread线程进行日志块数据的处理和接收,所述日志块数据是由主节点将日志流数据切分而成的日志块数据,每个日志块数据包括日志首部信息和日志数据;每当recv_thread线程接收到一个日志块数据时,先从日志块数据中提取首部信息,根据首部信息将该日志块数据放置接收队列中;所述日志接收队列为一个指针数组,数组中的每个成员为一个结构指针,每个结构指针指向一个结构head,结构head中有两个链表,分别为顺序链表和失序链表,链表中的每个节点是一个日志块数据。本发明能够有效提高集群中从节点对日志的接收和处理速度,降低主从节点日志同步延迟,提高数据库集群高可用性。
技术领域
本发明属于数据库技术领域,尤其是涉及一种高可用数据库日志接收队列、同步方法及装置。
背景技术
在高可用数据库集群中,主从节点通过日志传输保持同步。在高并发场景下,主节点需要处理大量的写请求,因此会产生较多的日志数据。大量日志数据需要发送给从节点,从节点收到日志数据并对其进行处理,进行日志回放和存储,保持与主节点的数据和状态的同步。
然而,受到从节点接收并处理日志数据的速度限制,日志发送速度的单方面提高并不能降低传输延迟,从节点对日志的接收及处理速度会对数据库的高可用性产生较大影响。为了降低日志同步延迟,本发明提出一种对于日志流数据接收方式,能够提高从节点日志接收和处理速度,进而提高数据库性能。
发明内容
有鉴于此,本发明旨在提出一种高可用数据库日志接收队列、同步方法及装置,能够有效提高集群中从节点对日志的接收和处理速度,降低主从节点日志同步延迟,提高数据库集群高可用性。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面,本发明提供了一种高可用数据库日志接收队列,所述日志接收队列为一个指针数组,数组中的每个成员为一个结构指针,每个结构指针指向一个结构head,结构head中有两个链表,分别为顺序链表和失序链表,链表中的每个节点是一个日志块数据。
第二方面,本发明提供了一种高可用数据库日志同步方法,包括:
从节点创建至少一个recv_thread线程进行日志块数据的处理和接收,所述日志块数据是由主节点将日志流数据切分而成的日志块数据,每个日志块数据包括首部信息和日志数据;
每当一个recv_thread线程接收到一个日志块数据时,先从日志块数据中提取首部信息,根据首部信息将该日志块数据放置到上述的接收队列中。
进一步的,每当一个recv_thread线程接收到一个日志块数据后的处理过程,包括如下步骤:
(1)将该序号对指针数组长度取模,确定该日志块数据应该放置到该数组中的对应链表中,然后仅对该链表上锁;
(2)将该日志块数据的序号与对应链表中期待收到的序号对比,如果不相等,则将日志块数据放入失序日志块链表中;
如果相等,则将日志块数据放入到顺序日志链表的末尾,并更新下一个期待接收的序号,再遍历失序链表,检查是否有与期待接收的序号相等的序号,若有则将符合条件的日志块放入顺序链表的末尾,并更新下一个期待接收的序号,直到没有符合条件的序号;
(3)对该链表进行解锁处理。
第三方面,本发明提供了一种从节点,包括:上述接收队列以及接收单元,接收单元用于创建至少一个recv_thread线程进行日志块数据的处理和接收,所述日志块数据是由主节点将日志流数据切分而成的日志块数据,每个日志块数据包括日志首部信息和日志数据;每当一个recv_thread线程接收到一个日志块数据时,先从日志块数据中提取首部信息,根据首部信息将该日志块数据放置到所述的接收队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津南大通用数据技术股份有限公司,未经天津南大通用数据技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011607632.6/2.html,转载请声明来源钻瓜专利网。