一种时间同步方法和装置

文档序号:1314408 发布日期:2020-07-10 浏览:14次 >En<

阅读说明:本技术 一种时间同步方法和装置 (Time synchronization method and device ) 是由 曹瑞 梁顺斌 于 2019-06-05 设计创作,主要内容包括:本公开提供了一种时间同步方法和装置,涉及计算机技术领域。所述方法包括:获取已配置用于获取基准时间的第一网络地址,通过所述虚拟服务器内的动态主机配置服务,将所述第一网络地址路由到第二网络地址,所述第二网络地址为第一物理服务器的网络地址,所述第一物理服务器为被同步时间的服务器,根据所述第二网络地址,向所述第一物理服务器发送第一时间同步请求,接收所述第一物理服务器返回的所述基准时间,根据所述基准时间进行时间同步,从而不需要虚拟服务器通过与其驻留的物理服务器之间打通网络来进行时间同步,保证了虚拟服务器的网络安全,且不会发生驻留服务器时间跳变影响虚拟服务器的情况。(The disclosure provides a time synchronization method and a time synchronization device, and relates to the technical field of computers. The method comprises the following steps: the method comprises the steps of obtaining a first network address configured for obtaining reference time, routing the first network address to a second network address through a dynamic host configuration service in a virtual server, wherein the second network address is the network address of a first physical server, the first physical server is a server of synchronized time, sending a first time synchronization request to the first physical server according to the second network address, receiving the reference time returned by the first physical server, and performing time synchronization according to the reference time, so that the virtual server is not required to perform time synchronization by opening a network with a resident physical server, the network security of the virtual server is ensured, and the condition that the virtual server is influenced by time jump of the resident server is avoided.)

一种时间同步方法和装置

技术领域

本公开涉及计算机技术领域,特别涉及一种时间同步方法和装置。

背景技术

云计算平台中包括物理层和虚拟层;物理层中包括多个物理机,虚拟层中包括多个虚拟机。每个虚拟机可以通过物理机中的硬件资源处理云计算平台中的业务。由于业务一般具有时效性,因此为了保证虚拟机中的业务正常运行,虚拟机与物理机之间要进行时间同步。

目前,虚拟机与物理机之间进行时间同步之前,物理机先与时间服务器进行时间同步。然后虚拟机与物理机进行时间同步。并且,虚拟机与物理机进行时间同步时,虚拟机与物理机之间需要建立通信网络;虚拟机通过该通信网络,从物理机中获取时间,从而进行时间同步。

上述方法中需要打通虚拟机与物理机之间的通信网络,然而打通虚拟机与物理机之间的通信网络,其他设备可能会通过该通信网络侵入虚拟机,导致虚拟机的网络安全性较差。

发明内容

本公开提供了一种时间同步方法和装置,用于解决虚拟机与物理机时间同步时需要打通虚拟机与物理机之间的通信网络,导致虚拟机的网络安全性较差的问题。

根据本公开实施例的第一方面,提供一种时间同步方法,应用于虚拟服务器,所述方法包括:

获取已配置用于获取基准时间的第一网络地址;

通过所述虚拟服务器内的动态主机配置服务,将所述第一网络地址为第二网络地址,所述第二网络地址为第一物理服务器的网络地址,所述第一物理服务器为被同步时间的服务器;

根据所述第二网络地址,向所述第一物理服务器发送第一时间同步请求;

接收所述第一物理服务器返回的所述基准时间,根据所述基准时间进行时间同步。

在一种可能的实现方式中,所述通过所述虚拟服务器内的动态主机配置服务,将所述第一网络地址路由到第二网络地址,包括:

获取已配置的第一路由规则,所述第一路由规则中包括所述第一网络地址和所述第二网络地址的对应关系;

通过所述动态主机配置服务,从所述第一路由规则中获取所述第一网络地址对应的第二网络地址。

根据本公开实施例的第二方面,提供一种时间同步方法,应用于第一物理服务器,所述方法包括:

在所述第一物理服务器中创建网络命名空间;

在所述网络命名空间中配置动态主机配置服务器,所述动态主机配置服务器用于将所述第一物理服务器的网络地址设置为第二网络地址;

在所述命名空间中配置网络时间协议服务器,通过所述网络时间协议服务器监听所述第二网络地址对应的请求接收端口;

当监听到虚拟服务器发送的第一时间同步请求时,获取基准时间;

将所述基准时间返回给所述虚拟服务器。

在一种可能的实现方式中,所述将所述基准时间返回给所述虚拟服务器,包括:

获取已配置的第二路由规则;

通过所述动态主机配置服务器,从所述第二路由规则中获取所述第一网络地址对应的第三网络地址,所述第三网络地址为所述虚拟服务器的网络地址;

根据所述第三网络地址,向所述虚拟服务器返回所述基准时间。

在另一种可能的实现方式中,所述方法还包括:

在所述第一物理服务器中配置网络时间协议服务器和网络时间协议客户端;

通过所述网络时间协议客户端与时间服务器经由外部网络进行时间同步;

通过所述网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器以及第二服务器集群中的第三物理服务器进行时间同步,所述第二物理服务器为所述第一物理服务器的冗余服务器,所述第三物理服务器为虚拟服务器提供硬件资源的服务器。

在另一种可能的实现方式中,所述通过所述网络时间协议客户端与时间服务器经由外部网络进行时间同步,包括:

通过网络时间协议客户端经由所述外部网络周期性的向所述时间同步服务器的网路时间协议服务器发送第二时间同步请求;

接收所述时间同步服务器经由所述外部网络返回的基准时间,根据所述基准时间进行时间同步。

在另一种可能的实现方式中,所述通过所述网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器以及第二服务器集群中的第三物理服务器进行时间同步,包括:

通过所述网络时间协议服务器接收所述第二物理服务器内的网络时间协议客户端经由内部网络发送的第三时间同步请求,通过所述网络时间协议服务器向所述第二物理服务器返回所述基准时间;

通过所述网络时间协议服务器接收所述第三物理服务器内的网络时间协议客户端经由内部网络发送的第四时间同步请求,通过所述网络时间协议服务器向所述第三物理服务器返回所述基准时间。

在另一种可能的实现方式中,所述方法还包括:

将所述第一物理服务器的配置信息,周期性的同步到配置服务器,所述配置服务器用于当所述第一物理服务器发生故障时,从所述第一服务器集群中选择一个第二物理服务器,将所述配置信息同步至选择的第二物理服务器。

根据本公开实施例的第三方面,提供一种时间同步装置,应用于虚拟服务器,所述装置包括:

第一获取模块,被配置为获取已配置用于获取基准时间的第一网络地址;

路由模块,被配置为通过所述虚拟服务器内的动态主机配置服务,将所述第一网络地址路由到第二网络地址,所述第二网络地址为第一物理服务器的网络地址,所述第一物理服务器为被同步时间的服务器;

发送模块,被配置为根据所述第二网络地址,向所述第一物理服务器发送第一时间同步请求;

接收模块,被配置为接收所述第一物理服务器返回的所述基准时间,根据所述基准时间进行时间同步。

在一种可能的实现方式中,所述路由模块,还被配置为获取已配置的第一路由规则,所述第一路由规则中包括所述第一网络地址和所述第二网络地址的对应关系;通过所述动态主机配置服务,从所述第一路由规则中获取所述第一网络地址对应的第二网络地址。

根据本公开实施例的第四方面,提供一种时间同步装置,应用于第一物理服务器,所述装置包括:

创建模块,被配置为在所述第一物理服务器中创建网络命名空间;

第一配置模块,被配置为在所述网络命名空间中配置动态主机配置服务器,所述动态主机配置服务器用于将所述第一物理服务器的网络地址设置为第二网络地址;

第二配置模块,被配置为在所述命名空间中配置网络时间协议服务器,通过所述网络时间协议服务器监听所述第二网络地址对应的请求接收端口;

第二获取模块,被配置为当监听到虚拟服务器发送的第一时间同步请求时,获取基准时间;

返回模块,被配置为将所述基准时间返回给所述虚拟服务器。

在一种可能的实现方式中,所述返回模块,还被配置为获取已配置的第二路由规则;通过所述动态主机配置服务器,从所述第二路由规则中获取所述第一网络地址对应的第三网络地址,所述第三网络地址为所述虚拟服务器的网络地址;根据所述第三网络地址,向所述虚拟服务器返回所述基准时间。

在另一种可能的实现方式中,所述装置还包括:

第三配置模块,被配置为在所述第一物理服务器中配置网络时间协议服务器和网络时间协议客户端;

第一同步模块,被配置为通过所述网络时间协议客户端与时间服务器经由外部网络进行时间同步;

