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

文档 OCR 识别优化

同步处理(原逻辑)

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

异步处理

  • nginx 增加 requestId header 参数
  • 后端获取到 requestId 参数,保存 threadLocal,键值数据为对应文档 id,requestId 需要在消息体中一直传递
  • 后端获取请求数据(生产者),将文档转为图片集合,并标识页码索引(属于文档第几页),存放 mq 队列,python多实例 服务(消费者)绑定队列,消费图片信息,OCR 识别以后发送 mq 至队列
  • 后端(消费者)接收 python 识别完成的消息进行后续处理
    • 获取 requestId 对应的文档 id 绑定文档
    • 拼接识别数据(requestId + 当前 ocr 识别文档页码)
    • 疑问点: 不知道接收到的识别数据属于当前文档什么部分,无法正确拼接数据,只能通过当前 ocr 识别的文档页码来处理
    • 具体实现逻辑待编码
相关推荐
陈奕昆3 分钟前
五、【LLaMA-Factory实战】模型部署与监控:从实验室到生产的全链路实践
开发语言·人工智能·python·llama·大模型微调
伊成9 分钟前
一文详解Spring Boot如何配置日志
java·spring boot·单元测试
明月看潮生14 分钟前
青少年编程与数学 02-019 Rust 编程基础 10课题、函数、闭包和迭代器
开发语言·青少年编程·rust·编程与数学
lybugproducer17 分钟前
浅谈 Redis 数据类型
java·数据库·redis·后端·链表·缓存
明月看潮生18 分钟前
青少年编程与数学 02-019 Rust 编程基础 09课题、流程控制
开发语言·算法·青少年编程·rust·编程与数学
程序猿小三24 分钟前
python uv的了解与使用
开发语言·python·uv
纯纯沙口24 分钟前
Qt—多线程基础
开发语言·qt
yxc_inspire27 分钟前
基于Qt的app开发第八天
开发语言·c++·qt
廖圣平28 分钟前
美团核销 第三方接口供应商 (含接口文档)
开发语言·数据库·php
一个人的博客@你37 分钟前
C# 通用OCR识别
图像处理·c#·ocr·图像识别·文字提取