KR101718397B1 - System and method for distributively storing files - Google Patents

System and method for distributively storing files Download PDF

Info

Publication number
KR101718397B1
KR101718397B1 KR1020150055119A KR20150055119A KR101718397B1 KR 101718397 B1 KR101718397 B1 KR 101718397B1 KR 1020150055119 A KR1020150055119 A KR 1020150055119A KR 20150055119 A KR20150055119 A KR 20150055119A KR 101718397 B1 KR101718397 B1 KR 101718397B1
Authority
KR
South Korea
Prior art keywords
server
client
storage
clients
file
Prior art date
Application number
KR1020150055119A
Other languages
Korean (ko)
Other versions
KR20160124475A (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 KR1020150055119A priority Critical patent/KR101718397B1/en
Publication of KR20160124475A publication Critical patent/KR20160124475A/en
Application granted granted Critical
Publication of KR101718397B1 publication Critical patent/KR101718397B1/en

Links

Images

Classifications

    • G06F17/30194
    • G06F17/302
    • G06F17/30233

Landscapes

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

Abstract

파일의 분산 저장 시스템 및 방법이 개시된다. 본 발명의 일 실시예에 따른 파일의 분산 저장 시스템은, 스토리지를 구비하고, 사용자로부터 상기 스토리지의 가용 크기를 입력받아 접속 요청 메시지를 생성하는 복수의 클라이언트; 및 상기 접속 요청 메시지에 따라 상기 클라이언트의 접속을 허용하고, 저장하고자 하는 대상 파일을 분할하며, 분할된 상기 대상 파일을 상기 스토리지의 가용 크기를 초과하지 않는 범위에서 복수의 상기 클라이언트 내 스토리지에 분산 저장하는 서버를 포함한다.A distributed storage system and method for files is disclosed. According to an embodiment of the present invention, there is provided a distributed storage system for a file, comprising: a plurality of clients having a storage, receiving an available size of the storage from a user and generating a connection request message; And distributing the divided target files to a plurality of storage devices in the client in a range that does not exceed an available size of the storage, Lt; / RTI >

Description

파일의 분산 저장 시스템 및 방법 {SYSTEM AND METHOD FOR DISTRIBUTIVELY STORING FILES}[0001] SYSTEM AND METHOD FOR DISTRIBUTIVELY STORING FILES [0002]

본 발명은 파일을 분산 저장하는 기술과 관련된다.
The present invention relates to a technique for distributed storage of files.

빅데이터 시대가 도래함에 따라, 대용량 데이터를 효율적으로 처리하기 위한 방법으로서 하둡 분산 파일 시스템(HDFS: Hadoop Distributed File System) 기술이 사용되고 있다. 하둡 분산 파일 시스템의 경우 파일과 블록, 데이터 노드의 매핑 정보를 관리하는 네임 노드(Namenode), 각 파일을 블록 단위로 여러 장소에 분산 저장하는 데이터 노드(Datanode) 및 파일 백업을 위한 백업 노드(Backupnode)를 이용하여 데이터를 분산 저장한다. 그러나, 종래 기술에 따르면 네임 노드 및 백업 노드 모두에서 장애가 발생한 경우 데이터 노드에 저장된 파일들이 무용지물이 되는 문제점이 있었다. 또한, 종래 기술에 따르면, 사용자의 파일이 어디에 저장되어 있는지 여부를 알 수 없어 저장된 파일에 대한 손실 위험이 있었으며, 파일 메타 정보를 중앙 서버에서 관리함에 따라 서버의 다운 등과 같은 장애 발생시 이에 대한 대처가 어려운 문제점이 있었다.
As the age of big data comes, Hadoop Distributed File System (HDFS) technology is being used as a method for efficiently processing large amounts of data. In the case of the Hadoop distributed file system, Namenode manages mapping information of files, blocks, and data nodes. Datanode distributes each file in several places in block units. Backupnode (Backupnode) ) To distribute the data. However, according to the related art, there is a problem in that, when a failure occurs in both the name node and the backup node, the files stored in the data node become useless. In addition, according to the related art, there is a risk of loss of the stored file because the user can not know where the file is stored. When the file meta information is managed by the central server, a countermeasure There was a difficult problem.

한국등록특허공보 제10-1431912호(2014.08.12)Korean Registered Patent No. 10-1431912 (Aug. 12, 2014)

본 발명의 실시예들은 클라이언트 내 스토리지에 대상 파일을 효율적으로 분산 저장하기 위한 수단을 제공하기 위한 것이다.
Embodiments of the present invention are intended to provide a means for efficiently distributing destination files to storage in a client.

본 발명의 예시적인 실시예에 따르면, 스토리지를 구비하고, 사용자로부터 상기 스토리지의 가용 크기를 입력받아 접속 요청 메시지를 생성하는 복수의 클라이언트; 및 상기 접속 요청 메시지에 따라 상기 클라이언트의 접속을 허용하고, 저장하고자 하는 대상 파일을 분할하며, 분할된 상기 대상 파일을 상기 스토리지의 가용 크기를 초과하지 않는 범위에서 복수의 상기 클라이언트 내 스토리지에 분산 저장하는 서버를 포함하는, 파일의 분산 저장 시스템이 제공된다.According to an exemplary embodiment of the present invention, there is provided a storage system comprising: a plurality of clients having a storage, receiving an available size of the storage from a user and generating a connection request message; And distributing the divided target files to a plurality of storage devices in the client in a range that does not exceed an available size of the storage, A distributed storage system of files is provided.

상기 접속 요청 메시지는, 상기 클라이언트 내 스토리지의 가용 크기, 상기 클라이언트의 아이디, 패스워드, 아이피 주소 및 포트 번호 중 하나 이상을 포함할 수 있다.The connection request message may include at least one of an available size of the storage in the client, an ID, a password, an IP address, and a port number of the client.

상기 서버는, 상기 클라이언트 내 스토리지의 가용 크기 중 상기 클라이언트 내 스토리지에 저장된 상기 대상 파일의 크기를 제외한 나머지 크기에 해당하는 더미 파일(dummy file)을 생성하여 상기 클라이언트 내 스토리지에 저장할 수 있다.The server may generate a dummy file corresponding to the remaining size of the available storage size of the client, excluding the size of the target file stored in the storage in the client, and store the dummy file in the client storage.

상기 서버는, 분산 저장된 상기 대상 파일의 이름, 크기, 소유자, 유형, 저장 위치 및 저장 일자 중 하나 이상을 포함하는 파일 메타 정보를 상기 클라이언트 각각에 송신할 수 있다.The server may transmit to each of the clients file meta information including at least one of a name, a size, an owner, a type, a storage location and a storage date of the object file distributed and stored.

상기 서버는, 복수의 상기 클라이언트의 아이피 주소를 상기 클라이언트 각각에 송신할 수 있다.The server may transmit the IP addresses of the plurality of clients to each of the clients.

상기 클라이언트는, 상기 서버의 장애 여부의 판별을 위한 점검 메시지를 설정된 주기마다 상기 서버에 송신할 수 있다.The client may transmit an inspection message for determining whether the server has failed, to the server at a set interval.

상기 클라이언트는, 설정된 기간 동안 상기 점검 메시지에 대한 응답 메시지를 상기 서버로부터 수신하지 않는 경우 상기 서버에 장애가 발생한 것으로 판단할 수 있다.The client can determine that a failure has occurred in the server if the server does not receive a response message to the check message during the set period of time.

상기 클라이언트는, 상기 서버에 장애가 발생한 것으로 판단되는 경우 복수의 상기 클라이언트 중 하나를 대체 서버로 선정하여 상기 서버와의 접속을 종료하며, 상기 대체 서버로 새로운 접속 요청 메시지를 송신할 수 있다.The client can select one of the clients as an alternative server to terminate the connection with the server and transmit a new connection request message to the alternative server when it is determined that the server has failed.

상기 클라이언트는, 복수의 상기 클라이언트의 아이피 주소를 크기 순으로 정렬하고, 정렬된 복수의 상기 클라이언트의 아이피 주소 중 최상단 또는 최하단에 위치한 아이피 주소에 대응되는 클라이언트를 상기 대체 서버로 선정할 수 있다.The client may sort the IP addresses of the plurality of clients in order of magnitude and select a client corresponding to an IP address located at the top or bottom of the aligned IP addresses of the clients as the alternative server.

상기 대체 서버는, 상기 대체 서버에 저장된 대상 파일을 상기 대체 서버를 제외한 클라이언트 내 스토리지에 저장할 수 있다.The alternative server may store a target file stored in the alternative server in a storage in a client other than the alternative server.

상기 대체 서버는, 상기 파일 메타 정보를 업데이트하며, 업데이트된 상기 파일 메타 정보를 상기 대체 서버를 제외한 클라이언트 각각에 송신할 수 있다.The alternative server may update the file meta information and transmit the updated file meta information to each of the clients except for the alternative server.

본 발명의 다른 예시적인 실시예에 따르면, 스토리지를 구비하는 클라이언트에서, 사용자로부터 상기 스토리지의 가용 크기를 입력받아 접속 요청 메시지를 생성하는 단계; 서버에서, 상기 접속 요청 메시지에 따라 상기 클라이언트의 접속을 허용하는 단계; 상기 서버에서, 저장하고자 하는 대상 파일을 분할하는 단계; 및 상기 서버에서, 분할된 상기 대상 파일을 상기 스토리지의 가용 크기를 초과하지 않는 범위에서 복수의 상기 클라이언트 내 스토리지에 분산 저장하는 단계를 포함하는, 파일의 분산 저장 방법이 제공된다.According to another exemplary embodiment of the present invention, there is provided a storage method comprising the steps of: generating, in a client having a storage, a connection request message inputting a usable size of the storage from a user; Allowing the server to access the client in accordance with the connection request message; Dividing a target file to be stored in the server; And distributing, in the server, distributed distribution of the target file to a plurality of the in-client storage in a range not exceeding an available size of the storage.

상기 접속 요청 메시지는, 상기 클라이언트 내 스토리지의 가용 크기, 상기 클라이언트의 아이디, 패스워드, 아이피 주소 및 포트 번호 중 하나 이상을 포함할 수 있다.The connection request message may include at least one of an available size of the storage in the client, an ID, a password, an IP address, and a port number of the client.

상기 파일의 분산 저장 방법은, 상기 서버에서, 상기 클라이언트 내 스토리지의 가용 크기 중 상기 클라이언트 내 스토리지에 저장된 상기 대상 파일의 크기를 제외한 나머지 크기에 해당하는 더미 파일(dummy file)을 생성하여 상기 클라이언트 내 스토리지에 저장하는 단계를 더 포함할 수 있다.The distributed storage method of a file may further include a step of creating a dummy file corresponding to a remaining size of the available storage size of the storage in the client except for the size of the target file stored in the storage in the client, And storing the data in the storage.

상기 파일의 분산 저장 방법은, 상기 서버에서, 분산 저장된 상기 대상 파일의 이름, 크기, 소유자, 유형, 저장 위치 및 저장 일자 중 하나 이상을 포함하는 파일 메타 정보를 상기 클라이언트 각각에 송신하는 단계를 더 포함할 수 있다.The distributed storage method of the file may further include transmitting to each of the clients file meta information including at least one of a name, a size, an owner, a type, a storage location, and a storage date of the target file distributed and stored in the server .

상기 파일의 분산 저장 방법은, 상기 서버에서, 복수의 상기 클라이언트의 아이피 주소를 상기 클라이언트 각각에 송신하는 단계를 더 포함할 수 있다.The distributed storage method of the file may further include transmitting, in the server, the IP addresses of the plurality of clients to each of the clients.

상기 파일의 분산 저장 방법은, 상기 클라이언트에서, 상기 서버의 장애 여부의 판별을 위한 점검 메시지를 설정된 주기마다 상기 서버에 송신하는 단계를 더 포함할 수 있다.The distributed storage method of the file may further include, in the client, transmitting a check message for determining whether the server has failed, to the server at a predetermined interval.

상기 파일의 분산 저장 방법은, 상기 클라이언트에서, 설정된 기간 동안 상기 점검 메시지에 대한 응답 메시지를 상기 서버로부터 수신하지 않는 경우 상기 서버에 장애가 발생한 것으로 판단하는 단계를 더 포함할 수 있다.The distributed storage method of the file may further include determining that a failure has occurred in the server when the client does not receive a response message for the check message during the set period from the server.

상기 파일의 분산 저장 방법은, 상기 클라이언트에서, 상기 서버에 장애가 발생한 것으로 판단되는 경우 복수의 상기 클라이언트 중 하나를 대체 서버로 선정하여 상기 서버와의 접속을 종료하는 단계; 및 상기 대체 서버로 새로운 접속 요청 메시지를 송신하는 단계를 더 포함할 수 있다.The distributed storage method of the file may include the steps of selecting, by the client, one of the plurality of clients as an alternative server and terminating the connection with the server when it is determined that the server has failed. And transmitting a new connection request message to the alternative server.

복수의 상기 클라이언트 중 하나를 대체 서버로 선정하여 상기 서버와의 접속을 종료하는 단계는, 복수의 상기 클라이언트의 아이피 주소를 크기 순으로 정렬하고, 정렬된 복수의 상기 클라이언트의 아이피 주소 중 최상단 또는 최하단에 위치한 아이피 주소에 대응되는 클라이언트를 상기 대체 서버로 선정할 수 있다.Wherein the step of selecting one of the plurality of clients as an alternative server and terminating the connection with the server comprises the steps of sorting the IP addresses of the plurality of clients in order of size and selecting the uppermost or lowermost The client corresponding to the IP address located in the alternative server can be selected as the alternative server.

상기 파일의 분산 저장 방법은, 상기 대체 서버에서, 상기 대체 서버에 저장된 대상 파일을 상기 대체 서버를 제외한 클라이언트 내 스토리지에 저장하는 단계를 더 포함할 수 있다.The distributed storage method of the file may further include, in the alternative server, storing the target file stored in the alternative server in a storage in the client other than the alternative server.

상기 파일의 분산 저장 방법은, 상기 대체 서버에서, 상기 파일 메타 정보를 업데이트하는 단계; 및 업데이트된 상기 파일 메타 정보를 상기 대체 서버를 제외한 클라이언트 각각에 송신하는 단계를 더 포함할 수 있다.
The distributed storage method of the file may include: updating the file meta information in the alternative server; And transmitting the updated file meta information to each of the clients except for the alternative server.

본 발명의 실시예들에 따르면, 각 클라이언트 내 스토리지에 대상 파일을 분산 저장하도록 함으로써, 스토리지 자원을 효율적으로 이용하고 파일 저장에 따른 비용을 절감할 수 있다. 또한, 대상 파일을 로컬 영역에 저장하도록 함으로써, 대상 파일의 유출 위험을 방지할 수 있다. 나아가, 서버에 장애가 발생하는 경우 각 클라이언트 중 하나를 대체 서버로 선정하도록 함으로써, 대상 파일을 유연하고 안전하게 저장할 수 있다.
According to the embodiments of the present invention, the target files are distributedly stored in the respective storage units in the respective clients, so that the storage resources can be efficiently used and the cost for file storage can be reduced. In addition, by storing the target file in the local area, the risk of leakage of the target file can be prevented. Furthermore, if a server fails, one of each client is selected as an alternate server, allowing the target file to be stored flexibly and securely.

도 1은 본 발명의 일 실시예에 따른 파일의 분산 저장 시스템의 상세 구성을 나타낸 도면
도 2는 본 발명의 일 실시예에 따른 파일 메타 정보의 예시를 나타낸 도면
도 3은 본 발명의 일 실시예에 따른 클라이언트 메타 정보의 예시를 나타낸 도면
도 4는 서버에 장애가 발생하여 각 클라이언트와 서버와의 접속이 종료되는 과정을 설명하기 위한 도면
도 5는 각 클라이언트의 아이피 주소를 이용하여 대체 서버를 선정하는 과정을 설명하기 위한 도면
도 6은 본 발명의 일 실시예에 따른 파일의 분산 저장 방법을 설명하기 위한 흐름도
도 7은 도 6의 S612 단계를 설명하기 위한 흐름도
1 is a block diagram showing a detailed configuration of a file distributed storage system according to an embodiment of the present invention;
2 is a diagram illustrating an example of file meta information according to an embodiment of the present invention;
3 is a diagram illustrating an example of client meta information according to an embodiment of the present invention.
4 is a diagram for explaining a process of terminating a connection between each client and a server due to a failure in the server
5 is a diagram for explaining a process of selecting an alternative server using IP addresses of respective clients
6 is a flowchart illustrating a method of distributing and storing files according to an embodiment of the present invention.
FIG. 7 is a flowchart for explaining the step S612 of FIG.

이하, 도면을 참조하여 본 발명의 구체적인 실시예를 설명하기로 한다. 그러나 이는 예시적 실시예에 불과하며 본 발명은 이에 한정되지 않는다.Hereinafter, specific embodiments of the present invention will be described with reference to the drawings. However, this is an exemplary embodiment only and the present invention is not limited thereto.

본 발명을 설명함에 있어서, 본 발명과 관련된 공지기술에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다. 그리고, 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.In the following description, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intention or custom of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명의 기술적 사상은 청구범위에 의해 결정되며, 이하 실시예는 진보적인 본 발명의 기술적 사상을 본 발명이 속하는 기술분야에서 통상의 지식을 가진자에게 효율적으로 설명하기 위한 일 수단일 뿐이다.
The technical idea of the present invention is determined by the claims, and the following embodiments are merely a means for efficiently describing the technical idea of the present invention to a person having ordinary skill in the art to which the present invention belongs.

도 1은 본 발명의 일 실시예에 따른 파일의 분산 저장 시스템(100)의 상세 구성을 나타낸 도면이다. 도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 파일의 분산 저장 시스템(100)은 서버(102) 및 복수의 클라이언트(104)를 포함한다.FIG. 1 is a diagram illustrating a detailed configuration of a file distributed storage system 100 according to an embodiment of the present invention. As shown in FIG. 1, a distributed storage system 100 of files according to an embodiment of the present invention includes a server 102 and a plurality of clients 104.

서버(102)는 사용자 또는 서버 관리자가 저장하고자 하는 대상 파일 및 대상 파일이 저장되는 클라이언트(104) 내 스토리지를 관리하기 위한 장치로서, 예를 들어 데스크탑, 노트북, 태블릿 컴퓨터, PDA 등과 같은 전자 기기가 될 수 있다. 대상 파일은 예를 들어, 텍스트 파일, 동영상 파일, 이미지 파일 등이 될 수 있으나 대상 파일의 종류가 특별히 제한되는 것은 아니다.The server 102 is an apparatus for managing a storage in the client 104 in which a user or a server manager stores a target file and a target file to be stored. For example, an electronic apparatus such as a desktop, a notebook computer, a tablet computer, . The target file may be, for example, a text file, a moving image file, or an image file, but the kind of the target file is not particularly limited.

