基于心跳机制的农业物联网数据采集系统设计*

2016-09-08 09:23静,
传感器与微系统 2016年9期
关键词:客户端远程服务器

黄 静, 牛 鸽

(浙江理工大学 信息学院,浙江 杭州 310018)



基于心跳机制的农业物联网数据采集系统设计*

黄静, 牛鸽

(浙江理工大学 信息学院,浙江 杭州 310018)

针对农业物联网因地域范围广、环境因素相对变化大,系统易出现网络通信故障问题,采用Push模式结合心跳加速协议的心跳检测方法,用以判断网络的连接状况,减少系统的误判率;在网络异常时,通过连续请求,实现重连或提示管理者采取相应的措施。测试结果表明:该方法提高了远程数据采集系统网络服务质量与通信的可靠性和可用性。

心跳机制; Push模式; ZigBee

0 引 言

农业环境信息复杂多样,分布范围广,对农业环境信息的快速采集和处理是实现智能化重要基础和前提条件。实际应用中,如网络中断、网线断开、设备硬件故障等原因可能导致通信模块故障,造成局域网的实时性和可靠性降低。严重影响了远程数据采集的稳定性。建立一个实用、可靠、可长期监测的农业环境监测系统是必要的。

鄢锋[1]在远程监控系统中采用心跳环机制判断网络节点通信状态,但当网络异常断开时,无法及时检测到网络断开的情况。Chen W[2]针对改进的推式(Push)的故障检测进行了研究,但是在Push方式下被测节点周期性主动发送心跳信息,自适应能力差,无法调节心跳检测周期,降低了网络的性能和效率。

本文在上述研究基础上,采用Push模式结合心跳加速协议的心跳检测方法,在客户端与服务器之间采用不同的心跳检测机制,用以网络通信状态检测和判断;在网络发生异常时,通过连续请求连接实现重连或提示管理者采取相应的措施,保证网络设备和应用程序的正常运行和服务不中断。

1 系统总体结构设计

系统由数据采集层、传输层和远程监控中心3部分组成。数据采集层采用ZigBee无线传感器网络节点作为农田环境感知终端,完成目标检测区域环境采集的工作;并将采集到的数据上传到嵌入式网关节点。嵌入式网关节点监听远程客户端的访问请求,根据需要对远程控制模块发出命令,实现对设备的控制。远程控制中心通过网络访问、存储、分析、展示目标检测区域中的数据。系统总体结构如图1所示。

图1 系统结构设计

ZigBee是一种低功耗、低速率、延时短的双向无线通信技术,适合应用在不易长距离现场布线、数据采集覆盖面积广的农业环境监测系统中。ZigBee网络通常分为路由节点、协调节点、终端节点3个部分。终端节点通过搭载各类传感器周期性地采集农作物参数信息;路由节点起到路由的作用,对采集的数据转发。

传感器终端节点是进行数据采集的基础和前提,它的准确性和可靠性对整个检测系统的性能有重要影响。温湿度传感器采用由瑞士Sensirion公司推出的多功能式智能传感器SHT15,将温湿度传感器、A/D转换器、信号放大器、I2C总线接口全部集成到一个芯片内,具有体积小、响应速度快、抗干扰能力强的特点,采集完成后关闭传感器电源进一步降低功耗,能满足对农田温湿度采集的需要[3]。采用ZigBee技术和SHT15传感器的结合完成环境温湿度的采集,如图2所示。

图2 ZigBee与SHT15连接图

ZigBee终端节点还可以搭载其他传感器(温度、湿度、光照、CO2)和继电器等组成无线传感网络,通过具有自适应切换功能的网关将ZigBee网络接入传输网络,将数据传给服务器。

2 心跳检测机制优化设计

心跳检测是周期性、循环地发送心跳信息,用于判断网络节点连接是否正常。基于TCP/IP协议的网络通信,网络出现故障时,往往不能及时有效发现客户端与服务器是否连接正常[4,5]。采用心跳检测机制,当网络异常时,能够及时通知管理者采取相应的措施,保证应用程序与网络设备的正常运行和服务的不中断的要求。

2.1心检检测模式

心跳检测通常分为Push和Pull两种模式[6,7],Push模式是被检测节点向检测节点周期性地发送Push心跳信息,如果在指定的时间内检测节点没有收到心跳信息,则认为被检测节点发生故障,如图3所示。

图3 Push模式图

Pull模式则是由检测节点主动向被检测节点周期性地发送心跳查询信息,若在指定的时间内没有收到被检测节点的响应,则认为被测节点发生故障,如图4所示。

图4 Pull模式

假设两种检测方式单向通信开销均相同[8,9],即通信数据包占总线通信时间相同,定义为T。当采用Pull模式时,每检测一次,需要发送与反馈两个环节,通信开销较大为Fpull=2T,采用Push模式,每检测一次,只需单向发送心跳包,通信开销为Fpush=T。

两种心跳模式都是按照心跳机制周期性地发送心跳数据包,并通过在指定的时间内是否收到响应判断网络状态。准确性与快速性是故障检测的两个关键因素。检测时间过大,不容易快速检测出故障,过小则容易产生误判。

2.2心跳机制的优化

在单服务器多客户端的系统中,服务器的持续可靠运行是保证整个系统运行的关键,为满足系统的要求,提高判别的准确率,减少系统的开销,综合考虑影响心跳检测性能的因素,通过在两端设置不同的心跳模式,以便在网络异常时能够及时提醒用户。

首先客户端与服务器通过Socktet建立连接并启动心跳包机制,在客户端设置Push心跳周期假设为T1,服务器端心跳周期为T2,且T2>T1。

1)客户端每隔一段T1时间向服务器发送Push信息,如果在T2时间内,服务器收到客户端的Push心跳信息,则认为网络连接正常并进入下一个检测周期T2;否则,转入步骤(2)。

2)若在T2时间内,没有收到某个客户端的心跳信息,则把服务器当前周期减半为T2/2。对此客户端发送Pull心跳信息,若在T2时间内,服务器收到此客户端的Push心跳信息或Pull响应信息,则认为网络连接正常,并将服务器心跳检测周期T2恢复到初始值,并转为步骤一;否则,继续执行步骤(2),一直到心跳周期小于客户端与服务器之间的环回时间T2

分析协议可知,服务器节点判定客户端异常的检测延迟最大为

(1)

3 系统测试

采用天嵌公司出品的的TQ210开发板作为服务器,主要包括两个线程,心跳检测线程和普通消息处理线程,主线程将请求连接的客户端套接字与连接时间加入数组中,并在一个循环中接收客户端的消息请求;而心跳检测过程包括心跳消息发送和检测两个部分;利用Myeclipse平台开发远程客户机,模拟不同网络条件(网络拥塞、网络中断)在只有Push,Pull,Push与心跳加速协议情况下进行心跳模型的功能测试。

客户端采用Push模式在间隔T1=20s的时间内往服务器发送心跳信息,测试结果如图5所示。

图5 Push心跳检测

服务器采用Pull模式在间隔T2=30 s的时间内往客户端发送心跳检测信息,测试结果如图6所示。

图6 Pull心跳检测

客户端采用Push模式每隔T1=20 s的时间内往服务器发送心跳信息,服务器每隔T2=30 s的时间检测是否收到客户端的心跳信息,测试结果如图7所示。

图7 Push与心跳加速协议

经模拟测试如表1可知,在网络连接正常情况下,服务器与客户端能够正常保持通信;当网络拥塞时,在Push与Pull模式下,易产生误判。Push与心跳加速协议下,当服务器检测不到Push心跳信息时,以当前周期的二分之一间隔向客户端发送心跳检测,提高了判断的准确性。网络中断时,在Push与Pull模式下客户端不能及时发现断网状态,Push与加速心跳协议模式下,能够释放客户端资源,及提醒管理者采取相应的措施。综上分析,采用Push与心跳加速协议心跳检测机制比只使用Push,Pull模式提高了判断的准确性;提高了系统网络服务与通信的可靠性和可用性。

在恒定温度29 ℃的空调房间内每隔5s采集的温室度

表1 心跳模式的比较

数据如表2所示。系统能实时、连续采集环境参数,为获取农业环境信息,提供了灵活有效的监控手段。

表2 远程监测数据表

4 结 论

本文针对农业物联网数据采集系统易出现的网络通信故障问题,设计了一种基于心跳机制的数据采集系统;在分析心跳模式的基础上,提出了一种在客户端与服务器之间采用Push结合加速心跳协议的检测方法;测试结果表明:该方法减少了系统的开销,提高了检测的准确性,保证了远程数据采集系统网络服务质量与通信的可靠性和可用性。

[1]鄢锋,桂卫华,胡志坤,等.基于Socket的整流装置远程监控系统[J].计算机工程,2008(5):243-245.

[2]Chen W,Sam T,Marcos K A.On the quality of service of failure detectors[J].IEEE Transactions on Computers,2002,51(1):13-32.

[3]衣翠平,柏逢明.基于ZigBee技术的CC2530粮库温湿度检测系统研究[J].长春理工大学学报:自然科学版,2011(4):53-57.

[4]周磊.容灾系统控制平台与心跳检测技术的研究与实现[D].哈尔滨:哈尔滨工业大学,2006.

[5]张丹.基于自适应心跳协议的工业无线网络簇首冗余机制研究[D].重庆:西南大学,2010.

[6]王明,张春熹,伊小素.基于自适应心跳算法的分布式系统故障检测器[J].北京航空航天大学学报,2013(7):952-956.

[7]张水平,李有峰,童样,等.云数据中心心跳检测与故障评估[J].计算机工程与设计,2014(10):3386-3391.

[8]谢长生,胡庆平,谭志虎.Heartbeat-Gear:一种新型的实时心跳监测技术[J].计算机工程与科学,2004(5):62-65.

[9]邹见效,张正迁,徐红兵.三重化冗余多机系统心跳检测机制研究[J].电子科技大学学报,2010(3):379-383.

Design of agricultural IoT data acquisition system based on heartbeat mechanism*

HUANG Jing, NIU Ge

(College of Information,Zhejiang Sci-Tech University,Hangzhou 310018,China)

Aiming at problem of network communication failure appeared in system because of wide geographical range and big relative change of environmental factors,use heartbeat detecting method adopting push mode combined with rapid heartbeat protocol to judge network connection status,and decrease misdiagnosis rate of system;when network is abnormal,through continuous request realize reconnection or prompt managers to take corresponding measures.Test result show that the method improves network service quality and communication reliability and availability of remote data acquisition system.

heartbeat mechanism; Push model; ZigBee

10.13873/J.1000—9787(2016)09—0095—03

2015—11—27

浙江省自然科学基金资助项目(LY12F03012)

TP 302.1

A

1000—9787(2016)09—0095—03

黄静(1965-),女,浙江杭州人,博士,教授,主要研究方向为物联网技术及智能控制。

猜你喜欢
客户端远程服务器
让人胆寒的“远程杀手”:弹道导弹
远程工作狂综合征
通信控制服务器(CCS)维护终端的设计与实现
如何看待传统媒体新闻客户端的“断舍离”?
远程诈骗
县级台在突发事件报道中如何应用手机客户端
孵化垂直频道:新闻客户端新策略
大枢纽 云平台 客户端——中央人民广播电台的探索之路
中国服务器市场份额出炉
得形忘意的服务器标准