掌桥专利:专业的专利平台
掌桥专利
首页

存储业务测试方法、装置、电子设备和存储介质

文献发布时间:2023-06-19 18:58:26


存储业务测试方法、装置、电子设备和存储介质

技术领域

本发明涉及测试技术领域,具体而言,涉及一种存储业务测试方法、装置、电子设备和存储介质。

背景技术

目前,很多领域的上层应用过程十分依赖存储,因此一般会将应用过程中产生的数据存储至云存储系统中,为了及时发现局点是否存在问题,往往需要对云存储系统的存储场景进行测试。

现有技术中,在对云存储系统进行测试时,总是需要预先从局点人员处获取本次测试所需的业务压力值,根据该业务压力值配置测试参数完成本次测试,因此存在测试精度较低,导致无法及时发现局点问题并对局点问题进行修正的问题。

发明内容

有鉴于此,本申请的目的在于提供一种存储业务测试方法、装置、电子设备和存储介质,以解决现有技术中存在的测试精度较低,从而使得无法及时发现局点问题并对局点问题进行修正的问题。

为了实现上述目的,本申请实施例采用的技术方案如下:

第一方面,本申请提供一种存储业务测试方法,所述方法包括:

每间隔第一预设时间,根据与存储服务器之间的网络连通状态,获取所述存储服务器在第一过去预设时长内的业务压力值;

根据所述存储服务器在所述第一过去预设时长内的业务压力值,确定所述存储服务器的目标测试场景;所述目标测试场景表征所述存储服务器在所述第一过去预设时长内的存储业务场景;

根据所述目标测试场景,对所述存储服务器当前的存储业务场景进行镜像模拟测试。

在可选的实施方式中,所述根据与存储服务器之间的网络连通状态,获取所述存储服务器在第一过去预设时长内的业务压力值,包括:

在所述网络连通状态为连通的情况下,从所述存储服务器获取所述存储服务器在第一过去预设时长内的业务压力值;

在所述网络连通状态为离线的情况下,根据当前时间信息以及多个预存的测试模型,确定所述存储服务器在第一过去预设时长内的业务压力值。

在可选的实施方式中,所述根据所述存储服务器在所述第一过去预设时长内的业务压力值,确定所述存储服务器的目标测试场景,包括:

在所述网络连通状态为连通的情况下,根据所述存储服务器在所述第一过去预设时长内的业务压力值以及构成当前测试场景的业务压力值,确定压力变化量;

若所述压力变化量超过预设的变化量阈值,则将所述存储服务器在所述第一过去预设时长内的业务压力值构成的测试场景确定为所述目标测试场景;

若所述压力变化量未超过预设的变化量阈值,则将所述当前测试场景确定为所述目标测试场景。

在可选的实施方式中,所述根据所述目标测试场景,对所述存储服务器当前的存储业务场景进行镜像模拟测试,包括:

若所述目标测试场景为所述存储服务器在所述第一过去预设时长内的业务压力值构成的测试场景,则根据所述存储服务器在所述第一过去预设时长内的业务压力值进行测试压力参数配置,并控制所述目标测试场景对应的测试工具按照存储服务器在所述第一过去预设时长内的业务压力值测试运行,以对所述存储服务器当前的存储业务场景进行镜像模拟测试;

若所述目标测试场景为所述当前测试场景,则控制所述当前测试场景对应的测试工具按照当前已配置的测试压力参数测试运行,以对所述存储服务器当前的存储业务场景进行镜像模拟测试。

在可选的实施方式中,所述根据当前时间信息以及多个预存的测试模型,确定所述存储服务器在第一过去预设时长内的业务压力值,包括:

从多个所述测试模型中确定所述当前时间信息对应的目标测试模型;

根据所述目标测试模型确定所述存储服务器在第一过去预设时长内的业务压力值。

在可选的实施方式中,所述根据所述存储服务器在所述第一过去预设时长内的业务压力值,确定所述存储服务器的目标测试场景,包括:

在所述网络连通状态为离线的情况下,将所述存储服务器在所述第一过去预设时长内的业务压力值构成的测试场景确定为所述目标测试场景。

在可选的实施方式中,所述根据所述目标测试场景,对所述存储服务器当前的存储业务场景进行镜像模拟测试,包括:

根据所述存储服务器在所述第一过去预设时长内的业务压力值进行测试压力参数配置,并控制所述目标测试场景对应的测试工具按照所述存储服务器在所述第一过去预设时长内的业务压力值测试运行,以对所述存储服务器当前的存储业务场景进行镜像模拟测试。

在可选的实施方式中,所述方法还包括:

在所述网络连通状态为离线的情况下,每间隔第二预设时间,获取所述存储服务器在第二过去预设时长内的离线业务压力值;

根据所述离线业务压力值的业务属性信息,对所述离线业务压力值进行分类,获得多个测试业务类型,并根据所述离线业务压力值的时间信息,对每个所述测试业务类型进行划分,获得每个所述测试业务类型对应的多个子测试业务类型;

针对每个所述测试业务类型,分别按照预设的建模算法对每个子测试业务类型进行建模,获得每个所述测试业务类型对应的测试模型。

在可选的实施方式中,所述业务属性信息包括测试集群地址、业务类型、码流以及分辨率,所述子测试业务类型包括工作日类型、休息日类型以及节假日类型;

所述根据所述离线业务压力值的业务属性信息,对所述离线业务压力值进行分类,获得多个测试业务类型,并根据所述离线业务压力值的时间信息,对每个所述测试业务类型进行划分,获得每个所述测试业务类型对应的多个子测试业务类型,包括:

将所述测试集群地址、所述业务类型、所述码流以及所述分辨率均相同的所述离线业务压力值,确定为同一测试业务类型;

根据所述离线业务压力值的时间信息,分别将每个所述测试业务类型划分为工作日类型、休息日类型以及节假日类型。

在可选的实施方式中,所述针对每个所述测试业务类型,分别按照预设的建模算法对每个子测试业务类型进行建模,获得每个所述测试业务类型对应的测试模型,包括:

若所述测试业务类型对应的节假日类型中的离线业务压力值的时间信息满足预设条件,则根据差分整合移动平均自回归模型算法,分别对所述测试业务类型中的工作日类型、休息日类型以及节假日类型进行建模,获得所述测试业务类型对应的工作日测试模型、休息日测试模型以及节假日测试模型;

若所述测试业务类型中节假日类型中的离线业务压力值的时间信息不满足预设条件,则将所述节假日类型中的离线业务压力值划分至所述休息日类型,并根据差分整合移动平均自回归模型算法,分别对所述测试业务类型中的工作日类型以及休息日类型进行建模,获得所述测试业务类型对应的工作日测试模型以及休息日测试模型。

第二方面,本申请提供一种存储业务测试装置,所述装置包括:

获取模块,用于每间隔第一预设时间,根据与存储服务器之间的网络连通状态,获取所述存储服务器在第一过去预设时长内的业务压力值;

确定模块,用于根据所述存储服务器在所述第一过去预设时长内的业务压力值,确定所述存储服务器的目标测试场景;所述目标测试场景表征所述存储服务器在所述第一过去预设时长内的存储业务场景;

测试模块,用于根据所述目标测试场景,对所述存储服务器当前的存储业务场景进行镜像模拟测试。

第三方面,本申请提供一种电子设备,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机程序,所述处理器可执行所述计算机程序以实现前述实施方式任一所述的方法。

第四方面,本申请提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如前述实施方式任一所述的方法。

本申请实施例提供的存储业务测试方法、装置、电子设备和存储介质,每间隔第一预设时间则根据与存储服务器之间的网络连通状态,获取该存储服务器在第一过去预设时长内的业务压力值,从而根据该存储服务器在第一过去预设时长内的业务压力值,确定表征该存储服务器在第一过去预设时长内的存储业务场景的目标测试场景,以根据该目标测试场景对存储服务器当前的存储场景进行镜像模拟测试。通过在测试过程中每间隔第一预设时间,根据与存储服务器之间的网络连通状态获取存储服务器在第一过去预设时长内的业务压力值,并在该网络连通状态下根据该存储服务器在第一过去预设时长内的业务压力值确定目标测试场景,可在测试过程中充分考虑到实际存储过程中业务压力值的实时变化情况,且由于该目标测试场景可以表征存储服务器在第一过去预设时长内的存储业务场景,因此根据该目标测试场景进行镜像模拟测试时,可最大程度地还原实际存储业务场景,从而提高测试精度,进而可及时发现局点问题并对局点问题进行修正。

为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了存储系统的方框示意图;

图2示出了本申请实施例提供的电子设备的方框示意图;

图3示出了本申请实施例提供的存储业务测试方法的一种流程示意图;

图4示出了本申请实施例提供的存储业务测试方法的另一种流程示意图;

图5示出了本申请实施例提供的存储业务测试方法的另一种流程示意图;

图6示出了离线数据表的数据结构图;

图7示出了本申请实施例提供的一种存储业务测试装置的功能模块图。

图标:10-测试系统;100-电子设备;110-存储器;120-处理器;130-通信模块;200-存储服务器;300-获取模块;310-确定模块;320-测试模块。

具体实施方式

下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

目前,很多领域的上层应用过程十分依赖存储,因此一般会将应用过程中产生的数据存储至云存储系统中,例如安防行业中,从传统的视频,到视频摘要和浓缩,再到车牌、人脸、案件库中的文件上传和算法仓库的上传和下载,其中的不同大小和分辨率的视频、图片以及上传的文件都需要存储到云存储系统中,而为了及时发现局点是否存在问题,往往需要对云存储系统的存储场景进行测试。

可以理解,对云存储系统进行测试实际上是根据配置的测试参数,预测当前的实际存储情况,从而事先对局点是否可能存在问题以及存在什么问题进行分析,以提前发现问题并解决。

现有技术中,云存储系统可提供接口给上述上层业务来进行调用,其存储的业务压力往往都是由上层业务来决定,云存储系统无法主动感知上层业务的变化,基于此,在对云存储系统的存储场景进行测试时,测试人员往往无法获知上层业务的变化情况,仅能根据局点工作人员对云存储系统的存储情况的了解进行测试参数配置。

因此,现有技术中在对云存储系统进行测试时,总是需要预先从局点人员处获取本次测试所需的业务压力值,并根据该业务压力值为测试平台配置测试参数,从而根据该预先获得的业务压力值进行测试。因此,现有技术中主要存在以下问题:

