说说你了解的存储海量照片和视频,用什么技术最好
最近我们要做一个有关存储海量的视频和照片,想请教一下各位用什么技术比较好,希望做过此类项目的给点建议,谢谢!!!
------最佳解决方案--------------------
我们公司之前做的一个视频教学项目也有这个需求,用户需要上传视频,老师也要上传视频,都是500MB左右的超大文件。我们开发这边是用了5台储备服务器。主要麻烦的是上传这块,其它的都比较简单。
上传这块我们用的一个商业的上传控件。由于控件的接口比较丰富,我们做对接也没花多少时间。通过这个控件我们可以将视频按业务逻辑平均存在这5台服务器中。主要是这个控件提供了一个服务器地址设置接口,这样我们就可以按需更改存储服务器了。
------其他解决方案--------------------
上传这块现在已经不是问题了,你们可以将主要精力放在业务逻辑的处理上面。
网上有一个Web大文件断点续传控件:http://www.cnblogs.com/xproer/archive/2012/05/29/2523757.html
此控件支持100G文件的断点续传操作,提供了完善的开发文档,支持文件MD5验证,支持文件批量上传。
粘贴文件,简化选择文件操作:
文件MD5值计算进度:
文件MD5值计算完毕
服务器根据MD5检测是否存在相同文件
续传文件
从服务器加载文件列表
文件上传中
文件上传完毕
上传文件夹
与Discuz!X2整合-后台安装断点续传控件
与Discuz!X2整合-后台启用断点续传控件
与Discuz!X2整合-后台断点续传控件启用成功
与Discuz!X2整合-前台发帖页面
与Discuz!X2整合-上传
页面调用示例代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>HTTP断点续传控件与MySQL数据库演示页面(UTF-8)</title>
<link href="HttpUploader/HttpUploader.css" type="text/css" rel="Stylesheet"/>
<script type="text/javascript" charset="utf-8" src="HttpUploader/FileLister.js"></script>
<script type="text/javascript" charset="utf-8" src="HttpUploader/HttpUploader.js"></script>
<script type="text/javascript" charset="utf-8" src="HttpUploader/combinbox.js"></script>
<script type="text/javascript" src="HttpUploader/jquery-1.3.2.min.js"></script>
<script language="javascript" type="text/javascript">
var cbItemLast = null;
var cbMgr = new CombinBoxMgr();
$(document).ready(function()
{
cbMgr.LoadInControl("FilePanel");
cbMgr.Init();
});
</script>
</head>
<body>
<div id="FilePanel"></div>
</body>
</html>
资源下载:
CAB安装包
开发文档
ASP.NET-ACCESS示例
ASP.NET-SQL2005示例
JSP-ACCESS-GB2312示例
JSP-ACCESS-UTF8示例
JSP-SqlServer2005-UTF8示例
JSP-MySQL-UTF8示例
PHP-MySQL-UTF8示例
------其他解决方案--------------------做好分布式存储就OK了。关键在上传这块,其它的也没啥。
------其他解决方案--------------------
兄弟,别把海量存储看的非常复杂,其实很简单。主要是存储服务器做成可动态增加的就行了。
------其他解决方案--------------------听说可以用分布式存储 不知道怎么样??