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

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

1.背景

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

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

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

运营商后台交互操作:

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

2.设计方案

总体思路如下:

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

2.1 上行数据逻辑

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

2.2 下行控制指令

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

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、阿里云物联网无线连接服务,套餐灵活,资费实惠,电信/移动/联通智能选网

相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
3月前
|
供应链 搜索推荐
三类代码协同模式问题之阿里商旅账单系统支持企业自定义展示问题如何解决
三类代码协同模式问题之阿里商旅账单系统支持企业自定义展示问题如何解决
|
5月前
|
小程序 前端开发 API
快递平台独立版小程序源码|带cps推广营销流量主+前端
快递平台独立版小程序源码|带cps推广营销流量主+前端
180 7
快递平台独立版小程序源码|带cps推广营销流量主+前端
|
数据采集 存储 数据库
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(一)
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(一)
|
5月前
|
数据采集 Java 数据库连接
项目经验还写外卖和商城?来看看异构数据源数据流转服务 DatalinkX
你是否马上准备秋招、春招但没有项目经验,总觉得竞争力低 你是否一直浸泡在增删改查的业务代码,恼火技术成长过慢 你是否厌倦了XX学院、XX商城、XXRPC框架等网红项目 你是否想接触一线互联网公司项目架构与前沿技术栈 来跟我一起从零搭建基于Flink的异构数据源同步服务
457 0
|
5月前
|
运维 数据库 UED
创建一个能卖货的电商独立站要多久?
今天谈谈创建一个最基础的电商独立站需要的时间,以完成基础装修+能正常卖货为基准,这是网站成功的第一步,后面还有着很多的运营操作,这里不展开。
|
12月前
|
JavaScript Java Spring
36分布式电商项目 - 运营商后台(广告管理)
36分布式电商项目 - 运营商后台(广告管理)
57 1
|
数据采集 消息中间件 数据可视化
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(二)
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(二)
|
算法 安全 搜索推荐
商城卷轴消费增值裂变模式系统开发部署设计建议指南
商城卷轴消费增值裂变模式系统开发部署设计建议指南
|
供应链 监控 API
一个优秀的电子购物平台,需要那些业务系统支撑?
根据我国商务部的统计数据,2021年度我国电子商务平台的销售额占社会消费品零售总额的比重为24.5%,可以说电子商务已经完全渗透进了我们的日常生活,甚至可以说,网络购物对全球生活方式带来了巨大的改革,那么,我们要想搭建一个合格的购物平台的时候,要有哪些业务系统在支撑呢?今天我们就来细数现在的大型电商平台跨境电商平台背后的业务系统。
《快递行业云上技术服务白皮书》——3. 快递业务介绍——3.3 快递业务主体流程
《快递行业云上技术服务白皮书》——3. 快递业务介绍——3.3 快递业务主体流程
下一篇
无影云桌面