На главную... Продукты | Технологии | Классификаторы | Проекты | Скачать | Цены| Форум | Статьи | Обучение | Контакты

Проблема с отображением при обновлении пространственной БД

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » GIS WebServer
Страницы: 1
RSS
Проблема с отображением при обновлении пространственной БД
 
Добрый день!

Имеется связка:
1) GIS Server x64 v.9.0.0
2) GIS WebService SE v.13.0.2
3) Самописный web-клиент OpenLayers

В ГИС Сервере подключена пространственная БД (на PostgreSQL). В ГИС ВебСервисе по ней опубликован WMS-сервис. Клиент всегда обращается к сервису за картой с параметром IDLIST с указанием ID объектов, которые нужно отобразить.
Когда в пространственной БД данные не меняются, все работает корректно. А если добавлять, удалять строки (сторонними средствами, напрямую в БД), то возвращаемая клиенту картинка содержит некорректные данные - а именно, некоторых запрашиваемых объектов нет, могут появляться объекты, id которых не передавались в IDLIST. Поначалу проблема решалась перезапуском ГИС Сервера.
Попробовали добавить  ведение журнала изменений и подключить его в ГИС Сервере. При времени опроса журнала в 30 секунд проблема все равно возникает при добавлении новых данных в таблицу, но по прошествии 30 секунд уходит. Если уменьшить время опроса журнала до 1-3 секунд, поймать проблему не удается, но Сервер при этом работает ощутимо медленнее.
При включенном журнале изменений время актуальности карты пробовали ставить разное:0, 1, 3, 30, 300 сек. По видимому оно особо не влияет на возникновение проблемы.

Просьба помочь разобраться с проблемой
 
Необходимо определить, на каком уровне проблема:
- при формировании картографического представления по данным из БД на ГИС Сервере;
- при получении GIS WebService-ом этой карты с ГИС Сервера;
- при передаче данных клиенту по запросу.

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

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

В IDLIST передаются идентификаторы объектов карты. При работе с БД они будут совпадать со значением первичного ключа в исходной таблице (того поля, которое задано как "Поле уникального идентификатора"). Но для этого должно быть выполнено следующее условие: это поле должно быть целочисленным, а значения в этом поле должны быть уникальными и находится в диапазоне от единицы до 2 миллиардов.
Это же значение триггер, отслеживающий изменения, должен записывать в журнал (если таковой используется).
Проверьте, так ли это.


GIS WebService установлен на том же компьютере, что и ГИС Сервер?
Если да, то как GIS WebService обращается к ГИС Серверу - по реальному IP или через localhost?

Когда карта на ГИС Сервере находится в состоянии загрузки данных из БД, ответ на запрос WMS может вернуть картинку, содержащую не все добавленные объекты, либо, если идет обновление существующих объектов, то часть объектов в WMS может попасть уже обновленными, а часть в своем старом состоянии.
Если на уровне БД какие-то объекты удаляются, а затем этот же ID назначается новому объекту, то запрос WMS по IDLIST, попадающий в период обработки ГИС Сервером этих изменений, может вернуть очень неожиданную совокупность объектов.


И самое главное.
В последних версиях мы устранили ряд существенных проблем, выявленных при взаимодействии GIS WebService с ГИС Сервером.
Соответственно, настоятельно рекомендуется обновить продукты до их актуальных версий.
Для оценки стоимости обновления просьба прислать номера лицензионных ключей на e-mail техподдержки panorama@gisinfo.ru. При наличии у Вас действующей технической поддержки обновление производится бесплатно.
 
В базе порядка 135000 записей.
В настольной панораме mini они отображаются крайне медленно, и к тому же непонятно, как сделать выборку по IDLIST.
Количество изменений небольшое - порядка нескольких десятков записей в сутки (в основном добавление).
Насчет идентификаторов - все настроено корректно. Уникальный целочисленный ключ (положительные значения, сейчас до 3 млн.). Он указан в DBM, он по триггеру попадает в журнал изменений, он передается в IDLIST в запросе.
GIS WebService и ГИС Серевер расположены на одной машине, обращение по реальному IP.
Удаление объекта с последующим добавлением другого объекта с таким же ID исключено.

Действующей техподдержки на сегодняшний день у нас нет. Закупали в 2019 году, с поддержкой на год. Если указанная проблема исправлялась в период действия нашей поддержки, возможно ли получить исправленную версию?
 
Скорость обработки данных, а также их отображения зависит не столько от количества объектов, сколько от насыщенности их метрики.
На скорость отображения дополнительно влияет сложность выбранного условного знака.
При работе с данными по сети дополнительно сказывается ее пропускная способность (но это только при первом обращении, далее они кэшируются на клиенте).

Настольная ГИС Панорама Мини при подключении к ГИС Серверу, на котором настроен dbm, получает уже карту в формате Панорама, подготовленную ГИС Сервером, и самостоятельно к БД не обращается.
Поэтому тут разницы в скорости по сравнению с обычными картами, опубликованными там же, быть не должно. Зависит только от загруженности карты, как я говорил выше.
Если торможение присутствует, пришлите по возможности карту на e-mail техподдержки (panorama@gisinfo.ru), - мы посмотрим в чем может быть причина.

При этом настольная ГИС Панорама Мини (если она у вас 13.6 версии и выше) умеет еще и самостоятельно открывать dbm - локально, не с ГИС Сервера. Попробуйте для сравнения скопировать dbm с ГИС Сервера и открыть его локально.

В настольной версии поиск по номерам объектов: гл.меню - поиск - поиск по форме. В диалоге поиска можно задать отдельный номер, диапазон номеров, либо набрать список номеров.

Не смотря на отсутствие технической поддержки мы Вам предоставим крайние версии GIS WebService и ГИС Серевер в рамках Вашей лицензии - это 13 и 9 версии соответственно.
Если это не решит наблюдаемую у Вас проблему, можно будет попробовать открывать dbm без ГИС Сервера - напрямую самим GIS WebService (последние релизы 13 версии это умеют делать).
Пришлите номера лицензионных ключей на e-mail техподдержки panorama@gisinfo.ru - Вам в ответном письме предоставят ссылки на скачивание.
 
Здравствуйте. В продолжение темы. После обновления действующих на присланные версии (Версия сервиса GIS WebService SE 13.11.7, GIS Server x64 v.9.6.0) в ВебСервисе перестали открываться некоторые слои (лог аппсервиса на скриншоте) пишет что роль GUEST depricated, при этом в настройках сервиса она висит и удалить или заменить её нельзя, а так же перестали отрабатывать запросы на список загруженных слоёв (service.php?SERVICE=WMS&RESTMETHOD=GETMAPLIST&DATATYPE=SIT&LISTTYPE=FILES).
Код
>>>> 20220118 08:28:30 131636748154624  10014  appservice.exe  Prepare    CheckForServiceOperationAcces  ERROR: Access denied

Прошлись по документации, права все проставлены.

Скриншот
Astra Linux 1.6
GIS Panorama 11.13.11
GIS Server x64 v. 9.6.0
GIS WebService SE 13.11.7
Panorama Imagery Service x64 8.1.3
 
1) Запрос GetMapList является служебным и переведен в список запрещённых, так как не учитывал права пользователей от которых был послан. Для работы с данными в папках есть его аналог GETDATAFROMFOLDER и GETUSERFOLDERLIST.
2) Проверьте права на папку volgMaps в настройках службы (appservice.xml) и слой в списке (wmsparam.xml). У обоих должны быть права на GUESTS.
Страницы: 1
Читают тему (гостей: 1)



© КБ Панорама, 1991-2024

Регистрируясь или авторизуясь на форуме, Вы соглашаетесь с Политикой конфиденциальности