CN116340431A - 一种分布式系统、数据同步方法、电子设备及存储介质 - Google Patents

一种分布式系统、数据同步方法、电子设备及存储介质 Download PDF

Info

Publication number
CN116340431A
CN116340431A CN202310597808.1A CN202310597808A CN116340431A CN 116340431 A CN116340431 A CN 116340431A CN 202310597808 A CN202310597808 A CN 202310597808A CN 116340431 A CN116340431 A CN 116340431A
Authority
CN
China
Prior art keywords
node
target
data
nodes
index
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.)
Granted
Application number
CN202310597808.1A
Other languages
English (en)
Other versions
CN116340431B (zh
Inventor
韩枫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alibaba Cloud Computing Ltd
Original Assignee
Alibaba Cloud Computing Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Alibaba Cloud Computing Ltd filed Critical Alibaba Cloud Computing Ltd
Priority to CN202310597808.1A priority Critical patent/CN116340431B/zh
Publication of CN116340431A publication Critical patent/CN116340431A/zh
Application granted granted Critical
Publication of CN116340431B publication Critical patent/CN116340431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/178Techniques for file synchronisation in file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书实施方式提供了一种分布式系统、数据同步方法、存储介质及电子设备,其中,所述分布式系统基于一致性协议保持多个第一节点各自存储的目标数据一致,通过将每个第二节点与所述多个第一节点中的一个目标节点对应,并利用目标节点将所述目标数据同步给与其对应的第二节点的方式,保证了各节点的数据一致性以及系统的高可用性;另外,由于作为任务请求响应节点的第二节点与多个第一节点中的一个目标节点对应,并可从与该第二节点对应的目标节点中同步目标数据,而不是与特定的某一节点对应,解决了通过单个节点向第二节点同步数据导致的第二节点扩展性较差的问题,改善了分布式系统的可扩展性。

Description

一种分布式系统、数据同步方法、电子设备及存储介质
技术领域
本说明书中实施方式关于计算机应用技术领域,具体地说,涉及计算机应用技术领域下的分布式技术,更具体地说,涉及一种分布式系统、数据同步方法、电子设备及存储介质。
背景技术
分布式系统以其高可用性、高性能和低成本等特点,广泛应用于云计算、云存储和数据分发等各类应用场景下。
但目前的分布式系统中,受限于单个节点的性能,导致分布式系统的可扩展性较差。
发明内容
本说明书中多个实施方式提供一种分布式系统、数据同步方法、电子设备及存储介质,以实现在保证系统中各节点的数据一致性的前提下,改善分布式系统的可扩展性的目的。
第一方面,本说明书的一个实施方式提供一种分布式系统,包括:多个第一节点和多个第二节点;其中,
所述多个第一节点基于一致性协议保持多个所述第一节点存储的目标数据一致;每个所述第二节点与所述多个第一节点中的一个目标节点对应;
所述目标节点,用于将所述目标数据同步给与其对应的第二节点;
所述第二节点,用于基于所述目标数据响应任务请求。
第二方面,本说明书的一个实施方式提供了一种数据同步方法,应用于分布式系统中多个第一节点中的目标节点,所述分布式系统包括多个第一节点和多个第二节点,所述多个第一节点基于一致性协议保持多个所述第一节点存储的目标数据一致;每个所述第二节点与所述多个第一节点中的一个目标节点对应;所述数据同步方法包括:
将所述目标数据同步给与其对应的第二节点,以用于所述第二节点基于所述目标数据响应任务请求。
第三方面,本说明书的一个实施方式提供了一种电子设备,包括:处理器和存储器;
其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;
所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如上述的数据同步方法。
第四方面,本说明书的一个实施方式提供了一种存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如上述的数据同步方法。
第五方面,本说明书的一个实施方式提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中;所述计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,所述处理器执行所述计算机指令时实现上述的数据同步方法的步骤。
本说明书提供的多个实施方式,基于一致性协议保持多个第一节点各自存储的目标数据一致,通过将每个第二节点与所述多个第一节点中的一个目标节点对应,并利用目标节点将所述目标数据同步给与其对应的第二节点的方式,保证了各节点的数据一致性和系统的高可用性;另外,由于作为任务请求响应节点的第二节点与一个目标节点对应,并可从与第二节点对应的目标节点中同步目标数据,而不是与特定的某一节点对应,解决了通过单个节点向第二节点同步数据导致的第二节点扩展性较差的问题,改善了分布式系统的可扩展性。
附图说明
图1为一种分布式系统的结构示意图。
图2为本说明书的一个实施方式提供的一种分布式系统的应用场景示意图。
图3为本说明书的一个实施方式提供的一种分布式系统的结构示意图。
图4为本说明书的一个实施方式提供的一种数据同步方法的流程示意图。
图5为本说明书的一个实施方式提供的一种电子设备的结构示意图。
具体实施方式
除非另外定义,本说明书实施例使用的技术术语或者科学术语应当为本说明书所属领域内具有一般技能的人士所理解的通常意义。本说明书实施例使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来避免构成要素的混同而设置的。
除非上下文另有要求,否则,在整个说明书中,“多个”表示“至少两个”,“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施例”、“一些实施例”、“示例性实施例”、“示例”、“特定示例”或“一些示例”等旨在表明与该实施例或示例相关的特定特征、结构、材料或特性包括在本说明书的至少一个实施例或示例中。上述术语的示意性表示不一定是指同一实施例或示例。
下面将结合本说明书实施例中的附图,对本说明书实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本说明书保护的范围。
分布式系统是由多个独立计算机或计算机组组成的系统,它们通过网络进行通信和协作,共同完成某个任务。这些计算机(组)可被称为节点,这些节点可以部署在同一地区或者部署在不同的地区。分布式系统的设计目标是提高系统的可靠性、可扩展性和性能。在分布式系统中,常见的应用包括:分布式DNS系统(Domain NameSystem,域名系统)、分布式路由器系统、分布式数据库、分布式文件系统、分布式计算、分布式搜索引擎、分布式缓存等。这些应用可以帮助我们更好地利用计算机资源,提高系统的可靠性和性能。
在分布式系统中,存在的核心问题包括:如何保持数据一致性和如何保持系统的高可用性。其中,数据一致性是指分布式系统中各节点中存储的数据相同,避免不同的节点对于相同的任务请求反馈不同的处理结果。高可用性是指分布式系统在面临各种故障、错误或异常情况时,能够保持连续、稳定的运行状态,使用户始终能够正常地访问和使用系统的各个功能,从而实现系统的高度可靠和稳定性。这需要分布式系统具备自我诊断、自我修复、自我保护等能力,同时也需要具备高可靠性的硬件和软件设备,以及足够的冗余和备份机制,以应对各种可能出现的故障和风险。
相关技术中,为了保持分布式系统中各节点的数据一致性,并提高系统的可用性,可以采用一致性协议使分布式系统中节点的数据保持一致,如此可使各节点对于同样的任务请求的响应结果相同。由于系统中多个节点的数据保持一致,可以避免某一个节点或某些节点的故障或异常导致数据丢失的问题,有利于提高系统的数据可靠性。另外,当系统异常重启时,一致性算法可以从系统中多个节点之间快速地恢复最新数据,保证系统的高可用性。
但在具体应用过程中,发明人研究发现,目前分布式系统采用一致性协议保证数据一致性和高可用性的同时,可能会导致系统受限于单个节点的性能,导致分布式系统的可扩展性较差。
具体地,以一致性协议中的Raft协议(Raft Consensus Protocol,筏一致性协议)为例进行示例性说明。在Raft协议中,将分布式系统中的节点主要分为以下类型:首领(Leader)节点、跟随者(Follower)节点、候选者(Candidate)节点和学习者(Learner)节点,
其中,跟随者节点可以在选举过程中作为候选者节点存在,跟随者节点和首领节点可以称为投票者(Voter)节点,学习者节点不会投出选票,也不会作为候选者节点接收投票。首领节点是在一个选举过程中获得大多数节点投票的节点,首领节点在一个任期(term)内负责所有跟随者节点和学习者节点中的数据同步。同时,首领节点也会定期给候选者节点发送心跳消息,以将首领节点的存活状态通知给候选者节点。候选者节点是最常见的节点,它们接收来自首领节点的心跳消息,并根据首领节点的指示更新自己的状态。如果候选者节点在一定时间内没有收到首领节点的心跳消息,他就会认为首领节点已经故障或异常,开始进入选举模式。
候选者节点进入选举模式后,自动转换为候选者节点,并向其他节点(不包括学习者节点)发送投票请求,并等待其他节点的回复。如果一个候选者节点收到了大多数投票者节点的投票,就会成为新的首领节点,如果没有任何一个候选者节点收到大多数投票者节点的投票,那么就会进入下一轮的选举。
上述的机制,一方面保证了首领节点和候选者节点之间的数据一致性,另一方面也保证了在首领节点故障或异常时,新的首领节点的选举机制,保障了分布式系统的数据一致性和高可用性。
学习者节点是一种特殊的节点,它用来做首领节点的数据备份,保持和首领节点的数据一致性。学习者节点不参与投票,也不接收其他节点的投票。参考图1,在主流的分布式系统中,首领节点和候选者节点可以作为系统在控制平面的节点,这些节点负责保证系统内各节点的数据一致性和高可用性,以及用于在某个节点成为首领节点后,进行学习者节点的数据配置,保证学习者节点中的数据与首领节点中的数据一致。多个学习者节点可以作为系统在数据平面的节点,具体用于负责处理分布式系统接收的任务请求(例如DNS解析请求、路由请求等等),并返回任务请求的处理结果。在图1所示的分布式系统中,就存在着可扩展性差的问题。这是因为在分布式系统中,用于响应任务请求的节点数量是非常庞大的,单个的首领节点不仅需要为大量的学习者节点配置数据,还需要保证跟随者节点的数据一致,这就使得首领节点的性能成为系统可扩展性的约束。当跟随者节点和学习者节点的数据同步所需消耗的性能超过首领节点可分配的最大性能时,分布式系统不再支持增加节点,使得系统整体的可扩展性较差。
为了解决这一问题,发明人通过研究发现,可以在分布式系统中设置与多个第一节点中的一个目标节点(该目标节点可以是指对应有第二节点的第一节点)对应的第二节点,使得每个第二节点对应一个目标节点(不同第二节点对应的目标节点可能相同,也可能不同),目标节点可以将目标数据同步给与该目标节点对应的第二节点,并使第二节点可以基于同步的目标数据进行任务请求的响应,如此,所有第二节点无需从同一个节点中同步数据,避免了某一个节点的性能成为系统的可扩展性的限制;解决了通过单个节点向第二节点同步数据导致的第二节点扩展性较差的问题,改善了分布式系统的可扩展性。另外,每个目标节点可以与多个第二节点对应,负责多个第二节点的数据同步,大大增加系统的可扩展性。
基于上述发明构思,本说明书实施方式提供了一种分布式系统,下面将对所述分布式系统进行示例性说明。
参考图2,图2示出了一种分布式系统的可行应用场景,该应用场景可以是一个数据分发场景,用户通过客户端12将任务请求发送给分布式系统10,分布式系统10响应该任务请求并将响应结果返回给客户端12。
具体地,该数据分发场景可以是DNS解析场景。用户通过客户端12将解析请求发送给DNS系统,DNS系统中的负载管理节点基于负载均衡算法将解析请求分发给第二节点,第二节点响应该解析请求,将响应结果返回给客户端,完成一次DNS域名解析任务。
该DNS系统可以为一个分布式系统10,其中的节点可以根据功能配置划分为第一节点和第二节点,具体地,可以将具有第二节点的数据配置功能的节点划分为第一节点,将负责处理具体解析请求的节点划分为第二节点,所有第一节点构成控制平面,所有第二节点可以构成数据平面。
除了上述的DNS解析场景之外,本说明书实施方式提供的分布式系统还可以应用于数据包分发场景,该场景中的路由(Router)系统可以为一分布式系统,系统中每个节点的目标数据可以包括路由表。
除了上述举例的DNS域名解析场景和数据包分发场景之外,本说明书实施方式提供的分布式系统还可以应用于其他可行的数据分发场景,本说明书对此并不做限定。
在图2所示的应用场景中,所述客户端12可以是具有网络访问能力的电子设备。具体的,例如,客户端12可以是台式电脑、平板电脑、笔记本电脑、智能手机、数字助理、智能可穿戴设备、导购终端、电视机、智能音箱、麦克风等。其中,智能可穿戴设备包括但不限于智能手环、智能手表、智能眼镜、智能头盔、智能项链等。或者,客户端也可以为能够运行于所述电子设备中的软件。在分布式系统10中,节点11可以包括至少一个服务器,服务器可以是具有一定运算处理能力的电子设备。其可以具有网络通信模块、处理器和存储器等。当然,所述服务器也可以是指运行于所述电子设备中的软体。所述服务器还可以为分布式服务器,可以是具有多个处理器、存储器、网络通信模块等协同运作的系统。或者,服务器还可以为若干服务器形成的服务器集群。或者,随着科学技术的发展,服务器还可以是能够实现说明书实施方式相应功能的新的技术手段。例如,可以是基于量子计算实现的新形态的“服务器”。
本说明书的一个实施方式提供一种分布式系统,如图3所示,包括:多个第一节点101和多个第二节点102;其中,
所述多个第一节点101基于一致性协议保持多个所述第一节点存储的目标数据一致;每个所述第二节点102与所述多个第一节点101中的一个目标节点对应;
所述目标节点,用于将所述目标数据同步给与其对应的第二节点102;
所述第二节点102,用于基于所述目标数据响应任务请求。
所述第一节点101可以是分布式系统100中处于控制平面的节点,例如第一节点101可以是具有管理和/或数据配置功能的节点,以基于Raft协议的分布式系统100为例,第一节点101可以包括首领节点和跟随者节点(在选举过程中,第一节点101还可以包括候选者节点),在本实施方式中,所述多个第一节点101中可以存在多个目标节点,在当第一节点101对应有第二节点102时,可以被称为目标节点,即目标节点可以视为是一类特殊的第一节点101。第二节点102可以是分布式系统100中处于数据平面的节点,例如第二节点102可以是分布式系统100中用于响应任务请求的节点。与Raft协议中的学习者节点不同的是,每个第二节点102与一个目标节点对应,各第二节点102对应的目标节点可以不同,多个第二节点102可以分别对应多个目标节点,如此,第二节点102可以从与其对应的目标节点中获得所需的目标数据,无需依靠单个的首领节点,避免了学习者节点与首领节点高度绑定,导致的分布式系统100的可扩展性受到单个首领节点性能约束的问题,改善了分布式系统100的可扩展性。可以说,当所述一致性协议为Raft协议时,所述第二节点102为Raft协议的扩展,通过Raft协议保持系统中各节点的数据一致性,通过扩展的第二节点102与目标节点的对应关系以及数据同步逻辑,实现对分布式系统的可扩展性的提高。除了Raft协议,在一些实施方式中,所述一致性协议也可能可以是Paxos协议(The Paxos protocol),本说明书对所述一致性协议的具体内容并不做限定,只要具有与Raft协议相似的数据一致性保持逻辑即可,即基于日志索引进行节点的数据一致性保持,且系统数据不会回滚。
另外如前文所述,在本实施方式中,所述多个第一节点101基于一致性协议保持多个所述第一节点存储的目标数据一致,可以保障分布式系统100的数据一致性以及系统的高可用性。可选地,所述一致性协议包括但不限于前文提及的Raft协议。所述多个第一节点101基于一致性协议保持多个所述第一节点存储的目标数据一致,可以是指所述多个第一节点101基于一致性协议保持大部分所述第一节点101之间的目标数据一致,也可以是指所述多个第一节点101基于一致性协议保持各自所述第一节点101之间存储的目标数据均一致。
所述目标数据是指分布式系统100中,在响应任务请求时所需的数据。以DNS系统为例,目标数据可以包括域名解析请求任务所需的数据,例如可以包括域名与IP地址的对应关系数据等。以路由系统为例,目标数据可以包括路由表(Routing Table)。
所述多个第一节点中的各第一节点都可以作为第二节点的目标节点,并与其对应,因此,当多个所述第二节点与各自的目标节点对应后,所述多个第一节点中可以存在多个目标节点。从图3中可以看出,第二节点102与多个第一节点中的一个目标节点对应,目标节点可以对应一个第二节点102,也可以对应两个或多个第二节点102,多个第一节点101中也可能存在不与第二节点102对应的第一节点101。在一些实施方式中,目标节点与第二节点102的对应关系也并非固定不变的,可以根据实际情况重新建立对应关系,例如某一目标节点故障时,与该目标节点对应的第二节点102可以与其他目标节点建立对应关系,从新对应的目标节点中同步目标数据。
目标节点用于将目标数据同步给与其对应的第二节点可以做如下理解:假设目标节点A与第二节点a、第二节点b以及第二节点c对应,目标节点B与第二节点d和第二节点e对应,那么目标节点A用于将目标数据同步给第二节点a、第二节点b以及第二节点c;目标节点B用于将目标数据同步给第二节点d和第二节点e。
总的来说,在本实施方式中,所述分布式系统100基于一致性协议保持多个第一节点101各自存储的目标数据一致,通过将每个第二节点102与一个所述目标节点对应,并利用目标节点将所述目标数据同步给与其对应的第二节点102的方式,保证了各节点的数据一致性以及系统的高可用性;另外,由于作为任务请求响应节点的第二节点102与一个目标节点对应,并可从与第二节点102对应的目标节点中同步目标数据,而不是与特定的某一节点对应,解决了通过单个节点向第二节点102同步数据导致的第二节点102扩展性较差的问题,改善了分布式系统100的可扩展性。
为了提高第二节点102与目标节点的数据同步速度,在一些实施方式中,所述第一节点101中存储有各所述第一节点101的位置信息,所述位置信息用于表征所述第一节点101部署的地理位置;
所述第二节点102,还用于从任一所述第一节点101中获取各所述第一节点101的位置信息,根据各所述第一节点101的位置信息,与近邻目标节点建立对应关系;
所述近邻目标节点包括部署的地理位置与所述第二节点102的部署的地理位置最近的第一节点101。
如前文所述,目标节点也是一类第一节点101,因此,在目标节点中也存储有各所述第一节点101的位置信息,所述位置信息用于表征所述第一节点101部署的地理位置。
目前企业以混合云(Hybrid Cloud)和多云(Multi Cloud)架构的分布式系统部署服务的方式越来越普遍,导致分布式系统中用于响应任务请求的数据节点的扩展需求激增,仍然以Raft协议为例,如果第二节点102都和首领节点同步数据,势必会导致大量的跨云、跨地区的流量,这些流量不仅延时高,同时会给企业带来使用成本的增加,因此在本实施方式中,第二节点102在建立或重启后,可以从第一节点101中获取各所述第一节点101的位置信息,根据这些位置信息,确定近邻目标节点,并与其建立对应关系。如此,在后续的数据同步过程中,第二节点102与近邻目标节点之间的通信路径较短,可以提高数据同步速度,减少第二节点102跨云、跨地区同步数据的概率,降低用户的使用成本。
所述位置信息可以包括第一位置信息和第二位置信息,其中,第一位置信息用于表征所述第一节点101部署的第一地理范围,所述第二位置信息用于表征所述第一节点101部署的第二地理范围,所述第一地理范围大于所述第二地理范围。第二节点102在确定近邻目标节点时,优先从第二节点102所属的第二地理范围内搜索近邻目标节点,当第二地理范围内没有可以作为近邻目标节点的节点时,可以从第二节点102所属的第一地理范围内搜索近邻目标节点,当第二节点102所属的第一地理范围内没有可以作为近邻目标节点的节点时,可以跨第一地理范围搜索近邻目标节点。所述第一地理范围例如可以是大洲、国家等较大范围,所述第二地理范围例如可以是城市、商业区等较小范围。
为了提高目标数据在目标节点和第二节点102之间的同步速度,在一些实施方式中,所述第一节点101和所述第二节点102中存储有历次数据更新对应的日志索引,所述日志索引用于标识数据更新消息,所述数据更新消息包括所述目标数据在数据更新后的增量数据;
所述目标节点,将所述目标数据同步给与其对应的第二节点102具体用于:
将第一目标日志索引对应的数据更新消息发送给所述第二节点102,以用于所述第二节点102根据所述第一目标日志索引进行数据更新;
所述第一目标日志索引包括所述目标节点中,从第一索引之后的日志索引,所述第一索引为所述第二节点102中最后一次数据更新对应的日志索引。
在本实施方式中,数据更新是指对节点中的目标数据进行更新,数据更新可以包括对目标数据的增加、删除和修改。系统中节点的每次数据更新都是通过发送数据更新消息给分布式系统100中的集群的方式实现的,每个数据更新消息都有一个日志索引(index)来标识,数据更新消息中可以包括每次数据更新后目标数据的增量数据。所述增量数据即是指数据更新后的目标数据相较于数据更新前的目标数据的变化数据。在一些实施方式中,所述日志索引可以是一个连续递增的64位正数。
举例来说,假设目标节点中经历了从日志索引1~日志索引100,共100次数据更新达到目标数据最新的状态,而第二节点102中进行了从日志索引1~日志索引90,共90次数据更新,则目标节点可以将日志索引91~日志索引100所对应的数据更新消息发送给第二节点102,使第二节点102根据日志索引91~日志索引100所对应的数据更新消息再进行最后10次的数据更新,以使第二节点102中的目标数据保持与目标节点中的目标数据同步。
通过将第一索引之后的日志索引对应的数据更新消息发送给第二节点102实现第二节点102中的目标数据更新,可以减少目标节点与第二节点102之间所需传输的数据量,有利于提高目标节点与第二节点102之间的数据同步效率。
在一些实施方式中,在第二节点102与目标节点建立对应关系和通信连接后,所述第二节点102还用于,向所述目标节点发送所述第二节点102中最后一次数据更新对应的日志索引,以使目标节点可以获悉各第二节点102中的第一索引。在该实施方式中,通过第二节点102向目标节点发送第一索引,无需目标节点向第二节点102问询该第一索引,有利于降低目标节点的负担。
在一些实施方式中,为了提升目标节点与第二节点102之间数据同步的速度,降低第二节点102重启或新建时所需的时间,所述第一节点101还用于在多次数据更新后,生成第一快照信息;所述第一快照信息包括在所述第一快照信息生成的时刻,所述第一节点101中的目标数据;
所述目标节点,将所述目标数据同步给与其对应的第二节点102具体用于:
将第二目标日志索引对应的数据更新消息和最近一次生成的第一快照信息发送给所述第二节点102,以用于所述第二节点102根据所述第一快照信息和所述第二目标日志索引进行数据更新;
所述第二目标日志索引包括所述目标节点中,从第二索引之后的日志索引,所述第二索引为所述第一快照信息生成时,目标节点最后一次数据更新对应的日志索引。
相应的,所述第二节点102根据所述第一目标日志索引进行数据更新具体用于:
获取所述目标节点中最近一次生成的第一快照信息;
加载所述第一快照信息中的目标数据;
根据所述第一目标日志索引中,所述第二索引之后的日志索引对应的数据更新消息,对加载的所述目标数据进行数据更新。
与日志索引不同的是,第一快照信息(snapshot)是多次数据更新后,表征该时刻第一节点101状态的信息,是一个全量数据,仍然假设目标节点中经历了从日志索引1~日志索引100,共100次数据更新达到目标数据最新的状态,而第二节点102中进行了从日志索引1~日志索引90,共90次数据更新。
但目标节点在进行了日志索引95对应的数据更新后,生成了一个表征该时刻状态的第一快照信息,即第一快照信息包括了目标节点在进行了95次数据更新后的所有目标数据。那么此时目标节点可以将该第一快照信息和日志索引96~日志索引100发送给第二节点102,第二节点102可以在加载该第一快照信息后,仅进行5次数据更新即可达到最新的目标数据的状态,减少了数据更新次数,有利于提高第二节点102的重启或新建效率,减少等待时间。
特别是在系统中各节点的数据更新次数过大时(例如上千万次或上亿次数据更新),利用本实施例提供的数据更新方法可大大减少第二节点102重启或新建时,数据同步所需消耗的时间,也可减少目标节点与第二节点102之间的通信数据量。
在一些实施方式中,第一节点101在生成了第一快照信息后,可以将生成第一快照信息时刻之前的日志索引以及日志索引对应的数据更新消息都删除掉,以减少第一节点101中存储空间的占用。
例如,第一节点101在进行了日志索引10000对应的数据更新后,生成了一个表征该时刻状态的第一快照信息,那么可以将日志索引1~10000及其对应的数据更新消息都删除,在数据更新次数较多时,可以大大减少日志索引1~10000及其对应的数据更新消息对第一节点101的存储空间的占用。
本说明书的一些实施方式还提供了另一种减少第二节点102重启后数据同步时间的方式,具体地,在一个可选地实施方式中,所述第二节点102还用于在多次数据更新后,生成第二快照信息;所述第二快照信息包括在所述第二快照信息生成的时刻,所述第二节点102中的目标数据;
所述第二节点102根据所述第一目标日志索引进行数据更新具体用于:
加载最近一次生成的所述第二快照信息中的目标数据;
根据所述第一目标日志索引中,第三索引之后的日志索引对应的数据更新消息,对加载的所述目标数据进行数据更新;
所述第三索引为所述第二快照信息生成时,第二节点102最后一次数据更新对应的日志索引。
在本实施方式中,与第一快照信息类似的,第二节点102可以在多次数据更新后(例如每隔100、200次数据更新)后生成一个表征此刻目标数据状态的全量数据(即第二快照信息)。仍然假设第一节点101中经历了从日志索引1~日志索引100,共100次数据更新达到目标数据最新的状态,而第二节点102中进行了从日志索引1~日志索引90,共90次数据更新。
那么在第二节点102重启后,第二节点102中的目标数据丢失,在一些实施方式中,第二节点102需要根据历史的日志索引1~日志索引90对应的数据更新消息进行90次数据更新,再根据目标节点发送的日志索引91~100对应的数据更新消息进行10次数据更新才能达到最新的目标数据的状态。
但在本实施方式中,假设第二节点102在进行了日志索引80对应的数据更新后,生成了一个表征该时刻状态的第二快照信息,即第二快照信息包括了第二节点102在进行了80次数据更新后的所有目标数据。那么在第二节点102重启后,只需加载第二快照信息即可恢复到日志索引80所对应的目标数据的状态,然后根据日志索引81~日志索引100进行20次数据更新即可,大大减少了数据更新次数,减少了第二节点102重启所需的时间。
在一些实施方式中,第二节点102在生成了第二快照信息后,可以将生成第二快照信息时刻之前的日志索引以及日志索引对应的数据更新消息都删除掉,以减少第二节点102中存储空间的占用。
例如,第二节点102在进行了日志索引10000对应的数据更新后,生成了一个表征该时刻状态的第二快照信息,那么可以将日志索引1~10000及其对应的数据更新消息都删除,在数据更新次数较多时,可以大大减少日志索引1~10000及其对应的数据更新消息对第二节点102的存储空间的占用。
在一些实施方式中,所述一致性协议包括基于首领(Leader)选举的共识算法,例如一致性协议可以包括Raft协议。
相应的,所述多个第一节点101包括一个首领节点和多个跟随者节点;
所述首领节点,用于在更新自身的所述目标数据后,将更新后的目标数据推送给所述跟随者节点;
所述跟随者节点,用于根据所述首领节点推送的目标数据更新自身存储的目标数据。
在本实施方式中,首领节点和跟随者节点是第一节点在Raft协议中承担的角色,当第一节点对应有第二节点时,无论第一节点在Raft协议中是作为首领节点,还是作为跟随者节点,均可称该第一节点为目标节点。基于首领选举的共识算法具有强一致性、高可用性和容错性的特点,结合每个第二节点102可以与多个第一节点101中的一个目标节点对应,并从对应的目标节点中同步目标数据的特点,可以使分布式系统100在具有数据一致性、高可用和容错性的基础上,具备良好的扩展性。
综上所述,本说明书实施方式提供的第二节点102具体以下特点:
每个第二节点102与一个目标节点对应,第二节点102的节点变更无需在分布式系统100的集群内同步给所有的第一节点101;
所述第二节点102可以从一个目标节点中同步目标数据,通过日志索引来确定数据同步进度;
每次第二节点102重启或是部署新的第二节点102,可以将就近的第一节点101作为近邻目标节点,并从该就近的第一节点101中获取第一快照信息,然后获取第一快照信息之后的增量数据;
为了减少第二节点102的启动时间,第二节点102可以定期生成第二快照信息,启动之后可以先加载本地的第二快照信息,然后从目标节点要求第二快照信息之后的日志索引对应的数据更新消息;
每个第二节点102可以在与目标节点建立通信连接后,告知当前已经同步的日志索引,目标节点在同步到新的数据更新消息后,按照第二节点102最后一次同步的日志索引将增量数据推送给第二节点102;
可以给目标节点和第二节点102加上位置信息,可以让第二节点102在启动时根据这些位置信息选择近邻目标节点,并与其建立对应关系,从近邻目标节点中同步数据。
相应的,本说明书实施方式还提供了一种数据同步方法,如图4所示,应用于分布式系统中多个第一节点中的目标节点,所述分布式系统包括多个第一节点和多个第二节点,所述多个第一节点基于一致性协议保持多个所述第一节点存储的目标数据一致;每个所述第二节点与所述多个第一节点中的一个目标节点对应;所述数据同步方法包括:
S401:将所述目标数据同步给与其对应的第二节点,以用于所述第二节点基于所述目标数据响应任务请求。
本实施例提供的数据同步方法,与本说明书上述实施例所提供的分布式系统属于同一申请构思。未在本实施例中详尽描述的技术细节,可参见本说明书上述实施例提供的分布式系统的具体处理内容,此处不再加以赘述。
本说明书另一实施例还提出一种计算设备,参见图5所示,本说明书的一个示例性实施例还提供了一种计算设备,包括:存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时执行本说明书上述实施例中描述的根据本说明书各种实施例的数据同步方法中的步骤。
该计算设备的内部结构可以如图5所示,该计算设备包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该计算设备的处理器用于提供计算和控制能力。该中控设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以本说明书上述实施例中描述的根据本说明书各种实施例的数据同步方法中的步骤。
处理器可包括主处理器,还可包括基带芯片、调制解调器等。
存储器中保存有执行本发明技术方案的计算机程序,还可以保存有操作系统和其他关键程序。具体地,计算机程序可以包括程序代码,程序代码包括计算机操作指令。更具体的,存储器可以包括只读存储器(read-only memory,ROM)、可存储静态信息和指令的其他类型的静态存储设备、随机存取存储器(random access memory,RAM)、可存储信息和指令的其他类型的动态存储设备、磁盘存储器、flash等等。
处理器可以是通用处理器,例如通用处理器(CPU)、微处理器等,也可以是特定应用集成电路(application-specific integrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
输入设备可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、扫描仪、光笔、语音输入装置、触摸屏、计步器或重力感应器等。
输出设备可包括允许输出信息给用户的装置,例如显示屏、打印机、扬声器等。
通信接口可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器执行存储器中所存放的计算机程序,以及调用其他设备,可用于实现本申请上述实施例所提供的任意一种数据同步方法的各个步骤。
该计算设备还可以包括显示组件和语音组件,该显示组件可以是液晶显示屏或者电子墨水显示屏,该计算设备的输入装置可以是显示组件上覆盖的触摸层,也可以是计算设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图5中示出的结构,仅仅是与本说明书方案相关的部分结构的框图,并不构成对本说明书方案所应用于其上的计算设备的限定,具体的计算设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
除了上述方法和设备以外,本说明书实施例提供的数据同步方法还可以是计算机程序产品,其包括计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行本说明书上文中描述的根据本说明书各种实施例的数据同步方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本说明书实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本说明书实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行本说明书上文中描述的根据本说明书各种实施例的数据同步方法中的步骤。
需要说明的是,本说明书所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
可以理解,本文中的具体的例子只是为了帮助本领域技术人员更好地理解本说明书实施方式,而非限制本说明书的范围。
可以理解,在本说明书中的各种实施方式中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本说明书实施方式的实施过程构成任何限定。
可以理解,本说明书中描述的各种实施方式,既可以单独实施,也可以组合实施,本说明书实施方式对此并不限定。
除非另有说明,本说明书实施方式所使用的所有技术和科学术语与本说明书的技术领域的技术人员通常理解的含义相同。本说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在限制本说明书的范围。本说明书所使用的术语“和/或”包括一个或多个相关的所列项的任意的和所有的组合。在本说明书实施方式和所附权利要求书中所使用的单数形式的“一种”、“上述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
可以理解,本说明书实施方式的处理器可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施方式的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(ApplicationSpecific IntegratedCircuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本说明书实施方式中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本说明书实施方式所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
可以理解,本说明书实施方式中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM)、可编程只读存储器(ProgrammableROM,PROM)、可擦除可编程只读存储器(ErasablePROM,EPROM)、电可擦除可编程只读存储器(EEPROM)或闪存。易失性存储器可以是随机存取存储器(RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施方式描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本说明书的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施方式中的对应过程,在此不再赘述。
在本说明书所提供的几个实施方式中,应所述理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本说明书各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本说明书的技术方案本质上或者说对现有技术做出贡献的部分或者所述技术方案的部分可以以软件产品的形式体现出来,所述计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本说明书各个实施方式所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM)、随机存取存储器(RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本说明书的具体实施方式,但本说明书的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本说明书揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本说明书的保护范围之内。因此,本说明书的保护范围应所述以权利要求的保护范围为准。

Claims (14)

1.一种分布式系统,其特征在于,包括:多个第一节点和多个第二节点;其中,
所述多个第一节点基于一致性协议保持多个所述第一节点存储的目标数据一致;每个所述第二节点与所述多个第一节点中的一个目标节点对应;
所述目标节点,用于将所述目标数据同步给与其对应的第二节点;
所述第二节点,用于基于所述目标数据响应任务请求。
2.根据权利要求1所述的系统,其特征在于,所述第一节点中存储有各所述第一节点的位置信息,所述位置信息用于表征所述第一节点部署的地理位置;
所述第二节点,还用于从任一所述第一节点中获取各所述第一节点的位置信息,根据各所述第一节点的位置信息,与近邻目标节点建立对应关系;
所述近邻目标节点包括部署的地理位置与所述第二节点的部署的地理位置最近的第一节点。
3.根据权利要求1所述的系统,其特征在于,所述第一节点和所述第二节点中存储有历次数据更新对应的日志索引,所述日志索引用于标识数据更新消息,所述数据更新消息包括所述目标数据在数据更新后的增量数据;
所述目标节点,将所述目标数据同步给与其对应的第二节点具体用于:
将第一目标日志索引对应的数据更新消息发送给所述第二节点,以用于所述第二节点根据所述第一目标日志索引进行数据更新;
所述第一目标日志索引包括所述目标节点中,从第一索引之后的日志索引,所述第一索引为所述第二节点中最后一次数据更新对应的日志索引。
4.根据权利要求3所述的系统,其特征在于,所述第一节点还用于在多次数据更新后,生成第一快照信息;所述第一快照信息包括在所述第一快照信息生成的时刻,所述第一节点中的目标数据;
所述目标节点,将所述目标数据同步给与其对应的第二节点具体用于:
将第二目标日志索引对应的数据更新消息和最近一次生成的第一快照信息发送给所述第二节点,以用于所述第二节点根据所述第一快照信息和所述第二目标日志索引进行数据更新;
所述第二目标日志索引包括所述目标节点中,从第二索引之后的日志索引,所述第二索引为所述第一快照信息生成时,目标节点最后一次数据更新对应的日志索引。
5.根据权利要求4所述的系统,其特征在于,所述第二节点根据所述第一快照信息和所述第二目标日志索引进行数据更新具体用于:
保存所述第一快照信息包括的目标数据;
根据所述第二目标日志索引对应的数据更新消息,对所述目标数据进行数据更新。
6.根据权利要求4所述的系统,其特征在于,所述第二节点根据所述第一目标日志索引进行数据更新具体用于:
获取所述目标节点中最近一次生成的第一快照信息;
加载所述第一快照信息中的目标数据;
根据所述第一目标日志索引中,所述第二索引之后的日志索引对应的数据更新消息,对加载的所述目标数据进行数据更新。
7.根据权利要求4所述的系统,其特征在于,所述第一节点还用于,在生成第一快照信息后,删除生成所述第一快照信息时保存的日志索引以及所述日志索引对应的数据更新消息。
8.根据权利要求3所述的系统,其特征在于,所述第二节点还用于在多次数据更新后,生成第二快照信息;所述第二快照信息包括在所述第二快照信息生成的时刻,所述第二节点中的目标数据;
所述第二节点根据所述第一目标日志索引进行数据更新具体用于:
加载最近一次生成的所述第二快照信息中的目标数据;
根据所述第一目标日志索引中,第三索引之后的日志索引对应的数据更新消息,对加载的所述目标数据进行数据更新;
所述第三索引为所述第二快照信息生成时,第二节点最后一次数据更新对应的日志索引。
9.根据权利要求8所述的系统,其特征在于,所述第二节点还用于,在生成第二快照信息后,删除生成所述第二快照信息时保存的日志索引以及所述日志索引对应的数据更新消息。
10.根据权利要求3所述的系统,其特征在于,所述第二节点还用于,在与所述目标节点建立通信连接后,向所述目标节点发送所述第二节点中最后一次数据更新对应的日志索引。
11.根据权利要求1~8任一项所述的系统,其特征在于,所述一致性协议包括基于首领选举的共识算法;
所述多个第一节点包括一个首领节点和多个跟随者节点;
所述首领节点,用于在更新自身的所述目标数据后,将更新后的目标数据推送给所述跟随者节点;
所述跟随者节点,用于根据所述首领节点推送的目标数据更新自身存储的目标数据。
12.一种数据同步方法,其特征在于,应用于分布式系统中多个第一节点中的目标节点,所述分布式系统包括多个第一节点和多个第二节点,所述多个第一节点基于一致性协议保持多个所述第一节点存储的目标数据一致;每个所述第二节点与所述多个第一节点中的一个目标节点对应;所述数据同步方法包括:
将所述目标数据同步给与其对应的第二节点,以用于所述第二节点基于所述目标数据响应任务请求。
13.一种电子设备,其特征在于,包括:处理器和存储器;
其中,所述存储器与所述处理器连接,所述存储器用于存储计算机程序;
所述处理器,用于通过运行所述存储器中存储的计算机程序,实现如权利要求12所述的数据同步方法。
14.一种存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时,实现如权利要求12所述的数据同步方法。
CN202310597808.1A 2023-05-24 2023-05-24 一种分布式系统、数据同步方法、电子设备及存储介质 Active CN116340431B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310597808.1A CN116340431B (zh) 2023-05-24 2023-05-24 一种分布式系统、数据同步方法、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310597808.1A CN116340431B (zh) 2023-05-24 2023-05-24 一种分布式系统、数据同步方法、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN116340431A true CN116340431A (zh) 2023-06-27
CN116340431B CN116340431B (zh) 2023-09-01

Family

ID=86887984

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310597808.1A Active CN116340431B (zh) 2023-05-24 2023-05-24 一种分布式系统、数据同步方法、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN116340431B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150805B1 (en) * 2006-06-30 2012-04-03 Symantec Operating Corporation Consistency interval marker assisted in-band commands in distributed systems
CN108234630A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 基于分布式一致性协议实现的数据读取方法及装置
KR102192442B1 (ko) * 2020-02-10 2020-12-17 충북대학교 산학협력단 쿠버네티스 클러스터에서의 리더 분산 방법 및 리더 분산 시스템
CN112925620A (zh) * 2021-02-24 2021-06-08 北京润尼尔网络科技有限公司 分布式的任务调度系统和方法
CN113297008A (zh) * 2021-05-19 2021-08-24 阿里巴巴新加坡控股有限公司 数据处理方法以及系统
CN113946287A (zh) * 2021-09-08 2022-01-18 广州虎牙科技有限公司 分布式存储系统及其数据处理方法、相关装置
CN113987064A (zh) * 2021-09-23 2022-01-28 阿里云计算有限公司 数据处理方法、系统及设备
CN115840631A (zh) * 2023-01-04 2023-03-24 中科金瑞(北京)大数据科技有限公司 基于raft的高可用分布式任务调度方法和设备

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8150805B1 (en) * 2006-06-30 2012-04-03 Symantec Operating Corporation Consistency interval marker assisted in-band commands in distributed systems
CN108234630A (zh) * 2017-12-29 2018-06-29 北京奇虎科技有限公司 基于分布式一致性协议实现的数据读取方法及装置
KR102192442B1 (ko) * 2020-02-10 2020-12-17 충북대학교 산학협력단 쿠버네티스 클러스터에서의 리더 분산 방법 및 리더 분산 시스템
CN112925620A (zh) * 2021-02-24 2021-06-08 北京润尼尔网络科技有限公司 分布式的任务调度系统和方法
CN113297008A (zh) * 2021-05-19 2021-08-24 阿里巴巴新加坡控股有限公司 数据处理方法以及系统
CN113946287A (zh) * 2021-09-08 2022-01-18 广州虎牙科技有限公司 分布式存储系统及其数据处理方法、相关装置
CN113987064A (zh) * 2021-09-23 2022-01-28 阿里云计算有限公司 数据处理方法、系统及设备
CN115840631A (zh) * 2023-01-04 2023-03-24 中科金瑞(北京)大数据科技有限公司 基于raft的高可用分布式任务调度方法和设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
YANGYANG WANG 等: "Rethink the Linearizability Constraints of Raft for Distributed Systems", 《IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING》, pages 1 *
罗鹏豪: "分布式一致性核心平台设计与实现", 《中国优秀硕士学位论文全文数据库》, pages 138 - 585 *
赵春扬;肖冰;郭进伟;钱卫宁;: "一致性协议在分布式数据库系统中的应用", 华东师范大学学报(自然科学版), no. 05, pages 99 - 114 *

Also Published As

Publication number Publication date
CN116340431B (zh) 2023-09-01

Similar Documents

Publication Publication Date Title
US11533220B2 (en) Network-assisted consensus protocol
US10204114B2 (en) Replicating data across data centers
US11061924B2 (en) Multi-region, multi-master replication of database tables
CN107832138B (zh) 一种扁平化的高可用namenode模型的实现方法
US20080195597A1 (en) Searching in peer-to-peer networks
CN112199419B (zh) 一种分布式时序数据库、存储方法、设备及存储介质
CN103180842A (zh) 云计算系统和用于该云计算系统的数据同步方法
US8095495B2 (en) Exchange of syncronization data and metadata
US9830333B1 (en) Deterministic data replication with conflict resolution
US20120265822A1 (en) System and method for sharing mobile internet service
CN108829720B (zh) 数据处理方法及装置
CN114827145B (zh) 服务器集群系统、元数据的访问方法及装置
EP3935515A1 (en) Metadata routing in a distributed system
CN107172214B (zh) 一种具有负载均衡的服务节点发现方法及装置
US20220300159A1 (en) Backup services for distributed file systems in cloud computing environments
CN109690518A (zh) 提供在局域网上操作的边缘云存储和缓存系统的系统和方法
CN105069152A (zh) 数据处理方法及装置
US8725856B2 (en) Discovery of network services
CN116340431B (zh) 一种分布式系统、数据同步方法、电子设备及存储介质
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
CN117176612B (zh) 网络质量的探测方法、装置和计算机可读存储介质
CN113157604B (zh) 基于分布式系统的数据获取方法、装置及相关产品
CN116455897A (zh) 实现节点间协同作业的方法、协同服务引擎及协同系统
CN114416756A (zh) 一种去中心化的话务数据交互方法及系统
CN117336293A (zh) 一种边缘计算系统和边缘计算方法

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
GR01 Patent grant
GR01 Patent grant