TW201640378A - File management and access system and method thereof - Google Patents

File management and access system and method thereof Download PDF

Info

Publication number
TW201640378A
TW201640378A TW104115501A TW104115501A TW201640378A TW 201640378 A TW201640378 A TW 201640378A TW 104115501 A TW104115501 A TW 104115501A TW 104115501 A TW104115501 A TW 104115501A TW 201640378 A TW201640378 A TW 201640378A
Authority
TW
Taiwan
Prior art keywords
file
buffer
data
areas
client
Prior art date
Application number
TW104115501A
Other languages
Chinese (zh)
Other versions
TWI560556B (en
Inventor
Yu-Hsin Wang
Chi-Sheng Shih
Chia-Chun Shih
chao-wen Huang
Chien-Wei Cheng
Jeu-Yih Jeng
Original Assignee
Chunghwa Telecom Co Ltd
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 Chunghwa Telecom Co Ltd filed Critical Chunghwa Telecom Co Ltd
Priority to TW104115501A priority Critical patent/TW201640378A/en
Publication of TW201640378A publication Critical patent/TW201640378A/en
Application granted granted Critical
Publication of TWI560556B publication Critical patent/TWI560556B/zh

Links

Abstract

A file management and access system and a method thereof are disclosed. The invention utilizes a distributed memory cache as a storage medium, wherein a client end uses a Filesystem in Userspace (FUSE) to interface with a local file system, so as to provide the client end with a transparent file operation mechanism. By means of utilizing batch transfer and multiple buffer techniques, the invention effectively transmits massive file access requests generated by the FUSE to a remote machine. After remotely dissembling and assembling file data, the invention saves the files as key values into a memory cache cluster composed of a plurality of hosts via distributed memory storage software, so as to increase synchronous access capability. Meanwhile, the invention utilizes a distributed lock to avoid metadata damage problem due to massive synchronous access.

Description

檔案管理與存取系統及方法 File management and access system and method

本發明係關於一種檔案管理與存取系統及方法,特別是關於一種以分散式記憶體快取為儲存媒介的檔案管理與存取系統及方法。 The present invention relates to a file management and access system and method, and more particularly to a file management and access system and method using a distributed memory cache as a storage medium.

目前,資料處理流程(如:帳務處理)包含多階段的大量檔案處理與轉換,又每一階段會啟動多個相同處理程序平行處理以提升處理效率。此流程需要一儲存媒介在各階段間交換檔案,此儲存媒介需能在大量同步存取(concurrent access)下維持穩定的效率。現階段以網路檔案系統(Network File System,簡稱:NFS)作為儲存媒介的方法,在多個處理程序同時存取時會有明顯的效能減損。 At present, the data processing process (such as: accounting processing) contains a large number of multi-stage file processing and conversion, and each stage will initiate multiple parallel processing of the same processing program to improve processing efficiency. This process requires a storage medium to exchange files between stages that need to be able to maintain stable efficiency with a large amount of concurrent access. At this stage, the Network File System (NFS) is used as a storage medium method, and there are obvious performance impairments when multiple processors are simultaneously accessed.

透過單機的記憶體取代檔案系統來作為交換檔案的媒介可提昇效率,但有下列的限制:1. 需要一台配置大量記憶體的主機,成本昂貴;2. 速度受到最慢階段的制約,不適合運算密集型應用;以及 3. 不易擴充。 Replacing the file system with a single-machine memory as a medium for exchanging files can improve efficiency, but has the following limitations: 1. It requires a host with a large amount of memory, which is expensive; 2. Speed is limited by the slowest stage, not suitable Computationally intensive applications; 3. Not easy to expand.

針對網路與記憶體的速度不對等問題,在上述的應用中需要在短時間內大量讀寫遠端記憶體,所以會有網路速度和記憶體存取速度不一的考量。在美國專利公開案US 20140019680中,揭露了一可以客戶空間檔案系統為統一介面的異質檔案系統,但未考量透過網路進行大量遠端存取,因此在網路速度較低的環境下,會因為上述問題造成效能瓶頸。 In view of the problem that the speed of the network and the memory are not equal, in the above application, it is necessary to read and write a large amount of the remote memory in a short time, so there is a consideration of different network speeds and memory access speeds. In US Patent Publication No. US 20140019680, a heterogeneous file system that can be a unified interface of a client space file system is disclosed, but a large amount of remote access through a network is not considered, so in an environment with a low network speed, Because of the above problems, the performance bottleneck is caused.

另外,針對分散式環境中的元資料管理與更新問題,美國專利公開案US 20140040286揭露了一套結合各功能面向的分散式檔案系統的設計方法。然而,此專利公開案僅著重在檔案資料的轉換與正規化,並無解決同步存取的效率問題。在多客戶端大量存取的狀況下,此專利公開案並沒有提出解決同步衝突或保護的機制。 In addition, for the problem of metadata management and updating in a decentralized environment, U.S. Patent Publication No. US 20140040286 discloses a design method for a distributed file system that combines functions. However, this patent publication only focuses on the conversion and normalization of archival materials, and does not solve the problem of efficiency of synchronous access. In the case of massive access by multiple clients, this patent publication does not propose a mechanism to resolve synchronization conflicts or protection.

有鑑於上述習知技藝之問題,本發明之目的就是在提供一種檔案管理與存取系統及方法,藉以提升同步存取能力並避免大量同步存取造成元資料損壞。 In view of the above-mentioned problems of the prior art, the object of the present invention is to provide a file management and access system and method for improving synchronous access capability and avoiding metadata corruption caused by a large number of simultaneous accesses.

本發明之檔案管理與存取系統包含一客戶空間檔案系統介接元件、一客戶端傳輸中介元件以及一伺服器端傳輸中介元件。客戶空間檔案系統介接元件轉換一客戶空間檔案系統所發出之請求命令成為第一檔案處理單位;客戶端 傳輸中介元件包含一第一多重緩衝區,且接收第一檔案處理單位後,將第一檔案處理單位分別對應配置第一多重緩衝區之一部分,當第一多重緩衝區之一部份被寫滿時則傳輸第一多重緩衝區中之資料;伺服器端傳輸中介元件包含第二多重緩衝區,且根據第一檔案處理單位產生第二檔案處理單位,並將第二檔案處理單位分別對應配置第二多重緩衝區之一部分,當第二多重緩衝區之一部份被寫滿時則傳輸第二多重緩衝區中之資料。 The file management and access system of the present invention comprises a client space file system interface component, a client transport mediation component and a server-side transport mediation component. The client space file system interface component converts a request command issued by the client space file system to become the first file processing unit; the client The transport mediation component includes a first multiple buffer, and after receiving the first file processing unit, the first file processing unit is respectively configured to configure one of the first multiple buffers, and one part of the first multiple buffer When the data is full, the data in the first multiple buffer is transmitted; the server-side transport intermediary component includes a second multiple buffer, and the second file processing unit is generated according to the first file processing unit, and the second file is processed. The unit respectively configures one part of the second multiple buffer, and when one part of the second multiple buffer is filled, the data in the second multiple buffer is transmitted.

本發明之檔案管理與存取方法包含下列步驟:轉換客戶空間檔案系統所發出之請求命令成為第一檔案處理單位;將第一檔案處理單位分別對應配置第一多重緩衝區之一部分;當第一多重緩衝區之一部份被寫滿時則傳輸第一多重緩衝區中之資料;根據第一檔案處理單位產生第二檔案處理單位,並將第二檔案處理單位分別對應配置第二多重緩衝區之一部分;以及當第二多重緩衝區之一部份被寫滿時則傳輸第二多重緩衝區中之資料。 The file management and access method of the present invention comprises the steps of: converting a request command issued by a client space file system into a first file processing unit; and configuring a first file processing unit to respectively configure one of the first multiple buffers; Transmitting the data in the first multiple buffer when one of the multiple buffers is full; generating the second file processing unit according to the first file processing unit, and correspondingly configuring the second file processing unit One of the multiple buffers; and transmitting the data in the second multiple buffer when one of the second multiple buffers is full.

其中,第一多重緩衝區之一部分及第二多重緩衝區之一部分在寫入資料時,第一多重緩衝區之另一部分及第二多重緩衝區之另一部分可提供讀取。 Wherein, one of the first multiple buffer and one of the second multiple buffers are available for reading while the data is being written, another portion of the first multiple buffer and another portion of the second multiple buffer.

其中,第一多重緩衝區及第二多重緩衝區包含複數個緩衝子區,第一多重緩衝區及第二多重緩衝區的緩衝子區的其中兩者係交替使用,即為該第一多重緩衝區與該第二 多重緩衝區之一部分與另一部份,而剩餘之緩衝子區則用以暫存資料。 The first multiple buffer and the second multiple buffer comprise a plurality of buffer sub-regions, wherein two of the buffer regions of the first multiple buffer and the second multiple buffer are alternately used, that is, the First multiple buffer and the second One part of the multiple buffer and the other part, and the remaining buffer area is used to temporarily store the data.

其中,第一多重緩衝區及第二多重緩衝區交替使用的各二緩衝子區在被抹除時,若仍有資料未傳送,則將資料轉移至該些剩餘的緩衝子區暫存。 Wherein, when the two buffer sub-areas alternately used by the first multiple buffer and the second multiple buffer are erased, if data is still not transmitted, the data is transferred to the remaining buffer regions for temporary storage. .

其中,客戶端傳輸中介元件以及伺服器端傳輸中介元件非別更包含一傳輸元件,其係偵測該些剩餘的緩衝子區是否被填滿,且當該些剩餘的緩衝子區被填滿時,該傳輸元件即傳送暫存於該些剩餘的緩衝子區中的資料。 The client transport intermediate component and the server transport intermediate component further include a transport component, which detects whether the remaining buffer regions are filled, and when the remaining buffer regions are filled. The transmission element transmits the data temporarily stored in the remaining buffer sub-areas.

承上所述,依本發明之檔案管理與存取系統及方法,其可具有一或多個下述優點: As described above, the file management and access system and method according to the present invention may have one or more of the following advantages:

1. 相較於NFS難以在大量同步存取時維持效能,本發明揭露之技術有水平擴充能力,可隨客戶端數量增加而增加機器,提供更大更分散的記憶體快取以緩解大量同步存取需求。 1. Compared with NFS, it is difficult to maintain performance during a large number of simultaneous accesses. The technology disclosed by the present invention has horizontal expansion capability, which can increase the number of clients as the number of clients increases, and provides a larger and more distributed memory cache to alleviate a large number of synchronizations. Access requirements.

2. 過本發明所揭露之技術,能避免網路傳輸成為瓶頸,發揮記憶體應有之高效讀寫能力。 2. The technology disclosed in the present invention can avoid the network transmission as a bottleneck and play the efficient reading and writing ability of the memory.

3. 本發明利用緩衝元件(buffer)來緩衝不同元件的處理速度,再利用平行處理來盡量隱藏速度差異。 3. The present invention utilizes a buffer to buffer the processing speed of different components, and then uses parallel processing to hide the speed difference as much as possible.

1100‧‧‧客戶端 1100‧‧‧Client

1110‧‧‧應用程式 1110‧‧‧Application

1120‧‧‧檔案管理與存取系統 1120‧‧‧File Management and Access System

1121‧‧‧客戶空間檔案系統介面 1121‧‧‧Customer Space File System Interface

1122‧‧‧客戶端中介軟體 1122‧‧‧Client Intermediary Software

1130‧‧‧客戶端作業系統 1130‧‧‧Client Operating System

1131‧‧‧虛擬檔案系統 1131‧‧‧Virtual File System

1132‧‧‧客戶空間檔案系統 1132‧‧‧Customer Space File System

1133‧‧‧Unix檔案系統 1133‧‧‧Unix file system

1200‧‧‧伺服器端 1200‧‧‧ server side

1210‧‧‧檔案管理與存取系統 1210‧‧‧File Management and Access System

1211‧‧‧伺服器端中介軟體 1211‧‧‧Server-side mediation software

1220‧‧‧儲存記憶體軟體 1220‧‧‧Storage memory software

1230‧‧‧分散式記憶體快取 1230‧‧‧Distributed memory cache

2100‧‧‧檔案 2100‧‧‧Files

2101‧‧‧元資料 2101‧‧‧ Metadata

2012~2106‧‧‧區塊1~5 Blocks 1~5 from 2012~2106‧‧

2200‧‧‧鍵值儲存空間 2200‧‧‧Key value storage space

2201~2204‧‧‧鍵值 2201~2204‧‧‧ key value

2300‧‧‧鎖 2300‧‧‧Lock

3110、3210‧‧‧檔案處理單位 3110, 3210‧‧ ‧ file processing unit

3111、3211‧‧‧多重緩衝 3111, 3211‧‧‧ multiple buffering

3120、3220‧‧‧傳輸元件 3120, 3220‧‧‧ transmission components

4001~4006、5001~5005‧‧‧步驟 4001~4006, 5001~5005‧‧‧ steps

第1圖係為本發明之檔案管理與存取系統之系統架構示意圖。 Figure 1 is a schematic diagram of the system architecture of the file management and access system of the present invention.

第2圖係為本發明之檔案管理與存取方法之鍵值儲存方式示意圖。 Figure 2 is a schematic diagram of the key value storage mode of the file management and access method of the present invention.

第3圖係為本發明之檔案管理與存取系統之客戶端中介軟體及伺服器端中介軟體實施例示意圖。 FIG. 3 is a schematic diagram of an embodiment of a client intermediary software and a server-side intermediary software of the file management and access system of the present invention.

第4圖係為本發明之檔案管理與存取方法之寫入檔案實施例流程圖。 Figure 4 is a flow chart of an embodiment of writing a file for the file management and access method of the present invention.

第5圖係為本發明之檔案管理與存取系統之讀取檔案實施例流程圖。 Figure 5 is a flow chart of an embodiment of a file archive of the file management and access system of the present invention.

本發明之檔案管理與存取包含下列步驟:將對檔案的請求轉譯為對一或多個資料區塊的請求;在客戶端和伺服器端各建立一個配備多重緩衝(例如:第一多緩衝區及第二多重緩衝區)的檔案處理單元(例如:第一檔案處理單位及第二檔案處理單位);若客戶端需傳輸資料,將欲傳輸的資料寫入客戶端檔案處理單元的多重緩衝,伺服器端檔案處理單元偵測客戶端多重緩衝的變化,將資料拉取至伺服器端檔案處理單元;若為寫入請求,在寫入前需先取得所有上層資料夾的鎖,更新所有上層資料夾的元資料,並釋放上層資料夾的鎖;若為寫入請求,會先集結待寫入的資料區塊至一定大小後再寫入; 若為讀取請求,確認檔案並非在寫入中;若為讀取請求,會將要讀取的資料從儲存記憶體軟體讀出後存入伺服器端多重緩衝,客戶端檔案處理單元偵測客戶端多重緩衝的變化,將資料拉取至伺服器端檔案處理單元;若為寫入請求,取得欲讀寫檔案的鎖,更新該檔案的元資料,再釋放欲讀寫檔案的鎖;以及若為讀取請求,將區塊資料組裝成檔案。 The file management and access of the present invention comprises the steps of: translating a request for an archive into a request for one or more data blocks; establishing a multi-buffer on each of the client and the server (eg: first multi-buffering) The file processing unit of the area and the second multiple buffer (for example, the first file processing unit and the second file processing unit); if the client needs to transmit data, the data to be transmitted is written into the client file processing unit. Buffer, the server-side file processing unit detects the change of the client's multiple buffers, and pulls the data to the server-side file processing unit; if it is a write request, it needs to obtain all the upper-layer folder locks and update before writing. Metadata of all upper folders, and release the lock of the upper folder; if it is a write request, it will first collect the data block to be written to a certain size and then write; If it is a read request, the confirmation file is not being written; if it is a read request, the data to be read is read from the storage memory software and then stored in the server side multiple buffer, and the client file processing unit detects the client. The multi-buffer change changes the data to the server-side file processing unit; if it is a write request, obtains the lock of the file to be read and written, updates the metadata of the file, and releases the lock of the file to be read and written; As a read request, the block data is assembled into a file.

請參閱第1圖,其係示意本發明之檔案管理與存取系統1120&1210(Distributed Virtual Memory File System,簡稱:DVMFS)與作業系統、分散式記憶體快取間之互動。 Please refer to FIG. 1 , which illustrates the interaction between the file management and access system 1120&1210 (Distributed Virtual Memory File System, DVMFS) and the operating system and the decentralized memory cache.

當客戶端1100之應用程式1110發動一讀取檔案之請求時,此請求會傳送至客戶端作業系統的核心空間(Kernel Space)1130中的虛擬檔案系統1131(Virtual File System,簡稱:VFS),虛擬檔案系統辨識此請求之檔案位於掛載檔案管理與存取系統的目錄,因此將此請求傳送至客戶空間檔案系統1132(Filesystem in Userspace,簡稱:FUSE),而非Unix檔案系統(Unix File System)1133。客戶空間檔案系統1132可接受虛擬檔案系統的檔案請求,因此可允許提供應用程式1110通透(transparent)的操作檔案。客戶空間檔案系統1132將此請求傳送至客戶端的檔案管理與存取系統1120的客戶空間檔案系統介面1121(亦為本發明所稱之客戶空間檔案系統介接元件),客戶空間檔案系統介面1121轉譯客戶空間檔 案系統1132的請求,將請求遞給客戶端中介軟體1122(Middleware,亦為本發明所稱之客戶端傳輸中介元件)。客戶端中介軟體1122發送讀取檔案的要求給伺服器端1200的檔案管理與存取系統1210的伺服器端中介軟體1211(亦為本發明所稱之伺服端傳輸中介元件),伺服器端中介軟體1211檢查檔案的鎖(Lock)確保無讀寫衝突後,計算出此檔案的鍵值區段,透過儲存記憶體軟體1220(Memory Storage Software)從分散式記憶體快取1230取得所需的檔案片段,當檔案片段位元碼集結至一定大小、或集結結束後會透過網路批次傳送至客戶端1100的檔案管理與存取系統1120中的客戶端中介軟體1122。在傳送的同時會啟動多重緩衝機制,伺服器端中介軟體1211可在傳送時從儲存記憶體軟體1220繼續取得所需的檔案片段位元碼,不會因傳輸而中斷處理。客戶端中介軟體1122在接收時也會啟動多重緩衝機制,一方面將資料回傳給客戶空間檔案系統介面1121,另一方面也等待伺服器端中介軟體1211準備的下一個資料區段。當客戶空間檔案系統介面1121接收到所有請求之資料後,再傳送至客戶空間檔案系統1132,再傳送至虛擬檔案系統1131,再回傳給應用程式1110。 When the application 1110 of the client 1100 initiates a request to read the file, the request is transmitted to the virtual file system 1131 (VFS) in the core space (Kernel Space) 1130 of the client operating system. The virtual file system recognizes that the file of this request is located in the directory where the file management and access system is mounted, so the request is transmitted to the client system file system 1132 (Filesystem in Userspace, FUSE for short) instead of the Unix file system. ) 1133. The client space file system 1132 can accept file requests for the virtual file system, thus allowing application 1110 transparent operational files to be provided. The client space file system 1132 transmits the request to the client space file system interface 1121 of the file management and access system 1120 of the client (also referred to as the client space file system interface component of the present invention), and the client space file system interface 1121 translates. Customer space file The request of the file system 1132 forwards the request to the client mediation software 1122 (Middleware, also referred to as the client transport mediation component of the present invention). The client intermediary software 1122 sends a request for reading the file to the server-side mediation software 1211 of the file management and access system 1210 of the server 1200 (also referred to as the server-side transport intermediary component of the present invention), and the server-side intermediary The software 1211 checks the lock of the file (Lock) to ensure that there is no read/write conflict, and calculates the key value section of the file, and obtains the required file from the distributed memory cache 1230 through the memory storage software 1220 (Memory Storage Software). The fragment is transmitted to the client intermediary software 1122 in the file management and access system 1120 of the client 1100 via the network batch when the file fragment bit code is aggregated to a certain size or after the assembly is completed. The multi-buffer mechanism is activated at the same time of transmission, and the server-side mediation software 1211 can continue to obtain the required file segment bit code from the storage memory software 1220 during transmission without interrupting the processing due to the transmission. The client mediation software 1122 also initiates a multiple buffering mechanism upon receiving, on the one hand, the data is passed back to the client space file system interface 1121, and on the other hand, the next data segment prepared by the server-side mediation software 1211 is also waiting. After the client space file system interface 1121 receives all the requested data, it transmits it to the client space file system 1132, transfers it to the virtual file system 1131, and transmits it back to the application 1110.

