Клиент-сервер
От: KinK  
Дата: 01.02.06 10:11
Оценка:
Задача:

Клиент-сервер

На сервере хранится некоторый (довольно большой) набор файлов.

Клиент тоже хранит некоторый набор файлов (ни как не связанный с файлами сервера).

Нужно определить (с возможной, но очень маленькой ошибкой) есть ли у сервера файл идентичный по содержимому определённому файлу клиента. Причем желательно минимизировать пару (вероятность ошибки и объём передаваемых данных между клиентом и сервером). Если на сервере такого файла нет, то может быть принято решение о закачке этого файла клиентом на сервер. Если данный файл на сервере есть, то клиент может проинформировать другого клиента, что данный файл есть на этом сервере и второй клиент себе его от туда скачает.

Замечания:
1.Файлы могут быть размером от нескольких байт, до десятков гигабайт.
2.Данное действие может выполняться довольно часто.
3.Неизвестно какие файлы будут чаще обрабатываться маленькие, средние или громадные, хотя скорей всего небольшие файлы будут использоваться чаще.
4.К одному серверу могут подключаться несколько разных клиентов, а так же клиент может подключаться к нескольким серверам.
5.На одной машине может быть установлен как сервер, так и клиент, работающие с одними и теме же файлами.
6.Вероятность ошибки должна быть довольно низкой. Например: одна на миллион файлов, а лучше ещё меньше.

Есть идеи как это реализовать?

У меня некоторые идеи есть, но сначала хотелось бы услышать другие мнения.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.