一種文件系統(tǒng)多線程實現(xiàn)的方法及裝置制造方法
【專利摘要】本發(fā)明提供了一種文件系統(tǒng)多線程實現(xiàn)的方法及裝置,屬于計算機【技術領域】。在本發(fā)明中,首先建立守護線程,所述守護線程用于維護文件系統(tǒng)的完整性;然后休眠所述守護線程;最后當執(zhí)行寫操作線程時,若發(fā)現(xiàn)所述文件系統(tǒng)的索引受損,則喚醒所述守護進程,并同時執(zhí)行所述守護線程和所述寫操作線程。本發(fā)明通過所述文件系統(tǒng)多線程實現(xiàn)的方法及裝置,實現(xiàn)了在維護文件系統(tǒng)完整性的同時,及時保存錄像數(shù)據(jù)到硬盤。
【專利說明】 一種文件系統(tǒng)多線程實現(xiàn)的方法及裝置
【技術領域】
[0001]本發(fā)明涉及計算機【技術領域】,特別涉及一種文件系統(tǒng)多線程實現(xiàn)的方法及裝置。
【背景技術】
[0002]錄像監(jiān)控文件系統(tǒng)的首要目標是確保錄像數(shù)據(jù)不丟失。為了避免浪費中央處理器資源,上層應用程序通常休眠一定時間,如20毫秒,再喚醒以把緩存中的錄像數(shù)據(jù)寫入硬盤后再休眠。為避免錄像數(shù)據(jù)不丟失,緩存大小必須保證能夠完全容納上層應用程序休眠期間(20毫秒)可能產(chǎn)生的錄像數(shù)據(jù)量;而且必須保證上層應用程序休眠預定的時間長度后能夠被及時喚醒,以避免緩存溢出,不允許錄像存儲應用程序長時間阻塞或休眠過長。
[0003]除了響應讀、寫、查詢等請求外,錄像監(jiān)控文件系統(tǒng)還需要完成一項很重要的任務:文件系統(tǒng)索引完整性維護。絕大部分錄像監(jiān)控系統(tǒng)不錄像卻反復重啟的故障的原因是文件系統(tǒng)索引受損。原因是上層應用程序讀取到異常的索引數(shù)據(jù),不知道如何處理,只能終止;由于該異常點存放文件系統(tǒng)的關鍵管理數(shù)據(jù),無法繞過,所以上層業(yè)務表現(xiàn)為反復異常終止,不錄像。及時修復受損的文件系統(tǒng)索引是確保錄像不丟失的另一個必要條件。
[0004]錄像監(jiān)控文件系統(tǒng)當前普遍的實現(xiàn)方式是提供一系列功能接口,如:讀、寫、查詢、錄像文件空間分配、過期錄像文件刪除、文件系統(tǒng)索引完整性維護等,供上層應用程序調(diào)用。
[0005]不過,對于上層應用而言,每當休眠期滿被喚醒,確保錄像數(shù)據(jù)能夠及時地寫入硬盤是首要目標。文件系統(tǒng)索引完整性維護必須在規(guī)定的時間內(nèi)(如20毫秒)結束,否則就可能造成錄像數(shù)據(jù)緩存溢出,即錄像數(shù)據(jù)丟失,因此在運行過程中,一方面需要冗余安排錄像數(shù)據(jù)緩存,另一方面往往不得不犧牲耗時長的關鍵業(yè)務,如文件系統(tǒng)索引完整性維護。
[0006]及時保存錄像數(shù)據(jù)到硬盤和及時維護文件系統(tǒng)完整性,兩者必須同時兼顧,但在業(yè)界現(xiàn)有錄像監(jiān)控文件系統(tǒng)的具體實現(xiàn)實例中,卻成為一對無法調(diào)和的矛盾。
【發(fā)明內(nèi)容】
[0007]本發(fā)明提供了一種文件系統(tǒng)多線程實現(xiàn)的方法及裝置,旨在解決及時保存錄像數(shù)據(jù)到硬盤和及時維護文件系統(tǒng)完整性易發(fā)生沖突的問題。
[0008]一方面,本發(fā)明提供了一種文件系統(tǒng)多線程實現(xiàn)的方法,所述方法包括:
[0009]建立守護線程,所述守護線程用于維護文件系統(tǒng)的完整性;
[0010]休眠所述守護線程;
[0011]當執(zhí)行寫操作線程時,若發(fā)現(xiàn)所述文件系統(tǒng)的索引受損,則喚醒所述守護進程,并同時執(zhí)行所述守護線程和所述寫操作線程。
[0012]第二方面,本發(fā)明提供了一種文件系統(tǒng)多線程實現(xiàn)的裝置,所述裝置包括:
[0013]建立模塊,用于建立守護線程,所述守護線程用于維護文件系統(tǒng)的完整性;
[0014]休眠模塊,用于休眠所述守護線程;
[0015]第一執(zhí)行模塊,用于當執(zhí)行寫操作線程時,若發(fā)現(xiàn)所述文件系統(tǒng)的索引受損,則喚醒所述守護進程,并同時執(zhí)行所述守護線程和所述寫操作線程。
[0016]在本發(fā)明中,由于首先建立守護線程,守護線程用于維護文件系統(tǒng)的完整性;然后休眠守護線程;最后當執(zhí)行寫操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則喚醒守護進程,并同時執(zhí)行守護線程和寫操作線程,因此,實現(xiàn)了在維護文件系統(tǒng)完整性的同時,及時保存錄像數(shù)據(jù)到硬盤。
【專利附圖】
【附圖說明】
[0017]為了更清楚地說明本發(fā)明實施例中的技術方案,下面將對實施例描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0018]圖1為本發(fā)明實施例一提供的文件系統(tǒng)多線程實現(xiàn)的方法一種流程圖;
[0019]圖2為本發(fā)明實施例一提供的文件系統(tǒng)多線程實現(xiàn)的方法另一種流程圖;
[0020]圖3為本發(fā)明實施例二提供的文件系統(tǒng)多線程實現(xiàn)的裝置一種結構示意圖;
[0021]圖4為本發(fā)明實施例二提供的文件系統(tǒng)多線程實現(xiàn)的裝置另一種結構示意圖。
【具體實施方式】
[0022]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面將結合附圖對本發(fā)明實施方式作進一步地詳細描述。
[0023]實施例一:
[0024]本發(fā)明實施例一提供了一種文件系統(tǒng)多線程實現(xiàn)的方法,參見圖1,文件系統(tǒng)多線程實現(xiàn)的方法包括以下步驟:
[0025]101.建立守護線程,守護線程用于維護文件系統(tǒng)的完整性。
[0026]守護線程用于維護文件系統(tǒng)的完整性具體為:守護線程用于當檢查文件系統(tǒng)的索引受損時,恢復文件系統(tǒng)的索引。
[0027]102.休眠守護線程。
[0028]103a.當執(zhí)行寫操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則喚醒守護進程,并同時執(zhí)行守護線程和寫操作線程。錄像監(jiān)控文件系統(tǒng)提供讀、寫、查詢等文件系統(tǒng)功能接口,供上層應用程序調(diào)用,上層應用程序調(diào)用文件系統(tǒng)功能接口過程中發(fā)現(xiàn)文件系統(tǒng)的索引受損,如果文件系統(tǒng)功能接口是寫操作,則喚醒守護進程,并同時執(zhí)行守護線程和寫操作線程。
[0029]如圖2所示,步驟101與步驟102之間還包括步驟101-2.
[0030]101-2.執(zhí)行守護線程。文件系統(tǒng)啟動時,執(zhí)行一次守護線程。
[0031]如圖2所示,步驟102之后還包括步驟103b。
[0032]103b.當執(zhí)行讀操作線程或查詢操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則先休眠讀操作線程或查詢操作線程,再喚醒守護線程,最后在執(zhí)行完守護線程后喚醒讀操作線程或查詢操作線程。上層應用程序調(diào)用文件系統(tǒng)功能接口過程中發(fā)現(xiàn)文件系統(tǒng)索引受損,如果文件系統(tǒng)功能接口是讀操作或查詢操作,則先向上層應用程序報錯,休眠讀操作線程或查詢操作線程,再喚醒守護線程,最后在執(zhí)行完守護線程后喚醒讀操作線程或查詢操作線程。
[0033]例如,文件系統(tǒng)啟動時,建立守護線程,該守護線程用于維護文件系統(tǒng)的完整性;并執(zhí)行一次守護線程,執(zhí)行文件系統(tǒng)完整性檢查,修復受損的文件系統(tǒng)的索引;然后休眠守護線程;當執(zhí)行寫操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則喚醒守護進程,并同時執(zhí)行守護線程和寫操作線程,這樣文件系統(tǒng)索引完整性維護不需在規(guī)定的時間內(nèi)結束,不會造成錄像數(shù)據(jù)緩存溢出現(xiàn)象。
[0034]本實施例通過首先建立守護線程,守護線程用于維護文件系統(tǒng)的完整性;然后休眠守護線程;最后當執(zhí)行寫操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則喚醒守護進程,并同時執(zhí)行守護線程和寫操作線程,因此,實現(xiàn)了在維護文件系統(tǒng)完整性的同時,及時保存錄像數(shù)據(jù)到硬盤。
[0035]實施例二:
[0036]本發(fā)明實施例二提供了一種文件系統(tǒng)多線程實現(xiàn)的裝置,如圖3所示,文件系統(tǒng)多線程實現(xiàn)的裝置30包括建立模塊310、休眠模塊320和第一執(zhí)行模塊330a。
[0037]建立模塊310,用于建立守護線程,守護線程用于維護文件系統(tǒng)的完整性。
[0038]其中,守護線程用于維護文件系統(tǒng)的完整性具體為:守護線程用于當檢查文件系統(tǒng)的索引受損時,恢復文件系統(tǒng)的索引。
[0039]休眠模塊320,用于休眠守護線程。
[0040]第一執(zhí)行模塊330a,用于當執(zhí)行寫操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則喚醒守護進程,并同時執(zhí)行守護線程和寫操作線程。
[0041]可選的,如圖4所示,文件系統(tǒng)多線程實現(xiàn)的裝置40還包括第二執(zhí)行模塊310-2和第三執(zhí)行模塊330b。
[0042]第二執(zhí)行模塊310-2,用于執(zhí)行守護線程。
[0043]第三執(zhí)行模塊330b,用于當執(zhí)行讀操作線程或查詢操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則先休眠讀操作線程或查詢操作線程,再喚醒守護線程,最后在執(zhí)行完守護線程后喚醒讀操作線程或查詢操作線程。
[0044]本實施例通過首先建立守護線程,守護線程用于維護文件系統(tǒng)的完整性;然后休眠守護線程;最后當執(zhí)行寫操作線程時,若發(fā)現(xiàn)文件系統(tǒng)的索引受損,則喚醒守護進程,并同時執(zhí)行守護線程和寫操作線程,因此,實現(xiàn)了在維護文件系統(tǒng)完整性的同時,及時保存錄像數(shù)據(jù)到硬盤。
[0045]上述本發(fā)明實施例序號僅僅為了描述,不代表實施例的優(yōu)劣。
[0046]本領域普通技術人員可以理解實現(xiàn)上述實施例的全部或部分步驟可以通過硬件來完成,也可以通過程序來指令相關的硬件完成,所述的程序可以存儲于一種計算機可讀存儲介質(zhì)中,上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。
[0047]以上所述僅為本發(fā)明的較佳實施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種文件系統(tǒng)多線程實現(xiàn)的方法,其特征在于,所述方法包括: 建立守護線程,所述守護線程用于維護文件系統(tǒng)的完整性; 休眠所述守護線程; 當執(zhí)行寫操作線程時,若發(fā)現(xiàn)所述文件系統(tǒng)的索引受損,則喚醒所述守護進程,并同時執(zhí)行所述守護線程和所述寫操作線程。
2.根據(jù)權利要求1所述的方法,其特征在于,所述建立守護線程的步驟之后和所述休眠所述守護線程的步驟之前還包括: 執(zhí)行所述守護線程。
3.根據(jù)權利要求1所述的方法,其特征在于,所述休眠所述守護線程的步驟之后包括: 當執(zhí)行讀操作線程或查詢操作線程時,若發(fā)現(xiàn)所述文件系統(tǒng)的索引受損,則先休眠所述讀操作線程或所述查詢操作線程,再喚醒所述守護線程,最后在執(zhí)行完所述守護線程后喚醒所述讀操作線程或所述查詢操作線程。
4.根據(jù)權利要求1所述的方法,其特征在于,所述守護線程用于維護文件系統(tǒng)的完整性具體為: 所述守護線程用于當檢查文件系統(tǒng)的索引受損時,恢復所述文件系統(tǒng)的索引。
5.一種文件系統(tǒng)多線程實現(xiàn)的裝置,其特征在于,所述裝置包括: 建立模塊,用于建立守護線程,所述守護線程用于維護文件系統(tǒng)的完整性; 休眠模塊,用于休眠所述守護線程; 第一執(zhí)行模塊,用于當執(zhí)行寫操作線程時,若發(fā)現(xiàn)所述文件系統(tǒng)的索引受損,則喚醒所述守護進程,并同時執(zhí)行所述守護線程和所述寫操作線程。
6.根據(jù)權利要求5所述的裝置,其特征在于,還包括: 第二執(zhí)行模塊,用于執(zhí)行所述守護線程。
7.根據(jù)權利要求5所述的裝置,其特征在于,還包括: 第三執(zhí)行模塊,用于當執(zhí)行讀操作線程或查詢操作線程時,若發(fā)現(xiàn)所述文件系統(tǒng)的索引受損,則先休眠所述讀操作線程或所述查詢操作線程,再喚醒所述守護線程,最后在執(zhí)行完所述守護線程后喚醒所述讀操作線程或所述查詢操作線程。
8.根據(jù)權利要求5所述的裝置,其特征在于,所述守護線程用于維護文件系統(tǒng)的完整性具體為: 所述守護線程用于當檢查文件系統(tǒng)的索引受損時,恢復所述文件系統(tǒng)的索引。
【文檔編號】G06F17/30GK104331463SQ201410603639
【公開日】2015年2月4日 申請日期:2014年10月30日 優(yōu)先權日:2014年10月30日
【發(fā)明者】黃凱明, 劉文濤, 歸建章 申請人:深圳市銳明視訊技術有限公司