KR20120013475A - Apparatus for managing data by using url information in a distributed file system and method thereof - Google Patents

Apparatus for managing data by using url information in a distributed file system and method thereof Download PDF

Info

Publication number
KR20120013475A
KR20120013475A KR1020100075436A KR20100075436A KR20120013475A KR 20120013475 A KR20120013475 A KR 20120013475A KR 1020100075436 A KR1020100075436 A KR 1020100075436A KR 20100075436 A KR20100075436 A KR 20100075436A KR 20120013475 A KR20120013475 A KR 20120013475A
Authority
KR
South Korea
Prior art keywords
file
server
information
url information
url
Prior art date
Application number
KR1020100075436A
Other languages
Korean (ko)
Other versions
KR101666064B1 (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 KR1020100075436A priority Critical patent/KR101666064B1/en
Publication of KR20120013475A publication Critical patent/KR20120013475A/en
Application granted granted Critical
Publication of KR101666064B1 publication Critical patent/KR101666064B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/164File meta data generation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

PURPOSE: A device for managing data using URL(Uniform Resource Locator) information in a distributed file system and a method thereof are provided to support conditions under which permitted users can immediately access a specific file in a cloud storage service based on a distributed file system. CONSTITUTION: A protocol server(110) searches metadata corresponding to specific URL information from a URL database. The protocol server requests a location of a metadata server where a specific file is stored by the searched metadata. The protocol server receives the response to the request. When each file is stored in at least one file server, the metadata server stores metadata of each file to manage a file list. The metadata server provides file server information in which a specific file is stored by a request of the protocol server.

Description

분산 파일 시스템에서 URL정보를 이용한 데이터 관리 장치 및 그 방법{APPARATUS FOR MANAGING DATA BY USING URL INFORMATION IN A DISTRIBUTED FILE SYSTEM AND METHOD THEREOF}Device for managing data using QR information in distributed file system and its method {APPARATUS FOR MANAGING DATA BY USING URL INFORMATION IN A DISTRIBUTED FILE SYSTEM AND METHOD THEREOF}

본 발명은 분산 파일 시스템에서 유알엘(Uniform Resource Locator, 이하 URL이라 한다) 정보를 이용한 데이터 관리 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 데이터 안정성 및 성능 향상을 위해 파일별로 복제본들을 여러 저장공간으로 분산하여 생성 및 관리하는 분산 파일 시스템을 기반으로 구현한 클라우드 스토리지(cloud storage) 서비스에서, 파일 소유자의 요청에 의해 특정 파일에 바로 접근할 수 있는 URL을 자동으로 생성하고, 이를 이용하여 해당 파일에 바로 접근을 수행하는데 적합한 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치 및 그 방법에 관한 것이다.The present invention relates to a data management apparatus and method using uniform resource locator (URL) information in a distributed file system, and more particularly, to copy multiple copies of each file to various storage spaces in order to improve data stability and performance. Based on the distributed file system that is distributed and created and managed, the cloud storage service automatically generates a URL that directly accesses a specific file at the request of a file owner, and uses the file to automatically create a URL. The present invention relates to a data management apparatus and method using URL information in a distributed file system suitable for immediately performing access.

일반적으로, 범용 하드웨어 기반의 분산 파일 시스템에서는 데이터의 안정성 및 성능 향상을 위해 파일별로 복제본(replica)들을 여러 컴퓨터에 각각 분산하여 생성 및 관리를 수행한다.Generally, in a distributed file system based on general-purpose hardware, replicas are distributed and distributed to multiple computers for each file in order to improve data stability and performance.

이러한 분산 파일 시스템은 동일한 저장 용량을 가지는 저장장치에 복제본을 각각 분산시켜 저장하는 대칭 구조, 다양한 저장 용량을 가지는 저장장치 및 다양한 저장 매체 미디어에 복제본들을 저장하는 비대칭 구조 등이 있다. The distributed file system includes a symmetrical structure for distributing copies in storage devices having the same storage capacity, a storage device having various storage capacities, and an asymmetric structure for storing copies in various storage media media.

특히, 비대칭 구조의 분산 파일 시스템에서 네트워크를 통하여 가상화된 스토리지 자원을 사용자의 요구에 따라 제공하는 클라우드 스토리지의 경우에는 굉장히 많은 개수의 파일들이 존재하므로, 유무선 방식으로 접속하는 다양한 종류의 컴퓨팅 장치에서는 사용자가 원하는 파일을 검색하거나, 원하는 파일에 접근하기 위해 계층적 파일 인터페이스를 이용한다.In particular, in the case of cloud storage that provides virtualized storage resources according to user's needs in an asymmetric distributed file system, a large number of files exist, so that users of various types of computing devices connected in a wired or wireless manner Uses the hierarchical file interface to search for and access desired files.

이러한 계층적 파일 인터페이스에서 각각의 폴더에 대한 접근를 수행함으로써, 각 상위 폴더에 연결된 하위 폴더로 접근할 수 있으며, 10개의 계층으로 이루어진 폴더에서 가장 하위 폴더에 위치하는 파일에 접근하기 위해서는 상위 계층에 있는 각 폴더들에 일일이 접근을 수행하거나, 주소창에 미리 알고 있는 각 계층의 상위 폴더 주소를 입력(예컨대, S:\1\2\3\4\5\6\7\8\9\10\)해야만 10번째 해당 폴더에 접근이 가능했다.By accessing each folder in this hierarchical file interface, it is possible to access the subfolders connected to each parent folder. To access the files located in the lowest subfolders of the 10 hierarchical folders, Perform individual access to each folder, or enter the address of the upper level folder of each hierarchy in the address bar (eg S: \ 1 \ 2 \ 3 \ 4 \ 5 \ 6 \ 7 \ 8 \ 9 \ 10 \) Only the 10th folder could be accessed.

상기한 바와 같이 동작하는 종래 기술에 의한 분산 파일 시스템에서 클라우드 스토리지에 저장되는 파일은 유/무선 환경에서 다양한 종류의 컴퓨팅 디바이스에 의해 접속되어 데이터 소유자의 승인을 전제로 다른 사용자와 쉽게 공유될 수 있어야 한다.In a distributed file system according to the prior art operating as described above, files stored in cloud storage must be accessed by various kinds of computing devices in a wired / wireless environment and easily shared with other users on the premise of the data owner's approval. do.

그러나, 일반적인 컴퓨팅 장치에서 사용하는 계층적 파일 인터페이스 즉, 폴더 내에 하위 폴더 및 파일이 존재하는 구조는 이동성이 잦고, 컴퓨팅 장치(예컨대, 개인용 컴퓨터(PC))와 비교하여 상대적으로 제한된 입/출력 환경을 가진 컴퓨팅 장치에서는 적합하게 사용될 수 있는 인터페이스가 아니라는 문제점이 있었다.However, the hierarchical file interface used in general computing devices, i.e., the structure of subfolders and files within folders, is often mobile and relatively limited in input / output environment compared to computing devices (eg, personal computers (PCs)). In a computing device having a problem, there is a problem that it is not an interface that can be suitably used.

이에 본 발명은 이동 무선 환경 등과 같은 지속적인 네트워크 접속이 보장되지 않는 환경에서 분산 파일 시스템 기반의 클라우드 스토리지 서비스 내에 있는 특정 파일에 허가된 사용자들이 바로 접근할 수 있는 환경을 지원할 수 있는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치 및 그 방법을 제공한다.Accordingly, the present invention provides a URL in a distributed file system that can support an environment in which authorized users can directly access specific files in a distributed file system-based cloud storage service in an environment where continuous network access is not guaranteed, such as a mobile wireless environment. A data management apparatus using information and a method thereof are provided.

또한 본 발명은 범용 하드웨어(H/W) 기반의 분산 파일 시스템으로 구현된 클라우드 스토리지 서비스 내에서 파일 소유자의 요청에 의해 특정 파일에 바로 접근할 수 있는 URL을 자동 생성하고, 이를 이용하여 해당 파일에 바로 접근할 수 있는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치 및 그 방법을 제공한다.In addition, the present invention automatically generates a URL that can directly access a specific file at the request of the file owner within the cloud storage service implemented as a general-purpose hardware (H / W) -based distributed file system, using the file to Provided are a data management apparatus and method using URL information in a distributed file system that can be directly accessed.

본 발명의 일 실시예 장치는, 적어도 하나의 컴퓨팅 장치로부터 파일을 수신하고 URL 정보를 입력받는 사용자 인터페이스부와, 상기 사용자 인터페이스부로부터 전달받은 파일에 대한 문자열을 생성하고, 생성된 상기 문자열을 토대로 URL 정보를 생성하고, 생성된 URL 정보 및 상기 파일에 대한 메타데이터 정보를 URL 데이터베이스에 저장하는 제어부와, 상기 사용자 인터페이스부로부터 특정 URL 정보를 전달받은 경우, 상기 URL 데이터베이스에서 상기 특정 URL 정보에 대응하는 메타데이터 정보를 검색하고, 검색된 상기 메타데이터 정보를 토대로 메타데이터 서버에 상기 특정 파일의 저장 위치를 요청하여 응답 받는 프로토콜 서버와, 각 파일이 적어도 하나의 파일 서버에 저장되는 경우에 상기 각 파일의 메타데이터 정보를 저장하여 파일 목록을 관리하고, 상기 프로토콜 서버의 요청에 의해 상기 특정 파일이 저장된 파일 서버 정보를 제공하는 상기 메타데이터 서버를 포함한다.According to an embodiment of the present invention, a device may include: a user interface unit receiving a file from at least one computing device and receiving URL information; and generating a string for the file received from the user interface unit, based on the generated string. A control unit for generating URL information and storing the generated URL information and metadata information about the file in a URL database, and when the specific URL information is received from the user interface unit, the URL database corresponds to the specific URL information. A protocol server for retrieving metadata information, and requesting a storage location of the specific file from a metadata server based on the retrieved metadata information, and receiving each response if the file is stored in at least one file server. Manage file lists by storing metadata information from And, it includes at the request of the protocol server the metadata server that provides a file server information is stored in the specified file.

그리고 상기 제어부는, 상기 컴퓨팅 장치로부터 특정 파일에 대한 접근 권한 설정 요청 메시지를 수신한 경우, 상기 특정 파일이 저장된 파일 서버로 접근 권한 설정 정보를 전달하는 것을 특징으로 한다.The controller, when receiving the access authority setting request message for the specific file from the computing device, transmits the access authority setting information to the file server in which the specific file is stored.

그리고 상기 파일 서버는, 상기 메타데이터 서버로부터 전달된 상기 특정 파일에 대한 접근 권한의 설정 여부를 판단하고, 상기 접근 권한이 설정되어 있는 경우, 파일 접근을 요청한 컴퓨팅 장치에 대한 상기 접근 권한을 판단하여 접근 허용 여부를 상기 프로토콜 서버로 전달하는 파일 관리부와, 상기 각 파일들을 저장하는 파일 데이터베이스를 포함하는 것을 특징으로 한다.The file server determines whether to set an access right for the specific file transmitted from the metadata server, and if the access right is set, the file server determines the access right to the computing device requesting file access. And a file management unit for transmitting access permission to the protocol server, and a file database storing the respective files.

그리고 상기 사용자 인터페이스부는, 입력된 상기 URL 정보를 로드밸런싱 기능으로 기 설정된 프로토콜 서버에 전달하는 것을 특징으로 한다.The user interface unit may transfer the input URL information to a protocol server preset by a load balancing function.

그리고 상기 프로토콜 서버는, 적어도 하나의 HTTP 서버인 것을 특징으로 한다.The protocol server may be at least one HTTP server.

본 발명의 일 실시예 방법은, 제어부에서 분산 파일 시스템에 접속된 적어도 하나의 컴퓨팅 장치로부터 각 파일을 입력받는 과정과, 상기 각 파일에 대한 문자열을 생성하고, 생성된 상기 문자열을 토대로 URL 정보를 생성하는 과정과, 생성된 URL 정보와 메타데이터 서버로부터 전달된 상기 각 파일의 메타데이터 정보를 URL 데이터베이스에 저장하는 과정과, 상기 각 파일에 대한 URL 정보를 상기 각 파일 소유자의 컴퓨팅 장치로 전달하는 과정을 포함한다. According to an embodiment of the present invention, a process of receiving each file from at least one computing device connected to a distributed file system in a control unit, generating a string for each file, and generating URL information based on the generated string Generating, storing the generated URL information and metadata information of each file transmitted from the metadata server in a URL database, and transmitting the URL information for each file to the computing device of each file owner. Process.

그리고 상기 입력받는 과정은, 상기 컴퓨팅 장치로부터 특정 파일에 대한 접근 권한 설정 요청 메시지를 수신한 경우, 상기 특정 파일이 저장된 파일 서버로 접근 권한 설정 정보를 전달하는 것을 특징으로 한다.In the receiving of the input, when the access authority setting request message for the specific file is received from the computing device, the access authority setting information is transmitted to the file server in which the specific file is stored.

그리고 상기 문자열은, 식별 아이디(UUID), 문자열 생성 시간 정보, 해당 파일의 메타데이터 정보가 상기 메타데이터 서버에 등록되는 시점의 시간 정보 중 적어도 하나를 이용하여 생성하는 것을 특징으로 한다. The string may be generated using at least one of an identification ID (UUID), string generation time information, and time information at the time when metadata information of the corresponding file is registered in the metadata server.

그리고 상기 URL 정보는, 프로토콜://대표IP/문자열 또는 프로토콜://대표도메인/문자열 형식으로 생성하는 것을 특징으로 한다.The URL information may be generated in the format of protocol: // representative IP / string or protocol: // representative domain / string.

본 발명의 다른 실시예 방법은, 프로토콜 서버에서 적어도 하나의 컴퓨팅 장치가 입력한 URL 정보를 사용자 인터페이스부로부터 전달받는 과정과, 상기 URL 정보에 포함된 문자열을 이용하여 각 파일의 URL 정보가 저장된 URL 데이터베이스에서 상기 문자열에 해당하는 파일의 메타데이터 정보를 검색하는 과정과, 검색된 상기 메타데이터 정보를 메타데이터 서버로 전달하여 해당 파일의 위치를 요청하여 상기 해당 파일이 위치한 파일 서버 정보를 수신하는 과정과, 수신된 상기 파일 서버로 접근을 수행하는 과정을 포함한다.In another embodiment of the present invention, a method for receiving URL information input by at least one computing device from a user interface unit in a protocol server, and a URL in which URL information of each file is stored using a string included in the URL information. Retrieving metadata information of a file corresponding to the string from a database, transmitting the retrieved metadata information to a metadata server, requesting a location of the file, and receiving file server information at which the file is located; And performing access to the received file server.

그리고 상기 파일 서버 정보를 수신하는 과정은, 상기 해당 파일에 대한 접근 권한이 설정되어 있는 경우, 접근 허용 여부 메시지를 수신하는 것을 특징으로 한다.The receiving of the file server information may include receiving an access permission message when an access right for the corresponding file is set.

그리고 상기 사용자 인터페이스부로부터 전달받는 과정은, 상기 URL 정보를 로드밸런싱 기능으로 기 설정된 프로토콜 서버에 전달하는 것을 특징으로 한다.In the receiving of the user interface unit, the URL information may be delivered to a protocol server preset by a load balancing function.

그리고 상기 프로토콜 서버는, 적어도 하나의 HTTP 서버인 것을 특징으로 한다.The protocol server may be at least one HTTP server.

그리고 상기 URL 정보는, 상기 파일 서버에 저장되는 각 파일에 대한 문자열을 포함하여 프로토콜://대표IP/문자열 또는 프로토콜://대표도메인/문자열 형식으로 생성하는 것을 특징으로 한다.The URL information may be generated in a protocol: // representative IP / string or protocol: // representative domain / string format including a string for each file stored in the file server.

그리고 상기 문자열은, 식별 아이디(UUID), 문자열 생성 시간 정보, 해당 파일의 메타데이터 정보가 상기 메타데이터 서버에 등록되는 시점의 시간 정보 중 적어도 하나를 이용하여 생성하는 것을 특징으로 한다.The string may be generated using at least one of an identification ID (UUID), string generation time information, and time information at the time when metadata information of the corresponding file is registered in the metadata server.

본 발명에 있어서, 개시되는 발명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.In the present invention, effects obtained by representative ones of the disclosed inventions will be briefly described as follows.

본 발명은, 분산 파일 시스템을 기반으로 구현된 클라우드 스토리지 서비스에서 공유된 파일들에 대해 계층적 파일 인터페이스가 아닌 URL을 통해 해당 파일에 대한 접근을 가능하게 함으로써, 이동 무선 환경 등과 같은 지속적인 네트워크 접속이 보장되지 않는 환경에서 빠른 시간 내에 해당 파일에 대한 바로 접근을 가능하게 할 수 있으므로, 손쉬운 파일 검색 및 네트워크 접속 부하를 감소시킬 수 있는 효과가 있다.The present invention provides continuous network access, such as mobile wireless environment, by enabling access to the file through a URL rather than a hierarchical file interface for the files shared in a cloud storage service implemented based on a distributed file system. In a non-guaranteed environment, it is possible to immediately access the file in a short time, thereby facilitating easy file searching and network connection load.

도 1은 본 발명의 실시예에 따른 분산 파일 시스템의 구조를 도시한 블록도,
도 2는 본 발명의 실시예에 따른 분산 파일 시스템 내 제어부의 동작 절차를 도시한 흐름도,
도 3은 본 발명의 실시예에 따른 분산 파일 시스템 내 HTTP 서버의 동작 절차를 도시한 흐름도.
1 is a block diagram showing the structure of a distributed file system according to an embodiment of the present invention;
2 is a flowchart illustrating an operation procedure of a controller in a distributed file system according to an embodiment of the present invention;
3 is a flowchart illustrating an operation procedure of an HTTP server in a distributed file system according to an embodiment of the present invention.

본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하고, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 범주에 의해 정의될 뿐이다.Advantages and features of the present invention and methods for achieving them will be apparent with reference to the embodiments described below in detail with the accompanying drawings. However, the present invention is not limited to the embodiments disclosed below, but can be implemented in various different forms, and only the embodiments make the disclosure of the present invention complete, and the general knowledge in the art to which the present invention belongs. It is provided to fully inform the person having the scope of the invention, which is defined only by the scope of the claims.

본 발명의 실시예들을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명의 실시예에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. In describing the embodiments of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present invention, the detailed description thereof will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the embodiments of the present invention, which may vary according to intentions or customs of users and operators. Therefore, the definition should be based on the contents throughout this specification.

첨부된 블록도의 각 블록과 흐름도의 각 단계의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수도 있다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 블록도의 각 블록 또는 흐름도의 각 단계에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 블록도의 각 블록 또는 흐름도 각 단계에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 블록도의 각 블록 및 흐름도의 각 단계에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다. Each block of the accompanying block diagrams and combinations of steps of the flowchart may be performed by computer program instructions. These computer program instructions may be mounted on a processor of a general purpose computer, special purpose computer, or other programmable data processing equipment such that instructions executed through the processor of the computer or other programmable data processing equipment may not be included in each block or flowchart of the block diagram. It will create means for performing the functions described in each step. These computer program instructions may be stored in a computer usable or computer readable memory that can be directed to a computer or other programmable data processing equipment to implement functionality in a particular manner, and thus the computer usable or computer readable memory. It is also possible for the instructions stored in to produce an article of manufacture containing instruction means for performing the functions described in each block or flowchart of each step of the block diagram. Computer program instructions may also be mounted on a computer or other programmable data processing equipment, such that a series of operating steps may be performed on the computer or other programmable data processing equipment to create a computer-implemented process to create a computer or other programmable data. Instructions that perform processing equipment may also provide steps for performing the functions described in each block of the block diagram and in each step of the flowchart.

또한, 각 블록 또는 각 단계는 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실시예들에서는 블록들 또는 단계들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들 또는 단계들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들 또는 단계들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.In addition, each block or step may represent a portion of a module, segment or code that includes one or more executable instructions for executing a specified logical function (s). It should also be noted that in some alternative embodiments, the functions noted in the blocks or steps may occur out of order. For example, the two blocks or steps shown in succession may in fact be executed substantially concurrently or the blocks or steps may sometimes be performed in the reverse order, depending on the functionality involved.

본 발명의 실시예는 이동 무선 환경 등과 같이 지속적인 네트워크 접속이 보장되지 않는 환경에서 분산 파일 시스템 기반의 클라우드 스토리지 서비스 내에 있는 특정 파일에 허가된 사용자들이 바로 접근할 수 있는 환경을 지원하기 위한 것으로서, 클라우드 스토리지 서비스 내에서 파일 소유자의 요청에 의해 특정 파일에 바로 접근할 수 있는 URL을 자동 생성하고, 이를 이용하여 해당 파일에 접근을 수행하는 것이다.  An embodiment of the present invention is to support an environment in which authorized users can directly access specific files in a distributed file system-based cloud storage service in an environment where continuous network access is not guaranteed, such as a mobile wireless environment. This is to automatically generate a URL that can directly access a specific file at the request of the file owner within the storage service, and use the file to perform the access.

여기서, URL은 웹 문서의 각종 서비스를 제공하는 서버들 내에 있는 파일들의 위치를 표시하는 표준으로서, 일반적인 체계는 예를 들어, "프로토콜://정보를 가진 컴퓨터 이름/디렉터리 이름/파일 네임"으로 구성될 수 있다. 이에 본 발명의 실시예에서는 사용자가 선택한 특정 파일에 대해 "프로토콜://대표IP/문자열" 또는 "프로토콜://대표도메인/문자열"과 같이 URL을 생성함으로써, 문자열에 대응하는 특정 파일의 위치를 알 수 없도록 구성할 수 있으며, 생성된 URL로 특정 파일에 대한 바로 접근을 가능하게 하는 것이다. Here, the URL is a standard for indicating the location of files in servers providing various services of a web document, and the general scheme is, for example, "computer name / directory name / file name with protocol: // information". Can be configured. Accordingly, in the embodiment of the present invention, by generating a URL such as "protocol: // representative IP / string" or "protocol: // representative domain / string" for a specific file selected by a user, the location of the specific file corresponding to the string Can be configured to be unknown, and the generated URL allows direct access to a specific file.

도 1은 본 발명의 실시예에 따른 분산 파일 시스템의 구조를 도시한 블록도이다.1 is a block diagram illustrating a structure of a distributed file system according to an embodiment of the present invention.

도 1을 참조하면, 분산 파일 시스템(100)은 프로토콜 서버(110), 제어부(120), URL 데이터베이스(DB)(130), 메타데이터 서버(140), 제1파일 서버(150), 제 2 파일 서버(160), 제 n 파일 서버(170), 사용자 인터페이스부(180) 등을 포함하는 것으로서, 인터넷, 전용회선, 무선망 등과 같은 통신망을 통해 다수의 컴퓨팅 장치들과 연결을 수행할 수 있다. 즉, 웹하드, 인터넷하드 등의 용어로 불리는 데이터 저장 서비스를 제공하는 시스템들처럼 유무선 환경을 통해 스마트폰을 포함하는 이동통신 단말기, PDA, 노트북 및 개인용 컴퓨터와 같이 다양한 컴퓨팅 장치들과 연결될 수 있다.Referring to FIG. 1, the distributed file system 100 includes a protocol server 110, a controller 120, a URL database (DB) 130, a metadata server 140, a first file server 150, and a second. The file server 160, the n-th file server 170, the user interface unit 180, and the like may be connected to a plurality of computing devices through a communication network such as the Internet, a dedicated line, a wireless network, and the like. . That is, it can be connected to various computing devices such as mobile communication terminals, PDAs, notebooks, and personal computers including smartphones through wired and wireless environments, such as systems providing data storage services called terms such as web hard and internet hard. .

그리고 이러한 컴퓨팅 장치들은 분산 파일 시스템(100)과 접속하여 사용자 인증을 수행하고, 데이터의 저장, 관리, 삭제 요청, 시스템 사용에 따른 비용결제 등을 처리할 수 있다.In addition, the computing devices may be connected to the distributed file system 100 to perform user authentication, and may process data storage, management, deletion request, and payment according to system use.

사용자 인터페이스부(180)는 로드 밸런싱(load balancing) 기능을 수행하는 L4 스위치로서, 컴퓨팅 장치들과의 접속을 수행한 후, 특정 컴퓨팅 장치로부터 전송된 데이터를 프로토콜 서버(110)에 전달하고, 프로토콜 서버(110)로부터 전달된 데이터를 해당 컴퓨팅 장치에 전달할 수 있다.The user interface unit 180 is an L4 switch that performs a load balancing function, performs a connection with computing devices, and then transfers data transmitted from a specific computing device to the protocol server 110, and a protocol. Data transferred from the server 110 may be transferred to the corresponding computing device.

프로토콜 서버(110)는 복수의 서버를 포함하는 것으로서, 예를 들어, HTTP 또는 FTP 서버 등을 포함할 수 있다. 일반적으로 하이퍼텍스트를 사용하는 인터넷 망에서는 HTTP 서버를 이용하게 되며, 복수의 컴퓨팅 장치로부터 요청되는 URL 접속 부하에 따라 HTTP 서버1(112), HTTP 서버n(114)과 같이 지속적으로 추가될 수 있다.The protocol server 110 includes a plurality of servers, and may include, for example, an HTTP or FTP server. In general, an internet network using hypertext uses an HTTP server, and may be continuously added such as HTTP server 1 112 and HTTP server n 114 according to URL connection loads requested from a plurality of computing devices. .

이러한 프로토콜 서버(110)는 제어부(120)로 파일에 대한 송신을 수행하고, 컴퓨팅 장치로부터 요청된 파일에 대한 접근을 수행할 수 있다.The protocol server 110 may transmit a file to the controller 120 and access a file requested from the computing device.

제어부(120)는 분산 파일 시스템(100)에 포함된 각종 구성요소를 제어하며, 프로토콜 서버(110)로부터 수신한 파일을 메타데이터 서버(140)와 연결된 제 1 파일 서버(150) 내지 제 n 파일 서버(170)에 전달하여 저장될 수 있도록 제어한다. 이때, 제어부(120)는 파일의 종류, 확장자명, 크기 등을 토대로 파일을 분석한 후, 제 1 파일 서버(150) 내지 제 n 파일 서버(170) 중 하나를 선택하여 해당 파일 서버에 저장될 수 있도록 제어할 수 있다. The controller 120 controls various components included in the distributed file system 100 and controls the files received from the protocol server 110 from the first file server 150 to the nth file connected to the metadata server 140. Control to be transmitted to and stored in the server 170. At this time, the controller 120 analyzes the file based on the type, extension name, size, etc. of the file, selects one of the first file server 150 to the n th file server 170 to be stored in the corresponding file server. Can be controlled.

메타데이터 서버(140)는 제어부(120)로부터 전달된 파일을 제 1 파일 서버(150) 내지 제 n 파일 서버(170)에 전달하며, 각 파일에 대한 목록 및 메타데이터 정보를 추출하여 메타데이터 서버(140) 내에 포함된 데이터베이스 또는 URL DB(130)를 통해 등록할 수 있다. 그리고 주기적으로 제 1 파일 서버(150) 내지 제 n 파일 서버(170)에 저장된 파일의 목록 및 메타데이터 정보를 갱신하고, 예를 들어, 제 1 파일 서버(150) 내지 제 n 파일 서버(170)와 동기화를 수행할 수도 있다.The metadata server 140 delivers the file transferred from the control unit 120 to the first file server 150 to the n th file server 170, and extracts a list and metadata information about each file to the metadata server. It may be registered through the database or URL DB 130 included in (140). And periodically, the list of files and metadata information stored in the first file server 150 to the n-th file server 170 is updated, for example, the first file server 150 to the n-th file server 170 You can also synchronize with.

한편, 프로토콜 서버(110)가 메타데이터 정보를 통해 특정 파일에 대한 검색을 요청하는 경우, 메타데이터에 해당하는 특정 파일에 대한 위치검색을 수행하여 특정 파일이 위치한 파일 서버 정보를 프로토콜 서버(110)로 전달할 수 있다.On the other hand, when the protocol server 110 requests a search for a specific file through metadata information, the protocol server 110 performs a location search for a specific file corresponding to the metadata to display file server information where the specific file is located. Can be delivered to.

제 1 파일 서버(150)는 저장할 파일을 기록하는 제 1 파일 관리부(152)와 파일을 실제로 저장하는 제 1 파일 데이터베이스(154)를 포함할 수 있으며, 제 2 파일 서버(160)는 저장할 파일을 기록하는 제 2 파일 관리부(162)와 파일을 실제로 저장하는 제 2 파일 데이터베이스(164)를 포함할 수 있고, 마찬가지로 제 n 파일 서버(170)는 저장할 파일을 기록하는 제 n 파일 관리부(172)와 파일을 실제로 저장하는 제 n 파일 데이터베이스(174)를 포함할 수 있다.The first file server 150 may include a first file manager 152 for recording a file to be stored and a first file database 154 for actually storing the file. The second file server 160 may store a file to be stored. A second file manager 162 for recording and a second file database 164 for actually storing the file. Similarly, the n-th file server 170 may include an n-th file manager 172 for recording a file to be stored. And an n-th file database 174 that actually stores the file.

이처럼 제 1 파일 서버(150), 제 2 파일 서버(160) 내지 제 n 파일 서버(170)로 표현할 수 있는 복수의 파일 서버 개수는 저장 용량, 사용자의 수, 시스템의 상태 등에 따라 다양하게 변화될 수 있다.As described above, the number of file servers that can be represented by the first file server 150, the second file server 160, or the n-th file server 170 may vary depending on the storage capacity, the number of users, and the state of the system. Can be.

한편, 제어부(120)는 각 파일에 대한 문자열 및 URL을 생성하여 추후, 컴퓨팅 장치에서 프로토콜 서버(110)를 통해 해당 파일에 대한 접근을 수행하는 경우, URL 정보만으로도 손쉬운 접근을 수행할 수 있도록 한다.On the other hand, the controller 120 generates a string and a URL for each file and later, when accessing the file through the protocol server 110 in the computing device, it is possible to easily access only by the URL information. .

이에 제어부(120)는 문자열 생성부(122) 및 URL 생성부(124) 등을 포함할 수 있다. 문자열 생성부(122)는 복수의 컴퓨팅 장치로부터 업로드된 각 파일들에 대해 식별할 수 있는 문자열을 생성하는 것으로서, 예를 들어, "2010_6_2.txt" 파일이 특정 사용자의 가상 저장 공간에 저장되는 경우, 이 파일을 식별할 수 있는 문자열 "11ccbb"을 생성할 수 있다. 이러한 문자열은 식별 아이디(UUID:Universally Unique Identifiers)를 이용하거나, 문자열 생성부(122)에서의 문자열 생성 시간 정보, 해당 파일의 메타데이터 정보가 메타데이터 서버(140)에 등록되는 시점의 시간 정보 등을 활용할 수 있으며, 그 외 다양한 문자열 생성 알고리즘의 적용이 가능함은 물론이다.The controller 120 may include a string generator 122 and a URL generator 124. The string generator 122 generates a string that can be identified for each file uploaded from a plurality of computing devices. For example, when the "2010_6_2.txt" file is stored in a virtual storage space of a specific user. We can create the string "11ccbb" to identify this file. Such strings may be identified using identification IDs (UUID: Universally Unique Identifiers), string generation time information in the string generation unit 122, time information at the time when metadata information of the corresponding file is registered in the metadata server 140, and the like. Of course, it is possible to apply a variety of other string generation algorithm.

한편, 문자열 생성부(122)에서 생성된 문자열은 "2010_6_2.txt" 파일의 메타데이터 정보와 함께 URL DB(130)에 저장할 수도 있다. Meanwhile, the string generated by the string generator 122 may be stored in the URL DB 130 along with metadata information of the “2010_6_2.txt” file.

URL 생성부(124)에서는 문자열 생성부(122)에서 생성된 문자열 "11ccbb"을 토대로 URL을 생성할 수 있다. 예를 들어, "http://대표IP/11ccbb" 또는 "http://대표도메인/11ccbb"와 같은 형식으로 생성할 수 있다. 즉, 대표 IP 또는 대표 도메인 바로 다음에 문자열이 위치하도록 할 수 있으며, 이를 통해 파일 소유자 및 해당 파일에 접근하는 사용자는 문자열에 해당하는 파일이 어느 파일 서버의 하위 계층에 위치하는지 전혀 알 수 없도록 구성될 수 있다. 그리고 생성된 URL 정보는 파일 소유자의 컴퓨팅 장치로 전달할 수 있다. 이와 같이 생성하는 URL은 파일 소유자의 요청에 의해 파일 소유자가 선택한 중요파일들에 대해서만 생성할 수 있으나, 모든 파일들에 대해 생성할 수 있도록 구현하는 것도 가능하다.The URL generator 124 may generate a URL based on the string “11ccbb” generated by the string generator 122. For example, it may be generated in a format such as "http: // representative IP / 11ccbb" or "http: // representative domain / 11ccbb". That is, the string can be placed immediately after the representative IP or the representative domain, so that the file owner and the user accessing the file cannot know at all which file server the file corresponding to the string is located in the lower layer. Can be. The generated URL information may be transferred to the file owner's computing device. The generated URL may be generated only for important files selected by the file owner at the request of the file owner, but may be implemented to generate all files.

이에, 제어부(120)에서는 URL 생성부(124)에서 생성된 URL 정보를 프로토콜 서버(110)로 전달하여 파일 소유자의 컴퓨팅 장치로 전달될 수 있도록 하고, 해당 URL로 접속할 수 있는 접근 권한의 설정 여부를 요청할 수 있다. 이에 파일 소유자의 컴퓨팅 장치로부터 접근 권한 설정 요청 메시지를 수신한 경우, 이를 URL 정보와 함께 URL DB(130) 내에 연동(예컨대, URL: http://대표IP/11ccbb, 연동파일: 2010_6_2.txt(접근 권한 설정: yes))하여 저장될 수 있도록 한다. 한편, 해당 파일의 접근 권한 설정 정보는 파일이 저장된 파일 서버 DB에도 저장될 수 있도록 하여 예를 들어, 특정 컴퓨팅 장치에서 제1파일 서버(150)의 제1파일 DB(154)에 저장된 파일에 접근하는 경우, 제1파일 관리부(152)에서 권한 여부를 확인하여 접근 가능 여부를 통보할 수 있다.Accordingly, the controller 120 transmits the URL information generated by the URL generator 124 to the protocol server 110 to be transmitted to the computing device of the file owner, and whether to set an access right to access the URL. You can request In response to receiving the access authority setting request message from the computing device of the file owner, it is linked with the URL information in the URL DB 130 (for example, URL: http: // representative IP / 11ccbb, linked file: 2010_6_2.txt ( Access authority setting: yes)) to be saved. Meanwhile, the access authority setting information of the file may be stored in the file server DB in which the file is stored, for example, accessing the file stored in the first file DB 154 of the first file server 150 in a specific computing device. In this case, the first file manager 152 may check whether the permission is present and notify whether or not it is accessible.

이에 컴퓨팅 장치가 URL 정보를 이용하여 분산파일 시스템(100)에서 특정 파일에 접속하는 경우를 살펴보면, 컴퓨팅 장치에서는 분산파일 시스템(100)에 접속하여 생성된 URL을 통한 특정 파일(예컨대, 2010_6_2.txt)로의 접근을 위해, 해당 파일에 대한 URL 정보로서, http://대표IP/11ccbb를 사용자 인터페이스부(180)에 전송하면, 사용자 인터페이스부(180)에서는 내부 로드밸런싱 알고리즘에 의해 프로토콜 서버(110)의 HTTP 서버1(112) 내지 HTTP 서버n(114) 중 하나에 요청 메시지를 전달할 수 있다.When the computing device accesses a specific file in the distributed file system 100 using URL information, the computing device accesses a specific file through a URL generated by accessing the distributed file system 100 (for example, 2010_6_2.txt). In order to access), http: // representative IP / 11ccbb is transmitted to the user interface unit 180 as URL information about the file, and the user interface unit 180 uses the internal load balancing algorithm to set the protocol server 110. The request message can be delivered to one of the HTTP server 1 (112) to the HTTP server n (114).

예를 들어, HTTP 서버1(112)가 선택된 경우, 선택된 HTTP 서버1(112)에서는 URL DB(130)에서 해당 URL 정보 중 문자열 11ccbb에 해당하는 2010_6_2.txt 파일의 메타데이터 정보를 확인하고, 2010_6_2.txt 파일의 메타데이터 정보를 토대로 메타데이터 서버(140)로 파일의 저장 위치를 요청할 수 있다. 이에 메타데이터 서버(140)로부터 2010_6_2.txt 파일이 제1 파일 서버(150)에 저장되어 있다는 응답 메시지를 수신한 경우, HTTP 서버1(112)에서는 제1 파일 서버(150)에 접근할 수 있다.For example, when the HTTP server 1 112 is selected, the selected HTTP server 1 112 checks the metadata information of the 2010_6_2.txt file corresponding to the string 11ccbb of the corresponding URL information in the URL DB 130, and 2010_6_2. The storage location of the file may be requested to the metadata server 140 based on metadata information of the .txt file. Accordingly, when the response message indicating that the 2010_6_2.txt file is stored in the first file server 150 is received from the metadata server 140, the HTTP server 1 112 may access the first file server 150. .

이때, 제1파일 관리부(152)에서는 2010_6_2.txt 파일의 접근 권한 설정 여부를 판단하여 접근 권한이 설정되어 있는 경우에는 컴퓨팅 장치의 접근 권한 가능 여부를 판단할 수 있다. 이에 파일 소유자만 접근이 가능한 경우로서 접근을 요청한 컴퓨팅 장치가 파일 소유자의 컴퓨팅 장치가 아닌 것으로 판단된 경우에는 컴퓨팅 장치로 파일로의 접근 불가 통보 메시지를 전송할 수 있다. In this case, the first file manager 152 may determine whether to set the access right of the 2010_6_2.txt file, and if the access right is set, it may determine whether the access right of the computing device is possible. Accordingly, when only the file owner is accessible and determines that the computing device requesting access is not the computing device of the file owner, it may transmit a message indicating that the file cannot be accessed to the computing device.

그러나, 기 지정된 컴퓨팅 장치이거나, 파일 소유자의 컴퓨팅 장치 또는 모든 컴퓨팅 장치가 접근 가능한 파일로 설정된 경우에는 해당 파일의 데이터에 접근 가능 메시지를 전송하거나, 별도의 메시지 없이 파일로의 접근을 허용할 수 있다.However, if the computing device is a predetermined computing device, or if the computing device of the file owner or all computing devices is set as an accessible file, an accessible message may be transmitted to the data of the file, or access to the file may be allowed without a separate message. .

한편, 제1파일 관리부(152)에서 컴퓨팅 장치로부터 2010_6_2.txt 파일의 삭제 요청을 수신한 경우에는 해당 파일을 삭제하고, 메타데이터 서버(140) 및 제어부(120)로 해당 파일의 삭제 정보를 전달함으로써, URL DB(130)에 저장된 파일의 메타데이터 정보 및 URL 정보를 삭제할 수 있으며, 이때 삭제순서는 바뀔 수 있다.On the other hand, when the first file management unit 152 receives a deletion request for the file 2010_6_2.txt from the computing device, the file is deleted and the deletion information of the file is transmitted to the metadata server 140 and the controller 120. By doing so, the metadata information and the URL information of the file stored in the URL DB 130 may be deleted, and the deletion order may be changed.

그리고 제1파일 관리부(152)에서 컴퓨팅 장치로부터 2010_6_2.txt 파일의 URL 정보에 대한 삭제 요청을 수신한 경우에는, 구현 방식에 따라 URL 정보에 대응하는 2010_6_2.txt 파일 및 관련 정보를 모두 삭제하거나, URL 정보만 삭제할 수 있다. 즉, 2010_6_2.txt 파일 관련 정보를 모두 삭제하는 경우에는 파일 삭제 시와 동일하며, URL 정보만 삭제하는 경우에는 삭제 요청 정보를 제어부(120)로 전달하여 제어부(120)에서 URL DB(130)에 저장된 파일의 URL 정보만을 삭제할 수 있다.When the first file management unit 152 receives a deletion request for URL information of the 2010_6_2.txt file from the computing device, the first file manager 152 deletes all of the 2010_6_2.txt file and the related information corresponding to the URL information according to the implementation method. Only URL information can be deleted. That is, when all the information related to the 2010_6_2.txt file is deleted, the same as when the file is deleted, and when deleting only the URL information, the deletion request information is transmitted to the control unit 120 to the URL DB 130 from the control unit 120. Only URL information of saved files can be deleted.

도 2는 본 발명의 실시예에 따른 분산 파일 시스템 내 제어부의 동작 절차를 도시한 흐름도이다.2 is a flowchart illustrating an operation procedure of a controller in a distributed file system according to an exemplary embodiment of the present invention.

도 2를 참조하면, 200단계에서 분산 파일 시스템(100)의 제어부(120)는 사용자의 컴퓨팅 장치로부터 전송된 파일을 제1 파일 서버(150) 내지 제n파일 서버(170) 중 하나의 서버에 전달하여 저장되도록 하고, 해당 파일에 대한 수정, 복사 등을 통해 생성되는 새로운 파일을 제어한다.Referring to FIG. 2, in step 200, the controller 120 of the distributed file system 100 transmits a file transmitted from a user's computing device to one of the first file server 150 to the n th file server 170. Saves it by passing it, and controls new file created by modifying and copying the file.

그리고 202단계에서 사용자의 컴퓨팅 장치로부터 URL 생성이 요청된 파일을 저장하는 경우, 문자열 생성부(122)에서 해당 파일에 대한 문자열을 생성하게 된다.In operation 202, when a file for which URL generation is requested from the computing device of the user is stored, the string generator 122 generates a string for the file.

204단계에서 제어부(120)의 URL 생성부(124)는 문자열 생성부(122)를 통해 생성된 문자열을 토대로 URL 정보를 생성하게 된다. 206단계에서는 생성된 URL 정보를 URL DB(130)에서 해당 파일의 메타데이터과 연동되도록 저장하게 된다.In operation 204, the URL generator 124 of the controller 120 generates URL information based on the string generated by the string generator 122. In step 206, the generated URL information is stored in the URL DB 130 to be linked with metadata of the corresponding file.

그리고 208단계에서 제어부(120)는 생성된 URL 정보를 파일 소유자의 컴퓨팅 장치로 전달하게 된다.In operation 208, the controller 120 transmits the generated URL information to the computing device of the file owner.

도 3은 본 발명의 실시예에 따른 분산 파일 시스템 내 HTTP 서버의 동작 절차를 도시한 흐름도이다.3 is a flowchart illustrating an operation procedure of an HTTP server in a distributed file system according to an embodiment of the present invention.

도 3을 참조하면, 컴퓨팅 장치의 사용자는 특정 파일에 대한 접근을 위해 사용자 인터페이스부(180)로 URL 정보를 전달하게 된다. 그리고 사용자 인터페이스부(180)에서는 로드 밸런싱 알고리즘을 통해 프로토콜 서버(110)에서 어느 한 HTTP 서버(예컨대, HTTP 서버1(112))을 선택하여 URL 정보를 전달하게 된다.Referring to FIG. 3, a user of a computing device transmits URL information to the user interface 180 to access a specific file. In addition, the user interface 180 selects one HTTP server (eg, HTTP server 1 112) from the protocol server 110 through a load balancing algorithm, and delivers URL information.

즉, HTTP 서버1(112)에서는 300단계에서 사용자 인터페이스부(180)로부터 URL 정보를 전달받게 되며, 302단계에서 URL 정보에 포함된 문자열을 토대로 URL DB(130)에서 파일의 메타데이터 정보를 검색하게 된다. 이에 메타데이터 정보가 검색된 경우, 304단계에서 검색된 메타데이터 정보를 메타데이터 서버(140)로 전달하여 파일의 위치 정보를 요청하게 된다.That is, the HTTP server 1 112 receives the URL information from the user interface unit 180 in step 300, and retrieves metadata information of the file from the URL DB 130 based on the string included in the URL information in step 302. Done. When metadata information is found, the metadata information retrieved in step 304 is transmitted to the metadata server 140 to request location information of the file.

이에 메타데이터 서버(140)로부터 파일이 저장되어 있는 파일 서버의 정보를 응답 받은 경우, 해당 파일 서버로 접근하여 파일에 접근하게 된다. 다만, 해당 파일에 접근 권한이 설정되어 있는 경우에는 306단계에서 파일 서버 내의 파일 관리부에서 이를 확인하여 파일 접근을 요청한 컴퓨팅 장치의 접근 권한을 확인하게 된다.In response to receiving the information of the file server storing the file from the metadata server 140, the file server is accessed to access the file. However, when the access authority is set for the file, the file management unit in the file server checks the access authority of the computing device that requested the file access in step 306.

이에 접근 권한이 없는 컴퓨팅 장치인 경우에는 308단계에서 해당 파일 서버로부터 파일 접근 불가 메시지를 통보 받게 된다. 그러나 접근 권한이 설정되어 있는 컴퓨팅 장치인 경우에는 310단계에서 해당 파일 서버로부터 파일 접근 가능 메시지를 수신 받거나, 별도의 메시지 없이 해당 파일에 대한 접근을 허용하게 된다. In the case of a computing device that does not have an access right, in step 308, a file access disable message is notified from the file server. However, in the case of a computing device having an access right set in step 310, the file access message is received from the file server or the file is allowed to be accessed without a separate message.

이와 같이 사용자는 컴퓨팅 장치에서 해당 파일에 대해 미리 알고 있는 URL 정보를 토대로 파일에 손쉽게 접근함으로써, 일반적으로 사용하는 계층적 파일 인터페이스에서와 같이 일일이 폴더별 접근을 수행하지 않아도 된다.In this way, the user can easily access the file based on URL information previously known to the file in the computing device, so that the user does not have to perform folder-by-fold access as in a hierarchical file interface.

이상 설명한 바와 같이, 본 발명의 실시예는 범용 하드웨어 기반의 분산 파일 시스템으로 구현된 클라우드 스토리지 서비스 내에서 파일 소유자의 요청에 의해 특정 파일에 바로 접근할 수 있는 URL을 자동 생성하고, 이를 이용하여 해당 파일에 바로 접근을 수행한다.As described above, the embodiment of the present invention automatically generates a URL for directly accessing a specific file at the request of a file owner in a cloud storage service implemented as a general-purpose hardware-based distributed file system, and uses the corresponding Perform direct access to the file.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims, and equivalents thereof.

이상과 같이, 본 발명에 따른 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치 및 그 방법은, 데이터 안정성 및 성능 향상을 위해 파일별로 복제본들을 여러 저장공간으로 분산하여 생성 및 관리를 수행하는 분산 파일 시스템과, 이러한 분산 파일 시스템을 기반으로 구현된 클라우드 스토리지 서비스에서 공유된 파일들에 대해 계층적 파일 인터페이스가 아닌 URL을 통해 해당 파일에 대한 접근을 가능하게 함으로써, 이동 무선 환경 등과 같은 지속적인 네트워크 접속이 보장되지 않는 환경에서 빠른 시간 내에 해당 파일에 바로 접근할 수 있는 환경을 지원하기 위한 것에 적합하다.As described above, the data management apparatus and method using the URL information in the distributed file system according to the present invention, distributed file system for generating and managing the distribution by copying the copies to multiple storage spaces for each file to improve data stability and performance In addition, the cloud storage service based on the distributed file system enables access to the shared files through URLs rather than hierarchical file interfaces, thereby ensuring continuous network access such as mobile wireless environment. It is suitable for supporting an environment where the file can be accessed directly in a timely environment.

100 : 분산 파일 시스템 110 : 프로토콜 서버
112 : HTTP 서버1 114 : HTTP 서버n
120 : 제어부 122 : 문자열 생성부
124 : URL 생성부 130 : URL DB
140 : 메타데이터 서버 150 : 제1파일 서버
152 : 제 1 파일 관리부 154 : 제 1 파일 데이터베이스
160 : 제 2 파일 서버 162 : 제 2 파일 관리부
164 : 제 2 파일 데이터베이스 170 : 제 n 파일 서버
172 : 제 n 파일 관리부 174 : 제 n 파일 데이터베이스
180 : 사용자 인터페이스부
100: distributed file system 110: protocol server
112: HTTP server 1 114: HTTP server n
120: control unit 122: string generation unit
124: URL generation unit 130: URL DB
140: metadata server 150: the first file server
152: first file management unit 154: first file database
160: second file server 162: second file management unit
164: second file database 170: the n-th file server
172: n-th file management unit 174: n-th file database
180: user interface unit

Claims (15)

적어도 하나의 컴퓨팅 장치로부터 파일을 수신하고 URL 정보를 입력받는 사용자 인터페이스부와,
상기 사용자 인터페이스부로부터 전달받은 파일에 대한 문자열을 생성하고, 생성된 상기 문자열을 토대로 URL 정보를 생성하고, 생성된 URL 정보 및 상기 파일에 대한 메타데이터 정보를 URL 데이터베이스에 저장하는 제어부와,
상기 사용자 인터페이스부로부터 특정 URL 정보를 전달받은 경우, 상기 URL 데이터베이스에서 상기 특정 URL 정보에 대응하는 메타데이터 정보를 검색하고, 검색된 상기 메타데이터 정보를 토대로 메타데이터 서버에 상기 특정 파일의 저장 위치를 요청하여 응답 받는 프로토콜 서버와,
각 파일이 적어도 하나의 파일 서버에 저장되는 경우에 상기 각 파일의 메타데이터 정보를 저장하여 파일 목록을 관리하고, 상기 프로토콜 서버의 요청에 의해 상기 특정 파일이 저장된 파일 서버 정보를 제공하는 상기 메타데이터 서버
를 포함하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치.
A user interface unit receiving a file from at least one computing device and receiving URL information;
A controller for generating a string for the file received from the user interface unit, generating URL information based on the generated string, and storing the generated URL information and metadata information about the file in a URL database;
When the specific URL information is received from the user interface unit, search for metadata information corresponding to the specific URL information in the URL database, and request a storage location of the specific file from a metadata server based on the retrieved metadata information. The protocol server receiving the response,
When each file is stored in at least one file server, the metadata storing the metadata information of each file to manage a file list, and providing the file server information storing the specific file at the request of the protocol server. server
Data management apparatus using URL information in a distributed file system including a.
제 1항에 있어서,
상기 제어부는,
상기 컴퓨팅 장치로부터 특정 파일에 대한 접근 권한 설정 요청 메시지를 수신한 경우, 상기 특정 파일이 저장된 파일 서버로 접근 권한 설정 정보를 전달하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치.
The method of claim 1,
The control unit,
When the access authority setting request message for the specific file is received from the computing device, the data management device using the URL information in the distributed file system, characterized in that for transmitting the access authority setting information to the file server where the specific file is stored.
제 1항에 있어서,
상기 파일 서버는,
상기 메타데이터 서버로부터 전달된 상기 특정 파일에 대한 접근 권한의 설정 여부를 판단하고, 상기 접근 권한이 설정되어 있는 경우, 파일 접근을 요청한 컴퓨팅 장치에 대한 상기 접근 권한을 판단하여 접근 허용 여부를 상기 프로토콜 서버로 전달하는 파일 관리부와,
상기 각 파일들을 저장하는 파일 데이터베이스
를 포함하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치.
The method of claim 1,
The file server,
It is determined whether the access right for the specific file transmitted from the metadata server is set, and if the access right is set, the access right is determined for the computing device that requested the file access to determine whether to permit the access. File management unit to deliver to the server,
A file database for storing each of the files
Data management apparatus using the URL information in a distributed file system comprising a.
제 1항에 있어서,
상기 사용자 인터페이스부는,
입력된 상기 URL 정보를 로드밸런싱 기능으로 기 설정된 프로토콜 서버에 전달하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치.
The method of claim 1,
The user interface unit,
Device for managing data using URL information in a distributed file system, characterized in that for transmitting the input URL information to a protocol server set by the load balancing function.
제 1항에 있어서,
상기 프로토콜 서버는,
적어도 하나의 HTTP 서버인 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 장치.
The method of claim 1,
The protocol server,
Data management apparatus using URL information in the distributed file system, characterized in that at least one HTTP server.
제어부에서 분산 파일 시스템에 접속된 적어도 하나의 컴퓨팅 장치로부터 각 파일을 입력받는 과정과,
상기 각 파일에 대한 문자열을 생성하고, 생성된 상기 문자열을 토대로 URL 정보를 생성하는 과정과,
생성된 URL 정보와 메타데이터 서버로부터 전달된 상기 각 파일의 메타데이터 정보를 URL 데이터베이스에 저장하는 과정과,
상기 각 파일에 대한 URL 정보를 상기 각 파일 소유자의 컴퓨팅 장치로 전달하는 과정
을 포함하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
Receiving each file from at least one computing device connected to the distributed file system in a control unit;
Generating a string for each file and generating URL information based on the generated string;
Storing the generated URL information and metadata information of each file transmitted from the metadata server in a URL database;
Delivering the URL information for each file to the computing device of each file owner;
Data management method using URL information in a distributed file system including a.
제 6항에 있어서,
상기 입력받는 과정은,
상기 컴퓨팅 장치로부터 특정 파일에 대한 접근 권한 설정 요청 메시지를 수신한 경우,
상기 특정 파일이 저장된 파일 서버로 접근 권한 설정 정보를 전달하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 6,
The process of receiving the input,
When the access permission setting message for a specific file is received from the computing device,
Data management method using the URL information in the distributed file system, characterized in that for transmitting the access authority setting information to the file server in which the specific file is stored.
제 6항에 있어서,
상기 문자열은,
식별 아이디(UUID), 문자열 생성 시간 정보, 해당 파일의 메타데이터 정보가 상기 메타데이터 서버에 등록되는 시점의 시간 정보 중 적어도 하나를 이용하여 생성하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 6,
The string is
Data using URL information in a distributed file system, characterized in that it is generated using at least one of identification ID (UUID), character string generation time information, and time information at the time when metadata information of the corresponding file is registered in the metadata server. How to manage.
제 6항에 있어서,
상기 URL 정보는,
프로토콜://대표IP/문자열 또는 프로토콜://대표도메인/문자열 방식으로 생성하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 6,
The URL information,
A method of data management using URL information in a distributed file system, characterized in that the protocol: // representative IP / string or protocol: // representative domain / string is generated.
프로토콜 서버에서 적어도 하나의 컴퓨팅 장치가 입력한 URL 정보를 사용자 인터페이스부로부터 전달받는 과정과,
상기 URL 정보에 포함된 문자열을 이용하여 각 파일의 URL 정보가 저장된 URL 데이터베이스에서 상기 문자열에 해당하는 파일의 메타데이터 정보를 검색하는 과정과,
검색된 상기 메타데이터 정보를 메타데이터 서버로 전달하여 해당 파일의 위치를 요청하여 상기 해당 파일이 위치한 파일 서버 정보를 수신하는 과정과,
수신된 상기 파일 서버로 접근을 수행하는 과정
을 포함하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
Receiving, at a protocol server, URL information input by at least one computing device from a user interface unit;
Searching for metadata information of a file corresponding to the string in a URL database in which URL information of each file is stored by using the string included in the URL information;
Transmitting the retrieved metadata information to a metadata server to request a location of a corresponding file to receive file server information on which the corresponding file is located;
Process of performing access to the received file server
Data management method using URL information in a distributed file system including a.
제 10항에 있어서,
상기 파일 서버 정보를 수신하는 과정은,
상기 해당 파일에 대한 접근 권한이 설정되어 있는 경우, 접근 허용 여부 메시지를 수신하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 10,
Receiving the file server information,
If the access authority for the corresponding file is set, the data management method using the URL information in the distributed file system, characterized in that for receiving an access permission message.
제 10항에 있어서,
상기 사용자 인터페이스부로부터 전달받는 과정은,
상기 URL 정보를 로드밸런싱 기능으로 기 설정된 프로토콜 서버에 전달하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 10,
The process of receiving from the user interface unit,
The data management method using the URL information in the distributed file system, characterized in that for transmitting the URL information to a protocol server set by the load balancing function.
제 10항에 있어서,
상기 프로토콜 서버는,
적어도 하나의 HTTP 서버인 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 10,
The protocol server,
Data management method using URL information in a distributed file system, characterized in that at least one HTTP server.
제 10항에 있어서,
상기 URL 정보는,
상기 파일 서버에 저장되는 각 파일에 대한 문자열을 포함하여 프로토콜://대표IP/문자열 또는 프로토콜://대표도메인/문자열 방식으로 생성하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 10,
The URL information,
Method for managing data using URL information in a distributed file system, including a string for each file stored in the file server, and generating in a protocol: // representative IP / string or protocol: // representative domain / string method. .
제 10항에 있어서,
상기 문자열은,
식별 아이디(UUID), 문자열 생성 시간 정보, 해당 파일의 메타데이터 정보가 상기 메타데이터 서버에 등록되는 시점의 시간 정보 중 적어도 하나를 이용하여 생성하는 것을 특징으로 하는 분산 파일 시스템에서 URL 정보를 이용한 데이터 관리 방법.
The method of claim 10,
The string is
Data using URL information in a distributed file system, characterized in that it is generated using at least one of identification ID (UUID), character string generation time information, and time information at the time when metadata information of the corresponding file is registered in the metadata server. How to manage.
KR1020100075436A 2010-08-05 2010-08-05 Apparatus for managing data by using url information in a distributed file system and method thereof KR101666064B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020100075436A KR101666064B1 (en) 2010-08-05 2010-08-05 Apparatus for managing data by using url information in a distributed file system and method thereof

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020100075436A KR101666064B1 (en) 2010-08-05 2010-08-05 Apparatus for managing data by using url information in a distributed file system and method thereof

Publications (2)

Publication Number Publication Date
KR20120013475A true KR20120013475A (en) 2012-02-15
KR101666064B1 KR101666064B1 (en) 2016-10-13

Family

ID=45836945

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100075436A KR101666064B1 (en) 2010-08-05 2010-08-05 Apparatus for managing data by using url information in a distributed file system and method thereof

Country Status (1)

Country Link
KR (1) KR101666064B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014003516A1 (en) * 2012-06-29 2014-01-03 인텔렉추얼디스커버리 주식회사 Method and apparatus for providing data sharing
KR20140141925A (en) * 2013-06-03 2014-12-11 양진호 Apparatus and method for downloading massive file
KR101590554B1 (en) * 2014-09-25 2016-02-01 이주형 Method and apparatus for uploading or downloading file based on tag

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102049420B1 (en) 2018-03-27 2019-11-27 주식회사 리얼타임테크 Method for parallel query processing of data comprising a replica in distributed database
KR101943570B1 (en) 2018-03-28 2019-01-30 주식회사 리얼타임테크 Method for distributed processing of moving object data in distributed database system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162441A (en) * 2001-11-28 2003-06-06 Oki Electric Ind Co Ltd Distributed file-sharing system and file-access control method therefor
JP2007287180A (en) * 2007-07-26 2007-11-01 Hitachi Ltd Distributed file system, distributed file system server, and method for accessing distributed file system
JP2007328727A (en) * 2006-06-09 2007-12-20 Hitachi Ltd Distributed file management method and information processor
KR20100062442A (en) * 2008-12-02 2010-06-10 엔에이치엔비즈니스플랫폼 주식회사 System and method for accessing to file storage

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003162441A (en) * 2001-11-28 2003-06-06 Oki Electric Ind Co Ltd Distributed file-sharing system and file-access control method therefor
JP2007328727A (en) * 2006-06-09 2007-12-20 Hitachi Ltd Distributed file management method and information processor
JP2007287180A (en) * 2007-07-26 2007-11-01 Hitachi Ltd Distributed file system, distributed file system server, and method for accessing distributed file system
KR20100062442A (en) * 2008-12-02 2010-06-10 엔에이치엔비즈니스플랫폼 주식회사 System and method for accessing to file storage

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014003516A1 (en) * 2012-06-29 2014-01-03 인텔렉추얼디스커버리 주식회사 Method and apparatus for providing data sharing
KR101401794B1 (en) * 2012-06-29 2014-06-27 인텔렉추얼디스커버리 주식회사 Method and apparatus for providing data sharing
KR20140141925A (en) * 2013-06-03 2014-12-11 양진호 Apparatus and method for downloading massive file
KR101590554B1 (en) * 2014-09-25 2016-02-01 이주형 Method and apparatus for uploading or downloading file based on tag

Also Published As

Publication number Publication date
KR101666064B1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
US11144573B2 (en) Synchronization protocol for multi-premises hosting of digital content items
US11372990B2 (en) Restricting access to content
US9747013B2 (en) Predictive caching and fetch priority
EP3360059B1 (en) Synchronization protocol for multi-premises hosting of digital content items
US9852147B2 (en) Selective synchronization and distributed content item block caching for multi-premises hosting of digital content items
JP2019517042A (en) Providing access to hybrid applications offline
US10489369B2 (en) Providing a content preview
US20140304384A1 (en) Uploading large content items
JP2007509410A (en) System and method for generating an aggregated data view in a computer network
US9875212B1 (en) Managing cached information corresponding to a distributed storage system
US11221993B2 (en) Limited deduplication scope for distributed file systems
US9854030B2 (en) Searching content associated with multiple applications
US10078433B2 (en) Sharing a template file
KR101666064B1 (en) Apparatus for managing data by using url information in a distributed file system and method thereof
US9665732B2 (en) Secure Download from internet marketplace
JP6782219B2 (en) Data utilization support device, data utilization support system, and data utilization support method
US10621148B1 (en) Maintaining multiple object stores in a distributed file system

Legal Events

Date Code Title Description
N231 Notification of change of applicant
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: 20190916

Year of fee payment: 4