mxpi_distributor
功能描述 |
向不同端口发送指定类别或通道的数据。用户可通过在配置文件中填写类别索引或通道索引,来选择发送需要输出的结果。 |
---|---|
同步/异步(status) |
异步 |
约束限制 |
目前只支持根据channel id或class id进行分发。 |
插件基类(factory) |
mxpi_distributor |
输入和输出 |
|
属性 |
请参见表1。 |
属性名 |
描述 |
是否为必填项 |
是否可修改 |
---|---|---|---|
dataSource |
输入数据对应索引,默认值为上游插件对应输出端口的元数据key。 |
否 |
是 |
classIds |
指定需要输出的类别索引,以逗号隔开。此插件根据用户配置的类别,将不同类别的目标进行重组,以类别顺序通过不同输出端口分发给下游插件。下游插件依次通过目标分发插件名_id作为key来获取元数据(id为目标分发插件的输出端口号,从0开始,依次递增1)。 |
是 |
是 |
distributeAll |
当某个端口没有目标数据时,是否往下发数据。支持配置“yes”,“no”两种方式,默认值为“no”。 |
否 根据class id分发进行配合使用。 |
是 |
channelIds |
指定需要输出的通道索引,以逗号隔开。此插件根据用户配置的通道,buffer以通道索引的顺序通过不同输出端口分发给下游插件。 |
是 |
是 |

- mxpi_distributor插件一般与queue插件配合使用,即mxpi_distributor插件的每个输出端口连接queue插件。
- 当根据channel id来进行分发时,必须配置channelIds属性。当根据class id来进行分发时,必须配置classIds和dataSource属性。
- 分发插件支持每个输出端口包含多种类别(或通道)的数据,每个输出端口中的索引采用竖线(|)进行区分。具体可参考示例。
示例
- 只配置classIds属性和dataSource属性,分发插件将按照目标索引(class id)的顺序,依次向下游插件发送带有该类别元数据的buffer。
假定分发插件mxpi_distributor0接受到demoA插件的buffer,然后将以demoA作为key获取元数据,将元数据按照类别进行重组。
- 以mxpi_distributor0_0为key挂载类别为4和5的元数据,并将buffer发送给demoA0插件。
- 以mxpi_distributor0_1为key挂载类别为6的元数据,并将buffer发送给demoA1插件。
- 以mxpi_distributor0_2为key挂载类别为7的元数据,并将buffer发送给demoA2插件。
父主题: 串流插件