基于高性能网络库Asio的测控服务器设计与实现
本文关键词:基于高性能网络库Asio的测控服务器设计与实现
更多相关文章: 粮情监控 分层设计 异步操作 网络库 线程池
【摘要】:互联网及通信技术的快速发展使现有生产方式发生了巨大变革,基于网络的应用正在改变现实生产模式,信息技术能够让远程化、智能化、自动化更深入实践。本文充分利用互联网技术、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日志系统提供详细的日志服务,来监控服务器运行状态以便于开发、调试;另外,本文采用的基于时间轮的超时处理机制,对具有生命周期的对象提供了一种通用的管理方法。本文设计的粮情测控系统的服务器端,目前已在国内多个粮仓得以推广应用,整体功能得到用户肯定。
【关键词】:粮情监控 分层设计 异步操作 网络库 线程池
【学位授予单位】:安徽大学
【学位级别】:硕士
【学位授予年份】:2015
【分类号】:TP393.05
【目录】:
- 摘要3-4
- Abstract4-6
- 目录6-8
- 第一章 绪论8-12
- 1.1 研究背景及意义8-9
- 1.2 研究现状9-10
- 1.3 论文工作及结构安排10-12
- 第二章 相关技术及开源库简介12-21
- 2.1 测控服务器开发语言和开发环境12-13
- 2.2 开源库Boost介绍13-17
- 2.3 Google Protocol Buffer消息格式17-19
- 2.4 OTL数据库访问技术19-21
- 第三章 基于高性能网络库Asio的测控服务器设计与实现21-47
- 3.1 粮情测控系统的工作流程与测控服务器总体框架设计21-25
- 3.1.1 粮情测控系统的工作流程21-23
- 3.1.2 测控服务器总体框架设计23-25
- 3.2 网络I/O框架的设计与实现25-33
- 3.2.1 常用网络I/O框架25-29
- 3.2.2 网络I/O框架的实现29-33
- 3.3 线程处理模块的设计与实现33-38
- 3.3.1 进程与线程33-34
- 3.3.2 常用线程模型及其比较34-37
- 3.3.3 测控服务器中线程模型的实现37-38
- 3.4 消息分发模块的设计与实现38-46
- 3.4.1 异步回调机制39-40
- 3.4.2 测控服务器消息分发模块的设计40-44
- 3.4.3 测控服务器消息分发模块的实现44-46
- 3.5 本章小结46-47
- 第四章 测控服务器的数据管理和运行管理47-59
- 4.1 数据库模块的设计与实现47-53
- 4.1.1 基于实际业务的数据库设计48-50
- 4.1.2 数据库访问方法及数据存储与管理50-53
- 4.2 日志管理模块的设计与实现53-55
- 4.3 基于时间轮的超时管理55-58
- 4.4 本章小结58-59
- 第五章 结束语59-61
- 5.1 总结59-60
- 5.2 展望60-61
- 参考文献61-63
- 致谢63
【相似文献】
中国期刊全文数据库 前10条
1 李昊,刘志镜;线程池技术的研究[J];现代电子技术;2004年03期
2 许天兵;Windows 2000/XP平台下线程池的使用[J];河北工程技术高等专科学校学报;2004年03期
3 陈勇,宋之毅;对线程池模式的分析及其实现[J];微型电脑应用;2005年08期
4 陈勇,申海燕,宋之毅;对线程池模式的分析及其实现[J];现代电子技术;2005年16期
5 王华,马亮,顾明;线程池技术研究与应用[J];计算机应用研究;2005年11期
6 赵海,李志蜀,韩学为,叶浩;线程池的优化设计[J];四川大学学报(自然科学版);2005年01期
7 杨刚;周兴社;潘惠芳;;基于反馈的自适应线程池管理框架[J];计算机工程;2006年05期
8 张渊;崔滨;余小清;万旺根;;线程池技术在网络游戏服务器中的应用[J];微计算机信息;2006年18期
9 冯玮;刘心松;;基于线程池技术的文件传输模型的改进[J];微计算机信息;2006年21期
10 夏利;赵静波;井惟栋;王光兴;;基于对象池模式的自适应线程池技术[J];东北大学学报;2006年10期
中国重要会议论文全文数据库 前3条
1 丁亮;郑梁;秦会斌;沈煜;秦惠民;;线程池技术在路灯监控软件中的应用[A];2012(杭州)中国长三角照明科技论坛论文集[C];2012年
2 黄文伟;何加铭;曾兴斌;;么移动中间件线程池并发机制优化改进[A];浙江省电子学会2010学术年会论文集[C];2010年
3 钟艳雯;罗小珠;夏正龙;欧阳计跃;张玉玲;;湖南省级气象信息传输系统研制与开发[A];2011年中国气象学会气象通信与信息技术委员会暨国家气象信息中心科技年会论文摘要[C];2011年
中国硕士学位论文全文数据库 前10条
1 王刚;实时线程池的研究与设计[D];华中科技大学;2007年
2 聂兰兰;考虑外界影响因子的动态线程池优化设计与实现[D];华中科技大学;2014年
3 王俊峰;一种实时集群系统负载均衡通用模型的研究及应用[D];湖南大学;2008年
4 郗晓娇;基于线程池和SSI框架的内容审核系统的设计与实现[D];南京大学;2013年
5 余建华;基于统计原理的甄别算法的研究与应用[D];南京工业大学;2006年
6 阳靖东;基于嵌入式系统的实时CORBA研究与实现[D];电子科技大学;2006年
7 安平;DLNA服务器的设计与实现[D];东北大学;2011年
8 刘蓬;NIO高性能框架的研究与应用[D];湖南大学;2013年
9 边建军;H.323协议栈软件性能的优化与提高[D];中国海洋大学;2004年
10 张艳;多阶段性能调优中间件系统管理和分配算法的设计与实现[D];电子科技大学;2008年
,本文编号:556746
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/556746.html