CN111176565B - 确定应用的存储负载的方法和设备 - Google Patents

确定应用的存储负载的方法和设备 Download PDF

Info

Publication number
CN111176565B
CN111176565B CN201911355595.1A CN201911355595A CN111176565B CN 111176565 B CN111176565 B CN 111176565B CN 201911355595 A CN201911355595 A CN 201911355595A CN 111176565 B CN111176565 B CN 111176565B
Authority
CN
China
Prior art keywords
read
write request
predetermined period
machine learning
time
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.)
Active
Application number
CN201911355595.1A
Other languages
English (en)
Other versions
CN111176565A (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.)
Samsung China Semiconductor Co Ltd
Samsung Electronics Co Ltd
Original Assignee
Samsung China Semiconductor Co Ltd
Samsung Electronics 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 Samsung China Semiconductor Co Ltd, Samsung Electronics Co Ltd filed Critical Samsung China Semiconductor Co Ltd
Priority to CN201911355595.1A priority Critical patent/CN111176565B/zh
Publication of CN111176565A publication Critical patent/CN111176565A/zh
Priority to KR1020200160095A priority patent/KR20210082349A/ko
Priority to US17/108,196 priority patent/US20210201201A1/en
Application granted granted Critical
Publication of CN111176565B publication Critical patent/CN111176565B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0631Configuration or reconfiguration of storage systems by allocating resources to storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
    • G06F11/3433Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment for load management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3452Performance evaluation by statistical analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0635Configuration or reconfiguration of storage systems by changing the path, e.g. traffic rerouting, path reconfiguration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2206/00Indexing scheme related to dedicated interfaces for computers
    • G06F2206/10Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
    • G06F2206/1012Load balancing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/082Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

提供一种确定应用的存储负载的方法和设备,所述方法包括:获取应用在预定时间段内产生的存储负载的统计数据;将统计数据输入到预先训练好的机器学习模型,通过预先训练好的机器学习模型确定所述存储负载在预定时间段内的读/写请求跟踪数据,其中,统计数据是指应用在预定时间段内产生的所有读/写请求的全局统计信息,读/写请求跟踪数据是指应用在预定时间段内产生的每个读/写请求的请求描述信息。根据所述方法和设备,可以在保证应用的性能且不占用较多资源的情况下,最大程度地重现用于分析存储负载的时/空分布特征,为更加深入地研究存储负载提供依据。

Description

确定应用的存储负载的方法和设备
技术领域
本发明总体来说涉及存储负载的优化领域,更具体地讲,涉及一种确定应用的存储负载的方法和设备。
背景技术
物联网的快速发展,给其应用的存储负载带来了极大的挑战。例如,如果应用的存储负载过大,会导致应用的性能的大幅度下降,例如,时间延迟、数据丢失等。及时获悉应用的历史存储负载情况,有利于对下一时间段的存储负载进行预测和调整,保证应用的稳定。
目前,可利用实时获取的存储负载的读/写请求跟踪数据或者统计数据分析存储负载的情况,但是,上述两种方法分别具有以下弊端:虽然读/写请求跟踪数据记录有每一条读/写请求的描述信息,能够全面地分析存储负载的时/空分布特征,可以作为分析应用的存储负载的依据,但是,每一条读/写请求的描述信息是通过解析接收的存储负载的读/写请求,记录并存储解析后的数据而得来的,这个过程需要占用较多的资源,影响了应用处理其他业务的性能。另一方面,虽然统计数据较易获取,对应用性能的影响不大,但是统计数据仅能宏观地体现存储负载在预定时间段内产生的所有读/写请求的统计情况,无法得到存储负载在预定时间段内产生的每一条读/写请求的描述信息,例如,每一条读/写请求所请求的存储容量的大小、每一条读/写请求所属的进程、每一条读/写请求的请求时间戳等,因此,统计数据仅能体现出存储负载的整体情况,而无法提供存储负载的细节信息,也就是说,统计数据无法提供完整的分析存储负载情况的有效信息。
综上所述,现有的获取应用的存储负载的历史情况的方式均具有局限性,无法满足人们的需求。
发明内容
本发明的示例性实施例在于提供一种确定应用的存储负载的方法和设备,其能够克服无法保证应用的性能且不占用较多资源的情况下获悉应用的存储负载的压力情况的缺陷。
根据本发明的示例性实施例的一方面,提供一种确定应用的存储负载的方法,包括:获取应用在预定时间段内产生的存储负载的统计数据;将所述统计数据输入到预先训练好的机器学习模型,通过预先训练好的机器学习模型确定所述存储负载在预定时间段内的读/写请求跟踪数据,其中,所述统计数据是指应用在预定时间段内产生的所有读/写请求的全局统计信息,所述读/写请求跟踪数据是指应用在预定时间段内产生的每个读/写请求的请求描述信息,通过这种方式,可以在保证应用的性能且不占用较多资源的情况下,获悉应用的存储负载的压力情况。
可选地,全局统计信息是指对所有读/写请求解析获得的描述数据进行统计处理得到的统计特征值,任一读/写请求的请求描述信息是指对所述任一读/写请求解析获得的描述数据。
可选地,通过以下方式训练机器学习模型:获取应用在至少一个业务处理周期内产生的存储负载的历史统计数据和历史读/写请求跟踪数据,其中,获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,所述业务处理周期是指应用处理一个预定时间单位产生的读/写请求花费的时间;利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型。
可选地,利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型的步骤包括:将获取的历史统计数据输入机器学习模型,确定机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度;比较所述相似度与预定阈值的大小;当所述相似度小于预定阈值时,基于所述相似度调整机器学习模型的超参数或者权重;当所述相似度大于或者等于预定阈值时,将当前的机器学习模型作为训练好的机器学习模型。这里,由于训练机器学习模型时需要将至少一个业务处理周期内应用产生的历史统计数据和历史读写请求跟踪数据作为训练样本,因此,可以使得训练好的机器学习模型更加准确。此外,对超参数或者权重进行调整,有利用提高机器学习的性能和效果。
可选地,所述统计数据包括以下项中的至少一项:在预定时间段内产生的读请求的数量、在预定时间段内产生的写请求的数量、在预定时间段内产生的读请求和写请求的总数量、在预定时间段内产生的读/写请求的数量各占读请求和写请求的总数量的比例、在预定时间段内产生的读/写请求所请求的总存储容量、在预定时间段内产生的读/写请求所请求的存储容量的分布、在预定时间段内产生的读/写请求的请求时间戳的分布、在预定时间段内产生的读/写请求所请求的逻辑地址的分布、在预定时间段内产生的读/写请求所属的进程的分布,所述读/写请求跟踪数据包括以下项中的至少一项:在预定时间段内产生的每一条读/写请求所请求的存储容量的大小、在预定时间段内产生的每一条读/写请求的类型、在预定时间段内产生的每一条读/写请求所属的进程、在预定时间段内产生的每一条读/写请求的请求时间戳、在预定时间段内产生的每一条读/写请求所请求的逻辑地址。
根据本发明示例性实施例的另一方面,提供一种确定应用的存储负载的设备,包括:获取单元,获取应用在预定时间段内产生的存储负载的统计数据;处理单元,将所述统计数据输入到预先训练好的机器学习模型,通过预先训练好的机器学习模型确定所述存储负载在预定时间段内的读/写请求跟踪数据,其中,所述统计数据是指应用在预定时间段内产生的所有读/写请求的全局统计信息,所述读/写请求跟踪数据是指应用在预定时间段内产生的每个读/写请求的请求描述信息。通过这种方式,可以在保证应用的性能且不占用较多资源的情况下,获悉应用的存储负载的压力情况。
可选地,全局统计信息是指对所有读/写请求解析获得的描述数据进行统计处理得到的统计特征值,任一读/写请求的请求描述信息是指对所述任一读/写请求解析获得的描述数据。
可选地,处理单元通过以下方式训练机器学习模型:获取应用在至少一个业务处理周期内产生的存储负载的历史统计数据和历史读/写请求跟踪数据,利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型,其中,获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,所述业务处理周期是指应用处理一个预定时间单位产生的读/写请求花费的时间。由于训练机器学习模型时需要将至少一个业务处理周期内应用产生的历史统计数据和历史读写请求跟踪数据作为训练样本,因此,可以使得训练好的机器学习模型更加准确。此外,对超参数或者权重进行调整,有利用提高机器学习的性能和效果。
可选地,利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型的处理包括:将获取的历史统计数据输入机器学习模型,确定机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度;比较所述相似度与预定阈值的大小;当所述相似度小于预定阈值时,基于所述相似度调整机器学习模型的超参数或者权重;当所述相似度大于或者等于预定阈值时,将当前的机器学习模型作为训练好的机器学习模型。这里,对超参数或者权重进行调整,有利用提高学习的性能和效果。
可选地,所述统计数据包括以下项中的至少一项:在预定时间段内产生的读请求的数量、在预定时间段内产生的写请求的数量、在预定时间段内产生的读请求和写请求的总数量、在预定时间段内产生的读/写请求的数量各占读请求和写请求的总数量的比例、在预定时间段内产生的读/写请求所请求的总存储容量、在预定时间段内产生的读/写请求所请求的存储容量的分布、在预定时间段内产生的读/写请求的请求时间戳的分布、在预定时间段内产生的读/写请求所请求的逻辑地址的分布、在预定时间段内产生的读/写请求所属的进程的分布,所述读/写请求跟踪数据包括以下项中的至少一项:在预定时间段内产生的每一条读/写请求所请求的存储容量的大小、在预定时间段内产生的每一条读/写请求的类型、在预定时间段内产生的每一条读/写请求所属的进程、在预定时间段内产生的每一条读/写请求的请求时间戳、在预定时间段内产生的每一条读/写请求所请求的逻辑地址。
根据本发明示例性实施例的另一方面,提供一种电子设备,其中,所述电子设备包括:处理器;存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现根据本发明的确定应用的存储负载的方法。
根据本发明示例性实施例的另一方面,提供一种存储有计算机程序的计算机可读存储介质,当所述计算机程序在被处理器执行时实现根据本发明的确定应用的存储负载的方法。
根据本发明示例性实施例的确定应用的存储负载的方法和设备,能够利用存储负载的历史统计数据在一定程度上还原出存储负载当时的读/写请求跟踪数据,通过这种方式,可以在保证应用的性能且不占用较多资源的情况下,最大程度地重现用于分析存储负载的时/空分布特征,为更加深入地研究存储负载提供依据。
将在接下来的描述中部分阐述本发明总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明总体构思的实施而得知。
附图说明
通过下面结合示例性地示出实施例的附图进行的详细描述,本发明示例性实施例的上述和其他目的将会变得更加清楚,其中:
图1示出根据本发明示例性实施例的确定应用的存储负载的方法的流程图;
图2示出根据本发明示例性实施例的训练机器学习模型的步骤的流程图;
图3示出根据本发明示例性实施例的确定应用的存储负载的设备的框图。
具体实施方式
现将详细参照本发明的示例性实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本发明。
图1示出根据本发明示例性实施例的确定应用的存储负载的方法的流程图。这里,所述方法可由用于在电子设备中确定应用的存储负载的设备来实现,也可完全通过计算机程序来实现,例如,所述方法可通过安装在电子设备中的用于确定应用的存储负载的应用来执行,或者通过电子设备的操作系统中实现的功能程序来执行。作为示例,所述电子设备可以是个人计算机、服务器、平板电脑、智能手机等具有人工智能运算功能的电子设备。
如图1所示,在步骤S100,获取应用在预定时间段内产生的存储负载的统计数据,其中,所述统计数据是指应用在预定时间段内产生的所有读/写请求的全局统计信息。作为示例,全局统计信息是指对所有读/写请求解析获得的描述数据进行统计处理得到的统计特征值。
具体说来,可通过在应用的读/写请求下发到存储设备的路径上设置的至少一个监测点来获取应用在预定时间段内流经所述至少一个监测点的每一个读/写请求,解析获取的每一个读/写请求,利用对每一个读/写请求解析后得到的描述数据进行统计处理(例如,求和、求比重、求分布等),以得到应用在预定时间段内产生的存储负载的统计数据。
作为示例,所述统计数据可包括以下项中的至少一项:在预定时间段内产生的读请求的数量、在预定时间段内产生的写请求的数量、在预定时间段内产生的读请求和写请求的总数量、在预定时间段内产生的读/写请求的数量各占读请求和写请求的总数量的比例、在预定时间段内产生的读/写请求所请求的总存储容量、在预定时间段内产生的读/写请求所请求的存储容量的分布、在预定时间段内产生的读/写请求的请求时间戳的分布、在预定时间段内产生的读/写请求所请求的逻辑地址的分布、在预定时间段内产生的读/写请求所属的进程的分布。
另一方面,虽然获取统计数据的过程中涉及获取流经上述至少一个监测点的读/写请求的描述数据,但是获取统计数据仅涉及对读/写请求的描述数据的统计,并未涉及对读/写请求的描述数据的记录和存储。因此,获取统计数据的方式对无需占用大量的资源,对应用的性能的影响不大。然而,在现有技术中,如果获取可全面分析存储负载的时/空分布特征的每一条读/写请求的描述数据,需要将每一条读/写请求的描述数据进行记录和存储,将会占用大量资源,为了克服这一缺陷,在本发明中,可基于预先训练好的机器学习模型来预测存储负载在预定时间段内的读/写请求跟踪数据,从而在在保证应用的性能且不占用较多资源的情况下,为更加深入地研究存储负载提供依据。
具体说来,在步骤S200,可将所述统计数据输入到预先训练好的机器学习模型,通过预先训练好的机器学习模型确定所述存储负载在预定时间段内的读/写请求跟踪数据,这里,所述读/写请求跟踪数据是指应用在预定时间段内产生的每个读/写请求的请求描述信息。作为示例,任一读/写请求的请求描述信息是指对所述任一读/写请求解析获得的描述数据。
作为示例,所述读/写请求跟踪数据可包括以下项中的至少一项:在预定时间段内产生的每一条读/写请求所请求的存储容量的大小、在预定时间段内产生的每一条读/写请求的类型、在预定时间段内产生的每一条读/写请求所属的进程、在预定时间段内产生的每一条读/写请求的请求时间戳、在预定时间段内产生的每一条读/写请求所请求的逻辑地址。
作为示例,上述机器学习模型可通过以下方式进行训练:
首先:获取应用在至少一个业务处理周期内产生的存储负载的历史统计数据和历史读/写请求跟踪数据,其中,获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,这里,业务处理周期是指应用处理一个预定时间单位产生的读/写请求花费的时间。
具体说来,可抽取在至少一个业务处理周期内(例如,45分钟内、一天内、一周内、一个月内等)应用产生的存储负载的历史统计数据和历史读/写请求跟踪数据。这里,由于历史统计数据和历史读/写请求跟踪数据的数据格式与时间信息格式并不一致,因此,在获取历史统计数据和历史读/写请求跟踪数据之前,历史统计数据和历史读/写请求跟踪数据已被整理,从而使得获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,例如,在2019年3月5日的5:30分-5点40分获取的存储负载的统计数据和在在2019年3月5日的5:30分-5点40分存储负载产生的读/写请求跟踪数据对应。这里,由于训练机器学习模型时需要将至少一个业务处理周期内应用产生的历史统计数据和历史读写请求跟踪数据作为训练样本,因此,可以使得训练好的机器学习模型更加准确。
然后:利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型。
下面,将结合图2来详细描述利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型的步骤。
具体说来,如图2所示,当在步骤S210获取应用产生的存储负载的历史统计数据和历史读/写请求跟踪数据之后,在步骤S220,将获取的历史统计数据输入机器学习模型,确定机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度。这里,可用现有的任何方式确定相似度,本发明在此不做任何限定。
在步骤S230,比较相似度与预定阈值的大小,例如,确定相似度是否大于或者等于预定阈值。
当相似度大于或者等于预定阈值时,在步骤S240,将当前的机器学习模型作为训练好的机器学习模型。
当相似度小于预定阈值时,在步骤S250,基于相似度调整机器学习模型的超参数或者权重。作为示例,相似度可表示逻辑值和标准值之间的差异程度。在训练过程中,相似度越大,机器学习模型越稳定。
这里,超参数是指在机器学习的上下文中,在开始学习过程之前设置的参数。例如,学习率、深层神经网络隐藏层数,K均值聚类中的簇数等,通常情况下,可根据机器学习模型的相似度情况对超参数进行优化,以提高学习的性能和效果。例如,当相似度小于预定阈值时,可基于相似度确定机器学习模型的损失函数的输出:损失值loss value,当损失值小于损失值阈值并且在一个数值上下反复震荡时,可以通过减小机器学习模型的学习率,来使机器学习模型训练过程更加平滑,从而加快得到训练好的机器学习模型。
同样,也可使用现有的可选方式来根据相似度来调整机器学习模型的权重以提高学习的性能和效果,相应地,机器学习模型的权重的准确度随着训练机器学习模型的次数的增多而增大。
接下来,在用现有的方式调整了机器学习模型的超参数或者权重之后,可以返回执行步骤S220,继续将获取的历史统计数据(例如,之前输入过机器学习模型的历史统计数据或者未曾输入过机器学习模型的历史统计数据)输入机器学习模型,继续确定从机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度。重复上述步骤直至相似度大于或者等于预定阈值,直到得到训练好的机器学习模型为止。
另一方面,在利用所述统计数据预测出所述存储负载在预定时间段内的读/写请求跟踪数据之后,可以将得到的读/写请求跟踪数据作为估计预定时间段内的存储负载情况的依据,为调整应用的存储负载提供可参考的数据。
根据本发明示例性实施例的确定应用的存储负载的方法,能够利用存储负载的历史统计数据在一定程度上还原出存储负载当时的读/写请求跟踪数据,通过这种方式,可以在保证应用的性能且不占用较多资源的情况下,最大程度地重现用于分析存储负载的时/空分布特征,为更加深入地研究存储负载提供依据。
图3示出根据本发明示例性实施例的确定应用的存储负载的设备的框图。作为示例,所述电子设备可以是个人计算机、服务器、平板电脑、智能手机等具有人工智能运算功能的电子设备。
如图3所示,根据本发明示例性实施例的确定应用的存储负载的设备包括获取单元100和处理单元200。
获取单元100获取应用在预定时间段内产生的存储负载的统计数据,其中,所述统计数据是指应用在预定时间段内产生的所有读/写请求的全局统计信息。作为示例,全局统计信息是指对所有读/写请求解析获得的描述数据进行统计处理得到的统计特征值。
具体说来,获取单元100可通过在应用的读/写请求下发到存储设备的路径上设置的至少一个监测点来获取应用在预定时间段内流经所述至少一个监测点的每一个读/写请求,解析获取的每一个读/写请求,利用对每一个读/写请求解析后得到的描述数据进行统计处理(例如,求和、求比重、求分布等),以得到应用在预定时间段内产生的存储负载的统计数据。
作为示例,所述统计数据可包括以下项中的至少一项:在预定时间段内产生的读请求的数量、在预定时间段内产生的写请求的数量、在预定时间段内产生的读请求和写请求的总数量、在预定时间段内产生的读/写请求的数量各占读请求和写请求的总数量的比例、在预定时间段内产生的读/写请求所请求的总存储容量、在预定时间段内产生的读/写请求所请求的存储容量的分布、在预定时间段内产生的读/写请求的请求时间戳的分布、在预定时间段内产生的读/写请求所请求的逻辑地址的分布、在预定时间段内产生的读/写请求所属的进程的分布。
另一方面,虽然获取单元100获取统计数据的过程中涉及获取流经上述至少一个监测点的读/写请求的描述数据,但是获取统计数据仅涉及对读/写请求的描述数据的统计,并未涉及对读/写请求的描述数据的记录和存储,因此,获取统计数据的方式对无需占用大量的资源,对应用的性能的影响不大。然而,在现有技术中,如果获取可全面分析存储负载的时/空分布特征的每一条读/写请求的描述数据,需要将每一条读/写请求的描述数据进行记录和存储,导致占用大量资源,为了克服这一缺陷,在本发明中,可基于预先训练好的机器学习模型来预测存储负载在预定时间段内的读/写请求跟踪数据,从而在在保证应用的性能且不占用较多资源的情况下,为更加深入地研究存储负载的细节和压力回放提供依据。
具体说来,处理单元200可将所述统计数据输入到预先训练好的机器学习模型,通过预先训练好的机器学习模型确定所述存储负载在预定时间段内的读/写请求跟踪数据,这里,所述读/写请求跟踪数据是指应用在预定时间段内产生的每个读/写请求的请求描述信息。作为示例,任一读/写请求的请求描述信息是指对所述任一读/写请求解析获得的描述数据。
作为示例,所述读/写请求跟踪数据可包括以下项中的至少一项:在预定时间段内产生的每一条读/写请求所请求的存储容量的大小、在预定时间段内产生的每一条读/写请求的类型、在预定时间段内产生的每一条读/写请求所属的进程、在预定时间段内产生的每一条读/写请求的请求时间戳、在预定时间段内产生的每一条读/写请求所请求的逻辑地址。
作为示例,处理单元200可通过以下方式训练机器学习模型。
具体说来,首先,处理单元200获取应用在至少一个业务处理周期内产生的存储负载的历史统计数据和历史读/写请求跟踪数据,其中,获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,这里,业务处理周期是指应用处理一个预定时间单位产生的读/写请求花费的时间。
具体说来,处理单元200可抽取在至少一个业务处理周期内(例如,45分钟内、一天内、一周内、一个月内等)应用产生的存储负载的历史统计数据和历史读/写请求跟踪数据。这里,由于历史统计数据和历史读/写请求跟踪数据的数据格式与时间信息格式并不一致,因此,在获取历史统计数据和历史读/写请求跟踪数据之前,历史统计数据和历史读/写请求跟踪数据已被整理,从而使得获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,例如,在X年X月X日的5:30分-5点40分获取的存储负载的统计数据和在在X年X月X日的5:30分-5点40分存储负载产生的读/写请求跟踪数据对应。这里,由于训练机器学习模型时需要将至少一个业务处理周期内应用产生的历史统计数据和历史读写请求跟踪数据作为训练样本,因此,可以使得训练好的机器学习模型更加准确。
然后,处理单元200利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型。
这里,关于利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型的处理,作为示例,首先,可将获取的历史统计数据输入机器学习模型,确定机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度。
然后,比较相似度与预定阈值的大小,例如,确定相似度是否大于或者等于预定阈值。
当相似度大于或者等于预定阈值时,将当前的机器学习模型作为训练好的机器学习模型。当相似度小于预定阈值时,基于所述相似度调整机器学习模型的超参数或者权重。作为示例,相似度可表示逻辑值和标准值之间的差异程度。在训练过程中,相似度越大,机器学习模型越稳定。
这里,超参数是指在机器学习的上下文中,在开始学习过程之前设置的参数。例如,学习率、深层神经网络隐藏层数,K均值聚类中的簇数等,通常情况下,可根据机器学习模型的相似度情况对超参数进行优化,以提高学习的性能和效果。例如,当相似度小于预定阈值时,可基于相似度确定机器学习模型的损失函数的输出:损失值loss value,当损失值小于损失值阈值并且在一个数值上下反复震荡时,可以通过减小机器学习模型的学习率,来使机器学习模型训练过程更加平滑,从而加快得到训练好的机器学习模型。
同样,也可使用现有的可选方式来根据相似度来调整机器学习模型的权重以提高学习的性能和效果,相应地,机器学习模型的权重的准确度随着训练机器学习模型的次数的增多而增大。
接下来,在用现有的方式调整了机器学习模型的超参数或者权重之后,处理单元200可继续将获取的历史统计数据(例如,之前输入过机器学习模型的历史统计数据或者未曾输入过机器学习模型的历史统计数据)输入机器学习模型,继续确定从机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度。重复上述处理直至相似度大于或者等于预定阈值,得到训练好的机器学习模型为止。
另一方面,在利用所述统计数据预测出所述存储负载在预定时间段内的读/写请求跟踪数据之后,可以将得到的读/写请求跟踪数据作为估计预定时间段内的存储负载情况的依据,为调整应用的存储负载提供可参考的数据。
此外,应该理解,根据本发明示例性实施例的确定应用的存储负载的设备中的各个单元可被实现硬件组件和/或软件组件。本领域技术人员根据限定的各个单元所执行的处理,可以例如使用现场可编程门阵列(FPGA)或专用集成电路(ASIC)来实现各个单元。
根据本发明的示例性实施例的计算机可读存储介质,存储有当被处理器执行时使得处理器执行上述示例性实施例的确定应用的存储负载的方法的计算机程序。该计算机可读存储介质是可存储由计算机系统读出的数据的任意数据存储装置。计算机可读存储介质的示例包括:只读存储器、随机存取存储器、只读光盘、磁带、软盘、光数据存储装置和载波(诸如经有线或无线传输路径通过互联网的数据传输)。
根据本发明的示例性实施例的电子设备包括:处理器(未示出)和存储器(未示出),其中,存储器存储有计算机程序,当所述计算机程序被处理器执行时,实现如上述示例性实施例的确定应用的存储负载的方法。这里,存储器可以是非易失性存储器,作为示例,非易失性存储器的示例包括但不限于:英特尔非易失性内存IntelDCPMM、英特尔傲腾混合固态盘IntelH10和美光3D固态硬盘Micron 3DXpoint X100和固态硬盘SSD。
综上所述,在根据本发明示例性实施例的确定应用的存储负载的方法和设备中,能够利用存储负载的历史统计数据在一定程度上还原出存储负载当时的读/写请求跟踪数据,通过这种方式,可以在保证应用的性能且不占用较多资源的情况下,最大程度地重现用于分析存储负载的时/空分布特征,为更加深入地研究存储负载提供依据。
尽管已经参照其示例性实施例具体显示和描述了本发明,但是本领域的技术人员应该理解,在不脱离权利要求所限定的本发明的精神和范围的情况下,可以对其进行形式和细节上的各种改变。

Claims (12)

1.一种确定应用的存储负载的方法,包括:
获取应用在预定时间段内产生的存储负载的统计数据;
将所述统计数据输入到预先训练好的机器学习模型,通过预先训练好的机器学习模型确定所述存储负载在预定时间段内的读/写请求跟踪数据,
其中,所述统计数据是指应用在预定时间段内产生的所有读/写请求的全局统计信息,所述读/写请求跟踪数据是指应用在预定时间段内产生的每个读/写请求的请求描述信息,
其中,所述预先训练好的机器学习模型是基于存储负载的历史统计数据和与历史统计数据对应的历史读/写请求跟踪数据训练获得的。
2.如权利要求1所述的方法,其中,全局统计信息是指对所有读/写请求解析获得的描述数据进行统计处理得到的统计特征值,任一读/写请求的请求描述信息是指对所述任一读/写请求解析获得的描述数据。
3.如权利要求1所述的方法,其中,通过以下方式训练机器学习模型:
获取应用在至少一个业务处理周期内产生的存储负载的历史统计数据和历史读/写请求跟踪数据,其中,获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,所述业务处理周期是指应用处理一个预定时间单位产生的读/写请求花费的时间;
利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型。
4.如权利要求3所述的方法,其中,利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型的步骤包括:
将获取的历史统计数据输入机器学习模型,确定机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度;
比较所述相似度与预定阈值的大小;
当所述相似度小于预定阈值时,基于所述相似度调整机器学习模型的超参数或者权重;
当所述相似度大于或者等于预定阈值时,将当前的机器学习模型作为训练好的机器学习模型。
5.如权利要求1所述的方法,其中,所述统计数据包括以下项中的至少一项:
在预定时间段内产生的读请求的数量、在预定时间段内产生的写请求的数量、在预定时间段内产生的读请求和写请求的总数量、在预定时间段内产生的读/写请求的数量各占读请求和写请求的总数量的比例、在预定时间段内产生的读/写请求所请求的总存储容量、在预定时间段内产生的读/写请求所请求的存储容量的分布、在预定时间段内产生的读/写请求的请求时间戳的分布、在预定时间段内产生的读/写请求所请求的逻辑地址的分布、在预定时间段内产生的读/写请求所属的进程的分布,
所述读/写请求跟踪数据包括以下项中的至少一项:在预定时间段内产生的每一条读/写请求所请求的存储容量的大小、在预定时间段内产生的每一条读/写请求的类型、在预定时间段内产生的每一条读/写请求所属的进程、在预定时间段内产生的每一条读/写请求的请求时间戳、在预定时间段内产生的每一条读/写请求所请求的逻辑地址。
6.一种确定应用的存储负载的设备,包括:
获取单元,获取应用在预定时间段内产生的存储负载的统计数据;
处理单元,将所述统计数据输入到预先训练好的机器学习模型,通过预先训练好的机器学习模型确定所述存储负载在预定时间段内的读/写请求跟踪数据,
其中,所述统计数据是指应用在预定时间段内产生的所有读/写请求的全局统计信息,所述读/写请求跟踪数据是指应用在预定时间段内产生的每个读/写请求的请求描述信息,
其中,所述预先训练好的机器学习模型是基于存储负载的历史统计数据和与历史统计数据对应的历史读/写请求跟踪数据训练获得的。
7.如权利要求6所述的设备,其中,全局统计信息是指对所有读/写请求解析获得的描述数据进行统计处理得到的统计特征值,任一读/写请求的请求描述信息是指对所述任一读/写请求解析获得的描述数据。
8.如权利要求6所述的设备,其中,处理单元通过以下方式训练机器学习模型:
获取应用在至少一个业务处理周期内产生的存储负载的历史统计数据和历史读/写请求跟踪数据,利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型,其中,获取的历史统计数据和历史读/写请求跟踪数据在时间顺序上保持对应,所述业务处理周期是指应用处理一个预定时间单位产生的读/写请求花费的时间。
9.如权利要求8所述的设备,其中,利用获取的历史统计数据和历史读/写请求跟踪数据训练机器学习模型的处理包括:
将获取的历史统计数据输入机器学习模型,确定机器学习模型输出的读/写请求跟踪数据与对应于输入的历史统计数据的历史读/写请求跟踪数据之间的相似度;
比较所述相似度与预定阈值的大小;
当所述相似度小于预定阈值时,基于所述相似度调整机器学习模型的超参数或者权重;
当所述相似度大于或者等于预定阈值时,将当前的机器学习模型作为训练好的机器学习模型。
10.如权利要求6所述的设备,其中,所述统计数据包括以下项中的至少一项:
在预定时间段内产生的读请求的数量、在预定时间段内产生的写请求的数量、在预定时间段内产生的读请求和写请求的总数量、在预定时间段内产生的读/写请求的数量各占读请求和写请求的总数量的比例、在预定时间段内产生的读/写请求所请求的总存储容量、在预定时间段内产生的读/写请求所请求的存储容量的分布、在预定时间段内产生的读/写请求的请求时间戳的分布、在预定时间段内产生的读/写请求所请求的逻辑地址的分布、在预定时间段内产生的读/写请求所属的进程的分布,
所述读/写请求跟踪数据包括以下项中的至少一项:在预定时间段内产生的每一条读/写请求所请求的存储容量的大小、在预定时间段内产生的每一条读/写请求的类型、在预定时间段内产生的每一条读/写请求所属的进程、在预定时间段内产生的每一条读/写请求的请求时间戳、在预定时间段内产生的每一条读/写请求所请求的逻辑地址。
11.一种电子设备,其中,所述电子设备包括:
处理器;
存储器,存储有计算机程序,当所述计算机程序被处理器执行时,实现如权利要求1至5中的任意一项所述的确定应用的存储负载的方法。
12.一种存储有计算机程序的计算机可读存储介质,当所述计算机程序被处理器执行时实现如权利要求1至5中任意一项所述的确定应用的存储负载的方法。
CN201911355595.1A 2019-12-25 2019-12-25 确定应用的存储负载的方法和设备 Active CN111176565B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201911355595.1A CN111176565B (zh) 2019-12-25 2019-12-25 确定应用的存储负载的方法和设备
KR1020200160095A KR20210082349A (ko) 2019-12-25 2020-11-25 애플리케이션의 스토리지 로드를 결정하는 방법 및 장치
US17/108,196 US20210201201A1 (en) 2019-12-25 2020-12-01 Method and apparatus for determining storage load of application

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911355595.1A CN111176565B (zh) 2019-12-25 2019-12-25 确定应用的存储负载的方法和设备

Publications (2)

Publication Number Publication Date
CN111176565A CN111176565A (zh) 2020-05-19
CN111176565B true CN111176565B (zh) 2024-04-19

Family

ID=70657944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911355595.1A Active CN111176565B (zh) 2019-12-25 2019-12-25 确定应用的存储负载的方法和设备

Country Status (3)

Country Link
US (1) US20210201201A1 (zh)
KR (1) KR20210082349A (zh)
CN (1) CN111176565B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737265B (zh) * 2020-07-24 2020-12-04 支付宝(杭州)信息技术有限公司 区块数据访问方法、区块数据存储方法及装置
CN112561351B (zh) * 2020-12-21 2021-11-16 中国人民解放军32039部队 用于评估中继卫星系统中的任务申请的方法及装置
CN112835853B (zh) * 2020-12-31 2024-03-22 北京聚云科技有限公司 一种数据处理类型确定方法及装置
CN116701150B (zh) * 2023-06-19 2024-01-16 深圳市银闪科技有限公司 一种基于物联网的存储数据安全监管系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491616A (zh) * 2018-11-14 2019-03-19 三星(中国)半导体有限公司 数据的存储方法和设备
CN109885469A (zh) * 2019-02-27 2019-06-14 深信服科技股份有限公司 一种扩容方法、预测模型创建方法、装置、设备及介质
CN110286948A (zh) * 2019-06-27 2019-09-27 深圳市网心科技有限公司 基于虚拟主机存储装置读写的进程挂起方法及相关设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10656842B2 (en) * 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
CN112306925B (zh) * 2019-08-02 2023-02-10 华为技术有限公司 访问请求的处理方法、装置、设备及存储介质

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109491616A (zh) * 2018-11-14 2019-03-19 三星(中国)半导体有限公司 数据的存储方法和设备
CN109885469A (zh) * 2019-02-27 2019-06-14 深信服科技股份有限公司 一种扩容方法、预测模型创建方法、装置、设备及介质
CN110286948A (zh) * 2019-06-27 2019-09-27 深圳市网心科技有限公司 基于虚拟主机存储装置读写的进程挂起方法及相关设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
严琪 ; 邢春晓 ; 胡庆成 ; 李益民 ; .一种自适应的基于预测的I/O性能优化方法.计算机科学.2007,(第09期),全文. *

Also Published As

Publication number Publication date
US20210201201A1 (en) 2021-07-01
KR20210082349A (ko) 2021-07-05
CN111176565A (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111176565B (zh) 确定应用的存储负载的方法和设备
CN110097066B (zh) 一种用户分类方法、装置及电子设备
CN109544166B (zh) 一种风险识别方法和装置
CN111309614B (zh) A/b测试方法、装置及电子设备
CN107122369B (zh) 一种业务数据处理方法、装置和系统
CN109561052B (zh) 网站异常流量的检测方法及装置
CN114462465A (zh) 一种分类模型的训练方法、质检预测方法及对应装置
US20210073669A1 (en) Generating training data for machine-learning models
CN110570312B (zh) 样本数据获取方法、装置、计算机设备和可读存储介质
CN109783381B (zh) 一种测试数据生成方法、装置及系统
CN110852443B (zh) 特征稳定性检测方法、设备及计算机可读介质
CN116991455A (zh) 一种api资产识别方法和装置
CN106682516A (zh) 应用程序的检测方法、检测装置和服务器
CN114697127B (zh) 一种基于云计算的业务会话风险处理方法及服务器
CN111078877B (zh) 数据处理、文本分类模型的训练、文本分类方法和装置
CN111159397B (zh) 文本分类方法和装置、服务器
CN111324732B (zh) 模型训练方法、文本处理方法、装置及电子设备
CN109919197B (zh) 随机森林模型训练方法及装置
CN111143644B (zh) 物联网设备的识别方法及装置
CN113676377B (zh) 基于大数据的在线用户数评估方法、装置、设备及介质
CN112612415B (zh) 一种数据处理方法、装置、电子设备及存储介质
CN113837863B (zh) 一种业务预测模型创建方法、装置及计算机可读存储介质
CN111143552B (zh) 文本信息的类别预测方法和装置、服务器
CN115953248B (zh) 基于沙普利可加性解释的风控方法、装置、设备及介质
CN117033726A (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