CN104331463A - 一种文件系统多线程实现的方法及装置 - Google Patents

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

Info

Publication number
CN104331463A
CN104331463A CN201410603639.9A CN201410603639A CN104331463A CN 104331463 A CN104331463 A CN 104331463A CN 201410603639 A CN201410603639 A CN 201410603639A CN 104331463 A CN104331463 A CN 104331463A
Authority
CN
China
Prior art keywords
thread
file system
daemon
index
daemon thread
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410603639.9A
Other languages
English (en)
Other versions
CN104331463B (zh
Inventor
黄凯明
刘文涛
归建章
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHENZHEN STREAMING VIDEO TECHNOLOGY Co Ltd
Original Assignee
SHENZHEN STREAMING VIDEO TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHENZHEN STREAMING VIDEO TECHNOLOGY Co Ltd filed Critical SHENZHEN STREAMING VIDEO TECHNOLOGY Co Ltd
Priority to CN201410603639.9A priority Critical patent/CN104331463B/zh
Priority to PCT/CN2014/092870 priority patent/WO2016065690A1/zh
Publication of CN104331463A publication Critical patent/CN104331463A/zh
Application granted granted Critical
Publication of CN104331463B publication Critical patent/CN104331463B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/1847File system types specifically adapted to static storage, e.g. adapted to flash memory or SSD

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

本发明提供了一种文件系统多线程实现的方法及装置,属于计算机技术领域。在本发明中,首先建立守护线程,所述守护线程用于维护文件系统的完整性;然后休眠所述守护线程;最后当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。本发明通过所述文件系统多线程实现的方法及装置,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。

Description

一种文件系统多线程实现的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种文件系统多线程实现的方法及装置。
背景技术
录像监控文件系统的首要目标是确保录像数据不丢失。为了避免浪费中央处理器资源,上层应用程序通常休眠一定时间,如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,用于执行守护线程。
第三执行模块330b,用于当执行读操作线程或查询操作线程时,若发现文件系统的索引受损,则先休眠读操作线程或查询操作线程,再唤醒守护线程,最后在执行完守护线程后唤醒读操作线程或查询操作线程。
本实施例通过首先建立守护线程,守护线程用于维护文件系统的完整性;然后休眠守护线程;最后当执行写操作线程时,若发现文件系统的索引受损,则唤醒守护进程,并同时执行守护线程和写操作线程,因此,实现了在维护文件系统完整性的同时,及时保存录像数据到硬盘。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种文件系统多线程实现的方法,其特征在于,所述方法包括:
建立守护线程,所述守护线程用于维护文件系统的完整性;
休眠所述守护线程;
当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。
2.根据权利要求1所述的方法,其特征在于,所述建立守护线程的步骤之后和所述休眠所述守护线程的步骤之前还包括:
执行所述守护线程。
3.根据权利要求1所述的方法,其特征在于,所述休眠所述守护线程的步骤之后包括:
当执行读操作线程或查询操作线程时,若发现所述文件系统的索引受损,则先休眠所述读操作线程或所述查询操作线程,再唤醒所述守护线程,最后在执行完所述守护线程后唤醒所述读操作线程或所述查询操作线程。
4.根据权利要求1所述的方法,其特征在于,所述守护线程用于维护文件系统的完整性具体为:
所述守护线程用于当检查文件系统的索引受损时,恢复所述文件系统的索引。
5.一种文件系统多线程实现的装置,其特征在于,所述装置包括:
建立模块,用于建立守护线程,所述守护线程用于维护文件系统的完整性;
休眠模块,用于休眠所述守护线程;
第一执行模块,用于当执行写操作线程时,若发现所述文件系统的索引受损,则唤醒所述守护进程,并同时执行所述守护线程和所述写操作线程。
6.根据权利要求5所述的装置,其特征在于,还包括:
第二执行模块,用于执行所述守护线程。
7.根据权利要求5所述的装置,其特征在于,还包括:
第三执行模块,用于当执行读操作线程或查询操作线程时,若发现所述文件系统的索引受损,则先休眠所述读操作线程或所述查询操作线程,再唤醒所述守护线程,最后在执行完所述守护线程后唤醒所述读操作线程或所述查询操作线程。
8.根据权利要求5所述的装置,其特征在于,所述守护线程用于维护文件系统的完整性具体为:
所述守护线程用于当检查文件系统的索引受损时,恢复所述文件系统的索引。
CN201410603639.9A 2014-10-30 2014-10-30 一种文件系统多线程实现的方法及装置 Active CN104331463B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410603639.9A CN104331463B (zh) 2014-10-30 2014-10-30 一种文件系统多线程实现的方法及装置
PCT/CN2014/092870 WO2016065690A1 (zh) 2014-10-30 2014-12-03 一种文件系统多线程实现的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410603639.9A CN104331463B (zh) 2014-10-30 2014-10-30 一种文件系统多线程实现的方法及装置

Publications (2)

Publication Number Publication Date
CN104331463A true CN104331463A (zh) 2015-02-04
CN104331463B CN104331463B (zh) 2018-07-17

Family

ID=52406190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410603639.9A Active CN104331463B (zh) 2014-10-30 2014-10-30 一种文件系统多线程实现的方法及装置

Country Status (2)

Country Link
CN (1) CN104331463B (zh)
WO (1) WO2016065690A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107451257A (zh) * 2017-07-31 2017-12-08 郑州云海信息技术有限公司 一种基于分布式文件系统的可维护性系统和方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694095A (zh) * 2004-04-30 2005-11-09 微软公司 实时文件系统修复
WO2005111867A2 (en) * 2004-05-03 2005-11-24 Microsoft Corporation Systems and methods for automatic database or file system maintenance and repair
CN1801096A (zh) * 2005-01-05 2006-07-12 国际商业机器公司 在计算机系统中用于对进程进行休眠的方法和系统
CN103309858A (zh) * 2012-03-06 2013-09-18 深圳市腾讯计算机系统有限公司 一种多线程日志管理的方法及装置
CN103678045A (zh) * 2013-12-31 2014-03-26 曙光云计算技术有限公司 虚拟机的数据备份方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102651007A (zh) * 2011-02-28 2012-08-29 国际商业机器公司 一种管理数据库索引的方法和装置
CN104063447B (zh) * 2014-06-17 2018-04-17 惠州华阳通用电子有限公司 一种监控视频文件修复方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694095A (zh) * 2004-04-30 2005-11-09 微软公司 实时文件系统修复
WO2005111867A2 (en) * 2004-05-03 2005-11-24 Microsoft Corporation Systems and methods for automatic database or file system maintenance and repair
CN1801096A (zh) * 2005-01-05 2006-07-12 国际商业机器公司 在计算机系统中用于对进程进行休眠的方法和系统
CN103309858A (zh) * 2012-03-06 2013-09-18 深圳市腾讯计算机系统有限公司 一种多线程日志管理的方法及装置
CN103678045A (zh) * 2013-12-31 2014-03-26 曙光云计算技术有限公司 虚拟机的数据备份方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107451257A (zh) * 2017-07-31 2017-12-08 郑州云海信息技术有限公司 一种基于分布式文件系统的可维护性系统和方法

Also Published As

Publication number Publication date
CN104331463B (zh) 2018-07-17
WO2016065690A1 (zh) 2016-05-06

Similar Documents

Publication Publication Date Title
US11003556B2 (en) Method, device and computer program product for managing storage system
US20150331624A1 (en) Host-controlled flash translation layer snapshot
CN102308285B (zh) 一种应用程序的内存错误修复方法
CN102929750A (zh) 非易失性介质肮脏区段跟踪
WO2016192375A1 (zh) 存储设备及基于该存储设备的分块存储方法
CN105574141B (zh) 一种对数据库进行数据迁移的方法和装置
US20150186411A1 (en) Enhancing Reliability of a Storage System by Strategic Replica Placement and Migration
CN103577574A (zh) 一种基于nand flash的高可靠线性文件系统
US20190317872A1 (en) Database cluster architecture based on dual port solid state disk
CN101419564A (zh) 一种采用快照恢复数据的方法和装置
CN105468544B (zh) 实现防掉电文件系统的方法、装置以及防掉电文件系统
TWI459198B (zh) 記憶體儲存裝置、其記憶體控制器與有效資料識別方法
TW201603030A (zh) 防止讀取干擾的方法、記憶體控制電路單元與記憶體儲存裝置
CN113051104B (zh) 基于纠删码的磁盘间数据恢复方法及相关装置
CN103810060A (zh) 基于分布式数据库的数据备份方法及其系统
CN104166605A (zh) 基于增量数据文件的数据备份方法及系统
WO2018000191A1 (zh) 一种数据处理的方法和装置
CN103514112A (zh) 一种数据存储方法及系统
WO2024119774A1 (zh) Raid卡的写方法、raid卡的写系统及相关装置
CN105302488A (zh) 一种存储系统的数据写入方法及系统
CN103593301B (zh) 坏块管理方法及系统
US7620855B2 (en) Self-defining counters
JP2013171343A (ja) ストレージデバイス
CN104268097A (zh) 一种元数据处理方法及系统
US8595271B1 (en) Systems and methods for performing file system checks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: Nanshan District Xueyuan Road in Shenzhen city of Guangdong province 518000 No. 1001 Nanshan Chi Park B1 building 22 floor

Applicant after: STREAMAX TECHNOLOGY CO., LTD.

Address before: 518000, Guangdong Shenzhen Nanshan District science and technology two road Shenzhen software park three, five floor

Applicant before: Shenzhen Streaming Video Technology Co., Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant