当前位置: 首页 > 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日活跃用户数趋势的可视化。


相关文章:

  • 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——大小端模式
  • 体坛联播|安切洛蒂执掌巴西男足,字母哥尝试离开雄鹿
  • 从这些电影与影像,看到包容开放的上海
  • 北美票房|昔日偶像风光不再,乔什·哈内特新片开画不佳
  • 湖北宜昌:在青山绿水间解锁乡村振兴“密码”
  • 国家发改委:美芯片药品等领域关税影响全球科技发展,损害人类共同利益
  • 体坛联播|曼联热刺会师欧联杯决赛,多哈世乒赛首日赛程出炉