文档 OCR 识别优化
同步处理(原逻辑)
- 当前系统识别文档为同步处理,已调整过
python
服务部分参数,但 一份40M左右文档识别仍需要几十秒- 文档转为图片集合
- for 循环中一直调用 ocr 识别
异步处理
nginx
增加requestId
header 参数- 后端获取到
requestId
参数,保存threadLocal
,键值数据为对应文档 id,requestId
需要在消息体中一直传递 - 后端获取请求数据(生产者),将文档转为图片集合,并标识页码索引(属于文档第几页),存放 mq 队列,
python
多实例 服务(消费者)绑定队列,消费图片信息,OCR 识别以后发送 mq 至队列 - 后端(消费者)接收
python
识别完成的消息进行后续处理- 获取
requestId
对应的文档 id 绑定文档 - 拼接识别数据(requestId + 当前 ocr 识别文档页码)
- 疑问点: 不知道接收到的识别数据属于当前文档什么部分,无法正确拼接数据,只能通过当前 ocr 识别的文档页码来处理
- 具体实现逻辑待编码
- 获取