一种判断文件是否完整落盘的控制方法及装置制造方法及图纸

技术编号:26596464 阅读:41 留言:0更新日期:2020-12-04 21:18
本发明专利技术公开了一种判断文件是否完整落盘的控制方法,其通过捕捉文件预写处理信息实现对于文件落盘的判断,包括如下步骤:a:基于文件的预写处理获取缓存写入IO的最终位置以及非缓存写入IO的最终位置,所述最终位置至少包括写入的偏移以及写入的大小;b:当所述文件的非缓存写入IO的最终位置大于或等于缓存写入IO的最终位置时,确定所述文件完整落盘;c:将所述文件通知给应用层,让其获取文件信息,md5。本发明专利技术对数据落盘的流程和时机是不干预的,方案简单便捷,而市面上大多数技术方案均会干预数据的落盘时机,都是一种参数调优的方案。本发明专利技术技术方案简单、功能强大、能准确高效的判断文件是否完整落盘,具有极高的商业价值。

【技术实现步骤摘要】
一种判断文件是否完整落盘的控制方法及装置
本专利技术属于计算机技术应用领域,具体地,涉及一种判断文件是否完整落盘的控制方法及装置。
技术介绍
一般操作系统为了减少不必要的磁盘读写,提升性能,延长硬盘使用寿命,引入缓存IO的概念。应用程序使用缓存IO写入文件后,系统会将数据存储于缓存区域。传统存储方式中为了提高客户端的读写性能,系统设计时均会引入缓存的概念,即划分出内存中一块区域用于容纳下发的读写请求数据。在现有技术中,往往通过强制落盘来实现提高系统性能达到不卡顿的目的,例如,专利号为CN109032517A的一种数据落盘的方法、装置和计算机可读存储介质,其通过降低缓存中存储的数据量,增加了强制落盘IO的次数,从而达到不卡顿等目的,又例如专利号为CN111124258A的全闪存阵列的数据存储方法、装置、设备及可读存储介质,其通过降低缓存中的数据量,强制将其落盘,对于落盘的数据进行压缩,降低IO的频次。在现有技术中,若不能准确的判断文件是否完整落盘,会增加通知应用层处理数据的频率和次数,同时还会对不完整的文件做md5计算,从而降低系统性能、效率,而目前,急需一种能够对文件是否完整落盘进行判断的控制方法,具体地,并没有一种判断文件是否完整落盘的控制方法及装置。
技术实现思路
针对现有技术存在的技术缺陷,本专利技术的目的是提供一种判断文件是否完整落盘的控制方法及装置,根据本专利技术的一个方面,提供了一种判断文件是否完整落盘的控制方法,其通过捕捉文件预写处理信息实现对于文件落盘的判断,包括如下步骤:a:基于文件的预写处理获取缓存写入IO的最终位置以及非缓存写入IO的最终位置,所述最终位置至少包括写入的偏移以及写入的大小;b:当所述文件的非缓存写入IO的最终位置大于或等于缓存写入IO的最终位置时,确定所述文件完整落盘。优选地,在所述步骤a之前,还包括步骤:i:在文件创建时匹配策略,策略包含文件全路径,文件名,后缀,所在目录,策略命中则为其分配Stream,所述Stream用于在文件的整个生命周期内对其进行跟踪,并记录缓存写入IO的参数信息以及非缓存写入IO的最终位置;ii:当有新的写入请求发生时,则更新记录。优选地,在所述步骤b之前,还包括:当发生非缓存写入时,执行步骤b。优选地,在所述步骤b之后,还包括步骤:c:记录所述文件的文件全路径,在所述文件写入的后处理中判断当次的写入请求是否成功,若成功则插入内部链表,由特定线程通知给应用层,计算文件的md5,其中,所述特定线程为固定处理所述内部链表的线程,所述文件写入的后处理为文件落盘后由系统所发出的回调函数。优选地,在所述步骤a之后,还包括步骤b′:当所述文件的非缓存写入IO的最后位置小于缓存写入IO的最后的位置时,确定所述文件未完整落盘。根据本专利技术的另一个方面,提供了一种判断文件是否完整落盘的控制装置,其通过捕捉文件预写处理信息实现对于文件落盘的判断,包括:第一获取装置:基于文件的预写处理获取缓存写入IO的最终位置以及非缓存写入IO的最终位置;第一确定装置:当所述文件的非缓存写入IO的最终位置大于或等于缓存写入IO的最终位置时,确定所述文件完整落盘。优选地,还包括:第一处理装置:在文件创建时匹配策略,策略包含文件全路径,文件名,后缀,所在目录,策略命中则为其分配Stream,所述Stream用于在文件的整个生命周期内对其进行跟踪,并记录缓存写入IO的参数信息以及非缓存写入IO的最终位置;第二处理装置:当有新的写入请求发生时,则更新记录。优选地,还包括:第三处理装置(5):将所述文件通知给应用层,计算文件的md5。本专利技术基于文件的预写处理获取缓存写入IO的最终位置以及非缓存写入IO的最终位置,所述最终位置至少包括写入的偏移以及写入的大小;当所述文件的非缓存写入IO的最终位置大于或等于缓存写入IO的最终位置时,确定所述文件完整落盘。本专利技术相较于现有技术,其优点主要总结如下:A、本专利技术判断单元是文件,准确的判断文件是否落盘完整,避免对不完整的文件做md5计算,提升性能;B、本专利技术获取参数的时机是监控文件的写前处理(PreWrite),前期监控文件的写入动作,捕获文件的缓存写IO的参数,非缓存写IO的参数(这里的参数指偏移及大小),当捕获到文件的写缓存时,系统尚未将数据写入缓存,只是将要去写。C、当同个文件的非缓存写的最后位置大于或等于缓存写的最后的位置时才判为文件落盘完整;D、本专利技术对数据落盘的流程和时机是不干预的,方案简单便捷,而市面上大多数技术方案均会干预数据的落盘时机,都是一种参数调优的方案。本专利技术技术方案简单、功能强大、能准确高效的判断文件是否完整落盘,具有极高的商业价值。附图说明通过阅读参照以下附图对非限制性实施例所作的详细描述,本专利技术的其它特征、目的和优点将会变得更明显:图1示出了本专利技术的具体实施方式的,一种判断文件是否完整落盘的控制方法的具体流程示意图;图2示出了本专利技术的第一实施例的,一种判断文件是否完整落盘的控制方法的具体流程示意图;以及图3示出了本专利技术的另一具体实施方式的,一种判断文件是否完整落盘的控制装置的模块连接示意图。具体实施方式为了更好的使本专利技术的技术方案清晰地表示出来,下面结合附图对本专利技术作进一步说明。图1示出了本专利技术的具体实施方式的,一种判断文件是否完整落盘的控制方法的具体流程示意图,本专利技术将结合图1至图2来对如何实现文件完整落盘判断作详细描述,其主要是通过对写入IO的缓存、非缓存的最终位置进行比较、判断来确定,具体地,本专利技术公开了一种判断文件是否完整落盘的控制方法,其通过捕捉文件预写处理信息实现对于文件落盘的判断,包括如下步骤:首先,进入步骤S101,基于文件的预写处理获取缓存写入IO的最终位置以及非缓存写入IO的最终位置,所述最终位置至少包括写入的偏移以及写入的大小,本领域技术人员理解,在本专利技术中,获取所述最终位置的时机是监控文件的写前处理(PreWrite),前期监控文件的写入动作,捕获文件的缓存写入IO的最终位置,非缓存写入IO的最终位置,所述最终位置至少包括写入的偏移以及写入的大小,本专利技术不会去主动读取系统缓存,当捕获到文件的写入缓存时,系统尚未将数据写入缓存,只是将要去写,因为本申请所注册的是文件前处理函数,表示事件发生之前,将要发生,而在现有技术中均是主动读取系统缓存,这与现有技术存在本质的区别,而本专利技术主要通过利用到上述写前处理时确定的缓存写入IO的最终位置以及非缓存写入IO的最终位置来进行文件是否完整落盘的判断,其具有高效、准确的特点,大大提高了系统性能。本领域技术人员理解,当对一个文件正在写入数据时,往往缓存写入IO,非缓存写入IO均会同时存在,当非缓存写入IO的最后位置大于缓存写入IO最后位置时,说明当前没有残留的数据在内存中,即可初步判断文件数据完整。在本专利技术中主要通过获取缓存写入IO的最终位置以本文档来自技高网...

