CN105959078B - 一种集群时间同步方法、集群及时间同步系统 - Google Patents

一种集群时间同步方法、集群及时间同步系统 Download PDF

Info

Publication number
CN105959078B
CN105959078B CN201610436458.0A CN201610436458A CN105959078B CN 105959078 B CN105959078 B CN 105959078B CN 201610436458 A CN201610436458 A CN 201610436458A CN 105959078 B CN105959078 B CN 105959078B
Authority
CN
China
Prior art keywords
node
time
service node
main service
address
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.)
Active
Application number
CN201610436458.0A
Other languages
English (en)
Other versions
CN105959078A (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.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Electronic Information Industry Co 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 Inspur Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610436458.0A priority Critical patent/CN105959078B/zh
Publication of CN105959078A publication Critical patent/CN105959078A/zh
Application granted granted Critical
Publication of CN105959078B publication Critical patent/CN105959078B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0658Clock or time synchronisation among packet nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04JMULTIPLEX COMMUNICATION
    • H04J3/00Time-division multiplex systems
    • H04J3/02Details
    • H04J3/06Synchronising arrangements
    • H04J3/0635Clock or time synchronisation in a network
    • H04J3/0638Clock or time synchronisation among nodes; Internode synchronisation
    • H04J3/0644External master-clock

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Electric Clocks (AREA)

Abstract

本发明提供了一种集群时间同步方法、集群及时间同步系统,在集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,根据各个服务端节点的地址为客户端节点配置时间同步地址;方法还包括:服务端节点向外部的时间服务器发送第一同步请求,并接收时间服务器发送的标准时间;服务端节点根据标准时间对自身时钟进行同步;客户端节点根据配置的时间同步地址,向服务端节点发送第二同步请求;服务端节点根据接收到的第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;客户端节点根据服务端节点反馈的当前时间进行时间同步。根据本方案,可以提高时间同步的效率。

Description

一种集群时间同步方法、集群及时间同步系统
技术领域
本发明涉及集群技术领域,特别涉及一种集群时间同步方法、集群及时间同步系统。
背景技术
随着信息数据量的增大,大数据集群的规模也越来越大。集群内各个节点上均存储有大量的业务数据,因此,集群时间的一致性非常重要。目前,主要是通过人工对各个节点进行时间同步。然而,现有技术只针对节点个数较少的集群,对于集群内节点个数较多时,不具有操作性。因此,急需提出一种集群时间同步方法,以快速实现集群内时间同步。
发明内容
本发明实施例提供了一种集群时间同步方法、集群及时间同步系统,以快速实现集群内时间同步。
第一方面,本发明实施例提供了一种集群时间同步方法,在所述集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,根据各个服务端节点的地址为客户端节点配置时间同步地址;所述方法还包括:
服务端节点向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;
服务端节点根据所述标准时间对自身时钟进行同步;
客户端节点根据配置的时间同步地址,向服务端节点发送第二同步请求;
服务端节点根据接收到的所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
客户端节点根据服务端节点反馈的当前时间进行时间同步。
优选地,所述服务端节点包括:至少两个节点;
进一步包括:将所述服务端节点中的一个节点配置为主服务节点,将所述服务端节点中除所述主服务节点之外的其他节点配置为备服务节点;
所述服务端节点向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间,包括:利用所述主服务节点执行所述向所述时间服务器发送所述第一同步请求,并接收所述时间服务器发送的标准时间的操作;
所述客户端节点根据配置的时间同步地址,向服务端节点发送第二同步请求,包括:所述客户端节点根据配置的时间同步地址,向所述主服务节点发送所述第二同步请求;
进一步包括:所述备服务节点向所述主服务节点发送第三同步请求;所述主服务节点根据所述第三同步请求,向所述备服务节点发送自身时钟对应的当前时间;所述备服务节点根据所述主服务节点发送的当前时间进行时间同步。
优选地,
进一步包括:在各个备服务节点中配置第一时间阈值和主服务节点的接管顺序;
进一步包括:各个备服务节点在向主服务节点发送了所述第三同步请求之后,在到达所述第一时间阈值时,未接收到主服务节点的反馈信息,则根据所述主服务节点的接管顺序,用于接管该主服务节点的备服务节点接管该主服务节点,其他备服务节点将该用于接管该主服务节点的备服务节点作为时间同步的主服务节点。
优选地,
进一步包括:在各个客户端节点中配置第二时间阈值;
所述根据各个服务端节点的地址为客户端节点配置时间同步地址,包括:将所述主服务节点的接管顺序作为时间同步地址的配置顺序,为各个客户端节点配置时间同步地址;
进一步包括:在所述客户端节点向所述主服务节点发送了所述第二同步请求之后,在到达第二时间阈值时,未收到所述主服务节点的反馈信息时,则确定所述主服务节点故障;根据时间同步地址的配置顺序,将位于所述主服务节点地址下一个位置的地址对应的备服务节点作为时间同步的主服务节点。
第二方面,本发明实施例还提供了一种集群,包括:
配置单元,用于在所述集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,根据各个服务端节点的地址为客户端节点配置时间同步地址;
服务端节点,用于向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;根据所述标准时间对自身的时钟进行同步;接收客户端节点发送的第二同步请求,并根据所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
客户端节点,用于根据配置的时间同步地址,向服务端节点发送第二同步请求;根据服务端节点反馈的当前时间进行时间同步。
优选地,
所述服务端节点包括:至少两个节点;
所述配置节点,进一步用于将所述服务端节点中的一个节点配置为主服务节点,将所述服务端节点中除所述主服务节点之外的其他节点配置为备服务节点;
所述主服务节点,用于执行所述向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;根据所述标准时间对自身的时钟进行同步;接收客户端节点发送的第二同步请求,并根据所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
所述主服务节点,进一步用于接收所述备服务节点发送的第三同步请求,并向所述备服务节点发送自身时钟对应的当前时间;
所述客户端节点,具体用于向所述主服务节点发送所述第二同步请求;
所述备服务节点,用于向所述主服务节点发送第三同步请求;并根据所述主服务节点反馈的当前时间进行时间同步。
优选地,
所述配置单元,进一步用于在各个备服务节点中配置第一时间阈值和主服务节点的接管顺序;
各个备服务节点,进一步用于在向主服务节点发送了所述第三同步请求之后,在到达所述第一时间阈值时,未接收到主服务节点的反馈信息,则根据所述主服务节点的接管顺序,用于接管该主服务节点的备服务节点接管该主服务节点,其他备服务节点将该用于接管该主服务节点的备服务节点作为时间同步的主服务节点。
优选地,
所述配置单元,进一步用于在各个客户端节点中配置第二时间阈值;
所述配置单元,具体用于将所述主服务节点的接管顺序作为时间同步地址的配置顺序,为各个客户端节点配置时间同步地址;
所述客户端节点,进一步用于在所述客户端节点向所述主服务节点发送了所述第二同步请求之后,在到达第二时间阈值时,未收到所述主服务节点的反馈信息时,则确定所述主服务节点故障;根据时间同步地址的配置顺序,将位于所述主服务节点地址下一个位置的地址对应的备服务节点作为时间同步的主服务节点。
第三方面,本发明实施例还提供了一种时间同步系统,包括:时间服务器和上述任一所述集群;其中,
所述时间服务器,用于接收所述集群中服务端节点发送的所述第一同步请求,并根据所述第一同步请求反馈标准时间。
本发明实施例提供了一种集群时间同步方法、集群及时间同步系统,通过在集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,并根据各个服务端节点的地址为客户端节点配置为时间同步地址,由服务端节点向外部的时间服务器发送第一同步请求,以实现服务端节点与标准时间的同步,集群内的客户端节点通过向服务端节点发送第二同步请求,以实现与服务端节点的时间同步,从而实现了集群内各个节点时间的自动同步,提高了时间同步的效率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一个实施例提供的一种方法流程图;
图2是本发明一个实施例提供的一种时间同步系统结构示意图;
图3是本发明一个实施例提供的另一种方法流程图;
图4是本发明一个实施例提供的另一种时间同步系统结构示意图;
图5是本发明一个实施例提供的又一种方法流程图;
图6是本发明一个实施例提供的一种集群结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种集群时间同步方法,该方法可以包括以下步骤:
步骤101:在所述集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,根据各个服务端节点的地址为客户端节点配置时间同步地址;
步骤102:服务端节点向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;
步骤103:服务端节点根据所述标准时间对自身的时钟进行同步;
步骤104:客户端节点根据配置的时间同步地址,向服务端节点发送第二同步请求;
步骤105:服务端节点根据接收到的所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
步骤106:客户端节点根据服务端节点反馈的当前时间进行时间同步。
根据上述方案,通过在集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,并根据各个服务端节点的地址为客户端节点配置为时间同步地址,由服务端节点向外部的时间服务器发送第一同步请求,以实现服务端节点与标准时间的同步,集群内的客户端节点通过向服务端节点发送第二同步请求,以实现与服务端节点的时间同步,从而实现了集群内各个节点时间的自动同步,提高了时间同步的效率。
在本发明一个实施例中,在配置一个服务端节点的情况下,若该服务端节点发生了故障,那么集群时间同步则无法实现,因此,为了保证在服务端节点故障时,集群依然可以实现时间同步,那么所述服务端节点可以包括:至少两个节点。例如,配置两个服务端节点。
进一步包括:将所述服务端节点中的一个节点配置为主服务节点,将所述服务端节点中除所述主服务节点之外的其他节点配置为备服务节点;以使主服务节点故障时,由备服务节点接管主服务节点,以实现集群的时间同步。
其中,与外部的时间服务器之间进行标准时间的同步,是由主服务节点来实现。
所述客户端节点通过向所述主服务节点发送所述第二同步请求,以实现集群内节点的时间同步。
在主服务节点正常时,备服务节点可以看作是客户端节点,因此,所述备服务节点向所述主服务节点发送第三同步请求;所述主服务节点根据所述第三同步请求,向所述备服务节点发送自身时钟对应的当前时间;所述备服务节点根据所述主服务节点发送的当前时间进行时间同步。
在本发明一个实施例中,当服务端节点包括至少两个时,对于备服务节点是由哪一个来接管当前的主服务节点,需要对各个备服务节点进行进一步配置:在各个备服务节点中配置第一时间阈值和主服务节点的接管顺序。例如,该主服务节点的接管顺序为:主服务节点-备服务节点1-备服务节点2-备服务节点3-……。其中,该第一时间阈值可以为3s。
进一步包括:各个备服务节点在向主服务节点发送了所述第三同步请求之后,在到达所述第一时间阈值时,未接收到主服务节点的反馈信息,则根据所述主服务节点的接管顺序,用于接管该主服务节点的备服务节点接管该主服务节点,其他备服务节点将该用于接管该主服务节点的备服务节点作为时间同步的主服务节点。例如,用于接管该主服务节点的备服务节点为备服务节点1。
在本发明一个实施例中,若主服务节点发生了切换,那么客户端节点也需要向切换后的主服务节点进行时间同步,因此,可以进一步包括:在各个客户端节点中配置第二时间阈值;例如,该第二时间阈值为3s。
其中,在为各个客户端节点配置时间同步地址时,可以将所述主服务节点的接管顺序作为时间同步地址的配置顺序,为各个客户端节点配置时间同步地址;该配置顺序为:主服务节点的地址-备服务节点1的地址-备服务节点2的地址-备服务节点3的地址-……。
进一步包括:在所述客户端节点向所述主服务节点发送了所述第二同步请求之后,在到达第二时间阈值时,未收到所述主服务节点的反馈信息时,则确定所述主服务节点故障;根据时间同步地址的配置顺序,将位于所述主服务节点地址下一个位置的地址对应的备服务节点作为时间同步的主服务节点。例如,该位于主服务节点地址下一个位置的地址对应的备服务节点为备服务节点1,那么各个客户端节点将备服务节点1作为主服务节点进行时间同步。
在时间服务器发生了故障,以至于无法为服务端节点提供标准时间时,服务端节点可以将自身时钟对应的时间作为标准时间,并将自身时钟对应的时间提供给各个客户端节点进行时间同步,以保证集群内各个节点的时间同步,防止由于集群内节点时间不同步造成的数据混乱问题。
在集群内服务端节点的个数不同时,集群实现时间同步的方式也可以不同,其中,集群内服务端节点的个数可以包括如下两种情况:
情况A、一个服务端节点。
情况B、至少两个服务端节点。
下面针对上述情况A和情况B,分别对集群时间同步方式进行说明。
针对情况A:
在情况A下,在集群中选择一个节点将其配置为服务端节点,其他节点均配置为客户端节点。请参考图2,为时间同步系统示意图。
其中,服务端节点的选择方式可以是随机选择。
在情况A下,需要对集群中的节点进行如下配置:
1、对集群中各个节点的配置。
在集群的各个节点中均安装部署NTP(Network Time Protocol,网络时间协议)组件,用于实现集群中各个节点的时间同步。
2、对服务端节点的配置。
在服务端节点中配置ntp.conf文件,在该ntp.conf文件中包括外部的时间服务器的地址和时间同步间隔1。例如,该时间同步间隔1为1个小时。在集群处于外网状态时,服务端节点可以每隔1个小时,根据该地址向外部的时间服务器请求一次时间同步。
在服务端节点中进一步配置fudge属性和server属性,用于实现在集群中不存在外网的情况下,服务端节点无需重复性的向外部的时间服务器请求时间同步,其中,在配置的fudge属性和server属性中可以配置重试次数,以及重试时间阈值。
例如,重试时间阈值为3s,重试次数为3次。那么在服务端节点向外部的时间服务器发送同步请求之后经过3s未接收到反馈信息,则进行下一次重试。在服务端节点重试三次向外部的时间服务器请求时间同步,均未收到反馈的标准时间,那么确定集群内不存在外网。
在集群内不存在外网的情况下,服务端节点根据配置的fudge属性和server属性,将自身的时间作为标准时间提供给客户端节点,以实现时间同步。
3、对客户端节点的配置。
在客户端节点中配置时间同步地址以及时间同步间隔2,其中,该时间同步间隔2可以与时间同步间隔1相同,也可以不同,例如,该时间同步间隔2为1个小时。该时间同步地址为服务端节点的地址,客户端节点根据配置的该地址向服务端节点请求时间同步。
在情况A下,图2所示的时间同步系统所实现的时间同步方式请参考图3,可以包括如下步骤:
步骤301:服务端节点根据配置的时间同步间隔1和地址,向外部的时间服务器发送同步请求。
步骤302:判断在设定的重试时间阈值内是否接收到外部的时间服务器反馈的标准时间,若未接收到,执行步骤303;若接收到,执行步骤304。
步骤303:判断是否超过设定的重试次数,若超过,则执行步骤305;若未超过,则执行步骤301。
步骤304:服务端节点根据标准时间对自身时钟进行同步,并执行步骤305。
在本实施例中,若服务端节点自身时钟的时间与标准时间相同,则可以不对自身时钟进行同步;若服务端节点自身时钟的时间与标准时间不相同,那么需要根据标准时间对自身时钟进行同步。
例如,服务端节点自身时钟的时间为12:01:03,外部的时间服务器反馈的标准时间为12:00:00,那么服务端节点需要将自身时钟同步为12:00:00。
步骤305:各个客户端节点根据配置的时间间隔2和地址,向服务端节点发送同步请求。
步骤306:服务端节点根据各个同步请求,向相应客户端节点反馈自身时钟对应的当前时间。
步骤307:各个客户端节点根据接收到当前时间进行时间同步。
以上,为情况A的时间同步流程。
针对情况B:
在情况B下,在集群中选择至少两个节点将其配置为服务端节点,其他节点配置为客户端节点。其中,进一步将服务端节点中的一个节点配置为主服务节点,服务端节点中除主服务节点以外的其他节点配置为备服务节点。
其中,服务端节点的选择方式可以是随机选择,以及服务端节点的个数也可以根据需求来确定。请参考图4,为时间同步系统示意图,服务端节点个数为(n+1)个,其中,主服务节点1个,备服务节点n个。其中,n为不小于1的正整数。
备服务节点的配置是为了防止在主服务节点故障时,集群的各个节点无法实现时间同步的问题,由备服务节点接管主服务节点,来实现集群内各个节点的时间同步。
在情况B下,需要对集群中的节点进行如下配置:
1、对集群中各个节点的配置。
在集群的各个节点中均安装部署NTP(Network Time Protocol,网络时间协议)组件,用于实现集群中各个节点的时间同步。
2、对服务端节点的配置。
在服务端节点中配置ntp.conf文件,在该ntp.conf文件中包括外部的时间服务器的地址和时间同步间隔1。例如,该时间同步间隔1为1个小时。在集群处于外网状态时,服务端节点可以每隔1个小时,根据该地址向外部的时间服务器请求一次时间同步。
在服务端节点中进一步配置fudge属性和server属性,用于实现在集群中不存在外网的情况下,服务端节点无需重复性的向外部的时间服务器请求时间同步,其中,在配置的fudge属性和server属性中可以配置重试次数,以及重试时间阈值。
例如,配置的重试时间阈值为3s,重试次数为3次。那么在服务端节点向外部的时间服务器发送同步请求之后经过3s未接收到反馈信息,则进行下一次重试。在服务端节点重试三次向外部的时间服务器请求时间同步,均未收到反馈的标准时间,那么确定集群内不存在外网。
在集群内不存在外网的情况下,服务端节点根据配置的fudge属性和server属性,将自身的时间作为标准时间提供给客户端节点,以实现时间同步。
在该情况B下,进一步需要对备服务节点进行如下配置:
在备服务节点中配置NTP HA(High Available,高可用性集群)监控组件。在本实施例中,该监控组件中至少可以包括如下内容:时间间隔2、第一时间阈值和主服务节点的接管顺序。
其中,时间间隔2的设置目的是:备服务节点每隔该时间间隔2时,向主服务节点请求一次时间同步。其中,该时间同步间隔2可以与时间同步间隔1相同,也可以不同,例如,该时间间隔2为1个小时。
其中,第一时间阈值的设置目的是:在备服务节点在向主服务节点发送同步请求之后时间到达第一时间阈值时,未接收到主服务节点反馈的信息,那么确定主服务节点故障。例如,该第一时间阈值为3s。
其中,主服务节点的接管顺序的设置目的是:在当前备服务节点确定主服务节点故障时,根据该主服务节点的地址和主服务节点的接管顺序,确定接管该主服务节点的备服务节点,将确定的该接管备服务节点作为主服务节点实现时间同步。假设,该主服务节点的接管顺序为:主服务节点-备服务节点1-备服务节点2-备服务节点3-……-备服务节点n。
各个备服务节点也可以根据该主服务节点的接管顺序,确定由哪一个备服务节点来接管当前的主服务节点。
3、对客户端节点的配置。
在客户端节点中配置时间同步地址、时间同步间隔2和第二时间阈值,其中,该时间同步间隔2可以与时间同步间隔1相同,也可以不同,例如,该时间同步间隔2为1个小时。
其中,该第二时间阈值的设置目的是,客户端节点在向主服务节点发送同步请求之后到达第二时间阈值,未接收到主服务节点的反馈信息,则确定主服务节点故障。
在该情况B下,该时间同步地址为各个服务端节点的地址,其中,在为客户端节点配置时间同步地址时,需要根据各个主服务节点的接管顺序进行配置,其中,该服务端节点的地址配置顺序如下:主服务节点的地址-备服务节点1的地址-备服务节点2的地址-备服务节点3的地址-……-备服务节点n的地址。
在该情况B下,客户端节点根据地址配置顺序,向配置顺序中第一个地址对应的服务端节点请求时间同步,在发送同步请求之后第二时间阈值内未接收到反馈信息,则确定该服务端节点故障,客户端节点向第二个地址对应的服务端节点请求时间同步,以此类推。
在该情况B下,图4所示的时间同步系统所实现的时间同步方式请参考图5,可以包括如下步骤:
步骤501:主服务节点根据配置的时间同步间隔1和地址,向外部的时间服务器发送同步请求。
步骤502:判断在设定的重试时间阈值内是否接收到外部的时间服务器反馈的标准时间,若未接收到,执行步骤503;若接收到,执行步骤504。
步骤503:判断是否超过设定的重试次数,若超过,则分别执行步骤505和步骤509;若未超过,则执行步骤501。
步骤504:主服务节点根据标准时间对自身时钟进行同步。
在客户端节点方面,执行步骤505。在备服务节点方面,执行步骤509。
步骤505:各个客户端节点根据配置的时间间隔2和时间同步地址,向主服务节点发送同步请求。
在初始情况下,各个客户端节点根据时间同步地址确定主服务节点,其中,确定的主服务节点为图4中的主服务节点。
步骤506:各个客户端节点根据配置的第二时间阈值,判断在到达第二时间阈值时,是否接收到主服务节点的反馈信息,若是,则执行步骤507,否则,执行步骤508。
步骤507:根据主服务节点反馈的当前时间进行时间同步,并执行步骤505。
步骤508:各个客户端节点根据时间同步地址中服务端节点的地址配置顺序,确定位于主服务节点下一个地址对应的备服务节点,将该备服务节点作为主服务节点,并执行步骤505。
例如,主服务节点故障之后,位于主服务节点下一个地址对应的备服务节点是图4中的备服务节点1,那么将备服务节点1作为主服务节点,实现时间同步。
步骤509:各个备服务节点根据配置的时间间隔2和主服务节点的接管顺序,向主服务节点发送同步请求。
在初始情况下,各个备服务节点根据主服务节点的接管顺序确定主服务节点,其中,确定的主服务节点为图4中的主服务节点。
步骤510:各个备服务节点根据配置的第一时间阈值,判断在到达第一时间阈值时,是否接收到主服务节点的反馈信息,若是,则执行步骤511,否则,执行步骤512。
步骤511:根据主服务节点反馈的当前时间进行时间同步,并执行步骤509。
步骤512:各个备服务节点根据主服务节点的接管顺序,确定位于主服务节点下一个地址对应的备服务节点,将该备服务节点作为主服务节点,作为主服务节点的该备服务节点执行步骤501,其他备用服务执行步骤509。
以上为上述情况A和情况B的集群时间同步流程。
请参考图6,本发明实施例还提供了一种集群,可以包括:
配置单元601,用于在所述集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,根据各个服务端节点的地址为客户端节点配置时间同步地址;
服务端节点602,用于向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;根据所述标准时间对自身的时钟进行同步;接收客户端节点发送的第二同步请求,并根据所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
客户端节点603,用于根据配置的时间同步地址,向服务端节点发送第二同步请求;根据服务端节点反馈的当前时间进行时间同步。
在本发明一个实施例中,所述服务端节点包括:至少两个节点;
所述配置节点,进一步用于将所述服务端节点中的一个节点配置为主服务节点,将所述服务端节点中除所述主服务节点之外的其他节点配置为备服务节点;
所述主服务节点,用于执行所述向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;根据所述标准时间对自身的时钟进行同步;接收客户端节点发送的第二同步请求,并根据所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
所述主服务节点,进一步用于接收所述备服务节点发送的第三同步请求,并向所述备服务节点发送自身时钟对应的当前时间;
所述客户端节点,具体用于向所述主服务节点发送所述第二同步请求;
所述备服务节点,用于向所述主服务节点发送第三同步请求;并根据所述主服务节点反馈的当前时间进行时间同步。
在本发明一个实施例中,所述配置单元,进一步用于在各个备服务节点中配置第一时间阈值和主服务节点的接管顺序;
各个备服务节点,进一步用于在向主服务节点发送了所述第三同步请求之后,在到达所述第一时间阈值时,未接收到主服务节点的反馈信息,则根据所述主服务节点的接管顺序,用于接管该主服务节点的备服务节点接管该主服务节点,其他备服务节点将该用于接管该主服务节点的备服务节点作为时间同步的主服务节点。
在本发明一个实施例中,所述配置单元,进一步用于在各个客户端节点中配置第二时间阈值;
所述配置单元,具体用于将所述主服务节点的接管顺序作为时间同步地址的配置顺序,为各个客户端节点配置时间同步地址;
所述客户端节点,进一步用于在所述客户端节点向所述主服务节点发送了所述第二同步请求之后,在到达第二时间阈值时,未收到所述主服务节点的反馈信息时,则确定所述主服务节点故障;根据时间同步地址的配置顺序,将位于所述主服务节点地址下一个位置的地址对应的备服务节点作为时间同步的主服务节点。
本发明实施例还提供了一种时间同步系统,包括:时间服务器和上述任一所述集群;其中,
所述时间服务器,用于接收所述集群中服务端节点发送的所述第一同步请求,并根据所述第一同步请求反馈标准时间。
综上,本发明各个实施例至少可以实现如下有益效果:
1、在本发明实施例中,通过在集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,并根据各个服务端节点的地址为客户端节点配置为时间同步地址,由服务端节点向外部的时间服务器发送第一同步请求,以实现服务端节点与标准时间的同步,集群内的客户端节点通过向服务端节点发送第二同步请求,以实现与服务端节点的时间同步,从而实现了集群内各个节点时间的自动同步,提高了时间同步的效率。
2、在本发明实施例中,通过在集群中配置至少两个服务端节点,并将一个服务端节点配置为主服务节点,其他服务端节点配置为备服务节点,在主服务节点发生故障无法实现时间同步时,可以由备服务节点接管主服务节点实现时间同步。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃·····”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (9)

1.一种集群时间同步方法,其特征在于,在所述集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,根据各个服务端节点的地址为客户端节点配置时间同步地址;所述方法还包括:
服务端节点向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;
服务端节点根据所述标准时间对自身时钟进行同步;
客户端节点根据配置的时间同步地址,向服务端节点发送第二同步请求;
服务端节点根据接收到的所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
客户端节点根据服务端节点反馈的当前时间进行时间同步。
2.根据权利要求1所述的方法,其特征在于,
所述服务端节点包括:至少两个节点;
进一步包括:将所述服务端节点中的一个节点配置为主服务节点,将所述服务端节点中除所述主服务节点之外的其他节点配置为备服务节点;
所述服务端节点向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间,包括:利用所述主服务节点执行向所述时间服务器发送所述第一同步请求,并接收所述时间服务器发送的标准时间的操作;
所述客户端节点根据配置的时间同步地址,向服务端节点发送第二同步请求,包括:所述客户端节点根据配置的时间同步地址,向所述主服务节点发送所述第二同步请求;
进一步包括:所述备服务节点向所述主服务节点发送第三同步请求;所述主服务节点根据所述第三同步请求,向所述备服务节点发送自身时钟对应的当前时间;所述备服务节点根据所述主服务节点发送的当前时间进行时间同步。
3.根据权利要求2所述的方法,其特征在于,
进一步包括:在各个备服务节点中配置第一时间阈值和主服务节点的接管顺序;
进一步包括:各个备服务节点在向主服务节点发送了所述第三同步请求之后,在到达所述第一时间阈值时,未接收到主服务节点的反馈信息,则根据所述主服务节点的接管顺序,用于接管该主服务节点的备服务节点接管该主服务节点,其他备服务节点将该用于接管该主服务节点的备服务节点作为时间同步的主服务节点。
4.根据权利要求3所述的方法,其特征在于,
进一步包括:在各个客户端节点中配置第二时间阈值;
所述根据各个服务端节点的地址为客户端节点配置时间同步地址,包括:将所述主服务节点的接管顺序作为时间同步地址的配置顺序,为各个客户端节点配置时间同步地址;
进一步包括:在所述客户端节点向所述主服务节点发送了所述第二同步请求之后,在到达第二时间阈值时,未收到所述主服务节点的反馈信息时,则确定所述主服务节点故障;根据时间同步地址的配置顺序,将位于所述主服务节点地址下一个位置的地址对应的备服务节点作为时间同步的主服务节点。
5.一种集群,其特征在于,包括:
配置单元,用于在所述集群中选择至少一个节点配置为服务端节点,其他节点配置为客户端节点,根据各个服务端节点的地址为客户端节点配置时间同步地址;
服务端节点,用于向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;根据所述标准时间对自身的时钟进行同步;接收客户端节点发送的第二同步请求,并根据所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
客户端节点,用于根据配置的时间同步地址,向服务端节点发送第二同步请求;根据服务端节点反馈的当前时间进行时间同步。
6.根据权利要求5所述的集群,其特征在于,
所述服务端节点包括:至少两个节点;
所述配置节点,进一步用于将所述服务端节点中的一个节点配置为主服务节点,将所述服务端节点中除所述主服务节点之外的其他节点配置为备服务节点;
所述主服务节点,用于执行所述向外部的时间服务器发送第一同步请求,并接收所述时间服务器发送的标准时间;根据所述标准时间对自身的时钟进行同步;接收客户端节点发送的第二同步请求,并根据所述第二同步请求,向相应客户端节点反馈自身时钟对应的当前时间;
所述主服务节点,进一步用于接收所述备服务节点发送的第三同步请求,并向所述备服务节点发送自身时钟对应的当前时间;
所述客户端节点,具体用于向所述主服务节点发送所述第二同步请求;
所述备服务节点,用于向所述主服务节点发送第三同步请求;并根据所述主服务节点反馈的当前时间进行时间同步。
7.根据权利要求6所述的集群,其特征在于,
所述配置单元,进一步用于在各个备服务节点中配置第一时间阈值和主服务节点的接管顺序;
各个备服务节点,进一步用于在向主服务节点发送了所述第三同步请求之后,在到达所述第一时间阈值时,未接收到主服务节点的反馈信息,则根据所述主服务节点的接管顺序,用于接管该主服务节点的备服务节点接管该主服务节点,其他备服务节点将该用于接管该主服务节点的备服务节点作为时间同步的主服务节点。
8.根据权利要求7所述的集群,其特征在于,
所述配置单元,进一步用于在各个客户端节点中配置第二时间阈值;
所述配置单元,具体用于将所述主服务节点的接管顺序作为时间同步地址的配置顺序,为各个客户端节点配置时间同步地址;
所述客户端节点,进一步用于在所述客户端节点向所述主服务节点发送了所述第二同步请求之后,在到达第二时间阈值时,未收到所述主服务节点的反馈信息时,则确定所述主服务节点故障;根据时间同步地址的配置顺序,将位于所述主服务节点地址下一个位置的地址对应的备服务节点作为时间同步的主服务节点。
9.一种时间同步系统,其特征在于,包括:时间服务器和上述权利要求5-8中任一所述集群;其中,
所述时间服务器,用于接收所述集群中服务端节点发送的所述第一同步请求,并根据所述第一同步请求反馈标准时间。
CN201610436458.0A 2016-06-16 2016-06-16 一种集群时间同步方法、集群及时间同步系统 Active CN105959078B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610436458.0A CN105959078B (zh) 2016-06-16 2016-06-16 一种集群时间同步方法、集群及时间同步系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610436458.0A CN105959078B (zh) 2016-06-16 2016-06-16 一种集群时间同步方法、集群及时间同步系统

Publications (2)

Publication Number Publication Date
CN105959078A CN105959078A (zh) 2016-09-21
CN105959078B true CN105959078B (zh) 2018-02-23

Family

ID=56905969

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610436458.0A Active CN105959078B (zh) 2016-06-16 2016-06-16 一种集群时间同步方法、集群及时间同步系统

Country Status (1)

Country Link
CN (1) CN105959078B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107682139A (zh) * 2017-09-20 2018-02-09 郑州云海信息技术有限公司 一种集群中bmc和cmc的时钟同步方法及系统
CN107612674A (zh) * 2017-09-22 2018-01-19 深圳互联先锋科技有限公司 一种多台服务器自动同步时间方法及装置
CN107947885B (zh) * 2017-11-01 2019-02-22 中国电子科技集团公司第二十八研究所 一种集群环境下无中心时间同步自组网方法
US11392167B2 (en) 2019-03-11 2022-07-19 Hewlett Packard Enterprise Development Lp Device clock setting while booting a device
CN114938257A (zh) * 2022-05-11 2022-08-23 浪潮云信息技术股份公司 容器云集群节点的时间同步方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651984A (zh) * 2009-09-16 2010-02-17 中兴通讯股份有限公司 数字集群系统中群组同步方法与系统
CN103391217A (zh) * 2013-07-24 2013-11-13 深信服网络科技(深圳)有限公司 实现异构集群设备同步的方法和异构集群系统
WO2013189176A2 (zh) * 2012-08-20 2013-12-27 中兴通讯股份有限公司 一种多同步域的时间同步系统、方法及跨域设备
CN103516457A (zh) * 2013-10-28 2014-01-15 中国航天科工集团第二研究院二〇三所 一种高精度远程时间同步方法
CN105656590A (zh) * 2015-12-30 2016-06-08 天维尔信息科技股份有限公司 实现时间同步的方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101651984A (zh) * 2009-09-16 2010-02-17 中兴通讯股份有限公司 数字集群系统中群组同步方法与系统
WO2013189176A2 (zh) * 2012-08-20 2013-12-27 中兴通讯股份有限公司 一种多同步域的时间同步系统、方法及跨域设备
CN103391217A (zh) * 2013-07-24 2013-11-13 深信服网络科技(深圳)有限公司 实现异构集群设备同步的方法和异构集群系统
CN103516457A (zh) * 2013-10-28 2014-01-15 中国航天科工集团第二研究院二〇三所 一种高精度远程时间同步方法
CN105656590A (zh) * 2015-12-30 2016-06-08 天维尔信息科技股份有限公司 实现时间同步的方法、装置和系统

Also Published As

Publication number Publication date
CN105959078A (zh) 2016-09-21

Similar Documents

Publication Publication Date Title
CN105959078B (zh) 一种集群时间同步方法、集群及时间同步系统
CN105262831B (zh) 一种存储系统间同步数据的方法、装置及同步系统
CN106911728A (zh) 分布式系统中主节点的选取方法和装置
CN103139157B (zh) 一种基于socket的网络通信方法、装置及系统
CN101739263A (zh) 在多机集群系统中实现操作系统升级的方法及装置
CN102143194A (zh) 数据同步的方法、系统、中间数据节点及终止数据节点
CN103188064A (zh) 时钟同步方法及装置
CN105446827A (zh) 一种数据库故障时的数据存储方法和设备
CN105208058A (zh) 基于web会话共享的信息交互系统
CN109788027A (zh) 数据同步方法、装置、服务器及计算机存储介质
CN104468163A (zh) 容灾网络组网的方法、装置及容灾网络
CN106357782B (zh) 用于数据同步的多级架构、数据同步方法和故障处理方法
CN110192428A (zh) 服务请求处理
US20220326940A1 (en) Service Upgrade Method, Apparatus, and System
CN108063832B (zh) 一种云存储系统及其存储方法
WO2018094040A1 (en) System and method for receiving and writing incoming data writes based on data write latency
CN103731465A (zh) 分布式系统及其事务处理方法
CN105812492B (zh) 一种数据同步方法及系统
CN103686300B (zh) 业务指南的同步方法及系统
CN108614750A (zh) 宕机数据的恢复方法及装置
CN104639399B (zh) 多主时间服务器检测方法和装置
CN106850724A (zh) 数据推送方法及装置
CN108092829A (zh) 集群分裂的处理方法、sdn控制器及存储介质
CN108243208A (zh) 一种数据同步方法及装置
CN109189813A (zh) 一种数据共享方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20200519

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Tidal Cloud Information Technology Co.,Ltd.

Address before: 250100 Ji'nan high tech Zone, Shandong, No. 1036 wave road

Patentee before: INSPUR ELECTRONIC INFORMATION INDUSTRY Co.,Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee after: Inspur cloud Information Technology Co., Ltd

Address before: 250100 No. 1036 Tidal Road, Jinan High-tech Zone, Shandong Province, S01 Building, Tidal Science Park

Patentee before: Tidal Cloud Information Technology Co.,Ltd.