传感器数据生成和响应处理堆栈的制作方法

文档序号:14555231阅读:197来源:国知局
传感器数据生成和响应处理堆栈的制作方法

本申请要求于2017年11月18日提交的代理人案号为acn-687-in的印度专利申请第201641039345号的优先权,并且其全部内容通过引用并入本文。

本公开涉及传感器数据生成。



背景技术:

在巨大的客户需求的推动下,通信和传感器技术的快速发展导致了几乎所有类型的联网数据传感器和用于传感器数据的远程数据采集、分析和报告的云系统被广泛采用。仅举一个示例,家庭温度传感器可以向负责调整整个家庭的温度的集中式气候控制系统报告。通信和传感器数据可靠性的提高将进一步增强联网传感器系统的能力。

附图说明

图1示出了示例多层数据生成和响应处理堆栈。

图2示出了数据生成和响应处理逻辑。

图3示出了用于数据生成堆栈的示例特定执行环境。

图4示出了配置逻辑的示例实现方式。

图5示出了数据摄取逻辑的示例实现方式。

图6示出了数据摄取逻辑的数据生成部分的示例实现方式。

图7示出了数据导出逻辑的示例实现方式。

具体实施方式

网络连接的传感器可以监测各种自然现象和系统。诸如物联网(iot)传感器之类的网络连接的传感器可以向处理系统发送所测量的值。处理系统可以将所测量的传感器数据存储在数据库或其他存储库内,处理数据以执行监测或管理功能、响应来自外部系统的针对数据的请求、托管数据或执行其他数据处理活动。在一些情况下,可能出现对来自任何具体传感器类型的传感器的传感器数据的请求,该传感器在请求时不可用。例如,所请求的传感器类型的传感器可能暂停服务、未被安装、超出范围、损坏、不存在或以其他方式不可用。

在各种场景中,下文所讨论的技术和体系架构允许处理系统生成替代数据以用作来自不可用传感器类型的传感器数据。

所生成的替代数据可以使用不可用传感器的数据类型与可用传感器的一个或多个数据类型之间的静态关系、动态关系或混合关系来生成。因此,在一些情况下,给定类型的不可用传感器数据可能被所生成的传感器数据代替以回答该请求。也就是说,处理系统可以提供所生成的数据,就好像它是从不可用传感器获得的一样。

在各种系统中,部件可以请求来自可能不可用的特定传感器的数据。请求部件可能不一定被配置成接受来自另一传感器类型或相同类型的不同传感器的数据。因此,特定传感器的不可用性可能导致请求部件的操作减少或不操作。部件停机时间可能会导致系统整体性能下降。因此,便于针对不可用传感器进行数据替代的处理系统可以至少在其容错性方面改善计算机系统的底层硬件的总体操作,以及依赖于请求部件的操作的下游系统的继续操作。下文所讨论的多层数据生成堆栈提供了便于这种传感器数据替代的体系架构,从而改善了底层硬件的操作。

另外,在各个行业中,监测其他传感器活动可以起到中心作用。例如,对于公共设施、医疗保健、汽车操作、农业和其他行业来说,监测有助于资源的合理有效提供。传感器不可用性可能导致资源部署的时间或位置不当,无法正确引导公共设施中的燃气或电力流动,以及其他问题。在诸如上文所提及的那些行业中,为资源安排不合适的时间或位置的可能导致故障(诸如工厂停工时间或错过收获窗口),则提供针对不可用传感器的替代物可能有助于防止这样的故障。作为结果,下文所描述的技术和体系架构导致避免损失的显著节省,并且增加正常运行时间。

下文的讨论参照图1和图2,图1示出了示例多层数据生成堆栈100,而图2示出了对应的数据生成和响应处理逻辑200,其可以由数据生成堆栈100来实现。在该示例中,数据生成堆栈100包括配置层110、数据摄取和生成层140以及数据导出层170。

堆栈可以是指多层计算机体系架构,其定义多个层处的软件资源和硬件资源的交互。开放系统互连(osi)模型是堆栈式体系架构的示例。堆栈的层可以在它们之间传递数据和硬件资源以便于数据处理。作为数据生成堆栈100的一个示例,数据摄取和生成层140可以向数据导出层170提供对数据库内存储的传感器数据的访问。因此,数据摄取和产生层140可以向数据导出层170提供硬件资源,例如,数据库存储器访问。

配置层110可以包括配置逻辑112,其可以访问配置文件114以确定各种连接的传感器199的传感器可用性、类型、位置、存取协议或其他操作特征(202)。配置文件可以以各种格式存储,包括yaml(又一种标记语言)、json(javascript对象标记)或其他格式。配置文件114可以进一步定义可用传感器和不可用传感器之间的静态关系。例如,在预期未来可能有传感器中的一个或多个传感器不可用的情况下,配置文件114可以定义多个可用传感器之间的关系。附加地或可替代地,配置文件可以定义一个或多个可用传感器与不可用传感器之间的关系。例如,在预期数据生成堆栈100服务于针对来自不存在的、被损坏的、被禁用的或以其他方式不可用的传感器的数据的数据请求,配置文件114可以包括这种关系,而不是否定这样的请求。因而,配置逻辑112可以访问配置文件114以确定传感器之间的静态关系(204)。

配置文件114内定义的静态关系可以包括特定结构部件。例如,结构部件可以是不可用传感器之间的固定映射。进一步地,在一些情况下,结构部件可以包括数学结构,诸如定义的方程或方程组。附加地或可替代地,结构部件可以是标识硬件并且可以指定被用于生成针对具体传感器(例如,被确定为不可用的传感器)的替代数据的硬件资源的硬件资源指定器。例如,配置文件114可以通过指定可以被联合地采样以生成用于另一不可用传感器的替代数据的多个可用传感器来定义结构静态关系。

附加地或可替代地,配置文件114可以包括自变量字段,其指示哪些传感器提供表示数据生成系统内的自变量的数据。由这些传感器提供的数据可能不一定通过数据生成堆栈100的数据生成被替代。例如,这些传感器可以总是被分类为固定的数据类型的传感器。因而,数据摄取逻辑142可能不一定将计算资源用于尝试确定用于生成针对这些传感器的替代数据的关系。

进一步地,配置文件114可以包括因变量字段,其可以指示针对哪些传感器总是可以生成输出。例如,不存在的传感器可能不会被查询数据。因而,总是可以生成针对不存在的传感器的数据,而非直接从物理传感器采样。任何选定的不存在的传感器可以在配置文件114内被配置为生成数据类型的传感器。

其他传感器数据可能在某些时间生成,并且在其他周期期间固定。例如,连接的传感器可能会经历暂态电力中断。数据生成堆栈100可以检测由于电力中断而导致的传感器的不响应。例如,数据摄取和生成层142可以查询传感器199中的一个或多个电力状态传感器198或其他状态传感器,并且请求来自非响应传感器的状态更新。在一些情况下,电力状态传感器198可以具有电池备用系统以允许在电力故障或其他系统故障之后进行状态报告。在暂态电力中断期间,数据生成和响应处理堆栈100可以提供替代数据来服务针对来自传感器的数据的请求。当传感器再次加电时,数据生成和响应处理堆栈100可以恢复提供从传感器自身采样的数据。例如,数据摄取和生成层142可以从电力状态传感器198接收所讨论的传感器再次加电的报告。附加地或可替代地,传感器可以简单地在服务中断结束之后恢复流式传输数据。在重建流时,数据摄取和生成层142可以停止用替代数据替换传感器的数据。配置逻辑112可以访问配置文件以确定具体传感器是固定的数据类型的传感器还是生成的数据类型的传感器(206)。

数据摄取和生成层140可以包括数据摄取逻辑142。数据摄取逻辑142可以执行数据处理和机器学习以便于生成传感器数据。数据摄取和生成层140可以进一步耦合到通信接口150。数据摄取逻辑142可以在配置层110处访问针对来自配置逻辑112的各种传感器的操作特征(208)。例如,操作特征可以包括用于一个或多个传感器的数据刷新速率、采样速率、数据格式、存取协议、安全特征或其他操作特征。数据摄取逻辑142还可以从配置文件114访问针对各种传感器的静态关系和数据类型(210)。

数据摄取逻辑142还可以确定传感器之间的动态关系。例如,数据摄取逻辑142可以基于来自传感器的采样数据来确定传感器输出之间的动态关系,而非预先建立的数学关系或其他结构关系。为了确定动态关系,数据摄取逻辑142可以例如通过通信接口150或经由数据请求来访问一个或多个传感器(212)。数据摄取逻辑142可以从一个或多个访问的传感器获得数据样本(214)。当存储在配置文件114内的静态关系不完整、不可用、不能表示数据关系内的暂态部件、或所存储的关系不一定表示当前关系的其他情况时,可以使用动态关系。

然后,数据摄取逻辑142可以分析来自一个或多个存取传感器的采样数据以确定动态关系(216)。例如,数据摄取逻辑142可以将数学回归应用于针对第一传感器获得的数据样本。然后,数据摄取逻辑142可以尝试反向生成用于另一传感器的数据,其中数据摄取逻辑142具有来自于该传感器的第二样本。反向生成可以包括所生成的数据被用作反向数据生成关系的输入的技术。因而,可以生成通常可能是关系输入数据(例如,自变量数据)的数据。反向生成的数据可以被用于检查关系的准确性。如果反向生成的数据与直接从传感器电路采样的数据显著不同,则该关系可能不准确并且可能由系统检查。通过将所生成的数据与所采样的数据进行比较,数据摄取逻辑可以确定两个传感器之间的动态关系。附加地或可替代地,数据摄取逻辑142可以通过将针对传感器生成的数据与通过另一路径生成的针对同一传感器的其他所生成的数据进行比较来测试动态关系。该比较可以通过直接比较两个所生成的数据集合或通过反向生成被用于生成所生成的数据集合中的一个集合的传感器数据与另一所生成的数据集合来实现。在各种实现方式中,可以通过将使用静态关系生成的数据与从传感器获得的采样的数据进行比较来确定对应静态关系内的误差分量来确定动态关系。

在一些情况下,数据摄取和生成逻辑142可以实现为特定数据生成场景定制的模型来代替或补充可变目的统计模型。可变目的统计模型可以包括在广泛多种领域中有用的模型,诸如线性或多项式回归。对特定数据生成场景定制的模型可能包括分析模型和统计模型,这些模型假定协助更快地生成关系的假设集合或其他假设集合。例如,生长模式数据生成器可以使用已知使土壤湿度与生长相关的特定分析模型。在另一场景中,温度数据生成器可以依赖于黑体辐射体方程来从可用光谱传感器生成温度数据。在另一示例中,湿度数据生成可能依赖于区域性的(例如,亚太地区数据)季节降水数据。所使用的模型可以基于配置或响应于较新的数据动态关系数据而被更改。操作员可以通过将定制模型并入到配置文件114中来结合定制模型。

在一些情况下,在对于给定传感器实时采样的数据可能不可用的情况下,可以使用历史数据来确定或测试动态关系。例如,用于两种不同类型的传感器的缓存的数据可以被用于测试动态关系。来自两个传感器中的第一传感器(例如,汽车加速度传感器数据)的缓存的数据可以被用于从两个传感器中的第二传感器生成替代缓存的数据,例如,发动机热量数据。替代缓存的数据可以与实际缓存的数据进行比较以确定准确性。动态关系本身可以根据诸如趋势追踪之类的分析从两个传感器中的第一传感器(例如,汽车加速度传感器数据)采样的实时数据中确定。

一旦动态关系被确定,数据摄取逻辑142就可以组合静态关系和动态关系以生成混合关系(218)。在一些实现方式中,可以使用配置文件内的预先定义的权重来生成混合关系。可替代地或附加地,可以基于用于生成动态关系的分析来确定混合关系。例如,动态关系和静态关系之间的平衡可以通过与反向生成的数据进行比较来确定。在动态关系被确定为对应的静态关系的误差分量的系统中,不需要进一步调整动态关系,因为动态关系是响应于静态关系而确定的。附加地或可替代地,在一些情况下,最终关系(例如,混合关系)可以纯粹由动态分量或纯粹由静态分量来确定。在数据生成和响应处理堆栈的一些操作模式中,关系可能完全是静态的,完全动态的,或者是完全静态关系和完全动态关系的混合。可以在配置文件114内指定操作模式。例如,可以使用在配置文件114内定义的权重来建立混合关系。在该示例中,动态关系(诸如通过统计比较从可用硬件传感器采样的数据所确定的线性回归)可以与由分析方程表示的静态关系配对。解析方程可以由于不一定先验已知的暂时因素而在已知误差内表示两个变量的关系。线性回归可以被用作对解析方程的修正。所定义的权重可以用来平衡两个(动态和静态)分量。例如,线性回归由于样本大小和样本持续时间而可能具有有限的总体准确度。因而,不是将动态关系作为唯一分量,动态分量还可以用来对静态关系进行修正。所组合的最终结果可能是混合关系。

一旦混合关系被确定,数据摄取逻辑142就可以生成用于传感器的替代数据(220)。一旦最终关系确定,数据生成就可以开始。在一些情况下,用于一个传感器的替代数据生成可能开始,而用于其他传感器的关系仍在计算中。替代数据可以被连续地或持续地生成,或者可以不定期地生成,例如,响应于请求或者当预先定义的条件被满足时。所生成的替代传感器数据可以与实际采样的传感器数据相同或相似。在一些情况下,替代传感器数据可以被存储在数据库中或者在其中取得,就好像它是直接从传感器电路获得的数据一样。如下文所讨论的,替代传感器数据可以响应于传感器数据请求而被流式传输或以其他方式提供。在一些情况下,替代传感器数据的来源的混淆可以用来增加替代数据中的置信度,并且更有助于系统的不间断操作,其依赖于来自具体传感器的数据。

虽然如此,在各种实现方式中,可以将替代数据清楚地标记为替代数据。例如,用于替代数据的元数据可以包括替代数据标识符字段。标记替代数据可能有助于避免无意地导致操作员将替代数据误认为直接从硬件传感器采样的数据。标识替代数据可以通过提醒操作人员使用替代数据并且给予操作者激励以调查替代数据依赖的原因,来加快修正传感器硬件故障的响应时间。

数据导出层170可以包括数据导出逻辑172,其可以耦合到数据摄取和生成层140以及通信接口150。

数据导出逻辑172可以通过通信接口150接收针对传感器数据的请求(222)。所请求的传感器数据可以来自具体传感器或不可用于服务该请求的传感器类型。数据导出逻辑172可以确定具体传感器或传感器类型不可用(224)。数据导出逻辑172可以向数据摄取逻辑142发送针对替代传感器数据的请求(226)。数据摄取逻辑142可以用所生成的替代数据进行响应(228)。可替代地,数据导出逻辑172可以确定尽管具体传感器或传感器类型不可用,替代传感器数据仍然被存储在用于该传感器的数据存储装置144中。因而,数据导出逻辑172可以访问具体传感器(230)的数据存储装置中的替代传感器数据,而非向数据摄取和生成层140发送请求。数据导出层可以访问在配置文件114内的针对该请求的输出简档(232)。

不同的请求可以使用不同的输出格式来服务,以输出到不同的数据接收器(datasink)。例如,可以通过以下各项来服务请求:生成包含替代数据的平面文件、流式传输替代数据、向边缘设备推送替代数据、提供作为web服务的对替代数据的访问、用替代数据填充关系数据库、或者提供另一输出格式的替代数据。为了符合格式化要求,数据导出层可以建立任何预先确定的输出格式的任何数目个预先定义的输出驱动器171(234)。任何具体驱动器171可以包括便于数据格式化、转换和提供具体输出格式的替代数据的软件指令和硬件资源的任何组合。软件指令指向可以被用于分发或转换替代数据的网络资源、格式简档或其他指令。软件指令可以定义执行数据和协议转换所采取的动作。硬件资源可以包括例如网络访问、处理器运行时间和其他资源,其可以被用于实现格式转换和文件传送。

图3示出了用于上文所描述的数据生成和响应处理堆栈100的示例特定执行环境300。该执行环境300可以包括系统逻辑314,以支持上文所描述的数据生成和响应处理堆栈100的多个层的执行。系统逻辑可以包括处理器316、存储器320和/或其他电路。

如上文所描述的,存储器320可以用于存储配置文件114、输出格式简档322、通信接口参数324、传感器关系(例如,动态关系和混合关系)326和替代传感器数据328。在一些情况下,存储器320(例如,用于替代传感器数据327的存储器)可以使用关系数据库管理系统(rdms)来实现。存储器可以进一步包括应用和结构366,例如,编码对象、模板或其他结构,以支持数据分析、数据回归和/或其他数据分析或生成。应用和结构可以包括数据生成和响应处理逻辑200,其中可以包括配置逻辑112、数据摄取逻辑142和数据导出逻辑172。

执行环境300还可以包括通信接口312,其可以支持无线(例如,蓝牙、wi-fi、wlan、蜂窝(4g,lte/a))和/或有线、以太网、千兆以太网、光网络协议。通信接口还可以包括串行接口,诸如通用串行总线(usb)、串行ata、ieee1394、闪电端口、i2c、穿行低功耗芯片间媒体总线(slimbus)或其他串行接口。通信接口可以支持使用一个或多个链路类型与传感器电路的通信。执行环境300可以包括电源功能334和各种输入接口328。执行环境还可以包括用户接口318,其可以包括人机接口设备和/或图形用户接口(gui)。在各种实现方式中,系统逻辑314可以分布在多个物理服务器上和/或被实现为虚拟机。

在一些情况下,执行环境300可以是在云平台中部署的专门定义的计算系统。在一些情况下,可以在云部署的清单中指定定义执行环境的参数。清单可以被操作员用来请求基于云的硬件资源,然后将执行环境的软件部件(例如,数据生成和响应处理堆栈)部署到硬件资源上。在一些情况下,可以将清单存储为诸如yaml(又一种标记语言)、.json或其他偏好文件类型的偏好文件。

下文的讨论描述了可以使用上述数据生成和响应处理堆栈100的示例场景和实现方式。

具有iot能力的传感器在遥感应用和其他传感场景中的采用越来越普遍。操作员可以使用iot传感器来远程监测具体系统和变量,并且还可以使用iot节点作为用于执行命令/指令(诸如致动器或系统模式改变)的消息传送中继。

除了iot应用之外,各种应用中还可以存在各种可用的设备和传感器,这些设备和传感器可以受益于由高效率和高精度建模而产生的操作改进。

在各种实现方式中,数据生成和响应处理堆栈的配置层可以使用lisp语法中的基于yaml的配置文件。

图4示出了配置逻辑112的示例实现方式400。配置逻辑400可以访问yaml配置字段(402)。存储在配置文件内的yaml指令和参数可以由yaml配置处理逻辑来解析和解释(404)。配置逻辑还可以经由传感器标记语言(ml)语法访问传感器电路(406)。输入的传感器数据可以由传感器ml配置处理逻辑处理(408)。配置逻辑400还可以准备元数据用于附加到固定的和生成的传感器数据输出(410)。配置逻辑400可以确定用于数据摄取逻辑的操作模式(412)。为了在纯静态关系模式下操作,配置逻辑400可以发信号通知数据摄取逻辑可以在没有确定动态关系的情况下操作(414)。否则,配置逻辑400可以发送信号以使得数据摄取逻辑确定至少一些动态关系(416)。

