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

文档序号:9750487阅读:来源:国知局
据区中的步骤包括: 对所述磁盘的缓存区中的数据进行合并,合并成一个数据块; 判断所述数据块的大小是否大于第四阈值; 当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块和对应的元数据信息从所述磁盘的缓存区中移除; 当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长,所述数据页包括预订比特的数据; 如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。3.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据写入磁盘的数据区的步骤具体为: 判断所述非易失性内存存储器的缓冲区中是否存储有与所述待写入数据的磁盘地址相同的第一数据; 如果有,则将所述第一数据设置为无效,使得所述第一数据在后续处理中不被同步到所述磁盘的数据区中。4.根据权利要求1所述的方法,其特征在于,还包括: 在系统异常退出并重新启动之后,判断是否满足以下两个条件: 所述非易失性内存存储器的缓存区中保存有所述磁盘的缓冲区中的数据; 所述非易失性内存存储器的掉电保护区中保存有所述磁盘缓冲区中的数据; 当上述两个条件都不满足时,则将所述磁盘缓冲区中的数据写入到磁盘的数据区,且从所述磁盘的缓冲区中移除;或者 在系统异常退出并重新启动之后,判断是否满足以下三个条件: 所述非易失性内存存储器的掉电保护区保存有第二数据; 所述非易失性内存存储器的缓存区中保存有第三数据; 所述非易失性内存存储器的掉电保护区内的第二数据的版本号大于所述非易失性内存存储器的缓存区中的第三数据的版本号; 当同时满足上述三个条件时,将所述非易失性内存存储器的掉电保护区的第二数据写入到磁盘的数据区,且从所述非易失性内存存储器的掉电保护区中移除;或者在系统异常退出并重新启动之后,判断是否满足以下三个条件: 所述非易失性内存存储器的缓冲区中保存有第四数据; 所述非易失性内存存储器的掉电保护区中保存有第五数据; 所述非易失性内存存储器的缓冲区中的第四数据的版本号大于所述非易失性内存存储器的掉电保护区的第五数据的版本号; 当同时满足上述三个条件时,将所述非易失性内存存储器的缓冲区的第四数据写入到磁盘的缓冲区,且从所述非易失性内存存储器的缓冲区中移除。5.根据权利要求1所述的方法,其特征在于,所述将所述待写入数据写入磁盘的数据区的步骤具体为: 将所述待写入数据写入非易失性内存存储器的掉电保护区; 将所述待写入数据的元数据信息写入非易失性内存存储器的缓存区; 将所述待写入数据写入磁盘的数据区; 将所述待写入数据的元数据信息从所述非易失性内存存储器的缓存区中移除; 将所述待写入数据从所述非易失性内存存储器的掉电保护区中移除。6.一种磁盘缓存区的同步方法,其特征在于,包括: 判断磁盘的缓存区中的数据大小是否大于第三阈值; 当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。7.根据权利要求6所述的方法,其特征在于, 所述判断磁盘的缓存区中的数据大小是否大于第三阈值的步骤包括: 对所述磁盘的缓存区中的数据进行合并,合并成一个数据块;判断所述数据块的大小是否大于第四阈值; 所述当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息的步骤包括: 当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块对应的元数据信息从所述磁盘的缓存区中移除;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号;当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长;所述数据页包括预订比特的数据;如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。8.根据权利要求7所述的方法,其特征在于, 所述对所述磁盘的缓存区中的数据进行合并,合并成一个数据块的步骤包括:在内存中创建合并池;顺序读取磁盘的缓存区中的数据页,依次放到所述合并池中,将所述合并池作为数据块;设置合并指针和读取指针,所述合并指针表示所述合并池中的第一个数据页的位置;所述读取指针表示所述合并池中的最后一个数据页的位置;所述数据页包括预订比特的数据; 所述判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长的步骤包括:判断所述合并指针所在位置的数据页进入合并池的时长是否大于预定时长; 所述将所述数据块的第一个数据页写入所述磁盘的数据区的步骤包括:将所述合并指针所在位置的数据页写入磁盘的数据区,且从所述磁盘的缓存区中移除,并更新所述合并指针的位置。9.根据权利要求8所述的方法,其特征在于,所述顺序读取磁盘的缓存区中的数据页,依次放到所述合并池中的步骤包括: 顺序读取磁盘的缓存区中的数据页; 获取当前读取的数据页的版本号; 当当前读取的数据页的版本号小于合并池中的最新数据页版本号,则不将当前读取的数据页加入到合并池中; 当当前读取的数据页的版本号等于所述最新数据页版本号,则将当前读到的数据页加入到合并池中,将当前读取的数据页与合并池中当前最后的数据页合并成一个数据块。10.一种写缓存的装置,其特征在于,包括: 获取模块,获取系统的待写入数据; 第一判断模块,判断所述待写入数据的大小: 第一写入模块,当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区; 第二写入模块,当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。11.根据权利要求10所述的装置,其特征在于,所述装置还包括: 第三写入模块,当所述非易失性内存存储器的缓存区中的数据大小大于第二阈值时,将所述非易失性内存存储器的缓存区中的数据和对应的元数据信息写入磁盘的缓存区中;并移除所述非易失性内存存储器的缓存区中的数据和对应的元数据信息; 第四写入模块,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据?目息O12.—种磁盘缓存区的同步装置,其特征在于,包括: 判断模块,判断磁盘的缓存区中的数据大小是否大于第三阈值; 写入模块,当所述磁盘的缓存区中的数据大小大于第三阈值时,将所述磁盘的缓存区中的数据写入到磁盘的数据区中;并移除所述磁盘的缓存区中的数据和对应的元数据信息。13.根据权利要求12所述的装置,其特征在于, 所述判断模块包括: 合并子模块,对所述磁盘的缓存区中的数据进行合并,合并成一个数据块; 第一判断子模块,判断所述数据块的大小是否大于第四阈值; 写入模块包括: 第一写入子模块,当所述数据块的大小大于第四阈值时,将所述数据块写入磁盘的数据区中;并将所述数据块对应的元数据信息从所述磁盘的缓存区中移除;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号; 第二判断子模块,当所述数据块小于或者等于所述第四阈值时,判断所述数据块中的第一个数据页被合并的时长是否大于或等于设定时长;所述数据页包括预订比特的数据; 第二写入子模块,如果被合并的时长大于或等于设定时长,将所述数据块的第一个数据页写入所述磁盘的数据区,并将所述第一个数据页和对应的元数据信息从所述磁盘的缓存区中移除。
【专利摘要】本发明实施例提供了一种写缓存的方法和装置以及磁盘缓存区的同步方法和装置。所述写缓存的方法,包括:获取系统的待写入数据;判断所述待写入数据的大小:当所述待写入数据的大小大于第一阈值时,将所述待写入数据写入磁盘的数据区;当所述待写入数据的大小小于或者等于所述第一阈值时,将所述待写入数据和对应的元数据信息写入非易失性内存存储器的缓存区中;所述元数据信息包括:待写入数据的磁盘地址、数据大小和版本号,所述版本号用于表示系统更新待写入数据的序号。本发明通过将待写入数据直接写入到磁盘的数据区,让大吞吐量数据不用经过磁盘的缓存区进行缓存,减少大吞吐量应用对缓存区空间的占用率,减少对缓存设备的压力。
【IPC分类】G06F3/06
【公开号】CN105511802
【申请号】CN201510825436
【发明人】阳立堂, 杨苑, 游成毅
【申请人】北京达沃时代科技有限公司
【公开日】2016年4月20日
【申请日】2015年11月24日
当前第5页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1