《分布式随机访问文件系统及其访问控制方法.pdf》由会员分享,可在线阅读,更多相关《分布式随机访问文件系统及其访问控制方法.pdf(18页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104077084A43申请公布日20141001CN104077084A21申请号201410350026922申请日20140722G06F3/06200601G06F12/08200601H04L29/0820060171申请人中国科学院上海微系统与信息技术研究所地址200050上海市长宁区长宁路865号72发明人陈小刚李顺芬柳扬周密李鸽子宋志棠74专利代理机构上海光华专利事务所31219代理人李仪萍54发明名称分布式随机访问文件系统及其访问控制方法57摘要本发明提供一种分布式随机访问文件系统及其访问控制方法,其中,所述分布式随机访问文件系统至少包括进程管理模块,用于在。
2、用户请求打开、关闭和读/写被访问文件时,管理进程对所述被访问文件的打开、关闭和读/写操作;查询判断模块,用于查询所述映射表,并判断所述被访问文件数据的逻辑地址与其所在的物理地址间是否存在映射关系;寻址访问模块,用于根据所述被访问文件数据的逻辑地址寻址到所述被访问文件数据的物理地址。本发明充分发挥了新型非易失存储器随机访问的优势,提高了文件的读写访问速度,节省了有限的DRAM资源,从而提高系统I/O性能,实现进程对文件数据的快速访问。51INTCL权利要求书4页说明书10页附图3页19中华人民共和国国家知识产权局12发明专利申请权利要求书4页说明书10页附图3页10申请公布号CN10407708。
3、4ACN104077084A1/4页21一种分布式随机访问文件系统,应用于由本地存储节点和远程存储节点组成的存储有文件数据和文件系统管理数据的存储系统,其特征在于,所述远程存储节点通过网络与所述本地存储节点连接,所述远程存储节点用于存储远程文件数据和文件系统管理数据;所述本地存储节点用于存储本地文件数据和与所述远程存储节点中相同的文件系统管理数据;所述存储系统由至少一台主机构成,每台主机至少包括中央处理器以及由动态随机存取存储器和非易失性随机存储器组成的存储架构,其中,各主机的存储架构中的各动态随机存取存储器和各非易失性随机存储器采用统一物理地址编址;所述分布式随机访问文件系统至少包括进程管理。
4、模块,与所述进程管理模块连接的查询判断模块,以及与所述查询判断模块连接的寻址访问模块;其中进程管理模块,用于在用户请求打开、关闭和读/写被访问文件时,管理进程对所述被访问文件的打开、关闭和读/写操作;以及用于当所述进程打开所述被访问文件时,在进程虚拟地址空间中为所述被访问文件分配逻辑地址空间、文件数据指针以及映射表;其中,所述文件数据指针指向所述进程管理模块在所述进程虚拟地址空间中为所述被访问文件分配的逻辑地址空间中的起始逻辑地址,所述被访问文件数据的逻辑地址的寻址基于所述文件数据指针和所述被访问文件数据的读/写请求中的偏移量实现;其中,所述映射表初始化为空表,且所述映射表用于保存所述被访问文。
5、件数据的逻辑地址与其所在的物理地址间的映射关系;当所述进程关闭所述文件时,调用所述清除模块;当所述进程读/写所述被访问文件时,调用所述查询判断模块;查询判断模块,用于查询所述映射表,并判断所述被访问文件数据的逻辑地址与其所在的物理地址间是否存在映射关系;在所述被访问文件数据的逻辑地址与其所在的物理地址间存在映射关系时,调用所述寻址访问模块;寻址访问模块,用于根据所述被访问文件数据的逻辑地址寻址到所述被访问文件数据的物理地址,所述进程基于所述被访问文件数据的物理地址原位读/写所述被访问文件数据。2根据权利要求1所述的分布式随机访问文件系统,其特征在于,所述分布式随机访问文件系统还包括与所述查询判。
6、断模块连接的检索判断模块,与所述检索判断模块连接的中断模块,以及与所述中断模块、所述寻址访问模块连接的建立模块;其中检索判断模块,用于在所述被访问文件数据的逻辑地址与其所在的物理地址间不存在映射关系时,检索并判断所述被访问文件数据是否存储于所述本地存储节点的非易失性随机存储器中;在所述被访问文件数据存储于所述本地存储节点的非易失性随机存储器中时,调用中断模块;在所述被访问文件数据不存储于所述本地存储节点的非易失性随机存储器中时,继续判断所述被访问文件数据是否存储于所述本地存储节点的动态随机存取存储器中;在所述被访问文件数据存储于所述本地存储节点的动态随机存取存储器中时,调用所述中断模块;中断模。
7、块,用于调用系统中断函数,并向所述建立模块发送系统中断通知;建立模块,用于当接收到所述中断模块发出的系统中断后,在所述被访问文件数据存储于所述本地存储节点的非易失性随机存储器中时,以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中物理地址间的映射关系,然后调用所述寻址访问模块;或者,在所述被访问文件数据存储于所述本地存储节点权利要求书CN104077084A2/4页3的动态随机存取存储器中时,以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器中的物理地址间的映射关系,然后调用所述寻址访问模块。3根据权利要求2所述的分。
8、布式随机访问文件系统,其特征在于,所述分布式随机访问文件系统还包括与所述检索判断模块、所述中断模块连接的获取模块;其中获取模块,用于在所述被访问文件数据不存储于所述本地存储节点的动态随机存取存储器中时,根据所述文件系统管理数据确定存储所述被访问文件数据的远程存储节点,通过网络从所述远程存储节点中获取所述被访问文件数据,并存储于所述本地存储节点的动态随机存取存储器中,然后调用中断模块。4根据权利要求1所述的分布式随机访问文件系统,其特征在于,所述分布式随机访问文件系统还包括与所述寻址访问模块连接的锁定/解锁模块;其中锁定/解锁模块,用于在所述进程响应所述被访问文件数据的写请求时,锁定所述被访问文。
9、件中相应的数据页,并判断锁定是否成功,若否,则等待所述被访问文件中相应的数据页解锁,重复判断锁定是否成功;若是,则修改所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为锁定状态;或者,用于解锁被锁定的被访问文件中相应的数据页,更新所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为解锁状态。5根据权利要求14任一项所述的分布式随机访问文件系统,其特征在于,所述分布式随机访问文件系统还包括与所述进程管理模块连接的清除模块;其中清除模块,用于在所述进程关闭所述被访问文件时,清除所述被访问文件数据的逻辑地址与其所在的物理地址间已建立的所有映射,并销毁所述文件。
10、数据指针。6根据权利要求14任一项所述的分布式随机访问文件系统,其特征在于,所述映射表中至少包括所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中的物理地址间的映射,或者所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器中的物理地址间的映射。7一种如权利要求1所述的分布式随机访问文件系统的访问控制方法,其特征在于,所述分布式随机访问文件系统的访问控制方法至少包括在用户请求打开、关闭和读/写被访问文件时,由所述进程管理模块管理进程对所述被访问文件的打开、关闭和读/写操作;当所述进程打开所述被访问文件时,由所述进程管理模块在进程虚拟地址空间中为所述被访。
11、问文件分配逻辑地址空间、文件数据指针和映射表;其中,所述文件数据指针指向所述进程管理模块在所述进程虚拟地址空间中为所述被访问文件分配的逻辑地址空间中的起始逻辑地址,所述被访问文件数据的逻辑地址的寻址基于所述文件数据指针和所述被访问文件数据的读/写请求中的偏移量实现;其中,所述映射表初始化为空表,且所述映射表用于保存所述被访问文件数据的逻辑地址与其所在的物理地址间的映射关系;当所述进程关闭所述文件时,由所述进程管理模块调用所述清除模块;当所述进程读/写所述被访问文件时,由所述进程管理模块调用所述查询判断模块;由所述查询判断模块查询所述映射表,并判断所述被访问文件数据的逻辑地址与其所在的物理地址间。
12、是否存在映射关系;在所述被访问文件数据的逻辑地址与其所在的物理地址间权利要求书CN104077084A3/4页4存在映射关系时,调用所述寻址访问模块;由所述寻址访问模块根据所述被访问文件数据的逻辑地址寻址到所述被访问文件数据的物理地址,所述进程基于所述被访问文件数据的物理地址原位读/写所述被访问文件数据。8根据权利要求7所述的分布式随机访问文件系统的访问控制方法,其特征在于,所述分布式随机访问文件系统的访问控制方法还包括在所述被访问文件数据的逻辑地址与其所在的物理地址间不存在映射关系时,由所述检索判断模块检索并判断所述被访问文件数据是否存储于所述本地存储节点的非易失性随机存储器中;在所述被访问。
13、文件数据存储于所述本地存储节点的非易失性随机存储器中时,调用中断模块;在所述被访问文件数据不存储于所述本地存储节点的非易失性随机存储器中时,继续判断所述被访问文件数据是否存储于所述本地存储节点的动态随机存取存储器中;在所述被访问文件数据存储于所述本地存储节点的动态随机存取存储器中时,调用所述中断模块;由所述中断模块调用系统中断函数,并向所述建立模块发送系统中断通知;当接收到所述中断模块发出的系统中断后,在所述被访问文件数据存储于所述本地存储节点的非易失性随机存储器中时,由所述建立模块以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中物理地址间的映射关系。
14、,然后调用所述寻址访问模块;或者,在所述被访问文件数据存储于所述本地存储节点的动态随机存取存储器中时,由所述建立模块以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器中的物理地址间的映射关系,然后调用所述寻址访问模块。9根据权利要求8所述的分布式随机访问文件系统的访问控制方法,其特征在于,所述分布式随机访问文件系统的访问控制方法还包括在所述被访问文件数据不存储于所述本地存储节点的动态随机存取存储器中时,由所述获取模块根据所述文件系统管理数据确定存储所述被访问文件数据的远程存储节点,通过网络从所述远程存储节点中获取所述被访问文件数据,并存储于所述本地存储节点的。
15、动态随机存取存储器中,然后调用中断模块。10根据权利要求7所述的分布式随机访问文件系统的访问控制方法,其特征在于,所述分布式随机访问文件系统的访问控制方法还包括在所述进程响应所述被访问文件数据的写请求时,由所述锁定/解锁模块锁定所述被访问文件中相应的数据页,并判断锁定是否成功,若否,则等待所述被访问文件中相应的数据页解锁,重复判断锁定是否成功;若是,则修改所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为锁定状态。11根据权利要求10所述的分布式随机访问文件系统的访问控制方法,其特征在于,所述分布式随机访问文件系统的访问控制方法还包括由所述锁定/解锁模块解锁被锁定的被访问。
16、文件中相应的数据页,更新所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为解锁状态。12根据权利要求711任一项所述的分布式随机访问文件系统的访问控制方法,其特征在于,所述分布式随机访问文件系统的访问控制方法还包括在所述进程关闭所述被访问文件时,由所述清除模块清除所述被访问文件数据的逻辑权利要求书CN104077084A4/4页5地址与其所在的物理地址间已建立的所有映射,并销毁所述文件数据指针。13根据权利要求711任一项所述的分布式随机访问文件系统的访问控制方法,其特征在于,所述映射表中至少包括所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中。
17、的物理地址间的映射,或者所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器中的物理地址间的映射。权利要求书CN104077084A1/10页6分布式随机访问文件系统及其访问控制方法技术领域0001本发明涉及文件系统领域,特别是涉及一种分布式随机访问文件系统及其访问控制方法。背景技术0002文件系统是操作系统的重要组成部分,用于控制对文件数据的存取;它提供对文件和目录的分层组织形式、数据缓冲对于实时系统,允许绕过缓冲以及对文件数据存取权限的控制。0003随着半导体存储技术的发展以及新型存储架构的提出,特别是将基于新型非易失随机存储器DRAMDYNAMICRANDOMACCES。
18、SMEMORY,动态随机存取存储器的存储架构,替代传统NORNANDDRAM或HDDHARDDISKDRIVE,硬盘/SSDSOLIDSTATEDISK,固态硬盘DRAM的存储架构的提出,传统的文件系统工作方式及文件访问方式在新型存储架构下不能很好的发挥新型非易失随机存储器独有的随机访问特性优势。因为传统的文件系统保存在非易失存储器中,当进程访问文件系统中的各个文件数据时,首先操作系统需要将要访问的数据从非易失存储器中以数据页形式顺序加载到DRAM,然后CPU以随机访问的方式访问DRAM中的数据,进行相应的读取或改写;可见,传统的文件系统访问数据时需要将数据加载至DRAM会导致多次数据复制、冗。
19、余数据迁移、文件读写速度慢、加载至DRAM内的数据的副本占用有限的DRAM内存资源,以及多数据副本数据同步引入额外的系统资源消耗等,同时由于无法直接随机访问非易失存储器中的数据而不能发挥新型存储器随机访问的特性。0004因此,如何在新型存储架构下管理文件系统及控制文件访问,充分发挥新型非易失存储器随机访问的优势,如何提高文件的读写访问速度,如何节省有限的DRAM资源,提高系统I/O性能,成为存储系统亟待解决的问题。发明内容0005鉴于以上所述现有技术的缺点,本发明的目的在于提供一种分布式随机访问文件系统及其访问控制方法,用于解决现有技术中传统文件系统工作模式在新型存储架构中不能充分发挥新型存储。
20、器随机访问的优势,以及传统文件系统读取访问文件数据速度慢等问题。0006为实现上述目的及其他相关目的,本发明提供一种分布式随机访问文件系统,应用于由本地存储节点和远程存储节点组成的存储有文件数据和文件系统管理数据的存储系统,其中,所述远程存储节点通过网络与所述本地存储节点连接,所述远程存储节点用于存储远程文件数据和文件系统管理数据;所述本地存储节点用于存储本地文件数据和与所述远程存储节点中相同的文件系统管理数据;所述存储系统由至少一台主机构成,每台主机至少包括中央处理器以及由动态随机存取存储器和非易失性随机存储器组成的存储架构,其中,各主机的存储架构中的各动态随机存取存储器和各非易失性随机存储。
21、器采用统说明书CN104077084A2/10页7一物理地址编址;0007所述分布式随机访问文件系统至少包括进程管理模块,与所述进程管理模块连接的查询判断模块,以及与所述查询判断模块连接的寻址访问模块;其中0008进程管理模块,用于在用户请求打开、关闭和读/写被访问文件时,管理进程对所述被访问文件的打开、关闭和读/写操作;以及用于当所述进程打开所述被访问文件时,在进程虚拟地址空间中为所述被访问文件分配逻辑地址空间、文件数据指针和映射表;其中,所述文件数据指针指向所述进程管理模块在所述进程虚拟地址空间中为所述被访问文件分配的逻辑地址空间中的起始逻辑地址,所述被访问文件数据的逻辑地址的寻址基于所述。
22、文件数据指针和所述被访问文件数据的读/写请求中的偏移量实现;其中,所述映射表初始化为空表,且所述映射表用于保存所述被访问文件数据的逻辑地址与其所在的物理地址间的映射关系;当所述进程关闭所述文件时,调用所述清除模块;当所述进程读/写所述被访问文件时,调用所述查询判断模块;0009查询判断模块,用于查询所述映射表,并判断所述被访问文件数据的逻辑地址与其所在的物理地址间是否存在映射关系;在所述被访问文件数据的逻辑地址与其所在的物理地址间存在映射关系时,调用所述寻址访问模块;0010寻址访问模块,用于根据所述被访问文件数据的逻辑地址寻址到所述被访问文件数据的物理地址,所述进程基于所述被访问文件数据的物。
23、理地址原位读/写所述被访问文件数据。0011优选地,所述分布式随机访问文件系统还包括与所述查询判断模块连接的检索判断模块,与所述检索判断模块连接的中断模块,以及与所述中断模块、所述寻址访问模块连接的建立模块;其中0012检索判断模块,用于在所述被访问文件数据的逻辑地址与其所在的物理地址间不存在映射关系时,检索并判断所述被访问文件数据是否存储于所述本地存储节点的非易失性随机存储器中;在所述被访问文件数据存储于所述本地存储节点的非易失性随机存储器中时,调用中断模块;在所述被访问文件数据不存储于所述本地存储节点的非易失性随机存储器中时,继续判断所述被访问文件数据是否存储于所述本地存储节点的动态随机存。
24、取存储器中;在所述被访问文件数据存储于所述本地存储节点的动态随机存取存储器中时,调用所述中断模块;0013中断模块,用于调用系统中断函数,并向所述建立模块发送系统中断通知;0014建立模块,用于当接收到所述中断模块发出的系统中断后,在所述被访问文件数据存储于所述本地存储节点的非易失性随机存储器中时,以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中物理地址间的映射关系,然后调用所述寻址访问模块;或者,在所述被访问文件数据存储于所述本地存储节点的动态随机存取存储器中时,以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器。
25、中的物理地址间的映射关系,然后调用所述寻址访问模块。0015优选地,所述分布式随机访问文件系统还包括与所述检索判断模块、所述中断模块连接的获取模块;其中0016获取模块,用于在所述被访问文件数据不存储于所述本地存储节点的动态随机存说明书CN104077084A3/10页8取存储器中时,根据所述文件系统管理数据确定存储所述被访问文件数据的远程存储节点,通过网络从所述远程存储节点中获取所述被访问文件数据,并存储于所述本地存储节点的动态随机存取存储器中,然后调用中断模块。0017优选地,所述分布式随机访问文件系统还包括与所述寻址访问模块连接的锁定/解锁模块;其中0018锁定/解锁模块,用于在所述进程。
26、响应所述被访问文件数据的写请求时,锁定所述被访问文件中相应的数据页,并判断锁定是否成功,若否,则等待所述被访问文件中相应的数据页解锁,重复判断锁定是否成功;若是,则修改所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为锁定状态;或者,用于解锁被锁定的被访问文件中相应的数据页,更新所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为解锁状态。0019优选地,所述分布式随机访问文件系统还包括与所述进程管理模块连接的清除模块;其中0020清除模块,用于在所述进程关闭所述被访问文件时,清除所述被访问文件数据的逻辑地址与其所在的物理地址间已建立的所有映射,并销毁。
27、所述文件数据指针。0021优选地,所述映射表中至少包括所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中的物理地址间的映射,或者所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器中的物理地址间的映射。0022本发明还提供一种如上所述的分布式随机访问文件系统的访问控制方法,其中,所述分布式随机访问文件系统的访问控制方法至少包括0023在用户请求打开、关闭和读/写被访问文件时,由所述进程管理模块管理进程对所述被访问文件的打开、关闭和读/写操作;0024当所述进程打开所述被访问文件时,由所述进程管理模块在进程虚拟地址空间中为所述被访问文件分配逻辑地址空间。
28、、文件数据指针和映射表;其中,所述文件数据指针指向所述进程管理模块在所述进程虚拟地址空间中为所述被访问文件分配的逻辑地址空间中的起始逻辑地址,所述被访问文件数据的逻辑地址的寻址基于所述文件数据指针和所述被访问文件数据的读/写请求中的偏移量实现;其中,所述映射表初始化为空表,且所述映射表用于保存所述被访问文件数据的逻辑地址与其所在的物理地址间的映射关系;0025当所述进程关闭所述文件时,由所述进程管理模块调用所述清除模块;0026当所述进程读/写所述被访问文件时,由所述进程管理模块调用所述查询判断模块;由所述查询判断模块查询所述映射表,并判断所述被访问文件数据的逻辑地址与其所在的物理地址间是否存。
29、在映射关系;在所述被访问文件数据的逻辑地址与其所在的物理地址间存在映射关系时,调用所述寻址访问模块;由所述寻址访问模块根据所述被访问文件数据的逻辑地址寻址到所述被访问文件数据的物理地址,所述进程基于所述被访问文件数据的物理地址原位读/写所述被访问文件数据。0027优选地,所述分布式随机访问文件系统的访问控制方法还包括0028在所述被访问文件数据的逻辑地址与其所在的物理地址间不存在映射关系时,由所述检索判断模块检索并判断所述被访问文件数据是否存储于所述本地存储节点的非易失性随机存储器中;在所述被访问文件数据存储于所述本地存储节点的非易失性随机存储说明书CN104077084A4/10页9器中时,。
30、调用中断模块;在所述被访问文件数据不存储于所述本地存储节点的非易失性随机存储器中时,继续判断所述被访问文件数据是否存储于所述本地存储节点的动态随机存取存储器中;在所述被访问文件数据存储于所述本地存储节点的动态随机存取存储器中时,调用所述中断模块;0029由所述中断模块调用系统中断函数,并向所述建立模块发送系统中断通知;0030当接收到所述中断模块发出的系统中断后,在所述被访问文件数据存储于所述本地存储节点的非易失性随机存储器中时,由所述建立模块以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中物理地址间的映射关系,然后调用所述寻址访问模块;或者,在所述。
31、被访问文件数据存储于所述本地存储节点的动态随机存取存储器中时,由所述建立模块以数据页形式建立所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器中的物理地址间的映射关系,然后调用所述寻址访问模块。0031优选地,所述分布式随机访问文件系统的访问控制方法还包括0032在所述被访问文件数据不存储于所述本地存储节点的动态随机存取存储器中时,由所述获取模块根据所述文件系统管理数据确定存储所述被访问文件数据的远程存储节点,通过网络从所述远程存储节点中获取所述被访问文件数据,并存储于所述本地存储节点的动态随机存取存储器中,然后调用中断模块。0033优选地,所述分布式随机访问文件系统的访问。
32、控制方法还包括0034在所述进程响应所述被访问文件数据的写请求时,由所述锁定/解锁模块锁定所述被访问文件中相应的数据页,并判断锁定是否成功,若否,则等待所述被访问文件中相应的数据页解锁,重复判断锁定是否成功;若是,则修改所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为锁定状态。0035优选地,所述分布式随机访问文件系统的访问控制方法还包括0036由所述锁定/解锁模块解锁被锁定的被访问文件中相应的数据页,更新所述文件系统管理数据,将所述被访问文件中相应数据页的访问锁定标识符标记为解锁状态。0037优选地,所述分布式随机访问文件系统的访问控制方法还包括0038在所述进程关闭。
33、所述被访问文件时,由所述清除模块清除所述被访问文件数据的逻辑地址与其所在的物理地址间已建立的所有映射,并销毁所述文件数据指针。0039优选地,所述映射表中至少包括所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的非易失性随机存储器中的物理地址间的映射,或者所述被访问文件数据的逻辑地址与其所在的所述本地存储节点的动态随机存储器中的物理地址间的映射。0040如上所述,本发明的分布式随机访问文件系统及其访问控制方法,具有以下有益效果0041本发明在由动态随机存取存储器和非易失性随机存储器组成的新型存储架构下,管理文件系统及控制文件访问,能够在内存的进程虚拟地址空间中为被访问文件分配逻辑地址空间。
34、,同时为文件数据访问提供地址指针和映射表,实现了进程以内存映射方式访问文件数据,能够快速地随机访问本地或远程文件数据,充分发挥了新型非易失存储器随机访问的优势,提高了文件的读、写访问速度,节省了有限的动态随机存取存储器资源,从而提高了系统I/O性能,实现了进程对文件数据的快速访问。说明书CN104077084A5/10页10附图说明0042图1显示为本发明第一实施方式的分布式随机访问文件系统的模块示意图。0043图2显示为本发明第二实施方式的分布式随机访问文件系统的访问控制方法中进程读被访问文件时的流程示意图。0044图3显示为本发明第二实施方式的分布式随机访问文件系统的访问控制方法中进程写被。
35、访问文件时的流程示意图。0045元件标号说明00461进程管理模块00472查询判断模块00483寻址访问模块00494检索判断模块00505中断模块00516建立模块00527获取模块00538锁定/解锁模块00549清除模块具体实施方式0055以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。0056请参阅图1和图2,本发明第一实施方式涉及一种分布式随机访问文件系统,应用于由本地存储。
36、节点和远程存储节点组成的存储有文件数据和文件系统管理数据的存储系统,其中,远程存储节点通过网络与本地存储节点连接,远程存储节点用于存储远程文件数据和文件系统管理数据;本地存储节点用于存储本地文件数据和与远程存储节点中相同的文件系统管理数据;存储系统由至少一台主机构成,每台主机至少包括CPU以及由动态随机存取存储器和非易失性随机存储器组成的存储架构,其中,各主机的存储架构中的各动态随机存取存储器和各非易失性随机存储器采用统一物理地址编址。0057此外,每台主机还具有其各自的本地文件系统,若存储系统由N台主机构成,其中,N为自然数,那么根据数据存储管理的需求,将文件数据分布存储在N台主机的非易失随。
37、机存储器中,并反映在其各自的本地文件系统中。每台主机的非易失随机存储器除了存储有本实施方式的分布式随机访问文件系统的部分文件数据外,还存储有本实施方式的分布式随机访问文件系统的所有文件数据的文件系统管理数据。从其他主机获取的文件数据可缓存于本地存储节点的主机的动态随机存取存储器中。用户可以随机访问本实施方式的分布式随机访问文件系统的文件数据,访问操作至少包括打开、关闭和读/写被访问文件。在本实施方式中,将用户在请求打开、关闭和读/写被访问文件时所使用的主机视为本地主机,相应的,其他主机视为远程主机。本地存储节点由单独的本地主机构成,本地存储节说明书CN104077084A106/10页11点的。
38、非易失随机存储器用于存储本地文件数据,本地存储节点的动态随机存取存储器用于缓存远程文件数据;远程存储节点由单独的远程主机构成,远程存储节点用于存储远程文件数据。用户通过本地主机可以随机访问本地存储节点中存储的本地文件数据,还可以基于文件系统管理数据实现对远程存储节点中存储的远程文件数据的访问。0058需要说明的是,本实施方式中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。0059如图1所示,分布式随机访问文件系统至少包括进程管理。
39、模块11,与进程管理模块11连接的查询判断模块22,以及与查询判断模块22连接的寻址访问模块33;其中0060进程管理模块1,用于在用户请求打开、关闭和读/写被访问文件时,管理进程对被访问文件的打开、关闭和读/写操作;以及用于当进程打开被访问文件时,在进程虚拟地址空间中为被访问文件分配逻辑地址空间、文件数据指针和映射表;其中,文件数据指针指向进程管理模块1在进程虚拟地址空间中为被访问文件分配的逻辑地址空间中的起始逻辑地址,被访问文件数据的逻辑地址的寻址是基于文件数据指针和被访问文件数据的读/写请求中的偏移量实现的;其中,映射表初始化为空表,且映射表用于保存被访问文件数据的逻辑地址与其所在的物理。
40、地址间的映射关系;当进程关闭文件时,调用清除模块;当进程读/写被访问文件时,调用查询判断模块2。0061由于读/写请求中所请求访问的被访问文件数据的逻辑地址相对于文件数据指针指向的起始逻辑地址具有相应的偏移量,因此,在进程响应被访问文件数据的读/写请求时,被访问文件数据的逻辑地址只需要通过将文件数据指针加上该相应的偏移量就能实现寻址。0062查询判断模块2,用于查询映射表,并判断被访问文件数据的逻辑地址与其所在的物理地址间是否存在映射关系;在被访问文件数据的逻辑地址与其所在的物理地址间存在映射关系时,调用寻址访问模块3。0063寻址访问模块3,用于根据被访问文件数据的逻辑地址寻址到被访问文件数。
41、据的物理地址,进程基于被访问文件数据的物理地址原位读/写被访问文件数据。即进程直接从寻址到的被访问文件数据的物理地址中读/写被访问文件数据。0064在本实施方式中,映射表中至少包括被访问文件数据的逻辑地址与其所在的本地存储节点的非易失性随机存储器中的物理地址间的映射,或者被访问文件数据的逻辑地址与其所在的本地存储节点的动态随机存储器中的物理地址间的映射。0065另外,被访问文件均基于数据页为单位建立被访问文件数据的逻辑地址与其所在的物理地址间的映射关系。0066优选地,本实施方式的分布式随机访问文件系统还包括与查询判断模块2连接的检索判断模块4,与检索判断模块4连接的中断模块5,以及与中断模块。
42、5、寻址访问模块3连接的建立模块6;其中0067检索判断模块4,用于在被访问文件数据的逻辑地址与其所在的物理地址间不存在映射关系时,检索并判断被访问文件数据是否存储于本地存储节点的非易失性随机存储器中;在被访问文件数据存储于本地存储节点的非易失性随机存储器中时,调用中断模块说明书CN104077084A117/10页125;在被访问文件数据不存储于本地存储节点的非易失性随机存储器中时,继续判断被访问文件数据是否存储于本地存储节点的动态随机存取存储器中;在被访问文件数据存储于本地存储节点的动态随机存取存储器中时,调用中断模块5;0068中断模块5,用于调用系统中断函数,并向建立模块6发送系统中断。
43、通知;0069建立模块6,用于当接收到中断模块5发出的系统中断后,在被访问文件数据存储于本地存储节点的非易失性随机存储器中时,以数据页形式建立被访问文件数据的逻辑地址与其所在的本地存储节点的非易失性随机存储器中物理地址间的映射关系,然后调用寻址访问模块3;或者,在被访问文件数据存储于本地存储节点的动态随机存取存储器中时,以数据页形式建立被访问文件数据的逻辑地址与其所在的本地存储节点的动态随机存储器中的物理地址间的映射关系,然后调用寻址访问模块3。0070优选地,本实施方式的分布式随机访问文件系统还包括与检索判断模块4、中断模块5连接的获取模块7,用于在被访问文件数据不存储于本地存储节点的动态随。
44、机存取存储器中时,根据文件系统管理数据确定存储被访问文件数据的远程存储节点,通过网络从远程存储节点中获取被访问文件数据,并存储于本地存储节点的动态随机存取存储器中,然后调用中断模块5。0071在本实施方式中,判断被访问文件数据是否存储于本地存储节点的非易失性随机存储器中,也就是判断被访问文件数据是否为存储在本地存储节点中的本地文件数据,若被访问文件数据是本地文件数据,则能够直接建立映射。而判断被访问文件数据是否存储于本地存储节点的动态随机存取存储器中,也就是判断被访问文件数据是否为已经从远程存储节点获取来的远程文件数据,若是,则能够直接建立映射;若否,则说明被访问文件数据仍然位于远程存储节点,。
45、需要通过网络协议获取数据,并保存于本地高速缓存、也就是本地存储节点的动态随机存取存储器中,并同样与被访问文件数据的逻辑地址建立映射关系,保证进程的正常访问。0072优选地,本实施方式的分布式随机访问文件系统还包括与寻址访问模块3连接的锁定/解锁模块8,用于在进程响应被访问文件数据的写请求时,锁定被访问文件中相应的数据页,并判断锁定是否成功,若否,则等待被访问文件中相应的数据页解锁,重复判断锁定是否成功;若是,则修改文件系统管理数据,将被访问文件中相应数据页的访问锁定标识符标记为锁定状态;或者,用于解锁被锁定的被访问文件中相应的数据页,更新文件系统管理数据,将被访问文件中相应数据页的访问锁定标识。
46、符标记为解锁状态。0073多个进程同时对同一段被访问文件数据写操作时,采用锁定/解锁模块8,启动文件锁定解锁机制,实现文件系统管理数据的同步更新。同一段被访问文件数据在任一时刻只能被一个进程锁定,锁定成功后,该进程获得写权限。未锁定该数据段的其他进程可获得读权限。0074优选地,本实施方式的分布式随机访问文件系统还包括与进程管理模块1连接的清除模块,用于在进程关闭被访问文件时,清除被访问文件数据的逻辑地址与其所在的物理地址间已建立的所有映射,并销毁文件数据指针。0075在本实施方式中,非易失性随机存储器为相变存储器PCRAM,PHASECHANGERANDOMACCESSMEMORY、阻变存储。
47、器RRAM、磁存储器MRAM,MAGNETICRANDOMACCESSMEMORY或者铁电存储器FERAM中的一种或几种。说明书CN104077084A128/10页130076本实施方式的分布式随机访问文件系统,在由动态随机存取存储器和非易失性随机存储器组成的新型存储架构下,管理文件系统及控制文件访问,能够在内存的进程虚拟地址空间中为被访问文件分配逻辑地址空间,同时为文件数据访问提供地址指针和映射表,实现了进程以内存映射方式访问文件数据,充分发挥了新型非易失存储器随机访问的优势,提高了文件的读写访问速度,节省了有限的DRAM资源,从而提高了系统I/O性能,实现进程对文件数据的快速访问。007。
48、7值得一提的是,本实施方式中所涉及到的各模块均为逻辑模块,在实际应用中,一个逻辑单元可以是一个物理单元,也可以是一个物理单元的一部分,还可以以多个物理单元的组合实现。此外,为了突出本发明的创新部分,本实施方式中并没有将与解决本发明所提出的技术问题关系不太密切的单元引入,但这并不表明本实施方式中不存在其它的单元。0078本发明第二实施方式涉及一种采用第一实施方式的如图1所示的分布式随机访问文件系统的访问控制方法,分布式随机访问文件系统的访问控制方法至少包括0079在用户请求打开、关闭和读/写被访问文件时,由进程管理模块1管理进程对被访问文件的打开、关闭和读/写操作。0080当进程打开被访问文件时。
49、,由进程管理模块1在进程虚拟地址空间中为被访问文件分配逻辑地址空间、文件数据指针和映射表;其中,文件数据指针指向进程管理模块1在进程虚拟地址空间中为被访问文件分配的逻辑地址空间中的起始逻辑地址,被访问文件数据的逻辑地址的寻址是基于文件数据指针和被访问文件数据的读/写请求中的偏移量实现的;其中,映射表初始化为空表,且映射表用于保存被访问文件数据的逻辑地址与其所在的物理地址间的映射关系;当进程关闭文件时,由进程管理模块1调用清除模块。0081如图2所示为进程读被访问文件时的流程图,如图3所示为进程写被访问文件时的流程图;当进程读/写被访问文件时,由进程管理模块1调用查询判断模块2;由查询判断模块2。
50、查询映射表,并判断被访问文件数据的逻辑地址与其所在的物理地址间是否存在映射关系;在被访问文件数据的逻辑地址与其所在的物理地址间存在映射关系时,调用寻址访问模块3;由寻址访问模块3根据被访问文件数据的逻辑地址寻址到被访问文件数据的物理地址,进程基于被访问文件数据的物理地址原位读/写被访问文件数据。0082如图2和图3所示,本实施方式的分布式随机访问文件系统的访问控制方法还包括0083在被访问文件数据的逻辑地址与其所在的物理地址间不存在映射关系时,由检索判断模块4检索并判断被访问文件数据是否存储于本地存储节点的非易失性随机存储器以PCRAM为例中;在被访问文件数据存储于本地存储节点的非易失性随机存。