интересно
Предыдущая | Содержание | Следующая

Разработка систем поддержки принятия решений для обоснования общегосударственных программ в областях: социальной, финансовой, экологической политики

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

Одним из наиболее очевидных подходов к решению этой задачи является создание геоинформационных систем в Интернет (ИГИС). Такие информационные системы должны давать возможность каждому пользователю, имеющему доступ в Интернет, осуществлять большой спектр запросов к данным мониторинга и представлять результаты запросов в виде тематических карт, графиков и таблиц.

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

система должна быть доступна большой аудитории территориально распределенных пользователей, обладающих различным уровнем компьютерной грамотности;

большие объемы, высокая частота обновления и высокая стоимость информации исключают непосредственную передачу всех данных заинтересованным сторонам;

географическая привязка информации имеет очень большое значение;

основной объем хранимой информации будет составлять историческая информация, т.е. такая информация, которая с течением времени регулярно дополняется и никогда не подвергается изменениям. Перечисленные положения подтверждают вывод о том, что наиболее естественным путем для реализации подобной системы будет ИГИС. Действительно, единственной технологией, которая на сегодня может обеспечить удаленный доступ к архиву в режиме реального времени, является технология Интернет. Вместе с тем, ГИС-технология отличается большой наглядностью представления результатов, что и требуется при ориентации системы на широкую аудиторию пользователей. Обобщенная схема ИГИС приведена на рис. 1.

Как можно заметить, основными элементами Интернет-ГИС являются: Web-браузер, с помощью которого пользователь взаимодействует с системой; Web-сервер, действующий в качестве шлюза между средой Интернет и ГИС-сервером; собственно ГИС-сервер, в котором сосредоточена обработка географической информации.

Единственное, что следует отметить дополнительно, это ориентацию на исторические данные. В этом случае представляется весьма перспективной задача интеграции технологий ГИС, Интернет и технологии оперативного анализа данных (ОАД или OLAP в англоязычной литературе).

Первые упоминания о попытках создания ИГИС относятся к

1994 г. . В начале развития данного направления это были исследовательские проекты, однако со временем созданием ИГИС занялись коммерческие фирмы.

На данный момент на рынке программного обеспечения имеется ряд систем, ориентированных на создание ИГИС. Среди них можно отметить такие системы, как ArcIMS фирмы ESRI, GeoMedia Web Map фирмы Inlergraph, MapXtream фирмы MapInfo и т.д. .

Одной из важных особенностей Web-приложений в целом и ИГИС в частности, является короткий жизненный цикл. Это означает, что такие системы живут очень недолго и поэтому должны создаваться очень быстро и с малыми затратами. По этой причине все коммерческие ИГИС представляют собой либо инструментальные системы, содержащие набор базовых компонентов, которые объединяются при создании конкретных систем в нужную конфигурацию разработчиком, либо представляют практически законченные специализированные системы, ориентированные на очень узкую область применения, например, поиск филиалов фирм, поиск адресов, поиск путей движения к требуемому объекту и др. . Таким образом, готового решения, аналогичного настольным ГИС, удовлетворяющего при работе широкому кругу конечных пользователей, не существует. Это указывает на актуальность создания системы для работы с архивами мониторинговой информации о регионе на основе ИГИС.

На сегодняшний день существуют два основных подхода, в рамках которых ведется создание ИГИС . Это системы с тонким и толстым клиентом. Различие между этими подходами заключается в том, выполнение каких функций возлагается на клиентское приложение.

В случае тонкого клиента таковыми являются функции поддержки пользовательского интерфейса. Клиентское приложение, в данном случае Web-браузер, принимает пользовательский ввод, формирует и передает запросы ГИС-серверу, занимается отображением результатов запросов, представленных, как правило, в виде HTML и растровых изображений. Браузер не выполняет каких-либо функций, присущих ГИС. Данный подход предъявляет минимальные требования к компьютеру клиента и позволяет получить максимально широкую аудиторию пользователей. Однако в силу ограничений языка HTML Web-приложения, построенные по принципу тонкого клиента, имеют ограниченный пользовательский интерфейс.

Использование толстого клиента для создания ИГИС позволяет перенести на Web-браузер выполнение некоторых вспомогательных функций и части функций геоинформационных систем. Как правило, толстый клиент выполняет отображение географической информации, ее обработку и кэширование, а ГИС-сервер служит в качестве источника данных. Для создания толстых клиентов используется возможность большинства Web-браузеров выполнять Java-апплеты или встраивать модули расширения Plug-In или ActiveX. ИГИС, использующие толстого клиента, имеют развитый интерфейс пользователя и широкий набор функций, а также меньшее время отклика, достигаемое за счет кэширования данных. Основными недостатками Web-приложений на основе толстого клиента являются более высокие требования к компьютеру клиента, отсутствие переносимости (Plug-In, ActiveX), необходимость предварительной установки (Plug-In). Результатом этого является ограниченная аудитория потенциальных пользователей такого рода систем.

Структурная схема системы приведена на рис. 2. Основными компонентами системы являются: Web-браузер, Web-сервер, ГИС-сервер и Подсистема хранения и оперирования данными. Рассмотрим компоненты системы более подробно.

Рис. 2 Структура системы

Web-браузер. В роли данного компонента может выступать любой современный Web-браузер. Примером таких браузеров являются Netscape Navigator и Internet Explorer. Web-браузер является тонким клиентом, задачи которого состоят в отображении элементов пользовательского интерфейса и взаимодействии с пользователем.

Пользовательский интерфейс системы реализован с помощью языков HTML и JavaScript и не требует установки модулей Plug-In или ActiveX. Данное решение делает систему более доступной для широкой аудитории пользователей.

Web-сервер. В системе может быть использован любой Web-сервер, поддерживающий протокол CGI. На данный момент Web-сервер должен функционировать на программной платформе Win32, хотя существует возможность перехода на другие программные платформы.

Web-сервер выступает в качестве точки входа в систему и Интернет. Он выполняет две функции:

предоставляет доступ к статическим и редко меняющимся HTML-файлам и файлам данных, используемым при формировании пользовательского интерфейса;

служит в качестве среды исполнения для агента – CGI-скрипта, через который происходит взаимодействие с ГИС-сервером.

ГИС-сервер является одной из наиболее важных частей системы. Рассмотрим более подробно его составные части. Компонент системы Агент играет роль посредника между Web-сервером и ядром ГИС-сервера. Агент реализован как CGI-скрипт, что позволяет ему взаимодействовать практически с любым современным Web-сервером. Его функции заключаются в передаче запроса от Web-сервера к ГИС-серверу и передаче результатов обработки запроса в обратно направлении.

Использование агента позволяет достичь следующих целей.

Во-первых, это дает возможность преодолеть такой недостаток протокола CGI, как высокие требования к аппаратным ресурсам сервера по сравнению с аналогичными протоколами (ISAPI, NSAPI и др.). Простота функций, выполняемых агентом, позволяет сделать его компактным и тем самым снизить требования к ресурсам сервера. Во-вторых, данное решение позволяет разместить Web-сервер и ГИС-сервер на различных компьютерах, что делает систему более масштабируемой, т.е. способной к наращиванию производительности в случае необходимости. Кроме того, возможен такой режим работы, когда ГИС-сервер используется в качестве ресурса несколькими Web-серверами.

CGI-диспетчер совместно с агентом представляет собой каркас, на котором строится вся система. Он выполняет следующие функции:

создание сеансов при подключении новых пользователей и контроль максимального числа сеансов;

диспетчеризацию запросов от пользователей к соответствующим сеансам;

уничтожение старых сеансов.

Каждый сеанс, созданный диспетчером, представляет собой

СОМ-объект в отдельном процессе. Такое решение позволяет повысить надежность системы, которая является одним из основных требований к серверным приложениям. Дело в том, что ошибки с большей вероятностью появляются в наиболее сложной части любой системы, каковой в данном случае является сеанс. Таким образом, при выполнении всех сеансов в одном процессе возникновение ошибки могло бы привести к нарушению работы всей системы. Вынос сеанса в отдельный процесс позволяет изолировать его от остальных частей системы и, в случае программных сбоев, безопасно удалять сеанс и освобождать используемые им ресурсы.

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

динамическая генерация HTML-документов, формирующих пользовательский интерфейс системы;

разбор и обработка приходящих от пользователя запросов;

формирование и растеризация географических и тематических карт;

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

Для выполнения ГИС-функций в системе используется программная библиотека MapInfo МарХ 4.0, работающая с географической информацией в формате ГИС MapInfo.

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

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

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

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

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

Можно выделить следующие основные функции подсистемы:

ввод данных мониторинга;

хранение данных мониторинга;

обработка запросов ГИС-сервера на получение данных;

управление структурой данных.

Рассмотрим более подробно основные компоненты подсистемы хранения и оперирования данными.

СУБД является основой подсистемы хранения и оперирования данными. Все остальные компоненты реализованы средствами СУБД или выполняют для нее вспомогательные функции.

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

Объектами метаданных являются таблицы, содержащие описание структуры объектов данных. Информация о структуре используется для организации единообразного доступа к объектам данных. Интерфейс взаимодействия с ГИС-сервером представляет собой набор хранимых процедур СУБД, предоставляющий единый механизм выполнения запросов к подсистеме независимо от базового представления объектов данных.

Графический интерфейс ввода данных предназначен для загрузки информации в подсистему хранения и оперирования данными.

Графический интерфейс управления структурой данных используется для создания, редактирования и удаления объектов данных и объектов метаданных.

В системе реализован двухступенчатый алгоритм динамической генерации пользовательского интерфейса.

Первая фаза алгоритма выполняется компонентом системы Сеанс. На этом этапе сырая информация, описывающая состояние Сеанса, помещается в HTML-файл. Для этого в файл в нужное место вставляется макрос – предопределенное символьное имя, который в результате обработки заменяется Java Script-кодом, определяющим реальные данные. Далее полученный файл передается Web-браузеру клиента.

Вторая фаза алгоритма выполняется Web-браузером. Для этого используется способность современных Web-браузеров выполнять программы на языке JavaScript. JavaScript-программа на основе полученной на предыдущем шаге информации о состоянии Сеанса динамически генерирует HTML-код, формирующий пользовательский интерфейс системы.

Описанный выше подход имеет следующие преимущества.

Во-первых, передача сырых данных позволяет уменьшить объем пересылаемой по сети информации, что особенно актуально для медленных российских каналов связи. Кроме того, Java Script-код, используемый для формирования пользовательского интерфейса, и часть редко изменяющихся данных оформлены в виде JavaScript-библиотек. Файлы такого рода кэшируются Web-браузером, т.е. сохраняются на жестком диске пользователя и перезагружаются из сети повторно только в случае их изменения на сервере, с которого они были изначально загружены. Это также снижает сетевой трафик и уменьшает время отклика пользовательского интерфейса.

Во-вторых, язык HTML в его нынешнем состоянии мало подходит для создания интерактивных пользовательских интерфейсов, а применение языка JavaScript на стороне клиента совместно с HTML позволяет найти приемлемое решение этой проблемы, не прибегая к использованию модулей Plug-In и ActiveX и Java-апплетов.

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

Группа управления слоями выполняет следующие функции:

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

выгрузка слоя – удаление из карты слоя, не нужного для выполнения текущей задачи;

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

отключение подписей для слоя – отключает отображение идентификаторов (подписей) объектов для одного или нескольких слоев;

изменение порядка слоев – позволяет произвольным образом изменить порядок отображения открытых слоев карты.

Группа навигационных функций включает следующие функции:

изменение положения центра карты – задание нового центра карты с указанием нужной точки на основной или навигационной карте;

изменение масштаба отображения карты – изменение произвольным образом масштаба отображения карты;

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

Группа создания запросов включает следующие:

задание названия запроса – задание осмысленного названия для создаваемого или редактируемого запроса;

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

задание списка географических объектов – формирование списка географических объектов, участвующих в запросе;

задание списка числовых показателей – формирование списка числовых показателей, участвующих в запросе;

задание временных ограничений – задание временных границ для выполнения запроса к базе данных;

задание направления выборки данных – задание направления выборки данных из базы данных; возможные значения: по строкам (сравнение разных параметров), по столбцам (изучение динамики параметра за указанный период времени);

задание функции агрегирования данных; возможные значения: суммирование, усреднение, минимальное значение, максимальное значение;

задание палитры – задание цветовой палитры для некоторых типов тематических карт;

задание числа диапазонов – задание числа диапазонов для некоторых типов тематических карт;

выполнение запроса – выполнение запроса на основе сделанных установок;

редактирование запроса – редактирование существующего запроса;

копирование запроса – создание нового запроса на основе параметров существующего;

• удаление запроса – удаление созданного запроса. Группа работы с запросами включает функции:

отключение отображения запроса – отключение отображения одного или нескольких созданных запросов;

включение отображения запроса – включение отображения одного или нескольких созданных запросов;

показать запрос целиком - аналогична функции показать слой целиком с учетом того, что данная функция работает с запросом;

показать табличные данные - позволяет анализировать табличные данные, полученные в результате выполнения запроса к базе данных;

показать график - отображает результаты выполнения запроса к базе данных с помощью графика; поддерживается более 10 разновидностей графиков.

Функции группы сохранения и восстановления запросов позволяют сохранить результаты работы на диске компьютера пользователя и впоследствии восстановить их. В состав группы входят следующие функции:

• сохранение запроса - позволяет сохранить один или несколько запросов на диске компьютера пользователя;

• восстановление (загрузка) запроса - позволяет восстановить сохраненные ранее запросы. Существует одна функция для работы с предопределенными запросами (предопределенные запросы

- это определенный администратором системы набор запросов, доступный для всех пользователей):

• загрузить предопределенный запрос - позволяет загрузить предопределенный запрос; после за грузки предопределенный запрос ничем не отличается от остальных запросов и допускает редактирование и сохранение.

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