搜索

pdf文档 1.2 用Go打造Grab的路径规划和ETA引擎

43.76 MB 50 页 0 下载 7 浏览 0 评论 0 收藏
所属分类: 后端开发 / Go
语言 格式 评分
中文(简体)
.pdf
3
摘要
文档介绍了Grab公司使用Go语言构建路径规划和ETA(预计到达时间)引擎的经验。路径规划在连通图中寻找起终点间的合理路线,ETA则预估行驶时间。技术选型面临概率与路网的权衡,图搜索算法如Dijkstra因无法扛住业务流量而被重新考量。数据存储采用增量存储方式,使用Google的Encoded Polyline Algorithm Format和Golang原生的encoding/gob,无需额外schema定义,序列化/反序列化速度快。引擎构建涉及地图、司机定位、路况、图搜索和ETA模型调优等组件。
AI总结
Grab使用Go语言构建了路径规划和ETA(预估到达时间)引擎。核心任务是:给定起点和终点,在连通图中寻找合理路线(路径规划),并预估行驶时间(ETA)。 **技术选型与挑战**:初期尝试了Dijkstra算法,但因业务流量过大而无法满足性能要求。引擎的构建和演进依赖多个关键环节:地图数据、司机实时定位、路况信息、图搜索算法以及ETA模型调优。 **Go语言的应用优势**:在数据处理和存储方面,Grab利用Go原生支持的`encoding/gob`进行序列化/反序列化,速度快且无需额外定义schema。同时,Go生态中的多个库(如`golang/geo`、`qedus/osmpbf`等)被用于处理地理空间数据。
P1
P2
P3
P4
P5
P6
P7
P8
P9
P10
P11
P12
下载文档到本地,方便使用
- 可预览页数已用完,剩余 38 页请下载阅读 -
文档评分
请文明评论,理性发言.