Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. The components of the embodiments of the present application, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present application, presented in the accompanying drawings, is not intended to limit the scope of the claimed application, but is merely representative of selected embodiments of the application. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the present application without making any creative effort, shall fall within the protection scope of the present application.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures. Meanwhile, in the description of the present application, the terms "first", "second", and the like are used only for distinguishing the description, and are not to be construed as indicating or implying relative importance.
Referring to fig. 1, an application scenario diagram of an information pushing method and apparatus provided in the embodiment of the present application is shown. As shown in fig. 1, the user terminal 1 and the server 2 are located in a wireless network or a wired network, and the user terminal 1 and the server 2 perform data interaction through the wireless network or the wired network.
In the embodiment of the present application, the user terminal 1 may be a mobile terminal device, and may include, for example, a smart phone, a tablet computer, an e-book reader, a laptop portable computer, a vehicle-mounted computer, a wearable mobile terminal, and the like.
In some embodiments, the client is installed in the user terminal 1, and may be, for example, an application installed in the user terminal 1. The client can be social software, and each piece of information corresponds to a tag by browsing information published by the user or other users in the client, and if the user is interested in some piece of information, the tag can be clicked and attention can be selected. The user can also publish information through the client for other users to browse, wherein the information published by the user corresponds to one tag. The information released by the user is sent to the server by the client, and the information released by the user is correspondingly stored by the server, specifically, the information can be stored in a mapping table, wherein the mapping table comprises a user name of the user, the information released by the user, the time for releasing the information and a label corresponding to the information. Specifically, the process of publishing information by the user is as follows:
first, the user opens the information list interface shown in fig. 2, and in the information list interface, the user can see different labels, the profile, the attention and the number of posts to be published, and click on the icon of a certain label or the "enter" button corresponding to the label, so as to enter the information publishing block corresponding to the label, i.e. the interface of the information publishing block shown in fig. 3. The user may focus on the tag by clicking "focus". The label plate is provided with a label correspondingly. As an embodiment, the tag may be a topic or a theme, for example, if the tag is a phrase hip-hop, the information publishing block corresponding to the information is a phrase hip-hop block, and the information in the topic block is corresponding to the phrase hip-hop. The user may publish information in the information publishing block, for example, click a "post" button of the information publishing block, and enter an information publishing interface, as shown in fig. 4, where the information publishing interface already corresponds to a tag of the information publishing block selected by the user, taking the aforementioned phrase hip-hop as an example, and the tag corresponding to the information publishing interface is the phrase hip-hop. The user clicks the "publish" button to publish the information, the published information corresponds to the label in fig. 4, and then the client sends the information to the server for storage.
As another embodiment, the user distributes the information without entering the information distribution board, i.e., without selecting the information distribution board. The user may click on "post" for information publication at the information list interface of the client, as shown in fig. 5. The interface jumps to the information publication interface shown in fig. 6. The user actively configures the tags for the published information on the information publishing interface, for example, clicking a "select topic" button and then selecting a topic, the topic can be configured for the published information.
The server 2 has a storage space therein for managing, storing user data, and providing user services. The user issues information and pays attention to a certain label at the client, the client sends the issued information to the server and the concerned label to the server, and the server stores the information issued by the user and the concerned label. In addition, the client can also send the interactive operation of the user for the information, for example, the operation of forwarding, replying, approving and collecting the information, and the like, to the server for storage. The server may be an individual server, or a server cluster, or a local server, or a cloud server.
In one embodiment, the client sends the published information and the user name, the publishing time and the label of the information corresponding to the published information to the server, and the server stores the information in the mapping table. For example, the server may store the following:
TABLE 1
User name
|
Identification of information
|
Time of distribution of information
|
Label (R)
|
USR1
|
ID1
|
8 o' clock 17 of 7 month, 7 day of 2017
|
Hua yu xi ha |
The identifier of the information may be an identifier allocated to the information by the server after the server acquires the information sent by the client, and the identifier is fed back to the client. The client may generate information based on an information distribution operation of the user and then assign an identifier to the information.
The server can recommend a plurality of labels to the user through the client so as to be convenient for paying attention to the labels, browsing information corresponding to the labels and performing interactive operation on the information. However, the pushing of the labels is often just to push some hot labels, i.e. labels with higher heat, for all users, which makes the user experience not high and also does not take the difference of users into consideration.
Therefore, in order to solve the above-mentioned drawbacks, embodiments of the present application provide an information pushing method. Referring to fig. 7, an information pushing method provided by an embodiment of the present application is shown, where the method is applied to the server in fig. 10, and an execution subject of the method is the server described above. The information pushing method is used for improving the user experience degree of label pushing. In a specific embodiment, the information pushing method includes: steps S701 to S705.
S701: the method comprises the steps of obtaining a first label of information issued by a user in a first preset time period.
The first tag represents a tag of information issued by a user in a first preset time period, and the tag may be contents such as a topic or a game.
The server stores data of information corresponding to the user name of the user, and the data comprises information release time, a corresponding label and the like. Specifically, the data is stored in a mapping table preset by the server, and the mapping table may be stored in a memory of the server, so that the information issued by the user and the data corresponding to the information are already stored in the mapping table in the server before step S701 is executed. Specifically, a server obtains a user name of the user, published information, publishing time of the information, and a tag of the information, which are sent by the client, where the tag of the information is a tag configured for the information when the user publishes the information at the client or a tag corresponding to an information publishing block when the information is published in a selected information publishing block; and correspondingly storing the acquired user name, information, label and release time in the mapping table. The foregoing embodiments can be referred to, and are not described in detail herein.
As an embodiment, the execution of step S701 may be based on a request issued by a user through a client, or the execution of step S701 may be performed actively by a server, instead of the request based on the client. Specifically, the server executes the method at certain periodic time intervals, so that the label can be pushed to the user regularly.
In the embodiment of the present application, the server may execute the method based on a push request instruction of a user, and the specific steps are as follows: acquiring a push request instruction sent by the client, wherein the push request instruction comprises a user name of the user; and searching information that the release time corresponding to the user name meets the first preset time period based on the push request instruction in a preset mapping table, wherein the mapping table comprises the user name, the information, a label and the release time.
The push request instruction sent by the client may be a request manually input by a user, for example, a button for "obtaining a push topic" is arranged on an interface of the client, the user clicks the button, the client may obtain a touch screen operation input by the user based on a predetermined position (a position where the button is arranged), and then the client may know that the user requests to obtain a topic to be pushed, and send the push request instruction to the server.
Of course, the push request command sent by the client may also be automatically sent at certain time intervals. For example, the client sends a push request instruction to the server according to a preset time period. Specifically, the client sets a time period, and sends a push request command to the server every time the starting time of one period of the time period is reached. For example, the time period is 24 hours, that is, a push request command is sent to the server every day.
After the server obtains the push request instruction, the server can obtain the user name of the user by analyzing the instruction, finds all information corresponding to the user in the mapping table according to the user name, and takes the label corresponding to the information of which the release time meets a first preset time period as a first label. The first preset time may be preset and limited by a user, or may be set by the server according to a user requirement. That is, the server may store the first preset time period, or the push request command sent by the client includes the first preset time period. If the push request instruction contains a first preset time period, the user can push the label through the server of the client according to the information of a certain time period, and the requirement of the user is better met.
S702: and matching the first label with the second label, and taking the first label which is not matched with the second label as an alternative label group.
Wherein the second tag is a tag that the user has focused on. When the user clicks "focus" on the interface of fig. 3, the client sends the user name and the tag corresponding to the focus operation to the server, and the server stores the user name and the tag. The interface shown in fig. 3 represents a topic block, all operations of the user on the interface correspond to the topic block, the topic block corresponds to a label, and according to the mapping relationships, the client can obtain what the label corresponds to the current operation of the user. Specifically, the server sets a correspondence table in advance, and the correspondence table stores user names of users and tags that have been paid attention to.
And the server matches all the first tags with the tags concerned by the user one by one, finds the tags which are not matched with the tags concerned by the user, and uses the tags as an alternative tag group. The set of alternative tags indicates that the user has browsed the tag or has some interest in the tag but has not yet paid attention to it.
For example, taking the tag as an example, the topics the user pays attention to are: the royal glory, popular music, enterprise management and the like, and the first label of the information released by the user in the first preset time period is as follows: world of beasts, legend of stone, glory of the prince, hip-hop music, etc. Matching the first label with the second label, wherein the result after matching is as follows: the world of beasts, the legend of furnace stones, hip-hop music. The alternative tag set is the world of the beast, the biography of the furnace stone, and hip-hop music, and the alternative tag set comprises three topics.
S703: and acquiring the information release quantity corresponding to each first label in the alternative label group.
Since the mapping table stores the user name, the information release time, and the label corresponding to the information of the user, the information release number corresponding to the first label can be obtained through the mapping table. The information corresponding to the first tag is information which is issued by the user within a first preset time period.
For example, the mapping table stores data as follows:
TABLE 2
User name
|
Identification of information
|
Time of distribution of information
|
Label (R)
|
USR1
|
ID1
|
1 month and 7 days 2017
|
Hua yu xi ha
|
USR1
|
ID2
|
1 month and 17 days 2017
|
Hua yu xi ha
|
USR1
|
ID3
|
27/1/2017
|
Legend of furnace stone
|
USR1
|
ID4
|
11/2/2017
|
World of magic beasts
|
USR1
|
ID5
|
21/2/2017
|
Hua yu xi ha
|
USR1
|
ID6
|
3 month and 27 days 2017
|
Legend of furnace stone
|
USR1
|
ID7
|
4 month and 3 days 2017
|
Hua yu xi ha
|
USR1
|
ID8
|
13/4/2017
|
World of magic beasts
|
USR1
|
ID9
|
5 months and 5 days in 2017
|
Hua yu xi ha
|
USR1
|
ID10
|
5 and 7 months in 2017
|
World of magic beasts
|
USR1
|
ID11
|
5 and 17 months in 2017
|
World of magic beasts
|
USR1
|
ID12
|
6 and 7 months in 2017
|
Hua yu xi ha
|
USR1
|
ID13
|
6 month and 17 days 2017
|
Chinese languageHip-hop
|
USR1
|
ID14
|
6 and 27 months in 2017
|
World of magic beasts
|
USR1
|
ID15
|
7 month and 7 days 2017
|
Rong Yao of the king
|
USR1
|
ID16
|
7 month and 7 days 2017
|
Rong Yao of the king
|
USR1
|
ID17
|
7 month and 7 days 2017
|
Legend of furnace stone |
The first preset time period is 2017, month 1 to month 10, and the release time of each piece of information in table 2 satisfies the first preset time period. The tags in table 2 are matched with the tags that the user has focused on, and the matching result is shown in table 3.
TABLE 3
Table 3 shows an alternative tag group, where the number of information corresponding to "hip hop" in the alternative tag group is 7, the number of information corresponding to the world of the magic animal is 5, and the number of information corresponding to the biography of furnace stone is 3.
S704: and taking the first label of which the information release quantity meets a first preset condition in the alternative label group as a label to be pushed.
And selecting the first tags meeting a first preset condition according to the acquired information quantity corresponding to each first tag in the alternative tag group. The first preset condition can be set according to the actual needs of the user or the actual application scene, and the setting of the first preset condition is changed correspondingly according to the different number of the tags to be recommended. As an embodiment, N tags are set to be pushed, where N is a positive integer. And taking the N first labels with the maximum information release quantity in the alternative label group as the labels to be pushed. Specifically, each first tag in the candidate tag group is sorted according to the data with the corresponding information quantity from large to small, and the top N first tags are selected as the tags to be pushed. Taking the above table 3 as an example, the sequence after sorting is: hua Yu xi Ha, Moshou world, and Shi legend. Assuming that N is 2, the first 2 of the sequence are taken, and the tag to be pushed is a Chinese hip-hop and magic animal world.
Specifically, it is considered that when N first tags are expected to be obtained as tags to be pushed, the number of first tags in the alternative tag group is less than N. For example, 2 tags need to be pushed, but only 1 tag in the alternative tag group needs to be pushed to the user by selecting several tags from the third tags, so as to meet the requirement of pushing 2 tags to the user. Therefore, a specific implementation manner of taking the N first tags with the largest number of information issues in the candidate tag group as the tags to be pushed may be:
first, it is determined whether the number of first tags in the candidate tag group is greater than or equal to N.
And if the number of the information issued by the N first labels in the alternative label group is larger than or equal to N, taking the N first labels with the largest number of the information issued in the alternative label group as the labels to be pushed.
And if the number of the first tags in the alternative tag group is smaller than N, judging whether the number of the first tags is larger than 0, if so, acquiring M third tags, and taking the first tags in the alternative tag group and the acquired M third tags as tags to be pushed.
And M is a positive integer, M is the difference between N and the number of the first tags in the alternative tag group, and the heat of the third tag meets a second preset condition. Specifically, the heat of the third tag is the amount of information corresponding to the third tag, which is issued by all users within a second preset time period. The server stores the information issued by each user and the label and the issuing time corresponding to the information. The server records the information issued by each user name of the client and the label corresponding to each information, so that the number of the information issued by all users corresponding to each label can be counted, and the number of the information issued by all users corresponding to each label in the second preset time period can be naturally acquired. The second preset condition is set according to the actual use condition, and may be defined by the server or may be actively input by the user. In the embodiment of the present application, the heat of the third tag satisfies a second preset condition, where the second preset condition is related to the number of N, and as an implementation manner, the maximum N of the number of information issued by all users corresponding to each tag in a second preset time period may be used as the third tag. For example, N is 2, and the second preset time period is one month, the third tag is 2 tags with the maximum number of information issued by all users in one month.
In addition, the selection of the third tag may be further performed according to whether the third tag is pushed by the user, specifically, an implementation manner that the heat degree of the third tag satisfies the second preset condition is as follows: the heat of the third label is greater than a preset value, and the third label does not send a client corresponding to the user name of the user. As an embodiment, information issued by all users in a second preset time period is acquired, and the heat of each tag is acquired from the information, where the heat of a tag may be the number of information corresponding to the tag. And taking the label with the heat degree greater than the preset value as a fourth label, acquiring all labels pushed by the server for the client corresponding to the user name within a second preset time period, marking as a fifth label, matching the fourth label with the fifth label, acquiring a fourth label which is not matched with the fifth label, and marking as a third label, thereby acquiring the third label with the heat degree meeting a second preset condition.
Taking N as 2 for example, the value of M is N-X, where X is the number of first tags in the candidate tag set. Therefore, the number of the first tags in the alternative tag group is less than 2 and greater than 0, and if the first tag of the alternative tag group is 1, 1 first tag and 1 third tag are taken as tags to be pushed. In addition, it should be noted that, if the maximum N tags, that is, the total number of the third tags is 2, and the number of the third tags to be pushed is 1, of the number of information issued by the third tags for all users, the maximum 1 tag may be selected from all the third tags as the third tag to be pushed. That is, the third tag selected to be pushed is the largest M tags out of the total number of third tags.
Further, there is a case where the number of first tags in the alternative tag group is 0. It means that the user does not publish information under any topic block not concerned or publish any information under any topic block within the first preset time period. The server may end the process, not push any label for the client, or select N labels from the third labels to send to the client. In this embodiment of the application, when the number of the first tags in the candidate tag group is 0, N third tags are obtained, and the obtained N third tags are used as tags to be pushed. For example, taking N as 2 as an example, in the case that the user does not publish information in any topic block which is not concerned or does not publish any information in any topic block within the first preset time period, 2 with the highest popularity in one month are selected.
Specifically, taking push of 2 topics as an example, the first preset time period and the second preset time period are both one month as an example. First, the IDs of all pieces of information issued by the user ID1 within one month are acquired, and the topic corresponding to the ID of each piece of information is acquired and named as the first topic. Assume that 10 first topics were acquired. The 10 first topics are matched with the topic concerned by the user name ID1 (namely, the second topic), and the first topic which is not matched with the second topic is found and is marked as the alternative topic group. Assume a case where there are 6 first topics in the candidate topic group after the matching operation. Then, in the 6 first topics, the user name ID1 in the first preset time period corresponding to each topic publishes the information publishing number, then 2 first topics with the largest publishing information number are selected and respectively marked as a first topic 1 and a first topic 2, and the first topic 1 and the first topic 2 are taken as topics to be pushed.
In another case, after the matching operation, there are 1 first topic in the candidate topic group, which is denoted as the first topic 3, and this first topic, 3 needs to be pushed to the user name ID 1. Meanwhile, due to less than 2 topics, one topic needs to be selected from the third topics. And if the third topic is the topic with the highest popularity in one month, taking the third topic and the first topic 3 as the topics to be pushed. If it is required to consider whether the third topic is already pushed to the user, the topic with the highest popularity in one month may be selected first, and it is determined whether the selected topic is already pushed to the user name ID1 in one month, if so, the topic with the second highest popularity in one month is selected as the third topic, and so on until the third topic which is not pushed to the user name ID1 in one month is found, and the third topic is pushed to the user name ID 1.
And assuming another situation, after the matching operation, if there are 0 first topics in the candidate topic group, directly selecting 2 third topics as the topics to be pushed.
S705: and sending the label to be pushed to the client, and indicating the client to display the pushing information corresponding to the label to be pushed at the preset position of the preset interface.
The preset interface is an access interface or a browsing interface of the user at the client, and may be, for example, a home page of the user or a home page displayed after the user successfully logs in the client. The push information includes a name and an icon of the to-be-pushed tag and a corresponding operation button, for example, in the information display interface shown in fig. 8, the push information corresponding to the to-be-pushed tag is displayed below the to-be-pushed tag. Specifically, the name of the first tag, the icon corresponding to the first tag, and a "focus" button are displayed, the user can focus on the first tag by clicking "focus", and can enter the information publishing plate corresponding to the first tag by clicking the icon or the name of the first tag, so as to browse information or publish information.
Referring to fig. 9, an information pushing apparatus 900 according to an embodiment of the present application is shown, and the apparatus is applied to the server in fig. 10, and the execution subject of the apparatus is the server described above. The information pushing apparatus 900 is used to improve the user experience of label pushing. In a particular embodiment, the apparatus comprises: a label acquiring unit 901, a filtering unit 902, a quantity counting unit 903, a marking unit 904 and a pushing unit 905.
A tag obtaining unit 901, configured to obtain a first tag of information issued by a user within a first preset time period;
a screening unit 902, configured to match the first tag with a second tag, and use the first tag that does not match the second tag as an alternative tag group, where the second tag is a tag that the user has paid attention to;
a quantity counting unit 903, configured to obtain the information release quantity corresponding to each first tag in the candidate tag group;
a marking unit 904, configured to use a first tag in the alternative tag group, where the number of information releases of the first tag meets a first preset condition, as a tag to be pushed;
the pushing unit 905 is configured to send the tag to be pushed to a client, and instruct the client to display pushing information corresponding to the tag to be pushed at a preset position on a preset interface.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
Referring to fig. 10, a server is provided based on the above method and apparatus. The server 1000 comprises a memory 1002 and a processor 1001, said memory 1002 being coupled to said processor 1001; the memory 1002 stores instructions that, when executed by the processor 1001, cause the processor 1001 to perform the methods described above.
The memory 1002 may be used to store software programs and modules, and the processor 102 executes various functional applications and data processing by operating the software programs and modules stored in the memory 1002. The memory 1002 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 1002 may further include memory located remotely from the processor 1001, which may be connected to the processor via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
In summary, the embodiments of the present application provide an information pushing method, an apparatus, a server, and a readable storage medium, first obtain a first tag of information released within a certain time, screen out tags that a user has focused on from the first tag, and use the remaining tags as an alternative tag group. Then, the information release quantity corresponding to each first label in the alternative label group is obtained, the first labels of which the information release quantity meets a first preset condition are used as labels to be pushed, then, the labels to be pushed are sent to the client, the client is instructed to display the push information corresponding to the labels to be pushed, and therefore a user can see the labels to be pushed through the client. Therefore, the number of the issued information of the user and the tags which are not concerned by the user can be combined to push tags which are more in line with the requirements of the user, so that the pushed tags are more personalized.
In the description herein, reference to the description of the term "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the application. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present application, "plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and the scope of the embodiments of the present application includes additional implementations in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present application.
The logic and/or steps represented in the flowcharts or otherwise described herein, e.g., an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (mobile terminal) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). Additionally, the computer-readable medium could even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
It will be understood by those skilled in the art that all or part of the steps carried by the method for implementing the above embodiments may be implemented by hardware related to instructions of a program, which may be stored in a computer readable storage medium, and when the program is executed, the program includes one or a combination of the steps of the method embodiments. In addition, functional units in the embodiments of the present application may be integrated into one processing module, or each unit may exist alone physically, or two or more units are integrated into one module. The integrated module can be realized in a hardware mode, and can also be realized in a software functional module mode. The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may also be stored in a computer readable storage medium.
The storage medium mentioned above may be a read-only memory, a magnetic or optical disk, etc. Although embodiments of the present application have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present application, and that variations, modifications, substitutions and alterations may be made to the above embodiments by those of ordinary skill in the art within the scope of the present application.
Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, and not to limit the same; although the present application has been described in detail with reference to the foregoing embodiments, it will 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 necessarily depart from the spirit and scope of the corresponding technical solutions in the embodiments of the present application.