XML и SQL в проектировании САПР телекоммуникационных сетей

УДК 004.72

XML and SQL in Network CADD Development

Sviridov Andrey Aleksandrovich,

programmer, JSC "Sozvezdie" Concern",

Abstract. In the article the problem of storage for configuration and control of telecommunications networks. The author examined options for planning and configuration and control. The author has considered the applications of Postgres, XML, embedded SQLite.

Key words: DB, XML, SQLite, Postgres.

XML и SQL в проектировании САПР телекоммуникационных

сетей

Свиридов Андрей Александрович, программист, АО «Концерн «Созвездие»,

e-mail: aeon32@mail.ru

Аннотация. В статье рассмотрена проблема хранения данных для настройки и контроля телекоммуникационных сетей. Выделены варианты планирования и настройки, а также контроля. Рассмотрены варианты применения Postgres, XML, встраиваемой SQLite.

Ключевые слова: СУБД, XML, SQLite, Postgres.

В мобильных сетях транспортных средств [1,2] используется обрудование физического, канального, сетевого, а также транспортного и прикладного уровня. Кроме того применяется оборудование, не относящееся к телекоммуникационному оборудованию, но отображаемое на схемах (палатка, строение, автомобильное средство, служащие «контейнерами» для ЛВС, входящих в МСТС). Подобные средства можно классифицировать [3] и реализовать в виде шаблонов [4]. Если устройства хранятся в виде XML-файлов [5] возникает необходимость копирования копировании шаблонов с ЭВМ на ЭВМ.

Использование баз данных оправдано в случае централизованных сетей, в случае децентрализованных сетей может использоваться XML. Стоит отметить, что XML сам по себе может быть использован как внутренний формат для хранения в базах данных.

Есть возможность совмещенного хранения, благодаря представлению вложенной XML-структуры в виде таблиц реляционной СУБД [6].

Также возможна конвертация между записями в БД и XML-файлами [6,7,8].

Для хранения в случае хранения в виде XML и для передачи данных между машинами МСТС используется вариант разметки NTDML[5].

Пример такого кода. <?xml version="1.0" encoding="UTF-8"?>

<Map Min_X="8" Max_X="5 94" Min_Y="8" Max_Y="105 9"

>

<Objects>

<Object Key_GRPName="rp" ObjType=MGRP" Key_Call="" G_IsLogic="0" G_Subleveled="0"

Key_TAPAddress="####_????A10 0"

Key_ObjectClass="5" Id="57726832" Key_GRPType="0" G_Mirrored="0" G_Width="587" Key_TypeGRP="5" G_Height="1052" G_X="8" Key_GRPCode="" g_Y="8" >

<Object Key_GRPName=Mшом ObjType=MGRPM Key_Call = ''M G_IsLogic=M1M G_Subleveled=M0M

Key_TAPAddress=M####_1???A10 0M

Key_ObjectClass = M5M Id="524 87 8 96" Key_GRPType=M0M G_Mirrored=M0M G_Width=M0M Key_TypeGRP=M2M

G_Height=M0M G_X=M0M Key_GRPCode=MM g_Y=m0m >

<Object Key_GRPName=MшM ObjType="GRP" Key_Call="" G_IsLogic="0" G_Subleveled="0"

Key_TAPAddress=M####_11??B2 " Key_ObjectClass="5" Id="57727512" Key_GRPType="332 8" G_Mirrored="0" G_Width="17 2" Key_TypeGRP="17" G_Height="232" G_X="2 0" Key_GRPCode="" G_Y="52" > <Object Key_UNTCode="" Key_UNTType="9"

ObjType="UNT" G_IsLogic="0" G_Subleveled="1" Key_UNTName="К" Key_TAPAddress="####_111?C00 9" Key_DLList="" Key_Lan="" Key_ObjectClass="4" Id="5324 9184" G_Mirrored="0" G_Width="100" G_Height="60" G_X="51" G_Y="96" ><Object NetId="557 512 96" ObjType="UNTConnector"

G_IsLogic="0" G_Subleveled="0" G_IsAutoDelete="0" MirrorId="52591520" Key_ObjectClass="104"

Id="57728208" Key_PortName="p" G_Mirrored="1" G_Width="9" G_Height="9" G_X="74" G_Y="93" ><Object G_LabelText="PROP:PortName"

ObjType="Label" G IsLogic="0" G Subleveled="0"

Ы="54149504" G_Mirrored=м0м

G_Height=м15м G_X=м75м G_Y=мl01м />

<Object NetId=м57790240м ObjType=мuNTConnector G_IsLogic=м0м G_Subleveled=м0м G_IsAutoDelete=м0 MirrorId=м583 994 08м Key_ObjectClass=мl04

Id=м57728904м Key_PortName=мpм G_Mirrored=мl G_Width=м9м G_Height=м9м G_X=м62м G_Y=м93м > <Object G_LabelText=мpROP:PortName

ObjType=мLabelм G_IsLogic=мoм G_Subleveled=мo Id=м58120800м G_Mirrored=мoм G_Width=м7

G Height=мl5м G Х=мб3м G Y=мl0lм />

</Object>

</Object>

</Object>

<Nets>

<Net

PreviousMirrorId NextMirroredId=мoм > <Connection EndId=м57760928 <Line G_EndX=м24 7м G_EndY= G_LineColor=м#64 64 64м G_StartY=мl25м /> <Line G_EndX=м2 51м G_EndY= G_LineColor=м#64 64 64м G_StartY=мl71м /> </Connection> </Net>

<Net PreviousMirrorId

NextMirroredId=мoм > <Connection EndId=м57760064 <Line G_EndX=м3 60м G_EndY= G_LineColor=м#64 64 64м G_StartY=м289м />

<Line G_EndX=м3 60м G_EndY= G_LineColor=м#64 64 64м G_StartY=м289м /> <Line G_EndX=м423м G_EndY= G_LineColor=м#64 64 64м G_StartY=м428м /> </Connection> </Net>

= м0'

Id=м56339896,

м StartId=м57742720м > "171м G_IsVertical=мlм G_StartX=м247м

''171м G_IsVertical = м0м G StartX=м247м

=м0м

Id=м56457064

м StartId=м58295200м > м289м G_IsVertical=м0м G_StartX=м317м

=м428м G_IsVertical=мlм G_StartX=м360м

м428м G_IsVertical=м0м G StartX=м360м

</Nets> </Map>

Стоит обратить внимание на ObjType, которые хранятся в справочниках, реализованных в виде таблиц реляционной СУБД, на хранение свойств объектов (описанных в справочниках) в виде Label с префиксом Prop: в значении. Координаты не несут информации о топологии сети, но служат для ее визуального отображения.

Помимо централизованной СУБД и распределенных файлов NTDML (XML) можно рассмотреть еще один реализованный распределенный вариант на базе SQLite, («встраиваемой реляционной базой данных», не образует отдельного процесса, и позволяет использовать приложению SQL-интерфейс доступа к базам данных без подключения к серверу SQL, что как раз подходит для рассматриваемого случая). Удобством такого решения является использование тех же SQL-запросов, что и в случае централизованной базы данных.

Для хранения структуры сети в базе данных использовались схемы:

• scheme_categories - категория схем (хранит типы схем),

• scheme_connections - физические линии связи как одно целое

• scheme_lines - линии связи,входящие в scheme_connec-tions

• scheme_nets - схемы

• scheme_objects - объекты

• scheme_properties - свойства объектов

Подобная схема позволила реализовать схожую структуру хранения схем МСТС независимо от варианта использования, в виде XML, в СУБД или во встраиваемой СУБД SQLite.

Была разработана соответствующая программа конвертирования [7], которая используется как промежуточное звено между САПР телекоммуникационных систем и ПО генерации настроечных данных для аппаратуры связи и сетевого программного обеспечения [8]

Библиографический указатель

1. Кручинин С.В. Мобильные сети транспортных средств: область и особенности применения // Научно-исследовательские публикации. 2015. № 11 (31). С. 135-136.

2. Кручинин С.В. Мультисервисные одноранговые мобильные сети - определение, характеристики //Общество и цивилизация. 2014. Т. 2. С. 31-341.

3. Кручинин С.В. Математическая модель контролируемых устройств //Известия Волгоградского государственного технического университета. 2013. Т. 17. № 14 (117). С. 19-20.

4. Вишняков А.В. Опыт настройки системы связи транспортных средств // Научно-исследовательские публикации. 2013.№ 1. С. 56-65.

5. Вишняков А.В., Кручинин С.В. Язык описания топологии вычислительных сетей NTDL // Известия Волгоградского государственного технического университета. 2012. № 15. С. 126-129.

6. Свиридов А.А. Хранение топологии сети в реляционных базах данных // Научно-исследовательские публикации. 2013. №1. 94105

7. Свиридов А.А. Программа конвертирования форматов представления схем связи XML/PostgreSQL//Свидетельство о государственной регистрации программа для ЭВМ № 2011611427. -Москва. -Федеральная служба по интеллектуальной собственности, патентам и товарным знакам.

8. Кручинин С. В., Лазарев В. В. Программа настройки ПО СТ // Свидетельство о государственной регистрации программа для ЭВМ № 2011618880 от 15.10.2011. -Москва. -Федеральная служба по интеллектуальной собственности, патентам и товарным знакам.