KR20080068110A - 데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버및 그것의 데이터 동기화 시스템 - Google Patents

데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버및 그것의 데이터 동기화 시스템 Download PDF

Info

Publication number
KR20080068110A
KR20080068110A KR1020087013923A KR20087013923A KR20080068110A KR 20080068110 A KR20080068110 A KR 20080068110A KR 1020087013923 A KR1020087013923 A KR 1020087013923A KR 20087013923 A KR20087013923 A KR 20087013923A KR 20080068110 A KR20080068110 A KR 20080068110A
Authority
KR
South Korea
Prior art keywords
server
client
identifier
data item
data
Prior art date
Application number
KR1020087013923A
Other languages
English (en)
Inventor
홍빈 유
춘롱 챈
잉준 초우
웨이 가오
Original Assignee
후아웨이 테크놀러지 컴퍼니 리미티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 후아웨이 테크놀러지 컴퍼니 리미티드 filed Critical 후아웨이 테크놀러지 컴퍼니 리미티드
Publication of KR20080068110A publication Critical patent/KR20080068110A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • 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
    • G06F16/275Synchronous replication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2056Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
    • G06F11/2082Data synchronisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names

Landscapes

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

Abstract

데이터 동기화 처리 방법은 서버로부터 전송된 업데이트하는 데이터 아이템에 대한 대응하는 업데이트 프로세스를 수행하고 상기 서버로부터 송신된 상기 업데이트하는 데이터 아이템에 대응하는 상기 전세계적 단일 식별자(GUID)를 저장하는 클라이언트 단말기를 포함한다. 만약, 디러한 동기화 프로세스가 중단된다면 다음 번 동기화 프로세스가 다시 시작한 후, 상기 클라이언트 단말기는 상기 저장된 GUID를 서버 메모리에 보고한다. 상기 저장 결과에 따라 상기 서버는 자시니의 업데이트하는 데이터베이스에 상기 저장된 결과에 포함되지 않은 GUID 및 상기 대응하는 업데이트하는 데이터 아이템을 상기 클라이언트 단말기에 전송하고, 절차로 되돌아간다. 유사하게, 또한 본 발명은 클라이언트 단말기, 서버 및 데이터 동기화 시스템을 제공한다. 본 발명은 상기 데이터 동기화 프로세스가 중단된 경우에도 불구하고 데이터 동기화를 정상적으로 완료할 수 있다.

Description

데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버 및 그것의 데이터 동기화 시스템{A METHOD FOR PROCESSING DATA SYNCHRONIZATION AND CLIENT TERMINAL, SERVER AND DATA SYNCHRONIZATION SYSTEM THEREOF}
본 발명은 SYNCML(Synchronization Markup Language) 프로토콜 동기화 처리 기술들에 관한 것으로서, 특히 데이터 동기화(data synchronization) 처리 방법, 클라이언트 단말기, 서버 및 데이터 동기화 시스템에 관한 것이다.
현대 사회는 정보 사회이다. 사용자는 언제 어디에서나 단말기에서 정보를 송신 및 수신하거나 다양한 애플리케이션(application)들을 실행할 필요가 있다. 상기 정보 통신의 결과 및 상기 애플리케이션 실행의 결과 모두는 상기 단말기에 저장될 필요가 있을 수도 있고 다른 통신 장치들의 대응하는 데이터와 일치되는 것이 유지될 필요가 있을 수도 있다. 예를 들어, 주소록은 통상적으로 모바일 전화기 또는 PDA(Personal Digital Assistant)에 저장된다. 그리고, 또한 동일한 주소록이 사무실 또는 집의 컴퓨터 또는 랩탑(laptop)에 저장될 수도 있다. 사용자는 이러한 통신 장치들에서 항상 정보가 서로 일치되도록 유지하는 것을 원한다. 즉, 상기 통신 장치들 중 하나에서 데이터 정보가 변경될 때, 또한 다른 통신 장치들에서 대응하는 데이터 정보가 유사하게 변경될 수도 있다. 이것이 상이한 통신 장치들 사이 의 데이터 동기화 프로세스(data synchronization process)이다.
데이터 동기화를 수행하기 위한 단말기 장치들은 팜탑 컴퓨터(palmtop), PDA, 모바일 전화기 및 데스크탑 컴퓨터와 같은 모든 네트웍 장치들이 될 수 있다. 모든 네트웍에서, 동기화되도록 조작되는 데이터는 모든 네트웍 데이터가 될 수도 있다. 사용자는 상이한 통신 장치들을 통해 동일한 데이터 정보를 접속하고 조작할 수도 있다. SYNCML의 기술은 상술한 데이터 동기화 프로세스를 수행하기 위해 제안된 새로운 전세계의 표준 기술이다.
도 1을 참조하면, 개략도는 종래 기술에서 상기 SYNCML 프로토콜을 사용하는 클라이언트와 서버 사이의 데이터 동기화 프로세스를 보여준다. PKG1 내지 PKG6의 여섯개의 데이터 패킷들은 하나의 SYNCML 동기화 프로세스에서 상기 클라이언트와 서버 사이에서 교환될 필요가 있다. 주된 프로세스는 다음과 같다.
1. 어떤 측에 의해서든 상기 SYNCML 동기화 프로세스는 개시된다. 상기 클라이언트는 우선 상기 서버에게 동기화 개시 데이터 패키지(synchronization initialization data package) PKG1을 송신한다. PKG1은 주로 클라이언트 인증 정보(client authentication information) 및 장치 능력(device capability)의 정보 등을 포함한다.
2. PKG1을 수신하자 마자, 상기 서버는 PKG1에 포함된 상기 클라이언트 인증 정보에 따라 상기 클라이언트에 대한 인증을 수행하고, 상기 클라이언트의 과금 정보(account information)를 확인한다. 상기 확인 결과 및 지정된 동기화 타입에 관한 정보는 동기화 개시 응답 데이터 패킷(ynchronization initialization response data packet)(PKG2)에 의해 상기 클라이언트에게 피드백된다.
3. 상기 클라이언트는 수신된 PKG2에서 지정된 상기 동기화 타입을 분석하고, 최근의 동기화의 완료 이후에 변경된 로컬 데이터베이스(local database)의 모든 데이터(추가되고, 삭제되고, 또는 변경된 데이터를 포함하는)를 데이터 패킷 PKG3에 패키징(package)하고, 상기 서버에게 상기 패킷 PKG3를 송신한다.
통상적으로, 상기 로컬 데이터베이스의 조작 로그(operation log)에서, 상기 클라이언트는 최근의 동기화 프로세스가 로그 ID를 통해 완료될 때 상기 조작 로그의 위치를 식별한다. 통상적으로, "앵커(anchor)"는 상기 위치를 식별하기 위해 채용된다. 따라서, 상기 동기화 프로세스가 다음 번에 수행되어야 할 때, 상기 서버와 동기화될 필요가 있는 데이터는 상기 앵커 식별(anchor identity) 후 상기 로그에 기록된 정보이다. 상기 클라이언트의 참조를 위한 로그 정보의 포맷은 다음 표 1에 보여진다. (여기서, LUID는 로컬 단일 식별자(local unique identity)를 나타낸다.)
앵커(Anchor) LUID 수행되는 조작
1110 555 추가
1111 168 대체
1112 123 삭제
1113 556 추가
4. PKG3을 수신하자 마자, 상기 서버는 PKG3의 상기 대응하는 조작의 지시들(operational instructions)을 실행하고 상기 클라이언트에서 변경된 데이터에 대응하는 자신의 데이터베이스의 데이터를 차례로 업데이트한다.
상술한 조작의 지시들을 실행한 상태 정보를 데이터 패킷 PKG4를 통해 상기 클라이언트에게 돌려보낼 때, 또한 상기 서버는 최근의 동기화 이후에 변경된 자신의 데이터베이스의 모든 데이터(추가되고, 삭제되고 또는 변경된 데이터를 포함하는)를 데이터 패킷 PKG4에 패키징하고, 상기 패킷 PKG4를 상기 클라이언트에게 돌려보낸다.
5. PKG4를 수신하자 마자, 상기 클라이언트는 PKG4의 상기 대응하는 조작의 지시들을 실행하고, 상기 서버에서 변경된 데이터에 대응하는 자신의 데이터베이스의 데이터를 차례로 업데이트한다.
상술한 조작의 지시들을 실행하는 것에 관한 상태 정보를 데이터 패킷 PKG5를 통해 상기 서버에게 돌려보낼 때, 만약 상기 수신된 PKG4가 새로운 데이터 아이템을 상기 로컬 데이터베이스에 추가하기 위한 추가 지시(add instruction)를 포함한다면, 상기 클라이언트는 대응하는 ID 매핑 정보(ID mapping information)을 생성하고, 상기 새로운 데이터 아이템을 상기 로컬 데이터베이스에 성공적으로 추가한 후 데이터 패킷 PKG5를 통해 상기 서버에게 상기 ID 매핑 정보를 통지한다. 도 2는 상기 서버로부터 송신된 데이터를 추가하기 위한 추가 지시에 따라 ID 매핑 정보 테이블을 생성하고 상기 서버에게 상기 ID 매핑 정보 테이블을 피드백하는 클라이언트의 상태를 보여주는 개략도이다. 도 2에서, GUID는 전세계적 단일 식별자(global unique identity)를 나타내고, LUID는 로컬 단일 식별자(local unique identity)를 나타낸다. 상기 동일한 새롭게 추가된 데이터 아이템에 대해, 서버(820)는 상기 데이터 아이템을 식별하기 위해 상기 서버 측에서 단일하게 식별되는 GUID 값을 생성하고, 한편 클라이언트(810)은 상기 데이터 아이템을 식별하기 위해 상기 클라이언트 측에서 단일하게 식별되는 LUID 값을 생성한다. 상기 클라이언트에 의해 조작되는 동일한 데이터 아이템에 대응하는 데이터 아이템이 상기 서버에 의해 조작되도록 하기 위해, ID 매핑 정보 테이블은 서버(820)에서 유지될 필요가 있다. 도 2에서, "Car"가 서버(820)에 새롭게 추가된 데이터 아이템이라면, 서버(820)가 상기 새롭게 추가된 데이터 아이템 및 상기 대응하는 GUID 값 "1010101"을 클라이언트(810)을 송신할 때, 클라이언트(810)는 상기 새롭게 추가된 데이터 아이템 "Car"를 상기 로컬 데이터베이스(811)에 추가하고, LUID 값 "11"을 상기 새롭게 추가된 데이터 아이템에게 할당한다. 그리고, 클라이언트(810)은 상기 새롭게 추가된 데이터 아이템에게 할당된 상기 LUID 값 "11"과 상기 서버에 의해 상기 새롭게 추가된 데이터 아이템에 할당된 상기 GUID 값 "1010101" 사이의 매핑 관계를 수립하고, 상기 매핑 관계를 상기 서버(820)에게 송신한다. 상기 수반되는 새롭게 추가된 데이터 아이템들에 대해 상술한 프로세스를 유사하게 수행함으로써, 서버(820)는 ID 매핑 정보 테이블 "서버 매핑 테이블(Server Mapping Table)"(821)을 획득하고, 상기 ID 매핑 정보 테이블을 유지(maintain)한다.
6. 상기 수신된 PKG5에 포함된 상기 ID 매핑 정보를 자신의 매핑 정보 테이블에 유지하자 마자, 상기 서버는 데이터 패킷 PKG6을 통해 상기 클라이언트에게 상기 유지 지시(maintenance instruction)를 수행한 상태를 피드백한다. 상기 데이터 패킷 PKG6을 수신하자 마자, 만약 상기 PKG6의 모든 상태 코드들이 정상이라면, 상기 클라이언트는 상기 데이터 동기화 프로세스의 성공적인 완료를 표시한다.
상술한 SYNCML 동기화 프로세스로, 사용자가 무선 통신 단말기에 설치된 SYNCML 동기화 소프트웨어를 통해 유선 네트웍에서 서버와 많은 데이터 양의 데이터 동기화를 수행할 때, 불충분한 무선 네트웍 신호 또는 상기 통신 단말기 조작 시스템의 큰 로드(load) 때문에 데이터 동기화 프로세스의 속도는 종종 느리고 많은 시간이 소비된다. 그러한 경우에서, 상기 사용자는 오랜 시간의 기다림을 견딜 수 없기 때문에, 상기 사용자는 상기 데이터 동기화 프로세스가 완료되기 전에 상기 데이터 동기화 프로세스를 중단할 수도 있다. 또한, 다른 이유들, 예를 들어 상기 통신 단말기가 갑자기 파워 오프되거나, 상기 네트웍 신호가 점점 약해지거나, 또는 착신 호(incoming call) 때문에 상기 데이터 동기화 프로세스는 완료되기 전에 중단될 수도 있다.
만약, 상기 통신 단말기 및 상기 서버 사이의 상기 데이터 동기화 프로세스가 상술한 이유들로 완료 전에 중단된다면, 상기 통신 단말기가 그 후에 새로운 동기화 요청을 개시할 때, 모든 변경된 데이터는 재동기화(resynchronized)될 필요가 있다. 다시 말해서, 상기 중단 전에 동기화되었던 데이터는 상기 새로운 동기화 프로세스에서 재동기화될 필요가 있다. 상기 재동기화 프로세스 동안, 상기 언급한 네트웍 상황이 발생될 수도 있고 단말기의 현재 상태가 또 변경된다. 그리고, 상기 다시 시작된 데이터 동기화 프로세스는 상기 언급된 동일한 이유들 때문에 자발적으로 또는 수동적으로 중단될 수도 있다. 반복되는 중단은 상기 실현 데이터 동기화에 영향을 줄 수도 있다.
데이터 동기화 처리 방법, 클라이언트, 서버, 및 데이터 동기화 시스템이 제공된다. 따라서, 데이터 동기화는 데이터 동기화의 프로세스가 중단되는 경우에도 정확하게 완료될 수도 있다.
본 발명의 일 측면에서, 데이터 동기화 처리 방법은
클라이언트에 의해, 서버로부터 송신된 변경된 데이터 아이템에 대해 대응하는 변경을 수행하는 단계;
상기 클라이언트에 의해, 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 GUID를 버퍼링하는 단계;
상기 클라이언트에 의해, 현재의 동기화 프로세스가 중단된 경우 다음 번 동기화 프로세스를 다시 시작한 후 상기 버퍼링된 GUID를 상기 서버에게 보고하는 단계; 및
상기 서버에 의해, 상기 보고된 정보를 저장하는 단계, 자신의 변경 데이터베이스의 저장된 결과에 포함되지 않은 GUID 및 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하는 단계, 그리고 상기 클라이언트에 의해 대응하는 변경 프로세스를 수행하는 단계를 포함한다.
본 발명의 다른 측면에서, 상기 클라이언트는
서버로부터 송신된 변경된 데이터 아이템에 대해 대응하는 변경을 수행하는데 적합한 변경 처리 유닛;
상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 GUID를 버퍼링하는데 적합한 식별자 버퍼링 유닛; 및
현재 동기화 프로세스가 중단된 경우 다음 번 동기화 프로세스를 다시 시작한 후 상기 식별자 버퍼링 유닛에 의해 버퍼링된 상기 GUID를 상기 서버에게 보고하는데 적합한 식별자 보고 유닛을 포함한다.
본 발명의 또 다른 측면에서, 서버는
클라이언트에 의해 보고된, 상기 클라이언트에 의해 업데이트된 서버로부터 송신된 변경 데이터 아이템에 대응하는 GUID를 저장하는데 적합한 보고된 정보 저장 유닛;
자신의 변경 데이터베이스의 상기 보고된 정보 저장 유닛에 포함되지 않은 GUID와 대응하는 변경된 데이터 아이템을 검색하는데 적합한 검색 유닛;
상기 검색 유닛에 의해 발견된 상기 GUID와 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하는데 적합한 송신 유닛을 포함한다.
본 발명의 또 다른 측면에서, 데이터 동기화 시스템은 클라이언트 및 서버를 포함하고,
상기 클라이언트는 상기 서버로부터 송신된 변경된 데이터 아이템에 대한 대응하는 변경을 수행하고, 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 GUID를 버퍼링하고, 현재 동기화 프로세스가 중단된 경우 중단된 동기화 프로세스를 다시 시작한 후 상기 버퍼링된 GUID를 상기 서버에게 보고하는데 적합하며;
상기 서버는 상기 보고된 정보를 저장하고 자신의 변경 데이터베이스의 상기 GUID 및 상기 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하는데 적합하고; 상기 GUID는 상기 저장 결과에 포함되지 않는다.
본 발명의 실시예들에서, 클라이언트는 서버로부터 송신된 변경된 데이터 아이템에 대해 대응하는 변경을 수행하고 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 GUID를 버퍼링한다. 따라서 만약 현재 동기화 프로세스가 중단된 경우, 상기 클라이언트는 다음 번 상기 동기화 프로세스를 다시 시작한 후 상기 버퍼링된 GUID를 상기 서버에게 보고할 수도 있다. 그리고, 상기 서버는 상기 GUID를 저장하고 자신의 변경 데이터베이스의 상기 저장된 결과에 포함되지 않은 GUID들 및 대응하는 변경된 데이터 아이템들을 송신한다. 결과적으로, 상기 동기화 프로세스를 다시 시작한 후 상기 서버에 의해 상기 클라이언트에게 송신된 상기 변경 데이터의 양은 감소될 수도 있고, 동기화 처리의 시간은 절약될 수도 있다. 따라서, 데이터 동기화는 데이터 동기화 프로세스가 중단된 경우에도 불구하고 정확하게 완료될 수도 있다.
도 1은 종래 기술에서 SYNCML 프로토콜을 사용하여 클라이언트와 서버 사이의 데이터 동기화 처리의 프로세스를 보여주는 개략도이다.
도 2는 종래 기술에서 서버로부터 송신된 데이터를 추가하기 위한 추가 지시에 따라 ID 매핑 정보를 생성하고 그것을 상기 서버에게 피드백하는 클라이언트의 상태를 보여주는 개략도이다.
도 3은 종래 기술에서 클라이언트와 서버 사이의 변경된 데이터의 교환을 수행하는 프로세스를 보여주는 개략도이다.
도 4는 본 발명의 실시예에 따른 데이터 동기화 처리 방법을 수행하는 주된 원리를 보여주는 흐름도이다.
도 5는 본 발명의 실시예에 따른 클라이언트의 주요 구조를 보여주는 블록도이다.
도 6은 본 발명의 실시예에 따른 추가된 식별자 삭제 유닛을 가진 클라이언트의 주요 구조를 보여주는 블록도이다.
도 7은 본 발명의 실시예에 따른 상기 클라이언트에서 식별자 버퍼링 유닛의 주요 구조를 보여주는 블록도이다.
도 8은 본 발명의 실시예에 따른 서버의 주요 구조를 보여주는 블록도이다.
본 발명의 실시예들은 긴 시간의 소모로 인한 자발적인 또는 수동적인 중단 때문에 많은 양의 데이터에 대한 데이터 동기화 프로세스가 완료될 수 없는 문제를 해결할 수도 있다.
본 발명의 실시예들은 다음과 같은 고려들을 기반으로 만들어졌다. 상술한 종래 기술의 SYNCML 동기화 프로세스를 분석함에 의해, 상기 클라이언트와 상기 서버 사이에서 교환되는 데이터 패킷들인 PKG3 및 PKG4는 실행 시간 및 트래픽 모두에 있어 전체 동기화 프로세스의 큰 비율을 차지한다. 상세한 이유들은 다음과 같다.
상기 데이터 패킷 PKG3은 주로 클라이언트에서 변경된 데이터 아이템들을 서버로 나르는데 적합하고, 상기 데이터 패킷 PKG4는 주로 상기 서버에서 변경된 데이터 아이템들을 상기 클라이언트로 나르는데 적합하다. 또한, 양측은 서로 상대방 측으로부터 송신된 상기 데이터 변경 조작 지시들을 실행한 결과들을 피드백한다. 따라서, 상기 클라이언트 또는 상기 서버에서든 간에, 변경된 데이터 아이템들의 수가 수백 또는 수천에 이르면(단지 하나의 변경된 데이터 아이템은 수천 바이트 또는 수메가 바이트의 공간을 점유할 수도 있는 것이 가능하다.), 상기 클라이언트와 서버 사이에서 교환되는 상기 두 데이터 패킷들 PKG3 및 PKG4은 전체 데이터 동기화 프로스세에 대해 매우 많은 시간 소모 및 트래픽 소모를 일으킬 수도 있다.
상술한 많은 데이터 양의 동기화 프로세스에서, 패킷 PKG3의 데이터 및 패킷 PKG4의 데이터 모두는 각각 차례로 교환되는 다수의 메시지 부분들로 분할될 수도 있다. 각각의 메시지 교환은 요청을 송신하고 응답을 기다리는 프로세스를 포함한다. 도 3은 클라이언트와 서버 사이에서 변경되는 데이터의 교환을 수행하는 프로세스를 상세히 보여주는 개략도이다.
도 3에서, 데이터 패킷 PKG3은 송신을 위해 제1 데이터 메시지(S31), 제2 데이터 메시지(S33) 및 제3 데이터 메시지(S35)로 분할된다. 데이터 패킷 PKG4는 송신을 위해 제1 데이터 메시지(S32) 및 제2 데이터 메시지(S34)로 분할된다.
이러한 접근은 링크 밴드폭(link bandwidth)이 불충분하거나 무선 네트웍 신호들이 약하거나 등등의 경우에 분명히 시간 소모적이다. 따라서, 가능한 많이 그러한 변경된 데이터의 교환들의 횟수를 줄일 필요가 있다.
상기 클라이언트와 서버 사이에서 교환되는 각각의 변경 데이터 메시지에서, 새롭게 추가된 데이터 아이템을 패키징하는 것은 큰 메시지 공간을 점유한다. 특히, 많은 양의 데이터 객체(예를 들어, 사진, 비디오와 같은 멀티미디어 파일의 새 롭게 추가된 데이터 아이템들)를 새롭게 추가된 데이터 아이템으로 패키징하기 위해, 상기 데이터 아이템을 각각 송신하기 위한 복수의 메시지로 분할할 필요가 종종 있다. 또한, 클라이언트와 비교하여, 통상적으로 서버는 동기화 프로세스에서 상기 클라이언트에 비해 더 많은 데이터를 동기화할 필요가 있다. 따라서, 본 발명의 일 실시예에서, 상기 서버로부터 상기 클라이언트에게 송신되는 변경된 데이터 아이템들의 수(특히, 새롭게 추가되는 데이터 아이템들)를 감소시키는 것이 고려된다.
도 4는 본 발명의 실시예에 따른 데이터 동기화 처리 방법을 수행하는 주된 원리를 보여주는 흐름도이다. 주된 프로세스는 다음과 같다.
S10: 클라이언트는 서버로부터 송신된 변경된 데이터 아이템에 따라 대응하는 변경을 수행한다.
S12: 상기 클라이언트는 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 GUID를 버퍼링한다.
S14: 만약 현재 동기화 프로세스가 중단된다면, 상기 클라이언트는 다음 번에 상기 동기화 프로세스를 다시 시작한 후 저장을 위해 상기 버퍼링된 GUID를 상기 서버에게 보고한다.
S16: 상기 서버는 상기 저장된 결과에 포함되지 않은 GUID 및 대응하는 변경된 데이터 아이템이 자신의 변경 데이터베이스(modification database)에 인덱스(index)될 수 있는지 여부를 판단하고, 만약 그렇다면 다음의 S18이 실행되고, 그렇지 않다면 다음의 S20이 실행된다.
S18: 상기 서버는 상기 저장된 결과에 따라 자신의 변경 데이터베이스의 상기 저장된 결과에 포함되지 않은 GUID들 및 대응하는 변경된 데이터 아이템들을 상기 클라이언트에게 송신한다. 그리고, S10으로 돌아가고 계속한다.
S20: 상기 현재 데이터 동기화 프로세스는 완료된다.
상술한 프로세스에서, 상기 서버는 상기 클라이언트에 의해 보고된 상기 GUID를 성공적으로 저장하자 마자 성공적인 저장 응답 메시지(successful storage response message)를 상기 클라이언트에게 피드백한다. 상기 클라이언트는 상기 서버에 의해 피드백된 상기 성공적인 저장 응답 메시지를 수신하자 마자 상기 버퍼링된 GUID를 삭제할 수도 있다.
상기 클라이언트가 S12에서 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 상기 GUID를 버퍼링하는 프로세스는 다음과 같은 방법으로 수행될 수도 있다.
상기 클라이언트는 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대해 대응하는 로컬 단일 식별자(local unique identity) LUID를 할당한다.
매핑 관계(mapping relationship)는 상기 할당된 LUID와 상기 서버로부터 송신된 상기 변경된 데이터 아이템의 GUID 사이에서 수립된다. 그리고
상기 수립된 매핑 관계는 버퍼링되고, 따라서, 상기 서버로부터 송신된 상기 GUID는 버퍼링된다.
따라서, 상술한 S14에서, 만약 현재 동기화 프로세스가 중단된다면, 상기 클라이언트는 다음 번에 상기 동기화 프로세스가 다시 시작된 후 상기 버퍼링된 GUID 와 LUID 사이의 상기 매핑 관계를 상기 서버에게 보고할 수도 있다. 따라서, 상기 버퍼링된 GUID는 상기 서버에게 보고된다.
상술한 방법은 상기 변경된 데이터 아이템이 새롭게 추가된 데이터 아이템일 때 더 좋은 기술적 효과들을 보여준다.
본 발명의 상술한 실시예에 따른 데이터 동기화 처리 방법을 수행하는 주된 기술적 원리는 다음과 같다. 데이터 동기화 프로세스를 수행할 때 마다, 비정상적인 중단이 발생하거나 데이터 패킷 PKG4를 수신하는 프로세스 동안이 아닐지라도, 상기 클라이언트는 각각의 변경된 데이터 아이템(새롭게 추가된 데이터 아이템을 예시로 아래에서 설명될 것이다.)에 대해 로컬 변경 조작(local modification operation)이 수행된 후 즉시 상기 클라이언트에 의해 새롭게 추가된 데이터 아이템에 대해 할당된 상기 LUID와 상기 서버로부터 송신된 상기 GUID를 맵핑하고, 상기 매핑 정보를 파일에 저장한다. 따라서, 상기 매핑 정보는 상기 다음 번 동기화 프로세스가 다시 시작될 때 상기 서버에게 송신될 수도 있다. 따라서, 상기 서버는 다수의 동기화 프로세스들에서 새롭게 추가된 데이터 아이템을 반복적으로 송신할 필요가 없다.
따라서, 상기 서버에 많은 양의 새롭게 추가된 데이터 아이템들이 상기 클라이언트와 동기화될 필요가 있고 상기 동기화 프로세스가 여러 번 중단되는 경우에, 본 발명은 중요한 효과들을 가질 수도 있다. 상기 클라이언트는 여러 번 많은 데이터 양의 데이터 동기화를 완수할 수도 있다.
본 발명의 실시예의 상세한 수행은 다음과 같다.
우선, 상기 서버에 저장된 것과 동일한 포맷의 ID 매핑 정보 테이블(도 2에 도시된 종래 기술의 상기 서버 매핑 테이블과 같은)은 또한 상기 클라이언트에서 생성된다. 그리고, 상기 생성된 ID 매핑 정보 테이블은 빈 상태로 설정된다.
데이터 동기화 프로세스를 수행할 때 마다, 비정상적인 중단이 발생하거나 데이터 패킷 PKG4를 수신하는 프로세스 동안이 아닐지라도, 각각의 새롭게 추가된 아이템에 대한 상기 로컬 추가 조작(local adding operation)이 완료될 때 상기 클라이언트는 상기 메모리에 LUID(상기 클라이언트는 로컬 추가 조작이 완료될 때 새롭게 추가되는 데이터 아이템의 LUID를 생성한다)와 GUID(상기 서버로부터 송신된 데이터 패킷 PKG4는 상기 새롭게 추가된 데이터 아이템의 GUID를 포함한다.)의 매핑 정보를 생성하고 상기 매핑 정보를 상기 로컬 ID 매핑 정보 테이블에 저장한다. 만약 상기 현재 동기화 프로세스가 성공하면, 상기 클라이언트는 데이터 패킷 PKG5에 상술한 발생된 ID 매핑 정보를 부호화하고 PKG5를 상기 서버에게 송신하고 성공적인 송신 후 상기 로컬 ID 매핑 정보 테이블을 비우기 위해 리셋한다. 만약 상기 서버로부터 송신된 상기 데이터 패킷 PKG4를 수신하는 프로세스 또는 수반되는 프로세스가 비정상적으로 중단된다면, 상기 로컬 데이터베이스에 성공적으로 추가된 상기 새롭게 추가된 데이터 아이템의 ID 매핑 정보는 상기 클라이언트의 상기 로컬 ID 매핑 정보 테이블에 이미 저장된다.
그 후에 동기화 프로세스가 다시 시작될 때, 상기 클라이언트는 우선 데이터 패킷 PKG3을 통해 상기 로컬 ID 매핑 정보 테이블의 모든 정보(저속 동기화(slow synchronization)는 제외. 저속 동기화는 상기 서버 상태에서 비정상이 발생될 때 상기 서버에 의해 주로 개시되는 동기화의 특별한 종류이다. 그러한 경우에서, 상기 클라이언트는 모든 로컬 변경된 데이터 아이템들을 상기 서버에게 송신한다. 그리고 상기 서버는 이러한 데이터 아이템들과 상기 서버에 현존하는 데이터 아이템들을 하나 하나 비교하고, 상기 서버에 포함되지 않은 데이터 아이템들을 저장한다. 그리고 양측의 데이터 아이템들 사이의 일치를 달성하기 위하여 상기 클라이언트에 존재하지 않고 상기 서버에 존재하는 데이터 아이템들을 상기 클라이언트에게 되돌려 보낸다.)를 송신한다. 상기 클라이언트로부터 송신된 데이터 패킷 PKG3을 수신하지 마자, 데이터 패킷 PKG4를 패키징할 때 자신의 ID 매핑 정보 테이블에 따라 중단 전에 상기 클라이언트와 동기화되었던 새롭게 추가된 데이터 아이템들을 상기 클라이언트에게 송신하는 것을 피하기 위하여, 상기 서버는 PKG3의 상기 ID 매핑 정보에 따라 우선 자신의 ID 매핑 정보 테이블을 완료한다. 이러한 방법에서, 데이터 패킷 PKG4에서 전송되는 데이터 양은 감소될 수도 있다. 그리고, 그에 따라서 상기 클라이언트와 교환하기 위하여 데이터 패킷 PKG4를 다수의 메시지로 분할하는 횟수는 감소될 수도 있다. 그리고, 마지막으로, 데이터 동기화 프로세스의 시간은 감소될 수도 있다. 상기 서버는 상기 클라이언트에게 송신되는 데이터 패킷 PKG4에서 상기 클라이언트에게 피드백되는 ID 매핑 정보 저장 성공 응답 메시지(ID mapping information storage success response message)를 나를 수도 있다. 따라서, 상기 서버로부터 송신된 상기 데이터 패킷 PKG4를 수신하자 마자, 상기 클라이언트는 상기 로컬 ID 매핑 정보 테이블로부터 상기 대응하는 정보를 즉시 취소할 수도 있다. 만약, 상기 현재의 동기화 프로세스가 이 시점에서 비정상적으로 중단 된다면, 상기 클라이언트에서 현재의 새롭게 추가된 데이터 아이템은 새로운 ID 매핑 정보를 생성하고 상기 정보를 상기 클라이언트의 상기 로컬 ID 매핑 정보 테이블에 저장하는 것을 유발할 것이다. 따라서, 그 후에 새로운 동기화 프로세스가 다시 시작할 때 상기 데이터 전송 양은 더 감소될 수도 있다.
이제, 본 발명의 실시예에 따른 데이터 동기화를 처리하는 방법의 상세한 수행이 간략화된 예시에 의해 상세히 설명될 것이다.
세개의 데이터 아이템(다음 표 2에 보여진 같이)이 상기 서버에 새롭게 추가된다면, 어떤 데이터 아이템도 상기 클라이언트에서 변경되지 않는다.
GUID 이름 전화 번호
10093902 Adam 13600001001
10093903 Alice 13600301101
10093904 Mark 13400021001
그리고, 만약 데이터 동기화 프로세스가 개시된다면, 상기 서버는 데이터 패킷 PKG4에 의해 상기 세개의 새롭게 추가된 데이터 아이템들을 상기 클라이언트에게 송신한다. 만약 단지 첫번째 새롭게 추가된 데이터 아이템이 상기 클라이언트의 로컬 데이터베이스에 추가되고 32의 LUID로 할당될 때, 상기 클라이언트에 대한 전원 공급이 상기 서버로부터 송신된 상기 새롭게 추가된 데이터 아이템들을 유사하게 추가하는 프로세스에서 갑자기 중단된다면, 하나의 ID 맵핑 정보 [10093902,32]가 상기 클라이언트의 상기 로컬 ID 매핑 정보 테이블에 생성될 것이다. 반면 다른 두개의 새롭게 추가된 데이터 아이템들은 처리되지 않는다. 그 후에 상기 클라이언트를 다시 시작할 때, 상기 서버와 새로운 데이터 동기화 프로세스가 개시될 것이다. 상기 새롭게 개시되는 동기화 프로세스에서, 상기 클라이언트는 데이터 패킷 PKG3에 의해 우선 상기 저장된 ID 매핑 정보 [10093902,32]를 상기 서버에게 보고한다. 상기 ID 매핑 정보를 수신하자 마자, 상기 서버는 No.10093902의 데이터 아이템은 이미 상기 클라이언트와 동기화되었다는 것을 고려한다. 따라서, 데이터 패킷 PKG4를 송신할 때, 상기 클라이언트와 동기화되지 않은 단지 후자의 두개의 새롭게 추가된 데이터 아이템들이 패키징될 것이다. 따라서, 현재 데이터 동기화 프로세스에서 상기 동기화 데이터 트래픽은 감소된다.
본 발명은 클라이언트 장치를 더 제공한다. 도 5는 본 발명의 실시예에 따른 클라이언트 장치의 주요 구조를 보여주는 블록도이다. 상기 클라이언트 장치는 주로 변경 처리 유닛(modification processing unit)(10), 식별자 버퍼링 유닛(identity buffering unit)(20) 및 식별자 보고 유닛(identity reporting unit)(30)을 포함한다. 각 구성요소의 주요 기능들은 다음과 같다.
상기 변경 처리 유닛(10)은 주로 상기 서버로부터 송신된 변경된 데이터 아이템에 대응하는 변경 프로세스를 수행하는데 적합하다.
상기 식별자 버퍼링 유닛(20)은 주로 상기 서버로부터 송신된 변경된 데이터 아이템에 대응하는 GUID를 버퍼링하는데 적합하다.
상기 식별자 보고 유닛(30)은 주로 현재 동기화 프로세스가 중단된 경우에 다음 번에 동기화 프로세스를 다시 시작할 때 저장을 위해 상기 식별자 버퍼링 유닛(20)에 의해 버퍼링된 상기 GUID를 상기 서버에게 보고하는데 적합하다.
도 6은 본 발명의 실시예에 따른 추가된 식별자 삭제 유닛을 가진 클라이언트의 주요 구조를 보여주는 블록도이다. 상기 새롭게 추가된 식별자 삭제 유닛(identity deleting unit)(40)은 주로 상기 서버에 의해 피드백된 성공 저장 응답 메시지(success storage response message)를 수신하자 마자 상기 식별자 버퍼링 유닛(20)에 버퍼링된 GUID를 삭제하는데 적합하다.
도 7은 본 발명의 실시예에 따른 상기 클라이언트에서 식별자 버퍼링 유닛의 주요 구조를 보여주는 블록도이다. 상기 식별자 버퍼링 유닛은 주로 식별자 할당 서브유닛(identity allocating subunit)(210), 매핑 관계 수립 서브유닛(mapping relationship establishing subunit)(220) 및 매핑 식별자 버퍼링 서브유닛(mapping identity buffering subunit)(230)을 포함한다. 각 구성요소의 주요 기능들은 다음과 같다.
상기 식별자 할당 서브유닛(210)은 주로 상기 서버로부터 송신된 변경된 데이터 아이템에 대응하는 LUID를 할당하는데 적합하다.
상기 매핑 관계 수립 서브유닛(220)은 주로 상기 식별자 할당 서브유닛(210)에 의해 할당된 LUID와 상기 서버로부터 송신된 변경된 데이터 아이템에 대응하는 GUID 사이의 매핑 관계를 수립하는데 적합하다.
상기 매핑 식별자 버퍼링 서브유닛(230)은 주로 상기 서버로부터 송신된 GUID를 버퍼링하기 위하여, 상기 매핑 관계 수립 서브유닛(220)에 의해 수립된 매핑 관계를 버퍼링하는데 적합하다.
유사하게, 상기 식별자 보고 유닛(30)은 상기 서버에게 상기 버퍼링된 GUID를 보고하기 위하여 상기 매핑 식별자 버퍼링 서브유닛(230)에 버퍼링된 상기 LUID와 상기 GUID 사이의 상기 매핑 관계를 상기 서버에게 보고하는데 적합하다.
도 8은 본 발명의 실시예에 따른 서버의 주요 구조를 보여주는 블록도이다.
본 발명의 일 실시예에 따른 서버는 상기 클라이언트에 의해 보고된 GUID를 저장하기 위한 보고된 정보 저장 유닛(reported information storage unit)(310), 상기 GUID는 상기 클라이언트에 의해 업데이트된 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응한다;
자신의 변경 데이터베이스에서 상기 보고된 정보 저장 유닛(320)에 포함되지 않은 GUID 및 대응하는 변경된 데이터 아이템을 검색하기 위한 검색 유닛(searching unit)(320);
상기 검색 유닛에 의해 검색된 GUID 및 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하기 위한 송신 유닛(sending unit)(330);을 포함한다.
또한, 상기 서버는 상기 보고된 정보 저장 유닛(310)이 성공적으로 GUID를 저장할 때 성공적인 저장 응답 메시지를 상기 클라이언트에게 피드백하기 위한 저장 응답 유닛(storage response unit)(340)을 포함할 수도 있다.
본 발명의 실시예의 상세한 수행에서, 상기 보고된 정보 저장 유닛은 상기 클라이언트에 의해 보고된 GUID와 LUID 사이의 매핑 관계에 따라 상기 서버의 매핑 정보 테이블을 업데이트하는데 적합한 매핑 정보 테이블 업데이트 유닛(mapping information table update unit)이다.
상기 언급된 클라이언트와 서버에 기반하여, 본 발명의 실시예는 데이터 동기화 시스템을 더 제공한다. 상기 데이터 동기화 시스템에서, 상기 클라이언트는 상기 서버로부터 송신된 변경된 데이터 아이템에 대해 대응하는 변경을 수행하고, 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 GUID를 버퍼링하며, 상기 중단된 동기화 프로세스를 다시 시작한 후 상기 버퍼링된 GUID를 상기 서버에게 보고하는데 적합하다. 상기 서버는 상기 보고된 정보를 저장하고 자신의 변경 데이터베이스에서 상기 저장 결과에 포함되지 않은 GUID 및 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하는데 적합하다.
추가적인 장점들 및 변경들은 본 발명의 범위를 벗어나지 않고 당업자에 의해 쉽게 생각되어 질 것이다. 따라서, 본 발명에서 포함되는 것으로 의도된 다양한 변경들 및 변화들은 첨부된 특허청구범위 및 그 균등물에 속하는 변경들 및 변화들이다.

