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

文档 OCR 识别优化

同步处理(原逻辑)

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

异步处理

  • nginx 增加 requestId header 参数
  • 后端获取到 requestId 参数,保存 threadLocal,键值数据为对应文档 id,requestId 需要在消息体中一直传递
  • 后端获取请求数据(生产者),将文档转为图片集合,并标识页码索引(属于文档第几页),存放 mq 队列,python多实例 服务(消费者)绑定队列,消费图片信息,OCR 识别以后发送 mq 至队列
  • 后端(消费者)接收 python 识别完成的消息进行后续处理
    • 获取 requestId 对应的文档 id 绑定文档
    • 拼接识别数据(requestId + 当前 ocr 识别文档页码)
    • 疑问点: 不知道接收到的识别数据属于当前文档什么部分,无法正确拼接数据,只能通过当前 ocr 识别的文档页码来处理
    • 具体实现逻辑待编码
相关推荐
Predestination王瀞潞2 小时前
IO操作(Num22)
开发语言·c++
瓯雅爱分享3 小时前
Java+Vue构建的采购招投标一体化管理系统,集成招标计划、投标审核、在线竞价、中标公示及合同跟踪功能,附完整源码,助力企业实现采购全流程自动化与规范化
java·mysql·vue·软件工程·源代码管理
宋恩淇要努力4 小时前
C++继承
开发语言·c++
沿着路走到底5 小时前
python 基础
开发语言·python
沐知全栈开发5 小时前
C# 委托(Delegate)
开发语言
mit6.8245 小时前
[C# starter-kit] 命令/查询职责分离CQRS | MediatR |
java·数据库·c#
诸神缄默不语6 小时前
Maven用户设置文件(settings.xml)配置指南
xml·java·maven
任子菲阳6 小时前
学Java第三十四天-----抽象类和抽象方法
java·开发语言
学Linux的语莫6 小时前
机器学习数据处理
java·算法·机器学习
找不到、了6 小时前
JVM的即时编译JIT的介绍
java·jvm