Wie ihr im Geburtstags-Thread ja sicher mitbekommen habt, ist Rechenkraft.net wieder ein Jahr älter geworden. Und wie ist das mit den Geburtstagen, was gibt es da?
Richtig. Geschenke.
Zumindest, wenn man sie rechtzeitig eingekauft oder anderweitig fertig hat. Was bei mir nicht ganz der Fall ist, da ich in der letzten Zeit doch mächtig viel Zeugs zu tun hatte.
So, lange Rede, kurzer Sinn: Ich habe mir die letzten Monate einen Kopf zum Thema Statistiken gemacht. Herausgekommen ist dabei eine Statistik-Engine, von der ihr euch unter http://217.160.138.71/phpBB/dcstats.php zumindest schon mal ein kleines Bild machen könnt.
Features und Technik:
* Die Engine ist vollkommen projektunabhängig. Für die Erweiterung um neue Projekte brauchen lediglich die Adressen der zu besuchenden Webseiten, ein paar reguläre Ausdrücke für das Parsen der Webseiten und die Namen aller wichtigen Felder (für die DB) angegeben werden.
* Die eigentliche Datenermittlung erfolgt mit einer multithreaded Windows-Applikation, die in Delphi implementiert ist, Perl-Prozesse zur Stringmanipulation nutzt und die Daten in einer mySQL-Datenbank ablegt.
* Es werden so viele Statistik-Daten wie möglich (Rang, Mitgliederzahlen, Tagesleistung...) direkt nach dem Parsen der Webseite explizit berechnet und ebenfalls in der DB abgelegt.
* Diese Daten werden regelmäßig mit dem Webserver synchronisiert.
* Auf dem Webserver laufen mehrere php-Skripte zur Anzeige der Daten und zum Aufbereiten von Grafiken. Die Grafikerstellung ist gecacht, d.h. sie wird nicht bei jedem neuen Anzeigen durch Auswertung der Daten neu erzeugt.
Folgende Einschränkungen existieren momentan noch:
* Die Synchronisierung zwischen meinem lokalen und dem Webserver ist noch nicht implementiert, deswegen seht ihr nur die Daten bis zum Dienstag.
* Die Ausgabe ist mehrsprachig, das Feature zur Sprachauswahl ist aber noch nicht freigeschaltet.
* Bis jetzt werden alle Statistikdaten z.B. für ein Team auf einer großen Seite ausgegeben. Das wird sich noch ändern, d.h. das Layout ist längst nicht fix. Wahrscheinlich löse ich das sogar noch aus den für das Forum verwendeten Styles heraus. Wenn jemand der Meinung ist, ein gutes Layout für sowas machen zu können oder schon zu haben, nur raus mit der Sprache.
* Bei ECC2-109 parse ich noch keine User-Daten, also nicht über fehlende Zahlen wundern.
* Bei manchen Projekten (z.B. Eulernet) existieren mehrere Teams (auch unseres!) oder User mit gleichen Namen, die nicht unterscheidbar sind. Die werden bei mir bisher in einem Team/User zusammen ausgewertet, was zu total wilden Daten führt. Da muß ich mir noch was einfallen lassen.
* Die Anzeige der User-Daten ist noch sehr eingeschränkt. Dies liegt daran, daß ich dort die gleichen Mechanismen wie bei den Teams verwenden will und den (tweilweise leicht unterschiedlichen) Code dann nicht an zwei Stellen gleichzeitig anpassen will. Wenn die Team-Seiten komplett stehen, folgen die User-Seiten also fast automatisch.
Ach ja, wer sich selbst nicht findet, kann es mal mit der Suche probieren, die über die Teamlisten (und dort dann unten links) erreichbar ist.
Ansonsten hätte ich da gerne mal Feedback dazu.
Ciao, Michael.






