一种基于HBase的智能交通领域卡口数据存储方法技术

技术编号:13050325 阅读:60 留言:0更新日期:2016-03-23 15:56
本发明专利技术涉及一种基于HBase的智能交通领域卡口数据存储方法,本发明专利技术方法结合HBase自身的特点,融合卡口数据的读写场景,对主表、二次索引表进行定制化Rowkey设计,以便于相关业务的快速高效查询,使得查询结果能全局按时间倒序排列,为数据的进一步统计分析及研判奠定良好的基础。解决了目前智能交通行业海量卡口数据的高性能并发读写要求法。

【技术实现步骤摘要】

本专利技术属于智能交通领域,具体涉及一种基于HBase的智能交通领域卡口数据存 储方法。
技术介绍
随着交通工具的大力普及与各种交通设施的巨增,交通系统所面临的数据压力也 成几何倍数的增长。面对如此海量的数据压力,Hadoop作为大数据处理领域的首选技术框 架,在企业中得到了大量的应用。而其中的HBase以高性能高吞吐量的特性成为了大数据 存储的首选技术目标。那么如何有效地利用HBase的特性,充分发挥其集群性能,实现数据 的高效检索。HBase是将数据按照表、行和列进行存储,其数据类型只有字符串,而要想访问 其中的数据,只有单个Rowkey访问、通过Rowkey的Range访问、通过全表扫描Rowkey这3 种方式,它不支持条件查询和Orderby等查询。 同时,由于HBase是分布式数据库,采用LSM设计解决了磁盘随机写的问题(即 使用了顺序写盘的方式)。在高并发的数据写入时会按照Rowkey分配相应的Region,若 Rowkey本身存在时间或其他的顺序则会出现单台机器繁忙而其他服务器相对空闲的情况, 从而影响集群整体性能。因此,对于Rowkey还需要进行散列化设计,以避免热点现象。
技术实现思路
为了解决目前智能交通行业海量卡口数据的高性能并发读写要求,本专利技术提供一 种基于HBase的智能交通领域卡口数据存储方法。此方法结合HBase自身的特点,融合卡 口数据的读写场景,对表进行定制化Rowkey设计,以便于相关业务的快速高效查询,使得 查询结果能全局按时间倒序排列,为数据的进一步统计分析及研判奠定良好的基础。 本专利技术的技术解决方案: -种基于HBase的智能交通领域卡口数据存储方法,其特殊之处在于:包括以下 步骤: 1】建立主表: 根据业务需要,将卡口数据的主要字段按一定顺序组合成主表Rowkey,并按照主 表Rowkey的编码顺序存储;列族中的特定列存储为所有字段组合成的JS0N格式串; 2】建立二次索引表: 将主表中查询性能低的字段或不支持查询的字段组合成索引Rowkey,并按照索 引Rowkey的编码顺序存储,同时在索引Rowkey前加哈希散列,列族中的列存储为主表 Rowkey〇 上述卡口数据包括设备编号、方向编码、车道号、号牌号码、号牌颜色、号牌种类、 车辆速度、经过时间、车身颜色、车辆分类、车辆类型、车辆品牌和过车图片地址, 在主表Rowkey中将号牌号码和设备编号前置。 上述二次索引表的索引Rowkey中包括号牌颜色。 本专利技术所具有的优点: 1、本专利技术能够有效的提高海量数据访问和查询性能,并能够良好的围绕号牌号码 而展开的相关数据挖掘提供高性能保障,如套牌分析、区域碰撞、车辆频度、落脚点分析等 数据研判功能。同时能够较分散的插入数据,显著提高HBase的Region的并行性能,支持 Rowkey级别的设备编号查询、支持时间段、号牌颜色的快速查询;查询结果自动以时间倒 序排列,满足查看最近记录的要求;能够良好的支持按时间段获取卡口数据,为卡口数据的 快速统计分析建立良好的基础。 2、应用本专利技术的存储方法在业务展示卡口列表时只需要获取Rowkey即可,在节 省网络数据传输量和提高速度的同时,极大的提升了系统性能; 3、通过测试发现,实验室5台服务器搭建的集群下,利用此设计方式存储的10亿 数据,精确查询平均响应时间160毫秒,多条件模糊查询平均响应时间300毫秒。在55亿 数据的环境下,精确查询平均响应时间162毫秒,多条件模糊查询平均响应时间1028毫秒。【附图说明】 图1为本专利技术主表Rowkey设计示意图; 图2为本专利技术索引表Rowkey设计示意图; 图3为本专利技术主表数据逻辑示意图; 图4为本专利技术索引表数据逻辑示意图。【具体实施方式】 在智能交通领域,面对海量的卡口数据,将HBase里的卡口表分为主表和二次索 引表。 主表存储卡口数据,主要包括设备编号、方向编码、车道号、号牌号码、号牌颜色、 号牌种类、车辆速度、经过时间、车身颜色、车辆分类、车辆类型、车辆品牌和过车图片地址 等数据。为了支持号牌号码的快速高效查询,以及众多的数据研判业务的需要,在主表的 Rowkey设计上需要将号牌号码和设备编号前置,Rowkey后面的信息则以具体的业务来判 断,原则上将需要进行相关查询的字段都应该加上。 二次索引表存储卡口数据的时间索引,同时对时间进行reverse处理,列族中的 列存储为主表的Rowkey,使得数据能按时间自动倒序排列,再通过两张表的这种关联关系, 良好地弥补了主表无法支持按时间快速查询的需求。 同时考虑到交通业务中经常有按照号牌颜色查询的需求,需要将号牌颜色的信息 加入到二次索引表的Rowkey中,以支持单纯的查询索引表就能够寻找在某个时间段某个 地点经过的某某号牌颜色的车辆信息。在实际的业务需求中,根据两张表Rowkey设计的特 点,结合不同的查询条件来组合其Rowkey,再根据这一组合来选择查询主表还是索引表,从 而达到快速获取查询结果的目的。 如图1所不,主表的Rowkey里包括的信息主要有号牌号码、设备编号、车道号、方 向编码、车辆速度、号牌颜色、号牌种类、经过时间等信息。这些信息是在数据以列表展示时 所需要的,本设计就使得在数据展示时只需要获取Rowkey就可以了,显然能极大的提高查 询性能。 将号牌号码和设备编号排在Rowkey的前两个位置,一方面,号牌号码本身具有随 机性,可以有效的避免热点写入问题;另一方面,能够支持号牌号码的快速高效查询。而在 智能交通的相关业务系统中,号牌号码是各业务查询及数据分析与挖掘的主要属性,因此 对于号牌的快速高效查询就显得尤为重要了。比如,在地图业务中对于行车轨迹的查询及 路线的展示,研判系统中套牌车的分析等业务,都是以号牌号码作为主要查询字段的。设备 编号是记录卡口位置的,也就是通过此编号与具体的地图经炜度相结合来记录过车的卡口 所在点,通过它与号牌相互当前第1页1 2 本文档来自技高网...

【技术保护点】
一种基于HBase的智能交通领域卡口数据存储方法,其特征在于:包括以下步骤:1】建立主表:根据业务需要,将卡口数据的主要字段按一定顺序组合成主表Rowkey,并按照主表Rowkey的编码顺序存储;列族中的特定列存储为所有字段组合成的JSON格式串;2】建立二次索引表:将主表中查询性能低的字段或不支持查询的字段组合成索引Rowkey,并按照索引Rowkey的编码顺序存储,同时在索引Rowkey前加哈希散列,列族中的列存储为主表Rowkey。

【技术特征摘要】

【专利技术属性】
技术研发人员:周海舰岩涛赵青朱博
申请(专利权)人:西安翔迅科技有限责任公司
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1