第二同步模块,被配置为通过所述网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器以及第二服务器集群中的第三物理服务器进行时间同步,所述第二物理服务器为所述第一物理服务器的冗余服务器,所述第三物理服务器为虚拟服务器提供硬件资源的服务器。

在另一种可能的实现方式中,所述第一同步模块,还被配置为通过网络时间协议客户端经由所述外部网络周期性的向所述时间同步服务器的网路时间协议服务器发送第二时间同步请求;接收所述时间同步服务器经由所述外部网络返回的基准时间,根据所述基准时间进行时间同步。

在另一种可能的实现方式中,所述第二同步模块,还被配置为通过所述网络时间协议服务器接收所述第二物理服务器内的网络时间协议客户端经由内部网络发送的第三时间同步请求,通过所述网络时间协议服务器向所述第二物理服务器返回所述基准时间;通过所述网络时间协议服务器接收所述第三物理服务器内的网络时间协议客户端经由内部网络发送的第四时间同步请求,通过所述网络时间协议服务器向所述第三物理服务器返回所述基准时间。

在另一种可能的实现方式中,所述装置还包括:

第三同步模块,被配置为将所述第一物理服务器的配置信息,周期性的同步到配置服务器,所述配置服务器用于当所述第一物理服务器发生故障时,从所述第一服务器集群中选择一个第二物理服务器,将所述配置信息同步至选择的第二物理服务器。

根据本公开实施例的第五方面,提供一种服务器,包括:

至少一个处理器;和

至少一个存储器;

所述至少一个存储器存储有一个或多个程序,所述一个或多个程序被配置成由所述至少一个处理器执行,所述一个或多个程序包含用于进行上述第一方面所述的时间同步方法和上述第二方面所述的时间同步方法的指令。

根据本公开实施例的第六方面,提供一种计算机可读存储介质,所述计算机可读存储介质应用于所述服务器,所述计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述指令、所述程序、所述代码集或所述指令集由处理器加载并执行以实现上述第一方面所述的时间同步方法和上述第二方面所述的时间同步方法中的步骤。

本公开的实施例提供的技术方案可以包括以下有益效果:

通过获取已配置用于获取基准时间的第一网络地址,通过虚拟服务器内的动态主机配置服务,将第一网络地址路由到第二网络地址,第二网络地址为第一物理服务器的网络地址,第一物理服务器为被同步时间的服务器,根据第二网络地址,向第一物理服务器发送第一时间同步请求,接收第一物理服务器返回的基准时间,根据基准时间进行时间同步。虚拟服务器向第一网络地址发送时间同步请求,动态主机配置服务将第一网络地址路由到第二网络地址,从而到达第一物理服务器,不需要直接通过网络连接虚拟服务器和第一物理服务器,保证了虚拟服务器的网络安全,且当第一物理服务器发生变化时,通过修改动态主机配置服务即可,不需要修改虚拟服务器的配置,效率高。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。

图1是本公开示例性实施例示出的一种应用场景示意图;

图2是根据本公开示例性实施例示出的一种时间同步方法的流程图;

图3是根据本公开示例性实施例示出的另一种时间同步方法的流程图;

图4是根据本公开示例性实施例示出的一种时间同步方法的信令交互图;

图5是根据本公开示例性实施例示出的一种时间同步装置的框图;

图6是根据本公开示例性实施例示出的另一种时间同步装置的框图;

图7是根据本公开部分示例性实施例示出的一种服务器的框图。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

本公开提供了一种时间同步方法,图1是本公开示例性实施例示出的一种应用场景示意图。参见图1所示,该时间同步方法可以应用在OpenStack集群的物理服务器和虚拟服务器中。其中,虚拟服务器可以为虚拟机,物理服务器可以为物理机。

在本公开实施例中,第一物理服务器与时间服务器进行时间同步,第一服务器集群中的第二物理服务器与第一物理服务器进行时间同步,第二服务器集群中的第三物理服务器与第一物理服务器进行时间同步,第二服务器集群中的虚拟服务器与第一物理服务器进行时间同步。为了便于理解,分为虚拟服务器与物理机之间进行时间同步和物理机之间进行时间同步两部分来进行说明。在进行时间同步之前,可以将OpenStack集群中的物理机划分为两个集群,第一服务器集群可以为NTP(Network Time Protocol,网络时间协议)集群服务器,第二服务器集群可以为NTP节点服务器。NTP集群服务器需要通过外部网络和时间服务器进行同步时间,也需要将基准时间通过内部网络提供给NTP节点服务器,通过将内外网络隔离的方式,避免由于NTP节点直接与时间服务器进行时间同步时的同步频率不一致,导致出现时差的问题。上述NTP集群服务器中包括多个物理机,选择其中一个物理机作为与外部时钟服务器、其他物理机以及虚拟服务器进行时间同步的节点,可以称为VIP(Virtual IP,虚拟IP)节点,NTP集群服务器内的其他物理机可以作为该VIP节点的冗余节点,当该VIP节点发生故障时,从冗余节点中选择一个节点来作为新的VIP节点。

虚拟服务器与物理机之间进行时间同步时,虚拟服务器实际上是与VIP节点进行时间同步。VIP节点可以创建网络命名空间,该网络命名空间可以为DHCP命名空间,在该DHCP命名空间中创建DHCP服务器和NTP服务器,通过该DHCP服务器为DHCP命名空间绑定固定的IP(Internet Protocol Address,互联网协议地址)地址。在创建虚拟服务器时,通过DHCP服务的DHCP协议中的选项121来为虚拟服务器设置静态路由,该静态路由可将虚拟服务器的时钟源地址转发到DHCP命名空间的IP。启动虚拟服务器时,可以通过cloud-init来动态配置虚拟服务器的时钟源地址。虚拟服务器在向上述时钟源地址周期性的发送时间同步请求,该时间同步请求可以为NTP报文,DHCP命名空间内的NTP服务器通过监听请求端口来获取虚拟服务器发送的NTP报文,然后响应该NTP报文,将返回响应,经由之前的路由,转发到虚拟服务器的IP,虚拟服务器根据返回响应中携带的基准时间进行时间同步。

物理机之间进行时间同步时,NTP节点服务器以及NTP集群服务器中的非VIP节点,均周期性的向VIP节点发送NTP报文,VIP节点通过NTP服务器响应收到的NTP报文,收到响应的节点根据响应中携带的基准时间进行时间同步。

本公开提供的时间同步方法,一方面通过网络隔离,避免了物理机进行时间同步时,由于同步频率不一致导致的时差问题,另一方面,通过DHCP服务完成虚拟服务器与VIP节点的时间同步,不需要打通虚拟服务器与宿主机之间的网络,保护了虚拟服务器网络的安全,避免了虚拟服务器被网络入侵的问题,同时避免了虚拟服务器与宿主机进行时间同步时,宿主机时间跳变影响虚拟服务器内业务的问题,提高了虚拟服务器时间同步的准确性。

图2是根据本公开示例性实施例示出的一种时间同步方法的流程图,应用于虚拟服务器中,参见图2所示,包括以下步骤:

在步骤201中,获取已配置用于获取基准时间的第一网络地址。

在步骤202中,通过虚拟服务器内的动态主机配置服务,将第一网络地址路由到第二网络地址,第二网络地址为第一物理服务器的网络地址,第一物理服务器为被同步时间的服务器。

在步骤203中,根据第二网络地址,向第一物理服务器发送第一时间同步请求。

在步骤204中,接收第一物理服务器返回的基准时间,根据基准时间进行时间同步。

在一种可能的实现方式中,通过虚拟服务器内的动态主机配置服务,将第一网络地址路由到第二网络地址,包括:

获取已配置的第一路由规则,第一路由规则中包括第一网络地址和第二网络地址的对应关系;

通过动态主机配置服务,从第一路由规则中获取第一网络地址对应的第二网络地址。

在本公开实施例中,通过动态主机配置服务器进行虚拟服务器的时间同步,不需要打通虚拟服务器与物理服务器之间的网络连接,通过动态主机配置服务器对时间同步请求转发,可以获得物理服务器返回的基准时间,根据返回的基准时间即可完成时间同步。

图3是根据本公开示例性实施例示出的另一种时间同步方法的流程图,应用于物理服务器中,参见图3所示,包括以下步骤:

在步骤301中,在第一物理服务器中创建网络命名空间。

在步骤302中,在网络命名空间中配置动态主机配置服务器,动态主机配置服务器用于将第一物理服务器的网络地址设置为第二网络地址。

在步骤303中,在网络命名空间中配置网络时间协议服务器,通过网络时间协议服务器监听第二网络地址对应的请求接收端口。

在步骤304中,当监听到虚拟服务器发送的第一时间同步请求时,获取基准时间。

在步骤305中,将基准时间返回给虚拟服务器。

在一种可能的实现方式中,将基准时间返回给虚拟服务器,包括:

获取已配置的第二路由规则;

通过动态主机配置服务器,从第二路由规则中获取第一网络地址对应的第三网络地址,第三网络地址为虚拟服务器的网络地址;

根据第三网络地址,向虚拟服务器返回基准时间。

在另一种可能的实现方式中,方法还包括:

在第一物理服务器中配置网络时间协议服务器和网络时间协议客户端;

通过网络时间协议客户端与时间服务器经由外部网络进行时间同步;

通过网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器以及第二服务器集群中的第三物理服务器进行时间同步,第二物理服务器为第一物理服务器的冗余服务器,第三物理服务器为虚拟服务器提供硬件资源的服务器。

在另一种可能的实现方式中,通过网络时间协议客户端与时间服务器经由外部网络进行时间同步,包括:

通过网络时间协议客户端经由外部网络周期性的向时间同步服务器的网路时间协议服务器发送第二时间同步请求;

接收时间同步服务器经由外部网络返回的基准时间,根据基准时间进行时间同步。

在另一种可能的实现方式中,通过网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器以及第二服务器集群中的第三物理服务器进行时间同步,包括:

通过网络时间协议服务器接收第二物理服务器内的网络时间协议客户端经由内部网络发送的第三时间同步请求,通过网络时间协议服务器向第二物理服务器返回基准时间;

通过网络时间协议服务器接收第三物理服务器内的网络时间协议客户端经由内部网络发送的第四时间同步请求,通过网络时间协议服务器向第三物理服务器返回基准时间。

在另一种可能的实现方式中,方法还包括:

将第一物理服务器的配置信息,周期性的同步到配置服务器,配置服务器用于当第一物理服务器发生故障时,从第一服务器集群中选择一个第二物理服务器,将配置信息同步至选择的第二物理服务器。

在本公开实施例中,通过在物理服务器中建立网络命名空间,在该网络命名空间中配置动态主机配置服务器来设置该网络命名空间的网络地址,以及在该网络命名空间中配置网络时间协议服务器来响应虚拟服务器的时间同步请求,将基准时间返回给虚拟服务器,从而不需要虚拟服务器通过与其驻留的物理服务器之间打通网络来进行时间同步,保证了虚拟服务器的网络安全,且不会发生驻留服务器时间跳变影响虚拟服务器的情况。

图4是根据本公开示例性实施例示出的一种时间同步方法的信令交互图。

在步骤401中,第一物理服务器配置网络时间协议客户端,通过该网络时间协议客户端与时间服务器经由外部网络进行时间同步。

第一物理服务器上配置有网络时间协议客户端,该网络时间协议客户端可以为NTP客户端。第一物理服务器可以将其IP与时间服务器的IP设置为同一个网段的IP,这样第一物理服务器就可以通过NTP客户端与时间服务器进行时间同步。

当第一物理服务器与时间服务器在进行时间同步时,第一物理服务器向时间服务器发送第二时间同步请求,以请求与时间服务器进行时间同步。其中,时间服务器中配置NTP服务器,第一物理服务器将第二时间同步请求经由外部网络发送至时间服务器上配置的NTP服务器,时间服务器上配置的NTP服务器响应上述第二时间同步请求,NTP服务器通过响应信息将基准时间经由上述外部网络返回给上述第一物理服务器,第一物理服务器根据返回的基准时间进行时间同步。

其中,第一物理服务器可以周期性与时间服务器进行时间同步。上述外部网络可以为互联网,即可以与公共网络进行通信的网络。上述第二时间同步请求可以为NTP报文,上述响应信息也可以为NTP报文。上述时间服务器为具有基准时间的服务器,可以为时间服务提供商或者标准时间服务器等。

需要说明的是,上述第一物理服务器不可避免的会出现故障,为了保证时间同步的正常运行,在第一物理服务器发生故障时,可以从该第一物理服务器的冗余服务器中选择一个服务器来代替该第一物理服务器。为了保证新选择的服务器可以提供时间同步服务器,可以将第一物理服务器的配置信息,周期性的同步到配置服务器,该配置服务器用于当第一物理服务器发生故障时,从第一服务器集群中选择一个第二物理服务器,将配置信息同步至选择的第二物理服务器。配置服务可以通过Keep Alive机制检测第一物理服务器是否发生故障。

在步骤402中,第一物理服务器中配置网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器以及第二服务器集群中的第三物理服务器进行时间同步。

其中,网络时间服务器可以为NTP服务器。相应的,本步骤可以通过以下步骤(1)至(2)实现,包括:

