CN117312448A - 一种集群数据同步方法、***、存储介质及设备 - Google Patents
一种集群数据同步方法、***、存储介质及设备 Download PDFInfo
- Publication number
- CN117312448A CN117312448A CN202311249410.5A CN202311249410A CN117312448A CN 117312448 A CN117312448 A CN 117312448A CN 202311249410 A CN202311249410 A CN 202311249410A CN 117312448 A CN117312448 A CN 117312448A
- Authority
- CN
- China
- Prior art keywords
- current
- nodes
- number value
- node
- sentences
- 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
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000001514 detection method Methods 0.000 claims abstract description 61
- 238000004364 calculation method Methods 0.000 claims abstract description 30
- 230000001360 synchronised effect Effects 0.000 claims abstract description 10
- 230000004044 response Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 10
- 230000003993 interaction Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000005012 migration Effects 0.000 description 3
- 238000013508 migration Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/242—Query formulation
- G06F16/2433—Query languages
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computational Linguistics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供了一种集群数据同步方法、***、存储介质及设备,方法包括:若云平台集群内的当前节点运行云管理服务,通过其语句检测服务实时检测云管理服务下发至数据库的语句并按照预设顺序编号且进行哈希计算,并将检测到的语句以及当前哈希值和当前编号值保存至文件中;若当前节点的一致性检测服务检测到文件,将文件发送至集群内其他节点,从而提取语句、哈希值及编号值,并对提取的语句进行哈希计算,若计算结果与当前哈希值一致,将提取的语句写入其他节点的数据库中,其他节点将提取的编号值返回至当前节点进行编号值对比;若提取的编号值与当前编号值一致,确定检测到的语句已同步至其他节点。本发明实现了云平台集群的云管理数据同步。
Description
技术领域
本发明涉及云计算技术领域,尤其涉及一种集群数据同步方法、***、存储介质及设备。
背景技术
在云计算时代,将业务***上云已经是很普遍的选择,所以为了业务***稳定运行,就需要云平台稳定运行。云平台的管理核心就是云管理服务,里面保存有整个云平台运行的数据信息。为了保证云平台稳定运行,需要保证云平台的管理数据信息稳定、可靠地保存。传统的云平台管理服务往往都是单节点运行或者双节点运行,数据信息只是存放在单节点或者双节点上,无法在集群的所有节点实现数据信息同步。
发明内容
有鉴于此,本发明的目的在于提出一种集群数据同步方法、***、存储介质及设备,用以目前云管理服务的数据信息不能在集群的所有节点同步的问题。
基于上述目的,本发明提供了一种集群数据同步方法,包括以下步骤:
在云平台集群内的所有节点均部署语句检测服务和一致性检测服务;
响应于当前节点运行云管理服务,通过其语句检测服务实时检测云管理服务下发至当前节点的数据库的语句,并对检测到的语句按照预设顺序编号,得到当前编号值,且对检测到的语句进行哈希计算,得到当前哈希值,并将检测到的语句以及当前哈希值和当前编号值保存至文件中;
响应于当前节点的一致性检测服务检测到文件,将文件发送至集群内其他节点的一致性检测服务,其他节点的一致性检测服务从接收到的文件中提取语句、哈希值及编号值,并对提取的语句进行哈希计算,并将计算结果与当前哈希值进行对比;
响应于计算结果与当前哈希值一致,将提取的语句写入其他节点的数据库中,其他节点将提取的编号值返回至当前节点,当前节点将提取的编号值与当前编号值进行对比;
响应于提取的编号值与当前编号值一致,确定检测到的语句已同步至其他节点。
在一些实施例中,对检测到的语句按照预设顺序编号包括:
对检测到的语句按照从小到大的顺序编号。
在一些实施例中,方法还包括:
响应于云管理服务迁移至下一节点运行,下一节点的一致性检测服务向集群内当前的其他节点请求最大编号值,并将下一节点的最大编号值与当前的其他节点的最大编号值进行对比;
响应于下一节点的最大编号值小于当前的其他节点的最大编号值,确定下一节点的数据库中的数据不为最新数据,并向当前的其他节点发送语句请求;
响应于当前的其他节点接收到语句请求,将当前的其他节点的最大编号值与下一节点的最大编号值的编号差所对应的语句发送至下一节点,以使下一节点的数据库中的数据为最新数据。
在一些实施例中,方法还包括:
响应于下一节点的最大编号值等于或大于当前的其他节点的最大编号值,确定下一节点的数据库中的数据为最新数据,并确定下一节点运行云管理服务。
在一些实施例中,方法还包括:
响应于下一节点接收到编号差所对应的语句,按照编号值从小到大的顺序依次执行编号差所对应的语句,以写入下一节点的数据库中。
在一些实施例中,其他节点将提取的编号值返回至当前节点包括:
其他节点将包含提取的编号值的文件包返回至当前节点。
在一些实施例中,方法还包括:
通过当前节点的数据库保存云管理服务所在的云平台的数据信息。
本发明的另一方面,还提供了一种集群数据同步***,包括:
部署模块,配置用于在云平台集群内的所有节点均部署语句检测服务和一致性检测服务;
保存模块,配置用于响应于当前节点运行云管理服务,通过其语句检测服务实时检测云管理服务下发至当前节点的数据库的语句,并对检测到的语句按照预设顺序编号,得到当前编号值,且对检测到的语句进行哈希计算,得到当前哈希值,并将检测到的语句以及当前哈希值和当前编号值保存至文件中;
第一对比模块,配置用于响应于当前节点的一致性检测服务检测到文件,将文件发送至集群内其他节点的一致性检测服务,其他节点的一致性检测服务从接收到的文件中提取语句、哈希值及编号值,并对提取的语句进行哈希计算,并将计算结果与当前哈希值进行对比;
第二对比模块,配置用于响应于计算结果与当前哈希值一致,将提取的语句写入其他节点的数据库中,其他节点将提取的编号值返回至当前节点,当前节点将提取的编号值与当前编号值进行对比;以及
同步模块,配置用于响应于提取的编号值与当前编号值一致,确定检测到的语句已同步至其他节点。
本发明的又一方面,还提供了一种计算机可读存储介质,存储有计算机程序指令,该计算机程序指令被处理器执行时实现上述方法。
本发明的再一方面,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该计算机程序被处理器执行时执行上述方法。
本发明至少具有以下有益技术效果:
本发明的集群数据同步方法,可以实现云平台集群内所有节点都能实时同步云管理服务的数据信息,并且是基于单个语句粒度级别的实时同步;并且集群内所有节点可以实时地进行一致性检查校验,保证了云平台集群内所有节点的数据库实时保存有云平台的数据信息,使云平台的数据信息不丢失,极大保障了云管理服务数据库中数据的高可靠性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为根据本发明实施例提供的集群数据同步方法的示意图;
图2为根据本发明实施例提供的集群内各节点间一致性检测服务的交互示意图;
图3为根据本发明实施例提供的云管理服务迁移后各节点间一致性检测服务的交互示意图;
图4为根据本发明实施例提供的集群数据同步***的示意图;
图5为根据本发明实施例提供的实现集群数据同步方法的计算机可读存储介质的示意图;
图6为根据本发明实施例提供的执行集群数据同步方法的计算机设备的硬件结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称的非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备固有的其他步骤或单元。
基于上述目的,本发明实施例的第一个方面,提出了一种集群数据同步方法的实施例。图1示出的是本发明提供的集群数据同步方法的实施例的示意图。如图1所示,本发明实施例包括如下步骤:
步骤S10、在云平台集群内的所有节点均部署语句检测服务和一致性检测服务;
步骤S20、响应于当前节点运行云管理服务,通过其语句检测服务实时检测云管理服务下发至当前节点的数据库的语句,并对检测到的语句按照预设顺序编号,得到当前编号值,且对检测到的语句进行哈希计算,得到当前哈希值,并将检测到的语句以及当前哈希值和当前编号值保存至文件中;
步骤S30、响应于当前节点的一致性检测服务检测到文件,将文件发送至集群内其他节点的一致性检测服务,其他节点的一致性检测服务从接收到的文件中提取语句、哈希值及编号值,并对提取的语句进行哈希计算,并将计算结果与当前哈希值进行对比;
步骤S40、响应于计算结果与当前哈希值一致,将提取的语句写入其他节点的数据库中,其他节点将提取的编号值返回至当前节点,当前节点将提取的编号值与当前编号值进行对比;
步骤S50、响应于提取的编号值与当前编号值一致,确定检测到的语句已同步至其他节点。
本发明实施例中,首先会在云平台集群内的所有节点部署用于检测写入数据库的sql(Structured Query Language,结构化查询语言)语句的语句检测服务,当云管理服务不管在哪个节点上运行,都可以侦测到云管理服务下发的sql数据信息;并且,集群内所有节点同时还会部署用于管理数据一致性的一致性检测服务,该一致性检测服务可以确保集群内每个节点上管理数据库信息都是实时同步并且保持最新的,这样云平台集群能做到实时的动态同步最新的数据库数据,并且用检测机制保证各自的数据是最新的。
本发明实施例的集群数据同步方法,可以实现云平台集群内所有节点都能实时同步云管理服务的数据信息,并且是基于单个语句粒度级别的实时同步;并且集群内所有节点可以实时地进行一致性检查校验,保证了云平台集群内所有节点的数据库实时保存有云平台的数据信息,使云平台的数据信息不丢失,极大保障了云管理服务数据库中数据的高可靠性。
在一些实施例中,对检测到的语句按照预设顺序编号包括:对检测到的语句按照从小到大的顺序编号。
本实施例中,通过对检测到的语句按照从小到大的顺序编号,有利于辅助判断语句是否是新语句,从而对数据库数据更新提供了帮助。
在一些实施例中,方法还包括:响应于云管理服务迁移至下一节点运行,下一节点的一致性检测服务向集群内当前的其他节点请求最大编号值,并将下一节点的最大编号值与当前的其他节点的最大编号值进行对比;响应于下一节点的最大编号值小于当前的其他节点的最大编号值,确定下一节点的数据库中的数据不为最新数据,并向当前的其他节点发送语句请求;响应于当前的其他节点接收到语句请求,将当前的其他节点的最大编号值与下一节点的最大编号值的编号差所对应的语句发送至下一节点,以使下一节点的数据库中的数据为最新数据。
本实施例中,通过将云管理服务新迁移到的运行节点的最大编号值与集群内当前其他节点的最大编号值进行对比,能够直接判断出新运行节点(即下一节点)的数据库中的数据是否是最新数据,从而便于新运行节点的数据更新,确保了各数据库数据的完整性和一致性。
在一些实施例中,方法还包括:响应于下一节点的最大编号值等于或大于当前的其他节点的最大编号值,确定下一节点的数据库中的数据为最新数据,并确定下一节点运行云管理服务。
本实施例中,由于语句是基于时间流逝按照从小到大的顺序写的,因此若下一节点的最大编号值等于或大于当前的其他节点的最大编号值,则表明该下一节点的数据库中的数据为最新数据,可以运行云管理服务。
在一些实施例中,方法还包括:响应于下一节点接收到编号差所对应的语句,按照编号值从小到大的顺序依次执行编号差所对应的语句,以写入下一节点的数据库中。
本实施例中,下一节点通过按照编号值从小到大的顺序依次执行编号差所对应的语句,能够保证语句顺序写入数据库,避免数据库中数据混乱。
在一些实施例中,其他节点将提取的编号值返回至当前节点包括:其他节点将包含提取的编号值的文件包返回至当前节点。
本实施例中,文件包可以是ACK(Acknowledge character,确认字符)包,ACK是在数据通信中接收站发给发送站的一种传输类控制字符,表示发来的数据已确认接收无误。
在一些实施例中,方法还包括:通过当前节点的数据库保存云管理服务所在的云平台的数据信息。
本实施例中,云平台的配置、管理等数据信息都保存在运行云管理服务的数据库中,因此,实现所有节点的数据库中的数据同步能够在云管理服务迁移到其他节点时不至于丢失云平台的数据信息。
以下为本发明的集群数据同步方法的一示例性实施例,实现过程如下:
1)云平台集群内有节点运行云管理服务,所有的关于云平台的配置管理信息都是通过云管理平台保存在数据库中。
2)每个节点都会部署sql语句检测服务,当云平台集群内的某个节点运行,sql检测服务会实时检测出云管理服务下发的给数据库的sql语句,检测出的sql数据按照单个完成的sql语句从小到大编号保存,保存的同时对该sql语句进行hash(哈希)计算,hash计算值、编号、该sql语句作为一个整体文件保存。
3)云平台内集群内的所有节点都会部署管理数据的一致性检测服务。图2示出了根据本发明实施例提供的集群内各节点间一致性检测服务的交互示意图。如图2所示,该检测服务当发现有新的文件之后,就发送给集群内所有的其他节点的一致性检测服务,当其他节点的一致性检测服务收到这个文件后,会提取该文件中sql语句、hash值、以及sql语句的编号,然后首先对该sql语句进行hash计算,对比和接受到的hash值一致后(如果不一致不进行后续的操作),将该sql语句写入当前节点的数据库中,然后该节点会返回给当前运行云管理服务的节点一个ack包,这个ack包包含当初接收到的sql语句编号的值,云管理服务的运行节点接受到ack包后发现和当初发送的数据里面的sql语句的编号是一致的,代表该sql语句已经同步给其他节点,如果在规定的超时时间没有接收到该ack包,就会重新发送该sql语句信息给对方。
4)当管理节点迁移到了云管理平台内的其他节点运行,首先需要确保该节点上的数据库数据是最新的。图3示出了根据本发明实施例提供的云管理服务迁移后各节点间一致性检测服务的交互示意图。如图3所示,该节点上的管理数据一致性经检测服务会向集群内的其他节点请求最大的sql语句编号,如果发现集群内返回的最大的编号值是跟自己一致的(收到云平台集群内所有节点的回应包,提取出最大的sql语句编号跟自己比较),则代表当前节点要运行云管理服务的节点数据库数据是最新的,则可以运行云管理服务,继续以上2)到3)步骤的操作,实时进行分布式的数据同步机制。如果发现得到的集群内的其他节点的数据库sql编号比自己大(收到云平台集群内所有节点的回应包,提取出最大的sql语句编号跟自己比较),则向第一个回应最大sql编号的节点,请求最大sql编号跟自己sql编号差值之间的对应的sql语句(接收到回应包之后,将sql语句按照顺序从小到大依次执行sql语句,将数据写入当前节点的数据库),这样保持当前要运行云管理服务的节点的数据库数据是最新的且一致的。
5)若云管理服务又迁移到了集群内的又一节点上,那么运行机制如同步骤4),保证每一个运行云管理服务的数据库中数据都是最新的且一致的。
本发明实施例的第二个方面,还提供了一种集群数据同步***。图4示出的是本发明提供的集群数据同步***的实施例的示意图。如图4所示,一种集群数据同步***包括:部署模块10,配置用于在云平台集群内的所有节点均部署语句检测服务和一致性检测服务;保存模块20,配置用于响应于当前节点运行云管理服务,通过其语句检测服务实时检测云管理服务下发至当前节点的数据库的语句,并对检测到的语句按照预设顺序编号,得到当前编号值,且对检测到的语句进行哈希计算,得到当前哈希值,并将检测到的语句以及当前哈希值和当前编号值保存至文件中;第一对比模块30,配置用于响应于当前节点的一致性检测服务检测到文件,将文件发送至集群内其他节点的一致性检测服务,其他节点的一致性检测服务从接收到的文件中提取语句、哈希值及编号值,并对提取的语句进行哈希计算,并将计算结果与当前哈希值进行对比;第二对比模块40,配置用于响应于计算结果与当前哈希值一致,将提取的语句写入其他节点的数据库中,其他节点将提取的编号值返回至当前节点,当前节点将提取的编号值与当前编号值进行对比;以及同步模块50,配置用于响应于提取的编号值与当前编号值一致,确定检测到的语句已同步至其他节点。
在一些实施例中,保存模块20包括编号模块,配置用于对检测到的语句按照从小到大的顺序编号。
在一些实施例中,***还包括迁移模块,配置用于响应于云管理服务迁移至下一节点运行,下一节点的一致性检测服务向集群内当前的其他节点请求最大编号值,并将下一节点的最大编号值与当前的其他节点的最大编号值进行对比;响应于下一节点的最大编号值小于当前的其他节点的最大编号值,确定下一节点的数据库中的数据不为最新数据,并向当前的其他节点发送语句请求;响应于当前的其他节点接收到语句请求,将当前的其他节点的最大编号值与下一节点的最大编号值的编号差所对应的语句发送至下一节点,以使下一节点的数据库中的数据为最新数据。
在一些实施例中,***还包括确定运行模块,配置用于响应于下一节点的最大编号值等于或大于当前的其他节点的最大编号值,确定下一节点的数据库中的数据为最新数据,并确定下一节点运行云管理服务。
在一些实施例中,***还包括执行模块,配置用于响应于下一节点接收到编号差所对应的语句,按照编号值从小到大的顺序依次执行编号差所对应的语句,以写入下一节点的数据库中。
在一些实施例中,第二对比模块40包括返回模块,配置用于其他节点将包含提取的编号值的文件包返回至当前节点。
在一些实施例中,***还包括数据库模块,配置用于通过当前节点的数据库保存云管理服务所在的云平台的数据信息。
本发明实施例的第三个方面,还提供了一种计算机可读存储介质,图5示出了根据本发明实施例提供的实现集群数据同步方法的计算机可读存储介质的示意图。如图5所示,计算机可读存储介质3存储有计算机程序指令31。该计算机程序指令31被处理器执行时实现上述任意一项实施例的方法。
应当理解,在相互不冲突的情况下,以上针对根据本发明的集群数据同步方法阐述的所有实施方式、特征和优势同样地适用于根据本发明的集群数据同步***和存储介质。
本发明实施例的第四个方面,还提供了一种计算机设备,包括如图6所示的存储器402和处理器401,该存储器402中存储有计算机程序,该计算机程序被该处理器401执行时实现上述任意一项实施例的方法。
如图6所示,为本发明提供的执行集群数据同步方法的计算机设备的一个实施例的硬件结构示意图。以如图6所示的计算机设备为例,在该计算机设备中包括一个处理器401以及一个存储器402,并还可以包括:输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线或者其他方式连接,图6中以通过总线连接为例。输入装置403可接收输入的数字或字符信息,以及产生与集群数据同步***的用户设置以及功能控制有关的键信号输入。输出装置404可包括显示屏等显示设备。
存储器402作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的集群数据同步方法对应的程序指令/模块。存储器402可以包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需要的应用程序;存储数据区可存储集群数据同步方法的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器402可选包括相对于处理器401远程设置的存储器,这些远程存储器可以通过网络连接至本地模块。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器401通过运行存储在存储器402中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的集群数据同步方法。
最后需要说明的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个***的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
结合这里的公开所描述的各种示例性逻辑块、模块和电路可以利用被设计成用于执行这里功能的下列部件来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立的硬件组件或者这些部件的任何组合。通用处理器可以是微处理器,但是可替换地,处理器可以是任何传统处理器、控制器、微控制器或状态机。处理器也可以被实现为计算设备的组合,例如,DSP和微处理器的组合、多个微处理器、一个或多个微处理器结合DSP和/或任何其它这种配置。
以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
Claims (10)
1.一种集群数据同步方法,其特征在于,包括以下步骤:
在云平台集群内的所有节点均部署语句检测服务和一致性检测服务;
响应于当前节点运行云管理服务,通过其语句检测服务实时检测所述云管理服务下发至所述当前节点的数据库的语句,并对检测到的语句按照预设顺序编号,得到当前编号值,且对所述检测到的语句进行哈希计算,得到当前哈希值,并将所述检测到的语句以及所述当前哈希值和所述当前编号值保存至文件中;
响应于所述当前节点的一致性检测服务检测到所述文件,将所述文件发送至所述集群内其他节点的一致性检测服务,所述其他节点的一致性检测服务从接收到的所述文件中提取语句、哈希值及编号值,并对提取的语句进行哈希计算,并将计算结果与所述当前哈希值进行对比;
响应于所述计算结果与所述当前哈希值一致,将所述提取的语句写入所述其他节点的数据库中,所述其他节点将提取的编号值返回至所述当前节点,所述当前节点将所述提取的编号值与所述当前编号值进行对比;
响应于所述提取的编号值与所述当前编号值一致,确定所述检测到的语句已同步至所述其他节点。
2.根据权利要求1所述的方法,其特征在于,对检测到的语句按照预设顺序编号包括:
对检测到的语句按照从小到大的顺序编号。
3.根据权利要求2所述的方法,其特征在于,还包括:
响应于所述云管理服务迁移至下一节点运行,所述下一节点的一致性检测服务向所述集群内当前的其他节点请求最大编号值,并将所述下一节点的最大编号值与所述当前的其他节点的最大编号值进行对比;
响应于所述下一节点的最大编号值小于所述当前的其他节点的最大编号值,确定所述下一节点的数据库中的数据不为最新数据,并向所述当前的其他节点发送语句请求;
响应于所述当前的其他节点接收到所述语句请求,将所述当前的其他节点的最大编号值与所述下一节点的最大编号值的编号差所对应的语句发送至所述下一节点,以使所述下一节点的数据库中的数据为最新数据。
4.根据权利要求3所述的方法,其特征在于,还包括:
响应于所述下一节点的最大编号值等于或大于所述当前的其他节点的最大编号值,确定所述下一节点的数据库中的数据为最新数据,并确定所述下一节点运行所述云管理服务。
5.根据权利要求3所述的方法,其特征在于,还包括:
响应于所述下一节点接收到所述编号差所对应的语句,按照编号值从小到大的顺序依次执行所述编号差所对应的语句,以写入所述下一节点的数据库中。
6.根据权利要求1所述的方法,其特征在于,所述其他节点将提取的编号值返回至所述当前节点包括:
所述其他节点将包含提取的编号值的文件包返回至所述当前节点。
7.根据权利要求1所述的方法,其特征在于,还包括:
通过所述当前节点的数据库保存所述云管理服务所在的所述云平台的数据信息。
8.一种集群数据同步***,其特征在于,包括:
部署模块,配置用于在云平台集群内的所有节点均部署语句检测服务和一致性检测服务;
保存模块,配置用于响应于当前节点运行云管理服务,通过其语句检测服务实时检测所述云管理服务下发至所述当前节点的数据库的语句,并对检测到的语句按照预设顺序编号,得到当前编号值,且对所述检测到的语句进行哈希计算,得到当前哈希值,并将所述检测到的语句以及所述当前哈希值和所述当前编号值保存至文件中;
第一对比模块,配置用于响应于所述当前节点的一致性检测服务检测到所述文件,将所述文件发送至所述集群内其他节点的一致性检测服务,所述其他节点的一致性检测服务从接收到的所述文件中提取语句、哈希值及编号值,并对提取的语句进行哈希计算,并将计算结果与所述当前哈希值进行对比;
第二对比模块,配置用于响应于所述计算结果与所述当前哈希值一致,将所述提取的语句写入所述其他节点的数据库中,所述其他节点将提取的编号值返回至所述当前节点,所述当前节点将所述提取的编号值与所述当前编号值进行对比;以及
同步模块,配置用于响应于所述提取的编号值与所述当前编号值一致,确定所述检测到的语句已同步至所述其他节点。
9.一种计算机可读存储介质,其特征在于,存储有计算机程序指令,所述计算机程序指令被处理器执行时实现如权利要求1-7任意一项所述的方法。
10.一种计算机设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述计算机程序被所述处理器执行时执行如权利要求1-7任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311249410.5A CN117312448A (zh) | 2023-09-26 | 2023-09-26 | 一种集群数据同步方法、***、存储介质及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311249410.5A CN117312448A (zh) | 2023-09-26 | 2023-09-26 | 一种集群数据同步方法、***、存储介质及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117312448A true CN117312448A (zh) | 2023-12-29 |
Family
ID=89254834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311249410.5A Pending CN117312448A (zh) | 2023-09-26 | 2023-09-26 | 一种集群数据同步方法、***、存储介质及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117312448A (zh) |
-
2023
- 2023-09-26 CN CN202311249410.5A patent/CN117312448A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109347675B (zh) | 服务器配置方法、装置以及电子设备 | |
CN110309161B (zh) | 一种数据同步方法、装置及服务器 | |
US10257110B2 (en) | Using a template to update a stack of resources | |
US10114848B2 (en) | Ensuring the same completion status for transactions after recovery in a synchronous replication environment | |
JP2023546249A (ja) | トランザクション処理方法、装置、コンピュータ機器及びコンピュータプログラム | |
CN107992537B (zh) | 业务属性传递方法、装置、计算机设备及存储介质 | |
CN112153133B (zh) | 一种数据共享方法、设备以及介质 | |
CN107656705B (zh) | 一种计算机存储介质和一种数据迁移方法、装置及*** | |
CN110647531A (zh) | 数据同步方法、装置、设备及计算机可读存储介质 | |
WO2020224098A1 (zh) | 基于全局负载均衡的云存取方法、装置及存储介质 | |
CN112860282B (zh) | 集群插件的升级方法、装置和服务器 | |
CN111552701A (zh) | 确定分布式集群中数据一致性的方法及分布式数据*** | |
CN112732756A (zh) | 数据查询方法、装置、设备及存储介质 | |
US9311379B2 (en) | Utilization of data structures to synchronize copies of a resource | |
CN113672692B (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN114416883A (zh) | 区块链轻节点数据同步方法、装置、设备及可读存储介质 | |
CN114625566A (zh) | 数据容灾方法、装置、电子设备及存储介质 | |
CN111552494B (zh) | 一种容器组的管理方法、设备、***及介质 | |
CN112069152A (zh) | 一种数据库集群升级方法、装置、设备以及存储介质 | |
CN117312448A (zh) | 一种集群数据同步方法、***、存储介质及设备 | |
CN115455006A (zh) | 数据处理方法、数据处理装置、电子设备及存储介质 | |
CN114564530A (zh) | 一种数据库访问方法、装置、设备及存储介质 | |
Belocchi et al. | Paxos in the NIC: Hardware acceleration of distributed consensus protocols | |
CN113553488A (zh) | 搜索引擎中索引数据的更新方法、装置、电子设备及介质 | |
CN112286767A (zh) | 一种Redis缓存分析方法 |
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 |