《中位物联网大数据平台总体设计V1.030687.pdf》由会员分享,可在线阅读,更多相关《中位物联网大数据平台总体设计V1.030687.pdf(18页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、.专业资料 物联网大数据平台 总体设计 V0.2 目录 1.引言.3 1.1.文档目的.3 1.2.文档范围.3 1.3.预期的读者及阅读建议.3 1.4.术语.3 2.项目概述.4 2.1.项目背景.4 3.1.设计目标.4 3.1.1.技术规划路线建议.4 3.1.2.大数据软硬平台/网络架构规划建议.5 3.1.3.大数据应用集成点规划建议.5 3.1.4.大数据团队建设规划建议.5 3.1.5.大数据系统实施指导建议方案.5 3.数据平台总体架构规划.5 3.1.数据平台愿景.5 3.2.数据处理流程.8 3.3.主要功能.8 3.4.设计原则.9 3.5.平台建设路线.9 4.数据平
2、台软件架构设计.10 4.1.数据平台结构图.10 4.2.数据采集系统.11 4.3.数据存储系统.11 4.4.离线计算系统.12 4.5.海量数据库系统.12 4.6.管理系统.13 5.应用平台架构设计.14 5.1.应用平台架构图.14 6.平台安全.15 7.平台监控.15 8.部署架构.15 9.平台运维.15 10.团队建设.16 10.1.运维工程师.16 10.2.应用开发工程师.16 10.3.通信协议开发工程师.16 10.4.基于 Hadoop 的开发工程师.16 10.5.数据开发工程师.16 10.6.数据挖掘工程师.17 1.引言 1.1.文档目的 本文档是关于
3、 xx 公司物联网大平台的总体架构设计方案。本文包括以下内容:1.平台总体架构设计;2.五大子系统设计;3.应用平台设计 4.平台部署架构设计;5.平台运维及团队建设;1.2.文档范围 本文档仅限于北京xx科技公司内部人员和直接协助北京xx科技进行大平台建设的相关人员阅读。1.3.预期的读者及阅读建议 本文档的预期读者:1.北京 xx 科技的大平台项目相关人员;2.直接协助北京 xx 科技进行大平台建设的相关外部人员;1.4.术语 1.Hadoop:Apache的分布式框架。2.HDFS:Hadoop的分布式文件系统。3.NameNode:Hadoop HDFS元数据主节点服务器。负责保持Da
4、taNode 文件存储元数据信息。4.JobTracker:Hadoop 的 Map/Reduce调度器,负责与 TackTracker通信分配计算任务并跟踪任务进度。5.DataNode:Hadoop 数据节点,负责存储数据。6.TaskTracker:Hadoop 调度程序,负责 Map,Reduce 任务的具体启动和执行。7.Kafka:消息队列。8.Netty:NOI 框架。2.项目概述 2.1.项目背景 1.随着业务的增加,数据采集存储备份能力严重不足 2.数据处理分析能力无法满足业务的需要 3.公司业务创新转型的需要 3.1.设计目标 xx 的大数据平台主要是为车辆、人员、物联网提
5、供终端接入、数据分析,并为行业应用提供数据接口。平台建成后,初期可接入百万级的终端,可承载多种业务及应用。随着业务增长,平台可以动态扩容,最终可实现千万级、亿级终端的接入及数据分析处理能力。本文档针对 xx 的大数据平台应用需求,结合数据的特点,提出未来公司整体的系统架构,以充分满足公司在 3 到 5 年内的业务增长和数据增长需求。并且在企业总体系统架构的基础上,提出系统的软硬件的具体选型方案,以及提供大数据平台整体规划,分步实施和推广的建议;提供大数据平台产品整合、集成、系统优化、稳定性等建议方案。3.1.1.技术规划路线建议 对 xx 大数据平台系统进行总体规划,与现有的交通部数据中心以及
6、各个业务系统进行对接,以适应未来3 到 5 年内公司业务发展的要求。3.1.2.大数据软硬平台/网络架构规划建议 从需求的数据量、计算量、应用的场景、功能、性能等因素来配置软硬件平台的建议;提出具体的系统总体架构和软硬件部署结构建议;3.1.3.大数据应用集成点规划建议 Hadoop 数据集成、应用集成、运维管理设计建议;3.1.4.大数据团队建设规划建议 对 xx 技术团队的人员需求和配置情况以及所需要掌握的技能提出建议;3.1.5.大数据系统实施指导建议方案 提供大数据平台整体规划,分步实施和推广的建议;提供大数据产品整合、集成、平台化的建议系统优化、稳定性等建议方案。3.数据平台总体架构
7、规划 3.1.数据平台愿景 如上图所示,xx 的大数据平台最终建成后,应该是一个完备的数据服务平台,包括数据平台、应用平台、数据产品以及内部运行支撑应用环境,该平台上的用户既包括外部用户,也包括企业内部用户,既有最终用户,也有应用开发人员以及数据分析和数据开发人员。1.数据服务平台组成 数据平台:是数据的集散地。数据平台的主要目标是存储和处理海量数据,该平台除了汇聚 xx 所有的业务数据和用户数据之外,还有合作机构的相关数据,其核心功能包括数据采集、同步与集成、海量数据存储、海量数据处理框架、海量数据仓库等。该平台的用户主要有数据分析用户和数据开发用户,这两类用户在数据平台上进行数据分析及数据
8、集成、建模与挖掘。应用平台:应用开发人员开发基于数据平台的车辆监控、人员监控、物品监控等应用并部署在应用平台,供最终用户访问。该平台的建设目标是处理海量 http 请求,其核心功能包括应用服务器、分布式缓存、分布式消息队列、分布式文件系统、分布式数据库以及分布式简单存储等。内部运行支撑应用环境:该环境主要供企业内部用户将使用,包括商业智能、运营支撑、系统运维、分析应用等。该数据产品由大数据平台开发人员进行研发。数据产品:当该平台稳定运行一段时间之后,企业根据业务发展的需要,可以开发专门的数据产品,对外提供数据服务,供最终用户使用。该数据产品由大数据平台开发人员进行研发。2.数据服务平台的用户划
9、分 应用开发用户:xx 内部的技术研发人员,主要结合具体业务,开发基于数据平台的应用,并部署到应用平台;数据分析用户:xx 内部的技术研发人员,主要基于数据平台中的海量数据,进行业务数据分析,指导生产运营;数据开发用户:xx 内部的技术研发人员,主要基于数据平台中的海量数据,进行数据建模、集成和挖掘,在指导生产运营的同时,挖掘新的利润增长点;内部数据产品用户:包括各条业务线上的各类业务人员如客服等。外部用户:合作机构如运营商、银行、商户,终端用户、企业用户等。3.位置信息数据源 数据平台可以从第三方平台(交通部数据中心、运营商)或定位中端(车机、sim 卡)等采集位置、状态等信息。无论是企业内
10、部用户,还是企业外部用户,无论是技术研发人员还是业务人员,他们既是平台数据的生产者,同时也是平台数据的消费者。集存储、计算、分析于一体的大数据平台,涵盖了 xx 业务数据的全生命周期管理,既符合现在行业大数据企业发展的趋势,也最终体现了 xx 企业的最终最内涵的价值。3.2.数据处理流程 xx 大数据平台的数据处理流程如上上图所示。对各类终端产生的结构化和非结构化数据源首先通过数据采集平台进行数据采集,然后进入海量存储计算处理平台,生成各种多维数据,供应用服务平台调用,支持最终的用户访问。3.3.主要功能 结合 xx 的当前业务发展现状,目前 xx 的大数据平台重点解决三类典型需求:1.业务数
11、据归集、备份与可靠存储 2.离线数据分析挖掘 3.实时查询统计分析 针对这三类需求,大数据平台在数据采集和运营管理的辅助下,分别提供存储系统、离线计算系统和海量数据库系统,分别满足上述三类需求。下面首先介绍平台的软件架构设计。3.4.设计原则 1.采用基于 Hadoop 的开源技术路线 2.整合公司的终端数据、员工、客户、计算、存储等所有资源于一体 3.平台涵盖公司数据生产、存储、挖掘、分析、服务等全生命周期管理 4.结合业务线,分析挖掘和业务支持等应用自主研发 3.5.平台建设路线 项目分阶段完成。1 期:开发数据采集系统,从第三方平台及终端采集位置信息,实现2种终端的接入。开发应用平台,提
12、供接口给客户端访问数据。2 期:实现多种终端的接入,并完善应用接口。3 期:开放存储系统和简单的 MapReduce 功能给其他用户使用,数据库方面单表的简单查询或带条件查询,内部使用实时采集组件。4 期:开放 Hive 这样的类 SQL 计算给外部门,内部开始引入 Mahout 进行数据挖掘,数据库方面改进查询语言,支持更多的 SQL 语法,实时采集可以交给其他部门任意部署客户端,支持常见的异构数据源 5 期:计算平台成熟,完全成为各部门共同参与开发业务的平台,数据库具备大部分 SQL 查询语法,实时采集系统稳定高效运行。4.数据平台软件架构设计 4.1.数据平台结构图 如所上图所示,大数据
13、平台由五个子系统组成,分别为:存储系统、离线计算系统、海量数据库系统、采集系统和管理系统。这五个子系统之间有如下关联关系:1.管理系统为整个平台的辅助系统,为其它系统的正常运行提供相关的辅助功能;2.采集系统负责平台的数据采集工作,这些数据的产生来自各业务生产系统及第三方平台或终端;3.存储系统、离线计算系统和海量数据库系统共用一套底层文件系统,保证了这三个主要系统的数据集成与有效共享;4.离线计算系统和海量数据库系统还可以根据各自的负载,可以动态分配相应的计算能力。从错误!未找到引用源。可以看出,除采集系统和管理系统之外,包括底层存储环境在内的所有系统都是采用开源软件搭建,而这些软件都是经过
14、相关行业的技术公司先验是成熟可靠可行的。采用开源软件,在平台可以达到低成本建设的效果的同时,相应开源社区的持续演进,也为平台后续的运行升级提供了持续的技术支持和版本稳定保证。4.2.数据采集系统 1.功能 负责接入第三方服务平台和终端设备。负责采集、清洗和导入公司各业务线上的所有的结构化业务数据和非结构化数据。2.要解决的问题 目前,公司需要和交通部的数据中心对接,接收终端的位置数据。同时也要接入大量的终端。而且,未来业务生产线的系统日志信息由于也需要保存下来,并进行分析挖掘。采集系统可以将业务生产线的所有业务数据和日志数据采集到采用低成本的开源可线性扩展的存储环境,达到了数据低成本安全可靠存
15、储,并支持进一步的数据分析和挖掘。3.搭建方法 使用优秀的 Netty 框架,与第三方应用和终端通信,采集数据。针对各种终端采用的不同通信协议,开发相应的协议解析模块,将位置和指令信息解析为结构化数据,保存到HDFS 中。采用业界成熟的 Flume 开源包将驻留在生产环境共享存储上的非结构化的日志数据以增量可靠的方式采集到 HDFS 中,采用 Sqoop开源包从备库中将业务结构化数据增量采集到HDFS 中。4.3.数据存储系统 1.功能 为公司内部各业务部门提供低成本安全可靠可扩展的一揽子存储解决方案,做为业务数据的备库、支持离线计算和实施处理系统的数据导入与导出等。2.要解决的问题 存储系统
16、利用开源Apache HDFS平台所提供的低成本、安全、可靠、可线性扩展的平台优势,可以解决公司的业务数据归集、备份与低成本可靠存储。4.4.离线计算系统 1.功能 为公司各业务部门的技术人员和业务人员提供海量数据的分析、建模、集成和挖掘计算环境。2.要解决的问题 搭建公司数据离线计算环境,安排专业的运维团队,用低成本、计算共享、专业团队支撑的方式建设起来的可线性扩展的离线计算环境。3.搭建方法 在 Hadoop HDFS 之上,用 MapReduce 进行分布式计算,用 Hive 为用户提供友好的计算客户端,用 Mathout 解决机器学习数据挖掘问题。4.5.海量数据库系统 1.功能 为公
17、司内部人员、产业链上下游合作伙伴、终端用户提供高并发、实时可扩展的数据分析查询统计环境。2.要解决的问题 搭建实时查询统计分析处理系统,在专业开发和运维团队的支持下,提供一个公司目前紧缺的专业的分布式海量数据实时处理环境。该环境对内可以支撑公司相关业务的商业智能、业务支撑等应用,提升业务能力,开展新的业务,对外可以支持公司上下游产业链的相关合作伙伴、相关的企业用户的在线查询请求,改善用户体验,提升服务质量,增强客户的黏性,扩大用户范围,增加业务营收。3.搭建方法 在 Apache HDFS 基础上,通过 HBase 的海量存储能力和快速的查询功能,对外提供 Web 和 RESTfull API
18、 两种用户接口,为相关的用户和应用提供高并发、高吞吐量的基于海量数据的实时查询统计分析处理系统。4.6.管理系统 1.功能 提供整个平台的共性功能,包括用户管理、访问控制、平台监控、平台升级、性能隔离和作业调度等辅助功能组件,为平台的持续可靠运营提供外围支撑环境。2.要解决的问题 每一个好的生产系统,都有一个可靠的运行辅助支撑环境。管理系统为整个大数据平台的稳定安全持久运行提供可靠的外部辅助支撑。3.搭建方法 用户系统可以采用服务器本地系统和平台新建用户系统相结合的方式来解决;监控可以采用 Hadoop Ambari 来搭建;访问控制可以通过设置用户访问权限、环境隔离等方式来达到要求;要解决性
19、能隔离和作业调度,一个最简单的办法是通过平台和任务监控、作业队列、负载均衡和资源动态调度等方式来实现;平台审计也可以通过系统监控来实现。5.应用平台架构设计 5.1.应用平台架构图 应用平台是针对具体业务开发的平台,负责承载公司运营的各种业务。例如:车辆监控系统、人员定位系统、物流货物跟踪系统等。目前,应用平台要开发的是车辆监控系统。车辆监控系统的服务使用 RESTfull API 用户接口。接口与 exlive 平台的接口完全兼容,方便已有客户端的接入。应用平台与数据平台通信,获取相应的数据。6.平台安全 待完善 7.平台监控 待完善 8.部署架构 待完善 9.平台运维 运维原则:1.在线
20、Hadoop 数据服务平台的运维工作是一个系统工程,需要遵循一些基本的原则:2.运维工作从系统搭建和应用研发之前就已经开始 3.关键点要有冗余设计 4.能自动检查的一定要做到自动检查 5.能主动告警的一定要做到自动告警 6.故障能自动恢复的一定要实现自动恢复 7.在设置每一个检查项的同时,要另外设置一个或者多个对应的切实有效可行的紧急预案 8.关键时刻还得靠人上去,所以,比以上更重要的是要建立一支能打硬仗的高效的运维团队 10.团队建设 根据 xx 大数据平台建设的要求以及结合 xx 技术能力的现状,需要从Hadoop 运维工程师、应用开发工程师、基于 Hadoop 的开发工程师、数据开发工程师、数据挖掘工程师 5 个角度去考虑培养整个团队。10.1.运维工程师 略 10.2.应用开发工程师 略 10.3.通信协议开发工程师 略 10.4.基于 Hadoop 的开发工程师 略 10.5.数据开发工程师 略 10.6.数据挖掘工程师 略