CN106020736A - 一种内存文件***中的数据一致性更新方法 - Google Patents
一种内存文件***中的数据一致性更新方法 Download PDFInfo
- Publication number
- CN106020736A CN106020736A CN201610400153.4A CN201610400153A CN106020736A CN 106020736 A CN106020736 A CN 106020736A CN 201610400153 A CN201610400153 A CN 201610400153A CN 106020736 A CN106020736 A CN 106020736A
- Authority
- CN
- China
- Prior art keywords
- data
- file
- original
- backup file
- updated
- 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
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1471—Saving, restoring, recovering or retrying involving logging of persistent data for recovery
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1474—Saving, restoring, recovering or retrying in transactions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/1734—Details of monitoring file system events, e.g. by the use of hooks, filter drivers, logs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0629—Configuration or reconfiguration of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0638—Organizing or formatting or addressing of data
- G06F3/0643—Management of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/065—Replication mechanisms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0662—Virtualisation aspects
- G06F3/0665—Virtualisation aspects at area level, e.g. provisioning of virtual or logical volumes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种内存文件***中的数据一致性更新方法,包括分配一个备份文件;获取原文件的索引节点号、请求的更新位置和长度;将新数据写入备份文件的文件数据区域;若数据更新的量大于阈值T,则用备份文件的索引结构替代原文件中待更新数据对应的第一索引;若数据更新的量小于阈值T,则计算待更新数据的第一起始虚拟地址,一次性新数据拷贝到原文件中待更新的数据位置。本发明根据更新数据量的大小,即利用内存文件***拷贝速度快的优点,又使用原子性更新的方式进行更新,保证文件数据更新一致性的情况提高了内存文件***的性能。
Description
技术领域
本发明属于计算机***软件领域,具体涉及一种保证内存文件***文件数据更新一致性的方法。
背景技术
中国专利文献CN105404667A于2016年3月16日公开了一种用于内存文件***的文件数据一致性更新方法,它包括以下步骤:1,在进程初始化时,***在内核空间为进程打开一个伪文件;2,进程请求更新“目标文件”,内存文件***按照需要更新的数据量,一次性分配全部所需的物理内存给伪文件;3,构建伪文件中索引数据页的数据结构,称为“数据索引”;4,调用一次数据拷贝函数,把新数据一次性全部写入伪文件;5,使用一个原子操作,把伪文件的数据索引***目标文件的数据索引中相应的位置;6,进程结束,删除该进程对应的伪文件。该发明针对简短影子分页技术,解决了在更新 n个数据页时,要重复现有技术3个步骤n次所产生的较大开销问题,提高了内存文件***的性能。
简短影子分页技术是传统影子分页技术针对内存文件***的改进版。传统面向磁盘的文件***中,每一次I/O操作至少更新一个物理块(大小通常为512B至4KB)。因此,传统的影子分页技术都是以块为粒度,每次更新一个块中的数据时,都会影响到整个块,必须对整个块做备份。所以,传统影子分页技术会从底层的文件数据开始,逐层向上更新涉及到的文件索引结构、元数据结构、目录文件的数据和元数据等,产生极大的开销。
简短影子分页技术利用了非易失性内存具有字节更新的特性,只更新受影响的数据。具体而言,每次更新时,文件***将新数据写入新分配的数据块中,然后用CPU自带的原子更新操作,就地更新受影响的索引结构中的相关指针。不需要更新上层的数据块。
简短影子分页技术的不足在于,对任何数据量的更新请求都使用单一方式更新文件数据。对于有数据修改的页面而言,无论更新的数据量多大,都要分配新的页面。例如原页面A有4KB数据,此次请求需要更新最后的1KB数据,简短影子分页就需要执行以下3步:
1)分配一个新页面B;
2)将原页面A中的不应覆盖的数据(即前3KB)拷贝到新页面B中,然后把新数据写到页面B的最后1KB。
3)用新页面B的起始地址替换原页面A在索引结构中的指针。
简短影子分页一共写4KB数据,修改1个指针。
除简短影子分页技术外,内存文件***中数据一致性更新技术还有一种自适应写日志(Adaptive logging)技术:
与简短影子分页不同,为了减少更新数据量,自适应日志根据单个页面的更新大小不同,而采用不同的策略。例如上述例子,自适应日志如下更新:
1)分配一个新页面C;
2)将1KB新数据写入新页面C中;
3)将1KB新数据写入原页面A中。
自适应写日志一共写2KB数据,不需要修改指针。
“Design and Implementation of a Journaling File System for Phase-Change Memory” Eunji Lee, Seung Hoon Yoo, and Hyokyung Bahn. IEEETransactions on Computer Systems, VOL. 64, NO. 5, MAY 2015, Pages 1349-1360,2015, DOI: 10.1109/TC.2014.2329674. (“设计并实现一个针对相变存储器的日志文件***”,Eunji Lee, Seung Hoon Yoo, and Hyokyung Bahn.,国际电子电气工程师协会计算机***学报,第64期第5篇,第1349-1360页,2015年五月, DOI: 10.1109/TC.2014.2329674)。该文在使用自适应写日志技术更新文件数据时,内存文件***首先根据当前更新请求在原文件中的起始位置,将新数据拆分为多个子部分,每个子部分的大小不超过一个页面的大小。如果某个子部分更新内容小于页面大小的一半,则把新数据写到一个新分配的页面中,然后拷贝到原文件相应位置;如果某个子部分更新内容超过了页面大小的一半,则把新数据写到一个新分配的页面,再把原文件中要保留的数据拷贝到新页面对应的位置,最后把这个新页面的指针改回原文件的索引结构中。
如图1所示,自适应写日志的一个页面为4KB,一个请求要从数据块B的位置开始,更新4KB数据,新数据被拆分为1KB和3KB两个部分(因为此次写请求要求的起始位置是数据块B的最后1KB)。按引用文献的方法:1KB的新数据被写入日志区域的数据块B`中(新分配的页面B`),然后拷贝到数据块B(原文件的位置),覆盖数据库B最后的1KB旧数据。3KB的部分新数据被写入日志区域的数据块C`中,数据块C中不需要修改(要保留)的最后100字节数据也写入数据块C`中,最后通过修改指针的方式,在原文件中用数据块C`替代数据块C。
现有自适应写日志技术更新文件数据时的问题是:忽略了数据更新过程中的性能差异,导致的数据更新请求的开销增大。本专利发明人通过实验发现:在文件***中,一次数据更新请求的数据量少于T时,直接用虚拟地址拷贝数据的速度要高于搜索并修改文件索引结构的速度。其中,T是一个阈值,根据***的不同略有差异。
发明内容
针对自适应写日志技术更新文件数据时存在的问题,本发明所要解决的技术问题是提供一种内存文件***中的数据一致性更新方法,它根据更新数据量选取相应的更新方式,能减少各种数据更新请求的开销,提高内存文件***的性能。
本发明的构思是:在文件***初始化时创建一系列文件,并为这些文件分配一定的物理空间,与一般文件不同的是这些文件并不会被分配给用户,而是专门为维护文件***一致性所创建的,这种文件称为“备份文件”。备份文件中有一个标志位,用于标识写一致性过程进行到哪一步,构建备份文件中索引数据页的数据结构,称为“数据索引”。
进程发出更新文件数据的请求,进程所请求更新的文件称为“原文件”。在进程打开一个原文件时,文件***会为它分配一个备份文件用于写一致性的维护。在原文件从打开到关闭的整个过程中,原文件始终持有该备份文件。
把文件***的写一致性过程分为预写日志和检查点两个阶段:
预写日志阶段:当一个写请求到达后,首先把原文件的索引节点号、被更新的数据在原文件中的起始位置和长度记录到备份文件中,并把备份文件的标志位设为PENDING状态,表示已经做好备份,等待更新。然后调用一次数据写函数,把新数据一次性全部写入备份文件的数据区域。把原文件将被改变的元数据信息记录到备份文件的文件信息存储区域,然后把备份文件的标志位设为COMMIT状态。这时可以保证无论此后的任何时刻发生***故障,备份文件中都有一份本次更新的一致性数据。
检查点阶段:在该阶段需要把备份文件中的数据写回原文件中。根据写请求数据量大小的不同需要分为两种情况:
a. 该次写的数据量小于等于阈值T,则直接通过虚拟地址空间把备份文件中的新数据拷贝的到原文件中;
b.该次写请求的数据量大于阈值T,则使用一个原子性操作,把备份文件的索引结构***原文件的索引结构中的相应位置;
在数据写回到原文件后,再把备份文件中的标志位设为CHECKPOINT状态。至此一次写操作就完成了。
如果***故障发生在预写日志阶段,标志位为PENDING状态,这说明本次数据更新操作的备份工作并未完成,数据的一致性由原文件维护。这时舍弃本次更新,只是简单地重置备份文件存储信息后把它回收。如果***故障发生在检查点阶段,标志位为COMMIT状态,这说明本次数据更新操作的备份工作已经完成,可以根据备份文件中存储的原文件inode号找到需要更新的数据的原文件,重新把本次更新的元数据和数据写回到原文件中,之后再重置备份文件信息存储区域并回收。因此,文件的数据不会出现一致性问题。此外,整个更新操作中只需要调用一次数据页分配和数据拷贝函数或原子操作。
本发明所要解决的技术问题是通过这样的技术方案实现的,它包括以下步骤:
步骤1、 为请求更新数据的原文件分配一个备份文件;
步骤2、 获取数据更新请求对应的原文件的索引节点号、请求的更新位置和长度;
步骤3、 将步骤2中获取的信息记录到备份文件的元数据区域;
步骤4、 将新数据写入备份文件的文件数据区域;
步骤5、 判断此处数据更新请求的大小,如果大于阈值T,执行步骤6,否则执行步骤8;
步骤6、搜索原文件的索引结构,找到待更新数据对应的第一索引;所述第一索引可以是第一级索引或其它几级的索引;
步骤7、 用备份文件的索引结构替代步骤6中找到的第一索引,执行步骤10;
步骤8、用原文件的起始虚拟地址和请求更新的数据的偏移量,计算待更新数据的第一起始虚拟地址;
步骤9、用步骤8中得到的第一起始虚拟地址和备份文件的起始虚拟地址,一次性新数据拷贝到原文件中待更新的数据位置;
步骤10、完成更新请求,按需回收备份文件。
上述步骤1中,备份文件为预留的专用备份文件,或者临时获取的普通文件。
上述步骤5中,所述阈值T根据单进程、双进程或多进程的数量设置相应的值。
本发明的技术效果:
本发明根据更新数据量的大小灵活调整数据写回策略,当更新数据量较小(小于等于阈值T)时,利用内存文件***拷贝速度快的优点直接拷贝数据;当跟新数据量较大(大于阈值T)时,使用原子性更新的方式进行更新,避免了大量数据拷贝,可以在保证文件数据更新一致性的情况达到较高的性能。
所以本发明具有如下的优点:依据更新数据量选取相应的更新方式,减少了数据更新请求的开销,提高了内存文件***的性能。
附图说明
本发明的附图说明如下:
图1为背景技术中自适应写日志的数据更新过程的示意图;
图2为本发明的流程图;
图3为本发明的数据一致性更新过程的示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明:
本发明方法是:首先在文件被打开的时候,给该文件分配一个专有的备份文件。然后在以后的过程中,每当要更新文件数据时,都通过该备份文件作数据一致性更新。最后,当文件关闭时,回收对应的备份文件。
如图2所示,本发明的流程开始于步骤101,然后:
在步骤102,判定文件是否是第一次打开,若是,则执行步骤103;否则,执行步骤105;
在步骤103,内存文件***分配一个空闲索引节点,给该文件分配一个备份文件;
在步骤104,内存文件***在内核虚拟地址空间中打开该备份文件;
在打开备份文件时,首先给备份文件分配一段内核虚拟地址空间,然后找到内核页表中该虚拟地址空间对应的页表项,最后把备份文件的索引结构已经***到该页表项中;此后,该备份文件已经拥有一段连续的虚拟地址空间。
在步骤105,判断是否要关闭文件,如果要关闭,则执行步骤117;否则执行步骤106;
在步骤106,判断进程是否收到写文件的请求,如果是,执行步骤107,否则返回步骤105;
在步骤107,把此次更新数据请求的相关信息记录到备份文件中;
请求的相关信息,例如原文件的索引节点号,被更新的数据在原文件中的起始位置和长度记录。把备份文件的标志位设为PENDING状态。
在步骤108,把新数据一次性写入备份文件的文件数据区域,设标志位为COMMIT;
在步骤109,判断本次写的数据量是否大于阈值T,如果是则执行步骤110,否则执行步骤113;
发明人在试验中取阈值T为16KB。
在步骤110,获取原文件待更新数据的文件内偏移量;
在步骤111,根据步骤110获取到的偏移量,在原文件的索引结构中查找待更新数据对应的索引;
在步骤112,用备份文件的索引结构,即指向新数据的索引,替换步骤111中找到的原文件待更新数据(即旧数据)对应的索引,然后执行步骤116;
在步骤113,获取原文件中待更新数据(即旧数据)的文件内偏移量;
在步骤114,用原文件的起始虚拟地址和步骤113中获取的偏移量,计算待更新数据的起始虚拟地址。
在步骤115,使用备份文件数据区域的起始虚拟地址和步骤114中计算得到的起始虚拟地址,一次性将新数据拷贝到原文件中,覆盖旧数据,然后执行步骤116;
在步骤116,设置备份文件的标志位为CHECKPOINTING,表示已完成此次更新操作,然后返回步骤106;
在步骤117,回收备份文件;
在步骤118,流程结束。
如图3所示,在备份文件中更新100M数据。
图3(a)中,备份文件的文件页表已经建好,其中3级索引包含50个页面,文件数据包含25601个页面。此次更新是从备份文件偏移量为2KB位置开始。此时内存文件***调用一次数据拷贝操作,把新数据一次性写入备份文件中,新数据如图3(a)中灰色部分;
如图3(b)所示,在备份文件2级索引、3级索引和文件数据各自第一页中不需要修改的部分,填入原文件中相应的数据,原文件数据如图3(a)中深色部分;
如图3(c)所示,内存文件***使用一个原子操作,把备份文件1级索引中的一个指针写入原文件中相应的位置。此时,原文件的数据已经更新完成。
Claims (3)
1.一种内存文件***中的数据一致性更新方法,其特征是,包括以下步骤:
步骤1、 为请求更新数据的原文件分配一个备份文件;
步骤2、 获取数据更新请求对应的原文件的索引节点号、请求的更新位置和长度;
步骤3、 将步骤2中获取的信息记录到备份文件的元数据区域;
步骤4、 将新数据写入备份文件的文件数据区域;
步骤5、 判断此处数据更新请求的大小,如果大于阈值T,执行步骤6,否则执行步骤8;
步骤6、搜索原文件的索引结构,找到待更新数据对应的第一索引;
步骤7、用备份文件的索引结构替代步骤6中找到的第一索引,执行步骤10;
步骤8、用原文件的起始虚拟地址和请求更新的数据的偏移量,计算待更新数据的第一起始虚拟地址;
步骤9、用步骤8中得到的第一起始虚拟地址和备份文件的起始虚拟地址,一次性新数据拷贝到原文件中待更新的数据位置;
步骤10、完成更新请求,按需回收备份文件。
2.根据权利要求1所述的内存文件***中的数据一致性更新方法,其特征是:步骤1中,所述备份文件为预留的专用备份文件,或者临时获取的普通文件。
3.根据权利要求1所述的内存文件***中的数据一致性更新方法,其特征是:步骤5中,所述阈值T根据单进程、双进程或多进程的数量设置相应的值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610400153.4A CN106020736B (zh) | 2016-06-08 | 2016-06-08 | 一种内存文件***中的数据一致性更新方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610400153.4A CN106020736B (zh) | 2016-06-08 | 2016-06-08 | 一种内存文件***中的数据一致性更新方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106020736A true CN106020736A (zh) | 2016-10-12 |
CN106020736B CN106020736B (zh) | 2019-02-12 |
Family
ID=57089778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610400153.4A Expired - Fee Related CN106020736B (zh) | 2016-06-08 | 2016-06-08 | 一种内存文件***中的数据一致性更新方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106020736B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802923A (zh) * | 2016-12-19 | 2017-06-06 | 华中科技大学 | 一种基于固态盘的文件更新方法及*** |
CN111241118A (zh) * | 2020-04-26 | 2020-06-05 | 浙江网商银行股份有限公司 | 缓存数据处理方法以及装置 |
CN116661981A (zh) * | 2022-02-18 | 2023-08-29 | 华为技术有限公司 | 一种文件处理方法、文件***、电子设备及介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080005111A1 (en) * | 2006-05-08 | 2008-01-03 | Microsoft Corporation | Atomic transaction file manager |
CN103946844A (zh) * | 2011-11-29 | 2014-07-23 | 国际商业机器公司 | 跨集群文件***同步更新 |
CN105404667A (zh) * | 2015-11-13 | 2016-03-16 | 重庆大学 | 一种用于内存文件***的文件数据一致性更新方法 |
-
2016
- 2016-06-08 CN CN201610400153.4A patent/CN106020736B/zh not_active Expired - Fee Related
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 |
CN103946844A (zh) * | 2011-11-29 | 2014-07-23 | 国际商业机器公司 | 跨集群文件***同步更新 |
CN105404667A (zh) * | 2015-11-13 | 2016-03-16 | 重庆大学 | 一种用于内存文件***的文件数据一致性更新方法 |
Non-Patent Citations (1)
Title |
---|
EUNJI LEE等: "Design and Implementation of a Journaling File System for Phase-Change Memory", 《IEEE TRANSACTIONS ON COMPUTERS》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802923A (zh) * | 2016-12-19 | 2017-06-06 | 华中科技大学 | 一种基于固态盘的文件更新方法及*** |
CN111241118A (zh) * | 2020-04-26 | 2020-06-05 | 浙江网商银行股份有限公司 | 缓存数据处理方法以及装置 |
CN116661981A (zh) * | 2022-02-18 | 2023-08-29 | 华为技术有限公司 | 一种文件处理方法、文件***、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN106020736B (zh) | 2019-02-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9965483B2 (en) | File system | |
CN106250320A (zh) | 一种数据一致性及磨损均衡的内存文件***管理方法 | |
EP2433226B1 (en) | File system | |
CN105183839A (zh) | 一种基于Hadoop的小文件分级索引的存储优化方法 | |
CN105404667B (zh) | 一种用于内存文件***的文件数据一致性更新方法 | |
CN105045850B (zh) | 云存储日志文件***中垃圾数据回收方法 | |
CN105930500A (zh) | 数据库***中事务恢复的方法与数据库管理*** | |
CN105404673A (zh) | 基于nvram的高效文件***构建方法 | |
CN111522507B (zh) | 一种低延迟的文件***地址空间管理方法、***及介质 | |
CN108763473A (zh) | 一种分布式存储的本地对象存储方法及装置 | |
CN101488153A (zh) | 嵌入式Linux下大容量闪存文件***的实现方法 | |
EP2972744B1 (en) | Object-based transactions in a storage system | |
CN100424699C (zh) | 一种属性可扩展的对象文件*** | |
US10552335B2 (en) | Method and electronic device for a mapping table in a solid-state memory | |
CN106020736A (zh) | 一种内存文件***中的数据一致性更新方法 | |
US20190243812A1 (en) | Durable multiversion b+-tree | |
CN102750376A (zh) | 一种多版本数据库存储引擎***及其相关处理的实现方法 | |
Lee et al. | Efficient logging of metadata using NVRAM for NAND flash based file system | |
Baecker | Garbage collection for virtual memory computer systems | |
Schindler | Profiling and analyzing the I/O performance of NoSQL DBs | |
KR20130064379A (ko) | 지연 갱신을 수행하는 b-트리를 사용하여 플래시 메모리 내에 데이터를 저장하는 장치 및 방법 | |
CN102880490B (zh) | 一种基于Java虚拟机的延时动态对象更新方法 | |
CN103077076A (zh) | 在Linux上模拟实现Windows堆管理的方法 | |
US20220100415A1 (en) | Method, device, and computer program product for storage management | |
Wang | Tags: A Unifying Primitive for the Storage Data Path |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190212 Termination date: 20190608 |