首先,现有技术中所配置的测试参数实际上为局点人员根据自己的了解情况所确定的本次测试所需的业务压力值,而该业务压力值可能并不准确,因此会对测试的精度造成一定影响。

其次,由于云存储系统存储的业务压力往往由上层业务来决定,而上层业务会实时变化,因此会导致云存储系统实际的业务压力值实时变化,在此情况下,现有技术并未考虑到实际存储过程中业务压力值的实时变化情况,同时无法最大程度地还原实际存储业务场景,因此会使得测试精度较低,导致无法及时发现局点问题并对局点问题进行修正。

基于此,本申请实施例提供一种存储业务测试方法,以解决以上问题。具体的,图1为测试系统10的方框示意图,请参见图1,该测试系统10包括电子设备100以及至少一个存储服务器200。

可选地,该电子设备100与该存储服务器200可以已经建立通信连接,也可以并未建立通信连接。

可选地,该电子设备100可以是终端设备,例如PC端、移动终端等,且该电子设备100上可以设置有测试平台,且该测试平台上设置有多个测试工具,该测试工具可用于对云存储系统的实际存储业务场景进行模拟以完成测试。

可选地,该存储服务器200上可以包括云存储系统,该存储服务器200可以接收上层应用设备发送的应用数据,并在该云存储系统中进行保存。

可选地,图2为上述电子设备100的方框示意图。电子设备100包括存储器110、处理器120及通信模块130。存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,存储器110用于存储程序或者数据。存储器110可以是,但不限于,随机存取存储器(Random Access Memory,RAM),只读存储器(ReadOnly Memory,ROM),可编程只读存储器(Programmable Read-Only Memory,PROM),可擦除只读存储器(ErasableProgrammable Read-Only Memory,EPROM),电可擦除只读存储器(Electric ErasableProgrammable Read-OnlyMemory,EEPROM)等。

处理器120用于读/写存储器中存储的数据或程序,并执行相应地功能。

通信模块130用于通过网络建立服务器与其它通信终端之间的通信连接,并用于通过网络收发数据。

应当理解的是,图2所示的结构仅为电子设备100的结构示意图,电子设备100还可包括比图2中所示更多或者更少的组件,或者具有与图2所示不同的配置。图2中所示的各组件可以采用硬件、软件或其组合实现。

本申请实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时可以实现本申请实施例提供的存储业务测试方法。

接下来以上述图1中的电子设备100为执行主体,结合流程示意图对本申请实施例提供的存储业务测试方法进行示例性介绍,具体的,图3为本申请实施例提供的存储业务测试方法的一种流程示意图,请参见图3,该方法包括:

步骤S20,每间隔第一预设时间,根据与存储服务器之间的网络连通状态,获取存储服务器在第一过去预设时长内的业务压力值;

可选地,该第一预设时间和该第一过去预设时长可以事先根据实际应用情况进行设置。在一种可能实现的方式中,可以为不同的网络连通状态设置不同的第一预设时间和第一过去预设时长,也可以为不同的网络连通状态设置相同的第一预设时间和第一过去预设时长。

可选地,该第一预设时间和该第一过去预设时长可以相等,也可以不相等。

可选地,由于该存储系统中可能包括多个存储服务器,因此该进行存储业务测试的存储服务器可以是用户下发测试指令时指定的存储服务器。

在本实施例中,电子设备可以在与存储服务器之间的网络连通状态不同的情况下,通过不同方式获取存储服务器在第一过去预设时长内的业务压力值。

步骤S21,根据存储服务器在第一过去预设时长内的业务压力值,确定存储服务器的目标测试场景;

其中,目标测试场景表征存储服务器在第一过去预设时长内的存储业务场景;

可选地,该目标测试场景即为此时应当用于进行测试的测试场景。可以理解地,在不同的网络连通状态下,确定目标测试场景的方式不同。

可选地,存储服务器在第一过去预设时长内的业务压力值可以包括存储服务器在第一过去预设时长内的各个存储业务对应的存储压力,可以理解地,存储服务器在第一过去预设时长内的各个存储业务对应的存储压力,实际上可以构成一个存储业务场景。

例如,若存储服务器在第一过去预设时长内存储了视频和图片,其中,视频的存储压力为A、图片的存储压力为B,则其可构成一个存储业务场景,在该场景下,视频以存储压力A进行存储,图片以存储压力B进行存储。

可选地,由于该目标测试场景为存储服务器在所述第一过去预设时长内的业务压力值所构成的场景,因此该目标测试场景可以表征该存储服务器在第一过去预设时长内的存储业务场景。

步骤S22,根据目标测试场景,对存储服务器当前的存储业务场景进行镜像模拟测试。

在本实施例中,电子设备可以每间隔第一预设时间则根据第一过去预设时长内的业务压力值确定一次目标测试场景,因此可在测试过程中,根据存储服务器在第一过去预设时长内实际的业务压力值,不断对目标测试场景进行更新,充分考虑到实际存储过程中业务压力值的实时变化情况。

在本实施例中,由于该目标测试场景可以表征存储服务器在第一过去预设时长内的存储业务场景,且考虑到存储服务器在一段时间内的存储业务的业务压力值不会产生较大程度地突变,因此,电子设备在确定目标测试场景后,根据该目标测试场景对存储服务器当前的存储业务场景进行镜像模拟测试,则可最大程度地还原实际存储业务场景。可以理解地,在此情况下进行测试,可以较高精度预测当前的存储情况。

