sync dispositivo móvel com um servidor local

2

Olá, tenho um cenário de sincronização em dois sentidos:

  • vários dispositivos cliente do Archos Android (pretendemos tem até 100 deles) que precisam atualizar arquivos pequenos (pequenos logs de txt) para um servidor central
  • servidor central (pode ser win ou linux) que precisa distribuir novo conteúdo (alguns arquivos grandes como fotos ou vídeo) para todos os clientes android
  • o servidor e todos os dispositivos estão em wi-fi
  • no final do dia, qualquer cliente Android será conectado via USB às suas docas para posterior sincronização.

Eu tenho que projetar e implementar o sistema de sincronização para esse cenário.

Eu pensei em usar Git ou UNISON de alguma maneira automatizada e investigou algumas horas sobre eles. A comunicação precisa ser bidirecional e, quando o servidor distribui seu conteúdo para todos os dispositivos, a comunicação não precisa ser interrompida.

  • você tem alguma dica / pros / cons / cenário real sobre o GIT para este fim?
  • A natureza descentralizada do Git poderia ajudar de alguma forma? Em outras palavras, um dispositivo atualizado pode se tornar um mestre para outros clientes em uma espécie de solução em rede mesh de múltiplos mestres?
  • você tem algum outro protocolo / tecnologia para me sugerir?

Por favor, note que uma vez que uma conexão com a internet não estará disponível, um Dropbox não é uma opção para mim.

    
por microspino 06.07.2010 / 17:06

1 resposta

1

Não restrito / relacionado necessariamente ao Android: estou usando o Git para sincronizar meu diretório pessoal, meus documentos e muitas outras coisas. Funciona bem. Às vezes um pouco 'muito' poderoso, mas eu tenho alguns scripts de atalho para as tarefas mais comuns (como puxar automaticamente, adicionar novos arquivos, confirmar com alguma mensagem fictícia, empurrar para algum servidor - tudo com apenas um único comando). E eu gosto de ter a história completa. Por isso, se eu não quiser manter algumas coisas, o Git lhe dá todo o poder para apenas proteger o que você quer dele.

A natureza descentralizada do Git é muito útil para mim. Eu ainda tenho um servidor, principalmente como backup e para ter alguma fonte onde posso obter meus dados quando não tenho nenhum dos meus sistemas em mãos. Mas muitas vezes também sincronizo diretamente entre minhas máquinas. Tudo isso não é problema através do Git, você pode usá-lo da maneira que quiser.

    
por 06.07.2010 / 17:15