腾讯陈磊:开放平台的架构设计和实践

2012年,久享盛名的SD2.0大会全新升级为SDCC(中国软件开发者大会)!2012年被业界称为平台征战元年。在移动、云计算、物联网的大趋势下,整个信息服务产业正在面临重组洗牌,如何通过开放协作、构建和加入生态系统,加强竞争力,成为业界焦点。基于此,2012年SDCC聚焦开放平台,解析各种平台技术,分享生态系统构建之道。同时,大会邀请知名产品负责人、大型互联网架构师以及企业一线资深工程师,就本年度主流技术、产品、应用实践等热点议题进行深入分享。

腾讯开放平台部副总经理陈磊发表题为“腾讯开放平台的架构设计和实践”的主题演讲。

程序员同学们大家好,讲之前我问一下有多少同学是已经在腾讯开放平台上做应用或者创业的?这么少!有多少没有在腾讯开放平台做应用或者创业的?潜力巨大啊,大家显然错过了一个良机。腾讯开放平台是中国最能赚的平台,我们第一波的纷纷都上市,很多月收入超过千万的用户。刚才举手的都是在蓝海里面发展,现在还是有很多机会。

开放平台,我想讲的角度是从设计开放平台的角度,开放平台是怎么设计的?也不完全局限于领域,大家知道开放这个事情不是个新鲜事物,早在宋朝的时候就有一位奇女子,率性开放,她的名字也家喻户晓。而且开放的种类多种多样,可以是一种开放的生活态度,也可以是一个开放的信息渠道,也可以是一个开放的国家,也可以是一个开放的社交平台。但是,不管是什么样的开放,它的本质都是一样的,是什么呢?就是把原来专用专享的资源开放出来让很多人可以使用,并且在使用过程当中创造更大的财富。大家都明白潘小姐的开放程度。

做开放平台有三个要素,所以我们一开始就本着这三个角度设计的,首先是系统,系统的作用是让资源能够流通起来,能够被第三方使用。最终的目的是形成一个生态环境,让大家在这个生态环境当中能够创造价值。还有个是政策,开放的时候必须有政策让开放平台形成的生态环境正像互动,不能让资源很容易就被少数人独占。而且这个资源的使用不能是主流型的,所以我们国家有一个特殊的职能部门叫发改委,腾讯也有一个开放平台部,它的一部分就是去制定政策。再一个就是运营,运营业非常重要,运营的目的是让这个生态环境活跃起来,把第三方引进到我的生态系统里面去,竖立标杆,起到一个领头的作用,去扩大提升资源的使用效率。

这是开放平台的三架马车,缺一不可,我回到之前的问题,比如说潘金莲的开放是一个悲剧,为什么是悲剧?其实她的资源是很好的,系统也不错,王婆的运营也是非常出色的,但是她没有一个正向政策去引导她。不说潘小姐,我们说腾讯开放平台,它首先是全方位开放平台,海量用户关系链的开放,同时包括触达海量用户的渠道,开放平台上被用户广泛使用的而且喜闻乐见的功能,比如相册、音乐、视频、微云等等,把这些功能开放出来,让开发商在这些强大的功能之上继续创新。还有就是能力,腾讯这个平台把海量计算能力、安全能力、支付能力开放给第三方开发发。

开放平台系统架构,大家可以看到API体系,第三方可以条用我们的功能,有个帐户,QQ号是用户的隐私,我们在开放的时候不能把用户QQ号随便泄露。之前我们在QQ号资源也是外面很多黑客每天都要想办法挖掘的,他们掌握了这些QQ号骚扰用户,所以我们有OpneDI体系、QQ互联体系,同时我们在改变加强我们一些应用开放方式,让我们可以在第三方引用UGC。渠道我们有三个渠道,一个是社交,比如说微信信息、QQ消息,这是 互相之间沟通的渠道,我们把沟通渠道有管理有政策的开放出来,让第三方利用这个渠道沟通。社交广告的魅力在于精品投放,通过我们对用户的理解和关系链的理解、用户行为的理解,正准的把这部分用户推荐给喜欢这些应用并且付费的中心,应用中心是个很大的路口,很多应用挂在应用中心上,这个里面可以查找应用,渠道之外就是腾讯云计算的能力。

系统架构之下就是政策架构,政策架构是怎么样把钱分到开发商商里,支付分成是对C收钱,我们最新建立的政策是支付分成和对D收费, 这上面任何一个政策都是公平的,也是引导性的。开发商星级管理体系是希望支持扶持优质企业,核心目标是让更多的创业者可以得到资源完成初始活动,除了扶植之外还有运营规范,运营规范要有安全的平台,要有一定的可行性,不能涉黄、涉黑和反动,你不能随便仿变异别人的一个应用。你要善待你的用户,有用户投诉我们有一个受理政策。

