一种账单管理方法及装置与流程

文档序号:11774356阅读:1610来源:国知局
一种账单管理方法及装置与流程

本发明属于计费管理领域,尤其涉及一种账单管理方法及装置。



背景技术:

slurm是一个开源的作业调度应用软件,被广泛应用于高性能服务集群中实现作业的调度管理,slurm中已有作业日志功能进行统计分析,记录的日志包括:每一个作业的运行状态、开始结束时间、使用资源如cpu核数、内存、节点数等信息,这些信息被存在于文件或者数据库中。

随着目前云计算和大数据需求的不断增长,高性能计算集群作为一种计算资源也可以由供应商作为服务被租用或商用,因此就需要为用户提供相应的记账管理功能。

但是目前slurm中用户获取记账统计信息的方式主要是用户通过客户端向slurm管理节点发送命令获取作业日志记录,slurm管理节点按命令参数的格式返回作业记录信息。但是,用户获取日志记录后需自行统计并计算账单结果,一方面降低了效率,另一方面,也容易出错。

因此,迫切需要准确、高效的账单管理方法来解决上述技术问题。



技术实现要素:

本发明提供一种账单管理方法及装置,以解决上述问题。

本发明实施例提供一种账单管理方法。上述方法包括以下步骤:获取资源配置信息;根据获取的资源配置信息、作业资源使用信息,进行账单管理。

本发明实施例提供一种账单管理装置,包括获取模块、账单统计模块;其中,所述获取模块与所述账单统计模块相连;

所述获取模块,用于获取用户的资源配置信息;

所述账单统计模块,用于根据所述资源配置信息、作业资源使用信息,进行账单管理。

通过以下方案:获取资源配置信息;根据获取的资源配置信息、作业资源使用信息,进行账单管理,实现了准确、高效的账单管理。

通过以下方案:通过选择用户或用户组,输入资源单价信息后,在对应的xml文件中增加相应的<price>元素记录资源配置信息;实现了在支持slurm集群的记价统计功能的基础上,区分并实现了用户和用户组的配置及计价统计,这样可以满足客户在实际使用过程中需要实现按用户、按用户组或者组合使用的需求,大大增强了用户的体验。

通过以下方案:根据获取的查询请求,获取对应时间段内用户或用户组的作业记录并遍历每一条作业记录;根据作业资源使用信息、用户或用户组在资源配置信息中的对应的资源配置信息,进行账单统计;实现了分段账期的功能,用户可以更改配置信息,结果数据根据对应时间的单价计算并统计,这样可以满足用户修改配置后统计账单与配置信息一致性的要求,大大增强了用户体验。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1所示为本发明实施例1的账单管理方法处理流程图;

图2所示为本发明实施例2的账单管理方法处理流程图;

图3所示为本发明实施例3的账单管理装置结构图;

图4所示为本发明实施例4的账单管理装置结构图。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图1所示为本发明实施例1的账单管理方法处理流程图,包括以下步骤:

步骤101:获取资源配置信息;

进一步地,获取资源配置信息之前,还包括:

定义数据模型,采用xml文件来保存资源配置信息:创建account.xml文件记录用户的资源配置信息;创建accountgrp.xml文件记录用户组的资源配置信息。

其中,定义数据模型,方案采用xml文件来保存配置信息,创建account.xml记录用户的资源配置信息,创建accountgrp.xml记录用户组的资源配置信息。示例如下:

在xml文件中每一个<account>元素表示一个用户或用户组的资源配置,<price>元素表示用户使用资源的单价,<account>元素可以包含一个或多个<price>元素。如上示例中,userl用户在2016年5月24日后使用的cpu时长的单价为10元/小时,在2017年5月24日后使用的cpu时长的单价为5元/小时。

其中,配置信息除了使用xml文件,也可通过数据库进行保存。

进一步地,在所述xml文件中每一个<account>元素表示一个用户或用户组的资源配置,<price>元素表示用户使用资源的单价,<account>元素包含一个或多个<price>元素。

进一步地,通过选择用户或用户组,输入资源单价信息后,在对应的xml文件中增加相应的<price>元素记录资源配置信息。

其中,管理员在页面中选择要配置的用户或用户组,输入资源单价信息,点击提交,后台服务接收到页面请求后根据选择的用户或用户组在对应的xml文件中增加相应的<price>元素记录资源配置信息。

步骤102:根据获取的资源配置信息、作业资源使用信息,进行账单管理。

进一步地,根据获取的查询请求,获取对应时间段内用户或用户组的作业记录并遍历每一条作业记录;

根据作业资源使用信息、用户或用户组在资源配置信息中的对应的资源配置信息,进行账单统计。

优先地,若作业开始的时间同时存在用户和用户组的资源配置信息,则使用用户组的资源配置信息;或者,

若只存在用户的资源配置信息,则直接使用用户的资源配置信息;或者,

若只存在用户组的资源配置信息,则直接使用用户组的资源配置信息;或者,

若用户和用户组均不存在资源配置信息,则资源记账为0。

其中,根据请求参数调用slurm命令查找时间段内用户或用户组的作业记录,然后遍历每一条记录,根据作业时间和用户/用户组在配置文件中获取对应的资源单价并统计。

如果作业开始的时间同时存在用户和用户组的单价配置,则使用用户组的配置信息;如果只存在用户或只存在用户组的单价配置,则直接使用该信息;如果用户和用户组均不存在配置,则该作业的资源记账为0。

下面结合图2,举例进行详细说明:

本发明实施例具体可按照以下步骤实现:

a)定义底层扫描脚本

输入参数:开始时间starttime、结束时间endtime、查找类型flag(user或group)、查找列表(用户或用户组列表)

输出参数:json数组,每一个json元素表示一条作业记录。

脚本首先根据输入参数中的开始结束时间调用sacct命令,然后根据指定格式遍历命令返回的记录,对每一条记录,再次根据开始结束时间过滤作业记录(sacct命令返回的记录可以认为最大包含时间段的记录集,因此需要再过滤),最后根据输入的查询方式和查找内容获得要输出的数据并以json元素的格式输出。

b)定义资源单价获取模块

定义getcfgs函数获取资源单价,入参为配置类型(user/group),该模块根据配置类型获取对应的配置文件(accout.xml/accountgrp.xml)并解析已有配置,配置信息以json对象的格式作为输出。

该模块作为公共函数,在资源单价配置模块和作业计价模块被调用。

c)定义资源单价配置模块

定义setcfg函数处理资源单价配置请求,输入参数为配置类型(user/group),用户/用户组名称,cpu时长单价,作业机时单价。该模块首先调用b)中定义的函数获取已有配置,如果在已有配置中未找到该用户或用户组,则在xml文档中新建account元素和price元素记录配置信息,如果account元素已存在,则在该元素下新建price元素记录配置信息。

d)定义计价统计模块

对每一条a)返回的作业记录,首先根据记录的开始时间、用户及用户组信息获取作业对应的资源单价信息,如果只存在用户或用户组配置,则按该配置计价;如果同时存在则使用用户组的配置。获取单价配置后根据作业的资源使用情况计算作业账单。最后,根据查询类型和查询内容在返回结果的json对象中查找是否已存在该用户或用户组的统计结果,如果未存在,则创建并记录本条作业的资源及账单,如果存在则累加本条作业的资源及账单。作业记录遍历结束后返回json对象。

图3所示为本发明实施例3的账单管理装置结构图,包括获取模块、账单统计模块;其中,所述获取模块与所述账单统计模块相连;

所述获取模块,用于获取用户的资源配置信息;

所述账单统计模块,用于根据所述资源配置信息、作业资源使用信息,进行账单管理。

图4所示为本发明实施例4的账单管理装置结构图,在图3的基础上,还包括设置模块;其中,所述设置模块与所述获取模块相连;

所述设置模块,用于定义数据模型,采用xml文件来保存资源配置信息:还用于创建account.xml文件记录用户的资源配置信息;还用于创建accountgrp.xml文件记录用户组的资源配置信息。

进一步地,在所述xml文件中每一个<account>元素表示一个用户或用户组的资源配置,<price>元素表示用户使用资源的单价,<account>元素包含一个或多个<price>元素。

进一步地,所述获取模块,还用于根据获取的查询请求,获取对应时间段内用户或用户组的作业记录并遍历每一条作业记录;

所述账单统计模块,还用于根据作业资源使用信息、用户或用户组在资源配置信息中的对应的资源单价,进行账单统计。

本发明的记账统计方式也可用于使用非slurm的hpc集群,如pbs集群,通过解析调度器维护的作业历史数据即可获得作业的资源使用情况。

通过以下方案:获取资源配置信息;根据获取的资源配置信息、作业资源使用信息,进行账单管理,实现了准确、高效的账单管理。

通过以下方案:通过选择用户或用户组,输入资源单价信息后,在对应的xml文件中增加相应的<price>元素记录资源配置信息;实现了在支持slurm集群的记价统计功能的基础上,区分并实现了用户和用户组的配置及计价统计,这样可以满足客户在实际使用过程中需要实现按用户、按用户组或者组合使用的需求,大大增强了用户的体验。

通过以下方案:根据获取的查询请求,获取对应时间段内用户或用户组的作业记录并遍历每一条作业记录;根据作业资源使用信息、用户或用户组在资源配置信息中的对应的资源配置信息,进行账单统计;实现了分段账期的功能,用户可以更改配置信息,结果数据根据对应时间的单价计算并统计,这样可以满足用户修改配置后统计账单与配置信息一致性的要求,大大增强了用户体验。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1