Claims (17)

  1. 클라이언트에 의해, 서버로부터 송신된 변경된 데이터 아이템에 대해 대응하는 변경을 수행하는 단계;
    상기 클라이언트에 의해, 상기 변경된 데이터 아이템에 대응하는 상기 서버로부터 송신된 전세계적 단일 식별자(global unique identity)를 버퍼링하는 단계;
    상기 클라이언트에 의해, 현재의 동기화 프로세스가 중단된 경우 다음 번 동기화 프로세스를 다시 시작한 후 상기 버퍼링된 전세계적 단일 식별자를 상기 서버에게 보고하는 단계; 및
    상기 서버에 의해, 상기 보고된 정보를 저장하는 단계, 상기 클라이언트가 대응하는 프로세스를 수행할 수 있도록 자신의 변경 데이터베이스의 저장된 결과에 포함되지 않은 전세계적 단일 식별자 및 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하는 단계를 포함하는 데이터 동기화 처리방법.
  2. 제 1항에 있어서,
    상기 서버에 의해 상기 보고된 정보를 성공적으로 저장한 후, 상기 방법은
    상기 서버에 의해, 성공적인 저장 응답 메시지를 상기 클라이언트에게 피드백하는 단계; 및
    상기 클라이언트에 의해, 상기 서버에 의해 피드백된 상기 성공적인 저장 응답 메시지를 수신하자 마자 상기 클라이언트에 의해 버퍼링된 상기 전세계적 단일 식별자를 삭제하는 단계가 더 포함되는 데이터 동기화 처리방법.
  3. 제 1항에 있어서,
    상기 서버에 의해 상기 보고된 정보를 성공적으로 저장한 후, 상기 방법은
    상기 서버 자신의 변경 데이터베이스에 인덱스될 수 있는 상기 저장된 결과에 포함되지 않는 전세계적 단일 식별자 및 대응하는 변경된 데이터 아이템이 없는 경우에 상기 데이터 동기화 프로세스를 종료하는 단계가 더 포함되는 데이터 동기화 처리방법.
  4. 제 1항에 있어서,
    상기 변경된 데이터 아이템에 대응하는 상기 서버로부터 송신된 전세계적 단일 식별자를 버퍼링하는 단계는
    상기 클라이언트에 의해, 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 로컬 단일 식별자(local unique identity)를 할당하는 단계;
    상기 클라이언트에 의해, 상기 로컬 단일 식별자와 상기 변경된 데이터 아이템에 대응하는 상기 서버로부터 송신된 상기 전세계적 단일 식별자 사이의 매핑 관계를 생성하는 단계;
    상기 클라이언트에 의해, 상기 생성된 매핑 관계를 버퍼링하는 단계를 포함하는 데이터 동기화 처리방법.
  5. 제 4항에 있어서,
    상기 클라이언트에 의해 상기 버퍼링된 전세계적 단일 식별자를 상기 서버에게 보고하는 단계는 상기 버퍼링된 매핑 관계를 상기 서버에게 보고하는 단계에 의해 수행되는 데이터 동기화 처리방법.
  6. 제 5항에 있어서,
    상기 서버에 의해 상기 보고된 정보를 저장하는 단계는 상기 보고된 매핑 관계에 따라 상기 서버에 의해 매핑 정보 테이블을 업데이트하는 단계를 포함하는 데이터 동기화 처리방법.
  7. 제 6항에 있어서,
    상기 서버에 의해 상기 매핑 정보 테이블을 업데이트하는 단계 후, 상기 방법은
    매핑 정보 저장 성공 응답 메시지를 상기 클라이언트에게 피드백하는 단계; 및
    상기 서버에 의해 피드백된 상기 매핑 정보 저장 성공 응답 메시지를 수신하자 마자 상기 클라이언트에 의해 상기 버퍼링된 매핑 관계를 삭제하는 단계를 더 포함하는 데이터 동기화 처리방법.
  8. 제 4항에 있어서,
    상기 클라이언트에 의해, 상기 버퍼링된 매핑 관계를 상기 서버에게 보고하는 단계 및 현재 동기화 프로세스가 성공한 경우에 상기 버퍼링된 매핑 관계를 상기 클라이언트로부터 제거하는 단계가 더 포함되는 데이터 동기화 처리방법.
  9. 제 1항 내지 제 8항 중 어느 한 항에 있어서,
    상기 변경된 데이터 아이템은 새롭게 추가된 데이터 아이템인 데이터 동기화 처리방법.
  10. 서버로부터 송신된 변경된 데이터 아이템에 대해 대응하는 변경을 수행하는데 적합한 변경 처리 유닛;
    상기 변경된 데이터 아이템에 대응하는 상기 서버로부터 송신된 전세계적 단일 식별자(global unique identity)를 버퍼링하는데 적합한 식별자 버퍼링 유닛; 및
    현재 동기화 프로세스가 중단된 경우 다음 번 동기화 프로세스를 다시 시작한 후 상기 식별자 버퍼링 유닛에 의해 버퍼링된 상기 전세계적 단일 식별자를 상기 서버에게 보고하는데 적합한 식별자 보고 유닛을 포함하는 클라이언트.
  11. 제 10항에 있어서,
    상기 서버에 의해 피드백된 성공적인 저장 응답 메시지를 수신하자 마자 상기 식별자 보고 유닛에 버퍼링된 상기 전세계적 단일 식별자를 삭제하는데 적합한 식별자 삭제 유닛을 더 포함하는 클라이언트.
  12. 제 10항에 있어서,
    상기 식별자 버퍼링 유닛은
    상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대해 대응하는 로컬 단일 식별자(local unique identity)를 할당하는데 적합한 식별자 할당 서브유닛;
    상기 식별자 할당 서브유닛에 의해 할당된 상기 로컬 단일 식별자와 상기 변경된 데이터 아이템에 대응하는 상기 서버로부터 송신된 상기 전세계적 단일 식별자 사이의 매핑 관계를 생성하는데 적합한 매핑 관계 생성 서브유닛; 및
    상기 매핑 관계 생성 서브유닛에 의해 생성된 상기 매핑 관계를 버퍼링하는데 적합한 매핑 식별자 버퍼링 서브유닛을 포함하는 클라이언트.
  13. 제 12항에 있어서,
    상기 식별자 보고 유닛은 상기 매핑 식별자 버퍼링 서브유닛에 버퍼링된 상기 매핑 관계를 상기 서버에게 보고하는데 적합한 매핑 식별자 보고 유닛인 클라이언트.
  14. 클라이언트에 의해 보고된, 서버로부터 송신된 상기 클라이언트에 의해 업데이트된 변경 데이터 아이템에 대응하는 전세계적 단일 식별자(global unique identity)를 저장하는데 적합한 보고된 정보 저장 유닛;
    상기 서버 자신의 변경 데이터베이스의 상기 보고된 정보 저장 유닛에 포함되지 않은 상기 전세계적 단일 식별자와 대응하는 변경된 데이터 아이템을 검색하는데 적합한 검색 유닛;
    상기 검색 유닛에 의해 검색된 상기 전세계적 단일 식별자와 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하는데 적합한 송신 유닛을 포함하는 서버.
  15. 제 14항에 있어서,
    상기 보고된 정보 저장 유닛에 의해 상기 전세계적 단일 식별자를 성공적으로 저장하자 마자 성공적인 저장 응답 메시지를 상기 클라이언트에게 피드백하는데 적합한 저장 응답 유닛을 더 포함하는 서버.
  16. 제 14항에 있어서,
    상기 보고된 정보 저장 유닛은 상기 클라이언트에 의해 보고된 상기 전세계적 단일 식별자와 상기 로컬 단일 식별자 사이의 상기 매핑 관계에 따라 상기 서버의 매핑 정보 테이블을 업데이트하는데 적합한 매핑 정보 테이블 업데이트 유닛인 서버.
  17. 클라이언트 및 서버를 포함하고,
    상기 클라이언트는 상기 서버로부터 송신된 변경된 데이터 아이템에 대한 대 응하는 변경을 수행하고, 상기 서버로부터 송신된 상기 변경된 데이터 아이템에 대응하는 전세계적 단일 식별자를 버퍼링하고, 중단된 동기화 프로세스를 다시 시작하자 마자 상기 버퍼링된 전세계적 단일 식별자를 상기 서버에게 보고하는데 적합하며;
    상기 서버는 상기 보고된 정보를 저장하고 자신의 변경 데이터베이스의 상기 전세계적 단일 식별자 및 상기 대응하는 변경된 데이터 아이템을 상기 클라이언트에게 송신하는데 적합하고; 상기 전세계적 단일 식별자는 상기 저장 결과에 포함되지 않는 데이터 동기화 시스템.
KR1020087013923A 2005-11-16 2006-11-16 데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버및 그것의 데이터 동기화 시스템 KR20080068110A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CNA2005101153927A CN1852309A (zh) 2005-11-16 2005-11-16 数据同步处理方法及其客户端
CN200510115392.7 2005-11-16

Publications (1)

Publication Number Publication Date
KR20080068110A true KR20080068110A (ko) 2008-07-22

Family

ID=37133777

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087013923A KR20080068110A (ko) 2005-11-16 2006-11-16 데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버및 그것의 데이터 동기화 시스템

Country Status (6)

Country Link
US (1) US20080270485A1 (ko)
EP (1) EP1940107A4 (ko)
JP (1) JP4792505B2 (ko)
KR (1) KR20080068110A (ko)
CN (2) CN1852309A (ko)
WO (1) WO2007056954A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9134989B2 (en) 2002-01-31 2015-09-15 Qualcomm Incorporated System and method for updating dataset versions resident on a wireless device
US20040068724A1 (en) * 2002-08-30 2004-04-08 Gardner Richard Wayne Server processing for updating dataset versions resident on a wireless device
US9092286B2 (en) 2002-12-20 2015-07-28 Qualcomm Incorporated System to automatically process components on a device
US8626146B2 (en) 2003-10-29 2014-01-07 Qualcomm Incorporated Method, software and apparatus for performing actions on a wireless device using action lists and versioning
CN101192229B (zh) * 2006-12-01 2010-09-22 阿里巴巴集团控股有限公司 一种同步数据的方法及系统
KR101134214B1 (ko) 2007-06-19 2012-04-09 콸콤 인코포레이티드 무선 환경에서 데이터세트 동기화를 위한 방법들 및 장치
US7991740B2 (en) * 2008-03-04 2011-08-02 Apple Inc. Synchronization server process
CN102594874B (zh) * 2008-06-20 2014-12-17 华为技术有限公司 一种同步处理方法和装置
CN101610225B (zh) * 2008-06-20 2012-01-25 华为技术有限公司 一种同步处理方法、系统和装置
US20100268784A1 (en) * 2009-04-17 2010-10-21 Marc Henness Data synchronization system and method
CN101883419A (zh) * 2009-05-06 2010-11-10 中兴通讯股份有限公司 客户端信息的同步方法和系统
CN101997829A (zh) * 2009-08-18 2011-03-30 华为终端有限公司 一种分级数据同步的方法和设备
CN102238223B (zh) * 2010-05-06 2012-10-10 清华大学 一种面向移动设备的网络化个人数据管理方法
CN102594598A (zh) * 2012-02-16 2012-07-18 浪潮(北京)电子信息产业有限公司 一种日志管理系统及其实现方法
CN102724319B (zh) * 2012-06-20 2015-03-18 新浪网技术(中国)有限公司 一种数据同步方法、相关存储服务器及系统
CN103338144B (zh) * 2013-05-30 2016-06-22 华为软件技术有限公司 一种会话数据同步方法和装置
CN103347005B (zh) * 2013-06-19 2016-08-10 北京奇虎科技有限公司 一种控制数据上报的方法以及客户端设备和服务器设备
CN103475721B (zh) * 2013-09-12 2016-09-14 广东电子工业研究院有限公司 一种数字资产更新系统的数字资产更新方法
CN105337996B (zh) * 2015-11-30 2018-08-03 北京奇艺世纪科技有限公司 一种数据处理方法及系统
US10311082B2 (en) * 2015-12-21 2019-06-04 Sap Se Synchronization of offline instances
CN112231324B (zh) * 2019-06-26 2023-03-24 金篆信科有限责任公司 一种实现增量数据比对的系统及方法
CN110324760B (zh) * 2019-06-28 2020-10-27 安徽威斯贝尔智能科技有限公司 一种音频处理器及其控制方法
CN111460028A (zh) * 2020-03-09 2020-07-28 拉扎斯网络科技(上海)有限公司 数据传输方法、数据传输装置、存储介质和电子设备
CN115082228A (zh) * 2021-03-10 2022-09-20 上海子午线新荣科技有限公司 一种初次镜像和增量传输的数据方式
WO2024092661A1 (zh) * 2022-11-03 2024-05-10 北京小米移动软件有限公司 模型的标识方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6680952B1 (en) * 1999-06-01 2004-01-20 Cisco Technology, Inc. Method and apparatus for backhaul of telecommunications signaling protocols over packet-switching networks
JP2001117801A (ja) * 1999-10-22 2001-04-27 Sharp Corp データベース同期処理装置及びデータベース同期処理プログラムを記録した記録媒体
JP2002152821A (ja) * 2000-11-08 2002-05-24 Nec Saitama Ltd 携帯端末装置のプログラム更新方法および携帯端末装置
US6941326B2 (en) * 2001-01-24 2005-09-06 Microsoft Corporation Accounting for update notifications in synchronizing data that may be represented by different data structures
CN1469244A (zh) * 2002-07-19 2004-01-21 文化传信科技(澳门)有限公司 文件下载方法及系统
WO2004023233A2 (en) * 2002-09-03 2004-03-18 Nokia Corporation Method, device and system for synchronizing of data providing for the handling of an interrupted synchronization process
KR100557192B1 (ko) * 2004-04-06 2006-03-03 삼성전자주식회사 서버와 클라이언트간에 데이터 동기화 시 비정상 종료된경우 데이터 전송 방법 및 그 시스템.

Also Published As

Publication number Publication date
CN1852309A (zh) 2006-10-25
US20080270485A1 (en) 2008-10-30
JP2009516273A (ja) 2009-04-16
JP4792505B2 (ja) 2011-10-12
WO2007056954A1 (fr) 2007-05-24
CN101160908A (zh) 2008-04-09
EP1940107A4 (en) 2009-03-11
EP1940107A1 (en) 2008-07-02

Similar Documents

Publication Publication Date Title
KR20080068110A (ko) 데이터 동기화 처리 방법 그리고 클라이언트 단말기, 서버및 그것의 데이터 동기화 시스템
CN107465767B (zh) 一种数据同步的方法和系统
JP4732661B2 (ja) クライアントのデータベースとサーバーのデータベースとを同期させる方法
EP2204964A1 (en) Method and device for realizing data synchronization
EP3063925B1 (en) Synchronizing event history for multiple clients
JP4943512B2 (ja) 通知メッセージ処理方法および装置
CN111901705B (zh) 一种olt设备的omci功能虚拟化系统
US7840528B2 (en) System and method for integrating continuous synchronization on a host handheld device
WO2021051747A1 (zh) 数据更新方法、系统、装置、电子设备及计算机存储介质
KR100728076B1 (ko) 인터럽트된 동기화 프로세스의 처리를 제공하는 데이터를동기화하는 방법, 장치 및 시스템
WO2017162079A1 (zh) 一种数据的同步方法和装置
CN112666877B (zh) 一种物联网的控制系统
CN108076081B (zh) 一种业务数据的同步方法、装置和系统
CN104967653A (zh) 数据同步拉取、下发方法和装置
CN113259476B (zh) 消息推送方法及系统
CN102594874B (zh) 一种同步处理方法和装置
CA2522477C (en) System and method for integrating continuous synchronization on a host handheld device
CN113342764A (zh) 不同云端服务器之间的数据同步方法及装置
US7779299B2 (en) Efficiently re-starting and recovering synchronization operations between a client and server
CN101489097B (zh) 一种数字电视管理系统及方法
CN101867526A (zh) 一种实现重定向的方法和系统
CN101711064B (zh) 修改信息的管理方法及终端
CN113810266B (zh) 针对消息对象的重试操作方法、装置、设备及存储介质
JP2015041146A (ja) サーバ装置、クライアント装置、システム、情報処理方法及びプログラム
CN113326275B (zh) 一种用于路由器的数据老化方法与系统

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B601 Maintenance of original decision after re-examination before a trial
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20100319

Effective date: 20120423