MyWackoSite : Публикации/2010/ISSC/ChilimIppolitov

МОДИФИКАЦИЯ СЛОЯ ОБЪЕКТНО-РЕЛЯЦИОННОГО ОТОБРАЖЕНИЯ ДЛЯ ОРГАНИЗАЦИИ РЕПЛИКАЦИИ НА ОБЪЕКТНОМ УРОВНЕ

В. Д. Ипполитов, Н.А. Тищенко, Н.А. Баженов, О.А. Кременная, В.Н. Вельдяксов
Новосибирский государственный университет
Учебно-исследовательская лаборатория НГУ-Parallels

Под репликацией подразумевается полная или частичная синхронизация содержимого нескольких хранилищ данных с сохранением целостности данных [1,2]. В случае, когда некоторое бизнес-приложение работает с реляционной СУБД используя слой объектно-реляционного отображения (ORM), целостность данных сводится к целостности отдельных объектов и связей между ними. Целью проекта «Чилим» является разработка механизма репликации реляционных баз данных на объектном уровне и реализация программной системы, основанной на этом механизме. В требования к системе входят: минимальная модификация бизнес-приложения, устойчивость к разрывам сетевых соединений, экономия трафика, модульность.
На данный момент реализован функциональный прототип системы репликации. В качестве бизнес-приложения выступает система управления контентом Xwiki, использующая библиотеку Hibernate для доступа к РСУБД на объектном уровне.
Модуль работы с ORM-слоем с помощью внедрённого в Hibernate кода отслеживает создание, изменение и удаление объектов бизнес-приложением и для каждого объекта сохраняет в базу данных метаинформацию: дату последней модификации объекта приложением, дату сохранения его в базе данных и уникальный в рамках всей сети идентификатор. При репликации узел А строит список объектов, изменённых с момента последней репликации с узлом Б, и сравнивает его с аналогичным списком узла Б. После разрешения конфликтов происходит проталкивание локально изменённых объектов на узел Б и вытягивание изменений с его стороны [1]. В случае обрыва связи, успешно переданные объекты заново не передаются. Управление процессом ведётся через веб-интерфейс.
В ходе работы были выявлены требования к бизнес-приложению, при выполнении которых система репликации способна корректно функционировать. Приведение Xwiki в соответствие с этими требованиями позволило создать работающий прототип системы репликации.
__
1. Иртегов Д.В. Введение в сетевые технологии. — СПб.: БХВ-Петербург, 2004.
2. Э. Таненбаум, М. ван Стеен. Распределенные системы. Принципы и парадигмы. — СПб.: Питер, 2003.

Научные руководители – канд. физ.-мат. наук С. Ф. Кренделев,
канд. физ.-мат. наук А. В. Чернышев, Д. В. Иртегов.