Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.04.05;
Скачать: CL | DM;

Вниз

Обеспечить безопасность сохранения данных   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.019 c
15-1232570914
Cyrax
2009-01-21 23:48
2009.04.05
Чем отличаются Nokia N95, Nokia N95 1 year navigation...


15-1233832544
Юрий
2009-02-05 14:15
2009.04.05
С днем рождения ! 5 февраля 2009 четверг


15-1232012611
nnov
2009-01-15 12:43
2009.04.05
1C не редактируются документы


2-1234686924
Roll
2009-02-15 11:35
2009.04.05
добавление нескольких файлов через OpenDialog


2-1234591942
K
2009-02-14 09:12
2009.04.05
одновременная запись в файл на ftp