一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

查询操作权限的方法、装置、设备及计算机可读存储介质与流程

2022-03-19 12:12:36 来源:中国专利 TAG:


1.本技术涉及通信技术领域,特别涉及查询操作权限的方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着通信技术的发展,越来越多的通信协议被应用于第一网络设备(client)及第二网络设备(server)间的通信过程中,通过远程过程调用(remote procedure call,rpc)机制实现通信的网络配置协议(network configuration,netconf)协议便是其中一种。其中,rpc机制是指:第一网络设备向第二网络设备发送rpc指令,第二网络设备根据该rpc指令向第一网络设备发送响应消息(rpc-reply),从而实现通信的机制。在应用过程中,第二网络设备中往往存储有多个资源,第一网络设备对不同资源可能具有不同的操作权限。因此,亟待提供一种基于上述rpc机制查询第一网络设备对各个资源所具有的操作权限的方法。
3.相关技术中,第一网络设备向第二网络设备发送对目标资源进行目标操作的rpc指令,通过第二网络设备基于该rpc指令返回的响应消息,间接的确定第一网络设备是否具有该目标资源的目标操作权限。例如,第一网络设备向第二网络设备发送针对目标资源进行读取的rpc指令。之后,基于第二网络设备返回的响应消息为用于指示第一网络设备无法进行读取的错误消息(reply-error),则能够确定第一网络设备不具有该目标资源的读取权限。相应地,基于第二网络设备返回的响应消息中包括该目标资源,则能够确定第一网络设备具有该目标资源的读取权限。
4.然而,由于相关技术所提供的方法只能通过第二网络设备返回的响应消息间接确定第一网络设备对各个资源所具有的操作权限,因而该方法不仅不够直接,而且查询效率较低。


技术实现要素:

5.本技术实施例提供了一种查询操作权限的方法、装置、设备及计算机可读存储介质,以解决相关技术提供的问题,技术方案如下:
6.第一方面,提供了一种查询操作权限的方法,以第二网络设备执行该方法为例,第二网络设备接收第一网络设备发送的第一rpc指令,第一rpc指令中包括第一资源的第一标识,该第一rpc指令用于指示查询第一资源的操作权限。之后,第二网络设备解析第一rpc指令得到第一标识,从而根据第一标识获取第一操作权限的值,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限。接着,第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,向第一网络设备发送第一响应消息。
7.通过定义一种用于查询操作权限的rpc指令,使得第二网络设备能够根据rpc指令携带的第一资源的第一标识来获取第一操作权限的值,而该第一操作权限的值用于指示第
一网络设备是否具有对第一资源的第一操作权限,因而根据第一操作权限的值向第一网络设备反馈封装有第一资源的操作权限查询结果的第一响应消息,使得第一网络设备能够直接获得第一资源的操作权限查询结果,由此实现了较为直观的操作权限的查询方式,提高了查询操作权限的效率。
8.在一种可能的实现方式中,第一rpc指令中还包括第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值,第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,包括:基于第一操作权限的值为非目标数值,或者,第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下封装第一操作权限的值,第二网络设备根据第二标识封装第一资源的操作权限查询结果得到第一响应消息,第一资源的操作权限查询结果中包括第一操作权限的值,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的第一操作权限,第一操作权限的值为非目标数值用于指示第一网络设备具有对第一资源的第一操作权限。
9.在第一网络设备不具有对第一资源的第一操作权限的情况下,仍对第一操作权限的值进行封装。因此,第一响应消息中的操作权限查询结果中既包括用于指示具有第一操作权限的第一操作权限的值,也包括用于指示不具有第一操作权限的第一操作权限的值,从而使得操作权限查询结果更加直观。
10.在一种可能的实现方式中,第一rpc指令中还包括第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值,第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,包括:基于第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,第二网络设备根据第二标识的指示封装第一资源的操作权限查询结果得到第一响应消息,第一资源的操作权限查询结果中不包括第一操作权限的值。
11.在第一网络设备不具有对第一资源的第一操作权限的情况下,则不对第一操作权限的值进行封装。因此,第一响应消息中的操作权限查询结果中仅包括用于指示具有第一操作权限的第一操作权限的值,避免造成传输资源的浪费。
12.在一种可能的实现方式中,向第一网络设备发送第一响应消息之后,方法还包括:第二网络设备接收第一网络设备发送的第二rpc指令,第二rpc指令中包括第二资源的第三标识;第二网络设备解析第二rpc指令,得到第三标识;第二网络设备基于与第二网络设备之间建立有会话的各个网络设备确定至少一个目标网络设备;第二网络设备根据第三标识获取各个目标网络设备对应的第二操作权限的值,任一个目标网络设备对应的第二操作权限的值用于指示任一个目标网络设备是否具有对第二资源的第二操作权限;第二网络设备基于检测到任一个目标网络设备对应的第二操作权限更新,获取更新后的第二操作权限的值;第二网络设备封装更新后的第二操作权限的值得到通知消息,向任一个目标网络设备发送通知消息。
13.在检测到目标网络设备对应的第二操作权限的值发生更新时,及时通过通知消息将第二操作权限的值所发生的更新告知目标网络设备,保证了系统安全性。
14.在一种可能的实现方式中,第二rpc指令中还包括用户标识,第二网络设备基于与第二网络设备之间建立有会话的各个网络设备确定至少一个目标网络设备,包括:第二网
络设备将各个第一网络设备中用户标识所指示的网络设备作为目标网络设备。
15.在一种可能的实现方式中,第一资源为另一个下一代yang文件,第一标识为文件名称;
16.第二网络设备根据第一标识获取第一操作权限的值,包括:第二网络设备根据文件名称确定yang文件包括的至少一个子资源,获取各个子资源对应的第三操作权限的值,任一个子资源对应的第三操作权限的值用于指示第一网络设备对任一个子资源的操作权限,任一个子资源具有对应的子标识,至少一个子资源包括数据节点、协议操作以及通知中的至少一个;
17.第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,包括:第二网络设备封装yang文件的操作权限查询结果得到第一响应消息,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
18.在一种可能的实现方式中,第一资源为数据节点,第一标识为节点路径;
19.第二网络设备根据第一标识获取第一操作权限的值,包括:第二网络设备根据节点路径确定数据节点包括至少一个子节点,获取第四操作权限的值及各个子节点对应的第五操作权限的值,第四操作权限的值用于指示第一网络设备对数据节点的操作权限,任一个子节点对应的第五操作权限的值用于指示第一网络设备对任一个子节点的操作权限,任一个子节点具有对应的子路径;
20.第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,包括:第二网络设备封装数据节点的操作权限查询结果得到第一响应消息,数据节点的操作权限查询结果中包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
21.在一种可能的实现方式中,第一资源为协议操作,第一标识为操作路径;
22.第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,包括:第二网络设备封装协议操作的操作权限查询结果得到第一响应消息,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
23.在一种可能的实现方式中,第一资源为通知,第一标识为通知路径;
24.第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,包括:第二网络设备封装通知的操作权限查询结果得到第一响应消息,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
25.第二方面,提供了一种查询操作权限的方法,方法包括:第一网络设备获取待查询操作权限的第一资源的第一标识,封装第一标识得到第一远程过程调用rpc指令,第一rpc指令用于指示查询第一资源的操作权限;第一网络设备向第二网络设备发送第一rpc指令;第一网络设备接收第二网络设备根据第一rpc指令发送的第一响应消息,第一响应消息包括第一资源的操作权限查询结果,第一响应消息是第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到的消息,第一操作权限的值用于指示第一网络设备是
否具有对第一资源的第一操作权限;第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果。
26.在一种可能的实现方式中,封装第一资源的第一标识得到第一远程过程调用rpc指令,包括:第一网络设备获取第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值;第一网络设备封装第一标识及第二标识,得到第一rpc指令。
27.在一种可能的实现方式中,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果,包括:第一网络设备解析第一响应消息,得到的第一资源的操作权限查询结果中包括第一操作权限的值,第一响应消息是基于第一操作权限的值为非目标数值,或者,第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下封装第一操作权限的值,第二网络设备根据第二标识封装第一资源的操作权限查询结果得到的,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的第一操作权限,第一操作权限的值为非目标数值用于指示第一网络设备具有对第一资源的第一操作权限。
28.在一种可能的实现方式中,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果,包括:第一网络设备解析第一响应消息,得到的第一资源的操作权限查询结果中不包括第一操作权限的值,第一响应消息是基于第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,第二网络设备根据第二标识的指示封装第一资源的操作权限查询结果得到的,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的操作权限。
29.在一种可能的实现方式中,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果之后,方法还包括:第一网络设备获取待检测操作权限更新的第二资源的第三标识,第三标识用于第二网络设备获取各个目标网络设备对应的第二操作权限的值,任一个目标网络设备对应的第二操作权限的值用于指示任一个目标网络设备是否具有对第二资源的第二操作权限,基于检测到任一个目标网络设备对应的第二操作权限的值更新,获取更新后的第二操作权限的值,封装更新后的第二操作权限的值得到通知消息,向任一个目标网络设备发送通知消息;第一网络设备封装第三标识得到第二rpc指令,向第二网络设备发送第二rpc指令。
30.在一种可能的实现方式中,第一网络设备封装第三标识得到第二rpc指令,包括:第一网络设备获取用户标识,用户标识用于第二网络设备将用户标识所指示的网络设备作为目标网络设备;第一网络设备封装第二标识及用户标识得到第二rpc指令。
31.在一种可能的实现方式中,第一资源为另一个下一代yang文件,第一标识为文件名称,文件名称用于第二网络设备确定yang文件包括的至少一个子资源,至少一个子资源包括数据节点、协议操作以及通知中的至少一个,任一个子资源具有对应的子标识,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果,包括:第一网络设备解析第一响应消息,得到yang文件的操作权限查询结果,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
32.在一种可能的实现方式中,第一资源为数据节点,第一标识为节点路径,节点路径
用于第二网络设备确定数据节点包括的至少一个子节点,任一个子节点具有对应的子路径,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果,包括:第一网络设备解析第一响应消息,得到数据节点的操作权限查询结果,数据节点的操作权限查询结果包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
33.在一种可能的实现方式中,第一资源为协议操作,第一标识为操作路径,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果,包括:第一网络设备解析第一响应消息,得到协议操作的操作权限查询结果,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
34.在一种可能的实现方式中,第一资源为通知,第一标识为通知路径,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果,包括:第一网络设备解析第一响应消息,得到通知的操作权限查询结果,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
35.第三方面,提供了一种查询操作权限的装置,装置包括:
36.接收模块,用于第二网络设备接收第一网络设备发送的第一远程过程调用rpc指令,第一rpc指令中包括第一资源的第一标识,第一rpc指令用于指示查询第一资源的操作权限;
37.解析模块,用于第二网络设备解析第一rpc指令,得到第一标识;
38.获取模块,用于第二网络设备根据第一标识获取第一操作权限的值,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限;
39.发送模块,用于第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,向第一网络设备发送第一响应消息。
40.在一种可能的实现方式中,第一rpc指令中还包括第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值,发送模块,用于基于第一操作权限的值为非目标数值,或者,第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下封装第一操作权限的值,第二网络设备根据第二标识封装第一资源的操作权限查询结果得到第一响应消息,第一资源的操作权限查询结果中包括第一操作权限的值,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的第一操作权限,第一操作权限的值为非目标数值用于指示第一网络设备具有对第一资源的第一操作权限。
41.在一种可能的实现方式中,第一rpc指令中还包括第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值,发送模块,用于基于第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,第二网络设备根据第二标识的指示封装第一资源的操作权限查询结果得到第一响应消息,第一资源的操作权限查询结果中不包括第一操作权限的值。
42.在一种可能的实现方式中,接收模块,还用于第二网络设备接收第一网络设备发送的第二rpc指令,第二rpc指令中包括第二资源的第三标识;第二网络设备解析第二rpc指令,得到第三标识;第二网络设备基于与第二网络设备之间建立有会话的各个网络设备确
定至少一个目标网络设备;第二网络设备根据第三标识获取各个目标网络设备对应的第二操作权限的值,任一个目标网络设备对应的第二操作权限的值用于指示任一个目标网络设备是否具有对第二资源的第二操作权限;第二网络设备基于检测到任一个目标网络设备对应的第二操作权限更新,获取更新后的第二操作权限的值;第二网络设备封装更新后的第二操作权限的值得到通知消息,向任一个目标网络设备发送通知消息。
43.在一种可能的实现方式中,第二rpc指令中还包括用户标识,接收模块,用于第二网络设备将各个第一网络设备中用户标识所指示的网络设备作为目标网络设备。
44.在一种可能的实现方式中,第一资源为另一个下一代yang文件,第一标识为文件名称;
45.获取模块,用于第二网络设备根据文件名称确定yang文件包括的至少一个子资源,获取各个子资源对应的第三操作权限的值,任一个子资源对应的第三操作权限的值用于指示第一网络设备对任一个子资源的操作权限,任一个子资源具有对应的子标识,至少一个子资源包括数据节点、协议操作以及通知中的至少一个;
46.发送模块,用于第二网络设备封装yang文件的操作权限查询结果得到第一响应消息,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
47.在一种可能的实现方式中,第一资源为数据节点,第一标识为节点路径;
48.获取模块,用于第二网络设备根据节点路径确定数据节点包括至少一个子节点,获取第四操作权限的值及各个子节点对应的第五操作权限的值,第四操作权限的值用于指示第一网络设备对数据节点的操作权限,任一个子节点对应的第五操作权限的值用于指示第一网络设备对任一个子节点的操作权限,任一个子节点具有对应的子路径;
49.发送模块,用于第二网络设备封装数据节点的操作权限查询结果得到第一响应消息,数据节点的操作权限查询结果中包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
50.在一种可能的实现方式中,第一资源为协议操作,第一标识为操作路径;
51.发送模块,用于第二网络设备封装协议操作的操作权限查询结果得到第一响应消息,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
52.在一种可能的实现方式中,第一资源为通知,第一标识为通知路径;
53.发送模块,用于第二网络设备封装通知的操作权限查询结果得到第一响应消息,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
54.第四方面,提供了一种查询操作权限的装置,装置包括:
55.获取模块,用于第一网络设备获取待查询操作权限的第一资源的第一标识,封装第一标识得到第一远程过程调用rpc指令;
56.发送模块,用于第一网络设备向第二网络设备发送第一rpc指令;
57.接收模块,用于第一网络设备接收第二网络设备根据第一rpc指令发送的第一响应消息,第一响应消息包括第一资源的操作权限查询结果,第一响应消息是第二网络设备
根据第一操作权限的值封装第一资源的操作权限查询结果得到的消息,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限;
58.解析模块,用于第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果。
59.在一种可能的实现方式中,获取模块,用于第一网络设备获取第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值;第一网络设备封装第一标识及第二标识,得到第一rpc指令。
60.在一种可能的实现方式中,解析模块,用于第一网络设备解析第一响应消息,得到的第一资源的操作权限查询结果中包括第一操作权限的值,第一响应消息是基于第一操作权限的值为非目标数值,或者,第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下封装第一操作权限的值,第二网络设备根据第二标识封装第一资源的操作权限查询结果得到的,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的第一操作权限,第一操作权限的值为非目标数值用于指示第一网络设备具有对第一资源的第一操作权限。
61.在一种可能的实现方式中,解析模块,用于第一网络设备解析第一响应消息,得到的第一资源的操作权限查询结果中不包括第一操作权限的值,第一响应消息是基于第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,第二网络设备根据第二标识的指示封装第一资源的操作权限查询结果得到的,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的操作权限。
62.在一种可能的实现方式中,获取模块,还用于第一网络设备获取待检测操作权限更新的第二资源的第三标识,第三标识用于第二网络设备获取各个目标网络设备对应的第二操作权限的值,任一个目标网络设备对应的第二操作权限的值用于指示任一个目标网络设备是否具有对第二资源的第二操作权限,基于检测到任一个目标网络设备对应的第二操作权限的值更新,获取更新后的第二操作权限的值,封装更新后的第二操作权限的值得到通知消息,向任一个目标网络设备发送通知消息;
63.发送模块,还用于第一网络设备封装第三标识得到第二rpc指令,向第二网络设备发送第二rpc指令。
64.在一种可能的实现方式中,发送模块,用于第一网络设备获取用户标识,用户标识用于第二网络设备将用户标识所指示的网络设备作为目标网络设备;第一网络设备封装第二标识及用户标识得到第二rpc指令。
65.在一种可能的实现方式中,第一资源为另一个下一代yang文件,第一标识为文件名称,文件名称用于第二网络设备确定yang文件包括的至少一个子资源,至少一个子资源包括数据节点、协议操作以及通知中的至少一个,任一个子资源具有对应的子标识,解析模块,用于第一网络设备解析第一响应消息,得到yang文件的操作权限查询结果,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
66.在一种可能的实现方式中,第一资源为数据节点,第一标识为节点路径,节点路径用于第二网络设备确定数据节点包括的至少一个子节点,任一个子节点具有对应的子路
径,解析模块,用于第一网络设备解析第一响应消息,得到数据节点的操作权限查询结果,数据节点的操作权限查询结果包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
67.在一种可能的实现方式中,第一资源为协议操作,第一标识为操作路径,解析模块,用于第一网络设备解析第一响应消息,得到协议操作的操作权限查询结果,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
68.在一种可能的实现方式中,第一资源为通知,第一标识为通知路径,解析模块,用于第一网络设备解析第一响应消息,得到通知的操作权限查询结果,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
69.第五方面,提供了一种查询操作权限的设备,该设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现第一方面或第一方面的任一种可能的实施方式中的方法。
70.第六方面,提供了一种查询操作权限的设备,设备包括存储器及处理器;存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现第二方面或第二方面的任一种可能的实施方式中的方法。
71.第七方面,提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
72.第八方面,提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第二方面或第二方面的任一种可能的实施方式中的方法。
73.可选地,处理器为一个或多个,存储器为一个或多个。
74.可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
75.在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
76.第九方面,提供了一种查询操作权限的系统,系统包括:第一网络设备及第二网络设备,第一网络设备及第二网络设备通信连接;第二网络设备用于执行第一方面或第一方面的任一种可能的实施方式中的方法,第一网络设备用于执行第二方面或第二方面的任一种可能的实施方式中的方法。
77.第十方面,提供了一种计算机程序(产品),计算机程序(产品)包括:计算机程序代
码,当计算机程序代码被计算机运行时,使得计算机执行上述各方面中的方法。
78.第十一方面,提供了一种可读存储介质,可读存储介质存储程序或指令,当程序或指令在计算机上运行时,上述各方面中的方法被执行。
79.第十二方面,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行上述各方面中的方法。
80.第十三方面,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述各方面中的方法。
附图说明
81.图1为本技术实施例提供的网络架构示意图;
82.图2为本技术实施例提供的netconf协议的分层结构图;
83.图3为本技术实施例提供的查询操作权限的方法的流程图;
84.图4为本技术实施例提供的用于定义协议操作的程序示意图;
85.图5为本技术实施例提供的鉴权过程的流程示意图;
86.图6为本技术实施例提供的rpc指令结构的示意图;
87.图7为本技术实施例提供的程序示意图;
88.图8为本技术实施例提供的程序示意图;
89.图9为本技术实施例提供的程序示意图;
90.图10为本技术实施例提供的程序示意图;
91.图11为本技术实施例提供的程序示意图;
92.图12为本技术实施例提供的程序示意图;
93.图13为本技术实施例提供的程序示意图;
94.图14为本技术实施例提供的程序示意图;
95.图15为本技术实施例提供的程序示意图;
96.图16为本技术实施例提供的程序示意图;
97.图17为本技术实施例提供的程序示意图;
98.图18为本技术实施例提供的程序示意图;
99.图19为本技术实施例提供的程序示意图;
100.图20为本技术实施例提供的程序示意图;
101.图21为本技术实施例提供的程序示意图;
102.图22为本技术实施例提供的程序示意图;
103.图23为本技术实施例提供的程序示意图;
104.图24为本技术实施例提供的程序示意图;
105.图25为本技术实施例提供的程序示意图;
106.图26为本技术实施例提供的程序示意图;
107.图27为本技术实施例提供的程序示意图;
108.图28为本技术实施例提供的程序示意图;
109.图29为本技术实施例提供的程序示意图;
110.图30为本技术实施例提供的程序示意图;
111.图31为本技术实施例提供的程序示意图;
112.图32为本技术实施例提供的程序示意图;
113.图33为本技术实施例提供的程序示意图;
114.图34为本技术实施例提供的查询操作权限的装置的结构示意图;
115.图35为本技术实施例提供的查询操作权限的装置的结构示意图;
116.图36为本技术实施例提供的查询操作权限的设备的结构示意图。
具体实施方式
117.本技术的实施方式部分使用的术语仅用于对本技术的具体实施例进行解释,而非旨在限定本技术。
118.本技术实施例提供了一种查询操作权限的方法,该方法应用于如图1所示的网络结构中。图1中,包括第一网络设备及第二网络设备,第一网络设备及第二网络设备通信连接。其中,第一网络设备上运行有虚拟机(virtual machine,vm)或者操作系统linux,以软件形式部署于vm或者linux上的管理系统(或称:网管)用于作为netconf协议中的客户端(netconf client)。示例性地,该管理系统为企业管理系统(enterprise management system,ems)或者网络管理系统(network management system,nms),例如u2000、m2000、esight以及dt等管理系统。另外,第二网络设备用于作为netconf协议中的服务器(netconf server)。第二网络设备包括但不限于服务器、路由器以及交换机。
119.在本实施例中,第一网络设备用于向第二网络设备发送用于指示查询资源的操作权限的rpc指令,该rpc指令中包括资源的标识,从而根据第二网络设备基于该rpc指令返回的响应消息获取第一网络设备对该资源的操作权限查询结果。此外,该第一网络设备还用于向第二网络设备发送用于指示检测资源的操作权限更新的rpc指令,从而在第一网络设备对资源的操作权限发生更新的情况下,接收第二网络设备发送的通知(notification),以便于根据该通知得到更新后的操作权限。
120.第二网络设备包括网络接口、存储器及处理器。其中,网络接口用于与第一网络设备进行通信连接,存储器用于存储各个资源的操作权限。处理器用于在通过网络接口接收到第一网络设备发送的用于指示查询资源的操作权限的rpc指令之后,根据rpc中包括的资源的标识获取第一网络设备对资源的操作权限的值。通过网络接口向第一网络设备返回响应消息,该响应消息中携带资源的操作权限查询结果。处理器还用于在通过网络接口接收到第一网络设备发送的用于指示检测资源的操作权限更新的rpc指令之后,基于检测到第一网络设备对资源的操作权限更新,则获取更新后的操作权限,通过网络接口向第一网络设备返回携带更新后的操作权限的通知。
121.另外,为便于对本技术实施例所提供的方法进行说明,首先对实施例中涉及的通信术语进行说明如下。
122.netconf协议:一种基于可扩展标记语言(extensible markup language,xml)的网络配置和管理协议,使用上述rpc机制实现第一网络设备及第二网络设备之间的通信。在通信过程中,第一网络设备及第二网络设备之间交互的数据及消息均采用xml格式。其中,数据包括配置数据及状态数据,消息包括你好(hello)消息、rpc消息及通知消息,rpc消息
是指上述rpc指令及响应消息。参见图2,netconf协议采用分层结构,包括传输协议(transport protocol)层、rpc层、协议操作(operations)层以及内容(content)层。对各层进行说明如下:
123.传输协议层:用于为第一网络设备及第二网络设备之间的通信提供通信路径,netconf
124.协议能够使用任何符合基本要求的传输层协议承载。示例性地,传输层协议为安全外壳(secure shell,ssh)协议。
125.rpc层:用于提供上述rpc机制。
126.协议操作层:用于定义在rpc机制中使用的操作,在rpc机制中使用的操作也称为rpc操作。协议操作例如为:获取配置(get-config)及编辑配置(edit-config)等操作。
127.内容层:用于描述网络管理所涉及的配置数据。
128.另一个下一代(yet another next generation,yang)模型:一种应用于netconf协议中协议操作层及内容层的数据模型语言(data modeling language)。yang模型定义了数据的层次化结构,用于对第一网络设备及第二网络设备之间交互的数据及消息进行描述。在第一网络设备或第二网络设备内部采用xml格式以外的其他格式来描述数据及消息的情况下,通过yang模型即可将其他格式转换为xml格式,以便于进行在第一网络设备及第二网络设备之间进行交互。
129.能力(capabilities):用于指示第一网络设备及第二网络设备所能够执行的协议操作,每个能力通过一个统一资源标识符(uniform resource identifier,uri)进行标识。在通信过程中,第一网络设备及第二网络设备首先建立会话(session)。之后,第一网络设备及第二网络设备通过hello消息交互各自支持的能力以及netconf协议版本。因此,第一网络设备向第二网络设备发送的rpc指令仅用于指示第二网络设备执行第二网络设备所能够执行的协议操作,也就是仅令第二网络设备执行能力所指示的协议操作。
130.netconf协议定义了基本能力base1.0以及一组标准能力,基本能力是第一网络设备及第二网络设备必须支持的能力集,而标准能力是第一网络设备及第二网络设备能够选择支持的能力。另外,第一网络设备及第二网络设备还能够自行定义新的能力,从而基于新的能力定义新的协议操作。
131.基于上述图1所示的网络架构,本技术实施例提供了一种查询操作权限的方法,参见图3,该方法包括如下的步骤301-308。
132.301,第一网络设备获取待查询操作权限的第一资源的第一标识,封装第一标识得到第一rpc指令,第一rpc指令用于指示查询第一资源的操作权限。
133.其中,第一资源是根据yang模型定义得到的资源,第一资源的第一标识用于对第一资源进行唯一指示。示例性地,第一资源及第一标识包括但不限于如下的四种情况:
134.情况一:第一资源为yang文件。yang模型中以yang文件(module)作为基本单元,本实施例中将yang模型定义的yang文件作为yang文件。相应地,第一标识为文件名称,也就是文件名称(module-name)。示例性地,yang文件中包含对yang文件本身进行描述的说明(description)、版本(revision)等语句,还包括数据节点(data node)、协议操作以及通知中的至少一个。
135.情况二:第一资源为数据节点,第一标识为节点路径(data-node-path)。其中,由
于netconf协议是基于xml的协议,因而该数据节点的节点路径为xml路径语言(xml path language,xpath)。
136.情况三:第一资源为协议操作,第一标识为操作路径。其中,协议操作具有操作名称(rpc-name)。由于协议操作位于yang文件中,因而基于协议操作的操作名称及协议操作所在yang文件的文件名称能够得到协议操作的操作路径,该操作路径为xpath。
137.情况四:第一资源为通知,第一标识为通知路径。其中,通知具有通知名称(notification-name),通知路径为包含通知名称及通知所在yang文件的文件名称的xpath。
138.在本实施例中,在第二网络设备中定义了一种新的能力。示例性地,该新的能力对应的uri表示如下:
139.《capability》http://www.huawei.com/netconf/capability/netconf-resource:1.0《/capability》
140.基于该新的能力,本实施例还按照图4定义了一种新的协议操作,该新的协议操作用于作为第一网络设备所发送的第一rpc指令。该新的协议操作中包括输入(input)参数及输出(output)参数。基于该新的协议操作,第二网络设备能够根据第一网络设备提供的输入参数返回输出参数。因此,本实施例将第一标识作为输入参数,将第一操作权限的值作为输出参数。其中,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限。
141.图4中,输入参数包括强制性(mandatory)的选择(choice)节点,该选择节点为图4中示出的节点类型(node-type)。根据图4可知,该选择节点包括两种选项module-name及node-path。也就是说,第一网络设备提供文件名称或者xpath均能够实现第一操作权限的查询。其中,选项module-name对应于上述情况一中的文件名称,选项node-path对应上述情况二中的节点路径、情况三中的操作路径以及情况四中的通知路径。
142.输出参数包括三个容器(container)节点data、rpc及notification。各个容器节点中的访问操作(access-operations)即为操作权限。netconf协议提供一种鉴权机制,即netconf访问控制模型(netconf access control model,nacm)鉴权机制。根据nacm鉴权机制的定义,第一操作权限的值包括但不限于:用于指示创建权限的create、用于指示删除权限delete、用于指示读取权限的read、用于指示更新权限的update以及用于指示执行权限的exec。另外,还包括用于指示无操作权限的none。根据输出参数中各个容器节点可知,第二网络设备返回至第一网络设备的操作权限包括第一网络设备对数据节点的操作权限、第一网络设备对协议操作的操作权限以及第一网络设备对通知的操作权限中的至少一种。
143.另外,根据图4可知,input参数中还包括第二标识(without-none),该第二标识会在后文进行说明,此处先不进行赘述。
144.302,第一网络设备向第二网络设备发送第一rpc指令。
145.在第一网络设备封装得到第一rpc指令后,便能够通过第一网络设备及第二网络设备之间的会话向第二网络设备发送该第一rpc指令。
146.303,第二网络设备接收第一网络设备发送的第一rpc指令,第一rpc指令中包括第一资源的第一标识,第一rpc指令用于指示查询第一资源的操作权限。
147.由于第一网络设备通过会话发送了第一rpc指令,因而第二网络设备能够通过会
话对第一网络设备发送的第一rpc指令进行接收。
148.304,第二网络设备解析第一rpc指令,得到第一标识。
149.在第二网络设备解析第一rpc指令之后,便能够得到第一rpc指令中携带的第一标识,第二网络设备根据该第一标识能够确定待查询操作权限的第一资源。基于301中定义的新的协议操作,第二网络设备进一步获取该第一网络设备对该第一资源的第一操作权限的值,以便于根据该第一操作权限的值封装第一资源的操作权限查询结果返回至第一网络设备,详见305中的说明。
150.305,第二网络设备根据第一标识获取第一操作权限的值,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限。
151.根据301中的说明可知,第一操作权限的值包括但不限于create、delete、read、update、exec以及none。其中,基于第一操作权限的值为create、delete、read、update以及exec中的至少一个,则第一操作权限的值指示第一网络设备具有对第一资源的第一操作权限。基于第一操作权限的值为none,则第一操作权限的值指示第一网络设备不具有对第一资源的第一操作权限。在第一资源不同的情况下,第二网络设备获取第一操作权限的值的方式也有所不同,以下对四种情况分别进行说明。
152.对应于情况一的获取方式一:对于第一资源为yang文件、第一标识为文件名称的情况,获取方式包括:根据文件名称确定yang文件包括的至少一个子资源,获取各个子资源对应的第三操作权限的值,任一个子资源对应的第三操作权限的值用于指示第一网络设备对该任一个子资源的操作权限,至少一个子资源包括数据节点、协议操作以及通知中的至少一个。
153.也就是说,在第一资源为yang文件的情况下,第二网络设备所获取的并非是第一网络设备对yang文件的操作权限,而是第一网络设备对yang文件中所包括的各个子资源的操作权限。能够理解的是,在yang文件包括任一个子资源的情况下,本实施例不对yang文件所包括的该子资源的数量进行限定。例如,在yang文件包括协议操作的情况下,yang文件中能够包括一个或多个协议操作。
154.其中,任一个数据节点对应的第三操作权限的值包括create、read、delete、update以及exec中的一个或多个。例如,第一网络设备对任一个数据节点的操作权限为:第一网络设备能够对该数据节点进行读取和删除,则该任一个数据节点的第三操作权限的值为read及delete。或者,在第一网络设备对任一个数据节点不具有任何操作权限的情况下,该任一个资源的第三操作权限的值为none。另外,任一个协议操作对应的第三操作权限的值为exec或none,也就是第一网络设备对任一个协议操作最多仅能具有执行权限,而不会具有创建、读取、删除及更新中的任一权限。任一个通知对应的第三操作权限的值为read或none,即第一网络设备对任一个通知最多仅能具有读取权限,而不会具有创建、删除、更新及执行中的任一权限。
155.需要说明的是,由于xml采用树形结构,因而yang文件所包括的数据节点能够分为多层,位于上层的数据节点能够包括位于下层的数据节点。例如,一个顶层数据节点能够包括一个或多个一层数据节点,一个一层数据节点能够包括一个或多个二层数据节点,以此类推。因此,在yang文件包括多层数据节点的情况下,第二网络设备获取第一网络设备对参考数量层数据节点中各个数据节点的操作权限。能够理解的是,本实施例不对参考数量的
取值加以限定,参考数量的取值根据经验或实际需要设置即可。示例性地,参考数量的取值为一,也就是第二网络设备获取第一网络设备对yang文件中各个顶层数据节点的操作权限。
156.在本实施例中,第二网络设备根据请求评论(request for comment,rfc)8341中的定义获取第一网络设备对各个子资源的操作权限。对于任一个子资源,获取步骤均可参见图5。其中,在确定第一网络设备使能之后,确定第一网络设备与第二网络设备之间的会话是否为恢复会话(recovery session),在为恢复会话的情况下允许执行操作。之后,确定第一网络设备是否执行关闭会话(close session),在执行关闭会话的情况下允许执行操作。在不执行关闭会话的情况下,则确定各个用户组中是否包括与第一网络设备的用户标识(user-name)相同的用户标识。其中,用户组是包括一个或多个用户的组。在任一个用户组中包括与第一网络设备的用户标识相同的用户标识的情况下,则说明第一网络设备是该任一个用户组中的用户。因此,遍历各个规则列表,确定与该任一个用户组相匹配的规则列表,在确定具有相匹配的规则列表的情况下,则进一步从该相匹配的规则列表中获取相应的规则,从而得到第一网络设备对资源的操作权限。接着,校验鉴权规则的匹配模式“exec-default”的取值,在取值为permit的情况下,则允许执行操作,否则拒绝执行操作。
157.另外,由图5可知,对于用户组不存在第一网络设备的用户标识、不存在与用户标识所在用户组匹配的规则列表以及规则列表中不存在所匹配的规则三种情况,均需要执行访问控制规则。在执行访问控制规则之后,再执行校验鉴权规则的匹配模式,从而根据取值是否为permit确定允许执行操作或者拒绝执行操作。其中,不同的子资源对应的访问控制规则也有所不同,在获取方式二、三及四中分别进行说明。
158.对应于情况二的获取方式二:对于第一资源为数据节点、第一标识为节点路径的情况,获取方式包括:基于根据节点路径确定数据节点包括至少一个子节点,获取第四操作权限的值及各个子节点对应的第五操作权限的值,第四操作权限的值用于指示第一网络设备对数据节点的操作权限,任一个子节点对应的第五操作权限的值用于指示第一网络设备对任一个子节点的操作权限,任一个子节点具有对应的子路径。
159.根据获取方式一中的说明可知,任一个数据节点均能够包括一个或多个位于该任一个数据节点下层的子节点。基于根据节点路径确定数据节点包括至少一个子节点,则分别获取上述第四操作权限的值以及各个子节点对应的第五操作权限的值。以数据节点为yang文件中的一层数据节点为例,则子节点能够为yang文件中的各个二层数据节点。或者,子节点也能够为yang文件中的二层数据节点、三层数据节点及更多层数据节点。
160.能够理解的是,对于节点路径对应的数据节点不包括子节点的情况,也就是节点路径对应的数据节点为yang文件中的底层数据节点的情况,第二网络设备直接获取第四操作权限的值即可。
161.另外,在第一资源为数据节点的情况下,访问控制规则包括但不限于如下四种:
162.1、任一个数据节点定义中包含“nacm:default-deny-all”声明,则该数据节点不支持读取操作和写(write)操作。其中,write操作包括create操作及delete操作。
163.2、任一个数据节点定义中包含“nacm:default-deny-write”声明,则该数据节点不支持write操作。
164.3、第一网络设备具备执行查询操作权限,也就是“read-default”的取值为“permit”,则第一网络设备具有读取权限,否则第一网络设备不具有读取权限。
165.4、第一网络设备具备执行配置操作权限,也就是“write-default”的取值为“permit”,则第一网络设备具有写权限,否则第一网络设备不具有写权限。
166.对应于情况三的获取方式三:对于第一资源为协议操作、第一标识为操作路径的情况,获取方式包括:根据操作路径确定第一操作权限的值,该第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
167.第一网络设备对任一个协议操作最多仅能具有执行权限,也即是说第一操作权限的值为exec或者none。基于第一操作权限的值为exec,则指示第一网络设备对协议操作具有执行权限。基于第一操作权限的值为none,则指示第一网络设备对协议操作不具有执行权限。
168.在第一资源为协议操作的情况下,访问控制规则包括但不限于如下三种:
169.1、基于yang文件定义的协议操作包含nacm:default-deny-all声明,则拒绝执行rpc请求的操作。
170.2、基于协议操作为《kill-session》或者《delete-config》,拒绝执行rpc请求的操作。
171.3、基于第一网络设备具有协议操作的默认执行权限,则该第一网络设备具有协议操作的执行权限。基于第一网络设备不具有协议操作的默认执行权限,则第一网络设备不具有协议操作的执行权限。
172.对应于情况四的获取方式四:对于第一资源为通知、第一标识为通知路径的情况,获取方式包括:根据通知路径确定第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
173.第一操作权限的值为read或none,read指示第一网络设备对通知具有读取权限,而none指示第一网络设备对通知不具有读取权限。在第一资源为通知的情况下,访问控制规则包括但不限于如下两种:
174.1、基于通知的声明中包含“nacm:default-deny-all”声明,则不允许读取通知。
175.2、基于第一网络设备具备执行查询操作权限,则该第一网络设备具有通知的读取权限。基于第一网络设备不具有执行查询操作权限,则第一网络设备不具有通知的读取权限。
176.306,第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,向第一网络设备发送第一响应消息。
177.对应于情况一的封装方式一:由于第一资源为yang文件的情况下,第一操作权限是指第一网络设备对yang文件中各个子资源的操作权限,因而封装方式包括:封装yang文件的操作权限查询结果得到第一响应消息,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
178.其中,任一个子资源具有对应的子标识。数据节点对应的子标识为节点路径,协议操作对应的子标识为操作路径,通知对应的子标识为通知路径。通过令子标识及子资源对应的第三操作权限的值一一对应,便于指示第一响应消息中显示的任一个第三操作权限的值所指示的是第一网络设备对哪一个子资源的操作权限,从而避免了不同的第三操作权限的值相互混淆。
179.示例性地,在子资源为协议操作的情况下,除了将操作路径与第三操作权限的值相对应,还能够将协议操作的操作名称与第三操作权限的值相对应。此种对应方式也能够指示出第一响应消息中显示的任一个第三操作权限的值所指示的是第一网络设备对哪一个子资源的操作权限。相应地,在子资源为通知的情况下,除了将通知路径与第三操作权限的值相对应,还能够将通知的通知名称与第三操作权限的值相对应。
180.封装方式一的示例一:参见图6,图6示出了yang文件ietf-interfaces包括两个顶层数据节点interfaces及interfaces-state,而未包含协议操作及通知的情况。第一网络设备向第二网络设备发送如图7所示的第一rpc指令,该第一rpc指令中包括文件名称ietf-interfaces。相应地,第二网络设备向第一网络设备发送如图8所示的第一响应消息,该第一响应消息中包括相对应的顶层数据节点interfaces的节点路径及interfaces对应的第三操作权限的值create、read、update以及delete,从而指示第一网络设备对顶层数据节点interfaces具有创建、读取、更新及删除四种权限。该第一响应消息中还包括顶层数据节点interfaces-state的节点路径以及interfaces-state对应的第三操作权限的值read,从而指示第一网络设备对顶层数据节点interfaces-state具有读取权限。
181.封装方式一的示例二:参见图9,图9示出了yang文件ietf-netconf-monitoring包括一个顶层数据节点netconf-state以及一个协议操作get-schema,而未包含通知的情况。第一网络设备向第二网络设备发送如图10所示的第一rpc指令,该第一rpc指令中包括文件名称ietf-netconf-monitoring。相应地,第二网络设备向第一网络设备返回如图11所示的第一响应消息。该第一响应消息中包括相对应的顶层数据节点netconf-state的节点路径以及netconf-state对应的第三操作权限的值read,从而是指第一网络设备对顶层数据节点netconf-state具有读取操作权限。该第一响应消息中还包括相对应的协议操作的操作名称get-schema以及get-schema对应的第三操作权限的值exec,从而指示第一网络设备对该协议操作get-schema具有执行权限。
182.封装方式一的示例三:参见图12,图12示出了yang文件ietf-netconf-notification包括五个通知netconf-config-change、netconf-capability-change、netconf-session-start、netconf-session-end以及netconf-confirmed-commit,而未包括数据节点及协议操作的情况。第一网络设备向第二网络设备发送如图13所示的第一rpc指令,该第一rpc指令中包括文件名称ietf-netconf-notification。第二网络设备向第一网络设备返回如图14所示的第一响应消息,该第一响应消息中包括五个第三操作权限的值,均为read。由此能够得知,第一网络设备对五个通知均具有读取权限。
183.对应于情况二的封装方式二:基于数据节点包括至少一个子节点,则封装方式包括:封装数据节点的操作权限查询结果得到第一响应消息,数据节点的操作权限查询结果中包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
184.需要说明的是,第四操作权限的值以及第五操作权限的值相同或不同,且第五操作权限的值也能够存在不同。以数据节点包括两个子节点为例,第四操作权限的值为read,两个第五操作权限的值分别为read及none。则,第一网络设备对数据节点具有读取权限,第一网络设备对数据节点中的其中一个子节点具有读取权限,而对另一个子节点不具有任何
操作权限。
185.封装方式二的示例一:参见图15,图15示出了数据节点netconf-state包括五个子节点capabilities、datastores、schemas、sessions以及statistics的情况。第一网络设备向第二网络设备发送如图16所示的第一rpc指令,该第一rpc指令中包括数据节点netconf-state的节点路径/netconf/data/ietf-netconf-monitoring:netconf-state。相应地,第二网络设备根据第一rpc指令中的节点路径确定该数据节点所包括的各个子节点,任一个子节点具有对应的子路径。
186.第二网络设备获取各个子节点对应的第五操作权限的值,向第一网络设备发送如图17所示的第一响应消息。其中,节点路径/netconf/data/ietf-netconf-monitoring:netconf-state对应第四操作权限的值read,从而指示第一网络设备对数据节点netconf-state具有读取权限。另外,第一响应消息中各个子节点对应的第五操作权限的值如下:
187.子路径/netconf/data/ietf-netconf-monitoring:netconf-state/capabilities与子节点capabilities对应的第五操作权限的值read相对应;
188.子路径/netconf/data/ietf-netconf-monitoring:netconf-state/datastores与子节点datastores对应的第五操作权限的值read相对应;
189.子路径/netconf/data/ietf-netconf-monitoring:netconf-state/schemas与子节点schemas对应的第五操作权限的值read相对应;
190.子路径/netconf/data/ietf-netconf-monitoring:netconf-state/sessions与子节点sessions对应的第五操作权限的值read相对应;
191.子路径/netconf/data/ietf-netconf-monitoring:netconf-state/statistics与子节点statistics对应的第五操作权限的值read相对应。
192.在封装方式二的示例一的基础上,第一网络设备还能够基于第一响应消息中所返回的各个子节点的子路径,进一步封装任一个子节点的子路径得到第一rpc指令,通过该第一rpc指令获取第一网络设备对任一个子节点所包括的各个其他子节点的子路径及操作权限的值,从而实现资源发现。
193.例如,第一网络设备封装上述子节点schemas的子路径得到如图18所示的第一rpc消息。第二网络设备根据该第一rpc消息向第一网络设备返回如图19所示的第一响应消息。该第一响应消息中包括子节点schemas对应的操作权限的值、其他子节点schemas-schema的子路径/netconf/data/ietf-netconf-monitoring:netconf-state/schemas/schema以及其他子节点schemas-schema对应的操作权限的值为read。能够理解的是,其他子节点schemas-schema即是子节点schemas所包括的子节点。
194.对应于情况三的封装方式三:第二网络设备在获取到第一操作权限的值之后,封装协议操作的操作权限查询结果得到第一响应消息,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。示例性地,由于协议操作不会包含子协议操作,即使第二网络设备不对该任一个协议操作的操作路径或者操作名称进行封装,也不会造成操作权限的混淆,因而第二网络设备也能够直接封装第一操作权限的值。
195.封装方式三的示例一:参见图20,图20示出了协议操作为get-schema的情况。该协议操作的操作路径为/netconf/operations/ietf-netconf-monitoring:get-schema。第一
网络设备向第二网络设备发送包含该操作路径的如图21所示的第一rpc指令。接着,第二网络设备向第一网络设备返回如图22所示的第一响应消息,该第一响应消息中包括协议操作的操作名称get-schema以及第一操作权限的值exec,从而指示第一网络设备对get-schema这一协议操作具有执行权限。
196.对应于情况四的封装方式四:在第二网络设备获取第一操作权限的值之后,封装通知的操作权限查询结果得到第一响应消息,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
197.封装方式四的示例一:参见图23,图23示出通知数量为五个的情况。其中,基于第一网络设备需要查询对netconf-config-change的第一操作权限,则第一网络设备发送如图24所示的第一rpc指令,该第一rpc指令中包括netconf-config-change的通知路径。相应地,第二网络设备向第一网络设备返回如图25所示的第一响应消息,该第一响应消息中包括路径名称netconf-config-change以及第一操作权限的值read,从而指示第一网络设备对netconf-config-change这一通知具有读取权限。
198.能够看出,上述四种封装方式中,第二网络设备均是将获取到的第一操作权限的值直接作为第一资源的操作权限查询结果。示例性地,第二网络设备除了将第一操作权限的值直接作为第一资源的操作权限查询结果之外,还可以根据标识的指示确定第一资源的操作权限查询结果。
199.因此,在示例性实施例中,第一网络设备所发送的第一rpc指令中还包括第二标识,即图4中所示的without-none。也就是说,第一网络设备封装第一标识得到第一rpc指令包括:第一网络设备获取第二标识,封装第一标识及第二标识,得到第一rpc指令。其中,该第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值。
200.在本实施例中,根据第一操作权限的值是否为目标数值来指示第一网络设备对第一资源是否具有第一操作权限,该目标数值即为none。其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的第一操作权限,第一操作权限的值为非目标数值用于指示第一网络设备具有对第一资源的第一操作权限。
201.示例性地,在第二标识为true的情况下,第二标识用于指示在不具有第一操作权限的情况下不封装第一操作权限的值。而在第二标识为false的情况下,第二标识用于指示在不具有第一操作权限的情况下仍封装第一操作权限的值。图26示出了第一网络设备发送的第一rpc消息中第二标识为true的情况。
202.相应地,第二网络设备解析第一rpc指令之后,得到第一标识以及该第二标识。在根据得到的第一标识获取第一操作权限的值之后,第二网络设备基于该第二标识的指示确定封装方式。
203.其中,基于第一操作权限的值为非目标数值,或者,第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下仍封装第一操作权限的值,再按照上述说明中的方式,将第一操作权限的值作为第一资源的操作权限查询结果,从而得到第一响应消息。例如,图27示出了协议操作netconf-capability-change对应的第一操作权限的值为目标数值none的情况。根据第二标识的指示,第二网络设备将该第一操作权限的值none与其他不为none的第一操作权限的值一并进行封装,从而得到第一响应消息。
204.能够理解的是,在此种情况下,第一网络设备接收到的第一响应消息中,第一资源
的操作权限查询结果中包括第二网络设备所获取到的所有第一操作权限的值。各个第一操作权限的值为none,或者为none以外的其他值。
205.或者,基于第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,根据第二标识的指示封装得到不包括第一操作权限的值的操作权限查询结果,从而得到第一响应消息。
206.示例性地,第二网络设备能够获取到多个第一操作权限的值。例如,上述情况一中第一资源包括多个子资源的情况,或者情况二中数据节点包括至少一个子节点的情况,第二网络设备均能够获取到多个第一操作权限的值。基于多个第一操作权限的值中仅有部分第一操作权限的值为none,而其他第一操作权限的值不为none,则第二网络设备对多个第一操作权限的值中不为none的第一操作权限进行封装。例如,相比于图27中示出的协议操作netconf-capability-change对应的第一操作权限的值为none的场景,基于第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,则会得到如图28所示的第一响应消息。能够理解的是,在第二网络设备获取多个第一操作权限的值均为目标数值的情况下,或者在第二网络设备获取一个第一操作权限的值且值为none的情况下,所发送的第一响应消息为空。
207.相应地,第一网络设备接收到的第一响应消息中,第一资源的操作权限查询结果中仅包括不为none的第一操作权限的值,不包括为none的第一操作权限的值。或者,第一网络设备接收到的第一响应消息为空。
208.无论按照何种方式封装得到第一响应消息,在得到第一响应消息之后,第二网络设备通过与第一网络设备之间建立的会话对该第一响应消息进行发送。
209.307,第一网络设备接收第二网络设备根据第一rpc指令发送的第一响应消息,第一响应消息包括第一资源的操作权限查询结果。
210.由于第二网络设备发送了携带操作权限查询结果的第一响应消息,因而第一网络设备能够通过会话对第一响应消息进行接收。其中,该第一响应消息是第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到的消息,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限。
211.308,第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果。
212.在第一资源不同的情况下,第一响应消息中所携带的第一资源的操作权限查询结果也有所不同,根据306中的说明可知,解析方式包括如下四种。
213.对应于情况一的解析方式一:解析第一响应消息,得到yang文件的操作权限查询结果,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
214.对应于情况二的解析方式二:解析第一响应消息,得到数据节点的操作权限查询结果,数据节点的操作权限查询结果包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
215.对应于情况三的解析方式三:解析第一响应消息,得到协议操作的操作权限查询结果,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
216.对应于情况四的解析方式四:解析第一响应消息,得到通知的操作权限查询结果,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
217.进一步地,对于第一网络设备对部分资源的操作权限,本实施例需要对该操作权限的更新情况进行检测,以便于在该操作权限更新时第一网络设备能够及时获知,避免影响安全性。例如:通过使用/huawei-aaa:aaa/lam/users/user这一资源的写权限,能够添加具有任意权限的新第一网络设备,因而需要限制各个第一网络设备对该资源的操作权限。因此,需要提供令第一网络设备能够及时获知资源的操作权限的更新情况的方法。
218.其中,参见图29,本实施例对yang模型提供的yang推送(yang-push)能力进行扩展,使得第一网络设备能够通过向第二网络设备发送rpc指令的方式,令第二网络设备检测任意资源的操作权限的更新情况。相应地,参见图30,本实施例还对yang模型提供的通知能力进行扩展。由此,能够令第二网络设备在检测到任意资源的操作权限发生更新的情况下,及时发送通知消息,从而使得第一网络设备能够获知该任意资源的操作权限的更新。
219.在示例性实施例中,在第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果之后,方法还包括如下的步骤309-315。
220.309,第一网络设备获取待检测操作权限更新的第二资源的第三标识,封装第三标识得到第二rpc指令。
221.第一网络设备获取第三标识的过程参见上述301中的说明,此处不再加以赘述。对于第一网络设备封装第三标识的过程,除了按照上述301中的说明直接对第三标识进行封装以外,在示例性实施例中,封装第三标识得到第二rpc指令,包括:第一网络设备获取用户标识,封装第三标识及用户标识得到第二rpc指令。
222.其中,第一网络设备与用户标识一一对应。示例性地,用户标识用于指示执行301、302、307及308的第一网络设备本身,或者,用户标识用于指示执行301、302、307及308的第一网络设备以外的其他第一网络设备。本实施例不对第一网络设备获取的用户标识的数量进行限定,用户标识的数量是根据实际需要确定的。在获取到一个或多个用户标识之后,第一网络设备对第三标识及所获取的一个或多个用户标识一并进行封装,从而得到上述第二rpc指令。
223.参见图31,图31示出了第一网络设备发送的一个示例性第二rpc指令。在该第二rpc指令中包括第二资源的资源标识/huawei-aaa:aaa/1am/users/user以及用户标识test1。
224.310,第一网络设备向第二网络设备发送第二rpc指令。
225.发送过程参见上述302中的说明,此处不再加以赘述。
226.311,第二网络设备接收第一网络设备发送的第二rpc指令,第二rpc指令中包括第二资源的第三标识。
227.接收过程参见上述303中的说明,此处不再加以赘述。示例性地,第二网络设备在接收到第一网络设备发送的第二rpc指令之后,向第一网络设备返回如图32所示的响应消息,以便于第一网络设备确认第二网络设备已接收到该第二rpc指令。
228.312,第二网络设备解析第二rpc指令,得到第三标识,基于与第二网络设备之间建立有会话的各个网络设备确定至少一个目标网络设备。
229.对于第二rpc指令中不包含用户标识的情况,第二网络设备解析第二rpc指令仅得到第三标识,根据该第三标识能够确定待检测操作权限更新的第二资源。此种情况下,第二网络设备将所有与第二网络设备本端建立有会话的网络设备均作为目标网络设备。相应地,对于第二rpc指令中还包括用户标识的情况,第二网络设备解析第二rpc指令能够得到第三标识及用户标识,从而将用户标识所指示的网络设备作为目标网络设备。能够理解的是,该目标网络设备是用于发送第二rpc指令的第一网络设备,或者是用于发送第二rpc指令的第一网络设备以外的其他第一网络设备,或者既包括用于发送第二rpc指令的第一网络设备又包括用于发送第二rpc指令的第一网络设备以外的其他第一网络设备。
230.313,第二网络设备根据第三标识获取各个目标网络设备对应的操作权限的值,任一个目标网络设备对应的操作权限的值用于指示该任一个目标网络设备对第二资源的操作权限。
231.第二网络设备获取各个目标网络设备对应的操作权限的值可参见304中的说明,此处不再进行赘述。在完成获取之后,第二网络设备还能够对各个目标网络设备对第二资源的操作权限进行存储,以便于检测操作权限的更新情况。
232.314,基于第二网络设备检测到任一个目标网络设备对应的第二操作权限的值更新,获取更新后的第二操作权限的值,任一个目标网络设备对应的第二操作权限的值用于指示任一个目标网络设备是否具有对第二资源的第二操作权限。
233.在鉴权机制发生变化的情况下,目标网络设备对第二资源的操作权限可能发生更新,从而使得目标网络设备对应的第二操作权限的值更新。因此,对于任一个目标网络设备,基于第二网络设备检测到鉴权机制发生变化,则根据变化后的鉴权机制重新确定该任一个目标网络设备对应的第二操作权限的值。响应于重新确定的操作权限的值与存储的第二操作权限的值相同,则说明鉴权机制的变化并未导致该任一个目标网络设备对第二资源的操作权限发生更新。响应于重新确定的操作权限的值与存储的第二操作权限的值不同,则说明鉴权机制的变化使得该任一个目标用户对第二资源的操作权限发生了更新。因此,本实施例将重新确定的操作权限的值作为更新后的第二操作权限的值。
234.315,第二网络设备封装更新后的第二操作权限的值得到通知消息,向该任一个目标网络设备发送通知消息。
235.示例性地,对于任一个目标网络设备,第二网络设备对该任一个目标网络设备的用户标识、第二资源的第三标识、313存储的任一个目标网络设备对应的第二操作权限的值以及更新后的第二操作权限的值一并进行封装,从而得到通知消息。当然,该通知消息中还能够不包括313存储的任一个目标网络设备对应的第二操作权限的值,仅包括更新后的第二操作权限的值即可,本实施例对此不加以限定。
236.在得到通知消息之后,第二网络设备将该通知消息发送给该任一个目标网络设备即可。在该任一个目标网络设备接收到通知消息之后,解析该通知消息即可确定该任一个目标网络设备对第二资源的更新后的操作权限。接着,该任一个目标网络设备便可基于更新后的操作权限进行其他操作,例如调整鉴权机制等操作。
237.参见图33,图33示出了一个示例性通知消息。根据图33中的前权限(pre-auth)能够看出,在操作权限更新之前,用户标识test1对应的第二操作权限的值为read。根据图33的当前权限(cur-auth)能够看出,用户标识test1对应的更新后的第二操作权限的值为
create、read、update以及delete。
238.当然,在本实施例中,第一网络设备处理在解析第一响应消息,得到第一资源的操作权限查询结果之后发送上述用于检测操作权限更新的第二rpc指令,还能够在其他时机发送该第二rpc指令,本实施例不对发送第二rpc指令的时机进行限定。
239.综上所述,本实施例通过定义一种用于查询操作权限的rpc指令,使得第二网络设备能够根据rpc指令携带的第一资源的第一标识来获取第一操作权限的值,而该第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限,因而根据第一操作权限的值向第一网络设备反馈封装有第一资源的操作权限查询结果的第一响应消息,使得第一网络设备能够直接获得第一资源的操作权限查询结果,由此实现了较为直观的操作权限的查询方式,提高了查询操作权限的效率。
240.基于相同构思,如图34所示,本技术实施例还提供了一种查询操作权限的装置,该装置用于执行上述图3所示的方法中第二网络设备所需执行的步骤。该装置包括:
241.接收模块3401,用于第二网络设备接收第一网络设备发送的第一远程过程调用rpc指令,第一rpc指令中包括第一资源的第一标识,第一rpc指令用于指示查询第一资源的操作权限。接收模块3401所执行的步骤可参见上文303中的说明,此处不再加以赘述。
242.解析模块3402,用于第二网络设备解析第一rpc指令,得到第一标识。解析模块3402所执行的步骤可参见上文304中的说明,此处不再加以赘述。
243.获取模块3403,用于第二网络设备根据第一标识获取第一操作权限的值,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限。获取模块3403所执行的步骤可参见上文305中的说明,此处不再加以赘述。
244.发送模块3404,用于第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到第一响应消息,向第一网络设备发送第一响应消息。发送模块3404所执行的步骤可参见上文306中的说明,此处不再加以赘述。
245.在一种可能的实现方式中,第一rpc指令中还包括第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值,发送模块3404,用于基于第一操作权限的值为非目标数值,或者,第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下封装第一操作权限的值,第二网络设备根据第二标识封装第一资源的操作权限查询结果得到第一响应消息,第一资源的操作权限查询结果中包括第一操作权限的值,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的第一操作权限,第一操作权限的值为非目标数值用于指示第一网络设备具有对第一资源的第一操作权限。
246.在一种可能的实现方式中,第一rpc指令中还包括第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值,发送模块3404,用于基于第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,第二网络设备根据第二标识的指示封装第一资源的操作权限查询结果得到第一响应消息,第一资源的操作权限查询结果中不包括第一操作权限的值。
247.在一种可能的实现方式中,接收模块3401,还用于第二网络设备接收第一网络设备发送的第二rpc指令,第二rpc指令中包括第二资源的第三标识;第二网络设备解析第二rpc指令,得到第三标识;第二网络设备基于与第二网络设备之间建立有会话的各个网络设
备确定至少一个目标网络设备;第二网络设备根据第三标识获取各个目标网络设备对应的第二操作权限的值,任一个目标网络设备对应的第二操作权限的值用于指示任一个目标网络设备是否具有对第二资源的第二操作权限;第二网络设备基于检测到任一个目标网络设备对应的第二操作权限更新,获取更新后的第二操作权限的值;第二网络设备封装更新后的第二操作权限的值得到通知消息,向任一个目标网络设备发送通知消息。
248.在一种可能的实现方式中,第二rpc指令中还包括用户标识,接收模块3401,用于第二网络设备将各个第一网络设备中用户标识所指示的网络设备作为目标网络设备。
249.在一种可能的实现方式中,第一资源为另一个下一代yang文件,第一标识为文件名称;
250.获取模块3403,用于第二网络设备根据文件名称确定yang文件包括的至少一个子资源,获取各个子资源对应的第三操作权限的值,任一个子资源对应的第三操作权限的值用于指示第一网络设备对任一个子资源的操作权限,任一个子资源具有对应的子标识,至少一个子资源包括数据节点、协议操作以及通知中的至少一个;
251.发送模块3404,用于第二网络设备封装yang文件的操作权限查询结果得到第一响应消息,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
252.在一种可能的实现方式中,第一资源为数据节点,第一标识为节点路径;
253.获取模块3403,用于第二网络设备根据节点路径确定数据节点包括至少一个子节点,获取第四操作权限的值及各个子节点对应的第五操作权限的值,第四操作权限的值用于指示第一网络设备对数据节点的操作权限,任一个子节点对应的第五操作权限的值用于指示第一网络设备对任一个子节点的操作权限,任一个子节点具有对应的子路径;
254.发送模块3404,用于第二网络设备封装数据节点的操作权限查询结果得到第一响应消息,数据节点的操作权限查询结果中包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
255.在一种可能的实现方式中,第一资源为协议操作,第一标识为操作路径;
256.发送模块3404,用于第二网络设备封装协议操作的操作权限查询结果得到第一响应消息,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
257.在一种可能的实现方式中,第一资源为通知,第一标识为通知路径;
258.发送模块3403,用于第二网络设备封装通知的操作权限查询结果得到第一响应消息,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
259.综上所述,本实施例通过定义一种用于查询操作权限的rpc指令,使得第二网络设备能够根据rpc指令携带的第一资源的第一标识来获取第一操作权限的值,而该第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限,因而根据第一操作权限的值向第一网络设备反馈封装有第一资源的操作权限查询结果的第一响应消息,使得第一网络设备能够直接获得第一资源的操作权限查询结果,由此实现了较为直观的操作权限的查询方式,提高了查询操作权限的效率。
260.基于相同构思,如图35所示,本技术实施例还提供了一种查询操作权限的装置,该装置用于执行上述图3所示的方法中第一网络设备所需执行的步骤。该装置包括:
261.获取模块3501,用于第一网络设备获取待查询操作权限的第一资源的第一标识,封装第一标识得到第一远程过程调用rpc指令。获取模块3501所执行的步骤可参见上文301中的说明,此处不再加以赘述。
262.发送模块3502,用于第一网络设备向第二网络设备发送第一rpc指令。发送模块3502所执行的步骤可参见上文302中的说明,此处不再加以赘述。
263.接收模块3503,用于第一网络设备接收第二网络设备根据第一rpc指令发送的第一响应消息,第一响应消息包括第一资源的操作权限查询结果,第一响应消息是第二网络设备根据第一操作权限的值封装第一资源的操作权限查询结果得到的消息,第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限。接收模块3503所执行的步骤可参见上文307中的说明,此处不再加以赘述。
264.解析模块3504,用于第一网络设备解析第一响应消息,得到第一资源的操作权限查询结果。解析模块3504所执行的步骤可参见上文308中的说明,此处不再加以赘述。
265.在一种可能的实现方式中,获取模块3501,用于第一网络设备获取第二标识,第二标识用于指示在不具有第一操作权限的情况下是否封装第一操作权限的值;第一网络设备封装第一标识及第二标识,得到第一rpc指令。
266.在一种可能的实现方式中,解析模块3504,用于第一网络设备解析第一响应消息,得到的第一资源的操作权限查询结果中包括第一操作权限的值,第一响应消息是基于第一操作权限的值为非目标数值,或者,第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下封装第一操作权限的值,第二网络设备根据第二标识封装第一资源的操作权限查询结果得到的,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的第一操作权限,第一操作权限的值为非目标数值用于指示第一网络设备具有对第一资源的第一操作权限。
267.在一种可能的实现方式中,解析模块3504,用于第一网络设备解析第一响应消息,得到的第一资源的操作权限查询结果中不包括第一操作权限的值,第一响应消息是基于第一操作权限的值为目标数值且第二标识指示在不具有第一操作权限的情况下不封装第一操作权限的值,第二网络设备根据第二标识的指示封装第一资源的操作权限查询结果得到的,其中,第一操作权限的值为目标数值用于指示第一网络设备不具有对第一资源的操作权限。
268.在一种可能的实现方式中,获取模块3501,还用于第一网络设备获取待检测操作权限更新的第二资源的第三标识,第三标识用于第二网络设备获取各个目标网络设备对应的第二操作权限的值,任一个目标网络设备对应的第二操作权限的值用于指示任一个目标网络设备是否具有对第二资源的第二操作权限,基于检测到任一个目标网络设备对应的第二操作权限的值更新,获取更新后的第二操作权限的值,封装更新后的第二操作权限的值得到通知消息,向任一个目标网络设备发送通知消息;
269.发送模块3502,还用于第一网络设备封装第三标识得到第二rpc指令,向第二网络设备发送第二rpc指令。
270.在一种可能的实现方式中,发送模块3502,用于第一网络设备获取用户标识,用户
标识用于第二网络设备将用户标识所指示的网络设备作为目标网络设备;第一网络设备封装第二标识及用户标识得到第二rpc指令。
271.在一种可能的实现方式中,第一资源为另一个下一代yang文件,第一标识为文件名称,文件名称用于第二网络设备确定yang文件包括的至少一个子资源,至少一个子资源包括数据节点、协议操作以及通知中的至少一个,任一个子资源具有对应的子标识,解析模块3504,用于第一网络设备解析第一响应消息,得到yang文件的操作权限查询结果,yang文件的操作权限查询结果包括各个子资源对应的第三操作权限的值及子标识,子标识与子资源对应的第三操作权限的值一一对应。
272.在一种可能的实现方式中,第一资源为数据节点,第一标识为节点路径,节点路径用于第二网络设备确定数据节点包括的至少一个子节点,任一个子节点具有对应的子路径,解析模块3504,用于第一网络设备解析第一响应消息,得到数据节点的操作权限查询结果,数据节点的操作权限查询结果包括节点路径、各个子路径、第四操作权限的值以及各个子节点对应的第五操作权限的值,节点路径与第四操作权限的值对应,子路径与子节点对应的第五操作权限的值一一对应。
273.在一种可能的实现方式中,第一资源为协议操作,第一标识为操作路径,解析模块3504,用于第一网络设备解析第一响应消息,得到协议操作的操作权限查询结果,协议操作的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对协议操作是否具有执行权限。
274.在一种可能的实现方式中,第一资源为通知,第一标识为通知路径,解析模块3504,用于第一网络设备解析第一响应消息,得到通知的操作权限查询结果,通知的操作权限查询结果中包括第一操作权限的值,第一操作权限的值用于指示第一网络设备对通知是否具有读取权限。
275.综上所述,本实施例通过定义一种用于查询操作权限的rpc指令,使得第二网络设备能够根据rpc指令携带的第一资源的第一标识来获取第一操作权限的值,而该第一操作权限的值用于指示第一网络设备是否具有对第一资源的第一操作权限,因而根据第一操作权限的值向第一网络设备反馈封装有第一资源的操作权限查询结果的第一响应消息,使得第一网络设备能够直接获得第一资源的操作权限查询结果,由此实现了较为直观的操作权限的查询方式,提高了查询操作权限的效率。
276.应理解的是,上述图34及35提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
277.参见图36,本技术实施例还提供一种查询操作权限的设备3600,图36所示的查询操作权限的设备3600用于执行上述查询操作权限的方法所涉及的操作。该查询操作权限的设备3600包括:存储器3601、处理器3602及接口3603,存储器3601、处理器3602及接口3603之间通过总线3604连接。
278.其中,存储器3601中存储有至少一条指令,至少一条指令由处理器3602加载并执行,以实现上述任一所述的查询操作权限的方法。
279.接口3603用于与网络中的其他设备进行通信,该接口3603可以通过无线或有线的方式实现,示例性地,该接口3603可以是网卡。例如,查询操作权限的设备3600可通过该接口3603与其他设备进行通信。
280.例如,图36所示的查询操作权限的设备3600为图1中的第一网络设备,处理器3602读取存储器3601中的指令,使图36所示的查询操作权限的设备3600能够执行第一网络设备所执行的全部或部分操作。
281.又例如,图36所示的查询操作权限的设备3600为图1中的网络设备,处理器3602读取存储器3601中的指令,使图36所示的查询操作权限的设备3600能够执行第二网络设备所执行的全部或部分操作。
282.应理解的是,图36仅仅示出了查询操作权限的设备3600的简化设计。在实际应用中,查询操作权限的设备3600可以包含任意数量的接口,处理器或者存储器。此外,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
283.进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
284.在示例性实施例中,本实施例提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一网络设备所需执行的方法。
285.在示例性实施例中,本实施例提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第二网络设备所需执行的方法。
286.可选地,处理器为一个或多个,存储器为一个或多个。
287.可选地,存储器可以与处理器集成在一起,或者存储器与处理器分离设置。
288.在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,rom),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本技术实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
289.在示例性实施例中,提供了一种查询操作权限的系统,该系统包括:第一网络设备及第二网络设备,所述第一网络设备及所述第二网络设备通信连接。其中,第一网络设备及第二网络设备所执行的查询操作权限的方法可参见上文301-315中的说明,此处不再加以
赘述。
290.在示例性实施例中,提供了一种计算机程序(产品),计算机程序(产品)包括:计算机程序代码,当计算机程序代码被计算机运行时,使得计算机执行上述说明中的方法。
291.在示例性实施例中,提供了一种可读存储介质,可读存储介质存储程序或指令,当程序或指令在计算机上运行时,上述说明中的方法被执行。
292.在示例性实施例中,提供了一种芯片,包括处理器,用于从存储器中调用并运行存储器中存储的指令,使得安装有芯片的通信设备执行上述说明中的方法。
293.在示例性实施例中,提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,输入接口、输出接口、处理器以及存储器之间通过内部连接通路相连,处理器用于执行存储器中的代码,当代码被执行时,处理器用于执行上述说明中的方法。
294.应理解的是,上述处理器可以是中央处理器(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced risc machines,arm)架构的处理器。
295.进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
296.该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,rom)、可编程只读存储器(programmable rom,prom)、可擦除可编程只读存储器(erasable prom,eprom)、电可擦除可编程只读存储器(electrically eprom,eeprom)或闪存。易失性存储器可以是随机存取存储器(random access memory,ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用。例如,静态随机存取存储器(static ram,sram)、动态随机存取存储器(dynamic random access memory,dram)、同步动态随机存取存储器(synchronous dram,sdram)、双倍数据速率同步动态随机存取存储器(double data date sdram,ddr sdram)、增强型同步动态随机存取存储器(enhanced sdram,esdram)、同步连接动态随机存取存储器(synchlink dram,sldram)和直接内存总线随机存取存储器(direct rambus ram,dr ram)。
297.本技术提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
298.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、第二网络设备或数据中心通过有线(例如同轴电缆、光纤、数字
用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、第二网络设备或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的第二网络设备、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk)等。
299.以上所述仅为本技术的实施例,并不用以限制本技术,凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献