CN1750484A - 对激励报文进行监控的装置及其方法 - Google Patents
对激励报文进行监控的装置及其方法 Download PDFInfo
- Publication number
- CN1750484A CN1750484A CN 200410074759 CN200410074759A CN1750484A CN 1750484 A CN1750484 A CN 1750484A CN 200410074759 CN200410074759 CN 200410074759 CN 200410074759 A CN200410074759 A CN 200410074759A CN 1750484 A CN1750484 A CN 1750484A
- Authority
- CN
- China
- Prior art keywords
- unit
- monitoring
- message
- monitoring range
- monitored
- 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
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种对激励报文进行监控的装置,包括监控范围单元组,所述监控范围单元组中包括多个针对同一报文域分别设置有不同监控范围的监控范围单元,所述监控范围单元包括样本计数器,用于在监控的报文域数据命中自身所在的监控范围单元时进行计数处理;监控单元,用于对不同报文域进行监控,所述监控单元包括采样单元,查询单元和控制单元;输出单元,分别与每个监控范围单元的样本计数单元连接,用于读取每个样本计数器的计数结果值并作输出处理。相应地,本发明还公开了一种对激励报文进行监控的方法。本发明增强了随机激励报文监控方式的通用性和灵活性。
Description
技术领域
本发明涉及通信领域的监控技术,更进一步涉及到一种对激励报文进行监控的装置及其方法。
背景技术
目前,为了缩减产品的设计周期和开发成本,厂家在开发通信类新的数字电路产品之前,首先采用在计算机上模拟数字电路逻辑的工作情况,即数字电路逻辑仿真过程,然后通过对数字电路逻辑仿真进行测试,以尽可能地发现数字电路逻辑仿真存在的问题,继而不断改进数字电路逻辑仿真中存在的问题,以便能够设计出更为成熟的数字电路产品。
最初,对数字电路逻辑仿真进行测试时,通常由测试人员根据数字电路逻辑的功能点来设计激励报文以施加给数字电路逻辑,业界将这种测试方法定义为直接测试,即仅仅对测试人员能够想到的功能点进行测试,因此覆盖面比较窄,从而可能导致漏测的情况发生。
直接测试举例如下:
定义激励报文类型:地址2比特;报文所在包长为14比特;激励报文长度受其所在包长的限制;
测试要求:要求在46~150比特、200~500比特和1000~1500比特的长度范围内各产生10个激励报文,各个激励报文的地址为同一个定值;
直接测试的做法通常是顺序产生这3种激励报文,每种激励报文各产生10个即可,这样直接测试只能将这30个激励报文分别施加给数字电路逻辑,以对数字电路逻辑仿真进行测试,所以其覆盖面相对比较窄。
而目前,在进行数字电路逻辑仿真测试过程中,业界通常采用随机激励的方式以产生激励报文施加给数字电路逻辑,期望通过随机激励报文达到更大范围的覆盖,从而减小漏测的机率,业界将这种测试方法定义为随机激励测试。但是尽管上述通过随机激励的方式来产生激励报文以施加给数字电路逻辑,可以减少漏测的机率,但却由于以随机激励方式产生的随机激励报文的结果难以预见,因此必须对随机激励产生的激励报文进行监控,以使测试人员能够准确得知随机激励所生成各类激励报文的结果。
针对上述直接测试所举之例,则随机激励测试的实现过程如下:
限制要产生的激励报文在合法范围内随机;并按测试要求设定3个监控范围,即分别为46~150比特、200~500比特和1000~1500比特,同时设定每个监控范围内的目标样本数,并为每个监控范围设置一个样本计数器;
在以随机激励方式产生激励报文的过程中,其报文长度是在合法范围内随机的,这样通过设置一个监控机制,以对随机激励产生的激励报文进行取样,并检查取样的激励报文是否命中上述三个监控范围,如果命中,则将对应监控范围内的样本计数器加1。这样要达到分别在46~150比特、200~500比特和1000~1500比特的三个范围内各产生10个激励报文的测试要求,则实际产生的激励报文数目一定会大于30,因为在随机激励过程中,产生的许多激励报文落在了监控范围之外,这样施加给数字电路逻辑的激励报文的类型及其数目都会增加,因此就扩大了对数字电路逻辑仿真测试的覆盖面。
现有技术中,在对数字电路逻辑仿真进行测试时,通常采用e语言来编写随机激励机制,以产生随机激励报文,并监控随机激励报文的产生情况。其中e语言是由verisity公司提出的准备提交到IEEE组织作为标准的一种仿真测试语言。
但是由于e语言是一种新的专用于仿真测试的语言,所以许多测试人员需要学习并了解e语言后,才能使用;同时由于使用e语言实现的随机激励机制和监控方式需要有专门的支持e语言的测试工具来支持,而目前支持e语言的测试工具价格都比较高,因此使用e语言实现随机激励报文的监控方式存在通用性较差的缺陷。
另外,由于e语言本身特性决定了由e语言实现的随机激励报文的监控方式不支持在仿真测试过程中实时读取监控结果的缺陷,从而导致只有等到测试完成后才能读取到监控结果,如果监控结果不满足要求,测试人员需要分析原因并重新修改e语言测试代码,进行重新测试,由此可见由e语言实现的随机激励报文监控方式其灵活性比较差。
发明内容
本发明要解决的技术问题是提出一种通用性较好的对激励报文进行监控的装置及其方法,以支持监控结果的实时读取,提高监控灵活性。
为解决上述问题,本发明提出了一种对激励报文进行监控的装置,用于对组成激励报文的报文域进行监控,包括:
至少一个监控范围单元组,所述监控范围单元组中包括多个针对同一报文域分别设置有不同监控范围的监控范围单元,所述监控范围单元包括:
样本计数器,用于在监控的报文域数据命中自身所在的监控范围单元时进行计数处理;
至少一个监控单元,每个监控单元和一个监控范围单元组连接,不同监控单元用于对不同报文域进行监控,所述监控单元包括:
采样单元,用于对监控的报文域数据进行采样处理;
查询单元,与所述采样单元连接,用于查询采样得到的报文域数据所命中的监控范围单元;
控制单元,分别与查询单元和样本计数器连接,用于根据查询结果,控制命中监控范围单元的样本计数器进行计数处理;
输出单元,分别与每个监控范围单元的样本计数单元连接,用于读取每个样本计数器的计数结果值并作输出处理。
所述装置还包括监控组单元,分别与每个监控单元连接,用于设置采样触发点,并在每个采样触发点发送触发采样信号给每个监控单元中的采样单元,触发采样单元对监控的报文域数据进行采样处理。
其中所述监控范围单元还包括用于存储自身监控范围内要监控到的目标样本值的存储单元。
其中所述监控单元还包括比较单元,分别与输出单元和对应监控范围单元组中每个监控范围单元的样本计数器和存储单元连接,用于对每个监控范围单元中样本计数器的计数结果值和存储单元存储的目标样本值进行比较,并将比较结果发送到输出单元作输出处理。
其中所述监控范围单元支持的监控范围表示方式包括:
单个无符号整数表示的监控范围;或
两个无符号整数所限定的区间表示的监控范围;或
由两个无符号整数所限定的区间和单个无符号整数组合所表示的监控范围;或
至少一个字节型数组所组成的集合表示的监控范围。
其中所述样本计数器进行的计数处理为累加1的计数处理。
其中所述监控范围单元、监控单元和监控组单元由TCL脚本模块实现。
相应地,本发明还提出了一种对激励报文进行监控的方法,用于对组成激励报文的报文域进行监控,包括步骤:
(1)分别为每个要监控的报文域设置至少一个监控范围,并为每个监控范围设置样本计数器;
(2)对要监控的报文域数据进行采样处理,并查询采样报文域数据所命中的相应监控范围;
(3)对命中的监控范围的样本计数器进行计数处理;
(4)读取每个样本计数器的计数结果值并输出。
其中所述步骤(2)进一步包括步骤:
(21)设置对要监控的报文域数据进行采样的采样触发点;
(22)在每个采样触发点,触发对要监控的报文域数据进行采样的操作。
其中所述步骤(1)中还包括为每个监控范围设置目标样本值的步骤。所述步骤(3)和(4)之间还包括步骤:
(31)将每个监控范围内的样本计数器计数结果值和目标样本值进行比较;
(32)读取比较结果并输出。
其中所述步骤(1)中还包括对每个样本计数器进行清零处理的步骤;步骤(3)所述的计数处理为累加1的计数处理。
其中所述监控范围的表示方式包括:
单个无符号整数表示的监控范围;或
两个无符号整数所限定的区间表示的监控范围;或
由两个无符号整数所限定的区间和单个无符号整数组合所表示的监控范围;或
至少一个字节型数组所组成的集合表示的监控范围。
由于本发明对激励报文进行监控的装置及其方法提出对要监控的激励报文中的报文域进行设置监控范围,并为监控范围设置目标样本值和样本计数器,并由样本计数器对相应报文域数据命中的监控范围进行计数处理,并支持将样本计数器计数处理得到的结果值随时输出,因此这种处理方案能够使激励报文的监控方式更为通用,使测试人员能够使用通过的脚本语言或高级语言就能编写激励报文的监控流程方案,从而增强了随机激励报文监控方式的通用性;而且由于本发明方案支持监控结果的实时输出,因此可以使测试人员能够随时分析监控结果,并动态调整随机激励报文的产生,从而达到闭环测试,并在监控结果满足要求的情况下及时结束数字电路逻辑仿真测试,因此避免了测试资源的浪费。
附图说明
图1是激励报文组成结构的逻辑示意图;
图2是标准IP报文由各个报文域组成的结构示意图;
图3是本发明对激励报文进行监控的装置的主体实现原理框图;
图4是本发明对激励报文进行监控的装置的具体实施逻辑组成框图;
图5是本发明对激励报文进行监控的方法的主要实现原理流程图;
图6是本发明对激励报文进行监控的方法的一具体实施例实现流程图。
具体实施方式
目前在进行数字电路逻辑仿真测试过程中,施加给数字电路逻辑的报文通常采用随机产生的激励报文,申请人在先申请《激励报文实现装置及方法和数字电路逻辑仿真的测试方法》(申请号为:200410036632.X)已经公开了一种随机激励报文的产生装置及其产生方法,具体实现原理请参见原申请文件。本发明这里承接在先申请《激励报文实现装置及方法和数字电路逻辑仿真的测试方法》的发明技术方案,提出了一种对激励报文进行监控的装置及其方法,以使激励报文的监控方式更为通用及其灵活,即测试人员可以选用通用的脚本语言模块来编写监控的实现流程,同时本发明提出的监控方式支持监控结果的实时读取,所以便于测试人员的随时分析和对测试方案的及时调整。
下面结合各个附图对本发明对激励报文进行监控的装置及其方法的具体实施过程进行详细阐述。
请参阅图1,该图是激励报文组成结构的逻辑示意图;一般一个激励报文是由多个报文域依次组成的,如图,一个激励报文可以依次由报文域1、报文域2......和报文域n组成,相应每个报文域都有自身的类型属性(Type)、长度属性(Size)和名称属性(Name)等。
例如,标准的IP报文结构,一般包括7个报文域,依次是前导码(Preamble),7字节长度;分隔位(SFD),1字节长度;目的地址(DestinationAddress),6字节长度;源地址(Source Address),6字节长度;类型字段(Type),2字节长度;数据段(Data),一般为46~1500字节长度和帧校验位(FrameCheck Sequence),4字节长度,具体请参阅图2。如在对数字电路逻辑进行仿真测试的过程中,如果施加给数字电路逻辑IP报文,则在某些情况下,可能需要对随机产生的IP报文中的目的地址域数据进行监控,以监控产生的发往特定IP地址范围段的IP报文数目,并根据监控得到的结果来控制IP报文后续产生的机制。
如上所述,在进行数字电路逻辑仿真测试的过程中,正是由于施加给数字电路逻辑的激励报文的各个报文域数据是随机产生的,所以测试人员往往需要对某个报文域数据的产生进行监控,以来估计测试质量。
请参阅图3,该图是本发明对激励报文进行监控的装置的主体实现原理框图;其中监控装置的主要组成部分包括:
至少一个监控范围单元组,其中每个监控范围单元组中包括的每个监控范围单元10针对同一报文域分别设置有不同的监控范围,即一个监控范围单元组用于监控激励报文中同一个报文域数据的产生,而同一个监控范围单元组中的每一个监控范围单元10对该同一个要监控的报文域设置一个监控范围,同一监控范围单元组中的每个监控范围单元10设置的对同一报文域进行监控的监控范围各不相同。
其中每个监控范围单元10设置的监控范围的表达方式可以包括但不限于以下几种方式:
1)单个无符号整数表示的监控范围;如用150表示一个监控范围,该监控范围只有一个整数数据点;
2)两个无符号整数所限定的区间表示的监控范围;如用50...100表示一个监控范围,则意义为大于等于50且小于等于100的一个整数数据区间所表示的范围;
3)由两个无符号整数所限定的区间和单个无符号整数组合所表示的监控范围;如用50...100,200...300,400所表示的监控范围,则表示由两个不连续整数区间和一个整数数据点所组成的监控范围;
4)至少一个字节型数组所组成的集合表示的监控范围;如用0x1122334455667788,0x998877665544表示的监控范围,每个字节型数据代表字节型数组所组成的集合中的一个点;一般大于4个字节的字节型数据都适合用这种监控范围方式表达;
此外除了上述的4种监控范围表达方式外,在落入这4种监控范围之外的报文域数据,还可以进而设置一个特殊的监控范围以对没有落入上述4种监控范围表达方式的其他报文域数据形式进行监控,如可以用Others表示。
至少一个监控单元20,每个监控单元20相应和一个监控范围单元组连接,其中不同监控单元20用于对激励报文中的不同报文域进行监控,如同时对激励报文中的两个报文域数据分别进行监控时,则需要分别设置两个不同的监控单元20以分别对这两个要监控的报文域数据进行监控。
监控组单元30,分别与每个监控单元20连接,用于设置采样触发点,并在每个采样触发点发送触发采样信号给每个监控单元20中,触发每个监控单元20对要监控的报文域数据进行采样处理。
这样,本发明对激励报文进行监控的装置基于上述所提出的分层结构,对报文域进行监控的主要原理如下:
监控单元20负责从要监控的报文域采样数据,其中一个或多个监控单元20由一个监控组单元30管理,而一个监控单元20包含多个监控范围单元10。监控范围单元10的一个实例表示一个监控数据范围(比如1到100的监控数据范围),测试人员也可以设置在该监控范围内的期望目标样本数,也可以随时读出该监控范围被采样报文域数据命中的次数。测试人员可以通过控制命令触发监控组单元30控制其下管理的每个监控单元20对相应要监控的报文域数据进行采样。
监控单元20对要监控的报文域采样得到数据后,遍历其下管理的每个监控范围单元10,判断采样得到的报文域数据是否命中某个监控范围单元10所设置的监控范围(采样报文域数据在某个监控范围内,表示命中),如果命中,被命中的监控范围单元10的命中次数就递增1即可。
基于上述监控实现原理,请参阅图4,该图是本发明对激励报文进行监控的装置的具体实施逻辑组成框图。其中该监控装置除包含上述的监控范围单元10、监控单元20和监控组单元30外,还包括输出单元40;而每个监控范围单元10中又进而包括样本计数器11和存储单元12,而每个监控单元20中又进而包括采样单元21、查询单元22、控制单元23和比较单元24,下面将上述这些单元组合在一起,具体说明本发明监控装置的具体工作原理:
监控范围单元10,对要监控的激励报文中的某个报文域设置一个监控范围,可以使用上述所描述的各种监控范围表达方式的其中一种;
监控范围单元10中包含有样本计数器11,用于为该监控范围单元10所设置的监控范围设置计数功能,以使监控得到的报文域数据命中该监控范围单元10时,样本计数器11对该次的命中行为进行计数处理,其中样本计数器11的计数处理可以选用在识别到每次命中行为时,进行累加1的计数处理;
监控范围单元10中还包含有存储单元12,以存储在该监控范围单元10设置的监控范围内所要求监控的目标样本值;
监控单元20,每个监控单元20相应管理一个监控范围单元组,即管理多个监控范围单元10,其中不同监控单元20用于对激励报文中的不同报文域进行监控;
其中每个监控单元20中包括:
采样单元21,用于对要监控的报文域数据进行采样处理;
查存单元22,与采样单元21连接,用于查询采样单元21采样得到的报文域数据所命中的监控范围单元10,即采样报文域数据落在哪个监控范围单元10所限定的监控范围内,则即命中哪个监控范围单元10;
控制单元23,分别与查询单元22和监控范围单元10中的样本计数器11连接,用于根据查询单元22的查询结果,控制命中的监控范围单元10中的样本计数器11进行计数处理,这里采用累加1的计数处理;
比较单元24,分别与监控范围单元10中的样本计数器11和存储单元12连接,用于对每个监控范围单元10中的样本计数器11的计数结果值和存储单元12中存储的目标样本值进行比较,以得出比较结果;
监控组单元30,分别与每个监控单元20连接,用于设置采样触发点,并在每个采样触发点发送触发采样信号给每个监控单元20,触发每个监控单元20对要监控的报文域数据进行采样处理;其中采样触发点可以通过采用设置周期触发规律来实现,也可以采用定时触发规律来实现;
输出单元40,分别与监控单元20中的比较单元24和监控范围单元10中的样本计数器11连接,用于根据测试人员的实际测试需要,随时读取样本计数器11的计数结果值,或读取比较单元24的比较结果值。
综上可见,上述的监控装置具有较好的分层结构模型,而正是因为具有这种较好的分层结构模型,所以可以实现测试人员使用通用的TCL脚本模块来实现各个单元的编写工作,因此对于测试人员而言,具有较好的通用性;而且在数字电路逻辑仿真测试过程中,这种通用性较好的监控装置不需要专门的测试工具来支持,如支持e语言的测试工具,只需要使用通用的测试工具来支持即可,如支持TCL脚本模块的测试工具,因此可以减小测试成本。
如用TCL脚本模块实现的监控范围单元10的实现方式如下:
监控范围单元10用TCL脚本CsegmentRange表示,赋予监控范围单元10一个名称属性(英文符号:name)、一个表示监控范围的属性(英文符号:range),一个目标样本值属性(英文符号:goal)和一个样本计数器属性(英文符号:hits),监控范围单元10中样本计数器在监控报文域数据命中时进行计数处理的方式有如下两个方法(用TCL脚本bHitRange表示):
bHitRange(Unit Value) //指对监控的报文域数据为无符号整数时进
行的计数处理
bHitRange(Byte Array Value) //指对监控的报文域数据为字节型数组时
进行的计数处理
这是一个多态方法,分别处理不同报文域数据类型的数据,该计数处理方式首先判断监控的报文域数据属性Value是否在属性Range表示的监控范围内,如果监控的报文域数据属性Value在range表示的监控范围内,就递增样本计数器属性hits的值,然后返回true(true为bool型数据,表示真的意思);否则返回false(false也为bool型数据,表示假的意思)。
用TCL脚本Set Range(Rang String)用于表示设置监控范围,其中RangString是来自测试人员输入的表示监控范围的字符串,该监控范围设置方式支持如下几种表示监控范围的字符串格式:
1)150
以单个无符号整数表示的监控范围,该监控范围只有一个数据点150;
2)50...100
大于等于50,且小于等于100的一个无符号整数区间表示的监控范围;
3)50...100,200...300,400
由两个不连续无符号整数区间和一个无符号整数点组成的监控范围;
4)0x1122334455667788,0x998877665544
一组字节型数组所组成的集合表示的监控范围,每个字节型数据代表该集合中的一个点。一般大于4个字节的字节型数据都使用这种方式进行表示;
5)others
用TCL脚本others表示的监控范围,是一种特殊的范围表示,用于表示监控的报文域数据不在上述几种监控范围表达方式内时,都归属到该监控范围表达方式内即可。
其中监控范围的设置SetRange解析测试人员输入的表示监控范围的字符串,并将解析结果存储在监控范围属性Range中。
用TCL脚本模块实现的监控单元20的实现方式如下:
监控单元20用TCL脚本Cbase Object表示,赋予监控单元20一个名称属性(英文符号:name),用于创建监控单元Cbase Object的实例时,指定一个唯一的名称标识;一个容器属性(英文符号:Segment Container),用于保存各个监控范围单元CsegmentRange的实例(一个实例即为一个监控范围),一个数据源属性(英文符号:Data Src Name)和一个数值类型属性(英文符号:Value Type)。
其中创建监控单元20中的每个监控范围单元10的过程用TCL脚本AddSegment(Segment Name,Segment Range String)表示,该创建过程如下:
建立每个监控范围单元CSegmentRange实例;
调用新建的监控范围单元CSegmentRange实例的Set Range(SegmentRange String)方式以完成监控范围的初始化;
然后将该初始化的每个监控范围单元CSegmentRange实例插入监控单元20的Segment Container容器中,Segment Container容器按照监控范围单元CSegmentRange加入容器的先后时间来排序每个监控范围单元CSegmentRange实例。
其中TCL脚本Add Segment用于查询新建的监控范围单元CSegmentRange实例,如果它是一个表示others监控范围内的监控范围单元CSegmentRange实例,必须满足如下条件:
该监控范围单元CSegmentRange实例不能是Segment Container容器中的第一个;
同时该监控范围单元CSegmentRange实例只能是Segment Container容器中的最后一个。
其中根据监控到的报文域数据查询所命中的监控范围单元的操作用TCL脚本Stat()表示,该方式根据Value Type属性的值,调用数据源Data Src Name的getv(),取得数据的值Value,然后依次轮询Segment Container容器中的每个CSegmentRange实例,对Value命中的监控范围单元CSegmentRange实例调用该CSegmentRange实例的bHitRange(Value),如果bHitRange已经返回true,就停止轮询。
在具体实现过程中,监控单元Cbase Object还有其它一些辅助方法,比如根据监控范围单元CsegmentRange的名称属性取得内部Segment Container容器管理的相应监控范围单元CSegmentRange实例的句柄,并查询监控单元Cbase Object内有多少个监控范围单元CSegmentRange实例。
用TCL脚本模块实现的监控组单元30的实现方式如下:
监控组单元30用于管理一组被同时采样的监控单元20,监控组单元30被一个外部过程触发,监控组单元30在被触发时将遍历内部管理的所有监控单元20,控制每个监控单元20的采样过程。测试人员可以根据具体需要向监控组单元30中添加监控单元20,并可以为监控单元20设置其他监控范围。
监控组单元30用TCL脚本Ccover Suit表示,赋予监控组单元30一个名称属性(英文符号:name),用于在创建监控组单元Ccover Suit实例时,指定一个唯一的名称标识;一个用于管理监控单元Cbase Object实例的容器属性(英文符号:Base Object Container)。
其中创建监控组单元30中的每个监控单元20的过程用TCL脚本Add Obj(obj Name,Data Src Name)表示,用于向监控组单元30中添加监控单元Cbase Object实例。该创建过程如下:
首先建立一个名称为obi Name的监控单元Cbase Object实例,将数据源属性参数Data Src Name设置到新建的监控单元CBaseObject实例的数据源属性Data Src Name中;
根据数据源属性Data Src Name,查询数据源的数据类型type和size属性,判决并设置新建监控单元CBaseObject实例的Value Type属性的值=CONT_UINT_TYPE(无符号整数)或CONT_BYTE_ARRAY_TYPE(字节型数组),然后将新建的监控单元CBaseObject实例插入到Base Object Container容器中。
而监控组单元30中的TCL脚本Stat()表达方式用于表征监控组单元30遍历内部管理的所有监控单元Cbase Object实例,并调用每个监控单元CbaseObject实例的Stat()。
在具体实现过程中,监控组单元Ccover Suit还有其它一些辅助方法,比如根据监控单元Cbase Object实例的名称属性取得内部Base Object Container容器管理的某个监控单元CBaseObject实例的句柄,并查询监控组单元30的容器Base Object Container内有多少监控单元Cbase Object实例。
上述监控范围单元10、监控单元20和监控组单元30一般被脚本语言,如TCL语言封装成脚本命令,而封装成的脚本命令的表现形式可以是多种多样的。下面以一个典型的应用实例—监控IP报文的相关报文域为例来详细说明本发明的实现过程:
coversuit ipcoversuit #定义一个名为ipcoversuit的监控组单元;
object ver ip_pkt.ver #向ipcoversuit监控组单元添加一个名为ver
的监控单元,其监控对象为报文结构ip_pkt
的名为ver的域;
object src ip_pkt.src #向ipcoversuit监控组单元添加一个名为src
的监控单元,其监控对象为报文结构ip_pkt
的源ip地址域;
end coversuit #结束向ipcoversuit监控组单元添加监控单
元操作;
segment ipv6 ipcoversuit.ver range={6}goal=100
#为监控单元ver添加一个名为ipv6的监控
范围单元,监控范围等于6,要求达到100
个目标样本值;
segment ipv4 ipcoversuit.ver range={4}goal=200
#为监控单元ver添加一个名为ipv4的监控
范围单元,监控范围等于4,要求达到200
个目标样本值;
segment others ipcoversuit.ver range=others goal=50
#为监控单元ver添加一个名为others的监
控范围单元,监控范围是不包括4和6的
无符号整数,要求达到50个目标样本值;
segment broadcast ipcoversuit.src range={0xffffffff,0x00112233..0x001122ff}
goal=50
#为监控单元src添加一个名为broadcast的
监控范围单元,监控范围是广播地址,要
求达到50个目标样本值;
segment nomal ipcoversuit.src range={0x00112233..0x001122ff,0x00111111}
goal=120
#为监控单元src添加一个名为nomal的监控
范围单元,监控范围是一个地址区间,要求
达到120个目标样本值;
segment others ipcoversuit.src range=others goal=120
#为监控单元src添加一个名为others的监控
范围单元,监控范围是非广播地址和非
{0x00112233..0x001122ff,Ox00111111}的其它
ip地址,要求达到120个目标样本值;
其中对报文域启动采样监控过程,一般是在激励报文构造完成后进行,其中激励报文的构造过程请参照申请人在先申请《激励报文实现装置及方法和数字电路逻辑仿真的测试方法》,这里不再过多赘述。这里在IP报文构造完成后,将启动监控采样操作,如下:
monitor ipcoversuit #monitor命令用于报文域数据的采样监控;
get hits ipcoversuit.ver.ipv6 #取得监控单元ver的监控范围单元ipv6的当
前计数结果值;
get goal ipcoversuit.ver.ipv6 #取得监控单元ver监控范围单元ipv6的目标
样本值;
判决是否停止仿真、继续仿真或调整随机激励报文的产生条件;如果监控范围单元的计数结果值低于目标样本值,调整对应报文域的约束条件,继续仿真测试;如果监控范围单元的计数结果值高于目标样本值,则可以终止仿真测试;具体脚本语言描述如下:
set real[get hits ipcoversuit.ver.ipv6] #将取得的监控单元ver的监控范围
单元ipv6的当前计数结果值赋予一
个变量;
set goal[get goal ipcoversuit.ver.ipv6] #将取得的监控单元ver的监控范围
单元ipv6的目标样本值赋予另一个
变量;
if{$real<$goal} #如果监控范围单元的计数结果值高
于目标样本值;
stop #终止仿真测试;
相应地,本发明还提出了一种对激励报文进行监控的方法,请参阅图5,该图是本发明对激励报文进行监控的方法的主要实现原理流程图;其主要实现过程如下:
步骤S10,分别为每个要监控的报文域设置至少一个监控范围;其设置的监控范围数目视具体测试需求而设置;其中监控范围的表示方式可以但不限于以下方式:
单个无符号整数表示的监控范围;或
两个无符号整数所限定的区间表示的监控范围;或
由两个无符号整数所限定的区间和单个无符号整数组合所表示的监控范围;或
至少一个字节型数组所组成的集合表示的监控范围。
步骤S20,为每个设置的监控范围设置一个对应的样本计数器;
步骤S30,对要监控的激励报文的报文域数据进行采样处理;
步骤S40,根据步骤S30采样得到的报文域数据,遍历步骤S10中为该报文域设置的每个监控范围,以查询到采样报文域数据所命中的监控范围;
步骤S50,根据步骤S40的查询结果,对采样报文域数据所命中的监控范围的样本计数器进行计数处理;其中样本计数器的计数处理可以采用每被命中一次进行一次累加1的计数处理,这样在初始阶段应该对每个样本计数器进行清零处理;
步骤S60,测试人员根据需要随时可以读取每个样本计数器的计数结果值并进行输出处理。
请参阅图6,该图是本发明对激励报文进行监控的方法的一具体实施例实现流程图;如图6该实施例的主要实现过程如下:
步骤S100,分别为每个要监控的报文域设置至少一个监控范围;
步骤S200,为每个设置的监控范围设置一个对应的样本计数器;
步骤S300,根据测试需要,为设置的每个监控范围设置一个目标样本值;
步骤S400,设置对要监控的报文域数据进行采样的采样触发点;其中采样触发点可以选用周期触发规律,也可以选用定时触发规律;
步骤S500,到达设置的每个采样点,发送触发采样信息,以进行采样监控报文域数据的操作;
步骤S600,根据步骤S500采样得到的报文域数据,遍历步骤S100中为该报文域设置的每个监控范围,以查询到采样报文域数据所命中的监控范围;
步骤S700,根据步骤S600的查询结果,对采样报文域数据所命中的监控范围的样本计数器进行计数处理;
步骤S800,将每个监控范围内的样本计数器计数结果值和步骤S300中设置的目标样本值进行比较,并根据需要随时读取比较结果并进行输出处理。
综上所述,本发明对激励报文进行监控的装置及其方法是在常规测试语言和工具的基础上,设计出的随机激励报文的监控技术,这种监控技术可以使用测试人员熟悉的脚本语言如TCL,来定义监控目标(即要监控的报文域)、设定监控目标的监控范围以及监控目标的目标样本值,支持仿真测试过程中监控结果的实时读取,测试人员因此可以编写出测试脚本程序,根据实时读取的监控结果动态调整随机激励报文的产生,从而达到闭环控制,并可以在监控结果满足要求时立即结束仿真测试,以避免测试资源的浪费。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (13)
1、一种对激励报文进行监控的装置,用于对组成激励报文的报文域进行监控,其特征在于,包括:
至少一个监控范围单元组,所述监控范围单元组中包括多个针对同一报文域分别设置有不同监控范围的监控范围单元,所述监控范围单元包括:
样本计数器,用于在监控的报文域数据命中自身所在的监控范围单元时进行计数处理;
至少一个监控单元,每个监控单元和一个上述的监控范围单元组连接,不同监控单元用于对不同报文域进行监控,所述监控单元包括:
采样单元,用于对监控的报文域数据进行采样处理;
查询单元,与所述采样单元连接,用于查询采样得到的报文域数据所命中的监控范围单元;
控制单元,分别与查询单元和样本计数器连接,用于根据查询结果,控制命中监控范围单元的样本计数器进行计数处理;
输出单元,分别与每个监控范围单元的样本计数单元连接,用于读取每个样本计数器的计数结果值并作输出处理。
2、根据权利要求1所述的对激励报文进行监控的装置,其特征在于,所述对激励报文进行监控的装置还包括监控组单元,分别与每个所述的监控单元连接,用于设置采样触发点,并在每个采样触发点发送触发采样信号给每个监控单元中的采样单元,触发采样单元对监控的报文域数据进行采样处理。
3、根据权利要求1所述的对激励报文进行监控的装置,其特征在于,所述监控范围单元还包括用于存储自身监控范围内要监控到的目标样本值的存储单元。
4、根据权利要求3所述的对激励报文进行监控的装置,其特征在于,所述监控单元还包括比较单元,分别与输出单元和对应监控范围单元组中每个监控范围单元的样本计数器和存储单元连接,用于对每个监控范围单元中样本计数器的计数结果值和存储单元存储的目标样本值进行比较,并将比较结果发送到输出单元作输出处理。
5、根据权利要求1、3或4所述的对激励报文进行监控的装置,其特征在于,所述监控范围单元支持的监控范围表示方式包括:
单个无符号整数表示的监控范围;或
两个无符号整数所限定的区间表示的监控范围;或
由两个无符号整数所限定的区间和单个无符号整数组合所表示的监控范围;或
至少一个字节型数组所组成的集合表示的监控范围。
6、根据权利要求1或4所述的对激励报文进行监控的装置,其特征在于,所述样本计数器进行的计数处理为累加1的计数处理。
7、根据权利要求2所述的对激励报文进行监控的装置,其特征在于,所述监控范围单元、监控单元和监控组单元由TCL脚本模块实现。
8、一种对激励报文进行监控的方法,用于对组成激励报文的报文域进行监控,其特征在于,包括步骤:
(1)分别为每个要监控的报文域设置至少一个监控范围,并为每个监控范围设置样本计数器;
(2)对要监控的报文域数据进行采样处理,并查询采样报文域数据所命中的相应监控范围;
(3)对命中的监控范围的样本计数器进行计数处理;
(4)读取每个样本计数器的计数结果值并输出。
9、根据权利要求8所述的对激励报文进行监控的方法,其特征在于,所述步骤(2)进一步包括步骤:
(21)设置对要监控的报文域数据进行采样的采样触发点;
(22)在每个采样触发点,触发对要监控的报文域数据进行采样的操作。
10、根据权利要求8所述的对激励报文进行监控的方法,其特征在于,所述步骤(1)中还包括为每个监控范围设置目标样本值的步骤。
11、根据权利要求10所述的对激励报文进行监控的方法,其特征在于,所述步骤(3)和(4)之间还包括步骤:
(31)将每个监控范围内的样本计数器计数结果值和目标样本值进行比较;
(32)读取比较结果并输出。
12、根据权利要求8所述的对激励报文进行监控的方法,其特征在于,
所述步骤(1)中还包括对每个样本计数器进行清零处理的步骤;
步骤(3)所述的计数处理为累加1的计数处理。
13、根据权利要求8、10或11所述的对激励报文进行监控的方法,其特征在于,所述监控范围的表示方式包括:
单个无符号整数表示的监控范围;或
两个无符号整数所限定的区间表示的监控范围;或
由两个无符号整数所限定的区间和单个无符号整数组合所表示的监控范围;或
至少一个字节型数组所组成的集合表示的监控范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100747590A CN1332537C (zh) | 2004-09-14 | 2004-09-14 | 对激励报文进行监控的装置及其方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2004100747590A CN1332537C (zh) | 2004-09-14 | 2004-09-14 | 对激励报文进行监控的装置及其方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1750484A true CN1750484A (zh) | 2006-03-22 |
CN1332537C CN1332537C (zh) | 2007-08-15 |
Family
ID=36605752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004100747590A Expired - Fee Related CN1332537C (zh) | 2004-09-14 | 2004-09-14 | 对激励报文进行监控的装置及其方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1332537C (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130789A (zh) * | 2011-04-15 | 2011-07-20 | 北京网御星云信息技术有限公司 | 一种基于应用组的流测量采样方法、装置及系统 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH08297596A (ja) * | 1995-04-25 | 1996-11-12 | Mitsubishi Electric Corp | サンプリングトレース回路 |
CN1235278C (zh) * | 2002-09-11 | 2006-01-04 | 华为技术有限公司 | 通用数字电路仿真测试系统及测试方法 |
CN1224216C (zh) * | 2003-06-30 | 2005-10-19 | 港湾网络有限公司 | 宽带通信逻辑仿真平台设计的验证方法 |
-
2004
- 2004-09-14 CN CNB2004100747590A patent/CN1332537C/zh not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102130789A (zh) * | 2011-04-15 | 2011-07-20 | 北京网御星云信息技术有限公司 | 一种基于应用组的流测量采样方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN1332537C (zh) | 2007-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1299224C (zh) | Url检索系统、服务器及url检索方法 | |
CN1235389C (zh) | 图像信息分布方法及系统、中央和终端设备及扫描仪 | |
CN1221088C (zh) | 通信控制系统、通信控制方法、服务控制站和通信控制站 | |
CN1945476A (zh) | 生产管理装置、生产管理方法以及生产管理系统 | |
CN1551583A (zh) | 数据包通信装置 | |
CN101056208A (zh) | 业务跟踪方法、网络设备、o&m控制器、业务请求装置 | |
CN1520123A (zh) | 对地址询问的回答方法、程序、装置和地址通知方法、程序、装置 | |
CN1756197A (zh) | 用于管理设备的系统、设备、方法和计算机程序产品 | |
CN1531287A (zh) | 一种通信流模板分组过滤的装置和方法 | |
CN101061688A (zh) | 基于简单网络管理协议的网络管理设备和方法 | |
CN1885273A (zh) | 一种逻辑测试的功能覆盖率分析方法 | |
CN1916920A (zh) | 一种功能覆盖率测试度量系统和方法 | |
CN101075911A (zh) | 统计信息收集系统及统计信息收集装置 | |
CN1845213A (zh) | 一种实现sms4密码算法中加解密处理的方法 | |
CN1737598A (zh) | 用于配置在线测试的自动化调试的方法和装置 | |
CN1838642A (zh) | 利用即时消息系统实现问答业务的方法及系统 | |
CN1519753A (zh) | 程序、字符输入编辑方法、装置及记录媒体 | |
CN1794647A (zh) | 在设备管理中上报终端信息的方法及系统 | |
CN1225704C (zh) | 中继方法和代理服务器设备 | |
CN101055566A (zh) | 一种电子数据表的函数收集方法和装置 | |
CN101047555A (zh) | 一种设备质量检查方法 | |
CN101055569A (zh) | 一种电子数据表的函数收集方法和装置 | |
CN101080077A (zh) | 设备管理树的维护方法及终端设备 | |
CN101032135A (zh) | 通信网络管理方法、访问路由器和移动通信装置 | |
CN1835508A (zh) | 转发与控制分离网络件内信息交换的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20070815 Termination date: 20160914 |