CN114185675A - 资源管理方法、装置、电子设备及存储介质 - Google Patents
资源管理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114185675A CN114185675A CN202111509653.9A CN202111509653A CN114185675A CN 114185675 A CN114185675 A CN 114185675A CN 202111509653 A CN202111509653 A CN 202111509653A CN 114185675 A CN114185675 A CN 114185675A
- Authority
- CN
- China
- Prior art keywords
- data
- resource
- server
- resource occupation
- preset
- 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
Images
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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明属于分布式集群系统的资源管理技术领域,具体提供一种资源管理方法、装置、电子设备及存储介质,旨在解决现有的分布式存储集群在数据均衡时无法合理地利用资源,导致资源利用率低,物理存储节点负载过重的问题。为此目的,本发明通过基于获取到的服务器的历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据;获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据;基于最大资源占用数据计算服务器在预设第二时长内的可用资源数据;基于预设第二时长和可用资源数据对服务器的资源占用情况进行调整,能够提高资源利用率,均衡各服务器的负载。
Description
技术领域
本发明属于分布式集群系统的资源管理技术领域,具体提供一种资源管理方法、装置、电子设备及计算机可读存储介质。
背景技术
随着大数据时代的到来,互联网领域每天会产生大量数据,因此,分布式存储集群技术被广泛地应用。在分布式存储集群中,数据要尽量均匀地分布在分布式存储集群中的物理存储节点上,以达到较好的性能和资源利用,通常采用各种负载均衡的算法来保证将数据均匀地写入到各物理存储节点上。
然而,在实际应用中,诸如集群扩容、节点宕机、网络故障、磁盘故障等各种原因会导致各物理存储节点的数据分布不均衡,因此,采用自动数据均衡的方法来进行数据迁移,以达到物理存储节点间的空间均衡。
在数据均衡时,通常采用手动触发或定时触发,并通过限制可使用的最大资源数据的方式来避免对正常存储业务造成影响。然而,这种方式只能基于经验或当前资源占用数据来对可使用的最大资源数据进行限制,如果数据均衡使用的资源过少,则所需的时间会大大延长,导致资源利用率低;如果数据均衡使用的资源过多,则可能会影响正常的业务,导致出现物理存储节点由于负载过高而宕机的现象,并进一步导致用户体验差。
相应地,本领域需要一种新的资源管理方法来解决上述问题。
发明内容
本发明旨在解决上述技术问题,即,解决现有的分布式存储集群在数据均衡时无法合理地利用资源,导致资源利用率低,以及物理存储节点的负载不均衡,导致出现宕机的问题。
本发明提供了一种资源管理方法,应用于分布式存储集群中的各服务器,该资源管理方法包括:获取服务器的历史资源占用数据,其中,历史资源占用数据表征在距当前时刻预设第一时长内服务器的资源占用情况;基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据;获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据;基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据;基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整。
在一些实施例中,获取服务器的历史资源占用数据,包括:获取服务器在预设第一时长内每天各时间段的原始资源占用数据;对原始资源占用数据进行去噪处理,得到历史资源占用数据。
在一些实施例中,基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据,包括:计算服务器在预设第一时长内的历史资源占用数据的平均值和标准差;将平均值加上预设倍数的标准差作为服务器在预设第二时长内的预测资源占用数据。
在一些实施例中,获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据,包括:获取服务器的当前资源占用数据,并将当前资源占用数据与预测资源占用数据进行比较;如果当前资源占用数据大于预测资源占用数据,则将当前资源占用数据作为服务器的最大资源占用数据;如果当前资源占用数据小于或等于预测资源占用数据,则将预测资源占用数据作为服务器的最大资源占用数据。
在一些实施例中,基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据,包括:获取服务器的最大资源可用数据,并将最大资源可用数据乘以预设百分比再减去最大资源占用数据作为服务器在预设第二时长内的可用资源数据。
在一些实施例中,基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整,包括:在可用资源数据大于或等于预设阈值的情况下,将服务器的数据迁移至分布式存储集群中的其他服务器,以保证各服务器的数据均衡;在可用资源数据小于预设阈值的情况下,不对服务器的资源占用情况进行调整。
在一些实施例中,资源占用数据包括内存资源占用数据、CPU资源占用数据、磁盘占用数据和/或带宽资源占用数据。
本发明还提供了一种电子设备,包括存储器、处理器以及存储在存储器中并可在处理器上运行的计算机程序,处理器执行所述计算机程序时实现上述技术方案中任一项所述方法的步骤。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述技术方案中任一项所述的方法的步骤。
本领域人员能够理解的是,在采用上述技术方案的情况下,本发明通过获取服务器的历史资源占用数据,其中,历史资源占用数据表征在距当前时刻预设第一时长内服务器的资源占用情况;基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据;获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据;基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据;基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整,实现了资源的自动配置和调整,避免了配置资源时的人工干预,提高了资源利用率,减少了资源浪费,均衡了各服务器的负载,避免了服务器负载过高出现宕机的情况,并进一步提升了用户体验。
附图说明
图1是根据本发明的一种资源管理方法的流程示意图;
图2是根据本发明的另一种资源管理方法的流程示意图;
图3是根据本发明的一种资源管理装置的结构示意图;
图4是根据本发明的电子设备的结构示意图。
具体实施方式
下面参照附图来描述本发明的一些实施方式。本领域技术人员应当理解的是,这些实施方式仅仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
在本申请的描述中,“第一”、“第二”等序数词仅用于描述类型相同的不同技术特征,而不能理解为指示或暗示其相对重要性或者隐含指明所指示的技术特征的数量。因此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。另外,本申请的各个实施例之间的技术方案或技术手段可以相互结合,只要本领域普通技术人员能够实现即可,当技术方案的结合出现相互矛盾或无法实现的情形时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。
在本发明的描述中,“模块”、“处理器”可以包括硬件、软件或者两者的组合。一个模块可以包括硬件电路,各种合适的感应器,通信端口,存储器,也可以包括软件部分,比如程序代码,也可以是软件和硬件的组合。处理器可以是中央处理器、微处理器、数字信号处理器或者其他任何合适的处理器。处理器具有数据和/或信号处理功能。处理器可以以软件方式实现、硬件方式实现或者二者结合方式实现。非暂时性的计算机可读存储介质包括任何合适的可存储程序代码的介质,比如磁碟、硬盘、光碟、闪存、只读存储器、随机存取存储器等等。术语“A和/或B”表示所有可能的A与B的组合,比如只是A、只是B或者A和B。术语“至少一个A或B”或者“A和B中的至少一个”含义与“A和/或B”类似,可以包括只是A、只是B或者A和B。单数形式的术语“一个”、“这个”也可以包含复数形式。
近年来,随着互联网技术的不断发展,从日常用到的社交网络、电子商务,到智慧城市、国家安全等相关领域,各种数据呈爆发式增长,数据存储需求日益增加。与此同时,数据存储领域对安全性、完备性和高可用性的要求也越来越高。
分布式存储是目前广泛应用的存储技术。分布式存储是一种数据存储技术,通过网络使用企业中的每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在企业的各个角落。分布式存储系统是大规模数据存储的主流技术,其可以将数据分布在不同的节点上存储,以解决大规模存储系统数据备份、扩容、缩容和数据迁移等问题。
随着大数据技术的不断发展,需要投入的计算资源也越来越大。在大数据技术领域中,接入数据量并非稳步增长,而是受多种因素影响出现峰谷。分布式存储节点技术一定程度上能够应对庞大的数据接入量,使得数据处理压力分担在各存储节点上。然而,分布式存储节点中的众多存储节点难以实现均衡化管理,例如,有的存储节点分担过大的数据资源处理压力,导致负责过高;有的存储节点负载较小,导致资源浪费。
由此可见,在分布式存储节点技术中,存储节点管理至关重要。虽然现有的分布式存储系统大都具有数据均衡功能,但对于数据均衡的时间和资源占用等,往往需要手动设置。例如,Ceph可以设置数据均衡的开始时间和资源占用等,但无法自动调整,并且也无法预知所设置的资源占用数据的合理性;GlusterFS的reblance需要手动开启,并且资源占用只能通过设置迁移的级别来控制每次迁移的文件,同样无法预知其合理性。因此,需要提供一种能够保证各存储节点的资源分布均衡,从而提高资源利用率的方案。
下面,结合附图详细说明根据本发明实施例的一种资源管理方法和装置。
图1是根据本发明的一种资源管理方法的流程示意图。图1的资源管理方法可以由资源管理装置执行,该资源管理装置可以通过软件和/或硬件的方式实现,并且可以集成在诸如服务器的电子设备中。如图1所示,该资源管理方法应用于分布式存储集群中的各服务器,包括:
S101,获取服务器的历史资源占用数据,其中,历史资源占用数据表征在距当前时刻预设第一时长内服务器的资源占用情况;
S102,基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据;
S103,获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据;
S104,基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据;
S105,基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整。
具体地,分布式存储集群是将多个存储服务器构建网络拓扑,形成存储服务器集群,在分布式存储集群中,通过相关算法提供数据的读取、写入和落盘功能,分布式存储集群是利用多个存储服务器分担存储负荷。
服务器可以是提供各种服务的服务器,例如,对与其建立通信连接的终端设备发送的请求进行接收的后台服务器,该后台服务器可以对终端设备发送的请求进行接收和分析等处理,并生成处理结果。服务器可以是一台服务器,也可以是由若干台服务器组成的服务器集群,或者还可以是一个云计算服务中心,本发明实施例对此不作限制。
需要说明的是,服务器可以是硬件,也可以是软件。当服务器为硬件时,其可以是为终端设备提供各种服务的各种电子设备。当服务器为软件时,其可以是为终端设备提供各种服务的多个软件或软件模块,也可以是为终端设备提供各种服务的单个软件或软件模块,本发明实施例对此不作限制。
终端设备可以是硬件,也可以是软件。当终端设备为硬件时,其可以是具有显示屏且支持与服务器通信的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等;当终端设备为软件时,其可以安装在如上所述的电子设备中。终端设备可以实现为多个软件或软件模块,也可以实现为单个软件或软件模块,本发明实施例对此不作限制。
历史资源占用数据是在距当前时刻预设第一时长内各服务器的资源使用情况。历史资源占用数据可以包括但不限于CPU的使用率、内存的使用量、磁盘的使用量等。需要说明的是,历史资源占用数据可以是基于预设的时间粒度采集的,例如,按照每分钟、每小时、每天、每周、每月等周期采集的资源占用数据。
预设第一时长是指当前时刻之前的任意时段,即,历史时间段。该历史时间段可以是当前时刻至过去某个时刻之间的时段,例如,当前时刻起过去10分钟、当前时刻起过去1小时、当前时刻起过去30天等。该历史时间段还可以是过去的某个时刻至另一时刻之间的时段,例如,过去的3小时30分至3小时40分之间的时段。需要说明的是,预设第一时长可以是根据经验数据预先设置的时长,也可以是根据实际需要对已设置的时长进行调整后得到的时长,本发明实施例对此不作限制。例如,预设第一时长可以是15分钟、30分钟、1小时、2小时、一天、一周、半个月、一个月、三个月、一年等。优选地,在本发明实施例中,预设第一时长为30天。
预设第二时长是指当前时刻之后的任意时段,即,下一时间段。该下一时间段可以是当前时刻至未来某个时刻之间的时段,例如,当前时刻起未来5分钟、当前时刻起未来3小时、当前时刻起未来180天等。该下一时间段还可以是未来的某个时刻至另一时刻之间的时段,例如,未来1小时20分至2小时50分之间的时段。需要说明的是,预设第二时长可以是根据经验数据预先设置的时长,也可以是根据实际需要对已设置的时长进行调整后得到的时长,本发明实施例对此不作限制。例如,预设第二时长可以是15分钟、30分钟、1小时、2小时、一天、一周、半个月、一个月、三个月、一年等。优选地,在本发明实施例中,预设第一时长为15分钟。
预测资源占用数据是在距当前时刻预设第二时长(即,未来的一段时间,例如,1小时、一天等)内各服务器可能占用的资源量。预测资源占用数据可以包括但不限于CPU的使用率、内存的使用量、磁盘的使用量等。需要说明的是,预测资源占用数据可以是基于预设的时间粒度采集的,例如,按照每分钟、每小时、每天、每周、每月等周期采集的资源占用数据。
当前资源占用数据是在当前时刻(例如,12:00、14:00等)各服务器占用的资源量。当前资源占用数据以包括但不限于CPU的使用率、内存的使用量、磁盘的使用量等。需要说明的是,当前资源占用数据可以是基于预设的时间粒度采集的,例如,按照每分钟、每小时、每天、每周、每月等周期采集的资源占用数据。需要说明的是,如果没有历史资源占用数据,或者,无法采集到完整的历史资源占用数据,则可以采用当前资源占用数据。
最大资源占用数据是各服务器占用的、最大的资源量。最大资源占用数据可以包括但不限于CPU的使用率、内存的使用量、磁盘的使用量等。需要说明的是,最大资源占用数据可以是基于当前资源占用数据和预测资源占用数据比较得到的。
可用资源数据是各服务器可以占用的资源量。可用资源数据可以包括但不限于CPU的使用率、内存的使用量、磁盘的使用量等。需要说明的是,可用资源数据可以是基于最大资源占用数据计算得到的。
需要说明的是,本发明的资源占用数据不限于如上所述的CPU的使用率、内存的使用量、磁盘的使用量,例如,还可以包括带宽的使用率。
根据本发明实施例提供的技术方案,通过获取服务器的历史资源占用数据,其中,历史资源占用数据表征在距当前时刻预设第一时长内服务器的资源占用情况;基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据;获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据;基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据;基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整,实现了资源的自动配置和调整,避免了配置资源时的人工干预,提高了资源利用率,减少了资源浪费,均衡了各服务器的负载,避免了服务器负载过高出现宕机的情况,并进一步提升了用户体验。
在一些实施例中,获取服务器的历史资源占用数据,包括:获取服务器在预设第一时长内每天各时间段的原始资源占用数据;对原始资源占用数据进行去噪处理,得到历史资源占用数据。
具体地,各时间段例如可以是9:00至10:00、10:00至11:00、11:00至12:00等,也可以是10:15至10:30、10:30至11:00、11:00至11:15等,本发明实施例对此不作限制。
原始资源占用数据是各种资源实际的占用量。由于数据采集过程中可能存在一些不可控因素,导致某个时段或某天的数据异常,因此,需要对原始资源占用数据进行去噪处理。这里,去噪处理的方法可以包括但不限于将处于预设范围之外的原始资源占用数据作为噪声数据去除掉;或者,计算最近一个月的原始资源占用数据的平均值μ和标准差σ,假设正常数据所在的区间为[μ-2σ,μ+2σ],则将不在该区间内的数据替换为平均值μ。
根据本发明实施例提供的技术方案,通过对原始资源占用数据进行预处理,能够去除异常数据,从而使得到的历史资源占用数据更准确。
在一些实施例中,基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据,包括:计算服务器在预设第一时长内的历史资源占用数据的平均值和标准差;将平均值加上预设倍数的标准差作为服务器在预设第二时长内的预测资源占用数据。
具体地,可以基于n-sigma算法得到预设倍数,n-sigma算法有计算简单、效率高的优点。优选地,在本发明实施例中,采用3-sigma算法确定预测资源占用数据的波动区间,即,取[μ-3σ,μ+3σ]作为波动区间。这里,3-sigma原理可以简单描述为:在统计学上,符合标准正态分布的随机变量观测值会按照一定的概率落在不同的区间,落在正负三个标准差之内的概率达到了99.73%,因此,可以认为落在其他区间的情况是小概率事件,即,落在3个标准差之外的数据可以认为是异常数据。
可选地,在一些实施例中,如果随机变量不符合标准正态分布,则依据切比雪夫不等式,落在3个标准差之间的概率也达到88.9%以上。这里,切比雪夫原理可以简单描述为:任意一个数据集中,位于其平均数m个标准差范围内的比例(或部分)总是至少为1-1/m2,其中,m为大于1的任意正数。对于m=2,m=3和m=5有如下结果:所有数据中,至少有3/4(或75%)的数据位于平均数2个标准差范围内;所有数据中,至少有8/9(或88.9%)的数据位于平均数3个标准差范围内;所有数据中,至少有24/25(或96%)的数据位于平均数5个标准差范围内。优选地,在本发明实施例中,预设倍数为3,即,保证大部分资源占用数据都落在使用历史资源占用数据计算得到的平均值加减三倍标准差的区间之内。
根据本发明实施例提供的技术方案,通过上述两种方法中的任意一种来设置允许波动区间,能够得到更为准确的预测资源占用数据,因此,提高了预测准确率。
在一些实施例中,获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据,包括:获取服务器的当前资源占用数据,并将当前资源占用数据与预测资源占用数据进行比较;如果当前资源占用数据大于预测资源占用数据,则将当前资源占用数据作为服务器的最大资源占用数据;如果当前资源占用数据小于或等于预测资源占用数据,则将预测资源占用数据作为服务器的最大资源占用数据。
具体地,在计算出预测资源占用数据之后,电子设备还获取服务器的当前资源占用数据,并将当前资源占用数据与预测资源占用数据进行比较,以确定服务器的最大资源占用数据。进一步地,如果当前资源占用数据大于预测资源占用数据,则将当前资源占用数据作为服务器的最大资源占用数据;如果当前资源占用数据小于或等于预测资源占用数据,则将预测资源占用数据作为服务器的最大资源占用数据。
根据本发明实施例提供的技术方案,通过将当前资源占用数据与预测资源占用数据进行比较,能够准确地获得服务器的最大资源占用数据,因此,提高了预测准确率。
在一些实施例中,基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据,包括:获取服务器的最大资源可用数据,并将最大资源可用数据乘以预设百分比再减去最大资源占用数据作为服务器在预设第二时长内的可用资源数据。
具体地,预设百分比可以是预留的可用资源数据占最大资源可用数据的百分比。预设百分比可以是根据经验数据预先设置的百分比,也可以是根据实际需要对已设置的百分比进行调整后得到的百分比,本发明实施例对此不作限制。例如,预设百分比可以是5%、10%、15%、20%、30%、50%等。优选地,在本发明实施例中,预设百分比为90%。
举例来说,以12:00到12:15为例,假设获取到的30天的历史资源占用数据为371,364,447,378,469,……,510,433,411,372,则基于历史资源占用数据,计算得到的历史资源占用数据的平均值为468.40,标准差为93.43,则允许波动区间为[188.1,748.7],因此,将748.7作为正常业务占用的最大资源占用数据;进一步地,假设数据迁移的带宽上限(即,总带宽)为1000M,则数据迁移时的可使用带宽为总带宽的90%(预留10%),即,900M,将计算出的可使用带宽与最大资源占用数据进行相减,得到可用于数据迁移的带宽为:1000×90%-748.7=151.3,即,可用资源数据为151.3M。
根据本发明实施例提供的技术方案,通过对所使用的最大资源占用数据进行限制,能够避免在数据均衡时对正常的存储业务造成影响,保证了存储业务的顺利进行。
在一些实施例中,基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整,包括:在可用资源数据大于或等于预设阈值的情况下,将服务器的数据迁移至分布式存储集群中的其他服务器,以保证各服务器的数据均衡;在可用资源数据小于预设阈值的情况下,不对服务器的资源占用情况进行调整。
具体地,预设阈值可以是根据经验数据预先设置的资源数据可用值,也可以是根据实际需要对已设置的资源数据可用值进行调整后得到的资源数据可用值,本发明实施例对此不作限制。例如,预设阈值可以是0、1、10、20、50、100等。优选地,在本发明实施例中,预设阈值为0。
在本发明实施例中,如果计算出的可用资源数据大于或等于0,则表示存储业务尚未饱和,这时,可以将服务器的数据迁移至分布式存储集群中的其他服务器,以保证各服务器的数据均衡;如果计算出的可用资源数据小于0,则表示存储业务已经饱和,此时,服务器不可以进行数据迁移。
根据本发明实施例提供的技术方案,通过将可用资源数据与预设阈值进行比较,能够快速且准确地确定是否进行数据迁移,因此,实现了资源的自动配置和调整,避免了配置资源时的人工干预,提高了资源利用率,并进一步提升了用户体验。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
图2是根据本发明的另一种资源管理方法的流程示意图。图2的资源管理方法可以由资源管理装置执行,该资源管理装置可以通过软件和/或硬件的方式实现,并且可以集成在诸如服务器的电子设备中。如图2所示,该资源管理方法应用于分布式存储集群中的各服务器,包括:
S201,获取服务器在预设第一时长内每天各时间段的原始资源占用数据,并对原始资源占用数据进行去噪处理,得到历史资源占用数据;
S202,计算服务器在预设第一时长内的历史资源占用数据的平均值和标准差,并将平均值加上预设倍数的标准差作为服务器在预设第二时长内的预测资源占用数据;
S203,获取服务器的当前资源占用数据,并将当前资源占用数据与预测资源占用数据进行比较,以确定服务器的最大资源占用数据;
S204,如果当前资源占用数据大于预测资源占用数据,则将当前资源占用数据作为服务器的最大资源占用数据;
S205,如果当前资源占用数据小于或等于预测资源占用数据,则将预测资源占用数据作为服务器的最大资源占用数据;
S206,获取服务器的最大资源可用数据,并将最大资源可用数据乘以预设百分比再减去最大资源占用数据作为服务器在预设第二时长内的可用资源数据;
S207,在可用资源数据大于或等于预设阈值的情况下,将服务器的数据迁移至分布式存储集群中的其他服务器,以保证各服务器的数据均衡;
S208,在可用资源数据小于预设阈值的情况下,不对服务器的资源占用情况进行调整。
具体地,在获取到分布式存储集群中的任一服务器在预设第一时长内每天各时间段的原始资源占用数据之后,电子设备对原始资源占用数据进行去噪处理得到历史资源占用数据,计算历史资源占用数据的平均值和标准差,并将平均值加上预设倍数的标准差作为服务器在预设第二时长内的预测资源占用数据;接着,电子设备获取服务器的当前资源占用数据,并将当前资源占用数据与预测资源占用数据进行比较,以确定服务器的最大资源占用数据;如果当前资源占用数据大于预测资源占用数据,则将当前资源占用数据作为服务器的最大资源占用数据;如果当前资源占用数据小于或等于预测资源占用数据,则将预测资源占用数据作为服务器的最大资源占用数据;进一步地,电子设备获取服务器的最大资源可用数据,并将最大资源可用数据乘以预设百分比再减去最大资源占用数据作为服务器在预设第二时长内的可用资源数据;当可用资源数据大于或等于预设阈值时,电子设备将服务器的数据迁移至分布式存储集群中的其他服务器,以保证各服务器的数据均衡;当可用资源数据小于预设阈值时,电子设备不对服务器的资源占用情况进行调整。
根据本发明实施例提供的技术方案,能够基于预设第二时长和可用资源数据对服务器的资源占用情况进行调整,因此,实现了资源的自动配置和调整,避免了配置资源时的人工干预,并使得各服务器所需的资源的利用率最优,从而减少了资源浪费,降低了服务器的运营成本,并进一步提升了用户体验。
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
图3是根据本发明的一种资源管理装置的结构示意图。如图3所示,该资源管理装置应用于分布式存储集群中的各服务器,包括:
获取模块301,被配置为获取服务器的历史资源占用数据,其中,历史资源占用数据表征在距当前时刻预设第一时长内服务器的资源占用情况;
预测模块302,被配置为基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据;
确定模块303,被配置为获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据;
计算模块304,被配置为基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据;
调整模块305,被配置为基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整。
根据本公开实施例提供的技术方案,通过获取服务器的历史资源占用数据,其中,历史资源占用数据表征在距当前时刻预设第一时长内服务器的资源占用情况;基于历史资源占用数据,预测在距当前时刻预设第二时长内服务器的预测资源占用数据;获取服务器的当前资源占用数据,并将当前资源占用数据和预测资源占用数据中的最大值确定为服务器的最大资源占用数据;基于最大资源占用数据,计算服务器在预设第二时长内的可用资源数据;基于预设第二时长和可用资源数据,对服务器的资源占用情况进行调整,实现了资源的自动配置和调整,避免了配置资源时的人工干预,提高了资源利用率,减少了资源浪费,均衡了各服务器的负载,避免了服务器负载过高出现宕机的情况,并进一步提升了用户体验。
在一些实施例中,图3的获取模块301获取服务器在预设第一时长内每天各时间段的原始资源占用数据,并对原始资源占用数据进行去噪处理得到历史资源占用数据。
在一些实施例中,图3的预测模块302计算服务器在预设第一时长内的历史资源占用数据的平均值和标准差,并将平均值加上预设倍数的标准差作为服务器在预设第二时长内的预测资源占用数据。
在一些实施例中,图3的确定模块303获取服务器的当前资源占用数据,并将当前资源占用数据与预测资源占用数据进行比较;如果当前资源占用数据大于预测资源占用数据,则将当前资源占用数据作为服务器的最大资源占用数据;如果当前资源占用数据小于或等于预测资源占用数据,则将预测资源占用数据作为服务器的最大资源占用数据。
在一些实施例中,图3的计算模块304获取服务器的最大资源可用数据,并将最大资源可用数据乘以预设百分比再减去最大资源占用数据作为服务器在预设第二时长内的可用资源数据。
在一些实施例中,在可用资源数据大于或等于预设阈值的情况下,图3的调整模块305将服务器的数据迁移至分布式存储集群中的其他服务器,以保证各服务器的数据均衡;在可用资源数据小于预设阈值的情况下,图3的调整模块305不对服务器的资源占用情况进行调整。
在一些实施例中,资源占用数据包括内存资源占用数据、CPU资源占用数据、磁盘占用数据和/或带宽资源占用数据。
应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
图4是根据本发明的电子设备4的结构示意图。如图4所示,该实施例的电子设备4包括:处理器401、存储器402以及存储在该存储器402中并且可以在处理器401上运行的计算机程序403。处理器401执行计算机程序403时实现上述各个方法实施例中的步骤。或者,处理器401执行计算机程序403时实现上述各装置实施例中各模块/单元的功能。
示例性地,计算机程序403可以被分割成一个或多个模块/单元,一个或多个模块/单元被存储在存储器402中,并由处理器401执行,以完成本发明。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序403在电子设备4中的执行过程。
电子设备4可以是桌上型计算机、笔记本、掌上电脑及云端服务器等电子设备。电子设备4可以包括但不仅限于处理器401和存储器402。本领域技术人员可以理解,图4仅仅是电子设备4的示例,并不构成对电子设备4的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如,电子设备还可以包括输入输出设备、网络接入设备、总线等。
处理器401可以是中央处理单元(Central Processing Unit,CPU),也可以是其它通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器402可以是电子设备4的内部存储单元,例如,电子设备4的硬盘或内存。存储器402也可以是电子设备4的外部存储设备,例如,电子设备4上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器402还可以既包括电子设备4的内部存储单元也包括外部存储设备。存储器402用于存储计算机程序以及电子设备所需的其它程序和数据。存储器402还可以用于暂时地存储已经输出或者将要输出的数据。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所发明的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可以存储在计算机可读存储介质中,该计算机程序在被处理器执行时,可以实现上述各个方法实施例的步骤。计算机程序可以包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如,在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (10)
1.一种资源管理方法,应用于分布式存储集群中的各服务器,其特征在于,包括:
获取所述服务器的历史资源占用数据,其中,所述历史资源占用数据表征在距当前时刻预设第一时长内所述服务器的资源占用情况;
基于所述历史资源占用数据,预测在距所述当前时刻预设第二时长内所述服务器的预测资源占用数据;
获取所述服务器的当前资源占用数据,并将所述当前资源占用数据和所述预测资源占用数据中的最大值确定为所述服务器的最大资源占用数据;
基于所述最大资源占用数据,计算所述服务器在所述预设第二时长内的可用资源数据;
基于所述预设第二时长和所述可用资源数据,对所述服务器的资源占用情况进行调整。
2.根据权利要求1所述的方法,其特征在于,所述获取所述服务器的历史资源占用数据,包括:
获取所述服务器在所述预设第一时长内每天各时间段的原始资源占用数据;
对所述原始资源占用数据进行去噪处理,得到所述历史资源占用数据。
3.根据权利要求1所述的方法,其特征在于,所述基于所述历史资源占用数据,预测在距所述当前时刻预设第二时长内所述服务器的预测资源占用数据,包括:
计算所述服务器在所述预设第一时长内的所述历史资源占用数据的平均值和标准差;
将所述平均值加上预设倍数的所述标准差作为所述服务器在所述预设第二时长内的所述预测资源占用数据。
4.根据权利要求1所述的方法,其特征在于,所述获取所述服务器的当前资源占用数据,并将所述当前资源占用数据和所述预测资源占用数据中的最大值确定为所述服务器的最大资源占用数据,包括:
获取所述服务器的当前资源占用数据,并将所述当前资源占用数据与所述预测资源占用数据进行比较;
如果所述当前资源占用数据大于所述预测资源占用数据,则将所述当前资源占用数据作为所述服务器的最大资源占用数据;
如果所述当前资源占用数据小于或等于所述预测资源占用数据,则将所述预测资源占用数据作为所述服务器的最大资源占用数据。
5.根据权利要求1所述的方法,其特征在于,所述基于所述最大资源占用数据,计算所述服务器在所述预设第二时长内的可用资源数据,包括:
获取所述服务器的最大资源可用数据,并将所述最大资源可用数据乘以预设百分比再减去所述最大资源占用数据作为所述服务器在所述预设第二时长内的可用资源数据。
6.根据权利要求5所述的方法,其特征在于,所述基于所述预设第二时长和所述可用资源数据,对所述服务器的资源占用情况进行调整,包括:
在所述可用资源数据大于或等于预设阈值的情况下,将所述服务器的数据迁移至所述分布式存储集群中的其他服务器,以保证所述各服务器的数据均衡;
在所述可用资源数据小于所述预设阈值的情况下,不对所述服务器的资源占用情况进行调整。
7.根据权利要求1至6中任一项所述的方法,其特征在于,所述资源占用数据包括内存资源占用数据、CPU资源占用数据、磁盘占用数据和/或带宽资源占用数据。
8.一种资源管理装置,应用于分布式存储集群中的各服务器,其特征在于,包括:
获取模块,被配置为获取所述服务器的历史资源占用数据,其中,所述历史资源占用数据表征在距当前时刻预设第一时长内所述服务器的资源占用情况;
预测模块,被配置为基于所述历史资源占用数据,预测在距所述当前时刻预设第二时长内所述服务器的预测资源占用数据;
确定模块,被配置为获取所述服务器的当前资源占用数据,并将所述当前资源占用数据和所述预测资源占用数据中的最大值确定为所述服务器的最大资源占用数据;
计算模块,被配置为基于所述最大资源占用数据,计算所述服务器在所述预设第二时长内的可用资源数据;
调整模块,被配置为基于所述预设第二时长和所述可用资源数据,对所述服务器的资源占用情况进行调整。
9.一种电子设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509653.9A CN114185675A (zh) | 2021-12-10 | 2021-12-10 | 资源管理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111509653.9A CN114185675A (zh) | 2021-12-10 | 2021-12-10 | 资源管理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114185675A true CN114185675A (zh) | 2022-03-15 |
Family
ID=80543214
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111509653.9A Pending CN114185675A (zh) | 2021-12-10 | 2021-12-10 | 资源管理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114185675A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610270A (zh) * | 2023-07-21 | 2023-08-18 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频处理的存算分离方法及视频存算分离系统 |
CN117009091A (zh) * | 2023-10-07 | 2023-11-07 | 浪潮(山东)计算机科技有限公司 | 一种资源调整方法、装置、设备及可读存储介质 |
CN117591382A (zh) * | 2024-01-19 | 2024-02-23 | 融科联创(天津)信息技术有限公司 | 服务器故障智能监测方法、装置、设备及介质 |
-
2021
- 2021-12-10 CN CN202111509653.9A patent/CN114185675A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116610270A (zh) * | 2023-07-21 | 2023-08-18 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频处理的存算分离方法及视频存算分离系统 |
CN116610270B (zh) * | 2023-07-21 | 2023-10-03 | 湖南马栏山视频先进技术研究院有限公司 | 一种视频处理的存算分离方法及视频存算分离系统 |
CN117009091A (zh) * | 2023-10-07 | 2023-11-07 | 浪潮(山东)计算机科技有限公司 | 一种资源调整方法、装置、设备及可读存储介质 |
CN117009091B (zh) * | 2023-10-07 | 2023-12-19 | 浪潮(山东)计算机科技有限公司 | 一种资源调整方法、装置、设备及可读存储介质 |
CN117591382A (zh) * | 2024-01-19 | 2024-02-23 | 融科联创(天津)信息技术有限公司 | 服务器故障智能监测方法、装置、设备及介质 |
CN117591382B (zh) * | 2024-01-19 | 2024-04-30 | 融科联创(天津)信息技术有限公司 | 服务器故障智能监测方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114185675A (zh) | 资源管理方法、装置、电子设备及存储介质 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN109597685B (zh) | 任务分配方法、装置和服务器 | |
CN108683720B (zh) | 一种容器集群服务配置方法及装置 | |
CN109446041B (zh) | 一种服务器压力预警方法、系统及终端设备 | |
US10944581B2 (en) | Increasing processing capacity of processor cores during initial program load processing | |
CN107343023B (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
CN111966449B (zh) | 一种虚拟机备份管理方法、系统、终端及存储介质 | |
CN109739627B (zh) | 任务的调度方法、电子设备及介质 | |
CN105227489A (zh) | 一种带宽管理方法及电子设备 | |
CN116149846A (zh) | 一种应用性能优化方法、装置、电子设备及存储介质 | |
CN113885794B (zh) | 基于多云存储的数据访问方法、装置、计算机设备及介质 | |
US20200272526A1 (en) | Methods and systems for automated scaling of computing clusters | |
CN113688001A (zh) | 服务器硬盘功耗动态均衡方法、装置、终端及存储介质 | |
US10884818B2 (en) | Increasing processing capacity of virtual machines | |
CN110557432A (zh) | 一种缓存池均衡优化方法、系统、终端及存储介质 | |
CN112463046B (zh) | 一种动态调整位图空间的方法、系统、终端及存储介质 | |
CN110569114B (zh) | 一种业务处理方法、装置、设备及存储介质 | |
CN115080253B (zh) | Gpu任务的分配方法、装置、电子设备和存储介质 | |
CN109614242B (zh) | 一种计算能力共享方法、装置、设备及介质 | |
CN112817687A (zh) | 一种数据同步方法和装置 | |
CN111552547A (zh) | 作业处理方法、装置以及计算机设备 | |
CN115640167A (zh) | 数据备份方法、装置、电子设备及存储介质 | |
CN113285890B (zh) | 网关流量的分配方法、装置、电子设备及存储介质 | |
CN114219468A (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 |