THL Digital 如何使用MongoDB 为 6000+ 辆租赁车提供实时通知

简介: 技术水平以及客户满意度与能否向车辆提供实时通知息息相关,在网络连接顶多只能算参差不齐的澳大利亚内陆等偏远地区,更是如此。这项工作困难重重,但MongoDB的应用程序服务的数据同步服务让一切得以成真。

面临的问题

为 6000+ 辆租赁车提供实时通知

林火通知、速度限制警报、不同地点的促销活动等,租赁汽车体验的未来已来,THL Digital 的车载智能通讯平台让这一切成为可能。

THL Digital 在全球为 6,000+ 辆租赁车提供技术支持,业务遍及澳大利亚、新西兰、英国和美国。这家公司的核心产品 Insights 是一款驾驶指导应用程序,可用于改进驾驶员行为、降低驾驶的风险。每一辆租赁车上都安装了车载智能通讯设备,用以记录行驶速度和位置等核心信息。每一辆车的设备都会向驾驶员提醒各类危险,如超速行驶、意图将非机动车辆驶入机动车道。

技术水平以及客户满意度与能否向车辆提供实时通知息息相关,在网络连接顶多只能算参差不齐的澳大利亚内陆等偏远地区,更是如此。这项工作困难重重,但MongoDB的应用程序服务的数据同步服务让一切得以成真。

内部研发的设备同步中隐藏的痛点

THL Digital 设想 Insights 会成为确保租赁车驾驶员安全的一种方式,同时期望其能够让车队经营者更深入了解自己的业务。难题在于许多人租 RV 前往澳大利亚内陆度假,而这个地区的互联网连接又龟速又稀少。

为向租赁人提供实实在在的价值,THL Digital 的应用程序需要在客户未联网的情况下如常运作,并在车载设备连上网络后马上提供相关通知。这就意味着,THL Digital 需要通过一种方式在本地存储数据,以及在设备连上网络时自动在车辆的主机和后端服务器之间同步数据。

THL Digital 选择先将其构建在 SQLite 上的应用程序重建为 Realm 移动数据库。THL Digital 团队希望能够发挥 Realm 的跨平台功能和快速查询的价值,从而让重建简单一些。

THL Digital 的解决方案架构师 Emanuel Balea 表示,“从技术角度出发,Realm 让一切简单得多。Realm 启动后就可开始运作。将我们的应用程序从 SQLite 重建为 Realm 的移动数据库之后,我们得以移除了成千上万行样板代码,最终打造出更精简的应用程序。”整个项目的用时不超过 5 小时。

尽管如此,THL Digital 依然需要开发从客户端到服务器端的同步。一开始,公司试用了几款以云方式提供的现成解决方案,结果是,要么太贵了,要么限制条件太多了。最终,THL Digital 决定自行构建,但很快就意识到构建实时数据同步功能的难度超过预期。

为简化工作,团队决定部署基于时间的同步,即,每 15 分钟执行一次同步,而不是最初计划的实时同步。即便简化了解决方案,THL Digital 的开发人员仍有大量的工作要做:他们需要构建自己的 API 和 Web 服务,并创建高效的错误处理逻辑。

每 15 分钟执行一次同步的局限性很快就显现出来。租赁汽车的驾驶员收到超速通知时才意识到几分钟前有超速行为,或是在驶达林火附近后才了解有火情。多个不相关的通知同时送达,而这样会惹恼不少驾驶员。

“缺乏离线优先自动数据同步令人十分头疼,但实时同步会给我的团队带来好几个月的工作量。”Balea 解释道。

MongoDB解决方案

MongoDB Atlas Device Sync:“确实有效!”
这就是THL Digital团队了解到MongoDB Atlas Device Sync的时候。它提供了一个解决方案,可以节省大量的时间,并提供可靠的实时数据同步。

由客户端的Realm和后端的MongoDB Atlas提供支持,MongoDB Atlas Device Sync消除了Balea团队编写错误处理逻辑或复杂网络代码的需要。它被优化用于脱机使用,并自动处理冲突解决。

对于Balea和他的团队来说,这是一个游戏改变者。“您可以根据您希望的方式构建您的应用程序,使其在脱机运行,然后集成同步,它就会生效!”他分享道。

您可以根据您希望的方式构建您的应用程序,使其在脱机运行,然后集成同步,它就会生效!

Emanuel Balea,解决方案架构师,THL Digital

THL Digital在不到一周的时间内使用MongoDB Atlas Device Sync就投入运营。同步无缝地集成了多个事件驱动的后端系统,包括数十个终端点和大量数据,涵盖GPS位置、客户移动、可用性和价格等信息,同时使用的总数据量比以前少。

根据Balea的说法:“MongoDB Atlas Device Sync使我们能够以最小的延迟实时通信。它让我一个人能够完成以前需要一支开发团队的工作。”

对于THL Digital来说,MongoDB Atlas Device Sync发生了深刻的变革:它改变了开发者的体验,使一个小团队能够构建通常需要数十名开发者才能完成的工作;它通过提供独特的警报系统,使司机在任何地方出行时更加安全,改变了客户体验;并且它还在整个业务中推动了成本节约。

客户价值

安全的旅行和满意的旅客

现在,THL的客户可以在需要通知的时候和相关的时候收到通知,即刻,而不是事情发生后的15分钟。通知从几乎瞬间到事件发生后的1.2秒内就能传达到全球任何地方。车队所有者可以实时了解车辆的位置和状态,这意味着工作人员可以优化分配汽车和货车,并更好地处理道路故障协助请求。自部署MongoDB Atlas Device Sync以来,整体客户满意度和用户评价都得到了显著改善。

同样重要的是,通过实时让驾驶员了解他们的驾驶行为,Insights帮助他们更安全地驾驶。超速事件减少了98.8%,THL还看到了昂贵的恶劣驾驶事件减少了93.1%。

驾驶员行为的改善也为车队所有者带来了重大的运营成本节约。维护和维修成本已经下降,而企业的保险费用也随着时间的推移有所降低。由于使用新的解决方案进行更高效的同步查询,THL Digital也节省了数据使用费用。

从开发者的角度来看,Insights团队非常高兴:在使用Realm的移动数据库、MongoDB Device Sync和Atlas之间,他们节省了数月的开发时间。这个解决方案可以无缝集成多个事件驱动的后端系统,包括数十个终端点和大量数据,利用各种数据,如特定的GPS位置、客户动态、可用性和定价。开发团队能够专注于构建创新的新技术,并快速迭代新功能。

“MongoDB Atlas的Device Sync功能使我们能够以最小的延迟实时通信,”Balea总结道。“它让我一个人能够完成以前需要一支开发团队的工作。”

立即免费试用阿里云MongoDB。

扫码加入钉群,与MongoDB专家一对一沟通,了解更多阿里云MongoDB产品与方案,市场活动及线上培训等内容。

image.png

相关文章
|
消息中间件 缓存 NoSQL
Redis经典问题:缓存雪崩
本文介绍了Redis缓存雪崩问题及其解决方案。缓存雪崩是指大量缓存同一时间失效,导致请求涌入数据库,可能造成系统崩溃。解决方法包括:1) 使用Redis主从复制和哨兵机制提高高可用性;2) 结合本地ehcache缓存和Hystrix限流降级策略;3) 设置随机过期时间避免同一时刻大量缓存失效;4) 使用缓存标记策略,在标记失效时更新数据缓存;5) 实施多级缓存策略,如一级缓存失效时由二级缓存更新;6) 通过第三方插件如RocketMQ自动更新缓存。这些策略有助于保障系统的稳定运行。
1336 1
|
11月前
|
JSON API 数据格式
1688店铺订单列表订单详情订单物流API响应数据解析
1688平台作为阿里巴巴旗下的B2B电商利器,提供高效订单管理API,支持订单查询、状态变更与物流同步,助力企业提升运营效率。本文附Python请求示例代码,实现便捷对接与数据获取。
|
存储 多模数据库 测试技术
孚盟选用Lindorm升级自建Elasticsearch,护航跨境电商出海
三大主要场景用户体验大幅提升,核心场景查询时延减少80%。
|
canal NoSQL 关系型数据库
Redis应用—7.大Value处理方案
本文介绍了一种用于监控Redis大key的方案设计及其实现步骤。主要内容包括:方案设计、安装与配置环境、binlog数据消费者。
638 29
Redis应用—7.大Value处理方案
|
9月前
|
人工智能 运维 NoSQL
云栖大会|AI浪潮下的NoSQL演进:下一代数据库的破局之道
AI浪潮下的NoSQL演进:下一代数据库的破局之道
|
9月前
|
数据采集 存储 NoSQL
Python爬虫实战:新闻数据抓取与MongoDB存储全流程
本文以腾讯新闻为例,详解Python爬虫抓取新闻数据并存入MongoDB的完整流程,涵盖反爬突破、数据清洗、存储优化及分布式架构,助你构建高效、稳定的海量数据采集系统。
772 0
|
缓存 NoSQL 安全
Redis缓存雪崩、击穿、穿透解释及解决方法,缓存预热,布隆过滤器 ,互斥锁
Redis缓存雪崩、击穿、穿透解释及解决方法,缓存预热,布隆过滤器 ,互斥锁
1203 5
|
JSON 缓存 小程序
微信小程序组件封装与复用:提升开发效率
本文深入探讨了微信小程序的组件封装与复用,涵盖组件的意义、创建步骤、属性与事件处理,并通过自定义弹窗组件的案例详细说明。组件封装能提高代码复用性、开发效率和可维护性,确保UI一致性。掌握这些技能有助于构建更高质量的小程序。
|
缓存 负载均衡 算法
性能优化:提升系统效率的关键
性能优化:提升系统效率的关键
856 1