虞翔++夏春梅
摘 要: 针对物联网服务平台的实际需求,详细分析物联网系统的架构,提出实时性和非实时性数据通路分离的设计方案,实现高灵活、低时延传输数据的目标。研究结果表明,在24 GB内侧服务器上能达到9万个TCP连接,端至端传输时延平均控制在10~18 ms,上述方案能很好地满足实际物联网服务平台的需求。
关键词: 通用物联网服务; 实时数据; 传输路径; 传输时延
中图分类号: TN919.2?34 文献标识码: A 文章编号: 1004?373X(2017)11?0037?03
Realization path of real?time data transmission for general IOT service
YU Xiang, XIA Chunmei
(Baoshan University, Baoshan 678000, China)
Abstract: Aiming at the actual demand of the Internet of Things (IOT) service platform, the architecture of the IOT system is analyzed in detail. The design scheme of separating the real?time data path from non?real?time data path is proposed to realize the target of data transmission with high flexibility and low delay. The research results show that the platform can connect 90 000 TCPs in 24 GB inside server, the average end?to?end transmission delay is controlled within 10~18 ms, and the scheme can meet the demand of the actual IOT service platform.
Keywords: general IOT service; real?time data; transmission path; transmission delay
0 引 言
近些年,物联网获得快速的发展,并逐步形成物联网服务业产业化。物联网采用新型传感设备,例如,红外感应器、GPS定位系统等,是把互联网与物品相互连接的网络。它根据预先制定的通信实施信息交换,通过对物品的识别、定位跟踪实现对物体的实时监控。但因物联网感知设备、应用平台异构性较强,导致物联网应用出现碎片化、扩展性差等问题,为物联网的设计和开发工作带来极大困难。针对上述问题,本次开发一套支持物联网双向实时数据传输的消息内核,并对其性能展开测试和验证,能为大规模物联网服务平台传输数据提供一定借鉴和参考。
1 概述物联网的结构及软硬件情况
一般情况下,物联网主要划分为感知层、应用层、网络层三个层次。其中,传输层借助互联网,依据有关网络协议把信息数据分别传输给信息对应的数据中心;应用层利用与平台有关的技术,对数据实施解析和处理,从而获取物品相关的各类信息,达到监测或控制物品的效果[1]。物联网体系架构见图1。
图1 物联网体系结构
1.1 设计系统的硬件
完整的物联网应用系统其硬件架构如图2所示,主要包括与物理环境相交互的无线传输部分,如执行器、无线传输器等。此时,服务中心主要提供接入Web应用、接入的网关等服务,上述服务均利用内部消息总线实施连接,并借助消息总线实现消息的负载均衡机制、发布/订阅机制[2]。
1.2 设计软件架构
服务端采用Java语言进行开发操作,通过Eclipse,maven等工具编写所需的软件模块。对复杂软件进行分解时,设计者最常用的技术就是对其分层,分层旨在对不同职责的组间实施分裂,组成一套层与层之间低耦合的软件系统。本次软件架构也不例外,为满足实时发布信息和交流应用的要求,该架构主要划分为表现层、应用层、服务层和数据层。其中,表现层就是用户界面视图,是用户和系统展开交互的桥梁,它包括各种移动终端界面、Web页面等。用户利用可视化界面向系统输入各项操作质量,上述指令以请求的方法传输至应用层。应用层的主要功能为接收并响应用户请求,如果用户发出请求,由它接收并传递至服务层。设计的Real?time Service通信模块旨在接收、处理Gateway Service模块传送而来的数据。当传输Gateway实时数据,用户对其进行持久化存储,它是一个高性能的非关系型数据库,能实现人机交互的效果[3]。
2 设计实时数据传输通路
2.1 设计合理的数据通路
服务中心主要由实时数据通路和非实时数据通路两条数据通路组成,依次对传输数据实施实时显示处理。遵循应用物联网中实时监控的要求,按照实时和非实时数据通路分开设计的方案,单一记录详细的数据,以此满足系统报警和监控的需求[4]。同时,为支撑UIO测试的实际需求,其能够提供双向数据传输,见图3。
2.2 设计分布式消息总线
现阶段,面向服务的架构广泛应用于实时服务系统中,用户由客户端向管理服务器发出信息操作命令。信息操作hill包含本级信息指令、上下级信息操作指令。本级和上线阶段数据交换服务即数据交换总线需要实现的功能。本系统消息总线服务模型见图4。消息总线是物联网服务系统的动脉,是完成各项服务之间实施通信的关键技术[5]。分布式通信模式主要分类如下:
(1) 请求回应:这种模型从请求端发布请求信息,并期待回应端可以及时对请求信息予以回应。
(2) 发布订阅模型:在该模型中,发布端仅单向发出数据,并不关心是否把所有信息均传送到订阅端。如果发布端开始发出相应的信息,订阅端没有连接上来,这些信息会直接面临丢弃。必须注意,订阅端只有接收信息的功能,不能实施相应的反馈。
本次研究的消息总线基于Java的Vertx技术进行开发,并充分运用Vertx自带的分布式部署能力对整个后端服务实施开发操作。该系统设计过程中主要包含以下模块各部分之间的实时数据信息传输,如Gateway Service与Simulation之间利用TCP通信协议。
3 检测端到端实时数据流传输性能
3.1 创设合理的测试环境
本次设计中,在同一局域网下配备4台主机,具体设备见表1。对其网络性能实施检测时,要充分考虑数据服务器的接入和时延参数变化情况。因此,本次实验对相同局域网下不同主机的运行情况展开测试,模拟其分布式运行环境。如果连接数不断增加,网络性能指标也会随之改变。
本次实验共展开11次测试,试验编号为1~11,准确记录每一次实验的往返时间数值,计算相应的平均值,具体结果见图5,横轴、纵轴分别表示试验编号、平均时延。由图5可知,本次设计系统的数值在10~18 ms之间波动,最小值出现在7 ms、最大值在29 ms,出现这种情况与数据传输是否拥挤有关。
3.2 测试系统的接入能力
接入能力测试部署见图6,在物联网平台服务体系内,每一次客户端Gateway Simulator应用程序不断提升连接访问服务器。
在相同的局域网环境下,系统配备4台主机,其中,3台为客户端发布请求连接;另一台作为客户连接服务程序。共展开8次测试,图7表示单位时间每毫秒服务器的连接数。
表2详细记录通过8次实验客户端能够连接的数量,以此检验系统的可接入能力。由表2数据可知,最好状态下约有9万连接数量,其他时间约8万。
综上所述,物联网服务平台的主要功能是多传感器数据的汇集、处理、优化、控制等,系统如何在保持高并发基础上及时处理实时数据,成为研究者重点关注的内容。本次研究从物联网系统的主要结构入手,深入分析其软件和硬件架构,提出实时、非实时数据通路相互分离的方案。实验结果证实,24 GB内侧服务器上约有9万个TCP连接,端对端传输时延平均处于10~18 ms,所设计的方案能满足实际物联网服务平台的实际需求。
参考文献
[1] 邱旻骏,张伟,朱劲,等.通用工业物联网网关的设计与评测[J].通信技术,2013,11(3):58?61.
[2] 罗旭,张伟,卜世俊.通用物联网服务平台中的实时数据传输设计与性能测试[J].电脑知识与技术,2014,43(35):8379?8382.
[3] 赵亮,张吉礼,梁若冰.面向建筑能源系统的物联网通用网关设计与实现[J].大连理工大学学报,2014,54(1):85?90.
[4] 姚有林,尤飞,高竹莲,等.车联网移动无线数据通信系统的设计与实现[J].现代电子技术,2014,37(20):31?34.
[5] 冯鑫,党幼云,向乾,等.基于物联网的电量采集及分析系统设计[J].陕西电力,2014,42(2):80?84.
[6] 田立勤,高坤,曹阳威.北斗物联网实时监测的传输有效性优化与分析[J].计算机科学与探索,2016,10(7):975?988.
[7] 屈军锁,左佳丽.一种可靠数据传输技术的设计与实现[J].西安邮电大学学报,2016,21(2):40?45.
[8] 李灝,杨海波.基于ARM的物联网温湿度采集节点设计与实现[J].现代电子技术,2014,37(14):132?134.