專利名稱:一種保護(hù)文件系統(tǒng)互斥訪問與復(fù)位的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及保護(hù)文件系統(tǒng)的技術(shù)領(lǐng)域,尤其涉及到一種保護(hù)文件系統(tǒng)互 斥訪問與復(fù)位的方法。
背景技術(shù):
目前在嵌入式系統(tǒng)開發(fā)過程中,經(jīng)常出現(xiàn)保存在Flash (Flash: —種可 快速擦寫的信息儲存介質(zhì))中的版本文件丟失或者被破壞的現(xiàn)象,這類故 障大多由硬件Flash的穩(wěn)定性和軟件層保護(hù)性代碼不完整造成的,這樣就給 用戶帶來了很大的不便,并且容易給客戶帶來巨大的經(jīng)濟(jì)損失。
目前科學(xué)技術(shù)飛速發(fā)展,F(xiàn)lash的應(yīng)用越來越廣泛,大大提高了用戶開 發(fā)系統(tǒng)的效率,但是在訪問與復(fù)位時Flash容易發(fā)生丟失文件等現(xiàn)象,大大 減低了其實用性,給用戶帶來了麻煩。
總之,在現(xiàn)有技術(shù)條件下,F(xiàn)lash經(jīng)常出現(xiàn)丟失文件或者文件被破壞等 故障導(dǎo)致數(shù)據(jù)丟失,同時也給用戶帶來了經(jīng)濟(jì)損失。因此需要提供一種新 的文件系統(tǒng),以減少Flash的故障,保護(hù)用戶的利益。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種保護(hù)文件系統(tǒng)互斥訪問與復(fù)位的 實現(xiàn)方法,建立新的文件系統(tǒng)模型,以降低文件系統(tǒng)的故障率,實現(xiàn)對文 件系統(tǒng)互斥訪問與復(fù)位的保護(hù)。
為解決上述技術(shù)問題,本發(fā)明的技術(shù)方案包括
一種保護(hù)文件系統(tǒng)互斥訪問與復(fù)位的實現(xiàn)方法,其包括以下步驟
4A、 在文件系統(tǒng)中增加一文件代理進(jìn)程,通過向所述文件代理進(jìn)程發(fā)送 同步調(diào)用信息實現(xiàn)對文件系統(tǒng)進(jìn)行操作;
B、 通過互斥保護(hù)模塊和復(fù)位保護(hù)模塊進(jìn)行互斥訪問和復(fù)位操作。 所述的實現(xiàn)方法,其中,所述步驟A中,所述文件代理進(jìn)程在執(zhí)行對
文件系統(tǒng)的操作時,執(zhí)行以下步驟
Al、查詢?nèi)謽?biāo)志,若返回值為是,則正常執(zhí)行所述文件系統(tǒng)的操作; 否則停止對所述文件系統(tǒng)的操作。
所述的實現(xiàn)方法,其中,所述步驟B中的復(fù)位保護(hù)模塊執(zhí)行操作包括 所述文件系統(tǒng)中活動的文件描述符的搜索和關(guān)閉,與所述文件系統(tǒng)復(fù)位相 關(guān)信息的獲取與解析,以及所述文件系統(tǒng)復(fù)位保護(hù)是否已啟動的查詢。
所述的實現(xiàn)方法,其中,所述步驟B中的復(fù)位操作還包括以下步驟
Bl、設(shè)置一看門狗程序,并喂狗;
B2、設(shè)置所述全局標(biāo)志,阻止所述文件代理進(jìn)程對所述文件系統(tǒng)的操
作;
B3、設(shè)置所述看門狗程序的倒計時計數(shù)器,確保單板預(yù)定時間后能正 常復(fù)位。
所述的實現(xiàn)方法,其中,所述步驟B還包括
B4、查詢所述文件系統(tǒng)中所有活動的文件描述符,保存與所述文件描 述符相對應(yīng)的文件信息到黑匣子中,供單板下一次上電后的業(yè)務(wù)層查詢;
B5、關(guān)閉所述文件系統(tǒng)所有活動的文件描述符,完成文件系統(tǒng)的復(fù)位 保護(hù)。
所述的實現(xiàn)方法,其中,所述文件系統(tǒng)的復(fù)位操作占用高端內(nèi)存空間在 讀寫后使用內(nèi)存刷新函數(shù)保證數(shù)據(jù)在復(fù)位前后的一致。
所述的實現(xiàn)方法,其中,所述步驟B中的互斥訪問為由所述文件代 理進(jìn)程控制使上層軟件對文件系統(tǒng)的各操作之間串行化。
本發(fā)明所提供的一種保護(hù)文件系統(tǒng)互斥訪問與復(fù)位的實現(xiàn)方法,由于在現(xiàn)有的文件系統(tǒng);漠型中增加了 一文件代理進(jìn)程,用于對Flash的互斥訪問和 復(fù)位操作進(jìn)行保護(hù),這樣就大大減低了文件系統(tǒng)的故障率,從而大大提高 了文件系統(tǒng)的穩(wěn)定性,方便了用戶的操作。
圖1為本發(fā)明的互斥訪問文件系統(tǒng)時文件代理進(jìn)程處理流程圖; 圖2為本發(fā)明的文件系統(tǒng)復(fù)位保護(hù)流程圖。
具體實施例方式
以下結(jié)合附圖,將對本發(fā)明的各較佳實施例進(jìn)行較為詳細(xì)的說明。 本發(fā)明要的提供是一種保護(hù)文件系統(tǒng)互斥訪問與復(fù)位的實現(xiàn)方法,建立
新的文件系統(tǒng)模型,以降低文件系統(tǒng)的故障率,實現(xiàn)對文件系統(tǒng)互斥訪問
與復(fù)位的保護(hù)。
本發(fā)明的方法在軟件方面通過對Flash的互斥訪問和復(fù)位操作進(jìn)行保 護(hù),能夠在單板復(fù)位前檢查對所述文件系統(tǒng)的操作是否結(jié)水,若對所述文 件系統(tǒng)的操作尚未結(jié)束則等待其結(jié)束,或者關(guān)閉文件,并上報異常。本發(fā) 明的方法對文件互斥訪問方面進(jìn)行保護(hù),避免由于所述文件系統(tǒng)不可重入 導(dǎo)致的一系列問題。
本發(fā)明的方法中引入一個文件代理進(jìn)程為Agentjproc,所述文件代理進(jìn) 程啟動后,所有進(jìn)程對Flash文件的操作就變成了給所述文件代理進(jìn)程發(fā)同 步調(diào)用消息來進(jìn)行如圖1所示,這就在應(yīng)用層保證了文件操作的串行性, 實現(xiàn)了 open、 write、 read、 seek、 close、 rename等六個文件才乘作函數(shù)的互 斥。本發(fā)明的方法還通過互斥保護(hù)模塊和復(fù)位保護(hù)模塊進(jìn)行互斥訪問和復(fù) 位操作,從而大大提高了 Flash文件的穩(wěn)定性與安全性。按照本發(fā)明的方法 在有文件系統(tǒng)的模塊上注冊所述文件代理進(jìn)程即可實現(xiàn)上述功能。
本發(fā)明的方法中所述文件代理進(jìn)程執(zhí)行所述文件系統(tǒng)操作前先調(diào)用
6BTS函數(shù)(BspTellFsAccessability :基站收發(fā)信才幾)查詢?nèi)謽?biāo)志 g_ulBspFsAccessableFlag,檢測所述文件系統(tǒng)是否可用,如果得到返回值等 于OK才正常執(zhí)行所述文件系統(tǒng)操作,否則不對所述文件系統(tǒng)進(jìn)行任何操 作。
如圖1所示,本發(fā)明中引入文件代理進(jìn)程,使上層軟件對文件系統(tǒng)的 read、 write、 create等操作之間串行化,使"文件原子操作"之間實現(xiàn)互斥。 當(dāng)其他程序訪問所述文件系統(tǒng)時,給所述文件代理進(jìn)程加電并發(fā)送同步調(diào) 用信息,所述文件代理進(jìn)程調(diào)用BTS函數(shù)對所述文件系統(tǒng)進(jìn)行檢測,若檢 測到所述文件系統(tǒng)可用,則正常執(zhí)行所述文件系統(tǒng)操作;若;f企測到所述文 件系統(tǒng)有錯誤,則停止對文件系統(tǒng)的訪問。
本發(fā)明方法中還有一所述復(fù)位保護(hù)模塊,所述復(fù)位保護(hù)才莫塊用于在軟件 調(diào)用復(fù)位函數(shù)主動復(fù)位單板時,通過搜索本地文件系統(tǒng)的文件描述符fd, 找到所述復(fù)位函數(shù)執(zhí)行時仍然處于打開狀態(tài)的所述fd,保存這些所述fd對 應(yīng)的文件信息并嘗試關(guān)閉這些所述fd對應(yīng)的文件,實現(xiàn)單板復(fù)位時的文件 系統(tǒng)保護(hù)。所述復(fù)位保護(hù)才莫塊包括所述文件系統(tǒng)中活動所述fd的搜索和關(guān) 閉、與所述文件系統(tǒng)復(fù)位相關(guān)信息的獲取與解析以及所述文件系統(tǒng)復(fù)位保 護(hù)是否已啟動的查詢等三部分。
如圖2所示,本發(fā)明方法中所述復(fù)位保護(hù)模塊由一個在所述復(fù)位函數(shù)開 始處執(zhí)行的固定流程實現(xiàn),包括信息保存、文件保護(hù),所述固定流程包括 以下步驟
Bl、設(shè)置一看門狗程序,并喂狗;
B2、設(shè)置所述全局標(biāo)志,阻止所述文件代理進(jìn)程對所述文件系統(tǒng)的操
作;
B3、設(shè)置所述看門狗程序的倒計時計數(shù)器,確保單板預(yù)定時間后能正 常復(fù)位。
B4、查詢所述文件系統(tǒng)中所有活動的文件描述符,保存與所述文件描述符相對應(yīng)的文件信息到黑匣子中,供單板下一次上電后的業(yè)務(wù)層查詢;
B5、關(guān)閉所述文件系統(tǒng)所有活動的文件描述符,完成文件系統(tǒng)的復(fù)位 保護(hù)。
所述文件系統(tǒng)的所述復(fù)位保護(hù)模塊運(yùn)行時約占用高端內(nèi)存的前l(fā)k空間。 這段內(nèi)存不保證是內(nèi)存一致的,所以對所述文件系統(tǒng)讀寫后需要使用內(nèi)存 刷新的函數(shù)保證數(shù)據(jù)在復(fù)位前后的一致性。
本發(fā)明方法在3G系統(tǒng)中的應(yīng)用,在3G系統(tǒng)中CCM單板(Communication Control Module:通信控制模塊)上帶有Flash芯片用于存放主控板與受控 板的版本文件,RSP層(Running Support Part: OSS運(yùn)行支持部分)調(diào)用所 述復(fù)位函數(shù)主動復(fù)位單板時,通過搜索本地文件系統(tǒng)所述fd的方式,找到B 所述復(fù)位函數(shù)執(zhí)行時仍處于打開狀態(tài)的所述fd,保存這些所述fd對應(yīng)的文 件信息并嘗試關(guān)閉這些所述fd對應(yīng)的文件,實現(xiàn)單板復(fù)位時的文件系統(tǒng)保 護(hù)。
采用本發(fā)明方法,有效實現(xiàn)對所述文件系統(tǒng)的互斥才喿作與復(fù)位保護(hù),盡 可能避免由于對所述文件系統(tǒng)的不當(dāng)操作所帶來的不良影響,這樣就大大 減低了文件系統(tǒng)的故障率,從而大大提高了文件系統(tǒng)的穩(wěn)定性,方便了用 戶的操作。
應(yīng)當(dāng)理解的是,上述針對較佳實施例的描述并不能理解為對本發(fā)明專利 保護(hù)范圍的限制,本發(fā)明的專利保護(hù)范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。
權(quán)利要求
1、一種保護(hù)文件系統(tǒng)互斥訪問與復(fù)位的實現(xiàn)方法,其包括以下步驟A、在文件系統(tǒng)中增加一文件代理進(jìn)程,通過向所述文件代理進(jìn)程發(fā)送同步調(diào)用信息實現(xiàn)對文件系統(tǒng)進(jìn)行操作;B、通過互斥保護(hù)模塊和復(fù)位保護(hù)模塊進(jìn)行互斥訪問和復(fù)位操作。
2、 根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述步驟A中,所 述文件代理進(jìn)程在執(zhí)行對文件系統(tǒng)的操作時,執(zhí)行以下步驟Al、查詢?nèi)謽?biāo)志,若返回值為是,則正常執(zhí)行所述文件系統(tǒng)的操作; 否則停止對所述文件系統(tǒng)的操作。
3、 根據(jù)權(quán)利要求2所述的實現(xiàn)方法,其特征在于,所述步驟B中的復(fù) 位保護(hù)模塊執(zhí)行操作包括所述文件系統(tǒng)中活動的文件描述符的搜索和關(guān) 閉,與所述文件系統(tǒng)復(fù)位相關(guān)信息的獲取與解析,以及所述文件系統(tǒng)復(fù)位 保護(hù)是否已啟動的查詢。
4、根據(jù)權(quán)利要求3所述的實現(xiàn)方法,其特征在于,所述步驟B中的復(fù) 位操作還包括以下步驟Bl、設(shè)置一看門狗程序,并喂狗;B2、設(shè)置所述全局標(biāo)志,阻止所述文件代理進(jìn)程對所述文件系統(tǒng)的操 作;B3、設(shè)置所述看門狗程序的倒計時計數(shù)器,確保單板預(yù)定時間后能正 常復(fù)位。
5、根據(jù)權(quán)利要求4所述的實現(xiàn)方法,其特征在于,所述步驟B還包括 B4、查詢所述文件系統(tǒng)中所有活動的文件描述符,保存與所述文件描 述符相對應(yīng)的文件信息到黑匣子中,供單板下一次上電后的業(yè)務(wù)層查詢;B5、關(guān)閉所述文件系統(tǒng)所有活動的文件描述符,完成文件系統(tǒng)的復(fù)位 保護(hù)。
6、 根據(jù)權(quán)利要求5所述的實現(xiàn)方法,其特征在于,所述文件系統(tǒng)的復(fù) 位操作占用高端內(nèi)存空間在讀寫后使用內(nèi)存刷新函數(shù)保證數(shù)據(jù)在復(fù)位前后 的一致。
7、 根據(jù)權(quán)利要求1所述的實現(xiàn)方法,其特征在于,所述步驟B中的互 斥訪問為由所述文件代理進(jìn)程控制使上層軟件對文件系統(tǒng)的各操作之間 串行化。
全文摘要
本發(fā)明所提供的是一種保護(hù)文件系統(tǒng)互斥訪問與復(fù)位的實現(xiàn)方法,其中,在文件系統(tǒng)中增加一文件代理進(jìn)程,通過向所述文件代理進(jìn)程發(fā)送同步調(diào)用信息實現(xiàn)對文件系統(tǒng)進(jìn)行操作;通過互斥保護(hù)模塊和復(fù)位保護(hù)模塊進(jìn)行互斥訪問和復(fù)位操作。本發(fā)明方法由于在現(xiàn)有的文件系統(tǒng)模型中增加了一文件代理進(jìn)程,這樣就大大減低了文件系統(tǒng)的故障率,從而大大提高了文件系統(tǒng)的穩(wěn)定性,方便了用戶的操作。
文檔編號G06F11/00GK101499024SQ200810065220
公開日2009年8月5日 申請日期2008年1月29日 優(yōu)先權(quán)日2008年1月29日
發(fā)明者賈亞勤 申請人:中興通訊股份有限公司