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

Взаимодействие клиента и сервера геоинформационной справочной системы Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
228
17
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Взаимодействие клиента и сервера геоинформационной справочной системы»

нием другой посредством установки/чтения свойств объектов и вызова их методов, пока рынок указанных систем не перенасыщен подобными решениями и стандартами.

Список литературы

1. Воробьев В.В., Васильев С.Н., Бычков И.В. и др. Ин-теллектное информационно-картографическое обеспечение

устойчивого развития Байкальского региона// География и природные ресурсы. - 1995. - №1.

2. Архипов А., Голованов Ю. Интернет как основа для создания ГИС// ГИС-Обозрение.-1998.-№2.

3. Бычков И.В., Кухаренко Е.Л. Организация \yWW-доступа к картографической информации ГИС-центра ИНЦ СО РАН// Вычислительные технологии. - 1998. - Т.З. - №5.

ВЗАИМОДЕЙСТВИЕ КЛИЕНТА И СЕРВЕРА ГЕОИНФОРМАЦИОННОЙ СПРАВОЧНОЙ СИСТЕМЫ

С. Л. Беляков

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

- служит основой логического объединения разнородных баз данных;

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

- позволяет моделировать как информационные, так и физические процессы в пространстве и на плоскости.

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

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

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

Рассматриваемая проблема рано или поздно возникает в любой ГИСС, так как приток новых сведений в систему при нормальной эксплуатации неизбежен. Хозяйственная деятельность человека, динамика природной среды, социально-экономические процессы, будучи отображенными в ГИСС, обусловливают рост сложности электронной карты.

Анализ процесса взаимодействия клиента с сервером

Как показал анализ разработок ГИСС и типовых процедур картографического исследования [2], процесс решения задачи пользователем-клиентом ГИСС представляет собой последовательность действий (рис. 1). Действие Запрос формируется пользовате-

Процесс реивния задачи кгментом ГИСС

Запрос Анагиз Запрос Анагиз

_________________________________________________________ __

Настройка графического изобра>м5ния Визуагыъй анагиз Выполнение прикладных программ Загросык сопутствукиум ЕД

Рис. 1

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

Действие Анализ предусматривает комбинирование и повторение этапов, показанных на рисунке 1. Настройка графического изображения - это активизация и «замораживание» информационных слоев, увеличение и уменьшение требуемого участка карты, задание режимов визуализации графических элементов, поиск наиболее удобной точки зрения и т.д. Настройка тесно связана с визуальным анализом, нередко являющимся основным и единственным видом анализа карты. Для его продолжения пользователь, возможно, формирует следующий запрос серверу, и имеющаяся рабочая карта дополняется новым набором примитивов. Прикладные программы используются для решения расчетных, логических и поисковых задач. В процессе их выполнения могут использоваться сопутствующие базы данных, к которым пользователь может обращаться через соответствующий интерфейс.

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

Рь (1=1, Я ) примитивов, который добавляется в базу данных графического редактора. Таким образом, к моменту получения ответа на запрос ^ в памяти кли-

Н

ента хранится Р( ] ) = ^ рк,( ] > 1) примитивов. Но

к=1

реальные требования, связанные с эффективностью работы системы, диктуют ограничения на величину Р0 - максимальное число примитивов в памяти клиента. Следовательно, должно выполняться условие Р(])+р]>Р0. (1)

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

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

Ро-

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

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

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

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

Альтернативным вариантом может стать передача клиенту полного набора примитивов ответа на запрос при соблюдении (1).

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

Предлагаемый подход

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

раметров.

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

