时间同步方法、装置、可读存储介质和电子设备与流程

文档序号:15978606发布日期:2018-11-17 00:03阅读:157来源:国知局

本公开涉及计算机领域,具体地,涉及一种时间同步方法、装置、可读存储介质和电子设备。

背景技术

目前,企业用户运维中,大多数都会关注服务器系统时间的统一性,而系统时间的统一性基本都是通过网络时间协议(networktimeprotocol,ntp)服务器实现的。由于系统时间的偏离每天都在进行着微妙的变化,所以目前都是通过人工来定期检测客户端服务器的系统时间与ntp服务器时间之间的偏离情况,然后通过人工纠正,来保证所有客户端服务器的系统时间的准确性。由于基本上所有的环节都需要运维人员的全程关注与参与,所以降低了系统时间同步的响应速度和处理速度,增加了人工成本。



技术实现要素:

本公开的发明人发现,自动化运维工具使得企业运维人员能够对多个操作系统进行统一的管理。如果能够将自动化运维工具应用在ntp服务器与ntp客户端之间的时间同步上,那么将是非常有利的。

因此,本公开的目的是提供一种时间同步方法、装置、可读存储介质和电子设备,能够自动化地保障客户端服务器的系统时间同步,增加了系统时间同步的响应速度和处理速度以及自动化程度,降低了人工成本。

根据本公开的第一实施例,提供一种时间同步方法,该方法包括:自动获取部署的网络时间协议ntp服务器与上游时间服务器之间的第一时间偏离;在所述第一时间偏离满足预设时间偏离规则时,自动将所述ntp服务器的时间与所述上游时间服务器的时间进行同步;自动获取部署的ntp客户端与时间同步后的所述ntp服务器之间的第二时间偏离;在所述第二时间偏离满足所述预设时间偏离规则时,自动将所述ntp客户端的时间与时间同步后的所述ntp服务器的时间进行同步。

可选地,所述自动获取部署的网络时间协议ntp服务器与上游时间服务器之间的第一时间偏离的步骤以及所述自动获取部署的ntp客户端与时间同步后的所述ntp服务器之间的第二时间偏离的步骤通过利用任务调度框架调用时间偏离抓取命令来实现。

可选地,所述任务调度框架为quartz框架。

可选地,该方法还包括:记录关于所述第一时间偏离、所述第二时间偏离以及所执行的同步操作的日志;和/或向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。

可选地,所述向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息,包括:通过社交软件和/或手机短信的方式向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。

根据本公开的第二实施例,提供一种时间同步装置,该装置包括:第一时间偏离获取模块,用于自动获取部署的网络时间协议ntp服务器与上游时间服务器之间的第一时间偏离;第一时间同步模块,用于在所述第一时间偏离满足预设时间偏离规则时,自动将所述ntp服务器的时间与所述上游时间服务器的时间进行同步;第二时间偏离获取模块,用于自动获取部署的ntp客户端与时间同步后的所述ntp服务器之间的第二时间偏离;第二时间同步模块,用于在所述第二时间偏离满足所述预设时间偏离规则时,自动将所述ntp客户端的时间与时间同步后的所述ntp服务器的时间进行同步。

可选地,所述第一时间偏离获取模块以及所述第二时间偏离获取模块通过利用任务调度框架调用时间偏离抓取命令来分别实现所述第一时间偏离和所述第二时间偏离的自动获取。

可选地,所述任务调度框架为quartz框架。

可选地,该装置还包括:记录模块,用于记录关于所述第一时间偏离、所述第二时间偏离以及所执行的同步操作的日志;和/或通知模块,用于向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。

可选地,所述通知模块还用于通过社交软件和/或手机短信的方式向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。

根据本公开的第三实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现根据本公开第一实施例所述方法的步骤。

根据本公开的第四实施例,提供一种电子设备,包括:存储器,其上存储有计算机程序;处理器,用于执行所述存储器中的所述计算机程序,以实现根据本公开第一实施例所述方法的步骤。

通过采用上述技术方案,由于ntp服务器与上游时间服务器之间的时间偏离、ntp客户端与ntp服务器之间的时间偏离都是自动获取的,ntp服务器与上游时间服务器之间的时间同步、ntp客户端与ntp服务器之间的时间同步也都是自动实现的,所以能够自动化地保障企业客户的服务器的系统时间的同步,增加了系统时间同步的响应速度和处理速度以及自动化程度,降低了人工成本,确保了企业用户的服务器上的业务的平稳运行和数据的可靠性。本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:

