电子设备、时间同步方法及模块技术

技术编号:18735344 阅读:14 留言:0更新日期:2018-08-22 04:19
本发明专利技术实施例涉及计算机软件技术领域,公开了一种电子设备、时间同步方法及模块。方法包括:时间差计算过程具体包括,向主节点发送时间获取请求,并记录时间获取请求的本地发送时间;接收主节点反馈的主节点时间,并记录主节点时间的本地接收时间;主节点反馈的主节点时间为在反馈时刻的主节点时间;根据本地发送时间、本地接收时间及反馈时刻的主节点时间,计算出从节点与主节点在反馈时刻的时间差;同步过程具体包括:获取当前时刻的本地时间;根据当前时刻的本地时间与时间差,计算出当前时刻的主节点时间。本发明专利技术使得分布式应用依靠自身实现时间同步,可以避免由于机器系统时间不一致导致分布式应用获取的时间不一致而影响业务处理的问题。

【技术实现步骤摘要】
电子设备、时间同步方法及模块
本专利技术实施例涉及计算机软件
,特别涉及电子设备、时间同步方法及模块。
技术介绍
随着技术的发展,分布式架构的应用已经越来越普及。在分布式部署架构中,每个分布式应用(以下简称组件)获取当前时间都是直接获取该分布式应用所部署的机器的系统时间。为了保证分布式部署的组件在同一时刻可以获取到相近或者一致的时间,就得实现部署这些组件的机器的系统时间一致或者相近;即部署这些组件的机器必须定时进行系统时间同步。专利技术人发现现有技术中至少存在如下问题:由于业务扩展或者是机器替换,如果新的机器没有做系统时间同步,导致与其他部署分布式组件的机器存在较大时间差,就会导致组件获取到的时间不一致,从而影响业务处理。
技术实现思路
本专利技术实施方式的目的在于提供一种电子设备、时间同步方法及模块,使得分布式应用可以依靠自身实现时间同步,而不需要依赖于分布式应用所在机器的系统时间,从而可以避免由于机器的系统时间不一致导致分布式应用获取到的时间不一致而影响业务处理的问题。为解决上述技术问题,本专利技术的实施方式提供了一种时间同步方法,包括应用于分布式系统中作为从节点的分布式应用,所述方法包括:时间差计算过程,具体包括,向所述分布式系统中作为主节点的分布式应用发送时间获取请求,并记录所述时间获取请求的本地发送时间;接收所述主节点反馈的主节点时间,并记录所述主节点时间的本地接收时间;其中所述主节点反馈的主节点时间为在反馈时刻的主节点时间;根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差;同步过程,具体包括,获取当前时刻的本地时间;根据所述当前时刻的本地时间与所述时间差,计算出所述当前时刻的主节点时间并将其作为所述从节点在所述当前时刻的同步时间。本专利技术的实施方式还提供了一种时间同步模块,包括:应用于分布式系统中作为从节点的分布式应用,所述模块包括:时间差计算子模块,具体包括,发送单元,用于向所述分布式系统中作为主节点的分布式应用发送时间获取请求,并记录所述时间获取请求的本地发送时间;接收单元,用于接收所述主节点反馈的主节点时间,并记录所述主节点时间的本地接收时间;其中所述主节点反馈的主节点时间为在反馈时刻的主节点时间;第一计算单元,用于根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差;同步子模块,具体包括:获取单元,用于获取当前时刻的本地时间;第二计算单元,用于根据所述当前时刻的本地时间与所述时间差,计算出所述当前时刻的主节点时间并将其作为所述从节点在所述当前时刻的同步时间。本专利技术的实施方式还提供了一种电子设备,包括:至少一个处理器;与所述至少一个处理器通信连接的存储器;以及,以指令形式存储在所述存储器中的分布式应用;其中,所述存储器内存储的表征所述分布式应用的指令能够被所述至少一个处理器执行,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述时间同步方法。本专利技术的实施方式还提供了计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述时间同步方法。本专利技术实施方式相对于现有技术而言,该方法应用于分布式系统中作为从节点的分布式应用;在时间差计算过程中,从节点计算出主节点与从节点在同一时刻的时间差;在同步过程中,从节点利用时间差计算过程中计算出的时间差和当前时刻的本地时间,计算出当前时刻的主节点时间并将其作为该从节点在该当前时刻的同步时间。本申请的技术方案中,作为从节点的分布式应用可以依靠自身从作为主节点的分布式应用获取与主节点一致的时间,即分布式应用可以依靠自身实现时间同步,而不需要依赖于分布式应用所在机器的系统时间,从而可以避免由于机器的系统时间不一致导致分布式应用获取到的时间不一致而影响业务处理的问题。另外,在所述根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差之前,还包括:根据所述本地发送时间与所述本地接收时间,计算出请求时长;判断所述请求时长是否超时;若所述请求时长未超时,则进入所述根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差的步骤。本实施例中,增加了对请求时长的判断,并只有在判定请求时长未超时的情况下才能计算时间差,可以避免请求延时太久导致接收的反馈时刻的主节点时间不准确的问题。另外,所述时间差计算过程被周期性地重复,以周期性地更新所述时间差;并且,在所述从节点需要获取同步时间时进入所述同步过程。本实施例中,定时更新时间差可以使得后续同步过程计算出的时间一致性较好;并且,由于只有在需要获取同步时间时进入所述同步过程,即时间差计算过程和同步过程互不影响,时间差计算过程定时更新时间差,因此当需要获取同步时间时,即可获取到最近更新的时间差,进而快速计算出同步时间。另外,所述时间差D的计算方式为,D=T2-(T1+T3)/2;其中,T1表示所述本地发送时间,T2表示所述反馈时刻的主节点时间,T3表示所述本地接收时间;所述当前时刻的主节点时间T6的计算方式为,T6=T5+D;其中,T5表示所述当前时刻的本地时间。本实施例提供了一种具体计算方式。另外,所述主节点为所述分布式系统中具有配置参数管理功能的分布式应用。本实施例提供了主节点的一种选取方式。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1A是根据本申请第一实施例的时间同步方法的流程图;图1B是根据本申请第一实施例的时间同步方法中各时间点的示意图;图2是根据本申请第二实施例的时间同步方法的流程图;图3是根据本申请第三实施例的时间同步模块的方框图;图4是根据本申请第四实施例的时间同步模块的方框图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。本专利技术的第一实施方式涉及一种时间同步方法,应用于分布式系统中作为从节点的分布式应用。具体而言,分布式系统包括多个分布式应用,每个分布式应用部署在一个机器(例如服务器或者终端)上,本实施例中将分布式系统中具有配置参数管理功能的分布式应用设定为主节点,其他分布式应用设定为主节点;每个从节点均从主节点处进行时间同步。请同时参考图1A和图1B,图1A为本实施例的时间同步方法的流程图,其中,时间同步方法包括时间差计算过程(步骤101至步骤103)和同步过程(步骤104和步骤105);图1B为时间同步方法中各时间点的示意图。步骤101:向主节点发送时间获取请求,并记录时间获取请求的本地发送时间。即,主节点提供时间接口给各从节点调用。从节点向主节点发送时间获取请求,并且,从节点记录时间获取请求的本地发送时间T1本文档来自技高网...

【技术保护点】
1.一种时间同步方法,其特征在于,应用于分布式系统中作为从节点的分布式应用,所述方法包括:时间差计算过程,具体包括,向所述分布式系统中作为主节点的分布式应用发送时间获取请求,并记录所述时间获取请求的本地发送时间;接收所述主节点反馈的主节点时间,并记录所述主节点时间的本地接收时间;其中所述主节点反馈的主节点时间为在反馈时刻的主节点时间;根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差;同步过程,具体包括,获取当前时刻的本地时间;根据所述当前时刻的本地时间与所述时间差,计算出所述当前时刻的主节点时间并将其作为所述从节点在所述当前时刻的同步时间。

【技术特征摘要】
1.一种时间同步方法,其特征在于,应用于分布式系统中作为从节点的分布式应用,所述方法包括:时间差计算过程,具体包括,向所述分布式系统中作为主节点的分布式应用发送时间获取请求,并记录所述时间获取请求的本地发送时间;接收所述主节点反馈的主节点时间,并记录所述主节点时间的本地接收时间;其中所述主节点反馈的主节点时间为在反馈时刻的主节点时间;根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差;同步过程,具体包括,获取当前时刻的本地时间;根据所述当前时刻的本地时间与所述时间差,计算出所述当前时刻的主节点时间并将其作为所述从节点在所述当前时刻的同步时间。2.根据权利要求1所述的时间同步方法,其特征在于,在所述根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差之前,还包括:根据所述本地发送时间与所述本地接收时间,计算出请求时长;判断所述请求时长是否超时;若所述请求时长未超时,则进入所述根据所述本地发送时间、所述本地接收时间及所述反馈时刻的主节点时间,计算出所述从节点与所述主节点在所述反馈时刻的时间差的步骤。3.根据权利要求1所述的时间同步方法,其特征在于,所述时间差计算过程被周期性地重复,以周期性地更新所述时间差;并且,在所述从节点需要获取同步时间时进入所述同步过程。4.根据权利要求1至3中任一项所述的时间同步方法,其特征在于,所述时间差D的计算方式为,D=T2-(T1+T3)/2;其中,T1表示所述本地发送时间,T2表示所述反馈时刻的主节点时间,T3表示所述本地接收时间;所述当前时刻的主节点时间T6的计算方式为,T6=T5+D;其中,T5表示所述当前时刻的本地时间。5.根据权利要求1所述的时间同步方法,其特征在于,所述主节点为所述分布式系统中具有配置参数管理功能的分布式应用。6.一种时间同步模块,其特征在于,应用于分布式系统中作为从节点的分布式应用,所述模块:时间差计算子模块,具体包括,发送单元,用于向所述分布式系统中作为主节点的分布式应用发送时间获取请求,并记录所述时间获取请求的本地发送时间;接...

【专利技术属性】
技术研发人员:陈青龙
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1