CN109445685A - 一种用户态文件系统处理方法 - Google Patents

一种用户态文件系统处理方法 Download PDF

Info

Publication number
CN109445685A
CN109445685A CN201811126703.3A CN201811126703A CN109445685A CN 109445685 A CN109445685 A CN 109445685A CN 201811126703 A CN201811126703 A CN 201811126703A CN 109445685 A CN109445685 A CN 109445685A
Authority
CN
China
Prior art keywords
file
data
user space
data file
mapping
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811126703.3A
Other languages
English (en)
Other versions
CN109445685B (zh
Inventor
姚杰
张凡
张一凡
严文瑞
曹强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN201811126703.3A priority Critical patent/CN109445685B/zh
Publication of CN109445685A publication Critical patent/CN109445685A/zh
Application granted granted Critical
Publication of CN109445685B publication Critical patent/CN109445685B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/0643Management of files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0662Virtualisation aspects
    • G06F3/0667Virtualisation aspects at data level, e.g. file, record or object virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种用户态文件系统请求的处理方法,包括:若为实际文件写请求,则先向内核守护进程发送数据写请求,以使得内核守护进程直接将待写入的数据写入数据文件中,并根据被访问实际文件与数据文件之间的映射关系建立映射表;然后向内核守护进程发送元数据写请求,以使得内核守护进程将所建立的映射表写入元数据文件中;若为实际文件读请求,则先向内核守护进程发送元数据读请求,以使得内核守护进程从元数据文件中读取映射表;然后向内核守护进程发送数据读请求,以使得内核守护进程根据所读取的映射表直接从数据文件中读取所请求的数据。本发明能够减少读/写数据文件过程中用户态和内核态之间的切换次数,提高数据传输性能。

Description

一种用户态文件系统处理方法
技术领域
本发明属于计算机操作系统文件系统领域,更具体地,涉及一种用户态文件系统的处理方法。
背景技术
用户态文件系统是一种区别于常规内核文件系统(诸如EXT4、NTFS等)的文件系统实现方式。用户态文件系统的代码运行在用户态,由一个内核态守护进程来实现与真正的内核接口的沟通。用户态文件系统框架便于开发、维护和移植,因此,在实验和工业界中都得到了广泛的使用。
用户态文件系统实现的文件系统操作是堆叠在下层的内核文件系统之上,每一个文件对应下层内核态文件系统中的两个文件:数据文件和元数据文件,其中数据文件存储有被访问的数据,元数据文件存储有被访问数据的属性信息,可用于获取被访问数据在数据文件中的存储位置;处理用户态文件系统请求的过程中,涉及到这两个文件的读/写操作。相比于内核态文件系统,用户态文件系统每一次操作都会带来一次额外的用户态和内核态的切换,频繁的切换则会导致数据传输的性能降低。
为了在处理用户态文件系统请求的过程中提高数据传输的性能,现有的解决方法包括:(1)增加每次数据传输的数据量,从而减少数据传输时的用户态与内核态的切换次数;(2)映射内核态和用户态的内存空间,减少数据传输时的内存拷贝。以上方法能够在一定程度上提高数据的传输性能,但是并没有解决本质的问题:数据传输时的用户态与内核态切换之间的频繁切换仍然存在。
发明内容
针对现有技术的缺陷和改进需求,本发明提供了一种用户态文件系统请求的处理方法,其目的在于,在处理用户态文件系统请求时减少读/写数据文件过程中用户态和内核态之间的切换次数,从而提高数据传输性能。
为实现上述目的,本发明提供了一种用户态文件系统请求的处理方法,用于处理对用户态文件系统中实际文件的读/写请求,包括如下步骤:
(1)判断请求类型,若为实际文件写请求,则转入步骤(2);若为实际文件读请求,则转入步骤(4);
(2)向内核守护进程发送数据写请求,以使得内核守护进程直接将待写入的数据写入数据文件中,并根据被访问实际文件与数据文件之间的映射关系建立映射表;
(3)向内核守护进程发送元数据写请求,以使得内核守护进程将所建立的映射表写入元数据文件中;实际文件写请求处理结束;
(4)向内核守护进程发送元数据读请求,以使得内核守护进程从元数据文件中读取映射表;
(5)向内核守护进程发送数据读请求,以使得内核守护进程根据所读取的映射表直接从数据文件中读取所请求的数据;实际文件读请求处理结束;
其中,映射表包括一个或多个映射表项,每一个映射表项对应一个数据文件,用于记录实际文件中全部或部分数据在该数据文件中的存储位置和数据长度。
进一步地,步骤(2)包括如下步骤:
(21)判断用户态文件系统的文件映射规则,若为一个实际文件对应一个数据文件,则转入步骤(22);若为一个实际文件对应多个数据文件,则转入步骤(23);若为多个实际文件对应一个数据文件,则转入步骤(25);
(22)打开一个数据文件并写入全部待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;转入步骤(26);
(23)打开一个数据文件并写入部分待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;
(24)重复执行步骤(23),直至全部待写入的数据均写入数据文件;转入步骤(26);
(25)打开被访问文件所对应的数据文件,并从指定的文件偏移位置开始写入全部待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;转入步骤(26);
(26)建立包含所生成的映射表项的映射表。
进一步地,步骤(3)中,使得内核守护进程将所建立的映射表写入元数据文件中,包括如下步骤:
(31)由内核守护进程将元数据写请求和所建立的映射表均传递到用户态文件系统接口;
(32)判断内核文件系统中是否存在被访问实际文件对应的元数据文件,若是,则由用户态文件系统接口利用该映射表更新该元数据文件;否则,创建该元数据文件,并由用户态文件系统接口将该映射表写入该元数据文件中。
进一步地,步骤(4)包括如下步骤:
(41)由内核守护进程将元数据读请求传递到用户态文件系统接口;
(42)由用户态文件系统接口从被访问实际文件所对应的元数据文件中读取映射表;若用户态文件系统的文件对应规则为一个实际文件对应一个数据文件或者多个实际文件对应一个数据文件,则所读取的映射表中包含一个映射表项;若用户态文件系统的文件对应规则为一个实际文件对应多个数据文件,则所读取的映射表中包含多个映射表项。
进一步地,步骤(5)中,使得内核守护进程根据所读取的映射表直接从数据文件中读取所请求的数据,包括如下步骤:
(51)判断用户态文件系统的文件映射规则,若为一个实际文件对应一个数据文件,则转入步骤(52);若为一个实际文件对应多个数据文件,则转入步骤(53);若为多个实际文件对应一个数据文件,则转入步骤(55);
(52)根据映射表中的映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取全部被请求的数据;
(53)根据映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取部分被请求的数据;
(54)遍历映射表,对于每一个映射表项执行步骤(53),从而得到全部被请求的数据;
(55)根据映射表中的映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取全部被请求的数据。
进一步地,映射表项记录的内容包括:文件名,用于标识对应的数据文件;文件偏移值,用于记录实际文件中全部或部分数据在该数据文件中的存储位置;以及数据长度,用于记录实际文件中存储于该数据文件中的数据长度。
总体而言,通过本发明所构思的以上技术方案,能够取得以下有益效果:
(1)本发明所提供的用户态文件系统请求的处理方法,通过映射表来记录被访问实际文件与数据文件之间的映射关系,并将映射表保存在元数据文件中,在处理数据写请求或数据读请求时,由内核守护进程直接通过访问数据文件完成,由于读/写数据文件时均不通过用户态文件系统接口,因此能够减少一次用户态与内核态的来回切换,从而提升文件系统的IO带宽,加速文件系统访问速度,提高了数据传输的整体性能。
(2)本发明所提供的用户态文件系统请求的处理方法,在其优选方案中,内核守护进程访问元数据文件以完成数据读/写时,均使用标准的用户态文件系统接口,即保留了原有的元数据文件的访问接口,由此保证了对上层用户态程序具有良好的兼容性。
附图说明
图1为现有的用户态文件系统元数据访问的示意图;
图2为本发明实施例提供的用户态文件系统请求的处理方法流程图;
图3为本发明实施例提供的处理数据写请求的方法流程图;
图4为本发明实施例提供的处理数据读请求的方法流程图;
图5为本发明实施例提供的用户态文件系统数据访问的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在详细解释本发明的技术方案之前,先对本发明中相关术语的含义进行简单说明:
实际文件:用户态文件系统中的文件,用户态程序所访问的直接对象,一个实际文件与一个元数据文件以及一个或多个数据文件相对应;
数据文件:用户态文件系统中的文件,其中存储有被访问的数据;
元数据文件:用户态文件系统中的文件,存储有被访问数据的属性信息,可用于获取被访问数据在数据文件中的存储位置;
用户态文件系统请求:对用户态文件系统中实际文件的读/写请求,由用户态程序发出;一个用户态文件系统请求的处理会涉及到被访问实际文件所对应的数据文件及元数据文件的读/写操作;
数据写请求:用于将数据写入数据文件;
元数据写请求:用于写入或更新元数据文件;
元数据读请求:用于读取元数据文件;
数据读请求:用于从元数据文件中读取数据。
传统的用户态文件系统请求的处理方法中,元数据访问及数据访问的过程均包含“用户态”→“内核态”→“用户态”→“内核态”→“用户态”的切换过程,共两次来回切换。以元数据写请求为例,如图1所示,用户态程序发出用户态文件系统写请求后,在用户态向内核态发送元数据写请求,此为第一次切换;元数据写请求经由内核态的虚拟文件系统(VFS)传递至内核守护进程后,由内核守护进程将元数据写请求传递至用户态文件系统接口,此为第二次切换;通过用户态文件系统接口将实际文件的属性信息写入内核态文件系统中的元数据文件,此为第三次切换;元数据写入完成后,内核态文件系统将写入结果返回给内核守护进程,并进一步通过VFS将写入结果返回给用户态文件系统,此为第四次切换;其中,从“用户态”切换到“内核态”,再从“内核态”切换回“用户态”,称为一次来回切换。元数据读请求与元数据写请求的过程类似,只是对元数据文件所执行的操作为读操作;数据写请求和数据读请求分别与元数据写请求和元数据读请求的过程类似,只是所操作的对象为内核态文件系统的数据文件,在此不再赘述。
本发明所提供的用户态文件系统请求的处理方法,其整体思路在于:在读/写数据文件时均不通过用户态文件系统接口,而是由内核守护进程直接通过访问数据文件完成,以减少一次用户态与内核态的来回切换,从而提升文件系统的IO带宽,加速文件系统访问速度,提高数据传输的整体性能。
本发明所提供的用户态文件系统请求的处理方法,如图2所示,包括如下步骤:
(1)判断请求类型,若为实际文件写请求,则转入步骤(2);若为实际文件读请求,则转入步骤(4);
(2)向内核守护进程发送数据写请求,以使得内核守护进程直接将待写入的数据写入数据文件中,并根据被访问实际文件与数据文件之间的映射关系建立映射表;
在一个可选的实施方式中,如图3所示,步骤(2)具体包括如下步骤:
(21)判断用户态文件系统的文件映射规则,若为一个实际文件对应一个数据文件,则转入步骤(22);若为一个实际文件对应多个数据文件,则转入步骤(23);若为多个实际文件对应一个数据文件,则转入步骤(25);
(22)打开一个数据文件并写入全部待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;转入步骤(26);
(23)打开一个数据文件并写入部分待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;
(24)重复执行步骤(23),直至全部待写入的数据均写入数据文件;转入步骤(26);
(25)打开被访问文件所对应的数据文件,并从指定的文件偏移位置开始写入全部待写入的数据;生成一个与该数据文件相对应的映射表项,并在其中记录数据写入位置和写入的数据长度;转入步骤(26);
(26)建立包含所生成的映射表项的映射表;
(3)向内核守护进程发送元数据写请求,以使得内核守护进程将所建立的映射表写入元数据文件中;实际文件写请求处理结束;
在一个可选的实施方式中,步骤(3)中,使得内核守护进程将所建立的映射表写入元数据文件中,包括如下步骤:
(31)由内核守护进程将元数据写请求和所建立的映射表均传递到用户态文件系统接口;
(32)判断内核文件系统中是否存在被访问实际文件对应的元数据文件,若是,则由用户态文件系统接口利用该映射表更新该元数据文件;否则,创建该元数据文件,并由用户态文件系统接口将该映射表写入该元数据文件中;
(4)向内核守护进程发送元数据读请求,以使得内核守护进程从元数据文件中读取映射表;
在一个可选的实施方式中,步骤(4)具体包括如下步骤:
(41)由内核守护进程将元数据读请求传递到用户态文件系统接口;
(42)由用户态文件系统接口从被访问实际文件所对应的元数据文件中读取映射表;若用户态文件系统的文件对应规则为一个实际文件对应一个数据文件或者多个实际文件对应一个数据文件,则所读取的映射表中包含一个映射表项;若用户态文件系统的文件对应规则为一个实际文件对应多个数据文件,则所读取的映射表中包含多个映射表项;
(5)向内核守护进程发送数据读请求,以使得内核守护进程根据所读取的映射表直接从数据文件中读取所请求的数据;实际文件读请求处理结束;
在一个可选的实施方式中,如图4所示,步骤(5)中,使得内核守护进程根据所读取的映射表直接从数据文件中读取所请求的数据,包括如下步骤:
(51)判断用户态文件系统的文件映射规则,若为一个实际文件对应一个数据文件,则转入步骤(52);若为一个实际文件对应多个数据文件,则转入步骤(53);若为多个实际文件对应一个数据文件,则转入步骤(55);
(52)根据映射表中的映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取全部被请求的数据;
(53)根据映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取部分被请求的数据;
(54)遍历映射表,对于每一个映射表项执行步骤(53),从而得到全部被请求的数据;
(55)根据映射表中的映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取全部被请求的数据;
其中,映射表包括一个或多个映射表项,每一个映射表项对应一个数据文件,用于记录实际文件中全部或部分数据在该数据文件中的存储位置和数据长度;在本发明实施例中,所设计的映射表结构如表1所示,其中每个映射表项记录的内容包括:文件名,用于标识对应的数据文件;文件偏移值,用于记录实际文件中全部或部分数据在该数据文件中的存储位置;以及数据长度,用于记录实际文件中存储于该数据文件中的数据长度。
表1映射表结构
文件名 文件偏移 长度
FileA 0 4096
FileB 0 8192
…… …… ……
在本发明所提供的用户态文件系统请求的处理方法,在读/写数据文件时均不通过用户态文件系统接口,而是由内核守护进程直接通过访问数据文件完成,由此能够减少一次用户态与内核态的来回切换;以数据写请求为例,如图5所示,包含“用户态”→“内核态”→“用户态”的切换过程,共一次来回切换;具体地,用户态程序发出用户态文件系统写请求后,在用户态向内核态发送数据写请求,此为第一次切换;数据写请求经由VFS传递至内核守护进程后,由内核守护进程直接将待写入的数据写入内核态的数据文件,并在数据写入完成后,内核态文件系统将写入结果返回给内核守护进程,并进一步通过VFS将写入结果返回给用户态文件系统,此为第二次切换。数据读请求与数据写请求的过程类似,只是对数据文件所执行的操作为读操作,在此不再赘述。
采用6个固态盘组成的RAID-0阵列作为测试环境,将标准的用户态文件系统FUSE(File system in User Space)作为基准文件系统,将采用本发明所提供的用户态文件系统请求的处理方法的文件系统作为目标文件系统,采用标准测试工具Filebench分别测试基准文件系统和目标文件系统的读写性能,测试结果如表2所示:
表2文件系统读写速度
文件系统 平均读速度 平均写速度
基准文件系统 293MB/s 298MB/s
目标文件系统 798MB/s 595MB/s
根据表2所示的测试结果可知,采用本发明所提供的用户态文件系统请求的处理方法后,写速度提升了2.67倍,读速度提升了2倍,也即是说,本发明所提供的用户态文件系统请求的处理方法,由于减少了一次用户态与内核态的来回切换,明显加快了文件系统访问速度,提高了数据传输的整体性能。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (6)

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)由用户态文件系统接口从被访问实际文件所对应的元数据文件中读取映射表;若用户态文件系统的文件对应规则为一个实际文件对应一个数据文件或者多个实际文件对应一个数据文件,则所读取的映射表中包含一个映射表项;若用户态文件系统的文件对应规则为一个实际文件对应多个数据文件,则所读取的映射表中包含多个映射表项。
5.如权利要求1所述的用户态文件系统请求的处理方法,其特征在于,所述步骤(5)中,使得内核守护进程根据所读取的映射表直接从数据文件中读取所请求的数据,包括如下步骤:
(51)判断用户态文件系统的文件映射规则,若为一个实际文件对应一个数据文件,则转入步骤(52);若为一个实际文件对应多个数据文件,则转入步骤(53);若为多个实际文件对应一个数据文件,则转入步骤(55);
(52)根据映射表中的映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取全部被请求的数据;
(53)根据映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取部分被请求的数据;
(54)遍历映射表,对于每一个映射表项执行步骤(53),从而得到全部被请求的数据;
(55)根据映射表中的映射表项打开数据文件,并根据映射表项所记录的存储位置和数据长度从该数据文件中读取全部被请求的数据。
6.如权利要求1-5任一项所述的用户态文件系统请求的处理方法,其特征在于,所述映射表项记录的内容包括:文件名,用于标识对应的数据文件;文件偏移值,用于记录实际文件中全部或部分数据在该数据文件中的存储位置;以及数据长度,用于记录实际文件中存储于该数据文件中的数据长度。
CN201811126703.3A 2018-09-26 2018-09-26 一种用户态文件系统处理方法 Active CN109445685B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811126703.3A CN109445685B (zh) 2018-09-26 2018-09-26 一种用户态文件系统处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811126703.3A CN109445685B (zh) 2018-09-26 2018-09-26 一种用户态文件系统处理方法

