[发明专利]一种基于多级缓存结构的流式数据实时处理方法及系统有效
申请号: | 201710176167.7 | 申请日: | 2017-03-23 |
公开(公告)号: | CN106959928B | 公开(公告)日: | 2019-08-13 |
发明(设计)人: | 赵峰;李少锋;金海;肖洋 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F12/0811 | 分类号: | G06F12/0811 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 李智;曹葆青 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于多级缓存结构的流式数据实时处理方法和系统,属于大数据流式处理技术领域。本发明方法将流式数据使用在线处理和批量处理以满足处理的低延迟、高吞吐、可靠性。将在线处理结果存储于在线缓存,并设计在线缓存结构使其自动高效删除过期数据;将近期访问离线持久化数据库的数据存于批量缓存,并采用基于LRU的策略高效淘汰过期数据;将查询结果高效合并以快速返回给用户。本发明还实现了一种基于多级缓存结构的流式数据实时处理系统。本发明能够解决现有方法中存在的存储与查询效率不高,可靠性低和内存占用率较高的问题。 | ||
搜索关键词: | 一种 基于 多级 缓存 结构 数据 实时处理 方法 系统 | ||
【主权项】:
1.一种基于多级缓存结构的流式数据实时处理方法,其特征在于,所述方法包括以下步骤:(1)数据流操作判断,若是数据流存储,则进入步骤(2);若是数据流查询,则同时进入步骤(7)和步骤(8);(2)数据预处理:将高速数据流导入消息处理队列;对消息队列中消息添加时间信息,根据时间确定消息BatchID;随后同时进入步骤(3)和步骤(5);(3)在线数据存储:将消息流转发至在线层使用在线处理框架进行在线处理,将在线处理结果((K,BatchID),V)存储于在线缓存中;(4)关键字存储:将关键字K存储于二进制向量数据结构中,存储结束;(5)批量数据存储:将消息流转发至批量层,待一个批次消息全部存储后,使用批量处理框架进行批量处理,将批量处理结果(K,(BatchID,V))存储于K‑V数据库中;(6)批量缓存更新:批量处理完成后,更新批量缓存;存储结束;(7)在线缓存查询:用户提交查询请求,根据关键字K查询在线缓存;(8)批量缓存查询:用户提交查询请求,根据关键字K查询批量缓存;(9)结果合并返回:合并在线结果与批量缓存结果,将合并结果返回给用户;查询结束;所述步骤(3)中将在线处理结果((K,BatchID),V)存储于在线缓存中具体包含以下子步骤:(31)对K进行哈希操作,获取哈希码,对哈希码和桶的大小n进行与操作以确定桶编号i;(32)判断桶的第i项是否为空,若是,则创建平衡树;进入步骤(33);若否,直接进入步骤(33);(33)判断平衡树是否包含K,若是,则进入步骤(34);若否,则创建结果缓存存放K对应的(BatchID,V);(34)将结果缓存大小和K对应的BatchID进行与操作以确定存放位置temp;(35)将(BatchID,V)存放至结果缓存的第temp项中。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710176167.7/,转载请声明来源钻瓜专利网。