[发明专利]基于Kafka的分布式数据流分级缓存自动迁移方法有效
申请号: | 202010785947.3 | 申请日: | 2020-08-07 |
公开(公告)号: | CN112051968B | 公开(公告)日: | 2021-10-22 |
发明(设计)人: | 付国;杨慧丽;张岩峰;张一奇 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;H04L29/08 |
代理公司: | 大连理工大学专利中心 21200 | 代理人: | 戴风友;梅洪玉 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 kafka 分布式 数据流 分级 缓存 自动 迁移 方法 | ||
本发明属于大数据存储领域,涉及一种基于Kafka的分布式数据流分级缓存自动迁移方法。根据Kafka数据访问的特点,设计了热数据的存储结构,不仅减少了存储空间,而且能够根据该结构来管理热数据的元数据信息。根据热数据的结构,提出了结合访问热度和迁移频率的数据自动迁移方法(HHF‑Migrate),系统会根据该数据识别方法计算所有TopicPartition数据的访问热度和迁移频率,自动将热度和频率低的冷数据从SSD迁移至HDD,而HDD中热度和频率高的热数据将自动迁移至SSD,从未实现分级缓存。本发明设计的系统提升了Kafka的吞吐量,提供较低的延迟并减少存储成本。
技术领域
本发明属于大数据存储领域,涉及基于Kafka的分布式数据流分级缓存自动迁移方法。
背景技术
Kafka是当下十分热门的分布式消息系统,Kafka中消息是以话题(topic)进行分类的,生产者生产消息,消费者消费消息,都是面向topic的。在Kafka中,topic是逻辑上的概念,而分区(partition)则是物理上的概念。一个topic可能被拆分成多个分区(partition)来存储,每个主题保存在多个partition中,因此一个TopicPartition代表了正在记录的log对象的topic名称和相应的partition编号。Kafka每个分区有多个副本,其中有一个leader副本和多个follower副本。
日常使用的存储设备主要有机械硬盘(Hard Disk Drive,HDD)和固态硬盘(SolidState Disk,SSD)。HDD的存储容量能够满足人们的要求,但是速度方面限制过多。随着硬件技术的发展,SSD的出现基本能够满足人们日常对于存储速度的要求。SSD相对于HDD,具有随机读写速度快的优点,其每秒的读写次数(Input/Output Operations Per Second,IOPS)是HDD的数百倍或者更多。但是SSD还存在一些问题和缺点,例如价格很高,并且数据持久性随着写的次数不断下降,具有有限次的擦除次数。所以,利用HDD和SSD的不同特点,将不同的数据按照访问热度和频率等重要条件存储在最适合的存储设备上,即进行分级缓存,可以达到提高数据访问速度、提高存储容量、减少存储成本、较少功耗等目的。通过分级存储,将数据中热度较高的保存在那些性能好读写速度快的存储设备上,例如SSD上,用来保证访问的低延迟,而将热度低的数据保存在那些廉价、存储空间比较大的存储设备上,例如HDD上,这样就可以减少整体的存储成本,还能够满足系统对于存储容量的要求。数据会根据一定的置换策略在SSD和HDD之间自动迁移,比如SSD中访问热度低的数据会自动迁移到HDD,同时HDD中访问热度高的数据会自动迁移到SSD中。
Kafka系统作为缓存中间件可以提供高吞吐量、解耦生产者和消费者、匹配生产消费的速度、处理各种数据结构的数据、动态扩展、低延迟等功能,但是Kafka提供高吞吐量、低延迟主要依赖于I/O优化,普通的磁盘I/O即使使用零拷贝,但是还是会受限于磁盘本身的物理特性。为了提供高吞吐量和低延迟的功能,可以使用更快的存储设备,比如SSD,由于SSD的价格限制,不能够大量的使用,所以可以使用SSD和HDD的混合存储为Kafka提升吞吐量、减少延迟。由于Kafka分布式消息系统本身并不支持分级缓存,在此考虑分布式大数据环境下,结合存储介质的发展规律,对分布式消息系统Kafka进行改进,实现数据流可以基于HDD/SSD进行分级缓存,扩展Kafka的功能,使其能够支持更大量的数据,可以应对更多的社会需求。
发明内容
针对Kafka系统不支持分级存储的问题,本发明提出了结合访问热度和迁移频率的数据自动迁移方法(HHF-Migrate),它通过对日志的热数据信息进行统计,计算TopicPartition的访问热度和迁移频率,自动将热度和频率低的冷数据从SSD迁移至HDD,而HDD中热度和频率高的热数据将自动迁移至SSD,从而实现数据的分级缓存。实验表明本发明通过分级缓存可以提高Kafka系统的流处理性能,减少存储成本并降低功耗。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010785947.3/2.html,转载请声明来源钻瓜专利网。