Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
V
vsi-here
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 2
    • Issues 2
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 1
    • Merge Requests 1
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Package Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • dm
  • vsi-here
  • Wiki
  • 视频分析平台组件重启和重联机制

Last edited by Junqing Xie Apr 01, 2021
Page history
This is an old version of this page. You can view the most recent version or browse the history.

视频分析平台组件重启和重联机制

Task与EA映射表

在controller中,维护一张Task与分析引擎的映射表,表示一个正在运行的任务与运行该任务的EA。其关系为<taskId, engineId>。该表需在controller中持久化,建议在DB中以一张新表的方式进行存储。

Controller重启(对任务的操作)

Controller的操作

  1. 对task表中状态为NEW的任务,task管理模块继续将其分配到engine中运行;
  2. controller的engine管理模块,收到分析引擎的第一个update-engine-info的调用时,对映射表中隶属于该engine的每个task:
    • 调用task模块的restart接口,发送启动请求给分析引擎

分析引擎的操作

  1. 正常操作(在增加下面描述的机制的基础上)

分析引擎重启(对任务的操作)

Controller的操作

  1. controller的engine管理模块,收到分析引擎的第一个update-engine-info的调用时,对映射表中隶属于该engine的每个task:
    • 调用task模块的restart接口,发送启动请求给分析引擎

分析引擎的操作

  1. 正常操作(在增加下面描述的机制的基础上)

Controller新增接口和处理机制

  • 【机制】Controller的engine管理模块,(1)收到stop-engine的调用时,或(2)发现分析引擎失联时(连续3次没有收到心跳update-engine-info),对映射表中所有隶属于该engine的每个task:
    • 调用task模块的stop接口,向原分析引擎发送停止任务运行的请求
    • 重新分配engine,并调用task模块的restart接口,
    • 从映射表中将该项删除
  • 【接口】Controller提供查询特定分析引擎上所有运行任务的接口
  • 【接口】Controller对特定任务进行restart的接口

分析引擎新增的处理机制

  • 【机制】分析引擎对于接收到的新建任务的请求,如果对应taskId的任务正在运行,忽略该请求;否则,正常启动该任务
  • 【机制】分析引擎对于接收到的停止任务的请求,如果对应taskId的任务没有在运行,忽略该请求;否则,正常停止该任务
  • 【机制】分析引擎发现余Controller失联后(连续3次无法正常发送心跳update-engine-info),将所有运行的任务停止
Clone repository
  • Home
  • 视频分析平台组件重启和重联机制