[发明专利]实时数据存储与查询方法有效
申请号: | 201510133517.2 | 申请日: | 2015-03-25 |
公开(公告)号: | CN104794162B | 公开(公告)日: | 2018-02-23 |
发明(设计)人: | 陈跃国;杜小勇;覃雄派;卞昊穹;程鳌;赵丽萍 | 申请(专利权)人: | 中国人民大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京同立钧成知识产权代理有限公司11205 | 代理人: | 陶敏,黄健 |
地址: | 100872 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 实时 数据 存储 查询 方法 | ||
技术领域
本发明涉及计算机技术领域,尤其涉及一种实时数据存储与查询方法。
背景技术
近几年来,随着计算机和信息技术的迅猛发展和普及应用,行业应用系统的规模迅速扩大,行业应用所产生的数据呈爆炸性增长。由于数据的价值与实时性成正相关,即越新的数据越具有价值,因此,如何有效的存储、分析、处理日益增加的大规模实时数据是现在研究的一个热点。
目前,传统方法主要采用数据库和数据仓库或者基于Hadoop/Spark的分布式文件系统的方式来完成大规模实时数据的存储和读取,进而实现对实时数据的分析和处理。具体的,采用数据库和数据仓库进行存储和读取实时数据的方式,主要是通过传统数据库构建B+树或者建立位图索引完成,但是这种方法在存储实时数据时占据的数据库内存空间比较大,并且在对实时数据查询时耗费的时间比较长,难以满足大规模实时数据存储和查询的性能要求。而基于Hadoop/Spark的分布式文件系统进行数据存储的方法则是直接堆放待存储数据,并且直接将堆放形成的数据块存储到节点中去,这样存储的数据缺乏索引的支持,在数据查询时,并不能快速查到需要的结果,难以满足实时性的要求。
因此,传统数据库和数据仓库以及基于Hadoop/Spark的分布式文件系统在进行实时数据存储与查询时都存在不足,都无法满足高实时性分析处理的要求。
发明内容
本发明提供了一种实时数据存储与查询方法,通过对待存储数据建立一致性哈希分片索引信息和聚簇索引信息,大大提高了大数据存储和查询的实时性,满足了大数据高实时性分析处理的要求。
本发明提供的一种实时数据存储方法,包括:
通过一致性哈希分片将待存储数据划分到分布式存储系统的至少一个分布式节点中,得到与所述至少一个分布式节点分别对应的一级索引数据;其中,所述一级索引数据为被划分到所述至少一个分布式节点中的、携带有一致性哈希分片索引信息的部分待存储数据;
将与所述至少一个分布式节点分别对应的所述一级索引数据存储到数据缓存系统中;所述数据缓存系统位于内存中;
通过对与所述至少一个分布式节点分别对应的至少两个所述一级索引数据进行归并处理,得到与所述至少一个分布式节点对应的至少一个分布式文件块;所述归并处理是指对同一分布式节点中至少两个所述一级索引数据进行归并、排序以及组装的过程;
通过对与所述至少一个分布式节点对应的至少一个分布式文件块内的、经过归并处理后的至少两个所述一级索引数据建立聚簇索引,得到与所述至少一个分布式节点分别对应的二级索引数据;其中,所述二级索引数据为与所述至少一个分布式节点分别对应的、位于所述至少一个分布式文件块内的、携带有聚簇索引信息的至少两个所述一级索引数据;
将与所述至少一个分布式节点分别对应的所述二级索引数据分别写入所述至少一个分布式节点所在的磁盘上。
本发明提供的实时数据存储方法,通过良好的一致性哈希分片对待存储数据进行划分,保证了大数据划分的均衡性,并在分布式节点动态增加和减少的情况下,仍然能够保证大数据划分的均衡性。进一步地,分别对待存储数据进行建立一致性哈希分片索引信息和聚簇索引信息,在很大程度上提高了大数据存储的实时性,为后续查询系统高效率的检索到大数据奠定了基础,满足了大数据高实时性分析处理的要求。
本发明提供的一种实时数据查询方法,包括:
通过对查询语句进行解析,得到待查询数据的查询参数;
根据所述待查询数据分片时建立的一致性哈希分片索引信息定位到所述待查询数据对应的至少两个一级索引数据所属的至少一个分布式节点所在的磁盘,以及所述至少一个分布式节点所对应的至少一个分布式文件块;其中,所述一级索引数据为被划分到所述至少一个分布式节点中的、携带有所述一致性哈希分片索引信息的部分待查询数据;
在所述至少一个分布式文件块内,根据所述至少一个分布式文件块内的至少两个所述一级索引数据存储时建立的聚簇索引信息定位到与所述至少一个分布式节点分别对应的、所述至少一个分布式文件块内的至少两个二级索引数据所处的位置;与所述至少一个分布式节点分别对应的、所述至少一个分布式文件块内的至少两个所述二级索引数据为位于所述至少一个分布式文件块内的、携带有所述聚簇索引信息的至少两个所述一级索引数据;
根据所述查询参数,对与所述至少一个分布式节点分别对应的、所述至少一个分布式文件块内的至少两个所述二级索引数据进行过滤、归并,得到待查询磁盘数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国人民大学,未经中国人民大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510133517.2/2.html,转载请声明来源钻瓜专利网。
- 数据显示系统、数据中继设备、数据中继方法、数据系统、接收设备和数据读取方法
- 数据记录方法、数据记录装置、数据记录媒体、数据重播方法和数据重播装置
- 数据发送方法、数据发送系统、数据发送装置以及数据结构
- 数据显示系统、数据中继设备、数据中继方法及数据系统
- 数据嵌入装置、数据嵌入方法、数据提取装置及数据提取方法
- 数据管理装置、数据编辑装置、数据阅览装置、数据管理方法、数据编辑方法以及数据阅览方法
- 数据发送和数据接收设备、数据发送和数据接收方法
- 数据发送装置、数据接收装置、数据收发系统、数据发送方法、数据接收方法和数据收发方法
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置
- 数据发送方法、数据再现方法、数据发送装置及数据再现装置