关于服务器端大文件的存储方式设计的讨论

BasaraTracy 2007-01-22 02:04:11
由于业务需要,服务器端有一些大的文件,大小为2-3M,比如MP3文件,数量大约1000-2000。对于并发访问的处理有以下几种方式进行文件的存储。

1、文件系统 以目录的方式存储。
2、数据库存储 将大文件直接存于数据库中
3、内存缓冲(结合文件系统或者数据库存储)将访问过的的文件以一定的方式存于内存缓冲区中,定时清空(对于每个session采用clone,避免线程死锁,毕竟传这么大的东东用时不少啊)。

优点:
对于方式1,存储简便,方便维护。
对于方式2,并发控制的比较好。
对于方式3,可控性更强,速度较快。

弊端:
对于方式1,容易发生文件的死锁。
对于方式2,增大数据库容量,增加检索时间。
对于方式3,可能发生线程的死锁,占用内存较多。

如果并发访问量很高,假设为1000个session同时访问一个资源,不知道那种方式更好一些。
能力有限,小弟仅能想到这三种方式,不知道是否有其它更好的解决办法。像华军那样的下载网站不知道是怎样解决这个问题的,请达人指教。
...全文
325 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
pdvv 2007-01-24
  • 打赏
  • 举报
回复
我选文件系统,同时有1000个并发,这已经非常高了,保证系统实际运行过程中99.9%的稳定性,没有必要为另外的0.1%浪费更多的资源。如果确实有这么大的量,考虑作分流。
BasaraTracy 2007-01-24
  • 打赏
  • 举报
回复
怎么没人解答啊 高手们别都潜水啊 大家讨论一下啊
BasaraTracy 2007-01-23
  • 打赏
  • 举报
回复
请达人们指教
liaohaiying 2007-01-22
  • 打赏
  • 举报
回复
如果是我,我选第二种
BasaraTracy 2007-01-22
  • 打赏
  • 举报
回复
PS:本人在北京,做软件开发,想自己创业。现已有一套不错的基于web2.0应用的方案,希望能与志同道合的朋友一起把这个想法做起来,有兴趣的请联系我(限北京地区)
msn:friend_lv@hotmail.com
qq:25390347

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