一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于被测系统自动分层探测技术的性能测试与监控系统的制作方法

2021-11-03 14:54:00 来源:中国专利 TAG:


1.本发明涉及性能测试与监控技术领域,尤其涉及基于被测系统自动分层探测技术的性能测试与监控系统。


背景技术:

2.在金融行业中,如证券期货行业软件之类的软件系统是错综复杂的,且对软件系统的性能要求很高,为了确保该软件系统能够高可靠性的运行以及能够对该软件系统进行性能测试,通常会针对该软件系统设置监控软件。
3.然而,现有的金融行业的监控软件不具备多层次监控的能力,且仅仅能起到监控作用(记录、警报、上传等),在进行性能测试时,需要测试设计人员对监控软件产生的数据进行人工分析设计性能测试用例。
4.这种方式下数据的利用率完全依赖于测试设计人员的经验和精力,往往难以对监控数据进行有效分析和充分利用。


技术实现要素:

5.为了解决上述技术问题,本发明提供了一种基于被测系统自动分层探测技术的性能测试与监控系统,以使监控软件同时起到监控、数据自主分析以及生成测试数据,提高测试数据利用率。
6.为此,本发明提供了以下技术方案:
7.本发明提供了一种基于被测系统自动分层探测技术的性能测试与监监控系统,所述监控系统包括:
8.分层探测模块,包括针对被测系统,在tcp/ip协议栈的应用层、传输层和网络层分别添加的探针,用于对被测系统进行分层探测,捕获并过滤网络数据包;
9.协议筛选模块,用于在捕获并过滤网络数据包后采用通过监督学习得到的决策树预测模型进行逐层协议解析;
10.关键字分析模块,用于对报文内容按照设定的关键字进行分析;
11.测试数据生成模块,用于根据用户需要对报文相关内容按照日志记录、显示的格式进行格式化,并写入相应的本地数据库中。
12.进一步地,探针主要包括网络分接头和数据过滤器;网络分接头从网络设备驱动程序中收集数据拷贝,数据过滤器决定是否接收该数据包。
13.进一步地,数据过滤器决定是否接收该数据包,包括:数据过滤器根据用户定义的规则决定是否接收此数据包以及需要拷贝该数据包的哪些内容,然后将过滤后的数据发送到与过滤器相关联的上层应用程序。
14.进一步地,如果没有设置过滤规则,所有数据包都将放入内核缓冲区,并传递给用户层缓冲区。
15.进一步地,还包括:在进行测试之前,将被测系统的属性值输入到监控系统中。
16.进一步地,被测系统的属性包括以下属性:
17.属性a:交易主体,包括交易所、券商;
18.属性b:交易类型,包括期货、证券、基金;
19.属性c:软件开放商;
20.属性d:交易接口。
21.进一步地,监督学习过程主要包括决策树生成和决策树剪枝两个过程;
22.所述决策树生成过程包括:
23.设s是s个数据样本的集合;假定类标号c
i
,i=1,
……
,m,具有m个不同的值,设s
i
是类c
i
中的样本数;对一个给定的样本分类所需的期望信息由下式给出:
[0024][0025]
其中,p
i
是任意样本属于c
i
的概率,并用s
i
/s来估计;
[0026]
设属性a具有v个子集s1,
……
,s
v
;其中,s
j
包含s中这样一些样本,它们在a上具有值a
j
;如果a选作测试属性,则这些子集对应于由包含集合s的节点生长出来的分枝;
[0027]
设s
ij
是子集s
j
中类c
i
的样本数;
[0028]
根据由a划分成子集的熵e(a)由下式给出:
[0029][0030]
其中,项充当第j个子集的权,并且等于子集,即a值为a
j
中的样本个数除以s中的样本总数;熵值越小,子集划分的纯度越高;
[0031]
对于给定的子集s
j
有:
[0032][0033]
其中,是s
j
中的样本属于类c
i
的概率;
[0034]
在a上分枝将获得的编码信息是:
[0035]
gain(a)=i(s1,
……
,s
m
)

e(a);
[0036]
信息增益比例计算增益比例如下:
[0037][0038]
其中,s1到s
c
是c个值的属性a分割s而形成的c个样本子集;
[0039]
这时,在属性a上所得到的信息增益比为:
[0040][0041]
该算法计算每个属性的信息增益比,具有最高信息增益比的属性选作给定集合s的测试属性;
[0042]
创建一个节点,并以该属性标记,对属性的每个值创建分枝,并据此划分样本;
[0043]
决策树剪技过程包括:
[0044]
采用后剪枝方法,具体公式如下:
[0045][0046]
其中n是实例的数量,f=e/n为观察到的误差率,e为n个实例中分类错误的个数,q为真实的误差率,c为置信度,z为对应于置信度c的标准差,其值可根据c的设定值通过查正态分布表得到;
[0047]
通过该公式即可计算出真实误差率q的一个置信区间上限,用此上限为该节点误差率e做一个悲观的估计:
[0048][0049]
通过判断剪枝前后e的大小,从而决定是否需要剪枝。
[0050]
进一步地,所述被测系统为证券期货软件系统。
[0051]
本发明的优点和积极效果:
[0052]
本发明中,针对被测系统在tcp/ip协议栈的每一层添加了探针,实现了自动分层探测;而且,本发明中应用了大数据分析构造决策树,使监控软件在监控的同时具备了机器学习的能力,可以集成有效监控、数据测试、数据分析、测试数据生成功能于一体,提高了测试效率。同时运用了机器学习、大数据分析技术预测了未来金融行业的性能指标趋势。
附图说明
[0053]
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0054]
图1为本发明实施例中自动分层决策树示意图;
[0055]
图2为本发明实施例中监督学习决策树示意图。
具体实施方式
[0056]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
[0057]
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆
盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0058]
本发明主要针对金融行业软件系统的性能测试,重点应用于证券期货相关系统,如图1所示,本发明实施例中的基于被测系统自动分层探测技术的性能测试与监控系统中,针对被测系统在tcp/ip协议栈的每一层添加探针,主要涉及应用层、传输层、网络层,包括但不局限于以下协议:http、ftp、telnet、smtp、pop3、tcp、udp、ip。用以采集网络延时、cpu及内存等硬件信息,在网络分层的基础上引入决策树模型,按层级自上而下的关键字检索及匹配,并进行相应记录。
[0059]
探针主要由网络分接头和数据过滤器两部分组成。网络分接头从网络设备驱动程序中收集数据拷贝,数据过滤器决定是否接收该数据包。探针在监控的网络中将网卡驱动接收到的数据包复制一份交给数据过滤器,数据过滤器根据用户定义的规则决定是否接收此数据包以及需要拷贝该数据包的哪些内容,然后将过滤后的数据发送到与过滤器相关联的上层应用程序。
[0060]
该探针的包捕获机制是当一个数据包到达网络接口时,探针首先利用已经创建的socket从链路层驱动程序中获得该数据包的拷贝,并将该数据包发给数据过滤器。数据过滤器根据用户已经定义好的过滤规则对数据包进行逐一匹配,匹配成功则放入内核缓冲区,并传递给用户缓冲区,匹配失败则直接丢弃。如果没有设置过滤规则,所有数据包都将放入内核缓冲区,并传递给用户层缓冲区。捕获、过滤网络数据包后进行逐层协议解析(详细解析过程见下方c4.5算法),并对报文内容按照设定的关键字进行分析,最后根据用户需要对报文相关内容按照日志记录、显示的格式进行格式化,并写入相应的本地数据库中。
[0061]
本发明实施例中的性能测试与监控系统拥有督促学习能力,因此在进行测试之前,需将被测系统的属性值输入到监控系统中,便于后续测试中使用。
[0062]
由于本发明针对证券期货行业,因此可将被测系统的属性进行划分,包括但不局限于以下属性:
[0063]
属性a:交易主体,如交易所、券商;
[0064]
属性b:交易类型,如期货、证券、基金;
[0065]
属性c:软件开放商:开发商a、开发商b;
[0066]
属性d:交易接口:api、协议报文;
[0067]
本发明实施例中的性能测试与监控系统采用c4.5算法作为决策树算法,决策树作为预测模型,代表对象属性与对象值之间的一种映射关系。树中每个节点表示某个对象属性,每个分叉路径则代表的某个可能的属性值,而每个叶结点则对应从根节点到该叶节点所经历的路径所表示的对象的值。整个监督学习过程主要包括决策树生成和决策树剪枝两个过程。
[0068]
1、决策树生成:
[0069]
本发明实施例中,基于c4.5算法由训练样本集生成决策树,训练样本数据集是根据实际需要有历史的、有一定综合程度的,用于数据分析处理的数据集,需要在长期测试项目中进行积累。
[0070]
所使用的算法在继承了id3算法的基础上,采用信息增益率作为选择分支属性的
标准,克服了id3算法中信息增益选择属性时偏向选择取值多的属性的不足,并能够完成对连续属性离散化处理,还能够对不完整数据进行处理。
[0071]
c4.5算法以信息论为基础,以信息熵和信息增益度为衡量标准,从而实现对数据的归纳分类。
[0072]
算法具体操作如下:
[0073]
设s是s个数据样本的集合。假定类标号c
i
(i=1,
……
,m)具有m个不同的值,设s
i
是类c
i
中的样本数。对一个给定的样本分类所需的期望信息由下式给出:
[0074][0075]
其中,p
i
是任意样本属于c
i
的概率,并用s
i
/s来估计。设属性a具有v个子集s1,
……
,s
v
;其中,s
j
包含s中这样一些样本,它们在a上具有值a
j
。如果a选作测试属性,则这些子集对应于由包含集合s的节点生长出来的分枝。设s
ij
是子集s
j
中类c
i
的样本数。
[0076]
根据由a划分成子集的熵e(a)由下式给出:
[0077][0078]
其中,项充当第j个子集的权,并且等于子集(即a值为a
j
)中的样本个数除以s中的样本总数。熵值越小,子集划分的纯度越高。
[0079]
对于给定的子集s
j
有:
[0080][0081]
其中,是s
j
中的样本属于类c
i
的概率。
[0082]
在a上分枝将获得的编码信息是:
[0083]
gain(a)=i(s1,
……
,s
m
)

e(a);
[0084]
信息增益比例计算增益比例如下:
[0085][0086]
其中,s1到s
c
是c个值的属性a分割s而形成的c个样本子集。
[0087]
这时,在属性a上所得到的信息增益比为:
[0088][0089]
该算法计算每个属性的信息增益比。具有最高信息增益比的属性选作给定集合s的测试属性。创建一个节点,并以该属性标记,对属性的每个值创建分枝,并据此划分样本。
[0090]
2、决策树剪技:
[0091]
决策树的剪枝是对上一阶段生成的决策树进行检验、校正和修改的过程,主要是用新的测试数据集中的数据校验决策树生成过程中产生的初步规则,将那些影响预衡准确性的分枝剪除。
[0092]
该算法采用后剪枝方法,具体公式如下:
[0093][0094]
其中n是实例的数量,f=e/n为观察到的误差率(其中e为n个实例中分类错误的个数),q为真实的误差率,c为置信度(c4.5算法的一个熟人参数,默认值为0.25),z为对应于置信度c的标准差,其值可根据c的设定值通过查正态分布表得到。通过该公式即可计算出真实误差率q的一个置信区间上限,用此上限为该节点误差率e做一个悲观的估计:
[0095][0096]
通过判断剪枝前后e的大小,从而决定是否需要剪枝。由于金融行业系统之间的共通性,当监控系统充分学习后,在承接新的测试任务时,便可使用监督学习后生成的决策树进行监控协议筛选,从而提高测试效率。同时,本系统可以利用大数据学习算法,学习样本测试数据,进而生成各种性能场景的测试数据,直接用于向被测系统加压。
[0097]
在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
[0098]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0099]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0100]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read

only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
[0101]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术
方案的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献