BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

腾讯手机QQ浏览器的测试与加速思路
录制于:

| 受访者 张凯 关注 0 他的粉丝 作者 杨赛 关注 3 他的粉丝 发布于 2014年4月4日 | Google、Facebook、Pinterest、阿里、腾讯 等顶尖技术团队的上百个可供参考的架构实例!
20:45

个人简介 张凯,华中科技大学硕士 2004年毕业加入腾讯无线业务系统,一直致力于无线互联网服务端系统的开发和设计工作,先后负责手机QQ、手机QQ浏览器、手机QQ通讯录等多条产品线以及腾讯无线服务开发框架,分布式存储平台等系统的的架构设计与研发工作,见证了无线互联网从2G到3G经历的多次产品和技术变革。

   

1. 大家好,我是 InfoQ 的主持人,非常感谢腾讯大讲堂今天帮 我们邀请到张凯来接受采访,那么首先请张凯先简单自我介绍一下 吧?

张凯:大家好,我叫张凯,来自于腾讯浏览器产品部,负责浏览器服务端技术的开发,04 年毕业加入腾讯,很荣幸在公司里差不多过了快十年的时间,也一直在无线互联网里边工作,所以对无线互联网有一些自己的感触,今天也希望能跟大家做一个交流。

   

2. 对于QQ浏览器,尤其是手机QQ浏览器这块,它有很多的模拟测试,比如去做路由算法的效果测试,那么我们是怎么去模拟这种真实、复杂的用户网络环境的?

张凯:这个问题非常专业了,因为确实在移动互联网下,我们就面临着这样的一个特点:在不同的场合,在不同的时间段,可能都会有不同的网络情况发生,那不光只有QQ浏览器,我相信很多移动终端的产品,都会有这样的一些困惑,那这么多复杂的场景下,从技术上来看,怎么去更好的满足,或者更好的适配这样的环境,那手机QQ浏览器主要在两个方面涉及到这里的工作,第一个是说覆盖率更广的一些测试,包括实验室环境的一些弱网络和一些拥塞网络的模拟,也包括在不同地区的模拟,手机QQ浏览器至少在四个地方都有这样的一些测试,我们会选取室内实验室的环境,和室外的环境,我们有同事会去,比如说在地铁上,在一个商场里去做这样的一些测试。

当然除了这个测试方面的工作以外,我们本身也会去和腾讯更多的产品去交流,因为腾讯有很多覆盖面很广的产品,他们在历史的积累,包括整个中国网络下的一些网络参数,不同网络制式下的一些数据,都会有一些分享,拿这样的数据更好的回来去补充到我们的测试上,这个是我们在面对这样复杂网络环境主要做的一些适配和一些不断调优的工作。

   

4. 能详细介绍一下你们合作的方式吗?

张凯:因为X架构里面,如果我们有关注到架构体系,会发现到很重的一部分是在云端,在云端的就是我们说的Cloud Service,Cloud Service在腾讯内部因为有一些原因,我们没有完全跑在腾讯云平台上,主要是因为腾讯云平台是一个普适性的解决方案,会对所有的移动终端更通用一些,但是QQ浏览器有一些特殊性,在终端和云端的、包括网络的一些连接策略,传输策略性上,都会有一些个性化,或者更深层次的一些定制。基于这些特点,我们没有完全跑到腾讯的云上面;但是在过了接入层之后,在后面的一些存储、缓存,也包括路由的一些数据方面,其实是跟腾讯云有比较密切的配合。我们的一些存储,也包括CDN上的一些资源都会用到腾讯云平台。

   

5. 所以简单来说就是底层需要定制的东西是你们自己做,通用的部分就可以都往腾讯云上走吧。那么下一个问题跟加速有关,就是您感觉移动浏览器发展了这么多年,加速的基本思路是不是有所变化?比如说抓取,缓存代理,包括智能路由这几个方面,现在还是这几个方面吗?还是有一些新的东西出来?

