[发明专利]一种基于Protocol Buffer的镜像缓存方法有效
申请号: | 202010090744.2 | 申请日: | 2020-02-13 |
公开(公告)号: | CN111338567B | 公开(公告)日: | 2021-09-17 |
发明(设计)人: | 刘志魁 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F3/06 | 分类号: | G06F3/06 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 张春辉 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 protocol buffer 缓存 方法 | ||
本申请公开了一种应用于主节点的基于Protocol Buffer的镜像缓存方法,能够通过Protocol Buffer将全闪产品中批量化的小块IO聚合为一个大的IO,并向从节点发送相应的镜像请求,以实现镜像缓存。因此,能够大幅度减少主节点和从节点之间的IO交互次数和任务调度次数,显著提升存储系统性能。此外,本申请还提供了一种应用于主节点的基于Protocol Buffer的镜像缓存装置、一种应用于从节点的基于Protocol Buffer的镜像缓存方法及装置、全闪存储设备及全闪存储系统,其技术效果与上述方法的技术效果相对应。
技术领域
本申请涉及计算机技术领域,特别涉及一种应用于主节点的基于ProtocolBuffer的镜像缓存方法及装置、一种应用于从节点的基于Protocol Buffer的镜像缓存方法及装置、一种全闪存储设备及全闪存储系统。
背景技术
传统的存储系统中以IO为单位进行缓存镜像。例如,在典型的双控场景中,一个节点收到N个IO请求,就向对端节点发送N个镜像请求。
在新兴的全闪产品中,由于采用了日志式的落盘方式,引入了如下的变化:元数据IO都是小块IO(如512字节);小块IO的数量特别大;大量小块IO的数量具有爆发性,对其他模块造成很大的冲击性。
可见,在全闪产品中,传统的镜像缓存方案会导致节点之间频繁进行交互和任务调度,严重影响存储系统性能。
发明内容
本申请的目的是提供一种应用于主节点的基于Protocol Buffer的镜像缓存方法及装置、一种应用于从节点的基于Protocol Buffer的镜像缓存方法及装置、一种全闪存储设备及全闪存储系统,用以解决在全闪产品中,传统的镜像缓存方案会导致节点间频繁进行交互和任务调度,降低了存储系统性能的问题。其具体方案如下:
第一方面,本申请提供了一种基于Protocol Buffer的镜像缓存方法,应用于主节点,包括:
接收IO请求;
确定满足预设聚合条件的IO请求集合;
对所述IO请求集合中各个IO请求进行结构化处理和聚合处理,得到结构化数据;
对所述结构化数据进行Protocol Buffer序列化,得到二进制数据;
根据所述二进制数据生成单个镜像请求,并发送至从节点,以实现镜像缓存。
优选的,所述确定满足预设聚合条件的IO请求集合,包括:
判断当前接收到的IO请求的数量是否达到预设数量阈值;
若达到,将当前接收到的IO请求作为IO请求集合。
优选的,在所述判断当前接收到的IO请求的数量是否达到预设数量阈值之后,还包括:
若当前接收到的IO请求的数量未达到预设数量阈值,则判断未接收到新的IO请求的时间是否超过预设时间阈值;
若超过,则将当前接收到的IO请求作为IO请求集合。
优选的,所述对所述IO请求集合中各个IO请求进行结构化处理和聚合处理,得到结构化数据,包括:
将所述IO请求集合中各个所述IO请求的数据落盘位置和数据载荷存储至结构体数组。
优选的,在所述将所述IO请求集合中各个所述IO请求的数据落盘位置和数据载荷存储至结构体数组之前,还包括:
创建结构体数组,其中所述结构体数组包括多个结构体,所述结构体包括第一成员和第二成员,所述第一成员用于存储所述IO请求的数据落盘位置,所述第二成员用于存储所述IO请求的数据载荷。
优选的,所述IO请求为元数据IO请求。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010090744.2/2.html,转载请声明来源钻瓜专利网。