本发明涉及存储软件领域。
背景技术:
随着不断增长的数据存储需求,企业更加迫切地需要保证他们的业务信息和记录被准确而有效地存档。通过worm技术存储的数据,将不会因各种意外丢失或被修改,这就满足了企业对一些重要的业务数据长期安全存储的需求。
worm:即一次写入多次读取(writeoncereadmany)技术,此功能特性可实现用户对目录设置宽限期和保护期,该目录下的文件进入保护期,防止文件中的数据被修改或删除。worm功能旨在保护存档数据。
在测试工作中,对worm属性是否生效进行判断时,需要对文件进行vim/rm/truncate/硬链接/cat/mv(到集群外)/软链接操作/共享编辑/剪切(到集群外操作/剪切(到集群内)操作/重命名/chmod/chown/setfacl等多种编辑操作,根据操作是否成功来判断worm保护是否生效。如果是手动对单一文件进行执行重复验证操作,不仅繁琐,而且各种操作之间存在互相影响的问题,再加上有保护时间的限制,很容易出错操作错误,而且对人力的要求很高。
技术实现要素:
本发明为解决上述的技术问题。为此,本发明提供一种判断一次写入多次读取有效性的方法,它具有能根据实际情况调节传输速率,降低功耗的优点。
为了实现上述目的,本发明采用如下技术方案。
本发明实施例提供一种判断一次写入多次读取有效性的方法,包含以下步骤:
批量产生非空文档;
在共享系统下对非空文档分别进行指定操作并产生结果;
对所述结果进行判断,确定一次写入多次读取是否生效。
优选的,在nfs(networkfilesystem,网络文件系统)共享下对非空文档分别进行第一指定操作并产生第一结果;对第一指定结果进行判断,确定一次写入多次读取是否生效。
优选的,在cifs(commoninternetfilesystem,通用网络文件系统)共享下对非空文档分别进行第二指定操作并产生第二结果;对第二指定结果进行判断,确定一次写入多次读取是否生效。
优选地,所述批量产生非空文档包含清理环境步骤。
本发明实施例的有益效果:采用批量产生文件,并且分别对每一个文件进行不同操作,最后对操作结果进行批量化判断的方法,不仅执行迅速准确,而且将大大减少人力的损耗,最终能够提高测试的效率。
附图说明
图1是实施例的工作流程图。
图2是实施例2的工作流程图。
图3是实施例3的工作流程图。
具体实施方式
下面结合附图与实施例对本发明作进一步说明。
实施例1。
如图1所示,本实施例提供一种判断一次写入多次读取有效性的方法,包含以下步骤:
批量产生非空文档;
在共享系统下对非空文档分别进行指定操作并产生结果;
对所述结果进行判断,确定一次写入多次读取是否生效。
本实施中指定操作是验证对非空文档worm属性是否生效进行的操作,具体包括对文件进行vim/rm/truncate/硬链接/cat/mv(到集群外)/软链接操作/共享编辑/剪切(到集群外操作/剪切(到集群内)操作/重命名/chmod/chown/setfacl等多种操作。
实施例2。
本实施例提供一种判断一次写入多次读取有效性的方法,包含以下步骤:
批量产生非空文档;
本实施例具体是在nfs(networkfilesystem,网络文件系统)共享下对非空文档分别进行第一指定操作并产生第一结果;
对所述结果进行判断,确定一次写入多次读取是否生效。
实施例3。
本实施例提供一种判断一次写入多次读取有效性的方法,包含以下步骤:
批量产生非空文档;
本实施例具体是在cifs(commoninternetfilesystem,通用网络文件系统)共享下对非空文档分别进行第一指定操作并产生第一结果;
对所述结果进行判断,确定一次写入多次读取是否生效。
实施例4。
本实施例提供一种判断一次写入多次读取有效性的方法,包含以下步骤:
批量产生非空文档;
本实施例具体是在nfs(networkfilesystem,网络文件系统)共享下对非空文档分别进行第一指定操作并产生第一结果;
在cifs(commoninternetfilesystem,通用网络文件系统)共享下对非空文档分别进行第二指定操作并产生第二结果;
对第一指定结果进行判断,确定一次写入多次读取是否生效。
及第二指定结果进行判断,确定一次写入多次读取是否生效。
实施例5。
本实施例提供一种判断一次写入多次读取有效性的方法,包含以下步骤:
批量产生非空文档;本实施例批量产生非空文档步骤包含清理环境步骤。
本实施例具体是在nfs(networkfilesystem,网络文件系统)共享下对非空文档分别进行第一指定操作并产生第一结果;
在cifs(commoninternetfilesystem,通用网络文件系统)共享下对非空文档分别进行第二指定操作并产生第二结果;
对第一指定结果进行判断,确定一次写入多次读取是否生效。
及第二指定结果进行判断,确定一次写入多次读取是否生效。
本实施例脚本内容如下:
#!/bin/bash
#function:对worm属性的有效性进行自动化判断的方法
set-x
dir=`dirname$0`
#批量产生非空文档的函数
functionmkfile()
{
#清理环境
rm-rf$1/$5/*
#批量产生非空文件
foriin`seq12`
do
touch$1/$5/$i
echo"123abc">$1/$5/$i
done
#清理环境
rm-rf$3/$5/*
#批量产生非空文件
foriin`seq5`
do
touch$3/$5/$i
echo"123abc">$3/$5/$i
done
}
#nfs共享下对文件分别进行不同的操作并产生结果
functiondo_nfs_worm()
{
#进入操作文件目录
cd$1/$2
#在文件1中写入内容
echo"sssss">1
a1=$?
#删除文件2
rm2
a2=$?
#对文件进行剪切操作
truncate-s03
a3=$?
#建立文件4硬链接
ln44h
a4=$?
#查看文件5
cat5
a5=$?
expect_ignore"rm/home/6"
#移动文件6
mv6/home
a6=$?
expect_ignore"rm7s"
#建立文件7的软链接
ln-s77s
a7=$?
#对文件8进行重命名
mv8a
a8=$?
#对文件9更改所有者
chowninspur01:inspur19
a9=$?
#修改文件10的权限
chmod77710
a10=$?
#修改文件11特定用户的权限
setfacl-mu:inspur01:r-x11
a11=$?
#删除文件12
expect_ignore"rm$fuse_point/12"
mv12$fuse_point
a12=$?
}
#cifs共享下对文件分别进行不同的操作并产生结果
functiondo_cifs_worm()
{
cd$1/$2
#cifs下对文件进行操作
#修改文件1的内容
echo"sssss">1
b1=$?
#删除文件2
rm2
b2=$?
#查看文件3
cat3
b3=$?
expect_ignore"rm/home/4"
#移动文件4
mv4/home
b4=$?
expect_ignore"rm$fuse_point/5"
#移动文件5
mv5$fuse_point
b5=$?
}
#根据路径,调用批量产生文件函数,生成非空文件
mkfile$nfs_mount_path$nfsshare_path$cifs_mount_path$cifsshare_path$dir_path
#调用批量操作函数对nfs共享下的文件进行自动化的操作并产生结果
do_nfs_worm$nfs_mount_path$dir_path
#调用批量操作函数对cifs共享下的文件进行自动化的操作并产生结果
do_cifs_worm$cifs_mount_path$dir_path
#对上述操作的结果进行判断,最终反馈worm保护属性是否生效
if[$a1-eq0-a$a2-eq0-a$a3-eq0-a$a4-ne0-a$a5-eq0-a$a6-eq0-a$a7-eq0-a$a8-eq0-a$a9-eq0-a$a10-eq0-a$a11-eq0-a$b1-eq0-a$b2-eq0-a$b3-eq0-a$b4-eq0-a$b5-eq0];then
echo"wormprotectright"
else
echo"wormprotectwrong"
exit1
fi
sleep10
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。