终端时间的设置方法及装置制造方法

文档序号:7804156阅读:359来源:国知局
终端时间的设置方法及装置制造方法
【专利摘要】本发明实施例公开了一种终端时间的设置方法及装置。其中,终端时间的设置方法包括:获取至少两个服务器的网络时间;根据所获取到的至少两个网络时间生成目标设置时间;基于所述目标设置时间对终端时间进行设置。本发明实施例提供的技术方案,能够实现在当因网络环境差而使得部分服务器的网络时间获取失败时,仍旧可以基于从其他服务器获取到的网络时间对终端时间进行对时,并且也可克服仅利用单个网络时间对终端时间进行对时时,如果网络时间受到恶意攻击而出现错误则会大大降低终端对时准确率的这一弊端。
【专利说明】终端时间的设置方法及装置
【技术领域】
[0001]本发明实施例涉及通信【技术领域】,尤其涉及一种终端时间的设置方法及装置。
【背景技术】
[0002]目前,智能手机、电脑、个人数字助理等终端被越来越多的用户所使用。终端通常具有与钟表或手表相同的功能,能够进行时间的设置和显示。用户可以实时查看和设置终端时间,以便安排日常出行活动。另外,安装在终端上的应用程序也可基于终端时间实现事件提醒功能。
[0003]从网络服务器中获取当前时间,是终端确定时间的方式之一。例如,在安卓(android)手机中,有一个自动对时的功能很方便且实用,是通过ntp (Network TimeProtocol,网络时间协议)从网络上的ntp服务器获取网络时间,然后更新手机时间。但是ntp服务器是公用的,且易受到攻击,且需要联网才可以访问,所以时常出现获取的网络时间错误导致对时错误,体验很差。

【发明内容】

[0004]本发明实施例提供一种终端时间的设置方法及装置,以实现终端时间的精准对时,提升用户体验。
[0005]第一方面,本发明实施例提供了一种终端时间的设置方法,该方法包括:
[0006]获取至少两个服务器的网络时间;
[0007]根据所获取到的至少两个网络时间生成目标设置时间;
[0008]基于所述目标设置时间对终端时间进行设置。
[0009]第二方面,本发明实施例还提供了一种终端时间的设置装置,该装置包括:
[0010]网络时间获取单元,用于获取至少两个服务器的网络时间;
[0011]目标设置时间生成单元,用于根据所获取到的至少两个网络时间生成目标设置时间;
[0012]终端时间设置单元,用于基于所述目标设置时间对终端时间进行设置。
[0013]本发明实施例提供的技术方案,能够实现从多个服务器来获取网络时间,从而可以根据所获取的多个网络时间得到一个目标设置时间来设置终端时间,因此当因网络环境差而使得部分服务器的网络时间获取失败时,仍旧可以基于从其他服务器获取到的网络时间对终端时间进行对时,并且也可克服仅利用单个网络时间对终端时间进行对时时,如果网络时间受到恶意攻击而出现错误则会大大降低终端对时准确率的这一弊端。
【专利附图】

