1 … René Grimm SMB-Crawler Datenbank gestützte Dateiindizierung Seminararbeit im Studiengang Scientific Programming von René Grimm
2 … René Grimm Inhalt Einleitung Begriffe und Definitionen Analyse Umsetzung Optimierung Abschluss
3 … René Grimm Motivation & Ziel Schriftgutverwaltung optimiert durch Digitalisierung Bestandsdaten vieler Jahre Dokumentenmanagementsysteme (DMS) Speichern von Metainformationen
4 … René Grimm Begriffe & Definitionen Metainformationen Definition: Größe Erstellungsdatum / letzte Änderung Generierte Daten (z.B. OCR) Wohin damit? „Metadaten oder Metainformationen sind Daten, die Informationen über Merkmale anderer Daten enthalten, aber nicht diese Daten selbst.“
5 … René Grimm Analyse Dateisystem Zwischenschicht zur Ablageorganisation auf dem Medium HDD (Sektor) CD (Sektor/Spur) SSD (Block) Bänder (Spur) Physisches Speichern
6 … René Grimm Begriffe & Definitionen NTFS (Microsoft 1993) Angelehnt an FAT-Dateisystem Speichert festgelegte Metainformationen Dateigröße Datum Letzte Änderung Zugriffsrechte Dateityp Alternativer Datenstrom (ADS) Analyse
7 … René Grimm Begriffe & Definitionen NTFS (Forts.) Kontingente Dateiverschlüsselung „Harte Links“ (Referenzen) Analysepunkte Bereitstellungspunkte Junction Points Symbolische Verknüpfungen (Vista)
8 … René Grimm Analyse Dokumentenmanagement Speichern von Metadaten „Alternate Data Streams“ (ADS) Bereits genutzt Zone Identifier Filehandle … (
9 … René Grimm Analyse Kopieren von Dateien NTFS → NTFS Alle ADS bleiben erhalten NTFT → FAT32 → NTFS Verlust aller ADS Metainformationen müssen sicher gespeichert werden !!!
10 … René Grimm Analyse Anderer Ansatz gefragt ! Separates Speichern der Metainformation Eindeutigkeit einer Datei Einzigartig, wenn UNC verschieden Erzeugt mögliche Redundanz der Metainformation Hashwerte ermöglichen genaueren Vergleich Minimiert Redundanz
11 … René Grimm Begriffe & Definitionen SMB - „Server Message Block“ (IBM 1983) CIFS - „Common Internet File System“ (Microsoft 1996) Kommunikationsprotokoll und Quasistandard für Datei-, Druck- u.a. Serverdienste NetBIOS → TCP/IP Adressierung mit UNC //Server/Datei
12 … René Grimm Begriffe & Definitionen SHA - „Secure Hash Algorithm“ Kryptographischer Hintergrund wird vernachlässigt Bildet eine Zeichenkette beliebiger Länge (möglichst) kollisionssicher auf eine Zeichenkette fester Länge ab
13 … René Grimm Begriffe & Definitionen Kollisionssicherheit Mit gegebener Hashfunktion h ist es praktisch undurchführbar zwei beliebige, verschiedene x 1, x 2 mit h(x 1 ) = h(x 2 ) zu finden
14 … René Grimm SMB-Crawler Prototyp
15 … René Grimm Begriffe & Definitionen „Webcrawler“ (Info Space Inc. 1994) Suche bzw. Indexierung von Webseiten Beschreibt heute Klasse von Programmen „selbstständig das World Wide Web durchsuchendes Programm, das HTML-Seiten nach Suchkriterien klassifiziert und die Links auf diese Seiten gemäß der gefundenen Klassifizierung in eine Datenbank einsortiert, die die Grundlage einer Suchmaschine bildet.“
16 … René Grimm Umsetzung Plattformunabhängigkeit ! JAVA jCIFS Bibliothek für SMB MySQL (Ablage von Metadaten) Hohe Verbreitung, kostengünstig Spätere Anwendungen (Webclients)
17 … René Grimm Umsetzung Implementierung als Dienst Indexieren und Hashen Periodisch, Nachts Rekursives durchsuchen der Freigaben Dateien zur Hashwertgenerierung DateiserverServer mit angebundener Datenbank
18 … René Grimm Optimierung Traffic minimieren Neue identifizierte Datei, zwingt zum neuen Hashen und vollständigen Übertragen Folgeaufträge Backup Zusätzliche Dienste auf Fileserver ? Plattformgebunden „Software ist lebendig“
19 … René Grimm Optimierung Wartezeiten verringern Dienst läuft nur Nachts ? Änderungen durch permanente Überwachung schneller erfassen (WatchService Klasse) Auslastung verbessern Multithreading ? Ein Datenstrom besser als viele Filehandels
20 … René Grimm Abschluss Erweiterbarkeit Optimierungen durch zus. Module Datenbank Auswertung durch div. Clients Suche (Grundlage für gutes DMS) Dupletten identifizieren (Speicherbedarf minimieren)
21 … René Grimm Vielen Dank