具体实施方式
为了使本发明实施例的上述特征、优点更加明显易懂,下面结合具体实施方式进行详细说明。
请参考图1,为本发明实施例一方法流程图,可以包括以下步骤:
步骤101:获得执行锁定操作的网络管理协议的数据锁定信息,记录所述网络管理协议的数据锁定信息;
步骤102:保存所述网络管理协议的数据锁定信息。
可以看出,本发明实施例可以提供详细的数据锁定信息。网络管理员可以决定进一步的操作,避免了盲目查找配置操作失败的原因,提高了解决问题的准确度以及工作效率。
可选地,图1所示步骤还可以进一步包括:上报所述网络设备数据锁定信息。
所述上报所述网络管理协议的数据锁定信息的执行时机包括:
周期性上报所述网络管理协议的数据锁定信息;
或者,当对所述网络设备的配置操作失败时,上报所述网络管理协议的数据锁定信息;
或者,网络管理员进行查找时。
为了下文便于描述,将用于保存所述网络管理协议的数据锁定信息的模块记为锁MIB单元。
获得并记录所述网络管理协议的数据锁定信息可以通过以下两种方式实现:
第一种方式为:执行锁定操作的协议增加可以将数据锁定信息记录到锁MIB单元的功能,从而,执行锁定操作的协议在锁定网络设备的数据时,可以将数据锁定信息记录到锁MIB单元,所述的锁MIB单元保存所述网络管理协议的数据锁定信息;
第二种方式为:增加一个代理软件,在某协议对网络设备的数据执行锁定操作时,该代理软件可以自动识别出执行锁定操作的协议,并将执行锁定操作的协议的数据锁定信息记录到锁MIB单元,所述的锁MIB单元保存所述网络管理协议的数据锁定信息。
第二种方式中,代理软件执行的操作可以通过以下方式实现:所述代理软件对所在网络设备的数据进行监听,当所在网络设备的数据被锁定时,跟踪并获取执行锁定操作的网络管理协议的数据锁定信息,将获取的数据锁定信息记录到所述锁MIB单元,作为所述锁MIB单元中一条新的记录,并且该新的记录的状态为有效。当所在网络设备的数据被解锁时,所述代理软件将所述锁MIB单元中相应的记录的状态设置为无效。
还需要指出的是,步骤101至步骤102可以应用在以下两种场景中:
第一种场景:网络管理员为了得知网络设备的特定数据是否被具有数据锁定功能的网路管理协议锁定,可以在任意时刻在锁MIB单元中进行查找,根据锁MIB单元记录的所述数据锁定信息判断网络设备的数据是否已被锁定。
第二种场景:网络管理员通过特定协议对网络设备的数据执行的配置操作发生失败时,该特定协议查找锁MIB单元,以判断配置操作失败的原因是否是网络设备的数据被具有数据锁定功能的网络管理协议锁定。
上述具有数据锁定功能的网络管理协议可以包括但不限于:NETCONF或者COPS-PR。
请参考图2,为网络管理员应用本发明实施例提供的方法流程图,可以包括以下步骤:
步骤201:网络管理员在对网络设备的数据执行配置操作之前,可以先在所述锁MIB单元中查找该网络设备的数据是否被锁定;
在步骤201中,网络管理员可以根据该网络设备的数据是否被锁定进行初步判断。进行初步判断的原因是:当网络管理员在所述锁MIB单元中进行查找时,该网络设备的数据还没有被锁定,若网络管理员想要对该网络设备的数据进一步执行配置操作,在对该网络设备的数据执行配置操作时,该网络设备的数据可能又被锁定了,因此,执行配置操作与网络管理员在所述锁MIB单元中进行查找存在一定的时间差。
网络管理员进行了初步判断后,可以决定进一步的操作。例如:如果经过查找所述锁MIB单元,该网络设备的数据已经被锁定,则可以选择等待其解锁,或者,与将该网络设备的数据锁定的协议进行协商。如果经过查找所述锁MIB单元,该网络设备的数据没有被锁定,可以继续对该网络设备的数据执行配置操作。
若网络管理员继续对该网络设备的数据执行配置操作,进入步骤202。
步骤202:网络管理员通过特定协议对该网络设备的数据执行配置操作,配置操作失败;
步骤203:该特定协议查询所述锁MIB单元,通过查询所述锁MIB单元,判断出配置操作失败的原因是数据被锁定;
步骤204:该特定协议读取所述锁MIB单元中锁定该网络设备的数据的协议的数据锁定信息,并根据所述数据锁定信息生成报错信息;
步骤205:该特定协议上报生成的所述报错信息。
网络管理员接收到报错信息后,可以根据报错信息中所述数据锁定信息采取进一步的措施。例如,可以选择等待该网络设备的数据解锁,再对其执行配置操作。
下面结合两个应用场景对步骤202至步骤205进行说明。
应用场景一:同一协议的不同进程对相同数据执行配置操作的情况。假设NETCONF的第一进程对一台网络设备进行配置操作,NETCONF将该网络设备的部分数据进行锁定。此时,NETCONF的第二进程也要对被锁定的数据执行配置操作。则NETCONF的第二进程的配置操作会失效。NETCONF的第二进程查询锁MIB单元,判断出操作失败的原因是数据被锁定。则从锁MIB单元中读取NETCONF的第一进程的数据锁定信息,生成报错信息,并将生成的报错信息上报至网络管理员。
应用场景二:不同协议对相同数据执行配置操作的情况,仅以简单网络管理协议(SNMP,Simple Network Management Protocol)以及NETCONF为例进行说明。假设NETCONF已将网络设备的部分数据锁定。此时,SNMP对被NETCONF锁定的数据执行了配置操作,SNMP的配置操作失败。由于是不相同协议,SNMP完全不知道配置操作失败的原因。则SNMP查询锁MIB单元以判断失败原因是否是数据被锁定。若通过查询锁MIB单元判断出失败的原因是数据被NETCONF锁定,则从锁MIB单元中获取NETCONF数据锁定信息,生成详细的报错信息,并将报错信息返回给网络管理员。网络管理员可以选择向NETCONF发送通知报文,通知其尽快完成操作。若SNMP查询锁MIB单元后发现失效原因不是数据被锁定,则生成一般报错信息返回给网络管理员。
可以看出,网络管理员可以随时查询所述锁MIB单元了解数据的使用情况,当执行配置操作的协议操作失败时,该协议可通过查询所述锁MIB单元判断操作失败的原因是否是数据锁定,如果是,获取相关的数据锁定信息,并生成报错信息以通知管理员。网络管理员可以根据数据锁定信息决定进一步的操作,避免了盲目查找配置操作失败的原因,提高了解决问题的准确度以及工作效率,而且,便于对多个网络管理协议的统一管理。
请参考图3,为本发明实施例锁MIB单元的结构示意图。
所述锁MIB单元的结构可以分为一个主表和多个副表。主表用于记录各协议的锁定机制的通用信息,可以包括执行锁定操作的协议、使用该协议的用户的用户名、锁定操作的类型、开始锁定的时间、结束锁定的时间等。副表用于记录每个协议的锁定机制的特定信息。
主表记录的通用信息以及副表记录的特定信息可以提供数据被锁定的详细信息,该详细信息可以包括但不限于锁定数据的网络管理协议,锁定发生的时间等等。这样,网络管理员可以通过查找锁MIB单元,得知网络设备的数据是否被锁定,执行配置操作的协议就可以通过查找锁MIB单元判断发生操作失败的原因是否是数据被锁定。
副表中的记录通过索引与主表相关联。例如:如果主表中第1行(索引为1)记录的锁是NETCONF的,则在NETCONF副表中第一行也有相应记录,记录的是同一个锁,索引为1。如果主表中第二行(索引为2)记录的锁是COPS-PR的,则COPS-PR副表的第一行也有相应特定信息记录,且索引为2。
请参考如下针对所述锁MIB单元的一个具体实例:
具体实例的主表包括7个域,分别是:索引、用户名、网管接口协议、锁类型、开始时间、结束时间以及锁状态。
其中,
索引是主表中各表项的唯一索引值;
用户名是标识一个表项的拥有者,可以是一个应用程序名,也可以是一台主机名,或者是应用程序名与主机名的组合,如果该表项的拥有者未知,则该项的值为空;
网管接口协议表示一个表项所记录的锁由哪个协议设置的,如果一个表项所表示的锁是由NETCONF设置的,则值为“lockNetconf”,如果是由COPS-PR设置的,则值为“lockCopsPr”;
锁类型代表锁的类型,可以分为全局锁或者部分锁;
开始时间是该表项被设置时的系统时间,也就是说,是数据被锁定的开始时间;
结束时间是该表项被释放时的系统时间,也就说是,是数据被结束锁定的时间;
锁状态表示其所在表项所记录的锁的当前状态,值为“Active”表示有效,值为“Failed”表示锁请求失败,值为“Done”表示锁已被释放。
具体实例中的副表包括NETCONF副表以及COPS-PR副表。
NETCONF副表包括8个域,分别为:Netconf索引,获取会话标识,Netconf锁标识,数据库对象,表达式类型,表达式,修改标志,释放会话标识。
其中,
Netconf索引唯一标识一个Netconf表项,其值与主表中对应表项的索引值相同,这样主表和Netconf副表相关联;
获取会话标识表示获取并占有该表项所记录的数据锁定信息的会话标识;
Netconf锁标识是由Netconf Server分配给该表项所记录的Netconf锁的唯一标识,该Netconf锁标识区别于所有其他Netconf锁;
数据库对象表示Netconf锁锁定的数据库对象,在Netconf中,主要有三种:Running和Candidate,Startup;
表达式类型表示Netconf锁在所锁定的数据库中保护范围的表达式类型,目前Netconf支持的表达式类型有两种:XPath和Subtree;
表达式表示Netconf锁在所锁定数据库中的保护范围的具体表达式;
修改标志表示Netconf锁所保护的数据是否已被修改,值为“true”表示已修改,值为“false”表示未修改;
释放会话标识是释放Netconf锁的会话标识。
COPS-PR副表包括10个域,分别为:COPS-PR索引,策略执行点标识符(PEPID),策略决定点地址(PDPAddr),客户状态,客户句柄,客户类型,安装策略,删除策略,更新策略,修改标志。
其中,
COPS-PR索引唯一标识一个COPS-PR表项,其值与主表中对应表项的索引值相同,这样主表和COPS-PR副表相关联;
PEPID唯一标识被锁定数据的策略执行点(PEP);
PDPAddr是对PEP作出策略决定,使PEP数据被锁定的策略决定点(PDP)的IP地址;
客户状态表示当前PEP和PDP是否同时支持客户类型对象所表示的客户类型;
客户类型唯一标识表示所锁定的PEP上的策略数据区域;
客户句柄唯一标识一个PEP请求;
安装策略表示要在PEP上安装的具体策略;
删除策略表示要在PEP上删除的具体策略;
更新策略表示要在PEP上更新的具体策略;
修改标志表示COPS-PR锁定的数据是否已被修改,值为“true”表示已修改,值为“false”表示未修改。
需要指出的是,所述锁MIB单元的定义形式不局限于此。例如:在上述具体实例的基础上,还可以添加SNMP副表,这样,不仅可以使SNMP协议也具有数据锁定功能,还可以在所述锁MIB单元中记录SNMP的数据锁定信息。
所述锁MIB单元中的记录和实际的锁定操作要保持同步,即在锁定数据时,所述锁MIB单元中必须添加相应的记录,如果所述锁MIB单元中的记录被删除,实际的锁定操作将失效,锁定操作失效相当于将锁定的数据解锁。
因此,如果所述锁MIB单元中一条有效记录被删除,与该条记录相关的实际操作将会中止。利用所述锁MIB单元的上述特性,具有超级权限的能够对所述锁MIB单元执行删除操作的网络管理员可以强制删除一些长时间锁定数据的锁的记录,进而可以释放资源,有效防止了恶意锁定数据导致的拒绝服务攻击。
请参考图4,为本发明实施例二装置结构框图,可以包括:
记录单元401,用于获得执行锁定操作的网络管理协议的数据锁定信息,记录所述网络管理协议的数据锁定信息;
锁MIB单元402,用于保存所述网络管理协议的数据锁定信息。
请参考图5,为本发明实施例三装置结构框图。
在图4的基础上,优选地,所述锁MIB单元402可以包括:
主表单元403,用于保存所述执行锁定操作的网络管理协议的通用信息;
副表单元404,用于保存所述执行锁定操作的网络管理协议的特定信息。
优选地,所述记录单元401可以包括:
获取单元405,用于对所述网络设备进行监听,当所述网络设备的数据被锁定时,获取执行锁定操作的网络管理协议的数据锁定信息;
记录子单元406,用于记录所述获取单元405获取的所述执行锁定操作的网络管理协议的数据锁定信息。
可选地,该装置还可以包括:
上报单元407,用于上报网络管理协议的数据锁定信息。
可以看出,锁SMIB单元可以提供详细的数据锁定信息。网络管理员可以根据数据锁定信息决定进一步的操作,避免了盲目查找配置操作失败的原因,提高了解决问题的准确度以及工作效率,便于对多个网络管理协议的统一管理。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明实施例进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。