ABBYY Recognition Server использует протокол Named Pipes или TCP/IP для соединения с компонентами. По умолчанию используется протокол Named Pipes и порт 445.
Вы можете заменить используемый протокол на TCP/IP. В это случае порты выбираются администратором и прописываются в реестре Windows. Подробные инструкции по смене протокола приведены в разделе Настройки соединения в справке ABBYY Recognition Server.
Архитектура Recognition Server позволяет масштабировать систему и наращивать ее производительность путем подключения дополнительных станций обработки к менеджеру сервера или путем увеличения числа процессорных ядер на станциях обработки. Менеджер сервера равномерно распределяет нагрузку между доступными станциями обработки и их процессорными ядрами для достижения максимальной производительности.
Количество одновременно используемых процессорных ядер и станций обработки зафиксировано в пользовательской лицензии. Если лицензия не накладывает ограничений на эти параметры, вы можете подключать любое число станций обработки и задействовать для распознавания все установленные на них процессоры.
Принципиальных ограничений на количество станций обработки, подключаемых к одному менеджеру сервера, не существует. Внутренне тестирование показало, что один менеджер сервера может успешно управлять более чем 100 станциями обработки. Увеличение скорости обработки находится практически в прямой зависимости от числа задействованных процессорных ядер. Это означает, что подключение, например, 10 одноядерных станций позволит за то же время обрабатывать в 10 раз больше документов, чем может обработать одна одноядерная станция.
ABBYY Recognition Server полностью поддерживает технологии многоядерности, многопроцессорности и HyperThreading. Например, если вы установите станцию обработки на компьютер с двумя четырехъядерными процессорами и ваша лицензия позволяет вам одновременно использовать 8 ядер, Recognition Server полностью загрузит эти 8 ядер. Если вы хотите использовать одно или два ядра для задач, выполняемых другими приложениями, снимите соответствующие галочки в диалоге Свойства станции обработки.
Обратите внимание на то, что обычно процессор с n ядрами обеспечивает несколько меньшую производительность чем такое же количество одноядерных процессоров. Например, производительность четырехъядерного процессора обычно меньше производительности четырех одноядерных процессоров.
Примечание: Одноядерный процессор с технологией HyperThreading будет отображаться как одно ядро в диалоге свойств станции обработки. Однако Recognition Server максимально использует все дополнительные возможности, предоставляемые технологией HyperThreading.
Recognition Server использует один и тот же алгоритм распределения задач между процессорными ядрами независимо от того, находятся ли они на одной и той же или на разных станциях обработки. Таким образом, для Recognition Server не принципиально, используется ли многоядерный процессор или несколько станций обработки с одноядерными процессорами. Однако при выборе между компьютером с многоядерным процессором и несколькими компьютерами с одноядерными или двухъядерными процессорами, необходимо учитывать следующие факторы:
Четырех- или восьмиядерный сервер обычно дороже чем аналогичное количество компьютеров с одноядерными или двухъядерными процессорами;
Обычно многоядерный процессор обеспечивает несколько меньшую производительность, чем такое же количество одноядерных процессоров. Например, производительность четырехъядерного процессора обычно меньше производительности четырех одноядерных процессоров;
При поломке компьютера с многоядерным процессором его вычислительные мощности оказываются недоступными до тех пор, пока поломка не будет устранена. В то же время вероятность одновременного выхода из строя всех компьютеров с меньшим числом ядер намного меньше.
Таким образом, обычно целесообразнее использовать несколько станций обработки с одно- или двухъядерными процессорами, а не одну станцию с многоядерным процессором.
В случае если это разрешено лицензией, вы можете подключить несколько станций обработки к Recognition Server.
Когда в ABBYY Recognition Server поступают файлы изображений, менеджер сервера добавляет их в очередь для обработки. Первый файл в очереди будет направлен на первую же доступную станцию обработки. Если в системе доступны несколько станций обработки, менеджер сервера равномерно распределит изображения между всеми этими станциями.
На станции обработки может быть одновременно запущено несколько процессов распознавания. Количество одновременно запущенных процессов настраивается в диалоге свойств станции обработки в консоли удаленного администрирования.
Для достижения оптимальной производительности рекомендуется задавать число процессов на одной станции равным n+1, где n – число задействованных для распознавания процессорных ядер на этой станции (например, на станции обработки с двухъядерным процессором обычно запушено три процесса распознавания).
Примечание: Для процессоров с технологией HyperThreading рекомендуемое число процессов составляет 2n+1, где n – число физических процессорных ядер.
Обычно каждый процесс на станции получает из очереди по одному файлу. При этом не важно, является ли файл одностраничным или многостраничным.
Например, к менеджеру сервера подключено 10 станций обработки с двухъядерными процессорами. На каждой станции запущено 3 процесса. Таким образом, каждая станция получит 3 файла из очереди, которые будут распознаваться параллельно. Общее число процессов составит 10x3=30, т.е. Recognition Server будет одновременно обрабатывать 30 файлов.
Однако, если файл относительно велик и в очереди находится не более 5 файлов, большой файл будет разделен на фрагменты, которые будут переданы в разные процессы для максимальной скорости обработки. Размер фрагмента по умолчанию составляет 25 страниц. Таким образом, если в файле содержится, например, 100 страниц, он будет разделен на 4 фрагмента и направлен в 4 процесса. Процессы распознавания для добавления фрагментов файла выбираются по принципу «первый доступный», поэтому фрагменты могут попасть на разные станции обработки.
Для достижения оптимальной производительности рекомендуется устанавливать менеджер сервера и станцию обработки на разных компьютерах в локальной сети. В этом случае станция обработки сможет использовать 100% процессорного времени для оптического распознавания, обеспечивая максимальную производительность и не разделяя ресурсы с менеджер сервера.
Однако, если в вашем распоряжении ограниченное число компьютеров или у вас один сервер с многоядерным процессором и вы хотите установить на него все компоненты, тогда вы можете установить менеджер сервера и станцию обработки на один и тот же компьютер.
Скорость обработки на одном процессоре зависит главным образом от следующих факторов:
Частота процессора: чем выше частота, тем выше скорость оптического распознавания.
Число процессорных ядер: тесты показали, что станция обработки, установленная на компьютере с двухъядерным процессором, выполняет обработку документов примерно в 1,85 раз быстрее по сравнению с компьютером на одноядерном процессоре.
Минимальные аппаратные требования для менеджера сервера:
процессор с частотой 500 МГц или более;
128 Мб оперативной памяти;
115 Мб на жестком диске для установки и работы.
Вышеперечисленного достаточно для установки Recognition Server на отдельном компьютере, например, для того, чтобы попробовать программу в работе, или для обработки средних объемов изображений. Однако, если Recognition Server масштабируется для обработки больших объемов изображений и подключается множество станций обработки, менеджеру сервера потребуются дополнительные системные ресурсы.
Следуйте нижеприведенным рекомендациям:
Процессор на компьютере, на котором установлен менеджер сервера, должен быть достаточно мощным для распределения задач среди станций обработки. Среднего серверного процессора типа Intel Xeon 3 ГГц должно быть достаточно.
Скорость дисковых операций ввода/вывода на компьютере, на котором установлен менеджер сервера, должна позволять быстро перемещать большое количество файлов между папками. При конвертировании больших объемов изображений есть смысл использовать RAID-массив.
Свободное дисковое пространство на компьютере, на котором установлен менеджер сервера, должно по крайней мере быть равным суммарному размеру всех изображений, помещенных в папку Input, так как все изображения будут перемещены из папки Input во временную папку менеджера сервера.
Так как Recognition Server разработан специально для автономной работы, в нем имеется ряд механизмов защиты от сбоев:
Менеджер сервера и станции обработки работают как сервисы Windows и могут запускаться автоматически при запуске операционной системы. Например, в случае временного отключения питания вышеупомянутые компоненты запустятся автоматически после перезапуска компьютера.
Менеджер сервера периодически проверяет связь со станциями обработки, чтобы убедиться, что они работают и доступны. Если какая-либо станция обработки по какой-то причине не работает и недоступна, менеджер сервера восстановит соединение, когда станция возобновит свою работу. Для восстановления соединения со станцией обработки не требуется вмешательство администратора.
Recognition Server обрабатывает документы таким образом, что в случае сбоев в системе потеря данных не происходит.
Все файлы изображений импортируются из первоначального источника во временную папку менеджера сервера и надежно хранятся там на протяжении всего процесса обработки. Если на компьютере, на котором установлен менеджер сервера, происходит сбой, файлы, которые в этот момент обрабатываются, не пропадают, а сохраняются во временной папке и в очереди на обработку. Обработка файлов возобновится, как только компьютер вновь заработает.
Станции обработки получают копии изображений от менеджера сервера. Таким образом, ни один файл не пропадет, если произойдет ошибка в процессе распознавания. Если на станции обработки произойдет сбой в процессе обработки изображения, менеджер сервера автоматически перенаправит копию изображения на другую доступную станцию. Если на данный момент доступных станций нет, изображение останется в очереди в ожидании свободной станции.