2014-10-31 3 views
-2

온라인으로 사용되지만 오프라인에서도 사용되는 웹 애플리케이션을 유지 관리하고 개발합니다.
(오프라인 의미는 데이터베이스 용 MySQL을 사용하는 30 가지 랩탑에 설치됨)동기화 프로세스에 대한 논리적 딜레마

오프라인 버전을 사용하는 사람들에게 동기화 시스템이 있습니다.
이 동기화는 새로 업데이트 된 정보를 라이브 버전에서 오프라인 버전으로 교환하며 그 반대의 경우도 마찬가지입니다.

가끔씩 동기화가 작동하고 때로는 작동하지 않는 문제가 반복됩니다.
는 (중복 키가 이미 존재에 대해 종종 있습니다.)

내가 ID (기본 키)이있는 약속 테이블 있습니다.
오프라인으로 만든 약속이 이미 온라인 상 존재하는 약속과 동일하고 그 반대 인 경우 어떻게 결정하겠습니까?
정확한 약속의 오프라인 및 온라인 ID가 동일하지 않습니다.

희망은 충분합니다.

답변

0

오프라인과 온라인 ID가 다른 이유는 무엇입니까? 동기화 시스템은 동일한 정보를 가진 동일한 행을 온라인 데이터베이스에서 /로 복사하지 않습니다.

어쨌든 오프라인 ID를 생성하기위한 논리를 적어도 부분적으로 오프라인 스테이션/사용자에게 바인딩 할 수있는 방식으로 구현해야합니다.

예를 들어

:

"useridWhoCreatedTheAppointment + UserLocalCounter" 

또는

이런 식으로
"useridWhoCreatedTheAppointment + datetimeToString(ddMMyyHHmmssSSS)" 

당신은 어떤이 없습니다 : 오프라인과 새 약속을 저장하려면, 다음과 같이 제작 된 ID를 구축 중복 키.