CN111343015A - 一种网络设备运维的方法及运维装置 - Google Patents
一种网络设备运维的方法及运维装置 Download PDFInfo
- Publication number
- CN111343015A CN111343015A CN202010098339.5A CN202010098339A CN111343015A CN 111343015 A CN111343015 A CN 111343015A CN 202010098339 A CN202010098339 A CN 202010098339A CN 111343015 A CN111343015 A CN 111343015A
- Authority
- CN
- China
- Prior art keywords
- maintenance
- command
- target
- target network
- network equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012423 maintenance Methods 0.000 title claims abstract description 345
- 238000000034 method Methods 0.000 title claims abstract description 54
- 238000013515 script Methods 0.000 claims description 125
- 238000012545 processing Methods 0.000 claims description 31
- 238000001914 filtration Methods 0.000 description 36
- 238000012544 monitoring process Methods 0.000 description 14
- 230000003993 interaction Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 230000008569 process Effects 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000002159 abnormal effect Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 5
- 238000013507 mapping Methods 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000002452 interceptive effect Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种网络设备运维的方法及运维装置,其中,方法包括:运维装置接收运维指令,并根据运维指令,确定目标网络设备和目标网络设备的待执行命令;运维装置通过目标网络设备的配置信息对目标网络设备执行待执行命令,从而完成对目标网络设备的运维操作。该技术方案用以自动生成对目标网络设备的待执行命令,提高运维效率,且降低对运维人员的专业要求。
Description
技术领域
本发明实施例涉及计算机领域,尤其涉及一种网络设备运维的方法及运维装置。
背景技术
网络运营工作涵盖变更、服务、应急、事件处理、监控、设备信息采集等,需要理解、分析业务需求,转译为网络设备配置内容,并且通过与网络设备进行交互配置,最终来满足业务需求。在一般的运营工作中,与网络设备的交互,主要方式是通过操作员与网络设备逐台、逐条命令进行交互,效率低,且对运维人员的专业能力要求较高。
发明内容
本发明实施例提供一种网络设备运维的方法及运维装置,用以提高运维效率,且降低对运维人员的专业要求。
本发明实施例提供的一种网络设备运维的方法,包括:
运维装置接收运维指令;所述运维指令包括运维模式;所述运维装置预存有多种运维模式及各网络设备的配置信息;所述运维模式用于指示对网络设备的运维操作;
所述运维装置根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令;
所述运维装置通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令,从而完成对所述目标网络设备的运维操作。
可选的,所述运维指令中还包括路径参数,所述路径参数用于指示目标脚本文件的位置;
所述运维装置根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令,包括:
所述运维装置根据所述运维模式,确定所述目标脚本文件的脚本类型;
所述运维装置根据所述脚本类型和所述目标脚本文件的位置,确定所述目标脚本文件;
所述运维装置根据所述目标脚本文件,确定所述目标网络设备和所述目标网络设备的待执行命令。
可选的,所述运维装置根据所述目标脚本文件,确定所述目标网络设备和所述目标网络设备的待执行命令,包括:
所述运维装置若确定所述脚本类型为第一脚本类型,则将所述目标脚本文件对应的网络设备确定为所述目标网络设备;将所述目标脚本文件中的执行命令确定为所述目标网络设备的待执行命令;所述第一脚本类型指示单一网络设备的待执行脚本;
所述运维装置若确定所述脚本类型为第二脚本类型,则将所述目标脚本文件对应的每个网络设备确定为所述目标网络设备,并将所述网络设备的待执行脚本中的执行命令确定为所述目标网络设备的待执行命令;所述第二脚本类型的脚本指示至少一个网络设备和各网络设备的待执行脚本。
可选的,所述运维装置根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令,包括:
所述运维装置判断所述运维模式中是否还包括目标网络设备标识,若是,则将所述目标网络设备标识对应的网络设备确定为所述目标网络设备;否则,将网络环境中的网络设备确定为所述目标网络设备;
所述运维装置根据所述运维模式中的命令参数,确定所述目标网络设备的待执行命令。
可选的,所述运维装置根据所述运维模式中的命令参数,确定所述目标网络设备的待执行命令,包括:
所述运维装置若确定所述命令参数为目标命令,则将所述目标命令确定为所述目标网络设备的待执行命令;
所述运维装置若确定所述命令参数为目标命令的标识,则根据所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
可选的,所述运维装置根据所述目标命令的标识,确定所述目标命令,包括:
所述运维装置若确定所述运维指令中还包括目标命令的路径参数,则根据所述目标命令的路径参数和所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
可选的,所述目标网络设备标识为以下类型中的任一个:网络设备标识、设备类型标识、厂商标识。
可选的,所述运维装置通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令之前,还包括:
所述运维装置从所述目标网络设备的配置信息中确定所述目标网络设备的登录信息;
所述运维装置根据所述目标网络设备的登录信息,建立与所述目标网络设备之间的远程控制通道,从而登录至所述目标网络设备;所述远程控制通道为SHH模式或者TELNET模式。
可选的,所述运维装置建立与所述目标网络设备之间的远程控制通道之前,还包括:
所述运维装置获取第一通道数;所述第一通道数是所述运维装置在当前时刻与所述网络环境中网络设备建立的通道总数;
所述运维装置在确定所述第一通道数小于第一预设值之后,获取第二通道数;所述第二通道数是当前时刻所述目标网络设备已经建立的通道总数;
所述运维装置判断所述第二通道数是否小于第二预设值,若是,则建立与所述目标网络设备之间的远程控制通道;否则,在预设等待时段之后,重新获取所述第二通道数,直至建立与所述目标网络设备之间的远程控制通道;其中,所述重新获取所述第二通道数的次数不大于第三预设值。
可选的,所述运维装置建立与所述目标网络设备之间的远程控制通道之后,还包括:
所述运维装置监测所述远程控制通道的通道连接状态;
所述运维装置若确定所述远程控制通道异常断开或者所述远程控制通道处于空闲状态的时长大于第一预设时长,则重新建立所述远程控制通道。
可选的,所述运维装置建立与所述目标网络设备之间的远程控制通道之后,还包括:
所述运维装置读取所述远程控制通道中的通道数据;
所述运维装置若确定所述通道数据中包括结束符,则将所述通道数据保存为结果数据;
所述运维装置在确定所述通道数据对应所述目标网络设备的最后一条待执行命令,或者所述运维指令中还包括预设危险参数之后,断开所述远程控制通道。
可选的,所述运维装置建立与所述目标网络设备之间的远程控制通道之后,还包括:
所述运维装置若确定所述通道数据中不包括所述结束符,则在确定所述目标网络设备执行所述待执行命令的持续时长超过第二预设时长之后,断开所述远程控制通道。
上述技术方案中,通过在运维装置中预设多种运维模式及各网络设备的配置信息,运维人员可以直接在运维装置中输入运维指令,运维装置即可以自动根据运维指令中的运维模式确定目标网络设备和目标网络设备的待执行命令,该方式无需运维人员手动配置运维脚本,提高了运维效率,且降低了对运维人员的专业要求。进一步的,当前网络环境中的绝大多数网络设备都可以支持SSH模式或TELNET模式,运维装置采用该两种模式可以与当前网络环境中的绝大多数网络设备建立连接,具有通用性。运维装置在与网络设备建立连接时,会实时监控连接状态,提高运维的可靠性。
相应的,本发明实施例还提供了一种运维装置,包括:
接收单元,用于接收运维指令;所述运维指令包括运维模式;所述运维装置预存有多种运维模式及各网络设备的配置信息;所述运维模式用于指示对网络设备的运维操作;
处理单元,用于根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令;
所述处理单元,还用于通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令,从而完成对所述目标网络设备的运维操作。
可选的,所述运维指令中还包括路径参数,所述路径参数用于指示目标脚本文件的位置;
所述处理单元具体用于:
根据所述运维模式,确定所述目标脚本文件的脚本类型;
根据所述脚本类型和所述目标脚本文件的位置,确定所述目标脚本文件;
根据所述目标脚本文件,确定所述目标网络设备和所述目标网络设备的待执行命令。
可选的,所述处理单元具体用于:
若确定所述脚本类型为第一脚本类型,则将所述目标脚本文件对应的网络设备确定为所述目标网络设备;将所述目标脚本文件中的执行命令确定为所述目标网络设备的待执行命令;所述第一脚本类型指示单一网络设备的待执行脚本;
若确定所述脚本类型为第二脚本类型,则将所述目标脚本文件对应的每个网络设备确定为所述目标网络设备,并将所述网络设备的待执行脚本中的执行命令确定为所述目标网络设备的待执行命令;所述第二脚本类型的脚本指示至少一个网络设备和各网络设备的待执行脚本。
可选的,所述处理单元具体用于:
判断所述运维模式中是否还包括目标网络设备标识,若是,则将所述目标网络设备标识对应的网络设备确定为所述目标网络设备;否则,将网络环境中的网络设备确定为所述目标网络设备;
根据所述运维模式中的命令参数,确定所述目标网络设备的待执行命令。
可选的,所述处理单元具体用于:
若确定所述命令参数为目标命令,则将所述目标命令确定为所述目标网络设备的待执行命令;
若确定所述命令参数为目标命令的标识,则根据所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
可选的,所述处理单元具体用于:
若确定所述运维指令中还包括目标命令的路径参数,则根据所述目标命令的路径参数和所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
可选的,所述目标网络设备标识为以下类型中的任一个:网络设备标识、设备类型标识、厂商标识。
可选的,所述处理单元还用于:
在通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令之前,从所述目标网络设备的配置信息中确定所述目标网络设备的登录信息;
根据所述目标网络设备的登录信息,建立与所述目标网络设备之间的远程控制通道,从而登录至所述目标网络设备;所述远程控制通道为SHH模式或者TELNET模式。
可选的,所述处理单元还用于:
在建立与所述目标网络设备之间的远程控制通道之前,获取第一通道数;所述第一通道数是所述运维装置在当前时刻与所述网络环境中网络设备建立的通道总数;
在确定所述第一通道数小于第一预设值之后,获取第二通道数;所述第二通道数是当前时刻所述目标网络设备已经建立的通道总数;
判断所述第二通道数是否小于第二预设值,若是,则建立与所述目标网络设备之间的远程控制通道;否则,在预设等待时段之后,重新获取所述第二通道数,直至建立与所述目标网络设备之间的远程控制通道;其中,所述重新获取所述第二通道数的次数不大于第三预设值。
可选的,所述处理单元还用于:
在建立与所述目标网络设备之间的远程控制通道之后,监测所述远程控制通道的通道连接状态;
若确定所述远程控制通道异常断开或者所述远程控制通道处于空闲状态的时长大于第一预设时长,则重新建立所述远程控制通道。
可选的,所述处理单元还用于:
在建立与所述目标网络设备之间的远程控制通道之后,读取所述远程控制通道中的通道数据;
若确定所述通道数据中包括结束符,则将所述通道数据保存为结果数据;
在确定所述通道数据对应所述目标网络设备的最后一条待执行命令,或者所述运维指令中还包括预设危险参数之后,断开所述远程控制通道。
可选的,所述处理单元还用于:
在建立与所述目标网络设备之间的远程控制通道之后,若确定所述通道数据中不包括所述结束符,则在确定所述目标网络设备执行所述待执行命令的持续时长超过第二预设时长之后,断开所述远程控制通道。
相应的,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述网络设备运维的方法。
相应的,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述网络设备运维的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种系统架构的示意图;
图2为本发明实施例提供的一种运维装置的结构示意图;
图3为本发明实施例提供的一种网络设备运维的方法的流程示意图;
图4为本发明实施例提供的一种运维模式匹配的流程示意图;
图5为本发明实施例提供的一种过滤操作对象的流程示意图;
图6为本发明实施例提供的一种流量控制的流程示意图;
图7为本发明实施例提供的一种监控远程控制通道的流程示意图;
图8为本发明实施例提供的一种控制模块调用各模块的流程示意图;
图9为本发明实施例提供的一种预配置的流程示意图;
图10为本发明实施例提供的一种解码的流程示意图;
图11为本发明实施例提供的另一种运维装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示例性的示出了本发明实施例提供网络设备运维的方法所适用的系统架构,该系统架构可以包括网络设备和运维装置;其中,运维人员可以在运维装置上下发运维指令,运维装置根据运维指令确定具体的目标网络设备和目标网络设备的待执行命令,从而对目标网络设备执行待执行命令。
如图2中,运维装置又可以包括启动模块、配置数据库、解密模块、过滤模块、模式匹配模块、控制模块、日志模块、监控模块、流控模块、预配置模块、解码模块、交互模块、结果数据模块。各模块的作用和交互在下述实施例中具体描述。
运维装置中预先配置有多种运维模式及各网络设备的配置信息。
运维模式用于指示对网络设备的运维操作,本发明实施例中,提供至少6种运维模式,分别是“-c”、“-F”、“-x”、“-m”、“-p”,解释为:
“-c”,指示对网络设备执行一个或多个指定命令,其中,该一个或多个指定命令必须在预定义命令集中;
“-F”,指示对网络设备执行指定路径下文本文件中的命令,文本文件可以以网络设备的管理IP地址命名;
“-x”,指示对网络设备执行任意一个或多个命令。
“-m”,指示对一组或多组网络设备执行各自预定义的模板内的命令;
“-p”,指示对网络设备执行指定路径下的预定义命令集。
网络设备的配置信息可以包括网络设备的管理IP地址、设备名称、设备登陆认证方式、设备登陆用户名、设备登陆密码、设备特权密码、登陆模式、设备型号、采集标记、角色、设备区域信息等。
可以将运维模式及各网络设备的配置信息预先配置在配置数据库中,具体实现中,配置数据库中的配置数据可以包括Mysql数据和配置文件。配置数据库可以向运维装置提供其运行所需的参数,主要提供如表1所示的信息。
表1
从配置数据库中提取的参数将传递给各相关模块,具体如表2所示。
表2
基于上述描述,图3示例性的示出了本发明实施例提供的一种网络设备运维的方法的流程,该流程可以由上述运维装置执行。
该流程具体包括:
步骤301,运维装置接收运维指令;
步骤302,运维装置根据运维指令,确定目标网络设备和目标网络设备的待执行命令;
步骤303,运维装置通过目标网络设备的配置信息对目标网络设备执行待执行命令,从而完成对目标网络设备的运维操作。
本发明实施例中,运维装置可以通过至少三种方式驱动,分别为人工驱动、定时驱动和程序调用,其中,人工驱动指的是通过人操作运维装置,手动发起,人工查看运维装置产生的“结果数据”;定时驱动指的是通过定时任务驱动运维装置;程序调用指的是可通过外部程序驱动运维装置运行,并获取运维装置产生的“结果数据”。
运维装置具备灵活、丰富的驱动方法,可以满足网络日常运维中几乎全部场景的需求,运维装置的具体驱动方法可以如表3所示。
表3
运维装置包括启动模块,启动模块接收到的运维指令中包括驱动参数,驱动参数包括“必选参数”和“可选参数”两部分,“必选参数”是驱动运维装置正常运行所必须要输入的参数,“可选参数”是根据需要实现功能的不同,输入不同的参数。在驱动运维装置时可从外部获取的驱动参数如表4所示。
表4
由表4可知,运维装置的启动模块接收到的运维指令中可以包括运维模式,如“-c”、“-F”、“-x”、“-m”、“-p”等,该运维装置即可以基于运维模式所指示的对网络设备的运维操作,根据运维指令确定具体的目标网络设备和目标网络设备的待执行命令。
一种实现方式中,运维指令中不仅包括上述运维模式,还包括用于指示目标脚本文件的位置的路径参数。解释为,上述驱动参数中的“-d”在一种运维模式下,可以理解为仅用于指示将结果数据存储的路径;在另一种运维模式下,可以理解为用于指示将结果数据存储的路径和读取命令的路径。也就是说,当运维模式是上述第二种运维模式时,运维指令中包括用于指示目标脚本文件的位置的路径参数。
运维装置在接收到运维指令之后,会确定出运维指令中的运维模式和目标脚本文件的位置;根据运维模式,确定目标脚本文件的脚本类型;根据脚本类型和目标脚本文件的位置,确定目标脚本文件;进而根据目标脚本文件,确定目标网络设备和目标网络设备的待执行命令。
本发明实施例中,脚本类型可以分为第一脚本类型和第二脚本类型,其中,第一脚本类型指示单一网络设备的待执行脚本,解释为,一个第一脚本类型的脚本文件即对应一个网络设备,该脚本文件即为该网络设备的待执行脚本,其中记录有该网络设备的待执行命令;第二脚本类型的脚本指示至少一个网络设备和各网络设备的待执行脚本,解释为,第二脚本类型的脚本文件即对应多个网络设备,且该脚本文件指示每个网络设备的待执行脚本。
基于不同脚本类型,运维装置在确定目标网络设备和目标网络设备的待执行命令时又有不同,具体如下:
(1)脚本类型为第一脚本类型
运维装置若确定脚本类型为第一脚本类型,则将目标脚本文件对应的网络设备确定为目标网络设备;将目标脚本文件中的执行命令确定为目标网络设备的待执行命令。
具体实现中,运维指令包括运维模式“-F”和路径参数“-d”,其中,运维模式“-F”指示第一脚本类型,具体是.txt,则可以是在指定路径下查找所有的.txt文件,并从中获取需要执行的网络设备及对网络设备的具体执行命令。此处,可以预先配置以IP地址命名的.txt文件,从而可以在查找到所有的.txt文件之后,确定.txt文件的文件名为需要执行的网络设备的IP,文件中的具体执行命令为对网络设备的具体执行命令。
举例来说,在服务器目录Anhui下,预先定义配置文件,文件名为安徽分公司防火墙管理IP.txt(144.152.9.5.txt);接收到的运维指令为“python main.py–d Anhui–Fflag”,则可以确定运维模式为“-F”,将路径参数(Anhui)与程序的本地路径(/opt/InfColl/)、配置路径(Result/)拼接成最终的指定路径“/opt/InfColl/Result/Anhui/”,并从指定路径下从文件名中获取目标网络设备的IP地址144.152.9.5,读取文本中的预配置命令。
(2)脚本类型为第二脚本类型
运维装置若确定脚本类型为第二脚本类型,则将目标脚本文件对应的每个网络设备确定为目标网络设备,并将网络设备的待执行脚本中的执行命令确定为目标网络设备的待执行命令。
具体实现中,运维指令包括运维模式“-m”和路径参数“d”,其中,运维模式“-m”指示第二脚本类型,具体是.csv(模板配置文件),则可以是在指定路径下查找.csv文件,并从中获取需要执行的网络设备及对网络设备的具体执行模板。此处,可以预先在.csv文件中配置以IP地址和模板名称命名的.txt文件,从而可以在查找到.csv文件后,读取.csv文件中IP地址和命令模板名称,并根据IP地址和命令模板名称搜索对应的命令模板,以对网络设备执行命令模板中的命令。
举例来说,在服务器目录Anhui下,预先定义模板配置文件和命令模板,模板配置文件的文件名为modul.csv,文件内容中包括IP地址“144.152.9.5”和IP地址“144.32.9.5”对应命令模板“M_ASA.txt”,IP地址“144.152.252.4”和IP地址“144.32.252.4”对应命令模板“M_CiscoSW.txt”。接收到的运维指令为“python main.py–d Anhui–m mul”,则可以确定运维模式为“-m”,将路径参数(Anhui)与程序的本地路径(/opt/InfColl/)、配置路径(Result/)拼接成最终的指定路径“/opt/InfColl/Result/Anhui/”,并从指定路径下获取模板配置文件modul.csv,读取其中的内容,确定目标网络设备的IP地址和对应的命令模板是分别为“144.152.9.5”对应“M_ASA.txt”、“144.32.9.5”对应“M_ASA.txt”、“144.152.252.4”对应“M_CiscoSW.txt”、“144.32.252.4”对应“M_CiscoSW.txt”。
另一种实现方式中,运维指令中的运维模式是上述第一种运维模式,运维指令中不包括用于指示目标脚本文件的位置的路径参数,而是运维模式中直接指示了待执行的命令。
本发明实施例中,运维装置在接收到运维指令之后,会先判断运维模式中是否还包括目标网络设备标识,若是,则将目标网络设备标识对应的网络设备确定为目标网络设备;否则,将网络环境中的所有网络设备确定为目标网络设备;然后根据运维模式中的命令参数,确定目标网络设备的待执行命令。此处,可以设定目标网络设备的标识为以下类型中的任一个:网络设备标识、设备类型标识、厂商标识。
基于运维模式中命令参数的不同,运维装置在确定对目标网络设备执行的待执行命令的方式也不同。具体的,若确定命令参数为目标命令,则将目标命令确定为目标网络设备的待执行命令;若确定命令参数为目标命令的标识,则根据目标命令的标识,确定目标命令,并将目标命令确定为目标网络设备的待执行命令。
命令参数为目标命令对应具体实现中的“-x”模式,在该模式下获取“-x”后面带的具体参数,即为一个或多个具体的命令。举例来说,运维指令为“python main.py–d Anhui–i 144.152.9.5–x“show version,show running-config””,则对IP地址“144.152.9.5”的网络设备依次执行命令“show version”和“show running-config”,并将执行数据存储至指定路径“/opt/InfColl/Result/Anhui/”中。
命令参数为目标命令的标识对应具体实现中的“-c”模式,在该模式下获取“-c”后面带的具体参数,即为一个或多个目标命令的标识(也可以叫做命令别名),进而根据该一个或多个目标命令的标识,从默认命令集中获取到对应的目标命令。举例来说,运维指令为“python main.py–d Anhui–i 144.152.9.5–c configuration”,则对IP地址“144.152.9.5”的网络设备执行命令标识为“configuration”的具体命令。
命令参数为目标命令的标识的实现方式中,运维指令中还可以包括目标命令的路径参数,该路径参数用于指示目标命令的位置,则可以根据目标命令的路径参数和目标命令的标识,确定目标命令,并将目标命令确定为目标网络设备的待执行命令。此实现方式对应于具体实现中的“-p”模式,在该模式下获取“-p”后面带的具体参数,即为指定命令集的位置,然后根据目标命令的标识,从指定命令集中确定目标命令。举例来说,运维指令为“Python main.py-d6688-c configuration-p/opt/InfColl/Result/Command.csv”,则对网络环境中的所有网络设备执行指定命令集中的目标命令configuration,且指定命令集是根据路径参数“/opt/InfColl/Result/Command.csv”确定的。
以上详细描述了运维装置根据运维指令,确定目标网络设备和目标网络设备的待执行命令的实现方式,也就是说,运维装置可以在接收到运维指令之后,确定出对应的运维模式,然后根据运维模式匹配出具体的设备和命令。可以由模式匹配模块参照图4执行以下流程。
步骤401,确定运维指令中的运维模式;若运维指令中-m等于“mul”,则确认为“-m”模式,转向步骤402;若为“-x”模式,转向步骤403;若为“-c”模式,转向步骤404;若运维指令中-F等于“Flag”,则确认为“-F”模式,转向步骤405。
步骤402,在“-m”模式下,搜索指定路径下的.csv文件,并读取该文件。该文件的组织格式为“IP(设备管理IP)、模板名称”,读取文件中的内容,搜索该IP对应的模板,执行模板中的命令,生成UCom_IP.txt的结果文件。
步骤403,在“-x”模式下,获取-x后带的具体命令参数,该具体参数是一个或多个具体的命令。
步骤404,在“-c”模式下,获取-c参数后面的一个多个命令别名,如果存在-p参数则转向步骤406,将-c参数后跟的一个或多个命令别名传递给步骤406;如果不存在-p参数,则将-c参数后跟的一个或多个的命令别名与配置数据库中命令集(Command.csv)的Alias(命令别名)进行匹配,凡能匹配上的,即是要执行的命令,获取该命令别名对应的具体命令。
步骤405,在“-F”模式下,在指定路径下查找所有以IP地址命名的.txt文件,并从文件名获取需要执行设备的IP(设备管理地址)及文件中的具体执行命令。
步骤406,在“-p”模式下,根据-p参数后的指定路径,查找指定命令集(Command.csv),根据-c参数后面带的具体的一个或多个命令别名与指定命令集中的命令别名进行匹配,凡能匹配上的,即是要执行的命令,获取该命令别名对应的具体命令。
由模式匹配模块执行运维模式匹配之后,可以输出运维模式匹配数据如下:
“-F”和“-m”:IP(网络设备管理地址)、Command(需要执行的具体命令)、Alias(命令别名)、FACTORY(类型)以及IP和执行命令之间的映射关系。
“-x”和“-c”:Command(需要执行的具体命令)、Alias(命令别名)、FACTORY(类型),默认是所有IP(网络设备管理地址)。
在运维装置通过目标网络设备的配置信息对目标网络设备执行待执行命令之前,还需要登录至目标网络设备,具体登录过程中,运维装置需要从目标网络设备的配置信息中确定目标网络设备的登录信息;然后根据目标网络设备的登录信息,建立与目标网络设备之间的远程控制通道,从而登录至目标网络设备。其中,远程控制通道为SHH模式或者TELNET模式。
本发明实施例中,运维装置在获取目标网络设备的配置信息时,需要先登录至配置数据库,进而从配置数据库获取目标网络设备的配置信息中的登录信息。在登录配置数据库时,运维装置可以采用解密模块对配置数据库的用户名和密码进行解密,以登录至配置数据库中。运维装置在从配置数据库中获取设备登陆信息时,也会采用解密模块对设备登陆信息中的用户名和密码进行解密。
运维装置还可以采用过滤模块综合启动模块、解密模块、模式匹配模块传递过来的数据,按照预设规则进行过滤,过滤出需要执行的操作对象。此处的过滤可以分为分布式过滤、特殊标记过滤和外部过滤;其中,分布式过滤指的是在分布式模式下过滤出本运维装置上执行的网络设备;特殊标记过滤指的是过滤出有特殊标记,不需要执行命令的网络设备;外部过滤指的是根据外部输入,过滤出需要执行命令的指定网络设备。
过滤模块可以基于图5执行如下流程。其中,步骤502至步骤505属于外部过滤,步骤506属于特殊标记过滤,步骤507属于分布式过滤。
步骤501,获取启动装置中目标网络设备的标识和配置数据库中设备登陆信息。
若目标网络设备标识为-i参数,则转向步骤502;若目标网络设备的标识为-I参数,则转向步骤503;若目标网络设备的标识为-r参数,则转向步骤504。
步骤502,根据-i参数过滤。
将-i参数带的具体IP地址与设备登陆信息中的IP(网络设备管理地址)进行匹配,符合条件的滤出。
步骤503,根据-I参数过滤。
将-I参数带的一个或多个IP地址与设备登陆信息中的IP(网络设备管理地址)进行匹配,符合条件的滤出。
步骤504,根据-r参数过滤。
将-r参数带的一个或多个FACTORY信息与设备登陆信息中的FACTORY(设备类型)进行匹配,符合条件的滤出。
步骤505,与运维模式匹配数据整合。
运维模式匹配数据包括两种,第一种是在“-F”和“-m”下传递过来的执行命令信息、IP信息以及两者的映射关系,根据IP匹配步骤502或步骤503或步骤504传递过来的设备登陆信息组合成完整的设备登陆信息和执行命令的信息,以及两者之间的映射关系;第二种是在“-x”和“-c”下传递过来的执行命令信息,默认与所有IP有映射关系,也就是说,和步骤502或步骤503或步骤504传递过来的所有IP建立映射关系。
步骤506,根据设备登陆信息中的“FLAG”过滤。
如果FLAG等于“1”则滤出至步骤507,如果FLAG不等于“1”则滤除。
步骤507,根据设备登陆信息中的“LineNum”过滤。
如果参数-k等于“dis”,则检查设备登陆信息中的“LineNum”的值除以“disNum”的余数与一个或多个“mod”值中是否存在相同的,如有则该条记录滤出,如无则滤除;如果“启动模块”未传递-k参数,则本步骤不做任何操作,进入下一步进行过滤。
步骤508,滤出设备登陆信息和命令集信息以及两者的绑定关系。
由上可知,经过滤模块之后,可以得到设备登陆信息和命令集信息以及两者的绑定关系,也就相当于得到了目标网络设备、目标网络设备的登录信息、待执行命令集的对应关系,从而运维设备可以先根据目标网络设备的登录信息登录至目标网络设备,然后对目标网络设备执行待执行命令集。
运维装置在建立与目标网络设备之间的远程控制通道之前,还需要确定是否符合预设的登录条件,预设的登录条件可以是运维装置在当前时刻与网络环境中网络设备建立的通道总数(第一通道数)小于第一预设值,且当前时刻目标网络设备已经建立的通道总数(第二通道数)小于第二预设值。也就是说,运维装置在建立与目标网络设备之间的远程控制通道之前,需要获取第一通道数,在确定第一通道数小于第一预设值之后,获取第二通道数,并判断第二通道数是否小于第二预设值,若是,则建立与目标网络设备之间的远程控制通道。本发明实施例中,运维装置若确定第二通道数不小于第二预设值,则会在预设等待时段之后,重新获取第二通道数,直至建立与目标网络设备之间的远程控制通道,但需要说明的是,运维装置重新获取第二通道数的次数不应大于第三预设值。
运维装置可以采用流控模块对远程控制通道建立并发数量的限制,具体包括如下内容:(1)运维装置的并发线程控制,即控制开启的线程数量,也就是能同时登陆的网络设备数量。(2)单个网络设备的并发登陆限制,即控制通过运维装置同时登陆至同一台网络设备的数量。
流控模块可以基于图6执行如下流程。
步骤601,从配置数据库中获取当前线程任务数量;
步骤602,判断是否发起新的线程;若是,则转向步骤603,否则等待;
步骤603,从配置数据库中获取设备登陆连接数限制,根据FACTORY找到对应的连接数限制值;从配置数据库中设备登陆连接数状态获取设备当前登陆的连接数。
步骤604,判断设备当前登陆的连接数是否小于设备登陆连接数限制;若是,则转向步骤605,否则,转向步骤606;
步骤605,允许与网络设备进行连接;
步骤606,每等待30s后,重新尝试连接;如果300秒内仍无法连接成功则放弃。
运维装置在建立与目标网络设备之间的远程控制通道之后,还可以监测远程控制通道的通道连接状态;若确定远程控制通道异常断开或者远程控制通道处于空闲状态的时长大于第一预设时长,则重新建立远程控制通道。
在监测远程控制通道的通道连接状态时,运维装置还可以实时读取远程控制通道中的通道数据,若确定通道数据中包括结束符,则将通道数据保存为结果数据;并在确定通道数据对应目标网络设备的最后一条待执行命令,或者运维指令中还包括预设危险参数之后,断开远程控制通道。此外,运维装置若确定通道数据中不包括结束符,则在确定目标网络设备执行待执行命令的持续时长超过第二预设时长之后,断开远程控制通道。
运维装置可以采用监控模块监控整个装置的运转状态是否正常,监测交互的数据结果是否符合预期。具体包括如下内容:监控远程控制通道状态是否正常、监控通道上的数据交互是否正常、监控数据交互的结果是否正常。
监控模块可以基于图7执行如下流程。
步骤701,通过Paramiko中的transport.is_active()属性,判断运维装置与网络设备的连接是否正常。若是,则进入步骤702;否则,进入步骤705。
步骤702,通过Paramiko中的channel.recv.ready()属性,判断通道是否处于空闲状态。若是,则进入步骤703;否则,进入步骤704。
步骤703,判断空闲时间是否已经超过80秒,若是,则进入步骤705,否则,进入步骤702;
步骤704,检查结果文件状态,判断结果文件中是否包括结束标志符,若是,则结束;否则,进入步骤705;
步骤705,修改配置数据库中的设备登陆连接数状态。
需要说明的是,运维装置中各模块均受控制模块的调用,该控制模块用于控制整个运维装置的逻辑控制和运转。包括如下内容:
(1)发起和终止连接。控制与网络设备建立或终止远程控制通道;
(2)循环控制。控制在远程控制通道上数据交互的循环捕获;
(3)退出控制。判断交互是否结束,执行正常或强制退出;
(4)重试控制。设备登陆失败后的重试控制,按指定次数进行重新登陆尝试;远程控制通道异常失效后的重试登陆;数据交互完整性验证失败后按指定数次进行重新尝试。
如图8中,控制模块对各模块的调用流程如下:
步骤801,根据从过滤模块传递过来的设备登陆信息、执行的命令信息、设备与命令之间的关联关系尝试与网络设备建立连接。首先调用流控模块确认是否可以马上开启新的线程与网络设备建立连接,确认是否网络设备的当前连接数已满。流控模块返回“False”或“True”。
步骤802,如果流控模块返回的结果是“True”则进入步骤803,如果流控模块返回的结果是“False”则回到步骤801。在流控模块内部如果在300秒内仍然无法满足条件则放弃该设备。
步骤803,通过Paramiko或Pexpect与网络设备建立连接。
步骤804,调用日志模块将连接建立的信息存入日志。
步骤805,调用监控模块,监控运维装置与网络设备之间的连接状态是否正常,监控运维装置与网络设备之间数据通道是否正常。如果异常则返回“False”,如果正常则返回“True”。
步骤806,根据监控模块返回的结果进行判断。如果是True,则进入步骤808继续读取通道中的数据;如果为False,则进入步骤811判断重连次数。
步骤807,根据传递的参数,在设备上逐条执行命令。
步骤808,读取运维装置与网络设备之间数据通道上的数据。
步骤809,调用解码模块,对步骤808读取的数据进行解码。
步骤810,调用预配置模块,对步骤808读取的数据中的自动交互内容进行匹配并自动应答。
步骤811,判断是否满足重新发起连接的条件。如果步骤816中,该设备的超时退出次数或步骤806中该设备连接或管道异常次数超过3次,则进入第步骤817,断开运维装置与该设备的连接;如果未超过3次则进入步骤801,尝试重新与设备建立连接。
步骤812,判断经过解码的数据中是否包含结束标志符。如果未包含结束标志符则进入步骤816,如果已经包含结束标志符则进入步骤813。
步骤813,将数据通道中获取的经过解码的数据保存到结果文件中。
步骤814,判断执行的命令是否为最后一条命令。如果已经是最后一条命令则断开连接,如果不是最后一条命令则进入步骤815。
步骤815,根据从过滤模块传递过来的参数-D(如有)是否等于“dan”,如果是则断开连接,如果没有该参数或参数值不等于“dan”则进入步骤807继续执行命令。
步骤816,根据从过滤模块传递过来的参数-t(如有)是否小于装置运行时间,如未接受到-t参数则默认为20分钟。如果小于装置运营时间则进入步骤811,如果大于装置运行时间则进入步骤808,继续读取通道中的数据。
步骤817,断开装置与该设备的连接。
控制模块最终将每条命令执行生成的结果数据传递给结果数据模块,从而保存到文件中。
下面,分别对运维装置中的日志模块、预配置模块、解码模块、结果数据模块进一步说明。
日志模块,用于记录设备登陆和命令执行的信息。
设备登陆信息包括时间戳(年月日时分秒)、设备名称、IP(设备管理地址)、MODE(TELNET/SSH)、登陆状态(成功/失败)。
命令执行信息包括时间戳(年月日时分秒)、设备名称、IP(设备管理地址)、命令别名、执行状态(成功/失败)、结果文件保存路径、结果文件名称、结果文件(成功/失败)。
预配置模块,用于在初始登陆设备后,根据网络设备的类型设置相应的分屏模式、获取网络设备的结束标志符、设置网络设备交互的预置应答;具体流程如图9所示:
步骤901,根据控制模块传递过来的网络设备登陆信息中的FACTORY来确定具体的设备类型。
步骤902,初始登陆后,从获取的登陆信息中提取结束标志符,结束标志符可以是登陆初始信息中的倒数第2到倒数第10字符。
步骤903,根据不同的FACTORY,设置相应的不分屏命令。
步骤904,根据不同的FACTORY,设置save、reboot(重新启动)、reload交互时的预置应答。
解码模块,用于对网络设备返回的数据进行正确的解码,并将完成解码的结果数据传递给控制模块。解码的具体流程如图10所示:
步骤1001,根据网络设备返回的结果,判断是否存在特殊字符,如果存在特殊字符则进入步骤1002,如果不存在特殊字符则进入步骤1003。
步骤1002,对步骤1001传递过来的特殊字符进行转义,将步骤1001传递过来的数据中的特殊字符转义后一同传递给步骤1003。
步骤1003,对步骤1001或步骤1002传递过来的数据进行编码识别,并将识别出的具体编码,比如UTF-8、GBK、GBK2312等传递给步骤1004。
步骤1004,匹配步骤1003传递过来的具体编码,如果匹配到具体的编码则将结果数据传递给步骤1005,如果识别不出具体的编码则将结果数据传递给步骤1006。
步骤1005,根据识别出的具体编码对结果数据进行解码。
步骤1006,对结果数据按UTF-8进行解码。
结果数据模块中,结果文件的命名格式为:网络设备名称-网络设备管理IP-命令别名-设备型号-文件生成时间戳#flag1#flag2#flag3#flag4.txt。文件存放的目录构成为:日期→设备型号→命令别名→文件.txt。
为了更好地解释本发明实施例,下面提供一个实际使用中的例子。
运维目标:收集防火墙的基线信息
驱动方法:python main.py-d Anhui-i 144.152.9.5
步骤:
1、从外部获取驱动参数,-d为指定路径,与程序的本地路径(/opt/InfColl/)、配置路径(Result/)拼接成最终的指定路径“/opt/InfColl/Result/Anhui/”;获取外部指定目标网络设备IP地址:144.152.9.5;
2、解码连接配置数据库的用户名密码,连接配置数据库,获取预定义的设备登陆信息、执行命令。
3、根据外部参数144.152.9.5以及获取的设备登陆信息进行过滤,确认在配置数据库中存在该台设备,并获取相应的登陆信息(设备名称、设备管理IP、登陆模式、认证模式、用户名、密码、特权密码、设备型号、备份标记、区域标记、预留标记1、预留标记2),包括登陆模式以及功能模式,如不存在该设备,则程序结束。由于未指定需要执行的命令,默认为执行预定义命令集中该设备型号所对应的所有命令。
4、根据获取的信息匹配到是单台设备通过SSH方式以ACS账号登陆,执行对应命令集中所有设备,获取交互结果存入指定路径。
5、从配置数据库中读取设备144.152.9.5当前登陆的数量,以及该设备允许同时登陆的最大数量;如果超过限制则进行等待,直到满足条件;如果当前数量允许登陆则发起与设备的SSH远程控制通道的建立。
6、高频监控通道的连接状态以及空闲状态,如果发现通道已经失效,则主动断开,并重新发起连接建立新的通道;如果通道空闲时间超过阈值则认为已经完成交互或通道异常;监测是否是受限的危险命令,如果是危险命令,则检查是否单台设备,并在执行完成后立即退出。
7、通过控制通道登陆设备后,设置设备交互数据不分屏,构造设备结束符(设备名后五位+特殊字符(#或>或~或]));并进入特权模式。
8、对与设备交互的数据进行解码,首先识别设备输出的编码格式,并按照识别出的格式进行解码。
9、判断是否捕获退出符,如是则退出该命令的执行,判断是否通道异常或空闲时间超出阈值,如是退出该命令的执行。对获取的该命令的结束数据进行判断,是否正常结束,如是则保存结束数据,执行下一条命令,如已经是最后一条命令则退出整个控制通道;如判断结果数据异常,则重新执行该命令。
本技术方案中,通过在运维装置中预设多种运维模式及各网络设备的配置信息,运维人员可以直接在运维装置中输入运维指令,运维装置即可以自动根据运维指令中的运维模式确定目标网络设备和目标网络设备的待执行命令,该方式无需运维人员手动配置运维脚本,提高了运维效率,且降低了对运维人员的专业要求。进一步的,当前网络环境中的绝大多数网络设备都可以支持SSH模式或TELNET模式,运维装置采用该两种模式可以与当前网络环境中的绝大多数网络设备建立连接,具有通用性。运维装置在与网络设备建立连接时,会实时监控连接状态,提高运维的可靠性。
基于同一发明构思,图11示例性的示出了本发明实施例提供的一种网络设备运维的装置的结构,该装置可以执行网络设备运维的方法的流程。
所述运维装置包括:
接收单元1101,用于接收运维指令;所述运维指令包括运维模式;所述运维装置预存有多种运维模式及各网络设备的配置信息;所述运维模式用于指示对网络设备的运维操作;
处理单元1102,用于根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令;
所述处理单元1102,还用于通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令,从而完成对所述目标网络设备的运维操作。
可选的,所述运维指令中还包括路径参数,所述路径参数用于指示目标脚本文件的位置;
所述处理单元1102具体用于:
根据所述运维模式,确定所述目标脚本文件的脚本类型;
根据所述脚本类型和所述目标脚本文件的位置,确定所述目标脚本文件;
根据所述目标脚本文件,确定所述目标网络设备和所述目标网络设备的待执行命令。
可选的,所述处理单元1102具体用于:
若确定所述脚本类型为第一脚本类型,则将所述目标脚本文件对应的网络设备确定为所述目标网络设备;将所述目标脚本文件中的执行命令确定为所述目标网络设备的待执行命令;所述第一脚本类型指示单一网络设备的待执行脚本;
若确定所述脚本类型为第二脚本类型,则将所述目标脚本文件对应的每个网络设备确定为所述目标网络设备,并将所述网络设备的待执行脚本中的执行命令确定为所述目标网络设备的待执行命令;所述第二脚本类型的脚本指示至少一个网络设备和各网络设备的待执行脚本。
可选的,所述处理单元1102具体用于:
判断所述运维模式中是否还包括目标网络设备标识,若是,则将所述目标网络设备标识对应的网络设备确定为所述目标网络设备;否则,将网络环境中的网络设备确定为所述目标网络设备;
根据所述运维模式中的命令参数,确定所述目标网络设备的待执行命令。
可选的,所述处理单元1102具体用于:
若确定所述命令参数为目标命令,则将所述目标命令确定为所述目标网络设备的待执行命令;
若确定所述命令参数为目标命令的标识,则根据所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
可选的,所述处理单元1102具体用于:
若确定所述运维指令中还包括目标命令的路径参数,则根据所述目标命令的路径参数和所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
可选的,所述目标网络设备标识为以下类型中的任一个:网络设备标识、设备类型标识、厂商标识。
可选的,所述处理单元1102还用于:
在通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令之前,从所述目标网络设备的配置信息中确定所述目标网络设备的登录信息;
根据所述目标网络设备的登录信息,建立与所述目标网络设备之间的远程控制通道,从而登录至所述目标网络设备;所述远程控制通道为SHH模式或者TELNET模式。
可选的,所述处理单元1102还用于:
在建立与所述目标网络设备之间的远程控制通道之前,获取第一通道数;所述第一通道数是所述运维装置在当前时刻与所述网络环境中网络设备建立的通道总数;
在确定所述第一通道数小于第一预设值之后,获取第二通道数;所述第二通道数是当前时刻所述目标网络设备已经建立的通道总数;
判断所述第二通道数是否小于第二预设值,若是,则建立与所述目标网络设备之间的远程控制通道;否则,在预设等待时段之后,重新获取所述第二通道数,直至建立与所述目标网络设备之间的远程控制通道;其中,所述重新获取所述第二通道数的次数不大于第三预设值。
可选的,所述处理单元1102还用于:
在建立与所述目标网络设备之间的远程控制通道之后,监测所述远程控制通道的通道连接状态;
所述运维装置若确定所述远程控制通道异常断开或者所述远程控制通道处于空闲状态的时长大于第一预设时长,则重新建立所述远程控制通道。
可选的,所述处理单元1102还用于:
在建立与所述目标网络设备之间的远程控制通道之后,读取所述远程控制通道中的通道数据;
若确定所述通道数据中包括结束符,则将所述通道数据保存为结果数据;
在确定所述通道数据对应所述目标网络设备的最后一条待执行命令,或者所述运维指令中还包括预设危险参数之后,断开所述远程控制通道。
可选的,所述处理单元1102还用于:
在建立与所述目标网络设备之间的远程控制通道之后,若确定所述通道数据中不包括所述结束符,则在确定所述目标网络设备执行所述待执行命令的持续时长超过第二预设时长之后,断开所述远程控制通道。
基于同一发明构思,本发明实施例还提供了一种计算设备,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述网络设备运维的方法。
基于同一发明构思,本发明实施例还提供了一种计算机可读非易失性存储介质,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行上述网络设备运维的方法。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (15)
1.一种网络设备运维的方法,其特征在于,包括:
运维装置接收运维指令;所述运维指令包括运维模式;所述运维装置预存有多种运维模式及各网络设备的配置信息;所述运维模式用于指示对网络设备的运维操作;
所述运维装置根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令;
所述运维装置通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令,从而完成对所述目标网络设备的运维操作。
2.如权利要求1所述的方法,其特征在于,所述运维指令中还包括路径参数,所述路径参数用于指示目标脚本文件的位置;
所述运维装置根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令,包括:
所述运维装置根据所述运维模式,确定所述目标脚本文件的脚本类型;
所述运维装置根据所述脚本类型和所述目标脚本文件的位置,确定所述目标脚本文件;
所述运维装置根据所述目标脚本文件,确定所述目标网络设备和所述目标网络设备的待执行命令。
3.如权利要求2所述的方法,其特征在于,所述运维装置根据所述目标脚本文件,确定所述目标网络设备和所述目标网络设备的待执行命令,包括:
所述运维装置若确定所述脚本类型为第一脚本类型,则将所述目标脚本文件对应的网络设备确定为所述目标网络设备;将所述目标脚本文件中的执行命令确定为所述目标网络设备的待执行命令;所述第一脚本类型指示单一网络设备的待执行脚本;
所述运维装置若确定所述脚本类型为第二脚本类型,则将所述目标脚本文件对应的每个网络设备确定为所述目标网络设备,并将所述网络设备的待执行脚本中的执行命令确定为所述目标网络设备的待执行命令;所述第二脚本类型的脚本指示至少一个网络设备和各网络设备的待执行脚本。
4.如权利要求1所述的方法,其特征在于,所述运维装置根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令,包括:
所述运维装置判断所述运维模式中是否还包括目标网络设备标识,若是,则将所述目标网络设备标识对应的网络设备确定为所述目标网络设备;否则,将网络环境中的网络设备确定为所述目标网络设备;
所述运维装置根据所述运维模式中的命令参数,确定所述目标网络设备的待执行命令。
5.如权利要求4所述的方法,其特征在于,所述运维装置根据所述运维模式中的命令参数,确定所述目标网络设备的待执行命令,包括:
所述运维装置若确定所述命令参数为目标命令,则将所述目标命令确定为所述目标网络设备的待执行命令;
所述运维装置若确定所述命令参数为目标命令的标识,则根据所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
6.如权利要求5所述的方法,其特征在于,所述运维装置根据所述目标命令的标识,确定所述目标命令,包括:
所述运维装置若确定所述运维指令中还包括目标命令的路径参数,则根据所述目标命令的路径参数和所述目标命令的标识,确定所述目标命令,并将所述目标命令确定为所述目标网络设备的待执行命令。
7.如权利要求4至6任一项所述的方法,其特征在于,所述目标网络设备标识为以下类型中的任一个:网络设备标识、设备类型标识、厂商标识。
8.如权利要求1所述的方法,其特征在于,所述运维装置通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令之前,还包括:
所述运维装置从所述目标网络设备的配置信息中确定所述目标网络设备的登录信息;
所述运维装置根据所述目标网络设备的登录信息,建立与所述目标网络设备之间的远程控制通道,从而登录至所述目标网络设备;所述远程控制通道为SHH模式或者TELNET模式。
9.如权利要求8所述的方法,其特征在于,所述运维装置建立与所述目标网络设备之间的远程控制通道之前,还包括:
所述运维装置获取第一通道数;所述第一通道数是所述运维装置在当前时刻与所述网络环境中网络设备建立的通道总数;
所述运维装置在确定所述第一通道数小于第一预设值之后,获取第二通道数;所述第二通道数是当前时刻所述目标网络设备已经建立的通道总数;
所述运维装置判断所述第二通道数是否小于第二预设值,若是,则建立与所述目标网络设备之间的远程控制通道;否则,在预设等待时段之后,重新获取所述第二通道数,直至建立与所述目标网络设备之间的远程控制通道;其中,所述重新获取所述第二通道数的次数不大于第三预设值。
10.如权利要求8所述的方法,其特征在于,所述运维装置建立与所述目标网络设备之间的远程控制通道之后,还包括:
所述运维装置监测所述远程控制通道的通道连接状态;
所述运维装置若确定所述远程控制通道异常断开或者所述远程控制通道处于空闲状态的时长大于第一预设时长,则重新建立所述远程控制通道。
11.如权利要求8至10任一项所述的方法,其特征在于,所述运维装置建立与所述目标网络设备之间的远程控制通道之后,还包括:
所述运维装置读取所述远程控制通道中的通道数据;
所述运维装置若确定所述通道数据中包括结束符,则将所述通道数据保存为结果数据;
所述运维装置在确定所述通道数据对应所述目标网络设备的最后一条待执行命令,或者所述运维指令中还包括预设危险参数之后,断开所述远程控制通道。
12.如权利要求11所述的方法,其特征在于,所述运维装置建立与所述目标网络设备之间的远程控制通道之后,还包括:
所述运维装置若确定所述通道数据中不包括所述结束符,则在确定所述目标网络设备执行所述待执行命令的持续时长超过第二预设时长之后,断开所述远程控制通道。
13.一种运维装置,其特征在于,包括:
接收单元,用于接收运维指令;所述运维指令包括运维模式;所述运维装置预存有多种运维模式及各网络设备的配置信息;所述运维模式用于指示对网络设备的运维操作;
处理单元,用于根据所述运维指令,确定目标网络设备和所述目标网络设备的待执行命令;
所述处理单元,还用于通过所述目标网络设备的配置信息对所述目标网络设备执行所述待执行命令,从而完成对所述目标网络设备的运维操作。
14.一种计算设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行权利要求1至12任一项所述的方法。
15.一种计算机可读非易失性存储介质,其特征在于,包括计算机可读指令,当计算机读取并执行所述计算机可读指令时,使得计算机执行如权利要求1至12一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010098339.5A CN111343015A (zh) | 2020-02-18 | 2020-02-18 | 一种网络设备运维的方法及运维装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010098339.5A CN111343015A (zh) | 2020-02-18 | 2020-02-18 | 一种网络设备运维的方法及运维装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111343015A true CN111343015A (zh) | 2020-06-26 |
Family
ID=71183468
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010098339.5A Pending CN111343015A (zh) | 2020-02-18 | 2020-02-18 | 一种网络设备运维的方法及运维装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111343015A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257040A (zh) * | 2020-10-19 | 2021-01-22 | 久盈世纪(北京)科技有限公司 | 一种基于ssh协议实现对目标机运维的方法、系统与设备 |
CN112491586A (zh) * | 2020-11-05 | 2021-03-12 | 中国建设银行股份有限公司 | 网络设备驱动方法、装置、存储介质及计算机设备 |
CN113190296A (zh) * | 2021-05-19 | 2021-07-30 | 瀚高基础软件股份有限公司 | 基于Paramiko的交互式命令执行方法及装置 |
CN113424153A (zh) * | 2021-06-28 | 2021-09-21 | 商汤国际私人有限公司 | 一种自动化运维方法和装置 |
CN115174563A (zh) * | 2022-06-30 | 2022-10-11 | 山东正龙万誉信息科技有限公司 | 一种计算机底层远程运维的驱动方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694687A (zh) * | 2012-05-30 | 2012-09-26 | 杭州华三通信技术有限公司 | 一种批量配置命令下发的网络管理方法及装置 |
CN104360951A (zh) * | 2014-12-09 | 2015-02-18 | 迈普通信技术股份有限公司 | 一种脚本测试方法和装置 |
CN109918116A (zh) * | 2019-03-12 | 2019-06-21 | 中国工商银行股份有限公司 | 运维对象支撑方法及系统 |
CN110677308A (zh) * | 2019-11-05 | 2020-01-10 | 四川长虹电器股份有限公司 | 一种代码自动化部署方法 |
CN110727565A (zh) * | 2018-07-16 | 2020-01-24 | 普天信息技术有限公司 | 一种网络设备平台信息收集方法及系统 |
-
2020
- 2020-02-18 CN CN202010098339.5A patent/CN111343015A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102694687A (zh) * | 2012-05-30 | 2012-09-26 | 杭州华三通信技术有限公司 | 一种批量配置命令下发的网络管理方法及装置 |
CN104360951A (zh) * | 2014-12-09 | 2015-02-18 | 迈普通信技术股份有限公司 | 一种脚本测试方法和装置 |
CN110727565A (zh) * | 2018-07-16 | 2020-01-24 | 普天信息技术有限公司 | 一种网络设备平台信息收集方法及系统 |
CN109918116A (zh) * | 2019-03-12 | 2019-06-21 | 中国工商银行股份有限公司 | 运维对象支撑方法及系统 |
CN110677308A (zh) * | 2019-11-05 | 2020-01-10 | 四川长虹电器股份有限公司 | 一种代码自动化部署方法 |
Non-Patent Citations (3)
Title |
---|
赵冰冰: "IT化网络运维的探索与应用", 《江苏通信》 * |
赵辉等: "网络设备中命令行管理系统的设计与实现", 《网络与信息》 * |
陈晓宇等: "Cisco IOS命令自动交互软件包的设计和实现", 《微型电脑应用》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112257040A (zh) * | 2020-10-19 | 2021-01-22 | 久盈世纪(北京)科技有限公司 | 一种基于ssh协议实现对目标机运维的方法、系统与设备 |
CN112491586A (zh) * | 2020-11-05 | 2021-03-12 | 中国建设银行股份有限公司 | 网络设备驱动方法、装置、存储介质及计算机设备 |
CN112491586B (zh) * | 2020-11-05 | 2022-11-25 | 中国建设银行股份有限公司 | 网络设备驱动方法、装置、存储介质及计算机设备 |
CN113190296A (zh) * | 2021-05-19 | 2021-07-30 | 瀚高基础软件股份有限公司 | 基于Paramiko的交互式命令执行方法及装置 |
CN113424153A (zh) * | 2021-06-28 | 2021-09-21 | 商汤国际私人有限公司 | 一种自动化运维方法和装置 |
CN115174563A (zh) * | 2022-06-30 | 2022-10-11 | 山东正龙万誉信息科技有限公司 | 一种计算机底层远程运维的驱动方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111343015A (zh) | 一种网络设备运维的方法及运维装置 | |
CN109032995B (zh) | 一种数据信息的传输方法、装置、设备及存储介质 | |
CN109040178B (zh) | 配置信息发送方法及装置 | |
CN115827111B (zh) | 服务器启动项的调整方法和装置、存储介质及电子装置 | |
CN114553601B (zh) | 信息校验方法、装置、设备和介质 | |
CN112087475B (zh) | 一种云平台组件应用的消息推送方法、装置及消息服务器 | |
CN113985852B (zh) | 车载终端日志处理方法、装置及系统 | |
CN111181808B (zh) | 一种bmc ip访问控制的测试方法及系统 | |
CN111832273A (zh) | 目的报文的确定方法及装置、存储介质、电子装置 | |
CN110880990B (zh) | 一种大数据集群组件的配置核查方法、装置及计算设备 | |
CN114020678B (zh) | 服务器串行控制台重定向方法、装置、系统以及电子设备 | |
CN110727441A (zh) | 一种flume代理安装方法、系统及存储介质 | |
WO2016188223A1 (zh) | 故障信息采集的方法及装置 | |
CN113873041B (zh) | 报文传输方法、装置、网络设备及计算机可读存储介质 | |
CN107451435B (zh) | 一种硬件加密机的管控方法、管控机及管控系统 | |
CN112415404B (zh) | 电池包的测试方法及电池包的测试装置 | |
CN113190410A (zh) | 日志收集方法、系统、客户端和存储介质 | |
CN110262871B (zh) | 容器应用的容器实例启停方法、装置、计算机设备及存储介质 | |
JP2014078126A (ja) | 機器のリモートログ収集システム及び機器のリモートログ収集方法 | |
CN111726422A (zh) | 一种批量控制windows快速部署的工具及方法 | |
JP2009282707A (ja) | ネットワークログ取得解析システム | |
CN111367746A (zh) | 无线整机的测试方法 | |
CN117763513A (zh) | 一种网络设备的登陆方法、装置、电子设备及存储介质 | |
US20220188724A1 (en) | Maintenance management system for service providing application, maintenance management device, maintenance management method, and maintenance management program | |
CN111221703A (zh) | 一种集群nas配置和服务管理的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200626 |