Verarbeiten von 800.000 Dateien

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Verarbeiten von 800.000 Dateien

    Hallo zusammen,

    vorab: ich bin nicht auf der Suche nach einem fertigen Script,
    sondern nur nach einem Lösungsansatz. Vielen Dank vorab.

    Ich versuche ein Rechnungsarchiv zu verwalten, in welchem sich
    derzeit ungefähr 800.000 Dateien befinden. Dieses Archiv wird täglich
    weiter befüllt und die Dateien innerhalb dieses Archivs dürfen nicht
    verändert, verschoben, umbenannt etc. werden, da das Warenwirtschafts-
    System diese Dateien sonst nicht mehr findet und/oder akzeptiert.

    Die Namensgebung der Dateien erfolgt (leider) per Zufallsgenerator.
    Zudem ist das Datum der Datei nicht ausschlaggebend, da die Dateien
    bei Nachkalkulationen gelöscht und neu erstellt werden können.
    Der Datei-Name bleibt in diesem Fall aber erhalten.

    Ich will aber diese Dateien auswerten und deren Inhalt sowie
    Auswertung in einer SQL Datenbank abspeichern. Somit muss
    ich irgendwie diese Dateien "markieren" als verarbeitet damit
    das Script (Cronjob, der immer 1000 Dateien auswertet) beim
    nächsten Lauf diese Dateien überspringt.

    Meine Ideen scheitern leider an der Menge der Dateien.

    Wie würdet ihr an eine solche Datenmenge herangehen?

    Danke im Voraus

    Gruß
    btec

  • #2
    Hallo,

    ich würde das Verzeichnis einlesen und in eine Datenbank schreiben. Dort kannst du dann neben einer eindeutigen ID und dem Dateinamen (unique key) auch das Rechnungsdatum, Absender, Empfänger u. s. w. verwalten.

    Die eigentliche Frage ist aber die: Sollte das WWS nicht geeignete Auswertungen mitbringen oder wenigstens eine Schnittstelle zum Zugriff darauf anbieten? Ich würde vorsichtshalber nochmal ins Handbuch des WWS gucken.

    Gruß,

    Amica
    [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
    Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
    Super, danke!
    [/COLOR]

    Kommentar


    • #3
      Warum an der Menge der Dateien?

      Kannst doch einfach eine Datenbanktabelle machen, wo schon bearbeitete Datein drin stehen.
      Dort speicherst du also nur den Namen + eventuell nen timestamp ab.

      Diese überspringst du beim nächsten durchlauf.

      Dann siehst du dir an, wieviele Datein du ungefähr in einem PHP-Script durchlauf durchbekommst. Solltest dich da ein wenig zurückhalten, wie ich finde, sodass ein durchlauf Max. 5 Sekunden dauern darf (Von Standart glaube ich 30?).

      Wieviel Dateien du in einem Durchlauf schaffst, musst du mal austesten^^.
      Danach läd er eine Seite, die, je nach dem z.B. über JS eine weiterleitung und einen Link hat. Nach x Sekunden läd er also die Seite neu. Diesmal werden die nächste X Datein abgearbeitet, bis das Script durch ist.


      Edit: Ups hab das mit dem Cronjob überlesen. Naja aber da versteh ich ehrlich gesagt, noch weniger das Problem, da du doch eh mit Datenbank arbeitest?^^

      Kommentar


      • #4
        Verarbeiten von 800.000 Dateien - PHP Forum: phpforum.de

        Kommentar

        Lädt...
        X