论文部分内容阅读
从古至今,粮食一直是人类生存发展的基本条件,粮食安全问题不仅与个人生存息息相关,更关乎国计民生,保证粮食安全有利于社会稳定及构建和谐社会。而粮食存储是粮食安全的一个重要部分。为了减小粮食在储存中的损失,就需要实时掌握粮仓中的粮食存储质量。信息技术的迅速发展,让粮情监测行业也受到了很大影响,用户对测控系统的选择更为挑剔。从现今的粮情系统看,用户大多使用本地电脑安装软件使用,用户只能在本地机使用,不能进行远程操作。部分可以通过互联网操作的系统通常使用本地数据库进行管理数据,很难实现大范围的粮仓管理。本文为实现粮情数据的共享和粮情测控系统的远程操作,设计了云平台服务器。该服务器依托于云服务,主要用于粮情的数据处理和事务管理,可满足多用户同时在线获取粮仓信息、测量粮食温湿度、进行通风等操作。根据测控系统的需求,服务器的主要功能模块可分为登录、同步消息、发送指令、定时发送指令四个模块。为了方便程序的开发、维护以及扩展,本文采用了分层架构的方式设计服务器,将服务器分为网络层、业务逻辑层、数据访问层。本文的主要研究工作如下:(1)网络层中完成了TCP (Transmission Control Protocol)服务器端和UDP(User Datagram Protocol)服务器端的设计,以及线程池程序的编写,实现了网络通信。服务器使用TCP的通信方式与客户端进行数据传输,保证了传输的可靠性;使用UDP的传输方式采集粮情数据,保证了传输的即时性。另外网络层采用了异步I/O (input/output)模型和线程池技术实现异步通信,用来提高数据传输的速度和效率,以及服务器处理并发任务的性能。(2)业务逻辑层将服务器功能模块化,使用回调机制实现了登录、同步消息、发送指令、定时发送指令、通风控制等功能,以及完成了数据处理模块的设计。该层中通过回调函数调用网络层函数进行I/O通信,有利于降低程序耦合性,便于程序维护升级。(3)数据访问层中使用了OTL (Oracle,Odbc and DB2-CLI Template Library)的访问数据库方式对用户、粮仓、粮情数据等信息进行增、删、改、查操作,方便高效易读。另外服务器为增强用户信息的安全性,采用了MD5 (Message Digest Algorithm 5)的加密方式对用户密码进行了加密。(4)将服务器各个功能模块进行了封装,编写了DLL (Dynamic Linkable Library)接口供客户端调用,并对云平台服务器的各个功能进行了测试。本文设计的服务器最大的特点是与云服务相结合。在云端建立了一个统一的数据处理平台,将分布在不同地点的粮库数据统一汇聚到云端处理,可以实现粮情数据的共享,可用于大范围的粮仓管理,方便开发者维护升级。此外本文设计的服务器可与多种终端进行连接,可满足用户随时随地使用测控系统的需求,打破了用户使用设备和操作地域的限制。