CN109783312A - 一种资源用量的计量方法、装置及系统 - Google Patents
一种资源用量的计量方法、装置及系统 Download PDFInfo
- Publication number
- CN109783312A CN109783312A CN201811550822.1A CN201811550822A CN109783312A CN 109783312 A CN109783312 A CN 109783312A CN 201811550822 A CN201811550822 A CN 201811550822A CN 109783312 A CN109783312 A CN 109783312A
- Authority
- CN
- China
- Prior art keywords
- ticket
- metering
- data
- metering cycle
- event data
- 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.)
- Granted
Links
Landscapes
- Debugging And Monitoring (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请公开了一种资源用量计量方法、装置和系统。该方法包括:计量服务器获取第一计量周期的第一话单和第一事件数据,并根据第一话单和第一事件数据,生成第二计量周期的第二话单。其中,该第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值,该第一事件数据用于记录资源对象在第一计量周期后的变化,第一计量周期早于第二计量周期,第二话单用于记录资源对象在第二计量周期中各监控项的值。本申请公开的技术方案在生成新的话单的过程中,参考历史的话单信息,对于没有发生改变的监控项,可以复用历史数据,从而简化了话单的生成流程,减小了系统计算量。
Description
技术领域
本申请涉及云计算领域,尤其涉及一种资源用量的计量方法、装置和存储设备。
背景技术
云场景下,需要对租户使用的基础资源,如虚拟机、卷、裸机等资源进行计量。当前计量原始数据依赖Ceilometer测量仪来进行采集。Ceilometer是OpenStack的监控组件,能把OpenStack内部发生的几乎所有的事件都采集并记录起来,然后为计费和监控以及其它服务提供数据支撑。
Ceilometer的原始数据单条大小超过2KB,但实际有效数据量不到1KB。在生成话单的过程中,需要对所有原始数据进行数据提取,从而获取有效数据,并根据有效数据进行逻辑处理,然后生成话单。随着云用户与资源量的增加,该原始数据呈线性增长,继续使用Ceilometer做监控和计费,从部署及使用Ceilometer的情况来看,Ceilometer存在比较多的问题,如占用大量的内存、请求响应慢等,导致计量服务产生性能瓶颈。
发明内容
本申请公开了一种资源用量计量方法、装置和系统,可以根据历史话单和事件数据生成新的话单。
第一方面,本申请公开了一种资源用量计量的方法,该方法包括:计量服务器获取第一话单和第二计量周期的第一事件数据,并根据第一话单和第一事件数据,生成第二计量周期的第二话单。其中,该第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值,该第一事件数据用于记录资源对象在第一计量周期后的变化,第一计量周期早于第二计量周期,第二话单用于记录资源对象在第二计量周期中各监控项的值。
根据本申请公开的计量方法,在新话单生成过程中,计量服务器参考历史话单和该历史话单后的事件数据,对于相对于历史话单发生变化的监控项,可以使用事件数据对变化的监控项进行更行,对于相对于历史话单没有发生变化的监控项,可以复用历史话单中的数据,只需要对时间等必要项进行更新,从而避免了重新从源数据中提取有效数据和复杂逻辑计算的过程,简化了话单生成流程,减小了系统计算量。
根据第一方面,在第一方面第一种可能的实现方式中,该第一计量周期为第二计量周期的上一计量周期。
参考的历史话单为上一计量周期的话单可以减少第一事件数据的量,第一事件数据可以只记录本计量周期的事件信息,即第一事件数据记录了资源对象在第二计量周期的变化,从而减少了计量服务器的运算量。
根据第一方面或第一方面第一种可能的实现方式,在第一方面第二种可能的实现方式中,计量服务器根据该第一事件数据确定相对于第一话单发生变化的监控项在第二话单中的值,并根据第一话单确定相对于第一话单没有发生变化的监控项在第二话单中的值,结合相对于第一话单发生变化的监控项和相对于第一话单没有发生变化的监控项生成该第二话单。
在具体计算过程中,计量服务器可以根据第一事件数据,查找相对于第一话单发生变化的监控项,对于发生变化的监控项,可以根据第一事件数据确定其值,对于没有发生变化的监控项,可以复用第一话单的数据,只需要更改时间等必要项,从而生成第二话单。
根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第三种可能的实现方式中,该方法还包括:计量服务器获取全量数据和第二事件数据,并根据全量数据和第二事件数据生成校验话单,其中,全量数据为资源对象在历史采样时刻的监控项的状态值,第二事件数据用于记录资源对象在历史采样时刻后的变化,该校验话单为校验话单所在计量周期的下一周期的参考话单,用于生成该计量周期所在计量周期的下一计量周期的话单。
该历史采样时刻可以为上一计量周期结束时。全量数据可以根据该历史采样时刻的采样的原始数据通过数据提取,逻辑运算等操作得到。为了校验生成的话单的准确性,防止话单数据跑偏,计量服务器可以根据全量数据和第二事件信息来生成校验话单,校验话单作为其所在计量周期的后续计量周期的参考话单,校验话单还可以充当其所在计量周期的正式话单,并可以与根据本申请提供的方法生成的话单进行比较,从而验证话单的准确性。
根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第四种可能的实现方式中,该方法还包括:计量服务器获取全量数据和第二事件数据,并根据全量数据和第二事件数据生成校验话单,其中,全量数据为资源对象的监控项实时的状态值,第二事件数据用于记录资源对象在该全量数据所在计量周期的上一计量周期后的变化,校验话单为校验话单所在计量周期的下一计量周期的参考话单,用于生成下一计量周期的话单。
计量服务器还可以获取当前时刻实时的全量数据,并获取当前时刻前一计量周期的时间段内,即上一计量周期后的第二事件数据,根据该全量数据和第二事件数据生成校验话单。
根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第五种可能的实现方式中,计量服务器可以将采样后的原始数据分为N份数据,并对N份数据进行并行处理,从而生成该全量数据。其中,N为大于1的整数。
在计算过程中,为了可以实现并行计算,可以将原始数据分为N份,使用多线程对该N份数据进行处理,具体为并行的对该N份数据进行并行的数据提取,逻辑运算等操作,然后得到该全量数据。
根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第六种可能的实现方式中,计量服务器根据校验周期周期性生成校验话单,其中,校验周期大于计量周期。即校验话单的生成频率小于话单的生成频率。
根据第一方面或第一方面以上任一种可能的实现方式,在第一方面第七种可能的实现方式中,该第一话单为校验话单。
本申请可以通过调整校验周期和计量周期的大小来兼顾数据的准确性。其中,计量周期越小,话单生成的密度越大,则话单数据越准确,但同时计算开销也相应增大。校验周期越小,则话单被校验的次数越多,可以保证话单的准确性,但同时也会增加系统的计算开销。
第二方面,本申请提供了一种可读介质,包括执行指令,当计算设备的处理器执行该执行指令时,该计算设备执行以上第一方面或以上第一方面的任一种可能的实现方式中的方法。
第三方面,本申请提供了一种计算设备,包括:处理器、存储器和总线;存储器用于存储执行指令,处理器与存储器通过总线连接,当计算设备运行时,处理器执行存储器存储的执行指令,以使计算设备执行以上第一方面或以上第一方面的任一种可能的实现方式中的方法。
第四方面,本申请公开了一种资源用量计量的装置,该装置包括:获取单元,用于获取第一计量周期的第一话单和第一事件数据,其中,第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值,第一事件数据用于记录资源对象在第一计量周期后的变化;处理单元,用于根据第一话单和第一事件数据,生成第二计量周期的第二话单,其中,第一计量周期早于第二计量周期,第二话单用于记录资源对象在第二计量周期中各监控项的值。
根据第四方面,在第四方面第一种可能的实现方式中,第一计量周期为第二计量周期的上一计量周期。
根据第四方面或第四方面第一种可能的实现方式,在第四方面第二种可能的实现方式中,该处理单元用于:根据第一事件数据确定相对于第一话单发生变化的监控项在第二话单中的值,并根据第一话单确定相对于第一话单没有发生变化的监控项在第二话单中的值,结合发生变化的监控项和没有发生变化的监控项生成该第二话单。
根据第四方面或第四方面以上任一种可能的实现方式,在第四方面第三种可能的实现方式中,获取单元还用于获取全量数据和第二事件数据,全量数据为资源对象在历史采样时刻的监控项的状态值,第二事件数据用于记录资源对象在历史采样时刻后的变化,处理单元还用于根据全量数据和第二事件数据生成校验话单,校验话单用于生成该校验话单所在计量周期的下一计量周期的话单。
根据第四方面或第四方面以上任一种可能的实现方式,在第四方面第四种可能的实现方式中,获取单元还用于获取全量数据和第二事件数据,全量数据为资源对象的监控项实时的状态值,第二事件数据用于记录资源对象在该全量数据所在计量周期的上一计量周期后的变化,处理单元还用于根据全量数据和第二事件数据生成校验话单,校验话单用于生成该全量数据所在计量周期的下一计量周期的话单。
根据第四方面或第四方面以上任一种可能的实现方式,在第四方面第五种可能的实现方式中,该获取单元用于将采样后的原始数据分为N份数据,并对该N份数据进行并行处理,从而生成该全量数据。其中,N为大于1的整数。
根据第四方面或第四方面以上任一种可能的实现方式,在第四方面第六种可能的实现方式中,该处理单元用于根据校验周期周期性生成校验话单,其中,校验周期大于计量周期。
根据第四方面或第四方面以上任一种可能的实现方式,在第四方面第七种可能的实现方式中,该第一话单为校验话单。
第四方面为第一方面对应的装置实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第四方面或第四方面任一种可能的实现方式,在此不再赘述。
第五方面,本申请公开了一种资源用量计量的系统,该系统包括云服务装置和计量装置,其中,该云服务装置用于向租户提供云服务,即向租户提供资源对象,该计量装置用于获取第一计量周期的第一话单和第一事件数据,并根据第一话单和第一事件数据,生成第二计量周期的第二话单,其中,第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值,第一事件数据用于记录资源对象在第一计量周期后的变化,第一计量周期早于第二计量周期,第二话单用于记录资源对象在第二计量周期中各监控项的值。
根据第五方面,在第五方面第一种可能的实现方式中,第一计量周期为第二计量周期的上一计量周期。
根据第五方面或第五方面第一种可能的实现方式,在第五方面第二种可能的实现方式中,该计量装置用于:根据第一事件数据确定相对于第一话单发生变化的监控项在第二话单中的值,并根据第一话单确定相对于第一话单没有发生变化的监控项在第二话单中的值,结合发生变化的监控项和没有发生变化的监控项生成该第二话单。
根据第五方面或第五方面以上任一种可能的实现方式,在第五方面第三种可能的实现方式中,计量装置还用于获取全量数据和第二事件数据,并根据全量数据和第二事件数据生成校验话单,全量数据为资源对象在历史采样时刻的监控项的状态值,第二事件数据用于记录资源对象在历史采样时刻后的变化,校验话单用于生成该校验话单所在计量周期的下一计量周期的话单。
根据第五方面或第五方面以上任一种可能的实现方式,在第五方面第四种可能的实现方式中,计量装置还用于获取全量数据和第二事件数据,并根据全量数据和第二事件数据生成校验话单,全量数据为资源对象的监控项实时的状态值,第二事件数据用于记录资源对象在该全量数据所在计量周期的上一计量周期后的变化,校验话单用于生成该全量数据所在计量周期的下一计量周期的话单。
根据第五方面或第五方面以上任一种可能的实现方式,在第五方面第五种可能的实现方式中,该计量装置用于将采样后的原始数据分为N份数据,并对该N份数据进行并行处理,从而生成该全量数据。其中,N为大于1的整数。
根据第五方面或第五方面以上任一种可能的实现方式,在第五方面第六种可能的实现方式中,计量装置用于根据校验周期周期性生成校验话单,校验周期大于计量周期。
根据第五方面或第五方面以上任一种可能的实现方式,在第五方面第七种可能的实现方式中,该第一话单为校验话单。
第五方面为第一方面对应的系统实现方式,第一方面或第一方面任一种可能的实现方式中的描述对应适用于第五方面或第五方面任一种可能的实现方式,在此不再赘述。
根据本申请公开的技术方案,计量服务器在生成新的话单的过程中,参考历史的话单信息和事件数据,对于发生改变的监控项,可以使用事件数据中记载的值作为发生变化的监控项的值,对于没有发生改变的监控项,可以复用历史数据,从而简化了话单的生成流程,减小了系统计算量。
附图说明
图1为依据本申请一实施例的资源用量计量系统的逻辑结构示意图;
图2为依据本申请一实施例的资源用量计量装置的硬件结构示意图;
图3为依据本申请一实施例的资源用量计量方法的流程示意图;
图4为依据本申请一实施例的资源用量计量方法的流程示意图;
图5为依据本申请一实施例的资源用量计量方法的流程示意图;
图6为依据本申请一实施例的资源用量计量的逻辑结构示意图。
具体实施方式
下面将结合附图,对本发明实施例进行描述。
本发明实施例采用术语第一和第二等来区分各个对象,例如第一话单和第二话单等,但各个“第一”和“第二”之间不必然具有逻辑或时序上的依赖关系。
在本发明实施例中,被监控的资源对象是可以供云用户使用的资源,可以是一台虚拟机,一台物理机或者一块云硬盘等。
在本发明实施例中,监控项是指资源对象的使用情况的监控指标,也称为计量项,或者计量因子。诸如内存占用,网络IO和磁盘IO及其使用时间等信息。监控项的属性可以包括:名称)、单位、类型(累计值,变化值、离散或者波动值)以及对应的资源属性等。
在本发明实施例中,不同的资源对象的监控项可能不同。例如,虚拟机可以统计CPU使用时间,CPU使用率,使用虚拟CPU数量,磁盘总大小,内存总大小,内存使用大小,磁盘读字节数,磁盘读速率,磁盘写字节数,磁盘写速率,网络入字节数,网络入速率,网络出字节数和网络出速率等监控线。物理机可以统计CPU利用率,磁盘总大小,磁盘使用大小,内存总大小,内存使用大小,磁盘读字节数,磁盘读速率,磁盘写字节数,磁盘写速率,网络入字节数,网络入速率,网络出字节数,网络出速率和物理网卡带宽等监控项。本发明实施例不限定资源对象的种类,也不限定资源对象的监控项。
在本发明实施例中,采样是指某个时刻对资源对象的监控项进行采集的操作,用于记录资源对象在该采样时刻的监控项的值。采样有区间概念,即收集数据的时间间隔。采样除了监控项属性外,还有采样时间和采样值。
在本发明实施例中,全量数据是指根据采样后的原始数据生成的采样时刻的资源对象的各监控项的状态值。可以根据采样的原始数据,经过数据提取,逻辑运算等操作获取到全量数据,全量数据反应出在采样时刻资源对象的各监控项的状态信息。
在本发明实施例中,系统周期性生成资源对象的话单。每一个周期称为计量周期。例如,计量周期可以为一个小时,即系统每一个小时生成一份话单,用于记录该计量周期内租户对资源对象的使用情况,例如各计算机资源的使用量和使用时长等信息,可用于对租户进行计费。
在本发明实施例中,话单可以用于记录用户对资源的使用数据,其数据信息主要包括:使用资源对象,使用者,使用时间和用量等信息。话单还可以为资源使用数据按照商务规则转化的可计费项目,可以被直接用来计算费用。本发明实施例不限定话单的具体实现形式。
图1为依据本发明一实施例的资源用量计量系统100的架构图,如图1所示,系统100包括数据源101,数据采集器102,数据处理器103和话单存储器。其中,数据源101用于记录云服务的资源对象的信息,该信息可以资源对象变更的事件数据和/或资源对象的状态数据等,资源对象的状态数据可以为反应采样时间点资源对象的各监控项数值的原始数据。数据采集器102用于从数据源101采集云服务资源对象的信息和话单存储器104中的历史计量周期的话单。数据处理器103用于对数据采集器102采集的资源对象的信息和历史计量周期的话单进行处理,从而生成新计量周期的话单,并将新生成的话单存入话单存储器104。话单存储器104用于存储租户对云服务使用的话单,可以用于对用户进行计费。
在本发明实施例中,话单存储器104的存储介质一般为非易失存储介质,用于永久存储数据。存储介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如光盘)、或者半导体介质(例如闪存(Flash)等,本发明实施例不限定存储介质的具体实现形式。在一些实施例中,存储介质还可能进一步包括与数据采集器102和/或数据处理器103分离的远程存储器,例如通过网络与采集器102和/或数据处理器103互联的存储介质。
在本发明实施例中,系统100还包含用于向租户提供云服务,即资源对象的云服务装置。
图2为依据本申请一实施例的资源用量计量装置200的结构示意图。
如图2所示,装置200包括处理器201,处理器201与系统内存202连接。处理器201可以为中央处理器(CPU),图像处理器(graphics processing unit,GPU),现场可编程门阵列(Field Programmable Gate Array,FPGA),专用集成电路(Application SpecificIntegrated Circuit,ASIC)或数字信号处理器(digital signal processor,DSP)等计算逻辑或以上任意计算逻辑的组合。处理器201可以为单核处理器或多核处理器。
在本申请的一个实施例中,处理器201还可以包括计量逻辑209,计量逻辑209可以为具体的硬件电路或集成在处理器201中的固件模块。如果计量逻辑209为具体的硬件电路,则计量逻辑209执行本申请实施例的方法,如果计量逻辑209为固件模块,则处理器201执行计量逻辑209中的固件代码来实现本申请实施例的技术方案。计量逻辑209包括:(1)用于获取第一计量周期的第一话单的逻辑(电路/固件代码),第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值;(2)用于获取第一事件数据的逻辑(电路/固件代码),第一事件数据用于记录资源对象在第一计量周期后的变化;(3)用于根据第一话单和第一事件数据,生成第二计量周期的第二话单的逻辑(电路/固件代码),其中,第一计量周期早于第二计量周期,第二话单用于记录资源对象在第二计量周期中各监控项的值。
总线204用于在装置200的各部件之间传递信息,总线204可以使用有线的连接方式或采用无线的连接方式,本申请并不对此进行限定。总线204还连接有输入/输出接口205和通信接口203。
输入/输出接口205连接有输入/输出设备,用于接收输入的信息,输出操作结果。输入/输出设备可以为鼠标、键盘、显示器、或者光驱等。
通信接口203用来实现与其他设备或网络之间的通信,通信接口203可以通过有线或者无线的形式与其他设备或网络互联。例如,装置200可以通过通信接口203与交换网络互联,并通过交换网络连接控制器。
本申请实施例的一些特征可以由处理器201执行系统内存202中的软件代码来完成/支持。系统内存202可以包括一些软件,例如,操作系统208(例如Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS或嵌入式操作系统(例如Vxworks)),应用程序207,和计量模块206等。
在本申请的一个实施例中,处理器201执行计量模块206来实现本申请实施例的技术方案。计量模块206包括:(1)用于获取第一计量周期的第一话单的代码,第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值;(2)用于获取第一事件数据的代码,第一事件数据用于记录资源对象在第一计量周期后的变化;(3)用于根据第一话单和第一事件数据,生成第二计量周期的第二话单的代码,其中,第一计量周期早于第二计量周期,第二话单用于记录资源对象在第二计量周期中各监控项的值。
此外,图2仅仅是一个装置200的例子,装置200可能包含相比于图2展示的更多或者更少的组件,或者有不同的组件配置方式。同时,图2中展示的各种组件可以用硬件、软件或者硬件与软件的结合方式实施。
为了减少在生成话单过程中的运算量,本发明实施例提供了一种资源用量计量的方法。如图3所示,方法300包括:
步骤301:获取第一计量周期的第一话单。
在本发明实施例中,具体执行方法300的执行主体可以是计量服务器,更具体的,可以为计量服务器的处理器。该计量服务器用于生成租户对云服务资源对象使用情况的话单。在以下实施例中,以执行主体为计量服务器进行举例说明,但应理解,本发明实施例并不限定方法300的执行主体。
在本发明实施例中,计量服务器可以为云服务节点的管理服务器,或者为独立于管理服务器之外的计算设备。计量服务器还可以为多台计算设备配合实现的功能实体,本发明实施例不限定计量服务器的具体实现方式。
第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值。计量服务器可以从存储话单的存储器中获取该第一话单。
步骤302:获取第一事件数据。
其中,第一事件数据为被监控的资源对象在第一计量周期后的变化。事件数据用于记录资源对象的变化,更具体的事件数据用于记录资源对象变化引起的监控项的变化。资源对象的变化可以为资源对象的增加、删除或者扩容等操作。
在本发明实施例中,可以采用多种方式来获取第一事件数据,例如,可以通过轮询的方式来获取,轮询又可以分为下面两种形式:
1、计算节点代理运行在每个计算节点上,以轮询的方式通过调用镜像(Image)的驱动(driver)来获取资源对象的事件数据。
2、中央代理运行在管理服务器上,以轮询的方式通过调用OpenStack各个组件的应用平台接口(application platforminterface,API)收集资源对象的时间数据。
在本发明实施例中,还可以采用通知的形式来收集事件数据,收集器是运行在管理服务器上的数据收集程序,它会监控OpenStack各组件的消息队列。队列中的通知(notification)消息会被它处理并转化为事件数据,并保存到存储系统中。
其中,管理服务器可以为计量服务器,或者独立于计量服务器的其他服务器,计量服务器可以从该管理服务器获取资源对象的事件信息
本发明实施例不限定计量服务器获取第一事件数据的方式。
在本发明实施例中,不限定步骤301和步骤302的执行顺序。计量服务器也可以先获取第一事件数据然后再获取第一话单。
步骤303:根据第一话单和第一事件数据,生成第二计量周期的第二话单。
在本发明实施例中,第一计量周期早于第二计量周期。第一计量周期可以为第二计量周期的上一个计量周期,即第一事件数据可以为资源对象在第二计量周期一个计量周期的事件变更数据。
其中,第二话单用于记录被监控的资源对象在第二计量周期中各监控项的值,用于反应租户对运资源的使用量和使用时长。第二话单可以用于对租户进行计费。
在本发明实施例中,计量服务器根据第一事件数据确定相对于第一话单发生变化的监控项在第二话单中的值,并根据第一话单确定相对于第一话单没有发生变化的监控项在第二话单中的值,结合发生变化的监控项和没有发生变化的监控项生成该第二话单。
更具体的,在本发明实施例中,计量服务器可以根据第一事件数据查询第一话单,对于被监控资源对象因为变化引起的监控项变化,计量服务器使用第一事件数据确定对应变化的监控项的值。对于相对第一话单没有发生变化的监控项,计量服务器复用第一话单中记录的信息,并对时间等必要项进行变更,从而生成第二话单。
在本发明实施例中,为了验证本发明方案的正确性,并及时对有偏差的数据进行纠正,本发明实施例还可以包含校验流程。校验流程可以用于验证话单的准确性,并用于更新话单的参考样本。
在本发明实施例中,计量服务器根据校验周期周期性的获取全量数据和第二事件数据,该全量数据可以为被监控的资源对象在历史采样时刻的监控项的状态值,该第二事件数据可以用于记录被监控的资源对象在该历史采样时刻后的变化。该历史采样时刻可以具体为上一计量周期结束时刻,即全量数据则为上一计量周期结束时(即本计量周期开始时)资源对象的监控项的状态值。第二事件数据用于记录资源对象从该历史采样时刻后的变化。以全量数据为基础,第二事件数据反应在全量数据的基础上变化,计量服务器可以根据第二事件数据确定该历史采样时刻后资源对象的某个监控项的使用时长和/或使用量随时间的变化等信息。计量服务器根据获取的全量数据和第二事件数据生成校验话单,该校验话单用于生成该校验话单所在计量周期的下一计量周期的话单。其具体流程可以为计量服务器根据历史采样时刻采样的原始数据,通过数据提取,逻辑运算等操作获取到该全量数据,然后根据第二事件数据确定各监控项的变化信息,从而得到该校验话单。
在本发明实施例中全量数据还可以为资源对象的监控项的实时的状态值,即全量数据可以为当前时刻资源对象的各监控项的实时数据,而第二事件数据可以是该全量数据所在计量周期的上一计量周期后资源对象的变更事件数据。计量服务器可以根据当前时刻实时的采样原始数据,通过数据提取和逻辑运算确定该全量数据,即当前时刻资源对象的监控项的实时状态值,并根据第二事件数据确定上一计量周期后资源对象的某个监控项的使用时长和/或使用量随时间的变化等信息。基于以上流程,计量服务器根据全量数据和第二事件数据确定校验话单。
在本发明实施例中,校验话单可以用于生成该校验话单所在计量周期的下一计量周期的话单。根据校验话单生成该校验话单所在计量周期的下一计量周期的具体流程可以参照根据第一话单生成第二话单的流程,在此不再赘述。
在本发明实施例中,为了加快全量数据的生成速度,计量服务器可以将采样时刻采集的原始数据分为N份数据,并对该N份数据进行并行处理,从而生成全量数据,其中,N为大于1的整数。更具体的,计量服务器可以并行的对该N份数据进行数据提取,逻辑运算等操作,从而得到全量数据。
其中,计量服务器可以通过Ceilometer提供的Ceilometer的API来访问保存在数据库中的原始数据。
在本发明实施例中,该第一话单可以为校验话单,或者为按照图3所示的方法,基于上一计量周期的话单生成的生成的话单。校验话单的生成过程可以在第一计量周期之前,也可以是在第一计量周期之后,在此不做限定。
在本发明实施例中,因为校验话单是根据实际的全量数据和事件数据生成的话单,所以校验话单比较准确,可以实现对话单生成流程的校验。计量服务器根据校验周期周期性的生成该校验话单,其中,校验周期大于计量周期,更具体的,校验周期可以为计量周期时长的倍数,每一个校验话单为一个校验周期的起点,该校验周期内所有的计量周期的话单都是在该校验话单的基础上生成的。本发明实施例中,除校验话单外的话单是不是根据实际的全量数据生成的,而是在上一计量周期的话单的基础上,通过事件数据计算增量而生成的,随着计量周期的迭代演进,可能会造成话单数据不准确,所以可以根据校验周期定期的对参考样本进行校验更正,生成的校验话单作为下一计量周期的参考样本,从而保证话单的准确性。
在本发明实施例中,还可以通过比较在某一计量周期根据图3实施例方法生成的话单和在该计量周期生成的校验话单来验证图3实施例方法的误差。
在本发明实施例中,根据采样的原始数据或和事件数据生成校验话单的计算量较大,需要经过数据提取以及复杂的逻辑运算。而根据上一计量周期的话单和事件数据生成本计量周期的话单的运算量较小,大部分数据可以复用。
在本发明实施例中,校验周期大于计量周期,即校验话单的生成频率小于话单的生成频率。例如,计量周期可以设置为1小时,即每一小时生成一个话单。而校验周期可以设置为24小时,即每24小时根据全量数据和事件数据生成一次校验话单,生成的校验话单作为下一计量周期的参考样本。
根据本申请公开的计量方法,在新话单生成过程中,计量服务器参考历史话单和事件数据,对于相对于历史话单发生变化的监控项,可以使用事件数据对变化的监控项进行更新,对于相对于历史话单没有发生变化的监控项,可以复用历史话单中的数据,只需要对时间等必要项进行更新,从而避免了重新从源数据中提取有效数据和复杂逻辑计算的过程,简化了话单生成流程,减小了系统计算量。
图4为依据本发明一实施例的资源用量计量方法400的流程图。在本发明实施例中,周期控制器是用来生成周期性计量任务的控制模块,调度器用于将计量任务分解成不同的子步骤,并按照一定逻辑次序进行调度控制的模块,数据采集器用于计量任务采集子步骤,根据计量类型采集相应源数据(全量数据、事件数据、历史话单)的模块,数据处理器是计量任务数据处理子步骤,根据不同的计量策略进行源数据分析的模块。
如图4所示,方法400包括:
步骤401:周期控制器向调度器添加任务。
其中,该任务用于指示生成话单。
步骤402:调度器向数据采集器调度任务。
步骤403:数据采集器获取上一计量周期的话单数据。
其中,上一计量周期的话单数据存储于话单存储器,用于记录上一计量周期内租户对资源对象的使用情况。
步骤404:数据采集器获取事件数据。
该事件数据为本计量周期的事件数据,即上一计量周期后被监控的资源对象的变化的数据。
本发明实施例不限定步骤403和步骤404的执行顺序。
步骤405:数据采集器向数据处理器传递数据。
其中,传递的数据包含上一计量周期的话单数据和本计量周期的事件数据。
步骤406:数据处理器根据上一计量周期的话单数据和本计量周期的事件数据,生成本计量周期的话单。
事件数据记录了资源对象的变化,并记录了资源对象变更后的各监控项的值。数据处理器可以根据事件数据确定相对于上一计量周期发生变化的监控项,并根据事件数据对发生变化的监控项的数值进行更新。对于相对于上一计量周期没有发生变化的监控项,数据处理器可以复用上一计量周期的数据,并对必要的时间信息等进行更新,从而生成本计量周期的话单。
在本发明实施例中,为了校验话单的正确性,系统按照校验周期周期性的生成校验话单,校验话单为后续计量周期的参考话单。校验话单的生成流程如图5所示:
步骤501:周期控制器向调度器添加任务。
其中,该任务用于指示生成话单。
步骤502:调度器向数据采集器调度任务。
步骤503:数据采集器获取全量数据。
步骤505:数据采集器获取事件数据。
其中,全量数据可以为上一计量周期结束时采集的资源对象的监控项的状态值,该事件数据为上一计量周期结束后资源对象的变化的数据。
在本发明实施例中,全量数据还可以为当前时刻资源对象的各监控项的实时的状态值,而事件数据为上一计量周期结束后资源对象的变化的数据。
在本发明实施例中,全量数据为参考基准,事件数据反应出本计量周期内资源对象的变更信息,无论全量数据为本计量周期初(即上一计量周期结束时)的资源对象的监控项的状态值或本计量周期末(即当前时刻)的资源对象的监控项的实时状态值,都可以根据事件数据确定本计量周期内资源对象各监控项的值。
步骤505:数据采集器向数据处理器传递数据。
其中,传递的数据包含该全量数据和事件数据。
步骤506:数据处理器根据全量数据和该事件数据,生成校验话单。
该校验话单作为下一计量周期的参考话单。通过定期的对话单进行校正,从而避免了话单数据偏离实际情况,保证了话单数据的准确性。
图6为依据本发明一实施例的一种资源用量计量装置600的逻辑结构示意图。如图6所示,资源用量计量装置600包括获取单元602和处理单元604,其中,
获取单元602,用于获取第一计量周期的第一话单和第一事件数据,第一话单用于记录被监控的资源对象在第一计量周期中各监控项的值,第一事件数据用于记录资源对象在第一计量周期后的变化。
处理单元604,用于根据第一话单和第一事件数据,生成第二计量周期的第二话单,第一计量周期早于第二计量周期,第二话单用于记录资源对象在第二计量周期中各监控项的值。
可选的,第一计量周期为第二计量周期的上一计量周期。
可选的,处理单元604用于:根据第一事件数据确定相对于第一话单发生变化的监控项在第二话单中的值,并根据第一话单确定相对于第一话单没有发生变化的监控项在第二话单中的值,结合发生变化的监控项和没有发生变化的监控项生成该第二话单。
可选的,获取单元602还用于获取全量数据和第二事件数据,全量数据为资源对象在历史采样时刻的监控项的状态值,第二事件数据用于记录资源对象在历史采样时刻后的变化,处理单元604还用于根据全量数据和第二事件数据生成校验话单,校验话单用于生成校验话单所在计量周期的下一计量周期的话单。
可选的,获取单元602还用于获取全量数据和第二事件数据,全量数据为资源对象的监控项实时的状态值,第二事件数据用于记录资源对象在该全量数据所在计量周期的上一计量周期后的变化,处理单元604还用于根据全量数据和第二事件数据生成校验话单,校验话单用于生成该全量数据所在计量周期的下一计量周期的话单。
可选的,该第一话单为校验话单。
可选的,处理单元604用于将采样后的原始数据分为N份数据,并对所述N份数据进行并行处理,生成所述全量数据。其中,所述N为大于1的整数。
可选的,处理单元604用于根据校验周期周期性生成校验话单,校验周期大于计量周期。
本申请实施例为以上实施例对应的资源用量计量方法对应的装置实施例,以上实施例部分的特征描述适用于本申请实施例,在此不再赘述。
在本申请实施例中,获取单元602和处理单元604可以由图2中的处理器201中的计量逻辑209来实现,或者由图2中的处理器201和系统内存202中的计量模块206来实现。
以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者替换其中部分技术特征;而这些修改或者替换,并不使相应技术方案脱离权利要求的保护范围。
Claims (23)
1.一种资源用量计量的方法,其特征在于,所述方法包括:
获取第一计量周期的第一话单,所述第一话单用于记录被监控的资源对象在所述第一计量周期中各监控项的值;
获取第一事件数据,所述第一事件数据用于记录所述资源对象在所述第一计量周期后的变化;
根据所述第一话单和所述第一事件数据,生成所述第二计量周期的第二话单,所述第一计量周期早于所述第二计量周期,所述第二话单用于记录所述资源对象在所述第二计量周期中各监控项的值。
2.根据权利要求1所述的方法,其特征在于,所述第一计量周期为所述第二计量周期的上一计量周期。
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述第一话单和所述第一事件数据,生成所述第二话单包括:
根据所述第一事件数据确定相对于所述第一话单发生变化的监控项在所述第二话单中的值;
根据所述第一话单确定相对于所述第一话单没有发生变化的监控项在所述第二话单的值;
结合所述发生变化的监控项和所述没有发生变化的监控项生成所述第二话单。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取全量数据,所述全量数据为所述资源对象在历史采样时刻的监控项的状态值;
获取第二事件数据,所述第二事件数据用于记录所述资源对象在所述历史采样时刻后的变化;
根据所述全量数据和所述第二事件数据生成校验话单,所述校验话单用于生成所述校验话单所在计量周期的下一计量周期的话单。
5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
获取全量数据,所述全量数据为所述资源对象的监控项实时的状态值;
获取第二事件数据,所述第二事件数据用于记录所述资源对象在所述全量数据所在计量周期的上一计量周期后的变化;
根据所述全量数据和所述第二事件数据生成校验话单,所述校验话单用于生成所述全量数据所在计量周期的下一计量周期的话单。
6.根据权利要求4或5所述的方法,其特征在于,所述第一话单为所述校验话单。
7.根据权利要求4-6任一项所述的方法,其特征在于,所述方法还包括:
根据校验周期周期性生成所述校验话单,所述校验周期大于计量周期。
8.一种资源用量计量的装置,其特征在于,所述装置包括:
获取单元,用于获取第一计量周期的第一话单和第一事件数据,所述第一话单用于记录被监控的资源对象在所述第一计量周期中各监控项的值,所述第一事件数据用于记录所述资源对象在所述第一计量周期后的变化;
处理单元,用于根据所述第一话单和所述第一事件数据,生成所述第二计量周期的第二话单,所述第一计量周期早于所述第二计量周期,所述第二话单用于记录所述资源对象在所述第二计量周期中各监控项的值。
9.根据权利要求8所述的装置,其特征在于,所述第一计量周期为所述第二计量周期的上一计量周期。
10.根据权利要求8或9所述的装置,其特征在于,所述处理单元用于:
根据所述第一事件数据确定相对于所述第一话单发生变化的监控项在所述第二话单中的值;
根据所述第一话单确定相对于所述第一话单没有发生变化的监控项在所述第二话单中的值;
结合所述发生变化的监控项和所述没有发生变化的监控项生成所述第二话单。
11.根据权利要求8-10任一项所述的装置,其特征在于,所述获取单元还用于获取全量数据和第二事件数据,所述全量数据为所述资源对象在历史采样时刻的监控项的状态值,所述第二事件数据用于记录所述资源对象在所述历史采样时刻后的变化;
所述处理单元还用于根据所述全量数据和所述第二事件数据生成校验话单,所述校验话单用于生成所述校验话单所在计量周期的下一计量周期的话单。
12.根据权利要求8-10任一项所述的装置,其特征在于,所述获取单元还用于获取全量数据和第二事件数据,所述全量数据为所述资源对象的监控项实时的状态值,所述第二事件数据用于记录所述资源对象在所述全量数据所在计量周期的上一计量周期后的变化;
所述处理单元还用于根据所述全量数据和所述第二事件数据生成校验话单,所述校验话单用于生成所述全量数据所在计量周期的下一计量周期的话单。
13.根据权利要求11或12所述的装置,其特征在于,所述第一话单为所述校验话单。
14.根据权利要求11-13任一项所述的装置,其特征在于,所述处理单元用于根据校验周期周期性生成所述校验话单,所述校验周期大于计量周期。
15.一种资源用量计量的系统,其特征在于,所述系统包括云服务装置和计量装置;
所述云服务装置用于向租户提供资源对象;
所述计量装置用于获取第一计量周期的第一话单和第一事件数据,并根据所述第一话单和所述第一事件数据,生成所述第二计量周期的第二话单,其中,所述第一话单用于记录被监控的所述资源对象在所述第一计量周期中各监控项的值,所述第一事件数据用于记录所述资源对象在所述第一计量周期后的变化,所述第一计量周期早于所述第二计量周期,所述第二话单用于记录所述资源对象在所述第二计量周期中各监控项的值。
16.根据权利要求15所述的系统,其特征在于,所述第一计量周期为所述第二计量周期的上一计量周期。
17.根据权利要求15或16所述的系统,其特征在于,所述计量装置用于:
根据所述第一事件数据确定相对于所述第一话单发生变化的监控项在所述第二话单中的值;
根据所述第一话单确定相对于所述第一话单没有发生变化的监控项在所述第二话单中的值;
结合所述发生变化的监控项和所述没有发生变化的监控项成所述第二话单。
18.根据权利要求15-17任一项所述的系统,其特征在于,所述计量装置还用于获取全量数据和第二事件数据,并根据所述全量数据和所述第二事件数据生成校验话单,所述全量数据为所述资源对象在历史采样时刻的监控项的状态值,所述第二事件数据用于记录所述资源对象在所述历史采样时刻后的变化,所述校验话单用于生成所述校验话单所在计量周期的下一计量周期的话单。
19.根据权利要求15-17任一项所述的系统,其特征在于,所述计量装置还用于获取全量数据和第二事件数据,并根据所述全量数据和所述第二事件数据生成校验话单,所述全量数据为所述资源对象的监控项实时的状态值,所述第二事件数据用于记录所述资源对象在所述全量数据所在计量周期的上一计量周期后的变化,所述校验话单用于生成所述全量数据所在计量周期的下一计量周期的话单。
20.根据权利要求18或19所述的系统,其特征在于,所述第一话单为所述校验话单。
21.根据权利要求18-20所述的系统,其特征在于,所述计量装置用于根据校验周期周期性生成所述校验话单,所述校验周期大于计量周期。
22.一种可读介质,其特征在于,包括执行指令,当计算设备的处理器执行所述执行指令时,所述计算设备执行权利要求1-7任一项所述的方法。
23.一种计算设备,其特征在于,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述计算设备运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述计算设备执行权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811550822.1A CN109783312B (zh) | 2018-12-18 | 2018-12-18 | 一种资源用量的计量方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811550822.1A CN109783312B (zh) | 2018-12-18 | 2018-12-18 | 一种资源用量的计量方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109783312A true CN109783312A (zh) | 2019-05-21 |
CN109783312B CN109783312B (zh) | 2022-04-22 |
Family
ID=66497238
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811550822.1A Active CN109783312B (zh) | 2018-12-18 | 2018-12-18 | 一种资源用量的计量方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109783312B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387023A (zh) * | 2010-08-27 | 2012-03-21 | 中兴通讯股份有限公司 | 一种用于云计算的计费方法及系统 |
CN103166989A (zh) * | 2011-12-13 | 2013-06-19 | 中国电信股份有限公司 | 面向云计算的资源使用计量方法和系统 |
CN107360006A (zh) * | 2017-06-12 | 2017-11-17 | 北京三快在线科技有限公司 | 一种资源计费方法和装置 |
CN108833123A (zh) * | 2018-04-11 | 2018-11-16 | 无锡华云数据技术服务有限公司 | 基于按量的云主机计费方法及装置 |
-
2018
- 2018-12-18 CN CN201811550822.1A patent/CN109783312B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102387023A (zh) * | 2010-08-27 | 2012-03-21 | 中兴通讯股份有限公司 | 一种用于云计算的计费方法及系统 |
CN103166989A (zh) * | 2011-12-13 | 2013-06-19 | 中国电信股份有限公司 | 面向云计算的资源使用计量方法和系统 |
CN107360006A (zh) * | 2017-06-12 | 2017-11-17 | 北京三快在线科技有限公司 | 一种资源计费方法和装置 |
CN108833123A (zh) * | 2018-04-11 | 2018-11-16 | 无锡华云数据技术服务有限公司 | 基于按量的云主机计费方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109783312B (zh) | 2022-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239181B (zh) | 累计用于电子系统的硬件计数的方法和电子系统 | |
CN1834904B (zh) | 确定处理器在执行一个代码部分中消耗的实际时间量 | |
CN104699601B (zh) | 用于执行状态机驱动的注入的方法和系统 | |
WO2018072455A1 (zh) | 电能表及其校验方法、存储介质 | |
Howe et al. | Sudbury neutrino observatory neutral current detector acquisition software overview | |
CN108171540A (zh) | 用于资源计量计费的方法和装置 | |
CN109218048A (zh) | 对部署在云上的一个工业系统的性能测试方法和装置 | |
CN109461067A (zh) | 一种外汇报价异常数据的检测方法、装置及系统 | |
CN109976975A (zh) | 一种磁盘容量预测方法、装置、电子设备及存储介质 | |
CN110060139A (zh) | 账务处理方法及装置 | |
US20160232366A1 (en) | Systems and methods for verification and deployment of applications to programmable devices | |
CN109117295A (zh) | 一种交易超时监控方法及装置 | |
CN109783312A (zh) | 一种资源用量的计量方法、装置及系统 | |
TW201841114A (zh) | 時間配量儀器設備 | |
US11475191B2 (en) | Generating and adding additional control information to logic under test to facilitate debugging and comprehension of a simulation | |
CN113986658B (zh) | 基于计算管理平台的计费方法、装置、设备和介质 | |
CN114285848B (zh) | 区块链资源的可计量方法、系统、电子设备和可读介质 | |
Paris | A framework for non-intrusive load monitoring and diagnostics | |
CN112799951B (zh) | 用于计费系统的生成自动测试用例的方法与设备 | |
CN109697767A (zh) | 数据处理方法、相关设备及计算机存储介质 | |
WO2021258719A1 (zh) | 容器平台计费方法及系统 | |
RU160865U1 (ru) | Технологическая платформа безбумажного электронного документооборота в облачной среде | |
CN110298677A (zh) | 一种云计算资源计费的方法、装置、电子设备和存储介质 | |
Mihoob et al. | Consumer side resource accounting in the cloud | |
CN114237825A (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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20220215 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Applicant after: Huawei Cloud Computing Technology Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Applicant before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |