实时计算案例:杭州企鹅科技

本文涉及的产品
实时计算 Flink 版,5000CU*H 3个月
简介: 公司依托领先的物联网技术,瞄准线下消费升级和差异化趋势,利用智慧物联技术连接并赋能线下商用设备实现商户的智能化管理,降低运维成本、提高收益;同时,为用户提供基于LBS定位的物联自助智能体验服务,满足用户体验的智能化,个性化需求。

作者:何孟强

1.企鹅简介


杭州企鹅科技是一家集自主研发、商业运营、合作推广为一体的智慧物联平台服务商。企鹅科技利用智慧物联技术平台,赋能自助商用设备为运营商提供一体化物联网改造方案和SaaS移动支付解决方案。公司依托领先的物联网技术,瞄准线下消费升级和差异化趋势,利用智慧物联技术连接并赋能线下商用设备实现商户的智能化管理,降低运维成本、提高收益;同时,为用户提供基于LBS定位的物联自助智能体验服务,满足用户体验的智能化,个性化需求。


2. 业务场景


企鹅科技目前共有约40万台物联网终端设备包括:洗衣机、烘干机、饮水机、淋浴、吹风机、充电桩、按摩椅等,需实时掌握终端设备的状态以及下发指令后反馈结果,每天将近4亿条消息接收和发送。


  1. 以洗衣机场景为例:用户完成下单后,通过阿里云物联网平台向终端设备下发启动指令,指令下发成功后需实时掌握洗衣机是否启动成功。
  2. 以饮水机场景为例:用户扫描饮水机上的二维码,下发解锁指令后,需要实时掌握饮水机的流量、状态等信息。


业务痛点:由于终端设备数量过多,设备种类繁杂,消息量巨大,实时性要求高,小额高频的交易场景且需根据各种业务场景进行处理,原来通过直接消息订阅IOT平台消息和消息流转均无法满足我们业务场景复杂的小额高频需求。


3.解决方案


为解决上文提到的业务痛点问题,选用阿里云实时计算Flink作为实时计算的基础架构进行数据清理、过滤和业务处理后输出至各下游。


系统架构:


架构.png


数据流向及业务处理:


1. 设备信息数据实时上报到IOT物联网平台。

2. IOT物联网平台把数据流转到DATAHUB

3. 实时计算Flink版订阅DATAHUB数据。

4. 实时计算Flink根据业务规则进行数据清洗、加工输出至各下游端。


饮水场景解决方案:


饮水场景是一种小额的高频交易的后付费场景,用户下单后先下发解锁指令,让用户先使用然后再根据设备上报的流量进行计费。终端设备上报的信息中会有单笔订单上报,也会由于网络情况不好而挤压在终端的信息需同时进行上报,通过实时计算Flink可快速通过sql方式进行数据过滤如:根据上报的类型和tag进行条件过滤如下:`type` = '08' AND `profile` IS NULL AND json_value ( `data`, '$.Flag' ) IN ( '04', '05' ); 可以判断该笔消息是饮水场景单笔订单的上报,很便捷的判断出消息的种类后输出至MQRedis等供下游消费使用,完成业务的闭环。


充电桩场景解决方案:


充电桩设备需实时掌握充电桩的通道的功率以及充电桩的状态及充电的剩余时间,为实时掌握通道的功率我们通过实时计算Flink进行加工后数据输出至TSDB中。通过实时计算Flink可快速完成业务需求。


  1. 定义datahub的源表信息和TSDB的结果表信息


--创建iot_up数据源表
create table iot_up (
  `id` varchar,
  `imei` varchar,
  `pk` varchar,
  `type` varchar,
  `data` varchar,
  `profile` varchar
) with (
  type = 'datahub',
  endPoint = 'http://dh-cn-shanghai.aliyun-inc.com',
  project = '***',
  topic = '***',
  accessId = '***',
  accessKey = '***'
);
--创建tsdb表
CREATE TABLE charge_power (
    `metric`    VARCHAR,   
    `timestamp` INTEGER,
    `value`     INTEGER,
    `imei`      VARCHAR,
    `channel`   VARCHAR,
    `msgid`     VARCHAR,
    `pk`        VARCHAR
) WITH (
    type='hitsdb',
    host='***',
    port='***'
);


  1. 根据业务规则过滤后输出至TSDB


--创建tsdb表写入数据
insert into charge_power select 
  'power',
  cast(UNIX_TIMESTAMP(`time`) as int),
  cast(json_value(`data`,'$.Powers[0].Power') as int),
  imei,
  json_value(`data`,'$.Powers[0].Channel'),
  json_value(`data`,'$.Powers[0].MsgId'),
  pk
 from iot_up where `type` = '0706'  and json_value(`data`,'$.Powers[0]') is not null;



4.总结


杭州企鹅科技平台涉及多台线下设备(约40W台设备),实时计算 Flink 版每秒处理输入 10K 条数据,每秒输出 20K 条处理后的数据,整体延迟为秒级,整体收益包括:


  • 节省运维成本:免运维,阿里云提供高保障;
  • 对接上下游:实时计算强大的 Flink SQL 可以对接上下游,直接注册,不需要写复杂代码,使用通用 SQL 即可,数据分析的门槛低;
  • 降低开发成本:SQL 开发,效率高,门槛低,原来单作业 Java 开发 3 天的工作量降低到 1 天内,且 BUG 少。


企鹅科技平台通过实时计算技术快速处理各业务场景数据,在业务上取得了较大的成果,也得到了公司的高度认可,由于物联网设备实时性要求较强,通过实时计算在很多业务场景上已满足我们的业务需要。

相关实践学习
基于Hologres轻松玩转一站式实时仓库
本场景介绍如何利用阿里云MaxCompute、实时计算Flink和交互式分析服务Hologres开发离线、实时数据融合分析的数据大屏应用。
Linux入门到精通
本套课程是从入门开始的Linux学习课程,适合初学者阅读。由浅入深案例丰富,通俗易懂。主要涉及基础的系统操作以及工作中常用的各种服务软件的应用、部署和优化。即使是零基础的学员,只要能够坚持把所有章节都学完,也一定会受益匪浅。
相关文章
|
1月前
|
分布式计算 监控 大数据
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
大数据-131 - Flink CEP 案例:检测交易活跃用户、超时未交付
65 0
|
1月前
|
消息中间件 关系型数据库 MySQL
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
大数据-117 - Flink DataStream Sink 案例:写出到MySQL、写出到Kafka
135 0
|
1月前
|
SQL 大数据 API
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
大数据-132 - Flink SQL 基本介绍 与 HelloWorld案例
45 0
|
1月前
|
SQL 消息中间件 分布式计算
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
大数据-130 - Flink CEP 详解 - CEP开发流程 与 案例实践:恶意登录检测实现
42 0
|
1月前
|
消息中间件 NoSQL Kafka
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
大数据-116 - Flink DataStream Sink 原理、概念、常见Sink类型 配置与使用 附带案例1:消费Kafka写到Redis
131 0
|
分布式计算 Java API
Flink教程(04)- Flink入门案例
Flink教程(04)- Flink入门案例
144 0
|
6月前
|
传感器 存储 缓存
[尚硅谷flink学习笔记] 实战案例TopN 问题
这段内容是关于如何使用Apache Flink解决实时统计水位传感器数据中,在一定时间窗口内出现次数最多的水位问题,即"Top N"问题。首先,介绍了一个使用滑动窗口的简单实现,通过收集传感器数据,按照水位计数,然后排序并输出前两名。接着,提出了全窗口和优化方案,其中优化包括按键分区(按水位vc分组)、开窗操作(增量聚合计算count)和过程函数处理(聚合并排序输出Top N结果)。最后,给出了一个使用`KeyedProcessFunction`进行优化的示例代码,通过按键by窗口结束时间,确保每个窗口的所有数据到达后再进行处理,提高了效率。
181 1
|
6月前
|
NoSQL API MongoDB
实时计算 Flink版产品使用合集之断点续传的案例在哪里可以找到
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
11月前
|
消息中间件 存储 Kafka
flink马屎咖啡馆案例
flink马屎咖啡馆案例
43 1
|
SQL 消息中间件 Kafka
Flink教程(17)- Flink Table与SQL(案例与SQL算子)
Flink教程(17)- Flink Table与SQL(案例与SQL算子)
206 0

相关产品

  • 实时计算 Flink版