TWI537750B - Method for supporting file management for physical file systems and file server using such method - Google Patents

Method for supporting file management for physical file systems and file server using such method Download PDF

Info

Publication number
TWI537750B
TWI537750B TW104125441A TW104125441A TWI537750B TW I537750 B TWI537750 B TW I537750B TW 104125441 A TW104125441 A TW 104125441A TW 104125441 A TW104125441 A TW 104125441A TW I537750 B TWI537750 B TW I537750B
Authority
TW
Taiwan
Prior art keywords
file
quota
user
identification code
transaction notification
Prior art date
Application number
TW104125441A
Other languages
Chinese (zh)
Other versions
TW201706874A (en
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/en
Application granted granted Critical
Publication of TWI537750B publication Critical patent/TWI537750B/en
Publication of TW201706874A publication Critical patent/TW201706874A/en

Links

Description

支援實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器 Method for supporting file management of physical file system and file server applying the method

本發明係關於一種支援多個實體檔案系統(physical file system)之檔案管理的方法及應用該方法之檔案伺服器(file server),並且特別地,關於支援多個實體檔案系統做好檔案異動通知管理(file change notification management,FCN)以及配額管理(quota management)等的方法及應用該方法的檔案伺服器。 The present invention relates to a method for supporting file management of a plurality of physical file systems and a file server to which the method is applied, and in particular, a file transaction notification for supporting multiple physical file systems Method of file change notification management (FCN) and quota management, and a file server to which the method is applied.

電腦系統可以包含不同包含的資源,讓一個或多個主機處理器運用。在一個電腦系統內的多種資源以及多個主機處理器可以藉由一個或多個通信連接進行互連。這些資源可以包含,例如,資料存儲裝置(data storage device)。這些資料存儲裝置可以耦合到一個或多個伺服器或主機處理器,並且提供存儲服務給每個主機處理器。來自一個或多個不同廠商的多種資料存儲裝置可以被連接,並且可以針對在一個電腦系統中的一個或多個主機處理器提供共同的資料存儲。 A computer system can contain different included resources for use by one or more host processors. Multiple resources within a computer system and multiple host processors can be interconnected by one or more communication connections. These resources may include, for example, a data storage device. These data storage devices can be coupled to one or more servers or host processors and provide storage services to each host processor. Multiple data storage devices from one or more different vendors can be connected and can provide a common data store for one or more host processors in a computer system.

一個主機處理器可以執行各種資料處理任務以及操作來使用資料存儲裝置。例如,主機處理器可以執行基本的系統I/O操作以連接如資料讀取及寫入操作等資料請求。 A host processor can perform various data processing tasks and operations to use the data storage device. For example, the host processor can perform basic system I/O operations to connect data requests such as data read and write operations.

主機處理器系統可以使用資料儲存裝置來存儲並且取出資料,資料儲存裝置包含多個主機介面單元、磁碟 機以及磁碟介面單元。主機系統經由其間多個通道對資料儲存裝置存取資料,資料儲存裝置也經由這些通道提供資料給主機系統。主機系統並沒有直接對資料存儲裝置的磁碟做定址,而是存取那些對主機系統顯示成多個邏輯磁碟單元。這些邏輯磁碟單元可以對應或可以不對應於實際的磁碟機。允許多個主機系統存取單個資料存儲裝置的架構允許多個主機系統分享在該資料存儲裝置內的資料。為了便於分享資料存儲裝置內的資料,在這些資料儲存裝置上額外的軟體可能也許被使用。 The host processor system can use a data storage device to store and retrieve data, and the data storage device includes a plurality of host interface units and disks. Machine and disk interface unit. The host system accesses data to the data storage device via a plurality of channels therebetween, and the data storage device also provides the data to the host system via the channels. The host system does not directly address the disk of the data storage device, but accesses those that display multiple logical disk units to the host system. These logical disk units may or may not correspond to the actual disk drive. The architecture that allows multiple host systems to access a single data storage device allows multiple host systems to share material within the data storage device. In order to facilitate sharing of data within the data storage device, additional software may be used on these data storage devices.

主機系統可以根據各種不同的協定及其不同版本的協定(例如,多種檔案存取協定)接收來自用戶端的請求以及區塊服務請求。以一檔案存取協定,多方用戶端發出多個請求以存取一檔案系統。例如,一個用戶端可以發出請求以對該檔案系統的一個或多個檔案讀取及寫入資料。該等用戶端可能無法直接對下層儲存做資料存取,而是與做為檔案伺服器且提供檔案系統服務的一個或多個主機互動來基於一特定檔案存取協定執行用戶端請求。 The host system can receive requests from the client and block service requests according to various protocols and their different versions of the agreement (eg, multiple file access protocols). In a file access protocol, multiple clients make multiple requests to access a file system. For example, a client can make a request to read and write data to one or more files of the file system. Instead of directly accessing the underlying storage, the clients may interact with one or more hosts acting as file servers and providing file system services to perform client requests based on a particular file access protocol.

檔案系統可以執行一種或多種類型的配額以限制資源的限制。例如,一個檔案系統可以執行每一用戶的資料儲存配額,藉此一配額可以被指定為限制或上限,做為特定用戶可以消耗的資料儲存容量。以類似的方式,一個檔案系統可以執行其他類型不同的層級區隔的配額。例如,一個檔案系統可以針對一群組的用戶、一個或多個目錄以及類似的區隔執行配額限制,可以隨著特定的檔案系統而有所不同。 The file system can enforce one or more types of quotas to limit resource limits. For example, a file system can execute a data storage quota for each user, whereby a quota can be specified as a limit or an upper limit as a data storage capacity that a particular user can consume. In a similar manner, a file system can enforce quotas for other types of different levels. For example, a file system can enforce quota limits for a group of users, one or more directories, and similar segments, which can vary with a particular file system.

目前檔案伺服器的作業系統多為Linux或Unix作業系統,隨之常見配合的檔案系統包含Ext3檔案系統、Ext4檔案系統、XFS檔案系統、BTRFS檔案系統等,在此稱這些檔案系統為實體檔案系統(physical file system),以與虛擬檔案系統(virtual file system)做區隔。下文將對虛擬檔案系統的 功用做一詳細描述。 At present, the operating system of the file server is mostly a Linux or Unix operating system. The commonly used file system includes the Ext3 file system, the Ext4 file system, the XFS file system, the BTRFS file system, etc., and these file systems are referred to herein as physical file systems. (physical file system), to distinguish from the virtual file system. The following will be for the virtual file system. The function is described in detail.

目前在Linux或Unix作業系統下,多用D_NOFITY以及I_NOTIFY此兩功能模組來監控檔案的異動。然而,D_NOFITY以及I_NOTIFY此兩功能模組都有數量的限制。此外,目前針對檔案異動的監控行為限制很難套用於儲存容量為500TB或是PB等級的資料儲存。 Currently, under Linux or Unix operating systems, D_NOFITY and I_NOTIFY are used to monitor file changes. However, both D_NOFITY and I_NOTIFY have a limit on the number of modules. In addition, the current monitoring behavior restrictions for file changes are difficult to apply to data storage with a storage capacity of 500TB or PB.

此外,用戶配額以及群組配額目前在BTRFS檔案系統尚未被實做成功。並且,子目錄配額目前在Ext3檔案系統以及Ext4檔案系統也尚未被實做成功。 In addition, user quotas and group quotas have not been successfully implemented in the BTRFS file system. Moreover, subdirectory quotas have not been successfully implemented in the Ext3 file system and the Ext4 file system.

因此,本發明所欲解決的技術問題在於提供一種支援多個實體檔案系統之檔案管理的方法及應用該方法的檔案伺服器,並且特別地,本發明之方法係支援多個實體檔案系統做好檔案異動通知管理(file change notification management)以及配額管理(quota management)等的方法及應用該方法的檔案伺服器。 Therefore, the technical problem to be solved by the present invention is to provide a method for supporting file management of multiple physical file systems and a file server using the same, and in particular, the method of the present invention supports multiple physical file systems. A method of file change notification management and quota management, and a file server to which the method is applied.

本發明之一較佳具體實施例之一種方法,係由至少一處理器執行。本發明之方法用以支援至少一處理器的作業系統之多個實體檔案系統之檔案管理。本發明之方法首先係將虛擬檔案系統常駐於作業系統的核心層(kernel space)內。虛擬檔案系統係耦合至多個實體檔案系統,並且執行下列步驟:當針對多個實體檔案系統之一檔案被開啟時,檢查關於該檔案之第一檔案操作是否係建立操作(creating)、刪除操作(deleting)、寫入操作(writing)或改名操作(renaming);若上述檢查結果為肯定者,則根據第一檔案操作以及關於檔案之路徑(full path)產生檔案異動通知事件資訊(file change notification event information),並且暫存檔案異動通知事件資訊於作業系統的用戶層(user space)內;以及於用戶層內, 非同步地檢查暫存的檔案異動通知事件資訊是否存在,若存在的話,則根據檔案異動通知事件資訊更新檔案異動通知資料庫(file change notification database)。 A method of a preferred embodiment of the present invention is performed by at least one processor. The method of the present invention is used to support file management of a plurality of physical file systems of an operating system of at least one processor. The method of the present invention first resides in the virtual file system resident in the kernel space of the operating system. The virtual file system is coupled to a plurality of physical file systems, and performs the following steps: when one of the plurality of physical file systems is opened, checking whether the first file operation on the file is a creation or deletion operation ( Delete), write operation or renaming operation; if the result of the above check is affirmative, file change notification event is generated according to the first file operation and the full path of the file (file change notification event) Information), and the temporary file transaction notification event information is in the user space of the operating system; and in the user layer, The temporary file transaction notification event information is checked asynchronously, and if so, the file change notification database is updated according to the file transaction notification event information.

進一步,於本發明之方法中,虛擬檔案系統並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,則執行下列步驟:取得關於該檔案的路徑;以及基於關於該檔案的路徑,判斷關於該檔案的子目錄配額(sub-directory quota)是否匹配存於虛擬檔案系統內之子目錄配額超額表(sub-directory quota exceed table),若是的話,回覆第一錯誤訊息。 Further, in the method of the present invention, the virtual file system checks whether the first file operation is an operation or a write operation, and if so, performs the following steps: obtaining a path regarding the file; and based on the path regarding the file And determining whether the sub-directory quota of the file matches the sub-directory quota exceed table stored in the virtual file system, and if so, replying to the first error message.

進一步,於本發明之方法中,虛擬檔案系統並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,則執行下列步驟:取得關於該檔案之節點(node)、關於該檔案之用戶辨識碼(user ID)以及關於該檔案之群組辨識碼(group ID);以及基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額(user ID quota)或關於該檔案之群組辨識碼配額(group ID quota)是否匹配存於虛擬檔案系統內之用戶/群組辨識碼配額超額表(user/group ID quota exceed table),若是的話,回覆第二錯誤訊息。 Further, in the method of the present invention, the virtual file system checks whether the first file operation is an operation or a write operation, and if so, performs the following steps: obtaining a node about the file, about the file a user ID and a group ID for the file; and determining the file based on the node about the file, the user identification code for the file, and the group identification code for the file User ID quota or group ID quota for the file matches the user/group ID quota excess table stored in the virtual file system (user/group ID quota exceed Table), if yes, reply to the second error message.

進一步,於本發明之方法中,虛擬檔案系統並且執行下列步驟:當該檔案被關閉時,檢查關於該檔案之第二檔案操作是否係建立操作、刪除操作或寫入操作;若上述檢查結果為肯定者,根據關於該檔案之節點、路徑、用戶辨識碼、群組辨識碼以及該檔案的大小(file size)產生配額事件資訊(quota event information),並且暫存配額事件資訊於作業系統的用戶層內;於用戶層內,非同步地檢查暫存的配額事件資訊是否存在,並且若存在的話,則將暫存的配額事件資訊與用戶/群組辨識碼配額管理資料庫(user/group ID quota management database)以及子目錄/子卷配額管理資料庫(sub-directory/sub volume quota management database)做比較;以及根據上述比較結果,選擇性地更新子目錄配額超額表以及用戶/群組辨識碼配額超額表。 Further, in the method of the present invention, the virtual file system performs the following steps: when the file is closed, checking whether the second file operation on the file is an operation establishment operation, a deletion operation, or a write operation; Affirmatively, the quota event information is generated according to the node, the path, the user identification code, the group identification code, and the file size of the file, and the quota event information is temporarily stored in the user of the operating system. In the user layer, in the user layer, check whether the temporary quota event information exists asynchronously, and if so, store the temporary quota event information and the user/group ID code management database (user/group ID) Quota Management database) and sub-directory/sub volume quota management database for comparison; and selectively updating subdirectory quota excess table and user/group ID quota according to the above comparison result Excess table.

本發明之一較佳具體實施例之一種檔案伺服器,其包含檔案異動通知資料庫以及至少一處理器。至少一處理器用以執行作業系統。作業系統具有核心層以及用戶層,並且包含多個常駐於核心層的實體檔案系統、常駐於用戶層的檔案異動通知事件暫存器(file change notification event buffer)、常駐於核心層的虛擬檔案系統以及常駐於用戶層的檔案異動通知監視器(file change notification monitor)。虛擬檔案系統係耦合至多個實體檔案系統以及檔案異動通知事件暫存器。虛擬檔案系統包含第一監看模組(monitoring module)。當針對多個實體檔案系統之一檔案被開啟時,第一監看模組用以檢查關於該檔案之第一檔案操作是否係建立操作、刪除操作、寫入操作或改名操作,並且若是的話,第一監看模組根據第一檔案操作以及關於該檔案之路徑產生檔案異動通知事件資訊,並且傳送檔案異動通知事件資訊至檔案異動通知事件暫存器。檔案異動通知監視器係耦合至檔案異動通知資料庫以及檔案異動通知事件暫存器。檔案異動通知監視器用以檢查檔案異動通知事件資訊是否暫存在檔案異動通知事件暫存器內,並且若有的話,檔案異動通知監視器則根據檔案異動通知事件資訊更新檔案異動通知資料庫。 A file server according to a preferred embodiment of the present invention includes a file transaction notification database and at least one processor. At least one processor is configured to execute the operating system. The operating system has a core layer and a user layer, and includes a plurality of physical file systems resident at the core layer, a file change notification event buffer resident at the user layer, and a virtual file system resident at the core layer. And a file change notification monitor resident at the user level. The virtual file system is coupled to a plurality of physical file systems and file transaction notification event registers. The virtual file system includes a first monitoring module. When the file is opened for one of the plurality of physical file systems, the first monitoring module is configured to check whether the first file operation on the file is an operation, a delete operation, a write operation, or a rename operation, and if so, The first monitoring module generates the file transaction notification event information according to the first file operation and the path of the file, and transmits the file transaction notification event information to the file transaction notification event register. The file transaction notification monitor is coupled to the file transaction notification database and the file transaction notification event register. The file transaction notification monitor is configured to check whether the file transaction notification event information is temporarily stored in the file transaction notification event register, and if so, the file transaction notification monitor updates the file transaction notification database according to the file transaction notification event information.

進一步,於本發明之檔案伺服器中,虛擬檔案系統包含子目錄配額超額表。第一監看模組並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,取得關於該檔案之路徑,並且基於關於該檔案之路徑,判斷關於該檔案之子目錄配額是否匹配存於虛擬檔案系統內之子目錄配額超額表,若是的話,回覆第一錯誤訊息。 Further, in the file server of the present invention, the virtual file system includes a subdirectory quota excess table. The first monitoring module checks whether the first file operation is an operation or a write operation, and if so, obtains a path about the file, and based on the path regarding the file, determines whether the subdirectory quota for the file matches The subdirectory quota excess table in the virtual file system, if yes, reply to the first error message.

進一步,於本發明之檔案伺服器中,虛擬檔案系統包含用戶/群組辨識碼配額超額表。第一監看模組並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,取得關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,並且基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額或關於該檔案之群組辨識碼配額是否匹配存於虛擬檔案系統內之用戶/群組辨識碼配額超額表,若是的話,回覆第二錯誤訊息。 Further, in the file server of the present invention, the virtual file system includes a user/group identification code quota excess table. The first monitoring module checks whether the first file operation is an operation or a write operation, and if so, obtains a node about the file, a user identification code for the file, and a group identification code for the file, and Determining whether the user identification code quota for the file or the group identification code quota for the file matches is stored in the virtual file system based on the node about the file, the user identification code for the file, and the group identification code for the file. The user/group ID quota excess table, if yes, reply to the second error message.

進一步,本發明之檔案伺服器還包含用戶/群組辨識碼配額管理資料庫以及子目錄/子卷配額管理資料庫。作業系統並且包含常駐於用戶層的配額事件暫存器(quota event buffer)以及常駐於用戶層的配額監視器(quota monitor)。配額監視器係耦合至用戶/群組辨識碼配額管理資料庫、子目錄/子卷配額管理資料庫以及配額事件暫存器。虛擬檔案系統並且包含第二監看模組。當該檔案被關閉時,第二監看模組用以檢查關於該檔案之第二檔案操作是否係建立操作、刪除操作或寫入操作,並且若是的話,第二監看模組根據關於該檔案之節點、路徑、用戶辨識碼、群組辨識碼以及檔案大小產生配額事件資訊,並且傳送配額事件資訊至配額事件暫存器。配額監視器用以檢查配額事件資訊是否暫存在配額事件暫存器內,並且若有的話,配額監視器將暫存的配額事件資訊與用戶/群組辨識碼配額管理資料庫以及該子目錄/子卷配額管理資料庫做比較,並且根據比較結果,選擇性地更新子目錄配額超額表以及用戶/群組辨識碼配額超額表。 Further, the file server of the present invention further includes a user/group identification code quota management database and a subdirectory/subvolume quota management database. The operating system also includes a quota event buffer resident at the user level and a quota monitor resident at the user layer. The quota monitor is coupled to the user/group ID quota management repository, the subdirectory/subvolume quota management repository, and the quota event register. The virtual file system also includes a second monitoring module. When the file is closed, the second monitoring module is configured to check whether the second file operation on the file is an operation, a delete operation or a write operation, and if so, the second monitoring module is based on the file. The node, path, user ID, group ID, and file size generate quota event information and transmit quota event information to the quota event register. The quota monitor is used to check whether the quota event information is temporarily stored in the quota event register, and if so, the quota monitor will temporarily store the quota event information and the user/group ID code management database and the subdirectory/ The subvolume quota management database is compared, and based on the comparison result, the subdirectory quota excess table and the user/group ID quota excess table are selectively updated.

於一具體實施例中,多個實體檔案系統可以包含Ext3檔案系統、Ext4檔案系統、XFS檔案系統、BTRFS檔案系統等。 In one embodiment, the plurality of physical file systems may include an Ext3 file system, an Ext4 file system, an XFS file system, a BTRFS file system, and the like.

與先前技術相較,根據本發明之方法及檔案系統 系統能支援多個實體檔案系統做好檔案異動通知管理以及配額管理。並且,關於檔案異動通知管理以及配額管理採取非同步狀態處理,以降低因新增監看模組等功能模組而增加原有I/O之間的反應時間。 Method and file system according to the present invention compared to prior art The system can support multiple physical file systems to do file transaction notification management and quota management. Moreover, the file transaction notification management and the quota management are processed in an asynchronous state to reduce the reaction time between the original I/Os due to the addition of function modules such as the monitoring module.

關於本發明之優點與精神可以藉由以下的發明詳述及所附圖式得到進一步的瞭解。 The advantages and spirit of the present invention will be further understood from the following detailed description of the invention.

1‧‧‧資料儲存系統 1‧‧‧Data Storage System

10a~10c‧‧‧檔案伺服器 10a~10c‧‧‧File Server

12a~12c‧‧‧用戶終端裝置 12a~12c‧‧‧User terminal device

14‧‧‧資料儲存裝置 14‧‧‧Data storage device

140a~140n‧‧‧儲存元件 140a~140n‧‧‧Storage components

16‧‧‧網路 16‧‧‧Network

100‧‧‧作業系統 100‧‧‧ operating system

101‧‧‧檔案異動通知資料庫 101‧‧‧File Change Notification Database

102‧‧‧核心層 102‧‧‧ core layer

103‧‧‧用戶層 103‧‧‧User layer

104a~104d‧‧‧實體檔案系統 104a~104d‧‧‧Entity file system

105‧‧‧檔案異動通知事件暫存器 105‧‧‧File Change Notification Event Register

106‧‧‧虛擬檔案系 106‧‧‧Virtual File System

107‧‧‧檔案異動通知監視器 107‧‧‧File Change Notification Monitor

108‧‧‧第一監看模組 108‧‧‧First monitor module

109‧‧‧子目錄配額超額表 109‧‧‧Subdirectory quota excess

110‧‧‧用戶/群組辨識碼配額超額表 110‧‧‧User/Group ID Code Excess Table

111‧‧‧用戶/群組辨識碼配額管理資料庫 111‧‧‧User/Group ID Code Quota Management Database

112‧‧‧子目錄/子卷配額管理資料庫 112‧‧‧Subdirectory/Subvolume Quota Management Database

113‧‧‧配額事件暫存器 113‧‧‧ Quota event register

114‧‧‧配額監視器 114‧‧‧Quota monitor

115‧‧‧第二監看模組 115‧‧‧Second monitor module

3‧‧‧本發明之方法 3‧‧‧Method of the invention

S30~S38‧‧‧流程步驟 S30~S38‧‧‧ Process steps

S40~S46‧‧‧流程步驟 S40~S46‧‧‧ Process steps

S50~S56‧‧‧流程步驟 S50~S56‧‧‧ Process steps

S60~S66‧‧‧流程步驟 S60~S66‧‧‧ Process steps

圖1為採用本發明之檔案伺服器的資料儲存系統的架構示意圖。 1 is a block diagram showing the structure of a data storage system using the file server of the present invention.

圖2係根據本發明之較佳具體實施例之檔案伺服器其軟體層架構的示意圖。 2 is a schematic diagram of a software layer architecture of a file server in accordance with a preferred embodiment of the present invention.

圖3為根據本發明之較佳具體實施例之方法的流程圖。 3 is a flow chart of a method in accordance with a preferred embodiment of the present invention.

圖4為本發明之方法進一步的步驟的流程圖。 4 is a flow chart of further steps of the method of the present invention.

圖5為本發明之方法進一步的步驟的流程圖。 Figure 5 is a flow chart of further steps of the method of the present invention.

圖6為本發明之方法進一步的步驟的流程圖。 Figure 6 is a flow chart of further steps of the method of the present invention.

請參閱圖1,資料儲存系統1的架構係示意地繪示於圖1中。資料儲存系統1採用根據本發明之較佳具體實施例之檔案伺服器(10a~10c)。資料儲存系統1還包含用戶終端裝置(12a~12c)、資料儲存裝置14以及網路16。用戶終端裝置(12a~12c)可以是各式的資料處理裝置,例如,桌上型電腦、筆記型電腦、手機、平板電腦,等。 Referring to FIG. 1, the architecture of the data storage system 1 is schematically illustrated in FIG. The data storage system 1 employs file servers (10a-10c) in accordance with a preferred embodiment of the present invention. The data storage system 1 also includes user terminal devices (12a-12c), data storage devices 14, and a network 16. The user terminal devices (12a to 12c) may be various types of data processing devices, such as a desktop computer, a notebook computer, a mobile phone, a tablet computer, and the like.

每一個檔案伺服器(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網路,或其他現行商用的網路。 Each of the file servers (10a-10c), the user terminal devices (12a-12c), and the data storage device 14 can communicate with each other via the network 16. In one embodiment, the network 16 may be an internet, an extranet, an intranet, or a local area. Network), wide area network, Ethernet, cable TV network, radio telecommunication network, public switched telephone network, 3G network, HSPA network, Wi-Fi network, WiMAX network, LTE network, or other currently commercial networks.

雖然於圖1中檔案伺服器(10a~10c)與用戶終端裝置(12a~12c)顯示特定數目,但是實務上檔案伺服器(10a~10c)與用戶終端裝置(12a~12c)的數目可以是一個或多個,並且以本專利說明書提及的連接技術相互連接、通信。每一個檔案伺服器(10a~10c)可以處理其所接收的用戶端請求的合適的電腦系統。如下文更加詳細的描述,多個實體檔案系統以及檔案伺服器(10a~10c)所提供的相關服務根據在此揭露的技術可以包含一聯合分散式檔案系統架構。檔案伺服器(10a~10c)對於該整體分散式檔案系統架構可以集體地做為前端,該整體分散式檔案系統架構包含多個實體檔案系統,藉此,該等檔案伺服器(10a~10c)提供本發明所屬技術領域中具有通常知識者可以理解的平行性與可擴展性。 Although the file servers (10a to 10c) and the user terminal devices (12a to 12c) display a specific number in FIG. 1, the number of the file servers (10a to 10c) and the user terminal devices (12a to 12c) may be One or more, and connected and communicated with each other using the connection techniques mentioned in this patent specification. Each file server (10a~10c) can process the appropriate computer system for the client request it receives. As described in more detail below, the plurality of physical file systems and related services provided by the file servers (10a-10c) may include a joint distributed file system architecture in accordance with the techniques disclosed herein. The file server (10a~10c) can collectively serve as a front end for the overall distributed file system architecture, and the overall distributed file system architecture includes a plurality of physical file systems, whereby the file servers (10a-10c) Parallelism and scalability that can be understood by those of ordinary skill in the art to which the present invention pertains are provided.

資料儲存裝置14可以包含一個或多個資料儲存元件(140a~140n)。於一具體實施例中,每一個儲存元件(140a~140n)可以是磁帶機、磁碟機、記憶體記錄裝置、光儲存記錄裝置,或是其他等效的儲存裝置。資料儲存裝置14可以代表單一個或多個資料儲存陣列,這些資料儲存陣列可以架構成適合的配置,例如,儲存區域網路(storage area network,SAN)。檔案伺服器(10a~10c)可以與資料儲存裝置14通信以連接對儲存於資料儲存元件(140a~140n)裡的資料(例如,檔案)執行操作。進一步,用戶終端裝置(12a~12c)可以與檔案伺服器(10a~10c)通信以連接服務用戶端請求,進而對儲存於資料儲存裝置14內的資料進行存取。 The data storage device 14 can include one or more data storage elements (140a-140n). In one embodiment, each of the storage elements (140a-140n) may be a tape drive, a disk drive, a memory recording device, an optical storage recording device, or other equivalent storage device. The data storage device 14 can represent a single data storage array or array of data storage arrays that can be configured to form a suitable configuration, such as a storage area network (SAN). The file servers (10a-10c) can communicate with the data storage device 14 to interface with operations on data (e.g., files) stored in the data storage elements (140a-140n). Further, the user terminal devices (12a-12c) can communicate with the file server (10a~10c) to connect to the service client request, thereby accessing the data stored in the data storage device 14.

例如,用戶終端裝置12a可以發出請求以寫入一 個檔案,藉此該請求從用戶終端裝置12a傳送至檔案伺服器(10a~10c)中之一個檔案伺服器(例如,檔案伺服器10a)。回應該請求,檔案伺服器10a可以與資料儲存裝置14通信以執行處理進而對資料儲存元件(140a~140n)中之一個或多個執行資料處理以將該請求的資料寫入檔案。檔案伺服器(10a~10c)可以經由多個通道提供資料以及存取控制資訊至資料儲存裝置14,並且資料儲存裝置14可以經由該等通道提供資料至檔案伺服器(10a~10c)。檔案伺服器(10a~10c)可以不直接對資料儲存裝置14的多個實體儲存元件做定址,而是經由多個通道對多個邏輯元件或邏輯冊做定址,以及經由其他軟體層使用以檔案為基礎的存取技術。 For example, the user terminal device 12a can issue a request to write one The files are transmitted from the user terminal device 12a to one of the file servers (10a to 10c) (for example, the file server 10a). In response to the request, the file server 10a can communicate with the data storage device 14 to perform processing to perform data processing on one or more of the data storage elements (140a-140n) to write the requested data to the archive. The file server (10a~10c) can provide data and access control information to the data storage device 14 via a plurality of channels, and the data storage device 14 can provide data to the file server (10a-10c) via the channels. The file server (10a~10c) may not address multiple physical storage elements of the data storage device 14, but address multiple logical elements or logical books via multiple channels, and use files via other software layers. Based on access technology.

請參閱圖2,根據本發明之一較佳具體實施例之檔案伺服器(10a~10c)其軟體層架構係示意地繪示於圖2中。 Referring to FIG. 2, a software layer architecture of a file server (10a-10c) according to a preferred embodiment of the present invention is schematically illustrated in FIG.

如圖2所示,本發明之一較佳具體實施例之一種檔案伺服器(10a~10c),其包含檔案異動通知資料庫101以及至少一處理器(未繪示於圖2中)。 As shown in FIG. 2, a file server (10a~10c) according to a preferred embodiment of the present invention includes a file transaction notification database 101 and at least one processor (not shown in FIG. 2).

至少一處理器用以執行作業系統100。作業系統100具有核心層102以及用戶層103,並且包含多個常駐於核心層102的實體檔案系統(104a~104d)、常駐於用戶層103的檔案異動通知事件暫存器105、常駐於核心層102的虛擬檔案系統106以及常駐於用戶層103的檔案異動通知監視器107。 At least one processor is used to execute the operating system 100. The operating system 100 has a core layer 102 and a user layer 103, and includes a plurality of physical file systems (104a-104d) resident in the core layer 102, a file transaction notification event register 105 resident in the user layer 103, and resident in the core layer. The virtual file system 106 of 102 and the file transaction notification monitor 107 resident in the user layer 103.

虛擬檔案系統106係耦合至多個實體檔案系統(104a~104d)以及檔案異動通知事件暫存器105。虛擬檔案系統106包含第一監看模組108。當針對多個實體檔案系統(104a~104d)之一檔案被開啟時,第一監看模組108用以檢查關於該檔案之第一檔案操作是否係建立操作、刪除操作、寫入操作或改名操作,並且若是的話,第一監看模組108根據第一檔案操作以及關於該檔案之路徑產生檔案異動通知事件 資訊,並且傳送檔案異動通知事件資訊至檔案異動通知事件暫存器105。於一具體實施例中,第一監看模組108可以是一hooker監看軟體。 The virtual file system 106 is coupled to a plurality of physical file systems (104a-104d) and a file transaction notification event register 105. The virtual file system 106 includes a first monitoring module 108. When the file is opened for one of the plurality of physical file systems (104a-104d), the first monitoring module 108 is configured to check whether the first file operation of the file is an operation, a deletion operation, a write operation, or a rename. Operation, and if so, the first monitoring module 108 generates a file transaction notification event based on the first file operation and the path to the file Information, and the file transaction notification event information is transmitted to the file transaction notification event register 105. In a specific embodiment, the first monitoring module 108 can be a hooker monitoring software.

檔案異動通知監視器107係耦合至檔案異動通 知資料庫101以及檔案異動通知事件暫存器105。檔案異動通知監視器107用以檢查檔案異動通知事件資訊是否暫存在檔案異動通知事件暫存器105內,並且若有的話,檔案異動通知監視器107則根據檔案異動通知事件資訊更新檔案異動通知資料庫101。藉此,本發明之檔案伺服器(10a~10c)其軟體層架構能支援實體檔案系統(104a~104d)做好檔案異動通知管理。 The file transaction notification monitor 107 is coupled to the file transaction The knowledge database 101 and the file transaction notification event register 105 are known. The file transaction notification monitor 107 is configured to check whether the file transaction notification event information is temporarily stored in the file transaction notification event register 105, and if so, the file transaction notification monitor 107 updates the file transaction notification according to the file transaction notification event information. Database 101. Thereby, the software layer architecture of the file server (10a~10c) of the present invention can support the physical file system (104a~104d) to perform file transaction notification management.

於一具體實施例中,作業系統100可以是Linux作業系統或Unix作業系統。 In one embodiment, the operating system 100 can be a Linux operating system or a Unix operating system.

於一具體實施例中,多個實體檔案系統(104a~104d)可以包含Ext3檔案系統、Ext4檔案系統、XFS檔案系統、BTRFS檔案系統等。 In one embodiment, the plurality of physical file systems (104a-104d) may include an Ext3 file system, an Ext4 file system, an XFS file system, a BTRFS file system, and the like.

進一步,同樣示於圖2,於本發明之檔案伺服器(104a~104d)中,虛擬檔案系統106包含子目錄配額超額表109。第一監看模組108並且檢查第一檔案操作是否係建立操作或寫入操作,並且若是的話,取得關於該檔案之路徑,並且基於關於該檔案之路徑,判斷關於該檔案之子目錄配額是否匹配存於虛擬檔案系統106內之子目錄配額超額表109,若是的話,回覆第一錯誤訊息。藉此,本發明之檔案伺服器(10a~10c)其軟體層架構能支援實體檔案系統(104a~104d)做好配額管理。 Further, also shown in FIG. 2, in the file server (104a-104d) of the present invention, the virtual file system 106 includes a subdirectory quota excess table 109. The first monitoring module 108 also checks whether the first file operation is an operation or a write operation, and if so, obtains a path about the file, and based on the path regarding the file, determines whether the subdirectory quota for the file matches. The subdirectory quota excess table 109 stored in the virtual file system 106, if yes, replies to the first error message. Thereby, the software layer architecture of the file server (10a~10c) of the present invention can support the entity file system (104a~104d) to perform quota management.

進一步,同樣示於圖2,於本發明之檔案伺服器(104a~104d)中,虛擬檔案系統106包含用戶/群組辨識碼配額超額表110。第一監看模組108並且檢查第一檔案操作是否係 建立操作或寫入操作,並且若是的話,取得關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,並且基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額或關於該檔案之群組辨識碼配額是否匹配存於虛擬檔案系統106內之用戶/群組辨識碼配額超額表110,若是的話,回覆第二錯誤訊息。藉此,本發明之檔案伺服器(10a~10c)其軟體層架構能支援實體檔案系統(104a~104d)做好配額管理。 Further, also shown in FIG. 2, in the file server (104a-104d) of the present invention, the virtual file system 106 includes a user/group identification code quota excess table 110. The first monitoring module 108 and checking whether the first file operation is Establishing an operation or a write operation, and if so, obtaining a node about the file, a user identification code for the file, and a group identification code for the file, and based on the node regarding the file, a user identification code for the file And a group identification code for the file, determining whether the user identification code quota for the file or the group identification code quota for the file matches the user/group identification code quota excess table 110 stored in the virtual file system 106, If yes, reply to the second error message. Thereby, the software layer architecture of the file server (10a~10c) of the present invention can support the entity file system (104a~104d) to perform quota management.

進一步,同樣示於圖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監看軟體。 Further, also shown in FIG. 2, the file server (104a-104d) of the present invention further includes a user/group identification code quota management database 111 and a subdirectory/sub-volume quota management database 112. The operating system 100 also includes a quota event register 113 resident in the user layer 103 and a quota monitor 114 resident in the user layer 103. The quota monitor 114 is coupled to the user/group identification code quota management repository 111, the subdirectory/subvolume quota management repository 112, and the quota event register 113. The virtual file system 106 also includes a second monitoring module 115. When the file is closed, the second monitoring module 115 is configured to check whether the second file operation regarding the file is an operation establishing operation, a deletion operation or a writing operation, and if so, the second monitoring module 115 according to the relevant The node, path, user identification code, group identification code, and file size of the file generate quota event information, and the quota event information is transmitted to the quota event register 113. The quota monitor 114 is configured to check whether the quota event information is temporarily stored in the quota event register 113, and if so, the quota monitor 114 stores the temporarily stored quota event information and the user/group identification code quota management database 111. And the subdirectory/subvolume quota management database 112 is compared, and based on the comparison result, the subdirectory quota excess table 109 and the user/group identification code quota excess table 110 are selectively updated. Thereby, the software layer architecture of the file server (10a~10c) of the present invention can support the entity file system (104a~104d) to perform quota management. In a specific embodiment, the second monitoring module 115 can be a hooker monitoring software.

請參閱圖3,本發明之一較佳具體實施例之一種 方法3的流程步驟係繪示於圖3。本發明之方法3係由至少一處理器執行如圖2所示軟體層架構所具備的功能。本發明之方法3用以支援至少一處理器的作業系統100之多個實體檔案系統(104a~104d)之檔案管理。 Please refer to FIG. 3, which is a preferred embodiment of the present invention. The process steps of Method 3 are depicted in Figure 3. The method 3 of the present invention performs the functions of the software layer architecture shown in FIG. 2 by at least one processor. The method 3 of the present invention is used to support file management of a plurality of physical file systems (104a-104d) of the operating system 100 of at least one processor.

如圖3所示,本發明之方法3首先係執行步驟S30,將虛擬檔案系統106常駐於作業系統100的核心層102內。 As shown in FIG. 3, the method 3 of the present invention first performs step S30 to resident the virtual file system 106 in the core layer 102 of the operating system 100.

虛擬檔案系統106係耦合至多個實體檔案系統(104a~104d)。接著,本發明之方法3執行步驟S32,當針對多個實體檔案系統(104a~104d)之一檔案被開啟時,檢查關於該檔案之第一檔案操作是否係建立操作、刪除操作、寫入操作或改名操作。 The virtual file system 106 is coupled to a plurality of physical file systems (104a-104d). Next, the method 3 of the present invention performs step S32. When a file is opened for one of the plurality of physical file systems (104a-104d), it is checked whether the first file operation regarding the file is an operation of establishing, deleting, or writing. Or rename the operation.

若步驟S32的檢查結果為肯定者,本發明之方法3則執行步驟S34,根據第一檔案操作以及關於檔案之路徑產生檔案異動通知事件資訊,並且暫存檔案異動通知事件資訊於作業系統100的用戶層103內。於步驟S34之後,本發明之方法3執行步驟S36,於用戶層103內,非同步地檢查暫存的檔案異動通知事件資訊是否存在。若步驟S36的檢查結果為肯定者,則執行步驟S38,根據檔案異動通知事件資訊更新檔案異動通知資料庫101。 If the result of the check in step S32 is affirmative, the method 3 of the present invention performs step S34, generating file transaction notification event information according to the first file operation and the path about the file, and temporarily storing the file transaction notification event information on the operating system 100. Within the user layer 103. After step S34, the method 3 of the present invention performs step S36 to asynchronously check whether the temporary file transaction notification event information exists in the user layer 103. If the result of the check in step S36 is affirmative, step S38 is executed to update the file transaction notification database 101 based on the file transaction notification event information.

進一步,請參閱圖4,本發明之方法3並且執行步驟S40,虛擬檔案系統106並且檢查第一檔案操作是否係建立操作或寫入操作。若步驟S40的檢查結果為肯定者,本發明之方法3則執行步驟S42,取得關於該檔案的路徑。於步驟S42之後,本發明之方法3執行步驟S44,基於關於該檔案的路徑,判斷關於該檔案的子目錄配額是否匹配存於虛擬檔案系統106內之子目錄配額超額表109。若步驟S44的判斷結果為肯定者,本發明之方法3執行步驟S46,回覆第一錯誤訊息。 Further, referring to FIG. 4, method 3 of the present invention and performing step S40, virtual file system 106 and checking whether the first file operation is an operation or a write operation. If the result of the check in step S40 is affirmative, the method 3 of the present invention executes step S42 to obtain a path regarding the file. After step S42, the method 3 of the present invention performs step S44 to determine, based on the path of the file, whether the subdirectory quota for the file matches the subdirectory quota excess table 109 stored in the virtual file system 106. If the result of the determination in step S44 is affirmative, the method 3 of the present invention performs step S46 to reply to the first error message.

進一步,請參閱圖5,本發明之方法3並且執行步驟S50,虛擬檔案系統106並且檢查第一檔案操作是否係建立操作或寫入操作。若步驟S50的檢查結果為肯定者,本發明之方法3則執行步驟S52,取得關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼。於步驟S52之後,本發明之方法3執行步驟S54,基於關於該檔案之節點、關於該檔案之用戶辨識碼以及關於該檔案之群組辨識碼,判斷關於該檔案之用戶辨識碼配額或關於該檔案之群組辨識碼配額是否匹配存於虛擬檔案系統106內之用戶/群組辨識碼配額超額表110。若步驟S54是的話,本發明之方法3執行步驟S56的判斷結果為肯定者,回覆第二錯誤訊息。 Further, referring to FIG. 5, method 3 of the present invention and performing step S50, virtual file system 106 and checking whether the first file operation is an operation or a write operation. If the result of the check in step S50 is affirmative, the method 3 of the present invention executes step S52 to obtain a node about the file, a user identification code for the file, and a group identification code for the file. After step S52, the method 3 of the present invention performs step S54, determining a user identification code quota for the file based on the node about the file, the user identification code for the file, and the group identification code for the file. Whether the group ID code quota of the file matches the user/group ID quota excess table 110 stored in the virtual file system 106. If the step S54 is YES, the method 3 of the present invention performs the determination in the step S56 as affirmative, and replies to the second error message.

進一步,請參閱圖6,本發明之方法3並且執行步驟S60,當該檔案被關閉時,檢查關於該檔案之第二檔案操作是否係建立操作、刪除操作或寫入操作。若步驟S60的檢查結果為肯定者,本發明之方法3則執行步驟S62,根據關於該檔案之節點、路徑、用戶辨識碼、群組辨識碼以及該檔案大小產生配額事件資訊,並且暫存配額事件資訊於作業系統100的用戶層103內。於步驟S62之後,本發明之方法3執行步驟S64,於用戶層103內,非同步地檢查暫存的配額事件資訊是否存在。若步驟S64的檢查結果為肯定者,本發明之方法3則執行步驟S66,將暫存的配額事件資訊與用戶/群組辨識碼配額管理資料庫111以及子目錄/子卷配額管理資料庫112做比較。於步驟S66之後,本發明之方法3則執行步驟S68根據上述比較結果,選擇性地更新子目錄配額超額表109以及用戶/群組辨識碼配額超額表110。 Further, referring to FIG. 6, the method 3 of the present invention and performing step S60, when the file is closed, it is checked whether the second file operation regarding the file is an operation establishment operation, a deletion operation, or a write operation. If the result of the check in step S60 is affirmative, the method 3 of the present invention performs step S62, generating quota event information according to the node, the path, the user identification code, the group identification code, and the file size of the file, and temporarily storing the quota. The event information is within the user layer 103 of the operating system 100. After step S62, the method 3 of the present invention performs step S64 to check whether the temporarily stored quota event information exists asynchronously in the user layer 103. If the result of the check in step S64 is affirmative, the method 3 of the present invention executes step S66 to store the temporary quota event information and the user/group identification code quota management database 111 and the subdirectory/subvolume quota management database 112. comparing. After step S66, the method 3 of the present invention performs step S68 to selectively update the subdirectory quota excess table 109 and the user/group identification code quota excess table 110 according to the comparison result.

須強調的是,與先前技術相較,根據本發明之方法及檔案伺服器能支援多個實體檔案系統(104a~104d)做好檔案異動通知管理以及配額管理。並且,關於檔案異動通知管理以及配額管理採取非同步狀態處理,以降低因新增監看模 組等功能模組而增加原有I/O之間的反應時間。 It should be emphasized that the method and file server according to the present invention can support multiple physical file systems (104a-104d) to perform file transaction notification management and quota management as compared with the prior art. Moreover, regarding the file transaction notification management and quota management, the asynchronous state processing is adopted to reduce the new monitoring mode. Groups and other functional modules increase the reaction time between the original I/O.

藉由以上較佳具體實施例之詳述,係希望能更加清楚描述本發明之特徵與精神,而並非以上述所揭露的較佳具體實施例來對本發明之面向加以限制。相反地,其目的是希望能涵蓋各種改變及具相等性的安排於本發明所欲申請之專利範圍的面向內。因此,本發明所申請之專利範圍的面向應該根據上述的說明作最寬廣的解釋,以致使其涵蓋所有可能的改變以及具相等性的安排。 The features and spirit of the present invention are intended to be more apparent from the detailed description of the preferred embodiments. On the contrary, the intention is to cover various modifications and equivalents that are within the scope of the invention as claimed. Therefore, the scope of the patent application of the present invention should be construed broadly in the light of the above description, so that it covers all possible changes and arrangements.

100‧‧‧作業系統 100‧‧‧ operating system

101‧‧‧檔案異動通知資料庫 101‧‧‧File Change Notification Database

102‧‧‧核心層 102‧‧‧ core layer

103‧‧‧用戶層 103‧‧‧User layer

104a~104d‧‧‧實體檔案系統 104a~104d‧‧‧Entity file system

105‧‧‧檔案異動通知事件暫存器 105‧‧‧File Change Notification Event Register

106‧‧‧虛擬檔案系 106‧‧‧Virtual File System

107‧‧‧檔案異動通知監視器 107‧‧‧File Change Notification Monitor

108‧‧‧第一監看模組 108‧‧‧First monitor module

109‧‧‧子目錄配額超額表 109‧‧‧Subdirectory quota excess

110‧‧‧用戶/群組辨識碼配額超額表 110‧‧‧User/Group ID Code Excess Table

111‧‧‧用戶/群組辨識碼配額管理資料庫 111‧‧‧User/Group ID Code Quota Management Database

112‧‧‧子目錄/子卷配額管理資料庫 112‧‧‧Subdirectory/Subvolume Quota Management Database

113‧‧‧配額事件暫存器 113‧‧‧ Quota event register

114‧‧‧配額監視器 114‧‧‧Quota monitor

115‧‧‧第二監看模組 115‧‧‧Second monitor module

Claims (10)

一種由至少一處理器執行的方法,用以支援該至少一處理器之一作業系統之多個實體檔案系統之檔案管理,該方法包含下列步驟:(a)將一虛擬檔案系統常駐於該作業系統之一核心層內,該虛擬檔案系統係耦合至該多個實體檔案系統,並且執行下列步驟:(b)當針對該多個實體檔案系統之一檔案被開啟時,檢查關於該檔案之一第一檔案操作是否係選自由一建立操作、一刪除操作、一寫入操作以及一改名操作所組成之群組中之其一;(c)若步驟(b)之結果為肯定者,則根據該第一檔案操作以及關於該檔案之一路徑產生一檔案異動通知事件資訊,並且暫存該檔案異動通知事件資訊於該作業系統之一用戶層內;以及(d)於該用戶層內,非同步地檢查該暫存的檔案異動通知事件資訊是否存在,並且若存在的話,則根據該檔案異動通知事件資訊更新一檔案異動通知資料庫。 A method performed by at least one processor to support file management of a plurality of physical file systems of one of the at least one processor operating system, the method comprising the steps of: (a) resident a virtual file system in the job Within one core layer of the system, the virtual file system is coupled to the plurality of physical file systems and performs the following steps: (b) when one of the plurality of physical file systems is opened, checking one of the files Whether the first file operation is selected from one of a group consisting of a setup operation, a delete operation, a write operation, and a rename operation; (c) if the result of the step (b) is affirmative, The first file operation and a path for the file to generate a file transaction notification event information, and temporarily storing the file transaction notification event information in a user layer of the operating system; and (d) within the user layer, Simultaneously checking whether the temporarily stored file transaction notification event information exists, and if so, updating a file transaction notification data according to the file transaction notification event information . 如請求項1所述之方法,其中該多個實體檔案系統包含選自由一Ext3檔案系統、一Ext4檔案系統、一XFS檔案系統以及一BTRFS檔案系統所組成之群組中之其一。 The method of claim 1, wherein the plurality of physical file systems comprise one selected from the group consisting of an Ext3 file system, an Ext4 file system, an XFS file system, and a BTRFS file system. 如請求項2所述之方法,其中該虛擬檔案系統進一步執行下列步驟: (e)檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,執行下列步驟:(f)取得關於該檔案之該路徑;以及(g)基於關於該檔案之該路徑,判斷關於該檔案之一子目錄配額是否匹配存於該虛擬檔案系統內之一子目錄配額超額表,若是的話,回覆一第一錯誤訊息。 The method of claim 2, wherein the virtual file system further performs the following steps: (e) checking whether the first file operation is the setup operation or the write operation, and if so, performing the following steps: (f) obtaining the path with respect to the file; and (g) based on the path with respect to the file And determining whether a subdirectory quota of the file matches a subdirectory quota excess table stored in the virtual file system, and if so, replying with a first error message. 如請求項2所述之方法,其中該虛擬檔案系統進一步執行下列步驟:(h)檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,執行下列步驟:(i)取得關於該檔案之一節點、關於該檔案之一用戶辨識碼以及關於該檔案之一群組辨識碼;以及(j)基於關於該檔案之該節點、關於該檔案之該用戶辨識碼以及關於該檔案之該群組辨識碼,判斷關於該檔案之一用戶辨識碼配額或關於該檔案之一群組辨識碼配額是否匹配存於該虛擬檔案系統內之一用戶/群組辨識碼配額超額表,若是的話,回覆一第二錯誤訊息。 The method of claim 2, wherein the virtual file system further performs the steps of: (h) checking whether the first file operation is the setup operation or the write operation, and if so, performing the following steps: (i) Obtaining a node about the file, a user identification code for the file, and a group identification code for the file; and (j) based on the node about the file, the user identification code for the file, and about the The group identification code of the file, determining whether a user identification code quota of the file or a group identification code quota of the file matches a user/group identification code quota excess table stored in the virtual file system, If yes, reply with a second error message. 如請求項2所述之方法,其中該虛擬檔案系統進一步執行下列步驟:(k)當該檔案被關閉時,檢查關於該檔案之一第二檔案操作是否係選自由該建立操作、該刪除操作以及該寫入操作所組成之群組中之其一;(l)若步驟(k)之結果為肯定者,根據關於該檔案之該節點、該路徑、該用戶辨識碼、該群組辨識碼以及一檔案大小產 生一配額事件資訊,並且暫存該配額事件資訊於該作業系統之該用戶層內;(m)於該用戶層內,非同步地檢查該暫存的配額事件資訊是否存在,並且若存在的話,則將該暫存的配額事件資訊與一用戶/群組辨識碼配額管理資料庫以及一子目錄/子卷配額管理資料庫做比較;以及(n)根據步驟(m)之比較結果,選擇性地更新該子目錄配額超額表以及該用戶/群組辨識碼配額超額表。 The method of claim 2, wherein the virtual file system further performs the following steps: (k) when the file is closed, checking whether a second file operation regarding one of the files is selected from the setup operation, the delete operation And one of the groups consisting of the writing operation; (1) if the result of the step (k) is affirmative, according to the node about the file, the path, the user identification code, the group identification code And a file size Generating a quota event information, and temporarily storing the quota event information in the user layer of the operating system; (m) in the user layer, asynchronously checking whether the temporarily stored quota event information exists, and if present And comparing the temporarily stored quota event information with a user/group identification code quota management database and a subdirectory/subvolume quota management database; and (n) selecting according to the comparison result of step (m) This subdirectory quota excess table and the user/group ID quota excess table are updated sexually. 一種檔案伺服器,包含:一檔案異動通知資料庫;以及至少一處理器,用以執行一作業系統,該作業系統具有一核心層以及一用戶層並且包含:多個實體檔案系統,係常駐於該核心層;一檔案異動通知事件暫存器,係常駐於該用戶層;一虛擬檔案系統,係常駐於該核心層內並且耦合至該多個實體檔案系統以及該檔案異動通知事件暫存器,該虛擬檔案系統包含一第一監看模組,當針對該多個實體檔案系統之一檔案被開啟時,該第一監看模組用以檢查關於該檔案之一第一檔案操作是否係選自由一建立操作、一刪除操作、一寫入操作以及一改名操作所組成之群組中之其一,並且若是的話,該第一監看模組根據該第一檔案操作以及關於該檔案之一路徑產生一檔案異動通知事件資訊,並且傳送該檔案異動通知事件資訊至該檔案異動通知事件暫存器;以及 一檔案異動通知監視器,係常駐於該用戶層並且耦合至該檔案異動通知資料庫以及該檔案異動通知事件暫存器,該檔案異動通知監視器用以檢查該檔案異動通知事件資訊是否暫存在該檔案異動通知事件暫存器內,並且若有的話,該檔案異動通知監視器則根據該檔案異動通知事件資訊更新該檔案異動通知資料庫。 A file server includes: a file transaction notification database; and at least one processor for executing an operating system, the operating system having a core layer and a user layer and comprising: a plurality of physical file systems, resident The core layer; a file transaction notification event register is resident at the user layer; a virtual file system resident in the core layer and coupled to the plurality of entity file systems and the file transaction notification event register The virtual file system includes a first monitoring module. When the file is opened for one of the plurality of physical file systems, the first monitoring module is configured to check whether the first file operation of the file is Selecting one of a group consisting of a setup operation, a deletion operation, a write operation, and a rename operation, and if so, the first monitoring module operates according to the first file and about the file a path generates a file transaction notification event information, and transmits the file transaction notification event information to the file transaction notification event register; a file transaction notification monitor resident in the user layer and coupled to the file transaction notification database and the file transaction notification event register, the file transaction notification monitor is configured to check whether the file transaction notification event information is temporarily stored The file transaction notification event is stored in the event register, and if so, the file transaction notification monitor updates the file transaction notification database based on the file transaction notification event information. 如請求項6所述之檔案伺服器,其中該多個實體檔案系統包含選自由一Ext3檔案系統、一Ext4檔案系統、一XFS檔案系統以及一BTRFS檔案系統所組成之群組中之其一。 The file server of claim 6, wherein the plurality of physical file systems comprise one selected from the group consisting of an Ext3 file system, an Ext4 file system, an XFS file system, and a BTRFS file system. 如請求項7所述之檔案伺服器,其中該虛擬檔案系統包含一子目錄配額超額表,該第一監看模組並且檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,取得關於該檔案之該路徑,並且基於關於該檔案之該路徑,判斷關於該檔案之一子目錄配額是否匹配存於該虛擬檔案系統內之一子目錄配額超額表,若是的話,回覆一第一錯誤訊息。 The file server of claim 7, wherein the virtual file system includes a subdirectory quota excess table, and the first monitoring module checks whether the first file operation is the setup operation or the write operation, and If so, obtaining the path for the file, and based on the path for the file, determining whether a subdirectory quota for the file matches a subdirectory quota excess table stored in the virtual file system, and if so, replying A first error message. 如請求項7所述之檔案伺服器,其中該虛擬檔案系統包含一用戶/群組辨識碼配額超額表,該第一監看模組並且檢查該第一檔案操作是否係該建立操作或該寫入操作,並且若是的話,取得關於該檔案之一節點、關於該檔案之一用戶辨識碼以及關於該檔案之一群組辨識碼,並且基於關於該檔案之該節點、關於該檔案之該用戶辨識碼以及關於該檔案之該群組辨識碼,判斷關於該檔案之一用戶辨識碼配額或關於該檔案之一群組辨識碼配額是否匹配存於該虛 擬檔案系統內之一用戶/群組辨識碼配額超額表,若是的話,回覆一第二錯誤訊息。 The file server of claim 7, wherein the virtual file system includes a user/group identification code quota excess table, and the first monitoring module checks whether the first file operation is the establishing operation or the writing Entering an operation, and if so, obtaining a node for the file, a user identification code for the file, and a group identification code for the file, and based on the node regarding the file, the user identification for the file a code and a group identification code for the file, determining whether a user identification code quota for the file or a group identification code quota for the file matches the virtual code A user/group ID quota excess table in the proposed file system, and if so, a second error message is replied. 如請求項7所述之檔案伺服器,進一步包含:一用戶/群組辨識碼配額管理資料庫;以及一子目錄/子卷配額管理資料庫;其中該作業系統並且包含:一配額事件暫存器,係常駐於該用戶層;以及一配額監視器,係常駐於該用戶層並且耦合至該用戶/群組辨識碼配額管理資料庫、該子目錄/子卷配額管理資料庫以及該配額事件暫存器;其中該虛擬檔案系統並且包含一第二監看模組,當該檔案被關閉時,該第二監看模組用以檢查關於該檔案之一第二檔案操作是否係選自由該建立操作、該刪除操作以及該寫入操作所組成之群組中之其一,並且若是的話,該第二監看模組根據關於該檔案之該節點、該路徑、該用戶辨識碼、該群組辨識碼以及一檔案大小產生一配額事件資訊,並且傳送該配額事件資訊至該配額事件暫存器;其中該配額監視器用以檢查該配額事件資訊是否暫存在該配額事件暫存器內,並且若有的話,該配額監視器將該暫存的配額事件資訊與該用戶/群組辨識碼配額管理資料庫以及該子目錄/子卷配額管理資料庫做比較,並且根據比較結果,選擇性地更新該子目錄配額超額表以及該用戶/群組辨識碼配額超額表。 The file server of claim 7, further comprising: a user/group identification code quota management database; and a subdirectory/subvolume quota management database; wherein the operating system further comprises: a quota event temporary storage Residing at the user layer; and a quota monitor resident at the user layer and coupled to the user/group ID code management database, the subdirectory/subvolume quota management database, and the quota event a temporary storage device, wherein the virtual file system further includes a second monitoring module, and when the file is closed, the second monitoring module is configured to check whether the second file operation of the file is selected from the Establishing, deleting, and one of the groups of the write operations, and if so, the second monitoring module according to the node, the path, the user identification code, the group The group identification code and a file size generate a quota event information, and transmit the quota event information to the quota event register; wherein the quota monitor is used to check the quota event Whether it is temporarily stored in the quota event register, and if so, the quota monitor stores the temporary quota event information with the user/group identification code quota management database and the subdirectory/subvolume quota management The database is compared, and based on the comparison result, the subdirectory quota excess table and the user/group ID quota excess table are selectively updated.
TW104125441A 2015-08-05 2015-08-05 Method for supporting file management for physical file systems and file server using such method TWI537750B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW104125441A TWI537750B (en) 2015-08-05 2015-08-05 Method for supporting file management for physical file systems and file server using such method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104125441A TWI537750B (en) 2015-08-05 2015-08-05 Method for supporting file management for physical file systems and file server using such method

