GDL 配置

GDL 使你能够在数据中定义依赖项。 客户端不需要知道依赖项;相反,当客户端请求快照并且分析程序生成与该配置相对应的快照时,客户端会指定所需的配置。

例如,电话呼叫的收费价格取决于出发地和目标点、拨打呼叫的当天和星期几、使用的呼叫计划等。 所有可能结果的价格都可以由大型多维数组表示。 可以使用 GDL 指令定义参数来表示此数据,以表示各种变量,例如出发地和目标点、一天中的时间、通话套餐等。 其他指令可用于定义这些参数的允许值。 还有一些指令指定数据如何依赖于要定义的参数值。 在以下示例中表示电话呼叫成本 (CostOfCall 的数据) 表示为 GDL 源文件后,可以对其进行分析,并且任何客户端只需创建一个将所需值分配给 GDL 中定义的每个参数的配置即可获取进行电话呼叫的成本。

例如,客户端可能会编写包含以下数据的配置。

OriginationPoint: Seattle
DestinationPoint: SanFrancisco
LengthOfCall: 10minutes
TimeOfDay: Night
CallingPlan: OneRate

生成的快照将包含一条数据, (所有可能的组合) ,如以下示例所示。

CostOfCall: $0.49

GDL 快照可以包含包含数千个项或仅包含一个项的复杂数据结构。 快照中的每个项都可以在客户端不知道的配置上具有自己的一组依赖项。 客户端必须仅提供所需的配置,GDL 分析程序将返回表示与该配置对应的数据的快照。

此外,GDL 允许将所选配置排除为“不允许”。 例如,打印设备可能不希望在透明介质上允许双面打印。 GDL 分析程序接口具有检测是否允许或不允许提供的配置的方法;如果不允许配置,则 方法将最小程度地更改配置,以便允许该配置。 有一些指令用于定义排除的配置和指令来指定参数的相对重要性,以便可以更正配置以解决冲突,并且可以进行更改,以便尽可能保留原始意图。

有关创建与配置相关的数据的详细信息,请参阅 Creating GDL Configuration-Dependent Data