Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
1-1209223583
Zilog
2008-04-26 19:26
2009.04.05
генерация таблиц в RTF формате


15-1233644188
Дмитрий С
2009-02-03 09:56
2009.04.05
HTTP: basic авторизация под SSL


2-1234501240
dark_volk
2009-02-13 08:00
2009.04.05
Копирование таблиц


3-1218019582
Alexandra
2008-08-06 14:46
2009.04.05
Нужно преобразовать в формат TDateTime.


3-1217426760
baklazan
2008-07-30 18:06
2009.04.05
Сумма чисел в колонке





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский