CN110391949A - 一种配置变更的方法及相关装置 - Google Patents
一种配置变更的方法及相关装置 Download PDFInfo
- Publication number
- CN110391949A CN110391949A CN201910888312.3A CN201910888312A CN110391949A CN 110391949 A CN110391949 A CN 110391949A CN 201910888312 A CN201910888312 A CN 201910888312A CN 110391949 A CN110391949 A CN 110391949A
- Authority
- CN
- China
- Prior art keywords
- configuration
- server
- patch
- information
- rollback
- 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.)
- Granted
Links
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/0803—Configuration setting
- H04L41/0813—Configuration setting characterised by the conditions triggering a change of settings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本申请实施例提供了一种配置变更的方法及相关装置,根据补丁信息以及配置变更构造回滚补丁报文,当客户端需要对服务器数据库进行配置变更时,服务器数据库可先接收来自服务器代理的配置信息,并通过比对接收到的配置信息和本地配置信息,从接收到的配置信息所指向的目标对象中,确定出需要进行配置变更的配置对象。然后,服务器数据库可根据配置对象在配置信息中对应的配置操作执行配置变更,再构造回滚补丁报文,由于该回滚补丁报文包含配置对象的相关信息,故服务器可基于该回滚补丁报文向客户端指示服务器数据库的配置变更情况,不再需保存所有目标对象变更前的数据,可节省服务器的存储空间,有效利用存储资源。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种配置变更的方法及相关装置。
背景技术
网络配置协议(network configuration protocol,NETCONF)是一种基于可扩展标记语言(extensive markup language, XML)的网络管理协议,它提供了对网络设备进行配置和管理的方法。
当需要对网络设备的配置进行变更操作时,可以通过NETCONF客户端向网络设备上的NETCONF服务器发送一个配置信息,NETCONF服务器内的数据库可根据该配置信息对各个目标对象进行配置变更,执行完变更后NETCONF服务器通常会将通知NETCONF客户端配置变更完成。NETCONF客户端为了确定目标对象的配置变更情况,通常需要先后从NETCONF服务器中获取变更前所有目标对象的配置数据和变更后所有目标对象的配置数据,然后将两种配置数据进行比对,进而确定NETCONF服务器中哪些目标对象的配置发生了变化。
上述配置变更的过程中,为了令NETCONF客户端可以获取目标对象的配置变更情况,NETCONF服务器的数据库需要在完成配置变更操作后,同时存储变更前的配置数据和变更后的配置数据,占用了较大的存储空间。
发明内容
本申请实施例提供了一种配置变更的方法, 可节省服务器的存储空间,有效利用存储资源。
本申请实施例第一方面提供了一种配置变更的方法,包括:
当客户端需对服务器进行配置变更时,可向服务器下发一个配置请求。服务器代理接收到该配置请求后,可基于配置请求生成配置信息,并将配置信息发送至服务器数据库以进行配置变更,其中,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息。
服务器数据库内存有目标对象的本地配置信息,服务器数据库可以根据接收的配置信息以及本地配置信息,从目标对象中确定出需要进行配置变更的配置对象。
由于配置信息中的补丁信息指示了需要获取回滚补丁报文,故服务器数据库确定配置对象后,可根据配置对象在配置信息中对应的配置操作执行配置变更,并基于配置变更的过程构造回滚补丁报文,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据。
服务器数据库将回滚补丁报文发送给服务器代理。服务器代理获取回滚补丁报文后,可以基于回滚补丁报文向客户端通知服务器数据库的配置变更情况。
从上述配置变更的方法中,可以看出:服务器数据库所构造的回滚补丁报文所包含了对配置对象所执行的配置操作的逆操作和配置对象的旧数据,因此,服务器基于该回滚补丁报文可以确定哪一部分目标对象(即配置对象)执行了配置变更,即服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
在第一方面的一种可能的实施方式中,服务器数据库根据配置对象在配置信息中对应的配置操作执行配置变更之前,还包括:
服务器数据库保存配置对象的旧数据;
根据补丁信息以及配置变更构造回滚补丁报文,包括:
服务器数据库根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
服务器数据库根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文。
在上述实施方式中,服务器数据库可在执行配置变更前预先保存配置对象的旧数据,并在执行配置变更后,根据保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作构造回滚补丁报文,提高了方案的灵活度和可选择性。
在第一方面的一种可能的实施方式中,服务器数据库根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文之后,服务器数据库将回滚补丁报文发送给服务器代理之前,还包括:
服务器数据库删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作。
上述实施方式中,服务器数据库在构造回滚补丁报文后,可删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作,能够有效节省服务器数据库的存储空间。
在第一方面的一种可能的实施方式中,服务器数据库将回滚补丁报文发送给服务器代理之后,还包括:
服务器数据库接收来自服务器代理的回滚请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作;
服务器数据库根据配置对象在回滚请求中对应的逆操作执行配置回滚。
上述实施方式中,在服务器数据库向服务器代理发送回滚补丁报文后,当服务器数据库接收到来自服务器代理的回滚请求时,可基于回滚请求对配置对象进行配置回滚,在本方案可实现配置变更的基础上,还能进一步实现配置回滚的功能。
在第一方面的一种可能的实施方式中,回滚补丁报文采用树形结构,其中,所有配置对象的旧数据,以及对所有配置对象执行的配置操作的逆操作以树形结构呈现。
上述实施方式中,回滚补丁报文可采用树形结构的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
在第一方面的一种可能的实施方式中,回滚补丁报文采用条目记录,其中,一个条目包括一个配置对象的旧数据,以及对一个配置对象执行的配置操作的逆操作或一个条目包括对一个配置对象执行的配置操作的逆操作。
上述实施方式中,回滚补丁报文可采用条目记录的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
本申请实施例第二方面提供了一种配置变更的方法,包括:
当客户端需要对服务器进行配置变更时,服务器代理可先接收来自客户端的配置请求,并根据配置请求所包含的信息生成配置信息发送给服务器数据库,其中,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息。
在服务器数据库基于配置信息进行配置变更操作后,服务器代理可接收来自服务器数据库的回滚补丁报文,其中,回滚补丁报文为服务器数据库根据配置信息对目标对象中需要进行配置变更的配置对象进行配置变更后构造的,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据。
服务器代理可基于该回滚补丁报文,向客户端通知服务器数据库的配置变更情况。
从上述配置变更的方法中,可以看出:服务器数据库对配置对象执行配置变更后,可构造回滚补丁报文并发送至服务器代理,由于该回滚补丁报文包含了对配置对象所执行的配置操作的逆操作和配置对象的旧数据,因此,服务器基于该回滚补丁报文可以确定哪一部分目标对象(即配置对象)执行了配置变更,即服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
在第二方面的一种可能的实施方式中,服务器代理接收来自服务器数据库的回滚补丁报文之后,还包括:
服务器代理对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作。
在第二方面的一种可能的实施方式中,服务器代理对回滚补丁报文进行逆解析,得到配置变更信息之后,还包括:
服务器代理将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用。在第二方面的一种可能的实施方式中,服务器代理将配置变更信息发送至目标应用之后,还包括:
服务器代理接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受对配置对象执行的配置操作。
上述实施方式中,服务器代理在接收到回滚补丁报文后,可对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作,用以通知目标应用关于服务器数据库的配置变更情况,当目标应用接受服务器数据库的配置变更情况时,则可向服务器代理返回第一应答信息,能够使服务器代理根据目标应用的应答信息作出相应的后续操作,以提高方案的灵活度。
在第二方面的一种可能的实施方式中,若配置请求包括用于指示需要获取回滚补丁报文的补丁信息,则服务器代理接收来自目标应用的第一应答信息之后,还包括:
服务器代理将回滚补丁报文发送至客户端。
上述实施方式中,在客户端向服务器代理下发的配置请求中,包含了用于指示需要获取回滚补丁报文的补丁信息,由于服务器代理已经具有服务器数据库返回的回滚补丁报文,则可直接将该回滚补丁报文发送至客户端。服务器通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第二方面的一种可能的实施方式中,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则服务器代理接收来自目标应用的第一应答信息之后,还包括:
服务器代理根据对配置对象执行的配置操作构造变更补丁报文;
服务器代理将变更补丁报文发送至客户端。
上述实施方式中,在客户端向服务器代理下发的配置请求中,包含了用于指示需要获取变更补丁报文的补丁信息,故服务器代理可根据对配置对象执行的配置操作构造变更补丁报文,并发送至客户端。服务器通过变更补丁报文可直接通知客户端关于服务器数据库的配置变更情况,因此,客户端不需再获取并比对变更前后的配置数据从而得到服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第二方面的一种可能的实施方式中,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则服务器代理接收来自目标应用的第一应答信息之后,还包括:
服务器代理获取配置对象的新数据,并根据对配置对象执行的配置操作和配置对象的新数据构造再配置补丁报文;
服务器代理将再配置补丁报文发送至客户端。
上述实施方式中,在客户端向服务器代理下发的配置请求中,包含了用于指示需要获取再配置补丁报文的补丁信息,故服务器代理可根据配置对象的新数据和对配置对象执行的配置操作构造再配置补丁报文,并发送至客户端。服务器通过再配置补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
在第二方面的一种可能的实施方式中,服务器代理将配置变更信息发送至目标应用之后,还包括:
服务器代理接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象执行的配置操作;
服务器代理根据回滚补丁报文所包括的配置对象的旧数据和对配置对象执行的配置操作的逆操作构造回滚请求;
服务器代理将回滚请求发送至服务器数据库;
服务器代理将第二应答信息发送至客户端。
上述实施方式中,当服务器确定配置变更操作失败时,服务器可自主完成配置回滚,不需要等待客户端下发回滚请求,可节省配置回滚所消耗的时间,能够提高配置回滚的效率。
在第二方面的一种可能的实施方式中,服务器代理将回滚补丁报文发送至客户端之后还包括:
服务器代理接收来自客户端的回滚请求,回滚请求为基于回滚补丁报文所生成的请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作;
服务器代理将回滚请求发送至服务器数据库。
上述实施方式中,若与本服务器相关联的服务器出现配置变更操作失败的情况,客户端还可以通过该回滚补丁报文对本服务器进行配置回滚,客户端基于该回滚补丁报文所生成的回滚请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
本申请实施例第三方面提供了一种配置变更的方法,包括:
当客户端需对服务器进行配置变更时,服务器可先接收来自客户端的配置请求,并根据配置请求生成配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
服务器内存有目标对象的本地配置信息,服务器根据配置信息以及本地配置信息,从目标对象中确定出需要进行配置变更的配置对象;
由于配置信息中的补丁信息指示了需要获取回滚补丁报文,故服务器确定配置对象后,可根据配置对象在配置信息中对应的配置操作执行配置变更,并基于配置变更的过程构造回滚补丁报文,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据。
服务器可以基于回滚补丁报文向客户端通知服务器数据库的配置变更情况。
从上述配置变更的方法中,可以看出:服务器所构造的回滚补丁报文所包含了对配置对象所执行的配置操作的逆操作和配置对象的旧数据,因此,服务器基于该回滚补丁报文可以确定哪一部分目标对象(即配置对象)执行了配置变更,即服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
在第三方面的一种可能的实施方式中,服务器根据配置对象在配置信息中对应的配置操作执行配置变更之前,还包括:
服务器保存配置对象的旧数据;
根据补丁信息以及配置变更构造回滚补丁报文,包括:
服务器根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
服务器根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文。
在上述实施方式中,服务器可在执行配置变更前预先保存配置对象的旧数据,并在执行配置变更后,根据保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作构造回滚补丁报文,提高了方案的灵活度和可选择性。
在第三方面的一种可能的实施方式中,服务器根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文之后,还包括:
服务器删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作。
上述实施方式中,服务器在构造回滚补丁报文后,可删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作,能够有效节省服务器的存储空间。
在第三方面的一种可能的实施方式中,服务器根据配置对象在配置信息中对应的配置操作执行配置变更,并根据补丁信息以及配置变更构造回滚补丁报文之后,还包括:
服务器对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作。
在第三方面的一种可能的实施方式中,服务器对回滚补丁报文进行逆解析,得到配置变更信息之后,还包括:
服务器将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用。
在第三方面的一种可能的实施方式中,服务器将配置变更信息发送至目标应用之后,还包括:
服务器接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受对配置对象执行的配置操作。
上述实施方式中,服务器在接收到回滚补丁报文后,可对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作,用以通知目标应用关于服务器数据库的配置变更情况,当目标应用接受服务器数据库的配置变更情况时,则可向服务器返回第一应答信息,能够使服务器根据目标应用的应答信息作出相应的后续操作,以提高方案的灵活度。
在第三方面的一种可能的实施方式中,若配置请求包括用于指示需要获取回滚补丁报文的补丁信息,则服务器接收来自目标应用的第一应答信息之后,还包括:
服务器将回滚补丁报文发送至客户端。
上述实施方式中,在客户端向服务器下发的配置请求中,包含了用于指示需要获取回滚补丁报文的补丁信息,由于服务器已经具有服务器数据库返回的回滚补丁报文,则可直接将该回滚补丁报文发送至客户端。服务器通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第三方面的一种可能的实施方式中,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则服务器接收来自目标应用的第一应答信息之后,还包括:
服务器根据对配置对象执行的配置操作构造变更补丁报文;
服务器将变更补丁报文发送至客户端。
上述实施方式中,在客户端向服务器下发的配置请求中,包含了用于指示需要获取变更补丁报文的补丁信息,故服务器可根据对配置对象执行的配置操作构造变更补丁报文,并发送至客户端。服务器通过变更补丁报文可直接通知客户端关于服务器数据库的配置变更情况,因此,客户端不需再获取并比对变更前后的配置数据从而得到服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第三方面的一种可能的实施方式中,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则服务器接收来自目标应用的第一应答信息之后,还包括:
服务器获取配置对象的新数据,并根据对配置对象执行的配置操作和配置对象的新数据构造再配置补丁报文;
服务器将再配置补丁报文发送至客户端。
上述实施方式中,在客户端向服务器下发的配置请求中,包含了用于指示需要获取再配置补丁报文的补丁信息,故服务器可根据对配置对象执行的配置操作构造再配置补丁报文,并发送至客户端。服务器通过再配置补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第三方面的一种可能的实施方式中,服务器将配置变更信息发送至目标应用之后,还包括:
服务器接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象执行的配置操作;
服务器根据回滚补丁报文所包括的配置对象的旧数据和对配置对象执行的配置操作的逆操作构造回滚请求;
服务器根据配置对象在回滚请求中对应的逆操作执行配置回滚;
服务器代理将第二应答信息发送至客户端。
上述实施方式中,当服务器确定配置变更操作失败时,服务器可自主完成配置回滚,不需要等待客户端下发回滚请求,可节省配置回滚所消耗的时间,能够提高配置回滚的效率。
在第三方面的一种可能的实施方式中,服务器将回滚补丁报文发送至客户端之后还包括:
服务器接收来自客户端的回滚请求,回滚请求为基于回滚补丁报文所生成的请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作;
服务器根据配置对象在回滚请求中对应的逆操作执行配置回滚。
上述实施方式中,若与本服务器相关联的服务器出现配置变更操作失败的情况,客户端还可以通过该回滚补丁报文对本服务器进行配置回滚,客户端基于该回滚补丁报文所生成的回滚请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
在第三方面的一种可能的实施方式中,再配置补丁报文用于指示客户端对其余服务器进行配置变更。
上述实施方式中,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
本申请实施例第四方面提供了一种配置变更的方法,包括:
服务器数据库接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取再配置补丁报文的补丁信息;
服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
服务器数据库保存配置对象在配置信息中对应的配置操作和配置对象的新数据,并根据保存的配置对象对应的配置操作和配置对象的新数据构造再配置补丁报文;
服务器数据库将再配置补丁报文发送给服务器代理;
服务器数据库接收来自服务器代理的变更请求,变更请求用于指示服务器数据库执行配置变更;
服务器数据库根据保存的配置对象对应的配置操作执行配置变更。
从上述配置变更的方法中,可以看出:服务器数据库所构造的再配置补丁报文所包含了配置对象所对应的配置操作和配置对象的新数据,因此,服务器基于该再配置补丁报文可以确定服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
在第四方面的一种可能的实施方式中,服务器数据库将再配置补丁报文发送给服务器代理之后,还包括:
服务器数据库接收来自服务器代理的删除请求;
服务器数据库根据删除请求删除保存的配置对象对应的配置操作和配置对象的新数据。
上述实施方式中,在服务器数据库向服务器代理发送再配置补丁报文后,若接收到来自服务器代理的删除请求,则删除保存的配置对象对应的配置操作和配置对象的新数据。当目标应用不接受服务器数据库即将发生的配置变更情况时,服务器代理可通知服务器数据库拒绝进行配置变更,即删除保存的配置对象对应的配置操作和配置对象的新数据,不执行配置变更,使得服务器数据库维持原始状态。
在第四方面的一种可能的实施方式中,再配置补丁报文采用树形结构,其中,所有配置对象的新数据,以及所有配置对象对应的配置操作以树形结构呈现。
上述实施方式中,再配置补丁报文可采用树形结构的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
在第四方面的一种可能的实施方式中,再配置补丁报文采用条目记录,其中,一个条目包括一个配置对象的新数据,以及一个配置对象对应的配置操作或一个条目包括对一个配置对象执行的配置操作。
上述实施方式中,再配置补丁报文可采用条目记录的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
本申请实施例第五方面提供了一种配置变更的方法,包括:
服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取再配置补丁报文的补丁信息;
服务器代理接收来自服务器数据库的再配置补丁报文,再配置补丁报文为服务器数据库根据配置信息从目标对象中确定需要进行配置变更的配置对象后构造的,再配置补丁报文包括配置对象在配置信息中对应的配置操作和配置对象的新数据;
服务器代理从再配置补丁报文中获取配置变更信息,配置变更信息包括配置对象对应的配置操作;
服务器代理将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用;
若服务器代理接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受配置对象对应的配置操作;
服务器代理发送变更请求至服务器数据库,变更请求用于指示服务器数据库执行配置变更。
从上述配置变更的方法中,可以看出:服务器数据库进行配置变更前,可构造再配置补丁报文并发送至服务器代理,由于该再配置补丁报文所包含了配置对象所对应的配置操作和配置对象的新数据,因此,服务器基于该再配置补丁报文可以确定服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
在第五方面的一种可能的实施方式中,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则服务器代理接收来自目标应用的第一应答信息之后,还包括:
服务器代理将再配置补丁报文发送至客户端。
上述实施方式中,在客户端向服务器代理下发的配置请求中,包含了用于指示需要获取再配置补丁报文的补丁信息,由于服务器代理已经具有服务器数据库返回的再配置补丁报文,则可直接将该再配置补丁报文发送至客户端。服务器通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
在第五方面的一种可能的实施方式中,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则服务器代理接收来自目标应用的第一应答信息之后,还包括:
服务器代理根据配置对象对应的配置操作构造变更补丁报文;
服务器代理将变更补丁报文发送至客户端。
上述实施方式中,上述实施方式中,在客户端向服务器代理下发的配置请求中,包含了用于指示需要获取变更补丁报文的补丁信息,故服务器代理可根据对配置对象执行的配置操作构造变更补丁报文,并发送至客户端。服务器通过变更补丁报文可直接通知客户端关于服务器数据库的配置变更情况,因此,客户端不需再获取并比对变更前后的配置数据从而得到服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第五方面的一种可能的实施方式中,服务器代理将配置变更信息发送至目标应用之后,还包括:
若服务器代理接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作;
服务器代理发送删除请求至服务器数据库,删除请求用于指示服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据;
服务器代理将第二应答信息发送至客户端。
上述实施方式中,当服务器确定目标应用不接受配置数据集即将发生的配置变更情况后,服务器可自主拒绝执行配置变更操作,维持配置数据集的原始状态,提高了方案的灵活度。
本申请第六方面提供了一种配置变更的方法,包括:
服务器接收来自客户端的配置请求,并根据配置请求生成配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取再配置补丁报文的补丁信息;
服务器根据配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
服务器保存配置对象在配置信息中对应的配置操作和配置对象的新数据,并根据保存的配置对象对应的配置操作和配置对象的新数据构造再配置补丁报文;
服务器从再配置补丁报文中获取配置变更信息,配置变更信息包括配置对象对应的配置操作;
服务器将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用;
若服务器接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受配置对象对应的配置操作;
服务器根据保存的配置对象对应的配置操作执行配置变更。
从上述配置变更的方法中,可以看出:服务器所构造的再配置补丁报文所包含了配置对象所对应的配置操作和配置对象的新数据,因此,服务器基于该再配置补丁报文可以确定服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
在第六方面的一种可能的实施方式中,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则服务器接收来自目标应用的第一应答信息之后,还包括:
服务器将再配置补丁报文发送至客户端。
上述实施方式中,在客户端向服务器下发的配置请求中,包含了用于指示需要获取再配置补丁报文的补丁信息,由于服务器已经具有服务器数据库返回的再配置补丁报文,则可直接将该再配置补丁报文发送至客户端。服务器通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第六方面的一种可能的实施方式中,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则服务器接收来自目标应用的第一应答信息之后,还包括:
服务器根据配置对象对应的配置操作构造变更补丁报文;
服务器将变更补丁报文发送至客户端。
上述实施方式中,上述实施方式中,在客户端向服务器下发的配置请求中,包含了用于指示需要获取变更补丁报文的补丁信息,故服务器可根据对配置对象执行的配置操作构造变更补丁报文,并发送至客户端。服务器通过变更补丁报文可直接通知客户端关于服务器数据库的配置变更情况,因此,客户端不需再获取并比对变更前后的配置数据从而得到服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
在第六方面的一种可能的实施方式中,服务器将配置变更信息发送至目标应用之后,还包括:
若服务器接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作;
服务器删除保存的配置对象对应的配置操作和配置对象的新数据;
服务器将第二应答信息发送至客户端。
上述实施方式中,当服务器确定目标应用不接受配置数据集即将发生的配置变更情况后,服务器可自主拒绝执行配置变更操作,维持配置数据集的原始状态,提高了方案的灵活度。
在第六方面的一种可能的实施方式中,再配置补丁报文用于指示客户端对其余服务器进行配置变更。
上述实施方式中,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
本申请实施例第七方面还提供了一种配置变更的方法,包括:
服务器数据库接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
服务器数据库保存配置对象的新数据、配置对象在配置信息中对应的配置操作、配置对象的旧数据以及配置对象在配置信息中对应的配置操作的逆操作;
服务器数据库根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文;
服务器数据库将回滚补丁报文发送至服务器代理;
服务器数据库接收来自服务器代理的变更请求,变更请求用于指示服务器数据库执行配置变更;
服务器数据库根据保存的配置对象对应的配置操作执行配置变更。
在第七方面的一种可能的实施方式中,服务器数据库根据保存的配置对象对应的配置操作执行配置变更之后,还包括:
服务器数据库根据保存的配置对象的新数据和配置对象对应的配置操作构造再配置补丁报文;
服务器数据删除保存的配置对象的新数据和配置对象对应的配置操作;
服务器数据库将再配置补丁报文发送服务器代理。
上述实现方式中,服务器数据库所构造的再配置补丁报文所包含了配置对象所对应的配置操作和配置对象的新数据,因此,服务器基于该再配置补丁报文可以确定服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
在第七方面的一种可能的实施方式中,服务器数据库根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文之后,服务器数据库将回滚补丁报文发送至服务器代理之前,还包括:
服务器数据库删除保存的配置对象的旧数据和配置对象对应的配置操作的逆操作。
上述实施方式中,服务器数据库在构造回滚补丁报文后,可删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作,能够有效节省服务器数据库的存储空间。
在第七方面的一种可能的实施方式中,服务器数据库将回滚补丁报文发送至服务器代理之后,还包括:
服务器数据库接收来自服务器代理的删除请求;
服务器数据库根据删除请求删除保存的配置对象对应的配置操作和配置对象的新数据。
上述实施方式中,在服务器数据库向服务器代理发送再配置补丁报文后,若接收到来自服务器代理的删除请求,则删除保存的配置对象对应的配置操作和配置对象的新数据。当目标应用不接受服务器数据库即将发生的配置变更情况时,服务器代理可通知服务器数据库拒绝进行配置变更,即删除保存的配置对象对应的配置操作和配置对象的新数据,不执行配置变更,使得服务器数据库维持原始状态。
在第七方面的一种可能的实施方式中,回滚补丁报文采用树形结构,其中,所有配置对象的旧数据,以及所有配置对象对应的配置操作的逆操作以树形结构呈现。
上述实施方式中,回滚补丁报文可采用树形结构的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
在第七方面的一种可能的实施方式中,回滚补丁报文采用条目记录,其中,一个条目包括一个配置对象的旧数据,以及一个配置对象对应的配置操作的逆操作或一个条目包括一个配置对象对应的配置操作的逆操作。
上述实施方式中,回滚补丁报文可采用条目记录的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
在第七方面的一种可能的实施方式中,再配置补丁报文采用树形结构,其中,所有配置对象的新数据,以及所有配置对象对应的配置操作以树形结构呈现。
上述实施方式中,再配置补丁报文可采用树形结构的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
在第七方面的一种可能的实施方式中,再配置补丁报文采用条目记录,其中,一个条目包括一个配置对象的新数据,以及一个配置对象对应的配置操作或一个条目包括一个配置对象对应的配置操作。
上述实施方式中,再配置补丁报文可采用条目记录的方式存储配置对象的相关信息,提高了方案的灵活度和可选择性。
本申请实施例第八方面提供了一种配置变更的方法,包括:
服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
服务器代理接收来自服务器数据库的回滚补丁报文,回滚补丁报文为服务器数据库根据配置信息从目标对象中确定需要进行配置变更的配置对象后构造的,回滚补丁报文包括配置对象在配置信息中对应的配置操作的逆操作和配置对象的旧数据;
服务器代理对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作;
服务器代理将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用;
若服务器代理接收来自目标业务的第一应答信息,第一应答信息用于指示目标业务接受配置对象对应的配置操作;
服务器代理发送变更请求至服务器数据库,变更请求用于指示服务器数据库执行配置变更。
在第八方面的一种可能的实施方式中,配置请求包括用于指示需要获取再配置补丁报文的补丁信息,服务器代理发送变更请求至服务器数据库之后,还包括:服务器代理接收来自服务器数据库的再配置补丁报文,再配置补丁报文包括配置对象的新数据和配置对象在配置信息中对应的配置操作;
服务器代理发送再配置补丁报文至客户端。
上述实现方式中,服务器数据库所构造的再配置补丁报文所包含了配置对象所对应的配置操作和配置对象的新数据,因此,服务器基于该再配置补丁报文可以确定服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
在第八方面的一种可能的实施方式中,服务器代理将配置变更信息发送至目标应用之后,还包括:
若服务器代理接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作;
服务器代理发送删除请求至服务器数据库,删除请求用于指示服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据;
服务器代理将第二应答信息发送至客户端。
上述实现方式中,当服务器确定目标应用不接受配置数据集即将发生的配置变更情况后,服务器可自主拒绝执行配置变更操作,维持配置数据集的原始状态,提高了方案的灵活度。
本申请第九方面提供了一种配置变更的方法,包括:
服务器接收来自客户端的配置请求,并根据配置请求生成配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
服务器根据配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
服务器保存配置对象的新数据、配置对象在配置信息中对应的配置操作、配置对象的旧数据以及配置对象在配置信息中对应的配置操作的逆操作;
服务器根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文;
服务器对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作;
服务器将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用;
若服务器接收来自目标业务的第一应答信息,第一应答信息用于指示目标业务接受配置对象对应的配置操作;
服务器根据保存的配置对象对应的配置操作执行配置变更。
在第九方面的一种可能的实施方式中,配置请求包括用于指示需要获取再配置补丁报文的补丁信息,服务器根据保存的配置对象对应的配置操作执行配置变更之后,还包括:
服务器根据保存的配置对象的新数据和配置对象在配置信息中对应的配置操作构造再配置补丁报文。
服务器发送再配置补丁报文至客户端。
上述实现方式中,服务器所构造的再配置补丁报文所包含了配置对象所对应的配置操作和配置对象的新数据,因此,服务器基于该再配置补丁报文可以确定服务器数据库的配置变更情况,不需要存储所有目标节点变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
在第九方面的一种可能的实施方式中,服务器根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文之后,还包括:
服务器删除保存的配置对象的旧数据和配置对象对应的配置操作的逆操作。
上述实施方式中,服务器在构造回滚补丁报文后,可删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作,能够有效节省服务器数据库的存储空间。
在第九方面的一种可能的实施方式中,服务器将配置变更信息发送至目标应用之后,还包括:
若服务器接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作;
服务器删除保存的配置对象对应的配置操作和配置对象的新数据;
服务器将第二应答信息发送至客户端。
上述实现方式中,当服务器确定目标应用不接受配置数据集即将发生的配置变更情况后,服务器可自主拒绝执行配置变更操作,维持配置数据集的原始状态,提高了方案的灵活度。
本申请第十方面提供了一种服务器数据库,包括:
接收模块,用于接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
处理模块,用于根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
处理模块,还用于根据配置对象在配置信息中对应的配置操作执行配置变更,并根据补丁信息以及配置变更构造回滚补丁报文,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据;
发送模块,用于将回滚补丁报文发送给服务器代理。
在第十方面的一种可能的实施方式中,处理模块还用于:
保存配置对象的旧数据;
根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文。
在第十方面的一种可能的实施方式中,处理模块,还用于删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作。
在第十方面的一种可能的实施方式中,接收模块,还用于接收来自服务器代理的回滚请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作;
处理模块,还用于根据配置对象在回滚请求中对应的逆操作执行配置回滚。
在第十方面的一种可能的实施方式中,回滚补丁报文采用树形结构,其中,所有配置对象的旧数据,以及对所有配置对象执行的配置操作的逆操作以树形结构呈现。
在第十方面的一种可能的实施方式中,回滚补丁报文采用条目记录,其中,一个条目包括一个配置对象的旧数据,以及对一个配置对象执行的配置操作的逆操作或一个条目包括对一个配置对象执行的配置操作的逆操作。
本申请实施例第十一方面提供了一种服务器代理,包括:
第一接收模块,用于接收来自客户端的配置请求;
处理模块,用于根据配置请求生成配置信息;
发送模块,用于将配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
第二接收模块,用于接收来自服务器数据库的回滚补丁报文,回滚补丁报文为服务器数据库根据配置信息对目标对象中需要进行配置变更的配置对象进行配置变更后构造的,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据。
在第十一方面的一种可能的实施方式中,处理模块,还用于对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作。
在第十一方面的一种可能的实施方式中,发送模块,还用于将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用。
在第十一方面的一种可能的实施方式中,第二接收模块,还用于接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受对配置对象执行的配置操作。
在第十一方面的一种可能的实施方式中,若配置请求包括用于指示需要获取回滚补丁报文的补丁信息,则发送模块,还用于将回滚补丁报文发送至客户端。
在第十一方面的一种可能的实施方式中,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则处理模块,还用于根据对配置对象执行的配置操作构造变更补丁报文;
发送模块,还用于将变更补丁报文发送至客户端。
在第十一方面的一种可能的实施方式中,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则处理模块,还用于获取配置对象的新数据,并根据对配置对象执行的配置操作和配置对象的新数据构造再配置补丁报文;
发送模块,还用于将再配置补丁报文发送至客户端。
在第十一方面的一种可能的实施方式中,第二接收模块,还用于接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象执行的配置操作;
处理模块,还用于根据回滚补丁报文所包括的配置对象的旧数据和对配置对象执行的配置操作的逆操作构造回滚请求;
发送模块,还用于将回滚请求发送至服务器数据库;
发送模块,还用于将第二应答信息发送至客户端。
在第十一方面的一种可能的实施方式中,第一接收模块,还用于接收来自客户端的回滚请求,回滚请求为基于回滚补丁报文所生成的请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作;
发送模块,还用于将回滚请求发送至服务器数据库。
本申请实施例第十二方面还提供了一种服务器,包括如第十方面所述的服务器数据库和如第十一方面所述的服务器代理。
本申请实施例第十三方面提供了一种服务器数据库,包括:
接收模块,用于接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取再配置补丁报文的补丁信息;
处理模块,用于根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
处理模块,还用于保存配置对象在配置信息中对应的配置操作和配置对象的新数据,并根据保存的配置对象对应的配置操作和配置对象的新数据构造再配置补丁报文;
发送模块,用于将再配置补丁报文发送给服务器代理;
接收模块,还用于接收来自服务器代理的变更请求,变更请求用于指示服务器数据库执行配置变更;
处理模块,还用于根据保存的配置对象对应的配置操作执行配置变更。
在第十三方面的一种可能的实施方式中,接收模块,还用于接收来自服务器代理的删除请求;
处理模块,还用于根据删除请求删除保存的配置对象对应的配置操作和配置对象的新数据。
在第十三方面的一种可能的实施方式中,再配置补丁报文采用树形结构,其中,所有配置对象的新数据,以及所有配置对象对应的配置操作以树形结构呈现。
在第十三方面的一种可能的实施方式中,再配置补丁报文采用条目记录,其中,一个条目包括一个配置对象的新数据,以及一个配置对象对应的配置操作或一个条目包括对一个配置对象执行的配置操作。
本申请实施例第十四方面提供了一种服务器代理,包括:
第一接收模块,用于接收来自客户端的配置请求;
处理模块,用于根据配置请求生成配置信息;
发送模块,用于将配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取再配置补丁报文的补丁信息;
第二接收模块,用于接收来自服务器数据库的再配置补丁报文,再配置补丁报文为服务器数据库根据配置信息从目标对象中确定需要进行配置变更的配置对象后构造的,再配置补丁报文包括配置对象在配置信息中对应的配置操作和配置对象的新数据;
处理模块,还用于从再配置补丁报文中获取配置变更信息,配置变更信息包括配置对象对应的配置操作;
发送模块,还用于将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用;
第二接收模块,还用于若接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受配置对象对应的配置操作;
发送模块,还用于发送变更请求至服务器数据库,变更请求用于指示服务器数据库执行配置变更。
在第十四方面的一种可能的实施方式中,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则发送模块,还用于将再配置补丁报文发送至客户端。
在第十四方面的一种可能的实施方式中,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则处理模块,还用于根据配置对象对应的配置操作构造变更补丁报文;
发送模块,还用于将变更补丁报文发送至客户端。
在第十四方面的一种可能的实施方式中,第二接收模块,还用于若接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作;
发送模块,还用于发送删除请求至服务器数据库,删除请求用于指示服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据;
发送模块,还用于将第二应答信息发送至客户端。
本申请实施例第十五方面还提供了一种服务器,包括如第十三方面所述的服务器数据库和如第十四方面所述的服务器代理。
从再配置补丁报文中获取配置变更信息,配置变更信息包括配置对象对应的配置操作将配置变更信息发送至目标应用本申请实施例第十六方面提供了一种服务器数据库,包括:
接收模块,用于接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
处理模块,用于根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
处理模块,还用于保存配置对象的新数据、配置对象在配置信息中对应的配置操作、配置对象的旧数据以及配置对象在配置信息中对应的配置操作的逆操作;
处理模块,还用于根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文;
发送模块,用于将回滚补丁报文发送至服务器代理;
接收模块,还用于接收来自服务器代理的变更请求,变更请求用于指示服务器数据库执行配置变更;
处理模块,还用于根据保存的配置对象对应的配置操作执行配置变更。
在第十六方面的一种可能的实施方式中,处理模块,还用于根据保存的配置对象的新数据和配置对象对应的配置操作构造再配置补丁报文;
处理模块,还用于删除保存的配置对象的新数据和配置对象对应的配置操作;
发送模块,还用于将再配置补丁报文发送服务器代理。
在第十六方面的一种可能的实施方式中,处理模块,还用于删除保存的配置对象的旧数据和配置对象对应的配置操作的逆操作。
在第十六方面的一种可能的实施方式中,接收模块,还用于接收来自服务器代理的删除请求;
处理模块,还用于根据删除请求删除保存的配置对象对应的配置操作和配置对象的新数据。
在第十六方面的一种可能的实施方式中,回滚补丁报文采用树形结构,其中,所有配置对象的旧数据,以及所有配置对象对应的配置操作的逆操作以树形结构呈现。
在第十六方面的一种可能的实施方式中,回滚补丁报文采用条目记录,其中,一个条目包括一个配置对象的旧数据,以及一个配置对象对应的配置操作的逆操作或一个条目包括一个配置对象对应的配置操作的逆操作。
在第十六方面的一种可能的实施方式中,再配置补丁报文采用树形结构,其中,所有配置对象的新数据,以及所有配置对象对应的配置操作以树形结构呈现。
在第十六方面的一种可能的实施方式中,再配置补丁报文采用条目记录,其中,一个条目包括一个配置对象的新数据,以及一个配置对象对应的配置操作或一个条目包括一个配置对象对应的配置操作。
本申请实施例第十七方面还提供了一种服务器代理,包括:
第一接收模块,用于接收来自客户端的配置请求;
处理模块,用于根据配置请求生成配置信息;
发送模块,用于将配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
第二接收模块,用于接收来自服务器数据库的回滚补丁报文,回滚补丁报文为服务器数据库根据配置信息从目标对象中确定需要进行配置变更的配置对象后构造的,回滚补丁报文包括配置对象在配置信息中对应的配置操作的逆操作和配置对象的旧数据;
处理模块,还用于对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作;
发送模块,还用于将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用;
第二接收模块,还用于若接收来自目标业务的第一应答信息,第一应答信息用于指示目标业务接受配置对象对应的配置操作;
发送模块,还用于发送变更请求至服务器数据库,变更请求用于指示服务器数据库执行配置变更。
在第十七方面的一种可能的实施方式中,配置请求包括用于指示需要获取再配置补丁报文的补丁信息,所述服务器代理,还包括:
第二接收模块,还用于接收来自服务器数据库的再配置补丁报文,再配置补丁报文包括配置对象的新数据和配置对象在配置信息中对应的配置操作;
发送模块,还用于发送再配置补丁报文至客户端。
在第十七方面的一种可能的实施方式中,第二接收模块,还用于若接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作;
发送模块,还用于发送删除请求至服务器数据库,删除请求用于指示服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据;
发送模块,还用于将第二应答信息发送至客户端。
本申请第十八方面提供了一种服务器,包括如第十六方面所述的服务器数据库和如第十七方面所述的服务器代理。
对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作将配置变更信息发送至目标应用本申请实施例第十九方面还提供了一种服务器,包括:一个或一个以上处理器,输入输出接口,电源;
处理器用于执行第一方面及第一方面任意一种可能的实施方式,第二方面及第二方面任意一种可能的实施方式,第三方面及第三方面任意一种可能的实施方式,第四方面及第四方面任意一种可能的实施方式,第五方面及第五方面任意一种可能的实施方式,第六方面及第六方面任意一种可能的实施方式,第七方面及第七方面任意一种可能的实施方式,第八方面及第八方面任意一种可能的实施方式,第九方面及第九方面任意一种可能的实施方式中的方法。
本申请实施例第二十方面提供了一种计算机可读存储介质,包括程序指令,其特征在于,当程序指令在计算机设备上运行时,使得计算机设备执行如第一方面及第一方面任意一种可能的实施方式,第二方面及第二方面任意一种可能的实施方式,第三方面及第三方面任意一种可能的实施方式,第四方面及第四方面任意一种可能的实施方式,第五方面及第五方面任意一种可能的实施方式,第六方面及第六方面任意一种可能的实施方式,第七方面及第七方面任意一种可能的实施方式,第八方面及第八方面任意一种可能的实施方式,第九方面及第九方面任意一种可能的实施方式中的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种配置变更的方法及相关装置,其中,该方法包括:当需要对服务器数据库进行配置变更时,服务器数据库先接收来自服务器代理的配置信息,该配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息。然后服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象。服务器数据库再根据配置对象在配置信息中对应的配置操作执行配置变更,并根据补丁信息以及配置变更构造回滚补丁报文,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据。最后服务器数据库将回滚补丁报文发送给服务器代理。上述配置变更过程中,服务器数据库所构造的回滚补丁报文所包含了对配置对象所执行的配置操作的逆操作和配置对象的旧数据,因此,服务器基于该回滚补丁报文可以确定哪一部分目标对象(即配置对象)执行了配置变更,即服务器数据库的配置变更情况,不需要存储所有目标对象变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
附图说明
图1为本申请实施例提供的网络架构的一个结构示意图;
图2为本申请实施例提供的配置变更的方法的一个流程示意图;
图3为本申请实施例提供的配置变更的方法的另一个流程示意图;
图4为本申请实施例提供的配置变更的方法的另一个流程示意图;
图5为本申请实施例提供的配置变更的方法的另一个流程示意图;
图6为本申请实施例提供的配置变更的方法的另一个流程示意图;
图7为本申请实施例提供的配置变更的方法的另一个流程示意图;
图8为本申请实施例提供的配置变更的方法的另一个流程示意图;
图9为本申请实施例提供的配置变更的方法的另一个流程示意图;
图10为本申请实施例提供的配置变更的方法的另一个流程示意图;
图11为本申请实施例提供的服务器数据库的一个结构示意图;
图12为本申请实施例提供的服务器代理的一个结构示意图;
图13为本申请实施例提供的服务器的一个结构示意图;
图14为本申请实施例提供的服务器数据库的另一个结构示意图;
图15为本申请实施例提供的服务器代理的另一个结构示意图;
图16为本申请实施例提供的服务器的另一个结构示意图;
图17为本申请实施例提供的服务器数据库的另一个结构示意图;
图18为本申请实施例提供的服务器代理的另一个结构示意图;
图19为本申请实施例提供的服务器的另一个结构示意图;
图20为本申请实施例提供的服务器的另一个结构示意图;
图21为本申请实施例中回滚补丁报文的一个示意图;
图22为本申请实施例中回滚补丁报文的另一个示意图。
具体实施方式
本申请实施例提供了一种配置变更的方法, 可节省服务器的存储空间,有效利用存储资源。
本申请实施例的技术方案应用于NETCONF的网络架构中,图1为本申请实施例提供的网络架构的一个结构示意图,如图1所示,该网络架构包括NETCONF客户端和多台网络设备,其中,NETCONF客户端可以对多台网络设备进行集中管理和配置,每一台网络设备上设置有NETCONF服务器, NETCONF服务器可与NETCONF客户端进行信息交互。为了便于说明,以其中一台设置有NETCONF服务器的网络设备进行介绍,该设备上的NETCONF服务器包括服务器代理、服务器数据库和应用。其中,应用可为安装于NETCONF服务器上的软件,服务器代理为NETCONF服务器的信息转发中心,例如将来自NETCONF客户端的信息转发至业务模块或服务器数据库,又如将来自业务模块或服务器数据库的信息发送至NETCONF客户端。服务器数据库用于存储Yang(yet another next generation)建模数据,该服务器数据库可包括多个配置数据集,例如运行配置数据集(running configuration datastore),候选配置数据集(candidate configuration datastore)等等,需要说明的是,本申请实施例中后续介绍中,需要进行配置变更的配置数据集均为运行配置数据集,该配置数据集用于存放网络设备当前运行所使用的配置数据,配置数据通常指配置数据集所包含的多个配置节点的数据值。
NETCONF客户端和NETCONF服务器通信连接,二者之间的通信内容是NETCONF协议定义的双向的可扩展标记语言(extensible markup language,XML)式的远程过程调用(remote procedure call,RPC)消息,包括从NETCONF客户端向NETCONF服务器发送的请求报文,以及NETCONF服务器向NETCONF客户端返回的应答报文,例如,NETCONF客户端向NETCONF服务器下发一个配置请求报文,NETCONF服务器根据该报文对配置数据集进行配置变更后,则向NETCONF客户端返回一个应答报文,用于通知NETCONF客户端变更操作完成。RPC消息的消息格式由Yang模型定义,Yang模型可以定义消息的格式以及消息中包含的配置数据的格式。
为了便于说明,NETCONF客户端和NETCONF服务器在以下说明过程中简称为客户端和服务器。本申请实施例提供的配置变更的方法可应用于多种场景,例如,配置变更检测、配置回滚、关联回滚和再配置等等,本申请实施例为了实现上述多种场景,对客户端与服务器端之间的RPC进行了拓展,以配置变更报文(也可以称为配置请求报文)为例,该配置变更报文(edit-config)可以为标准的RPC消息,本申请实施例在配置变更报文中添加了补丁信息,该补丁信息用于指示服务器生成并返回Yang补丁报文(yang-patch),Yang补丁报文为承载服务器数据库的配置变更情况的载体。更进一步的,补丁信息可以为一个标识,该标识可以有多种取值,例如,当补丁信息取值为需要获取变更补丁报文(need change-patch)时,服务器需向客户端返回的yang-patch即为变更补丁报文(change-patch),补丁信息取值为需要获取再配置补丁报文(need redo-patch)时,服务器需向客户端返回的yang-patch即为再配置补丁报文(redo-patch),当补丁信息取值为需要获取回滚补丁报文(needundo-patch)时,服务器需向客户端返回的yang-patch即为回滚补丁报文(undo-patch)。
下面先从本申请实施例用于实现配置变更检测的场景开始介绍,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图2为本申请实施例提供的配置变更的方法的一个流程示意图,请参阅图2,该方法包括:
201、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
当客户端需要对服务器进行配置变更时,可先向服务器下发一个配置请求(也可称为配置请求报文),该配置请求通常包括配置数据集中的至少一个目标对象、对应目标对象的配置操作、目标对象的新数据和用于指示需要获取变更补丁报文的补丁信息。需要说明的是,配置请求中所包含的目标对象通常指配置数据集的配置节点的名称(标识)。
服务器代理在接收到来自客户端的配置请求后,可对该配置请求进行解析,提取目标对象、目标对象的新数据、对应目标对象的配置操作以及用于指示需要获取变更补丁报文的补丁信息,并将补丁信息的取值进行修改,使得补丁信息用于指示需要获取回滚补丁报文,即将补丁信息的取值由need change-patch修改为need undo-patch,然后根据目标对象、目标对象的新数据、对应目标对象的配置操作以及取值为need undo-patch的补丁信息生成配置信息。服务器代理生成配置信息后,则可将配置信息发送至服务器数据库。
具体的,服务器数据库的配置数据集中包含有多个配置节点,配置信息可对配置数据集中的全部或部分节点进行配置变更,该全部或部分待进行配置变更的节点即为配置信息所指向的目标对象。在配置信息中,每一个目标对象对应一个配置操作,该配置操作可以为创建、删除或修改中的任意一种。配置信息中还包括目标对象的新数据,需要说明的是,当某个目标对象对应的配置操作为创建或修改时,则在配置信息中,该目标对象具有相应的新数据,例如,创建一个取值为8的节点A,此时,8则为目标对象节点A的新数据。又如,将节点B的值从2修改为4,此时,4则为目标对象节点B的新数据,2则为节点B的旧数据。当某个目标对象对应的配置操作为删除时,则在配置信息中,该目标对象不具有相应新数据,例如,删除节点C,在配置信息中,则不会写入节点C的新数据。
202、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
服务器数据库接受到配置信息后,则将接受的配置信息与本地配置信息进行比对,从目标对象中确定出需要进行配置变更的配置对象。可以理解的是,配置对象为目标对象中的全部或部分对象,本地配置信息即为配置数据集上各个目标对象现存的数据(即目标对象的旧数据)。
具体的,由于配置信息包含目标对象的新数据,而配置数据集存储有目标对象的旧数据,服务器数据库可根据目标对象的新数据和旧数据之间的变化在目标对象中确定需要进行配置变更的配置对象。例如,当目标对象对应的配置操作为修改时,若该目标对象的新数据和旧数据不同,则将该目标对象确定为需要进行配置变更的配置对象,若该目标对象的新数据和旧数据相同,则将该目标对象确定为不需要进行配置变更的非配置对象。当目标对象对应的配置操作为创建时,未变更前的配置数据集中并不存在该目标对象,即不存在该目标对象的旧数据,而配置信息中包含该目标对象的新数据,故可将该目标对象确定为需要进行配置变更的配置对象。当目标对象对应的配置操作为删除时,未变更前的配置数据集中存在该目标对象,即存有该目标对象的旧数据,而配置信息中不存在该目标对象的新数据,则也可将该目标对象确定为需要进行配置变更的配置对象。
203、服务器数据库保存配置对象的旧数据;
服务器数据库在确定配置对象前,可先根据补丁信息(取值为need undo-patch)开设一个临时数据集。服务器数据库在确定出配置对象时,则将配置对象和配置对象的旧数据存入临时数据集。具体的,当确定某个目标对象为需要进行配置变更的配置对象时,则从配置信息中获取该配置对象的配置操作,并对该配置操作进行取反,即可得到该配置操作的逆操作。
需要说明的是,当服务器数据库确定配置对象且得到配置对象对应的逆操作后,在执行配置变更前,服务器数据库可先将配置对象对应的配置操作的逆操作、配置对象和配置对象的旧数据同时存入临时数据集,也可只先将配置对象和配置对象的旧数据存入临时数据集,在对配置对象执行配置变更后(即步骤204之后),再将配置对象对应的配置操作的逆操作存入临时数据集,此处不做具体限定。
以在配置变更前同时将配置对象对应的配置操作的逆操作、配置对象和配置对象的旧数据同时存入临时数据集为例,当确定节点D为配置对象时,若节点D在配置信息中对应的配置操作为修改时,其逆操作依旧为修改,则将节点D的旧数据、节点D的名称和节点D对应的配置操作的逆操作存入临时数据集,若节点D在配置信息中对应的配置操作为创建时,其逆操作为删除,则将节点D的名称和节点D对应的配置操作的逆操作存入临时数据集,若节点D在配置信息中对应的配置操作为删除时,其逆操作为创建,则将节点D的旧数据、节点D的名称和节点D对应的配置操作的逆操作存入临时数据集。
应理解,上述例子中仅用仅用一个配置对象即节点D进行示意性说明,并不对配置对象的数量构成限制。
204、服务器数据库根据配置对象在配置信息中对应的配置操作执行配置变更;
服务器数据库在存储配置对象的旧数据后,则可以根据配置对象的新数据以及配置对象在配置信息中对应的配置操作对配置对象执行配置变更。需要说明的是,当配置对象有多个时,服务器数据库在目标对象中每确定出一个配置对象,则将该配置对象的相关信息存入临时数据集,并对该配置对象进行配置变更,在确定出下一个配置对象后,执行与前述过程相同的操作,直至对所有配置对象完成配置变更。
依旧如上述例子,当确定目标对象中的节点D为配置对象时,若节点D在配置信息中对应的配置操作为修改时,则获取配置信息中节点D的新数据,并将节点D的数据值从旧数据修改为新数据。若节点D在配置信息中对应的配置操作为创建时,则获取配置信息中节点D的新数据,并在配置数据集中创建取值为新数据的节点D,若节点D在配置信息中对应的配置操作为删除时,则在配置数据集中删除节点D。
应理解,上述例子中仅用一个配置对象即节点D进行示意性说明,若存在其余配置对象,如节点K,节点L等等,每个节点也可执行上述三种操作中的任意一种,此处不对配置对象的数量构成限制。
还应理解,服务器数据库可以只对目标对象中需要进行配置变更的所有配置对象执行配置变更,而目标对象中其余非配置对象则不执行任何操作,服务器数据库也可以对所有目标对象均进行配置变更,但非配置对象并未发生变化,相当于执行了无效的配置变更,此处对非配置对象的具体处理方式不做限制。
205、服务器数据库根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
服务器数据库完成配置变更后,根据补丁信息的指示(取值为need undo-patch),服务器数据库确定需要生成回滚补丁报文,则从临时数据集中提取配置对象、配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作(即服务器数据库对配置对象执行的配置操作的逆操作,可从临时数据集中获取得到)。可以理解的是,服务器数据库对配置对象执行的配置操作等同于配置对象在配置信息中对应的配置操作,为方便说明,以下均简称为配置对象所对应的配置操作。
206、服务器数据库根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文;
服务器数据库从临时数据集中获取配置对象的旧数据以及配置对象所对应的配置操作的逆操作后,则将配置对象的旧数据以及配置对象所对应的配置操作的逆操作构造在回滚补丁报文中,即undo-patch。由于undo-patch包含了配置对象的相关回滚信息(即配置对象的旧数据以及对配置对象执行的配置操作的逆操作),故服务器可基于undo-patch确定并通知客户端配置对象的配置变更情况,以使得服务器数据库不需再存储所有目标对象变更前的配置数据,可节省服务器的存储空间,有效利用存储资源。
在Yang-patch这一数据结构中,其承载的信息可通过多种方式进行编辑,因此,undo-patch所承载的信息也可通过多种方式进行编辑,以下将分别进行介绍:
在一种可能实现的方式中,undo-patch采用树形结构,其中,树形结构包括所有配置对象,所有配置对象的旧数据,以及对所有配置对象执行的配置操作的逆操作。需要说明的是,图21为本申请实施例中回滚补丁报文的一个示意图,如图21所示,undo-patch仅包含一个编辑信息,所有配置对象的相关信息均记录在该编辑信息中,以树形结构呈现。具体的,在树形结构的undo-patch中,若某个配置对象所对应的配置操作的逆操作为删除,则报文中不包含有该配置对象的旧数据,相反的,若某个配置对象所对应的配置操作的逆操作为创建或修改,则报文中包含有该配置对象的旧数据。
在一种可能实现的方式中,undo-patch采用条目记录,其中,一个条目包括一个配置对象,一个配置对象的旧数据,以及对一个配置对象执行的配置操作的逆操作或一个条目包括一个配置对象以及一个配置对象执行的配置操作的逆操作。需要说明的是,图22为本申请实施例中回滚补丁报文的另一个示意图,如图22所示,undo-patch包含多个并列的编辑信息,每一个编辑信息相当于一个条目,每一个条目用于记录一个配置对象的相关信息。具体的,若某个条目所存储的配置对象所对应的配置操作的逆操作为删除,则该条目中不包含有该配置对象的旧数据,若某个条目所存储的配置对象所对应的配置操作的逆操作为创建或修改,则该条目中包含有该配置对象的旧数据。
207、服务器数据库删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作;
服务器在构造undo-patch后,可以删除临时数据集,即删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作。
208、服务器数据库将回滚补丁报文发送给服务器代理;
服务器数据库删除临时数据集后,则将undo-patch发送至服务器代理。
209、服务器代理对回滚补丁报文进行逆解析,得到配置变更信息;
由于服务器上安装有至少一个应用,若有部分应用通常会向服务器代理订阅配置数据集的配置变更信息,则服务器代理将该部分应用确定为目标应用,并实时通知目标应用配置数据集的配置变更情况。因此,当服务器代理接收到undo-patch后,则可对undo-patch进行逆解析,得到配置对象所对应的配置操作。
具体的,服务器代理先解析undo-patch,提取undo-patch所包含的配置对象和配置对象所对应的配置操作的逆操作,并将配置对象所对应的配置操作的逆操作取反,从而得到配置对象所对应的配置操作,并根据配置对象和配置对象所对应的配置操作生成配置变更信息,此时,配置变更信息所包含的信息可表征配置数据集的配置变更情况。
210、服务器代理将配置变更信息发送至目标应用;
服务器代理得到配置对象所对应的配置操作后,则将配置对象和配置对象所对应的配置操作构造在配置变更信息中,并发送至目标应用,以通知目标应用关于配置数据集的配置变更情况。
211、服务器代理接收来自目标应用的第一应答信息;
目标应用接收到配置对象和配置对象所对应的配置操作后,可确定配置数据集中哪一部分配置节点执行了配置变更,进而对业务数据进行相应的处理,若处理成功则表明目标应用接受服务器数据库对配置对象所执行的配置操作,即接受配置数据集的配置变更情况,则目标应用可向服务器代理返回第一应答信息,用于向服务器代理指示目标应用接受服务器数据库对配置对象执行的配置操作。
212、服务器代理根据对配置对象执行的配置操作构造变更补丁报文;
当目标应用接受配置数据集的配置变更情况,则相当于客户端对服务器的配置变更操作成功。在客户端向服务器代理下发的配置请求中,其包含的原始补丁信息指示客户端需要获取变更补丁报文,表明客户端需要获取服务器数据库的配置变更情况,故服务器代理可以基于该原始补丁信息,根据配置对象和配置对象所对应的配置操作(配置对象所对应的配置操作可从配置信息或配置请求中获取,也可从从步骤209逆解析得到的结果中获取)构造变更补丁报文,即change-patch。
类似undo-patch,change-patch所承载的信息也可通过多种方式进行编辑,以下将分别进行介绍:
在一种可能实现的方式中,change-patch采用树形结构,其中,树形结构包括所有配置对象以及对所有配置对象执行的配置操作。需要说明的是,change-patch仅包含一个编辑信息,所有配置对象的相关信息均记录在该编辑信息中,以树形结构呈现。具体的,在树形结构的change-patch中,任意一个配置对象所对应的配置操作无论是删除、创建或修改中的哪一种,报文中均不包含有该配置对象的新数据,仅包含该配置对象以及该配置对象所对应的配置操作。
在一种可能实现的方式中,change-patch采用条目记录,其中,一个条目包括一个配置对象以及对一个配置对象执行的配置操作。需要说明的是,change-patch包含多个并列的编辑信息,每一个编辑信息相当于一个条目,每一个条目用于记录一个配置对象的相关信息。具体的,change-patch中的任意一个条目仅包含一个配置对象以及该配置对象所对应的的配置操作,并不包含该配置对象的新数据。
213、服务器代理将变更补丁报文发送至客户端。
服务器代理得到change-patch后,则将change-patch返回至客户端。客户端可解析change-patch,根据change-patch所包含的信息确定配置数据集中哪一部分节点执行了配置变更,进而得知服务器数据库的配置变更情况。
本申请实施例中,在服务器完成客户端所请求的配置变更后,服务器可自主生成变更补丁报文,通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,因此,客户端不需再获取并比对变更前后的配置数据从而得到服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
以上具体介绍了本申请实施例用于实现配置变更检测的场景,接下来将继续介绍本申请实施例用于实现再配置的场景,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图3为本申请实施例提供的配置变更的方法的另一个流程示意图,请参阅图3,该方法包括:
301、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
步骤301的具体说明可参考上述实施例中步骤201的相关说明内容,步骤301与步骤201的区别在于,客户端向服务器下发的配置请求中,其所包含的补丁信息用于指示需要获取再配置补丁报文。当服务器代理接收并解析该配置请求后,可将补丁信息的取值进行修改,使得补丁信息用于指示需要获取回滚补丁报文,即将补丁信息的取值由need redo-patch修改为need undo-patch。
302、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
303、服务器数据库保存配置对象的旧数据;
304、服务器数据库根据配置对象在配置信息中对应的配置操作执行配置变更;
305、服务器数据库根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
306、服务器数据库根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文;
307、服务器数据库删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作;
308、服务器数据库将回滚补丁报文发送给服务器代理;
309、服务器代理对回滚补丁报文进行逆解析,得到配置变更信息;
310、服务器代理将配置变更信息发送至目标应用;
311、服务器代理接收来自目标应用的第一应答信息;
步骤302至步骤311的具体说明可参考上述实施例中步骤202至步骤211的相关说明内容,此处不再赘述。
312、服务器代理获取配置对象的新数据,并根据对配置对象执行的配置操作和配置对象的新数据构造再配置补丁报文;
当目标应用接受配置数据集的配置变更情况时,则相当于客户端对服务器的配置变更操作成功。由于客户端向服务器下发的配置请求中,其包含的原始补丁信息指示客户端需要获取再配置补丁报文,表明客户端有对其余服务器进行相同配置变更操作的需求,因此,服务器代理基于原始补丁信息,根据配置对象、配置对象的新数据(可从配置请求或配置信息中获取)和配置对象所对应的配置操作(配置对象所对应的配置操作可从配置信息或配置请求中获取,也可从从步骤309逆解析得到的结果中获取)构造再配置补丁报文,即redo-patch。
类似undo-patch,redo-patch所承载的信息也可通过多种方式进行编辑,以下将分别进行介绍:
在一种可能实现的方式中,redo-patch采用树形结构,其中,树形结构包括所有配置对象,所有配置对象的新数据,以及对所有配置对象执行的配置操作。需要说明的是,redo-patch仅包含一个编辑信息,所有配置对象的相关信息均记录在该编辑信息中,以树形结构呈现。具体的,在树形结构的redo-patch中,若某个配置对象所对应的配置操作为删除,则报文中不包含有该配置对象的新数据,相反的,若某个配置对象所对应的配置操作为创建或修改,则报文中包含有该配置对象的新数据。
在一种可能实现的方式中,redo-patch采用条目记录,其中,一个条目包括一个配置对象,一个配置对象的新数据,以及对一个配置对象执行的配置操作或一个条目包括一个配置对象以及对一个配置对象执行的配置操作。需要说明的是,redo-patch包含多个并列的编辑信息,每一个编辑信息相当于一个条目,每一个条目用于记录一个配置对象的相关信息。具体的,若某个条目所存储的配置对象所对应的配置操作为删除,则该条目中不包含有该配置对象的新数据,若某个条目所存储的配置对象所对应的配置操作为创建或修改,则该条目中包含有该配置对象的新数据。
313、服务器代理将再配置补丁报文发送至客户端。
服务器代理得到redo-patch,则将redo-patch发送至客户端。需要说明的是,redo-patch包含配置对象所对应的配置操作,故客户端也可通过从redo-patch提取配置对象所对应的配置操作,以确定配置数据集中哪一部分节点执行了配置变更,进而得知服务器数据库的配置变更情况。更进一步地,由于redo-patch还包括配置对象的新数据,故客户端可将redo-patch所包含的配置对象、配置对象的新数据以及配置对象所对应的配置操作提取出来,并生成新的配置请求,将新的配置请求下发至另一台服务器,以使得另一台服务器与本服务器发生相同的配置变更。
本申请实施例中,在服务器完成客户端所请求的配置变更后,服务器可自主生成再配置补丁报文,通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
以上具体介绍了本申请实施例用于实现再配置的场景,接下来将继续介绍本申请实施例用于实现配置回滚的场景,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图4为本申请实施例提供的配置变更的方法的另一个流程示意图,请参阅图4,该方法包括:
401、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
步骤401的具体说明可参考上述实施例中步骤201的相关说明内容,步骤401与步骤201的区别在于,客户端向服务器下发的配置请求中,其所包含的补丁信息的取值可为needchange-patch、need undo-patch或need redo-patch中的任意一种。当服务器代理接收并解析该配置请求后,则若补丁信息的取值为need change-patch或need redo-patch,则将其修改为need undo-patch,若补丁信息的取值为need undo-patch,则保持不变。
402、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
403、服务器数据库保存配置对象的旧数据;
404、服务器数据库根据配置对象在配置信息中对应的配置操作执行配置变更;
405、服务器数据库根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
406、服务器数据库根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文;
407、服务器数据库删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作;
408、服务器数据库将回滚补丁报文发送给服务器代理;
409、服务器代理对回滚补丁报文进行逆解析,得到配置变更信息;
410、服务器代理将配置变更信息发送至目标应用;
步骤402至步骤410的具体说明可参考上述实施例中步骤202至步骤210的相关说明内容,此处不再赘述。
411、服务器代理接收来自目标应用的第二应答信息;
目标应用接收到配置对象和配置对象所对应的配置操作后,可确定配置数据集中哪一部分配置节点执行了配置变更,进而对业务数据进行相应的处理,若处理失败则表明目标应用不接受服务器数据库对配置对象所执行的配置操作,即不接受配置数据集的配置变更情况,则目标应用可向服务器代理返回第二应答信息,用于向服务器代理指示目标应用不接受服务器数据库对配置对象执行的配置操作。
412、服务器代理根据回滚补丁报文所包括的配置对象的旧数据和对配置对象执行的配置操作的逆操作构造回滚请求;
当目标应用不接受配置数据集的配置变更情况时,则相当于客户端对服务器的配置变更操作失败,由于服务器数据库的配置数据集已经发生了配置变更,故服务器代理需要令配置数据集恢复至变更前的状态,即需要令服务器数据库进行配置回滚。基于第二应答信息后,服务器代理从回滚补丁报文中提取配置对象、配置对象的旧数据和配置对象所对应的配置操作的逆操作,并构造回滚请求,以通过该回滚请求令服务器数据库进行配置回滚。
413、服务器代理将回滚请求发送至服务器数据库;
服务器代理得到回滚请求后,将回滚请求发送至服务器数据库,以使得服务器数据库根据回滚请求进行配置回滚。
414、服务器数据库根据配置对象在回滚请求中对应的逆操作执行配置回滚;
服务器数据库接收到来自服务器代理的回滚请求后,可解析回滚请求得到配置对象、配置对象的旧数据和配置对象所对应的配置操作的逆操作,然后确定出配置数据集中需要进行配置回滚的配置对象后,根据配置对象的旧数据以及配置对象所对应的配置操作的逆操作对配置对象进行配置回滚,使得配置数据集恢复至变更前的状态。
例如,设配置数据集中的节点L经过步骤404中的配置变更后,其配置发生了变化。若节点L对应的配置操作为修改,且其数据值从旧数据6修改为新数据9,相应的,此时节点L对应的逆操作则为修改。服务器数据库根据节点L对应的逆操作和旧数据对节点L进行配置回滚,即将节点L的数据值从新数据9修改为旧数据6。若节点L对应的配置操作为创建,即在配置数据集中创建了取值为8的节点L,此时节点L对应的逆操作为删除(由于变更前的配置数据集不具有节点L,故回滚请求中不包含有节点L的旧数据),服务器数据库根据节点L对应的逆操作对节点L进行配置回滚,即在配置数据集中删除节点L。若节点L对应的配置操作为删除,即在配置数据集中删除了节点L(其旧数据为7),此时节点L对应的逆操作为创建,服务器数据库根据节点L对应的逆操作和旧数据对节点L进行配置回滚,即在配置数据集中创建取值为7的节点L。
415、服务器代理将第二应答信息发送至客户端。
服务器代理接收到来自目标应用的第二应答信息后,可将第二应答消息发送至客户端,以向客户端指示其对服务器的配置变更操作失败。
应理解,步骤412和步骤415可同步进行也可异步进行,若两个步骤异步进行,两个步骤的执行先后顺序可根据实际需求进行设置,此处不做限制。
本申请实施例中,当服务器确定配置变更操作失败时,服务器可自主完成配置回滚,不需要等待客户端下发回滚请求,可节省配置回滚所消耗的时间,能够提高配置回滚的效率。
以上具体介绍了本申请实施例用于实现配置回滚的场景,接下来将继续介绍本申请实施例用于实现关联回滚的场景,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图5为本申请实施例提供的配置变更的方法的另一个流程示意图,请参阅图5,该方法包括:
501、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
步骤501的具体说明可参考上述实施例中步骤501的相关说明内容,步骤501与步骤201的区别在于,客户端向服务器下发的配置请求中,其所包含的补丁信息用于指示需要获取回滚补丁报文。当服务器代理接收并解析该配置请求后,则不需要修改补丁信息的取值。
502、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
503、服务器数据库保存配置对象的旧数据;
504、服务器数据库根据配置对象在配置信息中对应的配置操作执行配置变更;
505、服务器数据库根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
506、服务器数据库根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文;
507、服务器数据库删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作;
508、服务器数据库将回滚补丁报文发送给服务器代理;
509、服务器代理对回滚补丁报文进行逆解析,得到配置变更信息;
510、服务器代理将配置变更信息发送至目标应用;
511、服务器代理接收来自目标应用的第一应答信息;
步骤502至步骤511的具体说明可参考上述实施例中步骤202至步骤211的相关说明内容,此处不再赘述。
512、服务器代理将回滚补丁报文发送至客户端;
当目标应用接受配置数据集的配置变更情况时,则相当于客户端对服务器的配置变更操作成功。在客户端向服务器代理下发的配置请求中,其包含的补丁信息指示客户端需要获取回滚补丁报文,表明客户端可能需要进行关联回滚,故服务器代理可以基于该补丁信息,直接将已经生成的回滚补丁报文(undo-patch)返回至客户端。需要说明的是,由于undo-patch包含配置对象所对应的配置操作的逆操作,客户端可对undo-patch进行逆解析得到配置对象所对应的配置操作,以确定配置数据集中哪一部分节点执行了配置变更,进而得知服务器数据库的配置变更情况。
513、服务器代理接收来自客户端的回滚请求;
当存在与本服务器(执行本实施例的服务器)相关联的其余服务器时,客户端可以对本服务器以及与本服务器相关联的其余服务器发出配置请求,以使得本服务器和其余服务器均进行配置变更。在本服务器的配置变更操作成功后,可向客户端返回本服务器所生成的回滚补丁报文,若其余服务器的配置变更操作失败,客户端则需要令本服务器进行配置回滚,以使本服务器的数据库恢复至变更前的状态。此时,客户端可根据本服务器所返回的回滚补丁报文生成回滚请求,用于令本服务器进行配置回滚。
具体的,客户端将本服务器所返回的回滚补丁报文进行解析,得到配置对象、配置对象的旧数据和配置对象所对应的配置操作的逆操作,然后根据配置对象、配置对象的旧数据和配置对象所对应的配置操作的逆操作构造回滚请求,并下发至服务器代理。
514、服务器代理将回滚请求发送至服务器数据库;
服务器接收到来自客户端的回滚请求后,则将该回滚请求发送至服务器数据库,以使得服务器数据库进行配置回滚。
515、服务器数据库根据配置对象在回滚请求中对应的逆操作执行配置回滚。
步骤515的具体说明可参考上述实施例中步骤414的相关说明部分,此处不再赘述。
本申请实施例中,在服务器完成客户端所请求的配置变更后,服务器可自主生成回滚补丁报文,通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。更进一步地,若与本服务器相关联的服务器出现配置变更操作失败的情况,客户端还可以通过该回滚补丁报文对本服务器进行配置回滚,客户端基于该回滚补丁报文所生成的回滚请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
值得注意的是,上述各个包含配置对象的相关信息的报文中,例如,在配置请求、配置信息和redo-patch中,若配置对象所对应的配置操作为删除,则报文中不包含有该配置对象的新数据,相反的,若配置对象所对应的配置操作为创建或修改,则报文中包含有该配置对象的新数据。又如,在回滚请求和undo-patch中,若配置对象所对应的配置操作的逆操作为删除,则报文中不包含有该配置对象的旧数据,相反的,若配置对象所对应的配置操作为创建或修改,则报文中包含有该配置对象的旧数据。
在上述各个实施例中,服务器数据库所生成的Yang-patch均为undo-patch,为了提高本申请技术方案的灵活度和可选择性,服务器数据库所生成的Yang-patch还可以为redo-patch,该情况可用于实现配置变更检测、再配置和拒绝配置三种场景,以下将对三种场景分别进行介绍。
下面先从本申请实施例用于实现配置变更检测的场景开始介绍,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图6为本申请实施例提供的配置变更的方法的一个流程示意图,请参阅图6,该方法包括:
601、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
步骤601的具体说明可参考上述实施例中步骤201的相关说明内容,步骤601与步骤201的区别在于,客户端向服务器下发的配置请求中,其所包含的补丁信息用于指示需要获取变更补丁报文。当服务器代理接收并解析该配置请求后,可将补丁信息的取值进行修改,使得补丁信息用于指示需要获取再配置补丁报文,即将补丁信息的取值由need change-patch修改为need redo-patch。然后根据目标对象、目标对象的新数据、对应目标对象的配置操作以及取值为need redo-patch的补丁信息生成配置信息。服务器代理生成配置信息后,则可将配置信息发送至服务器数据库。
602、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
步骤602的具体说明可参考上述实施例中步骤202的相关说明内容,此处不再赘述。
603、服务器数据库保存配置对象在配置信息中对应的配置操作和配置对象的新数据;
服务器数据库在确定配置对象前,可先根据补丁信息(取值为need redo-patch)开设一个临时数据集。服务器数据库在确定出配置对象时,则将配置对象、配置对象的新数据,以及配置对象在配置信息中对应的配置操作临时数据集。
例如,当确定节点X为配置对象时,若节点X在配置信息中对应的配置操作为修改时,则将节点X的新数据、节点X的名称和节点X对应的配置操作存入临时数据集,若节点X在配置信息中对应的配置操作为创建时,则将节点X的新数据、节点X的名称和节点X对应的配置操作存入临时数据集,若节点X在配置信息中对应的配置操作为删除时,则将节点X的名称和节点X对应的配置操作存入临时数据集。
应理解,上述例子中仅用仅用一个配置对象即节点X进行示意性说明,并不对配置对象的数量构成限制。
604、服务器数据库根据保存的配置对象对应的配置操作和配置对象的新数据构造再配置补丁报文;
当服务器数据库完成存储操作后,可从临时数据集中提取配置对象、配置对象的新数据和配置对象所对应的配置操作,然后将配置对象、配置对象的新数据和配置对象所对应的配置操作构建在再配置补丁报文中,即redo-patch。
605、服务器数据库将再配置补丁报文发送给服务器代理;
服务器数据库得到redo-patch后,则将redo-patch发送至服务器代理。
606、服务器代理从再配置补丁报文中获取配置变更信息;
服务器代理接收来自服务器数据库的redo-patch后,可对redo-patch进行解析,得到配置对象所对应的配置操作,并根据配置对象所对应的配置操作生成配置变更信息。需要说明的是,由于配置数据集的配置对象还未执行配置变更,故配置对象所对应的配置操作即服务器数据库对配置对象即将执行的配置操作。此时,配置对象所对应的配置操作可表征配置数据集即将发生的配置变更情况。
607、服务器代理将配置变更信息发送至目标应用;
服务器代理得到配置对象所对应的配置操作后,则将配置对象和配置对象所对应的配置操作构造在配置变更信息中,并发送至目标应用,以通知目标应用关于配置数据集即将发生的配置变更情况。
608、服务器代理接收来自目标应用的第一应答信息;
目标应用接收到配置对象和配置对象所对应的配置操作后,可确定配置数据集中哪一部分配置节点准备执行配置变更,进而对业务数据进行相应的处理,若处理成功则表明目标应用接受服务器数据库对配置对象即将执行的配置操作,即接受配置数据集即将发生的配置变更情况,则目标应用可向服务器代理返回第一应答信息,用于向服务器代理指示目标应用接受服务器数据库对配置对象即将执行的配置操作。
609、服务器代理发送变更请求至服务器数据库;
当服务器代理接收到第一应答消息时,可确定目标应用接受配置数据集即将发生的配置变更情况,故服务器代理可以通知服务器数据库执行配置变更。具体的,服务器代理可生成一个用于指示服务器数据库执行配置变更的变更请求,并发送至服务器数据库,以使得服务器数据库执行配置变更。
610、服务器数据库根据保存的配置对象对应的配置操作执行配置变更;
当服务器数据库接收到变更请求后,基于该变更请求,服务器数据库从临时数据集中提取配置对象、配置对象的新数据以及配置对象所对应的配置操作,并根据配置对象的新数据以及配置对象所对应的配置操作对配置对象执行配置变更。其中,配置变更的具体过程可参考上述实施例中步骤204的相关说明部分,此处不再赘述。
611、服务器代理根据配置对象对应的配置操作构造变更补丁报文;
在客户端向服务器代理下发的配置请求中,其包含的原始补丁信息指示客户端需要获取变更补丁报文,表明客户端需要获取服务器数据库的配置变更情况,故服务器代理可以基于该原始补丁信息,根据配置对象和配置对象所对应的配置操作构造变更补丁报文,即change-patch。
应理解,步骤611和步骤609可同步进行也可异步进行,若两个步骤异步进行,两个步骤的执行先后顺序可根据实际需求进行设置,此处不做限制。
612、服务器代理将变更补丁报文发送至客户端。
服务器代理得到change-patch后,则将change-patch返回至客户端。客户端可解析change-patch,根据change-patch所包含的信息确定服务器数据库的配置变更情况。
本申请实施例中,服务器可自主生成变更补丁报文,通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,因此,客户端不需再获取并比对变更前后的配置数据从而得到服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。
以上具体介绍了本申请实施例用于实现配置变更检测的场景,接下来将继续介绍本申请实施例用于实现再配置的场景,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图7为本申请实施例提供的配置变更的方法的另一个流程示意图,请参阅图7,该方法包括:
701、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
步骤701的具体说明可参考上述实施例中步骤601的相关说明内容,步骤701与步骤601的区别在于,客户端向服务器下发的配置请求中,其所包含的补丁信息用于指示需要获取再配置补丁报文。当服务器代理接收并解析该配置请求后,则不需要修改补丁信息的取值。
702、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
703、服务器数据库保存配置对象在配置信息中对应的配置操作和配置对象的新数据;
704、服务器数据库根据保存的配置对象对应的配置操作和配置对象的新数据构造再配置补丁报文;
705、服务器数据库将再配置补丁报文发送给服务器代理;
706、服务器代理从再配置补丁报文中获取配置变更信息;
707、服务器代理将配置变更信息发送至目标应用;
708、服务器代理接收来自目标应用的第一应答信息;
709、服务器代理发送变更请求至服务器数据库;
710、服务器数据库根据保存的配置对象对应的配置操作执行配置变更;
步骤702至步骤710的具体说明可参考上述实施例步骤602至步骤610的相关说明部分,此处不再赘述。
711、服务器代理将再配置补丁报文发送至客户端。
在客户端向服务器代理下发的配置请求中,其包含的补丁信息指示客户端需要获取再配置补丁报文,表明客户端需要对其余台服务器进行相同配置变更操作的需求,故服务器代理可将已经生成的redo-patch直接发送至客户端。需要说明的是,redo-patch包含配置对象所对应的配置操作,故客户端也可通过从redo-patch提取配置对象所对应的配置操作,进而确定服务器数据库的配置变更情况。
应理解,步骤711和步骤709可同步进行也可异步进行,若两个步骤异步进行,两个步骤的执行先后顺序可根据实际需求进行设置,此处不做限制。
本申请实施例中,服务器可自主生成再配置补丁报文,通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
以上具体介绍了本申请实施例用于实现再配置的场景,接下来将继续介绍本申请实施例用于实现拒绝配置的场景,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图8为本申请实施例提供的配置变更的方法的另一个流程示意图,请参阅图8,该方法包括:
801、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
步骤801的具体说明可参考上述实施例中步骤601的相关说明内容,步骤801与步骤601的区别在于,客户端向服务器下发的配置请求中,其所包含的补丁信息的取值为needredo-patch或need change-patch。当服务器代理接收并解析该配置请求后,若补丁信息的取值为need change-patch,则将其修改为need redo-patch,若补丁信息的取值为needredo-patch,则不修改补丁信息的取值。
802、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
803、服务器数据库保存配置对象在配置信息中对应的配置操作和配置对象的新数据;
804、服务器数据库根据保存的配置对象对应的配置操作和配置对象的新数据构造再配置补丁报文;
805、服务器数据库将再配置补丁报文发送给服务器代理;
806、服务器代理从再配置补丁报文中获取配置变更信息;
807、服务器代理将配置变更信息发送至目标应用;
步骤802至步骤807的具体说明可参考上述实施例步骤602至步骤610的相关说明部分,此处不再赘述。
808、服务器代理接收来自目标应用的第二应答信息;
目标应用接收到配置对象和配置对象所对应的配置操作后,可确定配置数据集中哪一部分配置节点准备执行配置变更,进而对业务数据进行相应的处理,若处理失败则表明目标应用不接受服务器数据库对配置对象即将执行的配置操作,即不接受配置数据集即将发生的配置变更情况,则目标应用可向服务器代理返回第二应答信息,用于向服务器代理指示目标应用不接受服务器数据库对配置对象即将执行的配置操作。
809、服务器代理发送删除请求至服务器数据库;
当服务器代理接收到第二应答消息时,可确定目标应用不接受配置数据集即将发生的配置变更情况,故服务器代理可以通知服务器数据库不执行配置变更。具体的,服务器代理可生成一个用于指示服务器数据库不执行配置变更的删除请求,并发送至服务器数据库,以使得服务器数据删除临时数据库,即删除保存的所述配置对象对应的配置操作和所述配置对象的新数据。
810、服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据;
当服务器数据库接收到删除请求后,基于该删除请求,服务器数据库删除整个临时数据库,即删除保存的配置对象对应的配置操作和配置对象的新数据。至此,服务器数据库并未执行配置变更,即拒绝执行配置变更操作。
811、服务器代理将第二应答信息发送至客户端。
服务器代理接收到来自目标应用的第二应答信息后,可将第二应答消息发送至客户端,以向客户端指示其对服务器的配置变更操作失败。
应理解,步骤811和步骤809可同步进行也可异步进行,若两个步骤异步进行,两个步骤的执行先后顺序可根据实际需求进行设置,此处不做限制。
本申请实施例中,当服务器确定目标应用不接受配置数据集即将发生的配置变更情况后,服务器可自主拒绝执行配置变更操作,维持配置数据集的原始状态,提高了方案的灵活度。
在上述各个实施例中,服务器数据库所生成的Yang-patch仅为undo-patch或redo-patch,为了提高本申请技术方案的灵活度和可选择性,服务器数据库所生成的Yang-patch还可以同时包括undo-patch和redo-patch,该情况可用于实现再配置和拒绝配置两种场景,以下将对两种场景分别进行介绍。
下面先从本申请实施例用于实现再配置的场景开始介绍,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图9为本申请实施例提供的配置变更的方法的一个流程示意图,请参阅图9,该方法包括:
901、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
步骤901的具体说明可参考上述实施例中步骤201的相关说明内容,步骤901与步骤201的区别在于,客户端向服务器下发的配置请求中,其所包含的补丁信息用于指示需要获取再配置补丁报文。当服务器代理接收并解析该配置请求后,可将补丁信息的取值进行修改,使得补丁信息用于指示需要获取回滚补丁报文,即将补丁信息的取值由need redo-patch修改为need undo-patch。
902、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
步骤902的具体说明可参考上述实施例中步骤202的相关说明内容,此处不再赘述。
903、服务器数据库保存配置对象的新数据、配置对象在配置信息中对应的配置操作、配置对象的旧数据以及配置对象在配置信息中对应的配置操作的逆操作;
需要说明的是,在服务器代理接收到配置请求之后,在服务器代理生成配置信息之前,服务器代理会先发送事务开始请求至服务器数据库。服务器数据库基于该事务开始请求,可以预先开设第一临时数据集。在服务器数据库接收到服务器代理发送的配置信息之后,在服务器数据库确定配置对象之前,服务器数据库可以解析配置信息,得到取值为needundo-patch的补丁信息,并基于该补丁信息,再开设第二临时数据集。
服务器数据库确定配置对象之后,可将配置对象、配置对象的新数据以及配置对象在配置信息中对应的配置操作存入第一临时数据集,并将配置对象、配置对象的旧数据以及配置对象在配置信息中对应的配置操作的逆操作存入第二临时数据集。
904、服务器数据库根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文;
服务器数据库完成配置变更后,则从第二临时数据集中提取配置对象、配置对象的旧数据和配置对象所对应的配置操作的逆操作,并将配置对象、配置对象的旧数据以及配置对象所对应的配置操作的逆操作构造在回滚补丁报文中,即undo-patch。
905、服务器数据库删除保存的配置对象的旧数据和配置对象对应的配置操作的逆操作;
服务器数据库得到undo-patch后,则删除第二临时数据集,即删除配置对象、保存的配置对象的旧数据和配置对象对应的配置操作的逆操作。
906、服务器数据库将回滚补丁报文发送至服务器代理;
服务器数据库删除第二临时数据集后,则将undo-patch发送至服务器代理。
907、服务器代理对回滚补丁报文进行逆解析,得到配置变更信息;
服务器代理接收来自服务器数据库的undo-patch后,可对undo-patch进行逆解析,得到配置对象所对应的配置操作,需要说明的是,由于配置数据集的配置对象还未执行配置变更,故配置对象所对应的配置操作即服务器数据库对配置对象即将执行的配置操作。此时,配置变更信息所包括的配置对象所对应的配置操作可表征配置数据集即将发生的配置变更情况。
908、服务器代理将配置变更信息发送至目标应用;
服务器代理得到配置对象所对应的配置操作后,则将配置对象和配置对象所对应的配置操作构造在配置变更信息中,并发送至目标应用,以通知目标应用关于配置数据集即将发生的配置变更情况。
909、服务器代理接收来自目标业务的第一应答信息;
目标应用接收到配置对象和配置对象所对应的配置操作后,可确定配置数据集中哪一部分配置节点准备执行配置变更,进而对业务数据进行相应的处理,若处理成功则表明目标应用接受服务器数据库对配置对象即将执行的配置操作,即接受配置数据集即将发生的配置变更情况,则目标应用可向服务器代理返回第一应答信息,用于向服务器代理指示目标应用接受服务器数据库对配置对象即将执行的配置操作。
910、服务器代理发送变更请求至服务器数据库;
当服务器代理接收到第一应答消息时,可确定目标应用接受配置数据集即将发生的配置变更情况,故服务器代理可以通知服务器数据库执行配置变更。具体的,服务器代理可生成一个事务结束请求,例如一个用于指示服务器数据库执行配置变更的变更请求,并发送至服务器数据库,以使得服务器数据库执行配置变更。
911、服务器数据库根据保存的配置对象对应的配置操作执行配置变更;
当服务器数据库接收到变更请求后,基于该变更请求,服务器数据库从第一临时数据集中提取配置对象、配置对象的新数据以及配置对象所对应的配置操作,并根据配置对象的新数据以及配置对象所对应的配置操作对配置对象执行配置变更。其中,配置变更的具体过程可参考上述实施例中步骤204的相关说明部分,此处不再赘述。
912、服务器数据库根据保存的配置对象的新数据和配置对象对应的配置操作构造再配置补丁报文;
在客户端向服务器代理下发的配置请求中,其包含的原始补丁信息指示客户端需要获取再配置补丁报文,表明客户端需要进行再配置。服务器代理所生成的变更请求,还可用于指示服务器数据库生成redo-patch。故在服务器数据库执行配置变更后,可根据配置对象和配置对象所对应的配置操作构造再配置补丁报文,即redo-patch。
913、服务器数据库删除保存的配置对象的新数据和配置对象对应的配置操作;
服务器数据库生成redo-patch,则删除第一临时数据库,即删除保存的配置对象、配置对象的新数据和配置对象对应的配置操作。
914、服务器数据库将再配置补丁报文发送服务器代理;
服务器数据库删除第一临时数据库后,则将redo-patch返回至服务器代理。
915、服务器代理发送再配置补丁报文至客户端。
在客户端向服务器代理下发的配置请求中,其包含的补丁信息指示客户端需要获取再配置补丁报文,表明客户端需要对其余台服务器进行相同配置变更操作的需求,故服务器代理可将已经生成的redo-patch直接发送至客户端。需要说明的是,redo-patch包含配置对象所对应的配置操作,故客户端也可通过从redo-patch提取配置对象所对应的配置操作,进而确定服务器数据库的配置变更情况。
本申请实施例中,服务器可自主生成再配置补丁报文,通过该补丁报文可直接通知客户端关于服务器数据库的配置变更情况,可以有效减轻客户端的逻辑分析压力。更进一步地,客户端还可以通过该再配置补丁报文对其余服务器进行相同的配置变更,客户端基于该再配置变更报文所生成的配置请求,仅包含配置对象的相关信息,不包含有其他非配置对象的相关信息,可有效避免信息冗余,降低服务器的信息处理压力。
以上具体介绍了本申请实施例用于实现再配置的场景,接下来将继续介绍本申请实施例用于实现拒绝配置的场景,并以服务器的角度对本申请实施例提供的配置变更的方法进行具体说明。图10为本申请实施例提供的配置变更的方法的另一个流程示意图,请参阅图10,该方法包括:
1001、服务器代理接收来自客户端的配置请求,并根据配置请求生成配置信息发送给服务器数据库;
1002、服务器数据库根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
1003、服务器数据库保存配置对象的新数据、配置对象在配置信息中对应的配置操作、配置对象的旧数据以及配置对象在配置信息中对应的配置操作的逆操作;
1004、服务器数据库根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文;
1005、服务器数据库删除保存的配置对象的旧数据和配置对象对应的配置操作的逆操作;
1006、服务器数据库将回滚补丁报文发送至服务器代理;
1007、服务器代理对回滚补丁报文进行逆解析,得到配置变更信息;
1008、服务器代理将配置变更信息发送至目标应用;
步骤1001至步骤1008的具体说明可参考上述实施例步骤901至步骤908的相关说明部分,此处不再赘述。
1009、服务器代理接收来自目标业务的第二应答信息;
目标应用接收到配置对象和配置对象所对应的配置操作后,可确定配置数据集中哪一部分配置节点准备执行配置变更,进而对业务数据进行相应的处理,若处理失败则表明目标应用不接受服务器数据库对配置对象即将执行的配置操作,即不接受配置数据集即将发生的配置变更情况,则目标应用可向服务器代理返回第二应答信息,用于向服务器代理指示目标应用不接受服务器数据库对配置对象即将执行的配置操作。
1010、服务器代理发送删除请求至服务器数据库;
当服务器代理接收到第二应答消息时,可确定目标应用不接受配置数据集即将发生的配置变更情况,故服务器代理可以通知服务器数据库不执行配置变更。具体的,服务器代理可生成一个事务结束请求,例如一个用于指示服务器数据库不执行配置变更的删除请求,并发送至服务器数据库,以使得服务器数据删除临时数据库,即删除保存的所述配置对象对应的配置操作和所述配置对象的新数据。
1011、服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据;
当服务器数据库接收到删除请求后,基于该删除请求,服务器数据库删除整个第一临时数据库,即删除保存的配置对象对应的配置操作和配置对象的新数据。至此,服务器数据库并未执行配置变更,即拒绝执行配置变更操作。
1012、服务器代理发送第二应答信息至客户端。
服务器代理接收到来自目标应用的第二应答信息后,可将第二应答消息发送至客户端,以向客户端指示其对服务器的配置变更操作失败。
应理解,步骤1012和步骤1010可同步进行也可异步进行,若两个步骤异步进行,两个步骤的执行先后顺序可根据实际需求进行设置,此处不做限制。
本申请实施例中,当服务器确定目标应用不接受配置数据集即将发生的配置变更情况后,服务器可自主拒绝执行配置变更操作,维持配置数据集的原始状态,提高了方案的灵活度。
以上是对本申请实施例提供的配置变更的方法进行的详细说明,以下将对本申请实施例提供的服务器的结构和连接关系进行具体介绍,图11为本申请实施例提供的服务器数据库的一个结构示意图,请参阅图11,该服务器数据库1100可以为上述图2至图5所示任一实施例中的服务器数据库,该服务器数据库1100包括:
接收模块1101,用于接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息,具体实现过程可以参考上述图2所示实施例中步骤201的具体描述,此处不再赘述;
处理模块1102,用于根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象,具体实现过程可以参考上述图2所示实施例中步骤202的具体描述,此处不再赘述;
处理模块1102,还用于根据配置对象在配置信息中对应的配置操作执行配置变更,并根据补丁信息以及配置变更构造回滚补丁报文,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据,具体实现过程可以参考上述图2所示实施例中步骤204和步骤206的具体描述,此处不再赘述;
发送模块1103,用于将回滚补丁报文发送给服务器代理,具体实现过程可以参考上述图2所示实施例中步骤208的具体描述,此处不再赘述。
可选的,处理模块1102还用于:
保存配置对象的旧数据,具体实现过程可以参考上述图2所示实施例中步骤203的具体描述,此处不再赘述;
根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作,具体实现过程可以参考上述图2所示实施例中步骤205的具体描述,此处不再赘述;
根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文,具体实现过程可以参考上述图2所示实施例中步骤206的具体描述,此处不再赘述。
可选的,处理模块1102,还用于删除保存的配置对象的旧数据和配置对象在配置信息中对应的配置操作的逆操作,具体实现过程可以参考上述图2所示实施例中步骤207的具体描述,此处不再赘述。
可选的,接收模块1101,还用于接收来自服务器代理的回滚请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作,具体实现过程可以参考上述图4所示实施例中步骤413的具体描述或上述图5所示实施例中步骤514的具体描述,此处不再赘述;
处理模块1102,还用于根据配置对象在回滚请求中对应的逆操作执行配置回滚,具体实现过程可以参考上述图4所示实施例中步骤414的具体描述或上述图5所示实施例中步骤515的具体描述,此处不再赘述。
可选的,回滚补丁报文采用树形结构,其中,所有配置对象的旧数据,以及对所有配置对象执行的配置操作的逆操作以树形结构呈现,具体实现过程可以参考上述图2所示实施例中步骤206的具体描述,此处不再赘述。
可选的,回滚补丁报文采用条目记录,其中,一个条目包括一个配置对象的旧数据,以及对一个配置对象执行的配置操作的逆操作或一个条目包括对一个配置对象执行的配置操作的逆操作,具体实现过程可以参考上述图2所示实施例中步骤206的具体描述,此处不再赘述。
图12为本申请实施例提供的服务器代理的一个结构示意图,请参阅图12,该服务器代理1200可以为上述图2至图5所示任一实施例中的服务器代理,该服务器代理1200包括:
第一接收模块1201,用于接收来自客户端的配置请求,具体实现过程可以参考上述图2所示实施例中步骤201的具体描述,此处不再赘述;
处理模块1202,用于根据配置请求生成配置信息,具体实现过程可以参考上述图2所示实施例中步骤201的具体描述或图3所示实施例中步骤301的具体描述或图4所示实施例中步骤401的具体描述或图5所示实施例中步骤501的具体描述,此处不再赘述;
发送模块1203,用于将配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息,具体实现过程可以参考上述图2所示实施例中步骤201的具体描述,此处不再赘述;
第二接收模块1204,用于接收来自服务器数据库的回滚补丁报文,回滚补丁报文为服务器数据库根据配置信息对目标对象中需要进行配置变更的配置对象进行配置变更后构造的,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据,具体实现过程可以参考上述图2所示实施例中步骤208的具体描述,此处不再赘述。
可选的,处理模块1202,还用于对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作,具体实现过程可以参考上述图2所示实施例中步骤209的具体描述,此处不再赘述。
可选的,发送模块1203,还用于将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用,具体实现过程可以参考上述图2所示实施例中步骤210的具体描述,此处不再赘述。
可选的,第二接收模块1204,还用于接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受对配置对象执行的配置操作,具体实现过程可以参考上述图2所示实施例中步骤211的具体描述,此处不再赘述。
可选的,若配置请求包括用于指示需要获取回滚补丁报文的补丁信息,则发送模块1203,还用于将回滚补丁报文发送至客户端,具体实现过程可以参考上述图5所示实施例中步骤512的具体描述,此处不再赘述。
可选的,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则处理模块1202,还用于根据对配置对象执行的配置操作构造变更补丁报文,具体实现过程可以参考上述图2所示实施例中步骤212的具体描述,此处不再赘述;
发送模块1203,还用于将变更补丁报文发送至客户端,具体实现过程可以参考上述图2所示实施例中步骤213的具体描述,此处不再赘述。
可选的,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则处理模块1202,还用于获取配置对象的新数据,并根据对配置对象执行的配置操作和配置对象的新数据构造再配置补丁报文,具体实现过程可以参考上述图3所示实施例中步骤312的具体描述,此处不再赘述;
发送模块1203,还用于将再配置补丁报文发送至客户端,具体实现过程可以参考上述图3所示实施例中步骤313的具体描述,此处不再赘述。
可选的,第二接收模块1204,还用于接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象执行的配置操作,具体实现过程可以参考上述图4所示实施例中步骤411的具体描述,此处不再赘述;
处理模块1202,还用于根据回滚补丁报文所包括的配置对象的旧数据和对配置对象执行的配置操作的逆操作构造回滚请求,具体实现过程可以参考上述图4所示实施例中步骤412的具体描述,此处不再赘述;
发送模块1203,还用于将回滚请求发送至服务器数据库,具体实现过程可以参考上述图4所示实施例中步骤413的具体描述,此处不再赘述;
发送模块1203,还用于将第二应答信息发送至客户端,具体实现过程可以参考上述图4所示实施例中步骤415的具体描述,此处不再赘述。
可选的,第一接收模块1201,还用于接收来自客户端的回滚请求,回滚请求为基于回滚补丁报文所生成的请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作,具体实现过程可以参考上述图5所示实施例中步骤513的具体描述,此处不再赘述;
发送模块1203,还用于将回滚请求发送至服务器数据库,具体实现过程可以参考上述图5所示实施例中步骤514的具体描述,此处不再赘述。
图13为本申请实施例提供的服务器的一个结构示意图,请参阅图13,该服务器1300包括如图11所示的服务器数据库1100和如图12所示的服务器代理1200。
图14为本申请实施例提供的服务器数据库的另一个结构示意图,请参阅图14,该服务器数据库1400可以为上述图6至图8所示任一实施例中的服务器数据库,该服务器数据库1400包括:
接收模块1401,用于接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取再配置补丁报文的补丁信息,具体实现过程可以参考上述图6所示实施例中步骤601的具体描述,此处不再赘述;
处理模块1402,用于根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象,具体实现过程可以参考上述图6所示实施例中步骤602的具体描述,此处不再赘述;
处理模块1402,还用于保存配置对象在配置信息中对应的配置操作和配置对象的新数据,并根据保存的配置对象对应的配置操作和配置对象的新数据构造再配置补丁报文,具体实现过程可以参考上述图6所示实施例中步骤603和步骤604的具体描述,此处不再赘述;
发送模块1403,用于将再配置补丁报文发送给服务器代理,具体实现过程可以参考上述图6所示实施例中步骤605的具体描述,此处不再赘述;
接收模块1401,还用于接收来自服务器代理的变更请求,变更请求用于指示服务器数据库执行配置变更,具体实现过程可以参考上述图6所示实施例中步骤609的具体描述,此处不再赘述;
处理模块1402,还用于根据保存的配置对象对应的配置操作执行配置变更,具体实现过程可以参考上述图6所示实施例中步骤610的具体描述,此处不再赘述。
可选的,接收模块1401,还用于接收来自服务器代理的删除请求,具体实现过程可以参考上述图8所示实施例中步骤809的具体描述,此处不再赘述;
处理模块1402,还用于根据删除请求删除保存的配置对象对应的配置操作和配置对象的新数据,具体实现过程可以参考上述图8所示实施例中步骤810的具体描述,此处不再赘述。
可选的,再配置补丁报文采用树形结构,其中,所有配置对象的新数据,以及所有配置对象对应的配置操作以树形结构呈现,具体实现过程可以参考上述图3所示实施例中步骤312的具体描述,此处不再赘述。
可选的,再配置补丁报文采用条目记录,其中,一个条目包括一个配置对象的新数据,以及一个配置对象对应的配置操作或一个条目包括对一个配置对象执行的配置操作,具体实现过程可以参考上述图3所示实施例中步骤312的具体描述,此处不再赘述。
图15为本申请实施例提供的服务器代理的另一个结构示意图,请参阅图15,该服务器代理1500可以为上述图6至图8所示任一实施例中的服务器代理,该服务器代理1500包括:
第一接收模块1501,用于接收来自客户端的配置请求,具体实现过程可以参考上述图6所示实施例中步骤601的具体描述,此处不再赘述;
处理模块1502,用于根据配置请求生成配置信息,具体实现过程可以参考上述图6所示实施例中步骤601的具体描述图7所示实施例中步骤701的具体描述或图8所示实施例中步骤801的具体描述,此处不再赘述;
发送模块1503,用于将配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取再配置补丁报文的补丁信息,具体实现过程可以参考上述图6所示实施例中步骤601的具体描述,此处不再赘述;
第二接收模块1504,用于接收来自服务器数据库的再配置补丁报文,再配置补丁报文为服务器数据库根据配置信息从目标对象中确定需要进行配置变更的配置对象后构造的,再配置补丁报文包括配置对象在配置信息中对应的配置操作和配置对象的新数据,具体实现过程可以参考上述图6所示实施例中步骤605的具体描述,此处不再赘述;
处理模块1502,还用于从再配置补丁报文中获取配置变更信息,配置变更信息包括配置对象对应的配置操作,具体实现过程可以参考上述图6所示实施例中步骤606的具体描述,此处不再赘述;
发送模块1503,还用于将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用,具体实现过程可以参考上述图6所示实施例中步骤607的具体描述,此处不再赘述;
第二接收模块1504,还用于若接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受配置对象对应的配置操作,具体实现过程可以参考上述图6所示实施例中步骤608的具体描述,此处不再赘述;
发送模块1503,还用于发送变更请求至服务器数据库,变更请求用于指示服务器数据库执行配置变更,具体实现过程可以参考上述图6所示实施例中步骤609的具体描述,此处不再赘述。
可选的,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则发送模块1503,还用于将再配置补丁报文发送至客户端,具体实现过程可以参考上述图7所示实施例中步骤711的具体描述,此处不再赘述。
可选的,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则处理模块1502,还用于根据配置对象对应的配置操作构造变更补丁报文,具体实现过程可以参考上述图6所示实施例中步骤611的具体描述,此处不再赘述;
发送模块1503,还用于将变更补丁报文发送至客户端,具体实现过程可以参考上述图6所示实施例中步骤612的具体描述,此处不再赘述。
可选的,第二接收模块1504,还用于若接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作,具体实现过程可以参考上述图8所示实施例中步骤808的具体描述,此处不再赘述;
发送模块1503,还用于发送删除请求至服务器数据库,删除请求用于指示服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据,具体实现过程可以参考上述图8所示实施例中步骤809的具体描述,此处不再赘述;
发送模块1503,还用于将第二应答信息发送至客户端,具体实现过程可以参考上述图8所示实施例中步骤811的具体描述,此处不再赘述。
图16为本申请实施例提供的服务器的另一个结构示意图,请参阅图16,该服务器1600包括如图14所示的服务器数据库1400和图15所示的服务器代理1500。
从再配置补丁报文中获取配置变更信息,配置变更信息包括配置对象对应的配置操作将配置变更信息发送至目标应用图17为本申请实施例提供的服务器数据库的另一个结构示意图,请参阅图17,该服务器数据库1700可以为上述图9至图10所示任一实施例中的服务器数据库,该服务器数据库1700包括:
接收模块1701,用于接收来自服务器代理的配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息,具体实现过程可以参考上述图9所示实施例中步骤901的具体描述,此处不再赘述;
处理模块1702,用于根据接收的配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象,具体实现过程可以参考上述图9所示实施例中步骤902的具体描述,此处不再赘述;
处理模块1702,还用于保存配置对象的新数据、配置对象在配置信息中对应的配置操作、配置对象的旧数据以及配置对象在配置信息中对应的配置操作的逆操作,具体实现过程可以参考上述图9所示实施例中步骤903的具体描述,此处不再赘述;
处理模块1702,还用于根据保存的配置对象的旧数据和配置对象对应的配置操作的逆操作构造回滚补丁报文,具体实现过程可以参考上述图9所示实施例中步骤904的具体描述,此处不再赘述;
发送模块1703,用于将回滚补丁报文发送至服务器代理,具体实现过程可以参考上述图9所示实施例中步骤906的具体描述,此处不再赘述;
接收模块1701,还用于接收来自服务器代理的变更请求,变更请求用于指示服务器数据库执行配置变更,具体实现过程可以参考上述图9所示实施例中步骤910的具体描述,此处不再赘述;
处理模块1702,还用于根据保存的配置对象对应的配置操作执行配置变更,具体实现过程可以参考上述图9所示实施例中步骤911的具体描述,此处不再赘述。
可选的,处理模块1702,还用于根据保存的配置对象的新数据和配置对象对应的配置操作构造再配置补丁报文,具体实现过程可以参考上述图9所示实施例中步骤912的具体描述,此处不再赘述;
处理模块1702,还用于删除保存的配置对象的新数据和配置对象对应的配置操作,具体实现过程可以参考上述图9所示实施例中步骤913的具体描述,此处不再赘述;
发送模块1703,还用于将再配置补丁报文发送服务器代理,具体实现过程可以参考上述图9所示实施例中步骤914的具体描述,此处不再赘述。
可选的,处理模块1702,还用于删除保存的配置对象的旧数据和配置对象对应的配置操作的逆操作,具体实现过程可以参考上述图9所示实施例中步骤905的具体描述,此处不再赘述。
可选的,接收模块1701,还用于接收来自服务器代理的删除请求,具体实现过程可以参考上述图10所示实施例中步骤1010的具体描述,此处不再赘述;
处理模块1702,还用于根据删除请求删除保存的配置对象对应的配置操作和配置对象的新数据,具体实现过程可以参考上述图10所示实施例中步骤1011的具体描述,此处不再赘述。
可选的,回滚补丁报文采用树形结构,其中,所有配置对象的旧数据,以及所有配置对象对应的配置操作的逆操作以树形结构呈现,具体实现过程可以参考上述图2所示实施例中步骤206的具体描述,此处不再赘述。
可选的,回滚补丁报文采用条目记录,其中,一个条目包括一个配置对象的旧数据,以及一个配置对象对应的配置操作的逆操作或一个条目包括一个配置对象对应的配置操作的逆操作,具体实现过程可以参考上述图2所示实施例中步骤206的具体描述,此处不再赘述。
可选的,再配置补丁报文采用树形结构,其中,所有配置对象的新数据,以及所有配置对象对应的配置操作以树形结构呈现,具体实现过程可以参考上述图3所示实施例中步骤312的具体描述,此处不再赘述。
可选的,再配置补丁报文采用条目记录,其中,一个条目包括一个配置对象的新数据,以及一个配置对象对应的配置操作或一个条目包括一个配置对象对应的配置操作,具体实现过程可以参考上述图3所示实施例中步骤312的具体描述,此处不再赘述。
图18为本申请实施例提供的服务器代理的另一个结构示意图,请参阅图18,该服务器代理1800可以为上述图9至图10所示任一实施例中的服务器代理,该服务器代理1800包括:
第一接收模块1801,用于接收来自客户端的配置请求,具体实现过程可以参考上述图9所示实施例中步骤901的具体描述,此处不再赘述;
处理模块1802,用于根据配置请求生成配置信息,具体实现过程可以参考上述图9所示实施例中步骤901的具体描述,此处不再赘述;
发送模块1803,用于将配置信息发送给服务器数据库,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息,具体实现过程可以参考上述图9所示实施例中步骤901的具体描述,此处不再赘述;
第二接收模块1804,用于接收来自服务器数据库的回滚补丁报文,回滚补丁报文为服务器数据库根据配置信息从目标对象中确定需要进行配置变更的配置对象后构造的,回滚补丁报文包括配置对象在配置信息中对应的配置操作的逆操作和配置对象的旧数据,具体实现过程可以参考上述图9所示实施例中步骤906的具体描述,此处不再赘述;
处理模块1802,还用于对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作,具体实现过程可以参考上述图9所示实施例中步骤907的具体描述,此处不再赘述;
发送模块1803,还用于将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用,具体实现过程可以参考上述图9所示实施例中步骤908的具体描述,此处不再赘述;
第二接收模块1804,还用于若接收来自目标业务的第一应答信息,第一应答信息用于指示目标业务接受配置对象对应的配置操作,具体实现过程可以参考上述图9所示实施例中步骤909的具体描述,此处不再赘述;
发送模块1803,还用于发送变更请求至服务器数据库,变更请求用于指示服务器数据库执行配置变更,具体实现过程可以参考上述图9所示实施例中步骤910的具体描述,此处不再赘述。
可选的,配置请求包括用于指示需要获取再配置补丁报文的补丁信息,服务器代理1800,还包括:
第二接收模块1804,还用于接收来自服务器数据库的再配置补丁报文,再配置补丁报文包括配置对象的新数据和配置对象在配置信息中对应的配置操作,具体实现过程可以参考上述图9所示实施例中步骤914的具体描述,此处不再赘述;
发送模块1803,还用于发送再配置补丁报文至客户端,具体实现过程可以参考上述图9所示实施例中步骤915的具体描述,此处不再赘述。
可选的,第二接收模块1804,还用于若接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象对应的配置操作,具体实现过程可以参考上述图10所示实施例中步骤1009的具体描述,此处不再赘述;
发送模块1803,还用于发送删除请求至服务器数据库,删除请求用于指示服务器数据库删除保存的配置对象对应的配置操作和配置对象的新数据,具体实现过程可以参考上述图9所示实施例中步骤1010的具体描述,此处不再赘述;
发送模块1803,还用于将第二应答信息发送至客户端,具体实现过程可以参考上述图9所示实施例中步骤1012的具体描述,此处不再赘述。
图19为本申请实施例提供的服务器的另一个结构示意图,请参阅图19,该服务器1900包括如图17所示的服务器数据库1700和如图18所示的服务器代理1800。
需要说明的是,上述装置各模块/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其带来的技术效果与本申请方法实施例相同,具体内容可参见本申请前述所示的方法实施例中的叙述,此处不再赘述。
图20为本申请实施例提供的服务器的另一结构示意图,该服务器包括:一个或一个以上处理器2001,存储器2002,输入输出接口2003,电源2004;
存储器2002为短暂存储存储器或持久存储存储器。更进一步地,处理器2001配置为与存储器2002通信,在服务器上执行存储器2002中的一系列指令操作。存储器2002可以位于处理器2001之外,也可以位于处理器2001之中。
具体的,处理器2001用于执行如下步骤:
根据来自客户端的配置请求生成配置信息,配置信息包括目标对象,对应目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
根据配置信息以及本地配置信息从目标对象中确定出需要进行配置变更的配置对象;
根据配置对象在配置信息中对应的配置操作执行配置变更,并根据补丁信息以及配置变更构造回滚补丁报文,回滚补丁报文包括配置变更过程中对配置对象执行的配置操作的逆操作和配置对象的旧数据。
上述步骤的具体实现方式可以参考上述图2所示实施例中步骤201(或图3所示实施例中步骤301或图4所示实施例中步骤401或图5所示实施例中步骤501)、步骤202、步骤204、步骤205和步骤206的处理过程,此处不再赘述。
在另外的实施例中,处理器2001还可进一步执行图2所示实施例中步骤203,步骤207至步骤213或处理器2001还可进一步执行图3所示实施例中步骤303,步骤,307至步骤313或处理器2001还可进一步执行图4所示实施例中步骤403,步骤407至步骤415或处理器2001还可进一步执行图5所示实施例中503,步骤507至步骤515。
此外,上述图11至图19中的模块为软件实现时,如服务器数据库的接收模块、处理模块和发送模块,又如服务器代理的第一接收模块、处理模块、发送模块和第二接收模块,被处理器2001执行以实现上述图中描述的该模块的功能和处理。
本申请实施例还涉及一种计算机可读存储介质,包括程序指令,其特征在于,当所述程序指令在计算机设备上运行时,使得所述计算机设备执行如图2至图10所对应的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (43)
1.一种配置变更的方法,其特征在于,所述方法包括:
服务器数据库接收来自服务器代理的配置信息,所述配置信息包括目标对象,对应所述目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
所述服务器数据库根据接收的所述配置信息以及本地配置信息从所述目标对象中确定出需要进行配置变更的配置对象;
所述服务器数据库根据所述配置对象在所述配置信息中对应的配置操作执行配置变更,并根据所述补丁信息以及所述配置变更构造所述回滚补丁报文,所述回滚补丁报文包括配置变更过程中对所述配置对象执行的配置操作的逆操作和所述配置对象的旧数据;
所述服务器数据库将所述回滚补丁报文发送给所述服务器代理。
2.根据权利要求1所述的方法,其特征在于,所述服务器数据库根据所述配置对象在所述配置信息中对应的配置操作执行配置变更之前,还包括:
所述服务器数据库保存所述配置对象的旧数据;
所述根据所述补丁信息以及所述配置变更构造所述回滚补丁报文,包括:
所述服务器数据库根据所述补丁信息提取保存的所述配置对象的旧数据,并获取对所述配置对象执行的配置操作的逆操作;
所述服务器数据库根据所述配置对象的旧数据以及对所述配置对象执行的配置操作的逆操作构造所述回滚补丁报文。
3.根据权利要求2所述的方法,其特征在于,所述服务器数据库根据所述配置对象的旧数据以及对所述配置对象执行的配置操作的逆操作构造所述回滚补丁报文之后,所述服务器数据库将所述回滚补丁报文发送给所述服务器代理之前,还包括:
所述服务器数据库删除保存的所述配置对象的旧数据和所述配置对象在所述配置信息中对应的配置操作的逆操作。
4.根据权利要求1至3任意一项所述的方法,其特征在于,所述服务器数据库将所述回滚补丁报文发送给所述服务器代理之后,还包括:
所述服务器数据库接收来自所述服务器代理的回滚请求,所述回滚请求包括所述配置对象的旧数据和对所述配置对象执行的配置操作的逆操作;
所述服务器数据库根据所述配置对象在所述回滚请求中对应的逆操作执行配置回滚。
5.根据权利要求1至3任意一项所述的方法,其特征在于,所述回滚补丁报文采用树形结构,其中,所有所述配置对象的旧数据,以及对所有所述配置对象执行的配置操作的逆操作以所述树形结构呈现。
6.根据权利要求1至3任意一项所述的方法,其特征在于,所述回滚补丁报文采用条目记录,其中,一个条目包括一个所述配置对象的旧数据,以及对一个所述配置对象执行的配置操作的逆操作或一个条目包括对一个所述配置对象执行的配置操作的逆操作。
7.一种配置变更的方法,其特征在于,所述方法包括:
服务器代理接收来自客户端的配置请求,并根据所述配置请求生成配置信息发送给服务器数据库,所述配置信息包括目标对象,对应所述目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
所述服务器代理接收来自所述服务器数据库的所述回滚补丁报文,所述回滚补丁报文为所述服务器数据库根据所述配置信息对所述目标对象中需要进行配置变更的配置对象进行配置变更后构造的,所述回滚补丁报文包括配置变更过程中对所述配置对象执行的配置操作的逆操作和所述配置对象的旧数据。
8.根据权利要求7所述的方法,其特征在于,所述服务器代理接收来自所述服务器数据库的所述回滚补丁报文之后,还包括:
所述服务器代理对所述回滚补丁报文进行逆解析,得到配置变更信息,所述配置变更信息包括对所述配置对象执行的配置操作。
9.根据权利要求8所述的方法,其特征在于,所述服务器代理对所述回滚补丁报文进行逆解析,得到配置变更信息之后,还包括:
所述服务器代理将所述配置变更信息发送至目标应用,所述目标应用为订阅配置变更信息的应用。
10.根据权利要求9所述的方法,其特征在于,所述服务器代理将所述配置变更信息发送至目标应用之后,还包括:
所述服务器代理接收来自所述目标应用的第一应答信息,所述第一应答信息用于指示所述目标应用接受对所述配置对象执行的配置操作。
11.根据权利要求10所述的方法,其特征在于,若所述配置请求包括所述用于指示需要获取回滚补丁报文的补丁信息,则所述服务器代理接收来自所述目标应用的第一应答信息之后,还包括:
所述服务器代理将所述回滚补丁报文发送至所述客户端。
12.根据权利要求10所述的方法,其特征在于,若所述配置请求包括用于指示需要获取变更补丁报文的补丁信息,则所述服务器代理接收来自所述目标应用的第一应答信息之后,还包括:
所述服务器代理根据对所述配置对象执行的配置操作构造变更补丁报文;
所述服务器代理将所述变更补丁报文发送至所述客户端。
13.根据权利要求10所述的方法,其特征在于,若所述配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则所述服务器代理接收来自所述目标应用的第一应答信息之后,还包括:
所述服务器代理获取所述配置对象的新数据,并根据对所述配置对象执行的配置操作和所述配置对象的新数据构造再配置补丁报文;
所述服务器代理将所述再配置补丁报文发送至所述客户端。
14.根据权利要求9所述的方法,其特征在于,所述服务器代理将所述配置变更信息发送至目标应用之后,还包括:
所述服务器代理接收来自所述目标应用的第二应答信息,所述第二应答信息用于指示所述目标应用不接受对所述配置对象执行的配置操作;
所述服务器代理根据所述回滚补丁报文所包括的所述配置对象的旧数据和对所述配置对象执行的配置操作的逆操作构造回滚请求;
所述服务器代理将所述回滚请求发送至所述服务器数据库;
所述服务器代理将所述第二应答信息发送至所述客户端。
15.根据权利要求11所述的方法,其特征在于,所述服务器代理将所述回滚补丁报文发送至所述客户端之后还包括:
所述服务器代理接收来自所述客户端的回滚请求,所述回滚请求为基于所述回滚补丁报文所生成的请求,所述回滚请求包括所述配置对象的旧数据和对所述配置对象执行的配置操作的逆操作;
所述服务器代理将所述回滚请求发送至所述服务器数据库。
16.一种配置变更的方法,其特征在于,所述方法包括:
服务器接收来自客户端的配置请求,并根据所述配置请求生成配置信息,所述配置信息包括目标对象,对应所述目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
所述服务器根据所述配置信息以及本地配置信息从所述目标对象中确定出需要进行配置变更的配置对象;
所述服务器根据所述配置对象在所述配置信息中对应的配置操作执行配置变更,并根据所述补丁信息以及所述配置变更构造所述回滚补丁报文,所述回滚补丁报文包括配置变更过程中对所述配置对象执行的配置操作的逆操作和所述配置对象的旧数据。
17.根据权利要求16所述的配置变更的方法,其特征在于,所述服务器根据所述配置对象在所述配置信息中对应的配置操作执行配置变更之前,还包括:
所述服务器保存所述配置对象的旧数据;
所述根据所述补丁信息以及所述配置变更构造所述回滚补丁报文,包括:
所述服务器根据所述补丁信息提取保存的所述配置对象的旧数据,并获取对所述配置对象执行的配置操作的逆操作;
所述服务器根据所述配置对象的旧数据以及对所述配置对象执行的配置操作的逆操作构造所述回滚补丁报文。
18.根据权利要求17所述的配置变更的方法,其特征在于,所述服务器根据所述配置对象的旧数据以及对所述配置对象执行的配置操作的逆操作构造所述回滚补丁报文之后,还包括:
所述服务器删除保存的所述配置对象的旧数据和所述配置对象在所述配置信息中对应的配置操作的逆操作。
19.根据权利要求16至18任意一项所述的配置变更的方法,其特征在于,所述服务器根据所述配置对象在所述配置信息中对应的配置操作执行配置变更,并根据所述补丁信息以及所述配置变更构造所述回滚补丁报文之后,还包括:
所述服务器对所述回滚补丁报文进行逆解析,得到配置变更信息,所述配置变更信息包括对所述配置对象执行的配置操作。
20.根据权利要求19所述的方法,其特征在于,所述服务器对所述回滚补丁报文进行逆解析,得到配置变更信息之后,还包括:
所述服务器将所述配置变更信息发送至目标应用,所述目标应用为订阅配置变更信息的应用。
21.根据权利要求20所述的方法,其特征在于,所述服务器将所述配置变更信息发送至目标应用之后,还包括:
所述服务器接收来自所述目标应用的第一应答信息,所述第一应答信息用于指示所述目标应用接受对所述配置对象执行的配置操作。
22.根据权利要求21所述的方法,其特征在于,若所述配置请求包括所述用于指示需要获取回滚补丁报文的补丁信息,则所述服务器接收来自所述目标应用的第一应答信息之后,还包括:
所述服务器将所述回滚补丁报文发送至所述客户端。
23.根据权利要求21所述的方法,其特征在于,若所述配置请求包括用于指示需要获取变更补丁报文的补丁信息,则所述服务器接收来自所述目标应用的第一应答信息之后,还包括:
所述服务器根据对所述配置对象执行的配置操作构造变更补丁报文;
所述服务器将所述变更补丁报文发送至所述客户端。
24.根据权利要求21所述的方法,其特征在于,若所述配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则所述服务器接收来自所述目标应用的第一应答信息之后,还包括:
所述服务器获取所述配置对象的新数据,并根据对所述配置对象执行的配置操作和所述配置对象的新数据构造再配置补丁报文;
所述服务器将所述再配置补丁报文发送至所述客户端。
25.根据权利要求21所述的方法,其特征在于,所述服务器将所述配置变更信息发送至目标应用之后,还包括:
所述服务器接收来自所述目标应用的第二应答信息,所述第二应答信息用于指示所述目标应用不接受对所述配置对象执行的配置操作;
所述服务器根据所述回滚补丁报文所包括的所述配置对象的旧数据和对所述配置对象执行的配置操作的逆操作构造回滚请求;
所述服务器根据所述配置对象在所述回滚请求中对应的逆操作执行配置回滚;
所述服务器将所述第二应答信息发送至所述客户端。
26.根据权利要求22所述的方法,其特征在于,所述服务器将所述回滚补丁报文发送至所述客户端之后还包括:
所述服务器接收来自所述客户端的回滚请求,所述回滚请求为基于所述回滚补丁报文所生成的请求,所述回滚请求包括所述配置对象的旧数据和对所述配置对象执行的配置操作的逆操作;
所述服务器根据所述配置对象在所述回滚请求中对应的逆操作执行配置回滚。
27.根据权利要求24所述的方法,其特征在于,所述再配置补丁报文用于指示所述客户端对其余服务器进行配置变更。
28.一种服务器数据库,其特征在于,所述服务器数据库包括:
接收模块,用于接收来自服务器代理的配置信息,所述配置信息包括目标对象,对应所述目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
处理模块,用于根据接收的所述配置信息以及本地配置信息从所述目标对象中确定出需要进行配置变更的配置对象;
根据所述配置对象在所述配置信息中对应的配置操作执行配置变更,并根据所述补丁信息以及所述配置变更构造所述回滚补丁报文,所述回滚补丁报文包括配置变更过程中对所述配置对象执行的配置操作的逆操作和所述配置对象的旧数据;
发送模块,用于将所述回滚补丁报文发送给所述服务器代理。
29.根据权利要求28所述的服务器数据库,其特征在于,所述处理模块还用于:
保存配置对象的旧数据;
根据补丁信息提取保存的配置对象的旧数据,并获取对配置对象执行的配置操作的逆操作;
根据配置对象的旧数据以及对配置对象执行的配置操作的逆操作构造回滚补丁报文。
30.根据权利要求29所述的服务器数据库,其特征在于,所述接收模块,还用于接收来自服务器代理的回滚请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作;
所述处理模块,还用于根据配置对象在回滚请求中对应的逆操作执行配置回滚。
31.一种服务器代理,其特征在于,所述服务器代理包括:
第一接收模块,用于接收来自客户端的配置请求;
处理模块,用于根据所述配置请求生成配置信息;
发送模块,用于将配置信息发送给服务器数据库,所述配置信息包括目标对象,对应所述目标对象的配置操作,以及用于指示需要获取回滚补丁报文的补丁信息;
第二接收模块,用于接收来自所述服务器数据库的所述回滚补丁报文,所述回滚补丁报文为所述服务器数据库根据所述配置信息对所述目标对象中需要进行配置变更的配置对象进行配置变更后构造的,所述回滚补丁报文包括配置变更过程中对所述配置对象执行的配置操作的逆操作和所述配置对象的旧数据。
32.根据权利要求31所述的服务器代理,其特征在于,所述处理模块,还用于对回滚补丁报文进行逆解析,得到配置变更信息,配置变更信息包括对配置对象执行的配置操作。
33.根据权利要求32所述的服务器代理,其特征在于,所述发送模块,还用于将配置变更信息发送至目标应用,目标应用为订阅配置变更信息的应用。
34.根据权利要求33所述的服务器代理,其特征在于,所述第二接收模块,还用于接收来自目标应用的第一应答信息,第一应答信息用于指示目标应用接受对配置对象执行的配置操作。
35.根据权利要求34所述的服务器代理,其特征在于,若配置请求包括用于指示需要获取回滚补丁报文的补丁信息,则所述发送模块,还用于将回滚补丁报文发送至客户端。
36.根据权利要求34所述的服务器代理,其特征在于,若配置请求包括用于指示需要获取变更补丁报文的补丁信息,则所述处理模块,还用于根据对配置对象执行的配置操作构造变更补丁报文;
所述发送模块,还用于将变更补丁报文发送至客户端。
37.根据权利要求34所述的服务器代理,其特征在于,若配置请求包括用于指示需要获取再配置补丁报文的补丁信息,则所述处理模块,还用于获取配置对象的新数据,并根据对配置对象执行的配置操作和配置对象的新数据构造再配置补丁报文;
所述发送模块,还用于将再配置补丁报文发送至客户端。
38.根据权利要求33所述的服务器代理,其特征在于,所述第二接收模块,还用于接收来自目标应用的第二应答信息,第二应答信息用于指示目标应用不接受对配置对象执行的配置操作;
所述处理模块,还用于根据回滚补丁报文所包括的配置对象的旧数据和对配置对象执行的配置操作的逆操作构造回滚请求;
所述发送模块,还用于:
将回滚请求发送至服务器数据库;
将第二应答信息发送至客户端。
39.根据权利要求35所述的服务器代理,其特征在于,所述第一接收模块,还用于接收来自客户端的回滚请求,回滚请求为基于回滚补丁报文所生成的请求,回滚请求包括配置对象的旧数据和对配置对象执行的配置操作的逆操作;
所述发送模块,还用于将回滚请求发送至服务器数据库。
40.一种服务器,其特征在于,所述服务器包括如权利要求28至30任意一项所述的服务器数据库和如权利要求31至39任意一项所述的服务器代理。
41.一种服务器,其特征在于,所述服务器包括:一个或一个以上处理器,输入输出接口,电源;
所述处理器用于执行权利要求1至27中任意一项所述的方法。
42.一种配置变更的***,其特征在于,所述***包括客户端和如权利要求40或41所述的服务器。
43.一种计算机可读存储介质,包括程序指令,其特征在于,当所述程序指令在计算机设备上运行时,使得所述计算机设备执行如权利要求1至27任意一项所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911252740.3A CN112532415B (zh) | 2019-09-19 | 2019-09-19 | 一种配置变更的方法及相关装置 |
CN201910888312.3A CN110391949B (zh) | 2019-09-19 | 2019-09-19 | 一种配置变更的方法及相关装置 |
PCT/CN2020/116618 WO2021052502A1 (zh) | 2019-09-19 | 2020-09-21 | 一种配置变更的方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910888312.3A CN110391949B (zh) | 2019-09-19 | 2019-09-19 | 一种配置变更的方法及相关装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252740.3A Division CN112532415B (zh) | 2019-09-19 | 2019-09-19 | 一种配置变更的方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110391949A true CN110391949A (zh) | 2019-10-29 |
CN110391949B CN110391949B (zh) | 2019-12-13 |
Family
ID=68289704
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252740.3A Active CN112532415B (zh) | 2019-09-19 | 2019-09-19 | 一种配置变更的方法及相关装置 |
CN201910888312.3A Active CN110391949B (zh) | 2019-09-19 | 2019-09-19 | 一种配置变更的方法及相关装置 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911252740.3A Active CN112532415B (zh) | 2019-09-19 | 2019-09-19 | 一种配置变更的方法及相关装置 |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN112532415B (zh) |
WO (1) | WO2021052502A1 (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111130872A (zh) * | 2019-12-19 | 2020-05-08 | 紫光云技术有限公司 | 一种云计算中网络设备配置恢复方法 |
WO2021052502A1 (zh) * | 2019-09-19 | 2021-03-25 | 华为技术有限公司 | 一种配置变更的方法及相关装置 |
WO2021103948A1 (zh) * | 2019-11-26 | 2021-06-03 | ***股份有限公司 | 一种执行配置指令的方法及装置 |
CN113064658A (zh) * | 2019-12-31 | 2021-07-02 | 北京华为数字技术有限公司 | 配置数据的拷贝方法、装置、设备及计算机可读存储介质 |
WO2021147375A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 数据管理方法、装置、设备、计算机可读存储介质及*** |
WO2023071724A1 (zh) * | 2021-10-28 | 2023-05-04 | 华为技术有限公司 | 配置管理的方法、装置、***、存储介质及程序产品 |
CN116389262A (zh) * | 2023-06-02 | 2023-07-04 | 新华三技术有限公司 | 一种配置回滚方法、装置、电子设备及存储介质 |
WO2024139758A1 (zh) * | 2022-12-30 | 2024-07-04 | 华为技术有限公司 | 配置回退点的控制方法、装置、电子设备以及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101163043A (zh) * | 2007-11-08 | 2008-04-16 | 华为技术有限公司 | 一种网络管理功能配置方法以及网络管理功能配置*** |
US20080218309A1 (en) * | 2007-03-06 | 2008-09-11 | Qualcomm Incorporated | Method and technology for remote administration of wireless devices |
CN101977127A (zh) * | 2010-11-26 | 2011-02-16 | 迈普通信技术股份有限公司 | 基于snmp的设备配置回滚方法以及snmp网管设备 |
CN102725999B (zh) * | 2011-06-30 | 2014-08-20 | 华为技术有限公司 | 数据配置方法和电信***设备 |
US20160105316A1 (en) * | 2014-10-10 | 2016-04-14 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
CN107038085A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种客户端应用的修复方法、装置及*** |
CN108632101A (zh) * | 2018-05-31 | 2018-10-09 | 北京百度网讯科技有限公司 | 用于更新配置对象的方法和装置 |
CN109361553A (zh) * | 2018-11-30 | 2019-02-19 | 新华三技术有限公司合肥分公司 | 配置回滚方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6233582B1 (en) * | 1998-05-14 | 2001-05-15 | Sun Microsystems, Inc. | Persistent storage interface for a configuration object-based system |
CN100591022C (zh) * | 2007-11-29 | 2010-02-17 | 上海华为技术有限公司 | 一种实现批配置预激活的方法和装置 |
CN102427409A (zh) * | 2012-01-31 | 2012-04-25 | 迈普通信技术股份有限公司 | 基于网络配置协议的配置数据提交方法及服务器 |
US10289401B1 (en) * | 2016-12-30 | 2019-05-14 | Juniper Networks, Inc | Systems and methods for efficiently downgrading operating systems installed on network devices |
CN110018835B (zh) * | 2018-01-09 | 2022-08-02 | 中兴通讯股份有限公司 | Yang模型配置数据处理方法及装置、终端设备及存储介质 |
CN112532415B (zh) * | 2019-09-19 | 2022-05-17 | 华为技术有限公司 | 一种配置变更的方法及相关装置 |
-
2019
- 2019-09-19 CN CN201911252740.3A patent/CN112532415B/zh active Active
- 2019-09-19 CN CN201910888312.3A patent/CN110391949B/zh active Active
-
2020
- 2020-09-21 WO PCT/CN2020/116618 patent/WO2021052502A1/zh active Application Filing
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080218309A1 (en) * | 2007-03-06 | 2008-09-11 | Qualcomm Incorporated | Method and technology for remote administration of wireless devices |
CN101163043A (zh) * | 2007-11-08 | 2008-04-16 | 华为技术有限公司 | 一种网络管理功能配置方法以及网络管理功能配置*** |
CN101977127A (zh) * | 2010-11-26 | 2011-02-16 | 迈普通信技术股份有限公司 | 基于snmp的设备配置回滚方法以及snmp网管设备 |
CN102725999B (zh) * | 2011-06-30 | 2014-08-20 | 华为技术有限公司 | 数据配置方法和电信***设备 |
US20160105316A1 (en) * | 2014-10-10 | 2016-04-14 | Brocade Communications Systems, Inc. | Distributed configuration management in a switch group |
CN107038085A (zh) * | 2016-02-03 | 2017-08-11 | 阿里巴巴集团控股有限公司 | 一种客户端应用的修复方法、装置及*** |
CN108632101A (zh) * | 2018-05-31 | 2018-10-09 | 北京百度网讯科技有限公司 | 用于更新配置对象的方法和装置 |
CN109361553A (zh) * | 2018-11-30 | 2019-02-19 | 新华三技术有限公司合肥分公司 | 配置回滚方法及装置 |
Non-Patent Citations (1)
Title |
---|
H.ELFAWAL MANSOUR AND T.DILLON,FELLOW,IEEE: "Dependability and Rollback Recovery for Composite Web Services", 《IEEE TRANSACTIONS ON SERVICES COMPUTING》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021052502A1 (zh) * | 2019-09-19 | 2021-03-25 | 华为技术有限公司 | 一种配置变更的方法及相关装置 |
WO2021103948A1 (zh) * | 2019-11-26 | 2021-06-03 | ***股份有限公司 | 一种执行配置指令的方法及装置 |
CN111130872A (zh) * | 2019-12-19 | 2020-05-08 | 紫光云技术有限公司 | 一种云计算中网络设备配置恢复方法 |
CN113064658A (zh) * | 2019-12-31 | 2021-07-02 | 北京华为数字技术有限公司 | 配置数据的拷贝方法、装置、设备及计算机可读存储介质 |
CN113064658B (zh) * | 2019-12-31 | 2023-09-08 | 北京华为数字技术有限公司 | 配置数据的拷贝方法、装置、设备及计算机可读存储介质 |
WO2021147375A1 (zh) * | 2020-01-22 | 2021-07-29 | 华为技术有限公司 | 数据管理方法、装置、设备、计算机可读存储介质及*** |
WO2023071724A1 (zh) * | 2021-10-28 | 2023-05-04 | 华为技术有限公司 | 配置管理的方法、装置、***、存储介质及程序产品 |
WO2024139758A1 (zh) * | 2022-12-30 | 2024-07-04 | 华为技术有限公司 | 配置回退点的控制方法、装置、电子设备以及存储介质 |
CN116389262A (zh) * | 2023-06-02 | 2023-07-04 | 新华三技术有限公司 | 一种配置回滚方法、装置、电子设备及存储介质 |
CN116389262B (zh) * | 2023-06-02 | 2023-08-18 | 新华三技术有限公司 | 一种配置回滚方法、装置、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2021052502A1 (zh) | 2021-03-25 |
CN112532415B (zh) | 2022-05-17 |
CN112532415A (zh) | 2021-03-19 |
CN110391949B (zh) | 2019-12-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110391949A (zh) | 一种配置变更的方法及相关装置 | |
US20190026193A1 (en) | Method and apparatus for executing data recovery operation | |
JP4509916B2 (ja) | Snmp基盤のネットワーク管理装置および方法 | |
CN108306804A (zh) | 一种Ethercat主站控制器及其通信方法和*** | |
CN109656934A (zh) | 基于日志解析的源端Oracle数据库DDL同步方法及设备 | |
CN103905508B (zh) | 云平台应用部署方法及装置 | |
CN103425585B (zh) | 一种osgi集成测试方法 | |
CN109308224A (zh) | 跨平台数据通信、跨平台数据处理的方法、装置及*** | |
CN109840166A (zh) | 一种跨集群对象存储异步备份方法、装置和*** | |
CN110502212A (zh) | 一种面向多语言的高并发在线开发支撑方法 | |
CN112115113B (zh) | 数据存储***、方法、装置、设备以及存储介质 | |
CN105653401A (zh) | 应用***灾备、运维、监控和应急启停调度方法及装置 | |
CN110209741A (zh) | 异构数据源间的数据同步方法、装置和设备 | |
CN106992940A (zh) | 报文处理方法、装置、***及终端 | |
CN102902574B (zh) | 一种多信息流节点的协同处理方法及装置 | |
US20120030311A1 (en) | System and method for inventory data extraction | |
CN110248030A (zh) | 短信补偿机制的测试方法、装置、设备及存储介质 | |
Pullen et al. | Multi-Schema and Multi-Server Advances for C2-Simulation Interoperation in MSG-085 | |
CN104022896B (zh) | 一种配置管理方法、装置及网络设备 | |
CN104270453A (zh) | 一种多级服务器间数据通信方法及服务器 | |
CN105991579B (zh) | 信息发送方法、相关网络设备以及*** | |
CN105450786B (zh) | 一种报文处理方法和装置 | |
CN102156656B (zh) | 虚拟化平台下获取虚拟框槽号的方法和设备 | |
CN112291312B (zh) | Etl数据同步方法及装置、电子设备、存储介质 | |
CN104834724A (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 |