写缓存的方法和装置以及磁盘缓存区的同步方法和装置制造方法及图纸

技术编号:14577396 阅读:66 留言:0更新日期:2017-02-07 19:56
本发明专利技术实施例提供了一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置。所述写缓存的方法,包括:获取系统的待写入数据;判断所述待写入数据的大小:当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。本发明专利技术通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。

【技术实现步骤摘要】

本专利技术涉及计算机技术,尤其涉及一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置
技术介绍
目前,很多新型存储介质具有更好的访问性能,使用这些新型存储介质作为写缓存,可以提升写入速度,合并小IO聚合成大的IO操作,来提升hdd磁盘(HardDiskDrive硬盘驱动器)的每秒小IO的的操作个数。但是,由于新型存储介质的成本昂贵,所以使用新型存储介质作为写缓存时,缓存容量都很小,在应付吞吐率较高的应用环境时,写缓存被迅速写满,写入性能会急速下降。如何提高写缓存应付长时间持续压力的写入,是设计写缓存时面对的主要问题。非易失性随机存取存储器nvram(nonvolatilerandomaccessmemory)和nvdimm技术(一种集成了动态随机存取存储器DRAM+非易失性内存芯片的内存条规格)的发展和商用,使得访问非易失性存储器的性能达到和主存储器的性能相当。而hdd磁盘在顺序写入的粒度达到1MB时,可以达到120MBps以上,以4KB的IO来进行计算,则单个hdd磁盘的IOPS(Input/OutputOperationsPerSecond,即每秒进行读写)可以达到30K。现有的写缓存实现中,都是将缓存放在更快速的存储介质上,但是越快速的存储介质,其成本越高,容量越小。
技术实现思路
本专利技术的实施例提供了一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置,能够减少大吞吐量应用对缓存区空间的占用率。为了实现上述目的,本专利技术采取了如下技术方案。一种写缓存的方法,包括:获取系统的待写入数据;判断所述待写入数据的大小:当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。所述当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中的步骤包括:对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;判断所述数据块的大小是否大于第四阈值;当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据;如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。一种磁盘缓存区的同步方法,包括:判断磁盘的缓存区中的数据大小是否大于第三阈值;当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。一种写缓存的装置,包括:获取模块,获取系统的待写入数据;第一判断模块,判断所述待写入数据的大小:第一写入模块,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;第二写入模块,当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。一种磁盘缓存区的同步装置,包括:判断模块,判断磁盘的缓存区中的数据大小是否大于第三阈值;写入模块,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。由上述本专利技术的实施例提供的技术方案可以看出,本专利技术实施例中,通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。本专利技术附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本专利技术的实践了解到。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术实施例一提供的一种写缓存的方法的处理流程图;图2为本专利技术实施例一提供的一种写缓存的装置的连接示意图;图3为本专利技术实施例一提供的一种磁盘缓存区的同步方法的处理流程图;图4为本专利技术实施例一提供的一种磁盘缓存区的同步装置的连接示意图。图5为本专利技术实施例中的数据结构图;图6为本专利技术写缓存的方法的应用场景;图7为本专利技术写缓存的方法的另一应用场景;图8为本专利技术实施例中读取非易失性内存缓存区中的缓存区的数据的处理流程图;图9为本专利技术实施例中读取非易失性内存缓存区中的掉电保护区的数据的处理流程图;图10为本专利技术的数据页最新查找树的流程图。具体实施方式下面详细描述本专利技术的实施方式,所述实施方式的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本专利技术,而不能解释为对本专利技术的限制。本
技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本专利技术的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接本文档来自技高网
...
写缓存的方法和装置以及磁盘缓存区的同步方法和装置

【技术保护点】
一种写缓存的方法,其特征在于,包括:获取系统的待写入数据;判断所述待写入数据的大小:当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息;当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。

【技术特征摘要】
1.一种写缓存的方法,其特征在于,包括:
获取系统的待写入数据;
判断所述待写入数据的大小:
当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的
数据区;
当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数
据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息
包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统
更新待写入数据的序号;
当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所
述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存
区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信
息;
当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区
中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的
元数据信息。
2.根据权利要求1所述的方法,其特征在于,所述当所述磁盘的缓存区中
的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据
区中的步骤包括:
对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;
判断所述数据块的大小是否大于第四阈值;
当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区
中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除;
当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个
数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数
据;
如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写
入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘
的缓存区中移除。
3.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据写入
磁盘的数据区的步骤具体为:
判断所述非易失性内存存储器的缓冲区中是否存储有与所述待写入数据的
磁盘地址相同的第一数据;
如果有,则将所述第一数据设置为无效,使得所述第一数据在后续处理中
不被同步到所述磁盘的数据区中。
4.根据权利要求1所述的方法,其特征在于,还包括:
在系统异常退出并重新启动之后,判断是否满足以下两个条件:
所述非易失性内存存储器的缓存区中保存有所述磁盘的缓冲区中的数据;
所述非易失性内存存储器的掉电保护区中保存有所述磁盘缓冲区中的数
据;
当上述两个条件都不满足时,则将所述磁盘缓冲区中的数据写入到磁盘的
数据区,且从所述磁盘的缓冲区中移除;或者
在系统异常退出并重新启动之后,判断是否满足以下三个条件:
所述非易失性内存存储器的掉电保护区保存有第二数据;
所述非易失性内存存储器的缓存区中保存有第三数据;
所述非易失性内存存储器的掉电保护区内的第二数据的版本号大于所述非
易失性内存存储器的缓存区中的第三数据的版本号;
当同时满足上述三个条件时,将所述非易失性内存存储器的掉电保护区的
第二数据写入到磁盘的数据区,且从所述非易失性内存存储器的掉电保护区中
移除;或者
在系统异常退出并重新启动之后,判断是否满足以下三个条件:
所述非易失性内存存储器的缓冲区中保存有第四数据;
所述非易失性内存存储器的掉电保护区中保存有第五数据;
所述非易失性内存存储器的缓冲区中的第四数据的版本号大于所述非易失
性内存存储器的掉电保护区的第五数据的版本号;
当同时满足上述三个条件时,将所述非易失性内存存储器的缓冲区的第四
数据写入到磁盘的缓冲区,且从所述非易失性内存存储器的缓冲区中移除。
5.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据写入
磁盘的数据区的步骤具体为:
将所述待写入数据写入非易失性内存存储器的掉电保护区;
将所述待写入数据的元数据信息写入非易失性内存存储器的缓存区;
将所述待写入数据写入磁盘的数据区;
将所述待写入数据的元数据信息从所述非易失性内存存储器的缓存区中移
除;
将所述待写入数据从所述非易失性内存存储器的掉电保护区中移除。
6.一种磁盘缓存区的同步方法,其特征在于,包括:
判断磁盘的缓存区中的数据大小是否大于第三阈值;
当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区
中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的
元数据信息。
7.根据权利要求6所述的方法,其特征在于,
所述判断磁盘的缓存区中的数据大小是否大于第三阈值的步骤包括:
对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;判断所述数
据块的大小是否大于第四阈值;
所述当所述磁...

【专利技术属性】
技术研发人员:阳立堂杨苑游成毅
申请(专利权)人:北京达沃时代科技有限公司
类型:发明
国别省市:北京;11

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1