ROHC system and implementation method thereof
Technical Field
The present application relates to a compression scheme, and more particularly, to an ROHC system and an implementation method thereof.
Background
ROHC (Robust Header Compression) is a technique for compressing a Header of a network data packet, and is mainly applied to an air interface (also called an air interface) for wireless transmission to improve resource utilization rate of the air interface. The header includes a static field (static field) and a dynamic field (dynamic field), and has respective values. Functional entities of ROHC include a compressor and a decompressor.
The ROHC protocol defines three modes of operation: unidirectional mode (uni directional mode), Bidirectional Optimistic mode (Bidirectional optimal mode), and Bidirectional Reliable mode (Bidirectional Reliable mode). The unidirectional mode is that the decompressing side does not transmit feedback information to the compressing side when the wireless link does not exist or the feedback channel cannot be used. The bidirectional optimistic mode is that when the wireless link has a feedback channel available, the decompressor sends feedback information to the compressor either when decompressing correctly or when decompressing incorrectly (alternative). The bidirectional reliable mode is that when the quality of a wireless link is good, the decompression party always sends feedback information to the compression party no matter whether decompression is carried out correctly or in error. Both the ROHC compressor and decompressor start from a unidirectional mode and then can transition to a bidirectional optimistic mode, as appropriate, and then can transition to a bidirectional reliable mode, as appropriate.
The ROHC protocol also defines three compression states, from low-Order to high-Order, IR (Initialization and refresh state), FO (First Order state), SO (second Order state), respectively. The IR state is the lowest order and the header of the compressed packet is the largest and may even exceed the original uncompressed header. The SO state is highest order, the compressed packet has the smallest header and the largest compression ratio.
Errors or mistakes that may exist in the radio channel may cause decompression failure of the ROHC decompressor, and in some operation modes, the ROHC decompressor may send Feedback (Feedback) packets such as ACK (acknowledgement), NACK (negative acknowledgement), STATIC-NACK (STATIC negative acknowledgement) and the like to the ROHC compressor. This may trigger the ROHC compressor to adjust the compression state. In the existing ROHC implementation scheme, the ROHC compressor can only passively wait for the ROHC decompressor to send a feedback packet, and then know the working condition of the ROHC decompressor and adjust the compression state of the ROHC compressor itself on the header accordingly.
Disclosure of Invention
The technical problem to be solved by the present application is to provide a method for implementing an ROHC system, which can increase the chance of communication between an ROHC compressor and an ROHC decompressor, so that the ROHC compressor can know the working condition of the ROHC decompressor in time and adjust the compression state in a targeted manner. For this reason, the present application also provides a corresponding ROHC system.
In order to solve the above technical problem, the present application provides an implementation method of an ROHC system, including the following steps. Step S110: the ROHC compressor compresses the headers one by one, and performs cumulative counting on each successfully compressed header, and the cumulative COUNT is recorded as COUNT; simultaneously, carrying out accumulated measurement on the original byte size of each successfully compressed header, and recording as TOTALBYTES; a threshold N for the number of headers, a threshold Q for the total number of header bytes, is also set. Step S120: whenever COUNT ≧ N or TOTALBYTES ≧ Q, the ROHC compressor sends a request feedback packet to the ROHC decompressor, and then clears COUNT and TOTALBYTES. Step S130: and after receiving the request feedback data packet, the ROHC decompressor generates a corresponding type of feedback data packet according to the current working condition of the ROHC decompressor and sends the feedback data packet to the ROHC compressor. Step S140: and after receiving the feedback data packet sent by the ROHC decompressor, the ROHC compressor carries out corresponding processing aiming at different types of feedback data packets.
The method for implementing the ROHC system is the first embodiment of the present application, and the ROHC compressor actively initiates polling to the ROHC decompressor according to a rated workload (for example, a rated workload in terms of quantity or byte), so as to know the operating condition of the ROHC decompressor as early as possible and to adjust the compression state of the ROHC compressor. This is beneficial to improve the robustness or effectiveness of subsequent compression of data by the ROHC decompressor.
Further, in step S130, if the ROHC decompressor is working normally and can successfully decompress the header, an ACK type feedback packet is generated and transmitted. If the ROHC decompressor works abnormally and the part which cannot be successfully decompressed is the dynamic field of the header, a NACK type feedback packet is generated and transmitted. If the operation of the ROHC decompressor is abnormal and the part that cannot be successfully decompressed is the STATIC field of the header, a STATIC-NACK type feedback packet is generated and transmitted. This is a preferred, most technically reasonable implementation.
Further, in step S140, when the ACK type feedback packet is received, the ROHC compressor keeps the current compression state unchanged or changes to a higher-order compression state. When a NACK type feedback packet is received, the ROHC compressor changes the compression state to a lower order compression state. When the STATIC-NACK type feedback packet is received, the ROHC compressor changes the compression state to IR. This is a preferred implementation.
The application also provides an ROHC system which is characterized by comprising an ROHC compressor and an ROHC decompressor. The ROHC compressor comprises a compression unit, a counting unit, a metering unit and a request feedback unit; the compression unit is used for compressing the header and sending out the compressed header; the compression unit is also used for correspondingly adjusting the compression state aiming at different types of feedback data packets after receiving the feedback data packets sent by the ROHC decompressor; the counting unit is used for performing accumulated counting on each successfully compressed header and recording the accumulated counting as COUNT; the counting unit also clears the COUNT after the feedback data packet is sent out by the feedback requesting unit each time; the metering unit is used for carrying out accumulation metering on the original byte size of each successfully compressed header and recording the accumulated byte size as TOTALBYTES; the metering unit also clears TOTALBYTES after the feedback unit is requested to send a feedback data packet each time; the request feedback unit is used for sending a request feedback data packet to the ROHC decompressor when the COUNT is more than or equal to N or the TOTALBYTES is more than or equal to Q. The ROHC decompressor comprises a decompression unit and a feedback unit; the decompression unit is used for receiving and decompressing the compressed header; and the feedback unit is used for generating a feedback data packet of a corresponding type according to the current working condition of the ROHC decompressor and sending the feedback data packet to the ROHC compressor after receiving the request feedback data packet.
The ROHC system is the first embodiment of the present application, and the ROHC compressor actively initiates polling to the ROHC decompressor according to a rated workload, so as to know the operating condition of the ROHC decompressor as early as possible and to adjust the compression state of the ROHC compressor. This is beneficial to improve the robustness or effectiveness of subsequent compression of data by the ROHC decompressor.
Further, after receiving the ACK type feedback packet, the compression unit maintains the current compression state unchanged or changes the compression state to a higher-order compression state. And after receiving the NACK type feedback data packet, the compression unit changes the compression state into a lower-order compression state. And after receiving the STATIC-NACK type feedback data packet, the compression unit changes the compression state into IR. This is a preferred implementation.
Further, if the ROHC decompressor is currently working normally and can successfully decompress the header, the feedback unit generates and transmits an ACK type feedback packet. If the ROHC decompressor works abnormally and the part which cannot be successfully decompressed is the dynamic field of the header, the feedback unit generates and transmits a NACK type feedback packet. If the ROHC decompressor works abnormally and the part that cannot be successfully decompressed is the STATIC field of the header, the feedback unit generates and transmits a STATIC-NACK type feedback packet. This is a preferred, most technically reasonable implementation.
The application also provides an implementation method of the ROHC system, which comprises the following steps. Step S310: the ROHC compressor compresses the headers one by one, and performs cumulative counting on each successfully compressed header, and the cumulative COUNT is recorded as COUNT; simultaneously, carrying out accumulated measurement on the original byte size of each successfully compressed header, and recording as TOTALBYTES; a threshold N for the number of headers, a threshold Q for the total number of header bytes, is also set. Step S320: whenever COUNT ≧ N or TOTALBYTES ≧ Q, the ROHC compressor sends a request feedback packet to the ROHC decompressor, and then clears COUNT and TOTALBYTES. Step S330: and after receiving the request feedback data packet, the ROHC decompressor generates a corresponding type of feedback data packet according to the current working condition of the ROHC decompressor and buffers the feedback data packet. Step S340: before the timing of the inhibition feedback timer reaches, if the ROHC decompressor does not generate a new feedback data packet, after the timing of the inhibition feedback timer reaches, the ROHC decompressor sends out the buffered feedback data packet and restarts the inhibition feedback timer. Before the timing of the prohibition feedback timer reaches, if a new feedback data packet is generated by the ROHC decompressor, and the type of the new feedback data packet is the same as that of the cached feedback data packet, the ROHC decompressor updates the feedback data packet in the cache with the new feedback data packet; after the timing of the feedback prohibition timer is reached, the ROHC decompressor sends out the feedback data packet which is newly buffered, and restarts the feedback prohibition timer. Before the timing of the inhibition feedback timer reaches, if a new feedback data packet is generated by the ROHC decompressor, and if the new feedback data packet is different from the type of the cached feedback data packet, the ROHC decompressor deletes the cached feedback data packet, sends out the new feedback data packet, and restarts the inhibition feedback timer. The ROHC decompressor starts or restarts the prohibit feedback timer after every feedback packet is sent. Step S350: and after receiving the feedback data packet sent by the ROHC decompressor, the ROHC compressor carries out corresponding processing aiming at different types of feedback data packets.
The above-mentioned method for implementing the ROHC system is the second embodiment of the present application, in which the ROHC compressor actively initiates polling to the ROHC decompressor according to the rated workload, so as to know the working condition of the ROHC decompressor as early as possible and to adjust the compression state of the ROHC compressor. This is beneficial to improve the robustness or effectiveness of subsequent compression of data by the ROHC decompressor. The ROHC decompressor avoids repeatedly sending feedback data packets of the same type in a short time, reduces the consumption of wireless communication bearing resources and improves the utilization rate of the wireless resources.
Further, in step S330, if the ROHC decompressor is working normally and can successfully decompress the header, an ACK type feedback packet is generated and transmitted. If the ROHC decompressor works abnormally and the part which cannot be successfully decompressed is the dynamic field of the header, a NACK type feedback packet is generated and transmitted. If the operation of the ROHC decompressor is abnormal and the part that cannot be successfully decompressed is the STATIC field of the header, a STATIC-NACK type feedback packet is generated and transmitted. This is a preferred, most technically reasonable implementation.
Further, in step S350, when the ACK type feedback packet is received, the ROHC compressor keeps the current compression state unchanged or changes to a higher-order compression state. When a NACK type feedback packet is received, the ROHC compressor changes the compression state to a lower order compression state. When the STATIC-NACK type feedback packet is received, the ROHC compressor changes the compression state to IR. This is a preferred implementation.
The application also provides an ROHC system, which comprises an ROHC compressor and an ROHC decompressor. The ROHC compressor comprises a compression unit, a counting unit, a metering unit and a request feedback unit; the compression unit is used for compressing the header and sending out the compressed header; the compression unit is also used for correspondingly adjusting the compression state aiming at different types of feedback data packets after receiving the feedback data packets sent by the ROHC decompressor; the counting unit is used for performing accumulated counting on each successfully compressed header and recording the accumulated counting as COUNT; the counting unit also clears the COUNT after the feedback data packet is sent out by the feedback requesting unit each time; the metering unit is used for carrying out accumulation metering on the original byte size of each successfully compressed header and recording the accumulated byte size as TOTALBYTES; the metering unit also clears TOTALBYTES after the feedback unit is requested to send a feedback data packet each time; the request feedback unit is used for sending a request feedback data packet to the ROHC decompressor when the COUNT is more than or equal to N or the TOTALBYTES is more than or equal to Q. The ROHC decompressor comprises a decompression unit, a timing unit and a feedback unit; the decompression unit is used for receiving and decompressing the compressed header; the timing unit is used for starting or restarting the feedback inhibition timing after the feedback unit sends a feedback data packet each time; the feedback unit is used for generating a feedback data packet of a corresponding type according to the working condition of the current ROHC decompressor and caching the feedback data packet after receiving the request feedback data packet; during the timing period of the timing unit, if a new feedback data packet is generated by the feedback unit and the type of the new feedback data packet is the same as that of the cached feedback data packet, the feedback unit updates the feedback data packet in the cache with the new feedback data packet; during the timing period of the timing unit, if a new feedback data packet is generated by the feedback unit and if the type of the new feedback data packet is different from that of the cached feedback data packet, the feedback unit deletes the cached feedback data packet and sends the new feedback data packet to the ROHC compressor; and after the timing of the timing unit expires, the feedback unit sends the feedback data packet which is cached latest to the ROHC compressor.
The ROHC system is an embodiment two of the present application, and the ROHC compressor actively initiates polling to the ROHC decompressor according to a rated workload, so as to know the operating condition of the ROHC decompressor as early as possible and adjust the compression state of the ROHC compressor. This is beneficial to improve the robustness or effectiveness of subsequent compression of data by the ROHC decompressor. The ROHC decompressor avoids repeatedly sending feedback data packets of the same type in a short time, reduces the consumption of wireless communication bearing resources and improves the utilization rate of the wireless resources.
Further, after receiving the ACK type feedback packet, the compression unit maintains the current compression state unchanged or changes the compression state to a higher-order compression state. And after receiving the NACK type feedback data packet, the compression unit changes the compression state into a lower-order compression state. And after receiving the STATIC-NACK type feedback data packet, the compression unit changes the compression state into IR. This is a preferred implementation.
Further, if the ROHC decompressor is currently working normally and can successfully decompress the header, the feedback unit generates and buffers an ACK type feedback packet. If the ROHC decompressor works abnormally and the part which can not be successfully decompressed is the dynamic field of the header, the feedback unit generates and buffers a NACK type feedback data packet. If the ROHC decompressor works abnormally and the part that cannot be successfully decompressed is the STATIC field of the header, the feedback unit generates and buffers a STATIC-NACK type feedback packet. This is a preferred, most technically reasonable implementation.
The technical effect achieved by the application is that the ROHC compressor can acquire the working condition of the ROHC decompressor in time according to the rated workload of the ROHC compressor, so that the compression state of the ROHC compressor is adjusted. This is beneficial to improve the robustness or effectiveness of subsequent compression of data by the ROHC decompressor.
Drawings
Fig. 1 is a flowchart of a first embodiment of a method for implementing an ROHC system provided by the present application.
Fig. 2 is a schematic structural diagram of a ROHC system according to a first embodiment of the present application.
Fig. 3 is a flowchart of a second embodiment of a method for implementing an ROHC system according to the present application.
Fig. 4 is a schematic structural diagram of a second embodiment of the ROHC system provided by the present application.
The reference numbers in the figures illustrate: 200 is an ROHC system; 210 is an ROHC compressor; 212 is a compression unit; 214 is a counting unit; 216 is a metering unit; 218 is a request feedback unit; 220 is an ROHC decompressor; 222 is a decompression unit; 224 is a timing unit; 228 is a feedback unit.
Detailed Description
Referring to fig. 1, an embodiment of a method for implementing an ROHC system provided by the present application includes the following steps.
Step S110: the ROHC compressor compresses the headers one by one, and performs cumulative counting on each successfully compressed header, and the cumulative COUNT is recorded as COUNT; the raw byte size of each successfully compressed header is also cumulatively measured and recorded as totalbynes. In this step, the ROHC compressor also sets a threshold N for the number of headers and a threshold Q for the total number of header bytes.
Step S120: whenever COUNT ≧ N or TOTALBYTES ≧ Q, the ROHC compressor sends a Request Feedback (Feedback Request) packet to the ROHC decompressor, which then clears COUNT and TOTALBYTES.
Step S130: and after receiving the request feedback data packet, the ROHC decompressor generates a corresponding type of feedback data packet according to the current working condition of the ROHC decompressor and sends the feedback data packet to the ROHC compressor. And if the ROHC decompressor works normally currently and can successfully decompress the header, generating and sending an ACK type feedback data packet. If the ROHC decompressor works abnormally and the part which cannot be successfully decompressed is the dynamic field of the header, a NACK type feedback packet is generated and transmitted. If the operation of the ROHC decompressor is abnormal and the part that cannot be successfully decompressed is the STATIC field of the header, a STATIC-NACK type feedback packet is generated and transmitted.
Step S140: and after receiving the feedback data packet sent by the ROHC decompressor, the ROHC compressor carries out corresponding processing aiming at different types of feedback data packets. For example, for ACK type feedback packets, the ROHC compressor keeps the current compression state unchanged or changes to a higher order compression state. For another example, for NACK type feedback packets, the ROHC compressor changes the compression state to a lower order compression state after receiving the NACK type feedback packets. For another example, for the STATIC-NACK type feedback packet, the ROHC compressor changes the compression state to IR after receiving it.
Referring to fig. 2, the present application further provides a first embodiment of an ROHC system, corresponding to the first embodiment of the method for implementing the ROHC system shown in fig. 1. The ROHC system 200 includes an ROHC compressor 210, an ROHC decompressor 220.
The ROHC compressor 210 includes a compression unit 212, a counting unit 214, a metering unit 216, and a request feedback unit 218. The compressing unit 212 is used for compressing the header and sending out the compressed header. The compression unit 212 is further configured to adjust the compression state according to different types of feedback data packets after receiving the feedback data packet sent by the ROHC decompressor 220. The counting unit 214 is configured to cumulatively COUNT each successfully compressed header, and record the cumulative COUNT as COUNT. The counting unit 214 also clears the COUNT after requesting the feedback unit 218 to send a feedback packet each time. The metering unit 216 is used to perform cumulative metering on the original byte size of each successfully compressed header, denoted as TOTALBYTES. The metering unit 216 also clears TOTALBYTES after the feedback unit 218 is requested to send a feedback data packet each time. The request feedback unit 218 is configured to send a request feedback packet to the ROHC decompressor 220 when COUNT is greater than or equal to N or total bytes is greater than or equal to Q.
Further, after receiving the ACK type feedback packet from the ROHC decompressor 220, the compression unit 212 maintains the current compression state or changes the compression state to a higher-order compression state. The compression unit 212 changes the compression state to a lower-order compression state after receiving the NACK type feedback packet from the ROHC decompressor 220. The compression unit 212 changes the compression state to IR after receiving the STATIC-NACK type feedback packet from the ROHC decompressor 220.
The ROHC decompressor 220 includes a decompression unit 222 and a feedback unit 228. The decompression unit 222 is used for receiving the compressed header and decompressing. The feedback unit 226 is configured to generate a corresponding type of feedback data packet according to the current working condition of the ROHC decompressor 220 after receiving the request feedback data packet, and send the feedback data packet to the ROHC compressor 210.
Further, if the ROHC decompressor 220 is currently operating normally and can successfully decompress the header, the feedback unit 226 generates and transmits an ACK type feedback packet. If the ROHC decompressor 220 is abnormally operated and the portion that cannot be successfully decompressed is the dynamic field of the header, the feedback unit 226 generates and transmits a NACK type feedback packet. If the ROHC decompressor 220 is abnormally operated and the portion that cannot be successfully decompressed is a STATIC field of the header, the feedback unit 226 generates and transmits a STATIC-NACK type feedback packet.
In general, the ROHC compressor 210 sends a request feedback packet to the ROHC decompressor 220 after sending a certain number or byte of compressed headers (on first arrival basis), and then may continue to send compressed headers. And the ROHC decompressor 220 sends a feedback packet reflecting its own working state to the ROHC compressor 210 after receiving the request feedback packet. Thus, the ROHC compressor 210 can timely know the working state of the ROHC decompressor 220 by means of active query, and adaptively adjust its own compression state. This adjustment action occurs before the ROHC decompressor 220 fails to decompress, thus achieving an enhancement in robustness across the entire ROHC channel with less loss in compression effectiveness.
Referring to fig. 3, an embodiment of a method for implementing an ROHC system provided by the present application includes the following steps.
Step S310: the ROHC compressor compresses the headers one by one, and performs cumulative counting on each successfully compressed header, and the cumulative COUNT is recorded as COUNT; the raw byte size of each successfully compressed header is also cumulatively measured and recorded as totalbynes. In this step, the ROHC compressor also sets a threshold N for the number of headers and a threshold Q for the total number of header bytes.
Step S320: whenever COUNT ≧ N or TOTALBYTES ≧ Q, the ROHC compressor sends a request feedback packet to the ROHC decompressor, and then clears COUNT and TOTALBYTES.
Step S330: and after receiving the request feedback data packet, the ROHC decompressor generates a corresponding type of feedback data packet according to the current working condition of the ROHC decompressor and buffers the feedback data packet. And if the ROHC decompressor works normally currently and can successfully decompress the header, generating and buffering an ACK type feedback data packet. If the ROHC decompressor works abnormally and the part which can not be successfully decompressed is the dynamic field of the header, a NACK type feedback packet is generated and buffered. If the ROHC decompressor works abnormally and the part which cannot be successfully decompressed is the STATIC field of the header, a STATIC-NACK type feedback packet is generated and buffered.
Step S340: before the timing of the inhibition feedback timer reaches, if the ROHC decompressor does not generate a new feedback data packet, after the timing of the inhibition feedback timer reaches, the ROHC decompressor sends out the buffered feedback data packet and restarts the inhibition feedback timer.
Before the timing of the prohibit feedback timer reaches, if a new feedback data packet is generated by the ROHC decompressor and the new feedback data packet is of the same type as the buffered feedback data packet, the ROHC decompressor updates the buffered feedback data packet with the new feedback data packet. After the timing of the feedback prohibition timer is reached, the ROHC decompressor sends out the feedback data packet which is newly buffered, and restarts the feedback prohibition timer.
Before the timing of the inhibition feedback timer reaches, if a new feedback data packet is generated by the ROHC decompressor, and if the new feedback data packet is different from the type of the cached feedback data packet, the ROHC decompressor deletes the cached feedback data packet, sends out the new feedback data packet, and restarts the inhibition feedback timer.
In this step, the ROHC decompressor starts or restarts the prohibit feedback timer after every feedback packet is sent.
Step S350: and after receiving the feedback data packet sent by the ROHC decompressor, the ROHC compressor carries out corresponding processing aiming at different types of feedback data packets. For example, for ACK type feedback packets, the ROHC compressor keeps the current compression state unchanged or changes to a higher order compression state. For another example, for NACK type feedback packets, the ROHC compressor changes the compression state to a lower order compression state after receiving the NACK type feedback packets. For another example, for the STATIC-NACK type feedback packet, the ROHC compressor changes the compression state to IR after receiving it.
Referring to fig. 4, the application further provides a second embodiment of the ROHC system, corresponding to the second embodiment of the method for implementing the ROHC system shown in fig. 3. The ROHC system 200 includes an ROHC compressor 210, an ROHC decompressor 220. The difference between embodiment two and embodiment one of the ROHC system is only in the ROHC decompressor 220.
The ROHC decompressor 220 includes a decompression unit 222, a timing unit 224, and a feedback unit 228. The decompression unit 222 is used for receiving the compressed header and decompressing. The timing unit 224 is configured to start or restart the feedback inhibition timing after the feedback unit 226 sends out the feedback data packet each time. The feedback unit 226 is configured to generate and buffer a feedback data packet of a corresponding type according to the current working condition of the ROHC decompressor 220 after receiving the request feedback data packet. During the timing of the timing unit 224, if the feedback unit 226 generates a new feedback packet and the new feedback packet is the same type as the buffered feedback packet, the feedback unit 226 updates the buffered feedback packet with the new feedback packet. During the timing of the timing unit 224, if a new feedback packet is generated by the feedback unit 226 and if the new feedback packet is different from the type of the buffered feedback packet, the feedback unit 226 deletes the buffered feedback packet and transmits the new feedback packet to the ROHC compressor 210. After the expiration of the timing unit 224, the feedback unit 226 sends the newly buffered feedback packet to the ROHC compressor 210.
Further, if the ROHC decompressor 220 is currently working normally and can successfully decompress the header, the feedback unit 226 generates and buffers an ACK type feedback packet. If the ROHC decompressor 220 is abnormally operated and the portion that cannot be successfully decompressed is the dynamic field of the header, the feedback unit 226 generates and buffers a NACK type feedback packet. If the ROHC decompressor 220 is abnormally operated and the portion that cannot be successfully decompressed is a STATIC field of the header, the feedback unit 226 generates and buffers a STATIC-NACK type feedback packet.
In the embodiment of the ROHC system, by using the timing unit newly added in the ROHC decompressor, part of the feedback data packets can be filtered out during the timing period, so as to reduce the number of the same type of feedback data packets, reduce the consumption of the wireless communication bearer resources, and further improve the utilization rate of the wireless resources.
The ROHC system and the implementation method thereof provided by the present application poll according to the workload of the ROHC compressor (e.g., a quantum workload according to the number or byte amount) in an active request manner on the basis of passively waiting for the feedback packet of the ROHC decompressor, so as to know the operating condition of the ROHC decompressor as early as possible. This is beneficial to improve the robustness or validity of subsequent compression contexts (contexts) of the ROHC decompressor, and to avoid discarding many in-transit (in-transit) compressed packets that fail to continue decompression after they are sent to the decompressor.
The above are merely preferred embodiments of the present application and are not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present application shall be included in the protection scope of the present application.