[发明专利]一种用户态文件系统处理方法有效
申请号: | 201811126703.3 | 申请日: | 2018-09-26 |
公开(公告)号: | CN109445685B | 公开(公告)日: | 2020-06-30 |
发明(设计)人: | 姚杰;张一凡;严文瑞;曹强 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F3/06 | 分类号: | G06F3/06;G06F16/13;G06F16/188 |
代理公司: | 华中科技大学专利中心 42201 | 代理人: | 曹葆青;李智 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用户 文件系统 处理 方法 | ||
1.一种用户态文件系统请求的处理方法,用于处理对用户态文件系统中实际文件的读/写请求,其特征在于,包括如下步骤:
(1)判断请求类型,若为实际文件写请求,则转入步骤(2);若为实际文件读请求,则转入步骤(4);
(2)向内核守护进程发送数据写请求,以使得内核守护进程直接将待写入的数据写入数据文件中,并根据被访问实际文件与数据文件之间的映射关系建立映射表;
(3)向内核守护进程发送元数据写请求,以使得内核守护进程将所建立的映射表写入元数据文件中;所述实际文件写请求处理结束;
(4)向内核守护进程发送元数据读请求,以使得内核守护进程从元数据文件中读取映射表;
(5)向内核守护进程发送数据读请求,以使得内核守护进程根据所读取的映射表直接从数据文件中读取所请求的数据;所述实际文件读请求处理结束;
其中,映射表包括一个或多个映射表项,每一个映射表项对应一个数据文件,用于记录实际文件中全部或部分数据在该数据文件中的存储位置和数据长度;所述实际文件为用户态文件系统中的文件,所述数据文件为内核态文件系统中存储被访问数据的文件,所述元数据文件为内核态文件系统中存储被访问数据的属性及存储位置的文件。
2.如权利要求1所述的用户态文件系统请求的处理方法,其特征在于,所述步骤(2)包括如下步骤:
(21)判断用户态文件系统的文件映射规则,若为一个实际文件对应一个数据文件,则转入步骤(22);若为一个实际文件对应多个数据文件,则转入步骤(23);若为多个实际文件对应一个数据文件,则转入步骤(25);
(22)打开一个数据文件并写入全部待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;转入步骤(26);
(23)打开一个数据文件并写入部分待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;
(24)重复执行步骤(23),直至全部待写入的数据均写入数据文件;转入步骤(26);
(25)打开被访问文件所对应的数据文件,并从指定的文件偏移位置开始写入全部待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;转入步骤(26);
(26)建立包含所生成的映射表项的映射表。
3.如权利要求1所述的用户态文件系统请求的处理方法,其特征在于,所述步骤(3)中,使得内核守护进程将所建立的映射表写入元数据文件中,包括如下步骤:
(31)由内核守护进程将所述元数据写请求和所建立的映射表均传递到用户态文件系统接口;
(32)判断内核文件系统中是否存在被访问实际文件对应的元数据文件,若是,则由用户态文件系统接口利用该映射表更新该元数据文件;否则,创建该元数据文件,并由用户态文件系统接口将该映射表写入该元数据文件中。
4.如权利要求1所述的用户态文件系统请求的处理方法,其特征在于,所述步骤(4)包括如下步骤:
(41)由内核守护进程将所述元数据读请求传递到用户态文件系统接口;
(42)由用户态文件系统接口从被访问实际文件所对应的元数据文件中读取映射表;若用户态文件系统的文件对应规则为一个实际文件对应一个数据文件或者多个实际文件对应一个数据文件,则所读取的映射表中包含一个映射表项;若用户态文件系统的文件对应规则为一个实际文件对应多个数据文件,则所读取的映射表中包含多个映射表项。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811126703.3/1.html,转载请声明来源钻瓜专利网。