[发明专利]一种基于分布式存储系统的代理客户端存储加速方法及系统有效
申请号: | 201711129486.9 | 申请日: | 2017-11-15 |
公开(公告)号: | CN107888687B | 公开(公告)日: | 2020-06-16 |
发明(设计)人: | 宋柏森;唐卓;纪军刚 | 申请(专利权)人: | 长沙证通云计算有限公司 |
主分类号: | H04L29/08 | 分类号: | H04L29/08;G06F3/06 |
代理公司: | 长沙市融智专利事务所(普通合伙) 43114 | 代理人: | 龚燕妮 |
地址: | 410200 湖南省*** | 国省代码: | 湖南;43 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种基于分布式存储系统的代理客户端存储加速方法及系统,通过使用内存映射和读写事务的方式,提高客户端数据的读写性能和数据安全性,减少对物理机的内存依赖。并且通过使用本发明提出的一种数据预留算法,可以较大的提升单一客户端读写的缓存命中率,进而提高单一客户端的读写性能。本发明向上层应用的单一客户端提供底层标准的POSIX的读写接口,向上兼容所有的块,对象,文件存储接口使用。 | ||
搜索关键词: | 一种 基于 分布式 存储系统 代理 客户端 存储 加速 方法 系统 | ||
【主权项】:
一种基于分布式存储系统的代理客户端存储加速方法,其特征在于,包括以下步骤:步骤1:上层客户端经过标准POSIX读写接口将读写请求发送给代理客户端;步骤2:对待读写数据进行哈希计算,查看待读写数据的哈希值在代理客户端的元数据中是否包含,通过元数据获取待读写数据存储位置;代理客户端依据接收的上层客户端读写请求的待读写数据,查找上层客户端发出的待读写数据的哈希值是否存在于代理客户端中的元数据中;若存在,则利用与所述待读写数据匹配的元数据,获取所述待读写数据的存放位置,进入步骤3;若不存在,则利用代理客户端向远端服务器发送读写请求,并将远端服务器的应答信息返回给上层客户端,若应答信息为读写请求成功,则将从远端服务器获取到的待读写数据,加载到代理客户端的缓存中,同时获取事务锁,进入步骤4,若应答信息为读写请求失败,则返回步骤1,等待下一次读写请求;步骤3:获取事务锁;对读操作加读共享锁,对写操作加独占的排它锁;同时,对读操作和写操作同时进行事务的原子操作,等待获取事务锁,若无法获得事务锁,则重复步骤3,直到获得事务锁,进入步骤4;步骤4:采用kv数据库查找更新上层客户端当前IO读写请求中的元数据信息,如果更新成功执行步骤5,如果执行失败继续执行步骤4;同时,按照设定的刷盘周期,对代理客户端中缓存的读写请求数据进行刷盘;所述元数据信息包括读写请求中元数据的优先级值、在代理客户端缓存中存放的位置以及读写访问次数;所述读写请求中元数据的优先级值Qi按照以下公式计算:Qi=K1TinputTcurrent+K2TtouchTcurrent+K3wWt+K4rRt,Σi=14Ki=1,60<t<600]]>其中,Ki为排序比例因子,取值范围为0到1;t为采样时间的预热间隔,取值范围为1分钟到1小时之间,用户根据使用场景和读写数据的类型动态调整;Tinput和Ttouch分别为当前待计算优先级的数据的第一次写入到本地缓存的时间和最后一次读写访问时间,Tcurrent为系统的当前时间,w和r分别为读写请求中元数据所有的写访问次数和所有的读访问次数,Wt和Rt分别为当前客户端t时间内的写IO次数和读IO次数;Ttouch为读写请求中元数据的最后一次读写访问时间;步骤5:代理客户端中的元数据信息和本次读写操作的代理客户端数据信息通过内存映射的方式进行保存,成功更新代理客户端元数据信息后,基于元数据查询本次读写操作的代理客户端数据存放位置;对于上层客户端端发送的读请求,直接返回查找到数据;对于写请求,直接修改查到的数据,完成上层客户端的读写访问操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于长沙证通云计算有限公司,未经长沙证通云计算有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201711129486.9/,转载请声明来源钻瓜专利网。