Конвейерная обработка
Важным фактором быстродействия является задержка между пересылаемыми файлами. Обычно используемые протоколы передачи данных, такие как ftp, rcp или rdist обрабатывают каждый файл как отдельную операцию, тем самым ожидая подтверждения о доставке текущего файла, перед тем как обрабатывать следующий.
При использовании большего количества маленьких файлов (например обычное зеркалирование Web сайта) для пересылки через Internet, это время ожидания может сыграть роковую роль. Чтобы избежать этого, мы можем пересылать не ожидая подтверждения. Этот метод также известен, как конвейерная обработка.
Схема конвейерной обработки.
Процесс разбивается на 3 части - Generator, Sender и Receiver. Generator запускается на компьютере Beta и генерирует сигнатуры для всех файлов, которые необходимо переслать, и отсылает эти сигнатуры к Alpha . Sender запущенный на Alpha получает сигнатуры и отсылает сообщения о совпавших блоках или целые байты Beta . Receiver запущенный на Beta реконструирует файл, после чего, он связывается с Generator, чтобы сообщить об успешной передачи файла, либо передать ему, что определённый файл необходимо обработать заново.