图1是根据本公开的实施例所适用的场景的示意图。

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

图3是根据本公开又一实施例的时间同步方法的流程图。

图4是根据本公开一种实施例的时间同步装置的示意框图。

图5是根据本公开又一实施例的时间同步装置的示意框图。

图6是根据一示例性实施例示出的一种电子设备的框图。

图7是根据一示例性实施例示出的一种电子设备的框图。

具体实施方式

以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。

首先简单介绍一下自动化运维工具。自动化运维工具,是使得企业运维人员能够对多个操作系统进行统一管理的工具。根据本公开的各个实施例正是利用了这样的自动化运维工具来实现的。常见的自动化运维工具例如有saltstack、manageengine、ansible等等。

接下来描述根据本公开的实施例所适用的场景。如图1所示,在根据本公开的实施例所适用的场景中,具有一个ntp服务器和多个ntp客户端,它们实际上都属于企业客户的服务器,只是企业客户的需要进行时间自动同步的其中一个服务器被部署为ntp服务器,企业客户的需要进行时间自动同步的其他服务器被部署为ntp客户端,以便利用ntp服务器/ntp客户端的架构来实现企业客户的需要进行时间自动同步的服务器与上游时间服务器的时间自动同步,以保证企业客户的需要进行时间自动同步的服务器的系统时间的准确性。图1中的虚线表示,在ntp服务器/ntp客户端的架构中,ntp客户端的时间需要与ntp服务器的时间进行同步。

接下来描述根据本公开的各个实施例。

根据本公开的一种实施例,提供一种时间同步方法,如图2所示,该方法可以包括以下步骤s21至s24。

在步骤s21中,自动获取部署的ntp服务器与上游时间服务器之间的第一时间偏离。

其中,该步骤可以通过利用任务调度框架调用时间偏离抓取命令来实现。任务调度框架可以为例如quartz框架、jcrontab、timer、scheduledexecutor、myriad、schedulix、mossrose等等中的任意一者。

根据实际情况,第一时间偏离可以是部署的ntp服务器的时间超前于上游时间服务器的时间,也可以是部署的ntp服务器的时间延迟于上游时间服务器的时间。

在步骤s22中,在所述第一时间偏离满足预设时间偏离规则时,自动将所述ntp服务器的时间与所述上游时间服务器的时间进行同步。

其中,预设时间偏离规则可以包括例如,如果第一时间偏离大于第一时间偏离阈值(例如t1秒)则自动将ntp服务器的时间与上游时间服务器的时间进行同步。

在步骤s23中,自动获取部署的ntp客户端与时间同步后的所述ntp服务器之间的第二时间偏离。

其中,该步骤可以通过利用任务调度框架调用时间偏离抓取命令来实现。任务调度框架可以为例如quartz框架、jcrontab、timer、scheduledexecutor、myriad、schedulix、mossrose等等中的任意一者。

根据实际情况,第二时间偏离可以是部署的ntp客户端的时间超前于时间同步后的ntp服务器的时间,也可以是部署的ntp客户端的时间延迟于时间同步后的ntp服务器的时间。

在步骤s24中,在所述第二时间偏离满足所述预设时间偏离规则时,自动将所述ntp客户端的时间与时间同步后的所述ntp服务器的时间进行同步。

其中,预设时间偏离规则还可以包括例如,如果第二时间偏离大于第二时间偏离阈值(例如t2秒)则自动将ntp客户端的时间与时间同步后的ntp服务器的时间进行同步。另外,在本公开中,第一时间偏离阈值可以等于第二时间偏离阈值,也可以不等于第二时间偏离阈值。

通过采用上述技术方案,由于ntp服务器与上游时间服务器之间的时间偏离、ntp客户端与ntp服务器之间的时间偏离都是自动获取的,ntp服务器与上游时间服务器之间的时间同步、ntp客户端与ntp服务器之间的时间同步也都是自动实现的,所以能够自动化地保障企业客户的服务器的系统时间的同步,增加了系统时间同步的响应速度和处理速度以及自动化程度,降低了人工成本,确保了企业用户的服务器上的业务的平稳运行和数据的可靠性。

以下结合图1所示的场景、以采用saltstack自动化运维工具为例,来描述根据本公开实施例的时间同步方法的流程。

首先,在企业客户的需要进行时间自动同步的服务器之外的计算机上安装saltstack服务器端,在企业客户的需要进行时间自动同步的所有服务器上安装saltstack客户端。利用saltstack服务器端将安装了saltstack客户端的、需要进行时间自动同步的所有服务器中的其中一台服务器部署为ntp服务器,将安装了saltstack客户端的、需要进行时间自动同步的所有服务器中的其他服务器部署为ntp客户端。

然后,对ntp服务器和ntp客户端的时间进行初始化。也即saltstack服务器端会向ntp服务器上的saltstack客户端发送时间偏离抓取命令,然后ntp服务器上的saltstack客户端会基于时间偏离抓取命令来抓取ntp服务器与上游时间服务器之间的时间偏离并将抓取到的时间偏离返回给saltstack服务器端,saltstack服务器端将接收到的时间偏离与预设时间偏离规则进行匹配,如果确定ntp服务器与上游时间服务器之间的时间偏离满足预设时间偏离规则,则将ntp服务器的时间与上游时间服务器的时间进行同步。在完成了ntp服务器的时间同步之后,saltstack服务器端会向ntp客户端上的saltstack客户端发送时间偏离抓取命令,然后ntp客户端上的saltstack客户端会基于时间偏离抓取命令来抓取ntp客户端与ntp服务器之间的时间偏离并将抓取到的时间偏离返回给saltstack服务器端。由于有多个ntp客户端,所以这多个ntp客户端上的saltstack客户端返回给saltstack服务器端的时间偏离会以队列的形式被saltstack服务器端处理,处理方式与ntp服务器上的saltstack客户端返回给saltstack服务器端的时间偏离的处理方式类似,此处不再赘述。

在对ntp服务器和ntp客户端的时间进行初始化之后,saltstack服务器端会定期(例如每天)向ntp服务器和各个ntp客户端发送时间偏离抓取命令,以便抓取ntp服务器和各个ntp客户端的时间偏离情况,如果抓取到的时间偏离情况满足预设时间偏离规则,则对相应的ntp服务器或ntp客户端进行时间同步。但是,优选地是,先抓取ntp服务器的时间偏离情况并进行时间同步,之后再完成各个ntp客户端的时间偏离情况的抓取和同步,以确保时间同步的准确性。

图3示出了根据本公开又一实施例的时间同步方法的流程图。如图3所示,该方法在图2的基础上还包括步骤s25和s26。

在步骤s25中,记录关于所述第一时间偏离、所述第二时间偏离以及所执行的同步操作的日志。也即,会记录步骤s21至s24中的操作的日志,以便于运维人员查阅。

在步骤s26中,向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。也即,会向运维人员通知关于步骤s21至s24中的操作的信息,以便于运维人员实时掌握时间同步的信息。另外,在该步骤中,可以通过社交软件(例如微信、qq等)和/或手机短信的方式向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。

另外,需要说明的是,在本公开中,步骤s25、s26可以择一执行,可以先后执行或者同时执行。

图4示出了根据本公开一种实施例的时间同步装置的示意框图,如图4所示,该装置400可以包括:

第一时间偏离获取模块41,用于自动获取部署的网络时间协议ntp服务器与上游时间服务器之间的第一时间偏离;

第一时间同步模块42,用于在所述第一时间偏离满足预设时间偏离规则时,自动将所述ntp服务器的时间与所述上游时间服务器的时间进行同步;

第二时间偏离获取模块43,用于自动获取部署的ntp客户端与时间同步后的所述ntp服务器之间的第二时间偏离;

第二时间同步模块44,用于在所述第二时间偏离满足所述预设时间偏离规则时,自动将所述ntp客户端的时间与时间同步后的所述ntp服务器的时间进行同步。

通过采用上述技术方案,由于ntp服务器与上游时间服务器之间的时间偏离、ntp客户端与ntp服务器之间的时间偏离都是自动获取的,ntp服务器与上游时间服务器之间的时间同步、ntp客户端与ntp服务器之间的时间同步也都是自动实现的,所以能够自动化地保障企业客户的服务器的系统时间的同步,增加了系统时间同步的响应速度和处理速度以及自动化程度,降低了人工成本,确保了企业用户的服务器上的业务的平稳运行和数据的可靠性。

在一种可能的实施方式中,所述第一时间偏离获取模块41以及所述第二时间偏离获取模块43通过利用任务调度框架调用时间偏离抓取命令来分别实现所述第一时间偏离和所述第二时间偏离的自动获取。优选地,所述任务调度框架为quartz框架。

图5示出了根据本公开又一实施例的时间同步装置的示意框图,如图5所示,该装置400还可以包括:

记录模块45,用于记录关于所述第一时间偏离、所述第二时间偏离以及所执行的同步操作的日志;和/或

通知模块46,用于向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。

在一种可能的实施方式中,所述通知模块46还用于通过社交软件和/或手机短信的方式向运维人员通知关于所述第一时间偏离、所述第二时间偏离、所执行的同步操作的信息。

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

图6是根据一示例性实施例示出的一种电子设备700的框图。如图6所示,该电子设备700可以包括:处理器701,存储器702。该电子设备700还可以包括多媒体组件703,输入/输出(i/o)接口704,以及通信组件705中的一者或多者。

其中,处理器701用于控制该电子设备700的整体操作,以完成上述的时间同步方法中的全部或部分步骤。存储器702用于存储各种类型的数据以支持在该电子设备700的操作,这些数据例如可以包括用于在该电子设备700上操作的任何应用程序或方法的指令,以及应用程序相关的数据,例如联系人数据、收发的消息、图片、音频、视频等等。该存储器702可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,例如静态随机存取存储器(staticrandomaccessmemory,简称sram),电可擦除可编程只读存储器(electricallyerasableprogrammableread-onlymemory,简称eeprom),可擦除可编程只读存储器(erasableprogrammableread-onlymemory,简称eprom),可编程只读存储器(programmableread-onlymemory,简称prom),只读存储器(read-onlymemory,简称rom),磁存储器,快闪存储器,磁盘或光盘。多媒体组件703可以包括屏幕和音频组件。其中屏幕例如可以是触摸屏,音频组件用于输出和/或输入音频信号。例如,音频组件可以包括一个麦克风,麦克风用于接收外部音频信号。所接收的音频信号可以被进一步存储在存储器702或通过通信组件705发送。音频组件还包括至少一个扬声器,用于输出音频信号。i/o接口704为处理器701和其他接口模块之间提供接口,上述其他接口模块可以是键盘,鼠标,按钮等。这些按钮可以是虚拟按钮或者实体按钮。通信组件705用于该电子设备700与其他设备之间进行有线或无线通信。无线通信,例如wi-fi,蓝牙,近场通信(nearfieldcommunication,简称nfc),2g、3g或4g,或它们中的一种或几种的组合,因此相应的该通信组件705可以包括:wi-fi模块,蓝牙模块,nfc模块。

在一示例性实施例中,电子设备700可以被一个或多个应用专用集成电路(applicationspecificintegratedcircuit,简称asic)、数字信号处理器(digitalsignalprocessor,简称dsp)、数字信号处理设备(digitalsignalprocessingdevice,简称dspd)、可编程逻辑器件(programmablelogicdevice,简称pld)、现场可编程门阵列(fieldprogrammablegatearray,简称fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述的时间同步方法。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的时间同步方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器702,上述程序指令可由电子设备700的处理器701执行以完成上述的时间同步方法。

图7是根据一示例性实施例示出的一种电子设备1900的框图。例如,电子设备1900可以被提供为一服务器。参照图7,电子设备1900包括处理器1922,其数量可以为一个或多个,以及存储器1932,用于存储可由处理器1922执行的计算机程序。存储器1932中存储的计算机程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理器1922可以被配置为执行该计算机程序,以执行上述的时间同步方法。

另外,电子设备1900还可以包括电源组件1926和通信组件1950,该电源组件1926可以被配置为执行电子设备1900的电源管理,该通信组件1950可以被配置为实现电子设备1900的通信,例如,有线或无线通信。此外,该电子设备1900还可以包括输入/输出(i/o)接口1958。电子设备1900可以操作基于存储在存储器1932的操作系统,例如windowsservertm,macosxtm,unixtm,linuxtm等等。

在另一示例性实施例中,还提供了一种包括程序指令的计算机可读存储介质,该程序指令被处理器执行时实现上述的时间同步方法的步骤。例如,该计算机可读存储介质可以为上述包括程序指令的存储器1932,上述程序指令可由电子设备1900的处理器1922执行以完成上述的时间同步方法。

以上结合附图详细描述了本公开的优选实施方式,但是,本公开并不限于上述实施方式中的具体细节,在本公开的技术构思范围内,可以对本公开的技术方案进行多种简单变型,这些简单变型均属于本公开的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本公开对各种可能的组合方式不再另行说明。

此外,本公开的各种不同的实施方式之间也可以进行任意组合,只要其不违背本公开的思想,其同样应当视为本公开所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1