CN113157462A - 数据管理方法、装置、设备、计算机可读存储介质及系统 - Google Patents

数据管理方法、装置、设备、计算机可读存储介质及系统 Download PDF

Info

Publication number
CN113157462A
CN113157462A CN202010075689.XA CN202010075689A CN113157462A CN 113157462 A CN113157462 A CN 113157462A CN 202010075689 A CN202010075689 A CN 202010075689A CN 113157462 A CN113157462 A CN 113157462A
Authority
CN
China
Prior art keywords
data
rpc
network device
network equipment
network
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
Application number
CN202010075689.XA
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010075689.XA priority Critical patent/CN113157462A/zh
Priority to PCT/CN2020/119583 priority patent/WO2021147375A1/zh
Priority to EP20914804.8A priority patent/EP4075731A4/en
Publication of CN113157462A publication Critical patent/CN113157462A/zh
Priority to US17/870,474 priority patent/US20220358003A1/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • 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
    • 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/02Standardisation; Integration
    • H04L41/024Standardisation; Integration using relational databases for representation of network management data, e.g. managing via structured query language [SQL]
    • 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/0866Checking the configuration
    • 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/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]
    • 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/085Retrieval of network configuration; Tracking network configuration history
    • H04L41/0853Retrieval of network configuration; Tracking network configuration history by actively collecting configuration information or by backing up configuration information

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请公开了一种数据管理方法、装置、设备、计算机可读存储介质及系统,以该方法应用于第一网络设备为例,该第一网络设备确定第二网络设备存在的目标无效数据;该第一网络设备获取第一RPC,该第一RPC携带需要删除的目标无效数据的信息。之后,第一网络设备向第二网络设备发送第一RPC,该第一RPC用于指示第二网络设备删除目标无效数据。本申请通过自动识别残留数据,并清除残留数据,实现自动批量删除残留数据,从而节省设备资源,提高运维管理效果。

Description

数据管理方法、装置、设备、计算机可读存储介质及系统
技术领域
本申请涉及通信领域,尤其涉及数据管理方法、装置、设备、计算机可读存储介质及系统。
背景技术
征求意见稿(requirement for comments,RFC)8342重新定义了网络配置协议(network configuration protocol,NETCONF)/表现层状态转换协议(representationalstate transfer configuration,RESTCONF)的数据集(datastore)的网络管理数据集架构(network management datastore architecture,NMDA)。该NMDA在RFC6241传统的datastore(candidate、startup、running)的基础上新增了intended和operational两种datastore,从而实现配置数据与状态数据的分离。
其中,Intended datastore是一个配置数据集,它保存用户有意配置且有效的配置数据。operational datastore是一个用于存储设备上完整的运行状态(包括生效的配置数据和状态数据,如系统配置数据,缺省配置数据,学习到的配置数据等,如RFC8342所示)。
在NMDA架构下,会存在残留数据。因此,亟需提供一种数据管理方法,以对残留数据进行清除。
发明内容
本申请实施例提供了一种数据管理方法、装置、设备、计算机可读存储介质及系统,以解决相关技术提供的问题,技术方案如下:
一方面,提供了一种数据管理方法,以该方法应用于第一网络设备为例,该第一网络设备确定第二网络设备存在的目标无效数据;该第一网络设备获取第一远程过程调用(remote procedure call,RPC),该第一RPC携带需要删除的目标无效数据的信息。之后,第一网络设备向第二网络设备发送第一RPC,该第一RPC用于指示第二网络设备删除目标无效数据。
在示例性实施例中,第一网络设备确定第二网络设备存在的目标无效数据的方式,包括但不限于如下三种:
第一种方式:第一网络设备确定第二网络设备存在的目标无效数据的方式,包括:第一网络设备向第二网络设备发送第二RPC,该第二RPC用于指示该第二网络设备进行数据差异比较;之后,第一网络设备接收第二网络设备返回的数据差异比较结果,根据该差异比较结果确定第二网络设备存在的目标无效数据。
在示例性实施例中,第一网络设备向第二网络设备发送第二RPC之前,该第一网络设备接收第二网络设备发送的基础事件通知,该基础事件通知用于指示第二网络设备存在无效数据;之后,该第一网络设备基于该基础事件通知确定第二网络设备存在无效数据,触发执行向第二网络设备发送第二RPC的操作。
第二种方式:第一网络设备确定第二网络设备存在的目标无效数据,包括:第一网络设备向第二网络设备发送第三RPC,该第三RPC用于指示第二网络设备返回第一数据;该第一网络设备接收第二网络设备返回的第一数据;响应于第一数据引用的第二数据不存在,则第一网络设备确定第一数据为第二网络设备上存在的目标无效数据。
第三种方式:第一网络设备确定第二网络设备存在的目标无效数据的方式,包括:第一网络设备向第二网络设备发送第三RPC,该第三RPC用于指示第二网络设备返回第一数据;第一网络设备接收第二网络设备返回的错误标识,该错误标识指示第一数据所引用的第二数据已经被删除,第一网络设备根据该错误标识,将第一数据确定为第二网络设备上存在的目标无效数据。
在示例性实施例中,第一网络设备确定第二网络设备存在的目标无效数据之前,第一网络设备与第二网络设备建立网络配置会话;第一网络设备基于网络配置会话,接收第二网络设备发送的第二网络设备支持的网络配置清除残留数据的能力。
在示例性实施例中,第一RPC是一种新RPC,该新RPC的输入参数包括需要删除的目标无效数据的信息;或者,第一RPC是对已有RPC进行扩展得到的扩展后的RPC,该扩展后的RPC携带需要删除的目标无效数据的信息。
在示例性实施例中,第一网络设备向第二网络设备发送第一RPC之后,第一网络设备读取第二网络设备中目标无效数据,根据读取结果验证目标无效数据是否清除。
在示例性实施例中,该目标无效数据为被引用节点对应的数据;该被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,该第一声明用于指示删除目标无效数据时,自动关联删除引用节点对应的数据。
在示例性实施例中,该目标无效数据为被引用节点对应的数据;该目标无效数据所在的数据模型中包括扩展的第二声明,该第二声明用于指示删除目标无效数据时,对全部的引用节点对应的数据进行联动删除。
第二方面,提供了一种数据管理方法,以该方法应用于第二网络设备为例,该第二网络设备接收第一网络设备发送的第一RPC,该第一RPC携带需要删除的目标无效数据的信息;之后,第二网络设备基于第一RPC删除目标无效数据。
在示例性实施例中,第二网络设备接收第一网络设备发送的第一RPC之前,第二网络设备接收第一网络设备发送的第二RPC,该第二RPC用于指示第二网络设备进行数据差异比较;该第二网络设备根据第二RPC进行数据差异比较,得到数据差异比较结果;之后,第二网络设备向第一网络设备返回数据差异比较结果,该差异比较结果用于第一网络设备确定第二网络设备存在的目标无效数据。
在示例性实施例中,该第二网络设备接收第一网络设备发送的第二RPC之前,第二网络设备向第一网络设备发送基础事件通知,基础事件通知用于指示第二网络设备存在无效数据。
在示例性实施例中,第二网络设备接收第一网络设备发送的第一RPC之前,还包括:第二网络设备接收第一网络设备发送的第三RPC,第三RPC用于指示第二网络设备返回第一数据;第二网络设备根据第三RPC向第一网络设备返回第一数据,第一数据用于第一网络设备确定第二网络设备上存在的目标无效数据。
在示例性实施例中,第二网络设备接收第一网络设备发送的第一RPC之前,还包括:第二网络设备接收第一网络设备发送的第三RPC,该第三RPC用于指示第二网络设备返回第一数据;该第二网络设备向第一网络设备返回错误标识,该错误标识用于指示第一数据所引用的第二数据已经被删除。
在示例性实施例中,第二网络设备接收第一网络设备发送的第一RPC之前,还包括:第二网络设备与第一网络设备建立网络配置会话;第二网络设备基于网络配置会话,向第一网络设备发送第二网络设备支持的网络配置清除残留数据的能力。
在示例性实施例中,该目标无效数据为被引用节点对应的数据;该被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,该第一声明用于指示删除目标无效数据时,自动关联删除引用节点对应的数据;
第二网络设备基于第一RPC删除目标无效数据之后,还包括:第二网络设备基于第一声明自动关联删除引用节点对应的数据。
在示例性实施例中,该目标无效数据为被引用节点对应的数据;该目标无效数据所在的数据模型中包括扩展的第二声明,第二声明用于指示删除目标无效数据时,对全部的引用节点对应的数据进行联动删除;
第二网络设备基于第一RPC删除目标无效数据之后,还包括:该第二网络设备基于第二声明,对全部的引用节点对应的数据进行联动删除。
第三方面,提供了一种数据管理装置,该装置包括:
处理单元,用于确定第二网络设备存在的目标无效数据;获取第一RPC,该第一RPC携带需要删除的目标无效数据的信息;
通信单元,用于向第二网络设备发送第一RPC,第一RPC用于指示第二网络设备删除目标无效数据。
在示例性实施例中,通信单元,用于向第二网络设备发送第二RPC,第二RPC用于指示第二网络设备进行数据差异比较;接收第二网络设备返回的数据差异比较结果;
处理单元,用于根据差异比较结果确定第二网络设备存在的目标无效数据。
在示例性实施例中,通信单元,还用于接收第二网络设备发送的基础事件通知,基础事件通知用于指示第二网络设备存在无效数据;
处理单元,还用于基于基础事件通知确定第二网络设备存在无效数据,触发通信单元执行向第二网络设备发送第二RPC的操作。
在示例性实施例中,通信单元,用于向第二网络设备发送第三RPC,第三RPC用于指示第二网络设备返回第一数据;接收第二网络设备返回的第一数据;
处理单元,响应于第一数据引用的第二数据不存在,则确定第一数据为第二网络设备上存在的目标无效数据。
在示例性实施例中,通信单元,用于向第二网络设备发送第三RPC,第三RPC用于指示第二网络设备返回第一数据;接收第二网络设备返回的错误标识,错误标识指示第一数据所引用的第二数据已经被删除;
处理单元,用于根据错误标识,将第一数据确定为第二网络设备上存在的目标无效数据。
在示例性实施例中,通信单元,还用于与第二网络设备建立网络配置会话;基于网络配置会话,接收第二网络设备发送的第二网络设备支持的网络配置清除残留数据的能力。
在示例性实施例中,第一RPC是一种新RPC,新RPC的输入参数包括需要删除的目标无效数据的信息;
或者,第一RPC是对已有RPC进行扩展得到的扩展后的RPC,扩展后的RPC携带需要删除的目标无效数据的信息。
在示例性实施例中,通信单元,还用于读取第二网络设备中目标无效数据;
处理单元,还用于根据通信单元的读取结果验证目标无效数据是否清除。
在示例性实施例中,目标无效数据为被引用节点对应的数据;被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,第一声明用于指示删除目标无效数据时,自动关联删除引用节点对应的数据。
在示例性实施例中,目标无效数据为被引用节点对应的数据;目标无效数据所在的数据模型中包括扩展的第二声明,第二声明用于指示删除目标无效数据时,对全部的引用节点对应的数据进行联动删除。
第四方面,提供了一种数据管理装置,装置包括:
通信单元,用于接收第一网络设备发送的第一RPC,该第一RPC携带需要删除的目标无效数据的信息;
处理单元,用于基于第一RPC删除目标无效数据。
在示例性实施例中,通信单元,还用于接收第一网络设备发送的第二RPC,第二RPC用于指示第二网络设备进行数据差异比较;
处理单元,还用于根据第二RPC进行数据差异比较,得到数据差异比较结果;
通信单元,还用于向第一网络设备返回数据差异比较结果,差异比较结果用于第一网络设备确定第二网络设备存在的目标无效数据。
在示例性实施例中,通信单元,还用于向第一网络设备发送基础事件通知,基础事件通知用于指示第二网络设备存在无效数据。
在示例性实施例中,通信单元,还用于接收第一网络设备发送的第三RPC,第三RPC用于指示第二网络设备返回第一数据;根据第三RPC向第一网络设备返回第一数据,第一数据用于第一网络设备确定第一数据为第二网络设备上存在的目标无效数据。
在示例性实施例中,通信单元,还用于接收第一网络设备发送的第三RPC,该第三RPC用于指示第二网络设备返回第一数据;向第一网络设备返回错误标识,错误标识用于指示第一数据所引用的第二数据已经被删除。
在示例性实施例中,通信单元,还用于与第一网络设备建立网络配置会话;基于网络配置会话,向第一网络设备发送第二网络设备支持的网络配置清除残留数据的能力。
在示例性实施例中,目标无效数据为被引用节点对应的数据;被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,第一声明用于指示删除目标无效数据时,自动关联删除引用节点对应的数据;
处理单元,还用于基于第一声明自动关联删除引用节点对应的数据。
在示例性实施例中,目标无效数据为被引用节点对应的数据;目标无效数据所在的数据模型中包括扩展的第二声明,第二声明用于指示删除目标无效数据时,对全部的引用节点对应的数据进行联动删除;
处理单元,还用于基于第二声明,对全部的引用节点对应的数据进行联动删除。
第五方面,提供了一种数据管理设备,设备包括:存储器及处理器,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现上述第一方面或第二方面任一的数据管理方法。
第六方面,提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现上述第一方面或第二方面任一的数据管理方法。
第七方面,提供了一种数据管理系统,系统包括第一网络设备和第二网络设备,第一网络设备用于执行上述第一方面中任一的数据管理方法,第二网络设备用于执行上述第二方面任一的数据管理方法。
提供了另一种通信装置,该装置包括:收发器、存储器和处理器。其中,该收发器、该存储器和该处理器通过内部连接通路互相通信,该存储器用于存储指令,该处理器用于执行该存储器存储的指令,以控制收发器接收信号,并控制收发器发送信号,并且当该处理器执行该存储器存储的指令时,使得该处理器执行第一方面或第一方面的任一种可能的实施方式中的方法。
作为一种示例性实施例,所述处理器为一个或多个,所述存储器为一个或多个。
作为一种示例性实施例,所述存储器可以与所述处理器集成在一起,或者所述存储器与处理器分离设置。
在具体实现过程中,存储器可以为非瞬时性(non-transitory)存储器,例如只读存储器(read only memory,ROM),其可以与处理器集成在同一块芯片上,也可以分别设置在不同的芯片上,本申请实施例对存储器的类型以及存储器与处理器的设置方式不做限定。
提供了一种计算机程序(产品),所述计算机程序(产品)包括:计算机程序代码,当所述计算机程序代码被计算机运行时,使得所述计算机执行上述各方面中的方法。
提供了一种芯片,包括处理器,用于从存储器中调用并运行所述存储器中存储的指令,使得安装有所述芯片的通信设备执行上述各方面中的方法。
提供另一种芯片,包括:输入接口、输出接口、处理器和存储器,所述输入接口、输出接口、所述处理器以及所述存储器之间通过内部连接通路相连,所述处理器用于执行所述存储器中的代码,当所述代码被执行时,所述处理器用于执行上述各方面中的方法。
附图说明
图1为本申请实施例提供的应用场景示意图;
图2为本申请实施例提供的数据交互过程示意图;
图3为本申请实施例提供的数据管理方法流程图;
图4为本申请实施例提供的配置订阅数据模型树形结构示意图;
图5为本申请实施例提供的配置订阅数据模型树形结构示意图;
图6为本申请实施例提供的数据管理过程示意图;
图7为本申请实施例提供的数据管理过程示意图;
图8为本申请实施例提供的配置订阅数据模型树形结构示意图;
图9为本申请实施例提供的配置订阅数据模型树形结构示意图;
图10为本申请实施例提供的数据管理过程示意图;
图11为本申请实施例提供的数据结构示意图;
图12为本申请实施例提供的数据结构示意图;
图13为本申请实施例提供的数据结构示意图;
图14为本申请实施例提供的数据结构示意图;
图15为本申请实施例提供的数据结构示意图;
图16为本申请实施例提供的数据管理装置的结构示意图;
图17为本申请实施例提供的数据管理装置的结构示意图;
图18为本申请实施例提供的网络设备的结构示意图;
图19为本申请实施例提供的网络设备的结构示意图;
图20为本申请实施例提供的网络设备的结构示意图。
具体实施方式
本申请的实施方式部分使用的术语仅用于对本申请的实施例进行解释,而非旨在限定本申请。
RFC8342重新定义了NETCONF/RESTCONF的datastore的NMDA,其中,NETCONF是一种提供网络数据设备配置管理的协议,采用基于数据编码的可扩展标记语言配置数据以及协议信息,提供了安装、操作和删除网元配置的机制。RESTCONF是一种基于超文本传输协议(hypertext transfer protocol,HTTP)的协议,该RESTCONF通过NETCONF中定义的数据存储概念来配置YANG中的数据。YANG是互联网工程任务组(internet engineering taskforce,IETF)标准组织定义的一种将网络配置管理数据模型化描述的语言,以支持NETCONF客户端和服务端之间数据的完整描述,通过YANG模型来描述NETCONF客户端和服务端之间交互的配置数据、状态数据、RPC和通知(Notification)。关于YANG的定义和描述可以参考征求意见稿(Requirement For Comments,RFC)6020和RFC7950的相关描述。
该NMDA在RFC6241传统的datastore(candidate、startup、running)的基础上新增了intended和operational两种datastore,从而实现配置数据与状态数据的分离。其中,Intended datastore是一个配置数据集,它保存用户有意配置且有效的配置数据。operational datastore是一个用于存储设备上完整的运行状态(包括生效的配置数据和状态数据,如系统配置数据,缺省配置数据,学习到的配置数据等,如RFC8342所示)。
在NMDA架构下,常常会有存在残留数据的情况,以如下几种场景为例进行说明。
场景一:现场可更换单元(field replaceable unit,FRU)残留数据
该FRU是电子设备中的一块电路板,一个零件或者一个组件。用户或者技术员能够快速容易地从个人电脑(personal computer,PC)或电子设备上取下和更换该FRU,而不需要将整个产品或系统送去维修。FRU支持NETCONF允许用户预先配置一部分数据,该部分数据可以保存在running/intend datastore中。但是,如果没有FRU插入设备则这部分数据不启用,不下发到operational datastore中。也就是说,当FRU插入设备时则这部分预先配置的数据会下发到operational datastore中并生效。当FRU拔出后,该operationaldatastore中的数据被删除,running/intended datastore数据将会被保留。此时running/intended datastore中预先配置数据属于残留数据。
场景二:系统配置残留数据
针对系统配置数据(例如系统配置loopback接口),如果<intended>datastore中没有相关配置,则系统(system)会在<operational>datastore中配置相关数据,此时<intended>datastore中没有系统配置数据,<operational>datastore中存在相关配置数据。有时用户会对系统配置数据做进一步配置,以loopback interface为例,系统配置数据为interface-name=et-0/0/0,这时用户可能会对该interface进行进一步配置如配置MTU=xx。这部分数据将会和系统配置数据一起存在intended datastore和runningdatastore中,并下发至operational datastore保存。
当系统配置变更时,operational datastore中数据自动删除/更新,但intendeddatastore和running datastore中的数据将会被保留(系统配置数据interface-name=et-0/0/0和用户配置数据MTU=xx),此时intended datastore和running datastore中的系统配置数据和用户配置数据均属于残留数据。
场景三:模型中关联对象等残留数据
根据RFC7950定义针对引用数据“leafref”,假设对象A引用对象B,如果对象B不存在,对象A是无法创建成功的,如果在对象A leafref对象B之后删除对象B,对象A则没有有效的值,正常应该报错。如果避免报错,可以在type leafref下增加require-instance=false。因此,在设置require-instance=true的前提下,对象B被哪些其他对象引用了,需要一个一个去查询,然后逐个删除后,直到全部删除,才能将对象B删除,操作过程较为繁琐。但如果设置require-instance=false,可以直接删除对象B,但是调用其他引用对象B的对象时均会报错,这些引用对象B的对象属于残留数据。
以上仅是对存在残留数据的几种场景进行举例说明,并不用于限制还有其他存在残留数据的场景。然而,无论是哪种残留数据,均会占用设备资源,影响运维管理效率,因此,亟需提供一种数据管理方法,以对残留数据进行清除。
对此,本申请实施例提供了一种数据管理方法,该方法通过自动识别残留数据,并清除残留数据,实现自动批量删除残留数据,从而节省设备资源,提高运维管理效果。该方法的应用场景以如图1所示的系统架构为例,图1中,该系统架构包括第一网络设备以及第二网络设备。示例性地,该第一网络设备上运行有NECONF/RESTCONF客户端,该客户端用于调用服务器上的协议操作,该客户端还可以订阅服务器的接收通知。该第二网络设备为NECONF/RESTCONF服务器,该服务器执行客户端调用的协议操作,该服务器还可以向客户端发送通知。示例性地,该第一网络设备和第二网络设备上均可以运行有多个datastore。该datastore用于存储和访问信息的概念位置,例如,可以使用文件、数据库、闪存位置或它们的组合来实现数据存储。该datastore间数据的交互过程可如图2所示。
图2中,以datastore包括的数据<candidate>、<startup>、<running>、<intended>、<operational>为例,各个数据之间的交互可如图2所示,其中,ct代表配置为true(真),cf代表配置为false(假),rw代表read-write(读和写),ro代表read-only(只读),框表示命名数据集(boxes denote named datastores)。以<running>与<intended>之间的交互为例,可以进行配置转换,例如,删除被标记为不活跃的节点的配置信息。<intended>用于验证配置信息是否合理,还可以根据设备的具体情况,例如缺少资源,时延等情况,对数据调整。
以本申请实施例提供的数据管理方法如图3所示的过程为例,对本申请实施例提供的方法进行举例说明。该方法可应用于第一网络设备和第二网络设备,参见图3,该方法流程包括如下几个过程。
301,第一网络设备确定第二网络设备存在的目标无效数据。
第一网络设备确定第二网络设备存在的目标无效数据,包括但不限于如下三种方式:
方式一:第一网络设备确定第二网络设备存在的目标无效数据,包括:第一网络设备向第二网络设备发送第二RPC,第二RPC用于指示第二网络设备进行数据差异比较;第一网络设备接收第二网络设备返回的数据差异比较结果,根据差异比较结果确定第二网络设备存在的目标无效数据。
该种方式下,由于针对NDMA架构定义的多个datastore实现配置数据与状态数据的分离,不同datastrore中数据可能存在差异的特性,而draft-ietf-netmod-nmda-diff定义了一个compare RPC用于比较并输出不同datastore中的数据差异。因此,本申请实施例提供的方法中,第一网络设备确定第二网络设备存在的目标无效数据时,可以compare RPC作为第二RPC,将该第二RPC发送至第二网络设备,以指示第二网络设备进行数据差异比较。在第二网络设备得到数据差异比较结果之后,该第一网络设备接收第二网络设备返回的数据差异比较结果,进而根据该差异比较结果确定第二网络设备存在的目标无效数据。
在示例性实施例中,又由于Nmda-base-event(draft-wu-netmod-base-notification-nmda)将compare RPC作为判定intended configuration data是否写入operational datastore的工具,当intend configuration data没有能够成功写入operational datastore时触发notification,将错误原因上报给client,因此,NMDA-Base-event可作为判断无效数据的方法。对此,在示例性实施例中,将Nmda-base-event作为基础事件通知,则该第一网络设备向第二网络设备发送第二RPC之前,还包括:第一网络设备接收第二网络设备发送的基础事件通知,该基础事件通知用于指示第二网络设备存在无效数据;第一网络设备基于基础事件通知确定第二网络设备存在无效数据,触发执行向第二网络设备发送第二RPC的操作。
也就是说,第一网络设备基于基础事件通知确定该第二网络设备存在无效数据之后,再向第二网络设备发送第二RPC,从而触发第二网络设备进行数据差异比较。例如,第二网络设备确定第二网络设备上存在无效数据时,第二网络设备向第一网络设备发送Nmda-base-event。第一网络设备接收第二网络设备发送的Nmda-base-event,第一网络设备基于该Nmda-base-event确定第二网络设备存在无效数据。之后,第一网络设备向第二网络设备发送compare RPC,以触发第二网络设备进行数据差异比较,将数据差异比较结果发送给第一网络设备。
不难看出,该种方式一是由第二网络设备主动向第一网络设备上报第二网络设备存在无效数据,从而使得第一网络设备向第二网络设备发送compare RPC,以触发第二网络设备进行数据差异比较。
方式二:第一网络设备确定第二网络设备存在的目标无效数据,包括:第一网络设备向第二网络设备发送第三RPC,第三RPC用于指示第二网络设备返回第一数据;第一网络设备接收第二网络设备返回的第一数据;响应于第一数据引用的第二数据不存在,则第一网络设备确定第一数据为第二网络设备上存在的目标无效数据。
与方式一不同,本申请实施例提供的方式二可以在第二网络设备未主动触发的情况下,由第一网络设备来主动确定第二网络设备是否有无效数据,如该第一网络设备通过向第二网络设备发送第三RPC,以通过该第三RPC来指示第二网络设备返回第一数据,通过检测该第一数据引用的第二数据是否存在,来确定第二网络设备上是否存在无效数据。示例性地,该第三RPC可以为get/get-config-get-data RPC。第一网络设备通过向第二网络设备发送该get/get-config-get-data RPC,从而触发第二网络设备返回对应的第一数据。例如,以判定leafref实例残留数据为例,如果<intended>/<running>中的第一数据引用到一个不存在的第二数据,则判定为该第一数据为leafref实例残留数据。
方式三:第一网络设备确定第二网络设备存在的目标无效数据,包括:第一网络设备向第二网络设备发送第三RPC,第三RPC用于指示第二网络设备返回第一数据;第一网络设备接收第二网络设备返回的错误标识,该错误标识指示第一数据所引用的第二数据已经被删除,第一网络设备根据错误标识,将第一数据确定为第二网络设备上存在的目标无效数据。
该方式三与方式二类似,均以第一网络设备主动确定第二网络设备是否有无效数据为例,该方式三中,该第一网络设备通过第三RPC调用第二网络设备上的第一数据,如果该第一数据引用的第二数据已经被删除,则第二网络设备向第一网络设备返回错误标识,通过该错误标识指示第二数据已经被删除,则第一网络设备将第一数据确定为第二网络设备上存在的目标无效数据。
无论采用上述哪种方式来确定目标无效数据,本申请实施例提供的方法支持第一网络设备与第二网络设备之间进行残留数据清除能力的协商。在示例性实施例中,第一网络设备确定第二网络设备存在的目标无效数据之前,还包括:第一网络设备与第二网络设备建立网络配置会话;第一网络设备基于网络配置会话,接收第二网络设备发送的第二网络设备支持的网络配置清除残留数据的能力。
示例性地,第一网络设备与第二网络设备建立NETCONF/RESTCONF会话,基于该NETCONF/RESTCONF会话进行支持清除无效残留数据能力协商,第二网络设备将其所支持的NETCONF/RESTCONF清除残留数据能力发送给第一网络设备,允许第一网络设备使用清除残留数据功能。例如,该清除残留数据能力定义如下:
Netconf clear capability:
urn:ietf:params:netconf:capability:clear-residual:1.0
Restconf clear capability:
urn:ietf:params:restconf:capability:clear-residual:1.0
302,第一网络设备获取第一RPC,该第一RPC携带需要删除的目标无效数据的信息。
第一网络设备确定第二网络设备上存在的目标无效数据后,该第一网络设备通过向第二网络设备发送第一RPC来触发第二网络设备删除目标无效数据,以节省设备资源。其中,该第一RPC可以是本申请实施例定义的一种新的用于清除残留数据的RPC,通过该第一RPC允许第二网络设备删除指定datastore中的残留数据。也即该第一RPC是一种新RPC,新RPC的输入参数包括需要删除的目标无效数据的信息。
除了定义新的RPC来用于指示删除残留数据的方式之外,本申请实施例还支持对已有RPC进行扩展,以实现指示删除残留数据的功能。关于扩展方式,本申请实施例不进行限定。在示例性实施例中,该第一RPC是对已有RPC进行扩展得到的扩展后的RPC,扩展后的RPC携带需要删除的目标无效数据的信息。示例性地,在对已有RPC进行扩展得到扩展后的RPC时,可以基于原有Netconf原有edit-data做扩展,添加删除残留数据功能。可选地,也可以对edit-config/edit-data的下config element中“operation”attribute添加新操作属性:清除残留数据。
另外,本申请实施例也不对该第一RPC中携带的需要删除的目标无效数据的信息。示例性地,该需要删除的目标无效数据的信息可以包括该目标无效数据所在的datastore的信息。除此之外,在示例性实施例中,该需要删除的目标无效数据的信息还可以包括引用该目标无效数据的其他数据的信息。
303,第一网络设备向第二网络设备发送第一RPC,该第一RPC用于指示第二网络设备删除目标无效数据。
在示例性实施例中,第一网络设备可以通过与第二网络设备建立的NETCONF/RESTCONF会话,向第二网络设备发送该第一RPC。除此之外,还可以采用其他方式发送该第一RPC,本申请实施例对此不加以限定。
示例性地,第一网络设备向第二网络设备发送第一RPC之后,还包括:第一网络设备读取第二网络设备中目标无效数据,根据读取结果验证目标无效数据是否清除。通过读取第二网络设备中目标无效数据,来验证目标无效数据是否清除,可以进一步提高该数据管理的有效性。
本申请实施例不对第一网络设备读取第二网络设备中的目标无效数据的方式进行限定,例如,第一网络设备通过调用get-data/get-config/get来读取第二网络设备上目标无效数据,进而基于读取结果来验证目标无效数据是否清除。关于基于读取结果验证目标无效数据未被清除的处理方式,本申请实施例不进行限定。例如,如果读取结果指示第一网络设备成功读取到目标无效数据,则说明该目标无效数据未被成功删除,则可以重复执行该方法,以重新删除目标无效数据。示例性地,也可以在基于读取结果验证该目标无效数据未被清除之后,发出告警,以提醒进行人工手动删除。
304,第二网络设备接收第一网络设备发送的第一RPC。
在示例性实施例中,第二网络设备接收第一RPC的方式,可以根据第一网络设备发送第一RPC的方式确定。示例性地,如果第一网络设备通过与第二网络设备建立的NETCONF/RESTCONF会话,向第二网络设备发送该第一RPC,则第二网络设备通过与第一网络设备建立的NETCONF/RESTCONF会话,接收第一网络设备发送的第一RPC。除此之外,还可以采用其他方式接收该第一RPC,本申请实施例对此不加以限定。
在示例性实施例中,对于上述301中第一网络设备确定第二网络设备存在的目标无效数据的方式,该第二网络设备接收第一网络设备发送的第一RPC之前,还包括但不限于如下三种情况:
情况一:第二网络设备接收第一网络设备发送的第一RPC之前,第二网络设备接收第一网络设备发送的第二RPC,第二RPC用于指示第二网络设备进行数据差异比较;第二网络设备根据第二RPC进行数据差异比较,得到数据差异比较结果;第二网络设备向第一网络设备返回数据差异比较结果,差异比较结果用于第一网络设备确定第二网络设备存在的目标无效数据。
参见上述301中对方式一的说明,示例性地,该第二RPC可以为compare RPC,此外,本申请实施例提供的方法中,还可以定义一个origin metadata用来标识无效残留数据。则第二网络设备接收到第一网络设备发送的第二RPC,以compare RPC为例,该第二网络设备根据该compare RPC进行数据差异比较,得到数据差异比较结果。例如,第二网络设备可以比较<intended>/<running>datastore与<operational>datastore中数据的差异,如果<intended>/<running>datastore存在<operational>datastore没有的数据,且被标识为未生效残留数据,则判定为该数据为FRUs残留数据或system配置残留数据,即目标无效数据。第二网络设备可以将该FRUs残留数据或system配置残留数据作为数据差异比较结果返回给第一网络设备,使得第一网络设备基于该数据差异比较结果确定第二网络设备存在的目标无效数据。
在示例性实施例中,参见上述301所述,由于Nmda-base-event(draft-wu-netmod-base-notification-nmda)将compare RPC作为判定intended configuration data是否写入operational datastore的工具,当intend configuration data没有能够成功写入operational datastore时触发notification,将错误原因上报给client,因此,NMDA-Base-event可作为判断无效数据的方法。对此,在示例性实施例中,将Nmda-base-event作为基础事件通知,则第二网络设备接收第一网络设备发送的第二RPC之前,第二网络设备向第一网络设备发送基础事件通知,该基础事件通知用于指示第二网络设备存在无效数据。
例如,第二网络设备确定第二网络设备上存在FRUs残留数据或system配置残留数据时,第二网络设备向第一网络设备发送Nmda-base-event。第一网络设备接收第二网络设备发送的Nmda-base-event,第一网络设备基于该Nmda-base-event确定第二网络设备存在无效数据。
不难看出,该情况一是由第二网络设备主动向第一网络设备上报第二网络设备存在无效数据,从而使得第一网络设备向第二网络设备发送compare RPC,以触发第二网络设备进行数据差异比较。
情况二:第二网络设备接收第一网络设备发送的第一RPC之前,还包括:第二网络设备接收第一网络设备发送的第三RPC,第三RPC用于指示第二网络设备返回第一数据;第二网络设备根据第三RPC向第一网络设备返回第一数据,第一数据用于第一网络设备确定第二网络设备上存在的目标无效数据。
与情况一不同,第二网络设备可以不主动向第一网络设备上报第二网络设备存在无效数据,而是由第一网络设备来主动确定第二网络设备是否有无效数据,如该第一网络设备通过向第二网络设备发送第三RPC,以通过该第三RPC来指示第二网络设备返回第一数据,通过检测该第一数据引用的第二数据是否存在,来确定第二网络设备上是否存在无效数据。示例性地,该第三RPC可以为get/get-config-get-data RPC。则第二网络设备接收第一网络设备发送的该get/get-config-get-data RPC,从而触发第二网络设备返回对应的第一数据,使得第一网络设备确定该第一数据引用的第二数据不存在之后,将该第一数据确定为目标无效数据。
情况三:第二网络设备接收第一网络设备发送的第一RPC之前,还包括:第二网络设备接收第一网络设备发送的第三RPC,第三RPC用于指示第二网络设备返回第一数据;第二网络设备向第一网络设备返回错误标识,该错误标识用于指示第一数据所引用的第二数据已经被删除。
如上述301中方式三所述,该情况三和上述情况二类似,均以第一网络设备主动确定第二网络设备是否有无效数据为例,该情况三中,由于第一网络设备通过第三RPC调用第二网络设备上的第一数据,由于第二网络设备上的第一数据所引用的第二数据已经被删除,则第二网络设备向第一网络设备返回错误标识,通过该错误标识指示第一数据所引用的第二数据已经被删除,使得第一网络设备将第一数据确定为第二网络设备上存在的目标无效数据。
无论是上述哪种情况,第二网络设备可以与第一网络设备之间进行残留数据清除能力的协商,将第二网络设备支持残留数据清除能力通知第一网络设备,以允许第一网络设备使用残留数据清除功能。因此,在示例性实施例中,第二网络设备接收第一网络设备发送的第一远程过程调用RPC之前,还包括:第二网络设备与第一网络设备建立网络配置会话;第二网络设备基于网络配置会话,向第一网络设备发送第二网络设备支持的网络配置清除残留数据的能力。例如,该清除残留数据能力定义如下:
Netconf clear capability:
urn:ietf:params:netconf:capability:clear-residual:1.0
Restconf clear capability:
urn:ietf:params:restconf:capability:clear-residual:1.0
305,该第二网络设备基于该第一RPC删除目标无效数据。
由于该第二网络设备接收到的第一RPC用于指示删除目标无效数据,且该第一RPC中携带需要删除的目标无效数据的信息,则第二网络设备基于该第一RPC中的目标无效数据的信息删除目标无效数据。
示例性地,该需要删除的目标无效数据的信息可以包括该目标无效数据所在的datastore的信息,则第二网络设备基于该第一RPC中该目标无效数据所在的datastore的信息,删除该目标无效数据。除此之外,在示例性实施例中,该需要删除的目标无效数据的信息还可以包括引用该目标无效数据的其他数据的信息。则第二网络设备基于该第一RPC中该目标无效数据所在的datastore的信息,删除该目标无效数据之外,还将基于引用该目标无效数据的其他数据的信息,将引用该目标无效数据的其他数据进行删除。
综上所述,本申请实施例提供的方法,通过确定无效数据,调用用于清除无效数据的RPC来实现对无效数据的清除,从而节省设备资源,提高运维管理效率。另外,在清除无效数据时,由于本申请实施例提供的方法还支持删除引用该无效数据的其他数据,因而可以进一步节省设备资源,提高运维管理效率。
为了便于理解,接下来,以第一网络设备为客户端,第二网络设备为服务器,客户端和服务器中定义有YANG数据模型,描述订阅数据流类型,订阅事件类型,实现配置订阅。相关的配置订阅数据模型树形结构(该树形结构可依据国际标准RFC8340得到)如图4或图5所示为例,对本申请实施例提供的数据管理方法进行举例说明。
在示例性实施例中,以对客户端与服务器的交互过程如图6所示为例,本申请实施例提供的数据管理方法包括如下几个过程。
601,客户端与服务器建立NETCONF/RESTCONF会话,基于该NETCONF/RESTCONF会话,进行支持清除无效残留数据能力协商。
示例性地,服务器将其所支持的NETCONF/RESTCONF清除残留数据能力发送给客户端,允许客户端使用清除残留数据功能,该清除无效残留数据的能力定义如下:
Netconf clear capability:
urn:ietf:params:netconf:capability:clear-residual:1.0
Restconf clear capability:
urn:ietf:params:restconf:capability:clear-residual:1.0
602,服务器向客户端发送nmda base event notification。
603,客户端接收到服务器发送的nmda base event notification,基于该nmdabase event notification确定服务器中存在无效数据。
604,客户端调用compare RPC(NMDA-Diff),触发服务器比较数据差异。
605,服务器基于该compare RPC(NMDA-Diff),比较<intended>/<running>datastore与<operational>datastore中数据的差异。
606,服务器向客户端返回数据差异比较结果。
示例性地,如果<intended>/<running>datastore存在<operational>datastore没有的数据,且被标识为未生效残留数据,则判定为该数据为FRUs残留数据或system配置残留数据。例如,<running>datastore中包含interface:et-0/0/0相关数据,<operational>datastore中没有相关数据,且<running>datastore中interface:et-0/0/0被标识为invalid-residual,则该数据被识别为未生效残留数据,即目标无效数据。
例如,该<running>datastore如下所示:
Figure BDA0002378436310000121
而<operational>datastore如下所示:
<interfaces>
</interfaces>
607,清除无效数据,包括如下两种方式:
清除方式一:客户端调用的第一RPC为清除残留数据RPC,该清除残留数据RPC携带需要删除的目标datastore,使服务器清除残留数据。仍以上述606中的举例进行说明,调用清除残留数据RPC,目标datastore设定为<running>。
调用RPC clear-residual,输入:目标datastore:target=<running>,则RPC如下所示:
Figure BDA0002378436310000122
Figure BDA0002378436310000131
示例性地,服务器清除残留数据之后,还包括返回清除响应的过程。例如,基于上述清除残留数据RPC,服务器清除残留数据之后,返回如下的响应:
Figure BDA0002378436310000132
清除方式二:客户端调用的第一RPC为扩展后的edit-data/edit-config RPC,该扩展后的edit-data/edit-config RPC携带需要删除的目标datastore,使服务器清除残留数据。
仍以上述607中的举例进行说明,调用扩展后的edit-data/edit-config RPC,输入:目标datastore:target=<running>。使能clear-residual功能:clear-residual=true。则扩展后的edit-data/edit-config RPC如下所示:
Figure BDA0002378436310000133
除此之外,示例性地,客户端也可以对edit-config/edit-data下的configelement中的“operation”attribute添加新操作属性:清除残留,从而触发服务器清除残留数据。
608,客户端调用get-data/get-config/get读<running>datastore中的数据。
例如,执行数据清除操作后,客户端调用get-data读<running>datastore中的数据,检验未生效数据即目标无效数据是否被清除。
609,服务器返回目标datastore中的数据,从而使客户端检验残留数据是否被清除,即目标无效数据是否被清除。
例如,针对上述清除方式一,执行清除操作后,调用get-data/get-config/get读上步中目的datastore(<running>datastore)中的数据,检验残留数据是否被清除。
Figure BDA0002378436310000134
示例性地,服务器返回如下的响应:
Figure BDA0002378436310000141
针对上述清除方式二,执行清除操作后,调用get-data/get-config/get读上步中目的datastore(<running>datastore)中的数据,检验残留数据是否被清除。
Figure BDA0002378436310000142
示例性地,服务器返回如下的响应:
Figure BDA0002378436310000143
本申请实施例提供的方法,在服务器确定存在无效数据时,向客户端发送基础事件通知nmda base event notification,使客户端调用compare RPC(NMDA-Diff),触发服务器比较数据差异,进而使得客户端根据数据差异比较结果确定目标无效数据,并调用用于清除无效数据的RPC来实现对目标无效数据的清除,从而节省设备资源,提高运维管理效率。
在示例性实施例中,以对客户端与服务器的交互过程如图7所示为例,本申请实施例提供的数据管理方法包括如下几个过程。
701,客户端与服务器建立NETCONF/RESTCONF会话,基于该NETCONF/RESTCONF会话,进行支持清除无效残留数据能力协商。
示例性地,服务器将其所支持的NETCONF/RESTCONF清除残留数据能力发送给客户端,允许客户端使用清除残留数据功能。该清除无效残留数据的能力定义如下:
Netconf clear capability:
urn:ietf:params:netconf:capability:clear-residual:1.0
Restconf clear capability:
urn:ietf:params:restconf:capability:clear-residual:1.0
702,客户端向服务器发送get/get-config/get-data RPC。
703,服务器向客户端返回对应的数据,如果<intended>/<running>中的数据引用到一个不存在的数据,则判定为该数据为leafref实例残留数据。例如:
Figure BDA0002378436310000144
Figure BDA0002378436310000151
其中,通过<interface>et-0/0/0</interface>可以确定引用的接口et-0/0/0不存在,则确定<interface>et-0/0/0</interface>为leafref实例残留数据,即目标无效数据。
除702和703的方式外,服务器还可以向客户端返回error标识,通过该error标识来指示被引用数据已经被删除,即第一数据引用的第二数据已经被删除,使得客户端将第一数据确定为目标无效数据。
704,清除残留数据,包括但不限于如下两种清除方式:
清除方式1:客户端调用的第一RPC为清除残留数据RPC,该清除残留数据RPC携带目标datastore,以及被引用的数据(referenced-object)。服务器清除残留数据,所有引用referenced-object的数据都会被清除。示例性地,调用的第一RPC为清除残留数据RPC,目标datastore设定为<intended>,referenced-object被设定为interface/name=et-0/0/0。则服务器将引用interface/name=et-0/0/0的数据清除。
例如,客户端调用第一RPC为clear-residual,输入目标datastore:target=running,被引用的数据(referenced-object):referenced-object=et-0/0/0,该RPC如下所示,服务器据此清除残留数据。
Figure BDA0002378436310000152
清除方式2:客户端调用的第一RPC为扩展后的edit-data RPC,该扩展后的edit-data RPC携带需要删除的目标datastore,使能清除残留数据功能,以及被引用的数据(referenced-object),服务器清除残留数据时,所有引用referenced-object的数据都会被清除。如上例,调用扩展后的edit-data RPC,目标datastore设定为<intended>,使能clear-residual功能,referenced-object被设定为interface/name=et-0/0/0。
又例如,调用扩展后的edit-data RPC,输入目标datastore:target=running,被引用的数据(referenced-object):referenced-object=et-0/0/0,该扩展后的edit-dataRPC如下,服务器据此清除残留数据。
Figure BDA0002378436310000153
Figure BDA0002378436310000161
705,执行清除操作后,客户端调用get-data,读取服务器<intended>datastore中的数据。
706,服务器返回<intended>datastore中的数据,以使客户端检验残留数据是否被清除。
例如,执行清除操作后,客户端调用get-data读<intended>datastore中的数据,检验残留数据是否被清除,该get-data如下。
Figure BDA0002378436310000162
服务器返回响应如下:
Figure BDA0002378436310000163
本申请实施例提供的方法,由客户端主动读取服务器上的数据,根据读取结果确定存在无效数据时,调用用于清除无效数据的RPC来实现对无效数据的清除,从而节省设备资源,提高运维管理效率。另外,在清除无效数据时,由于本申请实施例提供的方法还支持删除引用该无效数据的其他数据,因而可以进一步节省设备资源,提高运维管理效率。
如上述图6或图7所示的方式外,本申请实施例提供的方法还支持调用强制删除RPC来删除指定数据结构(datastore)中的数据和所有引用该数据的数据。仍以第一网络设备为客户端,第二网络设备为服务器,客户端和服务器中定义有YANG数据模型,描述订阅数据流类型,订阅事件类型,实现配置订阅。相关的配置订阅数据模型树形结构(该树形结构可依据国际标准RFC8340得到)如图8或图9所示的配置订阅模型树形结构为例,对本申请实施例提供的数据管理方法进行举例说明。
在示例性实施例中,客户端与服务器的交互过程如图10所示为例,本申请实施例提供的数据管理方法包括如下几个过程。
1001,服务器和客户端建立NETCONF/RESTCONF会话,进行支持清除无效残留数据能力协商,服务器将其所支持的NETCONF/RESTCONF清除残留数据能力发送给客户端,允许客户端使用清除残留数据功能。该能力定义如下:
Netconf clear capability:
urn:ietf:params:netconf:capability:clear-residual:1.0
Restconf clear capability:
urn:ietf:params:restconf:capability:clear-residual:1.0
1002,客户端调用的第一RPC为强制删除RPC,删除指定datastore中的某数据和所有引用该数据的节点实例;或者扩展netconf原有edit-data RPC,扩展后的edit-data RPC添加有forced-delete操作。
例如<running>datastore中存在三个interface(et-0/0/0、et-0/0/1、rt-0/0/2)和example-a引用到interface:et-0/0/0。
Figure BDA0002378436310000171
如果需要一次性删除interface:et-0/0/0以及所有引用interface:et-0/0/0的数据,则调用RPC forced-delete,输入目标datastore:datastore=running,删除节点:target=interface[name=“et-0/0/0”,如下所示:
Figure BDA0002378436310000172
需要说明的是,本申请实施例不对该强制删除RPC中携带的需要删除的数据的信息进行限定,同样不对该信息的确定方式进行限定,例如,既可以是通过上述图3所示的301中的方式一和方式三来确定,也可以人工设置。
1003,服务器执行清除操作后,客户端调用get-data/get-config/get读取目标datastore中的数据,检验该数据是否被清除,例如,目标datastore为<running>:
Figure BDA0002378436310000173
Figure BDA0002378436310000181
1004,服务器返回的目标datastore中的数据如下:
Figure BDA0002378436310000182
本申请实施例提供的方法,由客户端主动读取服务器上的数据,根据读取结果确定存在无效数据时,调用用于清除无效数据的RPC来实现对无效数据进行清除,从而节省设备资源,提高运维管理效率。另外,在清除无效数据时,由于本申请实施例提供的方法还支持删除引用该无效数据的其他数据,因而可以进一步节省设备资源,提高运维管理效率。
除上述数据管理的方式外,在示例性实施例中,本申请实施例提供的方法还可进一步应用于YANG模型中,由于YANG模型是一种数据建模语言,用于为网络配置管理协议使用的配置数据、状态数据、远程过程调用和通知进行模型化。YANG模型将数据的层次结构模型化为一棵树,树中每个节点都有名称,且每个节点有一个值或者有一个子节点集。YANG模型给节点提供了清晰简明的描述,同样提供了这些节点间的交互。此外,YANG模型将数据模型构建为模块和子模块。一个模块可以从其他外部模块引入数据,可以从子模块包含数据。基于数据模型,数据的层次结构可以被增广,即允许一个模块添加数据节点到定义在另一个模块的层次结构中。
其中,层次结构被增广可以是条件性的,仅当特定条件满足时才有新节点出现。示例性地,通过YANG模型中的内置类型leafref来对本模型或者其他模型的某一个叶子节点进行引用,引用的目的暗含着做数据有效性检查的需求。有效的leafref的值不能够为null、empty;leafref不可以指向已经删除或者更名的列;系统校验自动检查leafref的有效性。YANG模型中的内置类型leafref被限制到schema树上某叶子节点或叶子列表节点的值空间,并且进一步随机被数据树中的相应实例节点限制。引用节点(referring node)的值域是这些被引用节点(referred node)的值域。
另外,YANG模型包括require-instance声明,该require-instance声明是类型(type)声明的子声明,如果类型是instance-identifier或leafref,则require-instance声明就可以存在。此外,该require-instance声明以true或false作为参数。如果没有定义该声明,默认为true。
require-instance为true意味着被引用的实例在有效数据中必须存在。require-instance为false意味着被引用的实例在有效数据中可以存在。yang1.0和yang1.1通过内置类型leafref关键字来声明叶实例的引用,yang1.1引入require-instance声明标识,用来标识悬空引用。
当require-instance为true时,即意味着被引用的实例在有效数据中必须存在。但是在现有业务中个别引用的节点并不感知被谁引用,当删除被引用节点时,就导致引用节点悬空,导致配置失败。而对于引用资源类配置场景,需严格关联处理。以接口为例:在引用接口时,需严格检查接口的存在性;配置成功后,当接口被删除,引用配置也应该同步删除。此外,在一些示例性实施例中,当删除被引用节点时,引用节点在执行netconf操作时,系统将上报错误信息。因此,在业务场景中需要实现联动删除功能,即删除被引用节点的时候,引用节点能自动关联删除。
相关技术中,需要先手动依次删除引用节点,解除被应用节点与引用节点的引用关系。当全部引用节点删除后,被引用节点才能删除,造成关联删除工作量大且性能低。除了手动删除,相关技术还提供了通过when的xath表达式为false时用来实现联动删除的方式,但是构造when条件表达式xpath的写法比较复杂,而且解析xpath时需要消耗巨大的计算量。且在现有业务场景中,需要涉及较多yang模块与yang模块间的引用,这对when的xpath书写表达式要求极高。
基于联动删除的迫切需求,有效避免悬空引用,本申请实施例提供的数据管理方法支持通过一种扩展的YANG模型声明来实现自动关联删除无效数据。通过该方法,不仅能提供一种描述联动删除行为,而且当删除被引用的节点时,能实现引用节点联动删除的目标。相对于手动删除,本申请实施例提供的数据管理方法的效率更高。相对于构造when条件表达式,本申请实施例提供的方法可控性更好,消耗的计算量更小,配置也更为简单直观。
示例性地,在本申请实施例中,上述图3中所涉及的目标无效数据可以为被引用节点对应的数据;如果该被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,而该第一声明用于指示删除目标无效数据时,自动关联删除引用节点对应的数据;则第二网络设备基于第一RPC删除目标无效数据之后,该第二网络设备基于第一声明自动关联删除引用节点对应的数据。
以YANG模型为如下的huawei-ext.yang为例,通过YANG扩展关键字extension声明扩展出一个第一声明,例如该第一声明为auto-del-ref声明,它以true或false作为参数。如果没有定义该声明,默认为false。auto-del-ref为true意味着当删除被引用节点时,引用节点需要联动删除;auto-del-ref为false意味着当删除被引用节点时,引用节点不需要联动删除。例如,huawei-ext.yang如下所示:
Figure BDA0002378436310000191
为便于理解,以如下的引用节点与被引用节点为例进行说明。
Figure BDA0002378436310000192
Figure BDA0002378436310000201
首先,对于需要声明启用联动删除节点行为的yang模型,需要通过import的方式将huawei-ext.yang引入自己的.yang模型中,以如下的ydb-test-common.yang为例。
Figure BDA0002378436310000202
其次,在ydb-test-common.yang中,叶子节点的值是通过leafref内置类型实现对interface的叶子节点name的值引用,且require-instace为true声明不支持悬空引用条件下,此节点通过引入auto-del-ref声明且标记值为true。实现声明联动删除行为时,ydb-test-common.yang如下:
Figure BDA0002378436310000203
Figure BDA0002378436310000211
当path指向的引用节点/interface/name删除时,由于上述ydb-test-common.yang的叶子节点name下面已声明的auto-del-ref,取值为true,则实现联动删除ydb-test-common.yang的叶子节点name,删除后如下所示。
Figure BDA0002378436310000212
上述实施例中,被引用节点与引用节点是一对一引用,在实际业务场景中,引用关系比较复杂,节点间引用规模比较大,一个节点往往可能被成百上千节点所引用。基于被引用节点和引用节点一对多的场景下分析描述,针对如下两个场景进行说明。
场景一:所删除的无效数据对应的节点被多个节点引用
如图11所示,以interface的叶子节点name被rip的叶子节点ifname、vip的叶子节点ifname等多个节点引用,本申请实施例将rip与vip等其他节点等价理解,以rip为例进行说明。
首先,在rip-test-common.yang中通过impoort huawei-ext实现引入本申请实施例中定义的huawei-ext.yang文件,以如下所示的rip-test-common.yang为例。
Figure BDA0002378436310000213
Figure BDA0002378436310000221
其次,容器节点rip的叶列表节点network-ifname下面的叶子节点ifname,通过require-instance为true声明非悬空引用,rip节点声明联动删除的yang语法如下所示。
Figure BDA0002378436310000222
当path指向的字符串值/interface/name删除时,通过require-instance为true声明非悬空引用,这样rip容器下面的叶子节点ifname就实现联动删除。
Figure BDA0002378436310000223
容器节点vip的叶列表节点network-ifname下面的叶子节点ifname值按照上述步骤同理可以实现联动删除,此处不再赘述。
场景二:删除的无效数据对应的节点是引用节点也是被引用节点
如图12所示,interface-default节点,相对于rip是被引用节点的值,但同时又引用了interface节点的值。例如,interface-default的模型结构如下所示:
Figure BDA0002378436310000224
Figure BDA0002378436310000231
例如,容器节点rip的模型结构如下所示:
Figure BDA0002378436310000232
当interface-default的叶子节点name和容器节点rip的叶列表节点network-ifname下面的叶子节点ifname都引用了hw-ext:auto-del-ref,设置其值为true。则引用了声明的interface-default的模型结构如下:
Figure BDA0002378436310000233
例如,引用了声明的容器节点rip的模型结构如下所示。
Figure BDA0002378436310000234
Figure BDA0002378436310000241
当删除容器interface-default/name的eth0.16时,rip的叶子节点ifname也将联动删除。然后,interface-default/name又会往上追溯所引用interface的叶子节点name。当interface的叶子节点name的eth0.16删除时,interface-default的叶子节点name的eth0.16也将联动删除。删除之后的结构如图13所示。
基于另外一种业务诉求,当删除被引用节点时,所有引用此节点的所有节点都需要删除。本申请实施例提供的数据管理方法支持通过一种扩展YANG模型声明来实现自动关联删除无效数据。示例性地,在本申请实施例中,目标无效数据为被引用节点对应的数据;目标无效数据所在的数据结构中包括扩展的第二声明,第二声明用于指示删除目标无效数据时,对全部的引用节点对应的数据进行联动删除;则第二网络设备基于第一RPC删除目标无效数据之后,还包括:第二网络设备基于第二声明,对全部的引用节点对应的数据进行联动删除。
以RFC 7950YANG 1.1模型为例,通过在huawei-ext.yang文件中扩展关键字extension声明扩展一个第二声明,例如该第二声明为full-ref-del声明,它以true或false作为参数。如果没有定义该声明,默认为false。full-ref-del为true意味着当删除被引用节点时,所有引用它的节点需要全都联动删除;full-ref-del为false意味着当删除被引用节点时,所有引用它的节点引不需要联动删除。例如,huawei-ext.yang如下所示:
Figure BDA0002378436310000242
为便于理解,以如下引用节点与被引用节点为例进行说明。
Figure BDA0002378436310000243
Figure BDA0002378436310000251
首先,将huawei-ext.yang通过impor引入到需要进行声明全部联动删除节点的.yang模型中,以如下的ydb-test-common.yang为例。
Figure BDA0002378436310000252
其次,在ydb-test-common.yang中,引用节点rip叶子节点的name值是通过leafref内置类型实现对interface的叶子节点name的值引用,且require-instace为true声明不支持悬空引用条件下,当此被引用节点interface的叶子节点通过引入hw-ext:full-ref-del声明且标记值为true。实现声明全部联动删除所有引用节点行为。
例如,添加了hw-ext:full-ref-del声明的ydb-test-common.yang如下所示:
Figure BDA0002378436310000253
之后,当删除被引用节点/interface/name时,由于ydb-test-common.yang的叶子节点name下面声明的hw-ext:full-ref-del取值为true,即可实现删除所有引用/interface/name的节点。
Figure BDA0002378436310000254
Figure BDA0002378436310000261
在业务场景中,节点间引用规模比较大,一个节点往往可能被成百上千个节点所引用,当业务需要删除被引用节点时,所有引用此节点的引用节点需要全部删除。接下来,以在被引用者的角度,对本申请实施例提供的数据管理方法进行说明。如图14所示,interface的叶子节点name被interface-default的叶子节点name,rip的叶子节点ifname等多个节点引用。当删除interface的叶子节点name时,rip与vip等其他节点全都联动删除。
interface-default的叶子节点name与rip叶子节点的ifname等价,本实例以rip为例子,在图14所示场景中,被引用节点interface/name和引用节点interface-default/name,rip/ifname一对多的场景下。当interface的叶子节点name需要达到一键删除所有引用interface的叶子节点name的目的时,即全联动删除所有引用节点。以rip为例,具体步骤如下:
首先,对于需要声明启用全联动删除节点行为的yang模型,需要先通过import的方式将huawei-ext.yang引入到.yang模型中,以如下的被引用节点的interface,和引用节点rip为例。例如,被引用节点的interface如下所示:
Figure BDA0002378436310000262
引用节点rip的模型结构如下所示:
Figure BDA0002378436310000271
其次,在rip中,叶子节点ifname的值是通过leafref内置类型实现对interface/name的值引用,且require-instace为true声明不支持悬空引用条件下,在interface中的叶子节点name引入hw-ext:full-ref-del声明且标记值为true,实现声明全部联动删除所有引用节点行为。添加了声明的interface的模型结构如下所示:
Figure BDA0002378436310000272
Figure BDA0002378436310000273
Figure BDA0002378436310000281
当删除被引用节点/interface/name eth0.16 192.168.0.2时,由于name下面声明的hw-ext:full-ref-del取值为true,即可实现删除所有引用自己的节点,interface-default的叶子节点name与rip叶子节点的ifname所引用的/interface/name的也全删除,删除结果如图15所示。
综上所述,本申请实施例提供的数据管理方法,不仅能提供一种描述自动联动删除行为和一种描述自动全关联删除行为,而且当删除被引用的节点时,实现引用节点联动删除的目的。在关联校验场景下,有效减少数据不一致的问题,避免悬空引用,同时能减少计算量,提升自动联动删除性能。此外,本申请实施例提供的方法配置直观,易于使用。
本申请实施例提供了一种数据管理装置,参见图16,该装置用于执行上述第一网络设备,例如客户端所执行的方法,该装置包括:
处理单元1601,用于确定第二网络设备存在的目标无效数据;获取第一RPC,该第一RPC携带需要删除的目标无效数据的信息;
通信单元1602,用于向第二网络设备发送第一RPC,第一RPC用于指示第二网络设备删除目标无效数据。
在示例性实施例中,通信单元1602,用于向第二网络设备发送第二RPC,第二RPC用于指示第二网络设备进行数据差异比较;接收第二网络设备返回的数据差异比较结果;
处理单元1601,用于根据差异比较结果确定第二网络设备存在的目标无效数据。
在示例性实施例中,通信单元1602,还用于接收第二网络设备发送的基础事件通知,基础事件通知用于指示第二网络设备存在无效数据;
处理单元1601,还用于基于基础事件通知确定第二网络设备存在无效数据,触发通信单元执行向第二网络设备发送第二RPC的操作。
在示例性实施例中,通信单元1602,用于向第二网络设备发送第三RPC,第三RPC用于指示第二网络设备返回第一数据;接收第二网络设备返回的第一数据;
处理单元1601,响应于第一数据引用的第二数据不存在,则确定第一数据为第二网络设备上存在的目标无效数据。
在示例性实施例中,通信单元1602,用于向第二网络设备发送第三RPC,第三RPC用于指示第二网络设备返回第一数据;接收第二网络设备返回的错误标识,错误标识指示第一数据所引用的第二数据已经被删除;
处理单元1601,用于根据错误标识,将第一数据确定为第二网络设备上存在的目标无效数据。
在示例性实施例中,通信单元1602,还用于与第二网络设备建立网络配置会话;基于网络配置会话,接收第二网络设备发送的第二网络设备支持的网络配置清除残留数据的能力。
在示例性实施例中,第一RPC是一种新RPC,新RPC的输入参数包括需要删除的目标无效数据的信息;
或者,第一RPC是对已有RPC进行扩展得到的扩展后的RPC,扩展后的RPC携带需要删除的目标无效数据的信息。
在示例性实施例中,通信单元1602,还用于读取第二网络设备中目标无效数据;
处理单元1601,还用于根据通信单元的读取结果验证目标无效数据是否清除。
在示例性实施例中,目标无效数据为被引用节点对应的数据;被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,第一声明用于指示删除目标无效数据时,自动关联删除引用节点对应的数据。
在示例性实施例中,目标无效数据为被引用节点对应的数据;目标无效数据所在的数据模型中包括扩展的第二声明,第二声明用于指示删除目标无效数据时,对全部的引用节点对应的数据进行联动删除。
本申请实施例提供的方法,通过确定无效数据,调用用于清除无效数据的RPC来实现对无效数据的清除,从而节省设备资源,提高运维管理效率。另外,在清除无效数据时,由于本申请实施例提供的方法还支持删除引用该无效数据的其他数据,因而可以进一步节省设备资源,提高运维管理效率。
本申请实施例提供了一种数据管理装置,参见图17,该装置用于执行上述第二网络设备,例如服务器所执行的方法。该装置包括:
通信单元1701,用于接收第一网络设备发送的第一RPC,该第一RPC携带需要删除的目标无效数据的信息;
处理单元1702,用于基于第一RPC删除目标无效数据。
在示例性实施例中,通信单元1701,还用于接收第一网络设备发送的第二RPC,第二RPC用于指示第二网络设备进行数据差异比较;
处理单元1702,还用于根据第二RPC进行数据差异比较,得到数据差异比较结果;
通信单元1701,还用于向第一网络设备返回数据差异比较结果,差异比较结果用于第一网络设备确定第二网络设备存在的目标无效数据。
在示例性实施例中,通信单元1701,还用于向第一网络设备发送基础事件通知,基础事件通知用于指示第二网络设备存在无效数据。
在示例性实施例中,通信单元1701,还用于接收第一网络设备发送的第三RPC,第三RPC用于指示第二网络设备返回第一数据;根据第三RPC向第一网络设备返回第一数据,第一数据用于第一网络设备确定第二网络设备上存在的目标无效数据。
在示例性实施例中,通信单元1701,还用于接收第一网络设备发送的第三RPC,第三RPC用于指示第二网络设备返回第一数据;向第一网络设备返回错误标识,错误标识用于指示第一数据所引用的第二数据已经被删除。
在示例性实施例中,通信单元1701,还用于与第一网络设备建立网络配置会话;基于网络配置会话,向第一网络设备发送第二网络设备支持的网络配置清除残留数据的能力。
在示例性实施例中,目标无效数据为被引用节点对应的数据;被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,第一声明用于指示删除目标无效数据时,自动关联删除引用节点对应的数据;
处理单元1702,还用于基于第一声明自动关联删除引用节点对应的数据。
在示例性实施例中,目标无效数据为被引用节点对应的数据;目标无效数据所在的数据模型中包括扩展的第二声明,第二声明用于指示删除目标无效数据时,对全部的引用节点对应的数据进行联动删除;
处理单元1702,还用于基于第二声明,对全部的引用节点对应的数据进行联动删除。
本申请实施例提供的方法,基于第一网络设备发送的用于清除无效数据的RPC来实现对无效数据的清除,从而节省设备资源,提高运维管理效率。另外,在清除无效数据时,由于本申请实施例提供的方法还支持删除引用该无效数据的其他数据,因而可以进一步节省设备资源,提高运维管理效率。
应理解的是,上述图16或图17提供的装置在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
上述实施例中第一网络设备或者第二网络设备,可以为路由器或交换机。硬件结构可以包括但不限于如下两种结构:
第一种结构:如图18所示,该网络设备1800包括收发器1803、处理器1802和存储器1801。其中,收发器1803用于接收报文或数据信息等,处理器1802用于执行上述图3所示实施例中第一网络设备或第二网络设备处理的相关步骤。
第二种结构:如图19所示,该网络设备1900包括主控板191和接口板192,主控板191包括处理器1911和存储器1912,接口板192包括处理器1921、存储器1922和接口卡1923。接口板192的处理器1921用于调用接口板192的存储器1922中的程序指令执行相应的处理功能。主控板191的处理器1911用于调用主控板191的存储器1912中的程序指令执行相应的处理功能。
需说明的是,以上描述的任意装置实施例都仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本申请提供的第一网络节点或控制器实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
图20为本申请实施例提供的网络设备的硬件结构示意图。图20所示的网络设备1100可以执行上述实施例的方法中第一网络设备或第二网络设备执行的相应步骤。
如图20所示,网络设备1100包括处理器1101、存储器1102、接口1103和总线1104。其中接口1103可以通过无线或有线的方式实现,具体来讲可以是网卡。上述处理器1101、存储器1102和接口1103通过总线1104连接。
所述接口1103可以包括发送器和接收器,用于接收和发送RPC或数据。例如,所述接口1103用于支持接收RPC。所述处理器1101用于执行上述实施例中网络设备进行的处理。作为举例,所述处理器1101用于支持图3中的步骤301至步骤305中对数据管理的步骤。存储器1102包括操作系统11021和应用程序11022,用于存储程序、代码或指令,当处理器1101或硬件设备执行这些程序、代码或指令时可以完成方法实施例中涉及网络设备的处理过程。可选的,所述存储器1102可以包括只读存储器(英文:Read-only Memory,缩写:ROM)和随机存取存储器(英文:Random Access Memory,缩写:RAM)。其中,所述ROM包括基本输入/输出系统(英文:Basic Input/Output System,缩写:BIOS)或嵌入式系统;所述RAM包括应用程序和操作系统。当需要运行网络设备1100时,通过固化在ROM中的BIOS或者嵌入式系统中的bootloader引导系统进行启动,引导网络设备1100进入正常运行状态。在网络设备1100进入正常运行状态后,运行在RAM中的应用程序和操作系统,从而,完成方法实施例中涉及网络设备的处理过程。
可以理解的是,图20仅仅示出了网络设备1100的简化设计。在实际应用中,网络设备1100可以包含任意数量的接口,处理器或者存储器。
应理解的是,上述处理器可以是中央处理器(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现场可编程门阵列(field-programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者是任何常规的处理器等。值得说明的是,处理器可以是支持进阶精简指令集机器(advanced RISC machines,ARM)架构的处理器。
进一步地,在一种可选的实施例中,上述存储器可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器还可以包括非易失性随机存取存储器。例如,存储器还可以存储设备类型的信息。
该存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(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 dateSDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(directrambus RAM,DR RAM)。
还提供了一种计算机可读存储介质,存储介质中存储有至少一条指令,指令由处理器加载并执行以实现如上任一所述的数据管理的方法。
本申请提供了一种计算机程序,当计算机程序被计算机执行时,可以使得处理器或计算机执行上述方法实施例中对应的各个步骤和/或流程。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid StateDisk)等。
以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本申请的保护范围之内。

Claims (39)

1.一种数据管理方法,其特征在于,所述方法包括:
第一网络设备确定第二网络设备存在的目标无效数据;
所述第一网络设备获取第一远程过程调用RPC,所述第一RPC携带需要删除的目标无效数据的信息;
所述第一网络设备向所述第二网络设备发送所述第一RPC,所述第一RPC用于指示所述第二网络设备删除所述目标无效数据。
2.根据权利要求1所述的方法,其特征在于,所述第一网络设备确定第二网络设备存在的目标无效数据,包括:
所述第一网络设备向所述第二网络设备发送第二RPC,所述第二RPC用于指示所述第二网络设备进行数据差异比较;
所述第一网络设备接收所述第二网络设备返回的数据差异比较结果,根据所述差异比较结果确定所述第二网络设备存在的目标无效数据。
3.根据权利要求2所述的方法,其特征在于,所述第一网络设备向所述第二网络设备发送第二RPC之前,还包括:
所述第一网络设备接收所述第二网络设备发送的基础事件通知,所述基础事件通知用于指示所述第二网络设备存在无效数据;
所述第一网络设备基于所述基础事件通知确定所述第二网络设备存在无效数据,触发执行所述向所述第二网络设备发送第二RPC的操作。
4.根据权利要求1所述的方法,其特征在于,所述第一网络设备确定第二网络设备存在的目标无效数据,包括:
所述第一网络设备向所述第二网络设备发送第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;
所述第一网络设备接收所述第二网络设备返回的第一数据;
响应于所述第一数据引用的第二数据不存在,则所述第一网络设备确定所述第一数据为所述第二网络设备上存在的目标无效数据。
5.根据权利要求1所述的方法,其特征在于,所述第一网络设备确定第二网络设备存在的目标无效数据,包括:
所述第一网络设备向所述第二网络设备发送第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;
所述第一网络设备接收所述第二网络设备返回的错误标识,所述错误标识指示所述第一数据所引用的第二数据已经被删除,所述第一网络设备根据所述错误标识,将所述第一数据确定为所述第二网络设备上存在的目标无效数据。
6.根据权利要求1-5任一所述的方法,其特征在于,所述第一网络设备确定第二网络设备存在的目标无效数据之前,还包括:
所述第一网络设备与所述第二网络设备建立网络配置会话;
所述第一网络设备基于所述网络配置会话,接收所述第二网络设备发送的所述第二网络设备支持的网络配置清除残留数据的能力。
7.根据权利要求1-6任一所述的方法,其特征在于,所述第一RPC是一种新RPC,所述新RPC的输入参数包括所述需要删除的目标无效数据的信息;
或者,所述第一RPC是对已有RPC进行扩展得到的扩展后的RPC,所述扩展后的RPC携带所述需要删除的目标无效数据的信息。
8.根据权利要求1-7任一所述的方法,其特征在于,所述第一网络设备向所述第二网络设备发送所述第一RPC之后,还包括:
所述第一网络设备读取所述第二网络设备中所述目标无效数据,根据读取结果验证所述目标无效数据是否清除。
9.根据权利要求1-8任一所述的方法,其特征在于,所述目标无效数据为被引用节点对应的数据;所述被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,所述第一声明用于指示删除所述目标无效数据时,自动关联删除引用节点对应的数据。
10.根据权利要求1-8任一所述的方法,其特征在于,所述目标无效数据为被引用节点对应的数据;所述目标无效数据所在的数据模型中包括扩展的第二声明,所述第二声明用于指示删除所述目标无效数据时,对全部的引用节点对应的数据进行联动删除。
11.一种数据管理方法,其特征在于,所述方法包括:
第二网络设备接收第一网络设备发送的第一远程过程调用RPC,所述第一RPC携带需要删除的目标无效数据的信息;
所述第二网络设备基于所述第一RPC删除所述目标无效数据。
12.根据权利要求11所述的方法,其特征在于,所述第二网络设备接收第一网络设备发送的第一远程过程调用RPC之前,还包括:
所述第二网络设备接收所述第一网络设备发送的第二RPC,所述第二RPC用于指示所述第二网络设备进行数据差异比较;
所述第二网络设备根据所述第二RPC进行数据差异比较,得到数据差异比较结果;
所述第二网络设备向所述第一网络设备返回所述数据差异比较结果,所述差异比较结果用于所述第一网络设备确定所述第二网络设备存在的目标无效数据。
13.根据权利要求12所述的方法,其特征在于,所述第二网络设备接收所述第一网络设备发送的第二RPC之前,还包括:
所述第二网络设备向所述第一网络设备发送基础事件通知,所述基础事件通知用于指示所述第二网络设备存在无效数据。
14.根据权利要求11所述的方法,其特征在于,所述第二网络设备接收第一网络设备发送的第一远程过程调用RPC之前,还包括:
所述第二网络设备接收所述第一网络设备发送的第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;
所述第二网络设备根据所述第三RPC向所述第一网络设备返回所述第一数据,所述第一数据用于所述第一网络设备确定所述第二网络设备上存在的目标无效数据。
15.根据权利要求11所述的方法,其特征在于,所述第二网络设备接收第一网络设备发送的第一远程过程调用RPC之前,还包括:
所述第二网络设备接收所述第一网络设备发送的第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;
所述第二网络设备向所述第一网络设备返回错误标识,所述错误标识用于指示所述第一数据所引用的第二数据已经被删除。
16.根据权利要求11-15任一所述的方法,其特征在于,所述第二网络设备接收第一网络设备发送的第一远程过程调用RPC之前,还包括:
所述第二网络设备与所述第一网络设备建立网络配置会话;
所述第二网络设备基于所述网络配置会话,向所述第一网络设备发送所述第二网络设备支持的网络配置清除残留数据的能力。
17.根据权利要求11-16任一所述的方法,其特征在于,所述目标无效数据为被引用节点对应的数据;所述被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,所述第一声明用于指示删除所述目标无效数据时,自动关联删除引用节点对应的数据;
所述第二网络设备基于所述第一RPC删除所述目标无效数据之后,还包括:
所述第二网络设备基于所述第一声明自动关联删除所述引用节点对应的数据。
18.根据权利要求11-16任一所述的方法,其特征在于,所述目标无效数据为被引用节点对应的数据;所述目标无效数据所在的数据模型中包括扩展的第二声明,所述第二声明用于指示删除所述目标无效数据时,对全部的引用节点对应的数据进行联动删除;
所述第二网络设备基于所述第一RPC删除所述目标无效数据之后,还包括:
所述第二网络设备基于所述第二声明,对全部的引用节点对应的数据进行联动删除。
19.一种数据管理装置,其特征在于,所述装置包括:
处理单元,用于确定第二网络设备存在的目标无效数据;获取第一远程过程调用RPC,所述第一RPC携带需要删除的目标无效数据的信息;
通信单元,用于向所述第二网络设备发送所述第一RPC,所述第一RPC用于指示所述第二网络设备删除所述目标无效数据。
20.根据权利要求19所述的装置,其特征在于,所述通信单元,用于向所述第二网络设备发送第二RPC,所述第二RPC用于指示所述第二网络设备进行数据差异比较;接收所述第二网络设备返回的数据差异比较结果;
所述处理单元,用于根据所述差异比较结果确定所述第二网络设备存在的目标无效数据。
21.根据权利要求20所述的装置,其特征在于,所述通信单元,还用于接收所述第二网络设备发送的基础事件通知,所述基础事件通知用于指示所述第二网络设备存在无效数据;
所述处理单元,还用于基于所述基础事件通知确定所述第二网络设备存在无效数据,触发所述通信单元执行所述向所述第二网络设备发送第二RPC的操作。
22.根据权利要求19所述的装置,其特征在于,所述通信单元,用于向所述第二网络设备发送第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;接收所述第二网络设备返回的第一数据;
所述处理单元,响应于所述第一数据引用的第二数据不存在,则确定所述第一数据为所述第二网络设备上存在的目标无效数据。
23.根据权利要求19所述的装置,其特征在于,所述通信单元,用于向所述第二网络设备发送第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;接收所述第二网络设备返回的错误标识,所述错误标识指示所述第一数据所引用的第二数据已经被删除;
所述处理单元,用于根据所述错误标识,将所述第一数据确定为所述第二网络设备上存在的目标无效数据。
24.根据权利要求19-23任一所述的装置,其特征在于,所述通信单元,还用于与所述第二网络设备建立网络配置会话;基于所述网络配置会话,接收所述第二网络设备发送的所述第二网络设备支持的网络配置清除残留数据的能力。
25.根据权利要求19-24任一所述的装置,其特征在于,所述第一RPC是一种新RPC,所述新RPC的输入参数包括所述需要删除的目标无效数据的信息;
或者,所述第一RPC是对已有RPC进行扩展得到的扩展后的RPC,所述扩展后的RPC携带所述需要删除的目标无效数据的信息。
26.根据权利要求19-25任一所述的装置,其特征在于,所述通信单元,还用于读取所述第二网络设备中所述目标无效数据;
所述处理单元,还用于根据所述通信单元的读取结果验证所述目标无效数据是否清除。
27.根据权利要求19-26任一所述的装置,其特征在于,所述目标无效数据为被引用节点对应的数据;所述被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,所述第一声明用于指示删除所述目标无效数据时,自动关联删除引用节点对应的数据。
28.根据权利要求19-26任一所述的装置,其特征在于,所述目标无效数据为被引用节点对应的数据;所述目标无效数据所在的数据模型中包括扩展的第二声明,所述第二声明用于指示删除所述目标无效数据时,对全部的引用节点对应的数据进行联动删除。
29.一种数据管理装置,其特征在于,所述装置包括:
通信单元,用于接收第一网络设备发送的第一远程过程调用RPC,所述第一RPC携带需要删除的目标无效数据的信息;
处理单元,用于基于所述第一RPC删除所述目标无效数据。
30.根据权利要求29所述的装置,其特征在于,所述通信单元,还用于接收所述第一网络设备发送的第二RPC,所述第二RPC用于指示所述第二网络设备进行数据差异比较;
所述处理单元,还用于根据所述第二RPC进行数据差异比较,得到数据差异比较结果;
所述通信单元,还用于向所述第一网络设备返回所述数据差异比较结果,所述差异比较结果用于所述第一网络设备确定所述第二网络设备存在的目标无效数据。
31.根据权利要求30所述的装置,其特征在于,所述通信单元,还用于向所述第一网络设备发送基础事件通知,所述基础事件通知用于指示所述第二网络设备存在无效数据。
32.根据权利要求29所述的装置,其特征在于,所述通信单元,还用于接收所述第一网络设备发送的第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;根据所述第三RPC向所述第一网络设备返回所述第一数据,所述第一数据用于所述第一网络设备确定所述第二网络设备上存在的目标无效数据。
33.根据权利要求29所述的装置,其特征在于,所述通信单元,还用于接收所述第一网络设备发送的第三RPC,所述第三RPC用于指示所述第二网络设备返回第一数据;向所述第一网络设备返回错误标识,所述错误标识用于指示所述第一数据所引用的第二数据已经被删除。
34.根据权利要求29-33任一所述的装置,其特征在于,所述通信单元,还用于与所述第一网络设备建立网络配置会话;基于所述网络配置会话,向所述第一网络设备发送所述第二网络设备支持的网络配置清除残留数据的能力。
35.根据权利要求29-34任一所述的装置,其特征在于,所述目标无效数据为被引用节点对应的数据;所述被引用节点对应的引用节点所在的数据模型中包括扩展的第一声明,所述第一声明用于指示删除所述目标无效数据时,自动关联删除引用节点对应的数据;
所述处理单元,还用于基于所述第一声明自动关联删除所述引用节点对应的数据。
36.根据权利要求29-34任一所述的装置,其特征在于,所述目标无效数据为被引用节点对应的数据;所述目标无效数据所在的数据模型中包括扩展的第二声明,所述第二声明用于指示删除所述目标无效数据时,对全部的引用节点对应的数据进行联动删除;
所述处理单元,还用于基于所述第二声明,对全部的引用节点对应的数据进行联动删除。
37.一种数据管理设备,其特征在于,所述设备包括:
存储器及处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1-18中任一所述的数据管理方法。
38.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现如权利要求1-18中任一所述的数据管理方法。
39.一种数据管理系统,其特征在于,所述系统包括第一网络设备和第二网络设备,所述第一网络设备用于执行权利要求1-10中任一所述的数据管理方法,所述第二网络设备用于执行权利要求11-18任一所述的数据管理方法。
CN202010075689.XA 2020-01-22 2020-01-22 数据管理方法、装置、设备、计算机可读存储介质及系统 Pending CN113157462A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010075689.XA CN113157462A (zh) 2020-01-22 2020-01-22 数据管理方法、装置、设备、计算机可读存储介质及系统
PCT/CN2020/119583 WO2021147375A1 (zh) 2020-01-22 2020-09-30 数据管理方法、装置、设备、计算机可读存储介质及系统
EP20914804.8A EP4075731A4 (en) 2020-01-22 2020-09-30 DATA MANAGEMENT METHOD, DEVICE AND DEVICE, COMPUTER READABLE STORAGE MEDIUM AND SYSTEM
US17/870,474 US20220358003A1 (en) 2020-01-22 2022-07-21 Data Management Method, Apparatus, and Device, Computer-Readable Storage Medium, and System

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010075689.XA CN113157462A (zh) 2020-01-22 2020-01-22 数据管理方法、装置、设备、计算机可读存储介质及系统

Publications (1)

Publication Number Publication Date
CN113157462A true CN113157462A (zh) 2021-07-23

Family

ID=76881895

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010075689.XA Pending CN113157462A (zh) 2020-01-22 2020-01-22 数据管理方法、装置、设备、计算机可读存储介质及系统

Country Status (4)

Country Link
US (1) US20220358003A1 (zh)
EP (1) EP4075731A4 (zh)
CN (1) CN113157462A (zh)
WO (1) WO2021147375A1 (zh)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070073792A1 (en) * 2005-09-28 2007-03-29 Tony Nichols System and method for removing residual data from memory
US9258132B2 (en) * 2013-06-06 2016-02-09 Alcatel Lucent NETCONF SNMP gateway
CN110391949B (zh) * 2019-09-19 2019-12-13 华为技术有限公司 一种配置变更的方法及相关装置

Also Published As

Publication number Publication date
EP4075731A1 (en) 2022-10-19
WO2021147375A1 (zh) 2021-07-29
EP4075731A4 (en) 2023-05-03
US20220358003A1 (en) 2022-11-10

Similar Documents

Publication Publication Date Title
US11277320B2 (en) Automatic provisioning of monitoring for containerized microservices
CN111314141B (zh) 路由更新方法及装置
US9253265B2 (en) Hot pluggable extensions for access management system
CN110324169B (zh) 一种接口管理的方法和装置
US11561889B2 (en) Orchestration for automated performance testing
CN111061643B (zh) Sdk集群的兼容性检测方法、装置、电子设备及存储介质
CN111090423B (zh) 一种webhook框架系统和实现主动调用、实现事件触发的方法
CN111427701A (zh) 一种工作流引擎系统和业务处理方法
CN107644075B (zh) 收集页面信息的方法和装置
CN111258627A (zh) 一种接口文档生成方法和装置
CN114968754A (zh) 一种应用程序接口api测试方法以及装置
CN113792008A (zh) 网络拓扑结构的获取方法、装置、电子设备及存储介质
CN110457132B (zh) 一种功能对象的创建方法、装置和终端设备
CN116360735A (zh) 一种表单生成方法、装置、设备和介质
CN108496157B (zh) 使用扩展接口提供运行时跟踪的系统和方法
CN113778897A (zh) 接口的自动测试方法、装置、设备及存储介质
US9374437B2 (en) Schema validation proxy
CN109117152B (zh) 服务生成系统及方法
CN109068170B (zh) 一种弹幕消息的存储方法、装置、终端和存储介质
CN113157462A (zh) 数据管理方法、装置、设备、计算机可读存储介质及系统
US20140172955A1 (en) Distributed mobile enterprise application platform
CN116521251A (zh) 服务管理方法、装置、计算机设备及存储介质
CN109254855B (zh) 一种参数传输协议的注册方法、装置及电子设备
CN113032004A (zh) 在开发环境中管理开发作业的方法、设备和程序产品
US20230094137A1 (en) Generating and visualizing a data structure of a management model of an application server

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