|
|
fr.comp.os.ms-windows.programmation Affichage de l'article : Re:_mécanisme_de_sauvegarde_de_données
Date :
Le 04 aout 2005
From :
adebaene@club-internet.fr
Sujet :
Re:_mécanisme_de_sauvegarde_de_données
AG a =E9crit :
> Bonjour,
>
> j'ai une petite application de calcul en C, qui peut tourner plusieurs
> jours de suite. Pour ne pas avoir =E0 recalculer tout depuis le d=E9but
> lorsque l'application plante (soit parce que je d=E9cide de l'arr=EAter,
> soit parce que la machine sur laquelle elle tourne, plante, soit pour
> n'importe quelle autre raison), je sauvegarde les r=E9sultats
> interm=E9diaires dans un fichier texte. Mes sauvegardes sont p=E9riodique=
s=2E
>
> Mais il peut arriver que le syst=E8me plante au moment ou la sauvegarde
> est en train d'=EAtre effectu=E9e, et l=E0, pour le coup, je perds toutes=
mes
> donn=E9es.
>
> Quels sont les m=E9canismes classiques qui permettent un sauvegarde s=FBr=
e ?
>
> J'ai pens=E9 =E0 :
>
> 1=B0) Utilisation d'outils de synchronisation (des cadenas (locks) ) mais
> j'ai comme l'impression que contre un reboot intempestif, m=EAme le
> meilleurs des cadenas ne sera pas d'une grande utilit=E9.
>
> 2=B0) Utilisation de deux fichiers de sauvegarde dans lesquels on vient
> sauvegarder alternativement les donn=E9es. Si le syst=E8me plante lors de=
la
> sauvegarde sur l'un des fichiers, l'utilisation de l'autre permet une
> restauration du syst=E8me.
>
> Quelles sont les m=E9canismes classiques pour r=E9soudre ce probl=E8me ?
Un m=E9canisme de journalisation, avec des op=E9rations transactionnelles
pour la sauvegarde (commit/rollback).
> Est-il possible de s'en tirer avec seulement 1 fichier de sauvegarde ?
Le plus simple, c'est d'utiliser pour ton stockage une base de donn=E9e
transactionnelle (MSDE par exemple), ou bien un syst=E8me transactionnel
tout fait (=E9crire soi-m=EAme un moteuer transactionnel me semble
illusoire pour la plupart des genrs).
Arnaud
Posez vos questions, réponses et remarques sur
les forums de FrameIP
|
|