基于
平台
网络
穿越
交互
系统
设计
经纬
SOFTWARE软 件2023第 44 卷 第 1 期2023 年Vol.44,No.1作者简介:田经纬(1983),男,山东威海人,硕士,工程师,研究方向:区块链、物联网、移动计算。通讯作者:张敏(1988),女,四川甘孜人,硕士,工程师,研究方向:互联网、产品设计、移动支付。基于云平台的网络穿越交互系统设计田经纬1 张敏2(1.迅鳐成都科技有限公司,四川成都 610000;2.上加下信息技术成都有限公司,四川成都 610000)摘要:随着互联网、物联网技术的快速发展,在很多行业领域应用越来越广泛,实际技术应用中有越来越多的接入需求,通过远程操作与维护能更大提高工作效率,节省人力成本。本文设计基于云平台的网络穿越交互系统,通过该系统能够更节省成本来实现针对新、老设备系统的统一接入、即时通信、远程交互与控制、远程运维等功能,简便程度上解决老设备接入问题,并解决需要现场排查、解决问题与现场调试、操作各种设备实现相关服务问题。关键词:互联网;物联网;云平台;网络穿越;远程控制中图分类号:TP311.56;TP393.03;TN915.9 文献标识码:A DOI:10.3969/j.issn.1003-6970.2023.01.035本文著录格式:田经纬,张敏.基于云平台的网络穿越交互系统设计J.软件,2023,44(01):130-134Design of Network Traversal Interactive System Based on Cloud PlatformTIAN Jingwei1,ZHANG Min2(1.Mr.Ray Co.,Ltd.,Chengdu Sichuan 610000;2.Shangjiaxia Information Technology Chengdu Co.,Ltd.,Chengdu Sichuan 610000)【Abstract】:With the rapid development of Internet and Internet of Things technology,its more and more widely used in many industries and fields.There are more and more access requirements in actual technology applications.Through remote operation and maintenance,work efficiency can be greatly improved and labor cost can be saved.This paper designs a network traversal interactive system based on cloud platform.Through this system,we can save more costs to achieve unified access,instant messaging,remote interaction and control,remote operation and maintenance and other functions for new and old equipment systems.It can easily solve the problems of old equipment access,and solve the problems that need to be checked and solved on site,as well as the problems related to on-site debugging and operation of various equipment to achieve services.【Key words】:Internet;Internet of Things;cloud platform;network traversal;remote control设计研究与应用0 引言物联网1网络与业务发展迅速,尽管物联网相关工作推进较快,产业化发展仍然面临着巨大的挑战,缺乏统一的标准体系和成熟的商业模式,同质化产品较多,难以全面迅速推广,不仅缺乏盈利的商业模式,而且缺乏具有系统综合解决方案集成能力的系统。目前新物联设备的交互控制以开发 MQTT2等为代表的物联网通信协议实现,并通过花费大量人力物力建设物联网网关,万物互联将重新塑造现有网络与业务平台。但以往老设备运行与维护良好,更新换代同样需要考虑成本代价与熟悉程度。另外,传统设备大多以设备主体与各种控制与周边设备组成本地局域网,由现场人员操作控制台实现针对设备的控制与维护。但针对各地设备调试维护,需要大量的人力与成本投入,并且还面临着部分领域的设备操作、调试、故障排查困难等问题。另一方面,基于前端开发技术的发展,HTML5 的诞生,WebSocket3协议真正实现了Web 端的即时通信,使 B/S 模式具备了 C/S 模式的实时通信能力。设计基于云平台的网络穿越交互系统,通过该系统可完成全国各处的新、旧设备的统一化接入,实现远程调试、数据采集、故障排查、运维等服务,必要条件下,可通过视频会议系统/流媒体服务等实现现场环境查看与实时交流,有效保障各地现场设备运作正常。1 系统分析本系统为兼容新旧设备的一体化设计,可根据实际131田经纬张敏:基于云平台的网络穿越交互系统设计情况选择其中部分方案来完成线上服务搭建。在现有网络模式下,物联网网关的开发与运维作为首选,但会使企业有较大的人力物力投入。云视频会议系统4及流媒体服务5类同,可根据企业技术熟练度与实际需求选择。针对兼容旧设备能够实现网络穿越实时通信,需要进行进一步设计。1.1 传统通信设计 针对本文中需实现的设计,控制设备仅有在本地通信 TCP/UDP 等内网传输模式下,通过建立后台服务系统方式连通控制设备打通与云平台服务的交互,可以实现数据透传,再通过云平台服务实现针对受控设备的控制。但面临的情况会是,平台服务用户也分布在全国各地,用户都在远程进行设备的控制与维护,如何形成控制设备、受控设备和用户的对应关系。并且,如果在用户本地建立后台服务,对用户来说同样是难以操作维护和浪费物力的状态,每个后台服务只能服务于一个用户。为了解决此问题,通过统一的平台服务来实现所有用户、控制设备与受控设备的关系,也可通过浏览器技术来实现,HTTP 技术中轮询、长轮询、流技术均可实现,但大量资源耗费在查询上,或因为响应一直存在消耗软硬件资源,同样并不可取。1.2 优化通信设计WebSocket 是 HTML56中新定义的协议,实现了B/S 架构中的双向、单套接字、全双工通信。较以往设图 1 系统整体框架图Fig.1 System overall framework diagram云平台侧平台服务物联网网关(可选)云视频会议/流媒体服务(可选)数据库服务服务侧客户端浏览器控制设备控制网关互联网设备侧设备网关摄像头(可选)转换器(串口等协议)(可选)转换器(串口等协议)(可选)受控设备受控设备132软 件第 44 卷 第 1 期SOFTWARE计,能够节约大量服务器资源,节省网络带宽,提高传输实时性。引入 WebSocket 技术,普通交互数据通过云平台服务前后端实现,前端代码实现 WebSocket/MQTT 服务,只为实现控制数据传输,在数据传输实时性方面有相当大的优势。各地用户通过客户端浏览器访问平台服务实现控制与运维,也能够直接简单对应形成关联关系。在此基础上,只需要再开发一个简单的通信网关将控制设备与客户端浏览器形成数据通路即可。客户端浏览器建立 WebSocket 服务器,网关建立 TCP/UDP 服务端与 WebSocket 客户端服务,接收控制设备数据转发给客户端浏览器,客户端浏览器再根据用户操作设备场景,转发数据到云平台服务到相应的设备网关,实现场景下的设备控制与维护。2 系统设计方案本系统为实现内外网环境网络穿越与实施交互式控制,并兼容新、旧设备的接入控制管理,划分为三大块:云平台侧、服务侧、设备侧。系统整体框架如图 1所示。云平台侧主要有:(1)平台服务:提供统一登录、认证、权限功能;提供统一接入各地设备网关接入及状态检测功能;为平台客户端浏览器提供后台数据服务;接收客户端浏览器通过 WebSocket 实时发送的控制数据,封装为受控设备需要的协议数据,发送给设备网关。(2)数据库服务:统一存储用户、调光网关、设备网关及平台功能等相关数据。(3)物联网网关:可接收设备网关数据或受控设备数据转发给平台服务;可接收平台服务的控制数据转发给设备网关或受控设备。(4)云视频会议/流媒体服务:接收平台的音视频采集请求,推送设备网关侧的摄像头音视频流。服务侧主要有:(1)客户端浏览器:提供图形界面展示各地设备、配置等,为用户提供服务;建立WebSocket 服务或 Mqtt 服务接收控制网关传递的控制服务转发给物联网网关或平台服务;接收用户操作,通过云视频会议/流媒体服务器进行音视频采集,实时交互。(2)控制网关:建立 TCP/UDP/WebSocket 等协议服务,接收控制数据转发给客户端浏览器。(3)控制设备:操作控制设备对各地受控设备进行控制,根据设备自身可选择对控制网关/物联网网关形成连接通路。设备侧主要有:(1)设备网关:设备系统接入平台服务/物联网网关,定时发送状态与故障信息等;接收平台服务/物联网网关发送的控制数据,转换为标准协议转发给转换器,并接收信息反馈给平台服务/物联网网关;接收音视频采集请求,从摄像头拉取音视频流发送到云视频会议/流媒体服务。(2)转换器:将输入控制数据根据受控设备的协议信号转换输出。(3)摄像头:接收网关请求,采集音视频数据推送。(4)受控设备:与设备网关/物联网网关形成连接通路;接收设备网关/物联网网关传来的控制信号实现服务。3 系统总体设计3.1 架构设计本系统软件架构设计如图 2 所示。3.2 软件设计主要对服务层组件进行设计说明。平台服务:(1)采用SpringBoot框架,结合MyBatis Plus连接MySQL数据库实现相应服务。(2)集成Netty7建立 TCP/UDP/WebSocket 服务端,实现数据链路响应服务。(3)进行协议数据转换并通过 ProtocolBuffer8封装协议数据。(4)调用响应视频会议请求或音视频流服务。客户端浏览器:(1)采用 Vue9框架,通过 HTTP调用实现平台服务。(2)结合 WebSocket/Mqtt 技术实现控制数据转发服务。控制网关:(1)采用 SpringBoot 框架,集成 Netty服务组件,实现 TCP/UDP 服务器,监听控制设备数据并转换协议。(2)通过 Netty 服务组件实现 WebSocket客户端,将协议数据向客户端浏览的 WebSocket 服务端推送。设备网关:(1)使用 C/C+开发,通过 Protocol Buffer 封装协议数据提供平台服务及状态、运维服务等。(2)将音视频流采集,组成 RTMP 数据包推送到云视频会议/流媒体服务上。(3)接收平台服务/物联网网关数据,转换协议发送到转换器,实现设备控制服务。物联网网关:(1)建立 Mqtt Broker 实现 MQTT 协议数据转发功能。(2)实现设备接入功能。(3)协议数据转发,实现相应服务功能。云视频会议/流媒体:(1)可通过开源框架 Kurento或其他基于 WebRTC 的框架实现云视频会议系统进行实时交互。(2)设备网关讲音视频流采集到一起,组成 RTMP/HBase64&AAC 等数据推送到流媒体服务器。(3)客户端浏览器从云视频会议/流媒体服务拉取流媒体数据,播放音频和视频。3.3 部署运维本系统部署运维方面,云平台侧建立 MySQL 主备服务器,防止数据丢失,提高 I/O 性能;平台服务后端与前端