Frage

Ich habe ein einfaches Problem mit dem wirklichen Leben, das ich mit einem OO -Ansatz lösen möchte. Mein hartes Schaden ist ein Chaos. Ich habe 1.500.000 Dateien, Duplikate, vollständige doppelte Ordner usw. weiter ...

Der erste Schritt ist natürlich darin, alle Dateien in meine Datenbank zu analysieren. Bisher keine Probleme, jetzt habe ich viele nette Einträge, die "Naturalyy gruppiert" sind. Beispiele für diese einfache Gruppierung können mit einfachen Abfragen wie folgt erhalten werden:

  1. Geben Sie mir alle Dateien, die größer als 100 MB sind
  2. Zeigen Sie alle Dateien, die älter als 3 Tage sind
  3. Holen Sie mir alle Dateien, die mit DOCX enden

Aber jetzt gehen Sie davon aus, dass ich Gruppen mit etwas natürlicherer Bedeutung finden möchte. Dafür gibt es verschiedene Strategien dafür, je nach "Anwendungsfall".

Nehmen wir an, ich habe die schlechte Angewohnheit, alle meine heruntergeladenen Dateien zuerst auf den Desktop zu setzen. Dann extrahiere ich sie in den entsprechenden Ordner, ohne die Zip -Datei immer zu löschen. Das Ich bewege sie in einen "Dachboden" -Fordner. Für das System finden Sie diese Gruppe von Dateien a zeitorientiert Suchansatz, möglicherweise kombiniert mit einem "Überprüfen Sie, ob das ZIP gleich ist, der Ordner X" wäre geeignet.

Nehmen Sie eine weitere schlechte Angewohnheit an, Dateien zu duplizieren und einen Ordner zu haben, in dem sich "die sauberen Dateien" in a befinden Schöne Struktur, und ein anderer Unordentliche Ordner. Jetzt hat mein sauberer Ordner 20 Bildergalerien, mein unordentlicher Ordner hat 5 dupliziert und 1 neue Galerie. Ein menschlicher Benutzer könnte diese Logik leicht identifizieren, indem er "Oh, das ist alles nur Duplikate, das ist ein neuer, also stecke ich den neuen in den sauberen Ordner und versetze alle Duplikate."

Also jetzt, um auf den Punkt zu kommen:

Welche Kombination von Strategien oder Mustern würden Sie verwenden, um eine solche Situation zu bekämpfen. Wenn ich die "härteste" filtert, würde ich gewinnen, und ich habe keine Ahnung, wie das System "testen" kann, um eine geeignete Kombination zu testen. Und es scheint mir, es ist mehr als nur filtern. Die dynamische Gruppierung durch Kombination mehrerer Kriterien, um die "besten" Gruppen zu finden.

Ein sehr grober Ansatz wäre Folgendes:

  1. Am Anfang sind alle Dateien gleich
  2. Die erste, nicht so "gute" Gruppe ist das Verzeichnis
  3. Wenn Sie ein großes, sauberes Verzeichnis sind, erhalten Sie Punkte (gleichmäßig verteilte Namen).
  4. Wenn alle Dateien das gleiche Erstellungsdatum haben, sind Sie möglicherweise "autokriert"
  5. Wenn Sie ein Kind von Programmfiltern sind, interessiert ich mich überhaupt nicht um Sie
  6. Wenn ich Sie, Gruppe A, in Gruppe C bewegen würde, würde dies die "Entropie" verbessern.

Was sind die besten Muster, die dieser Situation passen? Strategie, Filter und Pfeifen, "Gruppierung" .. alle Kommentare willkommen!

Bearbeiten in Rekation auf Antworten:

Der Tagging -Ansatz:Natürlich kam es mir in den Sinn. Aber wo zeichne ich die Linie? Ich könnte verschiedene Tag -Typen erstellen, wie Indirtag, CreatedOndayxtag, Topictag, Authorptag. Diese Tags könnten in einer Hirarchie strukturiert werden, aber die Frage, wie man gruppiert. Aber ich werde das etwas darüber nachdenken und meine Erkenntnisse hier hinzufügen.

Der Aufschubkommentar:Ja, es klingt so. Aber die Dateien sind nur das einfachste Beispiel, das ich mir einfallen lassen könnte (und im Moment das relevanteste). Es ist tatsächlich Teil des größeren Bildes der Gruppierungsdaten auf dynamische Weise. Vielleicht hätte ich es abstrakter halten sollen, um dies zu betonen: Ich bin es Nicht suchen ein Datei -Tagging Werkzeug oder eine Suchmaschine, aber ein Algorithmus oder Muster an dieses Problem zugehen ... (oder besser Ideen wie Tagging)

Chris

War es hilfreich?

Lösung

Ich habe keine Lösung (und würde gerne eine sehen), aber ich könnte vorschlagen, Metadaten aus Ihren Dateien neben dem offensichtlichen Namen, Größe und Zeitstempeln zu extrahieren.

  • In-Band-Metadaten wie MP3-ID3-Tags, Versionsinformationen für EXES / DLLs, HTML-Titel und Schlüsselwörter, zusammenfassende Informationen für Bürodokumente usw. Auch Bilddateien können interessante Metadaten haben. Ein Hash des gesamten Inhalts hilft bei der Suche nach Duplikaten.
  • Out-of-Band-Metadaten können in NTFS-alternativen Datenströmen gespeichert werden-z. Was Sie auf der Registerkarte Zusammenfassung für Nicht-Office-Dateien bearbeiten können
  • Ihre Browser behalten Informationen darüber, von denen Sie Dateien heruntergeladen haben (obwohl die Opera sie nicht lange hält), wenn Sie sie lesen können.

Andere Tipps

Du bist zögern. Stoppen Sie das und räumen Sie Ihr Chaos auf. Wenn es wirklich groß ist, empfehle ich die folgende Taktik:

  1. Machen Sie eine Kopie aller Sachen auf Ihrem Laufwerk auf einer externen Festplatte (USB oder was auch immer)
  2. Führen Sie eine saubere Installation Ihres Systems durch
  3. Sobald Sie feststellen, dass Sie etwas benötigen, erhalten Sie es von Ihrer Kopie und platzieren Sie es an einem gut definierten Ort
  4. Werfen Sie nach 6 Monaten Ihre äußere Fahrt weg. Alles, was dort ist, kann nicht so wichtig sein.

Sie können auch Google Desktop installieren, das Ihr Chaos nicht reinigt, aber Sie können es zumindest effizient durchsuchen.

Wenn Sie dies in Zukunft verhindern möchten, müssen Sie die Art und Weise ändern, wie Sie Dinge auf Ihrem Computer organisieren.

Hoffe das hilft.

Sie haben Fieber und das einzige Rezept ist Tag Cloud! Sie müssen immer noch die Dinge aufräumen, aber mit Werkzeugen wie Taggcloud oder Tag2Find Sie können Ihre Dateien im Gegensatz zum Standort auf dem Laufwerk organisieren. Tag2Find wird eine Freigabe ansehen und wenn etwas in der Freigabe gespeichert wird, erscheint ein Popup und bittet Sie, die Datei zu markieren.

Sie sollten auch Google Desktop erhalten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top