15 KiB
15 KiB
系统架构文档
1. 概述
本项目是一个综合性的畜牧业数字化管理平台,主要面向锡林郭勒盟地区的养殖产业,包含官网展示、后台管理、移动端小程序、大屏可视化等多个子系统。平台集成了养殖管理、金融服务(银行监管、保险监管)、政府监管、牛只交易、牛肉商城、数据分析等功能模块,旨在通过数字化手段提升整个产业链的管理效率和透明度。
2. 技术栈
2.1 前端技术栈
- 官网首页: HTML5 + CSS3 + JavaScript
- 后台管理系统: Vue.js 3 + TypeScript + Ant Design Vue + Pinia
- 大屏可视化系统: Vue.js 3 + ECharts + 自定义可视化组件
- 微信小程序矩阵: 微信小程序原生开发 + uni-app
2.2 后端技术栈
- API服务: Node.js + Express.js + TypeScript + RESTful API
- 数据库: MySQL
- 缓存系统: Redis
- 消息队列: RabbitMQ(用于异步处理)
- 文件存储: 腾讯云对象存储
- 实时通信: WebSocket(用于大屏数据推送和实时通知)
2.3 数据库配置
2.3.1 测试环境
- 主机:
192.168.0.240(MySQL主机地址) - 端口:
3306(MySQL端口) - 用户名:
root - 密码:
aiot$Aiot123 - 数据库:
xlxumudata
2.3.2 生产环境
- 主机:
129.211.213.226 - 端口:
9527(端口号) - 用户名:
root - 密码:
aiotAiot123! - 数据库:
xlxumudata
2.4 安全架构
- 身份认证: JWT (JSON Web Tokens)
- 权限管理: 基于角色的访问控制 (RBAC)
- 数据传输: HTTPS 加密传输
- API防护: 接口限流、参数校验、防SQL注入等
- 密码安全: BCrypt加密存储
- 操作审计: 用户操作日志记录和审计
2.5 数据架构
- 实时数据采集: IoT设备数据接入
- 数据处理: ETL数据处理流程
- 数据存储: 分层数据存储(操作数据、历史数据、统计数据)
- 大数据分析: 数据分析引擎
- 智能预警: 基于规则的预警系统
- 可视化展示: 图表化数据展示平台
3. 系统架构图
为了更直观地展示系统架构,我们提供了一个可视化的系统架构图:
图中展示了以下主要层次和组件:
- 用户接入层:包括官网首页、专业管理系统和微信小程序矩阵
- API服务层:基于Node.js的各个业务模块API服务
- 数据处理与存储层:包括关系数据库、缓存系统、消息队列、文件存储和日志存储
- 数据分析与展示层:包含大数据分析引擎、智能预警系统、可视化平台和实时数据推送
- 监控与日志层:应用性能监控、服务器资源监控、日志收集与分析以及异常告警
- 部署架构层:容器化部署、负载均衡、自动化部署和容灾备份
此外,图中还展示了各组件之间的连接关系和数据流向。
4. 前端系统架构
4.1 官网首页系统
- 纯HTML5、CSS3、JavaScript实现
- 响应式设计,适配多种设备
- 突出锡林郭勒盟地域元素和蒙古族文化特色
- 绿色草原主题风格
- 集成Chart.js实现数据可视化展示
- 通过官网API获取新闻资讯和统计数据
4.2 专业管理系统
4.2.1 养殖管理系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
功能模块
- 牛只档案管理
- 饲养记录管理
- 繁殖管理
- 环境监测数据展示
- 健康监测管理
- 生产计划制定和执行跟踪
4.2.2 银行监管系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
功能模块
- 贷款申请和审批流程管理
- 质押物(牛只)状态监控
- 还款计划跟踪
- 风险评估数据展示
- 财务报表生成
- 风控管理
4.2.3 保险监管系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
功能模块
- 保险投保管理
- 理赔申请和处理流程
- 风险评估和预警
- 保险记录查询
- 数据统计分析
4.2.4 政府监管平台
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
功能模块
- 产业数据总览
- 各类监管数据汇总
- 政策发布和通知
- 合规性检查
- 统计报表生成
- 用户管理(集中式用户权限管理)
- 系统配置管理
4.2.5 活牛交易系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
功能模块
- 牛只信息发布和展示
- 在线交易撮合
- 合同管理
- 支付流程管理
- 交易记录查询
- 商户管理
- 行情管理
4.2.6 商城管理系统
- 基于Vue.js 3 Composition API
- 使用Ant Design Vue组件库
- 状态管理采用Pinia
- TypeScript增强代码可维护性
功能模块
- 商品信息管理
- 库存管理
- 订单处理
- 物流跟踪
- 售后服务管理
- 营销管理
4.2.7 大屏可视化系统
- 基于Vue.js 3 Composition API
- 使用ECharts和自定义可视化组件
- 状态管理采用Pinia
- TypeScript增强代码可维护性
- WebSocket实现实时数据推送
功能模块
- 产业概览
- 养殖监控
- 金融服务
- 交易统计
- 运输跟踪
- 风险预警
- 生态指标
- 政府监管
4.3 微信小程序矩阵
- 使用微信小程序原生开发框架
- 跨平台支持采用uni-app
- 包含8个专门的小程序应用
4.3.1 牛肉商城小程序(消费者端)
- 商品浏览和搜索
- 在线下单和支付
- 订单查询和跟踪
- 售后服务申请
- 认养功能:用户可以认养特定牛只,跟踪其成长过程
4.3.2 养殖管理小程序(牧民端)
- 移动端牛只档案查看
- 饲养记录录入
- 健康状况上报
- 通知消息接收
- 数据统计查看
4.3.3 银行监管小程序(银行端)
- 移动端贷款审批
- 质押物状态查看
- 风险数据监控
- 移动办公支持
4.3.4 保险监管小程序(保险端)
- 移动端保险处理
- 理赔流程管理
- 风险评估查看
- 移动查勘支持
4.3.5 活牛交易小程序(交易员端)
- 活牛信息发布
- 在线交易撮合
- 合同查看和管理
- 交易记录查询
- 支付状态跟踪
4.3.6 政府监管小程序(监管人员端)
- 防疫任务执行
- 补贴申请审核
- 政策信息查看
- 监管数据上报
4.3.7 数据中台小程序(数据人员端)
- 数据查询和导出
- 统计报表查看
- 数据服务申请
4.3.8 AI能力小程序(养殖户/兽医端)
- 牛只体况评估
- 饲料配方推荐
- 智能诊断辅助
5. 后端系统架构
5.1 API服务层
- 基于Node.js和Express.js构建
- 使用TypeScript增强代码健壮性
- RESTful API设计风格
- JWT身份认证机制
- 微服务架构设计(按业务模块划分)
5.1.1 养殖管理API (/api/v1/farming)
- 牛只档案管理
- 饲喂记录
- 防疫管理
- 繁殖管理
5.1.2 金融服务API (/api/v1/finance)
- 贷款申请
- 保险购买
- 理赔处理
- 贷款审批
5.1.3 政府监管API (/api/v1/gov)
- 防疫任务下发
- 补贴发放
- 检疫监管
- 任务状态跟踪
5.1.4 交易管理API (/api/v1/trades)
- 商品发布/下架
- 订单创建/支付
- 物流跟踪
- 订单状态查询
5.1.5 商城管理API (/api/v1/mall)
- 商品管理
- 订单处理
- 库存管理
- 用户评价
5.1.6 数据中台API (/api/v1/data)
- 数据血缘追踪
- 接口调用分析
- 数据质量监控
5.1.7 AI能力API (/api/v1/ai)
- 牛只体况评估
- 饲料配方推荐
- 智能诊断辅助
5.1.8 用户中心API (/api/v1/users)
- 用户注册/登录/注销
- 个人信息管理
- 权限控制
5.1.9 官网API (/api/v1/website)
- 新闻资讯管理
- 平台数据展示
- 用户留言处理
- 平台信息配置
5.1.10 大屏可视化API (/api/v1/dashboard)
- 实时数据展示(支持 WebSocket)
- 历史数据查询(支持分页和排序)
- 数据可视化配置(增删改查)
- 告警信息推送(订阅/取消订阅)
- 数据导出(CSV/JSON 格式)
5.2 数据存储层
- 主数据库:MySQL关系型数据库
- 缓存系统:Redis(用于会话缓存、数据缓存)
- 消息队列:RabbitMQ(用于异步任务处理)
- 文件存储:腾讯云对象存储服务
- 日志存储:Elasticsearch(用于日志分析)
5.3 安全架构
- 基于JWT的无状态认证
- RBAC角色权限管理系统(集中式用户管理)
- HTTPS加密传输
- API接口安全防护(限流、防注入等)
- 数据加密存储(BCrypt等)
- 操作日志审计
5.4 数据分析层
- 实时数据采集系统(IoT设备数据、用户行为数据)
- 大数据分析引擎
- 智能预警系统
- 数据可视化展示平台
6. 项目结构
.
├── frontend/ # 前端项目
│ ├── website/ # 官网首页
│ ├── farming-management/ # 养殖管理系统
│ ├── bank-supervision/ # 银行监管系统
│ ├── insurance-supervision/ # 保险监管系统
│ ├── government-platform/ # 政府监管平台
│ ├── cattle-trading/ # 活牛交易系统
│ ├── mall-management/ # 商城管理系统
│ ├── dashboard/ # 大屏可视化系统
│ └── mini-programs/ # 微信小程序矩阵
│ ├── beef-mall/ # 牛肉商城小程序
│ ├── farming-manager/ # 养殖管理小程序
│ ├── bank-supervision/ # 银行监管小程序
│ ├── insurance-supervision/ # 保险监管小程序
│ ├── cattle-trading/ # 活牛交易小程序
│ ├── gov-supervision/ # 政府监管小程序
│ ├── data-platform/ # 数据中台小程序
│ └── ai-capabilities/ # AI能力小程序
├── backend/ # 后端项目
│ ├── api/ # API服务
│ │ ├── farming/ # 养殖管理API
│ │ ├── finance/ # 金融服务API
│ │ ├── government/ # 政府监管API
│ │ ├── trade/ # 交易管理API
│ │ ├── mall/ # 商城管理API
│ │ ├── data-platform/ # 数据中台API
│ │ ├── ai/ # AI能力API
│ │ ├── website/ # 官网API
│ │ └── user-center/ # 用户中心API
│ ├── database/ # 数据库脚本
│ ├── utils/ # 工具函数
│ └── services/ # 微服务模块
├── docs/ # 文档
└── deployment/ # 部署相关配置
7. 用户权限管理架构
7.1 集中式用户管理
- 所有用户信息统一在政府监管平台进行管理
- 各子系统仅负责登录验证和部分权限校验
- 实现统一的RBAC权限模型
- 通过用户中心API进行统一认证和授权
7.2 权限体系
- 基于角色的访问控制(RBAC)
- 支持多角色分配
- 细粒度权限控制(菜单权限、操作权限、数据权限)
- 权限继承机制
7.3 用户角色
- 超级管理员
- 政府监管员
- 银行信贷员
- 保险专员
- 交易管理员
- 商城管理员
- 养殖户
- 普通用户
- 数据分析师
- 系统审计员
8. 大屏可视化系统架构
8.1 系统概述
大屏可视化系统是本项目的重要组成部分,主要用于展示锡林郭勒盟智慧养殖产业的整体数据、实时监控信息和分析结果。通过直观的图表和数据可视化方式,为管理者提供全面的产业洞察。
8.2 技术实现
- 前端框架: Vue.js 3 + ECharts + 自定义可视化组件
- 可视化库: Apache ECharts + D3.js
- 响应式设计: 支持多种大屏比例(16:9, 4:3等)
- 实时数据: WebSocket实时数据推送
- 性能优化: 虚拟滚动、数据分页等技术
8.3 功能模块
- 产业概览: 展示整体产业规模、产值、增长率等关键指标
- 养殖监控: 实时展示各牧场的养殖情况、环境数据
- 金融服务: 展示贷款、保险等金融服务数据
- 交易统计: 牛只交易量、价格趋势、区域分布等数据
- 运输跟踪: 牛只运输实时状态和路径展示
- 风险预警: 风险事件展示和预警信息推送
- 生态指标: 环保数据、可持续发展指标展示
- 政府监管: 展示政府监管相关数据和政策执行效果
8.4 设计特色
- 融入锡林郭勒盟草原绿色主题
- 采用蒙古族文化元素的UI设计
- 支持多维度数据钻取和交互
- 通过大屏可视化API获取实时和历史数据
9. 系统集成架构
9.1 外部系统集成
- 银行系统对接
- 政府监管平台对接
- 第三方系统集成(LDAP/AD、OAuth2.0等)
- 物联网设备集成(MQTT/CoAP协议)
- 云服务集成(腾讯云COS、短信服务等)
9.2 数据交换机制
- RESTful API接口
- 消息队列异步处理
- 文件传输
- 数据库同步
10. 性能优化策略
10.1 前端优化
- 代码分割和按需加载
- 图片懒加载和压缩
- CDN加速静态资源
- 浏览器缓存策略
- 虚拟滚动处理大数据量展示
- CDN加速静态资源
- 浏览器缓存策略
- 虚拟滚动处理大数据量展示
10.2 后端优化
- 数据库索引优化
- API响应缓存(Redis)
- 数据库连接池
- 负载均衡部署
- 异步任务处理(RabbitMQ)
11. 系统监控与日志
11.1 监控系统
- 应用性能监控(APM)
- 服务器资源监控(CPU、内存、磁盘等)
- 数据库性能监控
- 网络监控
- 业务指标监控
11.2 日志系统
- 统一日志格式
- 日志分级管理(DEBUG、INFO、WARN、ERROR)
- 日志收集与分析(ELK Stack)
- 日志存储策略
- 异常日志告警
12. 部署架构
12.1 开发环境
- 本地开发服务器
- 热重载功能
- 代理配置解决跨域问题
12.2 生产环境
- Nginx反向代理服务器
- 负载均衡配置
- SSL证书配置
- 日志收集和监控系统
- 容器化部署(Docker)
- 自动化部署(CI/CD)
13. 容灾与备份策略
13.1 数据备份
- 定时全量备份
- 增量备份机制
- 备份数据异地存储
- 备份恢复演练
13.2 系统容灾
- 多节点部署
- 故障自动切换
- 数据同步机制
- 灾难恢复预案