具体实施方式
为使本发明实施例的目的、技术方案、及优点更加清楚明白,以下参照附图对本发明实施例提供的技术方案进行详细说明。
请参见图1,为本发明实施例一提供的性能数据的采集方法流程图,该方法包括如下步骤:
步骤S101:根据已知的性能测量项有关信息制作采集配置信息,所述采集配置信息根据应用需求定义需要采集的测量项和(或)更为细化分类的测量子项。
性能测量项有关信息,有些来自文件接口技术规范,有些可以来自设备厂家提供的性能数据报告文件的样本数据,从中了解性能报告文件的语法格式,例如测量项与子测量项之间的分隔符表示法。
以下摘录了文件接口技术规范的一部分内容,其中包括预定义的性能测量项以及分类统计信息。
(1)入局试呼次数
AttInCalls.Voice--入局语音业务试呼次数。
AttInCalls.Data--入局数据业务试呼次数。
(2)3G始发系统试呼次数
Att3gMoSysCalls--3G始发系统试呼次数,指主叫为RNC侧的始发呼叫的系统尝试呼叫次数,包括局内和局间。区分RNC统计。
(3)3G始发试呼次数
Att3gMoCalls--3G始发试呼次数,指主叫为RNC侧的始发呼叫的尝试呼叫次数,包括局内和局间。
Att3gMoCalls.Voice--3G始发语音业务试呼次数。区分RNC统计。
Att3gMoCalls.Data--3G始发数据业务试呼次数。区分RNC统计。
(4)3G始发接通次数
Succ3gMoCalls--3G始发接通次数。
Succ3gMoCalls.Voice--3G始发语音业务接通次数。区分RNC统计。
Succ3gMoCalls.Data--3G始发数据业务接通次数。区分RNC统计。
(5)3G始发应答次数
Ans3gMoCalls.Voice--3G始发语音业务应答次数,区分RNC统计。
Ans3gMoCalls.Data--3G始发数据业务应答次数,区分RNC统计。
(6)VLR中当前存储的用户的总数
NbrSubsInVlr--VLR当前存储的用户信息数。分位置区统计。
(7)寻呼请求成功次数
SuccPageReqsLac--寻呼请求成功次数。分位置区统计。
上述(1)定义了固定名称与分类的测量项,测量项名称为AttInCalls,分为语音和数据两种。
上述(2)-(7)定义了不固定名称与分类的测量项,属于细分类(子测量项),命名一般根据有关技术规范的说明,或者由厂家说明。其中(2)-(5)是按RNC分类的子测量项,RNC由连续的数字串表示。(6)-(7)是按位置区Location分类的子测量项,位置区根据路由区编码文件格式,为MCC,MNC,LAC和RAC十进制级联,MCC是3个数字,MNC是2或者3个数字,级联的表达式始终包含14个字符,当MNC长度为2时,需要添加下划线字符,LAC需要5个数字,RAC需要3个数字。
在现有的文件接口技术规范中,为了便于细化统计粒度,将测量项再分级细化,用测量项下的多个子测量项反映更为细致的性能数据,因此出现了子测量项和测量子项的概念,规定性能报告文件的子测量项是对性能测量细分的一种测量记录方式,子测量项的名称在测量项的后面,用分隔符隔开;而测量子项对应一个具体的子测量项,测量子项的名称为测量项名称、分隔符以及分隔符后子测量项名称的组合。一个测量子项也可以看作是一个独立的测量项。
性能测量项的细分种类一般与性能测量项表达的业务相关,例如上述规范中AttInCalls.Voice和AttInCalls.Data两个测量项,只有语音和数据两种业务类型。又如在支持移动话务网络的设备中,按照承载网络类型测量某交换机的呼叫次数AttMoCall,只有“2G”或“3G”两种网络类型,则对应的性能测量项为AttMoCall.2G和AttMoCall.3G,其中AttMoCall.2G中的“AttMoCall”为测量项名称,“.”为分隔符,“2G”为子测量项名称,“AttMoCall.2G”为测量子项名称。
对于像AttInCalls.Voice和AttInCalls.Data这样的子测量项名称和数目都确定的测量子项,制作采集配置信息时只要直接列出测量子项的名称就可以了。采集配置信息的形式可以有多种,可以是采集配置文件,即将采集配置信息记录在文件中,并以文件的形式读取;也可以是通过前端界面录入,即将采集配置信息通过界面的方式输入并获得,在此不一一列举,本发明以下实施例中均采用采集配置文件这种最常见的方式来作为采集配置信息的表现形式。如下制作了一个采集配置文件,列出了单一测量项以及分类的名称和数目都确定的测量子项:
Att3gMoCalls;
Succ3gMoCalls;
AttMoCall.2G;
AttMoCall.3G;
AttInCalls.Voice;
AttInCalls.Data;
对于文件接口技术规范中出现的分类数目和名称都不确定的测量子项,根据测量对象不同,细分后的子类就不相同,同时体现分类的子测量项的名称也会不相同。例如,在移动通信网中,一个交换机覆盖的位置区根据话务是否密集,覆盖的位置区数目有所不同,一个测量项按照覆盖的位置区进行细分时,位置区的编号作为子测量项的名称,每个位置区就有一个唯一的名称,因此任何两个交换机的同一个测量项NbrSubsInVlr(登录用户数)对应子测量项的数目、名称可能是完全不同的,假设交换机A1覆盖的位置区域为lac1、lac2、lac3、lac4,则交换机A1的NbrSubsInVlr(登录用户数)测量项有4个测量子项,为NbrSubsInVlr.lac1、NbrSubsInVlr.lac2、NbrSubsInVlr.lac3、NbrSubsInVlr.lac4,lac1、lac2、lac3、lac4为子测量项名称;交换机A2覆盖的位置区域为lac5、lac6,则交换机A2有2个测量子项,为NbrSubsInVlr.lac5、NbrSubsInVlr.lac6,lac5、lac6为子测量项名称。这时无法清楚列出已知的测量子项名称,制作采集配置信息就困难了。还可以考虑参考设备厂家性能报告文件中有关性能测量项的相关信息,由人工提前搜集分类中可能出现的名称,整理获得具体的子测量项数目和名称,然后再用上述例子中的配置方式,用直接列出测量子项名称的方式制作采集配置信息。
考虑到各种分类中的子测量项可能出现的名称非常多,由于在性能数据采集前不能获知性能报告文件中将要出现的子测量项的确切数目和名称,会导致工作量巨大、效率较低。鉴于此,本发明又提出了针对这种测量子项的优化采集方案,即按照性能测量项分类信息和测量项信息制作采集配置信息,根据应用需求定义需要采集的细化分类的测量子项,以分类标识名称标记测量子项所属的分类,定义测量子项包含测量项和子测量项部分,子测量项部分以适配所有子测量项名称的模式匹配表达式描述。请进一步参见以下实施例二。
如果希望将这些测量项的数据的存储还做进一步的指定配置,可以设计采集配置文件的第一列为测量项的名称;第二列是应用系统(如网管系统)存储该测量项的字段名称;第三列为该测量项的存储类型,这样就可以有更为具体灵活的配置形式,如下:
Att3gMoCalls Att3gMoCalls nnmber;
Succ3gMoCalls Succ3gMoCalls number;
AttMoCall.2G AttMoCall.2G number;
AttMoCall.3G AttMoCall.3G number;
AttInCalls.Voice AttInCalls.Voice number;
AttInCalls.Data AttInCalls.Data number;
步骤S102:根据设备性能报告文件的语法格式,从设备性能报告文件中获取与采集配置信息匹配的测量项名称及其值。
性能报告文件是由设备厂家提供用于描述设备性能测量数据的文件,包含有多个测量项、测量子项的名称和值。测量项的名称用于标识一个测量项,在厂家提供的性能数据文件或性能数据库中定义的测量项的名称,为一个固定的字符串,则可以通过该测量项名称找到对应的测量项的值。
性能报告文件中的子测量项也是由设备厂家根据统一规定的技术规范按照分类吐出的数据,例如按承载网络类型、所在区域、所在位置、网络链接等分类,表示不同承载网络的、在不同区域的、或在不同位置的、或不同对端链接的子测量项等。
对于性能报告文件中出现的分类的数目和名称都确定的子测量项,例如AttMoCall.2G和AttMoCall.3G,只有2G和3G两个分类,则可以按照采集配置文件中所列的测量项名称或测量子项名称匹配,根据性能报告文件的数据结构,直接从性能报告文件中查找,找到测量项名称或测量子项名称所在位置,再根据名称与值的对应关系获得其测量值。
而对于性能报告文件中出现的分类的数目和名称都不确定的子测量项,则从设备性能报告文件中获取与采集配置信息匹配的符合模式匹配表达式条件的各分类中的测量子项名称及测量子项值,根据所获取测量子项名称获取子测量项名称及其测量值。
步骤S103:为所述采集配置信息中的测量项创建测量表和(或)测量子表。
如果采集配置信息中的测量项和(或)测量子项都有明确固定的名称,则为它们创建一个固有测量表。
如果采集配置信息中针对没有固定数目和名称的测量子项定义了带有模式匹配表达式形式的测量子项,用同样的方法在将测量子项的值进行存储时,直接将所有涵盖的测量子项名称及其值转换成测量表的行模式存储,即将获得测量项及其值作为单独的存储记录单元进行存储,在测量子项的数目较少时,这种方式仍然可行。
但当测量子项的数目较多时,则会导致存储数据量非常大,各个测量子项的数据之间也没有关联关系,后续做数据统计应用时,会给数据的取用造成不便。如:移动通信中的性能测量,性能测量项“按照位置区细分的登陆用户数”以及性能测量项“按照位置区细分的开机用户数”。可以设计两个表分别存储登陆用户数与开机用户数,将位置区作为表中的键,这样在数据应用的时候,如统计某个位置区的性能数据时,则需要将两个表做关联,在关联表中找出该位置区,从而获得该位置区的两个性能数据,当测量项较多的情况下,由于像位置区这样的(即相同的分类方式)公共信息需要在每个表中作为键存储,使得重复存储的信息量增加,而上层应用关联关系也会增加,查找、统计、获得数据的效率会明显受到影响。这时,一个更好的方案是,为每种分类的测量子项都创建一个对应的测量子表。
步骤S104:将从设备性能报告文件中获取的测量项名称及其值填入所述创建的测量表和(或)测量子表中。
如果采集配置信息中的测量项和(或)测量子项都有固定的名称,则将从设备性能报告文件中获取的所有测量项和(或)测量子项名称及其测量值直接写入固有测量表中。
如果采集配置信息中还定义了带有模式匹配表达式形式的测量子项,则将从设备性能报告文件中获取的所有匹配模式匹配表达式的测量子项写入相对应的测量子表中。
为解决对那些性能数据测量子项的名称和数目预先不可知情况下的自动和准确的采集,请参考图2中本发明实施例二提供的性能数据的采集方法流程图,该方法包括如下步骤:
步骤S201:根据已知的的性能测量项分类信息和测量项信息制作采集配置信息,根据应用需求定义需要采集的细化分类的测量子项,以分类标识名称标记测量子项所属的分类,定义测量子项包含测量项和子测量项部分,子测量项部分以适配所有子测量项名称的模式匹配表达式描述。
所述已知的性能测量项的分类信息和测量项信息,在文件接口技术规范中预先有所指定。
测量子项是测量项的分级测量项,用于精细化分析网络设备性能提供更详细的依据,是对网络设备性能的更为细致粒度的度量,每个测量子项对应一个性能测量,也有相应的名称和每次测量的实际值。同样,测量子项还可以有进一步细分的测量,为了清晰描述有层次化分类特征的测量项,就有了一级测量项,二级测量项,…,n级测量项的概念,对于每一级测量项又有相应的子测量项的概念,子测量项是对性能测量项细分的一种测量描述方式。子测量项名称用于标明一个子测量项,子测量项的名称在测量项的后面,用分隔符分隔。测量子项对应一个具体的子测量项,测量子项的名称为测量项名称和子测量项名称的组合,描述时用分隔符连接。一个测量子项也可以看作是一个独立的测量项。例如Att3gMoSysCalls.location是针对Att3gMoSysCalls这个一级测量项的测量子项,Ans3gMoCalls.Voice.location是针对Ans 3gMoCalls.Voice这个二级测量项的测量子项,其中的location是子测量项的名称,location是可细分为多个区域的位置变量。又例如,FailActPdpCtxtMs.cause.G和FailActPdpCtxtMs.cause.U是分别针对FailActPdpCtxtMs这个一级测量项的测量子项,其中的cause.G是子测量项的名称,表明在GSM网络上激活会话失败的原因,cause.U是子测量项的名称,表明在UMTS网络上激活会话失败的原因,cause是可细分为多种原因的变量。更典型的例子是,按行政区域测某交换机的开机用户数NbrSubsPowerOnInVlr,共有3个行政区域,分别以01、02、03表示,则三个行政区域的测量子项分别为NbrSubsPowerOnInVlr.01、NbrSubsPowerOnInVlr.02和NbrSubsPowerOnInVlr.03,其中“NbrSubsPowerOnInVlr”为测量项名称,“01”、“02”、“03”为子测量项名称,“NbrSubsPowerOnInVlr.01”、“NbrSubsPowerOnInVlr.02”“NbrSubsPowerOnInVlr.03”为测量子项名称,“NbrSubsPowerOnInVlr.01”也可以视为独立的测量项。
各设备厂家在进行性能测量时,会根据实际业务需求对测量项进行分类,其分类方式依据预定义的性能测量项分类信息,这些分类信息一般记录在技术规范或其他标准文件中,对于同一个测量项,其分类方式不同,就会出现不同的测量子项,而这些不同的测量子项的相关信息,全部保存在性能报告文件中。例如对于交换机A1,在按照行政区域分类,分别测量每个行政区的开机用户数,和按照公司分类,分别测量每个公司的开机用户数,所得到的测量子项名称和数量是不相同的。
为了能够从设备厂家提供的性能报告文件中找出所需要的性能测量参数,本发明的第一个步骤是制作采集配置文件。采集配置文件用于根据数据分析统计需求列出需要的测量项和测量子项,属于不同分类的测量子项以不同标识名称区分,以模式匹配表达式描述测量子项。
在采集配置文件中以不同标识名称来区分定义不同分类的测量子项,标识名称与文件接口技术规范中的名称应一一对应,可以是任意定义的,简单定义的方法是尽量与技术规范中的名称一致。
采集配置文件以模式匹配表达式的形式描述不同分类的测量子项,因此也可以按照既定的表达方式和匹配方式查找包含的子测量项。
采集配置文件中可以用特别的符号,例如可用“[”和“]”表示分类标识名称的开始与结束,也可以是其它的形式,只要能够区分不同的分类标识,如[tpds_RNC]和[tpds_Locaion];
例如,根据预定义的性能测量项分类信息和测量子项信息可制作出下面的采集配置文件temp_config:
[tpds_RNC]/*分类标识名称,便于标识RNC分类的测量子项*/
/*以下三行列出了按RNC分类的测量子项*/
Att3gMoSysCalls[.\d+]
Att3gMoCalls.Voice[.\d+]
Succ3gMoCalls.Voice[.\d+]
[tpds_Location]/*分类标识名称,便于标识位置区分类的测量子项*/
/*以下两行列出了位置区分类的测量子项*/
NbrSubsInVlr[.\d+_\d+]
SuccPageReqsLac[.\d+_\d+]
[tpds_FailActPdpCtxtMs]/*分类标识名称,便于标识按激活会话失败情况分类的测量子项*/
FailActPdpCtxtMs[.\d+[a-zA-Z]+].G
FailActPdpCtxtMs[.\d+[a-zA-Z]+].U
其中[.\d+]、[.\d+_\d+]或[.\d+[a-zA-Z]+]都是一种模式匹配的描述表达式,是分别对应于RNC分类、位置区分类和激活会话失败情况分类的子测量项模式匹配描述。还可以用其他的描述方法描述。不同的子测量项可有不同的模式匹配描述表达式。例如在测量子项FailActPdpCtxtMs[.\d+[a-zA-Z]+].G中,FailActPdpCtxtMs部分是测量项部分,[.\d+[a-zA-Z]+].G部分是子测量项部分。
采集配置文件中以不同的标识名称区分不同分类,其中标识名称可根据实际情况定义。
需要说明的是,在实际应用中采集配置文件根据实际性能数据采集的需求制作,需要采集哪些性能数据,就在采集配置文件中配置哪些相应的测量项。
步骤S202:根据设备性能报告文件的语法格式,从设备性能报告文件中获取与采集配置信息匹配的符合模式匹配表达式条件的各分类中的测量子项名称及测量子项值,根据所获取测量子项名称获取子测量项名称。
以下是一个性能报告文件的实例temp_file,其中包括了测量项、测量子项及其值的信息:
<measCollec beginTime=″2009-08-21 10:00:00″/>
<measData>
<采集对象=″交换机1″/>
<measTypes>
AttInCalls.Voice /*固定名称与分类的测量子项*/
AttInCalls.Data
Att3gMoSysCalls /*测量项*/
Att3gMoCalls
Succ3gMoCalls
Att3gMoSysCalls.131 /*无固定名称与分类的测量子项*/
Att3gMoSysCalls.132
Att3gMoSysCalls.133
Att3gMoCalls.Voice.131
Succ3gMoCalls.Voice.131
Att3gMoCalls.Voice.132
Succ3gMoCalls.Voice.132
Att3gMoCalls.Voice.133
Succ3gMoCalls.Voice.133
Ans3gMoCalls.Voice.131
Ans3gMoCalls.Voice.132
Ans3gMoCall.Voice.133
NbrSubsInVlr.460_0045323 /*无固定名称与分类的测量子项*/
SuccPageReqsLac.460_0045323
NbrSubsInVlr.460_0045320
SuccPageReq sLac.460_0045320
NbrSubsInVlr.460_0045317
SuccPageReqsLac.460_0045317
NbrSubsInVlr.460_0045336
SuccPageReq sLac.460_0045336
</measTypes> /*测量项和测量子项的名称*/
<measResults>295 15 410 408 381 62 195 83 62 61 173
164 79 76 58 4.86 111 182 62 474 385 34 12 9
9 </measResults> /*测量项和测量子项的值*/
</measInfo>
根据采集配置文件中列出的测量项以及包含模式匹配表达式的测量子项,要从性能报告文件中识别并找到这些测量项的名称和值,以及识别并找到符合采集配置文件中模式匹配条件的测量子项名称和测量子项的值。
由于在查找性能报告文件之前并不清楚知道有多少测量子项名称和数目,因此采用模式匹配的方法,将这些测量子项逐一地匹配出来,就可以得到确切的测量子项名称和数目。
例如:从采集配置文件temp_config中看到,分类标识名称tpds_Location下的含模式匹配表达式的测量子项NbrSubsInVlr[.\d+_\d+],则从性能报告文件temp_file中匹配出tpds_Location下的4个测量子项和相应的值:
NbrSubsInVlr.460_0045323 182
NbrSubsInVlr.460_0045320 474
NbrSubsInVlr.460_0045317 34
NbrSubsInVlr.460_0045336 9
根据采集配置文件temp_config中分类标识名称tpds_Location下的模式匹配表达式SuccPageReqsLac[.\d+_\d+],可以从性能报告文件temp_file中匹配出tpds_Location下的4个测量子项和相应的值:
SuccPageReqsLac.460_0045323 62
SuccPageReqsLac.460_0045320 385
SuccPageReqsLac.460_0045317 12
SuccPageReqsLac.460_0045336 9
通过在各分类中模式匹配出来的测量子项,并根据测量子项和子测量项名称的关系,解析测量子项的名称,即可以得出这些测量子项对应的子测量项的名称,如测量子项NbrSubsInVlr.460_0045323的子测量项名称为460_0045323。
步骤S203:根据采集配置信息创建测量表和(或)测量子表。
实现方法同上述实施例一中的步骤S103,不再赘述。
步骤S204:将从设备性能报告文件中获取的测量项和(或)测量子项名称及其值填入所述创建的测量表和(或)测量子表中。
实现方法同上述实施例一中的步骤S104,不再赘述。
为实现性能数据的高效存储,基于以上方案,给出以下实施例三,请参考图3。
步骤S301:根据已知的性能测量项分类信息和测量项信息制作采集配置信息,根据应用需求定义需要采集的细化分类的测量子项,以分类标识名称标记测量子项所属的分类,定义测量子项包含测量项和子测量项部分,子测量项部分以适配所有子测量项名称的模式匹配表达式描述。
实现方法同上述实施例二中的步骤S201,不再赘述。
步骤S302:根据设备性能报告文件的语法格式,从设备性能报告文件中获取与采集配置信息匹配的符合模式匹配表达式条件的各分类中的测量子项名称及测量子项值,根据所获取测量子项名称获取子测量项名称。
实现方法同上述实施例二中的步骤S202,不再赘述。
步骤S303:根据所述采集配置信息中的分类标识及所述分类下的测量子项信息,为每种分类创建一个测量子表,测量子表的表名称与采集配置信息中的分类标识名称对应,测量子表包括名称字段和测量项字段,测量项字段对应所述分类标识名称指定分类中的所有测量项。
测量子表的创建,决定了采集到的测量子项及其值在应用系统(如网管系统)中的存储方式,并对相同分类方式的多个测量子项进行了独立的存储,使测量项按分类得到整合。所创建测量子表的表名是分类标识名称,表中包括名称字段和相同分类的多个测量项字段,每一个测量项是一个字段(一列),测量子表中字段(列)的数目=1+测量项的数目。分类标识名称指定分类中的所有测量项字段均可以从解析采集配置文件中相应分类的测量子项获得,各测量子项的存储类型则可以在创建测量子表时对其做出规定。
如采集配置文件temp_config中分类标识[tpds_RNC]下包含三个测量子项
Att3gMoSysCalls[.\d+]
Att3gMoCalls.Voice[.\d+]
Succ3gMoCalls.Voice[.\d+]
通过对三个测量子项名称进行解析,从模式匹配表达式开始的右侧部分表示的是子测量项部分,模式匹配表达式左侧部分是测量项部分,于是获得三个测量项名称,分别为Att3gMoSysCalls、Att3gMoCalls.Voice和Succ3gMoCalls.Voice,则创建测量子表tpds_RNC,包括一个名称字段和三个测量项字段。名称字段名可取为通用的Name,存储类型为String,测量项字段名对应为三个测量项名称,存储类型均为number。
步骤S304:将从设备性能报告文件中获取的子测量项名称及测量子项值填入所述创建的相应分类的测量子表中。
将步骤S302获取的子测量项名称和测量子项的值,填入步骤S303创建的相应分类的测量子表中的相应位置,就完成对不同分类测量项的采集。
在进行数值填充时,可以直接将子测量项名称填入名称字段所在的列,将测量子项的值填入测量子表中对应的测量项字段所在的列,如测量子项Att3gMoSysCalls.131的值为62,则将131填入名称字段,将62填入131所在的行和测量项字段Att3gMoSysCalls所在的列对应的位置。
为了提高数据的处理效率,还可以借助于哈希表(Hash)做缓存,分组填充数据。
如下表1是填充tpds_RNC测量子表后的值:
表1完成填充数据的tpds_RNC测量子表
Name |
Att3gMoSysCalls |
Att3gMoCalls.Voice |
Succ3gMoCalls.Voice |
131 |
62 |
62 |
61 |
132 |
195 |
173 |
164 |
133 |
83 |
79 |
76 |
通过将相同分类的测量子项及其值放入同一个测量子表的方法,实现了对测量子项数据的有效整合,节约了存储空间,在应用时也大大提高了查找数据的速度。
以上实施例说明了根据采集配置文件中的模式匹配表达式,获得测量子项和测量子项的值,并填入测量子表进行存储的过程。
如图4所示,为进一步说明将子测量项名称和测量子项值填入相应分类的测量子表的过程,在实施例一的基础上给出本发明的实施例四,包括如下步骤:
步骤S401:将所述每种分类的子测量项名称及测量子项值用哈希表保存,将每种分类中的每个测量项下的多个测量子项存入一个哈希表,有多少个测量项就有多少个哈希表,将子测量项的名称作为哈希表的键,相应测量子项值为哈希表的值。
根据每种分类中包含的测量项的数量确定哈希表的数量,实施例一中分类标识名称tpds_Location下包含两个测量项,NbrSubsInVlr和SuccPageReqsLac,则实施例一中标识名称tpds_Location下的测量子项可以存成两个哈希表:
第一个Hash表测量项NbrSubsInVlr的键与值如表2所示:
表2第一个Hash表的键与值
键 |
值 |
460_0045323 |
182 |
460_0045320 |
474 |
460_0045317 |
34 |
460_0045336 |
9 |
第二个Hash表测量项SuccPageReqsLac的键与值如表3所示:
表3第二个Hash表的键与值
键 |
值 |
460_0045323 |
62 |
460_0045320 |
385 |
460_0045317 |
12 |
460_0045336 |
9 |
步骤S402:通过所述哈希表键的关联,将每种分类中具有相同子测量项的哈希表合并成一个数据矩阵。
由于每种分类中的多个测量项具有相同的子测量项,在步骤S201表2和表3的Hash表中有相同的键,将哈希表中相同键的信息进行关联与整合,整合后,将具有相同子测量项的哈希表合并成一个数据矩阵。
则将表4和表5合并成一个数据矩阵,如表4所示:
表4两个Hash表合并后的数据矩阵
子测量项名称 |
NbrSubsInVlr |
SuccPageReqsLac |
460_0045323 |
182 |
62 |
460_0045320 |
474 |
385 |
460_0045317 |
34 |
12 |
460_0045336 |
9 |
9 |
步骤S403:将所述数据矩阵中每行的子测量项名称和测量子项值直接插入相应分类的测量子表中相应的行。
例如将表4数据矩阵中的第一行子测量项名称和测量子项的值插入相应分类对应的测量子表tpds_Location中的第一行,这里的插入即数据库中的insert操作,一次insert操作是可以多个字段的。此时如表5所示:
表5填充子测量项名称后的测量子表tpds_Location
Name |
NbrSubsInVlr |
SuccPageReqsLac |
460_0045323 |
182 |
62 |
此后依次将数据矩阵各行子测量项名称和测量子项值直接填入相应分类的测量子表中相应的行,所有插入的操作次数就是所述数据矩阵的行数。则最终得到的测量子表如表6所示:
表6完成填充后的测量子表tpds_Locaion
Name |
NbrSubsInVlr |
SuccPageReqsLac |
460_0045323 |
182 |
62 |
460_0045320 |
474 |
385 |
460_0045317 |
34 |
12 |
460_0045336 |
9 |
9 |
另外,除了以上的方法,还可以采用hash表插入(insert)数据操作和更新(update)数据操作结合的方式,直接将一个hash表中的测量子项数据insert到tpds_Locaion测量子表中,然后其他hash表的数据采用update的方式。即将每个测量项数据在内存中都对应存入一个hash表,每个hash表的主键都对应一个测量分类中的子测量项名称,值就是对应各测量子项的数值。根据测量子表的表结构,第一列对应测量分类中的子测量项名称,测量子表的其他列对应每个测量项,即测量子表的其他列对应一个hash表。选择采集配置文件中定义的第一个测量子项对应的hash表,将该hash表的键(子测量项名称)和值(测量子项值)insert到测量子表的第一列和第二列。这时,测量子表只有这个hash表对应的测量项有值,其他列都是空的,再用其他测量项对应的hash表的值,按子测量项名称update测量子表对应的其他列,即完成了测量子表的填写。在数据量大的时候,该方法相比于实施例二的效率要低很多。
在实际应用中,测量子表也可以包含测量项(性能数据)的采集时间信息。即在设计测量子表时,将测量项的采集时间设计进去即可。
厂家性能报告文件中包含有多个测量子项的名称,测量子项的名称按照各厂家的命名规范来定义,而这些命名规范规定了测量子项名称的构成方式,会记录在预定义的性能测试项分类信息中,例如测量项后的子测量项名称是按位置区编号的,规定只能出现数字与下划线(“_”),或只能是字母与数字的组合,或其他规定的组合方式。在实施例一中摘录的文件接口技术规范中包含的两种分类信息,一个是RNC,一个是位置区。它们的细分类(即测量子项)命名一般根据有关技术规范的说明,或者由厂家说明。例如RNC由连续的数字串表示;位置区根据路由区编码文件格式,为MCC,MNC,LAC和RAC十进制级联,MCC是3个数字,MNC是2或者3个数字,级联的表达式始终包含14个字符,当MNC长度为2时,需要添加下划线字符,LAC需要5个数字,RAC需要3个数字。因此在实施例一的性能报告文件temp_file中,对于按RNC分类的所有测量子项的名称,按照模式匹配的正则表达式方式描述为“测量项名称[.\d+]”;对于按位置区分类的所有测量子项的名称,按照模式匹配的正则表达式方式描述为“测量项名称[.\d+_\d+]”。其中的“[”和“]”表示模式匹配正则表达式定义的开始与结束。“.”表示测量名称与测量子项的分隔符,“\d+_\d+”表示测量子项中子测量项的名称是由数字和下划线组成,“\d+”表示测量子项名称仅有数字组成。下划线前后的数字都是多个“0-9”中的数字(包括0和9)组成。
测量子项中子测量项的名称还可以为字符与数字组合的方式,字符在前,数字在后,可以定义模式匹配的方式如下[.[a-zA-Z]*\d+]。
上述性能数据采集的方法可以适用于有多级分类测量项的采集,只要有其中一级分类的测量项下包含了若干无固定名称与数目的子测量项。例如对于AttInCalls.Voice这个二级测量项下,包含了两个三级子测量项AttInCalls.Voice.2G和AttInCalls.Voice.3G,在AttInCalls.Voice.2G和AttInCalls.Voice.3G下又分别包含了无固定名称与数目的子测量项,则可以采用本发明的性能数据采集的方法来获取到这一级的各项测量子项名称和对应的测量子项值。
如图5所示,以下给出实施例五,进一步清楚地说明如何从所述性能报告文件中获取所有符合采集配置文件中模式匹配条件的测量子项名称及测量子项值的方法。
步骤S501:根据所述的采集配置信息中带有模式匹配表达式的测量子项以及性能报告文件的语法结构格式,从所述性能报告文件中识别并获取所有符合模式匹配条件的测量子项名称。
例如:采集配置文件temp_config(或采集配置文件temp_config_eg)中分类标识名称tpds_Location下具有含模式匹配表达式的测量子项NbrSubsInVlr[.\d+_\d+],则从性能报告文件temp_file中<measTypes>后依次读取测量项名称的数据,进行字符串比较,是否含有NbrSubsInVlr且后面是否含有“.数字串_数字串”,根据比较结果可以匹配出有4个测量子项:
第18个数据,NbrSubsInVlr.460_0045323
第20个数据,NbrSubsInVlr.460_0045320
第22个数据,NbrSubsInVlr.460_0045317
第24个数据,NbrSubsInVlr.460_0045336
步骤S502:根据所述获得的测量子项名称从性能报告文件中获取相应的测量子项值。
从性能报告文件temp_file中<measResults>后,读取第18,20,22,24个数据,则取到相对应的4个测量子项值182,474,34,9。
步骤S503:根据测量子项名称以及测量子项名称的组成方式,获得子测量项名称。
例如模式匹配出来的测量子项为NbrSubsInVlr.460_0045323,则根据测量项、测量子项、子测量项名称的意义和测量子项名称的组成方式,可得出NbrSubsInVlr为测量项名称,460_0045323为子测量项名称。
在性能报告文件中,测量子项的名称和测量子项的值有着一定的对应关系,这种对应关系根据厂家的不同而存在差异,有的性能报告文件中测量子项的名称和值是分区域按照相同的位置存放,例如实施例二中的性能报告文件temp_file,测量项和值分区域存放,测量子项位于测量项存放区的第n行,其值就位于值存放区的第n个内容;有的性能报告文件是将测量项和值一起存放。因此找到测量子项的名称,即可获得测量子项的值。
优选的,在采集配置信息中,除了根据应用需求定义各种分类中的测量项名称外,还可以将测量项的存储名称和测量项的存储数据类型同时进行配置,进而在创建测量子表时,可以直接取用采集配置信息中定义的测量子项存储名称作为对应测量子表中测量项字段的名称,将采集配置信息中定义的测量项存储数据类型作为对应测量子表中的测量项字段的存储数据类型。每一个测量项字段的名称、存储类型根据采集配置信息中的配置确定。这样在制作测量子表时就可以直接读取配置信息中的预先配置,提高了测量子表定义的可配置性。
因此可以设计采集配置文件的第一列为测量项、测量子项的名称,包括含模式匹配表达式的测量子项;第二列是应用系统(如网管系统)存储该测量项的字段名称;第三列为该测量项的存储类型。配置文件还可以采用其它设计排列方式,不拘泥于本发明列举的三列方式。
根据优选的方案制作出来的采集配置文件temp_config_eg如下所示:
[tpds_RNC]/*分类标识名称,定义RNC分类的测量项*/
/*以下三行列出了RNC分类中的测量子项*/
Att3gMoSysCalls[.\d+] Att3gMoSysCalls number
Att3gMoCalls.Voice[.\d+] Att3gMoCalls_Voice number
Succ3gMoCalls.Voice[.\d+] Succ3gMoCalls_Voice number
[tpds_Location]/*分类标识名称,定义位置区分类的测量项*/
/*以下两行列出了位置区分类的测量子项*/
NbrSubsInVlr[.\d+_\d+] NbrSubsInVlr number
SuccPageReqsLac[.\d+_\d+] SuccPageReqsLac number
根据上述的采集配置文件temp_config_eg可以创建两张测量子表,其测量子表的名称分别为tpds_RNC、tpds_Location。tpds_RNC包含了三个测量项Att3gMoSysCalls、Att3gMoCalls.Voice和Succ3gMoCalls.Voice,以子测量项名称和这三个测量项作为测量子表中的列;tpds_Location包含了两个测量项NbrSubsInVlr和SuccPageReqsLac,以子测量项名称和这两个测量项作为测量子表的列。
测量子表tpds_RNC和tpds_Location定义如下:
CREATE TABLE tpds_RNC
(Name string,Att3gMoSysCalls number,Att3gMoCalls_Voicenumber,Succ3gMoCalls_Voice number);
CREATE TABLE tpds_Location
(Name string,NbrSubsInVlr number,SuccPageReqsLac number);
其中字段Att3gMoSysCalls、Att3gMoCalls_Voice和Succ3gMoCalls_Voice以及number数据类型取自采集配置文件temp_config_eg中在第二列和第三列的配置。
本发明同时还公开了一种性能数据的采集装置,用于执行以上方法步骤,请参照图6,为本发明实施例六一种性能数据的采集装置的结构示意图。
本装置包括采集配置信息制作单元101,性能数据获取单元102,存储表创建单元103,存储表填充单元104。
本装置的工作原理如下:
采集配置信息制作单元101,用于根据已知的性能测量项有关信息制作采集配置信息,所述采集配置信息根据应用需求配置需要采集的测量项和(或)更为细化分类的测量子项;
所述已知的性能测量项的分类信息和测量项信息,可以从文件接口技术规范中找到有关指定,还可以从设备厂家提供的性能报告文件的样本中找到有关信息,从而正确地列出要采集的测量项。
性能数据获取单元102,根据设备性能报告文件的语法格式,从设备性能报告文件中获取与采集配置信息制作单元101制作的采集配置信息匹配的测量项名称及其值,和(或)测量子项名称及其值;
可以利用模式识别功能的模块来遍历设备性能报告文件中的所有测量项信息,完成信息的比较和筛选,查找到适配的测量项名称及其值。
存储表创建单元103,根据所述采集配置信息制作单元101制作的采集配置信息,创建测量表和(或)测量子表。
建立起测量项和测量表的数据结构对应关系以及数据转换机制,可以自动完成创建表的工作。可以规定,为不带有子测量项的测量项统一建立一个集合表即测量表,为带有子测量项的测量项分别独立建表即测量子表。
存储表填充单元104,将从性能数据获取单元102获取的测量项和(或)测量子项名称及其值填入所述存储表创建单元103创建的测量表和(或)测量子表中。
填表的方式有多种,可以一个数据一个数据地填,也可以一组数据一组数据地填,在性能数据获取单元102和存储表创建单元103之间建立起通讯联系,建立起有序的数据填充机制,充分利用Hash缓冲机制可以大大提高填表效率。
所述装置实现了从配置到采集再到数据入库的自动化处理过程,在以上实施例一中有详细的对应过程描述,在此不再一一论述。
为解决对那些性能数据测量子项的名称和数目预先不可知情况下的自动和准确的采集,所述采集配置信息制作单元101和性能数据获取单元102进一步按如下方案实现:
采集配置信息制作单元101,用于根据已知的性能测量项有关信息和测量项信息制作采集配置文件,所述采集配置文件根据应用需求定义测量项,以分类标识名称区分定义不同分类的测量子项,以模式匹配表达式描述各分类中的测量子项。
所述的预定义的性能测量项的分类信息和测量项信息,在文件接口技术规范中有所指定。
在采集配置文件中以不同标识名称来区分不同分类的测量子项,标识名称与文件接口技术规范中的名称应一一对应,可以是任意定义的,简单定义的方法是尽量与技术规范中的名称一致。也可以根据实际情况来定义。
采集配置文件以模式匹配表达式的形式描述不同分类的子测量项,因此也可以按照既定的表达方式和匹配方式查找包含这些子测量项的测量子项。
因此采集配置文件制作单元101可根据预定义的性能测量项分类信息和测量项信息制作出采集配置文件,如实施例一中步骤S101中给出的采集配置文件temp_config所示:
[tpds_RNC]/*分类标识名称,定义RNC分类的测量项*/
/*以下三行列出了RNC分类中的测量子项*/
Att3gMoSysCalls[.\d+]
Att3gMoCalls.Voice[.\d+]
Succ3gMoCalls.Voice[.\d+]
[tpds_Location]/*分类标识名称,定义位置区分类的测量项*/
/*以下两行列出了位置区分类的测量子项*/
NbrSubsInVlr[.\d+_\d+]
SuccPageReqsLac[.\d+_\d+]
其中[.\d+]或[.\d+_\d+]都是一种模式匹配的描述表达式,是分别对应于RNC分类和位置区分类的子测量项模式匹配描述。
采集配置文件中以不同的标识名称区分不同分类,其中标识名称可根据实际情况定义。
性能数据获取单元102,用于根据设备性能报告文件的语法格式,从设备性能报告文件中获取采集配置文件制作单元101制作的采集配置文件中所列的测量项名称及其值,并找出符合模式匹配表达式条件的各分类中的测量子项名称及测量子项值,根据所获取测量子项名称获取子测量项名称。
性能报告文件是由设备厂家提供用于描述设备性能测量数据的文件,包含有多个测量项、测量子项以及测量项、测量子项的名称和值。测量项的名称用于标识一个测量项,在厂家提供的性能数据文件或性能数据库中定义的测量项的名称,为一个固定的字符串,可以通过该测量项名称找到对应的测量项的值。
性能数据获取单元102根据采集配置文件制作单元101制作的采集配置文件遍历性能报告文件,将性能报告文件中所有符合采集配置文件中同一分类模式匹配表达式的测量子项逐一的匹配出来,就可以得到确切的测量子项的名称和测量子项所在位置序号,进而可以按位置序号在性能报告文件中获得每个测量子项的值,具体的匹配方法如方法描述中步骤S102所述,从性能报告文件temp_file中获取相应的性能数据,在此不再赘述。
通过在各分类中模式匹配出来的测量子项,可以得出这些测量子项对应的子测量项的名称。
为了实现性能数据的高效存储,优化建表和入库方案为:
存储表创建单元103,用于根据所述采集配置信息制作单元101制作的采集配置信息中的分类标识及所述分类下的测量子项信息,为每种分类创建一个测量子表,测量子表的名称与采集配置信息中分类标识名称一一对应,测量子表包括子测量项名称字段和测量项字段,测量项字段对应所述分类标识名称指定分类中的所有测量项。
测量子表的创建,决定了采集到的测量子项及其值在应用系统(如网管系统)中的存储方式,并对相同分类方式的多个测量子项进行了独立的存储,使测量子项按分类方式得到整合。所创建测量子表的表名是分类标识名称,表中包括子测量项名称字段和多个测量项字段,每一个测量项字段对应所述分类标识名称指定分类中的一个测量项,测量子表中字段(列)的数目=1+测量项的数目。通过解析采集配置信息中相应分类的测量项可获得测量项字段,各测量项字段的存储类型则可以在创建测量子表时对其做出规定。
沿用实施例一中的例子,采集配置文件temp_config中分类标识[tpds_RNC]下包含三个测量子项
Att3gMoSysCalls[.\d+]
Att3gMoCalls.Voice[.\d+]
Succ3gMoCalls.Voice[.\d+]
通过对三个测量子项名称进行解析,获得三个测量子项名称对应的测量项名称,分别为Att3gMoSysCalls、Att3gMoCalls.Voice、Succ3gMoCalls.Voice,在创建测量子表时以子测量项名称和这三个测量项名称作为其在测量子表中的字段名称,测量项字段的存储类型均为number。
存储表创建单元103会依次读取采集配置信息制作单元101制作的采集配置信息,当读取到不同的分类标识名称时,则创建新的测量子表,并以当前读取的标识名称作为测量子表的名称,将采集配置文件中该分类标识名称下所有的测量项作为测量子表的列。
存储表填充单元104,用于根据所述性能数据获取单元102获取的子测量项名称及测量子项值填入所述存储表创建单元103创建的相应分类的测量子表中。
在进行数值填充时,可以直接将测量子项的值填入测量子表中该测量项名称和子测量项名称对应的位置,如测量子项Att3gMoSysCalls.131的值为62,则将62填入子测量项131行在测量项Att3gMoSysCalls列对应的位置。
为了提高数据的处理效率,可以借助于哈希表(Hash)做缓存,分组填充数据。例如,可以采用hash表插入(insert)数据操作和更新(update)数据操作结合的方式,直接将一个hash表中的测量子项数据insert到tpds_Location测量子表中,然后其他hash表的数据采用update的方式。即将每个测量项数据在内存中都对应存入一个hash表,每个hash表的主键都对应一个测量分类中的子测量项名称,值就是对应各测量子项的数值。根据测量子表的表结构,第一列对应测量分类中的子测量项名称,测量子表的其他列对应每个测量项,即测量子表的其他列对应一个hash表。选择采集配置文件中定义的第一个测量子项对应的hash表,将该hash表的键(子测量项名称)和值(测量子项值)insert到测量子表的第一列和第二列。这时,测量子表只有这个hash表对应的测量项有值,其他列都是空的,再用其他测量项对应的hash表的值,按子测量项名称update测量子表对应的其他列,即完成了测量子表的填写。
完成填充数据的tpds_RNC测量子表如前述表1所示。
通过将相同分类的测量子项及其值放入同一个测量子表的方法,实现了对测量子项数据的有效整合,节约了存储空间,在应用时也大大提高了查找数据的速度。
优选的,在采集配置信息制作单元101制作的采集配置信息中,除了根据应用需求定义各种分类中的测量子项外,还可以直接将测量子项存储名称和测量子项存储数据类型定义出来,进而在存储表创建单元103创建测量子表时,可以直接获取采集配置信息中定义的测量项存储名称作为测量子表中测量项字段的名称,将采集配置文件中定义的测量项存储数据类型作为测量子表中的测量项字段的数据类型。每一个测量项的字段名称、字段类型根据采集配置信息中的配置确定。这样在制作测量子表时就可以按照预先配置的要求建表,提高了灵活配置性。
因此可以设计采集配置文件的第一列为测量项、测量子项的名称,包括含模式匹配表达式的测量子项;第二列是应用系统(如网管系统)存储该测量项的字段名称;第三列为该测量项的存储类型。配置文件还可以采用其它设计排列方式,不拘泥于本发明列举的三列方式。
延用实施例一中根据优选的方案制作出来的采集配置文件temp_config_eg如下所示:
[tpds_RNC]/*分类标识名称,定义RNC分类的测量项*/
/*以下三行列出了RNC分类中的测量子项*/
Att3gMoSysCalls[.\d+] Att3gMoSysCalls number
Att3gMoCalls.Voice[.\d+] Att3gMoCalls_Voice number
Succ3gMoCalls.Voice[.\d+] Succ3gMoCalls_Voice number
[tpds_Location]/*分类标识名称,定义位置区分类的测量项*/
/*以下两行列出了位置区分类的测量子项*/
NbrSubsInVlr[.\d+_\d+] NbrSubsInVlr number
SuccPageReqsLac[.\d+_\d+] SuccPageReqsLac number
根据上述的采集配置文件temp_config_eg可以创建两张测量子表,其测量子表的名称分别为tpds_RNC、tpds_Location。tpds_RNC包含了三个测量项Att3gMoSysCalls、Att3gMoCalls.Voice和Succ3gMoCalls.Voice,以子测量项名称和这三个测量项作为测量子表中的列;tpds_Location包含了两个测量项NbrSubsInVlr和SuccPageReqsLac,以子测量项名称和这两个测量项作为测量子表的列。
测量子表tpds_RNC和tpds_Location定义如下:
CREATE TABLE tpds_RNC
(Name string,Att3gMoSysCalls number,Att3gMoCalls_Voicenumber,Succ3gMoCalls_Voice number);
CREATE TABLE tpds_Location
(Name string,NbrSubsInVlr number,SuccPageReqsLac number);
字段Att3gMoSysCalls、字段Att3gMoCalls_Voice、字段Succ3gMoCalls_Voice以及number数据类型取自采集配置文件temp_config中在第二列和第三列的配置。
基于上述装置,如图7所示,给出本发明的实施例七,进一步说明其中存储表填充单元104的工作原理,因此存储表填充单元可以进一步包括哈希表存储模块2041,哈希表合并模块2042,测量子表填充模块2043。
实施例装置包括:
哈希表存储模块2041,用于将所述性能数据获取单元202获取的每种分类的测量子项名称及测量子项值用哈希表保存,将每种分类中的每个测量项下的多个测量子项存入一个哈希表,有多少个测量项就存为多少个哈希表,将所述性能数据获取单元202获取的子测量项名称存为哈希表的键,相应测量子项值存为哈希表的值。
根据每种分类中包含的测量项的数量确定哈希表的数量,若该分类下包含两个测量项,则存成2个哈希表,具体方法如实施例二中步骤S201中的表2与表3所示,在此不再赘述。
哈希表合并模块2042,用于根据哈希表存储模块2041存储的每种分类中对应的多个哈希表的键进行关联,将具有相同子测量项的哈希表合并成一个数据矩阵。
将每种分类中的哈希表中相同键的信息进行关联与整合,整合后,将具有相同子测量项的哈希表合并成一个数据矩阵,合并后的数据矩阵如实施例二中步骤S202的表4所述。
测量子表填充模块2043,用于将所述哈希表合并模块2042合并成的数据矩阵中每行的子测量项名称和测量子项值直接插入相应分类的测量子表中相应的行。
将表4数据矩阵中的第一行子测量项名称和测量子项的值插入相应分类对应的测量子表tpds_Location中的第一行,这里的插入即数据库中的insert操作,一次insert操作是可以多个字段的。此时如实施例二中步骤S203的表5所示。此后依次将数据矩阵各行子测量项名称和测量子项值填入相应分类的测量子表中相应的行,所有插入的操作次数就是所述数据矩阵的行数。则最终得到的测量子表如表6所示。
在实际应用中,测量子表也可以包含测量项(性能数据)的采集时间信息。即在设计测量子表时,就将测量项的采集时间设计进去即可。
厂家性能报告文件中包含有多个测量子项的名称,测量子项的名称按照各厂家的命名规范来定义,而这些命名规范规定了测量子项名称的构成方式,会记录在预定义的性能测试项分类信息中,例如测量子项后的子测量项名称是位置区编号的只能出现数字与下划线(“_”),或只能是字母与数字的组合,或其他规定的组合方式。在实施例一中的性能报告文件temp_file中,所有测量子项中子测量项的名称均以数字或数字与下划线命名。由于性能测量子项中子测量项的名称与测量项的名称用“.”分割,按照模式匹配的正则表达式方式将测量子项的名称描述为“测量项名称[.\d+_\d+]”和“测量项名称[.\d+]”。其中的“[”和“]”表示模式匹配正则表达式定义的开始与结束。“.”表示测量名称与测量子项的分隔符,“\d+_\d+”表示测量子项中子测量项的名称是由数字和下划线组成,“\d+”表示测量子项名称仅有数字组成。下划线前后的数字都是多个”0-9“中的数字(包括0和9)组成。
测量子项中子测量项的名称还可以为字符与数字组合的方式,字符在前,数字在后,可以定义模式匹配的方式如下[.[a-zA-Z]*\d+]。
该方法适用于有多级分类测量项的采集,只要有其中一级分类的测量项下包含了若干无固定名称与数目的子测量项。
进一步优选的技术方案可以是,基于上述两个实施例,其中的性能数据获取单元202还可以包括测量子项名称获取模块、测量子项值获取模块和子测量项名称获取模块。
测量子项名称获取模块,用于从所述性能报告文件中获取所有符合采集配置文件制作单元201制作的采集配置文件中模式匹配条件的测量子项名称。
如同前述步骤S301中,采集配置文件temp_config中分类标识名称tpds_Location下具有含模式匹配表达式的测量子项NbrSubsInVlr[.\d+_\d+],根据此从性能报告文件temp_file中获取分类标识tpds_Location下的测量项为NbrSubsInVlr的测量子项:
第18个数据,NbrSubsInVlr.460_0045323
第20个数据,NbrSubsInVlr.460_0045320
第22个数据,NbrSubsInVlr.460_0045317
第24个数据,NbrSubsInVlr.460_0045336
测量子项值获取模块,用于根据所述测量子项名称获取模块获得的测量子项名称,从性能报告文件中获取相应的测量子项值。
如同前述步骤S302中,从性能报告文件temp_file中,读取第18,20,22,24个数据,则取到相对应的4个测量子项值182,474,34,9。
子测量项名称获取模块,根据测量子项名称获取模块得到的测量子项名称以及测量子项名称的组成方式,获得子测量项名称。
通过模式匹配出来的测量子项,可以得出这些测量子项对应的子测量项的名称,例如模式匹配出来的测量子项为NbrSubsInVlr.460_0045323,则根据测量项、测量子项、子测量项名称的意义可得出NbrSubsInVlr为测量项名称,460_0045323为子测量项名称。
在性能报告文件中,测量子项的名称和测量子项的值有着一定的对应关系,这种对应关系根据厂家的不同而存在差异,有的性能报告文件中测量子项的名称和值是按照相同的位置存放,例如实施例一中的性能报告文件temp_file,测量项和值分区域存放,测量子项位于测量项存放区的第n行,其值就位于值存放区的第n个内容;有的性能报告文件是将测量项和值一起存放。因此找到测量子项的名称,即可获得测量子项的值。
以上所公开的实施例说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改变换对本领域的专业技术人员来说将是显而易见的,本文中所定义的原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。