(1)第一物理服务器中配置有网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器进行时间同步。

第一服务器集群可以为上述NTP集群服务器,该NTP集群服务器中包括多个第二物理服务器,每个第二物理服务器上都可以配置有NTP客户端,第二物理服务器通过NTP客户端经由内部网络向第一物理服务器发送第三时间同步请求,第一物理服务器通过NTP服务器接收该第三时间同请求,第一物理服务器通过NTP服务器返回响应消息,该响应消息中携带有基准时间,第二物理服务器接收到该响应消息中的基准时间后,与该基准时间进行时间同步。

其中,上述内部网络可以为局域网,即不与公共网络互通的网络。上述第三时间同步请求可以为NTP报文,上述响应信息也可以为NTP报文。

(2)第一物理服务器中配置网络时间协议服务器,经由内部网络与第二服务器集群中的第三物理服务器进行时间同步。

第二服务器集群可以为上述NTP节点服务器,该NTP节点服务器中包括多个第三物理服务器,每个第三物理服务器上都可以配置有NTP客户端,第三物理服务器通过NTP客户端经由内部网络向第一物理服务器发送第四时间同步请求,第一物理服务器通过NTP服务器接收该第四时间同请求,第一物理服务器通过NTP服务器返回响应消息,该响应消息中携带有基准时间,第三物理服务器接收到该响应消息中的基准时间后,与该基准时间进行时间同步。

其中,上述内部网络可以为局域网,即不与公共网络互通的网络。上述第四时间同步请求可以为NTP报文,上述响应信息也可以为NTP报文。上述第三物理服务器用于为虚拟服务器提供硬件资源。

在步骤403中,第一物理服务器在该第一物理服务器内创建网络命名空间。

第一物理服务器可以配置有一个网络命名空间,该网络命名空间可以为DHCP命名空间,该DHCP命名空间用于与虚拟机进行时间同步。该DHCP服务器可以通过时间获取函数或者时间获取服务获取第一物理服务器的时间,该第一物理服务器的时间为与时间服务器进行同步后的基准时间。

在步骤404中,第一物理服务器在网络命名空间中配置动态主机配置服务器。

第一物理服务器可以在DHCP命名空间中配置DHCP服务器,该DHCP服务器用于将该第一物理服务器的的网络地址设置为第二网络地址,该第二网络地址用于与虚拟服务器进行时间同步。该第二网络地址与DHCP命名空间绑定,即也可以认为该第二网络地址为DHCP命名空间的网络地址。

在步骤405中,第一物理服务器在命名空间中配置网络时间协议服务器,通过网络时间协议服务器监听第二网络地址对应的请求接收端口。

第一物理服务器可以在DHCP命名空间中配置NTP服务器,该NTP服务器被配置为监听请求接收端口,该请求接收端口可以为123端口。上述请求可以为时间同步请求,该NTP服务器可以对监听到时间同步请求进行响应。

需要说明的是,第一物理服务器的DHCP命名空间中的虚拟网卡可以设置两个IP地址,其中一个IP地址为上述第二网络地址,另一个IP地址为与上述第一网络地址相同的网络地址,即虚拟服务器将时间同步请求发送至第一网络地址,通过第一路由规则路由到第二网络地址,第二网络地址所在的虚拟网卡又绑定了一个与第一网络地址相同的网络地址,这样第一网络地址实际上与第二网络地址没有一一对应的关系,即第一物理服务器损坏后,新配置的物理服务器只要将第二网络地址所在的虚拟网卡仍旧配置一个第一网络地址,即可以接收虚拟服务器发送的时间同步请求,而不用修改命名空间中的NTP服务的配置文件。简单便捷,可操作性好,效率高。

在步骤406中,虚拟服务器获取已配置用于获取基准时间的第一网络地址。

虚拟服务器可以周期性的发送时间同步请求以获取基准时间完成时间同步,虚拟服务器在发送时间同步请求之前,获取已配置好的第一网络地址,虚拟服务器可以通过NTP客户端向该第一网络地址发送NTP报文来索取基准时间。

其中,该第一网络地址可以为虚拟服务器配置的时钟源地址,可以设置为静态地址,也可以在虚拟服务器启动时,通过脚本进行注入,动态的修改该时钟源地址。

在步骤407中,虚拟服务器通过动态主机配置服务,将第一网络地址路由到第二网络地址。

