Eindeutige Dateiindentifizierung

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Murdoc.

    Eindeutige Dateiindentifizierung

    Hallo Leute,

    ich suche nach einer geeigneten Lösung für folgendes Szenario:

    Im Unternehmensumfeld sollen Dateien aus verschiedenen Quellen (Externe Dienstleister, Intern) zentralisiert in einer Datenbank abgelegt und verwaltet werden.
    Dabei werden die Daten (Dateien) von Dienstleistern per SSIS abgeholt und es soll weiterhin möglich, über ein intern zu verwendendes Tool "manuell" Dateien hinzuzufügen.

    Dabei soll erkannt werden, ob eine Datei schon in der Datenbank vorhanden ist - das gilt sowohl beim SSIS-Import als auch bei Verwendung des Tools.
    In meinem ersten Datenbankentwurf habe ich eine Tabelle in der die Dokumente als BLOB abgelegt werden und eine berechnete Spalte, die automatisch einen SHA1 (Hash) auf den Dateiinhalt kreiert.

    Aufgrund des Hashes und des Dateinamens ergeben sich für mich beim Abgleich einer hinzuzufügenden Datei mit den Daten aus der Datenbank 4 Möglichkeiten:
    1. Dateihash ist gleich, Dateiname ist gleich --> es handelt sich um die gleiche Datei
    2. Dateihash ist gleich, Dateiname unterschiedlich --> die Datei wurde umbenannt ODER die Datei wurde kopiert und umbenannt
    3. Dateihash ist ungleich, Dateiname ist gleich --> Datei wurde geändert ODER neue Datei
    4. Dateihash ist ungleich, Dateiname ist ungleich -->Andere Datei ODER Datei wurde geändert und umbenannt
    Die Sschwierigkeit oder mein Problem liegt in der Uneindeutigkeit der Schlussfolgerung.

    Welche Möglichkeiten gibt es, eine Datei wenn möglich eindeutig zu identifizieren und Vorgänge wie Umbenennen, Ändern und Kombinationen davon zu erkennen?

    PS: FileSystemWatcher oder ähnliche Verzeichnisüberwacher finden hier keine Anwendung da die Daten auch bei externen Firmen liegen
    PPS: Ich weiß es schreit nach DMS, aber aus politschen, zeitlichen und monetären Gründen kommt das leider nicht in Frage
    Gruß Murdoc
    Unterscheidet Windoof nicht sogar Zeitpunkte bei Dateien in Erstellt und Verändert/Bearbeitet? Sprich innerhalb der Dokumenteneigenschaften.

    Ich weiß nicht was du da alles hashst, aber wenn du das Creation- + Edit-Date mit in deinen Vergleich einbeziehst (nicht in den Hash!), sollte das ein paar Uneindeutigkeiten klären.


    LG, Acr0most :thumbsup:
    Wenn das Leben wirklich nur aus Nullen und Einsen besteht, dann laufen sicherlich genügen Nullen frei herum. :D
    Signature-Move 8o
    kein Problem mit privaten Konversationen zu Thema XY :thumbup: