CN111221687A - 一种云存储测试系统和方法 - Google Patents

一种云存储测试系统和方法 Download PDF

Info

Publication number
CN111221687A
CN111221687A CN201811428787.6A CN201811428787A CN111221687A CN 111221687 A CN111221687 A CN 111221687A CN 201811428787 A CN201811428787 A CN 201811428787A CN 111221687 A CN111221687 A CN 111221687A
Authority
CN
China
Prior art keywords
cloud storage
docker container
storage platform
docker
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
Application number
CN201811428787.6A
Other languages
English (en)
Other versions
CN111221687B (zh
Inventor
曹琛
朱曼
刘高源
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision System Technology Co Ltd
Original Assignee
Hangzhou Hikvision System Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision System Technology Co Ltd filed Critical Hangzhou Hikvision System Technology Co Ltd
Priority to CN201811428787.6A priority Critical patent/CN111221687B/zh
Publication of CN111221687A publication Critical patent/CN111221687A/zh
Application granted granted Critical
Publication of CN111221687B publication Critical patent/CN111221687B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2247Verification or detection of system hardware configuration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2273Test methods

Abstract

本发明公开了一种云存储测试系统和方法,包括:利用存储设备模拟模块模拟真实存储设备与云存储平台进行通信;利用监控模块获取云存储平台的运行数据和存储设备模拟模块的运行数据;利用显示模块显示云存储平台的运行数据和存储设备模拟模块的运行数据。本发明的云存储测试系统和方法,利用存储设备模拟模块可针对大量存储设备的场景下的云存储系统的基础管理层进行辅助测试,可以快速的构造大量存储设备的测试场景,采用虚拟设备的方式,解决了现有测试中需要设备多、测试耗时多、周期长等问题。

Description

一种云存储测试系统和方法
技术领域
本发明涉及云存储领域,特别涉及一种云存储测试系统和方法。
背景技术
云存储是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一种系统,它以数据存储和管理为核心,云存储系统中需要配置大量的存储设备。
云存储系统的结构模型可以划分为三层:基础管理层、存储层和应用接口层。
基础管理层是云存储系统的最核心部分,用于实现云存储中各个存储设备之间的协同工作,使多个存储设备可以对外提供同一种服务,并提供更大更强更好的数据访问性能。
存储层是云存储系统的最基础的部分,根据用户对系统规模的需求,存储层由数量不等的存储设备通过网络连接在一起组成。
通过增加存储层的存储设备,可以实现存储的规模效应和弹性扩展,但是随着存储设备的增加,基础管理层所承受的压力也会随之增加。云存储测试过程中,部分测试场景需要大量真实存储设备来测试基础管理层所能管理的存储设备数量、测试基础管理层对存储设备的批量控制能力等。由于大量真实存储设备的增加,造成了测试成本高的问题。
发明内容
有鉴于此,本发明提供一种针对测试大量存储设备的场景下的云存储测试系统和方法,通过虚拟设备的方式,快速的构造测试场景需求,解决现有测试中需要大量真实存储设备,测试成本高的问题。
本发明的技术方案是这样实现的:
一种云存储测试系统,包括:
存储设备模拟模块,所述存储设备模拟模块用于模拟真实存储设备与云存储平台进行通信;
监控模块,所述监控模块用于获取所述云存储平台的运行数据和所述存储设备模拟模块的运行数据;以及,
显示模块,所述显示模块用于显示所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
进一步,所述存储设备模拟模块包括设置模块、管理模块和Docker容器;其中,
所述设置模块用于设置云存储测试参数;
所述管理模块用于根据所述云存储测试参数启动并配置所述Docker容器;
所述Docker容器为至少一个,至少一个Docker容器分别模拟至少一个真实存储设备,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信。
进一步,所述存储设备模拟模块与所述云存储平台中的基础管理层进行通信。
进一步,所述云存储测试系统还包括:
日志模块,用于记录所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
进一步,所述Docker容器中内置有真实存储设备模拟单元,所述真实存储设备模拟单元用于以所述真实存储设备的身份产生所述Docker容器与所述云存储平台进行通信所需的数据。
进一步,所述Docker容器运行于测试服务器中;其中
所述测试服务器为至少一台,每台测试服务器运行至少一个所述Docker容器。
进一步,不同的所述Docker容器之间的IP地址不同。
进一步,所述云存储测试参数包括:
所述Docker容器的数量、每个所述Docker容器的标识、所述Docker容器向所述云存储平台上报的数据索引信息频率。
进一步,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信,包括:
所述Docker容器在启动后,根据所述管理模块的配置,生成所模拟的真实存储设备的序列号和所模拟的真实存储设备的设备信息;
所述Docker容器向所述云存储平台的IP地址发送登陆请求;
所述Docker容器获取所述云存储平台的回复信息,保持与所述云存储平台的心跳连接,定期向所述云存储平台发送所模拟的真实存储设备的设备状态信息;
所述Docker容器请求与所述云存储平台建立Session连接,按照所述管理模块的配置中所指定的频率向所述云存储平台上报数据索引信息;
所述Docker容器监听与所述云存储平台的通信接口,当收到所述云存储平台发送来的配置请求后,返回配置信息给所述云存储平台。
进一步,所述监控模块获取的所述存储设备模拟模块的运行数据包括:
所述Docker容器运行是否正常;
所述Docker容器登陆所述云存储平台是否成功;
所述Docker容器与所述云存储平台的心跳连接是否正常,所述Docker容器向所述云存储平台的设备状态数据上报是否成功;
所述Docker容器与所述云存储平台的Session连接是否正常,数据索引信息上报是否成功,是否超时。
进一步,所述监控模块获取的所述云存储平台的运行数据包括:
所述基础管理层的系统资源消耗数据;
所述基础管理层中记录的各个Docker容器的运行状态数据;
所述基础管理层中的数据库的工作运行状态数据。
一种云存储测试方法,包括:
利用模拟真实存储设备与云存储平台进行通信;
获取所述云存储平台的运行数据和所述存储设备模拟模块的运行数据;
显示所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
进一步,所述存储设备模拟模块包括设置模块、管理模块和Docker容器;其中,
所述设置模块用于设置云存储测试参数;
所述管理模块用于根据所述云存储测试参数启动并配置所述Docker容器;
所述Docker容器为至少一个,至少一个Docker容器分别模拟至少一个真实存储设备,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信。
进一步,利用模拟真实存储设备与云存储平台进行通信,包括:
利用所述存储设备模拟模块与所述云存储平台中的基础管理层进行通信。
进一步,所述方法还包括:
记录所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
进一步,所述Docker容器运行于测试服务器中;其中
所述测试服务器为至少一台,每台测试服务器运行至少一个所述Docker容器。
进一步,不同的所述Docker容器之间的IP地址不同。
进一步,所述云存储测试参数包括:
所述Docker容器的数量、每个所述Docker容器的标识、所述Docker容器向所述云存储平台上报的数据索引信息频率。
进一步,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信,包括:
所述Docker容器在启动后,根据所述管理模块的配置,生成所模拟的真实存储设备的序列号和所模拟的真实存储设备的设备信息;
所述Docker容器向所述云存储平台的IP地址发送登陆请求;
所述Docker容器获取所述云存储平台的回复信息,保持与所述云存储平台的心跳连接,定期向所述云存储平台发送所模拟的真实存储设备的设备状态信息;
所述Docker容器请求与所述云存储平台建立Session连接,按照所述管理模块的配置中所指定的频率向所述云存储平台上报数据索引信息;
所述Docker容器监听与所述云存储平台的通信接口,当收到所述云存储平台发送来的配置请求后,返回配置信息给所述云存储平台。
进一步,获取的所述存储设备模拟模块的运行数据,包括:
所述Docker容器运行是否正常;
所述Docker容器登陆所述云存储平台是否成功;
所述Docker容器与所述云存储平台的心跳连接是否正常,所述Docker容器向所述云存储平台的设备状态数据上报是否成功;
所述Docker容器与所述云存储平台的Session连接是否正常,数据索引信息上报是否成功,是否超时。
进一步,获取的所述云存储平台的运行数据,包括:
所述基础管理层的系统资源消耗数据;
所述基础管理层中记录的各个Docker容器的运行状态数据;
所述基础管理层中的数据库的工作运行状态数据。
从上述方案可以看出,本发明的云存储测试系统和方法,利用存储设备模拟模块针对大量存储设备的场景下的云存储系统的基础管理层进行辅助测试,可以快速的构造大量存储设备的测试场景,采用虚拟设备的方式,解决了现有测试中需要设备多、测试耗时多、周期长等问题。本发明中的存储设备模拟模块采用Docker容器的方式,可通过增加Docker容器的数量而快速提升可模拟的真实存储设备的数量。另外,本发明通过Socket技术实现Docker容器与云存储系统的基础管理层之间的协议交互从而实现了基础管理层和真实存储设备之间的信息交互的模拟,并且便于统一配置管理,高效快捷。本发明通过Docker容器的真实IP地址与基础管理层进行交互,完美的模拟了真实存储设备。本发明的云存储测试系统和方法,可以很好的模拟云存储系统的基础管理层加大量存储设备的真实场景,可以有效地辅助云存储的各类测试,满足测试场景需求,减少了设备和人力投入,提高了测试效率。
附图说明
图1为本发明实施例的云存储测试系统结构示意图;
图2为本发明实施例的云存储测试方法流程示意图;
图3为本发明实施例的云存储测试系统的一个具体实施例结构示意图;
图4为图3所示实施例的云存储测试系统的运行步骤流程图;
图5为本发明实施例中的云存储模拟模块的运行流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明作进一步详细说明。
如图1所示,本发明实施例提供的云存储测试系统1,包括存储设备模拟模块11、监控模块12、显示模块13和日志模块14。其中,存储设备模拟模块11用于模拟真实存储设备与云存储平台2进行通信。监控模块12用于获取云存储平台2的运行数据和存储设备模拟模块11的运行数据。显示模块13用于显示云存储平台2的运行数据和存储设备模拟模块11的运行数据日志模块14用于记录云存储平台2的运行数据和存储设备模拟模块11的运行数据。
本发明实施例中,存储设备模拟模块11包括设置模块111、管理模块112和Docker容器113。其中,设置模块111用于设置云存储测试参数。管理模块112用于根据云存储测试参数启动并配置Docker容器113。Docker容器113的数量为至少一个,至少一个Docker容器113分别模拟至少一个真实存储设备,Docker容器113根据管理模块112的配置与云存储平台2进行通信。
本发明实施例中,存储设备模拟模块11与云存储平台2中的基础管理层21进行通信。更具体地,存储设备模拟模块11中的Docker容器113与云存储平台2中的基础管理层21进行通信。
本发明实施例中,存储设备模拟模块11通过其中的Docker容器113模拟云存储中的真实存储设备来与云存储平台2中的基础管理层21进行相应的操作动作,以实现对基础管理层2的测试。每个Docker容器113中均内置有真实存储设备模拟单元。真实存储设备模拟单元用于以真实存储设备的身份产生Docker容器113与云存储平台2进行通信所需的数据。例如,真实存储设备模拟单元可按照云存储协议封装TCP/IP报文,使得Docker容器113以真实存储设备身份与基础管理层2进行数据交互。其中,真实存储设备模拟单元可通过软件编程手段实现,如通过软件编程实现的真实存储设备模拟程序作为真实存储设备模拟单元,真实存储设备模拟程序按照云存储协议,封装TCP/IP报文,模拟真实的存储设备与基础管理层2之间的协议交互,可通过Socket(套接字)技术实现。
在一个具体实施例中,Docker容器113运行于测试服务器中。其中,测试服务器为真实的服务器设备,测试服务器的数量为至少一台,每台测试服务器中运行至少一个Docker容器113。不同的Docker容器113之间的IP地址不同。
其中,容器是指轻量级的操作系统级虚拟化,可以在一个资源隔离的进程中运行应用及其依赖项。Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。Docker容器是一种开源的应用容器引擎,能够让开发者打包应用到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。Docker容器完全使用沙箱机制,相互之间不会有任何接口。几乎没有性能开销,可以很容易地在机器和数据中心中运行。Docker容器不依赖于任何语言、框架包括系统。Docker容器内可以捆绑应用程序组件,使得Docker容器可以在不同平台和云计算之间实现便携性。本发明实施例中,由Docker容器和其中运行的真实存储设备模拟程序(即真实存储设备模拟单元)便可实现对真实存储设备的模拟。利用Docker容器的特性,每个真实存储设备模拟程序运行在单独的Docker容器中,能够解决单纯软件模拟时存在的源IP地址重复、模拟设备相互干扰等问题,并且,真实存储设备模拟程序运行所消耗的系统资源更少,一台常规的服务器可以运行上百个Docker容器,这样仅通过少量真实服务器硬件设备(用于运行多个Docker容器)即可实现大量的真实存储设备的模拟。
在一个具体实施例中,云存储测试参数可包括Docker容器113的数量、每个Docker容器113的标识、Docker容器113向云存储平台2上报的数据索引信息频率等。
在一个具体实施例中,Docker容器113根据管理模块112的配置与云存储平台2进行通信具体包括Docker容器113在启动后执行的以下内容:
Docker容器113根据管理模块112的配置,生成所模拟的真实存储设备的序列号和所模拟的真实存储设备的设备信息;
Docker容器113向云存储平台2的IP地址(优选地,基础管理层21的IP地址)发送登陆请求,以请求登陆云存储平台2;
Docker容器113获取云存储平台2的回复信息,保持与云存储平台2的心跳连接,定期向云存储平台2发送所模拟的真实存储设备的设备状态信息;
Docker容器113请求与云存储平台2建立Session连接,按照管理模块112的配置所指定的频率向云存储平台2上报数据索引信息;
Docker容器113监听与云存储平台2的通信接口,当收到云存储平台2发送来的配置请求后,返回配置信息给云存储平台2。
在一个具体实施例中,监控模块12获取的存储设备模拟模块11的运行数据包括:
Docker容器113运行是否正常;
Docker容器113登陆云存储平台2是否成功;
Docker容器113与云存储平台2的心跳连接是否正常,Docker容器113向云存储平台2的设备状态数据上报是否成功;
Docker容器113与云存储平台2的Session连接是否正常,Docker容器113向云存储平台2的数据索引信息上报是否成功,Docker容器113向云存储平台2的数据索引信息上报是否超时等。
在一个具体实施例中,监控模块12获取的云存储平台2的运行状况包括:
基础管理层21的系统资源消耗;
基础管理层21中记录的各个Docker容器113的运行状态数据;
基础管理层21中的数据库的工作运行状态数据。
另外,在一个可选实施例中,基础管理层21中也可记录基础管理层21所管理的真实存储设备的运行状态数据。监控模块12在获取基础管理层21的运行状况时,也可以同时获取基础管理层21所管理的真实存储设备的运行状态数据。
本发明实施例还提供了一种云存储测试方法,如图2所示,该方法包括:
步骤1、利用模拟真实存储设备与云存储平台进行通信;
步骤2、获取云存储平台的运行数据和存储设备模拟模块的运行数据;
步骤3、显示云存储平台的运行数据和存储设备模拟模块的运行数据。
本发明实施例的云存储测试方法中,存储设备模拟模块包括设置模块、管理模块和Docker容器。其中,设置模块用于设置云存储测试参数。管理模块用于根据云存储测试参数启动并配置Docker容器。Docker容器为至少一个,至少一个Docker容器分别模拟至少一个真实存储设备,Docker容器根据管理模块的配置与云存储平台进行通信。
在一个具体实施例中,步骤1的利用模拟真实存储设备与云存储平台进行通信,包括:
利用存储设备模拟模块与云存储平台中的基础管理层进行通信。
在一个可选实施例中,云存储测试方法还包括:
步骤4、记录云存储平台的运行数据和存储设备模拟模块的运行数据。
需要说明的是,本发明实施例的云存储测试方法中,上述步骤3和步骤4之间并没有必须的先后执行的顺序关系,可以先执行步骤3再执行步骤4,也可以先执行步骤4再执行步骤3,可以同时执行步骤3和步骤4。
在一个具体实施例中,Docker容器运行于测试服务器中。其中,测试服务器为至少一台,每台测试服务器运行至少一个Docker容器。不同的Docker容器之间的IP地址不同。
在一个具体实施例中,云存储测试参数包括:Docker容器的数量、每个Docker容器的标识、Docker容器向云存储平台上报的数据索引信息频率。
在一个具体实施例中,Docker容器根据所述管理模块的配置与所述云存储平台进行通信,包括:
Docker容器在启动后,根据管理模块的配置,生成所模拟的真实存储设备的序列号和所模拟的真实存储设备的设备信息;
Docker容器向云存储平台的IP地址(优选地,向云存储平台中的基础管理层的IP地址)发送登陆请求,以请求登陆云存储平台;
Docker容器获取云存储平台的回复信息,保持与云存储平台的心跳连接,定期向云存储平台发送所模拟的真实存储设备的设备状态信息;
Docker容器请求与云存储平台建立Session连接,按照管理模块的配置中所指定的频率向云存储平台上报数据索引信息;
Docker容器监听与云存储平台的通信接口,当收到云存储平台发送来的配置请求后,返回配置信息给云存储平台。
在一个具体实施中,在步骤2中所获取的存储设备模拟模块的运行数据包括:Docker容器运行是否正常;Docker容器登陆云存储平台是否成功;Docker容器与云存储平台的心跳连接是否正常,Docker容器向云存储平台的设备状态上报是否成功;Docker容器与云存储平台的Session连接是否正常,数据索引信息上报是否成功,是否超时。
在一个具体实施例中,在步骤2中所获取的云存储平台的运行数据包括:基础管理层的系统资源消耗数据;基础管理层中记录的各个Docker容器的运行状态数据;基础管理层中的数据库的工作运行状态数据。基础管理层中也可以记录基础管理层所管理的真实存储设备的运行状态数据,在一个具体实施例中,步骤2中,在获取云存储平台的运行状况时,也可以同时获取基础管理层所管理的真实存储设备的运行状态数据。
在一个具体实施例中,图1所示的云存储测试系统中的设置模块111和显示模块13,可以统一集成为用户界面(User Interface,UI)模块,通过UI模块实现人机交互。
以下结合图3至图5对本发明的云存储测试系统和方法进行进一步说明。
图3为本发明实施例的云存储测试系统的一个具体实施例结构示意图。如图3所示,该实施例采用UI模块作为设置模块和显示模块。其中:
(1)UI模块,负责云存储测试系统的系统运行及测试相关参数的配置,向用户提供UI配置界面,并向用户展示系统运行状态。
(2)管理模块,负责启动和管理下属的Docker容器以及Docker容器中内置的真实存储设备模拟程序。
(3)设备模拟层,此部分根据需要可由至少一台测试服务器组成。每台测试服务器部署Docker容器运行环境,可运行大量的(如数以百计的)Docker容器,不同的Docker容器配置不同的IP地址,每个Docker容器中均内置真实存储设备模拟程序,运行真实存储设备模拟程序后,每个Docker容器均可实现一个云存储设备与基础管理层的交互行为的模拟。
(4)监控模块,负责监控所有Docker容器的运行情况和基础管理层的运行情况。
(5)日志模块,记录基础管理层的运行数据、各个Docker容器、管理模块的运行数据等信息。
如图4所示,图3实施例的云存储测试系统的运行的主要步骤流程,包括以下过程:
(1)用户运行云存储测试系统的主程序,利用UI模块在UI界面上配置测试需要的配置和参数,设置所要模拟的真实存储设备(即Docker容器)的数量、所要模拟的真实存储设备向基础管理层上报的数据索引信息频率等关键信息,点击运行;
(2)设置模块按照用户配置的参数修改配置文件,并启动管理模块;
(3)管理模块读取系统运行及测试的相关配置,按照配置的要求,启动相应数量的Docker容器,并将配置参数传入Docker容器,运行Docker容器中的真实存储设备模拟程序;
(4)真实存储设备模拟程序启动后,Docker容器按照传入的参数,请求登陆基础管理层,并与基础管理层建立Session连接,发送心跳信号,向基础管理层上报数据;
(5)监控模块定期巡检各个Docker容器的运行情况,检查各个Docker容器与基础管理层的连接情况,同时检查基础管理层和各个Docker容器运行情况,资源消耗情况;
(6)UI模块将监控模块巡检到的数据在UI界面上向用户展示。
Docker容器的运行机制,主要包括以下几方面:
(1)读取配置,生成所模拟的真实存储设备的设备序列号等标识,生成所模拟的真实存储设备的设备信息,在后续上报时使用;
(2)读取配置,向指定的基础管理层地址(IP地址)发送登陆请求;
(3)获取基础管理层的回复信息,保持与基础管理层的心跳连接,定期向基础管理层发送设备状态信息;
(4)请求与基础管理层建立Session连接,读取Docker容器的本地数据配置,按照指定的频率向基础管理层上报数据索引信息;
(5)Docker容器监听其与基础管理层的通信接口,当收到基础管理层发送来的配置请求后,回复配置结果给基础管理层。
Docker容器的运行主要流程,可参见图5所示,主要包括以下步骤:
步骤a、Docker容器启动运行,并进入步骤b;
步骤b、读取配置文件,生成所模拟的真实存储设备的设备序列号(ID)等标识,生成所模拟的真实存储设备的设备信息,在后续上报时使用,之后进入步骤c;
步骤c、向基础管理层发送登陆请求(向基础管理层的IP地址发送登陆请求),之后进入步骤d;
步骤d、判断登陆基础管理层是否成功,如果成功则进入步骤e和步骤e’,否则返回步骤c;
步骤e、与基础管理层建立Session连接,之后进入步骤f;
步骤f、按照指定的频率向基础管理层上报数据索引信息,即定期向基础管理层上报数据索引信息,之后进入步骤g;
步骤g、判断Docker容器是否停止运行,如果是则进入步骤h,否则返回步骤f;
步骤e’、监听与基础管理层的通信接口,之后进入步骤f’;
步骤f’、收到基础管理层的配置请求后,回复配置结果给基础管理层,之后进入步骤g’;
步骤g’、判断Docker容器是否停止运行,如果是则进入步骤h,否则返回步骤f’;
步骤h、Docker容器停止运行。
真实存储设备模拟程序可以通过软件编程实现,按照云存储协议,封装TCP/IP报文,模拟真实存储设备与基础管理层之间的协议交互,然后内置于Docker容器中,在上层调用时运行,通过Docker容器模拟真实存储设备本身,解决了单纯由软件模拟时存在的IP地址重复、模拟设备相互干扰等问题。采用Docker容器使得设备模拟程序运行所消耗的系统资源少,一台常规的服务器可以运行上百个Docker容器,这样仅通过少量服务器即可实现大量的真实的存储设备的模拟。
监控模块的运行机制主要包括以下几个方面:
(1)读取配置,获取Docker容器的IP地址等信息,定期向Docker容器请求获取运行状态,具体可以包括:
1)Docker容器运行是否正常;
2)Docker容器登陆基础管理层是否成功;
3)Docker容器与基础管理层的心跳连接是否正常,Docker容器向基础管理层进行的设备状态信息上报是否成功;
4)Docker容器与基础管理层的Session连接是否正常,Docker容器向基础管理层进行的数据索引信息上报是否成功,是否有超时。
以上状态有任何一个出现异常,则判断此Docker容器运行异常,可按照配置,选择是否尝试初始化Docker容器。
(2)读取配置,获取基础管理层对外的IP地址等信息,包括获取以下信息:
1)基础管理层的系统资源消耗,包括CPU资源消耗、内存资源消耗、I/O(输入/输出)资源消耗;
2)基础管理层所管理的各个Docker容器运行情况,也可包括基础管理层所管理的真实存储设备的运行状态数据;
3)基础管理层中的数据库工作运行情况等信息。
以上状态有任何一个出现异常,则判断基础管理层运行异常。
(3)将监控获取的信息,返回给UI模块,用户可以通过UI界面的展示,了解当前的系统运行情况,决定后续的测试步骤。
本发明提供的云存储测试系统和方法,利用存储设备模拟模块针对大量存储设备的场景下的云存储系统的基础管理层进行辅助测试,可以快速的构造大量存储设备的测试场景,采用虚拟设备的方式,解决了现有测试中需要设备多、测试耗时多、周期长等问题。本发明中的存储设备模拟模块采用Docker容器的方式,可通过增加Docker容器的数量而快速提升可模拟的真实存储设备的数量。另外,本发明通过Socket技术实现Docker容器与云存储系统的基础管理层之间的协议交互从而实现了基础管理层和真实存储设备之间的信息交互的模拟,并且便于统一配置管理,高效快捷。本发明通过Docker容器的真实IP地址与基础管理层进行交互,完美的模拟了真实存储设备。本发明的云存储测试系统和方法,可以很好的模拟云存储系统的基础管理层加大量存储设备的真实场景,可以有效地辅助云存储的各类测试,满足测试场景需求,减少了设备和人力投入,提高了测试效率。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (21)

