Paw Robot小试牛刀,却未见庖丁解牛(二)

关键词:RTMP商务合作高清视频

到此时此刻,我们算是弄清楚K公司的关于这个项目的前因后果了。(多说一句,由此可见,要做好系统分析师的工作,是要做很多功课的。)整理如下:这家上市的视频网站K公司,事先与CCTV达成版权协议,可以播放其制作的节目。K公司找了家软件企业,先研制了一款视频抓取系统,在使用的过程中发现了有不顺手的地方。到此时,还和我们,和PawRobot没关系。

K公司想升级一下抓取系统,就找到了我们。至此,我们的先前研发就开始了。我们着重向K公司阐述了两个观点:

其一,整个视频抓取系统的瓶颈是在网络接口上。试想一下,即使我们不投入高性能的主机,不是CPU好几核,不是内存好几G,就是几年前的机型,它们的性能,也足以胜任高速网络传输这点事。所以,K公司以前聘请的开发团队在Windows下,无非是通过多建立线程,可以获取更多的主机的网路I/O资源,由此来提高网络的利用率,进而消除(或称为减轻)系统的瓶颈。

在Windows下,做这些事情是两难的。若线程开多了,网络利用率提高,抓取效率提高,但Windows不稳定(考核周期是连续运行几个月),导致抓取系统不稳定;若线程开少了,系统稳定了,但是抓取效率却降低了。

我们告诉K公司,PawRobot是一款运行在Linux下的软件,在网络I/O资源利用率达到近乎100%时,系统也很稳定。因为在Linux下无需通过增开线程,来提高网络I/O资源的利用率。这也就是PawRobot能做到两全其美的原因。

其二,PawRobot对目标站点(或称为母站点)的页面分析策略,不采用边抓取边分析的策略,而是由我公司的后台服务器事先分析后,再通知抓取任务。我们和K公司的人员在讨论时,发现前一家公司,就是采用了边抓取,边分析视频地址的策略。

边分析视频地址的策略,其优势是,“抓取系统”架构简单,都可单机成系统。其劣势是,对计算资源消耗大。看看K公司为原抓取系统,配置的机器就知道了。单机分析的算法,要么采用“无极递归”的算法,要么采用“有效穷举”的算法,这两类算法都是消耗计算资源的大户。

在算法上绕不开的问题,就只能在系统架构上想办法了。PawRobot做后台视频地址分析,这样就可将每台抓取单机要做的事情,统一起来。虽然后台服务器一样要采用“无极递归”“有效穷举”的算法,这些消耗资源的算法,但是由于后台服务器额出现,解放了全部的抓取单机。这笔帐,是要算大帐。

当时,我看到K公司新进购得的,堆积如山的刀片服务器,我真想对K公司的老板说,早用PawRobot方案,这笔硬件投入,可以花到别处的。只可惜,没有这种机会。