서버 관리자는 서버(102)의 아이피 주소 및 포트 번호를 입력하여 서버(102)를 실행시킬 수 있으며, 청크 사이즈(chunk size)를 설정할 수 있다. 청크 사이즈는 대상 파일이 분할되었을 때 분할된 대상 파일 각각의 크기를 의미하며, 예를 들어 64MB가 될 수 있다.The server administrator can execute the server 102 by inputting the IP address and port number of the server 102, and can set a chunk size. The chunk size refers to the size of each of the divided target files when the target file is divided, for example, 64 MB.

서버(102)는 클라이언트(104)로부터 접속 요청 메시지를 수신할 수 있으며, 접속 요청 메시지를 이용하여 클라이언트(104)의 접속을 허용할 수 있다. 접속 요청 메시지는 클라이언트(104)의 아이디, 패스워드, 아이피 주소 및 포트 번호 중 하나 이상을 포함할 수 있다. 서버(102)는 예를 들어, 접속 요청 메시지에 포함된 아이디 및 패스워드를 인증함으로써 클라이언트(104)의 접속을 허용할 수 있다. 또한, 아이디 및 패스워드는 각 클라이언트(104-1 내지 104-n)의 고유 식별 정보로서, 복수의 클라이언트(104-1 내지 104-n) 중 일부가 서버(102)와의 접속이 끊겼다 다시 접속된 경우 해당 클라이언트를 식별하는 데 사용될 수 있다. 만약, 복수의 클라이언트(104-1 내지 104-n) 중 일부와 서버(102)와의 접속이 끊긴 경우, 서버(102)는 접속이 끊긴 클라이언트 내 스토리지에 저장된 대상 파일을 다른 클라이언트 내 스토리지에 저장하기 위해 해당 대상 파일을 어느 곳에 저장을 할 것인지에 대한 연산을 수행하여야 하는 번거로움이 있으나, 접속이 끊긴 클라이언트가 서버(102)에 재접속하는 경우 해당 클라이언트의 아이디 및 패스워드를 통해 해당 클라이언트 내 스토리지에 저장된 대상 파일의 존재를 신속하게 파악할 수 있다. 이 경우, 서버(102)는 파일 메타 정보를 수정할 필요가 없게 된다.The server 102 may receive the connection request message from the client 104 and may allow the client 104 to access the connection using the connection request message. The connection request message may include one or more of the ID, password, IP address, and port number of the client 104. The server 102 may allow the client 104 to connect, for example, by authenticating the identity and password included in the connection request message. The ID and password are unique identification information of each of the clients 104-1 to 104-n. When a part of the plurality of clients 104-1 to 104-n is disconnected from the server 102 and reconnected Can be used to identify the client. If some of the plurality of clients 104-1 to 104-n are disconnected from the server 102, the server 102 stores the target file stored in the disconnected client storage in another client's storage However, when a disconnected client reconnects to the server 102, it is necessary to perform an operation for storing the object stored in the storage in the corresponding client through the ID and password of the corresponding client, The existence of the file can be grasped quickly. In this case, the server 102 does not need to modify the file meta information.

또한, 접속 요청 메시지에는 클라이언트(104) 내 스토리지(미도시)의 가용 크기, 클라이언트(104) 내 스토리지의 위치 등이 더 포함될 수 있다. 스토리지의 가용 크기는 클라이언트(104)가 제공하는 저장 공간의 최대 크기로서, 예를 들어 5GB일 수 있다. 또한, 스토리지의 위치는 대상 파일이 저장되는 위치로서, 예를 들어 D 드라이브가 될 수 있다. 클라이언트(104)는 이와 같은 스토리지의 가용 크기 및 위치를 사용자로부터 입력 받을 수 있으며, 스토리지의 가용 크기 및 위치는 각 클라이언트(104-1 내지 104-n)별로 다를 수 있다. 예를 들어, 제 1 클라이언트(104-1) 내 스토리지의 가용 크기 및 위치는 5GB 및 D 드라이브이고, 제 2 클라이언트(104-2) 내 스토리지의 가용 크기 및 위치는 10GB 및 C 드라이브이며, 제 3 클라이언트(104-3) 내 스토리지의 가용 크기 및 위치는 15GB 및 D 드라이브일 수 있다. 또한, 클라이언트(104)는 서버(102)로부터 청크 사이즈에 대한 정보를 수신할 수 있으며, 사용자가 입력한 스토리지 가용 크기가 청크 사이즈보다 작은 경우 사용자로 하여금 스토리지 가용 크기를 재입력하도록 알림 메시지를 출력할 수 있다.In addition, the connection request message may further include an available size of the storage (not shown) in the client 104, a location of the storage in the client 104, and the like. The available size of the storage is the maximum size of the storage space provided by the client 104, for example, 5 GB. Also, the location of the storage is the location where the target file is stored, for example, it can be the D drive. The client 104 may receive the available size and location of such storage from the user, and the available size and location of the storage may be different for each of the clients 104-1 through 104-n. For example, the available sizes and locations of the storage in the first client 104-1 are 5GB and D drives, the available sizes and locations of the storage in the second client 104-2 are 10GB and C drives, The available size and location of storage in client 104-3 may be 15GB and D drive. In addition, the client 104 can receive information on the chunk size from the server 102. If the storage available size input by the user is smaller than the chunk size, the client 104 outputs a notification message to prompt the user to re- can do.

서버(102)는 설정된 청크 사이즈에 따라 대상 파일을 분할하고, 분할된 대상 파일을 각 클라이언트(104-1 내지 104-n) 내 스토리지의 가용 크기를 초과하지 않는 범위에서 각 클라이언트(104-1 내지 104-n) 내 스토리지에 분산 저장할 수 있다. 예를 들어, 대상 파일의 크기가 10GB이며 청크 사이즈가 64MB인 경우, 서버(102)는 대상 파일을 64MB의 크기를 갖는 160개의 파일로 분할하고, 분할된 대상 파일 160개를 각 클라이언트(104-1 내지 104-n) 내 스토리지의 가용 크기를 초과하지 않는 범위에서 각 클라이언트(104-1 내지 104-n) 내 스토리지에 분산 저장할 수 있다. The server 102 divides the target file according to the set chunk size and allocates the divided target files to each of the clients 104-1 to 104-n within a range that does not exceed the usable size of the storage in each of the clients 104-1 to 104- 104-n). For example, if the size of the target file is 10 GB and the chunk size is 64 MB, the server 102 divides the target file into 160 files having a size of 64 MB, and allocates 160 divided target files to each client 104- 1 to 104-n) to the extent that they do not exceed the usable size of the storage in each of the clients 104-1 to 104-n.

이때, 서버(102)는 클라이언트(104) 내 스토리지의 가용 크기 중 클라이언트(104) 내 스토리지에 저장된 대상 파일의 크기를 제외한 나머지 크기에 해당하는 더미 파일(dummy file)을 생성하여 클라이언트(104) 내 스토리지에 저장할 수 있다. 예를 들어, 제 1 클라이언트(104-1) 내 스토리지의 가용 크기가 5GB이며 제 1 클라이언트(104-1) 내 스토리지에 저장된 대상 파일의 크기가 3GB인 경우, 서버(102)는 2GB의 더미 파일을 생성하여 제 1 클라이언트(104-1) 내 스토리지에 저장할 수 있다. 이에 따라, 스토리지의 가용 크기(5GB)에 해당하는 저장 공간을 대상 파일의 저장에만 사용할 수 있으며, 사용자로 인해 스토리지의 가용 크기(5GB)에 해당하는 저장 공간이 침해되는 것을 방지할 수 있다.At this time, the server 102 generates a dummy file corresponding to the remaining size of the available size of storage in the client 104, excluding the size of the target file stored in the storage in the client 104, It can be stored in storage. For example, if the available size of the storage in the first client 104-1 is 5GB and the size of the target file stored in the storage in the first client 104-1 is 3GB, the server 102 stores 2GB of dummy files And store it in the storage in the first client 104-1. Accordingly, the storage space corresponding to the available storage size (5 GB) can be used only for storing the target file, and the storage space corresponding to the usable storage size (5 GB) can be prevented from being infringed by the user.

또한, 서버(102)는 분할된 대상 파일을 복제(예를 들어, 3번)하여 복수의 클라이언트(예를 들어, 104-1, 104-11, 104-21)에 중복 저장할 수 있다. 이때, 복제된 대상 파일이 저장되는 클라이언트(예를 들어, 104-1, 104-11, 104-21) 각각은 서로 다른 지역(예를 들어, 학교 내 제 1 전산실, 제 2 전산실, 제 3 전산실) 내에 위치할 수 있다. 이에 따라, 분할된 대상 파일이 저장된 클라이언트(예를 들어, 104-1)가 동작하지 않거나 해당 클라이언트(104-1)에 저장된 대상 파일이 손상 또는 유실되는 경우 동일한 대상 파일을 저장하고 있는 다른 클라이언트(예를 들어, 104-11, 104-21)로부터 대상 파일을 호출할 수 있으며, 대상 파일의 유실을 방지할 수 있다.In addition, the server 102 may duplicate (for example, three times) a divided target file and store the divided target file in a plurality of clients (e.g., 104-1, 104-11, 104-21). At this time, each of the clients (for example, 104-1, 104-11, 104-21) in which the duplicated object file is stored is stored in a different area (for example, a first computer room, a second computer room, ). ≪ / RTI > Accordingly, when the client (for example, 104-1) in which the divided target file is stored does not operate or the target file stored in the client 104-1 is damaged or lost, the other client For example, 104-11, 104-21), and it is possible to prevent the loss of the target file.

다음으로, 서버(102)는 파일 메타 정보를 각 클라이언트(104-1 내지 104-n)에 송신할 수 있다. 파일 메타 정보는 예를 들어, 분산 저장된 대상 파일의 이름, 크기, 소유자, 유형, 저장 위치 및 저장 일자 중 하나 이상을 포함할 수 있다. 서버(102)는 파일 메타 정보를 관리하며, 파일 메타 정보에 변경이 발생할 경우(예를 들어, 대상 파일의 저장 위치가 변경되거나 대상 파일이 추가된 경우 등) 이를 업데이트할 수 있다. 서버(102)는 파일 메타 정보를 업데이트할 때마다 각 클라이언트(104-1 내지 104-n)에 업데이트된 파일 메타 정보를 송신할 수 있다. 또한, 서버(102)는 설정된 주기마다(예를 들어, 하루에 한 번) 파일 메타 정보를 각 클라이언트(104-1 내지 104-n)에 송신할 수도 있다. 파일 메타 정보에 대해서는 도 2를 참조하여 구체적으로 후술하기로 한다.Next, the server 102 may transmit the file meta information to each of the clients 104-1 to 104-n. The file meta information may include, for example, one or more of the name, size, owner, type, storage location and storage date of the distributed stored target file. The server 102 manages the file meta information, and can update it when a change occurs in the file meta information (for example, when the storage location of the target file is changed or a target file is added). The server 102 may transmit updated file meta information to each of the clients 104-1 through 104-n each time it updates the file meta information. In addition, the server 102 may transmit file meta information to each of the clients 104-1 through 104-n at set intervals (e. G., Once a day). The file meta information will be described in detail later with reference to Fig.