Publications (2)

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

Family

ID=56755882

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104125441A TWI537750B (en) 2015-08-05 2015-08-05 Method for supporting file management for physical file systems and file server using such method

Country Status (1)

Country Link
TW (1) TWI537750B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789168B (en) * 2021-12-16 2023-01-01 威聯通科技股份有限公司 File versioning management method and file system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI789168B (en) * 2021-12-16 2023-01-01 威聯通科技股份有限公司 File versioning management method and file system
US11874806B2 (en) 2021-12-16 2024-01-16 Qnap Systems, Inc. File versioning management method and file system

Also Published As

Publication number Publication date
TW201706874A (en) 2017-02-16

Similar Documents

Publication Publication Date Title
CN110603524B (en) Method and system for dependency analysis of orchestrated workload
JP5945031B2 (en) Provision and manage replicated data instances
US10154112B1 (en) Cloud-to-cloud data migration via cache
US8255420B2 (en) Distributed storage
US20160092119A1 (en) Data migration between different types of storage systems
WO2018119601A1 (en) Data conversion method and back-up server
JP2016140116A (en) Techniques for network replication
US10852996B2 (en) System and method for provisioning slave storage including copying a master reference to slave storage and updating a slave reference
JP2015506506A (en) System and method for providing data management service
KR101714412B1 (en) Method and apparatus for organizing database system in cloud 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
KR20230057389A (en) Storage tiering within a unified storage environment
US10831714B2 (en) Consistent hashing configurations supporting multi-site replication
WO2016101662A1 (en) Data processing method and relevant server
US20150381727A1 (en) Storage functionality rule implementation
TWI537750B (en) Method for supporting file management for physical file systems and file server using such method
US11782882B2 (en) Methods for automated artifact storage management and devices thereof
US10880376B1 (en) Downloading chunks of an object from a storage service while chunks of the object are being uploaded
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
US11640241B2 (en) Remote storage object techniques
WO2023040504A1 (en) Data processing system, data processing method and related apparatus
JP2009211688A (en) Method, system, and computer program for migrating file

Legal Events

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