KR101298852B1 - Method of restoring file and system for the same - Google Patents
Method of restoring file and system for the same Download PDFInfo
- Publication number
- KR101298852B1 KR101298852B1 KR1020110087528A KR20110087528A KR101298852B1 KR 101298852 B1 KR101298852 B1 KR 101298852B1 KR 1020110087528 A KR1020110087528 A KR 1020110087528A KR 20110087528 A KR20110087528 A KR 20110087528A KR 101298852 B1 KR101298852 B1 KR 101298852B1
- Authority
- KR
- South Korea
- Prior art keywords
- file
- version
- file version
- terminal
- delta
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1458—Management of the backup or restore process
- G06F11/1469—Backup restoration techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
- G06F15/17306—Intercommunication techniques
- G06F15/17325—Synchronisation; Hardware support therefor
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
본 발명은, 파일 복원 방법 및 이를 위한 시스템이 개시된다. 단말로부터 파일 버전 히스토리 중 복원 대상 파일 버전의 정보를 수신하는 단계, 상기 현재 파일 버전에서부터 상기 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복이 존재하는지 판단하는 단계, 상기 판단 결과에 따라 상기 복귀 대상 파일 버전으로 복귀하기 위한 델타 파일을 생성하는 단계 및 상기 생성한 델타 파일을 상기 단말로 전송하여 상기 단말의 동기화를 수행하는 단계를 포함하여 구성될 수 있다. 따라서, 클라우드 환경에서 적어도 하나의 단말에 의해 파일이 수정됨에 따라 다른 단말이 수정된 파일로 동기화되었지만, 단말은 서버에서 관리되는 파일 버전 히스토리를 기초하여 특정 파일 버전 복귀할 수 있다는 장점이 있다.The present invention discloses a file restoration method and a system therefor. Receiving information of a restoration target file version of the file version history from the terminal, determining whether a duplicate exists in a portion modified for the file version from the current file version to the restoration target file version, and according to the determination result The method may include generating a delta file for returning to the restoration target file version, and transmitting the generated delta file to the terminal to perform synchronization of the terminal. Accordingly, although the other terminal is synchronized with the modified file as the file is modified by the at least one terminal in the cloud environment, the terminal has an advantage of returning to a specific file version based on the file version history managed by the server.
Description
본 발명은 파일 버전 복원 방법 및 이를 위한 시스템에 관한 것으로, 더욱 상세하게는 클라우드 환경에서 파일 버전 히스토리를 기초로 특정 파일 버전의 파일을 복원하는 방법 및 이를 위한 시스템에 관한 것이다.The present invention relates to a method for restoring a file version and a system therefor, and more particularly, to a method and system for restoring a file of a specific file version based on a file version history in a cloud environment.
컴퓨터 네트워크의 기술발전에 따라, 각 단말의 독립적인 하드웨어 성능에 의존하던 기존의 컴퓨팅 환경은, 네트워크 상의 모든 컴퓨팅 자원을 활용하여 단말의 요청에 따라 해당 서비스를 제공하는 클라우드 컴퓨팅(Cloud Computing) 형태로 진화하고 있다.The existing computing environment, which relies on the independent hardware performance of each terminal according to the technological development of the computer network, is a form of cloud computing in which the service is provided according to the request of the terminal utilizing all the computing resources on the network It is evolving.
클라우드 컴퓨팅이란 '인터넷을 통한 IT자원의 온디맨드 아웃소싱 서비스'라고 정의할 수 있다. 클라우드 컴퓨팅 환경에서, 서비스 제공자는 여러 곳에 분산되어 있는 데이터 센터를 가상화 기술로 통합하여 사용자들이 필요로 하는 서비스를 제공하게 된다.Cloud computing can be defined as an on-demand outsourcing service for IT resources over the Internet. In a cloud computing environment, service providers will integrate data centers in multiple locations into virtualization technologies to provide the services users need.
서비스 사용자는 어플리케이션(Application), 스토리지(Storage), 운영체제(Operation System, OS), 보안(Security)등의 필요한 컴퓨팅 자원을 각 사용자 소유의 단말에 설치하여 사용하는 것이 아니라, 가상화 기술을 통해 생성된 가상공간상의 서비스를 원하는 시점에 원하는 만큼 골라서 사용하게 된다. 사용자는 각 컴퓨팅 자원의 구입비용을 지불하는 것이 아니라 사용량에 기반하여 대가를 지불하게 된다.Service users are not required to install and use necessary computing resources such as application, storage, operating system, OS, and security in each user's own terminal, The service in the virtual space can be selected and used as desired. The user does not pay for the purchase of each computing resource, but instead pays the price based on usage.
이러한 클라우드 컴퓨팅 서비스에 따르면, 서비스 사용자들은 어떠한 장소에서든 네트워크 접속과 기본적인 연산기능만을 수행하는 단말을 통해 클라우드 가상공간에 접속하여 대용량의 저장장치와 고성능 컴퓨팅 리소스가 필요한 작업들을 수행하고, 고도화된 서비스들도 제공받을 수 있는 장점이 있다.According to these cloud computing services, service users access the cloud virtual space through terminals that perform only network access and basic computing functions at any place, and perform tasks requiring large storage and high performance computing resources. There is also an advantage that can be provided.
한편, 다양한 종류의 단말을 사용하여 클라우드 가상공간에 접속하는 서비스 사용자가 단말을 이용하여 클라우드 가상공간에 접속하여 파일을 변경한 경우, 변경된 파일은 단말을 제외한 클라우드 가상공간에 접속한 다양한 종류의 단말과 동기화가 되야 한다. 이에 따라, 변경된 파일은 파일을 변경한 단말을 제외한 클라우드 가상공간에 접속한 다양한 종류의 단말로 전송된다. Meanwhile, when a service user accessing a cloud virtual space using various types of terminals accesses a cloud virtual space using a terminal and changes a file, the changed file is connected to various types of terminals accessing the cloud virtual space except for the terminal. It should be synchronized with. Accordingly, the changed file is transmitted to various types of terminals connected to the cloud virtual space except for the terminal which changed the file.
이와 같이, 단말은 현재 파일 버전에서 파일을 변경하여 새로운 파일 버전으로 발전할 수는 있지만, 현재 파일 버전에서 이전 파일 버전으로는 복귀할 수 없다는 문제점이 존재한다.As such, although the terminal may evolve to a new file version by changing a file in the current file version, there is a problem that the terminal cannot return to the previous file version.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 클라우드 환경에서 파일 버전 히스토리를 기초로 특정 파일 버전의 파일을 복원하는 방법 및 이를 위한 시스템을 제공하는데 있다.An object of the present invention for solving the above problems is to provide a method and system for restoring a file of a specific file version based on the file version history in a cloud environment.
상기한 본 발명의 목적을 달성하기 위한 본 발명의 일 실시예에 따른 파일 복원 방법은, 단말로부터 파일 버전 히스토리 중 복원 대상 파일 버전의 정보를 수신하는 단계, 상기 현재 파일 버전에서부터 상기 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복이 존재하는지 판단하는 단계, 상기 판단 결과에 따라 상기 복귀 대상 파일 버전으로 복귀하기 위한 델타 파일을 생성하는 단계 및 상기 생성한 델타 파일을 상기 단말로 전송하여 상기 단말의 동기화를 수행하는 단계를 포함하여 구성될 수 있다.The file restoration method according to an embodiment of the present invention for achieving the object of the present invention, the step of receiving information of the restoration target file version of the file version history from the terminal, the restoration target file version from the current file version Determining whether there is a duplication in the modified part for the file version up to, generating a delta file for returning to the return target file version according to the determination result, and transmitting the generated delta file to the terminal It may be configured to include the step of performing the synchronization of the terminal.
본 발명의 일 실시예에 따른 클라우드 시스템의 서버는, 상기 단말로부터 파일 버전 히스토리 중 복원 대상 파일 버전의 정보 요청을 수신하는 수신부, 상기 단말에서 파일의 수정이 발생할 시 생성된 백워드 델타 파일을 수신하고, 상기 백워드 델타 파일을 파일 버전에 대응하여 저장하는 저장부, 상기 저장부에 저장된 백워드 델타 파일 중 현재 파일 버전에서부터 상기 수신한 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복이 존재하는지 판단하는 판단부 및 상기 판단 결과에 따라 델타 파일을 생성하여 상기 단말의 동기화를 수행하는 동기화부를 포함하여 구성될 수 있다.A server of a cloud system according to an exemplary embodiment of the present invention may include a receiver configured to receive a request for information on a restoration target file version from a file version history, and a backward delta file generated when a file is modified in the terminal. And a storage unit for storing the backward delta file corresponding to the file version and a portion modified for the file version from the current file version to the received restoration target file version among the backward delta files stored in the storage unit. It may include a determination unit for determining whether there is a and a synchronization unit for generating a delta file according to the determination result to perform synchronization of the terminal.
상기와 같은 본 발명에 따른 파일 복원 방법 및 이를 위한 시스템을 이용할 경우에는 클라우드 환경에서 적어도 하나의 단말에 의해 파일이 수정됨에 따라 다른 단말이 수정된 파일로 동기화되었지만, 서버에서 관리되는 파일 버전 히스토리를 기초하여 특정 파일 버전 복귀할 수 있다는 장점이 있다.In the case of using the method for restoring a file and the system therefor according to the present invention as described above, as the file is modified by at least one terminal in a cloud environment, another terminal is synchronized with the modified file, but the file version history managed by the server is The advantage is that you can revert to a specific file version based on that.
도 1은 본 발명의 제 1 실시예에 따른 파일 복원 과정을 설명하기 위한 흐름도이다.
도 2는 본 발명의 제 2 실시예에 따른 파일 복원 과정을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 파일 복원 시스템의 내부 구조를 개략적으로 도시한 도면이다.
도 4는 본 발명의 일 실시예에 따른 파일 복원 과정을 설명하기 위한 예시도이다.1 is a flowchart illustrating a file restoration process according to the first embodiment of the present invention.
2 is a flowchart illustrating a file restoration process according to the second embodiment of the present invention.
3 is a diagram schematically illustrating an internal structure of a file restoration system according to an embodiment of the present invention.
4 is an exemplary diagram for describing a file restoration process according to an embodiment of the present invention.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. While the invention is susceptible to various modifications and alternative forms, specific embodiments thereof are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the invention is not intended to be limited to the particular embodiments, but includes all modifications, equivalents, and alternatives falling within the spirit and scope of the invention. Like reference numerals are used for like elements in describing each drawing.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. The terms first, second, A, B, etc. may be used to describe various elements, but the elements should not be limited by the terms. The terms are used only for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be referred to as a second component, and similarly, the second component may also be referred to as a first component. And / or < / RTI > includes any combination of a plurality of related listed items or any of a plurality of related listed items.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is referred to as being "connected" or "connected" to another component, it may be directly connected to or connected to that other component, but it may be understood that other components may be present in between. Should be. On the other hand, when an element is referred to as being "directly connected" or "directly connected" to another element, it should be understood that there are no other elements in between.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terminology used herein is for the purpose of describing particular example embodiments only and is not intended to be limiting of the present invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this application, the terms "comprise" or "have" are intended to indicate that there is a feature, number, step, operation, component, part, or combination thereof described in the specification, and one or more other features. It is to be understood that the present invention does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, components, or a combination thereof.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.Unless defined otherwise, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. Terms such as those defined in commonly used dictionaries are to be interpreted as having a meaning consistent with the contextual meaning of the related art and are to be interpreted as either ideal or overly formal in the sense of the present application Do not.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings.
도 1은 본 발명의 제 1 실시예에 따른 파일 복원 과정을 설명하기 위한 흐름도이다. 1 is a flowchart illustrating a file restoration process according to the first embodiment of the present invention.
도 1에는 도시하지 않았지만, 서버(100)는 사용자의 제 1 단말(201) 및 제 2 단말(203) 중 적어도 하나의 단말에서 파일의 수정이 발생하면, 파일을 수정한 단말에서 파일 수정 전 및 후의 차이점만을 추출하여 생성한 델타 파일을 수신하여 저장하고 있다. Although not shown in FIG. 1, when the file is modified in at least one of the
즉, 서버(100)는 적어도 하나의 단말에서 파일의 수정이 발생할 때마다 단말로부터 델타 파일을 수신하여 파일 버전에 대응하여 저장하고 있다. 이와 같이 서버(100)가 델타 파일을 파일 버전에 대응하여 저장하고 있기 때문에, 서버(100)는 파일 버전 히스토리를 저장하고 있다고 할 수 있다.That is, whenever the file modification occurs in at least one terminal, the
그리고, 서버(100)는 단말로부터 수신한 델타 파일을 패치하여 최근 파일 버전으로 동기화를 수행한 상태이며, 델타 파일을 파일의 수정이 발생하지 않은 다른 단말에게 전송하여 다른 단말의 파일 동기화를 수행한다.In addition, the
도 1을 참조하면, 제 1 단말(201)은 현재 파일 버전을 특정 파일 버전으로 복원하기 위해서 서버(100)로 파일 버전 히스토리를 요청한다(S101). 서버(100)는 제 1 단말(201)로 파일 버전 히스토리를 전송한다(S102). 제 1 단말(201)은 파일 버전 히스토리 중 복원 대상 파일 버전을 선택하고, 복원 대상 파일의 정보를 서버(100)로 요청한다(S104).Referring to FIG. 1, the
서버(100)는 제 1 단말(201)의 현재 파일 버전에서부터 복원 대상 파일 버전으로 복원하기 위한 백워드 델타 파일을 검색하고(S105), 검색한 백워드 델타 파일을 병합하여 새로운 델타 파일을 생성한다. 이와 같이, 서버(100)가 현재 파일 버전에서부터 복원 대상 파일 버전까지의 백워드 델타 파일을 병합하기 때문에 하나의 델타 파일만을 전송하면 되므로, 단말로 전송해야하는 데이터의 량을 최소화할 수 있다.The
도 1의 실시예에서, 서버(100)는 제 1 단말(201)의 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일에 대해서 수정한 부분이 중복되지 않은 경우의 예시도이며, 중복되는 부분이 존재하는 경우는 후술될 도 2 에서 보다 구체적으로 설명하기로 한다.In the embodiment of FIG. 1, the
서버(100)는 생성한 새로운 델타 파일을 제 1 단말(201)로 전송하고(S107), 제 1 단말(201)은 서버(100)로부터 수신한 새로운 델타 파일을 패치하여 복원 대상 파일 버전으로 복귀한다(S108). 그리고, 서버(100)는 제 1 단말(201)로 전송한 새로운 델타 파일을 이용하여 복원 대상 파일 버전으로 동기화를 수행하고(S109), 제 2 단말(203)로 새로운 델타 파일을 전송하여 복원 대상 파일 버전으로의 동기화를 요청한다(S110). 도 1에는 도시하지 않았으나, 제 2 단말(203)은 서버(100)로부터 수신한 새로운 델타 파일을 패치하여 복원 대상 파일 버전으로 동기화를 수행한다.
The
도 2는 본 발명의 제 2 실시예에 따른 파일 복원 과정을 설명하기 위한 흐름도이다. 2 is a flowchart illustrating a file restoration process according to the second embodiment of the present invention.
도 2는 도 1에서 상술한 제 1 단말(201)에서 파일 버전 히스토리 중 복원 대상 파일 버전을 선택하면, 서버(100)에서는 제 1 단말(201)의 현재 파일 버전에서부터 복원 대상 파일 버전까지의 백워드 델타 파일을 검색하는 과정(S201 내지 S205)까지 동일하다.FIG. 2 illustrates that when the restoration target file version is selected from the file version history in the
따라서, 도 2에서는 도 1과 동일한 부분에 대한 설명은 생략하고, 서버(100)가 제 1 단말(201)의 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복되는 부분이 존재한다고 판단한 경우에 델타 파일을 제 1 단말(201)로 전송하는 과정을 설명하기로 한다.Therefore, in FIG. 2, a description of the same parts as in FIG. 1 is omitted, and a part overlapped with a part modified by the
도 2를 참조하면, 서버(100)는 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전 중 수정한 부분에 중복이 발생하기 전까지의 파일 버전에 대해서 해당 버전으로 복귀하기 위한 백워드 델타 파일을 병합하여 새로운 델타 파일을 생성한다(S206). 서버(100)는 생성한 새로운 델타 파일을 제 1 단말(201)로 전송하고, 제 1 단말(201)은 서버(100)로부터 수신한 새로운 델타 파일을 패치하여 임시로 백업 파일을 생성한다(S208). Referring to FIG. 2, the
그 후, 서버(100)는 수정한 부분에 중복이 발생한 파일 버전으로 복귀하기 위한 백워드 델타 파일을 제 1 단말(201)로 전송한다(S209). 그러면, 제 1 단말(201)은 백워드 델타 파일을 패치하여 복원 대상 파일 버전으로 복귀한다(S210). Thereafter, the
그런 다음, 서버(100)는 제 1 단말(201)이 복원하고자 하는 파일 버전으로 복원 되었는지 판단한다(S210). 서버(100)는 제 1 단말(201)이 복원하고자 하는 파일 버전으로 복원되지 않았으면, 나머지 복원 대상 파일 버전에 대해서 중복된 부분이 존재하는지 판단하는 단계(S206)로 되돌아가 복원하고자 하는 파일 버전으로 복원될 때까지 상기한 과정을 반복하여 수행한다. Then, the
그리고, 서버(100)는 제 1 단말(201)로 전송한 새로운 델타 파일을 및 백워드 델타 파일을 이용하여 복원 대상 파일 버전으로 동기화를 수행하고(S212), 제 2 단말(203)로 새로운 델타 파일 및 백워드 델타 파일을 전송하여 복원 대상 파일 버전으로의 동기화를 요청한다(S213). 도 2에는 도시하지 않았으나, 제 2 단말(203)은 서버(100)로부터 수신한 새로운 델타 파일을 패치하여 복원 대상 파일 버전으로 동기화를 수행한다.
Then, the
도 3은 본 발명의 일 실시예에 따른 파일 복원 시스템의 내부 구조를 개략적으로 도시한 도면이다.3 is a diagram schematically illustrating an internal structure of a file restoration system according to an embodiment of the present invention.
도 3을 참조하면, 파일 복원 시스템은 클라우드 시스템의 서버(100), 제 1 단말(201) 및 제 2 단말(203)을 포함하여 구성될 수 있다. 도 3의 실시예에서, 제 1 단말(201) 및 제 2 단말(203)만을 도시하였지만, 사용자의 단말이 클라우드 시스템에 접속하는 경우, 서버(100)에 연결되는 단말의 개수가 증가할 수 있으며, 이에 따라 도 3에 도시된 블록도의 내부 구조가 변경될 수 있음에 유의해야 한다.Referring to FIG. 3, the file restoration system may include a
도 3의 실시예에서, 서버(100)는 사용자의 제 1 단말(201) 및 제 2 단말(203) 중 적어도 하나의 단말에서 파일의 수정이 발생하면, 파일을 수정한 단말에서 파일 수정 전 및 후의 차이점만을 추출하여 생성한 델타 파일을 수신한다. 그 후, 서버(100)는 수신한 델타 파일을 파일 버전에 대응하여 저장부에 저장한다. 즉, 서버(100)는 파일 버전 히스토리를 저장하고 있다고 할 수 있다.In the embodiment of FIG. 3, when the file modification occurs in at least one of the
도 3을 참조하면, 제 1 단말(201) 및 제 2 단말(203)중 적어도 하나의 단말이 서버(100)로 파일 버전 히스토리의 전송을 요청한다. 이하에서, 제 1 단말(201)이 서버(100)로 파일 버전 히스토리의 전송을 요청하는 경우를 예를 들어 설명할 것이며, 제 2 단말(203) 또한 서버(100)로 파일 버전 히스토리의 전송을 요청할 수도 있다.Referring to FIG. 3, at least one of the
제 1 단말(201)은 현재 파일 버전을 특정 파일 버전으로 복원하기 위해서 서버(100)로 파일 버전 히스토리를 요청한다. 제 1 단말(201)은 서버(100)로부터 복원 대상 파일을 복원하기 위한 델타 파일을 수신하고, 수신한 델타 파일을 이용하여 복원 대상 파일 버전으로 복원한다.The first terminal 201 requests the file version history from the
서버(100)는 송/수신부(101), 판단부(131), 저장부(151) 및 동기화부(171)를 포함하여 구성될 수 있다. 송/수신부(101)는 제 1 단말(201)로 파일 버전 히스토리를 전송하고, 제 1 단말(201)이 파일 버전 히스토리에서 선택한 복원 대상 파일 버전을 수신한다.The
판단부(131)는 이전 버전으로 복귀하기 위한 델타 파일 중 현재 파일 버전에서부터 복원 대상 파일 버전으로 복귀하기 위한 백워드 델파 파일을 저장부(153)에서 검색하고, 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복되는 부분이 존재하는지 판단한다. The
또한, 판단부(131)는 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복되는 부분이 존재하는 경우, 복원 대상 파일 버전으로 파일이 복원되었는지 판단한다.In addition, the
동기화부(171)는 판단부(131)의 판단 결과에 따라 델타 파일을 생성하고, 생성한 델타 파일을 송/수신부(101)를 통해 제 1 단말(201)로 전송한다. 먼저, 판단부(131)가 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복되는 부분이 존재하지 않는다고 판단하는 경우를 설명하기로 한다. The
동기화부(171)는 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전에 대해서 파일 버전으로 복원하기 위한 백워드 델타 파일을 병합하여 새로운 델타 파일을 생성하고, 생성한 새로운 델타 파일을 송/수신부(101)를 통해 제 1 단말(201)로 전송한다.The
둘째, 판단부(131)가 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복되는 부분이 존재한다고 판단한 경우를 설명한다. 동기화부(171)는 현재 파일 버전에서부터 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복이 발생되기 전까지의 파일 버전에 대해서 해당 버전의 백워드 델타 파일을 병합하여 새로운 델타 파일을 생성하고, 생성한 새로운 델타 파일을 송/수신부(101)를 통해 제 1 단말(201)로 전송한다. Secondly, the case where the
그 후, 동기화부(171)는 수정한 부분에 중복이 발생한 파일 버전으로 복귀하기 위한 백워드 델타 파일을 송/수신부(101)를 통해 제 1 단말(201)로 전송한다. 동기화부(171)는 판단부(131)의 판단 결과 제 1 단말(201)이 복원하고자 하는 파일 버전으로 복원되지 않았으면, 나머지 복원 대상 파일 버전에 대해서 중복된 부분이 존재하는지의 판단 결과에 따라 복원하고자 하는 파일 버전으로 복원될 때까지 상기한 과정을 반복하여 수행한다.Thereafter, the
저장부(151)는 적어도 하나의 단말에서 파일이 수정될 시 수신한 델타 파일을 파일 버전에 대응하여 저장하고 있다.
The
도 4는 본 발명의 일 실시예에 따른 파일 복원 과정을 설명하기 위한 예시도이다.4 is an exemplary diagram for describing a file restoration process according to an embodiment of the present invention.
도 4에는 도시하지 않았지만, 서버(100)는 사용자의 제 1 단말(201) 및 제 2 단말(203) 중 적어도 하나의 단말에서 파일의 수정이 발생하여 현재 서버(100), 제 1 단말(201) 및 제 2 단말(203)은 파일 버전 6으로 동기화된 상태이다. Although not shown in FIG. 4, the
서버(100)는 적어도 하나의 단말에서 파일의 수정이 발생할 때마다 단말로부터 델타 파일을 수신하여 파일 버전에 대응하여 저장하고 있다. 예를 들어, 서버(100)는 파일 버전 1와 파일 버전 2의 차이점인 제 1 블록 수정 내용을 포함하는 제 1 델타 파일, 파일 버전 2 와 파일 버전 3의 차이점인 제 2 블록 수정 내용을 포함하는 제 2 델타 파일, 파일 버전 3과 파일 버전 4의 차이점인 제 3 블록 수정 내용을 포함하는 제 3 델타 파일, 파일 버전 4와 파일 버전 5의 차이점인 제 3 블록 및 제 4 블록 수정 내용을 포함하는 제 4 델타 파일 및 파일 버전 5와 파일 버전 6의 차이점인 제 5 블록 수정 내용을 포함하는 제 5 델파 파일을 파일 버전에 대응하여 저장하고 있다.The
여기서, 델타 파일 현재 파일 버전에서 이전 파일 버전으로 복귀할 수 있는 파일로, 예를 들어 제 1 델타 파일은 파일 버전 2에서 파일 버전 1로 복귀할 수 있는 파일이다.Here, the delta file is a file that can return to the previous file version from the current file version, for example, the first delta file is a file that can return to file version 1 from the file version 2.
도 4를 참조하면, 제 1 단말(201)은 현재 파일 버전을 특정 파일 버전으로 복원하기 위해서 서버(100)로 파일 버전 히스토리를 요청한다(S401). 서버(100)는 제 1 단말(201)로 파일 버전 히스토리를 전송한다(S402). 제 1 단말(201)은 파일 버전 히스토리 중 복원 대상 파일 버전인 파일 버전 1을 선택하고(S403), 파일 버전 1로 복원하기 위한 백워드 델타 파일을 서버(100)로 요청한다(S404).Referring to FIG. 4, the first terminal 201 requests the file version history from the
서버(100)는 현재 파일 버전인 파일 버전 6에서부터 복원 대상 파일 버전인 파일 버전 1까지의 백워드 델타 파일을 검색한다(S405). 그 후, 서버(100)는 현재 파일 버전인 파일 버전 6에서부터 복원 대상 파일 버전인 파일 버전 1까지의 파일에 대해서 수정한 부분에 중복되는 부분이 존재하는지 판단한다(S406). The
서버(100)는 파일 버전에 대해서 수정한 부분에 중복되는 부분이 존재하지 않는다고 판단하면 현재 파일 버전인 파일 버전 6에서부터 복원 대상 파일 버전인 파일 버전 1까지의 파일 버전에 대해서 파일 버전 1로 복귀할 수 있는 백워드 델타 파일인 제 1 델타 파일 내지 제 5 델타 파일을 병합하여 새로운 델타 파일을 생성한다(S411). If the
한편, 서버(100)는 파일 버전에 대해서 수정한 부분에 중복되는 부분이 존재한다고 판단하면, 예를 들어, 도 4의 실시예에서는 파일 버전 3에서 제 3 블록이 수정되어 파일 버전 4가 생성되었고, 파일 버전 4에서 제 3 블록 및 제 4 블록이 수정되어 파일 버전 5가 생성되었으므로 서버(100)는 파일 버전 4 및 파일 버전 5에 수정한 부분이 중복된다고 판단한다. On the other hand, if the
먼저, 서버(100)는 현재 파일 버전인 파일 버전 6에서부터 복원 대상 파일 버전인 파일 버전 1까지의 파일 버전에 대해서 중복된 부분이 존재하기 전까지의 파일 버전으로 복귀하기 위한 백워드 델타 파일인 제 5 델타 파일 및 제 4 델타 파일을 병합하여 파일 버전 6에서 파일 버전 4로 복귀할 수 있는 델타 파일을 생성하여(S407) 제 1 단말(201)로 전송한다(S408).First, the
다음으로, 서버(100)는 수정한 부분에 중복된 부분이 존재하는 파일 버전에 대해서, 파일 버전으로 복귀하기 위한 백워드 델타 파일인 제 3 델타 파일을 제 1 단말(201)로 전송하여, 파일 버전 4에서 파일 버전 3으로 복귀할 수 있도록 한다(S409). Next, the
그런 다음, 서버(100)는 제 1 단말(201)이 복원하고자 하는 파일 버전으로 복원 되었는지 판단한다(S410). 서버(100)는 제 1 단말(201)이 복원하고자 하는 파일 버전으로 복원되지 않았으면, 나머지 복원 대상 파일 버전에 대해서 중복된 부분이 존재하는지 판단하는 단계(S406)로 되돌아가 복원하고자 하는 파일 버전으로 복원될 때까지 상기한 과정을 반복하여 수행한다. Then, the
여기서, 서버(100)는 나머지 복원 대상 파일 버전까지의 파일 버전으로 복귀하기 위한 제 1 델타 파일 및 제 2 델타 파일을 병합하여 파일 버전 3에서 파일 버전 1로 복귀할 수 있는 델타 파일을 생성하여 제 1 단말(201)로 전송한다.Here, the
그리고, 서버(100)는 제 1 단말(201)로 전송한 새로운 델타 파일을 및 백워드 델타 파일을 이용하여 복원 대상 파일 버전으로 동기화를 수행하고(S412), 제 2 단말(203)로 새로운 델타 파일 및 백워드 델타 파일을 전송하여 복원 대상 파일 버전으로의 동기화를 요청한다(S413). Then, the
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.
It will be apparent to those skilled in the art that various modifications and variations can be made in the present invention without departing from the spirit or scope of the present invention as defined by the following claims It can be understood that
100: 서버 201: 제 1 단말
203: 제 2 단말100: server 201: first terminal
203: second terminal
Claims (10)
단말로부터 파일 버전 히스토리 중 복원 대상 파일 버전의 정보를 수신하는 단계;
상기 복원 대상 파일 버전의 정보에 기반하여 현재 파일 버전에서부터 상기 복원 대상 파일 버전까지의 파일 버전에 대해서 수정한 부분에 중복이 존재하는지 판단하는 단계;
상기 판단 결과에 따라 상기 현재 파일 버전에서 상기 복원 대상 파일 버전으로 복귀하기 위한 하나의 델타 파일을 생성하는 단계; 및
상기 생성한 하나의 델타 파일을 상기 단말로 전송하여 상기 현재 파일 버전에서 상기 복원 대상 파일 버전이 되도록 상기 단말의 동기화를 수행하는 단계를 포함하는 것을 특징으로 하는 파일 복원 방법.In the file restoration method running on a server of a cloud system,
Receiving information of a restoration target file version of the file version history from the terminal;
Determining whether duplication exists in a portion modified for the file version from the current file version to the restore target file version based on the information of the restore target file version;
Generating one delta file for returning from the current file version to the restoration target file version according to the determination result; And
And transmitting the generated one delta file to the terminal and synchronizing the terminal to become the restoration target file version from the current file version.
상기 판단 결과 상기 수정한 부분에 중복된 부분이 존재하지 않는 경우, 상기 복원 대상 파일 버전으로 복귀하기 위한 복수 개의 델타 파일을 병합하여 상기 복원 대상 파일 버전으로 복귀하기 위한 하나의 델타 파일을 생성하는 것을 특징으로 하는 파일 복원 방법.The method of claim 1, wherein generating the one delta file comprises:
If the duplicated portion does not exist in the modified portion as a result of the determination, merging a plurality of delta files for returning to the restoration target file version and generating one delta file for returning to the restoration target file version File restore method.
상기 판단 결과 상기 수정한 부분에 중복된 부분이 존재하는 경우, 상기 현재 파일 버전에서부터 상기 중복된 부분이 존재하기 전까지의 파일 버전에 대해서 해당 버전으로 복귀하기 위한 복수 개의 델타 파일을 병합하여 상기 복원 대상 파일 버전으로 복귀하기 위한 하나의 델타 파일을 생성하는 것을 특징으로 하는 파일 복원 방법.The method of claim 1, wherein generating the one delta file comprises:
If there is a duplicate part in the modified part as a result of the determination, a plurality of delta files for returning to the version of the file version from the current file version until the duplicate part exists are merged to restore the target object. A method for restoring a file, characterized by generating one delta file for returning to the file version.
상기 중복된 부분이 존재하는 파일 버전에 대해서, 해당 버전으로 복귀하기 위해 상기 복원 대상 파일 버전으로 복귀하기 위한 하나의 델타 파일을 상기 단말로 전송하여 상기 단말의 동기화를 수행하는 것을 특징으로 하는 파일 복원 방법.The method of claim 3, wherein generating the one delta file comprises:
For a file version in which the duplicated part exists, one delta file for returning to the restoration target file version is transmitted to the terminal so as to perform synchronization of the terminal. Way.
상기 현재 파일 버전에서 이전 파일 버전으로 복귀하기 위한 파일인 것을 특징으로 하는 파일 복원 방법.The method of claim 1, wherein the one delta file,
And a file for returning from the current file version to a previous file version.
상기 단말에서 파일의 수정이 발생할 시 생성된 백워드 델타 파일을 수신하고, 상기 백워드 델타 파일을 파일 버전에 대응하여 저장하는 저장부;
상기 저장부에 저장된 백워드 델타 파일 중 현재 파일 버전에서부터 상기 수신한 복원 대상 파일 버전의 정보 요청에 상응하는 파일 버전까지 수정한 부분에 중복이 존재하는지 판단하는 판단부; 및
상기 판단 결과에 따라 하나의 델타 파일을 생성하여 상기 현재 파일 버전에서 상기 복원 대상 파일 버전이 되도록 상기 단말의 동기화를 수행하는 동기화부를 포함하는 것을 특징으로 하는 서버.A receiving unit for receiving an information request of a file version to be restored from the file version history from the terminal;
A storage unit which receives a backward delta file generated when a file is modified in the terminal and stores the backward delta file corresponding to a file version;
A determination unit for determining whether a duplicate exists in a portion of a backward delta file stored in the storage unit, from a current file version to a file version corresponding to the received request information of the restoration target file version; And
And a synchronization unit generating one delta file according to the determination result and performing synchronization of the terminal to become the restoration target file version from the current file version.
상기 판단 결과 상기 수정한 부분에 중복된 부분이 존재하지 않는 경우, 상기 복원 대상 파일 버전으로 복귀하기 위한 복수 개의 델타 파일을 병합하여 상기 복원 대상 파일 버전으로 복귀하기 위한 하나의 델타 파일을 상기 단말로 전송하여 상기 단말의 동기화를 수행하는 것을 특징으로 하는 서버.The method of claim 6, wherein the synchronization unit,
If there is no duplicate part in the modified portion as a result of the determination, a delta file for merging a plurality of delta files for returning to the restoration target file version and returning to the restoration target file version is returned to the terminal. The server, characterized in that for performing the synchronization of the terminal.
상기 판단 결과 상기 수정한 부분에 중복된 부분이 존재하는 경우, 상기 현재 파일 버전에서부터 상기 중복된 부분이 존재하기 전까지의 파일 버전에 대해서 해당 버전으로 복귀하기 위한 복수 개의 델타 파일을 병합하여 상기 복원 대상 파일 버전으로 복귀하기 위한 하나의 델타 파일을 생성하고, 상기 복원 대상 파일 버전으로 복귀하기 위한 하나의 델타 파일을 상기 단말로 전송하여 상기 단말의 동기화를 수행하는 것을 특징으로 하는 서버.The method of claim 6, wherein the synchronization unit,
If there is a duplicated portion in the modified portion as a result of the determination, the restoration target by merging a plurality of delta files for returning to the corresponding version of the file version from the current file version until the duplicated portion exists And generating one delta file for returning to the file version, and transmitting one delta file for returning to the restoration target file version to the terminal to perform synchronization of the terminal.
상기 현재 파일 버전에서 이전 파일 버전으로 복귀하기 위한 파일인 것을 특징으로 하는 서버.The method of claim 8, wherein the one delta file,
And a file for returning from the current file version to a previous file version.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110087528A KR101298852B1 (en) | 2011-08-31 | 2011-08-31 | Method of restoring file and system for the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110087528A KR101298852B1 (en) | 2011-08-31 | 2011-08-31 | Method of restoring file and system for the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130024221A KR20130024221A (en) | 2013-03-08 |
KR101298852B1 true KR101298852B1 (en) | 2013-08-23 |
Family
ID=48176328
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110087528A KR101298852B1 (en) | 2011-08-31 | 2011-08-31 | Method of restoring file and system for the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101298852B1 (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101893950B1 (en) * | 2018-02-06 | 2018-08-31 | 주식회사 이스트시큐리티 | Apparatus for centralization and security of file based on Wake-on-LAN, method thereof and computer recordable medium storing program to perform the method |
CN110764951B (en) * | 2018-07-26 | 2023-04-07 | 宏碁股份有限公司 | Computer system and fault-tolerant processing method of mapping file |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050089551A (en) * | 2004-03-05 | 2005-09-08 | 삼성전자주식회사 | System for syncronizing data and method for syncronizing data between server and client using the same |
KR20070059948A (en) * | 2005-12-07 | 2007-06-12 | 한국전자통신연구원 | Structure and method of in-vehicle sync manager for telematics data |
-
2011
- 2011-08-31 KR KR1020110087528A patent/KR101298852B1/en active IP Right Grant
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050089551A (en) * | 2004-03-05 | 2005-09-08 | 삼성전자주식회사 | System for syncronizing data and method for syncronizing data between server and client using the same |
KR20070059948A (en) * | 2005-12-07 | 2007-06-12 | 한국전자통신연구원 | Structure and method of in-vehicle sync manager for telematics data |
Also Published As
Publication number | Publication date |
---|---|
KR20130024221A (en) | 2013-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108111331B (en) | Method, device, storage medium, processor and system for acquiring update data packet | |
CN108121782B (en) | Distribution method of query request, database middleware system and electronic equipment | |
CN107181686B (en) | Method, device and system for synchronizing routing table | |
CN103019960B (en) | Distributed caching method and system | |
CN105677675B (en) | Method for processing business and device | |
CN104488248A (en) | File synchronization method, server and terminal | |
CN105205143A (en) | File storage and processing method, device and system | |
CN110704376A (en) | Log file saving method and device | |
CN111651424B (en) | Data processing method, device, data node and storage medium | |
CN104111957A (en) | Method and system for synchronizing distributed transaction | |
WO2019162830A1 (en) | Chronologically ordered out-of-place update key-value storage system | |
CN104580428A (en) | Data routing method, data management device and distributed storage system | |
US11128622B2 (en) | Method for processing data request and system therefor, access device, and storage device | |
CN104517067A (en) | Method, device and system for data access | |
KR101298852B1 (en) | Method of restoring file and system for the same | |
CN104063377A (en) | Information processing method and electronic equipment using same | |
CN107623705B (en) | Storage mode upgrading method, device and system based on video cloud storage system | |
CN110798358B (en) | Distributed service identification method and device, computer readable medium and electronic equipment | |
KR101286434B1 (en) | Method of synchronizing file and system for the same | |
CN103220336B (en) | The implementation method of vector clock and system in a kind of file synchronization | |
CN115189931A (en) | Distributed key management method, device, equipment and storage medium | |
CN112685613B (en) | Resource package query method and device and information processing system | |
CN109325057B (en) | Middleware management method, device, computer equipment and storage medium | |
CN109857719B (en) | Distributed file processing method, device, computer equipment and storage medium | |
CN113742376A (en) | Data synchronization method, first server and data synchronization system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160812 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170808 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20190812 Year of fee payment: 7 |