Изобретение относится к области формирования информационных сообщений и может быть использовано для оптимального автоматизированного формирования и расформирования текста сообщения в информационных бинарных пакетах прикладного уровня на основе имеющейся информации о диапазоне изменений и допустимой точности передаваемых параметров.
При передаче информационных сообщений, вне зависимости от выбранного способа кодирования и передачи информации, перед разработчиками стоит задача разработки протоколов прикладного уровня. На прикладном уровне в пакете любого протокола можно выделить «контейнерную» часть, задача которой довести пакет до нужного адресата и сообщить о типе текста сообщения, и собственно текста сообщения, передача которого и является целью взаимодействия между передающей и принимающей стороной.
Текст сообщения представляет собой набор байтов, где в соответствии с типом сообщения в двоичном виде размещена информация о заранее обусловленных передаваемых параметрах самого различного назначения, например, идентификаторы и адреса передающей стороны, время формирования сообщения, показания скорости объекта, его местоположения, состояния датчиков. В бинарном протоколе под каждый из этих параметров должно быть выделено необходимое число бит, которые и образуют в совокупности структуру текста сообщения. Одной из главных задач разработчика является определение структур и выделение полей под передаваемые параметры в соответствии с типами передаваемых сообщений. В некоторых случаях число выделяемых бит является очевидным. Если, к примеру, необходимо передать одну из 14 возможных команд, то достаточно выделить 4 бита, на которых любая команда в форме натурального числа может быть размещена в двоичном виде, причем останется еще резерв на расширение до 16 команд. Но параметры в исходном состоянии могут быть и дробными, и отрицательными, а в общем случае они выражаются вещественным числом с определенным диапазоном изменения, при этом на приемной стороне параметр должен быть восстановлен с необходимой точностью. Бинарные протоколы, как правило, используются там, где скорость передачи информации критична, что обычно характерно для передач по радиоканалам с относительно низкой надежностью. В таких случаях, с точки зрения передачи информации, следует стремиться к формированию максимально короткого текста сообщения, повышая тем самым скорость передачи информации и увеличивая помехоустойчивость и надежность передачи.
Для экономии места в бинарных протоколах довольно часто передаваемый параметр представляют в форме натурального числа с младшим разрядом (условной единицей), равным допустимой погрешности. Максимальное значение этого числа, а значит, и число выделяемых под него бит определяется диапазоном изменения параметра в условных единицах. Объединенные в набор байтов поля передаваемых параметров и формируют структуру текста сообщения. Процедуры формирования и расформирования текста сообщения достаточно трудоемки, поэтому разработчики и программисты стараются разместить поля в пакете наиболее удобным для себя способом с минимальным дроблением байтов, что порой приводит к неоправданному расширению текста сообщения в ущерб надежности и скорости передачи информации. При этом любое дополнение или изменение протокола приводит к существенным программным доработкам. Между тем, если взять за основу сплошное расположение полей в пакете, а упаковку параметров проводить по единым правилам, процессы формирования и расформирования текстов сообщений можно полностью автоматизировать. В этом случае при изменениях в протоколе основные процедуры останутся неизменными, а от разработчиков даже не потребуется знание в явном виде структуры текста сообщения.
Из известных способов формирования текста сообщения наиболее близким (прототипом) является способ формирования навигационных сообщений, транслируемых спутниками системы ГЛОНАСС (Глобальная спутниковая система ГЛОНАСС/Под ред. В.Н. Харисова, А.И. Перова, В.А. Болдина - М.:ИПРЖР, 1998.). Можно заметить, что в строках каждого навигационного кадра (Структура навигационного кадра, стр. 147, 148) параметры передаются как натуральные числа в условных единицах, равных величине младшего разряда (допустимой точности), длина полей большей части параметров определяется минимальным числом бит, позволяющим разместить диапазон изменения параметра в условных единицах, а сами поля в большинстве случаев располагают без пробелов. Но эти правила формирования сообщений не являются обязательными. Например, в выбранном прототипе число разрядов под спутниковые ускорения избыточно, а в строках навигационного кадра имеются пробелы. Отсутствие единых, унифицированных правил при формировании сообщений не позволяет добиться автоматизации процедур их формирования и расформирования.
Целью изобретения является упрощение и ускорение разработки, формирования и расформирования предельно коротких текстов сообщений бинарных протоколов прикладного уровня путем формирования оптимальной унифицированной структуры текста сообщения на основе данных по диапазону изменений и допустимой точности передаваемых параметров с использованием универсальных машинно-ориентированных алгоритмов.
Для достижения цели предложен универсальный, машинно-ориентированный способ формирования и расформирования текста сообщения, основанный на использовании диапазона изменений передаваемых параметров и их допустимой точности, заключающийся в том, что длину поля под каждый параметр определяют натуральным числом, характеризующим величину изменения этого параметра в условных единицах, представляющих собой допустимую точность параметра, поля под параметры в тексте сообщения располагают последовательно, значение каждого параметра передается его смещением по отношению к минимальному значению в условных единицах, а формирование и расформирование любого текста сообщения осуществляют по унифицированным алгоритмам.
Для реализации предлагаемого способа необходимо на основе имеющейся информации о числе передаваемых параметров (k), границах изменений (Li Pi) каждого i-го параметра ai (ai, ∈ [Li, Pi]) и его допустимой точности di автоматизировать процессы:
- формирования передающей стороной текста сообщения с информацией о текущих значениях параметров,
- расформирования приемной стороной теста сообщения с восстановлением текущих параметров с необходимой точностью в привычном виде.
Перед описанием алгоритмов необходимо найти несколько предварительных соотношений.
Так как для каждого параметра ai известна область его изменения: ai ∈ [Li, Pi], то приняв за условную единицу (цену младшего разряда) задаваемую точность di, можно найти подлежащее передачи натуральное число ni, выражающее смещение параметра в условных единицах относительно левой границы (задаваемая точность и границы задаем в тех же единицах, что и параметр). С учетом округления до целого числа (round), искомое натуральное число определится по формуле:
Максимальное значение число и, принимает при параметре, равном верхней границе (ai=Pi). Число бит необходимое для его размещения, можно найти, решив показательное уравнение 2х-1=(Pi-Li)/di и округлив результат до целого значения (ceil) в большую сторону:
Общее расчетное количество байт N, необходимое для формирования текста сообщения с числом параметров к, при сплошном последовательном заполнении битовых полей находим по формуле:
Дадим теперь краткое описание легко формализуемых алгоритмов по формированию и расформированию текста сообщения.
Формирование передающей стороной текста сообщения (массива {bj}N) осуществляют последовательной обработкой каждого i-го из общего числа k параметров {ai}k в следующем порядке:
1. По формуле (3) определяют отведенное под текущий i-й параметр число байт
2. По формуле (1) определяют подлежащее передаче натуральное число ni.
3. Для первого параметра (i=1) номер первого из задействованных байтов и начало расположения параметра в этом байте (смещение) принимают равными нулю, для всех остальных параметров (i>1) номер первого из задействованных байтов и начало расположения параметра в нем определяют с учетом предыдущего цикла (п.4 для (i-1)-го параметра).
4. Для очередного параметра определяют границы его расположения: номера байтов, где он располагается, и число используемых бит в каждом задействованном байте.
5. По каждому из задействованных байтов:
- определяют под текущий параметр его маску (байт, в котором всем задействованным битам присваивают значение «1»),
- с учетом значения последнего задействованного байта предыдущего цикла (для i>1) находят значения текущих задействованных байтов bj, используя побитовый сдвиг ni и битовую логическую операцию «и» с соответствующей маской.
6. Если параметр не последний (i<k), переходят к п. 1.
7. Если параметр последний (i=k), считают процесс формирования массива текста сообщения {bj}N законченным.
Сформированный текст сообщения присоединяют к контейнерной части сообщения, кодируют и транслируют нужному адресату или нескольким адресатам. На приемной стороне декодируют сообщение, определяют по типу пакета число передаваемых параметров (k), границы их изменений (Li Pi) и допустимую точность di и приступают к расформирования массива {bj}N. Целью расформирования является восстановление исходных параметров с заданной точностью, для чего должно выполняться условие:
Расформирование принимающей стороной текста сообщения {bj}N осуществляют последовательной обработкой атрибутов каждого i-го из общего числа k параметров в следующем порядке (при получении структуры используют те же соотношения, что и при процессе формирования):
1. По формуле (3) определяют отведенное под текущий i-й параметр число байт
2. Для первого параметра (i=1) номер первого из задействованных байтов и начало расположения параметра в этом байте принимают равными нулю, для всех остальных параметров (i>1) номер первого из задействованных байтов и начало расположения параметра в нем определяют с учетом предыдущего цикла (п.3 для (i-1)-zo параметра).
3. Для очередного параметра определяют границы его расположения: номера байтов, где он располагается, и число используемых бит в последнем задействованном байте.
4. По каждому из задействованных байтов под текущий параметр:
- определяют его маску,
- определяют компонент натурального числа и„ используя битовую логическую операцию «и» с соответствующей маской и побитный сдвиг,
- суммируя очередной компонент, последовательно формируют натуральное число, получая после обработки последнего из задействованных байтов искомое значение ni.
5. Преобразованиями, обратными формуле (1), восстанавливают с заданной точностью исходный параметр:
6. Если параметр не последний (i<k), переходят к п. 1.
7. Если параметр последний (i=k), считают процесс расформирования массива текста сообщения и восстановления с заданной точностью параметров законченным.
Как следует из алгоритмов формирования и расформирования, структура текста сообщения полностью определяется исходной информацией по диапазону изменений и допустимой точностью передаваемых параметров, и знание ее в явном виде представляет интерес только как справочный материал. Следует так же отметить, что при разработке сложных систем номенклатура передаваемых сообщений может быть очень большой и расчетное число байт N (см. формулу (4)) может меняться в широких пределах. Для удобства кодирования и передачи по каналу связи реальную длину текста сообщения часто унифицируют либо для всех сообщений, либо для определенного класса близких по длине сообщений. В этом случае расчетное число байт N служит ориентиром для разбивки по классам и выбора оптимальных длин сообщений. Все неиспользуемые биты заполняются нулями, процедуры же формирования и расформирования текстов сообщения остаются неизменными.
Пример.
Система мониторинга служебного транспорта состоит из диспетчерского пункта (ДП) и взаимодействующими с ним по радиоканалам УКВ транспортных средств (ТС). В штатном режиме ДП последовательно ведет опрос ТС и принимает от них навигационные сообщения. Очевидно, что для помехоустойчивости и уменьшения цикла опроса при составлении протокола следует стремиться к разработке максимально коротких сообщений.
Согласно техническому заданию система должна обслуживать до 500 ТС. Подконтрольная зона (часть Псковской области) ограничена координатами (в системе координат Гаусса-Крюгера):
- по оси X: 6356 км - 6424 км
- по оси Y: 5564 км - 5604 км
Возможная скорость движения ТС до 160 км/час.
В состав основного и наиболее нагруженного навигационного сообщения должны входить: адрес ТС, состояние ТС (до 16 значений), его плановые координаты с точностью 4 м, скорость с точностью 3 км/час, курс с точностью 5°.
Как передающая, так и приемная сторона располагают характеристиками параметров, соответствующими типу навигационного сообщения: Параметры (k=6):
-адрес (a1): d1=1, L1=0, P1=499;
- состояние (а2): d2=1, L2=0, P2=15;
- координата Х(а3(км)): d3=0.004, L3=6356, P3=6424;
- координата Y (а4(км)): d4=0.004, L4=5564, P4=5604;
- скорость (а5(км/час)): d5=3, L5=0, P5=160;
- курс (а6(градус)): d6=5, L6=0, P6=355;
Как при формировании, так и при расформировании текста сообщения последовательно определяют длины полей под параметры (см. формулу (3)) и общую структуру пакета:
Маски под каждый из параметров принимают значения:
- для 1-го параметра (задействованы байты 1, 2): 255, 1;
- для 2-го параметра (задействован 2-ой байт): 30;
- для 3-го параметра (задействованы байты 2, 3, 4): 224, 255, 15;
- для 4-го параметра (задействованы байты 4, 5, 6): 240, 255, 3;
- для 5-го параметра (задействован 6-ой байт): 252;
- для 6-го параметра (задействован 7-ой байт): 127.
Предполагаем, что предназначенные к передаче параметры имеют следующие значения:
a 1=356; а2=7; а3=6404.336; а4=5581.222; а5=87.6; а6=46.5;
После обработки на передающей стороне получим:
а) натуральные формы параметров (1):
n1=356; n2=7; n3=12084; n4=4305; n5=29; n6=9;
б) байты текста сообщения:
b1=100; b2=143; b3=230; b4=21;
b5=13; b6=117; b7=9.
После расформирования на принимающей стороне и использования формулы (5) получим:
Полученные значения в пределах допускаемой точности совпадают с исходными параметрами.
Достигаемым техническим результатом предлагаемого способа формирования и расформирования текста сообщения является упрощение и ускорение разработки, формирования и расформирования предельно коротких текстов сообщений в бинарных протоколах прикладного уровня путем формирования оптимальной унифицированной структуры текста сообщения на основе данных по диапазону изменений и допустимой точности передаваемых параметров с использованием универсальных машинно-ориентированных алгоритмов.
название | год | авторы | номер документа |
---|---|---|---|
Коммуникационно-навигационная система для управления транспортными потоками | 2021 |
|
RU2770938C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ АДАПТИРУЕМОЙ К РАЗМЕРАМ ПАМЯТИ ПОСЛЕДОВАТЕЛЬНОЙ ПЕРЕДАЧИ ДАННЫХ | 2012 |
|
RU2597502C2 |
Система контроля жизненного цикла объекта и его инфраструктуры (варианты) | 2019 |
|
RU2755146C2 |
КОМАНДА НА ШИФРОВАНИЕ СООБЩЕНИЯ С АУТЕНТИФИКАЦИЕЙ | 2017 |
|
RU2727152C1 |
УНИФИЦИРОВАННЫЙ ВЫЧИСЛИТЕЛЬНЫЙ КОМПЛЕКС СИСТЕМЫ ИНТЕРВАЛЬНОГО РЕГУЛИРОВАНИЯ | 2009 |
|
RU2405702C1 |
СПОСОБ И УСТРОЙСТВО ДЛЯ АДАПТИРУЕМОЙ К РАЗМЕРАМ ПАМЯТИ ПОСЛЕДОВАТЕЛЬНОЙ ПЕРЕДАЧИ ДАННЫХ | 2012 |
|
RU2596582C2 |
СПОСОБ ИНФОРМАЦИОННОГО ОБЕСПЕЧЕНИЯ РОБОТОТЕХНИЧЕСКОГО КОМПЛЕКСА | 2013 |
|
RU2538322C1 |
Система и метод защиты переданных данных в протоколах NMEA (текстовый протокол связи навигационного оборудования) в системах управления транспортными средствами | 2020 |
|
RU2785911C1 |
Универсальный способ обмена навигационно-временной информацией в образцах военной техники Сухопутных войск | 2017 |
|
RU2674937C2 |
Способ организации поиска документов в прикладных базах неструктурированных данных и аппаратная версия двойной памяти для его осуществления | 2022 |
|
RU2792584C1 |
Способ формирования и расформирования текста сообщения, основанный на использовании диапазона изменений передаваемых параметров и их допустимой точности, заключающийся в том, что длину поля под каждый параметр определяют натуральным числом, характеризующим величину изменения этого параметра в условных единицах, представляющих собой допустимую точность параметра, поля под параметры в тексте сообщения располагают последовательно, значение каждого параметра передают его смещением по отношению к минимальному значению в условных единицах, а формирование и расформирование текста сообщения осуществляют по унифицированным алгоритмам. Достигаемым техническим результатом предлагаемого способа формирования и расформирования текста сообщения является упрощение и ускорение разработки, формирования и расформирования предельно коротких текстов сообщений в бинарных протоколах прикладного уровня путем формирования оптимальной унифицированной структуры текста сообщения на основе данных по диапазону изменений и допустимой точности передаваемых параметров с использованием универсальных машинно-ориентированных алгоритмов.
Способ формирования и расформирования текста сообщения в информационных бинарных пакетах прикладного уровня, при котором передаваемые параметры упаковывают в форме натуральных чисел в условных единицах, равных допустимой точности передаваемого параметра, отличающийся тем, что при формировании и расформировании текста сообщения используют только данные по допустимой точности и диапазону изменений передаваемых параметров, а формирование и расформирование текста сообщения осуществляют по единым унифицированным правилам, по которым значение каждого параметра определяют его смещением по отношению к минимальному значению в условных единицах, длину поля, выделяемого под параметр, определяют натуральным числом, характеризующим диапазон его изменения в условных единицах, а поля в тексте сообщения строго упорядочены.
Глобальная спутниковая система ГЛОНАСС | |||
Под ред | |||
В.Н | |||
Харисова, А.И | |||
Перова, В.А | |||
Болдина - М.: ИПРЖР, 1998, 400 с., с.147-148 | |||
СПОСОБ ПРЕДВАРИТЕЛЬНОГО ПРЕОБРАЗОВАНИЯ СТРУКТУРИРОВАННОГО МАССИВА ДАННЫХ | 2014 |
|
RU2571405C1 |
Устройство для заряда накопительного конденсатора, используемого для питания осветительных импульсных ламп | 1960 |
|
SU134341A1 |
Прибор, замыкающий сигнальную цепь при повышении температуры | 1918 |
|
SU99A1 |
US 8606778 B1, 10.12.2013. |
Авторы
Даты
2020-06-01—Публикация
2019-09-06—Подача