Programm Logik usw...

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von Haudruferzappeltnoch.

    Programm Logik usw...

    Moin moin

    Keine generelle Frage für Code, sonder zur Logik zu einem Programmablauf.

    Also ich habe eine Anwendung, welche Daten in einen DB schreibt und einige XML-Dateien erstellt, die bestimmte Abläufe im Programm steuern.

    Nun möchte ich ein kleines "BackUp-System" in die Anwendung integrieren. Dazu soll einfach der Ordner mit der DB gezippt und auf einen exteren Datenträger geschrieben werden.
    Das Backup sucht dann immer (nach Vorgabe) die frühsten 2/4/6 alte und löscht diese (nach erfolgreichem Backup). Der Code funktioniert soweit. ;)

    Was ich nun machen möchte ist folgendes:
    In einer XML Datei ist der Eintag "AutoBackupEnabled". Danach soll dann entsprechend das Backup erfolgen. Wenn false ist manuelles BackUp möglich.
    Jetzt die Frage.

    Wie ermittel ich jetzt am besten :
    1.) Wann das letzte BackUp gemacht wurde? Und wie die Logik dazu ob / wann das autobackup erfolgt?
    Vorgaben z.B. nur Montags? Aber was ist wenn Montag das Programm garnicht gestartet wurde?? USW... ?(
    Soll ich dazu wie bis jetzt vorgesehen ein Feld in einer XML belegen oder nach wirklichen Dateien und dessen Erstelldatum suchen lassen?

    2.) Wann werte ich den Status aus des Autobackups aus? Bei Programmstart, beim Beenden oder..??? Hab noch wirklich keine "gescheite" Idee wie ich das umsetze.. ?(

    3.) Was muss ich ggf noch mit einplanen oder gar völlig anders planen?



    XML-Quellcode

    1. String: "BackUpDrive" /> ' Ziellaufwerk für das Backup
    2. Integer: "BackUpTimeout" /> ' Zeitintervall zwischen zwei "mauellen" Backup-Vorgängen
    3. Integer: "NumOldBackUps" /> ' Anzahl der zu behaltenden alten Backups
    4. Boolean: "DelOldBackupEnabled" /> ' ob alte Backups gelöscht werden sollen
    5. Integer: "AutoBackupIntervall" /> ' Intervall für automatische Backups (wöchentlich/monatlich)
    6. Boolean: "AutoBackupEnabled" /> ' zur Aktivierung/deaktivierung des automatischen Backups
    7. '----------------------
    8. Ingter: "ID" /> ' Autoincrement
    9. DatTime: "BackUpTime" /> ' Zeitstempel wann gestartet
    10. Boolean: "BackUpStatus" /> ' Stempel ob erfolgreich
    11. String: "LogMessage" /> ' Mitteilung
    Bilder
    • dtbackup1.jpg

      87,3 kB, 406×246, 14 mal angesehen
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    Die erste Frage die mir da direkt einfällt ist:
    Ist das eine Einzelplatz-Anwendung oder greifen mehrere Personen bzw. Rechner darauf zu.

    Wer hat den Zugriff auf die XML-Datei? Ich würde den Status in der Datenbank ablegen.

    M.E. gehört alles was den Status der Datenbank angeht auch in der Datenbank stehen sollte. Alles was die die Lokale-Konfiguration angeht gehört in eine Konfigdatei. Bei Nutzereinstellungen muss man überlegen, ob dass in der Datenbank oder in eine Settings-Datei gespeichert wird. Hängt ein bisschen vom Anwendungsgebiet ab. Wenn ein Nutzer immer nur auf dem selben Arbeitsplatz arbeitet, kann das in eine Settinsgdatei gespeichert werden, wird aber vom gleichen Nutzer von verschiedensten Arbeitsplätzen gearbeitet ab in die Datenbank.

    Ich mache meine Backups von Dateibasierten Datenbanken immer beim Start des Programmes und prüfe ob für den aktuellen Tag schon ein Backup vorhanden ist. Beim Schließen ist es bei einer Mehrnutzeranwendung schwieriger fest zustellen, ob das Programm noch irgendwo in Benutzung ist. ich heben dann immer 5 Version des Backups auf. Wenn mal an einem Tag nicht gearbeitet wird, gibt es für den tag dann auch kein Backup.
    Alternativ wird bei servergestützten Datenbank das Backup über das DMS gemacht.
    NB. Es ist doch schön, wenn man lesbare Namen vergibt. Siehe auch [VB.NET] Beispiele für guten und schlechten Code (Stil).
    @INOPIAE

    Das ganze läuft nur auf einem "Einzelplatz also ein PC/Laptop" und wird nur von "einer" Person genutzt.
    Diese hat sowohl Zugriff auf die DB und die XML-Dateien, quasi auf alles was auf dem PC liegt.
    Asperger Autistin. Brauche immer etwas um gewisse Sachen zu verstehen. :huh:
    Den Zeitpunkt des letzten Backups holst du natürlich aus dem letzten Backup. Wenns eine Datei ist, stehts ja auch ganz vorne dran, nämlich das letzte Änderungsdatum der Datei.

    Ich würde mir Gedanken machen, ob man wirklich zwischen manuell und automatischem Backup wechseln können möchte.
    Wenn man das automatische Backup deaktiviert, warum? Weil man offensichtlich kein Backup machen möchte, also auch nicht manuell.