Читать «Основы проектирования корпоративных систем» онлайн - страница 264

Сергей Викторович Зыков

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

Рис. 18.4..Список обновления, или Upgrade checklist

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

На рис. 18.5 и 18.6 показано, каким образом происходит обновление кода.

На верхнем рисунке, там, где написано Detect upgrade conflicts (обнаружить конфликты обновления), осуществляется поиск по слоям (см. рис. 18.5). Проект обнаружения работает со слоями и осуществляет поиск проекта или ряда проектов, которые как раз и управляют обновлениями. При этом результирующий код будет соответствовать соглашению Trustworthy Computing, т. е. пройдет необходимые тесты Microsoft на внутреннюю безопасность.

Проект представлен на рис. 18.5 под названием AxUpgradeLay-erConflits_usr. Здесь видно, что достаточно большая степень вложенности, и можно видеть определенную метаинформацию, в частности описание методов, интерфейсных элементов, которые связаны с источниками данных и методами публикации этих данных, с методами, которые связывают эти данные с интерфейсом пользователя.

На рис. 18.6 сравнения производятся по двум вариантам кода. В ряде случаев присутствуют или могут присутствовать расхождения. Появляются специальные подсказки о том, где эти расхождения могут возникать. Кроме того, строится отчет, который прогнозирует продолжительность обновления в часах, минутах и разбивает процесс обновления на части, каждую из которых он оценивает по времени. Виден процесс проверки на уровень безопасности, который соответствует Trustworthy Computing. Это достаточно интенсивный и затратный по времени процесс, судя по общей продолжительности он составляет никак не менее 10 % от общей продолжительности Upgrade, обновления кода.