2013-02-11 3 views
0

기본적으로 SYNC 기능을 구현하려고합니다. 여기서 인터넷 연결을 사용할 수없는 경우 데이터는 로컬 sqlite 데이터베이스에 저장됩니다. 인터넷 연결이 가능할 때마다 SYNC가 동작합니다.다른 NSMutableURLRequest 성공의 연속에서 NSMutableURLRequest

이제 예를 들어 말해보십시오. 5 개의 레코드가 로컬에 저장되고 인터넷 연결이 가능합니다. 서버를 업데이트하고 싶습니다. 그래서 현재 내가하는 일은 다음과 같습니다 :

  1. 첫 번째 레코드를 서버에 게시하십시오.
  2. 첫 번째 요청이 성공할 때까지 기다립니다.
  3. 루틴에 로컬 NSNotification을 게시하면 첫 번째 레코드가 서버 &의 두 번째 요청에 대해 업데이트 될 수 있습니다.
  4. 루틴 화재 번째 포스트 서버에 요청 등등 ...

질문 : SYNC 기능을 구현하기 위해이 방법의 권리와 충분히 효율적입니다; 또는 내가 그것으로 바꾸어야하는 무엇인가?

참고 : SYNC 레코드는 숫자에 제한이 없습니다.

답변

1

글쎄 저장하는 데이터의 요구 사항에 따라 다릅니다. 백업을위한 것이라면 괜찮을 것입니다. 5 개의 레코드가 어떻게 든 서로 종속되어 있고 다른 장치/응용 프로그램에서이 데이터에 액세스해야하는 경우 서버 측에서 5 개의 레코드가 모두 기록되었는지 또는 없음인지주의해야합니다. 그렇지 않으면 3 개만 쓰면 불일치 상태가됩니다. 다른 사용자가 서버에서 동시에이 데이터를 읽고 쓰는 경우 작성하기 전에 모든 레코드에 대해 일종의 잠금을 구현하고 누군가 다른 사람이 변경 사항을 덮어 쓰려고 할 때 충돌을 처리하는 방법을 결정해야합니다.

+0

당신은 원자 성과 동시성을 의미합니다. 알겠습니다. – viral

+0

답변이 너무 많아서 불편을 끼쳐 드려 죄송합니다. 그 개념을 알고 계신지 모르겠습니다. 기꺼이 도와 드리겠습니다. –

관련 문제