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

文档 OCR 识别优化

同步处理(原逻辑)

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

异步处理

  • nginx 增加 requestId header 参数
  • 后端获取到 requestId 参数,保存 threadLocal,键值数据为对应文档 id,requestId 需要在消息体中一直传递
  • 后端获取请求数据(生产者),将文档转为图片集合,并标识页码索引(属于文档第几页),存放 mq 队列,python多实例 服务(消费者)绑定队列,消费图片信息,OCR 识别以后发送 mq 至队列
  • 后端(消费者)接收 python 识别完成的消息进行后续处理
    • 获取 requestId 对应的文档 id 绑定文档
    • 拼接识别数据(requestId + 当前 ocr 识别文档页码)
    • 疑问点: 不知道接收到的识别数据属于当前文档什么部分,无法正确拼接数据,只能通过当前 ocr 识别的文档页码来处理
    • 具体实现逻辑待编码
相关推荐
RainbowSea12 分钟前
跨域问题(Allow CORS)解决(3 种方法)
java·spring boot·后端
掘金-我是哪吒14 分钟前
分布式微服务系统架构第155集:JavaPlus技术文档平台日更-Java线程池实现原理
java·分布式·微服务·云原生·架构
RainbowSea17 分钟前
问题 1:MyBatis-plus-3.5.9 的分页功能修复
java·spring boot·mybatis
尘浮72819 分钟前
60天python训练计划----day59
开发语言·python
前端 贾公子20 分钟前
monorepo + Turborepo --- 开发应用程序
java·前端·javascript
Chef_Chen1 小时前
从0开始学习R语言--Day39--Spearman 秩相关
开发语言·学习·r语言
不学会Ⅳ1 小时前
Mac M芯片搭建jdk源码环境(jdk24)
java·开发语言·macos
虫小宝1 小时前
高佣金返利平台监控体系建设:APM、链路追踪与佣金异常预警系统技术实现
java
sniper_fandc2 小时前
SpringBoot系列—入门
java·spring boot·后端
好开心啊没烦恼2 小时前
Python 数据分析:计算,分组统计1,df.groupby()。听故事学知识点怎么这么容易?
开发语言·python·数据挖掘·数据分析·pandas