Re: Безопасная запись данных
- From
- Alexey Desyatnik ()
- To
- Pavel Fomin
- Date
- 2002-08-17T20:29:52Z
- Area
- RU.ALGORITHMS
From: "Alexey Desyatnik" <desyatnik@dax.ru>
"Pavel Fomin" <Pavel.Fomin@p21.f49.n5026.z2.fidonet.org>
сообщил/сообщила в новостях следующее:
> AB> Типовая конфигурация - семафор указывает на 1 область.
>
> AB> Запись :
> AB> Этап 1. Пришедшие новые данные пишутся во вторую область.
> AB> Этап 2. Семафор переключается на вторую область.
> --
> AB> Этап 3. Эти же данные копируются в первую область.
> AB> Этап 4. Семафор переключается на первую область
> --
> Вот это нафиг.
> Представь: идет запись, записали в 2, переключили в 2, пишем в 1 - облом.
> Перезагрузка, ситуация (1-invalid,*2-ok*). Снова пишем - пишем в 2 -
облом.
А писать надо в инвалидную область.
> Итого - и первая и вторая области неверны. Лучше просто писать в
незанятую. И
> все.
> AB> При каждом рестарте нужно проанализировать состояние семафора,
> AB> и продолжить прерванный алгоритм записи с того места, где
> AB> он прервался.
> Вот-вот, это обходной путь. Только нафига?
Это _не_ обходной путь. Это нормальная обработка транзакций.
Работа продолжается с того места, где произошел облом,
как будто ничего не было; следующий этап - только после
_полного_ завершения текущего.
WBR, AD (desyatnik@dax.ru)
--
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
* Origin: Talk.Mail.Ru (2:5020/400)