On Fri, 19 Sep 2003 14:47:47 +0400
<CGatePro@mx.ru> (Dmitry S. Rzhavin) wrote:
> Хорошо, решение 'в лоб'.
> операции с файлом ++counter (в смысле, сначала увеличиваем, потом > работаем). > Операция с mbox защищена всеми имеющимися на данный момент механизмами (Вы > указывали, что у Вас есть механизмы защиты mbox от различных повреждений). > Далее.
> заголовкам (+- другие поля, наиболее часто запрашиваемые). Каждый index > имеет counter, который нормально совпадает с counter mbox. > При любых изменениях mbox соответственно изменяется index, причем > counter++ > (в смысле, что counter изменяется только после успешной записи в index). > Все запросы по выборке почты обслуживаются из индекса, если это возможно > (собсна, что должно принести выгоду).
Такие counter's уже и так есть - называются "dateTimeModified", атрибут такой у файла. Вот только когда он на диск попадает - вопрос сложный, особенно при NFS. И в каком порядке. А с счетчиками тоже не так просто. Вот, стали Вы писать индекс. Одним куском. Вначале - счетчик пошел, потом данные, потом система благополучно упала. В результате имеете свой счетчик плюс старые данные (частично). Можно, конечно, в два обращения писать - сначала все данные, потом счетчик обновлять. Это долго. Можно "по умному" - писать в конце данных тот же счетчик. При чтении не совпало - значит, файл побитый. Ну и так далее. Это я просто навскидку Вам показываю, что у предложенного вами решения есть:
а) проблемы. б) альтернативы в) проблемы у альтренатив.
То есть - думать надо.
Sincerely,
Vladimir
Получено Fri Sep 19 11:13:09 2003
Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:12:42 MSK