Detailed Description
In the following, only certain exemplary embodiments are briefly described. As those skilled in the art will recognize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present application. Accordingly, the drawings and description are to be regarded as illustrative in nature, and not as restrictive.
Fig. 1 shows a flowchart of a method for processing virtual machine network card configuration information based on a device manager according to an embodiment of the present application. The embodiment of the application can be applied to a cloud computing platform or user equipment provided with a virtual machine, and the user equipment comprises but is not limited to a fixed terminal and a mobile terminal. The embodiment can be applied to various types of virtual machines in a cloud environment, such as a kvm virtual machine, a vmware virtual machine, and the like. Referring to fig. 1, the method includes the following steps.
In step S101, obtaining expected configuration information of a to-be-modified network card of a virtual machine, where the expected configuration information at least includes expected name configuration information and expected sequence configuration information of the to-be-modified network card;
in step S102, determining current configuration information of all network cards of the virtual machine based on the network card rule configuration file of the device manager;
in step S103, under the condition that the current configuration information of the network card not to be modified in all the network cards is not affected, adjusting the current configuration information of the network card to be modified based on the expected configuration information to obtain the adjusted configuration information of the network card to be modified; the adjusted configuration information of the network card to be modified comprises: and the name and the sequence of the network card to be modified.
In this embodiment, the type of the network card to be modified is not limited. For example, the network card to be modified may be a public network card or a private network card.
In this embodiment, the number of the network cards to be modified is not limited.
In this embodiment, the network card to be modified at least includes one of the following network cards: a newly added network card; preparing a deleted network card; and the network card with the name to be changed.
In this embodiment, the manner of obtaining the expected configuration information of the network card to be modified of the virtual machine is not limited. Illustratively, the user equipment or the cloud computing platform receives the to-be-modified list data, and obtains the expected configuration information of the to-be-modified network card of the virtual machine by analyzing the to-be-modified list data.
For an operating system using system/udev, if the configuration forces the use of an ethX mode network card naming, the kernel parameter net, ifnamemes, needs to be removed 0, and specifically, the desired configuration information may include:
naming prefix: an eth prefix as in the traditional naming scheme, an ens prefix for pluggable devices;
expected number of public networks: ensuring that the naming sequence number of the public network is in front, and the number of the expected public network needs to be known after the private network, and generating an occupancy udev rule by default; typically this logic is used in the system to first initialize the network configuration;
the network cards to be modified or adjusted are listed in sequence: each item in the list comprises a mac address corresponding to the network card searched by the network/segment name purchased by the user and a desired complete network card name (such as eth1/ens1/eno1/personal _ name; the item can be unspecified under the condition of specifying the named prefix of the network card, and the item can be combined according to the prefix and the serial number if the item is not specified, and if the item is the eth0, the first network card is the eth 0); the public network card is in front of the private network;
the number of the public network cards in the network cards to be modified is as follows: when the expected quantity is less than the expected quantity, an occupation rule needs to be generated to ensure that the added public network can also distribute names to be arranged in front of the private network card in sequence;
whether to clear the network configuration: if yes, all network configurations are cleared, and all network cards are arranged according to the logic of the front public network, the back private network, expected occupation, named prefix and the like; otherwise, naming according to the requirement according to the analyzed network card to be modified.
In the technical scheme of the embodiment of the application, the current configuration information of all network cards of the virtual machine is determined based on the network card rule configuration file of the device manager; the current configuration information of the network card to be modified is adjusted under the condition that the current configuration information of the network card not to be modified in all the network cards is not influenced, so that the final configuration information of the adjusted network card to be modified meets the expected configuration information, the name and the sequence of each network card can be flexibly adjusted according to the requirements of users, the configuration information of the network card inside the virtual machine can be flexibly adjusted, and the complex and changeable network card naming sequence requirements can be adapted.
In addition, as shown in fig. 2, the present embodiment further includes, after the foregoing steps are completed:
in step S104, the adjusted configuration information of the network card to be modified is updated to the network card rule configuration file.
That is, the final configuration information of the network card to be modified, which is adjusted to meet the corresponding expected configuration information, is updated to the network card rule configuration file.
Therefore, the final configuration information of the network card to be modified, which is adjusted to meet the corresponding expected configuration information, can be updated into the network card rule configuration file, so that the device manager can respond to the display request and display the configuration information of each network card of the virtual machine according to the updated configuration file, and as the displayed configuration information is the expected configuration information, the network cards are conveniently controlled and controlled, and the user experience is improved.
Based on the technical solution shown in fig. 1, in some embodiments, as shown in fig. 3, before step S102, the method further includes:
step S105: judging whether the network configuration needs to be cleaned up according to the expected configuration information; and when the network configuration needs to be cleaned, executing corresponding cleaning processing according to the type of the operating system.
In this embodiment, the cleaning processing operations corresponding to different operating system types are different. Illustratively, operating system type 1 corresponds to cleanup processing operation 1, operating system type 2 corresponds to cleanup processing operation 2, and operating system type 3 corresponds to cleanup processing operation 3.
Therefore, when the network configuration needs to be cleared, corresponding clearing processing is executed according to the type of the operating system, and the speed of modifying the configuration information of the network card to be modified is improved.
In one embodiment, the determining whether to clear the network configuration according to the expected configuration information includes:
and judging whether the network configuration needs to be cleaned or not according to whether the expected configuration information carries an identifier for indicating to clean the network configuration or not.
Therefore, whether the network configuration needs to be cleared or not can be judged conveniently and rapidly according to the identification.
In one embodiment, the determining whether to clear the network configuration according to the expected configuration information includes:
comparing the expected configuration information with the configuration information of the known existing network card;
and judging whether the network configuration needs to be cleaned or not according to the comparison result.
Therefore, whether the network configuration needs to be cleaned can be judged through the comparison result, and a good data support environment is provided for the network card rule configuration data in the subsequent step S102.
Based on the technical solution shown in fig. 1, in some embodiments, as shown in fig. 4, before step S102, the method further includes:
step S106: and under the condition that the expected configuration information does not include the naming prefix setting information and the expected configuration information includes the expected public network card number setting information, if no public network card occupation rule record exists in the current network card rule configuration file, generating a public network card occupation rule according to the naming prefix setting information and the network card serial number information in the expected configuration information, and adding the public network card occupation rule into the current network card rule configuration file.
Specifically, the method may include:
judging whether the expected configuration information comprises naming prefix setting information or not, if not, checking whether the expected configuration information comprises the setting information of the number of expected public network cards or not;
if the expected configuration information comprises expected public network card number setting information, judging whether the current network card rule configuration file has public network card occupation rule records;
if the current network card rule configuration file does not have the public network card occupation rule record, generating a public network card occupation rule according to the named prefix setting information and the network card serial number information in the expected configuration information, and adding the public network card occupation rule into the current network card rule configuration file.
It should be noted that, in some embodiments, before determining whether the expected configuration information includes the naming prefix setting information, it is determined whether a network card rule configuration file exists, and if not, the network card rule configuration file is created.
In step S106, if the desired configuration information includes the named prefix setting information, step S102 is executed; if the expected configuration information does not include the expected public network card number setting information, executing the step S102; and if the current network card rule configuration file has a public network card occupation rule record, executing the step S102.
In this way, before step S102 is executed, user requirements such as a naming prefix setting requirement, a desired public network card number setting requirement, and a public network card occupation rule requirement in the desired configuration information can be sufficiently specified, so that data support is provided for the subsequent execution of step S102 and step S103.
Based on the technical solution shown in fig. 1, in some embodiments, the current configuration information includes temporary correspondence information of a MAC address and a name; step S102, comprising:
step S102 a: determining temporary corresponding relation information of MAC addresses and names of all network cards which are added to the virtual machine currently based on a network card rule configuration file of the equipment manager;
step S102 b: key-value pair (map) data characterizing the temporary correspondence information is generated.
In the key-value pair data, the variable corresponding to the key represents the MAC address, and the variable corresponding to the value represents the name.
Based on the technical solution shown in fig. 1, in some embodiments, before step S103, as shown in fig. 5, the method further includes at least one of:
step S106 a: determining and deleting dirty data of an invalid network card in the network card rule configuration file so as to keep records of network cards of which the network card names corresponding to the MAC addresses are expected complete names, network cards of which the complete names are not specified, and public network card occupation rules;
step S106 b: determining and deleting records of the network card of which the expected complete name is not matched with the current name;
step S106 c: and deleting the instruction for indicating that the network card naming needs to be limited by the kernel.
It should be noted that the execution sequence among step S106a, step S106b, and step S106c is not limited in this embodiment; in addition, only one of the steps S106a, S106b and S106c may be used, or only two of them may be used, or all of them may be used.
In this way, a cleaner data environment can be provided for subsequent adjustment of the current configuration information.
Based on the technical solution shown in fig. 1, in some embodiments, when the network card to be modified includes a public network card, the method further includes:
judging whether the number of the to-be-modified public network cards exceeds the number of the expected public network cards;
and if the number of the to-be-modified public network cards exceeds the expected number of the public network cards, outputting prompt information for prompting that the arrangement sequence of the public network cards is not all positioned in front of the private network cards.
Therefore, the method can remind the user that the arrangement sequence of the public network cards is not completely positioned in front of the private network card, namely that the reminding does not completely follow the rule that the public network card is in front of the private network card, so that the probability of misoperation of the network card by the user is favorably reduced.
Based on the technical solution shown in fig. 1, in an embodiment, the current configuration information includes temporary correspondence information between MAC addresses and names; as shown in fig. 6, step S103 includes the steps of:
step P1: determining a current network card from the network cards to be modified, judging whether the current network card has a complete network card name, and if so, jumping to the step P5; if the complete network card name does not exist, jumping to step P2;
step P2: judging whether the current network card is a public network card, and if so, jumping to the step P3; if not, determining the allowed arrangement starting sequence number value of the current network card based on the expected public network card value, and then entering step P3;
step P3: traversing the sequence number of the current network card in a preset sequence number section, wherein the left end point value of the preset sequence number section is the allowable arrangement starting sequence number value, and the right end point value of the preset sequence number section is a preset numerical value;
step P4: generating a network card name of the current network card according to the named prefix information and the current sequence number information;
step P5: judging whether the network card name is contained in the current network card rule configuration file or whether the name is occupied, if not, jumping to the step P8; if so, go to step P6;
step P6: acquiring the MAC address corresponding to the name of the current network card from the temporary corresponding relation information, judging whether the MAC address is in a network card list to be modified, and if not, skipping to the step P10; if so, go to step P7;
step P7: modifying the network card with the occupied name into a temporary name, and updating the information data of the temporary corresponding relation;
step P8: disconnecting the current network card to be modified, establishing the corresponding relation between the MAC address of the current network card and the name of the complete network card, and reconnecting the current network card; adding a corresponding relation record of the current network card in the current network card rule configuration file, and marking the end of the modification of the current network card;
step P9: updating the sequence number variable value to be the current sequence number value plus 1;
step P10: judging whether the name and the sequence of the current network card are modified, if so, determining to obtain the adjusted configuration information of the current network card, and jumping to the step P1; if the modification is not completed, it jumps to step P3.
Therefore, the name can be appointed according to the requirement for all the information which is matched with the configuration information of the network card to be modified and the expected configuration information.
Fig. 7 is a schematic diagram illustrating a configuration flow of virtual machine network card names and sequences, where as shown in fig. 7, the flow mainly includes:
step S601: starting;
step S602: analyzing the sequential list data of the network cards to be modified;
the network card sequential list data to be modified comprises expected configuration information of the network card to be modified, wherein the expected configuration information comprises name configuration information and sequence configuration information.
Step S603: judging whether to clear the network configuration; if yes, go to step S604; if not, jumping to step S605; specific instructions may be as follows: centros, performs rm-rf $ { NIC _ NAME _ FILE } $ (ls/etc/sysconfig/network-scripts/ifcfg- | grep-v "ifcfg-lo"); if ubuntu, perform rm-rf $ { NIC _ NAME _ FILE }/etc/netplan/etc/network/interfaces.d/;
step S604: executing corresponding cleaning processing according to the type of the operating system;
step S605: judging whether a current network card rule configuration file of the equipment manager exists or not, and if not, entering a step S606; if yes, jumping to step S607;
step S606: creating a network card rule configuration file;
step S607: judging whether naming prefix setting information is indicated, if so, entering step S608; if not, jumping to step S611;
step S608: judging whether the setting information of the number of the expected public network cards is indicated, if so, entering the step S609; if not, jumping to step S611;
step S609: whether a public network card occupation rule record exists or not, if so, entering a step S610; if not, jumping to step S611;
step S610: generating a public network card occupation rule according to the naming prefix setting information and the network card serial number information;
step S611: acquiring temporary corresponding relation information of MAC addresses and names of all currently added network cards, and generating key value pair data representing the temporary corresponding relation information; that is, the relationship between mac and name of all the currently added network cards is obtained, grep "00"/sys/class/net/address | grep-v "00:00:00: 00" | awk-F "/sys/class/net/|/address:" { print 2"- -" $3}', and mac-name temporary relationship map data is generated;
step S612: determining and deleting dirty data of the invalid network card in the network card rule configuration file; determining and deleting records of the network card of which the expected complete name is not matched with the current name; deleting an instruction for indicating that the network card naming needs to be limited by the kernel; for example, clean up $ { NIC _ NAME _ FILE } udev regular dirty data, keep the regular record that the existing network card mac is expecting the complete NAME, the mac not appointing the complete NAME, the public network card occupies, then clean up and include waiting to revise the network card list mac and KERNEL ═ th \ record at the same time, guarantee to remove the ethX conflict that the KERNEL naming mode brings;
step S613: judging whether the number of the to-be-modified public network cards exceeds the number of the expected public network cards; if yes, go to step S614; if not, jumping to step S615;
step S614: outputting prompt information;
the prompt information is used for prompting that the arrangement sequence of the public network card is not all in front of the private network card.
Step S615: setting the allowable arrangement starting sequence number of the current network card;
for example, set nic _ index to 0, nic _ index represents a sequence number variable.
Step S616: traversing the sequential list of the network cards to be modified, and executing the following steps;
step S617: judging whether the traversal is completed, if so, jumping to the step S632; if not, go to step S618;
step S618: judging whether the current network card has a complete network card name, if not, entering step S619; if yes, go to step S624;
step S619: judging whether the current network card is a public network or not; if not, go to step S620; if yes, go to step S621;
step S620: if the expected number of the public network cards exists, the number of the sequence numbers obtained by current traversal needs to be larger than the expected number of the public network cards;
step S621: traversing the sequence number of the current network card in a preset sequence number interval;
wherein, the left end point value of the preset sequence number interval is the allowable arrangement starting sequence number value, and the right end point value of the preset sequence number interval is a preset numerical value; illustratively, the default value is set to 99, the traversal { nic _ index } is 0 to 99, and $ { nic _ index } represents the sequence number value.
Step S622: selecting a current serial number;
step S623: generating a network card name of the current network card according to the named prefix and the current serial number;
step S624: judging whether the complete network card name is contained in the current network card rule configuration file or the condition that the name is occupied exists, if so, entering step S625; if not, go to step S628;
step S625: acquiring an MAC address corresponding to the name of the current network card from the temporary corresponding relation information;
step S626: judging whether the MAC address is in a network card list to be modified, if so, entering the step S627; if not, jumping to step S629;
step S627: modifying the network card with the occupied name into a temporary name, and updating the information data of the temporary corresponding relation; for example, the network card executes ip link set eth2 down & & ip link set eth2 name eth9992& & ip link set eth9992 up corresponding to the occupation name eth2, and updates temporary map data;
step S628: disconnecting the current network card to be modified, establishing the corresponding relation between the MAC address of the current network card and the name of the complete network card, and reconnecting the current network card; then jumping to step S631;
step S629: updating the sequence number variable to be the current sequence number plus 1;
step S630: judging whether the current network card name and sequence modification is finished, if so, skipping to the step S616; if not, jumping to step S621;
step S631: adding a corresponding relation record of the current network card in the network card rule configuration file, and marking the end of the modification of the current network card;
step S632: and (6) ending.
Through the configuration process, the names and the sequence of the multiple network cards in the virtual machine are flexibly adjusted based on the equipment manager. The following functional characteristics can be included in particular:
1. the number of the configurable network cards is not influenced by the drive type of the external equipment, and multiple network card devices can use the same drive;
2. starting configuration, namely, only temporarily influencing the flow on a network card to be modified without restarting a virtual machine, and basically not interrupting service;
3. in principle, the name of the network card can be selected at will;
4. adjusting the name sequence of the existing network card;
5. newly adding network cards to arrange positions according to requirements, and selecting to supplement middle vacant positions or arrange the positions finally;
6. the network card operation of generating a mac address after the network card equipment is loaded is supported;
7. supporting batch network card operations including adding, modifying and deleting;
8. the configuration process can be executed at any time, generally at the first time after the network card is added or when the IP is configured.
Fig. 8 is a block diagram illustrating an apparatus for processing network card configuration information of a virtual machine according to an embodiment of the present invention. As shown in fig. 8, the apparatus may include:
an obtainingmodule 71, configured to obtain expected configuration information of a to-be-modified network card of the virtual machine, where the expected configuration information at least includes expected name configuration information and expected sequence configuration information of the to-be-modified network card;
a determiningmodule 72, configured to determine current configuration information of all network cards of the virtual machine based on the network card rule configuration file of the device manager;
the adjustingmodule 73 is configured to adjust the current configuration information of the network card to be modified based on the expected configuration information under the condition that the current configuration information of the network card not to be modified in all the network cards is not affected, so as to obtain the adjusted configuration information of the network card to be modified; the adjusted configuration information of the network card to be modified comprises: and the name and the sequence of the network card to be modified.
The device further comprises:
and theprocessing module 74 is configured to update the adjusted configuration information of the network card to be modified into the network card rule configuration file.
In one embodiment, the network card to be modified includes at least one of the following:
a newly added network card;
preparing a deleted network card;
and the network card with the name to be changed.
In one embodiment, as shown in fig. 9, the apparatus further comprises:
acleaning judgment module 75, configured to judge whether to clean the network configuration according to the expected configuration information;
and thecleaning execution module 76 is used for executing corresponding cleaning processing according to the type of the operating system when the network configuration is judged to need cleaning.
In one embodiment, thecleaning determination module 75 is configured to:
and judging whether the network configuration needs to be cleaned according to whether the expected configuration information carries an identifier for indicating to clean the network card rule configuration file.
In one embodiment, as shown in fig. 10, the apparatus further comprises:
an analyzingmodule 77, configured to, in a case that the expected configuration information does not include the naming prefix setting information and the expected configuration information includes the expected public network card number setting information, if there is no public network card occupancy rule record in the current network card rule configuration file, generate a public network card occupancy rule according to the naming prefix setting information and the network card serial number information in the expected configuration information, and add the public network card occupancy rule to the current network card rule configuration file.
In one embodiment, the current configuration information includes temporary correspondence information of a media access control MAC address and name;
the determiningmodule 72 is configured to:
determining temporary corresponding relation information of MAC addresses and names of all network cards which are added to the virtual machine currently based on a network card rule configuration file of the equipment manager;
and generating key-value pair data representing the temporary corresponding relation information.
In one embodiment, as shown in fig. 11, the apparatus further comprises:
adeletion module 78 for performing at least one of:
determining and deleting dirty data of an invalid network card in the network card rule configuration file, and keeping records that the network card name corresponding to the MAC address is the network card of an expected complete name, the network card of an unspecified complete name and the occupation rule of the public network card;
determining and deleting records of the network card of which the expected complete name is not matched with the current name;
and deleting the instruction for indicating that the network card naming needs to be limited by the kernel.
In one embodiment, when the network card to be modified includes a public network card, as shown in fig. 12, the apparatus further includes:
aprompt module 79 for:
judging whether the number of the to-be-modified public network cards exceeds the number of the expected public network cards;
and if the number of the to-be-modified public network cards exceeds the expected number of the public network cards, outputting prompt information for prompting that the arrangement sequence of the public network cards is not all positioned in front of the private network cards.
In one embodiment, the current configuration information includes temporary correspondence information of MAC addresses and names;
the steps performed by the adjustment module include the steps of:
step P1: determining a current network card from the network cards to be modified, judging whether the current network card has a complete network card name, and if so, jumping to the step P5; if the complete network card name does not exist, jumping to step P2;
step P2: judging whether the current network card is a public network card, and if so, jumping to the step P3; if not, determining the allowed arrangement starting sequence number value of the current network card based on the expected public network card value, and then entering step P3;
step P3: traversing the sequence number of the current network card in a preset sequence number section, wherein the left end point value of the preset sequence number section is the allowable arrangement starting sequence number value, and the right end point value of the preset sequence number section is a preset numerical value;
step P4: generating a network card name of the current network card according to the named prefix information and the current sequence number information;
step P5: judging whether the network card name is contained in the current network card rule configuration file or the name is occupied, if not, jumping to the step P8; if so, go to step P6;
step P6: acquiring the MAC address corresponding to the name of the current network card from the temporary corresponding relation information, judging whether the MAC address is in a network card list to be modified, and if not, skipping to the step P10; if so, go to step P7;
step P7: modifying the network card with the occupied name into a temporary name, and updating the information data of the temporary corresponding relation;
step P8: disconnecting the current network card to be modified, establishing the corresponding relation between the MAC address of the current network card and the name of the complete network card, and reconnecting the current network card; adding a corresponding relation record of the current network card in the current network card rule configuration file, and marking the end of the modification of the current network card;
step P9: updating the sequence number variable value to be the current sequence number value plus 1;
step P10: judging whether the name and the sequence of the current network card are modified, if so, determining to obtain the adjusted configuration information of the current network card, and jumping to the step P1; if the modification is not completed, it jumps to step P3.
The functions of each module in each apparatus in the embodiments of the present invention may refer to the corresponding description in the above method, and are not described herein again.
Fig. 13 is a block diagram illustrating an apparatus for processing network card configuration information of a virtual machine based on a device manager according to an embodiment of the present invention. As shown in fig. 13, the apparatus includes: amemory 810 and aprocessor 820, thememory 810 having stored therein computer programs operable on theprocessor 820. Theprocessor 820, when executing the computer program, implements the method for processing the network card configuration information of the virtual machine based on the device manager in the above embodiments. The number of thememory 810 and theprocessor 820 may be one or more.
The device for processing the virtual machine network card configuration information based on the device manager further comprises:
and acommunication interface 830, configured to communicate with an external device, and perform data interactive transmission.
If thememory 810, theprocessor 820 and thecommunication interface 830 are implemented independently, thememory 810, theprocessor 820 and thecommunication interface 830 may be connected to each other through a bus and perform communication with each other. The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, an Extended ISA (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown in FIG. 12, but this is not intended to represent only one bus or type of bus.
Optionally, in an implementation, if thememory 810, theprocessor 820 and thecommunication interface 830 are integrated on a chip, thememory 810, theprocessor 820 and thecommunication interface 830 may complete communication with each other through an internal interface.
It should be understood that the processor may be a Central Processing Unit (CPU), other general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or any conventional processor or the like. It is noted that the processor may be a processor supporting an Advanced reduced instruction set machine (ARM) architecture.
Further, optionally, the memory may include a read-only memory and a random access memory, and may further include a nonvolatile random access memory. The memory may be either volatile memory or nonvolatile memory, or may include both volatile and nonvolatile memory. The non-volatile Memory may include a Read-only Memory (ROM), a Programmable ROM (PROM), an Erasable PROM (EPROM), an Electrically Erasable PROM (Electrically EPROM), or a flash Memory. Volatile Memory can include Random Access Memory (RAM), which acts as external cache Memory. By way of example, and not limitation, many forms of RAM are available. For example, Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), Synchronous Dynamic Random Access Memory (SDRAM), Double Data rate Synchronous Dynamic Random Access Memory (DDR SDRAM), Enhanced SDRAM (ESDRAM), SLDRAM (SLDRAM), and Direct Rambus RAM (DR RAM).
Embodiments of the present invention provide a computer-readable storage medium, which stores a computer program, and when the program is executed by a processor, the computer program implements the method provided in the embodiments of the present application.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions according to the present application are generated in whole or in part when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another computer-readable storage medium.
In the description herein, references to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the application. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "a plurality" means two or more unless specifically limited otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process. And the scope of the preferred embodiments of the present application includes other implementations in which functions may be performed out of the order shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions.
It should be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. All or part of the steps of the method of the above embodiments may be implemented by hardware that is configured to be instructed to perform the relevant steps by a program, which may be stored in a computer-readable storage medium, and which, when executed, includes one or a combination of the steps of the method embodiments.
In addition, functional units in the embodiments of the present application may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module may also be stored in a computer-readable storage medium if it is implemented in the form of a software functional module and sold or used as a separate product. The storage medium may be a read-only memory, a magnetic or optical disk, or the like.
The above description is only for the specific embodiments of the present application, but the scope of the present application is not limited thereto, and any person skilled in the art can easily conceive various changes or substitutions within the technical scope of the present application, and these should be covered by the scope of the present application. Therefore, the protection scope of the present application shall be subject to the protection scope of the claims.