说起现在的手机、家电、工业机器,还有那些远程服务,哪个离得开网络连接?特别是那种能一直连着,不掉线的长连接技术,简直是咱们生活中的小能手。但问题也来了,设备越来越多,电量得省着用,对吧?那么,怎么让这些设备在保持长连接的同时,还能省点电,关键时候又能迅速“醒”过来呢?
嘿,别急,咱们今天就来聊聊这个话题,看看有没有什么妙招能让长连接既省电又稳定唤醒。
讲个故事:
在一个遥远的电子王国里,住着一位名叫省电的智者。他拥有一种神奇的力量,能够将能量消耗降到最低,让整个王国的通信勇士都能在不工作时进入一种休眠状态,节省宝贵的粮草。
然而,这个王国也面临着一个挑战:当远方的主人需要召唤设备时,它们需要迅速醒来,响应主人的呼唤。
这时,长连接勇士挺身而出,他能够保持一条稳定的通道,无论何时何地,都能让信息畅通无阻。
长连接勇士的日常
长连接勇士最初也是普通的勇士,在日常通信中并不出众,也会占用王国的粮草(电池电量).
在一个偶然的机遇,长连接勇士发现, 他只需要在定时与外界保持通信就可以了, 不需要一直保持通信,所以他把日常工作的时间点都调好闹钟,到点才工作,其余时间就休息,节省粮草.
在一段时间之后, 长连接勇士已经是王国数一数二的省电能手, 月度通信总结会上, 细心的他又发现,其实每次通信只有前面一小段时间是有效的.
那后续通信的时候,每次通信的时间压缩一些,就能省更多的粮草了.就这样, 长连接勇士在日常的工作中,慢慢摸索着更省电的实践.
省电智者的思考
省电智者默默观察着这一切, 并深入思考了长连接勇士的实践
减少通信次数和通信时长, 就可以节省王国的粮草
省电智者把规律刻在了一块大石头上
次数(↓) * 时长 = 耗电量(↓)
次数 * 时长(↓) = 耗电量(↓)
次数(↓) * 时长(↓) = 耗电量(↓↓)
PRO模式 --> 次数 * 时长(↓) == 耗电量(↓)
STD模式 --> 次数(↓) * 时长(↓) == 耗电量(↓↓)
那代价是什么呢?
然而,这种节能方式也有其代价。
长连接勇士减少了通信次数和时长,可能会导致错过重要的信息或信息不完整。如果通信次数太少或时间太短,甚至可能被传递消息的驿站误判为故障,从而被忽略。
那应该怎么办呢?
长连接勇者向省电智者求助, 而远方主人也了解到这个情况, 他表示可以多喊几次, 确保勇士们总能听到。
真实世界中的答案
在业务侧多发几次.
假设一次的成功概率是99.9%, 那么喊三次的成功概率就是
(3*99.9%)= 299.7%.
不好意思串台了, 前面的是台湾算法,
正规算法应该是
1- (0.1% * 0.1% * 0.1%)= 99.9999%
也就是百万分之一的概率, 已经是极小概率事件了, 甚至小于TCP的丢包率了。
在现代移动应用中,长连接技术被广泛用于保持客户端与服务器之间的实时通信。要说在行业里低功耗长连接做的比较好的我选上海合宙了。
如果你想要更低的功耗,那就学起来吧。
相关资料获取请点击: www.openluat.com