CN105404667A - 一种用于内存文件***的文件数据一致性更新方法 - Google Patents
一种用于内存文件***的文件数据一致性更新方法 Download PDFInfo
- Publication number
- CN105404667A CN105404667A CN201510773274.9A CN201510773274A CN105404667A CN 105404667 A CN105404667 A CN 105404667A CN 201510773274 A CN201510773274 A CN 201510773274A CN 105404667 A CN105404667 A CN 105404667A
- Authority
- CN
- China
- Prior art keywords
- file
- data
- pseudo
- memory
- write
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种用于内存文件***的文件数据一致性更新方法,包括以下步骤:1,在进程初始化时,***在内核空间为进程打开一个伪文件;2,进程请求更新“目标文件”,内存文件***按照需要更新的数据量,一次性分配全部所需的物理内存给伪文件;3,构建伪文件中索引数据页的数据结构,称为“数据索引”;4,调用一次数据拷贝函数,把新数据一次性全部写入伪文件;5,使用一个原子操作,把伪文件的数据索引***目标文件的数据索引中相应的位置;6,进程结束,删除该进程对应的伪文件。本发明的优点是:对于数据量较大的更新操作,避免了大量数据拷贝函数调用以及原子操作,可以在保证文件数据更新一致性的情况达到较高的性能。
Description
技术领域
本发明属于计算机***软件领域,具体涉及一种保证内存文件***文件数据更新一致性的方法。
背景技术
内存文件***
随着新型非易失性存储器的出现,企业界和学术界提出将存储密度大、读写速度快、可按字节寻址和抗震动的非易失性内存制作为持久性的数据存储设备,称为存储级内存(StorageClassMemory,简称SCM)。为了管理这种存储级内存,已经设计出多种内存文件***。例如IBM设计的PMFS,“Systemsoftwareforpersistentmemory,”inProc.9thACMEuro.Conf.Comput.Syst.,pp15:1—15:15,2014,ISBN:978-1-4503-2704-6。(“面向持久性内存的***软件”,第9届美国计算机学会欧洲计算机***会议,第15篇1到15页,2014年,ISBN:978-1-4503-2704-6),重庆大学自主研发的SIMFS,“DesigninganEfficientPersistentIn-MemoryFileSystem”,2015IEEENon-VolatileMemorySystemandApplicationsSymposium,pp1-6,2015,DOI:10.1109/NVMSA.2015.7304365。(“高效持续性内存文件***设计”,2015年电气和电子工程师协会非易失性内存***及应用研讨会,第1-6页,DOI:10.1109/NVMSA.2015.7304365)。
在内存文件***SIMFS中,文件的数据都存放在物理内存页面上。这种存放文件数据的物理内存页面称为“数据页”。所有文件都使用类似***页表的数据结构组织其数据页,该数据结构称为“文件页表”。每当进程打开内存文件***SIMFS中的一个文件时,文件***通过以下三步将文件映射到***的虚拟地址空间中:
1)给文件分配一段足够大的空闲***虚拟地址空间;
2)找到这段虚拟地址空间对应的***页表项;
3)把文件的文件页表***到第2步中的***页表项。
此后,文件所管理的物理内存就直接映射到***的虚拟地址空间,进程可以通过***虚拟地址空间连续访问文件的数据页。传输数据的过程只需要一次数据拷贝,从而获得较高的文件***性能。
数据一致性更新技术
在文件***中更新数据时,例如用写操作向文件中写数据时,需要保证数据的一致性,即文件的元数据中引用的数据页必须属于该文件,而不是垃圾数据,或者其他文件的数据页。文件数据的一致性对文件***的正确运行至关重要。然而,对内存文件***而言,不仅需要保证文件数据更新的一致性,还需要利用内存文件***的特点,尽可能地减少维持数据一致性导致的性能损耗。
目前,内存文件***中使用的数据一致性更新技术主要有两种:
1.现有技术一:写时复制(Copy-on-write)技术
在使用写时复制技术更新文件数据时,内存文件***首先将新数据写到空闲的物理内存,然后使用原子操作将原文件的元数据指向新的数据页。具体而言,使用写时复制技术时,假设要更新n个数据页,内存文件***需要重复以下步骤n次:
1)分配一个空闲物理页;
2)调用一次数据拷贝函数,将新数据写入步骤1)分配的空闲物理页;
3)使用一次原子操作,修改原文件的数据索引结构中相应指针,指向步骤2)中的数据页。
可见使用写时复制技术更新文件数据时,内存文件***需要调用n次空闲页分配函数、n次数据拷贝函数,以及n次原子操作。
每一次分配空闲页和调用原子操作都需要使用CPU指令对文件***代码中的竞争区域加锁、解锁,每一次调用数据拷贝函数都需要检查地址范围、页面权限等操作。因此,这种操作会产生较大的开销,降低内存文件***的性能。
此外,传统的写时复制技术不只对当前更新的数据页进行更新,还必须向上传播,对新数据所影响到的文件元数据、文件***元数据进行写时复制。最终可能导致从待更新文件数据到文件***根目录整条路径上的所有页面全部执行写时复制。因此,写时复制技术会造成极大的性能损耗。
2.现有技术二:简短影子分页(Short-circuitshadowpaging)技术
“BetterI/Othroughbyte-addressable,persistentmemory.”JeremyCondit,EdmundB.Nightingale,ChristopherFrost,EnginIpek,BenjaminLee,DougBurger,andDerrickCoetzee.InProceedingsoftheACMSIGOPS22ndsymposiumonOperatingsystemsprinciples(SOSP'09),Pages133-146,2009,ISBN:978-1-60558-752-3.(“可字节寻址持久化内存上的先进I/O”,JeremyCondit,EdmundB.Nightingale,ChristopherFrost,EnginIpek,BenjaminLee,DougBurger,andDerrickCoetzee,第22届美国计算机学会操作***原理研讨会,第133-146页,2009年,ISBN:978-1-60558-752-3)
简短影子分页技术是微软在他们的内存文件***BPFS中所使用的数据一致性更新技术。该技术类似于写时复制技术,即首先将新数据写到空闲的物理内存,然后使用原子操作将原文件的元数据指向新的数据页。不同之处在于,简短影子分页技术只更新直接受影响的数据页和文件元数据,更新操作不会传播到文件***的其他文件或元数据。
然而,简短影子分页技术和写时复制技术有同样的缺点,也就是在更新n个数据页时,要重复现有技术一中的3个步骤n次。由此产生较大的开销,降低内存文件***的性能。
发明内容
针对现有技术的不足,本发明所要解决的技术问题是提供一种用于内存文件***的文件数据一致性更新方法,减少数据一致性更新操作的开销,提高内存文件***的性能。
要解决的上述技术问题,
本发明提供的一种用于内存文件***的文件数据一致性更新方法,包括以下步骤:
步骤1,在进程初始化时,***在内核空间为进程打开一个伪文件;
步骤2,进程请求更新“目标文件”,内存文件***按照需要更新的数据量,一次性分配全部所需的物理内存给伪文件;
步骤3,构建伪文件中索引数据页的数据结构,称为“数据索引”;
步骤4,调用一次数据拷贝函数,把新数据一次性全部写入伪文件;
步骤5,使用一个原子操作,把伪文件的数据索引***目标文件的数据索引中相应的位置;
步骤6,进程结束,删除该进程对应的伪文件。
由于新数据首先写在伪文件中,如果在写的过程中***崩溃或丢失电源,目标文件的数据不会受到影响。将新数据更新到目标文件中是由修改目标文件中的一个指针完成,整个操作仅需要一个由硬件保证完成的原子操作。因此,文件的数据不会出现一致性问题。此外,整个更新操作中只需要调用一次数据分配、数据拷贝函数和原子操作。所以,本发明具有如下的优点:对于数据量较大的更新操作,避免了大量数据拷贝函数调用以及原子操作,可以在保证文件数据更新一致性的情况达到较高的性能。
附图说明
本发明的附图说明如下:
图1为本发明的流程图;
图2为实施例的数据一致性更新的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
本发明的构思是:首先在创建进程的时候,给进程创建一个专有的伪文件;然后在进程运行的过程中,每当进程要更新文件数据时,都通过该伪文件作数据一致性更新;最后,当进程结束时,删除该进程对应的伪文件。
本发明包括以下步骤:
步骤1,在进程初始化时,***在内核空间为进程打开一个伪文件;
伪文件和常规文件一样,有索引节点和内核虚拟地址空间等元数据信息,但是该文件的文件描述符并没有提供给进程,所以这种文件称为“伪文件”。
步骤2,进程发出更新文件数据的请求,进程所请求更新的文件称为“目标文件”,此时,内存文件***按照需要更新的数据量,一次性分配全部所需的物理内存给伪文件。
步骤3,构建伪文件中索引数据页的数据结构,称为“数据索引”;
索引数据结构的形式与***页表的形式相同,可以是单级索引,也可以是多级索引,每一级索引包含一块或多块物理内存,每一块物理内存分成多个相同长度的条目,每一个条目都可以存放下一级索引的一块物理内存的起始物理地址;
在伪文件的索引节点中,存有一个指针指向伪文件的数据索引,称为“索引指针”。索引指针可以指向存放伪文件的最高级数据索引的第一物理页,也就是说,索引指针可以是第一物理页的起始物理地址;
假设数据索引由高到底分级,编号由小到大,即一级索引指向二级索引,二级索引指向三级索引。如果修改的数据页只涉及三级索引,那么索引节点里存放的索引指针就可以是二级索引里指向被修改的三级索引的一个指针。同理,如果修改的内存涉及到二级索引,那么索引节点里存放的索引指针就可以是一级索引里指向被修改的二级索引的一个指针。
步骤4,调用一次数据拷贝函数,把新数据一次性全部写入伪文件。
步骤5,使用一个原子操作,把伪文件的数据索引***目标文件的数据索引中相应的位置。
步骤6,进程结束,删除该进程对应的伪文件。
图1是本发明基于伪文件的数据一致性更新流程图,该流程开始于步骤101,然后:
在步骤102,判断***是否创建进程,如是,则执行步骤103,否则,保留在步骤2;
在步骤103,内存文件***分配一个空闲索引节点,给该进程创建一个伪文件;
在步骤104,内存文件***在内核虚拟地址空间中打开该伪文件;
打开伪文件的过程实际是将伪文件映射到内核虚拟地址空间的过程,其步骤如下:
1)、在内核虚拟地址空间为伪文件分配一段虚拟地址空间VF;
2)、读取当前处理器控制寄存器中内核页表最高一级的起始物理地址,称为PGD项;该控制寄存器可以是Intel处理器中的CR3寄存器;
3)、根据2)中读取的PGD项和伪文件的虚拟地址VF,用内核现有函数可以找到伪文件的虚拟地址VF的索引指针在内核页表中所对应的页表项PEntry;
4)、读取伪文件索引节点中的索引指针,将其写入PEntry,即完成了伪文件的打开过程。
此后,该伪文件已经拥有一段连续的虚拟地址空间。
在步骤105,判断是否***要结束该进程,如果要结束该进程,则执行步骤112;否则执行步骤106;
在步骤106,判断进程是否发出写文件的请求,如果是,执行步骤107,否则执行步骤105;
在步骤107,获取进程更新文件的数据量,根据数据量计算所需的空闲物理页面的数量;
在步骤108,内存文件***把空闲物理页面管理结构设置为临界区,只允许当前进程访问该结构,并从该结构中一次性分配出所需的全部空闲物理页面。内存文件***所使用的空闲物理页面管理结构可以是链表、比特图等。
在步骤109,把分配的空闲物理页面依次***到伪文件的数据索引结构中,构建伪文件的数据索引;
在背景技术的第3)步中,也有类似的操作;但是现有技术是向目标文件的索引结构中***物理页面,每***一个物理页面都需要一个原子操作。本发明中,这个过程只针对伪文件,不使用原子操作。此后,伪文件的物理页面都已经映射到了它对应的内核虚拟地址空间。伪文件的索引指针指向了修改的数据索引。
在步骤110,内存文件***使用伪文件的内核虚拟地址空间向伪文件写数据;
内存文件***根据伪文件的起始虚拟地址以及当前写操作在伪文件内部的偏移量计算出此次写操作的起始虚拟地址。调用一次数据拷贝函数,从计算出的虚拟地址开始,一次性把全部新数据写入伪文件。如果伪文件起始的数据索引结构和数据页中有内容不需要更新,就用目标文件中相应的内容填充。
在更新伪文件的过程中,由于伪文件的文件页表已经***到内核页表,所以***可使用CPU中已有的硬件设备内存管理单元(MMU)和内核页表将伪文件的虚拟地址转换为物理内存地址,从而把数据写入伪文件的物理页面中。(通过虚拟地址访问物理地址的过程是公知知识)
伪文件的更新过程如下:
1)读取伪文件在步骤104中得到的内核虚拟地址空间VF的起始虚拟地址;
2)获取用户的写文件请求在目标文件中的偏移位置Offset;即用户要求从目标文件的第Offset个字节的位置开始写新数据;
3)根据Offset和内存页面的大小计算出一个伪文件数据在目标文件中的偏移量POff,设文件***中使用的一个内存页面的大小为Pszie,POff=Offset-Offset%Psize;
4)从POff开始,从目标文件中拷贝一个物理页面大小(即Psize)的数据到伪文件的起始位置;
5)在伪文件中,从Offset%Psize的位置开始,用一个数据拷贝操作写入用户写请求的全部数据。此时,伪文件的更新已全部完成。
在步骤111,内存文件***把伪文件的数据索引***到目标文件的数据索引;
只需要把受影响的数据索引中最高一级的指针***到目标文件的数据索引中,就可以在目标文件中完成所有数据的更新。因此,只需要使用一个原子操作更新一个指针。
在步骤112,结束当前进程,删除伪文件;
内存文件***回收伪文件的索引节点和其他残留的数据结构。
在步骤113,已完成目标文件的一致性数据更新,程序结束。
实施例
本实施例如图2所示,在伪文件中更新100M数据和更新目标文件。
在图2(a)中,伪文件的文件页表已经建好,其中第3级索引包含50个页面,文件数据包含25601个页面。
此次更新是从伪文件偏移量为2KB位置开始。此时内存文件***调用一次数据拷贝操作,把新数据一次性写入伪文件中,写入新数据如图2(a)中浅黑色部分所示。
在图2(b)中,内存文件***确定伪文件第2级索引、第3级索引和文件数据各自第一页中不需要修改的部分,填入目标文件中相应的数据,填入数据如图2(b)中深黑色部分所示。
在图2(c)中,内存文件***使用一个原子操作,把伪文件的索引节点中的索引指针写入目标文件中相应的位置。此时,目标文件的数据已经更新完成。
索引指针是伪文件中指向全部被修改的索引和数据页的一个指针。例如图2中,被修改的索引包括一个第2级索引页、多个3级索引页以及数据页。此时索引指针就是1级索引里指向被修改的第2级索引页的那个指针。又例如,假设只修改了一个数据页,那么此时的索引指针就是3级索引中指向这个数据页的指针。
如果在伪文件中更新数据,则从索引指针开始建立索引结构;如果更新目标文件,则仅用索引指针进行更新。
Claims (3)
1.一种用于内存文件***的文件数据一致性更新方法,其特征是,包括以下步骤:
步骤1,在进程初始化时,***在内核空间为进程打开一个伪文件;
步骤2,进程请求更新“目标文件”,内存文件***按照需要更新的数据量,一次性分配全部所需的物理内存给伪文件;
步骤3,构建伪文件中索引数据页的数据结构,称为“数据索引”;
步骤4,调用一次数据拷贝函数,把新数据一次性全部写入伪文件;
步骤5,使用一个原子操作,把伪文件的数据索引***目标文件的数据索引中相应的位置;
步骤6,进程结束,删除该进程对应的伪文件。
2.根据权利要求1所述的用于内存文件***的文件数据一致性更新方法,其特征是,步骤1中打开一个伪文件包括以下步骤:
步骤1),在内核虚拟地址空间为伪文件分配一段虚拟地址空间VF;
步骤2),读取当前处理器控制寄存器中内核页表最高一级的起始物理地址,称为PGD项;该控制寄存器可以是Intel处理器中的CR3寄存器;
步骤3),根据读取的PGD项和伪文件的虚拟地址VF,用内核现有函数可以找到伪文件的虚拟地址VF的索引指针在内核页表中所对应的页表项PEntry;
步骤4),读取伪文件索引节点中的索引指针,将其写入PEntry,即完成了伪文件的打开过程。
3.根据权利要求2所述的用于内存文件***的文件数据一致性更新方法,其特征是,步骤4中的新数据写入伪文件包括以下步骤::
步骤1),读取伪文件的内核虚拟地址空间VF的起始虚拟地址;
步骤2),获取用户的写文件请求在目标文件中的偏移位置Offset;即用户要求从目标文件的第Offset个字节的位置开始写新数据;
步骤3),根据Offset和内存页面的大小计算出一个伪文件数据在目标文件中的偏移量POff,设文件***中使用的一个内存页面的大小为Pszie,POff=Offset-Offset%Psize;
步骤4),从POff开始,从目标文件中拷贝一个物理页面大小(即Psize)的数据到伪文件的起始位置;
步骤4),在伪文件中,从Offset%Psize的位置开始,用一个数据拷贝操作写入用户写请求的全部数据,此时,伪文件写新数据已全部完成。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510773274.9A CN105404667B (zh) | 2015-11-13 | 2015-11-13 | 一种用于内存文件***的文件数据一致性更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510773274.9A CN105404667B (zh) | 2015-11-13 | 2015-11-13 | 一种用于内存文件***的文件数据一致性更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105404667A true CN105404667A (zh) | 2016-03-16 |
CN105404667B CN105404667B (zh) | 2018-08-24 |
Family
ID=55470156
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510773274.9A Active CN105404667B (zh) | 2015-11-13 | 2015-11-13 | 一种用于内存文件***的文件数据一致性更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105404667B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975587A (zh) * | 2016-05-05 | 2016-09-28 | 诸葛晴凤 | 一种高性能的内存数据库索引组织与访问方法 |
CN106020736A (zh) * | 2016-06-08 | 2016-10-12 | 重庆大学 | 一种内存文件***中的数据一致性更新方法 |
CN107016100A (zh) * | 2017-04-10 | 2017-08-04 | 重庆大学 | 一种基于非易失性内存文件***的元数据管理方法 |
CN107357739A (zh) * | 2017-07-21 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种数据内排序的方法与装置 |
CN107577615A (zh) * | 2017-09-14 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种解决内核客户端数据不一致的方法、装置及设备 |
CN111414134A (zh) * | 2020-02-20 | 2020-07-14 | 上海交通大学 | 面向持久内存文件***的事务写优化框架的方法及*** |
CN112905391A (zh) * | 2021-05-07 | 2021-06-04 | 南京云信达科技有限公司 | 一种基于页写时复制的数据同步方法及*** |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005111A1 (en) * | 2006-05-08 | 2008-01-03 | Microsoft Corporation | Atomic transaction file manager |
CN102004778A (zh) * | 2010-11-19 | 2011-04-06 | 清华大学 | 一种云环境中的文本索引在线更新方法 |
CN103946844A (zh) * | 2011-11-29 | 2014-07-23 | 国际商业机器公司 | 跨集群文件***同步更新 |
-
2015
- 2015-11-13 CN CN201510773274.9A patent/CN105404667B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005111A1 (en) * | 2006-05-08 | 2008-01-03 | Microsoft Corporation | Atomic transaction file manager |
CN102004778A (zh) * | 2010-11-19 | 2011-04-06 | 清华大学 | 一种云环境中的文本索引在线更新方法 |
CN103946844A (zh) * | 2011-11-29 | 2014-07-23 | 国际商业机器公司 | 跨集群文件***同步更新 |
Non-Patent Citations (1)
Title |
---|
EDWIN H.-M. SHA等: "Designing an Efficient Persistent In-Memory File", 《IEEE NON-VOLATILE MEMORY SYSTEM AND APPLICATIONS SYMPOSIUM 2015》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105975587A (zh) * | 2016-05-05 | 2016-09-28 | 诸葛晴凤 | 一种高性能的内存数据库索引组织与访问方法 |
CN105975587B (zh) * | 2016-05-05 | 2019-05-10 | 诸葛晴凤 | 一种高性能的内存数据库索引组织与访问方法 |
CN106020736A (zh) * | 2016-06-08 | 2016-10-12 | 重庆大学 | 一种内存文件***中的数据一致性更新方法 |
CN106020736B (zh) * | 2016-06-08 | 2019-02-12 | 重庆大学 | 一种内存文件***中的数据一致性更新方法 |
CN107016100A (zh) * | 2017-04-10 | 2017-08-04 | 重庆大学 | 一种基于非易失性内存文件***的元数据管理方法 |
CN107357739A (zh) * | 2017-07-21 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种数据内排序的方法与装置 |
CN107577615A (zh) * | 2017-09-14 | 2018-01-12 | 郑州云海信息技术有限公司 | 一种解决内核客户端数据不一致的方法、装置及设备 |
CN111414134A (zh) * | 2020-02-20 | 2020-07-14 | 上海交通大学 | 面向持久内存文件***的事务写优化框架的方法及*** |
CN111414134B (zh) * | 2020-02-20 | 2021-05-25 | 上海交通大学 | 面向持久内存文件***的事务写优化框架的方法及*** |
CN112905391A (zh) * | 2021-05-07 | 2021-06-04 | 南京云信达科技有限公司 | 一种基于页写时复制的数据同步方法及*** |
Also Published As
Publication number | Publication date |
---|---|
CN105404667B (zh) | 2018-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105404667A (zh) | 一种用于内存文件***的文件数据一致性更新方法 | |
US11640353B2 (en) | Memory system, data storage device, user device and data management method thereof | |
KR101944876B1 (ko) | 파일 액세스 방법 및 장치 및 스토리지 디바이스 | |
US8108587B2 (en) | Free-space reduction in cached database pages | |
CA2766161C (en) | Scalable indexing in a non-uniform access memory | |
CN105378687B (zh) | 访问文件的方法和相关设备 | |
US8078794B2 (en) | Hybrid SSD using a combination of SLC and MLC flash memory arrays | |
US10445022B1 (en) | Optimization of log-structured merge (LSM) tree-based databases using object solid state drive (SSD) devices | |
KR102275563B1 (ko) | 호스트-관리 비휘발성 메모리 | |
CN104866497A (zh) | 分布式文件***列式存储的元数据更新方法、装置、主机 | |
WO2021208239A1 (zh) | 一种低延迟的文件***地址空间管理方法、***及介质 | |
CN108763473A (zh) | 一种分布式存储的本地对象存储方法及装置 | |
CN100424699C (zh) | 一种属性可扩展的对象文件*** | |
US20100057755A1 (en) | File system with flexible inode structures | |
CN107239526A (zh) | 文件***实现方法、碎片整理方法、操作位置定位方法 | |
US8180736B2 (en) | Methods for improving file system performance | |
CN113050886B (zh) | 面向嵌入式内存数据库的非易失性内存存储方法及*** | |
CN110688345A (zh) | 一种内存文件***的多粒度结构化空间管理机制 | |
CN109086462A (zh) | 一种分布式文件***中元数据的管理方法 | |
CN115168259A (zh) | 一种数据存取方法、装置、设备和计算机可读存储介质 | |
WO2024108939A1 (zh) | 一种多级映射框架、数据操作请求处理方法及*** | |
Chen et al. | A unified framework for designing high performance in-memory and hybrid memory file systems | |
CN117573676A (zh) | 基于存储***的地址处理方法、装置、存储***及介质 | |
CN106020736B (zh) | 一种内存文件***中的数据一致性更新方法 | |
CN102169418B (zh) | 一种资源受限设备和数据访问方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |