农业物联网应用服务监测系统的设计

2015-10-24 05:42高泗俊张永刚周小林郑立荣
关键词:应用服务联网监控

高泗俊,张永刚,周小林,徐 阳,冯 斌,郑立荣,

(1.复旦大学信息科学与工程学院,上海200433;2复旦大学 无锡研究院,无锡214131)

1 农业物联网架构及其应用服务介绍

了解农业物联网的整体架构和应用服务的结构,是设计应用服务监测系统的基础.本文作者设计的应用服务监测系统基于该架构之上.这里将介绍农业物联网的整体架构、该架构每一层的特点及依赖关系,另外还将介绍农业物联网环境下的应用服务的结构和具体的描述.

1.1 农业物联网整体架构

物联网是一种通过RFID(射频识别)设备,智能传感器等,通过一定的协议,将物理世界的物品与互联网连接起来,实现物与物之间的信息交换,以实现智能化的定位、跟踪、监控、识别和管理的一种综合网络.农业物联网,顾名思义,即是物联网在农业中的应用.整个架构分为3层:感知层、网络层和应用层.整体的架构图如图1所示.

感知层:感知层的主要功能是采集数据,如环境的温湿度、风向风速、图像信息、视频信息、地理信息等等.它要区分不同的设备和不同的设备的状态,并通过不同的途径来获得有用的信息,然后将采集到的信息通过接入设备,如WSN的网关,将信息传送到网络层中.

网络层:该层的主要功能是通过Internet,移动通信网络,无线网络和各种私有网络将混合的各种感知层的信息传送给上层的平台.农业物联网本身是一个庞大而复杂的网络系统,它混合了各种异构网络,如宽带无线网络、光纤网络、蜂窝网络和各种专用网络[14].因此在网络层需要有众多的网络设备作为支撑.这些网络设备包括交换机,路由器和用于物联网的网关设备.这些网络设备用于网络的互联,数据的转发,路由和寻址,或者用于将物体互连形成的MANET网络(Mobile Ad-hoc NETworks,移动自组网络)与互联网连接起来.

应用层:它被分为两个子层.其中一个是服务子层,集成和存储了来自网络层的各种信息资源.它是各种农业物联网应用的可靠和可信的基础,提供了很多服务,如信息管理、数据分析、辅助决策等.另外一个子层是应用子层,应用子层为低层提供各种必需的服务,并为所有的农业应用提供特定的服务,典型的应用包括精细农业、智能物流、食品溯源等面向于生产者、消费者、流通业者和监管者的应用.无论是服务子层还是应用子层的正常运转,都必须要依赖于感知层和网络层.

图1 农业物联网架构图

1.2 农业物联网应用服务

农业物联网中的农产品信息应用服务体系面向生产者、供应链业者、消费者和政府监管机构服务.农业物联网的应用服务体系可以分为两层:上层应用服务和低层应用服务.其所提供的上层应用服务包括信息推送服务、统计分析服务、决策支撑服务、电子履历服务、GIS服务、数据挖掘服务、多媒体数据处理服务、传感数据服务等.更加具体的应用如下所示:

·大棚或农田空气温湿度,土壤温湿度和光照强度等环境参数的采集分析和展示;

·实时拍摄和适时传输视频图像;

·专家远程诊断服务或者建立专家知识库;

·农情的数字化监管和查询服务;

·远程控制设备,通过手机和电脑登录系统,控制各种农业设备;

·基于RFID技术的农产品溯源服务.

支持这些上层应用服务的最底层应用服务是IOTIS信息服务、ONS对象名称解析服务、DS发现服务.这些底层应用服务也是上层应用服务能够正常运行的重要保证.以上的应用服务以传感技术、物品解析技术、物联网信息发现技术、数据库技术、GIS地理信息技术、RFID技术、图像处理技术、通信技术、云计算技术等作为支撑.本文作者主要关注应用服务背后的传感设备、数据库、网络、服务器等因素对应用服务产生的影响,及如何去监控这种影响,并对不利的影响做出预警.

2 农业物联网监测系统设计

因为现有的方案存在着对农业物联网应用服务监测和设备管理上的不足,所以本文作者研究了农业物联网以及其应用服务体系的架构,提出一种一体化的农业物联网应用服务监测解决方案,分别从感知层、网络层和应用层来监测,完成对应用服务器、云平台数据库、农业物联网传感设备、物联网网络设备及应用服务平台的监控、测试及相应的管理,能够较为全面地监测物联网应用服务的状态,有效保障应用服务的正常运行.

总体架构图如图2所示:

图2 监测平台总体架构

具体的,应用服务监测平台的功能主要体现在如下5个方面:

1.传感设备信息管理与维护,

2.物联网网络配置管理,

3.应用服务平台的负载测试,

4.云平台数据库实时监,

5.应用服务器状态监视.

2.1 农业物联网设备信息维护

农业物联网的感知层拥有众多的传感设备,如部署在大棚的带有温湿度传感器的节点,或者部署在农田的摄像设备.使用CMDB(Configuration management database,配置管理数据库)负责存储设备信息,如部署地点、部署日期、设备名称、规格参数、实现功能、使用场景等,并建立起设备之间的联系,同时将构建设备与具体的应用服务的联系.CMDB中的传感信息可以手动录入,如果智能传感器提供读取数据的接口,也可以通过编写脚本主动去获取这些信息并录入到CMDB中.CMDB提供一个基于REST架构的API接口,用Python语言或者其他编程语言编写REST client可以通过调用这个API,可以实现以HTTP的方式查改增删设备的信息.关于该模块的结构框图如图3所示.

部署好CMDB后,需要提供一个测试的根地址,例如 http://127.0.0.1:8086/cmdbapi/iotservice/cmdb,根据RESTful API的说明,只要使用相关的REST Client就能查询或者更新数据.在本设计中,采用python语言编写了一个RESTClient,可以从CMDB中抓取数据,其他开发者也可以利用提供的api开发功能更加强大、复杂的client程序.用Python编写的REST client的实现过程如图4所示.

图3 设备信息管理模块结构框图

图4 Python REST Client的实现方式

另外为了方便操作,还可以设计Web界面,通过Web界面执行和调用client程序.这样可以很方便地实现对传感设备信息的集中化管理和远程管理,通过一个页面就可以展示和查询到所有设备信息,一旦应用服务的数据异常,也可以方便地追溯到具体的传感设备.

2.2 农业物联网网络配置管理

网络层连接了无线传感网络和互联网[20].感知层获取信息后,需要依靠网络层进行传输.所以网络层的网络设备是否能正常运行对应用服务会产生重大的影响.如果网络设备的配置出错,如DNS的解析,或者端口的设置出错等,可能会导致相应的应用服务无法正常的获取来自感知层的数据,从而不能正常工作.鉴于传统方式存在重复操作,效率低下,误操作率高,搜索和查看配置不方便等不足,故提出一套网络配置的自动化备份,还原和展示的方案.要实现的功能如下:

·自动化导出网络设备配置文件,并拷贝到指定目录,

·可以一键恢复配置到某个时间点,

·检测配置文件的更改,将更改存为增量文件,

·建立配置文档和配置变更数据库,

·以Web方式展示配置文件的备份,还原和变更情况,

·设置手动批量备份和定时备份多种自动化备份方式.

具体的方案如下:

通过Python编写自动化脚本实现与网络设备的交互,将配置上传的TFTP服务器上进行备份,对配置进行比对,同时将配置和变更的信息存入数据库之中,再以WEB的方式展示出来.备份的时候可以设置定时备份,无需人工干预,在指定时间点,触发备份操作.还原操作时,可以在WEB上查看每个日期的变更情况,选择配置要回滚的日期,点击还原按钮即可触发执行用于还原操作的Python脚本,通过WEB界面还可以查看近1d,1星期,1个月设备变更情况的饼图.关于该模块的整体的架构图如图5所示.

2.3 应用服务平台负载测试

传统的负载测试方法中存在无法自动执行,测试效率低,报告只能在单一机器查看的缺点.鉴于传统测试方案的缺点,提出了一套针对农业物联网应用服务平台的自动化负载测试方案.应用服务平台负载测试模块的结构框图如图6所示.

图5 网络配置管理模块结构框图

图6 负载测试模块结构框图

为了减少GUI程序本身对测试结果的影响,需要通过自动构建运行测试,通过配置JMeter测试来运行,而无需每次都打开JMeter应用程序的GUI界面.方案中使用了Ant自动化脚本引擎来定义和运行JMeter任务.具体执行的流程如图7所示.

图7 Ant自动构建负载测试流程图

保存的测试计划可以反复利用,可以使用Ant中很多内置的参数和属性来修改JMeter测试运行的方式,而无需重新打开Jmeter中创建测试计划.

为了满足及时负载测试的需要,可以搭建CruiseControl持续集成服务器,通过修改CruiseControl的配置文件,可以使用一个特定的Ant目标运行一个委托构建.这样的话,可以在指定运行的时间,如深夜或者凌晨两三点的时候执行测试,无需人工值守,也不会影响农业物联网应用服务支撑平台的日常运作.举个例子,如果要让负载测试在晚上的23:30(time=2330)这个时间点执行.可以修改CruiseControl的配置文件,并使用一个特定的Ant目标来运行一个委托构建,相关的配置修改如下所示:

为了满足在Web上查看测试结果报告的需要,需要在CruiseControl中的config.xml中修改配置来实现这个功能.经过简单的配置之后,打开http://localhost:8080/dashboard就可以在Web上展示测试报告了.例如,要让一个名为IOTtest的project的负载测试结果在Web显示,config.xml的修改如下所示:

2.4 云数据库实时监控

考虑到物联网分布式数据库的特点以及农业物联网应用服务监控的需求,设计了以下云平台数据库监控模块.云平台数据库监控模块可以实现云平台数据库状态的实时监控,以Web方式展示图表,超过阈值发送报警邮件等功能.

该模块的结构框图如图8所示.

图8 云平台数据库监控模块结构框图

具体的监控实现流程如下:云平台数据库将数据库的运行状态信息,如当前连接数、数据插入次数、数据更新次数、线程所耗内存等等主动或者被动地提供给信息分析器,信息分析器得到数据库的状态信息后会进行进一步的过滤、分析和整合,经过处理的信息会存入内建的数据库,数据库的数据提供给Web界面展示.同时如果信息分析器过滤的信息会传给报警模块,一旦超过报警模块设定的阈值,报警模块就会将生成的告警信息发送至Web界面,以弹出窗口或者高亮显示等方式提示系统管理者.基于B/S架构设计这个监测平台,B/S架构的优点是无需安装客户端,可同时打开数十个监控窗口而只占用较少的系统资源,而且方便同时在移动端进行登录和操作.关于页面的显示可以使用Ajax(Asynchronous JavaScript and XML)来实现,使用Ajax可以直接与Mysql Server进行通信,页面里的每个对象都可以设计成独立运行、更新.相比传统每次刷新都要重载整个页面的做法,这样做可以减少带宽的消耗.同时Ajax页面可以提供比传统的HTML页面更好的用户体验.可以同时显示较多数据库的状态图表,而且不需要重新加载整个网页就能获取最新的数据,可以设定某个间隔,比如说15 s就自动刷新数据.通过使用嵌入内部编译的Mysql client code(API一般为C-API),可以让数据库状态监控程序可以不必在客户端安装agent就能实现监控.使用内置的嵌入式数据库,可以将从Mysql Server收集到的数据存在这个嵌入式数据库中,这样可以提高显示页面读取数据的效率以及监控程序的性能.

2.5 应用服务器状态监测

云平台数据库是为了了解对平台应用服务的访问情况,而应用服务器状态监测的目的在于了解相应的应用服务是否处于可用状态,运行着应用服务的服务器的性能状态是否健康.

该模块的结构框图如图9所示.

图9 应用服务器状态监控模块结构框图

每个应用服务器状态监测模块可以通过TCP状态监测模块与应用平台服务器进行交互,每隔一段时间就去获取应用服务器的在线和离线状态,并标注每台在线或者离线的服务器的地理位置.TCP状态监测程序尝试以TCP的方式与应用服务器建立连接,无论连接与否都会返回TCP的状态信息,从返回的信息之中可以知道应用服务器是否处于在线或者离线状态,如果建立TCP连接失败,会返回失败的信息,模块会将这台应用服务器标记为离线状态,而如果建立连接成功,服务器会进一步获取这台应用服务器的CPU负载、磁盘IO吞吐量、内存利用率、网络流量等和性能相关的信息.性能监测器和性能监测器收集到应用服务器的性能数据后会传送给Web界面,由Web界面展示.同时TCP状态监测和性能监测器会将应用服务器的状态信息传至报警模块进行下一步的过滤,当应用服务器处于离线状态或者CPU负载等信息达到报警模块设定的阈值的时候,报警模块就会生成一定格式的告警信息,传送至Web界面展示,同时可以在界面上清楚看到服务器所在地理位置,并可以通过设置邮箱来接收报警信息.

3 总结和展望

本文作者提出的农业物联网应用服务监测方案,是基于B/S架构的一体化应用服务监控解决方案.从多个层面监控和保障应用服务的正常运行,同时将应用服务平台负载情况查看、平台数据库实时监控、应用服务相关的设备信息管理、应用服务器状态监控、网络配置管理等功能整合到一个界面中,提供更全面的信息和一体化的功能,方便了农业物联网系统管理者进行便捷的管理和监测,并大大简化了系统管理者的操作流程.

国家已经明确了农业物联网的发展战略,随着农业物联网技术的推广和大力发展,传感设备的数量会越来越多,网络架构会越来越复杂,应用服务的访问量也会越来越大.对应用服务的监控和管理会变得越来越重要.本套监测方案针对农业物联网架构及其应用服务的特点,并基于B/S架构进行设计,试图通过信息整合来提供全面的监测.随着云计算技术的发展,和未来农业物联网CMDB构建实践的不断成熟,未来的应用服务监测系统将提供更智能,更便捷和更全面的解决方案.

[1]TANG K.Technology Development of Agricultural Internet of Things in Foreign Countries and Its Inspiration to China[J].China Academic Journal Electronic Publishing House,2013,28(06):700-707.

[2]PAVENTHAN A.Internet of Things based approach to Agriculture Monitoring:In Asia-Pacific Advanced Network(APAN)36th Meeting[C].Daejeon:APAN,2013.

[3]LI H H.Latest development status of the Internet of Things in China[R].Beijing:The Internet of Things technology and innovative application desigh seminar.2013.

[4]CHEN Y F.Discussing on Relation between Agricultural Internet of Things and Agriculture Complex Large System Intelligent Control[J].Agriculture Network Information,2012,2:8-12.

[5]PADHYE J,FIROIU V,TOWSLEY D,et al.Modeling TCP throughput:a simple model and its empirical validation[J].ACM,1998,8:303-314.

[6]LA R J,ANANTHARAM A.Charge-sensitive TCP and rate control in the Internet:INFOCOM 2000 Nineteenth Annual Joint Conference of the IEEE Computer and Communications Societies[C].Tel Aviv:IEEE,2000,3.

[7]GOFF T,MORONSKI J,PHATAK D S,et al.TCP enhancement mechanism for mobile environment:Proceedings IEEE INFOCOM 2000 Conference on Computer Communications Nineteenth Annual Joint Conference of the IEEE Computer and Computer and Communications Societies[C].Tel Aviv:IEEE,2000.

[8]CHASE JS,GALLATIN A J,YOCUM K G.End system optimizations for high-speed TCP[J].IEEE Communications Magazine,2001.39(4):68-74.

[9]ZANDY V.Reliable network connections:Proceedings of 8th Annual International Conference on Mobile Computing and Networking(MobiCom′02)[C].Atlanta:ACM,2002.

[10]GUI J S.The design of the system of Internet of things[M].Beijing:Pubilishing House of Electronics Industry,2012.

[11]LEAL B,ATZORI L.Objects communication behavior on multihomed hybrid ad hoc networks The Internet of Things:20th Tymhenian Workshop on Digital Communictions[C].New York:Springer,2010.

[12]KELLER A,SUBRAMANIAN S.Best practices for deploying a CMDB in large-scale environments:Integrated Network Management,2009 IM ′09 IFIP/IEEE International Symposium on[C].Long Island:IEEE,2009.

[13]POOLEY R.A CMDB Meta Model Based on Services[M].New York:Springer,2013.

[14]SHARIFI M.Implementing ITIL-based CMDB in the Organizations to Minimize or Remove Service Quality Gaps:2008 Second Asia International Conference on Modeling & Simulation[C].Teknol:IEEE,2010.

[15]HARRISON M F.MICHAHELLESF,UCKELMANN D.Architecting the Internet of Things[M].Berlin:Springer,2011.

[16]XING M S.Research and Implementation of Network Gateway Based on the Inernet of Things[D].Zhengzhou:Zhengzhou University,2010.

[17]SHI X B.Networ Device Monitoring System Based on Internet of Things Technology[D].Guangzhou:Guangdong University of Technology,2013.

[18]KHAN S.Security issue of M2M[M].New York:Springer,2013.

[19]GOFF M B.Machine to machine communication for physical security[M].Chattanooga:The University of Tennessee,2013.

[20]HUANG H K,DENGJJ.Discussion on the Technology and Application of IOT Gateway[J].Telecommunicaions Science,2010(4):20-24.

[21]DENG SL.The Analysis of User Experience on Interactive Information Service[J].Library Tribune,2008(2):88-91.

[22]KANG B,LIU SQ.Management of the User Experience Based on the Big Data Analysis[J].Telecommunicaions Science,2013,29(3):32-35.

[21]MARIEARÉLIE N,LEONIDASP,STAMOULISG I,et al.Enabling QoSin the Internet of Things:CTRQ 2012,The Fifth International Conference on Communication Theory,Reliability,and Quality of Service[C].Chamonix:IEEE,2012.

[22]RADOVANOVICS,NEMET N,CETKOVIC M,et al.Cloud-based framework for QoSmonitoring and provisioning in consumer devices:ICCE Berlin 2013 IEEE Third International Conference on[C].Berlin:IEEE,2013.

[23]JIN J,GUBBI J,LUO T,et al.Network architecture and QoSissues in the internet of things for a smart city:Communications and Information Technologies(ISCIT),2012 International Symposium on[C].Sydney:IEEE,2012.

猜你喜欢
应用服务联网监控
“身联网”等五则
全球卫星互联网应用服务及我国的发展策略
The Great Barrier Reef shows coral comeback
你被监控了吗?
Zabbix在ATS系统集中监控中的应用
国家不动产统一登记信息平台构建与应用服务
抢占物联网
全国征集卫星应用服务解决方案
应用服务型人才培养体系下的嵌入式操作系统教学改革探索
PDCA循环法在多重耐药菌感染监控中的应用