清风细雨楼 Design By www.eepep.com
对于少量用户写信息,大量用户都是在看信息的网站:例如CMS系统,编辑发咨询,用户看,例如中小企业产品发布网站。 对于这类需求我们可以把文件专门放到一个目录下,例如放到网站根目录的upload目录下,然后按天建文件夹,将每天的文件放到一个目录下,文件名可采用数字生成。例如:upload/20100612/1224455.jpg;通常的情况下这种目录结构就可以保证每个目录下不会有太多的文件。
对于博客,论坛应用,需要对每个用户分配文件存储空间,如果有需求的话还要限制用户的存储空间,对于一般规模的网站目录结构可以用用户id+日期的形式;例如upload/234/20100612/abc.jpg。如果规模较大,可以将文件分布到几台不同的服务器上,可以根据用户id制定一个分布的规则,每台服务器用不同的域名,并在数据库中存储文件的完整url地址,这种情况下的路径结构通常是:http://file1.abc.com/upload/234/20100612/abc.jpg。
我曾经观察过微软的文件下载文件存储的路径结构,他是用guid生成的一个路径,例如:http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe ;它这个结构目录是guid的前三位和guid做了一个4级的目录,这种情况下,就保证了,每个目录下不会有很多目录,因为是guid所以每一个文件都放到一个单一的目录下了,这种结构对于做下载的网站应该是一种不错的选择。
还有web2.0的网站会涉及到用户头像的存储,头像的存储比较特殊,一个用户固定有那么几个尺寸的图片,我们分析一下开心网和sina的头像地址,看他们是如何做的存储
1. 开心网的存储,如下是两对链接地址,每对中的第一个是头像地址,第二个是用户首页,首页中的参数是用户id
http://pic1.kaixin001.com.cn/logo/13/39/50_133973_82.jpg
http://www.kaixin001.com/home/?uid=133973
http://www.kaixin001.com/home/?uid=36131662
http://pic.kaixin001.com.cn/logo/13/16/50_36131662_2.jpg
可以看出开心网的存储方式是存储到几台不同的服务器上,头像的地址是根据用户的id去划分目录做的存储,id的前4位被分成两个目录,文件名用的是包含前缀+用户id+后缀的方式做的存储。
2. 如下是两对sina的空间地址,和博客头像的地址
http://space.sina.com.cn/u/1642511512
http://portrait1.sinaimg.cn/1642511512/blog/180
http://space.sina.com.cn/u/1725778305
http://portrait2.sinaimg.cn/1725778305/blog/180
Sina博客头像的存储方式和开心不同,是用户id做一级目录,然后加上blog(应该是应用的名字)再加上一个数字180(猜想可能是头像类型的数字);sina和开心的区别是没有图片扩展名,猜想它可能是把头像放到了一个键值对的数据库中,根据url参数从键值对数据库中取出头像的图片数据,然后输出给客户端
从上面的分析可以猜想开心可能是直接存的文件,而sina可能存储在键值对数据库中,如果数据量很大的话,应该是新浪的方式根据伸缩性。
最后我们还得提一下为我们提供服务的博客园的存储方式,如下地址:
http://pic.cnblogs.com/face/u15230.jpg
http://pic.cnblogs.com/face/u105416.png
http://pic.cnblogs.com/face/u40200.png
很简单直观应该是放到了一个目录下,直接用户id做的文件名,没有分目录结构,这样在文件夹中文件过多时是否会引起性能问题呢?
对于博客,论坛应用,需要对每个用户分配文件存储空间,如果有需求的话还要限制用户的存储空间,对于一般规模的网站目录结构可以用用户id+日期的形式;例如upload/234/20100612/abc.jpg。如果规模较大,可以将文件分布到几台不同的服务器上,可以根据用户id制定一个分布的规则,每台服务器用不同的域名,并在数据库中存储文件的完整url地址,这种情况下的路径结构通常是:http://file1.abc.com/upload/234/20100612/abc.jpg。
我曾经观察过微软的文件下载文件存储的路径结构,他是用guid生成的一个路径,例如:http://download.microsoft.com/download/5/6/7/567758a3-759e-473e-bf8f-52154438565a/dotnetfx.exe ;它这个结构目录是guid的前三位和guid做了一个4级的目录,这种情况下,就保证了,每个目录下不会有很多目录,因为是guid所以每一个文件都放到一个单一的目录下了,这种结构对于做下载的网站应该是一种不错的选择。
还有web2.0的网站会涉及到用户头像的存储,头像的存储比较特殊,一个用户固定有那么几个尺寸的图片,我们分析一下开心网和sina的头像地址,看他们是如何做的存储
1. 开心网的存储,如下是两对链接地址,每对中的第一个是头像地址,第二个是用户首页,首页中的参数是用户id
http://pic1.kaixin001.com.cn/logo/13/39/50_133973_82.jpg
http://www.kaixin001.com/home/?uid=133973
http://www.kaixin001.com/home/?uid=36131662
http://pic.kaixin001.com.cn/logo/13/16/50_36131662_2.jpg
可以看出开心网的存储方式是存储到几台不同的服务器上,头像的地址是根据用户的id去划分目录做的存储,id的前4位被分成两个目录,文件名用的是包含前缀+用户id+后缀的方式做的存储。
2. 如下是两对sina的空间地址,和博客头像的地址
http://space.sina.com.cn/u/1642511512
http://portrait1.sinaimg.cn/1642511512/blog/180
http://space.sina.com.cn/u/1725778305
http://portrait2.sinaimg.cn/1725778305/blog/180
Sina博客头像的存储方式和开心不同,是用户id做一级目录,然后加上blog(应该是应用的名字)再加上一个数字180(猜想可能是头像类型的数字);sina和开心的区别是没有图片扩展名,猜想它可能是把头像放到了一个键值对的数据库中,根据url参数从键值对数据库中取出头像的图片数据,然后输出给客户端
从上面的分析可以猜想开心可能是直接存的文件,而sina可能存储在键值对数据库中,如果数据量很大的话,应该是新浪的方式根据伸缩性。
最后我们还得提一下为我们提供服务的博客园的存储方式,如下地址:
http://pic.cnblogs.com/face/u15230.jpg
http://pic.cnblogs.com/face/u105416.png
http://pic.cnblogs.com/face/u40200.png
很简单直观应该是放到了一个目录下,直接用户id做的文件名,没有分目录结构,这样在文件夹中文件过多时是否会引起性能问题呢?
清风细雨楼 Design By www.eepep.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
清风细雨楼 Design By www.eepep.com
暂无评论...
更新日志
2024年05月15日
2024年05月15日
- 黑帝斯哈迪斯2姊妹双刃图鉴及附魔效果一览 黑帝斯哈迪斯2全武器图文介绍
- 刘文正.2013-金典歌展2CD【南方】【WAV+CUE】
- 刘珺儿.2001-标准心上人【P.TMUSIC】【WAV+CUE】
- 谭小环.1997-自主【BMG】【WAV+CUE】
- WBG入选沙特电竞世界杯!角逐多个电竞项目
- 《小谢尔顿》最终季大结局首曝片段 成年谢米回归!
- 鸣潮凌阳声骸怎么选择 凌阳声骸搭配及词条选择攻略
- 鸣潮莫特斐声骸怎么选择 莫特斐声骸搭配及词条选择攻略
- 黑帝斯哈迪斯2月石之斧图鉴及附魔效果一览 哈迪斯斧头介绍及祝福推荐
- 甲子慧.2015-最爱【乾坤唱片】【WAV+CUE】
- 甲子慧.2007-红线情【乾坤唱片】【WAV+CUE】
- 周翠玲.2010-JZ8爵士八号【久乐实业】【WAV+CUE】
- 《家园3》公布最新预告片 高级版玩家已可抢先体验!
- 《地狱之刃2》预告对比:精心打磨三年 画质显著提升
- 《生化危机4:重制版》路径光追Mod:帧数遭暴降 画面大提升