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

Сервис не может зачитать схему описания слоев xsd

Поиск  Пользователи  Правила  Войти
Форум » Серверные приложения » Panorama SpatialDB Service
Страницы: 1
RSS
Сервис не может зачитать схему описания слоев xsd
 
Имеется классификатор и его обрезанная версия, схемы описания слоев XSD созданные с помощью редактора классификатора.
При использовании схемы описания слоев полного классификатора (~2mb) сервис не запускает процесс синхронизации - лог процесса:

Код
Сервис запущен17/03/2019 23:06:41Выполнено чтение настроек: ind

Сервис запущен17/03/2019 23:08:41
Выполнено чтение настроек: ind

Сервис запущен17/03/2019 23:10:41
Выполнено чтение настроек: ind

Лог сервиса рапортует:

Код
Превышен интервал получения отчетов о работоспособности процесса: ind

При использовании схемы описания слоев обрезанного классификатора (~1mb) все обрабатывается.

Код
Сервис запущен17/03/2019 23:06:41Выполнено чтение настроек: indВыполнено чтение схемы: ski_eng.xsd 

Есть вероятность, что стоит ограничение на объем зачитываемого, как и в этой теме?

Схему отправил на почту.
 
Цитата
Илья Юрченков написал:
Есть вероятность, что стоит ограничение на объем зачитываемого, как и в этой  теме ?

Нет. Тут другой нюанс.
Сервис состоит из двух исполняемых модулей: самого сервиса и рабочего процесса.
Рабочих процессов сервис запускает столько, сколько карт настроено в xml.
Сервис запускает рабочие процессы и следит за их работоспособностью.
Всю работу выполняют рабочие процессы - каждый в отношении своей карты.
Рабочие процессы с заданной периодичностью шлют сообщения управляющему процессу (сервису).
В сервисе установлен интервал - 2 минуты. Если в течение этого периода от рабочего процесса не приходят сообщения о его состоянии, сервис "убивает" этот процесс, так как считает его зависшим, а затем запускает заново.
Изменить настройками этот интервал в настоящее время нельзя.
При этом в процессе чтения настроек и xsd-схемы в том числе рабочий процесс не посылает сервису никаких сообщений. Считалось, что двух минут на это должно хватить.
Ваша схема у меня на компьютере читается и разбирается за 01:27.
У Вас, видимо, дольше и в 2 минуты не укладывается.

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

Сообщите, какая версия SpatialDB Service в какой операционной системе у Вас используется.


Справочно сообщаю, что ограничения при чтении XDS-схемы есть: допускается всего 256 таблиц (слоев в XSD-схеме) с максимальным количеством столбцов (суммарно - и семантик, и поля метрики, и др. служебных полей) - также 256.
 
Операционная система - Windows server 2012 Standart.
Версия сервиса последняя, что с сайта - 3.3.1

Под критерии ограничения схемы подходит - слоев около 200, семантик около 10-20.

Как скоро можно ожидать модернизации?
Изменено: Илья Юрченков - 19.03.2019 00:58:15
 
Цитата
Илья Юрченков написал:
Как скоро можно ожидать модернизации?

Предполагаю, на следующей неделе мы Вам предоставим обновления.

Цитата
Илья Юрченков написал:
Под критерии ограничения схемы подходит - слоев около 200, семантик около 10-20.

По Вашей схеме создается 247 таблиц (почти предел). Семантик (полей таблиц) в среднем 30-40, что нормально, но всего в схеме перечислено 953 семантики.

С какой СУБД Вы работаете?
Возможно, оптимальнее будет использовать возможности ГИС Сервера по работе в БД.



Отличия следующие.

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

SpatialDB Service работает с картой, которую надо "распределить" на несколько таблиц. У SpatialDB Service 1 карта = 1 поток, то есть Ваши 247 таблиц будут ждать друг друга.
Из-за того, что в одной карте присутствуют данные из разных таблиц, SpatialDB Service вынужден вести целый набор индексных файлов, определяющих взаимосвязь объекта карты с определенной записью определенной таблицы.
SpatialDB Service работает в асинхронном режиме (изменения попадают в БД в установленные интервалы времени), что с одной стороны хорошо - можно распределить нагрузку, можно не всегда быть подключенным в БД и к ГИС Серверу, а с другой стороны может привести к рассинхронизации данных.
SpatialDB Service может работать как на том же компьютере, где установлен ГИС Сервер, так и удаленно.
Страницы: 1
Читают тему (гостей: 1)



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

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