[发明专利]一种用于内存文件系统的文件数据一致性更新方法有效
申请号: | 201510773274.9 | 申请日: | 2015-11-13 |
公开(公告)号: | CN105404667B | 公开(公告)日: | 2018-08-24 |
发明(设计)人: | 沙行勉;陈咸彰;诸葛晴凤;孙志龙;陈俊熹 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 重庆大学专利中心 50201 | 代理人: | 唐开平 |
地址: | 400044 *** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 内存 文件系统 文件 数据一致性 更新 方法 | ||
本发明公开了一种用于内存文件系统的文件数据一致性更新方法,包括以下步骤:1,在进程初始化时,系统在内核空间为进程打开一个伪文件;2,进程请求更新“目标文件”,内存文件系统按照需要更新的数据量,一次性分配全部所需的物理内存给伪文件;3,构建伪文件中索引数据页的数据结构,称为“数据索引”;4,调用一次数据拷贝函数,把新数据一次性全部写入伪文件;5,使用一个原子操作,把伪文件的数据索引插入目标文件的数据索引中相应的位置;6,进程结束,删除该进程对应的伪文件。本发明的优点是:对于数据量较大的更新操作,避免了大量数据拷贝函数调用以及原子操作,可以在保证文件数据更新一致性的情况达到较高的性能。
技术领域
本发明属于计算机系统软件领域,具体涉及一种保证内存文件系统文件数据更新一致性的方法。
背景技术
内存文件系统
随着新型非易失性存储器的出现,企业界和学术界提出将存储密度大、读写速度快、可按字节寻址和抗震动的非易失性内存制作为持久性的数据存储设备,称为存储级内存(Storage Class Memory,简称SCM)。为了管理这种存储级内存,已经设计出多种内存文件系统。例如IBM设计的PMFS, “System software for persistent memory,” in Proc.9th ACM Euro. Conf. Comput. Syst., pp 15:1—15:15, 2014, ISBN: 978-1-4503-2704-6。(“面向持久性内存的系统软件”,第9届美国计算机学会欧洲计算机系统会议,第15篇1到15页,2014年,ISBN: 978-1-4503-2704-6),重庆大学自主研发的SIMFS,“Designingan Efficient Persistent In-Memory File System”,2015 IEEE
在内存文件系统SIMFS中,文件的数据都存放在物理内存页面上。这种存放文件数据的物理内存页面称为“数据页”。所有文件都使用类似系统页表的数据结构组织其数据页,该数据结构称为“文件页表”。每当进程打开内存文件系统SIMFS中的一个文件时,文件系统通过以下三步将文件映射到系统的虚拟地址空间中:
1)给文件分配一段足够大的空闲系统虚拟地址空间;
2)找到这段虚拟地址空间对应的系统页表项;
3)把文件的文件页表插入到第2步中的系统页表项。
此后,文件所管理的物理内存就直接映射到系统的虚拟地址空间,进程可以通过系统虚拟地址空间连续访问文件的数据页。传输数据的过程只需要一次数据拷贝,从而获得较高的文件系统性能。
数据一致性更新技术
在文件系统中更新数据时,例如用写操作向文件中写数据时,需要保证数据的一致性,即文件的元数据中引用的数据页必须属于该文件,而不是垃圾数据,或者其他文件的数据页。文件数据的一致性对文件系统的正确运行至关重要。然而,对内存文件系统而言,不仅需要保证文件数据更新的一致性,还需要利用内存文件系统的特点,尽可能地减少维持数据一致性导致的性能损耗。
目前,内存文件系统中使用的数据一致性更新技术主要有两种:
1.现有技术一:写时复制(Copy-on-write)技术
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510773274.9/2.html,转载请声明来源钻瓜专利网。