CN118276769A - 一种数据处理方法及装置 - Google Patents
一种数据处理方法及装置 Download PDFInfo
- Publication number
- CN118276769A CN118276769A CN202311566343.XA CN202311566343A CN118276769A CN 118276769 A CN118276769 A CN 118276769A CN 202311566343 A CN202311566343 A CN 202311566343A CN 118276769 A CN118276769 A CN 118276769A
- Authority
- CN
- China
- Prior art keywords
- storage
- application
- attribute
- use case
- parameters
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title abstract description 13
- 238000003860 storage Methods 0.000 claims abstract description 492
- 238000005070 sampling Methods 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 63
- 230000015654 memory Effects 0.000 claims description 52
- 238000005457 optimization Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 34
- 238000013507 mapping Methods 0.000 claims description 21
- 230000006399 behavior Effects 0.000 claims description 15
- 238000010801 machine learning Methods 0.000 claims description 13
- 230000004044 response Effects 0.000 claims description 12
- 238000004422 calculation algorithm Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 8
- 230000003542 behavioural effect Effects 0.000 abstract description 5
- 238000013139 quantization Methods 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 17
- 238000013461 design Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 238000012360 testing method Methods 0.000 description 6
- 230000009286 beneficial effect Effects 0.000 description 5
- 238000012544 monitoring process Methods 0.000 description 5
- 239000007787 solid Substances 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000011002 quantification Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000004140 cleaning Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000013213 extrapolation Methods 0.000 description 1
- 239000004744 fabric Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000009533 lab test Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Abstract
一种数据处理方法及装置,该方法包括:确定应用的一项或多项用例属性,每项用例属性用于指示所述应用的一种行为特征;针对所述一项或多项用例属性中的第一用例属性,执行:获取第一用例属性对应的多组采样数据,每组采样数据包括应用处于第一用例属性所指示的行为特征时的应用性能的采样值和第一用例属性对应的存储参数的采样值,存储参数为存储系统运行所述应用的存储参数;根据多组采样数据,确定所述存储参数对所述第一用例属性的影响权重,所述影响权重用于指示所述存储参数影响所述应用性能的程度。该影响权重可表征存储参数与应用用例之间的相关性,实现了应用性能与存储参数之间的量化。
Description
本申请要求在2022年12月30日提交申请号为202211738273.7、发明名称为“一种存储参数的权重映射方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
技术领域
本申请涉及存储技术领域,尤其涉及一种数据处理方法及装置。
背景技术
在数据存储领域,通常由存储系统向用户提供数据存储、数据查询等服务。用户可通过应用程序执行对存储系统内数据的增、删、改、查等操作。存储系统支持一系列可用于保障或提高应用程序性能的存储策略,比如预取策略、读策略、写策略等。其中,每项存储策略可包括一系列存储参数。
现有,用户往往基于人工经验选择性配置一些存储参数,该配置方式严重依赖人工经验,或者用户沿用类似应用程序的存储参数或使用存储系统中默认的存储参数,然而不同的应用程序具有不同的性能要求,不同的存储参数对应用性能的影响也不同,这取决于应用程序的类型以及所使用的存储系统的类型,用户无法感知所配置的存储参数是否适配于应用的需求,配置精确程度可能较低,导致整个存储系统并不是匹配业务的最佳或较佳配置,使得应用性能无法得到保证。
这一问题在异构存储系统中更为棘手,这是因为异构存储系统中不同的存储设备所包括的硬盘的类型可能是不同的,硬盘的存储参数也是不同的,从而使不同的存储设备可提供的服务也是不同的,这使得用户为运行在不同存储设备中的应用程序配置存储参数变得更加复杂,并且对于用户来说异构存储系统更加难以管理。
综上,现有亟需一种可量化应用用例和存储参数之间的相关性的方案,可用于供用户参考其配置的存储参数是否适用于应用用例。
发明内容
本申请提供一种数据处理方法及装置,用于量化应用用例和存储参数之间的相关性。
第一方面,本申请提供一种数据处理方法,该方法包括:确定应用的一项或多项用例属性,每项用例属性用于指示应用的一种行为特征,比如,用例属性为访问小文件或访问大文件等。针对该一项或多项用例属性中的第一用例属性,执行:获取第一用例属性对应的多组采样数据,每组采样数据包括应用呈现为第一用例属性所指示的行为特征时的应用性能的采样值和第一用例属性对应的存储参数的采样值,比如一组采样数据为(应用性能的采样值,存储参数1的采样值,存储参数2的采样值),存储参数为存储系统运行该应用的存储参数;根据该多组采样数据,确定存储参数对第一用例属性的影响权重,该影响权重用于指示存储参数影响应用性能的程度。
通过上述方法,可确定应用的每项用例属性对应的存储参数对相应用例属性的影响权重,该影响权重可表征存储参数与应用用例之间的相关性,实现了应用对存储参数配置需求的量化,一方面用户基于应用的每项用例属性对应的存储参数可大致获知针对应用所需配置的存储参数,另一方面,用户基于所获得存储参数对用例属性的影响权重的大小可确定哪些存储参数对应用性能的影响程度大,从而可针对性对影响权重较大的存储参数进行配置,使所配置的存储参数尽可能满足应用用例的的性能需求,不同于用户依赖专家经验或盲目尝试的方式来配置存储参数,用户基于量化后的影响权重可提高存储参数的配置效率和准确度,有利于构建与存储相关的较佳或最佳系统性能。
在一种可能的设计中,该方法还包括:根据对应关系确定应用的每项用例属性对应的一个或多个存储参数,该对应关系指示多个用例属性和存储参数之间的对应关系,存储参数包括一个或多个存储系统所包括的存储参数,一个或多个存储系统包括用于运行该应用的存储系统。
通过上述方法,该对应关系包括多种类型的存储系统的存储参数,使该对应关系适用于多种存储系统,基于该对应关系可确定应用在不同存储系统分别对应的存储参数,降低用户对应同一应用在不同存储系统运行的维护管理难度。
在一种可能的设计中,在确定存储参数对所述第一用例属性的影响权重,包括:基于多组采样数据和预设算法计算所述存储参数对所述第一用例属性的影响权重。
通过上述方法,基于预设算法计算各存储参数对用例属性的影响权重,实现一种标准化地应用性能与存储参数之间关系的量化方式。
在一种可能的设计中,根据所述多组采样数据,确定存储参数对第一用例属性的影响权重,包括:将所述多组采样数据作为训练后的机器学习模型的输入数据,获得所述机器学习模型的输出结果,所述输出结果包括所述存储参数对所述第一用例属性的影响权重。
通过上述方法,基于机器学习模型来确定存储参数对应用用例的影响权重,提高该方法的智能化,并且随着机器学习模型的使用可逐渐提高该方法的准确度。
在一种可能的设计中,确定所述每项存储参数对第一用例属性的影响权重之后,还包括:向用户发送应用的映射信息,该映射信息用于指示应用的一项或多项用例属性中,每项用例属性对应的存储参数对所述用例属性的影响权重。
通过上述方法,基于各项存储参数对用例属性的影响权重,向用户提供一种应用用例与存储参数之间关系的量化数据,用户基于量化后的影响权重可提高存储参数的配置效率和准确度,有利于构建与存储相关的较佳或最佳系统性能。
在一种可能的设计中,确定所述每项存储参数对所述第一用例属性的影响权重之后,还包括:向用户发送应用的存储参数优化信息,所述存储参数优化信息用于指示待优化的存储参数,所述待优化的存储参数包括对所述应用的用例属性的影响权重较大的一个或多个存储参数。
通过上述方法,向用户提供应用的存储参数优化信息,用户可基于存储参数优化信息选择性重配置待优化的存储参数。
在一种可能的设计中,确定所述每项存储参数对所述第一用例属性的影响权重之后,还包括:确定所述应用的存储参数优化策略,所述存储参数优化策略用于指示待优化的存储参数及所述待优化的存储参数的目标值,所述待优化的存储参数包括对所述应用的至少一项用例属性的影响权重较大的一个或多个存储参数;基于所述存储参数优化策略将所述存储系统中所述待优化的存储参数调整为所述存储参数的目标值。
通过上述方法,通过自动调整应用的存储参数来保障应用用例的应用性能。
在一种可能的设计中,所述用例属性包括下列中的一项或多项:
访问小文件、访问大文件、访问音频流、访问视频流、写入小文件、写入大文件、写入音频流、写入视频流。
在一种可能的设计中,所述存储参数包括下列中的一项或多项:
每秒输入输出操作次数IOPS、读响应时间、写响应时间、平均响应时间、读带宽、写带宽、平均带宽。
第二方面,本申请还提供了一种数据处理装置,该装置具有实现上述第一方面所描述的方法中行为的功能,有益效果可以参见第一方面的描述,此处不再赘述。功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个与上述功能相对应的模块。在一个可能的设计中,该装置的结构中包括确定模块、获取模块、处理模块;这些模块可以实现上述第一方面方法中行为的功能,具体参见方法示例中的详细描述,此处不做赘述。
第三方面,本申请还提供了一种计算设备。该计算设备的结构中包括处理器和存储器,存储器用于存储指令和/或数据。存储器与处理器耦合,处理器执行所述存储器中存储的程序指令时,可以实现上述第一方面描述的方法行为的功能。计算设备的结构中还包括通信接口,用于与其他设备进行通信,如从第一层存储资源获取任务对应的数据等。
第四方面,本申请还提供了一种数据处理系统,该系统包括至少一个计算设备,该至少一个计算设备具有实现上述第一方面中行为的功能,有益效果可以参见第一方面的描述此处不再赘述。每个计算设备的结构中包括处理器和存储器,处理器被配置为支持计算设备执行上述第一方面以及第一方面任一可能的实现方式行为的部分或全部功能。存储器与处理器耦合,其保存计算设备必要的程序指令和数据。计算设备的结构中还包括通信接口,用于与其他设备进行通信。
第五方面,本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的设计中的方法。
第六方面,本申请还提供一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面以及第一方面的各个可能的设计中的方法。
第七方面,本申请还提供一种计算芯片,芯片与存储器相连,芯片用于读取并执行存储器中存储的软件程序,执行上述第一方面以及第一方面的各个可能的实现方式中的方法。
上述第二方面至第六七方面中任一方面的有益效果描述,请参照上述第一方面中任一可能的实现方式中的技术效果描述,本申请这里不再重复赘述。
附图说明
图1为本申请实施例提供的一种应用场景示意图;
图2为本申请实施例提供的一种可能的系统架构示意图;
图3为本申请实施例提供的另一种可能的系统架构示意图;
图4为本申请实施例提供的另一种应用场景示意图;
图5为本申请实施例提供的一种数据处理方法所对应的流程示意图;
图6为本申请实施例提供的一种管理系统130的结构示意图;
图7为本申请实施例提供的一种用户界面示意图;
图8为本申请实施例提供的一种数据处理装置的结构示意图;
图9为本申请实施例提供的一种计算设备的结构示意图。
具体实施方式
图1是本申请实施例提供的一种可能适用的应用场景示意图,该应用场景示出了应用服务器100、存储系统120、存储管理系统130。
在图1所示的场景中,应用服务器100用于运行应用程序,用户可通过应用服务器100中运行的应用程序来存取数据。应用服务器100的运维管理人员可通过存储管理系统130为应用服务器100中运行的应用程序配置存储参数并在存储系统120中生效,存储系统120基于所配置的存储参数为应用服务器100提供存储服务,以完成应用服务器100所请求的数据存取。
其中,应用服务器100可以是物理机,也可以是虚拟机或容器等计算实例。物理应用服务器包括但不限于桌面电脑、服务器、笔记本电脑以及移动设备。应用程序包括可安装在电子设备上的任何应用,包括但不限于数据库类应用(如SQL server、Orcle等)、社交类应用(如即时消息服务软件)、流媒体类应用(音乐播放软件、视频点播软件等)、游戏类应用、视频会议类应用以及通用的或专用的企业办公类应用(如网页浏览器、电子邮件、银行办公软件)等。
在一种实施方式中,如图2中,应用服务器100可通过交换机101访问存储系统120以存取数据。然而,交换机101只是一个可选设备,应用服务器100也可以直接通过网络与存储系统120通信。
继续参见图2,存储系统120可以是一个集中式存储系统。集中式存储系统的特点是有一个统一的入口,所有从外部设备来的数据都要经过这个入口,这个入口就是集中式存储系统的引擎121。引擎121是集中式存储系统中最为核心的部件,许多存储系统的高级功能都在其中实现。其中,引擎121还包含前端接口125和后端接口126,其中前端接口125用于与应用服务器100通信,从而为应用服务器100提供存储服务。而后端接口126用于与硬盘134通信,以扩充存储系统的容量。通过后端接口126,引擎121可以连接更多的硬盘134,从而形成一个非常大的存储资源池。
引擎121中有一个或多个控制器,图2以引擎121包含两个控制器为例予以说明。控制器0与控制器1之间具有镜像通道,那么当控制器0将一份数据写入其内存124后,可以通过所述镜像通道将数据的副本发送给控制器1,控制器1将该副本存储在自己本地的内存124中。由此,控制器0和控制器1互为备份,当控制器0发生故障时,控制器1可以接管控制器0的业务,当控制器1发生故障时,控制器0可以接管控制器1的业务,从而避免硬件故障导致整个存储系统120的不可用。当引擎121中部署有4个控制器时,任意两个控制器之间都具有镜像通道,因此任意两个控制器互为备份。控制器1(以及其他图2中未示出的控制器)的硬件组件和软件结构与控制器0类似,这里不再赘述。
引擎121还包含前端接口125和后端接口126,其中前端接口125用于与应用服务器100通信,从而为应用服务器100提供存储服务。而后端接口126用于与硬盘134通信,以扩充存储系统的容量。通过后端接口126,引擎121可以连接更多的硬盘134,从而形成一个非常大的存储资源池。
在硬件上,如图2所示,控制器0至少包括处理器123、内存124。处理器123是一个中央处理器(central processing unit,CPU),用于处理来自存储系统120外部(如应用服务100器或者其他设备)的数据访问请求,也用于处理存储系统120内部生成的请求。示例性的,处理器123通过前端端口125接收应用服务器100发送的写数据请求时,会将这些写数据请求中的数据暂时保存在内存124中。当内存124中的数据总量达到一定阈值时,处理器123通过后端端口将内存124中存储的数据发送给硬盘134进行持久化存储。
内存124是指与处理器直接交换数据的内部存储器,它可以随时读写数据,而且速度很快,作为操作系统或其他正在运行中的程序的临时数据存储器。内存包括随机存取存储器、只读存储器(read only memory,ROM)。随机存取存储器可以是动态随机存取存储器(dynamic random access memory,DRAM)、存储级存储器(storage class memory,SCM)、静态随机存取存储器(static random access memory,SRAM)等。只读存储器可以是可编程只读存储器(programmable read only memory,PROM)、可抹除可编程只读存储器(erasableprogrammable read only memory,EPROM)等。内存124中存储有软件程序,处理器123运行内存124中的软件程序可实现对硬盘134的管理。例如将硬盘134抽象化为存储资源池,然后划分为LUN提供给应用服务器100使用等。这里的LUN其实就是在应用服务器100上看到的硬盘。当然,一些集中式存储系统本身也是文件服务器,可以为应用服务器100提供共享文件服务。
硬盘134用于持久化存储数据,通常硬盘134的读写速度比内存124慢,硬盘134可以包括只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard disk drive,HDD)或固态硬盘(solid state drive,SSD)等,具体不做限定。
图2所示的存储系统120是一种盘控一体的集中式存储系统。可替代的,存储系统120还可以是盘控分离的集中式存储系统。两者的区别在于,在图2所示的盘控一体的集中式存储系统中,引擎121具有硬盘槽位,硬盘134可直接部署在引擎121中,后端接口126属于可选配置,当系统的存储空间不足时,可通过后端接口126连接更多的硬盘或厂商。而在盘控分离的集中式存储系统中,引擎121可以不具有硬盘槽位,硬盘134需要放置在厂商中,后端接口126与厂商通信。后端接口126以适配卡的形态存在于引擎121中,一个引擎121上可以同时使用两个或两个以上后端接口126来连接多个厂商。或者,适配卡也可以集成在主板上,此时适配卡可通过PCIE总线与处理器123通信。
在另一种实施方式中,存储系统120可以是分布式存储系统,分布式存储系统是指将数据分散存储在多台独立的存储节点上的系统。传统的网络存储系统采用集中式的存储阵列存放所有数据,存储阵列的性能既是系统性能的瓶颈,也是可靠性和安全性的焦点,不能满足大规模存储应用的需要。分布式网络存储系统采用可扩展的系统结构,利用多台存储节点分担存储负荷,它不但提高了系统的可靠性、可用性和存取效率,还易于扩展。具体的,分布式存储系统包括但不限于全融合架构、存算一体架构、存算分离架构、MemoryFabric架构等,具体不做限定。
在一个示例中,存储系统120可以是如图3所示的全融合架构,如图3所示,存储系统120可包括存储集群。存储集群包括一个或多个服务器112(图3中示出了三个服务器112,但不限于三个服务器112),各个服务器112之间可以相互通信。服务器112是一种既具有计算能力又具有存储能力的设备,如服务器、台式计算机等。在软件上,每台服务器112上具有操作系统。在服务器112上可以创建实例107(比如虚拟机,容器等)(类似于图1或图2中的应用服务器100使用),实例107所需的计算资源来源于服务器112本地的处理器123和内存124,而实例107所需的存储资源既可以来源于服务器112本地的硬盘134,也可以来自其他服务器112中的硬盘134。此外,实例107中可运行各种应用程序,用户可通过实例107中的应用程序触发读/写数据请求。在硬件上,如图3所示,服务器112至少包括处理器123、内存124、网卡105和硬盘134。处理器123、内存124、网卡105和硬盘134可参见上文对图2所示相关组件的介绍,此处不再赘述。
在一个示例中,存储系统120可以是存算一体架构。存算一体架构与全融合架构的相同点包括,两种架构的存储系统均包括存储集群(包括一个或多个服务器),两种架构的区别在于,存算一体架构的存储系统内的服务器未创建实例107等计算实例。
在一个示例中,存储系统120可以是存算分离架构。在存算分离架构中,计算资源和存储资源是分离部署的,例如,一种存算分离架构的存储系统包括计算节点集群和存储节点集群。计算节点集群包括一个或多个计算节点110,各个计算节点110之间可以相互通信。计算节点110是一种计算设备,如服务器、台式计算机或者存储阵列的控制器等。存储节点集群包括多个存储节点111。任意一个计算节点110可通过网络访问存储节点集群中的任意一个存储节点111。其中,计算节点主要用于执行计算任务,而存储节点主要用于存储数据。
上文列举了存储系统120可能采用的系统架构,本实施例并不限定任一种架构的软件和/或硬件的具体形式,包括各节点类型、各节点数量、各组件数量、各组件类型等均不做限定。本申请实施例适用的存储系统120还可以是其他架构类型,任何可用于存储数据的存储设备或存储系统均适用于本申请实施例。
图1示出的存储系统120是一种单一类型的存储系统,本实施例适用的存储系统120还可以是包括多种类型的存储系统,例如,存储系统120包括多个存储系统(如图4中的存储系统#1、存储系统#2),该多个存储系统可以属于不同的厂商,或者该多个存储系统的类型不同,如多个存储系统中既包括集中式存储系统又包括分布式存储系统,又如该多个存储系统中既包括云存储又包括传统数据中心等等。当该多个存储系统属于不同厂商、或者属于不同的类型、或者属于不同的域(如中心云、边缘云等)时,存储系统120可被称为异构存储系统。可选的,不论是单个存储系统还是多个存储系统组成的存储系统120,当存储管理系统130与存储系统120所包括的任一存储系统属于不同厂商时,存储系统120可被称为异构存储系统,当存储管理系统130与存储系统均属于相同厂商时,该存储系统可被称为同构存储系统。比如,若存储管理系统130和存储系统#1均属于厂商A时,存储系统#1为同构存储系统。若存储管理系统130属于厂商A,存储系统#2属于厂商B时,存储系统#2为异构存储系统。
上文介绍了应用服务器100及存储系统120,下面来介绍存储管理系统130。
存储管理系统130可用于向用户(如存储管理员)提供访问接口(如界面或API),用户可操作客户端远程接入访问接口在存储管理系统130注册账号和密码,并登录存储管理系统130,存储管理系统130对账号和密码鉴权成功后,用户可进一步在存储管理系统130为应用程序配置存储策略,如QoS策略、读策略、写策略、预取策略、LUN策略等,并在存储系统120中生效。其中,每项存储策略可包括一项或多项存储参数。也就是说,存储管理系统130还可用于管理存储系统120,如将存储策略下发给存储系统120,存储系统120按照用户配置的存储策略处理该应用程序的读数据请求、写数据请求等。当然,存储管理系统130还可具有其他功能,如存储管理系统130还可向用户提供监控服务,如监控存储系统120运行应用程序的各项存储参数等。
其中,存储管理系统130可以是软件、或硬件、或软件和硬件的组合。例如,在一种应用场景中,存储系统120可以是提供存储服务的云资源,租户可按使用量付费,而无需搭建数据中心。在该场景中,存储管理系统130可以设备管理平台的形式提供给多个租户使用。租户可通过设备管理平台分别管理/配置各自的存储资源。
如下以应用于图1所示的系统为例,对本申请实施例提供的技术方案进行详细介绍。
为解决背景技术提到的问题,本申请实施例提供一种数据处理方法,该方法中包括:通过用例属性定义应用程序(或应用用例)的行为特征,并预定义用例属性对应的存储参数,这些存储参数包括可能会影响该用例属性的应用性能的存储参数。针对该用例属性,通过采集到的应用的用例属性的采样数据和存储系统120运行应用的存储参数的采样数据,计算每项存储参数对用例属性的影响权重。该影响权重可表征存储参数与应用用例之间的相关性,量化了应用与存储参数之间的关系。
下面结合图5对本实施例提供的数据处理方法进行详细介绍。
图5为本申请实施例提供的数据处理方法对应的流程示意图,该方法可以由图1中的存储管理系统130执行,或存储管理系统130中的模块(如图6所示的存储管理系统130中的智能动态影响映射器引擎202)执行,如下以本实施例提供的如图6所示的存储管理系统130为例概述该数据处理方法,图6所示的存储管理系统130所包括的各模块的功能将在下文中进行介绍,此处不再赘述。
如图5所示,该方法可包括如下步骤:
步骤501,获取应用用例与用例属性的对应关系(记为第一对应关系)。
第一对应关系可包括多种应用用例的用例属性。
应用用例可理解为用例场景,本实施例可以将不同的应用程序视为不同的应用用例,例如,应用用例包括但不限于:数据库类应用用例、社交类应用用例、流媒体类应用用例、游戏类应用用例、大数据类应用用例、人工智能类应用用例、视频会议类应用用例以及通用的或专用的企业办公类应用用例。再细粒度划分,应用用例还可以包括但不限于:数据库服务端、数据库客户端、游戏服务端、游戏客户端、媒体服务端、媒体消费者、AI/ML应用、区块链、边缘、IoT、5G特定等。
用例属性可用于指示应用的行为特征。前述的有些应用用例的行为特征是频繁访问小文件,有些应用用例需要频繁执行数据备份或归档等操作,有些应用用例需要频繁访问大媒体数据(包括视频流或音频流等)。相应的,用例属性包括但不限于:访问小文件、访问大文件、访问视频流、访问音频流、写入小文件、写入大文件、写入音频流、写入视频流、归档、备份等等。可选的,用例属性还可包括访问/写入频度,比如,以访问小文件为例,用例属性还可以包括频繁访问小文件或偶尔访问小文件等等。
同一个应用程序也可能具有多种应用用例,例如,以银行的数据库服务端为例,数据库服务端一般在白天(如8:00—22:00这段时间)处理大量客户的个人业务,行为特征呈现为频繁访问小文件,在夜晚(如22:00—04:00这段时间)则会对数据库服务端的数据进行备份,行为特征一般呈现为频繁访问大文件。
第一对应关系可通过统计多种应用用例的用例属性获得,如针对多种应用,预先采集并统计每种应用用例的行为特征的规律,基于采集的数据分析并定义应用用例与用例属性的对应关系。在一种实施方式中,第一对应关系可以体现为列表或其他形式,如表1是以列表(记为用例属性表(Use case Attributes Table,UAT))为例示例性示出的一种第一对应关系。
表1.用例属性表
应用标识 | 应用用例标识 | 属性标识 |
a001 | u001 | x,y |
a002 | u002 | a |
a002 | u003 | b,c |
a003 | u003 | n |
…… | …… | …… |
举例来说,某应用程序为视频播放类应用(Media streaming app),该应用程序的应用标识为a001,应用用例为视频播放客户端(User watching video),该应用用例的用例标识为u0001,属性标识x表示频繁访问视频流(video streaming),属性标识y表示频繁音频流(audio streaming)。再比如,某应用程序为数据库服务端,该应用程序的应用标识为a002,用例标识为u0002表示应用用例为处理个人业务,属性标识a表示随机访问小文件。用例标识为u0003表示应用用例为数据备份,属性标识a表示随机访问小文件,属性标识b表示小文件归档(Small File Archival),属性标识c表示大文件归档(Big File Archival)。
某些情况下,应用的行为特征还可以由下列中的一项或多项来表示:应用的IO特征(如随机小IO、顺序大IO等)、应用的功能、应用的性能要求/服务级别协议(ServiceLevel Agreement,SLA),本实施例对此不做限定。
综上,应用程序与应用用例的关系可以是一对一,即一个应用程序仅具有一个应用用例,或者,两者的关系是一对多,即一个应用程序可具有多个应用用例。并且,不同的应用用例可能具有完全不同或不完全相同或完全相同的用例属性。
上述应用程序可以是指一个应用程序、或者是一组应用程序、或者是一个或一组(微)服务,本实施例对此不做限定。另外,实际应用中应用用例的属性不局限于上文列举的几种,任何可表示应用用例特征的属性均适用于本申请实施例。并且,表1所示的用例属性表仅为一种示例,任何可标识应用用例及属性的方式(如应用用例对应的属性数量,属性的内容、形式、属性标识的粒度等)均适用于本申请实施例。如,应用用例还可仅通过用例标识来区分,而不包括应用标识。又如,属性标识a还可以细粒度拆分为a1,a2,a1表示随机访问,a2表示小IO。类似的,属性标识b还可以细粒度拆分为b1,b2,b1表示顺序访问,b2表示大IO,等等,具体不做限定。
以图6为例,步骤501可由智能动态影响映射器引擎202执行,获取第一对应关系的方式可以是智能动态影响映射器引擎202从存储管理系统130内部的其他模块获取,或者从外部设备(如存储系统120或云端等)获取,或者该第一对应关系还可以存储(或预置)于智能动态影响映射器引擎202中,从而在首次执行步骤501或后续重复执行步骤501时智能动态影响映射器引擎202获取自身存储的第一对应关系。
步骤502,获取存储参数与用例属性的对应关系(记为第二对应关系)。
第二对应关系可包括多种存储参数与不同用例属性的对应关系。其中,存储参数可包括存储系统120用于提供存储服务的相关参数,如读数据请求中待读取数据的大小(记为IOsize)、写数据请求中待写数据的大小(记为写IOsize)等,存储参数还可以包括用于评估存储性能的指标参数,如包括但不限于每秒输入输出次数(input/output per second,IOPS)、读响应时间、写响应时间、平均响应时间、读带宽、写带宽、平均带宽、读吞吐量、写吞吐量、平均吞吐量等。
第二对应关系可以通过预先采集多种类型的存储设备所包括的存储参数进行构建,这里的存储参数可包括通用的存储参数(如多种类型的存储设备均包括的存储参数)以及特定类型的存储设备所包括的存储参数,并统计与每项存储性参数相关的用例属性,从而汇聚形成适用于多种存储设备的通用存储参数(general storage performanceparameter,GSPP)数据库。类似的,第二对应关系可以体现为列表或其他形式,如表2是以列表(记为通用存储参数数据库)为例示例性示出的一种第二对应关系。
表2.通用存储参数数据库
存储参数标识 | 存储参数名称 | 属性标识 |
0001 | param 1 | x,y,z |
0002 | param 2 | x,a,b |
0003 | param 3 | n,y,z |
…… | …… | …… |
举例来说,param 1可以是读吞吐量,param 2可以是IOPS,param 3可以是读带宽,属性标识x表示频繁访问视频流,属性标识y表示频繁访问音频流,属性标识z表示大数据处理(bigdata processing)等。应理解,这仅是一个例子,本实施例对此不做限定。
上述表1和表2可通过离线方式创建,可选的,在离线方式创建得到的表1或表2的基础上,可进一步通过在线方式进行更新,比如,以表1为例,基于机器学习模型来学习表1(或表2)的内容,从而不断更新修正表1(或表2),以提高表1(或表2)的准确性。
类似的,在图6中,步骤502可由智能动态影响映射器引擎202执行,获取第二对应关系的方式可以是智能动态影响映射器引擎202从存储管理系统130内部的其他模块获取,或者从外部设备(如存储系统120或云端等)获取,或者该第二对应关系还可以存储(或预置)于智能动态影响映射器引擎202中,从而在首次执行步骤502或后续重复执行步骤502时智能动态影响映射器引擎202获取自身存储的第二对应关系。另外,上述对表1和表2的在线更新可以由智能动态影响映射器引擎202或其他设备完成。
步骤503,获取应用(为便于区分,记为目标应用)的用例信息,该用例信息用于指示目标应用的一项或多项用例属性。
用例信息可包括一个或多个属性标识,每个属性标识用于唯一标识一项用例属性,或者,用例信息包括一项或多项用例属性,具体不做限定。
获取目标应用的用例信息的方式有多种,在一种获取方式中,存储管理系统130可以提供访问接口供用户输入或选择目标应用的用例属性。具体如,存储管理系统130向用户(如目标应用的运维管理人员)提供访问接口,用户可操作客户端远程接入访问接口在存储管理系统130注册账号和密码,并登录存储管理系统130,存储管理系统130对账号和密码鉴权成功后,用户可进一步在存储管理系统130进行参数配置,如配置目标应用的用例属性。其中,访问接口可以是用户界面或API。
图7为本实施例提供的一种用户界面的示意图,该用户界面可包括但不限于下列中的一项或多项:目标应用的信息(如目标应用的名称、应用标识、用例标识等一项或多项信息)、目标应用的用例属性配置项。用例属性配置项可供用户输入或选择具体的用例属性,例如在一种配置方式中,用户点击用例属性配置项之后,在用例属性配置项的候选属性列表中选择一种或多种用例属性(或属性标识)。或者,用户直接在用例属性配置项填写已有或用户自定义的用例属性(或属性标识)。可选的,用户还可以填写自定义的用例属性的注释,以便存储管理系统130解析该用例属性的含义。该方式中,目标应用的用例信息用于指示用户为目标应用配置的一个或多个用例属性。
图7是一种比较直观的用例属性配置方式,在另一种隐含配置方式中,存储管理系统130可提供用例模型(如工作负载(workload)模型)供用户选择并通过用例模型来隐含指示用例属性。用例模型可以是根据一些应用用例生成并预置于存储管理系统130中的,例如用例模型包括但不限于:oracle_OLTP、oracle_OLAP、Vmware_VDI、SQL_server_OLAP、自定义用例模型(others(自定义))等。其中,每个用例模型可关联一个或多个用例属性,例如,SQL_server_OLAP为数据库服务端的用例模型,如前所述数据库服务端可能会频繁读取小文件,对应的,该用例模型关联的用例属性可包括频繁读取小文件等。在自定义用例模型中,用户可自定义用例模型所关联的用例属性。用户可在用例属性配置项选择其中一个用例模型作为目标应用的用例模型,以此完成目标应用的用例属性的配置。该方式中,目标应用的用例信息用于指示用户为目标应用选择的用例模型所关联的一个或多个用例属性。其中,用例模型和用例属性的关联关系可存储在存储管理系统130中或存储管理系统130从外部设备获取。
值得注意的是,在上述实施方式中,当用户为目标应用配置了用例属性时,本实施例的方法中可不包括步骤501,也即步骤501为可选的步骤,并非必须执行的步骤。
在又一种实施方式中,存储管理系统130根据目标应用的信息,如应用标识和/或用例标识以及步骤501获取的第一对应关系确定目标应用的用例信息。此时,用户可不单独配置用例属性,可选的,图7也可不包括用例属性配置项,即用户可不单独配置目标应用的用例属性。
继续以图6为例,步骤503可以由智能动态影响映射器引擎202执行。例如,资源配置模块201可提供该访问接口,用户在访问接口完成目标应用的用例属性配置(或应用标识和/或用例标识)之后,资源配置模块201将从该访问接口获取的用户配置的目标应用的用例属性发送给智能动态影响映射器引擎202。
步骤504,根据目标应用的用例信息和第二对应关系,确定用例信息所指示的每个用例属性对应的存储参数。
举例来说,假设目标应用的信息包括应用标识a001,用例标识u001,目标应用的用例信息包括属性标识x、属性标识y。基于该用例信息和表2所示出的第二对应关系可以确定目标应用的每个用例属性所对应的一个或多个存储参数,参见下列表3所示。
表3.目标应用的用例属性与存储参数的对应关系
需要说明的是,表3仅为一种举例,本实施例对此不做限定。如表3还可不包括应用标识和/或用例标识。
步骤505,获取目标应用的用例属性对应的多组采样数据。
以一项用例属性(记为第一用例属性)为例,第一用例属性对应的每组采样数据包括目标应用处于(或呈现为)第一用例属性所指示的行为特征时的应用性能的采样值和第一用例属性对应的每项存储参数的采样值。
继续以第一用例属性为例,获取第一用例属性对应的多组采样数据的过程可包括:
步骤a,获取目标应用在一段时间内处于第一用例属性的行为特征时的运行数据,该运行数据可以是对目标应用的性能进行测试获得的。比如,第一用例属性为读取小文件,则运行数据可以是对目标应用执行小文件读取的性能进行测试得到的,在不同时间/条件下测试所获得的值即为第一应用用例对应的应用性能的一个采样值。比如,该运行数据包括在时刻T1、T2、T3、…、Tn分别测试将获得的应用性能的采样值,记为A1v1、A1v2、A1v3…A1vn。可选的,本实施例还可以对采集到的数据点进行清洗,如通过有效值范围对采集到的数据点进行筛选,基于筛选后的数据点进行插值/外推来填充缺失的数据点。其中,插值/外推方法可以是使用位于缺失的数据点前一位的相邻数据点来填充,或采用基于有效值构建多变量函数实现,或采用其他方式,具体不做限定。
其中,目标应用的运行数据可由目标应用方来提供,测试方式可以是业界采用的基准测试、实验室测试、生产环境测试等任意方式,本实施例对此不做限定。
以图6为例,在一种实施方式中,步骤a可以是目标应用的运维管理人员将目标应用的运行数据通过资源配置模块201上传至存储管理系统130,智能动态影响映射器引擎202通过资源配置模块201获取该运行数据。
步骤b,获取存储系统120中第一用例属性对应的存储参数在一段时间内的监控数据。
应理解,步骤b中的“一段时间”与步骤a中的“一段时间”应存在交集,从而可获得多组采样数据,每组采用数据包括在相同时间点分别对应的应用性能的采样值和存储参数的采样值,即应用性能的采样值的采样时刻和存储参数的采样值的采样时刻相同。比如,以表3为例,假设第一用例属性的属性标识为x,第一用例属性对应于存储参数param 1、param2。基于param1的监控数据,获得该监控数据中时刻T1、T2、T3、…、Tn分别对应的param1的采样值,记为P1v1、P1v2、P1v3…P1vn。类似的,基于param2的监控数据,获得该监控数据中时刻T1、T2、T3、…、Tn分别对应的param2的采样值,记为P12v1、P2v2、P2v3…P2vn。类似的,本实施例也可以对存储参数的监控数据进行清洗,清洗方式可参见上文的相关介绍,此处不再赘述。
以图6为例,在一种实施方式中,步骤b可以是智能动态影响映射器引擎202通过数据采集接口203获取存储参数的监控数据。其中,数据采集接口203用于与存储系统120通信,智能动态影响映射器引擎202可通过数据采集接口203访问存储系统120以存取数据。
在上述例子中,第一用例属性对应的多组采样数据可包括:(A1v1,P1v1),(A1v2,P1v2),(A1v3,P1v3),…,(A1vn,P1vn),(A1v1,P2v1),(A1v2,P2v2),(A1v3,P2v3),…,(A1vn,P2vn)。或者,第一用例属性对应的多组采样数据还可表示为:(A1v1,P1v1,P2v1),(A1v2,P1v2,P2v2),(A1v3,P1v3,P2v2),…,(A1vn,P1vn,P2vn),本实施例对此不做限定。
若目标应用还包括第二用例属性,则可参照上述流程获取第二用例属性的多组采样数组,此处不再赘述。
值得注意的是,当目标应用包括多项用例属性时,本实施例提供的数据处理方式支持仅对多项用例属性中的其中一项用例属性执行该方法流程,或者,支持多项用例属性中的部分项用例属性或每项用例属性分别进行该方法流程。
步骤506,根据目标应用的多组采样数据,确定用例属性(如第一用例属性)对应的存储参数对第一用例属性的影响权重,影响权重用于指示存储参数对目标应用处于第一用例属性的行为特征时的应用性能的影响程度。
继续以第一用例属性为例,在第一种实施方式中,基于第一用例属性对应的多组采样数据和预设算法计算存储参数对第一用例属性的影响权重。
其中,该预设算法包括:以第一用例属性的一组采样数据(如A1v1,P1v1,P2v1)为例,计算该组采用数据中每个存储参数在该组采样数据中第一用例属性对应的所有存储参数的采样值之和的占比,和该组采用数据中第一用例属性的采样值之积(作为该组采用数据中该存储参数的中间值),分别计算多组采样数据中每个参数的中间值,以一个存储参数为例,该参数的多个中间值之和与第一用例属性的多个采样值之和的比值即为该存储参数对该第一用例属性的影响权重。
示例性的,预设算法满足于下列公式:
Pnwtn=[A1v1× [Pnv1×100 /(sigma(P1v1,Pnv1))] 公式1
总Pnwtn=sigma(Pnwt1,Pnwtn) 公式2
A1Sum = sigma(A1v1, A1vn) 公式3
平均Pnwt对于A1的影响权重=sigma(Pnwt1,Pnwtn)/a1Sum=总Pnwtn/a1Sum公式4
其中,sigma表示对()内元素求和;
A1v1:第一用例属性对应的应用性能的采样值1(简称为第一用例属性的值1);
A1vn:第一用例属性对应的应用性能的采样值n(简称为第一用例属性的值n);
P1v1:存储参数Param 1的采样值1(简称为存储参数Param 1的值1);
Pnv1:存储参数Param n的采样值n(简称为存储参数Param 1的值n);
Pnwtn:给定存储参数Param n的单个权重计算;
A1Sum:第一用例属性的所有值的总和。
举例来说,以第一用例属性对应的多组采样数据(A1v1,P1v1,P2v1),(A1v2,P1v2,P2v2),(A1v3,P1v3,P2v2),…,(A1vn,P1vn,P2vn)为例,假设第一用例属性的值和存储参数的值如表4所示。
表4.存储参数对第一用例属性的影响权重
表4的计算过程如下:
P1wtn=[A1v1×[P1v1×100/(sigma(P1v1,Pnv1))]
=50×[20×100/(20+30+40+60)]=3333.333333;
P2wtn=[A1v1×[P2v1×100/(sigma(P2v1,Pnv1))]
=50×[10×100/(20+30+40+60)]=1666.666667;
A1 Sum=sigma(A1v1,A1vn)=50+60+70+100=280;
总P1wtn=sigma(P1wt1,P1wtn)=3333.333333+4000+4000+6000=17333.333333;
总P2wtn=sigma(P2wt1,P2wtn)=1666.666667+2000+3000+4000=10666.66667;
Param 1对A1的影响权重=总P1wtn/A1Sum=17333.3333333/280=61.9047319;
Param 2对A1的影响权重=总P2wtn/A1Sum=10666.66667/280=38.0952381;
结合表3,假设目标应用的第一用例属性的属性标识为x,目标应用的第二用例属性的用例标识为y,则目标应用的第二用例属性对应的存储参数对第二用例属性的影响权重可参见上文对第一用例属性的相关介绍,此处不再赘述。
目标应用的存储相关性和影响权重(storage correlation and impactweightage,SCIW)数据库(Database,DB)可包括目标应用的各用例属性与存储参数的相关性,如参见表5所示。
表5.目标应用的SCIW DB
应用标识 | 应用用例标识 | 属性标识 | 存储参数名称 | 影响权重 |
a001 | u001 | x | param 1 | 62 |
a001 | u001 | x | param 2 | 38 |
a001 | u001 | y | param 1 | k1 |
a001 | u001 | y | param 3 | k2 |
上文为基于预设算法来计算存储参数对用例属性的影响权重,在另一种实施方式中,还可以将第一用例属性对应的多组采样数据输入训练后的机器学习模型,由机器学习模型输出存储参数对第一用例属性的影响权重。
示例性的,影响权重越大表示对应用性能的影响程度越大,相反,影响权重越小表示对应用性能的影响程度越小。或者,也可以是影响权重越小表示对应用性能的影响程度越大,相反,影响权重越大表示对应用性能的影响程度越小。下文以前者为例进行说明。
通过上述设计,可确定应用的每项用例属性对应的存储参数对相应用例属性的影响权重,该影响权重可表征存储参数与应用用例之间的相关性,实现了应用对存储参数配置需求的量化,一方面用户基于应用的每项用例属性对应的存储参数可大致获知针对应用所需配置的存储参数,另一方面,用户基于所获得存储参数对用例属性的影响权重的大小可确定哪些存储参数对应用性能的影响程度大,从而可针对性对影响权重较大的存储参数进行配置,使所配置的存储参数尽可能满足应用用例的性能需求,不同于用户依赖专家经验或盲目尝试的方式来配置存储参数,用户基于量化后的影响权重可提高存储参数的配置效率和准确度,有利于构建与存储相关的较佳或最佳系统性能。
步骤507,根据该目标应用的映射信息,执行预设操作。
目标应用的映射信息可包括目标应用的一项或多项用例属性中部分或全部用例属性相关的影响权重信息,每项用例属性相关的影响权重信息包括该用例属性对应的存储参数对该用例属性的影响权重。当映射信息包括目标应用的所有用例属性相关的影响权重信息时,该映射信息即为前述的目标应用的存储相关性和影响权重数据库。
在一种示例中,预设操作包括,向用户发送该目标应用的映射信息。发送方式可以是通过音频、视频、文字、短信、网页等一种或多种组合的方式。例如,通过用户界面展示该目标应用的映射信息,或向用户所使用的终端设备发送该目标应用的映射信息。如此用户可参考影响权重确定哪些存储参数对应用性能的影响较大,从而可检验用户为应用配置的工作负载模型是否准确、存储参数是否合理、或是否漏配、或重配置影响权重较大的存储参数。
在又一种示例中,预设操作包括,基于目标应用的映射信息确定目标应用的存储参数优化信息,存储参数优化信息用于指示待优化的存储参数,待优化的存储参数包括对目标应用的部分或全部用例属性中每项用例属性的影响权重较大的一个或多个存储参数,或与用例属性的影响权重较大的一个或多个存储参数相关的存储参数。可选的,存储参数优化信息还包括每个待优化的存储参数的目标值或目标值范围。如此,用户可基于存储参数优化信息选择性重配置待优化的存储参数。
在另一种示例中,预设操作包括,确定存储参数优化策略,存储参数优化策略包括待优化的存储参数及每个待优化的存储参数的目标值,待优化的存储参数包括对目标应用的部分或全部用例属性中每项用例属性的影响权重较大的一个或多个存储参数,或与用例属性的影响权重较大的一个或多个存储参数相关的存储参数。基于该存储参数优化策略将存储系统120中该目标应用对应的待优化的存储参数的值调整为相应的目标值。
举例来说,如果读带宽对用例属性(如视频流)的影响权重较大,则可以重新配置存储系统120中该应用对应的LUN的数量和/或LUN的带宽值,比如,该应用总共配置了3个LUN,并限制每个LUN的带宽不超过150MB,假设基于应用的SLA确定该应用的带宽需求大于500MB,则调整方式可以增加LUN的数量,或调整每个LU内的带宽上限为200MB等。如果IOPS对用例属性(如频繁读取小文件)的影响权重较大,则可以重配置应用的工作负载中读数据请求的大小(IOsize),或选择能够达到较大IOPS的存储系统来运行该应用,等等。如此,通过自动调整应用的存储参数来保障应用用例的应用性能。
以图6为例,步骤507可以由智能动态影响映射器引擎202或智能应用性能洞察器引擎204执行,如在一种实施方式中,智能动态影响映射器引擎202将目标应用的映射信息发送给智能应用性能洞察器引擎204,可选的,智能应用性能洞察器引擎204将目标应用的映射信息发送给资源配置模块201,或者,由智能动态影响映射器引擎202将目标应用的映射信息发送给资源配置模块201。或者,可选的,智能应用性能洞察器引擎204可根据目标应用的映射信息确定存储参数优化信息或存储参数优化策略,之后可选的,智能应用性能洞察器引擎204将存储参数优化信息发送给资源配置模块201,或智能应用性能洞察器引擎204将存储参数优化策略发送给资源配置模块201,资源配置模块201将存储参数优化策略配置给存储系统120,以在存储系统120中生效。
需要说明的是,步骤507为可选的步骤,并非为必须执行的步骤。另外需要说明的是,上文所述的存储管理系统130所包括的各模块的名称仅为一种示例,在不同记载中可能具有不同的名称,具体不做限定。
以上结合附图介绍了本申请实施例提供的方法,以下结合附图介绍本申请实施例提供的装置。
基于与方法实施例同一发明构思,本申请实施例还提供了一种数据处理装置,该装置用于执行上述图5的方法实施例中存储管理系统130或智能动态影响映射器引擎202执行的方法。如图8所示,装置800包括确定模块801、获取模块802、处理模块803,具体地,在该装置800中,各模块之间通过通信通路建立连接。
确定模块801,用于确定应用的一项或多项用例属性,每项用例属性用于指示所述应用的一种行为特征;具体可参见图5方法实施例中步骤504的描述,此处不再赘述。
获取模块802,用于针对所述一项或多项用例属性中的第一用例属性,获取所述第一用例属性对应的多组采样数据,每组采样数据包括所述应用处于所述第一用例属性所指示的行为特征时的应用性能的采样值和所述第一用例属性对应的存储参数的采样值,所述存储参数为存储系统运行所述应用的存储参数;具体可参见图5方法实施例中步骤505的描述,此处不再赘述。
处理模块803,用于根据所述多组采样数据,确定所述存储参数对所述第一用例属性的影响权重,所述影响权重用于指示所述存储参数影响所述应用性能的程度。具体可参见图5方法实施例中步骤506的描述,此处不再赘述。
在一种可能的实现方式中,确定模块801,还用于根据对应关系确定所述应用的每项用例属性对应的一个或多个存储参数,所述对应关系指示多个用例属性和存储参数之间的对应关系,所述存储参数包括一个或多个存储系统所包括的存储参数,所述一个或多个存储系统包括用于运行所述应用的存储系统。
在一种可能的实现方式中,处理模块803在确定所述存储参数对所述第一用例属性的影响权重时,具体用于:基于所述多组采样数据和预设算法计算所述存储参数对所述第一用例属性的影响权重。
在一种可能的实现方式中,处理模块803在确定所述存储参数对所述第一用例属性的影响权重时,具体用于:将所述多组采样数据作为训练后的机器学习模型的输入数据,获得所述机器学习模型的输出结果,所述输出结果包括所述存储参数对所述第一用例属性的影响权重。
在一种可能的实现方式中,处理模块在确定所述每项存储参数对所述第一用例属性的影响权重之后,还用于:向用户发送所述应用的映射信息,所述映射信息用于指示所述应用的一项或多项用例属性中,每项用例属性对应的存储参数对所述用例属性的影响权重。
在一种可能的实现方式中,处理模块803在确定所述每项存储参数对所述第一用例属性的影响权重之后,还用于:向用户发送所述应用的存储参数优化信息,所述存储参数优化信息用于指示待优化的存储参数,所述待优化的存储参数包括对所述应用的用例属性的影响权重较大的一个或多个存储参数。
在一种可能的实现方式中,处理模块803在确定所述每项存储参数对所述第一用例属性的影响权重之后,还用于:确定所述应用的存储参数优化策略,所述存储参数优化策略用于指示待优化的存储参数及所述待优化的存储参数的目标值,所述待优化的存储参数包括对所述应用的至少一项用例属性的影响权重较大的一个或多个存储参数;基于所述存储参数优化策略将所述存储系统中所述待优化的存储参数调整为所述存储参数的目标值。
在一种可能的实现方式中,所述用例属性包括下列中的一项或多项:访问小文件、访问大文件、访问音频流、访问视频流、写入小文件、写入大文件、写入音频流、写入视频流。
在一种可能的实现方式中,所述存储参数包括下列中的一项或多项:每秒输入输出操作次数IOPS、读响应时间、写响应时间、平均响应时间、读带宽、写带宽、平均带宽。
需要说明的是,本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。在本申请的实施例中的各功能模块可以集成在一个模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中,比如,确定模块801和获取模块802集成在一个模块中,或者确定模块801和处理模块803为同一个模块。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请还提供一种计算设备900。如图9所示,计算设备900包括:总线902、处理器904、存储器906和通信接口908。处理器904、存储器906和通信接口908之间通过总线902通信。计算设备900可以是服务器或存储阵列或硬盘框等。应理解,本申请不限定计算设备900中的处理器、存储器的个数。
总线902可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线902可包括在计算设备900各个部件(例如,存储器906、处理器904、通信接口908)之间传送信息的通路。
处理器904可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)、微控制器(microcentral unit,MCU)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器906可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器904还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)等,具体不做限定。
在一种实施方式中,该计算设备900用于执行数据处理装置800的行为的功能,其中,存储器906中存储有可执行的程序代码,处理器904执行该可执行的程序代码以分别实现前述确定模块801、获取模块802、处理模块803的功能,从而实现数据处理方法。也即,存储器906上存有计算设备900用于执行本申请提供的数据处理方法的指令。
通信接口908使用例如但不限于网络接口卡、收发器一类的收发模块,来实现计算设备900与其他设备或通信网络之间的通信。
本申请实施例还提供了一种包含指令的计算机程序产品。所述计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当所述计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行拥塞检测方法。
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行拥塞检测方法。
可选的,本申请实施例中的计算机执行指令也可以称之为应用程序代码,本申请实施例对此不作具体限定。
本领域普通技术人员可以理解:在本申请的描述中,除非另有说明,“多个”的含义是两个或两个以上。本申请中涉及的第一、第二等各种数字编号仅为描述方便进行的区分,并不用来限制本申请实施例的范围,也表示先后顺序。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。“至少一个”是指一个或者多个。至少两个是指两个或者多个。“至少一个”、“任意一个”或其类似表达,是指的这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个、种),可以表示:a,b,c,a-b,a-c,b-c,或a-b-c,其中a,b,c可以是单个,也可以是多个。“多个”是指两个或两个以上,其它量词与之类似。此外,对于单数形式“a”,“an”和“the”出现的元素(element),除非上下文另有明确规定,否则其不意味着“一个或仅一个”,而是意味着“一个或多于一个”。例如,“a device”意味着对一个或多个这样的device。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包括一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
本申请实施例中所描述的各种说明性的逻辑单元和电路可以通过通用处理器,数字信号处理器,专用集成电路(ASIC),现场可编程门阵列(FPGA)或其它可编程逻辑装置,离散门或晶体管逻辑,离散硬件部件,或上述任何组合的设计来实现或操作所描述的功能。通用处理器可以为微处理器,可选地,该通用处理器也可以为任何传统的处理器、控制器、微控制器或状态机。处理器也可以通过计算装置的组合来实现,例如数字信号处理器和微处理器,多个微处理器,一个或多个微处理器联合一个数字信号处理器核,或任何其它类似的配置来实现。
本申请实施例中所描述的方法或算法的步骤可以直接嵌入硬件、处理器执行的软件单元、或者这两者的结合。软件单元可以存储于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM或本领域中其它任意形式的存储媒介中。示例性地,存储媒介可以与处理器连接,以使得处理器可以从存储媒介中读取信息,并可以向存储媒介存写信息。可选地,存储媒介还可以集成到处理器中。处理器和存储媒介可以设置于ASIC中。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管结合具体特征及其实施例对本申请进行了描述,显而易见的,在不脱离本申请的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所附权利要求所界定的本申请的示例性说明,且视为已覆盖本申请范围内的任意和所有修改、变化、组合或等同物。显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包括这些改动和变型在内。
Claims (18)
1.一种数据处理方法,其特征在于,所述方法包括:
确定应用的一项或多项用例属性,所述用例属性用于指示所述应用的行为特征;
针对所述一项或多项用例属性中的第一用例属性,执行:
获取所述第一用例属性对应的多组采样数据,每组采样数据包括所述应用处于所述第一用例属性所指示的行为特征时的应用性能的采样值和所述第一用例属性对应的存储参数的采样值,所述存储参数为存储系统运行所述应用的存储参数;
根据所述多组采样数据,确定所述存储参数对所述第一用例属性的影响权重,所述影响权重用于指示所述存储参数影响所述应用性能的程度。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
根据对应关系确定所述应用的每项用例属性对应的一个或多个存储参数,所述对应关系指示多个用例属性和存储参数之间的对应关系,所述存储参数包括一个或多个存储系统所包括的存储参数,所述一个或多个存储系统包括用于运行所述应用的存储系统。
3.如权利要求1或2所述的方法,其特征在于,根据所述多组采样数据,确定所述存储参数对所述第一用例属性的影响权重,包括:
基于所述多组采样数据和预设算法计算所述存储参数对所述第一用例属性的影响权重。
4.如权利要求1或2所述的方法,其特征在于,根据所述多组采样数据,确定所述存储参数对所述第一用例属性的影响权重,包括:
将所述多组采样数据作为训练后的机器学习模型的输入数据,获得所述机器学习模型的输出结果,所述输出结果包括所述存储参数对所述第一用例属性的影响权重。
5.如权利要求1-4任一项所述的方法,其特征在于,确定所述每项存储参数对所述第一用例属性的影响权重之后,还包括:
向用户发送所述应用的映射信息,所述映射信息用于指示所述应用的一项或多项用例属性中,每项用例属性对应的存储参数对所述用例属性的影响权重。
6.如权利要求1-4任一项所述的方法,其特征在于,确定所述每项存储参数对所述第一用例属性的影响权重之后,还包括:
向用户发送所述应用的存储参数优化信息,所述存储参数优化信息用于指示待优化的存储参数,所述待优化的存储参数包括对所述应用的用例属性的影响权重较大的一个或多个存储参数。
7.如权利要求1-4任一项所述的方法,其特征在于,确定所述每项存储参数对所述第一用例属性的影响权重之后,还包括:
确定所述应用的存储参数优化策略,所述存储参数优化策略用于指示待优化的存储参数及所述待优化的存储参数的目标值,所述待优化的存储参数包括对所述应用的至少一项用例属性的影响权重较大的一个或多个存储参数;
基于所述存储参数优化策略将所述存储系统中所述待优化的存储参数调整为所述存储参数的目标值。
8.如权利要求1-7任一项所述的方法,其特征在于,所述用例属性包括下列中的一项或多项:
访问小文件、访问大文件、访问音频流、访问视频流、写入小文件、写入大文件、写入音频流、写入视频流。
9.如权利要求1-8任一项所述的方法,其特征在于,所述存储参数包括下列中的一项或多项:
每秒输入输出操作次数IOPS、读响应时间、写响应时间、平均响应时间、读带宽、写带宽、平均带宽。
10.一种数据处理装置,其特征在于,所述装置包括:
确定模块,用于确定应用的一项或多项用例属性,所述用例属性用于指示所述应用的行为特征;
获取模块,用于针对所述一项或多项用例属性中的第一用例属性,获取所述第一用例属性对应的多组采样数据,每组采样数据包括所述应用处于所述第一用例属性所指示的行为特征时的应用性能的采样值和所述第一用例属性对应的存储参数的采样值,所述存储参数为存储系统运行所述应用的存储参数;
处理模块,用于根据所述多组采样数据,确定所述存储参数对所述第一用例属性的影响权重,所述影响权重用于指示所述存储参数影响所述应用性能的程度。
11.如权利要求10所述的装置,其特征在于,所述确定模块,还用于根据对应关系确定所述应用的每项用例属性对应的一个或多个存储参数,所述对应关系指示多个用例属性和存储参数之间的对应关系,所述存储参数包括一个或多个存储系统所包括的存储参数,所述一个或多个存储系统包括用于运行所述应用的存储系统。
12.如权利要求10或11所述的装置,其特征在于,所述处理模块在确定所述存储参数对所述第一用例属性的影响权重时,具体用于:基于所述多组采样数据和预设算法计算所述存储参数对所述第一用例属性的影响权重。
13.如权利要求10或11所述的装置,其特征在于,所述处理模块在确定所述存储参数对所述第一用例属性的影响权重时,具体用于:将所述多组采样数据作为训练后的机器学习模型的输入数据,获得所述机器学习模型的输出结果,所述输出结果包括所述存储参数对所述第一用例属性的影响权重。
14.如权利要求10或-13任一项所述的装置,其特征在于,所述处理模块在确定所述每项存储参数对所述第一用例属性的影响权重之后,还用于:向用户发送所述应用的映射信息,所述映射信息用于指示所述应用的一项或多项用例属性中,每项用例属性对应的存储参数对所述用例属性的影响权重。
15.如权利要求10-13任一项所述的装置,其特征在于,所述处理模块在确定所述每项存储参数对所述第一用例属性的影响权重之后,还用于:向用户发送所述应用的存储参数优化信息,所述存储参数优化信息用于指示待优化的存储参数,所述待优化的存储参数包括对所述应用的用例属性的影响权重较大的一个或多个存储参数。
16.如权利要求10-13任一项所述的装置,其特征在于,所述处理模块在确定所述每项存储参数对所述第一用例属性的影响权重之后,还用于:确定所述应用的存储参数优化策略,所述存储参数优化策略用于指示待优化的存储参数及所述待优化的存储参数的目标值,所述待优化的存储参数包括对所述应用的至少一项用例属性的影响权重较大的一个或多个存储参数;基于所述存储参数优化策略将所述存储系统中所述待优化的存储参数调整为所述存储参数的目标值。
17.一种计算节点,其特征在于,所述节点包括处理器和存储器,所述存储器用于存储计算机程序指令,所述处理器用于执行如权利要求1-9任一项所述的方法。
18.一种计算机存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-9任一项所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2022117382737 | 2022-12-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118276769A true CN118276769A (zh) | 2024-07-02 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11550630B2 (en) | Monitoring and automatic scaling of data volumes | |
US10447772B2 (en) | Managed function execution for processing data streams in real time | |
US10412170B2 (en) | Retention-based data management in a network-based data store | |
US9635101B2 (en) | Proposed storage system solution selection for service level objective management | |
US10270668B1 (en) | Identifying correlated events in a distributed system according to operational metrics | |
US9864517B2 (en) | Actively responding to data storage traffic | |
US9406029B2 (en) | Modeler for predicting storage metrics | |
US9122739B1 (en) | Evaluating proposed storage solutions | |
US8601025B1 (en) | Techniques using a bidirectional graph for reporting to clients | |
US8856483B1 (en) | Virtual data storage service with sparse provisioning | |
US9438665B1 (en) | Scheduling and tracking control plane operations for distributed storage systems | |
US11704022B2 (en) | Operational metric computation for workload type | |
US10158709B1 (en) | Identifying data store requests for asynchronous processing | |
US11914894B2 (en) | Using scheduling tags in host compute commands to manage host compute task execution by a storage device in a storage system | |
US10135703B1 (en) | Generating creation performance metrics for a secondary index of a table | |
US20220358106A1 (en) | Proxy-based database scaling | |
US11093493B1 (en) | Dynamically switching between query and scan for optimizing table reads | |
US11994941B2 (en) | Analysis and remediation of alerts | |
CN118276769A (zh) | 一种数据处理方法及装置 | |
US11580082B2 (en) | Object storage system with control entity quota usage mapping | |
US20140358479A1 (en) | Storage unit performance adjustment | |
US11755216B2 (en) | Cache memory architecture and management | |
US11893421B2 (en) | Data movement between storage tiers of a clustered storage system based on input/output patterns of storage objects | |
US11599461B2 (en) | Cache memory architecture and management | |
US11941454B1 (en) | Dynamically modifying block-storage volumes using workload classifications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication |