一种通过解析卫星导航数据同步时间的方法及装置制造方法及图纸

技术编号:29261227 阅读:43 留言:0更新日期:2021-07-13 17:35
本发明专利技术公开了一种通过解析卫星导航数据同步时间的方法及装置,属于数据处理领域。服务应用获取系统当前时间并缓存为第一时间变量,接收并解析卫星导航数据得到卫星导航数据包含的全部字符串;获取一个字符串作为当前待处理字符串,判断当前待处理字符串的系统协议标识符的类型,如为预设系统协议标识符,将当前待处理字符串的时间字段域转换为本地时区时间值并保存,获取系统当前时间并保存为第二时间变量,根据第一时间变量和第二时间变量得到第一时间补偿值,根据第一时间补偿值和数值最大的本地时区时间值得到卫星导航时间并将系统时间设置为卫星导航时间。本发明专利技术提高了同步本地系统时间的精确度。

【技术实现步骤摘要】
一种通过解析卫星导航数据同步时间的方法及装置
本专利技术涉及数据处理领域,尤其涉及一种通过解析卫星导航数据同步时间的方法及装置。
技术介绍
随着信息技术和网络技术的高速发展,设备对时间的精准性的要求越来越高。现有技术中,一般采用网络授时来同步时间,网络授时是在网络上指定若干能够相互比对的时钟源网站为用户提供授时服务。网络授时以通信信道为媒介同步授时,如计算机网络、电话网络,这种授时方式需要占用信道时间,对信道的可靠性要求高,而且由于时间信号通过信道传送到不同设备的延时不同,只能满足中等精度时间的要求。因此,如何提供一种高精度同步时间的方法成为一个亟待解决的技术问题。
技术实现思路
本专利技术的目的是提供一种通过解析卫星导航数据同步时间的方法及装置,实现高精准同步时间。第一方面,本专利技术提供了一种通过解析卫星导航数据同步时间的方法,包括如下步骤:步骤101:服务应用获取系统当前时间并缓存为第一时间变量,通过串口接收卫星导航数据,解析所述卫星导航数据得到所述卫星导航数据包含的全部字符串并保存;步骤102:所述服务应用获取一个保存的字符串作为当前待处理字符串,从当前待处理字符串的卫星系统标识符中获取系统协议标识符,判断所述系统协议标识符的类型,如为预设系统协议标识符,执行步骤103,否则,执行步骤104;步骤103:所述服务应用将当前待处理字符串的时间字段域转换为当前待处理字符串的本地时区时间值并保存,执行步骤104;步骤104:所述服务应用判断是否还存在未获取过的待处理字符串,如果是,返回步骤102,否则,执行步骤105;步骤105:所述服务应用获取系统当前时间并保存为第二时间变量,根据保存的第一时间变量和第二时间变量得到第一时间补偿值;步骤106:所述服务应用从保存的所有本地时区时间值中获取数值最大的本地时区时间值,根据第一时间补偿值和数值最大的本地时区时间值得到卫星导航时间;步骤107:所述服务应用将系统当前时间设置为所述卫星导航时间。第二方面,本专利技术提供了一种通过解析卫星导航数据同步时间的装置,包括:接收模块、第一获取模块、解析模块、第二获取模块、第一判断模块、转换模块、第二判断模块、第三获取模块、运算模块和设置模块;所述接收模块,用于通过串口接收卫星导航数据;所述第一获取模块,用于获取系统当前时间并缓存为第一时间变量;所述解析模块,用于解析所述卫星导航数据得到卫星导航数据包含的全部字符串并保存;所述第二获取模块,用于获取一个保存的字符串作为当前待处理字符串,从当前待处理字符串的卫星系统标识符中获取当前待处理字符串的系统协议标识符;所述第一判断模块,用于判断所述系统协议标识符的类型,如为预设系统协议标识符,触发所述转换模块,否则,触发所述第二判断模块;所述转换模块,用于将前待处理字符串的时间字段域转换为当前待处理字符串的本地时区时间值并保存,触发所述第二判断模块;所述第二判断模块,用于判断是否还存在未获取过的待处理字符串,如果是,触发所述第二获取模块,否则,触发所述第三获取模块;所述第三获取模块,用于获取系统当前时间并保存为第二时间变量;所述运算模块,用于根据保存的第一时间变量和所述第二时间变量得到第一时间补偿值;所述第三获取模块,还用于从保存的所有本地时区时间值中获取数值最大的本地时区时间值;所述运算模块,还用于根据第一时间补偿值和数值最大的本地时区时间值得到卫星导航时间;所述设置模块,用于将系统当前时间设置为所述卫星导航时间。第三方面,本专利技术提供了一种电子设备,包括:处理器和存储器;存储器,用于存储计算机程序;处理器,用于运行存储器存储的计算机程序来实现本申请中的通过解析卫星导航数据同步时间的方法。第四方面,本专利技术提供了一种计算机可读存储介质,用于存储计算机程序,当计算机程序在计算机上运行时,使得计算机执行本申请中的通过解析卫星导航数据同步时间的方法。本专利技术提供了一种通过解析卫星导航数据同步时间的方法及装置,提高了同步本地系统时间的精确度。附图说明图1为本专利技术实施例1提供的一种通过解析卫星导航数据同步时间的方法的流程图;图2为本专利技术实施例2提供的一种通过解析卫星导航数据同步时间的方法的流程图;图3为本专利技术实施例2提供的一种通过解析卫星导航数据同步时间的装置的模块框图;图4为本专利技术实施例2提供的一种电子设备的模块框图。具体实施方式本申请提出了一种通过解析卫星导航数据同步时间的方法及装置,下面结合附图,对本申请具体实施方式进行详细说明。所述实施例的示例在附图中示出。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。本
技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术实施方式作进一步地详细描述。实施例1本专利技术实施例1提供了一种通过解析卫星导航数据同步时间的方法,如图1所示,该方法包括如下步骤:步骤101:服务应用获取系统当前时间并缓存为第一时间变量,通过串口接收卫星导航数据,解析卫星导航数据得到卫星导航数据包含的全部字符串并保存;步骤102:服务应用获取一个保存的字符串作为当前待处理字符串,从当前待处理字符串的卫星系统标识符中获取系统协议标识符,判断系统协议标识符的类型,如为预设系统协议标识符,执行步骤103,否则,执行步骤104;步骤103:服务应用将当前待处理字符串的时间字段域转换为当前待处理字符串的本地时区时间值并保存,执行步骤104;步骤104:服务应用判断是否还存在未获取过的待处理字符串,如果是,返回步骤102,否则,执行步骤105;步骤105:服务应用获取系统当前时间并保存为第二时间变量,根据保存的第一时间变量和第二时间变量得到第一时间补偿值;步骤106:服务应用从保存的所有本地时区时间值中获取数值最大的本地时区时间值,根据第一时间补偿值和数值最大的本地时区时间值得到卫星导航时间;步骤107:服务应用将系统当前时间设置为卫星导航时间。可选地,本实施例中,步骤101还包括:服务应用将第二时间补偿值设置为初始值;步骤102还包括:如服务应用判断系统协议标识符的类型为第三系统协议标识符,判断当前待处理字符串是否存在时间字段域,如果是,服务应用使用当前待处理字符串的时间字段域更新第二时间补偿值,然后执行步骤104,否则,直接执行步骤104;相应地,步骤106具体为:服务应用从保存的所有本地时区时本文档来自技高网
...

