疑惑重重!长连接怎样才能省电又稳定唤醒呢?

电子说

1.3w人已加入

描述

有个挺头疼的问题:设备要保持在线,随时响应主人的召唤,但又不想太费电。

这时候,长连接技术就像是位聪明的勇士,找到了在节能与响应速度之间的平衡点。

长连接勇士的日常优化

想象一下,你手机里的那些应用,它们就像是王国里的勇士,时刻待命。但传统的做法是,它们不停地和服务器聊天(发送和接收数据),这自然很耗电。
有一位长连接勇士呢,它聪明地设定了“闹钟”,只在需要的时候才跟服务器打个招呼,其余时间就安心休眠。

更绝的是,它还发现每次和服务器聊天时,其实真正有用的信息就那么一小会儿。

于是,它进一步缩短了每次聊天的时间,只传递最关键的信息,然后马上回去睡觉。这样一来,电量就省下来了。

省电智者的思考

省电智者默默观察着这一切, 并深入思考了长连接勇士的实践
减少通信次数和通信时长, 就可以节省王国的粮草
省电智者把规律刻在了一块大石头上
次数(↓) * 时长 = 耗电量(↓)
次数 * 时长(↓) = 耗电量(↓)
次数(↓) * 时长(↓) = 耗电量(↓↓)
省电智者又思考另外一个问题,
如何在王国量产和迅速醒来之间达成平衡呢
他打听到另外一个王国-降功耗找合宙, 原来他们的王国一直就有深耕这一领域, 在次数/时长/粮草之间获得了平衡
PRO模式 --> 次数 * 时长(↓) == 耗电量(↓)
STD模式 --> 次数(↓) * 时长(↓) == 耗电量(↓↓)

那代价是什么呢?

然而,这种节能方式也有其代价。

长连接勇士减少了通信次数和时长,可能会导致错过重要的信息或信息不完整。

如果通信次数太少或时间太短,甚至可能被传递消息的驿站误判为故障,从而被忽略。

那应该怎么办呢?

长连接勇者向省电智者求助, 而远方主人也了解到这个情况, 他表示可以多喊几次, 确保勇士们总能听到。

真实世界中的答案

在业务侧多发几次. 假设一次的成功概率是99.9%, 那么喊三次的成功概率就是
(3*99.9%)= 299.7%.
不好意思串台了, 前面的是台湾算法,

正规算法应该是
1- (0.1% * 0.1% * 0.1%)= 99.9999%
也就是百万分之一的概率, 已经是极小概率事件了, 甚至小于TCP的丢包率了。

连接连接
审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分