Управление синхронизацией¶
API версии v2 включает в себя расширенные возможности синхронизации между устройствами в режимах «мастер-подчиненный» (master-slave). Это позволяет создавать сети устройств, которые могут обмениваться данными обучения для повышения точности распознавания.
Кроме того, API v2 поддерживает иерархические многоуровневые сети (функции Superior/Parent Master). Локальное мастер-устройство может выступать в качестве дочернего узла для вышестоящего (главного) мастера, формируя сложные древовидные структуры распределения данных.
Примечание
Убедитесь, что все устройства в сети обновлены до одной и той же версии прошивки с поддержкой API v2 во избежание конфликтов данных.
Схемы синхронизации см. в статье Синхронизация модулей и распространение мета-моделей.
Настройка синхронизации Normal¶
Настройка синхронизации модуля с сервером, а не с локальным Master-устройством.
Если интернет отключен, этот модуль не будет синхронизироваться ни с какими другими модулями. Если отключить одновременно и выгрузку (upload), и загрузку (download), этот модуль также не будет синхронизироваться с другими модулями. Направление синхронизации настраивается отдельно.
URL:
http://172.22.0.6/api/set_sync_normalMethod:
POSTContent-Type:
application/json
Параметры тела запроса:
Параметр |
Пример |
Тип |
Обязательность |
Описание |
|---|---|---|---|---|
upload |
false |
Boolean |
Да |
Делиться собственными результатами обучения (выгрузка) |
download |
false |
Boolean |
Да |
Получать чужие результаты обучения (загрузка) |
{
"upload": false,
"download": false
}
Пример успешного ответа :
{
"code": 0,
"data": null
}
Параметр |
Пример |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Успешное выполнение (success) |
data |
— |
Null |
— |
Установка режима Master¶
Установить устройство в режим Master sync. Master является одновременно slave + центром синхронизации, поэтому upload и download также могут быть определены. Они управляют синхронизацией между slave-частью и центром синхронизации внутри Master-устройства. IP-адрес Master-устройства должен быть фиксированным. Другие slave-устройства будут обращаться к Master-устройству по IP.
upload — делиться собственными результатами обучения с другими, может быть true или false.
download — получать результаты обучения других устройств, может быть true или false.
URL интерфейса:
http://172.22.0.6/api/set_sync_masterМетод запроса:
POSTContent-Type:
application/json
Параметры тела запроса:
{
"upload": false,
"download": false
}
Параметр |
Пример значения |
Тип |
Обязательность |
Описание |
|---|---|---|---|---|
upload |
false |
Boolean |
Да |
Делиться собственными результатами обучения |
download |
false |
Boolean |
Да |
Получать результаты обучения других |
Пример успешного ответа:
{
"code": 0,
"data": null
}
Параметр |
Пример значения |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Код результата: 0 — успех |
data |
— |
Null |
— |
Установка режима Slave¶
Установить устройство в режим Slave sync и настроить Master. Если конфигурация корректна, Master и все slave-устройства будут периодически синхронизироваться друг с другом.
upload — делиться собственными результатами обучения с другими, может быть true или false.
download — получать результаты обучения других устройств, может быть true или false.
masterIP — IP-адрес Master-устройства.
mastersyncPort — порт синхронизации Master-устройства, опционально, по умолчанию 7443.
Master-устройство и все slave-устройства должны быть версии выше 9.0.6. До версии 9.0.6 для синхронизации использовались порты 7080 и 7443. Начиная с версии 9.0.6, синхронизация использует только порт синхронизации, который по умолчанию 7443. Необходимо настроить переадресацию портов.
URL интерфейса:
http://172.22.0.6/api/set_sync_slaveМетод запроса:
POSTContent-Type:
application/json
Параметры тела запроса:
{
"upload": false,
"download": false,
"masterIP": "192.168.1.32",
"mastersyncPort": "7443"
}
Параметр |
значения |
Тип |
Обязательность |
Описание |
|---|---|---|---|---|
upload |
false |
Boolean |
Да |
Делиться собственными результатами обучения |
download |
false |
Boolean |
Да |
Получать результаты обучения других |
masterIP |
192.168.1.32 |
String |
Да |
IP мастер-устройства |
mastersyncPort |
7443 |
Number |
Нет |
Порт прослушивания мастер- устройства для синхронизации |
Пример успешного ответа:
{
"code": 0,
"data": null
}
Параметр |
Пример значения |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Код результата: 0 — успех |
data |
— |
Null |
— |
Ручная синхронизация¶
Выполнить синхронизацию немедленно (автоматическая синхронизация выполняется каждые 10 минут). Сначала загружаются собственные данные, затем получаются данные других, что может потребовать несколько операций получения. См. :ref: get_sync.
URL интерфейса:
http://172.22.0.6/api/manual_syncМетод запроса:
POSTContent-Type:
none
Пример успешного ответа:
{
"code": 0,
"data": null
}
Параметр |
Пример значения |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Код результата: 0 — успех |
data |
— |
Null |
— |
Получение статуса синхронизации¶
Запрос статуса синхронизации. Обычно используется с manual_sync.
URL интерфейса:
http://172.22.0.6/api/get_sync_statusМетод запроса:
GETContent-Type:
none
Пример успешного ответа:
{
"code": 0,
"data": {
"count": 100,
"message": "Free",
"synctime": "2024-04-09 15:26:51"
}
}
Параметр |
Пример значения |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Код результата: 0 — успех |
data.count |
100 |
Number |
Количество товаров для распознавания |
data. message |
Free |
String |
Статус синхронизации |
data. synctime |
2024-04-09 15:26:51 |
String |
Время последней синхронизации |
Установка лимита синхронизации¶
Установить количество измененных шаблонов для запуска загрузки синхронизации, от 1 до 5. Данные товара будут загружены только тогда, когда изменения шаблонов этого товара больше или равны лимиту. Эта функция уменьшает влияние ложных отзывов.
URL интерфейса:
http://172.22.0.6/api/set_sync_limitМетод запроса:
POSTContent-Type:
application/json
Параметры тела запроса:
{
"limit": 3
}
Параметр |
Пример значения |
Тип |
Обязательно ? |
Описание |
|---|---|---|---|---|
limit |
3 |
Number |
Да |
Лимит для запуска загрузки |
Пример успешного ответа
{
"code": 0,
"data": null
}
Параметр |
Пример значения |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Код результата: 0 — успех |
data |
— |
Null |
— |
Получение лимита синхронизации¶
Получить количество измененных шаблонов для запуска загрузки синхронизации, от 1 до 5.
URL интерфейса:
http://172.22.0.6/api/get_sync_limitМетод запроса:
POSTContent-Type:
none
Пример успешного ответа:
{
"code": 0,
"data": {
"limit": 3
}
}
Параметр |
Пример значения |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Код результата: 0 — успех |
data.limit |
3 |
Number |
Количество измененных шаблонов |
Установка Superior¶
Этот интерфейс используется для настройки Superior-устройства (другого родительского Master-устройства). После успешной настройки модуль может загружать результаты обучения от вышестоящего Master-устройства, но не будет выгружать собственные результаты обучения. Загруженные результаты обучения также могут быть переданы всем подчиненным устройствам (slaves), привязанным к этому дочернему мастеру.
Примечание
Данная установка является валидной только для Master-устройства.
URL:
http://172.22.0.6/api/set_superiorMethod:
POSTContent-Type:
application/json
Параметры тела запроса:
Параметр |
Пример |
Тип |
Обязательность |
Описание |
|---|---|---|---|---|
sn |
«10180062» |
String |
Да |
Серийный номер (SN) Superior-устройства |
ip |
«192.168.30.30» |
String |
Да |
IP-адрес Superior-устройства |
Пример (Example):
{
"sn": "10180062",
"ip": "192.168.30.30"
}
Пример успешного ответа:
{
"code": 0,
"data": null
}
Параметр |
Пример |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Успешное выполнение (success) |
data |
— |
Null |
— |
Получение данных о Superior-устройстве¶
Запрос информации о конфигурации Superior-устройства
URL:
http://172.22.0.6/api/get_superiorMethod:
GETContent-Type:
application/json
Пример успешного ответа:
{
"code": 0,
"data": {
"ip": "192.168.30.30",
"sn": "10180062"
}
}
Параметр |
Пример |
Тип |
Описание |
|---|---|---|---|
code |
0 |
Number |
Успешное выполнение (success) |
data |
— |
Object |
null, если Superior-устройство не настроено |
data.ip |
«192.168.30.30» |
String |
IP-адрес Superior-устройства |
data.sn |
«10180062» |
String |
Серийный номер (SN) Superior-устройства |