《农业大数据解决方案说明书.docx》由会员分享,可在线阅读,更多相关《农业大数据解决方案说明书.docx(11页珍藏版)》请在三一办公上搜索。
1、农业大数据解决方案说明书重庆翰海春智大数据科技股份有限公司编制目录一、项目存在问题及需解决问题41 .存在问题42 .需解决问题6二、解决方案61 .解决方案总体架构62 .核心技术8(1) Hadoop8(2) SpringMVC8(3) MyBatis8(4) Echarts8(5) MySQ1.8(6) Hive9(7) HBASE9(8) Zookeeper10(9) F1.ume10三、开发范围101 .数据生产102 .数据采集/消费103 .数据分析124 .数据展示12一、项目存在问题及需解决问题1.存在问题工信部电信研究院大数据白皮书(2014年)认为,目前,大数据在政府、学
2、术界、企业界引起重大反响,可以说,互联网行业是大数据应用的领跑者,农业、交通、医疗、能源等行业正在与大数据加速融合拓展,大数据发展的环境得到持续完善。近年来以大数据为代表的信息技术突飞猛进,数据驱动创新的机制正在渗透到现代农业的各个领域,使得学科领域的交叉融合日益紧密,协同创新更加紧迫,已成为支撑现代农业发展新的增长力量。“大数据是一种以数据驱动农业生产向智慧型转变的新兴力量,是现代农业生产中新兴的生产要素,对于我国现代农业的转型升级具有重要意义。”但实际上,长久以来,由于农业基础数据资源薄弱、数据结构不合理、数据粒度不够、数据标准化与规范化程度低等原因,在很大程度上影响了我国现代化农业的建设
3、步伐。许世卫认为,我国农业大数据发展,还存在几方面问题:一是“家底”不清。我国依然缺少针对农田环境监测、土壤普查、农情分析的系统性数据积累,对水资源的调查评估也较为欠缺。“未来立足国土资源整体布局优势生产区,必须先摸清家底,搞清数据。只有基础数据准确了,农业资源间的发展潜力、搭配关系和最佳使用途径,最优化配置模式才能够精确计算,才能实现农业生产需求变化与资源变化的深度耦合,实现农业全要素、全过程、全系统生产的一体化二是农业信息数据费源研究与建设总体仍然滞后。目前,我国已经成为农产品净进口国,但我国大量“三农信息的缺失、滞后、封闭,严重制约了全球视角下开展农业管理决策的科学性、系统性、高效性和精
4、准性。截至2014年5月底,农业部共有12个司局和9家部属事业单位直接开展农业信息监测统计工作,努力打造“三农”数据新平台,建立了21套统计报表制度,加强了指标调查,再加上行业管理监测数据、农业地理空间数据,已经形成了农业“专业监测统计相对分散、部门监测统计越于集中”的复合型组织模式。但由于中国农情更杂,品种类型多样,也出现了诸如农产品消费数据缺失严重、多类数据交叉矛盾、匹配性差,以及部门内外信息不能充分共享,缺少数据会商、难以有效发挥调控农产品市场作用等问题。当国际环境发生重大变化、当农产品价格出现大幅波动或质量安全出现问题时,不能及时发现源头,迅速采取有效应急方案,延误了解决事件的最佳时机
5、。三是农业大数据的处理分析技术缺乏。由于农业生产过程发散,生产主体受杂,需求千变万化,与互联网大数据相比,针对农业的异质、异构、海量、分布式大数据处理分析技术依然缺乏,开展适农大数据技术研究迫在眉睫。完成海量数据的存储、索引、检索和组织管理,突破农业异质数据转换、集成与调度技术,实现海量数据快速查询和调用的数据组织管理技术;加强适农大数据分析挖掘技术。围绕病虫害综合防治、粮食产量预测等重点领域,开展并行高效农业数据挖掘算法,建立智能机理预测分析模型;围绕农产品品种、气象、环境、生产履历、产量、空间地理、遥感影像等数据资源建立农业协同推理和智能决策模型;围绕农产品市场信息开展多品种市场关联预测技
6、术和农产品市场预警多维模拟技术研究。2.需解决问题 产销数据不一致 预警服务滞后 数据资源孤立,缺乏统一标准 大数据的处理分析技术缺乏二、解决方案1 .解决方案总体架构图1农业大数据解决方案总体架构HBaSe是一个分布式的、面向列的开源数据库,该技术来源于FayChang所撰写的GoOg1.e论文Bigtab1.e:一个结构化数据的分布式存储系统就像BigtabIe利用了GoOgIe文件系统(Fi1.eSystem)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtab1.e的能力OHBaSe是APaChe的HadoOP项目的子项目OHBase不同于一般的关系数据库,
7、它是一个适合于非结构化数据存储的数据库。另一个不同的是HRaSe基于列的而不是基于行的模式。系统采用面向对象的软件设计方法,把整个系统看作是多个离散对象的组合。系统设计时,首先把业务流程分解成功能模块及其业务实体对象,然后根据业务流程分析对于这些业务实体对象的操作方法,形成业务处理对象,最后把各个功能模块关联起来,形成系统。软件设计是一个将需求转变为软件的过程,系统通过逐步求精使得设计陈述逐渐接近于源代码。系统程序采用VYC的设计思想,将展现逻辑、控制逻辑、业务处理逻辑分离。系统采用参数化的设计思想,定义和管理系统的实体及配置,调整实体以适应外部变化。系统采用J2EE技术保证程序逻辑实现的平台
8、无关性,并便于安装部署。系统采用AJAX技术,提高客户操作的交互性,保证实际使用的易用性。系统采用echarts可视化框架实现数据展示。2 .核心技术(1) HadoopHadoop是一个由Apache基金会所开发的分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。(2) SpringMVCSPringMVC:属于SpringFrameWork的后续产品,已经融合在SpringWebFIoW里面。Spring框架提供了构建Web应用程序的全功能MVC模块。(3) MyBatisMYBatis:是支持普通SQ1.查询,存储过程和高级
9、映射的优秀特久层框架。MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XM1.或注解用于配置和原始映射,将接口和Java的POJoS(P1.ainO1.dJavaObjects,普通的JaVa对象)映射成数据库中的记录。(4) EchartsECharts是一款基于Javascript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。(5) MySQ1.MySQ1.是一个关系型数据库管理系统,由瑞典MySQ1.AB公司开发,属于OraC1.e旗下产品。MySQ1.是最流行的关系型数据库管理系统之一,在WEB应用方面,M
10、ySQ1.是最好的RDBMS(Re1.ationa1.DatabaseManagementSystem,关系数据库管理系统)应用软件之一。MySQ1.是一种关系型数据库管理系统,关系数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。MySQ1.所使用的SQ1.语言是用于访问数据库的最常用标准化语言。MySQ1.软件采用了双授权政策,分为社区版和商业版,由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,一般中小型网站的开发都选择MySQ1.作为网站数据库。(6) HiveHive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的
11、SQ1.查询方式来分析存储在Hadoop分布式文件系统中的数据:可以将结构化的数据文件映射为一张数据库表,并提供完整的SQ1.查询功能;可以将SQ1.语句转换为MapReduce任务运行,通过自己的SQI.查询分析需要的内容,这套SQ1.简称HiveSQ1.,使不熟悉mapreduce的用户可以很方便地利用SQ1.,语言查询、汇思和分析数据。而mapreduce开发人员可以把自己写的mapper和reducer作为插件来支持hive做更复杂的数据分析。它与关系型数据库的SQ1.略有不同,但支持了绝大多数的语句如DD1.、DM1.以及常见的聚合函数、连接查询、条件查询。它还提供了一系列的:具进行
12、数据提取转化加载,用来存储、查询和分析存储在HadOoP中的大规模数据集,并支持UDF(User-DefinedFunction),UDAF(User-DefnesAggrega1.eFunction)和UDTF(User-DefinedTab1.e-GeneratingFunction),也可以实现对map和reduce函数的定制,为数据操作提供了良好的伸缩性和可扩展性。(7) HBASEIIBase-HadoopDatabase,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBaSe技术可在廉价PCSerVer上搭建起大规模结构化存储集群。(8) ZookeeperZooK
13、eeper是一个分布式的,开放源码的分布式应用程序协调服务,是GOOgIe的ChUbby一个开源的实现,是HadOOP和HbaSe的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。(9) F1.umeFIUme是CIoUdera提供的一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,F1.Ume支持在日志系统中定制各类数据发送方,用于收集数据;同时,F1.ume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力。三、开发范围1 .数据生产对于该模块的业务,即数据生产过程,一般并不会让你来进行操作,数据生产是一
14、套完整且严密的体系,这样可以保证数据的安全性。但是如果涉及到项目的一体化方案的设计(数据的产生、存储、分析、展示),则必须清楚每一个环节是如何处理的,包括其中每个环境可能隐藏的问题;数据结构,数据内容可能出现的问题。2 .数据采集/消费数据采集模块(消费),在企业中你要清楚流式数据采集框架f1.ume和kafka的定位是什么。我们在此需要将实时数据通过f1.ume采.集到kafka然后供给给hbase消费。f1.ume:CIOUdera公司研发适合下游数据消费者不多的情况;适合数据安全性要求不高的操作:适合与Hadoop生态圈对接的操作。kafka:Iinkedin公司研发适合数据下游消费众多
15、的情况;适合数据安全性要求较高的操作(支持rep1.ication);因此我们常用的一种模型是:线上数据一f1.ume-kafka-f1.ume(根据情景增删该流程)HDFS线上数据一f1.ume-kafkaSparkstreaming实时流式处理消费存储模块流程图:图2消费存储楔块流程图3 .数据分析我们的数据已经完整的采集到了HBaSe集群中,这次我们需要对采集到的数据进行分析,统计出我们想要的结果。注意,在分析的过程中,我们不一定会采取一个业务指标对应一个mapreduce-job的方式,如果情景允许,我们会采取一个mapreduce分析多个业务指标的方式来进行任务。E3分析模块流程图分析模块流程图:4 .数据展示数据展示模块流程图:图4数据展示模块流程图