1.一种云存储测试系统,其特征在于,包括:
存储设备模拟模块,所述存储设备模拟模块用于模拟真实存储设备与云存储平台进行通信;
监控模块,所述监控模块用于获取所述云存储平台的运行数据和所述存储设备模拟模块的运行数据;以及,
显示模块,所述显示模块用于显示所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
2.根据权利要求1所述的云存储测试系统,其特征在于:
所述存储设备模拟模块包括设置模块、管理模块和Docker容器;其中,
所述设置模块用于设置云存储测试参数;
所述管理模块用于根据所述云存储测试参数启动并配置所述Docker容器;
所述Docker容器为至少一个,至少一个Docker容器分别模拟至少一个真实存储设备,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信。
3.根据权利要求2所述的云存储测试系统,其特征在于:
所述存储设备模拟模块与所述云存储平台中的基础管理层进行通信。
4.根据权利要求1所述的云存储测试系统,其特征在于,所述云存储测试系统还包括:
日志模块,用于记录所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
5.根据权利要求2所述的云存储测试系统,其特征在于:
所述Docker容器中内置有真实存储设备模拟单元,所述真实存储设备模拟单元用于以所述真实存储设备的身份产生所述Docker容器与所述云存储平台进行通信所需的数据。
6.根据权利要求2所述的云存储测试系统,其特征在于:
所述Docker容器运行于测试服务器中;其中
所述测试服务器为至少一台,每台测试服务器运行至少一个所述Docker容器。
7.根据权利要求2所述的云存储测试系统,其特征在于:
不同的所述Docker容器之间的IP地址不同。
8.根据权利要求2所述的云存储测试系统,其特征在于,所述云存储测试参数包括:
所述Docker容器的数量、每个所述Docker容器的标识、所述Docker容器向所述云存储平台上报的数据索引信息频率。
9.根据权利要求2所述的云存储测试系统,其特征在于,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信,包括:
所述Docker容器在启动后,根据所述管理模块的配置,生成所模拟的真实存储设备的序列号和所模拟的真实存储设备的设备信息;
所述Docker容器向所述云存储平台的IP地址发送登陆请求;
所述Docker容器获取所述云存储平台的回复信息,保持与所述云存储平台的心跳连接,定期向所述云存储平台发送所模拟的真实存储设备的设备状态信息;
所述Docker容器请求与所述云存储平台建立Session连接,按照所述管理模块的配置中所指定的频率向所述云存储平台上报数据索引信息;
所述Docker容器监听与所述云存储平台的通信接口,当收到所述云存储平台发送来的配置请求后,返回配置信息给所述云存储平台。
10.根据权利要求2所述的云存储测试系统,其特征在于,所述监控模块获取的所述存储设备模拟模块的运行数据包括:
所述Docker容器运行是否正常;
所述Docker容器登陆所述云存储平台是否成功;
所述Docker容器与所述云存储平台的心跳连接是否正常,所述Docker容器向所述云存储平台的设备状态数据上报是否成功;
所述Docker容器与所述云存储平台的Session连接是否正常,数据索引信息上报是否成功,是否超时。
11.根据权利要求3所述的云存储测试系统,其特征在于,所述监控模块获取的所述云存储平台的运行数据包括:
所述基础管理层的系统资源消耗数据;
所述基础管理层中记录的各个Docker容器的运行状态数据;
所述基础管理层中的数据库的工作运行状态数据。
12.一种云存储测试方法,其特征在于,包括:
利用模拟真实存储设备与云存储平台进行通信;
获取所述云存储平台的运行数据和所述存储设备模拟模块的运行数据;
显示所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
13.根据权利要求12所述的云存储测试方法,其特征在于:
所述存储设备模拟模块包括设置模块、管理模块和Docker容器;其中,
所述设置模块用于设置云存储测试参数;
所述管理模块用于根据所述云存储测试参数启动并配置所述Docker容器;
所述Docker容器为至少一个,至少一个Docker容器分别模拟至少一个真实存储设备,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信。
14.根据权利要求13所述的云存储测试方法,其特征在于,利用模拟真实存储设备与云存储平台进行通信,包括:
利用所述存储设备模拟模块与所述云存储平台中的基础管理层进行通信。
15.根据权利要求12所述的云存储测试方法,其特征在于,所述方法还包括:
记录所述云存储平台的运行数据和所述存储设备模拟模块的运行数据。
16.根据权利要求13所述的云存储测试方法,其特征在于:
所述Docker容器运行于测试服务器中;其中
所述测试服务器为至少一台,每台测试服务器运行至少一个所述Docker容器。
17.根据权利要求13所述的云存储测试方法,其特征在于:
不同的所述Docker容器之间的IP地址不同。
18.根据权利要求13所述的云存储测试方法,其特征在于,所述云存储测试参数包括:
所述Docker容器的数量、每个所述Docker容器的标识、所述Docker容器向所述云存储平台上报的数据索引信息频率。
19.根据权利要求13所述的云存储测试方法,其特征在于,所述Docker容器根据所述管理模块的配置与所述云存储平台进行通信,包括:
所述Docker容器在启动后,根据所述管理模块的配置,生成所模拟的真实存储设备的序列号和所模拟的真实存储设备的设备信息;
所述Docker容器向所述云存储平台的IP地址发送登陆请求;
所述Docker容器获取所述云存储平台的回复信息,保持与所述云存储平台的心跳连接,定期向所述云存储平台发送所模拟的真实存储设备的设备状态信息;
所述Docker容器请求与所述云存储平台建立Session连接,按照所述管理模块的配置中所指定的频率向所述云存储平台上报数据索引信息;
所述Docker容器监听与所述云存储平台的通信接口,当收到所述云存储平台发送来的配置请求后,返回配置信息给所述云存储平台。
20.根据权利要求13所述的云存储测试方法,其特征在于,获取的所述存储设备模拟模块的运行数据,包括:
所述Docker容器运行是否正常;
所述Docker容器登陆所述云存储平台是否成功;
所述Docker容器与所述云存储平台的心跳连接是否正常,所述Docker容器向所述云存储平台的设备状态数据上报是否成功;
所述Docker容器与所述云存储平台的Session连接是否正常,数据索引信息上报是否成功,是否超时。
21.根据权利要求14所述的云存储测试方法,其特征在于,获取的所述云存储平台的运行数据,包括:
所述基础管理层的系统资源消耗数据;
所述基础管理层中记录的各个Docker容器的运行状态数据;
所述基础管理层中的数据库的工作运行状态数据。
CN201811428787.6A 2018-11-27 2018-11-27 一种云存储测试系统和方法 Active CN111221687B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811428787.6A CN111221687B (zh) 2018-11-27 2018-11-27 一种云存储测试系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811428787.6A CN111221687B (zh) 2018-11-27 2018-11-27 一种云存储测试系统和方法

