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