虚拟服务器可以获取已配置的第一路由规则,该第一路由规则可以为虚拟服务器通过DHCP服务中的DHCP协议中的选项121来为虚拟服务器设置的静态路由,该静态路由用于将第一网络地址路由到第二网络地址。该第一路由规则可以存储在DHCP服务中,包括第一网络地址和第二网络地址的对应关系,通过DHCP服务可以将从上述第一路由规则中获取上述第一网络地址对应的第二网络地址。

例如,第一网络地址,即虚拟服务器的时钟源地址为169.254.169.254,DHCP命名空间的第二网络地址为10.33.46.62,为虚拟服务器设置的静态路由可以为169.254.169.254via 10.33.46.62dev eth0proto static。

在步骤408中,虚拟服务器根据第二网络地址,向第一物理服务器发送第一时间同步请求。

虚拟服务器中的NTP客户端可以周期性的向第一网络地址发送NTP报文来索取基准时间,DHCP服务将发送到第一网络地址的NTP报文转发到第二网络地址,即根据第二网络地址将上述NTP报文转发到第一物理服务器的DHCP命名空间中。

在步骤409中,当第一物理服务器监听到虚拟服务器发送的第一时间同步请求时,获取基准时间。

当第一物理服务器的DHCP命名空间中的NTP服务器监听到虚拟服务器发送的第一时间同步请求时,DHCP命名空间可以通过时间获取函数获取到第一物理服务器当前的时间,将该时间作为基准时间。

在步骤410中,第一物理服务器将基准时间返回给虚拟服务器。

第一物理服务器可以获取已配置的第二路由规则,该第二路由规则可以为静态路由,存储在DHCP服务中,可以通过DHCP服务器,从上述第二路由规则中获取第一网络地址对应的第三网络地址,该第三网络地址为虚拟服务器的网络地址。其中,上述第一物理服务器的命名空间的第二网络地址与虚拟服务器的第三网络地址处于同一网段,在虚拟服务器与第一物理服务器的命名空间首次进行通信时,第一物理服务器可以通过ARP(AddressResolution Protocol,地址解析协议)协议,获取虚拟服务器的第三网络地址,对该第三网络地址进行缓存,在后续进行时间同步时,根据第二路由规则直接获取虚拟服务器的第三网络。

第一物理服务器可以通过DHCP命名空间中的NTP服务器来返回响应信息,该响应信息中携带有基准时间。

在步骤411中,虚拟服务器接收第一物理服务器返回的基准时间,根据基准时间进行时间同步。

虚拟服务器接收上述第一物理服务器返回的响应信息,对该响应信息进行解析,得到相应信息中携带的基准时间,根据该基准时间进行时间同步。

在本公开实施例中,通过外部网络将第一物理服务器与时间服务器进行时间同步,内部网络将第二物理服务器第三物理服务器与第一物理服务器进行时间同步,通过网络阻隔,避免物理服务器同步的频率不一致导致存在时差的问题,同时通过在第一物理服务器中建立网络命名空间,在该网络命名空间中配置动态主机配置服务器来设置该网络命名空间的网络地址,以及在该网络命名空间中配置网络时间协议服务器来响应虚拟服务器的时间同步请求,将基准时间返回给虚拟服务器,不需要打通虚拟服务器与驻留的物理服务器之间的网络连接,通过动态主机配置服务器对时间同步请求转发,可以获得第一物理服务器返回的基准时间,根据返回的基准时间即可完成时间同步。

图5是根据本公开示例性实施例示出的一种时间同步装置的框图。应用于虚拟服务器中,该装置包括:第一获取模块501、路由模块502、发送模块503以及接收模块504。

第一获取模块501,被配置为获取已配置用于获取基准时间的第一网络地址;

路由模块502,被配置为通过虚拟服务器内的动态主机配置服务,将第一网络地址路由到第二网络地址,第二网络地址为第一物理服务器的网络地址,第一物理服务器为被同步时间的服务器;

发送模块503,被配置为根据第二网络地址,向第一物理服务器发送第一时间同步请求;

接收模块504,被配置为接收第一物理服务器返回的基准时间,根据基准时间进行时间同步。

在一种可能的实现方式中,路由模块502,还被配置为获取已配置的第一路由规则,第一路由规则中包括第一网络地址和第二网络地址的对应关系;通过动态主机配置服务,从第一路由规则中获取第一网络地址对应的第二网络地址。

通过第一获取模块501获取已配置用于获取基准时间的第一网络地址,路由模块502通过虚拟服务器内的动态主机配置服务,将第一网络地址路由到第二网络地址,发送模块503根据第二网络地址,向第一物理服务器发送第一时间同步请求,接收模块504接收第一物理服务器返回的基准时间,根据基准时间进行时间同步,虚拟服务器向第一网络地址发送时间同步请求,动态主机配置服务将第一网络地址路由到第二网络地址,从而到达第一物理服务器,不需要直接通过网络连接虚拟服务器和第一物理服务器,保证了虚拟服务器的网络安全,且当第一物理服务器发生变化时,通过修改动态主机配置服务即可,不需要修改虚拟服务器的配置,效率高。

图6是根据本公开示例性实施例示出的另一种时间同步装置的框图。应用于第一物理服务器中,该装置包括:创建模块601、第一配置模块602、第二配置模块603、第二获取模块604以及返回模块605。

创建模块601,被配置为在第一物理服务器中创建网络命名空间;

第一配置模块602,被配置为在网络命名空间中配置动态主机配置服务器,动态主机配置服务器用于将第一物理服务器的网络地址设置为第二网络地址;

第二配置模块603,被配置为在命名空间中配置网络时间协议服务器,通过网络时间协议服务器监听第二网络地址对应的请求接收端口;

第二获取模块604,被配置为当监听到虚拟服务器发送的第一时间同步请求时,获取基准时间;

返回模块605,被配置为将基准时间返回给虚拟服务器。

在一种可能的实现方式中,返回模块605,还被配置为获取已配置的第二路由规则;通过动态主机配置服务器,从第二路由规则中获取第一网络地址对应的第三网络地址,第三网络地址为虚拟服务器的网络地址;根据第三网络地址,向虚拟服务器返回基准时间。

在另一种可能的实现方式中,装置还包括:

第三配置模块,被配置为在第一物理服务器中配置网络时间协议服务器和网络时间协议客户端;

第一同步模块,被配置为通过网络时间协议客户端与时间服务器经由外部网络进行时间同步;

第二同步模块,被配置为通过网络时间协议服务器,经由内部网络与第一服务器集群中的第二物理服务器以及第二服务器集群中的第三物理服务器进行时间同步,第二物理服务器为第一物理服务器的冗余服务器,第三物理服务器为虚拟服务器提供硬件资源的服务器。

在另一种可能的实现方式中,第一同步模块,还被配置为通过网络时间协议客户端经由外部网络周期性的向时间同步服务器的网路时间协议服务器发送第二时间同步请求;接收时间同步服务器经由外部网络返回的基准时间,根据基准时间进行时间同步。

在另一种可能的实现方式中,第二同步模块,还被配置为通过网络时间协议服务器接收第二物理服务器内的网络时间协议客户端经由内部网络发送的第三时间同步请求,通过网络时间协议服务器向第二物理服务器返回基准时间;通过网络时间协议服务器接收第三物理服务器内的网络时间协议客户端经由内部网络发送的第四时间同步请求,通过网络时间协议服务器向第三物理服务器返回基准时间。

在另一种可能的实现方式中,装置还包括:

第三同步模块,被配置为将第一物理服务器的配置信息,周期性的同步到配置服务器,配置服务器用于当第一物理服务器发生故障时,从第一服务器集群中选择一个第二物理服务器,将配置信息同步至选择的第二物理服务器。

通过创建模块601在第一物理服务器中创建网络命名空间,第一配置模块602在网络命名空间中配置动态主机配置服务器,第二配置模块603,在命名空间中配置网络时间协议服务器,通过网络时间协议服务器监听第二网络地址对应的请求接收端口,第二获取模块604当监听到虚拟服务器发送的第一时间同步请求时,获取基准时间,返回模块605将基准时间返回给虚拟服务器,从而不需要虚拟服务器通过与其驻留的物理服务器之间打通网络来进行时间同步,保证了虚拟服务器的网络安全,且不会发生驻留服务器时间跳变影响虚拟服务器的情况。

图7是本发明实施例提供的一种服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processingunits,CPU)701和一个或一个以上的存储器702,其中,所述存储器702中存储有至少一条指令,所述至少一条指令由所述处理器701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。

本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,该指令、该程序、该代码集或该指令集由处理器加载并执行以实现上述实施例的时间同步方法中的步骤。

本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,实现上述时间同步方法的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。

关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中执行了详细描述,此处将不做详细阐述说明。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

22页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种TDMA无线自组网时钟同步搜索的方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!