Acesso FTP simultâneo


8

Como os servidores FTP lidam com o acesso simultâneo ao mesmo arquivo, ou seja, se um usuário está atualizando um arquivo enquanto outro está lendo o mesmo arquivo? Devo me preocupar com a obtenção de dados corrompidos? Depende do servidor FTP ou mesmo do sistema operacional?

Respostas:


2

Eu acho que o próprio servidor FTP não lida com isso.
O sistema de arquivos subjacente gerenciará os acessos envolvidos aqui.

Se uma leitura iniciar antes de uma gravação, a leitura normalmente obterá a versão mais antiga.

Você deve obter a resposta para esta pergunta com base no
tratamento do sistema de arquivos do servidor para um arquivo que será substituído.


1

Acho que as implementações de FTP simplesmente não lidam com isso, e o sistema operacional varia de acordo com o que acontece, o Windows pode bloquear o arquivo, o linux fornecerá dados parciais.

Sim, você deve estar preocupado, especialmente sob alto uso. As soluções que encontrei no passado eram esboçadas, na melhor das hipóteses, incluindo pastas diferentes para upload / download e um processo de monitor para copiar de upload para download quando o arquivo é totalmente carregado.

Isso piora à medida que os arquivos são mais longos e / ou as pessoas carregam de conexões lentas.


0

Tenho certeza que você pode ter problemas. Tente o seguinte:

Inicie o upload de um arquivo grande para o seu servidor FTP. Atualize a visualização da pasta para a qual está sendo carregada e você verá que o tamanho do arquivo aumenta e o upload progride.

Se você tentar isso com um arquivo .mp3. Você pode acessá-lo através do navegador e ver que ele será reproduzido apenas até o ponto em que foi carregado atualmente.

É por isso que programas como o Dreamweaver têm um sistema de check-in / check-out. Portanto, se alguém estiver trabalhando em um arquivo .html, alguém não poderá fazer upload de uma versão mais antiga ou causar esse tipo de problema.

Acho que o FTP não usa nenhum tipo de arquivo temporário ou de fila ...


Corrigir. Uma vez descompactei um arquivo que na verdade não foi transferido completamente. Mensagens de erro estranho, é claro ...
Arjan

Acho que atualizar e arquivo existente é diferente de criar um novo arquivo (a leitura não será iniciada antes que a criação aconteça e, em seguida, seguirá a gravação). Se a leitura ultrapassar a gravação, você obtém leituras incompletamente concluídas. Um arquivo ZIP incompleto mostrará corrupção. Um mp3 incompleto será reproduzido até o primeiro ponto de corrupção (eu acho). Essa é uma diferença nos formatos de arquivo.
nik

Uma modificação / substituição de um arquivo existente deve identificar uma leitura em andamento e criar uma nova versão para gravação, mantendo a mais antiga para a leitura concluir. É por isso que digo na minha resposta que um sistema de arquivos típico daria uma cópia mais antiga do arquivo nesse caso.
nik

0

Sempre que tento acessar uma página que ainda não carreguei, recebo uma "redefinição de conexão durante o carregamento". Eu acho que realmente depende do software.


-1

O uso de um software de controle de revisão ajudaria, neste caso, a dar uma olhada no Git e no SVN ; observe que existem dois tipos principais (centralizado e distribuído) e muitos outros aplicativos além desses dois.


Esta resposta não tem nada a ver com a questão ...
Kristian

As operações nesses sistemas são atômicas; não há como obter um arquivo incompleto, o problema resolvido.
Shadok

Sim, eu sei, mas a pergunta era especificamente sobre servidores FTP
Kristian
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.