Detailed Description
Embodiments of the present disclosure will be described in more detail below with reference to the accompanying drawings. While certain 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 construed as limited to the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete. It should be understood that the drawings and embodiments of the present disclosure are for illustration purposes only and are not intended to limit the scope of the present disclosure.
It should be noted that, for convenience of description, only the portions related to the present invention are shown in the drawings. Embodiments of the present disclosure and features of embodiments may be combined with each other without conflict.
It should be noted that the terms "first," "second," and the like in this disclosure are merely used to distinguish between different devices, modules, or units and are not used to define an order or interdependence of functions performed by the devices, modules, or units.
It should be noted that references to "one", "a plurality" and "a plurality" in this disclosure are intended to be illustrative rather than limiting, and those of ordinary skill in the art will appreciate that "one or more" is intended to be understood as "one or more" unless the context clearly indicates otherwise.
The names of messages or information interacted between the various devices in the embodiments of the present disclosure are for illustrative purposes only and are not intended to limit the scope of such messages or information.
The present disclosure will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Fig. 1 is a flow chart of some embodiments of a method for collecting server device monitoring information according to the present disclosure. A flow 100 of some embodiments of a method for collecting server device monitoring information according to the present disclosure is shown. The method for collecting the monitoring information of the server equipment comprises the following steps:
Step 101, collecting equipment monitoring information of the server in the running process of the server, and sending the equipment monitoring information to a first cache space.
In some embodiments, an executing entity (e.g., a computing device) of a method for collecting server device monitoring information may collect device monitoring information of a server during a running process of the server, and send the device monitoring information to a first cache space. Here, the device monitoring information may be monitoring information such as server performance monitoring, website security monitoring, user access speed monitoring, backup data monitoring, port monitoring, and the like. The first buffer space may be a preset buffer space. In practice, the executing body may collect the device monitoring information of the server through a wired connection or a wireless connection.
Step 102, in response to receiving the call command of the device monitoring information, the device monitoring information in the first cache space is sent to a second cache space of the monitoring end corresponding to the server.
In some embodiments, the executing body may send the device monitoring information in the first cache space to a second cache space of the monitoring end corresponding to the server in response to receiving the call command of the device monitoring information. Here, the call command may refer to calling the above-described device monitoring information in the first cache space to the second cache space. Here, the second buffer space may be a buffer area set by the monitoring end.
It should be noted that, the number of the first buffer space and the second buffer space is not only two, but is limited by the space position, that is, a buffer area is set at the server end for storing the device monitoring information generated by the server, so as to further relieve the data storage pressure of the server end. In order to prevent the monitoring end from blocking data or insufficient residual space when monitoring a plurality of servers, the monitoring end is additionally provided with a buffer area which is mainly used for relieving the data storage pressure of the monitoring end.
Step 103, determining a first remaining space of the monitoring end.
In some embodiments, the execution body may determine a first remaining space of the monitoring end. Here, the first remaining space may refer to a memory space currently available to the monitoring end.
Step 104, in response to determining that the occupied memory corresponding to the device monitoring information is smaller than the space memory of the first remaining space, the device monitoring information is sent to the monitoring end through the second buffer space.
In some embodiments, the executing body may send, in response to determining that the occupied memory corresponding to the device monitoring information is smaller than the space memory of the first remaining space, the device monitoring information to the monitoring end through the second cache space. The monitoring end is used for judging whether the server is abnormal or not through the equipment monitoring information. And the equipment monitoring information in the second cache space can be sent to the monitoring end.
Optionally, the executing body may further send the device monitoring information to the first cache space through the following steps:
in the first step, in the process of sending the device monitoring information to the first cache space, a second residual space of the first cache space is obtained based on a first data interaction protocol. Here, the first data interaction protocol may be a preset data interaction protocol. For example, the first data interaction protocol may be the TCP protocol. That is, the first buffer space may be accessed through a first data interaction protocol to determine a second remaining space of the first buffer space. The second remaining space may refer to a storage space currently available for the first cache space.
And a second step of transmitting the device monitoring information to the first buffer space in response to determining that the space memory of the second remaining space is greater than or equal to the occupied memory corresponding to the device monitoring information. The first data interaction protocol is used for representing a data interaction rule between the server and the first cache space.
Optionally, the executing body may further send the device monitoring information in the first cache space to a second cache space of a monitoring end corresponding to the server through the following steps:
In the first step, in the process of sending the device monitoring information to the second cache space, a third remaining space of the second cache space is obtained based on a second data interaction protocol. Here, the second data interaction protocol may be a data interaction protocol between the first buffer space and the second buffer space, which are set in advance. For example, the second data interaction protocol may be the TCP protocol. For example, the second cache space may be accessed in a second data interaction protocol to determine a storage space currently available for the second cache space.
And a second step of transmitting the device monitoring information in the first buffer space to the second buffer space in response to determining that the space memory of the third remaining space is greater than or equal to the occupied memory corresponding to the device monitoring information. The second data interaction protocol is used for representing a data interaction rule between the first cache space and the second cache space.
Optionally, in the process of sending the device monitoring information to the monitoring end, the device monitoring information in the first buffer space and/or the device monitoring information in the second buffer space is sent to the monitoring end based on the second data interaction protocol.
In some embodiments, in the process of sending the device monitoring information to the monitoring end, the executing body may send the device monitoring information in the first cache space and/or the device monitoring information in the second cache space to the monitoring end based on the second data interaction protocol.
Optionally, the executing body may further send the device monitoring information to the first cache space through the following steps:
in the first step, in the process of sending the device monitoring information to the first cache space, based on the first data interaction protocol, the device monitoring information occupying a space memory larger than the second remaining space and smaller than or equal to the space memory of the third remaining space is sent to the second cache space, and the first cache space is cleaned. The second buffer space is used for analyzing the equipment monitoring information according to the second data interaction protocol. Firstly, device monitoring information of the space memory occupying a space memory larger than the second residual space and smaller than or equal to the third residual space can be sent to the second cache space through a first data interaction protocol. And then cleaning the first cache space. I.e. the information cached in the first cache space is purged.
And a second step of transmitting the device monitoring information to the monitoring end based on the first data interaction protocol in the process of transmitting the device monitoring information to the first cache space, wherein the device monitoring information occupies a space memory larger than the second residual space and the third residual space and smaller than or equal to the space memory of the first residual space, and cleaning the first cache space and the second cache space. The monitoring end is used for analyzing the equipment monitoring information according to the second data interaction protocol. In practice, first, device monitoring information occupying a space memory greater than the second remaining space and the third remaining space and less than or equal to the space memory of the first remaining space may be sent to the monitoring end through a first data interaction protocol. And then cleaning the first cache space and the second cache space. Namely, the information cached in the first cache space and the second cache space is cleared.
Optionally, the executing body may further send the device monitoring information in the first cache space to a second cache space of a monitoring end corresponding to the server through the following steps:
In the first step, in the process of sending the device monitoring information to the second cache space, based on the second data interaction protocol, the device monitoring information occupying a space memory greater than the third remaining space and less than or equal to the space memory of the first remaining space is sent to the monitoring end, and the second cache space is cleaned. That is, the executing body may send, through a second data interaction protocol, device monitoring information that occupies a space memory that is greater than the space memory of the third remaining space and less than or equal to the space memory of the first remaining space to the monitoring end. After that, the information cached in the second cache space may be purged.
And secondly, in the process of sending the equipment monitoring information to the second cache space, generating first early warning information according to a set monitoring rule for the equipment monitoring information based on the second data interaction protocol, sending the first early warning information to the monitoring end, and cleaning the second cache space and the monitoring end. The monitoring end generates a first early warning signal according to the first early warning information. Here, the monitoring rule may be a preset rule for early warning of the device monitoring information. For example, the monitoring rule may be that a certain monitoring index (user access speed) in the device monitoring information is greater than a preset threshold value, and early warning is performed. The monitoring information of the equipment can be automatically detected according to the monitoring rule, and when an abnormal index is detected, first early warning information is generated. And then, the second cache space and the information cached in the monitoring end can be cleared. The first warning signal may be indicative of an abnormality in the device monitoring information.
Optionally, the executing body may further send the device monitoring information to the monitoring end through the following steps:
in the first step, in the process of sending the equipment monitoring information to the monitoring end, second early warning information is generated based on the monitoring rule, the second early warning information is sent to the monitoring end, and space cleaning is carried out on the monitoring end. And the monitoring end generates a second early warning signal according to the second early warning information. That is, the device monitoring information in the process of transmitting the device monitoring information to the monitoring terminal can be monitored by the monitoring rule. And when the abnormality is detected, generating second early warning information. The second pre-warning information may indicate that the device monitoring information is abnormal. The information cached in the monitoring end can be cleared. The second pre-warning signal may be indicative of an abnormality in the device monitoring information.
And a second step of generating third early warning information based on the monitoring rule in the process of sending the equipment monitoring information to the monitoring end, sending the third early warning information to the monitoring end, and cleaning the first cache space. That is, the device monitoring information in the process of transmitting the device monitoring information to the monitoring terminal can be monitored by the monitoring rule. And when the abnormality is detected, generating third early warning information. The information cached in the first cache space may be purged. The third pre-warning information may indicate that the device monitoring information is abnormal.
Optionally, in the process of sending the device monitoring information to the monitoring end, feature extraction is performed on the device monitoring information based on the monitoring rule, so as to obtain fault features for generating the early warning signal.
In some embodiments, in the process of sending the device monitoring information to the monitoring end, the executing body may perform feature extraction on the device monitoring information based on the monitoring rule, to obtain a fault feature for generating the early warning signal. For example, the abnormal index information in the above-mentioned device monitoring information may be extracted as the fault feature according to the index name involved in the monitoring rule.
Optionally, when the server operates, the device monitoring information is monitored according to the fault characteristic, the characteristic information of the device monitoring information with the fault characteristic is divided into first information meeting a first division condition, and the first information is sent to the monitoring end for fault diagnosis according to the first data interaction protocol and/or the second data interaction protocol.
In some embodiments, the executing body may monitor the device monitoring information according to the fault characteristic when the server runs, divide the characteristic information of the device monitoring information having the fault characteristic into first information meeting a first division condition, and send the first information to the monitoring end for fault diagnosis according to the first data interaction protocol and/or the second data interaction protocol. The first segmentation condition is as follows: the occupied memory of the first information is smaller than or equal to the space memory of the first residual space and/or the second residual space and/or the third residual space. That is, the index feature information having the fault feature in the device monitoring information may be divided.
Optionally, in the process of sending the device monitoring information to the monitoring end, the device monitoring information is divided into second information meeting a second division condition, and the second information is sent to the monitoring end for fault diagnosis.
In some embodiments, the executing body may divide the device monitoring information into second information that satisfies a second division condition in a process of sending the device monitoring information to the monitoring end, and send the second information to the monitoring end for fault diagnosis. Wherein, the second segmentation condition is: the occupied memory of the second information is smaller than or equal to the space memory of the first residual space, the second residual space and the third residual space. Namely, the device monitoring information is cut.
Optionally, in the process of sending the device monitoring information to the monitoring end, the device monitoring information is divided into first monitoring information, second monitoring information and third monitoring information, and the first monitoring information is sent to the monitoring end to perform fault diagnosis, the second monitoring information is sent to the first buffer space to perform fault diagnosis, and the third monitoring information is sent to the second buffer space to perform fault diagnosis.
In some embodiments, the executing body may divide the device monitoring information into first monitoring information, second monitoring information and third monitoring information in a process of sending the device monitoring information to the monitoring end, send the first monitoring information to the monitoring end for fault diagnosis, send the second monitoring information to the first buffer space for fault diagnosis, and send the third monitoring information to the second buffer space for fault diagnosis. The occupied memory of the first monitoring information is smaller than or equal to the space memory of the first residual space, the occupied memory of the second monitoring information is smaller than or equal to the space memory of the second residual space, and the occupied memory of the third monitoring information is smaller than or equal to the space memory of the third residual space. That is, the above-described device monitoring information may be divided into three pieces of monitoring information.
Optionally, in the process of dividing the device monitoring information, the first monitoring information, the second monitoring information or the third monitoring information is selected to generate the reconstructed device monitoring information, and fault diagnosis is performed through the monitoring end, the first buffer space or the second buffer space.
In some embodiments, the executing body may generate the reconstructed device monitoring information by selecting the first monitoring information or the second monitoring information or the third monitoring information in a process of dividing the device monitoring information, and perform fault diagnosis through the monitoring end or the first buffer space or the second buffer space. That is, the first monitoring information or the second monitoring information or the third monitoring information may be used as the reconstruction device monitoring information.
Optionally, in the fault diagnosis process, updating the associated diagnosis rule according to the first diagnosis process of the monitoring end, the second diagnosis process of the first cache space and the third diagnosis process of the second cache space.
In some embodiments, the execution body may update the associated diagnostic rule according to a first diagnostic procedure of the monitoring end, a second diagnostic procedure of the first buffer space, and a third diagnostic procedure of the second buffer space during the fault diagnosis. Here, the diagnostic rule may refer to a fault diagnostic rule set in advance. That is, the diagnostic rule may be a rule for detecting the first monitoring information, the second monitoring information, or the third monitoring information.
Optionally, in the fault diagnosis process, a first fault diagnosis policy of the monitoring end is obtained, and a second fault diagnosis policy of the first buffer space, a third fault diagnosis policy of the second buffer space, and a fourth fault diagnosis policy of the server are updated.
In some embodiments, the executing body may acquire a first fault diagnosis policy of the monitoring end during a fault diagnosis process, and update a second fault diagnosis policy of the first cache space, a third fault diagnosis policy of the second cache space, and a fourth fault diagnosis policy of the server. Here, the first, second, third, and fourth fault diagnosis policies may be preset policy information for diagnosing the monitoring information.
The above related matters are taken as an invention point of the present disclosure, and solve the second technical problem mentioned in the background art, namely that no inspection is performed on data, abnormal data is stored, and storage space is wasted. ". The factors that waste storage space are often as follows: the data is not checked, and the abnormal data is stored, so that the storage space is wasted. If the above factors are solved, the effect of avoiding the waste of the storage space can be achieved. In order to achieve the effect, first, in the process of sending the equipment monitoring information to the monitoring end, generating second early warning information based on the monitoring rule, sending the second early warning information to the monitoring end, and performing space cleaning on the monitoring end, wherein the monitoring end generates a second early warning signal according to the second early warning information; in the process of sending the equipment monitoring information to the monitoring end, third early warning information is generated based on the monitoring rule, the third early warning information is sent to the monitoring end, and the first cache space is cleaned. In the process of sending the equipment monitoring information to a monitoring end, extracting features of the equipment monitoring information based on the monitoring rule to obtain fault features for generating an early warning signal; when the server operates, the equipment monitoring information is monitored according to the fault characteristics, the characteristic information of the equipment monitoring information with the fault characteristics is divided into first information meeting a first division condition, and the first information is sent to the monitoring end for fault diagnosis according to the first data interaction protocol and/or the second data interaction protocol, wherein the first division condition is that: the occupied memory of the first information is smaller than or equal to the space memory of the first residual space and/or the second residual space and/or the third residual space. In the process of dividing the equipment monitoring information, generating reconstruction equipment monitoring information by selecting the first monitoring information or the second monitoring information or the third monitoring information, and performing fault diagnosis by the monitoring end or the first buffer space or the second buffer space; in the fault diagnosis process, updating the related diagnosis rules according to a first diagnosis process of the monitoring end, a second diagnosis process of the first cache space and a third diagnosis process of the second cache space; in the fault diagnosis process, a first fault diagnosis strategy of the monitoring end is obtained, and a second fault diagnosis strategy of the first cache space, a third fault diagnosis strategy of the second cache space and a fourth fault diagnosis strategy of the server are updated. Through space prejudgment, the problem can be effectively solved, suspected or confirmed diagnosis data are preferentially transmitted to the monitoring end through strategies of early diagnosis at different storage positions, diagnosis time can be effectively saved, and timeliness of fault diagnosis is improved. And then, a data segmentation strategy is designed, the data scale is reduced by segmenting the data, the data interaction is facilitated, but the transmission times are increased when the data are segmented, and if the segmented data are all diagnosed at the monitoring end. Then, problems easily occur in tracing, so that after the segmented data are stored in segments, the technical problem can be solved through a strategy of segment diagnosis or whole calling, and the data size is further reduced.
With further reference to fig. 2, as an implementation of the method shown in the foregoing figures, the present disclosure provides some embodiments of a collecting apparatus for server device monitoring information, which correspond to those method embodiments shown in fig. 1, and which are particularly applicable to various electronic devices.
As shown in fig. 2, the collecting apparatus 200 for server device monitoring information of some embodiments includes: an acquisition unit 201, a first transmission unit 202, a determination unit 203 and a second transmission unit 204. The collecting unit 201 is configured to collect device monitoring information of the server and send the device monitoring information to the first cache space in the running process of the server; a first sending unit 202 configured to send the device monitoring information in the first cache space to a second cache space of a monitoring end corresponding to the server in response to receiving a call command of the device monitoring information; a determining unit 203 configured to determine a first remaining space of the monitoring end; and a second sending unit 204 configured to send, in response to determining that the space memory occupied by the device monitoring information is smaller than the space memory occupied by the first remaining space, the device monitoring information to the monitoring end through the second buffer space, where the monitoring end is configured to determine whether the server has an abnormality through the device monitoring information.
It will be appreciated that the elements described in the collection means 200 for server device monitoring information correspond to the individual steps in the method described with reference to fig. 1. Thus, the operations, features and advantages described above for the method are equally applicable to the collecting device 200 for monitoring information of the server device and the units contained therein, which are not described here again.
Referring now to fig. 3, a schematic diagram of an electronic device (e.g., computing device) 300 suitable for use in implementing some embodiments of the present disclosure is shown. The electronic devices in some embodiments of the present disclosure may include, but are not limited to, mobile terminals such as mobile phones, notebook computers, digital broadcast receivers, PDAs (personal digital assistants), PADs (tablet computers), PMPs (portable multimedia players), car terminals (e.g., car navigation terminals), and the like, as well as stationary terminals such as digital TVs, desktop computers, and the like. The electronic device shown in fig. 3 is merely an example and should not impose any limitations on the functionality and scope of use of embodiments of the present disclosure.
As shown in fig. 3, the electronic device 300 may include a processing means (e.g., a central processing unit, a graphics processor, etc.) 301 that may perform various suitable actions and processes in accordance with a program stored in a Read Only Memory (ROM) 302 or a program loaded from a storage means 308 into a Random Access Memory (RAM) 303. In the RAM303, various programs and data required for the operation of the electronic apparatus 300 are also stored. The processing device 301, the ROM302, and the RAM303 are connected to each other via a bus 304. An input/output (I/O) interface 305 is also connected to bus 304.
In general, the following devices may be connected to the I/O interface 305: input devices 306 including, for example, a touch screen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; an output device 307 including, for example, a Liquid Crystal Display (LCD), a speaker, a vibrator, and the like; storage 308 including, for example, magnetic tape, hard disk, etc.; and communication means 309. The communication means 309 may allow the electronic device 300 to communicate with other devices wirelessly or by wire to exchange data. While fig. 3 shows an electronic device 300 having various means, it is to be understood that not all of the illustrated means are required to be implemented or provided. More or fewer devices may be implemented or provided instead. Each block shown in fig. 3 may represent one device or a plurality of devices as needed.
In particular, according to some embodiments of the present disclosure, the processes described above with reference to flowcharts may be implemented as computer software programs. For example, some embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such embodiments, the computer program may be downloaded and installed from a network via communications device 309, or from storage device 308, or from ROM 302. The above-described functions defined in the methods of some embodiments of the present disclosure are performed when the computer program is executed by the processing means 301.
It should be noted that, the computer readable medium described in some embodiments of the present disclosure may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of the computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In some embodiments of the present disclosure, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments of the present disclosure, however, the computer-readable signal medium may comprise a data signal propagated in baseband or as part of a carrier wave, with the computer-readable program code embodied therein. Such a propagated data signal may take any of a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination of the foregoing. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: electrical wires, fiber optic cables, RF (radio frequency), and the like, or any suitable combination of the foregoing.
In some implementations, the clients, servers may communicate using any currently known or future developed network protocol, such as HTTP (HyperText Transfer Protocol ), and may be interconnected with any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the internet (e.g., the internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed networks.
The computer readable medium may be contained in the electronic device; or may exist alone without being incorporated into the electronic device. The computer readable medium carries one or more programs which, when executed by the electronic device, cause the electronic device to: in the running process of a server, collecting equipment monitoring information of the server, and sending the equipment monitoring information to a first cache space; responding to a call command received by the equipment monitoring information, and sending the equipment monitoring information in the first cache space to a second cache space of a monitoring end corresponding to the server; determining a first residual space of the monitoring end; and in response to determining that the space memory occupied by the equipment monitoring information is smaller than the space memory occupied by the first residual space, sending the equipment monitoring information to the monitoring end through the second cache space, wherein the monitoring end is used for judging whether the server is abnormal or not through the equipment monitoring information.
Computer program code for carrying out operations for some embodiments of the present disclosure may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of 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.
The units described in some embodiments of the present disclosure may be implemented by means of software, or may be implemented by means of hardware. The described units may also be provided in a processor, for example, described as: a processor comprising: the device comprises an acquisition unit, a first sending unit, a determining unit and a second sending unit. The names of these units do not in any way limit the unit itself, and for example, the setting unit may also be described as "a unit for setting at least two mirror servers for a target server to interact with data of the target server".
The functions described above herein may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: a Field Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), an Application Specific Standard Product (ASSP), a system on a chip (SOC), a Complex Programmable Logic Device (CPLD), and the like.
The foregoing description is only of the preferred embodiments of the present disclosure and description of the principles of the technology being employed. It will be appreciated by those skilled in the art that the scope of the invention in the embodiments of the present disclosure is not limited to the specific combination of the above technical features, but encompasses other technical features formed by any combination of the above technical features or their equivalents without departing from the spirit of the invention. Such as the above-described features, are mutually substituted with (but not limited to) the features having similar functions disclosed in the embodiments of the present disclosure.