• 1. 手机浏览器未来之门 智能应用与云服务腾讯无线浏览器产品部 2012年5月
  • 2. 移动互联网的产业特点
  • 3. 移动互联网的产业特点价值链长新商业模式驱动网络、终端、应用与PC不同
  • 4. 移动场景下的产品特点碎片化:短/平/快、极简私人化:个性、安全/隐私智能化:终端能力、云服务
  • 5. 手机浏览器的智能化趋势
  • 6. 移动网络快速优化移动网络技术的变革 3G、wifi的覆盖 网络基础建设的投入 网络资费的降低3.56亿 1.44亿 10亿
  • 7. 智能终端发展迅猛1.9亿部 占比53.4%摩尔定律效应硬件提升智能服务的能力
  • 8. 内容应用丰富多元
  • 9. 三驾马车推动行业发展与创新网络终端应用用户
  • 10. 网络和终端的局限性类型多:2G、3G、wifi 制式多:WCDMA、CDMA2000、TD 环境复杂、跨网不方便平台多:iOS、Android、WP、塞班 平台标准不一 硬件差异引起的交互使用差异 电池续航能力受限网络终端
  • 11. 内容应用开发商和用户的烦恼应用用户开发成本高 运营维护成本高 做出好的应用也很难到达用户手里 1:550,000 apps跨平台、跨终端体验 手机安全与隐私 小白用户不会找内容 面对海量内容与应用时却又无法选择
  • 12. 我们需要什么样的解决方案跨平台、跨网络、跨终端 标准统一,降低开发/运营成本 保护用户个人安全和隐私 海量应用精细化、个性化推送 省电、快速、省流量 用户
  • 13. 我们需要什么样的解决方案智能终端云端服务手机浏览器C/S架构
  • 14. 手机浏览器的定位和演进路线手机浏览器网页浏览器信息浏览器
  • 15. 基于Html5技术的智能应用展望
  • 16. 能听会看的智能语音/二维码
  • 17. 手机QQ浏览器的发展历程2012年3月2011年6月2010年6月2009年7月主打智能应用、云服务全面提升核心能力全平台、全版本发布QQ浏览器发布 S60 V3 Beta1用户规模突破100万总用户数突破2亿手机网民使用率超过65%高端平台用户数快速增长 月总PV到达1500亿在竞争激烈的第三方手机浏览器市场快速突起
  • 18. 我们的积累和沉淀
  • 19. 漫步云端 . 海量运营
  • 20. 2009.1.7,3G牌照发放,进入3G元年 移动,联通,电信三足鼎立,开始快速建网,试用,商用 2009年全年新建基站近30w个 屏幕:128*128、172*256、240*320、360*480、480*800、… 内存:64M、128M、256M... CPU:100MHz、396MHz、600MHz、1GMHz... 操作:触屏、按键、按键+触屏 接入:WAP,NET 网络:GRPS,EDGE,3G 网站:WML,HTML这就是一个乱世!
  • 21. LoginConfig运营类代理Stat接入代理IPInfoAuth自有业务代理Web运营 管理平台帐号中心同步中心消息中心云U盘LBS代理插件服务Local Cache分布式Cache平台文件系统/SSD抓取 服务智能预抓图片转换内核解析渲染服务页面转换浏览类业务代理部署 发布配置 中心日志 中心监控 告警内容抽取DB测速服务网关/无线网络1234浏览器云端架构总览
  • 22. 漫步云端:化繁为简的故事
  • 23. www.qq.comHTTP REQHTTP RSPHTML WML网页背后的“秘密”标签,信息排版,样式动作,交互 内核 引擎DOM 树 解析,耗时Render 树 渲染,耗时JS 脚本 运算,耗时
  • 24. 世界上最远的距离?www.*.*论坛新闻手机小说从 1024*768 到 128*128从 4G 到 128M从 2GHz 到 100MHz从 4M/s 到 2K/s
  • 25. 一个朴素的“想法”目标网站 无线网络云端服务集群 内核 引擎云中转
  • 26. 云中转:结构图终端 无线网络中转接入服务器页面转 换服务抓取服务器有线网络Chrome V8 Webkit网站标签规整 排版转换 协议转换 垃圾清洗 分页缓存
  • 27. 云中转:JS执行时序终端中转服务器网站JS 上下文缓存页面请求页面抓取HTML + JS转 换WML 无JS输入提交执行 JS返回结果1.自定义协议(JSNode) 2.云端存储上下文副本 3.用NodeId恢复并执行
  • 28. 云中转:效果图
  • 29. 云中转:模板转换目的: 更好的展示垂直类内容页面,包括论坛,新闻,小说等 方案: 针对特定的网页(URL),人工选择其DOM树中的“有用”字段 例如:标题,简介,时间,作者,正文,楼主,原帖,回帖等 引入“清洗模板”和“展示模板”,制订规则,抽取后做更好的展示
  • 30. 云中转:模块结构图基于Webkit的Chrome内核 + V8 JS引擎如何判断一个页面(URL) 是否可以“被”缓存?
  • 31. 云中转 - 瘦客户端用二进制数据描述并下发RenderTree降低终端渲染的复杂度 图文并下,减少交互次数 二进制传输,更节省流量 边传输边解析边显示有效的解决了弱终端 设备能力不足的问题简化了DOM,托管JS,还缺什么?
  • 32. 思考:页面小了,流量少了,速度呢?目标网站 无线网络云端服务集群1 + 2 > 3?123云加速
  • 33. 云加速:就近再就近WEB服务器原则:避免跨网联通网关广东联通深圳移动IDC上海电信IDC深圳联通IDC电信机房123光纤√√√?中转层 接入 & 抓取
  • 34. 云加速:动态路由电信抓取电信机房教育网机房?现实比理想复杂 相信数据,而不是经验 新想法难免会有新麻烦 但是,坚持合理的 这个方案适用于接入层吗?为什么WEB服务器WEB服务器√ 引入实时测速算法8%
  • 35. 云加速:“X” 架构的多级缓存资讯SNS游戏Flash小说音视频应用程序开放接口框架… …X云服务集腾讯安全引擎X浏览器内核极速渲染引擎基于人性化的交互界面框架iOSAndroidSymbianWP7JavaMTK… …智能网络DNS 缓存静态资源缓存页面缓存热点资源缓存JS上下文缓存Socket缓存本地配置缓存UI资源缓存无处不在的缓存 云端 终端网络
  • 36. 资源打包,批量下载 -> 减少连接次数 图片自适应压缩,格式转换 -> 减少流量 云端的AdBlock插件 ->“程序猿”的逆袭更省更快云加速:积跬步,以致千里补充数据
  • 37. WAP页完全打开耗时(s)WEB页完全打开耗时(s)追求“快”云加速 :阶段性效果,是一种修行25% ~ 50%
  • 38. “奇怪”的图片缓存(Cache)问题 ?800G —— 4T79% —— 82%~
  • 39. 大数据下的精品体验根据IBM的估算,自人类有史以来至今所产生的信息为5艾字节(50亿GB)。而到明年的时候,我们生成这样规模的信息量只需要10分钟!除了快, 还需要什么? 每秒钟有60张Instagram的照片被上传 每分钟就有60小时的视频内容被传到Youtube 每天在Twitter上会产生1亿9千万条微博 每周有5TB的照片被传到Facebook ……
  • 40. 再思考:除了快,还需要什么?简我们在为别人的需求“买单”?云转换
  • 41. 又见模板:高校BBS项目,痛并快乐着从“人工模板”到 “机器学习”页面分块主题分类智能抽取版式识别 四大核心能力云转换:内容转换 基于视觉的页面分块算法 基于文本特征的版式识别 基于样本库等的主题分类 针对类型的智能抽取算法
  • 42. 云转换:智能转换
  • 43. 云转换:有效传输大数据如何“传”的又快又好?12终端基站网关服务器 连接不稳定,各种纠结? 网络环境:时间,人群,场所 假设链接中断,分片,断点续传√√√ 云端控制,动态调整传输速率 握手协议,ACK机制,前轻后重
  • 44. 云转换:更多云服务 统一帐号:一键登录,快速分享 云U盘:数据备份,文档预览 离线下载:从云端到云端的“把戏” 海量资源:越来越多的“秒传”
  • 45. 上百个服务模块上千台服务设备上百亿服务调用上千个服务进程……用户还在增加,需求还在变化,服务集群越来越大云中转云加速云转换杯具?
  • 46. 海量运营:人造鸡蛋的故事
  • 47. 规模化生产?模 具人造鸡蛋(一)
  • 48. 运营平台通信框架公共库协议 无线统一协议(WUP)透明部署 自动发布 集中配置/LOG管理 容错 负载均衡 灰度 染色 调用链分析RPC(同步/异步/单向) 高性能 过载 提供给框架以及业务使用的基础组件多平台 二进制可扩展 自动生成 自研服务开发框架(TAF)跨平台,提高开发效率,保留运营能力的自主可控、可扩展性
  • 49. 服务框架工具协议公共组件公共 服务框架 工具基础 类库base class toolsjce2javaApplication (conf/log/notify)Communicator (stat/prop) registrynodepatchlogconfigstatnotifylibserverjmemlibparsejce2cppJce protocollibloglibconfiglibnotifylibpatchpropTAF(Tencent App Framework)
  • 50. 自定义协议(WUP)类高级语言语法向下兼容,灵活扩展复杂数据结构,嵌套类型优化,压缩自动生成编解码支持多终端,跨平台c++javamtk-cobj-csym bian -c++js- jsonphpc#
  • 51. RPC 远程对象调用接口 文件ClientServer①②③远程对象调用: obj = stringToProxy(“ObjName”) obj>rpcCall(“FuncName”,params)实现接口④ 开发人员无需关心网络层,整 个服务集群像一个“巨大”的 单机程序 集群内部的所有“接口”调用 信息完全自主可控高效开发的同时, 为运营留下“空间”协议分发
  • 52. 高效开发,统一运营 √ 服务标配: 远程日志、配置、管理端口、过载保护, 灰度、染色、状态监控,属性上报 接口标配: TCP/UDP协议,同步/异步/单向调用, 自动测试,耗时监控 几分钟开发一个Server 不再为协议联调“浪费”时间
  • 53. registryclientstringToProxy(ObjName);appsvrappsvrtcp/udpnode1node2keep alivereportpatchstatpropnotifyconfiglogadminadmin sync/asyncTAF 服务部署局部图集中管理 IP:Port
  • 54. 不放在一个篮子里Set 模型人造鸡蛋(二)
  • 55. 海量运营:Set 化部署南山宝安浦东南汇深圳上海深圳上海 多机房,跨IDC部署 多地区,异地容灾所有的服务都部署 在Set内吗?
  • 56. 发布“猕猴桃”?灰 度人造鸡蛋(三)
  • 57. 海量运营 : 灰度proxy svrtaf_set_router(router)001user接入服务器000001Server A 1. 在任意接口处设置“路由器” 2. 服务发布时设置其灰度状态 3. 框架自动根据“路由器”的 返回状态寻找匹配的服务 4. 服务端只有一种状态时,则 忽略路由值,但是会透传 5. 实际灰度可以多于1种状态 Server BServer C
  • 58. 也许,需要只“苍蝇”?染 色人造鸡蛋(四)
  • 59. 海量运营:染色proxy svr000user接入服务器000taf_dye(“qq”, “88883245”)000ServerAServerB ServerC在任意接口对消息进行染色 染色的 key 值由业务指定 后续调用自动传递染色信息 染色日志集中到 log serverdye log server有什么不足?
  • 60. 检疫,检验监 控人造鸡蛋(五)
  • 61. 海量运营:监控、告警 尽可能全的考虑监控 丰富的告警策略(短信,邮件,RTX)待改进:分钟级别的监控粒度过大,需要更‘敏感’!!
  • 62. “程序”内部优化调用链人造鸡蛋(六)
  • 63. 海量运营:调用链告警,快速定位“元凶”分析不合理的调用关系
  • 64. 总结云接入云加速云中转云同步云转换云安全云存储云托管灰度Set 模型染色监控柔性过载有损自动部署大系统小做先抗住再优化云海云计算TAF框架
  • 65. 谢 谢!腾讯无线浏览器产品部 2012年5月