分布式时序数据库DolphinDB的流计算框架目前已支持时序聚合引擎、横截面聚合引擎、异常检测引擎和自定义流计算引擎:异常检测引擎(Anomaly Detection Engine)能实时检测数据是否符合用户自定义的警报指标,但这个需求不适用。异常检测引擎是按设备分组进行处理的。每次有新数据流入才触发计算,或每隔一段时间,在固定长度的移动窗口中才进行聚合计算。一个传感器若没有产生新数据,无法触发计算。解决办法是自定义一个消息处理函数(message handler)去计算和检测。具体实现思路是:用一个键值内存表记录每个传感器的最新采集时间。消息以一定时间间隔(比如1秒)进入消息处理函数。消息处理函数首先更新键值内存表,然后检查这个表中每个设备记录的最新采集时间是否超过2分钟,若有即报警。实现代码可参考DolphinDB流计算引擎实现传感器数据异常检测demo2 。
分布式时序数据库DolphinDB的流计算框架目前已支持时序聚合引擎、横截面聚合引擎、异常检测引擎和自定义流计算引擎:
异常检测引擎(Anomaly Detection Engine)能实时检测数据是否符合用户自定义的警报指标,但这个需求不适用。异常检测引擎是按设备分组进行处理的。每次有新数据流入才触发计算,或每隔一段时间,在固定长度的移动窗口中才进行聚合计算。一个传感器若没有产生新数据,无法触发计算。解决办法是自定义一个消息处理函数(message handler)去计算和检测。具体实现思路是:用一个键值内存表记录每个传感器的最新采集时间。消息以一定时间间隔(比如1秒)进入消息处理函数。消息处理函数首先更新键值内存表,然后检查这个表中每个设备记录的最新采集时间是否超过2分钟,若有即报警。实现代码可参考DolphinDB流计算引擎实现传感器数据异常检测demo2 。