发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本申请提供了一种平台资源成本分摊方法、装置、存储介质及计算机设备。
第一方面,本申请实施例提供了一种平台资源成本分摊方法,该方法包括:
通过数据采集获取平台租户使用每个集群中的服务器资源的多种源数据;
对每个集群对应的每种源数据进行解析或数据抽取,得到每个集群对应的多种用户任务资源使用信息列表;
通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量和存储资源使用量;
根据每个平台租户在每个集群中的计算资源使用量、存储资源使用量获取每个平台租户在每个集群中对应的分摊系数;
获取每个集群中服务器的数量;
根据每个平台租户在每个集群中对应的分摊系数和每个集群中服务器的数量获取每个平台租户分摊服务器数量;
根据所有平台租户分摊服务器数量获取每个平台租户的资源分摊比;
获取企业总服务器成本;
根据企业总服务器成本和每个平台租户的资源分摊比获取每个平台租户的平台资源分摊成本。
可选地,通过数据采集获取平台租户使用每个集群中的服务器资源的多种源数据,包括:
通过离线数据采集获取平台租户使用每个集群中的服务器资源的后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据、镜像存储数据;
通过实时数据采集获取平台租户使用每个集群中的服务器资源的Yarn日志、审计日志。
可选地,对每个集群对应的每种源数据进行解析或数据抽取,得到每个集群对应的多种用户任务资源使用信息列表,包括:
分别对每个集群对应的后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据进行数据抽取,将抽取到的数据进行存储得到每种源数据对应的用户任务资源使用信息列表;
分别对每个集群对应的镜像存储数据、Yarn日志、审计日志进行解析,将解析到的数据进行存储得到每种源数据对应的用户任务资源使用信息列表。
可选地,通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量,包括:
从每个集群对应的多种用户任务资源使用信息列表中获取每个平台租户在每个集群中作业的job数量及每个job对应的map数量、单个map的内存申请量、map的平均执行时长、reduce数量、单个reduce的内存申请量、reduce的平均执行时长;
分别对每个job的map数量、对应的单个map的内存申请量、对应的map的平均执行时长进行求积得到每个job的第一计算资源使用量;
分别对每个job的reduce数量、对应的reduce的内存申请量、对应的reduce的平均执行时长进行求积得到每个job的第二计算资源使用量;
对每个平台租户在每个集群中作业的所有job对应的第一计算资源使用量与第二计算资源使用量求和得到每个平台租户在每个集群中的计算资源使用量。
可选地,根据每个平台租户在每个集群中的计算资源使用量、存储资源使用量获取每个平台租户在每个集群中对应的分摊系数,包括:
获取每个集群的计算资源权重系数和存储资源权重系数;
根据每个平台租户在每个集群中的计算资源使用量得到每个平台租户在每个集群中的计算资源占比;
根据每个平台租户在每个集群中的存储资源使用量得到每个平台租户在每个集群中的存储资源占比;
对每个平台租户在相同集群中计算资源占比与计算资源权重系数的乘积、存储资源占比与存储资源权重系数的乘积进行求和得到每个平台租户在每个集群中对应的分摊系数。
可选地,根据每个平台租户在每个集群中对应的分摊系数和每个集群中服务器的数量获取每个平台租户分摊服务器数量,包括:
对每个平台租户在每个集群中对应的分摊系数与对应集群中服务器的数量的乘积进行求和得到每个平台租户分摊服务器数量。
可选地,获取每个集群的计算资源权重系数和存储资源权重系数,包括:
获取每个集群中服务器的计算硬件成本、存储硬件成本;
分别对每个集群对应的计算硬件成本、存储硬件成本进行求和得到每个集群的总硬件成本;
将同一个集群的计算硬件成本与总硬件成本的比作为对应集群的计算资源权重系数;
将同一个集群的存储硬件成本与总硬件成本的比作为对应集群的存储资源权重系数。
第二方面,本申请实施例提供了一种平台资源成本分摊装置,该装置包括:
源数据采集模块,用于通过数据采集获取平台租户使用每个集群中的服务器资源的多种源数据;
提取模块,用于对每个集群对应的每种源数据进行解析或数据抽取,得到每个集群对应的多种用户任务资源使用信息列表;
计算模块,用于通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量和存储资源使用量;
计算模块,还用于根据每个平台租户在每个集群中的计算资源使用量、存储资源使用量获取每个平台租户在每个集群中对应的分摊系数;
服务器数量获取模块,用于获取每个集群中服务器的数量;
计算模块,还用于根据每个平台租户在每个集群中对应的分摊系数和每个集群中服务器的数量获取每个平台租户分摊服务器数量;
计算模块,还用于根据所有平台租户分摊服务器数量获取每个平台租户的资源分摊比;
成本获取模块,用于获取企业总服务器成本;
计算模块,还用于根据企业总服务器成本和每个平台租户的资源分摊比获取每个平台租户的平台资源分摊成本。
第三方面,本申请实施例提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行如前面所述任一项的方法的步骤。
第四方面,本申请实施例提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时执行如前面所述任一项的方法的步骤。
本申请实施例提供的上述技术方案与现有技术相比具有如下优点:
通过本申请实现了在企业数据中台、大数据平台或私有云环境下,多业务多部门的企业内部各部门平台资源使用占比的成本核算与分摊,同时实现数据架构中的数据采集和数据提取、解析。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在公有云环境中企业采用的是按照服务器机器型号、机器数量、使用时长、网络带宽这四类关键资源的总成本进行计费。但是此种模式不适合在企业内部的资源共享的数据中台、大数据平台或私有云环境中采用。
原因如下:
企业内部的数据中台、大数据平台或私有云在建设过程通常是经过几个时期逐步建设而成,且每次采购的服务器厂商不同、服务器配置也存在差异,从而造成平台整体的服务器构成多种多样,通过现有技术难以核算平台资源的成本。
企业内部的平台中是多租户共享平台资源,逻辑上不同平台租户分配不同的资源大小,但是物理集群是多租户共用,无法区分平台租户与物理服务器的对应关系,因此通过现有技术难以分摊平台资源成本。
在公有云中租户成本主要由服务器型号、服务器数量、使用时长、网络带宽四个要素构成,或基于此四个核心内容结合计算复杂度等形式衍生出新的要素。但是,在企业内部的平台中,主要关注的是租户在存储、计算这两类核心资源的使用成本分摊。网络带宽在企业内部局域网中不存在带宽费用,可以忽略。因此现有技术中的公有云成本核算方法不适用于企业内部平台资源的核算。
图1为一个实施例中平台资源成本分摊方法的流程示意图。参考图1,该方法包括以下步骤:
S100:通过数据采集获取平台租户使用每个集群中的服务器资源的多种源数据。
具体地,平台租户指企业内部共享平台服务器资源的各个部门,即,在数据中台、大数据平台或私有云环境中为支持企业多部门、多团队、多个个人用户等使用平台服务的用户统称。源数据包括企业内部大数据平台、数据中台或私有云平台的各类任务信息、平台存储信息、平台用户信息、任务日志、平台日志、元数据信息等,这些信息记录了每个平台租户使用共有服务器资源的使用情况。
S200:对每个集群对应的每种源数据进行解析或数据抽取,得到每个集群对应的多种用户任务资源使用信息列表。
具体地,源数据有多种,且每种源数据内包含的信息较多,只有部分信息是本方案需要使用到的,因此需要从每种源数据里面提取需要的有用信息;从不同种类的源数据中获取用户任务资源使用信息的方式不同,有的源数据需要进行解析后才能获取到有用数据,有的源数据不需要解析可以直接进行数据抽取。
每个集群包含多种源数据,每种源数据提取出来的数据不一样,因此每种源数据所对应的用户任务资源使用信息列表内所包含的字段不同。每个集群对应多种用户任务资源使用信息列表。每个用户任务资源使用信息列表内的各个字段记录了平台租户使用对应集群的平台资源的使用情况。用户任务资源使用信息列表可以是一个二维表。
S300:通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量和存储资源使用量。
具体地,计算资源包括内存资源和CPU资源,存储资源包括硬盘等资源。每个用户任务资源使用信息列表内包含多条不同平台租户使用对应集群的平台资源的使用信息,每条都是一个使用明细,因此需要对这些使用明细进行汇总得到每个平台租户在每个集群中的计算资源使用量和存储资源使用量。例如:某个用户任务资源使用信息列表中记录了平台租户A使用集群1中的平台资源共计100条使用明细,就需要对这100条使用明细中的各种参数进行汇总得到该平台租户A使用集群1的平台资源的计算资源使用量和存储资源使用量。以此类推,通过用户任务资源使用信息列表可以得到每个平台租户在每个集群中的计算资源使用量和存储资源使用量。
S400:根据每个平台租户在每个集群中的计算资源使用量、存储资源使用量获取每个平台租户在每个集群中对应的分摊系数。
具体地,一个集群的平台资源被多个平台租户共享使用,获取到该集群中每个平台租户的资源使用量,可以获取到每个平台租户在该集群中的分摊系数。
S500:获取每个集群中服务器的数量。
S600:根据每个平台租户在每个集群中对应的分摊系数和每个集群中服务器的数量获取每个平台租户分摊服务器数量。
具体地,分摊系数乘以对应集群中服务器的总数量即为该平台租户在该集群中的分摊服务器数量。
S700:根据所有平台租户分摊服务器数量获取每个平台租户的资源分摊比。
具体地,每个平台租户在所有集群中的分摊服务器数量之和即为该平台租户在整个平台资源的总分摊服务器数量,总分摊服务器数量与总服务器数量的比例即为每个平台租户的资源分摊比。
S800:获取企业总服务器成本。
S900:根据企业总服务器成本和每个平台租户的资源分摊比获取每个平台租户的平台资源分摊成本。
具体地,资源分摊比与总服务器成本的积即为每个平台租户的平台资源分摊成本。
每个平台租户的平台资源分摊成本的计算公式如下:
Sharei:代表i平台租户在所有集群中的分摊服务器数量的总和
Costi:代表i平台租户的平台资源分摊成本
i:代表各平台租户
n:代表平台租户数量
Cost:代表企业总服务器成本。
在一个实施例中,步骤S100包括以下步骤:
通过离线数据采集获取平台租户使用每个集群中的服务器资源的后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据、镜像存储数据;
通过实时数据采集获取平台租户使用每个集群中的服务器资源的Yarn日志、审计日志。
具体地,后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据、镜像存储数据、Yarn日志、审计日志为不同类型的源数据,是以不同形式不同角度记录平台租户使用平台资源的使用信息,当然源数据也可以包括其他类型的数据,不局限于此。这几种源数据分别通过离线数据采集和实时数据采集获取。实时数据采集可以采用flume+kafka技术实现,离线数据采集可以采用Kettle技术实现。审计日志可以包括Hive审计日志、Hdfs审计日志。
在一个实施例中,步骤S200具体包括以下步骤:
分别对每个集群对应的后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据进行数据抽取,将抽取到的数据进行存储得到每种源数据对应的用户任务资源使用信息列表;
分别对每个集群对应的镜像存储数据、Yarn日志、审计日志进行解析,将解析到的数据进行存储得到每种源数据对应的用户任务资源使用信息列表。
具体地,后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据这些类型的数据不需要解析可以直接通过数据抽取获取到平台租户的使用信息。镜像存储数据、Yarn日志、审计日志需要先经过解析后才能获取到平台租户的使用信息。
在一个实施例中,步骤S300中的通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量,具体包括以下步骤:
从每个集群对应的多种用户任务资源使用信息列表中获取每个平台租户在每个集群中作业的job数量及每个job对应的map数量、单个map的内存申请量、map的平均执行时长、reduce数量、单个reduce的内存申请量、reduce的平均执行时长;
分别对每个job的map数量、对应的单个map的内存申请量、对应的map的平均执行时长进行求积得到每个job的第一计算资源使用量;
分别对每个job的reduce数量、对应的reduce的内存申请量、对应的reduce的平均执行时长进行求积得到每个job的第二计算资源使用量;
对每个平台租户在每个集群中作业的所有job对应的第一计算资源使用量与第二计算资源使用量求和得到每个平台租户在每个集群中的计算资源使用量。
具体地,计算公式如下:
每个job的第一计算资源使用量=平台租户作业下的map数量*单个map的内存申请量*map平均执行时长=MPii*MPSii*MPTii。
每个jog的第二计算资源使用量=平台租户作业下的reduce数量*单个reduce的内存申请量*reduce平均执行时长=RDii*RDSii*RDTii。
每个平台租户在每个集群中的计算资源使用量计算公式为:
其中,
MPSii为集群队列的单个map的内存申请量,RDSii为单个reduce的内存申请量。一般情况下,单个map的内存申请量为默认的2G,单个reduce的内存申请量为默认的4G。具体根据集群服务器的属性决定。
in:代表一个平台租户在一个集群中作业的job数量
ii:代表一个job
MPii:代表job ii的map数量
MPSii:代表job ii中单个map的内存申请量
MPTii:代表job ii中map平均运行时长
RDii:代表job ii的reduce数量
RDSii:代表job ii中单个reduce的内存申请量
RDTii:代表job ii中的reduce平均运行时长。
其中,map(映射)是对列表中每个元素做单独处理的,这表示列表中可以是杂乱无章的数据,reduce(规约)表示对一个列表中的每个元素做迭代计算。系统自动将一个作业(Job)待处理的大数据划分为很多个数据块,每个数据块对应于一个计算任务(Task),并自动调度计算节点来处理相应的数据块。作业和任务调度功能主要负责分配和调度计算节点(map节点或reduce节点),同时负责监控这些节点的执行状态,并负责map节点执行的同步控制。
在一个实施例中,步骤S400具体包括以下步骤:
获取每个集群的计算资源权重系数和存储资源权重系数;
根据每个平台租户在每个集群中的计算资源使用量得到每个平台租户在每个集群中的计算资源占比;
根据每个平台租户在每个集群中的存储资源使用量得到每个平台租户在每个集群中的存储资源占比;
对每个平台租户在相同集群中计算资源占比与计算资源权重系数的乘积、存储资源占比与存储资源权重系数的乘积进行求和得到每个平台租户在每个集群中对应的分摊系数。
具体地,一个平台租户在一个集群中的分摊系数的计算公式如下:
其中,
i:代表各平台租户
j:代表各集群
Mij:代表i平台租户在集群j中的计算资源使用量
Hij:代表i平台租户在集群j中的存储资源使用量
MAj:代表集群j的计算资源权重系数
HAj:代表集群j的存储资源权重系数
Rataij:代表i平台租户在集群j中的分摊系数。
在一个实施例中,步骤S600具体包括以下步骤:
对每个平台租户在每个集群中对应的分摊系数与对应集群中服务器的数量的乘积进行求和得到每个平台租户分摊服务器数量。
具体地,每个平台租户分摊服务器数量的计算公式如下:
其中,
Cj:代表集群j的服务器数量
j:代表各集群
Rataij:代表i平台租户在集群j中的分摊系数:
m:代表整个平台的集群数量
Sharei:代表i平台租户在所有集群中的分摊服务器数量的总和。
在一个实施例中,步骤S400中的获取每个集群的计算资源权重系数和存储资源权重系数,包括:
获取每个集群中服务器的计算硬件成本、存储硬件成本;
分别对每个集群对应的计算硬件成本、存储硬件成本进行求和得到每个集群的总硬件成本;
将同一个集群的计算硬件成本与总硬件成本的比作为对应集群的计算资源权重系数;
将同一个集群的存储硬件成本与总硬件成本的比作为对应集群的存储资源权重系数。
应该理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
本申请公开了一种企业内部数据中台、大数据平台或私有云的多集群下多租户平台资源成本分摊方法。其中,大数据或称巨量资料,指需要新处理模式才能具有更强的决策力、洞察力和流程优化能力的海量、高增长率和多样化的信息资产。大数据平台:采用Hadoop技术生态体系搭建的支持企业数据统计分析、数据挖掘的数据计算与分析环境系统。私有云(Private Clouds)是为一个客户单独使用而构建的,因而提供对数据、安全性和服务质量的最有效控制。该公司拥有基础设施,并可以控制在此基础设施上部署应用程序的方式。私有云可部署在企业数据中心的防火墙内,也可以将它们部署在一个安全的主机托管场所,私有云的核心属性是专有资源。
图2为一个实施例中平台资源成本分摊装置的结构框图。参考图2,该装置包括:
源数据采集模块100,用于通过数据采集获取平台租户使用每个集群中的服务器资源的多种源数据。
提取模块200,用于对每个集群对应的每种源数据进行解析或数据抽取,得到每个集群对应的多种用户任务资源使用信息列表。
计算模块300,用于通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量和存储资源使用量。
计算模块300,还用于根据每个平台租户在每个集群中的计算资源使用量、存储资源使用量获取每个平台租户在每个集群中对应的分摊系数。
服务器数量获取模块400,用于获取每个集群中服务器的数量。
计算模块300,还用于根据每个平台租户在每个集群中对应的分摊系数和每个集群中服务器的数量获取每个平台租户分摊服务器数量。
计算模块300,还用于根据所有平台租户分摊服务器数量获取每个平台租户的资源分摊比。
成本获取模块500,用于获取企业总服务器成本。
计算模块300,还用于根据企业总服务器成本和每个平台租户的资源分摊比获取每个平台租户的平台资源分摊成本。
在一个实施例中,源数据采集模块100具体用于:
第一子采集模块,用于通过离线数据采集获取平台租户使用每个集群中的服务器资源的后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据、镜像存储数据;
第二子采集模块,用于通过实时数据采集获取平台租户使用每个集群中的服务器资源的Yarn日志、审计日志。
在一个实施例中,提取模块200包括:
第一子提取模块,用于分别对每个集群对应的后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据进行数据抽取,将抽取到的数据进行存储得到每种源数据对应的用户任务资源使用信息列表;
第二子提取模块,用于分别对每个集群对应的镜像存储数据、Yarn日志、审计日志进行解析,将解析到的数据进行存储得到每种源数据对应的用户任务资源使用信息列表。
在一个实施例中,计算模块300具体包括:
统计模块,用于从每个集群对应的多种用户任务资源使用信息列表中获取每个平台租户在每个集群中作业的job数量及每个job对应的map数量、单个map的内存申请量、map的平均执行时长、reduce数量、单个reduce的内存申请量、reduce的平均执行时长;
第一子计算模块,用于分别对每个job的map数量、对应的单个map的内存申请量、对应的map的平均执行时长进行求积得到每个job的第一计算资源使用量;
第二子计算模块,用于分别对每个job的reduce数量、对应的reduce的内存申请量、对应的reduce的平均执行时长进行求积得到每个job的第二计算资源使用量;
第三子计算模块,用于对每个平台租户在每个集群中作业的所有job对应的第一计算资源使用量与第二计算资源使用量求和得到每个平台租户在每个集群中的计算资源使用量。
在一个实施例中,计算模块300还包括:
第四子计算模块,用于获取每个集群的计算资源权重系数和存储资源权重系数;
第五子计算模块,用于根据每个平台租户在每个集群中的计算资源使用量得到每个平台租户在每个集群中的计算资源占比;
第六子计算模块,用于根据每个平台租户在每个集群中的存储资源使用量得到每个平台租户在每个集群中的存储资源占比;
第七子计算模块,用于对每个平台租户在相同集群中计算资源占比与计算资源权重系数的乘积、存储资源占比与存储资源权重系数的乘积进行求和得到每个平台租户在每个集群中对应的分摊系数。
在一个实施例中,计算模块300还包括:
第八子计算模块,用于对每个平台租户在每个集群中对应的分摊系数与对应集群中服务器的数量的乘积进行求和得到每个平台租户分摊服务器数量。
图3为一个实施例中企业平台资源分摊数据架构图。参考图3,该架构图包括:数据来源、数据接入、数据开发、数据服务4个模块。
数据来源:企业大数据平台、数据中台或私有云平台的各类任务信息、平台存储信息、平台用户信息、任务日志、平台日志、元数据信息等,例如:后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据、镜像存储数据、Yarn日志、审计日志等等不局限于此。
数据接入:可采用flume+kafka实现从数据源实时数据采集或采用Kettle实现离线数据采集。各类数据的接入方式如下:后台管理数据、元数据库数据、调度任务数据、自助提数数据、数据查询数据、镜像存储数据采用离线抽取方式;Yarn日志、hive审计日志、hdfs审计日志采用实时日志采集解析,得到各个集群对应的多种用户任务资源使用信息列表。
数据开发:采用hive sql、spark sql、python、mapreduce等任意一种开发语言开发平台成本分摊的逻辑实现,实现通过对用户任务资源使用信息列表完成各个平台租户的平台资源分摊成本的计算。当然数据开发部分还可以采用java、C++等编程语言实现数据的计算加工。
数据服务:实现对平台存储分析、平台计算分析的数据分析计算,并根据平台资源分摊算法加工平台成本分摊数据模型,计算租户的平台成本占比。
图4为一个实施例中计算机设备的内部结构图。参考图4,该计算机设备通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现平台资源成本分摊方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行平台资源成本分摊方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图4中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的平台资源成本分摊装置可以实现为一种计算机程序的形式,计算机程序可在图4所示的计算机设备上运行。计算机设备的存储器中可存储组成该平台资源成本分摊装置的各个程序模块,比如,图2所示的源数据采集模块100、解析模块200、计算模块300、服务器数量获取模块400、成本获取模块500。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的平台资源成本分摊方法中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:通过数据采集获取平台租户使用每个集群中的服务器资源的多种源数据;对每个集群对应的每种源数据进行解析或数据抽取,得到每个集群对应的多种用户任务资源使用信息列表;通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量和存储资源使用量;根据每个平台租户在每个集群中的计算资源使用量、存储资源使用量获取每个平台租户在每个集群中对应的分摊系数;获取每个集群中服务器的数量;根据每个平台租户在每个集群中对应的分摊系数和每个集群中服务器的数量获取每个平台租户分摊服务器数量;根据所有平台租户分摊服务器数量获取每个平台租户的资源分摊比;获取企业总服务器成本;根据企业总服务器成本和每个平台租户的资源分摊比获取每个平台租户的平台资源分摊成本。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现以下步骤:通过数据采集获取平台租户使用每个集群中的服务器资源的多种源数据;对每个集群对应的每种源数据进行解析或数据抽取,得到每个集群对应的多种用户任务资源使用信息列表;通过每个集群对应的多种用户任务资源使用信息列表获取每个平台租户在每个集群中的计算资源使用量和存储资源使用量;根据每个平台租户在每个集群中的计算资源使用量、存储资源使用量获取每个平台租户在每个集群中对应的分摊系数;获取每个集群中服务器的数量;根据每个平台租户在每个集群中对应的分摊系数和每个集群中服务器的数量获取每个平台租户分摊服务器数量;根据所有平台租户分摊服务器数量获取每个平台租户的资源分摊比;获取企业总服务器成本;根据企业总服务器成本和每个平台租户的资源分摊比获取每个平台租户的平台资源分摊成本。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。