размышление на тему http, ftp и p2p
Мысль реализовать ниже описанное елозит по моему мозгу довольно давно....
Вводная: у диалапщиков (и не только) иногда случается следующая
проблема: качаем здоровый файл (архив или документ), в итоге получаем
локальную копию файла, но оказывается, что она битая - т.е. где-то в
каком-то месте что-то не срослось, передалось не так и т.д. и т.п.
Получается, что нужно качать файл снова, а если он большой, то это долго
и в итоге упирается в проблему траты лишних денег (тем более если
говорить про скачанные мегабайты)
Предложение: хотелось бы иметь такой сервис (наверное, требуется должны
быть серверная и клиентская части): некоторой тулзе я скармливаю битый
файл и размер "кластера", тулза логически разбивает файл на "кластера" и
вычисляет CRC (MD5 и пр.) для каждого файла, потом мы посылаем
результаты вычислений на сервер, а также файл (URL) и размер "кластера".
Серверная часть также разбивает файл на "кластера", вычисляет CRC,
сравнивает полученные CRC cо своими. И высылает ответ клиенту. В итоге,
клиентская тулза выводит пользователю, что ему нужно скачать
определенный "кластер" (или несколько) из сети снова (начальное и
конечное смещение) или даже сама предлагает скачать их и скачивает.
Итог: Данный сервис можно реализовать как довески к http и ftp, p2p. В
зависимости от файла (по размеру, для каждого разный) и пропускной
ширины канала должна быть свой размер "кластера".
Идея полезная, но только для UDP-соединений. Для ТСР вероятность ошибки
очень мала (ее практически нет, вроде бы, потому что с каждым пакетом идет
контрольная сумма). Ну, я не раз выкачивал диалапом файлы под 60 мб и MD5
сумма сходилась. Тут нетрудно посчитать мизерность ошибки...
А вообще - да, идея хорошая. Надо расширять *tp - протоколы...
-*Информационный канал Subscribe.Ru
Подписан адрес:
Код этой рассылки: comp.soft.linux.kirovlug
Написать в лист: mailto:comp.soft.linux.kirovlug-list@subscribe.ru
Отписаться: mailto:comp.soft.linux.kirovlug--unsub@subscribe.ru?subject=comp.soft.linux.kirovlug
http://subscribe.ru/ http://subscribe.ru/feedback