【技术保护点】
1.一种通过解析卫星导航数据同步时间的方法,其特征在于,所述方法包括如下步骤:/n步骤101:服务应用获取系统当前时间并缓存为第一时间变量,通过串口接收卫星导航数据,解析所述卫星导航数据得到所述卫星导航数据包含的全部字符串并保存;/n步骤102:所述服务应用获取一个保存的字符串作为当前待处理字符串,从当前待处理字符串的卫星系统标识符中获取系统协议标识符,判断所述系统协议标识符的类型,如为预设系统协议标识符,执行步骤103,否则,执行步骤104;/n步骤103:所述服务应用将当前待处理字符串的时间字段域转换为当前待处理字符串的本地时区时间值并保存,执行步骤104;/n步骤104:所述服务应用判断是否还存在未获取过的待处理字符串,如果是,返回步骤102,否则,执行步骤105;/n步骤105:所述服务应用获取系统当前时间并保存为第二时间变量,根据保存的第一时间变量和第二时间变量得到第一时间补偿值;/n步骤106:所述服务应用从保存的所有本地时区时间值中获取数值最大的本地时区时间值,根据第一时间补偿值和数值最大的本地时区时间值得到卫星导航时间;/n步骤107:所述服务应用将系统当前时间设置为所述卫星导航时间。/n...

【技术特征摘要】
1.一种通过解析卫星导航数据同步时间的方法,其特征在于,所述方法包括如下步骤:
步骤101:服务应用获取系统当前时间并缓存为第一时间变量,通过串口接收卫星导航数据,解析所述卫星导航数据得到所述卫星导航数据包含的全部字符串并保存;
步骤102:所述服务应用获取一个保存的字符串作为当前待处理字符串,从当前待处理字符串的卫星系统标识符中获取系统协议标识符,判断所述系统协议标识符的类型,如为预设系统协议标识符,执行步骤103,否则,执行步骤104;
步骤103:所述服务应用将当前待处理字符串的时间字段域转换为当前待处理字符串的本地时区时间值并保存,执行步骤104;
步骤104:所述服务应用判断是否还存在未获取过的待处理字符串,如果是,返回步骤102,否则,执行步骤105;
步骤105:所述服务应用获取系统当前时间并保存为第二时间变量,根据保存的第一时间变量和第二时间变量得到第一时间补偿值;
步骤106:所述服务应用从保存的所有本地时区时间值中获取数值最大的本地时区时间值,根据第一时间补偿值和数值最大的本地时区时间值得到卫星导航时间;
步骤107:所述服务应用将系统当前时间设置为所述卫星导航时间。


