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

一种安全协议通信性能测试系统及方法与流程

2022-11-12 11:54:03 来源:中国专利 TAG:


1.本发明涉及轨道交通技术领域,尤其涉及一种安全协议通信性能测试方式及系统。


背景技术:

2.伴随效能提升和互联互通的推广,轨道信号系统将面临更多的的通信连接。比如轨旁设备,在整个运行过程,使用rssp-i(铁路信号安全协议i)交互的外部设备可达到2000个,其底层依赖的安全平台,结合自身性能限制,需支持外部设备(即外部协议节点)2000个,并与其中120个可动态变化的外部rssp-i协议节点同时交互。
3.之前外部协议节点少,模拟外部节点的测试平台,针对每个节点单独管理,通信情况各自维护,每个节点的通信状态都由人工检查。性能测试时,一个周期就可以支持最大数目要求的节点数,只需要将所有节点都加载。面对新的性能要求,节点数递增,人工去检查测试结果显然又费时又费力,而且不支持动态切换节点。


技术实现要素:

4.本发明提出了一种安全协议通信性能测试系统和方法,将所有节点分组管理,动态控制每个协议节点组的开启或关闭、停止或者恢复消息发送、断开或重连,并收集每个节点组的通信状态,以统一管理外部协议节点,便于查看测试结果。
5.为了达到上述目的,本发明提出了一种安全协议通信性能测试系统,包含:
6.脚本模块,其用于将测试命令转换为脚本命令,并分发给安全平台及协议节点组;
7.至少一个协议节点组,每个所述协议节点组内包含至少一个执行相同操作的节点;所述协议节点组用于接收并执行所述脚本模块发送的脚本命令,并自动分析自身的连接状态与数据接收情况;
8.安全平台,其与所述脚本模块及所述协议节点组通信连接,用于接收并执行相应的脚本命令,同时还用于分析判断其与所有协议节点组的连接状态及数据接收情况。
9.进一步地,所述测试系统还包含日志模块,所述日志模块与所述协议节点组连接,用于收集并记录所有协议节点组的错误信息,以便统一查看。
10.进一步地,所述安全平台包含:
11.第一通信模块,其与所述脚本模块及所述协议节点组通信连接,用于接收所述脚本命令,并与各个所述协议节点组进行数据交互;以及
12.桩模块,其与所述第一通信模块连接,所述桩模块用于根据所述脚本命令执行相应的操作,并分析判断所述第一通信模块与协议节点组的连接状态及数据接收情况。
13.进一步地,所述节点配置有:
14.第二通信模块,其分别与所述脚本模块、安全平台通信连接,用于接收所述脚本命令,并与所述安全平台进行数据交互;
15.执行模块,其与所述第二通信模块连接,用于周期性执行所述脚本命令;
16.分析模块,其与所述第二通信模块连接,用于自动分析第二通信模块的连接状态及数据接收情况;
17.判断模块,其与所述分析模块连接,用于根据分析结果判断是否满足测试要求。
18.进一步地,所述至少一个协议节点组分开部署在不同的终端设备上。
19.基于统一构思,本发明还提出了一种安全协议通信性能测试方法,包含以下步骤:
20.将执行相同操作的节点划分到同一个协议节点组中;
21.将测试命令转化为脚本命令,并分发给安全平台或对应的协议节点组;
22.所述安全平台或协议节点组执行相应的脚本命令,并分别判断自身的连接状态及数据接收情况,以得出测试结果。
23.进一步地,还包括以下步骤:若所述协议节点组判断出测试结果不正确,则将该错误信息传送至日志模块,以便于统一查看。
24.进一步地,所述脚本命令采用四元组形式,包含操作命令编号、协议节点组组号、开始周期以及结束周期。
25.进一步地,所述安全平台或协议节点组执行相应的脚本命令,包含以下步骤:
26.读取并识别所述脚本命令中的操作命令编号对应的操作命令;
27.根据该操作命令,以及协议节点组组号、开始周期、结束周期执行相应的操作。
28.进一步地,所述脚本命令为:安全平台停止发送信息,或,协议节点组停止发送信息,或,安全平台开始发送信息,或,协议节点组开始发送信息,或,安全平台断开连接,或,协议节点断开连接,或,协议节点关闭。
29.进一步地,若所述测试命令为切换节点,所述脚本命令为安全平台停止向第一组协议节点组发送消息,并向第二组协议节点组发送消息,或者所述脚本命令为安全平台断开与第一组协议节点组的连接,并向第二组协议节点组发送消息。
30.进一步地,所述安全平台或协议节点组判断自身连接状态及数据接收情况,以得出测试结果的方法,包含以下步骤:
31.若所述脚本命令为安全平台停止发送消息,所述安全平台运行到开始周期时,不再向协议节点组发送消息,此时,若安全平台的连接状态为已连接,接收数据连续,且该协议节点组在宽恕周期后的连接状态为已断开,接收数据为空,则测试结果正确;
32.若所述脚本命令为协议节点组停止发送消息,所述协议节点组运行到开始周期时,不再向安全平台发送消息,此时,若协议节点组的连接状态为已连接,接收数据连续,且安全平台在宽恕周期后,其与该协议节点组间连接状态为已断开,接收数据为空,则测试结果正确;
33.若所述脚本命令为安全平台开始发送消息,所述安全平台运行到开始周期时,开始向协议节点组发送消息,此时,若安全平台与该协议节点组的连接状态均为已连接,且接收数据连续,则测试结果正确;
34.若所述脚本命令为协议节点组开始发送消息,所述协议节点组运行到开始周期时,开始向安全平台发送消息,此时,若安全平台与该协议节点组的连接状态均为已连接,且接收数据连续,则测试结果正确;
35.若所述脚本命令为安全平台断开连接,则安全平台运行到开始周期时,断开与协议节点组的连接,此时,若安全平台的连接状态为已断开,接收数据为空,则测试结果正确;
36.若所述脚本命令为协议节点组断开连接,则协议节点组运行到开始周期时,断开与安全平台的连接,此时,若协议节点组与该协议节点组间的连接状态为已断开,接收数据为空,则测试结果正确;
37.若所述脚本命令为协议节点关闭,则协议节点组运行到开始周期时关闭,此时若所述安全平台在宽恕周期后与该协议节点组的连接状态为已断开,且接收数据为空,则测试结果正确。
38.本发明具有以下优势:
39.本发明中将所有节点分组管理,并通过脚本模块将测试命令转化为脚本命令,自动测试并判断每个协议节点组与安全平台间的数据交互情况,省时省力,而且所有协议节点组统一管理,便于后续统一查看测试结果。
40.此外,本发明中每个协议节点组可以分开部署在不同计算机,以免由于计算机本身的瓶颈达不到被测系统一个周期所能处理的通信量,也便于做系统压力测试。
附图说明
41.图1为本发明提供的一种安全协议通信性能测试系统的结构示意图。
42.图2为本发明提供的一种安全协议通信性能测试方法的流程图。
具体实施方式
43.以下结合附图和具体实施例对本发明作进一步详细说明。根据下面说明和权利要求书,本发明的优点和特征将更清楚。需说明的是,附图均采用非常简化的形式且均使用非精准的比率,仅用以方便、明晰地辅助说明本发明实施例的目的。
44.正如背景技术部分所述,当节点数递增时,人工检查安全协议通信性能测试结果费时费力。
45.鉴于此,本发明提出了一种安全协议通信性能测试系统,将执行相同操作的协议节点划分到一组,对所有节点进行分组管理,并通过脚本模块动态控制各个协议节点组与安全平台间进行安全协议通信性能测试,所述协议节点组与安全平台再自动判断自身的通信状态及数据接收情况,即可得到测试结果,省时省力。
46.所述安全协议通信信能测试有以下几个场景:节点或者安全平台开始发送消息、节点或者安全平台停止发送消息、节点或者安全平台断开连接、节点关闭、收发节点不重合以及切换节点。
47.当节点或安全平台开始发送消息时,发送方与接收方建立通信连接,两者间的连接状态均为已连接,接收数据为连续。当节点或安全平台停止发送消息时,发送方的连接状态不会断开,还可以接收数据,接收方在宽恕周期后连接断开,且接收数据为空。当节点或安全平台断开连接时,接收数据会被丢弃,后续需要重新建立连接,成功后才能恢复数据接收。节点关闭用于模拟外部设备异常退出双方通信,当节点关闭时,安全平台与该节点间的连接断开,接收数据为空。当通信双方同时收发数据的节点不重合时,其中第一组协议节点组只发送数据,另一组协议节点组只接收数据。切换节点时,安全平台将与之通信的第一组协议节点组切换成第二组协议节点组。
48.如图1所示,为本发明提供的一种安全协议通信性能测试系统,包含:脚本模块,与
所述脚本模块通信连接的至少一组协议节点组、与所述协议节点组通信连接的日志模块,以及分别与所述脚本模块、协议节点组通信连接的安全平台。该安全平台即为被测系统。
49.所述脚本模块用于将测试命令转化为脚本命令,并对应分发给安全平台及协议节点组。所述脚本命令包含安全平台停止发送信息、协议节点组停止发送信息、安全平台开始发送信息、协议节点组开始发送信息、安全平台断开连接、节点断开连接、节点关闭中的一种或几种。比如,若测试命令为切换节点,所转化的脚本命令为安全平台停止向第一组协议节点组发送消息,并向第二组协议节点组发送消息,或者所述脚本命令为安全平台断开与第一组协议节点组的连接,并向第二组协议节点组发送消息。
50.所述脚本命令采用四元组形式,包含操作命令编号、协议节点组组号、开始周期以及结束周期。其中,所述操作命令编号及其所对应的命令编号如表1所示,其操作对象有两种,一种是协议节点组,另一种是安全平台。脚本命令初始化或运行时,根据操作命令编号,可将脚本命令分发给不同的对象。脚本命令中的结束周期为null时,则默认该对应的操作直到运行终止。
51.表1、操作命令编号及对应的判断准则
[0052][0053]
每个所述协议节点组内包含有至少一个执行相同操作的节点,以模拟外部设备与安全平台使用既定的安全协议通信。所述协议节点组用于周期性的执行所接收到的脚本命令,并自动分析其与安全平台的连接状态以及数据接收情况,同时可根据表1中的判断准则得出其测试结果。当测试结果不正确时,将错误信息传送至日志模块。本发明将需要与安全平台通信的外部节点,按照其操作动作划分为若干个协议节点组,这样,在进行安全协议通信测试时,可对执行相同操作的外部节点做统一管理,以减少工作量。所述协议节点组可分开部署到不同计算机,以免由于计算机本身的瓶颈达不到被测系统一个周期所能处理的通
信量,也便于做系统压力测试。
[0054]
具体地,所述外部节点配置有:
[0055]
第二通信模块,其分别与所述脚本模块、安全平台通信连接,用于接收所述脚本命令,并与所述安全平台进行数据交互;
[0056]
执行模块,其与所述第二通信模块连接,用于周期性执行所述脚本命令;
[0057]
分析模块,其与所述第二通信模块连接,用于自动分析第二通信模块与安全平台之间的连接状态及数据接收情况;
[0058]
判断模块,其与所述分析模块连接,用于根据分析结果及脚本命令判断是否满足测试要求;当不满足测试要求时,即测试结果不正确时,通过第二通信模块将该错误信息发送给日志模块。
[0059]
所述日志模块分别与该至少一个协议节点组连接,用于收集并记录所有协议节点组的错误信息,以便于观察所有节点的通信状态。
[0060]
所述安全平台用于接收并执行相应的脚本命令,同时还用于与所述协议节点组进行数据交互,并通过分析判断其与所有协议节点组的连接状态及数据接收情况,以判断测试结果。
[0061]
具体地,所述安全平台包含:
[0062]
第一通信模块,其与所述脚本模块及所述协议节点组通信连接,用于接收所述脚本命令,并与各个所述协议节点组进行数据交互;以及
[0063]
桩模块,其与所述第一通信模块连接,所述桩模块用于根据所述脚本命令执行相应的操作,并分析判断所述第一通信模块与所有通信的协议节点组的连接状态及数据接收情况。所述桩模块同样可根据表1中的判断准则得出其测试结果,若测试结果不正确时,记录该错误信息。
[0064]
基于统一构思,本发明还提出了一种安全协议通信性能测试方法,如图2所示,包含以下步骤:
[0065]
s1、将执行相同操作的节点划分到同一个协议节点组中。
[0066]
具体地,将需要与安全平台通信的所有节点,划分成1到n个协议节点组,每个协议节点组的组号即为1、2、3....n。
[0067]
s2、将测试命令转化为脚本命令,并分发给安全平台或对应的协议节点组;
[0068]
具体地,若测试命令为切换节点,即安全平台将与之通信的第一组协议节点组切换成第二组协议节点组,所述的脚本命令为安全平台停止向第一组协议节点组发送消息,并向第二组协议节点组发送消息,或者所述脚本命令为安全平台断开与第一组协议节点组的连接,并向第二组协议节点组发送消息。
[0069]
若测试命令为收发节点不重合,即第一组协议节点组只发送数据,另一组协议节点组只接收数据,所述脚本命令为:安全平台停止向第一组协议节点组发送信息,并开始向第二组协议节点组发送信息,且第一协议节点组开始向安全平台发送信息,第二协议节点组停止向安全平台发送信息。
[0070]
所述脚本命令采用四元组形式,即:操作命令编号、协议节点组组号、开始周期以及结束周期。脚本模块将测试命令转化为脚本命令后,根据操作命令编号以及协议节点组组号,将该脚本命令对应发送到安全平台或者协议节点组。
[0071]
s3、所述安全平台或协议节点组执行相应的脚本命令,并分别判断自身的连接状态及数据接收情况是否符合测试要求,以得出测试结果;
[0072]
具体地,所述安全平台或协议节点组收到脚本命令后,读取该脚本命令中的操作命令编号,并识别出该操作命令编号所对应的操作命令,参照表1。而后,所述安全平台或协议节点组根据该操作命令,以及协议节点组的组号、开始周期、结束周期执行相应的操作,同时判断自身的连接状态以及数据接收情况是否符合测试要求,即表1中的判断准则,若符合,则测试结果正确;否则,测试结果不正确。
[0073]
进一步地,所述安全平台或协议节点组判断自身连接状态及数据接收情况,以得出测试结果的方法,具体包含以下情况:
[0074]
若所述脚本命令为安全平台停止发送消息,所述安全平台运行到开始周期时,不再向协议节点组发送消息,此时,若安全平台的连接状态为已连接,接收数据连续,且该协议节点组在宽恕周期后的连接状态为已断开,接收数据为空,则测试结果正确;否则,测试结果不正确。
[0075]
若所述脚本命令为协议节点组停止发送消息,所述协议节点组运行到开始周期时,不再向安全平台发送消息,此时,若协议节点组的连接状态为已连接,接收数据连续,且安全平台在宽恕周期后,其与该协议节点组间连接状态为已断开,接收数据为空,则测试结果正确;否则,测试结果不正确。
[0076]
若所述脚本命令为安全平台开始发送消息,所述安全平台运行到开始周期时,开始向协议节点组发送消息,此时,若安全平台与该协议节点组的连接状态均为已连接,且接收数据连续,则测试结果正确;否则,测试结果不正确。
[0077]
若所述脚本命令为协议节点组开始发送消息,所述协议节点组运行到开始周期时,开始向安全平台发送消息,此时,若安全平台与该协议节点组的连接状态均为已连接,且接收数据连续,则测试结果正确;否则,测试结果不正确。
[0078]
若所述脚本命令为安全平台断开连接,则安全平台运行到开始周期时,断开与协议节点组的连接,此时,若安全平台的连接状态为已断开,接收数据为空,则测试结果正确;否则,测试结果不正确。
[0079]
若所述脚本命令为协议节点组断开连接,则协议节点组运行到开始周期时,断开与安全平台的连接,此时,若协议节点组与安全平台间的连接状态为已断开,接收数据为空,则测试结果正确;否则,测试结果不正确。
[0080]
若所述脚本命令为协议节点关闭,则协议节点组运行到开始周期时关闭,此时若所述安全平台在宽恕周期后与该协议节点组的连接状态为已断开,且接收数据为空,则测试结果正确;否则,测试结果不正确。
[0081]
s4、若安全平台判断出测试结果不正确,记录该错误信息;若所述协议节点组判断出测试结果不正确,则将该错误信息传送至日志模块,以便于统一查看。
[0082]
本发明中将所有节点分组管理,并通过脚本模块将测试命令转化为脚本命令,自动测试并判断每个协议节点组与安全平台间的数据交互情况,省时省力,而且所有协议节点组统一管理,便于后续统一查看测试结果。
[0083]
实施例
[0084]
本实施例以柜旁安全平台为例,描述下本发明的实施步骤如下:
[0085]
步骤1,根据用例要求划分节点组,用例场景有切换第1个节点,最后一组节点。第一个节点即节点1,切换的节点选择节点40,切换周期设置为100;最后一组节点选择1961-2000,切换的节点组为1921~1960。切换第一个节点选择使用不发送消息的方式,切换最后一组节点使用断开连接方式。
[0086]
步骤2,选取160节点,划分6个协议节点组组1~6,分别包含节点1,2~39,40,981~1020,1921~1960,1961-2000。
[0087]
步骤3,启动安全平台,协议节点组1(节点1)、协议节点组2(节点2~39)、协议节点组3(节点40)、协议节点组5(节点1921~1960)、协议节点组6(节点1961-2000)共120个节点。
[0088]
步骤4,运行到周期100时,通过脚本命令(1,1,100,null)、(2,1,100,null)分别控制安全平台和协议节点组1,停止向对方发送数据,通过脚本命令(3,3,100,null)、(4,3,100,null)命令安全平台和协议节点组3开始通信。
[0089]
步骤5,安全平台、协议节点组1、协议节点组3根据各自接受的操作命令,自动判断通信结果是否与预期一致,如表1所示。安全平台与协议节点组1彼此停止发送消息,宽恕周期后连接都为断开;同时安全平台与新加入的协议节点组3连接状态是已连接,接收数据连续;
[0090]
步骤6,更换最后一组节点,脚本和结果判断与步骤4~5类似,只是替换和被替换的协节点组分别改成协议节点组5,协议节点组6,对替换的节点操作命令选择断开连接,被替换的节点组选择开始发送消息。
[0091]
对于其它测试场景,停止发送消息,断开连接的操作在切换场景中都有涵盖,即步骤4~6,关闭节点虽然命令不同,结果等同停止发送消息,不再一一赘述。额外的,针对安全平台和外部协议节点收发可以不重叠,安全平台上选取与之通信节点1~20,1021~1040,1961~2000,外部协议节点选取21~40,981~1020,1961~2000,将节点划分成5组,通过停止发送消息脚本命令,让安全平台上节点1~20和节点981~1020,只收不发,通信结果状态判断每个节点通信双方连接状态都是连接上,协议节点1~20,安全平台上节点981~1020接收数据为空,其它节点接收数据连续;最后再加入新的一组(1921~1960),其通信连接状态是失败,表示收发节点总数已达到最大120。
[0092]
尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献