APP下载

关于LKJ自动化测试系统获取实时数据动态展示的技术研究

2020-04-09张明凯白鸿钧杨清祥

计算技术与自动化 2020年1期
关键词:实时

张明凯 白鸿钧 杨清祥

摘   要:介绍了一种在对LKJ系统自动化测试过程中获取到远端自动测试台设备运行的实时监测数据。通过Thrift远程调用接口方式将监测数据传输给Web服务器,同时将部分需记录的数据进行保存操作,在浏览器页面通过访问Web服务器进行动态展示测试过程变化情况以及相关监测指标数据的变化等的技术架构。通过本技术架构解决了web浏览器实时展示测试过程中产生的监测图像和其他指标数据的问题。本软件技术架构能够很好的解决实时数据传输和监控,传感器数据监测等问题,具有很好的应用前景。

关键词:自动测试;实时;数据监测;远程调用

中图分类号:TP319                                             文献标识码:A

Technical Research on Real-time Data Dynamic Display

of LKJ Automated Test System

ZHANG Ming-kai?覮,BAI Hong-jun,YANG Qing-xiang

(Henan Thinking Rail Transit Technology Research Institute Co.,Ltd.,Zhengzhou,Henan 450001,China)

Abstract:This paper introduces a real-time monitoring data obtained by remote test station equipment in the process of automatic testing of LKJ system. The monitoring data is transmitted to the Web server through Thrift remote call interface,and some data to be recorded is also carried out. The save operation,in the browser page,by accessing the web server to dynamically display the technical process of the change of the test process and the change of the relevant monitoring indicator data. Through the technical architecture,the problem that the web browser displays the monitoring image and other indicator data generated during the test in real time is solved. The software technology architecture can solve real-time data transmission and monitoring,sensor data monitoring and other issues,and has a good application prospect.

Key words:automated testing;real-time;data monitoring;remote call

LKJ系統是我国国家铁路和地方铁路广泛运用的列控系统,在保障列车运行安全方面有着极为重要的作用。为了保证LKJ系统相关软件的准确无误,提出了LKJ软件自动化仿真测试的研究,这个问题的解决将很大的提高相关软硬件测试的效率和准确性,为LKJ系统的安全保驾护航[1]。在我们研究关于LKJ软件自动测试的过程中,遇到了如何将自动测试过程中产生的运行记录数据以及监测数据等实时反应到客户端供用户查看的问题。文章将会通过介绍LKJ自动化仿真测试系统的基本组成架构和web端实时数据获取方案等,提出一项通用的基本B/S架构设计的实时数据展现技术。

1   仿真测试系统组成

以往的大部分自动化测试程序都是CS架构设计[2-7],由于CS技术架构存在客户端分散,不易升级管理等一系列问题,故本方案设计使用BS架构开展,各个客户端用户可以通过浏览器方式访问使用本系统。

仿真测试系统主要由两部分组成,一是仿真测试平台;二是软件仿真测试系统软件,如图1所示。

软件仿真平台主要由LKJ15S主机单元、扩展单元、DMI单元、交换机单元、信号采集单元、信号发生单元、软件仿真单元、控制单元、机械单元等组成。软件仿真测试软件系统主要由测试控制软件和BS仿真测试软件两部分组成[3-6]。

图1   仿真测试系统组成图

测试控制软件通过CPCI总线与仿真平台各单元通信[8-9],通过以太网与LKJ-15S通信,提供LKJ-15S输入信号控制、数据采集、测试序列解释执行等功能。采用C++语言开发,其中的各模块分装成单独的库文件,动态调用。

测试控制软件提供thrift服务接口供应用服务器软件调用,接收应用服务器软件发送的启动测试命令、测试序列、LKJ数据等。测试控制软件通过数据库与应用服务器软件进行大批量数据交换,发送测试进度、测试结果以及测试过程中执行的操作、采集的LKJ实时数据等。

BS仿真测试系统采用JAVA和HTML5等前端技术实现,主要实现系统设置,用例图形化编辑,用例脚本转化,仿真测试,数据版本管理等功能,页面采用WebSocket方式提供实时数据通信能力,满足手动测试、软件仿真时DMI界面动态显示、LKJ数据实时显示需要。

1.1   测控软件设计

测试控制软件是根据服务器发送的自动测试、手工测试、软件仿真等指令,进行测试仿真。解析服务器发送的测试序列脚本文件,调用相关模块产生所需信号,采集各物理通道的反馈数据,在检查点比对反馈结果。软件模块划分如图2,其中信号发生模块通过接收到web服务端等发送的信号生成指令,对指令进行解析并发送到对应的接口和设备以达到产生信号的目的。测试控制模块主要针对自动测试过程中的脚本解析,脚本执行,自动测试结果判断,测试结果报错过程记录等功能进行实现。数据采集模块针对当前链接设备提供各个设备信号的实时获取功能,供自动测试过程以及其他需要当前设备信号展示的地方进行调用。管理模块主要是针对当前硬件环境的一些配置信息,如实现设备ID管理,IP分配管理,加密策略管理,测控软件根据服务器最新版本自动升级等功能。测控软件主要作为web服务的一些底层服务支持使用,并且主要通过Thrift接口进行数据通信,控制等,部分通过数据库共享机制实现数据一致性的共享。

图2   测控软件组成图

2.2   BS仿真测试软件

BS仿真测试软件主要结构如图3所示。客户端与服务端通信采用WebSocket和AJAX技术实现。WebSocket是HTML5提供的一种浏览器与服务器间进行全双工通讯的网络技术,依靠这种技术可以实现客户端和服务器端的长连接、双向实时通信。AJAX 是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新。这样可以在不重新加载整个网页的情况下,对网页的某部分进行更新。传统的网页(不使用 AJAX)如果需要更新内容,必需重载整个网页面。根据两种技术特点,当需要满足实时通信时选择使用WebSocket技术解决[10-13],否则使用AJAX技术进行前后端通信。Web服务器作为测控软件的上一层应用主要通过Thrift接口进行相关通信。

图3   BS仿真测试软件结构图

主要业务模块划分为系统设置、测试用例管理、仿真测试、查询统计,软件版本管理模块。系统设置功能模块主要完成软件系统的基本管理功能如人员组织机构管理,权限管理,数据字典管理,仿真平台管理,客户端管理。仿真平台管理是对当前接入系统的平台信息进行认证注册,只有通过注册的平台才会在系统中供客户使用,客户端管理是针对访问系统的PC,手机端设备进行认证的过程,通过管理员审核相关设备信息进行系统内注册,注册通过的设备可以访问本系统,支持加入黑名单功能禁止部分设备访问本系统。测试用例管理功能是针对用户编写测试用例比较困难的问题提供了一种图形化编辑测试用例的功能,能更加直观的完成用例编写工作,提高了用例编写效率。仿真测试功能主要包括手动测试、自动测试、仿真调试三个功能,手动测试是根据页面提供的各个设备模拟发生装置发送相应的信号给测控软件,测控软件发送给相应的设备,再通过回采相应设备的信号情况进行显示的过程。自动测试是用户指定测试平台,选择需要测试的测试序列建立自动测试任务,通过远程数据环境换装并执行测试脚本信息,让程序自动的发送信号,判断执行逻辑并得出测试结论的一个过程。仿真调试是通过加載仿真调试器将需要仿真的软件进行加载测试的过程,仿真调试支持多人在线调试,一人为主调试人,其他人通过输入口令可远程观看调试过程,并给出相关建议。软件版本管理功能主要是针对项目设计的各个软件数据进行了集中分类按版本进行管理的功能,其中测控软件的自动升级功能就是通过对比此处最新版本软件实现的自动换装,并且可通过此模块功能实现远程换装操作[11]。

2   扩展应用

通过LKJ自动化测试系统的应用以及相关技术经过实践的检验,我们可以提出以下通用架构设计,如图4所示。

