当前位置: 首页 > news >正文

InfluxDB-数据看板实现流程:从数据采集到可视化展示

数据看板的实现涉及到多个步骤和技术组件,以下是基于提供的知识库内容,详细解释数据看板(特别是30日活跃用户数趋势)的实现过程:

1. 数据来源

所有用户行为数据通过网关进行数据埋点,并通过消息队列(MQ)发送到InfluxDB进行存储。具体流程如下:

  • 网关数据埋点:在网关处捕获用户的所有请求和响应。
  • MQ消息发送:将这些行为数据通过消息队列发送到InfluxDB。
  • InfluxDB存储:最终保存日志数据到InfluxDB的log measurement中。

2. 数据清洗

为了统计30日活跃用户数趋势,需要对存储在InfluxDB中的用户行为数据进行清洗和统计。具体步骤如下:

  • 定时任务:使用XXL-JOB定时任务框架,设定每天的特定时间点(如01:00, 08:00, 13:00, 18:00, 23:00)执行数据清洗任务。
  • 查询统计
    • 如果当前时间在0-6点之间,统计昨天的日志数据。
    • 如果已经存在当天的统计数据,则移除重新统计。
    • 查询log表中当天的user_id去重后的总个数,得到当天的总活跃用户数。
    • 查询log表中请求地址包含register-user且响应状态码为200的记录总数,得到新注册活跃用户总数。
    • 计算旧的活跃用户总数 = 总活跃数 - 新注册活跃用户总数。
  • 保存结果:将统计结果保存到MySQL的tab_dau表中。

3. 数据展示

在管理后台中,通过point-web模块提供的数据接口获取用户行为统计数据并展示。具体步骤如下:

  • 前端界面:使用图表(如折线图)展示30日活跃用户数趋势,并同时展示环比上周、环比上期、30日合计、日均值等信息。
  • 后端接口:通过point-web模块提供的RESTful API接口获取统计数据。
  • 数据请求:使用F12工具查看请求地址信息,确保前后端交互正常。

4. 技术组件

  • InfluxDB:用于高效存储和查询时间序列数据。
  • XXL-JOB:用于定时任务调度,执行数据清洗和统计任务。
  • MQ(消息队列):用于异步传输数据,保证系统的高可用性和性能。
  • MySQL:用于长期存储统计数据,便于后续查询和展示。
  • Spring Boot:用于构建后端服务,管理InfluxDB连接和数据操作。
  • 前端框架:如Vue.js或其他前端框架,用于构建可视化界面。

5. 实现细节

  • 数据清洗SQL
    SELECT COUNT(DISTINCT(user_id)) as user_id 
    FROM log 
    WHERE time > #{begin} AND time < #{end};
    
  • 新用户统计
    SELECT COUNT(*) as new_users 
    FROM log 
    WHERE time > #{begin} AND time < #{end} 
    AND request_path LIKE '%register-user%' 
    AND response_status = 200;
    

6. 测试验证

  • 定时任务执行:在XXL-JOB管理控制台中手动触发用户日活跃数任务,检查tab_dau表中是否有新的统计数据。
  • 前端页面更新:刷新管理后台页面,确认30日活跃用户数趋势图表是否更新显示最新的统计数据。

通过以上步骤和技术组件的配合,实现了高效、准确的30日活跃用户数趋势数据看板。


数据看板的实现过程是:通过网关捕获用户行为数据并经由消息队列发送至InfluxDB存储;使用XXL-JOB定时任务框架定期清洗和统计InfluxDB中的数据,将结果保存到MySQL中;最后,通过point-web模块提供的API接口获取统计数据并在前端以图表形式展示,从而实现30日活跃用户数趋势的可视化。


http://www.dtcms.com/a/188774.html

相关文章:

  • Spring Boot 自动装配原理详解
  • Cascadeur2025如何无限制导出FBX文件
  • 无偿帮写服务器配置|限时30天|名额100
  • 聊聊JetCache的CachePenetrationProtect
  • Xianyu AutoAgent,AI闲鱼客服机器人
  • 深度学习的相关术语介绍(杂乱版-想到啥介绍啥)
  • uniapp-商城-56-后台 新增商品(弹窗属性继续分析)
  • UDP--DDR--SFP,FPGA实现之指令监测模块实现
  • 专题二:二叉树的深度搜素(二叉树的所有路径)重点理解回溯算法的”恢复现场“
  • 在VSCode中接入DeepSeek的指南
  • 携固态电池、新形态钢壳叠片电池等产品 豪鹏科技将亮相CIBF 2025
  • 【HarmonyOS】ArkTS开发应用的横竖屏切换
  • 智能工厂MES系统示例
  • Java大师成长计划之第21天:Spring Boot快速入门
  • TCP协议十大核心特性深度解析:构建可靠传输的基石
  • c语言第一个小游戏:贪吃蛇小游戏08(贪吃蛇完结)
  • ros2-node
  • Win11 + Visual Studio 2022 + FLTK 1.4.3 + Gmsh 4.13.1 源码编译指南
  • Ubuntu 18.04.6下OpenSSL与OpenSSH版本升级
  • 2025-05-13 Unity 网络基础12——大小端模式
  • 项目中遇到的问题
  • WSL 安装 Debian 12 后,Linux 如何安装 vim ?
  • AI时代,如何实现人机共舞?
  • 计算机网络防火墙技术介绍:包过滤、应用代理网关、状态监测
  • c# 数据结构 树篇 入门树与二叉树的一切
  • 最大子段和(递推)
  • 物理:人的记忆是由基本粒子构成的吗?
  • 【AI News | 20250513】每日AI进展
  • Ubuntu 22.04搭建OpenStreeMap地址解析服务(保姆级教程)
  • 跨境电商定价革命:亚马逊“逆向提价“策略背后的价值重构逻辑