一种分布式文件系统多级缓存实现方法技术方案

技术编号:10965384 阅读:123 留言:0更新日期:2015-01-28 17:39
本发明专利技术提供一种分布式文件系统多级缓存实现方法,包括以下步骤:识别分布式文件系统的缓存设备,并进行管理;构建全局缓存元数据服务;客户端文件数据操作解析;全局缓存层文件数据分布;全局缓存层文件数据保护处理。本发明专利技术将分布式系统中的多种缓存设备统一到多级全局缓存层中,实现了文件数据在多级缓存中迁移,保证了文件数据在快速缓存上,提高了文件数据的访问性能。同时考虑到多级全局缓存在分布式文件系统中的各种失效问题,采用文件数据冗余机制保证全局缓存在分布式文件系统中节点故障时的可用性,极大的提高了分布式文件系统的文件数据访问效率。

【技术实现步骤摘要】
一种分布式文件系统多级缓存实现方法
本专利技术涉及一种实现方法,具体涉及一种分布式文件系统多级缓存实现方法。
技术介绍
随着分布式文件系统的广泛应用,其提供的存储容量和节点规模变得越来越大,系统对分布式系统提供的文件操作的性能和可扩展性提出了更高的要求。在分布式系统中客户端的文件访问请求,经过元数据服务器进行解析之后,客户端文件请求最终会变成对数据服务器上的对应文件对象操作,对于数据服务器的对象读写操作性能直接决定了分布式文件系统的性能。而现有磁盘在容量和操作速度上相比CPU,内存,网络来说存在数量级的差异,为了平衡速度的差异,缓存技术在分布式文件系统中广泛使用,利用访问的局部性原理,将访问尽可能的在快速设备上操作,以减少对慢速设备的访问,提高系统的访问带宽。由于单机文件系统是分布式文件系统的基本组成部分,数据节点上的文件系统的缓存效率直接关系到分布式文件系统的整体效率。单机文件系统一般使用本机内存作文件缓存,通过缓存文件写和文件预读操作,极大的提高了本地文件的操作性能,典型的代表有Linux系统的Pagecache系统,在内存实现了一个文件系统缓存。新型存储介质如固态硬盘(SolidStateDisk,SSD)和NVRAM(Non-VolatileRAM),由于其优异的读写性能,被广泛应用于内存和磁盘之间,作为数据缓存,用来保留读取的热点数据和写入的数据,提高存储系统的读写效率。典型的代表有Facebook公司的flashcache技术等。分布式系统的基于内存的缓存系统,已经在互联网服务等领域得到广泛的应用,典型的系统如MemCached系统,其在多个节点之间构建一个全局的基于内存的键值存取系统(Key-ValueStore),缓存网站的后端数据库查询结果等操作,以加速网站的访问效率。然而上现有技术存在如下问题:1)全局特性考虑较少:由于分布式文件系统由多个节点组成,需要一种全局缓存技术来协同考虑,缓存分布式文件系统的访问请求,并提供一致,高效的文件操作。单机缓存系统在全局方面考虑较少。2)设备支持简单:现有缓存设备在访问速度和容量上存在较大差距,需要缓存系统支持多种设备,而现有缓存系统支持较为简单。3)故障处理简单:分布式缓存系统由于分布在多个不同节点,节点或者缓存设备存在故障时,需要分布式缓存系统仍然能正确高效的提供缓存服务。
技术实现思路
为了克服上述现有技术的不足,本专利技术提供一种分布式文件系统多级缓存实现方法,将多种不同分布在不同节点上的缓存设备聚合在分布式缓存中,向分布式文件系统提供高效的文件数据缓存服务,并且容忍各种系统故障,保证分布式缓存的正确性。为了实现上述专利技术目的,本专利技术采取如下技术方案:本专利技术提供一种分布式文件系统多级缓存实现方法,所述方法包括以下步骤:步骤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,将文件数据本文档来自技高网
...
一种分布式文件系统多级缓存实现方法

【技术保护点】
一种分布式文件系统多级缓存实现方法,其特征在于:所述方法包括以下步骤:步骤1:识别分布式文件系统的缓存设备,并进行管理;步骤2:构建全局缓存元数据服务;步骤3:客户端文件数据操作解析;步骤4:全局缓存层文件数据分布;步骤5:全局缓存层文件数据保护处理。

【技术特征摘要】
1.一种分布式文件系统多级缓存实现方法,其特征在于:所述方法包括以下步骤:步骤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:若所有...

【专利技术属性】
技术研发人员:张攀勇彭成季旻苗艳超
申请(专利权)人:曙光信息产业股份有限公司
类型:发明
国别省市:天津;12

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1