Отчет о выполнении 1 этапа Государственного контракта № п 1116 от 26 августа 2009 г


Системные вызовы для применения UNIX-утилит PLOTXY и CONTOUR



страница13/17
Дата31.07.2016
Размер1.18 Mb.
ТипОтчет
1   ...   9   10   11   12   13   14   15   16   17

4.3.4 Системные вызовы для применения UNIX-утилит PLOTXY и CONTOUR

Для применения UNIX-утилит PLOTXY и CONTOUR в пользовательских фортран программах разработаны специальные системные подпрограммы. Они принимают от вызывающей программы имя управляющего файла, проверяют его наличие в системе, затем запускают утилиты и отображают Postscript файл.

Обращение к подпрограммам имеет вид: call plotcnt(filename) call plotxy (filename), где: filename - имя управляющего файла с параметрами изображения. (Напомним, если имя начинается с символа “/”, то оно рассматривается как путь от корня файловой системы, иначе - как путь от текущей директории (.../snda/sun4). Внимание! Если в обращении из фортран-программы имя указано непосредственно (в кавычках), то оно должно оканчиваться пробелом. Последний используется в подпрограмме как признак конца имени.

Имя PostScrip файла в свою очередь задается в управляющем файле. Если же оно опущено, то принимается имя "plot/snda.ps".Пользователю рекомендуется размещать свои файлы в директории "sun4/plot".


4.3.5 Системный вызов для применения пакета SURFER

Для применения собственного графического пакета SURFER UNIX-утилит PLOTXY и CONTOUR в пользовательских фортран программах разработана специальная системная подпрограмма. Она принимают от вызывающей программы имя управляющего файла, и запускает исполнительный модуль surfer , для отображения поверхности функции двух переменных.

Обращение к подпрограммам имеет вид: call plotsrf (filename), filename - имя управляющего файла с параметрами изображения. (Напомним, если имя начинается с символа “/”, то оно рассматривается как путь от корня файловой системы, иначе - как путь от текущей директории (.../snda/sun4).

Внимание! Если в обращении из фортран программы имя указано непосредственно (в кавычках), то оно должно оканчиваться пробелом. Последний используется в подпрограмме как признак конца имени.




4.3.6 Другие системные вызовы

Сleanstr - программа для замещения нулевого символа, стоящего в конце символьной строки, образованной C-программой, пробелом.

Использование в ФОРТРАНЕ: call cleanstr (strname,length)

strname - имя символьной переменной;

length - длина переменной (целое).

Программа отыскивает NULL символ в пределах указанной длины строки и замещает его пробелом.


4.4 База данных в SNDP

4.4.1 Структура базы данных, обеспечивающей хранение информации, включая непрерывные данные


Понятие «Центр обработки» в рамках рассматриваемой работы понимается как вычислительная станция, включенная в IP сеть и являющаяся местом промежуточного или окончательного хранения непрерывных данных в целях ретрансляции и/или обработки.

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

Хранение данных, основанное на использовании реляционных баз данных (RDBS), показала свою эффективность в части надежности хранения, контроля полноты и непротиворечивости данных, скорости доступа к данным для модификации, минимальное восстановления БД после сбоя аппаратуры, архивирования и восстановления исторических данных для проведения научно исследовательских и контрольных работ.

Для хранения данных в реляционной базе должна быть разработана “схема базы”, т.е. список таблиц, типов полей и взаимозависимостей между полями различных таблиц.

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

Временная база, в свою очередь, разделяется на базу исходных данных, данных промежуточных расчетов и окончательных результатов обработки. Первый и последний типы данных, несмотря на то, что они относятся к временным данным, должны храниться достаточно протяженное время – от нескольких суток до месяцев и, даже, лет.

Данные окончательной обработки информации собираются и анализируются в автоматическом или ручном режиме, и тоже должны храниться достаточно долго.

Данные промежуточных расчетов, как правило, хранятся только во время процесса обработки и сильно привязаны к процедурам (компонентам) обработки.

При передаче непрерывных данных, в промежуточных центрах – центрах концентрации данных, данные также должны храниться, даже если они не требуют обработки, до завершения процедуры пересылки данных. Все временные характеристики должны быть настраиваемы и должна быть предусмотрена возможность изменять эти характеристики во время эксплуатации системы.

Современные реляционные базы данных позволяют организовать так называемые распределенные базы, разнесенные по нескольким компьютерам, возможно удаленным достаточно далеко друг от друга и объединенным IP сетью (Internet).

Рассмотрим несколько важных для дальнейшего аспектов.

Первым важным аспектом использования БД является способ доступа к данным для чтения, записи, модификации. В рамках рассматриваемой работы были проведены исследования по данному вопросу. Наиболее удачным в смысле доступа к данным из обрабатывающих программ, является система, получившая в настоящее время наименование ODBC/JDBC. Эти две родственные системы основаны на одних и тек же принципах, и отличаются только языками, в которых они используются. Первая система для программ, написанных на языке C/C++, вторая для языка Java.

Основу этих систем составляет библиотека функций (для каждой системы своя), которые обеспечивают удобный доступ к полям таблиц и управление данными – функции поиска/чтения/модификации. В рамках данной работы были проверена подобная система оригинальной разработки, которая использует внешнее описание схемы базы в качестве ресурсных файлов на языке XML. Эти ресурсные файлы описания схемы базы используются на всех этапах от создания БД, при всех обращениях к БД для поиска и модификации данных.

Подобный подход позволяет проводить модификацию схемы базы без перестройки программ манипуляции данными1.

При создании указанной библиотеки функций широко использовались язык Embeded SQL и структура Dynamic SQL фирмы MIMER.

Создание базы данных или ее модификация осуществляется специально разработанной процедурой – create_db, использующей ресурсный файл, приведенный ниже:


-

-

 



-

 

 

 

 

 

 

 

 

Для пополнения базы данных непрерывными данными, а также для выборки данных в режиме квази реального времени разрабатывается специальные программные компоненты: load_db и export. В частности, на примере задачи export была построена программа ретрансляции непрерывных данных. (В настоящий момент задача export ретранслирует данные только в формате RTPD – RefTek).

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

На рисунках 10 и 11 приведена схема базы данных CSS 3.0 в расчетной и информационной частях.

В дополнении к схеме БД непрерывные данные хранятся в виде пакетов данных, передаваемых по сети в формате PASSCAL (1024 байта блок). Данные хранятся в двоичном формате в сетевой последовательности (network order) в виде одного поля BINARY. Другие поля таблицы, которые предназначены для поиска соответствующего блока, записываются в обычных форматах базы данных, например, время в виде строки и т.п. Ниже приведена схема базы для таблиц хранения непрерывных данных (сейсмических, магнитных, инфразвуковых и др.).


Рисунок 10 - Схема взаимодействия таблиц расчетных данных.




Рисунок 11 - Схема взаимодействия информационной и расчетной таблиц.


Рисунок 12 - Схема таблиц хранения непрерывных данных.
Для осуществления контроля целостности информации таблица wf_data_des должна копироваться в таблицу истории событий wf_data_history при каждом сбое или изменении параметров НГИ. Эта таблица содержит те же самые поля, однако поле LastTime отражает не текущее время (как в wf_data_des), а время записи строки в таблицу. Таким образом, будет возможно узнать промежуток времени, когда данные в базу данных не поступали.

В таблице приведены расшифровки терминов, приведенных на рисунках 10, 11, 12.


Таблица 1.


Отношение:

Описание:



affiliation - Составляющие станций сети

net

уникальный идентификатор сети

sta

идентификатор станции

time

эпоховое время начала записи

endtime

эпоховое время конца записи

lddate

время загрузки

Отношение:

Описание:



arrival - Общая информация о сейсмическом вступлении

sta

код станции

time

эпоховое время

arid

ID вступления

chanid

ID инструмента

chan

код канала

iphase

определяемая фаза

auth

источник/автор

Отношение:

Описание:



assoc - Данные ассоциирования вступлений и источников

arid

ID вступления

orid

ID источника

Отношение:

Описание:



event - событие

evid

ID события

prefor

предполагаемый источник

Отношение:

Описание:



instrument - Общая информация о калибровке станции

inid

ID инструмента

Отношение:

Описание:



netmag - Магнитуда сети

magid

идентификатор магнитуды сети

net

уникальный идентификатор сети

orid

ID источника

evid

ID события

Отношение:

Описание:



origerr - Общая информация о погрешности определения источника

orid

ID источника

Отношение:

Описание:



origin - Данные о расположении события и доверительные интервалы

lat

расчетная широта

lon

расчетная долгота

depth

расчетная глубина

time

эпоховое время

orid

ID источника

evid

ID события

mbid

ID магнитуды объемных волн

msid

ID магнитуды поверхностных волн

mlid

ID локальной магнитуды

auth

источник/автор

Отношение:

Описание:



sensor - спецификация калибровки физических каналов

sta

код станции

chan

код канала

Time


эпоховое время начала записи

endtime

эпоховое время окончания записи

inid

ID инструмента

chanid

ID канала

Отношение:

Описание:



site - Информация о местоположении станции

sta

идентификатор станции

ondate

Юлианская дата запуска

offdate

Юлианская дата выключения

lat

широта

lon

долгота

elev

высота

staname

описание станции

statype

тип станции: единичная станция, вирт. группа и т.д.

Отношение:

Описание:



sitechan - Информация о каналах станции

sta

идентификатор станции

chan

идентификатор канала

ondate

Юлианская дата запуска

chanid

ID канала

Отношение:

Описание:



stamag - Магнитуда станции

magid

ID магнитуды

sta

код станции

arid

ID вступления

orid

ID источника

Evid

ID события

Отношение:

Описание:



wfdisc - Заголовок файла волновой формы и описательная информация

wfid

ID волновой формы

Dir



директория

Dfile


файл данных

chanid

ID канала

Отношение:

Описание:



wftag - Файл привязки волновой формы

tagname

ключ(arid, orid, evid и т.д.)

tagid

значение ключа

wfid

ID волновой формы

Отношение:

Описание:



wf_data_des – Описание станционных волновых данных

UnitType

тип регистрирующей станции

StationCode

код станции

ChannelMask

маска канала – перечисление всех регистрируемых каналов

StreamNmb

идентификатор потока

StartTime

время первого пакета данных (минимальное время)

LastTime

время последнего пакета, полученного от станции (максимальное время)

Отношение:

Описание:



dt_unit_ch – Данные (пакеты) одного канала



stime

время пакета – время первого отсчета в пакете данных

Unit_ID

ID станции

chanid

ID канала

samples

число отсчетов

event

идентификатор события

data

данные – пакет, полученный от ASP сервера в сетевом формате

Отметим особо, что для доступа к непрерывным данным, хранящимся в базе, недостаточно только соответствующих таблиц.

При обращении к записи таблицы хранения непрерывных данных за очередным пакетом данных, в случае отсутствия последних, СУБД отвечает немедленно сигналом об отсутствии очередной записи, а блокирующий запрос к БД отсутствует. Для обслуживания подобного запроса была разработана специальная процедура. Эта процедура включена в разрабатываемую библиотеку манипуляций с данными.


Каталог: docs -> otchety


Поделитесь с Вашими друзьями:
1   ...   9   10   11   12   13   14   15   16   17


База данных защищена авторским правом ©uverenniy.ru 2019
обратиться к администрации

    Главная страница