Автор Гілка: Копіювати файл одразу ж кількох джерел  (Прочитано 2324 раз)

Відсутній Сашко Кравчук

  • Графоман
  • ****
  • дописів: 490
  • Карма: +0/-0
  • Debian GNU/Linux
Мої вітання!

Наприклад, більшість Torrent та DC++ клієнтів мають можливість вантажити файл одразу ж у кількох користувачів. Де можна почитати про ці алгоритми? Знаю, що можна дивитись у сирці. Так воно і робитиметься для кращого розуміння, але хтів би почитати щось файне по цій темі, якщо таке є.

Гадаю, українською ніц не знайду, а, як сформувати запит ґуґлю англійською не знаю. Буду вдячний за допомогу.
« Змінено: 2008-06-07 17:40:26 від Olexandr_Kravchuk »

Відсутній raven

  • Новачок
  • *
  • дописів: 0
  • Карма: +0/-0
  • linux kettle

Відсутній Веприк

  • Дописувач
  • **
  • дописів: 58
  • Карма: +0/-0
  • Pythonic man
Мої вітання!

Наприклад, більшість Torrent та DC++ клієнтів мають можливість вантажити файл одразу ж у кількох користувачів. Де можна почитати про ці алгоритми? Знаю, що можна дивитись у сирці. Так воно і робитиметься для кращого розуміння, але хтів би почитати щось файне по цій темі, якщо таке є.

Гадаю, українською ніц не знайду, а, як сформувати запит ґуґлю англійською не знаю. Буду вдячний за допомогу.

Ключові слова: багатопотокове програмування, мережеве програмування(сокети).
А вазагалі без розуміння, може почати з азів, а потім переходити до тонкощів використання.
Мої рефлексії на довкілля http://blog.sasnyk.name

Відсутній Володимир Лісівка

  • Адміністратор ЩОДО
  • Видавець
  • *****
  • дописів: 3820
  • Карма: +11/-0
  • Програміст
Гадаю, українською ніц не знайду, а, як сформувати запит ґуґлю англійською не знаю. Буду вдячний за допомогу.

Суть алгоритму в тому, що файл розбивається на блоки. Для кожного блоку рахується контрольна сума. Далі операції ведуться не просто з файлом, а зі списком контрольних сум і блоками файлів ідентифікованих по контрольній сумі.

Тобто, якщо на вході ми мали цілий файл, то на виході маємо коротенький опис файлу (назва, час створення, etc.), список блоків і їхні контрольні суми. Ну це приблизно так само як порізати архів на шматки щоб можна було дискетами перенести.

Коли хтось хоче завантажити файл, він в першу чергу вантажить список блоків, а далі шукає по інету - "В тебе є блок від файлу foo.bar з контрольною сумою XXXXXXXX?".

Є різні системи. В торентах, клієнти реєструються на сервері для кожного файлу і кожен клієнт може взнати список зареєстрованих клієнтів щоб зв’язатися з ними напряму і попросити чи передати блок файлу.

В DC, клієнти реєструються на хабах, які містять велику кількість файлів, так що не треба робити підписку на кожен конкретний файл.
[Fedora Linux]