简介: 使用物联网平台,快速构建一个高性能的共享快递柜业务

1.背景

当我们的设备和物联网平台建立mqtt连接通道后,会根据业务需求传输不同的数据。本次以共享快递柜业务场景讲解topic和payload的设计。

在共享快递柜场景中,我们会涉及到C端用户操作:

  • 在App端扫码,操作快递存取,触发后台下发指令到当前机柜,执行相关操作。
  • 用户存取完毕,触发订单结算或其他操作

运营商后台交互操作:

  • 下行指令
    • 开关快递柜门
    • 广告的添加/删除
  • 设备数据处理
    • 用户取走快递的消息的处理,订单结算
    • 用户寄存的消息的处理,订单结算
    • 广告播放的记录存储

2.设计方案

总体思路如下:

  • 根据业务不同划分不同topic,每个topic对应payload结构体。
  • 当数据发送到物联网平台,我们通过规则引擎把数据分流到多个mq队列、DB、时序数据库等。
  • 不同优先级队列,DB分配不同计算资源,配置降级策略

2.1 上行数据逻辑

下图展示了设备数据上行场景的划分和后台系统不同处理方式

2.2 下行控制指令

下图展示了云端下行控制指令的来源和完整链路

3.通信Topic和Payload定义

按照以上分析,整理出在这个场景中的Topic和Payload细节参考表格,如下:

分类 topic 权限 payload 备注
NTP服务 /ext/ntp/${pk}/${dn}/request 发布 {
"deviceSendTime":"1000"
}
物联网平台提供
/ext/ntp/${pk}/${dn}/response 订阅 {
"deviceSendTime":"1000",
"serverRecvTime":"1543475763010",
"serverSendTime":"1543475763020"
}
物联网平台提供
定时上报
每5分钟
/${pk}/${dn}/user/bizheart/post 发布
QoS=0
{
"battery":69,
"devices":[0,1,0,0,0,1,0],
"net":84
}
设备上报
指令响应
/${pk}/${dn}/user/borrow 发布QoS=1 {
"device":2
}
用户上报
用户开门触发
/${pk}/${dn}/user/return 发布QoS=1 {
"device":2
}
开门指令
用户App触发->Server->IoT->机柜
/${pk}/${dn}/user/pop 订阅QoS=1 {
"device":2
}
设备上报
开门是否响应
/${pk}/${dn}/user/borrow 发布QoS=1 {
"device":2
}
广告播放
播放记录
/${pk}/${dn}/user/ad/play 发布QoS=1 {
"adId":14323
}
添加广告资源 /${pk}/${dn}/user/ad/new 订阅
QoS=1
{
"adId":732124,
"uri":"https://ad.com/732124"
}
删除广告资源 /${pk}/${dn}/user/ad/delete 订阅
QoS=1
{
"adId":32546
}
设备状态变更 /as/mqtt/status/${pk}/${dn} {
    "status":"online/offline",
    "productKey":"pk13543",
   "deviceName":"dn1234",
    "lastTime":"2018-08-31 15:32:28.195",
    "clientIp":"123.123.123.123"
}
物联网平台提供

具体实现过程中,业务payload还会id用于实现消息去重逻辑。

至此,我们完成了IoT场景的需求梳理和业务协议设计。

参考信息:企业基于物联网平台最佳业务实现

相关云服务推荐:

1、阿里云物联网平台(企业版实例),万台设备接入低至9.5元/天

2、阿里云物联网无线连接服务,套餐灵活,资费实惠,电信/移动/联通智能选网

共享快递柜业务场景实战(服务构建)相关推荐

  1. 多业务场景实战-数据推断

    数据推断 学习目标 知道数据推断的使用场景 使用SQL完成关键指标推断逻辑 1 业务背景:缺失关键指标 疫情期间,一家印度外卖餐厅想通过数据分析,数据挖掘提升销量,但是在历史数据中缺少了很重要的一个维 ...

  2. 待支付取件费用是什么意思_1元保管费与直接取件,你赞赏丰巢快递柜了吗?...

    仅仅在几年以前,收快递还是一件开心的事情,至少在一线大城市中,大多数快递员都会送货上门,将快递直达用户手中.但是这样的场景已经成为过去,越来越多的情况是:快递员打电话或者是短信通知,要求客户自取. 自 ...

  3. java快递柜系统开发_他专注智能柜系统开发,产品日使用频次达60万次,服务近400厂家...

    陈巨擘:智能化生活无处不在! 大众创业万众创新,创业者成为时代的英雄.记录他们的坚持与努力,即是呈现这个时代的发展与变革,这是我们做"创业者专访"的初衷. 米库创业网(miku99 ...

  4. 软件开发中 前台、中台、后台英文_一个微服务业务系统的中台构建之路

    中台是近两年软件开发领域的热点话题,相关的文章也成为了各个技术社区和媒体争相报道的网红内容.作为企业支撑业务开发的核心系统,中台的重要性不言而喻,很多企业也开始尝试中台的构建和落地工作.Biz-UI ...

  5. 两亿多用户,六大业务场景,知乎AI用户模型服务性能如何优化?

    作者 | 王政英 来源 | 知乎技术专栏 用户模型简介 知乎 AI 用户模型服务于知乎两亿多用户,主要为首页.推荐.广告.知识服务.想法.关注页等业务场景提供数据和服务,例如首页个性化 Feed 的召 ...

  6. 阿里云基于区块链服务构建企业业务系统实践总结

    笔者注:本文是在2018年8月19日由InfoQ主办的BCCon全球区块链生态技术大会的演讲内容基础上整理而成,从技术上对阿里云区块链服务解决企业落地问题的思路以及设计理念进行了解读. 大家好!很高兴 ...

  7. 一个微服务业务系统的中台构建之路

    一个微服务业务系统的中台构建之路 中台是近两年软件开发领域的热点话题,相关的文章也成为了各个技术社区和媒体争相报道的网红内容.作为企业支撑业务开发的核心系统,中台的重要性不言而喻,很多企业也开始尝试中 ...

  8. 业务分析系列主题:做设计时,怎样理解和构建业务场景闭环?

    在很长一段时期,产品经理和设计师在谈产品体验时,更多的是关注于用户本身,如今开始更加深入地探究用户和产品所处的业务场景,这样视野更大. 将业务场景纳入整个产品设计体系中,其实是将以往设计过程中被忽略的 ...

  9. 中通快递关键业务和复杂架构挑战下的 Kubernetes 集群服务暴露实践

    本文是上海站 Meetup 讲师王文虎根据其分享内容整理的文章. KubeSphere 社区的小伙伴们,大家好.我是中通快递容器云平台的研发工程师王文虎,主要负责中通快递容器云平台开发.应用容器化推广 ...

最新文章

  1. php字符串中有特殊符号怎么处理,PHP字符串中特殊符号的过滤方法介绍
  2. 对分贝(dB)概念的理解
  3. eeglab中文教程系列(8)-选择数据的epochs并进行比较
  4. 云服务商正在杀死开源商业模式
  5. 讨喜的隔离可变性(五)同时使用多个角色
  6. 动态修改页面Meta 标签 keywords description
  7. 再聊机器人设计:如何加速开发流程?
  8. 有哪些适合大学生浏览的网站?
  9. 用脚本判断用户传参的参数是否有对应的进程在运行并把结果显示给用户
  10. spring中最重要的一些Aware接口
  11. 艾媒2018年度手机输入法报告出炉:百度输入法是语音识别最准的输入法
  12. 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
  13. 遗传算法 python_Python实现入门级遗传算法
  14. 如何把桌面计算机和回收站隐藏,如何隐藏电脑桌面回收站?隐藏桌面回收站方法介绍...
  15. 【Flutter 问题系列第 26 篇】给 TextField 添加背景色,为什么没有效果 ?
  16. “80后”博士,晋升正厅!
  17. python写excel文件头_Python帮你做Excel——写入Excel文档
  18. 张小军详解华为区块链政务应用,指出区块链的应用领域正从金融向全领域拓展...
  19. tif转成bmp matlab,【转 】将图像转化成avi格式电影(bmp2avi,jpg2avi,tiff2avi等) - [Matlab]...
  20. C语言:运算符-符号常量-输入输出

热门文章

  1. Matplotlib 可视化之箭头与标注的高级应用
  2. 60 个神级 VS Code 插件!
  3. Python 3.10刚发布,这5点非常值得学习!
  4. 即将毕业的你,做好当一个社会人的准备了吗?
  5. 浙大提出会打德扑的「自我博弈」AI,还会玩射击游戏
  6. 深度学习入门笔记系列(一)——深度学习框架 tensorflow 的介绍与安装
  7. python显示range_python中range如何输出
  8. 拓扑学+计算机,吴国平: 拓扑学到底有多重要? 在数学中占据多高的地位?
  9. 电脑小米路由器设置虚拟服务器,小米路由器在Win7系统中设置网络映射教程
  10. snmp v3 参数_snmp v3 配置