运作方式
系统中一些重要节点的运作方式。
工作设备和控制中心是怎么联系的?

- 由于工作设备数量巨大,WorkerBee 被安装到工作设备时一般是批量安装或用户自行安装的,
在安装时安装包内就预置了控制中心的地址和一个
分组 Token。 - WorkerBee 在每次启动时,都会用
分组 Token去调用登录接口,换取独属于自己的Token。 - WorkerBee 会周期性的主动向控制中心请求任务,控制中心依靠
Token识别出工作设备后,分配给它合适的任务。 - 在完成任务之后会向控制中心报告,并继续请求任务。
- WorkerBee 随时有可能因各种原因退出,不用担心未完成的任务,控制中心在任务超时后重新将任务分给别的工作设备。
任务在控制中心内是怎么流转的?

- 图中黄色部分为任务较稳定的状态,有排队中
queuing, 运行中running, 失败failed, 成功successed几个状态。 - 每个任务会有超时时限,工作设备如果发现任务到了超时时限会主动上报任务失败。此图中的超时含义其实为客户端失联,这种情况总是会重新排队。
- 由于雾计算工作设备的不稳定性,在工作设备失败后还是会重新排队重试预定的次数。
- 工作设备报告任务成功后,会在控制中心执行可能存在的一些步骤,控制中心比较稳定可控,这个环节如果失败了会直接认为任务失败。
控制中心是如何把任务分配给工作设备的?
- 工作设备提交任务请求后,控制中心查询工作设备的地理区域,网络运营商,能力范围。
- 从排队最久的任务开始,顺次检查每个任务,如果任务的地理区域要求、网络运营商要求、能力范围要求全不能能被满足,则将任务分配给此工作设备。
- 分配后任务会被标记为运行中
running, 并从等待队列删除。 - 重试的任务会被插入等待队列头部。
最后修改 June 22, 2020: dispatch (8844296)