跳到主要内容

4. 使用 CDDL

本节讨论 CDDL 的几种潜在使用方式.

4.1. 作为人类用户的指南

CDDL 可用于高效定义 CBOR 数据的布局, 使人类实现者能够轻松看出数据应如何编码.

由于 CDDL 会将 CBOR 数据的各个部分映射到人类可读的名称, 因此可以构建使用 CDDL 的工具, 为 CBOR 数据提供人类友好的表示, 并允许用户编辑此类数据, 同时仍然符合其 CDDL 定义.

4.2. 用于自动检查 CBOR 数据结构

CDDL 的规范方式使机器能够处理 CDDL 定义以及相关的 CBOR 数据 (因此也包括 JSON 数据). 例如, 机器可以使用 CDDL 检查 CBOR 数据是否符合其定义.

此类合规性检查需要达到多彻底, 取决于具体应用. 例如, 应用可以决定完全不检查数据结构, 而仅将 CDDL 定义作为向程序员说明数据结构的手段.

另一方面, 应用也可以实现检查机制, 甚至检查所有强制 map 成员是否都存在.

应用必须在多大程度上强制执行数据描述, 由该应用的设计者和实现者决定, 同时需要牢记相关的安全考虑.

无论何种情况, 都不意图让 CDDL 工具为某个实现"编写代码".

4.3. 用于数据分析工具

从长远看, 可以预期越来越多的数据将使用 CBOR 数据格式存储.

有数据的地方就会有数据分析, 也会有自动处理这些数据的需求. CDDL 可用于此类自动化数据处理, 使工具能够验证数据, 清理数据, 并从中提取感兴趣的特定部分.

由于 CBOR 的设计考虑了受限设备, 小型传感器很可能会使用它. 因此, 传感器数据的自动分析会是一种有趣的用途.