平臺架構前端
權限系統-負責後臺用戶權限java
後臺管理系統(oss)-負責後臺運營配置相關操做mysql
前端展現-可視化頁面展現相關處理redis
模塊劃分spring
第三方平臺數據接入:文件管理容許用戶上傳csv格式,api接口實現第三方數據錄入。sql
項目管理:不一樣區域的項目,可視化權限獨立、可視化模板單獨定製、數據隔離,以項目爲維度展現數據json
系統管理:實現資源-用戶-角色等權限控制後端
組件管理:用戶經過組件管理功能建立、編輯等操做,實現數據與組件綁定。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語法,有必定門檻
實現步驟
1.shiro共用權限平臺設計與實現