Передачи файлов под управлением Edge
Инициированная Axeda Agent / Platform выгрузка файла
Как показано на иллюстрации:
• На шаге 2 выполняются следующие проверки входных данных.
◦ Если задание управляется Edge, убедитесь, что превышено максимальное число параллельных передач и параллельной передачи на вещь.
◦ Если превышения нет, задание ставится в очередь для последующей передачи. В противном случае выполнить копирование не удается и задание не ставится в очередь.
• Во время выхода на шаге 5:
◦ Определите, существуют ли операции загрузки, выгрузки конфигурации ПО или управления ею или удаленные операции записи свойств для выполнения.
◦ Передача файлов может начаться, только если не превышено предельное число передач.
• На этапе создания файла или записи в двоичный файл, т. е. на шаге 8, файл блокируется для чтения. Если это последняя часть и предоставлена контрольная сумма, она проверяется.
• Пометьте задание как сбойное или завершенное. Кроме того, проверьте контрольную сумму, если она указана.
Загрузка файла, инициированная ThingWorx Platform
Как показано на иллюстрации:
• Во время операции копирования на шаге 1 выполняются следующие проверки входных данных.
◦ Если заданием управляет Edge, проверяйте возможность превышения максимального числа параллельных передач и параллельной передачи для каждой вещи.
◦ Если превышения нет, задание ставится в очередь для последующей передачи, в противном случае выполняется сбой копирования и задание не ставится в очередь.
• При выполнении шага выхода, т. е. шага 4:
◦ Определите, существуют ли какие-либо операции загрузки/выгрузки/SCM или удаленные операции записи свойств для выполнения.
◦ Передача файлов может быть запущена, только если не превышаются пределы передачи.
• На этапе создания или записи в двоичный файл, т. е. на шаге 7, файл блокируется для чтения.
• Соответствующим образом платформа помечает задание как сбойное или завершенное.
Важные настраиваемые параметры
• Требуется тщательно настроить конфигурацию в подсистеме передачи файлов, чтобы обеспечить хорошую параллельную передачу файлов. Некоторые такие настройки перечислены ниже. Дополнительные сведения см. в разделе
Подсистема передачи файлов ◦ Максимальное разрешенное общее число операций передачи файлов под управлением Edge → Максимальное число параллельных передач файлов, доступное в платформе для удаления задания из очереди и его перемещения в активную очередь. Если требуется больше параллельных операций, это значение должно быть увеличено.
◦ Максимально допустимое общее количество передач управляемых Edge файлов для одной вещи → Максимальное число параллельных передач файлов в одну вещь, доступное в платформе для удаления задания из очереди и его перемещения в активную очередь. Если имеется меньше вещей с большим числом файлов для передачи, полезно увеличить это значение.
| Увеличение этого значения может привести к неравномерному распределению доступных позиций при максимальной параллельной передаче файлов между устройствами. |
◦ Максимальное число передач файлов, разрешенное для автономной очереди → Если скорость выгрузки передач файлов очень высока, а обработка идет сравнительно медленно, это значение должно быть увеличено, чтобы задания оставались в режиме автономного задания без отклонения.
◦ Максимальное число передач файлов в одну вещь, разрешенное для автономной очереди → Если скорость передачи файлов в вещь очень высока, а обработка выполняется сравнительно медленно, это значение должно быть увеличено. Тогда задания будут оставаться в режиме автономного задания вместо отклонения.
• Передачи файлов под управлением Edge выполняются с использованием пула потоков
WSExecutionProcessor. Поэтому для выполнения передачи файлов должно быть доступно достаточное количество потоков. Для настройки этого пула потоков используйте
Настройки процессора выполнения в
WSExecutionProcessingSubsystem. Дополнительные сведения см. в разделе
Подсистема обработки выполнения WebSocket.
• Статистику передачи файлов можно отслеживать, просматривая различные параметры, предоставляемые в конечной точке
/Metrics. Дополнительные сведения о параметрах передачи файла см. в разделе
Мониторинг подсистем ThingWorx.
Рекомендации
• ThingWorx Platform поддерживает параллельные операции чтения и записи файлов в файловых репозиториях. Чтобы предотвратить повреждение данных и обеспечить согласованность, платформа должна получать блокировки файлов и папок на время выполнения операций чтения/записи. Предотвращение параллельной записи в один и тот же каталог или файлы обеспечивает большие возможности совместной работы и увеличивает пропускную способность операций с файлами.
• Для больших объемов передачи файлов необходимо обеспечить в операциях ввода/вывода для файлов возможности обработки параллельных операций чтения/записи и использование отдельного хранилища, а не хранилища /ThingworxPlatform.
• Постоянно контролируйте производительность передачи файлов. См. документацию по параметрам передачи файлов.
• Разработчики приложений должны учитывать взаимосвязь между подписками ThingWorx и операциями передачи файлов, поскольку при выполнении сервиса с большим объемом операций ввода/вывода, связанных с выполнением события передачи файлов, будет использоваться ограниченное число потоков TWEventProcessor, предназначенные для быстро выполняемых операций. Соответственно адаптируйте настройки пула потоков TWEventProcessor, а также обеспечивайте производительность инфраструктуры, чтобы это не влияло на производительность выполнения других подписок.