Форум: "Прочее";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
ВнизОбеспечить безопасность сохранения данных Найти похожие ветки
← →
Strate (2009-02-05 17:51) [0]Добрый день, мастера.
Суть вопроса такова:
Есть программка, которая каждые N секунд (N в пределах от 1 до 10 секунд) сохраняет некие данные в файлик. Сохранение происходит следующим образом: удаляется исходный файл, и заново создаётся.
В случае казуса (отключение света, отказ системы, отказ программы) данные могут либо вообще потеряться, либо записаться не полностью.
Какие есть более безопасные пути сохранения данных?
← →
tesseract © (2009-02-05 17:55) [1]
> Какие есть более безопасные пути сохранения данных?
Переименовать старый файл, записать новый. Старые копии можно удалять.
← →
Ega23 © (2009-02-05 17:56) [2]Самый тупой способ: 2 файла, в один идут "четные сохранения", в другой - "нечётные".
← →
test © (2009-02-05 17:58) [3]Ведение журнала в БД, теория по этим вещам называется "системы гарантированной доставки".
← →
Городской Шаман (2009-02-05 18:01) [4]
> Strate (05.02.09 17:51)
Я делал так:
1. Сохраняем данные в новый файл со случайно сгенерированным именем(по GUID-у подойдёт) и расширением tmp.
2. Переименовываем данный файл в нужное имя(в NTFS это атомарная журналируемая операция).
При старте программы трём все tmp в своём рабочем каталоге.
← →
БарЛог © (2009-02-05 18:23) [5]Strate (05.02.09 17:51)
хорошо хоть не "удаляем файл, ждём N секунд, записываем новый файл" :)
← →
axis_of_evil © (2009-02-05 18:47) [6]возьми пример с MS Word - тот, сколь я понимаю, создает кучу временных файлов каждые N секунд, а при корректном выходе все временные файлы удаляет
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2009.04.05;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.011 c