2014-06-12 5 views
0

데이터가 기기에 로컬로 저장되는 안드로이드 기반 애플리케이션 중 하나 인 Google 드라이브/Dropbox와 같은 앱 & 서버와 동기화 데이터를위한 메커니즘을 개발하려고합니다. 서버와 데이터를 동기화합니다.Java/Android의 Google 드라이브와 같은 동기화 메커니즘

가지 생각 -

변화와 전화 웹 서비스를 백그라운드에서 실행되며 변경 특정에 확인

3) 알람 설정을 확인

2) 배경 서비스를 찾습니다 1) 옵저버 모든 데이터를 서버와 동기화하고 동기화하십시오.

나는 어떤 옵션을 선택하지 않았습니까? 저는 전문가에게이 정보를 보여주고 싶습니다. 그리고 최고의 지침서에서 동기화 메커니즘을 얻을 수있는 지침을 얻고 싶습니다. 내 애플 리케이션을위한 방법.

모든 제안을 환영합니다.

답변

2

동일한 줄로 생각하면 서버가 동일한 정보 집합과 데이터 일관성에 대해 쿼리 된 횟수 사이의 균형을 유지해야합니다.

이 경우 서버의 데이터가 변경된 기기에 내 서버에서 GCM 메시지가 전송되면 해당 업데이트 메시지 (NO Notification genereated)에 대한 개수가 유지됩니다. 이 카운트가 minimum-threshold-count-value를 초과하면 즉시 업데이트를 요청합니다. 그렇지 않으면이 카운트가 여전히 임계 값 카운트 값보다 작 으면 특정 기간 동안 임계 값 대기 기간이라고 부르면 업데이트를 요청합니다.

UPDATE는 동기화 어댑터 및 서비스를 사용합니다. This link은 기본 사항을 설명합니다.

희망 사항은 도움이 되길 바랍니다.

1
...so that I can achieve the sync mechanism in best possible way for my app 

글쎄, 최적의 메커니즘은 개발중인 응용 프로그램의 종류에 달려 있습니다. 또한, 귀하의 옵션 1과 2는 구현 변경 사항을 제외하고는 저와 매우 유사합니다. 그러나 장치 데이터가 얼마나 자주 변경되는지는 중요한 문제입니다. 인증 메커니즘이있는 경우 앱에 로그인 할 때마다 동기화를 구성 할 수 있습니다. 기밀 데이터의 경우와 마찬가지로 동기화가 즉시 이루어져야합니다.

사용자 역할에 따라 인증 및 권한 부여를 기반으로 데이터를 잘 관리하는 경우 데이터를 동기화해야합니다. 예를 들어 한 사용자가 아직 동기화되지 않은 엔티티를 업데이트하고 다른 사용자가 업데이트하려고 시도하면 첫 번째 사용자는 변경 사항이 동기화되지 않았거나 손실 된 것을 보게됩니다.

이 작업을 수행하는 가장 좋은 방법은 특정 시간 간격 또는 모든 로그인 시간에 트리거를 동기화하는 것입니다. (여전히 내가 말했듯이 앱에 달려있다.)

희망 사항은 귀하의 의문의 일부 또는 전부를 해결할 수 있기를 바랍니다.

+0

이전에 선택한 커뮤니티 위키를 실수로 같은 대답을 다시 추가하십시오. 불편을 드려 죄송합니다. :-) – Ved