论文部分内容阅读
互联网及通信技术的快速发展使现有生产方式发生了巨大变革,基于网络的应用正在改变现实生产模式,信息技术能够让远程化、智能化、自动化更深入实践。本文充分利用互联网技术、3G接入技术、现代通信技术改进现有粮情测控系统中的软件模块,构建出基于B/S(Browser/Server)服务模式的网络测控服务器,它革新现有系统的单一服务模式,能够支持远程、智能化集中管理方式。现有的粮情测控系统多采用现场测控方式,测控数据本地化存储且无法保证数据安全性。为此,本文设计出基于该测控服务器授权用户可在全球任意位置以多种方式,随时接入现场测控系统,掌握其关注的粮情信息的新型服务模式的测控系统。本系统采用分层设计方式构建测控服务器整体框架,并结合模块化设计方法具体实现各个功能模块,在设计过程中涉及的主要研究内容如下:1.采用异步IO模型设计出网络底层数据收发模块。本设计引入了boost::asio高性能网络库作为底层异步网络I/O处理引擎,同时结合boost::asio::io_service作为任务调度机制的线程池模型,为整个服务器系统提供强大的网络驱动能力;2.采用异步回调机制设计并实现消息分发模块。充分利用了boost库两大组件bind和function的灵活性,使回调函数作为网络处理层和业务层的中介,使业务与数据相分离且贯通了整个服务器框架;3.采用面向对象的程序设计方法,设计独立功能类来处理对应的测控业务。为提高测控服务器数据管理的有效性和运行的稳定性,本文针对服务器后台使用了高效的数据库访问方式,同时还增加了日志管理模块。数据库的设计主要基于实际测控业务的需求,测控业务数据的存储与管理则采用了C++模板库OTL(Oracle, ODBC and DB2-CLI Template Library)技术实现高效的数据库访问;本方案采用Log4cxx日志系统提供详细的日志服务,来监控服务器运行状态以便于开发、调试;另外,本文采用的基于时间轮的超时处理机制,对具有生命周期的对象提供了一种通用的管理方法。本文设计的粮情测控系统的服务器端,目前已在国内多个粮仓得以推广应用,整体功能得到用户肯定。