TW201706874A - 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器 - Google Patents

支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器 Download PDF

Info

Publication number
TW201706874A
TW201706874A TW104125441A TW104125441A TW201706874A TW 201706874 A TW201706874 A TW 201706874A TW 104125441 A TW104125441 A TW 104125441A TW 104125441 A TW104125441 A TW 104125441A TW 201706874 A TW201706874 A TW 201706874A
Authority
TW
Taiwan
Prior art keywords
file
quota
user
identification code
transaction notification
Prior art date
Application number
TW104125441A
Other languages
English (en)
Other versions
TWI537750B (zh
Inventor
蔡燈宇
吳其麟
Original Assignee
喬鼎資訊股份有限公司
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 喬鼎資訊股份有限公司 filed Critical 喬鼎資訊股份有限公司
Priority to TW104125441A priority Critical patent/TWI537750B/zh
Application granted granted Critical
Publication of TWI537750B publication Critical patent/TWI537750B/zh
Publication of TW201706874A publication Critical patent/TW201706874A/zh

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一種支援多個實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器。本發明之方法係藉由常駐於作業系統的核心層內的虛擬檔案系統,支援例如Ext3檔案系統、Ext4檔案系統、XFS檔案系統、BTRFS檔案系統等,支援其檔案異動通知管理以及配額管理等。

Description

支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器
本發明係關於一種支援多個實體檔案系統(physical file system)之檔案管理的方法及應用該方法之檔案伺服器(file server),並且特別地,關於支援多個實體檔案系統做好檔案異動通知管理(file change notification management,FCN)以及配額管理(quota management)等的方法及應用該方法的檔案伺服器。
電腦系統可以包含不同包含的資源,讓一個或多個主機處理器運用。在一個電腦系統內的多種資源以及多個主機處理器可以藉由一個或多個通信連接進行互連。這些資源可以包含,例如,資料存儲裝置(data storage device)。這些資料存儲裝置可以耦合到一個或多個伺服器或主機處理器,並且提供存儲服務給每個主機處理器。來自一個或多個不同廠商的多種資料存儲裝置可以被連接,並且可以針對在一個電腦系統中的一個或多個主機處理器提供共同的資料存儲。
一個主機處理器可以執行各種資料處理任務以及操作來使用資料存儲裝置。例如,主機處理器可以執行基本的系統I/O操作以連接如資料讀取及寫入操作等資料請求。
主機處理器系統可以使用資料儲存裝置來存儲並且取出資料,資料儲存裝置包含多個主機介面單元、磁碟 機以及磁碟介面單元。主機系統經由其間多個通道對資料儲存裝置存取資料,資料儲存裝置也經由這些通道提供資料給主機系統。主機系統並沒有直接對資料存儲裝置的磁碟做定址,而是存取那些對主機系統顯示成多個邏輯磁碟單元。這些邏輯磁碟單元可以對應或可以不對應於實際的磁碟機。允許多個主機系統存取單個資料存儲裝置的架構允許多個主機系統分享在該資料存儲裝置內的資料。為了便於分享資料存儲裝置內的資料,在這些資料儲存裝置上額外的軟體可能也許被使用。
主機系統可以根據各種不同的協定及其不同版本的協定(例如,多種檔案存取協定)接收來自用戶端的請求以及區塊服務請求。以一檔案存取協定,多方用戶端發出多個請求以存取一檔案系統。例如,一個用戶端可以發出請求以對該檔案系統的一個或多個檔案讀取及寫入資料。該等用戶端可能無法直接對下層儲存做資料存取,而是與做為檔案伺服器且提供檔案系統服務的一個或多個主機互動來基於一特定檔案存取協定執行用戶端請求。
檔案系統可以執行一種或多種類型的配額以限制資源的限制。例如,一個檔案系統可以執行每一用戶的資料儲存配額,藉此一配額可以被指定為限制或上限,做為特定用戶可以消耗的資料儲存容量。以類似的方式,一個檔案系統可以執行其他類型不同的層級區隔的配額。例如,一個檔案系統可以針對一群組的用戶、一個或多個目錄以及類似的區隔執行配額限制,可以隨著特定的檔案系統而有所不同。
目前檔案伺服器的作業系統多為Linux或Unix作業系統,隨之常見配合的檔案系統包含Ext3檔案系統、Ext4檔案系統、XFS檔案系統、BTRFS檔案系統等,在此稱這些檔案系統為實體檔案系統(physical file system),以與虛擬檔案系統(virtual file system)做區隔。下文將對虛擬檔案系統的 功用做一詳細描述。
目前在Linux或Unix作業系統下,多用D_NOFITY以及I_NOTIFY此兩功能模組來監控檔案的異動。然而,D_NOFITY以及I_NOTIFY此兩功能模組都有數量的限制。此外,目前針對檔案異動的監控行為限制很難套用於儲存容量為500TB或是PB等級的資料儲存。
此外,用戶配額以及群組配額目前在BTRFS檔案系統尚未被實做成功。並且,子目錄配額目前在Ext3檔案系統以及Ext4檔案系統也尚未被實做成功。
因此,本發明所欲解決的技術問題在於提供一種支援多個實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器,並且特別地,本發明之方法係支援多個實體檔案系統做好檔案異動通知管理(file change notification management)以及配額管理(quota management)等的方法及應用該方法的檔案伺服器。
本發明之一較佳具體實施例之一種方法,係由至少一處理器執行。本發明之方法用以支援至少一處理器的作業系統之多個實體檔案系統之檔案管理。本發明之方法首先係將虛擬檔案系統常駐於作業系統的核心層(kernel space)內。虛擬檔案系統係耦合至多個實體檔案系統,並且執行下列步驟:當針對多個實體檔案系統之一檔案被開啟時,檢查關於該檔案之第一檔案操作是否係建立操作(creating)、刪除操作(deleting)、寫入操作(writing)或改名操作(renaming);若上述檢查結果為肯定者,則根據第一檔案操作以及關於檔案之路徑(full path)產生檔案異動通知事件資訊(file change notification event information),並且暫存檔案異動通知事件資訊於作業系統的用戶層(user space)內;以及於用戶層內, 非同步地檢查暫存的檔案異動通知事件資訊是否存在,若存在的話,則根據檔案異動通知事件資訊更新檔案異動通知資料庫(file change notification database)。
進一步,於本發明之方法中,虛擬檔案系統並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,則執行下列步驟:取得關於該檔案的路徑;以及基於關於該檔案的路徑,判斷關於該檔案的子目錄配額(sub-directory quota)是否匹配存於虛擬檔案系統內之子目錄配額超額表(sub-directory quota exceed table),若是的話,回覆第一錯誤訊息。
進一步,於本發明之方法中,虛擬檔案系統並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,則執行下列步驟:取得關於該檔案之節點(node)、關於該檔案之用戶辨識碼(user ID)以及關於該檔案之群組辨識碼(group ID);以及基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額(user ID quota)或關於該檔案之群組辨識碼配額(group ID quota)是否匹配存於虛擬檔案系統內之用戶/群組辨識碼配額超額表(user/group ID quota exceed table),若是的話,回覆第二錯誤訊息。
進一步,於本發明之方法中,虛擬檔案系統並且執行下列步驟:當該檔案被關閉時,檢查關於該檔案之第二檔案操作是否係建立操作、刪除操作或寫入操作;若上述檢查結果為肯定者,根據關於該檔案之節點、路徑、用戶辨識碼、群組辨識碼以及該檔案的大小(file size)產生配額事件資訊(quota event information),並且暫存配額事件資訊於作業系統的用戶層內;於用戶層內,非同步地檢查暫存的配額事件資訊是否存在,並且若存在的話,則將暫存的配額事件資訊與用戶/群組辨識碼配額管理資料庫(user/group ID quota management database)以及子目錄/子卷配額管理資料庫(sub-directory/sub volume quota management database)做比較;以及根據上述比較結果,選擇性地更新子目錄配額超額表以及用戶/群組辨識碼配額超額表。
本發明之一較佳具體實施例之一種檔案伺服器,其包含檔案異動通知資料庫以及至少一處理器。至少一處理器用以執行作業系統。作業系統具有核心層以及用戶層,並且包含多個常駐於核心層的實體檔案系統、常駐於用戶層的檔案異動通知事件暫存器(file change notification event buffer)、常駐於核心層的虛擬檔案系統以及常駐於用戶層的檔案異動通知監視器(file change notification monitor)。虛擬檔案系統係耦合至多個實體檔案系統以及檔案異動通知事件暫存器。虛擬檔案系統包含第一監看模組(monitoring module)。當針對多個實體檔案系統之一檔案被開啟時,第一監看模組用以檢查關於該檔案之第一檔案操作是否係建立操作、刪除操作、寫入操作或改名操作,並且若是的話,第一監看模組根據第一檔案操作以及關於該檔案之路徑產生檔案異動通知事件資訊,並且傳送檔案異動通知事件資訊至檔案異動通知事件暫存器。檔案異動通知監視器係耦合至檔案異動通知資料庫以及檔案異動通知事件暫存器。檔案異動通知監視器用以檢查檔案異動通知事件資訊是否暫存在檔案異動通知事件暫存器內,並且若有的話,檔案異動通知監視器則根據檔案異動通知事件資訊更新檔案異動通知資料庫。
進一步,於本發明之檔案伺服器中,虛擬檔案系統包含子目錄配額超額表。第一監看模組並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,取得關於該檔案之路徑,並且基於關於該檔案之路徑,判斷關於該檔案之子目錄配額是否匹配存於虛擬檔案系統內之子目錄配額超額表,若是的話,回覆第一錯誤訊息。
進一步,於本發明之檔案伺服器中,虛擬檔案系統包含用戶/群組辨識碼配額超額表。第一監看模組並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,取得關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,並且基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額或關於該檔案之群組辨識碼配額是否匹配存於虛擬檔案系統內之用戶/群組辨識碼配額超額表,若是的話,回覆第二錯誤訊息。
進一步,本發明之檔案伺服器還包含用戶/群組辨識碼配額管理資料庫以及子目錄/子卷配額管理資料庫。作業系統並且包含常駐於用戶層的配額事件暫存器(quota event buffer)以及常駐於用戶層的配額監視器(quota monitor)。配額監視器係耦合至用戶/群組辨識碼配額管理資料庫、子目錄/子卷配額管理資料庫以及配額事件暫存器。虛擬檔案系統並且包含第二監看模組。當該檔案被關閉時,第二監看模組用以檢查關於該檔案之第二檔案操作是否係建立操作、刪除操作或寫入操作,並且若是的話,第二監看模組根據關於該檔案之節點、路徑、用戶辨識碼、群組辨識碼以及檔案大小產生配額事件資訊,並且傳送配額事件資訊至配額事件暫存器。配額監視器用以檢查配額事件資訊是否暫存在配額事件暫存器內,並且若有的話,配額監視器將暫存的配額事件資訊與用戶/群組辨識碼配額管理資料庫以及該子目錄/子卷配額管理資料庫做比較,並且根據比較結果,選擇性地更新子目錄配額超額表以及用戶/群組辨識碼配額超額表。
於一具體實施例中,多個實體檔案系統可以包含Ext3檔案系統、Ext4檔案系統、XFS檔案系統、BTRFS檔案系統等。
與先前技術相較,根據本發明之方法及檔案系統 系統能支援多個實體檔案系統做好檔案異動通知管理以及配額管理。並且,關於檔案異動通知管理以及配額管理採取非同步狀態處理,以降低因新增監看模組等功能模組而增加原有I/O之間的反應時間。
關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。
1‧‧‧資料儲存系統
10a~10c‧‧‧檔案伺服器
12a~12c‧‧‧用戶終端裝置
14‧‧‧資料儲存裝置
140a~140n‧‧‧儲存元件
16‧‧‧網路
100‧‧‧作業系統
101‧‧‧檔案異動通知資料庫
102‧‧‧核心層
103‧‧‧用戶層
104a~104d‧‧‧實體檔案系統
105‧‧‧檔案異動通知事件暫存器
106‧‧‧虛擬檔案系
107‧‧‧檔案異動通知監視器
108‧‧‧第一監看模組
109‧‧‧子目錄配額超額表
110‧‧‧用戶/群組辨識碼配額超額表
111‧‧‧用戶/群組辨識碼配額管理資料庫
112‧‧‧子目錄/子卷配額管理資料庫
113‧‧‧配額事件暫存器
114‧‧‧配額監視器
115‧‧‧第二監看模組
3‧‧‧本發明之方法
S30~S38‧‧‧流程步驟
S40~S46‧‧‧流程步驟
S50~S56‧‧‧流程步驟
S60~S66‧‧‧流程步驟
圖1為採用本發明之檔案伺服器的資料儲存系統的架構示意圖。
圖2係根據本發明之較佳具體實施例之檔案伺服器其軟體層架構的示意圖。
圖3為根據本發明之較佳具體實施例之方法的流程圖。
圖4為本發明之方法進一步的步驟的流程圖。
圖5為本發明之方法進一步的步驟的流程圖。
圖6為本發明之方法進一步的步驟的流程圖。
請參閱圖1,資料儲存系統1的架構係示意地繪示於圖1中。資料儲存系統1採用根據本發明之較佳具體實施例之檔案伺服器(10a~10c)。資料儲存系統1還包含用戶終端裝置(12a~12c)、資料儲存裝置14以及網路16。用戶終端裝置(12a~12c)可以是各式的資料處理裝置,例如,桌上型電腦、筆記型電腦、手機、平板電腦,等。
每一個檔案伺服器(10a~10c)、用戶終端裝置(12a~12c)以及資料儲存裝置14可以透過網路16彼此通信。於一具體實施例中,網路16可以是網際網路(internet)、企業外網路(extranet)、企業內網路(intranet)、區域網路(local area network)、廣域網路(wide area network)、乙太網路(Ethernet)、有線電視線路(cable TV network)、無線電信網路(radio telecommunication network)、公眾交換電話網路(public switched telephone network)、3G網路、HSPA網路、Wi-Fi網路、WiMAX網路、LTE網路,或其他現行商用的網路。
雖然於圖1中檔案伺服器(10a~10c)與用戶終端裝置(12a~12c)顯示特定數目,但是實務上檔案伺服器(10a~10c)與用戶終端裝置(12a~12c)的數目可以是一個或多個,並且以本專利說明書提及的連接技術相互連接、通信。每一個檔案伺服器(10a~10c)可以處理其所接收的用戶端請求的合適的電腦系統。如下文更加詳細的描述,多個實體檔案系統以及檔案伺服器(10a~10c)所提供的相關服務根據在此揭露的技術可以包含一聯合分散式檔案系統架構。檔案伺服器(10a~10c)對於該整體分散式檔案系統架構可以集體地做為前端,該整體分散式檔案系統架構包含多個實體檔案系統,藉此,該等檔案伺服器(10a~10c)提供本發明所屬技術領域中具有通常知識者可以理解的平行性與可擴展性。
資料儲存裝置14可以包含一個或多個資料儲存元件(140a~140n)。於一具體實施例中,每一個儲存元件(140a~140n)可以是磁帶機、磁碟機、記憶體記錄裝置、光儲存記錄裝置,或是其他等效的儲存裝置。資料儲存裝置14可以代表單一個或多個資料儲存陣列,這些資料儲存陣列可以架構成適合的配置,例如,儲存區域網路(storage area network,SAN)。檔案伺服器(10a~10c)可以與資料儲存裝置14通信以連接對儲存於資料儲存元件(140a~140n)裡的資料(例如,檔案)執行操作。進一步,用戶終端裝置(12a~12c)可以與檔案伺服器(10a~10c)通信以連接服務用戶端請求,進而對儲存於資料儲存裝置14內的資料進行存取。
例如,用戶終端裝置12a可以發出請求以寫入一 個檔案,藉此該請求從用戶終端裝置12a傳送至檔案伺服器(10a~10c)中之一個檔案伺服器(例如,檔案伺服器10a)。回應該請求,檔案伺服器10a可以與資料儲存裝置14通信以執行處理進而對資料儲存元件(140a~140n)中之一個或多個執行資料處理以將該請求的資料寫入檔案。檔案伺服器(10a~10c)可以經由多個通道提供資料以及存取控制資訊至資料儲存裝置14,並且資料儲存裝置14可以經由該等通道提供資料至檔案伺服器(10a~10c)。檔案伺服器(10a~10c)可以不直接對資料儲存裝置14的多個實體儲存元件做定址,而是經由多個通道對多個邏輯元件或邏輯冊做定址,以及經由其他軟體層使用以檔案為基礎的存取技術。
請參閱圖2,根據本發明之一較佳具體實施例之檔案伺服器(10a~10c)其軟體層架構係示意地繪示於圖2中。
如圖2所示,本發明之一較佳具體實施例之一種檔案伺服器(10a~10c),其包含檔案異動通知資料庫101以及至少一處理器(未繪示於圖2中)。
至少一處理器用以執行作業系統100。作業系統100具有核心層102以及用戶層103,並且包含多個常駐於核心層102的實體檔案系統(104a~104d)、常駐於用戶層103的檔案異動通知事件暫存器105、常駐於核心層102的虛擬檔案系統106以及常駐於用戶層103的檔案異動通知監視器107。
虛擬檔案系統106係耦合至多個實體檔案系統(104a~104d)以及檔案異動通知事件暫存器105。虛擬檔案系統106包含第一監看模組108。當針對多個實體檔案系統(104a~104d)之一檔案被開啟時,第一監看模組108用以檢查關於該檔案之第一檔案操作是否係建立操作、刪除操作、寫入操作或改名操作,並且若是的話,第一監看模組108根據第一檔案操作以及關於該檔案之路徑產生檔案異動通知事件 資訊,並且傳送檔案異動通知事件資訊至檔案異動通知事件暫存器105。於一具體實施例中,第一監看模組108可以是一hooker監看軟體。
檔案異動通知監視器107係耦合至檔案異動通 知資料庫101以及檔案異動通知事件暫存器105。檔案異動通知監視器107用以檢查檔案異動通知事件資訊是否暫存在檔案異動通知事件暫存器105內,並且若有的話,檔案異動通知監視器107則根據檔案異動通知事件資訊更新檔案異動通知資料庫101。藉此,本發明之檔案伺服器(10a~10c)其軟體層架構能支援實體檔案系統(104a~104d)做好檔案異動通知管理。
於一具體實施例中,作業系統100可以是Linux作業系統或Unix作業系統。
於一具體實施例中,多個實體檔案系統(104a~104d)可以包含Ext3檔案系統、Ext4檔案系統、XFS檔案系統、BTRFS檔案系統等。
進一步,同樣示於圖2,於本發明之檔案伺服器(104a~104d)中,虛擬檔案系統106包含子目錄配額超額表109。第一監看模組108並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,取得關於該檔案之路徑,並且基於關於該檔案之路徑,判斷關於該檔案之子目錄配額是否匹配存於虛擬檔案系統106內之子目錄配額超額表109,若是的話,回覆第一錯誤訊息。藉此,本發明之檔案伺服器(10a~10c)其軟體層架構能支援實體檔案系統(104a~104d)做好配額管理。
進一步,同樣示於圖2,於本發明之檔案伺服器(104a~104d)中,虛擬檔案系統106包含用戶/群組辨識碼配額超額表110。第一監看模組108並且檢查第一檔案操作是否係 建立操作或寫入操作,並且若是的話,取得關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,並且基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額或關於該檔案之群組辨識碼配額是否匹配存於虛擬檔案系統106內之用戶/群組辨識碼配額超額表110,若是的話,回覆第二錯誤訊息。藉此,本發明之檔案伺服器(10a~10c)其軟體層架構能支援實體檔案系統(104a~104d)做好配額管理。
進一步,同樣示於圖2,本發明之檔案伺服器(104a~104d)還包含用戶/群組辨識碼配額管理資料庫111以及子目錄/子卷配額管理資料庫112。作業系統100並且包含常駐於用戶層103的配額事件暫存器113以及常駐於用戶層103的配額監視器114。配額監視器114係耦合至用戶/群組辨識碼配額管理資料庫111、子目錄/子卷配額管理資料庫112以及配額事件暫存器113。虛擬檔案系統106並且包含第二監看模組115。當該檔案被關閉時,第二監看模組115用以檢查關於該檔案之第二檔案操作是否係建立操作、刪除操作或寫入操作,並且若是的話,第二監看模組115根據關於該檔案之節點、路徑、用戶辨識碼、群組辨識碼以及檔案大小產生配額事件資訊,並且傳送配額事件資訊至配額事件暫存器113。配額監視器114用以檢查配額事件資訊是否暫存在配額事件暫存器113內,並且若有的話,配額監視器114將暫存的配額事件資訊與用戶/群組辨識碼配額管理資料庫111以及該子目錄/子卷配額管理資料庫112做比較,並且根據比較結果,選擇性地更新子目錄配額超額表109以及用戶/群組辨識碼配額超額表110。藉此,本發明之檔案伺服器(10a~10c)其軟體層架構能支援實體檔案系統(104a~104d)做好配額管理。於一具體實施例中,第二監看模組115可以是一hooker監看軟體。
請參閱圖3,本發明之一較佳具體實施例之一種 方法3的流程步驟係繪示於圖3。本發明之方法3係由至少一處理器執行如圖2所示軟體層架構所具備的功能。本發明之方法3用以支援至少一處理器的作業系統100之多個實體檔案系統(104a~104d)之檔案管理。
如圖3所示,本發明之方法3首先係執行步驟S30,將虛擬檔案系統106常駐於作業系統100的核心層102內。
虛擬檔案系統106係耦合至多個實體檔案系統(104a~104d)。接著,本發明之方法3執行步驟S32,當針對多個實體檔案系統(104a~104d)之一檔案被開啟時,檢查關於該檔案之第一檔案操作是否係建立操作、刪除操作、寫入操作或改名操作。
若步驟S32的檢查結果為肯定者,本發明之方法3則執行步驟S34,根據第一檔案操作以及關於檔案之路徑產生檔案異動通知事件資訊,並且暫存檔案異動通知事件資訊於作業系統100的用戶層103內。於步驟S34之後,本發明之方法3執行步驟S36,於用戶層103內,非同步地檢查暫存的檔案異動通知事件資訊是否存在。若步驟S36的檢查結果為肯定者,則執行步驟S38,根據檔案異動通知事件資訊更新檔案異動通知資料庫101。
進一步,請參閱圖4,本發明之方法3並且執行步驟S40,虛擬檔案系統106並且檢查第一檔案操作是否係建立操作或寫入操作。若步驟S40的檢查結果為肯定者,本發明之方法3則執行步驟S42,取得關於該檔案的路徑。於步驟S42之後,本發明之方法3執行步驟S44,基於關於該檔案的路徑,判斷關於該檔案的子目錄配額是否匹配存於虛擬檔案系統106內之子目錄配額超額表109。若步驟S44的判斷結果為肯定者,本發明之方法3執行步驟S46,回覆第一錯誤訊息。
進一步,請參閱圖5,本發明之方法3並且執行步驟S50,虛擬檔案系統106並且檢查第一檔案操作是否係建立操作或寫入操作。若步驟S50的檢查結果為肯定者,本發明之方法3則執行步驟S52,取得關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼。於步驟S52之後,本發明之方法3執行步驟S54,基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額或關於該檔案之群組辨識碼配額是否匹配存於虛擬檔案系統106內之用戶/群組辨識碼配額超額表110。若步驟S54是的話,本發明之方法3執行步驟S56的判斷結果為肯定者,回覆第二錯誤訊息。
進一步,請參閱圖6,本發明之方法3並且執行步驟S60,當該檔案被關閉時,檢查關於該檔案之第二檔案操作是否係建立操作、刪除操作或寫入操作。若步驟S60的檢查結果為肯定者,本發明之方法3則執行步驟S62,根據關於該檔案之節點、路徑、用戶辨識碼、群組辨識碼以及該檔案大小產生配額事件資訊,並且暫存配額事件資訊於作業系統100的用戶層103內。於步驟S62之後,本發明之方法3執行步驟S64,於用戶層103內,非同步地檢查暫存的配額事件資訊是否存在。若步驟S64的檢查結果為肯定者,本發明之方法3則執行步驟S66,將暫存的配額事件資訊與用戶/群組辨識碼配額管理資料庫111以及子目錄/子卷配額管理資料庫112做比較。於步驟S66之後,本發明之方法3則執行步驟S68根據上述比較結果,選擇性地更新子目錄配額超額表109以及用戶/群組辨識碼配額超額表110。
須強調的是,與先前技術相較,根據本發明之方法及檔案伺服器能支援多個實體檔案系統(104a~104d)做好檔案異動通知管理以及配額管理。並且,關於檔案異動通知管理以及配額管理採取非同步狀態處理,以降低因新增監看模 組等功能模組而增加原有I/O之間的反應時間。
藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之面向加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的面向內。因此,本發明所申請之專利範圍的面向應該根據上述的說明作最寬廣的解釋,以致使其涵蓋所有可能的改變以及具相等性的安排。
100‧‧‧作業系統
101‧‧‧檔案異動通知資料庫
102‧‧‧核心層
103‧‧‧用戶層
104a~104d‧‧‧實體檔案系統
105‧‧‧檔案異動通知事件暫存器
106‧‧‧虛擬檔案系
107‧‧‧檔案異動通知監視器
108‧‧‧第一監看模組
109‧‧‧子目錄配額超額表
110‧‧‧用戶/群組辨識碼配額超額表
111‧‧‧用戶/群組辨識碼配額管理資料庫
112‧‧‧子目錄/子卷配額管理資料庫
113‧‧‧配額事件暫存器
114‧‧‧配額監視器
115‧‧‧第二監看模組

Claims (10)

  1. 一種由至少一處理器執行的方法,用以支援該至少一處理器之一作業系統之多個實體檔案系統之檔案管理,該方法包含下列步驟:(a)將一虛擬檔案系統常駐於該作業系統之一核心層內,該虛擬檔案系統係耦合至該多個實體檔案系統,並且執行下列步驟:(b)當針對該多個實體檔案系統之一檔案被開啟時,檢查關於該檔案之一第一檔案操作是否係選自由一建立操作、一刪除操作、一寫入操作以及一改名操作所組成之群組中之其一;(c)若步驟(b)之結果為肯定者,則根據該第一檔案操作以及關於該檔案之一路徑產生一檔案異動通知事件資訊,並且暫存該檔案異動通知事件資訊於該作業系統之一用戶層內;以及(d)於該用戶層內,非同步地檢查該暫存的檔案異動通知事件資訊是否存在,並且若存在的話,則根據該檔案異動通知事件資訊更新一檔案異動通知資料庫。
  2. 如請求項1所述之方法,其中該多個實體檔案系統包含選自由一Ext3檔案系統、一Ext4檔案系統、一XFS檔案系統以及一BTRFS檔案系統所組成之群組中之其一。
  3. 如請求項2所述之方法,其中該虛擬檔案系統進一步執行下列步驟: (e)檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,執行下列步驟:(f)取得關於該檔案之該路徑;以及(g)基於關於該檔案之該路徑,判斷關於該檔案之一子目錄配額是否匹配存於該虛擬檔案系統內之一子目錄配額超額表,若是的話,回覆一第一錯誤訊息。
  4. 如請求項2所述之方法,其中該虛擬檔案系統進一步執行下列步驟:(h)檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,執行下列步驟:(i)取得關於該檔案之一節點、關於該檔案之一用戶辨識碼以及關於該檔案之一群組辨識碼;以及(j)基於關於該檔案之該節點、關於該檔案之該用戶辨識碼以及關於該檔案之該群組辨識碼,判斷關於該檔案之一用戶辨識碼配額或關於該檔案之一群組辨識碼配額是否匹配存於該虛擬檔案系統內之一用戶/群組辨識碼配額超額表,若是的話,回覆一第二錯誤訊息。
  5. 如請求項2所述之方法,其中該虛擬檔案系統進一步執行下列步驟:(k)當該檔案被關閉時,檢查關於該檔案之一第二檔案操作是否係選自由該建立操作、該刪除操作以及該寫入操作所組成之群組中之其一;(l)若步驟(k)之結果為肯定者,根據關於該檔案之該節點、該路徑、該用戶辨識碼、該群組辨識碼以及一檔案大小產 生一配額事件資訊,並且暫存該配額事件資訊於該作業系統之該用戶層內;(m)於該用戶層內,非同步地檢查該暫存的配額事件資訊是否存在,並且若存在的話,則將該暫存的配額事件資訊與一用戶/群組辨識碼配額管理資料庫以及一子目錄/子卷配額管理資料庫做比較;以及(n)根據步驟(m)之比較結果,選擇性地更新該子目錄配額超額表以及該用戶/群組辨識碼配額超額表。
  6. 一種檔案伺服器,包含:一檔案異動通知資料庫;以及至少一處理器,用以執行一作業系統,該作業系統具有一核心層以及一用戶層並且包含:多個實體檔案系統,係常駐於該核心層;一檔案異動通知事件暫存器,係常駐於該用戶層;一虛擬檔案系統,係常駐於該核心層內並且耦合至該多個實體檔案系統以及該檔案異動通知事件暫存器,該虛擬檔案系統包含一第一監看模組,當針對該多個實體檔案系統之一檔案被開啟時,該第一監看模組用以檢查關於該檔案之一第一檔案操作是否係選自由一建立操作、一刪除操作、一寫入操作以及一改名操作所組成之群組中之其一,並且若是的話,該第一監看模組根據該第一檔案操作以及關於該檔案之一路徑產生一檔案異動通知事件資訊,並且傳送該檔案異動通知事件資訊至該檔案異動通知事件暫存器;以及 一檔案異動通知監視器,係常駐於該用戶層並且耦合至該檔案異動通知資料庫以及該檔案異動通知事件暫存器,該檔案異動通知監視器用以檢查該檔案異動通知事件資訊是否暫存在該檔案異動通知事件暫存器內,並且若有的話,該檔案異動通知監視器則根據該檔案異動通知事件資訊更新該檔案異動通知資料庫。
  7. 如請求項6所述之檔案伺服器,其中該多個實體檔案系統包含選自由一Ext3檔案系統、一Ext4檔案系統、一XFS檔案系統以及一BTRFS檔案系統所組成之群組中之其一。
  8. 如請求項7所述之檔案伺服器,其中該虛擬檔案系統包含一子目錄配額超額表,該第一監看模組並且檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,取得關於該檔案之該路徑,並且基於關於該檔案之該路徑,判斷關於該檔案之一子目錄配額是否匹配存於該虛擬檔案系統內之一子目錄配額超額表,若是的話,回覆一第一錯誤訊息。
  9. 如請求項7所述之檔案伺服器,其中該虛擬檔案系統包含一用戶/群組辨識碼配額超額表,該第一監看模組並且檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,取得關於該檔案之一節點、關於該檔案之一用戶辨識碼以及關於該檔案之一群組辨識碼,並且基於關於該檔案之該節點、關於該檔案之該用戶辨識碼以及關於該檔案之該群組辨識碼,判斷關於該檔案之一用戶辨識碼配額或關於該檔案之一群組辨識碼配額是否匹配存於該虛 擬檔案系統內之一用戶/群組辨識碼配額超額表,若是的話,回覆一第二錯誤訊息。
  10. 如請求項7所述之檔案伺服器,進一步包含:一用戶/群組辨識碼配額管理資料庫;以及一子目錄/子卷配額管理資料庫;其中該作業系統並且包含:一配額事件暫存器,係常駐於該用戶層;以及一配額監視器,係常駐於該用戶層並且耦合至該用戶/群組辨識碼配額管理資料庫、該子目錄/子卷配額管理資料庫以及該配額事件暫存器;其中該虛擬檔案系統並且包含一第二監看模組,當該檔案被關閉時,該第二監看模組用以檢查關於該檔案之一第二檔案操作是否係選自由該建立操作、該刪除操作以及該寫入操作所組成之群組中之其一,並且若是的話,該第二監看模組根據關於該檔案之該節點、該路徑、該用戶辨識碼、該群組辨識碼以及一檔案大小產生一配額事件資訊,並且傳送該配額事件資訊至該配額事件暫存器;其中該配額監視器用以檢查該配額事件資訊是否暫存在該配額事件暫存器內,並且若有的話,該配額監視器將該暫存的配額事件資訊與該用戶/群組辨識碼配額管理資料庫以及該子目錄/子卷配額管理資料庫做比較,並且根據比較結果,選擇性地更新該子目錄配額超額表以及該用戶/群組辨識碼配額超額表。
TW104125441A 2015-08-05 2015-08-05 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器 TWI537750B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW104125441A TWI537750B (zh) 2015-08-05 2015-08-05 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104125441A TWI537750B (zh) 2015-08-05 2015-08-05 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器

Publications (2)

Publication Number Publication Date
TWI537750B TWI537750B (zh) 2016-06-11
TW201706874A true TW201706874A (zh) 2017-02-16

Family

ID=56755882

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104125441A TWI537750B (zh) 2015-08-05 2015-08-05 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器

Country Status (1)

Country Link
TW (1) TWI537750B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789168B (zh) * 2021-12-16 2023-01-01 威聯通科技股份有限公司 檔案版本管理方法及檔案系統

Also Published As

Publication number Publication date
TWI537750B (zh) 2016-06-11

Similar Documents

Publication Publication Date Title
JP5945031B2 (ja) 複製されたデータインスタンスのプロビジョニングおよび管理
US8255420B2 (en) Distributed storage
US10154112B1 (en) Cloud-to-cloud data migration via cache
WO2018119601A1 (zh) 数据转换方法及备份服务器
US20110010708A1 (en) System and method for transporting configuration parameters
US20090319736A1 (en) Method and apparatus for integrated nas and cas data backup
JP2016140116A (ja) ネットワーク複製のための技法
JP2015506506A (ja) データ管理サービスを提供するシステム、および方法
US9535629B1 (en) Storage provisioning in a data storage environment
CA2562607A1 (en) Systems and methods for providing a proxy for a shared file system
US11204708B2 (en) System and method for an offline migration of on-premise environment to a cloud-based service
US10831714B2 (en) Consistent hashing configurations supporting multi-site replication
WO2016101662A1 (zh) 一种数据处理方法及相关服务器
US10496493B1 (en) Method and system for restoring applications of particular point in time
US20150381727A1 (en) Storage functionality rule implementation
US10880376B1 (en) Downloading chunks of an object from a storage service while chunks of the object are being uploaded
TWI537750B (zh) 支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器
KR20160025282A (ko) 클라이언트 단말에 대한 사용자 맞춤형 동기화 서비스 제공 방법 및 시스템
US11640241B2 (en) Remote storage object techniques
US20160011814A1 (en) Choosing a multipath i/o (mpio) path control module (pcm) for a logical unit number (lun) on a host that supports multiple pcms
US20220407931A1 (en) Method to provide sla based access to cloud data in backup servers with multi cloud storage
US11635918B2 (en) Data migration and replication
US20240028480A1 (en) Fast disaster recover from backup storage using smart links
WO2023040504A1 (zh) 数据处理系统、数据处理方法及相关装置
US20240028464A1 (en) Copy discovery of clustered assets in node agnostic way

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees