Philipp Hasenfratz: IP's von access_log in bestimmtem Zeitfenster extrahieren

Beitrag lesen

Halihallo Andreas

Übrigens habe ich mir in PHP letztens für dieses FLOAT-IP Format(oder wie auch immer man das nennt) eine Umrechnung gebastelt:
$ip = '127.0.0.1';
$num = explode(".", $ip);
$float_ip = $num[0]*16777216 + $num[1]*65536 + $num[2]*256 + $num[3];

Hm. Long-IP für Longinteger wäre IMHO passender :-)
Ja, die Umrechnung mache auch ich, denn in C lassen sich unsigned long's wesentlich
schneller verarbeiten als Strings (wie in jeder Programmiersprache, die das
unterscheidet => 3GL (meistens)). Und: Die "stringifizierte" Forum braucht ganze
11 Bytes mehr im Worst-Case :-)

Hat halt den Vorteil dass man dann die IP nicht mehr als String hat, sondern als Zahl, nur leider sind die meisten IPs zu groß für INT :-(

Hä? - Schalte ein unsigned davor oder substrahiere sie von INT_MAX, so kommst du wieder
zur lesbaren Form. Oder sprichst du von IPv6? - Ja, dort bräuchte man 'n bissle mehr...
Oder man bräuchte ein Supa-Dupa Sun Fire Rechner mit 128bit Registern :-)

Das lustige ist dass diese Zahlen auch tatsächlich über den Browser funktionieren, wenn  man umgerechneten Wert für 213.139.94.131 in die Adresszeile des Browsers eingibt kommt man auf teamone.de ;-)

So kann man bestimmt einige beeindrucken, einige 32-bit Zahlen auswendiglernen und so
google, teamone etc aufrufen :-)

Wenn s das performanteste ist? Was aber noch zu klären wäre ;-)

Für "Reiner-Auswertungen" bestimmt, nicht jedoch für "Philipp-Auswertungen" :-)

Meine Tipps bezogen sich eher darauf dass so wie Reiner es beschreibt, einmal in die Datenbank eingespielt wird, und dann so oft man will recht zügig abgefragt werden kann.

Ach so, darauf wolltest du hinaus. Nun, dann nicht, denn die 2-3x täglich wollen dann
auch nur die neuesten Daten und somit beziehen sich die Abfragen nicht auf den selben
Datenbestand.

Viele Grüsse

Philipp