一种hadoop环境下的农业数据监控方法与流程

文档序号:15558380发布日期:2018-09-29 01:39阅读:229来源:国知局

本发明涉及计算机技术领域,尤其涉及一种hadoop环境下的农业数据监控方法,该方法高效可扩展。



背景技术:

进入21世纪以来,计算机网络和传感器技术的快速发展,农业物联网的广泛应用使世界进入农业物联网快速发展的时代,我国也建立了大量相关的农业物联网系统。这些系统在农业环境监测、灾害预警、作物生长监测、农产品安全等领域发挥了重要作用,取得了一系列重要成果。而在此过程中,随着农业物联网系统的不断发展,系统规模的增大,农业物联网积累了越来越多的海量异构的农业数据,而这些对农业物联网的存储和相应的数据检索提出了更高的要求

然而在这些结构数据集成解决方案中,较少以非结构化数据的集成为研究重点,在解决异构数据统一存储和检索的技术实现上,大多数都使用xml技术作为元数据解决方案。xml技术具有结构灵活、扩展性高、语义丰富等特点,但仍存储在数据间关联性不好、解析复杂xml文件耗时等特点。



技术实现要素:

发明目的:针对上述现有技术存在的问题和不足,本发明的目的是提供一种hadoop环境下的农业数据监控方法,解决了现有的关系数据库系统方法的计算延时大,难于扩展,系统性价比低的问题。

技术方案:为实现上述发明目的,本发明采用的技术方案为一种hadoop环境下的农业数据监控方法,包括以下步骤:

(1)通过hadoop环境下存储方法对农业系统中的原始数据记录进行存储;

(2)采用非主键的索引方法对校验字段进行索引,使用格网编码方式,在增量数据质量校验,或者时间窗口的细时间粒度的数据质量校验时在索引表中首先按照层级排序,从起始层级依次排列到终止层级,然后在毎一层级的记录范围内按照行列号z值排序;

(3)采用异构数据层存储hbase对象的数据结构,并建立相应的索引信息,根据时间戳范围查询原始数据记录表;首先对hbase对象的数据结构进行分解,然后基于hbase对象的结构模式将任务进行分解,并与底层存储系统进行映射,由底层存储系统分别执行;

(4)采用hbase对原始数据记录建立时间戳索引,以及存储数据的特征及分组信息,在检索查询任务中,确定需校验的数据范围后进行校验;

(5)采用mapreduce的并行化方式完成校验规则的数据监控。

优选的,所述分布存储方法为hbase的分布存储方法,采用master/slave架构搭建集群,包含一个hmatser节点、若干hregionserver节点和一个zookeeper集群,底层将数据存储在hadoop存储系统中。所述校验规则为mapreduce的并行化校验规则。

优选的,所述步骤(2)中,采用非主键索引的方法对校验字段进行索引,从数据存储表中一次性读入所有记录,获取矢量要素oid及其对应的cc码、几何信息geo和时间版本t,将其转化为<oid_t,(cc,geo)>的形式输出。

优选的,所述步骤(3)中,所述步骤(3)中,对原始数据记录建立时间戳索引,通过调用spark计算引擎计算单元逻辑规则对数据进行计算,并将计算后的数据输出到分布式存储器,再查询原始数据记录表以获取原始数据记录进行校验。

优选的,所述步骤(4)中,为全量原始数据建立hdfs辅助索引文件,依据预先编排好的处理逻辑对调用和接收的数据进行处理,训练形成数据挖掘模型,将经过数据质量核检处理单元处理后的数据回传到分布式存储器。优选的,所述步骤(5)中,对所有的校验规则建立指示文件,map任务读取相应的指示文件,获取执行相应校验规则需要的参数,调用相应的处理逻辑进行校验。

本发明能够高效可扩展地通过分布式集群的横向扩展,解决数据海量化问题;通过异构数据统一建模,解决数据异构化带来的不便;通过为校验规则涉及的字段建立辅助查询索引,以支持校验规则执行时进行高效查询处理;设计了一个mapreduce的校验规则并行处理方法,使得每条校验规则都可以并行化处理,有效提升了系统响应性能。

附图说明

被包括来提供对所公开主题的进一步认识的附图,将被并入此说明书并构成该说明书的一部分。附图也阐明了所公开主题的实现,以及连同详细描述一起用于解释所公开主题的实现原则。没有尝试对所公开主题的基本理解及其多种实践方式展示超过需要的结构细节。

图1为本发明的方法总体示意图。

具体实施方式

下面结合附图和具体实施例,进一步阐明本发明。

应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。

hbase是hadoop生态环境中的一个分布式存储系统。针对分布式文件系统hdfs缺少结构化半结构化数据存储访问和随机读写能力的缺陷,在hdfs(hadoopdistributedfilesystem,即hadoop分布式文件系统)之上,hbase提供了一个分布式数据管理系统,解决大规模的结构化和半结构化数据存储访问问题。hbase提供列存储模式的大数据表管理能力,可存储管理数十亿以上的数据记录,每个记录可包含百万以上的数据列;hbase试图提供随机和实时的数据读写访问能力,并具有高可扩展性、高可用性、容错处理能力、负载平衡能力、以及实时数据查询能力。

hbase的底层数据是存储在hdfs中的,因而hbase是完全依赖于底层的hdfs工作的。由于hdfs采用了良好了数据多副本存储机制、以及强大的数据节点出错检测和节点失效恢复机制,hdfs的hbase在数据存储时自然继承了hdfs的这种数据存储的高可靠性和容错处理能力。

hadoop视频监控数据是由物联网摄像头传感器采集的视频图像,和监控图片数据类似,它也包

括两类数据,一部分为二进制视频图像本身,类型是hdip初始化类型video;另一部分是它对应的描述信息,由值类型组成。

本发明采用分布数据存储和管理系统hbase存储数据,将原始数据记录存储到hbase中,原始数据包括环境数据信息,环境数据信息由不同的相关传感器采集而来,将不同的环境信息用自定义类型environment描述,在environment中分别包含空气温度、风向、风速、土壤温度、降雨量、光子量、空气湿度、二氧化碳浓度、辐射量等属性组成。这些属性都属于值类型数据,将被存储到底层的关心模型中。

将批量数据进行存储和索引的流程包括以下步骤:

(1)将待校验的csv格式的基准数据表和比对数据表存入hbase中,原始数据记录主键作为hbase表的主键,原始数据记录的非主键属性作为hbase表的一列,不同的列属于不同的列族,利用hbase的面向列存储(同一列族的数据统一存储)提高查询某列数据时的响应性能;

(2)将校验规则校验字段的查询索引表存入hbase中,校验字段作为hbase查询索引表的主键,原始数据记录主键作为查询索引表的列名,所有主键属于同一个列族,采用这种数据模式方便对查询索引表记录的增加、删除、修改和查询;

(3)将数据记录时间戳的查询索引表存入hbase中,数据记录时间戳作为hbase查询索引表的主键,原始数据记录主键作为查询索引表的列值存储。

(4)将校验规则校验字段的查询索引表存入hbase中时,同时将查询索引表存入hdfs的索引文件中。

引入key-value数据库hbase之后,借助其强大的键值对数据访问能力,可轻松实现地表覆盖历史数据的高效管理。在hbase中分别建立当前数据表和一系列历史数据表,分别存储当前数据和历史数据序列。基于地表覆盖数据存储设计每一个要素的每一条数据记录都包含一个时间戳,用于标识该条记录的时间版本信息。

利用hbase时间戳可在当前数据表中实现当前基态数据和当前变化数据的混合存储和统一管理,提高现势数据和历史数据的访问速度,利于要素变化情况的追踪。进行局部要素更新时,只需将要素数据増量的时间戳标记为当前时间版本,然后插入要素记录中。访问当前数据表时,默认获取最新版本数据,即当前最新基态数据。如果要追踪某一耍素的历史变化,直接提取该要素的数据记录,即可获得它在不同时间版本下的历史数据。进斤全局要素更新时,将hbase当前数据存储表中的数据全部转存到历史数据库中,仍能访问到各期的历史基态数据和变化数据

数据类别的不同,对底层数据存储系统的适应性也有着明显的差异。结构化数据模型对需要事务处理的数据业务更适合,而非结构化模型对于不需要业务处理的数据或者是多媒体数据有更好的适应性。由于非结构化数据模型的存储系统由于较少的内部约束限制,在存储效率上普遍高于关系模型;但由于数值类型数据对于事务的依赖性以及结构稳定性,它们一般更适合存储在关系模型中;非结构化数据存储系统的先天优势,二进制数据如图片、视频等更适合存储在非结构化存储系统中。

批量数据单规则校验流程:

(1)读取hdfs上的查询索引表到内存,读取操作日志将其应用到内存中的查询索引表,删除操作日志文件;

(2)遍历内存中的查询索引表进行规则校验。

数据质量管理是循环管理过程,其终极目标是通过可靠的数据提升数据在使用中的价值。以自由组合检核函数形成的检核方法,随着检核函数的并行化而具备了大数据处理能力,可以大幅提升质量检核工作效率,为数据治理提供决策依据。

实时或准实时获取设备信息监测数据,并将采集到的设备信息监测数据传输给设备监测装置中,以数据推送的方式,推送到分布式存储器中(主要包括台账数据和历史数据,海量异构数据),或者以流式输出的方式,将设备监测数据输出至数据预处理单元过程,利用mapreduce并行构建索引表,该索引方法能更好地适应地表覆盖数据特征,提高空间查询效率;更新工作是维护地表覆盖数据现势性的重要步骤

本发明中针对校验规则的并行化处理的实施方式为:为了完成对大量数据记录和大量校验规则的快速处理,采用mapreduce的并行化执行机制。我们首先将各个校验规则的id和参数等写入到一个个独立的hdfs文件中(称为指示文件),mapreduce作业中包含了所有的这些校验规则的处理模块的实现。根据hadoopmapreduce的默认运行机制,每个map任务只会读取一个指示文件并进行处理,这里我们具体的处理模块的选择则由该任务所读取的指示文件决定。

通过这种方法就能使得集群中所有的map节点在并发地执行不同的校验规则。如果执行过程中有失效发生,hadoopmapreduce会自动地在其他节点启动新的map任务来重新尝试执行这些校验规则。整个并行过程的负载均衡和容错等问题都由hadoopmapreduce框架一并解决了。

本发明已有的一些开源软件实现了一个原型系统。其中分布存储和索引采用hbase、校验规则并行化处理采用hdfs和mapreduce,这三个软件不属于本发明的内容。通过使用现实农业业务数据和校验规则对本发明实现的原型系统和现有的关系数据管理系统进行测试对比,本发明实现的原型系统在响应性能,可扩展性优于传统关系数据管理系统,证明了本发明的分布存储和并行处理的农业数据质量检测方法的有效性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1