在各种系统中,配置逻辑400可以是特定于域的。例如,配置逻辑400(例如,经由配置文件)可以被具体化为特定应用或应用组。例如,配置文件可以指定特定于应用或应用组的传感器类型。进一步地,传感器之间的关系可以被具体化为特定应用或企业。

图5示出了数据摄取逻辑142的示例实现方式500。在一些实现方式中,数据摄取逻辑500可以被用于收集历史数据。数据摄取逻辑500可以应用机器学习算法来生成自变量和因变量之间的关系。数据摄取逻辑可以由配置逻辑调用(501)。为了确定数据类型之间的关系,数据摄取逻辑500组织变量并且在其中循环以捕获关系。数据摄取逻辑500可以标识不依赖于任何其他输入的变量(502)。数据摄取逻辑500可以确定哪些变量与被确定为独立的变量具有直接关系(504),例如,没有被另一中间变量介于中间的关系。为了确定不是静态的关系,数据摄取逻辑500可以以各种格式560从各种数据源550摄取数据样本(505)。数据摄取逻辑500可以确定相对于数据摄取逻辑142的、如上文所描述的动态关系(506)。所获得的动态关系可以被存储在例如pmml、pfa或其他格式文件中,以便未来用作配置文件内的静态关系(507)。使用所获得的动态关系(508),数据摄取逻辑可以临时创建基于静态关系和动态关系的混合关系(510)。使用所确定的混合关系,数据摄取逻辑500可以开始数据生成(512)。数据提取逻辑500可以继续映射变量以确保获得针对配置文件中定义的或以其他方式存在于系统中变量的每个变量的映射。在一些情况下,数据摄取逻辑500可以访问基于云的数据挖掘和机器学习解决方案(诸如由亚马逊网络服务(aws)、google或其他企业数据挖掘应用提供的解决方案)以执行关系计算。

数据摄取逻辑500可以以多种模式操作,这些模式包括监督模式/手动模式、学习和发现模式以及混合模式。在监督模式/手动模式下,操作员可以指定用于数据生成的各种输入参数之间的关系,并且系统可以基于所指定的关系继续进行。例如,用户可以指定预测模型标记语言(pmml)或分析便携式格式(pfa)文档来指定变量之间的关系,并且系统可以基于所指定的关系来生成数据。在一些情况下,可以供应种子值以补充从传感器测量收集的数据。在这种模式下,可以指定静态关系,并且可以放弃动态关系的计算。

pmml文档可以指定分析算法和指定变量之间关系的对应系数。例如,下文的伪代码是使用线性回归模型分析数据集后生成的示例pmml文件。还可以使用相同的pmml反向生成数据。下文的表1示出了示例pmml文档。

数据摄取逻辑500可以分析与sepal_length、sepal_width、petal_length和petal_width相对应的pmml值以对每个记录的类别值进行评分。pmml文件中指定的系数使用采样的数据生成。数据生成阶段的操作与关系确定步骤相反。当生成数据时,数据摄取逻辑500接受pmml文档作为输入,并且基于在pmml文档中定义的关系来生成数据。

pfa文件允许分析关系的自由形式说明。使用文本编辑器,操作可以编辑依据方程表达数据关系的pfa。例如,下文的表2示出了陈述相对于输入变量x的因变量y的数据关系。

因而,上文的伪代码使用以下方程来固定x和输出y之间的关系:

y=mx+c方程1

其中m=2,并且c=4。

数据摄取逻辑500可以通过变化作为输入变量的x来生成数据,输出(y)可以被生成。在一些情况下,输出y可以用作输入用于生成另一因变量,例如,z。

表3示出了用于在示例pfa伪代码中定义的关系的输入/输出:

现在转到学习和发现模式以及混合模式的操作。在学习和发现模式下,操作员可以供应数据样本说明,并且系统可以导出如上文所讨论的、关于动态关系计算的关系。在这种模式下,系统可以在没有定义的静态关系的情况下操作。附加地或可替代地,可以通过将静态关系的相对权重设置为零来调用学习和发现模式。因此,即使可以定义静态关系,静态关系也不一定对生成替代数据起作用。

混合模式可以使用上文所讨论的混合关系,其中来自动态和静态关系计算的贡献被组合以达到操作结果。进一步地,在混合模式下,纯静态或动态关系可以用于不同的变量关系。例如,在一些情况下,一些变量关系可能先验已知(分析地或统计地),而其他变量关系可能是未知的。因此,针对未知关系,动态关系可以由数据提取逻辑500确定,并且已知关系可以通过在配置文件中定义的静态关系来指定。一旦确定了动态关系,数据摄取逻辑(例如,142或500)可以捕获配置文件(例如,pra、pmml、yaml或其他格式)内的关系以供系统或另一系统稍后使用。捕获和存储先前确定的动态关系可以通过避免重复计算动态关系并且减少处理负载来改善系统的底层硬件的整体操作。

一旦变量之间的关系已知,数据摄取和生成层就可以开始生成替代数据。图6示出了数据摄取逻辑142的数据生成部分的示例实现方式600。数据摄取逻辑600可以在生成数据时遵循依赖性层次(602)。例如,数据摄取逻辑600可以在生成针对第一变量的数据之后,生成针对依赖于该变量的变量的数据。在一些实现方式中,层次可能需要在进行到下一水平之前在给定水平处生成针对所有变量的数据。因而,在这样的层次中,在数据摄取逻辑500进行到二级因变量之前,产生所有一级自变量。在其他层次中,数据摄取逻辑可以直接进行到更高层次,直到在已经生成第一变量所依赖的第二变量的数据之前,数据摄取逻辑500到达第一变量为止。数据摄取逻辑500然后可以转到该第二变量。其他层次可能依赖于针对数据生成的优先级分配。在这些层次中,数据摄取逻辑可以继续进行到首先生成最高优先级数据。在最高优先级数据依赖于其他数据的情况下,数据摄取逻辑500可以遵循到最高优先级数据的最短依赖性路由。在使用数据生成优先级的各种实现方式中,配置文件可以指定用于数据生成的优先级值。

数据摄取逻辑可以确定是否有任何变量具有尚未针对其生成数据的剩余依赖关系(604)。数据摄取逻辑可以从具有依赖性的给定变量的初始值开始数据生成(606)。初始值可以是时间或数据存储序列中的第一值或其他初始值。数据摄取逻辑600可以生成针对因变量的值(608)。数据摄取逻辑600可以继续数据生成,直到达到因变量的结束条件为止(609)。例如,结束条件可以包括:针对因变量生成与针对基础变量存在的条目数量相同的条目、达到最大值、时间序列最大值,或其他结束条件。数据摄取逻辑500可以准备数据集(610)。例如,数据摄取逻辑500可以在生成数据时将所生成的数据实时地发送到数据导出层。附加地或可替代地,数据提取逻辑500可以将相关的所生成的数据聚合成最终数据集以提供给数据导出层。一旦准备好,数据摄取逻辑500就可以将所生成的数据传递给数据导出层(612)。

如上文所讨论的,所生成的替代数据可以通过数据导出逻辑172分发给其他系统,诸如请求系统。图7示出了数据导出逻辑172的示例实现方式700。数据导出逻辑700可以从数据摄取和生成层接收所生成的数据(702)。数据导出逻辑700可以获得用于被配置成接收所生成的数据的各种数据接收器的输出简档(704)。基于该输出简档,数据导出逻辑可以选择驱动器来处理数据导出(706)。数据导出层可以向各种数据接收器发送所生成的数据,这些数据接收器包括平面文件存储装置(710)、流式传输输出(712)、边缘设备提供(714)、关系数据库提供(716)以及web服务暴露(718)。输出还可以通过使用对应的驱动器被格式化为json、xml、csv以及其他格式。另外,所生成的替代数据可以使用诸如消息队列遥测传输(mqtt)、可扩展消息传送和存在协议(xmpp)、高级消息队列协议(amqp)或其他iot协议之类的各种iot协议来格式化,以便于使用所生成的替代数据作为实际采样的传感器数据的替代物。

配置文件的格式在数据生成和响应处理堆栈的各种实现方式中可能不同。表4示出了示例的具有注释的yaml配置文件格式。但是,可以实现其他格式(包括其他yaml格式)。

上文在表2中示出的各个字段可以以其他格式被包括或省略。

其中数据生成和响应处理堆栈100可以被实现的一个示例场景是在植物生长监测系统中。表4示出了用于植物生长监测系统的示例配置文件的伪代码。

使用上文的配置文件,系统可以生成植物生长变量的替代传感器数据,诸如测树仪数据。测树仪是植物学和农业科学中用于测量各种植物的生长速率的设备。

系统可以使用上文的配置文件来标识变量。系统可以对自变量进行分组或聚类,并且为这些集群中的每个集群指定相关性/元数据。

系统可以基于自变量或其他因变量来生成因变量的数据。在一些情况下,为防止过度精确,系统可能会向所生成的数据添加噪声/随机因素。表6示出了植物生长变量的示例。

在该植物生长示例场景中,数据生成和响应处理堆栈的操作员指定配置文件内的变量和关系。然而,在其他系统中,可以通过机器学习来确定关系。

作为一个示例,树皮宽度可以被表达为:树皮宽度(y)=(物种*与物种的相关性)+(地理位置*与地理位置的相关性)+(时间*与时间的相关性)+(土壤湿度*与土壤湿度的相关性)+(土壤盐度*与土壤盐度的相关性)。

为了简洁起见,使用以下符号:

s=物种,t=时间,p=降水

l=位置,sh=土壤湿度,ss=土壤盐度

另外,为了防止超出范围的值或不切实际的生成值,操作员可以指定因变量的最小值和最大值。

在下文的计算示例中,数据在一年内生成。时间序列数据被分成四个集群。被输出的测树仪读数(dbh)可以通过将dbh输出与自变量相关的相关系数来表达。相关系数可以针对相关系数的不同范围而改变。例如,时间变量可能在夏季月份与生长最为正相关,而在冬季月份最不相关。数据摄取逻辑142可以根据相关系数的变化来对变量进行聚集。表7示出了针对时间变量的一年的不同时间的相关系数。相关系数被聚集为四组。

输出变量(在这种情况下为dbh)取决于上述因素中的每个因素,并且基于上述数据,系统将计算dbh连同所有其他变量的组合相关性。符号rij表示变量i和j之间的相关系数。因而,ryp是dbh和降水之间的相关系数,rtp是时间和降水之间的相关系数。

所有参数/变量之间的关系可以被表达为:

ry,tp=√(r2yt+r2yp-2rytrypytp)/(1-r2tp)方程2

dbh(y)=xr+e方程3

其中e是随机值/噪声,e的标准差为√(1-r2)并且e的均值=0,e与x无相关性。

应用上文用于dbh的生成技术,数据摄取逻辑142可以使用来自表8的示例采样的传感器数据生成一年的数据:

使用采样的传感器数据,数据摄取系统可以使用2004年的数据来确定相关性。表9示出了所确定的系数关系。

然后,示例确定的系数关系可以用于生成针对2005年1月的替代dbh输出。对于示例生成计算,时间为1/1/2005,其将该序列中的第13个月,因为2004年1月1日是第一个月。

湿度(时间依赖性弱)

δy=|[51–59]|=8

δx={0.327*(13-12)}=0.327

h=(8*0.327)+51-(51–59)*0.6[erandom=0.6]

53.616+4.8

58.416

降水(时间依赖性弱)

δy=|[0.5–1.7]|=1.2

δx={-0.327*(13-12)}=-0.327

h=(-0.327*1.2)+0.5+(0.5-1.7)*0.6[erandom=0.6]

-0.3924+0.5–0.72

-0.6124

在这种情况下,所获得的值小于降水的最小允许值。因此,负降水值可以用零值替换。

对于1月到3月:

rty=0.945

rhy=0

rpy=0

因此,在这个示例场景中,针对2005年1月的所生成的dbh的值为:

δy=|[yn–yn-1]|=306.9–306.5=0.4

δx=[{0.945*(13-12)}+{0*(56.44–51)}+{0}]=0.07269

dbh={(0.945*0.4)+306.9+(306.9–306.5)*0.6

=307.278+0.24

=307.518(所生成的)

类似地,可以计算针对年的其他部分的集群的dbh。

上述用于生成dbh数据的示例关系是静态关系的示例。然而,在其他dbh场景下,可能会使用动态关系。例如,代替表7中使用的设定的相关系数,可能已经计算出动态相关系数。例如,dbh输出可以由第一区域中的测树仪监测,但在类似气候的第二区域中不可用。代替上述所设定的系数,系统可以使用第一区域中的采样的测树仪数据的回归来确定表7系数的类似物。在这个问题上,使用包括来自另一时间点或地理区域的采样的数据在内的采样的数据的回归是动态关系的确定的示例。

对于混合关系,回归数据和所设定的表7数据可以组合。在植物生长可以通过设定的生长函数来估计但是可以通过动态回归来改善以导致暂态贡献(诸如逐年温度和湿度变化)的情况下,可以使用混合关系。可替换地或附加地,在采样的数据的置信度小于100%的情况下,可以使用混合关系。例如,当来自类似气候的地区的数据被用于确定动态关系时,数据可能不能完全表示感兴趣地区。因而,静态贡献可以防止统计学上无关的动态关系确定减少dbh数据生成的准确性。

在dbh示例中,dbh数据可以用于协调作物的种植和收获时机。自然地,作物可能会继续生长,并且在dbh数据不可用的情况下,也不一定会无效。然而,种植和收获窗口可能很短,并且需要显著后勤准备工作,以确保收获、储存和再种植作物。例如,仓库可以与批发商协调,但是如果交换时机错过了几个星期,则可能会在能够做出紧急安排之前发生作物腐败。

另外,支持种植和收获的设备可能是租赁的或临时征用的。例如通过改进收获/种植窗口的估计缩小了可能需要的征用的周期,可能会降低成本并且允许更多地利用设备。

可以应用数据生成和响应处理堆栈的另一示例场景是汽车性能监测。

在示例场景中,可以使用以下变量:

可能生成的变量:

汽车的速度(以km/h为单位)

加速度(以m/s2为单位)

所生成的发动机热量

自变量:

发动机排量

道路类型(在从1到5的尺度内,1是最差的,5是最好的)

降水

经过的时间

计算可以包括不同计算水平下的变量。例如,速度可能是二级因变量,因为它可能取决于加速度,该加速度可能取决于自变量经过时间,发动机排量,道路类型,降水。

表10示出了针对具体驾驶员和汽车所取得的的示例数据。

如果上述数据被呈现给数据生成和响应处理堆栈,则数据摄取逻辑可以确定:

时间与加速度之间的关系(rta)

发动机排量与加速度之间的关系(rca)

道路类型与加速度之间的关系(rxa)

降水与加速度之间的关系(rpa)

对于上文的示例采样的数据,rta在经过周期的前半段为正,在后半段为负。在示例采样的数据中,汽车加速然后减速。

系数rca,rxa和rpa是零,因为这些变量对于该示例数据集合是恒定的。因此,在时间t处的a=(rta)*(t)+随机化噪声值。对于v,v=(rav)*(a)+随机化噪声值。还有,发动机热量可以基于v来表示,如h=(rvh)*(v)+随机化的噪声值。

上文针对汽车和驾驶员的关系的确定是动态关系确定的示例。数据被采样,然后确定关系。所确定的关系可以被用于稍后的数据生成。附加地或可替代地,可以使用静态关系,例如,加速度与其他变量之间的关系,或反之亦然。因而,不是确定速度与时间或速度与加速度之间的动态关系,速度与加速度之间的已知分析关系可以被用于从所采样的加速度数据生成速度数据。

在各种场景下,在各种数据类型可能不可用的情况下,可以使用这种汽车数据生成。例如,汽车上的速度计可能会损坏。在一些情况下,如果可以例如从可用的加速度计和时钟或其他可用数据生成速度数据,则操作员能够安全地继续对汽车进行可靠的操作。类似地,当热传感器不起作用时,可以生成发动机热量水平。在一些情况下,在没有速度或发动机热量数据的情况下操作汽车可能会导致汽车损坏。

在由配置层处的配置文件提供系数的情况下,可以在监督/手动或混合模式下放弃数据生成之前的一些分析。

上文所描述的示例场景是其中可以应用数据生成和响应处理堆栈来生成传感器数据的两个示例系统。然而,操作员可以在其他数据生成场景中使用数据生成和响应处理堆栈。例如,数据生成和响应处理堆栈可以被用于公用事业监测和管理系统,诸如用于水区域和发电厂的系统。数据生成和响应处理堆栈可以用于家庭安全和环境控制。例如,数据生成和响应处理堆栈可以被用来使用来自自动调温器的监测的温度数据替换不可用的入口传感器,来出于安全目的确定对家庭的进入。数据生成和响应处理堆栈可以被用来替换几乎任何多传感器环境中的传感器数据。

上文描述的方法、设备、处理、电路和逻辑可以以许多不同的方式以及硬件和软件的许多不同组合来实现。例如,实现方式中的所有或部分实现方式可以是包括诸如中央处理单元(cpu)、微控制器或微处理器之类的指令处理器的电路;或作为专用集成电路(asic)、可编程逻辑器件(pld)或现场可编程门阵列(fpga);或作为包括分立的逻辑或其他电路部件(包括模拟电路部件、数字电路部件或两者)的电路;或其任何组合。作为示例,电路可以包括分立的互连硬件部件、或者可以被组合在单个集成电路管芯上、分布在多个集成电路管芯之间、或者以公共封装中的多个集成电路管芯的多芯片模块(mcm)实现。

因而,该电路可以存储或访问用于执行的指令,或者可以仅用硬件来实现其功能性。指令可以存储在非暂态信号之外的有形存储介质中(诸如闪存、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom));或者在磁盘或光盘上,诸如光盘只读存储器(cdrom)、硬盘驱动器(hdd)或其他磁盘或光盘;或者在另一机器可读介质中或上。诸如计算机程序产品之类的产品可以包括存储介质以及存储在介质中或者上的指令,并且当由设备中的电路执行时,指令可以使得设备实现上文所描述的或者在附图中图示的处理中的任一处理。

这些实现方式可以是分布式的。比如,电路可以包括多个不同的系统部件(诸如多个处理器和存储器),并且可以跨越多个分布式处理系统。参数、数据库和其他数据结构可以单独地存储和管理、可以被并入单个存储器或数据库中、可以以许多不同的方式在逻辑和物理上进行组织、并且可以以许多不同的方式实现。示例实现方式包括链接列表、程序变量、散列表、阵列、记录(例如,数据库记录)、对象和隐式存储机构。指令可以形成单个程序的各部分(例如,子例程或其他代码段)、可以形成多个单独程序、可以跨多个存储器和处理器分布、并且可以以许多不同方式实现。示例实现方式包括独立程序,并且作为库(诸如类似动态链接库(dll)的共享库)的一部分。例如,该库可以包含共享数据和一个或多个共享程序,该共享程序包括指令,该指令当由电路执行时,执行上文所描述的或附图中所图示的处理中的任一处理。

已经对各种实现方式进行了明确的描述。然而,许多其他实现方式也是可能的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1