Декодирование, анализ номера и выбор направлений

Общая структура этого алгоритма показана на рис. 10. На вход поступает информация, ко­торая должна быть преобразована в другую форму. Пересчет одного числа или набора чи­сел в другие — довольно распро­страненная в коммутационной тех­нике операция. В частности, она обусловлена многозначностью сис­темы нумерации одного и того же прибора на телефонной станции. Например, абонентский комплект может иметь следующие номера:

списочный — зафиксирован­ный в абонентском справоч­нике и поступающий на АТС при наборе номера абонента;

позиционный — номер места включения этого АК в коммутационном поле;

порядковый — тип комплекта и номер в типе;

по вводу — номер линейки определителя;

по выводу — номер линейки управляющего устройства, в которое включены исполни­тельные элементы;

зоны памяти — номер области, в которой хранятся данные о комплекте.

В процессе установления соединения все эти номера могут преобразовываться один в другой. При разработке АТС всегда стараются упорядочить связь между нумерациями. Наличие закона, определяющего такое преобразование, экономит ресурсы, но, к сожале­нию, чаще всего такой закон отсутствует.

Рис. 11 Области памяти алгоритма анализа: а) организация памяти при прямом пересчете; б) при двухступенчатом пересчете

Очень простым алгоритмом преобразования (пересчета) является одноступенчатая де­шифрация с помощью таблицы, когда каждому исходному номеру, подлежащему пересче­ту, отводится одна строка таблицы, в которую записывается соответствующий номер в дру­гой системе нумерации. Подобный пример показан на рис. 11, а. Показанный дешифратор предназначен для определения порядкового номера абонентского комплекта. Каждой стро­ке сопоставляется списочный номер (например, 512546), в который записан соответствую­щий порядковый номер абонентского комплекта (в данном случае АК 1).

Существенное влияние на алгоритмы дешифрации оказывают требования наращивания станции в процессе эксплуатации. Для удобства расширения станции в процессе эксплуата­ции часто вводится двухступенчатая или многоступенчатая адресация (рис. 11, б).

На современных сетях с узлообразованием число возможных комбинаций первых цифр абонентского номера значительно превышает число направлений с каждой станции. Каж­дую АТС можно включить в узел исходящего сообщения. При этом внешние связи идут только через узел. Таким образом, число внешних направлений равно 1, и, если номер або­нента сети содержит 6 знаков, то одноступенчатая нумерация приведет к огромному объему неэффективно используемой памяти. Учитывая вышесказанное, для уменьшения объема пе­ресчета можно применить последовательный принцип анализа, когда последовательно ана­лизируется каждая отдельная цифра.

Результаты такого анализа могут быть следующими:

данное число цифр (в том числе и одна цифра) достаточно для пересчета направления;

анализ направлений должен быть продолжен с использованием того же числа цифр;

необходимо продолжить анализ с добавлением для анализа еще одной цифры.

Для алгоритма, реализующего этот способ, организуются массивы памяти анализа пер­вой, второй третьей и т.д. цифр номера (рис. 12). Каждая зона массива памяти содержит два слова (на рис. 12 показаны только зоны массива первых цифр). Первое слово содер­жит в себе эталон, с которым будет сравниваться /-я цифра номера, и адрес (Аь А2,..., Аn) очередного слова зоны массива первых цифр. В этой зоне находится другой эталон, сравне­ние с которым осуществляется в случае, если предыдущий эталон совпал с i-й цифрой но­мера. Если такое совпадение произошло, во втором слове может иметь место один из двух видов информации: номер направлений или адрес массива следующей (i + 1)-й цифры, с эта­лонами которого надо последовательно сравнить эту цифру

Рис. 12 Массивы алгоритма последовательного анализа цифр:

А,,..., А„ — адреса, по которым осуществляется переход при несовпадении цифры

и эталонов зон той же i-й цифры; B, B2 — направления или адреса, по которым возможен

переход при совпадении цифры и эталона в зону (i + 1)-й цифры; g — признак перехода

по адресу или окончания поиска направления

Эталон представляет собой десятиразрядное слово с информацией, записанной позиционно. Напомним, что в позиционном коде каждой цифре от 0 до 9 соответствует один двоичный разряд, единичное значение которого свидетельствует о наличии этой цифры в слове.

КОММУТАЦИОННЫЕ СТАНЦИИ

Модуль, реализующий этот алго­ритм, использует в качестве входных данных заявки от алгоритма приема номера (адреса зоны, где накоплены цифры). Результатом его работы явля­ется номер направления.

Алгоритм настраивается на основе таблиц, списочных номеров и соответ­ствующих им направлений (рис. 12). Он осуществляет ряд действий, пред­ставленных на рис. 13. Алгоритм начинается с запуска. Затем устанав­ливается индекс i = 0 (оператор 2), соответствующий первой цифре но­мера. Далее эта цифра читается (опе­ратор 3) и декодируется в позицион­ный номер (оператор 4), после чего читается эталон (Эi) (оператор 5) и побитно проверяется на совпадение (оператор 6) с позиционным значением номера (N,).

Рис. 13 Алгоритм пересчета номера

Если получено совпадение позици­онного номера и эталона, то проверяет­ся признак во втором слове эталона (оператор 8). Значение g = 0 говорит о том, что в этом слове записан номер направления, который вносится в рабо­чую ячейку (оператор 9) и является ре­зультатом работы алгоритма. Если цифра не совпала с эталоном, то из первого слова эталона читается адрес зоны и эталона, размещенного в этой зоне (оператор 7) и процесс повторяет­ся. При совпадении цифры с эталоном и при g = 1 читается следующая цифра и эталон вторых цифр, адрес которого указан во втором слове зоны (i: = i + 1, оператор 12). При этом проверяется, не превосходит ли индекс (/+1) за­данное на сети число цифр (оператор 13). Если не превосходит, читается следующая цифра и процесс повторя­ется. В противном случае отмечается, что набранный номер соответствует несуществующему направлению (опе­ратор 14).

Рассмотрим конкретный пример. На рис. 14 показаны сетевые соединения станции, обозначенной цифрой 1. От нее к другим АТС имеется шесть направлений, обо­значенных шестизначными номерами. Первые два направления характеризуются одним зна­ком, одно направление — двумя знаками, остальные два — тремя знаками.

Рис. 14 Пример сети связи с нумерацией направлений

На рис. 15 показаны зоны памяти, соответствующие данной сети.

По адресу I в эталоне значением 1 отмечены позиции 5 и 6, соответствующие первому направлению. Номер данного направления записан во втором слове, признак g = 0. В пра­вой части первого слова содержится адрес второй зоны (адрес 2), используемый при несов­падении цифр с эталоном. Значением 1 в эталоне адреса 2 отмечены позиции 7 и 8, соответ­ствующие второму направлению. Адрес 3 в этой зоне указывает, куда надо перейти при не­совпадении эталона и цифры. Признак g = 1 в слове с адресом 3 указывает, что в случае совпадения позиционного номера цифры и хотя бы одного разряда эталона нужно перейти в эталон массива вторых цифр по адресу 5. Такой переход диктуется тем, что первая цифра со значением 1 не дает возможности определить направление, поскольку четыре направле­ния (с третьего по шестое) характеризуются номерами, начинающимися с 1 (рис. 14). В конце каждого массива цифр стоит эталон, содержащий все единицы. Он гарантирует, что цифры, не пересчитанные в номер направления или не переадресованные к другим ячейкам, не приведут станцию в тупиковую ситуацию. Таким цифрам приписывается индекс «несу­ществующее направление». Действия для подобных исходных данных уже отображены об­щим алгоритмом анализа (см. рис. 13).

При запуске в работу этого алгоритма указывается место, в котором находится инфор­мация, подлежащая декодированию. Наиболее распространенный случай — пересчет на­бранного номера в номер направления установления соединения. В этом случае дается заяв­ка с указанием области памяти процесса, где находится информация, и указанием места, в которое следует записать номер найденного направления.

Рис. 15 Пример отображения участка сети в зонах памяти В зонах памяти отображается сеть, показанная на рис. 14


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: