WO2020125452A1 - 配置数据处理方法、软件定义网络设备、系统及存储介质 - Google Patents

配置数据处理方法、软件定义网络设备、系统及存储介质 Download PDF

Info

Publication number
WO2020125452A1
WO2020125452A1 PCT/CN2019/123689 CN2019123689W WO2020125452A1 WO 2020125452 A1 WO2020125452 A1 WO 2020125452A1 CN 2019123689 W CN2019123689 W CN 2019123689W WO 2020125452 A1 WO2020125452 A1 WO 2020125452A1
Authority
WO
WIPO (PCT)
Prior art keywords
logic code
configuration data
data
configuration
file
Prior art date
Application number
PCT/CN2019/123689
Other languages
English (en)
French (fr)
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 华为技术有限公司
Publication of WO2020125452A1 publication Critical patent/WO2020125452A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0866Checking the configuration
    • H04L41/0873Checking configuration conflicts between network elements
    • 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/084Configuration by using pre-existing information, e.g. using templates or copying from other elements
    • H04L41/0846Configuration by using pre-existing information, e.g. using templates or copying from other elements based on copy from other elements
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Definitions

  • the present invention relates to the field of communication technology, and in particular, to a configuration data processing method, a software-defined network device, a system, and a storage medium.
  • Software-defined network (software defined network, SDN) is a new type of network innovation architecture, which belongs to the realization of network virtualization; the core technology of SDN is to separate the control plane and data plane of network equipment, thereby achieving network traffic Flexible control makes the network as a pipeline more intelligent.
  • the controller in SDN implements the control plane function, and the repeater implements the data plane function; therefore, the controller and repeater in SDN will be defined separately and deployed separately.
  • the controller can use network configuration protocol (network configuration, Netconf), representational state transfer style configuration protocol (representational state transfer, configuration, restconf) and other protocols for data interaction with the repeater.
  • Both the controller and the transponder contain configuration files.
  • the configuration file contains configuration data.
  • the configuration data may include data for instructing the control plane to perform control functions or instructing the data plane to forward data.
  • the configuration data between the controller and the repeater has a requirement to maintain consistency; therefore, the repeater and the controller have a requirement to confirm whether the configuration data of the local and the peer is consistent. For example, after the repeater is offline, the controller may have offline configuration; or, using the command line or network management device to configure the repeater will cause inconsistency in the configuration data between the controller and the repeater.
  • embedded devices will also coexist in the network for a long time with the controller and repeater of the SDN network.
  • the configuration data on the embedded device also needs to be synchronized with the configuration data in the controller.
  • the forwarder and the controller In order to confirm whether the configuration files of the local and the peer are consistent, the forwarder and the controller generally adopt the method of downloading the configuration file of the peer, and comparing the full-text to the consistency of the configuration file of the local and the peer. For example, the controller reads the configuration file of the transponder and compares each configuration data in the configuration file of the controller and the configuration file of the transponder to determine whether the two are consistent.
  • the above process requires a large amount of data to be transferred, and because the configuration file in the SDN is very large, the comparison calculation is very large, so the efficiency of the SDN network is low.
  • the technical problem to be solved by the embodiments of the present invention is to provide a configuration data processing method, a software-defined network device, a system, and a storage medium, which are used to reduce the amount of data transfer and comparison calculation, thereby improving the efficiency of the SDN network.
  • an embodiment of the present invention provides a method for processing configuration data, which is applied to a software-defined network SDN, and the SDN includes a first device and a second device, where the first device and the second device are respectively For a controller or a repeater, the first device stores a first configuration file, and the second device stores a second configuration file.
  • the method includes:
  • the first device obtains the second logic code; the second logic code changes with the change of the second configuration data; the second configuration data should be included in the second configuration file and has the same with the first configuration data Configuration data of the same name; the first configuration data is configuration data that should be included in the first configuration file;
  • the first logic code changes as the first configuration data changes
  • the first device and the second device in this embodiment may both be controllers or both repeaters, and one of them may be a controller and the other may be a repeater; the first device may be used to confirm the configuration data consistency or need Use of equipment for reconciliation.
  • Either the first logic code or the second logic code in this embodiment may be absent. At this time, the value of the logic code that does not exist will appear empty; this is because the configuration data is newly created in one of the devices and is not updated in time To another device, or the configuration data in one device is deleted and the other device is not deleted synchronously. If both the first logic code and the second logic code exist, if they are inconsistent, the usual scenario is that one of the first logic data and the second logic data is modified, the other is not synchronized, or both are modified. The modification method is inconsistent.
  • the logic code used in this embodiment includes a first logic code and a second logic code, and the logic code may include: a message digest algorithm (message digest algorithm, MD5) hash code, a hash check code (HASH), Configure timestamp, message serial number, edit distance algorithm (levenshtein distance) value, longest common substring (longest common subsequence), cyclic redundancy check (cyclic redundancy check, CRC) check code, etc.; because the logic code will follow As the configuration data changes, the corresponding logic code will also be modified after the configuration data is modified, so the logic code can be compared to confirm whether the configuration data is the same, without having to transmit and compare the configuration data with a huge amount of data.
  • a message digest algorithm messages digest algorithm, MD5
  • HASH hash check code
  • Configure timestamp a message serial number
  • edit distance algorithm oddshtein distance
  • longest common substring longest common substring
  • CRC cyclic redundancy check
  • the first device stores a first state file and the second device stores a second state file
  • the method further includes:
  • the first device obtains a fourth logic code; the third logic code changes as the second state data changes; the second state data should be included in the second state file and is related to the first state
  • the data has status data of the same name; the first status data is status data that should be included in the first status file;
  • the third logic code changes as the first state data changes
  • This embodiment is applied to the processing of status data, and the process of configuration data can be referred to above.
  • the principle of the two is the same; in the subsequent embodiments, the configuration data-based embodiment can also be used for the status data. Processing, will not repeat them later.
  • This embodiment provides two application scenarios for calculating logic codes. The first one is to calculate when there is a demand. In this application scenario, it is not necessary to store logic codes or logic codes; the latter is when configuration data occurs. After the change, the logic code is calculated in time. In this scenario, the calculated storage logic code can be stored. If the configuration data is created, the logic code will be added. If the configuration data is modified, the newly calculated logic code will replace the modified logic code. The original logic code of the configuration data.
  • YANG (yet another generation, a network configuration modeling language).
  • the description model used by the configuration file is the YANG model.
  • the configuration file or the status file can use other data structures or descriptions.
  • the model does not affect the implementation of the embodiments of the present invention. Therefore, the example of using the YANG database to store configuration files or state files in the embodiments of the present invention should not be understood as a unique limitation to the embodiments of the present invention.
  • the second device after receiving the instruction that needs to return the second logic code of the second configuration data, the second device searches or calculates the second logic code. It should be further noted that, since the second configuration data may not exist in the second device, and the second logic code appears to be empty at this time, the value of the second logic code sent by the second device to the first device is empty; The reason that the second configuration data does not exist in the second device may be that the second device is deleted or the newly created data of the first device has not been updated to the second device.
  • the first device stores a first state file and the second device stores a second state file
  • the method includes:
  • the method before the sending the second logic code to the first device, the method further includes:
  • the second device calculates the second logic code of the second configuration data after receiving an indication that the second logic code of the second configuration data needs to be returned;
  • the second logic code of the second configuration data is calculated
  • the method before the sending the second logic code to the first device, the method further includes:
  • the confirmation unit is configured to confirm that the first configuration data is different from the second configuration data when the first logic code is different from the second logic code.
  • the logic code acquisition unit includes:
  • the receiving unit is configured to receive the second logic code returned by the second device.
  • the software-defined network device further includes:
  • the calculation unit is configured to calculate the first logic code of the first configuration data before the logic code acquisition unit obtains the second logic code.
  • the software-defined network device further includes:
  • An index creating unit configured to create an index table for the first configuration file before the comparing unit compares the first logic code and the second logic code, the index table is in the first configuration file
  • the name of the configuration data is an index, and the logic code of the configuration data corresponding to the name of the configuration data in the first configuration file is recorded;
  • the searching unit is configured to search the index table by the name of the second configuration data to obtain the first logic code.
  • the case where the first logic code is different from the second logic code includes:
  • Only one of the first logic code and the second logic code is empty, or the first logic code and the second logic code are not empty and have different values.
  • a receiving unit used to receive an indication that a second logical code of the second configuration data needs to be returned
  • a sending unit configured to send the second logic code to the first device after the receiving unit receives the indication that the second logic code needs to be returned; the second logic code follows the second configuration
  • the configuration data changes.
  • the first device stores a first state file
  • the second device stores a second state file
  • the software-defined network device includes:
  • the receiving unit is also used to receive an indication that the fourth logic code of the second status data needs to be returned;
  • the receiving unit is specifically configured to receive an acquisition message sent from the first device, and indicate in the acquisition message that the second configuration data needs to be returned.
  • the receiving unit is further configured to receive the second configuration data and the second logic code sent by the first device;
  • the software-defined network device further includes:
  • An index creating unit configured to create an index table for the second configuration file before the sending unit sends the second logic code to the first device, the index table is based on the The name of the configuration data is an index, and the logic code of the configuration data corresponding to the name of the configuration data in the first configuration file is recorded;
  • the searching unit is configured to search the index table by the name of the second configuration data to obtain the first logic code.
  • embodiments of the present invention also provide a software-defined network device, including: a processor, a memory, and a communication interface; wherein the processor, the memory, and the communication interface are communicably connected,
  • Program codes are stored in the memory
  • the processor is used to read the program code and cooperate with the communication interface to implement any method flow performed by the first device provided by the embodiment of the invention; or, the processor is used to read the program code and all The communication interface cooperates to implement any method flow performed by the second device provided by the embodiment of the invention.
  • the embodiments of the present invention also provide a software-defined network, including: the software-defined network SDN includes a first device and a second device, and the software-defined network device is used as the second device, so The first device and the second device are respectively a controller or a repeater, the first device stores a first configuration file, and the second device stores a second configuration file;
  • the first device is any device defined in the embodiment of the present invention as a software-defined network used as the first device;
  • the second device is any device provided by the embodiment of the present invention as a software-defined network used by the second device.
  • the embodiments of the present invention further provide a storage medium in which program codes are stored, and the program codes include program instructions, which when executed by the processor cooperate with the communication interface to implement the present invention
  • the embodiment of the present invention also provides a software program, the software program includes a program code; the program code includes a program instruction, and the program instruction, when executed by a processor, cooperates with a communication interface to implement an embodiment of the present invention. Any one of the method flow.
  • FIG. 1 is a schematic structural diagram of an SDN network system according to an embodiment of the present invention.
  • FIG. 2 is a schematic flowchart of a method according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an index table according to an embodiment of the present invention.
  • FIG. 4 is a schematic diagram of the device structure of the embodiment of the present invention.
  • FIG. 5 is a schematic diagram of the device structure of the embodiment of the present invention.
  • FIG. 6 is a schematic diagram of a device structure according to an embodiment of the present invention.
  • FIG. 7 is a schematic diagram of the system structure of an embodiment of the present invention.
  • FIG. 1 it is an example of a schematic diagram of a system structure according to an embodiment of the present invention.
  • An SDN network includes an SDN controller and a repeater.
  • FIG. 1 illustrates a repeater A, and may include other repeaters.
  • the controller can store configuration files and status files; accordingly, the repeater also stores configuration files and status files; the SDN controller and repeater shown in Figure 1 both use YANG as the data organization form; of which, all
  • the data described by the YANG model is stored in a YANG database (database, DB).
  • DB YANG database
  • N data described using the YANG model are illustrated; the N data described using the YANG model can be either configuration data or status data.
  • the set of configuration data is called a configuration file, and the set of state data is called a state file.
  • the controller needs to read the configuration data of the transponder and synchronize with the configuration data stored by itself, or perform reconciliation and other processing.
  • the controller pulls the configuration data from the repeater and stores it in the local database
  • the reconciliation process in the above example requires passing the outerSet from the repeater to the controller.
  • the outerSet usually has a huge data volume, for example, exceeding 1G; in addition, the localSet data volume is also huge, resulting in huge calculations for subsequent traversal and comparison. It will also take a long time;
  • the NETCONF protocol is the basic module of the automated configuration system.
  • Extensible Markup Language (Extensible Markup Language, xml) is a common language for NETCONF protocol communication and interaction, which provides a flexible and complete coding mechanism for hierarchical data content.
  • NETCONF can be combined with XML-based data conversion technology to upload these configuration data to the device for execution through the NETCONF protocol.
  • YANG is a data structured modeling language defined by the Internet Engineering Task Force (IETF) standards organization.
  • the YANG model is used to describe the data format of the interaction between the NETCONF client and server, including: configuration Data, status data, remote procedure calls (RPCs) and notifications.
  • datastore such as candidate, running, and startup
  • the protocol defines a variety of standard protocol operations
  • the NETCONF protocol provides a set of basic operations, manages configuration data in devices such as repeaters and controllers, and queries device configuration and status data.
  • the NETCONF protocol baseline provides configuration data acquisition and configuration operations; database copy and delete operations; netconf link closure and forced logoff operations; the specific implementation form is:
  • edit-config modify, create, and overwrite configuration data
  • copy-config replace one set of configuration data with another set of configuration data
  • lock lock, block configuration permissions of other configuration users
  • unlock unlock, use with lock
  • kill-session Forcibly terminate a session.
  • the controller When there is a data comparison request, the controller specifies the filter condition or the full amount of query forwarder's YANG DB.
  • the example message is as follows:
  • YANG DB The above is just an example of a certain piece of configuration data. In practical applications, the amount of such configuration data in YANG DB is extremely large. After the controller receives the return result of the configuration data or status data, the controller compares the returned result with the YANG DB stored by itself, and then can know the difference between the data of the controller and the repeater. Based on this result, the controller performs YANG DB merge or align these data after overwriting.
  • the first device uses network configuration protocol or expressive state transfer style configuration protocol to send identification information to the second device, where the identification information is used to instruct the second device to return the second logic code of the second configuration data;
  • the first of the two scenarios provided in this embodiment is calculated when there is a demand.
  • the logic code or the logic code it is not necessary to store the logic code or the logic code; the latter is calculated in time after the configuration data changes Logic code.
  • the calculated storage logic code can be stored. If the configuration data is created, a new logic code will be added. If the configuration data is modified, the newly calculated logic code will replace the modified configuration data. Some logic codes.
  • This embodiment provides an example in which the description model used in the configuration file is the YANG model.
  • the details are as follows: the first configuration file and the second configuration file are both stored using the YANG database, and the first configuration data and the second configuration data are respectively Use a YANG record.
  • the configuration file or the status file can use other data structures or description models, and does not affect the implementation of the embodiment of the present invention. Therefore, the examples in this embodiment should not be construed as unique to the embodiments of the present invention. Sexual limitation.
  • this embodiment creates an index table to manage the logic codes, as follows: before comparing the first logic code with the second logic code, the method further includes:
  • the index table takes the name of the configuration data in the first configuration file as an index, and records the logic code of the configuration data corresponding to the name of the configuration data in the first configuration file;
  • the index table of this embodiment may be as shown in FIG. 3.
  • Any record contained in the index table includes: name + logic code; therefore, the name of the configuration data is used to retrieve the index table, you can find The logic code corresponding to the configuration data.
  • the index table can also be described using the YANG model, which will be exemplified in subsequent embodiments.
  • Only one of the first logic code and the second logic code is empty, or the first logic code and the second logic code are not empty and have different values.
  • the logic code since the logic code changes with the configuration data, the corresponding logic code will also be modified after the configuration data is modified, so the logic code can be compared to confirm whether the configuration data is the same, without having to transmit and compare the data A huge amount of configuration data; therefore, the amount of data transfer and comparison calculation can be reduced, thereby improving the efficiency of the SDN network.
  • the embodiment of the present invention can be used to confirm whether other data is the same, in addition to confirming whether the configuration data is the same, as follows: the first device stores a first state file, and the second device stores a second state file, The above method also includes:
  • the first device obtains a fourth logic code; the third logic code changes with the change of the second state data; the second state data should be included in the second state file and have the same name as the first state data State data; the first state data is the state data that should be included in the first state file;
  • the third logic code changes as the first state data changes
  • the SDN repeater or controller has other data that needs to be confirmed whether they are the same, you can also refer to the confirmation method of whether the configuration data is the same.
  • the confirmation principle is the same, which will not be repeated in the embodiments of the present invention.
  • the data synchronization operation may be further performed.
  • the configuration data in one device can be updated to another device according to needs.
  • device is used as the standard for updating data
  • the embodiment of the present invention is not limited, and the details are as follows: The above method further includes:
  • the embodiments of the present invention can be applied to the networking scenario where the SDN forwarder and controller are separated.
  • the YANG DB or similar data needs to be executed between the controller and the repeater to perform synchronization or reconciliation, the solution A large amount of comparison data leads to the problem of poor performance of the controller and the repeater.
  • the controller uses Netconf/YANG to interact with the transponder.
  • the get/get-config message sent to the transponder under the controller it is identified that the HASH value of YANG DB needs to be read:
  • the embodiment of the present invention also provides a specific example in which the index table described in the foregoing embodiment uses the YANG model.
  • a specific YANG model defined for comparing configuration data and status data of YANG DB is used as an example to improve performance of data comparison performed by the controller and the repeater.
  • YANG definition can be used to define the following functions:
  • the embodiment of the present invention also provides the following example of a query message, which can obtain the logic code of the configuration data and status data of YANG DB. After obtaining the logic code, the logic code can be used to perform comparison to improve the performance of the SDN network.
  • the controller needs to quickly obtain configuration data and do data synchronization and merge, the controller and the repeater give priority to each YANGDB for the respective YANGDB A YANG DB logic code, by comparing the logic code to find different data in the YANG DB; because the cost of comparing a logic code is much less than comparing the mass database content, it can reduce the amount of calculation and shorten the reconciliation processing time.
  • Transponders such as OLT are managed by multiple controllers, and data synchronization is performed between the controllers.
  • the logic code of YANG DB is calculated first. This logic code can compare whether two specified YANG DBs are the same, reducing the amount of data comparison.
  • the embodiment of the present invention can determine whether the configuration data is changed by comparing the logic codes of the YANG DB instead of the full amount
  • the comparison of configuration data can quickly determine whether the configuration data has changed, thereby improving the speed of service delivery.
  • the embodiments of the present invention can also be used in fields that require data synchronization other than repeaters and controllers under the SDN architecture, such as: controller cluster scenarios, data synchronization between multiple controllers; repeater protection in disaster recovery scenarios For data synchronization between multiple transponders, etc., the embodiment of the present invention can use the logic code of YANG DB to confirm whether the data has changed to improve performance.
  • An embodiment of the present invention also provides a software-defined network device, which is applied to a software-defined network SDN.
  • the SDN includes a first device and a second device.
  • the software-defined network device is used as the first device.
  • a device and the second device are a controller or a repeater, the first device stores a first configuration file, and the second device stores a second configuration file.
  • the software-defined network devices include:
  • the logic code obtaining unit 401 is used to obtain a second logic code; the second logic code changes with the change of the second configuration data; the second configuration data should be included in the second configuration file and have the same with the first configuration data Configuration data of the same name; the above first configuration data is the configuration data that should be included in the above first configuration file;
  • the confirmation unit 403 is configured to confirm that the first configuration data is different from the second configuration data when the first logic code is different from the second logic code.
  • the first device and the second device may both be controllers or both repeaters, and one of them may be a controller and the other may be a repeater; the first device may be used to confirm the consistency of configuration data or need to perform Use of account equipment.
  • the logic code since the logic code changes with the configuration data, the corresponding logic code will also be modified after the configuration data is modified, so the logic code can be compared to confirm whether the configuration data is the same, without having to transmit and compare the data A huge amount of configuration data; therefore, the amount of data transfer and comparison calculation can be reduced, thereby improving the efficiency of the SDN network.
  • the embodiment of the present invention can also be used to confirm whether the other data are the same, as follows: the first device stores the first state file, and the second device stores the second state file;
  • the above logic code obtaining unit 401 is also used for obtaining the fourth logic code by the first device; the third logic code changes with the change of the second state data; the second state data should be included in the second state file And the state data having the same name as the first state data; the first state data is the state data that should be included in the first state file;
  • the comparison unit 402 is further used to compare the third logic code with the second logic code; the third logic code changes as the first state data changes;
  • the confirmation unit 403 is further configured to confirm that the first state data is different from the second state data when the third logic code is different from the fourth logic code.
  • the SDN repeater or controller has other data that needs to be confirmed whether they are the same, you can also refer to the confirmation method of whether the configuration data is the same.
  • the confirmation principle is the same, which will not be repeated in the embodiments of the present invention.
  • the acquisition message in this embodiment may be a get/get-config message.
  • the get/get-config message may indicate the name of the second configuration data and the content to be returned in the acquisition instruction, for example, the file name and HASH value. Or use other protocols to indicate what needs to be returned, as follows: the above logic code acquisition unit 401 includes:
  • the sending unit 404 is configured to send an acquisition message to the second device, where the acquisition message indicates that the second logic code needs to return the second configuration data; or, use a network configuration protocol or expressive state transfer style configuration
  • the protocol sends identification information to the second device, where the identification information is used to instruct the second device to return the second logical code of the second configuration data;
  • the receiving unit 405 is configured to receive the second logic code returned by the second device.
  • the above software-defined network equipment also includes:
  • the calculation unit 406 is configured to calculate the first logic code of the first configuration data before the logic code acquisition unit 401 obtains the second logic code.
  • the calculation unit 406 is specifically configured to calculate the first logic code of the first configuration data after determining whether it is necessary to confirm whether the first configuration data and the second configuration data are the same;
  • the first logic code of the first configuration data is calculated.
  • the above software-defined network equipment also includes:
  • the index creation unit 407 is configured to create an index table for the first configuration file before the comparison unit 402 compares the first logic code with the second logic code, the index table is based on the configuration data in the first configuration file
  • the name is an index, and the logic code of the configuration data corresponding to the name of the configuration data in the first configuration file is recorded;
  • the searching unit 408 is configured to search the index table under the name of the second configuration data to obtain the first logic code.
  • the case where the first logic code is different from the second logic code includes:
  • Only one of the first logic code and the second logic code is empty, or the first logic code and the second logic code are not empty and have different values.
  • the above software-defined network equipment also includes:
  • the update control unit 409 is configured to update the first configuration data or the second configuration data so that the first configuration data is the same as the second configuration data.
  • both the first configuration file and the second configuration file are stored using a YANG database, and the first configuration data and the second configuration data each use a YANG record.
  • An embodiment of the present invention also provides a software-defined network device, which is applied to a software-defined network SDN.
  • the SDN includes a first device and a second device.
  • the software-defined network device is used as the second device.
  • a device and the second device are a controller or a repeater, the first device stores a first configuration file, and the second device stores a second configuration file.
  • the software-defined network devices include:
  • the receiving unit 501 is configured to receive an indication that the second logic code of the second configuration data needs to be returned;
  • the sending unit 502 is configured to send the second logic code to the first device after the receiving unit 501 receives the indication that the second logic code needs to be returned; the second logic code changes as the second configuration data changes
  • the second configuration data is the configuration data that should be included in the second configuration file and has the same name as the first configuration data; the first configuration data is the configuration data that should be included in the first configuration file;
  • the two logic codes are used to confirm that the first configuration data is different from the second configuration data when the first logic code is different; the first logic code changes as the first configuration data changes.
  • the first device stores a first state file
  • the second device stores a second state file
  • the software-defined network device includes:
  • the above-mentioned receiving unit 501 is also used to receive the indication that the fourth logic code of the second status data needs to be returned;
  • the sending unit 502 is further configured to send the fourth logic code to the second device after the receiving unit 501 receives the instruction of returning the fourth logic code of the second state data; the fourth logic code follows the above The second state data changes and changes; the second state data is the state data that should be included in the second state file and has the same name as the first state data; the first state data should be included in the first state file The state data in; the fourth logic code is used to confirm that the first state data is different from the second state data when the third logic code is different; the third logic code changes as the first state data changes .
  • the receiving unit 501 is specifically configured to receive an acquisition message sent from the first device, and indicate in the acquisition message that the second logic code needs to return the second configuration data;
  • receiving identification information sent from the first device using the network configuration protocol or the expressive state transfer style configuration protocol where the identification information is used to instruct the second device to return the second logic code of the second configuration data.
  • the receiving unit 501 is further configured to receive the second configuration data and the second logic code sent by the first device;
  • the above software-defined network equipment also includes:
  • the calculating unit 503 is configured to calculate the second logical code before the sending unit 502 sends the second logical code to the first device, and after the receiving unit 501 receives the instruction to return the second logical code of the second configuration data Obtain the second logical code of the second configuration data; or, after the second configuration data is created or modified, calculate the second logical code of the second configuration data.
  • the above software-defined network equipment further includes:
  • the index creating unit 504 is configured to create an index table for the second configuration file before the sending unit 502 sends the second logic code to the first device, and the index table takes the name of the configuration data in the second configuration file As an index, the logic code of the configuration data corresponding to the name of the configuration data in the first configuration file is recorded;
  • the searching unit 505 is configured to search the index table under the name of the second configuration data to obtain the first logic code.
  • An embodiment of the present invention also provides a software-defined network device, as shown in FIG. 6, including: a processor 601, a memory 602, and a communication interface 603; wherein the processor 601, the memory 602, and the communication interface 603 can be used Communication method connection;
  • the memory 602 includes, but is not limited to, random access memory (random access memory, RAM), read-only memory (read-only memory (ROM), erasable programmable read-only memory (erasable programmable read only memory, EPROM), or A portable read-only memory (compact, read-only memory, CD-ROM), the memory 602 is used for related instructions and data.
  • the communication interface 603 is used to receive and send data.
  • the above-mentioned second device 702 is any device provided by the embodiment of the present invention as a software-defined network device used by the second device 702.
  • An embodiment of the present invention also provides a storage medium, where the program code is stored in the storage medium, and the program code includes a program instruction, and when executed by the processor, the program instruction cooperates with a communication interface to implement any one of the embodiments of the present invention. Item method flow.
  • An embodiment of the present invention also provides a software program, where the above-mentioned software program includes program code; the above-mentioned program code includes program instructions, and when executed by the processor, the above-mentioned program instructions cooperate with the communication interface to implement any one of the embodiments of the present invention. Method flow.
  • the above storage medium may be any computer readable storage medium, and when the software program is executed, it may include the processes of the foregoing method embodiments.
  • the foregoing storage media include various media that can store program codes, such as ROM or random storage memory RAM, magnetic disks, or optical disks.

Abstract

本申请公开了一种配置数据处理方法、软件定义网络设备、系统及存储介质,其中方法,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件;该方法包括:所述第一设备获得第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;比较第一逻辑码与所述第二逻辑码;所述第一逻辑码随所述第一配置数据变化而变化;在第一逻辑码与第二逻辑码不同的情况下,确认第一配置数据与第二配置数据不同。可以提高SDN网络的效率。

Description

配置数据处理方法、软件定义网络设备、系统及存储介质 技术领域
本发明涉及通信技术领域,尤其涉及一种配置数据处理方法、软件定义网络设备、系统及存储介质。
背景技术
软件定义网络(software defined network,SDN)是一种新型网络创新架构,属于网络虚拟化的实现方式;SDN的核心技术是将网络设备的控制面和数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能。SDN中的控制器实现控制面功能,转发器实现数据面功能;因此,在SDN中的控制器和转发器会被分别定义且分开部署。
在SDN中,控制器可以采用网络配置协议(network configuration protocol,Netconf),表述性状态传递风格配置协议(representational state transfer configuration,restconf)等协议与转发器进行数据交互。控制器与转发器中都包含有配置文件,该配置文件包含有配置数据,该配置数据可以包含用于指导控制面执行控制功能或指导数据面转发数据的数据。
控制器和转发器之间的配置数据有保持一致性的需求;因此,转发器和控制器有确认本地与对端的配置数据是否一致的需求。例如:在转发器离线后,控制器可能有离线配置;或者,使用命令行或者网管设备对转发器进行配置等场景下,均会导致控制器和转发器之间的配置数据产生不一致。
另外,在一定时期内,嵌入式设备也会在网络中长期与SDN网络的控制器和转发器并存,嵌入式设备上的配置数据也存在需要与控制器中的配置数据同步的需求。
转发器和控制器为了确认本地与对端的配置文件是否一致,目前一般采用的手段是:下载对端的配置文件,全文比对本地与对端的配置文件是否一致。例如:控制器读取转发器的配置文件,通过比对控制器的配置文件与转发器的配置文件中的每一项配置数据,确定两者是否一致。以上流程需要传递的数据量很大,而且由于SDN中的配置文件很大导致比对计算量非常大,因此SDN网络的效率低。
发明内容
本发明实施例所要解决的技术问题在于提供一种配置数据处理方法、软件定义网络设备、系统及存储介质,用于减少数据传递量以及比对计算量,从而提高SDN网络的效率。
一方面本发明实施例提供了一种配置数据的处理方法,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述方法包括:
所述第一设备获得第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;
比较第一逻辑码与所述第二逻辑码;所述第一逻辑码随所述第一配置数据变化而变化;
在所述第一逻辑码与所述第二逻辑码不同的情况下,确认所述第一配置数据与所述第二配置数据不同。
在本申请的所有实施例中“第一”“第二”“第三”以及“第四”均不表示顺序等含义,其仅仅是为了区分不同的设备或者存储在不同设备中的数据,不应作其他技术解读。后续不再赘述。
本实施例中的第一设备和第二设备可以均为控制器也可以均为转发器,还可以其中一个为控制器另一个为转发器;第一设备可以作为要确认配置数据一致性或者需要执行对账的设备使用。
本实施例中的第一逻辑码或第二逻辑码可以有其中一个没有,此时没有的逻辑码的值会表现为空;这是由于在其中一个设备中新创建了配置数据而没有及时更新到另一设备中,或者其中一个设备中的配置数据被删除了而另一个设备没有同步删除。第一逻辑码和第二逻辑码均存在的情况下,如果不一致通常的场景是第一逻辑数据和第二逻辑数据中的一个被修改了另一个没有同步修改,或者两个均被修改了但是修改方式不一致。
在本实施例中使用的逻辑码包含第一逻辑码和第二逻辑码,该逻辑码可以是包括:消息摘要算法(message digest algorithm,MD5)散列码,哈希校验码(HASH),配置时间戳,消息流水号,编辑距离算法(levenshtein distance)值,最长公共子串(longest common subsequence),循环冗余校验(cyclic redundancy check,CRC)校验码等;由于逻辑码会随着配置数据变化而变化,当配置数据被修改后相应的逻辑码也会被修改,因此可以比较逻辑码来确认配置数据是否相同,而不必传输和比较数据量巨大的配置数据。
本发明实施例使用配置数据的逻辑码来确认配置数据是否相同,不必传递配置数据也不用比较配置数据,因此可以减少数据传递量以及比对计算量,从而提高SDN网络的效率。
在一个可能的实现方式中,所述第一设备存储有第一状态文件,所述第二设备存储第二状态文件,所述方法还包括:
所述第一设备获得第四逻辑码;所述第三逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;
比较第三逻辑码与所述第二逻辑码;所述第三逻辑码随所述第一状态数据变化而变化;
在所述第三逻辑码与所述第四逻辑码不同的情况下,确认所述第一状态数据与所述第二状态数据不同。
本实施例应用于状态数据的处理,可以参考前文中关于配置数据的处理过程,两者的原理是相同的;在后续实施例中,基于配置数据的实施例也可以参考地用于状态数据的处理,后续不再赘述。
在一个可能的实现方式中,所述第一设备获得第二逻辑码包括:
所述第一设备向所述第二设备发送获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;
或者,所述第一设备使用网络配置协议(network configuration protocol,Netconf)或表述性状态传递风格配置协议(representational state transfer configuration,Restconf)向所述第二设备发送标识信息,所述标识信息用于指示所述第二设备返回所述 第二配置数据的所述第二逻辑码;
接收所述第二设备返回的所述第二逻辑码。
在本实施例中的获取报文可以是get/get-config报文,该get/get-config报文中可以在获取指令中指示第二配置数据的名称以及要返回的内容,例如:文件名和HASH值。
在一个可能的实现方式中,所述第一设备获得第二逻辑码之前,所述方法还包括:
计算得到所述第一配置数据的所述第一逻辑码。
该第一逻辑码可以是第一设备自己计算得到的,计算的时机可以是在空闲的时候计算,也可以是在有需求时触发临时计算。
在一个可能的实现方式中,所述计算得到所述第一配置数据的所述第一逻辑码包括:
在确定需要确认所述第一配置数据与所述第二配置数据是否相同后,计算得到所述第一配置数据的所述第一逻辑码;
或者,在所述第一配置数据被创建或被修改后,计算得到所述第一配置数据的所述第一逻辑码。
本实施例提供了两种计算逻辑码的应用场景,前一种是在有需求的时候计算,此种应用场景下可以不必存储逻辑码,也可以存储逻辑码;后一种是在配置数据发生变化以后及时计算逻辑码,此种场景下可以存储计算得到的存储逻辑码,如果是配置数据被创建那么会新增逻辑码,如果是配置数据被修改则新计算的逻辑码会替换该被修改的配置数据原有的逻辑码。
在一个可能的实现方式中,所述比较第一逻辑码与所述第二逻辑码之前,所述方法还包括:
为所述第一配置文件创建索引表,所述索引表以所述第一配置文件中的配置数据的名称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
为了统一维护配置数据的逻辑码方便使用,本实施例创建了索引表来管理逻辑码;结合前一实施例,如果有配置数据被创建,那么索引表中需要新增新创建的配置数据的名称,及其对应的逻辑码;如果有配置数据被修改,那么需要使用该被修改的配置数据的名称找到其对应的原逻辑码,然后使用新计算的逻辑码替换上述原逻辑码。
在一个可能的实现方式中,所述第一逻辑码与所述第二逻辑码不同的情况包括:
所述第一逻辑码和所述第二逻辑码中有且仅有一个为空,或者,所述第一逻辑码和所述第二逻辑码均不为空且值不同。
本实施例提供了第一逻辑码和第二逻辑码不同的几种情况,这几种情况会对应到不同的应用场景,前文已有说明,在此不再赘述。
在一个可能的实现方式中,所述方法还包括:
更新所述第一配置数据或所述第二配置数据使所述第一配置数据与所述第二配置数据相同。
在确认第一配置数据与第二配置数据不同以后,可以进一步执行数据同步的操作。本实施例中,可以依据需要将一个设备中的配置数据更新到另一个设备,至于使用哪一个设备作为更新数据的标准,本发明实施例不作限定。
在一个可能的实现方式中,所述第一配置文件和所述第二配置文件均使用YANG数据库存储,所述第一配置数据和所述第二配置数据分别使用一条YANG记录。
YANG(yet another next generation,一种网络配置建模语言),本实施例提供了配置文件所使用的描述模型为YANG模型,在实际应用中配置文件或者状态文件均可以使用其他的数据结构或描述模型,并不影响本发明实施例的实现,因此本发明实施例中关于使用YANG数据库存储配置文件或者状态文件的举例不应理解为对本发明实施例的唯一性限定。
二方面本发明实施例提供了另一种配置数据的处理方法,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述方法包括:
所述第二设备收到需要返回第二配置数据的第二逻辑码的指示后,向所述第一设备发送所述第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;所述第二逻辑码用于在与第一逻辑码不同的情况下确认所述第一配置数据与所述第二配置数据不同;所述第一逻辑码随所述第一配置数据变化而变化。
本实施例执行主体是与前一实施例中第一设备的相对一侧的设备,其中相同或相应的内容可以参考前文介绍,后续不再赘述。
在本实施例中,第二设备收到需要返回第二配置数据的第二逻辑码的指令后,会查找或者计算得到该第二逻辑码。另需说明的是,由于第二配置数据可能不存在于第二设备,此时第二逻辑码表现为空,那么该第二设备向该第一设备发送的第二逻辑码的值为空;第二配置数据不存在于第二设备的原因,有可能是在第二设备被删除了,或者第一设备新创建的数据并没有更新到第二设备。
在一个可能的实现方式中,所述第一设备存储有第一状态文件,所述第二设备存储第二状态文件,所述方法包括:
所述第二设备收到需要返回第二状态数据的第四逻辑码的指示后,向所述第二设备发送所述第四逻辑码;所述第四逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;所述第四逻辑码用于在与第三逻辑码不同的情况下确认所述第一状态数据与所述第二状态数据不同;所述第三逻辑码随所述第一状态数据变化而变化。
在一个可能的实现方式中,所述第二设备收到需要返回第二配置数据的第二逻辑码的指示包括:
所述第二设备收到来自所述第一设备发送的获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;
或者,所述第二设备收到来自所述第一设备使用网络配置协议或表述性状态传递风格配置协议发送的标识信息,所述标识信息用于指示所述第二设备返回所述第二配置数据的所述第二逻辑码。
在一个可能的实现方式中,所述向所述第一设备发送所述第二逻辑码之前,所述方法还包括:
所述第二设备在收到需要返回所述第二配置数据的所述第二逻辑码的指示后,计算得到所述第二配置数据的所述第二逻辑码;
或者,在所述第二配置数据被创建或被修改后,计算得到所述第二配置数据的所述第二逻辑码;
或者,接收所述第一设备发送的所述第二配置数据以及所述第二逻辑码。
在一个可能的实现方式中,所述向所述第一设备发送所述第二逻辑码之前,所述方法还包括:
为所述第二配置文件创建索引表,所述索引表以所述第二配置文件中的配置数据的名称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
三方面本发明实施例还提供了一种软件定义网络的设备,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述软件定义网络的设备作为所述第一设备使用,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述软件定义网络的设备包括:
逻辑码获取单元,用于获得第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;
比较单元,用于比较第一逻辑码与所述第二逻辑码;所述第一逻辑码随所述第一配置数据变化而变化;
确认单元,用于在所述第一逻辑码与所述第二逻辑码不同的情况下,确认所述第一配置数据与所述第二配置数据不同。
在一个可能的实现方式中,所述第一设备存储有第一状态文件,所述第二设备存储第二状态文件;
所述逻辑码获取单元,还用于所述第一设备获得第四逻辑码;所述第三逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;
所述比较单元,还用于比较第三逻辑码与所述第二逻辑码;所述第三逻辑码随所述第一状态数据变化而变化;
所述确认单元,还用于在所述第三逻辑码与所述第四逻辑码不同的情况下,确认所述第一状态数据与所述第二状态数据不同。
在一个可能的实现方式中,所述逻辑码获取单元包括:
发送单元,用于向所述第二设备发送获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;或者,使用网络配置协议或表述性状态传递风格配置协议向所述第二设备发送标识信息,所述标识信息用于指示所述第二设备返回所述第二配置数据的所述第二逻辑码;
接收单元,用于接收所述第二设备返回的所述第二逻辑码。
在一个可能的实现方式中,所述软件定义网络的设备还包括:
计算单元,用于在所述逻辑码获取单元获得第二逻辑码之前,计算得到所述第一配置数据的所述第一逻辑码。
在一个可能的实现方式中,所述计算单元,具体用于在确定需要确认所述第一配置数据与所述第二配置数据是否相同后,计算得到所述第一配置数据的所述第一逻辑码;
或者,在所述第一配置数据被创建或被修改后,计算得到所述第一配置数据的所述第一逻辑码。
在一个可能的实现方式中,所述软件定义网络的设备还包括:
索引创建单元,用于在所述比较单元比较所述第一逻辑码与所述第二逻辑码之前,为所述第一配置文件创建索引表,所述索引表以所述第一配置文件中的配置数据的名称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
检索单元,用于以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
在一个可能的实现方式中,所述第一逻辑码与所述第二逻辑码不同的情况包括:
所述第一逻辑码和所述第二逻辑码中有且仅有一个为空,或者,所述第一逻辑码和所述第二逻辑码均不为空且值不同。
在一个可能的实现方式中,所述软件定义网络的设备还包括:
更新控制单元,用于更新所述第一配置数据或所述第二配置数据使所述第一配置数据与所述第二配置数据相同。
在一个可能的实现方式中,所述第一配置文件和所述第二配置文件均使用YANG数据库存储,所述第一配置数据和所述第二配置数据分别使用一条YANG记录。
四方面本发明实施例还提供了一种软件定义网络的设备,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述软件定义网络的设备作为所述第二设备使用,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述软件定义网络的设备包括:
接收单元,用于接收需要返回第二配置数据的第二逻辑码的指示;
发送单元,用于在所述接收单元收到所述需要返回所述第二逻辑码的指示后,向所述第一设备发送所述第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;所述第二逻辑码用于在与第一逻辑码不同的情况下确认所述第一配置数据与所述第二配置数据不同;所述第一逻辑码随所述第一配置数据变化而变化。
在一个可能的实现方式中,所述第一设备存储有第一状态文件,所述第二设备存储第二状态文件,所述软件定义网络的设备包括:
所述接收单元,还用于接收需要返回第二状态数据的第四逻辑码的指示;
所述发送单元,还用于在所述接收单元收到所述需要返回第二状态数据的第四逻辑码的指示后,向所述第二设备发送所述第四逻辑码;所述第四逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相 同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;所述第四逻辑码用于在与第三逻辑码不同的情况下确认所述第一状态数据与所述第二状态数据不同;所述第三逻辑码随所述第一状态数据变化而变化。
在一个可能的实现方式中,所述接收单元,具体用于接收来自所述第一设备发送的获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;
或者,接收来自所述第一设备使用网络配置协议或表述性状态传递风格配置协议发送的标识信息,所述标识信息用于指示所述第二设备返回所述第二配置数据的所述第二逻辑码。
在一个可能的实现方式中,所述接收单元,还用于接收所述第一设备发送的所述第二配置数据以及所述第二逻辑码;
或者,所述软件定义网络的设备还包括:
计算单元,用于在所述发送单元向所述第一设备发送所述第二逻辑码之前,在所述接收单元收到所述需要返回所述第二配置数据的所述第二逻辑码的指示后,计算得到所述第二配置数据的所述第二逻辑码;或者,在所述第二配置数据被创建或被修改后,计算得到所述第二配置数据的所述第二逻辑码。
在一个可能的实现方式中,所述软件定义网络的设备还包括:
索引创建单元,用于在所述发送单元向所述第一设备发送所述第二逻辑码之前,为所述第二配置文件创建索引表,所述索引表以所述第二配置文件中的配置数据的名称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
检索单元,用于以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
五方面本发明实施例还提供了一种软件定义网络的设备,包括:处理器、存储器以及通信接口;其中所述处理器、所述存储器和所述通信接口以可通信方式连接,
在所述存储器中存储有程序代码;
所述处理器用于读取所述程序代码与所述通信接口配合实现发明实施例提供的任意一项由第一设备执行的方法流程;或者,所述处理器用于读取所述程序代码与所述通信接口配合实现发明实施例提供的任意一项由第二设备执行的方法流程。
六方面本发明实施例还提供了一种软件定义网络,包括:在所述软件定义网络SDN中包含第一设备和第二设备,所述软件定义网络的设备作为所述第二设备使用,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件;
所述第一设备为本发明实施例提供的任意一项作为第一设备使用的软件定义网络的设备;
所述第二设备为本发明实施例提供的任意一项作为第二设备使用的软件定义网络的设备。
七方面本发明实施例还提供了一种存储介质,所述存储介质中存储有程序代码,所述程序代码包括程序指令,所述程序指令当被处理器执行时与通信接口配合实现本发明实施例提供的任意一项的方法流程。
八方面本发明实施例还提供了一种软件程序,所述软件程序包含程序代码;所述程序 代码包括程序指令,所述程序指令当被处理器执行时与通信接口配合实现本发明实施例提供的任意一项的方法流程。
附图说明
为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。
图1为本发明实施例SDN网络系统结构示意图;
图2为本发明实施例方法流程示意图;
图3为本发明实施例索引表示意图;
图4为本发明实施例设备结构示意图;
图5为本发明实施例设备结构示意图;
图6为本发明实施例设备结构示意图;
图7为本发明实施例系统结构示意图。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
如图1所示,为本发明实施例的系统结构示意图的举例,在SDN网络中,包含有SDN控制器和转发器,图1示意了转发器A,以及可以包含其他转发器。控制器中可以存储配置文件和状态文件;相应地,转发器也存储了配置文件和状态文件;在图1所示的SDN控制器和转发器均使用YANG作为数据的组织形式;其中,所有的YANG模型描述的数据存储在YANG数据库(database,DB)中,在图1中示意了N个使用YANG模型描述的数据;该N个使用YANG模型描述的数据可以是配置数据也可以是状态数据,配置数据的集合称为配置文件,状态数据的集合称为状态文件。
基于前文中,控制器和转发器之间有极其常见的数据对比诉求。以配置数据为例,控制器需要读取转发器的配置数据后与自身存储的配置数据同步,或者对账对比等处理。
其中,对账比对过程是:
1、控制器从转发器拉取配置数据存入本地数据库;
2、查询本地配置数据集合localSet,以及转发器的配置数据集合outerSet;
3、以localSet为基准,对outerSet进行遍历,将配置数据不一致,或者localSet存在而outerSet不存在的配置数据,放入新集合localDiffSet;
4、以outerSet为基准,对localSet进行遍历,将配置数据不一致,或者outerSet存在而localSet不存在的配置数据,放入新集合outerDiffSet;
5、将localDiffSet与outerDiffSet的配置数据,存入差异账表。
以上举例的对账处理过程需要在从转发器向控制器传递outerSet,然而outerSet通常数据量巨大,例如超过1G;另外localSet数据量也巨大,导致后续的遍历和比对的计算量巨大,相应地耗时也会很长;
以下在使用NETCONF协议中的get/get-config报文获发送获取指令以及接收返回数据 进行举例之前,首先对NETCONF协议做如下介绍:
NETCONF协议是自动化配置系统的基础模块。可扩展标记语言(extensible markup language,xml)是NETCONF协议通讯交互的通用语言,为层次化的数据内容提供了灵活而完备的编码机制。NETCONF可以与基于XML的数据转换技术结合使用,通过NETCONF协议把这些配置数据上传给设备执行。
YANG是国际互联网工程任务组(the internet engineering task force,IETF)标准组织定义的一种数据结构化建模语言,通过YANG模型来描述NETCONF客户端和服务端之间交互的数据格式,包括:配置数据、状态数据、远程过程调用(remote procedure call,RPCs)和通知(notification)。
NETCONF协议具有如下特性:
配置数据和状态数据分离;
多种配置数据集(datastore),例如candidate、running和startup;
定义了能力集交互过程,设定了几个标准能力集,同时也允许自定义以扩展能力集;
协议定义了多种标准协议操作;
通过子树或XPath过滤查询结果,查询方式更灵活。
另外,NETCONF协议提供一组基本操作,管理设备例如转发器和控制器中的配置数据,以及查询设备的配置数据和状态数据。NETCONF协议基线提供了对配置数据的获取和配置操作;对数据库的拷贝,删除的操作;对netconf链路进行关闭和强制下线操作;具体的执行形式为:
Get:获取系统的状态、统计信息;
get-config:查询配置数据;
edit-config:修改、创建、覆盖配置数据;
copy-config:用一套配置数据整体替换另一套配置数据;
delete-config:删除配置数据;
lock:加锁,屏蔽其他配置用户的配置权限;
unlock:解锁,和lock配合使用;
close-session:正常结束一个会话;
kill-session:强行中止一个会话。
在有数据比对诉求的时候,控制器指定过滤条件或者全量的查询转发器的YANG DB,举例报文如下:
<get xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">//获取指令
<source>
<running/>
</source>//指定要返回的配置数据或状态数据具体内容
<filter type="subtree">
<managed-devices xmlns="urn:huawei:yang:network-manager">//指定配置数据或 状态数据的名称
<device/>
</managed-devices>
</filter>
</get>
返回结果举例:
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">//对应获取指令
<managed-devices xmlns="urn:huawei:yang:network-manager">//告知返回配置数据或状态数据的名称
<device>//以下为返回的配置数据或状态数据的实例
<device-name>HuaweiDPU</device-name>
<device-state>
<configuration-alignment-state>Never
Aligned</configuration-alignment-state>
<connection-state>
<connected>true</connected>
</connection-state>
</device-state>
<device-management>
<device-type>DPU</device-type>
<device-software-version>1.0.0</device-software-version>
<device-vendor>Huawei</device-vendor>
<device-connection>
<connection-model>direct</connection-model>
<password-auth>
<address>100.190.161.33</address>
<management-port>830</management-port>
<user-name>chenliang</user-name>
<password>Chenliang123</password>
</password-auth>
</device-connection>
</device-management>
</device>
</managed-devices>
<new-devices xmlns="urn:bbf:yang:obbaa:network-manager"/>
</data>
以上仅为某一条配置数据的举例,在实际应用中YANG DB中这样的配置数据数量极为 庞大。在控制器接收到配置数据或状态数据的返回结果后,控制器把返回结果和自身所存储的YANG DB对比后,可以得知控制器和转发器的数据差异,基于此结果,控制器再进行YANG DB合并,或者覆盖后对齐这些数据。
在本申请的实施例中,控制器和转发器针对各自的YANG DB,先计算各自YANG DB中配置数据和状态数据的逻辑码。本发明实施例中的配置数据和状态数据,可以认为是可以作为比对独立比对对象的任意配置数据和状态数据。该逻辑码可以以校验码的形式存在,该逻辑码随其对应数据变化而变化,因此可以对比两个指定的YANG数据是否相同来确定两个YANG数据是否相同。比如可以是YANG DB可扩展标记语言(extensible markup language,xml)数据的MD5散列码,哈希校验码(HASH),配置时间戳,消息流水号,LD算法值,最长公共子串,CRC校验码等。对比逻辑码的开销远远小于对比海量数据内容,因此可以提高SDN网络性能。
在对比控制器和转发器的YANG DB中各配置数据和状态数据的逻辑码后,仅需要对逻辑码不一致的数据进行后续的对账或者同步操作,减少了冗余YANG DB的对比操作,以达到提升SDN网络性能的目的。
本发明实施例提供了一种配置数据的处理方法,如图2所示,应用于软件定义网络SDN,在上述SDN中包含第一设备和第二设备,上述第一设备和上述第二设备分别为控制器或转发器,上述第一设备存储有第一配置文件,上述第二设备存储第二配置文件;上述方法包括:
201:上述第一设备获得第二逻辑码;上述第二逻辑码随第二配置数据变化而变化;上述第二配置数据是应当包含在上述第二配置文件中且与第一配置数据具有相同名称的配置数据;上述第一配置数据是应当包含在上述第一配置文件中的配置数据;
上述第一设备和上述第二设备可以均为控制器也可以均为转发器,还可以其中一个为控制器另一个为转发器;上述第一设备可以作为要确认配置数据一致性或者需要执行对账的设备使用。
在本实施例中的获取报文可以是get/get-config报文,该get/get-config报文中可以在获取指令中指示第二配置数据的名称以及要返回的内容,例如:文件名和HASH值。或者使用其他协议来指示需要返回的内容,具体如下:上述第一设备获得第二逻辑码包括:
上述第一设备向上述第二设备发送获取报文,在上述获取报文中指示需要返回上述第二配置数据的上述第二逻辑码;
或者,上述第一设备使用网络配置协议或表述性状态传递风格配置协议向上述第二设备发送标识信息,上述标识信息用于指示上述第二设备返回上述第二配置数据的上述第二逻辑码;
接收上述第二设备返回的上述第二逻辑码。
后续实施例会给出使用get/get-config报文指定需要返回的配置数据的名称以及需要返回的内容的具体实例。
该第一逻辑码可以是第一设备自己计算得到的,计算的时机可以是在空闲的时候计算, 也可以是在有需求时触发临时计算,具体如下:上述第一设备获得第二逻辑码之前,上述方法还包括:
计算得到上述第一配置数据的上述第一逻辑码。
本实施例提供了两种计算逻辑码的应用场景,具体如下:上述计算得到上述第一配置数据的上述第一逻辑码包括:
在确定需要确认上述第一配置数据与上述第二配置数据是否相同后,计算得到上述第一配置数据的上述第一逻辑码;
或者,在上述第一配置数据被创建或被修改后,计算得到上述第一配置数据的上述第一逻辑码。
本实施例提供的两种场景中的前一种是在有需求的时候计算,此种应用场景下可以不必存储逻辑码,也可以存储逻辑码;后一种是在配置数据发生变化以后及时计算逻辑码,此种场景下可以存储计算得到的存储逻辑码,如果是配置数据被创建那么会新增逻辑码,如果是配置数据被修改则新计算的逻辑码会替换该被修改的配置数据原有的逻辑码。
本实施例提供了配置文件所使用的描述模型为YANG模型的举例,具体如下:上述第一配置文件和上述第二配置文件均使用YANG数据库存储,上述第一配置数据和上述第二配置数据分别使用一条YANG记录。
在SDN网络的实际应用中,配置文件或者状态文件均可以使用其他的数据结构或描述模型,并不影响本发明实施例的实现,因此本实施例的举例不应理解为对本发明实施例的唯一性限定。
202:比较第一逻辑码与上述第二逻辑码;上述第一逻辑码随上述第一配置数据变化而变化;
为了统一维护配置数据的逻辑码方便使用,本实施例创建了索引表来管理逻辑码,具体如下:上述比较第一逻辑码与上述第二逻辑码之前,上述方法还包括:
为上述第一配置文件创建索引表,上述索引表以上述第一配置文件中的配置数据的名称为索引,记录有上述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
以上述第二配置数据的名称检索上述索引表,获得上述第一逻辑码。
以图1所示为例,本实施例的索引表可以如图3所示,索引表中包含的任意一条记录包含:名称+逻辑码;因此使用配置数据的名称检索该索引表,则可以找到该配置数据所对应的逻辑码。该索引表也可以使用YANG模型描述,后续实施例会对此进行实例的举例说明。
203:在上述第一逻辑码与上述第二逻辑码不同的情况下,确认上述第一配置数据与上述第二配置数据不同。
本实施例提供了第一逻辑码和第二逻辑码不同的几种情况,具体如下:上述第一逻辑码与上述第二逻辑码不同的情况包括:
上述第一逻辑码和上述第二逻辑码中有且仅有一个为空,或者,上述第一逻辑码和上述第二逻辑码均不为空且值不同。
以上几种逻辑码不同的情况分别可以对应到不同的应用场景,前文已有说明,在此不再赘述。
本发明实施例,由于逻辑码会随着配置数据变化而变化,当配置数据被修改后相应的 逻辑码也会被修改,因此可以比较逻辑码来确认配置数据是否相同,而不必传输和比较数据量巨大的配置数据;因此可以减少数据传递量以及比对计算量,从而提高SDN网络的效率。
本发明实施例除了应用于配置数据是否相同的确认以外,还可以用于其他数据是否相同的确认,具体如下:上述第一设备存储有第一状态文件,上述第二设备存储第二状态文件,上述方法还包括:
上述第一设备获得第四逻辑码;上述第三逻辑码随上述第二状态数据变化而变化;上述第二状态数据是应当包含在上述第二状态文件中且与第一状态数据具有相同名称的状态数据;上述第一状态数据是应当包含在上述第一状态文件中的状态数据;
比较第三逻辑码与上述第二逻辑码;上述第三逻辑码随上述第一状态数据变化而变化;
在上述第三逻辑码与上述第四逻辑码不同的情况下,确认上述第一状态数据与上述第二状态数据不同。
如果SDN的转发器或控制器有其他数据需要确认是否相同,也可以参照配置数据是否相同的确认方式,确认原理是相同的,在本发明实施例中不再予以赘述。
在确认第一配置数据与第二配置数据不同以后,可以进一步执行数据同步的操作。本实施例中,可以依据需要将一个设备中的配置数据更新到另一个设备,至于使用哪一个设备作为更新数据的标准,本发明实施例不作限定,具体如下:上述方法还包括:
更新上述第一配置数据或上述第二配置数据使上述第一配置数据与上述第二配置数据相同。
基于前文说明,本发明实施例可以适用于SDN的转发器与控制器分离的组网场景中,当控制器和转发器之间需要进行YANG DB或类似数据执行同步或对账等功能时,解决大量对比数据导致控制器和转发器性能差的问题。
下面以控制器与转发器做数据交互,从转发器读取指定YANG模型的YANG DB做数据合并为例,描述本发明实施例的两个具体实例的举例:
一、控制器采用Netconf/YANG与转发器做数据交互,在控制器下发给转发器的get/get-config报文中,标识出需要读取YANG DB的HASH值:
<rpcxmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
message-id="1539603628962">//报文信息
<get-config>//以下为配置数据的内容
<source>
<running/>
</source>
<filter type=“HASH">//指定读取的是HASH值,即需要返回的是HASH值
<dba-configxmlns="urn:bbf:yang:bbf-fiber"/>
<gemport-configxmlns="urn:bbf:yang:bbf-fiber"/>
</filter>
</get-config>
</rpc>
二、扩展Netconf协议或者Restconf的其他动作标识关键字,达到获取校验值的目的,比如获取所有的YANG DB MD5校验值:
<rpcxmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
message-id="1539603628962">//报文信息
<get-config verify-data=”MD5”>//指定读取的是MD5值,即需要返回的是MD5值
<source>
<running/>
</source>
</get-config>
</rpc>
返回值示例:
<rpc-reply xmlns="urn:ietf:params:xml:ns:netconf:base:1.0"message-id="1539603628962">//指明返回报文对应的获取报文
<data xmlns="urn:ietf:params:xml:ns:netconf:base:1.0">
<dba-configxmlns="urn:bbf:yang:bbf-fiber">HASH=100<dba-config>//返回的HASH值
<gemport-configxmlns="urn:bbf:yang:bbf-fiber">HASH=200<gemport-config>//返回的HASH值
</data>
</rpc>
如果控制器当前的YANG DB HASH值如下:
<dba-configxmlns="urn:bbf:yang:bbf-fiber">HASH=10<dba-config>//控制器本地的HASH值(与返回的HASH值不同)
<gemport-configxmlns="urn:bbf:yang:bbf-fiber">HASH=200<gemport-config>//控制器本地的HASH值(与返回的HASH值相同)
控制器通过对比,发现<gemport-configxmlns="urn:bbf:yang:bbf-fiber">的HASH校验值相同,YANG DB<dba-configxmlns="urn:bbf:yang:bbf-fiber">的HASH校验值不同,那么后续只需要读取不同YANG DB<dba-configxmlns="urn:bbf:yang:bbf-fiber">的具体数据,执行同步或者对账处理等操作。可以减少数据库内大量数据对比的开销,提升了SDN网络的性能。
本发明实施例还提供了前文实施例中索引表使用YANG模型来描述的具体实例。
本实施例,采用定义用于YANG DB的配置数据和状态数据对比的专用YANG模型为例,提升控制器与转发器执行数据对比性能。YANG定义可以做如下功能的定义:
module example-yang-verify{//YANG模型名称
yang-version 1.1;
namespace"urn:huawei:example-yang-verify";//数据的名称
prefixexf;
container yang-verify-value{//容器
list device{
key yang-identify;
leaf yang-identify{
type string;
}
leaf hash{//HASH值表
type string;
}
leaf md5{//MD5值表
type string;
}
leaf crc{//crc值表
type string;
}
}
}
通过以上功能YANG模型,本发明实施例还提供了查询报文的如下示例,可以获取到YANG DB的配置数据和状态数据的逻辑码。在获得逻辑码之后可以使用逻辑码执行对比,来提升SDN网络的性能。
<rpcxmlns="urn:ietf:params:xml:ns:netconf:base:1.0"
message-id="1539603628962">//报文信息
<get-config>
<source>
<running/>
</source>
<filter type=“subtree">
<yang-verify-value xmlns="urn:huawei:example-yang-verify">//要返回数据的名称
<gemport-configxmlns="urn:bbf:yang:bbf-fiber"/>//要返回数据的名称
<yang-verify-value>
</filter>
</get-config>
</rpc>
本发明实施例,可以应用在如下场景下具有明显的性能收益:
1、在传统光线路终端(optical line terminal,OLT)等网络设备接入SDN网络,控制器需要快速获取配置数据并做数据同步合并时,控制器和转发器针对各自的YANG DB,优先计算每个YANG DB逻辑码,通过对比逻辑码发现YANG DB中存在的不同数据;由于对比一个逻辑码的开销远远小于对比海量数据库内容,因此可以减少了计算量,缩短了对账处理时间。
2、OLT等转发器被多个控制器管理,控制器之间做数据同步,存在大量配置数据雷同的场景下,优先计算YANG DB的逻辑码。此逻辑码可以对比两个指定的YANG DB是否相同,降低了数据对比量。
3、转发器频繁上下线配置数据变化很小的场景下,控制器需要快速确认转发器的配置数据是否变更,可以通过YANG DB的逻辑码来确认转发器的配置数据是否变更,而不是全量的配置数据对比,因此可以减少冗余对比计算量。
4、控制器下发全量或者大量的YANG DB到转发器,转发器需要对比变更进而进行硬件配置的场景下,本发明实施例可以通过比较YANG DB的逻辑码确定配置数据是否变更,而不是全量的配置数据对比,可以快速确定配置数据是否变更,从而提高业务下发速度。
5、本发明实施例在SDN架构下转发器和控制器以外的需要数据同步的领域也可以使用,比如:控制器集群场景,多个控制器之间的数据同步;转发器保护容灾场景的多转发器之间数据同步等,都可以采用本发明实施例使用YANG DB的逻辑码来确认数据是否发生变化方式进行性能提升。
本发明实施例还提供了一种软件定义网络的设备,应用于软件定义网络SDN,在上述SDN中包含第一设备和第二设备,上述软件定义网络的设备作为上述第一设备使用,上述第一设备和上述第二设备分别为控制器或转发器,上述第一设备存储有第一配置文件,上述第二设备存储第二配置文件,如图4所示,上述软件定义网络的设备包括:
逻辑码获取单元401,用于获得第二逻辑码;上述第二逻辑码随第二配置数据变化而变化;上述第二配置数据是应当包含在上述第二配置文件中且与第一配置数据具有相同名称的配置数据;上述第一配置数据是应当包含在上述第一配置文件中的配置数据;
比较单元402,用于比较第一逻辑码与上述第二逻辑码;上述第一逻辑码随上述第一配置数据变化而变化;
确认单元403,用于在上述第一逻辑码与上述第二逻辑码不同的情况下,确认上述第一配置数据与上述第二配置数据不同。
上述第一设备和上述第二设备可以均为控制器也可以均为转发器,还可以其中一个为 控制器另一个为转发器;上述第一设备可以作为要确认配置数据一致性或者需要执行对账的设备使用。
本发明实施例的设备实施例中的技术内容可以参考前文方法实施例中的解释,后续实施例不再一一说明。
本发明实施例,由于逻辑码会随着配置数据变化而变化,当配置数据被修改后相应的逻辑码也会被修改,因此可以比较逻辑码来确认配置数据是否相同,而不必传输和比较数据量巨大的配置数据;因此可以减少数据传递量以及比对计算量,从而提高SDN网络的效率。
本发明实施例除了应用于配置数据是否相同的确认以外,还可以用于其他数据是否相同的确认,具体如下:上述第一设备存储有第一状态文件,上述第二设备存储第二状态文件;
上述逻辑码获取单元401,还用于上述第一设备获得第四逻辑码;上述第三逻辑码随上述第二状态数据变化而变化;上述第二状态数据是应当包含在上述第二状态文件中且与第一状态数据具有相同名称的状态数据;上述第一状态数据是应当包含在上述第一状态文件中的状态数据;
上述比较单元402,还用于比较第三逻辑码与上述第二逻辑码;上述第三逻辑码随上述第一状态数据变化而变化;
上述确认单元403,还用于在上述第三逻辑码与上述第四逻辑码不同的情况下,确认上述第一状态数据与上述第二状态数据不同。
如果SDN的转发器或控制器有其他数据需要确认是否相同,也可以参照配置数据是否相同的确认方式,确认原理是相同的,在本发明实施例中不再予以赘述。
在本实施例中的获取报文可以是get/get-config报文,该get/get-config报文中可以在获取指令中指示第二配置数据的名称以及要返回的内容,例如:文件名和HASH值。或者使用其他协议来指示需要返回的内容,具体如下:上述逻辑码获取单元401包括:
发送单元404,用于向上述第二设备发送获取报文,在上述获取报文中指示需要返回上述第二配置数据的上述第二逻辑码;或者,使用网络配置协议或表述性状态传递风格配置协议向上述第二设备发送标识信息,上述标识信息用于指示上述第二设备返回上述第二配置数据的上述第二逻辑码;
接收单元405,用于接收上述第二设备返回的上述第二逻辑码。
进一步地,上述软件定义网络的设备还包括:
计算单元406,用于在上述逻辑码获取单元401获得第二逻辑码之前,计算得到上述第一配置数据的上述第一逻辑码。
可选地,上述计算单元406,具体用于在确定需要确认上述第一配置数据与上述第二配置数据是否相同后,计算得到上述第一配置数据的上述第一逻辑码;
或者,在上述第一配置数据被创建或被修改后,计算得到上述第一配置数据的上述第一逻辑码。
进一步地,上述软件定义网络的设备还包括:
索引创建单元407,用于在上述比较单元402比较上述第一逻辑码与上述第二逻辑码 之前,为上述第一配置文件创建索引表,上述索引表以上述第一配置文件中的配置数据的名称为索引,记录有上述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
检索单元408,用于以上述第二配置数据的名称检索上述索引表,获得上述第一逻辑码。
可选地,上述第一逻辑码与上述第二逻辑码不同的情况包括:
上述第一逻辑码和上述第二逻辑码中有且仅有一个为空,或者,上述第一逻辑码和上述第二逻辑码均不为空且值不同。
进一步地,上述软件定义网络的设备还包括:
更新控制单元409,用于更新上述第一配置数据或上述第二配置数据使上述第一配置数据与上述第二配置数据相同。
可选地,上述第一配置文件和上述第二配置文件均使用YANG数据库存储,上述第一配置数据和上述第二配置数据分别使用一条YANG记录。
本发明实施例还提供了一种软件定义网络的设备,应用于软件定义网络SDN,在上述SDN中包含第一设备和第二设备,上述软件定义网络的设备作为上述第二设备使用,上述第一设备和上述第二设备分别为控制器或转发器,上述第一设备存储有第一配置文件,上述第二设备存储第二配置文件,如图5所示,上述软件定义网络的设备包括:
接收单元501,用于接收需要返回第二配置数据的第二逻辑码的指示;
发送单元502,用于在上述接收单元501收到上述需要返回上述第二逻辑码的指示后,向上述第一设备发送上述第二逻辑码;上述第二逻辑码随第二配置数据变化而变化;上述第二配置数据是应当包含在上述第二配置文件中且与第一配置数据具有相同名称的配置数据;上述第一配置数据是应当包含在上述第一配置文件中的配置数据;上述第二逻辑码用于在与第一逻辑码不同的情况下确认上述第一配置数据与上述第二配置数据不同;上述第一逻辑码随上述第一配置数据变化而变化。
可选地,上述第一设备存储有第一状态文件,上述第二设备存储第二状态文件,上述软件定义网络的设备包括:
上述接收单元501,还用于接收需要返回第二状态数据的第四逻辑码的指示;
上述发送单元502,还用于在上述接收单元501收到上述需要返回第二状态数据的第四逻辑码的指示后,向上述第二设备发送上述第四逻辑码;上述第四逻辑码随上述第二状态数据变化而变化;上述第二状态数据是应当包含在上述第二状态文件中且与第一状态数据具有相同名称的状态数据;上述第一状态数据是应当包含在上述第一状态文件中的状态数据;上述第四逻辑码用于在与第三逻辑码不同的情况下确认上述第一状态数据与上述第二状态数据不同;上述第三逻辑码随上述第一状态数据变化而变化。
可选地,上述接收单元501,具体用于接收来自上述第一设备发送的获取报文,在上述获取报文中指示需要返回上述第二配置数据的上述第二逻辑码;
或者,接收来自上述第一设备使用网络配置协议或表述性状态传递风格配置协议发送的标识信息,上述标识信息用于指示上述第二设备返回上述第二配置数据的上述第二逻辑码。
可选地,上述接收单元501,还用于接收上述第一设备发送的上述第二配置数据以及 上述第二逻辑码;
或者,上述软件定义网络的设备还包括:
计算单元503,用于在上述发送单元502向上述第一设备发送上述第二逻辑码之前,在上述接收单元501收到上述需要返回上述第二配置数据的上述第二逻辑码的指示后,计算得到上述第二配置数据的上述第二逻辑码;或者,在上述第二配置数据被创建或被修改后,计算得到上述第二配置数据的上述第二逻辑码。
可选地,上述软件定义网络的设备还包括:
索引创建单元504,用于在上述发送单元502向上述第一设备发送上述第二逻辑码之前,为上述第二配置文件创建索引表,上述索引表以上述第二配置文件中的配置数据的名称为索引,记录有上述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
检索单元505,用于以上述第二配置数据的名称检索上述索引表,获得上述第一逻辑码。
本发明实施例还提供了一种软件定义网络的设备,如图6所示,包括:处理器601、存储器602以及通信接口603;其中上述处理器601、上述存储器602和上述通信接口603以可通信方式连接;
存储器602包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器602用于相关指令及数据。通信接口603用于接收和发送数据。
处理器601可以是一个或多个中央处理器(central processing unit,CPU),在处理器601是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。
该软件定义网络的设备中的处理器601用于读取上述程序代码与上述通信接口603配合实现发明实施例提供的任意一项由第一设备执行的方法流程;或者,上述处理器601用于读取上述程序代码与上述通信接口603配合实现发明实施例提供的任意一项由第二设备执行的方法流程。
在本实施例中,通信接口603可以对应到前文实施例的软件定义网络的设备中的接收单元和发送单元的功能,前文实施例的软件定义网络的设备中的其他功能单元的功能可以由处理器601执行。
本发明实施例还提供了一种软件定义网络,如图7所示,包括:在上述软件定义网络SDN中包含第一设备701和第二设备702,上述软件定义网络的设备作为上述第二设备702使用,上述第一设备701和上述第二设备702分别为控制器或转发器,上述第一设备701存储有第一配置文件,上述第二设备702存储第二配置文件;
上述第一设备701为本发明实施例提供的任意一项作为第一设备701使用的软件定义网络的设备;
上述第二设备702为本发明实施例提供的任意一项作为第二设备702使用的软件定义网络的设备。
本实施例中第一设备701和第二设备702可以参阅图1中的转发器和SDN控制器,配 置文件可以对应到YANG DB;YANG DB中的配置数据则可以对应到YANG 1~N。
本发明实施例还提供了一种存储介质,上述存储介质中存储有程序代码,上述程序代码包括程序指令,上述程序指令当被处理器执行时与通信接口配合实现本发明实施例提供的任意一项的方法流程。
本发明实施例还提供了一种软件程序,上述软件程序包含程序代码;上述程序代码包括程序指令,上述程序指令当被处理器执行时与通信接口配合实现本发明实施例提供的任意一项的方法流程。
上述存储介质可以为任意的计算机可读取存储介质中,该软件程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:ROM或随机存储记忆体RAM、磁碟或者光盘等各种可存储程序代码的介质。

Claims (31)

  1. 一种配置数据的处理方法,其特征在于,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述方法包括:
    所述第一设备获得第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;
    比较第一逻辑码与所述第二逻辑码;所述第一逻辑码随所述第一配置数据变化而变化;
    在所述第一逻辑码与所述第二逻辑码不同的情况下,确认所述第一配置数据与所述第二配置数据不同。
  2. 根据权利要求1所述方法,其特征在于,所述第一设备存储有第一状态文件,所述第二设备存储第二状态文件,所述方法还包括:
    所述第一设备获得第四逻辑码;所述第三逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;
    比较第三逻辑码与所述第二逻辑码;所述第三逻辑码随所述第一状态数据变化而变化;
    在所述第三逻辑码与所述第四逻辑码不同的情况下,确认所述第一状态数据与所述第二状态数据不同。
  3. 根据权利要求1所述方法,其特征在于,所述第一设备获得第二逻辑码包括:
    所述第一设备向所述第二设备发送获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;
    或者,所述第一设备使用网络配置协议或表述性状态传递风格配置协议向所述第二设备发送标识信息,所述标识信息用于指示所述第二设备返回所述第二配置数据的所述第二逻辑码;
    接收所述第二设备返回的所述第二逻辑码。
  4. 根据权利要求1所述方法,其特征在于,所述第一设备获得第二逻辑码之前,所述方法还包括:
    计算得到所述第一配置数据的所述第一逻辑码。
  5. 根据权利要求4所述方法,其特征在于,所述计算得到所述第一配置数据的所述第一逻辑码包括:
    在确定需要确认所述第一配置数据与所述第二配置数据是否相同后,计算得到所述第一配置数据的所述第一逻辑码;
    或者,在所述第一配置数据被创建或被修改后,计算得到所述第一配置数据的所述第一逻辑码。
  6. 根据权利要求1至5任意一项所述方法,其特征在于,所述比较第一逻辑码与所述第二逻辑码之前,所述方法还包括:
    为所述第一配置文件创建索引表,所述索引表以所述第一配置文件中的配置数据的名 称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
    以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
  7. 根据权利要求1至5任意一项所述方法,其特征在于,所述第一逻辑码与所述第二逻辑码不同的情况包括:
    所述第一逻辑码和所述第二逻辑码中有且仅有一个为空,或者,所述第一逻辑码和所述第二逻辑码均不为空且值不同。
  8. 根据权利要求1至5任意一项所述方法,其特征在于,所述方法还包括:
    更新所述第一配置数据或所述第二配置数据使所述第一配置数据与所述第二配置数据相同。
  9. 根据权利要求1至5任意一项所述方法,其特征在于,所述第一配置文件和所述第二配置文件均使用YANG数据库存储,所述第一配置数据和所述第二配置数据分别使用一条YANG记录。
  10. 一种配置数据的处理方法,其特征在于,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述方法包括:
    所述第二设备收到需要返回第二配置数据的第二逻辑码的指示后,向所述第一设备发送所述第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;所述第二逻辑码用于在与第一逻辑码不同的情况下确认所述第一配置数据与所述第二配置数据不同;所述第一逻辑码随所述第一配置数据变化而变化。
  11. 根据权利要求10所述方法,其特征在于,所述第一设备存储有第一状态文件,所述第二设备存储第二状态文件,所述方法包括:
    所述第二设备收到需要返回第二状态数据的第四逻辑码的指示后,向所述第二设备发送所述第四逻辑码;所述第四逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;所述第四逻辑码用于在与第三逻辑码不同的情况下确认所述第一状态数据与所述第二状态数据不同;所述第三逻辑码随所述第一状态数据变化而变化。
  12. 根据权利要求10所述方法,其特征在于,所述第二设备收到需要返回第二配置数据的第二逻辑码的指示包括:
    所述第二设备收到来自所述第一设备发送的获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;
    或者,所述第二设备收到来自所述第一设备使用网络配置协议或表述性状态传递风格配置协议发送的标识信息,所述标识信息用于指示所述第二设备返回所述第二配置数据的所述第二逻辑码。
  13. 根据权利要求10至12任意一项所述方法,其特征在于,所述向所述第一设备发送所述第二逻辑码之前,所述方法还包括:
    所述第二设备在收到需要返回所述第二配置数据的所述第二逻辑码的指示后,计算得到所述第二配置数据的所述第二逻辑码;
    或者,在所述第二配置数据被创建或被修改后,计算得到所述第二配置数据的所述第二逻辑码;
    或者,接收所述第一设备发送的所述第二配置数据以及所述第二逻辑码。
  14. 根据权利要求10至12任意一项所述方法,其特征在于,所述向所述第一设备发送所述第二逻辑码之前,所述方法还包括:
    为所述第二配置文件创建索引表,所述索引表以所述第二配置文件中的配置数据的名称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
    以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
  15. 一种软件定义网络的设备,其特征在于,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述软件定义网络的设备作为所述第一设备使用,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述软件定义网络的设备包括:
    逻辑码获取单元,用于获得第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;
    比较单元,用于比较第一逻辑码与所述第二逻辑码;所述第一逻辑码随所述第一配置数据变化而变化;
    确认单元,用于在所述第一逻辑码与所述第二逻辑码不同的情况下,确认所述第一配置数据与所述第二配置数据不同。
  16. 根据权利要求15所述软件定义网络的设备,其特征在于,所述第一设备存储有第一状态文件,所述第二设备存储第二状态文件;
    所述逻辑码获取单元,还用于所述第一设备获得第四逻辑码;所述第三逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;
    所述比较单元,还用于比较第三逻辑码与所述第二逻辑码;所述第三逻辑码随所述第一状态数据变化而变化;
    所述确认单元,还用于在所述第三逻辑码与所述第四逻辑码不同的情况下,确认所述第一状态数据与所述第二状态数据不同。
  17. 根据权利要求15所述软件定义网络的设备,其特征在于,所述逻辑码获取单元包括:
    发送单元,用于向所述第二设备发送获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;或者,使用网络配置协议或表述性状态传递风格配置协议向所述第二设备发送标识信息,所述标识信息用于指示所述第二设备返回所述第二配置数据的所述第二逻辑码;
    接收单元,用于接收所述第二设备返回的所述第二逻辑码。
  18. 根据权利要求15所述软件定义网络的设备,其特征在于,所述软件定义网络的设备还包括:
    计算单元,用于在所述逻辑码获取单元获得第二逻辑码之前,计算得到所述第一配置数据的所述第一逻辑码。
  19. 根据权利要求15所述软件定义网络的设备,其特征在于,
    所述计算单元,具体用于在确定需要确认所述第一配置数据与所述第二配置数据是否相同后,计算得到所述第一配置数据的所述第一逻辑码;
    或者,在所述第一配置数据被创建或被修改后,计算得到所述第一配置数据的所述第一逻辑码。
  20. 根据权利要求15至19任意一项所述软件定义网络的设备,其特征在于,所述软件定义网络的设备还包括:
    索引创建单元,用于在所述比较单元比较所述第一逻辑码与所述第二逻辑码之前,为所述第一配置文件创建索引表,所述索引表以所述第一配置文件中的配置数据的名称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
    检索单元,用于以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
  21. 根据权利要求15至19任意一项所述软件定义网络的设备,其特征在于,所述第一逻辑码与所述第二逻辑码不同的情况包括:
    所述第一逻辑码和所述第二逻辑码中有且仅有一个为空,或者,所述第一逻辑码和所述第二逻辑码均不为空且值不同。
  22. 根据权利要求15至19任意一项所述软件定义网络的设备,其特征在于,所述软件定义网络的设备还包括:
    更新控制单元,用于更新所述第一配置数据或所述第二配置数据使所述第一配置数据与所述第二配置数据相同。
  23. 根据权利要求15至19任意一项所述软件定义网络的设备,其特征在于,所述第一配置文件和所述第二配置文件均使用YANG数据库存储,所述第一配置数据和所述第二配置数据分别使用一条YANG记录。
  24. 一种软件定义网络的设备,其特征在于,应用于软件定义网络SDN,在所述SDN中包含第一设备和第二设备,所述软件定义网络的设备作为所述第二设备使用,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件,所述软件定义网络的设备包括:
    接收单元,用于接收需要返回第二配置数据的第二逻辑码的指示;
    发送单元,用于在所述接收单元收到所述需要返回所述第二逻辑码的指示后,向所述第一设备发送所述第二逻辑码;所述第二逻辑码随第二配置数据变化而变化;所述第二配置数据是应当包含在所述第二配置文件中且与第一配置数据具有相同名称的配置数据;所述第一配置数据是应当包含在所述第一配置文件中的配置数据;所述第二逻辑码用于在与第一逻辑码不同的情况下确认所述第一配置数据与所述第二配置数据不同;所述第一逻辑码随所述第一配置数据变化而变化。
  25. 根据权利要求24所述软件定义网络的设备,其特征在于,所述第一设备存储有第 一状态文件,所述第二设备存储第二状态文件,所述软件定义网络的设备包括:
    所述接收单元,还用于接收需要返回第二状态数据的第四逻辑码的指示;
    所述发送单元,还用于在所述接收单元收到所述需要返回第二状态数据的第四逻辑码的指示后,向所述第二设备发送所述第四逻辑码;所述第四逻辑码随所述第二状态数据变化而变化;所述第二状态数据是应当包含在所述第二状态文件中且与第一状态数据具有相同名称的状态数据;所述第一状态数据是应当包含在所述第一状态文件中的状态数据;所述第四逻辑码用于在与第三逻辑码不同的情况下确认所述第一状态数据与所述第二状态数据不同;所述第三逻辑码随所述第一状态数据变化而变化。
  26. 根据权利要求24所述软件定义网络的设备,其特征在于,
    所述接收单元,具体用于接收来自所述第一设备发送的获取报文,在所述获取报文中指示需要返回所述第二配置数据的所述第二逻辑码;
    或者,接收来自所述第一设备使用网络配置协议或表述性状态传递风格配置协议发送的标识信息,所述标识信息用于指示所述第二设备返回所述第二配置数据的所述第二逻辑码。
  27. 根据权利要求24至26任意一项所述软件定义网络的设备,其特征在于,
    所述接收单元,还用于接收所述第一设备发送的所述第二配置数据以及所述第二逻辑码;
    或者,所述软件定义网络的设备还包括:
    计算单元,用于在所述发送单元向所述第一设备发送所述第二逻辑码之前,在所述接收单元收到所述需要返回所述第二配置数据的所述第二逻辑码的指示后,计算得到所述第二配置数据的所述第二逻辑码;或者,在所述第二配置数据被创建或被修改后,计算得到所述第二配置数据的所述第二逻辑码。
  28. 根据权利要求24至26任意一项所述软件定义网络的设备,其特征在于,所述软件定义网络的设备还包括:
    索引创建单元,用于在所述发送单元向所述第一设备发送所述第二逻辑码之前,为所述第二配置文件创建索引表,所述索引表以所述第二配置文件中的配置数据的名称为索引,记录有所述第一配置文件中的配置数据的名称对应的配置数据的逻辑码;
    检索单元,用于以所述第二配置数据的名称检索所述索引表,获得所述第一逻辑码。
  29. 一种软件定义网络的设备,包括:处理器、存储器以及通信接口;其中所述处理器、所述存储器和所述通信接口以可通信方式连接,其特征在于,
    在所述存储器中存储有程序代码;
    所述处理器用于读取所述程序代码与所述通信接口配合实现权利要求1至9任意一项的方法流程;或者,所述处理器用于读取所述程序代码与所述通信接口配合实现权利要求10至14任意一项的方法流程。
  30. 一种软件定义网络,其特征在于,包括:在所述软件定义网络SDN中包含第一设备和第二设备,所述软件定义网络的设备作为所述第二设备使用,所述第一设备和所述第二设备分别为控制器或转发器,所述第一设备存储有第一配置文件,所述第二设备存储第二配置文件;
    所述第一设备为权利要求15至23任意一项所述的软件定义网络的设备;
    所述第二设备为权利要求24至28任意一项所述的软件定义网络的设备。
  31. 一种存储介质,其特征在于,所述存储介质中存储有程序代码,所述程序代码包括程序指令,所述程序指令当被处理器执行时与通信接口配合实现权利要求1至14任意一项的方法流程。
PCT/CN2019/123689 2018-12-17 2019-12-06 配置数据处理方法、软件定义网络设备、系统及存储介质 WO2020125452A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811543379.5 2018-12-17
CN201811543379.5A CN111327446B (zh) 2018-12-17 2018-12-17 配置数据处理方法、软件定义网络设备、系统及存储介质

Publications (1)

Publication Number Publication Date
WO2020125452A1 true WO2020125452A1 (zh) 2020-06-25

Family

ID=71102529

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/123689 WO2020125452A1 (zh) 2018-12-17 2019-12-06 配置数据处理方法、软件定义网络设备、系统及存储介质

Country Status (2)

Country Link
CN (1) CN111327446B (zh)
WO (1) WO2020125452A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746682A (zh) * 2021-09-07 2021-12-03 迈普通信技术股份有限公司 配置保障方法及装置
CN114124687A (zh) * 2021-12-08 2022-03-01 中国电子科技集团公司第三十四研究所 一种sptn网络控制平面和转发平面配置同步方法
WO2023093544A1 (zh) * 2021-11-29 2023-06-01 华为技术有限公司 一种yang模型文件的管理方法、装置及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114928537B (zh) * 2022-05-17 2023-06-13 中国联合网络通信集团有限公司 网络设备配置方法、装置及存储介质
CN114978903B (zh) * 2022-05-20 2023-10-31 中国电信股份有限公司 配置下发方法、装置、服务器及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160149788A1 (en) * 2014-11-20 2016-05-26 Telefonaktiebolaget L M Ericsson (pubI) Passive Performance Measurement for Inline Service Chaining
WO2016085516A1 (en) * 2014-11-28 2016-06-02 Hewlett Packard Enterprise Development Lp Verifying a network configuration
CN106416132A (zh) * 2014-06-03 2017-02-15 大交换机网络股份有限公司 使用控制器处的交换机建模接口控制网络交换机的系统和方法
CN106888110A (zh) * 2016-12-16 2017-06-23 新华三技术有限公司 一种配置数据同步方法及装置
US20180262407A1 (en) * 2017-03-09 2018-09-13 Arijit Biswas Telemetry Architecture for Integrated Circuits and Cloud Infrastructure

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601366B (zh) * 2014-12-05 2018-11-27 无锡城市云计算中心有限公司 一种控制、服务节点配置服务的方法及装置
CN105721347A (zh) * 2016-02-18 2016-06-29 北京京东尚科信息技术有限公司 精确控制网络带宽的方法和系统
CN107645394B (zh) * 2016-07-22 2021-09-24 上海诺基亚贝尔股份有限公司 一种sdn网络中的交换机配置方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106416132A (zh) * 2014-06-03 2017-02-15 大交换机网络股份有限公司 使用控制器处的交换机建模接口控制网络交换机的系统和方法
US20160149788A1 (en) * 2014-11-20 2016-05-26 Telefonaktiebolaget L M Ericsson (pubI) Passive Performance Measurement for Inline Service Chaining
WO2016085516A1 (en) * 2014-11-28 2016-06-02 Hewlett Packard Enterprise Development Lp Verifying a network configuration
CN106888110A (zh) * 2016-12-16 2017-06-23 新华三技术有限公司 一种配置数据同步方法及装置
US20180262407A1 (en) * 2017-03-09 2018-09-13 Arijit Biswas Telemetry Architecture for Integrated Circuits and Cloud Infrastructure

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113746682A (zh) * 2021-09-07 2021-12-03 迈普通信技术股份有限公司 配置保障方法及装置
WO2023093544A1 (zh) * 2021-11-29 2023-06-01 华为技术有限公司 一种yang模型文件的管理方法、装置及系统
CN114124687A (zh) * 2021-12-08 2022-03-01 中国电子科技集团公司第三十四研究所 一种sptn网络控制平面和转发平面配置同步方法
CN114124687B (zh) * 2021-12-08 2023-05-12 中国电子科技集团公司第三十四研究所 一种sptn网络控制平面和转发平面配置同步方法

Also Published As

Publication number Publication date
CN111327446A (zh) 2020-06-23
CN111327446B (zh) 2022-02-25

Similar Documents

Publication Publication Date Title
WO2020125452A1 (zh) 配置数据处理方法、软件定义网络设备、系统及存储介质
US11573938B2 (en) Systems and methods for indexing source code in a search engine
RU2686594C2 (ru) Файловая служба, использующая интерфейс совместного файлового доступа и передачи состояния представления
JP6669892B2 (ja) 分散型データストアのバージョン化された階層型データ構造
US11086531B2 (en) Scaling events for hosting hierarchical data structures
US7805416B1 (en) File system query and method of use
US7783615B1 (en) Apparatus and method for building a file system index
US7970823B2 (en) System for sharing data objects among applications
US20200089666A1 (en) Secure data isolation in a multi-tenant historization system
US10990629B2 (en) Storing and identifying metadata through extended properties in a historization system
US8250102B2 (en) Remote storage and management of binary object data
US8135763B1 (en) Apparatus and method for maintaining a file system index
US7797281B1 (en) Granular restore of data objects from a directory service
US10936559B1 (en) Strongly-consistent secondary index for a distributed data set
CN102033912A (zh) 一种分布式数据库访问方法及系统
WO2011108695A1 (ja) 並列データ処理システム、並列データ処理方法及びプログラム
US20150363484A1 (en) Storing and identifying metadata through extended properties in a historization system
US11900083B2 (en) Systems and methods for indexing source code in a search engine
CN112653730A (zh) 一种用户态网络文件存储方法和系统
US20230281211A1 (en) Adding a read-only query engine to perform queries to a point-in-time of a write-accessible database
US11222003B1 (en) Executing transactions for a hierarchy of data objects stored in a non-transactional data store
CN111767168A (zh) 基于区块链的便于数据回溯的存储系统
CN115134229B (zh) 一种基于覆盖网的ndn网络管理系统及方法
CN113986873B (zh) 一种海量物联网数据模型化的处理、存储与共享方法
US20240007876A1 (en) Restoration of a network slice

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: 19899033

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19899033

Country of ref document: EP

Kind code of ref document: A1