當客戶端1100之應用程式1110發動一寫入檔案之請求時,此請求及待寫入之資料會會傳送至客戶端作業系統的Kernel Space1130中的虛擬檔案系統虛擬檔案系統,1131,虛擬檔案系統辨識此請求之檔案位於掛載檔案管理與 存取系統的目錄,因此將此請求傳送至客戶空間檔案系統1132,而非Unix File System 1133。客戶空間檔案系統1132可接受虛擬檔案系統的檔案請求,因此可允許提供應用程式1110通透(transparent)的操作檔案。客戶空間檔案系統1132將此請求傳送至檔案管理與存取系統客戶端1120的客戶空間檔案系統介面1121,客戶空間檔案系統介面1121轉譯客戶空間檔案系統1132的請求,將請求遞給客戶端中介軟體1122。客戶端中介軟體1122集結客戶空間檔案系統介面1121收到的寫入資料,當資料集結至一定大小、或集結結束後,透過網路批次傳送至伺服器端1200的檔案管理與存取系統1210中的伺服器端中介軟體1211。客戶端中介軟體1122並同時啟動多重緩衝機制,在傳輸時繼續收集從客戶空間檔案系統介面1121來的資料,伺服器端中介軟體1211鎖定並更新上層資料夾的元資料(Metadata)來確保無讀寫衝突及元資料的一致性後,計算檔案區段對應的鍵值區段,透過儲存記憶體軟體1220將資料寫入分散式記憶體快取1230,同時伺服器端中介軟體1211也啟動多重緩衝機制,同時處理客戶端中介軟體1122下一個資料區段的寫入要求。當檔案寫入完成時,再鎖定並更新檔案的元資料。 When the application 1110 of the client 1100 initiates a request to write a file, the request and the data to be written are transmitted to the virtual file system virtual file system in the Kernel Space 1130 of the client operating system, 1131, the virtual file system. The file identifying this request is located in the mounted file management and The system's directory is accessed, so this request is passed to the customer space file system 1132 instead of the Unix File System 1133. The client space file system 1132 can accept file requests for the virtual file system, thus allowing application 1110 transparent operational files to be provided. The client space file system 1132 transmits the request to the client space file system interface 1121 of the file management and access system client 1120. The client space file system interface 1121 translates the request from the client space file system 1132 and hands the request to the client mediation software. 1122. The client mediation software 1122 aggregates the written data received by the client space file system interface 1121. When the data is aggregated to a certain size or after the aggregation is completed, the file management and access system 1210 is transmitted to the server terminal 1200 through the network batch. Server-side mediation software 1211. The client mediation software 1122 simultaneously starts the multiple buffering mechanism, and continues to collect the data from the client space file system interface 1121 during the transmission, and the server-side mediation software 1211 locks and updates the metadata of the upper layer folder (Metadata) to ensure no reading. After writing the conflict and the consistency of the meta-data, the key value segment corresponding to the file segment is calculated, and the data is written into the decentralized memory cache 1230 through the storage memory software 1220, and the server-side mediation software 1211 also starts multi-buffering. The mechanism processes the write request of the next data segment of the client mediation software 1122 at the same time. When the file is written, the metadata of the file is locked and updated.

