一種文件屬性的管理方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種文件屬性的管理方法及裝置。
【背景技術(shù)】
[0002] 隨著數(shù)據(jù)通信技術(shù)的發(fā)展,以太網(wǎng)交換機(jī)、路由器等嵌入式設(shè)備能夠支持的文件 系統(tǒng)越來越多。然而,不同的文件系統(tǒng)支持的文件屬性不同,可能導(dǎo)致應(yīng)用程序在應(yīng)用于某 些文件系統(tǒng)時,無法正常運行。例如:文件系統(tǒng)1可支持隱藏、只讀等文件屬性的設(shè)置;而文 件系統(tǒng)2則不支持文件的屬性設(shè)置。這樣,應(yīng)用程序在文件系統(tǒng)1下可以將相關(guān)文件設(shè)置 為隱藏、只讀等屬性以保證正常安全的運行,但是將應(yīng)用程序應(yīng)用在文件系統(tǒng)2時,由于應(yīng) 用程序無法對特定文件進(jìn)行屬性設(shè)置,則無法保證應(yīng)用程序的正常運行。例如:應(yīng)用程序正 常運行所需的文件需要設(shè)置為隱藏,但文件系統(tǒng)2中無法支持該功能,則該文件可能被修 改或者刪除,進(jìn)而影響應(yīng)用程序的正常運行。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明提供一種文件屬性的管理方法及裝置,能夠支持任意文件系統(tǒng)下的文件屬 性的設(shè)置。
[0004] 為達(dá)到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
[0005] -方面,本發(fā)明提供一種文件屬性的管理方法,應(yīng)用于嵌入式設(shè)備中,包括:
[0006] 獲取掛載設(shè)備所包括的所有文件的屬性信息;
[0007] 將獲取的所有文件的屬性信息存儲至與所述掛載設(shè)備對應(yīng)的文件屬性文件中,所 述文件屬性文件保存在對應(yīng)的所述掛載設(shè)備中;
[0008] 嵌入式設(shè)備的應(yīng)用程序根據(jù)所述文件屬性文件管理所述掛載設(shè)備中文件的屬性。
[0009] 另一方面,本發(fā)明提供一種文件屬性的管理裝置,所述裝置包括:
[0010] 獲取模塊,用于獲取掛載設(shè)備所包括的所有文件的屬性信息;
[0011] 存儲模塊,用于將獲取的所有文件的屬性信息存儲至與所述掛載設(shè)備對應(yīng)的文件 屬性文件中,所述文件屬性文件保存在對應(yīng)的所述掛載設(shè)備中;
[0012] 應(yīng)用程序模塊,用于根據(jù)所述文件屬性文件管理所述掛載設(shè)備中文件的屬性。
[0013] 本發(fā)明提供的文件屬性的管理方法及裝置,當(dāng)存在掛載設(shè)備時,獲取掛載設(shè)備中 所包括的所有文件的屬性信息,并存儲在位于掛載設(shè)備的文件屬性文件中,這樣無論掛載 設(shè)備采用了什么類型的文件系統(tǒng),其文件系統(tǒng)本身是否支持某種屬性,采用本發(fā)明提供的 方法及裝置,應(yīng)用程序均可根據(jù)文件屬性文件得到文件的屬性,對文件的屬性進(jìn)行修改或 設(shè)置,進(jìn)而保證應(yīng)用程序的正常運行。
【附圖說明】
[0014] 為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn) 有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本 發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以 根據(jù)這些附圖獲得其他的附圖。
[0015] 圖1為本發(fā)明實施例提供的一種文件屬性的管理方法的示意圖;
[0016] 圖2為當(dāng)前設(shè)備掛載了Flash、優(yōu)盤等掛載設(shè)備時,文件屬性文件的一種存儲形 式;
[0017] 圖3為本發(fā)明實施例提供的一種文件屬性的管理裝置的示意圖;
[0018] 圖4為本發(fā)明實施例提供的另一種文件屬性的管理裝置的示意圖。
【具體實施方式】
[0019] 下面將結(jié)合本實施例中的附圖,對本實施例中的技術(shù)方案進(jìn)行清楚、完整地描述, 顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例。基于本發(fā)明中的 實施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都 屬于本發(fā)明保護(hù)的范圍。
[0020] 本發(fā)明實施例提供了一種文件屬性的管理方法,如圖1所示,該方法包括:
[0021] 101 :獲取掛載設(shè)備所包括的所有文件的屬性信息。
[0022] 本步驟的執(zhí)行主體為路由器、交換機(jī)等嵌入式設(shè)備,掛載設(shè)備為加載到嵌入式設(shè) 備上的設(shè)備。例如:當(dāng)前嵌入式設(shè)備為路由器,當(dāng)有硬盤、優(yōu)盤、Flash以及內(nèi)存文件系統(tǒng)等 加載到路由器上時,硬盤、優(yōu)盤、Flash、內(nèi)存文件系統(tǒng)等則為路由器的掛載設(shè)備。
[0023] 文件的屬性信息用于定義文件的不同性質(zhì),常見的文件屬性有系統(tǒng)屬性、隱藏屬 性、只讀屬性等。
[0024] 在本步驟的具體實現(xiàn)過程中,當(dāng)掛載設(shè)備加載到當(dāng)前嵌入式設(shè)備時,當(dāng)前嵌入式 設(shè)備獲取掛載設(shè)備中所有文件的屬性信息。
[0025] 示例性的,當(dāng)優(yōu)盤通過USB接口加載到嵌入式設(shè)備上時,嵌入式設(shè)備的文件系統(tǒng) 便會遍歷優(yōu)盤內(nèi)所有文件并獲取每個文件的屬性。
[0026] 可選的,在加載掛載設(shè)備時,當(dāng)前嵌入式設(shè)備還要獲取掛載設(shè)備本身的屬性信息, 例如:掛載設(shè)備的配置信息等,并將掛載設(shè)備的屬性信息自動解壓至嵌入式設(shè)備的內(nèi)存文 件系統(tǒng)中。在當(dāng)前嵌入式設(shè)備中,掛載設(shè)備本身的屬性信息一般以根屬性文件的形式存儲, 根屬性文件只能讀取,不能修改。
[0027] 102:將獲取的所有文件的屬性信息存儲至與所述掛載設(shè)備對應(yīng)的文件屬性文件 中,所述文件屬性文件保存在對應(yīng)的所述掛載設(shè)備中。
[0028] 在本步驟的具體實現(xiàn)過程中,通過文件屬性文件,存儲各個文件的屬性信息。在文 件屬性文件中,各個文件的名稱和其對應(yīng)的屬性可以以列表的形式呈現(xiàn),如下表表1所示。
[0029] 表 1
[0030]
[0031] 其中,r、w、h對應(yīng)的文件屬性分別為讀方式、寫方式和隱藏。
[0032] 如果當(dāng)前嵌入式設(shè)備同時加載了多個掛載設(shè)備,則在每個掛載設(shè)備中存儲其對應(yīng) 的文件屬性文件。如圖2所示,為當(dāng)前設(shè)備掛載了Flash、優(yōu)盤等掛載設(shè)備時,文件屬性文件 的一種存儲形式。其中," \ "表示當(dāng)前嵌入式設(shè)備的根目錄,在當(dāng)前嵌入式設(shè)備的根目錄下, 分別存儲了根屬性文件、Flash對應(yīng)的根目錄(\flash)、優(yōu)盤對應(yīng)的根目錄(\H),在Flash 的根目錄下存儲了文件屬性文件1,用于描述Flash中每個文件的屬性;在優(yōu)盤的根目錄下 存儲了文件屬性文件2,用于描述優(yōu)盤中每個文件的屬性。此外,圖2中還分別示出了Flash 和優(yōu)盤的根目錄下的其他子目錄,如"\flash: \tech"和"\H: \tech"等。
[0033] 這樣,將同一個掛載設(shè)備中包括的所有文件的屬性信息均存儲在同一個文件中, 便于對該掛載設(shè)備中所包含的文件的屬性進(jìn)行管理。
[0034] 具體的,既可以將文件屬性文件存儲至掛載設(shè)備對應(yīng)的根目錄下,也可以存儲至 掛載設(shè)備對應(yīng)的子目錄下。例如:掛載設(shè)備對應(yīng)的根目錄為可移動磁盤Η;-個子目錄為 Η: \新建文件夾;則該掛載設(shè)備對應(yīng)的文件屬性文件既可以直接存儲至可移動磁盤Η下,也 可以存儲至Η:\新建文件夾下。
[0035] 需要說明的是,掛載設(shè)備對應(yīng)的文件屬性文件可以在掛載設(shè)備首次加載的時候創(chuàng) 建,然后當(dāng)卸載或格式化該掛載設(shè)備時,一并刪除;然后下次加載掛載設(shè)備的時候需要重新 創(chuàng)建。也可以在首次創(chuàng)建后,保存在掛載設(shè)備中,在掛載設(shè)備以后的加載過程中,更新該文 件屬性文件。
[0036] 103:嵌入式設(shè)備的應(yīng)用程序根據(jù)所述文件屬性文件管理所述掛載設(shè)備中文件的 屬性。
[0037] 在本步驟的具體實現(xiàn)過程中,嵌入設(shè)備的應(yīng)用程序可通過查找文件屬性文件獲取 掛載設(shè)備內(nèi)的每個文件的屬性,對文件的屬性進(jìn)行修改、設(shè)置等。
[0038] 本發(fā)明實施例提供的文件屬性的管理方法,當(dāng)存在掛載設(shè)備時,獲取掛載設(shè)備中 所包括的所有文件的屬性信息,并存儲在位于掛載設(shè)備中的文件屬性文件中,這樣無論掛 載設(shè)備采用了什么類型的文件系統(tǒng),其文件系統(tǒng)本身是否支持某種屬性,采用本發(fā)明實施 例提供的方法,應(yīng)用程序均可根據(jù)文件屬性文件中得到文件的屬性,對文件屬性文件中文 件的屬性進(jìn)行修改或設(shè)置,進(jìn)而保證應(yīng)用程序的正常運行。
[0039] 例如:應(yīng)用程序Α運行在路由器中,F(xiàn)lash為路由器的掛載設(shè)備,該掛載設(shè)備的文 件系統(tǒng)為msdos文件系統(tǒng),支持文件隱藏屬性。應(yīng)用程序A將Flash作為默認(rèn)存儲路徑,存 儲兩個文件:文件1、文件2,文件1為內(nèi)部調(diào)試文件,因此其屬性設(shè)置為隱藏,文件2為統(tǒng)計 信息文件,其文件屬性不需要隱藏設(shè)置,可以設(shè)置為只讀等其他方式。應(yīng)用程序B運行在路 由器中,負(fù)責(zé)向用戶展示文件,當(dāng)調(diào)用應(yīng)用程序B時,應(yīng)用程序B會遍歷默認(rèn)存儲路徑中所 有文件,獲取文件的屬性,如果是隱藏屬性文件,則跳過,如果為隱藏屬性以外的其他屬性, 則將文件信息輸出;因而用戶只能看到文件1,無法看到文件2。
[0040] 如果路由器掛載了硬盤,該硬盤的文件系統(tǒng)為ext