CN115905155A - 一种逻辑日志同步的并行传输的方法 - Google Patents
一种逻辑日志同步的并行传输的方法 Download PDFInfo
- Publication number
- CN115905155A CN115905155A CN202310009863.4A CN202310009863A CN115905155A CN 115905155 A CN115905155 A CN 115905155A CN 202310009863 A CN202310009863 A CN 202310009863A CN 115905155 A CN115905155 A CN 115905155A
- Authority
- CN
- China
- Prior art keywords
- log
- logic
- logs
- logical
- node
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Hardware Redundancy (AREA)
Abstract
本发明提供了一种逻辑日志同步的并行传输的方法,逻辑日志同步流程如下:主节点将数据库事务写入逻辑日志,并按序赋予逻辑日志唯一标识号,将需要同步的逻辑日志顺序导入主节点的日志队列中,将日志队列中的逻辑日志,依次传入多线程传输通道的空闲线程中,从节点的接收队列接收来自多线程传输通道的逻辑日志,接收队列将接收到的逻辑日志按照唯一标识号进行排序,从节点将排序后的逻辑日志顺序回放。本发明有益效果:在保证主从节点一致性的前提下,由多条链路并行传输主从节点的逻辑日志,在一定程度上提高了主从节点在高可用性方面的同步效率,避免在网络资源有限的情况下造成带宽浪费的问题。
Description
技术领域
本发明属于数据库数据同步领域,尤其是涉及一种逻辑日志同步的并行传输的方法。
背景技术
本发明旨在提供一种针对Gbase8s数据库的高可用事务逻辑日志同步的并行传输的方法。该方法作用的对象为Gbase8s高可用事务型数据库。目前高可用数据库的主从节点的逻辑日志同步方式基本都是通过单链路的方式进行传输,只能使用单链路传输的目的是为了保证从节点在回放的时候与主节点保持相同的操作顺序,从而保证主从节点的数据一致性,这导致了主从节点在高可用性方面的同步效率低下。
发明内容
有鉴于此,本发明旨在提出一种逻辑日志同步的并行传输的方法,以解决现有技术只能使用单链路传输,导致了主从节点在高可用性方面的同步效率低下的问题。
为达到上述目的,本发明的技术方案是这样实现的:
第一方面:一种逻辑日志同步的并行传输的方法,逻辑日志同步流程如下:
S1:主节点将数据库事务写入逻辑日志,并按序赋予逻辑日志唯一标识号;
S2:到达同步时间点或日志数量满足规定需要时,将需要同步的逻辑日志顺序导入主节点的日志队列中;
S3:将日志队列中等待传输的逻辑日志,依次传入多线程传输通道的空闲线程中;
S4:从节点的接收队列接收来自多线程传输通道的逻辑日志;
S5:全部逻辑日志接收完毕之后,接收队列将接收到的逻辑日志按照唯一标识号进行排序;
S6:从节点将排序后的逻辑日志顺序回放;
S7:将逻辑日志回放后得到的数据存储至从节点的存储空间中。
进一步的,所述逻辑日志配置有多个,每个逻辑日志均占用一个磁盘空间;
多个所述磁盘空间均设有磁盘空间号,磁盘空间的磁盘空间号固定不变。
进一步的,所述主节点记录并释放逻辑日志时,数据库服务器重复循环使用多个磁盘空间;
多个所述逻辑日志全部写满且暂时无法同步时,主节点动态增加新的磁盘空间与逻辑日志。
进一步的,数据库服务器初始化数据库磁盘空间后,在磁盘空间中划分给逻辑日志的区域内填充的第一个逻辑日志的唯一标识号为1;
当前逻辑日志已写满时,数据库服务器按照分配的逻辑日志顺序切换到下一个逻辑日志继续写入,此时逻辑日志唯一标识增加1;
当逻辑日志备份完或同步完之后,会清空磁盘空间内的逻辑日志,以方便后续逻辑日志的记录。
进一步的,步骤S1中,主节点按序赋予逻辑日志唯一标识号的同时,主节点将数据库事务经过操作生成的数据写入主节点的存储空间内。
进一步的,步骤S3中逻辑日志依次传入多线程传输通道的步骤如下:
A1:主节点中的线程状态检测组件轮询多线程传输通道;
A2:当线程状态检测组件检测到多线程传输通道中有空闲线程时,线程状态检测组件通知主节点的日志队列释放逻辑日志;
A3:主节点将释放的逻辑日志导入空闲线程中,线程状态检测组件继续轮询多线程传输通道;
所述多线程传输通道并行传输逻辑日志。
进一步的,所述主节点与从节点之间连接有交互线程,所述交互线程用于主节点与从节点之间的同步状态的交互,状态为同步准备-同步中-同步完成。
第二方面,一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述第一方面任一所述的一种逻辑日志同步的并行传输方法。
第三方面,一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如第一方面任一所述的一种逻辑日志同步的并行传输方法。
第四方面,一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现第一方面任一项所述的一种逻辑日志同步的并行传输方法。
相对于现有技术,本发明所述的一种逻辑日志同步的并行传输的方法具有以下有益效果:
本发明所述的一种逻辑日志同步的并行传输的方法,在远距离传输过程中尽可能提高带宽的利用率,使得多个不同ID的逻辑日志在通过等待队列之后被分配到空闲的链路上传输,待全部需要同步的日志传输完毕之后,从节点对接收到的逻辑日志排序,然后进行顺序回放,也由此保证了主从节点的整体事务的一致性,因此在保证主从节点一致性的前提下,由多条链路并行传输主从节点的逻辑日志,在一定程度上提高了主从节点在高可用性方面的同步效率,避免在网络资源有限的情况下造成带宽浪费的问题。
附图说明
构成本发明的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为本发明实施例所述的逻辑日志同步流程示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本发明。
实施例一:
如图1所示:一种逻辑日志同步的并行传输的方法,逻辑日志同步流程如下:
S1:主节点将数据库事务写入逻辑日志,并按序赋予逻辑日志唯一标识号;
S2:到达同步时间点或日志数量满足规定需要时,将需要同步的逻辑日志顺序导入主节点的日志队列中;
S3:将日志队列中等待传输的逻辑日志,依次传入多线程传输通道的空闲线程中;
S4:从节点的接收队列接收来自多线程传输通道的逻辑日志;
S5:全部逻辑日志接收完毕之后,接收队列将接收到的逻辑日志按照唯一标识号进行排序;
S6:从节点将排序后的逻辑日志顺序回放;
S7:将逻辑日志回放后得到的数据存储至从节点的存储空间中。
每个逻辑日志均占用一个磁盘空间,磁盘空间的大小和数量均可配置,默认配置磁盘空间有6个,每个磁盘空间大小为1MB,这些磁盘空间具有从1到6的磁盘空间号,磁盘空间号可以不按顺序,每个磁盘空间的磁盘空间号均是固定的,主节点记录并释放逻辑日志时,数据库服务器重复循环使用多个磁盘空间,多个逻辑日志全部写满且暂时无法同步时,主节点动态增加新的磁盘空间与逻辑日志。
数据库服务器初始化数据库磁盘空间后,在磁盘空间中划分给逻辑日志的区域内填充的第一个逻辑日志的唯一标识号为1,当前逻辑日志已写满时,数据库服务器按照分配的逻辑日志顺序切换到下一个逻辑日志继续写入,此时逻辑日志唯一标识增加1,当逻辑日志备份完或同步完之后,会清空磁盘空间内的逻辑日志,以方便后续逻辑日志的记录。
步骤S1中,主节点按序赋予逻辑日志唯一标识号的同时,主节点将数据库事务经过操作生成的数据写入主节点的存储空间内。
步骤S3中逻辑日志依次传入多线程传输通道的步骤如下:
A1:主节点中的线程状态检测组件轮询多线程传输通道;
A2:当线程状态检测组件检测到多线程传输通道中有空闲线程时,线程状态检测组件通知主节点的日志队列释放逻辑日志;
A3:主节点将释放的逻辑日志导入空闲线程中,线程状态检测组件继续轮询多线程传输通道,多线程传输通道并行传输逻辑日志。
主节点与从节点之间连接有交互线程,交互线程用于主节点与从节点之间的同步状态的交互,状态为同步准备-同步中-同步完成;
同步准备过程中主节点向从节点发送连接请求报文,从节点接受连接后回复,表示主节点连接请求报文已接受的接收请求报文,并为这次连接分配资源,主节点接收从节点发送的接收请求报文后也向从节点发送,表示确认收到接收请求报文的确认请求报文,并分配资源,同步准备过程完成,主节点与从节点进入同步中过程;
同步中过程中主节点与从节点同步数据;
同步完成过程中主节点发起中断连接请求报文,从节点接到中断连接请求报文,并向主节点发送等待中断通知报文,主节点进入等待状态,继续等待从节点完成数据接收后,确认中断连接请求,从节点确定数据已接收完成,向主节点发送确认中断通知报文,主节点收到确认中断通知报文后,发送中断通知报文后进入等待状态,如果从节点没有收到中断通知报文,则可以通知主节点重新传输数据,从节点收到中断通知报文后,关闭于主节点的连接,主节点等待2MSL后依然没有收到从节点的报文,则证明从节点已关闭连接,主节点关闭连接,同步完成过程结束。
实施例二:一种电子设备,包括处理器以及与处理器通信连接,且用于存储处理器可执行指令的存储器,其特征在于:处理器用于执行上述实施例一任一的一种逻辑日志同步的并行传输方法。
实施例三:一种服务器,其特征在于:包括至少一个处理器,以及与处理器通信连接的存储器,存储器存储有可被至少一个处理器执行的指令,指令被处理器执行,以使至少一个处理器执行如实施例一任一的一种逻辑日志同步的并行传输方法。
实施例四:一种计算机可读取存储介质,存储有计算机程序,其特征在于:计算机程序被处理器执行时实现实施例一任一项的一种逻辑日志同步的并行传输方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法和系统,可以通过其它的方式实现。例如,以上所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。上述单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种逻辑日志同步的并行传输的方法,其特征在于:
逻辑日志同步流程如下:
S1:主节点将数据库事务写入逻辑日志,并按序赋予逻辑日志唯一标识号;
S2:到达同步时间点或日志数量满足规定需要时,将需要同步的逻辑日志顺序导入主节点的日志队列中;
S3:将日志队列中等待传输的逻辑日志,依次传入多线程传输通道的空闲线程中;
S4:从节点的接收队列接收来自多线程传输通道的逻辑日志;
S5:全部逻辑日志接收完毕之后,接收队列将接收到的逻辑日志按照唯一标识号进行排序;
S6:从节点将排序后的逻辑日志顺序回放;
S7:将逻辑日志回放后得到的数据存储至从节点的存储空间中。
2.根据权利要求1所述的一种逻辑日志同步的并行传输的方法,其特征在于:
所述逻辑日志配置有多个,每个逻辑日志均占用一个磁盘空间;
多个所述磁盘空间均设有磁盘空间号,磁盘空间的磁盘空间号固定不变。
3.根据权利要求2所述的一种逻辑日志同步的并行传输的方法,其特征在于:
所述主节点记录并释放逻辑日志时,数据库服务器重复循环使用多个磁盘空间;
多个所述逻辑日志全部写满且暂时无法同步时,主节点动态增加新的磁盘空间与逻辑日志。
4.根据权利要求2所述的一种逻辑日志同步的并行传输的方法,其特征在于:
数据库服务器初始化数据库磁盘空间后,在磁盘空间中划分给逻辑日志的区域内填充的第一个逻辑日志的唯一标识号为1;
当前逻辑日志已写满时,数据库服务器按照分配的逻辑日志顺序切换到下一个逻辑日志继续写入,此时逻辑日志唯一标识增加1;
当逻辑日志备份完或同步完之后,会清空磁盘空间内的逻辑日志,以方便后续逻辑日志的记录。
5.根据权利要求1所述的一种逻辑日志同步的并行传输的方法,其特征在于:
步骤S1中,主节点按序赋予逻辑日志唯一标识号的同时,主节点将数据库事务经过操作生成的数据写入主节点的存储空间内。
6.根据权利要求1所述的一种逻辑日志同步的并行传输的方法,其特征在于:
步骤S3中逻辑日志依次传入多线程传输通道的步骤如下:
A1:主节点中的线程状态检测组件轮询多线程传输通道;
A2:当线程状态检测组件检测到多线程传输通道中有空闲线程时,线程状态检测组件通知主节点的日志队列释放逻辑日志;
A3:主节点将释放的逻辑日志导入空闲线程中,线程状态检测组件继续轮询多线程传输通道;
所述多线程传输通道并行传输逻辑日志。
7.根据权利要求1所述的一种逻辑日志同步的并行传输的方法,其特征在于:
所述主节点与从节点之间连接有交互线程,所述交互线程用于主节点与从节点之间的同步状态的交互,状态为同步准备-同步中-同步完成。
8.一种电子设备,包括处理器以及与处理器通信连接,且用于存储所述处理器可执行指令的存储器,其特征在于:所述处理器用于执行上述权利要求1-7任一所述的一种逻辑日志同步的并行传输方法。
9.一种服务器,其特征在于:包括至少一个处理器,以及与所述处理器通信连接的存储器,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述处理器执行,以使所述至少一个处理器执行如权利要求1-7任一所述的一种逻辑日志同步的并行传输方法。
10.一种计算机可读取存储介质,存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现权利要求1-7任一项所述的一种逻辑日志同步的并行传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310009863.4A CN115905155A (zh) | 2023-01-05 | 2023-01-05 | 一种逻辑日志同步的并行传输的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310009863.4A CN115905155A (zh) | 2023-01-05 | 2023-01-05 | 一种逻辑日志同步的并行传输的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115905155A true CN115905155A (zh) | 2023-04-04 |
Family
ID=86479008
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310009863.4A Pending CN115905155A (zh) | 2023-01-05 | 2023-01-05 | 一种逻辑日志同步的并行传输的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115905155A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578655A (zh) * | 2023-07-06 | 2023-08-11 | 舟谱数据技术南京有限公司 | 一种数据传输系统及其控制方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751394A (zh) * | 2008-12-16 | 2010-06-23 | 青岛海信传媒网络技术有限公司 | 数据同步方法和数据同步系统 |
CN108073656A (zh) * | 2016-11-17 | 2018-05-25 | 杭州华为数字技术有限公司 | 一种数据同步方法及相关设备 |
CN109492018A (zh) * | 2018-09-12 | 2019-03-19 | 武汉达梦数据库有限公司 | 一种数据同步系统自适应动态调整方法和装置 |
CN110019062A (zh) * | 2017-08-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据同步方法和系统 |
CN112597251A (zh) * | 2020-12-29 | 2021-04-02 | 天津南大通用数据技术股份有限公司 | 数据库集群日志同步方法、装置、服务器及存储介质 |
CN112612855A (zh) * | 2020-12-29 | 2021-04-06 | 天津南大通用数据技术股份有限公司 | 高可用数据库日志接收队列、同步方法及装置 |
-
2023
- 2023-01-05 CN CN202310009863.4A patent/CN115905155A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101751394A (zh) * | 2008-12-16 | 2010-06-23 | 青岛海信传媒网络技术有限公司 | 数据同步方法和数据同步系统 |
CN108073656A (zh) * | 2016-11-17 | 2018-05-25 | 杭州华为数字技术有限公司 | 一种数据同步方法及相关设备 |
CN110019062A (zh) * | 2017-08-14 | 2019-07-16 | 北京京东尚科信息技术有限公司 | 数据同步方法和系统 |
CN109492018A (zh) * | 2018-09-12 | 2019-03-19 | 武汉达梦数据库有限公司 | 一种数据同步系统自适应动态调整方法和装置 |
CN112597251A (zh) * | 2020-12-29 | 2021-04-02 | 天津南大通用数据技术股份有限公司 | 数据库集群日志同步方法、装置、服务器及存储介质 |
CN112612855A (zh) * | 2020-12-29 | 2021-04-06 | 天津南大通用数据技术股份有限公司 | 高可用数据库日志接收队列、同步方法及装置 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116578655A (zh) * | 2023-07-06 | 2023-08-11 | 舟谱数据技术南京有限公司 | 一种数据传输系统及其控制方法 |
CN116578655B (zh) * | 2023-07-06 | 2023-09-15 | 舟谱数据技术南京有限公司 | 一种数据传输系统及其控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107888657B (zh) | 低延迟分布式存储系统 | |
CN110691062B (zh) | 一种数据写入方法、装置及其设备 | |
CN110113420B (zh) | 基于nvm的分布式消息队列管理系统 | |
US7330860B2 (en) | Fault tolerant mechanism to handle initial load of replicated object in live system | |
CN108600353A (zh) | 一种区块链节点的并行块同步方法 | |
US20120011100A1 (en) | Snapshot acquisition processing technique | |
US11068499B2 (en) | Method, device, and system for peer-to-peer data replication and method, device, and system for master node switching | |
CN103036717A (zh) | 分布式数据的一致性维护系统和方法 | |
CN107341062B (zh) | 一种数据推送方法、装置、设备以及存储介质 | |
CN109101662B (zh) | 区块生成方法、装置、设备及存储介质 | |
CN111404931B (zh) | 一种基于持久性内存的远程数据传输方法 | |
WO2023082992A1 (zh) | 数据处理方法以及系统 | |
CN115905155A (zh) | 一种逻辑日志同步的并行传输的方法 | |
CN115550384B (zh) | 集群数据同步方法、装置、设备及计算机可读存储介质 | |
CN113064764A (zh) | 在区块链系统中执行区块的方法及装置 | |
CN101189579B (zh) | 用于多线程处理的使用信号量的方法和装置 | |
CN105812492B (zh) | 一种数据同步方法及系统 | |
US20130318059A1 (en) | Transfer of data from transactional data sources to partitioned databases in restartable environment | |
CN116055563A (zh) | 基于Raft协议的任务调度方法、系统、电子设备和介质 | |
CN108390919A (zh) | 一种用于高可靠双机热备的消息同步系统及方法 | |
CN115185787A (zh) | 处理事务日志的方法及装置 | |
CN113905054B (zh) | 基于RDMA的Kudu集群数据同步方法、装置、系统 | |
CN105302489A (zh) | 一种异构多核远程嵌入式存储器系统与方法 | |
CN109347906B (zh) | 一种数据传输方法、装置、与服务器 | |
KR970000667B1 (ko) | 통신 제어 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |