fujian_water_biz_doc/output/water_biz_system_architecture_processed.md

13 KiB
Raw Blame History

title, author, date, documentclass, geometry, fontsize, mainfont, CJKmainfont
title author date documentclass geometry fontsize mainfont CJKmainfont
water_biz_system_architecture 系统设计团队 2024年12月19日 article margin=1in 11pt PingFang SC PingFang SC

福建水务营收系统架构设计文档

文档信息

项目信息 详情
项目名称 福建水务营收系统
文档类型 概要设计文档
技术框架 RuoYi-Vue-Pro + yudao-ui-admin-vue3
文档版本 v1.0
编写日期 2024-12-19
文档状态 已完成

目录

系统架构概述

福建水务营收系统采用多层架构设计,旨在支持集团化的集中管理、统一资源管理的业务需求。系统架构的设计目标是实现"一个业务平台、一网通平台"的建设目标,为集团及下属各分公司提供统一的营业收费系统。

系统架构主要包括以下核心特点:

  • 多租户架构:支持集团、分公司、营业站点的多层级租户管理模式
  • 统一资源服务:统一的数字水务系统运行资源环境
  • 统一平台应用:统一业务流程,集中汇集数据
  • 统一对外接口:提供标准的接口和能力

系统总体架构图

图表 1

图表 1

物理部署架构图

图表 2

图表 2

技术架构

系统采用B/S和M/S相结合的架构模式基于现代化的技术栈构建。

技术栈总览

图表 3

图表 3

系统数据流向图

图表 4

图表 4

服务端技术架构

系统采用基于RuoYi-Vue-Pro框架的技术架构

  • 操作系统:国产 Linux 操作系统
  • 数据库华为OpenGauss 5.0+数据库,企业级国产数据库
  • 应用框架基于RuoYi-Vue-Pro框架定制开发
    • 核心框架Spring Boot 3.x支持JDK 17/21
    • ORM框架MyBatis Plus增强的MyBatis
    • 权限框架Spring Security基于RBAC的权限管理
    • 数据缓存Redis + Redisson高性能缓存和分布式锁
    • 工作流引擎Flowable灵活的工作流处理
    • 任务调度基于Quartz的CRON任务调度
    • 服务监控Spring Boot Admin、SkyWalking APM
    • 消息队列基于Redis的轻量级消息队列
    • 文档生成Knife4j基于Swagger的API文档生成
    • 代码生成自动化CRUD和表单代码生成器
    • 多租户基于字段隔离的SaaS多租户设计

客户端技术架构

Web管理端架构 (yudao-ui-admin-vue3)

核心技术组成:

  • Vue 3.x + TypeScript现代化前端框架
  • Element Plus企业级UI组件库
  • Pinia新一代状态管理
  • Vue Router路由管理
  • AxiosHTTP请求库
  • ECharts数据可视化图表
  • Vite快速构建工具

架构特点:

  • 基于Composition API的组件开发模式
  • TypeScript提供类型安全保障
  • 模块化的项目结构设计
  • 响应式的状态管理机制
  • 统一的HTTP请求封装
  • 完善的权限控制体系

移动端架构 (uni-app)

技术栈组成:

图表 5

图表 5

技术特性

  • 单点登录OAuth2 + JWT实现统一认证
  • 数据交换基于RESTful API的系统内部数据交换与共享
  • 统一报表平台集成JimuReport支持自定义报表设计与生成
  • 大屏设计集成GoView支持可视化大屏设计
  • 安全保障:满足安全等保三级要求
    • 密码加密BCrypt加密算法
    • 防XSS攻击表单数据过滤
    • 防SQL注入参数化查询
    • 防CSRF攻击Token验证
  • 性能规格支持200并发用户50并发移动设备系统响应时间不超过3秒
  • 扩展容量支持100万客户的业务量满足企业3-5年的业务发展需求

应用架构

微服务应用架构图

图表 6

图表 6

服务治理架构

图表 7

图表 7

应用模块设计

系统应用架构基于业务域划分,主要包括以下核心应用模块:

统一平台

  • 单点登录:统一认证入口,支持多种登录方式
  • 系统管理:组织机构、员工管理、角色权限管理、菜单配置等
  • 流程节点提醒:工作流节点到期和状态变更提醒

营收系统

  • 系统管理:水价管理、用户档案管理、更名过户管理等
  • 抄表开账:册本管理、抄表录入、复核开账等
  • 收费管理:柜台收费、特殊开账、柜台结账、批量缴费等
  • 账务处理:预存调整、未销调整、已销调整、分账调整等
  • 发票管理:发票查询、发票开具、电子发票等
  • 代收业务:实时收费、银行代扣、银行托收等

客户服务

  • 微信、支付宝服务窗:账户绑定、用水查询、在线缴费等
  • 历史账单:账单查询、用水分析、账单推送等
  • 电子发票:发票申请、发票查询、发票下载等
  • 营业网点:网点查询、网点导航、业务指南等

表务系统

  • 表务工单:换表工单、移表工单、拆表工单、复装工单等
  • 表务仓库:新表入库、水表检定、水表领用、水表出库等
  • 水表参数与基础信息:水表厂家管理、水表型号管理等
  • 物联网对接与数据同步:厂家设备信息管理、远程抄表数据同步等

报装管理

  • 报装流程:报装申请、方案设计、合同签订、施工管理等
  • 一户一表管理:改造计划、改造实施、用户转换等

统计分析

  • 报表查询:标准报表、自定义报表、报表导出打印等
  • 欠费查询:欠费情况统计、欠费用户明细、欠费分析等
  • 缴费记录:缴费情况统计、缴费明细查询、缴费趋势分析等
  • 用水分析:用水量统计、用水趋势分析、异常用水分析等

数据架构

系统数据架构基于客户关系数据库为核心和基础,实现客户全生命周期管理。

OpenGauss数据库架构

主从高可用架构

图表 8

图表 8

分片存储架构

图表 9

图表 9

数据模型设计

  • 客户信息模型:包含客户基础信息、表卡信息、账户信息、联系人信息等
  • 业务数据模型:抄表数据、收费数据、账务数据、发票数据等
  • 工单数据模型:表务工单、报装工单、业务工单等
  • 配置数据模型:系统参数、水表参数、价格体系等
  • 报表数据模型:统计数据、分析数据、预测数据等
  • 物联网数据模型:设备信息、状态信息、实时数据等

数据集成与共享

  • 统一数据标准定义统一的数据标准和数据字典符合OpenGauss规范
  • 数据集成机制采用OpenGauss XA事务实现系统间的数据一致性
  • 数据共享机制基于OpenGauss外部数据包装器(FDW)实现跨库数据访问
  • 数据同步策略支持实时流复制、定时数据同步、批量ETL处理等

OpenGauss特性应用

性能优化特性

  • 向量化执行引擎批量数据处理提升OLAP查询性能30-50%
  • 列存储引擎统计报表类查询压缩比高达10:1
  • 分区表技术:按月份分区存储抄表数据,支持分区裁剪
  • 并行查询:复杂统计查询自动并行执行
  • 智能优化器:自适应查询计划,持续性能优化

企业级特性

  • 在线扩容:支持不停机新增数据节点
  • 故障自愈主备节点故障自动切换RTO < 10秒
  • 读写分离:自动路由读请求到备节点,减轻主库压力
  • 负载均衡:连接池级别的智能负载均衡
  • 全量/增量备份:支持热备份,最小备份粒度到事务级

安全架构

系统安全架构基于OpenGauss数据库的企业级安全特性满足等保三级要求和国产化安全标准

OpenGauss数据安全架构

数据加密安全

图表 10

图表 10

访问控制安全

图表 11

图表 11

网络安全

  • 边界防护:防火墙、入侵检测/防御系统
  • 访问控制:基于角色的访问控制(RBAC)
  • 通信安全SSL/TLS加密传输支持国密算法
  • 安全监控:实时监控网络安全状态和异常访问

数据安全特性

  • 透明数据加密(TDE)自动加密存储数据支持SM4国密算法
  • 行级安全(RLS):基于用户角色的行级数据访问控制
  • 列级权限:敏感字段的精细化访问控制
  • 动态脱敏:查询时自动脱敏显示敏感信息
  • 数据备份安全:备份文件自动加密,支持增量备份
  • 审计日志:完整记录所有数据库操作,支持合规审计

多租户安全隔离

  • 逻辑隔离基于tenant_id的数据隔离
  • 连接隔离:租户间连接池隔离
  • 权限隔离:租户级别的权限管理
  • 资源隔离CPU、内存、IO资源限制

应用安全

  • 身份认证:多因素认证,支持短信验证码、邮箱验证等
  • 授权管理:细粒度的权限控制,支持菜单、按钮、数据权限
  • 安全审计:用户操作审计,关键业务操作全程记录
  • 密码策略:密码复杂度、定期更换、失败锁定等安全策略
  • 会话管理:会话超时、并发限制、单点登录等

接口安全

  • 接口认证基于JWT Token的接口认证
  • 接口授权:基于角色的接口授权和权限验证
  • 接口加密:敏感数据的加密传输,支持国密算法
  • 接口防护防重放、防篡改、防SQL注入等安全措施
  • 接口限流基于IP、用户、应用的多维度限流策略

部署架构

系统采用集中部署的模式,基于集团私有云环境进行部署。

物理部署

  • 生产环境:高可用集群部署
    • 应用服务器2台或以上服务器负载均衡
    • OpenGauss数据库集群:主从+级联备架构,支持自动故障切换
    • 缓存服务器Redis集群
    • 文件服务器:冗余存储
  • 灾备环境异地灾备定期数据同步支持OpenGauss流复制
  • 测试环境用于系统测试和验证单节点OpenGauss部署
  • 开发环境用于系统开发和集成测试单节点OpenGauss部署

逻辑部署

  • 应用服务器集群:负责业务逻辑处理,支持水平扩展
  • OpenGauss数据库集群:负责数据存储和管理,提供高可用保障
  • 文件服务器:负责文档和附件存储,支持分布式存储
  • 缓存服务器Redis集群提高系统性能
  • 负载均衡服务器:实现请求分发和负载均衡
  • 移动应用服务提供移动端API服务
  • API网关:统一的接口管理和控制

容器部署

  • 基于Docker容器技术实现微服务部署
  • 使用Kubernetes进行容器编排和管理
  • 支持容器的自动扩缩容和故障转移
  • 实现服务的灰度发布和版本控制

接口架构

系统提供标准化的接口,实现与外部系统的集成和数据交换。

外部接口

  • 银行接口:实现与银行系统的对接,支持代扣、托收等功能
  • 支付宝/微信接口:支持在线支付功能
  • 短信接口:支持短信通知和验证码功能
  • 集抄系统接口:实现与智能水表集中抄表系统的对接
  • 政务系统接口实现与地方政务平台和政务APP的对接
  • 消火栓系统接口:实现与消火栓系统的对接
  • 环卫系统接口:实现与环卫系统的对接
  • OA系统接口实现与OA系统的工作流对接

内部接口

  • ESB服务接口系统内部模块间的数据交换
  • 报表接口:提供报表数据查询和生成功能
  • 查询接口:提供数据查询功能
  • 业务处理接口:提供业务处理功能
  • 消息通知接口:提供消息推送和通知功能
  • 工作流接口:提供工作流处理和状态查询功能

接口标准

  • 接口协议RESTful API、WebService、消息队列等
  • 数据格式JSON、XML等
  • 接口安全:身份认证、授权、加密传输等
  • 接口文档:统一的接口文档和示例代码
  • 接口测试:提供接口测试工具和环境

接口服务管理

  • API网关统一的接口入口和管理
  • 服务注册与发现:服务的自动注册和发现
  • 服务路由:根据请求参数进行服务路由
  • 服务降级:在服务不可用时提供降级策略