Динамическое обновление BAS
Динамическое обновление
Реализована возможность обновления конфигурации базы данных без прерывания работы пользователей в тех случаях, когда изменения не затрагивают структуры данных. Активные пользователи, для того, чтобы начать работать с измененной конфигурацией, должны перезапустить клиентское приложение.
В BAS это реализовано вот так:
Казалось бы замечательный инструмент, но не все так просто.
Проблемы при выполнении динамического обновления
Забивается КЭШ
Часто, при использовании динамического обновления конфигурации, у пользователей забивается кэш и программа не работает так, как надо. Проблема устраняется путем чистки кэша у пользователей. Но основная загвоздка в том, что не возможно определить у какого пользователя (особенно если их больше 100) кэшированные модули соответствуют текущей версии конфигурации, а у какого нет.
Такая дорога обычно ведет к скриптам автоматической очистки кэша и т.д. Нужно это вам или нет, решать вам.
Повреждалась таблица config
Были случаи, когда повреждалась таблица config в бд, приходилось исправлять ручками. В SQL версии проще, средствами администрирования можно снести ненужную запись. А вот с файловой посложнее, править можно через HEX редактор, почти наугад.
Вот пример для SQL:
В configsave хранятся только измененные объекты, не вся конфигурация.
При обновлении конфигурации записи из configsave копируются в config замещая аналогичные записи, потом таблица configsave очищается, а в таблице config записи где FileName = 'commit' и FileName = 'dynamicCommit' удаляются.
- Очистить таблицу configsave, если она полная.
В конструкторе запросов SQL:
- delete from config where FileName = 'commit'
- delete from config where FileName = 'dynamicCommit'
Другие записи, в том числе, где FileName = 'root', FileName = 'DynamicallyUpdated', FileName = ' version', FileName = 'versions' трогать не надо.
Можно удалить запись, где FileName = 'dbStruFinal', но она в принципе не влияет на загрузку, удалится сама при очередном обновлении.
И это далеко не полный перечень проблем, которые может вызвать динамическое обновление. Пользоваться им или нет – решать вам.
Так же, наша компания проводит обучение по курсам:
Обучение проводится в вечернее время, что позволит вам не отрываться от работы или обучения, практикующим программистом нашей компании.
Если у вас остались вопросы, Вы всегда можете обратиться к нашим аналитикам по телефонам:
(093) 090-70-20
(095) 090-70-20
(068) 090-70-20
Свяжитесь с нами
Если вы хотите получить больше информации, заполните эту форму. Мы свяжемся с вами в ближайшее время.