CN111698118B - 一种扩展XPath支持接口列表的方法及装置 - Google Patents
一种扩展XPath支持接口列表的方法及装置 Download PDFInfo
- Publication number
- CN111698118B CN111698118B CN202010289152.3A CN202010289152A CN111698118B CN 111698118 B CN111698118 B CN 111698118B CN 202010289152 A CN202010289152 A CN 202010289152A CN 111698118 B CN111698118 B CN 111698118B
- Authority
- CN
- China
- Prior art keywords
- interface
- name
- strategy
- list
- xpath
- 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
Links
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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
-
- 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/0889—Techniques to speed-up the configuration process
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本申请提供一种扩展XPath支持接口列表的方法及装置,所述方法包括:获取XPath表达式,所述XPath表达式包括接口策略;根据所述接口策略,查找是否存在与所述接口策略匹配的接口项;若存在,则获取所述接口策略对应的接口项。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种扩展XPath支持接口列表的方法及装置。
背景技术
目前,在网络操作系统中,可扩展标记语言(英文:Extensible Markup Language,简称:XML)格式的数据应用十分广泛,在WEB、NETCONF等软件程序中均可见到它的身影。而对XML数据的过滤、筛选,通常会使用到XPath(英文:XML Path)语言。例如,下述XPath语言表达式用于获取接口索引为1的接口的统计数据:
ifmgr/statistics[ifIndex=1]
在网络设备上,接口是最常见的实体部件。在XML数据中对接口进行选择、过滤是常见的需求。由于接口的类型多种多样,接口编号范围随接口类型变化,对接口的选择、过滤相对常见的数值较为复杂。
例如,网络设备包括以下接口:
GigabitEthernet(千兆以太网)1/0/1~GigabitEthernet1/0/24
VLAN-Interface(VLAN接口)1~VLAN-Interface8
Tunnel(隧道)1~Tunnel100
对于以下过滤需求:
1)选择奇数编号的GigabitEthernet接口;
2)选择VLAN-Interface1~VLAN-Interfacer4、VLAN-Interface8;
3)选择所有的GigabitEthernet和Tunnel接口。
以需求1)为例,通过XPath语言实现上述需求1)具体为:
[ifName=”GigabitEthernet1/0/1”or ifName=”GigabitEthernet1/0/3”orifName=”GigabitEthernet1/0/5”or ifName=”GigabitEthernet1/0/7”……]
从上面的表达式可以看出,该表达式冗长、可读性差,而且网络设备可能无法支持该表达式的长度。
现有方案中,目前采用的接口过滤方式包括:扩展XPath语言谓语(Predicate)过滤支持模糊匹配,再结合其它条件过滤方式,例如,下述表达式:
ifmgr/statistics[ifName=”GigabitEthernet*”];表示选择所有GigabitEthernet接口;
ifmgr/statistics[ifName=”GigabitEthernet*”]condition op-fieldifIndex op-type ge op-vlaue 100or op-type le op-vlaue 1000;表示选择接口索引在[100,1000]区间的GigabitEthernet接口。
但是,现有的接口过滤方式解决了部分接口选择需求,但其配置复杂;且对于复杂的接口选择需求,如前述提到的需求1),表达式依然冗长、可读性差。
发明内容
有鉴于此,本申请提供了一种扩展XPath支持接口列表的方法及装置,有效解决现有技术中网络操作系统中接口过滤选择的问题。
第一方面,本申请提供了一种扩展XPath支持接口列表的方法,该方法包括:
获取XPath表达式,该XPath表达式包括接口策略;
根据接口策略,查找是否存在与接口策略匹配的接口项;
若存在,则获取接口策略对应的接口项。
结合第一方面,在第一种可能的实现方式中,该接口策略包括接口列表名称,该XPath表达式还包括:接口元素名称;
该XPath表达式具体为:[接口元素名称=”接口列表名称”]。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,该接口策略还包括:接口名称、或部分接口名称;
该XPath表达式具体为:[接口元素名称=”接口列表名称|接口名称|部分接口名称*”]。
结合第一方面,在第三种可能的实现方式中,该方法还包括:
若未存在,则根据接口策略,进行模糊匹配或精确匹配处理。
结合第一方面的第一种可能的实现方式,在第四种可能的实现方式中,该接口列表名称为非接口名称且未包括特殊字符。
第二方面,本申请提供了一种扩展XPath支持接口列表的装置,该装置包括:
第一获取单元,用于获取XPath表达式,该XPath表达式包括接口策略;
查找单元,用于根据接口策略,查找是否存在与接口策略匹配的接口项;
第二获取单元,用于若存在,则获取接口策略对应的接口项。
结合第二方面,在第一种可能的实现方式中,该接口策略包括接口列表名称,该XPath表达式还包括:接口元素名称;
该XPath表达式具体为:[接口元素名称=”接口列表名称”]。
结合第二方面的第一种可能的实现方式,在第二种可能的实现方式中,该接口策略还包括:接口名称、或部分接口名称;
该XPath表达式具体为:[接口元素名称=”接口列表名称|接口名称|部分接口名称*”]。
结合第二方面,在第三种可能的实现方式中,该装置还包括:
处理单元,用于若未存在,则根据接口策略,进行模糊匹配或精确匹配处理。
结合第二方面的第一种可能的实现方式,在第四种可能的实现方式中,该接口列表名称为非接口名称且未包括特殊字符。
因此,通过应用本申请提供的一种扩展XPath支持接口列表的方法及装置,在获取到XPath表达式后,根据XPath表达式包括的接口策略,查找是否存在与接口策略匹配的接口项。若存在,则获取接口策略对应的接口项,本申请引入接口策略的概念,并扩展XPath表达式支持接口策略,可以有效解决现有技术中网络操作系统中接口过滤选择的问题。
附图说明
图1为本申请实施例提供的一种扩展XPath支持接口列表的方法的流程图;
图2为本申请实施例提供的一种扩展XPath支持接口列表的装置结构图;
图3为本申请实施例提供的一种网络设备硬件结构图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施例并不代表与本申请相一致的所有实施例。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相对应的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
下面对本申请实施例提供的扩展XPath支持接口列表的方法进行详细地说明。参见图1,图1为本申请实施例提供的一种扩展XPath支持接口列表的方法的流程图。该方法可应用于网络设备。本申请实施例提供的扩展XPath支持接口列表的方法可包括如下所示步骤。
步骤101、获取XPath表达式,所述XPath表达式包括接口策略。
具体地,若用户需要选择或过滤网络设备中的接口时,用户输入XPath表达式,该XPath表达式中包括接口策略。
在步骤101之前,需首先对网络设备配置接口策略。
进一步地,接口策略可具体为接口列表名称。也即是,XPath表达式包括接口列表名称。
本申请实施例中,引入接口列表的概念。接口列表包含一系列接口选择策略,根据这些策略,网络设备可以选择出用户需要的接口。
在一种实现方式中,接口列表可表示为:选择奇数编号的GigabitEthernet接口,则接口列表具体如下所示。
interface-list odd-ge
interface gigabitethernet1/0/1
interface gigabitethernet1/0/3
interface gigabitethernet1/0/5
……
interface gigabitethernet1/0/23
其中,接口列表名称为odd-ge。
在另一种实现方式中,接口列表可表示为:选择VLAN-Interface1~VLAN-Interfacer4、VLAN-Interface8,则接口列表具体如下所示。
interface-list vlan-if
interface vlan-interface1 to vlan-interface4
interface vlan-interface8
其中,接口列表名称为vlan-if。
在另一种实现方式中,接口列表可表示为:选择所有的GigabitEthernet和Tunnel接口,则接口列表具体如下所示。
interface-list misc-if
interface gigabitethernet*
interface tunnel*
其中,接口列表名称为misc-if。
本申请实施例中,对接口列表的配置需遵循如下规则:可配置选择单个接口;可配置选择接口区间;可配置通过模糊匹配选择名称符合条件的接口;多条件选择接口时,各个条件之间为“或”关系,满足一个条件即可存入列表;为了区分接口列表和普通的接口名称,接口列表名称为非接口名称且不能包括特殊字符。特殊字符,例如:“*”。
配置上述接口列表后,通过扩展XPath表达式选择、过滤接口。例如,XPath表达式具体为:[接口元素名称=”接口列表名称”]。
以下的XPath表达式包括了前述配置的接口列表。
ifmge/statistics[ifName=”odd-ge”]
ifmge/statistics[ifName=”vlan-if”]
ifmge/statistics[ifName=”misc-if”]
更进一步地,接口策略可具体为接口名称或部分接口名称。也即是,XPath表达式包括接口名称,或部分接口名称。
例如,XPath表达式具体为:[接口元素名称=”接口名称”];或,XPath表达式具体为:[接口元素名称=”部分接口名称*”]
综上,通过上述的举例,XPath表达式具体为:[接口元素名称=”接口列表名称|接口名称|部分接口名称*”]。
步骤102、根据所述接口策略,查找是否存在与所述接口策略匹配的接口项。
具体地,根据步骤101的描述,从XPath表达式中获取接口策略后,在本地查找是否存在与接口策略匹配的接口项。如果存在,则执行步骤103。
步骤103、若存在,则获取所述接口策略对应的接口项。
具体地,根据步骤102的判断,若本地存在与接口策略匹配的接口项,则网络设备获取该接口项。可以理解的是,接口项即为接口名称。
若本地未存在与接口策略匹配的接口项,则根据接口策略,按普通接口的模糊匹配、精确匹配继续处理。
例如,根据前述的例子,若接口策略具体为接口列表名称时,则接口列表名称为“odd-ge”;对应的接口项具体为:
interface gigabitethernet1/0/1
interface gigabitethernet1/0/3
interface gigabitethernet1/0/5
……
interface gigabitethernet1/0/23
网络设备获取到接口项后,根据接口项指示的接口名称,选择、过滤对应的接口。
因此,通过应用本申请实施例提供的一种扩展XPath支持接口列表的方法,网络设备在获取到XPath表达式后,根据XPath表达式包括的接口策略,查找是否存在与接口策略匹配的接口项。若存在,则网络设备获取接口策略对应的接口项,本申请实施例引入接口策略的概念,并扩展XPath表达式支持接口策略,可以有效解决现有技术中网络操作系统中接口过滤选择的问题。
基于同一发明构思,本申请实施例还提供了与上述扩展XPath支持接口列表的方法对应的扩展XPath支持接口列表的装置。参见图2,图2为本申请实施例提供的一种扩展XPath支持接口列表的装置结构图,该装置包括:
第一获取单元210,用于获取XPath表达式,该XPath表达式包括接口策略;
查找单元220,用于根据接口策略,查找是否存在与接口策略匹配的接口项;
第二获取单元230,用于若存在,则获取接口策略对应的接口项。
可选地,该接口策略包括接口列表名称,该XPath表达式还包括:接口元素名称;
该XPath表达式具体为:[接口元素名称=”接口列表名称”]。
可选地,该接口策略还包括:接口名称、或部分接口名称;
该XPath表达式具体为:[接口元素名称=”接口列表名称|接口名称|部分接口名称*”]。
可选地,该装置还包括:
处理单元240,用于若未存在,则根据接口策略,进行模糊匹配或精确匹配处理。
可选地,该接口列表名称为非接口名称且未包括特殊字符。
因此,通过应用本申请实施例提供的一种扩展XPath支持接口列表的装置,该装置在获取到XPath表达式后,根据XPath表达式包括的接口策略,查找是否存在与接口策略匹配的接口项。若存在,则该装置获取接口策略对应的接口项,本申请实施例引入接口策略的概念,并扩展XPath表达式支持接口策略,可以有效解决现有技术中网络操作系统中接口过滤选择的问题。
基于同一发明构思,本申请实施例还提供了一种网络设备,如图3所示,包括处理器310、收发器320和机器可读存储介质330,机器可读存储介质330存储有能够被处理器310执行的机器可执行指令,处理器310被机器可执行指令促使执行本申请实施例所提供的扩展XPath支持接口列表的方法。前述图3所示的扩展XPath支持接口列表的装置,可采用如图3所示的网络设备硬件结构实现。
上述计算机可读存储介质330可以包括随机存取存储器(英文:Random AccessMemory,简称:RAM),也可以包括非易失性存储器(英文:Non-volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,计算机可读存储介质330还可以是至少一个位于远离前述处理器310的存储装置。
上述处理器310可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本申请实施例中,处理器310通过读取机器可读存储介质330中存储的机器可执行指令,被机器可执行指令促使能够实现处理器310自身以及调用收发器320执行前述本申请实施例描述的扩展XPath支持接口列表的方法。
另外,本申请实施例提供了一种机器可读存储介质330,机器可读存储介质330存储有机器可执行指令,在被处理器310调用和执行时,机器可执行指令促使处理器310自身以及调用收发器320执行前述本申请实施例描述的扩展XPath支持接口列表的方法。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
对于扩展XPath支持接口列表的装置以及机器可读存储介质实施例而言,由于其涉及的方法内容基本相似于前述的方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (10)
1.一种扩展XPath支持接口列表的方法,其特征在于,所述方法包括:
获取XPath表达式,所述XPath表达式包括接口策略,所述接口策略包含接口列表名称;
根据所述接口策略,查找是否存在与所述接口策略匹配的接口项;
若存在,则获取所述接口策略对应的接口项。
2.根据权利要求1所述的方法,其特征在于,所述接口策略包括接口列表名称,所述XPath表达式还包括:接口元素名称;
所述XPath表达式具体为:[接口元素名称=”接口列表名称”]。
3.根据权利要求2所述的方法,其特征在于,所述接口策略还包括:接口名称、或部分接口名称;
所述XPath表达式具体为:[接口元素名称=”接口列表名称|接口名称|部分接口名称*”]。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若未存在,则根据所述接口策略,进行模糊匹配或精确匹配处理。
5.根据权利要求2所述的方法,其特征在于,所述接口列表名称为非接口名称且未包括特殊字符。
6.一种扩展XPath支持接口列表的装置,其特征在于,所述装置包括:
第一获取单元,用于获取XPath表达式,所述XPath表达式包括接口策略,所述接口策略包含接口列表名称;
查找单元,用于根据所述接口策略,查找是否存在与所述接口策略匹配的接口项;
第二获取单元,用于若存在,则获取所述接口策略对应的接口项。
7.根据权利要求6所述的装置,其特征在于,所述接口策略包括接口列表名称,所述XPath表达式还包括:接口元素名称;
所述XPath表达式具体为:[接口元素名称=”接口列表名称”]。
8.根据权利要求7所述的装置,其特征在于,所述接口策略还包括:接口名称、或部分接口名称;
所述XPath表达式具体为:[接口元素名称=”接口列表名称|接口名称|部分接口名称*”]。
9.根据权利要求6所述的装置,其特征在于,所述装置还包括:
处理单元,用于若未存在,则根据所述接口策略,进行模糊匹配或精确匹配处理。
10.根据权利要求7所述的装置,其特征在于,所述接口列表名称为非接口名称且未包括特殊字符。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289152.3A CN111698118B (zh) | 2020-04-14 | 2020-04-14 | 一种扩展XPath支持接口列表的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010289152.3A CN111698118B (zh) | 2020-04-14 | 2020-04-14 | 一种扩展XPath支持接口列表的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111698118A CN111698118A (zh) | 2020-09-22 |
CN111698118B true CN111698118B (zh) | 2022-05-27 |
Family
ID=72476302
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010289152.3A Active CN111698118B (zh) | 2020-04-14 | 2020-04-14 | 一种扩展XPath支持接口列表的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111698118B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716960A (zh) * | 2004-06-30 | 2006-01-04 | 朗迅科技公司 | 产生包括xpath表达式的xml表示的管理事务的方法和设备 |
CN101765842A (zh) * | 2007-07-30 | 2010-06-30 | 阿尔卡特朗讯公司 | 用于xml策略匹配的方法和装置 |
CN103139158A (zh) * | 2011-11-29 | 2013-06-05 | 中兴通讯股份有限公司 | 业务指令的传输方法及装置 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7512592B2 (en) * | 2004-07-02 | 2009-03-31 | Tarari, Inc. | System and method of XML query processing |
US9141663B2 (en) * | 2008-12-15 | 2015-09-22 | Rockwell Automation Technologies, Inc. | User interface and methods for building structural queries |
-
2020
- 2020-04-14 CN CN202010289152.3A patent/CN111698118B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1716960A (zh) * | 2004-06-30 | 2006-01-04 | 朗迅科技公司 | 产生包括xpath表达式的xml表示的管理事务的方法和设备 |
CN101765842A (zh) * | 2007-07-30 | 2010-06-30 | 阿尔卡特朗讯公司 | 用于xml策略匹配的方法和装置 |
CN103139158A (zh) * | 2011-11-29 | 2013-06-05 | 中兴通讯股份有限公司 | 业务指令的传输方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111698118A (zh) | 2020-09-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10992560B2 (en) | Time series anomaly detection service | |
US11669382B2 (en) | Anomaly detection for data stream processing | |
US11798209B1 (en) | Systems and methods for rendering a third party visualization in response to events received from search queries | |
US11567959B2 (en) | Self-contained files for generating a visualization of query results | |
DE202014010893U1 (de) | Rufwegsucher | |
DE202014010938U1 (de) | Omega-Namen: Namenserzeugung und -ableitung | |
CN110472068A (zh) | 基于异构分布式知识图谱的大数据处理方法、设备及介质 | |
US20050216468A1 (en) | Data retrieval system, data retrieval method and data retrieval program | |
US20190260819A1 (en) | Systems and methods for indicating deployment of application features | |
KR20120022957A (ko) | Rdf 데이터베이스 질문을 위한 rdf 데이터베이스를 생성하기 위한 방법 및 디바이스, 및 rdf 데이터베이스 질문을 위한 검색 방법 및 검색 디바이스 | |
US8166004B2 (en) | Verifying data consistency among structured files | |
CN109902090A (zh) | 字段名称获取方法和装置 | |
CN108763536A (zh) | 数据库访问方法及装置 | |
CN106021528A (zh) | 数据处理方法和装置 | |
CN109710676A (zh) | Cmdb模型的数据获取方法、装置及电子设备 | |
US9203651B2 (en) | Sorting systems in a tree | |
CN116955863A (zh) | 基于虚拟树的动态树形结构渲染方法及装置 | |
CN107203557A (zh) | 用于处理待搜索的对象的方法及装置 | |
EP3173965B1 (en) | System and method for enablement of data masking for web documents | |
CN111698118B (zh) | 一种扩展XPath支持接口列表的方法及装置 | |
CN111045848A (zh) | 日志分析方法、终端设备及计算机可读存储介质 | |
CN107632926A (zh) | 业务数量统计方法、装置、设备及计算机可读存储介质 | |
US8027362B2 (en) | Methods and systems for pushing and pulling network data in user interface design | |
CN102708195B (zh) | 一种表单数据共享方法及装置 | |
CN110781211B (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 |