以下再說明伺服器端中介軟體1211計算檔案的鍵值區段並透過儲存記憶體軟體1220將檔案相關資料以鍵值(Key-Value)方式存入/讀出分散式記憶體快取1230的過程。 Hereinafter, the process of the server-side mediation software 1211 calculating the key value section of the file and storing the file-related data in the key memory (Key-Value) by the storage memory software 1220 into/reading the distributed memory cache 1230 is described. .

可寫入檔案管理與存取系統的檔案分為兩種,一種為普通檔案,一種為檔案資料夾。每個檔案對應到檔案管理與存取系統裡的三種資料:元資料(Metadata)、資料(Data)、鎖(Lock):元資料:跟檔案有關係的基本資料,如檔案的權限、大小、建立時間、最後修改時間。資料夾檔案的元資料包含此資料夾底下的檔案名稱,以支援遍歷樹法(Tree Traverse)。 There are two types of files that can be written to the file management and access system, one is a common file, and the other is a file folder. Each file corresponds to three kinds of data in the file management and access system: Metadata, Data, and Lock: Metadata: Basic data related to the file, such as the permissions and size of the file. Establish time, last modified time. The metadata of the folder file contains the file name under this folder to support the Tree Traverse.

資料:檔案的內容,以檔案區塊(block)作為存取的單位,一個檔案由一或多個檔案區塊所組成。 Data: The content of the file, with the file block as the access unit, and one file consists of one or more file blocks.

鎖:保護元資料的存取,確保不會因為大量同步存取造成元資料損壞。 Lock: Protects access to metadata, ensuring that metadata is not corrupted due to large amounts of simultaneous access.

以上資料由伺服器端中介軟體1211存入分散式記憶體快取1230的鍵值如下:元資料:每個元資料對應到一個分散式記憶體快取的鍵值組合,鍵為該檔案的路徑或由路徑所計算出的值,值為元資料內容。 The above data is stored in the decentralized memory cache 1230 by the server-side mediation software 1211. The key values are as follows: meta-data: each meta-data corresponds to a decentralized memory cache key combination, and the key is the path of the file. Or the value calculated by the path, the value is the metadata content.

資料:將多個檔案區塊集結成一個較大資料區塊後再存入分散式記憶體快取,因此單個分散式記憶體快取的鍵值組合中可包含多個檔案區塊。此批次寫入作法可減少分散式記憶體快取的存取次數。鍵為「該檔案的路徑,所儲存的檔案區塊範圍或列表」或由其計算出的值。 Data: Multiple file blocks are aggregated into one large data block and then stored in a decentralized memory cache. Therefore, a single distributed memory cache key combination can contain multiple file blocks. This batch write practice reduces the number of accesses to the decentralized memory cache. The key is "the path of the file, the range or list of saved files" or the value calculated by it.

鎖:每個鎖對應到一個分散式記憶體快取的鍵值組合。鍵為 基於該檔案的路徑所計算出的值,值內容可自訂(如:1為上鎖中、0為無上鎖)。 Lock: Each lock corresponds to a key-value combination of a decentralized memory cache. Key is Based on the value calculated by the path of the file, the value content can be customized (for example, 1 is locked and 0 is unlocked).

在寫入及刪除檔案時會利用鎖確保無讀寫衝突及元資料的一致性,寫入資料的過程如下:取得該檔案上層資料夾的鎖;更新上層資料夾的元資料;釋放上層資料夾的鎖;寫入資料;待該檔案所有資料都寫入後,取得該檔案的鎖;寫入檔案的元資料;以及釋放該檔案的鎖。 When writing and deleting files, locks are used to ensure no read/write conflicts and metadata consistency. The process of writing data is as follows: obtaining the lock of the upper folder of the file; updating the metadata of the upper folder; releasing the upper folder Lock; write data; after all the data of the file is written, obtain the lock of the file; write the metadata of the file; and release the lock of the file.

刪除資料的過程如下:取得該檔案上層資料夾的鎖;刪除此檔案在資料夾內的記錄;更新上層資料夾的元資料;釋放上層資料夾的鎖;取得該檔案的鎖;取得並刪除檔案在遠端的元資料;釋放該檔案的鎖;依照剛剛快取下來該檔案的元資料,計算出所有的資料對應鍵值;以及刪除所有資料。 The process of deleting the data is as follows: obtaining the lock of the upper folder of the file; deleting the record of the file in the folder; updating the metadata of the upper folder; releasing the lock of the upper folder; obtaining the lock of the file; obtaining and deleting the file Metadata at the far end; release the lock of the file; calculate the key value corresponding to all the data according to the metadata of the file just taken out; and delete all the data.

請參考第3圖,本圖揭露檔案管理與存取系統之客戶端中介軟體1122與伺服器端中介軟體1211的較佳實施方式。 Please refer to FIG. 3, which illustrates a preferred embodiment of the client-side mediation software 1122 and the server-side mediation software 1211 of the file management and access system.

客戶端中介軟體1122內包含一至多個檔案處理單位3110及一個單執行緒的傳輸元件3120。每個檔案處理單位3110僅處理一個來自客戶空間檔案系統介面1121的檔案請求,若同時有兩個以上的檔案請求,會由多個檔案處理單位3110分別處理。每個檔案處理單位3110包含一個多重緩衝3111,多重緩衝3111中包含至少兩個固定大小的緩衝區,當其中一個緩衝區在寫入資料時,傳輸元件3120可以同時送出其他已被填滿緩衝區的資料,以減少緩衝延遲。傳輸元件3120只在緩衝區已滿或檔案處理單位3110要求傳送時通常是在資料寫入結束時才傳送資料,以提升網路傳輸效率。傳輸元件3120只包含一個獨立的執行緒處理,一方面是減少執行緒的使用提高穩定度,另一方面因為緩衝技術的使用,使得網路頻寬可以最大化,在這個狀況下額外的執行緒不會增加太大的效能。 The client mediation software 1122 includes one or more file processing units 3110 and a single threaded transmission component 3120. Each file processing unit 3110 processes only one file request from the client space file system interface 1121. If there are more than two file requests at the same time, it will be processed by multiple file processing units 3110. Each file processing unit 3110 includes a multi-buffer 3111, and the multi-buffer 3111 contains at least two fixed-size buffers. When one of the buffers is writing data, the transport component 3120 can simultaneously send other filled buffers. Information to reduce buffer delays. The transmission component 3120 transmits data only when the buffer is full or the file processing unit 3110 requests the transmission, so as to improve the network transmission efficiency. The transport component 3120 only contains a separate thread processing, on the one hand to reduce the use of the thread to improve stability, and on the other hand, because of the use of the buffer technology, the network bandwidth can be maximized, in this case additional threads Will not increase too much performance.