【技术保护点】
1.一种判断文件是否完整落盘的控制方法,其通过捕捉文件预写处理信息实现对于文件落盘的判断,其特征在于,包括如下步骤:/na:基于文件的预写处理获取缓存写入IO的最终位置以及非缓存写入IO的最终位置,所述最终位置至少包括写入的偏移以及写入的大小;/nb:当所述文件的非缓存写入IO的最终位置大于或等于缓存写入IO的最终位置时,确定所述文件完整落盘。/n

【技术特征摘要】
1.一种判断文件是否完整落盘的控制方法,其通过捕捉文件预写处理信息实现对于文件落盘的判断,其特征在于,包括如下步骤:
a:基于文件的预写处理获取缓存写入IO的最终位置以及非缓存写入IO的最终位置,所述最终位置至少包括写入的偏移以及写入的大小;
b:当所述文件的非缓存写入IO的最终位置大于或等于缓存写入IO的最终位置时,确定所述文件完整落盘。


2.根据权利要求1所述的控制方法,其特征在于,在所述步骤a之前,还包括步骤:
i:在文件创建时匹配策略,策略包含文件全路径,文件名,后缀,所在目录,策略命中则为其分配Stream,所述Stream用于在文件的整个生命周期内对其进行跟踪,并记录缓存写入IO的参数信息以及非缓存写入IO的最终位置;
ii:当有新的写入请求发生时,则更新记录。


3.根据权利要求1所述的控制方法,其特征在于,在所述步骤b之前,还包括:当发生非缓存写入时,执行步骤b。


4.根据权利要求2所述的控制方法,其特征在于,在所述步骤b之后,还包括步骤:
c:记录所述文件的文件全路径,在所述文件写入的后处理中判断当次的写入请求是否成功,若成功则插入内部链表,由特定线程通知给应用层,计算文件的md5,其中,所述特定线程为固定处理所述内部链表的线程,所述文件写入...

【专利技术属性】
技术研发人员:朱佳鑫
申请(专利权)人:上海二三四五网络科技有限公司
类型:发明
国别省市:上海;31

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

1