发明内容
有鉴于此,本发明的目的在于提供一种数据采样时间的优化方法、装置和电子设备,以缓解现有技术在面对边缘网关上电启动校时失败时,无法提供有效应对策略的技术问题。
第一方面,本发明实施例提供了一种数据采样时间的优化方法,应用于边缘网关,所述方法包括:
获取所述边缘网关上电启动后的网关启动时间,并向网关管理平台发起校时请求;
若所述边缘网关校时失败,则继续周期性的采集设备数据,并将所述设备数据的数据采样时间标记为相对采样时间,进而将携带有所述相对采样时间的设备数据作为所述边缘网关的本地缓存数据;
按第一预设周期向所述网关管理平台发起校时请求,直至校时成功;
当所述边缘网关校时成功后,基于所述相对采样时间和所述网关启动时间计算所述本地缓存数据中的设备数据的绝对采样时间;
将所述设备数据的数据采样时间修改为所述绝对采样时间,并将携带有绝对采样时间的设备数据上传至数据平台。
进一步的,所述方法还包括:
若所述边缘网关校时成功,则周期性的采集设备数据,并将所述设备数据的数据采样时间标记为网关系统时间,进而将携带网关系统时间的设备数据上传至数据平台。
进一步的,所述方法还包括:
若所述边缘网关校时成功,则按第二预设周期向所述网关管理平台发起校时请求。
进一步的,获取所述边缘网关上电启动时的网关启动时间包括:
当所述边缘网关上电启动后,调用操作系统的内核函数获取网关系统的第一tick时间;
将所述网关系统的第一tick时间作为所述网关启动时间。
进一步的,将所述设备数据的数据采样时间标记为相对采样时间包括:
在采集所述设备数据时,调用操作系统的内核函数获取网关系统的第二tick时间;
将所述网关系统的第二tick时间作为所述相对采样时间,进而将所述设备数据的数据采样时间标记为所述相对采样时间。
进一步的,基于所述相对采样时间和所述网关启动时间计算所述本地缓存数据中的设备数据的绝对采样时间包括:
获取网关系统的当前时间;
根据绝对采样时间计算算式T=T当前-(tick2-tick1)*tick时间单位计算所述设备数据的绝对采样时间,其中,T表示所述绝对采样时间,T当前表示所述网关系统的当前时间,tick2表示所述相对采样时间,tick1表示所述网关启动时间。
第二方面,本发明实施例还提供了一种数据采样时间的优化装置,应用于边缘网关,所述装置包括:
获取和请求发起单元,用于获取所述边缘网关上电启动后的网关启动时间,并向网关管理平台发起校时请求;
数据缓存单元,用于若所述边缘网关校时失败,则继续周期性的采集设备数据,并将所述设备数据的数据采样时间标记为相对采样时间,进而将携带有所述相对采样时间的设备数据作为所述边缘网关的本地缓存数据;
请求发起单元,用于按第一预设周期向所述网关管理平台发起校时请求,直至校时成功;
时间计算单元,用于当所述边缘网关校时成功后,基于所述相对采样时间和所述网关启动时间计算所述本地缓存数据中的设备数据的绝对采样时间;
时间修改单元,用于将所述设备数据的数据采样时间修改为所述绝对采样时间,并将携带有绝对采样时间的设备数据上传至数据平台。
进一步的,所述装置还包括:
数据采集并发送单元,用于若所述边缘网关校时成功,则周期性的采集设备数据,并将所述设备数据的数据采样时间标记为网关系统时间,进而将携带网关系统时间的设备数据上传至数据平台。
第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本发明实施例提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述第一方面任一项所述的方法的步骤。
在本发明实施例中,提供了一种数据采样时间的优化方法,应用于边缘网关,该方法包括:获取边缘网关上电启动后的网关启动时间,并向网关管理平台发起校时请求;若边缘网关校时失败,则继续周期性的采集设备数据,并将设备数据的数据采样时间标记为相对采样时间,进而将携带有相对采样时间的设备数据作为边缘网关的本地缓存数据;同时,按第一预设周期向网关管理平台发起校时请求,直至校时成功;当边缘网关校时成功后,基于相对采样时间和网关启动时间计算本地缓存数据中的设备数据的绝对采样时间;再将设备数据的数据采样时间修改为绝对采样时间,并将携带有绝对采样时间的设备数据上传至数据平台。通过上述描述可知,本发明的数据采样时间的优化方法解决了工业互联网场景常遇到的边缘网关因为上电启动校时失败,无法提供准确的数据采样时间,而引起的校时成功前停止采集数据,或者采集数据但是不能提供准确的采样时间的问题,本发明的方法使得边缘网关上电校时失败仍然可以采集数据并提供可信的数据采样时间,能够有效的应对边缘网关上电启动校时失败的问题。
具体实施方式
下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据采样时间的优化方法进行详细介绍。
实施例一:
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据采样时间的优化方法进行详细介绍,参见图2所示的一种数据采样时间的优化方法的流程示意图,主要包括以下步骤:
步骤S102,获取边缘网关上电启动后的网关启动时间,并向网关管理平台发起校时请求;
具体的,边缘网关上电启动后,获取自身的网关启动时间,下文中再对该过程进行详细介绍,在此不再赘述。
另外,边缘网关启动完成后,执行和网关管理平台(即云端)的校时操作,即向网关管理平台发起校时请求。
上述校时请求可以为NTP校时请求,本发明实施例对上述校时请求不进行具体限制,可根据具体需要而设定。
步骤S104,若边缘网关校时失败,则继续周期性的采集设备数据,并将设备数据的数据采样时间标记为相对采样时间,进而将携带有相对采样时间的设备数据作为边缘网关的本地缓存数据;
具体的,如果校时失败,标记校时状态为失败状态;如果校时成功,标记校时状态为成功状态。
若校时失败,边缘网关继续周期性的采集设备数据,并将设备数据的数据采样时间标记为相对采样时间,进而将携带有相对采样时间的设备数据作为边缘网关的本地缓存数据。
步骤S106,按第一预设周期向网关管理平台发起校时请求,直至校时成功;
在执行上述步骤S104时,并行的按照第一预设周期向网关管理平台发起校时请求,该步骤S106是通过另外一个独立的线程发起的,上述第一预设周期可以为每分钟,当然本发明实施例对上述第一预设周期不进行具体限定,可以根据具体需求进行设置。
步骤S108,当边缘网关校时成功后,基于相对采样时间和网关启动时间计算本地缓存数据中的设备数据的绝对采样时间;
下文中再对绝对采样时间的计算过程进行详细介绍,在此不再赘述。
步骤S110,将设备数据的数据采样时间修改为绝对采样时间,并将携带有绝对采样时间的设备数据上传至数据平台。
在本发明实施例中,提供了一种数据采样时间的优化方法,应用于边缘网关,该方法包括:获取边缘网关上电启动后的网关启动时间,并向网关管理平台发起校时请求;若边缘网关校时失败,则继续周期性的采集设备数据,并将设备数据的数据采样时间标记为相对采样时间,进而将携带有相对采样时间的设备数据作为边缘网关的本地缓存数据;同时,按第一预设周期向网关管理平台发起校时请求,直至校时成功;当边缘网关校时成功后,基于相对采样时间和网关启动时间计算本地缓存数据中的设备数据的绝对采样时间;再将设备数据的数据采样时间修改为绝对采样时间,并将携带有绝对采样时间的设备数据上传至数据平台。通过上述描述可知,本发明的数据采样时间的优化方法解决了工业互联网场景常遇到的边缘网关因为上电启动校时失败,无法提供准确的数据采样时间,而引起的校时成功前停止采集数据,或者采集数据但是不能提供准确的采样时间的问题,本发明的方法使得边缘网关上电校时失败仍然可以采集数据并提供可信的数据采样时间,能够有效的应对边缘网关上电启动校时失败的问题。
上述内容对本发明的数据采样时间的优化方法进行了简要介绍,下面对其中涉及的其它内容进行详细介绍。
在本发明的一个可选实施例中,该方法还包括:
若边缘网关校时成功,则周期性的采集设备数据,并将设备数据的数据采样时间标记为网关系统时间,进而将携带网关系统时间的设备数据上传至数据平台。
在本发明的一个可选实施例中,该方法还包括:
若边缘网关校时成功,则按第二预设周期向网关管理平台发起校时请求。
具体的,上述第二预设周期可以为一天,也就是若边缘网关校时成功,则后续每天执行一次校时,无论成功还是失败,都是每天校时一次,因为管理服务器不可能长时间宕机没有恢复。结合步骤S106中的描述可知,如果边缘网关上电启动校时失败,则每分钟校时一次,如果校时成功,则进入每天校时一次的逻辑,如果校时失败,再每分钟周期重试,直至校时成功。本发明实施例对上述第二预设周期不进行具体限定,具体可根据用户的需求进行设置。
在本发明的一个可选实施例中,参考图3,步骤S102,获取边缘网关上电启动时的网关启动时间具体包括:
步骤S301,当边缘网关上电启动后,调用操作系统的内核函数获取网关系统的第一tick时间;
具体的,tick一般指操作系统的内核的计时单位,用于处理定时、延时之类事件。一般使用硬件定时器中断处理tick事件。
一般通过sysClkRateGet()获取tick的值,假如说是200,那么一个tick单位时间就是1/200秒。
边缘网关系统的tick值可以通过调用操作系统的内核函数获取到,当嵌入式操作系统不同时,使用的系统函数也不同,Linux系统使用的是times(NULL)。
步骤S302,将网关系统的第一tick时间作为网关启动时间。
在本发明的一个可选实施例中,参考图4,步骤S104,将设备数据的数据采样时间标记为相对采样时间具体包括:
步骤S401,在采集设备数据时,调用操作系统的内核函数获取网关系统的第二tick时间;
该获取第二tick时间的过程与上述步骤S301的过程相似,在此不再赘述。
步骤S402,将网关系统的第二tick时间作为相对采样时间,进而将设备数据的数据采样时间标记为相对采样时间。
在本发明的一个可选实施例中,参考图5,步骤S108,基于相对采样时间和网关启动时间计算本地缓存数据中的设备数据的绝对采样时间具体包括:
步骤S501,获取网关系统的当前时间;
步骤S502,根据绝对采样时间计算算式T=T当前-(tick2-tick1)*tick时间单位计算设备数据的绝对采样时间,其中,T表示绝对采样时间,T当前表示网关系统的当前时间,tick2表示相对采样时间,tick1表示网关启动时间。
本发明的数据采样时间的优化方法针对网关管理平台的管理服务器宕机或软件升级造成的边缘网关校时失败的情况,提供了一种边缘网关能够正常采集数据并标记正确采样时间的策略,避免边缘网关因为校时失败而停止采集数据或者标记错误的采样时间,提升工业互联网数据采集功能在实际场景应用的质量。
实施例二:
本发明实施例还提供了一种数据采样时间的优化装置,该数据采样时间的优化装置主要用于执行本发明实施例上述内容所提供的数据采样时间的优化方法,以下对本发明实施例提供的数据采样时间的优化装置做具体介绍。
图6是本发明实施例的一种数据采样时间的优化装置的示意图,如图6所示,该数据采样时间的优化装置主要包括:获取和请求发起单元10、数据缓存单元20、请求发起单元30、时间计算单元40和时间修改单元50,其中:
获取和请求发起单元,用于获取边缘网关上电启动后的网关启动时间,并向网关管理平台发起校时请求;
数据缓存单元,用于若边缘网关校时失败,则继续周期性的采集设备数据,并将设备数据的数据采样时间标记为相对采样时间,进而将携带有相对采样时间的设备数据作为边缘网关的本地缓存数据;
请求发起单元,用于按第一预设周期向网关管理平台发起校时请求,直至校时成功;
时间计算单元,用于当边缘网关校时成功后,基于相对采样时间和网关启动时间计算本地缓存数据中的设备数据的绝对采样时间;
时间修改单元,用于将设备数据的数据采样时间修改为绝对采样时间,并将携带有绝对采样时间的设备数据上传至数据平台。
在本发明实施例中,提供了一种数据采样时间的优化装置,应用于边缘网关,该装置包括:获取边缘网关上电启动后的网关启动时间,并向网关管理平台发起校时请求;若边缘网关校时失败,则继续周期性的采集设备数据,并将设备数据的数据采样时间标记为相对采样时间,进而将携带有相对采样时间的设备数据作为边缘网关的本地缓存数据;同时,按第一预设周期向网关管理平台发起校时请求,直至校时成功;当边缘网关校时成功后,基于相对采样时间和网关启动时间计算本地缓存数据中的设备数据的绝对采样时间;再将设备数据的数据采样时间修改为绝对采样时间,并将携带有绝对采样时间的设备数据上传至数据平台。通过上述描述可知,本发明的数据采样时间的优化装置解决了工业互联网场景常遇到的边缘网关因为上电启动校时失败,无法提供准确的数据采样时间,而引起的校时成功前停止采集数据,或者采集数据但是不能提供准确的采样时间的问题,本发明的方法使得边缘网关上电校时失败仍然可以采集数据并提供可信的数据采样时间,能够有效的应对边缘网关上电启动校时失败的问题。
可选地,该装置还包括:数据采集并发送单元,用于若边缘网关校时成功,则周期性的采集设备数据,并将设备数据的数据采样时间标记为网关系统时间,进而将携带网关系统时间的设备数据上传至数据平台。
可选地,该装置还用于:若边缘网关校时成功,则按第二预设周期向网关管理平台发起校时请求。
可选地,获取和请求发起单元还用于:当边缘网关上电启动后,调用操作系统的内核函数获取网关系统的第一tick时间;将网关系统的第一tick时间作为网关启动时间。
可选地,数据缓存单元还用于:在采集设备数据时,调用操作系统的内核函数获取网关系统的第二tick时间;将网关系统的第二tick时间作为相对采样时间,进而将设备数据的数据采样时间标记为相对采样时间。
可选地,时间计算单元还用于:获取网关系统的当前时间;根据绝对采样时间计算算式T=T当前-(tick2-tick1)*tick时间单位计算设备数据的绝对采样时间,其中,T表示绝对采样时间,T当前表示网关系统的当前时间,tick2表示相对采样时间,tick1表示网关启动时间。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,前述描述的系统、装置和单元的具体工作过程,均可以参考上述方法实施例中的对应过程,在此不再赘述。本申请实施例提供的数据采样时间的优化装置与上述实施例提供的数据采样时间的优化方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
另外,在本发明实施例的描述中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。