2.如权利要求1所述的方法,其特征在于,所述步骤101还包括:所述服务应用将第二时间补偿值设置为初始值;
所述步骤102还包括:如所述服务应用判断所述系统协议标识符的类型为第三系统协议标识符,判断当前待处理字符串是否存在时间字段域,如果是,所述服务应用使用当前待处理字符串的时间字段域更新第二时间补偿值,然后执行步骤104,否则,直接执行步骤104;
所述步骤106具体为:所述服务应用从保存的所有本地时区时间值中获取数值最大的本地时区时间值,根据所述第一时间补偿值、所述第二时间补偿值和数值最大的本地时区时间值得到卫星导航时间。


3.如权利要求2所述的方法,其特征在于,所述判断当前待处理字符串是否存在时间字段域,具体为:所述服务应用根据第四预设标识符拆分当前待处理字符串得到当前待处理字符串包含的全部字段域,判断当前待处理字符串包含的全部字段域的个数是否为第一预设值,如果是,判定当前待处理字符串存在时间字段域,否则,判定当前待处理字符串不存在时间字段域。


4.如权利要求1所述的方法,其特征在于,所述步骤101中,解析所述卫星导航数据得到所述卫星导航数据包含的全部字符串并保存,具体为:所述服务应用根据第一预设标识符拆分所述卫星导航数据得到所述卫星导航数据包含的全部字符串,将卫星导航数据包含的全部字符串保存在第一存储区。


5.如权利要求4所述的方法,其特征在于,所述服务应用根据第一预设标识符拆分所述卫星导航数据得到所述卫星导航数据包含的全部字符串,具体为:
步骤B1:所述服务应用判断所述卫星导航数据中是否存在第一预设标识符,如果是,将所述卫星导航数据作为当前待拆分卫星导航数据,执行步骤B2,否则,报错并结束;
步骤B2:所述服务应用从当前待拆分卫星导航数据的起始位置开始获取第一预设标识符,截取当前获取到的第一预设标识符之前的数据得到当前字符串并保存在第一存储区,将当前获取到的第一预设标识符之后的待拆分卫星导航数据作为新的当前待拆分卫星导航数据;
步骤B3:所述服务应用判断当前待拆分卫星导航数据中是否还存在第一预设标识符,如果是,返回步骤B2,否则,获取第一存储区中的全部字符串得到所述卫星导航数据包含的全部字符串。


6.如权利要求1所述的方法,其特征在于,所述步骤101之前还包括:所述服务应用向系统注册用于启动定时任务线程的组件,在启动的定时任务线程中打开串口。


7.如权利要求6所述的方法,其特征在于,所述服务应用向系统注册用于启动定时任务线程的组件,在启动的定时任务线程中打开串口,具体包括:
步骤A1:所述服务应用向系统注册授时服务组件和守护进程服务组件;
步骤A2:所述服务应用在所述守护进程服务组件中监听所述授时服务组件的状态;
步骤A3:所述服务应用判断所述授时服务组件的状态是否处于存活状态,如果是,执行步骤A4,否则,执行步骤A5;
步骤A4:所述服务应用向所述系统注册开机自动启动广播组件,在所述开机自动启动广播组件中监听终端的开机广播,判断是否接收到开机广播,如果是,执行步骤A5,否则,继续执行步骤A4;
步骤A5:所述服务应用启动所述授时服务组件,在所述授时服务组件中启动定时任务线程;
步骤A6:所述服务应用在所述定时任务线程中打开串口,判断是否打开成功,如果是,执行步骤101,否则,报错并结束。


8.如权利要求1所述的方法,其特征在于,所述步骤102中,从当前待处理字符串的卫星系统标识符中获取系统协议标识符之前还包括:
步骤M1:所述服务应用判断当前待处理字符串中是否存在第二预设标识符和第三预设标识符,如均存在,执行步骤M2,否则,执行步骤104;
步骤M2:所述服务应用从所述当前待处理字符串中截取第二预设标识符和第三预设标识符之间的数据得到第一待处理数据,截取第三预设标识符之后的数据得到第二待处理数据;
步骤M3:所述服务应用对所述第一待处理数据进行异或运算得到第一校验值,将所述...

【专利技术属性】
技术研发人员:陆舟于华章
申请(专利权)人:飞天诚信科技股份有限公司
类型:发明
国别省市:北京;11

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

1