法律状态公告日
法律状态信息
法律状态
2022-10-25
专利权的转移 IPC(主分类):H04L29/08 专利号:ZL2012104783035 登记生效日:20221013 变更事项:专利权人 变更前权利人:浪潮云信息技术股份公司 变更后权利人:重庆浪潮政务云管理运营有限公司 变更事项:地址 变更前权利人:250100 山东省济南市高新区浪潮路1036号浪潮科技园S01号楼 变更后权利人:400722 重庆市北碚区水土高新技术产业园云汉大道5号附398
专利申请权、专利权的转移
2020-08-25
专利权人的姓名或者名称、地址的变更 IPC(主分类):H04L29/08 变更前: 变更后: 申请日:20121121
专利权人的姓名或者名称、地址的变更
2018-08-24
专利权的转移 IPC(主分类):H04L29/08 登记生效日:20180806 变更前: 变更后: 申请日:20121121
专利申请权、专利权的转移
2016-09-28
授权
授权
2014-04-16
实质审查的生效 IPC(主分类):H04L29/08 申请日:20121121
实质审查的生效
2013-04-17
公开
公开
查看全部
技术领域
本发明涉及一种云存储技术领域,具体地说是一种基于Xen和Hadoop的云存储平台的构建方法。
背景技术
云存储是在云计算 (cloud computing)概念上延伸和发展出来的一个新的概念。它是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
云存储服务可以分为个人级应用和企业级应用,具体包括个人空间服务、数据备份、集中存储、远程共享、视频监控、IPTV等系统的集中存储,网站大容量在线存储等。
Xen是一个开放源代码虚拟机监视器。Xen可以在一套物理硬件上安全的执行多个虚拟机,它和操作平台结合的极为密切,占用的资源最少。
Hadoop是一个能够对大量数据进行分布式处理的软件框架;是一个能够让用户轻松架构和使用的分布式计算平台;用户可以轻松地在Hadoop上开发和运行处理海量数据的应用程序。具有高可靠性、高扩展性、高效性、高容错性的优点。
若能将Xen和Hadoop应用在云存储上,则可使得云存储具有更大更强更好的数据访问性能。
发明内容
本发明的技术任务是提供一种利用xen和hadoop使多台普通PC之间协同工作,对外提供同一种服务,并提供更大更强更好的数据访问性能的一种基于Xen和Hadoop的云存储平台的构建方法。
本发明的技术任务是按以下方式实现的,将PC机作为云存储平台的服务器端,每台pc机使用xen虚拟出1~10台虚拟机,在每台虚拟机上部署hadoop;云存储平台的客户端主机上安装hadoop;客户端主机的应用接口封装了hadoop对文件进行上传或下载或删除或重命名操作的相关命令;用户通过客户端主机的浏览器通过网络登陆云存储平台的服务器端来获得个人空间,进行文件的上传、下载、删除、重命名操作。
云存储平台的服务器端配置:3台pc机,pc机系统为centos5.5,网络设置成静态的;每台pc机使用xen虚拟出4个虚拟机,每个虚拟机安装系统为ubuntu8.04,分别命名为inspur0~inspur11;在虚拟机inspur0~inspur11上安装hadoop;在inspur0上安装apache2.2.8和php-5.2.4,把应用放到apache指定的路径下。
云存储平台的客户端配置:客户端主机如果是移动平台安装hadoop0.20.2;客户端主机如果是Windows平台除了安装hadoop0.20.2还应安装hadoop 补丁Hadoop-0.20.2-patched.zip。
安装hadoop用到的以下代码来实现:
//客户端文件名
$clientfilename=$_FILES["file"]["name"];
//客户端文件在服务器端的缓存
$srcfile=$_FILES["file"]["tmp_name"];
//获取本地缓存文件名
$cachefilename=basename($srcfile);
//存放到本地分布式文件系统
/*****************************************************************/
$cmd="/home/hadoop-0.20.2/bin/hadoop fs -put ".$srcfile." output";
exec($cmd);
//把缓存文件名修改成客户端文件名
$cmd="/home/hadoop-0.20.2/bin/hadoop fs -mv output/".$cachefilename."
output/".$clientfilename;
exec($cmd);
//显示上传的客户端文件
/*****************************************************************/
//读取分布式文件系统内容
exec("rm /var/www/output");
$cmd="/home/hadoop-0.20.2/bin/hadoop fs -ls /user/root/output/>>output";
exec($cmd);
$fp=file("output");//源文件
for($k = 0; $k< sizeof($fp); $k++)
{
$info=trim($fp[$k]);//逐行读写
if(substr_count($info,"/user/root/")>0)
{
$pos=strpos($info,"output")+7;
$file=substr($info,$pos);
$page="http://".$ip."/client-download-win.php?src="http://111.198.99.157:8080/XmlData/FM/20130417/201210478303.5/.$file;
?>
//点击文件进行下载
<td><a href=<?=$page?>><img src="./img/folder.jpg" width="50" height="50" alt="jfdskaf"><?=$file?></a></td>
<?
}
}
?>
</tr>
<tr>
<?
for($k = 0; $k< sizeof($fp); $k++)
{
$info=trim($fp[$k]);//逐行读写
if(substr_count($info,"/user/root/")>0)
{
$pos=strpos($info,"output")+7;
$file=substr($info,$pos);
//点击删除文件
?>
<td><a href="javascript:del('<?=$file?>')"><img src="./img/delete.jpg" width="20" height="20" alt="jfdskaf"></a></td>
<?
}
}
?>
</tr>
本发明的一种基于Xen和Hadoop的云存储平台的构建方法具有以下优点:利用xen和hadoop使多台普通PC之间协同工作,对外提供同一种服务,并提供更大更强更好的数据访问性能,因而,具有很好的推广使用价值。
附图说明
下面结合附图对本发明进一步说明。
附图1为一种基于Xen和Hadoop的云存储平台的构建方法的结构框图。
具体实施方式
参照说明书附图和具体实施例对本发明的一种基于Xen和Hadoop的云存储平台的构建方法作以下详细地说明。
实施例:
本发明的一种基于Xen和Hadoop的云存储平台的构建方法,将PC机作为云存储平台的服务器端,每台pc机使用xen虚拟出1~10台虚拟机,在每台虚拟机上部署hadoop;云存储平台的客户端主机上安装hadoop;客户端主机的应用接口封装了hadoop对文件进行上传或下载或删除或重命名操作的相关命令;用户通过客户端主机的浏览器通过网络登陆云存储平台的服务器端来获得个人空间,进行文件的上传、下载、删除、重命名操作。
云存储平台的服务器端配置:3台pc机,pc机系统为centos5.5,网络设置成静态的;每台pc机使用xen虚拟出4个虚拟机,每个虚拟机安装系统为ubuntu8.04,分别命名为inspur0~inspur11;在虚拟机inspur0~inspur11上安装hadoop;在inspur0上安装apache2.2.8和php-5.2.4,把应用放到apache指定的路径下。
云存储平台的客户端配置:客户端主机如果是移动平台安装hadoop0.20.2;客户端主机如果是Windows平台除了安装hadoop0.20.2还应安装hadoop 补丁Hadoop-0.20.2-patched.zip。
安装hadoop用到的以下代码来实现:
//客户端文件名
$clientfilename=$_FILES["file"]["name"];
//客户端文件在服务器端的缓存
$srcfile=$_FILES["file"]["tmp_name"];
//获取本地缓存文件名
$cachefilename=basename($srcfile);
//存放到本地分布式文件系统
/*****************************************************************/
$cmd="/home/hadoop-0.20.2/bin/hadoop fs -put ".$srcfile." output";
exec($cmd);
//把缓存文件名修改成客户端文件名
$cmd="/home/hadoop-0.20.2/bin/hadoop fs -mv output/".$cachefilename."
output/".$clientfilename;
exec($cmd);
//显示上传的客户端文件
/*****************************************************************/
//读取分布式文件系统内容
exec("rm /var/www/output");
$cmd="/home/hadoop-0.20.2/bin/hadoop fs -ls /user/root/output/>>output";
exec($cmd);
$fp=file("output");//源文件
for($k = 0; $k< sizeof($fp); $k++)
{
$info=trim($fp[$k]);//逐行读写
if(substr_count($info,"/user/root/")>0)
{
$pos=strpos($info,"output")+7;
$file=substr($info,$pos);
$page="http://".$ip."/client-download-win.php?src="http://111.198.99.157:8080/XmlData/FM/20130417/201210478303.5/.$file;
?>
//点击文件进行下载
<td><a href=<?=$page?>><img src="./img/folder.jpg" width="50" height="50" alt="jfdskaf"><?=$file?></a></td>
<?
}
}
?>
</tr>
<tr>
<?
for($k = 0; $k< sizeof($fp); $k++)
{
$info=trim($fp[$k]);//逐行读写
if(substr_count($info,"/user/root/")>0)
{
$pos=strpos($info,"output")+7;
$file=substr($info,$pos);
//点击删除文件
?>
<td><a href="javascript:del('<?=$file?>')"><img src="./img/delete.jpg" width="20" height="20" alt="jfdskaf"></a></td>
<?
}
}
?>
</tr>
本发明的一种基于Xen和Hadoop的云存储平台的构建方法,除说明书所述的技术特征外,均为本专业技术人员的已知技术。
机译: DB SCM一种基于协作的内容共享方法,该方法通过构建时尚项目内容DB和使用该方法的商业平台系统
机译: 一种基于字典类型的字典自动构建方法,其记录介质及基于字典类型的字典自动构建方法
机译: 基于图形机学习算法平台的组件发布方法,组件构建方法和图形机学习算法平台