一种分布式存储异步数据压缩方法
申请人信息
- 申请人:天翼云科技有限公司
- 申请人地址:100010 北京市东城区青龙胡同甲1号、3号2幢2层205-32室
- 发明人: 天翼云科技有限公司
专利详细信息
| 项目 | 内容 |
|---|---|
| 专利名称 | 一种分布式存储异步数据压缩方法 |
| 专利类型 | 发明申请 |
| 申请号 | 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缓存。