Publications (2)

Publication Number Publication Date
CN109445685A true CN109445685A (zh) 2019-03-08
CN109445685B CN109445685B (zh) 2020-06-30

Family

ID=65544375

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811126703.3A Active CN109445685B (zh) 2018-09-26 2018-09-26 一种用户态文件系统处理方法

Country Status (1)

Country Link
CN (1) CN109445685B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377436A (zh) * 2019-07-12 2019-10-25 清华大学 持久性内存的数据存储访问方法、设备及装置
CN110532032A (zh) * 2019-07-31 2019-12-03 华为技术有限公司 一种开机文件系统检测方法以及相关设备
CN110647764A (zh) * 2019-09-05 2020-01-03 上海交通大学 针对用户态非易失性内存文件系统的保护方法及系统
CN110659248A (zh) * 2019-09-05 2020-01-07 上海交通大学 基于非易失性内存的用户态文件系统设计方法及系统
CN113468112A (zh) * 2021-09-02 2021-10-01 武汉华工安鼎信息技术有限责任公司 文件管理方法、装置、存储介质及计算机设备
CN113703667A (zh) * 2021-07-14 2021-11-26 深圳市有为信息技术发展有限公司 实时存储数据的文件系统处理方法、装置、车载终端及商用车
CN115174597A (zh) * 2022-07-30 2022-10-11 重庆长安汽车股份有限公司 一种文件数据防丢失的方法、系统、电子设备和存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102447736A (zh) * 2011-11-17 2012-05-09 华中科技大学 一种多方网络存储系统中用户配额管理和控制方法
CN102541984B (zh) * 2011-10-25 2013-08-28 曙光信息产业(北京)有限公司 一种分布式文件系统客户端的文件系统的实现方法
US20140325193A1 (en) * 2009-12-21 2014-10-30 International Business Machines Corporation Dynamic instrumentation
CN104503863A (zh) * 2014-11-07 2015-04-08 清华大学 用于虚拟容器系统容灾的内核态与用户态数据交换方法
CN104571952A (zh) * 2014-12-25 2015-04-29 华中科技大学 一种分开处理数据与元数据读写请求的方法
CN107729159A (zh) * 2017-09-29 2018-02-23 华为技术有限公司 一种共享内存的地址映射方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140325193A1 (en) * 2009-12-21 2014-10-30 International Business Machines Corporation Dynamic instrumentation
CN102541984B (zh) * 2011-10-25 2013-08-28 曙光信息产业(北京)有限公司 一种分布式文件系统客户端的文件系统的实现方法
CN102447736A (zh) * 2011-11-17 2012-05-09 华中科技大学 一种多方网络存储系统中用户配额管理和控制方法
CN104503863A (zh) * 2014-11-07 2015-04-08 清华大学 用于虚拟容器系统容灾的内核态与用户态数据交换方法
CN104571952A (zh) * 2014-12-25 2015-04-29 华中科技大学 一种分开处理数据与元数据读写请求的方法
CN107729159A (zh) * 2017-09-29 2018-02-23 华为技术有限公司 一种共享内存的地址映射方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110377436A (zh) * 2019-07-12 2019-10-25 清华大学 持久性内存的数据存储访问方法、设备及装置
CN110532032A (zh) * 2019-07-31 2019-12-03 华为技术有限公司 一种开机文件系统检测方法以及相关设备
CN110647764A (zh) * 2019-09-05 2020-01-03 上海交通大学 针对用户态非易失性内存文件系统的保护方法及系统
CN110659248A (zh) * 2019-09-05 2020-01-07 上海交通大学 基于非易失性内存的用户态文件系统设计方法及系统
CN110659248B (zh) * 2019-09-05 2022-11-11 上海交通大学 基于非易失性内存的用户态文件系统设计方法及系统
CN113703667A (zh) * 2021-07-14 2021-11-26 深圳市有为信息技术发展有限公司 实时存储数据的文件系统处理方法、装置、车载终端及商用车
CN113468112A (zh) * 2021-09-02 2021-10-01 武汉华工安鼎信息技术有限责任公司 文件管理方法、装置、存储介质及计算机设备
CN115174597A (zh) * 2022-07-30 2022-10-11 重庆长安汽车股份有限公司 一种文件数据防丢失的方法、系统、电子设备和存储介质
CN115174597B (zh) * 2022-07-30 2023-05-26 重庆长安汽车股份有限公司 一种文件数据防丢失的方法、系统、电子设备和存储介质

Also Published As

Publication number Publication date
CN109445685B (zh) 2020-06-30

Similar Documents

Publication Publication Date Title
CN109445685A (zh) 一种用户态文件系统处理方法
US11314719B2 (en) Method for implementing change data capture in database management system
CN102629247B (zh) 一种数据处理方法、装置和系统
CN108519862A (zh) 区块链系统的存储方法、装置、系统和存储介质
CN102810092B (zh) 数据读写方法及系统
CN112597114B (zh) 一种基于对象存储的olap预计算引擎优化方法及应用
CN107766374B (zh) 一种海量小文件存储读取的优化方法和系统
JP2005267600A5 (zh)
TW201339870A (zh) 檔案系統提示
CN106843770A (zh) 一种分布式文件系统中小文件数据存储、读取方法及装置
CN107729558A (zh) 文件系统碎片整理的方法、系统、装置及计算机存储介质
CN105095247B (zh) 符号数据分析方法和系统
CN106469022A (zh) 存储驱动器的存储管理方法和系统
CN111007990B (zh) 一种对快照系统中数据块引用进行快速定位的定位方法
CN107302561A (zh) 一种云存储系统中热点数据副本放置方法
CN100405310C (zh) 一种快照系统及方法
CN108334541B (zh) 一种数据存储方法、装置、设备及存储介质
US11003540B2 (en) Method, server, and computer readable medium for index recovery using index redo log
CN101714167A (zh) 一种访问单文件数据库的方法及装置
CN102253985B (zh) 一种文件系统数据的管理方法及系统
CN108595589A (zh) 一种海量科学数据图片高效存取方法
CN107766258A (zh) 内存存储方法与装置、内存查询方法与装置
CN107506466A (zh) 一种小文件存储方法及系统
CN110019644A (zh) 对话实现中的搜索方法、装置和计算机可读存储介质
CN107133183A (zh) 一种基于tcmu虚拟块设备的缓存数据访问方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant