[发明专利]一种基于Storm的分布式流数据存储与查询方法有效
申请号: | 201910026601.2 | 申请日: | 2019-01-11 |
公开(公告)号: | CN109726225B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 蔡瑞初;林峰极;郝志峰;王立;黄泽林;陈炳丰;温雯;王丽娟 | 申请(专利权)人: | 广东工业大学 |
主分类号: | G06F16/2455 | 分类号: | G06F16/2455;G06F16/22;G06F16/182 |
代理公司: | 广州市红荔专利代理有限公司 44214 | 代理人: | 吴伟文 |
地址: | 510000 *** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 storm 分布式 数据 存储 查询 方法 | ||
本发明提供一种基于Storm的分布式流数据存储与查询方法,本发明基于Storm数据流式计算框架,CEPHFS作为数据底层存储系统下,通过对分布式流式数据的特征分析,对数据进行实时的分区与索引构建,将分区好的数据块压缩存入CEPHFS。查找操作时根据数据块的key与temporal两个维度的属性,将查询分解为对应的子查询,并通过bloomFilter方法只读取可能含有所需数据的文件,由predicate选择出符合条件的数据,提交子查询结果合并后进行aggregate操作,返回给用户。充分利用计算资源来提高数据存储与查询的效率。本发明具有应用场景广泛、低时延、负载均衡的特点,并且能够实现高速存储。
技术领域
本发明涉及数据处理技术领域,尤其是一种基于Storm的分布式流数据存储与查询方法。
背景技术
随着网络技术的迅猛发展,社交网络和位置服务平台等所产生的实时流数据高速增长,在越来越多的领域出现了对海量流数据进行实时处理响应的要求,使得数据的高速插入和实时查找成为一个非常重要的数据处理能力,用户能够实时获得想要的历史数据和新数据。对于提供位置业务的平台如百度地图,高德地图等,每秒都瞬时产生了海量的位置信息和轨迹变化数据,为了能够满足用户的需求和提高公司效益,平台系统需要能够支持百万级流数据上的实时插入存储与低延时查询,例如客户需要获取当前时刻附近5km范围内所有车辆的GPS信息,或者是指定某辆车在过去1小时内的行驶轨迹。
常用的key-value存储技术开源实现如HBase使用LSM-Tree来减少更新叶节点带来的时间开销,但是每次插入的新数据和历史数据需要进行更新,在time范围的查询时延过高;常用的时间序列数据库技术如阿里巴巴开源的Druid仅支持倒排索引,在key范围查询上比较低效。为了解决这一问题,必然要设计一个针对海量流数据能进行高速存储和实时查询的分布式数据库技术,key范围和时间范围上都支持高效的查询,这就要求新来数据和历史数据能有所分隔,在查询时尽量避免无关范围数据的遍历,提高查询效率,同时保证系统不同节点的负载均衡,来最大化资源的利用率。
发明内容
针对现有技术的不足,本发明提供一种基于Storm的分布式流数据存储与查询方法,本发明分析流数据在真实环境下会按照接近顺序到达和数据分布范围的稳定性特点,和现在数据库技术中无法满足key范围和时间范围上高效的问题,提供了一种海量流数据下的高效索引和时间域范围实时查询处理方法。本发明旨在通过对于即将到来的流数据进行范围划分,在不同机器节点并行索引后分别存储到分布式文件系统,查询时进行查询分解,并行执行子查询,过滤,聚合等操作后,合并结果返回。
本发明的技术方案为:一种基于Storm的分布式流数据存储与查询方法,本发明通过在接收分布式流数据时实时建立若干隔离范围的B+Tree索引,达到阈值后存储到分布式文件系统,并在查询时进行查询分解,并行处理不同范围下的子查询,保持负载均衡,完成后合并返回实时存储结果,实现高吞吐量的流数据插入和查询,具体包括以下步骤:
S1)、接收源数据并分发给下游单元构建索引结构;
S2)、将索引结构压缩为数据块并写入分布式文件存储系统CEPHFS;
S3)、基于查询条件和数据块信息将查询分解为若干独立的子查询;
S4)、通过访问分布式文件存储系统CEPHFS分发给下游独立的查询处理单元的子查询;
S5)、接收返回的子查询结果并合并返回给用户。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东工业大学,未经广东工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910026601.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置