Se ha denunciado esta presentación.
Se está descargando tu SlideShare. ×

Hochskalierendes Video Tracking

Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio
Anuncio

Eche un vistazo a continuación

1 de 24 Anuncio

Más Contenido Relacionado

Similares a Hochskalierendes Video Tracking (20)

Anuncio

Más de Mayflower GmbH (20)

Más reciente (20)

Anuncio

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!

×