来实验室近两年,涉猎了web前端、web服务、数据库、数据挖掘、云计算等多个方面的内容,但觉得最有意思的要数可视化了。可视化本身就跟人一种美的感受,01世界的美丽是常人难于理解的,可视化恰恰就作为了一个桥梁,在人与计算机之间牵起了红线。在做个人研究的间隙,常常会找一些不太费脑细胞的书籍翻一翻,由此,《数学之美》、《浪潮之巅》这些书常常摆在书堆的最上面。《数据可视化之美》这本书借了许久,由于是小组内一同门研究领域内的部分,所以长期寄养在她处。前几日发现归还日期将至,才想起要翻上一番,竟激起了我继续阅读的兴趣。前几日看到newyork times 一个信息传播的可视化视频,觉得非常的了不起,恰巧第16章为纽约时报的一天,所以就从这一章读起吧。
整个章节的内容就是围绕“发现访问纽约时报网站和手机站点的访问量的特点”展开的。文中提到两个开源项目,processing和hadoop,前者用于可视化,后者用于大数据的后台处理,具体内容请自行查阅。纽约时报网站每日产生的日志文件肯定是海量的,但在章节开始时,并没有提到如何做优化,而是做一个可用的粗略系统。我非常欣赏这种方式,不管性能好坏,先构建一个原型,再一点点优化和丰满(说到这里,不由得想到了当年数模竞赛的时候也是这个样子,取得的成绩还不错)。数据分析和挖掘必须得有数据,纽约时报技术组(以下用N表示)的数据包括:
1、24小时内,用户每次访问站点的时间戳;
2、用户的所处位置的经度和纬度(这个数据log里面没有,但可以根据IP查地理坐标,N是使用的商业数据库,进行这项转换)
有了数据,就要对数据先进行预处理。这里就包括把不需要的数据项剔除,根据IP添加经纬度。这种预处理工作就可以使用Hadoop做。
每一次访问作为一个点在页面中绘制。
将经纬度坐标转换为屏幕坐标。
具体业务就不罗列了,基本就是在时间和空间两个维度展开。
优化:
将同一个时间段内需要绘制点按照所属城市进行汇总,根据统计值绘制一个圆,表示该时间段内访问量的多少。这样可以大大减少前端展示的数据量,降低了渲染过程和数据传输量。
为了反映时间维度上的差异,N团队制作了一个3分钟的视频反映24小时内各地区访问量的变化。
读过该章节,让我想到了腾讯的QQ在线人数地图。是否采用相同的技术呢?这个不得而知,但是可以确定的是,我们所看到的都是一些渲染好的图片,类似于PNG格式。都是在后台处理好在作为整体发送到web端。