伺服器端中介軟體1211內包含一至多個檔案處理單位3210及一個單執行緒的傳輸元件3220。每個檔案處理單位3210僅處理一個來自傳輸元件3120的資料回傳請求,若同時有兩個以上的資料回傳請求,會由多個檔案處理單位3210分別處理。每個檔案處理單位3210包含一個多重緩衝 3211,多重緩衝3211中包含至少兩個固定大小的緩衝區,當其中一個緩衝區在寫入資料時,傳輸元件3220可以同時送出其他已被填滿緩衝區的資料,以減少緩衝延遲。傳輸元件3220只在緩衝區已滿或檔案處理單位3210要求傳送時通常是在資料寫入結束時才會傳送資料,以提升網路傳輸效率。傳輸元件2330只包含一個獨立的執行緒處理,一方面是減少執行緒的使用提高穩定度,另一方面因為緩衝技術的使用,使得網路頻寬可以最大化,在這個狀況下額外的執行緒不會有太大的效能增加。在每個資料回傳請求中,傳輸元件3220可能需向儲存記憶體軟體1220要求一或多個鍵值。 The server-side mediation software 1211 includes one or more file processing units 3210 and a single-threaded transmission component 3220. Each file processing unit 3210 processes only one data return request from the transmission component 3120. If there are more than two data return requests at the same time, it is processed by multiple file processing units 3210. Each file processing unit 3210 contains a multiple buffer 3211. The multi-buffer 3211 includes at least two fixed-size buffers. When one of the buffers is writing data, the transmission component 3220 can simultaneously send other data that has been filled in the buffer to reduce the buffering delay. The transmission component 3220 transmits data only when the buffer is full or the file processing unit 3210 requests transmission, usually at the end of data writing, to improve network transmission efficiency. The transport component 2330 only includes a separate thread processing, on the one hand to reduce the use of the thread to improve stability, and on the other hand, because of the use of the buffer technology, the network bandwidth can be maximized, in this case additional threads There won't be much performance gains. In each data backhaul request, the transport component 3220 may need to request one or more key values from the storage memory software 1220.

多重緩衝3111&3211一般是兩個緩衝區輪流使用,但亦可使用兩個以上的緩衝區。一較佳之實施方式是開啟客戶空間檔案系統1132的big_write選項,則客戶空間檔案系統1132會透過客戶空間檔案系統介面1121以多執行緒方式同時對客戶端中介軟體1122發出讀取請求,以加速讀取效率。然而多執行緒會導致非線性的使用多重緩衝,亦即緩衝內容並非循序使用,導致當緩衝尾端內容被消耗完時,並不能保證緩衝頭部內容已被消耗。因此可採用第三個緩衝作為暫存,將原本要被抹除的資料暫存到第三個緩衝,以避免抹除掉未被消耗掉的資料。若採用此法,在從多重緩衝讀取資料時,若未能在預設的兩個緩衝區中發現資料,亦必須再搜尋第三個緩衝區。同理,可再新增第四個、第五個、甚至更 多個緩衝區作為暫存,以配合客戶空間檔案系統big_write選項的平行效果。 Multiple buffers 3111 & 3211 are generally used in two buffers, but more than two buffers can be used. In a preferred embodiment, the big_write option of the client space file system 1132 is enabled, and the client space file system 1132 sends a read request to the client mediation software 1122 in a multi-thread mode through the client space file system interface 1121 to speed up reading. Take efficiency. However, multiple threads can cause non-linear use of multiple buffers, that is, the buffer contents are not used sequentially, so that when the buffer tail content is consumed, there is no guarantee that the buffer header content has been consumed. Therefore, the third buffer can be used as a temporary storage, and the data to be erased is temporarily stored in the third buffer to avoid erasing the unconsumed data. If this method is used, if the data is not found in the preset two buffers when reading data from multiple buffers, the third buffer must be searched. Similarly, you can add a fourth, fifth, or even more Multiple buffers are staged to match the parallel effect of the client space file system big_write option.

一較佳之實施方式是採用Memcached作為儲存記憶體軟體1220。Memcached是一套頗負盛名的開源記憶體儲存軟體,支援多種語言介面的鍵值存取,為許多網路系統快取功能的的首選,相對其他記憶體快取如:Redis也有效能優勢。 A preferred embodiment uses Memcached as the storage memory software 1220. Memcached is a well-known open source memory storage software that supports multi-language interface key-value access. It is the first choice for many network system cache functions. Compared with other memory caches, Redis is also effective.

客戶空間檔案系統介面1121負責讀寫請求的轉譯,一較佳之實施方式是將資料讀寫請求{路徑,偏移,資料大小}轉譯成{路徑,{資料區塊編號}}的請求,轉譯公式為:資料區塊編號=偏移/資料區塊大小,若偏移加上所需資料大小超過一個資料區塊的大小,則需要同時要求多個資料區塊。 The client space file system interface 1121 is responsible for the translation of the read and write requests. A preferred implementation is a request to translate the data read and write request {path, offset, data size} into {path, {data block number}}, translation formula For: data block number = offset / data block size, if the offset plus the required data size exceeds the size of one data block, you need to request multiple data blocks at the same time.

一較佳的鍵值儲存方式為:元資料:鎖格式為[路徑] A preferred key value storage method is: Metadata: The lock format is [Path]

資料:鎖格式為[區塊編號起始值:區塊編號結束值:路徑],如1:250:/data/doc.txt儲存/data/doc.txt檔案的第1~250個檔案區塊。 Data: The lock format is [block number start value: block number end value: path], such as 1:250:/data/doc.txt to store the 1~250 file blocks of the /data/doc.txt file. .

鎖:鍵(key)格式為[L:路徑]。 Lock: The key format is [L: Path].

請參考第2圖,其係一範例說明此較佳的鍵值儲存方式,一路徑為abc.txt的檔案2100之元資料2101對應到鍵值儲存空間2200的鍵為abc.txt2201; 若此檔案之區塊1至區塊42102-2105儲存於鍵值儲存空間2200的鍵為1:4:abc.txt2202;若此檔案之區塊5 2106儲存於鍵值儲存空間2200的鍵為5:abc.txt2203;以及此檔案之鎖2300儲存於鍵值儲存空間2200的鍵為L:abc.txt2204。 Please refer to FIG. 2, which is an example of the preferred key value storage mode. The file 2100 of the file 2100 with a path of abc.txt corresponds to the key value storage space 2200. The key is abc.txt2201; If the block 1 to block 42102-2105 of the file is stored in the key value storage space 2200, the key is 1:4:abc.txt2202; if the file block 5 2106 is stored in the key value storage space 2200, the key is 5 :abc.txt2203; and the lock of the file 2300 stored in the key value storage space 2200 is L:abc.txt2204.

以下說明檔案讀寫在客戶端中介軟體1122與伺服器端中介軟體1211的處理方式。 The following describes the processing method of the file reading and writing in the client intermediary software 1122 and the server side intermediary software 1211.

寫入檔案之實例(使用cp指令將一個檔案由客戶端的原生檔案系統複製到檔案管理與存取系統),請參閱第4圖說明:客戶端應用程式1110送出一cp/src/abc.txt/dest/folder/abc.txt的指令至kernel1130,kernel1130判斷目標目錄/dest或/dest/folder掛載的檔案系統為檔案管理與存取系統,因此把檔案寫入請求導至客戶空間檔案系統介面1121。 寫入請求的格式為:{路徑,偏移,要寫入的資料大小}。如若偏移為20KB,要寫入的資料大小為1KB,表示該請求要寫入的資料是該檔案的第20KB至21KB的資料。 An example of writing a file (using the cp command to copy a file from the client's native file system to the file management and access system), see Figure 4: The client application 1110 sends a cp/src/abc.txt/ The dest/folder/abc.txt command goes to kernel1130. Kernel1130 determines that the file system mounted in the target directory /dest or /dest/folder is the file management and access system, so the file write request is directed to the client space file system interface 1121. . The format of the write request is: {path, offset, size of the data to be written}. If the offset is 20 KB, the size of the data to be written is 1 KB, indicating that the data to be written by the request is the 20th to 21KB of the file.

步驟4001:客戶空間檔案系統介面1121將資料寫入請求轉譯成{路徑,{資料區塊編號}}的請求,轉譯公式為資料區塊編號=偏移/資料區塊大小,若偏移加上所需資料大小超過一個資料區塊的大小,則同時要求多個資料區塊,並 要求客戶端中介軟體1122取得這些資料區塊。 Step 4001: The client space file system interface 1121 translates the data write request into a request of {path, {data block number}}, and the translation formula is data block number=offset/data block size, if offset plus If the required data size exceeds the size of one data block, multiple data blocks are required at the same time, and The client intermediary software 1122 is required to obtain these data blocks.

步驟4002:客戶端中介軟體1122接獲請求後,建立一個檔案處理單位3110,並配置一多重緩衝3111,要求客戶空間檔案系統介面1121將資料寫入多重緩衝3111。並將寫入請求傳送給伺服器端中介軟體1211,並要求伺服器端中介軟體1211建立一個檔案處理單位3210,並配置一多重緩衝3211來等待接收待寫入的資料。 Step 4002: After receiving the request, the client mediation software 1122 creates an archive processing unit 3110 and configures a multiple buffer 3111 to request the client space file system interface 1121 to write the data into the multiple buffer 3111. The write request is transmitted to the server-side mediation software 1211, and the server-side mediation software 1211 is required to establish an archive processing unit 3210, and a multi-buffer 3211 is configured to wait to receive the data to be written.

步驟4003:伺服器端傳輸元件3220在多重緩衝3211中任一緩衝區已滿或檔案處理單位3210要求傳送時通常是在資料寫入結束時,會將寫入請求{路徑,{資料區塊編號},緩衝區資料}傳送至儲存記憶體軟體1220。 Step 4003: The server-side transmission component 3220 will write the request {path, {data block number when the buffer in the multiple buffer 3211 is full or the file processing unit 3210 requests to transmit, usually at the end of the data writing. }, the buffer data} is transferred to the storage memory software 1220.

步驟4004:若此寫入請求是該路徑的第一個收到的緩衝區資料即為該檔案的第一次寫入,則會先向儲存記憶體軟體1220依序發出以下請求:Get“L:/dest”若結果為1表示有其他程序正在更新此目錄,需等候一段時間再重試;若結果為0則進行下一步;Put“L:/dest”,1,取得此目錄的鎖;Put“/dest”,Get“L:/dest”.append“folder”,修改/dest目錄的元資料;Put“L:/dest”,0,釋放此目錄的鎖;Get“L:/dest/folder”若結果為1表示有其他程序正在更新此目錄,需等候一段時間再重試;若結果為0則進行下一步; Put“L:/dest/folder”,1,取得此目錄的鎖;Put“/dest/folder”,Get“L:/dest/folder”.append“abc.txt”,修改/dest/folder目錄的元資料;以及Put“L:/dest/folder”,0,釋放此目錄的鎖。 Step 4004: If the write request is the first buffer data received by the path, that is, the first write of the file, the following request is first sent to the storage memory software 1220: Get "L" :/dest" If the result is 1 indicating that another program is updating this directory, wait for a while and try again; if the result is 0, proceed to the next step; Put "L:/dest", 1, to obtain the lock of this directory; Put "/dest", Get "L:/dest".append "folder", modify the metadata of the /dest directory; Put "L:/dest", 0, release the lock of this directory; Get "L:/dest/ Folder" If the result is 1 indicating that other programs are updating this directory, wait for a while and try again; if the result is 0, proceed to the next step; Put "L:/dest/folder", 1, get the lock of this directory; Put "/dest/folder", Get "L:/dest/folder".append "abc.txt", modify the /dest/folder directory Metadata; and Put "L:/dest/folder", 0, releases the lock for this directory.

步驟4005:伺服器端傳輸元件3220依區塊序集結緩衝區資料,當集結滿1MB Memcached單筆資料的大小上限或集結至該檔案最後一個區塊,則向儲存記憶體軟體1220發出寫入資料的要求。如集結的是該檔案的第1-250個區塊,則寫入要求為:Write“1:250:/dest/folder/abc.txt”,第1-250個區塊的二進位資料。 Step 4005: The server-side transmission component 3220 aggregates the buffer data according to the block sequence. When the upper limit of the size of the 1 MB Memcached single data is aggregated or assembled to the last block of the file, the write data is sent to the storage memory software 1220. Requirements. If the block is the 1-250th block of the file, the write request is: Write "1:250:/dest/folder/abc.txt", the binary data of the 1-250th block.

步驟4006:伺服器端傳輸元件3220待該檔案內容全部寫入後,向儲存記憶體軟體1220依序發出以下請求:Get“L:/dest/folder/abc.txt”若結果為1表示有其他程序正在更新此檔案的元資料,需等候一段時間再重試;若結果為0則進行下一步;Put“L:/dest/folder/abc.txt”,1,取得此檔案的鎖;以及Put“/dest/folder/abc.txt”,Metadata,修改/dest目錄的元資料,元資料內容包括檔案的權限、大小、建立時間、最後修改時間。 Step 4006: After the server-side transmission component 3220 writes all the contents of the file, the following request is sequentially sent to the storage memory software 1220: Get "L:/dest/folder/abc.txt", if the result is 1, it indicates that there are other The program is updating the metadata of this file, waiting for a while and then retrying; if the result is 0, proceed to the next step; Put "L:/dest/folder/abc.txt", 1, get the lock of this file; and Put "/dest/folder/abc.txt", Metadata, modify the meta-data of the /dest directory. The metadata includes the permissions, size, creation time, and last modification time of the file.

讀取檔案之實例(使用cp指令將一個檔案從檔案管理與存取系統複製至客戶端的原生檔案),請參閱第5圖說明: 客戶端應用程式1110送出一cp/src/abc.txt/dest/abc.txt的指令至kernel1130,此指令從檔案管理與存取系統讀取/src/abc.txt複製成客戶端檔案系統的/dest/abc.txt,kernel判斷來源目錄/src掛載的檔案系統為檔案管理與存取系統,因此把檔案寫入請求導至客戶空間檔案系統介面1121。讀取請求的格式為:{路徑,偏移,要讀取的資料大小}。 An example of reading a file (using a cp command to copy a file from the file management and access system to the client's native file), see Figure 5 for instructions: The client application 1110 sends a command of cp/src/abc.txt/dest/abc.txt to kernel1130, which is copied from the file management and access system/src/abc.txt into the client file system/ Dest/abc.txt, the kernel determines that the file system mounted in the source directory/src is the file management and access system, so the file write request is directed to the client space file system interface 1121. The format of the read request is: {path, offset, size of the data to be read}.

步驟5001:客戶空間檔案系統介面(1121)將資料寫入請求轉譯成{路徑,{資料區塊編號}}的請求,轉譯公式為資料區塊編號=偏移/資料區塊大小,若偏移加上所需資料大小超過一個資料區塊的大小,則同時要求多個資料區塊。 Step 5001: The client space file system interface (1121) translates the data write request into a {path, {data block number}} request, and the translation formula is data block number=offset/data block size, if offset In addition, if the required data size exceeds the size of one data block, multiple data blocks are required at the same time.

步驟5002:客戶端中介軟體1122接獲請求後,建立一個檔案處理單位3110,並配置一多重緩衝3111,準備接收來自於伺服器端中介軟體1211的資料。並將讀取請求傳送給伺服器端中介軟體1211,並要求伺服器端中介軟體1211建立一個檔案處理單位3210,並配置一多重緩衝3211來等待伺服器端傳輸元件3220寫入資料。 Step 5002: After receiving the request, the client mediation software 1122 creates an archive processing unit 3110 and configures a multiple buffer 3111 to prepare to receive data from the server-side mediation software 1211. The read request is transmitted to the server-side mediation software 1211, and the server-side mediation software 1211 is required to establish an archive processing unit 3210, and a multi-buffer 3211 is configured to wait for the server-side transport component 3220 to write data.

步驟5003:伺服器端傳輸元件3220向儲存記憶體軟體1220發出讀取元資料的請求:Get“L:/src/abc.txt”,確認檔案並未在寫入中。及依序讀取各個資料區塊的請求,並寫入伺服器端傳輸元件的多重緩衝3211,例如多重緩衝一開始是空的話就讀取Buffer量的大小:Get“1:100/src/abc.txt”,如果多重緩衝裡面有1:100則讀取接下來的資料區塊: Get“101:200/src/abc.txt”。 Step 5003: The server-side transmission component 3220 issues a request to read the metadata to the storage memory software 1220: Get "L:/src/abc.txt", confirming that the file is not being written. And sequentially read the request of each data block, and write to the multi-buffer 3211 of the server-side transmission component. For example, if the multi-buffer is empty at the beginning, the size of the Buffer is read: Get "1:100/src/abc .txt", if there is 1:100 in the multi-buffer, read the next data block: Get "101:200/src/abc.txt".

步驟5004:在Double Buffer 3211中任一緩衝區已滿或已讀取到所有資料區塊時,會將緩衝區資料傳送至客戶端檔案處理單位3110的多重緩衝3111。 Step 5004: When any of the buffers in the Double Buffer 3211 is full or all the data blocks have been read, the buffer data is transferred to the multiple buffer 3111 of the client file processing unit 3110.

步驟5005:客戶空間檔案系統1132透過客戶空間檔案系統介面1121取得多重緩衝3111中的資料,待所有資料都取得後,生成一個檔案,由虛擬檔案系統1131將檔案資料寫入/dest/abc.txt。 Step 5005: The client space file system 1132 obtains the data in the multiple buffer 3111 through the client space file system interface 1121. After all the data is obtained, a file is generated, and the file file is written by the virtual file system 1131 to /dest/abc.txt. .

綜上所述,本發明之檔案管理與存取系統及方法,相較於NFS難以在大量同步存取時維持效能,本發明具有水平擴充的能力,可隨客戶端數量增加而增加機器,提供更大更分散的記憶體快取以緩解大量同步存取需求。且透過本發明更能避免網路傳輸成為瓶頸,發揮記憶體應有之高效讀寫能力。。 In summary, the file management and access system and method of the present invention is more difficult to maintain performance in a large number of simultaneous accesses compared to NFS. The present invention has the capability of horizontal expansion, which can increase the number of clients and increase the number of clients. Larger and more fragmented memory caches to alleviate a large number of simultaneous access needs. Moreover, through the invention, the network transmission can be prevented from becoming a bottleneck, and the efficient reading and writing ability of the memory should be exerted. .

以上所述僅為舉例性,而非為限制性者。任何未脫離本發明之精神與範疇,而對其進行之等效修改或變更,均應包含於後附之申請專利範圍中。 The above is intended to be illustrative only and not limiting. Any equivalent modifications or alterations to the spirit and scope of the invention are intended to be included in the scope of the appended claims.

5001~5005‧‧‧步驟 5001~5005‧‧‧Steps

Claims (10)

一種檔案管理與存取系統,包含:一客戶空間檔案系統介接元件,轉換一客戶空間檔案系統所發出之複數個請求命令成為複數個第一檔案處理單位;一客戶端傳輸中介元件,包含一第一多重緩衝區,且接收該些第一檔案處理單位後,將各該第一檔案處理單位分別對應配置該第一多重緩衝區之一部分,當該第一多重緩衝區之一部份被寫滿時,則傳輸該第一多重緩衝區之一部份之資料;以及一伺服器端傳輸中介元件,包含一第二多重緩衝區,且根據該些第一檔案處理單位產生複數個第二檔案處理單位,並將各該第二檔案處理單位分別對應配置該第二多重緩衝區之一部分,當該第二多重緩衝區之一部份被寫滿時則傳輸該第二多重緩衝區之一部份之資料。 A file management and access system comprises: a client space file system interface component, converting a plurality of request commands issued by a client space file system into a plurality of first file processing units; and a client transport intermediary component comprising one a first multiple buffer, and after receiving the first file processing units, respectively configuring each of the first file processing units to configure one of the first multiple buffers, and one of the first multiple buffers Transmitting a portion of the first multiple buffer when the portion is full; and transmitting a mediation component to the server, including a second multiple buffer, and generating the first file processing unit according to the first file processing unit a plurality of second file processing units, and each of the second file processing units respectively corresponding to one part of the second multiple buffer, and transmitting the first part when the second multiple buffer is full Information on one part of the two multiple buffers. 根據申請專利範圍第1項之檔案管理與存取系統,其中該第一多重緩衝區之一部分及該第二多重緩衝區之一部分在寫入資料時,該第一多重緩衝區之另一部分及該第二多重緩衝區之另一部分可提供讀取。 According to the file management and access system of claim 1, wherein one of the first multiple buffer and one of the second multiple buffers are written in the data, the first multiple buffer is another A portion and another portion of the second multiple buffer can provide read. 根據申請專利範圍第2項之檔案管理與存取系統,其中該第一多重緩衝區及該第二多重緩衝區包含複數個緩衝子區,該些緩衝子區的其中兩者係交替使用,即為該第一多重緩衝 區與該第二多重緩衝區之一部分與另一部份,而剩餘之緩衝子區則用以暫存資料。 According to the file management and access system of claim 2, wherein the first multiple buffer and the second multiple buffer comprise a plurality of buffer sub-areas, wherein two of the buffer sub-areas are alternately used That is the first multiple buffer The area and one part of the second multiple buffer and the other part, and the remaining buffer area is used for temporary storage of data. 根據申請專利範圍第3項之檔案管理與存取系統,其中交替使用的該二緩衝子區在被抹除時若仍有資料未傳送,則將資料轉移至該些剩餘的緩衝子區暫存。 According to the file management and access system of claim 3, wherein the two buffer sub-areas that are used alternately are transferred to the remaining buffer sub-areas if the data is not transmitted when being erased. . 根據申請專利範圍第3項之檔案管理與存取系統,其中更包含一傳輸元件,其係偵測該些剩餘的緩衝子區是否被填滿,且當該些剩餘的緩衝子區被填滿時,該傳輸元件即傳送暫存於該些剩餘的緩衝子區中的資料。 According to the file management and access system of claim 3, further comprising a transmission component, detecting whether the remaining buffer sub-areas are filled, and when the remaining buffer sub-areas are filled The transmission element transmits the data temporarily stored in the remaining buffer sub-areas. 一種檔案管理與存取方法,包含:轉換一客戶空間檔案系統所發出之複數個請求命令成為複數個第一檔案處理單位;將各該第一檔案處理單位分別對應配置一第一多重緩衝區之一部分;當該第一多重緩衝區之一部份被寫滿時,則傳輸該第一多重緩衝區之一部份之資料;根據該些第一檔案處理單位產生複數個第二檔案處理單位,並將各該第二檔案處理單位分別對應配置一第二多重緩衝區之一部分;以及當該第二多重緩衝區之一部份被寫滿時,則傳輸該第二多重緩衝區之一部份之資料。 A file management and access method includes: converting a plurality of request commands issued by a client space file system into a plurality of first file processing units; respectively configuring each of the first file processing units to configure a first multiple buffer a portion; when a portion of the first multiple buffer is filled, transmitting data of a portion of the first multiple buffer; generating a plurality of second files according to the first file processing unit Processing unit, and each of the second file processing units is configured to correspond to a portion of a second multiple buffer; and when one of the second multiple buffers is full, transmitting the second multiple Information on one part of the buffer. 根據申請專利範圍第6項之檔案管理與存取方法,其更包 含下列步驟:當該第一多重緩衝區之一部分及該第二多重緩衝區之一部分在寫入資料時,讀取該第一多重緩衝區之另一部分及該第二多重緩衝區之另一部分。 According to the file management and access method of the sixth application patent scope, The method includes the following steps: reading a portion of the first multiple buffer and the second multiple buffer when one of the first multiple buffer portion and one of the second multiple buffer portions are writing data The other part. 根據申請專利範圍第7項之檔案管理與存取方法,其中該第一多重緩衝區及該第二多重緩衝區包含複數個緩衝子區,該方法更包含下列步驟:交替使用該些緩衝子區的其中兩者;以及暫存資料在剩餘之緩衝子區。 According to the file management and access method of claim 7, wherein the first multiple buffer and the second multiple buffer comprise a plurality of buffer sub-regions, the method further comprises the steps of: alternately using the buffers Two of the sub-areas; and the temporary data in the remaining buffer sub-area. 根據申請專利範圍第8項之檔案管理與存取方法,其更包含下列步驟:若交替使用的該二緩衝子區在被抹除時仍有資料未傳送,則將資料暫存至該些剩餘的緩衝子區。 According to the file management and access method of claim 8 of the patent application scope, the method further comprises the following steps: if the alternately used two buffer sub-areas still have data not being transmitted when being erased, the data is temporarily stored to the remaining Buffer subzone. 根據申請專利範圍第3項之檔案管理與存取方法,其更包含下列步驟:偵測該些剩餘的緩衝子區是否被填滿;以及當該些剩餘的緩衝子區被填滿時,該傳送暫存於該些剩餘的緩衝子區中的資料。 According to the file management and access method of claim 3, the method further comprises the steps of: detecting whether the remaining buffer sub-areas are filled; and when the remaining buffer sub-areas are filled, Transmitting data temporarily stored in the remaining buffer sub-areas.
TW104115501A 2015-05-15 2015-05-15 File management and access system and method thereof TW201640378A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW104115501A TW201640378A (en) 2015-05-15 2015-05-15 File management and access system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW104115501A TW201640378A (en) 2015-05-15 2015-05-15 File management and access system and method thereof

Publications (2)

Publication Number Publication Date
TW201640378A true TW201640378A (en) 2016-11-16
TWI560556B TWI560556B (en) 2016-12-01

Family

ID=57850676

Family Applications (1)

Application Number Title Priority Date Filing Date
TW104115501A TW201640378A (en) 2015-05-15 2015-05-15 File management and access system and method thereof

Country Status (1)

Country Link
TW (1) TW201640378A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238987A (en) * 2021-06-08 2021-08-10 中科寒武纪科技股份有限公司 Statistic quantizer, storage device, processing device and board card for quantized data

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI272533B (en) * 2005-06-17 2007-02-01 Lite On Technology Corp A data stream buffer
US8214517B2 (en) * 2006-12-01 2012-07-03 Nec Laboratories America, Inc. Methods and systems for quick and efficient data management and/or processing
CN101459669A (en) * 2008-12-29 2009-06-17 成都市华为赛门铁克科技有限公司 Access method and apparatus for network file system
CN103942120B (en) * 2014-04-02 2017-06-16 南京鼎岩信息科技有限公司 A kind of reading/writing method and system based on Intel Virtualization Technology

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113238987A (en) * 2021-06-08 2021-08-10 中科寒武纪科技股份有限公司 Statistic quantizer, storage device, processing device and board card for quantized data

Also Published As

Publication number Publication date
TWI560556B (en) 2016-12-01

Similar Documents

Publication Publication Date Title
US9875029B2 (en) Network-attached storage enhancement appliance
JP4824085B2 (en) System and method for caching a network file system
US9176980B2 (en) Scalable caching of remote file data in a cluster file system
US8516159B2 (en) Asynchronous file operations in a scalable multi-node file system cache for a remote cluster file system
US8645645B2 (en) File management method and hierarchy management file system
US20100088349A1 (en) Virtual file system stack for data deduplication
WO2017079181A1 (en) Object storage system with a distributed namespace and snapshot and cloning features
US7546307B2 (en) Virtual block storage to filesystem translator
EP4006737A1 (en) Concurrent multiprotocol access to an object storage system
CN112236758A (en) Cloud storage distributed file system
US9778860B2 (en) Re-TRIM of free space within VHDX
US20080183988A1 (en) Application Integrated Storage System Volume Copy and Remote Volume Mirror
US10318194B2 (en) Method and an apparatus, and related computer-program products, for managing access request in multi-tenancy environments
JP2009087320A (en) Method and unit for unified nas/cas storage system
US10831719B2 (en) File consistency in shared storage using partial-edit files
JP6279770B2 (en) File server device
US20180181584A1 (en) Method and system for maintaining and searching index records
US11822370B2 (en) Concurrent multiprotocol access to an object storage system
WO2018022931A1 (en) Multi-part upload
US20080320062A1 (en) Method of transferring file system, file system transference program, and file system transference device
CN112988680A (en) Data acceleration method, cache unit, electronic device and storage medium
US8612717B2 (en) Storage system
US20170286442A1 (en) File system support for file-level ghosting
TW201640378A (en) File management and access system and method thereof
WO2023111911A1 (en) System and method for direct object to file mapping in a global filesystem

Legal Events

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