两阶段生效模式
基本原理
两阶段生效模式,就是通过两个阶段的操作过程配置才能生效。如图8-1所示,两阶段生效模式分两个步骤进行:
第一阶段用户输入配置命令,系统在候选数据集中进行数据类型、用户级别、操作对象检查,同时进行重复配置检查。对于语法或者语义错误的配置语句,系统将在终端上显示提示信息,提醒用户配置错误及错误原因。
第二阶段用户提交配置,系统进入配置的提交阶段。系统提交候选数据集中的配置到运行数据集。
如果业务生效成功,系统将该配置合并到运行数据集。
如果业务生效失败,系统将提示用户配置错误的信息。用户可以重新输入配置命令修改配置,然后重新提交。
在两阶段生效模式中,如果用户存在未提交的配置时,在对应的视图中用*标识。如果用户所有配置均已提交时,在对应的视图中用~标识。此种情况,用户视图除外。
两阶段生效模式中的几个概念如下:
运行数据集
系统当前运行的配置的集合。
候选数据集
在两阶段生效模式的功能中,系统为每一位用户在设备的内存中创建运行数据集的镜像,即候选数据集。用户可以在其中进行配置编辑,确认编辑完成后,将配置提交至运行数据集。
合法性检查
用户在进入系统视图后,系统为每个用户分配一个候选数据集。用户在分配的候选数据集中进行配置,同时系统基于当前用户的配置,进行合法性检查。
两阶段生效模式可以检查配置是否合法,并提示用户错误信息。合法性的检查包括如下几项:
重复的配置
系统会检测候选数据集中的配置是否与运行数据集中的一致。
如果一致,则系统无需提交,并且提示有哪些重复的配置命令。
如果不一致,则系统提交用户的配置至运行数据集。
数据类型不合法
用户级别无权执行某些命令
操作的对象不存在
使用价值
两阶段生效模式具有以下使用价值:
用户要求对业务的配置能够整体生效。
用户可以预览候选数据集里面的配置。
用户在预览配置后发现业务配置产生错误或配置不符合用户预期时,能够立即清除未生效的配置。
用户要求把配置过程对现有业务的影响降到最低。