CN114640417A - 一种时钟同步方法、装置、设备及存储介质 - Google Patents
一种时钟同步方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN114640417A CN114640417A CN202210329987.6A CN202210329987A CN114640417A CN 114640417 A CN114640417 A CN 114640417A CN 202210329987 A CN202210329987 A CN 202210329987A CN 114640417 A CN114640417 A CN 114640417A
- Authority
- CN
- China
- Prior art keywords
- node
- clock
- weight value
- nodes
- server cluster
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 230000002159 abnormal effect Effects 0.000 claims abstract description 69
- 238000012544 monitoring process Methods 0.000 claims abstract description 18
- 238000004590 computer program Methods 0.000 claims description 16
- 230000000875 corresponding effect Effects 0.000 claims description 8
- 230000002596 correlated effect Effects 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 7
- 230000005856 abnormality Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 3
- 230000008447 perception Effects 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 102100032392 Circadian-associated transcriptional repressor Human genes 0.000 description 1
- 101710130150 Circadian-associated transcriptional repressor Proteins 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04J—MULTIPLEX COMMUNICATION
- H04J3/00—Time-division multiplex systems
- H04J3/02—Details
- H04J3/06—Synchronising arrangements
- H04J3/0635—Clock or time synchronisation in a network
- H04J3/0638—Clock or time synchronisation among nodes; Internode synchronisation
- H04J3/0641—Change of the master or reference, e.g. take-over or failure of the master
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Hardware Redundancy (AREA)
Abstract
本申请公开了一种时钟同步方法、装置、设备及存储介质,应用于服务器集群,该方法包括:获取所述服务器集群中各节点启动时钟服务后的权重值;利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用主节点的时间信息对所有从节点进行时钟同步;重新启动所有所述节点的时钟服务并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。通过本申请的技术方案,可以解决单点时钟服务器的服务不稳定,没有高可用的特性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种时钟同步方法、装置、设备及存储介质。
背景技术
目前,服务器的时钟需要同步到同一个时间,需要引入时钟服务器,当前搭建时钟服务器的主流程序为chrony。chrony是一个开源的自由软件,它能帮助保持系统时钟与时钟服务器NTP(Network Time Protocol,网络时间协议,服务器时间同步的一种协议)同步,因此让时间保持精确。但是,chrony提供时钟服务时只能作为一个单独的根节点,如果可信的时钟服务出现异常,所有使用此时钟服务的服务器都不能作为时钟服务器提供服务。
由此可见,如何通过增加一个高可用的调度策略,使在可信节点的时钟服务出现异常的情况下,集群中的其他节点时钟服务均保持正常是目前有待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种时钟同步方法、装置、设备及存储介质,能够通过增加一个高可用的调度策略,使在可信节点的时钟服务出现异常的情况下,集群中的其他节点时钟服务均保持正常。其具体方案如下:
第一方面,本申请公开了一种时钟同步方法,应用于服务器集群,包括:
获取所述服务器集群中各节点启动时钟服务后的权重值;
利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;
重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
可选的,所述获取所述服务器集群中各节点启动时钟服务后的权重值之前,还包括:
获取所述服务器集群中的节点列表,并判断所述节点列表中的各个节点是否能够访问相应的所述时钟服务;
若所述节点列表中存在不能够访问所述时钟服务的节点,则从所述节点列表剔除不能够访问所述时钟服务的节点。
可选的,所述获取所述服务器集群中各节点启动时钟服务后的权重值,包括:
对所述服务器集群中各节点的性能参数设置优先级,然后根据所述优先级并利用所述性能参数确定出所述服务器集群中各节点启动时钟服务后的权重值。
可选的,所述利用所述权重值和预设权重值规则从各节点中确定出主节点,包括:
从所述服务器集群的所有节点中筛选出所述权重值最大的节点,并将筛选出的所述权重值最大的节点作为所述服务器集群中的主节点。
可选的,所述利用所述权重值和预设权重值规则从各节点中确定出主节点的过程中,还包括:
在所述将筛选出的所述权重值最大的节点作为所述服务器集群中的主节点的步骤之后,监测所述服务器集群中是否出现新增节点;
若监测到所述服务器集群中出现新增节点,则获取所述新增节点启动所述时钟服务后的权重值,并与所述主节点的权重值进行比较;
当所述新增节点的权重值不大于所述主节点的权重值,则将所述新增节点确定为从节点,当所述新增节点的权重值大于所述主节点的权重值,则将所述新增节点确定为新的主节点。
可选的,所述的时钟同步方法,还包括:
基于所述服务器集群的吞吐量,利用预设扩容规则增加所述服务器集群的节点,以实现对所述服务器集群的扩容;其中,所述服务器集群中的节点数量与所述服务器集群的吞吐量线性正相关。
可选的,所述利用所述权重值和预设权重值规则从各节点中确定出主节点之后,还包括:
利用预设数值调整所述主节点的权重值,以将所述预设数值与所述主节点的权重值进行相加处理,得到所述主节点的调整后的权重值。
第二方面,本申请公开了一种时钟同步装置,应用于服务器集群,包括:
权重值获取模块,用于获取所述服务器集群中各节点启动时钟服务后的权重值;
时钟同步模块,用于利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;
异常节点监测模块,用于重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点;
节点切换模块,用于当监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
第三方面,本申请公开了一种电子设备,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现前述的时钟同步方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如前述的时钟同步方法。
本申请中,应用于服务器集群,首先获取所述服务器集群中各节点启动时钟服务后的权重值;然后利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。可见,通过对服务器集群中的各个节点启动时钟服务,搭建高可用的时钟服务器集群,一个集群中的所有时钟服务器都可以作为可信节点提供时钟服务;并且,当一个节点服务出现异常或者故障时,剩余的节点会自动调整集群状态,选取新的主服务器作为当前主节点,不影响整个集群的服务,使集群时钟服务一致,可以解决单点时钟服务器容易出现的服务异常的问题,保证了时钟服务的稳定性和高可用。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请公开的一种时钟同步方法流程图;
图2为本申请公开的一种具体的集群组建时钟服务配置示意图;
图3为本申请公开的一种某个节点时钟服务异常处理示意图;
图4为本申请公开的一种具体的时钟同步方法流程图;
图5为本申请公开的一种具体的集群扩容后时钟同步方法示意图;
图6为本申请公开的一种时钟同步装置结构示意图;
图7为本申请公开的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前,服务器在进行时钟同步服务时,当作为根节点的时钟服务出现异常时,所有使用此时钟服务的服务器都不能作为时钟服务器提供服务。
为此,本申请提供了一种时钟同步方案,能够通过增加一个高可用的调度策略,使在可信节点的时钟服务出现异常的情况下,集群中的其他节点时钟服务均保持正常。
本发明实施例公开了一种时钟同步方法,参见图1所示,应用于服务器集群,该方法包括:
步骤S11:获取所述服务器集群中各节点启动时钟服务后的权重值。
本申请实施例中,应用于服务器集群,当服务器集群中的各节点启动时钟服务后,每个节点作为时钟服务器提供其他节点用于调整时间的服务,本实施例可以采用chrony提供时钟服务,在此不作限定。
本申请实施例中,在获取所述服务器集群中各节点启动时钟服务后的权重值之前,还包括:获取所述服务器集群中的节点列表,并判断所述节点列表中的各个节点是否能够访问相应的所述时钟服务;若所述节点列表中存在不能够访问所述时钟服务的节点,则从所述节点列表剔除不能够访问所述时钟服务的节点。可以理解的是,读取集群中的节点列表,根据列表判断节点是否可以正常启动时钟服务,不能启动时钟服务的从列表中删除。判断条件为时钟服务是否可访问。
需要指出的是,从配置文件中获取集群的节点信息,明确需要哪几个节点组件集群,如果没有获取集群节点信息,则认为此节点是单独的时钟服务器,将不进行集群组建前的其他节点的检查工作。
本申请实施例中,根据节点列表中确认能够访问相应的时钟服务的节点,通过特定的算法计算出用于标记集群中节点权重的一个数值,即获取服务器集群中各节点启动时钟服务后的权重值。具体的,对所述服务器集群中各节点的性能参数设置优先级,然后根据所述优先级并利用所述性能参数确定出所述服务器集群中各节点启动时钟服务后的权重值。
在一种具体的实施方式中,在计算自身节点的权重值时,可以采用的参数有:节点的IP地址(Internet Protocol Address,互联网协议地址),节点的自身的当前时间等,计算权重值的参数包括但不限于节点的IP、节点的时钟状态、节点的网络情况。根据各个节点的时钟进行数值计算,离标准时间偏差最近的节点的权重值最高。权重值优先计算时钟状态,其他参数作为辅助计算的内容。
在另一种具体的实施方式中,节点运行的稳定性可以作为权重值计算的一个参考,根据节点服务运行时间占比(运行时间占比=运行时钟服务/系统运行时间)和出现异常的次数动态修改节点的权重值,以确定出所述服务器集群中各节点启动时钟服务后的权重值。
步骤S12:利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步。
本申请实施例中,根据集群中各节点的自身的权重值,利用预设权重值规则从各节点中确定出主节点。具体的,从所述服务器集群的所有节点中筛选出所述权重值最大的节点,并将筛选出的所述权重值最大的节点作为所述服务器集群中的主节点。
可以理解的是,根据自身的权重值,访问配置文件中的其他节点,如果其他节点访问不通或者其他节点权重值都比自身权重值低,说明这个节点的权重值最大,作为主节点,其他节点作为从节点,然后从节点会同步信息,根据主节点的时间信息修改自身的服务配置。也即,非主节点将主节点作为上层时钟服务器同步自身时间,同时可以对外提供时钟服务,所有的节点组成一个时钟服务的集群。
需要指出的是,集群中的所有节点都可以对外提供时钟服务,外部连接此集群的时钟服务可以配置多个时钟服务器,这样一来,可以保护主节点和从节点中的一个和多个。
步骤S13:重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
本申请实施例中,当计算出各个节点的权重值之后,将权重值最大的节点作为主节点,其他节点作为从节点,重新启动时钟服务,并监测当前是否存在时钟异常节点。节点时钟异常可能是有时钟服务异常、网络异常等原因引起的,当节点出现异常或故障后,无法提供时钟服务,异常的情况分为主节点异常和从节点异常。
可以理解的是,集群中的各个节点之间存在相应的连接通信。在一种实施方式中,当监测到当前存在时钟异常节点,并且所述时钟异常节点为主节点时,那么从节点会同步到此信息,并且将会重新确定权重值,然后根据权重值计算出新的主节点作为可信节点提供可信时钟服务,剩余节点的时钟服务将会根据新的主节点的时钟服务重新配置并重新启动服务。具体的,剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
在另一种实施方式中,当监测到当前存在时钟异常节点,并且所述时钟异常节点为从节点时,主节点不需要切换。此时其他从节点会得到此节点异常的信息,在等待一定时间之后,其余正常的节点会更新节点信息,认为此故障节点已经不能正常提供时钟服务,将其从集群中剔除。
如图2所示,为集群组建、时钟服务配置过程的示意图。集群中的各个节点启动时钟服务,其中,各个节点都可以独立作为时钟服务器,此时各个节点的时钟服务器没有相互关联,各自作为独立的服务存在。启动时钟服务后,读取集群配置中的节点列表,并访问列表中的节点,查看各节点是否能够正常启动时钟服务,如果不能正常启动时钟服务,则剔除不能够正常启动时钟服务的节点;然后根据剔除节点后确定的节点列表,通过特定的算法计算出节点的权重值,根据计算出的权重值,将权重值最大的节点作为主节点,其他节点作为从节点,重新启动时钟服务。从节点同步主节点的时间,所有的节点组成一个时钟服务的集群。通过本方法,可以解决openstack(云端运算软件)中使用单点时钟服务器的问题,同时集群中的从节点也可以体用时钟服务。
如图3所示为集群中某个节点时钟服务异常时的处理示意图。节点时钟异常可能是有时钟服务异常、网络异常等原因引起的,异常的情况分为主节点异常和从节点异常。主节点异常之后,需要由从节点中选择出一个新的主节点,并且切换到主节点。从节点异常,主节点不需要切换,只需要在正常的节点上更新集群节点信息即可。主节点异常之后,从节点接收到主节点异常的情况,从节点之间重新计算权值,权值最大的节点将作为主节点提供服务。所有节点的时钟服务将重新配置,重新启动服务。最后,集群重新组建。
本申请中,应用于服务器集群,首先获取所述服务器集群中各节点启动时钟服务后的权重值;然后利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。可见,通过对服务器集群中的各个节点启动时钟服务,搭建高可用的时钟服务器集群,一个集群中的所有时钟服务器都可以作为可信节点提供时钟服务;并且,当一个节点服务出现异常或者故障时,剩余的节点会自动调整集群状态,选取新的主服务器作为当前主节点,不影响整个集群的服务,切换过程对使用时钟服务的程序或者应用无感知,使集群时钟服务一致,可以解决单点时钟服务器容易出现的服务异常的问题,保证了时钟服务的稳定性和高可用。
本申请实施例公开了一种具体的时钟同步方法,参见图4所示,该方法包括:
步骤S21:获取所述服务器集群中各节点启动时钟服务后的权重值。
步骤S22:利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步。
步骤S23:监测所述服务器集群中是否出现新增节点。
本申请实施例中,可以通过配置或者手工执行命令的方式扩容集群,集群的扩容相当于出现新的节点加入集群。需要指出的是,集群的扩容是线性扩容,方便扩展和压缩,可以提高服务的冗余,增加服务的吞吐量。具体的,基于所述服务器集群的吞吐量,利用预设扩容规则增加所述服务器集群的节点,以实现对所述服务器集群的扩容;其中,所述服务器集群中的节点数量与所述服务器集群的吞吐量线性正相关。
可以理解的是,本实施例也可以基于所述服务器集群中的节点数量与所述服务器集群的吞吐量线性正相关的关系对集群中的节点进行缩减,即当节点出现异常后,将异常节点从集群中剔除。
步骤S24:若监测到所述服务器集群中出现新增节点,则获取所述新增节点启动所述时钟服务后的权重值,并与所述主节点的权重值进行比较。
本申请实施例中,如果集群中有新的节点加入的情况,即监测到所述服务器集群中出现新增节点,那么在新增节点启动时钟服务后会得到新增节点的权重值,新增节点会与当前集群中的主节点进行通信,然后将新增节点的权重值与所述主节点的权重值进行比较。
步骤S25:当所述新增节点的权重值不大于所述主节点的权重值,则将所述新增节点确定为从节点,当所述新增节点的权重值大于所述主节点的权重值,则将所述新增节点确定为新的主节点。
如图5所示,为存在新节点加入集群后的示意图。新节点启动时钟服务,然后和集群中当前的主节点进行通信,获取主节点的权重值。确定新节点的权重值,如果权重值大于主节点,则新增节点作为集群新的主节点提供服务;如果权重值小于主节点,则作为从节点加入集群;然后集群内各节点更新信息。
在一种具体的实施方式中,在集群中选出主节点之后,可以将主节点的权重值加上一个很大的数,保证在后续集群扩容或者节点重新启动后,新增节点的权重计算结果不会比主节点大,如此一来,可以避免主节点切换产生的服务中断,提高了集群的稳定性。具体的,利用预设数值调整所述主节点的权重值,以将所述预设数值与所述主节点的权重值进行相加处理,得到所述主节点的调整后的权重值。
步骤S26:重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
其中,关于上述步骤S21、步骤S22、步骤S26更加具体的处理过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本申请中,应用于服务器集群,首先获取所述服务器集群中各节点启动时钟服务后的权重值;然后利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;监测所述服务器集群中是否出现新增节点,若监测到所述服务器集群中出现新增节点,则获取所述新增节点启动所述时钟服务后的权重值,并与所述主节点的权重值进行比较,当所述新增节点的权重值不大于所述主节点的权重值,则将所述新增节点确定为从节点,当所述新增节点的权重值大于所述主节点的权重值,则将所述新增节点确定为新的主节点;重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。可见,通过对服务器集群中的各个节点启动时钟服务,搭建高可用的时钟服务器集群,一个集群中的所有时钟服务器都可以作为可信节点提供时钟服务;并且,当一个节点服务出现异常或者故障时,剩余的节点会自动调整集群状态,选取新的主服务器作为当前主节点,不影响整个集群的服务,切换过程对使用时钟服务的程序或者应用无感知,使集群时钟服务一致,可以解决单点时钟服务器容易出现的服务异常的问题,保证了时钟服务的稳定性和高可用。另外,对集群的线性扩展,方便扩展和压缩,可以提高服务的冗余,增加服务的吞吐量。
相应的,本申请实施例还公开了一种时钟同步装置,参见图6所示,该装置包括:
权重值获取模块11,用于获取所述服务器集群中各节点启动时钟服务后的权重值;
时钟同步模块12,用于利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;
异常节点监测模块13,用于重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点;
节点切换模块14,用于当监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
由此可见,通过本实施例的上述方案,应用于服务器集群,首先获取所述服务器集群中各节点启动时钟服务后的权重值;然后利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。可见,通过对服务器集群中的各个节点启动时钟服务,搭建高可用的时钟服务器集群,一个集群中的所有时钟服务器都可以作为可信节点提供时钟服务;并且,当一个节点服务出现异常或者故障时,剩余的节点会自动调整集群状态,选取新的主服务器作为当前主节点,不影响整个集群的服务,切换过程对使用时钟服务的程序或者应用无感知,使集群时钟服务一致,可以解决单点时钟服务器容易出现的服务异常的问题,保证了时钟服务的稳定性和高可用。
进一步的,本申请实施例还公开了一种电子设备,图7是根据一示例性实施例示出的电子设备20结构图,图中内容不能认为是对本申请的使用范围的任何限制。
图7为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、通信接口24、输入输出接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任一实施例公开的时钟同步方法中的相关步骤。另外,本实施例中的电子设备20具体可以为服务器。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口24能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口25,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,其上所存储的资源可以包括操作系统221、计算机程序222及数据223等,数据223可以包括各种各样的数据。存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制电子设备20上的各硬件设备以及计算机程序222,其可以是Windows Server、Netware、Unix、Linux等。计算机程序222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的时钟同步方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
进一步的,本申请实施例还公开了一种计算机可读存储介质,这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述时钟同步方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
结合本文中所公开的实施例描述的时钟同步方法或规则的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种时钟同步方法、装置、设备及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种时钟同步方法,其特征在于,应用于服务器集群,包括:
获取所述服务器集群中各节点启动时钟服务后的权重值;
利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;
重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点,若监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
2.根据权利要求1所述的时钟同步方法,其特征在于,所述获取所述服务器集群中各节点启动时钟服务后的权重值之前,还包括:
获取所述服务器集群中的节点列表,并判断所述节点列表中的各个节点是否能够访问相应的所述时钟服务;
若所述节点列表中存在不能够访问所述时钟服务的节点,则从所述节点列表剔除不能够访问所述时钟服务的节点。
3.根据权利要求1所述的时钟同步方法,其特征在于,所述获取所述服务器集群中各节点启动时钟服务后的权重值,包括:
对所述服务器集群中各节点的性能参数设置优先级,然后根据所述优先级并利用所述性能参数确定出所述服务器集群中各节点启动时钟服务后的权重值。
4.根据权利要求1所述的时钟同步方法,其特征在于,所述利用所述权重值和预设权重值规则从各节点中确定出主节点,包括:
从所述服务器集群的所有节点中筛选出所述权重值最大的节点,并将筛选出的所述权重值最大的节点作为所述服务器集群中的主节点。
5.根据权利要求4所述的时钟同步方法,其特征在于,所述利用所述权重值和预设权重值规则从各节点中确定出主节点的过程中,还包括:
在所述将筛选出的所述权重值最大的节点作为所述服务器集群中的主节点的步骤之后,监测所述服务器集群中是否出现新增节点;
若监测到所述服务器集群中出现新增节点,则获取所述新增节点启动所述时钟服务后的权重值,并与所述主节点的权重值进行比较;
当所述新增节点的权重值不大于所述主节点的权重值,则将所述新增节点确定为从节点,当所述新增节点的权重值大于所述主节点的权重值,则将所述新增节点确定为新的主节点。
6.根据权利要求1所述的时钟同步方法,其特征在于,还包括:
基于所述服务器集群的吞吐量,利用预设扩容规则增加所述服务器集群的节点,以实现对所述服务器集群的扩容;其中,所述服务器集群中的节点数量与所述服务器集群的吞吐量线性正相关。
7.根据权利要求1至6任一项所述的时钟同步方法,其特征在于,所述利用所述权重值和预设权重值规则从各节点中确定出主节点之后,还包括:
利用预设数值调整所述主节点的权重值,以将所述预设数值与所述主节点的权重值进行相加处理,得到所述主节点的调整后的权重值。
8.一种时钟同步装置,其特征在于,应用于服务器集群,包括:
权重值获取模块,用于获取所述服务器集群中各节点启动时钟服务后的权重值;
时钟同步模块,用于利用所述权重值和预设权重值规则从各节点中确定出主节点,并利用所述主节点的时间信息对所有从节点进行时钟同步;
异常节点监测模块,用于重新启动所有所述节点的所述时钟服务,并监测当前是否存在时钟异常节点;
节点切换模块,用于当监测到当前存在时钟异常节点并且所述时钟异常节点为所述主节点,则剔除所述时钟异常节点,并利用所述权重值和所述预设权重值规则从剩余节点中确定出目标节点,然后将所述目标节点确定为当前主节点,以利用所述当前主节点重新进行时钟同步。
9.一种电子设备,其特征在于,包括:
存储器,用于保存计算机程序;
处理器,用于执行所述计算机程序,以实现权利要求1至7任一项所述的时钟同步方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的时钟同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329987.6A CN114640417B (zh) | 2022-03-31 | 2022-03-31 | 一种时钟同步方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210329987.6A CN114640417B (zh) | 2022-03-31 | 2022-03-31 | 一种时钟同步方法、装置、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114640417A true CN114640417A (zh) | 2022-06-17 |
CN114640417B CN114640417B (zh) | 2024-06-28 |
Family
ID=81951040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210329987.6A Active CN114640417B (zh) | 2022-03-31 | 2022-03-31 | 一种时钟同步方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114640417B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331098A (zh) * | 2016-08-23 | 2017-01-11 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
KR101757159B1 (ko) * | 2016-12-21 | 2017-07-12 | 김종운 | 시간기반의 can 통신을 이용한 전관 방송 장치 및 시간 동기 방법 |
CN109379158A (zh) * | 2018-12-10 | 2019-02-22 | 浪潮电子信息产业股份有限公司 | 一种存储集群中新增节点的时间同步方法、装置及设备 |
US20190294204A1 (en) * | 2018-03-22 | 2019-09-26 | Microsoft Technology Licensing, Llc | Clock synchronization |
-
2022
- 2022-03-31 CN CN202210329987.6A patent/CN114640417B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106331098A (zh) * | 2016-08-23 | 2017-01-11 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
WO2018036148A1 (zh) * | 2016-08-23 | 2018-03-01 | 东方网力科技股份有限公司 | 一种服务器集群系统 |
KR101757159B1 (ko) * | 2016-12-21 | 2017-07-12 | 김종운 | 시간기반의 can 통신을 이용한 전관 방송 장치 및 시간 동기 방법 |
US20190294204A1 (en) * | 2018-03-22 | 2019-09-26 | Microsoft Technology Licensing, Llc | Clock synchronization |
CN109379158A (zh) * | 2018-12-10 | 2019-02-22 | 浪潮电子信息产业股份有限公司 | 一种存储集群中新增节点的时间同步方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN114640417B (zh) | 2024-06-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20170048123A1 (en) | System for controlling switch devices, and device and method for controlling system configuration | |
CN111737003B (zh) | Pod均衡调度方法、装置、主节点及存储介质 | |
CN111290834A (zh) | 一种基于云管理平台实现业务高可用的方法、装置及设备 | |
CN113656147B (zh) | 一种集群部署方法、装置、设备及存储介质 | |
CN107508694B (zh) | 一种集群内的节点管理方法及节点设备 | |
CN110391940A (zh) | 服务地址的响应方法、装置、系统、设备和存储介质 | |
CN111459749A (zh) | 基于Prometheus的私有云监控方法、装置、计算机设备及存储介质 | |
CN115328662A (zh) | 一种进程线程资源管理控制方法及系统 | |
CN113037881A (zh) | 一种基于Kubernetes的云原生服务不间断的IP替换方法 | |
CN113079098B (zh) | 路由更新的方法、装置、设备和计算机可读介质 | |
CN111240901A (zh) | 分布式块存储系统的节点动态扩展系统、方法及设备 | |
CN114531373A (zh) | 节点状态检测方法、节点状态检测装置、设备及介质 | |
CN112104576B (zh) | 一种sdn交换机的常驻流表存储与校准方法 | |
CN114640417B (zh) | 一种时钟同步方法、装置、设备及存储介质 | |
CN113765690A (zh) | 集群切换方法、系统、装置、终端、服务器及存储介质 | |
CN110071778B (zh) | 一种对时方法、装置、设备及介质 | |
CN116346834A (zh) | 一种会话同步方法、装置、计算设备及计算机存储介质 | |
CN114363356B (zh) | 数据同步方法、系统、装置、计算机设备和存储介质 | |
US9880855B2 (en) | Start-up control program, device, and method | |
Kitamura et al. | Development of a Server Management System Incorporating a Peer-to-Peer Method for Constructing a High-availability Server System | |
CN110532135B (zh) | 一种集群系统的服务迁移方法、系统、设备及存储介质 | |
CN114338535B (zh) | 基于zookeeper的集群限流方法、系统、设备及存储介质 | |
CN111338647A (zh) | 一种大数据集群管理方法和装置 | |
CN114513524B (zh) | 一种资源同步方法、装置、电子设备和存储介质 | |
CN116431291B (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 |