搜索结果: GY/T 322.1-2019, GY/T322.1-2019, GYT 322.1-2019, GYT322.1-2019
| 标准编号 | GY/T 322.1-2019 (GY/T322.1-2019) | | 中文名称 | 网络音频应用的开放式控制架构 第1部分:框架 | | 英文名称 | Audio applications of networks-open control architecture - Part 1: Framework | | 行业 | 广播电影电视 行业标准 (推荐) | | 中标分类 | M60 | | 字数估计 | 51,569 | | 发布日期 | 2019 | | 实施日期 | 2019-04-28 | | 发布机构 | 国家广播电视总局 |
GY/T 322.1-2019: 网络音频应用的开放式控制架构 第1部分:框架
GY/T 322.1-2019 英文名称: Audio applications of networks-open control architecture - Part 1: Framework
中 华 人 民 共 和 国 广 播 电 视 行 业 标 准
网络音频应用的开放式控制架构
第 1部分:框架
国家广播电视总局 发 布
1 范围
GY/T 322的本部分规定了网络音频应用的开放式控制架构的模型和机制。这些模型和机制共同组成了
开放式控制架构的框架。
本部分适用于对网络音频应用的监控,不适用于传送流媒体或描述媒体内容。
2 规范性引用文件
下列文件对于本文件的应用是必不可少的。凡是注日期的引用文件,仅注日期的版本适用于本文件。
凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。
GB/T 13000-2010 信息技术 通用多八位编码字符集(UCS)(ISO/IEC 10646:2003,IDT)
GY/T 322.2-2019 网络音频应用的开放式控制架构 第2部分:类结构
GY/T 322.3-2019 网络音频应用的开放式控制架构 第3部分:用于TCP/IP网络的协议
3 术语、定义和缩略语
4.1 概述
开放式控制架构支持在应用层对符合开放式控制架构的设备进行监控。它不提供音视频信号传输,而
需与各种音视频信号的传输方案一起集成使用。
开放式控制架构规定的协议具有可扩展性,可有序的合并新的设备类型和设备升级,支持各种媒体网
络中的功能的以向上兼容的方式改进升级。
开放式控制架构适用于专业媒体网络。对于不大于100个节点的简单网络,在使用推荐的交换机时,设
置过程不宜要求技术人员具备高级网络知识。具体要求如下:
a) 开放式控制架构的网络可使用符合工业标准的数据网络设备来运行;
b) 符合开放式控制架构的设备可与不符合开放式控制架构的设备无害共存;
c) 开放式控制架构的网络可以根据产品及应用的需要,在安全或不安全模式下运行。
4.2 面向对象
4.2.1 概念
开放式控制架构将通信设备的控制接口描述为对象的集合。每个对象是一个软件单元,它是特定类的
实例化,并具有由该类定义的状态(称为属性)和程序化动作(称为方法)。
开放式控制架构的协议的所有动作和特征均以类的方式定义。协议的功能范围相当于它实现的类的功
能库。类的集合完全决定了通信设备中可实例化什么类型的对象。
以这种方式定义的协议称为面向对象的协议,定义如下:
a) 类定义:定义可存在于设备中的对象类型;
b) 命名和寻址规则:定义如何识别对象及其属性;
c) 协议数据单元(PDU)的格式:指定发送和接收数据的实际格式;
d) 协议数据单元的交换规则:定义用于实现信息交换的通信序列(见 4.3)。
注:本部分以面向对象的设计术语表述,但并不要求使用面向对象的编程风格实现这些协议。实现时可选择基于对象
或非基于对象的方式。
4.2.2 类
4.2.2.1 概述
4.2.2.1.1 类的内容
开放式控制架构的类均应包含以下内容:
a) 要素集合(属性、方法和事件,见 4.2.2.3);
b) 唯一的类标识符;
c) 确切的父类(根类除外,因为它没有父类)。
注:标准的类名(见GY/T 322.2-2019)均以“Oca”开头。
4.2.2.1.2 继承
开放式控制架构的类应定义为层次树结构中的节点。该层次树结构应从单一的基础节点(根类)开始,
并应按继承顺序排列。继承意味着类均从一个特殊性相对较弱的类(父类)派生出的特殊性更强的实体(子
类)。一个类应展示(继承)其父类的所有特征,除非在该类定义中明确重写了原有的继承特征。
4.2.2.1.3 专有类
在开放式控制架构的生命周期中,往往会出现特定的产品,尤其是复杂的产品,需要用到专门的控制
类,这些类不适合包含在标准的类树中,即专有类。可通过以下四个策略来实现:
a) 专有类可从任何的标准类或另外的专有类继承;
b) 专有类宜以最恰当明确的层级附加到标准类树中;
c) 对专有类应使用专有类的编号;
d) 专有类应根据 4.2.2.4中所列的继承规则定义。
4.2.2.1.4 包含
在开放式控制架构中,一个类有时会包含另一个类,该包含类的对象合并了被它包含类的对象。
如果删除包含类的对象,也应删除被它包含的类的对象。
4.2.2.1.5 收集
在开放式控制架构中,一个类有时会收集另一个类,该收集类的对象引用了被它收集类的对象。
如果删除收集类的对象,不应删除被它收集的类的对象。
4.2.2.2 类标识符
4.2.2.2.1 概述
类标识符(类ID)应由谱系键值和版本号组成。
类ID表示为{n;i1·i2·i3...},其中n是类版本号,i1·i2·i3...是谱系键值。
4.2.2.2.2 谱系键值
每个类均应用形如i1•i2•i3...的层级键值来标识,其中i1•i2•i3...应为类树的特定层级的兄弟节点中
能唯一标识该类的正的非零整数值。i1,i2,i3等被称为类索引。类索引值可非连续。
每个类的谱系键值均应由一组类索引组成。类索引从根类开始,向下延伸通过所有相关的子类,并结
束于该类,这一组类索引标识了该类的完整谱系。这个键值可以根据描述层级的需要包含足够多的类索引。
4.2.2.2.4 专有类 ID
专有类ID可由设备制造商设置。设备的制造商应在开放式控制架构设备管理单元(OcaDeviceManager)
对象的属性中标识。包含专有对象的设备的控制器宜查询其对应的OcaDeviceManager对象,以获得设备制
造商信息,并据此作出相应的操作。
注 1:两个制造商对不同的对象使用相同的专有类的索引值的现象是不可避免的。
如果专有类ID{n;i1•i2•i3...ik...}中某个特定的索引ik是专有的,则其右侧的所有索引也应是专有的。
注 2:根据以上规则,标准类不应从专有类继承。
对专有类定义上的任何更改,应用更高的类版本号来标识。
4.2.2.3 类的属性、方法和事件
4.2.2.3.1 概述
开放式控制架构的类应具有允许访问其数据和操作状态的要素。类的要素有:
a) 属性:类应定义若干属性,代表类的可监控参数的变量,并能被控制网络所访问;
b) 方法:类应定义若干种方法,它们是一些程序,控制器可由符合开放式控制架构的协议命令来调
用这些程序去获取和更改属性值、改变类的运行状态以及执行其他的操作;
c) 事件:类可以定义一个或多个事件,事件是由设备激发以通知控制器发生了特定的事件的回调函
数。为了接收事件,控制器应事先订阅它们,见第6章。
这些要素应用于定义设备和控制器之间的数据交换协议。在通信协议的要素中表示类要素的方式取决
于每个特定的符合开放式控制架构的协议,见GY/T 322.3-2019。
4.2.2.3.2 要素 ID
在类树中,每个属性、方法和事件不仅应分配一个名称,而且还要赋予一个要素ID,形如:LLtNN,其
中:
LL应为两位数表示的类树层级。
例如,全局根类OcaRoot在层级01定义。OcaRoot的子类将在层级02定义。孙类将在层级03定义。等等。
t应为类型代码,用p表示属性,m表示方法,e表示事件。
NN应为每个类中的每个类型的序列号,起始值为01。
在每个类中,要素ID的值应是唯一的。
4.2.2.3.4 文本格式
开放式控制架构的属性、方法参数和事件参数中的所有文本均应采用UTF-8格式(见GB/T 13000-2010)。
4.2.2.4 类的继承和更新规则
继承规则确保通过从现有类创建新类,以不影响现有产品或系统操作的方式将新功能添加到协议中。
继承能确保新的子类至少能支持其父类的功能和接口。
开放式控制架构的类继承规则是:
a) 除了根类之外的任何给定类,都应确切地从另一个类继承。
b) 子类应实现其父类所有的属性,方法和事件。
c) 子类可通过以下方式扩充父类的定义:
1) 添加新的属性、方法和/或事件;
2) 增强现有的属性、方法和/或事件的定义。在这种情况下,所增强的定义应支持由父类定义的
所有功能。
d) 子类继承的方法和事件应保留其父类对应的要素 ID。
e) 标准类不应从专有类继承。
当更新现有类时,应遵守以下规则:
a) 类版本号应递增。
b) 更新的类应实现现有类的所有属性、方法和事件。
c) 更新的类可通过以下方式扩充现有类的定义:
1) 添加新的属性、方法和/或事件;
2) 增强现有属性、方法和/或事件的定义。在这种情况下,所增强的定义应支持由现有类定义的
所有功能。
d) 被更新类的方法和事件应保留其父类对应的要素 ID。
4.2.3 类的实例化
正如创建其网络控制接口所需,设备应将类实例化为对象。每个对象应由唯一的对象编号(ONo)标识。
4.3 消息
4.3.1 概述
监控操作应由协议数据单元(PDU)中的消息来执行。PDU在两个对象之间传递,这两个对象可在不同
设备中。开放式控制架构的消息应是以下三种类型之一:
a) 命令:请求设备返回数据和/或执行操作。
b) 应答:报告命令执行成功或失败。如果有,则返回所请求的数据。
c) 通知:报告设备内部发生的特定事件,并提供相关数据。
除了设备复位消息(见第12章)外,开放式控制架构的命令消息均应由对应的应答消息应答。通知消
息不应响应。
4.3.2 消息分发服务
开放式控制架构支持两种消息分发服务:可靠服务和快速服务。
可靠分发服务应使用网络提供的有保证的传输手段。可靠服务不应用于组播。例如,在TCP/IP网络中,
可靠服务使用TCP。
快速分发服务可使用较低开销,较低可靠性的传输手段。如果网络支持,快速服务可用于组播。例如,
在TCP/IP网络中,快速服务使用UDP。
开放式控制架构的所有命令和应答消息应使用可靠分发服务来传递。通知消息可使用两种服务中的任
何一种服务。订阅机制可使用快速分发服务,见第6章;设备复位机制应使用快速分发服务,见第12章。
注:对于某些类型的网络,可靠服务和快速服务可能相同。
5 设备模型
5.1 设备的可配置性
符合开放式控制架构的设备的可配置性可分为固定,可插拔,部分可配置和完全可配置,见表1。
5.2 对象寻址
在符合开放式控制架构的设备中,每个对象(即特定类的每个实例化)应由对象编号进行唯一标识。
根据设备的可配置性,对象编号应在不同时刻进行分配,见表2。
注:在特定实现中,开发人员可使用特定的对象编号方案来优化设备性能和/或简化对象管理。例如,开发者可选择设
备的对象编号值与内部表索引值相对应,以便于对输入命令的快速解码。
5.3.2 管理单元、工作单元和代理
开放式控制架构的设备模型包含如下三类对象:
a) 管理单元:该对象应是控制对象,它影响或报告设备的基本属性和总体状态。在每个设备中,每
种管理单元类只应有一个实例(即一个设备管理单元,一个安全管理单元等)。每个管理单元应
有一个标准对象编号。部分管理单元是必需的,其他是可选的,见 5.6和 GY/T 322.2-2019。
b) 工作单元:该对象应直接控制设备的应用功能,见 5.4。包括:音频静音开关,增益控制,均衡
器,电平监测,过载监测器,视频摄像机控制,信号属性,图像处理参数和信号处理功能等。工
作单元应按表 3分类。
c) 代理:该对象应提供对同一设备中工作单元的间接控制。代理不应映射信号处理功能,但可影响
一个或多个相关联的工作单元对象的信号处理参数,或提供其他应用控制功能。代理的详细描述
见 5.5。
5.4.3.1 概述
块应为一种特定类型的工作单元,它可包含工作单元对象(包括其他块对象)和/或代理对象。块也可
描述其所包含的工作单元之间的信号流拓扑。标准块类的定义见GY/T 322.2-2019。
块内的对象称为该块的成员。包含对象的块称为该对象的容器。块可被任意深度地嵌套。
任何工作单元和代理都应是一个块的成员。每个设备均至少应包含一个称为根块的块,它应当包含该
设备的所有工作单元和代理。在简单设备中,所有的工作单元和代理均可属于根块。在复杂的设备中,工
作单元和代理可部署到嵌套的块中。
管理单元对象不应属于块。
每个块都应用一个类(块类)描述。所有块类的根类应为OcaBlock。
注1:块是一个抽象容器,它对设备结构和控制流做了最小的假定。没有预先限制块可以包含什么样的块类型,也没有
假设块可以包含什么样的对象。设备可以任意地设置块或者只有根块。
5.4.3.2 块枚举
块所包含的工作单元和代理的集合称为块的对象集。对象集的成员列表称为对象列表。
OcaBlock应提供检索任何指定块的对象列表的方法。还应为设备提供选项,仅枚举直接包含的对象,
或递归枚举所有直接包含的对象以及任意级别嵌套块中的所有对象。
注:为了发现设备中的每个工作单元对象,控制器只需要请求根块的递归枚举。
5.4.3.3 块管理
完全可配置的设备可允......
|