我们还建立了运营架构,运营核心目的是收入和活跃,收入这边想了很多方法让开发商赚到钱,包括有付费业务和平台上的付费包月业务介绍给他们,帮助开发商让这些用户使用他的业务。包括金券体系拉动付费业务,包括建立任务集市,让没有成熟商业模式的用户可以对D收费。在活跃这一栏,我们经营一些项目,比如电商应用、母婴应用、视频应用等等,开拓更大的电商广告投放。同时我们也希望开发商引导开发商认证空间跟他的用户空间的联系,在用户空间沉淀粉丝,这些粉丝是将来推广这个平台的最核心,包括帮助开发商提高广告投放的效率,在我们平台上获取用户的成本,比如说游戏,是非常低的。

这些架构体系的建设是基于一些原则的,首先是安全,开放最重要的是保护拥护和开发商的安全,从用户角度隐私不能被破坏财产不能被欺骗;从开发商角度要保护他的知识产权、代码不被人窃取、保护他的系统不被人攻击。透明,我们没有一个绝对公平的政策,但是我们希望它是非常透明的,让大家都能看到,没有暗箱操作。高效,我们希望我们所有渠道效率更高。共鸣,建立一个共鸣的生态环境在这个环境里边用户、第三方和平台都获益。所有这些都是跟技术相关的,都需要技术去保障的,我重点讲安全和高效。

安全,我们有一个qqID体系,每个应用对于同一个qq号得到的是不一样的,一个号有一个opneID。其次我们把很多用户行为收敛成平台一个fusion,所有API应用会盘固到一个安全系统通过一些安全模型来分析,看有没有开发商滥用的行为,这些安全模型包括看他的频次、同一个用户调用是否合理,我们都去放蜜罐探测应用对用户的引导和他使用的应该流程。发现问题之后我们会及时处理,比如说降低他的级别,甚至不让其使用。安全扫描,很多时候不同开发商开发出来的应用价值是没有保障的,我们进行代码扫描,部署到我们设备之上就先扫描。其次我们在外网不属于安全扫描的系统会去尝试攻击这些应用,找到这个应用的隐患所在。自动化测试的目的是看到这个应用是否打得开、响应时间是不是还OK,假如应用打不开了我们从应用中解决下一步,这也是用户使用高水平高质量应用的前提。保护用户财产重要的一点是用户怎么支付,我们采用Q点直付的方式,使平台能够保证用户支付的安全性。在Q点直付系统采用双token认证,首先有一个token证明这个是用户发起的,我们还让第三方确认知道的确是他那边用户发起的,钱已经支付了,然后是腾讯平台告诉他发货,确保收费和发货流程,整个环节进行多级队长同时提醒用户支付和便捷查询。保护应用安全,最有效的策略之一是把外网IP收敛,没有外网IP就使得外网来的攻击到不了。我们有一个系统叫TGW,当外网用域名访问我们内网一个设备的时候,开发商外部服务器的时候,先跟腾讯TGW建立连接,腾讯通过七层解析知道域名在那儿,然后根据域名再去绕,腾讯TGW再跟后端建立联系,腾讯TGW是一个可扩展的系统,扩展是采用OSPF协议,这其实就是最短路径,所以腾讯TGW可以用于反DOS。此外腾讯平台内,我们DFW是把不同开发商设备分割开,当不同开发商在我们网络环境内也不能互相攻击,这是通过一个网槽实现。还有一个Netagent,你从内网不外翻也不行,洋葱系统是检查每台设备本身这套系统。宙斯盾是仿ADS的系统,ADS系统核心是保证内网流量。

高效,腾讯社交广告跟其他传统广告最大的区别是我们知道用户的信息,同时我们也知道用户之间的关系,把用户之间的关系,比如说你的好友在使用什么应用,这个我们就会在广告系统内倾向性的把他的广告展示给你,这两个优势使得我们广告系统能够非常的精准。比如说有的用户在我的游戏里面已经玩到第七关了,但是有俩月没来了,我又发明了新的玩法,我放在这个应用里,我感觉这个用户为了这个新玩法会回来的,我可以告诉平台专门为这个用户打一个广告。社交渠道,比如说我的一个好友在用胡莱三国,他可以发一个广告让我也用三国,可以用奖励的模式促进给用户发邀请的积极性,邀请只是其中一种模式。社交渠道里面最重要的是智能化,每天通过社交渠道发出来的feeds量非常大,我们通过对用户的理解、通过机器学习找到最合适的通知渠道,比如说通过QQ提醒,同时挑选用户最感兴趣的消息,保证用户首先看到这个消息。在应用中心里面我们采用的也是智能化的训练方式,对于每个用户来说我展现的应用是不一样的,比如说男性拥护和男性用户喜欢玩的游戏是什么,同时我们有很多应用,让对不同应用感兴趣的人可以直接进入这些类比,形成一个集市的效果。