Discuz!产品总监李国德:新版功能改进197项
腾讯科技讯 4月7日,在今日召开的第七届站长大会“互联网产品与创新高峰论坛”上,Discuz! 产品总监李国德向大家介绍了Discuz!X2.5的改进情况,他表示,Discuz!X2.5功能改进是197项,主要涉及数据库操作的317个程序文件,4525处代码片断修改,DB类文件217个。
2012第七届中国互联网站长年会今天在北京国际会议中心召开。会议主题为“借船出海谋发展 共赢社区云时代”,议题包含“借平台创业 ”、“移动新机遇”、“共赢云时代”等。
以下为演讲实录:
李国德:谢谢各位来宾,谢谢各位站长。我用一个比较简短的时间向大家描述一下Discuz!X2.5我们所做的改进。
首先我们一起来看一下Discuz!X2.5的一些数字。功能改进是197项,主要涉及数据库操作的317个程序文件,4525处代码片断修改,DB类文件217个。研发耗时我们使用了5个月的时间进行代码的研发和架构改造,历经了颁布的发布,当然前面还有内测,三个月的时间来进行产品的完善。
新改变最多的还是围绕架构和性能,其次是应用和升级,接下来是新功能的元素。
为什么我们要花这么大的力量来进行数据层的改进?我通过四个点来回答这个问题。
因为我们的功能要进行模块化和插件化,通过封装的API就可以避免Discuz!不兼容,这个插件可以无成本低来使用Discuz!内制的性能优化体制,包括内存的优化,内存缓存的使用,多服务器部署等特点。同时我们对数据的写入进行了统一的安全处理,这样可以让你的插件变得更加安全。
第二点,我们让数据表全面支持内存缓存。在之前X2的版本里面,如果你想给Discuz!加内存的缓存支持是非常困难的,因为它的数据的读写是分散在不同的程序文件里面,这样你给每个表要加缓存的话,你要改大量的分见。所以在封装的体系下增加缓存的功能就非常简单,而且我们已经内置了缓存的支持。
这个图它表达了缓存加入以后,对你的数据库负载减轻的原理,就是用户读写会同时更新缓存和数据库,但是读只从缓存里面读,你的数据库够变成了一个数据的备份体,它不会承载读的压力,就减少数据库锁等等的性能的问题。
这个图就是我们新的版本里面,对内存的一些设置,整个内存包括各种表,用户表,主题表,等等都可以进行缓存的启用。
数据表需要支持分服务器部署,和内存缓存一样,在以往的数据架构里面,分散的数据读写,导致如果想对一个单台服务器部署是不可能的,主题表就是孤立的一个文件,你就可以把主题表放在一台服务器上,你可以把一个用户表放在一台服务器上,这样你可以根据你的网站的负载压力,来决定你的服务器的部署方案。
第四点,是写入数据更安全。之前的版本我们Discuz!有一个机制,就是把页面的变量进行了统一的处理。这样的化会导致漏洞的出现,现在我们把数据安全处理,放在数据存储的最底层,你只要经过这个接口,我们就可以进行安全的检查,让你的程序更安全。
在新的版本里面,我们做了一些优化,第一个就是针对用户表,这是我们针对我们跟一些比较大型的网站进行数据挖掘得到的一个数据,这些主流的网站里面,90天未访问的用户,82%的用户90天没有访问,这个数据比较惊人的在于,365天没有来的占60%,大部分网站60%的用户是一年没有来的。
我们的用户优化的思路就在这里,我们希望我们认为70%的用户都是僵尸用户,它大大占据了你服务器的存储,或者数据库压力的平衡点,我们产品里面就引入了一个新的机制,我们把用户进行了存档,把活跃的用户放入内存缓存,存的数据当用户自己来登陆的时候,我们会把僵尸用户变成活跃用户,放进高速缓存里面,这样让你网站的负载压力大大减少,而且把你服务器的优势都提供给活跃用户,这是我们第一个优化思路。
第二个,是我们对主题查看数的更新做了优化,以往Discuz!产品里面,很多站长比较头疼的问题,特别对一些尤其活跃的网站来说,它在一分钟之内会无数的主题被查看,我们每隔几分钟在准点的时候进行批量更新,在更新的时候会造成数据库的压力。我们针对这点进行了优化,我们新增了一个临时表,这个表是时时更新的,你在前端看起来的查看数是完整无缺的,但是这个临时表我们也增加了一个定时定期定量的同步一个机制,来解决这个主题查看数更新的问题。
第三个问题,也是很多网站头疼的问题,就是高楼帖的问题,尤其在举办活动,或者当你网站的用户特别活跃的时候,比如可能很多人去过一些小米网站,你一个帖子发出来以后,瞬间可能就一百个扉页没了,这种网站它的负载压力还是非常头疼的一个问题。因为这个问题是它自己本身的问题,他的机制当(英语)越靠后的时候压力越大。
我们在新的机制里面,我们引入了一个直接定位的概念,无论你的扉页是第几页,我们会直接找到开始标位,直接进行一个查询,这样就避免了这个压力。
这几点,也是大家非常关注的一些性能优化点,针对DIY这块,因为它没有用到MySQL的缩印,避免带来的(英语)的压力。
同时我们针对点评,评分,使用频繁的网站来说,也进行了内存的引入,来解决性能问题。
我再给大家介绍一下我们新版里面的一个改进,叫用户中心,可以让站长非常方便的通过用户中心找到自己想要的拓展功能,包括点评,包括插件的兼容性,一目了然。在介绍页面里面大家可以看到这个插件有多少人点评了,有多少人关注,都可以一目了然。
在Discuz!X2.5没有发布之前,都是基于测试版提供的,所以那个数据也并不是一个大普及的数据,但是在我们测试的情况下取得的数据还是非常乐观的。我们在今年1月份刚刚推出,到1月中旬就有2276个网站使用了用户中心,截止到3月中旬,已经达到15199个站点,这个蓝线就是代表每月的用户中心站点使用量。应用的安装量到目前为止达到53102次,平均每个网站安装3.85个应用。红线就是应用的安装次数,大家可以看到红线,在今天中午之后,这个红线基本上成为竖线。
第二点,参与开发者人数。在短短两个月,我们等级的开发者达到1131名,提交应用总数666个,审核上架的304个。应用的兼容都围绕着主流的版本,主要在Discuz!X2占47%,Discuz!X2.5是33%。如果Discuz!X2.5正式以后,这个数字就会发生一些变化。
通过前面的数字可以看到,用户中心给站长提供了新功能,都可以在在线安装,在线升级,不用担心插件是不是安全,可以跟插件的开发者进行很好的沟通,你的提问基本上会做到一对一的解答。
第二,未开发者提供了一个大展身手的机会,你的插件可能会被数十万的站点使用。第二,基于Discuz!良好的架构,可以给这些插件好好者节约开发成本。第三,数据层的封装,可以让你不用再去考虑兼容性的问题,前提是你的插件要使用我们的API。
接下来我们非常荣幸邀请到两个应用达人,第一个是51漂泊,他叫杨林,请他给我们介绍一下。
杨林:各位站长,各位来宾你们好,我不像刚刚领导说的那么精彩激烈,我就是一个刚入行的开发者。
之前我一直活跃在DSU这些网站,我一直都活跃在这些站长论坛,我自己做一个网站,虽然网站不是很出名,我就是一个51漂泊网,我就找一些修改,模板,插件,当我找到的时候我就重复地测试。比如Discuz!X1.5来了以后,我会找模板,到插件,当我弄得差不多了,就迎来我们Discuz!升级到2.0,当时一到2.0的时候,我又重复同样的工作,这是在没有应用中心之前,我又漂泊到每个网站去找Discuz!的模板,插件,修改方法,日复一日,年复一年。
俗话说久病成医,就是自己都能做一些东西了。当有一次我看见猴子说Discuz!出了新的应用中心,我注册了一个小扩展,装上以后反应不错,我就继续做,更多时候有一个版主认证,就是微博认证,我就做了一个插件做上去,客户的反应度都是4.8以上,这给我很大的信心。
因为我热爱,我就想把它继续做下去。今天来到这里,我就说说应用中心的几点好处,如果从一个站长来说,我省去了到处找东西的一个麻烦,第二个,我如果是Discuz!X2.0升级到2.5以后,我重复的工作,新的应用中心会提示你,插件会把同样的程序更新了,提示你更新,提示你升级,省去了很多的麻烦。
从一个开发者的角度来说,有详细的数据统计,好评度,下载量,还有站长反馈你的(英语)要修复了。
第二个,有更好的用户和插件作者的交流,及时更新自己的作品。
第三,自己的作品能够受到正版保护,作为一个插件作者来说,这是比较至关重要的一部分。
第四点,我们如果是做商业插件的时候,也会得到一个保护,每个站长也会受到保护,比如不允许你乱改这些程序,就出现很多问题影响你站的速度和内容。
最后一个,如果是我们作为站长最重要的是说我们的安全性,作者写出的插件不一定是最安全的,我们应用中心都会审核这些插件的代码,会提供最全面的建议,让作者去完善他自己的插件,他通过审核,同时他的插件才会通过应用上市,这对站长来说是最好的一处,对我们作者来说也是最好的。因为它避免了更多的(英语)出现。
我接下来会把免费和收费做到底,我的每一步插件都会伴随着一个收费版一个免费版同时发布,请大家支持我。如果你有意见的时候,可以把你的意见反馈回来。让我有更好的改进。谢谢大家。
我们看一下产品的其他改进,我们改进了产品的升级,我们也改进了产品的在线打补丁。以往产品出现漏洞的时候,很多站长会受到通知,产品有漏洞了,站长就急急忙忙找补丁,如果站点做了一些针对应用需求做了一些改动的话,就会更加的头疼。我们在新版里面做了一个字符匹配模式进行补丁修复。
还有自动升级,是Discuz!X2.5里面的功能,从Discuz!X2.5以后,再发布任何版本,站长就不需要去下载,去做比对,去做覆盖上传之类的,只需要在后台点一下更新,哪个文件要变动一目了然,而且我们会帮你变化过的文件做一个备份放在一个目录里面,这样的话你如果自己做一些运营改进,你可以把备份的文件升级以后再做维护。
在我们3月28号发布的当天,这个版本我们没有在论坛进行发布,这一天就有3286个测试网站,其中219个网站进行了自动升级,升级成功的有2029个。自动升级率是非常喜人的,有96%的网站成功升级。
新版里面对内容挖掘进行了加强,增加的微博等互动元素。首先就是淘帖,可以让用户去挖掘你站内有价值的内容,形成一个有效的榜单,在浏览一个主题的时候,用户可以看到这个主题有哪些优秀的榜单收录了它,从而进行更深入的阅读。
微博也是这个版本里面引入的元素,这个版本里面内置了手机客户端的存储借口。
第一,Discuz!的实验室,我们官方的应用中心,开发团队。
第二,系统组建。
第三,通过Discuz!云平台。
第四,通过面向第三方开发者的应用中心。通过这四方面,多方面协作,让Discuz!的后续版本功能拓展变得更加的容易,更加的丰富。
正式版已发布,谢谢大家。
提问:品牌空间下一步是怎么个开发计划?
李国德:品牌空间已经完善,它后面的升级都会作为一种应用来应用,可以去应用中心去下载使用。应用中心的开发者肯定会满足你的需求。
提问:在应用中心里面也会出一个品牌空间的独立版?不断的完善。
李国德:对。
提问:这次提到了BBC,(英语)没有点到。
李国德:(英语)可能有些在用,我们把它定位为一个游戏平台,我们也做了一个(英语)的游戏版,你装了(英语)以后,站长通过运营(英语)能够通过漫游平台里面的应用游戏来获利,我们定位是这样的一个产品。
我们做了一个内制选项,站长可以通过需求开辟和关闭这个家园,你需要什么功能你自己开就可以了。
好,谢谢大家。