[发明专利]一种基于物联网的水文实时流数据采集处理方法有效
申请号: | 202010498387.3 | 申请日: | 2020-06-04 |
公开(公告)号: | CN111698306B | 公开(公告)日: | 2021-08-06 |
发明(设计)人: | 沈建明;邹磊;夏军 | 申请(专利权)人: | 中国科学院地理科学与资源研究所 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;H04L1/00;G06F16/25;G06F16/182;G06F16/2457 |
代理公司: | 北京国林贸知识产权代理有限公司 11001 | 代理人: | 李瑾;李连生 |
地址: | 100101 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 联网 水文 实时 数据 采集 处理 方法 | ||
1.一种基于物联网的水文实时流数据采集处理方法,包括建立一个水文数据采集的后台管理系统和水文物联网传感器,后台管理系统为水文 物联网传感器配置采集协议、地址/端口,后台管理员通过后台管理系统可视化操作控制整个水文物联网传感器数据采集、处理,通过后台管理系统可以查看浏览采集的数据并以实时报表的形式展示数据;其特征在于,所述后台管理系统连接有服务网关集群模块、临时云存储模块、Flume消息队列模块、消息队列监听器模块、智能解析模块、分布式文件模块和拦截与纠错模块;其中:
后台管理系统通过服务网关集群模块管理水文物联网传感器,服务网关集群模块负责服务网关集群的负载均衡;
采集的水文物联网传 感器数据被送入临时 云存储模块,临时云存储模块采用分布式MongoDB数据库集群存储记录文件并建立文件索引,临时云存储模块在文件存储完成后发送消息到Flume消息队列模块,消息队列监听器模块监听Flume消息队列模块是否存在新消息,当有新消息时首先启动智能解析模块进行智能解析,解析后的数据上传配置到分布式文件模块中,然后启动拦截与纠错模块进行拦截与纠错,拦截与纠错后的数据插入到Cassandra数据库中用于实时报表,其中:
所述智能解析:包括对于水文传感器上传二进制数据格式进行定制开发解析和对于水文传感器上传的JSON/XML半结构化数据文件解析;
所述拦截与纠错:在分布式文件模块中对配置文件中每一时刻的水文物联网传感器数据进行有效性判断,并对无效数据进行有效性处理;
所述对配置文件中每一时刻的水文物联网传感器数据进行有效性判断,并对无效数据进行有效性处理的步骤包括:
第一步:从分布式文件模块中读取长度为N的水文时序数据,并确定一个窗口长度n和一个异常阈值e,N至少是n的20倍;
第二步:顺序检测长度为N的水文时序数据;
第三步:判断当前时刻数据值:
第四步:
若当前时刻的数据值为0,则将相邻窗口长度n个时刻的数据值的平均值作为当前时刻的数据值,继续判断此数据值是否大于异常阈值e,不大于异常阈值e,则读取下一时刻的数据,返回第三步直至检测长度为N的水文时序数据结束,如果大于异常阈值e则将异常阈值e作为当前时刻的数据值,读取下一时刻的数据,返回第三步直至检测长度为N的水文时序数据结束;
若当前时刻的数据值不为0,则判断此数值是否大于异常阈值e,不大于异常阈值e,则读取下一时刻的数据,返回第三步直至检测长度为N的水文时序数据结束,如果大于异常阈值e则将相邻窗口长度n个时刻的数据值平均值作为当前时刻的数据值,读取下一时刻的数据,返回第三步直至检测长度为N的水文时序数据结束;
所述对于水文传感器上传二进制数据格式进行定制开发解析:是根据传感器公开的数据格式说明,按着字节顺序读取存储数据;
所述JSON/XML半结构化数据文件解析是基于OEM模型对数据文件的解析,包括:
第一步,对要解析的传感器采集数据设置采集数据标签;
第二步,获取上传文件内容,根据设置的标签使用OEM模型查找相同路径的同类对象;
第三步,根据标签类型解析每一个同类对象,形成一条结构化的记录数据;
所述标签包括:传感器类型标签、水位标签、传感器采集时间标签;
所述传感器包括水位传感器、流量传感器、流速传感器、PH传感器、降雨传感器、含沙量传感器、盐度传感器、叶绿素传感器。
2.根据权利要求1所述的方法,其特征在于,所述负载均衡是利用Nginx反向代理实现服务网关集群的负载均衡。
3.根据权利要求1所述的方法,其特征在于,所述n是大于1的奇数,并且,在检测的当前时刻大于窗口长度n时,所述相邻窗口是将当前时刻作为窗口长度n中间时刻的窗口,所述平均值是以当前时刻作为窗口长度n中间时刻的前后时刻数据值的平均值。
4.根据权利要求3所述的方法,其特征在于,所述N是128,n是5。
5.根据权利要求1所述的方法,其特征在于,所述Flume消息队列模块执行消息收集与分发,其中Flume的配置Channel为内存模式,当队列中消息超出范围时,临时存储到文件中,防止消息丢失。
6.根据权利要求1所述的方法,其特征在于,所述后台管理系统、水文物联网传感器、服务网关集群模块、临时云存储模块、Flume消息队列模块、消息队列监听器模块、智能解析模块、分布式文件模块和拦截与纠错模块以Docker容器部署实施。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院地理科学与资源研究所,未经中国科学院地理科学与资源研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010498387.3/1.html,转载请声明来源钻瓜专利网。