一种基于多级缓存结构的流式数据实时处理方法及系统技术方案

技术编号:15840353 阅读:40 留言:0更新日期:2017-07-18 16:46
本发明专利技术公开了一种基于多级缓存结构的流式数据实时处理方法和系统,属于大数据流式处理技术领域。本发明专利技术方法将流式数据使用在线处理和批量处理以满足处理的低延迟、高吞吐、可靠性。将在线处理结果存储于在线缓存,并设计在线缓存结构使其自动高效删除过期数据;将近期访问离线持久化数据库的数据存于批量缓存,并采用基于LRU的策略高效淘汰过期数据;将查询结果高效合并以快速返回给用户。本发明专利技术还实现了一种基于多级缓存结构的流式数据实时处理系统。本发明专利技术能够解决现有方法中存在的存储与查询效率不高,可靠性低和内存占用率较高的问题。

Streaming data real-time processing method and system based on multi-level cache structure

The invention discloses a streaming data real-time processing method and a system based on a multi-level cache structure, belonging to the technical field of large data flow processing. The method of the invention uses streaming data in online processing and batch processing to meet the low latency, high throughput and reliability of the processing. The online processing results are stored in the cache line, and the design of online cache structure to automatically delete the expired data efficiently; the recent visit to offline database persistent data stored in the batch cache, and uses the LRU strategy based on the efficient elimination of outdated data; the query results, combined to quickly return to the user. The invention also realizes a streaming data real-time processing system based on a multi-level cache structure. The invention can solve the problems that the storage and inquiry efficiency is low, the reliability is low and the memory occupation rate is high in the prior art.

【技术实现步骤摘要】
一种基于多级缓存结构的流式数据实时处理方法及系统
本专利技术属于大数据流式处理
,更具体地,涉及一种基于多级缓存结构的流式数据实时处理方法及系统。
技术介绍
IDC报告显示,预计到2020年全球数据总量将超过40ZB,且全球的数据量以每年58%的速度增长,这个速度还在不断加快,其中很大一部分数据是由传感网络、社交网络、Web浏览等产生的流式数据,该数据具有实时性、易失性、突发性、随机性、无限性等特征,需要高效、快速、可靠地处理流式数据,并将处理结果实时输出或实时查询。在数据处理方面。针对流式数据的特点,大致可以分为三种处理框架:1、纯流式处理框架,如JStorm、Storm等,其定义由Bolt和Spout组成的任务拓扑结构会以元组形式不断处理高速到达的数据流,其处理延迟低,但吞吐率和可靠性较低;2、面向批的流式处理框架,如SparkStreaming、Sss-mapreduce、Muppet等,其首先将流式数据聚合成微小的批,然后再进行处理,由于处理前需要等待数据聚合成批,因此其处理延迟相对于纯流式处理框架较高;3、混合处理框架,如Lambda、Summingbird等,其分为本文档来自技高网...
一种基于多级缓存结构的流式数据实时处理方法及系统

【技术保护点】
一种基于多级缓存结构的流式数据实时处理方法,其特征在于,所述方法包括以下步骤:(1)数据流操作判断,若是数据流存储,则进入步骤(2);若是数据流查询,则同时进入步骤(7)和步骤(8);(2)数据预处理:将高速数据流导入消息处理队列;对消息队列中消息添加时间信息,根据时间确定消息BatchID;随后同时进入步骤(3)和步骤(5);(3)在线数据存储:将消息流转发至在线层使用在线处理框架进行在线处理,将在线处理结果((K,BatchID),V)存储于在线缓存中;(4)关键字存储:将关键字K存储于二进制向量数据结构中,存储结束;(5)批量数据存储:将消息流转发至批量层,待一个批次消息全部存储后,使用...

【技术特征摘要】
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)结果合并返回:合并在线结果与批量缓存结果,将合并结果返回给用户;查询结束。2.根据权利要求1所述的一种基于多级缓存结构的流式数据实时处理方法,其特征在于,所述步骤(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项中。3.根据权利要求1所述的一种基于多级缓存结构的流式数据实时处理方法,其特征在于,所述步骤(4)具体包括以下子步骤:(41)提取K对应的BatchID;(42)判断BatchID是否等于前个BatchID,若是,则将K存入二进制向量数据结构;若否,则将前个BatchID和二进制向量数据结构存入哈希映射中;(43)将BatchID赋值给前个BatchID;(44)创建新的二进制向量数据结构。4.根据权利要求1所述的一种基于多级缓存结构的流式数据实时处理方法,其特征在于,所述步骤(6)具体包括以下子步骤:(61)根据批量层的BatchID从哈希映射中获取对应的二进制向量数据结构;(62)遍历批量缓存的K,判断二进制向量数据结构是否包含K,若是,则从批量缓存中删除K对应的记录;若否,则跳过该K;(63)清空该二进制向量数据结构;(64)从哈希映射中移除BatchID和二进制向量数据结构。5.根据权利要求1所述的一种基于多级缓存结构的流式数据实时处理方法,其特征在于,所述步骤(7)具体包括以下子步骤:(71)对K进行哈希操作,获取哈希码;(72)对哈希码和桶的大小n进行与操作以确定桶编号i;(73)判断桶的第i项是否为空,若是,则表示在线缓存无结果;若否,则返回(BatchID,V)列表。6.一种基于多级缓存结构的流式数据实时处理系统,其特征在于,所述系统包括以下部分:数据流操作判断模...

【专利技术属性】
技术研发人员:赵峰李少锋金海肖洋
申请(专利权)人:华中科技大学
类型:发明
国别省市:湖北,42

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

1