CN117251284A - 一种资源管理系统、方法、电子设备及存储介质 - Google Patents
一种资源管理系统、方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117251284A CN117251284A CN202311219944.3A CN202311219944A CN117251284A CN 117251284 A CN117251284 A CN 117251284A CN 202311219944 A CN202311219944 A CN 202311219944A CN 117251284 A CN117251284 A CN 117251284A
- Authority
- CN
- China
- Prior art keywords
- resource
- data
- cluster
- redundancy
- task
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 194
- 238000000034 method Methods 0.000 title claims description 48
- 238000004458 analytical method Methods 0.000 claims abstract description 99
- 238000007726 management method Methods 0.000 claims abstract description 79
- 239000008280 blood Substances 0.000 claims description 42
- 210000004369 blood Anatomy 0.000 claims description 42
- 238000005192 partition Methods 0.000 claims description 38
- 238000013468 resource allocation Methods 0.000 claims description 38
- 230000002596 correlated effect Effects 0.000 claims description 36
- 230000000875 corresponding effect Effects 0.000 claims description 22
- 238000010276 construction Methods 0.000 claims description 18
- 230000008859 change Effects 0.000 claims description 15
- 238000012544 monitoring process Methods 0.000 claims description 15
- 238000013500 data storage Methods 0.000 claims description 12
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 22
- 238000004364 calculation method Methods 0.000 description 18
- 238000010586 diagram Methods 0.000 description 12
- 238000004590 computer program Methods 0.000 description 11
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000007405 data analysis Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000004927 fusion Effects 0.000 description 3
- 238000009826 distribution Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000011144 upstream manufacturing Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
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/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
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- 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/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
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资源使用数据以及存储空间使用数据;
所述资源控制决策模块,用于在接收到针对机器节点资源分配请求的情况下,按照所述机器节点资源分配请求对各机器节点的资源进行重新分配;所述机器节点资源分配请求为基于所述展示的各机器节点的资源使用数据发出。
根据本发明的另一方面,提供了一种资源管理方法,所述方法包括:
基于大数据集群中各任务的计算资源使用数据,确定各所述任务的计算资源冗余量是否超过预设冗余阈值;
基于各所述任务的存储资源使用数据,构建数据血缘;所述数据血缘用于表征数据之间的依赖关系;基于所述数据血缘中各数据的访问频次,确定冗余数据;
基于所述计算资源冗余量超过所述预设冗余阈值的冗余任务信息以及所述冗余数据,对所述大数据集群中各任务的资源进行调度;所述资源包括计算资源以及存储资源。
在一种可能的实施例中,所述计算资源使用数据包括:计算资源使用值;各所述任务的计算资源冗余量与预设的所述任务的计算资源分配值正相关,与所述任务的计算资源使用值负相关;
所述方法还包括:
采集所述大数据集群中的集群资源使用数据以及队列资源使用数据;所述集群资源使用数据中包括集群资源使用值;所述队列资源使用数据中包括队列资源使用值;
确定大数据集群的集群资源冗余量是否超过预设集群资源冗余阈值,所述集群资源冗余量与预设集群资源预留值正相关,与所述集群资源使用值负相关;
确定队列资源冗余量是否超过预设队列资源冗余阈值;所述队列资源冗余量与预设队列资源预留值正相关,与所述队列资源使用值负相关;
在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或在接收到所述集群冗余信息的情况下,向所述资源控制决策模块发送任务资源冗余信息;
在队列资源冗余量超过预设队列资源冗余阈值的情况下,重新分配队列资源;和/或,在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,对所述大数据集群中的计算资源进行重新分配。
在一种可能的实施例中,所述方法还包括:
基于所述集群资源使用数据,生成集群潮汐数据,所述集群潮汐数据用于标识所述集群资源使用值随时间的变化情况;
基于所述队列资源使用数据,生成队列潮汐数据,所述队列潮汐数据用于标识所述队列资源使用值随时间的变化情况;
所述在队列资源冗余量超过预设队列资源冗余阈值的情况下,重新分配队列资源;和/或,在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,对所述大数据集群中的计算资源进行重新分配,包括:
在队列资源冗余量超过预设队列资源冗余阈值的情况下,按照所述队列潮汐数据重新分配队列资源;和/或,
在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,按照所述集群潮汐数据对集群中的计算资源进行重新分配。
在一种可能的实施例中,所述基于各所述任务的存储资源使用数据,构建数据血缘;所述数据血缘用于表征数据之间的依赖关系;基于所述数据血缘中各数据的访问频次,确定冗余数据,包括:
通过预设文件接口采集存储资源使用数据,所述存储资源使用数据包括:各任务的输入数据存储路径以及输出数据存储路径;将所述存储资源使用数据进行存储;
对所述存储资源使用数据进行格式化处理,得到统一格式的存储资源使用数据;
基于所述统一格式的存储资源使用数据,构建数据血缘;
基于所述统一格式的存储资源使用数据的访问频次,确定访问频次低于预设频次阈值的冗余数据;
基于所述数据血缘控制生产所述冗余数据的任务停止生产所述冗余数据,和/或删除所述冗余数据。
在一种可能的实施例中,所述方法还包括:
对所述存储资源使用数据进行分表以及分区存储;
确定将访问频次低于第一预设访问频次的冗余表信息;和/或确定访问频次低于第二预设访问频次的冗余分区信息;
按照所述冗余表信息删除对应表,和/或按照所述冗余分区信息删除对应分区。
在一种可能的实施例中,所述方法还包括:
采集所述大数据集群中各机器节点的机器资源使用数据,并展示;所述机器资源使用数据包括CPU资源使用数据以及存储空间使用数据;
在接收到针对机器节点资源分配请求的情况下,按照所述机器节点资源分配请求对各机器节点的资源进行重新分配;所述机器节点资源分配请求为基于所述展示的各机器节点的资源使用数据发出。
根据本发明的另一方面,提供了一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行上述任一所述的资源管理方法。
根据本发明的另一方面,提供了一种.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行上述任一所述的资源管理方法。
本发明实施例中提供的一个或多个技术方案,通过对大数据集群中的计算资源使用数据以及存储资源使用数据进行自动分析判断,确定是否出现不合理的数据、计算任务等,并按照任务的实际运行情况对大数据集群中的资源进行重新调度,实现对集群中的资源进行全方位自动化分析,提高资源利用分析效率与准确性。
附图说明
在下面结合附图对于示例性实施例的描述中,本发明的更多细节、特征和优点被公开,在附图中:
图1为本发明实施例提供的资源管理系统的一种结构示意图;
图2为本发明实施例提供的资源管理系统中采集计算资源数据的一种流程示意图;
图3为本发明实施例提供的资源管理系统中分析计算资源数据的一种流程示意图;
图4为本发明实施例提供的资源管理系统中存储资源管理模块的一种架构示意图;
图5为本发明实施例提供的资源管理系统中分析存储资源的一种流程示意图;
图6为本发明实施例提供的机器资源管理模块的一种架构示意图;
图7为本发明实施例提供的资源管理系统的一种架构示意图;
图8为本发明实施例提供的资源管理方法的一种流程示意图;
图9示出了能够用于实现本发明的实施例的示例性电子设备的结构框图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
相关技术中,通常通过以下方法对大数据集群中的资源利用情况进行管理分析:
方法一、通过负载均衡器来平衡大数据集群中的负载,避免一个机器节点过度负载而其他机器节点的资源浪费。负载均衡分析可以帮助用户了解集群的负载情况,并能够更好地进行负载均衡策略的优化。
方法二、监控指标分析。即采集大数据集群中的监控指标,如CPU利用率、内存利用率、磁盘利用率以及网络带宽利用率等数据,由人工对监控指标进行分析,来评判大数据集群中的资源利用合理性,如评估大数据集群整体的资源利用率,并采取相应的措施进行资源调度以及优化。上述大数据集群整体的资源利用率通常通过对大数据集群中各个机器节点的监控指标以及负载均衡器进行人工分析得到。
方法三、通过人工分析数据分布情况,了解哪些机器节点拥有的资源过多,哪些机器节点需要更多资源以及数据分布对资源利用的影响,进而对大数据集群进行资源调度。
相关技术中,对人工分析依赖较大,导致分析结果误差较大,准确性较低,进而导致大数据集群中的资源利用率较低,且人工对于资源利用情况进行分析的效率较低。
基于此,本发明提供了一种资源管理系统、方法、电子设备及存储介质。下面首先对本发明提供的资源调度系统进行示例性说明:
本发明提供的资源管理系统可以应用于任意具有资源管理功能的电子设备,上述电子设备可以是服务器、计算机以及移动终端等等。
如图1所示,图1为本发明实施例提供的资源管理系统的一种结构示意图,该资源管理系统100可以包括:计算资源管理模块101、存储资源管理模块102以及资源控制决策模块103;
计算资源管理模块101,用于基于大数据集群中各任务的计算资源使用数据,确定各任务的计算资源冗余量是否超过预设冗余阈值;将计算资源冗余量超过预设冗余阈值的冗余任务信息发送至资源控制决策模块;
存储资源管理模块102,用于基于各任务的存储资源使用数据,构建数据血缘;数据血缘用于表征数据之间的依赖关系;基于数据血缘中各数据的访问频次,确定冗余数据;将冗余数据发送至资源控制决策模块;
资源控制决策模块103,用于基于冗余任务信息以及冗余数据,对大数据集群中各任务的资源进行调度;上述资源包括计算资源以及存储资源。
应用本发明实施例,通过对大数据集群中的计算资源使用数据以及存储资源使用数据进行自动分析判断,确定是否出现不合理的数据、计算任务等,并按照任务的实际运行情况对大数据集群中的资源进行重新调度,实现对集群中的资源进行全方位自动化分析,提高资源利用分析效率与准确性。
下面对上述资源管理系统进行示例性说明:
大数据集群中可以包括多种用于执行数据处理任务的数据计算引擎,如可以包括Hive、Spark、Flink、MR等等。其中,Hive是基于Hadoop框架的一种数据仓库工具,用于进行数据提取、转化以及加载等,是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。Hadoop是一种分布式系统基础架构,支持用户可以在不了解分布式底层结构具体情况下开发分布式程序。Hadoop实现了一个分布式文件系统(Distributed File System),其中一个组件是HDFS(Hadoop Distributed File System,Hadoop分布式文件系统),是一种被设计成适合运行在通用硬件(Commodity Hardware)上的分布式文件系统,HDFS通过Hdfsfilesyetem管理HDFS上的文件和目录。Hive使用HDFS作为其底层存储,HDFS提供了Hive所需的大规模、分布式存储和处理能力,使得Hive可以处理大规模数据。Spark是一种专为大规模数据处理设计的快速通用的计算引擎,提供与Hadoop相似的开源计算环境,可以用于数据分析、数据建模等领域。Flink是一种开源流处理框架,可以以数据并行和流水线方式执行任意流数据程序。MR(Mapreduce,映射归约)是一种编程模型,用于大规模数据集的并行运算。
大数据集群中的各任务指的是各数据计算引擎执行的数据处理任务。计算资源管理模块可以采集各任务的计算资源使用数据,来确定各任务的计算资源冗余量是否超过预设冗余阈值。上述计算资源指的是各数据计算引擎在执行数据处理任务时用到的资源,可以包括CPU资源以及存储资源等。上述计算资源使用数据则可以包括任务已使用的计算资源值、任务申请的资源值以及预先为任务预留的资源值等等。
在一种可能的实施例中,计算资源管理模块101可以包括:计算资源采集子模块以及计算资源分析子模块;
计算资源采集子模块,用于通过预设监控接口采集大数据集群中各任务的计算资源使用数据;存储各任务的计算资源使用数据;
计算资源分析子模块,用于确定各任务的计算资源冗余量;各任务的计算资源冗余量与预设的该任务的计算资源分配值正相关,与该任务的计算资源使用值负相关;确定各任务的计算资源冗余量是否超过预设冗余阈值;将计算资源冗余量超过预设冗余阈值的冗余任务信息发送至所述资源控制决策模块。
数据计算引擎的日志数据中通常包括数据计算引擎执行的各数据处理任务的运行数据,如任务执行过程中的计算资源使用值(如任务执行过程中使用的CPU核数量、存储空间大小等)、任务执行时间等等。在一种可能的实施例中,可以预先针对各计算引擎设置监控接口,并通过该监控接口获取数据计算引擎的日志数据。从而获取各任务的计算资源使用数据。上述计算资源使用数据中可以包括任务标识、任务运行时间、计算资源使用值,即任务已使用的计算资源值,任务申请的计算资源值以及预先为任务预留的资源值等等。上述任务标识可以是任务Id、任务名称等,为任务预留的资源值可以根据实际需要进行设置。
为了更好地了解大数据集群中各任务的运行情况,通常会采用监控工具对大数据集群的运行数据进行监控。应用较为广泛的监控工具为Yarn(Yet Another ResourseNegotiator,另一种资源协调者)。Yarn是一种Hadoop资源管理器,可以为上层应用提供统一的资源管理和调度。在一种可能的实施例中,上述计算资源采集子模块可以通过监控工具接口,如Yarn接口,获取各任务的计算资源使用数据。
计算资源采集子模块可以将采集到的各任务的计算资源使用数据存储在数据库中,该数据库可以是Mysql数据库或其他可行的数据库,本发明对使用的数据库不做具体限定,下面以数据库为Mysql对本发明提供的资源管理系统进行示例性说明。
计算资源分析子模块可以基于各任务的计算资源使用数据确定计算资源冗余量。上述计算资源冗余量可以表示已分配给任务但任务未使用的资源量。
在一种可能的实施例中,上述资源可以是存储资源,因此,存储空间冗余量可以是为任务预留的存储空间-任务已使用的存储空间,上述为任务预留的存储空间即任务的存储空间分配至。CPU资源冗余量可以是为任务预留的CPU处理核数量-任务已使用的CPU处理核数量。
在判断计算资源冗余量是否超过预设冗余阈值时,可以针对不同类型的资源分别判断。示例性的,可以分别针对CPU资源以及存储资源设置冗余阈值,如可以设置集群总CPU资源的30%为CPU冗余阈值,设置集群总存储空间的30%为存储空间冗余阈值。当然也可以设置固定值作为冗余阈值,如可以设置CPU冗余阈值为10core(核心),存储空间冗余阈值为100GB等,本发明对此不作具体限定。当任意计算资源的冗余量超过针对该资源预设的冗余阈值的情况下,均可向资源控制决策模块发送冗余任务信息。
在一种可能的实施例中,上述各任务的计算资源使用数据中还可以包括已分配给任务但任务还未使用的资源。因此,计算资源分析子模块可以确定已分配给任务但任务还未使用的资源是否超过预设冗余阈值,并将计算资源冗余量超过预设冗余阈值的任务信息发送至资源控制决策模块。通过自动采集大数据集群中各任务的计算资源使用数据,并基于采集到的计算资源使用数据对大数据集群中的计算资源使用情况进行分析,提高采集数据的全面性以及效率,进而提高资源使用情况分析准确性以及效率。
在一种可能的实施例中,上述计算资源使用数据可以包括针对不同维度的计算资源使用数据,如可以包括集群的计算资源使用数据、队列的计算资源使用数据以及任务的计算资源使用数据。示例性的,可以针对大数据集群预设采集接口,用于采集集群日志数据,并从集群日志数据中获取集群的计算资源使用数据。也可以基于各任务的计算资源使用数据获取集群的计算资源使用数据,如可以将各任务的计算资源使用数据进行汇总,得到集群的计算资源使用数据。上述队列的计算资源使用数据可以针对各个预设队列进行单独采集,也可以通过各任务的计算资源使用数据中的队列资源使用数据进行汇总得到。上述队列资源使用数据可以包括任务使用的队列标识以及使用的队列存储空间。
相应的,上述计算资源分析子模块可以包括:集群资源分析单元、队列资源分析单元以及任务资源分析单元;
所述计算资源采集子模块,用于采集所述大数据集群中的集群资源使用数据以及队列资源使用数据;所述集群资源使用数据中包括集群资源使用值;所述队列资源使用数据中包括队列资源使用值;
所述集群资源分析单元,用于在所述大数据集群的集群资源冗余量超过预设集群资源冗余阈值的情况下,将集群冗余信息发送至所述任务资源分析单元;所述集群资源冗余量与预设集群资源预留值正相关,与所述集群资源使用值负相关;
所述队列资源分析单元,用于在队列资源冗余量超过预设队列资源冗余阈值的情况下,将队列冗余信息发送至所述资源控制决策模块;所述队列资源冗余量与预设队列资源预留值正相关,与所述队列资源使用值负相关;
所述任务资源分析单元,用于在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或在接收到所述集群冗余信息的情况下,向所述资源控制决策模块发送任务资源冗余信息;
所述资源控制决策模块,用于在接收到所述队列冗余信息的情况下,重新分配队列资源;和/或,
在接收到所述任务资源冗余信息的情况下,对所述大数据集群中的计算资源进行重新分配。
上述集群资源即集群计算资源,可以包括集群的CPU资源以及存储空间资源。队列资源指的是队列的计算资源,如可以包括各队列的容量等。上述任务的计算资源冗余量的计算方式已在前文进行详细说明,大数据集群的集群资源冗余量以及队列资源冗余量的计算方式与任务的计算资源冗余量的计算方式相同,此处仅做简单说明,不再赘述。
在队列资源冗余量超过预设的队列冗余阈值的情况下,队列资源分析单元可以向资源控制决策模块发送队列冗余信息。该队列冗余信息可以包括队列标识、使用该队列的任务标识以及队列中未使用的空间大小。
资源控制决策模块接收到该队列冗余信息的情况下,可以重新分配队列资源。示例性的,可以减少队列冗余信息中包含的队列标识对应的队列的资源分配,将资源分配至其他队列中。也可以开启集群队列资源抢占模式,也就是将该队列的使用权限开放给之前无法使用该队列的任务。
任务资源分析单元在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或在接收到所述集群资源分析单元发送的所述集群冗余信息的情况下,均说明出现资源使用不合理的任务,因此可以向资源控制决策模块发送任务资源冗余信息。该任务资源冗余信息中可以包括冗余任务标识以及冗余任务参数等。上述冗余任务标识可以是冗余任务名称、Id等,上述任务参数可以包括任务的资源分配值以及任务的资源使用值。
在一种可能的实施例中,资源控制决策模块可以根据任务资源冗余信息,对冗余任务的资源分配进行调整。示例性的,可以减少冗余任务的资源分配。在一种可能的实施例中,上述任务资源冗余信息中可以包含大数据集群中所有任务的参数,资源控制决策模块则可以对大数据集群中所有任务的资源进行重新分配,如可以减少冗余任务的资源分配,同时增加分配给资源利用率较高的任务的资源。上述资源利用率与任务的资源预留值负相关,与任务的资源使用值正相关。这样,使得大数据集群中的资源调配更加合理,保证各任务运行可靠性。
在一种可能的实施例中,上述集群资源分析单元,用于基于所述集群资源使用数据,生成集群潮汐数据,所述集群潮汐数据用于标识所述集群资源使用值随时间的变化情况;
所述队列资源分析单元,用于基于所述队列资源使用数据,生成队列潮汐数据,所述队列潮汐数据用于标识所述队列资源使用值随时间的变化情况;
资源控制决策模块,用于在接收到队列冗余信息的情况下,按照队列潮汐数据重新分配队列资源;和/或,
在接收到任务资源冗余信息的情况下,按照集群潮汐数据对集群中的计算资源进行重新分配。
上述计算资源采集子模块可以通过监控接口获取各任务任何时刻的计算资源使用数据。示例性的,计算资源采集子模块可以定时或间隔预设时间段采集大数据集群中各任务的计算资源使用数据。如,可以在每天的12:00采集大数据集群所有任务24小时内的计算资源使用数据,也可以间隔1小时,采集大数据集群中所有任务1小时内的计算资源使用数据。计算资源采集子模块也可以采集集群的计算资源使用数据、队列计算资源使用数据等。
生成队列潮汐数据的方式与生成集群潮汐数据的方式相同,下面以生成集群潮汐数据为例,对生成队列潮汐数据以及生成集群使用潮汐数据的过程进行示例性说明。
集群资源分析单元可以根据采集到的不同时段的任务的资源使用数据或集群资源使用数据,生成集群潮汐数据。在一种可能的实施例中,可以基于一天内的集群资源使用数据生成集群潮汐数据,如可以基于前一天的集群资源使用数据,生成集群计算资源使用潮汐数据,即集群资源使用数据随时间的变化数据。作为一种可能的实施方式,可以针对不同计算资源生成集群潮汐数据。如可以生成CPU资源使用潮汐数据以及存储空间使用潮汐数据。上述集群潮汐数据中可以包括各任务的计算资源使用值随时间的变化、集群计算资源使用值随时间的变化等等。
在一种可能的实施例中,可以基于预设时间段内的集群计算资源使用数据生成集群使用潮汐数据。如可以获取三天内的集群计算资源使用数据,并将三天内同一时刻的计算资源使用数据的统计值作为潮汐数据中该时刻对应的计算资源使用数据。上述统计值可以是平均值、中位数等。
在资源控制决策模块需要对队列资源或集群中的计算资源进行重新分配的情况下,可以根据队列潮汐数据以及集群潮汐数据对计算资源进行重新分配。示例性的,可以调整集群潮汐数据中计算资源使用值较高的时间段运行的各任务的运行时间,使其错峰运行,同时根据任务的计算资源使用值变化,在任务计算资源使用值较高的时间段,临时向任务分配计算资源,以保证任务的可靠运行。再如,可以根据各队列的队列潮汐数据,在队列计算资源使用值较高的时间段为队列增加资源分配。
通过结合集群潮汐数据以及队列潮汐数据进行资源分配,为任务的错峰运行、提高执行效率提供有力的趋势数据支撑,提高集群运行的效率以及可靠性。
如图2所示,图2为本发明实施例提供的计算资源管理模块的一种实现流程示意图:
大数据集群中包含数据计算引擎Hive、Spark、Flink以及MR,并通过Yarn对各数据计算引擎的运行数据进行监控。计算资源数据采集子模块可以通过Yarn的API接口获取计算资源使用数据,包括集群使用资源、集群预留资源、队列分配资源、队列使用资源、任务申请资源、任务分配资源、任务使用资源以及任务状态。该任务状态可以包括运行中、等待中等。计算资源数据采集子模块可以将采集到的上述计算资源使用数据存储在数据库中。计算资源数据分析子模块可以根据数据库中存储的上述计算资源使用数据进行数据分析。
在一种可能的实施例中,如图3所示,图3为本发明实施例提供的计算资源分析子模块的一种工作流程示意图:计算资源分析子模块包括集群资源分析单元、队列资源分析单元以及任务资源分析单元。
集群资源分析单元可以根据采集的集群使用资源,如集群已用存储空间以及集群已用CPU核数量,进行集群潮汐分析,如得到集群中的CPU使用值随时间的变化、存储空间使用值随时间的变化等,并将集群潮汐分析结果发送至资源控制决策模块。集群资源分析单元还可以确定冗余资源是否超过预设冗余阈值。如确定集群中的冗余存储空间以及冗余CPU核是否大于总存储空间的30%以及总CPU核的30%,并将判断结果发送至任务资源分析单元。
队列资源分析单元可以根据队列使用资源,如已用队列容量以及其他已用资源,进行队列潮汐分析,包括得到各队列的已用队列容量随时间的变化趋势,并将该队列潮汐分析结果发送至资源控制决策模块。队列资源分析单元还可以针对各队列,确定各队列的资源最大值与已用资源的差值,即队列资源冗余量是否大于总资源的30%,来确定是否出现队列冗余。并将队列是否冗余的信息发送至资源控制决策模块中。
任务资源分析单元可以确定任务申请资源与任务使用资源之间的差值是否超过预设冗余阈值,具体的,可以判断内存差值是否大于100GB,CPU差值是否大于10core。若任意资源超过预设冗余阈值,则判断当前任务资源分配不合理,可以对各任务进行任务参数识别,从而将各任务参数发送至资源控制决策模块。若为任务预留的存储空间大于100GB,CPU大于10core,则也认为当前任务资源分配不合理。
资源控制决策模块可以根据各任务的参数、集群潮汐数据以及队列潮汐数据对大数据集群中的各任务进行任务合理性评估,并对大数据集群中的资源进行重新分配。
本发明实施例中,可以通过存储资源管理模块管理大数据集群中的存储空间。存储资源管理模块可以采集各任务的存储资源数据构建数据血缘。上述存储资源使用数据中可以包括任务存储的数据内容以及占用的存储空间大小,还可以存储任务的输入数据路径以及输出数据路径。存储资源管理模块可以根据各任务的输入数据路径以及输出数据路径,将各任务产生的数据进行串联,得到数据血缘。该数据血缘可以表征各数据之间的依赖关系,也可以表征使用以及生产各数据的任务之间的依赖关系。
根据数据血缘中各数据的访问频次可以确定冗余数据,冗余数据指的是访问频次低于预设频次阈值的数据,该频次阈值可以根据实际需要进行设置,如可以是1次、2次等。若出现冗余数据,存储资源管理模块可以将冗余数据发送给资源控制决策模块。
以频次阈值设置为1为例,若数据的访问频次低于1,说明该数据未被访问,因此,资源控制决策可以控制生产该数据的任务停止生产该数据。
在一种可能的实施例中,存储资源管理模块可以包括存储资源采集子模块、数据仓库构建子模块、数据血缘构建子模块以及存储资源分析子模块;
所述存储资源采集子模块,用于通过预设文件接口采集存储资源使用数据,所述存储资源使用数据包括:各任务的输入数据存储路径以及输出数据存储路径;将所述存储资源使用数据进行存储;
所述数据仓库构建子模块,用于对所述存储资源使用数据进行格式化处理,得到统一格式的存储资源使用数据;
所述数据血缘构建子模块,用于基于所述统一格式的存储资源使用数据,构建数据血缘;
所述存储资源分析子模块,用于基于所述统一格式的存储资源使用数据的访问频次,确定访问频次低于预设频次阈值的冗余数据;将所述冗余数据发送至所述资源控制决策模块;
所述资源控制决策模块,用于基于所述数据血缘控制生产所述冗余数据的任务停止生产所述冗余数据,和/或删除所述冗余数据。
大数据集群中可以通过分布式文件系统HDFS存储数据,也可以通过用于存储数据的对象存储系统BOS存储数据。在一种可能的实施例中,存储资源采集子模块可以通过HDFS的filesystem接口获取大数据集群中各任务的存储使用数据。存储资源采集子模块可以将采集到的各任务的存储使用数据存储至数据库中,上述数据库可以是Mysql、Hive等等。
在一种可能的实施例中,存储资源采集子模块在采集各任务的存储资源使用数据之前可以向各数据计算引擎申请访问权限。作为一种可能的实施方式,存储资源采集子模块可以将自己的标识以及需要访问的数据路径发送至HDFS中,获取HDFS授权后,存储资源采集子模块可以按照申请的需要访问的数据路径访问HDFS中的存储资源使用数据。
上述数据仓库构建子模块可以对存储资源使用数据进行格式化处理。不同数据计算引擎产生的数据格式可能不同,因此,可以对各任务的存储在HDFS中的数据进行格式化处理,包括去除任务中间产生的计算数据的存储路径、对引擎特殊标识进行去除等。对数据进行格式化处理后可以将统一格式的数据存储在数据库中。通过对数据进行格式化处理,对存储使用数据统一存储格式,可以提高数据查询的便利性以及效率。
在一种可能的实施例中,在对数据进行格式化处理之前,数据仓库构建子模块可以对采集到的各存储资源使用数据进行数据勘探、数据清洗以及数据融合。数据勘探指的是确定采集的数据是否正确,是否重复,数据清洗指的是删除不正确的数据以及重复数据等。数据融合指的是将对应同一标识的数据进行融合。例如,采集到的数据A中存储用户的基本信息,数据B存储用户的购物信息,因此可以对数据A以及数据B进行融合,将同一用户的信息进行汇总,进一步提高后续数据查询的便利性以及效率。
数据血缘构建子模块在构建数据血缘后,可以将数据血缘存储在数据库中。作为一种可能的实施方式,可以针对数据血缘中的各数据,将数据与其上游数据以及下游数据对应存储。数据的上游数据指的是该数据依赖的数据,下游数据指的是依赖该数据的数据。同时还可以将数据占用的存储空间大小、数据的产出时间等与数据对应存储。
在一种可能的实施例中,还可以基于数据血缘生成任务网状图进行显示,使得相关人员更好地了解大数据集群的运行情况。
存储资源分析子模块可以对数据库中存储的进行格式化处理后的数据以及数据血缘中的数据进行判断,具体的,可以判断各数据的访问频次是否低于预设频次阈值。针对格式化处理后的数据以及数据血缘可以设置相同的频次阈值,也可以设置不同的频次阈值,具体可以根据实际需要进行设置,本发明对此不作具体限定。
在存储的格式化处理后的数据的访问频次低于预设频次阈值的情况下,可以认定该数据冗余,因此,可以对该数据进行删除。
在一种可能的实施例中,上述存储资源采集子模块,还可以用于对格式化处理后的存储资源使用数据进行分表以及分区存储;
存储资源分析子模块,用于将访问频次低于第一预设访问频次的冗余表信息发送至资源控制决策模块;和/或将访问频次低于第二预设访问频次的冗余分区信息发送至资源控制决策模块;
资源控制决策模块,用于按照冗余表信息删除对应表,和/或按照冗余分区信息删除对应分区。
在一种可能的实施例中,存储资源采集子模块在存储采集到的存储资源使用数据时,可以对数据进行分表以及分区存储。上述表可以针对不同的数据计算引擎设置,即可以将相同数据计算引擎存储的数据存储在相同的表中。分区存储是对分表存储的进一步细化,如可以针对不同的任务设置不同分区,将统一任务存储的数据存储在相同的区中。当然,也可以按照其他规则对数据进行分表以及分区存储,本发明对此不作具体限定。
上述第一预设访问频次与第二预设访问频次可以相同,也可以不同。对冗余表的处理过程与冗余区的处理过程相同,下面以确定冗余表信息为例对存储资源分析子模块的工作流程进行说明:
在一种可能的实施例中,可以统计各表近一年、近半年、近三个月、近一个月、近7天、近2天的访问频次,如果近半年没有任何任务访问,则认定该表的存储资源是冗余的。可以将冗余表信息发送至资源控制决策模块,该冗余表信息中可以包括表的标识、大小以及存储路径等等。上述表的标识可以是表的名称或id等。资源控制决策模块可以根据表的标识以及存储路径删除相应的表。
通过对数据进行分表分区管理,可以对属于同一任务的数据进行同一管理,提高数据管理效率。
在一种可能的实施例中,还可以为数据库中存储的数据增加项目标识,上述项目标识可以是项目名称。拥有相同项目标识的数据属于同一项目。之后可以由相关人员基于项目包括的数据占用的存储空间对项目的价值进行评估,确定项目资源使用是否合理。
如图4所示,图4为本发明实施例提供的存储资源管理模块的工作流程示意图:
大数据集群中包括Hive、Spark、Flink和MR,并通过HDFS/BOS存储数据。存储资源采集子模块在采集存储资源使用数据之前可以先通过数据鉴权服务,获取HDFS/BOS的数据访问权限。之后通过HDFS/BOS filesystem接口获取存储资源使用数据。上述存储资源使用数据可以包括各任务标识、任务操作类型,如增加、修改、删除等,以及任务的数据输入路径以及数据输出路径等。数据血缘构建子模块可以基于数据输入路径以及输出路径构建数据血缘。并将各存储数据格式化处理后存储在数据库中,具体的可以对各数据进行分表以及分区存储。之后可以从链路维度、表维度以及分区维度对存储数据是否冗余进行判断,并得到存储不合理的数据,即冗余数据。
具体的,如图5所示,图5是本发明实施例中存储资源分析子模块的工作流程示意图:包括链路资源分析、表资源分析以及分区资源分析三个部分。其中链路资源分析包括路径信息打标,即为数据库中的数据增加项目标识,从而可以确定挂靠同一项目的数据所占用的存储空间等资源利用情况,确定项目资源利用是否合理。同时,可以根据构建的数据血缘确定冗余数据对应的任务,以停止对应任务。具体的,可以针对各任务,确定该任务的输出数据,并基于构建的数据血缘确定该输出数据是否作为其他任务的输入数据,即确定该任务是否有下游数据依赖,若无,则停止该任务。
针对表资源以及分区资源,可以确定表/分区中的数据近一年、近半年、近三个月、近一个月、近7天、近2天的访问频次,进而分析出表/分区对应存储路径的使用情况。通过存储资源的访问频次,合理性的删除不再使用的表/分区存储资源。示例性的,可以确定表中的各数据近半年访问频率是否均为0,若均为0,则删除全表存储。针对各分区,可以确定该分区中的各数据的访问频率是否均为0,若该分区中的各数据近半年访问频率均为零,则删除表中该分区存储。
在一种可能的实施例中,所述系统还可以包括:机器资源管理模块;
所述机器资源管理模块,用于采集所述大数据集群中各机器节点的机器资源使用数据,并展示;所述机器资源使用数据包括CPU资源使用数据以及存储空间使用数据;
所述资源控制决策模块,用于在接收到针对所述机器节点资源分配的请求的情况下,按照所述机器节点资源分配请求对各机器节点的资源进行重新分配;所述机器节点资源分配请求为基于所述展示的各机器节点的资源使用数据发出。
在一种可能的实施例中,如图6所示,可以通过Prometheus(使用Prometheus数据库来跟踪和分析监控数据的一种技术,通常用于监控网络、服务器、容器等各种系统的性能、可用性和安全性)对大数据集群中的机器节点的资源,如内存、CPU、磁盘的容量以及使用值以及机器节点标识INODE、机器节点数量等数据进行获取,并通过Grafna(一个监控和分析工具,可以帮助管理员实时了解各种系统和指标的状态,并提供丰富的分析功能,例如图表、报告和仪表盘)进行展示。在一种可能的实施例中,可以按照数据计算引擎,对属于同一数据计算引擎的机器节点的资源进行汇总,从而展示出数据计算引擎的资源使用情况。在一种可能的实施例中,可以按照任务,对执行同一数据处理任务的机器节点的资源使用数据进行汇总,并最终展示各任务的资源使用情况。
用户可以根据展示出的不同维度的资源使用情况,发出机器节点资源分配请求。上述机器节点资源分配请求中可以包括机器标识、分配类型,如增加资源、减少资源等。资源控制决策模块可以根据接收到的机器节点资源分配请求对资源进行调度。通过机器管理模块可以使得用户更加全面地了解集群中的资源使用情况,从而可以对各机器节点进行有针对性的调度,进一步提高大数据集群运行效率。
如图7所示,图7为本发明实施例提供的资源管理系统的一种架构示意图:
大数据集群中包括大数据组件(包括Hive、Spark、Flink以及MR等)、Yarn资源调度系统、BOS存储介质以及机器资源监控平台Prometheus。资源管理系统中包括计算资源管理模块、存储资源管理模块、机器资源管理模块以及资源控制决策模块。
上述计算资源管理模块包括计算资源采集子模块、集群资源分析单元、队列资源分析单元以及任务资源分析单元。其中,计算资源采集子模块用于采集集群、队列以及各任务的计算资源使用数据。集群资源分析单元、队列资源分析单元以及任务资源分析单元分别用于确定集群、队列以及任务中的冗余数据,并发送至资源控制决策模块。
存储资源管理模块包括存储资源采集子模块、数据血缘构建子模块、表资源分析单元、分区资源分析单元以及链路资源分析单元。其中,存储资源采集子模块用于采集各任务的存储资源使用数据并存储。数据血缘构建子模块用于基于存储资源使用数据构建数据血缘,链路资源分析单元用于为数据库中的各数据增加项目标识,从而判断各项目的价值,进而确定数据血缘中的冗余数据,并关停产生冗余数据的任务。表资源分析单元以及分区资源分析单元分别用于确定分表以及分区存储的数据中是否存在冗余表或冗余分区,并在出现冗余表或冗余分区的情况下,删除相应表/分区。
机器资源管理模块用于采集大数据集群中各机器节点的资源并按照不同规则进行汇总展示。资源控制决策平台可以根据冗余数据、冗余任务等信息对大数据集群中的资源进行重新分配,并通过业务调度平台按照资源控制决策模块的资源分配进行业务调度。
本发明实施例提供的资源管理系统能够多维度、全方位、高精度地采集分析大数据集群的资源利用情况,从而能够对集群进行不同角度的综合分析和判断,基于采集和分析的大体量数据进行价值挖掘以及平台优化,从而构建高效可靠的大数据集群。
本发明还提供了一种资源管理方法,如图8所示,该方法可以包括:
S801、基于大数据集群中各任务的计算资源使用数据,确定各任务的计算资源冗余量是否超过预设冗余阈值;
S802、基于各任务的存储资源使用数据,构建数据血缘;该数据血缘用于表征数据之间的依赖关系;
S803、基于数据血缘中各数据的访问频次,确定冗余数据;
S804、基于计算资源冗余量超过预设冗余阈值的冗余任务信息以及上述冗余数据,对所大数据集群中各任务的资源进行调度;上述资源包括计算资源以及存储资源。
在一种可能的实施例中,所述计算资源使用数据包括:计算资源使用值;各所述任务的计算资源冗余量与预设的所述任务的计算资源分配值正相关,与所述任务的计算资源使用值负相关;
所述方法还包括:
采集所述大数据集群中的集群资源使用数据以及队列资源使用数据;所述集群资源使用数据中包括集群资源使用值;所述队列资源使用数据中包括队列资源使用值;
确定大数据集群的集群资源冗余量是否超过预设集群资源冗余阈值,所述集群资源冗余量与预设集群资源预留值正相关,与所述集群资源使用值负相关;
确定队列资源冗余量是否超过预设队列资源冗余阈值;所述队列资源冗余量与预设队列资源预留值正相关,与所述队列资源使用值负相关;
在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或在接收到所述集群冗余信息的情况下,向所述资源控制决策模块发送任务资源冗余信息;
在队列资源冗余量超过预设队列资源冗余阈值的情况下,重新分配队列资源;和/或,在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,对所述大数据集群中的计算资源进行重新分配。
在一种可能的实施例中,所述方法还包括:
基于所述集群资源使用数据,生成集群潮汐数据,所述集群潮汐数据用于标识所述集群资源使用值随时间的变化情况;
基于所述队列资源使用数据,生成队列潮汐数据,所述队列潮汐数据用于标识所述队列资源使用值随时间的变化情况;
所述在队列资源冗余量超过预设队列资源冗余阈值的情况下,重新分配队列资源;和/或,在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,对所述大数据集群中的计算资源进行重新分配,包括:
在队列资源冗余量超过预设队列资源冗余阈值的情况下,按照所述队列潮汐数据重新分配队列资源;和/或,
在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,按照所述集群潮汐数据对集群中的计算资源进行重新分配。
在一种可能的实施例中,所述基于各所述任务的存储资源使用数据,构建数据血缘;所述数据血缘用于表征数据之间的依赖关系;基于所述数据血缘中各数据的访问频次,确定冗余数据,包括:
通过预设文件接口采集存储资源使用数据,所述存储资源使用数据包括:各任务的输入数据存储路径以及输出数据存储路径;将所述存储资源使用数据进行存储;
对所述存储资源使用数据进行格式化处理,得到统一格式的存储资源使用数据;
基于所述统一格式的存储资源使用数据,构建数据血缘;
基于所述统一格式的存储资源使用数据的访问频次,确定访问频次低于预设频次阈值的冗余数据;
基于所述数据血缘控制生产所述冗余数据的任务停止生产所述冗余数据,和/或删除所述冗余数据。
在一种可能的实施例中,所述方法还包括:
对所述存储资源使用数据进行分表以及分区存储;
确定将访问频次低于第一预设访问频次的冗余表信息;和/或确定访问频次低于第二预设访问频次的冗余分区信息;
按照所述冗余表信息删除对应表,和/或按照所述冗余分区信息删除对应分区。
在一种可能的实施例中,所述方法还包括:
采集所述大数据集群中各机器节点的机器资源使用数据,并展示;所述机器资源使用数据包括CPU资源使用数据以及存储空间使用数据;
在接收到针对机器节点资源分配请求的情况下,按照所述机器节点资源分配请求对各机器节点的资源进行重新分配;所述机器节点资源分配请求为基于所述展示的各机器节点的资源使用数据发出。
本发明示例性实施例还提供一种电子设备,包括:至少一个处理器;以及与至少一个处理器通信连接的存储器。所述存储器存储有能够被所述至少一个处理器执行的计算机程序,所述计算机程序在被所述至少一个处理器执行时用于使所述电子设备执行根据本发明实施例的方法。
本发明示例性实施例还提供一种存储有计算机程序的非瞬时计算机可读存储介质,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
本发明示例性实施例还提供一种计算机程序产品,包括计算机程序,其中,所述计算机程序在被计算机的处理器执行时用于使所述计算机执行根据本发明实施例的方法。
参考图9,现将描述可以作为本发明的服务器或客户端的电子设备900的结构框图,其是可以应用于本发明的各方面的硬件设备的示例。电子设备旨在表示各种形式的数字电子的计算机设备,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图9所示,电子设备900包括计算单元901,其可以根据存储在只读存储器(ROM)902中的计算机程序或者从存储单元908加载到随机访问存储器(RAM)903中的计算机程序,来执行各种适当的动作和处理。在RAM 903中,还可存储设备900操作所需的各种程序和数据。计算单元901、ROM 902以及RAM 903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
电子设备900中的多个部件连接至I/O接口905,包括:输入单元906、输出单元907、存储单元908以及通信单元909。输入单元906可以是能向电子设备900输入信息的任何类型的设备,输入单元906可以接收输入的数字或字符信息,以及产生与电子设备的用户设置和/或功能控制有关的键信号输入。输出单元907可以是能呈现信息的任何类型的设备,并且可以包括但不限于显示器、扬声器、视频/音频输出终端、振动器和/或打印机。存储单元904可以包括但不限于磁盘、光盘。通信单元909允许电子设备900通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据,并且可以包括但不限于调制解调器、网卡、红外通信设备、无线通信收发机和/或芯片组,例如蓝牙TM设备、WiFi设备、WiMax设备、蜂窝通信设备和/或类似物。
计算单元901可以是各种具有处理和计算能力的通用和/或专用处理组件。计算单元901的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的计算单元、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。计算单元901执行上文所描述的各个方法和处理。例如,在一些实施例中,资源管理方法可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元908。在一些实施例中,计算机程序的部分或者全部可以经由ROM902和/或通信单元909而被载入和/或安装到电子设备900上。在一些实施例中,计算单元901可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行资源管理方法。
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
如本发明使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(PLD)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。
为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)和互联网。
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。
Claims (15)
1.一种资源管理系统,其特征在于,所述系统包括:计算资源管理模块、存储资源管理模块以及资源控制决策模块;
所述计算资源管理模块,用于基于大数据集群中各任务的计算资源使用数据,确定各所述任务的计算资源冗余量是否超过预设冗余阈值;将计算资源冗余量超过所述预设冗余阈值的冗余任务信息发送至所述资源控制决策模块;
所述存储资源管理模块,用于基于各所述任务的存储资源使用数据,构建数据血缘;所述数据血缘用于表征数据之间的依赖关系;基于所述数据血缘中各数据的访问频次,确定冗余数据;将所述冗余数据发送至所述资源控制决策模块;
所述资源控制决策模块,用于基于所述冗余任务信息以及所述冗余数据,对所述大数据集群中各任务的资源进行调度;所述资源包括计算资源以及存储资源。
2.根据权利要求1所述的系统,其特征在于,所述计算资源使用数据包括:计算资源使用值;所述计算资源管理模块包括:计算资源采集子模块以及计算资源分析子模块;
所述计算资源采集子模块,用于通过预设监控接口采集所述大数据集群中各任务的计算资源使用数据;存储各所述任务的计算资源使用数据;
所述计算资源分析子模块,用于确定各所述任务的计算资源冗余量;各所述任务的计算资源冗余量与预设的所述任务的计算资源分配值正相关,与所述任务的计算资源使用值负相关;确定各所述任务的计算资源冗余量是否超过预设冗余阈值;将计算资源冗余量超过所述预设冗余阈值的冗余任务信息发送至所述资源控制决策模块。
3.根据权利要求2所述的系统,其特征在于,所述计算资源分析子模块包括:集群资源分析单元、队列资源分析单元以及任务资源分析单元;
所述计算资源采集子模块,用于采集所述大数据集群中的集群资源使用数据以及队列资源使用数据;所述集群资源使用数据中包括集群资源使用值;所述队列资源使用数据中包括队列资源使用值;
所述集群资源分析单元,用于在所述大数据集群的集群资源冗余量超过预设集群资源冗余阈值的情况下,将集群冗余信息发送至所述任务资源分析单元;所述集群资源冗余量与预设集群资源预留值正相关,与所述集群资源使用值负相关;
所述队列资源分析单元,用于在队列资源冗余量超过预设队列资源冗余阈值的情况下,将队列冗余信息发送至所述资源控制决策模块;所述队列资源冗余量与预设队列资源预留值正相关,与所述队列资源使用值负相关;
所述任务资源分析单元,用于在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或在接收到所述集群冗余信息的情况下,向所述资源控制决策模块发送任务资源冗余信息;
所述资源控制决策模块,用于在接收到所述队列冗余信息的情况下,重新分配队列资源;和/或在接收到所述任务资源冗余信息的情况下,对所述大数据集群中的计算资源进行重新分配。
4.根据权利要求3所述的系统,其特征在于,
所述集群资源分析单元,用于基于所述集群资源使用数据,生成集群潮汐数据,所述集群潮汐数据用于标识所述集群资源使用值随时间的变化情况;
所述队列资源分析单元,用于基于所述队列资源使用数据,生成队列潮汐数据,所述队列潮汐数据用于标识所述队列资源使用值随时间的变化情况;
所述资源控制决策模块,用于在接收到所述队列冗余信息的情况下,按照所述队列潮汐数据重新分配队列资源;和/或,在接收到所述任务资源冗余信息的情况下,按照所述集群潮汐数据对集群中的计算资源进行重新分配。
5.根据权利要求1所述的系统,其特征在于,所述存储资源管理模块包括存储资源采集子模块、数据仓库构建子模块、数据血缘构建子模块以及存储资源分析子模块;
所述存储资源采集子模块,用于通过预设文件接口采集存储资源使用数据,所述存储资源使用数据包括:各任务的输入数据存储路径以及输出数据存储路径;将所述存储资源使用数据进行存储;
所述数据仓库构建子模块,用于对所述存储资源使用数据进行格式化处理,得到统一格式的存储资源使用数据;
所述数据血缘构建子模块,用于基于所述统一格式的存储资源使用数据,构建数据血缘;
所述存储资源分析子模块,用于基于所述统一格式的存储资源使用数据的访问频次,确定访问频次低于预设频次阈值的冗余数据;将所述冗余数据发送至所述资源控制决策模块;
所述资源控制决策模块,用于基于所述数据血缘控制生产所述冗余数据的任务停止生产所述冗余数据,和/或删除所述冗余数据。
6.根据权利要求5所述的系统,其特征在于,
所述存储资源采集子模块,用于对所述存储资源使用数据进行分表以及分区存储;
所述存储资源分析子模块,用于将访问频次低于第一预设访问频次的冗余表信息发送至所述资源控制决策模块;和/或将访问频次低于第二预设访问频次的冗余分区信息发送至所述资源控制决策模块;
所述资源控制决策模块,用于按照所述冗余表信息删除对应表,和/或按照所述冗余分区信息删除对应分区。
7.根据权利要求1所述的系统,其特征在于,所述系统还包括:机器资源管理模块;
所述机器资源管理模块,用于采集所述大数据集群中各机器节点的机器资源使用数据,并展示;所述机器资源使用数据包括CPU资源使用数据以及存储空间使用数据;
所述资源控制决策模块,用于在接收到针对机器节点资源分配请求的情况下,按照所述机器节点资源分配请求对各机器节点的资源进行重新分配;所述机器节点资源分配请求为基于所述展示的各机器节点的资源使用数据发出。
8.一种资源管理方法,其特征在于,所述方法包括:
基于大数据集群中各任务的计算资源使用数据,确定各所述任务的计算资源冗余量是否超过预设冗余阈值;
基于各所述任务的存储资源使用数据,构建数据血缘;所述数据血缘用于表征数据之间的依赖关系;基于所述数据血缘中各数据的访问频次,确定冗余数据;
基于所述计算资源冗余量超过所述预设冗余阈值的冗余任务信息以及所述冗余数据,对所述大数据集群中各任务的资源进行调度;所述资源包括计算资源以及存储资源。
9.根据权利要求8所述的方法,其特征在于,所述计算资源使用数据包括:计算资源使用值;各所述任务的计算资源冗余量与预设的所述任务的计算资源分配值正相关,与所述任务的计算资源使用值负相关;
所述方法还包括:
采集所述大数据集群中的集群资源使用数据以及队列资源使用数据;所述集群资源使用数据中包括集群资源使用值;所述队列资源使用数据中包括队列资源使用值;
确定大数据集群的集群资源冗余量是否超过预设集群资源冗余阈值,所述集群资源冗余量与预设集群资源预留值正相关,与所述集群资源使用值负相关;
确定队列资源冗余量是否超过预设队列资源冗余阈值;所述队列资源冗余量与预设队列资源预留值正相关,与所述队列资源使用值负相关;
在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或在接收到所述集群冗余信息的情况下,向所述资源控制决策模块发送任务资源冗余信息;
在队列资源冗余量超过预设队列资源冗余阈值的情况下,重新分配队列资源;和/或,在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,对所述大数据集群中的计算资源进行重新分配。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:
基于所述集群资源使用数据,生成集群潮汐数据,所述集群潮汐数据用于标识所述集群资源使用值随时间的变化情况;
基于所述队列资源使用数据,生成队列潮汐数据,所述队列潮汐数据用于标识所述队列资源使用值随时间的变化情况;
所述在队列资源冗余量超过预设队列资源冗余阈值的情况下,重新分配队列资源;和/或,在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,对所述大数据集群中的计算资源进行重新分配,包括:
在队列资源冗余量超过预设队列资源冗余阈值的情况下,按照所述队列潮汐数据重新分配队列资源;和/或,
在存在计算资源冗余量超过所述预设冗余阈值的冗余任务和/或集群资源冗余量超过预设集群资源冗余阈值的情况下,按照所述集群潮汐数据对集群中的计算资源进行重新分配。
11.根据权利要求8所述的方法,其特征在于,所述基于各所述任务的存储资源使用数据,构建数据血缘;所述数据血缘用于表征数据之间的依赖关系;基于所述数据血缘中各数据的访问频次,确定冗余数据,包括:
通过预设文件接口采集存储资源使用数据,所述存储资源使用数据包括:各任务的输入数据存储路径以及输出数据存储路径;将所述存储资源使用数据进行存储;
对所述存储资源使用数据进行格式化处理,得到统一格式的存储资源使用数据;
基于所述统一格式的存储资源使用数据,构建数据血缘;
基于所述统一格式的存储资源使用数据的访问频次,确定访问频次低于预设频次阈值的冗余数据;
基于所述数据血缘控制生产所述冗余数据的任务停止生产所述冗余数据,和/或删除所述冗余数据。
12.根据权利要求11所述的方法,其特征在于,所述方法还包括:
对所述存储资源使用数据进行分表以及分区存储;
确定将访问频次低于第一预设访问频次的冗余表信息;和/或确定访问频次低于第二预设访问频次的冗余分区信息;
按照所述冗余表信息删除对应表,和/或按照所述冗余分区信息删除对应分区。
13.根据权利要求8所述的方法,其特征在于,所述方法还包括:
采集所述大数据集群中各机器节点的机器资源使用数据,并展示;所述机器资源使用数据包括CPU资源使用数据以及存储空间使用数据;
在接收到针对机器节点资源分配请求的情况下,按照所述机器节点资源分配请求对各机器节点的资源进行重新分配;所述机器节点资源分配请求为基于所述展示的各机器节点的资源使用数据发出。
14.一种电子设备,包括:
处理器;以及
存储程序的存储器,
其中,所述程序包括指令,所述指令在由所述处理器执行时使所述处理器执行根据权利要求8-13中任一项所述的方法。
15.一种存储有计算机指令的非瞬时计算机可读存储介质,其中,所述计算机指令用于使计算机执行根据权利要求8-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311219944.3A CN117251284A (zh) | 2023-09-20 | 2023-09-20 | 一种资源管理系统、方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311219944.3A CN117251284A (zh) | 2023-09-20 | 2023-09-20 | 一种资源管理系统、方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117251284A true CN117251284A (zh) | 2023-12-19 |
Family
ID=89128815
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311219944.3A Pending CN117251284A (zh) | 2023-09-20 | 2023-09-20 | 一种资源管理系统、方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117251284A (zh) |
-
2023
- 2023-09-20 CN CN202311219944.3A patent/CN117251284A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108874640B (zh) | 一种集群性能的评估方法和装置 | |
US11847103B2 (en) | Data migration using customizable database consolidation rules | |
Coutinho et al. | Elasticity in cloud computing: a survey | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
US8265973B2 (en) | Analytic-based scaling of information technology resources | |
WO2021159638A1 (zh) | 集群队列资源的调度方法、装置、设备及存储介质 | |
CN107612984B (zh) | 一种基于互联网的大数据平台 | |
CN104298550A (zh) | 一种面向Hadoop的动态调度方法 | |
CN113448812A (zh) | 微服务场景下的监控告警方法及装置 | |
CN115335821B (zh) | 卸载统计收集 | |
CN115640300A (zh) | 一种大数据管理方法、系统、电子设备和存储介质 | |
CN115291806A (zh) | 一种处理方法、装置、电子设备及存储介质 | |
CN108563787A (zh) | 一种数据中心综合管理系统的数据交互管理系统及方法 | |
WO2024088026A1 (zh) | 一种云数据迁移的优化方法及系统 | |
CN117762968A (zh) | 一种数据聚合方法、系统、设备及存储介质 | |
CN114661571B (zh) | 模型评测方法、装置、电子设备和存储介质 | |
CN113641670B (zh) | 数据存储及数据检索方法、装置、电子设备及存储介质 | |
CN109947828A (zh) | 一种处理报表数据的方法和装置 | |
CN117251284A (zh) | 一种资源管理系统、方法、电子设备及存储介质 | |
CN113407429B (zh) | 一种任务处理方法和装置 | |
CN114706893A (zh) | 故障检测方法、装置、设备及存储介质 | |
CN113434278A (zh) | 数据聚合系统、方法、电子设备及存储介质 | |
Xiao et al. | YISHAN: Managing large-scale cloud database instances via machine learning | |
CN110493071B (zh) | 消息系统资源均衡装置、方法及设备 | |
CN113259878A (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 |