导航引擎结构分析之一

导航引擎结构分析
本文介绍了导航引擎的整体结构,包括其与周围模块的交互,并提及共享内存作为文件映射的特殊情况。后续将深入探讨各子模块的结构设计。

现代的导航有单机版与在线版之分。
单机版,即本机有完整的地图,完整的导航引擎和导航应用模块。无需连接服务器,本机就能完成导航的各种功能。这个一般又称离线版。单机版也分为多进程和多线程结构,多进程结构是将各个子系统用独立的程序来实现,当一个子系统出错,重启时,尽量不影响其他系统的执行,这种结构对系统配置要求较高,一般用于高端系列;而多线程结构是将所有模块在一个程序/进程中实现,当一个模块挂死、出问题,整个导航系统可能就需要重启。


在线版,即用户的界面只是一个图片和交互,其真正的地图资源,路径规划,展示图片的渲染都放在服务端完成。用户必须联网才能使用,如google地图。

二者的导航功能性都基本相同,但是其软件的架构,因为用户的数量(容量),基础设施(软硬件平台)的不同,会由较大的不同。


我们先从小的单机版开始,分析导航的内部结构。

导航一般是由HMI,逻辑控制层,导航引擎,数据驱动层,地图组成,并且是一个单向顺序分层的结构。整体模块的区分非常简单明了。



数据驱动层,可以指地图提供的使用接口,也可以指导航引擎中对地图数据的统一管理模块。

我们这里主要研究一下导航引擎的结构,并包括数据管理模块DataAccess。

导航引擎engine,也是由一系列的小模块组成。每个模块都能完成一些导航中必须的功能,并提供对应的使用接口API,当然也有一些内部模块,由于安全性,不对外开放,为其他模块提供服务。


如何划分导航引擎的这些模块?考虑的因素有哪些?
1. 相对独立性,也可以说是模块化因素。一个模块的内部改
评论 7
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值