企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持知识库和私有化部署方案 广告
标签是ONOS系统的一种通用系统资源。不同的应用程序可以通过调用ONOS的北向接口使用标签资源。同时,为实现设备驱动与ONOS的通信,ONOS提供了南向标签API。系统提供两种创建一个设备的初始标签资源池的方法,也就是,设备上传和管理员规划。首先,一个网络设备驱动器可以调用南向接口API `deviceLabelResourcePoolDetected`来上传其本地标签到ONOS。其次,ONOS部署时管理员对标签的规划。在为每台设备规划了标签范围后,网络管理app调用北向接口API `createDevicePool`为设备创建标签池。管理规划型标签将覆盖任何从设备上报的标签。全局标签只有管理app通过调用createGlobalPool才能创建。 一旦标签池创建成功,用户app可以通过调用ONOS的北向接口APIs使用标签资源。一个应用程序调用`getDeviceLabelResourcePool`来获得某设备的标签资源池,或者调用`getGlobalLabelResourcePool`函数来创建全局标签资源池,然后调用函数`applyFromDevicePool `或`applyFromGlobalPool`来请求设备标签池中的标签。在请求一个标签之前,应用程序可以检查标签资源在ONOS中的状态。例如,调用`isDevicePoolFull`函数检验池中是否还有剩余标签,或者调用`getFreeNumOfDevicePool`获得池中当前为使用的标签。在使用标签后,应用程序可以调用函数`releaseToDevicePool `或者`releaseToGlobalPool`将标签放回池中。下面列出了ONOS提供的APIs。 ### 南向APIs #### LabelResourceProviderService * `deviceLabelResourcePoolDetected`:该信号表示一个设备标签资源池被检测,或者上传标签到ONOS中。 * `deviceLabelResourcePoolDestroyed`:该信号表示一个标签资源池被销毁。 ### 北向接口 #### LabelResourceAdminService * `createDevicePool`函数创建设备标签资源,范围从起始标签到结束标签。 * `createGlobalPool`函数创建全局标签资源池。 * `destroyDevicePool`函数销毁一个设备标签资源池。 * `destroyGlobalPool`销毁全局标签资源池。 #### LabelResourceService * `applyFromDevicePool` 函数从一个设备资源池中使用标签。 * `applyFromGlobalPool` 函数从一个全局标签资源池中使用标签。 * `releaseToDevicePool` 函数释放标签到设备池中。 * `releaseToGlobalPool`函数释放标签到全局资源池中。 * `isDevicePoolFull `检验设备池是否满。 * `isGlobalPoolFull `函数检验全局资源池是否满。 * `getFreeNumOfDevicePool `函数从设备标签资源池中获取为使用的标签。 * `getFreeNumOfGlobalPool` 函数从全局标签资源池中获取未使用的标签号。 * `getDeviceLabelResourcePool` 函数获取设备标签资源池。 * `getGlobalLabelResourcePool`函数获取全局标签资源池。