Publications (2)

Publication Number Publication Date
CN111221687A true CN111221687A (zh) 2020-06-02
CN111221687B CN111221687B (zh) 2023-10-10

Family

ID=70827432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811428787.6A Active CN111221687B (zh) 2018-11-27 2018-11-27 一种云存储测试系统和方法

Country Status (1)

Country Link
CN (1) CN111221687B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116381A (zh) * 2021-11-12 2022-03-01 苏州浪潮智能科技有限公司 基于容器的存储系统及容器处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650159B1 (en) * 2010-08-26 2014-02-11 Symantec Corporation Systems and methods for managing data in cloud storage using deduplication techniques
CN105608008A (zh) * 2015-12-29 2016-05-25 浪潮(北京)电子信息产业有限公司 一种应用于云存储客户端的自动化测试方法及系统
US9727432B1 (en) * 2014-10-09 2017-08-08 Seagate Technology Llc Accelerated testing using simulated failures in a multi-device storage system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650159B1 (en) * 2010-08-26 2014-02-11 Symantec Corporation Systems and methods for managing data in cloud storage using deduplication techniques
US9727432B1 (en) * 2014-10-09 2017-08-08 Seagate Technology Llc Accelerated testing using simulated failures in a multi-device storage system
CN105608008A (zh) * 2015-12-29 2016-05-25 浪潮(北京)电子信息产业有限公司 一种应用于云存储客户端的自动化测试方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘毅文;黄显宁;文坤辉;米春桥;: "基于Docker的轻量级云存储系统研究" *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114116381A (zh) * 2021-11-12 2022-03-01 苏州浪潮智能科技有限公司 基于容器的存储系统及容器处理方法

Also Published As

Publication number Publication date
CN111221687B (zh) 2023-10-10

Similar Documents

Publication Publication Date Title
CN105049435B (zh) 面向异构无线传感器网络的协议一致性的云测试框架
CN111124850A (zh) Mqtt服务器性能测试方法、系统、计算机设备及存储介质
US9342328B2 (en) Model for simulation within infrastructure management software
CN110083455B (zh) 图计算处理方法、装置、介质及电子设备
CN111181943A (zh) 基于业务中台的服务交互方法、装置、计算机设备及计算机存储介质
CN104579822A (zh) 基于Http协议的移动应用自动化性能测试系统及方法
US20100205600A1 (en) Simulation method for realizing large batches and different kinds of baseboard management controllers using a single server
CN104009880B (zh) Web测试方法、代理服务器和Web测试装置
CN101771565B (zh) 单一服务器实现大批量或不同种基板管理控制器模拟方法
CN106919485A (zh) 一种基于服务器上配置硬件测试工具的系统
WO2023131343A1 (zh) 压力测试方法、系统、设备及存储介质
CN109684038B (zh) Docker服务容器日志的处理方法、装置和电子设备
CN107168844B (zh) 一种性能监控的方法及装置
Zhang et al. Towards a virtual network function research agenda: A systematic literature review of vnf design considerations
CN112187574A (zh) 使用虚拟机进行网络压力测试的方法、系统和存储介质
CN111857685A (zh) 一种自助软件定制及远程自动化测试的方法及系统
CN115827223A (zh) 一种基于云原生平台的服务网格托管方法和系统
CN115203054A (zh) 一种虚拟化芯片测试系统
CN111221687B (zh) 一种云存储测试系统和方法
CN117032812B (zh) 服务器的管理方法、设备、装置、存储介质和电子设备
US20230385187A1 (en) Testing of a resource manager of an application management system
CN114253823A (zh) 分布式测试方法及相关设备
CN101969442B (zh) 基于进程运行环境感知与迁移的网络模拟框架实现方法
CN117041111A (zh) 车云功能测试方法、装置、电子设备及存储介质
CN111404763A (zh) 一种核心网性能测试方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant