CN109361553B - 配置回滚方法及装置 - Google Patents

配置回滚方法及装置 Download PDF

Info

Publication number
CN109361553B
CN109361553B CN201811454743.0A CN201811454743A CN109361553B CN 109361553 B CN109361553 B CN 109361553B CN 201811454743 A CN201811454743 A CN 201811454743A CN 109361553 B CN109361553 B CN 109361553B
Authority
CN
China
Prior art keywords
configuration
rollback
data
session
instruction
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
CN201811454743.0A
Other languages
English (en)
Other versions
CN109361553A (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.)
New H3C Technologies Co Ltd Hefei Branch
Original Assignee
New H3C Technologies Co Ltd Hefei Branch
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 New H3C Technologies Co Ltd Hefei Branch filed Critical New H3C Technologies Co Ltd Hefei Branch
Priority to CN201811454743.0A priority Critical patent/CN109361553B/zh
Publication of CN109361553A publication Critical patent/CN109361553A/zh
Application granted granted Critical
Publication of CN109361553B publication Critical patent/CN109361553B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • H04L41/082Configuration setting characterised by the conditions triggering a change of settings the condition being updates or upgrades of network functionality
    • 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/0859Retrieval of network configuration; Tracking network configuration history by keeping history of different configuration generations or by rolling back to previous configuration versions

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)
  • Computer And Data Communications (AREA)

Abstract

本公开提供一种配置回滚方法及装置,涉及通信技术领域,该方法包括:从配置会话对应的配置回滚数据库中获取回滚数据,所述配置会话包括配置指令,所述配置指令用于对配置数据进行更新,所述配置回滚数据库用于存储与所述配置会话对应的可回滚数据,对回滚数据进行头删除处理,得到回滚子数据,按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。通过从不同配置会话对应的不同配置数据库中,获取与触发回滚条件的配置指令相对应的回滚数据,并根据获取的回滚数据对网络设备中的配置数据进行恢复,避免了对每个配置会话所配置的配置数据进行恢复的情况,减少了配置回滚所花费的时间,提高了配置网络设备的效率。

Description

配置回滚方法及装置
技术领域
本公开涉及通信技术领域,特别涉及一种配置回滚方法及装置。
背景技术
NETCONF(Network Configuration Protocol,网络配置协议)是一种基于XML的网络管理协议,提供了一种可编程的、对网络设备进行配置和管理的方法,用户可以通过多种方式登录NETCONF,在登录后对网络设备进行配置。
相关技术中,多个用户可以登录NETCONF,每个用户均可以采用会话的方式,同时对网络设备、网络设备中的模块或者模块中的表项进行配置,而临时配置数据库中可以根据多个会话存储相对应的配置回滚数据。当某个用户在配置过程中触发了配置回滚,则网络设备可以根据配置回滚数据,对该用户对应的会话所配置的网络设备进行恢复,同时对其他用户对应的会话所配置的网络设备进行恢复。
但是,若某个用户配置的网络设备、网络设备中的模块或者模块中的表项,与其他用户配置的网络设备、网络设备中的模块或者模块中的表项不同,仍然会对其他用户配置的网络设备、网络设备中的模块或者模块中的表项进行恢复,使得其他用户需要再次进行配置,造成配置网络设备的效率较低的问题。
发明内容
本公开的目的在于,针对上述现有技术中的不足,提供一种配置回滚方法及装置。
本公开的目的之一提供一种配置回滚方法,所述方法包括:
从配置会话对应的配置回滚数据库中获取回滚数据,所述配置会话包括配置指令,所述配置指令用于对配置数据进行更新,其中,所述配置回滚数据库用于存储与所述配置会话对应的可回滚数据;
对所述回滚数据进行头删除处理,得到回滚子数据;
按照所述回滚子数据对应的配置指令所属的接收时间,根据所述回滚子数据对所述配置数据进行恢复。
进一步地,所述从配置会话对应的配置回滚数据库中获取回滚数据之前,所述方法还包括:
接收终端发送的配置会话,所述配置会话是所述终端根据用户触发的操作生成的;
根据所述配置会话中的配置指令对所述配置数据进行更新;
所述从配置会话对应的配置回滚数据库中获取回滚数据,包括:
若所述配置指令触发回滚条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
进一步地,所述从配置会话对应的配置回滚数据库中获取回滚数据,包括:
获取所述配置指令中的功能标识,所述功能标识用于指示轻量级配置回滚功能是否开启;
若所述功能标识指示所述轻量级配置回滚功能开启,根据所述配置指令生成所述配置会话对应的回滚数据;
将所述回滚数据加入所述配置会话对应的配置回滚数据库;
从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
进一步地,所述从配置会话对应的配置回滚数据库中获取回滚数据,包括:
判断所述配置会话与其他会话是否满***叉条件;
若所述配置会话与所述其他会话满足所述交叉条件,存储所述其他会话所包括的配置指令;
从所述配置会话对应的配置回滚数据库中获取所述回滚数据;
或者,若所述配置会话与所述其他会话不满足所述交叉条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据,其中,不存储所述其他会话所包括的配置指令。
进一步地,所述根据所述回滚子数据对所述配置数据进行恢复之后,所述方法还包括:
根据所述其他会话所包括的配置指令,对恢复后的配置数据进行更新。
本公开的另一目的在于提供一种配置回滚装置,所述装置包括:
获取模块,用于从配置会话对应的配置回滚数据库中获取回滚数据,所述配置会话包括配置指令,所述配置指令用于对配置数据进行更新,其中,所述配置回滚数据库用于存储与所述配置会话对应的可回滚数据;
处理模块,用于对所述回滚数据进行头删除处理,得到回滚子数据;
恢复模块,用于按照所述回滚子数据对应的配置指令所属的接收时间,根据所述回滚子数据对所述配置数据进行恢复。
进一步地,所述装置还包括:
接收模块,用于接收终端发送的配置会话,所述配置会话是所述终端根据用户触发的操作生成的;
第一更新模块,用于根据所述配置会话中的配置指令对所述配置数据进行更新;
所述获取模块,具体用于若所述配置指令触发回滚条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
进一步地,所述获取模块,具体用于获取所述配置指令中的功能标识,所述功能标识用于指示轻量级配置回滚功能是否开启;若所述功能标识指示所述轻量级配置回滚功能开启,根据所述配置指令生成所述配置会话对应的回滚数据;将所述回滚数据加入所述配置会话对应的配置回滚数据库;从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
进一步地,所述获取模块,具体用于判断所述配置会话与其他会话是否满***叉条件;若所述配置会话与所述其他会话满足所述交叉条件,存储所述其他会话所包括的配置指令;从所述配置会话对应的配置回滚数据库中获取所述回滚数据;或者,若所述配置会话与所述其他会话不满足所述交叉条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据,其中,不存储所述其他会话所包括的配置指令。
进一步地,所述装置还包括:
第二更新模块,用于根据所述其他会话所包括的配置指令,对恢复后的配置数据进行更新。
本公开的有益效果是:
本公开实施例提供的配置回滚方法及装置,通过从配置会话对应的配置回滚数据库中获取回滚数据,并对回滚数据进行头删除处理,得到回滚子数据,最后按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。通过从不同配置会话对应的不同配置数据库中,获取与触发回滚条件的配置指令相对应的回滚数据,并根据获取的回滚数据对网络设备中的配置数据进行恢复,避免了对每个配置会话所配置的配置数据进行恢复的情况,减少了配置回滚所花费的时间,提高了配置网络设备的效率。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本公开的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本公开提供的一种配置回滚方法所涉及的网络结构的示意图;
图2为本公开一实施例提供的配置回滚方法的流程示意图;
图3为本公开另一实施例提供的配置回滚方法的流程示意图;
图4为本公开又一实施例提供的配置回滚方法的流程示意图;
图5为本公开一实施例提供的配置回滚装置的示意图;
图6为本公开另一实施例提供的配置回滚装置的示意图;
图7为本公开又一实施例提供的配置回滚装置的示意图;
图8为本公开实施例提供的配置回滚装置的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。
图1为本公开提供的一种配置回滚方法所涉及的网络结构的示意图;如图1所示,该配置回滚方法所涉及的网络结构可以包括:网络设备101和终端102。
其中,网络设备101与终端102通过链路连接。
具体地,终端102可以根据各个用户触发的输入操作,获取每个用户输入的配置指令,从而根据多个配置指令形成多个用户对应的配置会话,并向网络设备101发送多个配置会话,以便对网络设备101的各个模块、表项进行配置。
相应的,网络设备101可以接收终端102发送的各个配置会话,并根据每个配置会话中的各个配置指令对网络设备的配置数据进行配置,从而对配置数据进行更新。
网络设备101在根据每个配置指令对配置数据进行更新后,可以根据预先设置的回滚条件,判断每个配置指令是否触发了回滚条件。若网络设备101根据某个配置指令对配置数据进行更新后,更新后的配置数据触发了回滚条件,也即是,该配置指令触发了回滚条件,则网络设备101可以根据该配置指令所属配置会话对应的配置回滚数据库,获取相对应的回滚数据,从而根据回滚数据对该配置指令所配置的配置数据进行恢复,进而仅针对该配置指令所属配置会话对应的配置数据进行恢复,避免了对每个配置会话对应的配置数据进行恢复的情况。
需要说明的是,若多个配置会话对网络设备101中的同一个模块或者相互关联的模块进行配置,如果其中的任意一个配置会话中的配置指令触发了相对应的回滚条件,则网络设备101需要对其他几个配置会话中的配置指令进行存储,在网络设备101配置回滚结束之后,可以根据存储的其他几个配置会话的配置指令再次对回滚后的配置数据进行配置,从而快速完成对网络设备101中配置数据的再次配置。
另外,在实际应用中,本公开实施例中网络设备101的模块或表项可以为用于实现不同功能的应用程序,也可以为辅助网络设备101运行的应用程序,还可以为其他类型的应用程序,本公开实施例对此不做限定。
图2为本公开一实施例提供的配置回滚方法的流程示意图,应用于如图1所示的网络设备中,该方法可以包括:
步骤201,从配置会话对应的配置回滚数据库中获取回滚数据。
其中,该配置会话可以包括配置指令,该配置指令用于对配置数据进行更新。例如,配置会话中可以包括多个配置指令,每个配置指令均用于更新配置数据。相对应的,配置回滚数据库用于存储与配置会话对应的可回滚数据。
用户在通过终端对网络设备进行配置的过程中,如果网络设备根据配置会话中任意一个配置指令进行配置的配置数据触发了回滚条件,则可以确定该配置指令触发了回滚条件,需要对网络设备的配置数据进行回滚,也即是,将网络设备的配置数据恢复至配置之前的状态。
因此,在对网络设备的配置数据进行回滚之前,网络设备需要获取根据配置指令生成的回滚数据,以便在后续步骤中,可以根据该回滚数据对网络设备的配置数据进行恢复。
具体地,网络设备可以根据触发回滚条件的配置指令所属的配置会话,确定与该配置会话对应的配置数据库,并从该配置数据库中获取预先生成并存储的回滚数据。
其中,回滚数据是根据终端发送的配置会话中各个配置指令生成的。而且,回滚数据可以根据配置会话中的各个配置指令,以链表的形式采用头插法的方式生成,当然也可以采用其他方式生成,本公开实施例对此不做限定。
需要说明的是,在对网络设备进行配置的过程中,若配置会话中包括的edit-config(配置编辑)指令,而该edit-config指令指示出现配置错误的情况时执行rollback-on-error(配置回滚)操作,且若根据配置指令进行配置后的配置数据触发了回滚条件,也即是出现配置错误的情况,网络设备才会从配置会话对应的配置数据库中获取回滚数据,完成对配置数据的恢复。
步骤202,对回滚数据进行头删除处理,得到回滚子数据。
其中,该回滚子数据用于对网络设备的配置数据进行恢复。
网络设备在获取回滚数据之后,则需要对获取的回滚数据进行处理,得到回滚子数据,以便网络设备可以根据得到的回滚子数据对配置数据进行恢复。
由于回滚数据是以链表的形式采用头插法的方式进行存储的,也即是,回滚数据的表头为最后发送的配置指令所对应的数据。因此,网络设备可以采用头删除的方式,对回滚数据进行处理,获取回滚数据中各个节点对应的信息,从而得到多个回滚子数据。
需要说明的是,由于配置指令可以包括用于修改配置数据的配置指令,和用于创建配置数据的配置指令。因此,网络设备处理得到的回滚子数据可以对应不同的配置指令,网络设备可以根据不同配置指令对应的不同回滚子数据执行不同的操作。
例如,当配置指令用于修改配置数据时,则该配置指令对应的回滚子数据,可以指示网络设备对配置数据进行修改,使得修改后的配置数据与执行该配置指令之前的配置数据相一致。但是,若配置指令用于新增配置数据,则该配置指令对应的回滚子数据,可以指示网络设备对根据该配置指令新增的配置数据进行删除。
步骤203,按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。
网络设备在获取回滚子数据后,可以根据接收回滚子数据对应的配置指令的接收时刻,按照接收时刻的逆向顺序对回滚子数据进行排序,从而根据排序后的回滚子数据对网络设备的配置数据进行恢复,使得络设备的配置数据恢复至接收配置会话之前的状态。
具体地,网络设备可以先确定每个回滚子数据对应的配置指令,并查找得到各个配置指令对应的接收时间,再根据各个配置指令对应的接收时间,按照接收时间的逆向顺序,对每个配置指令对应的回滚子数据进行排序,也即是,按照从后向前的顺序对各个回滚子数据进行排序,最后按照排序后的顺序,根据不同的回滚子数据对配置数据进行恢复。
其中,网络设备在根据各个回滚子数据对配置数据进行恢复的过程中,可以先根据一个回滚子数据对配置数据进行恢复,在恢复完毕后,可以再获取下一个回滚子数据,从而逐步对配置数据进行恢复。
例如,网络设备先根据第一配置指令对配置数据执行了添加操作,再根据第二配置指令对配置数据执行了修改操作,则在配置回滚的过程中,网络设备可以先根据第二配置指令对应的回滚子数据,对修改后的配置数据进行替换,将修改后的配置数据替换为修改前的配置数据;网络设备可以再获取第一配置指令对应的回滚子数据,并根据该回滚子数据对配置数据中根据第一配置指令添加的数据进行删除,从而使得网络设备的配置数据恢复至接收配置指令之前的状态。
综上所述,本公开实施例提供的配置回滚方法,通过从配置会话对应的配置回滚数据库中获取回滚数据,并对回滚数据进行头删除处理,得到回滚子数据,最后按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。通过从不同配置会话对应的不同配置数据库中,获取与触发回滚条件的配置指令相对应的回滚数据,并根据获取的回滚数据对网络设备中的配置数据进行恢复,避免了对每个配置会话所配置的配置数据进行恢复的情况,减少了配置回滚所花费的时间,提高了配置网络设备的效率。
图3为本公开另一实施例提供的配置回滚方法的流程示意图,应用于如图1所示的网络设备中,该方法可以包括:
步骤301,接收终端发送的配置会话。
其中,该配置会话是终端根据用户触发的操作生成的,该配置会话可以包括配置指令,该配置指令用于对配置数据进行更新。
多个用户在对网络设备进行配置的过程中,可以在终端上建立多个配置会话,则终端可以根据用户输入的信息,在不同的配置会话中生成不同的配置指令,从而向网络设备发送包括不同配置指令的不同配置会话。
相应的,网络设备可以接收终端发送的各个配置会话,以便在后续步骤中,网络设备可以根据各个配置会话中的配置指令对网络设备的配置数据进行配置更新。
具体地,终端可以接收每个用户触发的操作,根据各个用户触发的操作建立不同的配置会话,并在各个会话的界面中,接收用户输入的配置指令,从而向网络设备发送包括各个配置指令的配置会话,则网络设备可以接收终端发送的各个配置会话。
步骤302,获取配置指令中的功能标识。
其中,该功能标识用于指示轻量级配置回滚功能是否开启,该功能标识可以为布尔(bool)型数据,也可以为其他类型的数据,本公开实施例对此不做限定。
网络设备在接收配置会话中的各个配置指令后,可以根据各个配置指令对网络设备的配置数据进行配置更新。但是,网络设备在根据配置指令对配置数据进行配置后,可能会触发回滚条件,导致配置数据回滚。
而在配置数据回滚的过程中,需要根据预先生成的回滚数据对配置数据进行恢复。因此,网络设备在获取配置会话的配置指令后,需要从配置指令中的指定字段获取配置指令中的功能标识,以便在后续步骤中,可以根据该功能标识确定是否需要生成回滚数据。
例如,该功能标识可以取值为true或false,当功能标识取值为true时,说明开启了轻量级配置回滚功能,则在配置回滚的过程中,仅对该配置指令所属的配置会话中的各个配置指令进行回滚,则需要生成与配置指令对应的回滚数据,并将生成的回滚数据加入与配置会话对应的配置回滚数据库;但是,若功能标识取值为false,说明并未开启轻量级配置回滚功能,则在配置回滚的过程中,需要对每个配置会话中的配置指令进行回滚。
步骤303,若功能标识指示轻量级配置回滚功能开启,根据配置指令生成配置会话对应的回滚数据。
与步骤302相对应的,若某个配置指令中功能标识指示开启了轻量级配置回滚功能,则网络设备可以根据该配置指令生成回滚数据,以便在后续步骤中,网络设备可以将生成的回滚数据添加至与配置会话对应的配置回滚数据库。
在实际应用中,用户可以在配置会话中输入多个配置指令,而网络设备可以根据执行各个配置指令的先后顺序,采用头插法的方式生成链表形式的回滚数据。
另外,由于网络设备需要根据各个配置指令生成回滚数据,因此,网络设备可以在获取某个配置指令后,生成与该配置指令对应的回滚数据,之后再获取下一个配置指令,从而继续生成回滚数据。
当然,网络设备也可以接收多个配置指令,并按照接收各个配置指令的先后顺序,生成每个配置指令对应的回滚数据,本公开实施例对生成回滚数据的方式不做限定。
步骤304,将回滚数据加入配置会话对应的配置回滚数据库。
由于生成的回滚数据存储在配置会话对应的配置回滚数据库中,因此,网络设备在根据配置指令生成回滚数据后,可以将生成的回滚数据存储在配置指令所属配置会话对应的配置回滚数据库中。
需要说明的是,由于可以采用头插法的方式生成回滚数据,则在向回滚数据库中添加回滚数据的过程中,可以根据配置会话中的各个配置指令,不断对回滚数据库中的回滚数据进行更新,从而生成与各个配置指令对应的回滚数据。
步骤305,根据至少一个配置指令对配置数据进行更新。
对于每个配置指令,网络设备在根据配置指令生成回滚数据后,即可根据配置指令所指示的动作,对网络设备的配置数据进行更新,从而根据配置会话中的各个配置指令对配置数据完成更新。
与步骤303相对应的,网络设备不但可以针对每个配置指令生成回滚数据,也可以针对每个配置指令对配置数据执行不同的操作,从而对配置数据进行更新。例如,网络设备可以根据配置指令所指示的操作,对配置数据进行添加、替换、创建或者删除等操作,从而对配置数据进行配置。
因此,网络设备可以先根据一个配置指令对配置数据进行更新,在更新完成后,网络设备需要判断更新后的配置数据是否触发了回滚条件,若并未触发,则可以根据下一个配置指令对配置数据进行更新;但是,若触发了回滚条件,则网络设备需要执行步骤306,对配置数据进行配置回滚。
网络设备在根据任意一个配置指令对配置数据进行更新后,需要判断更新后的配置数据是否触发了回滚条件,也即是确定配置指令是否触发了回滚条件,以便根据判断结果确定是否需要获取回滚数据。
具体地,网络设备可以先根据配置指令所指示的操作,确定配置数据进行更新所采用的方式,从而根据不同的配置方式选取不同的判断条件,最后根据配置指令更新后的配置数据是否会触发回滚条件,也即是确定该配置指令是否会触发回滚条件。
例如,当配置指令所指示的操作为添加、替换或者创建操作时,网络设备可以判断ACL(Access Control List,访问控制列表)模块中配置的两个完全相同的规则的标识是否不同,若不同则说明该配置后的配置数据会触发回滚条件;终端也可以判断ACL模块中强相关的属性列配置的取值是否冲突,若冲突也说明该配置后的配置数据会触发回滚条件;终端还可以判断配置的主板进入内存门限是否满足预设阈值,从而确定该配置后的配置数据会触发回滚条件。
进一步地,当配置指令所指示的操作为删除操作时,终端可以判断是否对属性列的参数值指定了某个具体值,若指定了某个具体值则可以确定该配置后的配置数据会触发回滚条件。
因此,网络设备在确定配置指令是否触发回滚条件后,可以根据判断结果执行不同的操作步骤:若配置指令并不会触发回滚条件,则可以根据其他配置指令对配置数据进行更新;但是,若配置指令会触发回滚条件,则可以执行步骤306至步骤308。
需要说明的是,若网络设备根据某个配置会话中的各个配置指令,对配置数据更新完毕后,仍未触发回滚条件,则网络设备可以删除与该配置会话中各个配置指令对应的回滚数据,避免网络设备存储冗余数据。
步骤306,若配置指令触发回滚条件,从配置会话对应的临时配置回滚数据库中获取回滚数据。
其中,该配置会话包括至少一个配置指令,该配置指令用于对配置数据进行更新。
若轻量级配置回滚功能开启、且配置指令触发回滚条件,可以确定网络设备需要对配置数据进行恢复。因此,网络设备需要从配置会话对应的配置回滚数据库中获取回滚数据,以便在后续步骤中仅针对该配置指令所属配置会话对应的配置数据进行恢复,避免对其他配置会话对应的配置数据造成影响。
需要说明的是,若网络设备无法根据步骤302中的功能标识确定轻量级配置回滚功能是否开启,则也可以从配置指令所属配置会话对应的临时配置回滚数据库中获取回滚数据。也即是,若配置指令触发回滚条件,网络设备可以从配置指令对应的临时配置回滚数据库中获取回滚数据。
由于本步骤306中获取回滚数据的过程,与步骤201中获取回滚数据的过程类似,在此不再赘述。
步骤307,对回滚数据进行头删除处理,得到回滚子数据。
步骤308,按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。
步骤307至步骤308的过程,与步骤202至步骤203的过程类似,在此不再赘述。
综上所述,本公开实施例提供的配置回滚方法,通过从配置会话对应的配置回滚数据库中获取回滚数据,并对回滚数据进行头删除处理,得到回滚子数据,最后按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。通过从不同配置会话对应的不同配置数据库中,获取与触发回滚条件的配置指令相对应的回滚数据,并根据获取的回滚数据对网络设备中的配置数据进行恢复,避免了对每个配置会话所配置的配置数据进行恢复的情况,减少了配置回滚所花费的时间,提高了配置网络设备的效率。
图4为本公开又一实施例提供的配置回滚方法的流程示意图,应用于如图1所示的网络设备中,该方法可以包括:
步骤401,判断配置会话与其他会话是否满***叉条件。
其中,该配置会话可以包括至少一个配置指令,该配置指令用于对配置数据进行更新。
由于多个用户在通过不同的会话对网络设备进行配置的过程中,有可能对网络设备的同一模块或者同一表项进行配置,多个用户也有可能对相互关联或者相互排斥的模块或者表项进行配置。若某个用户输入的配置会话触发了回滚条件,则网络设备在对配置的模块或者表项进行配置回滚的过程中,会对其他会话对应的配置数据产生影响。
因此,在网络设备获取回滚数据之前,需要判断触发回滚条件的配置指令所属的配置会话是否满***叉条件,若配置会话与其他会话满***叉条件,则可以执行步骤402,但是,若配置会话与其他会话不满***叉条件,则可以执行步骤404,从而可以根据判断结果,执行不同的操作,对网络设备进行配置回滚。
具体地,网络设备可以根据触发回滚条件的配置指令所属的配置会话,确定该配置会话需要配置的目标模块或者目标表项,再根据目标模块或者目标表项,查找其他会话中是否包括对目标模块或者目标表项进行配置的配置指令。同时,可以确定与目标模块或者目标表项相关联或者相排斥的间接目标模块或者间接目标表项,再查找其他会话中是否包括对间接目标模块或者间接目标表项进行配置的配置会话,从而得到判断结果。
若其他会话中包括对目标模块或者目标表项进行配置的配置会话,和/或,其他会话中包括对间接目标模块或者间接目标表项进行配置的配置会话,则说明该配置会话满***叉条件,需要对根据配置指令所属的配置会话和其他会话进行配置的配置数据进行恢复,可以执行步骤402;否则该配置会话不满***叉条件,仅需对根据配置指令所属的配置会话进行配置的配置数据进行恢复,无需对根据其他会话进行配置的配置数据进行恢复,可以执行步骤404。
例如,触发回滚条件的配置指令所属的配置会话需要对第一模块进行配置,而其他会话中的第一配置会话也对第一模块进行配置,则可以将第一模块作为目标模块。而且,第一模块与第二模块相关联,第一模块与第三模块相排斥,则可以将第二模块和第三模块作为间接目标模块,从而在其他会话中查找得到对第二模块和第三模块进行配置的配置会话。
步骤402,若配置会话与其他会话满***叉条件,存储其他会话所包括的配置指令。
若网络设备确定配置会话满***叉条件,则可以存储步骤401中确定的其他会话的配置指令,以便在后续步骤中,网络设备可以根据存储的其他会话的配置指令,再次对网络设备的配置数据进行配置更新,快速完成网络设备的再次配置。
例如,与步骤402的举例相对应的,配置会话与第一配置会话满***叉条件,则网络设备可以在与第一配置会话相对应的存储空间中,根据第一配置会话中各个配置指令的接收时间,按照逆向顺序,也即是从后向前的顺序存储各个配置指令,完成对第一配置会话中各个配置指令的存储。
步骤403,从配置会话对应的配置回滚数据库中获取回滚数据。
本步骤403中获取回滚数据的过程与步骤201中获取回滚数据的过程类似,在此不再赘述。
步骤404,若配置会话与其他会话不满***叉条件,从配置会话对应的临时配置回滚数据库中获取回滚数据。
其中,不存储其他会话所包括的配置指令。
由于配置指令所属的配置会话与其他会话不满***叉条件,也即是对该配置会话所配置的数据进行回滚的过程中,不会对其他会话配置的数据造成影响,则根据回滚数据对配置数据进行配置回滚后,无需按照其他会话中的配置指令再次对其他会话所配置的数据进行配置,也无需对其他会话所包括的配置指令进行存储。
而本步骤404获取回滚数据的过程与步骤201中获取回滚数据的过程类似,在此不再赘述。
步骤405,对回滚数据进行头删除处理,得到回滚子数据。
步骤406,按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。
由于步骤405至步骤406的过程,与步骤202至步骤203的过程类似,在此不再赘述。
步骤407,根据其他会话所包括的配置指令,对恢复后的配置数据进行更新。
在对配置数据进行恢复的过程中,对配置指令所属的配置会话对应配置数据进行恢复,该对应的配置数据不但可以通过配置指令所属的配置会话进行配置,还可以通过其他会话的配置指令进行配置,而其他会话的配置指令并未触发回滚条件,但是通过其他会话的配置指令进行配置的配置数据也进行了恢复。
因此,在对配置数据进行恢复后,网络设备可以根据步骤402中存储的配置指令,再次对配置数据进行配置,使得其他会话配置的配置数据恢复为配置回滚之前的状态。
具体地,网络设备可以根据预先存储的其他会话的多个配置指令,根据每个配置指令对应的接收时间,按照由前到后的顺序,根据各个配置指令对恢复后的配置数据进行更新,在根据每个配置指令对配置数据进行更新后,完成对恢复后的配置数据的更新。
综上所述,本公开实施例提供的配置回滚方法,通过在网络设备进行配置回滚之前,判断配置会话与其他会话是否满***叉条件,若满足则存储其他会话所包括的至少一个配置指令,从而在对配置数据进行配置回滚之后,可以再次根据存储的其他会话的配置指令,快速完成对配置数据的配置更新,提高了对网络设备进行配置的效率。
图5为本公开一实施例提供的配置回滚装置的示意图,如图5所示,该装置具体可以包括:
获取模块501,用于从配置会话对应的配置回滚数据库中获取回滚数据,该配置会话包括配置指令,该配置指令用于对配置数据进行更新,其中,该配置回滚数据库用于存储与该配置会话对应的可回滚数据;
处理模块502,用于对该回滚数据进行头删除处理,得到回滚子数据;
恢复模块503,用于按照该回滚子数据对应的配置指令所属的接收时间,根据该回滚子数据对该配置数据进行恢复。
本公开实施例提供的配置回滚装置,通过从配置会话对应的配置回滚数据库中获取回滚数据,并对回滚数据进行头删除处理,得到回滚子数据,最后按照回滚子数据对应的配置指令所属的接收时间,根据回滚子数据对配置数据进行恢复。通过从不同配置会话对应的不同配置数据库中,获取与触发回滚条件的配置指令相对应的回滚数据,并根据获取的回滚数据对网络设备中的配置数据进行恢复,避免了对每个配置会话所配置的配置数据进行恢复的情况,减少了配置回滚所花费的时间,提高了配置网络设备的效率。
可选的,参见图6,该装置还可以包括:
接收模块504,用于接收终端发送的配置会话,该配置会话是该终端根据用户触发的操作生成的;
第一更新模块505,用于根据该配置会话中的配置指令对该配置数据进行更新;
该获取模块501,具体用于若该配置指令触发回滚条件,从该配置会话对应的配置回滚数据库中获取该回滚数据。
可选的,该获取模块501,具体用于获取该配置指令中的功能标识,该功能标识用于指示轻量级配置回滚功能是否开启;若该功能标识指示该轻量级配置回滚功能开启,根据该配置指令生成该配置会话对应的回滚数据;将该回滚数据加入该配置会话对应的配置回滚数据库;从该配置会话对应的配置回滚数据库中获取该回滚数据。
可选的,该获取模块501,具体用于判断该配置会话与其他会话是否满***叉条件;若该配置会话与该其他会话满足该交叉条件,存储该其他会话所包括的配置指令;从该配置会话对应的配置回滚数据库中获取该回滚数据;或者,若该配置会话与该其他会话不满足该交叉条件,从该配置会话对应的配置回滚数据库中获取该回滚数据,其中,不存储该其他会话所包括的配置指令。
可选的,参见图7,该装置还可以包括:
第二更新模块506,用于根据该其他会话所包括的配置指令,对恢复后的配置数据进行更新。
上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。
以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上***(system-on-a-chip,简称SOC)的形式实现。
图8为本公开实施例提供的配置回滚装置的示意图,该装置可以集成于终端设备或者终端设备的芯片,该终端可以是具备图像处理功能的计算设备。
该装置包括:存储器801、处理器802。
存储器801用于存储程序,处理器802调用存储器801存储的程序,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。
可选地,本公开还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
在本公开所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本公开各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

Claims (6)

1.一种配置回滚方法,其特征在于,所述方法包括:
从配置会话对应的配置回滚数据库中获取回滚数据,所述配置会话包括配置指令,所述配置指令用于对配置数据进行更新,其中,所述配置回滚数据库用于存储与所述配置会话对应的可回滚数据;
对所述回滚数据进行头删除处理,得到回滚子数据;
按照所述回滚子数据对应的配置指令所属的接收时间,根据所述回滚子数据对所述配置数据进行恢复;
所述从配置会话对应的配置回滚数据库中获取回滚数据,包括:
预先设置回滚条件,若所述配置指令触发所述回滚条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据;
所述按照所述回滚子数据对应的配置指令所属的接收时间,根据所述回滚子数据对所述配置数据进行恢复,包括:
按照所述回滚子数据对应的配置指令所属的接收时间,按照所述接收时间的逆向顺序,对每个所述配置指令对应的所述回滚子数据进行排序,根据所述回滚子数据对所述配置数据进行恢复;
所述从配置会话对应的配置回滚数据库中获取回滚数据,包括:
判断所述配置会话与其他会话是否满***叉条件;
若所述配置会话与所述其他会话满足所述交叉条件,存储所述其他会话所包括的配置指令;
从所述配置会话对应的配置回滚数据库中获取所述回滚数据;
或者,若所述配置会话与所述其他会话不满足所述交叉条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据,其中,不存储所述其他会话所包括的配置指令;
所述根据所述回滚子数据对所述配置数据进行恢复之后,所述方法还包括:
根据所述其他会话所包括的配置指令,对恢复后的配置数据进行更新。
2.根据权利要求1所述的方法,其特征在于,所述从配置会话对应的配置回滚数据库中获取回滚数据之前,所述方法还包括:
接收终端发送的配置会话,所述配置会话是所述终端根据用户触发的操作生成的;
根据所述配置会话中的配置指令对所述配置数据进行更新;
所述从配置会话对应的配置回滚数据库中获取回滚数据,包括:
若所述配置指令触发回滚条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
3.根据权利要求2所述的方法,其特征在于,所述从配置会话对应的配置回滚数据库中获取回滚数据,包括:
获取所述配置指令中的功能标识,所述功能标识用于指示轻量级配置回滚功能是否开启;
若所述功能标识指示所述轻量级配置回滚功能开启,根据所述配置指令生成所述配置会话对应的回滚数据;
将所述回滚数据加入所述配置会话对应的配置回滚数据库;
从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
4.一种配置回滚装置,其特征在于,所述装置包括:
获取模块,用于从配置会话对应的配置回滚数据库中获取回滚数据,所述配置会话包括配置指令,所述配置指令用于对配置数据进行更新,其中,所述配置回滚数据库用于存储与所述配置会话对应的可回滚数据;
处理模块,用于对所述回滚数据进行头删除处理,得到回滚子数据;
恢复模块,用于按照所述回滚子数据对应的配置指令所属的接收时间,根据所述回滚子数据对所述配置数据进行恢复;
所述获取模块具体用于:预先设置回滚条件,若所述配置指令触发所述回滚条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据;
所述恢复模块具体用于:按照所述回滚子数据对应的配置指令所属的接收时间,按照所述接收时间的逆向顺序,对每个所述配置指令对应的所述回滚子数据进行排序,根据所述回滚子数据对所述配置数据进行恢复;
获取模块,具体用于判断所述配置会话与其他会话是否满***叉条件;若所述配置会话与所述其他会话满足所述交叉条件,存储所述其他会话所包括的配置指令;从所述配置会话对应的配置回滚数据库中获取所述回滚数据;或者,若所述配置会话与所述其他会话不满足所述交叉条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据,其中,不存储所述其他会话所包括的配置指令;
所述装置还包括第二更新模块;
所述第二更新模块,用于根据所述其他会话所包括的配置指令,对恢复后的配置数据进行更新。
5.根据权利要求4所述的装置,其特征在于,所述装置还包括:
接收模块,用于接收终端发送的配置会话,所述配置会话是所述终端根据用户触发的操作生成的;
第一更新模块,用于根据所述配置会话中的配置指令对所述配置数据进行更新;
所述获取模块,具体用于若所述配置指令触发回滚条件,从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
6.根据权利要求4所述的装置,其特征在于,所述获取模块,具体用于获取所述配置指令中的功能标识,所述功能标识用于指示轻量级配置回滚功能是否开启;若所述功能标识指示所述轻量级配置回滚功能开启,根据所述配置指令生成所述配置会话对应的回滚数据;将所述回滚数据加入所述配置会话对应的配置回滚数据库;从所述配置会话对应的配置回滚数据库中获取所述回滚数据。
CN201811454743.0A 2018-11-30 2018-11-30 配置回滚方法及装置 Active CN109361553B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811454743.0A CN109361553B (zh) 2018-11-30 2018-11-30 配置回滚方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811454743.0A CN109361553B (zh) 2018-11-30 2018-11-30 配置回滚方法及装置

Publications (2)

Publication Number Publication Date
CN109361553A CN109361553A (zh) 2019-02-19
CN109361553B true CN109361553B (zh) 2022-04-08

Family

ID=65330622

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811454743.0A Active CN109361553B (zh) 2018-11-30 2018-11-30 配置回滚方法及装置

Country Status (1)

Country Link
CN (1) CN109361553B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111817869B (zh) * 2019-04-12 2023-05-19 华为技术有限公司 一种网络配置恢复方法及其相关设备
CN110391949B (zh) * 2019-09-19 2019-12-13 华为技术有限公司 一种配置变更的方法及相关装置
CN116389262B (zh) * 2023-06-02 2023-08-18 新华三技术有限公司 一种配置回滚方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102111293A (zh) * 2010-12-23 2011-06-29 华为技术有限公司 配置事务的处理方法和装置
CN102420703A (zh) * 2011-11-29 2012-04-18 华为技术有限公司 一种配置回退的方法和设备
CN102521007A (zh) * 2011-11-30 2012-06-27 烽火通信科技股份有限公司 一种基于事务调度的网管***对象并发编辑的方法
CN102664746A (zh) * 2010-12-14 2012-09-12 微软公司 用于分布式数据中心各分量的在全局上健全且一致的配置管理
CN105703941A (zh) * 2015-12-31 2016-06-22 山石网科通信技术有限公司 配置事务的处理方法及装置
CN105939217A (zh) * 2016-03-23 2016-09-14 杭州迪普科技有限公司 配置回滚的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7974218B2 (en) * 2007-04-20 2011-07-05 Cisco Technology, Inc. Intersection-based configuration management
JP5471666B2 (ja) * 2010-03-19 2014-04-16 富士通株式会社 ネットワーク管理装置、ネットワーク管理方法及びネットワーク管理プログラム
US8549354B2 (en) * 2011-05-23 2013-10-01 International Business Machines Corporation Managing rollback in a transactional memory environment
CN103096353B (zh) * 2011-11-02 2018-02-16 中兴通讯股份有限公司 一种北向数据配置与自组织网络配置协调处理方法及***
US10938653B2 (en) * 2015-04-21 2021-03-02 Arista Networks, Inc. System and method of updating a network

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102664746A (zh) * 2010-12-14 2012-09-12 微软公司 用于分布式数据中心各分量的在全局上健全且一致的配置管理
CN102111293A (zh) * 2010-12-23 2011-06-29 华为技术有限公司 配置事务的处理方法和装置
CN102420703A (zh) * 2011-11-29 2012-04-18 华为技术有限公司 一种配置回退的方法和设备
CN102521007A (zh) * 2011-11-30 2012-06-27 烽火通信科技股份有限公司 一种基于事务调度的网管***对象并发编辑的方法
CN105703941A (zh) * 2015-12-31 2016-06-22 山石网科通信技术有限公司 配置事务的处理方法及装置
CN105939217A (zh) * 2016-03-23 2016-09-14 杭州迪普科技有限公司 配置回滚的方法及装置

Also Published As

Publication number Publication date
CN109361553A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
TWI740901B (zh) 執行資料恢復操作的方法及裝置
CN110389900B (zh) 一种分布式数据库集群测试方法、装置及存储介质
CN109361553B (zh) 配置回滚方法及装置
CN107832406B (zh) 海量日志数据的去重入库方法、装置、设备及存储介质
CN104346185B (zh) 应用对象属性更新方法、装置及应用平台
US11481440B2 (en) System and method for processing metadata to determine an object sequence
CN111984829A (zh) 一种基于vue的树异步加载方法、装置、设备和介质
CN109408711B (zh) 数据过滤方法、装置、电子设备及存储介质
CN111444181A (zh) 知识图谱更新方法、装置及电子设备
CN113568693A (zh) 表单渲染方法及表单渲染***
CN112115313A (zh) 正则表达式的生成、数据提取方法、装置、设备及介质
CN105719072B (zh) 关联多段组件交易的***及方法
CN104486448A (zh) 一种数据处理方法及装置
CN112597123B (zh) 数据多版本动态切换方法及装置
CN107679107B (zh) 一种基于图数据库的电网设备可达性查询方法及***
CN108664255B (zh) 一种软件升级方法及装置
CN111488195B (zh) 虚拟机克隆方法、装置、设备及计算机可读存储介质
CN113296760A (zh) 模型代码的生成方法、计算机设备及可读存储介质
CN112286733B (zh) 备份数据恢复时间确定方法、装置、设备及存储介质
CN110555158A (zh) 互斥数据处理方法及***、计算机可读存储介质
CN115168291A (zh) 层级目录实现方法、装置、电子设备及存储介质
CN106547756B (zh) 数据库的创建方法及装置
CN113448980A (zh) 用于生成sql语句的方法及装置、电子设备
US20170139969A1 (en) Method for filtering and analyzing big data, electronic device, and non-transitory computer-readable storage medium
CN115185921B (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