← 返回列表

一种分布式存储异步数据压缩方法

申请号: CN202311605230.6
申请人: 天翼云科技有限公司
更新日期: 2026-03-09

专利详细信息

项目 内容
专利名称 一种分布式存储异步数据压缩方法
专利类型 发明申请
申请号 CN202311605230.6
申请日 2023/11/28
公告号 CN117632016A
公开日 2024/3/1
IPC主分类号 G06F3/06
权利人 天翼云科技有限公司
发明人 曹梦飞; 刘啸滨; 张宗全; 白杨; 廖力
地址 北京市东城区青龙胡同甲1号、3号2幢2层205-32室

摘要文本

天翼云科技有限公司获取“一种透气窗帘布”专利技术,本发明提供一种分布式存储异步数据压缩方法,包括:部署服务端客户端的方法、数据写入的方法、数据读取的方法。本发明将压缩、解压缩放到独立的线程执行,将写请求采用基于快速存储介质的日志盘暂时持久化,将压缩数据的时机放到异步下刷流程,消除了压缩对写延迟的影响,采用追加写充分发挥了写入性能;基于JnodeBlock缓存合并小I/O提升了写性能;对读请求采用缓存+Cnode、Record二级索引+独立解压线程处理,减少了读延迟,提高了读的并发能力;采用Run To Completion的线程模型降低了锁、中断和上下文切换的开销,提升了I/O线程处理的效率,在降低存储成本的情况下大幅提升了存储的性能。

专利主权项内容

1.一种分布式存储异步数据压缩方法,其特征在于,包括:部署服务端客户端的方法、数据写入的方法、数据读取的方法;其中,所述数据写入的方法包括以下步骤:S11、通过持久化层服务的I/O线程轮询查看队列中的I/O请求,轮询到请求后,如果解析出来是客户端的写请求,则进入写流程;S12、将每一个I/O线程的原始数据在日志盘中以顺序seq的形式持久化;每写完一个seq的数据到日志盘,更新日志盘的super信息;同时写缓存,将所述原始数据写入缓存Jnode的JnodeBlock中;S13、在持久化层完成数据的WAL流程后,持久化层服务端回复客户端:写入成功;如果进程突然崩溃,则通过回放日志盘的方式恢复数据;S14、通过I/O线程检查所述缓存Jnode的JnodeBlock是否已写满,或者个数是否超过1个,如果是JnodeBlock已写满,或者个数是超过1个,则开始进入下刷流程;S15、通过I/O thread线程给compress thread线程提交数据压缩的任务;完成数据压缩后,给I/O thread线程提交一个压缩完成消息,I/O thread线程解析所述压缩完成消息,继续进行该I/O线程的下刷流程;S16、在数据压缩后更新数据块的索引信息,将所述更新后的索引信息保存在数据块的元数据Cnode和数据盘的Record中;S17、写入数据和元数据:以异步的方式向数据盘和元数据盘提交I/O thread线程写请求,将压缩后的数据块以及该数据块的元数据Cnode落盘;S18、将压缩后的数据和数据块的Cnode元数据持久化到数据盘和元数据分区;S19、持久化完成后,释放该I/O thread线程占用的日志盘空间和JnodeBlock缓存。