Будем считать, что на стороне клиента порядок убывания значимости примитивов карты задан вектором предпочтений Х=(х1,х2,...хь). Здесь хг- обозначение для множества примитивов одинаковой значимости, причем компоненты вектора упорядочены в порядке убывания (или возрастания) значимости. Для имеющейся рабочей карты клиента на момент отправки очередного запроса может быть получен вектор ее мощности ¥=(у],у2,...у[), элемент у{ которого является количеством примитивов в множестве хг. Определяются значения у{ путем анализа базы данных электронной карты.

Использование векторов X и У позволяет построить протокол взаимодействия клиента с сервером, временная диаграмма которого, построенная в соответствии с правилами, описанными в [3], показана на

рисунке 2.

Клиент формирует примитив запроса, параметрами которого является описание запроса на получение набора графических примитивов г/, величина Р0, вектор предпочтений X и вектор мощности У. Сервер получает эти данные с примитивом индикации и выполняет запрос, формируя множество графических примитивов р[. Если ограничение (1) выполнено, то клиенту отправляется примитив ОТВЕТ(рг). В противном случае сервер реализует процедуру сокращения количества примитивов в собственном ответе и указывает, сколько примитивов должно быть сокращено клиентом. Примитив ЗАПРОС(У') в качестве параметра имеет вектор мощности У', содержащий новые (меньшие) значения количества примитивов. Клиент преобразует существующую карту к новому виду с меньшим числом примитивов, о чем сообщает примитивом ОТВЕТ. Получив примитив ПОДТВЕРЖДЕНИЕ, сервер приступает к передаче непосредственно графических примитивов ответа на запрос.

Реализация примитивов обмена информацией (ЗАПРОС, ОТВЕТ, ПОДТВЕРЖДЕНИЕ и ИНДИКА-

ЦИЯ) может быть выполнена средствами взаимодействия программных объектов [4]. Надежная передача примитивов обмена обеспечивается сетью.

Приведенный протокол позволяет провести согласованное сокращение сложности формируемой у клиента карты и удовлетворить ограничению (1).

Формирование вектора значимости

Сформировать вектор X - это значит указать элементы множеств, обозначеных хг, и расположить эти множества в порядке убывания (возрастания) значимости.

Мощность множеств хг целесообразно определять исходя из точности поддержания значения Р0: если с1Р - допустимое отклонение, то есть Р0 = Р0 ± с1Р, то должно выполняться |х/| < дР .

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

Упорядочение компонент вектора X может осуществляться несколькими способами. Укажем некоторые.

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

2) Разработка нескольких вариантов пользовательских предпочтений и сопоставления их каждому зарегистрированному на сервере пользователю. Например, вводятся предпочтения руководителя организации, работника планового отдела, энергетика, диспетчера, инженера-технолога и т.д. При регистрации в сеансе работы с сервером пользователю по умолчанию присваивается вариант, который можно в процессе работы изменить.

3) Сопоставление вектора X каждому типу запроса клиента. Ответ на запрос - это множество примитивов, объединенных ассоциативными связями с окружающими их объектами. Это косвенно связывает смысл запроса с системой предпочтений.

4) Использование ограничений целостности карты. Примитивам в изображении присуща внутренняя логика связи. Например, здание может быть показано подробно (рис. За), контуром с отмосткой (рис. 36), или основным контуром (рис. Зв). Видно, что наименее предпочтителен для удаления основной контур здания, далее следует линия отмостки и текстовая надпись, за ней - дополнительные обозначения и надписи.

Предложенный в данной работе подход к передаче картографических данных в сложной сетевой

П=П

4КЖ

19,41

1=1 П

Рис. 3. Варианты изображения здания

КЛИЕНТ СЕТЬ СЕРВЕР

ЗАПРОС ; Р0Х X)

Рис. 2. Протокол взаимодействия клиента с сервером

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

Список литературы

1. Цветков В.Я. Геоинформационные системы и техно-логии.-М.: Финансы и статистика, 1998.

2. Берлянт А.М. Образ пространства: карта и информация." М.: Мысль, 1986.

3. Зайцев С.С. Описание и реализация протоколов сетей ЭВМ.-М.: Наука, 1989.

4. Пуха Ю. CORBA/IIOP и Java RMI. Основные возможности в сравнении.//СУБД, 1997. - № 4.

МЕТОДЫ РЕДУКЦИИ ГРАФОВ В ЗАДАЧАХ РЕСТРУКТУРИЗАЦИИ ЗАДОЛЖЕННОСТИ ПРЕДПРИЯТИЙ

А.Н. Катулев, Г.В. Колесник, В.Н. Михеев

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

В математическом плане схема взаимных задолженностей предприятий, бюджетов и внебюджетных фондов может быть представлена в виде взвешенного ориентированного графа. Анализ такого графа известными методами [2] с целью выработки рекомендаций по реструктуризации задолженности при большом количестве предприятий весьма затруднен и практически нереализуем даже на современных ПЭВМ.

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

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

Будем рассматривать ориентированный граф с весами, заданными на ребрах: Г = (и, V, сг(у)), где и - множество вершин графа, каждая вершина и е и соответствует некоторому предприятию, бюджету или фонду; Ус 11x11 - множество ребер графа; V = (иг-, ир е V соответствует задолженности предприятия И; предприятию Ыр при этом величина за-

долженности определяется функцией сг(у) : У[ —> Здесь V! - множество ребер такое, что соответствующий ориентированный граф (и, У^ полный. При этом будем полагать сг(у) = 0 тогда и только тогда, когда V й V. Такое задание весовой функции необходимо нам для корректного сравнения уровней задолженности на графах с различными множествами ребер, описывающих эквивалентные схемы неплатежей.

В заданной таким образом схеме полустепень исхода вершины и е и с1е£~(и) представляет собой общую задолженность предприятия, полустепень захода с1е£+(и) - общую задолженность клиентов предприятию, а степень вершины с1е£(и) = с1е£+(и) -с1е£~(и) - баланс задолженности предприятия.

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

Определим общий уровень задолженности <2(0 как сумму весов всех ребер графа Г:

й(Г) = ^сГ(у). (1)

Тогда задача отыскания схемы неплатежей минимального уровня задолженности сводится к задаче отыскания графа Г*=(и,У*, сг*(у)), имеющего минимальное значение <2(Г*):

i Надоели баннеры? Вы всегда можете отключить рекламу.