汉威云平台的建设方案
摘 要:通过传感器、大数据及云计算技术的结合,提出一种平台的建设方案来满足对上百万甚至更多的设备进行实时并发的数据采集、监控、存储、分析计算,并能够随着设备源源不断的接入在不降低性能及可靠ฌ性的基础上对平台进行扩展。
关键词:云;大数据;Hadoop;MongoDB;IOT
中图分类号:TP393 文献标识码:A 文章编号:2095-1302(2015)01-00-03
0 引 言
随着互联网、大数据、云计算、数据挖掘、传感技术、物联网(IOT)的迅猛发展及智能化的应用研究,实时采集任何需要监控、连接、互动的物体或过程等各种需要的信息,与互联网结合,实现物与物、物与人,所有的物品与网络的连接,方便识别、管理和控制已成为目前研究的热点。
汉威电子在物联网行业经过十多年的发展,所监测和产生的数据量也是非常庞大的,如何收集并有效利用和管理这些巨量数据从而为用户提供更优质的服务和产品是目前所面临的问题。首先,对上百万甚至更多的设备进行实时并发的数据采集,使用单台服务器已完全无法满足需求;其次,采集到的巨量数据不断的累积,如何安全存储并保证数据不丢失;最后,如何发挥这些巨量数据的作用。大数据和云计算技术的支撑☂可帮助我们有效的解决以上问题,如何构建平台和运用这些技术解决以上所面临的问题就是本文研究的主要内容。
1 前期准备
1.1 可行性分析
当前IOT市场是巨大的,而且市场还在发展初期,其市场潜力不可估量,系统的市场前景是可行的。大数据带来的智能化应用持续改善着人们工作、生活的方方面面,把人从一般性的简单、重复劳动中解放出来,极大地提高了生产力和效率。汉威电子有传感技术和传感设备,开源大数据框架技术Hadoop、NoSQL数据库技术的快速发展及其在互联网行业的应用为我们提供了技术支撑。因此,从平台的建设风险来分析,平台的建设是可行的。
1.2 平台需求分析
对平台的需求:提供对各种设备(无论是气体探测器、温度探测器或报警器等)源源不断的数据收集,提供对大数据存储的支撑,提供面向服务的技术框架和研发平台,满足业务组件的灵活插拔、平台资源占用灵活配置等要求。
2 技术方案
2.1 平台架构
平台主要采用集群的架构方式,平台架构图如图1所示,集中多台服务器的并行计算能力来满足大流量、高并发数据的采集、存储及计算需求,使用集群架构使平台具有较高的可靠性和可扩展性,同时可降低建设成本。平台架构后端的主要流程是数据的采集、采集数据的缓存、数据的存储、数据的分析计算,前端主要流程是Web的访问、基本管理数据的访问、采集数据及分析结果数据的访问。
图1 云平台架构图
数据采集主要采用传感设备、Wi-Fi技术和分布式采集集群进行采集,使用统一的采集入口,采集集群可支持并行接入大量的传感、检测等各类设备,随着设备数量的不断增加,可以通过增加集群的节点数量来扩展集群的性能;采集集群能够保证小部分采集服务器宕机,不影响整个采集服务的正常运行。
采集集群采集到的数据会临时存放在高性能的内存型数据库Redis中。为了满足高并发、大数据量存储,平台建立了Redis集群。由于Redis正式版目前还不具备集群特性,我们使用Twemproxy和Keepalived来组建Redis集群。Twemproxy的速度很快,接近直接与Redis通讯的速度,能够很好地管理Redis并对其进行扩容。使用Keepalived实现高可用主备方案,解决Redis集群proxy单点的问题。
Redis是内存型数据库,用于临时存放数据,最终数据还是要做持久化存储。MongoDB是一款高性能、开源、无模式的文档型数据库,可满足对数据库高并发的需求、对海量数据的高效率存储和访问的需求、对数据库的高可扩展性和高可用性的需求。此处MongoDB采用经典的Replica Sets+Sharding的集群架构:使用多个Shard服务器,在Shard服务器上使用Replica Sets确保每个数据节点都具有备份、自动容错转移、自动恢复的能力;使用多个配置服务器确保元数据完整性;使用多个路由进程实现平衡,提高客户端接入性能。云平台的数据存储服务会不断扫描Redis并将Redis缓存中的数据存储到MongoDB数据库中。
Hadoop集群负责平台大数据量的数据存储及分析计算。Hadoop是一个开源的分布式系统基础架构,由Apache基金会所开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算。Hadoop集群节点之间的数据是互相备份的,并且是多备份,个别节点宕机不影响系统的运行,从而实现系统的高可靠性和高容错性。
2.2 平台体系结构
该平台的软件体系结构采用面向服务的体系结构,平台体系结构如图2所示。首先通过数据采集将IOT感知的数据存储到我们的存储资源中,建立我们的云数据中心;在基础设施和物理资源基础上开发我们的平台,提供统一的研发平台,满足业务组件灵活插拔、系统资源占用灵活配置等要求;在平台基础上开发我们的各类业务;平台后端使用统一的云管理平台,实现采集及各类资源的集中统一管理;对外使用统一的云服务控制台,各类业务系统接入我们的控制台,向不同类型的客户提供各类业务服务。 (1)IAAS:基础设施即服务,平台使用虚拟化及分布式技术提供服务器、操作系统、磁盘存储、数据库等基础设施服务,为云平台的建设奠定基础。
(2)云数据中心:汉威云平台将各种类型的数据整合、提取并存储在云数据中心,为各类业务服务提供基础的数据分析服务。
(3)PAAS:平台即服务, 平台提供SSI框架等基础架构及各类基础组件,软件开发者可以在平台基础架构之上建设新的应用,或者扩展已有的应用。
(4)SAAS:软件即服务,将软件作为服务提供给用户使用,目前平台已提供以IOT为基础的智慧安监、智慧化工、智能家居、智慧市政、数字油库、智慧农业、智慧水务等软件服务。
(5)云服务控制台:对用户使用统一的服务控制台,实现将各类业务接入服务控制台,从 シ而向不同的用户提供各类不同的业务服务。
(6)云应用:直接面向用户的不同业务应用系统。
图2 平台体系结构图
3 功能应用
平台主要有云管理平台和云服务控制台两部分,云管理平台面向平台的管理人员和维护人员,云服务控制台面向服务开发者和服务使用者,平台的主要功能如下:
服务管理:对服务的注册、审核、发布、使用及服务对应的API(或API打包下载)进行管理。服务的类型主要有两类:基础服务和业务服务。
用户管理:对平台中用户的基本信息进行管理。
资源管理:对平台中的各类资源进行管理。
服务的权限管理:平台使用者可以查看所有的服务,但只能对自己发布的服务进行管理。服务经审核发布后可供授权用户配置实例并使用。
以下是平台的核心基础服务:
通讯协议服务:不同类型的传感器使用不同的通讯协议,汉威云平台将通讯协议设计为服务提供给用户,用户可以自定义配置协议和使用该协议,也可直接使用平台中已存在并已授权的通讯协议。
采集服务:传感器将采集到的数据通过WiFi链路传输数据到上位机,采集服务程序(UDA)按照对应的通讯协议对数据进行解析,解析后的数据存入Redis缓存集群;采集服务管理主要是对用户的采集配置信息及对所使用的采集服务实例的启动、停止进行管理。
存储服务:存储服务程序会不断扫描对应的Redis缓存集群,并将Redis缓存集群中的数据拉取到用户指定的数据库中,如Mongodb、Oracle等;存储服务管理主要对用户的存储配置信息、存储格式及存储服务的启动停止进行管理。
数据分析服务:主要有实时数据服务和非实时数据服务。实时数据服务又分为实时推送和主动获取两种类型:实时推送服务主要根据用户定义好的配置主动向用户配置的地址推送数据;☠主动获取服务主要给用户提供数据服务API,服务消费者按照定义好的API给定参数,就会实时的返回数据,返回格式可支持多种类型,如txt、xml、json格式等。非实时数据服务主要用于对大数据量的计算,如月度数据分析结果可在每月第一天的固定时间开始提供,已经计算分析好的历史月度数据可供随时访问。
单点登录:所有接入云平台的产品服务系统均实行统一单点登录。不同的业务系统可组合调用♛不同的服务,实现采集、存储、分析及应用程序一体化。
汉威云平台实现将各种设备(无论是气体探测器、还是温度探测器,还是报警器)都接入到平台,实现源源不断的数据收集;通过收集各类数据及内部的机制来为用户和汉威提供互动和相应的解决方案,从而实现汉威和用户的双赢。通过监测数据为用户提供实时监测服务、数据分析服务,分析用户的使用习惯来改进平台服务、帮助用户解决问题,分析用户使用产品的情况、安全状态及各类数据来挖掘用户的潜在需求及服务,帮助汉威技术人员改进服务和产品,帮助汉威技术及销售人员为客户量身定做解决方案,从而解决用户的根本问题,为用户提供优质的服务和解决方案。管理人员可以通过云平台查看各类数据分析从而进行决策;开发人员可以在云平台上开发各类业务软件;维护人员可以在云平台上进行资源的维护;销售人员可以通过云平台预知用户的潜在需求;无论是政府、企业还是个人都可以使用电脑、手机或IPAD进入云平台来获取所需的业务服务。
4 技术优势
与传统的平台相比,汉威云平台融合了传感技术、大数据技术MongoDB、Redis、Hadoop技术、集群技术、负载均衡技术,极大提高了平台的采集速度、数据处理计算能力、满足高并发采集,同时平台还具有较高的可靠性和可扩展性。
5 结 语
汉威云平台主要采用分布式的集群架构和面向服务的体系结构,增强了平台的可靠性和安全性,同时使平台易于扩展,为用户提供了最可靠、最安全的数据存储中心,用户不用担心数据丢失、病毒入侵等麻烦;云平台对用户端的设备要求最低,使用起来也最方便;云平台可以轻松实现不同设备间的数据与应用共享;为我们使用网络提供了几乎无限多的可能。目前汉威云平台已投入使用并接入业务系统,经实际使用具有较高的可靠性,能支撑大数据量、高并发的传感采集、用户访问及数据分析计算。同时随着更多的业务系统的接入,对平台的各方面要求也越来越高,平台目前还在不断的迭代完善中。
参考文献
[1][美]Kristina Chodorow.MongoDB权威指南 [M].2版. 邓强,王明辉译.北京:人民邮电出版社,2013.
[2][美] Tom Wbite. Hadoop权威指南 [M].2版. 周敏奇,王晓玲,金澈清,等译.北京:清华大学出版社,2011.
[3] Redis.http://www.redis.cn/[EB/OL] .2014.
[4] Hadoop.http://hadoop.apache.org/ [EB/OL] .2014
[5] MongoDB.http://www.mongodb.org/ [EB/OL] .2014
[6] Twemproxy.https://github.com/twitter/twemproxy [EB/OL] .2014
[7]刘鹏,黄宜华,陈卫卫.实战Hadoop――开启通向云计算的捷径[M].北京:电子工业出版社,2011.