Этапы реконсиляции
В предлагаемом подходе общий процесс реконсиляции включает в себя семь этапов, представленных на Рис. 1:
Рис. 1.Основные этапы процесса реконсиляции
Сравнение и гармонизация: На первом этапе две расходящиеся реплики сравниваются между собой для выявления различий и реконструкции журналов. Даже если во время сессии велась постоянная журнализация, и все изменения зафиксированы, проводится дополнительный анализ, необходимый для выявления эквивалентных представлений в сравниваемых репликах и их гармонизации. Семантический анализ: Все операции транзакций из двух журналов анализируются с учетом семантики самих операций и семантики ограничений для элементов данных; эти ограничения определяются формально специфицированной информационной моделью. Между операциями устанавливаются отношения зависимости и отношения порядка (предшествования). Заметим, что проводимый на этой стадии семантический анализ охватывает как статические, так и динамические зависимости, которые могут быть реально проверены лишь с учетом текущего состояния элементов данных и фактических параметров операций транзакций. Поэтому мы считаем, что результаты, полученные на данном этапе, могут иметь различный уровень доверительности. Выявленные статические зависимости и отношения - абсолютно достоверны (необходимы и достаточны для корректности результирующей транзакции), динамические зависимости и отношения - предположительно достоверны (достаточны, но вовсе не необходимы для корректности транзакции) и поэтому в ряде случаев могут быть проигнорированы и уточнены на более поздних этапах валидации и коррекции. Декомпозиция и редукция: На основе анализа отношений определяются классы эквивалентности, импликативные цепочки и свободные группы операций. Для сформированных групп операций переустанавливаются отношения зависимости с другими операциями и группами. Целью данного этапа является уменьшение количества логических элементов (переменных и отношений) при логическом анализе транзакций и предотвращение комбинаторных проблем, обычно возникающих на последующих этапах. Планирование: Строятся возможные варианты результирующей транзакции, которые удовлетворяли бы всем выявленным отношениям зависимости и порядка и тем самым гарантировали бы ее корректность.
Во внимание принимается также требование наиболее полного покрытия результирующей транзакцией множеств операций в исходных транзакциях, поскольку именно этим определяется ее функциональная содержательность. В случаях, когда число приемлемых вариантов слишком велико, может быть построен план реконсиляции, который бы учитывал возникшие конфликты и определял альтернативные способы их разрешения, например, на основе дерева принятия решений. Валидация: Если в сопутствующем анализе игнорировалась часть ранее установленных (предположительно достоверных) отношений, они должны быть перепроверены с учетом фактического текущего состояния данных и значения параметров операций, поскольку только в этом случае можно гарантировать корректность итоговой транзакции. В случае обнаружения нарушений анализируемые варианты транзакций отвергаются, а ранее построенные планы реконсиляции уточняются путем исключения заведомо неприемлемых решений. Коррекция: Если содержательные решения не былы найдены (например, были найдены лишь тривиальные решения, состоящие в принятии всех операций первой или второй транзакции), то конструктивным подходом может оказаться ослабление предположительно достоверных отношений между операциями и пересмотр результатов семантического анализа. Если на этапе валидации были выявлены нарушения, но все-таки желательно представить критичные операции в результирующей транзакции; могут быть применены корректирующие методы, вносящие необходимые исправления и переводящие транзакцию и данные в корректное состояние. В обоих случаях процесс возвращается к более ранним этапам реконсиляции; Функциональный отбор: Наконец, решения, прошедшие этап валидации, ранжируются и отбираются пользователем согласно функциональным требованиям, предъявляемым к результатам реконсиляции. При наличии плана пользователь последовательно уточняет детали итоговой транзакции, включая в ее состав требуемые операции. С целью автоматизации подобных действий могут быть определены и применены политики исключения и консолидации, основанные на априорно заданных функциональных критериях и приоритетах.
В настоящей статье мы сосредоточимся на втором, третьем и четвертом этапах, охватывающих семантический анализ транзакций с использованием формальных спецификаций прикладной информационной модели, а также методы логического, прежде всего, полисиллогистического вывода для поиска решений рассматриваемой постановки задачи реконсиляции. Методы семантической декомпозиции транзакций более подробно обсуждаются в нашей работе [].
Содержание раздела