[发明专利]高可用数据库日志接收队列、同步方法及装置有效
申请号: | 202011607632.6 | 申请日: | 2020-12-29 |
公开(公告)号: | CN112612855B | 公开(公告)日: | 2023-01-24 |
发明(设计)人: | 赵伟;陈文亭;莫爱玲;王雪松;吕迅 | 申请(专利权)人: | 天津南大通用数据技术股份有限公司 |
主分类号: | G06F16/27 | 分类号: | G06F16/27 |
代理公司: | 天津企兴智财知识产权代理有限公司 12226 | 代理人: | 马倩倩 |
地址: | 300384 天津市滨海新区高新区*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 可用 数据库 日志 接收 队列 同步 方法 装置 | ||
1.一种高可用数据库日志接收队列的数据处理方法,其特征在于:所述日志接收队列为一个指针数组,数组中的每个成员为一个结构指针,每个结构指针指向一个结构head,结构head中有两个链表,分别为顺序链表和失序链表,链表中的每个节点是一个日志块数据;
所述日志块数据的首部信息包括日志块数据的序号,recv_thread线程接收到日志块数据后的处理过程包括如下步骤:
S1,将该序号对指针数组长度取模,确定该日志块数据应该放置到该数组中的对应链表中,然后仅对该链表上锁;
S2,将该日志块数据的序号与对应链表中期待收到的序号对比,如果不相等,则将日志块数据放入失序链表中;
如果相等,则将日志块数据放入到顺序链表的末尾,并更新下一个期待接收的序号;则再遍历失序链表,检查是否有与期待接收的序号相等的序号,若有则将符合条件的日志块放入顺序链表的末尾,并更新下一个期待接收的序号,直到没有符合条件的序号;
S3,对该链表进行解锁处理。
2.一种高可用数据库日志同步方法,其特征在于,包括:
从节点创建至少一个recv_thread线程进行日志块数据的处理和接收,所述日志块数据是由主节点将日志流数据切分而成的日志块数据,每个日志块数据包括首部信息和日志数据;
每当一个recv_thread线程接收到一个日志块数据时,先从日志块数据中提取首部信息,根据首部信息将该日志块数据放置到如权利要求1所述的接收队列中。
3.一种从节点,其特征在于,包括:
接收单元,用于创建至少一个recv_thread线程进行日志块数据的处理和接收,所述日志块数据是由主节点将日志流数据切分而成的日志块数据,每个日志块数据包括首部信息和日志数据;每当一个recv_thread线程接收到一个日志块数据时,先从日志块数据中提取首部信息,根据首部信息将该日志块数据放置到如权利要求1所述的接收队列中。
4.一种电子设备,其特征在于:包括至少一个处理器和存储器,所述存储器存储计算机执行指令;所述至少一个处理器执行所述计算机执行指令,使得所述处理器执行如权利要求2所述的日志同步方法。
5.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质中存储计算机执行指令,当处理器执行所述计算机执行指令时,实现如权利要求2所述的日志同步方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津南大通用数据技术股份有限公司,未经天津南大通用数据技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011607632.6/1.html,转载请声明来源钻瓜专利网。