一种多方案并行获取网络时间的方法及系统技术方案

技术编号:19702242 阅读:21 留言:0更新日期:2018-12-08 14:08
本发明专利技术网络通信技术领域,涉及一种多方案并行获取网络时间的方法及系统。本发明专利技术方法包括S1,并行向时间同步服务器、超文本传输协议服务器发出获取时间的请求以及向消息队列遥测传输服务器发出订阅时间主题的请求;S2,等待服务器响应,获取所述时间同步服务器回复的第一网络时间和/或所述超文本传输协议服务器回复的第二网络时间和/或所述消息队列遥测传输服务回复的第三网络时间;S3,通过误差比较算法从所述第一网络时间和/或所述第二网络时间和/或所述第三网络时间中计算分析出最佳网络时间视为系统网络时间。本发明专利技术能在不同运营商线路中成功获取网络时间。

【技术实现步骤摘要】
一种多方案并行获取网络时间的方法及系统
本专利技术属于网络通信
,尤其涉及一种多方案并行获取网络时间的方法及系统。
技术介绍
物联网是新一代信息技术的重要组成部分,也是“信息化”时代的重要发展阶段。目前IoT(InternetOfThings,物联网)设备越来越丰富,但绝大多数IoT设备不带有供电芯片,不能自身直接校对时间,需要通过传输层的协议访问对应传输层的服务器来获取时间。申请号为CN201710167687.1的国内专利技术专利公布了一种网络时间获取方法、装置及系统、可读介质及存储控制器,其具体公开了方法包括:预先设置至少两个NTP服务器地址;S1:从各个所述NTP服务器地址中,确定至少一个可从对应的NTP时间服务器获取到网络时间的可用NTP服务器地址;S2:分别确定从各个可用NTP服务器地址对应的NTP时间服务器上获取到网络时间所需的获取时长;S3:确定最短获取时长,并标记与最短获取时长对应的可用NTP服务器地址;S4:按照预设周期从标记的可用NTP服务器地址对应的NTP时间服务器上获取网络时间,执行S5;S5:判断是否获取到网络时间,如果是,执行S4,否,依次执行S1、S2、S3。该技术方案能够较可靠的获取到网络时间。但是目前主流的IoT设备时间获取方式为采用系统底层默认使用的NTP(NetworkTimeProtocol,网络时间协议)协议,但是大多数NTPServer(网络时间同步服务器)均设置在国外,不是本地自建服务器,所以部分运营商线路可能会屏蔽NTPServer或者udp(UserDatagramProtocol,用户数据报协议)123端口(传输层UDP协议使用的端口,端口号为123),从而导致IoT设备从NTPServer获取时间时不能成功获取到时间,从而进一步影响有时间戳校验的应用,例如:智能音箱播放音乐时,部分音乐资源提供商会校验时间戳,一旦出现音箱系统时间不对,则无法播放音乐。所以我们需要设计一种能有效保障在不同运营商线路均可以成功且迅速地获取网络时间的方法。
技术实现思路
本专利技术针对现有技术存在的问题,提出了一种多方案并行获取网络时间的方法及系统。本专利技术是通过以下技术方案得以实现的:一种多方案并行获取网络时间的方法,包括以下步骤:S1,并行向时间同步服务器、超文本传输协议服务器发出获取时间的请求以及向消息队列遥测传输服务器发出订阅时间主题的请求;S2,等待服务器响应,获取所述时间同步服务器回复的第一网络时间和/或所述超文本传输协议服务器回复的第二网络时间和/或所述消息队列遥测传输服务回复的第三网络时间;S3,通过误差比较算法从所述第一网络时间和/或所述第二网络时间和/或所述第三网络时间中计算分析出最佳网络时间视为系统网络时间。本技术方案的有益效果为:通过并行的方式向所述时间同步服务器、所述超文本传输协议服务器和所述消息队列遥测传输服务器三种服务器同时发出获取时间的请求,等待各服务器的响应,增加了收到回复的概率,同时如果收到多于一种服务器的回复时还能够从中通过误差比较算法从中计算分析出最佳网络时间作为物联网设备的系统时间,能有效保障在不同运营商线路均可以成功且迅速地获取网络时间。作为本技术方案的优选,所述步骤S2包括:并统计响应请求的服务器数量。作为本技术方案的优选,所述步骤S3包括:S3.1,判断是否只有一台服务器响应请求,若判断结果为是,则直接把该服务器回复的网络时间计为系统网络时间;若判断结果为否,执行步骤S3.2;所述步骤S3.2,判断是否只有两台服务器响应请求,若判断结果为是,则比较两台服务器回复的网络时间,把回复时间更短的一种网络时间计为系统时间;若判断结果为否,则直接执步骤S3.3;S3.3,对所述第一网络时间、所述第二网络时间和所述第三网络时间两两进行计算,根据误差比较算法得到所述第一网络时间、所述第二网络时间和所述第三网络时间三者之中计算分析出最佳网络时间视为系统网络时间。作为本技术方案的优选,所述步骤S3.2包括:S3.21,判断是否只有两台服务器响应请求,若判断结果为为否,则直接执行所述步骤S3.3;S3.22,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取最先回复的一种网络时间视为系统时间;若判断结果为是,则选取时间戳更大的一种网络时间视为系统时间。作为本技术方案的优选,所述步骤S3.3包括:S3.31,比较出所述第一网络时间、所述第二网络时间和所述第三网络时间之中时间戳最大的一种网络时间;S3.32,选取除时间戳最大的网络时间外任一种网络时间和时间戳最大的一网络时间进行比较,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取先回复的网络时间视为系统时间;若判断结果为是,则执行步骤S3.33;所述步骤S3.23,选取剩下最后一种网络时间和时间戳最大的网络时间进行比较,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取先回复的一种网络时间视为系统时间;若判断结果为是,则执行步骤S3.34所述步骤S3.24,选取除时间戳最大的网络时间外剩下的两种网络时间进行比较,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取先回复的一种网络时间视为系统时间;若判断结果为是,则选取时间戳教大的网络时间视为系统时间。一种多方案并行获取网络时间的系统,包括:并行请求模块,用于并行向时间同步服务器、超文本传输协议服务器发出获取时间的请求以及向消息队列遥测传输服务器发出订阅时间主题的请求;获取模块,用于等待服务器响应,获取所述时间同步服务器回复的第一网络时间和/或所述超文本传输协议服务器回复的第二网络时间和/或所述消息队列遥测传输服务回复的第三网络时间;计算分析模块,用于通过误差比较算法从所述第一网络时间和/或所述第二网络时间和/或所述第三网络时间中计算分析出最佳网络时间视为系统网络时间。作为本技术方案的优选,所述获取模块包括:统计单元,用于统计响应请求的服务器数量。作为本技术方案的优选,所述计算分析模块包括:判断单元,用于判断是否只有一台服务器响应请求,若判断结果为是,则直接把该服务器回复的网络时间计为系统网络时间;若判断结果为否,执行第一计算分析单元;所述第一计算分析单元,用于判断是否只有两台服务器响应请求,若判断结果为是,则比较两台服务器回复的网络时间,根据误差比较算法分析出最佳网络时间视为系统网络时间;若判断结果为否,则直接执行第二计算分析单元;所述第二计算分析单元,用于对所述第一网络时间、所述第二网络时间和所述第三网络时间两两进行计算,根据误差比较算法得到所述第一网络时间、所述第二网络时间和所述第三网络时间三者之中计算分析出最佳网络时间视为系统网络时间。作为本技术方案的优选,所述第一计算分析单元包括:第一判断子单元,用于判断是否只有两台服务器响应请求,若判断结果为为否,则直接执行所述第二计算分析单元;第二判断子单元,用于判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取最先回复的一种网络时间视为系统时间;若判断结果为是,则选取时间戳更大的一种网络时间视为系统时间。作为本技术方案的优选,所述第二计算分析单元包括:比较子单元,用于比较出所述本文档来自技高网
...

【技术保护点】
1.一种多方案并行获取网络时间的方法,其特征在于,S1,并行向时间同步服务器、超文本传输协议服务器发出获取时间的请求以及向消息队列遥测传输服务器发出订阅时间主题的请求;S2,等待服务器响应,获取所述时间同步服务器回复的第一网络时间和/或所述超文本传输协议服务器回复的第二网络时间和/或所述消息队列遥测传输服务回复的第三网络时间;S3,通过误差比较算法从所述第一网络时间和/或所述第二网络时间和/或所述第三网络时间中计算分析出最佳网络时间视为系统网络时间。

【技术特征摘要】
1.一种多方案并行获取网络时间的方法,其特征在于,S1,并行向时间同步服务器、超文本传输协议服务器发出获取时间的请求以及向消息队列遥测传输服务器发出订阅时间主题的请求;S2,等待服务器响应,获取所述时间同步服务器回复的第一网络时间和/或所述超文本传输协议服务器回复的第二网络时间和/或所述消息队列遥测传输服务回复的第三网络时间;S3,通过误差比较算法从所述第一网络时间和/或所述第二网络时间和/或所述第三网络时间中计算分析出最佳网络时间视为系统网络时间。2.根据权利要求1所述的一种多方案并行获取网络时间的方法,其特征在于,所述步骤S2包括:统计响应请求的服务器数量。3.根据权利要求1所述的一种多方案并行获取网络时间的方法,其特征在于,所述步骤S3包括:S3.1,判断是否只有一台服务器响应请求,若判断结果为是,则直接把该服务器回复的网络时间计为系统网络时间;若判断结果为否,执行步骤S3.2;所述步骤S3.2,判断是否只有两台服务器响应请求,若判断结果为是,则比较两台服务器回复的网络时间,根据误差比较算法分析出最佳网络时间视为系统网络时间;若判断结果为否,则直接执步骤S3.3;所述步骤S3.3,对所述第一网络时间、所述第二网络时间和所述第三网络时间两两进行计算,根据误差比较算法得到所述第一网络时间、所述第二网络时间和所述第三网络时间三者之中计算分析出最佳网络时间视为系统网络时间。4.根据权利要求3所述的一种多方案并行获取网络时间的方法,其特征在于,所述步骤S3.2包括:S3.21,判断是否只有两台服务器响应请求,若判断结果为为否,则直接执行所述步骤S3.3;S3.22,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取最先回复的一种网络时间视为系统时间;若判断结果为是,则选取时间戳更大的一种网络时间视为系统时间。5.根据权利要求3所述的一种多方案并行获取网络时间的方法,其特征在于,所述步骤S3.3包括:S3.31,比较出所述第一网络时间、所述第二网络时间和所述第三网络时间之中时间戳最大的一种网络时间;S3.32,选取除时间戳最大的网络时间外的任一网络时间,以与时间戳最大的网络时间进行比较,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取先回复的一种网络时间视为系统时间;若判断结果为是,则执行步骤S3.33;所述步骤S3.33,选取剩下最后一种网络时间与时间戳最大的网络时间进行比较,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取先回复的一种网络时间视为系统时间;若判断结果为是,则执行步骤S3.34;所述步骤S3.34,选取除时间戳最大的网络时间外剩下的两种网络时间,判断两种网络时间之间的时间间隔是否小于预设时间间隔,若判断结果为否,则选取先回复的网络时间视为系统时间;若判断结果为是,则选取时间戳较大的网络时间视为系统时间。6.一种多方案并行获取网络时间的系统,其特征在于,包括:并行请求模...

【专利技术属性】
技术研发人员:彭贵
申请(专利权)人:四川斐讯信息技术有限公司
类型:发明
国别省市:四川,51

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

1