Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. However, it will be apparent to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
The technical solution of the present application will be described below by way of specific examples.
Referring to fig. 1, a schematic flow chart illustrating steps of a monitoring method according to an embodiment of the present application is shown, which may specifically include the following steps:
s101, determining a plurality of service types to be monitored, wherein each service type comprises a plurality of monitoring objects;
the type of service in this embodiment may be a specific service implemented in an enterprise or organization. For example, in the case of an insurance enterprise, the business types included therein may be insurance, life insurance, and the like. Of course, the business type may also be different for businesses or organizations that engage in different businesses. For example, taking an internet enterprise as an example, the service types of the internet enterprise may further include an operation and maintenance group for performing operation and maintenance on various devices, and a technology group for providing service support for other service types, and the like. The present embodiment does not limit the service types.
In general, different traffic types involve different devices, networks, clusters, middleware and their relationship to each other. Also taking insurance enterprises as an example, when developing insurance or life insurance business, the above devices, networks, clusters, middleware and their relationships to each other need to be used.
To ensure the security of each enterprise or organization in implementing a particular business, internal monitoring may be performed for that enterprise or organization. For example, the operational stability of each device, the security of the network environment, and the like are monitored.
In this embodiment of the present application, a plurality of service types to be monitored may be determined, and devices, networks, clusters, middleware, and the like related to each service type may be abstracted into monitoring objects, and each monitoring object may be monitored.
S102, respectively determining a hierarchical structure of a service tree to be generated corresponding to each service type according to preset system architecture information;
the preset system architecture information may be determined according to specific business types inside an enterprise or organization. For example, for the business type of production risk, the architectural relationship may be predetermined according to the system architecture information.
In general, some enterprises or organizations may build a service organization relationship using tree structures for the convenience of managing service clusters, and the organization relationship is called a service tree. A service tree is a model that maps services into a tree structure and then corresponds to resources. Briefly, the information maintained by the service tree includes which machines, which resources, etc. are under which line of business.
In the embodiment of the present application, the service tree may be a tree structure that contains monitoring objects and subsystems, such as various devices, networks, clusters, middleware, and the like, required for executing the service, and is determined according to a specific service type.
In this embodiment, the service tree may be generated based on a relationship between the monitoring object and a specific service, so that each monitoring object that implements the same service belongs to the same service tree. When generating the service tree, the hierarchical structure of the service tree to be generated may be determined first according to preset system architecture information. The hierarchical structure of the service tree to be generated may refer to the number of layers included in the currently generated service tree.
S103, acquiring configuration data of each service type from a preset configuration management database;
a Configuration Management Database (CMDB) is a Database for storing and managing various Configuration information of devices in an enterprise IT architecture. The method is closely connected with all service support and service delivery processes, can support the operation of the processes and exert the value of configuration information, and simultaneously depends on the related processes to ensure the accuracy of data.
In this embodiment of the present application, the CMDB may record configuration data of each service type, where the configuration data may refer to specific devices, networks, clusters, middleware, and the like included in each service subsystem in a corresponding system architecture.
S104, generating service trees corresponding to the service types according to the hierarchical structure and the configuration data, wherein each service tree has unique identification information;
after determining the hierarchical structure of the service tree to be generated corresponding to each service type and acquiring the configuration data of each service type from the CMDB, the service tree can be constructed according to the corresponding hierarchy according to the information of each monitored object recorded in the configuration data.
For example, taking a service system as an example, the system architecture may be deployed according to "service system-deployment environment-cluster-instance/host", where the service system is a primary subsystem, the deployment environment is a secondary subsystem, the cluster is a tertiary subsystem, and the instance/host is a specific monitoring object. Information on specific devices and the like in the subsystems of the respective hierarchies may be recorded in the CMDB, so that when a service tree corresponding to the service system is generated, a corresponding hierarchy structure may be constructed in accordance with the above-described architecture. Namely, the information of the devices and the like in the corresponding subsystems is placed in the corresponding hierarchy of the service tree.
For another example, for a certain type of device, the system architecture may be deployed according to "region-IDC-machine room-floor-device", and when generating the service tree corresponding to the type of device, it may be first determined that the corresponding hierarchy includes four layers. Then, information contained in each layer of the equipment is extracted from the CMDB, so that a service tree is constructed according to the corresponding hierarchy.
Generally, each generated service tree has different identification information. By means of the identification information, it can be specifically determined to which service tree each monitoring device belongs.
In a specific implementation, the same identification information may be configured for each device, network, cluster, middleware, and the like that belong to the same service tree, and the identification information may be determined in a namespace (namespace) form and used to identify that each monitored object and the hierarchical subsystem belong to the same service tree. For example, with the same namespace may be an operation and maintenance group of legacy architecture, a corporate subsidiary, a public cloud tenant or IDC, and so on.
S105, configuring monitoring information for the monitoring objects contained in each service tree based on the identification information;
the monitoring information configured for each monitoring object may refer to information for comparison with the operation information when the operation information of the monitoring object is collected. For example, for the monitoring device a, the alarm may be configured to be performed when the CPU occupancy reaches 80%, and therefore, the monitoring information configured for the monitoring device a may include that the CPU occupancy is less than 80%; for the monitoring device B, the alarm may be configured to be triggered when the CPU occupancy reaches 90%, and the monitoring information configured for the monitoring device B may include that the CPU occupancy is less than 90%.
The embodiment can perform unified configuration for a plurality of monitoring objects belonging to the same service tree based on the identification information of the service tree.
And S106, monitoring the monitored object according to the monitoring information.
After the configuration of the monitoring information of each monitored object in the service tree is completed, the monitored object can be monitored according to the monitoring information.
In specific implementation, the server can acquire running information such as performance data of each monitored object in real time, and compare and judge the running information with the monitoring information configured in advance. If the abnormity exists, the abnormity result can be sent to a telephone, mail, short message and other channels designated by the user. On the other hand, the abnormal result can also be saved through a storage module of the system. The storage module can also be provided with a data query interface so as to facilitate subsequent targeted query and analysis of the monitoring data of each service type.
In the embodiment of the present application, a plurality of service types to be monitored are determined, then, according to preset system architecture information, a hierarchical structure of a service tree to be generated corresponding to each service type is determined, and after configuration data of each service type is acquired from a preset configuration management database, a service tree corresponding to each service type can be generated according to the hierarchical structure and the configuration data, so that after monitoring information is configured for each monitoring object included in the service tree, the monitoring object can be monitored according to the monitoring information. In the embodiment, the monitoring object is abstracted, the concept of the service tree is provided, and the service tree between the monitoring object and the specific service is generated according to the service type and the relationship between the monitoring object and the service type, so that each monitoring object realizing the same service belongs to the same service tree, the association relationship between the monitoring object and the specific service can be visually shown according to the tree structure, and the monitoring object can be monitored according to different scenes or architectures in a network environment with multiple service scenes and complex architecture.
Referring to fig. 2, a schematic flow chart illustrating steps of another monitoring method according to an embodiment of the present application is shown, which may specifically include the following steps:
s201, determining a plurality of service types to be monitored, wherein each service type comprises a plurality of monitoring objects;
the type of service in this embodiment may be a specific service implemented in an enterprise or organization. After a plurality of service types to be monitored are determined, devices, networks, clusters, middleware and the like related to each service type can be abstracted into monitoring objects. In general, different traffic types involve different devices, networks, clusters, middleware and their relationship to each other.
S202, respectively determining a hierarchical structure of a service tree to be generated corresponding to each service type according to preset system architecture information;
in this embodiment, the service tree may be generated based on a relationship between the monitoring object and a specific service, so that each monitoring object that implements the same service belongs to the same service tree. When generating the service tree, the hierarchical structure of the service tree to be generated may be determined first according to preset system architecture information. The hierarchical structure of the service tree to be generated may refer to the number of layers included in the currently generated service tree.
Fig. 3 is a schematic diagram of a hierarchical structure of a service tree corresponding to each business type in an enterprise. As shown in fig. 3, leaf nodes in each service tree represent a monitoring object, the monitoring object uniquely belongs to a certain N-level subsystem, the nth-level subsystem uniquely belongs to a certain subsystem in the N-1 level and simultaneously includes a plurality of N + 1-level subsystems, and the hierarchical subsystems are abstractions of a certain service type relationship.
S203, acquiring the configuration data of each service type from a preset configuration management database;
the CMDB may record configuration data of each service type, where the configuration data may refer to specific devices, networks, clusters, middleware, and the like included in each service subsystem in a corresponding system architecture.
S204, determining the type of configuration data of each monitoring object, and taking a plurality of monitoring objects with the same type of configuration data as leaf nodes of the same service tree;
in the embodiment of the present application, starting from an abstracted monitoring object, according to the association relationship between each monitoring object and the service type recorded in the configuration data, the monitoring objects with the same type of configuration data are used as leaf nodes of the same service tree.
For example, if an office computer used by a certain employee of the switch operation and maintenance group of the network unit is used as a monitoring object, it can be determined that other employees of the switch operation and maintenance group have the same type as the employee according to the configuration data, and the employee is used as a leaf node of the same service tree, and corresponding service tree identification information and hierarchy information are configured for each monitoring object to identify which service tree the monitoring object belongs to.
S205, generating service trees corresponding to the current service types by backtracking to a father node aiming at any monitoring object in the leaf nodes, wherein each service tree has unique identification information;
after the monitoring object corresponding to a leaf node of a certain service tree is determined, a complete service tree can be formed by backtracking from any monitoring object in the node to a parent node (i.e., the last node of the current leaf node) until an initial node without the last node is found.
In a specific implementation, for any monitoring object in the leaf nodes, other monitoring objects included in the previous-level data of the monitoring object in the configuration data may be found out, and the other monitoring objects serve as parent nodes of the current leaf node in the service tree until the initial node of the service tree is found out, and after the same identification information is configured for all child nodes of the initial node, a service tree corresponding to the current service type may be generated.
For example, after determining the monitoring object of the leaf node, specific devices, networks, clusters, middleware, and the like included in the last hierarchy of the monitoring object in the configuration data may be searched, the devices, networks, clusters, middleware, and the like are used as N-level subsystems of the service tree to which the monitoring object belongs, and the identification information and the hierarchy information of the service tree are configured for the N-level subsystems. And then, according to the same mode, continuously determining the N-1 level subsystem to which the N level subsystem belongs until determining the level subsystem of the current service tree.
For devices, networks, clusters, middleware and the like with the same service tree identification information, a complete service tree is formed together. As shown in fig. 4, a schematic diagram of a service tree corresponding to the architecture schematic diagram shown in fig. 3.
S206, configuring monitoring information for the monitoring objects contained in each service tree based on the identification information;
the embodiment can perform unified configuration for a plurality of monitoring objects belonging to the same service tree based on the identification information of the service tree.
And S207, monitoring the monitored object according to the monitoring information.
In the specific implementation, the server can acquire the operation information of each monitored object in real time, compare and judge the operation information with the preconfigured monitoring information, and if the operation information is abnormal, the server can generate alarm information for the monitored object and alarm the user through a telephone channel, a mail channel, a short message channel and the like specified by the user.
In this embodiment, according to the one-to-many relationship between the service types and the monitoring objects, starting from the monitoring object, a complete service tree is formed by backtracking to the parent node, so that each monitoring object implementing the same service belongs to the same service tree, and each monitoring object can be monitored in a targeted manner according to different service scenes and architectures.
Referring to fig. 5, a schematic flow chart illustrating steps of another monitoring method according to an embodiment of the present application is shown, which may specifically include the following steps:
s501, determining a plurality of service types to be monitored, wherein each service type comprises a plurality of monitoring objects;
s502, respectively determining the hierarchical structure of the service tree to be generated corresponding to each service type according to preset system architecture information;
s503, obtaining the configuration data of each service type from a preset configuration management database;
s504, generating service trees corresponding to the service types according to the hierarchical structure and the configuration data, wherein each service tree has unique identification information;
since steps S501 to S504 in this embodiment are similar to steps S101 to S104 and S201 to S205 in the foregoing embodiment, they can refer to each other, and are not described again in this embodiment.
S505, according to the identification information and the hierarchical structure of each service tree, isolating each monitoring object contained in different service trees and each monitoring object contained in different hierarchies of the same service tree;
in the embodiment of the application, after the service tree is generated, monitoring objects in different service trees and monitoring objects belonging to different hierarchies in the same service tree can be isolated by configuring different authorities for each monitoring object.
S506, combining the plurality of service trees and monitoring objects contained in the service trees into a monitoring system;
in the embodiment of the application, a unified monitoring system in an enterprise or an organization can be formed together by integrating the service trees corresponding to the various business types. The system formed by all the service trees formed currently is the monitoring system.
S507, determining configuration information of each monitored object, respectively writing the configuration information of a plurality of monitored objects with the same identification information into a monitoring data table, and storing the monitoring data table into the monitoring system;
the configuration information corresponding to each monitored object may be artificially determined according to the actual requirement of the monitored object.
In a specific implementation, configuration information corresponding to each monitoring object belonging to the same service tree may be integrated to generate a monitoring data table. After the data table is stored in the monitoring system and operated, the monitoring system can know the monitoring alarm triggering conditions corresponding to all the monitored objects. That is, when the current operation information of a certain monitoring object does not match the configuration information of the monitoring object in the monitoring data table, an alarm will be triggered. Meanwhile, the monitoring system can also generate a monitoring record aiming at the generated alarm for subsequent analysis.
S508, respectively collecting the current operation information of each monitored object, and comparing the operation information with the corresponding configuration information in the monitoring data table;
in a specific implementation, the server may collect the operation information of each monitored object in real time, and compare and judge the operation information with the configuration information of the monitored object in a monitoring data table which is configured in advance and stored in the monitoring system, so as to determine whether the monitored object operates abnormally.
S509, if the operation information is not matched with the corresponding configuration information, generating alarm information aiming at the monitored object.
If the real-time collected operation information is not matched with the configuration information in the monitoring data table, the operation information of the monitored object can be considered to be abnormal. The monitoring system can generate alarm information aiming at the abnormal result and send the alarm information to a channel such as a telephone, a mail, a short message and the like appointed by a user. On the other hand, the alarm information can also be stored through a storage module of the monitoring system. Through the data query interface provided by the storage module, operation and maintenance personnel can conveniently carry out targeted query and analysis on the monitoring data of each service type.
In the embodiment, different service trees and different levels of the same service tree are isolated, so that different monitoring objects in the monitoring system have different use visual angles and ranges, are mutually transparent and do not influence each other. When operation and maintenance personnel monitor and analyze, only the business range of the corresponding hierarchy or service tree needs to be concerned, and the monitoring requirements of large enterprises under multiple environments, multiple architectures and complex network environments can be met.
It should be noted that, the sequence numbers of the steps in the foregoing embodiments do not mean the execution sequence, and the execution sequence of each process should be determined by the function and the inherent logic of the process, and should not constitute any limitation on the implementation process of the embodiments of the present application.
Fig. 6 shows a block diagram of a monitoring device according to an embodiment of the present application, which corresponds to the monitoring method described in the foregoing embodiment, and only shows portions related to the embodiment of the present application for convenience of description.
Referring to fig. 6, the monitoring apparatus may specifically include the following modules:
a servicetype determining module 601, configured to determine multiple service types to be monitored, where each service type includes multiple monitoring objects;
a hierarchicalstructure determining module 602, configured to determine, according to preset system architecture information, a hierarchical structure of a service tree to be generated corresponding to each service type;
a configurationdata obtaining module 603, configured to obtain configuration data of each service type from a preset configuration management database;
a servicetree generating module 604, configured to generate service trees corresponding to the service types according to the hierarchical structure and the configuration data, where each service tree has unique identification information;
a monitoringinformation configuring module 605, configured to configure monitoring information for the monitoring objects included in each service tree based on the identification information;
and themonitoring module 606 is configured to monitor the monitored object according to the monitoring information.
In this embodiment of the present application, the servicetree generation module 604 may specifically include the following sub-modules:
the leaf node determining submodule is used for determining the type of the configuration data of each monitoring object and taking a plurality of monitoring objects with the same type of configuration data as leaf nodes of the same service tree;
and the service tree generation submodule is used for generating a service tree corresponding to the current service type by a backtracking mode to a father node aiming at any monitoring object in the leaf nodes.
In this embodiment of the present application, the service tree generation submodule may specifically include the following units:
a node searching unit, configured to search, for any monitoring object in the leaf nodes, a monitoring object included in previous-level data of the monitoring object in the configuration data, as a parent node of the leaf node in a current service tree, until an initial node of the current service tree is found;
and the identification information configuration unit is used for configuring the same identification information for all the child nodes of the initial node and generating a service tree corresponding to the current service type.
In this embodiment, the apparatus may further include the following modules:
and the monitoring system generation module is used for combining the plurality of service trees and the monitoring objects contained in the service trees into a monitoring system.
In this embodiment, the monitoringinformation configuration module 605 may specifically include the following sub-modules:
the configuration information writing sub-module is used for determining the configuration information of each monitored object and respectively writing the configuration information of a plurality of monitored objects with the same identification information into the monitoring data table;
and the monitoring data table storage submodule is used for storing the monitoring data table to the monitoring system.
In this embodiment, themonitoring module 606 may specifically include the following sub-modules:
the operation information acquisition submodule is used for respectively acquiring the current operation information of each monitored object;
the operation information comparison submodule is used for comparing the operation information with corresponding configuration information in the monitoring data table;
and the alarm information generation submodule is used for generating alarm information aiming at the monitored object if the operation information is not matched with the corresponding configuration information.
In this embodiment, the apparatus may further include the following sub-modules:
and the isolation module is used for isolating each monitoring object contained in different service trees and each monitoring object contained in different hierarchies of the same service tree according to the identification information and the hierarchy structure of each service tree.
It should be noted that, for the information interaction, execution process, and other contents between the above-mentioned devices/modules, because the same concept is based on, the specific functions and technical effects brought by the embodiments of the method of the present application may refer to the description of the embodiments of the method, and are not described herein again.
Referring to fig. 7, a schematic diagram of a server of one embodiment of the present application is shown. As shown in fig. 7, theserver 700 of the present embodiment includes: aprocessor 710, amemory 720, and acomputer program 721 stored in saidmemory 720 and operable on saidprocessor 710. Theprocessor 710, when executing thecomputer program 721, implements the steps in the various embodiments of the monitoring method described above, such as the steps S101 to S106 shown in fig. 1. Alternatively, theprocessor 710, when executing thecomputer program 721, implements the functions of each module/unit in each device embodiment described above, for example, the functions of themodules 601 to 606 shown in fig. 6.
Illustratively, thecomputer program 721 may be divided into one or more modules/units, which are stored in thememory 720 and executed by theprocessor 710 to accomplish the present application. The one or more modules/units may be a series of computer program instruction segments capable of performing certain functions, which may be used to describe the execution of thecomputer program 721 in theserver 700. For example, thecomputer program 721 may be divided into a service type determining module, a hierarchical structure determining module, a configuration data obtaining module, a service tree generating module, a monitoring information configuring module and a monitoring module, where the specific functions of the modules are as follows:
the service type determining module is used for determining a plurality of service types to be monitored, and each service type comprises a plurality of monitoring objects;
the hierarchical structure determining module is used for respectively determining the hierarchical structures of the service trees to be generated corresponding to the service types according to preset system architecture information;
the configuration data acquisition module is used for acquiring the configuration data of each service type from a preset configuration management database;
a service tree generating module, configured to generate service trees corresponding to the service types according to the hierarchical structure and the configuration data, where each service tree has unique identification information;
a monitoring information configuration module, configured to configure monitoring information for the monitoring objects included in each service tree based on the identification information;
and the monitoring module is used for monitoring the monitored object according to the monitoring information.
Theserver 700 may be a computing device such as a desktop computer, a notebook, a palm computer, and a cloud server. Theserver 700 may include, but is not limited to, aprocessor 710, amemory 720. Those skilled in the art will appreciate that fig. 7 is merely an example of aserver 700 and does not constitute a limitation onserver 700 and may include more or fewer components than shown, or some components may be combined, or different components, e.g.,server 700 may also include input-output devices, network access devices, buses, etc.
TheProcessor 710 may be a Central Processing Unit (CPU), other general purpose Processor, 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 device, discrete hardware component, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
Thestorage 720 may be an internal storage unit of theserver 700, such as a hard disk or a memory of theserver 700. Thememory 720 may also be an external storage device of theserver 700, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), etc. provided on theserver 700. Further, thememory 720 may also include both an internal storage unit and an external storage device of theserver 700. Thememory 720 is used for storing thecomputer program 721 and other programs and data required by theserver 700. Thememory 720 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only for convenience of distinguishing from each other, and are not used for limiting the protection scope of the present application. The specific working processes of the units and modules in the system may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
An embodiment of the present application further provides a server, where the server includes: at least one processor, a memory, and a computer program stored in the memory and executable on the at least one processor, the processor implementing the steps of any of the various method embodiments described above when executing the computer program.
The embodiments of the present application further provide a computer-readable storage medium, where a computer program is stored, and when the computer program is executed by a processor, the computer program implements the steps in the above-mentioned method embodiments.
Embodiments of the present application further provide a computer program product, which when run on a server, enables the server to implement the steps in the above method embodiments.
The integrated unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium and can implement the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include at least: any entity or device capable of carrying computer program code to a photographing apparatus/terminal apparatus, a recording medium, computer Memory, Read-Only Memory (ROM), random-access Memory (RAM), an electrical carrier signal, a telecommunications signal, and a software distribution medium. Such as a usb-disk, a removable hard disk, a magnetic or optical disk, etc. In certain jurisdictions, computer-readable media may not be an electrical carrier signal or a telecommunications signal in accordance with legislative and patent practice.
In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/network device and method may be implemented in other ways. For example, the above-described apparatus/network device embodiments are merely illustrative, and for example, the division of the modules or units is only one logical division, and there may be other divisions when actually implementing, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, 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.
The above-mentioned 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 technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.