一种移动终端时间校正的方法及装置的制作方法

文档序号:7803649阅读:371来源:国知局
专利名称:一种移动终端时间校正的方法及装置的制作方法
技术领域
本发明属于移动终端技术领域,尤其涉及一种移动终端时间校正的方法及装置。
背景技术
随着无线通信技术的发展以及移动互联网时代的到来,以手机为代表的移动终端也越来越智能化,借助丰富的应用软件,智能手机就是一台微型计算机。不论是智能手机操作系统还是在操作系统的支持下运行的各类应用程序,都可以通过系统或应用所提供的日期格式、时间格式直接引用手机计时器所产生的日期、时间来实现相关数据或文件的处理与记录。一般来说,手机里面有一钮扣电池,当手机关机或取下电池时,通过钮扣电池为手机供电从而同步时间,当钮扣电池电力降低或耗尽时,就会出现日期、时间参数值归零或者设定混乱的情况,导致手机时间不能与标准时间同步;另外手机的时间来源是通过 RTC(real time clock,实时时钟)芯片来提供的,由于价格成本方面的原因,一般手机中的 RTC芯片不会使用最准确的时钟脉冲发生器,在一段时间之后,就会出现时间显示过快或过慢的情况,与标准时间产生误差,随着时间的延长,这种误差也会不断积累变大。随着手机的智能化发展,手机的功能越来越强大,对手机的时间安全性和精确性要求也越来越高,例如,移动支付可能需要使用移动终端对银行资金进行操作,往来登录时如果移动终端提取了错误的日期时间参数,则可能影响到用户的权益;再比如,用户通过手机制定了闹钟,如果手机时间不够准确的话,会耽搁用户时间,降低用户的使用体验。为了解决这一问题,在申请号为201010519952.6的专利申请中,通过向网络侧发送短信来接收回复短信,通过截取回复短信里携带的短信中心时间戳的当前时间设置所述移动终端的时间来校正时间,但这种方法需要在有网络的情况下手动发送短信来校正时间,而且受网络环境不稳定的影响,接受短信的时间可能存在较大的误差,因此,这种移动终端校正时间的方式操作不便,且准确性不高。

