以Delimobile为例确认控制命令的重要性

在设计物联网系统(例如汽车共享)时,考虑可能的故障非常重要。 否则,您会发现技术支持和客户不满意的负担很重。


停车“ Skolkovskaya”

失败无处不在。 但是在“物联网”的世界中,这是一个永久的状态。 当使用移动网络和硬件时,崩溃的发生率比Web或移动开发中的发生率高得多。

系统的可靠性由于各种原因而受到影响,包括期限紧迫和开发预算有限。 但是,如果不拒绝但接受可能的故障,则物联网可以工作,并尝试解决问题。 如果感兴趣的话,有一篇有趣的文章介绍了如何提高容错能力,但是现在更接近重点了。

您通过电话打开汽车,怎么可能出问题?


这些步骤可能取决于系统的体系结构,但是场景通常是这样的:

您单击“立即预订”按钮。 命令发送到服务器。 她可能会走路也可能不会走路。

您单击“打开汽车”按钮。 命令发送到服务器。 她可能会走路也可能不会走路。 服务器将命令发送到机器。 她可能会走路也可能不会走路。 车载设备正在尝试执行命令。 它可能会或可能不会实现。

您单击“开始旅行”按钮。 命令发送到服务器。 她可能会走路也可能不会走路。 服务器将命令发送到机器。 她可能会走路也可能不会走路。 车载设备正在尝试执行命令。 它可能会或可能不会实现。

是的,这是一个肤浅的问题,实际上是疯狂的问题,但是现在我们仅考虑这些问题。

假设所有团队都达到了,所有执行器都工作了,那就成功了! 可以向投资者证明。

出了点问题


但是,例如,如果“开门”命令没有到达汽车,会发生什么?

首先,服务器应对此进行了解。 为了使计算机的真实状态与服务器同步,通常使用命令确认(ACK)。 并再次确认团队的执行情况。 毕竟,“团队尚未交付”和“团队尚未执行”是不同的事件,涉及不同的解决方案。

其次,(例如,如果无法通过重新发送命令来解决问题),则需要向用户报告错误,而不是将其置于“行程”状态。

在Delimobile,您将开始旅程。

并与技术支持操作员进行对话。

故事


我在斯科尔科沃工作。 由于交通便利,与许多同事一样,我每天去上班和回去共享汽车。 但是三天前,在停车场,连接状况恶化了。 为什么创新中心的移动通信存在问题,这是另一个问题,但这种情况引起了一个有趣的问题:预订汽车的Delimobile用户实际上被困住了。

在9月24日寒冷的夜晚,我回到了家。 他订了车,来到她身边。

单击“开始检查”,但门未打开。

-好吧,很可能再次是通讯失败。 我再拿一个。 而且,有很多!

点击“完成租赁”-“您不在停车场”

我呼吁支持,描述情况。 操作员试图打开门。 失败 音乐。 门开着。 谢谢啦

-可能服务器出现故障。 好吧走吧 我按“开始旅行”-应用程序开始数钱。

不开始。

我呼吁支持,描述情况。 操作员试图让发动机启动。 失败 “与机器没有连接。”

-好的,我们手动关闭它。 放下玻璃,退出,按下中央锁定按钮,关闭玻璃。

玻璃不会掉落。 显然,在没有服务器命令的情况下,汽车无法打开点火装置。 但是没有联系。

-然后,您需要等待机械师。 1-1.5小时。

“但是这里很冷。” 装有电话的Delimobile汽车周围还有3-4个人。 也许毛皮已经寄给他们了...

<车门突然关闭>

-就是这样。 谢谢啦 我要坐小巴。

别人如何解决这个问题


首先,如果没有与机器通信,则也许不应该在地图上显示它。

其次,如果服务器知道尚未执行打开门的命令,则它不会将我转移到租赁模式。 因此,我只会看到一条错误消息,而不是在无聊的情况下等待40分钟,而在技术支持方面又会增加负担。

第三,您可以创建一个备用通信通道-与另一个运营商(我的电话已经上网)建立第二个调制解调器。 或蓝牙,就像Squirrel和YouDrive一样。 (也许此选项不适用于Delimobile,因为它会增加开发和支持成本,而DM在大众中是最便宜的)



同时,由于缺乏对控制团队交付的确认,Delimobil可“手动关闭”汽车,并节省了技术支持。 同时,没有通讯的汽车在地图上可见,可以预订。

这是一个更广泛的问题。


我确信Delimobile的工程师很棒。 他们解决了很多问题。 说真的 实际上,除了设备和系统本身之外,仍然有必要构建调试,维护,退役等过程。 通常,这些过程还需要开发硬件和软件。

但是为什么会出现这种情况呢? 我认为,可能有两个原因。

第一个可能的问题是应用程序,服务器和设备的承包商不同,而没有整个系统的高质量顶层设计。 每个人都可能做得很好,但是整个体系结构都有问题。

原则上第二个可能的原因是这么多项目固有的。 事实是证明(例如,向投资者展示)原型并不难。 也许几个星期甚至几天就足够了。 但是,可靠系统的设计和开发可能需要一个月甚至几年的时间。 不幸的是,并非所有有效的经理都理解这一点。

有效的领导通常可能需要他们认为会增加公司收入的新功能。 同时,他们没有看到提高可靠性的商业潜力。


怎么办




在当地,Delimobil需要解决斯科尔科沃的停车问题。 那里有很多车闲着。 他们不太可能与移动运营商达成协议以提高通信质量。 因此,在我看来,最可能的结果是他们将禁止在那里停车并自行将车辆运至莫斯科。 可悲的结果:(您认为有可能以其他方式解决这个问题吗?

在全球范围内-技术经理必须捍卫增加可靠性的需求。 至少在Delimobile中,他们现在有争论。

PS特别感谢受过折磨的技术支持人员。 他们很有礼貌,并试图解决问题。

Source: https://habr.com/ru/post/zh-CN468765/


All Articles