运作方式

系统中一些重要节点的运作方式。

工作设备和控制中心是怎么联系的?

工作设备原理

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

任务在控制中心内是怎么流转的?

生命周期

  • 图中黄色部分为任务较稳定的状态,有排队中 queuing , 运行中 running , 失败 failed , 成功 successed 几个状态。
  • 每个任务会有超时时限,工作设备如果发现任务到了超时时限会主动上报任务失败。此图中的超时含义其实为客户端失联,这种情况总是会重新排队。
  • 由于雾计算工作设备的不稳定性,在工作设备失败后还是会重新排队重试预定的次数。
  • 工作设备报告任务成功后,会在控制中心执行可能存在的一些步骤,控制中心比较稳定可控,这个环节如果失败了会直接认为任务失败。

控制中心是如何把任务分配给工作设备的?

  • 工作设备提交任务请求后,控制中心查询工作设备的地理区域,网络运营商,能力范围。
  • 从排队最久的任务开始,顺次检查每个任务,如果任务的地理区域要求、网络运营商要求、能力范围要求全不能能被满足,则将任务分配给此工作设备。
  • 分配后任务会被标记为运行中 running, 并从等待队列删除。
  • 重试的任务会被插入等待队列头部。
最后修改 June 22, 2020: dispatch (8844296)