CN116506291B - 一种电力系统网络设备配置内容解析方法及装置 - Google Patents

一种电力系统网络设备配置内容解析方法及装置 Download PDF

Info

Publication number
CN116506291B
CN116506291B CN202310770832.0A CN202310770832A CN116506291B CN 116506291 B CN116506291 B CN 116506291B CN 202310770832 A CN202310770832 A CN 202310770832A CN 116506291 B CN116506291 B CN 116506291B
Authority
CN
China
Prior art keywords
analysis
sub
current
text
analysis rule
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.)
Active
Application number
CN202310770832.0A
Other languages
English (en)
Other versions
CN116506291A (zh
Inventor
江辉
张军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhang Technology Guangzhou Co ltd
Original Assignee
Zhang Technology Guangzhou Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhang Technology Guangzhou Co ltd filed Critical Zhang Technology Guangzhou Co ltd
Priority to CN202310770832.0A priority Critical patent/CN116506291B/zh
Publication of CN116506291A publication Critical patent/CN116506291A/zh
Application granted granted Critical
Publication of CN116506291B publication Critical patent/CN116506291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/141Setup of application sessions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S10/00Systems supporting electrical power generation, transmission or distribution
    • Y04S10/50Systems or methods supporting the power network operation or management, involving a certain degree of interaction with the load-side end user applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Computational Linguistics (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Supply And Distribution Of Alternating Current (AREA)

Abstract

本发明公开了一种电力系统网络设备配置内容解析方法及装置,用于解决当前的电力监控系统网络设备配置内容解析方法解析过程复杂,不易维护,解析效率低的技术问题。本发明通过为网络设备封装命令对象及分析规则对象,通过获取目标网络设备的命令对象及解析规则来解析网络配置内容,从而简化了解析过程,提高了解析效率,同时降低了解析难度。

Description

一种电力系统网络设备配置内容解析方法及装置
技术领域
本发明涉及配置解析技术领域,尤其涉及一种电力系统网络设备配置内容解析方法及装置。
背景技术
在电力系统内部网络中,为采集获取防火墙、交换机等设备资产的配置内容及状态信息等,可使用此类网络设备提供的信息通讯接口方式。一般常用通讯接口有:SNMP(Simple Network Management Protocol,简单网络管理协议)、HTTP/HTTPS(Hyper TextTransfer Protocol,超文本传输协议/ HTTP协议的安全版本),SSH协议(Secure Shell,安全外壳)。
而在获取到配置内容和状态信息后,需要对其进行解析,从而得到用户能够理解的文字信息。
现有的配置内容解析方式如图1所示,首先需要获取设备的品牌和型号信息,然后在建立SSH通道后执行display version命令获得设备输出内容,从而通过分析得出需要的可读性好的结果内容。
然而,当前的电力监控系统网络设备配置内容解析的方法,主要面向过程,通过串联起一些自定义的处理规则(主要是正则表达式)来分析输出,解析过程复杂,不易维护,解析效率低;且不支持级联命令(需要根据之前运行命令的内容输出来构造后续命令行执行,来完整获得输出文本,从而继续分析内容、及合并内容等情况)。
发明内容
本发明提供了一种电力系统网络设备配置内容解析方法及装置,用于解决当前的电力监控系统网络设备配置内容解析方法解析过程复杂,不易维护,解析效率低的技术问题。
本发明提供了一种电力系统网络设备配置内容解析方法,包括:
建立针对目标网络设备的连接通道;
确定所述目标网络设备的当前命令对象;
调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容;
通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
若接收到所述回显文本,则调用所述当前命令对象的分析规则对象,通过所述分析规则对象解析所述回显文本,得到分析回显文本;
判断所述当前命令对象是否存在子命令对象;
若存在子命令对象,则将所述子命令对象确定为当前命令对象,返回调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容的步骤;
若否,采用所有所述分析回显文本构造配置内容。
可选地,所述分析规则对象包括若干个子分析规则对象;所述若接收到所述回显文本,则调用所述当前命令对象的分析规则对象,通过所述分析规则对象解析所述回显文本,得到分析回显文本的步骤,包括:
若接收到所述回显文本,则调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本;
判断所述当前回显文本是否属于正常分析结果;
若所述当前回显文本属于正常分析结果,则将所述当前回显文本添加进预设临时字典中,并判断是否存在未分析的子分析规则对象;
若存在未分析的子分析规则对象,则将所述子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述临时字典合并写入预设全局字典中。
可选地,还包括:
若所述当前回显文本不属于正常分析结果,则判断是否存在未分析的子分析规则对象;
若存在未分析的子分析规则对象,则将所述子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述临时字典合并写入预设全局字典中。
可选地,所述通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本的步骤,包括:
当所述命令行内容不为动态形式时,通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
当所述命令行内容为动态形式时,从所述全局字典中提取所述命令行内容对应的变量值,采用所述变量值和所述命令行内容生成目标命令行内容;
通过所述连接通道向所述目标网络设备发送所述目标命令行内容,并判断是否接收到所述目标网络设备响应所述目标命令行内容返回的回显文本。
本发明还提供了一种电力系统网络设备配置内容解析装置,包括:
连接通道建立模块,用于建立针对目标网络设备的连接通道;
当前命令对象确定模块,用于确定所述目标网络设备的当前命令对象;
命令行内容生成模块,用于调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容;
回显文本接收判断模块,用于通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
分析模块,用于若接收到所述回显文本,则调用所述当前命令对象的分析规则对象,通过所述分析规则对象解析所述回显文本,得到分析回显文本;
子命令对象判断模块,用于判断所述当前命令对象是否存在子命令对象;
返回模块,用于若存在子命令对象,则将所述子命令对象确定为当前命令对象,返回调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容的步骤;
配置内容构造模块,用于若否,采用所有所述分析回显文本构造配置内容。
可选地,所述分析规则对象包括若干个子分析规则对象;所述分析模块,包括:
解析子模块,用于若接收到所述回显文本,则调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本;
分析结果判断子模块,用于判断所述当前回显文本是否属于正常分析结果;
第一判断子模块,用于若所述当前回显文本属于正常分析结果,则将所述当前回显文本添加进预设临时字典中,并判断是否存在未分析的子分析规则对象;
第一返回子模块,用于若存在未分析的子分析规则对象,则将所述子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
第一分析回显文本生成子模块,用于若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述临时字典合并写入预设全局字典中。
可选地,所述分析模块,还包括:
第二判断子模块,用于若所述当前回显文本不属于正常分析结果,则判断是否存在未分析的子分析规则对象;
第二返回子模块,用于若存在未分析的子分析规则对象,则将所述子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
第二分析回显文本生成子模块,用于若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述临时字典合并写入预设全局字典中。
可选地,所述回显文本接收判断模块,包括:
第一接收判断子模块,用于当所述命令行内容不为动态形式时,通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
目标命令行内容生成子模块,用于当所述命令行内容为动态形式时,从所述全局字典中提取所述命令行内容对应的变量值,采用所述变量值和所述命令行内容生成目标命令行内容;
第二接收判断子模块,用于通过所述连接通道向所述目标网络设备发送所述目标命令行内容,并判断是否接收到所述目标网络设备响应所述目标命令行内容返回的回显文本。
本发明还提供了一种电子设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行如上任一项所述的电力系统网络设备配置内容解析方法。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行如上任一项所述的电力系统网络设备配置内容解析方法。
从以上技术方案可以看出,本发明具有以下优点:本发明提供了一种电力系统网络设备配置内容解析方法,包括:建立针对目标网络设备的连接通道;确定目标网络设备的当前命令对象;调用当前命令对象的执行方法,并采用执行方法生成命令行内容;通过连接通道向目标网络设备发送命令行内容,并判断是否接收到目标网络设备响应命令行内容返回的回显文本;若接收到回显文本,则调用当前命令对象的分析规则对象,通过分析规则对象解析回显文本,得到分析回显文本;判断当前命令对象是否存在子命令对象;若存在子命令对象,则将子命令对象确定为当前命令对象,返回调用当前命令对象的执行方法,并采用执行方法生成命令行内容的步骤;若否,采用所有分析回显文本构造配置内容。
本发明通过为网络设备封装命令对象及分析规则对象,通过获取目标网络设备的命令对象及解析规则来解析网络配置内容,从而简化了解析过程,提高了解析效率,同时降低了解析难度。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为现有的配置内容解析方式的流程图;
图2为本发明实施例提供的一种电力系统网络设备配置内容解析方法的步骤流程图;
图3为本发明实施例提供的命令对象的框架图;
图4为本发明另一实施例提供的一种电力系统网络设备配置内容解析方法的步骤流程图;
图5为本发明实施例提供的一种电力系统网络设备配置内容解析方法的流程图;
图6为本发明实施例提供的一种电力系统网络配置内容解析装置的结构框图。
具体实施方式
本发明实施例提供了一种电力系统网络设备配置内容解析方法及装置,用于解决当前的电力监控系统网络设备配置内容解析方法解析过程复杂,不易维护,解析效率低的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图2,图2为本发明实施例提供的一种电力系统网络设备配置内容解析方法的步骤流程图。
本发明提供的一种电力系统网络设备配置内容解析方法,具体可以包括以下步骤:
步骤201,建立针对目标网络设备的连接通道;
在本发明实施例中,连接通道可以为SSH连接通道。
SSH(Secure Shell,安全外壳协议)是一种在不安全网络上用于安全远程登录和其他安全网络服务的协议。
在本发明实施例中,前端可以通过SSH连接通道建立与目标网络设备之间的连接关系。
步骤202,确定目标网络设备的当前命令对象;
在本发明实施例中,针对不同品牌、不同型号的网络设备,可以抽象出命令对象来将不同的发送命令封装起来。命令对象中好包含有对应的分析规则对象,这些分析规则对象会分析处理命令对象所代表的采样命令在网络设备上执行之后获得的回显文本内容,转换为可读性好的内容结果。
首先,每个配置信息的采样命令运行和回显内容分析都有其特点,所以依据这些特点可以将采样命令分类成若干个命令对象。其中,命令对象归纳如下表1所示:
表1:命令对象归纳表
在一个示例中,每个命令对象的配置可以通过XML方式实现,每个命令对象以command标签单独定义,通过name属性来被业务层面应用,通过type属性确定命令对象的类型。命令对象要执行的命令通过commandLine入口来写明,如果是动态构造的命令行,需要引用到中间输出结果来替换生成,格式如下:
show rule id ${ARR_RULES.RuleID}
表明要用ARR_RULES对象的RuleID成员的值(假如为5),替代进去这个命令行,形成最终的命令行:show rule id 5
如果命令包含子命令对象,可以在subCommands入口那里写明,这种方式支持了命令对象的嵌套包含关系。
在完成命令对象的配置后,可以通过方便的网页操作等手段,可以自行测试验证某些命令的输出及分析,看是否能正确执行命令,以及获得预期的可读性好的输出结果。
步骤203,调用当前命令对象的执行方法,并采用执行方法生成命令行内容;
在具体实现中,每个命令对象都各自支持一个执行命令(“executeCmd”)方法,每个命令对象的内部具体个性化实现了各自的命令执行逻辑,让采样总体进行有序顺次完成。
步骤204,通过连接通道向目标网络设备发送命令行内容,并判断是否接收到目标网络设备响应命令行内容返回的回显文本;
步骤205,若接收到回显文本,则调用当前命令对象的分析规则对象,通过分析规则对象解析回显文本,得到分析回显文本;
在获取到当前命令对象的执行方法后,可以通过之前建立的SSH连接通道发送对应的命令行内容。目标网络设备在接收到命令行内容后,可以返回相应的回显文本。调用端在获取到回显文本后,可以通过当前命令对象中封装的分析规则对象来解析该回显文本,从而得到分析回显文本。
在本发明实施例中,可以针对每个配置信息的采样命令运行后回显内容的特点,归纳了若干类分析规则对象,来覆盖支持所有回显文本的分析,分析规则对象如下表2所示:
表2:分析规则对象
所有的分析规则对象分别支持一个parse(“分析回显文本”)方法,每个规则的内部具体个性化实现了各自的分析逻辑,从而实现正确内容的采样。
在一个示例中,分析规则对象配置示例如下:
<parseRule id=“99” name=“$VLAN_CHUNK” type=“ChunkRule”>
<parentRule></parentRule>
<itemType>MULTIPLE_DICTIONARY</itemType>
<srcBuffer>$SRCVUF</srcBuffer>
<regxFmt><![CDATA[VALN ID:\s{1}(?<ID>\w{1,})]]></regxFmt>
</parseRule>
<parseRule id=“991” name=“$VLAN_CHUNK” type=“ChunkRule”>
<parentRule>99</parentRule>
<itemType>MULTIPLE_DICTIONARY</itemType>
<srcBuffer>$VLAN_CHUNK</srcBuffer>
<regxFmt><![CDATA[VALN ID:\s{1}(?<ID>\w{1,})]]></regxFmt>
</parseRule>
分析规则对象可以以parse标签定义,其id属性表明唯一的键值,供命令对象引用表明被包含关系,以及可以作为子规则的父ID(parentRule)来被引用,构造起关联关系。name属性是作为分析规则的结果输出的名字,保存到采样模块的运行空间内;type属性是表明了分析规则对象的类型(参见分析规则对象简表)。SrcBuffer入口是表明了此规则需要分析的源头缓存内容的变量名字;regFmt入口是通过配置携带了命名组的正则表达式来尝试在srcBuffer中找到匹配字段,存入到正则表达式内相应的命名变量内。
第二个分析规则的parentRule=99,说明它是第一个分析规则的子rule,采样模块会先执行父分析规则,再顺次执行它所包含的子分析规则(若有的话)。
步骤206,判断当前命令对象是否存在子命令对象;
步骤207,若存在子命令对象,则将子命令对象确定为当前命令对象,返回调用当前命令对象的执行方法,并采用执行方法生成命令行内容的步骤;
在本发明实施例中,每个命令对象除了封装自身的分析规则对象外,还可以封装相应的子命令对象及其对应的分析规则对象。在通过当前命令对象的分析规则对象完成对回显文本的分析之后,可以判断当前命令对象是否存在子命令对象,若存在,则将子命令对象确定为当前命令对象,返回步骤203。
为便于理解,以下对命令对象的结构进行说明:
在一个示例中,每个命令对象和其持有的分析规则对象、所包含的子命令对象的框架图如图3所示。xx命令可以包括命令行、分析规则成员列表、子命令列表和执行命令。分析规则成员列表中记录了xx命令的分析规则,包括分析规则1、分析规则2等,每个规则记录了相关的分析回显文本。子命令列表中记录了相关的子命令,每个子命令记载了相关的执行命令与分析规则,如子命令1记录有分析规则A,子命令记录有分析规则B。
步骤208,若否,采用所有分析回显文本构造配置内容。
在完成所有命令对象的解析后,当前命令的执行生成周期正式完结,可以构造、整理JSON结果作为配置内容返回给调用端。
本发明通过为网络设备封装命令对象及分析规则对象,通过获取目标网络设备的命令对象及解析规则来解析网络配置内容,从而简化了解析过程,提高了解析效率,同时降低了解析难度。
请参阅图4,图4为本发明另一实施例提供的一种电力系统网络设备配置内容解析方法的步骤流程图。具体可以包括以下步骤:
步骤401,建立针对目标网络设备的连接通道;
步骤402,确定目标网络设备的当前命令对象;
步骤403,调用当前命令对象的执行方法,并采用执行方法生成命令行内容;
步骤401-403与步骤201-203相同,具体可以参考步骤201-203的描述,此处不再赘述。
步骤404,当命令行内容不为动态形式时,通过连接通道向目标网络设备发送命令行内容,并判断是否接收到目标网络设备响应命令行内容返回的回显文本;
当命令行内容不为动态形式时,可以调用当前命令对象的executeCmd方法(执行命令),通过之前建立好的SSH通道发送对应的命令行内容,并判断是否接收到目标网络设备响应命令行内容返回的回显文本。
步骤405,当命令行内容为动态形式时,从全局字典中提取命令行内容对应的变量值,采用变量值和命令行内容生成目标命令行内容;
步骤406,通过连接通道向目标网络设备发送目标命令行内容,并判断是否接收到目标网络设备响应目标命令行内容返回的回显文本;
若当前命令对象的命令行内容是动态形式时,可以通过采样程序的逻辑自动从全局字典内提取出对应的变量进行替代,从而构造出合法、完整的命令串。
在一个示例中,命令对象要执行的命令通过commandLine入口来写明,如果是动态构造的命令行,则需要引用到中间输出结果来替换生成,假设命令行格式如下:
show rule id ${ARR_RULES.RuleID}
则表明要用ARR_RULES对象的RuleID成员的值(假如为5),替代进去这个命令行,形成最终的命令行:show rule id 5。
接着将所生成的命令行作为目标命令行内容发送至目标网络设备,并判断是否接收到目标网络设备响应目标命令行内容返回的回显文本。
步骤407,若接收到回显文本,则调用当前命令对象的分析规则对象,通过分析规则对象解析回显文本,得到分析回显文本;
在本发明实施例中,调用端在获取到回显文本后,可以通过当前命令对象中封装的分析规则对象来解析该回显文本,从而得到分析回显文本。
在一个示例中,分析规则对象包括若干个子分析规则对象;若接收到回显文本,则调用当前命令对象的分析规则对象,通过分析规则对象解析回显文本,得到分析回显文本的步骤,可以包括以下子步骤:
S71,若接收到回显文本,则调用当前命令对象的当前子分析规则对象,通过当前子分析规则对象解析回显文本,得到当前回显文本;
S72,判断当前回显文本是否属于正常分析结果;
S73,若当前回显文本属于正常分析结果,则将当前回显文本添加进预设临时字典中,并判断是否存在未分析的子分析规则对象;
S74,若存在未分析的子分析规则对象,则将子分析规则对象确定为当前子分析规则对象,并返回调用当前命令对象的当前子分析规则对象,通过当前子分析规则对象解析回显文本,得到当前回显文本的步骤;
S75,若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有临时字典合并写入预设全局字典中。
在本发明实施例中,在未接收到回显文本时,结束流程。
而在接收到回显文本后,首先需要调用当前命令对象的当前子分析规则对象,通过当前子分析规则对象对回显文本进行解析,来得到当前回显文本。
在获取到当前回显文本后,需要判断其分析结果是否属于正常分析结果,若正常,则将分析结果(当前回显文本)添加进临时字典中(可供后续可能的其他分析规则对象引用),分析的结果根据分析规则的不同而不同,有可能是字典、数组等,为目标网络设备关键信息。
接着判断是否存在还未分析的子分析规则对象,若存在,则将该子分析对象作为当前子分析对象,并返回步骤S71。
若不存在未分析的子分析规则对象,则将所有当前回显文本作为分析回显文本,并将临时字典合并写入预设的全局字典中。
进一步地,步骤407还可以包括:
S76,若当前回显文本不属于正常分析结果,则判断是否存在未分析的子分析规则对象;
S77,若存在未分析的子分析规则对象,则将子分析规则对象确定为当前子分析规则对象,并返回调用当前命令对象的当前子分析规则对象,通过当前子分析规则对象解析回显文本,得到当前回显文本的步骤;
S78,若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有临时字典合并写入预设全局字典中。
步骤408,判断当前命令对象是否存在子命令对象;
当当前命令对象的所有分析规则对象均轮着被调用过parse方法后,会进入判断是否还有其他字命令对线的环节。
步骤409,若存在子命令对象,则将子命令对象确定为当前命令对象,返回调用当前命令对象的执行方法,并采用执行方法生成命令行内容的步骤;
在本发明实施例中,每个命令对象除了封装自身的分析规则对象外,还可以封装相应的子命令对象及其对应的分析规则对象。在通过当前命令对象的分析规则对象完成对回显文本的分析之后,可以判断当前命令对象是否存在子命令对象,若存在,则将子命令对象确定为当前命令对象,返回步骤403。
步骤410,若否,采用所有分析回显文本构造配置内容。
在完成所有命令对象的解析后,当前命令的执行生成周期正式完结,可以构造、整理JSON结果作为配置内容返回给调用端。
本发明通过为网络设备封装命令对象及分析规则对象,通过获取目标网络设备的命令对象及解析规则来解析网络配置内容,从而简化了解析过程,提高了解析效率,同时降低了解析难度。
为便于理解,以下通过具体示例对本发明实施例进行描述:
请参阅图5,图5为本发明实施例提供的一种电力系统网络设备配置内容解析方法的流程图。具体过程如下:
1、首先建立一个针对目标网络设备的SSH连接通道;
2、根据要提取的关键信息,查找目标网络设备对应的命令对象(主命令)作为当前命令对象;
3、调用当前命令对线的executeCmd方法(执行命令),通过之前建立好的SSH连接通过发送对应的命令行内容;
注意:如果当前命令对象的命令行内容为动态形式,采用程序的逻辑会自动从全局字典内提取出对应的变量值进行替代,构造出合法、完整的命令串;
4、执行命令方法后,流程会判断是否能正确通过SSH通道返回拿到回显文本,如果失败,会导致无法继续进行下去,进入终了环节;而在成功获得回显文本后,则会调用当前命令对象所拥有的第一个分析规则对象的parse(“分析回显文本”)方法,以获得有效输出的分析回显文本;
5、接着判定此次分析结果是否正常,若正常,则将分析结果记录到临时字典中(可供后续可能的其他分析规则对象引用),分析的结果根据分析规则的不同而不同,可能是字典、数组等;其均为目标网络设备的关键信息;然后继续判定当前命令对象有无下一个分析规则对象;
6、当分析结果不正常时,直接继续判定当前命令对象有无下一个分析规则对象;
7、若当前命令对象不存在下一个分析规则对象,则合并截至当前分析规则对象产生的临时字典内容到全局字典中(可供后续额能的其他子命令对象引用);
8、若当前命令对象的所有分析规则对象都被调用过parse方法,则会进入判定是否还有其他子命令对象的环节;若还有子命令对象,则会切换相应的子命令对象为当前命令对象,跳转到步骤3进行处理;若没有其他子命令对象,则当前命令对象的执行声明周期真实完结,构造、整理JSON结果作为配置信息返回给调用端。
请参阅图6,图6为本发明实施例提供的一种电力系统网络配置内容解析装置的结构框图。
本发明实施例提供了一种电力系统网络设备配置内容解析装置,包括:
连接通道建立模块601,用于建立针对目标网络设备的连接通道;
当前命令对象确定模块602,用于确定目标网络设备的当前命令对象;
命令行内容生成模块603,用于调用当前命令对象的执行方法,并采用执行方法生成命令行内容;
回显文本接收判断模块604,用于通过连接通道向目标网络设备发送命令行内容,并判断是否接收到目标网络设备响应命令行内容返回的回显文本;
分析模块605,用于若接收到回显文本,则调用当前命令对象的分析规则对象,通过分析规则对象解析回显文本,得到分析回显文本;
子命令对象判断模块606,用于判断当前命令对象是否存在子命令对象;
返回模块607,用于若存在子命令对象,则将子命令对象确定为当前命令对象,返回调用当前命令对象的执行方法,并采用执行方法生成命令行内容的步骤;
配置内容构造模块608,用于若否,采用所有分析回显文本构造配置内容。
在本发明实施例中,分析规则对象包括若干个子分析规则对象;分析模块605,包括:
解析子模块,用于若接收到回显文本,则调用当前命令对象的当前子分析规则对象,通过当前子分析规则对象解析回显文本,得到当前回显文本;
分析结果判断子模块,用于判断当前回显文本是否属于正常分析结果;
第一判断子模块,用于若当前回显文本属于正常分析结果,则将当前回显文本添加进预设临时字典中,并判断是否存在未分析的子分析规则对象;
第一返回子模块,用于若存在未分析的子分析规则对象,则将子分析规则对象确定为当前子分析规则对象,并返回调用当前命令对象的当前子分析规则对象,通过当前子分析规则对象解析回显文本,得到当前回显文本的步骤;
第一分析回显文本生成子模块,用于若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有临时字典合并写入预设全局字典中。
在本发明实施例中,分析模块605,还包括:
第二判断子模块,用于若当前回显文本不属于正常分析结果,则判断是否存在未分析的子分析规则对象;
第二返回子模块,用于若存在未分析的子分析规则对象,则将子分析规则对象确定为当前子分析规则对象,并返回调用当前命令对象的当前子分析规则对象,通过当前子分析规则对象解析回显文本,得到当前回显文本的步骤;
第二分析回显文本生成子模块,用于若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有临时字典合并写入预设全局字典中。
在本发明实施例中,回显文本接收判断模块604,包括:
第一接收判断子模块,用于当命令行内容不为动态形式时,通过连接通道向目标网络设备发送命令行内容,并判断是否接收到目标网络设备响应命令行内容返回的回显文本;
目标命令行内容生成子模块,用于当命令行内容为动态形式时,从全局字典中提取命令行内容对应的变量值,采用变量值和命令行内容生成目标命令行内容;
第二接收判断子模块,用于通过连接通道向目标网络设备发送目标命令行内容,并判断是否接收到目标网络设备响应目标命令行内容返回的回显文本。
本发明实施例还提供了一种电子设备,设备包括处理器以及存储器:
存储器用于存储程序代码,并将程序代码传输给处理器;
处理器用于根据程序代码中的指令执行本发明实施例的电力系统网络设备配置内容解析方法。
本发明实施例还提供了一种计算机可读存储介质,其特征在于,计算机可读存储介质用于存储程序代码,程序代码用于执行本发明实施例的电力系统网络设备配置内容解析方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (8)

1.一种电力系统网络设备配置内容解析方法,其特征在于,包括:
建立针对目标网络设备的连接通道;
确定所述目标网络设备的当前命令对象;
调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容;
通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
若接收到所述回显文本,则调用所述当前命令对象的分析规则对象,通过所述分析规则对象解析所述回显文本,得到分析回显文本;
判断所述当前命令对象是否存在子命令对象;
若存在子命令对象,则将所述子命令对象确定为当前命令对象,返回调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容的步骤;
若否,采用所有所述分析回显文本构造配置内容;
其中,所述分析规则对象包括若干个子分析规则对象;所述若接收到所述回显文本,则调用所述当前命令对象的分析规则对象,通过所述分析规则对象解析所述回显文本,得到分析回显文本的步骤,包括:
若接收到所述回显文本,则调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本;
判断所述当前回显文本是否属于正常分析结果;
若所述当前回显文本属于正常分析结果,则将所述当前回显文本添加进预设临时字典中,并判断是否存在未分析的子分析规则对象;
若存在未分析的子分析规则对象,则将所述未分析的子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述预设临时字典合并写入预设全局字典中。
2.根据权利要求1所述的方法,其特征在于,还包括:
若所述当前回显文本不属于正常分析结果,则判断是否存在未分析的子分析规则对象;
若存在未分析的子分析规则对象,则将所述未分析的子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述预设临时字典合并写入预设全局字典中。
3.根据权利要求1所述的方法,其特征在于,所述通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本的步骤,包括:
当所述命令行内容不为动态形式时,通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
当所述命令行内容为动态形式时,从所述预设全局字典中提取所述命令行内容对应的变量值,采用所述变量值和所述命令行内容生成目标命令行内容;
通过所述连接通道向所述目标网络设备发送所述目标命令行内容,并判断是否接收到所述目标网络设备响应所述目标命令行内容返回的回显文本。
4.一种电力系统网络设备配置内容解析装置,其特征在于,包括:
连接通道建立模块,用于建立针对目标网络设备的连接通道;
当前命令对象确定模块,用于确定所述目标网络设备的当前命令对象;
命令行内容生成模块,用于调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容;
回显文本接收判断模块,用于通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
分析模块,用于若接收到所述回显文本,则调用所述当前命令对象的分析规则对象,通过所述分析规则对象解析所述回显文本,得到分析回显文本;
子命令对象判断模块,用于判断所述当前命令对象是否存在子命令对象;
返回模块,用于若存在子命令对象,则将所述子命令对象确定为当前命令对象,返回调用所述当前命令对象的执行方法,并采用所述执行方法生成命令行内容的步骤;
配置内容构造模块,用于若否,采用所有所述分析回显文本构造配置内容;
其中,所述分析规则对象包括若干个子分析规则对象;所述分析模块,包括:
解析子模块,用于若接收到所述回显文本,则调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本;
分析结果判断子模块,用于判断所述当前回显文本是否属于正常分析结果;
第一判断子模块,用于若所述当前回显文本属于正常分析结果,则将所述当前回显文本添加进预设临时字典中,并判断是否存在未分析的子分析规则对象;
第一返回子模块,用于若存在未分析的子分析规则对象,则将所述未分析的子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
第一分析回显文本生成子模块,用于若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述预设临时字典合并写入预设全局字典中。
5.根据权利要求4所述的装置,其特征在于,所述分析模块,还包括:
第二判断子模块,用于若所述当前回显文本不属于正常分析结果,则判断是否存在未分析的子分析规则对象;
第二返回子模块,用于若存在未分析的子分析规则对象,则将所述未分析的子分析规则对象确定为当前子分析规则对象,并返回调用所述当前命令对象的当前子分析规则对象,通过所述当前子分析规则对象解析所述回显文本,得到当前回显文本的步骤;
第二分析回显文本生成子模块,用于若不存在未分析的子分析规则对象,则将所有属于正常分析结果的当前回显文本作为分析回显文本,并将所有所述预设临时字典合并写入预设全局字典中。
6.根据权利要求4所述的装置,其特征在于,所述回显文本接收判断模块,包括:
第一接收判断子模块,用于当所述命令行内容不为动态形式时,通过所述连接通道向所述目标网络设备发送所述命令行内容,并判断是否接收到所述目标网络设备响应所述命令行内容返回的回显文本;
目标命令行内容生成子模块,用于当所述命令行内容为动态形式时,从所述预设全局字典中提取所述命令行内容对应的变量值,采用所述变量值和所述命令行内容生成目标命令行内容;
第二接收判断子模块,用于通过所述连接通道向所述目标网络设备发送所述目标命令行内容,并判断是否接收到所述目标网络设备响应所述目标命令行内容返回的回显文本。
7.一种电子设备,其特征在于,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行权利要求1-3任一项所述的电力系统网络设备配置内容解析方法。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行权利要求1-3任一项所述的电力系统网络设备配置内容解析方法。
CN202310770832.0A 2023-06-28 2023-06-28 一种电力系统网络设备配置内容解析方法及装置 Active CN116506291B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310770832.0A CN116506291B (zh) 2023-06-28 2023-06-28 一种电力系统网络设备配置内容解析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310770832.0A CN116506291B (zh) 2023-06-28 2023-06-28 一种电力系统网络设备配置内容解析方法及装置

Publications (2)

Publication Number Publication Date
CN116506291A CN116506291A (zh) 2023-07-28
CN116506291B true CN116506291B (zh) 2023-09-05

Family

ID=87321673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310770832.0A Active CN116506291B (zh) 2023-06-28 2023-06-28 一种电力系统网络设备配置内容解析方法及装置

Country Status (1)

Country Link
CN (1) CN116506291B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030043398A (ko) * 2001-11-28 2003-06-02 엘지전자 주식회사 망 요소 관리 시스템의 장치 연동부 구성 및 연동 방법
CN1946039A (zh) * 2006-11-17 2007-04-11 杭州华为三康技术有限公司 基于模板集的命令行回显信息解析方法及装置
EP3462302A1 (en) * 2017-09-29 2019-04-03 Seiko Epson Corporation Information processing device, and control method of an information processing device
CN109787810A (zh) * 2018-12-12 2019-05-21 深圳天元云科技有限公司 基于文本解析的网络设备配置统一管理方法、终端及介质
EP3968149A1 (de) * 2020-09-11 2022-03-16 SemaLogic UG Erzeugung von steuerungsvorschriften aus schematisierten regelwerken
CN115344318A (zh) * 2021-05-14 2022-11-15 远光软件股份有限公司 一种单据数据处理服务的可视化配置方法及系统
CN115604095A (zh) * 2022-10-18 2023-01-13 上海哔哩哔哩科技有限公司(Cn) 网络设备配置方法及系统
WO2023071725A1 (zh) * 2021-10-29 2023-05-04 华为技术有限公司 网络配置特征提取方法及相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11218500B2 (en) * 2019-07-31 2022-01-04 Secureworks Corp. Methods and systems for automated parsing and identification of textual data

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030043398A (ko) * 2001-11-28 2003-06-02 엘지전자 주식회사 망 요소 관리 시스템의 장치 연동부 구성 및 연동 방법
CN1946039A (zh) * 2006-11-17 2007-04-11 杭州华为三康技术有限公司 基于模板集的命令行回显信息解析方法及装置
EP3462302A1 (en) * 2017-09-29 2019-04-03 Seiko Epson Corporation Information processing device, and control method of an information processing device
CN109787810A (zh) * 2018-12-12 2019-05-21 深圳天元云科技有限公司 基于文本解析的网络设备配置统一管理方法、终端及介质
EP3968149A1 (de) * 2020-09-11 2022-03-16 SemaLogic UG Erzeugung von steuerungsvorschriften aus schematisierten regelwerken
CN115344318A (zh) * 2021-05-14 2022-11-15 远光软件股份有限公司 一种单据数据处理服务的可视化配置方法及系统
WO2023071725A1 (zh) * 2021-10-29 2023-05-04 华为技术有限公司 网络配置特征提取方法及相关装置
CN115604095A (zh) * 2022-10-18 2023-01-13 上海哔哩哔哩科技有限公司(Cn) 网络设备配置方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
带智能预测缓存的物联网标识解析器;杜源峰;孔宁;田野;毛伟;;计算机应用研究(09);全文 *

Also Published As

Publication number Publication date
CN116506291A (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN107562556B (zh) 故障的恢复方法、恢复装置及存储介质
CN110324169B (zh) 一种接口管理的方法和装置
CN106648945A (zh) 一种接口数据测试方法、装置及电子设备
CN110445860B (zh) 一种报文发送方法、装置、终端设备及存储介质
US20160050128A1 (en) System and Method for Facilitating Communication with Network-Enabled Devices
CN109842629A (zh) 基于协议解析框架的自定义协议的实现方法
CN111241182A (zh) 数据处理方法和装置、存储介质和电子装置
CN108259598A (zh) 一种基于异构融合及云解析技术的感知设备统一接入方法
CN109800258A (zh) 数据文件部署方法、装置、计算机设备及存储介质
CN112732572A (zh) 服务的测试方法、装置及系统、存储介质、电子装置
CN112154420A (zh) 自动智能云服务测试工具
CN111090417A (zh) 二进制文件解析方法、装置、设备及介质
CN107040613A (zh) 一种报文传输方法及系统
CN104580310A (zh) 日志处理方法和服务器
CN110554877A (zh) 一种json数据解析方法、装置、设备及储存介质
CN114172978B (zh) 多协议设备接入方法及相关装置
CN113783860B (zh) 一种基于可视化配置的报文处理方法、装置、设备及存储介质
CN103885878A (zh) 一种生成浏览器测试脚本的方法及装置
CN115016784A (zh) 低代码应用复用方法、应用解析系统、设备及存储介质
CN111315026B (zh) 信道的选择方法、装置、网关及计算机可读存储介质
CN114489594A (zh) 一种命令解析器的构建方法、命令解析处理方法及装置
CN116506291B (zh) 一种电力系统网络设备配置内容解析方法及装置
CN106681852B (zh) 一种浏览器兼容性的调整方法及装置
CN110825538A (zh) 一种基于mq可自定义数据类型动态进行数据交互的方法
CN110099033B (zh) 一种下位机架构

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
GR01 Patent grant
GR01 Patent grant