This application claims priority to Chinese Patent Application No. 201611126251.X, filed with the State Intellectual Property Office on Dec. 9, 2016 and titled “MESSAGE PUSHING METHOD AND APPARATUS THEREOF,” the entire contents of which are incorporated herein by reference
The present disclosure relates to electronic technology, particularly to a message pushing method and apparatus thereof.
With the rapid development of internet, the functionalities of smart devices become more and more plentiful. In order to facilitate unified management of a plurality of smart devices, users can register a user account in a server via a smart device and then bind a plurality of smart devices to this user account. For example, a user can bind his mobile phone, tablet, TV, etc. to a user account.
Embodiments of the present disclosure provide a message pushing method and apparatus thereof, as follows:
According to a first aspect of the present disclosure, a message pushing method is provided. The method may be applied to a server and may include: acquiring a push message corresponding to a target user account: acquiring a state parameter for each smart device that is bound to the target user account: determining whether each smart device is in an active state based on the state parameter; and sending the push message to at least one target smart device in the active state.
According to a second aspect of the present disclosure, a message pushing apparatus is provided. The apparatus is applied to a server and may include: a processor; and a memory storage storing executable instructions executed by the processor. The processor is configured to: acquire a push message corresponding to a target user account; acquire a state parameter for each smart device that is bound to the target user account; determine at least one target smart device by determining whether each smart device is in an active state in accordance with the acquired state parameter; and send the push message to the at least one target smart device.
According to a third aspect of the present disclosure, there is provided a non-transitory computer readable storage medium having stored therein at least an instruction, a program, a code set or instruction set, to be loaded and executed on a processor for performing the message pushing method provided in the first aspect or any embodiment in the first aspect.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed.
To describe the technical solutions in the embodiments of the present disclosure more clearly, the following briefly introduces the accompanying drawings required for describing the embodiments. Apparently, the accompanying drawings in the following description show merely some embodiments of the present disclosure, and a person of ordinary skill in the art may still derive other drawings from these accompanying drawings without creative efforts.
The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
The present disclosure will be described in further detail with reference to the enclosed drawings, to clearly present the objects, technique solutions, and advantages of the present disclosure. Apparently, the embodiments described in the present disclosure are not representative of all embodiments. Any other embodiment derived by a person of ordinary skill in the art from the embodiments of the present disclosure without creative efforts will be protected by the present disclosure.
In the related art, when a server receives a push message for a particular user account (for example, an instant communication message or a logistics update message), for the user's convenience to get informed about the push message in time, the server can send the push message to all the smart devices bound to the user account. However, it will use much of network resource to take the method to send the push message with the related art, when many smart devices are bound to a user account.
In step 101, a push message corresponding to a target user account is acquired. The push message may include a social network message, a reminder, or any other application message pushed to the target user.
In step 102, a state parameter of each of one or a plurality of smart devices bound to the target user account is acquired. The state parameter may include user interaction data indicating whether the corresponding smart device is in an active state.
In step 103, at least one target smart device is determined in accordance with the acquired state parameters, where each target smart device is the smart device in active state. The active state may be preset or defined by a user in a user profile on one of the smart devices.
In step 104, the push message is sent to the at least one target smart device. When there is at least one target smart device in the active state, the push message is pushed to the at least one target smart device.
In summary, a message pushing method is provided in the embodiments of the present disclosure. With this message pushing method, the server may send the push message to the at least one target smart device in active state. Since the server does not need to push the message to every smart device any more, it can reduce the use of network resource when the message is pushed so that it can improve the efficiency of pushing message. Since each target smart device is the smart the device in active state, it can guarantee that the user will be able to read the push message in time.
In step 201, the push message corresponding to the target user account is acquired.
In the embodiments of the present disclosure, the server can be either a system server or an application server. When the server is a system server, the push message can be a recommendation message for the system application uploaded by the operators or an operational prompting message. When the server is an application server, the type and the source of the push message can be different in accordance with the type of the application server. For example, the push message can be an instant message sent from a client end or an information message uploaded by the operators, when the application server is an instant message server; the push message can be a logistics update message uploaded by the operators or a commodity recommendation message generated by the purchasing application server, etc., when the application server is a purchasing application server. The server type and the push message type are not limited by the embodiments of the present disclosure.
Here, the system server can be a server arranged by the smart device manufacturer and used to support the operating system in the smart device, and the application server can be a server arranged by the application supplier and used to offer application service.
For example, assuming that the server is an instant message server, when an instant message client end sends an instant message “Do you have time tonight? Let's have dinner together” to another client end with a user account 1234, the instant message server can receive the instant message for the target user account 1234.
In step 202, a state acquisition request is sent to each of the M smart devices bound to the user account.
In the embodiments of the present disclosure, the user can register a user account in the server via a smart device. After the user logs in to the user account via one of the smart devices, the server can save the correlation between the user account and this smart device's identifier, which means that the server can bind this smart device to the user account. When the user logs in to the same user account via a plurality of smart devices simultaneously, the server may save the correlation between the user account and the identifiers for the plurality of smart devices, which means that the server can bind the plurality of smart devices to this user account.
Here, the smart device's identifier can be a unique character string for this device, for example, the smart device's Media Access Control (MAC), the smart device's Subscriber Identification Module (SIM) card number, or the manufacturer's serial number. Alternatively, the smart device's identifier may be distributed to each smart device by the server. For example, when the server detects that the same user account is logged in though a plurality of smart devices simultaneously, it may distribute an exclusive identifier to each smart device, and save the correlation between the user account and the plurality of smart devices.
After the server receives the push message for the target user account, M smart devices bound to the target user account can be determined according to the correlation between the user account and the smart devices saved in advance, where M is an integer greater than or equal to 1. Further, the server can also send the state acquisition request to each of the M smart devices. The state acquisition request may include the detailed state parameter type required by the server. The state parameter may include at least one of the followings: current screen mode, touch operation times received within a preset period of time, and elapsed time between the moment when receiving the last touch operation and present moment.
Here, the current screen mode may include an awake mode or an off mode. The awake mode may also be referred as the on mode. The received touch operation may refer to the touch operation operated by the user directly or via the control device such as the remote control by the user. The touch operation operated by the user directly may include touch screen operation, voice operation, key operation and the like; the preset period of time can be set in advance as, for example, half an hour or 15 minutes; and the touch operation times received within a preset period of time may refer to touch operation times received within the preset time period before the present moment.
For example, assuming that the smart devices commonly used by a user include mobile phone A, mobile phone B, tablet C, laptop computer D, and TV E. When all of the five smart devices are installed with an instant message client end and the user logs in to the same user account 1234 via each individual instant message client end in the five smart devices, the correlation between the user account and the smart device's identifier saved in the instant message server can be shown in Table 1. Wherein, five smart devices are bound to the user account and the identifiers for the five smart devices are A, B, C, D, and E respectively. Two smart devices are bound to the user account 5678 and the identifiers for the two smart devices are F and G respectively.
In accordance with the correlation shown in Table 1, it can be concluded that the smart devices bound to the target user account 1234 include mobile phone A, mobile phone B, tablet C, laptop computer D, and TV E.
In step 203, the state parameters uploaded by L of the M smart devices are received.
Here, L satisfies: 0≤L≤M and L is an integer. After the server sends the state acquisition request to the M smart devices respectively, since some of the smart devices may be in an off mode, for example, the device is not powered on or the network is offline, the smart devices in the off mode will not upload state parameters to the server. That means the server can only receive the state parameters uploaded by the L smart devices in the on mode (On mode means that devices are powered on and network connection is kept open between the devices and the server). Wherein, each smart device in the on mode may acquire a corresponding state parameter in accordance with the specific state parameter type in the state acquisition request, and upload the state parameter to the server.
For example, assuming that among the five smart devices of mobile phone A, mobile phone B, tablet C, laptop computer D, and TV E, mobile phone A, tablet C and TV E are in the on mode and mobile phone B and laptop computer D are in the off mode. Then, mobile phone A, tablet C. and TV E which are in the on mode will acquire the current screen mode, touch operation times received in half an hour before the present moment and the elapsed time between the last received touch operation moment and the present moment respectively, and then upload the acquired state parameters to the server.
Assuming that it is 12:30 now (i.e. the time when the server sends the state acquisition request to each smart device), and the user turns on mobile phone A, tablet C, and TV E respectively after arriving home at 11:30, turns off the tablet screen at 11:50, changes the TV channels twice between 12:00 and 12:30, and watches TV while playing on the mobile phone between 12:00 and 12:30. Then, the uploaded state parameters can be shown in Table 2 after the three smart devices receive the state acquisition request at 12:30. Wherein, the state parameters uploaded by the mobile phone A include: the current screen is in the awake mode, five touch operations are received within half an hour before the present moment, and the elapsed time between the last received touch operation moment and the present moment is 5 minutes.
In step 204, the state parameters of the (M-L) of the M smart devices are set as preset default values. Here, the (M-L) smart device include the rest devices besides the L of the M smart devices.
In the embodiments of the present disclosure, when some of the M smart devices are in the off mode and do not upload state parameters (L<M), the server can set the state parameters of the (M-L) smart devices which do not upload the state parameters as the preset default values. These default values may indicate that the corresponding smart devices are in the non-active state.
For example, since the mobile phone B and laptop computer D of the five smart devices do not upload the state parameters, the instant message server can set the state parameters of the mobile phone B and laptop computer D as the preset default values. These preset default values may include: the current screen is in the off mode, 0 touch operation is received within half an hour, the elapsed time between the last received touch operation moment and the present moment is 24 hours.
In step 205, each smart device's activeness is calculated in accordance with a preset activeness calculation algorithm and the state parameter of each smart device.
After acquiring the state parameter of each of the one or a plurality of smart devices bound to the target user account through above step 203 and step 204, the server can calculate each smart device's activeness in accordance with the preset activeness calculation algorithm and the state parameter of each smart device, to accurately evaluate each smart device' activeness.
In the embodiments of the present disclosure, the state parameter uploaded by each smart device may include N sub-parameters, where N is a positive integer. For example, the state parameter may include: current screen mode, touch operation times received within a preset period of time, and elapsed time between the last received touch operation moment and present moment, totally three sub-parameters. Furthermore, the server may also save the weighting of each sub-parameter. To be specific, for each sub-parameter, the server can save the correlation between the value range of the parameter value and the weighting. After receiving the state parameter uploaded by each smart device, the server may determine the value range in which the parameter value of each of the N sub-parameters of each smart device is: then, the server determines the weighting corresponding to the value range in which the parameter value of each sub-parameter is, in accordance with the correlation between the value range of the parameter value and the weighting saved in advance.
To be exemplary, for the sub-parameter “the current screen mode,” its parameter value may include the awake mode and the off mode. In the correlation between the value range of the parameter value and the weighting saved in the server, the weighting for the current screen mode that is the awake mode is greater than the weighting for the current screen mode which is the off mode. For the sub-parameter “the weighting for the touch operation times received within the preset period of time.” the weighting of which is directly proportional to the touch operation times. That is to say, for the sub-parameter “touch operation times received within the preset period of time”, in the correlation between the value range of the parameter value and the weighting saved in the server, the more the touch operation times are, the higher the corresponding weighting is: but, for the sub-parameter “the elapsed time between the last received touch operation moment and present moment”, the weighting saved in the server is inversely proportional to the elapsed time. That is to say, for the sub-parameter “the elapsed time between the last received touch operation moment and present moment”, in the correlation between the value range of the parameter value and the weighting saved in the server, the longer the elapsed time between the last received touch operation moment and present moment, the lower the corresponding weighting is. It can be concluded from the above analysis that the weighting of each sub-parameter saved in the server is positively correlated with the smart device's activeness. The higher the activeness for the smart device is, the greater the weighting of the sub-parameter of the state parameter is.
Further, after the server acquires the weighting of each of the N sub-parameters of each smart device, it can determine each smart device's activeness in accordance with the following formula (1).
Wherein, Wi is the activeness of the ith smart device, Wij is the weighting of the jth sub-parameter of the ith smart device, j is a positive integer less than or equal to N.
For example, assuming the correlation between the sub-parameter and its weighting saved in the instant message server is shown in
From Table 2 and Table 3, it can be concluded that among the state parameters of the first smart device of the mobile phone A, the state sub-parameter “the weighting W12 corresponding to the touch operation times received within half an hour” is 5, and the state sub-parameter “the weighting W13 corresponding to the elapsed time between the last received touch operation moment and the present moment” is 10, when state sub-parameter “the weighting W11 corresponding to the current screen interface” is 20. In accordance with formula (1), the activeness W1 of the mobile phone A can be calculated: W1=W11+W12+W13=20+5+10=35.
Similarly, in accordance with the state parameter uploaded by each smart device shown in Table 2, the state parameters of the rest M-L smart devices determined by the server, and the activeness calculation algorithm shown in Formula (1), each other smart device's activeness calculated by the instant message server can be:
The activeness of mobile phone B: W2=0: the activeness of tablet C: W3=0; the activeness of laptop computer D: W4=0: the activeness of TV E: W3=20+5+5=30.
Noticeably, in practice, for the smart device which doesn't upload state parameter, the server not only can set the state parameter of the smart device as the preset default value but also can set the activeness of this smart device to 0. Here, the server does not need to calculate the activeness of this smart device any more so that the computational complexity in the server can be reduced.
In step 206, whether there is any smart device with activeness greater than the preset threshold is checked among the one or a plurality of smart devices.
When there are smart devices with activeness greater than the preset threshold among the one or a plurality of smart devices, step 207 is executed, otherwise, step 208 is executed. In the embodiments of the present disclosure, the preset threshold can be set in advance by the server in accordance with the weighting of each sub-parameter. For example, the server can acquire in advance the state parameters of a plurality of smart devices that have been determined to be in the active state, calculate the activeness of the plurality of smart devices in the active state in accordance with the preset activeness calculation algorithm, and then set the average value of a plurality of activeness calculated as the preset threshold.
Therefore, when a smart device's activeness is detected to be greater than the preset threshold, the server can determine that this smart device is in active state. When a smart device's activeness is detected not to be greater than the preset threshold, the server can determine that this smart device is in non-active state.
For example, assuming that the preset threshold is 5 in the embodiments of present disclosure. The server can calculate the activeness of the five smart devices with the method shown in step 205, and then determine that there are smart devices with activeness greater than the preset threshold among the five smart devices since both the activeness of the mobile phone A and the activeness of the TV E are greater than 5. Then, step 207 can be executed.
Noticeably, after the server sets the state parameters of the M-L smart devices that do not upload the state parameters as the preset default values, the activeness acquired by calculating the preset default values in accordance with the activeness calculation algorithm shown in above formula (1) should be less than the preset threshold. That is to say, the server can determine that the smart devices that do not upload the state parameters are in the non-active state, in accordance with the preset default values.
In step 207, smart device(s) with activeness greater than the threshold are determined as the target smart device(s), among the one or a plurality of smart devices.
For example, mobile phone A's activeness is 35 and TV E's activeness is 30 and the activeness of the both smart devices is greater than the threshold 5, therefore, the server can determine mobile A and TV E as the target smart devices.
In step 208, the prompting message is sent to the one or a plurality of smart devices.
If the server detects there is no smart device with activeness greater than the preset threshold among the one or a plurality of smart devices in step 206, the server may also send the prompting message to each smart device among the one or a plurality of smart devices respectively. This prompting message is to prompt the user that there is a push message. Since the prompting message data is relatively small, it will not use too much network resource even though the prompting message is sent to every smart device. For example, if the instant message server concludes that the activeness of each of the five smart devices is less than 5 through calculation, the instant message server can determine that there is no smart device with activeness greater than the preset threshold among the five smart devices, which means that no smart device is in the active state. Therefore, the server can send the prompting message to each of the five smart devices respectively: you have a new push message.
In step 209, when the feedback information sent from any one of the one or a plurality of smart devices is received, this smart device sending the feedback information will be determined as the target smart device.
After the one or a plurality of smart devices receive the prompting message sent from the server, the prompting message will be displayed or broadcast. If the user looks up and reads the prompting message on one of the smart devices, and desires to accept the push message, he/she can trigger the accepting instruction via a preset operation. This smart device can send feedback information to the server in accordance with the accepting instruction. After the server receives the feedback information, it can determine the smart device that sends the feedback information as the smart device in active state, i.e. the target smart device. Thus, it can guarantee that the user will be able to read the push message in time when he/she looks up the push message under the condition that the one or a plurality of smart device bound to the user account are in the non-active state.
In step 210, the number of the at least one target smart device is checked. The server may determine how many target smart devices are to be treated as target smart devices.
After the server determines the target smart device(s) among the one or a plurality of smart devices by executing step 210, it also can check the number of the at least one target smart device before sending the push message to the at least one target smart device. The server can execute step 211 hereafter, when the number of the at least one target smart device is greater than 1.
In step 211, the push message is sent to the target smart device with the highest activeness when the number of the target smart devices is greater than 1.
In some embodiments of the present disclosure, when the number of the target smart devices is greater than 1, in order to further reduce the use of network resource by the push message and improve the efficiency of pushing message, the server can send the push message to the target smart device with the highest activeness. Since the target smart device with the highest activeness may be the smart device which is being used or was just used recently by the user, sending the push message to the target smart device with the highest activeness can guarantee that the user will be able to read the push message in time.
For example, when the instant message server determines that the target smart devices are mobile phone A and TV E, the instant message server can send the push message “Do you have time tonight? Let's have dinner together” to the mobile phone A since the activeness of mobile phone A is higher than the activeness of TV E.
In addition, from the weighting corresponding to each sub-parameter shown in Table 3, it can be concluded that when the current screen mode of the smart device is the awake mode, the more touch operations the user has completed, the higher activeness the smart device will have; when the screen of each smart device is in the off mode, the smart device with which the user had the most frequent operations or the last operation within the preset period of time will have the relatively high activeness. Therefore, the server can determine the smart devices that are in active state and the smart device that has the highest activeness relatively accurately in accordance with each smart device's activeness. Sending the push message to the smart devices with the relatively high activeness can guarantee that the user will be able to look up and read the push message in time, thereby improving the accuracy of pushing message.
For example, assuming that the smart devices bound to the user account include: a smart air conditioner, a smart TV, and a smart rice cooker. If the user turns on the smart air conditioner at 12:20, turns on the smart TV later and keeps watching TV programs from different channels, and the rice cooker is turned off at the same time, the server can conclude that the smart TV has the highest activeness through calculation in accordance with the correlation between the sub-parameters and the weightings shown in
Or, assuming that the smart devices bound to the user account include: a desktop computer, a mobile phone, and a tablet. When the server receives the state parameters of the three smart devices at 12:30, the screens of the three smart devices are all in the off mode and the last operation the user had among the three devices happens on the mobile phone at 12:01. The server can conclude that the mobile phone has the highest activeness through calculation in accordance with the state parameters uploaded by the three smart devices and the correlation between the sub-parameters and the weightings shown in
In another embodiment of the present disclosure, the server can also send the push message to each target smart device individually when the number of the target smart devices is greater than 1. For example, the instant message server can send the push message “Do you have time tonight? Let's have dinner together” to the mobile phone A and TV E simultaneously.
In an embodiment of the present disclosure, the server can further calculate the activeness difference between any two target smart devices when the number of the target smart devices is greater than 1. The server can determine that the probability that the user is using or recently used the target smart device with the highest activeness is high when the activeness difference between this target smart device with the highest activeness and any other target smart device is greater than the preset difference threshold. Therefore, the push message can be sent to the target smart device with the highest activeness. When the activeness difference between any two target smart devices is less than the preset difference threshold, the server can determine that the plurality of target smart devices have similar activeness. Here, the server can send the push message to each target smart device, to guarantee that the user will be able to look up and read the push message in time.
Noticeably, in the embodiments of the present disclosure, the order of the execution steps in the message pushing method is adjustable and the steps can be added or deleted accordingly. For example, step 210 and step 204 can be deleted accordingly. In the technical scope of the present disclosure, any variations of the message pushing method that can be easily made by a person skilled in the art are protected by the present disclosure, and will not be described again therein.
In summary, a message pushing method is described in the embodiments of the present disclosure. With this message pushing method, the server may send the push message to the at least one target smart device in the active state. Since the server does not need to push the message to every smart device any more, it can reduce the use of network resource when the message is pushed so that it can improve the efficiency of pushing message. Since each target smart device is the smart the device in active state, it can guarantee that the user will be able to read the push message in time.
In one or more exemplary embodiments, there is provided a message pushing apparatus. The apparatus is applied to a server and comprises: a processor; and a memory storage storing executable instructions executed by the processor; wherein the processor is configured to perform the message pushing method described in above embodiments.
In some embodiments, the state parameter of each smart device includes N sub-parameters and N is a positive while number; the calculation subunit 3031 is configured to: acquire the weighting corresponding to each of the N sub-parameters of each smart device: and determine each smart device's activeness in accordance with the weighting corresponding to each sub-parameter, wherein the activeness Wi of the ith smart device satisfies:
Wij is the weighting of the jth sub-parameter of the ith smart device and j is a positive integer less than or equal to N.
In some embodiments, acquiring the weighting corresponding to each of the N sub-parameters of each smart device by the calculation subunit 3031 may comprise: determining, among the N sub-parameters of each smart device, a value range in which a parameter value of each sub-parameter is; and determining the weighting corresponding to the value range in which the parameter value of each sub-parameter is, in accordance with a correlation between the value range and the weighting saved in advance.
In some embodiments, the pushing unit 304 is configured to check the number of the at least one target smart device: and send the push message to the target smart device with the highest activeness, when the number of the at least one target smart device is greater than 1.
In some embodiments, referring to
In some embodiments, the state parameter includes at least one of current screen mode, touch operation times received within a preset period and elapsed time between the last received touch operation moment and the present moment.
In some embodiments, the first acquisition unit 301 is configured to: send a state acquisition request to each of the M smart devices bound to the target user account respectively; receive the state parameters uploaded by L of the M smart devices, wherein M satisfies: M≥1 and L satisfies: 0≤L≤M: and set the state parameters of the rest M-L of the M smart devices as preset default values.
In some embodiments, activeness acquired by calculating the preset default values in accordance with the preset activeness calculation algorithm is less than the preset threshold.
In summary, a message pushing apparatus is provided in the embodiments of the present disclosure. With this message pushing apparatus, the server can send the push message to the at least one target smart device in active state. Since the server does not need to push the message to every smart device any more, it can reduce the use of network resource when the message is pushed so that it can improve the efficiency of pushing message. Since each target smart device is the smart device in active state, it can guarantee that the user will be able to read the push message in time.
With respect to the apparatuses in the above embodiments, the specific manners for performing operations for individual modules therein have been described in detail in the embodiments regarding the methods, which will not be elaborated herein.
The apparatus 900 could also comprise a power supply component 926, which is configured to manage the power supply of device 900, a wired or wireless network interface 950, which is configured to connect the device 900 to network, and an input and output (I/O) interface 958. The device 900 is capable of operating operating systems saved in the memory storage 932 such as Windows Server™, Mac OS XTM, Unix™, Linux™ and FreeBSD™, or the like.
In one or more exemplary embodiments, there is also provided a non-transitory computer readable storage medium. The non-transitory computer readable storage medium may include the memory storage 932 storing at least an instruction, a program, a code set or instruction set, loaded and executed on the processing component 922 of the device 900 for implementing the message pushing described in above embodiments. For example, the non-transitory computer readable storage medium may be a ROM, a RAM, a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed here. This application is intended to cover any variations, uses, or adaptations of the invention following the general principles thereof and including such departures from the present disclosure as come within known or customary practice in the art. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be appreciated that the present invention is not limited to the exact construction that has been described above and illustrated in the accompanying drawings, and that various modifications and changes can be made without departing from the scope thereof. It is intended that the scope of the invention only be limited by the appended claims.
Number | Date | Country | Kind |
---|---|---|---|
201611126251.X | Dec 2016 | CN | national |