(本文档仅供参考)
说明
本文档介绍smartbi相关版本的前后端技术、主要架构等。
技术
版本 | 前端技术 | 后端技术 | 备注 |
---|---|---|---|
V7以上版本 | 主要是echarts、html5以及我们自行研发的前端框架 | 主要是spring、hibernate,lucene,ehcache,quartz,rhino | |
自助仪表盘功能 | 主要是ES6 (也叫ES2015) + Webpack + NodeJS (含npm) + Vue (含VueRouter、Vuex、ElementUI) + jQuery +ECharts等 |
加密算法
在Smartbi系统中,涉及到一些加密部分(如:密码、授权文件封),使用到如下的加密算法:
(1)MD5加密算法(用于登陆密码加密)
(2)DES加密算法(用于登陆密码加密)
(3)base64 (用于对参数进行base64编码,严格意义上并非是smartbi使用的加密算法)
架构
展现层 | Vue2.6.10 | 自研JavaScript框架 | HTML/CSS |
控制层 | 自研servlet | Spring MVC 4.3.25 | |
逻辑层 | https://history.wiki.smartbi.com.cn/pages/viewpage.action?pageId=56694927 | ||
服务层 | spring2.6以及4.3.25 | ||
持久层 | hibernate3.2.1 | ||
数据层 | MySQL5.7.25 | clickhouse19.4.7 | persto0.218 |
使用到的关键技术
名称 | 版本 | 用途 |
JDK | 1.8 | Java运行环境 |
SpringBoot | ||
Python | Python 3.7.4 | 逻辑应用层:数据挖掘python扩展 |
Vue | 2.6.10 | 展现层 |
Bert | 逻辑应用层:自然语言查询 | |
Quartz | 1.8.6 | 逻辑应用层:计划任务的调度 |
Lucene | 2.4.0及2.9.4 | 逻辑应用层:全文检索 |
Log4j | 2.8.2 | 逻辑应用层:系统日志 |
Ehcache | 1.7.0 | 逻辑应用层:元数据缓存 |
Redis | 3.1.0 | 逻辑应用层:会话缓存 |
Mondrian | 9.2.0 | 逻辑应用层:数据模型查询引擎 |
Spark | 3.1.3 | 逻辑应用层:ETL |
Presto | 0.218 | 逻辑应用层:跨库查询 |
ClickHouse | 0.3.1 | 逻辑应用:高速缓存库 |
SparkML | 3.1.3 | 逻辑应用层:机器学习 |
Spring MVC | 4.3.25 | 控制层及服务层框架 |
Hibernate | 3.2.1.ga (V模块) 5.6.2.Final (X模块) | 持久层 |