Signal Calculation Service
构想
Signal Calculation Service 处理实体传感器的时间序列数据。该服务可聚合、修改、平滑和转换原始传感器数据,以便与原始数据一起进行进一步分析或存储。
该服务使用户能够执行以下任务:
- 检测缺失的传感器值
- 用内插传感器值替代缺失的传感器值
- 根据可用的传感器读数计算新的物理参数
- 在滑动窗口上聚合传感器值
访问
要访问此服务,您需要具有 Analytics Services 角色和范围中列出的相应角色。
基础知识
配置选项
除了使用一个或多个时间序列(IoT 模型格式的原始传感器数据)作为输入之外,该服务还使用特定配置进行信号计算。配置信息包括以下部分:
- 运算
处理时间序列的常用运算 - 参数
运算参数 - 操作数
一组操作数,每个操作数定义了实体、属性集和要运算的时间序列数据的属性 - 结果
将输出格式定义为 IoT 模型时间序列:实体、属性集和生成的时间序列的属性
该服务对原始传感器数据执行运算,并以计算的时间序列(即软传感器)进行响应。
运算
Signal Calculation Service 执行以下运算:
- 单参数数学
- Absolute:数值的绝对值
- Lg:数值以 10 为底的对数
- Ln:数值以 e 为底的对数
- Exp:数值的指数值
- Cos:数值的余弦值
- ArcCos:数值的反余弦值
- Cosh:数值的双曲余弦值
- Sin:数值的正弦值
- ArcSin:数值的反正弦值
- Sinh:数值的双曲正弦值
- Tan:数值的正切值
- ArcTan:数值的反正切值
- Tanh:数值的双曲正切值
- Sqrt:数值的平方根值
- Not:数值的负值
- IsNull:检查是否为空
- SignNegation:更改数值的符号
- 双参数数学
- Add:将两个数值相加
- Subtract:将两个数值相减
- Multiply:将两个数值相乘
- Divide:将两个数值相除
- Power:将第一个操作数增加到第二个操作数的幂指数
- LessThan:比较两个数值
- GreaterThan:比较两个数值
- GreaterThanOrEquals:比较两个数值
- LessThanOrEquals:比较两个数值
- Equals:检查两个值是否相等
- NotEquals:检查两个值是否不相等
- And:对两个值应用 boolean 逻辑
- Or:对两个值应用 boolean 逻辑
- 多参数数学
- Min:比较多个数值并生成最小值
- Max:比较多个数值并生成最大值
- Mean:生成多个数值的平均值
- Median:生成多个数值的中间值
- Sum:生成多个数值的和
- 过滤
删除所选 boolean 属性设置为true
的时间序列的所有条目。 - 合并
合并两个或多个时间序列。输出时间序列包含现有时间戳和新的“内插”时间戳,具体取决于所选模式:- Last-Non-Null
如果找到非同步时间戳,则对于每个时间序列,将为新时间戳采用最后一个非空值。 - 线性插值
如果找到非同步时间戳,则对于每个时间序列,对于新时间戳采用最近两个连续值之间的内插值。 - 重新采样
从用户定义的特定和等距的时间戳的现有时间序列数据中获取插值
- Last-Non-Null
- 常量
使用常量来应用其它运算 - 转换
将功能类型转换为其它类型 - 单参数字符串
- Capitalize:使字符串的第一个字母大写
- LowerCase:使字符串的所有字母小写
- UpperCase:使字符串的所有字母大写
- Md5Checksum:生成字符串的 MD5 哈希值
- RemoveDiacritic:从字符串中删除变音字符
- RemoveDuplicates:从字符串中删除重复的字符
- Reverse:从字符串中反转字符的顺序
- ToEmpty:将字符串转换为空字符串
- Length:返回字符串的字符数。
- 双参数字符串
- CapitalizeBy:在第一个操作数上将第二个操作数转换为大写
- RemoveChars:从第一个参数中删除第二个参数
- Concat:连接两个字符串
- Compare:比较两个字符串
- RegexMatcher:检查字符串(第一个参数)是否遵循给定的正则表达式(第二个参数)并返回 Boolean。
- Count:将第二个参数的出现次数返回到第一个操作数
- IndexOf:将第二个参数的索引返回到第一个参数
- LastIndexOfChar:将第二个参数的最后一个索引返回到第一个参数
- SubString:从给定索引(第二个参数)开始返回第一个参数的子字符串
- 三参数字符串
- Replace:在字符串(第一个操作数)中搜索给定的字符串(第二个操作数)并用给定的字符串(第三个操作数)替换它。
- RegexReplace:在字符串(第一个操作数)中搜索给定的正则表达式(第二个操作数)并用给定的字符串(第三个操作数)替换它。
- SubStringInterval:从给定的起始索引(第二个操作数)和结束索引(第三个操作数)开始返回字符串(第一个操作数)的子字符串。
- 单参数 DateTime
- IsWeekend:检查某个 DateTime 是否在周末。
- IsWorkDay:检查某个 DateTime 是否在工作日。
- GetYears:从给定的 DateTime 返回年数。
- GetMonths:从给定的 DateTime 返回月数。
- GetDays:从给定的 DateTime 返回天数。
- GetHours:从给定的 DateTime 返回小时数。
- GetMinutes:从给定的 DateTime 返回分钟数。
- GetSeconds:从给定的 DateTime 返回秒数。
- GetMilliseconds:从给定的 DateTime 返回毫秒数。
- 双参数 DateTime
- AddDateTime:该运算将两个 DateTime 值相加
- AddYears:返回一个新的 DateTime,它将指定的年数添加到实例的值中。
- AddMonths:返回一个新的 DateTime,它将指定的月数添加到实例的值中。
- AddDays:返回一个新的 DateTime,它将指定的天数添加到实例的值中。
- AddHours:返回一个新的 DateTime,它将指定的小时数添加到实例的值中。
- AddMinutes:返回一个新的 DateTime,它将指定的分钟数添加到实例的值中。
- AddSeconds:返回一个新的 DateTime,它将指定的秒数添加到实例的值中。
- AddMilliseconds:返回一个新的 DateTime,它将指定的毫秒数添加到实例的值中。
- SubtractDateTime:该运算将两个 DateTime 值相减并返回毫秒间隔。
- SubtractYears:返回一个新的 DateTime,它从此实例的值减去指定的年数。
- SubtractMonths:返回一个新的 DateTime,它从此实例的值减去指定的月数。
- SubtractDays:返回一个新的 DateTime,它从此实例的值减去指定的天数。
- SubtractHours:返回一个新的 DateTime,它从此实例的值减去指定的小时数。
- SubtractMinutes:返回一个新的 DateTime,它从此实例的值减去指定的分钟数。
- SubtractSeconds:返回一个新的 DateTime,它从此实例的值减去指定的秒数。
- SubtractMilliseconds:返回一个新的 DateTime,它从此实例的值减去指定的毫秒数。
- LessThanDateTime:该运算比较两个 DateTime 值。
- GreaterThanDateTime:该运算比较两个 DateTime 值。
- GreaterThanOrEqualsDateTime:该运算比较两个 DateTime 值。
- EqualsDateTime:该运算检查两个 DateTime 值是否相等
- NotEqualsDateTime:该运算检查两个 DateTime 值是否相等
- 观察窗口和聚合器
- Time window:从时间间隔收集连续的条目序列并应用聚合函数列表
- Length window:收集具有固定数量条目的连续序列并应用聚合函数列表
- 延迟
- Events based:使用指定的数字将输入中的事件向右移动
- Time period based:使用请求中收到的指定毫秒延迟条目的时间
- 生成器
- Continuous:为每个给定的时间段生成只包含时间戳的简单条目
- Temporal:基于周期参数和作为输入接收的事件数生成输入条目的副本
所有运算输入和输出都使用数据类型integer64
、double
或boolean
中的一种。如果其中一个操作数为 Null,则结果为 Null。
功能
Signal Calculation Service 公开其 API 以实现以下任务:
- 将数学运算应用于时间序列的指定属性
- 按指定的 boolean 属性过滤时间序列
- 合并多个时间序列
示例场景
啤酒厂的经理想要计算生产线上某个组件的平均温度。
使用 IoT Time Series Service 收集生产线上相关温度传感器的时间序列数据。将所需时间段的时间序列送入 Signal Calculation Service API 并生成中值。评估生成的响应。
相关链接
还有问题?
除非另行声明,该网站内容遵循MindSphere开发许可协议.
Last update: July 11, 2019