[发明专利]一种分布式文件系统多级缓存实现方法有效

专利信息
申请号: 201410508442.7 申请日: 2014-09-28
公开(公告)号: CN104317736B 公开(公告)日: 2017-09-01
发明(设计)人: 张攀勇;彭成;季旻;苗艳超 申请(专利权)人: 曙光信息产业股份有限公司
主分类号: G06F17/30 分类号: G06F17/30
代理公司: 北京安博达知识产权代理有限公司11271 代理人: 徐国文
地址: 300384 天津市西青区华*** 国省代码: 天津;12
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明提供一种分布式文件系统多级缓存实现方法,包括以下步骤识别分布式文件系统的缓存设备,并进行管理;构建全局缓存元数据服务;客户端文件数据操作解析;全局缓存层文件数据分布;全局缓存层文件数据保护处理。本发明将分布式系统中的多种缓存设备统一到多级全局缓存层中,实现了文件数据在多级缓存中迁移,保证了文件数据在快速缓存上,提高了文件数据的访问性能。同时考虑到多级全局缓存在分布式文件系统中的各种失效问题,采用文件数据冗余机制保证全局缓存在分布式文件系统中节点故障时的可用性,极大的提高了分布式文件系统的文件数据访问效率。
搜索关键词: 一种 分布式 文件系统 多级 缓存 实现 方法
【主权项】:
一种分布式文件系统多级缓存实现方法,其特征在于:所述方法包括以下步骤:步骤1:识别分布式文件系统的缓存设备,并进行管理;步骤2:构建全局缓存元数据服务;步骤3:客户端文件数据操作解析;步骤4:全局缓存层文件数据分布;步骤5:全局缓存层文件数据保护处理;所述步骤1中,分布式文件系统的缓存层由多级全局缓存层组成,每级全局缓存层由分布在不同缓存节点上的缓存组成,全局缓存层的存储介质包括内存卡、固态硬盘、非易失性随机访问存储器、磁盘阵列和磁盘;所述缓存节点上的缓存并不相同,且至少存在一种缓存;缓存节点的物理形态存在于元数据节点或数据节点上,与元数据和数据服务共用服务器或单独使用缓存服务器,该缓存服务器只提供缓存服务;缓存节点之间使用高速网络连接,通过消息交互共同完成分布式文件系统缓存层的功能;所述步骤2中,在分布式文件系统的元数据服务中间增加全局缓存元数据服务,全局缓存元数据服务负责实现分布式文件系统全局缓存层的管理,客户端通过全局缓存元数据服务获取到文件数据对应的缓存,并负责缓存的状态维护;全局缓存元数据服务分布在多个缓存节点上;全局缓存元数据服务包括位置解析、状态监控、频度监控和任务控制;位置解析负责客户端发起的文件数据位置解析,返回文件数据所在的全局缓存层,以及在缓存节点的具体位置信息;状态监控用于监控缓存节点的状态,如果出现故障,对出现故障的缓存节点上的脏缓存实现缓存重建任务;频度监控用于监控缓存中的文件数据访问频度,并根据访问频度生成文件数据在全局缓存层之间的调度任务;任务控制负责与缓存节点和其他全局缓存元数据服务节点之间进行消息通信,实现缓存重建任务和缓存调度任务的具体操作;所述频度监控使用权重监控缓存中的文件数据访问频度,全局缓存层依据该文件数据的权重进行数据块在多层缓存层中间的替换操作;权重Q表示为:Q=A1*(1/I)+A2*F其中,I表示上次文件数据访问的间隔时间,A1为访问间隔时间的加权因子,F表示本文件数据的访问次数,A2为访问次数的加权因子;所述步骤3中,客户端数据先发送给全局缓存元数据服务,确定数据操作对应的全局缓存层的位置,然后客户端和该全局缓存层交互,共同完成客户端文件数据操作解析;具体包括以下步骤:步骤3‑1:客户端首先向全局缓存元数据服务发起文件数据查询操作,确定对应文件数据是否存在于全局缓存层的缓存中;步骤3‑2:若发现全局缓存层的缓存中存在文件数据,则进行客户端文件数据的读写处理,并更新文件数据的访问时间和频度;客户端文件数据读写处理具体步骤如下:步骤3‑2‑1:对于文件数据读操作,直接返回文件数据;步骤3‑2‑2:对于文件数据修改操作,在全局缓存层中对文件数据进行加缓存锁,修改文件数据,并设置对应文件数据为已修改,完成修改之后解除对应缓存锁;后台线程进行数据向后端数据服务器的回刷操作;步骤3‑3:若所有全局缓存层中均不存在文件数据,通知数据节点从磁盘上加载文件数据,并将文件数据直接返回给客户端,更新元数据服务的文件数据记录,如果超过预设访问频度,执行文件数据调入全局缓存层操作;所述步骤4中,全局缓存层在接收到文件数据后,将数据写入到对应的缓存设备上,更新全局缓存元数据服务中的文件数据,并将文件数据分布在不同层级的全局缓存层上;所述步骤4具体包括以下步骤:步骤4‑1:设第M层全局缓存元数据服务的权值预定义为Q(M),其中缓存的文件数据的权值Q(b)范围为Q(M‑1)≤Q(b)<Q(M);步骤4‑2:客户端访问文件数据后,根据重新计算的权值Q(bn),由全局缓存层元数据服务模块将文件数据载入到对应的全局缓存层中,定义M‑1层的缓存设备相比M层的缓存设备性能高,容量大,价格便宜;步骤4‑3:全局缓存元数据服务根据重新计算的文件数据权重Q(bn)确定文件数据需要挪动到具体的全局缓存层X;如果该文件数据被客户端频繁访问,需要将文件数据挪动到高性能的全局缓存层中,以加快文件数据操作速度;如果该文件数据很少被访问,则需要将文件数据放置到低性能且大容量的缓存设备中,以提高缓存的整体利用率;确定将该文件数据移动的全局缓存层X后,文件数据存放在本全局缓存层X的具体缓存设备;步骤4‑4:文件数据在全局缓存层X进行放置,出现如下三种情况:(1)如果对应全局缓存层M存在空闲位置,则直接将文件数据放入全局缓存层M中空闲位置对应节点即可;(2)如果对应全局缓存层M中不存在空闲位置,则使用缓存替换算法,将最少使用的文件数据移动到全局缓存层M+1中,移动完成之后执行步骤4‑1,将文件数据放入到全局缓存层M中;缓存替换算法包括LRU算法和随机替换算法;(3)如果需要替换的文件数据在多级全局缓存的最下一层,将文件数据替换出多级全局缓存层中,写入到分布式文件系统的数据服务器上;步骤4‑5:在步骤4‑4完成后,更新步骤2对应的全局缓存元数据服务上的位置信息;所述步骤5中,使用数据冗余技术,将文件数据在全局缓存层中放置多份,以保证文件数据在全局缓存层的部分缓存设备发生故障之后,文件数据仍然安全可用;具体包括以下步骤:步骤5‑1:在文件数据调度进入全局缓存层时,由全局缓存元数据服务将该文件数据生成几份文件数据,并放置在具体的全局缓存层对应的缓存设备中,生成文件数据的份数和位置信息由预先定义的策略决定;步骤5‑2:全局缓存层根据文件数据的份数和位置信息,将文件数据存放到对应的全局缓存层中;步骤5‑3:全局缓存层发现在缓存节点或者缓存节点上的缓存设备出现故障时,确定出现故障的文件数据的位置和数量,将对应的文件数据在其他缓存节点上进行缓存重建操作;在缓存重建操作完成后,更新全局缓存元数据服务上的信息,将重建的缓存信息加入全局缓存元数据服务,此时重建数据对应的全局缓存层也同时向外提供缓存服务。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业股份有限公司,未经曙光信息产业股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201410508442.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top