我开发了具有OCR
功能的文档管理系统(DMS)
。但是,它需要太多时间
来处理,而且 CPU 使用率很高
。
我现在的流程是同步的,如下:
- 用户上传他的文件
- OCR 流程
- 在数据库中存储文档信息
考虑到实时生产负载,我想在专用文件处理独立服务器
上将上述第二步异步化。
我的问题是,
- 这是正确的做法吗?
- 如何将该文件发送/检索到另一台服务器进行处理?我还发现可以使用消息队列,但我无法在其中添加整个文件。
- 无论如何,我们可以确认流程完成吗?
最佳答案
为了解决这个问题,我已经在单独的文件处理服务器上成功地分离了 OCR
进程,这确实帮助我解决了高 CPU 使用率问题,使用 FIFO
方法。
按照以下步骤:
- 用户上传文件
- OCR 状态待处理
- 单独的服务器进程文件,根据 FIFO 方法一次挂起。
- 更新数据库中的 OCR 处理状态。
以后可以根据需要和服务器的负载增加处理服务器。
关于java - 需要帮助来分离文件处理服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49753847/