Data storage method and device, electronic equipment and program product
By using configuration files to split and store JSON data in SDN, the problem of low JSON data storage performance under traditional methods is solved, and efficient JSON data storage and processing performance is achieved.
Patent Information
- Application Number
- CN202311644055.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-11-30
- Publication Date
- 2025-05-30
AI Technical Summary
In software-defined networks (SDN), traditional methods are used to store JSON data with low performance and dependence on database product capabilities, especially when the data volume is large.
The network element configuration data is split through the configuration file of the preset JSON data structure, and the split result is stored in the general structure data table in the database. The network element configuration index is used to control the storage granularity to improve processing performance.
It realizes efficient storage of JSON data, reduces dependence on the storage capabilities of relational databases, and improves data read and write performance.
Smart Images

Figure CN120067096A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the technical field of data processing, and in particular, to a data storage method, apparatus, electronic device, and program product. Background Art
[0002] The software-defined network (SDN, Software Defined Networking) architecture is an independent network architecture formulated by the Open Networking Foundation (ONF). The purpose is to solve problems such as slow (protocol) development, lack of "consistent" policy control, poor scalability, and strong vendor dependence caused by the complexity of existing networks. The SDN architecture mainly includes two components: the SDN controller and network devices. Among them, the SDN controller is the core component in the SDN network architecture. As the control plane of the entire network, it undertakes the control behavior of the entire network. The SDN controller can control corresponding network devices through protocols such as the Network Configuration Protocol (NETCONF) to cooperate in implementing specified functions.
[0003] With the continuous expansion of SDN business requirements, the implementation workload is also increasing. If implemented according to traditional methods, a large amount of code is required, and the implementation cycle is relatively long. Therefore, to solve the above problems, low-code technology can be used to develop the SDN controller, which can reduce the amount of code written and accelerate the development of the SDN controller. In the low-code development framework, the data formats used are mainly represented in JavaScript Object Notation (JSON). Therefore, JSON data is the main data format throughout the front and back ends of the SDN controller, and the storage of JSON data directly affects the entire implementation process of the SDN controller. Summary of the Invention
[0004] Embodiments of this application provide a data storage method, apparatus, electronic device, and program product for efficiently storing JSON data.
[0005] A data storage method provided by an embodiment of this application, the method is applied in a software-defined network SDN architecture, and includes:
[0006] Obtain the network element configuration data configured by an object for the network element device to be controlled; the network element configuration data is in the JSON data format;
[0007] According to a configuration file of a preset JSON data structure, split the network element configuration data and store the split result in a database; the database includes a general-purpose structure data table;
[0008] Among them, the general - type structure data table includes one or more of network element device identifiers, configuration types, network element configuration indexes, and network element device configurations; the network element device configuration is used to store the split JSON data, the network element configuration index is used to store the index value corresponding to the corresponding JSON data, and the network element configuration index is used to control the configuration storage granularity and storage processing performance.
[0009] A data storage device provided by an embodiment of the present application is applied in a software - defined network (SDN) structure and includes:
[0010] An acquisition unit, configured to acquire network element configuration data configured by an object for a network element device to be controlled; the network element configuration data is in JSON data format;
[0011] A storage unit, configured to split the network element configuration data according to a configuration file with a preset JSON data structure, and store the split result in a database; the database includes a general - type structure data table;
[0012] Among them, the general - type structure data table includes one or more of network element device identifiers, configuration types, network element configuration indexes, and network element device configurations; the network element device configuration is used to store the split JSON data, the network element configuration index is used to store the index value corresponding to the corresponding JSON data, and the network element configuration index is used to control the configuration storage granularity and storage processing performance.
[0013] An embodiment of the present application provides a data storage method, device, electronic device, and program product. Specifically, in the SDN structure of the present application, network element configuration data in JSON data format is split through a preset configuration file and stored in a database. By defining a configuration file with a simple structure, the ability to store JSON data is configured, and by splitting and storing JSON data with a large data volume, high - performance data reading and writing capabilities are achieved. Among them, the database structure is a general - type structure data table, and through this structure, any relational database can store JSON data. Since the data table contains a network element configuration index, the configuration storage granularity can be controlled according to this index, that is, the storage granularity of JSON data can be controlled to be relatively small. Since the storage granularity is small, the storage processing performance is improved.
[0014] In summary, by splitting and storing JSON data, the storage granularity is made smaller and the storage processing performance is improved, thereby realizing the efficient storage of JSON data.
[0015] Optionally, the general - type structure data table includes the network element configuration index and the network element device configuration; the storage unit is specifically configured to:
[0016] Determine the index nodes in the network element configuration data according to the index configuration of the configuration file; the index nodes are data nodes with indexing functions;
[0017] Split the array nodes in the network element configuration data according to the index nodes to obtain at least one JSON data;
[0018] Store the index nodes and their index values in the network element configuration index;
[0019] Store the at least one JSON data in the network element device configuration.
[0020] In the above embodiment, by splitting and storing the network element configuration data through the index configuration of the configuration file, the general storage of JSON data is realized, and the dependence on the storage capacity of the relational database is avoided.
[0021] Optionally, the general structure data table includes the network element device configuration; if the data nodes in the network element configuration data include the first data nodes that can be referenced, the storage unit is specifically used for:
[0022] Split the first data nodes in the network element configuration data according to the reference configuration of the configuration file;
[0023] Individually store the first data nodes in the network element device configuration in the database, and determine the row identifiers where the first data nodes are located in the database;
[0024] Store the first data nodes in the second data nodes that reference the first data nodes as the row identifiers.
[0025] In the above embodiment, by individually splitting and storing the first data nodes, when performing operations such as editing and querying on the second data nodes that reference other data nodes, since the first data nodes have been split out, there is no need to operate on the first data nodes, reducing the amount of processing of JSON data. And when the first data nodes are repeatedly referenced, only the row identifiers of the first data nodes need to be repeatedly stored, effectively reducing the storage data volume of JSON data.
[0026] Optionally, the configuration file includes a trigger, and the storage unit is further used for:
[0027] Restore the split JSON data stored in the database to the network element configuration data before splitting;
[0028] Compare the new network element configuration data uploaded by the object with the network element configuration data before splitting, and determine the target data nodes where node change events occur;
[0029] Trigger the object custom behavior corresponding to the trigger according to the trigger of the target data node.
[0030] In the above embodiment, the functions that can be implemented for JSON data are extended through the triggers set in the configuration file.
[0031] Optionally, the network element configuration data in the database is in JSON text format, and the configuration file also provides node operation functions for JSON data. Then, the storage unit is further configured to:
[0032] Determine the type of node operation to be performed on the JSON data according to the operation specified by the object for the network element configuration data in advance;
[0033] Perform an operation behavior corresponding to the type on the operation data node in the JSON data according to the determined type.
[0034] In the above embodiment, in response to the operation of the object, the JSON data in the database is synchronously modified, improving the usage experience of the object.
[0035] Optionally, the network element configuration data stored in the database is JSON text in text format. The storage unit is specifically configured to:
[0036] If the type of the node operation is a node query operation, query the JSON text according to the index configuration of the network element configuration data; convert the JSON text into JSON data according to the configuration file; traverse the JSON data until the first operation data node is found, and send the first operation data node to the object;
[0037] If the type of the node operation is a node addition operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the second operation data node is found, and add a new node input by the object at the second operation data node;
[0038] If the type of the node operation is a node update operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the third operation data node is found, and update the value of the third operation data node;
[0039] If the type of the node operation is a node deletion operation, query the JSON text according to the index configuration of the network element configuration data, and convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the fourth operation data node is found, and delete the fourth operation data node.
[0040] If the type of the node operation is a node merging operation, query the JSON text according to the index configuration of the network element configuration data, and convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the fifth operation data node is found, and merge the fifth operation data node according to the new JSON data uploaded by the object.
[0041] In the above embodiment, the functions of adding, deleting, modifying, and querying JSON data can be implemented without a large amount of hard coding, and the merging function of JSON data is supported, improving the usage experience of the object.
[0042] Optionally, the merging of the fifth operation data node according to the new JSON data uploaded by the object includes at least one of the following operations:
[0043] If there is a new node at the fifth operation data node in the new JSON data, merge the fifth operation data node by adding the new node at the fifth operation data node in the JSON data in the database.
[0044] If the new JSON data updates the value of the fifth operation data node, merge the fifth operation data node by updating the value of the fifth operation data node in the JSON data in the database.
[0045] In the above embodiment, the data in the database can be merged in a timely manner according to the new JSON data uploaded by the object, ensuring the timeliness of the data in the database.
[0046] An electronic device provided by an embodiment of the present application includes a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor is caused to execute the steps of any one of the above data storage methods.
[0047] A computer program product provided by an embodiment of the present application includes a computer program, and when the computer program is executed by a processor, it implements any one of the above data storage methods.
[0048] Optionally, the computer-readable storage medium may be implemented as a computer program product. That is, the embodiments of the present application further provide a computer-readable storage medium, which includes a computer program that, when executed by a processor, implements any of the above data storage methods.
[0049] Other features and advantages of the present application will be described in the following specification, and, in part, will be obvious from the specification, or will be understood by implementing the present application. The objectives and other advantages of the present application can be achieved and obtained by the structures specifically pointed out in the written specification, claims, and drawings. Description of the Drawings
[0050] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments and descriptions thereof of the present application are used to explain the present application and do not constitute an improper limitation of the present application. In the drawings:
[0051] Figure 1 It is a schematic diagram of an application scenario for data storage provided by an embodiment of the present application;
[0052] Figure 2 It is a flowchart of the implementation of a data storage method provided by an embodiment of the present application;
[0053] Figure 3 It is a schematic diagram of an SDN structure system provided by an embodiment of the present application;
[0054] Figure 4 It is a schematic diagram of the application of JSON data provided by an embodiment of the present application;
[0055] Figure 5 It is a schematic diagram of storing JSON data in the prior art provided by an embodiment of the present application;
[0056] Figure 6 It is a schematic diagram of a JSON storage engine provided by an embodiment of the present application;
[0057] Figure 7 It is a schematic diagram of a configuration file provided by an embodiment of the present application;
[0058] Figure 8 It is a schematic diagram of the splitting of index configuration data provided by an embodiment of the present application;
[0059] Figure 9 It is a schematic diagram of the splitting of reference configuration data provided by an embodiment of the present application;
[0060] Figure 10 It is a schematic diagram of a trigger provided by an embodiment of the present application;
[0061] Figure 11 A schematic diagram of a node deletion operation provided by an embodiment of the present application;
[0062] Figure 12 A schematic diagram of a node merging operation provided by an embodiment of the present application;
[0063] Figure 13 A schematic diagram of a hardware composition structure of an electronic device applying an embodiment of the present application;
[0064] Figure 14 A schematic diagram of the structure of an electronic device for data storage in an embodiment of the present application;
[0065] Figure 15 A schematic diagram of a hardware composition structure of a computing device applying an embodiment of the present application. Detailed implementation manners
[0066] To make the objectives, technical solutions, and advantages of the embodiments of the present application clearer, the technical solutions of the present application will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present application. Apparently, the described embodiments are some, rather than all, of the embodiments of the present application. All other embodiments obtained by those of ordinary skill in the art based on the embodiments recorded in this application document without creative efforts shall fall within the scope of protection of the technical solutions of the present application.
[0067] Some concepts involved in the embodiments of the present application will be introduced below.
[0068] Software Defined Network architecture (SDN, Software Defined Networking): An independent network architecture formulated by the Open Networking Foundation (ONF). The purpose is to solve problems such as slow (protocol) development, lack of "consistent" policy control, poor scalability, and strong vendor dependence caused by the complexity of existing networks. There are mainly two components in the SDN network architecture: the SDN controller and network devices.
[0069] SDN controller: The core component in the SDN network architecture, serving as the control plane of the entire network and undertaking the control behaviors of the entire network. The SDN controller can control the corresponding network devices through protocols such as the Network Configuration (NETCONF) protocol to cooperate in realizing specified functions.
[0070] NETCONF: A protocol defined by the Internet Engineering Task Force (IETF) for performing installation, maintenance, and deletion of configuration data on network elements. The DN controller mainly uses NETCONF to communicate with network elements.
[0071] Network element configuration: The device configuration defined by each network equipment manufacturer. The SDN controller completes the control of the network by orchestrating these network element configurations.
[0072] Low-code: Low-code development can achieve rapid business delivery. Different from the traditional development mode, low-code development is based on the business level. It enables reusable business components to perform repetitive coding for similar functions. Low-code also greatly reduces the usage threshold, and the development efficiency is increased by 5 to 10 times.
[0073] Configuration: When similar business functions are centralized, some business logics need to be abstracted in a configuration way.
[0074] JavaScript Object Notation (JSON): A lightweight data exchange format that is easy to read and write and can be used for data exchange between multiple languages. It is a subset of the JavaScript language but is independent of the specific programming language and can be parsed and generated by multiple programming languages. This makes JSON data an ideal choice for cross-platform and cross-language data exchange. In this application, JSON data refers to data in JSON format, and JSON text refers to data in text format.
[0075] The preferred embodiments of the present application will be described below in conjunction with the accompanying drawings of the specification. It should be understood that the preferred embodiments described herein are only used to illustrate and explain the present application and are not used to limit the present application. And without conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.
[0076] In the traditional technology, when storing JSON data, database (DB) products are often used, such as object-relational databases (PostgreSQL), non-relational databases (Mongo), etc. The storage capacity strongly depends on the capabilities of the database products. Therefore, the database selection is greatly restricted. And when the JSON data is large, the performance is poor when reading and writing the JSON data; or, when using the general model of the DB, such as the text type, to store the JSON data, the JSON data is stored in text format instead of JSON format, and data format conversion is required when reading and writing the JSON data, which is cumbersome.
[0077] In summary, how to efficiently store JSON data is an urgent problem to be solved.
[0078] As Figure 1 shown, it is a schematic diagram of an application scenario for data storage provided by an embodiment of the present application. The application scenario diagram includes a terminal device 110 and a server 120.
[0079] In the embodiment of the present application, the terminal device 110 includes, but is not limited to, devices such as mobile phones, tablet computers, laptop computers, desktop computers, e-book readers, intelligent voice interaction devices, smart home appliances, and vehicle terminals; a client related to data storage can be installed on the terminal device, and the client can be software (such as a browser, etc.), a web page, a small program, etc. The server 120 is a background server corresponding to the software, web page, small program, etc., and the present application does not make specific limitations. The server can be an independent physical server, a server cluster or a distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, Content Delivery Network (CDN), and big data and artificial intelligence platforms.
[0080] It should be noted that the data storage method in the embodiment of the present application can be executed by an electronic device, and the electronic device can be a server or a terminal device, that is, the method can be executed independently by the server or the terminal device, or jointly by the server and the terminal device. For example, when jointly executed by the server and the terminal device, the object inputs the network element configuration data configured for the network element device to be controlled into the terminal device, and the terminal device sends the network element configuration data to the server. The server splits the network element configuration data according to a preset configuration file and stores the split network element configuration data in a database with a general-purpose structure data table structure.
[0081] In an alternative embodiment, the terminal device 110 and the server 120 can communicate through a communication network.
[0082] In an alternative embodiment, the communication network is a wired network or a wireless network.
[0083] It should be noted that Figure 1 The above is only an example, and actually the number of terminal devices and servers is not limited, and no specific limitation is made in the embodiment of the present application.
[0084] Combined with the above-described application scenarios, the data storage method provided by the exemplary embodiments of the present application will be described with reference to the accompanying drawings. It should be noted that the above application scenarios are only shown for the convenience of understanding the spirit and principle of the present application, and the embodiments of the present application are not limited in this regard.
[0085] As Figure 2 shown, it is a flowchart of an implementation of a data storage method provided by an embodiment of the present application, which is applied in a software-defined network (SDN) structure. Taking the server as the execution entity as an example, the implementation process includes the following steps S21 to S22:
[0086] S21: Obtain the network element configuration data configured by the object for the network element device to be controlled.
[0087] Among them, the network element configuration data is in JSON data format.
[0088] In the existing SDN structure system, the general interaction model of its front end, back end and devices is as Figure 3 shown.
[0089] As Figure 3 shown, it is a schematic diagram of an SDN structure system provided by an embodiment of the present application. The World Wide Web (Web) transmits the network element configuration data configured by the object through JSON data. Since the operation granularity of the object's service configuration is often large, the back-end system needs to orchestrate the network element configuration and convert it into a database model for storage. The network element configuration is split, combined and sent down, converted into YANG model data, and finally sent to the network element device through the NETCONF protocol.
[0090] With the continuous expansion of SDN service requirements, the workload demand for implementation is also increasing. If traditional methods are used to implement it, a large amount of code needs to be written and the implementation cycle is long. Therefore, using low-code technology to develop an SDN system can reduce the amount of code written and accelerate the development of the SDN system.
[0091] Since JSON data is widely used, such as Figure 4As shown in the figure, it is a schematic diagram of JSON data application provided by an embodiment of the present application. JSON data can be applied to network data exchange. Data can be transmitted from a server through a Hypertext Transfer Protocol (HTTP) request, which is suitable for Web applications, such as transmitting user data, product information, article content, etc. JSON data can be applied to data storage. JSON data can serialize data objects into strings, which is convenient for storage in a database or a local file. It can also deserialize data strings into objects, which is convenient for operation. JSON data can be used as a configuration file format to store various configuration information of an application. JSON data is the data format adopted by many Application Programming Interface (API) interfaces. When designing an API interface, the JSON format can be used to specify request parameters and response data structures.
[0092] Since JSON data is the main data format throughout the front-end and back-end of the entire SDN system, the storage of JSON data affects the entire development process of the SDN system. When storing JSON data in the prior art, there are often some problems. For details, please refer to Figure 5 the schematic diagram of storing JSON data in the prior art shown in the figure.
[0093] As Figure 5 shown in the figure, it is a schematic diagram of storing JSON data in the prior art provided by an embodiment of the present application. In the prior art, when using database (DB) products, such as object-relational databases (PostgreSQL), non-relational databases (Mongo), etc., to store JSON data, the storage capacity strongly depends on the capabilities of the database products. Therefore, the database selection is greatly restricted. Moreover, when the JSON data is large, the performance is poor when reading and writing the JSON data. Or, when using the general model of the DB, such as the text type, to store JSON data, the JSON data is stored in text format instead of JSON format. When reading and writing the JSON data, data format conversion is required, and the reading and writing of nodes need to be implemented through hard coding, which is cumbersome to operate.
[0094] S22: According to the configuration file of the preset JSON data structure, split the network element configuration data, and store the split result in the database; the database includes a general structure data table; wherein, the general structure data table includes one or more of network element device identification, configuration type, network element configuration index, and network element device configuration; the network element device configuration is used to store the split JSON data, the network element configuration index is used to store the index value corresponding to the corresponding JSON data, and the network element configuration index is used to control the configuration storage granularity and storage processing performance.
[0095] The JSON storage engine provided by this application is a storage plug-in at the application layer. When storing network element configuration data in JSON data format into a database, the storage plug-in will split the network element configuration data according to a configuration file with a preset JSON data structure, and store the split JSON data into a database including a general-purpose structure data table.
[0096] This JSON storage engine provides functions such as node indexing, node reference, node addition, deletion, modification, query, data merging, and triggers.
[0097] As Figure 6 shown, it is a schematic diagram of a JSON storage engine provided by an embodiment of this application. The JSON storage engine can solve the problem of storing JSON data in relational databases such as object-relational databases (PostgreSQL, MySql, etc.) and commercial relational databases (Oracle, etc.). There are multiple groups of JSON data stored in the database, such as Figure 6 JSON1, JSON2, and JSON3 in it, which are 3 groups of JSON data. The JSON storage engine provides functions such as node indexing, node reference, node addition, deletion, modification, query, data merging, and triggers for JSON data.
[0098] The configuration file provided by the embodiment of this application is preset according to the JSON data transmitted by the object and the object requirements. The JSON data can be split according to this preset configuration file. For details, please refer to Figure 7 the schematic diagram of the configuration file shown.
[0099] As Figure 7 shown, it is a schematic diagram of a configuration file provided by an embodiment of this application. This configuration file includes the resource type (resource), template file (template), index configuration (keys), and JSON data (data) corresponding to the JSON data. The resource determines which network element configurations the JSON data in the data is for. For example, Figure 7 in it, the resource determines the JSON data of the acl type, where acl refers to the Internet security policy in the network element configuration, and ace is the rule in the acl. Keys determines the index configuration for dividing each acl. For example, Figure 7 in it, each acl is divided by the numerical values of acl-name and acl-type. In the data of the acl type, there are multiple data nodes, such as Figure 7The acl-name, acl-type, and reference->ace therein, where acl-name is the number of each acl, acl-type is the type of each acl, and reference->ace represents the reference relationship between the acl and the ace.
[0100] The JSON storage engine stores the JSON data split according to the configuration file into the database. The database provided by the embodiments of the present application includes a general structure data table.
[0101] In this data table, it includes network element device identifier (device-id), configuration type (type), network element configuration index (keys), and network element device configuration (json-value). Among them, the data format of device-id is long integer data type (Long), which represents the identifier of the network element device. The object can select which network element device to perform network element configuration on, and distinguish each network element device through device-id. The data format of type is string (String), which corresponds to resource in the configuration file. For example, the object can select to perform network element configuration on the acl configuration type of the device with device-id of 1. The data format of keys is String, which corresponds to keys in the configuration file, and keys stores the index and index value of the JSON data. The data format of Json-value is text, and it stores the split JSON data, and the data format of these JSON data is text format.
[0102] The JSON storage engine splits the JSON data with a large data volume through the index configuration in the configuration file, and stores the index and the split JSON data into the database.
[0103] Specifically, according to the index configuration of the configuration file, determine the index nodes in the network element configuration data; according to the index nodes, split the array nodes in the network element configuration data to obtain at least one JSON data;
[0104] And store the index nodes and the index values of the index nodes into the network element configuration index, and store at least one JSON data into the network element device configuration.
[0105] Among them, the index node is a data node with an index function. The JSON data stored in the network element device configuration is in text format.
[0106] First, determine which data nodes in the network element configuration data are index nodes according to the index configuration in the configuration file, and split each object according to the different index node values of each object in the network element configuration data. Continuing with Figure 7 the assumption Figure 7The index configuration of the configuration file is "keys": ["acl-name", "acl-type"], and the index nodes determined by this index configuration are acl-name and acl-type in data. When splitting each object in the JSON data, according to the acl-name and acl-type values of each object, the array nodes in the network element configuration data with a large amount of data can be split into at least one JSON data.
[0107] As Figure 8 shown, it is a schematic diagram of splitting index configuration data provided by an embodiment of the present application. Figure 8 In [], the symbol is an array node containing multiple objects. This array node includes two {} symbols, and each {} symbol is an object containing multiple data nodes. Figure 8 In, the array node containing two objects is split into two JSON data. Figure 8 The index configuration in is "keys": ["acl-name", "acl-type"], that is, the array node is split according to the acl-name index node and the acl-type index node.
[0108] Since the acl-name index node values of the two objects are different, that is, the acl-name index node value of one object is 1, and the acl-name index node value of the other object is 2. Therefore, according to the index node, this array node is split into two JSON data, namely {"acl-name": "1", "acl-type": "1", "ace": []} and {"acl-name": "1", "acl-type": "2", "ace": []}. These two JSON data are stored in json-value of the database.
[0109] And the index nodes and index values of these two objects, that is, "acl-name": "1", "acl-type": "1" and "acl-name": "1", "acl-type": "2" are stored in keys of the database.
[0110] Since there are reference relationships between objects in the network element configuration data, and the amount of data of the objects that reference other data nodes is large, when performing operations such as storage and editing on such objects, the processing volume generated is also large. Therefore, the present application splits the data nodes that can be referenced in the object separately and stores them.
[0111] Specifically, according to the reference configuration of the configuration file, the first data node in the network element configuration data is split; the first data node is separately stored in the network element device configuration in the database, and the row identifier where the first data node is located in the database is determined; the first data node in the second data node that references the first data node is stored as the row identifier. Among them, the row identifier can be a number, such as 1, 2, 3, etc. According to the row identifier, the storage location of each piece of JSON data in the database can be determined.
[0112] Based on the network element configuration data input by the object, determine the reference relationship between the objects. Continuing with Figure 5 the assumption, Figure 7 in the configuration file shown, the data node "ace": "reference->ace" indicates that ace is referenced in the acl. Then when ace is referenced in the acl object, ace is separately split and stored. For details, refer to Figure 9 the split of the reference configuration data shown.
[0113] Such as Figure 9 shown, which is a schematic diagram of the split of the reference configuration data provided by an embodiment of the present application. Figure 9 The data nodes that can be referenced in it are ace, rule-name, and action. The acl object before splitting contains acl-name, acl-type, and these three data nodes that can be referenced. The acl object after splitting contains acl-name, acl-type, and the data node indicating the reference relationship between acl and ace, that is, "ace": "reference->ace". Acl-name, acl-type, and these three data nodes that can be referenced are separately split into an object. The separately split ace object is stored in the json-value in the database, and the row identifier where the ace object is stored in the database is determined. For example, the row identifier of the ace object can be 2. When storing the split acl object, only the acl-name, acl-type data nodes and the row identifier 2 are stored.
[0114] In the present application, by separately splitting and storing the first data node, when performing operations such as editing and querying on the first data node that references other data nodes, since the first data node has been split out, there is no need to operate on the first data node, reducing the amount of processing of JSON data. And when the first data node is repeatedly referenced, only the row identifier of the first data node needs to be repeatedly stored, effectively reducing the storage data volume of JSON data.
[0115] In addition, a trigger is also configured in the configuration file. When a node change event occurs on the data node where the trigger is defined, the object custom behavior is executed.
[0116] The JSON storage engine enables developers to be unaware of data changes, that is, the JSON storage engine can restore the split JSON data to the original network element configuration data before the split, and there is no difference with the original data.
[0117] Specifically, first, the split JSON data stored in the database is restored to the network element configuration data before the split;
[0118] Then, the new network element configuration data uploaded by the object is compared with the network element configuration data before the split, and the target data node where the node change event occurs is determined;
[0119] Finally, according to the trigger of the target data node, the object custom behavior corresponding to the trigger is triggered.
[0120] like Figure 10 As shown, it is a trigger schematic diagram provided in an embodiment of the present application. Figure 10 The JSON data in the database has been restored to the structure of the original NE configuration data. Figure 10 The trigger in the data node acl-list has a trigger value->callback:xxx":". When the value of the data node acl-list in the new JSON data uploaded by the object is different from the value of the acl-list in the database, that is, in the data node acl-list of the JSON data stored in the data block, the value of valeu with the identifier (id) 1 is test1, and the value of value with the id 2 is test2, while in the data node acl-list of the JSON data newly uploaded by the object, the value of valeu with the identifier (id) 1 is test, and the value of value with the id 2 is test. Therefore, the trigger value->callback:xxx":". of the data node acl-list is triggered, and the object custom behavior callback:xxx is executed.
[0121] In addition, since no trigger is set for the data node ace, even if the value of action in the ace data node in the new JSON data uploaded by the object is 2, which is different from the value of action in the database 3, the change event of the ace data node will not trigger the object custom behavior.
[0122] The JSON storage engine in the present application may also determine the type of node operation performed on the JSON data according to the operation pre-specified by the object for the network element configuration data;
[0123] Then, according to the determined type, an operation behavior corresponding to the type of node operation is performed on the operation data node in the JSON data.
[0124] For example, if an object specifies a certain operation for the network element configuration in advance, then according to the operation of the object for the network element configuration, determine the type of node operation to be performed on the JSON data in the database, and according to the determined type, perform the corresponding operation behavior on the data node in the JSON data where the operation is specifically performed.
[0125] Among them, the types of node operations include node query operation, node addition operation, node update operation, node deletion operation, node merge operation, etc.
[0126] Specifically, if the type of node operation is a node query operation, query the JSON text according to the index configuration of the network element configuration data; convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the first operation data node is found, that is, the data node that needs to be queried as specified in advance by the object, and send the first operation data node to the object.
[0127] If the type of node operation is a node addition operation, query the JSON text according to the index configuration of the network element configuration data, and convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the second operation data node is found, that is, the data node specified in advance by the object, and add the new node input by the object before or after the second operation data node.
[0128] If the type of node operation is a node update operation, query the JSON text according to the index configuration of the network element configuration data, and convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the third operation data node is found, that is, the data node whose value needs to be updated as specified in advance by the object, and update the value of the third operation data node.
[0129] If the type of node operation is a node deletion operation, query the JSON text according to the index configuration of the network element configuration data, and convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the fourth operation data node is found, that is, the data node that needs to be deleted as specified in advance by the object, and delete the fourth operation data node.
[0130] As Figure 11 shown, it is a schematic diagram of a node deletion operation provided by an embodiment of the present application. Figure 11The Central Plains data node includes json1, json2, and json3. Since the object needs to delete json2 and json3 among them, when the object inputs its requirement to delete the data nodes json2 and json3, according to the index configuration, such as json2 and json3, the JSON text in the database is traversed and queried, and it is converted into JSON data. According to the index configuration, the operation data nodes jsonn2 and json3 that need to be deleted are found, and these two operation data nodes are deleted. After deletion, only the data node json1 remains.
[0131] If the type of node operation is a node merging operation, then the JSON text in the database is queried according to the index configuration of the network element configuration data, and the JSON text is converted into JSON data according to the configuration file; traverse and query the JSON data until the fifth operation data node is found, that is, the data node that needs to be merged as pre-specified by the object. According to the new JSON data uploaded by the object, the fifth operation data node is merged:
[0132] If there are new nodes at the operation data node in the new JSON data, then new nodes are added at the fifth operation data node in the JSON data in the database; if the value of the fifth operation data node is updated in the new JSON data, then the value of the fifth operation data node in the JSON data in the database is updated.
[0133] As Figure 12 shown, it is a schematic diagram of a node merging operation provided by an embodiment of the present application. Figure 12 In the database, the data nodes in the stored JSON data are json1 and json2. Among them, the value of json2 is 2. The data nodes in the JSON data newly uploaded by the object are json2 and json3. Among them, the value of json2 is 4. Therefore, according to the JSON data newly uploaded by the object, the data node json3 and its value 3 need to be added in the JSON data in the database, and according to the value 4 of json2 in the JSON data newly uploaded by the object, the value of the data node json2 in the JSON data in the database is updated to 4. After the node merging operation, the data nodes in the JSON data in the database are json1 with a value of 1, json2 with a value of 4, and json3 with a value of 3.
[0134] In the above implementation manner, the present application provides node query operations, node addition operations, node deletion operations, and node update operations for JSON data through the JSON storage engine, and supports node merging operations.
[0135] In addition, the JSON storage engine in the embodiments of the present application also provides a data node locking function, that is, adding an "owner" configuration in the configuration file, a general verification function for node data types, common data types such as Long and String, and functions such as JSON node orchestration. All functions that can be defined in the configuration file can be implemented through the JSON storage engine, which will not be elaborated one by one here.
[0136] In this application, the network element configuration data in JSON data format in the SDN structure is split through a preset configuration file and stored in a database. By defining a configuration file with a simple structure, the JSON data storage ability is configured, and by splitting and storing the large-volume JSON data, high-performance data reading and writing capabilities are achieved. That is, the general storage of JSON format data can be realized through the preset configuration file, avoiding the dependence on the JSON storage ability of database products, providing a general JSON storage solution for the low-code development framework of the SDN controller, greatly reducing duplicate code, and significantly reducing the R & D personnel resource investment and the development cycle of requirements.
[0137] Among them, the database structure is a general structure data table, and through this structure, any relational database can store JSON data. Since the data table contains network element configuration indexes, the storage granularity of the configuration can be controlled according to these indexes, that is, the storage granularity of JSON data can be controlled to be relatively small. Due to the relatively small storage granularity, the storage processing performance is improved.
[0138] Based on the same inventive concept as the above method embodiments, an electronic device is also provided in the embodiments of the present application. In one embodiment, the electronic device can be Figure 1 the terminal device 110 shown. In this embodiment, the structure of the electronic device can be as Figure 13 shown, including a memory 1301, a communication module 1303, and one or more processors 1302.
[0139] The memory 1301 is used to store the computer program executed by the processor 1302. The memory 1301 mainly includes a program storage area and a data storage area. Among them, the program storage area can store the operating system and programs required to run the instant messaging function, etc.; the data storage area can store various instant messaging information and operation instruction sets, etc.
[0140] The memory 1301 can be a volatile memory, such as a random-access memory (RAM); the memory 1301 can also be a non-volatile memory, such as a read-only memory, a flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); or the memory 1301 is any other medium that can be used to carry or store a desired computer program in the form of instructions or data structures and can be accessed by a computer, but is not limited thereto. The memory 1301 can be a combination of the above memories.
[0141] The processor 1302 can include one or more central processing units (CPUs) or be a digital processing unit, etc. The processor 1302 is used to implement the above data storage method when calling the computer program stored in the memory 1301.
[0142] The communication module 1303 is used to communicate with the terminal device and other servers.
[0143] In the embodiments of the present application, the specific connection medium between the above memory 1301, communication module 1303, and processor 1302 is not limited. In the embodiments of the present application Figure 13 it is described that the memory 1301 and the processor 1302 are connected through a bus 1304, and the bus 1304 is described in thick lines in Figure 13 The connection manners between other components are only for illustrative purposes and are not to be construed as limiting. The bus 1304 can be divided into an address bus, a data bus, a control bus, etc. For the sake of convenience of description, Figure 13 only one thick line is used to describe it in
[0144] The memory 1301 stores a computer storage medium, and the computer storage medium stores computer-executable instructions, and the computer-executable instructions are used to implement the data storage method of the embodiments of the present application. The processor 1302 is used to execute the above data storage method.
[0145] In some implementation manners, after the method executed by the above processor forms a program, the hardware execution modules corresponding to each program function module can include: an acquisition module and a storage module, and the acquisition module and the storage module are connected.
[0146] Such as Figure 14As shown, it is a schematic structural diagram of a data storage device 140 in an embodiment of the present application. The data storage device includes an acquisition module 1401 and a storage module 1402, where:
[0147] The acquisition module 1401 is used to acquire the network element configuration data configured by an object for a network element device to be controlled; the network element configuration data is in JSON data format;
[0148] The storage module 1401 is used to split the network element configuration data according to a configuration file with a preset JSON data structure, and store the split result in a database; the database includes a general-purpose structure data table;
[0149] Among them, the general-purpose structure data table includes one or more of a network element device identifier, a configuration type, a network element configuration index, and a network element device configuration; the network element device configuration is used to store the split JSON data, and the network element configuration index is used to store the index value corresponding to the corresponding JSON data, and the network element configuration index is used to control the configuration storage granularity and storage processing performance.
[0150] Optionally, the general-purpose structure data table includes a network element configuration index and a network element device configuration; the storage module 1401 is specifically used for:
[0151] Determine the index node in the network element configuration data according to the index configuration of the configuration file; the index node is a data node with an index function;
[0152] Split the array node in the network element configuration data according to the index node to obtain at least one piece of JSON data;
[0153] Store the index node and its index value in the network element configuration index;
[0154] Store at least one piece of JSON data in the network element device configuration.
[0155] Optionally, the general-purpose structure data table includes a network element device configuration; if the data node in the network element configuration data includes a first data node that can be referenced, the storage module 1401 is specifically used for:
[0156] Split the first data node in the network element configuration data according to the reference configuration of the configuration file;
[0157] Store the first data node separately in the network element device configuration in the database, and determine the row identifier where the first data node is located in the database;
[0158] Store the first data node in the second data node that references the first data node as the row identifier.
[0159] Optionally, if the configuration file includes a trigger, the storage module 1401 is further configured to:
[0160] Restore the split JSON data stored in the database to the network element configuration data before splitting;
[0161] Compare the new network element configuration data uploaded by the object with the network element configuration data before splitting, and determine the target data node where the node change event occurs;
[0162] According to the trigger of the target data node, trigger the object custom behavior corresponding to the trigger.
[0163] Optionally, if the configuration file also provides a node operation function for the JSON data, the storage module 1401 is further configured to:
[0164] Determine the type of node operation to be performed on the JSON data according to the operation specified by the object for the network element configuration data in advance;
[0165] According to the determined type, perform an operation behavior corresponding to the type on the operation data node in the JSON data.
[0166] Optionally, the network element configuration data stored in the database is a JSON text in text format, and the storage module 1401 is specifically configured to:
[0167] If the type of node operation is a node query operation, query the JSON text according to the index configuration of the network element configuration data; convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the first operation data node is found, and send the first operation data node to the object;
[0168] If the type of node operation is a node addition operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the second operation data node is found, and add the new node input by the object at the second operation data node;
[0169] If the type of node operation is a node update operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the third operation data node is found, and update the value of the third operation data node;
[0170] If the type of node operation is a node deletion operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the fourth operation data node is found, and delete the fourth operation data node.
[0171] If the type of node operation is a node merging operation, query the JSON text according to the index configuration of the network element configuration data, and convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the fifth operation data node is found, and merge the fifth operation data node according to the new JSON data uploaded by the object.
[0172] Optionally, merging the fifth operation data node according to the new JSON data uploaded by the object includes at least one of the following operations:
[0173] If there is a new node at the fifth operation data node in the new JSON data, merge the fifth operation data node by adding the new node at the fifth operation data node in the JSON data in the database.
[0174] If the new JSON data updates the value of the fifth operation data node, merge the fifth operation data node by updating the value of the fifth operation data node in the JSON data in the database.
[0175] For the convenience of description, the above parts are divided into various modules (or units) according to functions and described separately. Of course, when implementing the present application, the functions of the various modules (or units) can be implemented in the same or multiple software or hardware. Those skilled in the art can understand that various aspects of the present application can be implemented as a system, a method, or a program product. Therefore, various aspects of the present application can be specifically implemented in the following forms, namely: a complete hardware implementation, a complete software implementation (including firmware, microcode, etc.), or an implementation combining hardware and software aspects, which can be collectively referred to as "circuit", "module", or "system" here.
[0176] Next, refer to Figure 15 to describe the computing device 1500 according to this embodiment of the present application. Figure 15 The computing device 1500 is only an example and should not impose any limitations on the functions and usage scope of the embodiments of the present application.
[0177] As Figure 15 , the computing device 1500 is presented in the form of a general-purpose computing device. The components of the computing device 1500 may include, but are not limited to: the at least one processing unit 1501 described above, the at least one storage unit 1502 described above, and a bus 1503 connecting different system components (including the storage unit 1502 and the processing unit 1501).
[0178] The bus 1503 represents one or more of several types of bus structures, including a memory bus or a memory controller, a peripheral bus, a processor, or a local bus using any bus structure in a variety of bus structures.
[0179] The storage unit 1502 may include a readable medium in the form of volatile memory, such as random access memory (RAM) 1521 and / or cache memory 1522, and may further include read-only memory (ROM) 1523.
[0180] The storage unit 1502 may also include a program / utilities 1525 having a set (at least one) of program modules 1524. Such program modules 1524 include, but are not limited to: an operating system, one or more application programs, other program modules, and program data. Each or some combination of these examples may include an implementation of a network environment.
[0181] The computing device 1500 may also communicate with one or more external devices 1504 (such as a keyboard, pointing device, etc.), may also communicate with one or more devices that enable a user to interact with the computing device 1500, and / or may communicate with any device that enables the computing device 1500 to communicate with one or more other computing devices (such as a router, modem, etc.). Such communication may be through an input / output (I / O) interface 1505. And, the computing device 1500 may also communicate with one or more networks (such as a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) through a network adapter 1506. As Figure 15 shown, the network adapter 1506 communicates with other modules for the computing device 1500 through a bus 1503. It should be understood that, although not shown in the figure, other hardware and / or software modules may be used in conjunction with the computing device 1500, including but not limited to: microcode, device drivers, redundant processors, external disk drive arrays, RAID systems, tape drives, and data backup storage systems, etc.
[0182] The embodiments of the present application also provide a computer program product. The methods in the present application can be implemented in whole or in part by software, hardware, firmware, or any combination thereof. When implemented using software, it can be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer programs or instructions. When the computer program or instructions are loaded and executed on a computer, the processes or functions described in the present application are executed in whole or in part. The computer may be a general-purpose computer, a special-purpose computer, a computer network, a network device, a user device, a core network device, an OAM, or other programmable devices.
[0183] The computer-readable storage medium may be an implementation of the computer program product. That is, the embodiments of the present application also provide a computer-readable storage medium, which includes a computer program. When the computer program is executed by a processor, the data storage method as described above in any one is implemented.
[0184] The computer program or instructions can be stored in a computer-readable storage medium, or transmitted from one computer-readable storage medium to another. For example, the computer program or instructions can be transmitted from one website, computer, server, or data center to another website, computer, server, or data center in a wired or wireless manner. The computer-readable storage medium can be any available medium that can be accessed by a computer, or a data storage device such as a server or data center that integrates one or more available media. The available medium can be a magnetic medium, such as a floppy disk, hard disk, or magnetic tape; it can also be an optical medium, such as a digital video disc; or it can be a semiconductor medium, such as a solid-state drive. The computer-readable storage medium can be a volatile or non-volatile storage medium, or can include both volatile and non-volatile types of storage media.
[0185] Those skilled in the art should understand that the embodiments of the present application can be provided as a method, system, or computer program product. Therefore, the present application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Moreover, the present application can take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0186] The present application is described with reference to the flowcharts and / or block diagrams of methods, apparatuses (systems), and computer program products according to the present application. It should be understood that each flow and / or block in the flowchart and / or block diagram, and the combination of flows and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to the processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, such that the instructions executed by the processor of the computer or other programmable data processing device generate means for implementing the functions specified in Figure 1 one or more of the flows Figure 1 or multiple flows and / or blocks
[0187] These computer program instructions can also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner, such that the instructions stored in the computer-readable memory generate a manufactured article including instruction means that implement the functions specified in Figure 1 one or more of the flows Figure 1 or multiple flows and / or blocks
[0188] These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus, so that a series of operation steps are executed on the computer or other programmable apparatus to produce a computer-implemented process, thereby providing instructions for implementing the steps specified in one process or a plurality of processes and / or blocks Figure 1 one process or a plurality of processes and / or blocks Figure 1 steps for the functions specified in one block or a plurality of blocks.
[0189] Obviously, those skilled in the art can make various changes and modifications to this application without departing from the spirit and scope of this application. Thus, if these modifications and variations of this application fall within the scope of the claims of this application and their equivalent technologies, this application is also intended to include these modifications and variations.
Claims
1. A data storage method, which is applied in a software-defined network (SDN) structure. Characterized in that: The method includes: Obtaining the network element configuration data configured by an object for a network element device to be controlled; the network element configuration data is in JSON data format; According to a configuration file with a preset JSON data structure, splitting the network element configuration data and storing the splitting result in a database; the database includes a general-purpose structure data table; Wherein, the general-purpose structure data table includes one or more of a network element device identifier, a configuration type, a network element configuration index, and a network element device configuration; the network element device configuration is used to store the split JSON data, the network element configuration index is used to store the index value corresponding to the corresponding JSON data, and the network element configuration index is used to control the configuration storage granularity and storage processing performance.
2. The method according to claim 1, Characterized in that: The general-purpose structure data table includes the network element configuration index and the network element device configuration; the splitting of the network element configuration data according to a configuration file with a preset JSON data structure includes: Determining an index node in the network element configuration data according to the index configuration of the configuration file; the index node is a data node with an index function; According to the index node, splitting the array nodes in the network element configuration data to obtain at least one piece of JSON data; The storing the splitting result in the database includes: Storing the index node and the index value of the index node in the network element configuration index; Storing the at least one piece of JSON data in the network element device configuration.
3. The method according to claim 1, Characterized in that: The general-purpose structure data table includes the network element device configuration; if the data node in the network element configuration data includes a first data node that can be referenced, then the splitting of the network element configuration data according to a configuration file with a preset JSON data structure includes: Splitting the first data node in the network element configuration data according to the reference configuration of the configuration file; The storing the splitting result in the database includes: Storing the first data node separately in the network element device configuration in the database and determining the row identifier where the first data node is located in the database; Storing the first data node referenced in the second data node as the row identifier.
4. The method according to claim 1, Characterized in that: If the configuration file includes a trigger, the method further includes: Restoring the split JSON data stored in the database to the network element configuration data before splitting; Comparing the new network element configuration data uploaded by the object with the network element configuration data before splitting to determine the target data node where a node change event occurs; Triggering the object-customized behavior corresponding to the trigger according to the trigger of the target data node.
5. The method according to claim 1, Characterized in that: If the configuration file also provides node operation functions for JSON data, the method further includes: Determine the type of node operation to be performed on the JSON data according to the operation pre-specified by the object for the network element configuration data; According to the determined type, perform an operation behavior corresponding to the type on the operation data node in the JSON data.
6. The method according to claim 5, characterized in that, the network element configuration data stored in the database is a JSON text in text format, and the performing an operation behavior corresponding to the type on the operation data node in the JSON data according to the determined type includes: if the type of the node operation is a node query operation, query the JSON text according to the index configuration of the network element configuration data; convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the first operation data node is found, and send the first operation data node to the object; if the type of the node operation is a node addition operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the second operation data node is found, and add a new node input by the object at the second operation data node; if the type of the node operation is a node update operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the third operation data node is found, and update the value of the third operation data node; if the type of the node operation is a node deletion operation, query the JSON text according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the fourth operation data node is found, and delete the fourth operation data node; if the type of the node operation is a node merge operation, query the JSON text in the database according to the index configuration of the network element configuration data, convert the JSON text into JSON data according to the configuration file; traverse and query the JSON data until the fifth operation data node is found, and merge the fifth operation data node according to the new JSON data uploaded by the object.
7. The method according to claim 6, characterized in that, the merging of the fifth operation data node according to the new JSON data uploaded by the object includes at least one of the following operations: if there is a new node at the fifth operation data node in the new JSON data, merge the fifth operation data node by adding the new node at the fifth operation data node in the JSON data in the database; if the new JSON data updates the value of the fifth operation data node, merge the fifth operation data node by updating the value of the fifth operation data node in the JSON data in the database.
8. A data storage device, which is applied in a software-defined network (SDN) architecture, characterized in that it includes: an acquisition unit, configured to acquire network element configuration data configured by an object for a network element device to be controlled; the network element configuration data is in JSON data format; a storage unit, configured to split the network element configuration data according to a configuration file with a preset JSON data structure, and store the split result in a database; the database includes a general-purpose structure data table; wherein, the general-purpose structure data table includes one or more of a network element device identifier, a configuration type, a network element configuration index, and a network element device configuration; the network element device configuration is used to store the split JSON data, the network element configuration index is used to store an index value corresponding to the corresponding JSON data, and the network element configuration index is used to control the configuration storage granularity and storage processing performance.
9. An electronic device, characterized in that it includes a processor and a memory, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor is caused to execute the steps of the method according to any one of claims 1 to 7.
10. A computer program product, including a computer program, characterized in that when the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.