华中科技大学 SCTS&CGCL 云计算、网格计算及多计算系统虚拟化平台组

车联网:物联网和云计算的典型应用

    车联网通过“信息识别和传感设备”(如无线射频识别、地感线圈、浮动车、视频监控等),从信息维度感知道路交通状况,利用涉车相关的属性信息和动、静态信息形成的涉车信息资源,提供丰富的智能化涉车管理和商业服务。车联网的目标是提升城市信息化水平,缓解和解决困扰城市发展的道路交通问题,实现“人-车-路-环境”和谐统一的物联网。

     车联网包括了面向公安、交通、智能园区、个人等领域的多种服务,需要对收集的海量数据进行并发处理。因此,我们将车联网公共服务平台作为云计算平台CRANE上的一个典型应用,基于虚拟化的计算资源,结合MapReduce数据并行处理技术,提供车辆应用开发和使用的云服务。

     车联网公共服务平台主要由两个部分组成,平台中间件系统和平台数据处理系统。

车联网公共服务平台的架构图与拓扑图

平台中间件系统

     平台中间件系统以PaaS的方式为用户提供一个开放式的车联网应用服务运行平台,其基于虚拟化平台,为每一类应用提供一个独立的虚拟机作为运行环境。平台管理中间件运行在计算集群前端机,通过Crane虚拟化管理平台管理后台多个计算节点以及其上运行的虚拟机,每个虚拟机里面都预先部署了一个Apache服务器作为web容器,同时提供了应用所需的基本数据服务和公共服务作为应用平台中间件。用户可以在应用平台上开发和构建各自的应用,并将应用服务进行包装和发布。

     平台中间件系统主要包括平台管理中间件、应用平台中间件和应用服务。

     平台管理中间件主要对全局资源和服务进行统一管理,基于虚拟化基础架构构建整个PaaS平台。通过CRANE的虚拟化管理平台采集资源使用状况和虚拟机运行状况,并执行对虚拟机的启停等操作,实现对虚拟资源的监控。根据应用的资源需求,调度模块会选择合适的计算节点部署虚拟机,同时在资源需求发生变化的时候,通过虚拟机的动态迁移来均衡系统负载,调整应用的资源配置。另外,平台管理中间件还维护车联网系统平台上运行的所有基本服务和应用服务,主要包括: 1)应用服务开发工具。 2)服务描述与注册。 3)用户管理与访问控制。 4)服务调度。 5)服务备份。 6)系统容错。

     在平台中间件系统的PaaS架构下,应用平台中间件基于专属的虚拟机为每一个车联网业务提供独立的服务运行环境。每个虚拟机里面运行的应用平台都包括了一个Web服务容器和相关的数据服务、公共服务,以及基于这些基本服务开发的应用服务。 数据服务首先集成统一的数据访问接口,以接入后台存储节点进行数据的读取和写入。数据访问接口还要包括连接第三方数据源的访问接口。在此基础上,提供对两种类型数据的操作,一类是传统结构化数据库的查询等操作,另一类是持久化对象的访问操作。公共服务根据车联网系统采集的数据和用户业务的需求,封装了一些常用数据的查询、统计等操作,为上层应用提供通用的业务信息服务。

     在以上提供的数据服务和公共服务的基础上,各单位用户可以开发各自的业务应用。以目前实现的武钢厂区车辆应用为例,根据武钢车管部门的需求,我们开发了包括路况监视、车辆安全监控、问题车辆识别、交通关卡指挥、车流量管理规划等在内的应用服务,并整合到一个统一的应用平台用户界面。同时,还对其中的某些服务进行了包装,以Web service的形式发布成服务访问接口,供其他系统调用。

平台数据处理系统

     平台数据处理系统管理整个涉车信息资源,为上层应用中的各类查询服务和数据挖掘分析提供支持。系统的主要技术关键点在于对海量历史数据(TB级)进行有效管理的同时,保证当前RFID数据流(平均数万条/秒)的高速可靠写入。我们设计搭建了一套层次式结构的系统来满足这一需求。 前端数据库采用Berkeley DB,在日间交通繁忙、数据传入速度较高时将RFID记录写入本地数据库表中,利用夜间低负载时段将本地表导入部署在集群上的分布式数据处理系统中。同时,前端结点应响应所有涉及到当日数据(未导入到集群中)的查询请求;集群系统管理所有历史数据,并对并行数据挖掘提供支持。

     前端结点必须可靠地将海量实时数据流及时写入持久性存储中,不能因处理不及时导致记录丢失甚至系统崩溃。考虑到RFID记录是按时间戳顺序到达(若有轻微的乱序可在内存中进行排序),我们采用轻量级高性能数据库,利用顺序文件存储方式,保证记录写入操作是顺序IO以最大化磁盘性能;同时使用多个磁盘分割存储不同时段的数据分表,减少查询读取请求对数据写入性能的影响。导入程序在每天夜间低负载时段触发启动,负责将原始记录处理转化为更紧凑的数据格式,再批量导入集群存储系统。

     后端集群数据库采用Hadoop+Hive与Cassandra的方案,分别支持对历史数据进行大规模的数据挖掘和常规的简单查询。集群系统由廉价的商品级结点组成,采用无共享存储架构,可灵活地根据业务需求进行动态伸缩。上层应用所需的历史数据查询形式可作如下分类:基于车辆ID和时间的点式查询、基于时间和基站编号的范围查询和空间数据挖掘。我们采用两套系统来支持这三种类型的查询请求:分布式键值对存储系统可满足高并发点式查询的低延迟响应需求,同时对中度并发负载下的范围查询提供合理的响应速度;并行数据处理平台以开源软件Hadoop为核心,利用MapReduce并行框架高效、容错地执行数据挖掘作业。这两套系统均针对大型数据中心设计,具有成熟的容错机制和高度的可扩展性,大大降低了商品化集群系统的维护成本。

    


华中科技大学 . 计算机科学与技术学院
服务计算技术与系统教育部重点实验室、集群与网格计算湖北省重点实验室
云计算、网格计算及多计算系统虚拟化平台组