CN110599148B - 集群数据处理方法、装置、计算机集群及可读存储介质 - Google Patents
集群数据处理方法、装置、计算机集群及可读存储介质 Download PDFInfo
- Publication number
- CN110599148B CN110599148B CN201910869525.1A CN201910869525A CN110599148B CN 110599148 B CN110599148 B CN 110599148B CN 201910869525 A CN201910869525 A CN 201910869525A CN 110599148 B CN110599148 B CN 110599148B
- Authority
- CN
- China
- Prior art keywords
- cluster
- job
- resource
- unit time
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 23
- 238000003860 storage Methods 0.000 title claims abstract description 22
- 238000000034 method Methods 0.000 claims abstract description 31
- 238000004364 calculation method Methods 0.000 claims description 34
- 238000012545 processing Methods 0.000 claims description 23
- 238000010586 diagram Methods 0.000 description 17
- 230000006870 function Effects 0.000 description 12
- 238000007726 management method Methods 0.000 description 9
- 238000004590 computer program Methods 0.000 description 8
- 238000009826 distribution Methods 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000012827 research and development Methods 0.000 description 4
- 230000003068 static effect Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/14—Payment architectures specially adapted for billing systems
- G06Q20/145—Payments according to the detected use or quantity
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Finance (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Development Economics (AREA)
- General Engineering & Computer Science (AREA)
- Debugging And Monitoring (AREA)
Abstract
本申请实施例提供一种集群数据处理方法、装置、计算机集群及可读存储介质,通过获取每个集群作业在各单位时间内的作业统计数据,以确定每个集群作业在各单位时间内的计算节点时长,并根据每个计算节点在单位时间内的占用成本信息以及每个集群作业在各单位时间内的计算节点时长,能够有效确定每个集群作业在参与每次计算过程中所产生的作业成本信息,从而能够将集群计算资源的成本分摊到每个工作单元,进而为企业的成本核算提供数据支持,相较于现有技术中统计占用资源比例的方式更加直观,同时在对企业外部用户开放计算资源时,也便于制定计费标准。
Description
技术领域
本申请涉及集群成本核算领域,具体而言,涉及一种集群数据处理方法、装置、计算机集群及可读存储介质。
背景技术
目前,计算机集群可以使用Yarn等资源管理框架对多台计算节点的计算资源的进行管理、分配和调度。例如,当将包含一个或者多个可并行运行的集群任务的集群作业提交到资源管理框架时,则由资源管理框架统一按照相应的资源管理策略为每个集群任务分配对应的集群资源,并调度至计算机集群运行。
在集群作业计算过程中,资源管理框架会计算当前运行过程中的总体资源分配情况和待分配资源情况。对于企业而言,成本核算通常必不可少。如何将集群计算资源的成本分摊到每个工作单元,是一大难题。传统的方案中通常只统计集群的占用资源比例和资源占用发展趋势,并没有考虑到每个集群作业的在参与每次计算过程中所产生的作业成本,进而导致企业的成本核算缺乏数据支持,同时在对企业外部用户开放计算资源时,也难以客观地制定计费标准。
发明内容
有鉴于此,本申请的目的在于提供一种集群数据处理方法、装置、计算机集群及可读存储介质,能够确定每个集群作业在参与每次计算过程中所产生的作业成本信息,从而能够将集群计算资源的成本分摊到每个工作单元,进而为企业的成本核算提供数据支持,相较于现有技术中统计占用资源比例的方式更加直观,同时在对企业外部用户开放计算资源时,也便于制定计费标准。
根据本申请的一方面,提供一种集群数据处理方法,应用于计算机集群,所述方法包括:
获取所述计算机集群中每个集群作业的作业信息,所述作业信息包括所述集群作业的作业提交时间以及所述集群作业中各集群任务的任务时间和占用资源;
根据所述每个集群作业的作业信息,得到每个集群作业中各集群任务在每个单位时间段内的资源占用时长和等待分配资源;
根据每个集群作业中各集群任务在每个单位时间段内的资源占用时长和等待分配资源,以及所述计算机集群的每个计算节点在每个单位时间段内的总资源占用时长,得到在每个单位时间段内的占用资源信息和等待分配资源信息。
根据本申请的另一方面,提供一种集群数据处理装置,应用于计算机集群,所述装置包括:
获取模块,用于获取所述计算机集群中每个集群作业的作业信息,所述作业信息包括所述集群作业的作业提交时间以及所述集群作业中各集群任务的任务时间和占用资源;
第一计算模块,用于根据所述每个集群作业的作业信息,得到每个集群作业中各集群任务在每个单位时间段内的资源占用时长和等待分配资源;
第二计算模块,用于根据每个集群作业中各集群任务在每个单位时间段内的资源占用时长和等待分配资源,以及所述计算机集群的每个计算节点在每个单位时间段内的总资源占用时长,得到在每个单位时间段内的占用资源信息和等待分配资源信息。
根据本申请的另一方面,提供一种计算机集群,所述计算机集群包括机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时使所述计算机集群实现前述的集群数据处理方法。
根据本申请的另一方面,提供一种可读存储介质,所述可读存储介质中存储有机器可执行指令,所述机器可执行指令被执行时实现前述的集群数据处理方法。
基于上述任一方面,本申请通过获取每个集群作业在各单位时间内的作业统计数据,以确定每个集群作业在各单位时间内的计算节点时长,并根据每个计算节点在单位时间内的占用成本信息以及每个集群作业在各单位时间内的计算节点时长,能够有效确定每个集群作业在参与每次计算过程中所产生的作业成本信息,从而能够将集群计算资源的成本分摊到每个工作单元,进而为企业的成本核算提供数据支持,相较于现有技术中统计占用资源比例的方式更加直观,同时在对企业外部用户开放计算资源时,也便于制定计费标准。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的计算机集群的结构示意框图;
图2示出了本申请实施例所提供的集群数据处理方法的流程示意图之一;
图3示出了图2中所示的步骤S110的子步骤流程示意图;
图4示出了本申请实施例所提供的资源时长的示意图;
图5示出了本申请实施例所提供的占用时长示意图;
图6示出了本申请实施例所提供的集群数据处理方法的流程示意图之二;
图7示出了本申请实施例所提供的集群数据处理装置的功能模块示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,应当理解,本申请中附图仅起到说明和描述的目的,并不用于限定本申请的保护范围。另外,应当理解,示意性的附图并未按实物比例绘制。本申请中使用的流程图示出了根据本申请实施例的一些实施例实现的操作。应该理解,流程图的操作可以不按顺序实现,没有逻辑的上下文关系的步骤可以反转顺序或者同时实施。此外,本领域技术人员在本申请内容的指引下,可以向流程图添加一个或多个其他操作,也可以从流程图中移除一个或多个操作。
图1示出了本申请实施例提供的计算机集群100的结构示意框图,本实施例中,该计算机集群100包括多个计算节点110,这些计算节点110可以是服务器、计算机设备等具有计算处理能力的机器,每个计算节点110可为集群任务的计算提供集群资源,例如可以提供CPU(Central Processing Unit,CPU)计算资源和内存(Memory)计算资源。
计算机集群100可以通过使用资源管理框架对其所包括的多台计算节点110的计算资源进行管理、分配和调度。以资源管理框架为Yarn为例,Yarn的资源系统框架中包括资源管理器(Resource Manager,RM)和应用管理器(Application Master,AM),该资源管理器可以负责集群任务的资源调度管理,该应用管理器可以负责与用户的应用任务形成一对一模式负责申请资源并监控集群任务的运行状况。
计算机集群100可以包括机器可读存储介质120和处理器130。
机器可读存储介质120作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请实施例中的集群数据处理方法对应的程序指令/模块(例如,图7中所示的集群数据处理装置200)。处理器130通过运行存储在机器可读存储介质120中的软件程序、指令以及模块,从而执行计算机集群100的各种功能应用以及数据处理,即实现下述的集群数据处理方法。
机器可读存储介质120可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,机器可读存储介质120可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DR RAM)。应注意,本文描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。在一些实例中,机器可读存储介质120可进一步包括相对于处理器130远程设置的存储器,这些远程存储器可以通过网络连接至终端设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器130可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器130中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器130可以是通用处理器、数字信号处理器(DigitalSignalProcessorDSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。
为了解决前述背景技术中的问题,下面结合图1对图2示出的本申请实施例提供的集群数据处理方法进行详细阐述,该集群数据处理方法可以由图1中所示的计算机集群100执行。应当理解,在其它实施例中,本实施例的集群数据处理方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该集群数据处理方法的详细步骤介绍如下。
步骤S110,获取每个集群作业在各单位时间内的作业统计数据。
本实施例中,作业统计数据可包括集群作业占用每种计算资源所对应的资源时长和所对应的各级工作单元。
详细地,每个计算节点110可以视为该计算机集群100的计算资源。例如,计算资源可以是但不仅限于每个计算节点110的CPU核心数和内存大小。假设该计算机集群100包括1000台计算节点110,每台计算节点110有28个CPU核心数和122880MB内存。如果某个集群作业需要提交至该计算机集群100运行,该集群作业包括3个集群任务,且每个集群任务则需要2个CPU核心数和4000MB内存,这3个集群任务在计算过程中的运行耗时分别是10s,12s,15s,则该集群作业占用CPU资源的CPU资源时长为2*10+2*12+2*15=74,那么该集群作业占用内存资源的内存资源时长为4000*10+4000*12+4000*15=148000。上述CPU资源时长和内存资源时长可以反映该集群作业占用该计算机集群100的计算资源的情况。
本实施例中,该单位时间段可以根据实际需求进行设定。例如,如果设定每一单位分钟作为一个单位时间段,那么本实施例可以得到每个集群作业在每一分钟内的作业统计数据。
步骤S120,根据每个集群作业在单位时间内的作业统计数据,确定每个集群作业在各单位时间内的计算节点时长。
步骤S130,根据每个计算节点110在单位时间内的占用成本信息,以及每个集群作业在各单位时间内的计算节点时长,确定每个集群作业在不同统计时间段内的作业成本信息。
本实施例中,该统计时间段可以根据实际需求进行设定。例如,可以设置每一分钟作为一个统计时间段,并设置每一小时为另一个统计时间段,以及每一天为另一个统计时间段,那么本实施例可以得到每个集群作业在每一分钟、每一小时以及每一天内的作业成本信息。
步骤S140,针对每个统计时间段,根据各集群作业在该统计时间段内的作业成本信息以及各集群作业所对应的各级工作单元,计算各级工作单元在该统计时间段内的作业成本信息。
本实施例中,各级工作单元相互之间可存在层次关联关系。例如,假设该集群作业的作业提交用户为A用户,该A用户所在的部门为B事业部C研发部D小组,那么各级工作单元分别是B事业部、C研发部、D小组以及用户A。
本实施例提供的集群数据处理方法,通过获取每个集群作业在各单位时间内的作业统计数据,以确定每个集群作业在各单位时间内的计算节点时长,并根据每个计算节点110在单位时间内的占用成本信息以及每个集群作业在各单位时间内的计算节点时长,能够有效确定每个集群作业在参与每次计算过程中所产生的作业成本信息,从而能够将集群计算资源的成本分摊到每个工作单元,进而为企业的成本核算提供数据支持,相较于现有技术中统计占用资源比例的方式更加直观,同时在对企业外部用户开放计算资源时,也便于制定计费标准。
在一种可能的实施方式中,针对步骤S110,为了便于统计每个集群作业的完整统计数据,请参阅图3,步骤S110可以通过如下子步骤S111和子步骤S112实现,具体介绍如下。
子步骤S111,针对每个集群作业,当该集群作业在第一时刻开始计算后,在每个单位时间段内分别获取该集群作业占用每种集群资源所对应的资源时长。
子步骤S112,当该集群作业在第二时刻结束计算后,获取该集群作业在第一时刻到第二时刻之间的总资源时长。
本实施例中,该集群作业在第一时刻开始计算,可以是指该集群作业开始被计算机集群100调度到某个计算节点110开始使用该计算节点110的计算资源,即该第一时刻为该集群作业开始被计算机集群100调度到某个计算节点110开始使用该计算节点110的计算资源时的时刻。该集群作业在第二时刻结束计算,可以是指该集群作业被计算机集群100从该计算节点110的计算进程中移除从而不再继续使用该计算节点110的计算资源,即该第二时刻为该集群作业被计算机集群100从该计算节点110的计算进程中移除时的时刻。
例如,请结合参阅图4,以某个集群作业A为例,假设该集群作业A在t1时刻开始被计算机集群100调度到计算节点110A开始使用该计算节点110A的计算资源,在tn时刻被计算机集群100从该计算节点110A的计算进程中移除,那么t1时刻则为前述的第一时刻,tn时刻则为前述的第二时刻。
当该集群作业A在t1时刻开始计算后,可分别获取该集群作业A在之后的每个单位时间段t1-t2、t2-t3、......、tn-1-tn占用每种集群资源所对应的资源时长x1、x2、......、xn,当该集群作业A在tn时刻结束计算后,则该集群作业A在t1-tn之间占用每种集群资源所对应的总资源时长为x1、x2、......、xn之和x。
示例性地,每个集群作业在各单位时间内的作业统计数据可以如下表1所示:
当前单位时间段 | 集群作业标识 | 各级工作单元 | 资源时长 |
表1
例如,如果每个单位时间段为每一分钟,集群作业所占时长为30分钟,那么表1可以包括30行数据。
在一种可能的实施方式中,针对子步骤S111,首先可以获取该集群作业的作业提交时间以及该集群作业中各集群任务的任务时间和占用资源。然后,根据该集群作业的作业信息,得到各集群任务在每个单位时间段内占用每种集群资源所对应的资源时长。在此基础上,将各集群任务在每个单位时间段内占用每种集群资源所对应的资源时长之和作为该集群作业在每个单位时间段内占用每种集群资源所对应的资源时长。
可选地,每个集群任务的任务时间具体可以包括任务开始时间和任务结束时间。例如,假设某个集群任务A1在12:00开始进行计算,在16:00结束计算,那么该集群任务A1的任务开始时间则为12:00、任务结束时间则为16:00。
值得说明的是,当上述作业提交时间、任务开始时间、任务结束时间不为整数分钟时,则取该作业提交时间、任务开始时间、任务结束时间最近的整数分钟作为对应的作业提交时间、任务开始时间、任务结束时间。例如,如果任务开始时间实际为12:01:22,那么该任务开始时间则确定为12:01。又例如,如果任务结束时间实际为17:21:42,那么该任务开始时间则确定为17:22。
在一种可能的实施方式中,可针对每个集群任务,根据该集群任务的任务时间和该集群作业的作业提交时间,得到该集群任务在每个单位时间段内的占用时长。然后,针对每个单位时间段,判断该集群任务在该单位时间段内的占用时长是否大于0,若该集群任务在该单位时间段内的占用时长大于0,则根据该集群任务的占用资源和在该单位时间段内的占用时长,计算该集群任务在该单位时间段内占用每种集群资源所对应的资源时长。或者,若该集群任务在该单位时间段内的占用时长等于0,则确定该集群任务在该单位时间段内占用每种集群资源所对应的资源时长为0。
可选地,占用资源可包括CPU占用资源和内存占用资源,那么在计算上述的资源时长时,上述的资源时长可包括CPU资源时长和内存资源时长。详细地,可以计算CPU占用资源与占用时长的乘积作为CPU资源时长,并计算内存占用资源与占用时长的乘积作为内存资源时长。
可选地,请结合参阅图5,该占用时长可以包括第一占用时长和第二占用时长,该第一占用时长可以是指该集群任务在该第一时刻与该集群任务的任务开始时间之间每个单位时间段内的占用时长,该第二占用时长可以是指该集群任务在该集群任务的任务开始时间与该第二时刻之间每个单位时间段内的占用时长(X秒),其中,该第一占用时长为0。
例如,仍旧以前述占用资源包括CPU占用资源和内存占用资源为例,若集群任务A1的CPU占用资源为3个CPU核心,内存占用资源为4000MB内存,在12:01-12:02内的占用时长为30秒>0,那么该集群任务A1在12:01-12:02内的CPU资源占用时长为30*3=90、内存资源占用时长为30*4000=120000。此外,若该集群任务A1在12:01-12:02内的占用时长等于0,则集群任务A1在12:01-12:02内的资源占用时长为0。
如此,通过上述步骤,即可得到每个集群作业占用每种计算资源所对应的资源时长,其中包括每个集群作业在每个单位时间段内占用每种集群资源所对应的资源时长以及在第一时刻到第二时刻之间的总资源时长,从而可以便于后续确定每个集群作业在各单位时间内的计算节点时长。
例如,在上述基础上,针对步骤S120,为了准确确定计算节点时长,针对每种计算资源,可计算每个集群作业在各单位时间内占用该计算资源所对应的计算节点时长,其中该计算节点时长为集群作业占用该计算资源所对应的资源时长与每个计算节点110中该计算资源的配置数量的比值。然后,从每个集群作业在各单位时间内的各计算节点时长中,分别选择最大的计算节点时长作为该集群作业在各单位时间内的计算节点时长。
例如,仍旧以前述占用资源包括CPU占用资源和内存占用资源为例,假设该计算机集群100中每个计算节点110包括m个CPU核心和nMB的内存资源,如果集群作业A在单位时间t1-t2内占用CPU核心所对应的CPU资源时长为x,并且在单位时间t1-t2内占用内存资源所对应的内存资源时长为y,那么集群作业A在单位时间t1-t2内占用CPU核心所对应的计算节点时长为x/m,在单位时间t1-t2内占用内存资源所对应的计算节点时长为y/m。然后,从x/m和y/m中选择最大的计算节点时长作为该集群作业A在单位时间t1-t2内的计算节点时长。
接下来,在一种可能的实施方式中,针对步骤S130,可以根据实际需求确定多个统计时间段,以按照统计时间段进行聚合。详细地,针对每个集群作业,根据该集群作业在各单位时间内的计算节点时长,得到该集群作业在每个统计时间段内占用的计算节点时长。
例如,仍旧以图4为例,可以得到集群作业A在单位时间t1-t2、t2-t3、......、tn-1-tn内的计算节点时长,假设单位时间为一分钟,统计时间段包括每一分钟和每一天,并且t1-tn的持续时间小于一天,那么则可以得到该集群作业A在每一分钟(t1-t2、t2-t3、......、tn-1-tn)内占用的计算节点时长M1、M2、M3、......、Mn-1和在一天(t1-tn)内占用的计算节点时长D1。
接着,可以针对每个统计时间段,计算该集群作业在该统计时间段内占用的计算节点时长与每个计算节点110在单位时间内的占用成本信息的乘积,作为该集群作业在该统计时间段内的作业成本信息。
本实施例中,每个计算节点110在单位时间内的占用成本信息可以根据实际需求进行预先设置,假设每个计算节点110在每分钟内的成本为costmin,那么以上述示例为例,集群作业A在每一分钟(t1-t2、t2-t3、......、tn-1-tn)内的作业成本信息为M1*costmin、M2*costmin、M3*costmin、......、Mn-1*costmin,在一天(t1-tn)内的作业成本信息为D1*costmin。
如此,针对步骤S140,为了便于将集群计算资源的成本分摊到每个工作单元,进而为企业的成本核算提供数据支持,在确定每个集群作业在不同统计时间段内的作业成本信息的基础上,由于每个集群作业都对应有各级工作单元,因此可以根据各集群作业在不同统计时间段内的作业成本信息以及各集群作业所对应的各级工作单元,得到各级工作单元在不同统计时间段内的作业成本信息。
例如,以各级工作单元包括用户和该用户所在部门,统计时间段包括每一分钟和每一天为例,则每个用户在每一分钟的作业成本信息如表2所示:
分钟 | 用户 | 作业成本信息 |
表2
每个用户在每一天的作业成本信息如表3所示:
天 | 用户 | 作业成本信息 |
表3
每个部门在每一分钟的作业成本信息如表4所示:
分钟 | 部门 | 作业成本信息 |
表4
每个部门在每一天的作业成本信息如表5所示:
天 | 部门 | 作业成本信息 |
表5
由此,即可得到每个用户在每一分钟和每一天的作业成本信息,以及每个部门在每一分钟和每一天的作业成本信息,从而可以将集群计算资源的成本分摊到每个用户和每个部门,进而为每个用户和每个部门的成本核算提供数据支持。
为了提高作业成本信息的准确性,本实施例需要考虑到每个计算节点110在单位时间内的占用成本信息是否合理客观。基于此,下面提供一种去也定每个计算节点110在单位时间内的占用成本信息的示例实施方式,请进一步参阅图6,本实施例提供的集群数据处理方法还可以包括步骤S101和步骤S102,具体介绍如下。
步骤S101,获取计算节点110的成本信息。
步骤S102,根据计算节点110的成本信息得到计算节点110在单位时间内的占用成本信息。
本实施例中,计算节点110的成本信息可以包括购买成本、保修时长以及在每个预设时间段的运行成本。例如,假设计算节点110的购机成本a元,每月的运行成本(例如设备管理费、电费等)平均约b元,保修时长为c年。以每单位时间为每一分钟计算,则该计算节点110在每分钟的占用成本costmin=(a+b*12月*c)/c/365天/24小时/60分钟。
图7示出了本申请实施例提供的集群数据处理装置200的功能模块示意图,本实施例可以根据上述方法实施例对该集群数据处理装置200进行功能模块的划分。例如,可以对应各个功能划分各个功能模块,也可以将两个或两个以上的功能集成在一个处理模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本申请中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。比如,在采用对应各个功能划分各个功能模块的情况下,图7示出的集群数据处理装置只是一种装置示意图。其中,集群数据处理装置200可以包括获取模块210、第一确定模块220以及第二确定模块230以及计算模块240,下面分别对该集群数据处理装置200的各个功能模块的功能进行详细阐述。
获取模块210,用于获取每个集群作业在各单位时间内的作业统计数据,作业统计数据包括集群作业占用每种计算资源所对应的资源时长和所对应的各级工作单元。可以理解,该获取模块210可以用于执行上述步骤S110,关于该获取模块210的详细实现方式可以参照上述对步骤S110有关的内容。
第一确定模块220,用于根据每个集群作业在单位时间内的作业统计数据,确定每个集群作业在各单位时间内的计算节点时长。可以理解,该第一确定模块220可以用于执行上述步骤S120,关于该第一确定模块220的详细实现方式可以参照上述对步骤S120有关的内容。
第二确定模块230,用于根据每个计算节点110在单位时间内的占用成本信息,以及每个集群作业在各单位时间内的计算节点时长,确定每个集群作业在不同统计时间段内的作业成本信息。可以理解,该第二确定模块230可以用于执行上述步骤S130,关于该第二确定模块230的详细实现方式可以参照上述对步骤S130有关的内容。
计算模块240,用于针对每个统计时间段,根据各集群作业在该统计时间段内的作业成本信息以及各集群作业所对应的各级工作单元,计算各级工作单元在该统计时间段内的作业成本信息。可以理解,该计算模块240可以用于执行上述步骤S140,关于该计算模块240的详细实现方式可以参照上述对步骤S140有关的内容。
在一种可能的实施方式中,获取模块210具体可以通过以下方式获取每个集群作业在各单位时间内的作业统计数据:
针对每个集群作业,当该集群作业在第一时刻开始计算后,在每个单位时间段内分别获取该集群作业占用每种集群资源所对应的资源时长;
当该集群作业在第二时刻结束计算后,获取该集群作业在第一时刻到第二时刻之间的总资源时长。
在一种可能的实施方式中,第一确定模块220具体可以通过以下方式确定每个集群作业在各单位时间内的计算节点时长:
针对每种计算资源,计算每个集群作业在各单位时间内占用该计算资源所对应的计算节点时长,计算节点时长为集群作业占用该计算资源所对应的资源时长与每个计算节点110中该计算资源的配置数量的比值;
从每个集群作业在各单位时间内的各计算节点时长中,分别选择最大的计算节点时长作为该集群作业在各单位时间内的计算节点时长。
在一种可能的实施方式中,第二确定模块230具体可以通过以下方式确定每个集群作业在不同统计时间段内的作业成本信息:
针对每个集群作业,根据该集群作业在各单位时间内的计算节点时长,得到该集群作业在每个统计时间段内占用的计算节点时长;
针对每个统计时间段,计算该集群作业在该统计时间段内占用的计算节点时长与每个计算节点110在单位时间内的占用成本信息的乘积,作为该集群作业在该统计时间段内的作业成本信息。
本申请实施例还提供一种包含计算机可执行指令的可读存储介质,计算机可执行指令在被执行时可以用于执行前述方法实施例提供的集群数据处理方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本申请的各种实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种集群数据处理方法,其特征在于,应用于计算机集群,所述方法包括:
获取每个集群作业在各单位时间内的作业统计数据,所述作业统计数据包括所述集群作业占用每种计算资源所对应的资源时长和所对应的各级工作单元;
根据所述每个集群作业在单位时间内的作业统计数据,确定每个集群作业在各单位时间内的计算节点时长;
根据每个计算节点在单位时间内的占用成本信息,以及每个集群作业在各单位时间内的计算节点时长,确定每个集群作业在不同统计时间段内的作业成本信息;
针对每个统计时间段,根据各集群作业在该统计时间段内的作业成本信息以及各集群作业所对应的各级工作单元,计算各级工作单元在该统计时间段内的作业成本信息;
所述获取每个集群作业在各单位时间内的作业统计数据的步骤,包括:
针对每个集群作业,当该集群作业在第一时刻开始计算后,在每个单位时间段内分别获取该集群作业占用每种集群资源所对应的资源时长;
当该集群作业在第二时刻结束计算后,获取该集群作业在所述第一时刻到所述第二时刻之间的总资源时长;
所述根据所述每个集群作业在单位时间内的作业统计数据,确定每个集群作业在各单位时间内的计算节点时长的步骤,包括:
针对每种计算资源,计算每个集群作业在各单位时间内占用该计算资源所对应的计算节点时长,所述计算节点时长为所述集群作业占用该计算资源所对应的资源时长与每个计算节点中该计算资源的配置数量的比值;
从每个集群作业在各单位时间内的各计算节点时长中,分别选择最大的计算节点时长作为该集群作业在各单位时间内的计算节点时长。
2.根据权利要求1所述的集群数据处理方法,其特征在于,所述在每个单位时间段内分别获取该集群作业占用每种集群资源所对应的资源时长的步骤,包括:
获取该集群作业的作业提交时间以及该集群作业中各集群任务的任务时间和占用资源;
根据该集群作业的作业信息,得到各集群任务在每个单位时间段内占用每种集群资源所对应的资源时长;
将各集群任务在每个单位时间段内占用每种集群资源所对应的资源时长之和作为该集群作业在每个单位时间段内占用每种集群资源所对应的资源时长。
3.根据权利要求2所述的集群数据处理方法,其特征在于,所述任务时间包括任务开始时间和任务结束时间,所述根据该集群作业的作业信息,得到该集群作业中各集群任务在每个单位时间段内占用每种集群资源所对应的资源时长的步骤,包括:
针对每个集群任务,根据该集群任务的任务时间和该集群作业的作业提交时间,得到该集群任务在每个单位时间段内的占用时长;
针对每个单位时间段,判断该集群任务在该单位时间段内的占用时长是否大于0;
若该集群任务在该单位时间段内的占用时长大于0,则根据该集群任务的占用资源和在该单位时间段内的占用时长,计算该集群任务在该单位时间段内占用每种集群资源所对应的资源时长;
若该集群任务在该单位时间段内的占用时长等于0,则确定该集群任务在该单位时间段内占用每种集群资源所对应的资源时长为0。
4.根据权利要求3所述的集群数据处理方法,其特征在于,所述占用时长包括第一占用时长和第二占用时长,该第一占用时长是指该集群任务在该第一时刻与该集群任务的任务开始时间之间每个单位时间段内的占用时长,该第二占用时长是指该集群任务的任务开始时间与该第二时刻之间每个单位时间段内的占用时长,其中,该第一占用时长为0。
5.根据权利要求3所述的集群数据处理方法,其特征在于,所述占用资源包括CPU占用资源和内存占用资源,所述根据该集群任务的占用资源和在该单位时间段内的占用时长,计算该集群任务在该单位时间段内占用每种集群资源所对应的资源时长的步骤,包括:
计算所述CPU占用资源与所述占用时长的乘积作为CPU资源时长,并计算所述内存占用资源与所述占用时长的乘积作为内存资源时长;
所述资源时长包括所述CPU资源时长和所述内存资源时长。
6.根据权利要求1-5中任意一项所述的集群数据处理方法,其特征在于,所述根据每个计算节点在单位时间内的占用成本信息,以及每个集群作业在各单位时间内的计算节点时长,确定每个集群作业在不同统计时间段内的作业成本信息的步骤,包括:
针对每个集群作业,根据该集群作业在各单位时间内的计算节点时长,得到该集群作业在每个统计时间段内占用的计算节点时长;
针对每个统计时间段,计算该集群作业在该统计时间段内占用的计算节点时长与每个计算节点在单位时间内的占用成本信息的乘积,作为该集群作业在该统计时间段内的作业成本信息。
7.根据权利要求1所述的集群数据处理方法,其特征在于,所述方法还包括:
获取所述计算节点的成本信息,所述成本信息包括购买成本、保修时长以及在每个预设时间段的运行成本;
根据所述计算节点的成本信息得到所述计算节点在单位时间内的占用成本信息。
8.一种集群数据处理装置,其特征在于,应用于计算机集群,所述装置包括:
获取模块,用于获取每个集群作业在各单位时间内的作业统计数据,所述作业统计数据包括所述集群作业占用每种计算资源所对应的资源时长和所对应的各级工作单元;
第一确定模块,用于根据所述每个集群作业在单位时间内的作业统计数据,确定每个集群作业在各单位时间内的计算节点时长;
第二确定模块,用于根据每个计算节点在单位时间内的占用成本信息,以及每个集群作业在各单位时间内的计算节点时长,确定每个集群作业在不同统计时间段内的作业成本信息;
计算模块,用于针对每个统计时间段,根据各集群作业在该统计时间段内的作业成本信息以及各集群作业所对应的各级工作单元,计算各级工作单元在该统计时间段内的作业成本信息;
所述获取模块具体用于:针对每个集群作业,当该集群作业在第一时刻开始计算后,在每个单位时间段内分别获取该集群作业占用每种集群资源所对应的资源时长;当该集群作业在第二时刻结束计算后,获取该集群作业在所述第一时刻到所述第二时刻之间的总资源时长;
所述第一确定模块具体用于:针对每种计算资源,计算每个集群作业在各单位时间内占用该计算资源所对应的计算节点时长,所述计算节点时长为所述集群作业占用该计算资源所对应的资源时长与每个计算节点中该计算资源的配置数量的比值;从每个集群作业在各单位时间内的各计算节点时长中,分别选择最大的计算节点时长作为该集群作业在各单位时间内的计算节点时长。
9.一种计算机集群,其特征在于,所述计算机集群包括多个计算节点、机器可读存储介质及处理器,所述机器可读存储介质存储有机器可执行指令,所述处理器在执行所述机器可执行指令时使所述计算机集群实现权利要求1-7中任意一项所述的集群数据处理方法。
10.一种可读存储介质,其特征在于,所述可读存储介质中存储有机器可执行指令,所述机器可执行指令被执行时实现权利要求1-7中任意一项所述的集群数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910869525.1A CN110599148B (zh) | 2019-09-16 | 2019-09-16 | 集群数据处理方法、装置、计算机集群及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910869525.1A CN110599148B (zh) | 2019-09-16 | 2019-09-16 | 集群数据处理方法、装置、计算机集群及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110599148A CN110599148A (zh) | 2019-12-20 |
CN110599148B true CN110599148B (zh) | 2022-05-31 |
Family
ID=68859579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910869525.1A Active CN110599148B (zh) | 2019-09-16 | 2019-09-16 | 集群数据处理方法、装置、计算机集群及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110599148B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400033B (zh) * | 2020-03-03 | 2024-04-19 | 京东科技控股股份有限公司 | 平台资源成本分摊方法、装置、存储介质及计算机设备 |
CN112416593B (zh) * | 2020-11-30 | 2024-01-12 | 北京百度网讯科技有限公司 | 资源管理方法及装置、电子设备、计算机可读介质 |
CN112822028A (zh) * | 2020-12-29 | 2021-05-18 | 北京浪潮数据技术有限公司 | Slurm集群计费方法、系统、电子设备及存储介质 |
CN112860440A (zh) * | 2021-03-12 | 2021-05-28 | 云知声智能科技股份有限公司 | 分配集群计算资源的方法、装置、电子设备和存储介质 |
CN117575654B (zh) * | 2023-11-27 | 2024-05-14 | 数翊科技(北京)有限公司 | 数据加工作业的调度方法及装置 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331948A (zh) * | 2011-09-01 | 2012-01-25 | 杭州湾云计算技术有限公司 | 一种基于资源状态的虚拟机结构调整方法和调整系统 |
CN105446816A (zh) * | 2015-11-11 | 2016-03-30 | 华南理工大学 | 一种面向异构平台的能耗优化调度方法 |
CN105868070A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 确定任务消耗资源的方法及装置 |
CN109189563A (zh) * | 2018-07-25 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 资源调度方法、装置、计算设备及存储介质 |
CN109445919A (zh) * | 2018-10-19 | 2019-03-08 | 曙光信息产业(北京)有限公司 | 基于云服务的在线计算资源交易系统 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9747136B2 (en) * | 2014-12-09 | 2017-08-29 | Vmware, Inc. | Methods and systems that allocate cost of cluster resources in virtual data centers |
-
2019
- 2019-09-16 CN CN201910869525.1A patent/CN110599148B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102331948A (zh) * | 2011-09-01 | 2012-01-25 | 杭州湾云计算技术有限公司 | 一种基于资源状态的虚拟机结构调整方法和调整系统 |
CN105446816A (zh) * | 2015-11-11 | 2016-03-30 | 华南理工大学 | 一种面向异构平台的能耗优化调度方法 |
CN105868070A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 确定任务消耗资源的方法及装置 |
CN109189563A (zh) * | 2018-07-25 | 2019-01-11 | 腾讯科技(深圳)有限公司 | 资源调度方法、装置、计算设备及存储介质 |
CN109445919A (zh) * | 2018-10-19 | 2019-03-08 | 曙光信息产业(北京)有限公司 | 基于云服务的在线计算资源交易系统 |
Non-Patent Citations (1)
Title |
---|
在多租户Kubermetes集群作细粒度成本分摊;CNCF;《腾讯视频》;20190107 * |
Also Published As
Publication number | Publication date |
---|---|
CN110599148A (zh) | 2019-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110599148B (zh) | 集群数据处理方法、装置、计算机集群及可读存储介质 | |
CN107291546B (zh) | 一种资源调度方法及装置 | |
US20190324819A1 (en) | Distributed-system task assignment method and apparatus | |
CN107241281B (zh) | 一种数据处理方法及其装置 | |
CN107426274B (zh) | 基于时序的业务应用及监控分析调度的方法和系统 | |
US9870269B1 (en) | Job allocation in a clustered environment | |
WO2017166643A1 (zh) | 一种任务资源的量化方法和装置 | |
CN108173905B (zh) | 一种资源配置方法、装置及电子设备 | |
Wang et al. | Optimal online multi-instance acquisition in IaaS clouds | |
CN110659137B (zh) | 针对离线任务的处理资源分配方法及系统 | |
CN110058940B (zh) | 一种多线程环境下的数据处理方法及装置 | |
CN106874100B (zh) | 计算资源分配方法及装置 | |
WO2015085969A1 (zh) | 推荐算法优化方法、装置及系统 | |
CN103810045A (zh) | 资源分配方法、资源管理器、资源服务器及系统 | |
CN107343023B (zh) | 一种Mesos管理集群中的资源分配方法、装置及电子设备 | |
WO2016041446A1 (zh) | 一种资源分配方法、装置及设备 | |
WO2017107456A1 (zh) | 确定任务消耗资源的方法及装置 | |
WO2023151268A1 (zh) | 一种业务分流方法、装置及系统 | |
CN112162852A (zh) | 一种多架构cpu节点的管理方法、装置及相关组件 | |
CN112860387A (zh) | 分布式任务调度方法、装置、计算机设备及存储介质 | |
WO2021021292A1 (en) | Rights management of cloud resources | |
Meskar et al. | Fair multi-resource allocation in mobile edge computing with multiple access points | |
CN112181498A (zh) | 并发控制方法、装置和设备 | |
CN104735134B (zh) | 一种用于提供计算服务的方法和装置 | |
CN108429704B (zh) | 一种节点资源分配方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |