Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Неизвестно 1.docx
Скачиваний:
2
Добавлен:
25.08.2019
Размер:
45.64 Кб
Скачать

Метод временных меток

Альтернативный метод сериализаци транзакций, хорошо работающий в условиях редких конфликтов транзакций и не требующий построения графов транзакций основан на использовании временных меток. Основная идея метода состоит в следующем: если транзакция Т1 началась раньше транзакции Т2 то система обеспечивает такой режим выполнения, как если бы Т1 была целиком выполнена до начала Т2. Для этого каждой транзакции Т предписывается временная метка t, соответствующая времени начала транзакции. При выполнении операции над объектом r транзакция Т помечает его своей временной меткой и типом операции (чтение или изменение). Выполнение операции над объектом r транзакция T1 выполняет следующие действия:

  1. Проверяет не закончилась ли транзакция Т, пометившая этот объект. Если Т закончилось, транзакция Т1 помечает объект r и выполняет свою операцию.

  2. Если транзакция Т не завершилась, то Т1 проверяет конфликтность операций. Если операции неконфликтны, при объекте r остается или проставляется временная метка с меньшим значением и транзакция Т1 выполняет свою операцию.

  3. Если операции Т1 и Т конфликтуют, то если временная метка t(T)>t(T1), то есть транзакция Т1 является более молодой чем Т, производится откат Т и Т1 продолжает работу.

  4. Если же t(T)<t(T1) (Т старше Т1) то Т1 получает новую временную метку и начинается заново.

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