CN104850584A - 一种应用于海量数据存储系统元数据测试的测试工具及方法 - Google Patents
一种应用于海量数据存储系统元数据测试的测试工具及方法 Download PDFInfo
- Publication number
- CN104850584A CN104850584A CN201510184530.0A CN201510184530A CN104850584A CN 104850584 A CN104850584 A CN 104850584A CN 201510184530 A CN201510184530 A CN 201510184530A CN 104850584 A CN104850584 A CN 104850584A
- Authority
- CN
- China
- Prior art keywords
- file
- catalogue
- storage system
- test
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种应用于海量数据存储系统元数据测试的测试工具及方法,测试工具包括目录创建/删除模块、文件创建/删除模块、目录和文件读取模块、目录和文件更新模块、文件截取模块、多文件合并模块,模拟模块。本发明的工具,包括对目录和文件的创建和删除性能测试、稳定性测试、文件截断和合并测试,一个工具即可完成对上述测试项的测试,并且使用简单,只需输入较少的命令即可,自动收集测试结果,形成文件。
Description
技术领域
本发明涉及应用于海量数据(大数据)存储系统元数据测试的测试工具及方法,属于海量数据存储系统测试方法领域。
背景技术
近年、随着计算机技术和互联网的不断发展,企业信息量的不断增加,导致海量信息的传输和存储的场景日益增多,在这种背景下,数据存储技术也得到了迅速的发展,促使了海量数据存储系统的大量出现,所以就需要对此类系统进行有针对性的测试,特别是针对海量数据存储系统元数据的测试尤为重要。
发明内容
本发明专门针对海量数据存储系统或软件,提出一种应用于海量数据存储系统元数据的测试工具及方法,解决对海量存储系统目录和文件不同深度和不同宽度的创建与删除、文件写入与读取、文件更新以及文件截断和合并等方面的测试,并且使测试变得简单且精确。
一种应用于海量数据存储系统元数据测试的测试工具,包括目录创建/删除模块、文件创建/删除模块、目录和文件读取模块、目录和文件更新模块、文件截取模块、多文件合并模块,模拟模块。
目录创建/删除模块用于在存储系统中创建和删除目录,并可控制目录的宽度和深度;文件创建/删除模块用于在存储系统某个目录中创建和删除文件,可控制每个文件的大小以及总大小,并可与目录创建/删除模块一起使用达到目录和文件一起创建和删除的效果;目录和文件读取模块用于在对目录和文件和遍历读取,并可指定所读文件的偏移量;目录和文件更新模块用于对已经有的目录和文件进行更新;文件截取模块用于对已存文件的截取,把文件分割成若干个文件;多文件合并模块用于把已存的多个文件合并成一个新文件;模拟模块用于模拟多用户同时对存储系统进行并发操作。
一种应用于海量数据存储系统元数据的测试方法,包括以下几个方面:
(1)对海量数据存储系统进行目录和文件创建与删除测试,包括两个方面:
1)在存储系统中创建目录和文件,并控制目录的宽度和深度以及每个目录下的文件个数和大小,完成对存储系统的目录宽度和深度的极限测试,并自动生成测试结果,报告宽度和深度以及此条件下的创建效率;
2)对所创建的目录和文件进行删除,自动生成删除性能报告;
(2)对海量数据存储系统进行文件读取测试,包括两方面;
1)对指定目录下每个目录下文件进行遍历读取,完成生成读取性能报告输出到指定的中文件中;
2)对指定目录下每个目录下文件进行偏移读取,指定一定的偏移量,完成后读取性能结果输出到指定的中文件中;
(3)对海量数据存储系统进行目录和文件的更新测试;
对存储系统中的目录名和文件名按固定的规则(原目录或文件名+10位随机数字或字母)进行修改操作,并可对目录下文件内容按指定的偏移量进行增加或减少指定的字节数;完成后再进行读取,读取成功或失败结果输出到指定的文件中;
(4)对海量数据存储系统进行文件的截取测试;
对存储系统中某个文件进行截断操作,把一个文件截成多个文件并对每个文件进行读取操作并与原文件进行对比,内容一致则截断成功,否则失败,成功后把原文件删除,只留新截取的文件,并把测试结果输出到指定的文件中;
(5)对海量数据存储系统进行文件合并测试;
把存储系统中多个文件合并成一个新文件,并把新文件内容与各个原文件进行对比,内容一致则合并成功,否则失败,成功后把原文件删除,只留新合并的文件,并把测试结果输出到指定的文件中;
(6)多进程下的目录文件创建和删除测试;
模拟多用户同时对存储系统进行(1)、(2)操作内容,对存储系统进行多进程下的性能测试,测试完成后自动把读写结果输出到指定的文件中;
(7)对海量数据存储系统稳定性测试;
根据存储系统系统的空间大小设置写入目录宽度和深度以及每个目录下数据文件个数与大小,重复对存储系统进行长时间的写入和删除,以测试存储系统的稳定性,每一次写入或 删除的性能结果输出到指定的文件中,得到写入和删除的性能变化曲线。
本发明的优点在于:
(1)本发明的工具,包括对目录和文件的创建和删除性能测试、稳定性测试、文件截断和合并测试,一个工具即可完成对上述测试项的测试,并且使用简单,只需输入较少的命令即可,自动收集测试结果,形成文件;
(2)本发明的工具,具有很强的实用性,具有很广泛的应用前景。
附图说明
图1是本发明的工具示意图;
图2是本发明应用实例示意图;
图中:
1-目录创建/删除模块 2-文件创建/删除模块 3-目录和文件读取模块
4-目录和文件更新模块 5-模拟模块 6-文件截取模块
7-多文件合并模块
具体实施方式
下面将结合附图和实施例对本发明作进一步的详细说明。
本发明是一种应用于海量数据存储系统的测试工具,如图1所示,包括目录创建/删除模块1、文件创建/删除模块2、目录和文件读取模块3、目录和文件更新模块4、模拟模块5、文件截取模块6、多文件合并模块7。
其中目录和文件更新模块4、模拟模块5、文件截取模块6、多文件合并模块7都是本发明新创新的测试技术和测试思路。
通过目录创建/删除模块1可以向存储系统中进行目录的创建和删除;
通过文件创建/删除模块2可以向存储系统中进行数据文件的创建和删除;
通过目录和文件读取模块3可以对写入存储系统的数据进行全部读取和偏移读取操作;
通过目录和文件更新模块4可以对存储系统中的目录和文件进行更新;
通过模拟模块5可以模拟多用户同时对存储系统进行读写删操作;
通过文件截取模块6可以对存储系统中的大文件截断成多个小文件;
通过多文件合并模块7可以对存储系统中的多个小文件合并成一个大文件。
本发明提供了一种测试工具与测试方法,支持对海量数据存储系统和类似软件的的测试,可以使对此类系统和软件的测试变得简单且准确。
本发明的工具与方法,实现的功能为:
1、对海量数据存储系统目录的创建和删除测试;
2、对海量数据存储系统文件的创建和删除测试;
3、对海量数据存储系统目录和文件进行读取测试;
4、对海量数据存储系统目录和文件进行更新测试;
5、对海量数据存储系统进行多进程并发读写删能力测试;
6、对海量数据存储系统中大文件进行截断操作测试;
7、对海量数据存储系统中小文件进行合并操作测试;
8、测试结束后自动显示测试结果;
9、存储系统的稳定性测试;
10、支持的操作系统为linux、unix。
实施例:
本发明测试工具的测试方法(字母区分大小写):
测试工具的运行命令为:stortest[-b][-c][-C][-d][-D][-F][-i][-I][-m][-O][-p][-r][-R][-U][u][-s][-t][-T][-w][-z]
-b:目录树的分支参数;
-c:只创建文件或目录,不作删除;
-C:把指定文件截断成多个文件(以字节为单位);
-d:指出测试运行的目录(若不指定,则默认当前目录),目录后可带文件名;
-D:只对目录操作进行测试(不包括文件);
-F:只创建文件,没有目录;
-i:测试迭代循环次数,第一级目录数量;
-I:每个目录下包含的文件数量;
-m:指定目录下文件合并;
-O:结果输出到指定目录文件;
-p:每次迭代之间延时(以秒为单位);
-r:删除文件/目录;
-R:随机遍历文件/目录;
-U:为每个任务指定工作目录;
-u:更新文件/目录;
-s:偏移量(以字节为单位);
-t:记录操作的时间;
-T:并发线程数量;
-w:每个文件的字节数;
-z:目录树的深度;
应用举例:
如图2所示,在这个例子中目录树的深度为2(z=2,),每个节点的分支为3(b=3),每个目录下数据文件数为5(I=5),每个文件大小为10Mb(w=10485760),生成3棵同样的目录树,迭代循环数为3(i=3),测试结果输入到指定的文件中。
可以用如下命令来实现上述例子:
stortest-z 2-b 3-I 5-c-i 3–w 10485760–O/mnt/sde/test.log 。
Claims (3)
1.一种应用于海量数据存储系统元数据测试的测试工具,包括目录创建/删除模块、文件创建/删除模块、目录和文件读取模块、目录和文件更新模块、文件截取模块、多文件合并模块,模拟模块;
目录创建/删除模块用于在存储系统中创建和删除目录,控制目录的宽度和深度;文件创建/删除模块用于在存储系统某个目录中创建和删除文件,控制每个文件的大小以及总大小,通过目录创建/删除模块与文件创建/删除模块,能够使目录和文件一起创建和删除;目录和文件读取模块用于在对目录和文件和遍历读取,指定所读文件的偏移量;目录和文件更新模块用于对已经有的目录和文件进行更新;文件截取模块用于对已存文件的截取,把文件分割成若干个文件;多文件合并模块用于把已存的多个文件合并成一个新文件;模拟模块用于模拟多用户同时对存储系统进行并发操作。
2.一种应用于海量数据存储系统元数据的测试方法,具体为:
(1)对海量数据存储系统进行目录和文件创建与删除测试,包括两个方面:
1)在存储系统中创建目录和文件,并控制目录的宽度和深度以及每个目录下的文件个数和大小,完成对存储系统的目录宽度和深度的极限测试,并自动生成测试结果,报告宽度和深度以及此条件下的创建效率;
2)对所创建的目录和文件进行删除,自动生成删除性能报告;
(2)对海量数据存储系统进行文件读取测试,包括两方面;
1)对指定目录下每个目录下文件进行遍历读取,完成生成读取性能报告输出到指定的中文件中;
2)对指定目录下每个目录下文件进行偏移读取,指定偏移量,完成后读取性能结果输出到指定的中文件中;
(3)对海量数据存储系统进行目录和文件的更新测试;
对存储系统中的目录名和文件名按固定的规则进行修改操作,对目录下文件内容按指定的偏移量进行增加或减少指定的字节数;完成后再进行读取,读取成功或失败结果输出到指定的文件中;
(4)对海量数据存储系统进行文件的截取测试;
对存储系统中某个文件进行截断操作,把一个文件截成多个文件并对每个文件进行读取操作并与原文件进行对比,内容一致则截断成功,否则失败,成功后把原文件删除,只留新截取的文件,并把测试结果输出到指定的文件中;
(5)对海量数据存储系统进行文件合并测试;
把存储系统中多个文件合并成一个新文件,并把新文件内容与各个原文件进行对比,内容一致则合并成功,否则失败,成功后把原文件删除,只留新合并的文件,并把测试结果输出到指定的文件中;
(6)多进程下的目录文件创建和删除测试;
模拟多用户同时对存储系统进行(1)、(2)操作内容,对存储系统进行多进程下的性能测试,测试完成后自动把读写结果输出到指定的文件中;
(7)对海量数据存储系统稳定性测试;
根据存储系统系统的空间大小设置写入目录宽度和深度以及每个目录下数据文件个数与大小,重复对存储系统进行长时间的写入和删除,以测试存储系统的稳定性,每一次写入或删除的性能结果输出到指定的文件中,得到写入和删除的性能变化曲线。
3.根据权利要求1所述的一种应用于海量数据存储系统元数据的测试方法,步骤(3)中所述的固定的规则是指原目录或文件名+10位随机数字或字母。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510184530.0A CN104850584B (zh) | 2015-04-17 | 2015-04-17 | 一种应用于海量数据存储系统元数据测试的测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510184530.0A CN104850584B (zh) | 2015-04-17 | 2015-04-17 | 一种应用于海量数据存储系统元数据测试的测试系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104850584A true CN104850584A (zh) | 2015-08-19 |
CN104850584B CN104850584B (zh) | 2018-10-30 |
Family
ID=53850229
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510184530.0A Active CN104850584B (zh) | 2015-04-17 | 2015-04-17 | 一种应用于海量数据存储系统元数据测试的测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104850584B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844184A (zh) * | 2017-02-20 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种分布式系统元数据性能测试方法、脚本及工具 |
CN106960055A (zh) * | 2017-04-01 | 2017-07-18 | 广东浪潮大数据研究有限公司 | 一种文件删除方法及装置 |
CN109643271A (zh) * | 2017-06-13 | 2019-04-16 | 微软技术许可有限责任公司 | 识别不稳定测试 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117272A (zh) * | 2009-12-30 | 2011-07-06 | 中兴通讯股份有限公司 | 一种嵌入式文件系统稳定性的验证方法及装置 |
-
2015
- 2015-04-17 CN CN201510184530.0A patent/CN104850584B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102117272A (zh) * | 2009-12-30 | 2011-07-06 | 中兴通讯股份有限公司 | 一种嵌入式文件系统稳定性的验证方法及装置 |
Non-Patent Citations (4)
Title |
---|
MARK FEWETER,DOROTHY GRAHAM: "《软件测试自动化技术与实例详解》", 31 January 2000, 电子工业出版社 * |
SKDKJXY: "ceph存储 ceph集群测试工具mdtest", 《HTTP://BLOG.CSDN.NET/SKDKJZZ/ARTICLE/DETAILS/41985431》 * |
张璐,杨东芳: "数据库中小文件的实时存储与优化", 《河南科技》 * |
柳纯录: "《软件评测师教程》", 31 March 2005, 清华大学出版社 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106844184A (zh) * | 2017-02-20 | 2017-06-13 | 郑州云海信息技术有限公司 | 一种分布式系统元数据性能测试方法、脚本及工具 |
CN106960055A (zh) * | 2017-04-01 | 2017-07-18 | 广东浪潮大数据研究有限公司 | 一种文件删除方法及装置 |
CN106960055B (zh) * | 2017-04-01 | 2020-08-04 | 广东浪潮大数据研究有限公司 | 一种文件删除方法及装置 |
CN109643271A (zh) * | 2017-06-13 | 2019-04-16 | 微软技术许可有限责任公司 | 识别不稳定测试 |
CN109643271B (zh) * | 2017-06-13 | 2022-02-18 | 微软技术许可有限责任公司 | 识别不稳定测试 |
US11586534B2 (en) | 2017-06-13 | 2023-02-21 | Microsoft Technology Licensing, Llc | Identifying flaky tests |
Also Published As
Publication number | Publication date |
---|---|
CN104850584B (zh) | 2018-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11657210B2 (en) | Cached database and synchronization system for providing dynamic linked panels in user interface | |
JP7158482B2 (ja) | クライアント同期における違反の解決のための方法、コンピュータ可読媒体、及びシステム | |
CN105224237B (zh) | 一种数据存储方法及装置 | |
KR102579190B1 (ko) | 일관된 데이터베이스 스냅샷들을 이용한 분산 데이터베이스에서의 백업 및 복원 | |
CN110799960B (zh) | 数据库租户迁移的系统和方法 | |
US9483516B2 (en) | Multi-version concurrency control across row store and column store | |
US20150254256A1 (en) | System and method for virtual machine conversion | |
US8166449B2 (en) | Live bidirectional synchronizing of a visual and a textual representation | |
CN104714859A (zh) | 一种海量文件的快速备份与恢复的方法 | |
CN105718507A (zh) | 一种数据迁移方法和装置 | |
US20200142858A1 (en) | Archiving data sets in a volume in a primary storage in a volume image copy of the volume in a secondary storage | |
US20200364100A1 (en) | Memory abstraction for lock-free inter-process communication | |
US9298733B1 (en) | Storing files in a parallel computing system based on user or application specification | |
CN104850584A (zh) | 一种应用于海量数据存储系统元数据测试的测试工具及方法 | |
Agarwal et al. | Snapshots in hadoop distributed file system | |
US11663177B2 (en) | Systems and methods for extracting data in column-based not only structured query language (NoSQL) databases | |
CN103365926A (zh) | 在文件系统中用于保存快照的方法和装置 | |
US9286339B2 (en) | Dynamic partitioning of a data structure | |
CN106293535B (zh) | 一种nas的性能优化方法及装置 | |
US8965940B2 (en) | Imitation of file embedding in a document | |
Dong et al. | Sardinedb: A distributed database on the edge of the network | |
WO2017095703A1 (en) | Incremental synchronous hierarchical system restoration | |
CN114115952A (zh) | 一种低代码应用打包后自动升级的方法及装置 | |
Kimak et al. | Performance testing and comparison of client side databases versus server side | |
CN108829835A (zh) | 一种新型高速缓存文件系统架构 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
EXSB | Decision made by sipo to initiate substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |