@CloudMonster

Компьютер — Сервер: как реализовать синхронизацию файлов?

Здравствуйте.
Задача такая:
Реализовать на java, php или с++ синхронизацию файлов между компьютером пользователя и папкой пользователя на сервере. Готовые open-source sync прошу не предлагать. Хочется научится самому.

Допустим, на сервере есть папка userfiles, в котором имеются папки пользователей, название которых их email
Ex:
userfiles
- akaldygulov@gmail.com
- amankeldi@gmail.com
- aibekkuralbayev@gmail.com
  • Вопрос задан
  • 2861 просмотр
Решения вопроса 1
На одной стороне создаете список пар (хеш_имени;хеш_контента) и на другой стороне такой же список пар. Которая-то из сторон отправляет свой список другой стороне.

Получатель ищет
а) хеши_имен, которых нет у него (и запрашивает такие файлы себе)
б) хеши_имен, которых нет у отправителя (и отправляет такие файлы ему)
в) хеши_имен, которые есть и там и тут, но не совпадают их хеши_контента (тут нужно решить у кого более свежая версия и соответственно направление обмена)

Если хеш криптостойкий, то можно еще обнаруживать факт переименования файла - хеш_контента не изменится, а хеш_имени изменится. Ну и вообще много разных вопросов в части снижения трафика между сервером и клиентом можно придумать (например, некую аналогию rsync для списка хешей).
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Ну на php обычно реализовать авторизацию прием и хранение файлов.
А вот на с++ как то сканировать папку на компьютере и через http общаться с сервером.
Так как то(
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы