CN116467082A - 一种基于大数据的资源分配方法及系统 - Google Patents

一种基于大数据的资源分配方法及系统 Download PDF

Info

Publication number
CN116467082A
CN116467082A CN202310432479.5A CN202310432479A CN116467082A CN 116467082 A CN116467082 A CN 116467082A CN 202310432479 A CN202310432479 A CN 202310432479A CN 116467082 A CN116467082 A CN 116467082A
Authority
CN
China
Prior art keywords
resource
node device
node
big data
model
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
Application number
CN202310432479.5A
Other languages
English (en)
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.)
Shanxi Shaoheiyang Technology Co ltd
Original Assignee
Shanxi Shaoheiyang Technology 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 Shanxi Shaoheiyang Technology Co ltd filed Critical Shanxi Shaoheiyang Technology Co ltd
Priority to CN202310432479.5A priority Critical patent/CN116467082A/zh
Publication of CN116467082A publication Critical patent/CN116467082A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本申请公开了一种基于大数据的资源分配方法及系统,该方法包括:创建大数据资源管理池,并获取各个节点设备的资源参数及占用率;在所述大数据资源管理池中,生成资源占用模型,通过所述资源占用模型预测各个节点设备的资源占用情况,并将所述预测的各个节点设备的资源占用情况发送至资源分配器;所述资源分配器在各个节点设备之间进行资源调度,以实现负载均衡。

Description

