TWI484355B - 作業系統/電子裝置與檔案之存取方法 - Google Patents
作業系統/電子裝置與檔案之存取方法 Download PDFInfo
- Publication number
- TWI484355B TWI484355B TW098115029A TW98115029A TWI484355B TW I484355 B TWI484355 B TW I484355B TW 098115029 A TW098115029 A TW 098115029A TW 98115029 A TW98115029 A TW 98115029A TW I484355 B TWI484355 B TW I484355B
- Authority
- TW
- Taiwan
- Prior art keywords
- file
- path
- hierarchical
- flat
- name
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
- G06F16/166—File name conversion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (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)
Description
本發明是有關於一種映射技術,且特別是有關於一種建立檔案在階層式檔案系統與扁平式檔案系統中的對應關係的映射技術。
一般作業系統都會利用檔案系統(File system)來取存檔案,例如階層式檔案系統(Hierarchical File System,HFS),在此系統,由於位於不同的目錄下,因而不同的資料夾中可以存在名稱相同的檔案,而不會發生錯誤或混淆。
然而,在扁平式檔案系統(Flat File System)中,由於所有檔案都存放在同一階層中。因此各檔案的名稱必須彼此不相同,否則會導致錯誤的產生。
一種檔案之存取方法,用來將原本設計存取在階層式檔案系統之檔案順利存取至扁平式檔案系統。
一種作業系統/電子裝置與檔案之存取方法,可建立檔案在階層式檔案系統與扁平式檔案系統中的對應關係,以存取檔案。
檔案之儲存方法,包括讀取檔案,轉換檔案原本在階層式檔案系統中之路徑以產生雜湊值,並利用雜湊值並結合檔案之檔案名以產生重組檔案名,並藉此檔案名來儲存此檔案於扁平式檔案系統。
檔案之讀取方法,包括接受一讀取請求,轉換檔案原本在階層式檔案系統中之路徑以產生雜湊值,並利用雜湊值並結合檔案之檔案名以產生重組檔案名,並藉此檔案名來讀取此檔案於扁平式檔案系統。
本發明之作業系統包含一扁平式檔案系統,用以儲存一檔案,此作業系統另包含一映射模組,用以轉換該檔案之一路徑以產生一雜湊值,以結合該雜湊值與該檔案之原始檔案名而產生一重組檔案名,以提供該扁平式檔案系統依據該重組檔案名儲存該檔案。
上述扁平式檔案系統另用以接受一讀取請求,以利用該重組檔案名讀取檔案。
本發明之電子裝置包括一儲存記憶體,用以儲存該檔案及一運算單元,用以產生上述重組檔案名,並以依據該重組檔案名從該儲存記憶體儲存或讀取出該檔案。
舉例來說,轉換檔案之路徑以產生雜湊值之步驟,係依據雜湊法將上述路徑轉換成十六進位代碼。上述路徑係為符合階層式檔案系統之路徑格式。
舉例來說,上述作業系統為UNIX、Linux與IBM之其一。讀取檔案之步驟,包含對應用程式解壓縮。且該讀取請求包含該路徑。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
階層式檔案系統與扁平式檔案系統各有其優缺點。舉例來說,對於使用者來說,在階層式檔案系統中,檔案的命名較為方便;在扁平式檔案系統中,檔案的命名較不方便。另一方面,在大多數情況下,對於機器而言,由於扁平式檔案系統不需要一直判斷目錄,因此取存時執行效率較高;階層式檔案系統的執行效率較低。扁平式檔案系統例如是UNIX、Linux或IBM。
值得一提的是,階層式檔案系統的應用程式常因路徑或檔名問題,因而造成階層式檔案系統的應用程式無法移植至扁平式檔案系統,而被扁平式檔案系統所辨識或執行。必須重新撰寫程式碼,十分耗時。相同地,扁平式檔案系統的應用程式也常因路徑或檔名問題,因而造成扁平式檔案系統的應用程式無法被階層式檔案系統所辨識或執行。以下提出一種方法,可讓階層式檔案路徑與扁平式檔案路徑相互轉換。
本發明係運用於一電子裝置,而此裝置具有一運算單元及一儲存記憶體,該儲存記憶體用以儲存檔案,而運算單元執行一作業系統,且此作業系統包含一扁平式檔案系統及一映射模組,此扁平式檔案系統用來規劃檔案之儲存,運算單元執行映射模組來產生新的檔名及相關運算,圖1是映射模組將階層式檔案之路徑及其檔名映射至扁平式檔案之檔名的示意圖。請參照圖1,在階層式檔案系統中,目錄\root\folder下儲存著filel.txt,\root\folder下儲存著file2.txt,\root\folder2下重覆出現了檔名為filel.txt。在階層式檔案系統中,由於存放於不同的目錄下,系統在辨識時不會發生誤認,然而,若原本執行在階層式檔案系統之程式,要移植到扁平式檔案系統時會發生程式儲放格式無法辨認的問題,為了解決此問題,映射模組81可將階層式檔案21~23之路徑及其檔名映射至扁平式檔案31~33之檔名。另外,映射模組81也可將扁平式檔案31~33之檔名映射至階層式檔案21~23之路徑及其檔名。更具體地說,映射模組81可依據各階層式檔案的檔名及其所處的資料夾名稱產生唯一且相對應的扁平式檔案的名稱。在此請注意,扁平式檔案路徑31~33與階層式檔案路徑21~23分別為一對一的映射關係,因此可避免碰]問題的產生。
承上述,映射模組81可使映射所得的扁平式檔案31~33之檔名具有相同長度的名稱,熟習本領域技術者可依其需求決定扁平式檔案31~33之檔名的長度。隨著扁平式檔案31~33之檔名的長度愈長,扁平式檔案31~33之檔名則愈不容易發生碰撞。以上已針對映射模組81作詳細地介紹,以下列舉幾種映射模組81的應用情形。
圖2是將具有階層式檔案21~23之路徑及其檔名之檔案寫入扁平式檔案系統之流程圖。為了要讓扁平式檔案系統順利儲存階層式檔案系統中的檔案,映射模組81需將階層式檔案21~23之路徑及其檔名轉換成扁平式檔案31~33之檔名,請參照圖1與圖2,首先由步驟S201,讀取階層式檔案21~23。接著由步驟S202,映射模組81對所讀取的檔案重新命名,命名方式依據一演算法如雜湊函數(Hash Function)分別將階層式檔案21~23之路徑(如\root\folder,\root\folder,\root\folder2)轉換成十六進位代碼並與原始檔案名(如file1.txt,file2.txt,file1.txt)連接後,而為新的檔名(2933639f_file1.txt,a930b842_file2.txt,38cd0180_file1.txt),再儲存於儲存記憶體中。
圖3是在扁平式檔案系統中讀取經圖2轉換後的檔案之流程圖。經過上述寫入方式,可順利地把原本以階層式方式儲存的檔案轉換成扁平式檔案系統之儲存方式,故,對於程式撰寫者若要扁平式檔案系統中利用到階層式此特性,則需在儲存檔案時,使用上述寫入方式,然後可在讀取時,以下列的方式,將階層式的目錄設為程式中的參數代入程式中,即可在扁平式檔案系統模擬階層式檔案系統。請參照圖1與圖3。在儲存記憶體順利地轉換成可被扁平式檔案系統辨識出來的檔案後,若想知道原本在階層式檔案系統中的檔名或想在扁平式檔案系統利用階層式此特性,如圖3,首先由步驟S301,扁平式檔案系統接受一讀取請求,該讀取請求可為一程式指令,用來執行讀取一檔案,且程式撰寫者若要使用檔案的階層式特性即階層式檔案21~23之路徑,則可將階層式檔案21~23之路徑以參數的方式代入該讀取請求,以指明要讀取那個路徑之下的檔案,由步驟S302轉換檔案所對應的階層式檔案21~23之路徑以產生一雜湊值,步驟S303結合該雜湊值與想要讀取的階層式檔案21~23之原始檔案名以產生一重組檔案名。步驟S304依據該重組檔案名讀取出該檔案。藉由上述寫入方式可在扁平式檔案系統將原本係為階層式檔案系統的檔案轉換成扁平式檔案系統可辨識的檔案,以順利地儲存檔案,並可利用上述讀取方式產生模擬出具有階層式特性的檔案。程式撰寫者可在扁平式檔案系統中撰寫需要以階層方式存取的程式。
安裝程式時,通常程式都因要放置組態檔或是資料檔而以階層方式產生目錄,此時,若要順利地將原本安裝於階層式檔案系統中的程式安裝至扁平式檔案系統,則可利用下列方式順利安裝。圖4是扁平式檔案系統中安裝階層式檔案系統的應用程式之流程圖。請參照圖1與圖4。首先由步驟S401,扁平式檔案系統可讀取一應用程式。接著由步驟S402,對應用程式進行解壓縮以產生數個檔案。步驟S403,映射模組81以圖三之寫入方式對所有解壓縮的檔案重新命名,並儲存於儲存記憶體。接著由步驟S404,扁平式檔案系統安裝於儲存記憶體的解壓縮檔案。值得注意的是,扁平式檔案系統在安裝應用程式的過程中,若發現階層式檔案系統的路徑,可透過映射模組81將階層式檔案系統的路徑映射為扁平式檔案系統的路徑。如此階層式檔案系統的應用程式也可應用於扁平式檔案系統。
圖5是扁平式檔案系統模擬階層式檔案系統之流程圖。請參照圖1與圖5,首先由步驟S501,扁平式檔案系統可建立階層式檔案系統的使用者介面。接著由步驟S502,扁平式檔案系統可透過映射模組81將儲存記憶體的各檔案對應映射為階層式檔案系統的路徑及名稱,並顯示於上述使用者介面。換言之,各檔案是以扁平式檔案系統的形式存在於儲存記憶體,但使用者透過上述使用者介面階層式地存取檔案。
在圖1中,映射模組81所執行的演算法雖以雜湊函數為例進行說明,但熟習本領域技術者亦可依其需求改用其他的演算法實施。舉例來說,圖6是另一種將階層式檔案路徑映射至扁平式檔案路徑的示意圖。請合併參照圖1與圖6,映射模組81與映射模組82相類似,其不同之處在於映射模組82所執行的演算法不同,但兩個演算法都屬於決定型演算法(Deterministic Algorithm),扁平式檔案41~43具有相同或不相同長度的名稱。
綜上所述,本發明的映射模組可將階層式檔案映射至扁平式檔案。因此,運作於階層式檔案系統中之程式,可轉換而運作於扁平式檔案系統,對於程式撰寫者而言,可不需要為了讓程式可運作於扁平式檔案系統而重新改寫程式,可節省時間,人力。
雖然本發明已以幾個實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,因此本發明的保護範圍當視後附的申請專利範圍所界定者為準。
21~23...階層式檔案路徑
31~33、41~43...扁平式檔案路徑
81、82...映射模組
S201、S202、S301~S304、S401~S404、S501、S502...映射模組的各應用情形之流程圖
圖1是一種映射模組將階層式檔案之路徑及其檔名映射至扁平式檔案之檔名的示意圖。
圖2是將檔案路徑為階層式檔案路徑的檔案寫入扁平式檔案系統之流程圖。
圖3是在扁平式檔案系統中讀取經圖2轉換後的檔案之流程圖。
圖4是扁平式檔案系統中安裝階層式檔案系統的應用程式之流程圖。
圖5是扁平式檔案系統模擬階層式檔案系統之流程圖。
圖6是另一種將階層式檔案路徑映射至扁平式檔案路徑的示意圖。
21~23...階層式檔案路徑
31~33、41~43...扁平式檔案路徑
81、82...映射模組
Claims (13)
- 一種檔案之儲存及讀取方法,用以儲存並讀取一檔案於一扁平式檔案系統,包括:讀取該檔案,該檔案於一階層式檔案系統具有一路徑;轉換該路徑以產生一雜湊值;結合該雜湊值與該檔案之原始檔案名以產生一重組檔案名;依據該重組檔案名儲存該檔案;建立該階層式檔案系統的一使用者介面;接受一讀取請求;透過該使用者介面,依據該重組檔案名讀取出該檔案。
- 如申請專利範圍第1項所述的儲存及讀取方法,其中,轉換該路徑以產生該雜湊值之步驟,係依據雜湊法(Hash Function)將該路徑轉換成十六進位代碼。
- 如申請專利範圍第1項所述的儲存及讀取方法,其中,該路徑係為符合階層式檔案系統之路徑格式。
- 如申請專利範圍第1項所述的儲存及讀取方法,其中,該扁平式檔案系統運作於一作業系統而該作業系統為UNIX、Linux與IBM之其一。
- 如申請專利範圍第1項所述的儲存及讀取方法,其中,讀取該檔案之步驟,包含對一應用程式解壓縮。
- 如申請專利範圍第1項所述的儲存及讀取方法,其 中,該讀取請求包含該路徑。
- 一種作業系統,其作業系統包括:一扁平式檔案系統,用以儲存一檔案;一映射模組,用以轉換該檔案之一路徑以產生一雜湊值,以結合該雜湊值與該檔案之原始檔案名而產生一重組檔案名,以提供該扁平式檔案系統依據該重組檔案名儲存該檔案,其中,該扁平式檔案系統更建立該階層式檔案系統的一使用者介面,並接受一讀取請求,以依據該重組檔案名讀取該檔案。
- 如申請專利範圍第7項所述的作業系統,其中,該映射模組係依據雜湊法將該路徑轉換成十六進位代碼。
- 如申請專利範圍第7項所述的作業系統,其中,該路徑係為符合階層式檔案系統之路徑格式。
- 如申請專利範圍第7項所述的作業系統,其中,該作業系統係為UNIX、Linux與IBM之其一。
- 一種電子裝置,其電子裝置包括:一儲存記憶體,用以儲存屬於一扁平式檔案系統的一檔案;以及一運算單元,用以轉換該檔案之一路徑以產生一雜湊值,以結合該雜湊值與該檔案之原始檔案名而產生一重組檔案名,以依據符合該扁平式檔案系統之檔案格式的該重組檔案名儲存該檔案,其中,該運算單元建立一階層式檔案系統的一使用者 介面,並接受一讀取請求,以依據該重組檔案名從該儲存記憶體讀取出該檔案。
- 如申請專利範圍第11項所述的電子裝置,其中,該運算單元係依據雜湊法將該路徑轉換成十六進位代碼。
- 如申請專利範圍第11項所述的電子裝置,其中,該路徑係為符合階層式檔案系統之路徑格式。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098115029A TWI484355B (zh) | 2009-05-06 | 2009-05-06 | 作業系統/電子裝置與檔案之存取方法 |
EP09013648A EP2249258A1 (en) | 2009-05-06 | 2009-10-29 | Operating system / electronic device and method for storing or reading a file |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW098115029A TWI484355B (zh) | 2009-05-06 | 2009-05-06 | 作業系統/電子裝置與檔案之存取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201040748A TW201040748A (en) | 2010-11-16 |
TWI484355B true TWI484355B (zh) | 2015-05-11 |
Family
ID=41435147
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW098115029A TWI484355B (zh) | 2009-05-06 | 2009-05-06 | 作業系統/電子裝置與檔案之存取方法 |
Country Status (2)
Country | Link |
---|---|
EP (1) | EP2249258A1 (zh) |
TW (1) | TWI484355B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020038428A1 (en) * | 2000-07-18 | 2002-03-28 | Safa John Aram | Digital data protection arrangement |
US20070112891A1 (en) * | 2005-11-14 | 2007-05-17 | Apple Computer, Inc. | Converting file-systems that organize and store data for computing systems |
US20070277227A1 (en) * | 2004-03-04 | 2007-11-29 | Sandbox Networks, Inc. | Storing Lossy Hashes of File Names and Parent Handles Rather than Full Names Using a Compact Table for Network-Attached-Storage (NAS) |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE69623227T2 (de) | 1995-10-27 | 2003-04-17 | Ncr Int Inc | Verfahren und System zur Berechnung von Dateinamen mit hoher Wahrscheinlichkeit der Eindeutigkeit |
US7251747B1 (en) | 2001-09-20 | 2007-07-31 | Ncr Corp. | Method and system for transferring data using a volatile data transfer mechanism such as a pipe |
US20070136328A1 (en) * | 2005-11-25 | 2007-06-14 | International Business Machines Corporation | System and method for managing files to be attached to and detached from an electronic document |
-
2009
- 2009-05-06 TW TW098115029A patent/TWI484355B/zh not_active IP Right Cessation
- 2009-10-29 EP EP09013648A patent/EP2249258A1/en not_active Ceased
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020038428A1 (en) * | 2000-07-18 | 2002-03-28 | Safa John Aram | Digital data protection arrangement |
US20070277227A1 (en) * | 2004-03-04 | 2007-11-29 | Sandbox Networks, Inc. | Storing Lossy Hashes of File Names and Parent Handles Rather than Full Names Using a Compact Table for Network-Attached-Storage (NAS) |
US20070112891A1 (en) * | 2005-11-14 | 2007-05-17 | Apple Computer, Inc. | Converting file-systems that organize and store data for computing systems |
Also Published As
Publication number | Publication date |
---|---|
EP2249258A1 (en) | 2010-11-10 |
TW201040748A (en) | 2010-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107577427B (zh) | 用于区块链系统的数据迁移方法、设备和存储介质 | |
TWI479341B (zh) | 資訊系統中轉換資料之高處理能力,可靠複寫 | |
US10055216B2 (en) | Minimizing image copying during partition updates | |
US11099828B2 (en) | Updating a metadata structure for a firmware update | |
JP4831793B2 (ja) | データ制御装置 | |
US8417688B2 (en) | Converting two-tier resource mapping to one-tier resource mapping | |
US20100287205A1 (en) | Operating system / electronic device and method for storing or reading a file | |
CN111078672A (zh) | 数据库的数据对比方法及装置 | |
CN112256698A (zh) | 一种基于多哈希函数的表关系自动关联方法 | |
JPWO2007099636A1 (ja) | ファイルシステム移行方法、ファイルシステム移行プログラム及びファイルシステム移行装置 | |
WO2007026484A1 (ja) | 実行バイナリイメージの作成及び実行を行う装置、方法、プログラム、該プログラムを記録したコンピュータ読み取り可能な記録媒体 | |
CN110990369A (zh) | 一种集群部署文件系统的方法、设备以及存储介质 | |
CN104731576A (zh) | 显示给定电源目标与硬件设计的层级结构的装置及方法 | |
WO2024045927A1 (zh) | 网盘文件解锁方法、装置、网盘及存储介质 | |
TWI484355B (zh) | 作業系統/電子裝置與檔案之存取方法 | |
CN109918346A (zh) | 一种文件的创建方法及装置 | |
CN108334453B (zh) | 一种文件调试方法、装置、终端设备及存储介质 | |
JP2009245089A (ja) | 分散オブジェクト・プログラム及びレプリケーション処理方法 | |
CN114528250A (zh) | 基于对象存储的数据存储方法、装置、设备及存储介质 | |
JP4572857B2 (ja) | テープ仮想化システム、テープ仮想化方法およびテープ仮想化プログラム | |
CN112114811A (zh) | 一种编译方法、装置和设备 | |
JP5488104B2 (ja) | 電子機器及びプログラム | |
US20240103984A1 (en) | Leveraging backup process metadata for data recovery optimization | |
KR102036915B1 (ko) | 개체 일괄 편집 방법 및 이를 이용하는 개체 일괄 편집 장치 | |
JP2008077220A (ja) | オブジェクト指向型車両用制御装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MM4A | Annulment or lapse of patent due to non-payment of fees |