Алгоритм работы AGDataLoader — различия между версиями
Admin (обсуждение | вклад) |
Admin (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
{| border="0" cellpadding="5" style="width: 100%;" |
{| border="0" cellpadding="5" style="width: 100%;" |
||
|- |
|- |
||
− | | http://wiki.tk-chel.ru/images/f/f3/DataLoader_AGServer3.png<br/> |
+ | | style="width: 326px;" | http://wiki.tk-chel.ru/images/f/f3/DataLoader_AGServer3.png<br/> |
− | | style="vertical-align: top;" | |
+ | | style="vertical-align: top; width: 1241px;" | |
Аутентификация на AGServer 3.x выполняется с помощью списка приборов (которые хранятся в .ATG-файлах) с их паролями в .ATG-файлах. Алгоритм работы приведет на диаграмме слева. Задержка между запросами может быть задана индивидуально для каждого сервера. |
Аутентификация на AGServer 3.x выполняется с помощью списка приборов (которые хранятся в .ATG-файлах) с их паролями в .ATG-файлах. Алгоритм работы приведет на диаграмме слева. Задержка между запросами может быть задана индивидуально для каждого сервера. |
||
Строка 17: | Строка 17: | ||
{| border="0" cellspacing="0" cellpadding="5" style="width: 100%;" |
{| border="0" cellspacing="0" cellpadding="5" style="width: 100%;" |
||
|- |
|- |
||
− | | style="width: |
+ | | style="width: 384px;" | http://wiki.tk-chel.ru/images/d/d7/DataLoader_AGServer4.png<br/> |
− | | style="width: |
+ | | style="width: 1189px; vertical-align: top;" | |
<span style="line-height: 20.7999992370605px;">Аутентификация на AGServer 4.x/5.x выполняется с помощью логина и пароля пользователя. Для обеспечения безопасности пароль хранится не в открытом виде, а в виде хэша. Для корректной загрузки данных с AGServer 4.x/5.x необходимо скопировать файл UserSettings.ini из каталога пользователя (которым будет выполняется загрузка данных с сервера) в каталога DataLoader согласно правилу размещения файлов и переименовать UserSettings.ini в логин пользователя. Например, если UserSettings.ini взят у пользователя demo, то его необходимо переименовать в demo.ini - логин пользователя будет взят из имени файла, а хэш пароля для аутентификации - из файла (параметр </span>PassHash). |
<span style="line-height: 20.7999992370605px;">Аутентификация на AGServer 4.x/5.x выполняется с помощью логина и пароля пользователя. Для обеспечения безопасности пароль хранится не в открытом виде, а в виде хэша. Для корректной загрузки данных с AGServer 4.x/5.x необходимо скопировать файл UserSettings.ini из каталога пользователя (которым будет выполняется загрузка данных с сервера) в каталога DataLoader согласно правилу размещения файлов и переименовать UserSettings.ini в логин пользователя. Например, если UserSettings.ini взят у пользователя demo, то его необходимо переименовать в demo.ini - логин пользователя будет взят из имени файла, а хэш пароля для аутентификации - из файла (параметр </span>PassHash). |
||
Строка 35: | Строка 35: | ||
<span style="line-height: 20.7999992370605px;">Диаграмма с примером работы приведена слева.</span> |
<span style="line-height: 20.7999992370605px;">Диаграмма с примером работы приведена слева.</span> |
||
− | + | На данной диаграмме приведён пример, когда параметр batch-size=100 и thread-count=3. Все требуемые 563 прибора разбиваются на блоки по 100 приборов и каждые три таких блока запросов отправляются на требуемый AGServer одновременно (сначала будет отправлено три запроса по 100 приборов - приборы с 1-го по 300-й). Однако приборов больше, чем thread-count * batch-size, поэтому после завершения всех трёх запросов будет выполнен второй цикл, в котором будут отправлены также три одновременных запроса с тремя блоками, однако приборы там будут с 301-го по 563-й. После завершения и этих трёх запросов - цикл будет повторяться полностью до тех пор, пока все данные не будут закачаны. |
|
Данный алгоритм применяется для серверов всех версий. |
Данный алгоритм применяется для серверов всех версий. |
Версия 00:17, 7 апреля 2015
DataLoader может загружать данные с AutoGRAPH Server всех версий. Для ускорения загрузки данных DataLoader может выполнять разбивать большой список приборов на блоки и отправлять запросы по ним параллельно.
Задержка между запросами может быть задана как индивидуально для каждого сервера, так и для как значение по умолчанию для всех серверов.
AutoGRAPH Server 3.x
Аутентификация на AGServer 3.x выполняется с помощью списка приборов (которые хранятся в .ATG-файлах) с их паролями в .ATG-файлах. Алгоритм работы приведет на диаграмме слева. Задержка между запросами может быть задана индивидуально для каждого сервера. |
AutoGRAPH Server 4.x/5.x
Аутентификация на AGServer 4.x/5.x выполняется с помощью логина и пароля пользователя. Для обеспечения безопасности пароль хранится не в открытом виде, а в виде хэша. Для корректной загрузки данных с AGServer 4.x/5.x необходимо скопировать файл UserSettings.ini из каталога пользователя (которым будет выполняется загрузка данных с сервера) в каталога DataLoader согласно правилу размещения файлов и переименовать UserSettings.ini в логин пользователя. Например, если UserSettings.ini взят у пользователя demo, то его необходимо переименовать в demo.ini - логин пользователя будет взят из имени файла, а хэш пароля для аутентификации - из файла (параметр PassHash). Алгоритм работы приведет на диаграмме. Первый запрос при запуске сервиса выполняется для получения списка приборов (в отличие от AGServer 3.x не требуется держать актуальным список .ATG-файлов на хосте с DataLoader) и полученный список файлов используется для загрузки данных. |
Многопоточная загрузка
Для ускорения загрузки данных может быть применена многопоточная загрузка данных. Определяющим в данном случае являются два параметра - batch-size и thread-count . Первый параметр определяет количество приборов в одном запросе, второй - количество одновременных запросов.
Диаграмма с примером работы приведена слева. На данной диаграмме приведён пример, когда параметр batch-size=100 и thread-count=3. Все требуемые 563 прибора разбиваются на блоки по 100 приборов и каждые три таких блока запросов отправляются на требуемый AGServer одновременно (сначала будет отправлено три запроса по 100 приборов - приборы с 1-го по 300-й). Однако приборов больше, чем thread-count * batch-size, поэтому после завершения всех трёх запросов будет выполнен второй цикл, в котором будут отправлены также три одновременных запроса с тремя блоками, однако приборы там будут с 301-го по 563-й. После завершения и этих трёх запросов - цикл будет повторяться полностью до тех пор, пока все данные не будут закачаны. Данный алгоритм применяется для серверов всех версий. |