BT

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

ArchSummit讲师专访:腾讯张凯谈手机浏览器架构

| 作者 郑柯 关注 3 他的粉丝 发布于 2012年7月11日. 估计阅读时间: 5 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

 编者按:由InfoQ中文站主办的首届International ArchSummit架构师峰会即将召开。我们也对一些专题的讲师进行了采访,谈谈他们要讲的议题。

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

InfoQ:请您对自己做个简单介绍,尤其是在移动互联网方面的技术经验和积累。

张凯:大家好,我是来自腾讯无线浏览器产品部的张凯,04年毕业后加入腾讯,与许多同学,朋友,同事在这里度过了8年的时光,经历了sp时代的发展和衰退,也经历了漫长的对3G时代的期待和等待,承担过短信和终端产品的开发以及手机QQ,手机Qzone,QQ通讯录,QQ浏览器的服务端架构设计工作,并参与和主导了腾讯无线应用开发框架以及分布式存储平台的设计和开发。

InfoQ:移动互联网领域的应用,您认为在架构上与其他传统的客户端或后台服务等架构有哪些最大的不同?

张凯:移动应用与传统PC桌面应用很大的区别是在终端和网络,受限于现阶段终端能力(特别是电池续航能力)以及无线网络相对较“窄”且有一定费用的影响,“快”和“省”就成为了移动应用需要从技术架构上解决的两个突出问题,包括终端响应快,网络传输快,省电,省流量,省内存等,另外,无线网络的稳定性也不如有线网,因此稳定有效的传输也是重点要考虑的。移动应用还有许多特点,比如可以随时随地的“在线”,可以更方便的使用PUSH机制将信息及时触达用户等等,这些特性也对架构提出了“弱在线”,“异步化“等挑战。

InfoQ:移动互联网领域的应用对上线速度有很高的要求,这种对速度的追求反映到架构上,会有哪些影响?

张凯:需要解决的问题是灵活性和扩展性,但同时产品又需要稳定性,因此整体架构的抽象和合理的模块化以及统一的开发框架就非常有必要,不只是可以保证开发质量、提高服务稳定性,在开发效率上也可以提升,也满足了快速开发和上线的需求。

InfoQ:您能否结合腾讯手机浏览器的X架构对上述两个问题进行一些分析?

张凯:手机QQ浏览器的X架构是个典型的例子,因为浏览器是个终端和云端交互非常频繁的产品,最多的场景就是浏览网页,每次都需要网络交互,因此针对无线网络的“加速”和“省流量”都是X架构的核心,包括从网络连接策略,网络协议设计,数据传输机制以及借助云端更强大的计算和缓存能力等多个方面围绕着“快”和“省”进行的持续优化,许多方案也适用于其他移动应用。在终端本地通过对浏览器内核的深度优化,提高渲染能力,加快JS执行速度也是X架构的特点。快速开发方面,X架构下各层的组件和模块都发挥了重要作用,例如终端的UI引擎,网络组件,云端的应用开发框架,统一存储,跨平台的协议编解码工具等等。

InfoQ:移动互联网应用应该如何在架构层面保证安全性?

张凯:可以从几个层面考虑,终端本地存储的安全性,网络交互协议的安全性,云端接入层的防恶意攻击,云端存储数据的安全性。一些在传统互联网比较成熟的加密,认证方案在移动互联网也可以借鉴和使用,但是需要在复杂度和安全性之间做一些平衡。

InfoQ:如果一个应用想侧重于省电方面,架构上有哪些原则可以遵循?

张凯:移动设备的模块中,CPU,屏幕和网络模块是耗电的“大户”,因此应用需要省电就可以从这三方面来考虑功耗,屏幕可控制的空间相对较小,CPU和网络可以优化的细节点有很多,包括减少本地逻辑和计算的复杂性,精简终端和服务端的交互协议,尽可能“轻客户端重服务端”,充分发挥服务端的能力,让客户端更清晰简单。另外,在连接策略上可以采用“半长连接”,在某些终端平台下,应用处于后台运行时,可以根据时间和用户行为以及用户活跃度等来动态调整休眠时的逻辑,尽可能减少功耗,原则上也尽量避免不必要的定时或周期性任务。

相关信息


给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

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


找回密码....

Follow

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

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

Like

内容自由定制

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

Notifications

获取更新

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

BT