Detailed Description
Exemplary embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While exemplary embodiments of the present disclosure are shown in the drawings, it should be understood that the present disclosure may be embodied in various forms and should not be limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the disclosure to those skilled in the art.
It is to be noted that, unless otherwise specified, technical or scientific terms used herein shall have the ordinary meaning as understood by those skilled in the art to which this application belongs.
In addition, the terms "first" and "second", etc. are used to distinguish different objects, rather than to describe a particular order. Furthermore, the terms "include" and "have," as well as any variations thereof, are intended to cover non-exclusive inclusions. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not limited to only those steps or elements listed, but may alternatively include other steps or elements not listed, or inherent to such process, method, article, or apparatus.
At present, the following defects can exist when a development environment or a test environment is built through the prior art:
A. at present, developers generally build development environments manually, and need to build the development environments again for each development, so that not only is time consumed, but also each developer needs to have a server or a virtual machine, and resources are wasted.
B. At present, the development environment and the test environment are separated, so that the development environment and the test environment can not be built, the development and test processes are not linked, and the defects of inaccurate test result, low test efficiency and the like can be caused.
C. The built development environment or test environment can not be used by a plurality of people at the same time, an automatic environment cleaning mechanism is not provided, hardware resources are occupied for a long time, and resources are wasted.
D. Scripts and commands cannot be executed through the configuration window.
E. Without environment monitoring, deployed environment information and operator information cannot be known in real time.
F. The file information of the project in the deployment environment cannot be viewed through the operation interface.
G. The configuration information corresponding to the deployment environment cannot be visually checked.
H. The deployment environment cannot be automatically updated and destroyed.
I. There is no handover context branching mechanism.
J. There is no manual update mechanism in part.
K. The consistency of the project code of the deployment environment and the submission repository cannot be contrasted.
In view of the above, embodiments of the present application provide a development and test environment deployment method, and an environment deployment system, an electronic device, a storage medium, and the like based on the method. In the solution of the embodiment of the present application, a development and test environment deployment system receives an environment deployment instruction of a user, where the environment deployment instruction includes: the method comprises the following steps of identifying a user, an environment type to be deployed, a resource partition number, a deployment mode and configuration information corresponding to the deployment mode; according to the environment deployment instruction, environment deployment is carried out based on a preset container cluster management platform; the environment type comprises a development environment and a test environment, a plurality of service components required by environment deployment are preset in the container cluster management platform, for example, service components such as Qconfig, Nginx, Kafka, Redis and Mysql are used for supporting and building the development environment or the test environment. When the development environment is built, the effective period of the development environment can be preset, and the corresponding resource partition is released due to expiration so as to improve the resource utilization rate. The environment deployment mode in the application can include creation, updating, destruction and the like, and RPC service can be deployed to realize functions of some remote services. Therefore, according to the scheme of the embodiment of the application, the service assemblies with the same source are used for linking the deployment processes of the development and test environments, and the deployment environments can be automatically updated or destroyed, so that the environment building process is simplified, the problem caused by environment coupling is solved, and the resource use efficiency is improved.
Wherein, Qconfig is a central configuration center, and provides a high-availability configuration hosting/dynamic hot update service. The method has rich format support and simple and easy-to-use interface API.
Nginx (engine x) is a high performance HTTP and reverse proxy web server, while also providing IMAP/POP3/SMTP services. And the system is also a lightweight Web server/reverse proxy server and an electronic mail (IMAP/POP3) proxy server which are issued under the BSD-like protocol. Its advantages are less occupied internal memory and high concurrency.
Kafka is a distributed, partitioned, multi-copy, multi-subscriber, zookeeper-based coordinated distributed logging system, which can be used for web/Nginx logs, access logs, message services, etc., and the main application scenarios are: a log collection system and a messaging system.
Redis (remote DIctionary Server), which is an open source log-type and Key-Value database written in ANSI C language, complying with BSD protocol, supporting network, being based on memory and being persistent, and providing API of multiple languages. It is commonly referred to as a data structure server because the value (value) can be of the type String (String), Hash (Hash), list (list), set (sets) and sorted sets (sorted sets).
Mysql is a relational database management system.
The principle of RPC (Remote Procedure Call) is simple, and is similar to a three-layer C/S system, and a client program of a third party calls a standard or custom function of a Remote service through an interface, and obtains data returned by the function, and displays or prints the data after processing.
To further illustrate aspects of embodiments of the present application, reference is made to the following description taken in conjunction with the accompanying drawings. It is to be understood that, in the following embodiments, the same or corresponding contents may be mutually referred to, and for simplicity and convenience of description, the subsequent descriptions are not repeated.
Example one
Referring to fig. 1, a flowchart of a method for deploying a development and test environment according to some embodiments of the present application is shown, where an execution subject of the method may be a development and test environment deployment system (hereinafter, referred to as an environment deployment system), and the environment deployment system may specifically be an electronic device such as a server or a computer. As shown in fig. 1, the method for deploying a development and test environment may include the following steps S101 to S102:
in step S101, an environment deployment instruction of a user is received, where the environment deployment instruction includes: the method comprises the steps of user identification, environment types to be deployed, resource partition numbers, deployment modes and configuration information corresponding to the deployment modes.
In this step, the user identifier is a unique user identifier, and information such as a deployed environment and a resource partition corresponding to the user can be queried through the user identifier. The environment types may include a development environment and a test environment. The resource partition number is used to indicate to which resource partition the environment is deployed. The deployment mode of the development environment can comprise creation, updating, switching, destruction and the like; the deployment of the test environment may include creation, updating, destruction, and the like. The configuration information corresponding to the deployment mode may include a site name, a warehouse address, a dependency relationship, joint invocation, a site type, a project identification ID, a front-end dependency, a project branch name, and the like.
Wherein, the warehouse address: a remote repository Gitlab address of the project; dependent branching: the item on which the item depends; and joint debugging is started: when the value is yes, the development environment item is represented; site type: master represents site project, slave represents project that site depends on; item ID: item ID of the corresponding issuing platform of the item; front-end dependencies: a value of yes indicates that the site item depends on the front-end item. One site corresponds to one or more domain names, and one site is composed of one or more items.
Wherein, GitLab is an open source project for the warehouse management system, and web services are built on the basis of Git as a code management tool.
In step S102, environment deployment is performed based on a preset container cluster management platform according to the environment deployment instruction.
The container cluster management platform can adopt K8S, Kubernets (namely K8S) is a large-scale container management technology platform, and can realize the functions of automatic deployment, automatic expansion and contraction, maintenance and the like of the container cluster.
The container cluster management platform is preset with a plurality of service components required by environment deployment, such as service components of Qconfig, Nginx, Kafka, Redis, Mysql and the like, and the service components support building of a development environment or a test environment.
In this step, a user can deploy an environment based on the service components in the container cluster management platform, for example, a development environment or a test environment is built, that is, the service components from the same source are used to link the deployment processes of the development environment and the test environment, thereby eliminating the problem caused by environment coupling. And each deployment environment is allocated with a corresponding resource partition, so that the environment management is facilitated, and the working efficiency of development and testing personnel is improved.
The development environment is deployed in the following ways:
according to some embodiments of the application, when the environment type to be deployed is a development environment and the deployment manner is creation, that is, the development environment is created, the specific creation process can be divided into two cases, that is, no RPC service is deployed and RPC service is deployed.
Specifically, when the RPC service is not deployed, step S102 specifically includes:
allocating resource partitions and ports corresponding to the resource partition numbers in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
registering the configuration information with a Qconfig service component;
and analyzing and running the project by utilizing the Nginx service component, wherein the project is connected with other service components in an associated manner, and the creation of the development environment is completed.
Specifically, when the RPC service is deployed, step S102 specifically includes:
allocating resource partitions and ports corresponding to the resource partition numbers in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
allocating a container and a virtual port for the item of the pull code, and starting a Remote Procedure Call (RPC) service in the container, wherein the RPC service corresponds to the virtual port;
registering the configuration information with a Qconfig service component;
and analyzing and running the project by utilizing the Nginx service component, wherein the project is connected with other service components in an associated manner, and the creation of the development environment is completed.
When the developed project is updated and submitted with codes, the development environment needs to be updated.
According to some embodiments of the application, when the type of the environment to be deployed is a development environment and the deployment mode is an update, that is, the development environment is updated, the specific update process can be divided into two cases, namely, no RPC service and RPC service.
Specifically, when there is no RPC service, step S102 specifically includes:
acquiring a resource partition and a port corresponding to the resource partition number in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
registering the configuration information with a Qconfig service component;
and analyzing and operating the project by utilizing the Nginx service assembly, wherein the project is connected with other service assemblies in an associated manner to complete the updating of the development environment.
Specifically, when there is an RPC service, step S102 specifically includes:
acquiring a resource partition and a port corresponding to the resource partition number in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
if the RPC service is deployed in advance in the current development environment, stopping the corresponding RPC service, positioning a container and a virtual port corresponding to the RPC service, updating the RPC service and a dependent project code thereof, and restarting the updated RPC service in the container;
registering the configuration information with a Qconfig service component;
and analyzing and operating the project by utilizing the Nginx service assembly, wherein the project is connected with other service assemblies in an associated manner to complete the updating of the development environment.
In the embodiment of the above update development environment, an automatic trigger update may be set, specifically: when a user submits a project code to a corresponding branch of a remote warehouse, an environment deployment instruction is triggered, and the environment deployment instruction is not triggered manually by the user; when an environment deployment instruction is received, the step of updating the development environment is started to ensure consistency of the deployment environment and the submitted warehouse code.
According to some embodiments of the present application, when the type of the environment to be deployed is a development environment and the deployment manner is a switching manner, step S102 specifically includes:
based on a preset container cluster management platform, deploying multiple sets of branch development environments in the same resource partition and the same project in advance;
switching to a branch development environment corresponding to the item of the pull code according to the branch name in the configuration information;
registering the configuration information with a Qconfig service component;
and analyzing and operating the project by utilizing the Nginx service assembly, wherein the project is connected with other service assemblies in an associated manner to complete the switching of the development environment.
According to some embodiments of the present application, when the type of the environment to be deployed is a development environment and the deployment manner is destruction, that is, when the development environment is destroyed, step S102 specifically includes:
destroying the corresponding resource partition according to the resource partition number based on a preset container cluster management platform;
destroying the corresponding configuration information by using a Qconfig service assembly;
the Nginx service component is not used for analyzing the corresponding project, and other service components in the associated connection are disconnected;
and destroying all service assemblies in the resource partition to release resources, and finishing the destruction of the development environment.
In the embodiment of destroying the development environment, the valid period of the development environment may be set in advance; and when the development environment expires, triggering the step of destroying the development environment to improve the resource use efficiency.
The test environment is characterized by comprising the following parts:
according to some embodiments of the application, when the type of the environment to be deployed is a test environment and the deployment mode is creation, that is, when the test environment is created, a specific creation process can be divided into two cases, that is, no RPC service is deployed and RPC service is deployed.
Specifically, when the RPC service is not deployed, step S102 specifically includes:
allocating resource partitions and ports corresponding to the resource partition numbers in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
registering the configuration information with a Qconfig service component;
and analyzing and running the project by utilizing the Nginx service component, wherein the project is connected with other service components in an associated manner, and the test environment is created.
Specifically, when the RPC service is deployed, step S102 specifically includes:
allocating resource partitions and ports corresponding to the resource partition numbers in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
allocating a container and a virtual port for the item of the pull code, and starting RPC service in the container, wherein the RPC service corresponds to the virtual port;
registering the configuration information with a Qconfig service component;
and analyzing and running the project by utilizing the Nginx service component, wherein the project is connected with other service components in an associated manner, and the test environment is created.
According to some embodiments of the application, when the type of the environment to be deployed is a test environment and the deployment mode is an update, that is, when the test environment is updated, a specific update process can be divided into two cases, namely, an RPC service is deployed and an RPC service is not deployed.
Specifically, when the RPC service is not deployed in the test environment, the test environment updating process in step S102 specifically includes:
acquiring a resource partition and a port corresponding to the resource partition number in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
registering the configuration information with a Qconfig service component;
and analyzing and running the project by utilizing the Nginx service assembly, wherein the project is connected with other service assemblies in an associated mode to finish the updating of the test environment.
Specifically, when the RPC service is deployed in the test environment, the test environment updating process in step S102 specifically includes:
acquiring a resource partition and a port corresponding to the resource partition number in a container cluster management platform;
pulling project code from a remote repository to the resource partition;
associating dependent items of the item of the pull code and synchronizing front-end resources to the item of the pull code;
if the RPC service is pre-deployed in the current test environment, stopping the corresponding RPC service, positioning a container and a virtual port corresponding to the RPC service, updating the RPC service and a dependent project code thereof, and restarting the updated RPC service in the container;
registering the configuration information with a Qconfig service component;
and analyzing and running the project by utilizing the Nginx service assembly, wherein the project is connected with other service assemblies in an associated mode to finish the updating of the test environment.
According to some embodiments of the present application, when the type of the environment to be deployed is a test environment and the deployment manner is destruction, that is, when the test environment is destroyed, the test environment destruction process of step S102 specifically includes:
destroying the corresponding resource partition according to the resource partition number based on a preset container cluster management platform;
destroying the corresponding configuration information by using a Qconfig service assembly;
the Nginx service component is not used for analyzing the corresponding project, and other service components in the associated connection are disconnected;
and destroying all service assemblies in the resource partition to release resources, and finishing the destruction of the test environment.
Other service components in the above embodiments include Kafka, Redis, and Mysql service components in some embodiments according to the application.
According to some embodiments of the present disclosure, the method for deploying a development and test environment provided by the present application, after step S102, may further include:
according to a first query instruction of a user, querying the use condition and the partition size of a corresponding resource partition, and/or querying and controlling RPC service states of the corresponding resource partition, wherein the RPC service states comprise no service, stop and operation;
wherein, the first query instruction comprises the environment type and the resource partition number to be queried.
In the embodiment, a user can inquire the use condition of any resource partition, the partition size and the RPC service state (if the RPC service state is deployed), so that the working efficiency is improved.
According to some embodiments of the present disclosure, the method for deploying a development and test environment provided by the present application, after step S102, may further include:
inquiring a site file list or file information of the corresponding resource partition according to a second inquiry instruction of the user;
the second query instruction comprises a user identifier to be queried, an environment type, a resource partition number, a site name and a viewing type, wherein the viewing type is a file list or file information; one site corresponds to at least one project.
In the embodiment, a user can inquire any resource partition to check the corresponding file content under the partition or the file list under the directory, and the difference and the equivalence of the deployed file and the Gitlab warehouse file are compared, so that the working efficiency is improved.
According to some embodiments of the present disclosure, the method for deploying a development and test environment provided by the present application, after step S102, may further include:
checking the log record of the execution environment deployment according to a third query instruction of the user;
and the third query instruction comprises a user identifier to be queried, a resource partition number and a site name.
In the embodiment, the user can inquire the record and the check of the environmental deployment process log of any resource partition, so that the working efficiency is improved.
Example two
For ease of understanding, the development and testing environment deployment methods provided herein are described in detail below with respect to a specific embodiment.
The development environment deployment can help developers to quickly construct development environments, and the concept and the operation mode are similar to those of the test environment deployment, so that the development environments can be integrated on a test management platform, as shown in fig. 2. In the test management platform, the development environment and the test environment deployment operation may be implemented by corresponding functional modules, for example: environment deployment configuration, K8S environment deployment execution, deployment status query, file information preview, and deployment log functions.
In addition, the RPC service deployment is newly added in the environment deployment, each resource partition (partition for short) corresponds to the RPC service of the RPC service, the RPC service executes a customization task according to the use condition of the partition every day, the partition RPC service which is not used in the day is stopped, and the RPC service can be started through the deployment state query function if the partition is still needed to be used.
As shown in FIG. 2, the development environment is on the same machine as the test environment (i.e., 10.10.10.138). The back-end storage and middleware connected to the development environment are the same as the test environment, such as Mysql, Redis, etc.
In the environment deployment configuration, a specific development environment deployment may be completed through a configuration interface of the test management platform, as shown in fig. 3, an environment to be deployed and a deployment mode are selected, for example, a development environment is selected to be created, in the deployment mode, "create" indicates to create the development environment, "update" indicates to update the development environment, "destroy" indicates to clear the development environment, "switch" indicates to switch a project branch of the development environment, and "configuration view" indicates to view development environment configuration information. Selecting a corresponding deployment method associates corresponding configuration information, as shown in fig. 3, "creating" the corresponding configuration information includes a work area code number, a release intention, a partition validity period (e.g., 2 days), and the like. And executing after configuration.
As shown in fig. 4, in the deployment status query, the usage of the partition may be checked, and the usage of the corresponding partition and the size of the partition may be queried by retrieving the condition. As shown in fig. 5, if the RPC service is deployed, the state of the RPC service may also be checked, and the state of the RPC service may also be controlled.
As shown in fig. 6, in the file information preview, after the deployment environment, the work area code number, the site name, and the viewing type are input, the file list or the file information of the corresponding partition site may be viewed. As shown in fig. 5, the viewing type is "file list", and a file list of the API site under the corresponding partition is obtained, where the file list includes multiple file paths, and the file path is selected to view corresponding file information. Or as shown in fig. 7, the file type selects "file", and then enters a file path in the "file address" to view the corresponding file information.
As shown in fig. 8, in the deployment log, a retrieval condition is input, a published log list can be queried, and the retrieval condition may include a work area, a site name, a user identifier, and the like.
In addition, any user can check the log which is automatically updated in a deployment mode and is generated by an operator as a system assistant, the log triggers all partitions of the development environment to execute corresponding project branch updating after the development environment submits codes to Gitlab, and the process is automatically executed by the trigger system and can check the result of the log which is automatically updated and executed.
As shown in FIG. 9, if a test environment is selected to be created, the "creation" in the deployment mode means that the test environment is created, the "update" means that the test environment is updated, and the "destroy" means that the test environment is cleared. Selecting a corresponding deployment mode associates corresponding configuration information. As shown in fig. 10, a test environment may deploy multiple sites at a time, one for each warehouse branch. RPC service can also be configured, such as RPC sites and RPC project branches, and the RPC service can be executed after configuration.
Other operations of the test environment are the same as the development environment, such as deployment state query, configuration information retrieval, file information overview, deployment log check, deployment environment access after deployment is completed, and the like, and are not described herein again.
The development and test environment deployment method solves the problems of development and test environment manual deployment updating, configuration management, project information management, code conflict, environment monitoring management, use conflict, resource sharing, command execution under partitions, partition project file viewing, storage and viewing of deployment logs, development environment validity period setting, development and test blocking caused by environment problems and the like, simplifies environment construction processes, eliminates problems caused by environment coupling, improves resource use efficiency, reduces management difficulty by one-key deployment or custom deployment, enhances environment robustness and stability by environment monitoring and log recording, enhances expandability of a development platform and a test platform by a partition management mode, and improves working efficiency of development and test personnel.
In the foregoing embodiment, a development and test environment deployment method is provided, and correspondingly, a development and test environment deployment system is also provided in the present application. Referring to FIG. 11, a schematic diagram of a development and testing environment deployment system according to some embodiments of the present application is shown. Since the system embodiments are substantially similar to the method embodiments, they are described in a relatively simple manner, and reference may be made to some of the descriptions of the method embodiments for relevant points. The device embodiments described below are merely illustrative.
As shown in fig. 11, the development and test environment deployment system 10 may include:
a receiving module 110, configured to receive an environment deployment instruction of a user, where the environment deployment instruction includes: the method comprises the following steps of identifying a user, an environment type to be deployed, a resource partition number, a deployment mode and configuration information corresponding to the deployment mode;
the deployment module 120 is configured to perform environment deployment based on a preset container cluster management platform according to the environment deployment instruction;
the environment type comprises a development environment and a test environment, a plurality of service components required by environment deployment are preset in the container cluster management platform, and the service components are used for the operation of the development environment and the test environment for deployment.
The development and test environment deployment system provided by the embodiment of the application and the development and test environment deployment method provided by the previous embodiment of the application have the same inventive concept and the same beneficial effects.
The present embodiment also provides an electronic device, such as a mobile phone, a notebook computer, a tablet computer, a desktop computer, etc., corresponding to the method for deploying the development and test environment provided by the foregoing embodiment, so as to execute the method for deploying the development and test environment.
Referring to fig. 12, a schematic diagram of an electronic device provided in some embodiments of the present application is shown. As shown in fig. 12, the electronic device 20 includes: the system comprises a processor 200, a memory 201, a bus 202 and a communication interface 203, wherein the processor 200, the communication interface 203 and the memory 201 are connected through the bus 202; the memory 201 stores a computer program that can be executed by the processor 200, and the development and test environment deployment method provided in any of the foregoing embodiments is executed when the processor 200 executes the computer program.
The memory 201 may include a high-speed Random Access Memory (RAM) and may further include a non-volatile memory (non-volatile memory), such as at least one disk memory. The communication connection between the network element of the system and at least one other network element is realized through at least one communication interface 203 (which may be wired or wireless), and the internet, a wide area network, a local network, a metropolitan area network, and the like can be used.
Bus 202 can be an ISA bus, PCI bus, EISA bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. The memory 201 is used for storing a program, and the processor 200 executes the program after receiving an execution instruction, and the development and testing environment deployment method disclosed in any of the embodiments of the present application may be applied to the processor 200, or implemented by the processor 200.
The processor 200 may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware or instructions in the form of software in the processor 200. The Processor 200 may be a general-purpose Processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; but may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present application may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present application may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in the memory 201, and the processor 200 reads the information in the memory 201 and completes the steps of the method in combination with the hardware thereof.
The electronic device provided by the embodiment of the application and the development and test environment deployment method provided by the embodiment of the application have the same inventive concept and the same beneficial effects as the method adopted, operated or realized by the electronic device.
The embodiment of the present application further provides a computer-readable storage medium corresponding to the method for deploying the development and test environment provided in the foregoing embodiment, and please refer to fig. 13, which shows a computer-readable storage medium, which is an optical disc 30 and stores thereon a computer program (i.e., a program product), wherein the computer program, when executed by a processor, executes the method for deploying the development and test environment provided in any of the foregoing embodiments.
It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory, or other optical and magnetic storage media, which are not described in detail herein.
The computer-readable storage medium provided by the above-mentioned embodiments of the present application and the development and testing environment deployment method provided by the embodiments of the present application have the same advantages as the method adopted, run or implemented by the application program stored in the computer-readable storage medium.
It should be noted that 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 application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, 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.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In the several embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and there may be other divisions when actually implemented, and for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or units through some communication interfaces, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application or portions thereof that substantially contribute to the prior art may be embodied in the form of a software product stored in a storage medium and including instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present application. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk or an optical disk, and other various media capable of storing program codes.
Finally, it should be noted that: the above embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some or all of the technical features may be equivalently replaced; such modifications and substitutions do not depart from the spirit and scope of the present disclosure, and the present disclosure should be construed as being covered by the claims and the specification.