Труды КНЦ (Технические науки вып. 3/2024(15))
данными с использованием протоколов TCP/IP и UDP. Этот подход часто используется для организации взаимодействия между компонентами, расположенными на разных серверах или устройствах. Что такое сокеты: токет — это конечная точка в сетевом соединении, через которую компоненты системы могут отправлять и получать данные. Компоненты могут обмениваться сообщениями или передавать данные через сеть, используя сокеты. Пример использования сокетов в Python: один из компонентов может выступать в роли сервера, который слушает определенный порт и обрабатывает запросы, поступающие от других компонентов (клиентов). Клиенты подключаются к серверу по указанному адресу и обмениваются данными через сокеты. Основной идеей разработки системы является использование открытой архитектуры, что позволяет расширять функциональность комплекса, добавляя новые визуальные и невизуальные компоненты, а также компоненты, взаимодействующие с внешними приложениями через стандартные протоколы. • Menu Supervisor: в системе предусмотрен центральный компонент Menu Supervisor, который управляет компонентами системы и координирует их взаимодействие. Этот компонент отвечает за: — мониторинг изменений в данных, с которыми работают компоненты (в том числе внешние приложения); — вызов и управление опциональными компонентами, которые могут быть активированы при изменении данных; — управление потоком данных между компонентами, обеспечивая динамическое обновление визуальных элементов при изменении данных в системе. • ExecAgents: для обеспечения запуска компонентов на удаленных узлах используются агенты выполнения (ExecAgents). Каждый агент отвечает за запуск тех или иных компонентов на локальном устройстве, с учетом переданных параметров таких, как: — IP-адрес устройства, на котором должен быть запущен компонент; — путь к компоненту в файловой системе. ExecAgents запускаются на удаленных компьютерах и обеспечивают вызов необходимых компонентов через сети. Коммуникация между агентами и Menu Supervisor происходит через TCP/IP протоколы с использованием стандартных механизмов обмена данными (например, через sockets или Pyro4 для удаленных вызовов процедур). Компонент DataAccess отвечает за доступ к данным и информирование Menu Supervisor о любых изменениях в данных, с которыми работают компоненты. DataAccess периодически передает обновления об изменении данных через сообщения, что позволяет системе автоматически обновлять те компоненты, которые зависят от этих данных. Компоненты (визуальные и опциональные): визуальные компоненты (разработанные на PyQt5) представляют собой интерфейсы, которые отображают данные в системе. Эти компоненты могут включать в себя различные типы данных, такие как геоинформационные данные или результаты имитационного моделирования. Опциональные компоненты могут быть запущены по запросу в зависимости от типов данных, с которыми работает система, или изменений в этих данных. Эти компоненты выступают в роли индикаторов изменений и могут быть динамически подключены или отключены в зависимости от конфигурации проекта. Процесс добавления компонентов На начальной стадии работы с проектом оператор указывает, какие компоненты должны быть активированы в системе. Это включает: — определение списка визуальных компонентов, которые будут отображать данные пользователю; — задание типов данных, с которыми эти компоненты работают (например, геоинформационные данные, данные симуляций и т. д.); — указание идентификаторов для каждого компонента и его соответствие типам данных. Труды Кольского научного центра РАН. Серия: Технические науки. 2024. Т. 15, № 3. С. 97-104. Transactions of the Kola Science Centre of RAS. Series: Engineering Sciences. 2024. Vol. 15, No. 3. P. 97-104. © Руденко Н. Н., Вдовиченко Н. А., 2024 100
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz