Database verschwindet, alles gelernte auch

  • Hallo Group, hallo Achim,

    Seit ich auf BayesFilter gewechselt habe hab ich wirklich eine enorm hohe Erkennungsrate, im Vergleich zu BayesIt, das mit der Zeit immer schlechter wurde...!

    Aber manchmal habe ich ein Problem: ich habe die Database meines BayesFilter über einen UNC-Pfad eingetragen, in etwa so:

    Word database path: "\\notebook\thebat\bayesFilter\database.dat"

    Das mache ich, da ich TheBat auf zwei Rechnern abwechselnd benutze (Notebook und Desktop). Physikalisch liegt TheBat's Base aber auf "notebook". Ich kann jetzt aber nicht einfach "C:\thebat\bayesFilter\" angeben, weil sonst der BayesFilter auf dem Desktop natürlich lokal sucht, und die database nicht findet. Daher UNC.

    Meist funktioniert auch alles prima, und auch auf dem Notebook ist der Pfad (der auf sich selbst weist) ja auch gültig. Doch gelegentlich scheint, z.B. nach dem aus dem Schlafmodus kommen, der UNC-Pfad nicht sofort zur Verfügung zu stehen. BayesFilter filtert nicht mehr, und wenn ich auf die Einstellungen gehe sagt er, ich müsse erst mal trainieren.

    Interessant (und die Rettung) dabei ist, dass die Database und die anderen Dateien immernoch unverändert im Verzeichnis liegen. Wenn ich dann aber TheBat schliesse ist alles wieder auf "0 kB"...

    Wenn ich daher merke, dass ich Spams nicht gefiltert bekomme mache ich also einfach ein Backup der Dateien, schliesse TB!, spiele die Dateien zurück und alles geht wieder. Aber feiner wär's natürlich, wenn das Problem gar nicht erst auftreten würde.

    Also: Dringlichkeit niedrig, Lästigkeit mittel ;) falls Du aber mal dazu kommst wäre es praktisch, z.B. ein Warnfenster zu bekommen, wenn die Database plötzlich nicht mehr verfügbar ist, und man dann "Retry" machen könnte. Oder so.

    Grüße,
    Martin

  • Hi,

    zur Funktionsweise folgendes. Wenn The Bat! gestartet wird, dann lädt The Bat! die aktuelle Datenbank ins Ram und arbeitet danach nur noch im Ram. Beim schließen von The Bat! wird die Datenbank zurück geschrieben. Ich vermute mal folgendes. Du versuchst The Bat! zu starten und das besagte UNC Laufwerk steht zu diesem Zeitpunkt noch nicht zur Verfügung. Der Filter setzt seine Arbeit aber fort, allerdings mit einer leeren Datenbank. Wenn dann beim schließen die Datenbank aber plötzlich vorhanden ist, dann wird diese mit einer leeren Datenbank überschrieben. Das könnte man lösen, indem ich den User frage, ob er bei einer nicht vorhanden Datenbank das entsprechende file erzeugen möchte, einen neuen Versuch starten oder Abbrechen möchte.
    Wenn ich es richtig verstanden habe, so ist dein Problem aber ein anderes. Bei dir scheint wärend des Betriebs die Datenbank zu verschwinden, oder habe ich da was falsch verstanden?

    Achim

  • Zitat

    Beim schließen von The Bat! wird die Datenbank zurück geschrieben.


    Was denn, wenn TB! nicht ordnungsgemäß beendet wird (Systemabsturz o.d.g.)?

  • Sorry, ich war einen Moment "abwesend" :pfeif:

    Zitat

    Das könnte man lösen, indem ich den User frage, ob er bei einer nicht vorhanden Datenbank das entsprechende file erzeugen möchte, einen neuen Versuch starten oder Abbrechen möchte.

    Eine gute Idee!

    Zitat

    Wenn ich es richtig verstanden habe, so ist dein Problem aber ein anderes. Bei dir scheint wärend des Betriebs die Datenbank zu verschwinden, oder habe ich da was falsch verstanden?

    Hm, ob bayesFilter die Datei schon beim Öffnen von TB oder nach dem Wiederhochfahren aus dem Schlafmodus nicht findet kann ich so nicht sagen. Oder gibts eine Möglichkeit den Status während der Laufzeit abzufragen?

    In jedem Fall wäre es praktisch, beim Schliessen (vor dem Übersschreiben der vorhandenen Daten) gefragt zu werden ob man das will, wenn die aktuelle Datenbank eben erst neu erstellt wurde (wie Dein Vorschlag oben, aber halt nicht beim Start, sondern beim Abspeichern).

    Gestern hatte ichs übrigens schon wieder: ich hab den Rechner in den Schlafmodus geschickt, bin nach Hause und hab dort kein Netz gehabt (WLAN war aus). Als ichs dann angeschaltet hatte und Mails checkte war die Datenbank leer, alle Spams kamen durch. Soweit ich mich erinnere lief zu Hause TB immernoch, das ich im Büro gestartet hatte. Also scheint die Datenbank verschwunden zu sein, während TB lief. Ich versuch mal noch genauer rauszufinden wann das Problem auftritt!

  • Ok, nun hab ichs: wenn keine Netzwerkdevices aktiv sind, ist der UNC Path auf localhost nicht verfügbar, d.h. bayesFilter findet seine Datenbanken nicht.

    Wenn ich dann zwischenzeitlich z.B. den WLAN-Schalter am Notebook anmache ist \\notebook\c\thebat\ plötzlich wieder verfügbar, und bayesFilter überschreibt die alten Settings.

    Ich habe nachgesehen: BayesFilter speichert den Pfad in der Registry, d.h. ich kann auf notebook und desktop auf unterschiedliche Pfade setzen (auf dem Notebook auf c:\TheBat\ und auf dem Desktop auf \\notebook\c\TheBat\). Dann sollte alles gehen! Sorry, dass ich nicht gleich nachgesehen habe...

  • Hmmm... *grübel*

    Ich habe ein ähnliches Problem.

    Ich nutze TheBat ebenfalls von zwei Rechnern aus. Daher habe ich sowohl das Mail- Vezeichnis von TheBat! als auch den BayesFiler auf eine Netzwerk- Festplatte "zentralisiert".

    Das hat bisher super funktioniert. Doch jetzt musste ich die Netzwerk- Festplatte neu einrichten, und seither scheint meine bisher aufgebaute Datenbank für Spam- und Ham-Erkennung leer. :blink: :cry:

    Ich habe die Pfade in den Bayes Filter Einstellungen auf die neue Netzwerkfestplatte geändert und auch die Dateien dorthin verschoben,wo sie sein sollen. Also die Blacklist, die Whitelist, die Undo.dat und die Database.dat.
    Letztere ist auch ca. 3MB groß, aber dennoch bekomme ich die Meldung, die Datenbank sei leer.

    Was mache ich falsch?

  • die datenbank sollte an die stelle kopiert werden wenn the bat zu ist. das plugin lädt seine datenbank beim starten und speichert sie beim schliessen von that bat. deshalb muss man the bat schliessen, alte datenbank an die richtige stelle kopieren und dann the bat neu starten...

    achim

  • Hmmm... *grübel*

    Hallo Achim, danke für Deinen Hinweis.

    Hm... :blink: Habe ich das jetzt während laufendem TheBat! gemacht oder nicht?
    Weiß ich nicht mehr... :blink:
    Scheint aber so. :doh:
    Naja. Für´s nächste mal weiß ich, worauf ich achten sollte. :)