CN113179332B - Method, electronic device and storage medium for acquiring configuration information - Google Patents

Method, electronic device and storage medium for acquiring configuration information Download PDF

Info

Publication number
CN113179332B
CN113179332B CN202110715808.8A CN202110715808A CN113179332B CN 113179332 B CN113179332 B CN 113179332B CN 202110715808 A CN202110715808 A CN 202110715808A CN 113179332 B CN113179332 B CN 113179332B
Authority
CN
China
Prior art keywords
node
configuration information
configuration
attribute key
child node
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110715808.8A
Other languages
Chinese (zh)
Other versions
CN113179332A (en
Inventor
袁宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Maice Data Technology Co ltd
Maice Shanghai Intelligent Technology Co ltd
Original Assignee
Shanghai Maice Data Technology Co ltd
Maice Shanghai Intelligent Technology Co ltd
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 Shanghai Maice Data Technology Co ltd, Maice Shanghai Intelligent Technology Co ltd filed Critical Shanghai Maice Data Technology Co ltd
Priority to CN202110715808.8A priority Critical patent/CN113179332B/en
Publication of CN113179332A publication Critical patent/CN113179332A/en
Application granted granted Critical
Publication of CN113179332B publication Critical patent/CN113179332B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Embodiments of the present disclosure relate to a method, an electronic device, and a computer storage medium for acquiring configuration information, and relate to the field of information processing. According to the method, a request for application configuration is received, the request indicating an application configuration identity; determining a first website associated with the received application configuration identifier, the first website storing logical connection information associated with the application configuration; acquiring logic connection information associated with the application configuration from the determined first website, wherein the logic connection information indicates logic connection relations among a plurality of second websites, and each second website stores an attribute key value pair associated with the application configuration; parsing the logical connection information to generate an abstract syntax tree; and generating configuration information for responding to the request based on the abstract syntax tree, the configuration information including attribute key-value pairs. Therefore, the software-defined virtual configuration server can be realized, and the flexibility of assembly configuration is improved.

Description

Method, electronic device and storage medium for acquiring configuration information
Technical Field
Embodiments of the present disclosure relate generally to the field of information processing, and more particularly, to a method, an electronic device, and a computer storage medium for acquiring configuration information.
Background
Configuration is a method for personalizing applications, simple applications may be configured as a file (typically in json, yaml, xml, ini, toml, etc. format), complex applications or micro-services may provide a centralized configuration server. When the application is started, the configuration information of the application is obtained from a file or a central configuration server, and the application is started after some personalized settings are carried out.
The centralized configuration server may store the configuration of several applications, which may be shared by several applications, each acquiring its own configuration data as needed. Centralized configuration servers tend to suffer from the problems of complex maintenance and susceptibility to single point failures.
Disclosure of Invention
A method, an electronic device and a computer storage medium for acquiring configuration information are provided, which can realize a software-defined virtual configuration server and improve flexibility of assembly configuration.
According to a first aspect of the present disclosure, a method for obtaining configuration information is provided. The method comprises the following steps: receiving a request for application configuration, the request indicating an application configuration identifier; determining a first website associated with the received application configuration identifier based on the association between the application configuration identifier and the first website, the first website storing logical connection information associated with the application configuration; acquiring logic connection information associated with the application configuration from the determined first website, wherein the logic connection information indicates a logic connection relationship among a plurality of second websites, and each second website in the plurality of second websites stores an attribute key value pair associated with the application configuration; analyzing the logical connection information to generate an abstract syntax tree, wherein the abstract syntax tree takes a plurality of second websites as leaf nodes and takes the logical connection relation indicators as non-leaf nodes; and generating configuration information for responding to the request based on the abstract syntax tree, the configuration information including attribute key-value pairs.
According to a second aspect of the present disclosure, an electronic device is provided. The electronic device includes: at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, the instructions being executable by the at least one processor to enable the at least one processor to perform the method according to the first aspect.
In a third aspect of the present disclosure, a computer-readable storage medium is provided, on which a computer program is stored which, when executed by a processor, implements a method according to the first aspect of the present disclosure.
It should be understood that the statements in this section do not necessarily identify key or critical features of the embodiments of the present disclosure, nor do they limit the scope of the present disclosure. Other features of the present disclosure will become apparent from the following description.
Drawings
The above and other features, advantages and aspects of various embodiments of the present disclosure will become more apparent by referring to the following detailed description when taken in conjunction with the accompanying drawings. In the drawings, like or similar reference characters designate like or similar elements.
FIG. 1 is a schematic diagram of an information handling environment 100 according to an embodiment of the present disclosure.
Fig. 2 is a schematic diagram of a method 200 for obtaining configuration information, according to an embodiment of the present disclosure.
Fig. 3 is a schematic diagram of a method 300 for generating configuration information, in accordance with an embodiment of the present disclosure.
Fig. 4 is a schematic diagram of a method 400 for generating configuration information, in accordance with an embodiment of the present disclosure.
Fig. 5 is a schematic diagram of a method 500 for generating configuration information, according to an embodiment of the present disclosure.
Fig. 6 is a schematic block diagram of a method 600 for generating configuration information in accordance with an embodiment of the present disclosure.
Fig. 7 is a schematic block diagram of a logical connection relationship 700 according to an embodiment of the present disclosure.
Fig. 8 is a schematic block diagram of an abstract syntax tree 800 according to an embodiment of the present disclosure.
Fig. 9 is a schematic block diagram of an abstract syntax tree 900 according to an embodiment of the present disclosure.
Fig. 10 is a schematic block diagram of a logical connection relationship 1000 in accordance with an embodiment of the present disclosure.
Fig. 11 is a block diagram of an electronic device for implementing a method for obtaining configuration information according to an embodiment of the present disclosure.
Detailed Description
Exemplary embodiments of the present disclosure are described below with reference to the accompanying drawings, in which various details of the embodiments of the disclosure are included to assist understanding, and which are to be considered as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the present disclosure. Also, descriptions of well-known functions and constructions are omitted in the following description for clarity and conciseness.
The term "include" and variations thereof as used herein is meant to be inclusive in an open-ended manner, i.e., "including but not limited to". Unless specifically stated otherwise, the term "or" means "and/or". The term "based on" means "based at least in part on". The terms "one example embodiment" and "one embodiment" mean "at least one example embodiment". The term "another embodiment" means "at least one additional embodiment". The terms "first," "second," and the like may refer to different or the same object. Other explicit and implicit definitions are also possible below.
As described above, a centralized configuration server is an application developed specifically for reading and writing configuration data, and requires separate deployment and maintenance. However, generally, large application programs all have application services with storage functions, such as a database, Redis, Consul, and the like, and if the configuration services can be "hosted" in existing services in the infrastructures, the purpose of maintaining one configuration service more than once can be omitted. Since the infrastructures of different applications are often very different, if the "parasitic" capability of the configuration service is superior, and can be parasitic to various storage media, the configuration service can be made more vital.
The centralized server also has a problem of single point of failure, and at this time, various highly available configurations are often required to be made for the centralized server, which increases the difficulty of maintenance. If the centralized server supports distributed deployment and supports heterogeneous high availability, the stability of the configuration service can be improved.
The configuration of large applications can be very complex, with the configuration of each environment varying in magnitude. If each environment copies a configuration and modifies a few personalized parameters as needed. When the common parameters need to be modified later, the problem of needing to modify each copy one by one is faced, which complicates the modification of the configuration. If the configuration server can support multiple hierarchies, the first hierarchy provides main configuration information, the second hierarchy provides a few configuration information needing to be modified, and the final configuration is obtained by superposing the data of the two hierarchies, each application only needs to independently set a few individualized configurations, so that the maintenance complexity caused by copying is solved.
Other large applications support both microservice and monolithic deployment, each microserver has a separate configuration, monolithic deployment may be the result of merging the configuration of each microservice, and conventional configuration methods mean manually merging the configuration of each microservice for use by a monolithic application. If the configuration service supports multiple tiers, one microservice for each tier, it can be used for both microservices and monolithic deployments without modification.
To address, at least in part, one or more of the above issues and other potential issues, example embodiments of the present disclosure propose a scheme for obtaining configuration information. In this approach, a computing device receives a request for an application configuration, the request indicating an application configuration identifier, and determines a first website associated with the received application configuration identifier based on an association between the application configuration identifier and the first website, the first website storing logical connection information associated with the application configuration. The computing device obtains logical connection information associated with the application configuration from the determined first web address, the logical connection information indicating logical connection relationships between a plurality of second web addresses, each of the plurality of second web addresses storing attribute key value pairs associated with the application configuration, and parses the logical connection information to generate an abstract syntax tree, the abstract syntax tree having the plurality of second web addresses as leaf nodes and the logical connection relationship indicator as a non-leaf node. The computing device generates configuration information for responding to the request based on the abstract syntax tree, the configuration information including attribute key-value pairs. In this way, the software-defined virtual configuration server can be realized, and the flexibility of assembly configuration is improved.
Hereinafter, specific examples of the present scheme will be described in more detail with reference to the accompanying drawings.
FIG. 1 shows a schematic diagram of an example of an information processing environment 100, according to an embodiment of the present disclosure. The information handling environment 100 may include a computing device 110, a request 120 for an application configuration, an association 130 between an application configuration identification and a first web address, a first web address 140, and a plurality of second web addresses 150-1 through 150-n (hereinafter referred to collectively as second web addresses 150).
The computing device 110 includes, for example, but is not limited to, a personal computer, desktop computer, tablet computer, laptop computer, smart phone, personal digital assistant, server computer, multiprocessor system, mainframe computer, distributed computing environment that includes any of the above systems or devices, and the like. In some embodiments, the computing device 110 may have one or more processing units, including special purpose processing units such as image processing units GPU, field programmable gate arrays FPGA, and application specific integrated circuits ASIC, and general purpose processing units such as central processing units CPU.
The request 120 for application configuration may come, for example, from an application running on a terminal device (not shown). Examples of such terminal devices include, but are not limited to, personal computers, desktop computers, tablet computers, laptop computers, smart phones, personal digital assistants. In some embodiments, the computing device 110 may be the same device as the terminal device, that is, the request 120 is a call request for application configuration received by the computing device 110 from an application running thereon. In other embodiments, computing device 110 may be a different server than the terminal device.
The first web address 140 has stored therein logical connection information associated with the application configuration. The logical connection information indicates logical connection relationships between the plurality of second web addresses 150. Each second web address 150 has stored at it an attribute key-value pair associated with the application configuration, for example in the form of < key, value >. It should be appreciated that the second web address may store an attribute key-value pair that is null. The attribute key-value pairs stored at different second web addresses may be identical, partially identical or completely different.
The computing device 110 is operable to receive a request 120 for an application configuration, the request 120 indicating an application configuration identification; determining a first web address associated with the received application configuration identifier based on an association 130 between the application configuration identifier and the first web address, the first web address storing logical connection information associated with the application configuration; obtaining logical connection information associated with the application configuration from the determined first website 140, the logical connection information indicating logical connection relationships between a plurality of second websites 150, each second website 150 of the plurality of second websites 150 storing an attribute key-value pair associated with the application configuration; and parsing the logical connection information to generate an abstract syntax tree, the abstract syntax tree having the plurality of second web addresses 150 as leaf nodes and having the logical connection relationship indicator as a non-leaf node; and generating configuration information 160 for responding to the request based on the abstract syntax tree, the configuration information including attribute key-value pairs.
Therefore, the software-defined virtual configuration server can be realized, the flexibility of assembly configuration is improved, and the problem of single-point failure of the configuration server is avoided.
Fig. 2 shows a flow diagram of a method 200 for obtaining configuration information according to an embodiment of the present disclosure. For example, the method 200 may be performed by the computing device 110 as shown in FIG. 1. It should be understood that method 200 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the present disclosure is not limited in this respect.
At block 202, the computing device 110 receives a request 120 for an application configuration, the request 120 indicating an application configuration identification.
At block 204, the computing device 110 determines a first web address 140 associated with the received application configuration identification based on the association 130 between the application configuration identification and the first web address, the first web address 140 storing logical connection information associated with the application configuration.
At block 206, the computing device 110 obtains logical connection information associated with the application configuration from the determined first website 140, the logical connection information indicating logical connection relationships between a plurality of second websites 150, each second website 150 of the plurality of second websites 150 storing an attribute key-value pair associated with the application configuration.
The logical connection relationship includes, but is not limited to, for example, a connection relationship (e.g., &), or a connection relationship (e.g., | |), a conditional connection relationship (e.g., IF), and a pipe connection relationship (e.g., >), etc.
An example of logical connection information is postgresql:// locaast: 5432 & file:// etc/config/abc.json, which indicates the connection relationship (&) between two second web addresses (postgresql:// locaast: 5432, file:// etc/config/abc.json, which may be denoted by config1, config2 below). Another example of logical connection information is config1 | | config2, which indicates the or connection relationship (| |) between two second web addresses.
The attribute key-value pairs stored at different second web addresses may be identical, partially identical, or completely different. For example, an attribute key-value pair associated with an application configuration, e.g., { a =1, b =2} may be stored at postgresql:// locahost: 5432. Json may have stored attribute key-value pairs associated with the application configuration, e.g., { c =3, d =4, a =9 }.
Another example of the logical connection information is condition _ config IF config _1 ELSE config _ 2. Where IF is the conditional connectivity indicator, ELSE is optional. If the attribute value obtained from condition _ config (e.g., sql:// locahost: 1234) is true, then the attribute key-value pair in config _1 is read, otherwise the attribute key-value pair in config _2 is read.
Yet another example of logical connection information is config1 > config2 > config3 (e.g., postgresql:// locahost: 6789), where > for a pipe connection relationship indicator, an attribute key-value pair is read from config1, then from config2 based on the attribute value in the attribute key-value pair being an attribute key, and then from config3 based on the attribute value in the attribute key-value pair being an attribute key.
Only some examples of the logical connection information are shown above, and the logical connection information may take other forms or may be arbitrarily combined with the above examples, and the scope of the present disclosure is not limited thereto.
In some embodiments, the plurality of storage devices for attribute key-value pairs corresponding to the plurality of second web addresses are heterogeneous. The heterogeneity is illustrated by taking 3 second websites as an example, wherein one second website may point to MySQL, another second website may point to Redis, and yet another second website may point to a file. The MySQL, Redis and files can store attribute key value pairs, and obtaining the attribute key value pairs from the second website is equivalent to obtaining the attribute key value pairs from the MySQL, Redis and files. It should be understood that the 3 second websites are only examples, MySQL, Redis, and files are also only examples, there may be more or less second websites, and the corresponding storage devices may also be other storage devices capable of storing key-value pairs, and the scope of the disclosure is not limited herein. Thus, the storage devices used for storing the attribute key value peer-to-peer configuration information can be heterogeneous, thereby enabling the configuration to be hosted in existing storage devices without the need for a dedicated storage device.
At block 208, the computing device 110 parses the logical connection information to generate an abstract syntax tree having the plurality of second web addresses 150 as leaf nodes and the logical connection relationship indicator as a non-leaf node.
Take the logical connection information config _ modify & ((config _ app1& config _ app2) | config _ mirror) as an example, where config _ modify, config _ app1, config _ app2, and config _ mirror respectively refer to 4 second web addresses (e.g., postgresql:// locaast: 1, postgresql:// locaast: 2, postgresql:// locaast: 3, postgresql:// locaast: 4). The logical connection relationship corresponding to the logical connection information may be as shown in fig. 7. Wherein, the main configuration server 730 (corresponding to the second website config _ a) divides the configuration into an application configuration 1, 710 (corresponding to the second website config _ app 1) and an application configuration 2, 720 (corresponding to the second website config _ app2) by the application in a sliced form.
In addition, in order to support high availability, a mirror configuration 740 (corresponding to the second network address config _ mirror) is also deployed, and the mirror configuration 740 does not adopt a fragmentation structure and contains the configurations of all applications. After the main configuration 730 and the mirror configuration 740 are "or-connected" to obtain the configuration server 750 (corresponding to the second website config _ b), the applications 1, 760 and 2, 770 can directly connect to the config _ b 750 and read the configuration information associated with themselves.
In addition, in order to support debugging of the application 1, 760, a new configuration server 780 (corresponding to the second website config _ modify) is constructed locally, which modifies only a few configuration information that needs to be modified during debugging. Then, the config _ modify 780 and the config _ b 750 are "and-connected", and the config _ modify 780 is set to have a higher optimization level, so that the debug configuration server 790 (corresponding to config _ debug) required by the debug application 1, 791 is obtained after connection, that is, the debug configuration server corresponds to config _ modify & ((config _ app1& config _ app2) | | config _ mirror).
Thereby, the purpose of building more complex configuration servers by using and or connections simultaneously can be supported while obtaining configuration slices, hierarchical coverage and high availability.
From the logical connection relationship as shown in fig. 7, an abstract syntax tree 800 as shown in fig. 8 may be generated, the non-leaf nodes 810 and 830 in the abstract syntax tree 800 being the connection relationship indicator &, or the connection relationship indicator |, and the connection relationship indicator &, respectively, and the leaf nodes 840 and 870 in the abstract syntax tree 800 being the second network addresses config _ modify, config _ app1, config _ app2, and config _ mirror, respectively. It should be understood that the above-mentioned logical connection information is only an example, the logical connection information may also include other forms of information, for example, any combination of connection relationships or logical connection relationships such as connection relationships, conditional connection relationships, and pipe connection relationships, and the generated abstract syntax tree may also be in other forms, and the scope of the present disclosure is not limited thereto.
At block 210, the computing device 110 generates configuration information based on the abstract syntax tree for use in responding to the request, the configuration information including attribute key-value pairs. Attribute key-value pairs are obtained from at least one of the plurality of second web addresses, e.g., based on the abstract syntax tree, to generate configuration information. The method for generating configuration information will be described in detail below in conjunction with fig. 3-6.
Therefore, the software-defined virtual configuration server can be realized, the flexibility of assembly configuration is improved, and the problem of single-point failure of the configuration server is avoided. In particular, a configuration application service is provided that is distributively deployable, hierarchically and flexibly adaptable to a variety of different infrastructures.
Fig. 3 shows a flow diagram of a method 300 for generating configuration information according to an embodiment of the present disclosure. For example, the method 300 may be performed by the computing device 110 as shown in FIG. 1. It should be understood that method 300 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the disclosure is not limited in this respect.
At block 302, the computing device 110 determines whether the root node of the abstract syntax tree is a join relationship indicator.
If the computing device 110 determines at block 302 that the root node of the abstract syntax tree is the or connection relationship indicator, then at block 304 it is determined whether the left child node of the root node is a leaf node.
If, at block 304, computing device 110 determines that the left child node is a non-leaf node, at block 306, configuration information is recursively generated based on the left sub-tree of the root node.
If, at block 304, the computing device 110 determines that the left child node is a leaf node, at block 308, it is determined whether it is a failure to obtain the attribute key-value pair from the second web address 150 to which the left child node corresponds.
If, at block 308, the computing device 110 determines that the obtaining of the attribute key-value pair from the second web address 150 corresponding to the left child node has not failed, at block 310, the obtained attribute key-value pair is used as configuration information.
If, at block 308, the computing device 110 determines that the obtaining of the attribute key-value pair from the second web address 150 corresponding to the left child node fails, then at block 312 it is determined whether the right child node of the root node is a leaf node.
If, at block 312, computing device 110 determines that the right child node is a non-leaf node, at block 314, configuration information is recursively generated based on the right sub-tree of the root node.
That is, the process for generating the configuration information is performed with the right sub-tree of the root node as an abstract syntax tree. If the root node of the abstract syntax tree is the join relationship indicator, then method 300 continues to be performed, if the root node of the abstract syntax tree is the other logical relationship indicator, then the process associated with the other logical relationship indicator may be performed, for example, if the root node is the join relationship indicator, method 400 may be performed, if the root node is the conditional join relationship indicator, method 500 may be performed, if the root node is the pipe join relationship indicator, method 600 may be performed, it should be understood that these logical relationship indicators are merely examples, and the scope of the present disclosure is not limited thereto.
If, at block 312, computing device 110 determines that the right child node is a leaf node, at block 316, the attribute key-value pair is obtained from the second web address 150 corresponding to the right child node as configuration information.
For example, if the set of key-value pairs of the second network address config _1 corresponding to the left child node is { a =1, b =2}, and the set of key-value pairs of the second network address config _2 corresponding to the right child node is { a =5, b =6, c =7}, then the set of key-value pairs corresponding to the concatenated config is the content of config _1, that is, { a =1, b =2 }. If config _1 fails, or the result of the connection becomes the content { a =5, b =6, c =7} of config _ 2.
In some embodiments, the attribute key-value pair obtained from the second web address corresponding to the left child node is the same as the attribute key-value pair obtained from the second web address corresponding to the right child node. For example, config _1 and config _2 store key-value pair contents that are identical. Thus, when config _1 fails, the same result can be read even after the automatic switching to read config _ 2.
Thereby, or the connection enables a high availability of the configuration. When the configuration of the high optimization level fails, the configuration of the low optimization level can be automatically switched to. Such high availability does not require complex architectural deployments and supports heterogeneous high availability. For example, one configuration is stored in MySQL, a mirror configuration is stored in a file, and the file can be read if MySQL fails.
Fig. 4 shows a flow diagram of a method 400 for generating configuration information according to an embodiment of the present disclosure. For example, the method 400 may be performed by the computing device 110 as shown in FIG. 1. It should be understood that method 400 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the disclosure is not limited in this respect.
At block 402, the computing device 110 determines whether the root node of the abstract syntax tree is a connection relationship indicator.
If, at block 402, the computing device 110 determines that the root node of the abstract syntax tree is an and-join relationship indicator, then, at block 404, it is determined whether the left child node is a leaf node.
If, at block 404, the computing device 110 determines that the left child node is a leaf node, at block 406, the attribute key-value pair is obtained from the second web address 150 corresponding to the left child node as the first portion of the configuration information.
In some embodiments, the first portion of configuration information is used for application testing. Therefore, the first part of configuration information for application test is prior to the configuration higher than the normal application configuration, only a few pieces of configuration information for debugging are needed to be modified, large-scale copying and then modification are not needed, and the debugging efficiency is improved.
If, at block 404, computing device 110 determines that the left child node is a non-leaf node, then, at block 408, a first portion of configuration information is recursively generated based on the left sub-tree of the root node.
That is, the process for generating the configuration information is performed with the left sub-tree of the root node as an abstract syntax tree. If the root node of the abstract syntax tree is the join relationship indicator, then method 400 continues to be performed, if the root node of the abstract syntax tree is the other logical relationship indicator, then the process associated with the other logical relationship indicator may be performed, for example, if the root node is the join relationship indicator, then method 300 may be performed, if the root node is the conditional join relationship indicator, then method 500 may be performed, if the root node is the pipe join relationship indicator, then method 600 may be performed, it should be understood that these logical relationship indicators are merely examples, and the scope of the present disclosure is not limited thereto.
At block 410, the computing device 110 determines whether the right child node is a leaf node.
If, at block 410, the computing device 110 determines that the right child node is a leaf node, at block 412, the attribute key-value pair is obtained from the second web address 150 corresponding to the right child node as the second portion of the configuration information.
If computing device 110 determines that the right child node is a non-leaf node at block 410, then at block 414 a second portion of configuration information is recursively generated based on the right sub-tree of the root node. The recursive process is similar to the above and will not be described in detail.
At block 416, the computing device 110 merges the attribute key-value pairs of the second portion of configuration information that do not intersect the first portion of configuration information with the first portion of configuration information to generate configuration information.
For example, the first part of configuration information includes { a =1, b =2}, and the second part of configuration information includes { c =3, d =4, a =9}, and the generated configuration information includes { a =1, b =2, c =3, d =4}, where a =9 is covered by a =1, that is, a =1 in the first part of configuration information has a higher priority.
Thus, the application configuration can be divided into a plurality of parts in a connection relationship, and the parts are stored in different addresses, so that the final configuration information can be generated by combining the plurality of parts. The tiers are ordered and then connected by an optimization level. For the same attribute or configuration item, if the two levels define the same content, the priority level is higher. If different configuration items are defined by different hierarchies, these configuration items are superimposed or merged together. In contrast to the connection support configuration overlay, if the configuration of each service is the same or different, the same data is stored in one low-priority tier, and the special configuration of each application is stored in another high-priority tier, then the application only needs to maintain its own small number of different configuration items.
To illustrate the process of combining the methods 300 and 400 by taking the abstract syntax tree 800 shown in fig. 8 as an example, the root node 810 of the abstract syntax tree 800 is determined to be the and connection relationship indicator, i.e., &. Subsequently, if it is determined that the left child node 840 of the root node 810 is a leaf node, the attribute key-value pair is obtained from the second network address config _ modify corresponding to the left child node 840 as the first part of configuration information part 1. The computing device 110 determines that the right child node 820 is a non-leaf node and recursively generates the second part configuration information part2 based on the right sub-tree of the root node 810.
Upon entering the first level of recursion, the root node 820 of the right sub-tree is determined to be the OR connection indicator, i.e., | |. Subsequently, it is determined that the left child node 830 of the root node 820 is a non-leaf node, and the second partial configuration information part2 is recursively generated based on the left sub-tree of the root node 820.
Upon entering the second level of recursion, the root node 830 of the left sub-tree is determined to be the and connection relation indicator &. Subsequently, it is determined that the left child node 850 of the root node 830 is a leaf node, and the attribute key-value pair is obtained from the second website config _ app1 corresponding to the left child node 840 as the first partial configuration information part2_1 in the second partial configuration information. The computing device 110 determines that the right child node 860 is a non-leaf node, and then obtains the attribute key value pair from the second website config _ app2 corresponding to the right child node 860, as the second partial configuration information part2_2 in the second partial configuration information. Subsequently, the attribute key value pair in which there is no intersection between the second part configuration information part2_2 in the second part configuration information and the first part configuration information part2_1 in the second part configuration information is merged with the first part configuration information part2_1 in the second part configuration information to generate the second part configuration information part 2.
By this point the second level recursion ends, returning to the first level recursion (this time the root node is 820). If the computing device 110 determines that the acquisition of the second part of the configuration information part2 from the left sub-tree of the root node 820 has not failed, the recursion is ended directly, because the first layer recurses to or is connected. If the computing device 110 determines that the second portion of configuration information part2 obtained from the left sub-tree of the root node 820 fails, it determines whether the right child node 870 of the root node 820 is a leaf node. As shown in fig. 8, if the right child node 870 is determined to be a leaf node, the attribute key value pair is obtained from the second website config _ mirror corresponding to the right child node 870 as the second partial configuration information part 2.
By this point, the first layer recursion ends. The computing device 110 merges the attribute key value pair where there is no intersection of the second part configuration information part2 with the first part configuration information part1 with the first part configuration information part1 to generate the second part configuration information.
Fig. 5 shows a flow diagram of a method 500 for generating configuration information according to an embodiment of the present disclosure. For example, the method 500 may be performed by the computing device 110 as shown in fig. 1. It should be understood that method 500 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the disclosure is not limited in this respect.
At block 502, the computing device 110 determines whether the root node of the abstract syntax tree is a conditional join relationship indicator.
If, at block 502, the computing device 110 determines that the root node of the abstract syntax tree is a conditional connectivity relationship indicator, at block 504, attribute key-value pairs are obtained from the second web address 150 corresponding to the left child node of the root node.
At block 506, the computing device 110 determines whether the attribute value in the attribute key-value pair is true.
If, at block 506, the computing device 110 determines that the attribute value in the attribute key-value pair is true, then, at block 508, it is determined whether the right child node of the root node is a leaf node.
If, at block 508, the computing device 110 determines that the right child node of the root node is a leaf node, at block 510, the attribute key-value pair is obtained from the second website 150 corresponding to the right child node of the root node as configuration information.
If, at block 508, the computing device 110 determines that the right child node of the root node is a non-leaf node, at block 512, the attribute key-value pair is obtained from the second web address 150 corresponding to the left child node of the right child node of the root node as configuration information.
If, at block 506, the computing device 110 determines that the attribute value is not true, then, at block 514, the attribute key-value pair is obtained from the second web address 150 corresponding to the right child of the root node as configuration information.
The abstract syntax tree 900 shown in fig. 9 will be described as an example. The root node 910 of the abstract syntax tree 900 is first determined as a conditional nexus IF. As shown in FIG. 9, the attribute key-value pair is obtained from the second web address condition _ config corresponding to the left child node 920 of the root node 910.
If the attribute value in the obtained attribute key value pair is true, it is determined whether the right child node 930 of the root node 810 is a leaf node. As shown in fig. 9, if the right child node 930 is a non-leaf node, the attribute key value pair is obtained from the second website config _1 corresponding to the left child node 940 of the right child node 930 of the root node 910 as configuration information.
If the attribute value in the obtained attribute key value pair is not true, obtaining the attribute key value pair from the second website config _2 corresponding to the right child node 950 of the right child node 930 of the root node 910 as configuration information.
Therefore, the other attribute values in the application configuration can be determined and read by taking a certain attribute value of the application configuration as a condition, and the flexibility of configuration acquisition is improved.
Some incompatible changes can be caused when the application is upgraded, and the problem of coexistence of multiple versions of application programs exists in the gray scale test. For example, reading the application configuration is preceded by a key = bar read, and the new application switches to read by key = foo. Both pointing to the same configuration in practice. To be compatible with two different versions of an application, without changing the application 1.0 and the original configuration, the application 2.0 may connect a server added with a layer of key value mapping through a pipe before configuring the server, as shown in fig. 10, the application 1.01010 reads the original configuration 1020 (corresponding to the second website original _ configuration) through key = bar, the application 2.01030 reads the key value mapping configuration 1040 (corresponding to the second website key _ configuration) through key = foo, including the attribute value bar, and then reads the original configuration 1020 through key = bar. So applying 2.0 can read the same configuration with the new key = foo. As will be described in detail below in connection with fig. 6.
Fig. 6 shows a flow diagram of a method 600 for generating configuration information, in accordance with an embodiment of the present disclosure. For example, the method 600 may be performed by the computing device 110 as shown in FIG. 1. It should be understood that method 600 may also include additional blocks not shown and/or may omit blocks shown, as the scope of the disclosure is not limited in this respect. The request 120 also indicates an attribute key that,
at block 602, the computing device 110 determines whether the root node of the abstract syntax tree is a pipe connection relationship indicator.
If, at block 602, the computing device 110 determines that the root node of the abstract syntax tree is a pipe connection relationship indicator, at block 604 attribute key-value pairs are obtained from the second web address 150 corresponding to the left child node of the root node.
At block 606, the computing device 110 determines whether the right child node of the root node is a leaf node.
If, at block 606, the computing device 110 determines that the right child node of the root node is a leaf node, at block 608, an attribute key-value pair whose attribute key matches the attribute value in the obtained attribute key-value pair is obtained from the second web address 150 corresponding to the right child node of the root node as configuration information.
If, at block 606, the computing device 110 determines that the right child node of the root node is a non-leaf node, at block 610, configuration information is recursively generated based on the right sub-tree of the root node, with the attribute values in the obtained pairs of attribute key values as attribute keys.
Therefore, the application compatible with two different versions can be configured and obtained through the pipe connection relation indicator and the key value mapping.
In addition, the same application may be run using different configurations at different stages, such as a production environment, a pre-release environment, and a test environment. The conventional approach to switching contexts is to change the startup parameters of the application. If there are many instances of applications, switching contexts one by one becomes complicated. The aim of rapidly switching all application configurations can be achieved by introducing a classification connection relation indicator (switch).
At deployment time, the application is not directly connected to a specific configuration, but rather to a switch _ config. When the environment needs to be switched, the switch inside the switch _ config is switched to a specific application configuration, and all the applications are automatically switched to the configuration.
Assuming that the configuration server of the application stores all configurations, only a few of them may be needed for a particular application, or some sensitive information not needed by the application, such as a username and password, may be configured in its entirety, which may be desirable to hide part of the configuration from the application without changing the original configuration. This function can be implemented using a conditional connection IF and a non-connection NOT.
mask _ config is some bootean type configurations, which records all configurations that need to be hidden, generates inverted configuration invert _ config through unconnected NOT, which is equivalent to that invert _ config stores all configurations that do NOT need to be hidden (actually, they do NOT store), and finally connects the final configuration server needed by the original configuration final generation application through conditional connection indicator IF.
When an application accesses a certain configuration origin _ config, the value of mask _ config is read first, and only when the value of mask _ config is False (after the invert returns, it is True), the application can normally read the configuration origin _ config, otherwise, the configuration cannot be found.
In addition, a configuration server monitor _ config may be provided that monitors the configuration access, which returns an absence for any key request, but internally records the access to the key. A real configuration server config is then added using the connection. Thus, access to each key by an application will eventually read the value stored in the config, but each read is monitored and counted. The hot spot and cold gate configuration can be analyzed through monitoring, and whether the access logic of the application to the configuration is reasonable or not can be analyzed.
It should be understood that in some embodiments, the different logical connections described above may be combined in any way, in which case the recursive steps mentioned above may implement recursion for the entire flow, and are not limited to implementing recursion for individual logical connections. For example, for the method 200, if the computing device 110 determines that the right child node is a non-leaf node at block 312, then at block 314, the configuration information is recursively generated based on the right sub-tree of the root node. Recursively generating configuration information corresponds to performing method 400 if the root node in the right sub-tree is the join relationship indicator, performing method 500 if the root node in the right sub-tree is the conditional join relationship indicator, and performing method 600 if the root node in the right sub-tree is the pipe join relationship indicator. For the method 400, recursion is also a similar process and will not be described in further detail.
Fig. 11 shows a schematic block diagram of an example device 1100 that may be used to implement embodiments of the present disclosure. For example, computing device 110 as shown in FIG. 1 may be implemented by device 1100. As shown, device 1100 includes a Central Processing Unit (CPU) 1101 that can perform various appropriate actions and processes in accordance with computer program instructions stored in a Read Only Memory (ROM) 1102 or loaded from a storage unit 1108 into a Random Access Memory (RAM) 1103. In the random access memory 1103, various programs and data necessary for the operation of the device 1100 can also be stored. The central processing unit 1101, the read only memory 1102 and the random access memory 1103 are connected to each other by a bus 1104. An input/output (I/O) interface 1105 is also connected to bus 1104.
A number of components in the device 1100 are connected to the input/output interface 1105, including: an input unit 1106 such as a keyboard, a mouse, a microphone, and the like; an output unit 1107 such as various types of displays, speakers, and the like; a storage unit 1108 such as a magnetic disk, optical disk, or the like; and a communication unit 1109 such as a network card, a modem, a wireless communication transceiver, and the like. The communication unit 1109 allows the device 1100 to exchange information/data with other devices through a computer network such as the internet and/or various telecommunication networks.
The various processes and processes described above, such as the method 200 and 600, may be performed by the central processing unit 1101. For example, in some embodiments, the method 200-600 may be implemented as a computer software program tangibly embodied in a machine-readable medium, such as the storage unit 1108. In some embodiments, some or all of the computer program may be loaded and/or installed onto device 1100 via read only memory 1102 and/or communication unit 1109. One or more of the actions of the method 200 and 600 described above may be performed when the computer program is loaded into the random access memory 1103 and executed by the central processing unit 1101.
The present disclosure relates to methods, apparatuses, systems, electronic devices, computer-readable storage media and/or computer program products. The computer program product may include computer-readable program instructions for performing various aspects of the present disclosure.
The computer readable storage medium may be a tangible device that can hold and store the instructions for use by the instruction execution device. The computer readable storage medium may be, for example, but not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device, such as punch cards or in-groove projection structures having instructions stored thereon, and any suitable combination of the foregoing. Computer-readable storage media as used herein is not to be construed as transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or electrical signals transmitted through electrical wires.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a respective computing/processing device, or to an external computer or external storage device via a network, such as the internet, a local area network, a wide area network, and/or a wireless network. The network may include copper transmission cables, fiber optic transmission, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium in the respective computing/processing device.
The computer program instructions for carrying out operations of the present disclosure may be assembler instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, the electronic circuitry that can execute the computer-readable program instructions implements aspects of the present disclosure by utilizing the state information of the computer-readable program instructions to personalize the electronic circuitry, such as a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA).
Various aspects of the present disclosure are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the disclosure. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processing unit of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processing unit of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable medium storing the instructions comprises an article of manufacture including instructions which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Having described embodiments of the present disclosure, the foregoing description is intended to be exemplary, not exhaustive, and not limited to the disclosed embodiments. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terms used herein were chosen in order to best explain the principles of the embodiments, the practical application, or technical improvements to the techniques in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (10)

1. A method for obtaining configuration information, comprising:
receiving a request for application configuration, the request indicating an application configuration identifier;
determining a first website associated with the received application configuration identifier based on an association between the application configuration identifier and the first website, the first website storing logical connection information associated with the application configuration;
obtaining logical connection information associated with the application configuration from the determined first website, the logical connection information indicating logical connection relationships between a plurality of second websites, each of the plurality of second websites storing an attribute key-value pair associated with the application configuration;
analyzing the logical connection information to generate an abstract syntax tree, wherein the abstract syntax tree takes the plurality of second websites as leaf nodes and takes a logical connection relation indicator as a non-leaf node; and
generating configuration information for responding to the request based on the abstract syntax tree, the configuration information including attribute key-value pairs.
2. The method of claim 1, wherein generating the configuration information comprises:
if the root node of the abstract syntax tree is determined to be the or the connection relation indicator, determining whether a left child node of the root node is a leaf node;
if the left child node is determined to be a non-leaf node, recursively generating the configuration information based on a left sub-tree of the root node;
if the left child node is determined to be a leaf node, determining whether the attribute key value pair acquired from the second website corresponding to the left child node fails;
if the attribute key value pair is determined not to be failed to be acquired from the second website corresponding to the left child node, taking the acquired attribute key value pair as the configuration information;
if the attribute key value pair acquired from the second website corresponding to the left child node is determined to have a fault, determining whether the right child node of the root node is a leaf node;
if the right child node is determined to be a non-leaf node, recursively generating configuration information based on the right sub-tree of the root node; and
and if the right child node is determined to be a leaf node, acquiring an attribute key value pair from a second website corresponding to the right child node as the configuration information.
3. The method of claim 2, wherein the attribute key-value pair obtained from the second web address corresponding to the left child node is the same as the attribute key-value pair obtained from the second web address corresponding to the right child node.
4. The method of claim 1, wherein generating the configuration information comprises:
if the root node of the abstract syntax tree is determined to be the connection relation indicator, determining whether a left child node of the root node is a leaf node;
if the left child node is determined to be a leaf node, acquiring an attribute key value pair from a second website corresponding to the left child node as first part of configuration information;
recursively generate the first portion of configuration information based on a left sub-tree of the root node if the left child node is determined to be a non-leaf node;
if the right child node of the root node is determined to be a leaf node, acquiring an attribute key value pair from a second website corresponding to the right child node as second part of configuration information;
recursively generate the second portion of configuration information based on a right sub-tree of the root node if the right child node is determined to be a non-leaf node; and
and merging the attribute key value pairs which do not have intersection with the first part of configuration information in the second part of configuration information with the first part of configuration information to generate the configuration information.
5. The method of claim 4, wherein the first portion of configuration information is used for application testing.
6. The method of claim 1, wherein generating the configuration information comprises:
if the root node of the abstract syntax tree is determined to be the conditional connection relation indicator, acquiring an attribute key value pair from a second website corresponding to a left child node of the root node;
if the attribute value in the attribute key value pair is determined to be true, determining whether the right child node of the root node is a leaf node;
if the right child node of the root node is determined to be a leaf node, acquiring an attribute key value pair from a second website corresponding to the right child node of the root node as the configuration information;
if the right child node of the root node is determined to be a non-leaf node, acquiring an attribute key value pair from a second website corresponding to a left child node of the right child node of the root node as the configuration information; and
and if the attribute value in the attribute key value pair is determined to be not true, acquiring the attribute key value pair from a second website corresponding to the right child node of the root node as the configuration information.
7. The method of claim 1, wherein the request further indicates an attribute key, and generating the configuration information comprises:
if the root node of the abstract syntax tree is determined to be the indicator of the pipeline connection relation, acquiring an attribute key value pair from a second website corresponding to a left child node of the root node;
if the right child node of the root node is determined to be a leaf node, acquiring an attribute key value pair of which the attribute key is matched with the attribute value in the acquired attribute key value pair from a second website corresponding to the right child node of the root node, and taking the attribute key value pair as the configuration information; and
and if the right child node of the root node is determined to be a non-leaf node, recursively generating the configuration information by taking the attribute value in the acquired attribute key value pair as an attribute key based on the right sub-tree of the root node.
8. The method of claim 1, wherein a plurality of storage devices for attribute key-value pairs corresponding to the plurality of second web addresses are heterogeneous.
9. An electronic device, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.
10. A non-transitory computer readable storage medium having stored thereon computer instructions for causing the computer to perform the method of any one of claims 1-8.
CN202110715808.8A 2021-06-28 2021-06-28 Method, electronic device and storage medium for acquiring configuration information Active CN113179332B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110715808.8A CN113179332B (en) 2021-06-28 2021-06-28 Method, electronic device and storage medium for acquiring configuration information

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110715808.8A CN113179332B (en) 2021-06-28 2021-06-28 Method, electronic device and storage medium for acquiring configuration information

Publications (2)

Publication Number Publication Date
CN113179332A CN113179332A (en) 2021-07-27
CN113179332B true CN113179332B (en) 2021-09-17

Family

ID=76927867

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110715808.8A Active CN113179332B (en) 2021-06-28 2021-06-28 Method, electronic device and storage medium for acquiring configuration information

Country Status (1)

Country Link
CN (1) CN113179332B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115934654A (en) * 2023-02-03 2023-04-07 北京联合伟世科技股份有限公司 Packing method, device and equipment of experimental resources and storage medium

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095677B1 (en) * 2009-05-21 2012-01-10 Sendmail, Inc. Configuration rule generation with compressed address sets
CN104158692A (en) * 2014-08-25 2014-11-19 烽火通信科技股份有限公司 Method of implementing configuration and management of data of home gateway based on XML (Extensible Markup Language)
CN105335412A (en) * 2014-07-31 2016-02-17 阿里巴巴集团控股有限公司 Method and device for data conversion and data migration
CN112783786A (en) * 2021-02-01 2021-05-11 中国工商银行股份有限公司 Test case generation method, device, equipment, medium and program product

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090090308A (en) * 2006-11-16 2009-08-25 소니 가부시끼 가이샤 Information processing device
CN100566357C (en) * 2007-07-24 2009-12-02 华为技术有限公司 Communication apparatus batch configuration managerial approach and device thereof
CN101650670B (en) * 2008-08-14 2013-01-09 鸿富锦精密工业(深圳)有限公司 Electronic system capable of sharing application program configuration parameters and method thereof
CN101651679A (en) * 2009-09-16 2010-02-17 清华大学 Data frame analyzing and processing system and method based on tree structure
JP6100922B2 (en) * 2013-12-26 2017-03-22 株式会社東芝 COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, PROGRAM, AND COMMUNICATION SYSTEM
US10956392B1 (en) * 2018-07-23 2021-03-23 Allscripts Software, Llc Methods, apparatuses, and computer program products for identifying fields in a data tree

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8095677B1 (en) * 2009-05-21 2012-01-10 Sendmail, Inc. Configuration rule generation with compressed address sets
CN105335412A (en) * 2014-07-31 2016-02-17 阿里巴巴集团控股有限公司 Method and device for data conversion and data migration
CN104158692A (en) * 2014-08-25 2014-11-19 烽火通信科技股份有限公司 Method of implementing configuration and management of data of home gateway based on XML (Extensible Markup Language)
CN112783786A (en) * 2021-02-01 2021-05-11 中国工商银行股份有限公司 Test case generation method, device, equipment, medium and program product

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"CPOS光接口板驱动的设计和优化";李斌;《中国优秀硕士学位论文全文数据库 信息科技辑》;20081015;全文 *

Also Published As

Publication number Publication date
CN113179332A (en) 2021-07-27

Similar Documents

Publication Publication Date Title
US10356214B2 (en) Composing monolithic applications based on multi-container applications
US10452372B2 (en) Method and deployment module for managing a container to be deployed on a software platform
JP6325001B2 (en) Method and system using recursive event listeners in nodes of hierarchical data structures
CN112636992B (en) Dynamic routing method, device, equipment and storage medium
CN113141405B (en) Service access method, middleware system, electronic device, and storage medium
CN108667660B (en) Method and device for route management and service routing and routing system
US20230259358A1 (en) Documentation enforcement during compilation
CN113179332B (en) Method, electronic device and storage medium for acquiring configuration information
CN109992279A (en) Method for updating configuration data, calculates equipment and storage medium at device
US20210216381A1 (en) Dynamic management method for menu, server and system
CN113778897A (en) Automatic test method, device, equipment and storage medium of interface
CN110795331A (en) Software testing method and device
CN113779004A (en) Data verification method and device
Kessin Building Web Applications with Erlang: Working with REST and Web Sockets on Yaws
CN110096543B (en) Data operation method, device, server and medium of application program
CN116737662A (en) Method, device, electronic equipment and storage medium for processing business data
CN111414154A (en) Method and device for front-end development, electronic equipment and storage medium
CN114070889B (en) Configuration method, traffic forwarding device, storage medium, and program product
CN115617420A (en) Application program generation method, device, equipment and storage medium
CN112099879B (en) Configuration information management method and device, computer equipment and storage medium
CN109117152B (en) Service generation system and method
CN114237821A (en) Self-discovery method and device for Kubernetes container cluster, electronic device and storage medium
CN109491699B (en) Resource checking method, device, equipment and storage medium of application program
CN112685486A (en) Data management method and device for database cluster, electronic equipment and storage medium
CN113032004A (en) Method, apparatus and program product for managing development jobs in a development environment

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant