0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

合宙LuatOS 来源:合宙LuatOS 作者:合宙LuatOS 2024-08-08 11:00 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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

长连接勇士的日常优化

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

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

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

省电智者的思考

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

那代价是什么呢?

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

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

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

那应该怎么办呢?

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

真实世界中的答案

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

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

wKgZomax0JaACDSHAAhAbEqOp1Q823.pngwKgZomax0UiAIQxLAAoPzDux5vQ191.png
审核编辑 黄宇

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

    关注

    0

    文章

    17

    浏览量

    8420
  • 连接
    +关注

    关注

    2

    文章

    101

    浏览量

    21666
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    光伏连接器:如何在山头上实现稳定连接

    山头上的光伏电站,是利用山地资源发电的重要选择,但山头多风、温差大、沙尘多的环境,却给光伏连接器的稳定工作带来不小挑战。很多电站运维人员疑惑:光伏连接器怎么
    的头像 发表于 09-05 14:56 742次阅读

    CYT2B93CAE怎样才能接收特定 ID 的中断?

    你好,我正在使用 CYT2B93CAE 使用设备配置器 5.3,我选择 RX 缓冲区来接受特定的 ID(例如,0x020)。然而,问题是我在总线上的所有帧上都收到了中断,而不仅仅是专用 ID。 当其他所有 ID 均未发生中断时,我怎样才能接收特定 ID 的中断?
    发表于 07-15 07:09

    WICED IDE 6.6.1.1怎样才能连接到自定义硬件?

    设备? 我们怎样才能指示 WICED-IDE 使用我们的 4 通道 UART2USB 转换器提供的 “普通” VCOM COM 端口之一? 有人能给我一些关于如何连接我们的定制硬件并验证基本功能的说明和见解吗。 任何帮助将不胜感激
    发表于 07-09 07:01

    在CYBT-213043-EVAL上调试不稳定怎么解决?

    ;。 有时会遇到下一个断点,但在大多数情况下,我只会收到一条错误消息,调试不起作用: 错误:[cyw20819a1.cpu] 找不到免费的 FPB 比较器! 错误:无法添加断点:资源不可用 我怎样才能克服这个问题?
    发表于 07-02 06:06

    将CYW20706基于硅的蓝牙模块(CYBT-343151-02)连接到定制板上的MCU,怎样才能将链接配置为未确认数据模式?

    我将 CYW20706 基于硅的蓝牙模块(CYBT-343151-02)连接到定制板上的 MCU。 它在确认数据模式下工作,没有问题 但是我怎样才能将链接配置为未确认数据模式
    发表于 06-27 08:23

    怎样才能安全地按住ctrc +c日志阅读器然后才能停止并重新启动日志?

    的读取过程,我将无法在 FX3 中操作任何东西,所有命令都不起作用,所有控件写入/读取都将不起作用 以下是两个函数 我怎样才能安全地按住 ctrc +c 我的日志阅读器然后才能停止并重新启动日志
    发表于 05-27 07:11

    工厂设备总故障?谐波治理新国标解读,3步搞定省电保生产

    工厂设备总故障?谐波治理新国标解读,3步搞定省电保生产
    的头像 发表于 04-24 17:29 640次阅读
    工厂设备总故障?谐波治理新国标解读,3步搞定<b class='flag-5'>省电</b><b class='flag-5'>又</b>保生产

    怎样才能使用NUCLEO-H563ZI 识别出ST-LINK ?

    控制的?这个管脚默认的值是高还是低? 怎样才能使用NUCLEO-H563ZI ,识别出ST-LINK ?其开发环境需要什么版本的
    发表于 03-14 13:59

    怎样才能通过matlab实现DLP4500的连接与控制?

    做结构光的,希望通过一个界面完成相机与投影仪的同步投影与拍摄模式,相机部分连接控制模块做的差不多了,想问一下怎样才能通过matlab实现DLP4500的连接与控制?
    发表于 03-03 06:52

    怎样才能更好享受到8K视频带来的优势

    观看4K现在已经非常普遍了,随着对音视频要求的不断提高,各大设备也在着力发展8K视频。本期我们将从观看8K的工具入手,来聊聊怎样才能更好享受到8K视频带来的优势。
    的头像 发表于 02-21 09:30 2059次阅读

    用TLV2541进行AD采样,怎么样才能使采样为准确的1K?

    我现在想用TLV2541进行AD采样,我们要求采样频率为1K,我现在不知道怎么样才能使采样为准确的1K。用单片机的SPI接口怎样才能实现?谢谢
    发表于 02-10 07:58

    怎样才能将正弦波转换成方波,而且方波幅值的变化还要随正弦波峰峰值的变化而变化?

    怎样才能将正弦波转换成方波,而且方波幅值的变化还要随正弦波峰峰值的变化而变化?
    发表于 02-06 06:05

    DAC7678怎样才能完全输出0电平?

    按照datasheet写的驱动,现在有个问题一直解决不了,对DAC7678 使用软件复位或CLR引脚清除都不能实现输出完全是0电平,而是0.5mV-1.5V不等的电压,几个通道电压值不一样,但是都有; 求指点,怎样才能完全输出0电平; 补充:使用的外部参考电压;
    发表于 01-24 06:09

    TVP7002怎样才能将分辨率正确的读回?

    我读Lines Per frame staus 0x37-0x38,为0x00,0x20 Clocks Per Line status 0x39-0x3a,为0x92,0x00, 改变不同分辨率如720p60、1080p60,寄存器读数不变! 请问怎样才能将分辨率正确的读回?
    发表于 01-10 06:25

    使用STM32F407的硬件SPI接口去读取ADS8694的18位ad数据怎样才能读取出来?

    使用STM32F407的硬件SPI接口去读取ADS8694的18位ad数据怎样才能读取出来,因为STM32F407的硬件SPI接口只能设置每次读取的数据位是8位或者16位,看了TI的ADS8694芯片手册上的SPI时序图发现 是不是直接产生16个SCLK就可以输出18位的SDO数据??
    发表于 12-27 06:23