对于物联网应用而言,SIM卡流量资费占据整个系统运营成本相当大比重,显得很“金贵”。如果前期评估不当,要么造成卡套餐流量不足,影响业务正常进行,要么付出很大的无效流量成本,虽然一台设备流量有限,但如果几万个设备的小型应用,一个月也要多付出很多流量成本。那么开发者应该如何精确统计流量使用情况,将流量成本压缩到最低呢?
每月实际消耗流量=每天发送次数*一次发送实际消耗流量*30
这个公式看起来简单明了。但是,也只能大概估算出每月流量,因为设备的联网情况是各异的,无法用一个简单公式的套用求得各种情况的精确值。
以常用的协议TCP为例:
采用TCP协议进行数据业务,并保持长连接,连接不断开,定时发送心跳,服务器不主动下发数据。此场景忽略建立连接时三次握手和连接断开是4次挥手的流量(大约400多字节),在此场景下统计流量。
网络中传输的数据包由两部分组成:一部分是协议所要用到的首部,另一部分需要发送的数据。数据发送完成后服务器还会向终端回复应答信息,格式与发送数据包类似,首部数据长度相同,
以太网首部 | IP首部 | TCP首部 | 实际数据 |
14 | 20 | 20 |
下图为终端向服务器发送数据过程:
每月实际消耗流量=每天发送次数*一次发送实际消耗流量*30
一次发送实际消耗流量=发送数据包首部+一次发送有效数据量+服务器应答
比如:一次发送10个字节,一次实际消耗流量=54+10+54=118B
每天发送24次,每次发送10字节数据
每月有效数据消耗流量为=24*10*30=7020B=7020/1024KB=7K
每月实际消耗流量为=24*118B*30=82080B=82080/1024KB=83KB
实际消耗流量比发送有效数据的消耗流量要大10多倍,虽然协议头等数据无实际意义,但是流量统计无法忽略。
上述事例也是在设定在理想的网络环境条件下,进行的统计,只具有参考意义,实际情况下流量消耗还需要考虑其他多种因素。比如:网络信号的不稳定需要重连,设备的远程升级,平台的指令设置,消息推送等等。
因此,计算流量,应该在多种场景计算平均值,而不是单纯的计算单次用量(计算用电量也是如此,而且还要考虑温度等多种因素)。譬如统计各种情况下的日、周流量,再扩大对应倍数,算的月流量(估)。
怎样才能减少流量消耗呢?改善信号(最大限度避免重连)、优化流程(减少不必要的通信)、选择在满足实际应用场景需要前提下,开销小, 轻量化的符合物联网场景的协议、动态调整心跳包间隔(根据实际场景代码自动调整心跳包间隔,而不是固定间隔心跳包)、压缩通信数据(删除不必要的通信信息,压缩数据),可以有效地减少流量消耗。
奇迹物联(北京)科技有限公司是专业的eSIM解决方案供应商,致力于推动eSIM技术在物联网应用中的普及,围绕自研SIMLinK卡管理平台,适应不同场景化需求,可提供eSIM芯片、eSIM模组、eSIM终端方案,覆盖2G/4G/NB-IOT,实现eSIM的空写、管理及运营。同时与国内外多家运营商达成战略合作,保障物联网碎片化应用的支撑,实现业务与场景的贯通,帮助客户有效降低资费及运营的成本。
文章奖励内容:
本文Candy奖励:GSMA 2019 《eSIM在中国-未来之路》产业报告
获得方式:扫码关注,留言“eSIM在中国”
——end----