java数据可视化平台初步构想

平台架构

权限系统-负责后台用户权限

后台管理系统(oss)-负责后台运营配置相关操作

前端展示-可视化页面展示相关处理

 

模块划分

第三方平台数据接入:文件管理允许用户上传csv格式,api接口实现第三方数据录入。

项目管理:不同区域的项目,可视化权限独立、可视化模板单独定制、数据隔离,以项目为维度展示数据

系统管理:实现资源-用户-角色等权限控制

组件管理:用户通过组件管理功能创建、编辑等操作,实现数据与组件绑定。

数据发布:可视化大屏模板配置、数据配置、模板保存、数据发布

 

流程

可视化数据挖掘、采集->存储层mysql数据存储->可视化大屏模板设计->模板组件配置

->数据配置使用sql语句->关联组件与数据入库存储->模板保存->模板发布->生成可视化大屏url

 

技术实现

shiro:用户-角色-菜单权限控制

mysql:数据存储

redis/ehcache:数据缓存优化

springboot:项目快速构建,集成,部署

百度echarts3.0:数据可视化呈现

swagger:接口文档发布

前后端分离架构:后台直接封装返回echarts要求的option数据

cas:实现不同项目单点登录实现

 

关键表结构梳理

项目表:项目id 项目名称 项目描述

组件表:组件id 组件类型 组件名称 

大屏表:大屏id 大屏名称 大屏描述 项目id 创建者 创建时间

大屏组件信息表:组件信息id 大屏id 排序 组件类型 组件样式(json)

大屏sql信息表: sql信息id 大屏id 排序

 

权限相关表

用户表

角色表

资源

用户与角色关系表

角色与资源关系表

 

第三方数据处理

支持csv、api->根据第三方提供的表名、以及数据列名->创建第三方数表->导入数据->后续流程跟现有数据一致

 

问题

需同时支持报表筛选过滤,分页处理,个人感觉比较麻烦

数据已前后端分离,是否大屏发布时,怎么生成大数据展示url发布。前台只负责渲染数据,是否也可将前台当做一个渲染模板配合,在后台。后台渲染地址也是可配置的。

该方案生成可视化展示,操作人员需要懂sql语法,有一定门槛

 

java大屏展示项目框架 用java实现数据可视化大屏_ViewUI

 

实现步骤

1.shiro共用权限平台设计与实现