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
  • 视频分析平台组件重启和重联机制

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

Page history
Update 视频分析平台组件重启和重联机制 authored Apr 01, 2021 by Junqing Xie's avatar Junqing Xie
Hide whitespace changes
Inline Side-by-side
Showing with 42 additions and 0 deletions
+42 -0
  • 视频分析平台组件重启和重联机制.md 视频分析平台组件重启和重联机制.md +42 -0
  • No files found.
视频分析平台组件重启和重联机制.md 0 → 100644
View page @ 3527e1ab
Task与EA映射表
------
在controller中,维护一张Task与分析引擎的映射表,表示一个正在运行的任务与运行该任务的EA。其关系为<taskId, engineId>。该表需在controller中持久化,建议在DB中以一张新表的方式进行存储。
Controller重启(对任务的操作)
----
**Controller的操作**
1. 对task表中状态为NEW的任务,task管理模块继续将其分配到engine中运行;
1. 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
  • 视频分析平台组件重启和重联机制