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

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

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
相关文章
|
1月前
|
小程序 前端开发 API
快递平台独立版小程序源码|带cps推广营销流量主+前端
快递平台独立版小程序源码|带cps推广营销流量主+前端
49 7
快递平台独立版小程序源码|带cps推广营销流量主+前端
|
3月前
|
数据采集 Java 数据库连接
项目经验还写外卖和商城?来看看异构数据源数据流转服务 DatalinkX
你是否马上准备秋招、春招但没有项目经验,总觉得竞争力低 你是否一直浸泡在增删改查的业务代码,恼火技术成长过慢 你是否厌倦了XX学院、XX商城、XXRPC框架等网红项目 你是否想接触一线互联网公司项目架构与前沿技术栈 来跟我一起从零搭建基于Flink的异构数据源同步服务
311 0
|
8月前
|
数据采集 存储 数据库
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(一)
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(一)
|
8月前
|
数据采集 消息中间件 数据可视化
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(二)
2、电商数仓(业务数据采集平台)电商业务流程、电商常识、电商系统表结构、业务数据模拟、业务数据采集模块(二)
|
10月前
|
小程序 数据可视化 API
教你高效搭建自己的电商平台系统快来看
随着电商的蓬勃发展,大型老牌的电商平台吃尽红利,而且很多大商家也不甘于进驻这些大型老牌的电商平台分一杯羹,希望拥有属于自己的电商平台来独享红利并放大自己的获客渠道。那么电商平台怎么搭建呢?下面一起来了解下吧!
|
存储 人工智能 负载均衡
千人坐席的云呼叫中心,是如何实现大容量高并发的?
“我们的系统正在修复中,请稍后再拨…” 王先生刚刚在某大型银行的APP端订购了一款理财产品,却始终无法完成支付,于是拨通了银行的客服电话,谁知电话那端却传来这样的回复。连续拨打几次之后,王先生放弃了购买。
J3
|
存储 JSON 数据可视化
餐饮系统店家后端基础功能构建
餐饮系统店家后端基础功能构建
J3
193 0
餐饮系统店家后端基础功能构建
|
物联网 调度
方案 | 无接触配送风口已至,阿里云联合菜鸟推无接触快递柜解决方案
阿里云联合菜鸟推出无接触快递柜解决方案,以快递柜为媒介,实现发货申请-收货通知线上化,快递柜收货-取货通知自动化,发货方、配送员、收货人三方无接触寄送件。
1380 0
|
数据采集 数据管理 数据挖掘
选型宝访谈:怎样构建统一、共享的主数据平台,打造真正干净的数据治理能力?
今天,商业环境瞬息万变,竞争日益加剧。 无论你是什么行业,你都无法回避的一个关键词是“数字化转型”。通过数字化转型,让企业变得敏捷,成为一种时代精神,也是我们这代IT人的使命。 然而,无论是业务层面的创新需求,还是决策层面的数据分析需求,都要干净、准确的业务数据作为支撑。
1561 0
|
供应链 测试技术
如何将企业采购过程中的多方业务数据实时连接起来?
采购管理是指对采购业务过程进行组织、实施与控制的管理过程。然而在信息化快速发展的当今时代,传统的采购管理模式逐渐不适应新时代发展下的企业采购管理需求。 第一:全靠人手操作,采购效率低。传统采购模式下,企业采购流程非常复杂,采购申请,信息查询发布,招标投标评标,治谈签约结算,物流配送交割、协调相关部门等在内环节全部手工操作,极大地浪费了时间和人力成本,采购过程效率低下。
1086 0