KR101045540B1 - Method and system for data synchronization - Google Patents
Method and system for data synchronization Download PDFInfo
- Publication number
- KR101045540B1 KR101045540B1 KR1020090131522A KR20090131522A KR101045540B1 KR 101045540 B1 KR101045540 B1 KR 101045540B1 KR 1020090131522 A KR1020090131522 A KR 1020090131522A KR 20090131522 A KR20090131522 A KR 20090131522A KR 101045540 B1 KR101045540 B1 KR 101045540B1
- Authority
- KR
- South Korea
- Prior art keywords
- data
- terminal
- server
- unique key
- index table
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0643—Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bioethics (AREA)
- Power Engineering (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Abstract
Description
본 발명은 데이터 동기화 시스템 및 방법에 관한 것으로, 네트워크 환경에서 암호화 알고리즘을 이용한 초고속 파일 동기화 시스템 및 방법에 관한 것이다. The present invention relates to a data synchronization system and method, and to an ultra-fast file synchronization system and method using an encryption algorithm in a network environment.
일반적으로 데이터 동기화(data synchronization)는 네트워크상에 존재하는 둘 이상의 논리적 장치(즉, 컴퓨터)에 분산된 특정 데이터의 내용을 일치시켜주는 기술을 지칭한다. In general, data synchronization refers to a technique for matching the contents of specific data distributed over two or more logical devices (ie, computers) present on a network.
종래의 동기화 기술은 비교적 단순한 로직을 사용한다. 데이터의 변경된 날자 또는 데이터의 크기를 비교하여 이 정보가 틀린 경우 데이터 전체를 동기화하는 방식을 사용한다. Conventional synchronization techniques use relatively simple logic. Compare the date of change of data or the size of data, and if this information is wrong, synchronize the whole data.
하지만, 이러한 종래 기술의 경우, 첫째로 데이터의 크기가 큰 경우(예를 들어, 음성, 영상 데이터 또는 데이터베이스 파일, 등등), 전체 데이터를 전송 또는 복사해야 하기 때문에 시간적인 부담이 큰 단점이 있다. 또한, 둘째는 데이터의 일 부가 손상을 당하는 경우(예를 들어, 지능화된 바이러스등에 의하여 데이터의 크기나 수정된 날짜는 그대로이면서 데이터의 내용을 변경하는 경우), 동기화를 할 수 없다는 치명적인 문제점을 가지고 있다.However, in the prior art, when the data is large in size (for example, voice, video data, or database file, etc.), the time burden is large because the entire data must be transmitted or copied. In addition, the second problem is that if some of the data is damaged (for example, by changing the contents of the data without changing the size or modified date of the data due to an intelligent virus, etc.), there is a fatal problem that synchronization is not possible. have.
이에 본 발명의 목적은 대용량의 데이터 동기화를 단순화시켜 동기화 시간을 줄일 수 있고, 데이터의 일부가 손상될 경우, 손상된 부분의 데이터 만을 효과적으로 동기화할 수 있고, 데이터 무결성 서비스를 제공할 수 있으며, 데이터의 유지보수를 간단하게 수행할 수 있는 데이터 동기화 시스템 및 방법을 제공하는 데 있다. Accordingly, an object of the present invention is to simplify synchronization of a large amount of data to reduce synchronization time, and when a part of data is damaged, only the damaged part of data can be synchronized effectively, and data integrity services can be provided. The present invention provides a data synchronization system and method for simplifying maintenance.
상기와 같은 목적을 달성하기 위해 본 발명은 데이터를 블록 단위로 분리하는 데이터 분할부와, 상기 블록화된 데이터의 실제 내용을 암호화된 고유키로 변환시키는 데이터 변환부와, 상기 변환된 데이터들의 고유키를 서버 인덱스 테이블 구조로 저장하고, 상기 고유키 생성을 위해 사용되는 고유키 생성 파일이 저장된 저장부를 포함하는 서버 및 상기 데이터를 생성 및 저장하고, 상기 서버로부터 고유키 생성 파일을 제공 받아 상기 데이터로 부터 단말 인덱스 테이블을 생성하는 단말기를 포함하고, 상기 서버 인덱스 테이블과 단말 인덱스 테이블 간의 비교를 통해 데이터 동기화를 수행하는 것을 특징으로 하는 데이터 동기화 시스템을 제공한 다. In order to achieve the above object, the present invention provides a data partitioning unit for dividing data into block units, a data conversion unit for converting the actual content of the blocked data into an encrypted unique key, and a unique key of the converted data. A server including a storage unit storing a unique key generation file used for generating a unique key and storing the data in a server index table structure, and generating and storing the data, and receiving a unique key generation file from the server It includes a terminal for generating a terminal index table, and provides a data synchronization system characterized in that to perform data synchronization through comparison between the server index table and the terminal index table.
상기 단말기는 상기 생성 및 저장된 데이터를 블록 단위로 분리하는 단말 데이터 분할부와, 상기 서버로 부터 제공된 고유키 생성 파일을 이용하여 블록화된 데이터의 실제 내용을 암호화된 고유키로 변환시키는 데이터 변환부와, 상기 고유키 형태의 변환된 데이터를 상기 단말 인덱스 테이블 구조로 변환하는 테이블 생성부를 포함하는 것을 특징으로 한다. The terminal comprises a terminal data partition unit for separating the generated and stored data in block units, a data converter for converting the actual content of the blocked data into an encrypted unique key using a unique key generation file provided from the server; And a table generator for converting the converted data in the form of the unique key into the terminal index table structure.
상기 데이터 분할부는 상기 단말기로 부터 제공된 데이터를 동일 크기의 블록으로 분리하고, 상기 데이터 변환부는 해쉬(Hash) 알고리즘을 이용하여 블록화된 데이터를 이용하여 고유키를 생성하는 것을 특징으로 한다. The data dividing unit divides the data provided from the terminal into blocks of the same size, and the data converting unit generates a unique key using the blocked data using a hash algorithm.
상기 서버 인덱스 테이블과 단말 인덱스 테이블 간의 비교는 상기 단말기 또는 상기 서버에서 수행되거나, 별도의 비교 단말기 또는 비교 서버에서 수행되는 것을 특징으로 한다. The comparison between the server index table and the terminal index table may be performed in the terminal or the server or in a separate comparison terminal or comparison server.
상기와 같은 목적을 달성하기 위해 본 발명에 따른 데이터를 생성 및 저장하고, 이를 블록 단위로 분리하는 단말 데이터 분할부와, 상기 블록화된 데이터의 실제 내용을 암호화된 고유키로 변환시키는 단말 데이터 변환부와, 상기 변환된 데이터들의 고유키를 단말 인덱스 테이블 구조로 저장하고, 상기 고유키 생성을 위해 사용되는 고유키 생성 파일이 저장되는 저장부와, 상기 단말 인덱스 테이블과 서버 인덱스 테이블 간을 비교하여 차이가 발생한 데이터 블록을 동기화시키는 비교부를 포함하는 적어도 하나의 단말기 및 상기 단말 데이터 분할부 또는 상기 단말 데이터 변환부에서 제공된 정보를 통해 고유키를 생성하거나, 상기 서버 인덱스 테이블 로 저장하는 서버를 포함하는 것을 특징으로 하는 데이터 동기화 시스템을 제공한다. In order to achieve the above object, a terminal data partitioning unit for generating and storing data according to the present invention, separating the data into blocks, and a terminal data converting unit for converting the actual contents of the blocked data into an encrypted unique key; Storing a unique key of the converted data in a terminal index table structure, comparing a storage unit storing a unique key generation file used for generating the unique key with the terminal index table and a server index table. At least one terminal including a comparator for synchronizing the generated data block, and a server for generating a unique key through information provided from the terminal data partitioning unit or the terminal data converting unit or storing the unique key as the server index table. A data synchronization system is provided.
상기 서버가 상기 단말 데이터 분할부로부터 블록 단위의 데이터를 제공 받는 경우 상기 서버는 이를 암호화된 고유키로 변환시키는 서버 데이터 변환부와, 상기 변환된 데이터의 고유키를 서버 인덱스 테이블 파일로 저장하는 서버 저장부를 포함하고, 상기 서버가 상기 단말 데이터 변환부로부터 고유키 형태의 인덱스 테이블을 제공 받는 경우, 상기 서버는 이를 서버 인덱스 테이블 파일로 저장하는 것을 특징으로 한다. When the server receives data in block units from the terminal data partitioning unit, the server converts the server data into an encrypted unique key and stores the server storing the unique key of the converted data as a server index table file. And a server, when the server receives an index table in the form of a unique key from the terminal data converter, the server stores the index table as a server index table file.
상기와 같은 목적을 달성하기 위해 본 발명에 따른 데이터를 생성한 단말기로부터 데이터를 전송 받는 단계; 상기 전송 받은 데이터를 블록화 하고, 고유키 생성 파일을 통해 데이터 블록으로부터 고유키를 생성하고, 이를 서버 인덱스 테이블 형태로 저장하는 단계; 상기 고유키 생성 파일을 상기 단말기에 전송하여, 단말기에 저장된 데이터를 블록화하고, 고유키를 생성하여 단말 인덱스 테이블을 형성하는 단계; 상기 서버 인덱스 테이블과 단말 인덱스 테이블을 비교하는 단계; 및 비교 결과 인덱스가 동일한 경우에는 해당 블록 내의 데이터가 일치하는 것으로 판단하고, 인덱스가 동일하지 않을 경우에는 해당 블록 내의 데이터가 일치하지 않는 것으로 판단하는 단계를 포함하는 데이터 동기화 방법을 제공한다. Receiving data from the terminal for generating data according to the present invention to achieve the above object; Blocking the received data, generating a unique key from a data block through a unique key generation file, and storing the received data in the form of a server index table; Transmitting the unique key generation file to the terminal to block data stored in the terminal, and generating a unique key to form a terminal index table; Comparing the server index table with the terminal index table; And determining that the data in the corresponding block is identical when the indexes are the same, and determining that the data in the corresponding block is not the same when the indexes are not identical.
상기 고유키를 생성하고, 이를 서버 인덱스 테이블 형태로 저장하는 단계는, 제공된 데이터를 다수의 블록 단위로 분리하는 단계와, 블록 단위로 분할된 데이터 블록들을 상기 고유키 생성 파일을 이용하여, 블럭화된 데이터의 실제 내용을 고유 키로 생성하는 단계와, 상기 고유키를 서버 인덱스 테이블 형태로 저장하는 단계를 포함하는 것을 특징으로 한다. Generating the unique key and storing the data in the form of a server index table may include separating the provided data into a plurality of blocks, and blocking the data blocks divided into blocks using the unique key generation file. And generating the actual content of the data as a unique key, and storing the unique key in the form of a server index table.
상기 고유키 생성 파일을 상기 단말기에 전송하는 단계 전에, 상기 단말기로 부터 데이터 동기화 요청을 수신하는 단계를 더 포함하는 것을 특징으로 한다. And before transmitting the unique key generation file to the terminal, receiving a data synchronization request from the terminal.
상기와 같은 목적을 달성하기 위해 본 발명에 따른 서버와 단말기, 단말기와 단말기 또는 서버와 서버 사이의 데이터 동기화 방법에 있어서, 제 1 데이터를 블록화하고, 블록 데이터를 암호화 기술을 이용하여 인덱싱하여 제 1 인덱스 테이블을 형성하는 단계; 제 2 데이터 정보를 제공받는 단계; 저장된 제 1 데이터와 상기 제 2 데이터의 전체 정보를 비교하는 단계; 상기 제 2 데이터 정보를 블록화하고, 암호화 기술을 이용하여 인덱싱하여 제 2 인덱스 테이블을 형성하는 단계; 상기 제 1 및 제 3 인덱스 테이블을 비교하는 단계; 및 비교결과 차이점이 없는 경우, 동일 데이터로 인식하여 동기화를 종료하고, 차이점이 있는 경우, 일부분인지, 전체인지 아니면 신규 인지를 판단하여, 일부분일 경우에는 해당 부분의 데이터 패킷만을 동기화시키고, 전체의 경우 전체 데이터를 동기화하고, 신규일 경우에는 신규 부분을 동기화시키거나 전체를 동기화시키는 단계를 포함하는 것을 특징으로 하는 데이터 동기화 방법을 제공한다. In the data synchronization method between the server and the terminal, the terminal and the terminal or the server and the server according to the present invention in order to achieve the above object, the first data is blocked, and the block data is indexed using an encryption technique to the first Forming an index table; Receiving second data information; Comparing the stored first data with total information of the second data; Blocking the second data information and indexing using an encryption technique to form a second index table; Comparing the first and third index tables; And if there is no difference, the synchronization is recognized by the same data, and if there is a difference, it is determined whether it is a part, whole or new, and in case of a part, only the data packet of the corresponding part is synchronized, If the entire data is synchronized, and if the new data synchronization method, characterized in that it comprises the step of synchronizing the new portion or the whole.
상기에서 살펴본 바와 같이 본 발명은 데이터를 블록 단위로 분리하고, 블록 단위의 데이터의 실제 내용을 고유키로 만들고 이를 인덱스 테이블로 저장하고, 서 버와 단말기 또는 단말기와 단말기 사이의 인덱스 테이블의 비교를 통해 손상, 변형 또는 신설된 데이터 블록을 확인하여 해당 블록의 데이터만을 동기화시킴으로 대용량의 데이터 동기화를 단순화시켜 동기화 시간을 줄일 수 있다. 또한, 데이터의 일부가 손상되었을 경우, 손상된 부분의 데이터 만을 효과적으로 동기화할 수 있고, 데이터 무결성 서비스를 제공할 수 있으며, 데이터의 유지보수를 간단하게 수행할 수 있다. As described above, the present invention divides data into units of blocks, makes the actual contents of the data of units of blocks into unique keys, stores them as index tables, and compares index tables between servers and terminals or between terminals and terminals. By identifying damaged, modified, or newly created data blocks, only the data in those blocks can be synchronized, simplifying large data synchronization and reducing synchronization time. In addition, when a part of the data is damaged, it is possible to effectively synchronize only the data of the damaged part, to provide a data integrity service, and to simplify the maintenance of the data.
이하, 첨부된 도면을 참조하여 본 발명의 실시예를 더욱 상세히 설명하기로 한다. 그러나 본 발명은 이하에서 개시되는 실시예에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이다. 도면상에서 동일 부호는 동일한 요소를 지칭한다.Hereinafter, with reference to the accompanying drawings will be described an embodiment of the present invention in more detail. However, the present invention is not limited to the embodiments disclosed below, but may be implemented in various forms, and only the embodiments of the present invention make the disclosure of the present invention complete and the scope of the invention to those skilled in the art. It is provided to inform you completely. Like numbers refer to like elements in the figures.
최근 들어 데이터의 량이 급격하게 증가함으로 인해 전체 데이터의 동기화 (예를 들어, 백업)가 어려운 실정이다. 이에 본 실시예에서는 이러한 데이터를 복수의 블록으로 분할하고, 분할된 데이터 블록의 실제 내용으로 고유 키를 제작하고, 이러한 고유 키의 비교함으로 인해 데이터의 동기화를 빠르고 효과적으로 수행할 수 있는 시스템을 제공한다. Recently, due to the rapid increase in the amount of data, it is difficult to synchronize the entire data (for example, backup). In this embodiment, the data is divided into a plurality of blocks, a unique key is produced from the actual contents of the divided data block, and a system for quickly and effectively synchronizing data is provided by comparing the unique keys. .
도 1은 본 발명의 일 실시예에 따른 데이터 동기화 시스템의 블록도이다. 도 2는 본 발명의 일 실시예에 따른 서버의 동작을 설명하기 위한 개념도이다. 도 3은 본 발명의 일 실시예에 따른 서버에 저장되는 데이터 및 인덱스 관리 구조를 설명하기 위한 도면이다. 1 is a block diagram of a data synchronization system according to an embodiment of the present invention. 2 is a conceptual diagram illustrating an operation of a server according to an embodiment of the present invention. 3 is a diagram illustrating a data and index management structure stored in a server according to an embodiment of the present invention.
도 1을 참조하면, 본 실시예에 따른 데이터 동기화 시스템은 데이터를 생성하는 단말기(100)와, 상기 단말기(100)의 데이터를 다수의 블록으로 나누고 이를 암호화된 블록 데이터들로 저장하는 서버(200)를 포함한다. Referring to FIG. 1, the data synchronization system according to the present embodiment includes a terminal 100 generating data and a
본 실시예에서는 암호화(Encrypt)기술을 이용하여 파일의 실제 내용을 일정크기로 블록화한다. 그리고, 이 블록을 대표할 수 있는 고유의 암호화된 데이터로 변환하여 인덱스 테이블에 보관하는 구조를 가지고 있다는 점이다. 그리고, 이 인텍스 테이블들의 비교를 통해 데이터를 동기화할 수 있다. In the present embodiment, the actual content of the file is blocked to a certain size by using an encryption technique. In addition, it has a structure that is converted into unique encrypted data that can represent this block and stored in the index table. The data can be synchronized by comparing these index tables.
상술한 서버(200)는 단말기로부터 제공된 데이터를 블록 단위로 분리하는 데이터 분할부(210)와, 블록화된 데이터의 실제 내용을 암호화된 고유키로 변환시키는 데이터 변환부(220)와, 상기 고유키 형태의 변환된 데이터들을 인덱스 테이블 구조로 저장하고, 상기 고유키 생성을 위해 사용되는 고유키 생성 파일이 저장되는 저장부(230)를 포함한다. The
여기서, 상기 서버(200)는 상기 단말기(100)로부터 블록화된 데이터를 받을 경우 비록 암호화된 고유키를 받지 않는 경우라도 데이터 분할부(210) 및 데이터 변환부(220)에서 자동으로 데이터를 블록화하고 이를 암호화된 고유키로 자동 생성한다. 이는 상기 단말기(100)도 상기 데이터 분할부와 데이터 변환부가 마련되고, 또한, 고유키 생성 파일이 저장됨을 의미한다. 즉, 이를 통해 단말기(100)는 해당 데이터 뿐만 아니라, 이 데이터가 블록화된 데이터들과 암호화된 고유키로 구성된 인덱스 테이블을 서버(200)에 전송할 수 있다. In this case, when the
그리고, 서버(200)에서 생성된 암호화된 고유키를 저장하는 인덱스 테이블저장부(230)의 구조는 암호화된 고유키와 해당 데이터의 블록의 위치정보만을 가지고 있기 때문에 최소한의 정보를 가지고 단말기(100)에서 요청하는 블록별 데이터의 무결성 비교를 빠르게 할 수 있다. Since the structure of the index
데이터 분할부(210)는 도 2에 도시된 바와 같이 단말기(100)로 부터 제공된 데이터(Data1)를 동일 크기(사이즈)의 블록으로 분리한다. 즉, 도면에서와 같이 초기 데이터(Data1)의 크키가 100이고, 이들을 4개의 블록으로 분할하게 되면 한개의 블록의 크기는 25가 된다. 여기서, 블록의 사이즈와 개수는 제공된 데이터(Data1)의 크기에 따라 다양하게 변화될 수 있다. 여기서, 블록의 사이즈는 500키로바이트에서 500메가 바이트로 할 수 있다. 이때, 상기 사이즈보다 작을 경우에는 데이터 처리량이 증가하게 되고, 상기 범위보다 클 경우에는 데이터의 비교시간이 오래걸리는 단점이 있다. 도 3에서는 1기가 바이트 용량의 데이터를 1메가 바이트 단위로 블록화함을 도시하였다. As shown in FIG. 2, the
데이터 변환부(220)는 해쉬(Hash) 알고리즘을 이용하여 블록화된 데이터를 이용하여 고유키를 생성한다. 이때, 데이터 변환부(220)는 별도의 고유키 생성 파일을 통해 블록화된 데이터의 실제 내용을 고유 키로 만든다. 즉, 이는 데이터 변환부(220)는 블록화된 데이터를 이용하여 블록화된 데이터를 대표할 수 있는 고유의 암호화된 데이터로 변환시키고, 이를 인덱스 테이블에 보관한다. 이때, 상기 블 록화된 데이터가 압축될 수도 있다. 즉, 도 3에 도시된 바와 같이 데이터 파일의 값에 따른 고정 크기 인덱스 파일을 생성하고, 이를 테이블 형태로 저장한다. 예를 들어 첫번째 블록의 데이터 파일은 "0100110101100111"이고, 이를 해쉬 알고리즘을 이용하여 변화시키면 상기 정보를 가지고 있는 "BA220CBD4426"이 된다. The data converter 220 generates a unique key using the data blocked using a hash algorithm. At this time, the data conversion unit 220 makes the actual content of the data blocked through a separate unique key generation file as a unique key. That is, the data converter 220 converts the blocked data into unique encrypted data that can represent the blocked data using the blocked data, and stores the data in an index table. In this case, the blocked data may be compressed. That is, as shown in FIG. 3, a fixed-size index file is generated according to the value of the data file and stored in a table form. For example, the data file of the first block is "0100110101100111". When the data file is changed using a hash algorithm, the data file is "BA220CBD4426" having the above information.
본 실시예의 인덱스 테이블(Index Table)은 서버(200)에서 기록되는 모든 데이터의 실제 내용을 고정 크기로 블록화하여 이를 고유한 키로 생성한 후 이를 저장한 파일(즉, 인덱스 파일)로 그 구조는 매우 단순하다. 그리고, 이 파일(즉, 인덱스 파일) 내부에는 순차적으로 기술된 블록별 고유키만 들어가는 구조이다. 그리고, 종래의 발명은 데이터 블록을 완벽하게 처리하기 어려운 문제(데이터의 갱신, 추가등등) 때문에 파일-변화 검출 이후에 변조된 파일을 검출하기 위해 파일의 현재 타임스탬프를 주기적으로 비교하여야 하기 때문에 다양한 구조가 필요하였다. 하지만, 본 실시예에서는 고유의 암호화키와 암호화키를 구성하는 순서만으로도 데이터의 무결성 및 단말기(100)에서 요청시 이 인덱스 테이블 만을 전송함으로 단말기와 서버에 저장된 데이터중 다른 부분을 구분할 수 있다. The index table of the present embodiment is a file (i.e., an index file) that stores the actual contents of all data recorded by the
이와 같은 단순한 구조는 내부적으로 데이터의 블록 비교의 속도를 향상 시키고 다수의 단말기(100)들이 동시에 서버(200)에 인덱스 테이블 데이터를 요구할 경우에도, 서버(200)내부에서의 직접 비교하지 않고, 단말기별 비교가 가능하기 때문에 서버(100)의 부하를 최소화 할수 있다는 장점이 있다. Such a simple structure improves the speed of block comparison of data internally, and even when a plurality of
저장부(230)는 고유 키 생성을 위한 고유 키 생성 파일이 저장된다. 여기서, 고유 키 생성 파일은 단말기(100)로 부터 제공되는 각 데이터 마다 고유의 파일로 저장될 수 있다. 물론 이에 한정되지 않고, 단일 단말기(100)에서 제공되는 데이터들이 동일한 파일을 공유할 수 있다. 또한, 다수의 데이터들이 하나의 파일을 공유할 수도 있다. 여기서, 단말기(100)에 고유 키 생성 파일이 마련될 수도 있다. The
그리고, 저장부(230)에는 앞서 언급한 인덱스 테이블이 보관된다. 이때, 인덱스 테이블의 각각의 인덱스 값(즉, 고유키)은 실제 데이터를 블록화하고, 이 블록화된 데이터의 실제 내용을 고유 키로 만들고, 이를 인덱스 테이블 형태로 저장한 것이다. 따라서, 인덱스 테이블의 인덱스 값 각각이 실제 데이터 값과 같음을 알 수 있다. The
여기서, 인덱스 테이블과 이의 고유 키를 생성하기 위해 사용된 고유기 생성 파일은 서로가 링크되어 있는 것이 효과적이다. 이를 통해 단말기(100)에서 일 데이터를 요청하게 되면 이 데이터에 해당하는 인덱스 테이블과, 인덱스 테이블 생성을 위한 고유키 생성 파일도 함께 단말기에 제공한다. Here, it is effective that the uniqueness generation file used to generate the index table and its unique key are linked to each other. When the terminal 100 requests one data, the terminal 100 also provides the terminal with an index table corresponding to the data and a unique key generation file for generating the index table.
이를 통해 단말기(100)에서도 해당 데이터를 블록화하고, 이 블록화된 데이터를 고유키 생성 파일로 고유키를 생성하고, 이를 인덱스 테이블 형태로 저장한다. Through this, the terminal 100 also blocks the corresponding data, generates the unique key as a unique key generation file, and stores the blocked data in the form of an index table.
이를 위해 단말기(100)는 상기 생성 및 저장된 데이터를 블록 단위로 분리하는 단말 데이터 분할부와, 상기 서버로부터 제공된 고유키 생성 파일을 이용하여 블록화된 데이터의 실제 내용을 암호화된 고유키로 변환시키는 데이터 변환부와, 상기 고유키 형태의 변환된 데이터를 상기 단말 인덱스 테이블 구조로 변환하는 테이블 생성부를 포함한다. 그리고, 앞서 언급한 바와 같이 단말기(100) 또한 고유키 생성을 위한 파일을 저장하고 있는 것이 가능하다. To this end, the terminal 100 converts the data generated by the terminal data partitioner to separate the generated and stored data into blocks, and converts the actual contents of the blocked data into an encrypted unique key using a unique key generation file provided from the server. And a table generator for converting the converted data in the form of the unique key into the terminal index table structure. As described above, the terminal 100 may also store a file for generating a unique key.
그리고, 서버(200)에서 제공된 서버 인덱스 테이블과 단말기(100)에서 새로이 생성된 단말기 인덱스 테이블 간을 비교한다. 비교 결과 두 인덱스 테이블 간의 인덱스 값의 차이 만으로도 데이터의 변화를 확인할 수 있고, 이 차이 값이 발생한 블록만을 서버와 동기화시켜 손상된 또는 변화된 데이터를 원래의 상태로 복원할 수 있다. 여기서, 상기 두 테이블 간의 비교는 서버(200)에서 수행되는 것이 바람직하다. 물론 이에 한정되지 않고, 상기 단말기(100)에서 수행될 수도 있다. 그리고, 별도의 비교 단말기 또는 비교 서버를 설치하고, 비교 단말기 및 비교 서버에서 이러한 동작을 수행할 수 있다. The server index table provided by the
하기에서는 도면을 참조하여, 본 실시예에 따른 데이터 동기화 방법을 설명한다. Hereinafter, a data synchronization method according to the present embodiment will be described with reference to the drawings.
도 4는 일 실시예에 따른 데이터 동기화 방법을 설명하기 위한 흐름도이다. 도 5는 일 실시예에 따른 서버의 동작을 설명하기 위한 흐름도이다. 도 6 및 도 7은 일 실시예에 따른 데이터 동기화 방법을 설명하기 위한 개념도이다. 4 is a flowchart illustrating a data synchronization method according to an embodiment. 5 is a flowchart illustrating an operation of a server according to an exemplary embodiment. 6 and 7 are conceptual views illustrating a data synchronization method according to an embodiment.
도 4 내지 도 7을 참조하면, 먼저, 단말기(100)에 의해 소정의 데이터가 생성된다. 이때, 데이터를 그 크기가 다양하다. 이어서, 단말기(100)는 생성된 데이터를 서버(200)에 전송한다(S110). 4 to 7, first, predetermined data is generated by the
이어서, 서버(200)는 상기 데이터 값이 분리된 인덱싱 테이블 형태로 분리 저장한다(S120). Subsequently, the
이를 도 4를 참조하여 좀더 구체적으로 설명하면 다음과 같다. 먼저 서버는 서버(200)는 제공된 데이터를 다수의 블록 단위로 분리한다(S121). 앞서 언급한 바와 같이 최근 들어서는 데이터의 사이즈가 매우 커지고 있는 실정이다. 특히, 영상이나 음향 데이터이 경우, 그 사이즈가 수키로 바이트에서 기가 바이트까지 커지고 있다. 이와 같이 데이터의 사이즈가 커짐으로 인해, 앞선 종래 기술에서 설명한 바와 같이 서버(200)와 단말기(100) 간의 정밀한 데이터 동기화를 위한 비교 시간이 길어지는 문제가 발생한다. 하지만, 상기와 같이 데이터를 다수의 블록 단위로 나누고 이 블록 단위들 만을 비교함으로써 데이터 동기화를 위한 비교 시간이 줄어들 수 있다. 또한, 앞서 설명한 바와 같이 단말기(100)에서 데이터를 블록화하여 이를 서버(100)에 전송할 수도 있다. This will be described in more detail with reference to FIG. 4 as follows. First, the
이어서, 블록 단위로 분할된 데이터 블록들을 고유키 생성 파일을 이용하여, 블럭화된 데이터의 실제 내용을 고유키로 생성한다(S123). 그리고, 이를 서버 인덱스 테이블 형태로 저장한다(S125). 상기 고유키를 인덱스 테이블의 인덱스 값으로 하여 이를 저장한다. 그리고, 상기 인덱스 값은 데이터 블록의 순서에 따라 순차적으로 배열되는 것이 효과적이다. 여기서, 도 7의 (a)에 도시된 바와 같이 데이터 블록을 1메가바이트 단위로 분리하고, 이들에 대한 고정 크기 인덱스 파일을 생성하였다. 또한, 앞서 설명한 바와 같이 단말기(100)에서 인덱스 테이블 파일을 서버(200)에 제공할 수도 있다. 이때, 서버(200)는 이 파일을 저장할 수 있다. Subsequently, the data blocks divided in block units are generated using a unique key generation file to generate the actual content of the blocked data as a unique key (S123). Then, it is stored in the form of a server index table (S125). The unique key is stored as an index value of an index table. In addition, the index values are effectively arranged in sequence according to the order of the data blocks. Here, as shown in (a) of FIG. 7, data blocks are separated in units of 1 megabyte, and fixed size index files are generated for them. In addition, as described above, the terminal 100 may provide the index table file to the
이는 앞서 도 3에서 설명한 바와 같이 하나의 파일을 1메가바이트 단위의 블록으로 분리하고, 블록별 데이터를 고유키 값으로 만들고 이를 인덱스 파일로 보관한다. 즉, 인덱스 파일과 고유키 생성 파일이 따로 있는것이 아니고 인덱스 파일의 구성요소가 고유키의 집합이다. 그리고, 블럭화된 데이터 또한 고유키값을 생성하기 위해 내부적으로 불러와서 계산을 수행한다. 이러한 동작을 통해 인덱스 파일을 단순화시킴으로써 동기화에 필요한 데이터의 량을 줄이고 데이터의 일치성을 비교하기 위한 속도를 향상시킬 수 있다. As described above with reference to FIG. 3, one file is divided into blocks of 1 megabyte unit, and data for each block is made a unique key value and stored as an index file. That is, the index file and the unique key generation file do not exist separately, and the components of the index file are a set of unique keys. Blocked data is also loaded internally to generate unique key values for computation. This simplifies the index file, reducing the amount of data needed for synchronization and speeding up the comparison of data consistency.
이후, 단말기(100)로부터 데이터 동기화 요청이 수신되면, 서버(200)는 요청한 데이터에 해당하는 서버 인덱싱 테이블 파일을 단말기(100)에 제공한다(S130). 여기서, 서버(200)가 인덱싱 테이블을 생성하기 위한 고유키 생성 정보를 단말기(100)에 제공할 수도 있다. Thereafter, when a data synchronization request is received from the terminal 100, the
이어서, 단말기(100)는 앞서 언급한 서버의 인덱스 테이블 생성 방법을 수행하여 단말기(100)에 저장된 데이터를 단말 인덱싱 테이블로 변환한다(S140). Subsequently, the terminal 100 converts the data stored in the terminal 100 into a terminal indexing table by performing the aforementioned index table generation method of the server (S140).
즉, 자신이 저장한 데이터를 블록화하고, 이를 서버(200)로부터 받은 고유키 생성 파일을 이용하여 고유키를 생성한다. 그리고, 생성된 고유키를 단말 인덱스 테이블로 저장한다. 이는 도 7의 (b)에 도시된 바와 같이 단말기(100)의 데이터 또한 1메가바이트 단위로 블록화하고, 이를 이용하여 고정 크기 인덱스 파일을 생성한다.That is, it blocks the data stored by itself and generates a unique key using the unique key generation file received from the
이어서, 상기 단말기(100)에서 생성된 단말 인덱스 테이블과, 서버(100)에서 생성된 서버 인덱스 테이블의 인덱스 값을 순차적으로 비교한다(S150). Subsequently, the terminal index table generated in the terminal 100 and the index values of the server index table generated in the
비교 결과 두 인덱스 테이블의 값이 동일할 경우에는 해당 인덱스 테이블에 대응되는 데이터 블록 내의 테이터가 일치함으로 판단한다(S160). 하지만, 그 값이 동일하지 않을 때는 해당 인덱스 테이블에 대응되는 데이터 블록 내의 데이터가 일 치하지 않음(불일치)으로 판단한다. 이를 통해 그 데이터 값이 변화/변경된 데이터 블록의 위치를 알 수 있게 되고, 이 영역만을 서버(200)와 동기화시켜 전체 데이터를 동기화 시킬 수 있다(S170). As a result of the comparison, when the values of the two index tables are the same, it is determined that the data in the data block corresponding to the corresponding index table match (S160). However, if the values are not the same, it is determined that the data in the data block corresponding to the corresponding index table does not match (inconsistent). Through this, the location of the data block whose data value is changed / changed can be known, and the entire data can be synchronized by synchronizing only this area with the server 200 (S170).
이는 도 6에 도시된 바와 같이 서버에 Index 0 부터 Index n 까지의 인덱스 값을 갖는 서버 인덱스 테이블이 위치한다. 그리고, 단말기는 앞서 언급한 바와같이 서버로부터 고유키 생성 파일을 제공 받아 자신의 데이터를 인덱스한다. 이때, 도 5에서와 같이 Index 0 부터 Index n 까지 및 Index n+1 내지 Index n+3의 인덱스 값을 갖는 단말 인덱싱 테이블을 생성한다. As shown in FIG. 6, a server index table having an index value of Index 0 to Index n is located in the server. As described above, the terminal receives the unique key generation file from the server and indexes its data. At this time, as shown in FIG. 5, a terminal indexing table having index values from Index 0 to Index n and index n + 1 to Index n + 3 is generated.
이어서, 상기 서버 인덱싱 테이블과 단말 인덱싱 테이블간을 비교한다. 도 5에서와 같이 비교 결과, Index 7.1과 Index n+1, Index n+2 및 Index n+3이 변화 및 추가됨을 알 수 있다. Subsequently, the server indexing table and the terminal indexing table are compared. As shown in FIG. 5, it can be seen that Index 7.1 and Index n + 1, Index n + 2, and Index n + 3 are changed and added.
또한, 도 7에 도시된 바와 같이 서버와 단말기의 두 고정 크기 인덱스 파일을 비교하여 그 값이 일치하지 않는 부분의 데이터를 변화된 데이터로 인식한다. In addition, as shown in FIG. 7, two fixed-size index files of the server and the terminal are compared, and data of a portion where values thereof do not match is recognized as changed data.
이때, 사용자의 설정에 따라 상기 변화 및 추가된 값에 해당하는 단말기의 데이터를 기준으로 서버의 데이터를 변화시키는 동기화를 수행할 수 있다. 물론 상기 변화 및 추가된 값에 해당하는 서버의 데이터를 기준으로 단말기의 데이터를 동기화시킬 수 있다. In this case, synchronization may be performed to change data of the server based on data of the terminal corresponding to the change and the added value according to the user's setting. Of course, the data of the terminal may be synchronized based on the data of the server corresponding to the change and the added value.
이렇게 변화된 데이터 블록별 인덱스 값은 동기화 과정에서 양측간의 실제 데이터 비교 없이도 간단히 인덱스 비교만으로 파일 내용이 변경된 위치를 알 수 있 다. 따라서, 동기화가 필요한 파일 중에서 변경된 일부만 변경함으로써 종래의 기술적 한계를 극복할수 있다.The changed index of each data block can know the location of the changed file contents simply by comparing the indexes without the actual data comparison between the two sides in the synchronization process. Therefore, the conventional technical limitation may be overcome by changing only a part of the changed file that needs to be synchronized.
특히, 본 기술은 종래의 기술이 단순히 파일을 수정된 날짜 또는 파일의 크기만을 비교하여 동기화의 기준으로 삼아와서 발생했던 동기화시 데이터의 불일치 부분을 완전히 극복할 수 있다는 측면에서 기술적 개선효과가 크다 할 수 있다.In particular, the present technology has a great technical improvement in that the conventional technology can completely overcome the inconsistency of the data during synchronization, which is caused by simply comparing the modified date or the size of the file and making it a reference for synchronization. Can be.
예를들어 신종 바이러스에 감염된 단말기(즉, PC)의 경우 백신으로는 치료가 불가능하였다. 하지만, 본 기술의 동기화를 이용하여 정상적인 파일 내부에 은닉한 바이러스 코드를 찾아내고 이를 정상적인 코드로 고속 처리할 수 있다.For example, a terminal infected with a new virus (ie, a PC) could not be treated with a vaccine. However, by using the synchronization of the present technology, it is possible to find a virus code concealed inside a normal file and process it as a normal code at high speed.
본 실시예에서는 단말기(100)의 데이터를 서버(200)의 데이터와 동기화하는 기술 뿐만 아니라 서버(200)에 저장된 모든 데이터를 다른 단말기(100)에서도 똑같은 동작으로 동기화할 수 있다. 이는 하나의 인덱스 파일로 각기 다른 단말기(100)의 데이터중 틀린 부분만을 전송할 수 있기 때문에 이를 이용한 대규모 데이터 서비스(멀티미디어 데이터, 데이터베이스 데이터, 온라인 게임 소프트웨어 및 패치 데이터, 등등)에서도 이용 가능하다. In this embodiment, not only the technology for synchronizing the data of the terminal 100 with the data of the
본 기술이 상용화될 경우 다양한 산업 환경에서 이를 활용하여 그 효과를 극대화할 수 있다.When this technology is commercialized, it can be utilized in various industrial environments to maximize the effect.
즉, PC와 같은 단말기를 사용하다 보면 갑자기 프로그램이 고장 나는 경우가 있다. 이럴 경우 대부분의 해결 방안이 프로그램을 삭제하고 다시 설치하는게 일반적인 방법이다. 하지만, 본 기술을 이용할 경우 고객은 해당 소프트웨어의 개발사에 연결하여 무결성 테스트를 하면 자동으로 자신의 하드디스크에 설치된 프로그램중 손상된 부분만을 찾아서 수리해줄 수가 있다.In other words, if you use a terminal such as a PC, the program may suddenly break. In this case, the most common solution is to uninstall and reinstall the program. However, with this technology, customers can connect to the developer of the software and test the integrity to automatically find and repair the damaged parts of the program installed on their hard disk.
또한, 다수의 단말기가 배치된 피시방(PC방)은 국내에서 시작하여 이제는 전세계적으로 하나의 문화산업으로 정착된지 오래이다. 하지만 이러한 PC방은 고질적인 문제점으로, 설치된 온란인 게임이 고장날 경우 유지보수를 받는데 걸리는 시간이 길고 매번 비용이 발생한다는 것이다. 하지만, 이 경우도 본 기술은 정상적으로 운영중인 다른 PC와 고장난 PC를 네트워크로 연결하고 무결성 테스트를 진행할 수 있다. 이때, 정상적으로 운영중인 단말기(즉, PC)가 서버가 되고, 고장된 단말기가 단말기가 된다. 이를 통해 별도 추가 비용발생 없이도 기존의 유지보수보다 효과적인 처리가 가능해질 수 있다.In addition, PC rooms (PC rooms) in which a large number of terminals are arranged have been established in Korea for a long time and have been settled as a cultural industry all over the world. However, such a PC room is a chronic problem, and if the installed online game breaks, it takes a long time to receive maintenance and costs each time. However, even in this case, the technology can network other broken PCs with a normal PC and conduct an integrity test. At this time, the terminal (that is, PC) that is normally operating becomes a server, and the failed terminal becomes a terminal. This allows for more efficient treatment than conventional maintenance without incurring additional costs.
또한, 우리가 작업하는 단말기(PC) 또는 서버에는 무수한 데이터 파일이 실시간으로 생성되어 관리되고 있다. 이러한 데이터를 다른 공간에 백업을 할 경우 데이터량이 많아 어려움이 따른다. 하지만 본 기술이 적용될 경우 달라진 부분만을 정확히 판단하여 교체해줄 수 있기 때문에 시간과 비용을 획기적으로 줄일 수 있다. In addition, a number of data files are generated and managed in real time in the terminal (PC) or server we work with. If you back up such data to another space, it will be difficult due to the large amount of data. However, if the technology is applied, only the changed parts can be accurately determined and replaced, which can drastically reduce time and cost.
또한, 본 실시예는 상술한 방법 이외에 먼저 전체 데이터를 비교한 이후 추가로 각기 분리된 블럭 단위의 데이터를 비교할 수도 있다. In addition, the present embodiment may compare data in units of blocks separately after first comparing all data in addition to the above-described method.
도 8은 본 발명의 일 실시예의 변형예에 따른 데이터 동기화 방법을 설명하기 위한 흐름도이다. 8 is a flowchart illustrating a data synchronization method according to a modification of an embodiment of the present invention.
먼저, 도 8에 도시된 바와 같이 동기화가 시작되는 서버 또는 단말기는 전체 데이터 정보를 요청한다(S210). 이어서, 서버 또는 단말기에서 자신이 보유한 데이터와 제공받은 전체 데이터 정보를 비교한다(S220). 여기서, 데이터 비교는 서버 또는 단말기에서 수행될 수 있다. 따라서, 만일 서버에서 데이터 비교가 실시되면 단말기에 데이터를 요청하고, 자신의 데이터와 제공된 데이터를 비교한다. 물론 단말기에서 데이터를 비교할 경우는 이와 반대로 동작한다. First, as shown in FIG. 8, the server or the terminal for which synchronization is started requests the entire data information (S210). Subsequently, the data owned by the server or the terminal is compared with the received total data information (S220). Here, the data comparison may be performed at the server or the terminal. Therefore, if data comparison is performed in the server, the terminal requests data and compares its own data with the provided data. Of course, when the data is compared in the terminal it works in reverse.
이때, 전체 데이터 정보는 데이터의 크기, 이름, 수정 및 생성 날짜와 같은 정보를 포함하는 것이 효과적이다. 이러한 정보로 데이터의 실제 내용을 포함하지 않는 정보를 사용하는 것이 바람직하다. In this case, the entire data information may effectively include information such as data size, name, modification and creation date. As such information, it is desirable to use information that does not include the actual content of the data.
이어서, 개별 데이터를 비교한다(S230). 이때, 개별 데이터 비교는 앞서 언급한 데이터 블록으로 분할되고, 이들이 인덱싱된 테이블의 비교를 통해 수행한다. Subsequently, individual data are compared (S230). In this case, the individual data comparison is divided into the aforementioned data blocks, and they are performed by comparing the indexed tables.
비교 결과 차이점이 없는 경우에는 동일 데이터로 인식하고 동기화를 완료한다(S240). If there is no difference as a result of the comparison, the same data is recognized and the synchronization is completed (S240).
비교 결과 차이점이 있는 경우에는 먼저 차이점 발생이 일부분(즉, 앞부분인지, 중간 부분인지, 뒷부분인지)인지, 전체인지 아니면 신규 데이터가 추가된 것인지 결정한다(S250). If there is a difference as a result of the comparison, it is first determined whether the difference is a part (that is, the front part, the middle part, the back part), the whole, or whether new data is added (S250).
이때, 차이가 부분적으로 발생한 경우, 틀린 부분의 데이터 패킷을 요청한다(S260). 이후 틀린 부분만의 데이터를 교환하고 동기화를 종료한다(S270). At this time, if the difference occurs in part, the data packet of the wrong part is requested (S260). Thereafter, only the wrong part is exchanged for data and synchronization is terminated (S270).
하지만, 틀린 부분이 전체이거나 신규 데이터의 추가일 경우에는 전체 파일을 요청한다(S280). 그리고 기존 파일을 전체 파일로 교체하여 동기화를 종료한다(S290).However, if the wrong part is all or addition of new data, the entire file is requested (S280). The synchronization is terminated by replacing the existing file with the entire file (S290).
한편, 본 발명은 상술한 특정한 실시 예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 이탈함이 없이 당해 발명에 속하는 분야에서 통상의 지 식을 가진 자라면 누구든지 해당 처리 절차의 순서를 변경하거나, 이에 따라 구성요소가 위치할 하드웨어의 종류를 변경하는 등, 다양한 변경 실시가 가능할 것이다.On the other hand, the present invention is not limited to the above-described specific embodiments, anyone who has ordinary knowledge in the field belonging to the present invention without departing from the gist of the invention claimed in the claims the order of the processing procedure Various modifications may be made, such as changing the type of hardware, or changing the type of hardware where the component is to be located.
도 1은 본 발명의 일 실시예에 따른 데이터 동기화 시스템의 블록도. 1 is a block diagram of a data synchronization system in accordance with an embodiment of the present invention.
도 2는 본 발명의 일 실시예에 따른 서버의 동작을 설명하기 위한 개념도.2 is a conceptual diagram illustrating the operation of a server according to an embodiment of the present invention.
도 3은 본 발명의 일 실시예에 따른 데이터 동기화 방법을 설명하기 위한 흐름도. 3 is a flowchart illustrating a data synchronization method according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따른 서버의 동작을 설명하기 위한 흐름도. 4 is a flowchart illustrating an operation of a server according to an embodiment of the present invention.
도 5는 본 발명의 일 실시예에 따른 데이터 동기화 방법을 설명하기 위한 개념도. 5 is a conceptual diagram illustrating a data synchronization method according to an embodiment of the present invention.
<도면의 주요 부분에 대한 부호의 설명><Explanation of symbols for main parts of the drawings>
100 : 단말기 200 : 서버100: terminal 200: server
210 : 데이터 분할부 220 : 데이터 변환부210: data partitioner 220: data converter
230 : 저장부230: storage unit
Claims (10)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090131522A KR101045540B1 (en) | 2009-12-28 | 2009-12-28 | Method and system for data synchronization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020090131522A KR101045540B1 (en) | 2009-12-28 | 2009-12-28 | Method and system for data synchronization |
Publications (1)
Publication Number | Publication Date |
---|---|
KR101045540B1 true KR101045540B1 (en) | 2011-07-01 |
Family
ID=44922974
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020090131522A KR101045540B1 (en) | 2009-12-28 | 2009-12-28 | Method and system for data synchronization |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101045540B1 (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101277623B1 (en) | 2012-01-27 | 2013-06-21 | 주식회사 안랩 | White list synchronization server and client device |
KR20160025282A (en) * | 2014-08-27 | 2016-03-08 | 김창걸 | System and method for providing client terminal to user customized synchronization service |
KR101602170B1 (en) * | 2014-12-12 | 2016-03-10 | 한국과학기술정보연구원 | Massive data sharing system and method for efficient memory usage |
KR101946620B1 (en) | 2018-07-04 | 2019-02-11 | 넷마블 주식회사 | Method and server for generating a block of data comprising signature of the server |
KR20210055880A (en) * | 2019-11-08 | 2021-05-18 | 주식회사 빅스터 | Method for checking encrypted data and method for data encryption |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060070551A (en) * | 2003-09-25 | 2006-06-23 | 인터내셔널 비지네스 머신즈 코포레이션 | Method, system and program for data synchronization |
-
2009
- 2009-12-28 KR KR1020090131522A patent/KR101045540B1/en active IP Right Grant
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20060070551A (en) * | 2003-09-25 | 2006-06-23 | 인터내셔널 비지네스 머신즈 코포레이션 | Method, system and program for data synchronization |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101277623B1 (en) | 2012-01-27 | 2013-06-21 | 주식회사 안랩 | White list synchronization server and client device |
KR20160025282A (en) * | 2014-08-27 | 2016-03-08 | 김창걸 | System and method for providing client terminal to user customized synchronization service |
KR101638689B1 (en) | 2014-08-27 | 2016-07-11 | 김창걸 | System and method for providing client terminal to user customized synchronization service |
KR101602170B1 (en) * | 2014-12-12 | 2016-03-10 | 한국과학기술정보연구원 | Massive data sharing system and method for efficient memory usage |
KR101946620B1 (en) | 2018-07-04 | 2019-02-11 | 넷마블 주식회사 | Method and server for generating a block of data comprising signature of the server |
KR20210055880A (en) * | 2019-11-08 | 2021-05-18 | 주식회사 빅스터 | Method for checking encrypted data and method for data encryption |
KR102276559B1 (en) | 2019-11-08 | 2021-07-14 | 주식회사 빅스터 | Method for checking encrypted data and method for data encryption |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106844510B (en) | Data migration method and device for distributed database cluster | |
CN110489059B (en) | Data cluster storage method and device and computer equipment | |
US8762743B2 (en) | Encrypting data objects to back-up | |
KR101045540B1 (en) | Method and system for data synchronization | |
CN110930145B (en) | Cold wallet generation method, transaction information processing method, device and storage medium | |
US9881030B2 (en) | Distributed archive system, data archive device, and data restoring device with improved restoration and security | |
US10762051B1 (en) | Reducing hash collisions in large scale data deduplication | |
JP2021500649A (en) | Computer implementation methods, computer program products, and systems for storing records in shard database shard tables, computer implementation methods, computer program products, and systems for retrieving records from shard database shard tables. System, as well as a system for storing shard databases | |
CN109582213B (en) | Data reconstruction method and device and data storage system | |
US11042519B2 (en) | Reinforcement learning for optimizing data deduplication | |
AU2014410705B2 (en) | Data processing method and apparatus | |
EP4231167A1 (en) | Data storage method and apparatus based on blockchain network | |
WO2016029743A1 (en) | Method and device for generating logical disk of virtual machine | |
WO2016141094A1 (en) | Parallel asynchronous data replication | |
US20150088840A1 (en) | Determining segment boundaries for deduplication | |
CN111026711A (en) | Block chain based data storage method and device, computer equipment and storage medium | |
US20230142613A1 (en) | Recovering infected snapshots in a snapshot chain | |
CN107710165B (en) | Method and device for storage node synchronization service request | |
CN106527960B (en) | Multi-storage-disk load management method and device, file system and storage network system | |
Kumar et al. | Differential Evolution based bucket indexed data deduplication for big data storage | |
CN112181974B (en) | Identification information distribution method, system and storage device | |
CN109525649B (en) | Data processing method and device for zookeeper client | |
CN116107801A (en) | Transaction processing method and related product | |
CN111209597A (en) | Data verification method and application system | |
Devarajan et al. | Enhanced Storage optimization System (SoS) for IaaS Cloud Storage |
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 | ||
N231 | Notification of change of applicant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20140613 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150427 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160613 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170621 Year of fee payment: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180730 Year of fee payment: 8 |