基本架构说明书
1 基本架构
1. 单容器版部署
1. 业务系统,在工作数据目录内按照文档要求准备好要处理的设备扫描数据作为输入;
2. 业务系统以HTTP形式调用LCC的Docker镜像提供的接口,启动重建算法执行:
如: http://xxx/api { --传入输入数据文件夹路径 --传入输入配置参数 --传入接收结果文件夹路径 }
3. 业务系统可通过api轮询查看重建执行是否结束;结束后从结果文件夹路径内获取结果数据。
4. 可通过hookUrl参数传入【重建进度回调API】的地址
2. 多容器部署架构
Docker容器在多卡服务器上,可以每个容器分别挂载一张显卡,形成多个LCC重建容器节点。
多个容器节点支持两种管理模式:
1)独立多容器
可以将每个容器作为独立节点,提供独立的API端口,由外部的业务系统自行进行任务的管理调度。
每个容器仅作为一个LCC重建的算力节点,相互之间独立。等同于多个单容器版部署的重复。
2)容器集群( 单机多卡 *)
可以通过Consul注册中心,将本机上的多个容器作为一个集群管理。
在部署时,需指定某个容器节点作为主节点,通过调用主节点的API控制多个节点内的重建任务。
同时,主节点提供平台化的管理界面,直接进行图形化管理 (参考:WebUI试用说明书)
* 注
多个容器节点,必须能够访问同一个/work磁盘目录,才能够并行协同并加速完成一个重建任务(因为LCC重建任务的过程中,会共享大量的磁盘cache文件)因此当前版本,建议在单机多卡服务器上创建多容器集群。
3. 集群任务调度策略
1) 多容器节点并行完成一个任务
LCC重建任务耗时较长,但其中的部分步骤,可以通过切分的方式,交给多个容器节点并行完成,从而缩短这个任务的总体完成时间。
* 注
当前版本的容器节点采用抢占策略,如果想要以最快优先完成某个任务,建议在集群内先不要执行其他任务。这样当任务需要并行时,能够获取到更多的可用节点。
后续版本中,将会升级更复杂的优先级配置策略。
2) 多容器节点并行完成多个任务
任务数量较多的情况下,建议采用每个容器节点处理一个任务的方式进行调度。
这样可以最大化同时执行的任务数,并保证每个容器节点都时刻处于工作状态。
* 注
当前版本的集群中默认采用策略 1) 多容器节点并行完成一个任务
后续版本中,将会升级更复杂的策略配置参数