[发明专利]一种基于cache的读写数据处理方法及系统在审
申请号: | 202010536942.7 | 申请日: | 2020-06-12 |
公开(公告)号: | CN111858402A | 公开(公告)日: | 2020-10-30 |
发明(设计)人: | 彭泽;张端 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F12/0877 | 分类号: | G06F12/0877 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 黄晓燕 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 cache 读写 数据处理 方法 系统 | ||
本发明提供了一种基于cache的读写数据处理方法及系统,写数据的处理包括将收到的写请求数据写入cache,并将内存中对象位图对应的对象状态置为缓存中;当cache中数据累计达到阈值时,将缓存中的对象状态置为已存在;将内存中的对象位图进行落盘,覆盖底层存储中的对象位图;将cache中的数据落盘。本发明利用内存中的object_map,在发生写数据请求时,先将数据写进cache而不落盘,当cache中数据达到一定阈值后,先将此时内存中的object_map进行落盘,之后将cache中的数据下刷落盘,使得在读的时候可以直接从内存读取,且能够在在多次写后只获取一次锁,更新一次object_map。减少了对锁的需求,提高写数据的性能。
技术领域
本发明涉及数据读写技术领域,尤其是一种基于cache的读写数据处理方法及系统。
背景技术
object-map(即对象位图,每个对象对应位图中的一部分数据,并用这部分数据记录了这个对象的状态)依赖于exclusive-lock(独占锁、排他锁)特性。image的对象分配是thin-provisioning(精简卷)。object-map特性开启的时候,会有一个object_map对象记录卷中所有对象存在状态的一个位图,位标识一个对象的状态,共有3种状态(包括不存在、存在和待删除)用以标记对象是否真的存在,这样就可以在上层直接判断一个对象是否存在,可以起到加速IO、导出等作用。
但是在客户端对卷写操作时,会去申请卷的排他锁,此时也会对object-map加锁。写操作过程种,会首先锁信息进行检查,已保证该客户端持有锁,检查通过后再进行object-map的更新操作。
现有技术会在每次读写操作的时候都去对map加锁,导致IO无法并发,需要等上一个IO完成并释放锁,下一个IO才能操作map,极大的影响了读写性能。
发明内容
本发明提供了一种基于cache的读写数据处理方法及系统,用于解决现有object-map对象锁竞争,影响读写性能问题。
为实现上述目的,本发明采用下述技术方案:
本发明第一方面提供了一种基于cache的写数据处理方法,所述方法包括以下步骤:
将收到的写请求数据写入cache,并将内存中对象位图对应的对象状态置为缓存中;
当cache中数据累计达到阈值时,将缓存中的对象状态置为已存在;
将内存中的对象位图进行落盘,覆盖底层存储中的对象位图;
将cache中的数据落盘。
进一步地,在所述对象状态为已存在或不存在时,将对象位图中对应的对象状态置为缓存中。
进一步地,所述写请求的处理基于RBD层。
本发明第二方面提供了一种基于cache的读数据处理方法,基于所述写数据的处理方法,所述读数据的处理方法包括以下步骤:
在收到读请求时,通过内存中对象位图判断数据对应的对象状态;
根据所述对象状态,进行数据获取并返回。
进一步地,所述根据所述对象状态,进行数据获取并返回具体为:
若该对象状态为已存在,则将请求下发至底层存储,读取磁盘上的数据并返回;
若该对象状态为缓存中,则读取cache中对应的数据返回;
若该对象状态为不存在,则直接返回该对象不存在。
进一步地,所述读请求的处理基于RBD层。
本发明第三方面提供了一种基于cache的写数据处理系统,所述写数据的处理系统包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010536942.7/2.html,转载请声明来源钻瓜专利网。