fujian_water_biz_doc/water_biz_system_architecture.md

16 KiB
Raw Blame History

福建水务业务系统架构设计

目录

1. 系统架构概述

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

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

  • 多租户架构:支持集团、分公司、营业站点的多层级租户管理模式
  • 统一资源服务:统一的数字水务系统运行资源环境
  • 统一平台应用:统一业务流程,集中汇集数据
  • 统一对外接口:提供标准的接口和能力
graph TD
    %% 用户访问层
    User1[Web端用户] --- Access
    User2[移动端用户] --- Access
    User3[营业厅操作人员] --- Access
    
    subgraph Access[接入层]
        LoadBalancer[负载均衡]
        Firewall[防火墙]
        SSO[单点登录]
    end
    
    Access --- AppLayer
    
    %% 应用层
    subgraph AppLayer[应用层]
        subgraph Platform[统一平台]
            SysManage[系统管理]
            WorkflowAlert[流程节点提醒]
        end
        
        subgraph Revenue[营收系统]
            Meter[抄表开账]
            Charge[收费管理]
            Account[账务处理]
            Invoice[发票管理]
            Collection[代收业务]
            EnvSanitation[环卫系统]
            BusinessOrders[业务工单]
        end
        
        subgraph CustService[客户服务]
            WeChatPay[微信/支付宝服务]
            BillQuery[账单查询]
            EInvoice[电子发票]
            WebPortal[微网厅]
            AIService[智能客服]
        end
        
        subgraph MeterMgmt[表务系统]
            MeterWork[表务工单]
            MeterStore[表务仓库]
            MeterParams[水表参数]
            IoTIntegration[物联网对接]
        end
        
        subgraph Installation[报装管理]
            InstallProcess[报装流程]
            OneMeter[一户一表管理]
        end
        
        subgraph StatAnalysis[统计分析]
            ReportQuery[报表查询]
            DebtQuery[欠费查询]
            PaymentRecord[缴费记录]
            WaterAnalysis[用水分析]
        end
        
        subgraph ProjectMgmt[工程管理]
            ProjectApply[工程申请]
            ProjectConstruct[工程施工]
            ProjectAccept[工程验收]
            ProjectQuery[工程查询]
        end
        
        subgraph MeterApp[抄表APP]
            AppHome[首页功能]
            AppMeter[抄表功能]
            AppOrder[工单管理]
        end
        
        subgraph APIService[接口服务]
            APIMarket[API市场]
            APIMgmt[API管理]
            APIAuth[接口权限管理]
            APIExtern[系统对外接口]
        end
    end
    
    AppLayer --- MiddleLayer
    
    %% 中间层
    subgraph MiddleLayer[中间层]
        ESB[企业服务总线]
        ReportPlatform[统一报表平台]
        Cache[缓存服务]
        Workflow[工作流引擎]
        MessageQueue[消息队列]
    end
    
    MiddleLayer --- DataLayer
    
    %% 数据层
    subgraph DataLayer[数据层]
        DBCluster[数据库集群]
        FileServer[文件服务器]
        Backup[数据备份恢复]
        DataIntegration[数据集成]
    end
    
    %% 外部接口层
    subgraph ExternalAPI[外部接口层]
        BankAPI[银行接口]
        PayAPI[支付接口]
        SMSAPI[短信接口]
        IoTAPI[物联网接口]
        GovernmentAPI[政务系统接口]
        HydrantAPI[消火栓系统接口]
        EnvAPI[环卫系统接口]
        OAAPI[OA系统接口]
    end
    
    MiddleLayer --- ExternalAPI
    
    %% 安全层
    SecurityLayer[安全层\n网络安全 • 数据安全 • 应用安全] --- AppLayer
    SecurityLayer --- MiddleLayer
    SecurityLayer --- DataLayer
    
    %% 多租户
    subgraph Tenants[多租户架构]
        Group[集团]
        Branch[分公司]
        Station[营业站点]
    end
    
    Tenants -.- AppLayer
    
    classDef layer fill:#f9f9f9,stroke:#333,stroke-width:2px
    class Access,AppLayer,MiddleLayer,DataLayer,ExternalAPI,Tenants layer
    
    classDef security fill:#ffe6e6,stroke:#f66,stroke-width:2px
    class SecurityLayer security
    
    classDef platform fill:#e6f7ff,stroke:#1890ff,stroke-width:1px
    class Platform,Revenue,CustService,MeterMgmt,Installation,StatAnalysis,ProjectMgmt,MeterApp,APIService platform

2. 技术架构

系统采用B/S和M/S相结合的架构模式具体技术栈如下

2.1 服务端

  • 操作系统:国产 Linux 操作系统
  • 数据库MySQL/MariaDB数据库支持国产OpenGauss数据库
  • 应用框架基于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多租户设计

2.2 客户端

  • 前端框架基于yudao-ui-admin-vue3框架定制开发
    • 核心框架Vue 3.x + TypeScript
    • 组件库Element Plus现代化UI组件
    • 状态管理Pinia新一代的Vue状态管理库
    • 路由管理Vue Router
    • HTTP工具Axios请求拦截与统一处理
    • CSS框架Tailwind CSS / UnoCSS原子化CSS
    • 图表组件ECharts强大的可视化图表库
    • 富文本编辑器WangEditor
    • 文件上传基于Element Plus的上传组件
    • 权限控制:细粒度的按钮级权限控制
    • 动态表格:支持拖拽、排序、筛选
    • 代码规范ESLint + Prettier标准化代码风格
  • 移动端:
    • 核心框架uni-app跨平台
    • 组件库uview-ui
    • 小程序支持:微信小程序、支付宝小程序等
    • 移动端地图高德地图SDK用于抄表轨迹和导航
    • 设备接入NFC、扫码、相机等硬件设备接口

2.3 技术特性

  • 单点登录OAuth2 + JWT实现统一认证
  • 数据交换基于RESTful API的系统内部数据交换与共享
  • 统一报表平台集成JimuReport支持自定义报表设计与生成
  • 大屏设计集成GoView支持可视化大屏设计
  • 安全保障:满足安全等保三级要求
    • 密码加密BCrypt加密算法
    • 防XSS攻击表单数据过滤
    • 防SQL注入参数化查询
    • 防CSRF攻击Token验证
  • 性能规格支持200并发用户50并发移动设备系统响应时间不超过3秒
  • 扩展容量支持100万客户的业务量满足企业3-5年的业务发展需求
  • 支持功能:
    • 支付管理:微信支付、支付宝支付等
    • 短信服务:阿里云、腾讯云等多家短信服务商
    • AI能力
      • 智能客服基于AI的智能问答系统
      • 智能抄表:基于图像识别的水表读数
      • 异常分析基于AI的用水异常分析
    • API网关支持API权限管理、限流熔断、白名单控制

3. 应用架构

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

3.1 统一平台

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

3.2 营收系统

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

3.3 客户服务

  • 微信、支付宝服务窗:账户绑定、用水查询、在线缴费等
  • 历史账单:账单查询、用水分析、账单推送等
  • 电子发票:发票申请、发票查询、发票下载等
  • 营业网点:网点查询、网点导航、业务指南等
  • 账户流水:流水查询、明细下载、交易统计等
  • 微网厅:用户注册、信息查询、业务办理等
  • 智能客服:常见问题、智能问答、业务指引等

3.4 表务系统

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

3.5 报装管理

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

3.6 统计分析

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

3.7 工程管理

  • 工程申请:工程立项、材料提交、前期勘察等
  • 工程施工:施工计划、施工派工、施工记录等
  • 工程验收:验收申请、验收检查、验收记录等
  • 工程查询:工程进度查询、工程资料查询、工程统计等

3.8 抄表APP

  • 首页功能:首页展示、个人信息、快捷查询等
  • 抄表功能抄表任务、NFC抄表、扫码抄表、AI录入等
  • 工单管理:问题上报、问题回填、代办工单、稽查工单等

3.9 接口服务

  • API市场API展示、API使用说明、API测试等
  • API管理API申请、API调度看板、接口服务配置管理等
  • 接口权限管理:授权管理、白名单管理、安全策略等
  • 系统对外接口:查询接口、业务处理接口、状态同步接口等

3.10 系统配置

  • 水表参数:水表厂家、水表型号、水表量程等
  • 地址参数:行政区划、地址编码、地址库等
  • 价格体系:用水性质、水价标准、阶梯水价等
  • 基本配置:系统参数、业务规则、打印模板等
  • 催缴管理:催缴计划、催缴任务、催缴执行等
  • 用户权限:菜单权限、功能权限、数据权限等
  • 定时任务:任务配置、任务监控、任务日志等

4. 数据架构

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

4.1 数据分层

  • 数据采集层:负责从各业务系统和物联网设备采集原始数据
  • 数据存储层:统一数据存储,实现分布式数据管理
  • 数据服务层:提供数据服务接口
  • 数据展现层:提供数据分析和可视化功能

4.2 数据模型

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

4.3 数据集成与共享

  • 统一数据标准:定义统一的数据标准和数据字典
  • 数据集成机制采用ESB实现系统间的数据集成
  • 数据共享机制:基于统一的数据服务接口实现数据共享
  • 数据同步策略:实时同步、定时同步、批量同步等

5. 安全架构

系统安全架构满足等保三级要求,主要包括以下安全措施:

5.1 网络安全

  • 边界防护:防火墙、入侵检测/防御系统
  • 访问控制:基于角色的访问控制
  • 通信安全SSL/TLS加密传输
  • 安全监控:实时监控网络安全状态

5.2 数据安全

  • 数据加密:敏感数据加密存储
  • 数据备份:定期数据备份和恢复机制
  • 数据审计:关键操作的审计日志
  • 数据脱敏:敏感数据的显示脱敏和处理脱敏
  • 数据权限:基于多租户的数据隔离和访问控制

5.3 应用安全

  • 身份认证:多因素认证
  • 授权管理:细粒度的权限控制
  • 安全审计:用户操作审计
  • 密码策略:密码复杂度、定期更换、失败锁定等
  • 会话管理:会话超时、并发限制等

5.4 接口安全

  • 接口认证基于Token的接口认证
  • 接口授权:基于角色的接口授权
  • 接口加密:敏感数据的加密传输
  • 接口防护:防重放、防篡改等安全措施
  • 接口限流基于IP、用户、应用的限流策略

6. 部署架构

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

6.1 物理部署

  • 生产环境:高可用集群部署
    • 应用服务器2台或以上服务器负载均衡
    • 数据库服务器:主从架构,实时同步
    • 缓存服务器Redis集群
    • 文件服务器:冗余存储
  • 灾备环境:异地灾备,定期数据同步
  • 测试环境:用于系统测试和验证
  • 开发环境:用于系统开发和集成测试

6.2 逻辑部署

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

6.3 容器部署

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

7. 接口架构

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

7.1 外部接口

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

7.2 内部接口

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

7.3 接口标准

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

7.4 接口服务管理

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