用于管理与IOT环境相关联的传感器数据的系统和方法
文献发布时间:2024-04-18 19:58:21
技术领域
本发明涉及管理传感器数据,并且更特别地涉及用于管理与物联网环境相关联的传感器数据的系统和方法。
背景技术
通常,物联网(IoT)环境包括地理上且通常功能上分离的数据源。所述源可以包括例如传感器、装备、控制器和边缘设备。传感器测量或检测与IoT环境相关联的各种参数,并且可以生成以时间序列数据的形式的输出。此外,来自传感器中的每一个的时间序列数据可以通过应用编程接口被摄取(ingest)到数据库或时间序列数据存储库(store)中。可以进一步分析所存储的数据,以得出关于IoT环境的性能的关键洞察。然而,在与对应于任何时刻(instance of time)的数据的摄取相关联的时延的情况下,存在覆写(overwrite)存储在数据库中的较旧数据、由此导致信息丢失的风险。此外,现有系统仅允许将较新数据附加到旧数据。这可能导致关于时间序列数据的信息的失真。
鉴于上述情况,存在对于在没有信息丢失或失真的情况下管理时间序列数据存储库或数据库中的来自IoT环境的传感器数据的需要。
因此,本公开的目的是提供一种用于管理与IoT环境相关联的传感器数据的系统和方法。
发明内容
本发明的目的通过一种管理与物联网(IoT)环境相关联的传感器数据的计算机实现的方法来实现。所述方法包括由处理单元从IoT环境中的至少一个感测单元接收传感器数据。所述传感器数据包括至少一个传感器读数以及与所述传感器读数相关联的读数时间戳。所述方法进一步包括基于所述读数时间戳来确定是否存在冲突。所述冲突与所述传感器数据覆写数据库中的现有记录相关联。如果存在冲突,则所述方法进一步包括基于与所述传感器数据相关联的摄取时间戳将所述传感器数据合并到所述记录。如果不存在冲突,则所述方法进一步包括在数据库中针对所述传感器数据创建新记录。有利地,本发明防止了由较新的传感器数据覆写现有记录。因此,防止了信息的丢失。
所述方法可以进一步包括基于所述摄取时间戳来确定与将所述传感器数据摄取到数据库相关联的时延。有利地,所确定的时延用于剔除过时的(stale)传感器数据以免覆写较新的传感器数据。
所述方法可以进一步包括分析存储在数据库中的传感器数据。所述方法可以进一步包括基于对所述传感器数据的分析来确定与IoT环境相关联的异常。
所述方法可以进一步包括基于对数据库中的传感器数据的分析,在输出设备上生成通知。所述通知可以包括但不限于视觉通知和听觉通知。
有利地,本发明通过合并针对给定读数时间戳的传感器数据来帮助高效管理传感器数据。此外,由于合并是基于摄取时间戳来执行的,所以维持了时间序列数据的次序。因此,消除了由于覆写或由于覆盖而造成的传感器数据丢失或失真。因此,对数据库中的传感器数据的分析提供了与传统时间序列数据存储库相比更可靠的洞察。
本发明的目的通过一种用于管理IoT环境中的传感器数据的装置来实现,如本文中公开的。所述装置包括一个或多个处理单元以及通信地耦合到所述一个或多个处理单元的存储器单元。所述存储器单元包括以机器可读指令的形式存储并可由所述一个或多个处理单元执行的数据管理模块,其中所述数据管理模块被配置成根据上述方法中的任何方法来管理与IoT环境相关联的传感器数据。
所述数据管理模块的执行也可以使用诸如图形处理单元(GPU)、现场可编程门阵列(FPGA)或神经处理/计算引擎之类的协处理器来执行。此外,所述存储器单元还可以包括数据库。
本发明的目的还通过一种系统来实现,所述系统包括:一个或多个感测单元;以及如上面所描述的装置,其通信地耦合到所述一个或多个感测单元,所述装置用于根据较早描述的方法来管理从所述一个或多个感测单元接收到的传感器数据。
本发明的目的还通过一种计算机可读介质来实现,在所述计算机可读介质上保存了计算机程序的程序代码段,当所述程序代码段被执行时,所述程序代码段可被加载到执行如上面所描述的方法的处理器中和/或可由所述处理器执行。
利用结合对应附图对本发明的实施例的以下描述,本发明的上述属性、特征和优点以及实现它们的方式将变得更加明显且易于理解(清楚)。所说明的实施例旨在说明而不是限制本发明。
附图说明
在下文中参考附图中所示的所图示的实施例来进一步描述本发明,在附图中:
图1A图示了根据本发明的实施例的用于管理与IoT环境相关联的传感器数据的系统;
图1B图示了根据本发明的实施例的用于管理与IoT环境相关联的传感器数据的系统;以及图2图示了根据本发明的实施例的用于管理与IoT环境相关联的传感器数据的方法。
具体实施方式
在下文中,详细描述了用于执行本发明的实施例。参考附图描述了各种实施例,其中相同的参考标号自始至终用于指代相同的元件。在以下描述中,出于解释的目的,阐述了许多具体细节,以便提供对一个或多个实施例的透彻理解。可能显然的是,这样的实施例可以在没有这些具体细节的情况下实践。
图1图示了根据本发明的实施例的用于管理与IoT环境105相关联的传感器数据的系统100。系统100包括通信地耦合到IoT环境105的装置110。在本实施例中,装置110是云计算平台。
如本文中所使用的,“云计算”指代包括可配置的计算物理和逻辑资源(例如网络、服务器、存储、应用、服务等)以及在网络(例如互联网)上分布的数据的处理环境。云计算平台可以被实现为用于管理与IoT环境105相关联的传感器数据的服务。换句话说,云计算系统提供对可配置计算物理和逻辑资源的共享池的按需网络访问。网络例如是有线网络、无线网络、通信网络、或由这些网络的任何组合形成的网络。
IoT环境105包括多个感测单元115A、115B、115C和115D,本文中统称为感测单元115。感测单元115通信地耦合到边缘设备120。边缘设备120被配置成对从感测单元115接收到的数据执行边缘计算操作,并且还使得IoT环境105能够与装置110通信。
多个感测单元115被配置成检测或测量与IoT环境105相关联的参数。从多个感测单元115输出的传感器数据包括指示IoT环境105的状态的至少一个参数的值。参数的非限制性示例可以包括温度、速度、振动、噪声水平、压力、流量(flow)等等。必须理解,感测单元115可以包括传感器和换能器两者、连同相应的数据发射器。在一实施例中,感测单元115通过控制器119通信地耦合到网络117。传感器和换能器的非限制性示例包括温度传感器、加速度计、陀螺仪、声学换能器、流量计和压力换能器。感测单元115生成对应于参数的测量值的输出,即传感器数据。传感器数据是以时间序列数据的形式的。例如,感测单元在1秒的间隔内测量参数的值,以生成对应于该参数的时间序列数据。必须理解,时间序列数据可以对应于由感测单元115生成的连续信号或离散信号。来自感测单元115的信号由信号处理电路来预处理以生成时间序列数据。例如,由感测单元115生成的信号可以以合适的时间间隔被采样,以生成时间序列数据。此外,以时间序列格式的传感器数据通过与装置110相关联的输入/输出接口被提供给装置110。在本实施例中,I/O接口与应用编程接口相关联,该应用编程接口帮助将传感器数据摄取到与装置110相关联的时间序列存储库。
装置110是云计算平台,其包括处理单元125、存储器130、存储单元135、通信模块140、网络接口145、输入单元150、输出单元155、标准接口或总线160,如图1B中所示。装置110可以是(个人)计算机、工作站、在主机硬件上运行的虚拟机、微控制器或集成电路。作为替代方案,装置110可以是真实或虚拟的计算机组(用于真实计算机组的技术术语是“集群”,用于虚拟计算机组的技术术语是“云”)。如本文中使用的术语“处理单元”意指任何类型的计算电路,诸如但不限于微处理器、微控制器、复杂指令集计算微处理器、精简指令集计算微处理器、超长指令字微处理器、显式并行指令计算微处理器、图形处理器、数字信号处理器或任何其他类型的处理电路。处理单元125还可以包括嵌入式控制器,诸如通用或可编程逻辑器件或阵列、专用集成电路、单芯片计算机等等。一般而言,处理单元125可以包括硬件元件和软件元件。处理单元125可以被配置用于多线程,即处理单元125可以同时托管不同的计算过程,其要么并行地执行、要么在主动和被动计算过程之间切换。
存储器130可以包括易失性存储器和非易失性存储器中的一个或多个。存储器130可以被耦合用于与处理单元125通信。处理单元125可以执行存储在存储器130中的指令和/或代码。各种计算机可读存储介质可以存储在存储器130中,并且可以从存储器130访问。存储器130可以包括用于存储数据和机器可读指令的任何合适的元件,诸如只读存储器、随机存取存储器、可擦除可编程只读存储器、电可擦除可编程只读存储器、硬盘驱动器、用于处置压缩盘、数字视频盘、磁盘、磁带盒、存储卡等等的可移除介质驱动器。
存储器130包括以可由处理单元125执行的机器可读指令的形式存储的数据管理模块165。这些机器可读指令当由处理单元125执行时使得处理单元125管理与IoT环境105相关联的传感器数据。存储单元135包括存储数据库190的非易失性存储器。数据库190可以存储例如与IoT环境105相关联的历史数据、与IoT环境105中的装备相关联的规范等等。
输入单元150可以包括能够接收输入信号的输入装置,诸如键盘、触敏显示器、相机等。输出单元155可以包括诸如监视器、扬声器等输出装置。总线160充当处理单元125、存储器130、存储单元135和网络接口145之间的互连。
通信模块140使得装置110能够从边缘设备120接收传感器数据。此外,通信模块140还使得装置110能够向输出设备(未示出)传输通知。通信模块140可以支持不同的标准通信协议,诸如传输控制协议/互联网协议(TCP/IP)、Profinet、Profibus和互联网协议版本(IPv)。
本领域中的普通技术人员将领会,图1B中所描绘的硬件可以针对不同的实现方式而变化。例如,除了所描绘的硬件之外或代替所描绘的硬件,还可以使用其他外围设备、诸如光盘驱动器等、局域网(LAN)/广域网(WAN)/无线(例如,Wi-Fi)适配器、图形适配器、盘控制器、输入/输出(I/O)适配器、网络连接性设备。所描绘的示例仅出于解释的目的而提供,并且不意味着暗示关于本公开的架构限制。
根据本发明的实施例,边缘设备120也可以执行类似于装置110的功能。如本文中所使用的,“边缘计算”指代能够在边缘设备120上执行的计算环境,该边缘设备可以是具有小的形状因子以及在计算能力方面的资源约束的紧凑计算设备。边缘设备的网络也可以用于实现装置110。边缘计算设备的这种网络被称为雾网络(fog network)。
图2图示了根据本发明的实施例的管理与IoT环境相关联的传感器数据的示例性方法200。该方法通过以与农业农场相关联的IoT环境作为示例来解释。例如,可以在农场中部署多个传感器来监测诸如湿度、土壤氮水平、土壤pH等状况。来自传感器中的每一个的传感器数据被传输到类似于装置110的云计算平台。
在步骤205处,从IoT环境中的至少一个感测单元接收传感器数据。传感器数据包括至少一个传感器读数以及与传感器读数相关联的读数时间戳。如本文中使用的术语“传感器读数”指代由感测单元生成的输出值。例如,输出值可以是模拟的或数字的。在一示例中,输出值指示由感测单元测量的参数(例如压力)的值的度量。在另一个示例中,输出值指示IoT环境中的预定义状况(例如烟雾)的存在或不存在。如本文中使用的术语“读数时间戳”指代与感测单元捕获了参数值时的时刻相关联的时间戳。例如,来自第一感测单元的传感器数据包括针对读数时间戳“2020-10-25T18:02:30.123Z”的土壤氮水平的时间序列数据。类似地,来自第二感测单元的传感器数据包括针对相同读数时间戳“2020-10-25T18:02:30.123Z”的土壤湿度水平的传感器读数。
在步骤210处,基于读数时间戳来确定是否存在冲突。冲突与传感器数据覆写数据库中的现有记录相关联。如本文中使用的术语“记录”指代能够存储不同类型的数据的数据结构。例如,数据结构可以存储来自一个或多个传感器的传感器读数以及与传感器读数相关联的读数时间戳。数据库被配置用于以时间序列格式来存储与至少一个感测单元相关联的传感器数据。换句话说,记录被存储在数据库中,以表示对应于传感器数据的时间序列数据。
在本实施例中,记录包括与传感器数据相关联的传感器读数、读数时间戳和摄取时间。如本文中使用的术语“摄取时间戳”指代与传感器数据被摄取到数据库时的时刻相关联的时间戳。必须理解,除了传感器读数和读数时间戳之外,记录还可以存储摄取时间戳。例如,可以使用线性搜索来搜索数据库,以确定数据库中是否存在对应于读数时间戳“2020-10-25T18:02:30.123Z”的记录。如果是,则执行步骤215。否则,创建对应于读数时间戳“2020-10-25T18:02:30.123Z”的新记录。
在步骤215处,基于与传感器数据相关联的摄取时间戳,将传感器数据与记录合并。如本文中使用的术语“合并”指代将传感器数据添加到记录内的现有数据结构中,以便生成包括该传感器数据以及该记录中的预先存在的数据的新数据结构。例如,如果与土壤氮水平相关联的摄取时间戳是“2020-10-25T18:02:30.456Z”,并且土壤湿度水平的摄取时间戳是“2020-10-25T18:02:30.789Z”,则“2020-10-25T18:02:30.789Z”晚于“2020-10-25T18:02:30.456Z”。换句话说,与土壤湿度水平相关联的传感器数据是在与土壤氮水平相关联的传感器数据之后被摄取到数据库中的。因此,首先在摄取时间戳“2020-10-25T18:02:30.456Z”处创建对应于土壤氮水平的记录。此外,将“2020-10-25T18:02:30.789Z”处的对应于土壤湿度水平的传感器数据摄取到该记录中。换句话说,对应于土壤湿度水平的传感器数据被附加到该记录,从而避免覆写该记录中的数据。
在实施例中,可以基于摄取时间戳来确定与传感器数据相关联的时延。例如,时延可以被确定为传感器数据的读数时间戳与摄取时间之间的差或时间间隔。对于相同的读数时间戳,如果对应于第一传感器数据的时延是例如10微秒,并且对应于第二传感器数据的时延是18微秒,则第二传感器数据被确定为比第一传感器数据更旧。否则,第一传感器被认为比第二传感器数据更旧。
在本实施例中,如果与记录中的现有数据相关联的摄取时间戳比与相同读数时间戳处的最新传感器数据相关联的摄取时间戳更旧,则将最新传感器数据添加到记录。换句话说,来自多个感测单元的针对相同读数时间戳的时间序列数据以与来自所述感测单元中的每一个的传感器数据相关联的摄取时间的次序被合并。在与最新传感器数据相关联的摄取时间戳比与数据库中的传感器数据相关联的摄取时间戳更旧的情况下,丢弃最新传感器数据。因此,避免了将晚到达的或过时的传感器数据摄取到数据库中。
在一实施例中,装置110分析数据库中的传感器数据。该分析可以包括但不限于描述性分析、诊断性分析、预测性分析和规定性分析。在一个示例中,该分析可以是诊断性分析,以确定与IoT环境相关联的异常。在一实施例中,基于传感器数据与正常行为的偏差来检测异常。例如,如果针对任何给定参数的传感器读数高于针对该参数的预定义上限,则可以检测到异常。异常可以与感测单元的故障或者与关联于IoT环境的异常操作状况相关联。在另一个示例中,通过首先生成跨多个记录被存储在数据库中的与一个或多个参数相关联的时间序列数据的历史趋势来执行预测性分析。执行预测性分析以预测IoT环境105的未来状态。
在一实施例中,装置110基于数据库中的传感器数据在输出设备上生成通知。例如,可以生成指示对应于参数的传感器数据的趋势的视觉通知。视觉通知可以采用来自感测单元的传感器读数在时域中的标绘图(plot)的形式。标绘图是通过以读数时间戳的次序来布置跨多个记录被存储在数据库中的时间序列数据而获得的。类似地,可以生成对应于该多个感测单元中的每一个的多个标绘图。在一实现方式中,来自感测单元的标绘图可以被叠加以提供标绘图的比较性视图。在另一个实施例中,可以生成听觉通知以通知操作员关于IoT环境的异常操作。
尽管已经关于IoT环境中的传感器数据解释了本发明,但是本领域技术人员必须理解,也可以以类似的方式管理来自多个源的顺序数据。所述源可以包括但不限于控制器、边缘设备、电子设备、电器(appliance)等等。所述源还可以生成其他类型的数据,例如与IoT环境中的装备相关联的操作数据、由控制器向该装备提供的输入等等。
本发明不限于特定的计算机系统平台、处理单元、操作系统或网络。本发明的一个或多个方面可以分布在一个或多个计算机系统当中,所述计算机系统例如被配置成向一个或多个客户端计算机提供一个或多个服务或者在分布式系统中执行完整任务的服务器。例如,本发明的一个或多个方面可以在客户端-服务器系统上执行,该客户端-服务器系统包括分布在执行根据各种实施例的多个功能的一个或多个服务器系统当中的组件。这些组件包括例如可执行代码、中间代码或解释代码,该代码使用通信协议通过网络进行通信。本发明不限于在任何特定系统或系统组上是可执行的,并且不限于任何特定的分布式架构、网络或通信协议。
虽然已经在优选实施例的帮助下详细说明和描述了本发明,但是本发明不限于所公开的示例。在不脱离所要求保护的本发明的保护范围的情况下,本领域技术人员可以推导出其他变型。
- 用于控制不间断电源系统的方法以及相关联的电源系统
- 用于管理与启用IOT的设备上的对象相关联的操作的方法和系统
- IoT数据收集系统、IoT数据收集方法、管理装置、管理程序、代理装置以及代理程序