Hood-Bildung - Gemeindegrenzen

Adrian Schmutzler mail at adrianschmutzler.de
Do Sep 20 12:29:06 CEST 2018


Hallo Christian,

ich bin nach wie vor kritisch der Sache gegenüber eingestellt, aber wenn man schon einen Cache baut, halte ich die von dir vorgeschlagene Lösung für eine gute Lösung.

Das größte Problem wird dann wohl sein, dass jemand vergisst, den Cache zu löschen. Aber dann geht ja auch erstmal nichts kaputt.

Grüße

Adrian

> -----Original Message-----
> From: Christian Dresel [mailto:fff at chrisi01.de]
> Sent: Donnerstag, 20. September 2018 07:29
> To: Freifunk Franken <franken at freifunk.net>; mail at adrianschmutzler.de;
> fff at mm.franken.de
> Subject: Re: Hood-Bildung - Gemeindegrenzen
> 
> Hi Adrian
> 
> On 20.09.2018 00:24, mail at adrianschmutzler.de wrote:
> > Genau das möchte ich vermeiden, dann haben wir durch das Caching noch
> eine zusätzliche Schicht, die alles komplizierter macht.
> >
> > Da muss man dann wieder prüfen, ob und welche Einträge man in der
> Datenbank aktualisieren muss und welche zu dem Geo-System gehören und
> welche zu den normalen Hoods. Das muss man dann umbuchen usw., und
> irgendwann blickt keiner mehr durch, was an welcher Stelle passiert.
> 
> 
> ich hätte das ganze etwa so umgesetzt:
> 
> Wir legen im keyxchange eine weitere Tabelle an, wo wir die GeoDaten zu
> jeder Polygon-Hood abspeichern. Jeder GeoDatensatz verweist dann zu
> einer HoodID die wir ganz normal in die bereits vorhandene Hood Tabelle
> speichern.
> Die Hoodtabelle braucht dann noch ein Flag PolygonHood oder voronoiHood
> so das bei der voronoi Berechnung die PolygonHood nicht getestet wird.
> 
> Das hat auch den Vorteil, das mehrere Polygone auf eine Hood verweisen
> können (Schnaittach, Simmelsdorf und noch irgendwas verweist alles auf
> die Hood Schnaittach)
> 
> Im Cache würde ich dann "nur" noch lat, lon und HoodID abspeichern, der
> Cache muss gar nicht wissen ob es eine voronoi oder PolygonHood ist, die
> HoodID reicht.
> 
> Sobald man 1x irgendwas an irgendeiner Hood ändern, muss der Cache
> natürlich komplett geleert werden und wieder frisch aufgebaut werden.
> Das kann man wunderbar vor, bzw nach den ganzen Berechnung machen. Bevor
> man mit den Berechnen anfängt, fragt man die lat/lon die der Router
> gesendet hat im Cache ab, gibt es die hat man direkt die HoodID und kann
> die Hood den Router geben. Gibt es die nicht, führt man die komplette
> Berechnung durch und speichert am Ende in den Cache lat, lon und HoodID
> ab damit sie für den nächsten durchlauf zur Verfügung stehen.
> 
> Ja es ist ein zusätzlicher Fehler aber ich seh das nicht als kritisch
> an, wenn man den Cache leert falls man eine Hood anlegt oder ändert
> sollte eigentlich nichts passieren. Aktualisieren oder so muss man nie
> was, auch ist es egal zu welchen System der Cache gehört, nur eben den
> Cache komplett leeren (man könnte natürlich auch nur den Bereich leeren
> um den es sich handelt aber da wäre mir das Fehlerrisiko zu hoch, 1x den
> Cache komplett neu aufbauen geht schon) wenn man was an den Hoods
> ändert.
> 
> mfg
> 
> Christian
> 
> >
> > Ich habe im Monitoring ein paar solche Stellen, weil ich durch die
> Rückwärtskompatibilität in bestimmten Situationen viele verschiedene
> "Systeme" parallel abdecken muss. Das ist der Tod!
> >
> > Ich bin daher grundsätzlich gegen ein System am KeyXchange, bei dem man
> Daten der Router cachen muss. Beim Cachen von Hood-Daten bin ich noch am
> überlegen, aber auch da gibt es dann ähnliche Probleme bei Hoodwechsel etc.,
> wo immer der Cache ein zusätzliches Problem darstellt.
> >
> > Wenn das so kompliziert ist, dass es ohne Caching nicht geht, und wir jetzt ein
> System haben, dass wunderbar blitzschnell problemlos funktioniert, dann
> spricht das nicht für das System.
> >
> > Grüße
> >
> > Adrian
> >
> >> -----Original Message-----
> >> From: franken [mailto:franken-bounces at freifunk.net] On Behalf Of
> >> fff at mm.franken.de
> >> Sent: Mittwoch, 19. September 2018 23:45
> >> To: franken at freifunk.net
> >> Subject: Re: Hood-Bildung - Gemeindegrenzen
> >>
> >> Hallo Fabian,
> >>
> >>> Zwar sendet jeder Router nur einen Koordinatensatz, im worst-case
> >>> müssen aber alle n Polygon-Hoods geprüft werden, bevor ein match
> >>> gefunden wird
> >>
> >> Wenn man das nicht in "Echtzeit" prüfen will (z.B. mit PostGIS), könnte man
> >> einfach mal von allen Routern die Koordinate auslesen, für jede Koordinate
> >> prüfen, in welcher Hood der Router liegt, und die Zuordnung in eine Tabelle
> >> schreiben.
> >>
> >> Dann bräuchte man bei Anfragen nur in der Tabelle nachschauen.
> >>
> >> Das bedeutet, dass man bei jedem neuen Router (bzw. bei jeder
> >> Koordinaten-Änderung) auch die Hood neu bestimmen und in der Tabelle
> >> ergänzen müsste. Dann wäre die Tabelle immer bis auf wenige Minuten
> >> aktuell.
> >>
> >> Mit herzlichem Gruss,
> >> Markus
> >




Mehr Informationen über die Mailingliste franken