本发明涉及通信领域的远距离无线电(lora,longrangeradio)技术,尤其涉及一种时间同步方法、装置、系统及计算机存储介质。
背景技术:
在远距离无线电广域网(lorawan,longrangeradiowideareanetwork)中,通信终端主要分为三种类型:a等级双向通信终端、也称为classa终端,b等级双向通信终端、也称为classb终端,以及c等级双向通信终端、也称为classc终端。在这三种类型的通信终端中,由于classb终端的特性,classb终端需要与网关保持时间同步,才能保证数据的正常发送与接收。然而目前通常使用的classb终端与网关保持时间同步的方案具有成本高、增加lorawan复杂度以及效果不佳的缺点。
技术实现要素:
为解决现有存在的技术问题,本发明实施例提供一种时间同步方法、装置、系统及计算机存储介质。
为达到上述目的,本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种时间同步方法,应用于网络服务器,所述方法包括:
接收互联网协议ip上行数据;基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;
当所述转发网关的类型为室内网关时,向所述转发网关发送时间同步请求;所述时间同步请求用于指示所述转发网关向室外网关发送第一时间同步报文;所述第一时间同报文用于指示所述室外网关向所述网络服务器发送第二时间同步报文;
接收至少一个所述第二时间同步报文,基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;
向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述下行数据用于指示所述转发网关基于所述下行数据与所述通信终端进行时间同步。
在上述技术方案中,所述基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识,包括:
对所述ip上行数据按照ip进行第一解析,获得第一解析结果;
基于所述第一解析结果,获得远距离无线电广域网lorawan上行数据和所述ip上行数据包含的时间字段;
根据所述时间字段确定所述转发网关的类型;
对所述lorawan上行数据按照lorawan协议进行第二解析,获得第二解析结果;基于所述第二解析结果,确定所述通信终端的终端标识。
在上述技术方案中,所述基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间,包括:
将所述至少一个第二时间同步报文按照设定条件排序;
基于排序结果,确定与所述转发网关的第一本地时间对应的当前gps时间;
或者,
所述基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间,包括:
基于所述至少一个第二时间同步报文,确定最先接收的第二时间同步报文;
对所述最先接收的第二时间同步报文进行第三解析,获得第三解析结果;
基于所述第三解析结果,获得所述最先接收的第二时间同步报文中的与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;
基于所述gps时间、所述传输时间和所述第一本地时间,获得与所述转发网关的第一本地时间对应的当前gps时间。
在上述技术方案中,所述将所述至少一个第二时间同步报文按照设定条件排序,包括:
将所述至少一个第二时间同步报文按照每一第二时间同步报文中的信号强度的从大到小的顺序进行排序;
对应的,所述基于排序结果,确定所述转发网关的第一本地时间对应的当前gps时间,包括:
基于排序结果,获得排序在第一的信号强度对应的第二时间同步报文;
对所述第二时间同步报文进行第四解析,获得第四解析结果;
基于所述四解析结果,获得与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;
基于所述gps时间、所述传输时间和所述第一本地时间,确定与所述转发网关的第一本地时间对应的当前gps时间。
在上述技术方案中,所述向所述转发网关发送时间同步请求,包括:
按照第一设定周期向所述转发网关发送所述时间同步请求。
在上述技术方案中,根据所述时间字段确定所述转发网关的类型,包括:
判断所述时间字段是否非零且非空;
当判定所述时间字段为非零且非空时,确定所述转发网关的类型为室外网关;
当判定所述时间字段为零或者为空时,确定所述转发网关的类型为室内网关。
在上述技术方案中,所述方法还包括:
当所述转发网关为室外网关时,基于所述ip上行数据,获得与所述转发网关的第一本地时间对应的当前gps时间。
第二方面,本发明实施例还提供一种时间同步方法,应用于室内网关,所述方法包括:
接收时间同步请求,对所述时间同步请求进行第五解析,获得第五解析结果;
基于所述第五解析结果中的第一同步标识生成第一时间同步报文;
按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;所述第一时间同步报文用于指示至少一个室外网关向网络服务器发送第二时间同步报文;
接收至少包括当前全球定位系统gps时间和终端标识的下行数据;所述当前全球定位系统gps时间为网络服务器基于至少一个所述第二时间同步报文获得的与所述室内网关的第一本地时间相对应的gps时间;所述终端标识为网络服务器基于接收到的互联网协议ip上行数据确定的;
基于所述下行数据与所述终端标识对应的通信终端进行时间同步。
在上述技术方案中,所述基于所述下行数据与所述终端标识对应的通信终端进行时间同步,包括:
基于所述下行数据,获得所述室内网关的第一本地时间对应的当前gps时间和终端标识;
基于所述第一本地时间对应的当前gps时间生成信标beacon报文;
向所述终端标识对应的通信终端发送所述beacon报文;所述beacon报文用于指示所述通信终端基于所述beacon报文与所述室内网关进行时间同步。
在上述技术方案中,所述基于所述下行数据,获得所述室内网关的第一本地时间对应的当前gps时间,包括:
按照ip对所述下行数据进行第六解析,获得第六解析结果;
基于所述第六解析结果,获得与所述室内网关的第一本地时间对应的当前gps时间。
在上述技术方案中,所述向所述终端标识对应的通信终端发送所述beacon报文,包括:
按照第二设定周期向所述终端标识对应的通信终端发送所述beacon报文。
在上述技术方案中,所述基于所述第五解析结果中的第一同步标识生成第一时间同步报文,包括:
基于所述第五解析结果,获得第一同步标识;
基于所述第一同步标识,按照lorawan协议封装第一时间同步报文。
在上述技术方案中,所述网关控制参数至少包括报文发送周期,对应的,所述按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文,包括:按照所述报文发送周期发送所述第一同步时间报文。
第三方面,本发明实施例提供一种时间同步装置,应用于网络服务器,所述装置包括:第一接收单元、第一确定单元、第一发送单元、第二接收单元、第一获得单元和第二发送单元,其中,
所述第一接收单元,用于接收互联网协议ip上行数据;
所述第一确定单元,用于基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;
所述第一发送单元,用于向所述转发网关发送时间同步请求;所述时间同步请求用于指示所述转发网关向室外网关发送第一时间同步报文;所述第一时间同报文用于指示所述室外网关向所述网络服务器发送第二时间同步报文;
所述第二接收单元,用于接收至少一个所述第二时间同步报文;
所述第一获得单元,用于基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;
所述第二发送单元,用于向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述下行数据用于指示所述转发网关基于所述下行数据与所述通信终端进行时间同步。
在上述技术方案中,所述第一确定单元包括:第一解析子单元、第一获得子单元、第一确定子单元、第二解析子单元和第二确定子单元,其中,
所述第一解析子单元,用于对所述ip上行数据按照ip进行第一解析,获得第一解析结果;
所述第一获得子单元,用于基于所述第一解析结果,获得远距离无线电广域网lorawan上行数据和所述ip上行数据包含的时间字段;
所述第一确定子单元,用于根据所述时间字段确定所述转发网关的类型;
所述第二解析子单元,用于对所述lorawan上行数据按照lorawan协议进行第二解析,获得第二解析结果;
所述第二确定子单元,用于基于所述第二解析结果,确定所述通信终端的终端标识。
在上述技术方案中,所述第一获得单元包括排序子单元和第三确定子单元,其中,
所述排序子单元,用于将所述至少一个第二时间同步报文按照设定条件排序;
所述第三确定子单元,用于基于排序结果,确定与所述转发网关的第一本地时间对应的当前gps时间;
或者,
所述第一获得单元,具体用于:基于所述至少一个第二时间同步报文,确定最先接收的第二时间同步报文;对所述最先接收的第二时间同步报文进行第三解析,获得第三解析结果;基于所述第三解析结果,获得所述最先接收的第二时间同步报文中的与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;基于所述gps时间、所述传输时间和所述第一本地时间,获得与所述转发网关的第一本地时间对应的当前gps时间。
在上述技术方案中,所述排序子单元,具体用于:将所述至少一个第二时间同步报文按照每一第二时间同步报文中的信号强度的从大到小的顺序进行排序;
所述第三确定子单元,具体用于:基于排序结果,获得排序在第一的信号强度对应的第二时间同步报文;对所述第二时间同步报文进行第四解析,获得第四解析结果;基于所述四解析结果,获得与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;基于所述gps时间、所述传输时间和所述第一本地时间,确定与所述转发网关的第一本地时间对应的当前gps时间。
在上述技术方案中,所述第一发送单元,具体用于:按照第一设定周期向所述转发网关发送所述时间同步请求。
在上述技术方案中,所述第一确定子单元,具体用于:判断所述时间字段是否非零且非空;当判定所述时间字段为非零且非空时,确定所述转发网关的类型为室外网关;当判定所述时间字段为零或者为空时,确定所述转发网关的类型为室内网关。
在上述技术方案中,所述装置还包括:第二获得单元,用于当所述转发网关为室外网关时,基于所述ip上行数据,获得与所述转发网关的第一本地时间对应的当前gps时间。
第四方面,本发明实施例还提供一种时间同步装置,应用于室内网关,所述装置包括:第三接收单元、解析单元、生成单元、第三发送单元、第四接收单元和时间同步单元,其中,
所述第三接收单元,用于接收时间同步请求;
所述解析单元,用于对所述时间同步请求进行第五解析,获得第五解析结果;
所述生成单元,用于基于所述第五解析结果中的第一同步标识生成第一时间同步报文;
所述第三发送单元,用于按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;所述第一时间同步报文用于指示至少一个室外网关向网络服务器发送第二时间同步报文;
所述第四接收单元,用于接收至少包括当前全球定位系统gps时间和终端标识的下行数据;所述当前全球定位系统gps时间为网络服务器基于至少一个所述第二时间同步报文获得的与所述室内网关的第一本地时间相对应的gps时间;所述终端标识为网络服务器基于接收到的互联网协议ip上行数据确定的;
所述时间同步单元,用于基于所述下行数据与所述终端标识对应的通信终端进行时间同步。
在上述技术方案中,所述时间同步单元包括:第二获得子单元、生成子单元和发送子单元,其中,
所述第二获得子单元,用于基于所述下行数据,获得所述室内网关的第一本地时间对应的当前gps时间和终端标识;
所述生成子单元,用于基于所述第一本地时间对应的当前gps时间生成信标beacon报文;
所述发送子单元,用于向所述终端标识对应的通信终端发送所述beacon报文;所述beacon报文用于指示所述通信终端基于所述beacon报文与所述室内网关进行时间同步。
在上述技术方案中,所述第二获得子单元,具体用于:按照ip对所述下行数据进行第六解析,获得第六解析结果;基于所述第六解析结果,获得与所述室内网关的第一本地时间对应的当前gps时间。
在上述技术方案中,所述发送子单元,具体用于:按照第二设定周期向所述终端标识对应的通信终端发送所述beacon报文。
在上述技术方案中,所述生成单元,具体用于:基于所述第五解析结果,获得第一同步标识;基于所述第一同步标识,按照lorawan协议封装第一时间同步报文。
在上述技术方案中,所述网关控制参数至少包括报文发送周期,对应的,所述第三发送单元,用于按照所述报文发送周期发送所述第一同步时间报文。
第五方面,本发明实施例提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述方法的步骤。
第六方面,本发明实施例提供一种时间同步装置,所述时间同步装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求上述任一项所述方法的步骤。
第七方面,本发明实施例还提供一种时间同步系统,所述系统包括:网络服务器、室内网关和至少一个室外网关,其中,
所述网络服务器,用于所述ip上行数据,基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;当所述转发网关的类型为室内网关时,向所述转发网关发送时间同步请求;接收至少一个第二时间同步报文,基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述第二时间同步报文为室外网关基于第一时间同报文获得的,所述第一时间同步报文为室内网关基于所述时间同步请求获得的;
所述室内网关,用于接收时间同步请求,对所述时间同步请求进行第五解析,获得第五解析结果;基于所述第五解析结果中的第一同步标识生成所述第一时间同步报文;按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;接收至少包括所述当前gps时间和所述终端标识的下行数据;基于所述下行数据与所述终端标识对应的通信终端进行时间同步;
所述至少一个室外网关中的每一室外网关,用于接收所述第一时间同步报文,基于所述第一时间同步报文,获得第二时间同步报文;向所述网络服务器发送所述第二时间同步报文。
在上述技术方案中,所述网络服务器包括:
第一接收组件,用于接收所述ip上行数据;
第一确定组件,用于基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;
第一发送组件,用于向所述转发网关发送时间同步请求;所述时间同步请求用于指示所述转发网关向室外网关发送第一时间同步报文;所述第一时间同报文用于指示所述室外网关向所述网络服务器发送第二时间同步报文;
第二接收组件,用于接收至少一个所述第二时间同步报文;
第一获得组件,用于基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;
第二发送组件,用于向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述下行数据用于指示所述转发网关基于所述下行数据与所述通信终端进行时间同步。
在上述技术方案中,所述室内网关,包括:
第三接收组件,用于接收时间同步请求;
解析组件,用于对所述时间同步请求进行第五解析,获得第五解析结果;
生成组件,用于基于所述第五解析结果中的第一同步标识生成第一时间同步报文;
第三发送组件,用于按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;所述第一时间同步报文用于指示至少一个室外网关向网络服务器发送第二时间同步报文;
第四接收组件,用于接收至少包括当前全球定位系统gps时间和终端标识的下行数据;所述当前全球定位系统gps时间为网络服务器基于至少一个所述第二时间同步报文获得的与所述室内网关的第一本地时间相对应的gps时间;所述终端标识为网络服务器基于接收到的互联网协议ip上行数据确定的;
时间同步组件,用于基于所述下行数据与所述终端标识对应的通信终端进行时间同步。
在上述技术方案中,所述至少一个室外网关中的每一室外网关包括:
第五接收组件,用于接收所述第一时间同步报文;
第三获得组件,用于基于所述第一时间同步报文,获得第二时间同步报文;
第四发送组件,用于向所述网络服务器发送所述第二时间同步报文。
在上述技术方案中,所述第一确定组件,具体用于:对所述ip上行数据按照ip进行第一解析,获得第一解析结果;基于所述第一解析结果,获得远距离无线电广域网lorawan上行数据和所述ip上行数据包含的时间字段;根据所述时间字段确定所述转发网关的类型;对所述lorawan上行数据按照lorawan协议进行第二解析,获得第二解析结果;基于所述第二解析结果,确定所述通信终端的终端标识。
在上述技术方案中,所述第一获得组件,具体用于:将所述至少一个第二时间同步报文按照设定条件排序;基于排序结果,确定与所述转发网关的第一本地时间对应的当前gps时间,或者,具体用于:基于所述至少一个第二时间同步报文,确定最先接收的第二时间同步报文;
对所述最先接收的第二时间同步报文进行第三解析,获得第三解析结果;
基于所述第三解析结果,获得所述最先接收的第二时间同步报文中的与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;
基于所述gps时间、所述传输时间和所述第一本地时间,获得与所述转发网关的第一本地时间对应的当前gps时间。
在上述技术方案中,所述时间同步组件,具体用于:基于所述下行数据,获得所述室内网关的第一本地时间对应的当前gps时间和终端标识;基于所述第一本地时间对应的当前gps时间生成信标beacon报文;向所述终端标识对应的通信终端发送所述beacon报文;所述beacon报文用于指示所述通信终端基于所述beacon报文与所述室内网关进行时间同步。
在上述技术方案中,,所述生成组件,具体用于:基于所述第五解析结果,获得第一同步标识;基于所述第一同步标识,按照lorawan协议封装第一时间同步报文。
在上述技术方案中,所述网关控制参数至少包括报文发送周期,对应的,所述第三发送组件,用于按照所述报文发送周期发送所述第一同步时间报文。
在上述技术方案中,所述网络服务器,还用于基于所述ip上行数据,获得与所述转发网关的第一本地时间对应的当前gps时间。
本发明实施例提供一种时间同步方法、装置、系统及计算机存储介质,其中,应用于网络服务器的方法包括:接收互联网协议ip上行数据;基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;当所述转发网关的类型为室内网关时,向所述转发网关发送时间同步请求;所述时间同步请求用于指示所述转发网关向室外网关发送第一时间同步报文;所述第一时间同报文用于指示所述室外网关向所述网络服务器发送第二时间同步报文;接收至少一个所述第二时间同步报文,基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述下行数据用于指示所述转发网关基于所述下行数据与所述通信终端进行时间同步。采用本发明实施例所提供的方法,lorawan中不能获得gps时间的网关可以通过与能够获得gps时间的网关交互获取当前gps时间,进而基于该当前gps时间使classb终端保持与该网关时间同步,采用这种方式,不仅不会增加lorawan拓扑的复杂性和部署成本,而且还可以提高网关的有效利用率。
附图说明
图1为相关技术中lorawan的一种系统结构示意图;
图2为本发明实施例提供的一种时间同步方法流程示意图;
图3为本发明实施例提供的另一种时间同步方法流程示意图;
图4为本发明实施例提供的一种时间同步方法的交互流程示意图;
图5为本发明实施例提供的时间同步方法的一种应用场景示意图;
图6为本发明实施例提供的一种时间同步装置的结构示意图;
图7为本发明实施例提供的另一种时间同步装置的结构示意图;
图8为本发明实施例提供的一种时间同步系统结构示意图;
图9为本发明实施例提供的一种时间同步装置的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对发明的具体技术方案做进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
为了便于理解本发明,首先对lorawan的相关技术作简单的介绍。
lorawan是基于远距离(lora,longrange)通信协议设计的系统架构,被广泛应用于物联网中,该系统架构如图1所示,通信终端通过lora无线通信方式与网关连接;网关通过互联网协议(ip,internetprotocol)网络与网络服务器连接,其中,ip网络可以为:移动蜂窝网络,比如,第三代移动通信技术、也称为3g,或第四代移动通信技术、也称为4g等,无线保真(wifi,wirelessfidelity),以太网(ethernet)等。在该网络结构中,网关在lorawan中起到连接网络服务器和通信终端的作用,具体来讲,通信终端可以通过网关向网络服务器发送数据,这个过程称为上行过程,通信终端发送的数据称为上行数据;网络服务器可以通过网关向通信终端发送数据,此过程称为下行过程,网络服务器发送的数据称为下行数据。需要说明的是,在lorawan中的网关上也安装着能够按照lorawan协议发送数据的功能性模块,因此,在网关之间也可以按照lorawan协议进行数据交互。
在lorawan中,通信终端可大致分为:a等级双向通信终端、b等级双向通信终端以及c等级双向通信终端,其中,a等级双向通信终端,也可以称为classa终端,该类型的通信终端采用aloha协议、按照需求经过网关向网络服务器发送上行数据,并且在每次上行数据发送完后紧跟两个短暂的下行窗口,以在下行窗口接收网络服务器通过网关向classa终端发送的应答,此类型的通信终端的应用场景可以为:垃圾桶监测、烟雾报警器、气体监测等。
c等级双向通信终端,也称为classc终端,该类型的通信终端的下行窗口一直打开,只有在其发送上行数据过程中下行窗口会短暂的关闭,由于该类型的通信终端的下行窗口一直处于开启状态,也可以说,该类型的通信终端一直持续的处于接收状态,网络服务器可以在任意时间向classc终端发送下行数据,classc终端的应用场景可以为路灯的控制等。
对于b等级双向通信终端,也称为classb终端,该类型的通信终端应用的场景可以为阀控水气电表等。classb终端除了具有classa终端的特性之外,还具有一些独有的特性,具体为:classb终端会在指定时间打开下行窗口,接收网络服务器经网关发送的下行数据。然而,为了实现classb终端可以在指定时间打开下行窗口,classb终端需要从网关中获取全球定位系统(gps,globalpositioningsystem)时间,并基于获取的gps时间调整自身的时间,以与网关保持时间同步,这样才能保证数据的正常发送与接收。目前,通常采用的保持classb终端与网关时间同步的方式有以下两种:
一种是,在lorawan中的每一网关上均设置gps模块,网关利用gps模块获取当前gps时间,然后,向classb终端发送携带有当前gps时间的信标(beacon)报文,classb终端接收该beacon报文,并基于该beacon报文获得当前gps时间,并基于该当前gps时间调整自身的时间,以与网关保持时间同步。然而,采用该方式,需要lorawan中的每一网关在硬件上设置gps模块,这样增加了每一网关的硬件体积和成本;并且由于gps微波信号穿透能力较弱,在室内无法获取gps微波信号,导致gps模块在室内不可用,降低了网关的有效利用率,也是变相的浪费了资源。
另一种是,在lorawan中,额外的增加一个第三方时间同步服务器,网关按照一定的周期从第三方时间同步服务器获取当前gps时间,然后,向classb终端发送携带有当前gps时间的beacon报文,classb终端接收该beacon报文,并基于该beacon报文获得当前gps时间,并基于该当前gps时间调整自身的时间,以与网关保持时间同步。然而,采用该方式,需要额外的增加第三方时间同步服务器,增加了lorawan拓扑的复杂性和部署成本,其中,第三方时间同步服务器是一种专门用来获取准确时间的服务器,可以为上百万的用户提供可靠的时间,通常常用的第三方时间服务器为网络时间协议(ntp,networktimeprotocol)服务器。
基于此,本发明实施例提供一种时间同步方法,在lorawan部署时,位于室外的网关才安装有gps模块,因此,可将安装有gps模块的网关称为室外网关,而位于室内的网关不安装gps模块,因此,可将未安装gps模块的网关称为室内网关,这样,室外网关可以通过自身安装的gps模块获取当前gps时间,并向classb终端发送携带有当前gps时间的beacon报文,classb终端接收该beacon报文,并基于该beacon报文获得当前gps时间,并基于该当前gps时间调整自身的时间,以与室外网关保持时间同步;而室内网关可以通过与具有gps模块的室外网关的交互获取当前gps时间,并向classb终端发送携带有当前gps时间的beacon报文,classb终端接收该beacon报文,并基于该beacon报文获得当前gps时间,并基于该当前gps时间调整自身的时间,以使classb终端保持准确的gps时间。由于室外网关与classb终端保持时间同步的方式与相关技术中的时间同步的方式相同,本发明实施例重点研究如何使室内网关与classb终端保持时间同步。
下面结合附图及具体实施例对本发明作进一步详细的说明。
如图2所示,其示出一种时间同步的方法流程示意图,应用于网络服务器,所述方法包括:
s201:接收互联网协议ip上行数据;基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识。
需要说明的是,ip上行数据是转发网关向网络服务器发送的数据。在实际应用过程中,ip上行数据的获得过程可以如下:
通信终端向转发网关发送lorawan上行数据;
所述转发网关接收所述lorawan上行数据,按照ip对所述lorawan上行数据进行处理,获得ip上行数据,向网络服务器发送所述ip上行数据。
需要说明的是,通信终端按照lorawan协议封装需要发送的数据,得到lorawan上行数据,然后,按照lorawan协议向转发网关发送lorawan上行数据,其中,lorawan上行数据至少包括通信终端的终端标识,所述终端标识为一种唯一性标识,换句话说,终端标识像一个身份标识,来标识通信终端的唯一性。在后续的数据传输过程中,有关通信终端的数据均带有其终端标识,比如,ip上行数据中也包含通信终端的终端标识等。
在一些实施例中,所述转发网关按照ip对所述lorawan上行数据进行处理,包括:在lorawan上行数据中添加网关相关信息字段,其中,网关相关信息字段可以包括时间字段、网关标识字段、信道标识字段、信号强度字段、传输时间字段等;所述时间字段至少包括所述转发网关接收到lorawan上行数据时的gps时间;所述网关标识字段可以至少包括网关标识码,比如,网关标识码可以采用网关的身份(identification)标识号;所述信道标识字段至少包括转发网关向网络服务器发送ip上行数据所采用信道的信道标识;所述信号强度字段至少包括转发网关向网络服务器发送ip上行数据所采用的信号强度;传输时间字段至少包括lorawan上行数据从通信终端到转发网关所需的传输时间。转发网关按照ip在lorawan上行数据中添加网关相关信息字段后,便得到了ip上行数据,并向网络服务器发送所述ip上行数据。
需要说明的是,根据lorawan协议,通信终端发送的lorawan上行数据可以被一个或者多个网关接收到,因此,此处的转发网关可以为室内网关或室外网关。在此基础上,转发网关按照ip对所述lorawan上行数据进行处理包括两种处理方式:在lorawan上行数据中添加室内网关相关信息字段;或者,在lorawan上行数据中添加室外网关相关信息字段;其中,室内网关相关信息字段与室外网关相关信息字段包含的字段相同,仅字段中包含的内容不同,换句话说,室内网关相关信息字段中的时间字段可以为空或者为零,而室外网关相关信息字段中的时间字段可以为非空且非零;室内网关相关信息字段中的网关标识字段为室内网关标识,而室外网关相关信息字段中的网关标识字段为室外网关标识等。
基于此,网络服务器基于ip上行数据确定转发网关的类型和通信终端的终端标识的过程,是前述ip上行数据的获得过程的逆过程。
在一些实施例中,基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识,包括:
对所述ip上行数据按照ip进行第一解析,获得第一解析结果;
基于所述第一解析结果,获得远距离无线电广域网lorawan上行数据和所述ip上行数据包含的时间字段;
根据所述时间字段确定所述转发网关的类型;
对所述lorawan上行数据按照lorawan协议进行第二解析,获得第二解析结果;基于所述第二解析结果,确定所述通信终端的终端标识。
需要说明的是,需要说明的是,此处第一解析中的“第一”,以及后续的第二解析、第三解析、第四解析、第五解析、第六解析中的“第二”、“第三”、“第四”、“第五”、“第六”仅是对不同解析过程的区别,不用于限制本发明。
需要说明的是,转发网关的类型包括:室内网关、室外网关,具体来讲,将安装有gps模块的网关,称为室外网关;将未安装gps模块的网关,称为室内网关。室外网关具有gps模块可以获得gps时间;室内网关没有gps模块不能获得gps时间。基于此,当转发网关是室内网关时,室内网关按照ip将lorawan上行数据进行封装后,获得的ip上行数据中的时间字段不包含gps时间,在这样的情况下,ip上行数据的时间字段为空或者为零;而在室外网关按照ip将lorawan上行数据进行封装时,ip上行数据的时间字段有gps时间,在这样的情况下,ip上行数据的时间字段为空或者为零。
在实际应用过程中,所述根据所述时间字段确定所述转发网关的类型,包括:
判断所述时间字段是否非零且非空;
当判定所述时间字段为非零且非空时,确定所述转发网关的类型为室外网关;
当判定所述时间字段为零或者为空时,确定所述转发网关的类型为室内网关。
s202:当所述转发网关的类型为室内网关时,向所述转发网关发送时间同步请求;所述时间同步请求用于指示所述转发网关向室外网关发送第一时间同步报文;所述第一时间同报文用于指示所述室外网关向所述网络服务器发送第二时间同步报文。
需要说明的是,所述时间同步请求至少包括第一同步标识和网关控制参数,其中,第一同步标识为在网络服务器判断转发网关为室内网关时触发该转发网关获取gps时间的标识,在一些实施例中,第一同步标识可以包含在时间同步请求的一个字段中,如sync字段,具体来讲,当网络服务器判断转发网关的类型为室内网关,则网络服务器判定该转发网关需要获取gps时间,此时,网络服务器将时间同步请求的sync字段设置为true,此true就为第一同步标识。
在实际应用过程中,网关控制参数可以是网络服务器为所述转发网关发送第一时间同步报文设置的相关参数,比如,网关控制参数可以包括报文发送频点、报文发送周期等,其中,所述报文发送频点是指所述转发网关发送第一时间同步报文所需频点;所述报文发送周期是指所述转发网关发送第一时间同步报文的周期,换句话说,所述转发网关按照什么样的周期发送第一时间同步报文。其中,所述报文发送频点是根据在lorawan中使用所述转发网关的型号和lorawan部署地域确定。所述报文发送周期可以由用户设置,比如,报文发送周期可以为120秒(s)。需要说明的是,所述转发网关可以通过报文发送周期定期的发送第一时间同步报文,以便所述转发网关可以定期的获取与所述第一本地时间对应的当前gps时间,从而保证通信终端与所述转发网关的时间同步。
需要说明的是,第一时间同步报文是一种基于lorawan协议的报文,是由转发网关基于时间同步请求生成的,其具体生成过程可以如下:转发网关接收所述时间同步请求,并对所述时间同步请求进行解析、获得第一同步标识之后,所述转发网关基于第一同步标识,按照lorawan协议封装第一时间同步报文,其中,所述第一时间同步报文中至少包含第二同步标识、网关标识码和第一本地时间;所述第二同步标识用于标识所述转发网关需要获取gps时间;所述网关标识码所起的作用与通信终端的终端标识所起的作用相同;所述第一本地时间为所述转发网关发送所述第一时间同步报文的时间。
在实际应用过程中,所述转发网关发送的第一时间同步报文可以被至少一个室外网关接收,每一室外网关接收到该第一时间同步报文并将接收到的第一时间同步报文进行处理,获得第二时间同步报文,以向网络服务器发送该第二时间同步报文,在一些实施例中,室外网关获得第二时间同步报文的过程可以如下:
基于所述第一时间同步报文,获得所述第一时间同步报文的传输时间;
确定接收到所述第一时间同步报文的第二本地时间;
基于所述第二本地时间,确定与所述第二本地时间对应的gps时间;
基于与所述第二本地时间对应的gps时间、所述传输时间和所述第一时间同步报文,获得第二时间同步报文。
需要说明的是,由于室外网关同样具有网关的一般特性,因此,室外网关会对所述与第二本地时间对应的gps时间、所述传输时间和所述第一时间同步报文按照ip进行封装,获得第二时间同步报文,也就是,室外网关按照ip封装第二时间同步报文,所述第二时间同步报文也包括室外网关相关信息字段,具体来讲,室外网关相关信息字段也可以包括时间字段、网关标识字段、信道标识字段、信号强度字段、传输时间字段等。其中,在该第二时间同步报文中,所述时间字段至少包括第二本地时间和与所述第二本地时间对应的gps时间,所述第二本地时间为室外网关接收到所述第一时间同步报文的时间;所述网关标识字段用于至少包括室外网关标识码,比如,室外网关标识码可以采用室外网关的身份(identification)标识号;所述信道标识字段至少包括室外网关向网络服务器发送的第二时间同步报文所采用信道的信道标识;所述信号强度字段至少包括室外网关向网络服务器发送的第二时间同步报文所采用的信号强度;所述传输时间字段至少包括传输时间,所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间。
为了确保在所述转发网关能够获取到的当前gps时间,在一些实施例中,所述向所述转发网关发送时间同步请求,包括:
按照第一设定周期向所述转发网关发送所述时间同步请求。
需要说明的是,所述第一设定周期可以由用户设定,比如,第一设定周期设置为5分钟/次。这样,在所述转发网关在经过第一设定周期之后仍然没有获得当前gps时间,网络服务器可以重新向所述转发网关发送时间同步请求,所述转发网关可以重现接收间同步请求,并基于时间同步请求获取当前gps时间。这样设置可以室内网关获取当前gps时间的成功率,极大的保证了通信终端与转发网关之间数据发送的成功率。
s203:接收至少一个所述第二时间同步报文,基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间。
需要说明的是,在lorawan中,通常会部署多个网关,包括室内网关和室外网关,那么,在所述转发网关广播第一时间同步报文时,就不止一个室外网关可以接收到第一时间同步报文,因此,在每一个室外网关接收到第一时间同步报文,都会对第一时间同步报文进行处理,获取每一室外网关对应的第二时间同步报文,并且所述每一室外网关会向网络服务器发送所述对应的第二时间同步报文,则网络服务器会接收到至少一个第二时间同步报文。在这种情况下,网络服务器获得与所述转发网关的第一本地时间对应的当前gps时间的方式均有多种多样。
作为一种实现方式,基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前gps时间,包括:
将所述至少一个第二时间同步报文按照设定条件排序;
基于排序结果,确定与所述转发网关的第一本地时间对应的当前gps时间;
或者,
作为另一种实现方式,基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间,包括:
基于所述至少一个第二时间同步报文,确定最先接收的第二时间同步报文;
对所述最先接收的第二时间同步报文进行第三解析,获得第三解析结果;
基于所述第三解析结果,获得所述最先接收的第二时间同步报文中的与所述第二本地时间对应的gps时间、传输时间和第一本地时间,
基于所述gps时间、所述传输时间和所述第一本地时间,获得与所述转发网关的第一本地时间对应的当前gps时间。
需要说明的是,设定条件可以是第二时间同步报文中的信号强度的大小、第二本地时间的先后、与第二本地时间对应的gps的先后等。
在一些实施例中,在对所述至少一个第二时间同步报文按照设定条件排序之前,所述方法还包括:对所接收到的所有第二时间同步报文进行解析,获取每一第二时间同步报文的信号强度。
在一些实施例中,当设定条件为第二时间同步报文中的信号强度的大小时,需要获得是每一第二时间同步报文的信号强度;在这种情况下,所述将所述至少一个第二时间同步报文按照设定条件排序,可以包括:
将所述至少一个第二时间同步报文按照每一第二时间同步报文中的信号强度从大到小的顺序进行排序;
对应的,基于排序结果,确定所述网关的第一本地时间对应的当前gps时间,包括:
基于排序结果,获得排序在第一的信号强度对应的第二时间同步报文;
对所述第二时间同步报文进行第四解析,获得第四解析结果;
基于所述第四解析结果,获得与第二本地时间对应的gps时间、传输时间和第一本地时间;所述传输时间为所述转发网关向室外网关发送的所述第一时间同步报文所需的时间;
基于所述与所述第二本地时间对应的gps时间、所述传输时间和所述第一本地时间,确定与所述转发网关的第一本地时间对应的当前gps时间。
具体来讲,基于所述与所述第二本地时间对应的gps时间和所述传输时间,确定与所述转发网关的第一本地时间对应的当前gps时间,包括:将所述与所述第二本地时间对应的gps时间减去所述传输时间,获得差值,将该差值作为所述转发网关的第一本地时间对应的当前gps时间。
在另一些实施例中,所述将所述至少一个第二时间同步报文按照设定条件排序,也可以包括:按照每一第二时间同步报文中的信号强度从小到大的顺序对所述至少一个第二时间同步报文进行排序;对应的,基于排序结果,确定所述转发网关的第一本地时间对应的当前gps时间,也可以包括:基于排序结果,获得排序在最后的信号强度对应的第二时间同步报文,并获得该第二时间同步报文中的与所述第二本地时间对应的gps时间、传输时间和第一本地时间,基于所述与所述第二本地时间对应的gps时间、所述传输时间和所述第一本地时间,确定与所述转发网关的第一本地时间对应的当前gps时间。具体计算过程与前述类似,在此不再赘述。
示例性的,当所述至少一个第二时间同步报文为3个第二时间同步报文,分别记作第二时间同步报文1、第二时间同步报文2、第二时间同步报文3,其包含的信号强度依次为60db、70db以及80db,则,按照前述的信号强度的从大到小进行排序为第二时间同步报文3、第二时间同步报文2、第二时间同步报文1。在这种情况下,基于排序结果,确定所述网关的第一本地时间对应的当前gps时间,包括:获得第二时间同步报文3中与第二本地时间对应的gps时间、所述第一时间同步报文的传输时间和第一本地时间,将所述与第二本地时间对应的gps时间减去所述第一时间同步报文的传输时间,获得与所述转发网关的第一本地时间对应的当前gps时间。
需要说明的是,网络服务器按照第二时间同步报文中的信号强度从大到小排序计算与所述网关的第一本地时间对应的当前gps时间,可基于按照第二时间同步报文中的信号强度从小到大排序计算与所述网关的第一本地时间对应的当前gps时间进行理解,在此不再赘述。
需要说明的是,在实际应用过程中,按照第二本地时间的先后、与第二本地时间对应的gps的先后排序,进而获得与所述转发网关的第一本地时间对应的当前gps时间与按照信号强度排序,获得当前gps时间的过程类似,其详细过程不再赘述。
需要说明的是,网络服务器可以根据自身的计时器确定最先接收的第二时间同步报文。具体如何计算获得所述网关的第一本地时间对应的当前gps时间,可参考前述描述。
s204:向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述下行数据用于指示所述转发网关基于所述下行数据与所述通信终端进行时间同步。
需要说明的是,网络服务器按照ip将至少包括当前gps时间和终端标识的数据进行封装,获得下行数据,并向所述转发网关发送所述下行数据。所述转发网关接收所述下行数据,并基于所述下行数据与所述通信终端进行时间同步。
在一些实施例中,所述转发网关基于所述下行数据与所述通信终端进行时间同步的过程可以如下:基于所述下行数据,获得所述转发网关的第一本地时间对应的当前gps时间和所述通信终端的终端标识,基于所述第一本地时间对应的当前gps时间生成beacon报文,向所述终端标识对应的通信终端发送所述beacon报文;所述beacon报文用于指示所述通信终端基于所述beacon报文与所述转发网关进行时间同步。
需要说明的是,所述beacon报文至少包括第三本地时间和与所述第三本地时间对应的gps时间。所述第三本地时间为所述转发网关发送所述beacon报文的时间。在实际应用过程中,所述beacon报文的第三本地时间可以为宇宙统一时间(utc,coordinateduniversaltime)。所述与所述第三本地时间对应的gps时间等于所述第三本地时间减去所述第一本地时间,然后再加上所述与所述第一本地时间对应的当前gps时间。
在实际应用过程中,所述通信终端接收所述beacon报文,基于所述beacon报文,获得所述与所述第三本地时间对应的gps时间、所述第三本地时间和所述beacon报文的传输时间,基于所述与所述第三本地时间对应的gps时间、所述第三本地时间、第四本地时间和所述beacon报文的传输时间,保持与所述转发网关时间同步。需要说明的是,所述第四本地时间为通信终端接收到所述beacon报文的时间。
在实际应用过程中,所述通信终端基于所述与所述第三本地时间对应的gps时间、所述第三本地时间、第四本地时间和所述beacon报文的传输时间,保持与所述转发网关时间同步,包括:
基于所述第三本地时间、所述第四本地时间和所述beacon报文的传输时间,获取所述通信终端与所述转发网关之间的时钟偏差;
基于所述时钟偏差、所述beacon报文的传输时间和所述与所述第三本地时间对应的gps时间,保持与所述转发网关时间同步。
具体来讲,时钟偏差等于所述第四本地时间减去第三本地时间,再减去所述beacon报文的传输时间。
在一些实施例中,通信终端基于所述时钟偏差、所述beacon报文的传输时间和所述与所述第三本地时间对应的gps时间,保持与所述转发网关时间同步,包括:将所述与所述第三本地时间对应的gps时间加上所述beacon报文的传输时间,获得与所述第四本地时间对应的gps时间;将所述与所述第四本地时间对应的gps时间和所述第四本地时间同时减去所述时钟偏差,以保持与所述转发网关的时间同步。
在一些实施例中,在两个beacon报文时间间隔之间,通信终端会随机的开启一些下行窗口,需要说明的是,用户可以通过网络服务器更改在两个beacon报文时间间隔之间、通信终端开启下行窗口的时机和数量。其中,每一下行窗口,也可以称为一个pingslot。在一个下行窗口维持开通期间,通信终端若接收到网关发送的下行数据,则直到通信终端接收完整该下行数据,才会关闭该下行窗口。若在一个下行窗口维持开通期间没有接收到数据,一个下行窗口维持的时长大概在30-40微秒(μs)。
在一些实施例中,当网络服务器判定所述转发网关的类型为室外网关时,所述方法还包括:基于所述ip上行数据,获得与所述转发网关的第一本地时间对应的当前gps时间。
需要说明的是,由于室外网关发送的ip上行数据中包含与本地时间对应的gps时间,也即,网络服务器可以直接基于接收到的ip上行数据获得与所述转发网关的第一本地时间对应的当前gps时间。然后,网络服务器向所述转发网关发送至少包括与所述转发网关的第一本地时间对应的当前gps时间和通信终端的终端标识的下行数据。然后,所述转发网关接收所述下行数据,基于所述下行数据与所述终端标识对应的通信终端进行时间同步,具体如何同步,可基于前述描述进行理解,在此不再赘述。
本发明实施例提供的应用于网络服务器的时间同步方法,仅需要在lorawan中部署部分安装有gps模块的网关(称为室外网关),未安装gps模块的网关(称为室内网关)可以基于网络服务器和室外网关的辅助,获得与本地时间对应的gps时间,然后通过beacon报文,使通信终端与其保持时间同步,从而保证数据的正常收发,这样不仅不会增加lorawan的拓扑复杂性,并且室内网关不会出现因为无法获取准确的gps时间,无法与通信终端进行正常的数据收发,而被废弃不用的情况,这样侧面提高了lorawan中每一网关的利用率。
基于相同发明构思,本发明实施例还提供另一种时间同步方法,应用于室内网关侧,如图3所示,其示出本发明实施例的另一种时间同步方法流程,所述方法包括:
s301:接收时间同步请求,对所述时间同步请求进行第五解析,获得第五解析结果;
s302:基于所述第五解析结果中的第一同步标识生成第一时间同步报文;
s303:按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;所述第一时间同步报文用于指示至少一个室外网关向网络服务器发送第二时间同步报文;
s304:接收至少包括当前全球定位系统gps时间和终端标识的下行数据;所述当前全球定位系统gps时间为网络服务器基于至少一个所述第二时间同步报文获得的与所述室内网关的第一本地时间相对应的gps时间;所述终端标识为网络服务器基于接收到的互联网协议ip上行数据确定的;
s305:基于所述下行数据与所述终端标识对应的通信终端进行时间同步。
需要说明的是,这里的第五解析过程就是前述的对所述时间同步请求进行解析过程,此过程为转发网关按照lorawan协议将时间同步请求进行第五解析。
在一些实施例中,对于s305,包括:
基于所述下行数据,获得所述室内网关的第一本地时间对应的当前gps时间和终端标识;
基于所述第一本地时间对应的当前gps时间生成信标beacon报文;
向所述终端标识对应的通信终端发送所述beacon报文;所述beacon报文用于指示所述通信终端基于所述beacon报文与所述室内网关进行时间同步。
在一些实施例中,所述基于所述下行数据,获得所述室内网关的第一本地时间对应的当前gps时间,包括:
按照ip对所述下行数据进行第六解析,获得第六解析结果;
基于所述第六解析结果,获得与所述室内网关的第一本地时间对应的当前gps时间。
在一些实施例中,所述向所述终端标识对应的通信终端发送所述beacon报文,包括:
按照第二设定周期向所述终端标识对应的通信终端发送所述beacon报文。
需要说明的是,需要说明的是,第二设定周期可以设置为128s,也就是,所述转发网关每隔128s会向所述通信终端发送beacon报文,所述通信终端每隔128s会接收到所述网关广播的beacon报文,以此所述通信终端基于beacon报文中的与所述第三本地时间对应的gps时间校准自身的时钟,以保持与所述转发网关的时间同步。
在一些实施例中,所述基于所述第五解析结果中的第一同步标识生成第一时间同步报文,包括:
基于所述第五解析结果,获得第一同步标识;
基于所述第一同步标识,按照lorawan协议封装第一时间同步报文。
在一些实施例中,所述网关控制参数至少包括报文发送周期,对应的,所述按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文,包括:按照所述报文发送周期发送所述第一同步时间报文。
需要说明的是,本发明实施例是前一实施例的另一侧描述,此处的各种名词可基于前一实施例进行理解,在此不再赘述。
本发明实施例提供的本发明实施例提供的应用于室内网关的时间同步方法,不仅不会增加lorawan的拓扑复杂性,并且室内网关不会出现因为无法获取准确的gps时间,无法与通信终端进行正常的数据收发,而被废弃不用的情况,这样侧面提高了lorawan中每一网关的利用率。
为了能够更好的理解本发明,本发明实施例提供classb终端与室内网关的时间同步的完整流程,如图4所示,所述流程包括:
s401:classb终端按照lorawan协议向转发网关发送lorawan上行数据;
s402:所述转发网关接收所述lorawan上行数据,按照ip对所述lorawan上行数据进行处理,获得ip上行数据,向网络服务器发送所述ip上行数据。
在实际应用过程中,classb终端按照lorawan协议封装需要发送的数据,得到lorawan上行数据,然后,按照lorawan协议向网关发送lorawan上行数据。
在一些实施例中,所述转发网关按照ip对所述lorawan上行数据进行处理,包括:在lorawan上行数据中添加转发网关的网关相关信息字段,其中,网关相关信息字段可以包括时间字段、网关标识字段、信道标识字段、信号强度字段、传输时间字段等;其中,各个字段包含的内容与前述相似,这里,传输时间字段至少包括的是lorawan上行数据从classb终端到转发网关所需的传输时间。所述转发网关按照ip在lorawan上行数据中添加转发网关的网关相关信息字段后,便得到了ip上行数据,并向网络服务器发送所述ip上行数据。
s403:网络服务器接收所述ip上行数据,基于所述ip上行数据确定所述转发网关的类型和classb终端的终端标识;
需要说明的是,转发网关的类型如前述包括:室内网关、室外网关。
在一些实施例中,对于s403中的基于所述ip上行数据确定所述转发网关的类型包括:对所述ip上行数据按照ip进行第一解析,获得第一解析结果;基于所述第一解析结果,获得所述ip上行数据包含的时间字段;基于所述时间字段确定转发网关的类型。具体来讲,当判定所述时间字段非零且非空时,确定所述转发网关的类型为室外网关;当判定所述时间字段为零或者为空时,确定所述转发网关的类型为室内网关。
在一些实施例中,第一解析结果还包括lorawan上行数据,基于此,基于所述ip上行数据确定classb终端的终端标识,包括:对所述lorawan上行数据按照lorawan协议进行第二解析,获得第二解析结果;基于所述第二解析结果,确定所述classb终端的终端标识。
s404:当所述转发网关的类型为室内网关时,网络服务器向所述转发网关发送时间同步请求。
需要说明的是,此处的时间同步请求与前述含义相同,在此不再赘述。
s405:所述转发网关接收所述时间同步请求,对所述时间同步请求进行第五解析,获得第五解析结果,基于第五解析结果中的第一同步标识生成第一时间同步报文,按照第五解析结果中的网关控制参数发送所述第一时间同步报文。
需要说明的是,此处的转发网关实质就为室内网关。网关控制参数、第一时间同步报文与前述含义相同。
s406:室外网关接收所述第一时间同步报文,对所述第一时间同步报文进行处理,获得第二时间同步报文,向所述网络服务器发送所述第二时间同步报文。
需要说明的是,室外网关的处理与前述相同,可基于前述理解,在此不再赘述。
s407:所述网络服务器接收至少一个所述第二时间同步报文,基于所述至少一个所述第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前gps时间,向所述转发网关发送至少包括当前gps时间和终端标识的下行数据。
s408:所述转发网关接收所述下行数据,基于所述下行数据与所述终端标识对应的classb终端进行时间同步。
在一些实施例中,所述转发网关基于所述下行数据与所述终端标识对应的classb终端进行时间同步,包括:基于所述下行数据,获得所述转发网关的第一本地时间对应的当前gps时间和所述classb终端的终端标识,基于所述第一本地时间对应的当前gps时间生成beacon报文,向所述终端标识对应的classb终端发送所述beacon报文;所述beacon报文用于指示所述classb终端基于所述beacon报文与所述转发网关进行时间同步。
在一些实施例中,所述向所述终端标识对应的classb终端发送所述beacon报文,包括:按照第二设定周期向所述终端标识对应的classb终端发送所述beacon报文。
s409:所述classb终端接收所述beacon报文,基于所述beacon报文,获得所述与所述第三本地时间对应的gps时间、所述第三本地时间和所述beacon报文的传输时间,基于所述与所述第三本地时间对应的gps时间、所述第三本地时间、第四本地时间和所述beacon报文的传输时间,保持与所述转发网关时间同步。
需要说明的是,所述第四本地时间为classb终端接收到所述beacon报文的时间。由于classb终端是通信终端的一种具体表现形式,则classb终端利用beacon报文与转发网关进行时间同步的过程,与通信终端基于beacon报文与转发网关进行时间同步的过程相似,可基于前述进行理解,在此不再赘述。
为了更好的理解本发明,本发明实施例提供一种应用场景,如图5所示,该应用场景中包括classb终端、一个室内网关、一个室外网关和网络服务器,在该应用场景下,实现classb终端与室内网关时间同步的具体步骤如下:
第1步:classb终端向室内网关按照lorawan协议发送lorawan上行数据;
第2步:classb终端向室外网关按照lorawan协议发送lorawan上行数据。
需要说明的是,由于classb终端通过lora无线广播发送所述lorawan上行数据,在一定的范围内的室内网关和室外网关均可接收到所述lorawan上行数据,因此,第1步和第2步是同时发生的,其区别仅在于室内网关与室外网关接收到所述lorawan上行数据的时间不同。
第3步:室内网关接收到所述lorawan上行数据,对所述lorawan上行数据进行处理,获得第一ip上行数据;
第4步:室外网关接收到所述lorawan上行数据,对所述lorawan上行数据进行处理,获得第二ip上行数据;
第5步:室内网关向网络服务器发送所述第一ip上行数据和室外网关向网络服务器发送所述第二ip上行数据。
需要说明的是,第3步与第4步并没有先后顺序,且这两步经过的处理也相似,在前s402已经详细说明,在此不再赘述。第一ip上行数据和第二ip上行数据是前述ip上行数据的一种具体表现形式,仅是用于说明经过不同的网关转发至网络服务器,并不用于限制本发明。
第6步:网络服务器接收所述第一ip上行数据和所述第二ip上行数据,并基于所述第一ip上行数据的时间字段,确定发送所述第一ip上行数据的网关为室内网关;向所述室内网关发送时间同步请求;所述时间同步请求至少包括第一同步标识和网关控制参数;基于所述第二ip上行数据的时间字段,确定发送所述第二ip上行数据的网关为室外网关,获得与所述室外网关的第一本地时间对应的当前gps时间和classb终端的终端标识,向所述室外网关发送至少包括与所述室外网关的本地时间对应的gps时间和classb终端的终端标识的下行数据;所述室外网关接收所述下行数据,并基于所述下行数据与classb终端保持时间同步。
第7步:所述室内网关接收所述时间同步请求,对所述时间同步请求进行第五解析,获得第五解析结果,基于所述第五解析结果中的第一同步标识生成第一时间同步报文,按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;
第8步:室外网关接收所述第一时间同步报文,对所述第一时间同步报文进行处理,获得第二时间同步报文,向所述网络服务器发送所述第二时间同步报文;
第9步:所述网络服务器接收到所述第二时间同步报文,基于所述第二时间同步报文,获得与所述室内网关的第一本地时间对应的当前gps时间,向所述室内网关发送至少包括当前gps时间和终端标识的下行数据。所述室内网关接收所述下行数据,并基于所述下行数据与classb终端进行时间同步。
需要说明的是,具体如何保持与室内网关时间同步在前已经详细阐述,在此不再赘述。当网关为室外网关时,classb终端与室外网关保持时间同步的方式,在前述已经详细说明,在此不再赘述。
基于相同的发明构思,本发明实施例还提供一种时间同步装置,如图6所示,其示出一种时间同步装置,应用于网络服务器,所述时间同步装置60包括:
第一接收单元601、第一确定单元602、第一发送单元603、第二接收单元604、第一获得单元605和第二发送单元606,其中,
所述第一接收单元601,用于接收互联网协议ip上行数据;
所述第一确定单元602,用于基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;
所述第一发送单元603,用于向所述转发网关发送时间同步请求;所述时间同步请求用于指示所述转发网关向室外网关发送第一时间同步报文;所述第一时间同报文用于指示所述室外网关向所述网络服务器发送第二时间同步报文;
所述第二接收单元604,用于接收至少一个所述第二时间同步报文;
所述第一获得单元605,用于基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;
所述第二发送单元606,用于向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述下行数据用于指示所述转发网关基于所述下行数据与所述通信终端进行时间同步。
在一些实施例中,所述第一确定单元602包括:第一解析子单元、第一获得子单元、第一确定子单元、第二解析子单元和第二确定子单元,其中,
所述第一解析子单元,用于对所述ip上行数据按照ip进行第一解析,获得第一解析结果;
所述第一获得子单元,用于基于所述第一解析结果,获得远距离无线电广域网lorawan上行数据和所述ip上行数据包含的时间字段;
所述第一确定子单元,用于根据所述时间字段确定所述转发网关的类型;
所述第二解析子单元,用于对所述lorawan上行数据按照lorawan协议进行第二解析,获得第二解析结果;
所述第二确定子单元,用于基于所述第二解析结果,确定所述通信终端的终端标识。
在一些实施例中,所述第一获得单元605包括排序子单元和第三确定子单元,其中,
所述排序子单元,用于将所述至少一个第二时间同步报文按照设定条件排序;
所述第三确定子单元,用于基于排序结果,确定与所述转发网关的第一本地时间对应的当前gps时间;
或者,
所述第一获得单元605,具体用于:基于所述至少一个第二时间同步报文,确定最先接收的第二时间同步报文;对所述最先接收的第二时间同步报文进行第三解析,获得第三解析结果;基于所述第三解析结果,获得所述最先接收的第二时间同步报文中的与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;基于所述gps时间、所述传输时间和所述第一本地时间,获得与所述转发网关的第一本地时间对应的当前gps时间。
在一些实施例中,所述排序子单元,具体用于:将所述至少一个第二时间同步报文按照每一第二时间同步报文中的信号强度的从大到小的顺序进行排序;
所述第三确定子单元,具体用于:基于排序结果,获得排序在第一的信号强度对应的第二时间同步报文;对所述第二时间同步报文进行第四解析,获得第四解析结果;基于所述四解析结果,获得与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;基于所述gps时间、所述传输时间和所述第一本地时间,确定与所述转发网关的第一本地时间对应的当前gps时间。
在一些实施例中,所述第一发送单元603,具体用于:按照第一设定周期向所述转发网关发送所述时间同步请求。
在一些实施例中,所述第一确定子单元,具体用于:判断所述时间字段是否非零且非空;当判定所述时间字段为非零且非空时,确定所述转发网关的类型为室外网关;当判定所述时间字段为零或者为空时,确定所述转发网关的类型为室内网关。
在一些实施例中,所述时间同步装置60还包括:第二获得单元,用于当所述转发网关为室外网关时,基于所述ip上行数据,获得与所述转发网关的第一本地时间对应的当前gps时间。
本发明实施例提供的应用于网络服务器的时间同步装置,不仅不会增加lorawan的拓扑复杂性,并且室内网关不会出现因为无法获取准确的gps时间,无法与通信终端进行正常的数据收发,而被废弃不用的情况,这样侧面提高了lorawan中每一网关的利用率。
本发明实施例还提供另一种时间同步装置,如图7所示,其示出另一种时间同步装置,应用于室内网关,所述时间同步装置70包括:第三接收单元701、解析单元702、生成单元703、第三发送单元704、第四接收单元705和时间同步单元706,其中,
所述第三接收单元701,用于接收时间同步请求;
所述解析单元702,用于对所述时间同步请求进行第五解析,获得第五解析结果;
所述生成单元703,用于基于所述第五解析结果中的第一同步标识生成第一时间同步报文;
所述第三发送单元704,用于按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;所述第一时间同步报文用于指示至少一个室外网关向网络服务器发送第二时间同步报文;
所述第四接收单元705,用于接收至少包括当前全球定位系统gps时间和终端标识的下行数据;所述当前全球定位系统gps时间为网络服务器基于至少一个所述第二时间同步报文获得的与所述室内网关的第一本地时间相对应的gps时间;所述终端标识为网络服务器基于接收到的互联网协议ip上行数据确定的;
所述时间同步单元706,用于基于所述下行数据与所述终端标识对应的通信终端进行时间同步。
在一些实施例中,所述时间同步单元706包括:第二获得子单元、生成子单元和发送子单元,其中,
所述第二获得子单元,用于基于所述下行数据,获得所述室内网关的第一本地时间对应的当前gps时间和终端标识;
所述生成子单元,用于基于所述第一本地时间对应的当前gps时间生成信标beacon报文;
所述发送子单元,用于向所述终端标识对应的通信终端发送所述beacon报文;所述beacon报文用于指示所述通信终端基于所述beacon报文与所述室内网关进行时间同步。
在一些实施例中,所述第二获得子单元,具体用于:按照ip对所述下行数据进行第六解析,获得第六解析结果;基于所述第六解析结果,获得与所述室内网关的第一本地时间对应的当前gps时间。
在一些实施例中,所述发送子单元,具体用于:按照第二设定周期向所述终端标识对应的通信终端发送所述beacon报文。
在一些实施例中,所述生成单元703,具体用于:基于所述第五解析结果,获得第一同步标识;基于所述第一同步标识,按照lorawan协议封装第一时间同步报文。
在一些实施例中,所述网关控制参数至少包括报文发送周期,对应的,所述第三发送单元704,用于按照所述报文发送周期发送所述第一同步时间报文。
基于相同的构思,本发明实施例还提供另一种时间同步系统,如图8所示,所述时间同步系统80包括:网络服务器801、室内网关802和至少一个室外网关803,其中,
所述网络服务器801,用于接收互联网协议ip上行数据,基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;当所述转发网关的类型为室内网关时,向所述转发网关发送时间同步请求;接收至少一个第二时间同步报文,基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述第二时间同步报文为室外网关基于第一时间同报文获得的,所述第一时间同步报文为室内网关基于所述时间同步请求获得的;
所述室内网关802,用于接收时间同步请求,对所述时间同步请求进行第五解析,获得第五解析结果;基于所述第五解析结果中的第一同步标识生成所述第一时间同步报文;按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;接收至少包括所述当前gps时间和所述终端标识的下行数据;基于所述下行数据与所述终端标识对应的通信终端进行时间同步;
所述至少一个室外网关803中的每一室外网关,用于接收所述第一时间同步报文,基于所述第一时间同步报文,获得第二时间同步报文;向所述网络服务器发送所述第二时间同步报文。
在一些实施例中,所述网络服务器801包括:所述第一接收组件,用于接收所述ip上行数据;
所述第一确定组件,用于基于所述ip上行数据,确定转发网关的类型和通信终端的终端标识;
所述第一发送组件,用于向所述转发网关发送时间同步请求;所述时间同步请求用于指示所述转发网关向室外网关发送第一时间同步报文;所述第一时间同报文用于指示所述室外网关向所述网络服务器发送第二时间同步报文;
所述第二接收组件,用于接收至少一个所述第二时间同步报文;
所述第一获得组件,用于基于所述至少一个第二时间同步报文,获得与所述转发网关的第一本地时间对应的当前全球定位系统gps时间;
所述第二发送组件,用于向所述转发网关发送至少包括当前gps时间和终端标识的下行数据;所述下行数据用于指示所述转发网关基于所述下行数据与所述通信终端进行时间同步。
在一些实施例中,所述室内网关802,包括:所述第三接收组件,用于接收时间同步请求;
所述解析组件,用于对所述时间同步请求进行第五解析,获得第五解析结果;
所述生成组件,用于基于所述第五解析结果中的第一同步标识生成第一时间同步报文;
所述第三发送组件,用于按照所述第五解析结果中的网关控制参数发送所述第一时间同步报文;所述第一时间同步报文用于指示至少一个室外网关向网络服务器发送第二时间同步报文;
所述第四接收组件,用于接收至少包括当前全球定位系统gps时间和终端标识的下行数据;所述当前全球定位系统gps时间为网络服务器基于至少一个所述第二时间同步报文获得的与所述室内网关的第一本地时间相对应的gps时间;所述终端标识为网络服务器基于接收到的互联网协议ip上行数据确定的;
所述时间同步组件,用于基于所述下行数据与所述终端标识对应的通信终端进行时间同步。
在一些实施例中,所述至少一个室外网关803中的每一室外网关包括:
所述第五接收组件,用于接收所述第一时间同步报文;
所述第三获得组件,用于基于所述第一时间同步报文,获得第二时间同步报文;
所述第四发送组件,用于向所述网络服务器发送所述第二时间同步报文。
在一些实施例中,所述第一确定组件,具体用于:对所述ip上行数据按照ip进行第一解析,获得第一解析结果;基于所述第一解析结果,获得远距离无线电广域网lorawan上行数据和所述ip上行数据包含的时间字段;根据所述时间字段确定所述转发网关的类型;对所述lorawan上行数据按照lorawan协议进行第二解析,获得第二解析结果;基于所述第二解析结果,确定所述通信终端的终端标识。
在一些实施例中,所述第一获得组件,具体用于:将所述至少一个第二时间同步报文按照设定条件排序;基于排序结果,确定与所述转发网关的第一本地时间对应的当前gps时间,或者,具体用于:基于所述至少一个第二时间同步报文,确定最先接收的第二时间同步报文;对所述最先接收的第二时间同步报文进行第三解析,获得第三解析结果;基于所述第三解析结果,获得所述最先接收的第二时间同步报文中的与第二本地时间对应的gps时间、传输时间和所述第一本地时间;所述传输时间为所述第一时间同步报文从所述转发网关到室外网关所需的时间;基于所述gps时间、所述传输时间和所述第一本地时间,获得与所述转发网关的第一本地时间对应的当前gps时间。
在一些实施例中,所述时间同步组件,具体用于:基于所述下行数据,获得所述转发网关的第一本地时间对应的当前gps时间和终端标识;基于所述第一本地时间对应的当前gps时间生成信标beacon报文;向所述终端标识对应的通信终端发送所述beacon报文;所述beacon报文用于指示所述通信终端基于所述beacon报文与所述室内网关进行时间同步。
在一些实施例中,所述生成组件,具体用于:基于所述第五解析结果,获得第一同步标识;基于所述第一同步标识,按照lorawan协议封装第一时间同步报文。
在一些实施例中,所述网关控制参数至少包括报文发送周期,对应的,所述第三发送单元,用于按照所述报文发送周期发送所述第一同步时间报文。
在一些实施例中,所述网络服务器801,还用于基于所述ip上行数据,获得与所述转发网关的第一本地时间对应的当前gps时间。
本发明实施例提供的应用于室内网关的时间同步系统,不仅不会增加lorawan的拓扑复杂性,并且室内网关不会出现因为无法获取准确的gps时间,无法与通信终端进行正常的数据收发,而被废弃不用的情况,这样侧面提高了lorawan中每一网关的利用率。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序处理器被处理器执行时实现上述方法实施例的步骤,而前述的存储介质包括:移动存储设备、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种时间同步装置,所述装置包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行存储在存储器中的上述方法实施例的步骤。
图9为本发明实施例时间同步装置的一种硬件结构示意图,该时间同步装置90包括:至少一个处理器901、存储器902,可选的,时间同步装置90还可进一步包括至少一个通信接口903,时间同步装置90中的各个组件通过总线系统904耦合在一起,可理解,总线系统904用于实现这些组件之间的连接通信。总线系统904除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统904。
可以理解,存储器902可以是易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(rom,readonlymemory)、可编程只读存储器(prom,programmableread-onlymemory)、可擦除可编程只读存储器(eprom,erasableprogrammableread-onlymemory)、电可擦除可编程只读存储器(eeprom,electricallyerasableprogrammableread-onlymemory)、磁性随机存取存储器(fram,ferromagneticrandomaccessmemory)、快闪存储器(flashmemory)、磁表面存储器、光盘、或只读光盘(cd-rom,compactdiscread-onlymemory);磁表面存储器可以是磁盘存储器或磁带存储器。易失性存储器可以是随机存取存储器(ram,randomaccessmemory),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(sram,staticrandomaccessmemory)、同步静态随机存取存储器(ssram,synchronousstaticrandomaccessmemory)、动态随机存取存储器(dram,dynamicrandomaccessmemory)、同步动态随机存取存储器(sdram,synchronousdynamicrandomaccessmemory)、双倍数据速率同步动态随机存取存储器(ddrsdram,doubledataratesynchronousdynamicrandomaccessmemory)、增强型同步动态随机存取存储器(esdram,enhancedsynchronousdynamicrandomaccessmemory)、同步连接动态随机存取存储器(sldram,synclinkdynamicrandomaccessmemory)、直接内存总线随机存取存储器(drram,directrambusrandomaccessmemory)。本发明实施例描述的存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
本发明实施例中的存储器902用于存储各种类型的数据以支持时间同步装置90的操作。这些数据的示例包括:用于在时间同步装置90上操作的任何计算机程序,如网络服务器计算第一本地时间对应的当前gps时间等,实现本发明实施例方法的程序可以包含在存储器902中。
上述本发明实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(dsp,digitalsignalprocessor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。处理器可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本发明实施例所公开的方法的步骤,可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于存储介质中,该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成前述方法的步骤。
在示例性实施例中,时间同步装置90可以被一个或多个应用专用集成电路(asic,applicationspecificintegratedcircuit)、dsp、可编程逻辑器件(pld,programmablelogicdevice)、复杂可编程逻辑器件(cpld,complexprogrammablelogicdevice)、现场可编程门阵列(fpga,field-programmablegatearray)、通用处理器、控制器、微控制器(mcu,microcontrollerunit)、微处理器(microprocessor)、或其他电子元件实现,用于执行上述方法。
在本发明所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。另外,在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。