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

技术编号:11012664 阅读:134 留言:0更新日期:2015-02-05 18:21
本发明专利技术提供了一种文件系统多线程实现的方法及装置,属于计算机技术领域。在本发明专利技术中,首先建立守护线程,所述守护线程用于维护文件系统的完整性;然后休眠所述守护线程;最后当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。本发明专利技术通过所述文件系统多线程实现的方法及装置,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。

【技术实现步骤摘要】
【专利摘要】本专利技术提供了一种文件系统多线程实现的方法及装置,属于计算机
。在本专利技术中,首先建立守护线程,所述守护线程用于维护文件系统的完整性;然后休眠所述守护线程;最后当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。本专利技术通过所述文件系统多线程实现的方法及装置,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。【专利说明】 一种文件系统多线程实现的方法及装置
本专利技术涉及计算机
,特别涉及一种文件系统多线程实现的方法及装置。
技术介绍
录像监控文件系统的首要目标是确保录像数据不丢失。为了避免浪费中央处理器资源,上层应用程序通常休眠一定时间,如20毫秒,再唤醒以把缓存中的录像数据写入硬盘后再休眠。为避免录像数据不丢失,缓存大小必须保证能够完全容纳上层应用程序休眠期间(20毫秒)可能产生的录像数据量;而且必须保证上层应用程序休眠预定的时间长度后能够被及时唤醒,以避免缓存溢出,不允许录像存储应用程序长时间阻塞或休眠过长。 除了响应读、写、查询等请求外,录像监控文件系统还需要完成一项很重要的任务:文件系统索引完整性维护。绝大部分录像监控系统不录像却反复重启的故障的原因是文件系统索引受损。原因是上层应用程序读取到异常的索引数据,不知道如何处理,只能终止;由于该异常点存放文件系统的关键管理数据,无法绕过,所以上层业务表现为反复异常终止,不录像。及时修复受损的文件系统索引是确保录像不丢失的另一个必要条件。 录像监控文件系统当前普遍的实现方式是提供一系列功能接口,如:读、写、查询、录像文件空间分配、过期录像文件删除、文件系统索引完整性维护等,供上层应用程序调用。 不过,对于上层应用而言,每当休眠期满被唤醒,确保录像数据能够及时地写入硬盘是首要目标。文件系统索引完整性维护必须在规定的时间内(如20毫秒)结束,否则就可能造成录像数据缓存溢出,即录像数据丢失,因此在运行过程中,一方面需要冗余安排录像数据缓存,另一方面往往不得不牺牲耗时长的关键业务,如文件系统索引完整性维护。 及时保存录像数据到硬盘和及时维护文件系统完整性,两者必须同时兼顾,但在业界现有录像监控文件系统的具体实现实例中,却成为一对无法调和的矛盾。
技术实现思路
本专利技术提供了一种文件系统多线程实现的方法及装置,旨在解决及时保存录像数据到硬盘和及时维护文件系统完整性易发生冲突的问题。 一方面,本专利技术提供了一种文件系统多线程实现的方法,所述方法包括: 建立守护线程,所述守护线程用于维护文件系统的完整性; 休眠所述守护线程; 当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。 第二方面,本专利技术提供了一种文件系统多线程实现的装置,所述装置包括: 建立模块,用于建立守护线程,所述守护线程用于维护文件系统的完整性; 休眠模块,用于休眠所述守护线程; 第一执行模块,用于当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。 在本专利技术中,由于首先建立守护线程,守护线程用于维护文件系统的完整性;然后休眠守护线程;最后当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,因此,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。 【专利附图】【附图说明】 为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。 图1为本专利技术实施例一提供的文件系统多线程实现的方法一种流程图; 图2为本专利技术实施例一提供的文件系统多线程实现的方法另一种流程图; 图3为本专利技术实施例二提供的文件系统多线程实现的装置一种结构示意图; 图4为本专利技术实施例二提供的文件系统多线程实现的装置另一种结构示意图。 【具体实施方式】 为使本专利技术的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术实施方式作进一步地详细描述。 实施例一: 本专利技术实施例一提供了一种文件系统多线程实现的方法,参见图1,文件系统多线程实现的方法包括以下步骤: 101.建立守护线程,守护线程用于维护文件系统的完整性。 守护线程用于维护文件系统的完整性具体为:守护线程用于当检查文件系统的索引受损时,恢复文件系统的索引。 102.休眠守护线程。 103a.当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程。录像监控文件系统提供读、写、查询等文件系统功能接口,供上层应用程序调用,上层应用程序调用文件系统功能接口过程中发现文件系统的索引受损,如果文件系统功能接口是写操作,则唤醒守护进程,并同时执行守护线程和写操作线程。 如图2所示,步骤101与步骤102之间还包括步骤101-2. 101-2.执行守护线程。文件系统启动时,执行一次守护线程。 如图2所示,步骤102之后还包括步骤103b。 103b.当执行读操作线程或查询操作线程时,若发现文件系统的索引受损,则先休眠读操作线程或查询操作线程,再唤醒守护线程,最后在执行完守护线程后唤醒读操作线程或查询操作线程。上层应用程序调用文件系统功能接口过程中发现文件系统索引受损,如果文件系统功能接口是读操作或查询操作,则先向上层应用程序报错,休眠读操作线程或查询操作线程,再唤醒守护线程,最后在执行完守护线程后唤醒读操作线程或查询操作线程。 例如,文件系统启动时,建立守护线程,该守护线程用于维护文件系统的完整性;并执行一次守护线程,执行文件系统完整性检查,修复受损的文件系统的索引;然后休眠守护线程;当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,这样文件系统索引完整性维护不需在规定的时间内结束,不会造成录像数据缓存溢出现象。 本实施例通过首先建立守护线程,守护线程用于维护文件系统的完整性;然后休眠守护线程;最后当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,因此,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。 实施例二: 本专利技术实施例二提供了一种文件系统多线程实现的装置,如图3所示,文件系统多线程实现的装置30包括建立模块310、休眠模块320和第一执行模块330a。 建立模块310,用于建立守护线程,守护线程用于维护文件系统的完整性。 其中,守护线程用于维护文件系统的完整性具体为:守护线程用于当检查文件系统的索引受损时,恢复文件系统的索引。 休眠模块320,用于休眠守护线程。 第一执行模块330a,用于当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程。 可选的,如图4所示,文件系统多线程实现的装置40还包括第二执行模块310-2和第三执行模块330b。 第二执行模块310-2,用于执本文档来自技高网
...

【技术保护点】
一种文件系统多线程实现的方法,其特征在于,所述方法包括:建立守护线程,所述守护线程用于维护文件系统的完整性;休眠所述守护线程;当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。

【技术特征摘要】

【专利技术属性】
技术研发人员:黄凯明刘文涛归建章
申请(专利权)人:深圳市锐明视讯技术有限公司
类型:发明
国别省市:广东;44

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

1