8

Как FTP-серверы обрабатывают одновременный доступ к одному и тому же файлу, т.е. если один пользователь обновляет файл, а другой читает тот же файл? Должен ли я беспокоиться о получении поврежденных данных? Это зависит от FTP-сервера или даже от операционной системы?

5 ответов5

2

Я думаю, что сам FTP-сервер не справляется с этим.
Базовая файловая система будет управлять доступами, задействованными здесь.

Если чтение начинается перед записью, чтение обычно получает более старую версию.

Вы должны получить ответ на этот вопрос на основе
обработка файловой системы сервера для перезаписываемого файла.

1

Я думаю, что реализация FTP просто не справляется с этим, и ОС будет зависеть от того, как она работает, Windows может заблокировать файл, Linux выдаст вам частичные данные.

Да, вы должны беспокоиться, особенно при высокой нагрузке. Решения, которые я нашел в прошлом, были в лучшем случае схематичными, включая различные папки для загрузки / выгрузки и процесс мониторинга для копирования из загрузки в загрузку, когда файл полностью загружен.

Это ухудшается, поскольку файлы длиннее и / или люди загружаются из медленных соединений.

0

Я почти уверен, что у тебя могут быть проблемы. Попробуй это:

Начните загрузку большого файла на ваш FTP-сервер. Обновите представление папки, в которую он загружается, и вы увидите, что размер файла увеличивается и загрузка продолжается.

Если вы попробуете это с файлом .mp3. Вы можете получить к нему доступ через браузер и увидеть, что он будет воспроизводиться только до той точки, которая в данный момент загружена.

Вот почему такие программы, как Dreamweaver, имеют систему регистрации заезда / отъезда. Так что, если кто-то работает над файлом .html, кто-то другой не может загрузить более старую версию или вызвать проблемы такого рода.

Я не думаю, что FTP использует какие-либо временные файлы или очереди ...

0

Всякий раз, когда я пытаюсь получить доступ к странице, которую я еще не загрузил, я получаю "сброс соединения во время загрузки". Я думаю, что это действительно зависит от программного обеспечения, хотя.

-1

Использование программного обеспечения Revision Control поможет в этом случае, взгляните на Git и SVN, обратите внимание, что есть два основных типа (централизованный и распределенный) и множество других приложений в дополнение к этим двум.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .