Hallo zusammen,
ich habe folgendes Problem und wollte fragen, wie mein bisheriger Ansatz verbessert werden kann.
Also:
Ich möchte alle Nutzer in der Webanwendung in einem virtuellen Pool betrachten.
Nun möchte ich aus all diesen Usern Paare bilden, also jeweils einen Nutzer mit einem anderen (der in diesem virtuellen Pool an Teilnehmern ist) verknüpfen, und anschließend weitere Aktionen durchführen.
Bisher mache ich das so:
-Ein Nutzer kann sich in dem Pool eintragen, dies geschieht mit einem Eintrag in eine MYSQL Datenbank (Eintrag in Suchtabelle)
-Bei jedem Nutzer läuft im Hintergrund ein AJAX Request, der alle paar Sekunden (über eine PHP Steuerklasse) in der Datenbank (Verknüpfungstabelle) nachschaut, ob man selbst (also Nutzer A) bereits mit einem anderen Nutzer (B) verknüpft wurde //Permutation wird natürlich betrachtet
=> Falls ja, Löschung aus Suchtabelle & weitere Aktionen
-Falls dies nicht der Fall ist, dann wird selbst geschaut, ob eine weitere Person im Pool ist, die noch nicht verknüpft wurde, und erstellt selbst eine Verknüpfung (Verknüpfung wird in Verknüpfungstabelle angelegt)
In der Datenbank sieht das in etwa so aus:
Suchtabelle: Id | User | SuchAttribut
Verknüpfungstabelle: Id| UserA | UserB |
Das ganze funktioniert bereits einigermaßen nach diesem Schema.
Jedoch frage ich mich:
geht das ganze evtl. "effizienter" bzw. "besser" ohne soviel Datenbank Burst?
Wie kann ich zum Beispiel realisieren, dass ein Nutzer nicht "doppelt" verknüpft wird, weil die Datenbankabfragen zeitgleich eingehen?
Vielen Dank im Voraus
PS: mir geht es nicht direkt um Code, sondern um Ideen bzw. Möglichkeiten/Konstrukte, mit denen das ganze besser/effizienter gestaltet werden kann.
ich habe folgendes Problem und wollte fragen, wie mein bisheriger Ansatz verbessert werden kann.
Also:
Ich möchte alle Nutzer in der Webanwendung in einem virtuellen Pool betrachten.
Nun möchte ich aus all diesen Usern Paare bilden, also jeweils einen Nutzer mit einem anderen (der in diesem virtuellen Pool an Teilnehmern ist) verknüpfen, und anschließend weitere Aktionen durchführen.
Bisher mache ich das so:
-Ein Nutzer kann sich in dem Pool eintragen, dies geschieht mit einem Eintrag in eine MYSQL Datenbank (Eintrag in Suchtabelle)
-Bei jedem Nutzer läuft im Hintergrund ein AJAX Request, der alle paar Sekunden (über eine PHP Steuerklasse) in der Datenbank (Verknüpfungstabelle) nachschaut, ob man selbst (also Nutzer A) bereits mit einem anderen Nutzer (B) verknüpft wurde //Permutation wird natürlich betrachtet
=> Falls ja, Löschung aus Suchtabelle & weitere Aktionen
-Falls dies nicht der Fall ist, dann wird selbst geschaut, ob eine weitere Person im Pool ist, die noch nicht verknüpft wurde, und erstellt selbst eine Verknüpfung (Verknüpfung wird in Verknüpfungstabelle angelegt)
In der Datenbank sieht das in etwa so aus:
Suchtabelle: Id | User | SuchAttribut
Verknüpfungstabelle: Id| UserA | UserB |
Das ganze funktioniert bereits einigermaßen nach diesem Schema.
Jedoch frage ich mich:
geht das ganze evtl. "effizienter" bzw. "besser" ohne soviel Datenbank Burst?
Wie kann ich zum Beispiel realisieren, dass ein Nutzer nicht "doppelt" verknüpft wird, weil die Datenbankabfragen zeitgleich eingehen?
Vielen Dank im Voraus
PS: mir geht es nicht direkt um Code, sondern um Ideen bzw. Möglichkeiten/Konstrukte, mit denen das ganze besser/effizienter gestaltet werden kann.
Kommentar