CN116450419A - 主从节点数据同步的方法、系统、介质及电子设备 - Google Patents
主从节点数据同步的方法、系统、介质及电子设备 Download PDFInfo
- Publication number
- CN116450419A CN116450419A CN202310226331.6A CN202310226331A CN116450419A CN 116450419 A CN116450419 A CN 116450419A CN 202310226331 A CN202310226331 A CN 202310226331A CN 116450419 A CN116450419 A CN 116450419A
- Authority
- CN
- China
- Prior art keywords
- data
- master
- node
- slave
- offset
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种主从节点数据同步的方法、系统、介质及电子设备,包括:从节点主动连接主节点,同时建立与客户端的连接;从节点根据预设频率向主节点发送拉取数据请求;主节点响应请求并进行解析,同时将解析数据返回对应的从节点;从节点将解析数据存储至本地文件,并向主节点汇报拉取进度及更新下一次待拉取偏移量;根据偏移量将数据复制到从节点,当从节点中已成功复制的最大偏移量大于等于主节点服务端返回下一条数据的起始偏移量时,主从同步复制完成并唤醒数据发送线程。本发明采用多主多从架构,每个主节点配置一个从节点,HA采用同步双写方式,数据与服务都无单点故障,主节点宕机情况下,数据无延迟,提高服务可用性与数据可用性。
Description
技术领域
本发明涉及数据同步技术领域,具体地,涉及一种主从节点数据同步的方法、系统、介质及电子设备。
背景技术
数据已经成为了企业生产、经营、战略等等几乎所有的经营活动所依赖的,不可或缺的信息。通过数据可以反映出经营的问题,就犹如舵手依赖导航一样。因此如何将数据安全完整的保存下来,成为至关重要的目标。
而主从数据同步实现了节省成本和开发人力,为数据冗余提供保障,且功能简单。如果没有采用主从同步方案,则存在数据单点问题,容易造成数据丢失的风险,对企业带来巨大的灾难。
专利文献CN110502373A公开了一种主从节点数据同步的方法,包括以下步骤:响应于主节点下线,根据复制偏移量在从节点中选择新主节点;新主节点接收从节点发送的同步请求,并检测同步请求中是否存在旧主节点标签或新主节点标签;响应于同步请求中存在旧主节点标签,向从节点返回新主节点标签;以及响应于同步请求中存在新主节点标签,通过增量复制的方式将新主节点上的数据复制到从节点。
但是专利文献CN110502373A在实际应用中会导致在复杂的网络情况下容易产生脑裂,导致数据丢失的严重后果。因为主从有状态的,需要经过选举后产生主节点,再对外提供服务。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种主从节点数据同步的方法、系统、介质及电子设备。
根据本发明提供的一种主从节点数据同步的方法,包括:
步骤S1:从节点主动连接主节点,同时建立与客户端的连接;
步骤S2:从节点根据预设频率向主节点发送拉取数据请求;
步骤S3:主节点响应所述请求并进行解析,同时将解析数据返回对应的从节点;
步骤S4:从节点将所述解析数据存储至本地文件,并向主节点汇报拉取进度及更新下一次待拉取偏移量;
步骤S5:根据所述偏移量将数据复制到从节点,当从节点中已成功复制的最大偏移量大于等于主节点服务端返回下一条数据的起始偏移量时,主从同步复制完成并唤醒数据发送线程。
优选地,所述从节点和主节点一一对应,若当前从节点是第一次请求拉取数据,则先获取本地文件中最大物理偏移量,以所述偏移量向主节点拉取数据。
优选地,主节点响应所述请求并进行解析包括解析请求偏移量,从当前文件中检索所述偏移量后的所有消息,并根据当前允许传输最大数据量,查找合适数量的数据并将数据传输给从节点。
优选地,主节点中的线程是用于当主从同步复制结束后通知由于等待HA同步结果而阻塞的数据发送者线程。
根据本发明提供的一种主从节点数据同步的系统,包括:
模块M1:从节点主动连接主节点,同时建立与客户端的连接;
模块M2:从节点根据预设频率向主节点发送拉取数据请求;
模块M3:主节点响应所述请求并进行解析,同时将解析数据返回对应的从节点;
模块M4:从节点将所述解析数据存储至本地文件,并向主节点汇报拉取进度及更新下一次待拉取偏移量;
模块M5:根据所述偏移量将数据复制到从节点,当从节点中已成功复制的最大偏移量大于等于主节点服务端返回下一条数据的起始偏移量时,主从同步复制完成并唤醒数据发送线程。
优选地,所述从节点和主节点一一对应,若当前从节点是第一次请求拉取数据,则先获取本地文件中最大物理偏移量,以所述偏移量向主节点拉取数据。
优选地,主节点响应所述请求并进行解析包括解析请求偏移量,从当前文件中检索所述偏移量后的所有消息,并根据当前允许传输最大数据量,查找合适数量的数据并将数据传输给从节点。
优选地,主节点中的线程是用于当主从同步复制结束后通知由于等待HA同步结果而阻塞的数据发送者线程。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述主从节点数据同步的方法的步骤。
根据本发明提供的一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现所述的主从节点数据同步的方法的步骤。
与现有技术相比,本发明具有如下的有益效果:
1、本发明的同步方法在不增加额外开外成本的情况下支持数据主从同步并安全运行确保数据无单点。
2、本发明采用多主多从架构,每个主节点配置一个从节点,HA采用同步双写方式,即只有主备都写成功,才向应用返回成功。数据与服务都无单点故障,主节点宕机情况下,数据无延迟,提高服务可用性与数据可用性。
3、本发明主从数据同步提供了统一的信息存储,数据同步开发时无需考虑相关的设计,无需存储考虑单点问题,只需调用相关接口,提高效率。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明的工作流程示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
本发明在不增加额外开外成本的情况下支持数据主从同步并安全运行确保数据无单点。即使任意一个节点宕机,也不会发生数据丢失的风险。主从数据同步提供了统一的信息存储,数据同步开发时无需考虑相关的设计,无需存储考虑单点问题,只需调用相关接口。
根据本发明提供的一种主从节点数据同步的方法,如图1所示,包括:
步骤S1:从节点主动连接主节点,同时建立与客户端的连接。
步骤S2:从节点根据预设频率向主节点发送拉取数据请求。若当前从节点是第一次请求拉取数据,则先获取本地文件中最大物理偏移量,以所述偏移量向主节点拉取数据。所述从节点和主节点一一对应,也就是说,本发明的架构可以是多主,也可以是多主多从,一主对应一从,且服务是无状态的,在复杂的网络情况下不会发生脑裂,无数据丢失风险。
步骤S3:主节点响应所述请求并进行解析,同时将解析数据返回对应的从节点。主节点响应所述请求并进行解析包括解析请求偏移量,从当前文件中检索所述偏移量后的所有消息,并根据当前允许传输最大数据量,查找合适数量的数据并将数据传输给从节点。
步骤S4:从节点将所述解析数据存储至本地文件,并向主节点汇报拉取进度及更新下一次待拉取偏移量。
步骤S5:根据所述偏移量将数据复制到从节点,当从节点中已成功复制的最大偏移量大于等于主节点服务端返回下一条数据的起始偏移量时,主从同步复制完成并唤醒数据发送线程。具体地,若从节点中已成功复制的最大偏移量不是大于等于主节点服务端返回下一条数据的起始偏移量,则等待1s再次判断,每一个任务在一批任务中循环判断5次。
进一步地,主节点中的线程是用于当主从同步复制结束后通知由于等待HA同步结果而阻塞的数据发送者线程。也就是说,主从同步模式中,数据先写到磁盘后,需要继续等待新数据被传输到从服务器,而从服务器数据的复制是在另外一个线程中去拉取,所以数据发送者在这里需要等待数据传输的结果,主节点有一个线程,它的职责是负责当主从同步复制结束后通知由于等待HA同步结果而阻塞的数据发送者线程。
本发明还提供了一种主从节点数据同步的系统,本领域技术人员可以通过执行所述主从节点数据同步的方法的步骤流程实现所述主从节点数据同步的系统,即可以将所述主从节点数据同步的方法理解为所述主从节点数据同步的系统的优选实施方式。
根据本发明提供的一种主从节点数据同步的系统,包括:
模块M1:从节点主动连接主节点,同时建立与客户端的连接。所述从节点和主节点一一对应,若当前从节点是第一次请求拉取数据,则先获取本地文件中最大物理偏移量,以所述偏移量向主节点拉取数据。采用多主多从架构,每个主节点配置一个从节点,HA采用同步双写方式,即只有主备都写成功,才向应用返回成功。数据与服务都无单点故障,主节点宕机情况下,数据无延迟,服务可用性与数据可用性高。
模块M2:从节点根据预设频率向主节点发送拉取数据请求。主节点响应所述请求并进行解析包括解析请求偏移量,从当前文件中检索所述偏移量后的所有消息,并根据当前允许传输最大数据量,查找合适数量的数据并将数据传输给从节点。
模块M3:主节点响应所述请求并进行解析,同时将解析数据返回对应的从节点。
模块M4:从节点将所述解析数据存储至本地文件,并向主节点汇报拉取进度及更新下一次待拉取偏移量。
模块M5:根据所述偏移量将数据复制到从节点,当从节点中已成功复制的最大偏移量大于等于主节点服务端返回下一条数据的起始偏移量时,主从同步复制完成并唤醒数据发送线程。主节点中的线程是用于当主从同步复制结束后通知由于等待HA同步结果而阻塞的数据发送者线程。
根据本发明提供的一种存储有计算机程序的计算机可读存储介质,所述计算机程序被处理器执行时实现所述主从节点数据同步的方法的步骤。
根据本发明提供的一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被处理器执行时实现所述的主从节点数据同步的方法的步骤。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。
Claims (10)
1.一种主从节点数据同步的方法,其特征在于,包括:
步骤S1:从节点主动连接主节点,同时建立与客户端的连接;
步骤S2:从节点根据预设频率向主节点发送拉取数据请求;
步骤S3:主节点响应所述请求并进行解析,同时将解析数据返回对应的从节点;
步骤S4:从节点将所述解析数据存储至本地文件,并向主节点汇报拉取进度及更新下一次待拉取偏移量;
步骤S5:根据所述偏移量将数据复制到从节点,当从节点中已成功复制的最大偏移量大于等于主节点服务端返回下一条数据的起始偏移量时,主从同步复制完成并唤醒数据发送线程。
2.根据权利要求1所述的主从节点数据同步的方法,其特征在于,所述从节点和主节点一一对应,若当前从节点是第一次请求拉取数据,则先获取本地文件中最大物理偏移量,以所述偏移量向主节点拉取数据。
3.根据权利要求1所述的主从节点数据同步的方法,其特征在于,主节点响应所述请求并进行解析包括解析请求偏移量,从当前文件中检索所述偏移量后的所有消息,并根据当前允许传输最大数据量,查找合适数量的数据并将数据传输给从节点。
4.根据权利要求1所述的主从节点数据同步的方法,其特征在于,主节点中的线程是用于当主从同步复制结束后通知由于等待HA同步结果而阻塞的数据发送者线程。
5.一种主从节点数据同步的系统,其特征在于,包括:
模块M1:从节点主动连接主节点,同时建立与客户端的连接;
模块M2:从节点根据预设频率向主节点发送拉取数据请求;
模块M3:主节点响应所述请求并进行解析,同时将解析数据返回对应的从节点;
模块M4:从节点将所述解析数据存储至本地文件,并向主节点汇报拉取进度及更新下一次待拉取偏移量;
模块M5:根据所述偏移量将数据复制到从节点,当从节点中已成功复制的最大偏移量大于等于主节点服务端返回下一条数据的起始偏移量时,主从同步复制完成并唤醒数据发送线程。
6.根据权利要求5所述的主从节点数据同步的系统,其特征在于,所述从节点和主节点一一对应,若当前从节点是第一次请求拉取数据,则先获取本地文件中最大物理偏移量,以所述偏移量向主节点拉取数据。
7.根据权利要求5所述的主从节点数据同步的系统,其特征在于,主节点响应所述请求并进行解析包括解析请求偏移量,从当前文件中检索所述偏移量后的所有消息,并根据当前允许传输最大数据量,查找合适数量的数据并将数据传输给从节点。
8.根据权利要求5所述的主从节点数据同步的系统,其特征在于,主节点中的线程是用于当主从同步复制结束后通知由于等待HA同步结果而阻塞的数据发送者线程。
9.一种存储有计算机程序的计算机可读存储介质,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的主从节点数据同步的方法的步骤。
10.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的主从节点数据同步的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310226331.6A CN116450419A (zh) | 2023-03-09 | 2023-03-09 | 主从节点数据同步的方法、系统、介质及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310226331.6A CN116450419A (zh) | 2023-03-09 | 2023-03-09 | 主从节点数据同步的方法、系统、介质及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116450419A true CN116450419A (zh) | 2023-07-18 |
Family
ID=87132777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310226331.6A Pending CN116450419A (zh) | 2023-03-09 | 2023-03-09 | 主从节点数据同步的方法、系统、介质及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116450419A (zh) |
-
2023
- 2023-03-09 CN CN202310226331.6A patent/CN116450419A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106598762B (zh) | 一种消息同步方法 | |
CN109951331B (zh) | 用于发送信息的方法、装置和计算集群 | |
KR102264615B1 (ko) | 로봇 시스템의 노드들을 동기화시키기 위한 시스템 및 방법 | |
CN112069265B (zh) | 配置数据的同步方法、业务数据系统、计算机系统和介质 | |
US7814360B2 (en) | Synchronizing cluster time to a master node with a faster clock | |
US20100042715A1 (en) | Method and systems for redundant server automatic failover | |
CN110795503A (zh) | 分布式存储系统的多集群数据同步方法及相关装置 | |
JP2002522845A (ja) | フォールトトレラント・コンピュータシステム | |
CN103036717A (zh) | 分布式数据的一致性维护系统和方法 | |
CN101753609A (zh) | 分布式系统版本控制方法、节点及系统 | |
CN110287151B (zh) | 分布式存储系统、数据写入方法、装置和存储介质 | |
CN106484321A (zh) | 一种数据存储方法及数据中心 | |
CN111666134A (zh) | 一种分布式任务调度的方法和系统 | |
CN111400104A (zh) | 数据同步方法及装置、电子设备、存储介质 | |
CN114328428A (zh) | 一种文件同步方法、装置、电子设备及存储介质 | |
CN106685688A (zh) | 一种集群计算机设备同步升级方法 | |
US9043283B2 (en) | Opportunistic database duplex operations | |
CN107071189B (zh) | 一种通讯设备物理接口的连接方法 | |
CN113515574B (zh) | 一种数据同步方法及装置 | |
CN116450419A (zh) | 主从节点数据同步的方法、系统、介质及电子设备 | |
US20090106781A1 (en) | Remote call handling methods and systems | |
CN107404511B (zh) | 集群中服务器的替换方法及设备 | |
CN112597242B (zh) | 一种基于涉及批量任务的应用系统数据切片的抽取方法 | |
CN114500416A (zh) | 用于最多一次消息投递的投递方法和投递系统 | |
US11386043B2 (en) | Method, device, and computer program product for managing snapshot in application environment |
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 |