91热爆

bbc.co.uk Navigation

91热爆i Labs Blog

91热爆i Labs is no longer updated. Please visit our new blog, Press Red, for the latest from the 91热爆's Red Button team.

Under the bonnet: Publishing live Wimbledon stats to multiple platforms

  • TVP
  • 24 Jun 08, 5:08 PM

Rob Hardy writes:

wimbledonscreenshots800x600.jpgLive stats from Wimbledon on four platforms. Clockwise from top-left: Sky, Freeview, Virgin, Ceefax

For some years now we've been publishing the annual Wimbledon tennis statistics to multiple platforms. Since last year, with our colleagues in FM&T Journalism, we're publishing to . For your delight, here's a peak at how this is implemented.

wimbledon_feed.png

1) We receive a single feed from IBM. We have a direct connection to their DB2 database which runs on-site at Wimbledon.

2) Our client code, written in Perl, is a daemon. It receives notification from the DB2 database, which triggers every time the content changes. Our stats client interrogates the database to see what's changed; if the change is deemed 'interesting', it extracts the useful data and publishes downstream. Our client contains the business logic which works out what is deemed interesting. For our purposes, we're looking for changes to set points, and matches starting and finishing.

3) The stats client generates two XML feeds - one for the red button platforms, and one for the others. The red button feed contains abbreviated player names so that they can physically fit onto the TV screen. Historically, we had a special feed for Ceefax - since 2007, this was upgraded to XML to aide publishing to other non-broadcast platforms (see below).

4) The red button transcoder repurposes the content so it's suitably ready for broadcast as in-band content. Each platform has its own format of data, however visually the results are pretty much the same to the viewer regardless of the platform. It's actually implemented as a complex array of components in a combination of Perl and Java, which I hope to write more on in a future posting. For 2008, we've overhauled these components to join up the formerly separate video and text services.

wimbledon_home_page_widget.png
5) The second transcoder targets the IP platforms and Ceefax. From 2007, the new XML feed was used, I believe, to publish live stats to for the first time. New to 2008 is the Wimbledon widget for the homepage.

Have you spotted the curious cats? Firstly you may note the combination of Perl and Java, and secondly the two transcoders each targeting a distinct set of platforms. This might be seen as a real-life example of . Character encodings and the quality of service also need to be dealt with. Having a direct link to the onsite Wimbledon network helps with the latter, and differentiates this type of solution from using data feeds through the Internet.

The stats client is special, since it needs to have a semantic understanding of tennis, or at least of the specific Wimbledon schema. Due to test data, or database failovers, erroneous data can still occasionally make its way into the database, which emphasises the need for defensiveness in any type of feed handler. Our client attempts to strike a middle ground so as not to inflate the code complexity; nevertheless, watching for dodgy Wimbledon stats has become something of an annual event here in the Bush!

Comments

The 91热爆 is not responsible for the content of external internet sites