论文题名: | 航海距离系统的服务器端设计与实现 |
关键词: | 海运航线;船舶导航;航线显示;多线程通信 |
摘要: | 随着海运事业的发展,海运从业人员的增加,作为风险规避中的一项重要参考因素----海运航线及航线距离成为业内人士需要掌握的重要资料。然而,对于非海运从业人员来说,传统航线设计的复杂、专业过程无法适应需求,同时,现有的网站提供的航线里程表查询工具存在数据量少、更新慢、无航线显示等缺点。这样设计实现可视化、简单易用、自动设计任意两港口间航线以及计算两港口间距离的工具显得很有必要性。 本文对世界海洋地图采用二级分区的思想建立起连通的航段网络图,并根据港口经纬度和所处地形的特点设计航线上港口和港口之间的路由关系。基于航段网络图,本文主要研究了最优航线的生成算法。在研究传统的静态最优路径算法的基础上,通过对其缺陷的分析和改进,最终实现并改进了以启发式搜索 A*算法为寻径算法的最优航线算法。在分析了 A*算法常用的数据结构后,采用二叉堆和关联表混合实现的数据结构,从而极大地提高了算法的搜索性能。另外,由于海洋航线本身的特殊性,通过使用海洋上两点间的大圆航线距离作为 A*算法的启发函数,极大提高了航线的准确性。由于航线服务的实时性、同步请求的特点,所以服务器端对航线数据的读取速度有很高的要求。为此,本文研究了开源的高性能缓存系统Memcached。另外,本文还研究了航线服务的发布方式----以客户机/服务器模型为基础的Socket多线程通信方式。针对本系统的特点,采用多线程的Socket通信方式可以处理大量客户端的航线请求。 |
作者: | 蔡文健 |
专业: | 计算机科学与技术 |
导师: | 潘维民 |
授予学位: | 硕士 |
授予学位单位: | 北京邮电大学 |
学位年度: | 2009 |
正文语种: | 中文 |