本申请实施例提供的存储业务测试方法,每间隔第一预设时间则根据与存储服务器之间的网络连通状态,获取该存储服务器在第一过去预设时长内的业务压力值,从而根据该存储服务器在第一过去预设时长内的业务压力值,确定表征该存储服务器在第一过去预设时长内的存储业务场景的目标测试场景,以根据该目标测试场景对存储服务器当前的存储场景进行镜像模拟测试。通过在测试过程中每间隔第一预设时间,根据与存储服务器之间的网络连通状态获取存储服务器在第一过去预设时长内的业务压力值,并在该网络连通状态下根据该存储服务器在第一过去预设时长内的业务压力值确定目标测试场景,可在测试过程中充分考虑到实际存储过程中业务压力值的实时变化情况,且由于该目标测试场景可以表征存储服务器在第一过去预设时长内的存储业务场景,因此根据该目标测试场景进行镜像模拟测试时,可最大程度地还原实际存储业务场景,从而提高测试精度,进而可及时发现局点问题并对局点问题进行修正。

可选地,电子设备与存储服务器之间的网络连通状态包括连通状态以及离线状态,在此基础上,上述步骤S20中的根据与存储服务器之间的网络连通状态,获取存储服务器在第一过去预设时长内的业务压力值,还可以通过如下步骤实现:

在网络连通状态为连通的情况下,从存储服务器获取存储服务器在第一过去预设时长内的业务压力值;

可选地,在网络连通状态为连通的情况下,电子设备可以直接从存储服务器获取第一过去预设时长内的业务压力值。

可选地,在网络连通状态为连通的情况下,该第一预设时间和第一过去预设时长可以为10分钟。

可选地,存储服务器可以每隔第一预设时间则获取一次存储服务器在距当前时刻第一过去预设时长内的业务压力值,并将其发送至电子设备。

可选地,该第一过去预设时长内的业务压力值可以是第一过去预设时长内,各个业务对应的压力平均值。

在一个示例中,在网络连通状态为连通的情况下,若存储服务器中的云存储系统存储的为安防领域的数据,且第一预设时间和第一过去预设时长均为10分钟,则该存储服务器可以实时采集过去10分钟内的视频流写入压力、视频流读取/下载压力、图片流写入压力、图片流读取/下载压力、静态库写入压力、静态库读取/下载压力、案件库文件压力、案件库读取/下载压力、算法仓文件压力以及算法仓读取/下载压力,并分别针对以上每个业务计算其在这10分钟之内的压力值。

具体的,这10分钟之内的视频流写入压力可以通过以下方式得到:计算10分钟之内视频根目录大小的增量,并根据该增量计算这段时间内运行的视频流的平均路数获得,即,

其中,N

本示例中,这10分钟之内的视频流读取/下载压力可以通过以下方式得到:首先计算10分钟内读取/下载视频接口的次数,然后计算读取/下载的路数,即:X

其中,X

本示例中,这10分钟之内的图片流写入压力可以通过如下方式获得:检索视图库中最近10分钟的所有图片,之后通过读取图片大小接口,获取所有图片大小,之后根据图片大小进行分类,得到N

本示例中,这10分钟之内的图片流读取/下载压力可以通过如下方式获得:计算10分钟之内读取/下载图片的次数,并通过读取图片大小接口得到该图片的大小,之后根据图片大小进行分类,得到N

在本示例中,这10分钟之内的静态库写入压力N

N

在本示例中,这10分钟之内的静态库读取/下载压力N

N

在本示例中,这10分钟之内的案件库文件压力N

N

在本示例中,这10分钟之内的案件库读取/下载压力N

N

在本示例中,这10分钟之内的算法仓文件压力N

N

在本示例中,这10分钟之内的算法仓读取/下载压力N

N

在网络连通状态为离线的情况下,根据当前时间信息以及多个预存的测试模型,确定存储服务器在第一过去预设时长内的业务压力值。

可选地,在网络连通状态为离线的情况下,由于电子设备无法直接从服务器中获取存储服务器在第一过去预设时长内的业务压力值,因此为了保证离线情况下的测试精度,电子设备可以根据当前时间信息以及多个预存的测试模型,确定存储服务器在第一过去预设时长内的业务压力值。

可以理解地,该测试模型用于生成在当前时间信息下,存储服务器在第一过去预设时长内的业务压力值。

可选地,当前时间信息指的是当前时刻的时间信息,例如当前时间为工作日、休息日还是节假日,以及当前时刻所处时间段。

可选地,在网络连通状态为离线的情况下,该第一预设时间和第一过去预设时长可以为30分钟。可以理解地,电子设备可以每间隔第一预设时间,则根据多个预存的测试模型以及当前时间信息,确定该存储服务器在第一过去预设时长内的业务压力值。

在一个示例中,在网络连通状态为离线的情况下,若存储服务器中的云存储系统存储的为安防领域的数据,且第一预设时间和第一过去预设时长均为30分钟,则该电子设备可以每间隔30分钟,则根据当前时间信息和多个预存的测试模型,确定该存储服务器在这30分钟内的业务压力值。

可选的,电子设备在正式进行测试之前需要为测试平台配置初始测试参数,在一种可能实现的情况下,该初始测试参数可以是预先从局点人员处获取到的业务压力值,在配置好该初始测试参数后,可控制该测试平台进行开始测试,同时确定与存储服务器之间的网络连通状态。

可选地,若该存储服务器上并未下载有数据采集客户端,则应当首先下载该软件。在一种可能实现的方式中,若电子设备与存储服务器之间的网络连通状态为连通,则电子设备可以检测该存储服务器上是否下载有该数据采集客户端,若并未下载,则控制该存储服务器主动下载该软件;在另一种可能实现的方式中,还可以由工作人员实现检查存储服务器上是否下载有该数据采集客户端,以便该存储服务器采集业务压力值。

接下来分别针对网络状态为连通以及网络状态为离线进行介绍,首先,在网络状态为连通的情况下,电子设备可以根据压力变化量确定是否需要对当前测试场景进行更新。

可以理解地,若压力变化量较小,则说明此时业务压力值的变化程度较低,而考虑到较低的变化量不会对测试结果产生较大影响,因此在此情况下可以不对当前测试场景进行更新,将当前测试场景继续作为目标测试场景进行测试;而若压力变化量较大,则考虑到较大的变化量会对测试结果产生较大的影响,因此为了保证测试的精度,此时需要对该当前测试场景进行更新,将该存储服务器在第一过去预设时长内的业务压力值构成的测试场景确定为目标测试场景进行测试。

具体的,在图3的基础上,图4为本申请实施例提供的存储业务测试方法的另一种流程示意图,请参见图4,上述步骤S21还可以通过如下步骤实现:

步骤S21-1,在网络连通状态为连通的情况下,根据存储服务器在第一过去预设时长内的业务压力值以及构成当前测试场景的业务压力值,确定压力变化量;

可选的,该当前测试场景为当前测试平台上所配置的测试参数构成的场景,可以理解地,当前测试平台上所配置的测试参数也为存储服务器在某一段时长内的业务压力值,其构成该当前测试场景。

在本实施例中,电子设备可以在获取到存储服务器在第一过去预设时长内的业务压力值之后,根据该存储服务器在第一过去预设时长内的业务压力值以及构成该当前测试场景的业务压力值,确定压力变化量。

步骤S21-2,若压力变化量超过预设的变化量阈值,则将存储服务器在第一过去预设时长内的业务压力值构成的测试场景确定为目标测试场景;

可选地,该预设的变化阈值可以根据实际测试情况进行确定,在一种可能实现的方式中,该预设的变化量阈值可以是1%。

在本实施例中,若该压力变化量超过预设的变化阈值,则说明此时压力变化量较大,即可能会对测试结果产生较大的影响,因此,电子设备可将获取到的存储服务器在第一过去预设时长内的业务压力值,确定为目标测试场景。

可以理解地,在此情况下,需要对测试平台上的当前测试场景进行更新,即,此时需要根据存储服务器在第一过去预设时长内的业务压力值,对测试平台重新进行测试压力参数配置。若目标测试场景为存储服务器在第一过去预设时长内的业务压力值构成的测试场景,则根据存储服务器在第一过去预设时长内的业务压力值进行测试压力参数配置,并控制目标测试场景对应的测试工具按照存储服务器在第一过去预设时长内的业务压力值测试运行,以对存储服务器当前的存储业务场景进行镜像模拟测试。

可选地,该目标测试场景对应的测试工具用于在测试过程中还原存储业务场景,例如,若该目标测试场景中的存储业务包括视频业务,则该测试工具可选择视频对应的测试工具。

在本实施例中,为了保证测试平台的顺利运行,电子设备可以在对测试平台重新进行测试压力参数配置之后,重启该测试平台,在该测试平台重启成功后,再调用该目标测试场景对应的测试工具,并控制其按照存储服务器在第一过去预设时长内的业务压力值测试运行,从而对存储服务器当前的存储业务场景进行镜像模拟测试。

步骤S21-3,若压力变化量未超过预设的变化量阈值,则将当前测试场景确定为目标测试场景。

在本实施例中,若压力变化量并未超过预设的变化量阈值,则说明此时压力变化量较小,不会对测试结果产生较大的影响,因此,电子设备可不对当前测试场景进行更新,即无需对测试平台重新进行测试压力参数配置,可直接将当前测试场景确定为目标测试场景。

可以理解地,在此情况下,电子设备可以继续调用该当前测试场景对应的测试工具进行测试,即,若目标测试场景为当前测试场景,则控制当前测试场景对应的测试工具按照当前已配置的测试压力参数测试运行,以对存储服务器当前的存储业务场景进行镜像模拟测试。

在本实施例中,电子设备可以在确定压力变化量未超过预设的变化量阈值的情况下,直接控制当前测试场景对应的测试工具,按照该测试平台当前已经配置的测试压力参数测试运行,从而对存储服务器当前的存储业务场景进行镜像模拟测试。

其次,在网络状态为离线状态的情况下,由于电子设备实际上无法直接获取到存储服务器在第一过去预设时长内的业务压力值,因此,电子设备需要结合预存的测试模型获取该存储服务器在第一过去预设时长内的业务压力值。具体的,在网络连通状态位离线的情况下,上述根据当前时间信息以及多个预存的测试模型,确定存储服务器在第一过去预设时长内的业务压力值的步骤,还可以通过如下步骤实现:

从多个测试模型中确定当前时间信息对应的目标测试模型;根据目标测试模型确定存储服务器在第一过去预设时长内的业务压力值。

在本实施例中,电子设备可以从多个测试模型中,根据当前事件信息确定对应的目标测试模型,通过该目标测试模型则可确定存储服务器在第一过去预设时长内的业务压力值。

在一种可能实现的方式中,电子设备所确定的目标测试模型可能是一个测试模型,则根据该模型可直接确定该存储服务器在第一过去预设时长内的业务压力值;在另一种可能实现的方式中,电子设备所确定的目标测试模型可能是多个测试模型,则电子设备需要分别获得每个测试模型生成的业务压力值,通过叠加多个测试模型生成的业务压力值确定该存储服务器在第一过去预设时长内的业务压力值。

可以理解地,每个测试模型具有时间属性,则电子设备可以根据测试模型的时间属性以及当前时间信息确定目标测试模型。可选地,在网络状态为离线的情况下,电子设备可以直接将存储服务器在第一过去预设时长内的业务压力值构成的测试场景确定为目标测试场景。可以理解地,此时需要为测试平台重新进行测试压力参数配置。

即,电子设备可根据存储服务器在第一过去预设时长内的业务压力值进行测试压力参数配置,并控制目标测试场景对应的测试工具按照存储服务器在第一过去预设时长内的业务压力值测试运行,以对存储服务器当前的存储业务场景进行镜像模拟测试。

可选地,由于该多个预存的测试模型是用于生成在当前时间信息下,存储服务器在第一过去预设时长内的业务压力值,因此,为了保证离线测试的精度,电子设备需要每隔一段时间对预存的测试模型进行更新,以使该测试场景更适合当前时间信息下的实际存储业务,从而使得根据该目标测试模型生成的业务压力值更精确。

具体的,在上述图3的基础上,图5为本申请实施例提供的存储业务测试方法的另一种流程示意图,请参见图5,该方法还包括:

步骤S10,在网络连通状态为离线的情况下,每间隔第二预设时间,获取存储服务器在第二过去预设时长内的离线业务压力值;

可选地,电子设备可以每间隔第二预设时间,接收工作人员上传的存储服务器在第二过去预设时长内的离线业务压力值。

可以理解地,由于存储服务器上下载有数据采集客户端,因此,即使该存储服务器与电子设备之间的网络连通状态为离线状态,其也可以通过运行该数据采集客户端,采集离线业务压力值。

可选地,该第二预设实际和第二过去预设时长可以根据实际测试需求进行设置,在一种可能实现的方式中,该第二预设实际和第二过去预设时长可以相同,也可以不同。

例如,该第二预设实际和第二过去预设时长均为一个月,在此情况下,电子设备可以每隔一个月则接收一次工作人员上传的存储服务器在这一个月内的离线业务压力值。

可选地,该离线业务压力值可以是存储服务器每隔预设时间间隔计算得到的各个业务对应的压力值。在一种可能实现的方式中,该预设时间间隔可以与上述离线状态下的第一过去预设时长相同。

例如,若该预设时间间隔为30分钟,则存储服务器可实时获取各个业务对应的压力值,并每隔30分钟根据这30分钟内的各个业务对应的压力值,计算这30分钟内的离线业务压力值。

可以理解地,若存储服务器中的云存储系统存储的为安防领域的数据,则该计算过程与上述在网络连通状态为连通的情况下中的示例一致,此处不再赘述。

可以理解地,电子设备每间隔第二预设时间,获取存储服务器在第二过去预设时长内的离线业务压力值,为该第二过去预设时长内,多个时间段对应的离线业务压力值。

步骤S11,根据离线业务压力值的业务属性信息,对离线业务压力值进行分类,获得多个测试业务类型,并根据离线业务压力值的时间信息,对每个测试业务类型进行划分,获得每个测试业务类型对应的多个子测试业务类型;

可选地,电子设备可在获取到多个时间段对应的离线业务压力值后,根据每个离线业务压力值对应的业务属性信息,将其进行分类,获得多个测试业务类型。可以理解地,每个测试业务类型中包含多个离线业务压力值。

可选地,电子设备可进一步针对每个测试业务类型,将其中的多个离线业务压力值划分为多个子测试业务类型。可以理解地,每个测试业务类型对应有至少一个子测试业务类型,且每个子测试业务类型中包括至少一个离线业务压力值。

步骤S12,针对每个测试业务类型,分别按照预设的建模算法对每个子测试业务类型进行建模,获得每个测试业务类型对应的测试模型。

在本实施例中,电子设备可以针对每个测试业务类型,按照预设的建模算法对其中的每个子测试业务类型进行建模,即,每个子测试业务类型对应一个测试模型,每个测试业务类型对应有至少一个测试模型。

在一种可能实现的方式中,离线业务压力值的业务属性信息可以包括测试集群地址、业务类型、码流以及分辨率,因此,电子设备可以根据测试集群地址、业务类型、码流以及分辨率对多个离线业务压力值进行分类,从而获得多个测试业务类型。

此外,由于相同时间属性内的业务压力值会存在一定的共性,因此可以按照时间信息将每个测试业务类型细化分为多个子测试业务类型,例如,工作日类型、休息日类型以及节假日类型。

具体的,上述步骤S11可以通过如下步骤实现:

将测试集群地址、业务类型、码流以及分辨率均相同的离线业务压力值,确定为同一测试业务类型;根据离线业务压力值的时间信息,分别将每个测试业务类型划分为工作日类型、休息日类型以及节假日类型。

可选地,电子设备所获取到的离线业务压力值可以包括多个属性信息,例如业务属性信息、时间信息、数据名等,该多个离线业务压力值可以构成一张离线数据表。

在一个示例中,图6为该离线业务压力值形成的离线数据表的数据结构图,请参见图6,该表中包括字段名称、测试集群地址、日期等信息,则电子设备可以基于该离线数据表将离线业务压力值进行分类。

在本实施例中,电子设备可将测试集群地址、业务类型、码流以及分辨率均相同的离线业务压力值划分为一类,从而获得多个测试业务类型。之后根据该离线业务压力值是否为休息日、节假日以及工作日,针对每个测试业务类型,将其中的离线业务压力值划分为工作日类型、休息日类型以及节假日类型。

可以理解地,由于节假日较少,因此对于测试业务类型而言,其可能对应有节假日类型,也可能没有节假日类型。因此,在一种可能实现的方式中,若该测试业务类型并没有对应的节假日类型,则可直接按照预设的建模算法对其对应的工作日类型以及休息日类型进行建模。在另一种可能实现的方式中,若该测试业务类型对应有节假日类型,则需要在考虑到该节假日类型中的离线业务压力值的时间信息的基础上,确定是否需要为该节假日类型建模。具体的,上述步骤S12还可以通过如下步骤实现:

若测试业务类型对应的节假日类型中的离线业务压力值的时间信息满足预设条件,则根据差分整合移动平均自回归模型算法,分别对测试业务类型中的工作日类型、休息日类型以及节假日类型进行建模,获得测试业务类型对应的工作日测试模型、休息日测试模型以及节假日测试模型。

可选地,该预设条件可以根据实际测试情况进行设置。在一种可能实现的方式中,该预设条件可以是节假日类型中的离线业务压力值的天数达到预设数量。

例如,该预设数量为10天,则若该节假日类型中的离线业务压力值为10个节假日对应的离线业务压力值,则确定该测试业务类型对应的节假日类型中的离线业务压力值的时间信息满足预设条件。

在本实施例中,若测试业务类型对应的节假日类型中的离线业务压力值的时间信息满足预设条件,则可根据差分整合移动平均自回归模型算法分别对该测试业务类型对应的工作日类型、休息日类型以及节假日类型进行建模。

可选地,该差分整合移动平均自回归模型算法可以抽象为:

其中,X

可以理解地,此时电子设备可以获得该测试业务类型对应的工作日测试模型、休息日测试模型以及节假日测试模型。

若测试业务类型中节假日类型中的离线业务压力值的时间信息不满足预设条件,则将节假日类型中的离线业务压力值划分至休息日类型,并根据差分整合移动平均自回归模型算法,分别对测试业务类型中的工作日类型以及休息日类型进行建模,获得测试业务类型对应的工作日测试模型以及休息日测试模型。

可选地,若测试业务类型中节假日类型中的离线业务压力值的时间信息不满足预设条件,则说明节假日类型中的离线业务压力值的数量较少,考虑到此时即使生成节假日类型,也会因为样本数据过少导致模型精度较低,因此,考虑到节假日与休息日的业务压力值也会存在一定的共性,可将该节假日类型中的所有离线业务压力值并入到休息日类型中,获得新的休息日类型,之后根据差分整合移动平均自回归模型算法分别对该测试业务类型对应的工作日类型以及新的休息日类型进行建模,从而获得该测试业务类型对应的工作日测试模型以及休息日测试模型。

在本实施例中,电子设备中存储的测试模型实际上为各个测试业务类型对应的多个测试模型,换言之,此时工作日测试模型、休息日测试模型或者节假日测试模型可能均为多个,在此情况下,电子设备在实际计算离线状态下的存储服务器在第一过去预设时长内的业务压力值时,根据当前时间信息可能可以确定出多个目标测试模型。

例如,若当前时间信息为工作日,则可根据该时间信息将所有工作日测试模型确定为目标测试模型,此时,电子设备可通过叠加多个工作日测试模型生成的业务压力值,确定该存储服务器在第一过去预设时长内的业务压力值。

在一个示例中,电子设备可以每隔一个月获取一次这个月内的离线业务数据,从而根据这一个月内的离线业务数据生成多个测试模型,则电子设备可以根据该多个测试模型,对当前的实际存储业务情况进行测试。

例如,电子设备在1月31号获取1月份的离线业务压力值,并生成1月对应的多个测试模型,从2月1号开始,电子设备可以根据1月生成的测试模型对2月份的实际存储业务场景进行镜像模拟测试。

此外,若这一个月内存储服务器每隔30分钟计算一次该30分钟内的离线业务压力值,则电子设备也可在实际测试时,每30分钟测试一次。

可选地,为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种存储业务测试装置的实现方式。进一步地,请参阅图7,图7为本申请实施例提供的一种存储业务测试装置的功能模块图。需要说明的是,本实施例所提供的存储业务测试装置,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该存储业务测试装置包括:获取模块300、确定模块310以及测试模块320。

该获取模块300,用于每间隔第一预设时间,根据与存储服务器之间的网络连通状态,获取存储服务器在第一过去预设时长内的业务压力值。

可以理解地,该获取模块300还可以用于执行上述步骤S20。

该确定模块310,用于根据存储服务器在第一过去预设时长内的业务压力值,确定存储服务器的目标测试场景;目标测试场景表征存储服务器在第一过去预设时长内的存储业务场景。

可以理解地,该确定模块310还可以用于执行上述步骤S21。

该测试模块320,用于根据目标测试场景,对存储服务器当前的存储业务场景进行镜像模拟测试。

可以理解地,该测试模块320还可以用于执行上述步骤S22。

可选地,该获取模块300,还用于在网络连通状态为连通的情况下,从存储服务器获取存储服务器在第一过去预设时长内的业务压力值;在网络连通状态为离线的情况下,根据当前时间信息以及多个预存的测试模型,确定存储服务器在第一过去预设时长内的业务压力值。

可选地,该确定模块310还用于在网络连通状态为连通的情况下,根据存储服务器在第一过去预设时长内的业务压力值以及构成当前测试场景的业务压力值,确定压力变化量;若压力变化量超过预设的变化量阈值,则将存储服务器在第一过去预设时长内的业务压力值构成的测试场景确定为目标测试场景;若压力变化量未超过预设的变化量阈值,则将当前测试场景确定为目标测试场景。

可以理解地,该确定模块310还可以用于执行上述步骤S21-1~步骤S21-3。

可选地,该测试模块320,还用于若目标测试场景为存储服务器在第一过去预设时长内的业务压力值构成的测试场景,则根据存储服务器在第一过去预设时长内的业务压力值进行测试压力参数配置,并控制目标测试场景对应的测试工具按照存储服务器在第一过去预设时长内的业务压力值测试运行,以对存储服务器当前的存储业务场景进行镜像模拟测试;若目标测试场景为当前测试场景,则控制当前测试场景对应的测试工具按照当前已配置的测试压力参数测试运行,以对存储服务器当前的存储业务场景进行镜像模拟测试。

可选地,该获取模块300,还用于从多个测试模型中确定当前时间信息对应的目标测试模型;根据目标测试模型确定存储服务器在第一过去预设时长内的业务压力值。

可选地,该确定模块310,还用于在网络连通状态为离线的情况下,将存储服务器在第一过去预设时长内的业务压力值构成的测试场景确定为目标测试场景。

可选地,该测试模块320,还用于根据存储服务器在第一过去预设时长内的业务压力值进行测试压力参数配置,并控制目标测试场景对应的测试工具按照存储服务器在第一过去预设时长内的业务压力值测试运行,以对存储服务器当前的存储业务场景进行镜像模拟测试。

可选地,该确定模块310,还用于在网络连通状态为离线的情况下,每间隔第二预设时间,获取存储服务器在第二过去预设时长内的离线业务压力值;根据离线业务压力值的业务属性信息,对离线业务压力值进行分类,获得多个测试业务类型,并根据离线业务压力值的时间信息,对每个测试业务类型进行划分,获得每个测试业务类型对应的多个子测试业务类型;针对每个测试业务类型,分别按照预设的建模算法对每个子测试业务类型进行建模,获得每个测试业务类型对应的测试模型。

可以理解地,该确定模块310还可以用于执行上述步骤S10~S12。

可选地,该确定模块310,还用于将测试集群地址、业务类型、码流以及分辨率均相同的离线业务压力值,确定为同一测试业务类型;根据离线业务压力值的时间信息,分别将每个测试业务类型划分为工作日类型、休息日类型以及节假日类型。

可选地,该确定模块310,还用于若测试业务类型对应的节假日类型中的离线业务压力值的时间信息满足预设条件,则根据差分整合移动平均自回归模型算法,分别对测试业务类型中的工作日类型、休息日类型以及节假日类型进行建模,获得测试业务类型对应的工作日测试模型、休息日测试模型以及节假日测试模型;若测试业务类型中节假日类型中的离线业务压力值的时间信息不满足预设条件,则将节假日类型中的离线业务压力值划分至休息日类型,并根据差分整合移动平均自回归模型算法,分别对测试业务类型中的工作日类型以及休息日类型进行建模,获得测试业务类型对应的工作日测试模型以及休息日测试模型。

本申请实施例提供的存储业务测试装置,通过获取模块每间隔第一预设时间,根据与存储服务器之间的网络连通状态,获取存储服务器在第一过去预设时长内的业务压力值;通过确定模块根据存储服务器在第一过去预设时长内的业务压力值,确定存储服务器的目标测试场景;目标测试场景表征存储服务器在第一过去预设时长内的存储业务场景;通过测试模块根据目标测试场景,对存储服务器当前的存储业务场景进行镜像模拟测试。通过在测试过程中每间隔第一预设时间,根据与存储服务器之间的网络连通状态获取存储服务器在第一过去预设时长内的业务压力值,并在该网络连通状态下根据该存储服务器在第一过去预设时长内的业务压力值确定目标测试场景,可在测试过程中充分考虑到实际存储过程中业务压力值的实时变化情况,且由于该目标测试场景可以表征存储服务器在第一过去预设时长内的存储业务场景,因此根据该目标测试场景进行镜像模拟测试时,可最大程度地还原实际存储业务场景,从而提高测试精度,进而可及时发现局点问题并对局点问题进行修正。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

技术分类

06120115757739