一种基于大数据的资源分配方法及系统
技术领域
本申请属于大数据技术领域,具体地,涉及一种基于大数据的资源分配方法及系统。
背景技术
在大数据领域中,如何实现资源(如CPU、内存等算力资源)的合理分配是一个很大的技术难题。对于大数据管理系统而言,一方面要保证海量数据的高效处理,一方面也需要保证资源的能够得到合理的利用。
在现有技术中,通常需要一个资源调度器,在接收到某一节点设备的预警提示后,将该节点设备的负载转移给较低负载的其他设备,从而降低该节点设备的饱和度,但该方式极度依赖单一节点设备的主动预警提示,效率较低,且资源调度器需要实时不断地接收多个节点设备的心跳包,处理方式单一,不够灵活。
发明内容
本申请提供了一种基于大数据的资源分配方法及系统,有效解决了现有技术被动预警方式导致的效率低下和处理方式单一的问题。
为了实现上述目的,本申请实施例提供一种基于大数据的资源分配方法,包括:
创建大数据资源管理池,并获取各个节点设备的资源参数及占用率;
在所述大数据资源管理池中,生成资源占用模型,通过所述资源占用模型预测各个节点设备的资源占用情况,并将所述预测的各个节点设备的资源占用情况发送至资源分配器;
所述资源分配器在各个节点设备之间进行资源调度,以实现负载均衡。
可选地,所述资源分配器在各个节点设备之间进行资源调度,包括:
所述资源分配器基于所述预测的各个节点设备的资源占用情况,对所述各个节点设备的资源健康度进行预测;
基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略;
基于上述任务分配比例和调度策略,将任务分配给对应的节点设备处理。
可选地,基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略,包括:
创建哈希环,并将各个节点设备均匀设置在所述哈希环的各个节点上;
获取待分配任务,基于所述待分配任务的数量和所述预测的各个节点设备的资源健康度,确定待分配任务和各个节点设备的对应关系,其中,确定待分配任务和各个节点设备的对应关系,包括:
将各个节点设备按照预测的健康度由高到低进行排序;
将任务数量按照由高到低的比例依次分配给所述各个节点设备,以使所述各个节点设备依次处理对应的任务;
其中,所述资源分配器在各个节点设备之间进行资源调度,包括:
所述资源分配器按照待分配任务和各个节点设备的对应关系,调整所述哈希环上各个节点中的节点设备数量,并分配对应的任务数至对应的节点设备中。
可选地,所述对所述各个节点设备的资源健康度进行预测,包括:
通过如下资源占用率预测公式进行资源健康度预测:
其中,R表示在第T+1个周期内的资源健康度预测值,T为正整数;
Ti表示在第i个节点设备上的总时间,i=1...N,N为总节点设备数量;
Ri表示在第i个节点设备上的平均资源健康度。
可选地,通过所述资源占用模型预测各个节点设备的资源占用情况,包括:
建立预测模型,并使用历史数据对该预测模型进行训练,并对该模型进行评估和调整;
使用训练好的所述预测模型来预测所述各个节点设备的资源占用情况。
可选地,通过所述资源占用模型预测各个节点设备的资源占用情况,包括:
计算各个节点设备的负荷度指标ωi,所述负荷度指标描述所述各个节点设备的资源占用情况;
公式如下:
其中N是节点设备运行时工作线程数,Nmax是设置的最大线程数,描述该节点设备工作线程的饱和度;Tcur是当前采集时间窗口的任务数,Tpre是上一采集时间窗口的任务数,Q是任务缓冲队列大小,/>描述当前任务饱和度,/>描述任务缓冲队列增长速率,ξ1,ξ2,ξ3是权重系数。
可选地,其特征在于,所述方法还包括:
计算所述大数据资源管理池当前的占用率,其中,所述大数据资源管理池的占用率等于已分配的任务数除以所述大数据资源管理池的容量;
根据占用率的大小自动调整所述大数据资源管理池的容量;
根据所述大数据资源管理池的占用率,估算出空闲算力的数量;
将空闲算力分配到其余网络算力节点中。
可选地,根据占用率的大小自动调整所述大数据资源管理池的容量,包括:
设定所述大数据资源管理池的容量和占用率阈值;
当新任务到达时,判断当前占用率是否超过预设阈值,如果超过,则自动增加资源管理池容量;
当所述大数据资源管理池中的任务执行完毕时,如果当前占用率低于一定阈值,缩减资源管理池的容量。
本发明实施例还提供一种基于大数据的资源分配系统,所述系统包括:
创建模块,用于创建大数据资源管理池,并获取各个节点设备的资源参数及占用率;
预测模块,用于在所述大数据资源管理池中,生成资源占用模型,通过所述资源占用模型预测各个节点设备的资源占用情况,并将所述预测的各个节点设备的资源占用情况发送至资源分配器;
所述资源分配器,用于在各个节点设备之间进行资源调度,以实现负载均衡。
一种基于大数据的资源分配系统,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述基于大数据的资源分配方法。
本申请实施例提出的方法及系统,通过大数据资源管理池进行资源收集,并生成资源占用模型,通过资源占用模型预测各个节点设备的资源占用情况,并将预测的各个节点设备的资源占用情况发送至资源分配器,以实现资源的合理分配,有效解决了现有技术被动预警方式导致的效率低下和处理方式单一的问题,提升了资源分配效率,提升了处理方式的灵活度。
附图说明
图1为一个实施例中基于大数据的资源分配方法的流程图;
图2为图1中步骤S103的细化流程图;
图3为一个实施例中哈希环的示意图;
图4为一个实施例中基于大数据的资源分配系统的结构框图;
图5为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。此外,下面所描述的本申请各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
图1为一个实施例中基于大数据的资源分配方法的流程图,如图1所示,本发明实施例包括:
S101、创建大数据资源管理池,并获取各个节点设备的资源参数及占用率;
在本发明实施例中,通过云计算集群进行数据的存储、处理和执行,云计算集群内部针对海量数据的管理,需要有一个虚拟的、独立的管理机构,即大数据资源管理池,该资源管理池是一个虚拟管理机构,分散在云计算集群的分布式各个节点中,由一个主节点和多个分布式节点组成,主节点负责对各分布式节点进行信息汇总和命令交互,分布式节点则主要收集各个地区/地域中节点设备信息。其中,节点设备包括边缘计算节点、各类终端(如移动终端、PC、本地服务器等),节点设备具备一定的数据处理能力,可以将不同的任务通过不同的节点设备进行执行,节点设备由于硬件设施各不相同,如CPU、内存、硬盘容量等,因此,需要由统一的大数据资源管理池进行管理。在本发明实施例中,大数据资源管理池需要获取每一个节点设备的资源参数及占用率,其中,资源参数即上述提到的CPU、内存、硬盘容量等具体的参数,例如CPU是2.4
GB/S,内存是5GB等,占用率则是指资源占用率,如某一节点设备具备的内存是16GB,当前的任务占据了8GB,则资源占用率为50%。
S102、在所述大数据资源管理池中,生成资源占用模型,通过所述资源占用模型预测各个节点设备的资源占用情况,并将所述预测的各个节点设备的资源占用情况发送至资源分配器;
大数据资源管理池需要对各个节点设备的资源投入和分配进行统一调度和管理,就需要实时确认不同节点的资源参数和使用情况,并预测未来的下一个周期内该节点的资源占用情况。因此,本发明实施例中,通过资源占用模型进行各个节点设备的资源占用情况预测。其中,资源占用模型是一个各类数学模型、AI模型的集合,如各类时间序列模型、ARIMA模型、神经网络模型等,该资源占用模型可以基于节点设备的历史数据进行未来一段周期内的资源占用情况预测。
需要说明的是,资源占用模型是用于预测设备资源占用情况的数学模型。
建立一个这样的模型,需要考虑以下几个因素:
1.资源类型:不同的节点设备所使用的资源类型各不相同,例如:CPU、内存、磁盘等等。
2.资源使用规律:对于同一种资源,不同的设备使用规律也可能不同。例如:有些设备可能会短时间内大量占用CPU,然而在接下来的时间却几乎没有占用。
3.资源占用模型:资源占用模型包括:资源占用计算公式、统计方法等等。
其中,通过资源占用模型预测各个节点设备的资源占用情况,可以按照以下步骤进行:
1.收集数据:收集各个节点设备的资源占用数据,包括CPU占用率、内存使用率、磁盘读写速率等等。
2.数据预处理:对收集的数据进行预处理,以去除异常值或噪声。
3.选择合适的模型:选择合适的资源占用模型来建立预测模型。具体的模型选择取决于所使用节点设备的资源类型和使用规律。例如,可以使用时间序列分析、贝叶斯网络或神经网络等模型。
4.训练模型:使用处理后的数据,训练建立的预测模型。
5.测试模型:使用测试数据集进行模型测试。
6.更正模型:如果模型存在不足,可以根据测试结果和实际数据更正模型。
7.应用模型:将训练好的模型应用于实际场景中,预测各个节点设备的资源占用情况。
此外,通过所述资源占用模型预测各个节点设备的资源占用情况,在一个可能的实施方案中,包括如下步骤:
建立预测模型,并使用历史数据对该预测模型进行训练,并对该模型进行评估和调整;
使用训练好的所述预测模型来预测所述各个节点设备的资源占用情况。
具体地,预测模型可以是ARIMA模型(自回归移动平均模型),ARIMA模型是时间序列预测中广泛使用的一种模型。其建模思路是通过构建一个随时间变化的函数,来拟合过去的时间序列数据,并用该函数预测未来的时间序列数据。下面是ARIMA模型训练的具体方案:
1.数据预处理
首先,需要对数据进行预处理。这个过程包括了数据清洗、缺失数据填充、异常值处理等步骤。主要目的是将原始数据处理成满足ARIMA模型假设的平稳时间序列。
2.确定模型参数
ARIMA模型的参数包括AR(自回归)项、MA(移动平均)项和差分(d)次数。在实际建模中,我们需要通过相关系数函数(ACF)和偏自相关系数函数(PACF)分析,来确定模型的参数。该参数的确定需要一定的经验和技巧。
3.模型建立和训练
根据确定的模型参数,可以建立相应的ARIMA模型,并使用历史数据进行模型训练。模型训练的过程是通过极大似然估计法、最小二乘法等方法寻找最优的模型参数。
4.模型诊断
在模型训练完成后,需要对训练结果进行诊断。诊断的主要目的是检查模型的拟合质量是否满足要求。在诊断过程中,需要对残差进行自相关性检验和正态性检验等。
5.模型预测
最后,可以使用训练好的ARIMA模型对未来时间序列数据进行预测。预测的过程需要有一定的统计学知识和技巧,例如通过应用滚动预测法和时间序列交叉验证等方法来评估和调整模型的预测效果。
需要注意的是,ARIMA模型训练是一个迭代优化的过程,需要结合实际数据和实际领域经验来进行模型参数的确定和结果的诊断。
在另一个实施例中,通过所述资源占用模型预测各个节点设备的资源占用情况,还可以包括如下内容:
计算各个节点设备的负荷度指标ωi,所述负荷度指标描述所述各个节点设备的资源占用情况,该指标是对资源占用情况进行定量表示的一个参数,负荷度指标高的,其资源占用率高;
公式如下:
其中N是节点设备运行时工作线程数,Nmax是设置的最大线程数,描述该节点设备工作线程的饱和度;Tcur是当前采集时间窗口的任务数,Tpre是上一采集时间窗口的任务数,Q是任务缓冲队列大小,/>描述当前任务饱和度,/>描述任务缓冲队列增长速率,ξ1,ξ2,ξ3是权重系数。
S103、所述资源分配器在各个节点设备之间进行资源调度,以实现负载均衡。
具体地,如图2所示:
所述资源分配器基于所述预测的各个节点设备的资源占用情况,对所述各个节点设备的资源健康度进行预测;
基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略;
基于上述任务分配比例和调度策略,将任务分配给对应的节点设备处理。
其中,基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略,具体又可以包括如下步骤:
创建哈希环,并将各个节点设备均匀设置在所述哈希环的各个节点上;
如图3所示,哈希环是一种用于分布式系统中的数据分片或负载均衡的算法。它将所有的数据节点或服务器节点映射到一个环上,通过某种函数算法将每个节点映射成一个固定位数的哈希值,并将这些哈希值按顺序排列在环上形成一个哈希环。当需要对一个数据进行定位时,将该数据对应的哈希值映射到环上,然后沿着环顺时针找到第一个遇到的节点即可。
哈希环的作用主要有两个:
1.数据分片。将大量的数据按照一定的规则映射到哈希环上,然后根据需求将这些数据平均或者按照某种规则分配到不同的节点上存储,这样就实现了数据的分片和存储,可以有效地避免数据倾斜的问题。
2.负载均衡。当有多台服务器节点时,可以将这些节点映射到哈希环上,当有新的请求到来时,根据请求的哈希值在哈希环上找到对应的节点,将请求路由到该节点上处理,实现了负载均衡的功能。如果某个节点出现故障,只需将该节点从哈希环中移除即可,请求将自动路由到下一个可用的节点上处理,保证服务的高可靠性。
获取待分配任务,基于所述待分配任务的数量和所述预测的各个节点设备的资源健康度,确定待分配任务和各个节点设备的对应关系,其中,待分配任务是指下一周期内需要节点设备进行数据存储、处理的各类不同任务,资源健康度代表该节点设备的负载能力是否处于健康状态,是一个定量数据,例如,可设定一个预警阈值,例如CPU使用率达到90%(CPU预警阈值)认为其负载过大,健康度低,设定其为30(满分为100),或者内存使用率达到90%(内存预警阈值)认为其内存占用过大,健康度低,设定其为25(满分为100)。则在本发明实施例中,确定待分配任务和各个节点设备的对应关系,具体可以为:
将各个节点设备按照预测的健康度由高到低进行排序,其中,健康度和资源占用率负相关,可人为设定该健康度的具体数值,也可以通过一定比例公式对其进行计算;
将任务数量按照由高到低的比例依次分配给所述各个节点设备,以使所述各个节点设备依次处理对应的任务;即各个节点设备中,健康度高的,其任务数量要高,健康度低的,相应的任务数量则要低;
那么,在资源分配器在各个节点设备之间进行资源调度,具体可以包括如下步骤:
所述资源分配器按照待分配任务和各个节点设备的对应关系,调整所述哈希环上各个节点中的节点设备数量,并分配对应的任务数至对应的节点设备中。例如,在初始的哈希环上,一共有5个节点(设定为A,B,C,D,E),每个节点均匀分布有20个初始节点设备,在获得了待分配任务和各个节点设备的对应关系后,该哈希环中的节点数量需要调整,在一个实施例中,A节点调整后一共有12个节点设备,B节点调整后一共有36个节点设备,C节点调整后一共有22个节点设备,D节点调整后一共有10个节点设备,E节点调整后一共有20个节点设备。这样,每个节点分配的任务数是一样的,但是每个节点的节点设备数不一样,那么对于A,D节点而言,其单位节点设备承担的任务数就变多了,而B,C设备则变少了,E节点不变。
可选地,所述对所述各个节点设备的资源健康度进行预测,包括:
通过如下资源占用率预测公式进行资源健康度预测:
其中,R表示在第T+1个周期内的资源健康度预测值,T为正整数;
Ti表示在第i个节点设备上的总时间,i=1...N,N为总节点设备数量;
Ri表示在第i个节点设备上的平均资源健康度。
其中,平均资源健康度可以通过对所有节点设备的CPU和内存健康度进行加权平均得到。假设有N个节点设备,第i个节点设备的CPU健康度为CPi,内存健康度为MPi,节点设备i的权重为Wi,则平均资源健康度Ri计算公式为:
其中,Wt为总权重,可以通过对所有节点设备权重的求和得到,即该平均资源健康度公式考虑了不同节点设备的权重和各自的资源健康度,能够更准确地评估整个系统的平均资源占用情况。
此外,本发明实施例中,云计算集群建立的大数据资源管理池可以是多个,任一个大数据资源管理池是可以针对某一特定区域的资源进行分配,但是对于该区域的资源不可能一直都会饱和,一定会在某一时段出现算力空闲的情况,此时,还可以将空闲算力转移到其余地区的算力中,实现所有区域的负载均衡,构建一个算力网络。具体地:
云计算集群计算某一地区的大数据资源管理池当前的占用率,其中,所述大数据资源管理池的占用率等于已分配的任务数除以所述大数据资源管理池的容量,其中,大数据资源管理池的容量可以为其所管辖的节点设备的容量之和;
根据占用率的大小自动调整所述大数据资源管理池的容量;
根据所述大数据资源管理池的占用率,估算出空闲算力的数量;
将空闲算力分配到其余网络算力节点(例如由其他大数据资源管理池)中。
在本发明实施例中,根据占用率的大小自动调整所述大数据资源管理池的容量,具体为:
设定所述大数据资源管理池的容量和占用率阈值;
当新任务到达时,判断当前占用率是否超过预设阈值,如果超过,则自动增加资源管理池容量;
当所述大数据资源管理池中的任务执行完毕时,如果当前占用率低于一定阈值,缩减资源管理池的容量。
本申请实施例提出的方法及系统,通过大数据资源管理池进行资源收集,并生成资源占用模型,通过资源占用模型预测各个节点设备的资源占用情况,并将预测的各个节点设备的资源占用情况发送至资源分配器,以实现资源的合理分配,有效解决了现有技术被动预警方式导致的效率低下和处理方式单一的问题,提升了资源分配效率,提升了处理方式的灵活度。
如图4所示,本发明实施例还提供一种基于大数据的资源分配系统,所述系统包括:
创建模块,用于创建大数据资源管理池,并获取各个节点设备的资源参数及占用率;
预测模块,用于在所述大数据资源管理池中,生成资源占用模型,通过所述资源占用模型预测各个节点设备的资源占用情况,并将所述预测的各个节点设备的资源占用情况发送至资源分配器;
所述资源分配器,用于在各个节点设备之间进行资源调度,以实现负载均衡。
在本发明实施例中,通过云计算集群进行数据的存储、处理和执行,云计算集群内部针对海量数据的管理,需要有一个虚拟的、独立的管理机构,即大数据资源管理池,该资源管理池是一个虚拟管理机构,分散在云计算集群的分布式各个节点中,由一个主节点和多个分布式节点组成,主节点负责对各分布式节点进行信息汇总和命令交互,分布式节点则主要收集各个地区/地域中节点设备信息。其中,节点设备包括边缘计算节点、各类终端(如移动终端、PC、本地服务器等),节点设备具备一定的数据处理能力,可以将不同的任务通过不同的节点设备进行执行,节点设备由于硬件设施各不相同,如CPU、内存、硬盘容量等,因此,需要由统一的大数据资源管理池进行管理。在本发明实施例中,大数据资源管理池需要获取每一个节点设备的资源参数及占用率,其中,资源参数即上述提到的CPU、内存、硬盘容量等具体的参数,例如CPU是2.4
GB/S,内存是5GB等,占用率则是指资源占用率,如某一节点设备具备的内存是16GB,当前的任务占据了8GB,则资源占用率为50%。
创建模块创建的大数据资源管理池,需要对各个节点设备的资源投入和分配进行统一调度和管理,就需要实时确认不同节点的资源参数和使用情况,并预测未来的下一个周期内该节点的资源占用情况。因此,本发明实施例中,通过资源占用模型进行各个节点设备的资源占用情况预测。其中,资源占用模型是一个各类数学模型、AI模型的集合,如各类时间序列模型、ARIMA模型、神经网络模型等,该资源占用模型可以基于节点设备的历史数据进行未来一段周期内的资源占用情况预测。
需要说明的是,资源占用模型是用于预测设备资源占用情况的数学模型。
建立一个这样的模型,需要考虑以下几个因素:
1.资源类型:不同的节点设备所使用的资源类型各不相同,例如:CPU、内存、磁盘等等。
2.资源使用规律:对于同一种资源,不同的设备使用规律也可能不同。例如:有些设备可能会短时间内大量占用CPU,然而在接下来的时间却几乎没有占用。
3.资源占用模型:资源占用模型包括:资源占用计算公式、统计方法等等。
其中,预测模块用于通过资源占用模型预测各个节点设备的资源占用情况,可以按照以下步骤进行:
1.收集数据:收集各个节点设备的资源占用数据,包括CPU占用率、内存使用率、磁盘读写速率等等。
2.数据预处理:对收集的数据进行预处理,以去除异常值或噪声。
3.选择合适的模型:选择合适的资源占用模型来建立预测模型。具体的模型选择取决于所使用节点设备的资源类型和使用规律。例如,可以使用时间序列分析、贝叶斯网络或神经网络等模型。
4.训练模型:使用处理后的数据,训练建立的预测模型。
5.测试模型:使用测试数据集进行模型测试。
6.更正模型:如果模型存在不足,可以根据测试结果和实际数据更正模型。
7.应用模型:将训练好的模型应用于实际场景中,预测各个节点设备的资源占用情况。
此外,通过所述资源占用模型预测各个节点设备的资源占用情况,在一个可能的实施方案中,包括如下步骤:
建立预测模型,并使用历史数据对该预测模型进行训练,并对该模型进行评估和调整;
使用训练好的所述预测模型来预测所述各个节点设备的资源占用情况。
具体地,预测模型可以是ARIMA模型(自回归移动平均模型),ARIMA模型是时间序列预测中广泛使用的一种模型。其建模思路是通过构建一个随时间变化的函数,来拟合过去的时间序列数据,并用该函数预测未来的时间序列数据。下面是ARIMA模型训练的具体方案:
1.数据预处理
首先,需要对数据进行预处理。这个过程包括了数据清洗、缺失数据填充、异常值处理等步骤。主要目的是将原始数据处理成满足ARIMA模型假设的平稳时间序列。
2.确定模型参数
ARIMA模型的参数包括AR(自回归)项、MA(移动平均)项和差分(d)次数。在实际建模中,我们需要通过相关系数函数(ACF)和偏自相关系数函数(PACF)分析,来确定模型的参数。该参数的确定需要一定的经验和技巧。
3.模型建立和训练
根据确定的模型参数,可以建立相应的ARIMA模型,并使用历史数据进行模型训练。模型训练的过程是通过极大似然估计法、最小二乘法等方法寻找最优的模型参数。
4.模型诊断
在模型训练完成后,需要对训练结果进行诊断。诊断的主要目的是检查模型的拟合质量是否满足要求。在诊断过程中,需要对残差进行自相关性检验和正态性检验等。
5.模型预测
最后,可以使用训练好的ARIMA模型对未来时间序列数据进行预测。预测的过程需要有一定的统计学知识和技巧,例如通过应用滚动预测法和时间序列交叉验证等方法来评估和调整模型的预测效果。
需要注意的是,ARIMA模型训练是一个迭代优化的过程,需要结合实际数据和实际领域经验来进行模型参数的确定和结果的诊断。
在另一个实施例中,通过所述资源占用模型预测各个节点设备的资源占用情况,还可以包括如下内容:
计算各个节点设备的负荷度指标ωi,所述负荷度指标描述所述各个节点设备的资源占用情况,该指标是对资源占用情况进行定量表示的一个参数,负荷度指标高的,其资源占用率高;
公式如下:
其中N是节点设备运行时工作线程数,Nmax是设置的最大线程数,描述该节点设备工作线程的饱和度;Tcur是当前采集时间窗口的任务数,Tpre是上一采集时间窗口的任务数,Q是任务缓冲队列大小,/>描述当前任务饱和度,/>描述任务缓冲队列增长速率,ξ1,ξ2,ξ3是权重系数。
具体地,如图2所示:
所述资源分配器基于所述预测的各个节点设备的资源占用情况,对所述各个节点设备的资源健康度进行预测;
基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略;
基于上述任务分配比例和调度策略,将任务分配给对应的节点设备处理。
其中,基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略,具体又可以包括如下步骤:
创建哈希环,并将各个节点设备均匀设置在所述哈希环的各个节点上;
如图3所示,哈希环是一种用于分布式系统中的数据分片或负载均衡的算法。它将所有的数据节点或服务器节点映射到一个环上,通过某种函数算法将每个节点映射成一个固定位数的哈希值,并将这些哈希值按顺序排列在环上形成一个哈希环。当需要对一个数据进行定位时,将该数据对应的哈希值映射到环上,然后沿着环顺时针找到第一个遇到的节点即可。在图3中,s0-s3,k0-k3均代表不同的节点设备。
哈希环的作用主要有两个:
1.数据分片。将大量的数据按照一定的规则映射到哈希环上,然后根据需求将这些数据平均或者按照某种规则分配到不同的节点上存储,这样就实现了数据的分片和存储,可以有效地避免数据倾斜的问题。
2.负载均衡。当有多台服务器节点时,可以将这些节点映射到哈希环上,当有新的请求到来时,根据请求的哈希值在哈希环上找到对应的节点,将请求路由到该节点上处理,实现了负载均衡的功能。如果某个节点出现故障,只需将该节点从哈希环中移除即可,请求将自动路由到下一个可用的节点上处理,保证服务的高可靠性。
获取待分配任务,基于所述待分配任务的数量和所述预测的各个节点设备的资源健康度,确定待分配任务和各个节点设备的对应关系,其中,待分配任务是指下一周期内需要节点设备进行数据存储、处理的各类不同任务,资源健康度代表该节点设备的负载能力是否处于健康状态,是一个定量数据,例如,可设定一个预警阈值,例如CPU使用率达到90%(CPU预警阈值)认为其负载过大,健康度低,设定其为30(满分为100),或者内存使用率达到90%(内存预警阈值)认为其内存占用过大,健康度低,设定其为25(满分为100)。则在本发明实施例中,确定待分配任务和各个节点设备的对应关系,具体可以为:
将各个节点设备按照预测的健康度由高到低进行排序,其中,健康度和资源占用率负相关,可人为设定该健康度的具体数值,也可以通过一定比例公式对其进行计算;
将任务数量按照由高到低的比例依次分配给所述各个节点设备,以使所述各个节点设备依次处理对应的任务;即各个节点设备中,健康度高的,其任务数量要高,健康度低的,相应的任务数量则要低;
那么,在资源分配器在各个节点设备之间进行资源调度,具体可以包括如下步骤:
所述资源分配器按照待分配任务和各个节点设备的对应关系,调整所述哈希环上各个节点中的节点设备数量,并分配对应的任务数至对应的节点设备中。例如,在初始的哈希环上,一共有5个节点(设定为A,B,C,D,E),每个节点均匀分布有20个初始节点设备,在获得了待分配任务和各个节点设备的对应关系后,该哈希环中的节点数量需要调整,在一个实施例中,A节点调整后一共有12个节点设备,B节点调整后一共有36个节点设备,C节点调整后一共有22个节点设备,D节点调整后一共有10个节点设备,E节点调整后一共有20个节点设备。这样,每个节点分配的任务数是一样的,但是每个节点的节点设备数不一样,那么对于A,D节点而言,其单位节点设备承担的任务数就变多了,而B,C设备则变少了,E节点不变。
可选地,所述对所述各个节点设备的资源健康度进行预测,包括:
通过如下资源占用率预测公式进行资源健康度预测:
其中,R表示在第T+1个周期内的资源健康度预测值,T为正整数;
Ti表示在第i个节点设备上的总时间,i=1...N,N为总节点设备数量;
Ri表示在第i个节点设备上的平均资源健康度。
其中,平均资源健康度可以通过对所有节点设备的CPU和内存健康度进行加权平均得到。假设有N个节点设备,第i个节点设备的CPU健康度为CPi,内存健康度为MPi,节点设备i的权重为Wi,则平均资源健康度Ri计算公式为:
其中,Wt为总权重,可以通过对所有节点设备权重的求和得到,即该平均资源健康度公式考虑了不同节点设备的权重和各自的资源健康度,能够更准确地评估整个系统的平均资源占用情况。
此外,本发明实施例中,云计算集群建立的大数据资源管理池可以是多个,任一个大数据资源管理池是可以针对某一特定区域的资源进行分配,但是对于该区域的资源不可能一直都会饱和,一定会在某一时段出现算力空闲的情况,此时,还可以将空闲算力转移到其余地区的算力中,实现所有区域的负载均衡,构建一个算力网络。具体地:
云计算集群计算某一地区的大数据资源管理池当前的占用率,其中,所述大数据资源管理池的占用率等于已分配的任务数除以所述大数据资源管理池的容量,其中,大数据资源管理池的容量可以为其所管辖的节点设备的容量之和;
根据占用率的大小自动调整所述大数据资源管理池的容量;
根据所述大数据资源管理池的占用率,估算出空闲算力的数量;
将空闲算力分配到其余网络算力节点(例如由其他大数据资源管理池)中。
在本发明实施例中,根据占用率的大小自动调整所述大数据资源管理池的容量,具体为:
设定所述大数据资源管理池的容量和占用率阈值;
当新任务到达时,判断当前占用率是否超过预设阈值,如果超过,则自动增加资源管理池容量;
当所述大数据资源管理池中的任务执行完毕时,如果当前占用率低于一定阈值,缩减资源管理池的容量。
本申请实施例提出的方法及系统,通过大数据资源管理池进行资源收集,并生成资源占用模型,通过资源占用模型预测各个节点设备的资源占用情况,并将预测的各个节点设备的资源占用情况发送至资源分配器,以实现资源的合理分配,有效解决了现有技术被动预警方式导致的效率低下和处理方式单一的问题,提升了资源分配效率,提升了处理方式的灵活度。
本发明实施例还提供一种基于大数据的资源分配系统,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现上述的方法。
本申请实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行上述基于大数据的资源分配方法。
在一个实施例中,还提供一种计算机设备,该计算机设备为上述方法实施例中提到的网络安全设备,其内部结构图可以如图5所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。
其中,该计算机设备的处理器用于提供计算和控制能力,可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。处理器可以包括是一个或多个处理器,例如包括一个或多个中央处理器(centralprocessing unit,CPU),在处理器是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。处理器还可以包括一个或多个专用处理器,专用处理器可以包括GPU、FPGA等,用于进行加速处理。处理器用于调用该存储器中的程序代码和数据,执行上述方法实施例中的步骤。具体可参见方法实施例中的描述,在此不再赘述。
该计算机设备的存储器包括但不限于非易失性存储介质和内存储器。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random AccessMemory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。
该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。
该计算机设备的通信接口用于与外部的终端通过网络连接通信。
该计算机程序被处理器执行时以实现一种基于大数据的资源分配方法。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,各单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。所显示或讨论的相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,系统或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本申请实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程系统。该计算机指令可以存储在计算机可读存储介质中,或者通过该计算机可读存储介质进行传输。该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是只读存储器(read至onlymemory,ROM),或随机存储存储器(random access memory,RAM),或磁性介质,例如,软盘、硬盘、磁带、磁碟、或光介质,例如,数字通用光盘(digital versatile disc,DVD)、或者半导体介质,例如,固态硬盘(solid state disk,SSD)等。
以上仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (10)

1.一种基于大数据的资源分配方法,其特征在于,所述方法包括:
创建大数据资源管理池,并获取各个节点设备的资源参数及占用率;
在所述大数据资源管理池中,生成资源占用模型,通过所述资源占用模型预测各个节点设备的资源占用情况,并将所述预测的各个节点设备的资源占用情况发送至资源分配器;
所述资源分配器在各个节点设备之间进行资源调度,以实现负载均衡。
2.根据权利要求1所述的方法,其特征在于,所述资源分配器在各个节点设备之间进行资源调度,包括:
所述资源分配器基于所述预测的各个节点设备的资源占用情况,对所述各个节点设备的资源健康度进行预测;
基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略;
基于上述任务分配比例和调度策略,将任务分配给对应的节点设备处理。
3.根据权利要求2所述的方法,其特征在于,基于所述预测的各个节点设备的资源健康度,设计任务分配比例和调度策略,包括:
创建哈希环,并将各个节点设备均匀设置在所述哈希环的各个节点上;
获取待分配任务,基于所述待分配任务的数量和所述预测的各个节点设备的资源健康度,确定待分配任务和各个节点设备的对应关系,其中,确定待分配任务和各个节点设备的对应关系,包括:
将各个节点设备按照预测的健康度由高到低进行排序;
将任务数量按照由高到低的比例依次分配给所述各个节点设备,以使所述各个节点设备依次处理对应的任务;
其中,所述资源分配器在各个节点设备之间进行资源调度,包括:
所述资源分配器按照待分配任务和各个节点设备的对应关系,调整所述哈希环上各个节点中的节点设备数量,并分配对应的任务数至对应的节点设备中。
4.根据权利要求2所述的方法,其特征在于,所述对所述各个节点设备的资源健康度进行预测,包括:
通过如下资源占用率预测公式进行资源健康度预测:
其中,R表示在第T+1个周期内的资源健康度预测值,T为正整数;
Ti表示在第i个节点设备上的总时间,i=1...N,N为总节点设备数量;
Ri表示在第i个节点设备上的平均资源健康度。
5.根据权利要求1所述的方法,其特征在于,通过所述资源占用模型预测各个节点设备的资源占用情况,包括:
建立预测模型,并使用历史数据对该预测模型进行训练,并对该模型进行评估和调整;
使用训练好的所述预测模型来预测所述各个节点设备的资源占用情况。
6.根据权利要求1所述的方法,其特征在于,通过所述资源占用模型预测各个节点设备的资源占用情况,包括:
计算各个节点设备的负荷度指标ωi,所述负荷度指标描述所述各个节点设备的资源占用情况;
公式如下:
其中N是节点设备运行时工作线程数,Nmax是设置的最大线程数,描述该节点设备工作线程的饱和度;Tcur是当前采集时间窗口的任务数,Tpre是上一采集时间窗口的任务数,Q是任务缓冲队列大小,/>描述当前任务饱和度,/>描述任务缓冲队列增长速率,ξ1,ξ2,ξ3是权重系数。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
计算所述大数据资源管理池当前的占用率,其中,所述大数据资源管理池的占用率等于已分配的任务数除以所述大数据资源管理池的容量;
根据占用率的大小自动调整所述大数据资源管理池的容量;
根据所述大数据资源管理池的占用率,估算出空闲算力的数量;
将空闲算力分配到其余网络算力节点中。
8.根据权利要求7所述的方法,其特征在于,根据占用率的大小自动调整所述大数据资源管理池的容量,包括:
设定所述大数据资源管理池的容量和占用率阈值;
当新任务到达时,判断当前占用率是否超过预设阈值,如果超过,则自动增加资源管理池容量;
当所述大数据资源管理池中的任务执行完毕时,如果当前占用率低于一定阈值,缩减资源管理池的容量。
9.一种基于大数据的资源分配系统,其特征在于,所述系统包括:
创建模块,用于创建大数据资源管理池,并获取各个节点设备的资源参数及占用率;
预测模块,用于在所述大数据资源管理池中,生成资源占用模型,通过所述资源占用模型预测各个节点设备的资源占用情况,并将所述预测的各个节点设备的资源占用情况发送至资源分配器;
所述资源分配器,用于在各个节点设备之间进行资源调度,以实现负载均衡。
10.一种基于大数据的资源分配系统,其特征在于,包括存储器和处理器,所述存储器上存储有计算机可执行指令,所述处理器运行所述存储器上的计算机可执行指令时实现权利要求1至8任一项所述的方法。
CN202310432479.5A 2023-04-21 2023-04-21 一种基于大数据的资源分配方法及系统 Pending CN116467082A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310432479.5A CN116467082A (zh) 2023-04-21 2023-04-21 一种基于大数据的资源分配方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310432479.5A CN116467082A (zh) 2023-04-21 2023-04-21 一种基于大数据的资源分配方法及系统

