Hallo zusammen,
ich soll einen routing algorithmus in php programmieren und die routingtabellen in einer datenbank abspeichern.
zur zeit habe ich fünf router (in fünf tabellen), es können jedoch weitere hinzugefügt, bzw. weggenommen werden.
mein aktueller datensatz:
router_a
target|costs|gateway
---------------------
B |2 |B
D |1 |D
E |1 |E
router_b
target|costs|gateway
---------------------
A |2 |A
C |1 |C
D |1 |D
router_c
target|costs|gateway
---------------------
B |1 |B
router_d
target|costs|gateway
---------------------
A |1 |A
B |1 |B
E |1 |E
router_e
target|costs|gateway
---------------------
A |1 |A
D |1 |D
so sehen die tabellen nach dem ersten schritt aus. alle haben drei spalten mit denselben spaltennamen. die informationen werden über ein html-eingabeformular übermittelt.
nun sollen die router allerdings ihre tabellen, wo im moment nur benachbarte router drin stehen, miteinander austauschen. konkret bedeutet das z.b. für router_a, nachdem er die tabelle von router_b erhalten hat:
router_a
target|costs|gateway
---------------------
B |2 |B \
D |1 |D -> alte einträge
E |1 |E /
A |4 |B -> dieser eintrag müsste wegfallen, da redundant
C |3 |B
D |3 |B -> dieser müsste ebenfalls weg
| +--------> als gateway wird überall router_b eingetragen
+--------------> costs von router_a mit router_b addieren
die neuen informationen sollen nicht einfach mit der alten tabelle verknüpft werden, sondern in die bestehende tabelle reingeschrieben werden. alle doppelten einträge sollen gelöscht werden, bzw. einträge mit niedrigsten costs sollen behalten werden.
wenn ich z.b. router_a nach router_b, costs 2 eingebe, dann soll der umgekehrte eintrag auch sofort in die tabelle von router_b geschrieben werden.
das ist mein erstes "größeres" projekt mit mysql-datenbanken. mein wissen ist noch sehr beschränkt, ich hoffe deshalb, dass ihr mir weiterhelfen könnt!
vielen dank im voraus!