THL Digital 如何使用MongoDB 为离网旅行者提供始终在线的用户体验
面临的问题
为 6,000+ 辆租赁车提供实时通知
林火通知、速度限制警报、不同位置的促销活动等,租赁汽车体验的未来已来,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 Atlas设备同步:“它只是有效!”
这就是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设备同步以来,整体客户满意度和用户评价都得到了显著改善。
同样重要的是,通过实时让驾驶员了解他们的驾驶行为,Insights帮助他们更安全地驾驶。超速事件减少了98.8%,THL还看到了昂贵的恶劣驾驶事件减少了93.1%。
驾驶员行为的改善也为车队所有者带来了重大的运营成本节约。维护和维修成本已经下降,而企业的保险费用也随着时间的推移有所降低。由于使用新的解决方案进行更高效的同步查询,THL Digital也节省了数据使用费用。
从开发者的角度来看,Insights团队非常高兴:在使用Realm的移动数据库、MongoDB Device Sync和Atlas之间,他们节省了数月的开发时间。这个解决方案可以无缝集成多个事件驱动的后端系统,包括数十个终端点和大量数据,利用各种数据,如特定的GPS位置、客户动态、可用性和定价。开发团队能够专注于构建创新的新技术,并快速迭代新功能。
“MongoDB 的设备同步功能使我们能够以最小的延迟实时通信,”Balea总结道。“它让我一个人能够完成以前需要一支开发团队的工作。”
“MongoDB Atlas设备同步使我一个人能够完成以前需要一支开发团队的工作。” Emanuel Balea,解决方案架构师,THL Digital