一种适用于云平台资源监控的数据转换器实现方法

文档序号:9787371阅读:477来源:国知局
一种适用于云平台资源监控的数据转换器实现方法
【技术领域】
[0001]本发明涉及云平台资源监控技术领域,特别是一种适用于云平台资源监控的数据转换器实现方法。
【背景技术】
[0002]云计算资源种类众多,而云平台肩负对各种资源进行监控。而面临要各种使用场景的时候,需要花费大量的人力和物力来开发云平台业务功能来支撑监控流程相似,但种类和细节不同的云平台资源,无法快速响应用户的需求,带来以下问题:
[0003]—是重复开发的成本和时间投入,为了监控不同的资源类型,需要根据具体的资源进行开发。
[0004]二是资源监控数据不能需要适应各种使用场景。
[0005]三是二次开发效率低,数据格式不能统一,要花大量的人力资源去把数据整合成统一的形态。
[0006]五是大量逻辑类似上的数据,却要大量的时间去开发。
[0007]六是一个原始数据不能转换成多个用户需要的数据,需要采集多种数据才能满足需求。
[0008]为了以较少的成本投入即收集各种各样的数据,需要有一种适用于云平台资源监控数据转换器的方法,运维人员可以自定义转换器规则,对所有规则进行统一管理,一个数据集合通过一个或者多个转换器规则就能转换成用户想要的数据。

【发明内容】

[0009]本发明解决的技术问题在于提供一种适用于云平台资源监控的数据转换器实现方法,解决重复开发类似数据的成本和时间问题、数据不能统一格式的问题、地域性文化差异导致数据展示不一样等问题。
[0010]本发明解决上述技术问题的技术方案是:
[0011 ]所述的方法包括如下步骤:
[0012]步骤I:加载数据转换器规则;
[0013]步骤2:收集监控原始数据集合;
[0014]步骤3:寻找原始数据集合对应的规则,若找到对应规则则执行步骤4,否则执行步骤9;
[0015]步骤4:名称匹配是否成功,若是则执行步骤5,否则执行步骤9;
[0016]步骤5:单位匹配是否成功,若是则执行步骤6,否则执行步骤9;
[0017]步骤6:名称转换;
[0018]步骤7:单位转换;
[0019]步骤8:值转换,执行步骤IO;
[0020]步骤9:不需要进行数据转换;
[0021]步骤10:完成。
[0022]所述的数据转换器规则,每条规则由规则名称、名称转换前的正则表达式、单位转换前的正则表达式、替换名称的正则表达式、替换单位的正则表达式、值替换的公式等组成;
[0023]所述的监控原始数据集合,每个数据集合都有零个或者多个的转换器规则名称;每个数据集合由一项或多项原始数据组成,每项原始数据包括数据项的名称、单位、值等信息。
[0024]根据原始数据集合的转换器规则名称来查找这些规则是否存在,若存在则分别执行这些规则的数据转换过程,这样同一个数据集合可能执行多个规则的数据转换,产生多个不同的数据集合;若不存在则不需要进行数据转换。
[0025]原始数据的数据项名称通过规则上的名称转换前正则表达式进行匹配,若匹配成功则继续执行数据转换流程,否则不需要进行数据转换;
[0026]所述的名称转换是原始数据的数据项名称通过规则上的替换名称正则表达式,进行名称替换。
[0027]原始数据的数据项单位通过规则上的单位转换前正则表达式进行匹配,若匹配成功则继续执行数据转换流程,否则不需要进行数据转换;
[0028]所述的单位转换是原始数据的数据项单位通过规则上的替换单位正则表达式,进行单位替换。
[0029]所述的值转换是原始数据的数据项值通过规则上的值转换公式,进行转换,可可以是:新值=1-原值,完成数据转换的流程。
[0030]本发明的方法,以较少的成本投入来就收集各种云平台数据,减少重复开发逻辑相同但数据项不同的成本投入,尤其是适用于对各种数据归一整理,有效解决地域性文化差异导致数据展示不一样的问题。本发明是一种软件技术,只需要常规的服务器上安装操作系统就能支持,区域一般的数据转换器需要特定硬件支持;本发明是一种技术框架,适用于云平台各种监控数据,区别于一般的存储设备的监控数据转换方法及转换器;本发明除了可以由程序预定义的规则,还可以由运维人员自定义,具有高灵活性,区别于一般的数据转换器;本发明利用正则表达式,可以满足各种各样的数据转换,区别于一般的数据转换器只能转换特定领域的数据。
【附图说明】
[0031 ]下面结合附图对本发明进一步说明:
[0032]图1为流程图;
[0033]图2为本发明的规则结构图。
【具体实施方式】
[0034]本发明的实施方式有多种,这里以共有云平台为例说明其中一种实现方法,如图
1、2所示,具体实施过程如下:
[0035]1、加载数据转换器规则;
[0036]/**
[0037]*加载数据转换器规则.
[0038]>!<@param name数据转换器配置文件名称[0039 ]*@r e turn 无返回值
[0040]*/
[0041]public void load(String name){
[0042]Transfer.load(name);
[0043]}
[0044]2、收集监控原始数据集合;
[0045]/**
[0046]*收集监控原始数据集合.[0047 ]*@r e turn 无返回值
[0048]*/
[0049]public void colIect(){
[0050]ollector.colIect();
[0051]}
[0052]3、寻找原始数据集合对应的规则;
[0053]/**
[0054]*寻找原始数据集合对应的规则.
[0055]*@param st—个数据集合
[0056]^?return List〈TransferRule>规则列表
[0057]*/
[0058]public void find(DataSet st){
[0059]return Transfers.find(st.getNames());
[0060]}
[0061]4、名称匹配;
[0062]/**
[0063]*名称匹配是否成功.
[0064]>!<@param name数据项的名称
[0065]^?return boo lean匹配结果的布尔类型
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1