【技术实现步骤摘要】
适用于对象网络存储的分布式多级缓存系统
本专利技术属于计算机存储
,具体涉及一种适用于对象网络存储的分布式多级缓存系统。
技术介绍
下一代互联网速度更快、规模更大、安全性与服务质量更高,从而要求基于下一代互联网的网络存储系统具有与之适应的高效性、可扩展性、安全性和高服务质量。传统的以块和文件为基础构建的存储系统(如NAS、SAN等)已经不能满足上述要求。美国加州大学Berkeley分校的Paterson教授、卡内基梅隆大学等多所大学及研究机构提出了一种基于对象(Object-Based)的网络存储接口协议,以此方便构建高效的大型网络存储系统。中国专利技术专利公开号为CN 1728665A的专利技术公开了一种组建基于对象的存储系统的方法。该专利技术所述基于对象的网络存储系统,包括由计算机网络连接的I个元数据服务器、N个对象存储节点和M个客户端,其对象文件系统是基于标准Linux的ext2文件系统,带有日志文件系统特性。大型网络存储系统需要设计一个高效的并行文件系统与之相匹配,才能实现存储系统的高带宽、高扩展性、高安全性、智能化等。文件系统作为系统的I/O子系统,在很多情况下会成为系统性能进一步提高的瓶颈。设计一个高性能的并行文件系统需要从两个方面进行考虑:一方面尽可能减少对磁盘的访问次数,另一方面尽可能简化网络访问协议,减少网络协议开销。文件系统缓存技术是一种尽量减少文件系统访问磁盘次数的机制,用提高文件系统性能的方法来弥补磁盘性能的不足;同时,好的缓存系统设计还可以简化网络访问协议。目前,基于对象存储文件系统已成为高性能网络存储文件系统的研究--> ...
【技术保护点】
一种适用于对象网络存储的分布式多级缓存系统,其特征在于:该系统包括位于客户端中的零级缓存和一级缓存,以及位于对象存储节点中的二级缓存;零级缓存用于来源自元数据服务器中的元数据缓存,一级缓存为直接服务于应用进程的数据缓存,二级缓存为直接服务于客户端的数据缓存;零级缓存管理模块用于负责零级缓存中元数据的查找、替换以及按照网络访问控制协议进行元数据的访问;一级缓存管理模块用于控制一级缓存,负责共享内存空间的申请、分配、回收以及缓存单元的置换;二级缓存管理模块 负责对对象存储节点间二级缓存进行统一置换。
【技术特征摘要】
1、一种适用于对象网络存储的分布式多级缓存系统,其特征在于:该系统包括位于客户端中的零级缓存和一级缓存,以及位于对象存储节点中的二级缓存;零级缓存用于来源自元数据服务器中的元数据缓存,一级缓存为直接服务于应用进程的数据缓存,二级缓存为直接服务于客户端的数据缓存;零级缓存管理模块用于负责零级缓存中元数据的查找、替换以及按照网络访问控制协议进行元数据的访问;一级缓存管理模块用于控制一级缓存,负责共享内存空间的申请、分配、回收以及缓存单元的置换;二级缓存管理模块负责对对象存储节点间二级缓存进行统一置换。2、根据权利要求1所述的系统,其特征在于:所述零级缓存管理模块中的网络访问协议为:(B1)客户端将要访问文件的路径转化为全局文件系统唯一路径名,应用进程查询零级缓存,判断缓存是否命中,如果命中进入步骤(B4);(B2)客户端与元数据服务器建立连接,发送元数据查询请求;(B3)元数据服务器对客户端访问进行身份验证,如果合法则查询元数据,确认所访问的文件是否存在,发送应答信息到客户端,进入步骤(B5);(B4)应答应用进程;(B5)客户端应用进程收到应答信息后,访问对象存在则发送读对象请求到元数据服务器,否则报错过程结束;(B6)元数据服务器收到客户读对象请求后,发送对象ID到相关对象存储节点;(B7)对象存储节点验证元数据服务器访问请求后,打开对象,发送应答信息到元数据服务器;(B8)元数据服务器收到应答后,把对客户端的授权、文件与存储对象ID映射表以及存储对象节点位置信息应答给客户端,同时更新零级缓存;(B9)客户端收到元数据服务器的应答信息后,向元数据对应的对象存储节点发读对象请求命令包,与相应对象存储节点建立连接;(B10)对象存储节点验证用户请求,确认后发送数据对象给客户端,直到数据传输结束。3、根据权利要求1或2所述的系统,其特征在于:所述一级缓存管理模块的守护进程按照下述步骤申请、分配和回收一级缓存空间:(C1)向系统申请一块缓存空间,并按照指定缓存块大小将缓存空间分块,用一个缓存块数组表示缓存空间,数组大小为所申请缓存空间的总块数;(C2)维护一个可分配缓存块数组,大小与缓存块数组相同,并用可分配号、空闲号分别指示可分配缓存块数组中空闲项的首部和尾部;(C3)当应用进程访问共享缓存空间时,进入步骤(C4);当应用进程释放缓存空间时,进入步骤(C5);(C4)访问共享缓存空间时,如果命中则直接进行读写操作;否则,首先判断是否有空闲缓存块可用,方法是判断可分配号和空闲号是否相等,如果可分配号和空闲号相等,进入步骤(C41),否则进入步骤(C42);(C41)可分配号和空闲号相等表示没有空闲块可用,则对缓存块进行置换,置换后再进行读写操作,工作完毕;(C42)可分配号和空闲号不相等表示还有空闲块可利用,读取可分配号所指示的可分配缓存块数组项的值,该值就是第一块可供分配缓存空闲块的下标,把下标指示的缓存块分配给应用进程,将可分配号所指示的可分配缓存块数组项的值设为-1,然后可分配号加1并取总缓存块数的模,新的可分配号指示下一个空闲块,工作完毕;(C5)应用进程不再使用缓存块时需要释放申请的缓存块,首先空闲号加1取总缓存块数的模得到新的空闲号,把空闲号指示的可分配缓存块数组项的值设为所释放缓存块号,完成缓存块...
【专利技术属性】
技术研发人员:陈进才,周功业,吴伟杰,易佳,雷伟,李漪,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:83[中国|武汉]
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。