KR20070061087A - Obeject based file system and method for inputting and outputting - Google Patents
Obeject based file system and method for inputting and outputting Download PDFInfo
- Publication number
- KR20070061087A KR20070061087A KR1020060044256A KR20060044256A KR20070061087A KR 20070061087 A KR20070061087 A KR 20070061087A KR 1020060044256 A KR1020060044256 A KR 1020060044256A KR 20060044256 A KR20060044256 A KR 20060044256A KR 20070061087 A KR20070061087 A KR 20070061087A
- Authority
- KR
- South Korea
- Prior art keywords
- file
- data
- input
- file data
- output
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/168—Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
도 1은 객체 기반 스토리지 환경을 구성하는 시스템 구성요소의 실시 예이다.1 is an embodiment of a system component constituting an object-based storage environment.
도 2는 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템을 구성하는 시스템의 구성요소를 나타내는 도면이다.2 is a diagram illustrating the components of a system configuring an object-based file input / output system according to a preferred embodiment of the present invention.
도 3은 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에서 객체 캐쉬와 파일 inode의 저장 정보 및 관계를 도시한 개념도이다.FIG. 3 is a conceptual diagram illustrating storage information and relationships of an object cache and a file inode in an object-based file input / output system according to an exemplary embodiment of the present invention.
도 4은 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에서 객체 캐쉬와 객체 입출력 요청의 저장 정보 및 관계를 도시한 개념도이다.4 is a conceptual diagram illustrating storage information and relationships of an object cache and an object input / output request in an object-based file input / output system according to a preferred embodiment of the present invention.
도 5는 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에서 객체 기반 파일 데이터의 입력요청에 대한 흐름도이다.5 is a flowchart illustrating an input request of object-based file data in an object-based file input / output system according to a preferred embodiment of the present invention.
도 6은 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에서 객체 기반 파일 데이터의 출력요청에 대한 흐름도이다.6 is a flowchart illustrating an output request of object-based file data in an object-based file input / output system according to a preferred embodiment of the present invention.
본 발명은 객체 저장 장치를 기반으로 하는 파일 시스템에 관한 것으로, 보다 상세하게는 객체 저장 장치상에 객체 단위로 저장되어 있는 파일 데이터를 클라이언트의 입출력 요청에 따라 상기 파일 데이터를 페이지 단위로 메모리에 적재하여 상기 클라이언트가 요청하는 파일 데이터를 객체 단위로 입출력할 수 있는 시스템 및 방법에 관한 것이다.The present invention relates to a file system based on an object storage device, and more particularly, to load file data stored in the unit of an object on an object storage device in a unit of memory according to an I / O request of a client. The present invention relates to a system and a method for inputting and outputting file data requested by the client in object units.
인터넷 환경의 급속한 발전과 네트워크 컴퓨팅 환경으로의 진화는 대량의 데이터에 대한 고성능 처리와 저장 장치의 확장 그리고 플랫폼에 독립적인 데이터의 안전한 공유를 제공할 수 있는 저장 시스템을 요구하고 있다. 하지만 기존의 NAS(Network Attached Storage)와 SAN(Storage Area Network)은 성능과 확장성 그리고 데이터에 대한 보안 등의 면에서 이러한 요구사항을 만족시키기에 한계를 드러내고 있다. 이에 객체 저장 장치(object-based storage) 기술은 NAS와 SAN이 갖는 한계를 해결할 수 있는 고성능, 고확장성, 데이터 보안, 플랫폼 독립적인 데이터 공유 등을 제공할 수 있는 기술로 인식되고 있다.The rapid development of the Internet environment and the evolution to network computing environments require storage systems that can provide high performance processing of large amounts of data, expansion of storage devices, and secure sharing of platform independent data. Traditional network attached storage (NAS) and storage area networks (SANs), however, are showing limitations in meeting these requirements in terms of performance, scalability, and data security. Object-based storage technology is recognized as a technology that can provide high performance, high scalability, data security, and platform-independent data sharing to solve the limitations of NAS and SAN.
이러한 객체 저장 장치를 기반으로 하는 파일 시스템은 네트워크 상에 분산된 클라이언트-서버 구조로, 클라이언트 파일 시스템, 메타 데이터 서버, 객체 저장 장치로 구성된다. 클라이언트 파일 시스템은 클라이언트 응용에 파일 접근 인터페이스를 제공하고, 메타 데이터 서버는 객체 저장 장치에 저장된 파일에 대한 메타 데이터를 관리하면서 클라이언트에 대한 인증과 접근제어를 담당한다. 그리고 객체 저장 장치는 파일 객체에 속하는 데이터와 속성 정보를 저장하고 관리한다.The file system based on such an object storage device has a client-server structure distributed over a network, and is composed of a client file system, a metadata server, and an object storage device. The client file system provides a file access interface to the client application, and the metadata server manages the metadata for the files stored in the object storage device and is responsible for authentication and access control for the client. The object storage device stores and manages data and attribute information belonging to the file object.
이러한 객체 기반 파일 시스템 모델은 기존의 블록 장치 기반 파일 시스템에 서 파일과 디렉토리에 대한 논리적인 데이터 관리를 수행하는 부분과 저장 장치에 데이터 블록을 할당하고 맵핑하는 것과 같은 물리적인 저장 관리 부분을 분리하여 물리적인 저장 관리 부분을 객체 저장 장치에서 수행하도록 하며 기존의 블록 기반 인터페이스를 객체 기반 인터페이스로 변경하여야 한다. This object-based file system model separates the part that performs logical data management of files and directories from the existing block device-based file system and the physical part of storage management such as allocating and mapping data blocks to storage devices. The physical storage management part should be executed in the object storage device, and the existing block-based interface should be changed to the object-based interface.
따라서 객체 기반 파일 시스템은 기존의 블록 장치 기반 파일 시스템과는 달리 객체 저장 장치에 저장된 파일 데이터를 객체 단위로 처리하여야 하고, 또한 객체는 여러 개로 분산 저장될 수 있으므로 이에 대한 파일 데이터의 저장 경로 등의 처리과정도 필요로 하는 문제점이 있다.Therefore, unlike the existing block device-based file system, the object-based file system must process the file data stored in the object storage device in units of objects, and since the objects can be distributed and stored in multiple units, the storage path of the file data There is also a problem that requires processing.
본 발명이 이루고자 하는 기술적 과제는, 객체 저장 장치를 기반으로 하는 파일 시스템에서 파일을 객체 단위로 저장하는 방법과 저장된 객체를 읽을 수 있는 방법을 제공함으로써 객체 기반 파일시스템의 성능과 확장을 제공하는데 있다.An object of the present invention is to provide performance and extension of an object-based file system by providing a method of storing files in an object unit and a method of reading stored objects in a file system based on an object storage device. .
본 발명이 이루고자 하는 기술적 과제는, 객체 기반 파일 입출력 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 제공하는데 있다.SUMMARY OF THE INVENTION The present invention has been made in an effort to provide a computer-readable recording medium having recorded thereon a program for executing an object-based file input / output method on a computer.
상기 기술적 과제를 해결하기 위한 본 발명에 따른 객체 기반 파일 입출력 시스템의 일 실시예로, 파일 데이터를 논리적인 객체 단위로 할당하여 저장하는 객체 저장 장치와 연결되어 상기 파일 데이터의 입/출력을 수행하는 객체 입출력 관리부; 상기 파일 데이터의 메타 데이터를 저장하는 메타 데이터 서버와 연결되어 상기 메타 데이터를 저장하고 검색하는 메타 데이터 관리부; 클라이언트의 입/출력 요청에 해당하는 파일데이터의 메타데이터를 상기 메타데이터 관리부와 송수신하는 파일 접근 처리부; 및 상기 클라이언트가 소정의 파일데이터의 입력을 요청한 경우 상기 파일 데이터의 메타 데이터를 추출하여 상기 파일 접근 처리부에 송신하고 상기 클라이언트로부터 상기 파일 데이터를 직접 전송받아 페이지 단위로 메모리에 적재하여 상기 객체 입출력 관리부에 송신하는 객체 캐쉬 관리부를 포함한다.In one embodiment of the object-based file input and output system according to the present invention for solving the technical problem, connected to an object storage device for allocating and storing file data in logical object units to perform the input / output of the file data An object input / output manager; A meta data manager connected to a meta data server storing meta data of the file data to store and retrieve the meta data; A file access processor for transmitting and receiving metadata of file data corresponding to an input / output request of a client to and from the metadata manager; And when the client requests input of predetermined file data, extracts meta data of the file data and sends the file data to the file access processing unit, receives the file data directly from the client, loads the file data in a page unit, and loads the object data into a memory unit. Includes an object cache manager to send to.
또한, 상기 객체 캐쉬 관리부는 상기 클라이언트가 객체 저장 장치상에 저장된 파일 데이터의 출력을 요청한 경우 상기 객체 입출력 관리부를 통하여 상기 파일 데이터를 전송받아 페이지 단위로 메모리에 적재하여 상기 클라이언트에게 송신하는 것을 특징으로 한다.The object cache manager may receive the file data through the object input / output manager and load the file data in a page unit and transmit the file data to the client when the client requests output of the file data stored on the object storage device. do.
또한, 상기 메타 데이터 관리부는 객체 데이터 페이지의 객체 캐쉬 헤더 리스트, 객체 속성 페이지의 객체 캐쉬 헤더 리스트, 객체 개수, 객체저장 장치 식별자 배열, 객체 식별자 배열, 객체 크기 배열을 상기 파일 데이터의 메타데이터로 기록하는 것을 특징으로 한다.The metadata management unit may record the object cache header list of the object data page, the object cache header list of the object property page, the number of objects, the object storage device identifier array, the object identifier array, and the object size array as metadata of the file data. Characterized in that.
또한, 상기 객체 캐쉬 관리부는 객체 데이터 페이지, 객체 저장 장치 식별자, 객체 식별자, 객체 데이터 페이지 인덱스, 객체 데이터 페이지 크기, 객체 데이터 페이지 상태, 메타 데이터 정보를 객체 캐쉬 헤더로 메모리에 기록하여 상기 파일 데이터를 메모리에 적재하는 것을 특징으로 한다.The object cache manager may write an object data page, an object storage device identifier, an object identifier, an object data page index, an object data page size, an object data page state, and metadata information to an memory as an object cache header to store the file data. It is characterized by loading in the memory.
또한, 상기 객체 캐쉬 관리부는 상기 클라이언트의 파일 데이터 입/출력 요청에 관한 객체 입출력 요청 리스트, 객체 입출력 요청 타입, 객체 캐쉬 헤더 리스 트, 객체 저장장치 정보, 객체 입출력 상태를 상기 객체 입출력 관리부에 전송하여 상기 파일 데이터에 대한 입출력을 수행하는 것을 특징으로 한다.The object cache manager may transmit the object input / output request list, the object input / output request type, the object cache header list, the object storage information, and the object input / output status related to the file data input / output request of the client to the object input / output manager. And performing input and output on the file data.
상기 의 기술적 과제를 해결하기 위한 본 발명에 따른 객체 기반 파일 입출력 방법의 일 실시예로, 파일 데이터를 논리적인 객체 단위로 할당하여 저장된 상기 파일 데이터의 입/출력을 수행하는 객체 입출력 단계; 상기 파일 데이터의 메타 데이터를 저장하고 검색하는 메타 데이터 관리단계; 클라이언트의 입/출력 요청에 해당하는 파일데이터의 메타데이터를 상기 메타데이터 관리부와 송수신하는 파일 접근 처리단계; 및 상기 클라이언트가 소정의 파일 데이터의 입력을 요청한 경우 상기 파일 데이터의 메타 데이터를 추출하여 저장하고, 상기 클라이언트로부터 상기 파일 데이터를 직접 전송받아 페이지 단위로 메모리에 적재하여 상기 파일 데이터를 논리적인 객체 단위로 할당하여 저장하는 객체 캐쉬 관리단계를 포함한다.According to an embodiment of the present invention, there is provided an object-based file input / output method, comprising: an object input / output step of performing file input / output by storing file data in logical object units; A metadata management step of storing and retrieving metadata of the file data; A file access processing step of transmitting and receiving metadata of file data corresponding to an input / output request of a client to and from the metadata manager; And when the client requests input of predetermined file data, extracts and stores metadata of the file data, receives the file data directly from the client, loads the file data into a memory in page units, and stores the file data in a logical object unit. Object cache management step of assigning and storing.
또한, 본 발명에 의한 객체 기반 파일 입출력 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다.The present invention also includes a computer-readable recording medium having recorded thereon a program for executing the object-based file input / output method according to the present invention.
이하에서, 첨부된 도면을 참조하여 본 발명의 바람직한 실시예에 대하여 상세히 설명한다.Hereinafter, with reference to the accompanying drawings will be described in detail a preferred embodiment of the present invention.
도 1은 객체 기반 스토리지 환경을 구성하는 시스템 구성요소의 실시 예이다. 도 1을 참조하면, 객체 기반 파일 시스템은 클라이언트 파일 시스템(100), 메타 데이터 서버(101), 객체 저장 장치(102)를 포함하여 구성된다.1 is an embodiment of a system component constituting an object-based storage environment. Referring to FIG. 1, an object based file system includes a
클라이언트 파일 시스템(100)은 클라이언트 응용(200)으로부터의 파일 접근 요청을 받아서 처리하는 역할을 수행한다.The
메타 데이터 서버(101)는 파일 시스템의 모든 파일에 대한 메타 데이터를 저장하고 관리한다.The
객체 저장 장치(102)에는 파일의 데이터와 속성 정보를 저장하고 관리한다. 따라서 객체 기반 파일 시스템에서는 파일의 메타 데이터와 데이터를 각각 메타 데이터 서버(101)와 객체 저장 장치(102)에 별도로 저장하고 관리한다.The
객체 기반 파일 시스템에서 파일 데이터는 논리적인 객체 단위로 할당되어 저장된다. 이때 객체 기반 파일 시스템을 구성하는 객체 저장 장치(102)들의 구성 환경에 따라 여러 개의 객체가 생성될 수 있으며 이러한 객체는 객체 저장 장치(102)에 분산되어 저장된다.In the object-based file system, file data is allocated and stored in logical object units. In this case, a plurality of objects may be created according to the configuration environment of the
따라서 파일은 여러 개의 객체들로 구성될 수 있다. 이러한 객체들은 객체 저장 장치(102) 마다 유일한 객체 식별자에 의해 구별된다. 그리고 파일을 구성하는 객체를 구별하기 위해 객체 식별자와 함께 객체 저장 장치의 식별자도 사용한다.Thus, a file can consist of several objects. These objects are distinguished by unique object identifiers per
객체는 파일을 생성할 때 메타 데이터 서버(101)에 의해 이루어지고 생성된 객체에 대한 식별자 정보는 파일의 메타 데이터 정보를 유지하는 파일 inode(400)에서 관리된다.The object is made by the
도 2는 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템을 구성하는 시스템의 구성요소를 나타내는 도면이다. 도 2를 참조하면, 클라이언트 파일 시스템(100)은 파일 접근 인터페이스(201), 파일 접근 처리기(202), 파일 메타 데이터 관리기(203), 객체 캐쉬 관리기(204) 및 객체 입출력 관리기(205)를 포 함하여 구성된다.2 is a diagram illustrating the components of a system configuring an object-based file input / output system according to a preferred embodiment of the present invention. Referring to FIG. 2, the
파일 접근 인터페이스(201)는 클라이언트 응용(200)에서 객체 기반 파일 시스템을 접근하기 위한 일반적인 인터페이스를 제공한다. The
파일 접근 처리기(202)에 전달된 파일 접근 요청은 파일 접근 처리기(202)에서 파일 메타 데이터 관리기(203) 또는 객체 캐쉬 관리기(204)를 통하여 파일 접근 요청을 처리한다.The file access request passed to the
파일 메타 데이터 관리기(203)는 메타 데이터 서버(101)를 통하여 파일의 메타 데이터 처리와 관리를 담당한다.The
객체 캐쉬 관리기(204)는 파일 데이터 객체를 페이지 단위로 캐슁할 수 있도록 지원한다.The
객체 입출력 관리기(205)는 객체 저장 장치(102)로 객체 입력을 또는 객체 저장 장치로(102)부터 객체 출력을 수행할 수 있다.The object input /
도 3은 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에서 객체 캐쉬와 파일 inode의 저장 정보 및 관계를 도시한 개념도이다. 도 3을 참조하면, 객체 캐쉬 헤더에는 객체 데이터 페이지, 객체 저장 장치 식별자, 객체 식별자, 객체 데이터 페이지 인덱스, 객체 데이터 페이지 크기, 객체 데이터 페이지 상태, 파일 inode 정보 등이 기록되고, 파일 inode에는 객체 데이터 페이지의 객체 캐쉬 헤더 리스트, 객체 속성 페이지 헤더 리스트, 객체 개수, 객체 저장 장치 식별자 배열 및 객체 크기 배열 등이 기록된다.FIG. 3 is a conceptual diagram illustrating storage information and relationships of an object cache and a file inode in an object-based file input / output system according to an exemplary embodiment of the present invention. Referring to FIG. 3, an object data header, an object storage device identifier, an object identifier, an object data page index, an object data page size, an object data page state, file inode information, and the like are recorded in the object cache header. The object cache header list of the page, the object property page header list, the number of objects, an array of object storage identifiers, and an array of object sizes are recorded.
객체 캐쉬(300)는 파일 데이터를 페이지 단위로 캐슁하는 객체 데이터 페이 지들과 파일의 객체 속성을 저장하는 객체 속성 페이지들로 구성된다. 이러한 객체 캐쉬에 포함된 페이지들은 객체 캐쉬 헤더(301) 구조로 관리된다.The object cache 300 is composed of object data pages that cache file data in units of pages and object property pages that store object properties of a file. Pages included in the object cache are managed by the object cache header 301 structure.
객체 캐쉬 헤더(301)에는 실제 파일 데이터 또는 객체 속성 데이터를 캐슁하기 위해 할당된 시스템 메모리 영역을 가리키는 객체 데이터 페이지(302) 또는 객체 속성 페이지(302), 객체 캐쉬 헤더(301)가 가리키는 객체 캐쉬(300)에 캐슁된 데이터 또는 속성이 저장된 객체 저장 장치 식별자(303)와 객체 식별자(304), 객체 데이터 또는 속성이 저장된 객체에서의 인덱스(305), 캐슁된 객체 데이터 또는 속성 페이지의 크기(306), 현재 객체 데이터 또는 속성 페이지의 상태 정보(307), 그리고 객체 데이터 또는 속성 페이지를 포함하는 파일의 inode를 가리키는 필드(308)를 유지하고 관리한다. 이러한 정보들은 객체 캐쉬(300)를 관리하고 객체의 입출력을 위해서 사용된다.The object cache header 301 includes an
반면에 파일 inode(310)에는 파일이 포함하는 객체와 관련하여 다음과 같은 정보를 유지한다. 먼저 객체 캐쉬에는 동일한 파일에 속하는 여러 개의 객체 데이터 페이지와 객체 속성 페이지가 캐슁될 수 있다(311-312). 그리고 이들 간에 서로 연결되어 파일 inode에서 관리된다. 그리고 파일 inode에는 파일을 구성하는 객체의 개수(313)와 객체들이 저장된 객체 저장 장치들의 식별자 그리고 각 객체 저장 장치에서 유일한 객체 식별자와 각 객체의 크기를 포함한다(314-316). 따라서 파일 객체 데이터 또는 객체 속성의 입출력을 위하여 객체 캐쉬를 할당하였을 때는 할당된 객체 캐쉬를 파일 inode에 연결한다.On the other hand, the
도 4은 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에 서 객체 캐쉬와 객체 입출력 요청의 저장 정보 및 관계를 도시한 개념도이다. 도 4를 참조하면, 객체 입출력 관리기(205)에 전달되는 객체 입출력 요청 신호에는 객체 입출력 요청 리스트, 객체 입출력 요청 타입, 객체 캐쉬 헤더 리스트, 객체 저장 장치 정보 및 객체 입출력 상태 등의 정보가 기록되어 있다.4 is a conceptual diagram illustrating storage information and relationships of an object cache and an object input / output request in an object-based file input / output system according to an exemplary embodiment of the present invention. Referring to FIG. 4, information such as an object input / output request list, an object input / output request type, an object cache header list, object storage information, and an object input / output state are recorded in the object input / output request signal transmitted to the object input /
클라이언트 응용(200)에 의한 파일 데이터의 입출력 요청은 객체 캐쉬(300)와 객체를 저장할 객체 저장 장치(102)에 대한 객체 입출력 요청(400)을 통하여 이루어진다. 객체 저장 장치(102)에 대한 객체 입출력 요청(400)은 한번에 여러 개가 동시에 요청될 수 있으며, 하나의 객체 입출력 요청(400)을 통하여 여러 개의 객체 데이터 또는 속성 페이지를 처리할 수 있다.The input / output request of the file data by the
따라서 객체 입출력 요청(400)에는 동일한 객체 저장 장치로의 다음 객체 입출력 요청(401), 객체 입출력 요청의 타입(402), 객체 입출력 요청에 포함된 객체 데이터 또는 속성 페이지들의 리스트(403), 객체 입출력 요청이 이루어지는 객체 저장 장치에 대한 정보(404), 그리고 객체 입출력의 상태(405)를 나타내는 필드들을 유지하고 관리한다. 이때 각 객체 입출력 요청(400)은 객체 저장 장치(102)의 하나의 객체에 대해서만 이루어진다.Accordingly, the object I /
도 5는 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에서 객체 기반 파일 데이터의 입력요청에 대한 흐름도이다. 도 5를 참조하면, 클라이언트가 파일 데이터의 입력요청에 따라 객체 저장 장치에 상기 파일 데이터를 저장하는 방법을 도 2의 시스템을 이용하여 설명한다.5 is a flowchart illustrating an input request of object-based file data in an object-based file input / output system according to a preferred embodiment of the present invention. Referring to FIG. 5, a method in which a client stores the file data in an object storage device according to an input request of file data will be described using the system of FIG. 2.
클라이언트 응용(200)으로부터의 파일 입력 요청은 먼저 객체 캐쉬(300)에 입력할 데이터가 이미 캐슁되어 있는 지를 체크한다(500).The file input request from the
만약 데이터가 캐슁되어 있지 않으면, 객체 캐쉬에 데이터를 캐슁할 객체 데이터 페이지를 할당한다(501). 그리고 데이터가 저장될 객체와 객체 저장 장치에 대한 정보를 객체 데이터 페이지를 가리키는 객체 캐쉬 헤더에 설정한다(502).If data is not cached, an object data page for caching data is allocated to the object cache (501). In
이때 객체와 객체 저장 장치는 데이터가 파일에 저장될 상대적인 위치에 따라서 파일 inode(400)에서 유지하는 객체와 객체 저장 장치 식별자를 객체 캐쉬 헤더(301)에 설정한다.At this time, the object and the object storage device set the object and the object storage device identifier maintained in the
저장될 객체가 결정되면, 객체에 데이터를 저장할 공간이 충분한가를 체크한다(503). 그래서 만약 저장 공간이 불충분하면, 객체에 데이터를 저장할 수 있는 저장 공간을 미리 할당하도록 객체 저장 장치에 요청한다(504).When the object to be stored is determined, it is checked whether the object has enough space to store data (503). Thus, if the storage space is insufficient, the object storage device is requested (504) to pre-allocate storage space for storing data in the object.
그리고 나서 클라이언트 버퍼 공간에 있는 데이터를 할당된 객체 데이터 페이지로 복사(505)한 다음 객체 데이터 페이지의 상태가 변경되었고 최신 데이터를 캐슁하고 있음을 가리키도록 한다(506).It then copies the data in the client buffer space to the allocated object data page (505) and then indicates that the state of the object data page has changed and is caching the latest data (506).
만약 동기적으로 데이터를 저장하도록 요청된 경우(507)에는 먼저 객체 입력 요청을 생성하고(508), 저장할 객체 데이터 페이지를 생성된 객체 입력 요청에 연결(509)한 다음, 객체 저장 장치로 객체 입력 요청을 전달한다(510).If it is requested to store data synchronously (507), first create an object input request (508), connect the object data page to be stored to the generated object input request (509), and then input the object to the object storage device. Forward the request (510).
그렇지 않으면 여기서 변경된 채 캐싱된 페이지들은 추후에 시스템에서 주기적으로 변경된 페이지들을 객체 저장 장치(102)로 저장할 때, 객체 입력 요청을 만들고, 저장할 객체 데이터 페이지를 연결하여 객체 저장 장치로 전달된다.Otherwise, the cached pages that are changed here are made to the
도 6은 본 발명의 바람직한 실시예에 따른 객체 기반 파일 입출력 시스템에 서 객체 기반 파일 데이터의 출력요청에 대한 흐름도이다. 도 6을 참조하면, 클라이언트가 파일 데이터의 출력요청에 따라 객체 저장 장치에 저장된 상기 파일 데이터를 출력하는 방법을 도 2의 시스템을 이용하여 설명한다.6 is a flowchart illustrating an output request of object-based file data in an object-based file input / output system according to a preferred embodiment of the present invention. Referring to FIG. 6, a method of outputting the file data stored in the object storage device in response to a request for outputting file data will be described using the system of FIG. 2.
파일 데이터를 객체 저장 장치(102)로부터 읽기 전에 먼저 객체 캐쉬에 이미 데이터가 캐슁되어 있는 지를 체크한다(600).Before reading the file data from the
만약 캐슁되어 있지 않으면, 객체 캐쉬에 데이터를 읽어서 캐슁할 객체 데이터 페이지를 할당하고(602), 그렇지 않고 데이터가 이미 캐슁되어 있다면, 캐슁된 데이터가 최신 데이터인 지를 체크한다(601).If it is not cached, the object cache reads data and allocates an object data page to cache (602). Otherwise, if the data is already cached, it is checked whether the cached data is the latest data (601).
최신 데이터가 캐슁되어 있지 않으면, 객체 저장 장치로부터 최신 데이터를 읽기 위하여 읽을 데이터가 저장된 객체 저장 장치와 객체의 식별자를 객체 캐쉬 헤더에 설정한다(603). If the latest data is not cached, in order to read the latest data from the object storage device, an object storage device storing the data to be read and an identifier of the object are set in the object cache header (603).
이때도 객체 입력에서와 마찬가지로 읽을 데이터가 파일에 저장된 상대적인 위치에 따라서 파일 inode(310)에서 유지하는 객체와 객체 저장 장치 식별자를 객체 캐쉬 헤더(301)에 설정한다.In this case, as in the object input, the object cache and the object storage device identifier maintained in the
설정된 객체 캐쉬 헤더(301)들은 객체 출력 요청을 생성하여 연결(604-605)된 후에, 해당 객체 저장 장치로 객체 출력 요청이 전달한다(606).After the object cache headers 301 are generated and connected (604-605) to the object output request, the object output request is forwarded to the corresponding object storage device (606).
본 발명은 또한 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의하여 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 컴퓨터가 읽을 수 있는 기록매체의 예로는 ROM, RAM, CD_ROM, 자기테이프, 플로피 디스크 및 광데이터 저장장치 등이 있으며, 또한 캐리어 웨이브(예를 들어 인터넷을 통한 전송)의 형태로 구현되는 것도 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어, 분산방식으로 컴퓨터가 읽을 수 있는 코드로 저장되고 실행될 수 있다.The invention can also be embodied as computer readable code on a computer readable recording medium. The computer-readable recording medium includes all kinds of recording devices in which data that can be read by a computer system is stored. Examples of computer-readable recording media include ROM, RAM, CD_ROM, magnetic tape, floppy disks, and optical data storage, and may also include those implemented in the form of carrier waves (e.g., transmission over the Internet). . The computer readable recording medium can also be distributed over network coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
이상에서와 같이 도면과 명세서에서 최적 실시예가 개시되었다. 여기서 특정한 용어들이 사용되었으나, 이는 단지 본 발명을 설명하기 위한 목적에서 사용된 것이지 의미한정이나 특허청구범위에 기재된 본 발명의 범위를 제한하기 위하여 사용된 것은 아니다. 그러므로 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 특허청구범위의 기술적 사상에 의해 정해져야 할 것이다.As described above, optimal embodiments have been disclosed in the drawings and the specification. Although specific terms have been used herein, they are used only for the purpose of describing the present invention and are not intended to limit the scope of the present invention as defined in the claims or the claims. Therefore, those skilled in the art will understand that various modifications and equivalent other embodiments are possible from this. Therefore, the true technical protection scope of the present invention will be defined by the technical spirit of the appended claims.
본 발명은 객체 저장 장치상에 객체 단위로 저장되어 있는 파일 데이터를 클라이언트의 입출력 요청에 따라 상기 파일 데이터를 페이지 단위로 메모리에 적재하여 상기 클라이언트가 요청하는 파일 데이터를 객체 단위로 입출력을 제공함으로써, 파일 접근 인터페이스를 통하여 메타 데이터 서버로부터 인증과 파일에 대한 메타 데이터를 얻고 객체 저장 장치로부터 파일 객체를 직접 접근함으로써 시스템 성능을 향상시킬 수 있으며 시스템 성능의 저하 없는 확장을 제공할 수 있고 파일 시스템 서버의 작업 부하를 줄일 수 있으며, 클라이언트 응용들 간에 파일 시스템의 물리적인 구조에 독립적인 데이터 공유가 가능하다. 또한 객체 저장 장치에 저 장되는 논리적인 객체에 대한 별도의 보안 정책을 설정할 수 있다.According to the present invention, the file data stored in the object unit on the object storage device is loaded into the memory in the unit of page according to the input / output request of the client to provide the input / output of the file data requested by the client in the unit of object, Through the file access interface, authentication and file metadata can be obtained from the metadata server and file objects can be accessed directly from the object storage device to improve system performance and provide extensions without sacrificing system performance. It can reduce the workload and share data independent of the file system's physical structure among client applications. In addition, you can set a separate security policy for logical objects stored in the object storage device.
객체는 파일 데이터를 저장하는 논리적인 저장 단위로 데이터 접근 방법, 데이터 속성 정보, 데이터 보안 방법 등을 포함할 수 있다. 또한 객체에 대한 메타 데이터에 독립적인 객체 접근 인터페이스를 사용함으로써 이기종 플랫폼에서 객체를 안전하게 공유할 수 있는 특성을 제공한다.The object is a logical storage unit for storing file data and may include a data access method, data property information, and a data security method. It also provides the ability to securely share objects across heterogeneous platforms by using an object access interface that is independent of the metadata for the object.
Claims (10)
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR20050120049 | 2005-12-08 | ||
KR1020050120049 | 2005-12-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20070061087A true KR20070061087A (en) | 2007-06-13 |
KR100785774B1 KR100785774B1 (en) | 2007-12-18 |
Family
ID=38357022
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020060044256A KR100785774B1 (en) | 2005-12-08 | 2006-05-17 | Obeject based file system and method for inputting and outputting |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR100785774B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101535703B1 (en) * | 2012-09-28 | 2015-07-09 | 삼성에스디에스 주식회사 | Apparatus and method for converting Value Object |
KR101655157B1 (en) * | 2015-04-21 | 2016-09-07 | 주식회사 씨와줄기 | Apparatus and method for work process modeling using data oriented programming model |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100284574B1 (en) * | 1997-10-27 | 2001-03-15 | 정선종 | Automatic Object Storage System and How It Works |
KR20020048122A (en) * | 2000-12-16 | 2002-06-22 | 구자홍 | Apparatus and method for database access through object registry of server |
US7730213B2 (en) * | 2000-12-18 | 2010-06-01 | Oracle America, Inc. | Object-based storage device with improved reliability and fast crash recovery |
KR100622130B1 (en) * | 2004-12-21 | 2006-09-19 | 한국전자통신연구원 | Crash recovery system and method for a distributed file server using object based storage |
-
2006
- 2006-05-17 KR KR1020060044256A patent/KR100785774B1/en not_active IP Right Cessation
Also Published As
Publication number | Publication date |
---|---|
KR100785774B1 (en) | 2007-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI778157B (en) | Ssd, distributed data storage system and method for leveraging key-value storage | |
Chandrasekar et al. | A novel indexing scheme for efficient handling of small files in hadoop distributed file system | |
US7620671B2 (en) | Delegation of metadata management in a storage system by leasing of free file system blocks from a file system owner | |
KR100825721B1 (en) | System and method of time-based cache coherency maintenance in user file manager of object-based storage system | |
US11287994B2 (en) | Native key-value storage enabled distributed storage system | |
US8135918B1 (en) | Data de-duplication for iSCSI | |
KR102263357B1 (en) | System for supporting user-level dma i/o in distributed filesystem environment and method for the same | |
US20160364407A1 (en) | Method and Device for Responding to Request, and Distributed File System | |
US10503693B1 (en) | Method and system for parallel file operation in distributed data storage system with mixed types of storage media | |
JP2004326162A (en) | Network system, server, data processing method, and program | |
US9430492B1 (en) | Efficient scavenging of data and metadata file system blocks | |
CN111796767B (en) | Distributed file system and data management method | |
KR100622130B1 (en) | Crash recovery system and method for a distributed file server using object based storage | |
CN109302448A (en) | A kind of data processing method and device | |
US8380806B2 (en) | System and method for absolute path discovery by a storage virtualization system | |
US20070174360A1 (en) | Storage system embedding database | |
US10387384B1 (en) | Method and system for semantic metadata compression in a two-tier storage system using copy-on-write | |
US10057348B2 (en) | Storage fabric address based data block retrieval | |
US10521398B1 (en) | Tracking version families in a file system | |
KR100785774B1 (en) | Obeject based file system and method for inputting and outputting | |
KR101470857B1 (en) | Network distributed file system and method using iSCSI storage system | |
US10628391B1 (en) | Method and system for reducing metadata overhead in a two-tier storage architecture | |
US20210132801A1 (en) | Optimized access to high-speed storage device | |
US6834281B1 (en) | Method and apparatus to support multi-node direct access to file system data | |
CN117687970B (en) | Metadata retrieval method and device, electronic equipment and storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20111129 Year of fee payment: 5 |
|
LAPS | Lapse due to unpaid annual fee |