|
На компьютере, на котором выполняет работу шлюз, необходимо:
· на сервере СУБД создать пользователя базы данных, от имени которого «шлюз» будет манипулировать данными в таблицах поездов. От имени этого пользователя при помощи стандартных средств СУБД запустить на выполнение sql-сценарии, входящие в комплект поставки программы-шлюза, которые создадут необходимые объекты в схеме пользователя (таблицы, представления, хранимые процедуры манипуляции с данными). SQL-сценарии написаны на языке, реализацию которого поддерживает сервер СУБД;
· установить клиентское программное обеспечение СУБД, необходимое для доступа к серверу, на котором будет вестись база поездов;
· установить библиотеку BDE версии 5.0 разработки фирмы BORLAND. Это библиотека универсального доступа к данным, расположенным в РСУБД. Текущая реализация варианта программы-шлюза использует эту библиотеку для установления связи с сервером и выполнения запросов в сервер на модификацию таблиц (DML – data manipulation language). При помощи программы-конфигуратора BDEAdministrator, входящей в поставку данной библиотеки, создать BDE-псевдоним для сервера СУБД, на котором будет вестись база поездов ГИД. Этот BDE-псевдоним нужно указать в настроечном ini-файле шлюза (параметр ‘link’);
· в ini-файле шлюза задать путь к сетевому каталогу (секция Directories), из которого будут подбираться пакеты сообщений для обработки.
Генерация сообщений о модификации расписаний оперативной базы ГИД, выполняется ведущей машиной ГИД при:
- получении сообщений об изменениях в расписании поезда (добавлении операции, корректировке времени операции, удалении операции) из источников, передающих сведения в ГИД – АСОУП, рабочих мест ГИД;
- обнаружении новой или корректировке времени ранее сформированной операции по данным СЦБ для идентифицированной нитки поезда (нитки, имеющей индекс АСОУП или хотя бы присвоенный вручную номер);
- очередном расчёте оперативного плана пропуска поездов;
- вытеснении поезда из оперативной базы ГИД по истечении срока его нахождения в оперативной базе.
Ведущая машина ГИД регистрирует вышеуказанные изменения и накапливает пакет сообщений, который помещается в очередь для обработки в шлюзе. Установка пакета в очередь выполняется либо по истечении очередных 5 секунд с начала момента накопления, либо по достижении пакетом заранее заданного максимального размера. Предусмотрен также отладочный режим работы по формированию пакетов. В этом режиме ведущая машина ГИД помещает пакет в очередь немедленно после обнаружения очередной модификации базы расписаний ГИД, так, что каждый пакет содержит сведения о модификации не более чем одного расписания из оперативной базы ГИД.
После запуска шлюза, программа пытается установить соединение с сервером СУБД. В случае неудачи на экран выдается сообщение об ошибке и запуск программы останавливается. При успешном установлении соединения – на экран выдается сообщение об успешном подключении и программа начинает работу.
Все действия протоколируются программой в текстовых файлах:
- pack_err.prt – протокол ошибок, возникших при обработке сообщений;
- pack_prt – протокол обработки сообщений, чья обработка завершилась успехом;
- sqlgate.prt – протокол установления/разрыва связи с сервером СУБД, протоколируется время установления соединения, время разрыва, если такое событие произошло.
Работа заключается в периодическом сканировании очереди входных пакетов сообщений от ведущей машины ГИД (в виде файлов в разделяемом каталоге). Выборка пакетов из очереди производится в той же последовательности, в которой происходило их формирование (по принципу FIFO). Сообщение из полученного пакета анализируется для определения его типа. В зависимости от типа сообщения программа вызывает соответствующую хранимую процедуру на сервере СУБД, передавая ей входные параметры, включающие в себя в основном данные из сообщения и выходной параметр, который после выполнения процедуры будет содержать результат совершенного действия на сервере.
Процедуры выполняют следующие действия: внесение/изменение поезда, либо его данных, внесение/изменение данных о проследовании поезда по раздельному пункту. Если процедура отработала успешно, то данный результат протоколируется в файле pack_prt и сообщение вызвавшее эту процедуру перемещается в архив пакетов, если включено архивирование, иначе удаляется. Если процедура не смогла завершить исполнение, и сервер выдал ошибку, то этот исход протоколируется в файле pack_err.prt, сообщение перемещается в отдельный архивный каталог для сбойных пакетов, независимо от того включено архивирование или нет. Эти сообщения в дальнейшем используются разработчиками для выяснения причины сбоя.
Для контроля состояния шлюза реализована программа-монитор, позволяющая следить с удаленного рабочего места за работой шлюза. Монитор контролирует два основных параметра работы шлюза:
- доступ шлюза к сетевому каталогу (возможность подбора пакетов сообщений);
- соединение с сервером СУБД (возможность обработки данных).
П 15. Преобразование таблиц системы ГИД «Урал-ВНИИЖТ» в таблицы MS EXCEL.
Данная функция выполняется только в Windows-версии системы ГИД «Урал-ВНИИЖТ».
Дата добавления: 2015-09-12; просмотров: 11 | Поможем написать вашу работу | Нарушение авторских прав |