Skip to content

Anwendungslogik

Julian Schoemaker edited this page Aug 26, 2018 · 3 revisions

Die Hauptfunktion unseres Webservices ist das Matching von Wishes über ihre Locations. Dies bedeutet, dass die Wishes eines Events auf die User so aufgeteilt werden, dass keine zwei User zu der selben Location fahren müssen.

Unser Matching Algorithmus garantiert zwei Dinge:

  • Keine zwei User müssen zur selben Location fahren
  • Die Wishes sind, unter Berücksichtigung der ersten Garantie, gleichmäßig verteilt. Dies bedeutet, dass wir versuchen die Wishes so aufzuteilen, dass jeder User ungefähr gleich viele Wishes besorgen muss.

Wie zuvor erwähnt, ist diese Anwendungslogik im Dienstgeber zu finden.

Wie funktioniert der Algorithmus

  1. Wishes werden nach ihren Locations sortiert.
  2. Alle User des Events werden zwischengespeichert
  3. Die n-te Location wird dem User, der derzeit die wenigsten Wishes besorgen muss, zugeteilt.
  4. Die Anzahl der Wishes, die zu der n-ten Location gehören, wird für den User zwischengespeichert.
  5. Wiederhole Schritt 3 und 4 bis alle Locations vergeben wurden.