【附图说明】
[0014]图1是本发明实施例一提供的一种终端时间的设置方法的流程示意图;
[0015]图2是本发明实施例二提供的一种终端时间的设置方法的流程示意图;
[0016]图3是本发明实施例二提供的一种终端时间轴示意图;[0017]图4是本发明实施例三提供的一种终端时间的设置装置的结构示意图。
【具体实施方式】
[0018]下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
[0019]为更清楚的阐述本发明实施例提供的技术方案,现对本发明实施例所述的终端时间进行具体解释。本发明实施例中的终端时间指的是终端上操作系统的时间,是以终端本地时钟为基准产生的一个时间。终端本地时钟在终端上电时便开始计时工作,实时产生并显示一个变化着的终端时间。该终端时间可以被进行设置,然后终端本地时钟根据所设置的终端时间重新进行计时,产生并显示新设置的终端时间。
[0020]实施例一
[0021]图1是本发明实施例一提供的一种终端时间的设置方法的流程示意图。本实施例可适用于利用服务器提供的网络时间来对终端时间进行校时的情况,该方法可以由终端时间的设置装置来执行,所述装置由软件和/或硬件实现。所述装置可以被内置在终端内部,也可作为能够与终端进行数据通信的产品而独立存在。参见图1,该方法具体包括如下步骤:
[0022]110、获取至少两个服务器的网络时间。
[0023]在本实施例中,获取至少两个服务器的网络时间,可具体为:以轮询方式或并行方式向多个服务器发起访问请求;接收多个服务器根据访问请求返回的网络时间。
[0024]其中,所谓以轮询方式向多个服务器发起访问请求指的是:按照设定的对多个服务器的访问时间,异步向多个服务器发起访问请求;所谓以并行方式向多个服务器发起访问请求指的是:同时向多个服务器发起访问请求。
[0025]接收访问请求的服务器是为终端时间与当前的实际时间同步化的一种设备,该设备能够根据访问请求返回一个与当前的实际时间同步的网络时间。优选的,所述服务器为ntp服务器。
[0026]120、根据所获取到的至少两个网络时间生成目标设置时间。
[0027]在本实施例中,可直接对所获取到的各个网络时间按照设定的计算方法,计算得到一个目标设置时间。具体的,可直接计算所获取到的各个网络时间的平均值,将该平均值作为目标设置时间;或者,对所获取到的各个网络时间进行加权得到目标设置时间。其中,各个网络时间的加权系数可为基于本地历史统计数据得到的对各个服务器的信任度,获取到的所有网络时间的加权系数之和应为I。例如,共获取到三个服务器的网络时间,第一个服务器的网络时间A的加权系数为对第一个服务器的信任度0.5,第二个服务器的网络时间B的加权系数为对第二个服务器的信任度0.3,第三个服务器的网络时间C的加权系数为第对三个服务器的信任度0.2,目标设置时间为:0.5A+0.3B+0.2C。
[0028]考虑到本实施例是在获取到各个网络时间之后,才根据所获取到的多个网络时间生成目标设置时间,因此获取到各个网络时间时的终端时间与生成目标设置时间时的终端时间之间会有一定间隔。并且,以轮询方式向多个服务器发起访问请求时,获取到各个网络时间时的终端时间会有所不同;以并行方式向多个服务器发起访问请求时,由于各个服务器性能和所处网络环境的不同,获取到各个网络时间时的终端时间也会有所不同。
[0029]因此,为了实现终端时间的精准对时,在获取到各个网络时间之后,还可进一步分别确定当前的终端时间与获取到各个网络时间时的终端时间之间的时间间隔,根据所确定的时间间隔和所获取到的各个网络时间得到多个当前时间,进而将得到的多个当前时间取平均值或加权计算得到目标设置时间。由于获取到的多个网络时间之间可能存在差异,所以以网络时间为基准所确定的当前时间也可能是不相同的,可根据设定策略将多个当前时间进行处理,以确定目标设置时间。
[0030]130、基于所述目标设置时间对终端时间进行设置。
[0031]在根据所获取到的至少两个网络时间生成目标设置时间之后,可直接将当前的终端时间设置为所生成的目标设置时间。在目标设置时间是根据上述将得到的多个当前时间取平均值或加权计算得到的情况下,还可先计算将得到的多个当前时间取平均值或加权计算得到目标设置时间所耗费的时长,根据将目标设置时间与所述时长相加得到的时间值对当前的终端时间进行设置。
[0032]本发明实施例提供的技术方案,能够实现从多个服务器来获取网络时间,从而可以根据所获取的多个网络时间得到一个目标设置时间来设置终端时间,因此当因网络环境差而使得部分服务器的网络时间获取失败时,仍旧可以基于从其他服务器获取到的网络时间对终端时间进行对时,并且也可克服仅利用单个网络时间对终端时间进行对时时,如果网络时间受到恶意攻击而出现错误则会大大降低终端对时准确率的这一弊端。
[0033]实施例二
[0034]图2是本发明实施例二提供的一种终端时间的设置方法的流程示意图,本实施例在上述各实施例的基础上,将根据所获取到的至少两个网络时间生成目标设置时间和基于所述目标设置时间对终端时间进行设置这两个步骤作进一步优化。参见图2,该方法包括如下步骤:
[0035]210、获取至少两个服务器的网络时间。
[0036]220、确定与所获取到的各个网络时间对应的各个当前时间。
[0037]在本实施例中,可按照公式CurrTimei = NetTimei+Δ Ti,确定与所获取到的各个网络时间对应的各个当前时间。其中,CurrTimei为第i个当前时间,NetTimei为所获取到的第i个网络时间,ATi为当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔,i为I至获取到的网络时间个数的自然数。
[0038]其中,所述当前终端时间为在获取到至少两个服务器的网络时间之后,要执行所述确定与所获取到的各个网络时间对应的各个当前时间这一步骤时当前的终端时间,终端获取时间ATi为获取到第i个网络时间时的终端时间。而所述各个当前时间是以所获取到的各个网络时间为基准所确定的时间。
[0039]进一步的,当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔的计算方法,可具体为:计算获取到第i个网络时间的终端获取时间与设定的参考终端时间之间的第二时间间隔;计算所述当前终端时间与设定的参考终端时间之间的第一时间间隔;将第二时间间隔与第一时间间隔之差作为当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔Λ凡。
[0040]在本实施例的一个优选的实施方式中,上述设定的参考终端时间为终端系统启动时间。所述终端系统启动时间指的是本次终端开机时的终端时间。因此,在确定与所获取至IJ的各个网络时间对应的各个当前时间之前,还包括:
[0041]检测获取到第i个网络时间的终端获取时间与终端系统启动时间之间的时间间隔 ATli ;
[0042]检测所述当前终端时间与终端系统启动时间之间的时间间隔AT2i ;
[0043]按照公式ATi= ATZ1-ATli,计算所述当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔Λ凡。
[0044]230、对所确定的至少两个当前时间进行筛选,根据筛选得到的当前时间生成目标设置时间。
[0045]在本实施例的一个【具体实施方式】中,在确定与所获取到的各个网络时间对应的各个当前时间之后,计算所确定的各个当前时间之间的差值,根据所述差值和设定的容错时长对所确定的当前时间进行筛选;将筛选得到的各个当前时间的平均值作为目标设置时间。
[0046]其中,根据所述差值和设定的容错时长对所确定的当前时间进行筛选,可具体包括:如果某个当前时间与其他N个当前时间的差值均大于设定的容错时长,则删除该当前时间,其中N为设定的数量阈值。
[0047]当然,还可根据其他方式对所确定的至少两个当前时间进行筛选,例如直接删除所确定的至少两个当前时间中最大的当前时间和最小的当前时间。将筛选得到的各个当前时间进行加权得到目标设置时间。加权系数可根据网络时间对应的服务器的信任度确定。
[0048]240、计算执行对所确定的当前时间进行筛选以及根据筛选得到的当前时间生成目标设置时间所花费的时长。
[0049]在本实施例中,在生成目标设置时间之后,可再次检测当前的终端时间与终端系统启动时间之间的时间间隔,将此时间间隔与上述执行检测所述当前终端时间与终端系统启动时间之间的时间间隔AT2i的差值作为执行对所确定的当前时间进行筛选以及根据筛选得到的当前时间生成目标设置时间所花费的时长。
[0050]250、将目标设置时间与计算得到的时长相加得到新的目标设置时间,设置终端时间为新的目标设置时间。
[0051]为更清楚的阐述本实施例所述的方法,现以根据获取到的三个ntp服务器的网络时间,来对安装有安卓操作系统的智能手机时间进行设置为例进行说明。该设置过程包括:
[0052]获取三个ntp服务器的网络时间;
[0053]如果获取到第一个ntp服务器的网络时间ntpTime_A时,通过调用SystemClock.elapsedRealtime O函数检测当前的终端时间与终端系统启动时间之间的时间间隔elapsedTime—A ;
[0054]如果获取到第二个ntp服务器的网络时间ntpTime_B时,通过调用SystemClock.elapsedRealtime O函数检测当前的终端时间与终端系统启动时间之间的时间间隔elapsedTime—B ;
[0055]如果获取到第三个ntp服务器的网络时间ntpTime_C时,通过调用SystemClock.elapsedRealtime O函数检测当前的终端时间与终端系统启动时间之间的时间间隔elapsedTime_C ;
[0056]在获取到三个ntp服务器的网络时间之后,通过调用SystemClock.elapsedRealtime O,检测当前的终端时间与终端系统启动时间的时间间隔current_ElapsedTime,然后按照第一个ntp服务器的网络时间ntpTime_A计算出第一个当前时间currTime_A,按照第二个ntp服务器的网络时间ntpTime_B计算出第二个当前时间currTime_B,按照第三个ntp服务器的网络时间ntpTime_C计算出第三个当前时间 currTime_C,其中第一个当前时间 currTime_A = ntpT ime_A+ (current_ElapsedTime-elapsedTime_A),第二个当前时间 currTime_B = ntpTime_B+ (current_ElapsedTime-elapsedTime_B),第三个当前时间 currTime_C = ntpTime_C+ (current_ElapsedTime-elapsedTime_C);
[0057]基于设定的筛选策略删除上述三个当前时间中的无效当前时间;
[0058]基于设定的加权策略将筛选后的当前时间进行加权,以得到目标设置时间;
[0059]通过调用函数SystemClock.setCurrentTimeMi Ilis (currTime+SystemClock.elapsedRealtime O -current_ElapsedTime),将终端时间设置为:currTime+SystemClock.elapsedRealtimeO-current_ElapsedTime。
[0060]其中,上述设定的删除策略可具体为:
[0061]设定一个容错时长timeErrorThreshold,分别计算出 currTime_A、currTime_B之间的时间差 time_A_B, currTime_B> currTime_C 之间的时间差 time_B_C, currTime_A>currTime_C 之间的时间差 t ime_A_C ;
[0062]如果time_B_C、time_A_C 均大于 timeErrorThreshold,而 time_A_B 小于timeErrorThreshold,则判断currTime_C误差比较大,为无效当前时间,将currTime_C删除掉。
[0063]图3是本发明实施例二提供的一种终端时间轴示意图。参见图3:
[0064]终端时间轴起始点O处为终端此次开机时的终端时间;
[0065]在第一个时间节点01处:获取到第一个ntp服务器的网络时间ntpTime_A,检测当前的终端时间01与终端系统启动时间O之间的第一时间间隔310 ;
[0066]在第二个时间节点02处:获取到第二个ntp服务器的网络时间ntpTime_B,检测当前的终端时间02与终端系统启动时间O之间的第二时间间隔320 ;
[0067]在第三个时间节点03处:获取到第三个ntp服务器的网络时间ntpTime_C,检测当前的终端时间03与终端系统启动时间O之间的第三时间间隔330 ;
[0068]在第四个时间节点04处:检测当前的终端时间04与终端系统启动时间O的第四时间间隔340 ;
[0069] 计算当前的终端时间04与获取到第一个ntp服务器网络时间ntpTime_A的终端获取时间01之间的第五时间间隔350 (即第四时间间隔340与第一时间间隔310的差值),将第一个ntp服务器的网络时间社口了加匕八与第五时间间隔350之和确定为第一个当前时间;
[0070]计算当前的终端时间04与获取到第二个ntp服务器网络时间ntpTime_B的的终端获取时间02之间的第六时间间隔360(即第四时间间隔340与第二时间间隔320的差值),将第二个ntp服务器的网络时间社?111116_8与第六时间间隔360之和确定为第二个当前时间;
[0071]计算当前的终端时间04与获取到第三个ntp服务器网络时间ntpTime_C的终端获取时间03之间的第七时间间隔370 (即第四时间间隔340与第三时间间隔330的差值),将第三个ntp服务器的网络时间ntpTime_C与第七时间间隔370之和确定为第三个当前时间;
[0072]在第四个时间节点04处与第五个时间节点05处之间的第八时间间隔380内:对所确定的各个当前时间进行筛选,根据筛选得到的当前时间生成目标设置时间;
[0073]在第五个时间节点05处:将终端时间设置为目标设置时间与第四个时间节点04处和第五个时间节点05处之间的第八时间间隔380的和。
[0074]本实施例提供的技术方案,并不是直接将获取到的网络时间进行筛选和平均处理得到目标设置时间,而是将当前的终端时间与获取到各个网络时间的终端获取时间之间的时间间隔,以及执行对所确定的当前时间进行筛选以及根据筛选得到的当前时间生成目标设置时间所耗费的时长,这两个时间间隔因素一并考虑在内,最终由所获取的网络时间和所述时间间隔因素来共同确定新的目标设置时间对终端时间进行设置。显然,这样的设置方式能够大大提高对终端时间校时的精确度,提升用户体验。
[0075]实施例四
[0076]图4是本发明实施例三提供的一种终端时间的设置装置的结构示意图,本实施例可适用于利用服务器提供的网络时间来对终端时间进行校时的情况。参见图4,该装置的具体结构如下:
[0077]网络时间获取单元410,用于获取至少两个服务器的网络时间;
[0078]目标设置时间生成单元420,用于根据所获取到的至少两个网络时间生成目标设置时间;
[0079]终端时间设置单元430,用于基于所述目标设置时间对终端时间进行设置。
[0080]进一步的,目标设置时间生成单元420,包括:
[0081]当前时间确定子单元4201,用于按照公式CurrTimei = NetTimei+Δ Ti,确定与所获取到的各个网络时间对应的各个当前时间,其中CurrTimei为第i个当前时间,NetTimei为所获取到的第i个网络时间,ATi为当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔,i为I至获取到的网络时间个数的自然数;
[0082]当前时间处理子单元4202,用于对所确定的至少两个当前时间进行筛选,根据筛选得到的当前时间生成目标设置时间。
[0083]进一步的,目标设置时间生成单元420还包括时间间隔计算子单元4200,用于在当前时间确定子单元4201确定与所获取到的各个网络时间对应的各个当前时间之前:
[0084]检测获取到第i个网络时间的终端获取时间与终端系统启动时间之间的时间间隔 ATli ;
[0085]检测所述当前终端时间与终端系统启动时间之间的时间间隔AT2i;
[0086]按照公式ATi= ATZ1-ATli,计算所述当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔Λ凡。
[0087]进一步的,当前时间处理子单元4202,具体用于:
[0088]计算所确定的各个当前时间之间的差值,根据所述差值和设定的容错时长对所确定的当前时间进行筛选;
[0089]将筛选得到的各个当前时间的平均值作为目标设置时间。
[0090]在上述技术方案的基础上,终端时间设置单元430,具体用于:
[0091]计算执行对所确定的当前时间进行筛选以及根据筛选得到的当前时间生成目标设置时间所花费的时长;
[0092]将所述目标设置时间与计算得到的时长相加得到新的目标设置时间,设置终端时间为所述新的目标设置时间。
[0093]上述产品可执行本发明任意实施例所提供的方法,具备执行方法相应的功能模块和有益效果。
[0094]注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
【权利要求】
1.一种终端时间的设置方法,其特征在于,包括: 获取至少两个服务器的网络时间; 根据所获取到的至少两个网络时间生成目标设置时间; 基于所述目标设置时间对终端时间进行设置。
2.根据权利要求1所述的终端时间的设置方法,其特征在于,根据所获取到的至少两个网络时间生成目标设置时间,包括: 按照公式CurrTimei = NetTimei+Δ Ti,确定与所获取到的各个网络时间对应的各个当前时间,其中CurrTimei为第i个当前时间,NetTimei为所获取到的第i个网络时间,ATi为当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔,i为I至获取到的网络时间个数的自然数; 对所确定的至少两个当前时间进行筛选,根据筛选得到的当前时间生成目标设置时间。
3.根据权利要求2所述的终端时间的设置方法,其特征在于,在确定与所获取到的各个网络时间对应的各个当前时间之前,还包括: 检测获取到第i个网 络时间的终端获取时间与终端系统启动时间之间的时间间隔ATli ; 检测所述当前终端时间与终端系统启动时间之间的时间间隔AT2i ; 按照公式ATi= ATZ1-ATli,计算所述当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔Λ凡。
4.根据权利要求2所述的终端时间的设置方法,其特征在于,对所确定的至少两个当前时间进行筛选,根据筛选得到的当前时间生成目标设置时间,包括: 计算所确定的各个当前时间之间的差值,根据所述差值和设定的容错时长对所确定的当前时间进行筛选; 将筛选得到的各个当前时间的平均值作为目标设置时间。
5.根据权利要求2-4中任一项所述的终端时间的设置方法,其特征在于,基于所述目标设置时间对终端时间进行设置,包括: 计算执行对所确定的当前时间进行筛选以及根据筛选得到的当前时间生成目标设置时间所花费的时长; 将所述目标设置时间与计算得到的时长相加得到新的目标设置时间,设置终端时间为所述新的目标设置时间。
6.一种终端时间的设置装置,其特征在于,包括: 网络时间获取单元,用于获取至少两个服务器的网络时间; 目标设置时间生成单元,用于根据所获取到的至少两个网络时间生成目标设置时间; 终端时间设置单元,用于基于所述目标设置时间对终端时间进行设置。
7.根据权利要求6所述的终端时间的设置装置,其特征在于,所述目标设置时间生成单元,包括: 当前时间确定子单元,用于按照公式CurrTimei = NetTimei+Δ Ti,确定与所获取到的各个网络时间对应的各个当前时间,其中CurrTimei为第i个当前时间,NetTimei为所获取到的第i个网络时间,ATi为当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔,i为I至获取到的网络时间个数的自然数; 当前时间处理子单元,用于对所确定的至少两个当前时间进行筛选,根据筛选得到的当前时间生成目标设置时间。
8.根据权利要求7所述的终端时间的设置装置,其特征在于,所述目标设置时间生成单元还包括时间间隔计算子单元,用于在所述当前时间确定子单元确定与所获取到的各个网络时间对应的各个当前时间之前: 检测获取到第i个网络时间的终端获取时间与终端系统启动时间之间的时间间隔ATli ; 检测所述当前终端时间与终端系统启动时间之间的时间间隔AT2i ; 按照公式ATi= ATZ1-ATli,计算所述当前终端时间与获取到第i个网络时间的终端获取时间之间的时间间隔Λ凡。
9.根据权利要求7所述的终端时间的设置装置,其特征在于,所述当前时间处理子单元,具体用于: 计算所确定的各个当前时间之间的差值,根据所述差值和设定的容错时长对所确定的当前时间进行筛选; 将筛选得到的各个当前时间的平均值作为目标设置时间。
10.根据权利要求7-9中任一项所述的终端时间的设置装置,其特征在于,所述终端时间设置单元,具体用于: 计算执行对所确定的当前时间进行筛选以及根据筛选得到的当前时间生成目标设置时间所花费的时长 ; 将所述目标设置时间与计算得到的时长相加得到新的目标设置时间,设置终端时间为所述新的目标设置时间。
【文档编号】H04L29/08GK103973804SQ201410212112
【公开日】2014年8月6日 申请日期:2014年5月19日 优先权日:2014年5月19日
【发明者】郭江涛 申请人:广东欧珀移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1