또한, 서버(102)는 클라이언트 메타 정보를 각 클라이언트(104-1 내지 104-n)에 송신할 수 있다. 클라이언트 메타 정보는 예를 들어, 각 클라이언트(104-1 내지 104-n)의 아이피 주소 및 포트 번호를 포함하는 리스트 형태로 이루어질 수 있다. 서버(102)는 클라이언트(104)가 서버(102)에 접속할 때마다 해당 클라이언트(104)의 아이피 주소 및 포트 정보를 클라이언트 메타 정보에 추가함으로써 클라이언트 메타 정보를 업데이트할 수 있다. 서버(102)는 클라이언트 메타 정보를 업데이트할 때마다 각 클라이언트(104-1 내지 104-n)에 업데이트된 클라이언트 메타 정보를 송신할 수 있다. 또한, 서버(102)는 설정된 주기마다(예를 들어, 하루에 한 번) 클라이언트 메타 정보를 각 클라이언트(104-1 내지 104-n)에 송신할 수 있다. 클라이언트 메타 정보에 대해서는 도 3을 참조하여 구체적으로 후술하기로 한다.In addition, the server 102 may transmit the client meta information to each of the clients 104-1 to 104-n. The client meta information may be in the form of a list including, for example, the IP address and the port number of each client 104-1 through 104-n. The server 102 may update the client meta information by adding the IP address and port information of the client 104 to the client meta information each time the client 104 connects to the server 102. [ Server 102 may send updated client meta information to each client 104-1 through 104-n each time it updates the client meta information. In addition, the server 102 may send client meta information to each of the clients 104-1 through 104-n at set intervals (e. G., Once a day). The client meta information will be described later in detail with reference to FIG.

또한, 서버(102)는 각 클라이언트(104-1 내지 104-n)로부터 점검 메시지를 수신할 수 있으며, 각 클라이언트(104-1 내지 104-n)는 점검 메시지를 이용하여 서버(102)의 장애 여부를 판단할 수 있다. 이때, 각 클라이언트(104-1 내지 104-n)는 서버(102)로부터 수신한 클라이언트 메타 정보를 이용하여 복수의 클라이언트(104-1 내지 104-n) 중 하나를 대체 서버로 선정할 수 있다. 이에 대해서는 도 4 및 도 5를 참조하여 구체적으로 후술하기로 한다.In addition, the server 102 may receive a check message from each of the clients 104-1 through 104-n, and each client 104-1 through 104- Can be determined. At this time, each of the clients 104-1 to 104-n can select one of the plurality of clients 104-1 to 104-n as an alternative server by using the client meta information received from the server 102. [ This will be described in detail later with reference to FIG. 4 and FIG.

클라이언트(104)는 대상 파일의 저장 공간을 제공하는 장치로서, 예를 들어 학교, 연구소, 기업 등에서 사용되는 데스크탑, 노트북, 태블릿 컴퓨터, PDA 등과 같은 전자 기기가 될 수 있다. 일반적으로, 학교, 연구소, 기업 등에서 사용되는 데스크탑은 항상 부팅되어 있는 반면에 내부의 스토리지의 이용율이 매주 낮거나 저조하다. 이에 따라, 본 발명의 실시예들에서는 클라우드 서버 내 스토리지가 아닌 클라이언트(104) 내 스토리지에 대상 파일을 저장할 수 있도록 하였다. 클라이언트(104)는 일상적인 데스크탑 용도로 활용됨과 동시에, 스토리지 자원의 일부로서 사용될 수 있다.The client 104 may be an electronic device such as a desktop, a notebook computer, a tablet computer, a PDA, or the like, which is used in a school, a laboratory, an enterprise, or the like. Typically, desktops used in schools, labs, and businesses are always booted, while internal storage utilization is low or low every week. Accordingly, in the embodiments of the present invention, the target file can be stored in the storage in the client 104, not in the storage in the cloud server. The client 104 can be used as part of a storage resource while being utilized for everyday desktop use.

클라이언트(104)는 사용자로부터 스토리지의 가용 크기 및 위치를 입력받아 접속 요청 메시지를 생성할 수 있다. 상술한 바와 같이, 접속 요청 메시지는 클라이언트(104) 내 스토리지의 가용 크기, 클라이언트(104) 내 스토리지의 위치, 클라이언트(104)의 아이디, 패스워드, 아이피 주소 및 포트 번호 중 하나 이상을 포함할 수 있다. 서버(102)는 클라이언트(104)로부터 수신한 접속 요청 메시지에 따라 클라이언트(104)의 접속을 허용할 수 있으며, 대상 파일을 각 클라이언트(104-1 내지 104-n) 내 스토리지에 분산 저장할 수 있다. 이때, 클라이언트(104) 내 스토리지에 분산 저장된 대상 파일의 크기는 사용자가 설정한 해당 클라이언트(104) 내 스토리지의 가용 크기를 초과하지 않는다. 또한, 서버(102)는 클라이언트(104) 내 스토리지의 가용 크기 중 클라이언트(104) 내 스토리지에 저장된 대상 파일의 크기를 제외한 나머지 크기에 해당하는 더미 파일을 생성하여 해당 클라이언트(104) 내 스토리지에 저장할 수 있으며, 이에 따라 사용자로 인해 스토리지의 가용 크기에 해당하는 저장 공간이 침해되는 것을 방지할 수 있다.The client 104 may receive the available size and location of the storage from the user and generate a connection request message. As described above, the connection request message may include one or more of the available size of the storage in the client 104, the location of the storage in the client 104, the ID of the client 104, the password, the IP address, and the port number . The server 102 may allow the client 104 to access according to the connection request message received from the client 104 and distribute the target file to the storage in each of the clients 104-1 to 104-n . At this time, the size of the target file distributed in the storage in the client 104 does not exceed the usable size of the storage in the corresponding client 104 set by the user. Also, the server 102 may generate a dummy file corresponding to the remaining size of the available size of storage in the client 104, excluding the size of the target file stored in the storage in the client 104, and store the dummy file in the storage in the corresponding client 104 So that it is possible to prevent the storage space corresponding to the available size of the storage from being infringed by the user.

또한, 클라이언트(104)는 서버(102)로부터 파일 메타 정보를 수신할 수 있으며, 이에 따라 클라이언트(104)는 분할된 대상 파일 각각의 저장 위치, 저장 일자 등을 알 수 있다. In addition, the client 104 can receive the file meta information from the server 102, so that the client 104 can know the storage location, the storage date, etc. of each of the divided target files.

또한, 클라이언트(104)는 서버(102)로부터 클라이언트 메타 정보를 수신할 수 있으며, 이에 따라 서버(102)에 장애가 발생하는 경우 클라이언트 메타 정보를 이용하여 복수의 클라이언트(104-1 내지 104-n) 중 하나를 대체 서버로 선정할 수 있다.In addition, the client 104 may receive client meta information from the server 102, and if a failure occurs in the server 102, the plurality of clients 104-1 to 104-n may use the client meta information, Can be selected as an alternative server.

구체적으로, 클라이언트(104)는 서버(102)의 장애 여부 판별을 위한 점검 메시지를 설정된 주기마다(예를 들어, 20초에 한 번씩) 서버(102)에 송신할 수 있다. 클라이언트(104)는 설정된 기간(예를 들어, 10초) 동안 점검 메시지에 대한 응답 메시지를 서버(102)로부터 수신하지 않는 경우 서버(102)에 장애가 발생한 것으로 판단할 수 있다. 서버(102)의 장애가 발생한 것으로 판단되는 경우, 클라이언트(104)는 각 클라이언트(104-1 내지 104-n)의 아이피 주소를 크기 순으로 정렬하고, 정렬된 각 클라이언트(104-1 내지 104-n)의 아이피 주소 중 최상단 또는 최하단에 위치한 아이피 주소에 대응되는 클라이언트(예를 들어, 104-1)를 대체 서버로 선정하여 서버(102)와의 접속을 종료할 수 있다. 이후, 각 클라이언트(104-2 내지 104-n)는 대체 서버(104-1)에 새로운 접속 요청 메시지를 송신함으로써, 대체 서버 (104-1)에 접속할 수 있다. 한편, 여기서는 클라이언트(104)가 각 클라이언트(104-1 내지 104-n)의 아이피 주소를 이용하여 대체 서버를 선정하는 것으로 설명하였으나, 이는 하나의 실시예에 불과할 뿐 대체 서버를 선정하는 방식이 이에 한정되는 것은 아니다. 클라이언트(104)는 예를 들어, 각 클라이언트(104-1 내지 104-n) 별로 우선 순위를 미리 설정하고, 서버(102)에서 장애가 발생된 것으로 판단되는 경우 우선 순위가 가장 높은 클라이언트를 대체 서버로 선정할 수도 있다.Specifically, the client 104 can send an inspection message to the server 102 for determining whether the server 102 has failed or not, at a set interval (for example, once every 20 seconds). The client 104 may determine that a failure has occurred in the server 102 if the server 102 does not receive a response message to the check message for a predetermined period of time (for example, 10 seconds). When it is determined that the server 102 has failed, the client 104 sorts the IP addresses of the clients 104-1 to 104-n in order of size, and the sorted clients 104-1 to 104-n (For example, 104-1) corresponding to the IP address located at the uppermost or lowermost end of the IP address of the server 102, as an alternative server, and terminate the connection with the server 102. [ Each of the clients 104-2 to 104-n can then access the alternate server 104-1 by sending a new access request message to the alternate server 104-1. In the above description, the client 104 selects an alternative server by using the IP addresses of the clients 104-1 to 104-n. However, this is a method of selecting an alternative server But is not limited thereto. The client 104 sets priorities for each of the clients 104-1 to 104-n in advance, for example. When it is determined that a failure has occurred in the server 102, the client 104 has the highest priority as an alternative server It can also be selected.

대체 서버(104-1)는 대체 서버(104-1)에 저장된 대상 파일을 대체 서버(104-1)를 제외한 클라이언트(104-2 내지 104-n) 내 스토리지에 저장할 수 있으며, 이후 서버(102)와 동일한 기능을 수행하도록 동작할 수 있다. 대체 서버(102-1)는 파일 메타 정보를 업데이트하고, 업데이트된 파일 메타 정보를 대체 서버(102-1)를 제외한 각 클라이언트(104-2 내지 104-n)에 송신할 수 있다. 또한, 각 클라이언트(104-2 내지 104-n)는 설정된 주기마다 대체 서버(102-1)로 점검 메시지를 송신할 수 있으며, 설정된 기간 동안 점검 메시지에 대한 응답 메시지를 대체 서버(102-1)로부터 수신하지 않는 경우 대체 서버(102-1)에 장애가 발생한 것으로 판단할 수 있다.The substitute server 104-1 can store the target file stored in the substitute server 104-1 in the storage in the clients 104-2 to 104-n except for the substitute server 104-1, ) To perform the same function. Alternate server 102-1 may update the file meta information and send the updated file meta information to each client 104-2 through 104-n except for alternate server 102-1. Also, each of the clients 104-2 to 104-n can transmit a check message to the alternative server 102-1 every set period, and transmits a response message to the alternative server 102-1, It can be determined that a failure has occurred in the alternative server 102-1.

본 발명의 실시예들에 따르면, 각 클라이언트(104-1 내지 104-n) 내 스토리지에 대상 파일을 분산 저장하도록 함으로써, 스토리지 자원을 효율적으로 이용하고 파일 저장에 따른 비용을 절감할 수 있다. 또한, 대상 파일을 로컬 영역에 저장하도록 함으로써, 대상 파일의 유출 위험을 방지할 수 있다. 나아가, 서버(102)에 장애가 발생하는 경우 각 클라이언트(104-1 내지 104-n) 중 하나를 대체 서버로 선정하도록 함으로써, 대상 파일을 유연하고 안전하게 저장할 수 있다.
According to the embodiments of the present invention, the target files are distributedly stored in the respective storages in the clients 104-1 to 104-n, so that the storage resources can be efficiently used and the cost for file storage can be reduced. In addition, by storing the target file in the local area, the risk of leakage of the target file can be prevented. Furthermore, when a failure occurs in the server 102, one of the clients 104-1 through 104-n is selected as an alternative server, so that the target file can be stored flexibly and securely.

도 2는 본 발명의 일 실시예에 따른 파일 메타 정보의 예시를 나타낸 도면이다. 도 2 및 아래 표 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 파일 메타 정보는 분산 저장된 대상 파일의 이름(name), 크기(size), 소유자(owner), 유형 또는 종류(type), 저장 위치(location) 및 저장 일자(date) 중 하나 이상을 포함할 수 있다. 상기 저장 위치(location)는 분할된 대상 파일 별 인덱스(index), 분할된 대상 파일이 저장된 위치(pil), 분할된 대상 파일 별 고유 이름(sfn) 등을 포함할 수 있다. 또한, 상기 분할된 대상 파일이 저장된 위치(pil)는 분할된 대상 파일의 중복 저장 위치(rdl) 및 분할된 대상 파일의 중복 저장 횟수(count) 등을 포함할 수 있다.
2 is a diagram illustrating an example of file meta information according to an embodiment of the present invention. As shown in FIG. 2 and Table 1 below, the file meta information according to an embodiment of the present invention includes a name, a size, an owner, a type, or a type of a distributed stored target file. , A storage location, and a storage date (date). The storage location may include an index for each of the divided target files, a location where the divided target files are stored (pil), a distinguished name (sfn) for the divided target files, and the like. In addition, the location (pil) where the divided target file is stored may include a redundant storage location rdl of the divided target file and a number of times of storing the divided target file.

속성property 내용Contents namename 대상 파일의 이름The name of the destination file sizeyou 대상 파일의 크기Size of destination file ownerowner 대상 파일의 소유자The owner of the destination file typetype 대상 파일의 유형 또는 종류(예를 들어, 대상 파일의 확장자)The type or kind of target file (for example, the extension of the target file) locationlocation 대상 파일이 저장된 위치Where the destination file is stored datedate 대상 파일의 저장 일자(또는 시간)The storage date (or time) indexindex Location의 서브 메타 정보로서, 분할된 대상 파일의 인덱스As the sub meta information of Location, the index of the divided target file pil
(path information list)
battery
(path information list)
Location의 서브 메타 정보로서, 분할된 대상 파일이 저장된 위치As the sub meta information of Location, the location where the divided target file is stored
sfn
(split file name)
sfn
(split file name)
Location의 서브 메타 정보로서, 분할된 대상 파일의 고유 이름Sub meta information of the Location, which is the distinguished name of the partitioned destination file
rdl
(redundant data location)
rdl
(redundant data location)
Pil의 서브 메타 정보로서, 분할된 대상 파일의 중복 저장 위치As the sub meta information of the battery, the redundant storage location
countcount Pil의 서브 메타 정보로서, 분할된 대상 파일의 중복 저장 횟수As the sub meta information of the battery, the number of times of storing the divided target files

도 3은 본 발명의 일 실시예에 따른 클라이언트 메타 정보의 예시를 나타낸 도면이다. 도 3 및 아래 표 2에 도시된 바와 같이, 본 발명의 일 실시예에 따른 클라이언트 메타 정보는 클라이언트(104)의 아이피 주소(ip), 포트 번호(port), 클라이언트(104) 내 스토리지의 위치(path), 대상 파일의 저장 및 복제에 관련된 작업 정보 상태(ji), 클라이언트(104) 내 스토리지의 정보(si) 및 클라이언트(104)의 CPU 및 메모리의 점유율 상태 정보(hi) 중 하나 이상을 포함할 수 있다. 상기 대상 파일의 저장 및 복제에 관련된 작업 정보 상태(ji)는 대상 파일의 저장, 복제 등의 작업의 동작, 대기, 중지 등을 나타내는 작업 상태 정보(state) 및 동작 중인 작업과 대기 중인 작업을 포함하는 총 작업의 수(count)를 포함할 수 있다. 또한, 상기 클라이언트(104) 내 스토리지의 정보(si)는 클라이언트(104) 내 스토리지의 총 가용 크기(as), 현재 사용 가능한 잔여 스토리지의 크기(rs) 및 현재 사용 중인 스토리지의 크기(us) 등을 포함할 수 있다. 또한, 클라이언트(104)의 CPU 및 메모리의 점유율 상태 정보(hi)는 클라이언트(104)의 CPU 사용량 및 클라이언트(104)의 메모리 사용량을 포함할 수 있다.
3 is a diagram illustrating an example of client meta information according to an embodiment of the present invention. As shown in FIG. 3 and Table 2 below, the client meta information according to an embodiment of the present invention includes an IP address (ip) of a client 104, a port number, a location of a storage in the client 104 (ji) related to storage and replication of the target file, information (si) of storage in the client (104), and occupancy status information (hi) of the CPU and memory of the client (104) can do. The job information state (ji) related to the storage and replication of the target file includes operation state information (state) indicating operation of a job such as storage and duplication of a target file, standby, stop, etc., Lt; RTI ID = 0.0 > (count) < / RTI > The information si of the storage in the client 104 can be obtained by dividing the total usable size a of the storage in the client 104, the size rs of the currently available remaining storage, . ≪ / RTI > The occupancy state information hi of the CPU 104 and the memory 104 of the client 104 may include the CPU usage of the client 104 and the memory usage of the client 104. [

속성property 내용Contents iprope 클라이언트(104)의 아이피 주소The IP address of the client 104 portport 클라이언트(104)의 포트 번호The port number of the client 104 pathpath 클라이언트(104) 내 스토리지의 위치Location of storage within client 104 ji
(job information)
ji
(job information)
대상 파일의 저장 및 복제에 관련된 작업 정보 상태Status of the task information related to the storage and replication of the target file
si
(storage information)
si
(storage information)
클라이언트(104) 내 스토리지의 정보Information of the storage in the client 104
hi
(host information)
hi
(host information)
클라이언트(104)의 CPU 및 메모리의 점유율 상태 정보The CPU and memory occupancy status information of the client 104
statestate 대상 파일의 저장, 복제 등의 작업의 동작, 대기, 중지 등을 나타내는 작업 상태 정보Job status information indicating the operation of the job such as storage or duplication of the target file, standby, countcount 동작 중인 작업과 대기 중인 작업을 포함하는 총 작업의 수(count)The total number of jobs, including active and pending jobs (count) as
(allow size)
as
(allow size)
클라이언트(104) 내 스토리지의 총 가용 크기The total available storage size of the client 104
rs
(residual size)
rs
(residual size)
as에 대해 현재 사용 가능한 잔여 스토리지의 크기The amount of free storage currently available for as
us
(usage size)
us
(usage size)
as에 대해 현재 사용 중인 스토리지의 크기The size of the storage currently in use for as
cpuCPU 클라이언트(104)의 CPU 사용량The CPU usage of the client 104 memorymemory 클라이언트(104)의 메모리 사용량The memory usage of the client 104

도 4는 서버(102)에 장애가 발생하여 각 클라이언트(104-1, 104-2, 104-3, 104-4)와 서버와의 접속이 종료되는 과정을 설명하기 위한 도면이다. 도 4 및 도 5에서는 설명의 편의상 4개의 클라이언트(104-1, 104-2, 104-3, 104-4)가 서버(102)와 접속되어 있는 것으로 가정하여 설명하기로 한다. 도 4에 도시된 바와 같이, 각 클라이언트(104-1, 104-2, 104-3, 104-4)는 서버(102)의 장애 여부 판별을 위한 점검 메시지를 설정된 주기마다 서버(102)에 송신할 수 있다. 각 클라이언트(104-1, 104-2, 104-3, 104-4)는 설정된 기간 동안 점검 메시지에 대한 응답 메시지를 서버(102)로부터 수신하지 않는 경우 서버(102)에 장애가 발생한 것으로 판단할 수 있다. 만약, 서버에 장애가 발생한 것으로 판단되는 경우 각 클라이언트(104-1, 104-2, 104-3, 104-4)는 서버(102)와의 접속을 종료할 수 있다.
4 is a diagram for explaining a process of terminating the connection between each client 104-1, 104-2, 104-3, and 104-4 and the server when a failure occurs in the server 102. FIG. 4 and 5, it is assumed that four clients 104-1, 104-2, 104-3, and 104-4 are connected to the server 102 for convenience of explanation. As shown in FIG. 4, each of the clients 104-1, 104-2, 104-3, and 104-4 transmits an inspection message for determining whether or not the server 102 has failed, to the server 102 every set period can do. Each of the clients 104-1, 104-2, 104-3, and 104-4 may determine that a failure has occurred in the server 102 when the server 102 does not receive a response message to the check message during the set period have. If it is determined that a failure has occurred in the server, each of the clients 104-1, 104-2, 104-3, and 104-4 may terminate the connection with the server 102. [

도 5는 각 클라이언트(104-1, 104-2, 104-3, 104-4)의 아이피 주소를 이용하여 대체 서버(104-1)를 선정하는 과정을 설명하기 위한 도면이다. 도 4에서 서버에 장애가 발생한 것으로 판단되는 경우, 각 클라이언트(104-1, 104-2, 104-3, 104-4)는 각 클라이언트(104-1, 104-2, 104-3, 104-4)의 아이피 주소를 주소를 크기 순으로 정렬하고, 정렬된 각 클라이언트(104-1, 104-2, 104-3, 104-4)의 아이피 주소 중 최상단(또는 최하단)에 위치한 아이피 주소(210.94.185.156)에 대응되는 제 1 클라이언트(104-1)를 대체 서버로 선정할 수 있다. FIG. 5 is a diagram for explaining a process of selecting an alternative server 104-1 using the IP addresses of the clients 104-1, 104-2, 104-3, and 104-4. If it is determined in FIG. 4 that a failure has occurred in the server, each of the clients 104-1, 104-2, 104-3, and 104-4 transmits a request to each of the clients 104-1, 104-2, 104-3, 104-4 The IP addresses of the clients 104-1, 104-2, 104-3, and 104-4 are arranged in the order of their addresses, and the IP addresses 210.94. 185.156) can be selected as an alternative server.

이에 따라, 제 2 클라이언트(104-2), 제 3 클라이언트(104-3) 및 제 4 클라이언트(104-4)는 대체 서버(104-1)로의 접속을 시도한다. 즉, 제 2 클라이언트(104-2), 제 3 클라이언트(104-3) 및 제 4 클라이언트(104-4)는 새로운 접속 요청 메시지를 생성하고 이를 대체 서버(104-1)로 송신한다. 접속 요청 메시지에는 클라이언트 내 스토리지의 가용 크기, 클라이언트의 아이디, 패스워드, 아이피 주소 및 포트 번호가 포함될 수 있다. 대체 서버(104-1)는 접속 요청 메시지에 따라 제 2 클라이언트(104-2), 제 3 클라이언트(104-3) 및 제 4 클라이언트(104-4)의 접속을 허용하며, 대체 서버(104-1)에 저장된 대상 파일을 제 2 클라이언트(104-2), 제 3 클라이언트(104-3) 및 제 4 클라이언트(104-4) 중 하나 이상에 저장할 수 있다. Accordingly, the second client 104-2, the third client 104-3, and the fourth client 104-4 attempt to connect to the alternative server 104-1. That is, the second client 104-2, the third client 104-3, and the fourth client 104-4 generate a new connection request message and transmit it to the substitute server 104-1. The access request message may include the available size of the storage in the client, the ID of the client, the password, the IP address, and the port number. The substitute server 104-1 permits the connection of the second client 104-2, the third client 104-3 and the fourth client 104-4 in accordance with the connection request message, and the substitute server 104- 1) may be stored in one or more of the second client 104-2, the third client 104-3, and the fourth client 104-4.

이후, 대체 서버(104-1)는 서버(102)와 동일한 기능을 수행할 수 있다. 즉, 대체 서버(104-1)는 파일 메타 정보를 업데이트하고, 업데이트된 파일 메타 정보를 대체 서버(104-1)를 제외한 제 2 클라이언트(104-2), 제 3 클라이언트(104-3) 및 제 4 클라이언트(104-4)에 송신할 수 있다. 또한, 대체 서버(104-1)는 클라이언트 메타 정보를 업데이트하고, 업데이트된 클라이언트 메타 정보를 대체 서버(104-1)를 제외한 클라이언트에 송신할 수 있다. 나아가, 제 2 클라이언트(104-2), 제 3 클라이언트(104-3) 및 제 4 클라이언트(104-4)는 설정된 주기마다 대체 서버(104-1)로 점검 메시지를 송신할 수 있으며, 설정된 기간 동안 점검 메시지에 대한 응답 메시지를 대체 서버(104-1)로부터 수신하지 않는 경우 대체 서버(104-1)에 장애가 발생한 것으로 판단할 수 있다.
Subsequently, the substitute server 104-1 may perform the same function as the server 102. [ That is, the substitute server 104-1 updates the file meta information and transmits the updated file meta information to the second client 104-2, the third client 104-3, To the fourth client 104-4. Alternate server 104-1 may also update client meta information and send updated client meta information to clients other than alternate server 104-1. Further, the second client 104-2, the third client 104-3, and the fourth client 104-4 may transmit the check message to the alternative server 104-1 every set period, , It can be determined that a failure has occurred in the substitute server 104-1 when the response message to the check message is not received from the substitute server 104-1.

도 6은 본 발명의 일 실시예에 따른 파일의 분산 저장 방법을 설명하기 위한 흐름도이다. 6 is a flowchart illustrating a method of distributing and storing files according to an embodiment of the present invention.

먼저, 클라이언트(104)는 사용자로부터 스토리지의 가용 크기를 입력받아 접속 요청 메시지를 생성한다(S602). 상술한 바와 같이, 접속 요청 메시지는 클라이언트(104) 내 스토리지의 가용 크기, 클라이언트(104)의 아이디, 패스워드, 아이피 주소 및 포트 번호 중 하나 이상을 포함할 수 있다.First, the client 104 receives the available size of the storage from the user and generates a connection request message (S602). As described above, the connection request message may include one or more of the available size of the storage in the client 104, the ID of the client 104, the password, the IP address, and the port number.

다음으로, 서버(102)는 클라이언트(104)로부터 수신한 접속 요청 메시지에 따라 클라이언트(104)의 접속을 허용한다(S604). 서버(102)는 예를 들어, 접속 요청 메시지에 포함된 아이디 및 패스워드를 인증함으로써 클라이언트(104)의 접속을 허용할 수 있다.Next, the server 102 allows connection of the client 104 according to the connection request message received from the client 104 (S604). The server 102 may allow the client 104 to connect, for example, by authenticating the identity and password included in the connection request message.

다음으로, 서버(102)는 대상 파일을 분할한다(S606). 서버(102)는 서버 관리자로부터 청크 사이즈(chunk size)를 입력받고, 대상 파일을 청크 사이즈에 따라 분할할 수 있다. 청크 사이즈는 예를 들어, 예를 들어 64MB가 될 수 있다.Next, the server 102 divides the object file (S606). The server 102 receives the chunk size from the server manager and can divide the target file according to the chunk size. The chunk size may be, for example, 64 MB.

다음으로, 서버(102)는 분할된 대상 파일을 스토리지의 가용 크기를 초과하지 않는 범위에서 각 클라이언트(104-1 내지 104-n) 내 스토리지에 분산 저장한다(S608). 이때, 서버(102)는 클라이언트(104) 내 스토리지의 가용 크기 중 클라이언트(104) 내 스토리지에 저장된 대상 파일의 크기를 제외한 나머지 크기에 해당하는 더미 파일(dummy file)을 생성하여 클라이언트(104) 내 스토리지에 저장할 수 있다. 예를 들어, 클라이언트(104) 내 스토리지의 가용 크기가 5GB이며 클라이언트(104) 내 스토리지에 저장된 대상 파일의 크기가 3GB인 경우, 서버(102)는 2GB의 더미 파일을 생성하여 클라이언트(104) 내 스토리지에 저장할 수 있다.Next, the server 102 distributes and stores the divided target files in the storage in each of the clients 104-1 to 104-n in a range not exceeding the usable size of the storage (S608). At this time, the server 102 generates a dummy file corresponding to the remaining size of the available size of storage in the client 104, excluding the size of the target file stored in the storage in the client 104, It can be stored in storage. For example, when the available size of the storage in the client 104 is 5 GB and the size of the target file stored in the storage in the client 104 is 3 GB, the server 102 generates a 2 GB dummy file, It can be stored in storage.

다음으로, 서버(102)는 파일 메타 정보 및 클라이언트 메타 정보를 각 클라이언트(104-1 내지 104-n)에 송신한다(S610). 파일 메타 정보는 예를 들어, 분산 저장된 대상 파일의 이름, 크기, 소유자, 유형, 저장 위치 및 저장 일자 중 하나 이상을 포함할 수 있으며, 클라이언트 메타 정보는 각 클라이언트(104-1 내지 104-n)의 아이피 주소, 포트 번호 등을 포함할 수 있다.Next, the server 102 transmits the file meta information and the client meta information to each of the clients 104-1 through 104-n (S610). The file meta information may include, for example, one or more of the name, size, owner, type, storage location and storage date of the distributed stored target file, and the client meta information may be stored in each client 104-1 through 104- An IP address, a port number, and the like.

마지막으로, 각 클라이언트(104-1 내지 104-n)는 점검 메시지를 이용하여 서버(102)의 장애 여부를 판별하고, 대체 서버(104-1)를 선정한다(S612). 이에 대해서는 도 7을 참조하여 구체적으로 설명하기로 한다.
Finally, each of the clients 104-1 to 104-n uses the check message to determine whether the server 102 has failed, and selects an alternative server 104-1 (S612). This will be described in detail with reference to FIG.

도 7은 도 6의 S612 단계를 설명하기 위한 흐름도이다.7 is a flowchart for explaining the step S612 of FIG.

먼저, 각 클라이언트(104-1 내지 104-n)는 서버(102)의 장애 여부의 판별을 위한 점검 메시지를 서버(102)에 송신한다(S702).First, each of the clients 104-1 to 104-n transmits an inspection message to the server 102 to determine whether the server 102 has failed or not (S702).

각 클라이언트(104-1 내지 104-n)는 설정된 기간 동안 점검 메시지에 대한 응답 메시지를 서버(102)로부터 수신하지 않는 경우 서버(102)에 장애가 발생한 것으로 판단한다(S704, S706). 또한, 각 클라이언트(104-1 내지 104-n)는 설정된 기간 동안 점검 메시지에 대한 응답 메시지를 서버(102)로부터 수신하는 경우 서버(102)가 정상 동작하고 있는 것으로 판단한다(S704, S708).Each of the clients 104-1 to 104-n determines that a failure has occurred in the server 102 (S704, S706) if the server 102 does not receive a response message for the check message during the set period. In addition, each of the clients 104-1 to 104-n determines that the server 102 is operating normally when receiving a response message for the check message from the server 102 for a predetermined period (S704, S708).

만약, 서버(102)에 장애가 발생한 것으로 판단되는 경우, 각 클라이언트(104-1 내지 104-n)는 각 클라이언트(104-1 내지 104-n)의 아이피 주소를 크기 순으로 정렬한다(S710).If it is determined that the server 102 has failed, each of the clients 104-1 to 104-n sorts the IP addresses of the clients 104-1 to 104-n in order of size (S710).

마지막으로, 각 클라이언트(104-1 내지 104-n)는 정렬된 각 클라이언트(104-1 내지 104-n)의 아이피 주소 중 최상단(또는 최하단)에 위치한 아이피 주소에 대응되는 클라이언트(104-1)를 대체 서버로 선정한다(S712). 이후, 대체 서버(104-1)는 대체 서버(104-1)에 저장된 대상 파일을 대체 서버(104-1)를 제외한 클라이언트(104-2 내지 104-n) 내 스토리지에 저장하며, 파일 메타 정보를 업데이트할 수 있다. 대체 서버(104-1)는 서버(102)와 동일한 기능을 수행하도록 동작할 수 있으며, 각 클라이언트(104-2 내지 104-n)는 앞선 S702 단계 내지 S712 단계를 반복할 수 있다.
Finally, each of the clients 104-1 to 104-n is connected to the client 104-1 corresponding to the IP address located at the top (or bottom) of the aligned IP addresses of the clients 104-1 to 104- As an alternative server (S712). Subsequently, the substitute server 104-1 stores the target file stored in the substitute server 104-1 in the storage in the clients 104-2 to 104-n except for the substitute server 104-1, Can be updated. Alternate server 104-1 may operate to perform the same function as server 102 and each client 104-2 through 104-n may repeat steps S702 through S712.

이상에서 대표적인 실시예를 통하여 본 발명에 대하여 상세하게 설명하였으나, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자는 전술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리범위는 설명된 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
While the present invention has been particularly shown and described with reference to exemplary embodiments thereof, it is to be understood that the invention is not limited to the disclosed embodiments, but, on the contrary, I will understand. Therefore, the scope of the present invention should not be limited to the above-described embodiments, but should be determined by equivalents to the appended claims, as well as the appended claims.

100 : 파일의 분산 저장 시스템
102 : 서버
104 : 클라이언트
100: distributed storage system of files
102: Server
104: Client

Claims (22)

스토리지를 구비하고, 사용자로부터 상기 스토리지의 가용 크기를 입력받아 접속 요청 메시지를 생성하는 복수의 클라이언트; 및
상기 접속 요청 메시지에 따라 상기 클라이언트의 접속을 허용하고, 저장하고자 하는 대상 파일을 분할하며, 분할된 상기 대상 파일을 상기 스토리지의 가용 크기를 초과하지 않는 범위에서 복수의 상기 클라이언트 내 스토리지에 분산 저장하는 서버를 포함하며,
상기 서버는, 복수의 상기 클라이언트에 분산 저장된 상기 대상 파일의 이름, 크기, 소유자, 유형, 저장 위치 및 저장 일자 중 하나 이상을 포함하는 파일 메타 정보를 상기 클라이언트 각각에 송신하며,
상기 서버는, 복수의 상기 클라이언트의 아이피 주소를 상기 클라이언트 각각에 송신하며,
상기 클라이언트는, 상기 서버의 장애 여부 판별을 위한 점검 메시지를 설정된 주기마다 상기 서버에 송신하여 설정된 기간 동안 상기 점검 메시지에 대한 응답 메시지를 상기 서버로부터 수신하지 않는 경우 상기 서버에 장애가 발생한 것으로 판단하며, 상기 서버에 장애가 발생한 것으로 판단되는 경우 복수의 상기 클라이언트의 아이피 주소를 크기 순으로 정렬하고, 정렬된 복수의 상기 클라이언트의 아이피 주소 중 최상단 또는 최하단에 위치한 아이피 주소에 대응되는 클라이언트를 대체 서버로 선정하는, 파일의 분산 저장 시스템.
A plurality of clients having storage and receiving an available size of the storage from a user and generating a connection request message; And
Allowing connection of the client according to the connection request message, dividing a target file to be stored, and distributing and storing the divided target files in a plurality of the in-client storages in a range not exceeding the usable size of the storage Server,
The server transmits to each of the clients file meta information including at least one of a name, a size, an owner, a type, a storage location and a storage date of the target file distributed and distributed to a plurality of clients,
The server transmits a plurality of IP addresses of the clients to each of the clients,
Wherein the client transmits an inspection message for discriminating whether or not the server has failed to the server every predetermined period and determines that a failure has occurred in the server when a response message to the inspection message is not received from the server for a predetermined period, If it is determined that a failure has occurred in the server, sorting the IP addresses of the plurality of clients in order of magnitude and selecting a client corresponding to an IP address located at the uppermost or lowermost end of the sorted plurality of clients' , Distributed storage system of files.
청구항 1에 있어서,
상기 접속 요청 메시지는, 상기 클라이언트 내 스토리지의 가용 크기, 상기 클라이언트의 아이디, 패스워드, 아이피 주소 및 포트 번호 중 하나 이상을 포함하는, 파일의 분산 저장 시스템.
The method according to claim 1,
Wherein the connection request message includes at least one of an available size of the storage in the client, an ID, a password, an IP address, and a port number of the client.
청구항 1에 있어서,
상기 서버는, 상기 클라이언트 내 스토리지의 가용 크기 중 상기 클라이언트 내 스토리지에 저장된 상기 대상 파일의 크기를 제외한 나머지 크기에 해당하는 더미 파일(dummy file)을 생성하여 상기 클라이언트 내 스토리지에 저장하는, 파일의 분산 저장 시스템.
The method according to claim 1,
The server generates a dummy file corresponding to a size of the target file stored in the storage in the client among the available sizes of the storage in the client and stores the dummy file in the storage in the client. Storage system.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 청구항 1에 있어서,
상기 대체 서버는, 상기 대체 서버에 저장된 대상 파일을 상기 대체 서버를 제외한 클라이언트 내 스토리지에 저장하는, 파일의 분산 저장 시스템.
The method according to claim 1,
Wherein the substitute server stores a target file stored in the substitute server in a storage in a client other than the substitute server.
청구항 10에 있어서,
상기 대체 서버는, 상기 파일 메타 정보를 업데이트하며, 업데이트된 상기 파일 메타 정보를 상기 대체 서버를 제외한 클라이언트 각각에 송신하는, 파일의 분산 저장 시스템.
The method of claim 10,
Wherein the substitute server updates the file meta information and transmits the updated file meta information to each of the clients except for the substitute server.
스토리지를 구비하는 클라이언트에서, 사용자로부터 상기 스토리지의 가용 크기를 입력받아 접속 요청 메시지를 생성하는 단계;
서버에서, 상기 접속 요청 메시지에 따라 상기 클라이언트의 접속을 허용하는 단계;
상기 서버에서, 저장하고자 하는 대상 파일을 분할하는 단계;
상기 서버에서, 분할된 상기 대상 파일을 상기 스토리지의 가용 크기를 초과하지 않는 범위에서 복수의 상기 클라이언트 내 스토리지에 분산 저장하는 단계;
상기 서버에서, 복수의 상기 클라이언트에 분산 저장된 상기 대상 파일의 이름, 크기, 소유자, 유형, 저장 위치 및 저장 일자 중 하나 이상을 포함하는 파일 메타 정보를 상기 클라이언트 각각에 송신하는 단계;
상기 서버에서, 복수의 상기 클라이언트의 아이피 주소를 상기 클라이언트 각각에 송신하는 단계;
상기 클라이언트에서, 상기 서버의 장애 여부 판별을 위한 점검 메시지를 설정된 주기마다 상기 서버에 송신하여 설정된 기간 동안 상기 점검 메시지에 대한 응답 메시지를 상기 서버로부터 수신하지 않는 경우 상기 서버에 장애가 발생한 것으로 판단하는 단계; 및
상기 클라이언트에서, 상기 서버에 장애가 발생한 것으로 판단되는 경우 복수의 상기 클라이언트의 아이피 주소를 크기 순으로 정렬하고, 정렬된 복수의 상기 클라이언트의 아이피 주소 중 최상단 또는 최하단에 위치한 아이피 주소에 대응되는 클라이언트를 대체 서버로 선정하는 단계를 포함하는, 파일의 분산 저장 방법.
In a client having storage, receiving an available size of the storage from a user and generating a connection request message;
Allowing the server to access the client in accordance with the connection request message;
Dividing a target file to be stored in the server;
Distributing, in the server, the divided target files to a plurality of the intra-client storages in a range not exceeding an available size of the storage;
Transmitting, at the server, file meta information including at least one of a name, a size, an owner, a type, a storage location, and a storage date of the target file dispersedly stored in the plurality of clients to each of the clients;
Transmitting, at the server, the IP addresses of the plurality of clients to each of the clients;
Transmitting a check message for determining whether or not the server has failed in the client to the server at a predetermined interval and determining that a failure has occurred in the server when the response message to the check message is not received from the server during a predetermined period ; And
If the server is determined to have a failure, sorting the IP addresses of the plurality of clients in order of magnitude and replacing the client corresponding to the IP address located at the top or bottom of the aligned IP addresses of the plurality of clients And selecting the file as a server.
청구항 12에 있어서,
상기 접속 요청 메시지는, 상기 클라이언트 내 스토리지의 가용 크기, 상기 클라이언트의 아이디, 패스워드, 아이피 주소 및 포트 번호 중 하나 이상을 포함하는, 파일의 분산 저장 방법.
The method of claim 12,
Wherein the connection request message includes at least one of an available size of the storage in the client, an ID, a password, an IP address, and a port number of the client.
청구항 12에 있어서,
상기 서버에서, 상기 클라이언트 내 스토리지의 가용 크기 중 상기 클라이언트 내 스토리지에 저장된 상기 대상 파일의 크기를 제외한 나머지 크기에 해당하는 더미 파일(dummy file)을 생성하여 상기 클라이언트 내 스토리지에 저장하는 단계를 더 포함하는, 파일의 분산 저장 방법.
The method of claim 12,
And generating a dummy file corresponding to the remaining size of the available storage size of the client in the client, excluding the size of the target file stored in the storage in the client, and storing the generated dummy file in the storage in the client How to store distributed files.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 청구항 12에 있어서,
상기 대체 서버에서, 상기 대체 서버에 저장된 대상 파일을 상기 대체 서버를 제외한 클라이언트 내 스토리지에 저장하는 단계를 더 포함하는, 파일의 분산 저장 방법.
The method of claim 12,
Further comprising the step of, in the alternative server, storing the target file stored in the alternative server in a storage in the client excluding the alternative server.
청구항 21에 있어서,
상기 대체 서버에서,
상기 파일 메타 정보를 업데이트하는 단계; 및
업데이트된 상기 파일 메타 정보를 상기 대체 서버를 제외한 클라이언트 각각에 송신하는 단계를 더 포함하는, 파일의 분산 저장 방법.
23. The method of claim 21,
In the alternate server,
Updating the file meta information; And
And transmitting the updated file meta information to each of the clients except for the alternative server.
KR1020150055119A 2015-04-20 2015-04-20 System and method for distributively storing files KR101718397B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150055119A KR101718397B1 (en) 2015-04-20 2015-04-20 System and method for distributively storing files

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150055119A KR101718397B1 (en) 2015-04-20 2015-04-20 System and method for distributively storing files

Publications (2)

Publication Number Publication Date
KR20160124475A KR20160124475A (en) 2016-10-28
KR101718397B1 true KR101718397B1 (en) 2017-03-21

Family

ID=57244556

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150055119A KR101718397B1 (en) 2015-04-20 2015-04-20 System and method for distributively storing files

Country Status (1)

Country Link
KR (1) KR101718397B1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101993309B1 (en) * 2017-06-02 2019-06-26 (주)오투팜 Method and program for storing service data by cloud account
KR102026301B1 (en) 2017-12-29 2019-09-27 주식회사 포스코아이씨티 Distributed parallel processing system for preventing data loss and method thereof
KR102240931B1 (en) * 2019-05-23 2021-04-15 주식회사 포스팟 Payment management server based on a block chain that enables distributed storage of payment information in conjuction with multiple pos terminals and operating method thereof

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081898A (en) * 2012-10-18 2014-05-08 Hitachi Systems Ltd Divided file backup system

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140056940A (en) * 2012-11-02 2014-05-12 (주)유앤비테크 Black box for virhicle system using smart device control based grid system and method of operating thereof
KR101431912B1 (en) 2012-12-10 2014-09-23 포항공과대학교 산학협력단 Virtual File System integrating multiple Cloud Storage Services
KR101496764B1 (en) * 2013-05-14 2015-02-27 서울대학교산학협력단 Method and apparatus for managing file to recover original file with at least pre-determined number file fragments

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014081898A (en) * 2012-10-18 2014-05-08 Hitachi Systems Ltd Divided file backup system

Also Published As

Publication number Publication date
KR20160124475A (en) 2016-10-28

Similar Documents

Publication Publication Date Title
US10776396B2 (en) Computer implemented method for dynamic sharding
US10805406B2 (en) Zone redundant computing services using multiple local services in distributed computing systems
US7546486B2 (en) Scalable distributed object management in a distributed fixed content storage system
US9542404B2 (en) Subpartitioning of a namespace region
US10778810B2 (en) Staging and deployment to multiple service clouds
US8261033B1 (en) Time optimized secure traceable migration of massive quantities of data in a distributed storage system
US9483482B2 (en) Partitioning file system namespace
US9454444B1 (en) Using location tracking of cluster nodes to avoid single points of failure
US20080140947A1 (en) Identification of fixed content objects in a distributed fixed content storage system
CN109669762B (en) Cloud computing resource management method, device, equipment and computer readable storage medium
US8713127B2 (en) Techniques for distributed storage aggregation
CN107430603A (en) The system and method for MPP database
US20120078946A1 (en) Systems and methods for monitoring files in cloud-based networks
KR101718397B1 (en) System and method for distributively storing files
CN1602480A (en) Managing storage resources attached to a data network
KR101704928B1 (en) System and method for distributively storing files using gpu
JP6059558B2 (en) Load balancing judgment system
KR101679512B1 (en) System and method for distributively storing files based on legacy desktop for processing big data
US20090144333A1 (en) System for maintaining a database
US9495257B2 (en) Networking support for zone clusters based on virtualization of servers
US10621148B1 (en) Maintaining multiple object stores in a distributed file system
Ruty et al. Collapsing the layers: 6Stor, a scalable and IPv6-centric distributed storage system
US11973823B1 (en) Offloading namespace redirection to backup clients in a scale out cluster
JP2015162216A (en) Decentralized processing system
CN116910158A (en) Data processing and inquiring method, device, equipment and medium based on copy group

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
FPAY Annual fee payment

Payment date: 20200227

Year of fee payment: 4