中成网站建设
    成都做网站,就选中成网站建设!专业四川网站建设,成都网站建设服务提供商
            企业宣传网站建设、电子商务网站建设、OA办公系统。联系电话:028-66165255
    资讯列表  
 四川免费建站,成都网站建设,全…
 2008年国内最常用的PHP+MySql免…
 电子商务公司如何提高网站转化…
 成都市新都区网站建设(从双楠到…
 网站上线前必做的30个检查
 国外新颖的电子商务网站模式
 通过百度指数分析网站关键词
 BBS备案因重叠审批被取消
 单字母与单数字 .COM/.CN 域名…
 开发Web 2.0的9条注意事项
 电子商务如何与企业ERP系统整合…
 关于 HTML5 应用现状与前景的思…
 W3C验证的是是非非
 工信部整治手机淫秽色情专项行…
 心态决定站长的命运 一个站长3…
    资讯详情  
建立中大型社区类网站的技术方案讨论
发布时间:2010-03-11                  来源:成都网站建设--中成网建         【加入收藏】

背景:网站目前日访问12万IP,30~40万PV左右.采用C#+SQL2005+IIS6.0+Windows2003。



一)网站结构介绍




改版思路如下:



1)文件和图片与网站分离
这样做的好处可以加快含大量图片的网页的访问速度,另外也不至于因为存在大量下载而使整个网站访问受阻。
    (1)硬件需求,一台大容量硬盘的服务器,CPU,内存配置一般即可。
    (2)包含数据:这一部分并不包括论坛的数据,论坛(已经改用NTdiscuz 3.0)是discuz开发,有自己的存储方案,文件服务用于存新闻,论文,博客,会议,用户相册,文件,文献等等数据。
    (3)数据量大小:数据量会越来越大。程序开发时可以考虑对每个用户进行上传数量的限制。另个文件服务器硬盘需500G以上。以后再考虑加磁盘阵列也可以。但需要考虑到能加。
    (4)存储方案:不同频道建立一个文件夹,如blog,news,paper等,每个文件夹下分开文件(files),图片(images)然后再按日期建立文件夹
如2010/3/。
    (5)文件类型,附件允许.doc,.pdf,rar,zip,xls,ppt。图片允许.jpg, .gif, .png.大小控制附件不于5M,图片不大于1.5M.另个可以对各个频道进行分别处理,即可以设置每个频道上传类型和类型大小。严格控制非法文件上传。
    (6)权限控制:文件服务器文件没有脚本可以执行的权限,整个服务器根限只有读取,即使木马上传也无能为力。
      (7)技术实现,使用webservices或其它手段,进行远程文件上传.上传接口要统一.另可以iframe实现,这个待考虑。
    (8)目前状况:已经写好统计文件上传类。旧的数据存储保持不动。

2)加入高速缓存服务器
做社区,做博客没有缓存是很可怕的,数据库无法应付。加入高速缓存的好处能极大提高网页访问速度,对于访问频繁的页面尤其需要。
    (1)硬件需求,一台大内存的服务器(64位,16G内存),CPU最好也好点,硬盘很小就行。
    (2)缓存数据:主要缓存各个公用页页数据,如博客首页,最新博文章,博文章精选,人才首页等,还有就是更新少访问频繁的数据,如领域,分类等等。内存大的情况会缓存用户的数据,如用户博客首页等。
    (3)缓存方案:公用数据,一般缓存5到6分钟,更新少的可以缓存更长时间,任何缓存在后台可以清除,使得数据能更新。如有用户缓存,用户个人后台也有缓存清除。
      (4)技术实现:需要更改大量程序的实现方式,读取数据方式。优先读取缓存区数据。不需要公网IP,内网实现即可。不需要分配带宽。
    (5)技术保证:加快网站访问的同时,假如缓存服务器停止工作,网站访问不受到影响,直接从数据库读取数据,慢点而已,正常工作。
    (6)目前状况:已经写好缓存类,可以进行完善。主要采用memcached.

3)带宽分离以及频道分离
做样做的好处就是好控制带宽分配,文件服务器,论坛,博客,SNS,人才等应该分配不同的带宽。另个可以解决以前网站慢,带宽满找不到谁占用带宽过多的问题。频道分离也更利于搜索引擎优化。
(1)硬件需求,网站分离需要增加相应N台服务器。都是WEB服务器,另外相应的数据库服务器也会相应分离。这些服务器的标准,CPU要求稍微高点。硬盘稍微大点就行。现在的WEB服务器标准就行。
(2)技术需求:带宽分离的实现没有应该问题的。
(3)技术实现:对代码重构,整合。有些模块需要重新开发,有些需要整合。如不做样式改版,则主要是程序员的工作,美工可以协助制件页面,估计不少地方需要版面设计和功能调整。
(4)目前状况:部分频道已经分离,独立域名访问,如新闻,论坛,论文,人才,会议已经网站分离,但带宽没有分离。

4)模板技术,静态化技术,伪静态化技术
这样做的好处除了加快网站访问,减轻服务器压力外,还可以增加安全性。
(1)目前的任何CMS系统都采用了模板技术,使用网站全面的静态化,并且丰富了网站的样式,采用这种机制的话,会使得网站更加丰富,拿新闻专题举例:目前的专题形式虽然能实现比较统一性的表现形式,但无法满足像其它网站那样复杂的专题。这一部分有待开发,当然保留现有专题,使建快速。另开发新专题,使表现丰富。
(2)更多的静态化公用页面,特别是1.0的东西,参照各大网站,新闻,博文,论文等列表页都是静态化,而且也是只显示前六~十页。可以采用模板机制并且自动发布。当然用缓存也可以,不过没有静态化效果好。
(3)对于动态页面,尽量所有页面采用伪静态,这样做可以优化SEO,并且可以增加安全性,不好发现开发语言,更不好找注入点。
(4)技术实现,做这些东西增加不少工作量,所以肯定需要增加人员开支。
(5)目前状况,新闻,论文频道大部分已经静态化,新闻,论文页采用了模板技术,用.shtm可包含方式,留有广告位。博客,圈子有少部分伪静态。关于我们,english等其它频道有待开发的改进。

5)数据库分离和优化
这部分也是改版的重点,数据库往往是做社区的瓶颈.改版需对各个频道建立独立数据库。并对数据库的结构重建,尽量使用窄表和建立好索引。对于复杂逻辑使用存储过程。
新数据库方案

数据库架构也是至关重要的,大型网站的数据库都不止一个数据库,成百上千数据库都很常见。当然我们网站还小。

数据库结构图如下:



说明文字:

1)      用户数据库:包括所有用户,记录用户的数据,用于登录系统。包括用户名,密码,USER_ID.存储用户各种资料和相关信息,如教育信息,联系方式,相片,用户好友等,此数据库可以拆分,如用户量足够大时,可以垂直划分出用户资料库1,用户资料库2,用户资料库3。

2)      CMS数据库, 新闻,论文,人才,会议,电子杂志等编辑部发布的数据放在此服务器。互动内容不多,只有各种对新闻,论文等的评论。

3)      博客数据库 此部分包含圈子部分的所有数据表,圈子样式,模板,文章列表,讨论区,留言板,圈子成员信息.博客相关数据表都放在此,文章列表,模板,评论,留言等。此数据库可以拆分,以user_ID为纽带,文章数量,和评论量很容易非常大。如数据量足够大时,可以分表。

4)      SNS数据库 SNS必然会有各种功能模块,暂把其数据存在此数据库,以user_ID为纽带,如果功能模块多,再考虑再分个数据库出来。

5)      DISCUZ论坛数据库,由于已经启用DISCUZ论坛,必须得保留其数据库。

6)      专家库 不做介绍。




6)开发规范
此次开发需遵守源代码管理规范,编码规范,数据库设计规范。参考以下规范书。
参见《项目组编程规范》、《项目组界面设计规范》、《项目组SourceSafe使用规范》

 

 
上一篇:本人发布一条收藏已久的秘方!震惊世界
下一篇:中国武侠片的50条爆笑定律
【打印】    【关闭】    【字体变小】    【字体变大】

友情链接

首页  |  建站学院  |  网站建设  |  成功案例  |  业务体系  |  软件定制  |  解决方案  |  联系我们  |  免责声明
中成网建公司地址:四川省成都市双楠双安东巷1号18-3-5 电话:028-6616 5255 版权所有 @ 中成网建
成都网站建设网址:www.csccd.net www.csccd.cn 邮箱:web#csccd.net
信息产业部备案号:蜀ICP备08106559号