APP下载

联调测试中指挥协调辅助软件的设计与实现

2019-05-08高宇航

通信电源技术 2019年4期
关键词:数据格式服务端队列

高宇航

(91404部队,河北 秦皇岛 066000)

1 需求分析

联调测试中,反应时间的测试项目需多次重复测试,且测试流程相对固定,因此以反应时间的测试项目为例,进行需求分析。

反应时间测试中设有一个指挥部位和多个监测部位。指挥部位负责测试的组织指挥和被测试设备的操作;各监测部位负责观察相应反应现象并记录时间。单次测试的流程具体为:(1)指挥部位依次询问各监测部位准备情况;(2)各监测部位分别确认检测设备初始化正常并上报准备完毕;(3)指挥部位进行倒计时,倒计时结束后操作被测试设备开始工作;(4)各监测部位记录反应现象出现时间;(5)指挥部位依次询问各监测部位测试结果;(6)各监测部位分别上报测试结果。

根据测试流程分析,需要协调软件能够由指挥部位向监测部位发送准备情况询问、测试开始指令及测试结果询问;各监测部位能够上报准备情况、记录反应现象时间及上报测试结果。

为确保测试结果准确,避免网络延迟的影响,各部位间要保持时间同步。

2 软件设计

根据需求分析,软件采用C/S结构,分为指挥部位软件(服务端)和监测部位软件(客户端),拓扑关系采用以服务端为中心的星状拓扑。

对于稳定、持续的点对点通信,一般应采用TCP协议,但由于部分监测部位未架设有线网络,只能通过无线传输设备达成通信。由于通信链路不稳定,采用TCP连接常出现频繁的断开现象和重联现象,故采用UDP协议。在应用层建立重发机制和应答机制,以确保指令传输的可靠性[1]。

为确保各客户端与服务端时间同步,各客户端包含NTP校时模块。以服务端为NTP服务器进行校时,NTP协议在局域网内校时精度可达0.1 ms,广域网内可达1~50 ms,可满足大多数测试的时统需求。

客户端和服务端相互发送4种数据包,分别为心跳数据包、心跳应答数据包、指令数据包及指令应答数据包。

心跳数据包为软件运行时自动周期性发送,用于检测通信质量;心跳应答数据包为接收到心跳数据包后自动应答。通过心跳数据包和应答数据包的配合可检测出通信信道的通断、传输延迟及服务端与客户端的时统偏差值。心跳周期一般设置为1 s。心跳数据包和心跳应答数据包的数据格式如表1和表2所示。

实际软件中采用客户端发送心跳数据包、服务端返回应答数据的模式,可减少软件配置的复杂度,使软件部署更灵活。

利用心跳应答数据包的接收时间和心跳应答数据包中的orig_time字段、send_time字段包含的时间信息,即可计算出往返的传输延迟和时统偏差值,公式为:

其中,ping为双向传输的延迟时间;Δ为服务端与客户端的时统偏差值;tr为客户端接收心跳应答数据包的时刻;to为心跳应答数据包中orig_time字段的时刻,即心跳数据包的发送时刻;ts为心跳应答数据包中send_time字段的时刻,即心跳数据包的接收时刻,也是心跳应答数据包的发送时刻。

指令数据包为服务端下发指令或客户端上报结果时发送的数据包,指令应答数据包为接收到指令数据包后自动进行应答。指令数据包和指令应答数据包的数据格式如表3和表4所示。

建立应答机制和重发机制:建立一个发送队列,当有指令需发送时先放入发送队列,随后进行首次发送,在用户界面上标注该指令状态为“发送中”;接收到指令应答数据包后,遍历发送队列查找该序列号指令,将其移出发送队列,并在用户界面上标注该指令状态为“已送达”;周期性检查发送队列,重发队列中的所有指令,当某条指令的重发次数超限或时间超时,将该指令移出发送队列,并在用户界面上标注该指令状态为“发送失败”。

表1 心跳数据包数据格式

表2 心跳应答数据包数据格式

表3 指令数据包数据格式

表4 指令应答数据包数据格式

3 软件实现

各部位软件实现效果如图1和图2所示。

4 结 论

实际应用证明,软件可大幅提高测试效率。软件充分应用了色彩和音效等提示手段,有效降低了测试人员的值守强度。同时,软件可将测试结果存入数据库,大幅简化后期测试数据的梳理工作和统计工作。软件还具有一定扩展性,根据测试流程进行简单修改即可满足多种测试项目的需求,适用于测试流程相对固定、测试重复次数较多的测试项目。

图1 指挥部位软件效果图

图2 检测部位软件效果图

猜你喜欢

数据格式服务端队列
队列队形体育教案
队列里的小秘密
基于多队列切换的SDN拥塞控制*
在队列里
新时期《移动Web服务端开发》课程教学改革的研究
MIT—BIH心率失常数据库的识读
基于RFID的户外广告监管系统的设计与实现
一种融合多业务的信息化系统框架研究
摸清黑客套路防范木马侵入