• 工作总结
  • 工作计划
  • 心得体会
  • 领导讲话
  • 发言稿
  • 演讲稿
  • 述职报告
  • 入党申请
  • 党建材料
  • 党课下载
  • 脱贫攻坚
  • 对照材料
  • 主题教育
  • 事迹材料
  • 谈话记录
  • 扫黑除恶
  • 实施方案
  • 自查整改
  • 调查报告
  • 公文范文
  • 思想汇报
  • 当前位置: 雅意学习网 > 文档大全 > 公文范文 > 正文

    基于MQTT,物联网协议的校园共享设备数据采集方案设计与优化

    时间:2023-06-22 22:45:02 来源:雅意学习网 本文已影响 雅意学习网手机站

    吴展斌,陈汉营

    (1.华南师范大学附属中学,广东 广州 510630;
    2.暨南大学 信息科学技术学院,广东 广州 510630)

    近年来,在以教育数字化相关规划和要求为指导、以“协调、创新、共享、开放”可持续发展理念为目标、以新一代信息化、数字化应用技术为基础的背景下,各级各类学校积极推进落实基于云计算、大数据、物联网技术的智慧校园管理措施,以高标准实践推进校园信息化建设.通过建设数字化智慧校园,打造与时俱进的信息化环境,从而提升高校的数字化管理服务水平,实现高校数字化的跨越式发展,逐渐实现高校教育水平的现代化.

    智慧校园的主要特征是基于物理和信息系统的深度融合,利用新一代信息技术实现校园高度网络化和智能化.新一代智慧校园环境由很多重要的信息系统构成,其中,智慧校园物联网就是智慧校园环境的基础.智慧校园物联网的数据采集、数据传输和数据监测利用,是构建智慧物理系统和实现信息化智慧校园的必要条件[1].在校园日常学习和活动中,共享箱柜等校园共享设备的应用随处可见,共享设备的数据采集交互需求大,迫切需要设计优良的数据采集监测方案,在实际应用中,共享设备数据传输频率高、终端数量大,也导致服务器传输和数据存储并发性大,容易造成数据延迟和丢失,需要探索出更稳定更高效的数据采集和存储方法[2].

    以当前校园的信息化的情况来说,校园信息化建设中物联网的数据采集交互技术,已普遍应用于校园服务场景,起到了很重要的作用.然而,当前的物联网设备数据采集、传输、存储应用过程中,还存在很多不足,从而影响当前飞速发展的数字化校园建设.通过实践中的观察和分析可发现,当前存在于校园物联网设备数据采集、传输、存储过程的不利因素,主要有以下三个方面:

    (1)数字化校园物联网设备的数据在采集、传输、存储交互中,同时涉及到物理层、网络层与传输层,同时,对于规模大的高校也存在跨校区网络的问题,存在不同的网络层级和区域,从而使整个数据采集、传输、存储系统的集成难度与管理成本大;

    (2)智慧校园物联网的设备种类多,各类共享柜等应用设备终端数量大,数据传输频率高,导致服务器传输和数据存储并发性大,需要根据业务情况在服务器端,对数据存储并发性进行优化;

    (3)在建设业务类型繁多的校园数字应用系统过程中,为了适配不同类型的共享智能设备、传输协议、数据接口,实现数据采集、传输、存储交互功能的开发时就会出现各类问题,相应地提高了系统开发的技术门槛和建设成本,造成校园数字化平台的建设存在较多的阻碍.本应用涉及的校园共享设备种类多样,除了包括校园中常用的宿舍楼和教学楼的共享储物箱、图书馆的共享书柜、校门口外卖共享柜,还有各类实验室共享仪器等共享设备.

    针对以上存在的问题,在校园新的信息化建设中,整体规划部署校园共享设备管理系统(网络结构和设备类型如图1 所示).由图1 可见,校园信息系统中的设备种类多、场景分散,校园人员密集,带宽相对局限,需要一种低开销、实时可靠的通讯方式.MQTT 协议最大优点在于,可以以有限的带宽,为远程设备提供实时可靠的消息服务;
    该即时通讯协议低开销、低带宽占用,适合其在物联网、小型移动设备等方面广泛的应用;
    且该协议具备遗嘱消息,这对于容易掉线的校园共享设备而言非常有用,适用于定制数据防丢机制.总体来看,MQTT 协议较为适合本建设的实际要求.

    图1 校园共享设备管理系统框架图

    下文尝试基于MQTT 物联网协议的校园共享设备数据采集传输应用框架,自定义协议规则,探索数据采集方案[3],并提出对该框架下的MQTT 数据采集存储过程进行优化的具体方法,以应对广泛存在的智慧校园共享设备数据采集场景,以及为更多的校园设备数字化建设提供有用的借鉴参考[4].

    3.1 数据采集传输框架的分层设计

    基于以上存在于智慧校园共享设备应用领域中的数据采集难题,本文主要有针对性地探讨基于MQTT 协议的校园共享设备管理系统数据采集框架[5].总体上,此数据采集、传输、存储应用框架,主要包括四个业务分层(如图2所示).

    图2 基于M QTT 协议的校园共享设备网络分层框架图

    第一层,框架系统中的基础层为设备物理层、传感层,主要包括校园网络应用中常用的共享箱柜(如宿舍图书馆的共享储物箱)、外卖共享柜和各类实验室共享仪器等共享设备.在基础层中,设备自身的内容数据和信号数据,先将其缓存到终端内存中,在MQTT 传输流程中定义为client 角色,然后,定义原始数据包格式,准备向框架中的更高分层传输.

    第二层,网络连接层的作用就是把各应用流程中的设备与校园边缘服务器、数据中心存储进行联接.作为终端到MQTT 服务器数据库的中间环节,通过此网络联接层,实现智慧校园的信息数据结构与管理结构的扁平化发展,从而让校园的设备信息网络朝着规整科学的方向发展.

    第三层,校园应用数据汇总层作用就是实现在业务流程不断数字化的基础上,让校园设备传感层、连接层所收集的数据,可以通过MQTT 服务程序将采集到的数据进行初步拆分、存储,存储目标为校园网边缘服务器、云数据中心等;
    当然,还可跨校区,跨局域网、跨系统,传到校园其他应用系统上.从而,不断通过分析数据、数据接口扩展,支撑第四层的数据调用.

    第四层,框架系统的最顶层就是智能校园用户层与可视化层,该层的作用,就是为平台提供更加个性化以及智能化的体验服务.提高系统可视化管理,优化系统运作模型和资源配置,提升学校日常管理效率,丰富学生在校园活动中的体验[6].

    3.2 系统部署搭建实现

    结合框架层级结构,在实现过程中,底层MQTT 开发工具采用nodeJS 和mosca 插件包;
    在网络处理层使用MQTTServer 类,进行数据包的发送和接收控制管理,包括监测数据的时间间隔控制等,对于有跨校区的校园,在该层扩展边缘服务器,初步采集和处理区域数据;
    在数据融合层,使用spring MVC 框架,对数据层、控制层和视图层进行分离处理,另外,为了方便向第三方提供数据接口调用和后续场景扩展,使用restful 风格实现接口;
    系统的用户可视化层使用H5、echart 等BI 技术工具实现.

    3.2.1 基于node.js 的MQTT 应用部署搭建

    本节简要介绍采用Node.js 来部署MQTT服务器的基本流程.

    (1)安装部署node.js 基础模块和相关依赖.先安装node.js 框架;
    在对node 有初步了解的情况下,以下直接列出linux 环境下部署MQTT 模块的主要命令:

    (2)使 用MQTT.js 创建一个客户端.可参考上述工具中MQTT.js 文档中给出的example,它有个实例,连接到mosquitto 的一个MQTT 测试用server,subscribe 订 阅,publish发表,client.on("connect")表示 连接已建立,client.on("message")收到订阅的消息,其他更多api 接口等的用法,可参考相应工具文档.

    (3)建立MQTT 服务端(broker).MQTT本质上是client 之间通过一个中间人即broker,来进行相互通信,之后通过websocket 进行连接的web 端也是一个client.服务端的搭建使用mosca,该开发工具开源免费.通过以上基本步骤,则实现了搭建运行实例.后续我们根据共享设备的数据业务要求,对数据格式和数据流程进行细化实现.

    3.2.2 共享设备终端的配置部署

    共享设备通过WIFI 或4G 等方式接入校园网络,可在设备终端设置MQTT 的broker 代理服务器地址,以client 角色订阅、发布数据包.考虑到设备量大或校园跨校区的情形,还可以对终端进行分组,设置不同的MQTT 服务器地址,实现更大的弹性和并发性功能.

    3.2.3 数据汇总和设备管理层的实现

    在数据管理、设备管理层,采用基于java底层的spring MVC 开发框架,对数据层、控制层和视图层进行分离处理,另外,为了方便向第三方提供数据接口调用和后续场景扩展,使用restful 风格接口API 实现设计.

    总之,氯吡格雷联合阿司匹林治疗急性心肌梗死具有显著的效果,可有效改善患者冠状动脉血运情况,促进心脏功能恢复,且用药不良反应少,安全性较高,可大量推广应用在急性心肌梗死患者中。

    3.2.4 用户可视化层的实现

    系统的用户可视化层使用CSS3、Jquery 等H5 技术工具实现.Echart 等图表化BI 插件,可实现可视化交互开发和展现优秀的图形用户交互界面,同时可用来开发数据监测图表、动态数据流展示页面.

    在本应用实践中,使用普通配置的服务器(内存8G 以内,Linux 操作系统),可以支撑上千的设备并发数据交互,每天产生的数据量达1000 万条以上,极少发生数据包丢失情形,系统运行稳定.可见,以MQTT 协议为基础、业务场景自定义规则的校园共享设备系统数据采集处理方案,可以实现良好的可靠性与普适性.

    在实际的校园信息化应用中,各类校园学生日常需求应用场景对数据的采集应用有严格的要求,一方面需要确保数据采集交互的实时性、稳定性,一方面,根据原始数据进行监测分析,完善数据监测模型,用于优化共享设备资源的配置(本文以研究校园共享箱柜为主).结合上述,具体到校园共享设备应用环境,需要优化校园共享设备管理系统中协议的数据采集与传输存储过程的性能及系统数据监测模型[7].前面所介绍的基于MQTT 的校园设备数据采集与传输框架,包含了设备的信号数据、内容数据的采集监测[8],具体来说,可以将数据业务流程总结为以下三个不同的点.

    4.1 校园设备终端MQTT 数据采集效率优化

    在建设实验过程中,由于MQTT 服务器端接收传输和数据存储并发性大,容易使边缘计算服务器有限的资源发生死锁,如内存有限造成数据传输延迟、丢失等不稳定状况.对于此问题,通过优化服务器端的处理,在多次实测试验中,发现可通过对边缘服务器端MQTT 数据包积累到一定数量后批量写入,以减少存储频率,从而节省数据库连接资源开销,达到提高效率稳定数据传输的作用;
    同时,使用数据库Connection Pool 连接池进行配置,可有效提高数据传输和存储效率.

    对于部分相对次要的数据,可在设备终端进行优化,即在终端批量缓存数据到一个数据包,再向MQTT 服务器发送.此情形,则需考虑MQTT 消息的回传,以防止数据丢失.

    4.1.1 MQTT 服务器端数据采集存储优化

    在实测中,对于批量写入的数量值参数,要结合实际进行优化,太大容易造成长时间收集不到额定数据量而存在丢失可能,过小则对存储开销优化效果不大,如图3 所示,对于本框架实测中,采用的是同设备缓存到100 个数据包,则批量存储入库(以每秒向服务器发送一个数据包为例);
    同时,应结合时间跨度阈值这一要素,避免设备长时间空闲或等待状态时数据包累积不足而丢失数据,即长时间积累不够100 条数据时,则先将缓存量入库,提高稳健性,本系统设置的时间阈值为10 分钟(即600 秒),在实验中,该方法可有效避免设备休闲时间长造成数据丢失.

    如图4(A)所示,系统在采用数据缓存批量写入的方法前,单个MQTT 服务器在设备并发超过1000 台时,会时常出现设备重连、数据包未收到回复、数据包部分丢失的情况,排查原因发现,是因每收到一条数据都连接数据库写入,造成开销太大所致;
    如图4(B)所示,在累积100 条数据到缓存并批量写入数据库后,则不会出现设备重连或数据包部分丢失的情况.可见,该方法确实起到节省数据存储开销、优化服务器采集效率的实际作用.

    图4 数据采集存储优化前后日志对比

    对于部分相对次要的数据,可在设备终端进行优化,即在终端批量缓存数据到一个数据包,再批量传送服务器端.对于终端批量发送的数据包,为防止丢失,需要做确认消息和消息重传.

    在此协议设计中,考虑了QoS 发布服务质量等级:

    QoS 0(默认):最多发一次(不保证消息交付);
    QoS 1:最少发一次(保证消息交付,但可能出现重复);
    QoS 2:正好发一次(保证没有重复的消息交付).

    QoS 0 等级的 PUBLISH 消息的交付能力完全依赖于底层传输层,QoS 1 和 QoS 2 等级开始在应用层提高 PUBLISH 消息的交付能力.当消息丢失时,发送端会重新发送早前尝试发送过的 PUBLISH 消息(DUP=1),接收者收到消息也会发送确认响应消息.

    QoS 1 等级的 PUBLISH 消息中包含包唯一标识,发送方会一直将该消息当作 “未确认” 的消息,直到收到对应的 PUBACK 确认消息.

    对于该应用中的消息重传,在校园共享设备中的MQTT 协议定制时,可采用以下设计方式.标记 DUP=1 的消息是重复发送的消息,MQTT 消息重传有两种场景:(1).PUBLISH/ PUBREL 消息发送后,在规定时间内没有收到确认应答消息,则重传这个共享设备数据消息;
    (2).在使用持久会话时,client 重新连接后,broker 会自动重传未确认的消息.

    在校园共享设备实验中,DUP 标志只对 OoS >0 的消息有效,为安全起见,所有DUP 标志必须设置为 1,系统中客户端数据防丢要求高的则OoS 设置为2.

    TCP 协议的报文重传机制是对所有 TCP 报文有效的重传机制,而 MQTT 协议的消息重传机制只对一小部分消息有效,以实现更可靠的消息交付保证.可见,MQTT 协议的 QoS 1 和 QoS 2 要求更可靠的交付能力,并且需要在共享设备终端重连后也能保证交付.通过该机制,本校园共享设备MQTT 协议在实践中和数据结果中,基本都保证了数据的安全送达.

    4.1.3 MQTT 服务器的扩展分离优化

    在MQTT 优化中,除了以上两个方式,在本应用实验中,还尝试了两个服务分离的优化方式:

    1)可部署多个MQTT 服务器.当一台服务器用于处理MQTT 的并发终端过多时,有可能达到最大终端连接数瓶颈,如本次应用采用普通的服务器,服务器配置为内存8G 的情况下,当连接达到2000 时,资源基本处于满负荷状态,一旦有更多的共享设备终端(如数量为3000 个)时,则可考虑采用多MQTT 服务器的方式,部署多一台设备,终端的MQTT 连接client 地址动态部署,终端可采集分组管理方式.不同终端组的MQTT 连接地址虽不同,但数据存储,可归属到同一个数据库,也可把数据库服务器与MQTT 协议处理器分离.

    2)数据库服务器与MQTT 协议处理器分离.上述方式讲到的多MQTT 服务器时,一旦终端连接数多且对于数据库存储的业务复杂时,可在开发中把数据库服务器分离出来.因为一般在数据入库前,可能要把数据包的数据进行分析,再作数据包拆分与分析写入到不同业务子表.这时,可在MQTT 协议端直接写入初步数据到另一台数据库服务器,并在数据库服务器写storage 存储过程,或数据处理程序;
    监测分析数据的分析模型,也可独立部署,采用特定服务器做特定服务,进行服务环节细分.

    4.2 优化框架服务器中的信号数据传送策略

    在MQTT 优化实践中,可在相关终端向服务器定制特定信号数据的订阅,由MQTT 服务器程序对该订阅信号数据进行响应,以便该订阅程序可以定时地接收到共享设备信号数据.如上所述,该特定信号数据的传送间隔时间,会对整个数据采集的实时性、健壮性产生影响[9].在具体的监控信号数据传送中,还可以对其间隔时间参数进行设置.需要注意的是,间隔时间参数的设置要合理,可以在实验中根据实际效果进行调整,如果设置得较大,则会造成信号数据对于终端的数据感知程度大幅降低;
    如果设置得太小,则会导致向终端频繁地发送通知.所以,对信号数据参数设置的恰当程度,在实际的应用中非常重要.

    4.3 优化数据监测模型,根据监测数据优化共享设备的配置

    结合共享设备的实时监控数据,根据时间周期,按天、周、月份进行分析,挖掘背后的使用频率规律,如某些楼栋共享箱柜使用率高、共享箱柜紧缺,则把其它楼栋空闲的共享箱柜移动过来.通过定期调整共享箱柜数量和摆放位置,减少空闲箱柜,暂时关闭部分箱柜,减少数据存储负荷,一定程度可优化以共享箱柜为主体的设备利用率.在校园共享柜的数据应用交互过程中,框架服务器可以向终端定时发送针对性的订阅数据,进行规整优化,减少开销,实现效率提高[10].

    在对共享设备利用率优化之前,以共享箱柜为主体的设备的摆放策略,是采用平均摆放的方式,对每栋宿舍、教学楼的共享箱柜的数量设定,与学生的相应数量成正比.经过以每周为周期数据监测后发现,有的教学楼在每周的前三天因上课多、学生流动性大,则出现共享箱柜供不应求的情形,有的教学楼在每周后三天,上自习的学生多,出现共享箱柜供不应求的情形,针对以上数据,对可移动共享箱柜根据周期波动采用了动态摆放的优化策略.同时,结合宿舍楼的数据监测,同样发现存在一些优化空间,如学生的院系专业因素,因为理科生的课程相应实验多,其相应的共享设备使用频率也不一样.

    可见,通过结合不同时间周期、地点等因素进行共享设备数据监测,可得出相应的资源利用率优化具体方法.

    当前,建设好智慧校园普遍已经成为全国高校的发展目标.对于常见的校园共享设备应用场景,遇到了校园共享设备数据采集、传输、存储的诸多问题.本文主要针对这些问题,以实际校园场景需求为导向,研究了基于MQTT 的校园共享设备数据采集框架,对该框架中的各个层次的内容进行说明,并提出了智慧校园环境下基于MQTT 协议的数据采集传输、存储实时性进行优化的具体办法;
    同时,针对以共享箱柜为主体的设备的数据监测,挖掘数据背后的共享设备使用规律,进行更合理的共享设备资源配置.

    猜你喜欢数据包消息终端二维隐蔽时间信道构建的研究*计算机与数字工程(2022年3期)2022-04-07民用飞机飞行模拟机数据包试飞任务优化结合方法研究民用飞机设计与研究(2020年4期)2021-01-21X美术馆首届三年展:“终端〉_How Do We Begin?”现代装饰(2020年8期)2020-08-24一张图看5G消息通信产业报(2020年43期)2020-01-15通信控制服务器(CCS)维护终端的设计与实现铁道通信信号(2019年9期)2019-11-25SmartSniff网络安全和信息化(2018年4期)2018-11-09GSM-R手持终端呼叫FAS失败案例分析铁道通信信号(2018年4期)2018-06-06消息中国卫生(2014年12期)2014-11-12消息中国卫生(2014年8期)2014-11-12消息中国卫生(2014年7期)2014-11-10

    推荐访问:方案设计 联网 数据采集

    • 文档大全
    • 故事大全
    • 优美句子
    • 范文
    • 美文
    • 散文
    • 小说文章