张凯:这个问题也是蛮专业的一个问题。浏览器在国内的发展,我们最早把PC上大的网页给它转换成手机上的页面,当时有除了加速的需求、省流量的需求以外,用户更多的是希望能够有一个适合手机看的页面。所以在那个阶段,加速可能是其中的一个需求点,但是再往后发展,越来越多的手机站点出来,包括原来PC的一些网站也会提供自己的手机版,这时候加速慢慢变成了一个更核心的需求。但是在这个形态变化过程中,本身对技术就有一些要求。早期我们比较集中在页面转换适配上,但是在现阶段当用户需求转到加速之后,我们更多也投入在加速上面。 加速刚才提到了,我们可以有智能的路由,也可以有缓存,也可以有抓取的一些工作,大的思路,或者说大的架构上来说,其实没有变化,架构也部分决定了这几步是必选的,但是在一些细节上需要不断的调优,比如说在接入这一端,我们刚才也提到了,弱网络,或者说这种复杂的网络,就会决定了接入的复杂性,所以在接入上的优化是一个持续在做的事情,我们觉得它短期不会有最优的结果,是不断需要调优的。存在Cloud云端的缓存,包括Cloud云端的广告拦截,数据的压缩算法,更多的资源类型,比如说图片,甚至未来视频可能也需要在云端做转码,这些点都会对技术有些新的要求。

抓取其实跟接入有点类似,它是面向第三方的网站。第三方网站,在互联网上,除了早期有很多的WWW站点,现在也不断的有智能手机站点。手机站点的部署比传统的互联网站点更复杂,因为很多都不在移动机房、联通机房,而是在一些更小的运营商机房,这时候抓取的质量、性能,本身就面临着更多的挑战。当外界的情况发生变化的时候,内部的技术也是需要跟得上的,所以这样来看,即使大的结构没有变化,但是每一层都需要不断的更深入的挖掘。

   

6. 所以比如说优化这块,以前可能是因为大家2.5G网络,比较慢,在这个弱网络的情况下做了很多优化;但假设说以后3G、4G普及了,我们以前是不是有一些优化的工作相当于用不着了,但是有一些东西会接着用?

张凯:其实在几年前,我们也会问这样的问题。比如说2G的时候,我们觉得3G来了,3G速度有提升,那我们做的很多工作是不是就不需要;但是事实上回头去看,它总是存在着一个矛盾在里边。

这个矛盾是什么呢?就是网络带来的越来越丰富的信息,和网速,以及设备硬件的一个矛盾。当我们有更好的硬件,更好的网络带宽的时候,我们的需求也不断的在增长。为什么这么说呢?2G的时候,我们可能看看文字觉得就OK了;到3G的时候,我们可能觉得可以看点图片或者小动画。我们有时候会开玩笑说,2G或2.5G是以文字为代表,3G是以图片以为代表,那到4G很显然,视频会是一个,而且确实能看到它是一个增长类的需求,可能后续在游戏上,我们又有更高的期望。这个就像我们春运火车一样,早期我们觉得有个特快就已经蛮不错了,现在有了高铁,有了动车,大家会觉得这样还是不能满足需求。所以这个过程,包括从国外的互联网发展来看,随着硬件和网络的提升,互联网产生的信息的多样化,我们的需求上总是有更高的期待,所以它始终是有这样的矛盾,这里的技术、需要解决的问题,也还是会层出不穷,面临的问题也许比原来更复杂,因为用户的要求更高,原来我们可能把一个三秒的网站加速到两秒、加速到一秒就觉得已经蛮不错了,但是现在要做的工作可能是把六百、七百毫秒的网站加速到五百毫秒、四百毫秒,也会要求更细一些。

   

7. 接下来在2014年,QQ手机浏览器这块的研发重点是什么?

张凯:我们最近也是在做新一年的计划和规划了。2014年整体上来说,我们刚才提到了2013年的技术主要分两方面,包括终端的技术和云端的技术,这两个方面会持续积累,特别是在云端;我们也希望能够把一些内容聚合,数据内容的挖掘,内容的推荐,都希望能在2014年再往前推一步,让用户触达信息的路径更短,这个是从技术方面来看。对于终端内核来说,随着新的平台版本出来,终端内核本身也是需要不断的改进,在渲染的速度也好,启动速度也好,包括使用过程中的、可能细到一个动画的切换、一个手势,这些方面都是希望能够再继续去打磨的。从产品需要技术的支持上来看,2014年可能会在刚才提到的轻应用方面进一步探索,因为这是我们一个新的模式,这样的模式可能需要一个快速、持续的探索,包括能够给第三方——外部的合作伙伴提供更好的服务,包括如何接入、如何更快速方便的去把自己的内容展现给用户。

另外,在2014年,我们觉得安全方面也是蛮重要的。因为现在很多的用户会在多种场景下通过链接来去访问越来越多的网站,也面临支付的场景,手机上支付越来越常见。在支付的时候,现在很多还是通过Web的形式去完成,这种时候需要浏览器作为一个平台能够保证安全性,包括支付过程中的验证,涉及到个人隐私的一些信息保护,都是需要技术上来去做一些储备。

   

8. 下一个问题是有关物联网设备的。现在很多的像智能电视,包括冰箱,都有一些智能系统在上面,里面有一些也带有浏览器的性质。你们对于嵌入式设备上的浏览器的发展趋势是怎么看的?

张凯:这个话题也是挺多人在讨论的,我谈谈我个人的一些看法。因为浏览器之所以它能够出现在这么多的端上,是因为我们有两个认识,第一个浏览器是上网的入口,其实就是用户获取内容的入口,从这个点上来说,只要我们能看到屏幕、能触达用户的地方,都希望能够尝试,看是否能够帮用户方便的呈现更多的内容。我个人认为有屏幕的地方,浏览器是能够把内容快速展现给用户的一个方案。物联网其实还有一部分,是没有屏幕的一些设备,那这些设备需要的可能是一个触达的端,或者能够进行管理的端。在这样的设备上,我也不知道浏览器是否是合适承载的角色。我们现在看到很多安卓这样的一些系统,或者裁减过的一个嵌入式系统在上面跑,需要更轻量或者更小的模块、系统去做,未必是浏览器来承载。浏览器更适合把内容便捷的展示给用户,包括后续内容的消费。

   

9. 有关加速,现在常常和适配的过程放在一起。现在也有专门做网站适配的服务,嵌一个代码到你的网站里头去来完成。你觉得适配是否更适合浏览器去做?

张凯:这个我们也在看用户的行为,以及现在互联网上的一些数据。我们能看到这个需求在慢慢的变弱,因为好多网站——或者说愿意给用户提供好服务的网站,慢慢都会有自己的手机站点,甚至自己做客户端。

适配是可以帮用户解决转码的问题,但是客观的说,适配的效果还是没有网站自己做的效果好。这个在需求上是在慢慢发生变化的。

   

10. 请您总结一下腾讯手机QQ浏览器在2013年,都做了哪些研发上的工作?

张凯:在过去的一年里面,手机QQ浏览器在研发方面主要在速度,对外能力的开放,以及产品的能力支撑上做了进一步工作。我们一直在致力于用户的更快速上网,如果大家有关注的话,会知道浏览器有X5的一个内核,X5内核本身在渲染的性能,启动的速度,浏览器内的一些操作的体验,也包括整个浏览器软件包体积上的精简,各个方面都做了进一步的优化工作。

在加速方面,云端做了大量的工作,包括IDC更合理的部署,更广泛的一些无线网络环境的覆盖和处理,特别是在终端和云端的配合上,也参考了像spdy这样的一些业界方案,做了很多更个性化的网络定制,网络数据的压缩,网络连接更合理的使用,等等,希望一方面是在不同的网络环境下能够有更多的自适应能力,一方面也希望用户在网络不好的时候能有一个更高速、更高效的传输。5.0版本其实在速度方面相比之前的版本又有一个很大的提升,在外面的评测上也能看到。这是在过去一年中我们在加速方面做的一些事情。

在对产品能力的支撑和对外开放能力的服务上来说,我们从产品里更多能看到的有,我们在内容上有了更好的聚合,能够把用户希望看到的资讯,小说,漫画、视频,这样的内容能够通过浏览器更好、更快的展示给用户。在开放能力方面,我们除了继续去年的合作伙伴来丰富云端的内容以外,也引入轻应用这样的模式,希望在Native的体验和Web中间找到一个吸取双方优势的新的形态。以上这些是整体来看,在2013年我们在技术研发方面做的工作。

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT