Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
ISO/IEC 29341-11-12:2008定义了QoS策略持有者,这是UPnP QoS架构中QoS策略规则的持久化存储和管理实体。策略持有者维护着适用于网络的所有QoS策略的权威数据库,通过标准化的UPnP服务接口提供创建、读取、更新和删除(CRUD)操作。它充当QoS策略决策的单一真相来源,确保跨所有QoS管理器实例和网络段的一致规则执行。
策略持有者服务暴露的动作包括AddPolicy、UpdatePolicy、RemovePolicy、GetPolicy、GetAllPolicies和GetPolicyChangeCounter。这些动作操作于策略数据库,其中每个条目都是ISO/IEC 29341-10-12中定义的完整QoS策略规则,包括优先级值、流量描述符、流量类别分配、动作列表和可选的有效时段。该服务还会在策略被添加、修改或删除时生成事件通知,使QoS管理器和其他订阅的控制点能够维护同步的策略缓存。
| 策略持有者动作 | 描述 | 参数 | 错误条件 |
|---|---|---|---|
| AddPolicy | 向数据库添加新的策略规则 | PolicyRule(完整规则结构) | 重复优先级、无效描述符、存储已满 |
| UpdatePolicy | 修改由策略ID标识的现有策略规则 | PolicyID, UpdatedRule字段 | PolicyID未找到、版本不匹配 |
| RemovePolicy | 从数据库删除策略规则 | PolicyID | PolicyID未找到、规则受保护 |
| GetPolicy | 按ID检索特定策略规则 | PolicyID | PolicyID未找到 |
| GetAllPolicies | 检索所有策略规则,可按流量类别过滤 | 可选TrafficClass过滤器 | — |
| GetPolicyChangeCounter | 返回当前策略变更计数器值 | — | — |
策略持有者使用版本化数据库模型管理策略。每条策略规则带有PolicyID(创建时分配的唯一标识符)和VersionNumber(每次更新时单调递增)。VersionNumber支持并发访问一致性:检索具有特定版本的策略规则的QoS管理器可以使用条件更新操作来防止当多个管理器或管理工具同时修改同一策略时出现丢失更新的冲突。
策略数据库通过可选的PolicyGroup标签支持策略分组,使管理员能够按应用领域(如”视频流”、”语音”、”游戏”)、网络段或设备类型组织规则。分组还便于批量操作——GetAllPolicies动作可以按组过滤,当设备或服务退役时,RemovePolicy动作可以清除属于特定组的所有策略。
有效部署QoS策略持有者需要注意以下几个设计考虑因素:
QoS策略持有者实现标准的UPnP事件通知机制。当策略被添加、更新或删除时,策略持有者向所有订阅的控制点(通常是QoS管理器和管理工具)发送PolicyChanged事件。事件负载包括PolicyChangeCounter值和受影响规则的PolicyID,允许订阅者增量更新其本地缓存,而无需在每次变更时执行完整的策略数据库检索。
为增强网络弹性,策略持有者应在每次修改后将其策略数据库持久化到非易失性存储。设备重启时,策略持有者从持久化存储重新加载策略数据库,并向所有订阅者发送完整的策略集通知,确保在任何策略持有者中断后QoS管理器缓存能够重新同步。这种持久化和重新同步机制对于跨设备重启和网络分区维护一致的QoS行为至关重要。