接下来针对图4中各部分做简要说明,其中①通道为各个远端客户机或者手机等移动终端连接Web服务器的通道,通过此通道获取到相应的数据以及相关应用的界面展示效果。此通道可以通过多种形式进行数据交互连接,实时性要求高的数据可通过WebSocket的方式获取,同样出于安全考虑可以设置相关连接终端的用户白名单机制,并可以通过Web应用程序详细控制各个服务接口的权限访问情况做到更加精细化的管理。Web应用服务器部分为自身系统主体,可根据自身业务需求进行功能完善。通道②主要连接数据库服务器和文件服务器部分,让Web服务通过通道②获取持久化后的数据或者对相关数据进行持久化。数据存储主要分为文件服务器和数据库服务器,他们分别存储非结构化数据和结构化数据,可以通过Web服务实现对相关数据的统计和数据挖掘分析工作,为相关管理人员提供决策的数据支撑,使决策更加科学合理化。监测控制服务器左侧通过通道③与web服务器通信,右侧通过通道④与外围设备进行通信,同样的可以通过通道⑤像web服务器一样对数据存储做相应的处理。通道③设计通过Thrift接口实现,主要基于Thrift框架自身优点比如开源相关技术案例社区比较多,同时是最好的多语言支撑的远程服务框架,web应用服务通过Java实现,但是与硬件通信以及相关开发设计主要通过C++或者python实现,选择Thrift就是尽量减少设备相关开发的变动情况。监测控制服务器主要完成各个外围设备的接入工作,数据采集工作,控制指令解析发送工作等。通道④兼顾设备认证功能,根据设备信息从系统内校验此设备是否是我们注册的合法设备,返回各个设备监测信息等。通道⑤监测服务器将需要保存的数据进行记录保存到数据库或文件系统中。此架构设计普遍适用于远程控制和实时监测等领域,可以作为今后物联网领域的原子框架模型,将各个设备接入互联网中进行集中管控,接下来将对本架构的应用进一步的探索。

图4   监测实时数据软件架构图

3   结 论

技术架构经过LKJ自动化测试系统的应用,证明相关技术应用可靠,并根据应用情况提取出基本软件模型,此模型应用场景广阔,技术可行,数据传输效率高,安全可靠[14]。此软件架构模型可以广泛应用于今后的物联网平台研发等领域,必将成为今后实时监控领域的主流技术。

参考资料

[1]    白鸿钧,杨清祥,李冠军,等.LKJ自动化测试系统图形化技术研究[J].铁道通信信号,2018,54(01):8—11.

[2]    苏白燕,许强,黄健,等.基于动态数据驱动的地质灾害监测预警系统设计与实现[J].成都理工大学学报:自然科学版,2018,45(5):615—627.

[3]    郭壮壮,武梦龙.基于虚拟仪器的自动测试系统设计[J].计算机测量与控制,2018,26(12):30—33.

[4]    罗飞豹,李一楠.CTCS-2级列控车载设备自动仿真测试平台设计与实现[J]铁 道 通 信 信 号,2018,54(4):75—79.

[5]    李斌斌.基于WebSocket协议的车联网监控系统[D].西安:长安大学车辆工程,2018.

[6]    曹文彬,谭新明,刘 备,等.基于事件驱动的高性能 WebSocket 服务器的设计与实现[J].计算机应用与软件,2018,35(01):21—27.

[7]    JIA M H,CHEN Y,CHEN Q,et al. A web service framework for astronomical remote observation in Antarctica by using satellite link[J].Elsevier Journal,2018(4):17—24.

[8]    张文,牟艳,高振兴,等.WebSocket 技术在工业设备数据实时监测中的应用[J].计算机与现代化,2017(11):111—115.

[9]    杨帆,孔维萍,蒋晓肖,等.基于THRIFT的RPC中间件在航天信息系统中的设计与实现[J]. 计算机测量与控制,2017,25(12):279—306.

[10]  LIU Zi-wei,LI Shao-bin,LI Yan,et al. Remote ATS simulation system based on WebSocket communication protocol[C].International Conference on Intelligent Computation Technology and Automation,2017(10):327—330.

[11]  李道霞,张长生,郎向伟,等. 基于 WebSocke和ArcGIS Server的高铁基础设施在线监测系统[J]. 计算机系统应用,2016,25(2):38—44.

[12]  陈丽枫,郑力新,王佳斌.基于HTML5 WebSocket的Web实时通信机制的研究与实现[J]. 微型机与应用,2016,35(10):88—91.

[13]  ZHANG Tong-guang,ZHAO Shuai,WU Bu-dan,et al.Light weight SOA-based twin-engine architecture for enterprise systems in fixed and mobile environments[J].China Communications,2016,(9):183—194.

[14]  陳淏,高守玮,岳金冬.基于WebSocket 实时物联网数据传输关键技术的研究[J].工业控制计算机,2016,29(11):33—36.

猜你喜欢

实时
一种改进的混音算法的研究与实现
等公交,从“实时”开始
某高校班级量化考核系统的设计与实现
一种基于鼠标定位原理的单目视觉定位技术
基于RFID技术红酒温湿度监测系统设计
基于无线传感器网络的实时粮仓监控系统研究
气象信息传输监控中时效问题的分析与对策
嵌入式实时网络通信技术分析