CN117708233A - 基于数据库集群的主动时间同步方法、装置、设备及介质 - Google Patents
基于数据库集群的主动时间同步方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN117708233A CN117708233A CN202311603368.2A CN202311603368A CN117708233A CN 117708233 A CN117708233 A CN 117708233A CN 202311603368 A CN202311603368 A CN 202311603368A CN 117708233 A CN117708233 A CN 117708233A
- Authority
- CN
- China
- Prior art keywords
- time
- system time
- node
- time synchronization
- database
- 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 51
- 238000012545 processing Methods 0.000 claims abstract description 39
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 63
- 230000007246 mechanism Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 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/23—Updating
-
- 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
- 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
技术领域
本公开涉及计算机技术领域,尤其涉及一种基于数据库集群的主动时间同步方法、装置、设备及介质。
背景技术
数据库(Hadoop Database,hbase)集群能够实现大数据量(太字节(TB)或者拍字节(PB)级别数据量)下的在线实时读写,因为使用时间戳作为数据版本的判断依据,故hbase集群内所有节点需要尽可能保持时间一致。
相关技术中,通常依赖网络时间协议(Network Time Protocol,ntp)协议和ntp服务来进行时间同步,保证集群各个节点之间的时间一致性,但是ntp为外部服务,当ntp发生故障或者同步不及时的时候,对hbase集群会产生影响,当时间误差超过hbase集群容忍范围时,会导致hbase集群大面积故障,或出现的大幅度的时间跳变时,hbase集群不能很好的感知,这也容易对hbase集群的数据一致性带来影响。
发明内容
为了解决上述技术问题,本公开提供了一种基于数据库集群的主动时间同步方法、装置、设备及介质。
第一方面,本公开提供了一种基于数据库集群的主动时间同步方法,包括:
通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间;
通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态;
将时间同步状态写入数据库时间表中。
第二方面,本公开提供了一种基于数据库集群的主动时间同步装置,包括:
时间更新模块,用于通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间;
第一处理模块,用于通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态;
状态写入模块,用于将时间同步状态写入数据库时间表中。
第三方面,本公开提供了一种基于数据库集群的主动时间同步设备,包括:
处理器;
存储器,用于存储可执行指令;
其中,处理器用于从存储器中读取可执行指令,并执行可执行指令以实现第一方面的基于数据库集群的主动时间同步方法。
第四方面,本公开提供了一种计算机可读存储介质,该存储介质存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现第一方面的基于数据库集群的主动时间同步方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:
本公开实施例的基于数据库集群的主动时间同步方法、装置、设备及介质,能够通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间,接着通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态,最后将时间同步状态写入数据库时间表中,由此,可以使数据库集群进行主动时间同步,不需要依赖外部服务,降低数据库集群故障发生。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1为本公开实施例提供的一种基于数据库集群的主动时间同步方法的流程示意图;
图2为本公开实施例提供的另一种基于数据库集群的主动时间同步方法的流程示意图;
图3为本公开实施例提供的一种基于数据库集群的主动时间同步装置的结构示意图;
图4为本公开实施例提供的一种基于数据库集群的主动时间同步设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
为了解决上述问题,本公开实施例提供了一种基于数据库集群的主动时间同步方法、装置、设备及介质。下面结合图1至图2对本公开实施例提供的基于数据库集群的主动时间同步方法进行详细说明。
图1示出了本公开实施例提供的一种基于数据库集群的主动时间同步方法的流程示意图。
在本公开实施例中,该基于数据库集群的主动时间同步方法可以由服务器执行。其中,服务器可以包括但不限于诸如云服务器或云服务器集群等服务器。服务器可以包括hbase集群。
如图1所示,该基于数据库集群的主动时间同步方法可以包括如下步骤。
S110、通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间。
在本公开实施例中,服务器可以通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间。
可选地,主管理节点可以为负责hbase集群中多个服务节点的生命周期管理、集群资源调度、负载均衡、分布式任务处理等工作。其中,hbase集群可以包括多个管理节点,但是只有一个主管理节点,其他为备管理节点。
可选地,第一系统时间可以为主管理节点的当前系统时间。
可选地,协调节点可以为用于提供配置维护、域名服务、分布式同步、组服务等功能。
具体地,服务器可以通过主管理节点,将主管理节点的当前系统时间,即第一系统时间更新至协调节点。例如,该第一系统时间可以采用临时信息的方式保存在协调节点中,从而可以确保当主管理节点故障后,该第一系统时间被协调节点进行清理,避免该协调节点后续不能更新导致集群其他节点同步出错。
S120、通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态。
在本公开实施例中,服务器可以通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态。
可选地,服务节点可以为负责响应外界的客户端请求,提供数据表管理、数据缓存、数据读写等服务能力。例如,所有的客户端请求都会根据请求数据的主键分配到集群中某个服务节点上,集群理论上可以存在无限多的服务节点。
可选地,主动时间同步处理可以为主动进行时间同步的处理。
可选地,时间同步状态可以为用于表征服务节点进行时间同步后的同步信息。
具体地,在将第一系统时间更新至协调节点之后,服务器可以通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态。
S130、将时间同步状态写入数据库时间表中。
在本公开实施例中,服务器可以将时间同步状态写入数据库时间表中。
可选地,数据库时间表可以为用于存储时间同步状态的表。
具体地,在得到时间同步状态之后,服务器可以将该时间同步状态写入数据库时间表中。
由此,在本公开实施例中,能够通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间,接着通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态,最后将时间同步状态写入数据库时间表中,由此,可以使数据库集群进行主动时间同步,不需要依赖外部服务,降低数据库集群故障发生。
可选地,S110可以具体包括:在检测到预设启动参数为目标参数时,通过主管理节点创建时间同步线程;通过时间同步线程按照第一预设时间将第一系统时间更新至协调节点,并创建数据库时间表。
在本公开实施例中,服务器可以在检测到预设启动参数为目标参数时,通过主管理节点创建时间同步线程。
可选地,预设启动参数可以为预先设定的启动参数。例如,预设启动参数可以为表征是否开启主动时间同步机制。预设启动参数的值可以为true或false,true可以表示开启主动时间同步机制,false可以表示未开启主动时间同步机制。
可选地,目标参数可以为表征开启主动时间同步机制的参数。例如,目标参数可以为true。
可选地,时间同步线程可以为进行负责进行时间同步工作的线程。
具体地,服务器启动hbase集群后,可以先对预设启动参数进行检测,当该预设启动参数为目标参数时,即预设启动参数为true时,此时可以确定开启主动时间同步机制,服务器可以通过主管理节点创建时间同步线程。
进一步地,服务器可以通过时间同步线程按照第一预设时间将第一系统时间更新至协调节点,并创建数据库时间表。
可选地,第一预设时间可以为预先设定的时间。例如,第一预设时间可以为1s、2s等,此处不作限定。
具体地,服务器可以通过时间同步线程,按照第一预设时间将第一系统时间更新至协调节点,如每1s将第一系统时间更新至协调节点,并创建数据库时间表。
可选地,S120可以具体包括:通过服务节点按照第二预设时间检测协调节点中是否存在第一系统时间;若协调节点中不存在第一系统时间,得到第一时间同步状态。
在本公开实施例中,服务器可以通过服务节点按照第二预设时间检测协调节点中是否存在第一系统时间。
可选地,第二预设时间可以为预先设定的时间。例如,第二预设时间可以为5s、6s等,此处不作限定。
具体地,服务器可以通过服务节点按照第二预设时间检测协调节点中是否存在第一系统时间,例如通过服务节点每5s检测协调节点中是否存在第一系统时间。
进一步地,若协调节点中不存在第一系统时间,服务器可以得到第一时间同步状态。
可选地,第一时间同步状态可以为用于表征服务节点的同步状态。
具体地,如果通过服务节点检测到协调节点中不存在第一系统时间,即主管理节点的当前系统时间还未进行更新,从而得到第一时间同步状态,如第一时间同步状态可以为表征该服务节点未检测到第一系统时间,无法进行时间同步。
可选地,在通过服务节点检测协调节点中是否存在第一系统时间之后,该基于数据库集群的主动时间同步方法还可以包括:若协调节点中存在第一系统时间,判断服务节点的第二系统时间与第一系统时间的误差是否大于第一预设最大时间差;若第二系统时间与第一系统时间的误差小于或等于第一预设最大时间差,得到第二时间同步状态。
在本公开实施例中,若协调节点中存在第一系统时间,服务器可以判断服务节点的第二系统时间与第一系统时间的误差是否大于第一预设最大时间差。
可选地,第一预设最大时间差可以为预先设定的最大时间差。例如,第一预设最大时间差可以为30s、29s等,此处不作限定。
可选地,第二系统时间可以为服务器节点的当前系统时间。
具体地,当检测到协调节点中存在第一系统时间之后,服务器可以判断服务节点的第二系统时间与第一系统时间的误差是否大于第一预设最大时间差,即计算服务节点的第二系统时间与第一系统时间的误差,并判断该误差是否大于第一预设最大时间差。
进一步地,若第二系统时间与第一系统时间的误差小于或等于第一预设最大时间差,服务器可以得到第二时间同步状态。
可选地,第二时间同步状态可以为用于表征服务节点的同步状态。
具体地,当判断第二系统时间与第一系统时间的误差小于或等于第一预设最大时间差时,即此时服务节点的时间误差处于合理的最大时间差内,则服务器可以得到第二时间同步状态,该第二时间同步状态可以表示该服务器节点的第二系统时间处于误差内,同步前后时间一致。
可选地,在判断服务节点的第二系统时间与第一系统时间的误差是否大于第一预设最大时间差之后,该基于数据库集群的主动时间同步方法还可以包括:若第二系统时间与第一系统时间的误差大于第一预设最大时间差,判断第二系统时间与第一系统时间的时间顺序;在时间顺序为第一顺序的情况下,暂停接收写入请求,并将第二系统时间与第一系统时间同步,得到第三时间同步状态;在时间顺序为第二顺序的情况下,将第二系统时间与第一系统时间同步,得到第三时间同步状态。
在本公开实施例中,若第二系统时间与第一系统时间的误差大于第一预设最大时间差,服务器可以判断第二系统时间与第一系统时间的时间顺序。
可选地,时间顺序可以为两个系统时间的前后顺序。
具体地,当判断第二系统时间与第一系统时间的误差大于第一预设最大时间差之后,服务器可以继续判断第二系统时间与第一系统时间的时间顺序,即判断第二系统时间是否晚于或早于第一系统时间。
在本公开一些实施例中,在时间顺序为第一顺序的情况下,暂停接收写入请求,并将第二系统时间与第一系统时间同步,得到第三时间同步状态。
可选地,第一顺序可以为第二系统时间晚于第一系统时间。
可选地,写入请求可以为客户端向服务器中服务节点的发送的请求。
可选地,第三时间同步状态可以为表征服务节点的同步状态。
具体地,当判断时间顺序为第一顺序的情况下,即判断第二系统时间晚于第一系统时间,服务器可以通过服务节点暂停接收客户端的写入请求,并将第二系统时间与第一系统时间同步,即将第二系统时间同步为第一系统时间,并等待同步完成后,继续接收客户端的写入请求,得到第三时间同步状态,该第三时间同步状态可以表示该服务器节点进行时间同步,即同步前时间为第二系统时间,同步后时间为第一系统时间。
在本公开另一些实施例中,在时间顺序为第二顺序的情况下,将第二系统时间与第一系统时间同步,得到第三时间同步状态。
可选地,第二顺序可以为第二系统时间早于第一系统时间。
具体地,当判断时间顺序为第二顺序的情况下,即判断第二系统时间早于第一系统时间,服务器可以通过服务节点将第二系统时间与第一系统时间同步,即将第二系统时间同步为第一系统时间,得到第三时间同步状态,该第三时间同步状态可以表示该服务器节点进行时间同步,即同步前时间为第二系统时间,同步后时间为第一系统时间。
可选地,该基于数据库集群的主动时间同步方法还可以包括:通过多个备管理节点分别判断自身系统时间与第一系统时间的误差是否大于第二预设最大时间差,得到对应的判断结果,第一预设最大时间差小于或等于第二预设最大时间差;基于判断结果,通过多个备管理节点进行主动时间同步处理,得到时间同步状态。
在本公开实施例中,服务器可以通过多个备管理节点分别判断自身系统时间与第一系统时间的误差是否大于第二预设最大时间差,得到对应的判断结果。
可选地,自身系统时间可以为备管理节点的当前系统时间。
可选地,第二预设最大时间差可以为预先设定的最大时间差。其中,第一预设最大时间差小于或等于第二预设最大时间差。例如,第二预设最大时间差可以为30s。
可选地,判断结果可以为进行误差判断通过多个备管理节点进行主动时间同步处理,得到时间同步状态。后得到的结果。
具体地,服务器可以通过多个备管理节点按照第二预设时间分别判断自身系统时间与第一系统时间的误差是否大于第二预设最大时间差,得到对应的判断结果。
进一步地,基于判断结果,服务器可以通过多个备管理节点进行主动时间同步处理,得到时间同步状态。
具体地,服务器可以通过多个备管理节点,根据判断结果进行主动时间同步处理,得到时间同步状态,具体实施方式参照上文服务节点进行主动时间同步处理的方式,此处不作限定。
可选地,该基于数据库集群的主动时间同步方法还可以包括:在主管理节点发生故障的情况下,多个备管理节点分别判断自身系统时间是否早于数据库时间表中最新的时间同步状态;在自身系统时间不早于数据库时间表中最新的时间同步状态的情况下,通过多个备管理节点进行节点竞争,得到新的主管理节点。
在本公开实施例中,在主管理节点发生故障的情况下,通过多个备管理节点分别判断自身系统时间是否早于数据库时间表中最新的时间同步状态。
可选地,在主管理节点发生故障的情况下,服务器可以通过多个备管理节点分别判断自身系统时间是否早于数据库时间表中最新的时间同步状态。
具体地,如果主管理节点发生故障,服务器可以通过多个备管理节点,分别判断自身系统时间是否早于数据库时间表中最新的时间同步状态。
在一些实施例中,在自身系统时间早于数据库时间表中最新的时间同步状态的情况下,确定对应的备管理节点不进行节点竞争。
在另一些实施例中,在自身系统时间不早于数据库时间表中最新的时间同步状态的情况下,通过多个备管理节点进行节点竞争,得到新的主管理节点。
例如,数据库时间表的结构如表1所示:
表1
如表1所示,该数据库时间表中可以包括同步前的节点时间,用时间戳格式表示(before_sync_time),以及同步后的节点时间,用时间戳格式表示(curr_sync_time)。
图2示出了本公开实施例提供的一种基于数据库集群的主动时间同步方法的流程示意图。
如图2所示,该hbase集群中,包括主管理节点(主master)和多个备管理节点(备master),服务器可以通过主管理节点(主master)将第一系统时间(即集群时间)更新至协调节点(zookeeper),通过服务节点(regionserver1、regionserver2、regionserver3)和备管理节点(备master),从协调节点(zookeeper)中进行主动时间同步处理,得到时间同步状态,将时间同步状态写入数据库时间表中。
图3示出了本公开实施例提供的一种基于数据库集群的主动时间同步装置的结构示意图。
如图3所示,该基于数据库集群的主动时间同步装置300可以包括时间更新模块310、第一处理模块320和状态写入模块330。
该时间更新模块310可以用于通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间。
该第一处理模块320可以用于通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态。
该状态写入模块330可以用于将时间同步状态写入数据库时间表中。
由此,在本公开实施例中,能够通过主管理节点将第一系统时间更新至协调节点,第一系统时间为主管理节点的当前系统时间,接着通过服务节点基于协调节点中的第一系统时间进行主动时间同步处理,得到时间同步状态,最后将时间同步状态写入数据库时间表中,由此,可以使数据库集群进行主动时间同步,不需要依赖外部服务,降低数据库集群故障发生。
在本公开一些实施例中,该时间更新模块310可以具体包括线程创建单元和时间更新单元。
该线程创建单元可以用于在检测到预设启动参数为目标参数时,通过主管理节点创建时间同步线程。
该时间更新单元可以用于通过时间同步线程按照第一预设时间将第一系统时间更新至协调节点,并创建数据库时间表。
在本公开一些实施例中,该第一处理模块320可以具体包括时间检测单元和第一处理单元。
该时间检测单元可以用于通过服务节点按照第二预设时间检测协调节点中是否存在第一系统时间。
该第一处理单元可以用于若协调节点中不存在第一系统时间,得到第一时间同步状态。
在本公开一些实施例中,该第一处理模块320还可以具体包括第一判断单元和第二处理单元。
该第一判断单元可以用于在通过服务节点检测协调节点中是否存在第一系统时间之后,若协调节点中存在第一系统时间,判断服务节点的第二系统时间与第一系统时间的误差是否大于第一预设最大时间差。
该第二处理单元可以用于若第二系统时间与第一系统时间的误差小于或等于第一预设最大时间差,得到第二时间同步状态。
在本公开一些实施例中,该第一处理模块320还可以具体包括第二判断单元、第三处理单元和第四处理单元。
该第二判断单元可以用于若第二系统时间与第一系统时间的误差大于第一预设最大时间差,判断第二系统时间与第一系统时间的时间顺序。
该第三处理单元可以用于在判断服务节点的第二系统时间与第一系统时间的误差是否大于第一预设最大时间差之后,在时间顺序为第一顺序的情况下,暂停接收写入请求,并将第二系统时间与第一系统时间同步,得到第三时间同步状态。
该第四处理单元可以用于在时间顺序为第二顺序的情况下,将第二系统时间与第一系统时间同步,得到第三时间同步状态。
在本公开一些实施例中,该基于数据库集群的主动时间同步装置300还可以包括第一判断模块和第二处理模块。
该第一判断模块可以用于通过多个备管理节点分别判断自身系统时间与第一系统时间的误差是否大于第二预设最大时间差,得到对应的判断结果,第一预设最大时间差小于或等于第二预设最大时间差。
该第二处理模块可以用于基于判断结果,通过多个备管理节点进行主动时间同步处理,得到时间同步状态。
在本公开一些实施例中,该基于数据库集群的主动时间同步装置300还可以包括第二判断模块和节点竞争模块。
该第二判断模块可以用于在主管理节点发生故障的情况下,通过多个备管理节点分别判断自身系统时间是否早于数据库时间表中最新的时间同步状态。
该节点竞争模块可以用于在自身系统时间不早于数据库时间表中最新的时间同步状态的情况下,通过多个备管理节点进行节点竞争,得到新的主管理节点。
需要说明的是,图3所示的基于数据库集群的主动时间同步装置300可以执行图1至图2所示的方法实施例中的各个步骤,并且实现图1至图2所示的方法实施例中的各个过程和效果,在此不做赘述。
图4示出了本公开实施例提供的一种基于数据库集群的主动时间同步设备的结构示意图。
在本公开一些实施例中,图4所示的基于数据库集群的主动时间同步设备可以为服务器设备。具体地,服务器可以包括但不限于诸如云服务器或云服务器集群等服务器。
如图4所示,该基于数据库集群的主动时间同步设备可以包括处理器401以及存储有计算机程序指令的存储器402。
具体地,上述处理器401可以包括中央处理器(CPU),或者特定集成电路(Application Specific Integrated Circuit,ASIC),或者可以被配置成实施本申请实施例的一个或多个集成电路。
存储器402可以包括用于信息或指令的大容量存储器。举例来说而非限制,存储器402可以包括硬盘驱动器(Hard Disk Drive,HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带或通用串行总线(Universal Serial Bus,USB)驱动器或者两个及其以上这些的组合。在合适的情况下,存储器402可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器402可在综合网关设备的内部或外部。在特定实施例中,存储器402是非易失性固态存储器。在特定实施例中,存储器402包括只读存储器(Read-Only Memory,ROM)。在合适的情况下,该ROM可以是掩模编程的ROM、可编程ROM(Programmable ROM,PROM)、可擦除PROM(Electrical Programmable ROM,EPROM)、电可擦除PROM(Electrically ErasableProgrammable ROM,EEPROM)、电可改写ROM(Electrically Alterable ROM,EAROM)或闪存,或者两个或及其以上这些的组合。
处理器401通过读取并执行存储器402中存储的计算机程序指令,以执行本公开实施例所提供的基于数据库集群的主动时间同步方法的步骤。
在一个示例中,该基于数据库集群的主动时间同步设备还可包括收发器403和总线404。其中,如图4所示,处理器401、存储器402和收发器403通过总线404连接并完成相互间的通信。
总线404包括硬件、软件或两者。举例来说而非限制,总线可包括加速图形端口(Accelerated Graphics Port,AGP)或其他图形总线、增强工业标准架构(ExtendedIndustry Standard Architecture,EISA)总线、前端总线(Front Side BUS,FSB)、超传输(Hyper Transport,HT)互连、工业标准架构(Industrial Standard Architecture,ISA)总线、无限带宽互连、低引脚数(Low Pin Count,LPC)总线、存储器总线、微信道架构(MicroChannel Architecture,MCA)总线、外围控件互连(Peripheral Component Interconnect,PCI)总线、PCI-Express(PCI-X)总线、串行高级技术附件(Serial Advanced TechnologyAttachment,SATA)总线、视频电子标准协会局部(Video Electronics StandardsAssociation Local Bus,VLB)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线404可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。
本公开实施例还提供了一种计算机可读存储介质,该存储介质可以存储有计算机程序,当计算机程序被处理器执行时,使得处理器实现本公开实施例所提供的基于数据库集群的主动时间同步方法。
上述的存储介质可以例如包括计算机程序指令的存储器402,上述指令可由基于数据库集群的主动时间同步设备的处理器401执行以完成本公开实施例所提供的基于数据库集群的主动时间同步方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,非临时性计算机可读存储介质可以是ROM、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc ROM,CD-ROM)、磁带、软盘和光数据存储设备等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种基于数据库集群的主动时间同步方法,其特征在于,包括:
通过主管理节点将第一系统时间更新至协调节点,所述第一系统时间为所述主管理节点的当前系统时间;
通过服务节点基于所述协调节点中的所述第一系统时间进行主动时间同步处理,得到时间同步状态;
将所述时间同步状态写入数据库时间表中。
2.根据权利要求1所述的方法,其特征在于,所述通过主管理节点将第一系统时间更新至协调节点,包括:
在检测到预设启动参数为目标参数时,通过所述主管理节点创建时间同步线程;
通过所述时间同步线程按照第一预设时间将所述第一系统时间更新至所述协调节点,并创建所述数据库时间表。
3.根据权利要求1所述的方法,其特征在于,所述通过服务节点基于所述协调节点中的所述第一系统时间进行主动时间同步处理,得到时间同步状态,包括:
通过所述服务节点按照第二预设时间检测所述协调节点中是否存在所述第一系统时间;
若所述协调节点中不存在所述第一系统时间,得到第一时间同步状态。
4.根据权利要求3所述的方法,其特征在于,在所述通过所述服务节点检测所述协调节点中是否存在所述第一系统时间之后,所述方法还包括:
若所述协调节点中存在所述第一系统时间,判断所述服务节点的第二系统时间与所述第一系统时间的误差是否大于第一预设最大时间差;
若所述第二系统时间与所述第一系统时间的误差小于或等于所述第一预设最大时间差,得到第二时间同步状态。
5.根据权利要求4所述的方法,其特征在于,在所述判断所述服务节点的第二系统时间与所述第一系统时间的误差是否大于第一预设最大时间差之后,所述方法还包括:
若所述第二系统时间与所述第一系统时间的误差大于所述第一预设最大时间差,判断所述第二系统时间与所述第一系统时间的时间顺序;
在所述时间顺序为第一顺序的情况下,暂停接收写入请求,并将所述第二系统时间与所述第一系统时间同步,得到第三时间同步状态;
在所述时间顺序为第二顺序的情况下,将所述第二系统时间与所述第一系统时间同步,得到所述第三时间同步状态。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过多个备管理节点分别判断自身系统时间与所述第一系统时间的误差是否大于第二预设最大时间差,得到对应的判断结果,所述第一预设最大时间差小于或等于所述第二预设最大时间差;
基于所述判断结果,通过所述多个备管理节点进行所述主动时间同步处理,得到所述时间同步状态。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述主管理节点发生故障的情况下,通过所述多个备管理节点分别判断所述自身系统时间是否早于所述数据库时间表中最新的时间同步状态;
在所述自身系统时间不早于所述数据库时间表中最新的时间同步状态的情况下,通过所述多个备管理节点进行节点竞争,得到新的主管理节点。
8.一种基于数据库集群的主动时间同步装置,其特征在于,包括:
时间更新模块,用于通过主管理节点将第一系统时间更新至协调节点,所述第一系统时间为所述主管理节点的当前系统时间;
第一处理模块,用于通过服务节点基于所述协调节点中的所述第一系统时间进行主动时间同步处理,得到时间同步状态;
状态写入模块,用于将所述时间同步状态写入数据库时间表中。
9.一种基于数据库集群的主动时间同步设备,其特征在于,包括:
处理器;
存储器,用于存储可执行指令;
其中,所述处理器用于从所述存储器中读取所述可执行指令,并执行所述可执行指令以实现上述权利要求1-7中任一项所述的基于数据库集群的主动时间同步方法。
10.一种非易失性的计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,当所述计算机程序被处理器执行时,使得处理器实现上述权利要求1-7中任一项所述的基于数据库集群的主动时间同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311603368.2A CN117708233A (zh) | 2023-11-28 | 2023-11-28 | 基于数据库集群的主动时间同步方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311603368.2A CN117708233A (zh) | 2023-11-28 | 2023-11-28 | 基于数据库集群的主动时间同步方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117708233A true CN117708233A (zh) | 2024-03-15 |
Family
ID=90157958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311603368.2A Pending CN117708233A (zh) | 2023-11-28 | 2023-11-28 | 基于数据库集群的主动时间同步方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117708233A (zh) |
-
2023
- 2023-11-28 CN CN202311603368.2A patent/CN117708233A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109165229B (zh) | 本地区块同步的检验方法、装置、设备及存储介质 | |
US20190042659A1 (en) | Data writing and reading and apparatus and cloud storage system | |
EP3620905A1 (en) | Method and device for identifying osd sub-health, and data storage system | |
CN107480014B (zh) | 一种高可用设备切换方法及装置 | |
US11899689B2 (en) | Blockchain-based data synchronization method, apparatus, and computer-readable storage medium | |
US9176798B2 (en) | Computer-readable recording medium, failure prediction device and applicability determination method | |
CN113656147B (zh) | 一种集群部署方法、装置、设备及存储介质 | |
CN109558065B (zh) | 数据删除方法及分布式存储系统 | |
CN109561151B (zh) | 数据存储方法、装置、服务器和存储介质 | |
CN106960060B (zh) | 一种数据库集群的管理方法及装置 | |
CN108183971B (zh) | 一种分布式系统中的节点选举方法 | |
CN110213359B (zh) | 一种基于d2d的车联网组网数据推送系统和方法 | |
CN111552701A (zh) | 确定分布式集群中数据一致性的方法及分布式数据系统 | |
CN116107828A (zh) | 主节点选择方法、分布式数据库及存储介质 | |
CN115150419B (zh) | 一种混合云对象存储的配置和访问方法及系统 | |
CN105959078A (zh) | 一种集群时间同步方法、集群及时间同步系统 | |
CN108509296B (zh) | 一种处理设备故障的方法和系统 | |
CN112181049B (zh) | 集群时间同步方法、装置、系统、设备及可读存储介质 | |
CN106603631B (zh) | 分布式消息系统及扩容方法 | |
CN111092956A (zh) | 资源同步方法、装置、存储介质及设备 | |
CN117708233A (zh) | 基于数据库集群的主动时间同步方法、装置、设备及介质 | |
CN104683243A (zh) | 一种数据处理方法、装置及系统 | |
CN108737184B (zh) | 一种容灾系统的管理方法和装置 | |
US9967163B2 (en) | Message system for avoiding processing-performance decline | |
CN115774756A (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 |