KR20200116679A - 이기종 장치 간 데이터를 동기화하는 방법 및 시스템 - Google Patents

이기종 장치 간 데이터를 동기화하는 방법 및 시스템 Download PDF

Info

Publication number
KR20200116679A
KR20200116679A KR1020190038343A KR20190038343A KR20200116679A KR 20200116679 A KR20200116679 A KR 20200116679A KR 1020190038343 A KR1020190038343 A KR 1020190038343A KR 20190038343 A KR20190038343 A KR 20190038343A KR 20200116679 A KR20200116679 A KR 20200116679A
Authority
KR
South Korea
Prior art keywords
data
node
cache
cache node
hash value
Prior art date
Application number
KR1020190038343A
Other languages
English (en)
Other versions
KR102273341B1 (ko
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 KR1020190038343A priority Critical patent/KR102273341B1/ko
Publication of KR20200116679A publication Critical patent/KR20200116679A/ko
Application granted granted Critical
Publication of KR102273341B1 publication Critical patent/KR102273341B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시하며, 이기종 장치간 데이터를 동기화하는 시스템은, 데이터를 기 설정된 조건에 따라 매칭된 노드에 대한 속성을 저장하는 데이터저장부, 저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장하고, 캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경하고, 변경된 캐시노드의 속성을 기초로 상기 캐시노드의 동기화여부를 결정하는 데이터캐싱부를 포함할 수 있다.

Description

이기종 장치 간 데이터를 동기화하는 방법 및 시스템{METHOD AND SYSTEM FOR SYNCHRONIZING DATA IN HETEROGENEOUS APPARATUS}
본 명세서에서 개시되는 실시예들은 이기종 장치간 데이터를 동기화하는 방법 및 시스템에 관한 것으로, 보다 상세하게는 이기종 장치간 데이터간 효율적인 동기화를 통해 트래픽을 낮추는 이기종 저장소에서 데이터를 동기화하는 방법 및 시스템에 관한 것이다.
기존 관계형 데이터베이스에 비해 수평적 확장성이 보장되도록 일관성 모델을 이용하는 데이터베이스인 NoSQL 데이터베이스가 널리 쓰이고 있다. 특히, NoSQL은 수평적 확장성을 기반으로 복수의 이기종 장치를 하나의 데이터베이스와 같이 구현할 수 있어 빅데이터와 실시간 웹 애플리케이션의 상업적 이용되고 있다.
다만, NoSQL데이터베이스는 수평적 확장성으로 인해 데이터의 트랜잭션에 대한 ACID(원자성, 일관성, 고립성, 지속성)의 보장이 어렵다.
이를 보완하기 위해, 대부분의 NoSQL데이터베이스는 ‘궁극적인 일관성’ 개념을 제공함으로써 데이터베이스의 변경사항이 모든 노드에 “궁극적으로” 전파되도록 하지만, 데이터에 대한 모든 쿼리들이 즉각 업데이트된 데이터를 반환하지 않을 수 있고, 정확하지 않은 데이터를 읽는 결과가 발생할 수 있다.
이러한 특성으로 인해, NoSQL데이터베이스의 데이터를 검색하는 검색엔진 서버와 NoSQL데이터베이스의 데이터를 캐싱하는 캐시서버는 NoSQL데이터베이스 상의 데이터와 동일하게 유지하기 위한 동기화를 수행한다.
하지만, 검색엔진 서버 및 캐시서버의 데이터가 NoSQL데이터베이스의 데이터와 동일한지 여부를 식별하고 동기화를 수행하는데 내부적으로 많은 트래픽이 발생된다는 문제점이 있다.
관련하여 선행기술 문헌인 한국특허공개번호 제 10-2016-0143754호에서는 동적 콘텍스트형 장치 네트워크에 관한 것으로, 각 가상 홀은 데이터 채널 중 하나와 연관되고, 각 가상 홀은 가상 홀과 관련된 데이터 및 객체를 포함하며, 데이터는 장치 또는 사용자와 관련된 콘텍스트 정보를 포함하고, 각 가상 홀은 가상 홀의 멤버에게 데이터 및 객체에 대한 엑세스를 제공 가상 홀의 데이터 및 객체에 대한 변경은 가상 홀의 멤버 간 동기화되지만, 내부 트래픽의 발생을 감소시키지 못한다.
따라서 상술된 문제점을 해결하기 위한 기술이 필요하게 되었다.
한편, 전술한 배경기술은 발명자가 본 발명의 도출을 위해 보유하고 있었거나, 본 발명의 도출 과정에서 습득한 기술 정보로서, 반드시 본 발명의 출원 전에 일반 공중에게 공개된 공지기술이라 할 수는 없다.
본 명세서에서 개시되는 실시예들은, 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시하는데 목적이 있다.
본 명세서에서 개시되는 실시예들은, 데이터의 속성 값을 기초로 해시함수를 이용하여 트래픽 사용량을 낮추는 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시하는 데 목적이 있다.
본 명세서에서 개시되는 실시예들은, 원본 데이터의 속성을 기초로 해시 함수를 이용한 해시값의 동일여부에 따라 업데이트 여부를 수행하는 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시하는 데 목적이 있다.
본 명세서에서 개시되는 실시예들은, 데이터의 변경된 속성의 유무를 나타내는 속성인 변경수를 이용하여 업데이트 명령을 수행하는 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시하는 데 목적이 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 일 실시예에 따르면, 이기종 장치간 데이터를 동기화하는 시스템에 있어서, 데이터를 기 설정된 조건에 따라 매칭된 노드에 대한 속성을 저장하는 데이터저장부, 저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장하고, 캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경하고, 변경된 캐시노드의 속성을 기초로 상기 캐시노드의 동기화여부를 결정하는 데이터캐싱부를 포함할 수 있다.
다른 실시예에 따르면, 데이터동기화시스템이 이기종 장치간 데이터를 동기화하는 방법에 있어서, 데이터를 기 설정된 조건에 따라 매칭된 노드에 대한 속성을 저장하는 단계, 저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장하는 단계, 캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경하는 단계 및 변경된 캐시노드의 속성을 기초로 상기 캐시노드의 동기화여부를 결정하는 하는 단계를 포함할 수 있다.
또 다른 실시예에 따르면, 데이터동기화방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록매체에 있어서, 상기 데이터동기화방법은, 데이터를 기 설정된 조건에 따라 매칭된 노드에 대한 속성을 저장하는 단계, 저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장하는 단계, 캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경하는 단계 및 변경된 캐시노드의 속성을 기초로 상기 캐시노드의 동기화여부를 결정하는 하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 데이터동기화시스템에 의해 수행되며, 데이터동기화방법을 수행하기 위해 매체에 저장된 컴퓨터프로그램에 있어서, 상기 데이터동기화방법은, 데이터를 기 설정된 조건에 따라 매칭된 노드에 대한 속성을 저장하는 단계, 저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장하는 단계, 캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경하는 단계 및 변경된 캐시노드의 속성을 기초로 상기 캐시노드의 동기화여부를 결정하는 하는 단계를 포함할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 데이터의 속성 값을 기초로 해시함수를 이용하여 트래픽 사용량을 낮추는 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 원본 데이터의 속성을 기초로 해시 함수를 이용한 해시값의 동일여부에 따라 업데이트 여부를 수행하는 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시할 수 있다.
전술한 과제 해결 수단 중 어느 하나에 의하면, 데이터의 변경된 속성의 유무를 나타내는 속성인 변경수를 이용하여 업데이트 명령을 수행하는 이기종 장치간 데이터를 동기화하는 방법 및 시스템을 제시할 수 있다.
개시되는 실시예들에서 얻을 수 있는 효과는 이상에서 언급한 효과들로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 개시되는 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
도 1 은 일 실시예에 따른 데이터동기화시스템을 도시한 구성도이다.
도 2 은 일 실시예에 따른 데이터동기화시스템을 도시한 블록도이다.
도 3 는 일 실시예에 따른 데이터동기화방법을 설명하기 위한 순서도이다.
아래에서는 첨부한 도면을 참조하여 다양한 실시예들을 상세히 설명한다. 아래에서 설명되는 실시예들은 여러 가지 상이한 형태로 변형되어 실시될 수도 있다. 실시예들의 특징을 보다 명확히 설명하기 위하여, 이하의 실시예들이 속하는 기술분야에서 통상의 지식을 가진 자에게 널리 알려져 있는 사항들에 관해서 자세한 설명은 생략하였다. 그리고, 도면에서 실시예들의 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 구성이 다른 구성과 "연결"되어 있다고 할 때, 이는 ‘직접적으로 연결’되어 있는 경우뿐 아니라, ‘그 중간에 다른 구성을 사이에 두고 연결’되어 있는 경우도 포함한다. 또한, 어떤 구성이 어떤 구성을 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한, 그 외 다른 구성을 제외하는 것이 아니라 다른 구성들을 더 포함할 수도 있음을 의미한다.
이하 첨부된 도면을 참고하여 실시예들을 상세히 설명하기로 한다.
다만 이를 설명하기에 앞서, 아래에서 사용되는 용어들의 의미를 먼저 정의한다.
이하에서 ‘데이터’는 키(Key)와 값(Value)이 매칭된 형태로 예를 들어, JSON 형태일 수 있고, 이러한 데이터는 데이터를 식별하는 ID에 따라 구분되어 노드에 저장될 수 있다.
이때, ‘노드’는 데이터가 매칭되어 저장되는 위치를 논리적으로 구분하는 단위로 노드가 위치한 서버의 역할에 따라 데이터베이스의 노드, 캐시서버의 캐시노드, 검색엔진 서버상의 검색노드로 구분될 수 있다. 이러한 구분은 설명의 편의상 구분이다.
그리고 노드 속성은 노드에 대한 생성, 변경, 삭제 등에 대한 정보로 예를 들어, 변경횟수(Rev), 생성시간(created_at), 변경시간(updated_at) 및 삭제시간(deleted_at)에 대한 값이 포함될 수 있다.
위에 정의한 용어 이외에 설명이 필요한 용어는 아래에서 각각 따로 설명한다.
도 1은 일 실시예에 따른 데이터동기화시스템(100)을 설명하기 위한 구성도이다.
데이터동기화시스템(100)을 구성하는 각 장치는 네트워크(N)를 통해 원격지의 서버에 접속하거나, 타 단말 및 서버와 연결 가능한 컴퓨터나 휴대용 단말기, 텔레비전, 웨어러블 디바이스(Wearable Device) 등으로 구현될 수 있다. 여기서, 컴퓨터는 예를 들어, 웹 브라우저(WEB Browser)가 탑재된 노트북, 데스크톱(desktop), 랩톱(laptop)등을 포함하고, 휴대용 단말기는 예를 들어, 휴대성과 이동성이 보장되는 무선 통신 장치로서, PCS(Personal Communication System), PDC(Personal Digital Cellular), PHS(Personal Handyphone System), PDA(Personal Digital Assistant), GSM(Global System for Mobile communications), IMT(International Mobile Telecommunication)-2000, CDMA(Code Division Multiple Access)-2000, W-CDMA(W-Code Division Multiple Access), Wibro(Wireless Broadband Internet), 스마트폰(Smart Phone), 모바일 WiMAX(Mobile Worldwide Interoperability for Microwave Access) 등과 같은 모든 종류의 핸드헬드(Handheld) 기반의 무선 통신 장치를 포함할 수 있다. 또한, 텔레비전은 IPTV(Internet Protocol Television), 인터넷 TV(Internet Television), 지상파 TV, 케이블 TV 등을 포함할 수 있다. 나아가 웨어러블 디바이스는 예를 들어, 시계, 안경, 액세서리, 의복, 신발 등 인체에 직접 착용 가능한 타입의 정보처리장치로서, 직접 또는 다른 정보처리장치를 통해 네트워크를 경유하여 원격지의 서버에 접속하거나 타 단말과 연결될 수 있다.
그리고 데이터동기화시스템(100)의 각 장치는 입출력부, 제어부, 통신부, 메모리를 포함할 수 있다.
우선, 입출력부는 사용자로부터 입력을 수신하기 위한 입력부와, 작업의 수행 결과 또는 장치의 상태 등의 정보를 표시하기 위한 출력부를 포함할 수 있다. 예를 들어, 입출력부는 사용자 입력을 수신하는 조작 패널(operation panel) 및 화면을 표시하는 디스플레이 패널(display panel) 등을 포함할 수 있다.
구체적으로, 입력부는 키보드, 물리 버튼, 터치 스크린, 카메라 또는 마이크 등과 같이 다양한 형태의 사용자 입력을 수신할 수 있는 장치들을 포함할 수 있다. 또한, 출력부는 디스플레이 패널 또는 스피커 등을 포함할 수 있다. 다만, 이에 한정되지 않고 입출력부는 다양한 입출력을 지원하는 구성을 포함할 수 있다.
그리고 제어부는 장치의 전체적인 동작을 제어하며, CPU 등과 같은 프로세서를 포함할 수 있다. 제어부는 입출력부를 통해 수신한 사용자 입력에 대응되는 동작을 수행하도록 장치에 포함된 다른 구성들을 제어할 수 있다.
예를 들어, 제어부는 메모리에 저장된 프로그램을 실행시키거나, 메모리에 저장된 파일을 읽어오거나, 새로운 파일을 메모리에 저장할 수도 있다.
통신부는 다른 디바이스 또는 네트워크와 유무선 통신을 수행할 수 있다. 이를 위해, 통신부는 다양한 유무선 통신 방법 중 적어도 하나를 지원하는 통신 모듈을 포함할 수 있다. 예를 들어, 통신 모듈은 칩셋(chipset)의 형태로 구현될 수 있다.
통신부가 지원하는 무선 통신은, 예를 들어 Wi-Fi(Wireless Fidelity), Wi-Fi Direct, 블루투스(Bluetooth), UWB(Ultra Wide Band) 또는 NFC(Near Field Communication) 등일 수 있다. 또한, 통신부가 지원하는 유선 통신은, 예를 들어 USB 또는 HDMI(High Definition Multimedia Interface) 등일 수 있다.
메모리에는 파일, 어플리케이션 및 프로그램 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 제어부는 메모리에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리에 저장할 수도 있다.
이와 같은 장치를 통해 구현되는 데이터동기화시스템(100)은 데이터베이스(10) 및 캐시서버(20)를 포함할 수 있고, 추가적으로 검색엔진서버(30)를 포함할 수 있다.
우선, 데이터베이스(10)는 데이터를 ID에 따라 구분하여 저장할 수 있으며, 단일 명령으로 내부 속성을 변경할 수 있으며, 내부 데이터의 변경이 있을 경우 데이터 변경 이벤트를 발생시킬 수 있다.
이러한 데이터베이스(10)는 예를 들어, NoSQL 데이터베이스로 구현될 수 있다.
그리고 캐시서버(20)는 데이터베이스(10)에 저장된 데이터를 캐싱하여 캐싱된 데이터인 캐시데이터를 ID로 메모리에 저장하되, 데이터를 캐시노드에 매칭할 수 있다.
한편, 검색엔진서버(30)는 검색요청에 따라 캐시서버(20)에 저장된 캐시데이터를 검색할 수 있고, 캐시노드의 동기화에 따라 검색노드의 동기화를 수행할 수 있다.
도 2는 일 실시예에 따른 데이터동기화시스템(100)의 기능에 따라 구성을 도시한 블럭도이다.
도 2를 참조하면, 일 실시예에 따른 데이터동기화시스템(100)은, 데이터저장부(110) 및 데이터캐싱부(120) 중 적어도 하나를 포함할 수 있다. 이때, 각 구성부는 실시예에 따라 하나의 장치에서 구현되거나 복수의 장치를 통해 물리적으로 분리되어 구현될 수 있다.
우선, 데이터저장부(110)는 데이터를 기 설정된 조건에 따라 매칭된 노드에 대한 속성을 저장할 수 있다.
예를 들어, 데이터저장부(110)는 가장 많은 데이터가 매칭된 노드와 가장 적은 데이터가 매칭된 노드 간의 데이터의 수가 기 설정된 수를 초과하지 않도록 가장 적은 데이터가 매칭된 노드에 데이터를 매칭하여 저장할 수 있다.
그리고 데이터저장부(110)는 후술할 데이터캐싱부(120)의 요청에 따라 데이터를 제공할 수 있다.
예를 들어, 데이터캐싱부(120)로부터 캐시미스가 발생되어 데이터 제공요청을 획득하면, 데이터저장부(110)는 데이터캐싱부(120)로 데이터를 제공할 수 있다.
그리고 데이터저장부(110)가 변경 요청을 획득하면, 데이터저장부(110)는 업데이트 요청에 따라 데이터를 변경하고, 데이터에 대응되는 노드의 속성을 변경할 수 있다.
예를 들어, 데이터인 ‘name=홍길동’으로 변경됨에 따라 데이터저장부(110)가 데이터캐싱부(120)로부터 업데이트요청을 획득하면, 데이터저장부(110)는 업데이트에 요청에 포함된 ‘SET name=’홍길동’, Rev=Rev+1, updated_at=now()’ 에 따라 데이터 name을 ‘홍길동’으로 변경할 수 있고, 데이터에 대응되는 노드의 속성 중 변경횟수(Rev)를 Rev+1로 설정하며 변경시간(updated_at)을 현재시간으로 설정할 수 있다.
이후, 데이터저장부(110)는 데이터의 변경을 알리는 이벤트 데이터를 데이터캐싱부(120)에 제공할 수 있다.
이에 따라 데이터저장부(110)는 데이터저장부(110)의 노드와 데이터캐싱부(120)의 캐시노드간 동기화가 이루어지도록 할 수 있다.
한편, 데이터캐싱부(120)는 데이터를 캐싱한 캐시데이터를 저장하고, 저장된 캐시데이터에 매칭된 노드인 캐시노드의 속성을 저장할 수 있다.
예를 들어, 데이터캐싱부(120)는 데이터검색부(130)의 빠른 데이터 제공을 위해 데이터저장부(110)에 저장된 데이터 중 적어도 하나의 데이터를 캐싱하여 기 설정된 조건에 따라 캐시노드에 캐시데이터로 저장할 수 있다.
그리고 데이터캐싱부(120)는 캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경할 수 있다.
실시예에 따라, 데이터캐싱부(120)가 ID로 캐싱된 캐시데이터가 캐시노드에 존재하지 않아 캐시미스가 발생하면, 데이터캐싱부(120)는 데이터저장부(110)로부터 ID에 대응되는 데이터를 획득하고, 획득된 데이터와 캐시데이터를 비교하여 변경되는 데이터만을 추출할 수 있다.
예를 들어, 데이터캐싱부(120)가 캐싱한 ID에 대응되는 데이터인 ‘name=홍길동’이 캐시데이터에 없는 경우, 데이터캐싱부(120)는 데이터저장부(110)로부터 획득한 데이터인 ‘name=홍길동’ 을 추출할 수 있다.
그리고 데이터캐싱부(120)는 추출된 데이터에 기초하여 캐시데이터를 변경할 수 있고, 변경된 캐시데이터가 저장된 캐시노드의 속성을 변경할 수 있다.
예를 들어, 데이터캐싱부(120)는 ‘name=홍길동’으로 캐시데이터가 변경되는 캐시노드의 속성인 변경횟수(Rev)를 Rev+1 로 변경하고, 변경시간(updated_at)을 현재시간(current time)으로 변경할 수 있다.
그리고 데이터캐싱부(120)는 기 설정된 해시함수에 기초하여 속성이 변경된 캐시노드의 해시값을 생성하여 저장할 수 있다.
예를 들어, 데이터캐싱부(120)는 기 설정된 해시함수에 캐시데이터가 변경된 캐시노드를 입력하여 캐시노드에 대한 특정 해시값을 계산할 수 있고 생성된 해시값에 ID_HASH 키(Key)를 매칭하여 별도의 공간에 저장할 수 있다.
이때, 데이터캐싱부(120)는 데이터저장부(110)에 대해 데이터 변경요청을 할 수 있다.
예를 들어, 데이터캐싱부(120)는 데이터저장부(110)로 데이터 변경을 요청하는 쿼리인 ‘SET name=’홍길동’, Rev=Rev+1, updated_at=now()’를 제공하여 데이터저장부(110)의 데이터가 변경되도록 할 수 있다.
이후, 데이터저장부(110)로부터 이벤트 데이터를 획득하면, 그리고 데이터캐싱부(120)는 변경된 캐시노드의 속성을 기초로 캐시노드의 동기화여부를 결정할 수 있다.
이를 위해, 데이터캐싱부(120)는 동기화 대상 노드의 속성(관심 속성), 변경횟수 및 변경시간을 갖는 새로운 노드를 추출하여, 추출된 노드에 대한 해시값을 생성할 수 있다.
예를 들어, 데이터캐싱부(120)는 변경된 캐시데이터에 대응되는 데이터저장부(110)의 데이터가 저장된 노드의 속성값, 노드의 변경횟수 및 변경시간에 대한 속성들로 구성된 새로운 노드를 추출할 수 있고, 기 설정된 해시함수를 이용하여 추출된 새로운 노드의 해시값을 생성할 수 있다.
그리고 데이터캐싱부(120)는 캐시노드의 해시값 및 노드의 해시값의 동일여부에 기초하여 캐시노드의 동기화를 결정할 수 있다.
하나의 실시예에 따라, 캐시노드의 해시값 및 노드의 해시값이 동일하면, 데이터캐싱부(120)는 캐시노드의 동기화를 스킵할 수 있다.
예를 들어, 데이터캐싱부(120)는 ID_HASH에 대응되어 저장된 캐시노드의 해시값 리딩하고, 리딩된 캐시노드의 해시값과 노드의 해시값을 비교하여 동일여부를 판단할 수 있으며, 추가적으로 캐시노드의 속성인 변경횟수, 변경시간 각각의 속성값과 노드의 속싱인 변경횟수, 변경시간 각각의 속성값의 동일여부를 판단할 수 있다. 그리고 캐시노드와 노드간 해시값, 변경횟수 및 변경시간이 동일하면, 데이터캐싱부(120)는 캐시노드의 동기화를 스킵할 수 있다.
다른 실시예에 따라, 캐시노드의 해시값 및 노드의 해시값이 상이하면, 데이터캐싱부(120)는 캐시노드를 동기화할 수 있다.
예를 들어, 캐시노드의 해시값 및 노드의 해시값이 상이하면, 데이터캐싱부(120)는 캐시노드의 속성인 변경횟수(Rev) 및 변경시간(updated_at)을 비교할 수 있다. 이때, 캐시노드의 변경횟수가 3, 노드의 변경횟수가 4 이고, 캐시노드의 변경시간이 pm 07:02, 노드의 변경시간이 pm 07:05 이면, 데이터캐싱부(120)는 캐시노드가 노드에 비해 과거의 것으로 판단할 수 있고, 캐시노드를 데이터저장부(120)의 노드로 동기화할 수 있다.
이때, 데이터캐싱부(120)는 추가적으로 검색엔진서버(30)에 저장된 노드 역시 동기화가 수행되도록 할 수 있다.
도 3 은 일 실시예에 따른 데이터동기화방법을 설명하기 위한 순서도이다.
도 3에 도시된 실시예에 따른 데이터동기화방법은 도 1및 도 2 에 도시된 데이터동기화시스템(100)에서 시계열적으로 처리되는 단계들을 포함한다. 따라서, 이하에서 생략된 내용이라고 하더라도 도 1 및 도 2 에 도시된 데이터동기화시스템(100)에 관하여 이상에서 기술한 내용은 도 3에 도시된 실시예에 따른 데이터동기화방법에도 적용될 수 있다.
우선, 데이터베이스(10)는 데이터를 기 설정된 조건에 따라 매칭된 노드에 저장하고, 노드에 대한 속성을 저장할 수 있고, 캐시서버(20)는 데이터베이스(10)에 저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장할 수 있다(S3001).
예를 들어, 캐시서버(20)는 데이터베이스(10)의 노드에 저장된 데이터를 캐시데이터로 캐시노드에 저장할 수 있으며, 캐시노드에 저장된 캐시데이터의 ID를 저장할 수 있다.
그리고 캐시서버(20)는 캐시미스의 발생여부에 따라 데이터베이스(10)로부터 데이터를 획득할 수 있다(S3002).
예를 들어, 캐시서버(20)가 ID에 대응되는 캐시데이터가 캐시노드에 저장되어 있지 않아 캐시미스가 발생되면, 캐시서버(20)는 데이터베이스(10)로부터 ID에 대응되는 데이터를 획득할 수 있다.
그리고 캐시서버(20)는 데이터베이스(10)로부터 획득된 데이터 중 캐시데이터와 상이한 데이터 속성을 추출할 수 있다(S3003).
예를 들어, 캐시서버(20)는 데이터베이스(10)로부터 획득된 데이터 중 캐시데이터에 없는 ‘name=홍길동’을 추출할 수 있다.
이후, 캐시서버(20)는 S3003단계에서 추출된 데이터를 기초로 캐시데이터를 변경할 수 있고, 변경된 캐시데이터가 저장된 캐시노드의 속성을 변경할 수 있다(S3004).
예를 들어, 변경되는 캐시데이터가 있는 경우, 캐시서버(20)는 캐시노드의 속성인 변경횟수(Rev)를 기존 Rev에 1을 변경횟수 1 회를 추가하여 Rev+1로 변경할 수 있고, 변경시간을 변경된 시간인 현재시간으로 변경할 수 있다.
이때, 캐시서버(20)는 기 설정된 해시함수에 따라 변경된 캐시노드의 해시값을 생성할 수 있다.
예를 들어, 캐시서버(20)는 기 설정된 해시함수에 기초하여 S3004에서 속성이 변경된 캐시노드에 대한 해시값을 계산할 수 있으며, 계산된 해시값을 ID_HASH를 키(Key)로 하여 저장할 수 있다.
그리고 캐시서버(20)는 데이터베이스(10)로 데이터 변경 요청을 제공할 수 있다(S3005).
예를 들어, 캐시서버(20)는 데이터베이스(10)의 데이터가 변경되도록 NoSQL 의 쿼리인 ‘SET name=’홍길동’, Rev=Rev+1, updated_at=now()’를 제공할 수 있다.
이후, 데이터베이스(10)가 데이터 변경 요청을 획득하면, 데이터베이스(10)는 데이터를 변경할 수 있고, 변경된 데이터에 대한 노드의 속성을 변경하면, 캐시서버(20)는 데이터 변경을 알리는 이벤트 데이터를 데이터베이스(10)로부터 획득할 수 있다(S3006).
예를 들어, 데이터베이스(10)가 S3005단계에서 캐시서버(20)가 생성한 쿼리를 획득하면, 데이터베이스(10)는 쿼리에 따라 데이터를 변경할 수 있고, 데이터의 변경에 따라 데이터가 저장된 노드의 속성인 변경횟수의 값을 1 증가시킬 수 있고, 변경시간을 현재시간으로 변경할 수 있다. 그리고 데이터베이스(10)는 캐시서버(20)로 데이터의 변경을 알리는 이벤트데이터를 제공할 수 있다.
그리고 캐시서버(20)가 이벤트데이터를 획득하면, 캐시서버(20)는 동기화 대상 노드의 속성, 변경횟수 및 변경시간을 갖는 노드를 추출하여 추출된 노드의 해시값을 생성할 수 있다(S3007).
예를 들어, 캐시서버(20)는 데이터베이스(10)상의 노드의 속성 중 캐시노드의 동기화를 결정하는 노드의 속성인 관심 속성(Interest Property), 변경횟수 및 변경시간을 속성들로 구성된 새로운 노드를 추출할 수 있다. 그리고 캐시서버(20)는 기 설정된 값에 기초하여 추출된 노드에 대한 해시값을 계산할 수 있다.
이후, 캐시서버(20)는 캐시노드의 해시값 및 노드의 해시값에 기초하여 캐시노드의 동기화를 결정할 수 있다(S3008).
예를 들어, 캐시서버(20)는 S3004단계에서 생성된 캐시노드의 해시값과 S3007단계에서 생성된 노드의 해시값의 동일여부를 비교할 수 있고, 캐시노드와 노드 각각의 속성인 변경횟수(Rev)의 값이 동일한지 여부를 비교할 수 있다.
또한, 예를 들어, 캐시서버(20)는 캐시노드와 노드 각각의 속성인 변경시간(updated_at)의 값이 동일한지 여부를 비교할 수 있다.
하나의 실시예에 따라, 캐시노드와 노드간의 해시값, 변경횟수 및 변경시간이 동일하면, 캐시서버(20)는 캐시노드의 동기화를 스킵할 수 있다.
다른 실시예에 따라, 캐시노드와 노드간의 해시값이 상이하면, 캐시서버(20)는 캐시노드의 동기화를 수행할 수 있다.
예를 들어, 캐시노드와 노드간의 해시값이 상이하면, 캐시서버(20)는 캐시노드의 속성인 변경횟수와 변경시간 각각을 노드의 변경횟수와 변경시간을 비교하여 캐시노드가 노드에 비해 변경횟수의 값이 작고 변경시간의 시간이 오래된 경우 캐시노드를 노드로 동기화시킬 수 있다.
이때, 실시예에 따라, 검색엔진서버(10)는 캐시서버(20)의 캐시노드 동기화가 수행되면, 검색엔진서버(10)의 노드 역시 동기화를 수행할 수 있다.
이상의 실시예들에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA(field programmable gate array) 또는 ASIC 와 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램특허 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다.
구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로부터 분리될 수 있다.
뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU 들을 재생시키도록 구현될 수도 있다.
도 3 을 통해 설명된 실시예에 따른 데이터동기화방법은 컴퓨터에 의해 실행 가능한 명령어 및 데이터를 저장하는, 컴퓨터로 판독 가능한 매체의 형태로도 구현될 수 있다. 이때, 명령어 및 데이터는 프로그램 코드의 형태로 저장될 수 있으며, 프로세서에 의해 실행되었을 때, 소정의 프로그램 모듈을 생성하여 소정의 동작을 수행할 수 있다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터로 판독 가능한 매체는 컴퓨터 기록 매체일 수 있는데, 컴퓨터 기록 매체는 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함할 수 있다.예를 들어, 컴퓨터 기록 매체는 HDD 및 SSD 등과 같은 마그네틱 저장 매체, CD, DVD 및 블루레이 디스크 등과 같은 광학적 기록 매체, 또는 네트워크를 통해 접근 가능한 서버에 포함되는 메모리일 수 있다.
또한 도 3 을 통해 설명된 실시예에 따른 데이터동기화방법은 컴퓨터에 의해 실행 가능한 명령어를 포함하는 컴퓨터 프로그램(또는 컴퓨터 프로그램 제품)으로 구현될 수도 있다. 컴퓨터 프로그램은 프로세서에 의해 처리되는 프로그래밍 가능한 기계 명령어를 포함하고, 고레벨 프로그래밍 언어(High-level Programming Language), 객체 지향 프로그래밍 언어(Object-oriented Programming Language), 어셈블리 언어 또는 기계 언어 등으로 구현될 수 있다. 또한 컴퓨터 프로그램은 유형의 컴퓨터 판독가능 기록매체(예를 들어, 메모리, 하드디스크, 자기/광학 매체 또는 SSD(Solid-State Drive) 등)에 기록될 수 있다.
따라서 도 3 을 통해 설명된 실시예에 따른 데이터동기화방법은 상술한 바와 같은 컴퓨터 프로그램이 컴퓨팅 장치에 의해 실행됨으로써 구현될 수 있다. 컴퓨팅 장치는 프로세서와, 메모리와, 저장 장치와, 메모리 및 고속 확장포트에 접속하고 있는 고속 인터페이스와, 저속 버스와 저장 장치에 접속하고 있는 저속 인터페이스 중 적어도 일부를 포함할 수 있다. 이러한 성분들 각각은 다양한 버스를 이용하여 서로 접속되어 있으며, 공통 머더보드에 탑재되거나 다른 적절한 방식으로 장착될 수 있다.
여기서 프로세서는 컴퓨팅 장치 내에서 명령어를 처리할 수 있는데, 이런 명령어로는, 예컨대 고속 인터페이스에 접속된 디스플레이처럼 외부 입력, 출력 장치상에 GUI(Graphic User Interface)를 제공하기 위한 그래픽 정보를 표시하기 위해 메모리나 저장 장치에 저장된 명령어를 들 수 있다. 다른 실시예로서, 다수의 프로세서 및(또는) 다수의 버스가 적절히 다수의 메모리 및 메모리 형태와 함께 이용될 수 있다. 또한 프로세서는 독립적인 다수의 아날로그 및(또는) 디지털 프로세서를 포함하는 칩들이 이루는 칩셋으로 구현될 수 있다.
또한 메모리는 컴퓨팅 장치 내에서 정보를 저장한다. 일례로, 메모리는 휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 다른 예로, 메모리는 비휘발성 메모리 유닛 또는 그들의 집합으로 구성될 수 있다. 또한 메모리는 예컨대, 자기 혹은 광 디스크와 같이 다른 형태의 컴퓨터 판독 가능한 매체일 수도 있다.
그리고 저장장치는 컴퓨팅 장치에게 대용량의 저장공간을 제공할 수 있다. 저장 장치는 컴퓨터 판독 가능한 매체이거나 이런 매체를 포함하는 구성일 수 있으며, 예를 들어 SAN(Storage Area Network) 내의 장치들이나 다른 구성도 포함할 수 있고, 플로피 디스크 장치, 하드 디스크 장치, 광 디스크 장치, 혹은 테이프 장치, 플래시 메모리, 그와 유사한 다른 반도체 메모리 장치 혹은 장치 어레이일 수 있다.
상술된 실시예들은 예시를 위한 것이며, 상술된 실시예들이 속하는 기술분야의 통상의 지식을 가진 자는 상술된 실시예들이 갖는 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 상술된 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 명세서를 통해 보호 받고자 하는 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태를 포함하는 것으로 해석되어야 한다.
100: 데이터동기화시스템
10: 데이터베이스
20: 캐시서버
30: 검색엔진서버
110: 데이터저장부
120: 데이터캐싱부

Claims (16)

  1. 이기종 장치간 데이터를 동기화하는 시스템에 있어서,
    데이터를 기 설정된 조건에 따라 매칭된 노드에 저장하고, 상기 노드에 대한 속성을 저장하는 데이터저장부;
    저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장하고, 캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경하고, 변경된 캐시노드의 속성을 기초로 상기 캐시노드의 동기화여부를 결정하는 데이터캐싱부를 포함하는, 데이터동기화시스템.
  2. 제 1 항에 있어서,
    상기 데이터캐싱부는,
    상기 데이터를 획득하여 상기 캐시데이터를 변경하고, 변경된 캐시데이터가 저장된 캐시노드의 속성에 포함되는 변경횟수 및 변경시간 중 적어도 하나를 변경하는, 데이터동기화시스템.
  3. 제 2 항에 있어서,
    상기 데이터캐싱부는,
    기 설정된 해시함수에 기초하여 변경된 캐시노드의 해시값을 생성하는, 데이터동기화시스템.
  4. 제 3 항에 있어서,
    상기 데이터캐싱부는,
    상기 데이터의 변경에 따른 이벤트데이터를 획득하면, 동기화 대상 노드의 속성, 변경횟수 및 변경시간을 갖는 노드를 추출하는, 데이터동기화시스템.
  5. 제 4 항에 있어서,
    상기 데이터캐싱부는,
    상기 해시함수에 기초하여 추출된 노드의 해시값을 생성하는, 데이터동기화시스템.
  6. 제 5 항에 있어서,
    상기 데이터캐싱부는,
    상기 캐시노드의 해시값 및 상기 추출된 노드의 해시값이 동일하면, 상기 캐시노드의 동기화를 스킵하는, 데이터동기화시스템.
  7. 제 6 항에 있어서,
    상기 데이터캐싱부는,
    상기 캐시노드의 해시값 및 상기 추출된 노드의 해시값이 상이하면, 상기 캐시노드 및 상기 추출된 노드 각각의 속성인 변경횟수 및 변경시간에 기초하여 상기 캐시노드를 동기화여부를 결정하는, 데이터동기화시스템.
  8. 데이터동기화시스템이 이기종 장치간 데이터를 동기화하는 방법에 있어서,
    데이터를 기 설정된 조건에 따라 매칭된 노드에 저장하고, 상기 노드에 대한 속성을 저장하는 단계;
    저장된 데이터를 캐싱한 캐시데이터를 상기 캐시데이터에 매칭되는 노드인 캐시노드에 저장하는 단계;
    캐시미스의 발생여부에 따라 상기 캐시노드의 속성을 변경하는 단계; 및
    변경된 캐시노드의 속성을 기초로 상기 캐시노드의 동기화여부를 결정하는 하는 단계를 포함하는, 데이터동기화방법.
  9. 제 8 항에 있어서,
    상기 캐시노드의 속성을 변경하는 단계는,
    상기 데이터를 획득하여 상기 캐시데이터를 변경하는 단계; 및
    변경된 캐시데이터가 저장된 캐시노드의 속성에 포함되는 변경횟수 및 변경시간 중 적어도 하나를 변경하는 단계를 포함하는, 데이터동기화방법.
  10. 제 9 항에 있어서,
    상기 데이터동기화방법은,
    기 설정된 해시함수에 기초하여 변경된 캐시노드의 해시값을 생성하는 단계를 더 포함하는, 데이터동기화방법.
  11. 제 10 항에 있어서,
    상기 데이터동기화방법은,
    상기 데이터의 변경 발생에 따른 이벤트데이터를 획득하면, 동기화 대상 노드의 속성, 변경횟수 및 변경시간을 갖는 노드를 추출하는 단계를 더 포함하는, 데이터동기화방법.
  12. 제 11 항에 있어서,
    상기 데이터동기화방법은,
    상기 해시함수에 기초하여 추출된 노드의 해시값을 생성하는 단계를 더 포함하는, 데이터동기화방법.
  13. 제 12 항에 있어서,
    상기 캐시노드의 동기화여부를 결정하는 단계는,
    상기 캐시노드의 해시값 및 상기 노드의 해시값이 동일하면, 상기 캐시노드의 변경을 스킵하는 단계를 포함하는, 데이터동기화방법.
  14. 제 12 항에 있어서,
    상기 캐시노드의 동기화여부를 결정하는 단계는,
    상기 캐시노드의 해시값 및 상기 추출된 노드의 해시값이 상이하면, 상기 캐시노드 및 상기 추출된 노드 각각의 속성인 변경횟수 및 변경시간에 기초하여 상기 캐시노드를 동기화여부를 결정하는 단계를 포함하는, 데이터동기화방법.
  15. 제 8 항에 기재된 방법을 수행하는 프로그램이 기록된 컴퓨터 판독 가능한 기록 매체.
  16. 데이터동기화시스템에 의해 수행되며, 제 8 항에 기재된 방법을 수행하기 위해 매체에 저장된 컴퓨터 프로그램.
KR1020190038343A 2019-04-02 2019-04-02 이기종 장치 간 데이터를 동기화하는 방법 및 시스템 KR102273341B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020190038343A KR102273341B1 (ko) 2019-04-02 2019-04-02 이기종 장치 간 데이터를 동기화하는 방법 및 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190038343A KR102273341B1 (ko) 2019-04-02 2019-04-02 이기종 장치 간 데이터를 동기화하는 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20200116679A true KR20200116679A (ko) 2020-10-13
KR102273341B1 KR102273341B1 (ko) 2021-07-06

Family

ID=72884949

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190038343A KR102273341B1 (ko) 2019-04-02 2019-04-02 이기종 장치 간 데이터를 동기화하는 방법 및 시스템

Country Status (1)

Country Link
KR (1) KR102273341B1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022177368A1 (ko) * 2021-02-18 2022-08-25 (주)알투비솔루션 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067976A (ko) * 2008-12-12 2010-06-22 주식회사 케이티 분산 저장된 컨텐츠 파일의 동기화 방법
KR20120082980A (ko) * 2011-01-17 2012-07-25 크로시스(주) 이기종 단말 간의 개인정보 동기화 방법 및 그 시스템
KR20130134561A (ko) * 2012-05-31 2013-12-10 주식회사 지어소프트 Cdn에서의 컨텐츠 전송을 위한 동기화 장치 및 방법
KR20140045738A (ko) * 2012-10-09 2014-04-17 성균관대학교산학협력단 클라우드 스토리지 시스템
KR20140116604A (ko) * 2013-03-25 2014-10-06 안지윤 클라이언트 단말기 간의 데이터 동기화 시스템

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100067976A (ko) * 2008-12-12 2010-06-22 주식회사 케이티 분산 저장된 컨텐츠 파일의 동기화 방법
KR20120082980A (ko) * 2011-01-17 2012-07-25 크로시스(주) 이기종 단말 간의 개인정보 동기화 방법 및 그 시스템
KR20130134561A (ko) * 2012-05-31 2013-12-10 주식회사 지어소프트 Cdn에서의 컨텐츠 전송을 위한 동기화 장치 및 방법
KR20140045738A (ko) * 2012-10-09 2014-04-17 성균관대학교산학협력단 클라우드 스토리지 시스템
KR20140116604A (ko) * 2013-03-25 2014-10-06 안지윤 클라이언트 단말기 간의 데이터 동기화 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
서정희 외 1인, 클라우드 서비스 기반 이기종간의 데이터 공유 기법, 한국정보통신학회논문지 22(3), 2018.3, 391-398페이지. *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022177368A1 (ko) * 2021-02-18 2022-08-25 (주)알투비솔루션 원격 dbms 테이블간 고성능 테이블 데이터 정합성 검증 시스템

Also Published As

Publication number Publication date
KR102273341B1 (ko) 2021-07-06

Similar Documents

Publication Publication Date Title
US11966337B2 (en) Providing rolling updates of distributed systems with a shared cache
US9734158B2 (en) Searching and placeholders
KR102124231B1 (ko) 플레이스홀더 및 콘텐츠 스트리밍 기법
US10291702B2 (en) Synchronized content library
US9166866B2 (en) Hydration and dehydration with placeholders
US20140244600A1 (en) Managing duplicate media items
US20140324776A1 (en) File management with placeholders
US9747321B2 (en) Providing a content preview
US20140304384A1 (en) Uploading large content items
US10878089B2 (en) Identifying malware based on content item identifiers
US9031909B2 (en) Provisioning and/or synchronizing using common metadata
US9965473B2 (en) System, information processing apparatus, method for controlling the same, and non-transitory computer-readable medium
US10303672B2 (en) System and method for search indexing
KR102273341B1 (ko) 이기종 장치 간 데이터를 동기화하는 방법 및 시스템
KR102116395B1 (ko) 애플리케이션 테스트 방법 및 장치
KR102027560B1 (ko) 영상의 메타정보 설정 방법 및 장치
KR20190002211A (ko) 분산 트랜잭션 관리 방법 및 시스템
KR102422705B1 (ko) 검색결과 제공장치 및 검색결과 제공방법
KR102375534B1 (ko) 동영상 하이라이팅 장치 및 방법
US11347692B1 (en) Zero block elimination reporting for a file system
KR20180131252A (ko) 통신환경에 기초한 게임 패치 제공 방법 및 장치
KR20220118695A (ko) 콘텐츠 제공 장치 및 방법
KR101996878B1 (ko) 정적 분석 도구를 평가하기 위한 방법 및 그 장치
CN114443573A (zh) 一种元数据检索方法、装置、电子设备和介质
KR20190051910A (ko) 통신환경에 기초한 게임 패치 제공 방법 및 장치

Legal Events

Date Code Title Description
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant