1. 项目背景与核心价值
去年参与了一个企业级专利管理系统的开发,用SpringBoot实现了从专利申请到维护的全流程数字化。这个系统最让我自豪的是成功将平均专利审批周期从45天压缩到18天,以下是整个项目的技术复盘。
专利管理在科技型企业中是个高频刚需场景。传统纸质流程存在三大痛点:审批链路不透明、文档版本混乱、统计维度单一。我们设计的系统围绕这三个痛点展开,采用SpringBoot+MyBatis-plus技术栈,前后端分离架构,实现了以下核心能力:
- 多级审批工作流引擎(部门初审→法务复核→管理层终审)
- 文档版本树形管理(支持差异对比和版本回滚)
- 多维数据看板(按部门/类型/进度等多角度统计)
关键设计原则:所有审批节点必须保留操作留痕,文档修改需触发版本快照,这是后续可能涉及法律纠纷时的关键证据链。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术架构解析
2.1 整体架构设计
系统采用经典三层架构,但针对专利业务做了特殊优化:
code复制[前端Vue] ←HTTP→ [SpringBoot REST API] ←→ [MySQL 8.0]
↑
[Redis缓存] ↓
[ElasticSearch]
创新点在于双写机制:审批流程状态变更同时写入MySQL和Redis,利用Redis的Pub/Sub功能实时推送到前端。这样既保证数据持久化,又实现了审批动态的秒级感知。
2.2 核心组件选型
-
工作流引擎:选用Activiti 7.x而非Flowable,主要考虑因素:
- 更友好的中国区文档支持
- 与SpringBoot的自动配置兼容性更好
- 历史任务查询性能优化(专利审批常需要追溯3年内的记录)
-
文档管理:集成MinIO对象存储而非直接使用本地文件系统,实现:
- 自动生成文档水印(申请人+时间戳)
- 版本快照存储空间自动回收(保留最近5个版本)
- 文档预览服务(通过LibreOffice在线转换)
-
权限控制:采用RBAC+ABAC混合模型:
- 基础功能用Spring Security实现角色权限
- 敏感操作(如驳回申请)额外增加属性校验(需满足:操
