基于B/S架构的分布式测控技术研究
2021-10-19檀翔
摘 要:针对传统测控领域存在的测试效率低、测试复杂度高、测试资源利用不足等问题,文章提出基于B/S架构的分布式测控技术架构,利用SOA(面向服务架构)设计思想,并结合实时中间件和分布式数据库实现设备间的互联互通互操作,提高测试效率,降低测试复杂度,在分布式架构下,充分利用测试资源。该文对当前从事测控领域的设计人员和开发人员具有一定的参考价值,是面向服务架构设计思想的综合应用体现。
关键词:B/S;分布式;测控技术;远程过程调用
中图分类号:TP311 文献标识码:A 文章编号:2096-4706(2021)05-0008-06
Research on Distributed Measurement and Control Technology Based on B/S Architecture
TAN Xiang
(Shanghai Cherub Information Technology Co.,Ltd.,Shanghai 200240,China)
Abstract:Aiming at the problems of low test efficiency,high test complexity,and insufficient utilization of test resources in the traditional measurement and control field,this article proposes a distributed measurement and control technology architecture based on B/S architecture,using SOA(service oriented architecture)design ideas,and combining real-time middleware and distributed database to achieve interconnection and interoperability between devices,improve test efficiency,reduce test complexity,and make full use of test resources under a distributed architecture. The article has a certain reference value for designers and developers currently engaged in the field of measurement and control,and is a comprehensive application of service-oriented architecture design ideas.
Keywords:B/S;distributed;measurement and control technology;remote procedure call
0 引 言
工業现场通常存在测控点分散、测控范围大、作业环境复杂的问题,且工业现场对测控系统的数据传输实时性具有严格要求[1]。现今,传统测控领域逐渐暴露出测试效率低、测试复杂度高、测试资源利用不足等问题。因此具有数据传输实时性高、可靠性好、系统结构拓扑灵活[2]等优点的分布式测控系统成为现代测控领域的发展方向。
1 系统概况
1.1 系统组成
基于B/S架构的分布式测控软件平台按照分层架构思想设计开发,整个平台框架包含应用表现层、业务交互层、应用逻辑层、组件资源层和操作支持层共五层。Web浏览器通过业务交互层可实现本地或远程两种与后端应用逻辑层的数据交互模式,并通过应用表现层展现业务数据。组件资源层按照组件化设计思想,封装服务模块和逻辑设备,形成服务组件和设备组件,为平台提供各类服务和服务执行资源。组件资源层是一个开放式的资源库,支持分布式部署,通过中间件互相访问。操作支持层为平台运行提供基础操作环境。
1.2 工作流程
系统平台由五层构成,针对具体应用,其工作流程如图1所示。
2 系统设计
分布式智能测控软件平台采用上海求本信息技术有限公司自主研发的分层、开放、跨平台架构,根据组件化和分布式设计思想,利用SOA(面向服务架构)设计思想,并结合实时中间件和分布式数据库实现设备间的互联互通互操作,通过WEB方式实现人机交互,从而保证平台上的应用开发和运行高效、便捷、低成本,解决用户在项目研制过程中碰到的开发效率低、研制成本高、资源复用率低以及系统部署难度大等问题。其整体软件架构如图2所示。
平台具备通用、开放、灵活、高效以及智能等特性。
通用性主要从三个方面来体现,其一是平台采用分层化设计、开发,这是平台通用性的内在体现,也是平台通用性的前提条件;其二是平台服务组件层的服务具备通用性,因为基于组件的服务为应用层提供了统一规范接口和通信协议,能够适用于不用的应用开发;其三是逻辑设备层的逻辑设备通用,因为借鉴吸收了软件通信体系结构相关技术,采用标准接口封装了底层硬件,从而为上层软件提供了标准设备接口。
开放性主要体现在两个方面:其一是服务组件层即服务组件库,是基于开放式设计的,可自由扩充或裁剪;其二是逻辑设备层即逻辑设备库,也是基于开放式设计的,可自由扩充或裁剪。
灵活性体现在设备操作方式、分布特性以及系统部署上共三个方面。设备操作方式灵活指的是通过网络层的中间件技术以及上层软件框架的WEB技术能实现底层硬件的本地操作或远端操作;分布特性灵活指的是通过分层设计和中间件技术,使平台支持设备分布、网络分布、服务分布和应用分布;系统部署灵活指的是由于平台采用B/S体系结构,因此,客户端只需要标准的浏览器,服务端可根据业务需求动态配置WEB服务器和应用服务器,具备良好的系统扩展性。
高效性主要体现在应用开发、用例执行和码流传输效率三个方面。对于应用开发来说,由于上层软件框架采用Django框架[5]来开发,Django框架内置的很多第三方插件能够显著加快应用的开发;用例执行方面,由于采用了并行以及自主调度执行处理流程,所以为用例执行提供了最高效率的执行方式;在码流传输效率方面,平台的网络层设计有两种中间件,一种是基于控制流的中间件,另一种是基于数据流的中间件,基于控制流的中间件在控制数据、事件型数据传输方面效率要比基于数据流的中间件高,而基于数据流的中间件在传输实时、高带宽数据方面效率很高。
智能化主要体现在三个方面:一是接口自动适配,基于规范标示符的接口在应用执行过程中能够自动识别、自动连接和关闭;二是通道智能绑定,基于ICD的通道重构策略能够实现通道的自动绑定,当前通道遇到故障时,根据重构策略能够自动转换通道,重新绑定;三是故障监测,平台能够自动识别系统故障,并输出告警信息。
2.1 功能设计
2.1.1 平台框架软件设计
分布式智能测控软件平台的框架软件基于B/S结构进行设计,后端服务器软件采用组件—框架设计思想,以达到通用性、灵活性、可移植、可复用以及分布式应用等能力要求。后端服务器软件的总体结构如图3所示。
平台框架软件定义了组件及应用的接口规范和通信方式,是平台内各类软硬件组件资源以及应用资源的通用管理框架,負责组件及应用的资源分配、加载、启动、装配、配置等操作,是整个功能模块的组织核心。组件是实现特定功能的独立模块,每个组件都可以单独运行,即能够基于给定的输入产生相应的输出,不依赖其他功能模块,具备高内聚低耦合的特点;应用用于满足系统的功能要求,通过对已经抽象成独立功能的组件进行装配,形成不同的应用功能。按照平台框架所规定的接口规范和通信方式进行组件及应用开发,能够实现组件及应用的可移植性和可复用性,达到即插即用的效果。平台框架即是组件资源的管理者和应用装配的执行者。通过对外提供应用创建接口,用户可以利用配置文件描述的方式,根据具体需求或资源分配策略进行组件的灵活配置,无需对功能进行重复开发,提高了开发效率,降低了开发成本。
平台框架分为初始化、设备管理器、服务管理器、应用管理器、配置文件管理器和对象管理六个功能模块。始化功能模块主要实现系统平台初始化功能,包括上电自检,内部变量初始化赋值等;设备管理器功能模块主要实现逻辑设备的注册管理,分配设备唯一标识,设备组件的调用;服务管理器功能模块主要实现服务的注册管理,分配服务唯一标识,服务组件的调用;应用管理器功能模块主要实现应用的注册管理,分配应用唯一标识,应用组件的调用;配置文件管理器功能模块主要实现配置文件的注册管理,加载配置文件和解析配置文件;对象管理功能模块主要实现中间件对象的管理,中间件数据的交互。系统整体接口方面主要有基本应用接口、框架控制接口、服务组件接口、设备组件接口、应用组件接口,如图4所示。
2.1.2 逻辑设备组件设计
逻辑设备组件主要在逻辑设备层,根据应用场景,该系统中的逻辑设备组件主要包括AFDX逻辑设备、RS422逻辑设备、FC逻辑设备、1553B逻辑设备、A429逻辑设备。逻辑设备组件由逻辑设备管理器进行管理。
逻辑设备组件主要完成设备组件的对象实例化,通过对象与命名上下文进行绑定,将对象进行发布,供平台应用进行引用,并能完成设备的启动与停止,读写数据,设备状态配置信息的保存与查询。
2.1.3 服务组件设计
服务组件主要完成各组件的初始化功能,获取ICD数据的结构,对数据进行解析和封装,返回给数据处理服务组件使用,并能对输入的信息依据判断标准给出判定结果。
服务组件主要在服务层,主要包括ICD处理服务组件、数据处理服务组件及符合性判定服务组件。其中ICD处理服务组件对ICD数据进行解析与封装,交由数据处理服务组件,数据处理服务组件将ICD数据打包成帧结构,交由相关的逻辑设备组件,同样逻辑设备组件接收的数据也交由数据处理服务组件处理,按照ICD信息结构解析,交由符合性判定服务组件,符合性判定服务组件依据判断标准对数据给出判定结果。
2.2 界面设计
基于B/S架构的分布式测控软件平台界面是基于WEB技术设计开发的,借助WEB的移动互联特性,使得用户可以在任何一台联网的计算机上或移动终端上,通过浏览网页的形式登录系统,完成测试工作。
在具体的界面设计开发过程中,主要用到了HTML5、CSS3和JS等技术。其中,HTML5用于设计页面的布局,通过标签、属性的设计开发,构建页面的结构,使得界面元素满足用户需求;CSS3(层叠样式表)是为了解决界面内容与表现形式的分离问题,将页面元素的展现形式放在CSS文件里设计开发,使得整个界面的开发效率提高,并且具备良好的移植性;JS(JavaScript)是一种脚本语言,负责界面的行为动作,通过编写JS文件,使得前端可以与后台服务器产生交互,能够将用户在前端界面上的输入转换成相应的数据或命令,并传递给服务器去执行,同时也能接收服务器的数据信息,并展现在前端界面上。测控平台界面如图5所示。
2.3 系统构型
根据实际的应用需求和使用场景,应用系统将有两种构型。针对每种构型,其软硬件配置是不同的。
在图6所示的构型1中,服务器与目标机部署在同一套硬件上,此时硬件组成包括一套主机和若干设备。主机内运行前端、应用程序、服务组件、逻辑设备和硬件驱动。因为所有服务和设备都在本地化操作,无须中间件。
如图7所示的构型2是针对分布式应用场景的。在分布式应用场景中,服务器与客户目标机是分离的,同时浏览器也可与服务器进行分离,所以,构型2在实际应用中有三种变型:一是浏览器与服务器分离,服务器与客户目标机部署在同一套设备上,这是B/S结构形式;二是浏览器与服务器在同一套硬件上,客户目标机与服务器分离,这是C/S结构形式;三是浏览器、服务器、客户目标机三者分离,实现最灵活的分布式部署,这是B/S和C/S混合结构形式。
2.4 系统验证
基于B/S架构的分布式测控软件平台在航电系统集成测试中已经运用,如图8所示,平台在航电系统集成测试中可以正常执行相关测试用例,并给出结果显示。
3 结 论
将SOA设计思想应用到分布式测控系统中,设计基于B/S架构的分布式测控软件平台,可以提高整个系统数据传输的实时性和可靠性,且便于对系统结构进行扩展。该文设计的基于B/S架构的分布式测控技术可适用于工业、航空航天等多个领域,具有良好的应用前景。目前本文所提出的软件平台应用广度不足,很多实际工程中可能出现的问题发现不全,需要大量应用于实际工程经验中,以便提高软件的可靠性和实用性。
参考文献:
[1] 茅胜荣.基于EtherCAT的分布式数据采集系统的研究与实现 [D].苏州:苏州大学,2018.
[2] EtherCAT Technology Group. EtherCAT-the Ethernet fieldbus [EB/OL].[2020-12-20].https://www.ethercat.org/en/technology.html#1.9.5.
[3] 徐冰霖,李战怀.面向服务的航天测控软件架构设计 [J].飞行器测控学报,2012,31(6):47-51.
[4] 卫翔,范学满,于德新.面向服务的仿真实时中间件系统研究 [J].计算机仿真,2019,36(7):257-260+307.
[5] 汪洋,姜新通.MVC框架在Python与Django下的设计研究 [J].电脑与信息技术,2021,29(1):55-57+63.
[6] 孟另伟,郑永军.基于EtherCAT的分布式测控系统设计与实现 [J].仪表技术与传感器,2020(6):73-78.
作者简介:檀翔(1988—),男,汉族,安徽东至人,工程师,硕士研究生,研究方向:航电系统集成测试、信息化系统。