CN105511802B - 写缓存的方法和装置以及磁盘缓存区的同步方法和装置 - Google Patents
写缓存的方法和装置以及磁盘缓存区的同步方法和装置 Download PDFInfo
- Publication number
- CN105511802B CN105511802B CN201510825436.9A CN201510825436A CN105511802B CN 105511802 B CN105511802 B CN 105511802B CN 201510825436 A CN201510825436 A CN 201510825436A CN 105511802 B CN105511802 B CN 105511802B
- Authority
- CN
- China
- Prior art keywords
- data
- disk
- written
- buffer area
- 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.)
- Expired - Fee Related
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/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- 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/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
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)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明实施例提供了一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置。所述写缓存的方法,包括:获取系统的待写入数据;判断所述待写入数据的大小:当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。本发明通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。
Description
技术领域
本发明涉及计算机技术,尤其涉及一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置。
背景技术
目前,很多新型存储介质具有更好的访问性能,使用这些新型存储介质作为写缓存,可以提升写入速度,合并小IO聚合成大的IO操作,来提升hdd磁盘(Hard Disk Drive硬盘驱动器)的每秒小IO的的操作个数。
但是,由于新型存储介质的成本昂贵,所以使用新型存储介质作为写缓存时,缓存容量都很小,在应付吞吐率较高的应用环境时,写缓存被迅速写满,写入性能会急速下降。如何提高写缓存应付长时间持续压力的写入,是设计写缓存时面对的主要问题。
非易失性随机存取存储器nvram(nonvolatile random access memory)和nvdimm技术(一种集成了动态随机存取存储器DRAM+非易失性内存芯片的内存条规格)的发展和商用,使得访问非易失性存储器的性能达到和主存储器的性能相当。而hdd磁盘在顺序写入的粒度达到1MB时,可以达到120MBps以上,以4KB的IO来进行计算,则单个hdd磁盘的IOPS(Input/Output Operations Per Second,即每秒进行读写)可以达到30K。
现有的写缓存实现中,都是将缓存放在更快速的存储介质上,但是越快速的存储介质,其成本越高,容量越小。
发明内容
本发明的实施例提供了一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置,能够减少大吞吐量应用对缓存区空间的占用率。
为了实现上述目的,本发明采取了如下技术方案。
一种写缓存的方法,包括:
获取系统的待写入数据;
判断所述待写入数据的大小:
当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;
当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;
当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
所述当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中的步骤包括:
对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
判断所述数据块的大小是否大于第四阈值;
当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;
当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据;
如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
一种磁盘缓存区的同步方法,包括:
判断磁盘的缓存区中的数据大小是否大于第三阈值;
当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
一种写缓存的装置,包括:
获取模块,获取系统的待写入数据;
第一判断模块,判断所述待写入数据的大小:
第一写入模块,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
第二写入模块,当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。
一种磁盘缓存区的同步装置,包括:
判断模块,判断磁盘的缓存区中的数据大小是否大于第三阈值;
写入模块,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
由上述本发明的实施例提供的技术方案可以看出,本发明实施例中,通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。
本发明附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种写缓存的方法的处理流程图;
图2为本发明实施例一提供的一种写缓存的装置的连接示意图;
图3为本发明实施例一提供的一种磁盘缓存区的同步方法的处理流程图;
图4为本发明实施例一提供的一种磁盘缓存区的同步装置的连接示意图。
图5为本发明实施例中的数据结构图;
图6为本发明写缓存的方法的应用场景;
图7为本发明写缓存的方法的另一应用场景;
图8为本发明实施例中读取非易失性内存缓存区中的缓存区的数据的处理流程图;
图9为本发明实施例中读取非易失性内存缓存区中的掉电保护区的数据的处理流程图;
图10为本发明的数据页最新查找树的流程图。
具体实施方式
下面详细描述本发明的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本发明的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语)具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样定义,不会用理想化或过于正式的含义来解释。
为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。
如图1所示,为本发明所述的一种写缓存的方法,包括:
步骤11,获取系统的待写入数据;
步骤12,判断所述待写入数据的大小:
步骤13,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
步骤14,当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。
本发明通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。
所述方法还包括:
步骤15,当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;
步骤16,当所述磁盘的缓存区中的数据大小大于第四阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
其中,步骤16包括:
步骤161,对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
步骤162,判断所述数据块的大小是否大于第四阈值;
步骤163,当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;
步骤164,当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据;
步骤165,如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
步骤163中的将所述数据块写入磁盘的数据区中的步骤具体为:
步骤1631,将所述待写入数据写入非易失性内存存储器的掉电保护区;
步骤1632,将所述待写入数据的元数据信息写入非易失性内存存储器的缓存区;
步骤1634,将所述待写入数据写入磁盘的数据区;
步骤1635,将所述待写入数据的元数据信息从所述非易失性内存存储器的缓存区中移除;
步骤1636,将所述待写入数据从所述非易失性内存存储器的掉电保护区中移除。
步骤1634具体为:
步骤16341,判断所述非易失性内存存储器的缓冲区中是否存储有与所述待写入数据的磁盘地址相同的第一数据;
步骤16342,如果有,则将所述第一数据设置为无效,使得所述第一数据在后续处理中不被同步到所述磁盘的数据区中。
所述的方法,还包括:
步骤17,在系统异常退出并重新启动之后,判断是否满足以下两个条件:所述非易失性内存存储器的缓存区中保存有所述磁盘的缓冲区中的数据;所述非易失性内存存储器的掉电保护区中保存有所述磁盘缓冲区中的数据;
步骤18,当上述两个条件都不满足时,则将所述磁盘缓冲区中的数据写入到磁盘的数据区,且从所述磁盘的缓冲区中移除;
或者,所述的方法,还包括:
步骤19,在系统异常退出并重新启动之后,判断是否满足以下三个条件:所述非易失性内存存储器的掉电保护区保存有第二数据;所述非易失性内存存储器的缓存区中保存有第三数据;所述非易失性内存存储器的掉电保护区内的第二数据的版本号大于所述非易失性内存存储器的缓存区中的第三数据的版本号;
步骤110,当同时满足上述三个条件时,将所述非易失性内存存储器的掉电保护区的第二数据写入到磁盘的数据区,且从所述非易失性内存存储器的掉电保护区中移除;
或者,所述的方法,还包括:
步骤111,在系统异常退出并重新启动之后,判断是否满足以下三个条件:所述非易失性内存存储器的缓冲区中保存有第四数据;所述非易失性内存存储器的掉电保护区中保存有第五数据;所述非易失性内存存储器的缓冲区中的第四数据的版本号大于所述非易失性内存存储器的掉电保护区的第五数据的版本号;
步骤112,当同时满足上述三个条件时,将所述非易失性内存存储器的缓冲区的第四数据写入到磁盘的缓冲区,且从所述非易失性内存存储器的缓冲区中移除。
上述实施例中,通过非易失性内存存储器的掉电保护区中记录直接写入磁盘的数据区的数据,在服务器异常退出重新启动之后,只要扫描非易失性内存存储器的缓存区和掉电保护区中的数据,就可以判断出非易失性内存存储器的缓存区中哪些数据是不需要写入磁盘的数据区的,非易失性内存存储器的缓存区中哪些数据是需要写入磁盘的数据区的。
如图2所示,所述磁盘缓存区的同步方法,包括:
步骤21,判断磁盘的缓存区中的数据大小是否大于第三阈值;
步骤22,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
其中,步骤21包括:
步骤211,对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
步骤212,判断所述数据块的大小是否大于第四阈值。
步骤22包括:
步骤221,当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块对应的元数据信息从所述磁盘的缓存区中移除;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;
步骤222,当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长;所述数据页包括预订比特的数据;
步骤223,如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
其中,所述将所述数据块的第一个数据页写入所述磁盘的数据区的步骤包括:将所述合并指针所在位置的数据页写入磁盘的数据区,且从所述磁盘的缓存区中移除,并更新所述合并指针的位置。
其中,步骤211包括:
在内存中创建合并池;顺序读取磁盘的缓存区中的数据页,依次放到所述合并池中,将所述合并池作为数据块;设置合并指针和读取指针,所述合并指针表示所述合并池中的第一个数据页的位置;所述读取指针表示所述合并池中的最后一个数据页的位置;所述数据页包括预订比特的数据;
其中,所述顺序读取磁盘的缓存区中的数据页,依次放到所述合并池中的步骤包括:
顺序读取磁盘的缓存区中的数据页;
获取当前读取的数据页的版本号;
当当前读取的数据页的版本号小于合并池中的最新数据页版本号,则不将当前读取的数据页加入到合并池中;
当当前读取的数据页的版本号等于所述最新数据页版本号,则将当前读到的数据页加入到合并池中,将当前读取的数据页与合并池中当前最后的数据页合并成一个数据块。
相应的,步骤222可以为:判断所述合并指针所在位置的数据页进入合并池的时长是否大于预定时长。
如图3所示,为本发明所述的一种写缓存的装置,包括:
获取模块31,获取系统的待写入数据;
第一判断模块32,判断所述待写入数据的大小:
第一写入模块33,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
第二写入模块34,当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。
所述装置还包括:
第三写入模块35,当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;
第四写入模块36,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
所述第四写入模块36包括:
合并子模块,对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
第一判断子模块,判断所述数据块的大小是否大于第四阈值;
第一写入子模块,当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;
第二判断子模块,当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据;
第二写入子模块,如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
所述第一写入模块33包括:
第一写入子模块,将所述待写入数据写入非易失性内存存储器的掉电保护区;
第二写入子模块,将所述待写入数据的元数据信息写入非易失性内存存储器的缓存区;
第三写入子模块,将所述待写入数据写入磁盘的数据区;
第一移除子模块,将所述待写入数据的元数据信息从所述非易失性内存存储器的缓存区中移除;
第二移除子模块,将所述待写入数据从所述非易失性内存存储器的掉电保护区中移除。
可选的,所述第一写入模块33包括:
判断子模块,判断所述非易失性内存存储器的缓冲区中是否存储有与所述待写入数据的磁盘地址相同的第一数据;
设置子模块,如果有,则将所述第一数据设置为无效,使得所述第一数据在后续处理中不被同步到所述磁盘的数据区中。
所述装置还包括:
第二判断模块37,在系统异常退出并重新启动之后,判断是否满足以下两个条件:所述非易失性内存存储器的缓存区中保存有所述磁盘的缓冲区中的数据;所述非易失性内存存储器的掉电保护区中保存有所述磁盘缓冲区中的数据;
第五写入模块38,当上述两个条件都不满足时,则将所述磁盘缓冲区中的数据写入到磁盘的数据区,且从所述磁盘的缓冲区中移除;
或者,所述装置还包括:
第三判断模块39,在系统异常退出并重新启动之后,判断是否满足以下三个条件:所述非易失性内存存储器的掉电保护区保存有第二数据;所述非易失性内存存储器的缓存区中保存有第三数据;所述非易失性内存存储器的掉电保护区内的第二数据的版本号大于所述非易失性内存存储器的缓存区中的第三数据的版本号;
第六写入模块310,当同时满足上述三个条件时,将所述非易失性内存存储器的掉电保护区的第二数据写入到磁盘的数据区,且从所述非易失性内存存储器的掉电保护区中移除;
或者,所述装置还包括:
第四判断模块311,在系统异常退出并重新启动之后,判断是否满足以下三个条件:所述非易失性内存存储器的缓冲区中保存有第四数据;所述非易失性内存存储器的掉电保护区中保存有第五数据;所述非易失性内存存储器的缓冲区中的第四数据的版本号大于所述非易失性内存存储器的掉电保护区的第五数据的版本号;
第七写入模块312,当同时满足上述三个条件时,将所述非易失性内存存储器的缓冲区的第四数据写入到磁盘的缓冲区,且从所述非易失性内存存储器的缓冲区中移除。
如图4所示,为本发明所述的一种磁盘缓存区的同步装置,包括:
判断模块41,判断磁盘的缓存区中的数据大小是否大于第三阈值;
写入模块42,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
所述判断模块41包括:
合并子模块,对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
第一判断子模块,判断所述数据块的大小是否大于第四阈值;
写入模块42包括:
第一写入子模块,当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块对应的元数据信息从所述磁盘的缓存区中移除;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;
第二判断子模块,当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长;所述数据页包括预订比特的数据;
第二写入子模块,如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
以下描述本发明的应用场景。
本发明实施例提供一种写缓存方法、缓存同步方法和装置。通过nvram缓存和hdd硬盘缓存区域两层缓存的方式,解决了成本与性能的平衡问题。
如图5所示,为本发明实施例中的数据结构图。本发明中,将非易失性内存存储器分为两部分,一部分为掉电保护区,用于存储大于阈值的数据,一部分为缓冲区,用于存储小于阈值的数据和对应的元数据信息以及大于阈值的数据的元数据信息。元数据信息包括磁盘地址、数据大小,和版本号。版本号用于表示写入缓冲区的数据的新旧。
如图6所示,为本发明写缓存的方法的应用场景,包括:
首先,将数据所在磁盘编号、数据在磁盘上的地址,数据块大小以及数据写入nvdimm;
然后,判断写入数据块是否大于设定阈值;
当为是时,数据写入hdd磁盘数据区,且将数据从nvdimm中移除;
当为否时,数据块追加到hdd缓冲区;数据写入hdd磁盘数据区;将数据所在磁盘编号,数据在磁盘上的地址,数据大小和数据从hdd缓冲区移除;数据从nvdimm中移除。
如图7所示,所述的写缓存方法包括:
首先,在非易失性内存存储器中维护一个递增的版本号。每次收到写入请求时,将该版本号加1,并将版本号作为待写入数据的元数据信息;
然后,判断待写入数据的大小是否大于设定阈值:
如果待写入数据的大小大于设定的阈值,则将缓存区中与待写入数据的磁盘地址相同的数据在磁盘缓冲区中的地址拷贝进入非易失性内存存储器,将大于设定阈值的待写入数据写入到非易失性内存存储器的掉电保护区;然后,将待写入数据写入到磁盘的数据区,然后,将待写入数据和待写入数据磁盘地址相同的数据在缓冲区中的地址从非易失性内存存储器中移除。也就是说,待写入数据写入到非易失内存数据区,数据写入到机械磁盘数据区;若磁盘缓存区中缓存有与待写入数据磁盘地址相同的数据,将磁盘缓冲区中所有与待写入数据磁盘地址相同的数据置为无效,无效状态的数据不用同步到机械磁盘数据区。
如果待写入数据小于设定的阈值,将待写入数据写入非易失性内存存储器的缓存区中;然后,当非易失性内存存储器的缓存区中的数据大于设定阈值,将数据写入到磁盘缓存设备中。也就是说,该步骤为:待写入数据写入到非易失内存数据块中;在数据块大小达到写入阈值时,将非易失内存数据块中的数据写入到机械磁盘缓存区,将待写入数据从非易失内存中移除;然后,合并机械磁盘缓存区的数据,并写入到机械磁盘数据区,将合并完成写入到机械磁盘数据区的数据从机械磁盘缓存区中移除。
写缓存装置包括:
非易失性内存存储器掉电保护区的写入模块,用于将大于设定阈值的待写入数据写入到非易失性内存存储器的掉电保护区。
非易失性内存存储器缓存区的写入模块,用于将小于或者等于设定阈值的待写入数据、待写入数据的元数据信息写入到非易失性内存存储器的缓存区,合并非易失性内存存储器的缓存区中的数据。
磁盘缓存写入模块,用于将非易失性内存存储器缓存模块中合并的待写入数据、待写入数据的元数据信息写入到磁盘的缓存区。
本发明通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。
另外,通过非易失性内存存储器的掉电保护区中记录直接写入磁盘的数据区的数据,在服务器异常退出重新启动之后,只要扫描非易失性内存存储器的缓存区和掉电保护区中的数据,就可以判断出非易失性内存存储器的缓存区中哪些数据是不需要写入磁盘的数据区的,非易失性内存存储器的缓存区中哪些数据是需要写入磁盘的数据区的。
本发明实施例提供一种缓存同步装置,包括:
合并模块,用于读取磁盘缓存区中的数据,创建一个内存中的合并池,合并池的大小可以根据系统内存大小设定。合并模块中保存两个指针。一个是合并指针,指向从磁盘的缓存区中第一个读到合并池中的缓存页位置;一个是读取指针,指向从磁盘的缓存区中最后一个读到合并池中的缓存页位置。
磁盘写模块,将合并模块合并好的数据写入到磁盘的数据区上。
本发明提供的缓存同步方法,包括:
首先,合并模块顺序读取磁盘缓存区中的数据页,并增加读取指针;
然后,如果读到的数据页版本号小于最新数据页版本号,则不将数据页加入到合并池中;
然后,如果版本号等于最新数据页版本号,则将数据页加入到合并池中,并让数据页与合并池中临近的页进行合并成一个数据块;
然后,如果合并之后的数据块大于等于设定阈值,则将数据块写入磁盘中,将数据块从合并池中移除;
然后,如果合并指针所在的位置数据页进入合并池已经大于等于设定的时间,也将磁盘的缓存区当前合并指针所在位置的数据页写入磁盘的数据区,并增加磁盘的缓存区的合并指针。
本发明可以将磁盘的IOPS与吞吐率很好的进行结合,将磁盘的IOPS从200提升至3w,吞吐率提升至磁盘最大值。
以下描述本发明的具体实施例,包括:
步骤1,系统启动。初始化非易失性内存存储器的缓存区、非易失性内存存储器的掉电保护区、合并指针、读取指针、写入指针、最新数据页查找树、合并池。
步骤1包括:
步骤11,使用非易失性内存恢复函数,恢复出非易失性内存存储器的缓存区、非易失性内存存储器的掉电保护区。
步骤12,构建最新数据页查找树。最新数据页查找树为一颗红黑树,其关键字为数据页在磁盘的数据区的页号,值为数据页的最新版本号。从非易失性内存中读取磁盘的缓存区的合并指针和写入指针,将读取指针置为与合并指针相同的值;创建一个临时指针,临时指针的值与合并指针的值相同;根据流程图构建最新数据页查找树。读取非易失性内存缓存区中的数据页,调整和修改最新数据页查找树。读取非易失性内存缓存区中的掉电保护区的数据,调整和修改最新数据页查找树。
如图8所示,包括:顺序读取非易失性内存缓存中的所有缓存单元中的数据页;如果读取的数据页在查找树中不存在,将数据页插入到查找树中;如果读取的数据页在查找树中存在且版本号大于查找树中的数据页版本号,更新查找树中的数据页版本号。
如图9所示,包括:读取非易失性内存掉电保护区中所有的数据块;如果读取的数据块中的数据页在查找树中不存在,将数据页插入到查找树中;如果读取的数据页在查找树中存在且数据块版本号大于查找树中的数据页版本号,更新查找树中的数据页版本号。
步骤2,系统运转。
步骤2包括:
步骤21,得到待写入数据请求,增加缓存系统版本号。
步骤21具体为:
若待写入数据的大小大于设定阈值,将待写入数据写入到非易失性内存的掉电保护区;检查数据页查找树中是否有与待写入数据中数据页号相同的数据;如果存在与待写入数据中数据页号相同的数据,将这些数据页版本号修改为数据页版本号,将缓存系统版本号、待写入数据磁盘地址作为元记录追加到非易失性内存的缓存区中;检查合并池中是否存在有与待写入数据的磁盘地址相同的数据页;如果存在,将这些数据页从合并池中移除;
若待写入数据的大小小于或者等于设定阈值,将缓存系统版本号、待写入数据的磁盘地址、待写入数据的大小和待写入数据作为数据记录追加到非易失性内存的缓存区的缓存单元中;检查查找树中是否存在与待写入数据中数据页号相同的数据;如果存在与待写入数据中数据页号相同的数据,将查找树中最新的数据页版本号修改为最新的系统版本号。
步骤22,合并步骤。
步骤22具体包括:
首先,合并模块中保存两个数据结构:一颗查找树以添加到合并池中的时间和在缓存中的数据页用跳表进行保存,递增合并指针。合并指针所指向的记录为元记录。
然后,判断查找树中元记录对应的数据页号版本号是否与元记录中一致;
然后,如果一致,则将数据页从查找树中移除;
然后,如果不一致,则合并指针指向下一条记录。合并指针指向的记录为数据记录。
然后,读取数据记录中的所有数据页;判断数据页版本号是否等于查找树中的版本号;如果等于,则将数据页加入到合并池中,并将数据页从查找树中移除。
如图10所示,为本发明的数据页最新查找树流程图,包括:
判断临时指针大于是否等于写入指针;
如果为否,则退出;
如果为是,则读取临时指针指向的数据页和数据页版本号;
判断数据页是否在查找树中存在?
如果为否,则将数据页插入到查找树中,值为数据页版本号;临时指针增加1;并跳到上述第一步;
如果为是,则判断查找数中的版本号小于读取的数据页版本号;如果为是,则更新查找树中的数据页版本号,且临时指针增加1,并跳到上述第一步;如果为否,临时指针增加1,并跳到上述第一步。
本领域普通技术人员可以理解:附图只是一个实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置或系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置及系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
Claims (9)
1.一种写缓存的方法,其特征在于,包括:
获取系统的待写入数据;
判断所述待写入数据的大小:
当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;
当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;
当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息;具体为:
对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
判断所述数据块的大小是否大于第四阈值;
当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;
当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据;
如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
2.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据写入磁盘的数据区的步骤具体为:
判断所述非易失性内存存储器的缓冲区中是否存储有与所述待写入数据的磁盘地址相同的第一数据;
如果有,则将所述第一数据设置为无效,使得所述第一数据在后续处理中不被同步到所述磁盘的数据区中。
3.根据权利要求1所述的方法,其特征在于,还包括:
在系统异常退出并重新启动之后,判断是否满足以下两个条件:
所述非易失性内存存储器的缓存区中保存有所述磁盘的缓冲区中的数据;
所述非易失性内存存储器的掉电保护区中保存有所述磁盘缓冲区中的数据;
当上述两个条件都不满足时,则将所述磁盘缓冲区中的数据写入到磁盘的数据区,且从所述磁盘的缓冲区中移除;或者
在系统异常退出并重新启动之后,判断是否满足以下三个条件:
所述非易失性内存存储器的掉电保护区保存有第二数据;
所述非易失性内存存储器的缓存区中保存有第三数据;
所述非易失性内存存储器的掉电保护区内的第二数据的版本号大于所述非易失性内存存储器的缓存区中的第三数据的版本号;
当同时满足上述三个条件时,将所述非易失性内存存储器的掉电保护区的第二数据写入到磁盘的数据区,且从所述非易失性内存存储器的掉电保护区中移除;或者
在系统异常退出并重新启动之后,判断是否满足以下三个条件:
所述非易失性内存存储器的缓冲区中保存有第四数据;
所述非易失性内存存储器的掉电保护区中保存有第五数据;
所述非易失性内存存储器的缓冲区中的第四数据的版本号大于所述非易失性内存存储器的掉电保护区的第五数据的版本号;
当同时满足上述三个条件时,将所述非易失性内存存储器的缓冲区的第四数据写入到磁盘的缓冲区,且从所述非易失性内存存储器的缓冲区中移除。
4.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据写入磁盘的数据区的步骤具体为:
将所述待写入数据写入非易失性内存存储器的掉电保护区;
将所述待写入数据的元数据信息写入非易失性内存存储器的缓存区;
将所述待写入数据写入磁盘的数据区;
将所述待写入数据的元数据信息从所述非易失性内存存储器的缓存区中移除;
将所述待写入数据从所述非易失性内存存储器的掉电保护区中移除。
5.一种磁盘缓存区的同步方法,其特征在于,包括:
判断磁盘的缓存区中的数据大小是否大于第三阈值,具体为:
对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;判断所述数据块的大小是否大于第四阈值;
所述当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息的步骤包括:
当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长;所述数据页包括预订比特的数据;如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除;
当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。
6.根据权利要求5所述的方法,其特征在于,
所述对所述磁盘的缓存区中的数据进行合并,合并成一个数据块的步骤包括:在内存中创建合并池;顺序读取磁盘的缓存区中的数据页,依次放到所述合并池中,将所述合并池作为数据块;设置合并指针和读取指针,所述合并指针表示所述合并池中的第一个数据页的位置;所述读取指针表示所述合并池中的最后一个数据页的位置;所述数据页包括预订比特的数据;
所述判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长的步骤包括:判断所述合并指针所在位置的数据页进入合并池的时长是否大于或等于预定时长;
所述将所述数据块的第一个数据页写入所述磁盘的数据区的步骤包括:将所述合并指针所在位置的数据页写入磁盘的数据区,且从所述磁盘的缓存区中移除,并更新所述合并指针的位置。
7.根据权利要求6所述的方法,其特征在于,所述顺序读取磁盘的缓存区中的数据页,依次放到所述合并池中的步骤包括:
顺序读取磁盘的缓存区中的数据页;
获取当前读取的数据页的版本号;
当当前读取的数据页的版本号小于合并池中的最新数据页版本号,则不将当前读取的数据页加入到合并池中;
当当前读取的数据页的版本号等于所述最新数据页版本号,则将当前读到的数据页加入到合并池中,将当前读取的数据页与合并池中当前最后的数据页合并成一个数据块。
8.一种写缓存的装置,其特征在于,包括:
获取模块,获取系统的待写入数据;
第一判断模块,判断所述待写入数据的大小:
第一写入模块,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;
第二写入模块,当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;
所述装置还包括:
第三写入模块,当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;
第四写入模块,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息;
第四写入模块对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
判断所述数据块的大小是否大于第四阈值;
当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;
当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据;
如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
9.一种磁盘缓存区的同步装置,其特征在于,包括:
判断模块,判断磁盘的缓存区中的数据大小是否大于第三阈值;
写入模块,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息;
所述判断模块包括:
合并子模块,对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
第一判断子模块,判断所述数据块的大小是否大于第四阈值;
写入模块包括:
第一写入子模块,当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;
第二判断子模块,当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长;所述数据页包括预订比特的数据;
第二写入子模块,如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510825436.9A CN105511802B (zh) | 2015-11-24 | 2015-11-24 | 写缓存的方法和装置以及磁盘缓存区的同步方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510825436.9A CN105511802B (zh) | 2015-11-24 | 2015-11-24 | 写缓存的方法和装置以及磁盘缓存区的同步方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105511802A CN105511802A (zh) | 2016-04-20 |
CN105511802B true CN105511802B (zh) | 2018-06-05 |
Family
ID=55719822
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510825436.9A Expired - Fee Related CN105511802B (zh) | 2015-11-24 | 2015-11-24 | 写缓存的方法和装置以及磁盘缓存区的同步方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105511802B (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106371764A (zh) * | 2016-08-23 | 2017-02-01 | 浪潮(北京)电子信息产业有限公司 | 一种虚拟块设备数据处理的方法及装置 |
CN107797755B (zh) * | 2016-09-05 | 2021-01-08 | 上海宝存信息科技有限公司 | 固态硬盘系统的原子写入方法以及使用该方法的装置 |
CN106782668B (zh) * | 2016-11-16 | 2020-03-10 | 郑州云海信息技术有限公司 | 一种测试内存读写极限速度的方法及装置 |
CN108509144B (zh) * | 2017-02-27 | 2020-12-15 | 中兴通讯股份有限公司 | 数据保存方法和装置 |
CN107153619A (zh) * | 2017-06-14 | 2017-09-12 | 湖南国科微电子股份有限公司 | 固态硬盘数据缓存方法及装置 |
CN107329694B (zh) * | 2017-06-22 | 2021-05-18 | 苏州奈特力智能科技有限公司 | 数据存储控制方法、控制装置及存储设备 |
CN107402724B (zh) * | 2017-07-31 | 2020-07-24 | 苏州浪潮智能科技有限公司 | 一种SSD中Journal元数据的保存方法及系统 |
CN108038003A (zh) * | 2017-12-29 | 2018-05-15 | 北京酷我科技有限公司 | 一种移动端存储策略 |
CN108089825B (zh) * | 2018-01-11 | 2020-07-07 | 郑州云海信息技术有限公司 | 一种基于分布式集群的存储系统 |
CN110874273B (zh) * | 2018-08-31 | 2023-06-13 | 阿里巴巴集团控股有限公司 | 一种数据处理方法及装置 |
CN109144733A (zh) * | 2018-09-06 | 2019-01-04 | 北京京东尚科信息技术有限公司 | 基于Alluxio的数据处理方法及系统 |
CN109597568B (zh) * | 2018-09-18 | 2022-03-04 | 天津字节跳动科技有限公司 | 一种数据存储方法、装置、终端设备及存储介质 |
CN109558073A (zh) * | 2018-10-25 | 2019-04-02 | 深圳点猫科技有限公司 | 一种基于教育系统的磁盘延长寿命的方法及电子设备 |
CN109271570A (zh) * | 2018-10-30 | 2019-01-25 | 郑州云海信息技术有限公司 | 一种元数据管理查询的方法 |
CN109471596B (zh) * | 2018-10-31 | 2022-03-18 | 北京小米移动软件有限公司 | 数据写入方法、装置、设备及存储介质 |
CN109542662B (zh) * | 2018-11-23 | 2022-04-05 | 北京锐安科技有限公司 | 一种内存管理方法、装置、服务器及存储介质 |
CN109582684B (zh) * | 2018-11-30 | 2021-11-09 | 深圳市乐信信息服务有限公司 | 一种本地缓存数据的更新方法、装置、服务器及存储介质 |
CN109710782B (zh) * | 2018-11-30 | 2023-11-28 | 武汉烽火众智智慧之星科技有限公司 | 卡口图片管理优化方法 |
CN109582244B (zh) * | 2018-12-05 | 2022-08-12 | 广东浪潮大数据研究有限公司 | 一种元数据落盘方法、装置、终端及计算机可读存储介质 |
CN109614045B (zh) * | 2018-12-06 | 2022-04-15 | 广东浪潮大数据研究有限公司 | 一种元数据落盘方法、装置及相关设备 |
CN109634528A (zh) * | 2018-12-12 | 2019-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种目标数据的落盘方法、装置、设备及存储介质 |
CN111435286B (zh) * | 2019-01-14 | 2023-12-05 | 深圳市茁壮网络股份有限公司 | 一种数据存储方法、装置和系统 |
CN109918381B (zh) * | 2019-03-13 | 2021-06-11 | 北京百度网讯科技有限公司 | 用于存储数据的方法和装置 |
CN111694703B (zh) * | 2019-03-13 | 2023-05-02 | 阿里云计算有限公司 | 缓存区管理方法、装置和计算机设备 |
CN110032526B (zh) * | 2019-04-16 | 2021-10-15 | 苏州浪潮智能科技有限公司 | 一种基于非易失性介质的页缓存方法、系统及设备 |
CN112346647B (zh) * | 2019-08-06 | 2024-03-29 | 浙江宇视科技有限公司 | 数据存储方法、装置、设备和介质 |
CN111324309A (zh) * | 2020-02-21 | 2020-06-23 | 北京天融信网络安全技术有限公司 | 一种数据存储方法及电子设备 |
CN111666046B (zh) * | 2020-05-20 | 2023-07-25 | 西安奥卡云数据科技有限公司 | 一种数据存储方法、装置及设备 |
CN113742131B (zh) * | 2020-05-29 | 2024-04-19 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、电子设备和计算机程序产品 |
CN113805787A (zh) * | 2020-06-11 | 2021-12-17 | 中移(苏州)软件技术有限公司 | 数据写入方法、装置、设备及存储介质 |
CN114371810B (zh) * | 2020-10-15 | 2023-10-27 | 中国移动通信集团设计院有限公司 | Hdfs的数据存储方法及装置 |
CN112306413B (zh) * | 2020-10-30 | 2024-05-07 | 北京百度网讯科技有限公司 | 用于访问内存的方法、装置、设备以及存储介质 |
CN113138945B (zh) * | 2021-04-16 | 2023-11-21 | 宜通世纪科技股份有限公司 | 一种数据缓存方法、装置、设备及介质 |
CN113485640A (zh) * | 2021-06-23 | 2021-10-08 | 至誉科技(武汉)有限公司 | 数据写入方法、装置、设备及可读存储介质 |
CN113535092B (zh) * | 2021-07-20 | 2024-05-17 | 阿里巴巴创新公司 | 用于减少内存元数据的存储引擎、方法和可读介质 |
WO2024036505A1 (en) * | 2022-08-17 | 2024-02-22 | Micron Technology, Inc. | Atomicity assurance in write through mode |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854388A (zh) * | 2010-05-17 | 2010-10-06 | 浪潮(北京)电子信息产业有限公司 | 一种集群存储中并行访问大量小文件的方法及系统 |
CN103399713A (zh) * | 2013-08-02 | 2013-11-20 | 浙江大学 | 平衡多级存储性能与固态硬盘寿命的数据缓冲方法 |
CN103678405A (zh) * | 2012-09-21 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 邮件索引建立方法及系统、邮件搜索方法及系统 |
CN104111804A (zh) * | 2014-06-27 | 2014-10-22 | 暨南大学 | 一种分布式文件系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6064529B2 (ja) * | 2012-11-07 | 2017-01-25 | 株式会社リコー | 情報処理装置 |
-
2015
- 2015-11-24 CN CN201510825436.9A patent/CN105511802B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101854388A (zh) * | 2010-05-17 | 2010-10-06 | 浪潮(北京)电子信息产业有限公司 | 一种集群存储中并行访问大量小文件的方法及系统 |
CN103678405A (zh) * | 2012-09-21 | 2014-03-26 | 阿里巴巴集团控股有限公司 | 邮件索引建立方法及系统、邮件搜索方法及系统 |
CN103399713A (zh) * | 2013-08-02 | 2013-11-20 | 浙江大学 | 平衡多级存储性能与固态硬盘寿命的数据缓冲方法 |
CN104111804A (zh) * | 2014-06-27 | 2014-10-22 | 暨南大学 | 一种分布式文件系统 |
Also Published As
Publication number | Publication date |
---|---|
CN105511802A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511802B (zh) | 写缓存的方法和装置以及磁盘缓存区的同步方法和装置 | |
EP3832450A1 (en) | Method for aggregation optimization of time series data | |
US6353910B1 (en) | Method and apparatus for implementing error correction coding (ECC) in a dynamic random access memory utilizing vertical ECC storage | |
CN104238962B (zh) | 向缓存中写入数据的方法及装置 | |
CN106815275B (zh) | 一种通过备用数据库实现主备数据库同步的方法与设备 | |
CN100585740C (zh) | 闪存装置和闪存的访问方法 | |
US9146933B2 (en) | Compressed storage access system with uncompressed frequent use data | |
CN109496292A (zh) | 一种磁盘管理方法、磁盘管理装置及电子设备 | |
CN104050103A (zh) | 一种用于数据恢复的缓存替换方法与系统 | |
CN107533489B (zh) | 拷贝数据库中表的值的方法、装置及数据结构 | |
US9619400B2 (en) | Efficient management of computer memory using memory page associations and memory compression | |
Riadi et al. | Experimental Investigation of Frozen Solid State Drive on Digital Evidence with Static Forensic Methods | |
CN103207916B (zh) | 元数据处理的方法和装置 | |
US9286934B2 (en) | Data duplication in tape drives | |
CN106980618A (zh) | 基于MongoDB分布式集群架构的文件存储方法和系统 | |
CN105095352B (zh) | 应用于分布式系统的数据处理方法及装置 | |
CN115202588B (zh) | 数据存储方法及装置、数据恢复方法及装置 | |
CN115933994A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN101677384B (zh) | 数据存储管理系统及方法 | |
CN109521957A (zh) | 一种数据处理方法和装置 | |
CN111782146B (zh) | 实现写缓存的方法、装置、计算机设备及存储介质 | |
CN104539746B (zh) | 一种访问数据的方法、nas机头和san | |
US7631144B1 (en) | Write latency efficient storage system | |
He et al. | Read as Needed: Building {WiSER}, a {Flash-Optimized} Search Engine | |
CN107526548B (zh) | 多namespace的固态硬盘及数据删除方法与装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: 100085 Haidian District, Beijing, Shanghai Information Industry Base Development Road No. 1, 7 level 7017. Applicant after: Beijing lianwo era Polytron Technologies Inc Address before: 100097 Haidian District, Beijing, West Fourth Ring Road, 10 North level 1 Applicant before: DAOWOO CO., LTD. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20180605 Termination date: 20201124 |
|
CF01 | Termination of patent right due to non-payment of annual fee |