Когда пассажир прикладывает карту Тройка к турникету, а через секунду створки открываются, в этот момент отрабатывает цепочка из нескольких программных систем: контроллер турникета проверяет баланс через билетную систему, сервер фиксирует факт прохода, а данные уходят в центр обработки. Сбой любого звена — и пассажир видит красный индикатор, хотя деньги на карте есть. Именно поэтому программное обеспечение московского метрополитена — это не одна программа, а многоуровневый комплекс, где каждый слой отвечает за свою задачу.
Московский метрополитен — одна из самых загруженных метросистем мира, и её работу невозможно обеспечить без автоматизации. В этой статье разберём, какие классы ПО используются в метро, как они взаимодействуют между собой, какие системы видит обычный пассажир, а какие остаются «за кулисами» — в диспетчерских и машинных залах.
Архитектура IT-инфраструктуры метрополитена
Программная инфраструктура метро строится по иерархическому принципу. На нижнем уровне работают встроенные системы — прошивки контроллеров турникетов, эскалаторов, вентиляции, сигнализации. Выше располагаются станционные серверы, которые собирают данные с оборудования конкретной станции. Верхний уровень — центральные системы диспетчерского управления и обработки данных.
Такое разделение не случайно. Если центральный сервер недоступен, станционное оборудование продолжает работать в автономном режиме: турникеты принимают карты по локальным спискам, а системы безопасности функционируют независимо. Это критически важно для транспортной системы, где остановка даже на несколько минут создаёт серьёзные проблемы.
Для связи между уровнями используются выделенные каналы связи и промышленные протоколы. Часть систем работает в изолированных сегментах сети — это стандартное требование для критической инфраструктуры, снижающее риск несанкционированного доступа извне.
💡ПО метрополитена построено по многоуровневой схеме: встроенные контроллеры → станционные серверы → центральные системы. Каждый уровень может работать автономно при отказе вышестоящего.