技术架构详解
Ricon组态系统采用现代化的Web技术架构,具有高性能、高可用、易扩展的特点。
🏗️ 架构设计
整体架构
┌─────────────────────────────────────────────────────────────┐
│ 展示层 (Presentation) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Editor │ │ Preview │ │ View │ │ Client │ │
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
└───────┼────────────┼────────────┼────────────┼─────────────┘
│ │ │ │
┌───────▼────────────▼────────────▼────────────▼─────────────┐
│ 应用层 (Application) │
│ ┌─────────────────────────────────────────────────────┐ │
│ │ ModuleManager │ StageOperation │ StageView │ │
│ │ ConfigCenter │ InitManager │ CoreInit │ │
│ └─────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
│ │ │ │
┌───────▼────────────▼────────────▼────────────▼─────────────┐
│ 通信层 (Communication) │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │WebSocket │ │ MQTT │ │ HTTP │ │ REST │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────────────────────────────────────────┘
│
┌───────▼─────────────────────────────────────────────────────┐
│ 数据层 (Data) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ 场景数据 │ │ 设备数据 │ │ 历史数据 │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ │
└─────────────────────────────────────────────────────────────┘
🚀 核心模块
1. 模块管理器 (ModuleManager)
- 动态模块加载
- 模块依赖管理
- 按需加载优化
2. 场景操作核心 (StageOperation)
- 组件创建和销毁
- 图层管理
- 撤销/恢复系统
- 场景导入/导出
3. 场景视图渲染 (StageView)
- Konva画布渲染
- 组件属性更新
- 动画效果处理
- 数据绑定更新
4. 配置中心 (ConfigCenter)
- 统一配置管理
- 动态配置加载
- 配置热更新
5. 初始化管理器 (InitManager)
- 模块初始化顺序
- 依赖关系管理
- 错误处理
🔧 技术栈
核心框架
| 技术 | 版本 | 用途 |
|---|---|---|
| Konva.js | 5.x | 2D画布渲染引擎 |
| Layui | 2.x | 前端UI框架 |
| jQuery | 3.x | DOM操作 |
| ECharts | 5.3.2 | 数据可视化 |
第三方库
| 库 | 用途 |
|---|---|
| zTree v3 | 树形控件 |
| art-template | 模板引擎 |
| CodeMirror 5 | 代码编辑器 |
| Font Awesome 4.7 | 图标库 |
| Video.js | 视频播放器 |
⚡ 性能优化
渲染优化
- Canvas 2D渲染 - 使用Konva.js实现高性能画布
- 图层分组 - 减少重绘区域
- 脏区域更新 - 只更新变化的区域
- requestAnimationFrame - 优化动画性能
资源优化
- 动态模块加载 - 按需加载组件模块
- 异步资源加载 - 优化首屏加载速度
- 图片缓存 - 复用图片资源
- 懒加载 - 延迟加载非关键资源
内存管理
- 资源跟踪 - 监控组件创建和销毁
- 事件清理 - 及时移除事件监听器
- 引用管理 - 避免内存泄漏
- 垃圾回收 - 主动清理无用对象
🔒 安全防护
XSS防护
- 输入验证和清理
- HTML转义处理
- 内容安全策略(CSP)
CSRF防护
- 令牌验证机制
- 同源策略检查
- 请求来源验证
数据安全
- HTTPS加密传输
- 敏感数据脱敏
- 权限控制验证
📡 API接口设计
接口规范
- RESTful风格设计
- JSON数据格式
- 统一错误码
- 标准响应格式
场景管理接口
| 接口 | 方法 | 说明 |
|---|---|---|
/api/saveStage |
POST | 保存场景 |
/api/selectStageById |
GET | 查询场景 |
/api/stageList |
GET | 场景列表 |
/api/deleteStage |
DELETE | 删除场景 |
数据交互接口
| 接口 | 方法 | 说明 |
|---|---|---|
/api/stageData |
GET | 查询场景数据 |
/api/stageCommand |
POST | 发送控制命令 |
/api/historyData |
GET | 查询历史数据 |
WebSocket接口
- 连接地址 :
ws://host:port/ws - 心跳间隔: 30秒
- 重连机制: 自动重连
📁 项目结构
ricon/
├── editor.html # 编辑器入口
├── preview.html # 预览页面
├── view.html # 监控页面
├── assets/
│ ├── css/ # 样式文件
│ ├── js/ # JavaScript
│ │ ├── core/ # 核心模块
│ │ ├── modules/ # 业务模块
│ │ └── libs/ # 第三方库
│ ├── images/ # 图片资源
│ ├── json/ # 组件配置
│ └── template/ # 模板文件
├── modules/ # 编辑模块
│ └── edit/ # 组件编辑
├── pages/ # 页面组件
│ ├── config/ # 配置页面
│ ├── edit/ # 编辑页面
│ ├── select/ # 选择页面
│ ├── upload/ # 上传页面
│ └── view/ # 视图页面
└── config/ # 系统配置
├── echart/ # 图表配置
├── examples/ # 示例场景
├── init.json # 初始化配置
└── apiClient.js # API客户端
🎯 部署方案
前端部署
nginx
server {
listen 80;
server_name your-domain.com;
root /var/www/html/ricon;
index editor.html;
location / {
try_files $uri $uri/ /editor.html;
}
# 跨域支持
add_header Access-Control-Allow-Origin *;
add_header Access-Control-Allow-Methods "GET, POST, OPTIONS";
add_header Access-Control-Allow-Headers "DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range,Authorization";
}
系统配置
javascript
var initjson = {
serviceIpPort: 'http://api.ricon.cloud:8080',
wsUrl: 'ws://api.ricon.cloud:8080/ws',
mqttUrl: 'ws://mqtt.ricon.cloud:9001',
};
📊 性能指标
| 指标 | 目标值 | 实际值 |
|---|---|---|
| 首屏加载时间 | < 3s | ~2.5s |
| WebSocket延迟 | < 100ms | ~50ms |
| 组件渲染帧率 | 60fps | 60fps |
| 并发连接数 | 1000+ | 支持 |
| 内存占用 | < 500MB | ~300MB |
🏆 技术优势
对比传统组态软件
| 特性 | Ricon组态 | 传统组态 |
|---|---|---|
| 部署方式 | Web浏览器 | 客户端安装 |
| 跨平台 | 全平台支持 | 依赖特定系统 |
| 更新方式 | 自动更新 | 手动升级 |
| 维护成本 | 低 | 高 |
| 扩展性 | 强 | 有限 |
| 响应速度 | 毫秒级 | 秒级 |
核心竞争力
- 零客户端安装 - 打开浏览器即可使用
- 实时数据更新 - WebSocket毫秒级推送
- 丰富组件库 - 50+工业组件
- 灵活配置 - JSON声明式配置
- 高扩展性 - 模块化架构设计
- 企业级安全 - 多重安全防护
立即体验
👉 演示地址 : http://www.ricon.cloud:81
🌐 官网地址 : http://www.ricon.cloud