CN110286949A - 基于物理主机存储装置读写的进程挂起方法及相关设备 - Google Patents
基于物理主机存储装置读写的进程挂起方法及相关设备 Download PDFInfo
- Publication number
- CN110286949A CN110286949A CN201910570450.7A CN201910570450A CN110286949A CN 110286949 A CN110286949 A CN 110286949A CN 201910570450 A CN201910570450 A CN 201910570450A CN 110286949 A CN110286949 A CN 110286949A
- Authority
- CN
- China
- Prior art keywords
- read
- business process
- write speed
- write
- business
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
一种基于物理主机存储装置读写的进程挂起方法,所述方法包括:依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;计算预设时间内物理主机的多个总读写速度的平均值;若平均值大于预设的读写速度阈值,针对每个业务进程,计算预设时间内业务进程的多个读写速度的平均值;根据业务进程对应的预设权重以及平均值,确定业务进程的读写速度指标;若读写速度指标大于业务进程对应的预设指标阈值,确定业务进程为超标进程;从超标进程中确定目标进程,并将目标进程挂起。本发明还提供一种物理主机以及存储介质。本发明能提高业务优先级高的业务进程的运行性能。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种基于物理主机存储装置读写的进程挂起方法及相关设备。
背景技术
通常,物理主机上运行着多个处理业务的程序(即多个业务进程),然而存储装置IO资源(读写速度)是有限的,每个业务进程都会根据需要来占用存储装置IO且每个业务进程都无法知道其他业务进程的存储装置IO占用,这会造成多个业务进程同时抢占存储装置IO资源的情况出现,从而导致业务优先级高的业务进程被业务优先级低的业务进程抢占了存储装置IO资源,使得业务优先级高的进程运行性能低下,甚至无法运行。
可见,如何提高业务优先级高的业务进程的运行性能是一个亟需解决的技术问题。
发明内容
鉴于以上内容,有必要提供一种基于物理主机存储装置读写的进程挂起方法及相关设备,能够提高业务优先级高的业务进程的运行性能。
本发明的第一方面提供一种基于物理主机存储装置读写的进程挂起方法,所述方法包括:
依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;
计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;
若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;
根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;
若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;
从所述超标进程中确定目标进程,并将所述目标进程挂起。
在一种可能的实现方式中,所述根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标之后,所述方法还包括:
获取所述业务进程的标识;
根据所述业务进程的标识、所述第二平均值以及所述读写速度指标,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
在一种可能的实现方式中,所述依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度之后,所述方法还包括:
针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值,其中,所述目标读写速度为所述多个读写速度中大于所述业务进程对应的预设读写速度阈值的读写速度;
判断所述比值是否大于所述业务进程对应的预设比值阈值;
若所述比值大于所述业务进程对应的预设比值阈值,将所述业务进程挂起。
在一种可能的实现方式中,所述针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值之后,所述方法还包括:
获取所述业务进程的标识;
根据所述业务进程的标识以及所述比值,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
在一种可能的实现方式中,所述确定所述业务进程为超标进程之后,所述方法还包括:
根据所述超标进程,生成警告信息;
输出所述警告信息;
所述从所述超标进程中确定目标进程包括:
接收进程/线程挂起指令;
将所述进程/线程挂起指令所指示的进程/线程确定为目标进程。
在一种可能的实现方式中,所述将所述目标进程挂起之后,所述方法还包括:
根据被挂起的所述进程/线程的相关信息,生成学习样本;
使用所述学习样本进行训练,对所述进程挂起模型进行优化。
在一种可能的实现方式中,所述从所述超标进程中确定目标进程包括:
从所述超标进程中,确定读写速度指标最小的进程为目标进程;
所述方法还包括:
判断所述目标进程包括的线程的运行属性是否为并发执行;
所述将所述目标进程挂起包括:
若所述目标进程包括的线程的运行属性为并发执行,将所述目标进程包括的任一个线程挂起;或
若所述目标进程包括的线程的运行属性不为并发执行,将所述目标进程挂起。
在一种可能的实现方式中,所述方法还包括:
获取当前时间;
将所述当前时间输入至预先训练好的进程挂起模型,获得预警信息;
若所述预警信息不为空值,输出所述预警信息。
本发明的第二方面提供一种基于物理主机存储装置读写的进程挂起装置,所述装置包括:
获取模块,用于依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;
计算模块,用于计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;
所述计算模块,还用于若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;
确定模块,用于根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;
所述确定模块,还用于若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;
所述确定模块,还用于从所述超标进程中确定目标进程;
挂起模块,用于将所述目标进程挂起。
本发明的第三方面提供一种物理主机,所述物理主机包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现所述的基于物理主机存储装置读写的进程挂起方法。
本发明的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现所述的基于物理主机存储装置读写的进程挂起方法。
由以上技术方案,本发明中,可以依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;从所述超标进程中确定目标进程,并将所述目标进程挂起。本发明中,当检测到预设时间范围内物理主机的存储装置的总读写速度的平均值大于预设的速度阈值时,确定物理主机轻微超负载,需要对业务进程进行管理,根据业务进程的存储装置的读写速度的平均值以及业务进程对应的预设权重,确定业务进程的读写速度指标,若业务进程的读写速度指标大于预设指标阈值,表明了业务进程占用了原本属于其它业务进程的存储装置IO资源并超过了允许的范围,可以从这些业务进程中将选择一个业务优先级低的业务进程挂起,即可以将该业务优先级较低的业务进程占用的存储装置IO资源释放出来给业务优先级高的业务进程,提高业务优先级高的业务进程的运行性能。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是本发明公开的一种基于物理主机存储装置读写的进程挂起方法的较佳实施例的流程图。
图2是本发明公开的一种没有采用基于物理主机存储装置读写的进程挂起方法的效果预测图。
图3是本发明实现基于物理主机存储装置读写的进程挂起方法的效果预测图。
图4是本发明公开的一种基于物理主机存储装置读写的进程挂起装置的较佳实施例的功能模块图。
图5是本发明实现基于物理主机存储装置读写的进程挂起方法的较佳实施例的物理主机的结构示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本发明实施例的基于物理主机存储装置读写的进程挂起方法应用在物理主机中,也可以应用在物理主机和通过网络与所述物理主机进行连接的服务器所构成的硬件环境中,由服务器和物理主机共同执行。网络包括但不限于:广域网、城域网或局域网。
其中,服务器可以是指能对网络中其它设备(如电子设备)提供服务的计算机***。如果一个个人电脑能够对外提供文件传输协议(File Transfer Protocol,简称FTP)服务,也可以叫服务器。从狭义范围上讲,服务器专指某些高性能计算机,能通过网络,对外提供服务,其相对于普通的个人电脑来说,稳定性、安全性、性能等方面都要求更高,因此在CPU、芯片组、内存、磁盘***、网络等硬件和普通的个人电脑有所不同。
所述物理主机包括一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的电子设备,其硬件包括但不限于微处理器、专用集成电路(ASIC)、可编程门阵列(FPGA)、数字处理器(DSP)、嵌入式设备等。
本发明中,可以在物理主机中安装一个SDK(Software Development Kit,软件开发工具包),外部程序只需要导入SDK(集成SDK模块),就可以调用SDK中写好的方法来实现挂起进程、获取该程序对应的进程的存储装置读写速度以及收集数据并生成给模型训练用的学习样本等功能。
本发明中,可以在物理主机中安装一个Agent(代理),可以实现获取没有集成SDK的程序对应的进程的存储装置读写速度,对数据进行管理,并提供外部接口给其它程序查询其管理的数据等功能。
请参见图1,图1是本发明公开的一种基于物理主机存储装置读写的进程挂起方法的较佳实施例的流程图。其中,根据不同的需求,该流程图中步骤的顺序可以改变,某些步骤可以省略。
S11、物理主机依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度。
其中,进程是指是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是程序的基本执行实体。
其中,存储装置包括内存或磁盘,存储装置的读写速度包括内存读速度、内存写速度、磁盘读速度以及磁盘写速度。
本发明实施例中,每隔预先设置的时间间隔,比如100毫秒,部署在各个业务进程上的SDK可以导出Linux***中/proc/pid(进程id)/io文件导出的统计信息,里面有进程读,写的具体速度。可以枚举每个进程的存储装置的读写速度,相加获得物理主机的存储装置的总读写速度。
可选的,Agent可以建立一个虚拟表格保存这些统计信息,其中,所述虚拟表格是一种数据结构,用来保存数据。
作为一种可选的实施方式,步骤S11之后,所述方法还包括:
针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值,其中,所述目标读写速度为所述多个读写速度中大于所述业务进程对应的预设读写速度阈值的读写速度;
判断所述比值是否大于所述业务进程对应的预设比值阈值;
若所述比值大于所述业务进程对应的预设比值阈值,将所述业务进程挂起。
其中,读写速度阈值包括内存读速度阈值、磁盘读速度阈值、内存写速度阈值以及磁盘读速度阈值。
其中,目标读写速度包括目标内存读速度、目标磁盘读速度、目标内存写速度以及目标磁盘写速度。
在该可选的实施方式中,可以为每个业务进程预先设置读写速度阈值,比如设置业务进程A的磁盘读速度阈值为500KB/S,那么读速度大于500KB/S的业务进程A的磁盘读速度为目标磁盘读速度。针对每个业务进程,可以确定在预设时间内获取到的磁盘读速度的数量(个数)以及确定在预设时间内获取到的目标磁盘读速度的数量,计算目标磁盘读速度的数量相对于所述业务进程的多个磁盘读速度的数量的比值。例如:每秒获取一次业务进程A的磁盘读速度,假设预设时间为1分钟内,那么1分钟内的磁盘读速度的数量为60个,假设在这60个磁盘读速度中大于业务进程A的预设磁盘读速度阈值的磁盘读速度(目标磁盘读速度)的数量为6个,那么计算出来的业务进程A的磁盘读速度的比值为0.1。
作为一种可选的实施方式,所述针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值之后,所述方法还包括:
获取所述业务进程的标识;
根据所述业务进程的标识以及所述比值,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
其中,所述标识包括业务名称以及业务进程名称。
在该可选的实施方式中,可以将所述业务进程的标识以及所述比值输入至预先训练好的进程挂起模型中,当所述进程挂起模型判断所述业务进程需要被挂起时,会输出挂起所述业务进程的指令给所述业务进程对应的SDK,所述SDK接收到挂起所述业务进程的指令后,将所述业务进程挂起。因为所述进程挂起模型是可以不断根据新的样本来学习优化,其判断业务进程是否需要被挂起比程序根据代码中设置的比值阈值等判断条件来判断业务进程是否需要被挂起更加准确,而且可以直接输出针对业务进程的挂起指令,不需要SDK向Agent请求发送挂起指令,降低了Agent的性能损耗。
S12、物理主机计算第一预设时间内所述物理主机的多个总读写速度的第一平均值。
其中,第一平均值包括内存总读速度平均值、内存总写速度平均值、磁盘总读速度平均值以及磁盘总写速度平均值。
本发明实施例中,可以获取在预设时间内(比如1分钟)所有的物理主机存储装置的总读写速度,计算平均值,以根据平均值判断物理主机当前的存储装置读写速度是否超负载。
S13、若所述第一平均值大于预设的读写速度阈值,物理主机针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值。
其中,所述读写速度阈值包括内存读速度阈值、内存写速度阈值、磁盘读速度阈值以及磁盘写速度阈值。
其中,所述第二平均值包括内存读速度平均值、内存写速度平均值、磁盘读速度平均值以及磁盘写速度平均值。
本发明实施例中,可以预先设置读写速度阈值,若预设时间内物理主机的内存总读速度平均值/内存总写速度平均值/磁盘总读速度平均值/磁盘总写速度平均值大于对应的预设的读写速度阈值,确定物理主机档次的存储装置读写速度超负载,需要计算预设时间内每个业务进程的多个读写速度的平均值。
S14、物理主机根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标。
其中,权重是指某一因素或指标相对于某一事物的重要程度。
其中,读写速度指标是与业务进程的权重相关联的一个指标,用于衡量业务进程当前的存储装置读写速度的情况;读写速度指标包括内存读速度指标、内存写速度指标、磁盘读速度指标以及磁盘写速度指标。
本发明实施例中,可以根据业务进程的重要程度(业务优先级),预先给每个业务进程设置权重,业务优先级高的业务进程的权重的值比较大。将业务进程的权重乘以所述第二平均值,计算结果为所述业务进程的读写速度指标。比如,物理主机上当前只有A和B两个业务进程,A的权重为0.9、磁盘读速度平均值为100KB/S,B的权重为0.1、磁盘读速度平均值为50KB/S,那么A的磁盘读速度指标为90KB/S,B的磁盘读速度指标为5KB/S。
作为一种可选的实施方式,步骤S14之后,所述方法还包括:
获取所述业务进程的标识;
根据所述业务进程的标识、所述第二平均值以及所述读写速度指标,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
在该可选的实施方式中,可以将所述业务进程的标识、所述第二平均值以及所述读写速度指标输入至预先训练好的进程挂起模型中,当所述进程挂起模型判断所述业务进程需要被挂起时,会输出挂起所述业务进程的指令给所述业务进程对应的SDK,所述SDK接收到挂起所述业务进程的指令后,将所述业务进程挂起。因为所述进程挂起模型是可以不断根据新的样本来学习优化,其判断业务进程是否需要被挂起比程序根据代码中设置的指标阈值等判断条件来判断业务进程是否需要被挂起更加准确,而且可以直接输出针对业务进程的挂起指令,不需要SDK向Agent请求发送挂起指令,降低了Agent的性能损耗。
S15、若所述读写速度指标大于所述业务进程对应的预设指标阈值,物理主机确定所述业务进程为超标进程。
本发明实施例中,可以预先设置每个业务进程的指标阈值。每个业务进程的指标阈值为所述业务进程允许的存储装置读写速度的最大占用的指标值。若所述业务进程的读写速度指标大于所述业务进程对应的预设指标阈值,表明所述业务进程的存储装置读写速度超过了所述业务进程所允许的读写速度最大占用,即该业务进程抢占了其它业务进程的读写速度资源。确定所述业务进程为超标进程。
作为一种可选的实施方式,步骤S15之后,所述方法还包括:
根据所述超标进程,生成警告信息;
输出所述警告信息;
所述从所述超标进程中确定目标进程包括:
接收进程/线程挂起指令;
将所述进程/线程挂起指令所指示的进程/线程确定为目标进程。
其中,所述警告信息可以包括但不限于业务进程的名称以及建议挂起分数。
其中,所述线程是指操作***能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
在该可选的实施方式中,在确定所述业务进程为超标进程之后,SDK可以生成关于所述超标进程的警告信息,例如,生成的警告信息可以为:当前物理主机的存储装置读写处于超负载的状态,超标进程为test1(进程名称或业务名称),建议挂起分数为60分(满分100分)。其中,建议挂起分数高,表示该超标进程的读写速度的平均值比较大或该超标进程的业务优先级比较低,建议挂起分数可以根据预设的计算规则得出,进程的读写速度的平均值越大、权重越低,其建议挂起分数越高。如何计算建议挂起分数,本发明对此不做具体限定。所述警告信息会输出至物理主机的界面上,提示用户当前物理主机处于超负载的状态。用户可以参考建议挂起分数来决定挂起的进程,根据用户输入的进程/线程挂起指令,将所述挂起指令指示的进程/线程挂起。即由用户手动输入指令挂起进程或挂起某个进程包括的线程。
作为一种可选的实施方式,所述将所述目标进程挂起之后,所述方法还包括:
根据被挂起的所述进程/线程的相关信息,生成学习样本;
使用所述学习样本进行训练,对所述进程挂起模型进行优化。
其中,所述第一信息包括但不限于所述进程的名称、业务名称、所述进程的存储装置读写速度的平均值,所述进程/线程被挂起的时间点,所述进程被挂起的具体情况(整个进程被挂起或进程包括的线程被挂起),如果只是挂起进程的线程,会记录被挂起的线程的数量。
在该可选的实施方式中,可以根据所述第一信息,生成学习样本。SDK的学习模块可以使用所述学习样本进行训练,调整所述进程挂起模型对业务进程挂起的条件(各种数据)范围,提高所述进程挂起模型判断业务进程是否需要挂起的准确性,从而实现对所述进程挂起模型的优化。
S16、物理主机从所述超标进程中确定目标进程,并将所述目标进程挂起。
本发明实施例中,SDK可以执行从Agent发送过来的挂起指令,将目标进程挂起。
请一并参见图2和图3,图2是本发明公开的一种没有采用基于物理主机存储装置读写的进程挂起方法的效果预测图;图3是本发明实现基于物理主机存储装置的进程挂起方法的效果预测图;如图2所示,无论所述物理主机剩余的读写速度资源多或少,业务优先级低的业务进程占用的读写速度资源不变,即随着所述物理主机剩余的读写速度资源越来越少,业务优先级高的业务进程可获得的读写速度资源也越来越少,可能导致业务优先级高的业务进程因为不能获得足够的读写速度资源而运行性能低下甚至无法运行。当使用了本发明实现的基于物理主机存储装置读写的进程挂起方法后,如图3所述,当物理主机剩余的读写速度资源变少时,会将业务优先级低的业务进程挂起,释放业务优先级低的业务进程所占用的读写速度资源,使得业务优先级高的业务进程可以获得这部分被释放的读写速度资源,从而提高了业务优先级高的业务进程的运行性能。
具体的,所述从所述超标进程中确定目标进程包括:
从所述超标进程中,确定读写速度指标最小的进程为目标进程;
所述方法还包括:
判断所述目标进程包括的线程的运行属性是否为并发执行;
所述将所述目标进程挂起包括:
若所述目标进程包括的线程的运行属性为并发执行,将所述目标进程包括的任一个线程挂起;或
若所述目标进程包括的线程的运行属性不为并发执行,将所述目标进程挂起。
在该可选的实施方式中,可以从超标进程中,确定读写速度指标最小的进程为目标进程,读写速度指标跟权重相关,读写速度指标最小的进程一般为业务优先级最低的进程,即所述目标进程的业务优先度比较低,可能是最低的。可以所述目标进程挂起,释放所述目标进程占用的读写速度资源,给其它业务进程使用,确保业务优先级高的业务进程可以获得足够的读写速度资源,可以提高业务优先级高的业务进程的运行性能。在对所述目标进程挂起之前,可以判断所述目标进程包括的线程的运行属性是否为并发执行,若所述目标进程包括的线程的运行属性为并发执行,将所述目标进程包括的任一个线程挂起,比如:若某个进程是用来发送一段数据,该进程包括的线程都是用来发送这段数据的一部分,做的是同一件事情,那么该进程包括的线程的运行属性为并发执行,可以将该进程包括的任一个线程挂起,该进程可以继续工作,但该进程占用的读写速度资源少了,可以让该进程继续工作的同时减轻***负载。可选的,若所述目标进程包括的线程的运行属性不为并发执行,将所述目标进程挂起。
作为一种可选的实施方式,所述方法还包括:
获取当前时间;
将所述当前时间输入至预先训练好的进程挂起模型,获得预警信息;
若所述预警信息不为空值,输出所述预警信息。
在该可选的实施方式中,可以获取当前的时间,将当前的时间输入至预先训练好的进程挂起模型,即使用所述进程挂起模型监测当前时间,若当前时间为预警时间范围内,其中,预警时间范围是可以预先设置的,比如,提前15分钟预警,会输出预警信息。比如,若进程A需要在6:00进行挂起,在5:45输出预警信息,提示用户物理主机会在6:00超负载,需要对进程A进行挂起。对于物理主机超负载,可以进行提前预警,让用户及时处理,避免物理主机上业务优先级高的业务进程因为物理主机超负载而运行性能低下。
在图1所描述的方法流程中,可以依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;从所述超标进程中确定目标进程,并将所述目标进程挂起。本发明中,当检测到预设时间范围内物理主机的存储装置的总读写速度的平均值大于预设的速度阈值时,确定物理主机轻微超负载,需要对业务进程进行管理,根据业务进程的存储装置的读写速度的平均值以及业务进程对应的预设权重,确定业务进程的读写速度指标,若业务进程的读写速度指标大于预设指标阈值,表明了业务进程占用了原本属于其它业务进程的存储装置IO资源并超过了允许的范围,可以从这些业务进程中将选择一个业务优先级低的业务进程挂起,即可以将该业务优先级较低的业务进程占用的存储装置IO资源释放出来给业务优先级高的业务进程,提高业务优先级高的业务进程的运行性能。
以上所述,仅是本发明的具体实施方式,但本发明的保护范围并不局限于此,对于本领域的普通技术人员来说,在不脱离本发明创造构思的前提下,还可以做出改进,但这些均属于本发明的保护范围。
请参见图4,图4是本发明公开的一种基于物理主机存储装置读写的进程挂起装置的较佳实施例的功能模块图。
在一些实施例中,所述基于物理主机存储装置读写的进程挂起装置运行于物理主机中。所述基于物理主机存储装置读写的进程挂起装置可以包括多个由程序代码段所组成的功能模块。所述基于物理主机存储装置读写的进程挂起装置中的各个程序段的程序代码可以存储于存储器中,并由至少一个处理器所执行,以执行图1所描述的基于物理主机存储装置读写的进程挂起方法中的部分或全部步骤。
本实施例中,所述基于物理主机存储装置读写的进程挂起装置根据其所执行的功能,可以被划分为多个功能模块。所述功能模块可以包括:获取模块201、计算模块202、确定模块203以及挂起模块204。本发明所称的模块是指一种能够被至少一个处理器所执行并且能够完成固定功能的一系列计算机程序段,其存储在存储器中。在一些实施例中,关于各模块的功能将在后续的实施例中详述。
获取模块201,用于依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;
其中,进程是指是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是程序的基本执行实体。
其中,存储装置的读写速度包括内存读速度、内存写速度、磁盘读速度以及磁盘写速度。
本发明实施例中,每隔预先设置的时间间隔,比如100毫秒,部署在各个业务进程上的SDK可以导出Linux***中/proc/pid(进程id)/io文件导出的统计信息,里面有进程读,写的具体速度。可以枚举每个进程的存储装置的读写速度,相加获得物理主机的存储装置的总读写速度。
可选的,Agent可以建立一个虚拟表格保存这些统计信息,其中,所述虚拟表格是一种数据结构,用来保存数据。
计算模块202,用于计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;
其中,第一平均值包括内存总读速度平均值、内存总写速度平均值、磁盘总读速度平均值以及磁盘总写速度平均值。
本发明实施例中,可以获取在预设时间内(比如1分钟)所有的物理主机存储装置的总读写速度,计算平均值,以根据平均值判断物理主机当前的存储装置读写速度是否超负载。
所述计算模块202,还用于若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;
其中,所述读写速度阈值包括内存读速度阈值、内存写速度阈值、磁盘读速度阈值以及磁盘写速度阈值。
其中,所述第二平均值包括内存读速度平均值、内存写速度平均值、磁盘读速度平均值以及磁盘写速度平均值。
本发明实施例中,可以预先设置读写速度阈值,若预设时间内物理主机的内存总读速度平均值/内存总写速度平均值/磁盘总读速度平均值/磁盘总写速度平均值大于对应的预设的读写速度阈值,确定物理主机档次的存储装置读写速度超负载,需要计算预设时间内每个业务进程的多个读写速度的平均值。
确定模块203,用于根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;
其中,权重是指某一因素或指标相对于某一事物的重要程度。
其中,读写速度指标是与业务进程的权重相关联的一个指标,用于衡量业务进程当前的存储装置读写速度的情况;读写速度指标包括内存读速度指标、内存写速度指标、磁盘读速度指标以及磁盘写速度指标。
本发明实施例中,可以根据业务进程的重要程度(业务优先级),预先给每个业务进程设置权重,业务优先级高的业务进程的权重的值比较大。将业务进程的权重乘以所述第二平均值,计算结果为所述业务进程的读写速度指标。比如,物理主机上当前只有A和B两个业务进程,A的权重为0.9、磁盘读速度平均值为100KB/S,B的权重为0.1、磁盘读速度平均值为50KB/S,那么A的磁盘读速度指标为90KB/S,B的磁盘读速度指标为5KB/S。
所述确定模块203,还用于若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;
本发明实施例中,可以预先设置每个业务进程的指标阈值。每个业务进程的指标阈值为所述业务进程允许的存储装置读写速度的最大占用的指标值。若所述业务进程的读写速度指标大于所述业务进程对应的预设指标阈值,表明所述业务进程的存储装置读写速度超过了所述业务进程所允许的读写速度最大占用,即该业务进程抢占了其它业务进程的读写速度资源。确定所述业务进程为超标进程。
所述确定模块203,还用于从所述超标进程中确定目标进程。
挂起模块204,用于将所述目标进程挂起。
本发明实施例中,SDK可以执行从Agent发送过来的挂起指令,将目标进程挂起。
请一并参见图2和图3,图2是本发明公开的一种没有采用基于物理主机存储装置读写的进程挂起方法的效果预测图;图3是本发明实现基于物理主机存储装置的进程挂起方法的效果预测图;如图2所示,无论所述物理主机剩余的读写速度资源多或少,业务优先级低的业务进程占用的读写速度资源不变,即随着所述物理主机剩余的读写速度资源越来越少,业务优先级高的业务进程可获得的读写速度资源也越来越少,可能导致业务优先级高的业务进程因为不能获得足够的读写速度资源而运行性能低下甚至无法运行。当使用了本发明实现的基于物理主机存储装置读写的进程挂起方法后,如图3所述,当物理主机剩余的读写速度资源变少时,会将业务优先级低的业务进程挂起,释放业务优先级低的业务进程所占用的读写速度资源,使得业务优先级高的业务进程可以获得这部分被释放的读写速度资源,从而提高了业务优先级高的业务进程的运行性能。
作为一种可选的实施方式,所述获取模块201,还用于所述确定模块203根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标之后,获取所述业务进程的标识;
所述挂起模块204,还用于根据所述业务进程的标识、所述第二平均值以及所述读写速度指标,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
在该可选的实施方式中,可以将所述业务进程的标识、所述第二平均值以及所述读写速度指标输入至预先训练好的进程挂起模型中,当所述进程挂起模型判断所述业务进程需要被挂起时,会输出挂起所述业务进程的指令给所述业务进程对应的SDK,所述SDK接收到挂起所述业务进程的指令后,将所述业务进程挂起。因为所述进程挂起模型是可以不断根据新的样本来学习优化,其判断业务进程是否需要被挂起比程序根据代码中设置的指标阈值等判断条件来判断业务进程是否需要被挂起更加准确,而且可以直接输出针对业务进程的挂起指令,不需要SDK向Agent请求发送挂起指令,降低了Agent的性能损耗。
作为一种可选的实施方式,所述计算模块202,还用于所述获取模块201依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度之后,针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值,其中,所述目标读写速度为所述多个读写速度中大于所述业务进程对应的预设读写速度阈值的读写速度;
所述基于物理主机存储装置读写的进程挂起装置还可以包括:
第一判断模块,用于判断所述比值是否大于所述业务进程对应的预设比值阈值;
所述挂起模块204,还用于若所述比值大于所述业务进程对应的预设比值阈值,将所述业务进程挂起。
其中,读写速度阈值包括内存读速度阈值、磁盘读速度阈值、内存写速度阈值以及磁盘读速度阈值。
其中,目标读写速度包括目标内存读速度、目标磁盘读速度、目标内存写速度以及目标磁盘写速度。
在该可选的实施方式中,可以为每个业务进程预先设置读写速度阈值,比如设置业务进程A的磁盘读速度阈值为500KB/S,那么读速度大于500KB/S的业务进程A的磁盘读速度为目标磁盘读速度。针对每个业务进程,可以确定在预设时间内获取到的磁盘读速度的数量(个数)以及确定在预设时间内获取到的目标磁盘读速度的数量,计算目标磁盘读速度的数量相对于所述业务进程的多个磁盘读速度的数量的比值。例如:每秒获取一次业务进程A的磁盘读速度,假设预设时间为1分钟内,那么1分钟内的磁盘读速度的数量为60个,假设在这60个磁盘读速度中大于业务进程A的预设磁盘读速度阈值的磁盘读速度(目标磁盘读速度)的数量为6个,那么计算出来的业务进程A的磁盘读速度的比值为0.1。
作为一种可选的实施方式,所述获取模块201,还用于所述计算模块202针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值之后,获取所述业务进程的标识;
所述挂起模块204,还用于根据所述业务进程的标识以及所述比值,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
其中,所述标识包括业务名称以及业务进程名称。
在该可选的实施方式中,可以将所述业务进程的标识以及所述比值输入至预先训练好的进程挂起模型中,当所述进程挂起模型判断所述业务进程需要被挂起时,会输出挂起所述业务进程的指令给所述业务进程对应的SDK,所述SDK接收到挂起所述业务进程的指令后,将所述业务进程挂起。因为所述进程挂起模型是可以不断根据新的样本来学习优化,其判断业务进程是否需要被挂起比程序根据代码中设置的比值阈值等判断条件来判断业务进程是否需要被挂起更加准确,而且可以直接输出针对业务进程的挂起指令,不需要SDK向Agent请求发送挂起指令,降低了Agent的性能损耗。
作为一种可选的实施方式,所述基于物理主机存储装置读写的进程挂起装置还可以包括:
生成模块,用于所述确定模块203确定所述业务进程为超标进程之后,根据所述超标进程,生成警告信息;
第一输出模块,用于输出所述警告信息;
所述确定模块203从所述超标进程中确定目标进程的方式具体为:
接收进程/线程挂起指令;
将所述进程/线程挂起指令所指示的进程/线程确定为目标进程。
其中,所述警告信息可以包括但不限于业务进程的名称以及建议挂起分数。
其中,所述线程是指操作***能够进行运算调度的最小单位。它被包含在进程之中,是进程中的实际运作单位。
在该可选的实施方式中,在确定所述业务进程为超标进程之后,SDK可以生成关于所述超标进程的警告信息,例如,生成的警告信息可以为:当前物理主机的存储装置读写处于超负载的状态,超标进程为test1(进程名称或业务名称),建议挂起分数为60分(满分100分)。其中,建议挂起分数高,表示该超标进程的读写速度的平均值比较大或该超标进程的业务优先级比较低,建议挂起分数可以根据预设的计算规则得出,进程的读写速度的平均值越大、权重越低,其建议挂起分数越高。如何计算建议挂起分数,本发明对此不做具体限定。所述警告信息会输出至物理主机的界面上,提示用户当前物理主机处于超负载的状态。用户可以参考建议挂起分数来决定挂起的进程,根据用户输入的进程/线程挂起指令,将所述挂起指令指示的进程/线程挂起。即由用户手动输入指令挂起进程或挂起某个进程包括的线程。
作为一种可选的实施方式,所述生成模块,还用于所述挂起模块204将所述目标进程挂起之后,根据被挂起的所述进程/线程的相关信息,生成学习样本;
所述基于物理主机存储装置读写的进程挂起装置还可以包括:
训练模块,用于使用所述学习样本进行训练,对所述进程挂起模型进行优化。
其中,所述第一信息包括但不限于所述进程的名称、业务名称、所述进程的存储装置读写速度的平均值,所述进程/线程被挂起的时间点,所述进程被挂起的具体情况(整个进程被挂起或进程包括的线程被挂起),如果只是挂起进程的线程,会记录被挂起的线程的数量。
在该可选的实施方式中,可以根据所述第一信息,生成学习样本。SDK的学习模块可以使用所述学习样本进行训练,调整所述进程挂起模型对业务进程挂起的条件(各种数据)范围,提高所述进程挂起模型判断业务进程是否需要挂起的准确性,从而实现对所述进程挂起模型的优化。
作为一种可选的实施方式,所述确定模块203从所述超标进程中确定目标进程的方式具体为:
从所述超标进程中,确定读写速度指标最小的进程为目标进程;
所述基于物理主机存储装置读写的进程挂起装置还可以包括:
第二判断模块,用于判断所述目标进程包括的线程的运行属性是否为并发执行;
所述挂起模块204将所述目标进程挂起的方式具体为:
若所述目标进程包括的线程的运行属性为并发执行,将所述目标进程包括的任一个线程挂起;或
若所述目标进程包括的线程的运行属性不为并发执行,将所述目标进程挂起。
在该可选的实施方式中,可以从超标进程中,确定读写速度指标最小的进程为目标进程,读写速度指标跟权重相关,读写速度指标最小的进程一般为业务优先级最低的进程,即所述目标进程的业务优先度比较低,可能是最低的。可以所述目标进程挂起,释放所述目标进程占用的读写速度资源,给其它业务进程使用,确保业务优先级高的业务进程可以获得足够的读写速度资源,可以提高业务优先级高的业务进程的运行性能。在对所述目标进程挂起之前,可以判断所述目标进程包括的线程的运行属性是否为并发执行,若所述目标进程包括的线程的运行属性为并发执行,将所述目标进程包括的任一个线程挂起,比如:若某个进程是用来发送一段数据,该进程包括的线程都是用来发送这段数据的一部分,做的是同一件事情,那么该进程包括的线程的运行属性为并发执行,可以将该进程包括的任一个线程挂起,该进程可以继续工作,但该进程占用的读写速度资源少了,可以让该进程继续工作的同时减轻***负载。可选的,若所述目标进程包括的线程的运行属性不为并发执行,将所述目标进程挂起。
作为一种可选的实施方式,所述获取模块201,还用于获取当前时间;
所述基于物理主机存储装置读写的进程挂起装置还可以包括:
输入模块,用于将所述当前时间输入至预先训练好的进程挂起模型,获得预警信息;
第二输出模块,用于若所述预警信息不为空值,输出所述预警信息。
在该可选的实施方式中,可以获取当前的时间,将当前的时间输入至预先训练好的进程挂起模型,即使用所述进程挂起模型监测当前时间,若当前时间为预警时间范围内,其中,预警时间范围是可以预先设置的,比如,提前15分钟预警,会输出预警信息。比如,若进程A需要在6:00进行挂起,在5:45输出预警信息,提示用户物理主机会在6:00超负载,需要对进程A进行挂起。对于物理主机超负载,可以进行提前预警,让用户及时处理,避免物理主机上业务优先级高的业务进程因为物理主机超负载而运行性能低下。
在图4所描述的基于物理主机存储装置读写的进程挂起装置中,可以依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;从所述超标进程中确定目标进程,并将所述目标进程挂起。本发明中,当检测到预设时间范围内物理主机的存储装置的总读写速度的平均值大于预设的速度阈值时,确定物理主机轻微超负载,需要对业务进程进行管理,根据业务进程的存储装置的读写速度的平均值以及业务进程对应的预设权重,确定业务进程的读写速度指标,若业务进程的读写速度指标大于预设指标阈值,表明了业务进程占用了原本属于其它业务进程的存储装置IO资源并超过了允许的范围,可以从这些业务进程中将选择一个业务优先级低的业务进程挂起,即可以将该业务优先级较低的业务进程占用的存储装置IO资源释放出来给业务优先级高的业务进程,提高业务优先级高的业务进程的运行性能。
如图5所示,图5是本发明实现基于物理主机存储装置读写的进程挂起方法的较佳实施例的物理主机的结构示意图。所述物理主机3包括存储器31、至少一个处理器32、存储在所述存储器31中并可在所述至少一个处理器32上运行的计算机程序33及至少一条通讯总线34。
本领域技术人员可以理解,图5所示的示意图仅仅是所述物理主机3的示例,并不构成对所述物理主机3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述物理主机3还可以包括输入输出设备、网络接入设备等。
所述至少一个处理器32可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。该处理器32可以是微处理器或者该处理器32也可以是任何常规的处理器等,所述处理器32是所述物理主机3的控制中心,利用各种接口和线路连接整个物理主机3的各个部分。
所述存储器31可用于存储所述计算机程序33和/或模块/单元,所述处理器32通过运行或执行存储在所述存储器31内的计算机程序和/或模块/单元,以及调用存储在存储器31内的数据,实现所述物理主机3的各种功能。所述存储器31可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据物理主机3的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器31可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
结合图1,所述物理主机3中的所述存储器31存储多个指令以实现一种基于物理主机存储装置读写的进程挂起方法,所述处理器32可执行所述多个指令从而实现:
依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;
计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;
若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;
根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;
若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;
从所述超标进程中确定目标进程,并将所述目标进程挂起。
在一种可选的实施方式中,所述根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标之后,所述处理器32可执行所述多个指令从而实现:
获取所述业务进程的标识;
根据所述业务进程的标识、所述第二平均值以及所述读写速度指标,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
在一种可选的实施方式中,所述依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度之后,所述处理器32可执行所述多个指令从而实现:
针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值,其中,所述目标读写速度为所述多个读写速度中大于所述业务进程对应的预设读写速度阈值的读写速度;
判断所述比值是否大于所述业务进程对应的预设比值阈值;
若所述比值大于所述业务进程对应的预设比值阈值,将所述业务进程挂起。
在一种可选的实施方式中,所述针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值之后,所述处理器32可执行所述多个指令从而实现:
获取所述业务进程的标识;
根据所述业务进程的标识以及所述比值,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
在一种可选的实施方式中,所述确定所述业务进程为超标进程之后,所述处理器32可执行所述多个指令从而实现:
根据所述超标进程,生成警告信息;
输出所述警告信息;
所述从所述超标进程中确定目标进程包括:
接收进程/线程挂起指令;
将所述进程/线程挂起指令所指示的进程/线程确定为目标进程。
在一种可选的实施方式中,所述将所述目标进程挂起之后,所述处理器32可执行所述多个指令从而实现:
根据被挂起的所述进程/线程的相关信息,生成学习样本;
使用所述学习样本进行训练,对所述进程挂起模型进行优化。
在一种可选的实施方式中,所述从所述超标进程中确定目标进程包括:
从所述超标进程中,确定读写速度指标最小的进程为目标进程;
所述方法还包括:
判断所述目标进程包括的线程的运行属性是否为并发执行;
所述将所述目标进程挂起包括:
若所述目标进程包括的线程的运行属性为并发执行,将所述目标进程包括的任一个线程挂起;或
若所述目标进程包括的线程的运行属性不为并发执行,将所述目标进程挂起。
作为一种可选的实施方式,所述处理器32可执行所述多个指令从而实现:
获取当前时间;
将所述当前时间输入至预先训练好的进程挂起模型,获得预警信息;
若所述预警信息不为空值,输出所述预警信息。
具体地,所述处理器32对上述指令的具体实现方法可参考图1对应实施例中相关步骤的描述,在此不赘述。
在图5所描述的物理主机3中,可以依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;从所述超标进程中确定目标进程,并将所述目标进程挂起。本发明中,当检测到预设时间范围内物理主机的存储装置的总读写速度的平均值大于预设的速度阈值时,确定物理主机轻微超负载,需要对业务进程进行管理,根据业务进程的存储装置的读写速度的平均值以及业务进程对应的预设权重,确定业务进程的读写速度指标,若业务进程的读写速度指标大于预设指标阈值,表明了业务进程占用了原本属于其它业务进程的存储装置IO资源并超过了允许的范围,可以从这些业务进程中将选择一个业务优先级低的业务进程挂起,即可以将该业务优先级较低的业务进程占用的存储装置IO资源释放出来给业务优先级高的业务进程,提高业务优先级高的业务进程的运行性能。
所述物理主机3集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。***权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种基于物理主机存储装置读写的进程挂起方法,其特征在于,所述方法包括:
依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度;
计算第一预设时间内所述物理主机的多个总读写速度的第一平均值;
若所述第一平均值大于预设的读写速度阈值,针对每个所述业务进程,计算所述第一预设时间内所述业务进程的多个读写速度的第二平均值;
根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标;
若所述读写速度指标大于所述业务进程对应的预设指标阈值,确定所述业务进程为超标进程;
从所述超标进程中确定目标进程,并将所述目标进程挂起。
2.根据权利要求1所述的方法,其特征在于,所述根据所述业务进程对应的预设权重以及所述第二平均值,确定所述业务进程的读写速度指标之后,所述方法还包括:
获取所述业务进程的标识;
根据所述业务进程的标识、所述第二平均值以及所述读写速度指标,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
3.根据权利要求1所述的方法,其特征在于,所述依据预设时间间隔,获取物理主机的存储装置的总读写速度以及每个业务进程的存储装置的读写速度之后,所述方法还包括:
针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值,其中,所述目标读写速度为所述多个读写速度中大于所述业务进程对应的预设读写速度阈值的读写速度;
判断所述比值是否大于所述业务进程对应的预设比值阈值;
若所述比值大于所述业务进程对应的预设比值阈值,将所述业务进程挂起。
4.根据权利要求3所述的方法,其特征在于,所述针对每个所述业务进程,计算第二预设时间内目标读写速度的数量相对于所述业务进程的多个读写速度的数量的比值之后,所述方法还包括:
获取所述业务进程的标识;
根据所述业务进程的标识以及所述比值,在使用预先训练好的进程挂起模型判断所述业务进程需要被挂起时,将所述业务进程挂起。
5.根据权利要求4所述的方法,其特征在于,所述确定所述业务进程为超标进程之后,所述方法还包括:
根据所述超标进程,生成警告信息;
输出所述警告信息;
所述从所述超标进程中确定目标进程包括:
接收进程/线程挂起指令;
将所述进程/线程挂起指令所指示的进程/线程确定为目标进程。
6.根据权利要求5所述的方法,其特征在于,所述将所述目标进程挂起之后,所述方法还包括:
根据被挂起的所述进程/线程的相关信息,生成学习样本;
使用所述学习样本进行训练,对所述进程挂起模型进行优化。
7.根据权利要求1所述的方法,其特征在于,所述从所述超标进程中确定目标进程包括:
从所述超标进程中,确定读写速度指标最小的进程为目标进程;
所述方法还包括:
判断所述目标进程包括的线程的运行属性是否为并发执行;
所述将所述目标进程挂起包括:
若所述目标进程包括的线程的运行属性为并发执行,将所述目标进程包括的任一个线程挂起;或
若所述目标进程包括的线程的运行属性不为并发执行,将所述目标进程挂起。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
获取当前时间;
将所述当前时间输入至预先训练好的进程挂起模型,获得预警信息;
若所述预警信息不为空值,输出所述预警信息。
9.一种物理主机,其特征在于,所述物理主机包括处理器和存储器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1至8中任意一项所述的基于物理主机存储装置读写的进程挂起方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有至少一个指令,所述至少一个指令被处理器执行时实现如权利要求1至8中任意一项所述的基于物理主机存储装置读写的进程挂起方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910570450.7A CN110286949A (zh) | 2019-06-27 | 2019-06-27 | 基于物理主机存储装置读写的进程挂起方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910570450.7A CN110286949A (zh) | 2019-06-27 | 2019-06-27 | 基于物理主机存储装置读写的进程挂起方法及相关设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110286949A true CN110286949A (zh) | 2019-09-27 |
Family
ID=68020018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910570450.7A Pending CN110286949A (zh) | 2019-06-27 | 2019-06-27 | 基于物理主机存储装置读写的进程挂起方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110286949A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414245A (zh) * | 2020-03-26 | 2020-07-14 | 北京小米移动软件有限公司 | 一种控制闪存读写速率的方法、装置及介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130081039A1 (en) * | 2011-09-24 | 2013-03-28 | Daniel A. Gerrity | Resource allocation using entitlements |
CN103049213A (zh) * | 2011-10-17 | 2013-04-17 | ***通信集团公司 | 一种磁盘调度方法及装置 |
CN103488575A (zh) * | 2013-08-12 | 2014-01-01 | 记忆科技(深圳)有限公司 | 动态调整固态硬盘预留空间的方法及其固态硬盘 |
CN105302497A (zh) * | 2015-11-24 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种缓存管理方法与*** |
CN106970841A (zh) * | 2017-03-09 | 2017-07-21 | 北京西普阳光教育科技股份有限公司 | 一种基于云计算的资源限制及动态调整方法 |
CN107196869A (zh) * | 2017-07-14 | 2017-09-22 | 北京知道创宇信息技术有限公司 | 基于主机实际负载的自适应负载均衡方法、设备和*** |
CN107544755A (zh) * | 2017-08-02 | 2018-01-05 | 新华三云计算技术有限公司 | 一种数据读写的控制方法和装置 |
CN107885544A (zh) * | 2017-10-31 | 2018-04-06 | 广东欧珀移动通信有限公司 | 应用程序管控方法、装置、介质及电子设备 |
CN109324878A (zh) * | 2018-09-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种进程cpu占用率的控制方法及相关设备 |
CN109857612A (zh) * | 2017-11-30 | 2019-06-07 | Tcl集团股份有限公司 | 一种数据写入操作的监控方法及其终端 |
-
2019
- 2019-06-27 CN CN201910570450.7A patent/CN110286949A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130081039A1 (en) * | 2011-09-24 | 2013-03-28 | Daniel A. Gerrity | Resource allocation using entitlements |
CN103049213A (zh) * | 2011-10-17 | 2013-04-17 | ***通信集团公司 | 一种磁盘调度方法及装置 |
CN103488575A (zh) * | 2013-08-12 | 2014-01-01 | 记忆科技(深圳)有限公司 | 动态调整固态硬盘预留空间的方法及其固态硬盘 |
CN105302497A (zh) * | 2015-11-24 | 2016-02-03 | 浪潮(北京)电子信息产业有限公司 | 一种缓存管理方法与*** |
CN106970841A (zh) * | 2017-03-09 | 2017-07-21 | 北京西普阳光教育科技股份有限公司 | 一种基于云计算的资源限制及动态调整方法 |
CN107196869A (zh) * | 2017-07-14 | 2017-09-22 | 北京知道创宇信息技术有限公司 | 基于主机实际负载的自适应负载均衡方法、设备和*** |
CN107544755A (zh) * | 2017-08-02 | 2018-01-05 | 新华三云计算技术有限公司 | 一种数据读写的控制方法和装置 |
CN107885544A (zh) * | 2017-10-31 | 2018-04-06 | 广东欧珀移动通信有限公司 | 应用程序管控方法、装置、介质及电子设备 |
CN109857612A (zh) * | 2017-11-30 | 2019-06-07 | Tcl集团股份有限公司 | 一种数据写入操作的监控方法及其终端 |
CN109324878A (zh) * | 2018-09-20 | 2019-02-12 | 郑州云海信息技术有限公司 | 一种进程cpu占用率的控制方法及相关设备 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111414245A (zh) * | 2020-03-26 | 2020-07-14 | 北京小米移动软件有限公司 | 一种控制闪存读写速率的方法、装置及介质 |
CN111414245B (zh) * | 2020-03-26 | 2023-06-13 | 北京小米移动软件有限公司 | 一种控制闪存读写速率的方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9483288B2 (en) | Method and system for running a virtual appliance | |
CN101595456A (zh) | 用于事务资源控制的方法和*** | |
CN110275760A (zh) | 基于虚拟主机处理器的进程挂起方法及其相关设备 | |
CN104572301A (zh) | 一种资源分配方法和*** | |
CN108959399A (zh) | 分布式数据删除流控方法、装置、电子设备及存储介质 | |
CN110347407A (zh) | 一种获取内存占用量的方法、装置、计算机设备及介质 | |
CN109471725A (zh) | 资源分配方法、装置和服务器 | |
CN107918558A (zh) | 基于状态机的业务流程控制方法、装置及设备 | |
CN104320266A (zh) | 一种云计算操作***下的计费方法及装置 | |
CN109889370A (zh) | 一种网络设备位置确定方法、装置及计算机可读存储介质 | |
CN108958891A (zh) | 一种虚拟机内存分配方法、装置及终端 | |
CN110286961A (zh) | 基于物理主机处理器的进程挂起方法及相关设备 | |
CN111464331A (zh) | 一种线程创建的控制方法、***及终端设备 | |
CN110286949A (zh) | 基于物理主机存储装置读写的进程挂起方法及相关设备 | |
WO2024140335A1 (zh) | 基于多核***的cpu资源分配以及任务处理的方法及装置 | |
CN108306912A (zh) | 虚拟网络功能管理方法及其装置、网络功能虚拟化*** | |
CN110489242A (zh) | 分布式数据计算方法、装置、终端设备及存储介质 | |
CN109992408B (zh) | 一种资源分配方法、装置、电子设备和存储介质 | |
CN106844175B (zh) | 一种基于机器学***台容量规划方法 | |
CN107368351B (zh) | 一种虚拟机配置自动升级扩容方法和装置 | |
CN109788061B (zh) | 计算任务部署方法及装置 | |
CN108415765A (zh) | 任务调度方法、装置及智能终端 | |
CN110286948A (zh) | 基于虚拟主机存储装置读写的进程挂起方法及相关设备 | |
CN106886477A (zh) | 一种云***中监控阈值设定方法及装置 | |
CN113806089B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190927 |
|
RJ01 | Rejection of invention patent application after publication |