一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种服务器集群时间同步方法、装置及计算机设备与流程

2022-02-22 19:11:08 来源:中国专利 TAG:


1.本技术涉及集群技术领域,尤其涉及一种服务器集群时间同步方法、装置及计算机设备。


背景技术:

2.ntp(network time protocol,网络时间协议)用于计算机网络时间同步,可提供高精度的时间校正,且可通过报文认证的方式来防止恶意攻击。
3.服务器集群特别是分布式集群,各服务器间的工作协同,如分布式事务处理、数据同步等,均以服务器集群高精度的时间同步为前提。目前,服务器集群时间同步一般基于ntp协议实现,但多需要人工干预,存在配置繁琐、故障恢复慢及稳定性差等问题。故而,如何快速且稳定地实现服务器集群时间同步变得十分重要。


技术实现要素:

4.本技术的目的之一在于提供一种服务器集群时间同步方法、装置及计算机设备,以解决如何快速且稳定地实现服务器集群的时间同步的问题。
5.第一方面,本技术实施例提供一种服务器集群时间同步方法,所述服务器集群中的每个服务器均接入分布式数据库集群,所述方法包括:
6.基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,其中,所述类型包括主服务器和从服务器;
7.根据所述类型,为每个所述服务器配置时间同步服务器;
8.控制每个所述服务器分别向对应的时间同步服务器进行时间同步。
9.在一种可选的实施方式中,所述基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,包括:
10.基于所述分布式数据库集群的选举机制,控制所述服务器向除自身以外的其他服务器发起投票,以使所述服务器基于投票结果确定自身的类型;
11.接收所述服务器集群中的每个所述服务器发送的自身的类型。
12.在一种可选的实施方式中,所述类型为所述主服务器,所述根据所述类型,为每个所述服务器配置时间同步服务器,包括:
13.将所述主服务器的第一时间同步软件的ntp服务器配置为所述服务器集群外部的时钟服务器,并重启所述第一时间同步软件。
14.在一种可选的实施方式中,所述控制每个所述服务器分别向对应的时间同步服务器进行时间同步,包括:
15.控制所述主服务器向所述时钟服务器发送的第一同步请求,并根据接收的所述时钟服务器的标准时间进行时间同步。
16.在一种可选的实施方式中,所述类型为所述从服务器,所述根据所述类型,为每个所述服务器配置时间同步服务器,包括:
17.将所述从服务器的第二时间同步软件的ntp服务器配置为所述主服务器,并重启所述第二时间同步软件。
18.在一种可选的实施方式中,所述控制每个所述服务器分别向对应的时间同步服务器进行时间同步,包括:
19.控制所述从服务器向所述主服务器发送的第二同步请求,并根据接收的所述主服务器的时间进行时间同步。
20.在一种可选的实施方式中,所述方法还包括:
21.若监测到所述主服务器发生故障,基于所述分布式数据库集群的选举机制,重新确定所述从服务器的类型;
22.执行所述根据所述类型,为每个所述服务器配置时间同步服务器的步骤。
23.第二方面,本技术实施例提供一种服务器集群时间同步装置,所述服务器集群中的每个服务器均接入分布式数据库集群,包括:
24.类型确定模块,用于基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,其中,所述类型包括主服务器和从服务器;
25.配置模块,用于根据所述类型,为每个所述服务器配置时间同步服务器;
26.同步模块,用于控制每个所述服务器分别向对应的时间同步服务器进行时间同步。
27.第三方面,提供一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器执行时,实现第一方面所述的服务器集群时间同步方法。
28.第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如第一方面所述的服务器集群时间同步方法。
29.本技术实施例提供的服务器集群时间同步方法、装置及计算机设备,所述服务器集群中的每个服务器均接入分布式数据库集群,所述方法包括:首先,基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,其中,所述类型包括主服务器和从服务器;其次,根据所述类型,为每个所述服务器配置时间同步服务器;最后,控制每个所述服务器分别向对应的时间同步服务器进行时间同步。如此,能够快速且稳定地实现服务器集群的时间同步。
附图说明
30.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本技术的某些实施例,因此不应被看作是对本技术保护范围的限定。在各个附图中,类似的构成部分采用类似的编号。
31.图1示出了本技术实施例提供的一种服务器集群时间同步方法的步骤流程示意框图;
32.图2示出了本技术实施例提供的一种服务器集群时间同步装置的结构示意框图。
具体实施方式
33.下面将结合本技术实施例中附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。
34.通常在此处附图中描述和示出的本技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本技术的实施例的详细描述并非旨在限制要求保护的本技术的范围,而是仅仅表示本技术的选定实施例。基于本技术的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
35.在下文中,可在本技术的各种实施例中使用的术语“包括”、“具有”及其同源词仅意在表示特定特征、数字、步骤、操作、元件、组件或前述项的组合,并且不应被理解为首先排除一个或更多个其它特征、数字、步骤、操作、元件、组件或前述项的组合的存在或增加一个或更多个特征、数字、步骤、操作、元件、组件或前述项的组合的可能性。
36.此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
37.除非另有限定,否则在这里使用的所有术语(包括技术术语和科学术语)具有与本技术的各种实施例所属领域普通技术人员通常理解的含义相同的含义。所述术语(诸如在一般使用的词典中限定的术语)将被解释为具有与在相关技术领域中的语境含义相同的含义并且将不被解释为具有理想化的含义或过于正式的含义,除非在本技术的各种实施例中被清楚地限定。
38.实施例1
39.请参照图1,图1示出了本技术实施例提供的一种服务器集群时间同步方法的步骤流程示意框图。
40.如图1所示,本技术实施例提供的一种服务器集群时间同步方法,可以应用于服务器集群时间同步系统,所述服务器集群中的每个服务器均接入分布式数据库集群,包括s110至s130。
41.s110:基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,其中,所述类型包括主服务器和从服务器。
42.优选地,分布式数据库集群为分布式键值数据库集群,所述分布式键值数据库集群具有算法易理解,部署、运维和使用简单,算法简单容易理解的优点。所述分布式键值数据库集群包括etcd集群、tikv集群、redis集群和memcached集群。
43.其中,etcd是一个分布式一致性键值存储系统,可以用于服务注册发现与共享配置。tikv是一个分布式事务型的键值数据库,提供了满足acid(atomicity、consistency、isolation、durability,原子性、一致性、隔离性、持久性)约束的分布式事务接口,并且通过raft协议保证了多副本数据一致性以及高可用。redis是一个开放源代码的内存中数据结构存储,用作数据库,缓存和消息代理。memcached是一个分布式内存键值对象缓存系统,用于动态网页(web)应用以减轻数据库负载。
44.在一种可选的实施方式中,所述基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,包括:
45.基于所述分布式数据库集群的选举机制,控制所述服务器向除自身以外的其他服
务器发起投票,以使所述服务器基于投票结果确定自身的类型;
46.接收所述服务器集群中的每个所述服务器发送的自身的类型。
47.具体地,基于所述分布式数据库集群的选举机制,所述服务器集群时间同步系统控制所述服务器向除自身以外的其他服务器发送主服务器选举投票请求,所述其他服务器接收到投票请求后,向所述服务器发送投票反馈结果,所述投票反馈结果包括同意和拒绝。所述服务器统计同意的票数得到同意总票数,并比较同意总票数与预设票数。若所述同意总票数大于等于预设票数,则所述服务器确定自身对应的类型为主服务器。在确定出所述主服务器后,所述服务器集群中除主服务器以外的其他服务器确定为从服务器。每个所述服务器确定自身的类型后,将自身的类型发送至所述服务器集群时间同步系统。所述服务器集群时间同步系统接收所述服务器集群中的每个所述服务器发送的自身的类型,以实现确定所述服务器集群中的每个服务器的类型。
48.优选地,所述预设票数为所述服务器集群中服务器的总数的一半。
49.s120:根据所述类型,为每个所述服务器配置时间同步服务器。
50.在本实施例中,由于服务器的类型不同,为不同类型的服务器配置的时间同步服务器也不同。
51.在一种可选的实施方式中,所述类型为所述主服务器,所述根据所述类型,为每个所述服务器配置时间同步服务器,包括:
52.将所述主服务器的第一时间同步软件的ntp服务器配置为所述服务器集群外部的时钟服务器,并重启所述第一时间同步软件。
53.在另一种可选的实施方式中,所述类型为所述从服务器,所述根据所述类型,为每个所述服务器配置时间同步服务器,包括:
54.将所述从服务器的第二时间同步软件的ntp服务器配置为所述主服务器,并重启所述第二时间同步软件。
55.具体地,ntp是由rfc 1305定义的时间同步协议,用来在分布式时间服务器和客户端之间进行时间同步。ntp是用来于同步计算机网络中各个计算机时间的协议。所述第一时间同步软件和所述第二时间同步软件均基于ntp协议实现,可提供安全且高精度的时间同步,包括ntp、timesyncd。值得注意的是,所述第一时间同步软件与所述第二时间同步软件为同一类型的时间同步软件。例如,所述第一时间同步软件为ntp时,所述第二时间同步软件也为ntp。
56.s130:控制每个所述服务器分别向对应的时间同步服务器进行时间同步。
57.若所述类型为所述主服务器,在一种可选的实施方式中,所述控制每个所述服务器分别向对应的时间同步服务器进行时间同步,包括:
58.控制所述主服务器向所述时钟服务器发送的第一同步请求,并根据接收的所述时钟服务器的标准时间进行时间同步。
59.具体地,所述服务器集群时间同步系统控制所述主服务器向所述时钟服务器发送第一同步请求。所述时钟服务器接收到所述第一同步请求后,发送所述时钟服务器的标准时间至所述服务器集群时间同步系统。所述服务器集群时间同步系统根据接收的所述时钟服务器的标准时间进行时间同步。
60.若所述类型为所述从服务器,在另一种可选的实施方式中,所述控制每个所述服
务器分别向对应的时间同步服务器进行时间同步,包括:
61.控制所述从服务器向所述主服务器发送的第二同步请求,并根据接收的所述主服务器的时间进行时间同步。
62.具体地,所述服务器集群时间同步系统控制所述从服务器向所述主服务器发送第二同步请求。所述主服务器接收到所述第二同步请求后,发送所述主服务器的时间至所述服务器集群时间同步系统。所述服务器集群时间同步系统根据接收的所述主服务器的时间进行时间同步。
63.在本实施例中,所述主服务器基于所述第一时间同步软件向服务器集群外部的时钟服务器同步自身的时间,从服务器基于所述第二同步软件向所述主服务器同步自身的时间,从而实现服务器集群的时间同步。
64.为了保障时间同步的稳定性,所述方法还包括:
65.若监测到所述主服务器发生故障,基于所述分布式数据库集群的选举机制,重新确定所述从服务器的类型;
66.执行所述根据所述类型,为每个所述服务器配置时间同步服务器的步骤。
67.在本实施例中,“基于所述分布式数据库集群的选举机制,重新确定所述从服务器的类型”和前述“基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型”的原理相同,在此不再赘述。
68.可以理解的是,当所述服务器集群时间同步系统检测到所述主服务器发生故障时,首先,基于所述分布式数据库集群的选举机制,重新确定所述从服务器的类型;其次,根据重新确定的类型,为每个所述服务器配置时间同步服务器;最后控制每个所述服务器分别向对应的时间同步服务器进行时间同步,从而完成主服务器的故障切换,保障时间同步的稳定性。
69.本技术实施例提供的服务器集群时间同步方法,所述服务器集群中的每个服务器均接入分布式数据库集群,所述方法包括:首先,基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,其中,所述类型包括主服务器和从服务器;其次,根据所述类型,为每个所述服务器配置时间同步服务器;最后,控制每个所述服务器分别向对应的时间同步服务器进行时间同步。如此,能够快速且稳定地实现服务器集群的时间同步。
70.实施例2
71.请参照图2,图2示出了本技术实施例提供的一种服务器集群时间同步装置的结构示意框图。所述服务器集群中的每个服务器均接入分布式数据库集群,所述服务器集群时间同步装置500包括类型确定模块510、配置模块520及同步模块530。
72.其中,所述类型确定模块510,用于基于所述分布式数据库集群的选举机制,确定所述服务器集群中的每个服务器的类型,其中,所述类型包括主服务器和从服务器;
73.所述配置模块520,用于根据所述类型,为每个所述服务器配置时间同步服务器;
74.所述同步模块530,用于控制每个所述服务器分别向对应的时间同步服务器进行时间同步。
75.可选地,所述类型确定模块510,具体用于:
76.基于所述分布式数据库集群的选举机制,控制所述服务器向除自身以外的其他服
务器发起投票,以使所述服务器基于投票结果确定自身的类型;
77.接收所述服务器集群中的每个所述服务器发送的自身的类型。
78.可选地,所述类型为所述主服务器,所述配置模块520,具体用于:
79.将所述主服务器的第一时间同步软件的ntp服务器配置为所述服务器集群外部的时钟服务器,并重启所述第一时间同步软件。
80.可选地,所述同步模块530,具体用于:
81.控制所述主服务器向所述时钟服务器发送的第一同步请求,并根据接收的所述时钟服务器的标准时间进行时间同步。
82.可选地,所述类型为所述从服务器,所述配置模块520,还具体用于:
83.将所述从服务器的第二时间同步软件的ntp服务器配置为所述主服务器,并重启所述第二时间同步软件。
84.可选地,所述同步模块530,还具体用于:
85.控制所述从服务器向所述主服务器发送的第二同步请求,并根据接收的所述主服务器的时间进行时间同步。
86.可选地,所述服务器集群时间同步装置500还包括:
87.所述类型确定模块510,还用于若监测到所述主服务器发生故障,基于所述分布式数据库集群的选举机制,重新确定所述从服务器的类型;
88.所述配置模块520,还用于执行所述根据所述类型,为每个所述服务器配置时间同步服务器的步骤。
89.上述装置用于执行实施例1提供的方法,其实现原理和技术效果类似,在此不再赘述。
90.本技术实施例还公开了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器存储有计算机程序,所述计算机程序在所述处理器执行时,实现如实施例1所述的服务器集群时间同步方法。
91.本技术实施例还公开了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时,实现如实施例1所述的服务器集群时间同步方法。
92.在本技术所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和结构图显示了根据本技术的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,结构图和/或流程图中的每个方框、以及结构图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
93.另外,在本技术各个实施例中的各功能模块或单元可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或更多个模块集成形成一个独立的部分。
94.所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是智能手机、个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
95.以上所述,仅为本技术的具体实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献