MySQL - Logikproblem

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

  • MySQL - Logikproblem

    Hallo liebes Forum! Ich überlege schon einige Tage hin und her wie ich mein Problem lösen soll, mir fällt aber keine geeignete Lösung ein.

    Die Vorgeschichte: Ich scripte derzeit in MSL eine Art Packet-Tracker, der die Pakete von Iroffer-Bots in eine MySQL Datenbankschreibt, und Sie anschließend auch auslesen kann / totals berechnen etc. Falls das jemandem nichts sagt, Googlen oder nochmal fragen. Gleich ein Rechtlicher Hinweis: Ihr müsst mich nicht bannen oder sonstewas weil ihr denkt ich würde damit was illegales machen, wir versenden ausschließlich Legale Dateien.

    Nun zum eigentlichen Problem: Die Packets die von den Bots gelistet werden, können editiert werden!

    Warum ist das ein Problem?
    Ganz einfach: Ich lege derzeit den Packet-Name (Bezeichnung), Wann es zum ersten Mal gesehen wurde (in Form von Unix-Timestamp), sowie die Packet-Nummer ab (Welche Nummer das Packet auf dem Bot besitzt.).

    Was ist mein bisheriger Ansatz?
    Meine Idee war nun, ich lösche sobald sich ein Packet widerspricht (Packet mit der gleichen Packet-Nummer hat andere Bezeichnung) sämtliche Packets des entsprechenden Bots. An sich auch ganz plausibel. Problem ist nur, beim nächsten Listing des Bots, würden alle Packets als "Neu" angesehen werden, da er sie ja "zum erstem Mal sieht" weil sie nicht in der Datenbank stehen. Das heißt also der Timestamp würde sich bei ALLEN packets (des entsprechenden Bots) verändern, obwohl die meisten ja schon längst vorher vorhanden waren.

    Wofür brauche ich den Timestamp denn?
    Zum einen Soll ein !last - Trigger möglich sein, der die letzten X eingetragenen Packets auflistet, und zum anderen soll sobald ein neus Packet gefunden wurde (das also noch nicht in der Datenbank steht) eine Ausgabe im Channel erfolgen.

    Ich habe also bisher noch keine Lösung gefunden. Hat hier vielleicht jemand einen Ansatz wie ich mein Problem beheben oder auch Umgehen könnte? Wäre echt toll! Danke schonmal!
    Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

  • #2
    Re: MySQL - Logikproblem

    Original geschrieben von ArSeN
    Meine Idee war nun, ich lösche sobald sich ein Packet widerspricht (Packet mit der gleichen Packet-Nummer hat andere Bezeichnung) sämtliche Packets des entsprechenden Bots. An sich auch ganz plausibel.
    Für mich ist das nicht plausibel.

    Wieso muß alles gelöscht werden, wenn es bei einem Datensatz einen Widerspruch gibt? Wieso kann es durch Editieren eines Datensatzes eigentlich zu einem Widerspruch kommen?
    Kenne die Hintergründe nicht.

    Kommentar


    • #3
      Also, das ist so:

      jeder Bot hat eine Liste mit Paketen (Dateien) die er anbietet, und dem entsprechend auch im IRC-Channel postet. z.B.:

      Code:
      #1 -> Dateiname1
      #2 -> Dateiname2
      #3 -> Dateiname3
      #4 -> Dateiname4
      #5 -> Dateiname5
      etc.
      Und genau so wird es von mir aufgenommen und in der Datenbank gespeichert (natürlich Atomisiert, also Name und Nummer und alles einzelnt).

      Das Problem ist jetzt: Es kann passieren, dass ein Paket gelöscht wird, nehmen wir in unserem Beispiel mal an, die #3 würde gelöscht werden. Die Liste wäre nun also:

      Code:
      #1 -> Dateiname1
      #2 -> Dateiname2
      #3 -> Dateiname4
      #4 -> Dateiname5
      etc.
      "Alles löschen" Ist auch nur eine Idee von mir. Es ist nicht der einzige weg, aebr ich fands am einfachsten vorerst. Wenn nämlich alle Pakete gelöscht werden, so kann die Liste beim nächsten Posting komplett neugeschrieben werden, und alles stimmt wieder.

      Beim Editieren ist das Problem, dass dann (gehen wir von unseren Beispiel aus) jetzt zum Beispiel an fünfter Stelle immernoch

      Code:
      #5 -> Dateiname 5
      stehen würde (jedenfalls wenn danach keine Packets mehr kommen) obwohl ja das Paket mit der Kennnummer #5 nichtmehr existiert, sondern automatisch auf #4 gerutscht ist.

      Irgendwie ne Idee dazu?

      Hoffe mein Anliegen ist nochmal etwas klarer geworden. Danke schonmal!
      Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

      Kommentar

      Lädt...
      X