СИСТЕМА ПРОГРАММНО-АППАРАТНЫХ СРЕДСТВ АГРЕГИРОВАНИЯ ВХОДНЫХ ПОТОКОВ ИНФОРМАЦИИ О ВОЗДУШНОЙ ОБСТАНОВКЕ И ЕЕ ОБРАБОТКИ В СИСТЕМАХ УПРАВЛЕНИЯ РЕАЛЬНОГО МАСШТАБА ВРЕМЕНИ
SOFTWARE-HARDWARE SYSTEM FOR AGGREGATING INPUT STREAMS OF INFORMATION ON AIR ENVIRONMENT AND PROCESSING THEREOF IN REAL-TIME CONTROL SYSTEMS

Изобретение относится к системам автоматизации, основанным на использовании вычислительных машин и касается технологии создания программно-аппаратных средств агрегирования входных потоков информации о воздушной обстановке и ее обработки (далее - ПАС АВПИ), позволяющей создавать унифицированные программно-аппаратные комплексы обработки информации о воздушной обстановке на основе «типовых» компонентов, которые свободно встраиваются в разрабатываемые и модернизируемые системы управления реального масштаба времени.
Известен управляющий аппаратно-программный комплекс для обработки радиолокационной информации, состоящий из двух блоков: блока обработки аналоговой (координатной) радиолокационной информации (РЛИ) и блока обработки вторичной (трассовой) радиолокационной информации, выполненных на базе Intel-совместимых ЭВМ, RU 20972.
Известный комплекс не может обеспечить приведение разнородной входной информации о воздушной обстановке к виду, пригодному к использованию в системах управления различного назначения.
Техническим результатом заявленных программно-аппаратных средств агрегирования входных потоков информации о воздушной обстановке и ее обработки является приведение разнородной входной информации о воздушной обстановке к виду, пригодному к использованию в системах управления различного назначения.
Вследствие этого, функционирование ПАС АВПИ в виде самостоятельного объекта вне системы управления, обеспечивающей как поставку на вход изделия информации о воздушной обстановке, так и предоставление потребителям (пользователям) результатов обработки, невозможно.
Указанный технический результат достигается тем, что программно-аппаратный модуль, предназначенный для встраивания в комплексы средств автоматизации для сбора, обработки и выдачи информации о воздушной обстановке, содержит:
- сервер, выполняющий функции централизованного хранилища информации (сервер базы данных), сервер централизованного обработчика входных потоков информации о воздушной обстановке (сервер обработки информации), центры управления администрирования и функционального контроля,
- автоматизированные рабочие места операторов обработки информации об обстановке в воздухе с типовой ЭВМ,
- средство отображения коллективного пользования, например LCD панель с диагональю не менее 50 дюймов,
- носимый пульт управления обработкой и представлением информации о воздушной обстановке, например сенсорная панель с поддержкой беспроводной сети,
- маршрутизатор локальной сети,
- адаптер беспроводной сети для подключения сервера и сенсорной панели к локальной сети,
- многофункциональное печатающее устройство, используемое для изготовления графических и табличных отчетных документов,
а для агрегирования информации о воздушной обстановке модуль дополнительно оснащен:
- сервером агрегирования информации о воздушной обстановке (САИВО);
- хранилищем данных (ХД);
- автоматизированным рабочим местом (АРМ) оператора;
- радиолокационной станцией (РЛС),
при этом сервер агрегирования информации о воздушной обстановке снабжен: алгоритмом агрегирования первичной информации о воздушной обстановке, в том числе о групповых, пространственно-протяженных воздушных объектах; алгоритмом агрегирования вторичной информации о воздушной обстановке; алгоритмом агрегирования информации, поступающей от различных источников, в том числе сгруппированной различными методами, информации, сформированной на этапе планирования применения и информации реального масштаба времени в интересах оценки обстановки; алгоритмом агрегирования информации о воздушной обстановке для выдачи в каналы передачи данных с ограниченной пропускной способностью, алгоритмом прототипа пользовательского интерфейса.
Изобретение поясняется чертежами, на которых изображено:
фиг.1 - пример состава аппаратного комплекса ПАС АВПИ;
фиг.2 - структурная схема применения технологии агрегирования.
На фиг.1 обозначены: 1 - сервер БД; 2 - WI-FI роутер; 3 - сенсорная панель; 4 - ПЭВМ 2; 5 - ПЭВМ 1; 6 - МФУ; 7 - коммутатор; 8 - ИБП.
На фиг.2 обозначены: 9 - САИВО 1; 10 - ХД 1; 11 - АРМ 1-1; 12 - АРМ 1-2; 13 АРМ 1-N; 14 - РЛС 1-1; 15 - РЛС 1-2; 16 - РЛС 1-N; 17 - САИВО 1-2; 18 - ХД 1-2; 19 - АРМ 1.2-1; 20-АРМ 1.2-2; 21 - АРМ 1.2-N; 22 - РЛС 1.2-1; 23 - РЛС 1.2-2; 24 - РЛС 1.2-N; 25 - САИВО 1.1; 26 - ХД 1.1; 27 - АРМ 1.1-1; 28 - АРМ 1.1-2; 29 - АРМ 1.1-N; 30 - РЛС 1.1-1; 31 - РЛС 1.1-2; 32 - РЛС 1.1-N.
Первичные данные о воздушной обстановке (результаты обнаружения и оценки координат) поступают в систему, где осуществляется анализ на наличие перегрузки системы обработки с помощью процедуры обнаружения перегрузки из состава метода представления агрегированной информации о воздушной обстановке.
В качестве критериев, свидетельствующих о перегрузке системы, могут использоваться расстояния между воздушными объектами и количество отметок от воздушных объектов. Наряду с этим, включение методов агрегирования может осуществляться в заданной области пространства при постановке помех. Выбор областей помех, данные о которых необходимо передать на вышестоящие уровни обработки, осуществляется в соответствии с заданными критериями, например, по положению в зоне ответственности, по виду помехи, по частоте, интенсивности и т.д., а также по указанию ЛБР.
Агрегированные данные о первичной обстановке поступают на уровень вторичной обработки информации. Данные об областях помех предварительно проходят этап представления информации для выдачи в каналы передачи данных на все уровни системы сбора и обработки. Данные о разрешаемых и неразрешаемых группах воздушных объектов проходят этап вторичной обработки, где осуществляется формирование траекторной информации. Кроме того, на уровне вторичной обработки осуществляется агрегирование завязанных традиционным методом траекторий воздушных объектов. Дальнейшее сопровождение агрегированных вторичных данных осуществляется методом вторичной обработки агрегированной информации о воздушной обстановке.
При выявлении признаков перегрузки системы на уровне вторичной и третичной обработки осуществляется соответствующее представление данных и выдача по каналам передачи в систему (например, для вторичной обработки - на уровень третичной обработки), куда также могут поступать неагрегированные данные о трассах воздушных объектов. В результате их объединения формируется полная картина, характеризующая воздушную обстановку.
Входной информацией на этапе первичной обработки являются:
- n - количество воздушных объектов, обнаруженных РЛС при одном обзоре;
i
i
i
- {x, y, h} - координаты i-го воздушного объекта (i=1, …, n);
i
- ПГП - признак государственной принадлежности i-го воздушного объекта;
пор
- R - пороговое значение расстояний между объектами в одной группе (в плоскостных координатах);
пор
- H - пороговое значение разности высот между объектами в одной группе.
i
i
i
Здесь {x, y} - плоскостные координаты i-го объекта в некоторой декартовой системе, h - высота i-го объекта.
Требуется разбить исходное множество одиночных воздушных объектов на некоторые группы. Число групп должно быть наименее возможным. При этом вводятся следующие ограничения на состав группы. Пусть S - некоторое множество индексов i=1, …, n, соответствующих объектам одной группы. Тогда:
i
j
а) объекты группы должны иметь один и тот же ПГП: ПГП=ПГП для всех i, j из S;
пор
пор
б) должны выполняться неравенства R(S)≤R и H(S)≤H. Функция R(S) характеризует расстояние между объектами группы S в плоскостных координатах, а функция H(S) - разность высот между объектами группы S.
Выбор функций R(S) и H(S) определяет тип агрегации. Возможны два типа агрегации:
1) максимальное расстояние между объектами группы
i,j∈S
ij
R(S)=maxr,
<mrow><msub><mi>r</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><msqrt><mrow><msup><mrow><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>−</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>y</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow></msqrt></mrow>
где
i,j∈S
ij
i
j
H(S)=maxr|h-h|;
2) среднее расстояние между объектами группы
,
<mrow><mrow><mo>|</mo><mi>S</mi><mo>|</mo></mrow></mrow>
где
- количество объектов в группе S
.
пор
пор
Чтобы не учитывать отдельно условие перечисления а), его целесообразно включить в состав условия перечисления б), положив расстояния R(S) и H(S), равными соответственно 2R и 2H в том случае, если группа S не удовлетворяет условию перечисления а). Тогда для всех групп, удовлетворяющих условию перечисления б), будет верно и условие перечисления а)
1
2
<mrow><mrow><mo>(</mo><mrow><mo stretchy="false">(</mo><mi>R</mi><mo stretchy="false">(</mo><mi>S</mi><mmultiscripts><mo>∪</mo><mprescripts /><mn>1</mn><none /></mmultiscripts><msub><mi>S</mi><mn>2</mn></msub><mo stretchy="false">)</mo><mo>,</mo><mtext> </mtext><mi>H</mi><mo stretchy="false">(</mo><mi>S</mi><mmultiscripts><mo>∪</mo><mprescripts /><mn>1</mn><none /></mmultiscripts><msub><mi>S</mi><mn>2</mn></msub><mo stretchy="false">)</mo></mrow><mo>)</mo></mrow></mrow>
Для агрегирования применяется иерархический алгоритм. На первом шаге фиксируются n групп, каждая из которых состоит из единственного объекта: {i}. На каждом последующем шаге отбираются пары групп, объединение которых допустимо по ограничению перечисления б). Если таких пар групп нет, то работа алгоритма завершена. В противном случае вычисляется расстояния между группами и объединяются в одну те две группы, расстояние между которыми наименьшее. Под расстоянием между группами S и S понимается пара чисел
. Считается, что расстояние (R, H) не превосходит расстояния (R′, H′), если R≤R′ и Н≤Н′. В тех случаях, когда расстояния между различными парами групп несравнимы друг с другом, для объединения выбирается произвольная пара.
Для того, чтобы не повторять много раз одни и те же расчеты, имеет смысл сохранять информацию о вычисленных расстояниях между различными группами. Например, в следующем виде
<mrow><mrow><mo>{</mo><mrow><msub><mi>S</mi><mn>1</mn></msub><mo>,</mo><msub><mrow><mtext> S</mtext></mrow><mtext>2</mtext></msub><mtext>, R</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow><mo>,</mo><mtext> H</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow></mrow><mo>}</mo></mrow></mrow>
то есть как упорядоченную четверку:
- первый массив индексов;
- второй массив индексов;
- расстояние между группами в плоскостных координатах;
- расстояние между группами по высоте.
Параллельно, необходимо хранить перечень всех сформированных групп объектов.
На первом шаге выполнения алгоритма производится полный расчет и запоминаются данные о расстояниях между всеми возможными парами одиночных воздушных объектов. Перечень групп на первом шаге состоит из всех одиночных объектов.
Все последующие шаги выполняются в цикле:
1
2
1) выбирается из имеющегося списка четверок та, в которой расстояния наименьшие и удовлетворяют условию перечисления б). Пусть это {S, S, R, H};
1
2
2) удаляются из списка все четверки, в которых встречаются S или S;
1
2
3) удаляются из перечня групп S и S;
<mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow>
4) вычисляются и сохраняются в списке все расстояния от
до групп из текущего перечня;
<mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow>
5) объединенная группа
заносится в перечень групп.
Работа алгоритма завершается не более чем за (n-1) шаг - либо при отсутствии четверки с расстояниями, удовлетворяющими перечислению б), либо если осталась одна группа, содержащая все одиночные объекты.
После окончания процесса агрегирования получается некоторое число групп воздушных объектов, каждая из которых в последующем должна рассматриваться как отдельный групповой объект. В качестве координат группы S выбирается центр тяжести группы:
Агрегирование на этапе вторичной обработки РЛИ
Входной информацией на этапе вторичного перечисления являются:
- n - количество обнаруженных при вторичной обработке траекторий воздушных объектов;
i
i
i
- {x, y h} - координаты начальной точки i-й траектории (i=1, …, n);
i
i
i
- ({x, y} - плоскостные координаты, h - высота);
i
i
i
i
i
i
- {vx, vy, vh} - координаты вектора скорости i-го объекта в точке {x, y h};
- признаки ОГП по каждому из n воздушных объектов;
пор
- R - пороговое значение расстояний между траекториями в одной группе в плоскостных координатах;
пор
- H - пороговое значение расстояний между траекториями в одной группе по высоте;
пор
- Δq - пороговое значение расстояний между траекториями в одной группе по курсу;
пор
- Δv - пороговое значение расстояний между траекториями в одной группе по модулю скорости;
груп
- m - максимально допустимое количество траекторий в одной группе.
Требуется разбить исходное множество траекторий на некоторые группы. Число групп должно быть наименее возможным. При этом вводятся следующие ограничения на состав группы. Пусть S - некоторое множество индексов i=1, …, n, соответствующих траекториям одной группы. Тогда могут быть введены следующие ограничения:
а) все воздушные объекты, соответствующие траекториям группы S, должны иметь непротиворечивые признаки ОГП;
пор
б) R(S)≤R;
пор
в) H(S)≤H;
пор
г) q(S)≤Δq;
пор
д) v(S)≤Δv;
груп
е) |S|≤m,
<mrow><mrow><mo>|</mo><mi>S</mi><mo>|</mo></mrow></mrow>
где
- количество траекторий в группе S.
Функция R(S) характеризует расстояние между начальными точками траекторий группы S в плоскостных координатах, функция H(S) - разность высот между начальными точками траекторий группы S, функция q(S) - разность курсов траекторий группы S, функция v(S) - разность скоростей траекторий группы S по абсолютной величине.
Выбор функций R(S), H(S), q(S) и v(S) определяет тип агрегации. Возможны два типа агрегации:
1) максимальное расстояние между траекториями группы
,
,
,
ij
i
i
j
j
где q - угол между векторами {vx, vy} и {vx, vy};
;
2) среднее расстояние между траекториями группы
1
2
<mrow><mrow><mo>(</mo><mrow><mi>R</mi><mrow><mo>(</mo><mrow><msub><mi>S</mi><mn>1</mn></msub><mo>∪</mo><msub><mi>S</mi><mn>2</mn></msub></mrow><mo>)</mo></mrow><mo>,</mo><mtext> H</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow><mo>,</mo><mtext> q</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow><mo>,</mo><mtext> v</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow></mrow><mo>)</mo></mrow></mrow>
Для агрегирования применяется иерархический алгоритм. На первом шаге фиксируются n групп, каждая из которых состоит из единственной траектории: {i}. На каждом последующем шаге отбираются пары групп, объединение которых допустимо по ограничениям перечислений а)-е). Если таких пар групп нет, то работа алгоритма завершена. В противном случае, вычисляются расстояния между группами и объединяются в одну те две группы, расстояние между которыми наименьшее. Под расстоянием между группами S и S понимается четырехмерный вектор
. Считается, что расстояние (R, H, q, v) не превосходит расстояния (R′, H′, q′, v′), если R≤R′, H≤H′, q≤q' и v≤v′. В тех случаях, когда расстояния между различными парами групп несравнимы друг с другом, для объединения выбирается произвольная пара. Может быть также установлена некоторая очередность (приоритетность) сравнения, например: сначала сравниваются R с R′, затем H с H′, затем q с q' и, наконец, v с v′. То есть, если (R, H, q, v) и (R′, H′, q′, v′) несравнимы друг с другом, то меньшим считается тот вектор, у которого меньше первая координата; в случае равенства первых координат меньшим считаем вектор, у которого меньше вторая координата, и так далее.
Для того, чтобы не повторять много раз одни и те же расчеты, имеет смысл сохранять информацию о вычисленных расстояниях между различными группами. Например, в виде массивов
<mrow><mrow><mo>{</mo><mrow><mi>S</mi><mmultiscripts><mo>,</mo><mprescripts /><mn>1</mn><none /></mmultiscripts><mtext> </mtext><msub><mi>S</mi><mn>2</mn></msub><mo>,</mo><mtext> R</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow><mo>,</mo><mtext> H</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow><mo>,</mo><mtext> q</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow><mo>,</mo><mtext> v</mtext><mrow><mo>(</mo><mrow><msub><mtext>S</mtext><mtext>1</mtext></msub><mo>∪</mo><msub><mtext>S</mtext><mtext>2</mtext></msub></mrow><mo>)</mo></mrow></mrow><mo>}</mo></mrow></mrow>
.
Параллельно, необходимо хранить перечень всех сформированных групп траекторий.
На первом шаге выполнения алгоритма производится полный расчет и запоминаются данные о расстояниях между всеми возможными парами траекторий. Перечень групп на первом шаге состоит из всех одиночных траекторий.
Все последующие шаги выполняются в цикле:
<mrow><mi>S</mi><mo>=</mo><msub><mi>S</mi><mn>1</mn></msub><mo>∪</mo><msub><mi>S</mi><mn>2</mn></msub></mrow>
1
2
1) выбирается из имеющегося списка тот массив, в котором расстояния наименьшие и объединение
удовлетворяет ограничениям а)-е). Пусть это {S, S, R, Н, q, v};
1
2
2) удаляются из списка все массивы, в которых встречаются S или S;
1
2
3) удаляются из перечня групп S и S;
<mrow><msub><mi>S</mi><mn>1</mn></msub><mo>∪</mo><msub><mi>S</mi><mn>2</mn></msub></mrow>
4) вычисляются и сохраняются в списке все расстояния от
до групп из текущего перечня;
<mrow><msub><mi>S</mi><mn>1</mn></msub><mo>∪</mo><msub><mi>S</mi><mn>2</mn></msub></mrow>
5) объединенная группа
заносится в перечень групп.
Работа алгоритма завершается не более чем за (n-1) шаг - либо при отсутствии массива, удовлетворяющего перечислениям а)-е), либо, если осталась одна группа, содержащая все траектории.
В качестве представителя группы S должен выбираться головной - впереди летящий воздушный объект. Под направлением полета группы понимается среднее значение вектора скорости входящих в группу объектов:
, ,
Таким образом, впереди летящим объектом считается тот, для которого максимально скалярное произведение
i
i
i
i
i
i
((x, y,h), (vx, vy, vh))=x·vx+y·vy+h·vh.
Входной информацией на этапе третичной обработки являются:
- n - количество обнаруженных воздушных объектов;
i
i
i
i
i
i
- {x, y, h} - координаты i-го объекта (i=1, …, n), при этом ({x, y} - плоскостные координаты, h - высота);
i
i
i
i
i
i
- {vx, vy, vh} - координаты вектора скорости i-го объекта в точке {x y, h};
- R - допустимое расстояние между объектами в плоскостных координатах;
- H - допустимое расстояние между объектами по высоте;
- T - допустимое значение прогнозируемого времени существования оценок расстояний между объектами.
Для использования в алгоритме введены следующие обозначения:
<mrow><msub><mi>r</mi><mrow><mi>i</mi><mi>j</mi></mrow></msub><mo>=</mo><msqrt><mrow><msup><mrow><mrow><mo>(</mo><mrow><msub><mi>x</mi><mi>i</mi></msub><mo>−</mo><msub><mi>x</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup><mo>+</mo><msup><mrow><mrow><mo>(</mo><mrow><msub><mi>y</mi><mi>i</mi></msub><mo>+</mo><msub><mi>y</mi><mi>j</mi></msub></mrow><mo>)</mo></mrow></mrow><mn>2</mn></msup></mrow></msqrt></mrow>
-
- евклидово расстояние между i-м и j-м объектами в плоскостных координатах;
ij
i
j
- h=|h-h| - расстояние между i-м и j-м объектами по высоте;
ij
- Δt - прогнозируемое время существования оценок расстояний между i-м и j-м объектами в плоскостных координатах и по высоте не более R и Н соответственно.
Модифицированный метод цилиндрического стробирования состоит в следующем.
Для каждого i-го воздушного объекта отбираются близкие ему объекты, далее эти объекты объединяются в одну группу.
Группы, имеющие хотя бы один общий объект, объединяются вместе.
Для i-го воздушного объекта считаются близкими все j-e объекты, для которых выполняются три неравенства:
ij
ij
ij
r≤R, h≤H, Δt≥T.
ij
ij
Предположим, что r≤R и h≤H. Прогнозируемое время существования оценок расстояний между i-м и j-м объектами в плоскостных координатах не более R можно найти из уравнения
ij
ij
ij
2
А·(Δt(пл))+B·Δt(пл)+C=0, (Δt(пл)≥0),
i
j
i
j
2
2
где A=(vx-vx)+(vy-vy),
i
j
i
j
i
j
i
j
B=(x-x)·(vx-vx)+(y-y)·(vy-vy),
.
Прогнозируемое время существования оценок расстояний между i-м и j-м объектами по высоте не более Н вычисляется из уравнения
.
i
i
j
j
ij
ij
i
j
ij
Если (vx, vy)=(vx, vy), то Δt(пл) равно бесконечности, но для определенности принято Δt(пл)=T. Аналогично, если vh=vh, считается, что Δt(в)=T. Таким образом:
ij
ij
ij
Величина Δt - это минимум из Δt(пл) и Δt(в).
Порядок применения модифицированного метода цилиндрического стробирования следующий.
Сначала определяется множество М, состоящее из всех одиночных объектов. Затем на каждом шаге формируется одна группа, в нее добавляются некоторые объекты из М, при этом из множества М добавленные в группу объекты удаляются. Процесс формирования групп заканчивается, когда М становится пустым.
Каждая группа является объединением некоторого числа подгрупп. В первую подгруппу включается любой объект из М, одновременно он удаляется из множества М. Во вторую подгруппу выбираются из М все объекты, близкие к какому-либо объекту из первой подгруппы (объекты второй подгруппы также удаляются из множества М), и так далее. Формирование подгрупп заканчивается, когда очередная подгруппа окажется пустой (или само множество М станет пустым). Тогда формируется группа, состоящая из всех полученных подгрупп. Если М еще не пусто, то формируется следующая группа аналогичным образом.
Агрегирование при выдаче информации в каналы передачи данных ограниченной пропускной способности
Входной информацией агрегирования при выдаче ее в каналы передачи данных являются:
- n - количество обнаруженных воздушных объектов;
i
i
i
- {x, y, h} - координаты i-го объекта (i=1, …, n);
i
i
i
- ({x, y} - плоскостные координаты, h - высота);
i
i
i
i
i
i
- {vx, vy, vh} - координаты вектора скорости i-го объекта в точке {x, y, h};
- признаки ТЛА и ПГП по каждому из n воздушных объектов;
- К - число формируемых групп (К<n).
Структурная схема применения технологии агрегирования информации о воздушной обстановке предполагает использование в своем составе следующих компонентов:
1) сервер агрегирования информации о воздушной обстановке;
2) хранилище данных;
3) автоматизированное рабочее место оператора;
4) радиолокационная станция.
САИВО является ключевым элементом системы и представляет собой серверное приложение (или группу серверных приложений), объединенное посредством каналов связи с такими же компонентами в иерархическую структуру. Таким образом, САИВО выполняет функции сбора и агрегирования полученной от подчиненных САИВО и блоков съема данных РЛС информации о воздушной обстановке. Далее, САИВО транслирует ее как на вышестоящие САИВО, так и на АРМ операторов. САИВО может быть подключен более чем к одному вышестоящему САИВО, что позволит создавать распределенные системы агрегирования информации о воздушной обстановке со сложной топологией.
Хранилищем данных может являться система управления базами данных. В качестве СУБД может быть выбран хорошо зарекомендовавший себя и свободно распространяемый продукт - PostgreSQL.
Автоматизированные рабочие места операторов представляют собой выполняющееся на ПЭВМ программное обеспечение, предназначенное для отображения информации о воздушной обстановке и служебной информации, а также для выполнения пользователями системы задач управления, администрирования и функционального контроля.
РЛС являются непосредственными поставщиками информации о воздушной обстановке. Архитектурное решение подразумевает возможность корректного подключения РЛС к САИВО любого уровня. Подключение РЛС к САИВО осуществляется с использованием блока съема данных по аппаратному стыку сопряжения в соответствии с ГОСТ РВ 50816-95.
Исходя из приведенной структурной схемы применения разрабатываемой технологии, источниками информации о воздушной обстановке являются:
1) блоки съема данных РЛС;
2) подчиненные САИВО.
Потребителями информации о воздушной обстановке являются:
1) вышестоящие САИВО;
2) рабочие места операторов;
3) средства группового отображения;
4) сторонние КСА - системы, не входящие в состав изделия, но осуществляющие с ним информационный обмен.
Обмен данными между источниками и потребителями информации производится в асинхронном режиме, когда чтение данных из канала связи осуществляется в одном потоке выполнения, а запись - в другом, независимо от чтения. Этот факт обусловлен природой взаимодействия элементов системы, а также необходимостью максимально использовать каналы связи с ограниченной пропускной способностью, и влечет за собой возможность использования многопоточных механизмов при проектировании и разработке ГП САИВО.
Обмен данными ГП САИВО с подключенными к нему по аппаратному стыку сопряжения блоками съема данных РЛС должен производиться в соответствии с ГОСТ РВ 50816-95. В случае отсутствия в наличии блока съема данных РЛС предлагается разработать реализующий взаимодействие по вышеуказанному протоколу программный имитатор, подключенный к КСА агрегирования информации о воздушной обстановке по каналам связи или выполняющийся на том же аппаратном обеспечении.
Имитатор также предлагается использовать для стресс-тестирования ГП САИВО посредством подключения к нему относительно большого числа имитаторов-источников данных, в частности, для определения характеристик пределов его производительности. Для имитатора необходимо разработать сценарии тестирования, имитирующие получение данных о реальной воздушной обстановке в различных условиях.
Обмен данными между вышестоящими и подчиненными САИВО, а также между САИВО и АРМ операторов, средствами группового отображения и сторонними КСА предлагается производить по единому протоколу функционального взаимодействия. Применение единого протокола позволит унифицировать интерфейс системы и облегчить интеграцию решения в смежные/сторонние КСА.
Единый протокол информационного обмена должен обеспечивать:
1) асинхронное взаимодействие, позволяющее производить передачу пакетов данных в обоих направлениях одновременно в разных потоках выполнения;
2) передачу данных по каналам связи с ограниченной пропускной способностью и нестабильным соединением;
3) поддержку средств администрирования и функционального контроля;
4) поддержку средств запроса и получения журналированной информации о воздушной обстановке;
5) поддержку аутентификации и разделения прав доступа;
6) шифрование передаваемой информации;
7) реализацию методов прекращения и возобновления вещания источником информации о воздушной обстановке.
В качестве каналов связи информационного обмена по единому протоколу функционального взаимодействия предлагается использовать совместимую с сетевой моделью OSI сетевую среду, поддерживающую семейство протоколов TCP/IP, например Ethernet.
Единый протокол функционального взаимодействия можно разделить на два уровня:
1) Транспортный уровень, предоставляющий транспорт для передачи сообщений логического уровня по каналам связи;
2) Логический уровень, представляющий из себя формат сообщений информационного обмена для обмена между подсистемами ГП САИВО и способ их преобразования в текстовую форму и обратно для передачи по каналам связи с использованием протокола транспортного уровня между участниками информационного взаимодействия.
Для передачи данных по каналам связи с ограниченной пропускной способностью в протоколе целесообразно предусмотреть возможность передачи сжатых/упакованных пакетов данных. Для компрессии данных рекомендуется использовать соответствующие средства СПО, например библиотеку libbzip2, являющуюся абсолютно свободной для любого, в том числе коммерческого, использования. Таким образом, транспортный уровень протокола должен предусматривать передачу бинарной информации переменной длины.
С другой стороны, вполне вероятно, что при реализации проекта к транспортному уровню возникнет требование передачи потоковых данных, когда на момент начала отправки сообщения длина пакета данных еще не известна.
Более того, с целью облегчения процедур трассировки и отладки программного обеспечения обмена данными с источниками и потребителями информации о воздушной обстановке протокол транспортного уровня должен использовать преимущественно печатные символы для передачи заголовков пакетов данных. При возникновении необходимости в трассировке и отладке сетевого взаимодействия это обеспечит легкость использования стандартных средств сетевого мониторинга, как, например, tcpdump.
На сегодняшний момент, одним из стандартизированных и широко распространенных сетевых протоколов обмена данными, удовлетворяющих вышеуказанным требованиям, является HTTP - протокол прикладного уровня передачи данных (изначально - в виде гипертекстовых документов). Основой HTTP является Технология «клиент-сервер», то есть предполагается существование потребителей (клиентов), которые инициируют соединение и посылают запрос, и поставщиков (серверов), которые ожидают соединения для получения запроса, производят необходимые действия и возвращают обратно сообщение с результатом.
HTTP используется также в качестве «транспорта» для других протоколов прикладного уровня, таких как SOAP, XML-RPC, WebDAV.
Основным объектом манипуляции в HTTP является ресурс, на который указывает идентификатор URI (англ. Uniform Resource Identifier) в запросе клиента. Обычно такими ресурсами являются хранящиеся на сервере файлы, но ими могут быть логические объекты или что-то абстрактное. Особенностью протокола HTTP является возможность указать в запросе и ответе способ представления одного и того же ресурса по различным параметрам: формату, кодировке, языку и т.д. (в частности, для этого используется HTTP-заголовок.) Именно благодаря возможности указания способа кодирования сообщения клиент и сервер могут обмениваться двоичными данными, хотя данный протокол является текстовым.
HTTP - протокол прикладного уровня сетевой модели OSI, аналогичными ему являются FTP и SMTP. Обмен сообщениями идет по обычной схеме «запрос-ответ». Для идентификации ресурсов HTTP используются глобальные идентификаторы URI. В отличие от многих других протоколов, HTTP не сохраняет своего состояния. Это означает отсутствие сохранения промежуточного состояния между парами «запрос-ответ». Компоненты, использующие HTTP, могут самостоятельно осуществлять сохранение информации о состоянии, связанной с последними запросами и ответами (например, «Куки» на стороне клиента, «сессии» на стороне сервера). Браузер, посылающий запросы, может отслеживать задержки ответов. Сервер может хранить IP-адреса и заголовки запросов последних клиентов. Однако сам протокол не осведомлен о предыдущих запросах и ответах, в нем не предусмотрена внутренняя поддержка состояния, к нему не предъявляются такие требования.
Отличительными свойствами этого протокола являются:
1) два типа сообщений: HTTP-запрос и HTTP-ответ, отличающиеся различной сигнатурой строки запроса/статусной строки;
2) расширяемость в контексте HTTP-методов;
3) универсальность.
Несмотря на то, что изначально протокол HTTP разрабатывался для синхронного информационного обмена (запрос-ответ), его свойства позволяют использовать его для асинхронной передачи данных, используя в качестве базового сообщения HTTP-запрос с HTTP-методом «MESSAGE» (от англ. «Сообщение»).
Использование HTTP в качестве протокола транспортного уровня позволит также в перспективе реализовать в ГП САИВО подсистему, обеспечивающую реализацию рабочего места оператора, выполняющегося в интернет-обозревателе. Это позволит в перспективе снизить затраты на развертывание и использование технологии.
При передаче информации по каналам связи с нестабильным соединением подсистемы обмена информацией ГП САИВО должны обеспечивать:
1) корректное прерывание передачи пакетов данных без их потери;
2) оповещение операторов о факте нарушенного соединения;
3) периодическую инициацию попыток соединения;
4) корректную передачу ранее частично переданных сообщений при успешном восстановлении соединения.