开发者社区> 问答> 正文

如何用SQL表达对设备离在线监控

假设我们有很多设备,设备正常工作期间会定时发送心跳到服务器。如果某个设备在超过N分钟的时间内,没有发送任何心跳到服务器,服务器会认为设备已经离线。直到下一次心跳,才判定设备为在线。

需求:在判定设备离线时,产出一条设备离线消息;在设备经过一次离线后,第一次心跳时,产出一条设备上线的消息;

假设设备上报的消息包含当前时间(ts)和设备id(deviceid):

1575456144,dev1

1575456146,dev2

1575456147,dev1

….

产出的离在线消息分别格式如下(第一列为设备离在线时间):

1575456158,dev1,offline

1575456169,dev2,online

能否用一条SQL来定义这个作业呢?

*来自志愿者整理的flink邮件归档

展开
收起
EXCEED 2021-12-08 13:51:28 1347 0
1 条回答
写回答
取消 提交回答
  • 设定一个滑动窗口,窗口大小大于等于2n,滑动间隔大于等于n,若一次窗口结算,count 大于等于2,则在线,否则下线

    *来自志愿者整理的flink邮件归档

    2021-12-08 14:42:55
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server在电子商务中的应用与实践 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载