© 2010 Mayflower GmbH
Video-Tracking mit WebSockets,
Node.js, Gearman und Redis
Peter Voringer I 25. November 2010
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 2
Architektur - Überblick...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 3
I Key-Value Speicher
I ...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 4
I Server-Side JavaScrip...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 5
I Job-Server
I Flexibel...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 6
Architektur – Gearman
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 7
Architektur – Gearman
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 8
Architektur – Teil 1
RE...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 9
I PHP Skript im Apache ...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 10
Architektur – Teil 1
R...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 11
Architektur – Teil 2
R...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 12
I Library
• baut WebSo...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 13
Architektur – Teil 2
N...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 14
Architektur – Teil 3
R...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 15
I Node.js updated Time...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 16
Architektur – Teil 1
R...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 17
Architektur – Teil 4
R...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 18
I Daemon nimmt ersten ...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 19
Architektur – Teil 5
R...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 20
I Worker holt und entf...
Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 21
Architektur - Skalierb...
Titel der Präsentation I Mayflower GmbH I 29. November 2010 I 22
DEMO
Titel der Präsentation I Mayflower GmbH I 29. November 2010 I 23
FRAGEN ?
© 2010 Mayflower GmbH
Peter Voringer
peter.voringer@mayflower.de
+49 931 35965 1122
Mayflower GmbH
Pleichertorstr. 2
97070...
Nächste SlideShare
Wird geladen in …5
×

Hochskalierendes Video Tracking

1.344 Aufrufe

Veröffentlicht am

Webanalytics Software scheitert an einigen Faktoren: zu teuer, zu schwer, zu langsam. Hier stellen wir einen Ansatz vor, wie Videotracking funktionieren kann. Wann dürfen wir dies für Sie tun?

Veröffentlicht in: Technologie
0 Kommentare
1 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

Keine Downloads
Aufrufe
Aufrufe insgesamt
1.344
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
1
Aktionen
Geteilt
0
Downloads
4
Kommentare
0
Gefällt mir
1
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Hochskalierendes Video Tracking

  1. 1. © 2010 Mayflower GmbH Video-Tracking mit WebSockets, Node.js, Gearman und Redis Peter Voringer I 25. November 2010
  2. 2. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 2 Architektur - Überblick Redis MySQL Node.js Apache Daemon Gearman Worker Browser
  3. 3. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 3 I Key-Value Speicher I Hält Daten im Speicher, Option sie persistent wegzuspeichern I Ähnlich zu z.B. Memcache I Unterstützt Listen, Sets und sortierte Sets I Atomare Operation auch für diese Datentypen Architektur – Redis
  4. 4. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 4 I Server-Side JavaScript I Google V8 Engine I Event-Driven und Non-Blocking I ECMAScript 5 Architektur – node.js
  5. 5. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 5 I Job-Server I Flexibel I Schnell I Kein Single-Point-of-Failure Architektur – Gearman
  6. 6. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 6 Architektur – Gearman
  7. 7. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 7 Architektur – Gearman
  8. 8. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 8 Architektur – Teil 1 REDIS MySQL Node.js Apache Daemon Gearman Worker Browser
  9. 9. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 9 I PHP Skript im Apache generiert einen Token I Schreibt den Token mit zusätzlichen Informationen (MovieID, UserID, …) in die Datenbank I Schreibt Token mit aktuellem Timestamp in Redis I Speichert Token in die Tokenliste in Redis I Liefert HTML/JavaScript mit Token und Adresse des node.js Servers an den Browser aus Architektur – Teil 1
  10. 10. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 10 Architektur – Teil 1 REDIS [TOKEN] [TIMESTAMP] TOKENS [TOKEN][TOKEN] [TOKEN] [TOKEN] [TOKEN]
  11. 11. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 11 Architektur – Teil 2 REDIS MySQL Node.js Apache Daemon Gearman Worker Browser
  12. 12. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 12 I Library • baut WebSocket Verbindung auf oder • lädt IFrame vom node.js Server I Player sendet Events (pause, resume, …) an Library I Timer senden • Update Event, wenn das Video läuft (250ms) • Keep-Alive Event, wenn das Video nicht läuft (60s) I Library sendet Event • über WebSocket an node.js • per postMessage an das IFrame, welches es per AJAX an node.js schickt I Close-Event bei onUnload Architektur – Teil 2
  13. 13. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 13 Architektur – Teil 2 Node.jsBrowser HTTP Server WebSocket Server Player Timer WebSocket IFrame Library token id action position
  14. 14. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 14 Architektur – Teil 3 REDIS MySQL Node.js Apache Daemon Gearman Worker Browser
  15. 15. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 15 I Node.js updated Timestamp des Tokens I Fügt Event der Event-Liste zum Token hinzu Architektur – Teil 3
  16. 16. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 16 Architektur – Teil 1 REDIS [TOKEN] [TIMESTAMP] TOKENS [TOKEN] [TOKEN] [TOKEN] [TOKEN] [TOKEN] [EVENT] [TOKEN] [EVENT] [EVENT] [EVENT]
  17. 17. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 17 Architektur – Teil 4 REDIS MySQL Node.js Apache Daemon Gearman Worker Browser
  18. 18. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 18 I Daemon nimmt ersten Token aus der Token-Liste I Prüft, ob Timestamp des Tokens älter als 2 Minuten I Sofern der Token • älter ist, erstelle Gearman Job mit Token • jünger ist, füge Token an die Token-Liste hinten an I Gearman Server leitet Job an einen Worker weiter Architektur – Teil 4
  19. 19. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 19 Architektur – Teil 5 REDIS MySQL Node.js Apache Daemon Gearman Worker Browser
  20. 20. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 20 I Worker holt und entfernt aus der Datenbank die Zusatzinformationen zum Token I Worker holt und entfernt Daten zum Token aus Redis I Berechnet Kennzahlen mittels der Events I Schreibt Kennzahlen kumuliert in die Datenbank Architektur – Teil 5
  21. 21. Video-Tracking mit WebSockets, Node.js, Gearman und Redis I Mayflower GmbH I 29. November 2010 I 21 Architektur - Skalierbarkeit REDIS MySQL Node.js Apache Daemon Gearman Worker Node.js Node.js REDIS REDIS Worker Worker Apache Apache MySQL MySQL Daemon Daemon Gearman Gearman Browser
  22. 22. Titel der Präsentation I Mayflower GmbH I 29. November 2010 I 22 DEMO
  23. 23. Titel der Präsentation I Mayflower GmbH I 29. November 2010 I 23 FRAGEN ?
  24. 24. © 2010 Mayflower GmbH Peter Voringer peter.voringer@mayflower.de +49 931 35965 1122 Mayflower GmbH Pleichertorstr. 2 97070 Würzburg Kontakt Vielen Dank für Ihre Aufmerksamkeit!

×