На правах рекламы:
ISSN 0236-235X (P)
ISSN 2311-2735 (E)

Авторитетность издания

ВАК - К1
RSCI, ядро РИНЦ

Добавить в закладки

Следующий номер на сайте

2
Ожидается:
16 Июня 2024

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

Статья опубликована в выпуске журнала № 2 за 1999 год.
Аннотация:
Abstract:
Автор: Беляков С.Л. () -
Ключевое слово:
Ключевое слово:
Количество просмотров: 9277
Версия для печати
Выпуск в формате PDF (1.58Мб)

Размер шрифта:       Шрифт:

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

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

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

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

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

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

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

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

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

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

Следует отметить такую важную особенность процесса решения задачи пользователем, как накопление примитивов на стороне клиента по мере выполнения последовательных запросов серверу. Решение задачи на карте – многошаговая процедура добавления участков, детализации и обобщения изображений, переходов и возвратов к отдельным фрагментам, которая порождает последовательность запросов z1,z2,...zR. Ответ на каждый из них – набор из pi, (i=) примитивов, который добавляется в базу данных графического редактора. Таким образом, к моменту получения ответа на запрос zj в памяти клиента хранитсяпримитивов. Но реальные требования, связанные с эффективностью работы системы, диктуют ограничения на величину P0 – максимальное число примитивов в памяти клиента. Следовательно, должно выполняться условие

.                                                    (1)

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

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

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

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

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

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

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

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

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

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

Будем считать, что на стороне клиента порядок убывания значимости примитивов карты задан вектором предпочтений X=(x1,x2,...xL.). Здесь xi – обозначение для множества примитивов одинаковой значимости, причем компоненты вектора упорядочены в порядке убывания (или возрастания) значимости. Для имеющейся рабочей карты клиента на момент отправки очередного запроса может быть получен вектор ее мощности Y=(y1,y2,...yL), элемент yi которого является количеством примитивов в множестве xi. Определяются значения yi путем анализа базы данных электронной карты.

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

Подпись:  
Рис. 3. Варианты изображения здания
Клиент формирует примитив запроса, параметрами которого является описание запроса на получение набора графических примитивов zj, величина P0, вектор предпочтений X и вектор мощности Y. Сервер получает эти данные с примитивом индикации и выполняет запрос, формируя множество графических примитивов pî. Если ограничение (1) выполнено, то клиенту отправляется примитив ОТВЕТ(pî). В противном случае сервер реализует процедуру сокращения количества примитивов в собственном ответе и указывает, сколько примитивов должно быть сокращено клиентом. Примитив ЗАПРОС(Y’) в качестве параметра имеет вектор мощности Y’, содержащий новые (меньшие) значения количества примитивов. Клиент преобразует существующую карту к новому виду с меньшим числом примитивов, о чем сообщает примитивом ОТВЕТ. Получив примитив ПОДТВЕРЖДЕНИЕ, сервер приступает к передаче непосредственно графических примитивов ответа на запрос.

Реализация примитивов обмена информацией (ЗАПРОС, ОТВЕТ, ПОДТВЕРЖДЕНИЕ и ИНДИКАЦИЯ) может быть выполнена средствами взаимодействия программных объектов [4]. Надежная передача примитивов обмена обеспечивается сетью.

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

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

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

Мощность множеств xi целесообразно определять исходя из точности поддержания значения P0: если dP – допустимое отклонение, то есть P0 = P0 ± dP, то должно выполняться .

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

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

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

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

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

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

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

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

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

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

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


Постоянный адрес статьи:
http://swsys.ru/index.php?page=article&id=930&lang=
Версия для печати
Выпуск в формате PDF (1.58Мб)
Статья опубликована в выпуске журнала № 2 за 1999 год.

Возможно, Вас заинтересуют следующие статьи схожих тематик: