一种文件系统多线程实现的方法及装置制造方法

文档序号:6632651阅读:245来源:国知局
一种文件系统多线程实现的方法及装置制造方法
【专利摘要】本发明提供了一种文件系统多线程实现的方法及装置,属于计算机【技术领域】。在本发明中,首先建立守护线程,所述守护线程用于维护文件系统的完整性;然后休眠所述守护线程;最后当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。本发明通过所述文件系统多线程实现的方法及装置,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。
【专利说明】 一种文件系统多线程实现的方法及装置

【技术领域】
[0001]本发明涉及计算机【技术领域】,特别涉及一种文件系统多线程实现的方法及装置。

【背景技术】
[0002]录像监控文件系统的首要目标是确保录像数据不丢失。为了避免浪费中央处理器资源,上层应用程序通常休眠一定时间,如20毫秒,再唤醒以把缓存中的录像数据写入硬盘后再休眠。为避免录像数据不丢失,缓存大小必须保证能够完全容纳上层应用程序休眠期间(20毫秒)可能产生的录像数据量;而且必须保证上层应用程序休眠预定的时间长度后能够被及时唤醒,以避免缓存溢出,不允许录像存储应用程序长时间阻塞或休眠过长。
[0003]除了响应读、写、查询等请求外,录像监控文件系统还需要完成一项很重要的任务:文件系统索引完整性维护。绝大部分录像监控系统不录像却反复重启的故障的原因是文件系统索引受损。原因是上层应用程序读取到异常的索引数据,不知道如何处理,只能终止;由于该异常点存放文件系统的关键管理数据,无法绕过,所以上层业务表现为反复异常终止,不录像。及时修复受损的文件系统索引是确保录像不丢失的另一个必要条件。
[0004]录像监控文件系统当前普遍的实现方式是提供一系列功能接口,如:读、写、查询、录像文件空间分配、过期录像文件删除、文件系统索引完整性维护等,供上层应用程序调用。
[0005]不过,对于上层应用而言,每当休眠期满被唤醒,确保录像数据能够及时地写入硬盘是首要目标。文件系统索引完整性维护必须在规定的时间内(如20毫秒)结束,否则就可能造成录像数据缓存溢出,即录像数据丢失,因此在运行过程中,一方面需要冗余安排录像数据缓存,另一方面往往不得不牺牲耗时长的关键业务,如文件系统索引完整性维护。
[0006]及时保存录像数据到硬盘和及时维护文件系统完整性,两者必须同时兼顾,但在业界现有录像监控文件系统的具体实现实例中,却成为一对无法调和的矛盾。


【发明内容】

[0007]本发明提供了一种文件系统多线程实现的方法及装置,旨在解决及时保存录像数据到硬盘和及时维护文件系统完整性易发生冲突的问题。
[0008]一方面,本发明提供了一种文件系统多线程实现的方法,所述方法包括:
[0009]建立守护线程,所述守护线程用于维护文件系统的完整性;
[0010]休眠所述守护线程;
[0011]当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。
[0012]第二方面,本发明提供了一种文件系统多线程实现的装置,所述装置包括:
[0013]建立模块,用于建立守护线程,所述守护线程用于维护文件系统的完整性;
[0014]休眠模块,用于休眠所述守护线程;
[0015]第一执行模块,用于当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。
[0016]在本发明中,由于首先建立守护线程,守护线程用于维护文件系统的完整性;然后休眠守护线程;最后当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,因此,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。

【专利附图】

【附图说明】
[0017]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1为本发明实施例一提供的文件系统多线程实现的方法一种流程图;
[0019]图2为本发明实施例一提供的文件系统多线程实现的方法另一种流程图;
[0020]图3为本发明实施例二提供的文件系统多线程实现的装置一种结构示意图;
[0021]图4为本发明实施例二提供的文件系统多线程实现的装置另一种结构示意图。

【具体实施方式】
[0022]为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明实施方式作进一步地详细描述。
[0023]实施例一:
[0024]本发明实施例一提供了一种文件系统多线程实现的方法,参见图1,文件系统多线程实现的方法包括以下步骤:
[0025]101.建立守护线程,守护线程用于维护文件系统的完整性。
[0026]守护线程用于维护文件系统的完整性具体为:守护线程用于当检查文件系统的索引受损时,恢复文件系统的索引。
[0027]102.休眠守护线程。
[0028]103a.当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程。录像监控文件系统提供读、写、查询等文件系统功能接口,供上层应用程序调用,上层应用程序调用文件系统功能接口过程中发现文件系统的索引受损,如果文件系统功能接口是写操作,则唤醒守护进程,并同时执行守护线程和写操作线程。
[0029]如图2所示,步骤101与步骤102之间还包括步骤101-2.
[0030]101-2.执行守护线程。文件系统启动时,执行一次守护线程。
[0031]如图2所示,步骤102之后还包括步骤103b。
[0032]103b.当执行读操作线程或查询操作线程时,若发现文件系统的索引受损,则先休眠读操作线程或查询操作线程,再唤醒守护线程,最后在执行完守护线程后唤醒读操作线程或查询操作线程。上层应用程序调用文件系统功能接口过程中发现文件系统索引受损,如果文件系统功能接口是读操作或查询操作,则先向上层应用程序报错,休眠读操作线程或查询操作线程,再唤醒守护线程,最后在执行完守护线程后唤醒读操作线程或查询操作线程。
[0033]例如,文件系统启动时,建立守护线程,该守护线程用于维护文件系统的完整性;并执行一次守护线程,执行文件系统完整性检查,修复受损的文件系统的索引;然后休眠守护线程;当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,这样文件系统索引完整性维护不需在规定的时间内结束,不会造成录像数据缓存溢出现象。
[0034]本实施例通过首先建立守护线程,守护线程用于维护文件系统的完整性;然后休眠守护线程;最后当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,因此,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。
[0035]实施例二:
[0036]本发明实施例二提供了一种文件系统多线程实现的装置,如图3所示,文件系统多线程实现的装置30包括建立模块310、休眠模块320和第一执行模块330a。
[0037]建立模块310,用于建立守护线程,守护线程用于维护文件系统的完整性。
[0038]其中,守护线程用于维护文件系统的完整性具体为:守护线程用于当检查文件系统的索引受损时,恢复文件系统的索引。
[0039]休眠模块320,用于休眠守护线程。
[0040]第一执行模块330a,用于当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程。
[0041]可选的,如图4所示,文件系统多线程实现的装置40还包括第二执行模块310-2和第三执行模块330b。
[0042]第二执行模块310-2,用于执行守护线程。
[0043]第三执行模块330b,用于当执行读操作线程或查询操作线程时,若发现文件系统的索引受损,则先休眠读操作线程或查询操作线程,再唤醒守护线程,最后在执行完守护线程后唤醒读操作线程或查询操作线程。
[0044]本实施例通过首先建立守护线程,守护线程用于维护文件系统的完整性;然后休眠守护线程;最后当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,因此,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。
[0045]上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
[0046]本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0047]以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种文件系统多线程实现的方法,其特征在于,所述方法包括: 建立守护线程,所述守护线程用于维护文件系统的完整性; 休眠所述守护线程; 当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。
2.根据权利要求1所述的方法,其特征在于,所述建立守护线程的步骤之后和所述休眠所述守护线程的步骤之前还包括: 执行所述守护线程。
3.根据权利要求1所述的方法,其特征在于,所述休眠所述守护线程的步骤之后包括: 当执行读操作线程或查询操作线程时,若发现所述文件系统的索引受损,则先休眠所述读操作线程或所述查询操作线程,再唤醒所述守护线程,最后在执行完所述守护线程后唤醒所述读操作线程或所述查询操作线程。
4.根据权利要求1所述的方法,其特征在于,所述守护线程用于维护文件系统的完整性具体为: 所述守护线程用于当检查文件系统的索引受损时,恢复所述文件系统的索引。
5.一种文件系统多线程实现的装置,其特征在于,所述装置包括: 建立模块,用于建立守护线程,所述守护线程用于维护文件系统的完整性; 休眠模块,用于休眠所述守护线程; 第一执行模块,用于当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。
6.根据权利要求5所述的装置,其特征在于,还包括: 第二执行模块,用于执行所述守护线程。
7.根据权利要求5所述的装置,其特征在于,还包括: 第三执行模块,用于当执行读操作线程或查询操作线程时,若发现所述文件系统的索引受损,则先休眠所述读操作线程或所述查询操作线程,再唤醒所述守护线程,最后在执行完所述守护线程后唤醒所述读操作线程或所述查询操作线程。
8.根据权利要求5所述的装置,其特征在于,所述守护线程用于维护文件系统的完整性具体为: 所述守护线程用于当检查文件系统的索引受损时,恢复所述文件系统的索引。
【文档编号】G06F17/30GK104331463SQ201410603639
【公开日】2015年2月4日 申请日期:2014年10月30日 优先权日:2014年10月30日
【发明者】黄凯明, 刘文涛, 归建章 申请人:深圳市锐明视讯技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1