WO2023005858A1 - Configuration updating method and apparatus, and system and computer-readable storage medium - Google Patents

Configuration updating method and apparatus, and system and computer-readable storage medium Download PDF

Info

Publication number
WO2023005858A1
WO2023005858A1 PCT/CN2022/107555 CN2022107555W WO2023005858A1 WO 2023005858 A1 WO2023005858 A1 WO 2023005858A1 CN 2022107555 W CN2022107555 W CN 2022107555W WO 2023005858 A1 WO2023005858 A1 WO 2023005858A1
Authority
WO
WIPO (PCT)
Prior art keywords
network device
version information
data object
data
client
Prior art date
Application number
PCT/CN2022/107555
Other languages
French (fr)
Chinese (zh)
Inventor
马秋方
吴钦
冯冲
Original Assignee
华为技术有限公司
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 华为技术有限公司 filed Critical 华为技术有限公司
Priority to EP22848463.0A priority Critical patent/EP4325791A1/en
Publication of WO2023005858A1 publication Critical patent/WO2023005858A1/en
Priority to US18/423,638 priority patent/US20240171463A1/en

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/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0253Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using browsers or web-pages for accessing management information
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements

Definitions

  • the embodiments of the present application relate to the field of communication technologies, and in particular, to a configuration update method, device, system, and computer-readable storage medium.
  • the network configuration protocol (NETCONF) is a mechanism for managing network devices. Managers can use this mechanism to configure and manage network devices through clients. Wherein, the configuration management includes configuration updating, such as adding, modifying, and deleting configuration data of network devices, and the like.
  • Lock operation and unlock operation are defined in NETCONF.
  • the data set to be updated in the network device must first be locked through the locking operation, and the data set in the lock Update the configuration of the network device in the set state.
  • the client unlocks the data set through an unlock operation, or the client unlocks the data set by closing the session, so that other clients can update the configuration of the network device.
  • the client needs to update the configuration of the network device in the state of locking the data set, so that when the data set in the network device is locked by a client, other clients can no longer Update the configuration of the network device. It can be seen that the concurrency control efficiency of this scheme is low, and it will have a certain impact on other clients. And when other clients urgently need to update some important configurations of the network device based on the data set, other clients can only forcibly close the session between the client and the network device, and forcibly interrupting the session may affect the client side impact.
  • Embodiments of the present application provide a configuration update method, device, system, and computer-readable storage medium.
  • the network device detects that the version information of the data object recorded by the client and the network device is consistent, the network device will The method for updating the configuration of the data object can reduce configuration update conflicts and improve the efficiency of concurrency control. Described technical scheme is as follows:
  • a method for configuration update includes:
  • the network device receives the network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation instruction information, and the operation instruction information indicates that the first client requests the network device to perform an operation on the first data object,
  • the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device; when the network device detects the first version information and the second If the reference version information is consistent, the network device performs an operation on the first data object.
  • the first reference version information is the version information of the first data object recorded by the network device.
  • the client when a client is updating the configuration of a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. If the version information of the data object recorded separately is consistent, the network device updates the configuration of the data object. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • the first client may check the consistency of the version information, or may not check the consistency of the version information.
  • the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information. That is, both the first client and the network device can also detect the consistency of version information, so as to fully reduce configuration conflicts.
  • the first client may not send the configuration request message, thereby invalidating the request of the first client.
  • the method further includes: the network device receiving a query message sent by the first client, the query message including the identifier of the first data object; the network device sending a query response message to the first client, the query response
  • the packet includes version information of the first data object recorded by the network device. That is, the first client can obtain the version information of the first data object recorded by the network device through instant query. It should be noted that the first client may send a query message to the network device at any time to query the version information of a data object.
  • the first client may send a query message to the network device when it needs to check the consistency of version information, that is, before the network device receives the NETCONF configuration request message sent by the first client, the network device receives the NETCONF configuration request message sent by the first client. query message.
  • the first client may send a query message to the network device after sending the NETCONF configuration request message for a period of time, for example, the network device receives the query message sent by the first client after performing an operation on the first data object, to Informing the first client of the latest version information of the first data object is used by the first client to verify whether the network device successfully executes the operation on the first data object.
  • the first client may send a query message to the network device at any other time to query the version information of a certain data object.
  • the method further includes: the network device sends a data change notification message to the first client, the data change notification message includes version information of the first data object recorded by the network device, and the data change notification message is the network Sent by the device with the first client subscribing to notifications about changes to data in the first data object. That is, the first client may obtain the version information of the first data object recorded by the network device through subscription, that is, obtain the latest version information recorded by the network device.
  • the network device modifies the data in the first data object based on the requests of other clients, that is, the data in the first data object changes, then the network device sends a data change notification message to the first client, and the data change The notification message includes the latest version information of the first data object recorded by the network device.
  • the above two implementation methods for the first client to obtain the version information of the first data object recorded by the network device can be used alone or in combination. This is not limited.
  • the version information includes a version number, a time stamp or a serial number.
  • the version information includes a time stamp
  • the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object
  • the first reference version information is the system time recorded by the network device when the network device starts The system time at which the data object performed the operation.
  • the network device In this embodiment of the application, there are some operations related to two data objects, such as a copy operation.
  • a copy operation in order to ensure that the configuration data in these two data objects is consistent with that maintained by the first client, the network device The consistency of the version information of the two data objects needs to be checked separately.
  • the operation that the first client requests the network device to perform on the first data object includes a copy operation, and the operation indication information also includes fifth version information, and the fifth version information is recorded by the first client.
  • the fifth data object includes the configuration data of the network device, and the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object; then, the network device detects the configuration data in the first data object In the case that the first version information is consistent with the first reference version information, the network device performs an operation on the first data object, including: when the network device detects that the first version information is consistent with the first reference version information and the fifth version information is consistent with the fifth reference If the version information is consistent, the network device performs an operation on the first data object, and the fifth reference version information is the version information of the fifth data object recorded by the network device.
  • the method further includes: the network device finishes executing the operation on the first data object; the network device records the first reference version information.
  • the network device recording the first reference version information includes: when the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, the network device updates and records First reference version information. That is, if the first data object itself has version information, after the first data object is changed, the network device needs to update the version information of the first data object, so as to record the change of the first data object through the version information.
  • the operation indication information further includes the identifier of the second data object
  • the first data object is a child data object of the second data object
  • the second reference version information is the version information of the second data object recorded by the network device
  • the network The device records the first reference version information, including: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the second data object corresponding to the second reference version information
  • the network device updates and records the first reference version information and the second reference version information.
  • the network device not only needs to update the version information of the first data object, but also needs to update the version information of the second data object.
  • the operation indication information further includes the identifier of the third data object
  • the first data object is a child data object of the third data object
  • the third reference version information is the version information of the third data object recorded by the network device
  • the network The access control function set by the device supports the anti-selection mechanism
  • the network device records the first reference version information, including: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the third If the data granularity of the third data object corresponding to the reference version information meets the data granularity of the access control function set by the network device, and the deselection mechanism parameter of the access control function set by the network device does not include the identifier of the first data object, the network device Update and record the first reference version information and the third reference version information; the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the third reference version
  • the network device updates and records the first reference version information. That is to say, the access control function set by the network device supports the deselection mechanism, which is used to deselect the child data object from the parent data object, so that the data change of the child data object does not affect the version information of the parent data object.
  • this solution uses the access control function to set the attribute of version information for the data object, and then updates the configuration of the network device by detecting the consistency of the version information.
  • the client may request the network device to set an access control function for the data object, which will be introduced next.
  • the method further includes: the network device receiving an access control function setting request message sent by the first client, where the access control function setting request message includes the identifier of the first data object; if the network device is based on the first data object The identification of the first data object determines that the first data object satisfies the condition for setting the access control function, then the network device sets the initial value of the version information for the first data object based on the identification of the first data object; the network device sends a setting success response message to the first client, The setting success response message instructs the first client to record the version information of the first data object.
  • the setting success response message includes the initial value of the version information; or, the setting success response message instructs the first client to set the initial value of the version information for the first data object. That is to say, the network device informs the first client of the initial value of the set version information through the setting success response message, or the first client automatically sets the version information for the first data object after receiving the setting success response message initial value.
  • condition for setting the access control function includes: the network device supports setting the access control function, and the first data object does not yet have version information. That is, when the network device supports setting the access control function through the client, and the first data object has not yet set the access control function, the network device can successfully set the access control function for the first data object.
  • setting the access control function condition further includes: the data granularity of the first data object meets the data granularity of the setting access control function supported by the network device. That is to say, the data granularity that the network device supports setting the access control function may or may not include the data granularity of the first data object.
  • the network device supports setting the access control function through the client, the first data object has not yet set the access control function.
  • the network device can successfully set the access control function for the first data object.
  • the setting access control function request message further includes a reverse selection mechanism parameter, and the reverse selection mechanism parameter includes one or more identifiers of fourth data objects, where the fourth data objects are sub-data objects of the first data object. That is to say, when the first client sets the access control function for the first data object, it can also set the anti-selection mechanism parameters, so as to remove some sub-data objects (that is, the fourth data object) of the first data object from the first The data object is deselected, so that the data change of the fourth data object does not affect the version information of the first data object.
  • the method further includes: the network device receiving a delete setting access control function request message sent by the first client, where the delete setting access control function request message includes the identifier of the first data object; if the network device is based on the first The identification of the data object determines that the first data object satisfies the set access control function deletion condition, and the network device deletes the version information of the first data object based on the identification of the first data object.
  • setting the access control function deletion condition includes: the network device supports setting the access control function, and the network device records version information of the first data object. That is to say, when the network device supports setting the access control function through the client, and the first data object has been set with the access control function, the network device can successfully delete the version information of the first data object, that is, release the access control function of the first data object. Access control protection for data objects.
  • the method further includes: the network device sends a capability notification message to the first client, the capability notification message includes a support capability parameter of the access control function, and the support capability parameter is used to indicate whether the network device supports setting access control Function.
  • the capability notification message also includes a support granularity parameter of the access control function, which is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and data node One or more of the granularities. That is, the network device can also inform the client about the support capability and support granularity of the access control function, so that the client can accurately send a request message about setting or deleting the access control function to the network device.
  • a support granularity parameter of the access control function which is used to indicate that the network device supports setting the data granularity of the access control function
  • the data granularity includes data set granularity, YANG module granularity and data node One or more of the granularities. That is, the network device can also inform the client about the support capability and support granularity of the access control function, so that the client can accurately send a request message about setting or deleting the access control function
  • a method for configuration update includes:
  • the first client sends a network configuration protocol NETCONF configuration request message to the network device, and the NETCONF configuration request message includes operation instruction information, and the operation instruction information indicates that the first client requests the network device to perform an operation on the first data object.
  • the operation indication information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device; the configuration request message is used to detect If the first version information is consistent with the first reference version information, the network device is instructed to perform an operation on the first data object, where the first reference version information is version information of the first data object recorded by the network device.
  • the client when a client is updating the configuration of a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. If the version information of the data object recorded separately is consistent, the network device updates the configuration of the data object. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • the first client may check the consistency of the version information, or may not check the consistency of the version information.
  • the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information. That is, both the first client and the network device can also detect the consistency of version information, so as to fully reduce configuration conflicts.
  • the first client may not send the configuration request message, thereby invalidating the request of the first client.
  • the first client obtains the version information of the first data object recorded by the network device through real-time query or subscription, and the implementation method is consistent with the relevant process in the first aspect above, and will not be repeated here.
  • the method further includes: the first client receives a configuration success response message sent by the network device; the first client updates the first version information. That is, the first client can also update the first version information after learning that the network device has successfully performed an operation on the first data object, so as to record a change of the first data object.
  • the configuration success response message includes updated first reference version information; the first client updating the first version information includes: the first client updating the first version information to the updated first reference version information . That is, the network device directly notifies the first client of the updated first reference version information through a configuration success response message, and the first client directly updates the first version information to the updated first reference version information, that is, Can.
  • the configuration update method in the above-mentioned second aspect is consistent with the configuration update method in the above-mentioned first aspect.
  • the above-mentioned second aspect only part of the content corresponding to the above-mentioned first aspect is introduced.
  • the above-mentioned second aspect Please refer to the above first aspect for the content not introduced in the above, and will not repeat them one by one in the above second aspect.
  • a method for configuration update includes:
  • the first client When the first client detects that the first version information is consistent with the first reference version information, the first client sends a network configuration protocol NETCONF configuration request message to the network device; wherein the first version information is recorded by the first client
  • the version information of the first data object, the first reference version information is the version information of the first data object recorded by the network device
  • the NETCONF configuration request message carries operation instruction information, and the operation instruction information instructs the first client to request the network device to configure the first data object An operation performed on a data object.
  • the client when a certain client updates the configuration of the network device, the client may not lock the data object and detect the If the version information is consistent, send a NETCONF configuration request message to the network device. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • the method further includes: the first client sends a query message to the network device, and the query message carries the identifier of the first data object; the first client receives the query response message sent by the network device, and the query response message
  • the file carries version information of the first data object recorded by the network device. That is, the first client can obtain the version information of the first data object recorded by the network device through instant query.
  • the method further includes: the first client receives a data change notification message sent by the network device, the data change notification message carries version information of the first data object recorded by the network device, and the data change notification message is the first Received by a client subscribing to notifications about changes to data in the first data object. That is, the first client may acquire the version information of the first data object recorded by the network device in a subscription manner.
  • the consistency of the version information is detected by the network device, or the consistency of the version information is detected by the client and the network device, thereby reducing configuration conflicts and improving the efficiency of concurrency control .
  • the consistency of version information is detected by the client, thereby reducing configuration conflicts and improving the efficiency of concurrency control. That is to say, the difference between the third aspect above and the first aspect and the second aspect is that the execution subject for checking the consistency of the version information is different, and the other content introduced in the above first aspect and the second aspect is in the above third aspect The same applies, and the embodiment of the present application does not repeat them one by one in the foregoing third aspect.
  • a device for updating configuration in a fourth aspect, is provided, and the device for updating configuration has a function of implementing the behavior of the method for updating configuration in the first aspect above.
  • the device for updating configuration includes one or more modules, and the one or more modules are used to implement the method for updating configuration provided in the first aspect above.
  • a configuration update device is provided, the device is used for network equipment, and the device includes:
  • the first receiving module is configured to receive the network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to perform the first data object
  • the operation to be performed the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
  • a configuration update module configured to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, where the first reference version information is the version information of the first data object recorded by the network device .
  • the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information.
  • the device also includes:
  • the second receiving module is configured to receive a query message sent by the first client, where the query message includes the identifier of the first data object;
  • the first sending module is configured to send a query response message to the first client, where the query response message includes the version information of the first data object recorded by the network device.
  • the device also includes:
  • the second sending module is configured to send a data change notification message to the first client, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is the network device in the first Sent when the client subscribes to notifications about changes to data in the first data object.
  • the version information includes a time stamp
  • the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object
  • the first reference version information is the system time recorded by the network device when the network device starts to perform operations on the first data object The system time when the first data object performed the operation.
  • the device also includes:
  • a processing module configured to perform the operation on the first data object
  • a recording module configured to record the first reference version information.
  • the recording module includes:
  • the first recording submodule is configured to update and record the first reference version information when the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device.
  • the operation indication information further includes an identifier of the second data object, the first data object is a child data object of the second data object, and the second reference version information is version information of the second data object recorded by the network device;
  • Recording modules include:
  • the second recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the second data object corresponding to the second reference version information If the data granularity of the access control function set by the network device is satisfied, the first reference version information and the second reference version information are updated and recorded.
  • the operation indication information further includes the identifier of the third data object, the first data object is a child data object of the third data object, the third reference version information is the version information of the third data object recorded by the network device, and the network
  • the access control function of the device settings supports the anti-selection mechanism
  • Recording modules include:
  • the third recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy The data granularity of the access control function set by the network device, and when the deselection mechanism parameter of the access control function set by the network device does not include the identification of the first data object, update and record the first reference version information and the third reference version information;
  • the fourth recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy If the data granularity of the access control function set by the network device and the deselection mechanism parameter of the access control function set by the network device include the identifier of the first data object, the first reference version information is updated and recorded.
  • the device also includes:
  • the third receiving module is configured to receive the access control function setting request message sent by the first client, where the access control function setting request message includes the identifier of the first data object;
  • a setting module configured to set an initial value of version information for the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the condition for setting the access control function based on the identifier of the first data object;
  • the third sending module is configured to send a setting success response message to the first client, where the setting success response message instructs the first client to record the version information of the first data object.
  • the setting success response message includes the initial value of the version information; or, the setting success response message indicates that the first client sets the initial value of the version information for the first data object.
  • condition for setting the access control function includes: the network device supports setting the access control function, and the first data object does not yet have version information.
  • setting the access control function condition further includes: the data granularity of the first data object meets the data granularity of the setting access control function supported by the network device.
  • the setting access control function request message further includes a reverse selection mechanism parameter, and the reverse selection mechanism parameter includes one or more identifiers of fourth data objects, where the fourth data objects are sub-data objects of the first data object.
  • the device also includes:
  • the fourth receiving module is configured to receive a delete setting access control function request message sent by the first client, where the delete setting access control function request message includes the identifier of the first data object;
  • a deletion module configured to delete the version information of the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the access control function deletion condition based on the identifier of the first data object.
  • setting the access control function deletion condition includes: the network device supports setting the access control function, and the network device records version information of the first data object.
  • the device also includes:
  • the fourth sending module is configured to send a capability notification message to the first client, where the capability notification message includes a support capability parameter of the access control function, and the support capability parameter is used to indicate whether the network device supports setting the access control function.
  • the capability notification message also includes a support granularity parameter of the access control function, the support granularity parameter is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and data node granularity one or more of the .
  • the operation includes a copy operation
  • the operation indication information also includes fifth version information, where the fifth version information is the version information of the fifth data object recorded by the first client, and the fifth data object includes configuration data of the network device , the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object;
  • Configuration update modules include:
  • the configuration update submodule is used to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information and the fifth version information is consistent with the fifth reference version information, and the fifth reference version The information is version information of the fifth data object recorded by the network device.
  • a device for updating configuration has a function of implementing the behavior of the method for updating configuration in the second aspect above.
  • the device for updating configuration includes one or more modules, and the one or more modules are used to implement the method for updating configuration provided in the second aspect above.
  • a configuration update device is provided, the device is used for the first client, and the device includes:
  • the first sending module is configured to send a network configuration protocol NETCONF configuration request message to the network device, where the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to perform the first data object Operation, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
  • the configuration request message is used to instruct the network device to perform the operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, and the first reference version information is the first version information recorded by the network device. Version information of a data object.
  • the device also includes:
  • a receiving module configured to receive a configuration success response message sent by the network device
  • the update module is used to update the first version information.
  • the configuration success response message includes updated first reference version information
  • Update modules include:
  • the update submodule is used to update the first version information to the updated first reference version information.
  • a device for updating configuration is provided, and the device for updating configuration has a function of implementing the behavior of the method for updating configuration in the above third aspect.
  • the device for updating configuration includes one or more modules, and the one or more modules are used to implement the method for updating configuration provided in the above third aspect.
  • a configuration update device is provided, the device is used for the first client, and the device includes:
  • the first sending module is configured to send a network configuration protocol NETCONF configuration request message to the network device when the first client detects that the first version information is consistent with the first reference version information;
  • the first version information is the version information of the first data object recorded by the first client
  • the first reference version information is the version information of the first data object recorded by the network device
  • the NETCONF configuration request message includes operation instruction information
  • the The operation instruction information indicates an operation that the first client requests the network device to perform on the first data object.
  • the device also includes:
  • the second sending module is configured to send a query message to the network device, where the query message includes the identifier of the first data object;
  • the first receiving module is configured to receive a query response message sent by the network device, where the query response message includes version information of the first data object recorded by the network device.
  • the device also includes:
  • the second receiving module is configured to receive a data change notification message sent by the network device, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is for the first client to subscribe to the Received in case of a change notification of data in the first data object.
  • a communication device in a seventh aspect, includes a processor and a memory, and the memory is used to store a program for executing the configuration update method provided in the first aspect, the second aspect, or the third aspect, And storing the data involved in the method for implementing the configuration update provided by the first aspect, the second aspect or the third aspect.
  • the processor is configured to execute programs stored in the memory.
  • the communication device may further include a communication bus for establishing a connection between the processor and the memory.
  • a computer-readable storage medium where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computer, the computer executes the above-mentioned first aspect, the second aspect or the third aspect.
  • a ninth aspect provides a computer program product containing instructions, which, when run on a computer, causes the computer to execute the configuration update method described in the first aspect, the second aspect, or the third aspect.
  • the client when a client performs configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object.
  • the network device detects that the client If it is consistent with the version information of the data object respectively recorded by the network device, the network device updates the configuration of the data object.
  • the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • FIG. 1 is a system architecture diagram involved in a configuration update method provided in an embodiment of the present application
  • FIG. 2 is a schematic structural diagram of a communication device provided by an embodiment of the present application.
  • Fig. 3 is a flow chart of a method for configuration update provided by an embodiment of the present application.
  • FIG. 4 is a flow chart of another configuration update method provided by an embodiment of the present application.
  • FIG. 5 is a flow chart of another configuration update method provided by an embodiment of the present application.
  • FIG. 6 is a flow chart of another configuration update method provided by an embodiment of the present application.
  • FIG. 7 is a schematic structural diagram of a device for updating configuration provided by an embodiment of the present application.
  • FIG. 8 is a schematic structural diagram of another configuration updating device provided by an embodiment of the present application.
  • FIG. 9 is a schematic structural diagram of another configuration updating device provided by an embodiment of the present application.
  • Network Configuration Protocol It is a mechanism for managing network devices. Managers can use this mechanism to configure and manage network devices through the client. Wherein, configuration management includes configuration update, and configuration update includes adding, modifying, and deleting configuration data of network devices, and the like. Managers can also obtain configuration data and status information (status data) of network devices through the client.
  • NETCONF is a network configuration and management protocol based on extensible markup language (XML), and realizes communication between clients and network devices based on remote procedure call (RPC) mechanism.
  • the Network Configuration Protocol (NETCONF) is defined in Request for Comments (RFC) 6241 and RFC 8526.
  • Dataset (datastore): The NETCONF protocol allows the definition of multiple data sets (also known as configuration data sets, databases, configuration databases, etc.), which are used to store configuration data, status information, etc. of network devices. For example, running (running) dataset, candidate (candidate) dataset, startup (startup) dataset, etc. Among them, the running data set is used to store the configuration data that takes effect during the running process of the network device.
  • the candidate data set is used to store the configuration data that is configured for network devices but has not yet taken effect, that is, the configuration data edited by storage managers, but has not yet been submitted for formal entry into force. After the candidate data set is submitted to the running data set, it will take effect officially.
  • the startup data set stores the configuration data used when the network device starts next time.
  • YANG (yet another next generation): Originally designed as a data modeling language for NETCONF.
  • YANG model A data model built using the YANG data modeling language is called a YANG model.
  • YANG models can be maintained by NETCONF clients and network devices.
  • the YANG model expresses configuration data and status data of network devices in the form of data nodes.
  • the YANG model defines a data hierarchy that can be used for NETCONF-based operations. Data instantiated using YANG models can be stored in XML or JSON encoded formats.
  • YANG module A data set can contain one or more YANG modules, that is, a data set can store configuration data, status information, etc. in multiple YANG modules.
  • a YANG module can contain one or more data nodes, and multiple data nodes are organized in a tree structure. That is, a YANG module can store configuration data, status information, etc. in one or more data nodes.
  • FIG. 1 is a system architecture diagram involved in a configuration update method provided by an embodiment of the present application.
  • the system may be called a network management system (network management system, NMS), a NETCONF system, or the like.
  • NMS network management system
  • NETCONF network management system
  • the system includes multiple clients and network devices 101 .
  • the plurality of clients include a first client 102 and a second client 103 for schematic illustration.
  • Each of the multiple clients is connected to the network device 101 in a wired or wireless manner to communicate.
  • each client can communicate with the network device 101 through an Internet protocol (Internet protocol, IP) network.
  • IP Internet protocol
  • the multiple clients are used to update the configuration of the network device 101 through the NETCONF protocol.
  • the first client 102 takes the first client 102 among the plurality of clients as an example, the first client 102 sends a NETCONF configuration request message to the network device 101 according to the configuration update method provided by the embodiment of the present application to request the network device 101 Make a configuration update.
  • the NETCONF configuration request message may be referred to as a configuration request message for short, and will be introduced according to the short name in the following embodiments.
  • the network device 101 is configured to update its own configuration data through the NETCONF protocol. For example, the network device 101 receives the configuration request message sent by the first client 102, and updates its own configuration data according to the configuration update method provided in the embodiment of the present application.
  • the system includes a plurality of network devices, and each network device can establish a communication connection with at least one client to perform configuration updates through the connected client, and any client can also configure at least one network device renew.
  • the configuration update of one network device is taken as an example for introduction, and the principle of updating configurations of other network devices is similar.
  • the system adopts a client/server architecture.
  • the client may also be called a network management device, a management device, a controller, and the like.
  • the server is the network device.
  • the client can be installed and deployed on any computer device, such as a server, desktop computer, notebook computer, mobile phone, etc., and can also be installed and deployed on the computing and storage resources of the cloud platform.
  • Network devices can be routers, switches, gateways, firewalls and other devices.
  • the client can update the configuration of the network device by running an application program, a web page, etc., for example, a manager (also called network operation and maintenance personnel, network administrator, etc.) , query configuration data, and more.
  • FIG. 2 is a schematic structural diagram of a communication device according to an embodiment of the present application.
  • the computer device is the client or network device shown in FIG. 1
  • the communication device includes one or more processors 201 , a communication bus 202 , a memory 203 and one or more communication interfaces 204 .
  • the processor 201 is a general-purpose central processing unit (central processing unit, CPU), a network processor (network processing, NP), a microprocessor, or one or more integrated circuits for realizing the application scheme, for example, a dedicated Integrated circuit (application-specific integrated circuit, ASIC), programmable logic device (programmable logic device, PLD) or a combination thereof.
  • the above-mentioned PLD is a complex programmable logic device (complex programmable logic device, CPLD), field-programmable logic gate array (field-programmable gate array, FPGA), general array logic (generic array logic, GAL) or its arbitrary combination.
  • the communication bus 202 is used to transfer information between the aforementioned components.
  • the communication bus 202 is divided into an address bus, a data bus, a control bus, and the like.
  • address bus a data bus
  • control bus a control bus
  • only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
  • the memory 203 is a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory, EEPROM) , optical discs (including compact disc read-only memory, CD-ROM), compact discs, laser discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or any other medium storing desired program code in the form of instructions or data structures and capable of being accessed by a computer, but not limited thereto.
  • the memory 203 exists independently and is connected to the processor 201 through the communication bus 202 , or, the memory 203 and the processor 201 are integrated together.
  • the Communication interface 204 utilizes any transceiver-like device for communicating with other devices or a communication network.
  • the communication interface 204 includes a wired communication interface, and optionally, also includes a wireless communication interface.
  • the wired communication interface is, for example, an Ethernet interface.
  • the Ethernet interface is an optical interface, an electrical interface or a combination thereof.
  • the wireless communication interface is a wireless local area network (wireless local area networks, WLAN) interface, a cellular network communication interface, or a combination thereof.
  • the communications device includes multiple processors, such as processor 201 and processor 205 as shown in FIG. 2 .
  • processors such as processor 201 and processor 205 as shown in FIG. 2 .
  • Each of these processors is a single-core processor, or a multi-core processor.
  • a processor here refers to one or more devices, circuits, and/or processing cores for processing data (such as computer program instructions).
  • the communication device further includes an output device 206 and an input device 207 .
  • Output device 206 is in communication with processor 201 and can display information in a variety of ways.
  • the output device 206 is a liquid crystal display (liquid crystal display, LCD), a light emitting diode (light emitting diode, LED) display device, a cathode ray tube (cathode ray tube, CRT) display device, or a projector (projector).
  • the input device 207 communicates with the processor 201 and can receive user input in various ways.
  • the input device 207 is a mouse, a keyboard, a touch screen device or a sensing device, etc.
  • the memory 203 is used to store the program code 210 for implementing the solutions of the present application, and the processor 201 can execute the program code 210 stored in the memory 203 .
  • the program code includes one or more software modules, and the communication device can implement the configuration update method provided in the embodiments of FIG. 3 to FIG. 6 below through the processor 201 and the program code 210 in the memory 203 .
  • the first client during the process of updating the configuration of the network device by the first client, there is no need to lock the data objects (such as data sets, YANG modules or data nodes) that need to be updated in the network device, and the first client and The network devices respectively record the version information of the data objects, and determine whether to perform the configuration update or suspend the configuration update by checking the consistency of the version information.
  • the network device judges whether to update the configuration by checking the consistency of the version information.
  • the first client detects the consistency of the version information, and sends a configuration request message to the network device after detecting that the version information is consistent, and the network device updates the configuration after receiving the configuration request message.
  • the first client detects the consistency of the version information, and sends a configuration request message to the network device after detecting that the version information is consistent, and the network device also detects the consistency of the version information after receiving the configuration request message The configuration update is performed when the version information is detected to be consistent.
  • the version information of the data object is essentially a kind of optimistic lock information, that is, this solution implements multi-user concurrent access control through the optimistic lock mechanism, thereby reducing configuration conflicts.
  • the optimistic locking mechanism can also be called a concurrent access control mechanism.
  • the version is set for the data object by setting the access control function (also known as setting lock protection or setting access control protection or setting optimistic lock) on the data object.
  • Information is an attribute, and then the configuration of the network device is updated by checking the consistency of the version information.
  • the realization method of setting the access control protection for the data object is firstly introduced.
  • setting access control protection for a data object is essentially setting an optimistic lock on the data object (it can also be considered as setting lock protection), and whether access control protection can be set for the data object depends on whether the network device is Support setting access control function (also called optimistic lock function) to determine.
  • the network device supports setting the access control function, so as to implement the configuration update method provided in the embodiment of the present application.
  • setting access control protection for data objects includes adding access control protection and deleting access control protection. Next, implementation methods of adding access control protection and deleting access control protection for data objects are respectively introduced.
  • an implementation manner of adding access control protection to a data object is introduced, taking the first client requesting a network device to add access control protection to the first data object as an example. It should be noted that other clients except the first client can request the network device to add access control protection for one or more data objects, the principle is the same as that of the first client requesting the network device to add access control to the first data object The protection is similar, and this article will not introduce them one by one.
  • the first client sends a request message for setting the access control function to the network device, and the network device receives the request message for setting the access control function sent by the first client.
  • the request message for setting the access control function may also be referred to as an add access control protection request message, an add protection request message, etc.
  • the add protection request message is used as an example for introduction.
  • the protection addition request message sent by the first client includes the identifier of the first data object. If the network device determines based on the identifier of the first data object that the first data object satisfies the condition for setting an access control function, the network device sets an initial value of version information for the first data object based on the identifier of the first data object.
  • the network device sends a setting success response message to the first client, and the setting success response message instructs the first client to record the version information of the first data object.
  • setting the access control function condition can also be referred to as the access control protection addition condition, or the protection addition condition
  • setting the success response message can also be called the addition success response message, and then the protection addition condition and the addition success response message are Examples are introduced.
  • the version information includes a version number, a time stamp or a serial number.
  • the version number is composed of one or more of letters, numbers and symbols and has an explanatory naming format, such as version1.2.0, the version number is composed of letters version, numbers and symbols Yes, the naming format is version major version number.subversion number.minor version number. For another example, if the version number is 1, the version number is composed of numbers.
  • Using the timestamp as the version information of the data object is to use the network device or system as the version identification of the data object according to the system time information.
  • a serial number is a set of digital sequences, which can be generated randomly or according to certain generation rules.
  • a network device obtains a serial number through a hash algorithm according to the operation completion time information of the data object as the version information of the above data object.
  • the initial value of the version information set by the network device for the first data object may be 1 or version1.0.0.
  • the initial value of the version information set by the network device for the first data object may be the system time when the network device sets access control protection for the first data object.
  • the adding success response message includes the initial value of the version information set by the network device for the first data object, so that the first client records the initial value of the version information included in the adding success response message as the initial value of the first data object.
  • Version Information instructs the first client to set the initial value of the version information for the first data object, so that after receiving the adding success response message, the first client sets the initial value of the version information for the first data object, Record the set initial value of the version information as the version information of the first data object.
  • the conditions for adding protection include: the network device supports setting an access control function, and the first data object does not yet have version information. That is, if the network device supports the access control function and the first data object has not been added with access control protection, the network device can successfully add access control protection to the first data object.
  • the network device supports setting the access control function can be considered as the network device supports the client to set the access control function for the data object, that is, the network device supports the client to dynamically set the access control function.
  • the network device is configured to support the access control function by default, but does not support the client to dynamically set the access control function, it is considered that the network device does not support the setting of the access control function, or does not support the dynamic setting of the access control function.
  • the factory default configuration of the network device has set the access control function for the data object, and does not support the client to add or delete the access control function of the data object.
  • the data objects storing configuration data of network devices can be datasets, YANG modules, and data nodes, that is, the data granularity of a data object in this embodiment of the application can be dataset granularity, YANG module granularity, or data node granularity .
  • the data granularity supported by the network device when setting the access control function may include one or more of data set granularity, YANG module granularity and data node granularity.
  • access control protection can be set only for the data set, or only for the YANG module, or only for the data node device access control protection, or for the data set and the YANG module , or, set access control protection for datasets and data nodes, or, set access control protection for YANG modules and data node devices, or, set access control protection for datasets, YANG modules, and data nodes.
  • the protection adding condition further includes: the data granularity of the first data object satisfies the data granularity of the setting access control function supported by the network device. That is, if the network device supports setting access control function, the first data object has not been added access control protection, and the data granularity of the first data object meets the conditions, the network device can successfully add access to the first data object control protection.
  • the network device supports setting the access control function by default, and does not limit the data granularity that supports setting the access control function, then after the network device receives the add protection request message from the first client, it will be protected by the first client. Just add access control protection to the requested data object.
  • the network device sends an addition failure response message to the first client, and the addition failure response message may also be referred to as a setting failure response message.
  • the addition failure response message carries the reason why the access control protection addition failed.
  • the reason for the failure to add the access control protection may be that the network device does not support the setting of the access control function, or the network device supports the setting of the access control function, but the first data object has been added with the access control protection.
  • the access control protection is set for the data object by extending NETCONF
  • the set-ol-capability operation is defined to set the access control protection for the data object
  • the parameters in ⁇ set-ol-capability> include ⁇ target> and ⁇ support >.
  • the ⁇ target> parameter carries the identification of the data object that requests to add access control protection
  • the value of the ⁇ support> parameter is "True” or "False”
  • “True” indicates that the request is to add the data object indicated by the ⁇ target> parameter.
  • Access control protection, "False” means request to delete the access control protection for the data object indicated by the ⁇ target> parameter.
  • a protection addition request packet sent by the first client to the network device carries the following information.
  • the ⁇ target> parameter indicates a data set, which means that the first client requests to add access control protection for the data set indicated by the ⁇ target> parameter.
  • the data set is a running data set, that is, the content in the ⁇ set-ol-capability> parameter indicates that access control protection is added to the running data set.
  • the network device When the running data set satisfies the protection addition condition, the network device sends an addition success response message to the first client carrying the following information. Among them, ⁇ ok/> indicates that the access control protection is added successfully.
  • the network device sends an addition failure response message to the first client carrying the following information.
  • the content in the ⁇ rpc-error> parameter indicates the failure to add access control protection and the reason for the failure
  • the "This datastore can not be set revision" in the ⁇ error-message> parameter indicates the reason for the failure to add access control protection, that is, the reason Setting access control protection for this dataset is not supported for this network device.
  • an addition failure response message sent by the network device to the first client Carry the following information.
  • the content in the ⁇ rpc-error> parameter indicates the failure to add access control protection and the reason for the failure
  • the "Datastore revision already exists" in the ⁇ error-message> parameter indicates the reason for the failure to add access control protection, that is, the reason is the data Sets have added access control protection.
  • a protection addition request packet sent by the first client to the network device carries the following information.
  • the ⁇ target> parameter indicates a data node, indicating that it is requested to add access control protection for the data node indicated by the ⁇ target> parameter.
  • the data node is the data node under the path "/t:top/t:interface/t:name".
  • the addition success response message sent by the network device to the first client may be the same as the addition success response message in the above example.
  • an addition failure response message sent by the network device to the first client carries the following information.
  • "name” element cannot be set revision" in the ⁇ error-message> parameter indicates the reason why the access control protection failed to be added, that is, the reason is that the network device does not support setting access control protection for the data node.
  • an addition failure response message sent by the network device to the first client carries the following information.
  • the content in the ⁇ rpc-error> parameter indicates the failure to add access control protection and the reason for the failure
  • the "name" revision already exists" in the ⁇ error-message> parameter indicates the reason for the failure to add access control protection, that is, the reason is This data node has added access control protection.
  • the version information is set in the embodiment of the present application to record the change of the data object, for example, the version information of the data object can be updated after the data object is changed.
  • the data changes of some child data objects have little effect on the parent data object, or for other reasons, the network management personnel may not want the network equipment to record the change of a certain child data object in a certain parent data object, then in When access control protection is set for the parent data object, these child data objects are deselected, and subsequent network devices do not update the version information of the parent data object after updating the configuration of these child data objects.
  • an anti-selection mechanism is also provided, that is, the access control function set by the network device supports the anti-selection mechanism, and the network device judges whether the configuration update of a certain data object affects the data according to the parameters of the anti-selection mechanism.
  • the version information of the upper-level data object (parent data object) of the object may also be set.
  • the above-mentioned add protection request message also includes an anti-selection mechanism parameter, and the anti-selection mechanism parameter includes the identification of one or more fourth data objects, the fourth data object is a sub-data object of the first data object, and the fourth data object The data granularity is smaller than the data granularity of the first data object. That is, when adding access control protection to the first data object, one or more fourth data objects are deselected from the first data object, so that the subsequent configuration update of the one or more fourth data objects will not Version information affecting the first data object.
  • set access control protection for data objects by extending NETCONF for example, define set-ol-capability operation to set access control protection for data objects, define ⁇ reverse-match> to set reverse selection mechanism parameters, ⁇ set-ol-
  • the parameters in capability> include ⁇ target>, ⁇ support> and ⁇ reverse-match>.
  • a protection addition request message sent by the first client to the network device carries the following information. Among them, the content in the ⁇ set-ol-capability> parameter indicates that access control protection is added to the candidate data set, and the identification of a data node contained in the candidate data set is set as a parameter of the anti-election mechanism.
  • the ⁇ target> parameter carries the identifier of the data object that the first client requests to add access control protection, that is, candidate.
  • the value of the ⁇ support> parameter is "True”, which means adding access control protection for the data object indicated by the ⁇ target> parameter.
  • "/ietf-interface/address/name" in the ⁇ reverse-match> parameter is the identifier of a data node included in the candidate data set, which means that "/ietf-interface/address/name" is set as the parameter included in the reverse selection mechanism An identifier for a data object.
  • a data node is identified by a path of the data node.
  • the data node under the path specified in the ⁇ reverse-match> parameter belongs to the category of the data set indicated by the ⁇ target> parameter, but the change of the configuration data in the data node does not affect the version information of the data set.
  • the first client requests the network device to add an optimistic lock to the candidate data set, but the modification of the data node under the "/ietf-interface/address/name" path does not need to be restricted by the optimistic lock, and the change of the data node is also Does not affect the version information of the candidate dataset.
  • a data node is deselected from a data set as an example.
  • one or more data nodes can also be deselected from a YANG module or a data set It is also possible to deselect one or more YANG modules from a dataset.
  • access control protection can still be set separately for the data object in the ⁇ reverse-match> parameter.
  • the above describes the implementation of adding access control protection for data objects, and then introduces the implementation of deleting access control protection for data objects.
  • the first client requests the network device to delete the access control protection of the first data object as an example. introduce. It should be noted that all clients except the first client can request the network device to delete the access control protection of one or more data objects. The principle is the same as that of the first client requesting the network device to delete the access control protection of the first data object. The protection is similar, and this article will not introduce them one by one.
  • the first client sends a request message for deleting and setting the access control function to the network device, and the request message for deleting and setting the access control function includes the identifier of the first data object, and the network device receives the message sent by the first client. Delete the set access control function request message. If the network device determines based on the identifier of the first data object that the first data object satisfies the set access control function deletion condition, the network device deletes the version information of the first data object based on the identifier of the first data object.
  • deleting the setting access control function request message may also be called delete access control protection request message, delete protection request message, etc.
  • setting the access control function deletion condition may also be called access control protection deletion condition, protection deletion condition .
  • the deletion protection request message and protection deletion conditions will be taken as examples for introduction.
  • the protection deletion condition includes: the network device supports setting an access control function, and the network device records version information of the first data object. That is, if the network device supports setting access control function, and the first data object has added access control protection, the network device can successfully delete the optimistic lock of the first data object.
  • the network device after deleting the version information of the first data object, the network device sends a deletion success response message to the first client.
  • the first client deletes the version information of the first data object recorded by the first client after receiving the deletion success response message.
  • the network device sends a deletion failure response message to the first client.
  • the deletion failure response message includes a reason for the failure to delete the access control protection.
  • the reason for the failure to delete the access control protection may be that the network device does not support the setting of the access control function, or the network device supports the setting of the access control function, but the first data object has not been added with access control protection.
  • the access control protection is set for the data object by extending NETCONF
  • the set-ol-capability operation is defined to set the access control protection for the data object
  • the parameters in ⁇ set-ol-capability> include ⁇ target> and ⁇ support >.
  • a deletion protection request message sent by the first client to the network device carries the following information.
  • the content in the ⁇ set-ol-capability> parameter indicates that the running data set deletes the access control protection
  • the value of the ⁇ target> parameter is the identifier of the data object that the first client requests to delete the access control protection, that is, running.
  • the value of the ⁇ support> parameter is "False", which means that the data object indicated by ⁇ target> is deleted and protected by access control.
  • a deletion success response message sent by the network device to the first client carries the following information. Among them, ⁇ ok/> indicates that the deletion of the access control protection is successful.
  • a deletion failure response message sent by the network device to the first client carries the following information.
  • the content in the ⁇ rpc-error> parameter indicates the failure to delete the access control protection and the reason for the failure
  • the "This datastore cannot be set revision" in the ⁇ error-message> parameter indicates the reason for the failure to delete the access control protection, that is, the reason is This network device does not support access control protection for datasets.
  • a deletion failure response message sent by the network device to the first client Carry the following information.
  • the content in the ⁇ rpc-error> parameter indicates the failure to delete the access control protection and the reason for the failure
  • the "Datastore revision don't exist" in the ⁇ error-message> parameter indicates the reason for the failure to delete the access control protection, that is, the reason is This dataset has no access control protection added.
  • the network device and the first client can also exchange their respective capability information, for example, the network device notifies the first client of the support capability of the network device for the access control function, etc., so that The first client accurately sends various requests to the network device.
  • the network device and the first client first exchange their respective capability information after establishing a session connection, and the network device and the first client may also exchange their respective capability information at any time during the session. The embodiment does not limit this.
  • an implementation manner in which the network device notifies the first client of the support capability of the network device for the access control function is introduced.
  • the network device sends a capability notification message to the first client, and the capability notification message includes a support capability parameter of the access control function, and the support capability parameter includes a first value or a second value, the second A value indicates that the network device supports setting access control function, and a second value indicates that the network device does not support setting access control function.
  • the first value and the second value may be numeric values, character strings, etc., which are not limited in this embodiment of the present application.
  • the first value and the second value are “1" and “0” respectively, or the first value and the second value are “dynamic” and “static” respectively.
  • the network device has restrictions on the granularity of data supporting the setting of the access control function.
  • the capability notification message also includes a support granularity parameter of the access control function, and the support granularity parameter is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and One or more of the data node granularities.
  • the capability notification message sent by the network device to the first client carries a basic-mode parameter and a granularity parameter
  • the basic-mode parameter and the granularity parameter are support capability parameters and support granularity parameters of the access control function respectively.
  • the value of the basic-mode parameter is "dynamic” or “static”. "dynamic” indicates that it supports dynamic addition and deletion of access control protection, and “static” indicates that it does not support dynamic addition and deletion of access control protection, that is, the network device supports the access control function statically, and the network device supports the access control function
  • the support capability is determined at the factory, and access control protection cannot be dynamically added or deleted through the client during the operation of the network device.
  • the value of the granularity parameter includes one or more of "datastore”, “module” and “node”.
  • datastore indicates that the network device supports maintaining optimistic locks on data objects at the granularity of the dataset. As long as the configuration data in a data set that has been added with access control protection is modified, and the data in the reverse mechanism parameters is not modified, the network device It is necessary to update the version information of the dataset.
  • module indicates that the network device supports maintaining optimistic locks for data objects at the granularity of YANG modules.
  • node indicates that the network device supports maintaining optimistic locks for data objects at the granularity of data nodes.
  • a capability notification message sent by the network device to the first client may carry the following information.
  • the network device sends a hello packet to the first client as an example, the hello packet carries a ⁇ capabilities> parameter set, and the ⁇ capabilities> parameter set includes one or more ⁇ capability> parameters, and each ⁇ capability> parameter carries A capability information of a network device.
  • the third ⁇ capability> parameter carried in the hello message carries the support capability parameter (ie, the basic-mode parameter) and the support granularity parameter (ie, the granularity parameter) of the access control function.
  • the data granularity of functions includes dataset granularity and YANG module granularity.
  • the above introduces the implementation process of the network device setting access control protection for data objects through the client when the client updates the configuration of the network device based on NETCONF. It also introduces the support capability and support granularity of the network device to inform the client about the access control function. information. Next, it introduces the application of the access control protection based on the setting between the network device and the client when the configuration is updated, that is, introduces the implementation process of detecting version information consistency during the configuration update process.
  • the consistency of the version information is detected by the network device, or the consistency of the version information is detected by the client, or the consistency of the version information is detected by the client and the network device, thereby reducing Configure conflicts to improve the efficiency of concurrency control.
  • FIG. 3 we first introduce the implementation of network equipment participating in the detection of the consistency of version information, including the implementation of independent detection of network equipment, and the implementation of both client and network equipment detection. Then, the implementation manner of individual client detection will be introduced through the embodiment shown in FIG. 5 below.
  • Fig. 3 is a flow chart of a configuration update method provided by an embodiment of the present application.
  • the network device participates in checking the consistency of the version information. Please refer to FIG. 3 , the method includes the following steps.
  • Step 301 the first client sends a NETCONF configuration request message to the network device, the configuration request message includes operation instruction information, and the operation instruction information indicates that the first client requests the network device to perform an operation on the first data object,
  • the operation instruction information includes first version information, where the first version information is version information of a first data object recorded by the first client, and the first data object includes configuration data of the network device.
  • the first client and the network device respectively record the version information of the data object to be updated, and perform configuration update by checking the consistency of the version information.
  • the first client may update the configuration of the network device by sending a configuration request message to the network device, and the first client may or may not check the consistency of the version information before sending the configuration request message. sex.
  • the configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information.
  • the first client directly sends the configuration request message to the network device.
  • the version information is a version number, a time stamp or a serial number.
  • the version number is composed of letters, numbers and symbols and has an explanatory naming format, such as version1.2.0
  • the version number is composed of letters version, numbers and symbols
  • the naming format is the main version number of version .subversion number.Minor version number.
  • Using the timestamp as the version information of the data object is to use the network device or system as the version identification of the data object according to the system time information.
  • a serial number is a set of digital sequences, which can be generated randomly or according to certain generation rules.
  • a network device obtains a serial number through a hash algorithm according to the operation completion time information of the data object as the version information of the above data object. That is, the network device and the client can record the version information of the data object with a version number, a time stamp or a serial number.
  • the version information may also be other tag information capable of recording configuration data changes in the data object.
  • data objects are divided into data sets, YANG modules and/or data nodes according to data granularity.
  • the configuration request message sent by the first client includes operation instruction information
  • the operation instruction information indicates an operation that the first client requests the network device to perform on the first data object.
  • the operation instruction information includes the first version information
  • the first version information is the version information of the first data object recorded by the first client.
  • a data object includes configuration data in the network device.
  • the first data object is a running data set
  • the first version information is a version number version 1.0 of the running data set recorded by the first client.
  • the first data object is a YANG module named ietf-interface-desc
  • the first version information is the timestamp 2021-07-2210:45UTC of the above-mentioned YANG module "ietf-interface-desc” recorded by the first client .
  • the first data object is the data node "mtu” in the YANG module "ietf-interface-desc", and the serial number of the data node "mtu" recorded by the first client of the first version information is 0001.
  • the data nodes in the YANG module “ietf-interface-desc” include “interface”, "name”, “description ", "mtu”, “ip-address”.
  • the NETCONF configuration request message sent by the first client received by the network device includes operation indication information, and the operation indication information indicates that the first A client requests the network device to operate on the "name" node in the YANG module named ietf-interface-desc, then the first data object here is the YANG module named ietf-interface-desc, not the data node "name” ", so the first version information is the version information of the above-mentioned YANG module "ietf-interface-desc".
  • the NETCONF configuration request message sent by the first client received by the network device includes operation indication information, and the operation indication information indicates that the first client requests the network
  • the device operates on the "host-name" node in the running data set, so the first data object here is the running data set, not the data node "host-name", so the first version information is the version information of the above running data set.
  • the operation that the first client requests the network device to perform on the first data object includes editing (edit-config), copying (copy-config), submitting (commit) or deleting (delete-config) and other operations one or more of .
  • the edit operation and delete operation in NETCONF are operations on a data object, and the network device only needs to detect the consistency of the version information of this data object.
  • the copy operation in NETCONF is an operation on two data objects.
  • the network device needs to detect the configuration data of the two data objects respectively. Consistency of version information.
  • the submission operation in NETCONF is an operation on two data objects, that is, one data object is the running data set, and the other data object is the candidate data set, where the running data set is the first data object, and the network device needs to detect the running data
  • the network device may or may not detect the consistency of the version information of the candidate data set.
  • the candidate may not set the corresponding version information.
  • the operation that the first client requests the network device to perform on the first data object includes a copy operation
  • the operation instruction information also includes the fifth version information
  • the fifth version information is the first client record.
  • Version information of the fifth data object, the fifth data object includes configuration data of the network device.
  • the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object.
  • the first data object and the fifth data object are different data objects.
  • these operations defined by NETCONF are extended to carry version information so as to realize configuration update of network devices.
  • NETCONF the operations defined by NETCONF are extended to carry version information so as to realize configuration update of network devices.
  • the edit-config operation defined by NETCONF is extended to carry the first version information.
  • an attribute of version information is added after the identifier of the first data object that needs configuration update.
  • the ⁇ edit-config> parameter is used to instruct the first client to request the editing operation performed by the network device
  • the ⁇ target> parameter is used to carry the identifier of the first data object.
  • the edit-config operation may use an operation parameter to indicate specific operations such as merge, delete, and replace.
  • the operation parameter is an optional parameter. If the ⁇ edit-config> parameter does not carry the operation parameter, it means that the edit-config operation indicates the default operation, and the default operation is the merge operation.
  • the commit operation includes a commit operation and the version information is a revision number (revision) as an example
  • the commit operation defined by NETCONF is extended to carry the first version information.
  • This submit operation is used to overwrite the configuration data in the running dataset with the configuration data in the candidate dataset, so that the configuration data in the candidate dataset will be submitted to take effect officially.
  • the copy-config operation defined by NETCONF is extended to carry the first version information and the fifth version information.
  • the attribute of corresponding version information is respectively added after the identifiers of the first data object (target data object) and the second data object (source data object).
  • the copy operation performed by the first client requesting the network device is indicated by the ⁇ copy-config> parameter
  • the identification of the first data object is carried by the ⁇ target> parameter
  • the ⁇ source> parameter carried by the ⁇ source> parameter The identifier of the second data object.
  • the first client may first check the consistency of the version information. If the first client detects the consistency of the version information, it needs to first obtain the version information of the first data object recorded by the network device. Next, two implementation manners for the first client to obtain the version information of the first data object recorded by the network device are introduced. It should be noted that, if it is necessary to detect the consistency of the version information of the fifth data object, the first client may respectively acquire the version information of the first data object and the fifth data object recorded by the network device. Next, the first client obtains the version information of the first data object recorded by the network device as an example to introduce this. The implementation manner for the first client to obtain the version information of the fifth data object recorded by the network device is similar.
  • An implementation manner for the first client to obtain the version information of the first data object recorded by the network device is as follows: the first client sends a query message to the network device, and the query message includes an identifier of the first data object.
  • the network device receives the query message sent by the first client, and the network device sends a query response message to the first client, where the query response message includes version information of the first data object recorded by the network device. That is, the first client obtains the version information of the first data object recorded by the network device through instant query.
  • the network device feeds back a successful response message to the first client, and the successful response message is a query response message, and the query response message includes Version information of the first data object recorded by the network device.
  • the query response message includes a version field, where the version field includes version information of the first data object recorded by the network device.
  • the network device feeds back a failure response message to the first client, and the failure response message indicates that the network device does not record the version information of the first data object.
  • the failure response message also includes a version field, but the version field is empty.
  • the network device feeds back a failure response message to the first client .
  • the failure response messages fed back by the network device are the same or different.
  • the failure response message fed back by the network device indicates that the first data object does not support the setting of the access control function.
  • the failure response message fed back by the network device indicates that the first data object supports but has not yet set the access control function.
  • defining parameters in the get-revision operation include a ⁇ source> parameter and a ⁇ filter> parameter.
  • the ⁇ source> parameter is used to carry the identifier of the data set
  • the ⁇ filter> parameter is used to carry the name of the YANG module or the path of the data node or the name of the data node in the data set indicated by the ⁇ source> parameter.
  • the ⁇ filter> parameter is an optional parameter.
  • the ⁇ get-revision> parameter in the version query request message only needs to include the ⁇ source> parameter, so as to indicate the identity of the first data object through the ⁇ source> parameter.
  • the ⁇ get-revision> parameter in the version query request message contains the ⁇ source> parameter and the ⁇ filter> parameter, so as to pass the ⁇ source> parameter and ⁇ filter>
  • the parameters collectively indicate the identity of the first data object.
  • a query message sent by the first client to the network device carries the following information.
  • the content in the ⁇ get-revision> parameter indicates that the first client requests to query the version information of the first data object
  • the ⁇ get-revision> parameter includes the ⁇ source> parameter, indicating that the first data object is a data set.
  • ⁇ running/> in the ⁇ source> parameter indicates that the first data object is a running data set.
  • the query message sent by the first client to the network device through ⁇ get-revision> may be called a version query message.
  • a query message sent by the first client to the network device carries the following information.
  • the content in the ⁇ get-revision> parameter indicates that the first client requests to query the version information of the first data object
  • the ⁇ get-revision> parameter includes the ⁇ source> parameter and the ⁇ filter> parameter, indicating that the first data object is data Centralized YANG modules or data nodes.
  • ⁇ running/> in the ⁇ source> parameter indicates that the dataset to which the first data object belongs is the running dataset.
  • the ⁇ top> parameter in the ⁇ filter> parameter indicates that the first data object is the /top/users data node in the running data set.
  • a query response message fed back by the network device carries the following information.
  • ⁇ revision>2 ⁇ revision> is a version field, which indicates that the version information of the first data object recorded by the network device is 2.
  • a failure response message fed back by the network device carries the following information.
  • ⁇ revision> ⁇ revision> is empty, indicating that the network device does not record the version information of the first data object.
  • the first client obtains the version information of the first data object recorded by the network device by sending a query message.
  • the first client may also obtain the version information of the first data object recorded by the network device through ⁇ get-config> defined in NETCOF.
  • ⁇ get-config> is used for the client or the controller to query the network device for configuration data on the network device.
  • the query message sent by the first client to the network device includes the ⁇ get-config> parameter, ⁇ The get-config> parameter carries the identifier of the first data object.
  • the query response message fed back by the network device to the first client includes ⁇ data> parameters, and the ⁇ data> parameter carries specific data of the first data object and also carries version information of the first data object recorded by the network device.
  • the first client can also obtain the version information of the first data object recorded by the network device through ⁇ get-data> or ⁇ get> defined in NETCOF, the principle is similar to ⁇ get-config>.
  • the standard request message defined in NETCOF may also be extended, and when the first client sends a query message to the network device to request to query specific data in the first data object Next, while feeding back specific data in the first data object to the first client, the network device also feeds back version information of the first data object recorded by the network device.
  • the query message sent by the first client to the network device through ⁇ get-config> may also be called a configuration query message.
  • the first client when the first client expects to update the configuration of the first data object, it can obtain the version information of the first data object recorded by the network device through instant query, and the first client The terminal can also obtain the version information of the first data object recorded by the network device through instant query at any time. In addition to querying the version information of the first data object, the first client can also query the version information of other data objects.
  • the first client requests to query the version information of one or more data objects by sending a query message.
  • one query message is used to request to query the version information of one data object.
  • an implementation manner in which the first client requests to query version information of multiple data objects by sending a query message is introduced.
  • a query message sent by the first client carries the following information.
  • the ⁇ get-revision> parameter carries the ⁇ source> parameter and the ⁇ filter> parameter.
  • the ⁇ source> parameter indicates that the dataset where the requested data object resides is the running dataset.
  • the ⁇ filter> parameter indicates that the data object that requests to query the version information includes multiple data nodes corresponding to the interface name included in the interfaceYANG module in the running dataset.
  • a query response message fed back by the network device carries the following information.
  • the query response message carries the ⁇ data> parameter
  • the ⁇ data> parameter carries the version information of the four data nodes corresponding to the ifName interface included in the interfaceYANG module with the interface name eth0.
  • a query response message fed back by the network device to the first client carries the version information of these data nodes.
  • a query response message fed back by the network device carries the following information.
  • the version information of the data node whose interface name is eth0 is 1
  • the version information of the data node whose maximum transmission unit mtu is 1450 is 3
  • the data node whose ipv4-address is 172.168.0.1
  • the data whose ipv6-address is ::1 Nodes have no version information.
  • the first client requests to query the version information by specifying the name of the data node.
  • it may also request to query the version information by specifying the path of the data node.
  • the path of the data node is represented by an xpath expression.
  • a query message sent by the first client carries the following information.
  • the ⁇ filter> parameter carries an xpath expression
  • the xpath expression instructs the first client to request to query the version information of multiple data nodes corresponding to the user whose name is fred in the running data set.
  • the query response message fed back by the network device to the first client may be in the parent node of the multiple data nodes
  • the version information is appended after the identification of the multiple data nodes to indicate that the multiple data nodes all inherit the version information of the parent node.
  • the multiple data nodes themselves have version information and are the same; in another case, the multiple data nodes themselves do not have version information, and the version information of the multiple data nodes is essentially the The version information of the parent node of multiple data nodes.
  • a query message sent by the first client to the network device carries the following information.
  • the network device sends a data change notification message to the first client, and the data change notification message
  • the message includes the version information of the first data object recorded by the network device
  • the data change notification message is sent by the network device when the first client subscribes to the change notification of the data in the first data object. That is, the first client obtains the version information of the first data object recorded by the network device through subscription, that is, obtains the latest version information recorded by the network device.
  • the network device modifies the data in the first data object based on the requests of other clients, that is, the data in the first data object changes, then the network device sends a data change notification message to the first client, and the data change The notification message includes the latest version information of the first data object recorded by the network device.
  • the first client subscribes to the change notification about the configuration data in the first data object by sending a subscription request to the network device, or, the first client defaults to subscribe to the network device about the configuration data in the first data object A change notification, or, the network device pushes a data change notification message to the first client by default.
  • the version information can be considered as a mark that records changes in the configuration data in the first data object.
  • the configuration data included in the first data object changes (that is, the configuration is updated)
  • the version information of the first data Changes may occur.
  • the network device sends a data change notification message to the first client, and the data change notification message carries version information of the first data object recorded by the network device.
  • the data change notification message further includes specific change information of the configuration data in the first data object.
  • the above two implementation manners for the first client to obtain the version information of the first data object recorded by the network device may be used alone or in combination, which is not limited in the embodiment of the present application.
  • the first client can obtain the version information by sending a version query request message to the network device at any time, and the first client can also obtain the version information by receiving the configuration change push message sent by the network device. Version Information.
  • Step 302 The network device receives the configuration request message.
  • the network device after the first client sends the configuration request message to the network device, the network device receives the configuration request message.
  • Step 303 When the network device detects that the first version information is consistent with the first reference version information, the network device performs this operation on the first data object, and the first reference version information is the version information of the first data object recorded by the network device .
  • the network device after receiving the configuration request message, the network device detects whether the first version information is consistent with the first reference version information, that is, detects whether the version information recorded by the first client is consistent with the version information recorded by the network device. The message is consistent.
  • the network device detects that the first version information is consistent with the first reference version information, the network device performs the operation on the first data object.
  • the first reference version information is the version information of the first data object recorded by the network device.
  • the operation indication information carried in the configuration request message also includes fifth version information, which is the version information of the fifth data object recorded by the first client, and the fifth data object
  • the object includes configuration data of the network device, and the fifth data object is a different data object from the first data object.
  • the network device also needs to detect whether the fifth version information is consistent with the fifth reference version information.
  • the network device detects that the first version information is consistent with the first reference version information and that the fifth version information is consistent with the fifth reference version information, the network device performs the operation on the first data object.
  • the fifth reference version information is the version information of the fifth data object recorded by the network device.
  • the operation instruction information carried in the configuration request message includes the identifier of the first data object, for example, the operation instruction information for operations such as editing, deleting, and copying all includes the identifier of the first data object (also called the target data object),
  • the operation indication information carried in the configuration request message indicates the identity of the first data object, for example, the operation indication information of the submit operation indicates the identity of the first data object (that is, the running data set).
  • the network device queries the version information of the first data object from the optimistic lock information base based on the identifier of the first data object, and the queried version information is the first Version information for the data object.
  • the operation instruction information also includes the identifier of the fifth data object
  • the network device queries the version information of the fifth data object from the optimistic lock information base based on the identifier of the fifth data object, and finds The version information of is the version information of the fifth data object recorded by the network device.
  • the optimistic lock information library is used to store the version information of the data objects recorded by the network device
  • the optimistic lock information library is stored by the network device or by other devices, which is not limited in this embodiment of the present application.
  • the optimistic lock information base is an information base based on the YANG model.
  • the network device for the implementation manner of the network device performing the operation on the first data object, refer to the relevant introduction of NETCONF, which will not be repeated here.
  • the network device After the network device finishes performing the operation on the first data object, the network device records the first reference version information. It should be noted that the network device needs to judge whether to update the version information of the first data object recorded by the network device according to the situation, that is, whether to update the first reference version information.
  • the data granularity supported by the network device setting access control function includes one or more of the data set granularity, YANG module granularity, and data node granularity, and the data object setting
  • anti-selection mechanism parameters can also be set, that is, there may be a parent-child relationship between the data objects in the embodiment of the present application, and there may also be child data objects that are removed from the parent data object between data objects with a parent-child relationship.
  • the network device after performing the operation on the first data object, supports setting the data granularity of the access control function, the parent-child relationship between data objects, and the deselection Mechanism parameters to determine whether to update the version information, and how to update the version information.
  • the network device updates and records the first reference version information. That is, the network device maintains the version information of the first data object itself, so after the network device performs a configuration update operation on the first data object, it needs to update and record the first reference version information.
  • the operation indication information further includes the identifier of the second data object
  • the first data object is a child data object of the second data object
  • the second reference version information is the version information of the second data object recorded by the network device
  • the implementation method for the network device to record the first reference version information is: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the second reference version information corresponds to the second
  • the network device updates and records the first reference version information and the second reference version information.
  • the access control function set by the network device may not support the anti-selection mechanism. In this way, if a data change occurs in the first data object, the network device needs to update the version information of the first data object. If the data change of the first data object causes the parent data object of the first data ) data changes, the network device also needs to update the version information of the second data object.
  • the operation instruction information also includes the identifier of the third data object
  • the first data object is a child data object of the third data object
  • the third reference version information is the version information of the third data object recorded by the network device
  • the network If the access control function set by the device supports the anti-selection mechanism, then the implementation method for the network device to record the first reference version information is: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device , when the data granularity of the third data object corresponding to the third reference version information meets the data granularity of the access control function set by the network device, and the deselection mechanism parameter of the access control function set by the network device does not include the identifier of the first data object , the network device updates and records the first reference version information and the third reference version information.
  • the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information meets the access control function set by the network device.
  • the anti-selection mechanism parameter of the access control function set by the network device includes the identifier of the first data object, the network device updates and records the first reference version information.
  • the access control function set by the network device supports the anti-selection mechanism, if the third data object is the parent data object of the first data object, and the data granularity of the first data object and the third data object satisfy the requirements of the network
  • the data granularity of the access control function set by the device that is, the data granularity of the access control function set by the network device includes at least two data granularities, then the network device not only updates the version information of the first data object, but also according to whether the parameters of the reverse selection mechanism include the first data
  • the identification of the object is used to determine whether to update the version information of the third data object after the operation is performed on the first data object.
  • the network device updates the version information of the third data object after performing operations on the first data object, and the anti-selection mechanism parameter includes the identification of the first data object
  • the network device keeps the version information of the third data object unchanged after performing the operation on the first data object.
  • the operation instruction information further includes the identifier of the third data object, the third data object is the parent data object of the first data object, and the data granularity of the third data object and the first data object are both Satisfy the data granularity of the network device setting access control function. That is, the third data object includes the first data object, and the data granularity of the first data object is smaller than the data granularity of the third data object. Then the network device records the version information of the third data object and the version information of the first data object.
  • the network device besides updating the version information of the first data object
  • whether to update the version information of the third data object after the operation on the first data object is judged according to whether the anti-selection mechanism parameter includes the identifier of the first data object.
  • the parameters of the anti-selection mechanism do not include the identification of the first data object, when the operation of the network device on the first data object causes the first data object object) change, in this case, since the first data object is not set to be deselected from the third data object, the network device needs to update the version information of the third data object.
  • the deselection mechanism parameter includes the identification of the first data object
  • the network device does not need to record the change of the third data object due to the first data object, even if the first data object is changed, if the data objects in the third data object are not changed except the first data object, in this case , the network device keeps the version information of the third data object unchanged.
  • the third data object is the parent data object of the first data object, and the deselection mechanism parameter corresponding to the third data object includes the identifier of the first data object, then, even for the first data object The object performs a configuration update, and the network device will not update the version information of the third data object. To put it simply, the first data object is deselected from the third data object, and the configuration update of the first data object does not affect the version information of the third data object.
  • the operation indication information indicates that the first client requests the network device to configure the configuration in the YANG module named ietf-interface-desc
  • the "name" node of ietf-interface-desc is the third data object
  • the type or data granularity of the third data object is the YANG module
  • the "name" node is the first data object
  • the first data object's The type or granularity of data is a data node.
  • the network device records the version information of the YANG module of ietf-interface-desc and the version information of the "name" node. Then the network device updates the version information of the "name" node after performing an operation on the "name” node. In addition, if the anti-election mechanism parameter includes the identifier of the "name” node, the network device keeps the version information of the YANG module of ietf-interface-desc unchanged. If the anti-selection mechanism parameter does not include the identifier of the "name” node, the network device updates the version information of the YANG module of ietf-interface-desc.
  • the network device performs an operation on the first data object to update the configuration, and then updates the first data object and the third data respectively. Version information for the object.
  • the first data object is a data node
  • the third data object is a data set
  • the data set contains the data node
  • the data granularity of the data node and the data granularity of the data set satisfy the network device settings
  • the data granularity of the access control function, and the network device records the version information of the data node and the data set respectively.
  • the anti-selection mechanism parameter corresponding to the data set includes the identifier of the data node
  • the network device updates the version information of the data node and keeps the The version information is unchanged.
  • the network device If the anti-selection mechanism parameter corresponding to the data set does not include the identification of the data node, or the network device does not support setting the anti-selection mechanism parameter, then after the network device performs an operation on the data node to update the configuration, the network device updates Version information of the data node and the dataset.
  • the data granularity of the first data object does not meet the data granularity of the access control function set by the network device
  • the third data object is the parent data object of the first data object
  • the data granularity of the third data object meets the requirements of the network device.
  • the data granularity of the access control function is set, that is, the parent data object of the first data object has version information.
  • the network device needs to judge whether to update the version information of the third data object after performing the operation on the first data object according to whether the identifier of the first data object is set as a parameter of the deselection mechanism.
  • the network device keeps the version information of the third data object unchanged.
  • the network device updates the version information of the third data object.
  • the network device supports setting the access control function for a data object of a data granularity, assuming that the network device does not support the setting of the access control function of the data node, but supports the setting of the access control function of the data set, and the first data object is a data node, the third data object is a data set, and the third data object is the parent data object of the first data object, then the network device records the version information of the third data object, and the first data object itself does not have version information.
  • the first data object is a data node
  • the third data object is a data set
  • the data set is the parent data object of the data node
  • the data granularity of the data node does not satisfy the access control function set by the network device
  • the data granularity of the data set satisfies the data granularity of the access control function set by the network device, and the network device records the version information of the data set, while the data node itself has no version information.
  • the deselection mechanism parameter corresponding to the data set includes the identifier of the data node
  • the network device keeps the version information of the data set unchanged.
  • the anti-selection mechanism parameter corresponding to the data set does not include the identifier of the data node, then after the network device performs an operation on the data node to update the configuration, the network device updates the version information of the data set.
  • the operation instruction information instructs the first client to request the network device to pair the " name" node to operate.
  • the data granularity supported by the access control function of the network device includes the YANG module, and the network device records the version information of the YANG module of ietf-interface-desc.
  • the network device After the network device performs an operation on the "name" node, if the anti-selection mechanism parameter includes the identifier of the "name” node, the network device keeps the version information of the YANG module of ietf-interface-desc unchanged. If the anti-selection mechanism parameter does not include the identifier of the "name” node, the network device updates the version information of the YANG module of ietf-interface-desc.
  • the network device if the network device stores the version information of the data object through the optimistic lock information base, then the network device updates the version information of the first data object by updating the optimistic lock information base, or updates the first data object and the third data object Version information for the object.
  • the anti-selection mechanism parameters are stored in the optimistic lock information database, and the network device queries the anti-selection mechanism parameters from the optimistic lock information database, and determines whether the anti-selection mechanism parameters include the identifier of the first data object.
  • an implementation manner for the network device to update the first reference version information is: adding 1 to the first reference version information to obtain the updated first See version information. If the version information is a version number, and the version number is the naming format of version major version number.subversion number.minor version number, then an implementation method for the network device to update the first reference version information is: the first reference version information The updated first reference version information is obtained by adding 1 to the major version number or the subversion number or the minor version number.
  • an implementation manner for the network device to update the first reference version information is: the network device updates the system time when the operation on the first data object is completed to the first reference version information, or the network device The system time at which the operation on the first data object is started is updated to the first reference version information, or the network device updates the system time at which the configuration request message is received to the first reference version information. That is, the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object, or the first reference version information is the system time recorded by the network device when the network device starts to perform the operation on the first data object or, the first reference version information is the time recorded by the network device when the network device receives the configuration request packet. If the version information is in another form, the manner in which the network device updates the first reference version information can be adaptively changed.
  • the network device After the network device submits the configuration data in the candidate data set to the running data set, since the configuration data in the running data set is modified, the network device The version information of the running dataset needs to be updated. Assuming that the network device updates the version information in the form of accumulation, after the network device executes the submit operation, in one implementation, the network device adds 1 to the version information of the running data set to obtain the updated version information, and in another In an implementation manner, the network device resets the version information of the running data set to an initial value of the version information.
  • the network device after the network device performs the operation on the first data object, it can also send a configuration success response message to the first client to inform the first client that the operation is successfully performed.
  • the first client after the first client sends the configuration request message to the network device, the first client also receives a configuration success response message sent by the network device.
  • the first client after the first client receives the configuration success response message sent by the network device, the first client records the first version information, that is, updates and records the version information of the first data object recorded by the first client . It should be noted that the first client may automatically update the first version information immediately, or may subsequently update the first version information by querying the network device for the version information of the first data object recorded by the network device. That is, this embodiment of the present application does not limit the implementation manner of updating the first version information by the first client.
  • the first client after the first client sends a configuration request message to the network device for a period of time, the first client sends a query message to the network device to query the latest version information of the first data object.
  • the network device receives the query message sent by the first client, where the query message includes the identifier of the first data object.
  • the network device sends a query response message to the first client, and the query response message includes the version information of the first data object recorded by the network device, that is, the network device informs the first client of the updated version information of the first data object. client.
  • the first client After the first client obtains the updated version information of the first data object, if it finds that the version information of the first data object has changed, the first client determines that the network device has successfully performed an operation on the first data object. To put it simply, in the embodiment of the present application, the first client can obtain version information through query, and then verify whether the network device successfully executes or completes the operation on the first data object.
  • the configuration success response message sent by the network device to the first client includes the updated first reference version information, then the first client updates and records the first version information as the updated First reference version information.
  • a configuration success response message sent by the network device to the first client carries the following information.
  • ⁇ ok/> indicates that the network device successfully performs the operation on the first data object, that is, the network device successfully performs configuration update.
  • the network device when the network device detects that the first version information is inconsistent with the first reference version information, the network device sends a configuration failure response message to the first client. If the operation is a copy operation, and the network device detects that the first version information is inconsistent with the first reference version information, or the network device detects that the fifth version information is inconsistent with the fifth reference version information, the network device sends a Configuration failure response message. That is, if the version information maintained by the first client is inconsistent with the version information maintained by the network device, the network device does not perform an operation on the first data object, and feeds back a configuration failure response message to the first client.
  • the configuration failure response message sent by the network device to the first client includes the first reference version information, that is, the network device may notify the first client of the version information of the first data object recorded by the network device.
  • a configuration failure response message sent by the network device to the first client carries the following information.
  • the content in the ⁇ rpc-error> parameter indicates that the configuration failed
  • the ⁇ error-info> parameter carries the reason for the configuration failure
  • the ⁇ message> parameter carries the first reference version information recorded by the network device as 2.
  • the network device judges whether to update the configuration by checking the consistency of the version information.
  • FIG. 4 illustrate again the configuration updating method introduced in the embodiment in FIG. 3 .
  • the network device detects the consistency of the version information, and the version information is the version number updated through accumulation, and both client A and client B can update the configuration of the network device.
  • Client A updates the first version information recorded by itself to 2.
  • the client A edits the configuration data locally, expecting to update the configuration data in the first data object again.
  • client A sends another configuration request message to the network device.
  • the above describes the method for the client to update the configuration of the network device based on NETCONF.
  • the network device participates in the detection of the consistency of the version information, which can largely avoid the conflict of the configuration update.
  • the embodiment of the present application provides a complete access control mechanism to reduce configuration conflicts.
  • the access control mechanism provided by the embodiment of the present application includes optimistic lock capability notification, addition and deletion of lock protection, maintenance and query of optimistic lock information (that is, version information), and application of optimistic lock when configuration is updated (that is, to detect the consistency of version information) sex).
  • this solution can be implemented by extending NETCONF, such as defining new RPC operations, such as get-revision operation, set-ol-capability operation, modifying the original RPC operation, such as adding a ⁇ capability> parameter to notify optimistic lock support capability. It should be noted that some specific implementations described above are not intended to limit this application, and this solution can also be implemented through other possible implementations between the client and the network device.
  • the client when a certain client performs a configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object.
  • the network device updates the configuration of the data object.
  • the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • Fig. 5 is a flow chart of another configuration update method provided by the embodiment of the present application.
  • the client side independently detects the consistency of the version information.
  • the method includes the following steps.
  • Step 501 When the first client detects that the first version information is consistent with the first reference version information, the first client sends a NETCONF configuration request message to the network device, wherein the first version information is recorded by the first client version information of the first data object, the first reference version information is the version information of the first data object recorded by the network device, the configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network The operation performed by the device on the first data object.
  • the first client when the first client expects to update the configuration of the network device, it first checks whether the first version information is consistent with the first reference version information, wherein the first version information is the first version information recorded by the first client. Version information of a data object, the first reference version information is the version information of the first data object recorded by the network device.
  • the first client detects that the first version information is consistent with the first reference version information, the first client sends a configuration request message to the network device.
  • the configuration request message includes operation instruction information
  • the operation instruction information indicates an operation that the first client requests the network device to perform on the first data object.
  • the first client detects the consistency of the version information, it needs to first obtain the version information of the first data object recorded by the network device.
  • two implementation manners for the first client to obtain the version information of the first data object recorded by the network device are introduced.
  • An implementation manner for the first client to obtain the version information of the first data object recorded by the network device is as follows: the first client sends a query message to the network device, and the query message includes an identifier of the first data object.
  • the first client receives a query response message sent by the network device, where the query response message includes version information of the first data object recorded by the network device. That is, the first client obtains the version information of the first data object recorded by the network device through instant query.
  • the first client receives a data change notification message sent by the network device, and the data change notification message includes the version information of the first data object recorded by the network device. Version information of the first data object.
  • the data change notification message is received when the first client subscribes to change notifications about configuration data in the first data object. That is, the first client obtains the version information of the first data object recorded by the network device through subscription.
  • the first client may suspend the configuration update. Even if the first client still sends the configuration request message to the network device in this case, the network device will not accept the request of the first client.
  • Step 502 The network device receives the configuration request message, and performs the operation on the first data object.
  • the network device may not need to detect the version information Consistency, the network device performs a corresponding operation on the first data object based on the operation instruction information included in the configuration request message.
  • the network device has a high probability of successfully performing the operation.
  • the network device may fail to update the configuration. For example, due to processing efficiency, network delay, etc., the time when the first client detects the consistency of the version information is longer than the time when the network device receives the configuration request message. In this time interval, the network device may accept requests from other clients and modify the configuration data in the first data object. In this case, the first reference version information obtained by the first client does not Not the latest version information recorded by the network device. Or, due to reasons such as a failure of the network device itself, an incorrect operation requested by the first client, etc., the configuration update of the network device may also fail.
  • the implementation of the first client to independently detect the consistency of version information introduced in the embodiment of FIG. 5 differs from the embodiment of FIG.
  • Other content introduced in the embodiment 3 is also applicable to the embodiment in FIG. 5 , and will not be repeated in FIG. 5 .
  • FIG. 6 illustrate again the configuration updating method introduced in the embodiment in FIG. 5 .
  • the first client detects the consistency of version information, and the version information is a version number updated through accumulation, and both client A and client B can update the configuration of the network device.
  • the client A requests the network device to obtain the first reference version information (for example, through a get-revision operation).
  • Client A determines that the first version information is consistent with the first reference version information by comparison, then at time t3, client A sends a configuration request message to the network device, and the configuration request message indicates to perform an edit operation on the first data object .
  • the network device sends a configuration success response message to client A, where the configuration success response message indicates successful configuration.
  • client A may update the first version information recorded by itself to 2.
  • the client B requests the network device to obtain the first reference version information (for example, through the get-revision operation).
  • Client B confirms that the first version information is consistent with the first reference version information by comparison, then at time t7, client B sends a configuration request message to the network device, and the configuration request message indicates to perform an editing operation on the first data object .
  • client A requests the network device to obtain the first reference version information (such as through get-revision operation).
  • Client A determines through comparison that the first version information is inconsistent with the first reference version information, then client A suspends the current configuration request.
  • the client when a certain client performs a configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object.
  • the network device updates the configuration of the data object.
  • the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • Fig. 7 is a schematic structural diagram of an apparatus 700 for updating configuration provided by an embodiment of the present application.
  • the apparatus 700 for updating configuration can be implemented by software, hardware, or a combination of the two to become part or all of a communication device.
  • the communication device can be The network device in the embodiment shown in Fig. 1 to Fig. 6 .
  • the apparatus 700 is used for network equipment. Referring to FIG. 7 , the device 700 includes: a first receiving module 701 and a configuration updating module 702 .
  • the first receiving module 701 is configured to receive the network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to perform the first data An operation performed by the object, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
  • the configuration update module 702 is configured to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, and the first reference version information is the version of the first data object recorded by the network device information.
  • the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information.
  • the device 700 also includes:
  • the second receiving module is configured to receive a query message sent by the first client, where the query message includes the identifier of the first data object;
  • the first sending module is configured to send a query response message to the first client, where the query response message includes the version information of the first data object recorded by the network device.
  • the device 700 also includes:
  • the second sending module is configured to send a data change notification message to the first client, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is the network device in the first Sent when the client subscribes to notifications about changes to data in the first data object.
  • the version information includes a time stamp
  • the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object
  • the first reference version information is the system time recorded by the network device when the network device starts to perform operations on the first data object The system time when the first data object performed the operation.
  • the device 700 also includes:
  • a processing module configured to perform the operation on the first data object
  • a recording module configured to record the first reference version information.
  • the recording module includes:
  • the first recording submodule is configured to update and record the first reference version information when the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device.
  • the operation indication information further includes an identifier of the second data object, the first data object is a child data object of the second data object, and the second reference version information is version information of the second data object recorded by the network device;
  • Recording modules include:
  • the second recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the second data object corresponding to the second reference version information If the data granularity of the access control function set by the network device is satisfied, the first reference version information and the second reference version information are updated and recorded.
  • the operation indication information further includes the identifier of the third data object, the first data object is a child data object of the third data object, the third reference version information is the version information of the third data object recorded by the network device, and the network
  • the access control function of the device settings supports the anti-selection mechanism
  • Recording modules include:
  • the third recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy The data granularity of the access control function set by the network device, and when the deselection mechanism parameter of the access control function set by the network device does not include the identification of the first data object, update and record the first reference version information and the third reference version information;
  • the fourth recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy If the data granularity of the access control function set by the network device and the deselection mechanism parameter of the access control function set by the network device include the identifier of the first data object, the first reference version information is updated and recorded.
  • the device 700 also includes:
  • the third receiving module is configured to receive the access control function setting request message sent by the first client, where the access control function setting request message includes the identifier of the first data object;
  • a setting module configured to set an initial value of version information for the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the condition for setting the access control function based on the identifier of the first data object;
  • the third sending module is configured to send a setting success response message to the first client, where the setting success response message instructs the first client to record the version information of the first data object.
  • the setting success response message includes an initial value of version information; or, the setting success response message instructs the first client to set the initial value of version information for the first data object.
  • condition for setting the access control function includes: the network device supports setting the access control function, and the first data object does not yet have version information.
  • setting the access control function condition further includes: the data granularity of the first data object meets the data granularity of the setting access control function supported by the network device.
  • the setting access control function request message further includes a reverse selection mechanism parameter, and the reverse selection mechanism parameter includes one or more identifiers of fourth data objects, where the fourth data objects are sub-data objects of the first data object.
  • the device 700 also includes:
  • the fourth receiving module is used to receive the deletion setting access control function request message sent by the first client, and the deletion setting access control function request message includes the identification of the first data object;
  • a deletion module configured to delete the version information of the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the access control function deletion condition based on the identifier of the first data object.
  • setting the access control function deletion condition includes: the network device supports setting the access control function, and the network device records version information of the first data object.
  • the device 700 also includes:
  • the fourth sending module is configured to send a capability notification message to the first client, where the capability notification message includes a support capability parameter of the access control function, and the support capability parameter is used to indicate whether the network device supports setting the access control function.
  • the capability notification message also includes a support granularity parameter of the access control function, the support granularity parameter is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and data node granularity one or more of the .
  • the operation includes a copy operation
  • the operation indication information also includes fifth version information, where the fifth version information is the version information of the fifth data object recorded by the first client, and the fifth data object includes configuration data of the network device , the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object;
  • Configuration update module 702 includes:
  • the configuration update submodule is used to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information and the fifth version information is consistent with the fifth reference version information, and the fifth reference version The information is version information of the fifth data object recorded by the network device.
  • the client when a client performs configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object.
  • the network device detects that the client If it is consistent with the version information of the data object respectively recorded by the network device, the network device updates the configuration of the data object.
  • the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • the configuration update device provided by the above embodiment only uses the division of the above-mentioned functional modules as an example for the configuration update.
  • the above-mentioned function allocation can be completed by different functional modules according to needs. That is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the configuration updating device and the configuration updating method embodiment provided by the above embodiment belong to the same idea, and the specific implementation process thereof is detailed in the method embodiment, and will not be repeated here.
  • Fig. 8 is a schematic structural diagram of an apparatus 800 for updating configuration provided by an embodiment of the present application.
  • the apparatus 700 for updating configuration can be realized by software, hardware or a combination of the two to become part or all of a communication device.
  • the communication device can be The first client in the embodiment in Fig. 1 to Fig. 6 .
  • the apparatus 800 is used for a first client.
  • the device 800 includes: a first sending module 801 .
  • the first sending module 801 is configured to send a network configuration protocol NETCONF configuration request message to the network device, where the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to execute the first data object operation, the operation indication information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
  • the configuration request message is used to instruct the network device to perform the operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, and the first reference version information is the first version information recorded by the network device. Version information of a data object.
  • the device 800 also includes:
  • a receiving module configured to receive a configuration success response message sent by the network device
  • the recording module is used for recording the first version information.
  • the configuration success response message includes updated first reference version information
  • Recording modules include:
  • the record submodule is used to update and record the first version information as the updated first reference version information.
  • the client when a client performs configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object.
  • the network device detects that the client If it is consistent with the version information of the data object respectively recorded by the network device, the network device updates the configuration of the data object.
  • the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • the configuration update device provided by the above embodiment only uses the division of the above-mentioned functional modules as an example for the configuration update.
  • the above-mentioned function allocation can be completed by different functional modules according to needs. That is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the configuration updating device and the configuration updating method embodiment provided by the above embodiment belong to the same idea, and the specific implementation process thereof is detailed in the method embodiment, and will not be repeated here.
  • Fig. 9 is a schematic structural diagram of an apparatus 900 for updating configuration provided by an embodiment of the present application.
  • the apparatus 900 for updating configuration can be implemented by software, hardware, or a combination of the two to become part or all of a communication device.
  • the communication device can be The first client in the embodiment in Fig. 1 to Fig. 6 . In this embodiment of the application, the device is used for the first client.
  • the device 900 includes: a first sending module 901 .
  • the first sending module 901 is configured to send a network configuration protocol NETCONF configuration request message to the network device when the first client detects that the first version information is consistent with the first reference version information;
  • the first version information is the version information of the first data object recorded by the first client
  • the first reference version information is the version information of the first data object recorded by the network device
  • the NETCONF configuration request message includes operation instruction information
  • the The operation instruction information indicates an operation that the first client requests the network device to perform on the first data object.
  • the device 900 also includes:
  • the second sending module is configured to send a query message to the network device, where the query message includes the identifier of the first data object;
  • the first receiving module is configured to receive a query response message sent by the network device, where the query response message includes version information of the first data object recorded by the network device.
  • the device 900 also includes:
  • the second receiving module is configured to receive a data change notification message sent by the network device, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is for the first client to subscribe to the Received in case of a change notification of data in the first data object.
  • the client may not lock the data object and detect that the version information of the data object recorded by the client and the network device is consistent In this case, send a NETCONF configuration request message to the network device. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
  • the configuration update device provided by the above embodiment only uses the division of the above-mentioned functional modules as an example for the configuration update.
  • the above-mentioned function allocation can be completed by different functional modules according to needs. That is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above.
  • the configuration updating device and the configuration updating method embodiment provided by the above embodiment belong to the same idea, and the specific implementation process thereof is detailed in the method embodiment, and will not be repeated here.
  • all or part may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it may be implemented in whole or in part in the form of a computer program product.
  • the computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network or other programmable devices.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server or data center by wired (eg coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.).
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or may be a data storage device such as a server or a data center integrated with one or more available media.
  • the available medium may be a magnetic medium (for example: floppy disk, hard disk, magnetic tape), an optical medium (for example: digital versatile disc (digital versatile disc, DVD)) or a semiconductor medium (for example: solid state disk (solid state disk, SSD)) wait.
  • a magnetic medium for example: floppy disk, hard disk, magnetic tape
  • an optical medium for example: digital versatile disc (digital versatile disc, DVD)
  • a semiconductor medium for example: solid state disk (solid state disk, SSD)

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The embodiments of the present application belong to the technical field of communications. Disclosed are a configuration updating method and apparatus, and a system and a computer-readable storage medium. In the embodiments of the present application, when a certain client performs configuration updating on a network device, the client may send a NETCONF configuration request message to the network device without locking a data object, and when the network device detects that version information of the data object, which is separately recorded by the client and the network device, is consistent, the network device performs configuration updating on the data object. Alternatively, upon detecting that the version information of the data object, which is separately recorded by the client and the network device, is consistent, the client sends the NETCONF configuration request message to the network device. In this way, there is no need for the client to lock the data object, which requires configuration updating, thereby improving the efficiency of concurrent control, and reducing configuration conflicts between a plurality of clients, that is, the influence on other clients is relatively small.

Description

配置更新的方法、装置、***及计算机可读存储介质Method, device, system and computer-readable storage medium for configuration update
本申请要求于2021年7月29日提交的申请号为202110864449.2、发明名称为“配置更新的方法、装置、***及计算机可读存储介质”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese patent application with the application number 202110864449.2 and the title of the invention "method, device, system and computer-readable storage medium for configuration update" filed on July 29, 2021, the entire contents of which are incorporated by reference in this application.
技术领域technical field
本申请实施例涉及通信技术领域,特别涉及一种配置更新的方法、装置、***及计算机可读存储介质。The embodiments of the present application relate to the field of communication technologies, and in particular, to a configuration update method, device, system, and computer-readable storage medium.
背景技术Background technique
网络配置协议(network configuration protocol,NETCONF)是一种用于管理网络设备的机制,管理人员可以通过客户端使用这套机制对网络设备进行配置管理。其中,配置管理包括配置更新,配置更新如增加、修改、删除网络设备的配置数据等。The network configuration protocol (NETCONF) is a mechanism for managing network devices. Managers can use this mechanism to configure and manage network devices through clients. Wherein, the configuration management includes configuration updating, such as adding, modifying, and deleting configuration data of network devices, and the like.
在相关技术中,在分布式管理网络设备的场景中,多个客户端可以对同一个网络设备进行配置更新。在NETCONF中定义有上锁操作和解锁操作。任一个客户端与某网络设备之间建立会话之后,在对该网络设备进行配置更新的过程中,首先要通过上锁操作对该网络设备中需要更新的数据集进行上锁,在锁定该数据集的状态下对该网络设备进行配置更新。在配置更新之后,该客户端通过解锁操作来解除对该数据集的锁定,或者该客户端通过关闭该会话来解除锁定,以便其他客户端对该网络设备进行配置更新。In related technologies, in the scenario of distributed management of network devices, multiple clients may update the configuration of the same network device. Lock operation and unlock operation are defined in NETCONF. After a session is established between any client and a network device, in the process of updating the configuration of the network device, the data set to be updated in the network device must first be locked through the locking operation, and the data set in the lock Update the configuration of the network device in the set state. After the configuration is updated, the client unlocks the data set through an unlock operation, or the client unlocks the data set by closing the session, so that other clients can update the configuration of the network device.
然而,相关技术中客户端需要在锁定数据集的状态下对网络设备进行配置更新,这样,当该网络设备中的该数据集被一个客户端锁定时,其他客户端便不能再基于该数据集对该网络设备进行配置更新。可见这种方案的并发控制的效率较低,会对其他客户端产生一定的影响。且在其他客户端急需基于该数据集对该网络设备进行一些重要配置更新的情况下,其他客户端只能强制关闭该客户端与该网络设备之间的会话,强制中断会话可能会对该客户端造成影响。However, in the related art, the client needs to update the configuration of the network device in the state of locking the data set, so that when the data set in the network device is locked by a client, other clients can no longer Update the configuration of the network device. It can be seen that the concurrency control efficiency of this scheme is low, and it will have a certain impact on other clients. And when other clients urgently need to update some important configurations of the network device based on the data set, other clients can only forcibly close the session between the client and the network device, and forcibly interrupting the session may affect the client side impact.
发明内容Contents of the invention
本申请实施例提供了一种配置更新的方法、装置、***及计算机可读存储介质,通过网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新的方法,能够减少配置更新冲突,提高并发控制的效率。所述技术方案如下:Embodiments of the present application provide a configuration update method, device, system, and computer-readable storage medium. When the network device detects that the version information of the data object recorded by the client and the network device is consistent, the network device will The method for updating the configuration of the data object can reduce configuration update conflicts and improve the efficiency of concurrency control. Described technical scheme is as follows:
第一方面,提供了一种配置更新的方法,该方法包括:In the first aspect, a method for configuration update is provided, and the method includes:
网络设备接收第一客户端发送的网络配置协议NETCONF配置请求报文,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作,该操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括网络设备的配置数据;在网络设备检测第一版本 信息与第一参考版本信息一致的情况下,网络设备对第一数据对象执行操作。其中,第一参考版本信息为网络设备记录的第一数据对象的版本信息。The network device receives the network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation instruction information, and the operation instruction information indicates that the first client requests the network device to perform an operation on the first data object, The operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device; when the network device detects the first version information and the second If the reference version information is consistent, the network device performs an operation on the first data object. Wherein, the first reference version information is the version information of the first data object recorded by the network device.
也即是,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象的情况下向网络设备发送NETCONF配置请求报文,在网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。That is to say, when a client is updating the configuration of a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. If the version information of the data object recorded separately is consistent, the network device updates the configuration of the data object. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
可选地,第一客户端在发送NETCONF配置请求报文之前可以检测版本信息的一致性,也可以不检测版本信息的一致性。在第一客户端检测版本信息的一致性的情况下,NETCONF配置请求报文为第一客户端检测第一版本信息与第一参考版本信息一致的情况下发送的。也即是,第一客户端和网络设备均也可以检测版本信息的一致性,以充分减少配置冲突。在第一客户端检测版本信息不一致的情况下,第一客户端可以不发送配置请求报文,从而第一客户端的无效请求。Optionally, before sending the NETCONF configuration request message, the first client may check the consistency of the version information, or may not check the consistency of the version information. When the first client detects the consistency of the version information, the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information. That is, both the first client and the network device can also detect the consistency of version information, so as to fully reduce configuration conflicts. In the case that the first client detects that the version information is inconsistent, the first client may not send the configuration request message, thereby invalidating the request of the first client.
可选地,该方法还包括:网络设备接收第一客户端发送的查询报文,该查询报文包括第一数据对象的标识;网络设备向第一客户端发送查询响应报文,该查询响应报文包括网络设备记录的第一数据对象的版本信息。也即是,第一客户端可以通过即时查询的方式获取网络设备记录的第一数据对象的版本信息。需要说明的是,第一客户端可以随时向网络设备发送查询报文以查询某数据对象的版本信息。例如,第一客户端可以在需要检测版本信息一致性时向网络设备发送查询报文,也即在网络设备接收第一客户端发送的NETCONF配置请求报文之前,网络设备接收第一客户端发送的查询报文。或者,第一客户端可以在发送NETCONF配置请求报文一段时间之后,向网络设备发送查询报文,如网络设备在对第一数据对象执行操作之后接收第一客户端发送的查询报文,以将第一数据对象最新的版本信息告知给第一客户端,用于第一客户端对网络设备是否对第一数据对象成功执行操作进行验证。或者,第一客户端可以在其他任一时间向网络设备发送查询报文以查询某数据对象的版本信息。Optionally, the method further includes: the network device receiving a query message sent by the first client, the query message including the identifier of the first data object; the network device sending a query response message to the first client, the query response The packet includes version information of the first data object recorded by the network device. That is, the first client can obtain the version information of the first data object recorded by the network device through instant query. It should be noted that the first client may send a query message to the network device at any time to query the version information of a data object. For example, the first client may send a query message to the network device when it needs to check the consistency of version information, that is, before the network device receives the NETCONF configuration request message sent by the first client, the network device receives the NETCONF configuration request message sent by the first client. query message. Alternatively, the first client may send a query message to the network device after sending the NETCONF configuration request message for a period of time, for example, the network device receives the query message sent by the first client after performing an operation on the first data object, to Informing the first client of the latest version information of the first data object is used by the first client to verify whether the network device successfully executes the operation on the first data object. Alternatively, the first client may send a query message to the network device at any other time to query the version information of a certain data object.
可选地,该方法还包括:网络设备向第一客户端发送数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象的版本信息,该数据变更通知报文为网络设备在第一客户端订阅关于第一数据对象中数据的变更通知的情况下发送的。也即是,第一客户端可以通过订阅的方式获取网络设备记录的第一数据对象的版本信息,也即获取网络设备记录的最新的版本信息。例如,网络设备基于其他客户端的请求修改了第一数据对象中的数据,即第一数据对象中的数据发生了变更,那么网络设备向第一客户端发送一个数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象最新的版本信息。Optionally, the method further includes: the network device sends a data change notification message to the first client, the data change notification message includes version information of the first data object recorded by the network device, and the data change notification message is the network Sent by the device with the first client subscribing to notifications about changes to data in the first data object. That is, the first client may obtain the version information of the first data object recorded by the network device through subscription, that is, obtain the latest version information recorded by the network device. For example, if the network device modifies the data in the first data object based on the requests of other clients, that is, the data in the first data object changes, then the network device sends a data change notification message to the first client, and the data change The notification message includes the latest version information of the first data object recorded by the network device.
需要说明的是,上述第一客户端获取网络设备记录的第一数据对象的版本信息的两种实现方式(包括即时查询和订阅的方式)可以单独使用,也可以结合使用,本申请实施例对此不作限定。It should be noted that the above two implementation methods (including instant query and subscription methods) for the first client to obtain the version information of the first data object recorded by the network device can be used alone or in combination. This is not limited.
可选地,在申请实施例中,版本信息包括版本号、时间戳或序列号。例如,版本信息包括时间戳,第一参考版本信息是网络设备记录的网络设备完成对第一数据对象执行操作的***时间,或,第一参考版本信息是网络设备记录的网络设备开始对第一数据对象执行操作的***时间。Optionally, in the embodiment of the application, the version information includes a version number, a time stamp or a serial number. For example, the version information includes a time stamp, the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object, or the first reference version information is the system time recorded by the network device when the network device starts The system time at which the data object performed the operation.
在本申请实施例中,存在一些操作是关于两个数据对象的操作,例如复制操作,可选地, 为了保证这两个数据对象中的配置数据与第一客户端所维护的一致,网络设备需要分别检测这两个数据对象的版本信息的一致性。以复制操作为例,可选地,第一客户端请求网络设备对第一数据对象执行的操作包括复制操作,该操作指示信息还包括第五版本信息,第五版本信息为第一客户端记录的第五数据对象的版本信息,第五数据对象包括网络设备的配置数据,复制操作用于用第五数据对象中的配置数据覆盖第一数据对象中的配置数据;那么,在网络设备检测第一版本信息与第一参考版本信息一致的情况下,网络设备对第一数据对象执行操作,包括:在网络设备检测第一版本信息与第一参考版本信息一致且第五版本信息与第五参考版本信息一致的情况下,网络设备对第一数据对象执行操作,第五参考版本信息为网络设备记录的第五数据对象的版本信息。In this embodiment of the application, there are some operations related to two data objects, such as a copy operation. Optionally, in order to ensure that the configuration data in these two data objects is consistent with that maintained by the first client, the network device The consistency of the version information of the two data objects needs to be checked separately. Taking the copy operation as an example, optionally, the operation that the first client requests the network device to perform on the first data object includes a copy operation, and the operation indication information also includes fifth version information, and the fifth version information is recorded by the first client. version information of the fifth data object, the fifth data object includes the configuration data of the network device, and the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object; then, the network device detects the configuration data in the first data object In the case that the first version information is consistent with the first reference version information, the network device performs an operation on the first data object, including: when the network device detects that the first version information is consistent with the first reference version information and the fifth version information is consistent with the fifth reference If the version information is consistent, the network device performs an operation on the first data object, and the fifth reference version information is the version information of the fifth data object recorded by the network device.
可选地,该方法还包括:网络设备完成对第一数据对象执行操作;网络设备记录第一参考版本信息。Optionally, the method further includes: the network device finishes executing the operation on the first data object; the network device records the first reference version information.
可选地,网络设备记录第一参考版本信息,包括:在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,网络设备更新并记录第一参考版本信息。也即是,若第一数据对象本身具有版本信息,则在第一数据对象发生数据变更之后,网络设备需要更新第一数据对象的版本信息,以通过版本信息记录第一数据对象的变更情况。Optionally, the network device recording the first reference version information includes: when the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, the network device updates and records First reference version information. That is, if the first data object itself has version information, after the first data object is changed, the network device needs to update the version information of the first data object, so as to record the change of the first data object through the version information.
可选地,该操作指示信息还包括第二数据对象的标识,第一数据对象为第二数据对象的子数据对象,第二参考版本信息为网络设备记录的第二数据对象的版本信息,网络设备记录第一参考版本信息,包括:在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且第二参考版本信息对应的第二数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,网络设备更新并记录第一参考版本信息和第二参考版本信息。也即是,若第一数据对象本身具有版本信息,且第一数据对象的父数据对象(即第二数据对象)也具有版本信息,则在第一数据对象发生数据变更之后,导致第二数据对象也发生了变更,那么网络设备不仅需要更新第一数据对象的版本信息,还需要更新第二数据对象的版本信息。Optionally, the operation indication information further includes the identifier of the second data object, the first data object is a child data object of the second data object, the second reference version information is the version information of the second data object recorded by the network device, and the network The device records the first reference version information, including: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the second data object corresponding to the second reference version information When the data granularity meets the data granularity of the access control function set by the network device, the network device updates and records the first reference version information and the second reference version information. That is, if the first data object itself has version information, and the parent data object of the first data object (that is, the second data object) also has version information, after a data change occurs in the first data object, the second data If the object is also changed, the network device not only needs to update the version information of the first data object, but also needs to update the version information of the second data object.
可选地,该操作指示信息还包括第三数据对象的标识,第一数据对象为第三数据对象的子数据对象,第三参考版本信息为网络设备记录的第三数据对象的版本信息,网络设备设置的访问控制功能支持反选机制,网络设备记录第一参考版本信息,包括:在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数不包括第一数据对象的标识的情况下,网络设备更新并记录第一参考版本信息和第三参考版本信息;在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数包括第一数据对象的标识的情况下,网络设备更新并记录第一参考版本信息。也即是,网络设备设置的访问控制功能支持反选机制,反选机制用于将子数据对象从父数据对象中反选出去,以使子数据对象的数据变更不影响父数据对象的版本信息。Optionally, the operation indication information further includes the identifier of the third data object, the first data object is a child data object of the third data object, the third reference version information is the version information of the third data object recorded by the network device, and the network The access control function set by the device supports the anti-selection mechanism, and the network device records the first reference version information, including: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the third If the data granularity of the third data object corresponding to the reference version information meets the data granularity of the access control function set by the network device, and the deselection mechanism parameter of the access control function set by the network device does not include the identifier of the first data object, the network device Update and record the first reference version information and the third reference version information; the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the third reference version information corresponds to the first data object. When the data granularity of the three data objects meets the data granularity of the access control function set by the network device, and the anti-selection mechanism parameter of the access control function set by the network device includes the identification of the first data object, the network device updates and records the first reference version information. That is to say, the access control function set by the network device supports the deselection mechanism, which is used to deselect the child data object from the parent data object, so that the data change of the child data object does not affect the version information of the parent data object.
由上述介绍可知,本申请实施例通过访问控制机制来实现多用户并发访问控制,从而减少配置冲突。也即是,本方案通过访问控制功能来为数据对象设置版本信息这个属性,进而 通过检测版本信息的一致性来对网络设备进行配置更新。可选地,在通过检测版本信息的一致性来对网络设备进行配置更新之前,客户端可以请求网络设备为数据对象设置访问控制功能,接下来将对此进行介绍。It can be seen from the above introduction that the embodiments of the present application implement concurrent access control of multiple users through the access control mechanism, thereby reducing configuration conflicts. That is to say, this solution uses the access control function to set the attribute of version information for the data object, and then updates the configuration of the network device by detecting the consistency of the version information. Optionally, before updating the configuration of the network device by checking the consistency of the version information, the client may request the network device to set an access control function for the data object, which will be introduced next.
可选地,该方法还包括:网络设备接收第一客户端发送的设置访问控制功能请求报文,该设置访问控制功能请求报文包括第一数据对象的标识;如果网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能条件,则网络设备基于第一数据对象的标识,为第一数据对象设置版本信息初始值;网络设备向第一客户端发送设置成功响应报文,该设置成功响应报文指示第一客户端记录第一数据对象的版本信息。Optionally, the method further includes: the network device receiving an access control function setting request message sent by the first client, where the access control function setting request message includes the identifier of the first data object; if the network device is based on the first data object The identification of the first data object determines that the first data object satisfies the condition for setting the access control function, then the network device sets the initial value of the version information for the first data object based on the identification of the first data object; the network device sends a setting success response message to the first client, The setting success response message instructs the first client to record the version information of the first data object.
可选地,设置成功响应报文包括版本信息初始值;或者,设置成功响应报文指示第一客户端为第一数据对象设置版本信息初始值。也即是,网络设备将设置的版本信息初始值通过设置成功响应报文告知给第一客户端,或者,第一客户端在接收到设置成功响应报文后自动为第一数据对象设置版本信息初始值。Optionally, the setting success response message includes the initial value of the version information; or, the setting success response message instructs the first client to set the initial value of the version information for the first data object. That is to say, the network device informs the first client of the initial value of the set version information through the setting success response message, or the first client automatically sets the version information for the first data object after receiving the setting success response message initial value.
可选地,设置访问控制功能条件包括:网络设备支持设置访问控制功能,且第一数据对象还不存在版本信息。也即是,在网络设备支持通过客户端设置访问控制功能,且第一数据对象还未设置访问控制功能的情况下,网络设备能够成功为第一数据对象设置访问控制功能。Optionally, the condition for setting the access control function includes: the network device supports setting the access control function, and the first data object does not yet have version information. That is, when the network device supports setting the access control function through the client, and the first data object has not yet set the access control function, the network device can successfully set the access control function for the first data object.
可选地,设置访问控制功能条件还包括:第一数据对象的数据粒度满足网络设备支持的设置访问控制功能的数据粒度。也即是,网络设备支持设置访问控制功能的数据粒度可能包括或者不包括第一数据对象的数据粒度,在网络设备支持通过客户端设置访问控制功能,第一数据对象还未设置访问控制功能,且网络设备支持的设置访问控制功能的数据粒度包括第一数据对象的数据粒度的情况下,网络设备能够成功为第一数据对象设置访问控制功能。Optionally, setting the access control function condition further includes: the data granularity of the first data object meets the data granularity of the setting access control function supported by the network device. That is to say, the data granularity that the network device supports setting the access control function may or may not include the data granularity of the first data object. When the network device supports setting the access control function through the client, the first data object has not yet set the access control function. And when the data granularity of setting the access control function supported by the network device includes the data granularity of the first data object, the network device can successfully set the access control function for the first data object.
可选地,设置访问控制功能请求报文还包括反选机制参数,反选机制参数包括一个或多个第四数据对象的标识,第四数据对象为第一数据对象的子数据对象。也即是,在第一客户端为第一数据对象设置访问控制功能的同时,还能够设置反选机制参数,以将第一数据对象的某些子数据对象(即第四数据对象)从第一数据对象中反选出去,使得第四数据对象的数据变更不影响第一数据对象的版本信息。Optionally, the setting access control function request message further includes a reverse selection mechanism parameter, and the reverse selection mechanism parameter includes one or more identifiers of fourth data objects, where the fourth data objects are sub-data objects of the first data object. That is to say, when the first client sets the access control function for the first data object, it can also set the anti-selection mechanism parameters, so as to remove some sub-data objects (that is, the fourth data object) of the first data object from the first The data object is deselected, so that the data change of the fourth data object does not affect the version information of the first data object.
可选地,该方法还包括:网络设备接收第一客户端发送的删除设置访问控制功能请求报文,该删除设置访问控制功能请求报文包括第一数据对象的标识;如果网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能删除条件,则网络设备基于第一数据对象的标识,删除第一数据对象的版本信息。Optionally, the method further includes: the network device receiving a delete setting access control function request message sent by the first client, where the delete setting access control function request message includes the identifier of the first data object; if the network device is based on the first The identification of the data object determines that the first data object satisfies the set access control function deletion condition, and the network device deletes the version information of the first data object based on the identification of the first data object.
可选地,设置访问控制功能删除条件包括:网络设备支持设置访问控制功能,且网络设备记录有第一数据对象的版本信息。也即是,在网络设备支持通过客户端设置访问控制功能,且第一数据对象已被设置访问控制功能的情况下,网络设备能够成功删除第一数据对象的版本信息,也即解除对第一数据对象的访问控制保护。Optionally, setting the access control function deletion condition includes: the network device supports setting the access control function, and the network device records version information of the first data object. That is to say, when the network device supports setting the access control function through the client, and the first data object has been set with the access control function, the network device can successfully delete the version information of the first data object, that is, release the access control function of the first data object. Access control protection for data objects.
可选地,该方法还包括:网络设备向第一客户端发送能力通知报文,该能力通知报文包括访问控制功能的支持能力参数,该支持能力参数用于指示网络设备是否支持设置访问控制功能。Optionally, the method further includes: the network device sends a capability notification message to the first client, the capability notification message includes a support capability parameter of the access control function, and the support capability parameter is used to indicate whether the network device supports setting access control Function.
可选地,该能力通知报文还包括访问控制功能的支持粒度参数,该支持粒度参数用于指示网络设备支持设置访问控制功能的数据粒度,数据粒度包括数据集粒度、YANG模块粒度和数据节点粒度中的一个或多个。也即是,网络设备还能够告知客户端关于访问控制功能的 支持能力以及支持粒度,从而使客户端精准地向网络设备发送关于设置或删除访问控制功能的请求报文。Optionally, the capability notification message also includes a support granularity parameter of the access control function, which is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and data node One or more of the granularities. That is, the network device can also inform the client about the support capability and support granularity of the access control function, so that the client can accurately send a request message about setting or deleting the access control function to the network device.
第二方面,提供了一种配置更新的方法,该方法包括:In the second aspect, a method for configuration update is provided, the method includes:
第一客户端向网络设备发送网络配置协议NETCONF配置请求报文,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作,该操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括网络设备的配置数据;该配置请求报文用于在网络设备检测第一版本信息与第一参考版本信息一致的情况下指示网络设备对第一数据对象执行操作,第一参考版本信息为网络设备记录的第一数据对象的版本信息。The first client sends a network configuration protocol NETCONF configuration request message to the network device, and the NETCONF configuration request message includes operation instruction information, and the operation instruction information indicates that the first client requests the network device to perform an operation on the first data object. The operation indication information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device; the configuration request message is used to detect If the first version information is consistent with the first reference version information, the network device is instructed to perform an operation on the first data object, where the first reference version information is version information of the first data object recorded by the network device.
也即是,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象的情况下向网络设备发送NETCONF配置请求报文,在网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。That is to say, when a client is updating the configuration of a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. If the version information of the data object recorded separately is consistent, the network device updates the configuration of the data object. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
可选地,第一客户端在发送NETCONF配置请求报文之前可以检测版本信息的一致性,也可以不检测版本信息的一致性。在第一客户端检测版本信息的一致性的情况下,NETCONF配置请求报文为第一客户端检测第一版本信息与第一参考版本信息一致的情况下发送的。也即是,第一客户端和网络设备均也可以检测版本信息的一致性,以充分减少配置冲突。在第一客户端检测版本信息不一致的情况下,第一客户端可以不发送配置请求报文,从而第一客户端的无效请求。可选地,第一客户端通过即时查询或订阅的方式获取网络设备记录的第一数据对象的版本信息,实现方式与上述第一方面中的相关过程一致,这里不再赘述。Optionally, before sending the NETCONF configuration request message, the first client may check the consistency of the version information, or may not check the consistency of the version information. When the first client detects the consistency of the version information, the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information. That is, both the first client and the network device can also detect the consistency of version information, so as to fully reduce configuration conflicts. In the case that the first client detects that the version information is inconsistent, the first client may not send the configuration request message, thereby invalidating the request of the first client. Optionally, the first client obtains the version information of the first data object recorded by the network device through real-time query or subscription, and the implementation method is consistent with the relevant process in the first aspect above, and will not be repeated here.
可选地,第一客户端向网络设备发送网络配置协议NETCONF配置请求报文之后,还包括:第一客户端接收网络设备发送的配置成功响应报文;第一客户端更新第一版本信息。也即是,第一客户端还能够在获知网络设备对第一数据对象成功执行操作后更新第一版本信息,以记录第一数据对象的变更情况。Optionally, after the first client sends the network configuration protocol NETCONF configuration request message to the network device, the method further includes: the first client receives a configuration success response message sent by the network device; the first client updates the first version information. That is, the first client can also update the first version information after learning that the network device has successfully performed an operation on the first data object, so as to record a change of the first data object.
可选地,配置成功响应报文包括更新后的第一参考版本信息;第一客户端更新第一版本信息,包括:第一客户端将第一版本信息更新为更新后的第一参考版本信息。也即是,网络设备直接将更新后的第一参考版本信息通过配置成功响应报文通知给第一客户端,第一客户端直接将第一版本信息更新为更新后的第一参考版本信息即可。Optionally, the configuration success response message includes updated first reference version information; the first client updating the first version information includes: the first client updating the first version information to the updated first reference version information . That is, the network device directly notifies the first client of the updated first reference version information through a configuration success response message, and the first client directly updates the first version information to the updated first reference version information, that is, Can.
需要说明的是,上述第二方面中的配置更新方法与上述第一方面中的配置更新方法一致,在上述第二方面中仅介绍了与上述第一方面对应的部分内容,在上述第二方面中未介绍的内容请参照上述第一方面,在上述第二方面中不一一赘述。It should be noted that the configuration update method in the above-mentioned second aspect is consistent with the configuration update method in the above-mentioned first aspect. In the above-mentioned second aspect, only part of the content corresponding to the above-mentioned first aspect is introduced. In the above-mentioned second aspect Please refer to the above first aspect for the content not introduced in the above, and will not repeat them one by one in the above second aspect.
第三方面,提供了一种配置更新的方法,该方法包括:In the third aspect, a method for configuration update is provided, and the method includes:
在第一客户端检测第一版本信息与第一参考版本信息一致的情况下,第一客户端向网络设备发送网络配置协议NETCONF配置请求报文;其中,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一参考版本信息为网络设备记录的第一数据对象的版本信息,NETCONF配置请求报文携带操作指示信息,操作指示信息指示第一客户端请求网络设备对 第一数据对象所执行的操作。When the first client detects that the first version information is consistent with the first reference version information, the first client sends a network configuration protocol NETCONF configuration request message to the network device; wherein the first version information is recorded by the first client The version information of the first data object, the first reference version information is the version information of the first data object recorded by the network device, the NETCONF configuration request message carries operation instruction information, and the operation instruction information instructs the first client to request the network device to configure the first data object An operation performed on a data object.
也即是,在本申请实施例中,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象,且检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,向网络设备发送NETCONF配置请求报文。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。That is to say, in this embodiment of the application, when a certain client updates the configuration of the network device, the client may not lock the data object and detect the If the version information is consistent, send a NETCONF configuration request message to the network device. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
可选地,该方法还包括:第一客户端向网络设备发送查询报文,该查询报文携带第一数据对象的标识;第一客户端接收网络设备发送的查询响应报文,查询响应报文携带网络设备记录的第一数据对象的版本信息。也即是,第一客户端可以通过即时查询的方式获取网络设备记录的第一数据对象的版本信息。Optionally, the method further includes: the first client sends a query message to the network device, and the query message carries the identifier of the first data object; the first client receives the query response message sent by the network device, and the query response message The file carries version information of the first data object recorded by the network device. That is, the first client can obtain the version information of the first data object recorded by the network device through instant query.
可选地,该方法还包括:第一客户端接收网络设备发送的数据变更通知报文,数据变更通知报文携带网络设备记录的第一数据对象的版本信息,该数据变更通知报文为第一客户端订阅关于第一数据对象中数据的变更通知的情况下接收的。也即是,第一客户端可以通过订阅的方式获取网络设备记录的第一数据对象的版本信息。Optionally, the method further includes: the first client receives a data change notification message sent by the network device, the data change notification message carries version information of the first data object recorded by the network device, and the data change notification message is the first Received by a client subscribing to notifications about changes to data in the first data object. That is, the first client may acquire the version information of the first data object recorded by the network device in a subscription manner.
需要说明的是,在上述第一方面和第二方面中,通过网络设备检测版本信息的一致性,或者通过客户端和网络设备检测版本信息的一致性,从而减少配置冲突,提高并发控制的效率。而在上述第三方面中,通过客户端检测版本信息的一致性,从而减少配置冲突,提高并发控制的效率。也即,上述第三方面与第一方面、第二方面的区别在于,检测版本信息一致性的执行主体不同,而在上述第一方面和第二方面中介绍的其他内容在上述第三方面中同样适用,本申请实施例在上述第三方面中不一一赘述。It should be noted that, in the above first and second aspects, the consistency of the version information is detected by the network device, or the consistency of the version information is detected by the client and the network device, thereby reducing configuration conflicts and improving the efficiency of concurrency control . In the above third aspect, the consistency of version information is detected by the client, thereby reducing configuration conflicts and improving the efficiency of concurrency control. That is to say, the difference between the third aspect above and the first aspect and the second aspect is that the execution subject for checking the consistency of the version information is different, and the other content introduced in the above first aspect and the second aspect is in the above third aspect The same applies, and the embodiment of the present application does not repeat them one by one in the foregoing third aspect.
第四方面,提供了一种配置更新的装置,所述配置更新的装置具有实现上述第一方面中配置更新的方法行为的功能。所述配置更新的装置包括一个或多个模块,该一个或多个模块用于实现上述第一方面所提供的配置更新的方法。In a fourth aspect, a device for updating configuration is provided, and the device for updating configuration has a function of implementing the behavior of the method for updating configuration in the first aspect above. The device for updating configuration includes one or more modules, and the one or more modules are used to implement the method for updating configuration provided in the first aspect above.
也即是,提供了一种配置更新的装置,该装置用于网络设备,该装置包括:That is, a configuration update device is provided, the device is used for network equipment, and the device includes:
第一接收模块,用于接收第一客户端发送的网络配置协议NETCONF配置请求报文,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作,该操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括网络设备的配置数据;The first receiving module is configured to receive the network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to perform the first data object The operation to be performed, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
配置更新模块,用于在网络设备检测第一版本信息与第一参考版本信息一致的情况下,对第一数据对象执行操作,第一参考版本信息为网络设备记录的第一数据对象的版本信息。A configuration update module, configured to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, where the first reference version information is the version information of the first data object recorded by the network device .
可选地,NETCONF配置请求报文为第一客户端检测第一版本信息与第一参考版本信息一致的情况下发送的。Optionally, the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information.
可选地,该装置还包括:Optionally, the device also includes:
第二接收模块,用于接收第一客户端发送的查询报文,该查询报文包括第一数据对象的标识;The second receiving module is configured to receive a query message sent by the first client, where the query message includes the identifier of the first data object;
第一发送模块,用于向第一客户端发送查询响应报文,该查询响应报文包括网络设备记录的第一数据对象的版本信息。The first sending module is configured to send a query response message to the first client, where the query response message includes the version information of the first data object recorded by the network device.
可选地,该装置还包括:Optionally, the device also includes:
第二发送模块,用于向第一客户端发送数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象的版本信息,该数据变更通知报文为网络设备在第一客户端订阅关于第一数据对象中数据的变更通知的情况下发送的。The second sending module is configured to send a data change notification message to the first client, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is the network device in the first Sent when the client subscribes to notifications about changes to data in the first data object.
可选地,版本信息包括时间戳,第一参考版本信息是网络设备记录的网络设备完成对第一数据对象执行操作的***时间,或,第一参考版本信息是网络设备记录的网络设备开始对第一数据对象执行操作的***时间。Optionally, the version information includes a time stamp, the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object, or the first reference version information is the system time recorded by the network device when the network device starts to perform operations on the first data object The system time when the first data object performed the operation.
可选地,该装置还包括:Optionally, the device also includes:
处理模块,用于完成对第一数据对象执行该操作;A processing module, configured to perform the operation on the first data object;
记录模块,用于记录第一参考版本信息。A recording module, configured to record the first reference version information.
可选地,记录模块包括:Optionally, the recording module includes:
第一记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,更新并记录第一参考版本信息。The first recording submodule is configured to update and record the first reference version information when the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device.
可选地,该操作指示信息还包括第二数据对象的标识,第一数据对象为第二数据对象的子数据对象,第二参考版本信息为网络设备记录的第二数据对象的版本信息;Optionally, the operation indication information further includes an identifier of the second data object, the first data object is a child data object of the second data object, and the second reference version information is version information of the second data object recorded by the network device;
记录模块包括:Recording modules include:
第二记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且第二参考版本信息对应的第二数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,更新并记录第一参考版本信息和第二参考版本信息。The second recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the second data object corresponding to the second reference version information If the data granularity of the access control function set by the network device is satisfied, the first reference version information and the second reference version information are updated and recorded.
可选地,该操作指示信息还包括第三数据对象的标识,第一数据对象为第三数据对象的子数据对象,第三参考版本信息为网络设备记录的第三数据对象的版本信息,网络设备设置的访问控制功能支持反选机制;Optionally, the operation indication information further includes the identifier of the third data object, the first data object is a child data object of the third data object, the third reference version information is the version information of the third data object recorded by the network device, and the network The access control function of the device settings supports the anti-selection mechanism;
记录模块包括:Recording modules include:
第三记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数不包括第一数据对象的标识的情况下,更新并记录第一参考版本信息和第三参考版本信息;The third recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy The data granularity of the access control function set by the network device, and when the deselection mechanism parameter of the access control function set by the network device does not include the identification of the first data object, update and record the first reference version information and the third reference version information;
第四记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数包括第一数据对象的标识的情况下,更新并记录第一参考版本信息。The fourth recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy If the data granularity of the access control function set by the network device and the deselection mechanism parameter of the access control function set by the network device include the identifier of the first data object, the first reference version information is updated and recorded.
可选地,该装置还包括:Optionally, the device also includes:
第三接收模块,用于接收第一客户端发送的设置访问控制功能请求报文,该设置访问控制功能请求报文包括第一数据对象的标识;The third receiving module is configured to receive the access control function setting request message sent by the first client, where the access control function setting request message includes the identifier of the first data object;
设置模块,用于如果网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能条件,则基于第一数据对象的标识,为第一数据对象设置版本信息初始值;A setting module, configured to set an initial value of version information for the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the condition for setting the access control function based on the identifier of the first data object;
第三发送模块,用于向第一客户端发送设置成功响应报文,该设置成功响应报文指示第一客户端记录第一数据对象的版本信息。The third sending module is configured to send a setting success response message to the first client, where the setting success response message instructs the first client to record the version information of the first data object.
可选地,该设置成功响应报文包括版本信息初始值;或者,该设置成功响应报文指示第 一客户端为第一数据对象设置版本信息初始值。Optionally, the setting success response message includes the initial value of the version information; or, the setting success response message indicates that the first client sets the initial value of the version information for the first data object.
可选地,设置访问控制功能条件包括:网络设备支持设置访问控制功能,且第一数据对象还不存在版本信息。Optionally, the condition for setting the access control function includes: the network device supports setting the access control function, and the first data object does not yet have version information.
可选地,设置访问控制功能条件还包括:第一数据对象的数据粒度满足网络设备支持的设置访问控制功能的数据粒度。Optionally, setting the access control function condition further includes: the data granularity of the first data object meets the data granularity of the setting access control function supported by the network device.
可选地,该设置访问控制功能请求报文还包括反选机制参数,反选机制参数包括一个或多个第四数据对象的标识,第四数据对象为第一数据对象的子数据对象。Optionally, the setting access control function request message further includes a reverse selection mechanism parameter, and the reverse selection mechanism parameter includes one or more identifiers of fourth data objects, where the fourth data objects are sub-data objects of the first data object.
可选地,该装置还包括:Optionally, the device also includes:
第四接收模块,用于接收第一客户端发送的删除设置访问控制功能请求报文,该删除设置访问控制功能请求报文包括第一数据对象的标识;The fourth receiving module is configured to receive a delete setting access control function request message sent by the first client, where the delete setting access control function request message includes the identifier of the first data object;
删除模块,用于如果网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能删除条件,则基于第一数据对象的标识,删除第一数据对象的版本信息。A deletion module, configured to delete the version information of the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the access control function deletion condition based on the identifier of the first data object.
可选地,设置访问控制功能删除条件包括:网络设备支持设置访问控制功能,且网络设备记录有第一数据对象的版本信息。Optionally, setting the access control function deletion condition includes: the network device supports setting the access control function, and the network device records version information of the first data object.
可选地,该装置还包括:Optionally, the device also includes:
第四发送模块,用于向第一客户端发送能力通知报文,该能力通知报文包括访问控制功能的支持能力参数,该支持能力参数用于指示网络设备是否支持设置访问控制功能。The fourth sending module is configured to send a capability notification message to the first client, where the capability notification message includes a support capability parameter of the access control function, and the support capability parameter is used to indicate whether the network device supports setting the access control function.
可选地,该能力通知报文还包括访问控制功能的支持粒度参数,支持粒度参数用于指示网络设备支持设置访问控制功能的数据粒度,数据粒度包括数据集粒度、YANG模块粒度和数据节点粒度中的一个或多个。Optionally, the capability notification message also includes a support granularity parameter of the access control function, the support granularity parameter is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and data node granularity one or more of the .
可选地,该操作包括复制操作,该操作指示信息还包括第五版本信息,第五版本信息为第一客户端记录的第五数据对象的版本信息,第五数据对象包括网络设备的配置数据,复制操作用于用第五数据对象中的配置数据覆盖第一数据对象中的配置数据;Optionally, the operation includes a copy operation, and the operation indication information also includes fifth version information, where the fifth version information is the version information of the fifth data object recorded by the first client, and the fifth data object includes configuration data of the network device , the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object;
配置更新模块包括:Configuration update modules include:
配置更新子模块,用于在网络设备检测第一版本信息与第一参考版本信息一致且第五版本信息与第五参考版本信息一致的情况下,对第一数据对象执行操作,第五参考版本信息为网络设备记录的第五数据对象的版本信息。The configuration update submodule is used to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information and the fifth version information is consistent with the fifth reference version information, and the fifth reference version The information is version information of the fifth data object recorded by the network device.
第五方面,提供了一种配置更新的装置,所述配置更新的装置具有实现上述第二方面中配置更新的方法行为的功能。所述配置更新的装置包括一个或多个模块,该一个或多个模块用于实现上述第二方面所提供的配置更新的方法。In a fifth aspect, a device for updating configuration is provided, and the device for updating configuration has a function of implementing the behavior of the method for updating configuration in the second aspect above. The device for updating configuration includes one or more modules, and the one or more modules are used to implement the method for updating configuration provided in the second aspect above.
也即是,提供了一种配置更新的装置,该装置用于第一客户端,该装置包括:That is, a configuration update device is provided, the device is used for the first client, and the device includes:
第一发送模块,用于向网络设备发送网络配置协议NETCONF配置请求报文,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作,该操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括网络设备的配置数据;The first sending module is configured to send a network configuration protocol NETCONF configuration request message to the network device, where the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to perform the first data object Operation, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
其中,该配置请求报文用于在网络设备检测第一版本信息与第一参考版本信息一致的情况下指示网络设备对第一数据对象执行该操作,第一参考版本信息为网络设备记录的第一数据对象的版本信息。Wherein, the configuration request message is used to instruct the network device to perform the operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, and the first reference version information is the first version information recorded by the network device. Version information of a data object.
可选地,该装置还包括:Optionally, the device also includes:
接收模块,用于接收网络设备发送的配置成功响应报文;A receiving module, configured to receive a configuration success response message sent by the network device;
更新模块,用于更新第一版本信息。The update module is used to update the first version information.
可选地,该配置成功响应报文包括更新后的第一参考版本信息;Optionally, the configuration success response message includes updated first reference version information;
更新模块包括:Update modules include:
更新子模块,用于将第一版本信息更新为该更新后的第一参考版本信息。The update submodule is used to update the first version information to the updated first reference version information.
第六方面,提供了一种配置更新的装置,所述配置更新的装置具有实现上述第三方面中配置更新的方法行为的功能。所述配置更新的装置包括一个或多个模块,该一个或多个模块用于实现上述第三方面所提供的配置更新的方法。In a sixth aspect, a device for updating configuration is provided, and the device for updating configuration has a function of implementing the behavior of the method for updating configuration in the above third aspect. The device for updating configuration includes one or more modules, and the one or more modules are used to implement the method for updating configuration provided in the above third aspect.
也即是,提供了一种配置更新的装置,该装置用于第一客户端,该装置包括:That is, a configuration update device is provided, the device is used for the first client, and the device includes:
第一发送模块,用于在第一客户端检测第一版本信息与第一参考版本信息一致的情况下,向网络设备发送网络配置协议NETCONF配置请求报文;The first sending module is configured to send a network configuration protocol NETCONF configuration request message to the network device when the first client detects that the first version information is consistent with the first reference version information;
其中,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一参考版本信息为网络设备记录的第一数据对象的版本信息,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作。Wherein, the first version information is the version information of the first data object recorded by the first client, the first reference version information is the version information of the first data object recorded by the network device, and the NETCONF configuration request message includes operation instruction information, the The operation instruction information indicates an operation that the first client requests the network device to perform on the first data object.
可选地,该装置还包括:Optionally, the device also includes:
第二发送模块,用于向网络设备发送查询报文,该查询报文包括第一数据对象的标识;The second sending module is configured to send a query message to the network device, where the query message includes the identifier of the first data object;
第一接收模块,用于接收网络设备发送的查询响应报文,该查询响应报文包括网络设备记录的第一数据对象的版本信息。The first receiving module is configured to receive a query response message sent by the network device, where the query response message includes version information of the first data object recorded by the network device.
可选地,该装置还包括:Optionally, the device also includes:
第二接收模块,用于接收网络设备发送的数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象的版本信息,该数据变更通知报文为第一客户端订阅关于第一数据对象中数据的变更通知的情况下接收的。The second receiving module is configured to receive a data change notification message sent by the network device, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is for the first client to subscribe to the Received in case of a change notification of data in the first data object.
第七方面,提供了一种通信设备,所述通信设备包括处理器和存储器,所述存储器用于存储执行上述第一方面、第二方面或第三方面所提供的配置更新的方法的程序,以及存储用于实现上述第一方面、第二方面或第三方面所提供的配置更新的方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述通信设备还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。In a seventh aspect, a communication device is provided, the communication device includes a processor and a memory, and the memory is used to store a program for executing the configuration update method provided in the first aspect, the second aspect, or the third aspect, And storing the data involved in the method for implementing the configuration update provided by the first aspect, the second aspect or the third aspect. The processor is configured to execute programs stored in the memory. The communication device may further include a communication bus for establishing a connection between the processor and the memory.
第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面或第三方面所述的配置更新的方法。In an eighth aspect, there is provided a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is run on a computer, the computer executes the above-mentioned first aspect, the second aspect or the third aspect. The method of configuration update described above.
第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面、第二方面或第三方面所述的配置更新的方法。A ninth aspect provides a computer program product containing instructions, which, when run on a computer, causes the computer to execute the configuration update method described in the first aspect, the second aspect, or the third aspect.
上述第四方面、第五方面、第六方面、第七方面、第八方面和第九方面所获得的技术效果与第一方面、第二方面或第三方面中对应的技术手段获得的技术效果近似,在这里不再赘 述。The technical effects obtained by the fourth aspect, the fifth aspect, the sixth aspect, the seventh aspect, the eighth aspect and the ninth aspect are the same as those obtained by the corresponding technical means in the first aspect, the second aspect or the third aspect Approximate, no more details here.
本申请实施例提供的技术方案至少能够带来以下有益效果:The technical solutions provided by the embodiments of the present application can at least bring the following beneficial effects:
在本申请实施例中,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象的情况下向网络设备发送NETCONF配置请求报文,在网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新。或者,客户端在检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,向网络设备发送NETCONF配置请求报文。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。In this embodiment of the application, when a client performs configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. When the network device detects that the client If it is consistent with the version information of the data object respectively recorded by the network device, the network device updates the configuration of the data object. Alternatively, the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
附图说明Description of drawings
图1是本申请实施例提供的一种配置更新的方法所涉及的***架构图;FIG. 1 is a system architecture diagram involved in a configuration update method provided in an embodiment of the present application;
图2是本申请实施例提供的一种通信设备的结构示意图;FIG. 2 is a schematic structural diagram of a communication device provided by an embodiment of the present application;
图3是本申请实施例提供的一种配置更新的方法的流程图;Fig. 3 is a flow chart of a method for configuration update provided by an embodiment of the present application;
图4是本申请实施例提供的另一种配置更新的方法的流程图;FIG. 4 is a flow chart of another configuration update method provided by an embodiment of the present application;
图5是本申请实施例提供的又一种配置更新的方法的流程图;FIG. 5 is a flow chart of another configuration update method provided by an embodiment of the present application;
图6是本申请实施例提供的又一种配置更新的方法的流程图;FIG. 6 is a flow chart of another configuration update method provided by an embodiment of the present application;
图7是本申请实施例提供的一种配置更新的装置的结构示意图;FIG. 7 is a schematic structural diagram of a device for updating configuration provided by an embodiment of the present application;
图8是本申请实施例提供的另一种配置更新的装置的结构示意图;FIG. 8 is a schematic structural diagram of another configuration updating device provided by an embodiment of the present application;
图9是本申请实施例提供的又一种配置更新的装置的结构示意图。FIG. 9 is a schematic structural diagram of another configuration updating device provided by an embodiment of the present application.
具体实施方式Detailed ways
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。In order to make the purpose, technical solutions and advantages of the embodiments of the present application clearer, the following will further describe the embodiments of the present application in detail in conjunction with the accompanying drawings.
为了便于理解,先对本申请实施例中所涉及的部分名词和术语进行解释。For ease of understanding, some nouns and terms involved in the embodiments of the present application are explained first.
网络配置协议(NETCONF):是一种用于管理网络设备的机制,管理人员可以通过客户端使用这套机制对网络设备进行配置管理。其中,配置管理包括配置更新,配置更新包括增加、修改、删除网络设备的配置数据等。管理人员还可以通过客户端获取网络设备的配置数据和状态信息(状态数据)等。NETCONF是基于可扩展标记语言(extensible markup language,XML)的网络配置和管理协议,基于远程过程调用(remote procedure call,RPC)机制实现客户端和网络设备之间通信。在请求意见稿(request for comments,RFC)6241、RFC8526中定义有网络配置协议(NETCONF)。Network Configuration Protocol (NETCONF): It is a mechanism for managing network devices. Managers can use this mechanism to configure and manage network devices through the client. Wherein, configuration management includes configuration update, and configuration update includes adding, modifying, and deleting configuration data of network devices, and the like. Managers can also obtain configuration data and status information (status data) of network devices through the client. NETCONF is a network configuration and management protocol based on extensible markup language (XML), and realizes communication between clients and network devices based on remote procedure call (RPC) mechanism. The Network Configuration Protocol (NETCONF) is defined in Request for Comments (RFC) 6241 and RFC 8526.
数据集(datastore):NETCONF协议允许定义多个数据集(也称为配置数据集、数据库、配置数据库等),用于存储网络设备的配置数据、状态信息等。例如,运行(running)数据集、候选(candidate)数据集、启动(startup)数据集等。其中,running数据集用于存储网络设备在运行过程中生效的配置数据。candidate数据集用于存储为网络设备配置的但未生效的配置数据,也即存储管理人员编辑的配置数据,但还未提交正式生效,将candidate数据集提交到running数据集之后即正式生效。startup数据集存储网络设备下一次启动时使用的配置数据。Dataset (datastore): The NETCONF protocol allows the definition of multiple data sets (also known as configuration data sets, databases, configuration databases, etc.), which are used to store configuration data, status information, etc. of network devices. For example, running (running) dataset, candidate (candidate) dataset, startup (startup) dataset, etc. Among them, the running data set is used to store the configuration data that takes effect during the running process of the network device. The candidate data set is used to store the configuration data that is configured for network devices but has not yet taken effect, that is, the configuration data edited by storage managers, but has not yet been submitted for formal entry into force. After the candidate data set is submitted to the running data set, it will take effect officially. The startup data set stores the configuration data used when the network device starts next time.
YANG(yet another next generation):最初被设计用来作为NETCONF的数据建模语言。YANG (yet another next generation): Originally designed as a data modeling language for NETCONF.
YANG模型:使用YANG数据建模语言建立的数据模型被称为是YANG模型。YANG模型可以由NETCONF客户端和网络设备进行维护。YANG模型以数据节点的形式表达网络设备的配置数据和状态数据。YANG模型定义可用于基于NETCONF的操作的数据层次结构。使用YANG模型实例化后的数据可以以XML或JSON的编码格式存储。YANG model: A data model built using the YANG data modeling language is called a YANG model. YANG models can be maintained by NETCONF clients and network devices. The YANG model expresses configuration data and status data of network devices in the form of data nodes. The YANG model defines a data hierarchy that can be used for NETCONF-based operations. Data instantiated using YANG models can be stored in XML or JSON encoded formats.
YANG模块(YANG module):一个数据集可包含一个或多个YANG module,即,一个数据集中可存储多个YANG module中的配置数据、状态信息等。YANG module (YANG module): A data set can contain one or more YANG modules, that is, a data set can store configuration data, status information, etc. in multiple YANG modules.
数据节点(node):一个YANG module可包含一个或多个数据节点,多个数据节点之间以树结构组织。即,一个YANG module中可存储一个或多个数据节点中的配置数据、状态信息等。Data node (node): A YANG module can contain one or more data nodes, and multiple data nodes are organized in a tree structure. That is, a YANG module can store configuration data, status information, etc. in one or more data nodes.
接下来对本申请实施例所涉及的***架构进行介绍。需要说明的是,本申请实施例描述的网络架构以及业务场景是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。Next, the system architecture involved in the embodiment of the present application will be introduced. It should be noted that the network architecture and business scenarios described in the embodiments of the present application are for the purpose of more clearly illustrating the technical solutions of the embodiments of the present application, and do not constitute limitations on the technical solutions provided by the embodiments of the present application. It can be seen that with the evolution of the network architecture and the emergence of new business scenarios, the technical solutions provided in the embodiments of the present application are also applicable to similar technical problems.
图1是本申请实施例提供的一种配置更新的方法所涉及的***架构图。该***可以称为网络管理***(network management system,NMS)、NETCONF***等。参见图1,该***包括多个客户端和网络设备101。在图1中以该多个客户端包括第一客户端102和第二客户端103进行示意性说明。该多个客户端中的各个客户端均与网络设备101通过有线或无线方式连接以进行通信。如图1所示,各个客户端与网络设备101之间可以通过网际协议(Internet protocol,IP)网络进行通信。FIG. 1 is a system architecture diagram involved in a configuration update method provided by an embodiment of the present application. The system may be called a network management system (network management system, NMS), a NETCONF system, or the like. Referring to FIG. 1 , the system includes multiple clients and network devices 101 . In FIG. 1 , the plurality of clients include a first client 102 and a second client 103 for schematic illustration. Each of the multiple clients is connected to the network device 101 in a wired or wireless manner to communicate. As shown in FIG. 1, each client can communicate with the network device 101 through an Internet protocol (Internet protocol, IP) network.
该多个客户端用于通过NETCONF协议对网络设备101进行配置更新。例如,以该多个客户端中的第一客户端102为例,第一客户端102根据本申请实施例提供的配置更新方法向网络设备101发送NETCONF配置请求报文,以请求对网络设备101进行配置更新。其中,NETCONF配置请求报文可以简称为配置请求报文,在接下来的实施例中将按照该简称进行介绍。The multiple clients are used to update the configuration of the network device 101 through the NETCONF protocol. For example, taking the first client 102 among the plurality of clients as an example, the first client 102 sends a NETCONF configuration request message to the network device 101 according to the configuration update method provided by the embodiment of the present application to request the network device 101 Make a configuration update. Wherein, the NETCONF configuration request message may be referred to as a configuration request message for short, and will be introduced according to the short name in the following embodiments.
网络设备101用于通过NETCONF协议对自身的配置数据进行更新。例如,网络设备101接收第一客户端102发送的配置请求报文,根据本申请实施例提供的配置更新方法对自身的配置数据进行更新。The network device 101 is configured to update its own configuration data through the NETCONF protocol. For example, the network device 101 receives the configuration request message sent by the first client 102, and updates its own configuration data according to the configuration update method provided in the embodiment of the present application.
可选地,该***包括多个网络设备,每个网络设备能够与至少一个客户端建立通信连接,以通过所连接的客户端进行配置更新,任一个客户端也能够对至少一个网络设备进行配置更新。在本申请实施例中,以对一个网络设备的配置更新为例进行介绍,对其他网络设备进行配置更新的原理是类似的。Optionally, the system includes a plurality of network devices, and each network device can establish a communication connection with at least one client to perform configuration updates through the connected client, and any client can also configure at least one network device renew. In this embodiment of the present application, the configuration update of one network device is taken as an example for introduction, and the principle of updating configurations of other network devices is similar.
由上述可知,该***采用的是客户端(client)/服务端(server)架构。其中,客户端也可以被称为网管设备、管理设备、控制器等。服务端即为网络设备。It can be known from the above that the system adopts a client/server architecture. Wherein, the client may also be called a network management device, a management device, a controller, and the like. The server is the network device.
在本申请实施例中,客户端可以是被安装和部署在任一种计算机设备上,例如服务器、台式电脑、笔记本电脑、手机等,还可以被安装和部署在云平台的计算和存储资源上。网络设备可以是路由器、交换机、网关、防火墙等设备。可选地,客户端可以通过运行应用程序、 网页等来对网络设备进行配置更新,例如,管理人员(也称为网络运维人员、网管等)通过客户端上运行的应用程序来编辑、提交、查询配置数据等等。In this embodiment of the application, the client can be installed and deployed on any computer device, such as a server, desktop computer, notebook computer, mobile phone, etc., and can also be installed and deployed on the computing and storage resources of the cloud platform. Network devices can be routers, switches, gateways, firewalls and other devices. Optionally, the client can update the configuration of the network device by running an application program, a web page, etc., for example, a manager (also called network operation and maintenance personnel, network administrator, etc.) , query configuration data, and more.
请参考图2,图2是根据本申请实施例示出的一种通信设备的结构示意图。可选地,该计算机设备为图1中所示的客户端或网络设备,该通信设备包括一个或多个处理器201、通信总线202、存储器203以及一个或多个通信接口204。Please refer to FIG. 2 , which is a schematic structural diagram of a communication device according to an embodiment of the present application. Optionally, the computer device is the client or network device shown in FIG. 1 , and the communication device includes one or more processors 201 , a communication bus 202 , a memory 203 and one or more communication interfaces 204 .
处理器201为一个通用中央处理器(central processing unit,CPU)、网络处理器(network processing,NP)、微处理器、或者为一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。可选地,上述PLD为复杂可编程逻辑器件(complex programmable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。The processor 201 is a general-purpose central processing unit (central processing unit, CPU), a network processor (network processing, NP), a microprocessor, or one or more integrated circuits for realizing the application scheme, for example, a dedicated Integrated circuit (application-specific integrated circuit, ASIC), programmable logic device (programmable logic device, PLD) or a combination thereof. Optionally, the above-mentioned PLD is a complex programmable logic device (complex programmable logic device, CPLD), field-programmable logic gate array (field-programmable gate array, FPGA), general array logic (generic array logic, GAL) or its arbitrary combination.
通信总线202用于在上述组件之间传送信息。可选地,通信总线202分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。The communication bus 202 is used to transfer information between the aforementioned components. Optionally, the communication bus 202 is divided into an address bus, a data bus, a control bus, and the like. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
可选地,存储器203为只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、电可擦可编程只读存储器(electrically erasable programmable read-only memory,EEPROM)、光盘(包括只读光盘(compact disc read-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器203独立存在,并通过通信总线202与处理器201相连接,或者,存储器203与处理器201集成在一起。Optionally, the memory 203 is a read-only memory (read-only memory, ROM), a random access memory (random access memory, RAM), an electrically erasable programmable read-only memory (electrically erasable programmable read-only memory, EEPROM) , optical discs (including compact disc read-only memory, CD-ROM), compact discs, laser discs, digital versatile discs, Blu-ray discs, etc.), magnetic disk storage media or other magnetic storage devices, or can be used to carry or any other medium storing desired program code in the form of instructions or data structures and capable of being accessed by a computer, but not limited thereto. The memory 203 exists independently and is connected to the processor 201 through the communication bus 202 , or, the memory 203 and the processor 201 are integrated together.
通信接口204使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口204包括有线通信接口,可选地,还包括无线通信接口。其中,有线通信接口例如以太网接口等。可选地,以太网接口为光接口、电接口或其组合。无线通信接口为无线局域网(wireless local area networks,WLAN)接口、蜂窝网络通信接口或其组合等。 Communication interface 204 utilizes any transceiver-like device for communicating with other devices or a communication network. The communication interface 204 includes a wired communication interface, and optionally, also includes a wireless communication interface. Wherein, the wired communication interface is, for example, an Ethernet interface. Optionally, the Ethernet interface is an optical interface, an electrical interface or a combination thereof. The wireless communication interface is a wireless local area network (wireless local area networks, WLAN) interface, a cellular network communication interface, or a combination thereof.
可选地,在一些实施例中,通信设备包括多个处理器,如图2中所示的处理器201和处理器205。这些处理器中的每一个为一个单核处理器,或者一个多核处理器。可选地,这里的处理器指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。Optionally, in some embodiments, the communications device includes multiple processors, such as processor 201 and processor 205 as shown in FIG. 2 . Each of these processors is a single-core processor, or a multi-core processor. Optionally, a processor here refers to one or more devices, circuits, and/or processing cores for processing data (such as computer program instructions).
在具体实现中,作为一种实施例,通信设备还包括输出设备206和输入设备207。输出设备206和处理器201通信,能够以多种方式来显示信息。例如,输出设备206为液晶显示器(liquid crystal display,LCD)、发光二级管(light emitting diode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备207和处理器201通信,能够以多种方式接收用户的输入。例如,输入设备207是鼠标、键盘、触摸屏设备或传感设备等。In a specific implementation, as an embodiment, the communication device further includes an output device 206 and an input device 207 . Output device 206 is in communication with processor 201 and can display information in a variety of ways. For example, the output device 206 is a liquid crystal display (liquid crystal display, LCD), a light emitting diode (light emitting diode, LED) display device, a cathode ray tube (cathode ray tube, CRT) display device, or a projector (projector). The input device 207 communicates with the processor 201 and can receive user input in various ways. For example, the input device 207 is a mouse, a keyboard, a touch screen device or a sensing device, etc.
在一些实施例中,存储器203用于存储执行本申请方案的程序代码210,处理器201能够执行存储器203中存储的程序代码210。该程序代码中包括一个或多个软件模块,该通信设备能够通过处理器201以及存储器203中的程序代码210,来实现下文图3至图6实施例提供的配置更新的方法。In some embodiments, the memory 203 is used to store the program code 210 for implementing the solutions of the present application, and the processor 201 can execute the program code 210 stored in the memory 203 . The program code includes one or more software modules, and the communication device can implement the configuration update method provided in the embodiments of FIG. 3 to FIG. 6 below through the processor 201 and the program code 210 in the memory 203 .
接下来对本申请实施例提供的配置更新方法进行介绍。Next, the configuration update method provided by the embodiment of the present application will be introduced.
在本申请实施例中,第一客户端对网络设备进行配置更新的过程中,无需对网络设备中需要更新的数据对象(如数据集、YANG模块或数据节点)进行锁定,第一客户端与网络设备各自记录数据对象的版本信息,通过检测版本信息的一致性来确定进行配置更新还是暂缓配置更新。在一种实现方式中,第一客户端向网络设备发送配置请求报文之后,网络设备通过检测版本信息的一致性来判断是否进行配置更新。在另一种实现方式中,第一客户端检测版本信息的一致性,在检测到版本信息一致后向网络设备发送配置请求报文,网络设备接收到配置请求报文后进行配置更新。在又一种实现方式中,第一客户端检测版本信息的一致性,在检测到版本信息一致后向网络设备发送配置请求报文,网络设备接收到配置请求报文后也检测版本信息的一致性,在检测到版本信息一致的情况下进行配置更新。In this embodiment of the application, during the process of updating the configuration of the network device by the first client, there is no need to lock the data objects (such as data sets, YANG modules or data nodes) that need to be updated in the network device, and the first client and The network devices respectively record the version information of the data objects, and determine whether to perform the configuration update or suspend the configuration update by checking the consistency of the version information. In an implementation manner, after the first client sends the configuration request message to the network device, the network device judges whether to update the configuration by checking the consistency of the version information. In another implementation, the first client detects the consistency of the version information, and sends a configuration request message to the network device after detecting that the version information is consistent, and the network device updates the configuration after receiving the configuration request message. In yet another implementation, the first client detects the consistency of the version information, and sends a configuration request message to the network device after detecting that the version information is consistent, and the network device also detects the consistency of the version information after receiving the configuration request message The configuration update is performed when the version information is detected to be consistent.
需要说明的是,在本申请实施例中,数据对象的版本信息实质上的一种乐观锁信息,也即本方案通过乐观锁机制实现多用户并发访问控制,从而减少配置冲突。乐观锁机制也可以称为并发访问控制机制,在本申请实施例中通过对数据对象设置访问控制功能(也可称为设置锁保护或设置访问控制保护或设置乐观锁)来为数据对象设置版本信息这个属性,进而通过检测版本信息的一致性来对网络设备进行配置更新。为了便于理解,在介绍通过检测版本信息的一致性来对网络设备进行配置更新之前,首先对为数据对象设置访问控制保护的实现方式进行介绍。需要说明的是,对某个数据对象设置访问控制保护实质上是对该数据对象设置乐观锁(也可以认为是设置锁保护),而能否对数据对象设置访问控制保护需要根据该网络设备是否支持设置访问控制功能(也可称为乐观锁功能)来确定。在本申请实施例中,网络设备支持设置访问控制功能,从而能够实现本申请实施例提供的配置更新方法。其中,对数据对象设置访问控制保护包括添加访问控制保护和删除访问控制保护,接下来分别介绍对数据对象添加访问控制保护和删除访问控制保护的实现方式。It should be noted that, in this embodiment of the application, the version information of the data object is essentially a kind of optimistic lock information, that is, this solution implements multi-user concurrent access control through the optimistic lock mechanism, thereby reducing configuration conflicts. The optimistic locking mechanism can also be called a concurrent access control mechanism. In the embodiment of this application, the version is set for the data object by setting the access control function (also known as setting lock protection or setting access control protection or setting optimistic lock) on the data object. Information is an attribute, and then the configuration of the network device is updated by checking the consistency of the version information. In order to facilitate understanding, before introducing the configuration update of the network device by checking the consistency of the version information, the realization method of setting the access control protection for the data object is firstly introduced. It should be noted that setting access control protection for a data object is essentially setting an optimistic lock on the data object (it can also be considered as setting lock protection), and whether access control protection can be set for the data object depends on whether the network device is Support setting access control function (also called optimistic lock function) to determine. In the embodiment of the present application, the network device supports setting the access control function, so as to implement the configuration update method provided in the embodiment of the present application. Wherein, setting access control protection for data objects includes adding access control protection and deleting access control protection. Next, implementation methods of adding access control protection and deleting access control protection for data objects are respectively introduced.
首先介绍对数据对象添加访问控制保护的实现方式,以第一客户端请求网络设备对第一数据对象添加访问控制保护为例进行介绍。需要说明的是,除第一客户端之外的其他客户端均可以请求网络设备为一个或多个数据对象添加访问控制保护,原理与第一客户端请求网络设备对第一数据对象添加访问控制保护类似,本文不一一介绍。Firstly, an implementation manner of adding access control protection to a data object is introduced, taking the first client requesting a network device to add access control protection to the first data object as an example. It should be noted that other clients except the first client can request the network device to add access control protection for one or more data objects, the principle is the same as that of the first client requesting the network device to add access control to the first data object The protection is similar, and this article will not introduce them one by one.
在本申请实施例中,第一客户端向网络设备发送设置访问控制功能请求报文,网络设备接收第一客户端发送的设置访问控制功能请求报文。其中,设置访问控制功能请求报文也可称为添加访问控制保护请求报文、添加保护请求报文等,接下来以添加保护请求报文为例进行介绍。第一客户端发送的添加保护请求报文包括第一数据对象的标识。如果网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能条件,则该网络设备基于第一数据对象的标识,为第一数据对象设置版本信息初始值。网络设备向第一客户端发送设置成功响应报文,设置成功响应报文指示第一客户端记录第一数据对象的版本信息。其中,设置访问控制功能条件也可称为访问控制保护添加条件,或保护添加条件,设置成功响应报文也可称为添加成功响应报文,接下来以保护添加条件和添加成功响应报文为例进行介绍。In this embodiment of the application, the first client sends a request message for setting the access control function to the network device, and the network device receives the request message for setting the access control function sent by the first client. Wherein, the request message for setting the access control function may also be referred to as an add access control protection request message, an add protection request message, etc. Next, the add protection request message is used as an example for introduction. The protection addition request message sent by the first client includes the identifier of the first data object. If the network device determines based on the identifier of the first data object that the first data object satisfies the condition for setting an access control function, the network device sets an initial value of version information for the first data object based on the identifier of the first data object. The network device sends a setting success response message to the first client, and the setting success response message instructs the first client to record the version information of the first data object. Wherein, setting the access control function condition can also be referred to as the access control protection addition condition, or the protection addition condition, and setting the success response message can also be called the addition success response message, and then the protection addition condition and the addition success response message are Examples are introduced.
可选地,在本申请实施例中,版本信息包括版本号、时间戳或序列号。可选地,版本号是由字母、数字和符号等中的一种或多种组成的并具有解释性的一种命名格式,例如 version1.2.0,该版本号就是由字母version,数字和符号组成的,命名格式为version主版本号.子版本号.次版本号。又如,版本号为1,该版本号就是由数字组成的。使用时间戳作为数据对象的版本信息就是使用网络设备或***根据***时间信息作为数据对象的版本标识。序列号是一组数字序列,上述数字序列可以随机生成也可以按照某种生成规则产生,例如网络设备根据数据对象的操作完成时间信息通过哈希算法得到一个序列号作为上述数据对象的版本信息。示例性地,若版本信息为版本号,则该网络设备为第一数据对象设置的版本信息初始值可以为1或version1.0.0。若版本信息为时间戳,则该网络设备为第一数据对象设置的版本信息初始值可以为该网络设备为第一数据对象设置访问控制保护的***时间。Optionally, in this embodiment of the present application, the version information includes a version number, a time stamp or a serial number. Optionally, the version number is composed of one or more of letters, numbers and symbols and has an explanatory naming format, such as version1.2.0, the version number is composed of letters version, numbers and symbols Yes, the naming format is version major version number.subversion number.minor version number. For another example, if the version number is 1, the version number is composed of numbers. Using the timestamp as the version information of the data object is to use the network device or system as the version identification of the data object according to the system time information. A serial number is a set of digital sequences, which can be generated randomly or according to certain generation rules. For example, a network device obtains a serial number through a hash algorithm according to the operation completion time information of the data object as the version information of the above data object. Exemplarily, if the version information is a version number, the initial value of the version information set by the network device for the first data object may be 1 or version1.0.0. If the version information is a time stamp, the initial value of the version information set by the network device for the first data object may be the system time when the network device sets access control protection for the first data object.
可选地,添加成功响应报文包括网络设备为第一数据对象设置的版本信息初始值,这样,第一客户端将该添加成功响应报文包括的版本信息初始值记录为第一数据对象的版本信息。或者,添加成功响应报文指示第一客户端为第一数据对象设置版本信息初始值,这样,第一客户端在接收到添加成功响应报文之后,为第一数据对象设置版本信息初始值,将设置的版本信息初始值记录为第一数据对象的版本信息。Optionally, the adding success response message includes the initial value of the version information set by the network device for the first data object, so that the first client records the initial value of the version information included in the adding success response message as the initial value of the first data object. Version Information. Or, the adding success response message instructs the first client to set the initial value of the version information for the first data object, so that after receiving the adding success response message, the first client sets the initial value of the version information for the first data object, Record the set initial value of the version information as the version information of the first data object.
可选地,在本申请实施例中,保护添加条件包括:网络设备支持设置访问控制功能,且第一数据对象还不存在版本信息。也即是,在网络设备支持设置访问控制功能,且第一数据对象还未被添加访问控制保护的情况下,网络设备能够成功对第一数据对象添加访问控制保护。需要说明的是,网络设备支持设置访问控制功能可以认为是网络设备支持客户端为数据对象设置访问控制功能,也即网络设备支持客户端动态设置访问控制功能。可选地,若网络设备被默认配置为支持访问控制功能,但不支持客户端动态设置访问控制功能,则认为是网络设备不支持设置访问控制功能,或者说不支持动态设置访问控制功能。例如网络设备出厂默认配置已为数据对象设置访问控制功能,且不支持客户端添加或删除数据对象的访问控制功能。Optionally, in this embodiment of the present application, the conditions for adding protection include: the network device supports setting an access control function, and the first data object does not yet have version information. That is, if the network device supports the access control function and the first data object has not been added with access control protection, the network device can successfully add access control protection to the first data object. It should be noted that the network device supports setting the access control function can be considered as the network device supports the client to set the access control function for the data object, that is, the network device supports the client to dynamically set the access control function. Optionally, if the network device is configured to support the access control function by default, but does not support the client to dynamically set the access control function, it is considered that the network device does not support the setting of the access control function, or does not support the dynamic setting of the access control function. For example, the factory default configuration of the network device has set the access control function for the data object, and does not support the client to add or delete the access control function of the data object.
由前述可知,存储网络设备的配置数据的数据对象可以为数据集、YANG模块和数据节点,即,本申请实施例中一个数据对象的数据粒度可以为数据集粒度、YANG模块粒度或数据节点粒度。基于此,可选地,网络设备设置访问控制功能时所支持的数据粒度可以包括数据集粒度、YANG模块粒度和数据节点粒度中的一个或多个。也即,本方案中可以仅为数据集设置访问控制保护,或者,仅为YANG模块设置访问控制保护,或者,仅为数据节点设备访问控制保护,或者,为数据集和YANG模块设置访问控制保护,或者,为数据集和数据节点设置访问控制保护,或者,为YANG模块和数据节点设备访问控制保护,或者,为数据集、YANG模块和数据节点设置访问控制保护。As can be seen from the foregoing, the data objects storing configuration data of network devices can be datasets, YANG modules, and data nodes, that is, the data granularity of a data object in this embodiment of the application can be dataset granularity, YANG module granularity, or data node granularity . Based on this, optionally, the data granularity supported by the network device when setting the access control function may include one or more of data set granularity, YANG module granularity and data node granularity. That is to say, in this solution, access control protection can be set only for the data set, or only for the YANG module, or only for the data node device access control protection, or for the data set and the YANG module , or, set access control protection for datasets and data nodes, or, set access control protection for YANG modules and data node devices, or, set access control protection for datasets, YANG modules, and data nodes.
基于此,可选地,保护添加条件还包括:第一数据对象的数据粒度满足网络设备支持的设置访问控制功能的数据粒度。也即是,在网络设备支持设置访问控制功能,第一数据对象还未被添加访问控制保护,且第一数据对象的数据粒度符合条件的情况下,网络设备能够成功对第一数据对象添加访问控制保护。Based on this, optionally, the protection adding condition further includes: the data granularity of the first data object satisfies the data granularity of the setting access control function supported by the network device. That is, if the network device supports setting access control function, the first data object has not been added access control protection, and the data granularity of the first data object meets the conditions, the network device can successfully add access to the first data object control protection.
需要说明的是,若该网络设备默认支持设置访问控制功能,且不限制支持设置访问控制功能的数据粒度,那么网络设备接收到第一客户端的添加保护请求报文之后,为第一客户端所请求的数据对象添加访问控制保护即可。It should be noted that if the network device supports setting the access control function by default, and does not limit the data granularity that supports setting the access control function, then after the network device receives the add protection request message from the first client, it will be protected by the first client. Just add access control protection to the requested data object.
在本申请实施例中,若第一数据对象不满足保护添加条件,则该网络设备向第一客户端发送添加失败响应报文,添加失败响应报文也可称为设置失败响应报文。可选地,添加失败 响应报文携带访问控制保护添加失败的原因。访问控制保护添加失败的原因可能为该网络设备不支持设置访问控制功能,或者,该网络设备支持设置访问控制功能,但第一数据对象已添加访问控制保护。In this embodiment of the application, if the first data object does not meet the protection addition condition, the network device sends an addition failure response message to the first client, and the addition failure response message may also be referred to as a setting failure response message. Optionally, the addition failure response message carries the reason why the access control protection addition failed. The reason for the failure to add the access control protection may be that the network device does not support the setting of the access control function, or the network device supports the setting of the access control function, but the first data object has been added with the access control protection.
示例性地,通过扩展NETCONF来为数据对象设置访问控制保护,例如定义set-ol-capability操作来为数据对象设置访问控制保护,<set-ol-capability>中的参数包括<target>和<support>。其中,<target>参数携带请求添加访问控制保护的数据对象的标识,<support>参数的取值为“True”或“False”,“True”表示请求为<target>参数所指示的数据对象添加访问控制保护,“False”表示请求为<target>参数所指示的数据对象删除访问控制保护。Exemplarily, the access control protection is set for the data object by extending NETCONF, for example, the set-ol-capability operation is defined to set the access control protection for the data object, and the parameters in <set-ol-capability> include <target> and <support >. Among them, the <target> parameter carries the identification of the data object that requests to add access control protection, the value of the <support> parameter is "True" or "False", and "True" indicates that the request is to add the data object indicated by the <target> parameter. Access control protection, "False" means request to delete the access control protection for the data object indicated by the <target> parameter.
例如,假设第一客户端请求为一个数据集添加访问控制保护,第一客户端向网络设备发送的一个添加保护请求报文携带如下信息。其中,<target>参数指示的是一个数据集,表示第一客户端请求为<target>参数所指示的数据集添加访问控制保护。该数据集为running数据集,也即是,<set-ol-capability>参数中的内容指示为running数据集添加访问控制保护。For example, assuming that the first client requests to add access control protection to a data set, a protection addition request packet sent by the first client to the network device carries the following information. Wherein, the <target> parameter indicates a data set, which means that the first client requests to add access control protection for the data set indicated by the <target> parameter. The data set is a running data set, that is, the content in the <set-ol-capability> parameter indicates that access control protection is added to the running data set.
Figure PCTCN2022107555-appb-000001
Figure PCTCN2022107555-appb-000001
在该running数据集满足保护添加条件的情况下,该网络设备向第一客户端发送的一个添加成功响应报文携带如下信息。其中,<ok/>指示添加访问控制保护成功。When the running data set satisfies the protection addition condition, the network device sends an addition success response message to the first client carrying the following information. Among them, <ok/> indicates that the access control protection is added successfully.
Figure PCTCN2022107555-appb-000002
Figure PCTCN2022107555-appb-000002
在由于网络设备不支持为数据集设置访问控制功能,而导致该running数据集不满足保护添加条件的情况下,该网络设备向第一客户端发送的一个添加失败响应报文携带如下信息。其中,<rpc-error>参数中的内容指示访问控制保护添加失败以及失败的原因,<error-message>参数中的“This datastore can not be set revision”表示访问控制保护添加失败的原因,即原因为该网络设备不支持为该数据集设置访问控制保护。In the case that the running data set does not meet the conditions for adding protection because the network device does not support setting access control functions for the data set, the network device sends an addition failure response message to the first client carrying the following information. Among them, the content in the <rpc-error> parameter indicates the failure to add access control protection and the reason for the failure, and the "This datastore can not be set revision" in the <error-message> parameter indicates the reason for the failure to add access control protection, that is, the reason Setting access control protection for this dataset is not supported for this network device.
Figure PCTCN2022107555-appb-000003
Figure PCTCN2022107555-appb-000003
Figure PCTCN2022107555-appb-000004
Figure PCTCN2022107555-appb-000004
在由于该running数据集已存在版本信息(即已添加访问控制保护),而导致该running数据集不满足保护添加条件的情况下,该网络设备向第一客户端发送的一个添加失败响应报文携带如下信息。其中,<rpc-error>参数中的内容指示添加访问控制保护失败以及失败的原因,<error-message>参数中的“Datastore revision already exists”表示添加访问控制保护失败的原因,即原因为该数据集已添加访问控制保护。In the case that the running data set does not meet the conditions for adding protection because the running data set already has version information (that is, access control protection has been added), an addition failure response message sent by the network device to the first client Carry the following information. Among them, the content in the <rpc-error> parameter indicates the failure to add access control protection and the reason for the failure, and the "Datastore revision already exists" in the <error-message> parameter indicates the reason for the failure to add access control protection, that is, the reason is the data Sets have added access control protection.
Figure PCTCN2022107555-appb-000005
Figure PCTCN2022107555-appb-000005
又如,假设第一客户端请求为一个数据节点添加访问控制保护,第一客户端向网络设备发送的一个添加保护请求报文携带如下信息。其中,<target>参数指示的是一个数据节点,表示请求为<target>参数所指示的数据节点添加访问控制保护。该数据节点即“/t:top/t:interface/t:name”这个路径下的数据节点。For another example, assuming that the first client requests to add access control protection for a data node, a protection addition request packet sent by the first client to the network device carries the following information. Wherein, the <target> parameter indicates a data node, indicating that it is requested to add access control protection for the data node indicated by the <target> parameter. The data node is the data node under the path "/t:top/t:interface/t:name".
Figure PCTCN2022107555-appb-000006
Figure PCTCN2022107555-appb-000006
在该数据节点满足保护添加条件的情况下,该网络设备向第一客户端发送的一个添加成功响应报文与上述示例中的添加成功响应报文可以相同。In the case that the data node satisfies the protection addition condition, the addition success response message sent by the network device to the first client may be the same as the addition success response message in the above example.
在由于该网络设备不支持为数据节点设置访问控制功能,而导致该数据节点不满足保护添加条件的情况下,该网络设备向第一客户端发送的一个添加失败响应报文携带如下信息。 其中,<error-message>参数中的““name”element cannot be set revision”表示访问控制保护添加失败的原因,即原因为该网络设备不支持为该数据节点设置访问控制保护。In the case that the data node does not meet the condition of adding protection because the network device does not support setting the access control function for the data node, an addition failure response message sent by the network device to the first client carries the following information. Among them, "name" element cannot be set revision" in the <error-message> parameter indicates the reason why the access control protection failed to be added, that is, the reason is that the network device does not support setting access control protection for the data node.
Figure PCTCN2022107555-appb-000007
Figure PCTCN2022107555-appb-000007
在由于该数据节点已存在版本信息(即已添加访问控制保护),而导致该数据节点不满足保护添加条件的情况下,该网络设备向第一客户端发送的一个添加失败响应报文携带如下信息。其中,<rpc-error>参数中的内容指示添加访问控制保护失败以及失败的原因,<error-message>参数中的““name”revision already exists”表示添加访问控制保护失败的原因,即原因为该数据节点已添加访问控制保护。In the case that the data node does not meet the conditions for adding protection because the data node already has version information (that is, access control protection has been added), an addition failure response message sent by the network device to the first client carries the following information. Among them, the content in the <rpc-error> parameter indicates the failure to add access control protection and the reason for the failure, and the "name" revision already exists" in the <error-message> parameter indicates the reason for the failure to add access control protection, that is, the reason is This data node has added access control protection.
Figure PCTCN2022107555-appb-000008
Figure PCTCN2022107555-appb-000008
由前述可知,本申请实施例中设置版本信息是为了记录数据对象的变更情况,例如在数据对象进行数据变更后可以更新数据对象的版本信息。而在一些情况下,某些子数据对象的数据变更对父数据对象的影响不大,或者其他原因,网管人员可能不希望网络设备记录某父数据对象中某子数据对象的变更情况,那么在对该父数据对象设置访问控制保护时将这些子数据对象反选出去,后续网络设备在对这些子数据对象进行配置更新后不更新父数据对象的版本信息。基于此,在本申请实施例中,还提供一种反选机制,也即网络设备设置的访问控制功能支持反选机制,网络设备根据反选机制参数来判断对某个数据对象的配置更新是否影响该数据对象的上级数据对象(父数据对象)的版本信息。相应地,在第一客户端对数据对象添加访问控制保护时,还可以设置反选机制参数。可选地,前述添加保护请求报文还包括反选机制参数,反选机制参数包括一个或多个第四数据对象的标识,第四数据对象为第一数据对象的子数据对象,第四数据对象的数据粒度小于第一数据对象的数据粒度。也即是,在对第一数据对象添加访问控制保护时将一个或多个第四数据对象从第一数据对象中反选出去,从而使得后续对该一个或多个第四数据对象的配置更新不影响第一数据对象的版本信息。It can be seen from the foregoing that the version information is set in the embodiment of the present application to record the change of the data object, for example, the version information of the data object can be updated after the data object is changed. In some cases, the data changes of some child data objects have little effect on the parent data object, or for other reasons, the network management personnel may not want the network equipment to record the change of a certain child data object in a certain parent data object, then in When access control protection is set for the parent data object, these child data objects are deselected, and subsequent network devices do not update the version information of the parent data object after updating the configuration of these child data objects. Based on this, in the embodiment of this application, an anti-selection mechanism is also provided, that is, the access control function set by the network device supports the anti-selection mechanism, and the network device judges whether the configuration update of a certain data object affects the data according to the parameters of the anti-selection mechanism. The version information of the upper-level data object (parent data object) of the object. Correspondingly, when the first client adds access control protection to the data object, parameters of the anti-selection mechanism may also be set. Optionally, the above-mentioned add protection request message also includes an anti-selection mechanism parameter, and the anti-selection mechanism parameter includes the identification of one or more fourth data objects, the fourth data object is a sub-data object of the first data object, and the fourth data object The data granularity is smaller than the data granularity of the first data object. That is, when adding access control protection to the first data object, one or more fourth data objects are deselected from the first data object, so that the subsequent configuration update of the one or more fourth data objects will not Version information affecting the first data object.
示例性地,通过扩展NETCONF来为数据对象设置访问控制保护,例如定义set-ol-capability操作来为数据对象设置访问控制保护,定义<reverse-match>来设置反选机制参数,<set-ol-capability>中的参数包括<target>、<support>和<reverse-match>。第一客户端向网络设备发送的一个添加保护请求报文携带如下信息。其中,<set-ol-capability>参数中的内容指示为candidate数据集添加访问控制保护,且为将candidate数据集包含的一个数据节点的标识设置为反选机制参数。<target>参数携带第一客户端请求添加访问控制保护的数据对象的标识,即candidate。<support>参数的取值为“True”,表示为<target>参数所指示的数据对象添加访问控制保护。<reverse-match>参数中的“/ietf-interface/address/name”为candidate数据集所包含的一个数据节点的标识,表示将“/ietf-interface/address/name”设置为反选机制参数包括的一个数据对象的标识。可选地,在本申请实施例中,一个数据节点以该数据节点的路径进行标识。也即是,<reverse-match>参数中指定路径下的数据节点属于<target>参数所指示的数据集的范畴,但该数据节点中配置数据的变化不影响该数据集的版本信息。简单来说,第一客户端请求网络设备为candidate数据集添加乐观锁,但是对于“/ietf-interface/address/name”路径下的数据节点的修改不必受乐观锁限制,该数据节点的变化也不影响candidate数据集的版本信息。Exemplarily, set access control protection for data objects by extending NETCONF, for example, define set-ol-capability operation to set access control protection for data objects, define <reverse-match> to set reverse selection mechanism parameters, <set-ol- The parameters in capability> include <target>, <support> and <reverse-match>. A protection addition request message sent by the first client to the network device carries the following information. Among them, the content in the <set-ol-capability> parameter indicates that access control protection is added to the candidate data set, and the identification of a data node contained in the candidate data set is set as a parameter of the anti-election mechanism. The <target> parameter carries the identifier of the data object that the first client requests to add access control protection, that is, candidate. The value of the <support> parameter is "True", which means adding access control protection for the data object indicated by the <target> parameter. "/ietf-interface/address/name" in the <reverse-match> parameter is the identifier of a data node included in the candidate data set, which means that "/ietf-interface/address/name" is set as the parameter included in the reverse selection mechanism An identifier for a data object. Optionally, in this embodiment of the present application, a data node is identified by a path of the data node. That is, the data node under the path specified in the <reverse-match> parameter belongs to the category of the data set indicated by the <target> parameter, but the change of the configuration data in the data node does not affect the version information of the data set. To put it simply, the first client requests the network device to add an optimistic lock to the candidate data set, but the modification of the data node under the "/ietf-interface/address/name" path does not need to be restricted by the optimistic lock, and the change of the data node is also Does not affect the version information of the candidate dataset.
Figure PCTCN2022107555-appb-000009
Figure PCTCN2022107555-appb-000009
还需要说明的是,上述示例中以将一个数据节点从一个数据集中反选出去为例进行介绍,在本申请实施例中,也可以将一个或多个数据节点从一个YANG模块或一个数据集中反选出去,也可以将一个或多个YANG模块从一个数据集中反选出去。另外,若<reverse-match>参数中数据对象的数据粒度满足网络设备所支持设置访问控制功能的数据粒度,那么,仍可以为<reverse-match>参数中的数据对象单独设置访问控制保护。It should also be noted that in the above example, a data node is deselected from a data set as an example. In the embodiment of this application, one or more data nodes can also be deselected from a YANG module or a data set It is also possible to deselect one or more YANG modules from a dataset. In addition, if the data granularity of the data object in the <reverse-match> parameter meets the data granularity of the access control function supported by the network device, then access control protection can still be set separately for the data object in the <reverse-match> parameter.
以上介绍了为数据对象添加访问控制保护的实现方式,接下来介绍为数据对象删除访问控制保护的实现方式,这里仍以第一客户端请求网络设备删除第一数据对象的访问控制保护为例进行介绍。需要说明的是,除第一客户端之外的其他客户端均可以请求网络设备删除一个或多个数据对象的访问控制保护,原理与第一客户端请求网络设备删除第一数据对象的访问控制保护相似,本文不一一介绍。The above describes the implementation of adding access control protection for data objects, and then introduces the implementation of deleting access control protection for data objects. Here, the first client requests the network device to delete the access control protection of the first data object as an example. introduce. It should be noted that all clients except the first client can request the network device to delete the access control protection of one or more data objects. The principle is the same as that of the first client requesting the network device to delete the access control protection of the first data object. The protection is similar, and this article will not introduce them one by one.
在本申请实施例中,第一客户端向网络设备发送删除设置访问控制功能请求报文,删除设置访问控制功能请求报文包括第一数据对象的标识,该网络设备接收第一客户端发送的删除设置访问控制功能请求报文。如果该网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能删除条件,则该网络设备基于第一数据对象的标识,删除第一数据对象的版本信息。可选地,删除设置访问控制功能请求报文也可称为删除访问控制保护请求报文、删除保护请求报文等,设置访问控制功能删除条件也可称为访问控制保护删除条件、保护删除条件。在接下来的实施例中将以删除保护请求报文和保护删除条件为例进行介绍。In this embodiment of the present application, the first client sends a request message for deleting and setting the access control function to the network device, and the request message for deleting and setting the access control function includes the identifier of the first data object, and the network device receives the message sent by the first client. Delete the set access control function request message. If the network device determines based on the identifier of the first data object that the first data object satisfies the set access control function deletion condition, the network device deletes the version information of the first data object based on the identifier of the first data object. Optionally, deleting the setting access control function request message may also be called delete access control protection request message, delete protection request message, etc., and setting the access control function deletion condition may also be called access control protection deletion condition, protection deletion condition . In the following embodiments, the deletion protection request message and protection deletion conditions will be taken as examples for introduction.
可选地,在本申请实施例中,保护删除条件包括:网络设备支持设置访问控制功能,且网络设备记录有第一数据对象的版本信息。也即是,在网络设备支持设置访问控制功能,且第一数据对象已添加访问控制保护的情况下,网络设备能够成功删除第一数据对象的乐观锁。Optionally, in this embodiment of the present application, the protection deletion condition includes: the network device supports setting an access control function, and the network device records version information of the first data object. That is, if the network device supports setting access control function, and the first data object has added access control protection, the network device can successfully delete the optimistic lock of the first data object.
在本申请实施例中,网络设备删除第一数据对象的版本信息之后,向第一客户端发送删除成功响应报文。可选地,第一客户端接收到删除成功响应报文后删除第一客户端记录的第一数据对象的版本信息。In this embodiment of the application, after deleting the version information of the first data object, the network device sends a deletion success response message to the first client. Optionally, the first client deletes the version information of the first data object recorded by the first client after receiving the deletion success response message.
在本申请实施例中,若第一数据对象不满足保护删除条件,则该网络设备向第一客户端发送删除失败响应报文。可选地,删除失败响应报文包括访问控制保护删除失败的原因。访问控制保护删除失败的原因可能为该网络设备不支持设置访问控制功能,或者,该网络设备支持设置访问控制功能,但第一数据对象还未被添加访问控制保护。In this embodiment of the present application, if the first data object does not meet the protection deletion condition, the network device sends a deletion failure response message to the first client. Optionally, the deletion failure response message includes a reason for the failure to delete the access control protection. The reason for the failure to delete the access control protection may be that the network device does not support the setting of the access control function, or the network device supports the setting of the access control function, but the first data object has not been added with access control protection.
示例性地,通过扩展NETCONF来为数据对象设置访问控制保护,例如定义set-ol-capability操作来为数据对象设置访问控制保护,<set-ol-capability>中的参数包括<target>和<support>。第一客户端向网络设备发送的一个删除保护请求报文携带如下信息。其中,<set-ol-capability>参数中的内容指示为running数据集删除访问控制保护,<target>参数的取值为第一客户端请求删除访问控制保护的数据对象的标识,即running。<support>参数的取值为“False”,表示为<target>指示的数据对象删除访问控制保护。Exemplarily, the access control protection is set for the data object by extending NETCONF, for example, the set-ol-capability operation is defined to set the access control protection for the data object, and the parameters in <set-ol-capability> include <target> and <support >. A deletion protection request message sent by the first client to the network device carries the following information. Wherein, the content in the <set-ol-capability> parameter indicates that the running data set deletes the access control protection, and the value of the <target> parameter is the identifier of the data object that the first client requests to delete the access control protection, that is, running. The value of the <support> parameter is "False", which means that the data object indicated by <target> is deleted and protected by access control.
Figure PCTCN2022107555-appb-000010
Figure PCTCN2022107555-appb-000010
在第一数据对象满足保护删除条件的情况下,网络设备向第一客户端发送的一个删除成功响应报文携带如下信息。其中,<ok/>指示删除访问控制保护成功。When the first data object satisfies the protection deletion condition, a deletion success response message sent by the network device to the first client carries the following information. Among them, <ok/> indicates that the deletion of the access control protection is successful.
Figure PCTCN2022107555-appb-000011
Figure PCTCN2022107555-appb-000011
Figure PCTCN2022107555-appb-000012
Figure PCTCN2022107555-appb-000012
在由于网络设备不支持设置访问控制功能,而导致第一数据对象不满足保护删除条件的情况下,该网络设备向第一客户端发送的一个删除失败响应报文携带如下信息。其中,<rpc-error>参数中的内容指示访问控制保护删除失败以及失败的原因,<error-message>参数中的“This datastore cannot be set revision”表示访问控制保护删除失败的原因,即原因为该网络设备不支持为数据集设置访问控制保护。In the case that the first data object does not meet the protection deletion condition because the network device does not support setting the access control function, a deletion failure response message sent by the network device to the first client carries the following information. Among them, the content in the <rpc-error> parameter indicates the failure to delete the access control protection and the reason for the failure, and the "This datastore cannot be set revision" in the <error-message> parameter indicates the reason for the failure to delete the access control protection, that is, the reason is This network device does not support access control protection for datasets.
Figure PCTCN2022107555-appb-000013
Figure PCTCN2022107555-appb-000013
在由于第一数据对象不存在版本信息(即未添加访问控制保护),而导致第一数据对象不满足保护删除条件的情况下,该网络设备向第一客户端发送的一个删除失败响应报文携带如下信息。其中,<rpc-error>参数中的内容指示访问控制保护删除失败以及失败的原因,<error-message>参数中的“Datastore revision don’t exist”表示访问控制保护删除失败的原因,即原因为该数据集未添加访问控制保护。In the case that the first data object does not meet the protection deletion condition because the first data object does not have version information (that is, no access control protection is added), a deletion failure response message sent by the network device to the first client Carry the following information. Among them, the content in the <rpc-error> parameter indicates the failure to delete the access control protection and the reason for the failure, and the "Datastore revision don't exist" in the <error-message> parameter indicates the reason for the failure to delete the access control protection, that is, the reason is This dataset has no access control protection added.
Figure PCTCN2022107555-appb-000014
Figure PCTCN2022107555-appb-000014
以上介绍了为数据对象添加访问控制保护和删除访问控制保护的实现方式。可选地,在本申请实施例中,网络设备与第一客户端还能够交互各自的能力信息,例如,网络设备向第一客户端通知网络设备对访问控制功能的支持能力等等,以便于第一客户端准确地向该网络设备发送各种请求。可选地,网络设备与第一客户端之间在建立会话连接之后先交互各自的能力信息,网络设备与第一客户端也可以在会话过程中的任意时间来交互各自的能力信息,本申请实施例对此不作限定。接下来介绍网络设备向第一客户端通知网络设备对访问控制功能的支持能力的实现方式。The above describes the implementation of adding access control protection and removing access control protection for data objects. Optionally, in this embodiment of the present application, the network device and the first client can also exchange their respective capability information, for example, the network device notifies the first client of the support capability of the network device for the access control function, etc., so that The first client accurately sends various requests to the network device. Optionally, the network device and the first client first exchange their respective capability information after establishing a session connection, and the network device and the first client may also exchange their respective capability information at any time during the session. The embodiment does not limit this. Next, an implementation manner in which the network device notifies the first client of the support capability of the network device for the access control function is introduced.
在本申请实施例中,网络设备向第一客户端发送能力通知报文,该能力通知报文包括访 问控制功能的支持能力参数,该支持能力参数包括第一取值或第二取值,第一取值指示该网络设备支持设置访问控制功能,第二取值指示该网络设备不支持设置访问控制功能。In this embodiment of the present application, the network device sends a capability notification message to the first client, and the capability notification message includes a support capability parameter of the access control function, and the support capability parameter includes a first value or a second value, the second A value indicates that the network device supports setting access control function, and a second value indicates that the network device does not support setting access control function.
可选地,第一取值和第二取值可以为数值、字符串等,本申请实施例对此不作限定。例如,第一取值和第二取值分别为“1”和“0”,或者,第一取值和第二取值分别为“dynamic”和“static”。Optionally, the first value and the second value may be numeric values, character strings, etc., which are not limited in this embodiment of the present application. For example, the first value and the second value are "1" and "0" respectively, or the first value and the second value are "dynamic" and "static" respectively.
由前述可知,在一些实施例中,网络设备对支持设置访问控制功能的数据粒度有所限制。基于此,可选地,能力通知报文还包括访问控制功能的支持粒度参数,支持粒度参数用于指示该网络设备支持设置访问控制功能的数据粒度,数据粒度包括数据集粒度、YANG模块粒度和数据节点粒度中的一个或多个。As can be seen from the foregoing, in some embodiments, the network device has restrictions on the granularity of data supporting the setting of the access control function. Based on this, optionally, the capability notification message also includes a support granularity parameter of the access control function, and the support granularity parameter is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and One or more of the data node granularities.
示例性地,假设网络设备向第一客户端发送的能力通知报文携带basic-mode参数和granularity参数,basic-mode参数和granularity参数分别为访问控制功能的支持能力参数和支持粒度参数。其中,basic-mode参数的取值为“dynamic”或“static”。“dynamic”表示支持动态添加和删除访问控制保护,“static”表示不支持动态添加和删除访问控制保护,也即该网络设备对访问控制功能的支持是静态的,该网络设备对访问控制功能的支持能力在出厂时即确定,不能够在该网络设备的运行过程中通过客户端动态添加或删除访问控制保护。granularity参数的取值包括“datastore”、“module”和“node”中的一个或多个。“datastore”表示该网络设备支持对数据集粒度的数据对象维护乐观锁,只要修改了已添加访问控制保护的一个数据集中的配置数据,且修改的不是反向机制参数中的数据,那么网络设备就需要更新该数据集的版本信息。“module”表示该网络设备支持对YANG模块粒度的数据对象维护乐观锁。“node”表示该网络设备支持对数据节点粒度的数据对象维护乐观锁。Exemplarily, it is assumed that the capability notification message sent by the network device to the first client carries a basic-mode parameter and a granularity parameter, and the basic-mode parameter and the granularity parameter are support capability parameters and support granularity parameters of the access control function respectively. Among them, the value of the basic-mode parameter is "dynamic" or "static". "dynamic" indicates that it supports dynamic addition and deletion of access control protection, and "static" indicates that it does not support dynamic addition and deletion of access control protection, that is, the network device supports the access control function statically, and the network device supports the access control function The support capability is determined at the factory, and access control protection cannot be dynamically added or deleted through the client during the operation of the network device. The value of the granularity parameter includes one or more of "datastore", "module" and "node". "datastore" indicates that the network device supports maintaining optimistic locks on data objects at the granularity of the dataset. As long as the configuration data in a data set that has been added with access control protection is modified, and the data in the reverse mechanism parameters is not modified, the network device It is necessary to update the version information of the dataset. "module" indicates that the network device supports maintaining optimistic locks for data objects at the granularity of YANG modules. "node" indicates that the network device supports maintaining optimistic locks for data objects at the granularity of data nodes.
基于上述示例,网络设备向第一客户端发送的一个能力通知报文可以携带如下信息。这里以网络设备向第一客户端发送一个hello报文为例,该hello报文携带<capabilities>参数集,<capabilities>参数集包括一个或多个<capability>参数,每个<capability>参数携带网络设备的一种能力信息。其中,在该hello报文携带的第三个<capability>参数中携带访问控制功能的支持能力参数(即basic-mode参数)和支持粒度参数(即granularity参数)。该<capability>参数中的“basic-mode=dynamic”表示第一取值为“dynamic”,指示该网络设备支持动态设置访问控制功能,“granularity=datastore,module”表示网络设备所支持设置访问控制功能的数据粒度包括数据集粒度和YANG模块粒度。Based on the above example, a capability notification message sent by the network device to the first client may carry the following information. Here, the network device sends a hello packet to the first client as an example, the hello packet carries a <capabilities> parameter set, and the <capabilities> parameter set includes one or more <capability> parameters, and each <capability> parameter carries A capability information of a network device. Wherein, the third <capability> parameter carried in the hello message carries the support capability parameter (ie, the basic-mode parameter) and the support granularity parameter (ie, the granularity parameter) of the access control function. "basic-mode=dynamic" in the <capability> parameter indicates that the first value is "dynamic", indicating that the network device supports the dynamic setting access control function, and "granularity=datastore,module" indicates that the network device supports setting access control The data granularity of functions includes dataset granularity and YANG module granularity.
Figure PCTCN2022107555-appb-000015
Figure PCTCN2022107555-appb-000015
Figure PCTCN2022107555-appb-000016
Figure PCTCN2022107555-appb-000016
以上介绍了客户端基于NETCONF对网络设备进行配置更新时,网络设备通过客户端为数据对象设置访问控制保护的实现过程,还介绍了网络设备告知客户端关于访问控制功能的支持能力、支持粒度等信息。接下来介绍配置更新时网络设备与客户端之间基于所设置的访问控制保护的应用,即介绍配置更新过程中检测版本信息一致性的实现过程。The above introduces the implementation process of the network device setting access control protection for data objects through the client when the client updates the configuration of the network device based on NETCONF. It also introduces the support capability and support granularity of the network device to inform the client about the access control function. information. Next, it introduces the application of the access control protection based on the setting between the network device and the client when the configuration is updated, that is, introduces the implementation process of detecting version information consistency during the configuration update process.
由前述可知,在本申请实施例中,由网络设备检测版本信息的一致性,或者,由客户端检测版本信息的一致性,或者,由客户端和网络设备检测版本信息的一致性,从而减少配置冲突,提高并发控制的效率。接下来先通过下述图3实施例介绍网络设备参与检测版本信息的一致性的实现方式,包括网络设备单独检测的实现方式,以及客户端和网络设备均检测的实现方式。再通过下述图5实施例介绍客户端单独检测的实现方式。As can be seen from the foregoing, in the embodiment of the present application, the consistency of the version information is detected by the network device, or the consistency of the version information is detected by the client, or the consistency of the version information is detected by the client and the network device, thereby reducing Configure conflicts to improve the efficiency of concurrency control. Next, through the embodiment shown in FIG. 3 below, we first introduce the implementation of network equipment participating in the detection of the consistency of version information, including the implementation of independent detection of network equipment, and the implementation of both client and network equipment detection. Then, the implementation manner of individual client detection will be introduced through the embodiment shown in FIG. 5 below.
图3是本申请实施例提供的一种配置更新方法的流程图。在图3实施例中网络设备参与检测版本信息的一致性。请参考图3,该方法包括如下步骤。Fig. 3 is a flow chart of a configuration update method provided by an embodiment of the present application. In the embodiment in FIG. 3 , the network device participates in checking the consistency of the version information. Please refer to FIG. 3 , the method includes the following steps.
步骤301:第一客户端向网络设备发送NETCONF配置请求报文,该配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求该网络设备对第一数据对象所执行的操作,该操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括该网络设备的配置数据。Step 301: the first client sends a NETCONF configuration request message to the network device, the configuration request message includes operation instruction information, and the operation instruction information indicates that the first client requests the network device to perform an operation on the first data object, The operation instruction information includes first version information, where the first version information is version information of a first data object recorded by the first client, and the first data object includes configuration data of the network device.
由前述可知,第一客户端和网络设备各自记录所需要更新的数据对象的版本信息,通过检测版本信息的一致性来进行配置更新。另外,第一客户端通过向网络设备发送配置请求报文来对网络设备进行配置更新,第一客户端在发送配置请求报文之前可以检测版本信息的一致性,也可以不检测版本信息的一致性。在第一客户端检测版本信息的一致性的情况下,配置请求报文为第一客户端检测第一版本信息与第一参考版本信息一致的情况下发送的。在第一客户端不检测版本信息的一致性的情况下,第一客户端直接向网络设备发送配置请求报文。It can be known from the foregoing that the first client and the network device respectively record the version information of the data object to be updated, and perform configuration update by checking the consistency of the version information. In addition, the first client may update the configuration of the network device by sending a configuration request message to the network device, and the first client may or may not check the consistency of the version information before sending the configuration request message. sex. When the first client detects the consistency of the version information, the configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information. In the case that the first client does not detect the consistency of the version information, the first client directly sends the configuration request message to the network device.
可选地,在本申请实施例中,版本信息为版本号、时间戳或序列号。其中,版本号是由字母、数字和符号等组成的并具有解释性的一种命名格式,例如version1.2.0,该版本号就是由字母version,数字和符号组成的,命名格式为version主版本号.子版本号.次版本号。使用时间戳作为数据对象的版本信息就是使用网络设备或***根据***时间信息作为数据对象的版本标识。序列号是一组数字序列,上述数字序列可以随机生成也可以按照某种生成规则产生,例如网络设备根据数据对象的操作完成时间信息通过哈希算法得到一个序列号作为上述数据对象的版本信息。也即是,网络设备和客户端可以以版本号、时间戳或序列号来记录数据对象的版本信息。在其他一些实施例中,版本信息也可以为其他的能够记录数据对象中配置数据变更的标记信息。可选地,在本申请实施例中,数据对象根据数据粒度划分为包括数据集、YANG模块和/或数据节点。Optionally, in this embodiment of the application, the version information is a version number, a time stamp or a serial number. Among them, the version number is composed of letters, numbers and symbols and has an explanatory naming format, such as version1.2.0, the version number is composed of letters version, numbers and symbols, and the naming format is the main version number of version .subversion number.Minor version number. Using the timestamp as the version information of the data object is to use the network device or system as the version identification of the data object according to the system time information. A serial number is a set of digital sequences, which can be generated randomly or according to certain generation rules. For example, a network device obtains a serial number through a hash algorithm according to the operation completion time information of the data object as the version information of the above data object. That is, the network device and the client can record the version information of the data object with a version number, a time stamp or a serial number. In some other embodiments, the version information may also be other tag information capable of recording configuration data changes in the data object. Optionally, in this embodiment of the present application, data objects are divided into data sets, YANG modules and/or data nodes according to data granularity.
在本申请实施例中,第一客户端发送的配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求该网络设备对第一数据对象所执行的操作。另外,由于图3实施例中需要网络设备参与检测版本信息的一致性,因此,操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括该网络设备中的配 置数据。例如,第一数据对象是running数据集,第一版本信息是第一客户端记录的上述running数据集的版本号version1.0。又如,第一数据对象是名称为ietf-interface-desc的YANG模块,第一版本信息是第一客户端记录的上述YANG模块“ietf-interface-desc”的时间戳2021-07-2210:45UTC。又如,第一数据对象是YANG模块“ietf-interface-desc”中的数据节点“mtu”,第一版本信息的第一客户端记录的数据节点“mtu”的序列号0001。In this embodiment of the present application, the configuration request message sent by the first client includes operation instruction information, and the operation instruction information indicates an operation that the first client requests the network device to perform on the first data object. In addition, since the embodiment in FIG. 3 requires the network device to participate in the detection of the consistency of the version information, the operation instruction information includes the first version information, and the first version information is the version information of the first data object recorded by the first client. A data object includes configuration data in the network device. For example, the first data object is a running data set, and the first version information is a version number version 1.0 of the running data set recorded by the first client. As another example, the first data object is a YANG module named ietf-interface-desc, and the first version information is the timestamp 2021-07-2210:45UTC of the above-mentioned YANG module "ietf-interface-desc" recorded by the first client . For another example, the first data object is the data node "mtu" in the YANG module "ietf-interface-desc", and the serial number of the data node "mtu" recorded by the first client of the first version information is 0001.
这里示例性地给出YANG模块“ietf-interface-desc”中数据节点形成的YANG模型如下所示,YANG模块“ietf-interface-desc”中的数据节点包括“interface”、“name”、“description”、“mtu”、“ip-address”。Here is an example of the YANG model formed by the data nodes in the YANG module "ietf-interface-desc" as shown below. The data nodes in the YANG module "ietf-interface-desc" include "interface", "name", "description ", "mtu", "ip-address".
Figure PCTCN2022107555-appb-000017
Figure PCTCN2022107555-appb-000017
需要说明的是,假设第一数据对象的类型或数据粒度被设置或定义为YANG模块,网络设备接收到的第一客户端发送的NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对名称为ietf-interface-desc的YANG模块中的“name”节点进行操作,那么这里的第一数据对象是名称为ietf-interface-desc的YANG模块,不是数据节点“name”,所以第一版本信息是上述YANG模块“ietf-interface-desc”的版本信息。同理,假设第一数据对象的类型被设置或定义为数据集,网络设备接收到的第一客户端发送的NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对running数据集中的“host-name”节点进行操作,那么这里的第一数据对象是running数据集,不是数据节点“host-name”,所以第一版本信息是上述running数据集的版本信息。It should be noted that, assuming that the type or data granularity of the first data object is set or defined as a YANG module, the NETCONF configuration request message sent by the first client received by the network device includes operation indication information, and the operation indication information indicates that the first A client requests the network device to operate on the "name" node in the YANG module named ietf-interface-desc, then the first data object here is the YANG module named ietf-interface-desc, not the data node "name" ", so the first version information is the version information of the above-mentioned YANG module "ietf-interface-desc". Similarly, assuming that the type of the first data object is set or defined as a data set, the NETCONF configuration request message sent by the first client received by the network device includes operation indication information, and the operation indication information indicates that the first client requests the network The device operates on the "host-name" node in the running data set, so the first data object here is the running data set, not the data node "host-name", so the first version information is the version information of the above running data set.
可选地,第一客户端请求该网络设备对第一数据对象所执行的操作包括编辑(edit-config)、复制(copy-config)、提交(commit)或删除(delete-config)等操作中的一种或多种。Optionally, the operation that the first client requests the network device to perform on the first data object includes editing (edit-config), copying (copy-config), submitting (commit) or deleting (delete-config) and other operations one or more of .
需要说明的是,NETCONF中的编辑操作、删除操作是关于一个数据对象的操作,网络 设备检测这一个数据对象的版本信息的一致性即可。NETCONF中的复制操作是关于两个数据对象的操作,可选地,为了保证这两个数据对象中的配置数据与第一客户端所维护的一致,网络设备需要分别检测这两个数据对象的版本信息的一致性。例如,NETCONF中的提交操作是关于两个数据对象的操作,即一个数据对象为running数据集、另一数据对象为candidate数据集,其中running数据集为第一数据对象,网络设备需要检测running数据集的版本信息的一致性,但对于candidate数据集来说,网络设备可以检测或不检测candidate数据集的版本信息的一致性。可选地,若网络设备不检测candidate数据集的版本信息,那么,candidate可以不设置对应的版本信息。接下来以该操作包括复制操作为例,对本申请实施例中需要分别检测两个数据对象的版本信息的一致性的情况进行介绍。It should be noted that the edit operation and delete operation in NETCONF are operations on a data object, and the network device only needs to detect the consistency of the version information of this data object. The copy operation in NETCONF is an operation on two data objects. Optionally, in order to ensure that the configuration data in the two data objects is consistent with that maintained by the first client, the network device needs to detect the configuration data of the two data objects respectively. Consistency of version information. For example, the submission operation in NETCONF is an operation on two data objects, that is, one data object is the running data set, and the other data object is the candidate data set, where the running data set is the first data object, and the network device needs to detect the running data The consistency of the version information of the set, but for the candidate data set, the network device may or may not detect the consistency of the version information of the candidate data set. Optionally, if the network device does not detect the version information of the candidate data set, then the candidate may not set the corresponding version information. Next, taking the operation including the copy operation as an example, the situation in the embodiment of the present application that needs to detect the consistency of the version information of two data objects is introduced.
在本申请实施例中,第一客户端请求该网络设备对第一数据对象执行的操作包括复制操作,那么操作指示信息还包括第五版本信息,第五版本信息为第一客户端记录的第五数据对象的版本信息,第五数据对象包括网络设备的配置数据。其中,复制操作用于用第五数据对象中的配置数据覆盖第一数据对象中的配置数据。第一数据对象与第五数据对象为不同的数据对象。In this embodiment of the present application, the operation that the first client requests the network device to perform on the first data object includes a copy operation, then the operation instruction information also includes the fifth version information, and the fifth version information is the first client record. Version information of the fifth data object, the fifth data object includes configuration data of the network device. Wherein, the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object. The first data object and the fifth data object are different data objects.
可选地,在本身实施例中,通过对NETCONF定义的这些操作进行扩展以携带版本信息从而实现对网络设备的配置更新。接下来以该操作分别包括编辑操作、提交操作和复制操作为例对此进行介绍。Optionally, in this embodiment, these operations defined by NETCONF are extended to carry version information so as to realize configuration update of network devices. Next, it will be introduced by taking the operations respectively including edit operation, submit operation and copy operation as an example.
示例性地,以该操作包括编辑操作,版本信息为版本号(revision)为例,对NETCONF定义的edit-config操作进行扩展,以携带第一版本信息。例如,在需要配置更新的第一数据对象的标识后面增加版本信息这个属性。如在下述示例中,操作指示信息包括<edit-config>参数中的内容,<target>参数中的<running ol:revision=”1”/>表示第一数据对象为running数据集,且第一客户端记录的running数据集的版本号为1。另外,还可以看出,通过<edit-config>参数来指示第一客户端请求网络设备所执行的编辑操作,通过<target>参数来携带第一数据对象的标识。需要说明的是,在NETCONF定义的edit-config操作中,edit-config操作可以通过operation参数来指示具体操作为合并(merge)、删除、替换等。如在下述示例中,<interface xc:operation="merge">指示对相应接口的配置数据进行合并操作。还需说明的是,operation参数是可选的参数,若<edit-config>参数中未携带operation参数,则表示edit-config操作指示默认操作,默认操作为merge操作。Exemplarily, taking that the operation includes an editing operation and the version information is a revision number (revision) as an example, the edit-config operation defined by NETCONF is extended to carry the first version information. For example, an attribute of version information is added after the identifier of the first data object that needs configuration update. As in the following example, the operation indication information includes the content in the <edit-config> parameter, <running ol:revision="1"/> in the <target> parameter indicates that the first data object is a running data set, and the first The version number of the running dataset recorded by the client is 1. In addition, it can also be seen that the <edit-config> parameter is used to instruct the first client to request the editing operation performed by the network device, and the <target> parameter is used to carry the identifier of the first data object. It should be noted that, in the edit-config operation defined by NETCONF, the edit-config operation may use an operation parameter to indicate specific operations such as merge, delete, and replace. For example, in the following example, <interface xc:operation="merge"> indicates that the configuration data of the corresponding interface is merged. It should also be noted that the operation parameter is an optional parameter. If the <edit-config> parameter does not carry the operation parameter, it means that the edit-config operation indicates the default operation, and the default operation is the merge operation.
Figure PCTCN2022107555-appb-000018
Figure PCTCN2022107555-appb-000018
Figure PCTCN2022107555-appb-000019
Figure PCTCN2022107555-appb-000019
以该操作包括提交操作,版本信息为版本号(revision)为例,对NETCONF定义的commit操作进行扩展,以携带第一版本信息。如在下述示例中,操作指示信息包括<commit ol:revision=”2”/>,通过<commit ol:revision=”2”/>来指示第一客户端请求网络设备所执行的提交操作,以及指示第一数据对象为running数据集,指示第二数据对象为candidate数据集,另外,还携带第一客户端记录的running数据集的版本信息为2。该提交操作用于用candidate数据集中的配置数据覆盖running数据集中的配置数据,以将candidate数据集中的配置数据提交正式生效。Taking the operation includes a commit operation and the version information is a revision number (revision) as an example, the commit operation defined by NETCONF is extended to carry the first version information. As in the following example, the operation indication information includes <commit ol:revision="2"/>, and <commit ol:revision="2"/> is used to indicate that the first client requests the commit operation performed by the network device, and Indicates that the first data object is the running data set, indicates that the second data object is the candidate data set, and also carries the version information of the running data set recorded by the first client as 2. This submit operation is used to overwrite the configuration data in the running dataset with the configuration data in the candidate dataset, so that the configuration data in the candidate dataset will be submitted to take effect officially.
Figure PCTCN2022107555-appb-000020
Figure PCTCN2022107555-appb-000020
以该操作包括复制操作,版本信息为版本号(revision)为例,对NETCONF定义的copy-config操作进行扩展,以携带第一版本信息和第五版本信息。例如,在第一数据对象(目的数据对象)和第二数据对象(源数据对象)的标识后面分别增加对应的版本信息这个属性。如在下述示例中,操作指示信息包括<copy-config>参数中的内容,<target>参数中的<startup ol:revision=”1”/>表示第一数据对象为startup数据集,且第一客户端记录的startup数据集的版本号为1,<source>参数中的<running ol:revision=”2”/>表示第二数据对象为running数据集,且第一客户端记录的running数据集的版本号为2。另外,还可以看出,通过<copy-config>参数来指示第一客户端请求网络设备所执行的复制操作,通过<target>参数来携带第一数据对象的标识,通过<source>参数来携带第二数据对象的标识。Taking the operation includes a copy operation and the version information is a revision number (revision) as an example, the copy-config operation defined by NETCONF is extended to carry the first version information and the fifth version information. For example, the attribute of corresponding version information is respectively added after the identifiers of the first data object (target data object) and the second data object (source data object). As in the following example, the operation instruction information includes the content in the <copy-config> parameter, and <startup ol:revision="1"/> in the <target> parameter indicates that the first data object is a startup data set, and the first The version number of the startup data set recorded by the client is 1, <running ol:revision="2"/> in the <source> parameter indicates that the second data object is the running data set, and the running data set recorded by the first client The version number is 2. In addition, it can also be seen that the copy operation performed by the first client requesting the network device is indicated by the <copy-config> parameter, the identification of the first data object is carried by the <target> parameter, and carried by the <source> parameter The identifier of the second data object.
Figure PCTCN2022107555-appb-000021
Figure PCTCN2022107555-appb-000021
由前述可知,第一客户端在向网络设备发送配置请求报文之前,也可以先检测版本信息的一致性。第一客户端检测版本信息的一致性的话,需要先获取网络设备记录的第一数据对象的版本信息。接下来介绍第一客户端获取网络设备记录的第一数据对象的版本信息的两种实现方式。需要说明的是,若还需检测第五数据对象的版本信息的一致性,第一客户端可以分别获取网络设备记录的第一数据对象和第五数据对象的版本信息。接下来以第一客户端获取网络设备记录的第一数据对象的版本信息为例对此进行介绍,第一客户端获取网络设备记录的第五数据对象的版本信息的实现方式类似。It can be known from the foregoing that, before sending the configuration request message to the network device, the first client may first check the consistency of the version information. If the first client detects the consistency of the version information, it needs to first obtain the version information of the first data object recorded by the network device. Next, two implementation manners for the first client to obtain the version information of the first data object recorded by the network device are introduced. It should be noted that, if it is necessary to detect the consistency of the version information of the fifth data object, the first client may respectively acquire the version information of the first data object and the fifth data object recorded by the network device. Next, the first client obtains the version information of the first data object recorded by the network device as an example to introduce this. The implementation manner for the first client to obtain the version information of the fifth data object recorded by the network device is similar.
第一客户端获取网络设备记录的第一数据对象的版本信息的一种实现方式为:第一客户端向网络设备发送查询报文,查询报文包括第一数据对象的标识。网络设备接收第一客户端发送的查询报文,网络设备向第一客户端发送查询响应报文,查询响应报文包括网络设备记录的第一数据对象的版本信息。也即是,第一客户端通过即时查询的方式获取网络设备记录的第一数据对象的版本信息。An implementation manner for the first client to obtain the version information of the first data object recorded by the network device is as follows: the first client sends a query message to the network device, and the query message includes an identifier of the first data object. The network device receives the query message sent by the first client, and the network device sends a query response message to the first client, where the query response message includes version information of the first data object recorded by the network device. That is, the first client obtains the version information of the first data object recorded by the network device through instant query.
需要说明的是,若网络设备记录有第一数据对象的版本信息,则网络设备向第一客户端反馈一个成功响应报文,该成功响应报文即为查询响应报文,查询响应报文包括网络设备记录的第一数据对象的版本信息。可选地,查询响应报文包括版本字段,该版本字段包括网络设备记录的第一数据对象的版本信息。It should be noted that, if the network device records version information of the first data object, the network device feeds back a successful response message to the first client, and the successful response message is a query response message, and the query response message includes Version information of the first data object recorded by the network device. Optionally, the query response message includes a version field, where the version field includes version information of the first data object recorded by the network device.
若网络设备未记录第一数据对象的版本信息,则网络设备向第一客户端反馈一个失败响应报文,该失败响应报文指示网络设备未记录第一数据对象的版本信息。可选地,该失败响应报文也包括一个版本字段,但该版本字段为空。其中,在第一数据对象不支持设置访问控制功能的情况下,或者,在第一数据对象支持设置但还未设置访问控制功能的情况下,网络设备向第一客户端反馈一个失败响应报文。可选地,在不同的情况下,网络设备反馈的失败响应报文相同或者不同。例如,在第一数据对象不支持设置访问控制功能的情况下,网络设备反馈的失败响应报文指示第一数据对象不支持设置访问控制功能。在第一数据对象支持设置但还未设置访问控制功能的情况下,网络设备反馈的失败响应报文指示第一数据对象支持但还未设置访问控制功能。If the network device does not record the version information of the first data object, the network device feeds back a failure response message to the first client, and the failure response message indicates that the network device does not record the version information of the first data object. Optionally, the failure response message also includes a version field, but the version field is empty. Wherein, in the case that the first data object does not support setting the access control function, or, in the case that the first data object supports setting but the access control function has not been set, the network device feeds back a failure response message to the first client . Optionally, in different situations, the failure response messages fed back by the network device are the same or different. For example, in the case that the first data object does not support the setting of the access control function, the failure response message fed back by the network device indicates that the first data object does not support the setting of the access control function. In the case that the first data object supports setting but has not yet set the access control function, the failure response message fed back by the network device indicates that the first data object supports but has not yet set the access control function.
示例性地,通过对NETCONF进行扩展,如定义get-revision操作用于客户端查询版本信息,定义get-revision操作中的参数包括<source>参数和<filter>参数。其中,<source>参数用于携带数据集的标识,<filter>参数用于携带<source>参数所指示的数据集中的YANG模块的名称或数据节点的路径或数据节点的名称。其中,<filter>参数为可选参数。例如,在第一数据对象为一个数据集的情况下,版本查询请求报文中<get-revision>参数包含<source>参数即可,以通过<source>参数指示第一数据对象的标识。在第一数据对象为一个YANG模块或一个数据节点的情况下,版本查询请求报文中<get-revision>参数包含<source>参数和<filter>参数,以通过<source>参数和<filter>参数共同指示第一数据对象的标识。如在下述示例中,第一客户端向网络设备发送的一个查询报文携带如下信息。其中,<get-revision>参数中的内容指示第一客户端请求查询第一数据对象的版本信息,<get-revision>参数包含<source>参数,表示第一数据对象为一个数据集。<source>参数中的<running/>表示第一数据对象为running数据集。可选地,第一客户端通过<get-revision>向网络设备发送的查询报文可称为版本查询报文。Exemplarily, by extending NETCONF, such as defining a get-revision operation for a client to query version information, defining parameters in the get-revision operation include a <source> parameter and a <filter> parameter. Among them, the <source> parameter is used to carry the identifier of the data set, and the <filter> parameter is used to carry the name of the YANG module or the path of the data node or the name of the data node in the data set indicated by the <source> parameter. Among them, the <filter> parameter is an optional parameter. For example, when the first data object is a data set, the <get-revision> parameter in the version query request message only needs to include the <source> parameter, so as to indicate the identity of the first data object through the <source> parameter. In the case that the first data object is a YANG module or a data node, the <get-revision> parameter in the version query request message contains the <source> parameter and the <filter> parameter, so as to pass the <source> parameter and <filter> The parameters collectively indicate the identity of the first data object. As in the following example, a query message sent by the first client to the network device carries the following information. Wherein, the content in the <get-revision> parameter indicates that the first client requests to query the version information of the first data object, and the <get-revision> parameter includes the <source> parameter, indicating that the first data object is a data set. <running/> in the <source> parameter indicates that the first data object is a running data set. Optionally, the query message sent by the first client to the network device through <get-revision> may be called a version query message.
Figure PCTCN2022107555-appb-000022
Figure PCTCN2022107555-appb-000022
Figure PCTCN2022107555-appb-000023
Figure PCTCN2022107555-appb-000023
又如在下述示例中,第一客户端向网络设备发送的一个查询报文携带如下信息。其中,<get-revision>参数中的内容指示第一客户端请求查询第一数据对象的版本信息,<get-revision>参数包含<source>参数和<filter>参数,表示第一数据对象为数据集中的YANG模块或数据节点。其中,<source>参数中的<running/>表示第一数据对象所属的数据集为running数据集。<filter>参数中的<top>参数表示第一数据对象为running数据集中的/top/users数据节点。As another example, in the following example, a query message sent by the first client to the network device carries the following information. Among them, the content in the <get-revision> parameter indicates that the first client requests to query the version information of the first data object, and the <get-revision> parameter includes the <source> parameter and the <filter> parameter, indicating that the first data object is data Centralized YANG modules or data nodes. Wherein, <running/> in the <source> parameter indicates that the dataset to which the first data object belongs is the running dataset. The <top> parameter in the <filter> parameter indicates that the first data object is the /top/users data node in the running data set.
Figure PCTCN2022107555-appb-000024
Figure PCTCN2022107555-appb-000024
在网络设备记录有第一数据对象的版本信息的情况下,网络设备反馈的一个查询响应报文携带如下信息。其中,<revision>2<revision>为一个版本字段,该版本字段表示网络设备记录的第一数据对象的版本信息为2。In the case that the network device records version information of the first data object, a query response message fed back by the network device carries the following information. Wherein, <revision>2<revision> is a version field, which indicates that the version information of the first data object recorded by the network device is 2.
Figure PCTCN2022107555-appb-000025
Figure PCTCN2022107555-appb-000025
在网络设备未记录第一数据对象的版本信息的情况下,网络设备反馈的一个失败响应报文携带如下信息。其中,<revision><revision>为空,表示网络设备未记录第一数据对象的版本信息。In the case that the network device does not record the version information of the first data object, a failure response message fed back by the network device carries the following information. Wherein, <revision><revision> is empty, indicating that the network device does not record the version information of the first data object.
Figure PCTCN2022107555-appb-000026
Figure PCTCN2022107555-appb-000026
以上以扩展的get-revision操作为例,对第一客户端通过发送查询报文来获取网络设备记录的第一数据对象的版本信息进行了介绍。可选地,第一客户端也可以通过NETCOF中定义的<get-config>来获取网络设备记录的第一数据对象的版本信息。<get-config>用于客户端或控制器向网络设备查询网络设备上的配置数据,在申请实施例中,第一客户端向网络设备发送的查询报文包括<get-config>参数,<get-config>参数携带第一数据对象的标识。网络设备向第一客户端反馈的查询响应报文包括<data>参数,<data>参数携带第一数据对象的具体数据,还携带网络设备记录的第一数据对象的版本信息。可选地,第一客户端也可以通过NETCOF中定义的<get-data>或<get>来获取网络设备记录的第一数据对象的版本信息,原理类似于<get-config>。也即是,在本申请实施例中,也可以通过对NETCOF中定义的标准请求报文进行扩展,在第一客户端向网络设备发送查询报文以请求查询第一数据对象中具体数据的情况下,网络设备向第一客户端反馈第一数据对象中具体数据的同时,还反馈网络设备所记录的第一数据对象的版本信息。可选地,第一客户端通过<get-config>向网络设备发送的查询报文也可称为配置查询报文。Taking the extended get-revision operation as an example, the first client obtains the version information of the first data object recorded by the network device by sending a query message. Optionally, the first client may also obtain the version information of the first data object recorded by the network device through <get-config> defined in NETCOF. <get-config> is used for the client or the controller to query the network device for configuration data on the network device. In the embodiment of the application, the query message sent by the first client to the network device includes the <get-config> parameter, < The get-config> parameter carries the identifier of the first data object. The query response message fed back by the network device to the first client includes <data> parameters, and the <data> parameter carries specific data of the first data object and also carries version information of the first data object recorded by the network device. Optionally, the first client can also obtain the version information of the first data object recorded by the network device through <get-data> or <get> defined in NETCOF, the principle is similar to <get-config>. That is to say, in the embodiment of the present application, the standard request message defined in NETCOF may also be extended, and when the first client sends a query message to the network device to request to query specific data in the first data object Next, while feeding back specific data in the first data object to the first client, the network device also feeds back version information of the first data object recorded by the network device. Optionally, the query message sent by the first client to the network device through <get-config> may also be called a configuration query message.
需要说明的是,在本申请实施例中,第一客户端可以在期望对第一数据对象进行配置更新时,通过即时查询的方式获取网络设备记录的第一数据对象的版本信息,第一客户端也可以在任意时刻通过即时查询的方式获取网络设备记录的第一数据对象的版本信息。第一客户端除了可以查询第一数据对象的版本信息之外,也可以查询其他的数据对象的版本信息。It should be noted that, in this embodiment of the application, when the first client expects to update the configuration of the first data object, it can obtain the version information of the first data object recorded by the network device through instant query, and the first client The terminal can also obtain the version information of the first data object recorded by the network device through instant query at any time. In addition to querying the version information of the first data object, the first client can also query the version information of other data objects.
可选地,第一客户端通过发送一个查询报文来请求查询一个或多个数据对象的版本信息,在上述几个示例中,一个查询报文用于请求查询一个数据对象的版本信息。接下来介绍第一客户端通过发送一个查询报文来请求查询多个数据对象的版本信息的实现方式。Optionally, the first client requests to query the version information of one or more data objects by sending a query message. In the above several examples, one query message is used to request to query the version information of one data object. Next, an implementation manner in which the first client requests to query version information of multiple data objects by sending a query message is introduced.
以上述介绍的<get-config>为例,示例性地,第一客户端发送的一个查询报文携带如下信息。其中,<get-revision>参数携带<source>参数和<filter>参数。<source>参数指示请求查询的数据对象所在的数据集为running数据集。<filter>参数指示请求查询版本信息的数据对象包括running数据集中interfaceYANG模块包括的接口名称为eth0对应的多个数据节点。Taking the <get-config> introduced above as an example, for example, a query message sent by the first client carries the following information. Among them, the <get-revision> parameter carries the <source> parameter and the <filter> parameter. The <source> parameter indicates that the dataset where the requested data object resides is the running dataset. The <filter> parameter indicates that the data object that requests to query the version information includes multiple data nodes corresponding to the interface name included in the interfaceYANG module in the running dataset.
Figure PCTCN2022107555-appb-000027
Figure PCTCN2022107555-appb-000027
在网络设备记录有上述interfaceYANG模块包括的ifName为eth0对应的多个数据节点的版本信息的情况下,网络设备反馈的一个查询响应报文携带如下信息。该查询响应报文携带<data>参数,<data>参数携带interfaceYANG模块包括的ifName接口名称为eth0对应的四个数据节点各自的版本信息。其中,<ifName ol:revision=”1”>eth0</ifName>表示接口名称为eth0的数据节点的版本信息为1。<mtu ol:revision=”3”>1450</mtu>表示mtu(masuimum transmission unit,最大传输单元)为1450的数据节点的版本信息为3。<ip-address ol:revision=”2”>172.168.0.1</ip-address>表示ipv4-address为172.168.0.1的数据节点的版本信息为2。<ip-address ol:revision=”1”>::1</ip-address>表示ipv6-address为::1的数据节点的版本信息为1。When the network device records the version information of multiple data nodes corresponding to ifName included in the interfaceYANG module above, a query response message fed back by the network device carries the following information. The query response message carries the <data> parameter, and the <data> parameter carries the version information of the four data nodes corresponding to the ifName interface included in the interfaceYANG module with the interface name eth0. Among them, <ifName ol:revision="1">eth0</ifName> indicates that the version information of the data node whose interface name is eth0 is 1. <mtu ol:revision="3">1450</mtu> indicates that the version information of the data node with mtu (masuimum transmission unit, maximum transmission unit) is 1450 is 3. <ip-address ol:revision="2">172.168.0.1</ip-address> indicates that the version information of the data node whose ipv4-address is 172.168.0.1 is 2. <ip-address ol:revision="1">::1</ip-address> indicates that the version information of the data node with ipv6-address ::1 is 1.
Figure PCTCN2022107555-appb-000028
Figure PCTCN2022107555-appb-000028
在这四个数据节点中部分数据节点有版本信息的情况下,网络设备向第一客户端反馈的一个查询响应报文携带这部分数据节点的版本信息。示例性地,网络设备反馈的一个查询响应报文携带如下信息。其中,接口名称为eth0的数据节点的版本信息为1,最大传输单元mtu为1450的数据节点的版本信息为3,ipv4-address为172.168.0.1的数据节点和ipv6-address为::1的数据节点均没有版本信息。In the case that some of the four data nodes have version information, a query response message fed back by the network device to the first client carries the version information of these data nodes. Exemplarily, a query response message fed back by the network device carries the following information. Among them, the version information of the data node whose interface name is eth0 is 1, the version information of the data node whose maximum transmission unit mtu is 1450 is 3, the data node whose ipv4-address is 172.168.0.1 and the data whose ipv6-address is ::1 Nodes have no version information.
Figure PCTCN2022107555-appb-000029
Figure PCTCN2022107555-appb-000029
Figure PCTCN2022107555-appb-000030
Figure PCTCN2022107555-appb-000030
以上几个示例中,第一客户端通过指定数据节点的名称来请求查询版本信息,在本申请实施例中,也可以通过指定数据节点的路径来请求查询版本信息。例如通过xpath表达式来表示数据节点的路径。In the above several examples, the first client requests to query the version information by specifying the name of the data node. In this embodiment of the application, it may also request to query the version information by specifying the path of the data node. For example, the path of the data node is represented by an xpath expression.
示例性地,第一客户端发送的一个查询报文携带如下信息。其中,<filter>参数携带一个xpath表达式,该xpath表达式指示第一客户端请求查询running数据集中user的name为fred对应的多个数据节点的版本信息。Exemplarily, a query message sent by the first client carries the following information. Wherein, the <filter> parameter carries an xpath expression, and the xpath expression instructs the first client to request to query the version information of multiple data nodes corresponding to the user whose name is fred in the running data set.
Figure PCTCN2022107555-appb-000031
Figure PCTCN2022107555-appb-000031
可选地,在属于一个数据集或一个YANG模块的多个数据节点的版本信息一致的情况下,则网络设备向第一客户端反馈的查询响应报文可以在该多个数据节点的父节点的标识后附上版本信息,以指示这多个数据节点均继承该父节点的版本信息。其中,在一种情况下,该多个数据节点自身具有版本信息且相同,在另一种情况下,该多个数据节点自身不具有版本信息,该多个数据节点的版本信息实质上是该多个数据节点的父节点的版本信息。Optionally, if the version information of multiple data nodes belonging to a data set or a YANG module is consistent, the query response message fed back by the network device to the first client may be in the parent node of the multiple data nodes The version information is appended after the identification of the multiple data nodes to indicate that the multiple data nodes all inherit the version information of the parent node. Wherein, in one case, the multiple data nodes themselves have version information and are the same; in another case, the multiple data nodes themselves do not have version information, and the version information of the multiple data nodes is essentially the The version information of the parent node of multiple data nodes.
示例性地,第一客户端向网络设备发送的一个查询报文携带如下信息。其中,<user ol:revision=”1”>表示name为fred的数据节点和id=2的company-info数据节点的版本信息均是继承了父节点user的版本信息1。Exemplarily, a query message sent by the first client to the network device carries the following information. Among them, <user ol:revision="1"> indicates that the version information of the data node whose name is fred and the company-info data node with id=2 inherits the version information 1 of the parent node user.
Figure PCTCN2022107555-appb-000032
Figure PCTCN2022107555-appb-000032
Figure PCTCN2022107555-appb-000033
Figure PCTCN2022107555-appb-000033
以上介绍了第一客户端通过向网络设备发送查询报文来获取第一数据对象的版本信息的实现方式。在本申请实施例中,第一客户端获取网络设备记录的第一数据对象的版本信息的另一种实现方式为:网络设备向第一客户端发送数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象的版本信息,该数据变更通知报文为网络设备在第一客户端订阅关于第一数据对象中数据的变更通知的情况下发送的。也即是,第一客户端通过订阅的方式获取网络设备记录的第一数据对象的版本信息,也即获取网络设备记录的最新的版本信息。例如,网络设备基于其他客户端的请求修改了第一数据对象中的数据,即第一数据对象中的数据发生了变更,那么网络设备向第一客户端发送一个数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象最新的版本信息。The implementation manner in which the first client acquires the version information of the first data object by sending a query message to the network device is introduced above. In this embodiment of the application, another way for the first client to obtain the version information of the first data object recorded by the network device is: the network device sends a data change notification message to the first client, and the data change notification message The message includes the version information of the first data object recorded by the network device, and the data change notification message is sent by the network device when the first client subscribes to the change notification of the data in the first data object. That is, the first client obtains the version information of the first data object recorded by the network device through subscription, that is, obtains the latest version information recorded by the network device. For example, if the network device modifies the data in the first data object based on the requests of other clients, that is, the data in the first data object changes, then the network device sends a data change notification message to the first client, and the data change The notification message includes the latest version information of the first data object recorded by the network device.
可选地,第一客户端通过向网络设备发送订阅请求以订阅关于第一数据对象中配置数据的变更通知,或者,第一客户端默认设置向网络设备订阅关于第一数据对象中配置数据的变更通知,或者,网络设备默认向第一客户端推送数据变更通知报文。Optionally, the first client subscribes to the change notification about the configuration data in the first data object by sending a subscription request to the network device, or, the first client defaults to subscribe to the network device about the configuration data in the first data object A change notification, or, the network device pushes a data change notification message to the first client by default.
需要说明的是,版本信息可认为是记录第一数据对象中配置数据发生变更的标记,在第一数据对象包括的配置数据发生变更(即配置更新)的情况下,第一数据对象的版本信息可能发生变化,这种情况下,网络设备向第一客户端发送数据变更通知报文,数据变更通知报文携带网络设备记录的第一数据对象的版本信息。可选地,数据变更通知报文还包括第一数据对象中配置数据的具体变更信息。It should be noted that the version information can be considered as a mark that records changes in the configuration data in the first data object. When the configuration data included in the first data object changes (that is, the configuration is updated), the version information of the first data Changes may occur. In this case, the network device sends a data change notification message to the first client, and the data change notification message carries version information of the first data object recorded by the network device. Optionally, the data change notification message further includes specific change information of the configuration data in the first data object.
在本申请实施例中,上述第一客户端获取网络设备记录的第一数据对象的版本信息的两种实现方式可以单独使用,也可以结合使用,本申请实施例对此不作限定。例如,在结合使用的情况下,第一客户端既可以随时通过向网络设备发送版本查询请求报文来获取版本信息,第一客户端也可以通过接收网络设备发送的配置变更推送报文来获取版本信息。In the embodiment of the present application, the above two implementation manners for the first client to obtain the version information of the first data object recorded by the network device may be used alone or in combination, which is not limited in the embodiment of the present application. For example, in the case of combined use, the first client can obtain the version information by sending a version query request message to the network device at any time, and the first client can also obtain the version information by receiving the configuration change push message sent by the network device. Version Information.
步骤302:网络设备接收该配置请求报文。Step 302: The network device receives the configuration request message.
在本申请实施例中,第一客户端向网络设备发送配置请求报文之后,网络设备接收该配置请求报文。In the embodiment of the present application, after the first client sends the configuration request message to the network device, the network device receives the configuration request message.
步骤303:在网络设备检测第一版本信息与第一参考版本信息一致的情况下,网络设备对第一数据对象执行该操作,第一参考版本信息为网络设备记录的第一数据对象的版本信息。Step 303: When the network device detects that the first version information is consistent with the first reference version information, the network device performs this operation on the first data object, and the first reference version information is the version information of the first data object recorded by the network device .
在本申请实施例中,网络设备在接收到该配置请求报文之后检测第一版本信息与第一参考版本信息是否一致,也即检测第一客户端记录的版本信息是否与网络设备记录的版本信息一致。在网络设备检测第一版本信息与第一参考版本信息一致的情况下,网络设备对第一数 据对象执行该操作。其中,第一参考版本信息为网络设备记录的第一数据对象的版本信息。In this embodiment of the application, after receiving the configuration request message, the network device detects whether the first version information is consistent with the first reference version information, that is, detects whether the version information recorded by the first client is consistent with the version information recorded by the network device. The message is consistent. When the network device detects that the first version information is consistent with the first reference version information, the network device performs the operation on the first data object. Wherein, the first reference version information is the version information of the first data object recorded by the network device.
由前述可知,若该操作包括复制操作,则配置请求报文携带的操作指示信息还包括第五版本信息,第五版本信息为第一客户端记录的第五数据对象的版本信息,第五数据对象包括网络设备的配置数据,第五数据对象与第一数据对象为不同的数据对象。那么,网络设备还需要检测第五版本信息与第五参考版本信息是否一致。在网络设备检测第一版本信息与第一参考版本信息一致且第五版本信息与第五参考版本信息一致的情况下,网络设备对第一数据对象执行该操作。其中,第五参考版本信息为网络设备记录的第五数据对象的版本信息。It can be seen from the foregoing that if the operation includes a copy operation, the operation indication information carried in the configuration request message also includes fifth version information, which is the version information of the fifth data object recorded by the first client, and the fifth data object The object includes configuration data of the network device, and the fifth data object is a different data object from the first data object. Then, the network device also needs to detect whether the fifth version information is consistent with the fifth reference version information. When the network device detects that the first version information is consistent with the first reference version information and that the fifth version information is consistent with the fifth reference version information, the network device performs the operation on the first data object. Wherein, the fifth reference version information is the version information of the fifth data object recorded by the network device.
由前述可知,配置请求报文携带的操作指示信息包括第一数据对象的标识,例如编辑、删除、复制等操作的操作指示信息均包括第一数据对象(也称为目标数据对象)的标识,或者,配置请求报文携带的操作指示信息指示第一数据对象的标识,例如提交操作的操作指示信息指示第一数据对象(即running数据集)的标识。可选地,网络设备在接收到配置请求报文之后,基于第一数据对象的标识从乐观锁信息库中查询第一数据对象的版本信息,查询到的版本信息即为网络设备记录的第一数据对象的版本信息。可选地,若该操作包括复制操作,那么操作指示信息还包括第五数据对象的标识,网络设备基于第五数据对象的标识从乐观锁信息库中查询第五数据对象的版本信息,查询到的版本信息即为网络设备记录的第五数据对象的版本信息。其中,乐观锁信息库用于存储网络设备记录的数据对象的版本信息,乐观锁信息库由网络设备存储,或者由其他的设备存储,本申请实施例对此不作限定。可选地,乐观锁信息库为基于YANG模型构建的信息库。It can be seen from the foregoing that the operation instruction information carried in the configuration request message includes the identifier of the first data object, for example, the operation instruction information for operations such as editing, deleting, and copying all includes the identifier of the first data object (also called the target data object), Alternatively, the operation indication information carried in the configuration request message indicates the identity of the first data object, for example, the operation indication information of the submit operation indicates the identity of the first data object (that is, the running data set). Optionally, after receiving the configuration request message, the network device queries the version information of the first data object from the optimistic lock information base based on the identifier of the first data object, and the queried version information is the first Version information for the data object. Optionally, if the operation includes a copy operation, the operation instruction information also includes the identifier of the fifth data object, and the network device queries the version information of the fifth data object from the optimistic lock information base based on the identifier of the fifth data object, and finds The version information of is the version information of the fifth data object recorded by the network device. Wherein, the optimistic lock information library is used to store the version information of the data objects recorded by the network device, and the optimistic lock information library is stored by the network device or by other devices, which is not limited in this embodiment of the present application. Optionally, the optimistic lock information base is an information base based on the YANG model.
在本申请实施例中,网络设备对第一数据对象执行该操作的实现方式参照NETCONF的相关介绍,这里不再赘述。网络设备完成对第一数据对象执行该操作之后,网络设备记录第一参考版本信息。需要说明的是,网络设备需要根据情况判断是否更新网络设备所记录的第一数据对象的版本信息,也即是否更新第一参考版本信息。In the embodiment of the present application, for the implementation manner of the network device performing the operation on the first data object, refer to the relevant introduction of NETCONF, which will not be repeated here. After the network device finishes performing the operation on the first data object, the network device records the first reference version information. It should be noted that the network device needs to judge whether to update the version information of the first data object recorded by the network device according to the situation, that is, whether to update the first reference version information.
需要说明的是,由前述可知,在申请实施例中,网络设备设置访问控制功能所支持的数据粒度包括数据集粒度、YANG模块粒度和数据节点粒度中的一个或多个,且对数据对象设置访问控制保护时还可以设置反选机制参数,也即是,本申请实施例中的数据对象之间可具有父子关系,具有父子关系的数据对象之间还可能存在子数据对象从父数据对象中被反选出去或未被反选出去的情况,基于此,本申请实施例中网络设备在对第一数据对象执行该操作后,基于支持设置访问控制功能的数据粒度、数据对象之间的父子关系以及反选机制参数来判断是否更新版本信息,以及如何更新版本信息。It should be noted that, as can be seen from the foregoing, in the embodiment of the application, the data granularity supported by the network device setting access control function includes one or more of the data set granularity, YANG module granularity, and data node granularity, and the data object setting During access control protection, anti-selection mechanism parameters can also be set, that is, there may be a parent-child relationship between the data objects in the embodiment of the present application, and there may also be child data objects that are removed from the parent data object between data objects with a parent-child relationship. In the case of being deselected or not deselected, based on this, in the embodiment of the present application, after performing the operation on the first data object, the network device supports setting the data granularity of the access control function, the parent-child relationship between data objects, and the deselection Mechanism parameters to determine whether to update the version information, and how to update the version information.
在一种情况下,在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,那么网络设备更新并记录第一参考版本信息。也即是,网络设备维护有第一数据对象本身的版本信息,那么在网络设备对第一数据对象执行配置更新的操作后,需要更新并记录第一参考版本信息。In one case, when the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, the network device updates and records the first reference version information. That is, the network device maintains the version information of the first data object itself, so after the network device performs a configuration update operation on the first data object, it needs to update and record the first reference version information.
可选地,若操作指示信息还包括第二数据对象的标识,第一数据对象为第二数据对象的子数据对象,第二参考版本信息为网络设备记录的第二数据对象的版本信息,那么网络设备记录第一参考版本信息的实现方式为:在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且第二参考版本信息对应的第二数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,网络设备更新并记录第一参考版本信息和第二参考版本信息。需要说明的是,在这种情况下,网络设备设置的访问控 制功能可以不支持反选机制。这样,若第一数据对象发生了数据变更,则网络设备需要更新第一数据对象的版本信息,若由于第一数据对象的数据变更,导致第一数据对象的父数据对象(即第二数据对象)发生了数据变更,则网络设备也需要更新第二数据对象的版本信息。Optionally, if the operation indication information further includes the identifier of the second data object, the first data object is a child data object of the second data object, and the second reference version information is the version information of the second data object recorded by the network device, then The implementation method for the network device to record the first reference version information is: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the second reference version information corresponds to the second When the data granularity of the data object meets the data granularity of the access control function set by the network device, the network device updates and records the first reference version information and the second reference version information. It should be noted that, in this case, the access control function set by the network device may not support the anti-selection mechanism. In this way, if a data change occurs in the first data object, the network device needs to update the version information of the first data object. If the data change of the first data object causes the parent data object of the first data ) data changes, the network device also needs to update the version information of the second data object.
可选地,若操作指示信息还包括第三数据对象的标识,第一数据对象为第三数据对象的子数据对象,第三参考版本信息为网络设备记录的第三数据对象的版本信息,网络设备设置的访问控制功能支持反选机制,那么网络设备记录第一参考版本信息的实现方式为:在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数不包括第一数据对象的标识的情况下,网络设备更新并记录第一参考版本信息和第三参考版本信息。在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数包括第一数据对象的标识的情况下,网络设备更新并记录第一参考版本信息。Optionally, if the operation instruction information also includes the identifier of the third data object, the first data object is a child data object of the third data object, the third reference version information is the version information of the third data object recorded by the network device, and the network If the access control function set by the device supports the anti-selection mechanism, then the implementation method for the network device to record the first reference version information is: the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device , when the data granularity of the third data object corresponding to the third reference version information meets the data granularity of the access control function set by the network device, and the deselection mechanism parameter of the access control function set by the network device does not include the identifier of the first data object , the network device updates and records the first reference version information and the third reference version information. The data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information meets the access control function set by the network device. In the case of data granularity, and the anti-selection mechanism parameter of the access control function set by the network device includes the identifier of the first data object, the network device updates and records the first reference version information.
也即是,在网络设备设置的访问控制功能支持反选机制的情况下,若第三数据对象为第一数据对象的父数据对象,且第一数据对象和第三数据对象的数据粒度均满足网络设备设置访问控制功能的数据粒度,即网络设备设置访问控制功能的数据粒度包括至少两种数据粒度,那么网络设备不仅更新第一数据对象的版本信息,还要根据反选机制参数是否包括第一数据对象的标识来判断在对第一数据对象执行完操作后是否更新第三数据对象的版本信息。其中,在反选机制参数不包括第一数据对象的标识的情况下,网络设备在对第一数据对象执行完操作后更新第三数据对象的版本信息,在反选机制参数包括第一数据对象的标识的情况下,网络设备在对第一数据对象执行完操作后保持第三数据对象的版本信息不变。That is to say, if the access control function set by the network device supports the anti-selection mechanism, if the third data object is the parent data object of the first data object, and the data granularity of the first data object and the third data object satisfy the requirements of the network The data granularity of the access control function set by the device, that is, the data granularity of the access control function set by the network device includes at least two data granularities, then the network device not only updates the version information of the first data object, but also according to whether the parameters of the reverse selection mechanism include the first data The identification of the object is used to determine whether to update the version information of the third data object after the operation is performed on the first data object. Wherein, in the case that the anti-selection mechanism parameter does not include the identification of the first data object, the network device updates the version information of the third data object after performing operations on the first data object, and the anti-selection mechanism parameter includes the identification of the first data object In the case of , the network device keeps the version information of the third data object unchanged after performing the operation on the first data object.
可选地,在这种情况下,该操作指示信息还包括第三数据对象的标识,第三数据对象为第一数据对象的父数据对象,第三数据对象和第一数据对象的数据粒度均满足网络设备设置访问控制功能的数据粒度。即,第三数据对象包含了第一数据对象,第一数据对象的数据粒度小于第三数据对象的数据粒度。那么网络设备记录了第三数据对象的版本信息,以及第一数据对象的版本信息。也即是,第三数据对象为第一数据对象的上级数据对象或父数据对象,且第三数据对象和第一数据对象均有版本信息,那么网络设备除了更新第一数据对象的版本信息之外,还要根据反选机制参数是否包括第一数据对象的标识来判断在对第一数据对象完成操作后是否更新第三数据对象的版本信息。其中,在反选机制参数不包括第一数据对象的标识的情况下,当网络设备对第一数据对象的操作导致第一数据对象变更,进而导致第一数据对象的父数据对象(即第三数据对象)变更,在这种情况下,由于第一数据对象未被设置从第三数据对象中反选出去,因此网络设备需要更新第三数据对象的版本信息。在反选机制参数包括第一数据对象的标识的情况下,当网络设备对第一数据对象的操作导致第一数据对象变更,但由于第一数据对象被设置从第三数据对象中反选出去,表示网络设备不需要记录由于第一数据对象导致的第三数据对象的变更,即使第一数据对象变更了,如果第三数据对象中除第一数据对象之外数据对象没有变更,在这种情况下,网络设备保持第三数据对象的版本信息不变。也即是,在本申请实施例中,若第三数据对象为第一数据对象的父数据对象,第三数据对象对应的反选机制参数包括第一数据对象的标识,那么,即使对第一数据对象进 行配置更新,网络设备也不会更新第三数据对象的版本信息。简单来说,也就是将第一数据对象从第三数据对象中反选出去,对第一数据对象的配置更新不影响第三数据对象的版本信息。Optionally, in this case, the operation instruction information further includes the identifier of the third data object, the third data object is the parent data object of the first data object, and the data granularity of the third data object and the first data object are both Satisfy the data granularity of the network device setting access control function. That is, the third data object includes the first data object, and the data granularity of the first data object is smaller than the data granularity of the third data object. Then the network device records the version information of the third data object and the version information of the first data object. That is, if the third data object is the superior data object or the parent data object of the first data object, and both the third data object and the first data object have version information, then the network device besides updating the version information of the first data object In addition, whether to update the version information of the third data object after the operation on the first data object is judged according to whether the anti-selection mechanism parameter includes the identifier of the first data object. Among them, in the case that the parameters of the anti-selection mechanism do not include the identification of the first data object, when the operation of the network device on the first data object causes the first data object object) change, in this case, since the first data object is not set to be deselected from the third data object, the network device needs to update the version information of the third data object. In the case where the deselection mechanism parameter includes the identification of the first data object, when the operation of the network device on the first data object causes the first data object to be changed, but since the first data object is set to be deselected from the third data object, it means The network device does not need to record the change of the third data object due to the first data object, even if the first data object is changed, if the data objects in the third data object are not changed except the first data object, in this case , the network device keeps the version information of the third data object unchanged. That is to say, in this embodiment of the application, if the third data object is the parent data object of the first data object, and the deselection mechanism parameter corresponding to the third data object includes the identifier of the first data object, then, even for the first data object The object performs a configuration update, and the network device will not update the version information of the third data object. To put it simply, the first data object is deselected from the third data object, and the configuration update of the first data object does not affect the version information of the third data object.
示例性地,当网络设备接收到的第一客户端发送的NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对名称为ietf-interface-desc的YANG模块中的“name”节点进行操作,ietf-interface-desc的YANG模块是第三数据对象,第三数据对象的类型或数据粒度为YANG模块,“name”节点是第一数据对象,第一数据对象的类型或数据粒度为数据节点。假设网络设备设置访问控制功能所支持的数据粒度包括YANG模块和数据节点,网络设备记录了ietf-interface-desc的YANG模块的版本信息,以及“name”节点的版本信息。那么网络设备在对“name”节点执行操作之后更新“name”节点的版本信息。另外,若反选机制参数包括“name”节点的标识,则网络设备保持ietf-interface-desc的YANG模块的版本信息不变。若反选机制参数不包括“name”节点的标识,则网络设备更新ietf-interface-desc的YANG模块的版本信息。Exemplarily, when the NETCONF configuration request message sent by the first client received by the network device includes operation indication information, the operation indication information indicates that the first client requests the network device to configure the configuration in the YANG module named ietf-interface-desc The "name" node of ietf-interface-desc is the third data object, the type or data granularity of the third data object is the YANG module, the "name" node is the first data object, and the first data object's The type or granularity of data is a data node. Assuming that the data granularity supported by the access control function of the network device includes YANG modules and data nodes, the network device records the version information of the YANG module of ietf-interface-desc and the version information of the "name" node. Then the network device updates the version information of the "name" node after performing an operation on the "name" node. In addition, if the anti-election mechanism parameter includes the identifier of the "name" node, the network device keeps the version information of the YANG module of ietf-interface-desc unchanged. If the anti-selection mechanism parameter does not include the identifier of the "name" node, the network device updates the version information of the YANG module of ietf-interface-desc.
需要说明的是,在这种情况下,也即在第三数据对象与第一数据对象之间具有父子关系,且第一数据对象和第三数据对象的数据粒度均满足网络设备设置访问控制功能的数据粒度的情况下,若本申请实施例中该网络设备不支持设置反选机制参数,则该网络设备对第一数据对象执行操作以进行配置更新后,分别更新第一数据对象和第三数据对象的版本信息。It should be noted that in this case, that is, there is a parent-child relationship between the third data object and the first data object, and the data granularity of the first data object and the third data object both satisfy the access control function set by the network device In the case of data granularity, if the network device in this embodiment of the application does not support the setting of anti-selection mechanism parameters, the network device performs an operation on the first data object to update the configuration, and then updates the first data object and the third data respectively. Version information for the object.
示例性地,假设第一数据对象为一个数据节点,第三数据对象为一个数据集,该数据集包含该数据节点,该数据节点的数据粒度和该数据集的数据粒度均满足该网络设备设置访问控制功能的数据粒度,且该网络设备分别记录有该数据节点和该数据集的版本信息。那么,如果该数据集对应的反选机制参数包括该数据节点的标识,那么该网络设备对该数据节点执行操作以进行配置更新后,该网络设备更新该数据节点的版本信息,保持该数据集的版本信息不变。如果该数据集对应的反选机制参数不包括该数据节点的标识,或者,该网络设备不支持设置反选机制参数,那么该网络设备对该数据节点执行操作以进行配置更新后,该网络设备分别更新该数据节点和该数据集的版本信息。For example, assume that the first data object is a data node, the third data object is a data set, the data set contains the data node, and the data granularity of the data node and the data granularity of the data set satisfy the network device settings The data granularity of the access control function, and the network device records the version information of the data node and the data set respectively. Then, if the anti-selection mechanism parameter corresponding to the data set includes the identifier of the data node, then after the network device performs an operation on the data node to update the configuration, the network device updates the version information of the data node and keeps the The version information is unchanged. If the anti-selection mechanism parameter corresponding to the data set does not include the identification of the data node, or the network device does not support setting the anti-selection mechanism parameter, then after the network device performs an operation on the data node to update the configuration, the network device updates Version information of the data node and the dataset.
在另一种情况下,第一数据对象的数据粒度不满足网络设备设置访问控制功能的数据粒度,第三数据对象为第一数据对象的父数据对象,第三数据对象的数据粒度满足网络设备设置访问控制功能的数据粒度,即第一数据对象的父数据对象具有版本信息。那么,网络设备需要根据第一数据对象的标识是否被设置为反选机制参数来判断在对第一数据对象执行完操作后是否更新第三数据对象的版本信息。其中,在反选机制参数包括第一数据对象的标识的情况下,该网络设备保持第三数据对象的版本信息不变。在反选机制参数不包括第一数据对象的标识的情况下,该网络设备更新第三数据对象的版本信息。In another case, the data granularity of the first data object does not meet the data granularity of the access control function set by the network device, the third data object is the parent data object of the first data object, and the data granularity of the third data object meets the requirements of the network device. The data granularity of the access control function is set, that is, the parent data object of the first data object has version information. Then, the network device needs to judge whether to update the version information of the third data object after performing the operation on the first data object according to whether the identifier of the first data object is set as a parameter of the deselection mechanism. Wherein, when the anti-selection mechanism parameter includes the identifier of the first data object, the network device keeps the version information of the third data object unchanged. In the case that the anti-selection mechanism parameter does not include the identifier of the first data object, the network device updates the version information of the third data object.
示例性地,网络设备支持对一种数据粒度的数据对象设置访问控制功能,假设网络设备不支持设置数据节点的访问控制功能,但支持设置数据集的访问控制功能,第一数据对象为一个数据节点,第三数据对象为一个数据集,第三数据对象为第一数据对象的父数据对象,那么网络设备记录有第三数据对象的版本信息,第一数据对象本身不具有版本信息。也即是,假设第一数据对象为一个数据节点,第三数据对象为一个数据集,该数据集为该数据节点的父数据对象,该数据节点的数据粒度不满足该网络设备设置访问控制功能的数据粒度,该数据集的数据粒度满足该网络设备设置访问控制功能的数据粒度,且该网络设备记录有该数据 集的版本信息,而该数据节点本身没有版本信息。如果该数据集对应的反选机制参数包括该数据节点的标识,那么该网络设备对该数据节点执行操作以进行配置更新后,该网络设备保持该数据集的版本信息不变。如果该数据集对应的反选机制参数不包括该数据节点的标识,那么该网络设备对该数据节点执行操作以进行配置更新后,该网络设备更新该数据集的版本信息。Exemplarily, the network device supports setting the access control function for a data object of a data granularity, assuming that the network device does not support the setting of the access control function of the data node, but supports the setting of the access control function of the data set, and the first data object is a data node, the third data object is a data set, and the third data object is the parent data object of the first data object, then the network device records the version information of the third data object, and the first data object itself does not have version information. That is, assuming that the first data object is a data node, the third data object is a data set, the data set is the parent data object of the data node, and the data granularity of the data node does not satisfy the access control function set by the network device The data granularity of the data set satisfies the data granularity of the access control function set by the network device, and the network device records the version information of the data set, while the data node itself has no version information. If the deselection mechanism parameter corresponding to the data set includes the identifier of the data node, after the network device performs an operation on the data node to update the configuration, the network device keeps the version information of the data set unchanged. If the anti-selection mechanism parameter corresponding to the data set does not include the identifier of the data node, then after the network device performs an operation on the data node to update the configuration, the network device updates the version information of the data set.
例如,当网络设备接收到的第一客户端发送的NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对名称为ietf-interface-desc的YANG模块中的“name”节点进行操作。假设网络设备设置访问控制功能所支持的数据粒度包括YANG模块,网络设备记录了ietf-interface-desc的YANG模块的版本信息。那么网络设备在对“name”节点执行操作之后,若反选机制参数包括“name”节点的标识,则网络设备保持ietf-interface-desc的YANG模块的版本信息不变。若反选机制参数不包括“name”节点的标识,则网络设备更新ietf-interface-desc的YANG模块的版本信息。For example, when the NETCONF configuration request message sent by the first client received by the network device includes operation instruction information, the operation instruction information instructs the first client to request the network device to pair the " name" node to operate. Assume that the data granularity supported by the access control function of the network device includes the YANG module, and the network device records the version information of the YANG module of ietf-interface-desc. Then, after the network device performs an operation on the "name" node, if the anti-selection mechanism parameter includes the identifier of the "name" node, the network device keeps the version information of the YANG module of ietf-interface-desc unchanged. If the anti-selection mechanism parameter does not include the identifier of the "name" node, the network device updates the version information of the YANG module of ietf-interface-desc.
可选地,若网络设备通过乐观锁信息库存储数据对象的版本信息,那么,网络设备通过更新乐观锁信息库来更新第一数据对象的版本信息,或者,更新第一数据对象和第三数据对象的版本信息。可选地,反选机制参数存储在乐观锁信息库中,网络设备从乐观锁信息库中查询反选机制参数,以及判断反选机制参数是否包括第一数据对象的标识。Optionally, if the network device stores the version information of the data object through the optimistic lock information base, then the network device updates the version information of the first data object by updating the optimistic lock information base, or updates the first data object and the third data object Version information for the object. Optionally, the anti-selection mechanism parameters are stored in the optimistic lock information database, and the network device queries the anti-selection mechanism parameters from the optimistic lock information database, and determines whether the anti-selection mechanism parameters include the identifier of the first data object.
示例性地,若版本信息为版本号,版本号为数字的格式,则该网络设备更新第一参考版本信息的一种实现方式为:将第一参考版本信息加1后得到更新后的第一参考版本信息。若版本信息为版本号,版本号为version主版本号.子版本号.次版本号的命名格式,则该网络设备更新第一参考版本信息的一种实现方式为:将第一参考版本信息的主版本号或子版本号或次版本号加1后得到更新后的第一参考版本信息。若版本信息为时间戳,则该网络设备更新第一参考版本信息的一种实现方式为:网络设备将完成对第一数据对象执行操作的***时间更新为第一参考版本信息,或者,网络设备将开始对第一数据对象执行操作的***时间更新为第一参考版本信息,或者,网络设备将接收到配置请求报文的***时间更新为第一参考版本信息。也即是,第一参考版本信息是网络设备记录的网络设备完成对第一数据对象执行操作的***时间,或,第一参考版本信息是网络设备记录的网络设备开始对第一数据对象执行操作的***时间,或,第一参考版本信息是网络设备记录的网络设备接收到配置请求报文的时间。若版本信息为其他的形式,网络设备更新第一参考版本信息的方式适应性改变即可。Exemplarily, if the version information is a version number, and the version number is in a digital format, then an implementation manner for the network device to update the first reference version information is: adding 1 to the first reference version information to obtain the updated first See version information. If the version information is a version number, and the version number is the naming format of version major version number.subversion number.minor version number, then an implementation method for the network device to update the first reference version information is: the first reference version information The updated first reference version information is obtained by adding 1 to the major version number or the subversion number or the minor version number. If the version information is a timestamp, an implementation manner for the network device to update the first reference version information is: the network device updates the system time when the operation on the first data object is completed to the first reference version information, or the network device The system time at which the operation on the first data object is started is updated to the first reference version information, or the network device updates the system time at which the configuration request message is received to the first reference version information. That is, the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object, or the first reference version information is the system time recorded by the network device when the network device starts to perform the operation on the first data object or, the first reference version information is the time recorded by the network device when the network device receives the configuration request packet. If the version information is in another form, the manner in which the network device updates the first reference version information can be adaptively changed.
可选地,若第一客户端请求网络设备执行的操作为提交操作,网络设备在将candidate数据集中的配置数据提交到running数据集中之后,由于修改的是running数据集中的配置数据,那么网络设备需要更新running数据集的版本信息。假设网络设备以累加的形式更新版本信息,该网络设备在执行提交操作后,在一种实现方式中,网络设备将running数据集的版本信息加1后得到更新后的版本信息,在另一种实现方式中,网络设备将running数据集的版本信息重置为版本信息初始值。Optionally, if the operation requested by the first client to be performed by the network device is a submission operation, after the network device submits the configuration data in the candidate data set to the running data set, since the configuration data in the running data set is modified, the network device The version information of the running dataset needs to be updated. Assuming that the network device updates the version information in the form of accumulation, after the network device executes the submit operation, in one implementation, the network device adds 1 to the version information of the running data set to obtain the updated version information, and in another In an implementation manner, the network device resets the version information of the running data set to an initial value of the version information.
在本申请实施例中,网络设备对第一数据对象执行该操作之后,还能够向第一客户端发送配置成功响应报文,以告知第一客户端成功执行该操作。相应地,第一客户端向网络设备发送配置请求报文之后,第一客户端还接收网络设备发送的配置成功响应报文。In this embodiment of the present application, after the network device performs the operation on the first data object, it can also send a configuration success response message to the first client to inform the first client that the operation is successfully performed. Correspondingly, after the first client sends the configuration request message to the network device, the first client also receives a configuration success response message sent by the network device.
可选地,第一客户端在接收到网络设备发送的配置成功响应报文之后,第一客户端记录第一版本信息,也即更新并记录第一客户端记录的第一数据对象的版本信息。需要说明的是, 第一客户端可以立即自动更新第一版本信息,也可以后续通过向网络设备查询网络设备所记录的第一数据对象的版本信息来更新第一版本信息。也即是,本申请实施例不限定第一客户端更新第一版本信息的实现方式。Optionally, after the first client receives the configuration success response message sent by the network device, the first client records the first version information, that is, updates and records the version information of the first data object recorded by the first client . It should be noted that the first client may automatically update the first version information immediately, or may subsequently update the first version information by querying the network device for the version information of the first data object recorded by the network device. That is, this embodiment of the present application does not limit the implementation manner of updating the first version information by the first client.
例如,在一种实现方式中,第一客户端向网络设备发送配置请求报文一段时间之后,第一客户端向网络设备发送一个查询报文,以查询第一数据对象最新的版本信息。网络设备接收第一客户端发送的查询报文,该查询报文包括第一数据对象的标识。网络设备向第一客户端发送一个查询响应报文,该查询响应报文包括网络设备记录的第一数据对象的版本信息,也即网络设备将第一数据对象更新后的版本信息告知给第一客户端。这样,第一客户端获取到第一数据对象更新后的版本信息后,若发现第一数据对象的版本信息发生了变化,则第一客户端确定网络设备对第一数据对象成功执行了操作。简单来说,在本申请实施例中,第一客户端可以通过查询来获取版本信息,进而对网络设备是否对第一数据对象成功执行操作或完成操作进行验证。For example, in one implementation manner, after the first client sends a configuration request message to the network device for a period of time, the first client sends a query message to the network device to query the latest version information of the first data object. The network device receives the query message sent by the first client, where the query message includes the identifier of the first data object. The network device sends a query response message to the first client, and the query response message includes the version information of the first data object recorded by the network device, that is, the network device informs the first client of the updated version information of the first data object. client. In this way, after the first client obtains the updated version information of the first data object, if it finds that the version information of the first data object has changed, the first client determines that the network device has successfully performed an operation on the first data object. To put it simply, in the embodiment of the present application, the first client can obtain version information through query, and then verify whether the network device successfully executes or completes the operation on the first data object.
在另一种实现方式中,网络设备向第一客户端发送的配置成功响应报文包括更新后的第一参考版本信息,那么,第一客户端将第一版本信息更新并记录为更新后的第一参考版本信息。In another implementation, the configuration success response message sent by the network device to the first client includes the updated first reference version information, then the first client updates and records the first version information as the updated First reference version information.
示例性地,网络设备向第一客户端发送的一个配置成功响应报文携带如下信息。其中,<ok/>指示网络设备成功对第一数据对象执行该操作,也即网络设备成功进行了配置更新。可选地,<ok/>也可以替换为<ok ol:revision=”4”/>,以指示更新后的第一参考版本信息为4。Exemplarily, a configuration success response message sent by the network device to the first client carries the following information. Wherein, <ok/> indicates that the network device successfully performs the operation on the first data object, that is, the network device successfully performs configuration update. Optionally, <ok/> may also be replaced with <ok ol:revision="4"/> to indicate that the updated first reference version information is 4.
Figure PCTCN2022107555-appb-000034
Figure PCTCN2022107555-appb-000034
在本申请实施例中,在网络设备检测到第一版本信息与第一参考版本信息不一致的情况下,网络设备向第一客户端发送配置失败响应报文。若该操作为复制操作,且网络设备检测到第一版本信息与第一参考版本信息不一致,或者,网络设备检测第五版本信息与第五参考版本信息不一致,则网络设备向第一客户端发送配置失败响应报文。也即是,在第一客户端所维护的版本信息与网络设备所维护的版本信息不一致的情况下,网络设备不对第一数据对象执行操作,且向第一客户端反馈配置失败响应报文。In this embodiment of the present application, when the network device detects that the first version information is inconsistent with the first reference version information, the network device sends a configuration failure response message to the first client. If the operation is a copy operation, and the network device detects that the first version information is inconsistent with the first reference version information, or the network device detects that the fifth version information is inconsistent with the fifth reference version information, the network device sends a Configuration failure response message. That is, if the version information maintained by the first client is inconsistent with the version information maintained by the network device, the network device does not perform an operation on the first data object, and feeds back a configuration failure response message to the first client.
可选地,网络设备向第一客户端发送的配置失败响应报文包括第一参考版本信息,也即网络设备可以将网络设备所记录的第一数据对象的版本信息告知给第一客户端。Optionally, the configuration failure response message sent by the network device to the first client includes the first reference version information, that is, the network device may notify the first client of the version information of the first data object recorded by the network device.
示例性地,网络设备向第一客户端发送的一个配置失败响应报文携带如下信息。其中,<rpc-error>参数中的内容指示配置失败,<error-info>参数携带配置失败的原因,且<message>参数携带网络设备所记录的第一参考版本信息为2。Exemplarily, a configuration failure response message sent by the network device to the first client carries the following information. Among them, the content in the <rpc-error> parameter indicates that the configuration failed, the <error-info> parameter carries the reason for the configuration failure, and the <message> parameter carries the first reference version information recorded by the network device as 2.
Figure PCTCN2022107555-appb-000035
Figure PCTCN2022107555-appb-000035
Figure PCTCN2022107555-appb-000036
Figure PCTCN2022107555-appb-000036
以上介绍了在第一客户端对网络设备进行配置更新的过程中,网络设备通过检测版本信息的一致性来判断是否进行配置更新。接下来请参照图4对图3实施例介绍的配置更新方法再次进行示例性说明。The above describes that in the process of updating the configuration of the network device by the first client, the network device judges whether to update the configuration by checking the consistency of the version information. Next, please refer to FIG. 4 to illustrate again the configuration updating method introduced in the embodiment in FIG. 3 .
在图4中,假设网络设备检测版本信息的一致性,版本信息为通过累加进行更新的版本号,客户端A和客户端B均可以对该网络设备进行配置更新。In FIG. 4 , it is assumed that the network device detects the consistency of the version information, and the version information is the version number updated through accumulation, and both client A and client B can update the configuration of the network device.
在t1时刻,客户端A向网络设备发送了一个配置请求报文,该配置请求报文指示对第一数据对象执行编辑操作,且携带客户端A记录的第一版本信息为1,即V=1。该网络设备接收到该配置请求报文之后,查询自身记录的第一参考版本信息为1,即V=1,通过对比确定第一版本信息和第一参考版本信息一致,则该网络设备接受客户端A的请求,成功执行编辑操作以进行配置更新,且该网络设备在成功更新配置后将记录的第一参考版本信息更新为2,即V=2。在t2时刻,该网络设备向客户端A发送一个配置成功响应报文,该配置成功响应报文指示成功配置,且携带更新后的第一参考版本信息,即V=2。客户端A更新自身所记录的第一版本信息为2。At time t1, client A sends a configuration request message to the network device, the configuration request message indicates to perform an edit operation on the first data object, and carries the first version information recorded by client A as 1, that is, V= 1. After receiving the configuration request message, the network device queries that the first reference version information recorded by itself is 1, that is, V=1, and confirms that the first version information is consistent with the first reference version information through comparison, then the network device accepts the client According to the request of terminal A, the editing operation is successfully performed to update the configuration, and the network device updates the recorded first reference version information to 2 after successfully updating the configuration, that is, V=2. At time t2, the network device sends a configuration success response message to client A, where the configuration success response message indicates successful configuration and carries updated first reference version information, that is, V=2. Client A updates the first version information recorded by itself to 2.
在t3时刻,客户端B向该网络设备发送了一个配置请求报文,该配置请求报文指示对该数据对象执行编辑操作,且携带客户端B记录的第一版本信息为2,即V=2。该网络设备接收到该配置请求报文之后,查询自身记录的第一参考版本信息为2,即V=2,通过对比确定第一版本信息与第一参考版本信息一致,则该网络设备接受客户端B的请求,成功执行编辑操作以进行配置更新,且该网络设备在成功配置更新后将记录的第一参考版本信息更新为3,即V=3。在t4时刻,该网络设备向客户端B发送一个配置成功响应报文,该配置成功响应报文指示成功配置,且携带更新后的第一参考版本信息,即V=3。At time t3, client B sends a configuration request message to the network device, the configuration request message indicates to perform an editing operation on the data object, and carries the first version information recorded by client B as 2, that is, V= 2. After receiving the configuration request message, the network device queries that the first reference version information recorded by itself is 2, that is, V=2, and confirms that the first version information is consistent with the first reference version information through comparison, then the network device accepts the client According to the request of terminal B, the edit operation is successfully executed to perform configuration update, and the network device updates the recorded first reference version information to 3 after successful configuration update, ie V=3. At time t4, the network device sends a configuration success response message to the client B, the configuration success response message indicates successful configuration, and carries the updated first reference version information, that is, V=3.
在t2时刻之后,客户端A在本端编辑配置数据,期望再次对第一数据对象中的配置数据进行更新。在t5时刻,客户端A又向该网络设备发送了一个配置请求报文,该配置请求报文指示对该数据对象执行编辑操作,且携带客户端A记录的第一版本信息为2,即V=2。该网络设备接收到该配置请求报文之后,查询自身记录的第一参考版本信息为3,即V=3,通过对比确定第一版本信息与第一参考版本信息不一致,则该网络设备拒绝客户端A的请求。在t6时刻,网络设备向客户端A发送一个配置失败响应报文,该配置失败响应报文指示配置失败,且携带当前记录的第一参考版本信息,即V=3。After time t2, the client A edits the configuration data locally, expecting to update the configuration data in the first data object again. At time t5, client A sends another configuration request message to the network device. The configuration request message indicates to perform an edit operation on the data object, and carries the first version information recorded by client A as 2, that is, V =2. After the network device receives the configuration request message, it queries that the first reference version information recorded by itself is 3, that is, V=3. If it is determined that the first version information is inconsistent with the first reference version information through comparison, the network device rejects the client. end A's request. At time t6, the network device sends a configuration failure response message to client A, the configuration failure response message indicates configuration failure, and carries the first reference version information of the current record, that is, V=3.
以上介绍了客户端基于NETCONF对网络设备进行配置更新的方法,由网络设备参与检测版本信息的一致性,能够很大程度上避免配置更新的冲突。另外,可以看出,本申请实施例提供了一套完整的访问控制机制来减少配置冲突。本申请实施例提供的访问控制机制包括乐观锁能力通知、锁保护的添加和删除、乐观锁信息(即版本信息)的维护和查询,以及配置更新时乐观锁的应用(即检测版本信息的一致性)。在具体实现中,可以通过扩展NETCONF来实现本方案,例如定义新的RPC操作,如get-revision操作、set-ol-capability操作,修改原有的RPC操作,如在hello报文中增加一个<capability>参数以通知乐观锁支持能力。需要说 明的是,以上介绍的一些具体实现方式并不用于限制本申请,客户端与网络设备之间也可以通过其他一些可能的实现方式来实现本方案。The above describes the method for the client to update the configuration of the network device based on NETCONF. The network device participates in the detection of the consistency of the version information, which can largely avoid the conflict of the configuration update. In addition, it can be seen that the embodiment of the present application provides a complete access control mechanism to reduce configuration conflicts. The access control mechanism provided by the embodiment of the present application includes optimistic lock capability notification, addition and deletion of lock protection, maintenance and query of optimistic lock information (that is, version information), and application of optimistic lock when configuration is updated (that is, to detect the consistency of version information) sex). In the specific implementation, this solution can be implemented by extending NETCONF, such as defining new RPC operations, such as get-revision operation, set-ol-capability operation, modifying the original RPC operation, such as adding a < capability> parameter to notify optimistic lock support capability. It should be noted that some specific implementations described above are not intended to limit this application, and this solution can also be implemented through other possible implementations between the client and the network device.
综上所述,在本申请实施例中,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象的情况下向网络设备发送NETCONF配置请求报文,在网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新。或者,客户端在检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,向网络设备发送NETCONF配置请求报文。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。To sum up, in the embodiment of this application, when a certain client performs a configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. When the device detects that the version information of the data object respectively recorded by the client and the network device is consistent, the network device updates the configuration of the data object. Alternatively, the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
图5是本申请实施例提供的另一种配置更新方法的流程图。在图5实施例中客户端单独检测版本信息的一致性。请参考图5,该方法包括如下步骤。Fig. 5 is a flow chart of another configuration update method provided by the embodiment of the present application. In the embodiment of FIG. 5 , the client side independently detects the consistency of the version information. Please refer to FIG. 5 , the method includes the following steps.
步骤501:在第一客户端检测第一版本信息与第一参考版本信息一致的情况下,第一客户端向网络设备发送NETCONF配置请求报文,其中,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一参考版本信息为该网络设备记录的第一数据对象的版本信息,该配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求该网络设备对第一数据对象所执行的操作。Step 501: When the first client detects that the first version information is consistent with the first reference version information, the first client sends a NETCONF configuration request message to the network device, wherein the first version information is recorded by the first client version information of the first data object, the first reference version information is the version information of the first data object recorded by the network device, the configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network The operation performed by the device on the first data object.
在本申请实施例中,第一客户端在期望对网络设备进行配置更新时,先检测第一版本信息与第一参考版本信息是否一致,其中,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一参考版本信息为该网络设备记录的第一数据对象的版本信息。在第一客户端检测第一版本信息与第一参考版本信息一致的情况下,第一客户端向网络设备发送配置请求报文。其中,该配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求该网络设备对第一数据对象所执行的操作。In this embodiment of the application, when the first client expects to update the configuration of the network device, it first checks whether the first version information is consistent with the first reference version information, wherein the first version information is the first version information recorded by the first client. Version information of a data object, the first reference version information is the version information of the first data object recorded by the network device. When the first client detects that the first version information is consistent with the first reference version information, the first client sends a configuration request message to the network device. Wherein, the configuration request message includes operation instruction information, and the operation instruction information indicates an operation that the first client requests the network device to perform on the first data object.
由前述可知,第一客户端检测版本信息的一致性的话,需要先获取网络设备记录的第一数据对象的版本信息。接下来介绍第一客户端获取网络设备记录的第一数据对象的版本信息的两种实现方式。It can be seen from the foregoing that, if the first client detects the consistency of the version information, it needs to first obtain the version information of the first data object recorded by the network device. Next, two implementation manners for the first client to obtain the version information of the first data object recorded by the network device are introduced.
第一客户端获取网络设备记录的第一数据对象的版本信息的一种实现方式为:第一客户端向网络设备发送查询报文,查询报文包括第一数据对象的标识。第一客户端接收网络设备发送的查询响应报文,查询响应报文包括网络设备记录的第一数据对象的版本信息。也即是,第一客户端通过即时查询的方式获取网络设备记录的第一数据对象的版本信息。An implementation manner for the first client to obtain the version information of the first data object recorded by the network device is as follows: the first client sends a query message to the network device, and the query message includes an identifier of the first data object. The first client receives a query response message sent by the network device, where the query response message includes version information of the first data object recorded by the network device. That is, the first client obtains the version information of the first data object recorded by the network device through instant query.
第一客户端获取网络设备记录的第一数据对象的版本信息的另一种实现方式为:第一客户端接收网络设备发送的数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象的版本信息,该数据变更通知报文为第一客户端订阅关于第一数据对象中配置数据的变更通知的情况下接收的。也即是,第一客户端通过订阅的方式获取网络设备记录的第一数据对象的版本信息。Another way for the first client to obtain the version information of the first data object recorded by the network device is: the first client receives a data change notification message sent by the network device, and the data change notification message includes the version information of the first data object recorded by the network device. Version information of the first data object. The data change notification message is received when the first client subscribes to change notifications about configuration data in the first data object. That is, the first client obtains the version information of the first data object recorded by the network device through subscription.
以上两种实现方式与前述图3实施例的步骤301中相关内容是一致的,步骤501中第一客户端获取网络设备记录的第一数据对象的版本信息的两种实现方式可以参照前述步骤301中的相关介绍,这里不再赘述。The above two implementations are consistent with the related content in step 301 of the aforementioned embodiment in FIG. The relevant introductions in , will not be repeated here.
在第一客户端检测第一版本信息与第一参考版本信息不一致的情况下,第一客户端可以暂停配置更新。即使第一客户端在这种情况下仍向网络设备发送配置请求报文,网络设备也 不会接受第一客户端的请求。When the first client detects that the first version information is inconsistent with the first reference version information, the first client may suspend the configuration update. Even if the first client still sends the configuration request message to the network device in this case, the network device will not accept the request of the first client.
步骤502:网络设备接收该配置请求报文,对第一数据对象执行该操作。Step 502: The network device receives the configuration request message, and performs the operation on the first data object.
在本申请实施例中,若网络设备接收到了第一客户端发送的配置请求报文,表示第一客户端已经检测第一版本信息与第一参考版本信息一致,那么网络设备可以无需检测版本信息一致性,网络设备基于该配置请求报文包括的操作指示信息对第一数据对象执行相应操作。In this embodiment of the application, if the network device receives the configuration request message sent by the first client, indicating that the first client has detected that the first version information is consistent with the first reference version information, then the network device may not need to detect the version information Consistency, the network device performs a corresponding operation on the first data object based on the operation instruction information included in the configuration request message.
需要说明的是,在这种情况下,网络设备成功执行该操作的概率较大。而在个别情况下,网络设备可能配置更新失败,例如,由于处理效率、网络延迟等原因导致第一客户端检测版本信息一致性的时刻与网络设备接收到该配置请求报文的时刻有较长的时间间隔,在这个时间间隔内网络设备可能接受了其他的客户端的请求而对第一数据对象中的配置数据进行了修改,这种情况下,第一客户端获取的第一参考版本信息并不是网络设备记录的最新版本信息。或者,由于网络设备自身故障、第一客户端请求的操作有误等原因,网络设备也可能会配置更新失败。It should be noted that, in this case, the network device has a high probability of successfully performing the operation. In some cases, the network device may fail to update the configuration. For example, due to processing efficiency, network delay, etc., the time when the first client detects the consistency of the version information is longer than the time when the network device receives the configuration request message. In this time interval, the network device may accept requests from other clients and modify the configuration data in the first data object. In this case, the first reference version information obtained by the first client does not Not the latest version information recorded by the network device. Or, due to reasons such as a failure of the network device itself, an incorrect operation requested by the first client, etc., the configuration update of the network device may also fail.
还需要说明的是,图5实施例所介绍的由第一客户端单独检测版本信息一致性的实现方式,与图3实施例的区别仅在于检测版本信息的一致性的执行主体存在不同,图3实施例中所介绍的其他内容在图5实施例中同样适用,在图5中不再重复介绍。It should also be noted that the implementation of the first client to independently detect the consistency of version information introduced in the embodiment of FIG. 5 differs from the embodiment of FIG. Other content introduced in the embodiment 3 is also applicable to the embodiment in FIG. 5 , and will not be repeated in FIG. 5 .
接下来请参照图6对图5实施例介绍的配置更新方法再次进行示例性说明。Next, please refer to FIG. 6 to illustrate again the configuration updating method introduced in the embodiment in FIG. 5 .
在图6中,假设第一客户端检测版本信息的一致性,版本信息为通过累加进行更新的版本号,客户端A和客户端B均可以对该网络设备进行配置更新。In FIG. 6 , it is assumed that the first client detects the consistency of version information, and the version information is a version number updated through accumulation, and both client A and client B can update the configuration of the network device.
客户端A在本端编辑配置数据,以期望对网络设备的第一数据对象中的配置数据进行修改,客户端A记录的第一版本信息为1,即V=1。在t1时刻,客户端A向网络设备请求获取第一参考版本信息(如通过get-revision操作)。在t2时刻,网络设备向客户端A反馈的第一参考版本信息为1,即V=1。客户端A通过对比确定第一版本信息和第一参考版本信息一致,则在t3时刻,客户端A向网络设备发送一个配置请求报文,该配置请求报文指示对第一数据对象执行编辑操作。网络设备接收该配置请求报文之后,对第一数据对象执行配置操作以进行配置更新,且该网络设备在成功更新配置后将记录的第一参考版本信息更新为2,即V=2。在t4时刻,该网络设备向客户端A发送一个配置成功响应报文,该配置成功响应报文指示成功配置。客户端A接收到该配置成功响应报文之后,可以更新自身所记录的第一版本信息为2。The client A edits the configuration data locally, expecting to modify the configuration data in the first data object of the network device, and the first version information recorded by the client A is 1, ie V=1. At time t1, the client A requests the network device to obtain the first reference version information (for example, through a get-revision operation). At time t2, the first reference version information fed back by the network device to client A is 1, that is, V=1. Client A determines that the first version information is consistent with the first reference version information by comparison, then at time t3, client A sends a configuration request message to the network device, and the configuration request message indicates to perform an edit operation on the first data object . After receiving the configuration request message, the network device performs a configuration operation on the first data object to update the configuration, and the network device updates the recorded first reference version information to 2 after successfully updating the configuration, that is, V=2. At time t4, the network device sends a configuration success response message to client A, where the configuration success response message indicates successful configuration. After receiving the configuration success response message, client A may update the first version information recorded by itself to 2.
客户端B在本端编辑配置数据,以期望对网络设备的第一数据对象中的配置数据进行修改,客户端B记录的第一版本信息为2,即V=2。在t5时刻,客户端B向网络设备请求获取第一参考版本信息(如通过get-revision操作)。在t6时刻,网络设备向客户端B反馈的第一参考版本信息为2,即V=2。客户端B通过对比确定第一版本信息和第一参考版本信息一致,则在t7时刻,客户端B向网络设备发送一个配置请求报文,该配置请求报文指示对第一数据对象执行编辑操作。网络设备接收该配置请求报文之后,对第一数据对象执行配置操作以进行配置更新,且该网络设备在成功更新配置后将记录的第一参考版本信息更新为3,即V=3。在t8时刻,该网络设备向客户端B发送一个配置成功响应报文,该配置成功响应报文指示成功配置。The client B edits the configuration data locally, expecting to modify the configuration data in the first data object of the network device, and the first version information recorded by the client B is 2, that is, V=2. At time t5, the client B requests the network device to obtain the first reference version information (for example, through the get-revision operation). At time t6, the first reference version information fed back by the network device to the client B is 2, that is, V=2. Client B confirms that the first version information is consistent with the first reference version information by comparison, then at time t7, client B sends a configuration request message to the network device, and the configuration request message indicates to perform an editing operation on the first data object . After receiving the configuration request message, the network device performs a configuration operation on the first data object to update the configuration, and the network device updates the recorded first reference version information to 3 after successfully updating the configuration, that is, V=3. At time t8, the network device sends a configuration success response message to the client B, where the configuration success response message indicates successful configuration.
客户端A再次在本端编辑配置数据,以期望对网络设备的第一数据对象中的配置数据进行修改,客户端A此时记录的第一版本信息为2,即V=2。在t9时刻,客户端A向网络设备 请求获取第一参考版本信息(如通过get-revision操作)。在t10时刻,网络设备向客户端A反馈的第一参考版本信息为3,即V=3。客户端A通过对比确定第一版本信息和第一参考版本信息不一致,则客户端A暂缓本次的配置请求。The client A edits the configuration data at the local end again, expecting to modify the configuration data in the first data object of the network device, and the first version information recorded by the client A at this time is 2, that is, V=2. At time t9, client A requests the network device to obtain the first reference version information (such as through get-revision operation). At time t10, the first reference version information fed back by the network device to client A is 3, that is, V=3. Client A determines through comparison that the first version information is inconsistent with the first reference version information, then client A suspends the current configuration request.
综上所述,在本申请实施例中,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象的情况下向网络设备发送NETCONF配置请求报文,在网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新。或者,客户端在检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,向网络设备发送NETCONF配置请求报文。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。To sum up, in the embodiment of this application, when a certain client performs a configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. When the device detects that the version information of the data object respectively recorded by the client and the network device is consistent, the network device updates the configuration of the data object. Alternatively, the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
图7是本申请实施例提供的一种配置更新的装置700的结构示意图,该配置更新的装置700可以由软件、硬件或者两者的结合实现成为通信设备的部分或者全部,该通信设备可以为图1至图6实施例中的网络设备。在本申请实施例中,该装置700用于网络设备。参见图7,该装置700包括:第一接收模块701和配置更新模块702。Fig. 7 is a schematic structural diagram of an apparatus 700 for updating configuration provided by an embodiment of the present application. The apparatus 700 for updating configuration can be implemented by software, hardware, or a combination of the two to become part or all of a communication device. The communication device can be The network device in the embodiment shown in Fig. 1 to Fig. 6 . In the embodiment of the present application, the apparatus 700 is used for network equipment. Referring to FIG. 7 , the device 700 includes: a first receiving module 701 and a configuration updating module 702 .
第一接收模块701,用于接收第一客户端发送的网络配置协议NETCONF配置请求报文,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作,该操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括网络设备的配置数据;The first receiving module 701 is configured to receive the network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to perform the first data An operation performed by the object, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
配置更新模块702,用于在网络设备检测第一版本信息与第一参考版本信息一致的情况下,对第一数据对象执行操作,第一参考版本信息为网络设备记录的第一数据对象的版本信息。The configuration update module 702 is configured to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, and the first reference version information is the version of the first data object recorded by the network device information.
可选地,NETCONF配置请求报文为第一客户端检测第一版本信息与第一参考版本信息一致的情况下发送的。Optionally, the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information.
可选地,该装置700还包括:Optionally, the device 700 also includes:
第二接收模块,用于接收第一客户端发送的查询报文,该查询报文包括第一数据对象的标识;The second receiving module is configured to receive a query message sent by the first client, where the query message includes the identifier of the first data object;
第一发送模块,用于向第一客户端发送查询响应报文,该查询响应报文包括网络设备记录的第一数据对象的版本信息。The first sending module is configured to send a query response message to the first client, where the query response message includes the version information of the first data object recorded by the network device.
可选地,该装置700还包括:Optionally, the device 700 also includes:
第二发送模块,用于向第一客户端发送数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象的版本信息,该数据变更通知报文为网络设备在第一客户端订阅关于第一数据对象中数据的变更通知的情况下发送的。The second sending module is configured to send a data change notification message to the first client, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is the network device in the first Sent when the client subscribes to notifications about changes to data in the first data object.
可选地,版本信息包括时间戳,第一参考版本信息是网络设备记录的网络设备完成对第一数据对象执行操作的***时间,或,第一参考版本信息是网络设备记录的网络设备开始对第一数据对象执行操作的***时间。Optionally, the version information includes a time stamp, the first reference version information is the system time recorded by the network device when the network device completes the operation on the first data object, or the first reference version information is the system time recorded by the network device when the network device starts to perform operations on the first data object The system time when the first data object performed the operation.
可选地,该装置700还包括:Optionally, the device 700 also includes:
处理模块,用于完成对第一数据对象执行该操作;A processing module, configured to perform the operation on the first data object;
记录模块,用于记录第一参考版本信息。A recording module, configured to record the first reference version information.
可选地,记录模块包括:Optionally, the recording module includes:
第一记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,更新并记录第一参考版本信息。The first recording submodule is configured to update and record the first reference version information when the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device.
可选地,该操作指示信息还包括第二数据对象的标识,第一数据对象为第二数据对象的子数据对象,第二参考版本信息为网络设备记录的第二数据对象的版本信息;Optionally, the operation indication information further includes an identifier of the second data object, the first data object is a child data object of the second data object, and the second reference version information is version information of the second data object recorded by the network device;
记录模块包括:Recording modules include:
第二记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且第二参考版本信息对应的第二数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度的情况下,更新并记录第一参考版本信息和第二参考版本信息。The second recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the second data object corresponding to the second reference version information If the data granularity of the access control function set by the network device is satisfied, the first reference version information and the second reference version information are updated and recorded.
可选地,该操作指示信息还包括第三数据对象的标识,第一数据对象为第三数据对象的子数据对象,第三参考版本信息为网络设备记录的第三数据对象的版本信息,网络设备设置的访问控制功能支持反选机制;Optionally, the operation indication information further includes the identifier of the third data object, the first data object is a child data object of the third data object, the third reference version information is the version information of the third data object recorded by the network device, and the network The access control function of the device settings supports the anti-selection mechanism;
记录模块包括:Recording modules include:
第三记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数不包括第一数据对象的标识的情况下,更新并记录第一参考版本信息和第三参考版本信息;The third recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy The data granularity of the access control function set by the network device, and when the deselection mechanism parameter of the access control function set by the network device does not include the identification of the first data object, update and record the first reference version information and the third reference version information;
第四记录子模块,用于在第一参考版本信息对应的第一数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,第三参考版本信息对应的第三数据对象的数据粒度满足网络设备设置的访问控制功能的数据粒度,且网络设备设置的访问控制功能的反选机制参数包括第一数据对象的标识的情况下,更新并记录第一参考版本信息。The fourth recording sub-module is used for the data granularity of the first data object corresponding to the first reference version information to meet the data granularity of the access control function set by the network device, and the data granularity of the third data object corresponding to the third reference version information to satisfy If the data granularity of the access control function set by the network device and the deselection mechanism parameter of the access control function set by the network device include the identifier of the first data object, the first reference version information is updated and recorded.
可选地,该装置700还包括:Optionally, the device 700 also includes:
第三接收模块,用于接收第一客户端发送的设置访问控制功能请求报文,该设置访问控制功能请求报文包括第一数据对象的标识;The third receiving module is configured to receive the access control function setting request message sent by the first client, where the access control function setting request message includes the identifier of the first data object;
设置模块,用于如果网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能条件,则基于第一数据对象的标识,为第一数据对象设置版本信息初始值;A setting module, configured to set an initial value of version information for the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the condition for setting the access control function based on the identifier of the first data object;
第三发送模块,用于向第一客户端发送设置成功响应报文,该设置成功响应报文指示第一客户端记录第一数据对象的版本信息。The third sending module is configured to send a setting success response message to the first client, where the setting success response message instructs the first client to record the version information of the first data object.
可选地,该设置成功响应报文包括版本信息初始值;或者,该设置成功响应报文指示第一客户端为第一数据对象设置版本信息初始值。Optionally, the setting success response message includes an initial value of version information; or, the setting success response message instructs the first client to set the initial value of version information for the first data object.
可选地,设置访问控制功能条件包括:网络设备支持设置访问控制功能,且第一数据对象还不存在版本信息。Optionally, the condition for setting the access control function includes: the network device supports setting the access control function, and the first data object does not yet have version information.
可选地,设置访问控制功能条件还包括:第一数据对象的数据粒度满足网络设备支持的设置访问控制功能的数据粒度。Optionally, setting the access control function condition further includes: the data granularity of the first data object meets the data granularity of the setting access control function supported by the network device.
可选地,该设置访问控制功能请求报文还包括反选机制参数,反选机制参数包括一个或多个第四数据对象的标识,第四数据对象为第一数据对象的子数据对象。Optionally, the setting access control function request message further includes a reverse selection mechanism parameter, and the reverse selection mechanism parameter includes one or more identifiers of fourth data objects, where the fourth data objects are sub-data objects of the first data object.
可选地,该装置700还包括:Optionally, the device 700 also includes:
第四接收模块,用于接收第一客户端发送的删除设置访问控制功能请求报文,该删除设 置访问控制功能请求报文包括第一数据对象的标识;The fourth receiving module is used to receive the deletion setting access control function request message sent by the first client, and the deletion setting access control function request message includes the identification of the first data object;
删除模块,用于如果网络设备基于第一数据对象的标识确定第一数据对象满足设置访问控制功能删除条件,则基于第一数据对象的标识,删除第一数据对象的版本信息。A deletion module, configured to delete the version information of the first data object based on the identifier of the first data object if the network device determines that the first data object satisfies the access control function deletion condition based on the identifier of the first data object.
可选地,设置访问控制功能删除条件包括:网络设备支持设置访问控制功能,且网络设备记录有第一数据对象的版本信息。Optionally, setting the access control function deletion condition includes: the network device supports setting the access control function, and the network device records version information of the first data object.
可选地,该装置700还包括:Optionally, the device 700 also includes:
第四发送模块,用于向第一客户端发送能力通知报文,该能力通知报文包括访问控制功能的支持能力参数,该支持能力参数用于指示网络设备是否支持设置访问控制功能。The fourth sending module is configured to send a capability notification message to the first client, where the capability notification message includes a support capability parameter of the access control function, and the support capability parameter is used to indicate whether the network device supports setting the access control function.
可选地,该能力通知报文还包括访问控制功能的支持粒度参数,支持粒度参数用于指示网络设备支持设置访问控制功能的数据粒度,数据粒度包括数据集粒度、YANG模块粒度和数据节点粒度中的一个或多个。Optionally, the capability notification message also includes a support granularity parameter of the access control function, the support granularity parameter is used to indicate that the network device supports setting the data granularity of the access control function, and the data granularity includes data set granularity, YANG module granularity and data node granularity one or more of the .
可选地,该操作包括复制操作,该操作指示信息还包括第五版本信息,第五版本信息为第一客户端记录的第五数据对象的版本信息,第五数据对象包括网络设备的配置数据,复制操作用于用第五数据对象中的配置数据覆盖第一数据对象中的配置数据;Optionally, the operation includes a copy operation, and the operation indication information also includes fifth version information, where the fifth version information is the version information of the fifth data object recorded by the first client, and the fifth data object includes configuration data of the network device , the copy operation is used to overwrite the configuration data in the first data object with the configuration data in the fifth data object;
配置更新模块702包括: Configuration update module 702 includes:
配置更新子模块,用于在网络设备检测第一版本信息与第一参考版本信息一致且第五版本信息与第五参考版本信息一致的情况下,对第一数据对象执行操作,第五参考版本信息为网络设备记录的第五数据对象的版本信息。The configuration update submodule is used to perform an operation on the first data object when the network device detects that the first version information is consistent with the first reference version information and the fifth version information is consistent with the fifth reference version information, and the fifth reference version The information is version information of the fifth data object recorded by the network device.
在本申请实施例中,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象的情况下向网络设备发送NETCONF配置请求报文,在网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新。或者,客户端在检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,向网络设备发送NETCONF配置请求报文。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。In this embodiment of the application, when a client performs configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. When the network device detects that the client If it is consistent with the version information of the data object respectively recorded by the network device, the network device updates the configuration of the data object. Alternatively, the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
需要说明的是:上述实施例提供的配置更新的装置在配置更新时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的配置更新的装置与配置更新的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: the configuration update device provided by the above embodiment only uses the division of the above-mentioned functional modules as an example for the configuration update. In practical applications, the above-mentioned function allocation can be completed by different functional modules according to needs. That is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the configuration updating device and the configuration updating method embodiment provided by the above embodiment belong to the same idea, and the specific implementation process thereof is detailed in the method embodiment, and will not be repeated here.
图8是本申请实施例提供的一种配置更新的装置800的结构示意图,该配置更新的装置700可以由软件、硬件或者两者的结合实现成为通信设备的部分或者全部,该通信设备可以为图1至图6实施例中的第一客户端。在本申请实施例中,该装置800用于第一客户端。参见图8,该装置800包括:第一发送模块801。Fig. 8 is a schematic structural diagram of an apparatus 800 for updating configuration provided by an embodiment of the present application. The apparatus 700 for updating configuration can be realized by software, hardware or a combination of the two to become part or all of a communication device. The communication device can be The first client in the embodiment in Fig. 1 to Fig. 6 . In this embodiment of the application, the apparatus 800 is used for a first client. Referring to FIG. 8 , the device 800 includes: a first sending module 801 .
第一发送模块801,用于向网络设备发送网络配置协议NETCONF配置请求报文,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作,该操作指示信息包括第一版本信息,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一数据对象包括网络设备的配置数据;The first sending module 801 is configured to send a network configuration protocol NETCONF configuration request message to the network device, where the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to execute the first data object operation, the operation indication information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
其中,该配置请求报文用于在网络设备检测第一版本信息与第一参考版本信息一致的情况下指示网络设备对第一数据对象执行该操作,第一参考版本信息为网络设备记录的第一数据对象的版本信息。Wherein, the configuration request message is used to instruct the network device to perform the operation on the first data object when the network device detects that the first version information is consistent with the first reference version information, and the first reference version information is the first version information recorded by the network device. Version information of a data object.
可选地,该装置800还包括:Optionally, the device 800 also includes:
接收模块,用于接收网络设备发送的配置成功响应报文;A receiving module, configured to receive a configuration success response message sent by the network device;
记录模块,用于记录第一版本信息。The recording module is used for recording the first version information.
可选地,该配置成功响应报文包括更新后的第一参考版本信息;Optionally, the configuration success response message includes updated first reference version information;
记录模块包括:Recording modules include:
记录子模块,用于将第一版本信息更新并记录为该更新后的第一参考版本信息。The record submodule is used to update and record the first version information as the updated first reference version information.
在本申请实施例中,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象的情况下向网络设备发送NETCONF配置请求报文,在网络设备检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,网络设备对该数据对象进行配置更新。或者,客户端在检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,向网络设备发送NETCONF配置请求报文。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。In this embodiment of the application, when a client performs configuration update on a network device, the client can send a NETCONF configuration request message to the network device without locking the data object. When the network device detects that the client If it is consistent with the version information of the data object respectively recorded by the network device, the network device updates the configuration of the data object. Alternatively, the client sends a NETCONF configuration request message to the network device when it detects that the version information of the data object recorded by the client and the network device is consistent. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
需要说明的是:上述实施例提供的配置更新的装置在配置更新时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的配置更新的装置与配置更新的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: the configuration update device provided by the above embodiment only uses the division of the above-mentioned functional modules as an example for the configuration update. In practical applications, the above-mentioned function allocation can be completed by different functional modules according to needs. That is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the configuration updating device and the configuration updating method embodiment provided by the above embodiment belong to the same idea, and the specific implementation process thereof is detailed in the method embodiment, and will not be repeated here.
图9是本申请实施例提供的一种配置更新的装置900的结构示意图,该配置更新的装置900可以由软件、硬件或者两者的结合实现成为通信设备的部分或者全部,该通信设备可以为图1至图6实施例中的第一客户端。在本申请实施例中,该装置用于第一客户端。参见图9,该装置900包括:第一发送模块901。Fig. 9 is a schematic structural diagram of an apparatus 900 for updating configuration provided by an embodiment of the present application. The apparatus 900 for updating configuration can be implemented by software, hardware, or a combination of the two to become part or all of a communication device. The communication device can be The first client in the embodiment in Fig. 1 to Fig. 6 . In this embodiment of the application, the device is used for the first client. Referring to FIG. 9 , the device 900 includes: a first sending module 901 .
第一发送模块901,用于在第一客户端检测第一版本信息与第一参考版本信息一致的情况下,向网络设备发送网络配置协议NETCONF配置请求报文;The first sending module 901 is configured to send a network configuration protocol NETCONF configuration request message to the network device when the first client detects that the first version information is consistent with the first reference version information;
其中,第一版本信息为第一客户端记录的第一数据对象的版本信息,第一参考版本信息为网络设备记录的第一数据对象的版本信息,NETCONF配置请求报文包括操作指示信息,该操作指示信息指示第一客户端请求网络设备对第一数据对象所执行的操作。Wherein, the first version information is the version information of the first data object recorded by the first client, the first reference version information is the version information of the first data object recorded by the network device, and the NETCONF configuration request message includes operation instruction information, the The operation instruction information indicates an operation that the first client requests the network device to perform on the first data object.
可选地,该装置900还包括:Optionally, the device 900 also includes:
第二发送模块,用于向网络设备发送查询报文,该查询报文包括第一数据对象的标识;The second sending module is configured to send a query message to the network device, where the query message includes the identifier of the first data object;
第一接收模块,用于接收网络设备发送的查询响应报文,该查询响应报文包括网络设备记录的第一数据对象的版本信息。The first receiving module is configured to receive a query response message sent by the network device, where the query response message includes version information of the first data object recorded by the network device.
可选地,该装置900还包括:Optionally, the device 900 also includes:
第二接收模块,用于接收网络设备发送的数据变更通知报文,该数据变更通知报文包括网络设备记录的第一数据对象的版本信息,该数据变更通知报文为第一客户端订阅关于第一数据对象中数据的变更通知的情况下接收的。The second receiving module is configured to receive a data change notification message sent by the network device, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification message is for the first client to subscribe to the Received in case of a change notification of data in the first data object.
在本申请实施例中,某个客户端在对网络设备进行配置更新时,该客户端可以在不锁定该数据对象,且检测到客户端与网络设备分别记录的该数据对象的版本信息一致的情况下,向网络设备发送NETCONF配置请求报文。这样,该客户端无需对需要配置更新的数据对象进行上锁,提高了并发控制的效率,减少了多个客户端之间的配置冲突,也即对其他客户端的影响较小。In this embodiment of the application, when a certain client updates the configuration of the network device, the client may not lock the data object and detect that the version information of the data object recorded by the client and the network device is consistent In this case, send a NETCONF configuration request message to the network device. In this way, the client does not need to lock the data objects that need to be configured and updated, which improves the efficiency of concurrency control and reduces configuration conflicts among multiple clients, that is, the impact on other clients is small.
需要说明的是:上述实施例提供的配置更新的装置在配置更新时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的配置更新的装置与配置更新的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that: the configuration update device provided by the above embodiment only uses the division of the above-mentioned functional modules as an example for the configuration update. In practical applications, the above-mentioned function allocation can be completed by different functional modules according to needs. That is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the configuration updating device and the configuration updating method embodiment provided by the above embodiment belong to the same idea, and the specific implementation process thereof is detailed in the method embodiment, and will not be repeated here.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))或半导体介质(例如:固态硬盘(solid state disk,SSD))等。值得注意的是,本申请实施例提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。In the above embodiments, all or part may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present application will be generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network or other programmable devices. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, for example, the computer instructions may be transmitted from a website, computer, server or data center Transmission to another website site, computer, server or data center by wired (eg coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (eg infrared, wireless, microwave, etc.). The computer-readable storage medium may be any available medium that can be accessed by a computer, or may be a data storage device such as a server or a data center integrated with one or more available media. The available medium may be a magnetic medium (for example: floppy disk, hard disk, magnetic tape), an optical medium (for example: digital versatile disc (digital versatile disc, DVD)) or a semiconductor medium (for example: solid state disk (solid state disk, SSD)) wait. It should be noted that the computer-readable storage medium mentioned in the embodiment of the present application may be a non-volatile storage medium, in other words, may be a non-transitory storage medium.
应当理解的是,本文提及的“至少一个”是指一个或多个,“多个”是指两个或两个以上。在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。It should be understood that "at least one" mentioned herein means one or more, and "multiple" means two or more. In the description of the embodiments of this application, unless otherwise specified, "/" means or, for example, A/B can mean A or B; "and/or" in this article is only a description of the association of associated objects A relationship means that there may be three kinds of relationships, for example, A and/or B means: A exists alone, A and B exist simultaneously, and B exists alone. In addition, in order to clearly describe the technical solutions of the embodiments of the present application, in the embodiments of the present application, words such as "first" and "second" are used to distinguish the same or similar items with basically the same function and effect. Those skilled in the art can understand that words such as "first" and "second" do not limit the number and execution order, and words such as "first" and "second" do not necessarily limit the difference.
以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The above-mentioned embodiments provided by the application are not intended to limit the application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the application shall be included in the protection scope of the application. Inside.

Claims (37)

  1. 一种配置更新的方法,其特征在于,所述方法包括:A method for configuration update, characterized in that the method comprises:
    网络设备接收第一客户端发送的网络配置协议NETCONF配置请求报文,所述NETCONF配置请求报文包括操作指示信息,所述操作指示信息指示所述第一客户端请求所述网络设备对第一数据对象所执行的操作,所述操作指示信息包括第一版本信息,所述第一版本信息为所述第一客户端记录的所述第一数据对象的版本信息,所述第一数据对象包括所述网络设备的配置数据;The network device receives the network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation instruction information, and the operation instruction information indicates that the first client requests the network device to configure the first The operation performed by the data object, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object includes configuration data of the network device;
    在所述网络设备检测所述第一版本信息与第一参考版本信息一致的情况下,所述网络设备对所述第一数据对象执行所述操作,所述第一参考版本信息为所述网络设备记录的所述第一数据对象的版本信息。When the network device detects that the first version information is consistent with the first reference version information, the network device performs the operation on the first data object, and the first reference version information is the network Version information of the first data object recorded by the device.
  2. 如权利要求1所述的方法,其特征在于,所述NETCONF配置请求报文为所述第一客户端检测所述第一版本信息与所述第一参考版本信息一致的情况下发送的。The method according to claim 1, wherein the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information.
  3. 如权利要求2所述的方法,其特征在于,所述方法还包括:The method of claim 2, further comprising:
    所述网络设备接收所述第一客户端发送的查询报文,所述查询报文包括所述第一数据对象的标识;The network device receives a query message sent by the first client, where the query message includes an identifier of the first data object;
    所述网络设备向所述第一客户端发送查询响应报文,所述查询响应报文包括所述网络设备记录的所述第一数据对象的版本信息。The network device sends a query response message to the first client, where the query response message includes version information of the first data object recorded by the network device.
  4. 如权利要求2或3所述的方法,其特征在于,所述方法还包括:The method according to claim 2 or 3, wherein the method further comprises:
    所述网络设备向所述第一客户端发送数据变更通知报文,所述数据变更通知报文包括所述网络设备记录的所述第一数据对象的版本信息,所述数据变更通知报文为所述网络设备在所述第一客户端订阅关于所述第一数据对象中数据的变更通知的情况下发送的。The network device sends a data change notification message to the first client, the data change notification message includes version information of the first data object recorded by the network device, and the data change notification message is Sent by the network device when the first client subscribes to change notifications about data in the first data object.
  5. 如权利要求1-4任一所述的方法,其特征在于,所述版本信息包括时间戳,所述第一参考版本信息是所述网络设备记录的所述网络设备完成对所述第一数据对象执行所述操作的***时间,或,所述第一参考版本信息是所述网络设备记录的所述网络设备开始对所述第一数据对象执行所述操作的***时间。The method according to any one of claims 1-4, wherein the version information includes a time stamp, and the first reference version information is the network device recorded by the network device to complete the processing of the first data The system time at which the object performs the operation, or the first reference version information is the system time recorded by the network device at which the network device starts to perform the operation on the first data object.
  6. 如权利要求1-5任一所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-5, wherein the method further comprises:
    所述网络设备完成对所述第一数据对象执行所述操作;The network device finishes performing the operation on the first data object;
    所述网络设备记录所述第一参考版本信息。The network device records the first reference version information.
  7. 如权利要求6所述的方法,其特征在于,所述网络设备记录所述第一参考版本信息,包括:The method according to claim 6, wherein the network device records the first reference version information, comprising:
    在所述第一参考版本信息对应的所述第一数据对象的数据粒度满足所述网络设备设置的 访问控制功能的数据粒度的情况下,所述网络设备更新并记录所述第一参考版本信息。When the data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, the network device updates and records the first reference version information .
  8. 如权利要求6所述的方法,其特征在于,所述操作指示信息还包括第二数据对象的标识,所述第一数据对象为所述第二数据对象的子数据对象,第二参考版本信息为所述网络设备记录的所述第二数据对象的版本信息,所述网络设备记录所述第一参考版本信息,包括:The method according to claim 6, wherein the operation indication information further includes the identifier of the second data object, the first data object is a child data object of the second data object, and the second reference version information The version information of the second data object recorded by the network device, where the network device records the first reference version information, includes:
    在所述第一参考版本信息对应的所述第一数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度,且所述第二参考版本信息对应的所述第二数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度的情况下,所述网络设备更新并记录所述第一参考版本信息和所述第二参考版本信息。The data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the data granularity of the second data object corresponding to the second reference version information When the data granularity meets the data granularity of the access control function set by the network device, the network device updates and records the first reference version information and the second reference version information.
  9. 如权利要求6所述的方法,其特征在于,所述操作指示信息还包括第三数据对象的标识,所述第一数据对象为所述第三数据对象的子数据对象,第三参考版本信息为所述网络设备记录的所述第三数据对象的版本信息,所述网络设备设置的访问控制功能支持反选机制,所述网络设备记录所述第一参考版本信息,包括:The method according to claim 6, wherein the operation instruction information further includes an identifier of a third data object, the first data object is a child data object of the third data object, and the third reference version information The version information of the third data object recorded by the network device, the access control function set by the network device supports an anti-selection mechanism, and the network device records the first reference version information, including:
    在所述第一参考版本信息对应的所述第一数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度,所述第三参考版本信息对应的所述第三数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度,且所述网络设备设置的访问控制功能的反选机制参数不包括所述第一数据对象的标识的情况下,所述网络设备更新并记录所述第一参考版本信息和所述第三参考版本信息;或The data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the data of the third data object corresponding to the third reference version information If the granularity meets the data granularity of the access control function set by the network device, and the deselection mechanism parameter of the access control function set by the network device does not include the identifier of the first data object, the network device updates and records said first reference version information and said third reference version information; or
    在所述第一参考版本信息对应的所述第一数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度,所述第三参考版本信息对应的所述第三数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度,且所述网络设备设置的访问控制功能的反选机制参数包括所述第一数据对象的标识的情况下,所述网络设备更新并记录所述第一参考版本信息。The data granularity of the first data object corresponding to the first reference version information meets the data granularity of the access control function set by the network device, and the data of the third data object corresponding to the third reference version information If the granularity satisfies the data granularity of the access control function set by the network device, and the deselection mechanism parameter of the access control function set by the network device includes the identifier of the first data object, the network device updates and records the The first reference version information.
  10. 如权利要求1-9任一所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-9, wherein the method further comprises:
    所述网络设备接收所述第一客户端发送的设置访问控制功能请求报文,所述设置访问控制功能请求报文包括所述第一数据对象的标识;The network device receives an access control function setting request message sent by the first client, where the access control function setting request message includes an identifier of the first data object;
    如果所述网络设备基于所述第一数据对象的标识确定所述第一数据对象满足设置访问控制功能条件,则所述网络设备基于所述第一数据对象的标识,为所述第一数据对象设置版本信息初始值;If the network device determines, based on the identifier of the first data object, that the first data object satisfies the condition for setting an access control function, then the network device, based on the identifier of the first data object, sets an access control function for the first data object Set the initial value of version information;
    所述网络设备向所述第一客户端发送设置成功响应报文,所述设置成功响应报文指示所述第一客户端记录所述第一数据对象的版本信息。The network device sends a setting success response message to the first client, where the setting success response message instructs the first client to record the version information of the first data object.
  11. 如权利要求10所述的方法,其特征在于,所述设置成功响应报文包括所述版本信息初始值;或者,所述设置成功响应报文指示所述第一客户端为所述第一数据对象设置所述版本信息初始值。The method according to claim 10, wherein the setting success response message includes the initial value of the version information; or, the setting success response message indicates that the first client is the first data Object to set the initial value of the version information.
  12. 如权利要求10或11所述的方法,其特征在于,所述设置访问控制功能条件包括:所 述网络设备支持设置访问控制功能,且所述第一数据对象还不存在版本信息。The method according to claim 10 or 11, wherein the condition for setting the access control function comprises: the network device supports setting the access control function, and the first data object does not yet have version information.
  13. 如权利要求12所述的方法,其特征在于,所述设置访问控制功能条件还包括:所述第一数据对象的数据粒度满足所述网络设备支持的设置访问控制功能的数据粒度。The method according to claim 12, wherein the setting access control function condition further comprises: the data granularity of the first data object meets the data granularity of the setting access control function supported by the network device.
  14. 如权利要求10-13任一所述的方法,其特征在于,所述设置访问控制功能请求报文还包括反选机制参数,所述反选机制参数包括一个或多个第四数据对象的标识,所述第四数据对象为所述第一数据对象的子数据对象。The method according to any one of claims 10-13, wherein the setting access control function request message further includes a reverse selection mechanism parameter, and the reverse selection mechanism parameter includes one or more identifiers of fourth data objects, so The fourth data object is a child data object of the first data object.
  15. 如权利要求1-14任一所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-14, wherein the method further comprises:
    所述网络设备接收所述第一客户端发送的删除设置访问控制功能请求报文,所述删除设置访问控制功能请求报文包括所述第一数据对象的标识;The network device receives the delete setting access control function request message sent by the first client, and the delete setting access control function request message includes the identifier of the first data object;
    如果所述网络设备基于所述第一数据对象的标识确定所述第一数据对象满足设置访问控制功能删除条件,则所述网络设备基于所述第一数据对象的标识,删除所述第一数据对象的版本信息。If the network device determines based on the identifier of the first data object that the first data object satisfies the set access control function deletion condition, the network device deletes the first data based on the identifier of the first data object Version information for the object.
  16. 如权利要求1-15任一所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 1-15, wherein the method further comprises:
    所述网络设备向所述第一客户端发送能力通知报文,所述能力通知报文包括访问控制功能的支持能力参数,所述支持能力参数用于指示所述网络设备是否支持设置访问控制功能。The network device sends a capability notification message to the first client, the capability notification message includes a support capability parameter of an access control function, and the support capability parameter is used to indicate whether the network device supports setting an access control function .
  17. 如权利要求16所述的方法,其特征在于,所述能力通知报文还包括访问控制功能的支持粒度参数,所述支持粒度参数用于指示所述网络设备支持设置访问控制功能的数据粒度,所述数据粒度包括数据集粒度、YANG模块粒度和数据节点粒度中的一个或多个。The method according to claim 16, wherein the capability notification message further includes a support granularity parameter of the access control function, and the support granularity parameter is used to indicate that the network device supports setting the data granularity of the access control function, The data granularity includes one or more of data set granularity, YANG module granularity and data node granularity.
  18. 一种配置更新的方法,其特征在于,所述方法包括:A method for configuration update, characterized in that the method comprises:
    第一客户端向网络设备发送网络配置协议NETCONF配置请求报文,所述NETCONF配置请求报文包括操作指示信息,所述操作指示信息指示所述第一客户端请求所述网络设备对所述第一数据对象所执行的操作,所述操作指示信息包括第一版本信息,所述第一版本信息为所述第一客户端记录的所述第一数据对象的版本信息,所述第一数据对象包括所述网络设备的配置数据;The first client sends a network configuration protocol NETCONF configuration request message to the network device, the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to configure the second An operation performed by a data object, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first data object including configuration data of the network device;
    所述配置请求报文用于在所述网络设备检测所述第一版本信息与第一参考版本信息一致的情况下指示所述网络设备对所述第一数据对象执行所述操作,所述第一参考版本信息为所述网络设备记录的所述第一数据对象的版本信息。The configuration request message is used to instruct the network device to perform the operation on the first data object when the network device detects that the first version information is consistent with the first reference version information. The reference version information is the version information of the first data object recorded by the network device.
  19. 如权利要求18所述的方法,其特征在于,所述第一客户端向网络设备发送网络配置协议NETCONF配置请求报文之后,还包括:The method according to claim 18, wherein after the first client sends the network configuration protocol NETCONF configuration request message to the network device, it further includes:
    所述第一客户端接收所述网络设备发送的配置成功响应报文;The first client receives a configuration success response message sent by the network device;
    所述第一客户端记录所述第一版本信息。The first client records the first version information.
  20. 如权利要求19所述的方法,其特征在于,所述配置成功响应报文包括更新后的第一参考版本信息;The method according to claim 19, wherein the configuration success response message includes updated first reference version information;
    所述第一客户端记录所述第一版本信息,包括:The first client records the first version information, including:
    所述第一客户端将所述第一版本信息更新并记录为所述更新后的第一参考版本信息。The first client updates and records the first version information as the updated first reference version information.
  21. 一种配置更新的装置,其特征在于,所述装置用于网络设备,所述装置包括:A device for configuration update, characterized in that the device is used for network equipment, and the device includes:
    第一接收模块,用于接收第一客户端发送的网络配置协议NETCONF配置请求报文,所述NETCONF配置请求报文包括操作指示信息,所述操作指示信息指示所述第一客户端请求所述网络设备对第一数据对象所执行的操作,所述操作指示信息包括第一版本信息,所述第一版本信息为所述第一客户端记录的所述第一数据对象的版本信息,所述第一数据对象包括所述网络设备的配置数据;The first receiving module is configured to receive a network configuration protocol NETCONF configuration request message sent by the first client, the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the An operation performed by the network device on the first data object, where the operation indication information includes first version information, where the first version information is the version information of the first data object recorded by the first client, and the the first data object includes configuration data for the network device;
    配置更新模块,用于在所述网络设备检测所述第一版本信息与第一参考版本信息一致的情况下,对所述第一数据对象执行所述操作,所述第一参考版本信息为所述网络设备记录的所述第一数据对象的版本信息。A configuration update module, configured to perform the operation on the first data object when the network device detects that the first version information is consistent with first reference version information, where the first reference version information is the first reference version information The version information of the first data object recorded by the network device.
  22. 如权利要求21所述的装置,其特征在于,所述NETCONF配置请求报文为所述第一客户端检测所述第一版本信息与所述第一参考版本信息一致的情况下发送的。The device according to claim 21, wherein the NETCONF configuration request message is sent when the first client detects that the first version information is consistent with the first reference version information.
  23. 如权利要求22所述的装置,其特征在于,所述装置还包括:The device of claim 22, further comprising:
    第二接收模块,用于接收所述第一客户端发送的查询报文,所述查询报文包括所述第一数据对象的标识;A second receiving module, configured to receive a query message sent by the first client, where the query message includes the identifier of the first data object;
    第一发送模块,用于向所述第一客户端发送查询响应报文,所述查询响应报文包括所述网络设备记录的所述第一数据对象的版本信息。A first sending module, configured to send a query response message to the first client, where the query response message includes version information of the first data object recorded by the network device.
  24. 如权利要求22或23所述的装置,其特征在于,所述装置还包括:The device according to claim 22 or 23, further comprising:
    第二发送模块,用于向所述第一客户端发送数据变更通知报文,所述数据变更通知报文包括所述网络设备记录的所述第一数据对象的版本信息,所述数据变更通知报文为所述网络设备在所述第一客户端订阅关于所述第一数据对象中数据的变更通知的情况下发送的。The second sending module is configured to send a data change notification message to the first client, the data change notification message includes the version information of the first data object recorded by the network device, and the data change notification The message is sent by the network device when the first client subscribes to the change notification about the data in the first data object.
  25. 如权利要求21-24任一所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 21-24, wherein the device further comprises:
    处理模块,用于完成对所述第一数据对象执行所述操作;a processing module, configured to perform the operation on the first data object;
    记录模块,用于记录所述第一参考版本信息。A recording module, configured to record the first reference version information.
  26. 如权利要求25所述的装置,其特征在于,所述记录模块包括:The device according to claim 25, wherein the recording module comprises:
    第一记录子模块,用于在所述第一参考版本信息对应的所述第一数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度的情况下,更新并记录所述第一参考版本信息。The first recording submodule is configured to update and record the first data object corresponding to the first reference version information when the data granularity of the first data object meets the data granularity of the access control function set by the network device. - Reference version information.
  27. 如权利要求25所述的装置,其特征在于,所述操作指示信息还包括第二数据对象的 标识,所述第一数据对象为所述第二数据对象的子数据对象,第二参考版本信息为所述网络设备记录的所述第二数据对象的版本信息;The device according to claim 25, wherein the operation instruction information further includes the identifier of the second data object, the first data object is a child data object of the second data object, and the second reference version information version information of the second data object recorded for the network device;
    所述记录模块包括:The recording module includes:
    第二记录子模块,用于在所述第一参考版本信息对应的所述第一数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度,且所述第二参考版本信息对应的所述第二数据对象的数据粒度满足所述网络设备设置的访问控制功能的数据粒度的情况下,更新并记录所述第一参考版本信息和所述第二参考版本信息。The second recording submodule is configured to meet the data granularity of the access control function set by the network device at the data granularity of the first data object corresponding to the first reference version information, and the second reference version information corresponds to If the data granularity of the second data object meets the data granularity of the access control function set by the network device, update and record the first reference version information and the second reference version information.
  28. 如权利要求21-27任一所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 21-27, wherein the device further comprises:
    第三接收模块,用于接收所述第一客户端发送的设置访问控制功能请求报文,所述设置访问控制功能请求报文包括所述第一数据对象的标识;A third receiving module, configured to receive an access control function setting request message sent by the first client, where the access control function setting request message includes the identifier of the first data object;
    设置模块,用于如果所述网络设备基于所述第一数据对象的标识确定所述第一数据对象满足设置访问控制功能条件,则基于所述第一数据对象的标识,为所述第一数据对象设置版本信息初始值;a setting module, configured to, based on the identifier of the first data object, set the first data object to The object sets the initial value of the version information;
    第三发送模块,用于向所述第一客户端发送设置成功响应报文,所述设置成功响应报文指示所述第一客户端记录所述第一数据对象的版本信息。A third sending module, configured to send a setting success response message to the first client, where the setting success response message instructs the first client to record the version information of the first data object.
  29. 如权利要求28所述的装置,其特征在于,所述设置成功响应报文包括所述版本信息初始值;或者,所述设置成功响应报文指示所述第一客户端为所述第一数据对象设置所述版本信息初始值。The device according to claim 28, wherein the setting success response message includes the initial value of the version information; or, the setting success response message indicates that the first client is the first data Object to set the initial value of the version information.
  30. 如权利要求28或29所述的装置,其特征在于,所述设置访问控制功能条件包括:所述网络设备支持设置访问控制功能,且所述第一数据对象还不存在版本信息。The device according to claim 28 or 29, wherein the condition for setting the access control function comprises: the network device supports setting the access control function, and the first data object does not have version information.
  31. 如权利要求21-30任一所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 21-30, wherein the device further comprises:
    第四接收模块,用于接收所述第一客户端发送的删除设置访问控制功能请求报文,所述删除设置访问控制功能请求报文包括所述第一数据对象的标识;A fourth receiving module, configured to receive a delete setting access control function request message sent by the first client, where the delete setting access control function request message includes the identifier of the first data object;
    删除模块,用于如果所述网络设备基于所述第一数据对象的标识确定所述第一数据对象满足设置访问控制功能删除条件,则基于所述第一数据对象的标识,删除所述第一数据对象的版本信息。A deletion module, configured to delete the first data object based on the identifier of the first data object if the network device determines that the first data object meets the access control function deletion condition based on the identifier of the first data object. Version information for the data object.
  32. 如权利要求21-31任一所述的装置,其特征在于,所述装置还包括:The device according to any one of claims 21-31, wherein the device further comprises:
    第四发送模块,用于向所述第一客户端发送能力通知报文,所述能力通知报文包括访问控制功能的支持能力参数,所述支持能力参数用于指示所述网络设备是否支持设置访问控制功能。A fourth sending module, configured to send a capability notification message to the first client, where the capability notification message includes a support capability parameter of an access control function, and the support capability parameter is used to indicate whether the network device supports setting Access control functions.
  33. 一种配置更新的装置,其特征在于,所述装置用于第一客户端,所述装置包括:A device for configuration update, characterized in that the device is used for a first client, and the device includes:
    第一发送模块,用于向网络设备发送网络配置协议NETCONF配置请求报文,所述NETCONF配置请求报文包括操作指示信息,所述操作指示信息指示所述第一客户端请求所 述网络设备对所述第一数据对象所执行的操作,所述操作指示信息包括第一版本信息,所述第一版本信息为所述第一客户端记录的所述第一数据对象的版本信息,所述第一数据对象包括所述网络设备的配置数据;The first sending module is configured to send a network configuration protocol NETCONF configuration request message to the network device, the NETCONF configuration request message includes operation indication information, and the operation indication information indicates that the first client requests the network device to The operation performed by the first data object, the operation instruction information includes first version information, the first version information is the version information of the first data object recorded by the first client, and the first a data object comprising configuration data for said network device;
    所述配置请求报文用于在所述网络设备检测所述第一版本信息与第一参考版本信息一致的情况下指示所述网络设备对所述第一数据对象执行所述操作,所述第一参考版本信息为所述网络设备记录的所述第一数据对象的版本信息。The configuration request message is used to instruct the network device to perform the operation on the first data object when the network device detects that the first version information is consistent with the first reference version information. The reference version information is the version information of the first data object recorded by the network device.
  34. 如权利要求33所述的装置,其特征在于,所述装置还包括:The apparatus of claim 33, further comprising:
    接收模块,用于接收所述网络设备发送的配置成功响应报文;A receiving module, configured to receive a configuration success response message sent by the network device;
    记录模块,用于记录所述第一版本信息。A recording module, configured to record the first version information.
  35. 如权利要求34所述的装置,其特征在于,所述配置成功响应报文包括更新后的第一参考版本信息;The device according to claim 34, wherein the configuration success response message includes updated first reference version information;
    所述记录模块包括:The recording module includes:
    记录子模块,用于将所述第一版本信息更新并记录为所述更新后的第一参考版本信息。The recording submodule is configured to update and record the first version information as the updated first reference version information.
  36. 一种配置更新的***,其特征在于,所述***包括多个客户端和网络设备,所述多个客户端用于通过网络配置协议NETCONF配置所述网络设备,第一客户端为所述多个客户端中的一个;A system for configuration update, characterized in that the system includes multiple clients and network devices, the multiple clients are used to configure the network devices through the network configuration protocol NETCONF, and the first client is the multiple one of the clients;
    所述网络设备用于实现权利要求1-17任一所述的方法的步骤;The network device is used to implement the steps of the method described in any one of claims 1-17;
    所述第一客户端用于实现权利要求18-20任一所述的方法的步骤。The first client is used to implement the steps of the method described in any one of claims 18-20.
  37. 一种计算机可读存储介质,其特征在于,所述存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-17任一所述的方法的步骤,或者,实现权利要求18-20任一所述的方法的步骤。A computer-readable storage medium, characterized in that, a computer program is stored in the storage medium, and when the computer program is executed by a processor, the steps of the method described in any one of claims 1-17 are realized, or, the right The method steps of any one of claims 18-20.
PCT/CN2022/107555 2021-07-29 2022-07-25 Configuration updating method and apparatus, and system and computer-readable storage medium WO2023005858A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP22848463.0A EP4325791A1 (en) 2021-07-29 2022-07-25 Configuration updating method and apparatus, and system and computer-readable storage medium
US18/423,638 US20240171463A1 (en) 2021-07-29 2024-01-26 Configuration update method, apparatus, and system, and computer-readable storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202110864449.2A CN115701042A (en) 2021-07-29 2021-07-29 Method, device, system and computer readable storage medium for updating configuration
CN202110864449.2 2021-07-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US18/423,638 Continuation US20240171463A1 (en) 2021-07-29 2024-01-26 Configuration update method, apparatus, and system, and computer-readable storage medium

Publications (1)

Publication Number Publication Date
WO2023005858A1 true WO2023005858A1 (en) 2023-02-02

Family

ID=85086273

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/107555 WO2023005858A1 (en) 2021-07-29 2022-07-25 Configuration updating method and apparatus, and system and computer-readable storage medium

Country Status (4)

Country Link
US (1) US20240171463A1 (en)
EP (1) EP4325791A1 (en)
CN (1) CN115701042A (en)
WO (1) WO2023005858A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144395A1 (en) * 2005-06-17 2009-06-04 Desalvo Christopher J System and method for optimizing content retrieval over a data network
CN102148698A (en) * 2010-12-29 2011-08-10 华为技术有限公司 Network configuration protocol-based network configuration management method, equipment and system
CN102223291A (en) * 2010-04-14 2011-10-19 华为技术有限公司 Method, device and communication system for realizing device access
JP2014211668A (en) * 2013-04-17 2014-11-13 株式会社日立製作所 Version management system and version management method
CN104883266A (en) * 2014-02-28 2015-09-02 杭州华三通信技术有限公司 Network configuration accessing method and device thereof
CN105656643A (en) * 2014-11-10 2016-06-08 中兴通讯股份有限公司 Method and equipment for performing compatible management based on network configuration protocol

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148817B (en) * 2010-12-08 2014-04-16 华为技术有限公司 Network equipment configuration method, client, server and network system
CN109218354A (en) * 2017-06-30 2019-01-15 中兴通讯股份有限公司 Model loading method, device, storage medium and computer equipment
CN108762803B (en) * 2018-04-17 2021-09-10 平安科技(深圳)有限公司 Configuration management method, device, terminal equipment and storage medium
CN111061977A (en) * 2018-09-28 2020-04-24 北京国双科技有限公司 Website updating method, device and system
CN112307486B (en) * 2019-07-29 2024-06-18 华为技术有限公司 Authority acquisition method, equipment and system
CN111416736B (en) * 2020-03-12 2022-11-11 北京星网锐捷网络技术有限公司 Configuration management method and device of network equipment, computing equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090144395A1 (en) * 2005-06-17 2009-06-04 Desalvo Christopher J System and method for optimizing content retrieval over a data network
CN102223291A (en) * 2010-04-14 2011-10-19 华为技术有限公司 Method, device and communication system for realizing device access
CN102148698A (en) * 2010-12-29 2011-08-10 华为技术有限公司 Network configuration protocol-based network configuration management method, equipment and system
JP2014211668A (en) * 2013-04-17 2014-11-13 株式会社日立製作所 Version management system and version management method
CN104883266A (en) * 2014-02-28 2015-09-02 杭州华三通信技术有限公司 Network configuration accessing method and device thereof
CN105656643A (en) * 2014-11-10 2016-06-08 中兴通讯股份有限公司 Method and equipment for performing compatible management based on network configuration protocol

Also Published As

Publication number Publication date
CN115701042A (en) 2023-02-07
EP4325791A1 (en) 2024-02-21
US20240171463A1 (en) 2024-05-23

Similar Documents

Publication Publication Date Title
US11909604B2 (en) Automatic provisioning of monitoring for containerized microservices
US20210406258A1 (en) Reducing index file size based on event attributes
US10044522B1 (en) Tree-oriented configuration management service
US11886870B2 (en) Maintaining and updating software versions via hierarchy
US7640317B2 (en) Configuration commit database approach and session locking approach in a two-stage network device configuration process
RU2357283C2 (en) Scheme for refreshing connection with network printing device for clients of printer device
US10936559B1 (en) Strongly-consistent secondary index for a distributed data set
US10230567B2 (en) Management of a plurality of system control networks
US8438573B2 (en) Dependency on a resource type
WO2010043175A1 (en) Method and device for terminal management based on right control
WO2020062959A1 (en) Data configuration method and apparatus
US10747739B1 (en) Implicit checkpoint for generating a secondary index of a table
WO2023040432A1 (en) Data query method, apparatus, and multi-party secure database
US11100129B1 (en) Providing a consistent view of associations between independently replicated data objects
US7805503B2 (en) Capability requirements for group membership
WO2020253344A1 (en) Authorization control method and apparatus, and storage medium
WO2023005858A1 (en) Configuration updating method and apparatus, and system and computer-readable storage medium
WO2019062156A1 (en) Storage procedure executing method and device, and storage medium
WO2021238583A1 (en) Method and apparatus for operating data object, and computing device and storage medium
US11222003B1 (en) Executing transactions for a hierarchy of data objects stored in a non-transactional data store
US20220317984A1 (en) Distributed extensible dynamic graph
WO2021078294A1 (en) Service coordination method and apparatus for distributed storage system, and electronic device
US20220101962A1 (en) Enabling distributed semantic mashup
WO2023125308A1 (en) Configuration management method and apparatus, device, system, storage medium and program product
KR20170125665A (en) Semantic Information Management Method for a M2M/IoT platform

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22848463

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2022848463

Country of ref document: EP

ENP Entry into the national phase

Ref document number: 2022848463

Country of ref document: EP

Effective date: 20231114

ENP Entry into the national phase

Ref document number: 2023576200

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE