有個挺頭疼的問題:設(shè)備要保持在線,隨時響應(yīng)主人的召喚,但又不想太費電。
這時候,長連接技術(shù)就像是位聰明的勇士,找到了在節(jié)能與響應(yīng)速度之間的平衡點。
長連接勇士的日常優(yōu)化
想象一下,你手機里的那些應(yīng)用,它們就像是王國里的勇士,時刻待命。但傳統(tǒng)的做法是,它們不停地和服務(wù)器聊天(發(fā)送和接收數(shù)據(jù)),這自然很耗電。
有一位長連接勇士呢,它聰明地設(shè)定了“鬧鐘”,只在需要的時候才跟服務(wù)器打個招呼,其余時間就安心休眠。
更絕的是,它還發(fā)現(xiàn)每次和服務(wù)器聊天時,其實真正有用的信息就那么一小會兒。
于是,它進一步縮短了每次聊天的時間,只傳遞最關(guān)鍵的信息,然后馬上回去睡覺。這樣一來,電量就省下來了。
省電智者的思考
省電智者默默觀察著這一切, 并深入思考了長連接勇士的實踐
減少通信次數(shù)和通信時長, 就可以節(jié)省王國的糧草
省電智者把規(guī)律刻在了一塊大石頭上
次數(shù)(↓) * 時長 = 耗電量(↓)
次數(shù) * 時長(↓) = 耗電量(↓)
次數(shù)(↓) * 時長(↓) = 耗電量(↓↓)
省電智者又思考另外一個問題,
如何在王國量產(chǎn)和迅速醒來之間達成平衡呢
他打聽到另外一個王國-降功耗找合宙, 原來他們的王國一直就有深耕這一領(lǐng)域, 在次數(shù)/時長/糧草之間獲得了平衡
PRO模式 --> 次數(shù) * 時長(↓) == 耗電量(↓)
STD模式 --> 次數(shù)(↓) * 時長(↓) == 耗電量(↓↓)
那代價是什么呢?
然而,這種節(jié)能方式也有其代價。
長連接勇士減少了通信次數(shù)和時長,可能會導(dǎo)致錯過重要的信息或信息不完整。
如果通信次數(shù)太少或時間太短,甚至可能被傳遞消息的驛站誤判為故障,從而被忽略。
那應(yīng)該怎么辦呢?
長連接勇者向省電智者求助, 而遠方主人也了解到這個情況, 他表示可以多喊幾次, 確保勇士們總能聽到。
真實世界中的答案
在業(yè)務(wù)側(cè)多發(fā)幾次. 假設(shè)一次的成功概率是99.9%, 那么喊三次的成功概率就是
(3*99.9%)= 299.7%.
不好意思串臺了, 前面的是臺灣算法,
正規(guī)算法應(yīng)該是
1- (0.1% * 0.1% * 0.1%)= 99.9999%
也就是百萬分之一的概率, 已經(jīng)是極小概率事件了, 甚至小于TCP的丟包率了。
審核編輯 黃宇
-
省電
+關(guān)注
關(guān)注
0文章
14瀏覽量
8206 -
連接
+關(guān)注
關(guān)注
2文章
100瀏覽量
21072
發(fā)布評論請先 登錄
相關(guān)推薦
怎樣才能通過matlab實現(xiàn)DLP4500的連接與控制?
怎樣才能更好享受到8K視頻帶來的優(yōu)勢
DAC7678怎樣才能完全輸出0電平?
TVP7002怎樣才能將分辨率正確的讀回?
怎樣才能讀取LMK03328的工作狀態(tài),例如PLL2是否失鎖?
請問TPA3112的輸出波形在無濾波狀態(tài)下是PWM波形式,怎樣才能出來完美的正弦波呢?
PCM1865怎樣才能將GPIO0配置成Digital MIC Input 2?
通過簡單的電阻電容組合怎樣才能把25K方波變成正弦?
TPA3118D2怎樣才能不使用靜音功能,通電就能輸出音頻?
怎樣才能避免LM3886損壞?
怎樣才能在調(diào)用deep_sleep_set_option(4)后手動打開RF?
esp8266怎樣才能正確的把更新的代碼升級到target上?
怎樣才能選到合適的無線模塊?

評論