Publications (1)

Publication Number Publication Date
CN116467082A true CN116467082A (zh) 2023-07-21

Family

ID=87181983

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310432479.5A Pending CN116467082A (zh) 2023-04-21 2023-04-21 一种基于大数据的资源分配方法及系统

Country Status (1)

Country Link
CN (1) CN116467082A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076141A (zh) * 2023-10-17 2023-11-17 深圳迅策科技有限公司 一种高适用性离线数据处理任务发布方法及系统
CN117519913A (zh) * 2024-01-08 2024-02-06 联通在线信息科技有限公司 一种容器内存资源弹性伸缩调度方法和系统
CN117971511A (zh) * 2024-04-02 2024-05-03 青岛欧亚丰科技发展有限公司 一种协作式可视化仿真平台

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117076141A (zh) * 2023-10-17 2023-11-17 深圳迅策科技有限公司 一种高适用性离线数据处理任务发布方法及系统
CN117076141B (zh) * 2023-10-17 2024-01-26 深圳迅策科技有限公司 一种高适用性离线数据处理任务发布方法及系统
CN117519913A (zh) * 2024-01-08 2024-02-06 联通在线信息科技有限公司 一种容器内存资源弹性伸缩调度方法和系统
CN117519913B (zh) * 2024-01-08 2024-03-22 联通在线信息科技有限公司 一种容器内存资源弹性伸缩调度方法和系统
CN117971511A (zh) * 2024-04-02 2024-05-03 青岛欧亚丰科技发展有限公司 一种协作式可视化仿真平台

Similar Documents

Publication Publication Date Title
US20200287961A1 (en) Balancing resources in distributed computing environments
CN110858161B (zh) 资源分配方法、装置、系统、设备和介质
CN107239336B (zh) 一种实现任务调度的方法及装置
CN116467082A (zh) 一种基于大数据的资源分配方法及系统
CN108845874B (zh) 资源的动态分配方法及服务器
CN109324875B (zh) 一种基于强化学习的数据中心服务器功耗管理与优化方法
US7467291B1 (en) System and method for calibrating headroom margin
US20120221730A1 (en) Resource control system and resource control method
CN112835698B (zh) 一种基于异构集群的请求分类处理的动态负载均衡方法
CN1878090A (zh) 用于通过调节网络控制进行自动的系统管理的系统和方法
CN109710412A (zh) 一种基于动态反馈的Nginx负载均衡方法
CN115297112A (zh) 一种基于Kubernetes的动态资源配额及调度组件
CN107203256B (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN117972367A (zh) 一种数据存储预测方法、数据存储子系统及智能计算平台
CN117971491A (zh) 进程内资源控制方法、装置、设备及存储介质
CN117389737A (zh) 一种数字化集成企业价值分析结合算力应用的方法
CN117370138A (zh) 大容量分布式存储系统
CN115562841B (zh) 一种云视频服务自适应资源调度系统和方法
Mirtaheri et al. Adaptive load balancing dashboard in dynamic distributed systems
CN116662014A (zh) 一种任务分配方法、装置、设备及介质
KR102681134B1 (ko) 클러스터 컴퓨팅 시스템에서의 리소스 할당 방법 및 장치
CN116775237A (zh) 任务调度方法、装置、网络设备及存储介质
CN114896070A (zh) 一种用于深度学习任务的gpu资源分配方法
CN116932156A (zh) 一种任务处理方法、装置及系统
Zhang A QoS-enhanced data replication service in virtualised cloud environments

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