处理缓存数据的方法技术

技术编号:9900247 阅读:88 留言:0更新日期:2014-04-10 11:17
本发明专利技术公开了一种处理缓存数据的方法,包括:获取磁盘中的被操作文件的文件操作信息,文件操作信息包括文件操作类型;当文件操作类型为文件删除操作时,将固态硬盘SSD缓存中的被操作文件对应的数据块置为无效。本发明专利技术通过获取删除磁盘中目标文件的操作信息,将SSD缓存中目标文件对应的数据块置为无效,从而避免出现在磁盘中的目标文件被删除之后,由于SSD缓存中仍然存有该目标文件,将该目标文件重新写回磁盘中的问题。

【技术实现步骤摘要】
处理缓存数据的方法及装置
本专利技术涉及存储领域,具体涉及一种处理缓存数据的方法及装置。
技术介绍
在计算机系统中,输入输出(Input/Output,I/O)性能是衡量系统整体性能的重要指标。为了提高I/O性能,目前开始使用I/O性能优异的固态硬盘(SolidStateDevice,SSD)设备作为硬盘驱动器(HardDiskDriver,HDD)磁盘的缓存设备,将HDD磁盘的热点数据缓存到SSD设备中,利用SSD设备完成后续对热点数据的I/O操作。具体的,如图1所示,在计算机存储系统中,对于业务发起的读操作,若所需读取的数据已缓存在SSD中,则从SSD读取该数据到内存并返回给业务,如读取数据块b的操作;若还未缓存到SSD上,则将数据读取到内存中,并将该数据写入到SSD中,如读取数据块c的操作。对于业务发起的写操作,若所需写入的数据已缓存在SSD中,则将数据写入到SSD设备的对应位置,如写入数据块a的操作;若未缓存,则从SSD中找出一个未被使用的块或缓存了较冷数据的块,将新数据写入到SSD中,并将该块数据置脏。当缓存中的脏数据块的达到预设的值后,会将部分脏数据块回写到HDD磁盘中。因此,将SSD作为缓存设备,可以提高SSD中的数据块的I/O的传输速度。但是,在实际进行文件操作过程中,我们发现,文件操作处理的对象是磁盘中的数据块,并没有包含缓存设备中保存的数据块,而且缓存设备无法感知文件操作,无法及时更新。例如,在对一个文件进行文件删除操作后,磁盘中的该文件数据被删除了,但是SSD仍然缓存着该文件数据,而且该文件数据还仍然为脏数据,这使得SSD中的该文件数据将在后续的某个时刻回写到磁盘中。因此,现有的这种处理缓存数据的方法由于无法及时删除SSD中的脏数据,导致SSD空间浪费,而且这些脏数据将被回写到磁盘上,使得文件删除操作删去的数据重新写入磁盘,导致无用功。
技术实现思路
本专利技术实施例中提供一种处理缓存数据的方法,通过获取删除磁盘中目标文件的操作信息,将SSD缓存中目标文件对应的数据块置为无效,从而避免出现在磁盘中的目标文件被删除之后,由于SSD缓存中仍然存有该目标文件,将该目标文件重新写回磁盘中的问题。本专利技术第一方面提供一种处理缓存数据的方法,其包括:获取磁盘中的被操作文件的文件操作信息,所述文件操作信息包括文件操作类型;当所述文件操作类型为文件删除操作时,将固态硬盘SSD缓存中的所述被操作文件对应的数据块置为无效;其中所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中所述被操作文件对应的数据块置为无效,包括:判断所述SSD缓存中的所述被操作文件对应的数据块是否为脏数据块,若所述被操作文件对应的数据块不是脏数据块,则取消所述被操作文件对应的数据块的有效标志。结合本专利技术第一方面,在第一方面的第一种可能实现方式中,所述获取磁盘中的被操作文件的文件操作信息包括:监听对文件进行的操作,将监听到的被操作文件的文件操作信息保存至预先分配的内存区中。结合本专利技术第一方面的第一种可能实现方式,在第一方面的第二种可能实现方式中,所述监听对文件进行的操作包括:指定需要监听的文件以及文件操作类型;监听对需要监听的文件进行的文件操作,所述文件操作属于指定的需要监听的文件操作类型。结合本专利技术第一方面的第二种可能实现方式,在第一方面的第三种可能实现方式中,所述指定需要进行监听的文件以及文件操作类型包括:创建文件操作的监听实例;将需要监听的文件以及文件操作类型加入到所述监听实例中;将所述监听实例保存至所述预先分配的内存区中;所述监听对需要监听的文件进行的文件操作包括:根据所述监听实例,监听对需要监听的文件进行的文件操作。结合本专利技术第一方面的第三种可能实现方式,在第一方面的第四种可能实现方式中,所述创建文件操作的监听实例包括:接收文件监听注册命令;在接收到文件监听注册命令之后,确定需要监听的文件所在的设备;判断所述需要监听的文件所在的设备是否为所述SSD缓存,若所述需要监听的文件所在的设备为所述SSD缓存,则创建文件操作的监听实例。结合本专利技术第一方面或第一方面的第一至四任意一种可能实现方式,在第一方面的第五种可能实现方式中,所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中所述被操作文件对应的数据块置为无效,包括:判断所述SSD缓存中的所述被操作文件对应的数据块是否为脏数据块,若所述被操作文件对应的数据块不是脏数据块,则取消所述被操作文件对应的数据块的有效标志。结合本专利技术第一方面的第五种可能实现方式,在第一方面的第六种可能实现方式中,在所述判断所述SSD缓存中的所述被操作文件对应的数据块是否为脏数据块之后,还包括:若所述被操作文件对应的数据块为脏数据块,则取消所述被操作文件对应的数据块的脏标志,以及取消所述被操作文件对应的数据块的有效标志。结合本专利技术第一方面或第一方面的第一至四任意一种可能实现方式,在第一方面的第七种可能实现方式中,在所述获取磁盘中的被操作文件的文件操作信息之后,还包括:当所述文件操作类型为文件删除操作时,判断当前条件是否符合预设条件,所述预设条件包括如下一项或多项条件:所述SSD缓存的脏数据块数量大于或等于预设的数量、所述SSD缓存的脏数据块数量占所述SSD缓存的总数据块数量的比例大于或等于预设阈值、所述被操作文件的大小大于或等于预设的文件大小、所述SSD缓存的空间占用率大于或等于预设的占用率、所述被操作文件的大小大于或等于预设的文件大小;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若当前条件符合所述预设条件,将所述SSD缓存中的所述被操作文件对应的数据块置为无效。结合本专利技术第一方面或第一方面的第一至四任意一种可能实现方式,在第一方面的第八种可能实现方式中,所述获取磁盘中的被操作文件的文件操作信息包括:获取磁盘中的所述被操作文件的路径信息;在所述获取磁盘中的被操作文件的文件操作信息之后,所述方法还包括:当所述文件操作类型为文件删除操作时,根据所述被操作文件的路径信息,判断所述被操作文件是否记录于所述SSD缓存的文件列表中;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若所述被操作文件记录于所述缓存的文件列表中,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效。结合本专利技术第一方面或第一方面的第一至四任意一种可能实现方式,在第一方面的第九种可能实现方式中,在所述获取磁盘中的被操作文件的文件操作信息之后,所述方法还包括:判断所述SSD缓存的空间利用率是否大于或等于预设的利用率;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若所述SSD缓存的空间利用率大于或等于预设的利用率,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效;或者,判断所述SSD缓存的缓存命中率是否大于或等于预设缓存命中率;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若所述SSD缓存的缓存命中率大于或等于预设的缓存命中率,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效;或者,判断本文档来自技高网
...
处理缓存数据的方法

【技术保护点】
一种处理缓存数据的方法,其特征在于,包括:获取磁盘中的被操作文件的文件操作信息,所述文件操作信息包括文件操作类型;当所述文件操作类型为文件删除操作时,将固态硬盘SSD缓存中的所述被操作文件对应的数据块置为无效。

【技术特征摘要】
1.一种处理缓存数据的方法,其特征在于,包括:获取磁盘中的被操作文件的文件操作信息,所述文件操作信息包括文件操作类型;当所述文件操作类型为文件删除操作时,将固态硬盘SSD缓存中的所述被操作文件对应的数据块置为无效;其中所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中所述被操作文件对应的数据块置为无效,包括:判断所述SSD缓存中的所述被操作文件对应的数据块是否为脏数据块,若所述被操作文件对应的数据块不是脏数据块,则取消所述被操作文件对应的数据块的有效标志。2.根据权利要求1所述的处理缓存数据的方法,其特征在于,所述获取磁盘中的被操作文件的文件操作信息包括:监听对文件进行的操作,将监听到的被操作文件的文件操作信息保存至预先分配的内存区中。3.根据权利要求2所述的处理缓存数据的方法,其特征在于,所述监听对文件进行的操作包括:指定需要监听的文件以及文件操作类型;监听对需要监听的文件进行的文件操作,所述文件操作属于指定的需要监听的文件操作类型。4.根据权利要求3所述的处理缓存数据的方法,其特征在于,所述指定需要进行监听的文件以及文件操作类型包括:创建文件操作的监听实例;将需要监听的文件以及文件操作类型加入到所述监听实例中;将所述监听实例保存至所述预先分配的内存区中;所述监听对需要监听的文件进行的文件操作包括:根据所述监听实例,监听对需要监听的文件进行的文件操作。5.根据权利要求4所述的处理缓存数据的方法,其特征在于,所述创建文件操作的监听实例包括:接收文件监听注册命令;在接收到文件监听注册命令之后,确定需要监听的文件所在的设备;判断所述需要监听的文件所在的设备是否为所述SSD缓存,若所述需要监听的文件所在的设备为所述SSD缓存,则创建文件操作的监听实例。6.根据权利要求1所述的处理缓存数据的方法,其特征在于,在所述判断所述SSD缓存中的所述被操作文件对应的数据块是否为脏数据块之后,还包括:若所述被操作文件对应的数据块为脏数据块,则取消所述被操作文件对应的数据块的脏标志,以及取消所述被操作文件对应的数据块的有效标志。7.根据权利要求1至5任意一项所述的处理缓存数据的方法,其特征在于,在所述获取磁盘中的被操作文件的文件操作信息之后,还包括:当所述文件操作类型为文件删除操作时,判断当前条件是否符合预设条件,所述预设条件包括如下一项或多项条件:所述SSD缓存的脏数据块数量大于或等于预设的数量、所述SSD缓存的脏数据块数量占所述SSD缓存的总数据块数量的比例大于或等于预设阈值、所述被操作文件的大小大于或等于预设的文件大小、所述SSD缓存的空间占用率大于或等于预设的占用率、所述被操作文件的大小大于或等于预设的文件大小;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若当前条件符合所述预设条件,将所述SSD缓存中的所述被操作文件对应的数据块置为无效。8.根据权利要求1至5任意一项所述的处理缓存数据的方法,其特征在于,所述获取磁盘中的被操作文件的文件操作信息包括:获取磁盘中的所述被操作文件的路径信息;在所述获取磁盘中的被操作文件的文件操作信息之后,所述方法还包括:当所述文件操作类型为文件删除操作时,根据所述被操作文件的路径信息,判断所述被操作文件是否记录于所述SSD缓存的文件列表中;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若所述被操作文件记录于所述缓存的文件列表中,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效。9.根据权利要求1至5任意一项所述的处理缓存数据的方法,其特征在于,在所述获取磁盘中的被操作文件的文件操作信息之后,还包括:判断所述SSD缓存的空间利用率是否大于或等于预设的利用率;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若所述SSD缓存的空间利用率大于或等于预设的利用率,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效;或者,判断所述SSD缓存的缓存命中率是否大于或等于预设缓存命中率;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若所述SSD缓存的缓存命中率大于或等于预设的缓存命中率,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效;或者,判断所述SSD缓存的输入输出负载是否大于或等于预设负载;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若所述SSD缓存的输入输出负载大于或等于预设负载,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效;或者,判断系统处理器的使用率是否大于或等于预设使用率;所述当所述文件操作类型为文件删除操作时,将所述SSD缓存中的所述被操作文件对应的数据块置为无效,包括:若系统处理器的使用率大于或等于预设使用率,则将所述SSD缓存中的所述被操作文件对应的数据块置为无效。10.根据权利要求1至5任意一项所述的处理缓存数据的方法,其特征在于,在所述获取磁盘中的被操作文件的文件操作信息之后,还包括:当所述文件操作类型为文件修改操作时,则判断所述被操作文件是否记录于所述SSD缓存的文件列表中;若所述被操作文件没有记录于所述缓存的文件列表中,则在所述SSD缓存的文件列表中新建被操作文件的记录,以及从所述磁盘中读取存储所述被操作文件的磁盘块号,将所述磁盘块号存入到新建的被操作文件的记录中。11.一种缓存控制设备,其特征在于,包括:监听模块,用于获取磁盘中的被操作文件的文件操作信息,所述文件操作信息包括文件操作类型;处理模块,用于接收监听模块获取的所述被操作文件的文件操作信息,并在当所述文件操作类型为文件删除操作时,将固态硬盘SSD缓存中的所述被操作文件对应的数据块置为无效;其中,所述处理模块还用于判断所述SSD缓存中的所述被操作文件对应的数据块是否为脏数据块,若所述被操作文件对应的数据块不是脏数据块,则取消所述被操作文件对应的数据块的有效标志。12.根据权利要求11所述的缓存控制设备,其特征在于,所述监听模块还用于监听对文件进行的操作,将监听到的被操作文件的文件操作信息保存至预先分配的内存区中。13.根据权利要求12所述的缓存控制设备,其特征在于,所述监听模块还包括:指定子模块,用于指定需要监听的文件以及文件操作类型,监听子模块,用于监听对所述指定子模块指定的需要监听的文件进行的文件操作,所述文件操作属于所述指定子模块指定的需要监听的文件操作类型。14.根据权利要求13所述的缓存控制设备,其特征在于,所述监听模块还包括:监听实例创建子模块,所述监听实例创建子模块用于创建文件操作的监听实例,将需要监听的文件以及文件操作类型加入到所述监听实例中,将所述监听实例保存至所述预先分配的内存区中;所述监听子模块还用于根据所述监听实例创建子模块创建的所述监听实例,监听对需要监听的文件进行的文件操作。15.根据权利要求14所述的缓存控制设备,其特征在于,所述监听实例创建子模块还用于接收文件监听注册命令,在接收到文件监听注册命令之后,确定需要监听的文件所在的设备,以及判断所述需要监听的文件所在的设备是否为所述SSD缓存,若所述需要监听的文件所在的设备为所述SSD缓存,则创建文件操作的监听实例。16.根据权利要求11所述的缓存控制设备,其特征在于,所述处理模块还用于在判断所述SSD缓存中的所述被操作文件对应的数据块是否为脏数据块之后,若所述被操作文件对应的数据块为脏数据块,则取消所述被操作文件对应的数据块的脏标志,以及取消所述被操作文件对应的数据块的有效标志。17.根据权利要求11至14任意一项所述的缓存控制设备,其特征在于,所述处理模块还用于:在接收监听模块获取的所述被操作文件的文件操作信息之后,当所述文件操作类型为文件删除操作时,判断当前条件是否符合预设条件,所述预设条件包括如下一项或多项条件:所述SSD缓存的脏数据块数量大于或等于预设的数量...

【专利技术属性】
技术研发人员:温正湖
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1