文档 OCR 识别优化为异步思路逻辑

文档 OCR 识别优化

同步处理(原逻辑)

  • 当前系统识别文档为同步处理,已调整过 python 服务部分参数,但 一份40M左右文档识别仍需要几十秒
    • 文档转为图片集合
    • for 循环中一直调用 ocr 识别

异步处理

  • nginx 增加 requestId header 参数
  • 后端获取到 requestId 参数,保存 threadLocal,键值数据为对应文档 id,requestId 需要在消息体中一直传递
  • 后端获取请求数据(生产者),将文档转为图片集合,并标识页码索引(属于文档第几页),存放 mq 队列,python多实例 服务(消费者)绑定队列,消费图片信息,OCR 识别以后发送 mq 至队列
  • 后端(消费者)接收 python 识别完成的消息进行后续处理
    • 获取 requestId 对应的文档 id 绑定文档
    • 拼接识别数据(requestId + 当前 ocr 识别文档页码)
    • 疑问点: 不知道接收到的识别数据属于当前文档什么部分,无法正确拼接数据,只能通过当前 ocr 识别的文档页码来处理
    • 具体实现逻辑待编码
相关推荐
Kisorge18 分钟前
【C语言】指针数组、数组指针、函数指针、指针函数、函数指针数组、回调函数
c语言·开发语言
路在脚下@1 小时前
spring boot的配置文件属性注入到类的静态属性
java·spring boot·sql
森屿Serien1 小时前
Spring Boot常用注解
java·spring boot·后端
轻口味1 小时前
命名空间与模块化概述
开发语言·前端·javascript
苹果醋32 小时前
React源码02 - 基础知识 React API 一览
java·运维·spring boot·mysql·nginx
晓纪同学2 小时前
QT-简单视觉框架代码
开发语言·qt
威桑2 小时前
Qt SizePolicy详解:minimum 与 minimumExpanding 的区别
开发语言·qt·扩张策略
Hello.Reader2 小时前
深入解析 Apache APISIX
java·apache
飞飞-躺着更舒服2 小时前
【QT】实现电子飞行显示器(简易版)
开发语言·qt
明月看潮生2 小时前
青少年编程与数学 02-004 Go语言Web编程 16课题、并发编程
开发语言·青少年编程·并发编程·编程与数学·goweb