HBase在新能源汽车监控系统中的应用

  • 时间:
  • 浏览:1

不能兼容大数据生态产品(如Spark、Hive、Hadoop等),一并支持离线和准实时OLAP;

图中最左端为监控的车辆,它会实时分派车辆的各项数据,并把分派到的数据通过移动互联网发送到平台。平台验证完数据会将其写入到Kafka消息队列中。流式计算服务器从Kafka消息队列中取出车辆的原始数据,并对车辆的数据进行解析、存储、转发等操作。HBase集群负责存储车辆实时数据,MySQL负责存储组织关系数据。一并,当当我们还能否 将超过一定时间(比如五天前)的数据转存到OSS存储介质中,以便降低存储成本。Spark ML会对系统中的各项数据进行分析。终端用户会从HBase中查询要是数据。

重庆博尼施科技有限公司是一家商用车全周期方案服务商,利用车联网、云计算、移动互联网技术,在物流领域 为商用车的生产、销售、使用、售后、回收各个环节提供一站式避免方案,其中的新能源车辆监控系统要是由该公司提供的,本文是阿里云客户重庆博尼施科技有限公司介绍如可使用阿里云 HBase 来实现新能源车辆监控系统。该系统主要用于东风轻卡等新能源商用车监控服务,目前该系统正在阿里云线上稳定运行。

团队在使用HBase前一天总是使用MySQL关系型数据库,在系统设计之初并这麼考虑HBase的形态学 ,要是按照关系型数据库的设计原则设计。经过一段时间的了解后才知道HBase主要使用Row key进行数据查询。Row key的设计至关重要。 目前系统中设计的Row key如下:

另外,车辆数据积累到一定程度后,当当我们还能否利用哪些数据进行大数据分析, 如车辆的故障诊断,车辆情况预测等,一个多多就还能否在车辆总是出显间题前提前发出预警,为车主和保险公司避免更大的损失,降低运营成本。

系统中车辆数据分为热数据和冷数据,热数据这麼HBase中实时可查,冷数据虽不这麼实时可查,但却这麼总是保居于磁盘中。阿里云HBase支持将冷数据直接存储在OSS中,而哪些数据的转存只这麼简单的设置表相关属性,操作非常简单。将冷数据存储在OSS之中大大减少了数据的存储成本。

这麼不能支持海量数据的不间断写入,也这麼够存储PB级别的数据,具有高扩展性、高可靠性等;

经过比较国内的各大云厂商,当当我们最终选则了阿里云平台,要是阿里云提供SaaS化的HBase服务,一并阿里云HBase支持很全面的多模式,支持冷数据存放上OSS之中,节约成本;支持备份恢复等形态学 ,做到了真正的native cloud的数据库服务。另外,HBase 在阿里内控 部署超过11150台机器,历经7年天猫双11的考验,哪些实际数据以及经验增强了当当我们对阿里云HBase的技术信心,一并满足了当当我们的技术和业务需求。

作为初创公司,当当我们的运维能力有限,当当我们这麼业务的快速落地。要是自建机房以及运维团队导致 分析前期较大的投入以及高昂的运维成本,要是当当我们决定使用云方案。

着实Phoenix不能通过二级索引实现较为冗杂的数据查询,但对于更为冗杂的查询与分析需求就显得捉襟见肘。要是当当我们选则了Spark等要是数据分析组件对数据进行离线分析,分析后对结果通过接口提供给用户。

本项目为车联网监控系统,系统由车载硬件设备、云服务端构成。车载硬件设备会定时分派车辆的各种情况信息,并通过移动网络上传到服务器端。服务器端接收到硬件设备发送的数据首先这麼将数据进行解析,校验,要是能 将该消息转发到国家汽车监测平台和地方汽车监测平台,最后将解析后的明文数据和原始报文数据存储到系统中。车辆的数据和要是数据这麼通过web页面或rest API接口进行查询访问。要求五天内的数据查询响应时间在毫秒级别内,超过五天的数据这麼放上更加低成本的介质上,查询延迟在3s以内,哪些数据的查询频次比较低。系统的主要参数有以下几项:

着实通过Row key的设计还能否避免每段数据查询的需求,要是在面对冗杂需求时难以通过Row key 直接索引到数据,若索引无法命中,则这麼进行大范围或全表扫描才不能定位数据。要是当当我们在使用HBase时尽量避免冗杂的查询需求。但业务方面仍然会有每段较为冗杂的查询需求。针对哪些需求,当当我们主要使用四种 土办法 来建立二级索引。

经过对这几种数据库的分析,当当我们最终选则HBase,其满足当当我们前面提到的五个要求,要是还提供Phoenix插件用于SQL一句话的查询。

系统采用层级架构以方便后期扩展和维护,现在主要分为以下几层:

目前新能源监控系统中主要使用Phoenix实现二级索引,大大增加了数据的查询使用场景。

首先,本文介绍了新能源车辆监控系统的项目背景,要是分析了本项目的项目难点,并介绍了当当我们团队的各种避免方案。针对项目需求,介绍了当当我们选则HBase的导致 ,及在HBase数据库使用过程中的经验和痛点。

团队使用Python语言构建系统,但HBase使用Java语言编写,原生提供了Java API,并未对Python语言提供直接的API。当当我们使用happybase连接HBase,要是它提供了更为Pythonic的接口服务。另外当当我们也是用QueryServer 作为Python组件和Phoenix连接的纽带。

最终新能源监控系统的系统分派如下

新能源车辆监控系统是一个多多车辆网服务平台,具有高并发、数据量大、实时性要求高等特点。对车辆监控系统来说最重要的间题要是如可避免车辆产生的海量数据,当当我们估计,当车辆数量增长到20万时,每天会产生合适2TB的数据,哪些数据不仅这麼存储,还这麼做到实时可查。本文将介绍项目的背景和系统的基本架构,要是介绍当当我们在开发过程中遇到的各种间题以及避免方案。

当当我们在市场上不能找到分布式数据库有MongoDB和 HBase。

要是车辆的监控数据非常大,传统关系型数据库(如Mysql、pg等)要是无法胜任存储工作,要是当当我们这麼选则四种 分布式数据库用于存储车辆实时数据。

不能支持简单的关键字查询,响应时间在秒级别内;

未来,当当我们会在系统接入大量车辆后,使用golang重写高性能组件以满足后期的并发性能需求。要是项目初期考虑到开发时间的间题,并未采用服务拆分的土办法 进行开发,这限制了系统的可扩展性,后期当当我们会根据实际业务需求,将系统切分成相对独立的模块,增强扩展性可维护性。

优先选则有富有实力的商业公司支持的云平台,最大限度减少运维成本。