- 作者:HE Binbin,何斌斌,ZHANG Bo,张波,LAN Yubin,兰玉彬,HUANG Zhihong,黄志宏,WU Lili,巫莉莉,ZENG Ming,曾鸣,
- 会议名称:第五届国际精准农业航空会议
- 2016年
摘要:为了解决当前农业航空业界的数据孤岛问题,使得农业航空作业设备连上互联网,进而为农业航空大数据平台提供大量且多样化的数据来源,农业航空大数据平台的数据接口规范设计具备了重大意义.按照对数据的时间响应要求,平台的数据接口规范可划分为种模式:实时接口和非实时接口.实时接口模式包含无人机的身份确认、起飞信息、降落信息,实时轨迹等接口,农业航空作业设备通过GPRS模块,采取Socket(TCP/IP)连接方式向平台实时上报数据,上报接口采取字节流的方式记录数据,并对数据进行压缩,同时采用CRC16校验,大大压缩传输数据的容量,提高传输速度,通过校验码来保障数据的安全可靠.在农田山区等作业区域3G、4G网络信号不稳定的情况下,最大化保障数据传输的完整性和可靠性.非实时接口模式包含飞手资料维护、植保服务商资料维护、无人机飞行历史数据包上报、工勘数据上报、效果评估数据上报、天气数据上报等接口,非实时数据采取HTTP协议,以JSON数据格式上报数据.采取目前互联网流行的HTTP协议交换数据,可实现跨平台对接,不管是Windows平台,还是Linux平台,甚至是iOS、Android等移动端操作系统,都可以实现数据平台的互联互通.JSON作为一种轻量级的数据交换格式,数据格式比较简单,易于读写,格式经过压缩,占用带宽小,且支持多种开发语言,包括C,C#,Java,JavaScript,Perl,PHP,Python,Ruby等服务器端语言,方便服务器端解析.平台数据接口的实现,是在VMware云计算架构的基础上,采用Nginx作为Web服务器和反向代理服务器,可同时支持实时的Socket接口和非实时的HTTP接口.Nginx作为一种轻量级的开源服务器,代码执行效率高,性能表现出色.同时,Nginx支持负载均衡功能,在高并发的情况下,VMware云计算平台可根据负载大小情况自动发布多台虚拟服务器,利用Nginx来做请求分发,把访问压力均分到多台服务器,达到横向扩展平台数据交换吞吐量的目的,满足平台设计的可扩展性和伸缩性.经测试,在单台4核4G虚拟服务器上,农业航空大数据平台的数据交换接口可支撑10000个并发连接数.平台数据接口的调用,采用基于角色访问控制(Role-based access control,RBAC)的安全策略.在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限,极大地简化了权限的管理.用户在调用接口时,必须首先调用登录验证接口验证用户的合法性,平台才能允许用户调用在权限范围内的数据接口,保障平台的数据安全.