aktiven Upload von Datenbankfiles erkennen?

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • aktiven Upload von Datenbankfiles erkennen?

    Unser Datenbankentwickler hat uns eine Aufgabe gestellt, die uns vor einige Probleme stellt. Hier seine Forderung:

    Die PHP Programme sollten in der Lage sein einen aktiven UPLOAD zu erkennen und einen Zugriff auf die Online Datenbank während dieser Zeit sperren. (Selbstverständlisch mit Anzeige einer ansprechenden Erklärung)
    Das geht über meine Kenntnisse. Wo muss ich da ansetzen? Geht das überhaupt?
    Gruß
    Thomas Sebesta/Neunkirchen/Austria
    Entwicklergruppe dsfdb.org
    [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
    sourceforge.net/projects/dsfdb/

  • #2
    du kannst schauen, ob sich in dem verzeichnis, in dem uploads landen, bevor du sie mittels php verschiebst was tut

    aber wovor hat der datenbankenwickler denn angst?
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Puuuh! Das wird schwierig, da der Aufruf des Uploadskripts auf dem Server erst dann stattfindet, wenn die Datei schon oben ist (und das kann bekanntlich dauern). Ich würde eine simple clientseitige Lösung empfehlen: Beim Abschicken eines Dateiuploads (form.onSubmit()) sendet ein IFRAME einen Sperrbefehl an den Server. Das Skript, das die Uploaddatei entgegennimmt, führt dann die Entsperrung durch nachdem das Einspielen beendet wurde. Einzige Schwachstelle: Was passiert wenn ein Upload zwischendrin abgebrochen wird? Das würde ich so machen: Der Upload findet in einem eigenen Fenster statt. Im Hauptfenster sendet ab dem Beginn des Uploads das obengenannte IFRAME alle zwei Minuten die Nachricht an den Server "Upload läuft noch, Datenbank weiter gesperrt halten". Das lässt sich über einen Refresh sehr einfach einrichten. Der Refresh wird gestoppt sobald der Upload durch ist. Mögliche (m.E. vertretbare) Schwachstelle: Das schließen des Hauptfensters könnte die Datenbank entsperren bevor der Upload durch ist. Das läßt sich aber beheben, indem man das Uploadfenster dann schließt (ich glabe die Window.open-Anweisung hieß "dependent=yes").

      Ich hoffe ich hab mich verständlich ausgedrückt

      Wenn es 150% wasserdicht und perfekt sein muss, fällt mir nur die ProgressBar auf Sourceforge ein, aus der man vielleicht den nötigen Code rausziehen kann. http://sourceforge.net/projects/megaupload/

      Wenn es ausreicht, dass die DB gesperrt wird wenn ein Upload *eingespielt* wird (d.h. nachdem der Upload schon angekommen ist) ist es natürlich ganz einfach: Entgegennehmendes Skript sperrt DB; Spielt Daten ein; entsperrt wieder; fertig.

      Und wenn jetzt rauskommt, dass euer Datenbankmann FTP- oder ODBC-Uploads meint, kriegt ihr eine satte Rechung für sonntagabendlichen Hirnschmalz
      Zuletzt geändert von pekka; 18.01.2004, 20:25.

      Kommentar


      • #4
        Es geht darum, dass wir nicht gegen die Web-Datenbank entwickeln sondern gegen eine Import-Datenbank. Die Web-Datenbank dient nur zu Anzeige aufgenommener (und geprüfter, konvertierter) Daten, die über eine Importdatenbank und eine Konvertierung in die Web-Datenbank geschoben werden.

        Es ist ein sehr großes Projekt im Literaturbereich und die Web-Datenbankaktualisierung hat jeweils eine Größe von 100-200 MB. Die Konvertierung erfolgt nicht am Datenbankserver sondern lokal und die Aktualisierung der Web-Datenbank erfolgt über Zip-files die auf den Datenbankserver geschoben werden und dort entpackt werden. Wenn also die Aktualisierung läuft dauert das einige Zeit und in dieser Zeit darf die Web-Datenbank nicht abgefragt werden weil ja sonst die Daten (Verknüpfungen) nicht stimmen.

        Also muß das Board in der Zeit offline geschaltet werden und das soll automatisiert werden. Vor allem soll das Board nach erfolgtem Upload auch wieder automatisch online sein.
        Gruß
        Thomas Sebesta/Neunkirchen/Austria
        Entwicklergruppe dsfdb.org
        [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
        sourceforge.net/projects/dsfdb/

        Kommentar


        • #5
          Die Konvertierung erfolgt nicht am Datenbankserver sondern lokal und die Aktualisierung der Web-Datenbank erfolgt über Zip-files die auf den Datenbankserver geschoben werden und dort entpackt werden. Wenn also die Aktualisierung läuft dauert das einige Zeit und in dieser Zeit darf die Web-Datenbank nicht abgefragt werden weil ja sonst die Daten (Verknüpfungen) nicht stimmen.
          Hrmpf. Bitte nächstes Mal etwas genauere Angaben machen.
          Wer aktualisiert die DB? Ein PHP-Skript?

          Kommentar


          • #6
            Soweit ich das verstanden habe, soll die Web-Datenbank durch überspielen der alten Datenbankfiles durch die Neuen im Datenbankverzeichnis des MySQL -Servers aktualisiert werden (wegen der Größe und Menge der Tables).
            Gruß
            Thomas Sebesta/Neunkirchen/Austria
            Entwicklergruppe dsfdb.org
            [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
            sourceforge.net/projects/dsfdb/

            Kommentar


            • #7
              Ja, aber wie? Was für ein Skript?

              Kommentar


              • #8
                Das müssen wir erst schreiben!
                Derzeit liegt nur die Datenbank vor. Den Ablauf müssen wir von der Webentwicklung übernehmen.

                Ich ein bisschen eine Abenteuerstory:
                Wir haben uns vorgenommen eine Datenbank für deutsche Sciense Fiction zu schaffen. Nach den Anfängen haben wir einen Datenbankspezialisten zur Mitarbeit gewinnen können. Der hat uns klar gemacht, das dies nur sinnvoll ist, wenn eine entsprechende Datenbankstruktur dahinterlliegt und uns eine solche entworfen. Hat aber selbst mit PHP nichts am Hut.

                Allerding stellt uns diese Datenbank vor erhebliche Umsetzungsprobleme, weil wir von der Web-Gruppe keine "Profis" sind, sondern eben für eine solche Umsetzung noch erhebliches lernen müssen.

                Tja, und das versuchen wir jetzt zu tun.

                Die Web-Oberfläche sollten wir durchaus umsetzten können, aber das Rundherum ist zäh für uns momentan...
                Zuletzt geändert von nekropole; 18.01.2004, 21:57.
                Gruß
                Thomas Sebesta/Neunkirchen/Austria
                Entwicklergruppe dsfdb.org
                [color=blue](d)eutsche (s)peculativ (f)iction (d)aten(b)ank[/color]
                sourceforge.net/projects/dsfdb/

                Kommentar

                Lädt...
                X