Современные
информационные технологии / Программное обеспечение
Крючин О.В.
Тамбовский государственный университет им. Г.Р.
Державина
Протокол
взаимодействия компонентов информационной системы
Как
известно, информационной системой называется
комплекс, включающий вычислительное и коммуникационное оборудование,
программное обеспечение, лингвистические средства и информационные ресурсы, а
также системный персонал и обеспечивающий поддержку динамической информационной
модели некоторой части реального мира для удовлетворения информационных
потребностей пользователей [1]. Для построения моделей в различных сферах —
биологии, медецине, экономике и т. д. на кафедре компьютерного и
математического моделирования Тамбовского государственного университета им. Г.Р.
Державиана разработана универсальная моделирующая информационная система [2],
состоящая из нескольких компонентов — рис. 1-2. Для взаимодействия этих
компонентов создан специальный протокол — CrVSISP.

Рис. 1. Архитектура информационной системы.
Для
передачи сообщений протокол использует кодировку UTF-8. При отправке
передаваемая строка конвертируется в последовательность байт.
Далее для удобства записи можно представить последовательность
байт в шестнадцатеричном виде следующим
образом: 0001FFFF -> 0F. Здесь первая цифра — первая последовательность из
четырех байт, вторая цифра — вторая последовательность из четырех байт и т.д..

Рис. 2. Схема взаимодействия серверов информационной системы.
Полученная
последовательность разбивается на части по 254 байта, которые в дальнейшем
будут называться «пакеты».
В
случае, когда число байт в сообщении меньше 254 (или не кратно 254-м), их может
не хватить минимальной величины пакета в 254 байта. В этом случае пакет
дополняется байтом имеющим значение «7С». Таким образом, размер всех пакетов
получаются равным 254 байта.
Для
того чтобы принять сообщение необходима информация о том, является ли пакет
последним. Для этого каждому пакету в конец добавляется управляющий байт. Если пакет не является последним, то
добавляется байт со значением «2B». Если пакет является последним, то в конец
добавляется байт со значением «2D».
Таким
образом, передаваемое сообщение принимает следующий вид:

Рис. 3. Схема разделения
полученного сообщения по пакетам.
Для
того чтобы принять сообщение необходимо склеить все пакеты в том порядке, в котором они приняты и удалить управляющие
байты (байты со значениями «2B» «7C» «2D»). То есть, после склейки получается
последовательность, приведенная на рис. 4.

Рис.4.
Последовательность байт, полученная после склейки пакетов.
Далее
эта последовательность байт интерпретируется как строка в кодировке UTF-8.
Литература
1. Когаловский М. Р.
Перспективные технологии информационных систем. — М.: ДМК Пресс; М: Компания
АйТи, 2003. — 288 с.
2. Арзамасцев А.А., Зенкова Н.А., Крючин О.В., Квашенкин Д.О., Неудахин А.В. Автоматизированная технология и программно-технологический комплекс для построения экспертных систем с интеллектуальным ядром, основанным на нейросетевых моделях, поддержкой распределенного ввода данных и параллельных вычислений // Вестник Тамбовского Университета. Серия: Естественные и технические науки, - Т. 17, Вып. 3 – С. 948-978.