APP下载

农村科技信息服务智能移动交互APP的设计与实现

2018-12-10李竹林许童羽王兴阳李瑞山

农业科技与装备 2018年1期
关键词:农技推广智能设计

李竹林 许童羽 王兴阳 李瑞山

摘要:基于农村科技信息服务的实际需求,设计一款智能移动交互APP,解决农民与农业专家之间的沟通问题,实现二者实时互动。详细介绍系统的各个功能模块,探讨各功能模块的开发技术和实现方式,旨在提高农村科技信息服务的效率和质量。

关键词:交互APP;智能;设计;农技推广;科技信息

中图分类号:T216 文献标识码:A 文章编号:1674-1161(2018)01-0044-03

当前,农民渴望得到农业专家的具体指导,并及时掌握农业知识和农业政策解读信息。然而,互联网检索到的相关内容混杂、真假难辨,农民亟需获取准确的信息和得到行业专家的具体指导。为此,研发方便农民与农业专家在线互动的系统具有重要的现实意义。虽然现有的一些社交类软件(如微信)可以实现农民与农业专家互动,但这类社交类软件大多注重娱乐性,没有考虑农业这个具体领域。在此情况下,从解决农业生产中农民的实际需求出发,设计一款农村科技信息服务智能移动交互APP(简称“交互系统”),实现农民与农业专家在线互动交流,提高农村科技信息服务的效率和质量。

1 交互系统的设计

1.1 总体设计

农村科技信息服务智能移动交互APP是一款基于互联网的应用系统,按用户类型可分为农民、农业专家、管理员三类。其中,农民与农业专家交互是系统的主要功能,管理员负责管理系统。用户及对应的功能如图1所示。

农民用户的主要功能是向专家提出问题并查看专家回复。此功能需要系统支持实时数据传输,确保农民提出的问题实时被专家看到,以及专家的回复实时到达农民手机端。

为便于农民与专家联系,采用农民对农业专家关注的方式,类似于多数社交类软件中的“加好友”功能。实时问答互动只能在农民和农业专家之间进行,不能显示在公屏上。农民可以查看已关注专家的推文,掌握更多的农业知识。同时,农民还可以查看系统推文,了解国家的相关政策和法律法规等信息。

农业专家是信息的主要提供者,可以实时看到农民提出的问题并给出解答。一位农业专家对应多名农民,为确保操作简便性,其与不同农民的会话在不同的窗口进行,即窗口中的信息只包含专家与某一名农民的互动内容。农业专家可以发布推文,用来表达自己的观点和普及农业知识。

系统管理员主要负责系统的后台管理,包括管理农民和农业专家用户、发布系统推文、監管专家推文等。

1.2 主要模块设计

1.2.1 农民关注农业专家 系统的用户类型是农民和农业专家。在默认情况下,农民与农业专家之间没有直接的联系,需要农民关注感兴趣的农业专家。系统按研究方向对农业专家进行分类,农民根据农业专家的个人简介决定是否关注该专家。不同于其他社交类软件,这款APP单方关注即可进行交流,保证构建关系的简单性。农民一旦关注了某位专家,就可与其进行实时的会话交流、查看专家发表的推文。农民也可取消关注某位专家,无需专家同意。取消关注后,将不能与该专家进行实时互动,也不能查看专家发表的推文。

1.2.2 农民与农业专家在线实时互动 农民关注某位农业专家后,可向专家发起询问,内容可为纯文字,也可是图片和语音。图片可以现通过手机的摄像头拍摄,也可从图片库中选取。语音采用手机的话筒拾取,由APP进行处理和压缩后传输,以保证低带宽的情况下高速传输。农业专家对农民的回复内容,可以是纯文字、图片和语音。考虑网络传输的压力和服务器存储的空间问题,目前不支持视频互动。

1.2.3 专家推文 专家的推文类似于微信的朋友圈功能,内容为农业知识或农业政策解读。需要传授给农民的内容,可通过推文的形式发送出去。推文的表达形式为图文混排模式,不限定图片数量。

农民查看专家的推文后,可以点赞,也可以发表评论,在专家与农民之间构建互动。点赞数量可作为评价专家推文质量的重要指标。

1.2.4 系统推文 系统推文是APP官方推送的信息,由系统管理员发布。推文内容一般为农业政策解读、法规宣传和具有普遍性问题的解决方案等。系统推文紧跟国家及地方的政策法规,起到宣传、解读、普及的作用,同时关注突发性或普遍性的农业问题,并给出解释或解决方案。

系统推文的内容需要征求专家团队的意见,预推送内容经审核后才能发布。系统推文具有科学性和准确性,这一点与互联网上繁多的文章有明显区别。

1.2.5 用户管理 系统中的用户分为农民、农业专家及管理员三类。农民可以自由注册,身份审核采用实名制审核方式,需上传手持身份证的清晰照片。审核采用系统自动初步审核和人工最终审核相结合的方式。农业专家的招募采用组织推荐、自我推荐等多种方式,评审通过后由管理员通过后台导入个人相关信息。

2 交互系统的设计及实现

2.1 开发技术选择

目前,智能手机的操作系统主要有安卓和IOS两类,这两类操作系统下的APP不能通用。APP的种类主要有原生和混合式两类。原生APP具有运行速度快、功能强等特点,但开发难度大,需要分别开发安卓和IOS版本。混合式APP开发速度快,能同时打包安卓和IOS系统2个版本APP。为提高开发效率,减小开发成本,系统采用混合式APP开发方式。

服务器端程序是该APP开发的难点。应用软件用户数量大,需要考虑系统的安全性、稳定性,同时支持高并发访问。结合研发团队已有的开发经验和技术基础,服务器端程序选用JAVA语言开发,采用SSM框架。

实时通讯功能采用WebSocket技术,通过API实现手机APP和服务器之间的连接,在手机APP与和服务器之间构建快速通道,实现数据双向快速传输,完成实时通讯功能。

数据库在微软SQLServer,Oracle,MySQL之间选择。综合考虑安全性、稳定性和成本,选用开源免费的MySQL数据库。为解决数据库在高并发情况下的访问性能,使用MySQL数据库读写分离式(MySQL-Proxy)技术提升数据库的并发负载能力,同步数据采用主从复制(Master-Slave)的方式。为提升数据库I/O的性能,数据库服务器配置读写速度更快的固态硬盘。

在服务器操作系统方面,通过考察WindowsServer和Linux的性能,确定选用Linux操作系统,具体为CentOS 7.3。该操作系统开源免费使用,具有公认的稳定性和安全性,且性能较优。

2.2 功能实现方式

2.2.1 数據库设计 MySQL是支持多引擎的数据库系统。为确保数据库事务遵循原子性、一致性、隔离性和持续性的原则,采用支持事务处理的InnoDB存储引擎。为支持多国语言,设置MySQL数据库编码为UTF-8。

数据库中的表包括用户表、实时通讯信息表、推文数据表、农民与专家关系数据表、访问日志数据表等。用户表存储农民、专家的账号、密码、个人信息等数据。实时通讯信息表存储农民的提问和专家的回复信息。推文数据表存储专家推文和系统推文数据。农民与专家关系数据表包含农民关注专家的信息。访问日志数据表存储用户访问的时间、IP等信息。

2.2.2 服务器端程序编码 服务器端程序编码IDE选用免费的Eclipse。在代码版本控制方面搭建Git服务器,通过Git实现分布式的代码版本管理。考虑到Windows的易用性和普及性,代码编写在Windows下进行,并完成单元测试和模块测试。

在用JAVA语音编写代码中,选用流行的SSM框架,其中Spring是容器框架,控制反转(IoC)和面向切面(AOP);SpringMVC完成中央前端控制器功能,实现模型-视图-控制器(MVC)的Web框架;MyBatis支持普通SQL查询,负责MySQL存储过程和高级映射。

2.2.3 手机端程序编码 目前,混合式APP的开发工具有很多,考察后选用国产的Hbuilder完成代码的编写和APP打包工作。开发手机端APP程序时,难点是js的编写,包括实时通讯、图片的压缩、语音的压缩等。

混合式APP开发中,可以使用js调用手机的相机和话筒。采集的图片和语音不能直接用于网络传输,一般压缩后再使用。图片和语音压缩功能均由团队成员自主研发,不仅数据传输量小,而且数据压缩后质量损失较小。实时通讯使用WebSocket技术。WebSocket通讯与HTTP通讯不同,依赖于TLS实现加密,可以使用同源策略避免不安全的访问。

3 结论

以乡村振兴战略为大背景,针对农民对农业技术迫切需求的实际情况,设计一款交互APP,在农民和农业专家之间构建基于互联网的桥梁,实现二者之间实时互动。通过分析农技推广工作的实际情况和农民的具体需求,设计系统的各个功能模块,通过软件开发实现农村科技信息服务。软件功能除满足农业生产中的具体需求外,还兼顾农民和农业专家的使用习惯。同时,移动交互式APP的具体设计思路和实现方法,对农业科技类软件的研发起到示范作用,可为其它软件的研发提供参考和借鉴。

参考文献

[1] 蔡盈盈,袁社锋.基于云计算的农业信息化服务平台的构建[J].河南农业,2016(36):24-25.

[2] 赵鑫.基于数据库技术的农业信息管理系统的构建研究[J].乡村科技,2017(35):92-94.

[3] 罗芸茜.农业信息化“互联网+”交流应用平台[J].农村经济与科技,2017,28(S1):142.

[4] 贾军营,张大成,高春.Hybrid App开发框架的实现及性能优化[J].计算机系统应用,2017,26(7):130-136.

猜你喜欢

农技推广智能设计
BUBA台灯设计
智能烹饪机
超智能插秧机
有种设计叫而专
加强农技推广工作,促进高产优质高效农业的发展
如何做好基层农业技术推广工作
自由光2.4L专业版+智能包
匠心独运的场地设计画上完美句点
设计之味