有个系统需求,一个智能浇花的系统,有大约15个传感器,收集紫外线,温度,PM2.5等,每个传感器的数据大约是30s收集一次(数据收集已经写成了接口,可以直接调用接口),每30s一共产生大约450条数据,要将这些数据存到业务数据库中并根据这些数据输出浇花的策略。
- 要对这些数据进行补全(可能会偶尔掉一两个数据),也可能数据会有重复的问题,要进行处理。我的想法是每30秒调用接口放到RabbitMq中,再消费这些数据进行补全或者去重处理,可以采用Flink这些流式数据处理框架吗,还是有更好的方法或架构?不过这种数据量似乎达不到大数据的范畴。
- 最终这些数据要收集到数据库中,并且要有一个可视化的平台可以展示这些传感器的数据。这里要集成一个管理系统并进行数据可视化和查询,所以考虑写成接口,然后用vue和SpringBoot写一个管理页面,用Echart来展示。或许有更好的方法吗?
- 还要爬取天气信息,根据天气和传感器数据输出浇花的策略,比如若牵牛花一天要浇3次水保证生长湿度,天气下雨就不浇水,或者若湿度太低就要多浇水,这就是动态调整策略。这个暂时还没想到该怎么处理,好像也涉及到流式数据处理。
本人java开发,当然有其他语言的方法也可以学一下,各位兄弟姐妹提提意见呗~