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

文档 OCR 识别优化

同步处理(原逻辑)

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

异步处理

  • nginx 增加 requestId header 参数
  • 后端获取到 requestId 参数,保存 threadLocal,键值数据为对应文档 id,requestId 需要在消息体中一直传递
  • 后端获取请求数据(生产者),将文档转为图片集合,并标识页码索引(属于文档第几页),存放 mq 队列,python多实例 服务(消费者)绑定队列,消费图片信息,OCR 识别以后发送 mq 至队列
  • 后端(消费者)接收 python 识别完成的消息进行后续处理
    • 获取 requestId 对应的文档 id 绑定文档
    • 拼接识别数据(requestId + 当前 ocr 识别文档页码)
    • 疑问点: 不知道接收到的识别数据属于当前文档什么部分,无法正确拼接数据,只能通过当前 ocr 识别的文档页码来处理
    • 具体实现逻辑待编码
相关推荐
嘟嘟w2 分钟前
POST和GET的区别
java
佳航张3 分钟前
C语言经典100题---例001---组无重复数字的数
c语言·开发语言
chilavert3184 分钟前
技术演进中的开发沉思-225 Prototype.js 框架
开发语言·javascript·原型模式
大大菜鸟一枚4 分钟前
ARM交叉编译环境配置与Qt依赖库部署指南
开发语言·arm开发·qt
魂梦翩跹如雨6 分钟前
Java BigDecimal与RoundingMode的用法总结
java·算法
一入程序无退路8 分钟前
若依框架导出显示中文,而不是数字
java·服务器·前端
tealcwu9 分钟前
【Unity基础】实现Scroll View跟随动态内容滚动
java·unity·游戏引擎
m0_6265352010 分钟前
代码分析 关于看图像是否包括损坏
java·前端·javascript
星释11 分钟前
Rust 练习册 108:深入探索过程宏的奥秘
开发语言·后端·rust
李贺梖梖11 分钟前
day06 二维数组、Arrays、System、HuTool、方法
java