智析视界项目

一、概述

        在传统的数据分析平台中,如果我们想要分析近一年网站的用户增长趋势,通常需要手动导入数据,选择要分析的字段和图表,并由专业的数据分析师完成分析,最后得出结论。然而,本次设计的项目与传统平台有所不同。在这个项目中,用户只需要输入想要分析的目标,并上传原始数据,系统将利用AI自动生成可视化图标和学习的分析结论。这样,即使是对数据一窍不通的人也能轻松使用该系统。

二、介绍

问:什么是BI?

答:即商业智能(数据可视化、报表可视化系统)

传统BI平台需要按照以下步骤:

  • 1.手动上传数据
  • 2.手动选择分析所需要的数据行和列(由数据分析师完成)
  • 3.需要手动选择所需的图表类型(由数据分析师完成)
  • 4.生成图表并保存配置

 在本项目所设想的智能BI平台:

        与传统的BI不同,我们的解决方案允许用户(数据分析者)仅需导入最最最原始的数据集并输入分析目标(例如网站增长趋势),即可利用AI自动生成符合要求的图表和结论,从而显著提高分析效率。

三、项目准备

前端开发:

  • nodejs
  • WebStorm

后端开发:

  • java
  • maven
  • idea

其他:

  • mysql
  • redis
  • yarn
  • git

注意:该项目用到的nodejs版本要大于16.14且小于18

 四、需求分析

  1. 智能分析:用户输入目标和原始数据(图表类型),可以自动生成图表和分析结论
  2. 图表管理(增删改查)
  3. 图表生成的异步化(消息队列)
  4. 对接AI能力

五、架构图

基础流程:客户端输入分析诉求和原始数据,向业务后端发送请求。业务后端利用AI服务处理客户端数据,保存到数据库并生成图表。处理后的数据由业务后端发送给AI服务,AI服务生成结果并返回给后端,最终将结果返回给客户端展示。

缺图

上图的流程会出现一个问题:

假设一个AI服务生成图表和分析结果要等50秒,如果有大量用户需要生成图表,每个人都需要等待50秒,那么AI服务可能无法承受这种压力。为了解决这个问题,可以采用消息队列技术。

这类似与在餐厅点餐时,为了避免顾客排队等待,餐厅会给顾客一个取餐号码,让顾客可以先去坐下或做其他事情。等到餐厅叫到他们的号码时再去领取餐点,这样就能节省等待时间。

同样地,通过消息队列,用户可以提交生成图表的请求,这些请求会进入队列,AI服务会依次处理队列中的请求,从而避免了同时处理大量请求造成的压力,同时也能更好地控制资源的使用。

优化流程(异步化):客户端输入分析诉求和原始数据,向业务后端发送请求。业务后端将请求事件放入消息队列,并为客户端生成取餐号,让要生成图表的客户端去排队,消息队列根据AI服务负载情况,定期检查进度,如果AI服务还能处理更多的图表生成请求,就向任务处理模块发送消息。

缺图 

六、技术栈

前端:

  1. react
  2. 开发框架 Umi + Ant Design Pro
  3. 可视化开发库(Echarts + HightCharts + AntV)<可视化会涉及到图表的生成>
  4. umi openapi 代码生成(自动生成后端调用代码)<前后联调开发>

后端:

  1. Spring Boot(使用开发模板,快速搭建基础框架,避免重复写代码)
  2. MySql数据库
  3. MyBatis Plus数据访问框架
  4. 消息队列&#x
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值