RU2473180C2 - Способ обработки данных связи tlv-формата - Google Patents

Способ обработки данных связи tlv-формата Download PDF

Info

Publication number
RU2473180C2
RU2473180C2 RU2011103630/08A RU2011103630A RU2473180C2 RU 2473180 C2 RU2473180 C2 RU 2473180C2 RU 2011103630/08 A RU2011103630/08 A RU 2011103630/08A RU 2011103630 A RU2011103630 A RU 2011103630A RU 2473180 C2 RU2473180 C2 RU 2473180C2
Authority
RU
Russia
Prior art keywords
type
value
function
decoding
code stream
Prior art date
Application number
RU2011103630/08A
Other languages
English (en)
Other versions
RU2011103630A (ru
Inventor
Синьпин ЧЖАН
Original Assignee
Зте Корпарейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Зте Корпарейшн filed Critical Зте Корпарейшн
Publication of RU2011103630A publication Critical patent/RU2011103630A/ru
Application granted granted Critical
Publication of RU2473180C2 publication Critical patent/RU2473180C2/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/06Notations for structuring of protocol data, e.g. abstract syntax notation one [ASN.1]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Communication Control (AREA)
  • Devices For Executing Special Programs (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

Изобретение относится к области связи и, в частности, к способу обработки данных связи формата TLV. Способ содержит этапы, на которых: задают тип Т целочисленного типа в формате ASN.1, передающая сторона заполняет сообщение в формате ASN.1 сообщением, содержащим пример структуры данных, и передающая сторона кодирует сообщение в кодовый поток, причем кодовый поток примера структуры данных в сообщении содержит значение поля V или содержит целочисленный тип значения V, длину L этого значения V и само значение V. Технический результат - обеспечение осуществления взаимной связи между различными версиями ASN.1 путем расширения поля Т в формате ASN.1. 9 з.п. ф-лы, 6 ил.

Description

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Настоящее изобретение относится к области связи и, в частности к способу обработки формата TLV данных связи.
УРОВЕНЬ ТЕХНИКИ
Абстрактное описание 1 синтаксиса (ASN.1) представляет собой стандартный способ описания формата сообщения, переданного в сети, разработанный Международным союзом электросвязи (ITU), который используют для обеспечения стандартного формата для преобразования данных между узлами. Каждому узлу достаточно знать лишь формат данных, который транслирован из ASN.1 или транслирован в ASN.1, при этом знать форматы, в которых данные представлены в других местах сети, не обязательно.
ASN.1 состоит из двух частей: первая часть (ISO 8824/ITU X.208) описывает данные, тип данных и формат последовательности в сообщении, который является синтаксисом данных; и вторая часть (ISO 8825/ITU X.209) описывает правила составления сообщения из данных соответствующих частей, которые являются основными правилами кодирования данных. Формат ASN.1 был разработан в качестве части Х.409 на ранней стадии его разработки и впоследствии превратился в независимый стандарт. Стандарт Инфраструктуры открытого ключа (PKI) первого поколения главным образом основан на ASN.1. В Упрощенном протоколе управления сетью (SNMP) стандарт ASN.1 используется для задания единицы данных SNMP и формата объекта.
ASN.1 широко применяется в области связи, компьютерной области и в других областях. Сообщение в формате ASN.1 имеет следующие специальные свойства:
1. Сообщение имеет древовидную структуру, которая в случае необходимости может задавать многослойное вложенное сообщение.
2. Тип данных узла в сообщении может быть простым типом данных, например, INTEGER, GRAPHICSTRING, ENUM и т.д., или составным типом данных, содержащим подузел, например SET, SEQUENCE, SET OF, SEQUENCE OF.
3. В типе SET или типе SEQUENCE некоторый узел может отсутствовать, поскольку узел соответствующего сообщения может быть установлен как OPTIONAL, что означает, что он не является существенным. При использовании файла ASN.1 в первую очередь задают тип ASN.1 в файле ASN.1 и затем компилируют компилятором, так что тип ASN.1 становится промежуточным типом языка программирования, таким как язык Java или C++, и затем для достижения цели связи используют соответствующий тип языка программирования.
4. Стандарт ASN.1 поддерживает кодировку BER, кодировку DER, кодировку VAL и т.д., посредством которых пример типа промежуточного языка может быть закодирован в кодовый поток и декодирован из кодового потока обратно в пример соответствующего типа промежуточного языка.
5. Задающий формат, использованный в ASN.1 имеет следующий вид: "NewStructName:: = defining a message", например "UserNameList-T:: = SEQUENCE OF UserName-T", который указывает, что тип UserNameList-T задан в форме массива с именем пользователя - Т (UserName-T) в качестве элемента.
В программном обеспечении архитектуры Клиент/Сервер (C/S), Клиент и Сервер должны связываться между собой. Сообщение связи в общем виде имеет два формата: закрытый формат и стандартный формат, например протоколы ASN.1, SNMP и т.д.
Общепринятый способ использования сообщения ASN.1 в программном обеспечении типа C/S содержит этапы, на которых:
1. устанавливают соединение между клиентским терминалом и серверным терминалом,
2. клиентский терминал взаимодействует с серверным терминалом через протокол, при этом:
1) сторона, передающая сообщение, заполняет в сообщении заголовок и тело сообщения в формате ASN.1, причем заголовок сообщения содержит код операции, и в теле сообщения используют тип AsnAny с его типом реальных данных, изменяющимся в зависимости от кода операции;
2) сторона, передающая сообщение, кодирует сообщение в кодовый поток и передает его стороне, принимающей сообщение;
3) сторона, принимающая сообщение, принимает кодовый поток сообщения, декодирует заголовок сообщения и затем декодирует тело сообщения с использованием заданного типа данных в соответствии с общим кодом в сообщении; и
4) сторона, принимающая сообщение, выполняет соответствующий ответ согласно содержанию сообщения,
3. Завершают взаимодействие и разрывают соединение.
Во время связи данные, которые составлены согласно формату: "тип данных, длина данных, тело данных", могут быть представлены в виде: "Тип, Длина, Значение", который называют форматом TLV. Упомянутый формат TLV удобен и высоко эффективен при составлении данных и особенно хорошо подходит для данных переменной длины. При составлении содержания тела данных на прикладном уровне обычно используют именно этот формат. Кодировка BER в ASN.1 фактически представляет собой кодировку TLV.
В уровне техники тип данных Т в кодировке TLV не может быть настроен пользователем. Если одно и то же имя типа не задано одним и тем же способом в различных версиях, Клиент и Сервер не смогут связаться. Т.е. версии протоколов сообщения в клиентском терминале и в терминале Сервера должны быть согласованы. Если они не согласованы, эти две стороны не смогут взаимодействовать друг с другом.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
В настоящем изобретении предложено решение проблемы уровня техники, из-за которой Клиент и Сервер не могут связываться друг с другом, если версии протоколов сообщения этих двух сторон не согласованы. Таким образом, настоящее изобретение предлагает улучшенный способ обработки данных связи формата TLV для устранения вышеуказанной проблемы уровня техники.
В вариантах осуществления настоящего изобретения предложен способ обработки данных связи формата TLV, содержащий этапы, на которых: задают тип Т целочисленного типа в формате ASN.1, передающая сторона заполняет сообщение в формате ASN.1 сообщением, содержащим пример структуры данных, и передающая сторона кодирует сообщение в кодовый поток, причем кодовый поток примера структуры данных в сообщении содержит значение V, или содержит это значение V, целочисленный тип этого значения V и длину L этого значения V.
Предпочтительно задание целочисленного типа в формате ASN.1, в частности, содержит этапы, на которых: устанавливают формат ASN.1 для обеспечения возможности задания целочисленного типа и задают структуру целочисленного типа в формате "string type name [X]:: = defining a structure", причем терм Х относится к целочисленному типу.
Предпочтительно задание структуры целочисленного типа в формате "string type name [X]::=defining a structure", в частности, содержит этапы, на которых: устанавливают структуру целочисленного типа, такого как тип SEQUENCE, SET или CHOICE, с одним и тем же именем типа, и указывают, что если его элемент должен быть изменен, то разрешено лишь чистое увеличение или чистое уменьшение в элементах и разрешено лишь изменение концевого элемента, но не разрешено изменение типа.
Предпочтительно способ обработки данных формата TLV дополнительно содержит установку компилятора формата ASN.1 с функцией обработки целочисленного типа.
Предпочтительно способ обработки данных формата TLV дополнительно содержит получение с использованием функции целочисленный тип в типе C++ в формате ASN. 1.
Предпочтительно кодирование передающей стороной сообщения в кодовый поток содержит этапы, на которых: с использованием функции кодирования интеграции вызывают функцию кодирования значения, функцию кодирования длины и функцию кодирования целочисленного типа или с использованием функции кодирования интеграции вызывают лишь функцию кодирования значения для кодирования сообщения в кодовый поток, используют функцию кодирования целочисленного типа для получения целочисленного типа кодового потока согласно кодировке данных в примере структуры данных, используют функцию кодирования значения для кодирования простых данных в примере структуры данных в значение V кодового потока, как и в случае примера структуры данных для простого типа данных, используют функцию кодирования значения для последовательного вызова функции кодирования интеграции индивидуальных элементов в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE или SET, используют функцию кодирования значения для последовательного вызова функции кодирования интеграции индивидуальных элементов массива в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE OF или SET OF, и используют функцию кодирования значения для кодирования выбранного элемента в примере структуры данных в значение V кодового потока, как и в случае примера структуры данных типа CHOICE, причем это значение V содержит порядковый номер выбранного элемента в CHOICE и сам выбранный элемент.
Предпочтительно если целочисленный тип равен 0 или отсутствует, функция кодирования интеграции вызывает лишь только функцию кодирования значения; и если целочисленный тип не равен 0, кодовый поток содержит это значение V, длину L этого значения V и целочисленный тип.
Предпочтительно способ обработки данных формата TLV дополнительно содержит этап, на котором принимающая сторона декодирует кодовый поток.
Предпочтительно декодирование кодового потока, в частности, содержит этапы, на которых: с использованием функции декодирования интеграции вызывают функцию декодирования значения, функцию декодирования длины и функцию декодирования целочисленного типа, или с использованием функции декодирования интеграции вызывают лишь функцию декодирования значения для декодирования кодового потока, используют функцию декодирования целочисленного типа для декодирования кодового потока согласно целочисленному типу в кодовом потоке, используют функцию декодирования значения для декодирования значения V в кодовом потоке в простые данные в примере структуры данных, как и в случае примера структуры данных для простого типа данных, используют функцию декодирования значения для декодирования последовательно значения V в кодовом потоке в данные индивидуальных элементов в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE или SET, используют функцию декодирования значения для декодирования последовательно значения V в кодовом потоке в индивидуальные элементы массива в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE OF или SET OF, во время которого оценивают, является ли длина потока декодирования в структуре меньше длины L, и если указанная длина потока декодирования в структуре меньше длины L, то продолжают декодирование, в противном случае декодирование в настоящей структуре прекращают, и используют функцию декодирования значения для декодирования порядкового номера в кодовом потоке и элемента, соответствующего указанному порядковому номеру, как и в случае примера структуры данных типа CHOICE, причем если элемент, соответствующий указанному порядковому номеру, не существует в настоящей структуре, то функцию декодирования значения завершают.
Предпочтительно вызов функции декодирования значения, функции декодирования длины и функции декодирования целочисленного типа с использованием функции декодирования интеграции или вызов лишь функции декодирования значения с использованием функции декодирования интеграции для декодирования кодового потока, в частности, содержит этапы, на которых: определяют с использованием функции декодирования интеграции, является ли целочисленный тип равным 0 или отсутствующим; если упомянутый целочисленный тип не равен 0 или не является отсутствующим, то вызывают функцию декодирования значения, функцию декодирования длины и функцию декодирования целочисленного типа, причем функцию декодирования значения вызывают для декодирования целочисленного типа в кодовом потоке для проверки, соответствует ли полученный целочисленный тип собственному целочисленному типу, и если он не соответствует, то он рассматривается как результат ненормального декодирования, функцию декодирования длины вызывают для декодирования длины L в кодовом потоке и затем вызывают функцию декодирования значения для декодирования значения V в кодовом потоке; если длина vL, полученная декодированием этого значения V, меньше длины L, то L-vL байтов пропускают; и если упомянутый целочисленный тип равен 0 или отсутствует, то вызывают лишь функцию декодирования значения.
Способы обработки данных формата TLV в вышеуказанных вариантах осуществления настоящего изобретения преодолевают проблему уровня техники, из-за которой различные версии протоколов не могут связываться, путем добавления способа расширения поля Т в формате ASN.1 для осуществления взаимной связи между различными версиями ASN.1 и реализации объектно-ориентированного способа TLV.
Другие характеристики и преимущества настоящего изобретения описаны в последующих частях описания и, кроме того, частично очевидны из описания или понятны из реализации настоящего изобретения. Задача и другие преимущества настоящего изобретения могут быть реализованы и получены при реализации структуры, в частности указанной в описании, приложенной формуле и сопровождающих чертежах.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Приведенные здесь сопровождающие чертежи способствуют дальнейшему пониманию настоящего изобретения и являются частью настоящей заявки. Проиллюстрированные варианты осуществления настоящего изобретения и их описания используются для объяснения настоящего изобретения, не ограничивая настоящее изобретение. На чертежах:
Фиг.1 иллюстрирует блок-схему способа обработки формата TLV данных связи согласно варианту реализации настоящего изобретения;
Фиг.2 иллюстрирует блок-схему процесса разработки, в котором клиентская сторона и сервер совместно используют один и тот же язык для разработки среды согласно предпочтительному варианту реализации настоящего изобретения;
Фиг.3 иллюстрирует вид процесса разработки на различных языках для разработки среды согласно предпочтительному варианту реализации настоящего изобретения;
Фиг.4 иллюстрирует блок-схему процесса разработки, в котором клиентская сторона и сервер используют различные языки для разработки среды и различные версии протокола согласно предпочтительному варианту реализации настоящего изобретения;
Фиг.5 иллюстрирует блок-схему системы наследования типов базового класса C++ ESNACC согласно предпочтительному варианту реализации настоящего изобретения; и
Фиг.6 иллюстрирует блок-схему функции декодирования интеграции TLV согласно предпочтительному варианту реализации настоящего изобретения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Краткое описание функций
С учетом проблемы уровня техники, состоящей в том, что Клиент и Сервер не в состоянии связываться друг с другом, если версии протоколов сообщений этих двух сторон не являются согласованными, в вариантах выполнения настоящего изобретения предложен способ обработки данных формата TLV передачи данных. В настоящем варианте выполнения в формат ASN.1 добавлен способ расширения поля Т, и сообщение заполняют в расширенном формате ASN.1, и таким образом преодолена проблема уровня техники, из-за которой различные версии протоколов не обеспечивают взаимную связь, и реализован объектно-ориентированный способ взаимной связи между различными версиями ASN.1 и TLV.
Далее настоящее изобретение будет подробно описано со ссылкой на чертежи и в комбинации с вариантами осуществления. Варианты осуществления настоящего изобретения и отличительные особенности вариантов осуществления могут быть скомбинированы друг с другом, если это не вызывает противоречий. Необходимо отметить, что этапы, показанные в блок-схемах на чертежах, могут быть реализованы с использованием компьютерной системы, например в форме набора выполняемых компьютером инструкций. Кроме того, несмотря на логический порядок, использованный в блок-схемах, показанные или описанные этапы в некоторых ситуациях могут быть реализованы в другом порядке.
На Фиг.1 показана блок-схема способа обработки формата TLV данных связи согласно варианту выполнения настоящего изобретения, содержащего этапы, на которых:
на этапе S10 задают тип Т целочисленного типа в формате ASN.1,
на этапе S20 передающая сторона заполняет сообщение в формате ASN.1
сообщением, содержащим пример структуры данных, и
на этапе S30 передающая сторона кодирует сообщение в кодовый поток, причем упомянутый кодовый поток примера структуры данных в сообщении содержит значение V или содержит само поле V, целочисленный тип поля V и длину L поля V.
Предложенный способ обработки данных формата TLV преодолевает проблему уровня техники, из-за которой другие версии протоколов не обеспечивают взаимную связь, и реализует объектно-ориентированный способ взаимной связи между различными версиями ASN.1 и TLV, поскольку в формате ASN.1 использован способ расширения поля Т.
Далее будет подробно описан упомянутый выше процесс обработки.
(I) Этап S10
Операция определения целочисленного типа в формате ASN.1 может, в частности, содержать этапы, на которых: задают формат ASN.1 для обеспечения возможности задания целочисленного типа и задают структуру целочисленного типа в формате "имя [X] строкового типа:: = задание структуры (string type name [X]:: = defining a structure)", причем Х относится к целочисленному типу. А именно к синтаксису ASN.1 добавлен расширенный синтаксис для поддержки самоопределяемого типа Х (т.е. Т в TLV), который задан дополнительным способом между именем типа и символом "::=". Если никакой Х не указан, то Х определяют как 0, и таким образом такие данные в соответствующем кодовом потоке имеют лишь поле V, но не Х и L.
В частности, операция определения структуры целочисленного типа в формате "имя [X] строкового типа:: = задание структуры", в частности, содержит этапы, на которых: задают структуру целочисленного типа, такого как тип SEQUENCE, SET или CHOICE с тем же самым именем типа, и указывают, что, если элемент типа необходимо изменить, разрешены лишь чистое увеличение или чистое уменьшение элементов, и разрешено лишь изменение последнего элемента, но не разрешено изменение типа. Применение вышеуказанных правил обеспечивает возможность достижения совместимости сообщения, переданного согласно новому протоколу, с сообщением, переданным в соответствии со старым протоколом. Для облегчения управления типом протокола сообщения требуется, чтобы новая версия протокола могла быть лишь расширена на основе типа протокола старой версии, и расширенные элементы могут быть расположены лишь в конце родительского типа, но не могут быть уменьшены.
На этапе S10, поскольку формат ASN.1 задан для обеспечения возможности задания целочисленного типа, то компилятор формата ASN.1 может быть снабжен функцией обработки целочисленного типа. Предпочтительно целочисленный тип может быть получен через функцию типа C++ в формате ASN.1.
(II) Этап S20
Операция передающей стороны, кодирующей сообщение в кодовый поток, в частности, содержит этапы, на которых: вызывают функцию кодирования значения, функцию кодирования длины и функцию кодирования целочисленного типа с использованием функции кодирования интеграции или вызывают лишь функцию кодирования значения с использованием функции кодирования интеграции для кодирования сообщения в кодовый поток. Функцию кодирования целочисленного типа используют для получения целочисленного типа кодового потока согласно кодировке данных в примере структуры данных. В частности, функцию кодирования значения используют для кодирования простых данных в примере структуры данных в поле V кодового потока, как и в случае примера структуры данных простого типа данных. Функцию кодирования значения используют для последовательного вызова функции кодирования интеграции индивидуальных элементов в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE или SET. Функцию кодирования значения используют для последовательного вызова функции кодирования интеграции индивидуальных элементов массива в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE OF или SET OF. Функцию кодирования значения используют для кодирования выбранного элемента в примере структуры данных в поле V кодового потока, как и в случае примера структуры данных типа CHOICE, причем поле V содержит порядковый номер выбранного элемента в CHOICE и сам выбранный элемент.
Предпочтительно, если целочисленный тип равен 0 или отсутствует, функция кодирования интеграции вызывает лишь функцию кодирования значения, т.е. кодовый поток содержит лишь поле V или содержит поле V и целочисленный тип, равный нулю. Если целочисленный тип не равен 0, функция кодирования интеграции вызывает функцию кодирования значения, функцию кодирования длины и функцию кодирования целочисленного типа, т.е. кодовый поток содержит это поле V, длину L этого поля V и целочисленный тип.
Обработка данных формата TLV передающей стороной описана выше. Что касается принимающей стороны, предложенный способ обработки данных формата TLV дополнительно содержит этапы, на которых принимающая сторона декодирует кодовый поток.
Предпочтительно операция декодирования кодового потока, в частности, содержит этапы, на которых: вызывают функцию декодирования значения, функцию декодирования длины и функцию декодирования целочисленного типа с использованием функции декодирования интеграции или вызывают лишь функцию декодирования значения с использованием функции декодирования интеграции для декодирования кодового потока, используют функцию декодирования целочисленного типа для декодирования кодового потока согласно целочисленному типу в кодовом потоке, используют функцию декодирования значения для декодирования поля V в кодовом потоке в простые данные в примере структуры данных, как и в случае примера структуры данных простого типа данных, используют функцию декодирования значения для декодирования последовательно поля V в кодовом потоке в данные индивидуальных элементов в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE или SET, используют функцию декодирования значения для декодирования последовательно поля V в кодовом потоке в индивидуальные элементы массива в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE OF или SET OF, при этом оценивают, является ли длина потока декодирования в структуре меньше L, и если эта длина меньше L, то декодирование продолжается, в противном случае декодирование в настоящей структуре останавливают, и используют функцию декодирования значения для декодирования порядкового номера в кодовом потоке и элемента, соответствующего порядковому номеру, как и в случае примера структуры данных типа CHOICE, причем если элемент, соответствующий порядковому номеру, не существует в настоящей структуре, функцию декодирования значения завершают.
Предпочтительно операция вызова функции декодирования значения, функции декодирования длины и функции декодирования целочисленного типа с использованием функции декодирования интеграции или вызова лишь функции декодирования значения с использованием функции декодирования интеграции для декодирования кодового потока, в частности, содержит этапы, на которых: определяют, является ли целочисленный тип равным 0 или отсутствующим, с использованием функции декодирования интеграции, причем если он не равен 0 или не отсутствует, то вызывают функцию декодирования значения, функцию декодирования длины и функцию декодирования целочисленного типа, при этом функцию декодирования значения вызывают для декодирования целочисленного типа в кодовом потоке для проверки, соответствует ли полученный целочисленный тип его собственному целочисленному типу, и если он не соответствует, то он рассматривается как результат ненормального декодирования, после чего вызывают функцию декодирования длины для декодирования поля L в кодовом потоке и затем вызывают функцию декодирования значения для декодирования поля V в кодовом потоке, и если длина vL, полученная в результате декодирования этого поля V, меньше, чем L, то L-vL байтов пропускают; если же целочисленный тип равен 0 или отсутствует, он вызывает лишь функцию декодирования значения.
Функция декодирования интеграции в первую очередь определяет, является ли Т сам по себе равным 0. Если он не равен 0, то Т декодируют, и проверяют, соответствует ли декодированный Т самому Т, причем если он не соответствует, то его рассматривают как результат ненормального декодирования, и тогда декодируют L, и затем декодируют V, при этом если длина vL декодированного V меньше L, то L-vL байтов пропускают для согласования длины настоящего типа; если Т равен 0, то непосредственно декодируют V.
Виртуальные функции, запрашиваемые вышеуказанными кодирующими и декодирующими функциями, добавлены к базовым классам в базовый модуль ASN.1 для C++, и классы и функции его элементов, запрашиваемые вышеуказанными кодирующими и декодирующими функциями, добавлены в компилятор ASN.1 для C++.
Вышеупомянутый предпочтительный вариант осуществления содержит два функциональных модуля: базовый модуль и компилятор. Базовый модуль осуществляет поддержку базовых классов TLV и некоторых поддерживающих функций. Компилятор осуществляет анализ файла ASN.1 и генерацию классов, соответствующих различным типам ASN.1 и функциям-членам классов. В прикладной программе сообщение, заданное в соответствии с таким протоколом TLV, используется не только для осуществления взаимодействия с сообщениями по протоколу той же версии, но также и для осуществления взаимодействия Клиента с Сервером с сообщениями по новому и старому протоколам для обеспечения гарантии правил кодирования при взаимодействии Клиента с Сервером с использованием протоколов различных версий. Варианты выполнения настоящего изобретения могут быть реализованы независимо или в расширенном виде на любой существующей платформе компилятора ASN. I.
На Фиг.2 показана структурная схема развивающей процедуры, в которой Клиент и Сервер совместно используют один и тот же язык, разрабатывающий среду, согласно предпочтительному варианту выполнения настоящего изобретения, причем Клиент и Сервер оба разработаны с использованием C++. Развивающая процедура содержит: этап А, на котором разработчик спецификации интерфейса задает интерфейсный файл ASN.1 и создает интерфейсный файл file.h и интерфейсный file.cpp с использованием компилятора Asn.1 для C++; этап В, на котором разработчик Сервера записывает код Сервера и компилирует его с интерфейсным файлом file.h и интерфейсным файлом file.cpp в исполняемую программу Сервера; этап С, на котором разработчик Клиента записывает код Клиента и компилирует его с интерфейсным файлом file.h и интерфейсным файлом file.cpp в исполняемую программу Клиента; и этап D, на котором исполняют программу Клиента и программу Сервера, которые взаимодействуют и связываются с использованием базового модуля Asn.1 для C++.
На Фиг.3 показана структурная схема развивающей процедуры, разрабатывающей среду на различных языках согласно предпочтительному варианту выполнения настоящего изобретения, причем для разработки Клиента используют Java, а для разработки Сервера используют C++. Развивающая процедура содержит: этап А, на котором разработчик спецификации интерфейса задает интерфейсный файл ASN.1, создает интерфейсный файл file.h и интерфейсный файл file.cpp с использованием компилятора Asn.1 в C++ для разработчика C++ и создает интерфейсный файл file.java с использованием компилятора Java в Asn.1 для разработчика Java; этап В, на котором разработчик Сервера записывает код Сервера и компилирует его с интерфейсным файлом file.h и интерфейсным файлом file.cpp в исполняемую программу Сервера; этап С, на котором разработчик Клиента записывает код Клиента и компилирует его с интерфейсным файлом file.java в исполняемую программу Клиента; и этап D, на котором исполняемая программа Клиента и исполняемая программа сервера исполняются и, взаимодействуя, связываются с использованием базовых модулей Asn.1 соответствующего им языка.
На Фиг.4 изображена развивающая процедура разработки среды, при которой для разработки Клиента и Сервера используют различные языки и различные версии протокола согласно предпочтительному варианту выполнения настоящего изобретения, причем в Сервере используют старую версию. Клиент написан на Java, а Сервер разработан с использованием C++, что является относительно сложной процедурой программирования. На этапах осуществления и Клиент и Сервер оба разработаны с использованием C++. Процедура содержит следующие этапы, на которых:
А. Разработчик спецификации интерфейса задает интерфейсный файл версии 2.asn, разрабатывает новую версию на основе интерфейсного файла версии 1.asn, заданной для старой версии, и компилирует две версии соответственно для создания файлов, реализующих интерфейс C++ и Java,
В. Разработчик Сервера записывает код Сервера в старой версии и компилирует его с версией 1.h интерфейсного файла и версией 1.срр интерфейсного файла в исполняемый файл, реализующий программу Сервера,
С. Разработчик Клиента записывает код Клиента в новой версии и компилирует его с интерфейсным файлом 2.java в исполняемый файл, реализующий программу Клиента, и
D. исполняемая программа Клиента и исполняемая программа Сервера во время исполнения взаимодействуют и связываются с использованием базовых модулей Asn.1 соответствующего им языка.
На Фиг.5 показана иерархическая схема отношений наследования базового класса ESNACC, иллюстрирующая систему наследования типов базового класса C++ESNACC согласно предпочтительному варианту выполнения настоящего изобретения, причем AsnType представляет собой базовый класс верхнего уровня. AsnType является абстрактным базовым классом. На этой основе наследуются некоторые простые типы для поддержки базовых типов данных ASN.1, например AsnInt, AsnReal, AsnRelativeOid, AsnAny, AsnOcts, AsnBool, AsnNull и AsnString, причем AsnInt произведен из PERGgeneral, AsnEnum произведен из Asnint; AsnOid произведен из AsnRelativeOid; AsnList представляет собой промежуточный тип для реализации других типов Asn.1; AsnSetOf и AsnSeqOf произведены из AsnList; std::string и std::list из стандартной библиотеки шаблонов используются для дополнительной поддержки SEQUENCE OF, SET OF и т.д. Некоторые примененные строковые типы, например, VisibleString, GraphicString, Ia5String, PrintableString, NumericString произведены из основного строкового типа AsnString, при этом GeneralizedTime и UTCTime произведены из VisibleString.
На Фиг.6 показана блок-схема функции декодирования целого TLV согласно предпочтительному варианту реализации настоящего изобретения.
В дальнейшем согласно требованию объекта управления сетью правила кодирования и декодирования сообщений TLV реализуются на основе ESNACC, который является открытым источником, компилирующим платформу ASN.1. Настоящее изобретение может быть реализовано с использованием любого языка объектно-ориентированного программирования. В настоящей заявке в основном использован язык C++. Также могут использоваться и другие языки объектно-ориентированного программирования, например, язык JAVA.
(I) Источник требования
Как и в случае объектов управления сетью, один объект управления сетью часто должен управлять различными устройствами сетевых элементов. Различные устройства имеют различные версии, и объект управления сетью непосредственно также может иметь различные версии. Объекты управления сетью и программное обеспечение устройства нуждаются в обмене сообщениями. Для ослабления зависимости от версии объектов управления сетью и программного обеспечения устройств объекты управления сетью должны управлять устройствами элементов сети совместимым с версией способом, таким образом чтобы отвечать требованию необходимо ввести правило протокола.
(II) Компиляция Платформы
ESNACC представляет собой открытый исходный компилятор ASN.1, который поддерживает правила кодирования BER и PER базового модуля ASN.1, обеспеченные компилятором. Компилятор ASN.1 в целом обеспечивает компилятор и базовый модуль поддержки, причем компилятор компилирует файл ASN.1 для создания кода конкретного языка программирования, например, C++ и Java. Типы ASN.1 откомпилированы в классы языка программирования. Базовый поддерживающий модуль оказывает поддержку исполнения созданных кодов. Правила кодирования и декодирования TLV реализованы модификацией компилятора и основного поддерживающего модуля.
(III) Реализация конкретных правил кодирования TLV
В реализующей процедуре кодовый поток должен быть отлаженным, и кодовый поток TLV должен быть читаемым, таким образом, Т использует два байта, L использует четыре байта, и формат должен иметь сетевой порядок. Практически для сохранения Т и L могут использоваться и другие форматы, например, формат представления длины в базовых правилах кодирования (BER).
1. Макрос SYNTAX в ASN.1 расширен для поддержки самоопределяемого поля Т, например:
QxString32[10]:: = GraphicString(32)
NameAndStringValue-E [30]:: = SEQUENCE
{
name QxString32
,value QxString32
}.
Терм Т заключен в квадратные скобки перед "::=" и может быть представлен в различных форматах, например, в десятичном и шестнадцатеричном. Макрос SYNTAX является опционным, и таким образом, невозможна ситуация, когда Т представлен как 0.
2. Сообщения, заданные следующими способами, могут быть связаны с использованием старой и новой версий.
(1) Определяют старую версию
ANode [0xF001]:: = SEQUENCE
{
а1 QxUInt8,
a2 QxUInt32,
}
BNode [0xF003]:: = SEQUENCE
{
b1 QxUInt32,
b2 QxUInt16,
c3 QxUInt32
}
CNode [0xF005]:: = SEQUENCE
{
a ANode,
b BNode
}
(2) Определяют новую версию
ANode [0xF001]:: = SEQUENCE
{
a1 QxUInt8,
a2 QxUInt32,
d3 QxUInt32,
d4 QxUInt32
}
BNode [0xF003]:: = SEQUENCE
{
b1 QxUInt32,
b2 QxUInt16,
}
CNode [0xF005]:: = SEQUENCE
{
ANode,
b BNode
}
В новой и старой версиях элементы d3 и d4 добавлены в конце ANode новой версии, в то время как элемент с3 удален из BNode. Две вышеуказанные ноды и CNode могут достичь совместимости по версиям и могут взаимодействовать с использованием способа согласно настоящему изобретению. Из старой версии код сообщения переносят в сообщение новой версии, для d3 и d4 используют значения по умолчанию, в то время как кодовый поток с3 опускают. Код сообщения из новой версии переносят в сообщение старой версии, кодовые потоки d3 и d4 опускают, в то время как значение с3 задают по умолчанию. Другие данные являются согласованными между новой и старой версиями.
3. Файл синтаксиса ASN.1 в ESNACC изменен для поддержки компилятора, который анализирует и сканирует поле Т. Во время осуществления способа Т вносят в информацию описания МЕТА-класса классов.
4. В основной базовый класс ESNACC добавляют функции кодирования и декодирования, которые в основном являются функцией кодирования интеграции, функцией кодирования значения, функцией декодирования интеграции и функцией декодирования значения. Прототипы функций могут быть следующими:
функция кодирования интеграции: virtual AsnLen TlvEnc (AsnBuf&_b);
функция кодирования поля V: virtual AsnLen TlvEncContent (AsnBuf&_b);
функция декодирования интеграции: virtual AsnLen TlvDec (AsnBuf &_b, AsnLen&bytesDecoded) и
функция декодирования значения: virtual AsnLen TlvDecContent (AsnBuf &_b, short iT, AsnLen iL, AsnLen & bytesDecoded).
Как указано выше, b - параметр кодового потока, byteDecoded - суммарное количество байтов одного декодированного кодового потока сообщения, iT-Т кодового потока, iL-L кодового потока, и возвращаемые значения TlvEnc и TlvEncContent представляют собой длины кодировки кодовых потоков. Возвращаемые значения TlvDec и TlvDecContext по существу представляют собой количество байтов, декодированных в функциях. Прототип функций на основе предложенного способа в случае необходимости может быть изменен.
5. Компилятор в ESNACC модифицирован для осуществления генерации кодов различных функций кодирования и декодирования, которые в основном являются функцией кодирования значения и функцией декодирования значения. Поскольку функции кодирования и декодирования интеграции могут быть универсальными для различных типов, процедуры кодирования и декодирования были описаны со ссылкой на Фиг.5 и в вышеуказанном операционном процессе кодирования и декодирования кодового потока.
6. Согласно подробному описанию вышеуказанного этапа S10 формируют интерфейсный файл file.asn новой/старой версии, создают интерфейсный файл message.h и интерфейсный файл message.срр и для редактирования Клиента и Сервера используют C++. Таким образом, подобным способом, как показано на Фиг.3, могут быть осуществлены взаимодействие и связь между различными версиями Клиента и Сервера.
Следует подразумевать, что специалистами могут быть сделаны различные модификации или замены согласно описанию технического решения и конкретным вариантам реализации настоящего изобретения; например, позиция и формат Т, формат L, использованные форматы сжатия и шифрования, а также функции для реализации настоящее изобретение могут быть различными, и, кроме того, оно может быть реализовано даже с использованием способа кодирования оператора вместо функций - элементов.
Из приведенного выше описания можно видеть, что в настоящем изобретении достигнуты следующие технические эффекты:
1. конвертирование типа в кодовый поток способом кодирования;
2. декодирование кодового потока в пример класса способом декодирования;
3. взаимосвязь между протоколами различных версий;
4. самоопределение типа Т;
5. взаимосвязь между программами, написанными на различных языках; и
6. осуществление высокой абстрактной производительности обработки благодаря использованию механизма виртуальных функций объектно-ориентированного языка.
Настоящий способ обработки данных формата TLV сам по себе является универсальным и не зависит от конкретного компилятора ASN.1 и конкретного объектно-ориентированного языка. Такое кодирование и декодирование TLV может быть осуществлено даже при использовании структурированного языка.
Очевидно, специалист в данной области техники должен понимать, что вышеуказанные соответствующие модули или соответствующие этапы способа согласно настоящему изобретению могут быть осуществлены с использованием универсального вычислительного устройства. Они могут быть встроены в одиночное вычислительное устройство или распределены в сети, состоящей из нескольких вычислительных устройств. Кроме того, они могут быть осуществлены с использованием программного кода, исполняемого вычислительным устройством, и таким образом они могут быть сохранены в запоминающем устройстве для исполнения вычислительным устройством или изготовлены в форме соответствующих модулей интегральных схем, или указанные модули или этапы могут быть изготовлены в форме одиночного модуля интегральной схемы. Таким образом, настоящее изобретение не ограничено какой-либо конкретной комбинацией аппаратных и программных средств.
Приведенное выше описание представляет лишь предпочтительные варианты осуществления настоящего изобретения, которые не являются ограничением настоящего изобретения. Настоящее изобретение допускает различные модификации и изменения. Любые модификации, эквивалентные замены, усовершенствования и т.д., сохраняющие идею и принцип настоящего изобретения, входят в объем защиты настоящего изобретения.

Claims (10)

1. Способ обработки данных связи формата "Тип Длина Значение" (TLV), содержащий этапы, на которых:
задают тип Т целочисленного типа в формате ASN.1;
передающая сторона наполняет сообщение в формате ASN.1 сообщением, содержащим пример структуры данных; и
передающая сторона кодирует сообщение в кодовый поток, причем упомянутый кодовый поток примера структуры данных в сообщении содержит значение V или включает в себя V, целочисленный тип упомянутого V и длину L упомянутого V.
2. Способ по п.1, отличающийся тем, что задание целочисленного типа в формате ASN.1, в частности, содержит этапы, на которых:
устанавливают формат ASN.1 для обеспечения возможности задания целочисленного типа и
задают структуру целочисленного типа в формате "string type name [X]:: = defining a structure", причем Х относится к целочисленному типу.
3.Способ по п.2, отличающийся тем, что задание структуры целочисленного типа в формате "string type name [X]:: = defining a structure", в частности, содержит этап, на котором устанавливают структуру целочисленного типа как тип SEQUENCE, SET или CHOICE с одним и тем же именем типа и указывают, что если его элемент должен быть изменен, то разрешено лишь чистое увеличение или чистое уменьшение в элементах и разрешено лишь изменение последнего элемента, но не разрешено изменение типа.
4. Способ по п.3, отличающийся тем, что дополнительно содержит этап, на котором устанавливают компилятор формата ASN.1 с функцией обработки целочисленного типа.
5. Способ по п.4, отличающийся тем, что дополнительно содержит этап, на котором с использованием функции получают целочисленный тип в типе C++ в формате ASN. 1.
6. Способ по п.1, отличающийся тем, что кодирование передающей стороной сообщения в кодовый поток содержит этапы, на которых:
вызывают функцию кодирования значения, функцию кодирования длины и функцию кодирования целочисленного типа с использованием функции кодирования интеграции или вызывают лишь функцию кодирования значения с использованием функции кодирования интеграции для кодирования сообщения в кодовый поток;
используют функцию кодирования целочисленного типа для получения целочисленного типа кодового потока согласно кодировке данных в примере структуры данных;
используют функцию кодирования значения для кодирования простых данных в примере структуры данных в V кодового потока, как и в случае примера структуры данных для простого типа данных;
используют функцию кодирования значения для последовательного вызова функции кодирования интеграции индивидуальных элементов в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE или SET;
используют функцию кодирования значения для последовательного вызова функции кодирования интеграции индивидуальных элементов массива в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE OF или SET OF; и
используют функцию кодирования значения для кодирования выбранного элемента в примере структуры данных в значение V кодового потока, как и в случае примера структуры данных типа CHOICE, причем это значение V содержит порядковый номер выбранного элемента в CHOICE и выбранный элемент.
7. Способ по п.6, отличающийся тем, что, если целочисленный тип равен 0 или отсутствует, функция кодирования интеграции вызывает лишь функцию кодирования значения и, если целочисленный тип не равен О, кодовый поток содержит это значение V, длину L этого значения V и целочисленный тип.
8. Способ по п.1, отличающийся тем, что дополнительно содержит этап, на котором принимающая сторона декодирует кодовый поток.
9. Способ по п.8, отличающийся тем, что декодирование кодового потока, в частности, содержит этапы, на которых:
функция декодирования интеграции вызывает функцию декодирования значения, функцию декодирования длины и функцию декодирования целочисленного типа или функция декодирования интеграции вызывает лишь функцию декодирования значения для декодирования кодового потока;
используют функцию декодирования целочисленного типа для декодирования кодового потока согласно целочисленному типу в кодовом потоке;
используют функцию декодирования значения для декодирования значения V в кодовом потоке в простые данные в примере структуры данных, как и в случае примера структуры данных для простого типа данных;
используют функцию декодирования значения для декодирования последовательно значения V в кодовом потоке в данные индивидуальных элементов в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE или SET;
используют функцию декодирования значения для декодирования последовательно значения V в кодовом потоке в индивидуальные элементы массива в примере структуры данных, как и в случае примера структуры данных типа SEQUENSE OF или SET OF, во время которого оценивают, является ли длина потока декодирования в структуре меньше L, и, если указанная длина меньше L, продолжают декодирование, в противном случае декодирование в настоящей структуре прекращают; и
используют функцию декодирования значения для декодирования порядкового номера в кодовом потоке и элементе, соответствующем указанному порядковому номеру, как и в случае примера структуры данных типа CHOICE, причем если элемент, соответствующий указанному порядковому номеру, не существует в настоящей структуре, функцию декодирования значения завершают.
10. Способ по п.9, отличающийся тем, что вызов функцией декодирования интеграции функции декодирования значения, функции декодирования длины и функции декодирования целочисленного типа или вызов функцией декодирования интеграции лишь функции декодирования значения для декодирования кодового потока, в частности, содержит этапы, на которых:
определяют функцией декодирования интеграции, является ли целочисленный тип равным 0 или отсутствующим,
если упомянутый целочисленный тип не равен 0 или не является отсутствующим, то вызывают функцию декодирования значения, функцию декодирования длины и функцию декодирования целочисленного типа, причем функцию декодирования значения вызывают для декодирования целочисленного типа в кодовом потоке для проверки, соответствует ли полученный целочисленный тип собственному целочисленному типу, и если не соответствует, то он рассматривается как результат ненормального декодирования, функцию декодирования длины вызывают для декодирования длины L в кодовом потоке и затем вызывают функцию декодирования значения для декодирования значения V в кодовом потоке; если длина vL, полученная декодированием этого значения V, меньше длины L, то L-vL байтов пропускают, и
если упомянутый целочисленный тип равен 0 или отсутствует, то вызывают лишь функцию декодирования значения.
RU2011103630/08A 2008-07-02 2009-02-10 Способ обработки данных связи tlv-формата RU2473180C2 (ru)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN2008101376473A CN101316241B (zh) 2008-07-02 2008-07-02 用于通信数据的tlv格式处理方法
CN200810137647.3 2008-07-02
PCT/CN2009/070391 WO2010000139A1 (zh) 2008-07-02 2009-02-10 用于通信数据的tlv格式处理方法

Publications (2)

Publication Number Publication Date
RU2011103630A RU2011103630A (ru) 2012-08-10
RU2473180C2 true RU2473180C2 (ru) 2013-01-20

Family

ID=40107085

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2011103630/08A RU2473180C2 (ru) 2008-07-02 2009-02-10 Способ обработки данных связи tlv-формата

Country Status (7)

Country Link
US (1) US20110134939A1 (ru)
EP (1) EP2302864B1 (ru)
CN (1) CN101316241B (ru)
BR (1) BRPI0915217B1 (ru)
ES (1) ES2659396T3 (ru)
RU (1) RU2473180C2 (ru)
WO (1) WO2010000139A1 (ru)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101316241B (zh) * 2008-07-02 2013-05-01 中兴通讯股份有限公司 用于通信数据的tlv格式处理方法
CN103246671A (zh) * 2012-02-09 2013-08-14 中兴通讯股份有限公司 抽象语法标记文件的处理方法及装置
CN103036877A (zh) * 2012-12-10 2013-04-10 北京中创信测科技股份有限公司 一种基于tlv格式协议的编解码代码生成装置及方法
US10109983B2 (en) 2016-04-28 2018-10-23 Hewlett Packard Enterprise Development Lp Devices with quantum dots
US10566765B2 (en) 2016-10-27 2020-02-18 Hewlett Packard Enterprise Development Lp Multi-wavelength semiconductor lasers
US10680407B2 (en) 2017-04-10 2020-06-09 Hewlett Packard Enterprise Development Lp Multi-wavelength semiconductor comb lasers
US10396521B2 (en) 2017-09-29 2019-08-27 Hewlett Packard Enterprise Development Lp Laser
EA201800181A1 (ru) * 2018-03-30 2019-10-31 Система управления сетью pos-терминалов
CN109298866A (zh) * 2018-09-26 2019-02-01 杭州米加科技股份有限公司 基于c语言的tlv格式协议快速解析方法
US11271792B2 (en) * 2019-01-18 2022-03-08 Hewlett Packard Enterprise Development Lp Using a recursive parser tree to implement a smaller code segment for an embedded simple network management protocol agent
CN113742294A (zh) * 2021-08-23 2021-12-03 宜通世纪科技股份有限公司 一种asn.1-per信令消息解码方法、系统、装置及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0652666A1 (en) * 1993-11-05 1995-05-10 Microsoft Corporation System and method for computer data transmission
US6883164B2 (en) * 2000-12-15 2005-04-19 International Business Machines Corporation Strategy for dynamically modeling ASN.1 data to an object model
WO2005057873A1 (fr) * 2003-12-12 2005-06-23 Huawei Technologies Co., Ltd. Procede de mise en oeuvre d'un dispositif universel expliquant les messages
WO2005081496A1 (en) * 2004-02-18 2005-09-01 Honeywell International, Inc. Systems and methods for encoding and decoding data messages
RU2005110953A (ru) * 2002-09-14 2005-09-20 Лейка Геосистемз Аг (Ch) Способ и устройства для использования данных в форматах данных, не поддающихся непосредственной обработке
CN101149753A (zh) * 2007-10-25 2008-03-26 中兴通讯股份有限公司 复杂抽象语法标识对象的存储方法

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5649189A (en) * 1995-11-29 1997-07-15 3Com Corporation Method and apparatus for single pass data encoding of binary words using a stack for writing in reverse order
US6356955B1 (en) * 1996-02-15 2002-03-12 International Business Machines Corporation Method of mapping GDMO templates and ASN.1 defined types into C++ classes using an object-oriented programming interface
JP3531536B2 (ja) * 1999-05-28 2004-05-31 日本電気株式会社 抽象構文記法を用いたデータ構造定義における型情報の動的割り当て方法
FI20002720A (fi) * 2000-12-12 2002-06-13 Nokia Corp Menetelmä konversioiden suorittamiseksi
US6999010B2 (en) * 2004-04-16 2006-02-14 Ares International Corporaton Table look-up method for abstract syntax notation encoding/decoding system
CN101197818A (zh) * 2006-12-08 2008-06-11 中兴通讯股份有限公司 一种asn.1报文面向对象的处理方法
CN101159743B (zh) * 2007-10-22 2010-06-23 中兴通讯股份有限公司 Asn.1编解码函数自动生成中的数据类型选择方法
US7996523B2 (en) * 2008-01-17 2011-08-09 Fluke Corporation Free string match encoding and preview
CN101316241B (zh) * 2008-07-02 2013-05-01 中兴通讯股份有限公司 用于通信数据的tlv格式处理方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0652666A1 (en) * 1993-11-05 1995-05-10 Microsoft Corporation System and method for computer data transmission
US6883164B2 (en) * 2000-12-15 2005-04-19 International Business Machines Corporation Strategy for dynamically modeling ASN.1 data to an object model
RU2005110953A (ru) * 2002-09-14 2005-09-20 Лейка Геосистемз Аг (Ch) Способ и устройства для использования данных в форматах данных, не поддающихся непосредственной обработке
WO2005057873A1 (fr) * 2003-12-12 2005-06-23 Huawei Technologies Co., Ltd. Procede de mise en oeuvre d'un dispositif universel expliquant les messages
WO2005081496A1 (en) * 2004-02-18 2005-09-01 Honeywell International, Inc. Systems and methods for encoding and decoding data messages
CN101149753A (zh) * 2007-10-25 2008-03-26 中兴通讯股份有限公司 复杂抽象语法标识对象的存储方法

Also Published As

Publication number Publication date
RU2011103630A (ru) 2012-08-10
WO2010000139A1 (zh) 2010-01-07
CN101316241B (zh) 2013-05-01
CN101316241A (zh) 2008-12-03
EP2302864B1 (en) 2017-11-15
EP2302864A4 (en) 2013-11-20
EP2302864A1 (en) 2011-03-30
BRPI0915217A2 (pt) 2016-09-13
ES2659396T3 (es) 2018-03-15
BRPI0915217B1 (pt) 2020-10-06
US20110134939A1 (en) 2011-06-09

Similar Documents

Publication Publication Date Title
RU2473180C2 (ru) Способ обработки данных связи tlv-формата
EP2124419B1 (en) An object oriented management device for asn.1 message
US20050278693A1 (en) Distribution adaptor for network management application development
WO2006014766A2 (en) Method and apparatus for converting network management protocol to markup language
WO2002048856A1 (en) A method for performing data structure conversions
CN113515278A (zh) 低代码模型处理方法、系统、电子设备及存储介质
CN114024821A (zh) 一种北向接口的管理方法及装置
US6976263B2 (en) Mechanism for encoding and decoding upgradeable RPC/XDR structures
Deri Network Management for the 90s
US6313768B1 (en) System and method for trace diagnostics of telecommunications systems
WO2012083616A1 (zh) 报文编、解码方法及装置
US8464218B2 (en) Method port arrangement and configuration method thereof for robot software component
KR100751449B1 (ko) OSGi 서비스 플랫폼 기반의 스텁 번들 생성 방법
Pfisterer et al. Energy-optimized data serialization for heterogeneous WSNs using middleware synthesis
Kövesdán et al. Modeling Cloud Messaging with a Domain-Specific Modeling Language.
Qiang et al. ASN. 1 application in parsing ISUP PDUs
Boulifa et al. Finite model generation for distributed Java programs
Guimaraes et al. An automatic java code generation tool for telecom distributed systems
Konovalov et al. with Symbolic Computation Software Composability Protocol
Lee Translation of GDMO/ASN. 1 to Java objects for network management
Protocol SCSCP
Chadha et al. chadha@ bellcore. com
Falcarin A CPL to Java compiler for dynamic service personalization in JAIN-SIP server
Triglia ASN. 1 for More Effective Network Standards
Guimarães et al. Generating java code for TINA systems