论文部分内容阅读
物联网技术快速发展并在农业领域得到了广泛应用。随着农业物联网应用规模的扩大和网络通信量的增加,农业物联网应用层SCADA系统会遇到感知识别采集终端高并发的数据访问、数据标准异构导致通信协议消息格式在通用性、结构化和效率上难以实现平衡以及针对数据流快速响应和实时处理等问题。本文将农业SCADA系统抽象为一般功能模型,并根据数据流动过程分别研究数据采集、数据处理和数据存储子系统相关设计和优化技术,旨在提高系统通信并发性能的同时优化系统的数据处理能力。本文主要完成了以下几项工作:1、针对农业物联网应用层SCADA系统的通用性,将系统抽象为功能模型,分别从基于windows的网络通信模型、基于应用层协议和数据流处理算法的数据处理过程、基于连接池和查询优化的数据存储过程,探讨了提高系统数据处理能力的技术。2、针对完成端口机制中的信息定位、资源管理、内存页锁定和数据包处理等问题进行分析,优化了基于线程私有链表的对象池,提出了基于无锁数据结构、CAS机制和任务窃取的线程私有链表对象池优化策略,解决了线程池对共享资源的并行访问效率低的问题。3、针对数据标准不一致引起的通信协议消息格式混乱问题,提出了基于JSON和TLV的数据格式,解决了传感数据传输及解析低效问题,使数据传输和解析过程在占用带宽/内存和响应时间之间取得更好平衡;同时,针对农业物联网数据流的特点和处理需求,提出了适用于农业SCADA系统的数据流实时处理算法。4、设计并搭建了一种面向农业物联网应用层的农业SCADA系统,实现了农场的远程管理。系统验证了SCADA模型的通用性,解决了SCADA系统在面对大规模数据并发访问和处理时的性能问题。经过实际应用表明,在面对高速率数据访问请求时,对网络通信优化提高了系统并发连接网关的数量和通信效率,而协议格式优化提高了数据传输效率和数据包封装/解析效率,通过数据流处理算法降低系统的内存使用率同时提高输出结果的实时更新效率。