图编排概念
图是一种描述多个节点之间关系的方式,图编排是指开发者可以根据自身业务流程,通过图的方式灵活的描述出来。ModelBox框架支持图编排的开发能力,开发者可以将一个个独立的功能单元通过图编排的方式组合在一起,形成一条完整的业务流水线,由ModelBox图编排引擎进行加载执行,来达到数据流的高性能并发分析。
如图1所示定义了一个典型视频流业务的执行过程,图编排包含一些基础组件:图、功能单元、输入端口、输出端口、缓存数据。
功能单元:一个独立的功能实体,比如图片缩放、颜色转换等。功能单元基本组成包括功能单元名称、属性、输入输出端口等,是数据的处理实体。功能单元实体和功能单元间的关系边组成一张图,是图编排引擎调度的最小单元。ModelBox提供一部分预置的基础功能单元库,同时也支持自定义开发功能单元的能力。
- 功能单元端口:数据的连接点,用于连接任意两个或N个点的数据流向关系,包含输入端口和输出端口。
- 通用数据:功能单元之间数据传递的实体,采用通用数据格式,包含了数据描述和数据内容,可以支持视频、图片、文字、声音、结构化数据等各种多媒体数据在功能单元之间传递。
数据流:一组顺序、连续到达的数据序列。 实际场景存在数据流的拆分和合并场景,也存在数据流的分支处理,如图2所示。
通过以上组件进行满足业务处理流程的图的构建过程叫做图编排。