发明内容
本发明提供了一种移动终端时间校正的方法及装置,旨在解决现有技术中由于移动终端校正时间的方式操作不便且准确性不高的问题。本发明是这样实现的,一种移动终端时间校正的方法,包括步骤a 在一定周期内的固定间隔时间获取一定量的标准时间数据;步骤b 获取与每一个标准时间数据对应的系统时间数据,并根据标准时间数据与系统时间数据的误差值计算出当前标准时间;步骤c 根据当前标准时间更新RTC系统时间,并保存当前标准时间数据。本发明的技术方案还包括所述步骤a还包括判断是否需要校正时间数据,如果不需要校正时间数据,结束本次校正;如果需要校正时间数据,则建立网络连接,并判断网络连接是否成功,如果网络连接成功,则获取标准时间数据;如果网络连接没有成功,则判断是否继续校正时间数据。
本发明的技术方案还包括在所述步骤a中,所述获取标准时间数据的方式包括通过页面数据获取标准时间和通过短信息携带时间获取标准时间;所述通过页面数据获取标准时间具体为从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据;所述通过短信息携带时间获取标准时间具体为获取一定量的短信息携带的时间得到标准时间数据。
本发明的技术方案还包括所述步骤a与所述步骤b之间还包括判断RTC中是否存在系统时间数据,如果RTC中不存在系统时间数据,所述步骤b还包括直接将标准时间数据作为系统标准时间;如果RTC中存在系统时间数据,执行步骤b。
本发明的技术方案还包括在所述步骤b中,所述计算出当前标准时间的具体计算方法为在RTC系统时间t的固定时间间隔内获取n(n>= 10)个标准时间数据T ;用标准时间数据T减去对应的RTC系统时间t得到误差时间D,计算相邻两个误差时间D的相邻差Δ ,判断相邻差AD12、D23、…D(η_1)η中是否有特殊值,如果有特殊值,删除特殊值的前一个误差时间D ;如果没有特殊值,判断误差时间D是否超过允许值,如果误差时间D没有超过允许值,将RTC系统时间t加上该误差时间D作为当前标准时间;如果误差时间D超过允许值,将标准时间数据T直接作为当前标准时间。
本发明的技术方案还包括在所述步骤a中还包括在网络连接没有成功时判断是否继续校正时间数据,如果继续校正时间数据,所述步骤b中还包括根据有网络时的标准时间数据预测出当前标准时间;如果结束校正时间数据,则结束本次校正;其中,预测当前标准时间具体为计算网络中断前一段数据中删除特殊值之后的相邻差Δ 的平均值 AD ;计算对应的相邻RTC系统时间t的差Δ t ;每隔Δ t时间,就在该RTC系统时间上加上平均值校正一次。
本发明的另一技术方案,一种移动终端时间校正的装置,包括移动终端,所述移动终端还包括标准时间获取模块、系统时间获取模块、第一时间计算模块和时间更新模块,所述标准时间获取模块用于在一定周期内的固定间隔时间获取一定量的标准时间数据;所述系统时间获取模块用于获取与每一个标准时间数据对应的RTC中的系统时间数据;所述第一时间计算模块用于根据标准时间数据与系统时间数据的误差值计算出当前标准时间;所述时间更新模块用于根据当前标准时间更新RTC系统时间,并保存当前标准时间数据。
本发明的技术方案还包括还包括校正判断模块、网络模块、结束判断模块和第二时间计算模块,所述校正判断模块用于判断是否需要校正时间数据,如果需要校正时间数据,通过网络模块连接网络;如果不需要校正时间数据,则结束校正;所述网络模块用于建立网络连接,并判断网络连接是否成功,如果网络连接成功,通过标准时间获取模块获取标准时间数据;如果网络连接没有成功,通过结束判断模块判断是否继续校正时间数据;所述结束判断模块用于在没有网络时判断是否继续校正时间数据,如果继续校正时间数据, 通过第二时间计算模块预测当前标准时间;如果结束校正时间数据,则结束本次校正;所述第二时间计算模块用于根据有网络时的标准时间数据预测出当前标准时间。
本发明的技术方案还包括还包括系统时间判断模块,所述标准时间获取模块还包括页面数据获取单元和短信获取单元,所述系统时间判断模块用于判断RTC中是否存在系统时间数据,如果RTC中存在系统时间数据,通过系统时间获取模块获取标准时间数据对应的系统时间数据;如果RTC中不存在系统时间数据,通过第一时间计算模块将标准时间数据作为系统标准时间;所述页面数据获取单元用于从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据;所述短信获取单元用于通过获取一定量的短信息携带的时间得到标准时间数据。本发明的技术方案还包括所述第一时间计算模块计算当前标准时间的方法具体为在RTC系统时间t的固定时间间隔内获取n(n >= 10)个标准时间数据T,用标准时间数据T减去对应的RTC系统时间t得到误差时间D,计算相邻两个误差时间D的相邻差Δ D, 判断相邻差八D中是否有特殊值,如果有特殊值,删除特殊值的前一个误差时间D,如果没有特殊值,判断误差时间D是否超过允许值,如果误差时间D没有超过允许值,将RTC系统时间t加上该误差时间D作为当前标准时间;如果误差时间D超过允许值,将标准时间数据T直接作为当前标准时间;所述第二时间计算模块计算当前标准时间的方法具体为计算网络中断前一段数据中删除特殊值之后的相邻差AD的平均值^5;计算对应的相邻RTC 系统时间t的差At ;每隔At时间,就在该RTC系统时间上加上平均值校正一次。本发明的技术方案具有如下优点或有益效果本发明移动终端时间校正的方法及装置通过在一定周期内的固定间隔时间获取多个标准时间数据,并根据多个标准时间数据与系统时间数据的误差计算出当前标准时间,在一定时间内根据误差偏移大小对手机RTC 时间进行校正,使手机RTC时间保证在一定误差范围内,从而避免误差值由于累积而变大; 本发明还可以通过存储多个短信时间数据来统计得到标准时间与手机RTC时间的频率的变化量,避免了现有技术中单次短信息到达不及时或网络不稳定导致的标准时间数据不准确的问题;本发明在没有网络的情况下仍然可以利用有网络时的标准时间数据作出预测来进行时间校正,避免了现有技术中没有网络时无法更新时间的问题;本发明的实施无须手动输入,可自动获得准确度较高的时间数据,并且在无网络时仍可使用,大大提升用户的使用体验。


附图1是本发明第一实施例的移动终端时间校正的方法的流程图;附图2是本发明第二实施例的移动终端时间校正的方法的流程图;附图3是本发明获取标准时间数据的方法的工作原理图;附图4是本发明有网络时当前标准时间的计算方法的流程图;附图5是本发明没有网络时当前标准时间的计算方法的流程图;附图6是本发明第一实施例的移动终端时间校正的装置的结构示意图;附图7是本发明第二实施例的移动终端时间校正的装置的结构示意图。
具体实施例方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。请参阅图1,是本发明第一实施例的移动终端时间校正的方法的流程图。本发明第一实施例的移动终端时间校正的方法包括以下步骤步骤100 在一定周期内的固定间隔时间获取一定量的标准时间数据;
在步骤100中,本发明可以通过使用应用软件从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据(解析格式为yyyy-MM-dd HH:mm:ss);其中,由于是获取一定周期内的标准时间数据,因此需要选择每次获取标准时间的时机,由于RTC(即实时时钟,作用在于提供稳定的时钟信号给后续电路用,主要功能有时钟,日历,闹钟,周期性中断输出)虽然相对于标准时间显得“慢”或者 “快”,但是RTC提供的时间是稳定的,因此可以获取RTC中的时间来作为每次获取标准时间的时机,具体可由用户自定义设置;在本发明实施方式中,当手机系统时间间隔Ih便自动获取一次标准时间,标准时间数据的获取量也可由用户根据不同情况进行设定,本发明标准时间数据的获取量为10个。
另外,标准时间数据的获取方法很多,并不限于从服务器的时间服务器获得,在本发明的另一实施方式中,可通过获取一定量的短信息携带的时间得到标准时间数据,由于短信息携带的时间数据为运营商服务器的时间,因此也可以在每次检测到短信息到达时获取短信息携带的时间数据作为标准时间,同时,为了避免现有技术中由于单次短信息到达不及时或网络不稳定导致的标准时间数据不准确的问题,本发明不同于通过截取单次短信时间来设置标准时间,而是通过存储多个短信时间数据来统计得到标准时间与手机RTC时间的频率的变化量,这是因为手机RTC时间不准确但频率是稳定的,而通过网络获得的时间准确但不稳定,可能出现获得的某一个“标准时间”由于网络延误变化超过一定幅度,或者网络故障没有获得标准时间数据,此时便会舍弃该延误的标准时间数据以避免将系统的 RTC时间更新为错误的“标准时间”,具体请一并参阅图3,是本发明获取标准时间数据的方法的工作原理图。
步骤110 获取与每一个标准时间数据对应的系统时间数据,并根据标准时间数据与系统时间数据的误差值计算出当前标准时间;
在步骤110中,本发明采用ARI算法来计算当前标准时间,其中,其中,本发明采用ARI算法来计算当前标准时间,当前标准时间的计算方法具体为在RTC系统时间t的固定时间间隔内获取n(n>= 10)个标准时间数据T,其中,假设RTC系统时间t分别为tl、 t2……tn,则获取的标准时间数据分别为T1、T2、…Tn ;用标准时间数据T减去对应的RTC 系统时间t得到误差时间D,即,Dl = Tl-tl、D2 = T2-t2…Dn = Tn-tn ;计算相邻两个误差时间 D 的相邻差 AD,假设 AD 分别为 D12(D12 = D2-D1)、D23 (D23 = D3-D2)…D (n_l) n(D(n-l)n = Dn-Dn-1);判断相邻差AD12、D23、…D(η_1)η中是否有特殊值,如果有特殊值,删除特殊值的前一个误差时间D,例如若D56(D56 = D6-D5)为特殊值,则删除误差时间 D5 ;如果没有特殊值,判断误差时间D是否超过允许值,如果误差时间D没有超过允许值,将 RTC系统时间t加上该误差时间D作为当前标准时间;如果误差时间D超过允许值,将标准时间数据T直接作为当前标准时间;其中,如果相邻差AD中有特殊值即说明该特殊值的前一个误差时间D为不正常的时间,即产生该误差时间D的标准时间数据T是错误的时间数据;选取特殊值的规则为取相邻差D12、D23、…D(n-l)n相邻值的差,如果该差值的绝对值大于等于被减值则该减数为特殊值,例如如果D78-D56 > = D56,则D78为特殊值;允许值是指该误差时间在可以接受的范围内,在本发明实施方式中,允许值设置为二分钟,具体可由用户自定义设置。
步骤120 根据当前标准时间更新RTC系统时间,并保存当前标准时间数据。
请参阅图2,是本发明第二实施例的移动终端时间校正的方法的流程图。本发明第二实施例的移动终端时间校正的方法包括以下步骤步骤200 判断是否需要校正时间数据,如果需要校正时间数据,执行步骤210 ;如果不需要校正时间数据,执行步骤300 ;在步骤200中,本发明采用一款时间校正应用软件,由于该应用软件是独立的应用软件,因此在初始运行之后会提供给用户选择的流程,如果用户选择使用该软件来对手机进行时间校正,则软件登录我司服务器拉取时间数据,如果用户选择否则结束时间校正。 该应用软件还提供了除时间校正之外的其他服务,例如咨询、天气等推送服务,因此用户还可选择是否加载其他服务,如果用户选择否不影响时间校正功能,如果用户选择是则拉取更多页面数据到客户端,为了避免同时拉取过多数据造成到达客户端的时间延误,标准时间数据可优先于其他数据独立获取。步骤210 建立网络连接,并判断网络连接是否成功,如果网络连接成功,执行步骤220 ;如果网络连接没有成功,执行步骤270 ;步骤220 在一定周期内的固定间隔时间获取若干个标准时间数据;在步骤220中,本发明可以通过使用应用软件从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据(解析格式为yyyy-MM-dd HH:mm:ss);其中,由于是获取一定周期内的标准时间数据,因此需要选择每次获取标准时间的时机,由于RTC(即实时时钟,作用在于提供稳定的时钟信号给后续电路用,主要功能有时钟,日历,闹钟,周期性中断输出,32KHz时钟输出)虽然相对于标准时间显得“慢”或者“快”,但是RTC提供的时间是稳定的,因此可以获取RTC中的时间来作为每次获取标准时间的时机,具体可由用户自定义设置;在本发明实施方式中,当手机系统时间间隔Ih便自动获取一次标准时间,标准时间数据的获取量也可由用户根据不同情况进行设定,本发明标准时间数据的获取量为10个。另外,标准时间数据的获取方法很多,并不限于从服务器的时间服务器获得,在本发明的另一实施方式中,可通过获取一定量的短信息携带的时间得到标准时间数据,由于短信息携带的时间数据为运营商服务器的时间,因此也可以在每次检测到短信息到达时获取短信息携带的时间数据作为标准时间,同时,为了避免现有技术中由于单次短信息到达不及时或网络不稳定导致的标准时间数据不准确的问题,本发明不同于通过截取单次短信时间来设置标准时间,而是通过存储多个短信时间数据来统计得到标准时间与手机RTC时间的频率的变化量,这是因为手机RTC时间不准确但频率是稳定的,而通过网络获得的时间准确但不稳定,可能出现获得的某一个“标准时间”由于网络延误变化超过一定幅度,或者网络故障没有获得标准时间数据,此时便会舍弃该延误的标准时间数据以避免将系统的 RTC时间更新为错误的“标准时间”,具体请一并参阅图3,是本发明获取标准时间数据的方法的工作原理图。步骤230 存储标准时间数据;步骤MO 判断RTC中是否存在系统时间数据,如果RTC中不存在系统时间数据, 执行步骤250 ;如果RTC中存在系统时间数据,执行步骤沈0 ;在步骤MO中,不存在系统时间数据具体是指当为移动终端充电进行同步时间的钮扣电池电力降低或耗尽时,RTC中的系统时间参数值归零。
步骤250 将标准时间数据作为系统标准时间,并执行步骤四0 ;
步骤沈0 获取与每一个标准时间数据对应的RTC中的系统时间数据,并根据标准时间数据与系统时间数据的误差值计算出当前标准时间,并执行步骤四0 ;
在步骤260中,本发明采用ARI算法来计算当前标准时间,为了清楚说明步骤沈0, 请一并参阅图4,是本发明有网络时当前标准时间的计算方法的流程图。本发明有网络时当前标准时间的计算方法包括一下步骤
步骤在RTC系统时间t的固定时间间隔内获取n(n >= 10)个标准时间数据T ;其中,假设RTC系统时间t分别为tl、t2……tn,则获取的标准时间数据分别为Tl、 T2、 ".Tn0
步骤沈2 用标准时间数据T减去对应的RTC系统时间t得到误差时间D,即,Dl =Tl-tl、D2 = T2-t2."Dn = Tn-tn ;
步骤沈3 计算相邻两个误差时间D的相邻差Δ D,其中,假设AD分别为D12(D12 =D2-D1)、D23 (D23 = D3-D2)... D (n_l) η (D (η_1) η = Dn-Dn-1);
步骤沈4 判断相邻差AD12、D23、-D(n-l)n中是否有特殊值,如果有特殊值,执行步骤沈5 ;如果没有特殊值,执行步骤沈6 ;
在步骤沈4中,如果相邻差AD中有特殊值即说明该特殊值的前一个误差时间D 为不正常的时间,即产生该误差时间D的标准时间数据T是错误的时间数据;选取特殊值的规则为取相邻差D12、D23、…D (η-1)η相邻值的差,如果该差值的绝对值大于等于被减值则该减数为特殊值,例如如果D78-D56 >= D56,则D78为特殊值。
步骤沈5 删除特殊值的前一个误差时间D,其中,例如若D56(D56 = D6-D5)为特殊值,则删除误差时间D5;
步骤沈6 判断误差时间D是否超过允许值,如果误差时间D没有超过允许值,执行步骤267 ;如果误差时间D超过允许值,执行步骤沈8 ;
在步骤266中,允许值是指该误差时间D在可以接受的误差范围内,在本发明实施方式中,允许值设置为二分钟,具体可由用户自定义设置。
步骤267 将RTC系统时间t加上该误差时间D作为当前标准时间;
步骤沈8 将标准时间数据T直接作为当前标准时间。
步骤270 判断是否继续校正时间数据,如果继续校正时间数据,执行步骤观0 ;如果结束校正时间数据,执行步骤300 ;
步骤观0 根据有网络时的标准时间数据预测出当前标准时间;
在步骤观0中,本发明在没有网络的情况下仍然可以利用有网络时的标准时间数据作出预测来进行时间校正,避免了现有技术中没有网络时无法更新时间的问题,为了清楚说明步骤观0,请一并参阅图5,是本发明没有网络时当前标准时间的计算方法的流程图。本发明没有网络时当前标准时间的计算方法包括一下步骤
步骤计算网络中断前一段数据中删除特殊值之后的相邻差AD的平均值 AD;
步骤282 计算对应的相邻RTC系统时间t的差Δ t ;
步骤观3 每隔Δ t时间,就在该RTC系统时间上加上平均值校正一次;
其中,由于获取的标准时间数据不可能是完全精确的时间数据,在长时间断网的情况下预测误差可能变大使得校正时间相对不够精确,因此在恢复网络后,可通过更新标准时间数据来解决这一问题。步骤四0 根据当前标准时间更新RTC系统时间,并保存当前标准时间数据;步骤300 结束本次校正。请参阅图6,是本发明第一实施例的移动终端时间校正的装置的结构示意图。本发明第一实施例的移动终端时间校正的装置包括移动终端,移动终端还包括标准时间获取模块、系统时间获取模块、第一时间计算模块和时间更新模块,其中,标准时间获取模块用于在一定周期内的固定间隔时间获取一定量的标准时间数据;标准时间获取模块具体还包括页面数据获取单元和短信获取单元,其中,页面数据获取单元用于通过使用应用软件从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据(解析格式为yyyy-MM-dd HH:mm:ss);其中,由于是获取一定周期内的标准时间数据,因此需要选择每次获取标准时间的时机,由于RTC(即实时时钟,作用在于提供稳定的时钟信号给后续电路用,主要功能有时钟,日历,闹钟,周期性中断输出,32KHz时钟输出)虽然相对于标准时间显得“慢”或者“快”,但是RTC提供的时间是稳定的,因此可以获取RTC中的时间来作为每次获取标准时间的时机,具体可由用户自定义设置;在本发明实施方式中,当手机系统时间间隔Ih便自动获取一次标准时间,标准时间数据的获取量也可由用户根据不同情况进行设定,本发明标准时间数据的获取量为10个。短信获取单元用于通过获取一定量的短信息携带的时间得到标准时间数据;其中,由于短信息携带的时间数据为运营商服务器的时间,因此也可以在每次检测到短信息到达时获取短信息携带的时间数据作为标准时间,同时,为了避免现有技术中由于短信息到达不及时或网络不稳定导致的标准时间数据不准确的问题,本发明不同于通过截取单次短信时间来设置标准时间,而是通过存储多个短信时间数据来统计得到标准时间与手机 RTC时间的频率的变化量,这是因为手机RTC时间不准确但频率是稳定的,而通过网络获得的时间准确但不稳定,可能出现获得的某一个“标准时间”由于网络延误变化超过一定幅度,或者网络故障没有获得标准时间数据,此时便会舍弃该延误的标准时间数据以避免将系统的RTC时间更新为错误的“标准时间”。系统时间获取模块用于获取与每一个标准时间数据对应的RTC中的系统时间数据;第一时间计算模块用于根据标准时间数据与系统时间数据的误差值计算出当前标准时间;其中,本发明采用ARI算法来计算当前标准时间,当前标准时间的计算方法具体为在RTC系统时间t的固定时间间隔内获取n(n>= 10)个标准时间数据T,其中,假设 RTC系统时间t分别为tl、t2……访,则获取的标准时间数据分别为1132、"411;用标准时间数据T减去对应的RTC系统时间t得到误差时间D,即,Dl = Tl-tl、D2 = T2_t2…Dn = Tn-tn ;计算相邻两个误差时间D的相邻差AD,假设Δ D分别为D12 (D12 = D2-D1)、D23 (D23 =D3-D2)...D(n-l)n(D(n-l)n = Dn-Dn-1);判断相邻差 AD12、D23、…D (η_1) η 中是否有特殊值,如果有特殊值,删除特殊值的前一个误差时间D,例如若D56(D56 = D6-D5)为特殊值,则删除误差时间D5 ;如果没有特殊值,判断误差时间D是否超过允许值,如果误差时间 D没有超过允许值,将RTC系统时间t加上该误差时间D作为当前标准时间;如果误差时间D超过允许值,将标准时间数据T直接作为当前标准时间;其中,如果相邻差AD中有特殊值即说明该特殊值的前一个误差时间D为不正常的时间,即产生该误差时间D的标准时间数据T是错误的时间数据;选取特殊值的规则为取相邻差D12、D23、’"D(Ii-I)n相邻值的差,如果该差值的绝对值大于等于被减值则该减数为特殊值,例如如果D78-D56 > = D56, 则D78为特殊值;允许值是指该误差时间在可以接受的范围内,在本发明实施方式中,允许值设置为二分钟,具体可由用户自定义设置。时间更新模块用于根据当前标准时间更新RTC系统时间,并保存当前标准时间数据。请参阅图7,是本发明第二实施例的移动终端时间校正的装置的结构示意图。本发明第二实施例的移动终端时间校正的装置包括移动终端,移动终端包括校正判断模块、网络模块、标准时间获取模块、系统时间判断模块、系统时间获取模块、第一时间计算模块、结束判断模块、第二时间计算模块和时间更新模块,其中,校正判断模块用于判断是否需要校正时间数据,如果需要校正时间数据,通过网络模块连接网络;如果不需要校正时间数据,则结束校正;其中,本发明采用一款时间校正应用软件,由于该应用软件是独立的应用软件,因此在初始运行之后会提供给用户选择的流程,如果用户选择使用该软件来对手机进行时间校正,则软件登录我司服务器拉取时间数据,如果用户选择否则结束时间校正。该应用软件还提供了除时间校正之外的其他服务, 例如咨询、天气等推送服务,因此用户还可选择是否加载其他服务,如果用户选择否不影响时间校正功能,如果用户选择是则拉取更多页面数据到客户端,为了避免同时拉取过多数据造成到达客户端的时间延误,标准时间数据可优先于其他数据独立获取。网络模块用于建立网络连接,并判断网络连接是否成功,如果网络连接成功,通过标准时间获取模块获取标准时间数据;如果网络连接没有成功,通过结束判断模块判断是否继续校正时间数据;标准时间获取模块用于在一定周期内的固定间隔时间获取若干个标准时间数据, 并存储标准时间数据;标准时间获取模块具体还包括页面数据获取单元和短信获取单元, 其中,页面数据获取单元用于通过使用应用软件从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据(解析格式为yyyy-MM-dd HH:mm:ss);其中,由于是获取一定周期内的标准时间数据,因此需要选择每次获取标准时间的时机,由于RTC(即实时时钟,作用在于提供稳定的时钟信号给后续电路用,主要功能有时钟,日历,闹钟,周期性中断输出,32KHz时钟输出)虽然相对于标准时间显得“慢”或者“快”,但是RTC提供的时间是稳定的,因此可以获取RTC中的时间来作为每次获取标准时间的时机,具体可由用户自定义设置;在本发明实施方式中,当手机系统时间间隔Ih便自动获取一次标准时间,标准时间数据的获取量也可由用户根据不同情况进行设定,本发明标准时间数据的获取量为10个。短信获取单元用于通过获取一定量的短信息携带的时间得到标准时间数据;其中,由于短信息携带的时间数据为运营商服务器的时间,因此也可以在每次检测到短信息到达时获取短信息携带的时间数据作为标准时间,同时,为了避免现有技术中由于短信息到达不及时或网络不稳定导致的标准时间数据不准确的问题,本发明不同于通过截取单次短信时间来设置标准时间,而是通过存储多个短信时间数据来统计得到标准时间与手机 RTC时间的频率的变化量,这是因为手机RTC时间不准确但频率是稳定的,而通过网络获得的时间准确但不稳定,可能出现获得的某一个“标准时间”由于网络延误变化超过一定幅度,或者网络故障没有获得标准时间数据,此时便会舍弃该延误的标准时间数据以避免将系统的RTC时间更新为错误的“标准时间”,具体请一并参阅图2,是本发明获取标准时间数据的方法的工作原理图。
系统时间判断模块用于判断RTC中是否存在系统时间数据,如果RTC中存在系统时间数据,通过系统时间获取模块获取标准时间数据对应的系统时间数据;如果RTC中不存在系统时间数据,通过第一时间计算模块将标准时间数据作为系统标准时间;其中,不存在系统时间数据具体是指当为移动终端充电进行同步时间的钮扣电池电力降低或耗尽时,RTC中的系统时间参数值归零。
系统时间获取模块用于获取与每一个标准时间数据对应的RTC中的系统时间数据;
第一时间计算模块用于根据标准时间数据与系统时间数据的误差值计算出当前标准时间,并通过时间更新模块更新系统时间;其中,本发明采用ARI算法来计算当前标准时间,当前标准时间的计算方法具体为在RTC系统时间t的固定时间间隔内获取n(n> = 10)个标准时间数据T,其中,假设RTC系统时间t分别为tl、t2……tn,则获取的标准时间数据分别为T1、T2、…Tn ;用标准时间数据T减去对应的RTC系统时间t得到误差时间D, 即,Dl = Tl-tl、D2 = T2-t2…Dn = Tn-tn ;计算相邻两个误差时间D的相邻差AD,假设 AD 分别为 D12(D12 = D2-D1)、D23 (D23 = D3-D2)…D (n_l) η (D (η_1) η = Dn-Dn-1);判断相邻差AD12、D23、…D(η-1)η中是否有特殊值,如果有特殊值,删除特殊值的前一个误差时间D,例如若D56(D56 = D6-D5)为特殊值,则删除误差时间D5 ;如果没有特殊值,判断误差时间D是否超过允许值,如果误差时间D没有超过允许值,将RTC系统时间t加上该误差时间D作为当前标准时间;如果误差时间D超过允许值,将标准时间数据T直接作为当前标准时间;其中,如果相邻差AD中有特殊值即说明该特殊值的前一个误差时间D为不正常的时间,即产生该误差时间D的标准时间数据T是错误的时间数据;选取特殊值的规则为取相邻差D12、D23、··· D (η-1) η相邻值的差,如果该差值的绝对值大于等于被减值则该减数为特殊值,例如如果D78-D56 >= D56,则D78为特殊值;允许值是指该误差时间在可以接受的范围内,在本发明实施方式中,允许值设置为二分钟,具体可由用户自定义设置。
结束判断模块用于在没有网络时判断是否继续校正时间数据,如果继续校正时间数据,通过第二时间计算模块预测当前标准时间;如果结束校正时间数据,则结束本次校正;
第二时间计算模块用于根据有网络时的标准时间数据预测出当前标准时间;其中,本发明在没有网络的情况下仍然可以利用有网络时的标准时间数据作出预测来进行时间校正,避免了现有技术中没有网络时无法更新时间的问题;本发明没有网络时当前标准时间的计算方法具体为计算网络中断前一段数据中删除特殊值之后的相邻差八D的平均值;计算对应的相邻RTC系统时间t的差Δ t ;每隔Δ t时间,就在该RTC系统时间上加上平均值^校正一次;由于获取的标准时间数据不可能是完全精确的时间数据,在长时间断网的情况下预测误差可能变大使得校正时间相对不够精确,因此在恢复网络后,可通过更新标准时间数据来解决这一问题。时间更新模块用于根据当前标准时间更新RTC系统时间,并保存当前标准时间数据。本发明移动终端时间校正的方法及装置通过在一定周期内的固定间隔时间获取多个标准时间数据,并根据多个标准时间数据与系统时间数据的误差计算出当前标准时间,在一定时间内根据误差偏移大小对手机RTC时间进行校正,使手机RTC时间保证在一定误差范围内,从而避免误差值由于累积而变大;本发明还可以通过存储多个短信时间数据来统计得到标准时间与手机RTC时间的频率的变化量,避免了现有技术中单次短信息到达不及时或网络不稳定导致的标准时间数据不准确的问题;本发明在没有网络的情况下仍然可以利用有网络时的标准时间数据作出预测来进行时间校正,避免了现有技术中没有网络时无法更新时间的问题;本发明的实施无须手动输入,可自动获得准确度较高的时间数据, 并且在无网络时仍可使用,大大提升用户的使用体验。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种移动终端时间校正的方法,包括步骤a 在一定周期内的固定间隔时间获取一定量的标准时间数据;步骤b 获取与每一个标准时间数据对应的系统时间数据,并根据标准时间数据与系统时间数据的误差值计算出当前标准时间;步骤c 根据当前标准时间更新系统时间,并保存当前标准时间数据。
2.根据权利要求1所述的移动终端时间校正的方法,其特征在于,所述步骤a还包括 判断是否需要校正时间数据,如果不需要校正时间数据,结束本次校正;如果需要校正时间数据,则建立网络连接,并判断网络连接是否成功,如果网络连接成功,则获取标准时间数据;如果网络连接没有成功,则判断是否继续校正时间数据。
3.根据权利要求2所述的移动终端时间校正的方法,其特征在于,在所述步骤a中,所述获取标准时间数据的方式包括通过页面数据获取标准时间和通过短信息携带时间获取标准时间;所述通过页面数据获取标准时间具体为从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据;所述通过短信息携带时间获取标准时间具体为获取一定量的短信息携带的时间得到标准时间数据。
4.根据权利要求1所述的移动终端时间校正的方法,其特征在于,所述步骤a与所述步骤b之间还包括判断实时时钟芯片中是否存在系统时间数据,如果实时时钟芯片中不存在系统时间数据,所述步骤b还包括直接将标准时间数据作为系统标准时间;如果实时时钟芯片中存在系统时间数据,执行步骤b。
5.根据权利要求4所述的移动终端时间校正的方法,其特征在于,在所述步骤b中,所述计算出当前标准时间的具体计算方法为在实时时钟芯片的系统时间t的固定时间间隔内获取n(n>= 10)个标准时间数据Τ;用标准时间数据T减去对应的RTC系统时间t得到误差时间D,计算相邻两个误差时间D的相邻差Δ D,判断相邻差AD12、D23、...D(n-l) η中是否有特殊值,如果有特殊值,删除特殊值的前一个误差时间D ;如果没有特殊值,判断误差时间D是否超过允许值,如果误差时间D没有超过允许值,将实时时钟芯片的系统时间 t加上该误差时间D作为当前标准时间;如果误差时间D超过允许值,将标准时间数据T直接作为当前标准时间。
6.根据权利要求2或5所述的移动终端时间校正的方法,其特征在于,在所述步骤a中还包括在网络连接没有成功时判断是否继续校正时间数据,如果继续校正时间数据,则所述步骤b中还包括根据有网络时的标准时间数据预测出当前标准时间;如果结束校正时间数据,则结束本次校正;其中,预测当前标准时间具体为计算网络中断前一段数据中删除特殊值之后的相邻差AD的平均值计算对应的相邻实时时钟芯片的系统时间t的差 Δ t ;每隔Δ t时间,就在该RTC系统时间上加上平均值校正一次。
7.一种移动终端时间校正的装置,包括移动终端,其特征在于,所述移动终端还包括标准时间获取模块、系统时间获取模块、第一时间计算模块和时间更新模块,所述标准时间获取模块用于在一定周期内的固定间隔时间获取一定量的标准时间数据;所述系统时间获取模块用于获取与每一个标准时间数据对应的系统时间数据;所述第一时间计算模块用于根据标准时间数据与系统时间数据的误差值计算出当前标准时间;所述时间更新模块用于根据当前标准时间更新系统时间,并保存当前标准时间数据。
8.根据权利要求7所述的移动终端时间校正的装置,其特征在于,还包括校正判断模块、网络模块、结束判断模块和第二时间计算模块,所述校正判断模块用于判断是否需要校正时间数据,如果需要校正时间数据,通过网络模块连接网络;如果不需要校正时间数据, 则结束校正;所述网络模块用于建立网络连接,并判断网络连接是否成功,如果网络连接成功,通过标准时间获取模块获取标准时间数据;如果网络连接没有成功,通过结束判断模块判断是否继续校正时间数据;所述结束判断模块用于在没有网络时判断是否继续校正时间数据,如果继续校正时间数据,通过第二时间计算模块预测当前标准时间;如果结束校正时间数据,则结束本次校正;所述第二时间计算模块用于根据有网络时的标准时间数据预测出当前标准时间。
9.根据权利要求7所述的移动终端时间校正的装置,其特征在于,还包括系统时间判断模块,所述标准时间获取模块还包括页面数据获取单元和短信获取单元,所述系统时间判断模块用于判断实时时钟芯片中是否存在系统时间数据,如果实时时钟芯片中存在系统时间数据,通过系统时间获取模块获取标准时间数据对应的系统时间数据;如果实时时钟芯片中不存在系统时间数据,通过第一时间计算模块将标准时间数据作为系统标准时间; 所述页面数据获取单元用于从页面服务器或时间服务器拉取页面数据到客户端,并通过解析页面数据中携带的服务器时间得到标准时间数据;所述短信获取单元用于通过获取一定量的短信息携带的时间得到标准时间数据。
10.根据权利要求7或8所述的移动终端时间校正的装置,其特征在于,所述第一时间计算模块计算当前标准时间的方法具体为在实时时钟芯片的系统时间t的固定时间间隔内获取n(n>= 10)个标准时间数据T,用标准时间数据T减去对应的实时时钟芯片的系统时间t得到误差时间D,计算相邻两个误差时间D的相邻差ΔD,判断相邻差AD中是否有特殊值,如果有特殊值,删除特殊值的前一个误差时间D,如果没有特殊值,判断误差时间D 是否超过允许值,如果误差时间D没有超过允许值,将实时时钟芯片的系统时间t加上该误差时间D作为当前标准时间;如果误差时间D超过允许值,将标准时间数据T直接作为当前标准时间;所述第二时间计算模块计算当前标准时间的方法具体为计算网络中断前一段数据中删除特殊值之后的相邻差Δ 的平均值计算对应的相邻实时时钟芯片的系统时间t的差At ;每隔At时间,就在该实时时钟芯片的系统时间上加上平均值校正一次。
全文摘要
本发明属于移动终端技术领域,尤其涉及一种移动终端时间校正的方法及装置。本发明移动终端时间校正的方法包括步骤a在一定周期内的固定间隔时间获取一定量的标准时间数据;步骤b获取与每一个标准时间数据对应的系统时间数据,并根据标准时间数据与系统时间数据的误差值计算出当前标准时间;步骤c根据当前标准时间更新系统时间,并保存当前标准时间数据。本发明在一定时间内根据误差偏移大小对手机RTC时间进行校正,使手机RTC时间保证在一定误差范围内,本发明避免了现有技术中单条短信时间不准确的问题;本发明的实施无须手动输入,可自动获得准确度较高的时间数据,并可在没有网络的情况下使用,大大提升用户的使用体验。
文档编号H04L29/08GK102497665SQ20111044834
公开日2012年6月13日 申请日期2011年12月28日 优先权日2011年12月28日
发明者严坚, 黎洪勇 申请人:深圳市五巨科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1