WO2018019139A1 - 信息推送方法和装置 - Google Patents

信息推送方法和装置 Download PDF

Info

Publication number
WO2018019139A1
WO2018019139A1 PCT/CN2017/092994 CN2017092994W WO2018019139A1 WO 2018019139 A1 WO2018019139 A1 WO 2018019139A1 CN 2017092994 W CN2017092994 W CN 2017092994W WO 2018019139 A1 WO2018019139 A1 WO 2018019139A1
Authority
WO
WIPO (PCT)
Prior art keywords
push
information
user
pushed
candidate
Prior art date
Application number
PCT/CN2017/092994
Other languages
English (en)
French (fr)
Inventor
陈杰
Original Assignee
北京京东尚科信息技术有限公司
北京京东世纪贸易有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司 filed Critical 北京京东尚科信息技术有限公司
Priority to US16/321,379 priority Critical patent/US11038975B2/en
Publication of WO2018019139A1 publication Critical patent/WO2018019139A1/zh

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Definitions

  • the present application relates to the field of computer technologies, and in particular, to the field of Internet technologies, and in particular, to an information push method and apparatus.
  • Information Push also known as "webcasting” is a technology that reduces information overload by pushing the information the user needs on the Internet through certain technical standards or protocols. Information push technology can reduce the time it takes for users to search on the network by actively pushing information to users. However, information push generally does not perform user screening, so there may be cases where the same user pushes multiple times of information within a certain period of time, causing excessive interruption to the user.
  • Bulong filters are currently generally used to solve the above problems.
  • first use eight different hash algorithms for the user generate eight hash values, and then map the eight hash values to the eight coordinates in the hashtable. If each coordinate is 1, if it means that the user has received the push information, the information will not be pushed again to the user; if at least one coordinate is not 1, it means that the information has not been pushed to the user, thereby , get a list of users to push information.
  • the Bloom filter filters out all users who have received the push information. Therefore, after a certain time interval cannot be achieved, the user who has received the push information is pushed again. Moreover, the Bloom filter has a risk of misjudgment. If the eight coordinates corresponding to a user who has not received the push information are set to exactly 1, the user is also erroneously determined to have received the push information.
  • the purpose of the present application is to propose an improved information push method and apparatus to solve the technical problems mentioned in the background section above.
  • the present application provides an information push method, where the method includes: acquiring a push command, where the push command includes: a push information to be pushed, a category of the information to be pushed, and a plan push of the information to be pushed.
  • a time interval and a push interval of the information to be pushed acquiring information of at least one candidate push user whose push information category is the same as the category of the information to be pushed, wherein the information of the at least one candidate push user includes a push information category And a push time point of the push information, a push interval time of the push information, and a push state; and at least one user to be pushed is selected according to the push command and the information of the at least one candidate push user, wherein the at least one to wait
  • the push user is a candidate push user that does not receive the push information in the time interval, wherein the start point of the time interval is the planned push time point of the to-be-pushed information, and the end point is the push information to be pushed. Planned push time point to a push interval; Transmitting information to be pushed to push the at least one user.
  • the selecting at least one user to be pushed according to the information of the push instruction and the at least one candidate push user comprises: calculating, according to the information of the at least one candidate push user, using the following formula The screening value X i of the at least one candidate push user: Where i is a positive integer and i ⁇ 1, t is the planned push time point of the push information, t i is the planned push time point of the push information of the ith candidate push user, t 0 is the current time, and n is the push information Push interval, X is the filter value of the candidate push user, X i is the filter value of the ith candidate push user; for each candidate push user of the at least one candidate push user, if the filter value of the candidate push user If it does not exist, it is determined that the candidate push user is the user to be pushed.
  • the selecting at least one user to be pushed according to the pushing instruction and the information of the at least one candidate to push the user further comprising: according to the pushing, in response to the screening value of the candidate pushing user, according to the pushing
  • the instruction calculates the screening judgment value Y of the push instruction by using the following formula: Where T is the planned push time point of the information to be pushed, t 0 is the current time, m is the push interval time of the information to be pushed, and the push interval time m of the information to be pushed is equal to the push interval time n of the push information; And determining, by the binary value of the screening judgment value of the push instruction, a binary value of the screening value of the at least one candidate push user, determining whether the result is equal to 0, and determining that the candidate push user is the user to be pushed in response to the result being equal to 0.
  • the method further includes: updating the information of the at least one user to be pushed according to the push instruction
  • the information of the at least one user to be pushed includes: a push information category, a scheduled push time point of the push information, a push interval time of the push information, and a push status.
  • the method further includes: updating the information of the at least one user to be pushed according to the pushing instruction, wherein the at least one The information to be pushed by the user includes: a push information category, a scheduled push time point of the push information, a push interval time of the push information, and a push status.
  • the present application provides an information pushing apparatus, where the apparatus includes: a first acquiring unit configured to acquire a pushing instruction, where the pushing instruction includes: information to be pushed, a category of the information to be pushed, The planned delivery time point of the information to be pushed and the push interval time of the information to be pushed; the second obtaining unit configured to acquire information of at least one candidate push user whose push information category is the same as the category of the information to be pushed
  • the information of the at least one candidate push user includes a push information category, a scheduled push time point of the push information, a push interval time of the push information, and a push state; and a selecting unit configured to use the push command and the at least a candidate push user information, selecting at least one to-be-pushed user, wherein the at least one to-be-pushed user is a candidate push user that does not receive push information within a time interval, wherein a starting point of the time interval is the The planned push time point of the information to be pushed forward to the previous push interval time,
  • the selecting unit includes: a first calculating subunit configured to calculate, according to the information of the at least one candidate pushing user, a screening value X i of the at least one candidate pushing user by using a formula: Where i is a positive integer and i ⁇ 1, t is the planned push time point of the push information, t i is the planned push time point of the push information of the ith candidate push user, t 0 is the current time, and n is the push information push interval, X is the candidate value of the user push the filter, X i is the i-th candidate value of the user push filtering; a first determining sub-unit, configured to, for each of said at least one candidate for a candidate users push the push The user determines that the candidate push user is the user to be pushed if the screening value of the candidate push user does not exist.
  • the selecting unit further includes: a second calculating subunit configured to: in response to the presence of the screening value of the candidate pushing user, calculate, according to the pushing instruction, the screening of the push instruction by using the following formula Judgment value Y: Where T is the planned push time point of the information to be pushed, t 0 is the current time, m is the push interval time of the information to be pushed, and the push interval time m of the information to be pushed is equal to the push interval time n of the push information; the second determination a subunit, configured to perform an AND operation on a binary value of the screening judgment value of the push instruction and a binary value of the screening value of the at least one candidate push user, to determine whether the result is equal to 0, and determine that the result is equal to 0, The candidate push user is the user to be pushed.
  • a second calculating subunit configured to: in response to the presence of the screening value of the candidate pushing user, calculate, according to the pushing instruction, the screening of the push instruction by using the following formula Judgment value
  • the apparatus further includes: a first update unit, configured to update information of the at least one user to be pushed according to the push instruction, where the information of the at least one user to be pushed includes: pushing The information category, the planned push time point of the push information, the push interval of the push information, and the push status.
  • a first update unit configured to update information of the at least one user to be pushed according to the push instruction, where the information of the at least one user to be pushed includes: pushing The information category, the planned push time point of the push information, the push interval of the push information, and the push status.
  • the device further includes: a second update unit, configured to update information of the at least one user to be pushed according to the push instruction, wherein the at least one information of the user to be pushed Including: push information category, push time point of push information, push time of push information, and push status.
  • a second update unit configured to update information of the at least one user to be pushed according to the push instruction, wherein the at least one information of the user to be pushed Including: push information category, push time point of push information, push time of push information, and push status.
  • the information pushing method and device provided by the present application obtains a push request and a message of at least one candidate push user, and then selects a user to be pushed based on the push command and information of at least one candidate push user, and finally pushes the information to be pushed to be pushed.
  • User, its The user to be pushed is a candidate push user that does not receive the push information within a certain time interval, thereby realizing that the same user transmits the push information only once in a certain time interval, thereby avoiding excessive interruption to the user.
  • FIG. 1 is an exemplary system architecture diagram to which the present application can be applied;
  • FIG. 2 is a flow chart of one embodiment of an information push method according to the present application.
  • FIG. 3 is a schematic diagram of an application scenario of an information pushing method according to the present application.
  • FIG. 5 is a schematic structural diagram of an embodiment of an information pushing apparatus according to the present application.
  • FIG. 6 is a block diagram showing the structure of a computer system suitable for implementing the server of the embodiment of the present application.
  • FIG. 1 illustrates an exemplary system architecture 100 of an embodiment in which an information push method or information push device of the present application may be applied.
  • system architecture 100 can include terminal devices 101, 102, 103, network 104, and server 105.
  • the network 104 is used to provide a medium for communication links between the terminal devices 101, 102, 103 and the server 105.
  • Network 104 may include various types of connections, such as wired, wireless communication links, fiber optic cables, and the like.
  • the user can use the terminal device 101, 102, 103 to pass through the network 104 and the server 105. Interact to receive or send messages, etc.
  • Various communication client applications such as social platform software, email client, instant communication tool, shopping application, web browser application, search application, etc., can be installed on the terminal devices 101, 102, and 103.
  • the terminal devices 101, 102, 103 may be various electronic devices having a display screen and capable of receiving information, including but not limited to smartphones, tablets, e-book readers, laptop portable computers, desktop computers, and the like.
  • the server 105 may be a server that provides various services, such as an information push server that provides support for push information received by the terminal devices 101, 102, 103.
  • the information push server may perform processing such as analysis on the received push command, and transmit the processing result (for example, push information) to the terminal device.
  • the information pushing method provided by the embodiment of the present application is generally performed by the server 105. Accordingly, the information pushing device is generally disposed in the server 105.
  • terminal devices, networks, and servers in Figure 1 is merely illustrative. Depending on the implementation needs, there can be any number of terminal devices, networks, and servers.
  • the information pushing method includes the following steps:
  • Step 201 Acquire a push instruction.
  • the electronic device (for example, the server shown in FIG. 1) on which the information pushing method runs may receive a push command by using a wired connection method or a wireless connection manner, where the push command includes: to be pushed information, to be pushed The category of the information, the planned push time point of the information to be pushed, and the push interval of the information to be pushed.
  • the category of the information to be pushed may be notification type information, promotion type information, and the like.
  • the notification type information may be warm reminding information, weather information, or blessing information, etc.
  • the promotional information may be listing information of new commodities or price reduction sales information of commodities.
  • Active push information can reduce the time spent by users searching on the network, but if the same user frequently sends push information within a certain period of time, it will cause excessive interruption to the user.
  • the planned push time point and the push interval time of the to-be-pushed information may be set for each push instruction, wherein the push interval time of the same type of information to be pushed may be the same.
  • the push interval of the notification class information can be set to 1 day, therefore, the notification message is sent only once for the same user within 1 day;
  • the push interval of the message can be set to 3 days, so the promotion class information is only sent once within 3 days for the same user.
  • Step 202 Acquire information of at least one candidate push user whose push information category is the same as the category of the information to be pushed.
  • the electronic device may first acquire the category of the information to be pushed; and then obtain the push information according to the category of the information to be pushed. And at least one candidate push user having the same category as the above-mentioned information to be pushed, thereby acquiring information of at least one candidate push user, wherein the information of the at least one candidate push user includes: a push information category, a scheduled push time point of the push information, and a push information. Push interval and push status.
  • the candidate push user may be an unpushed and unscheduled user, or may be a scheduled user, or may be a pushed user.
  • the scheduled push time and push interval of the push information may be empty, and the push status is set to be unpushed.
  • the information of the candidate push user may be stored in the server.
  • the server may obtain the above record, and extract valuable information according to the above record to update the information of the candidate push user.
  • the information of the candidate push user may also be updated according to the push information received by the candidate push user last time.
  • Step 203 Select at least one user to be pushed according to the push instruction and the information of the at least one candidate to push the user.
  • the electronic device may select at least one user to be pushed.
  • At least one candidate to be pushed is a candidate push user that does not receive the push information in the time interval, wherein the starting point of the time interval is the planned push time point of the information to be pushed forward to a push interval time, and the end point is the information to be pushed. Plan the push time point to the next push interval.
  • At least one user to be pushed in this embodiment may be an unpushed and unscheduled user, or may be a candidate push user who does not receive the push information within a certain time interval has been scheduled or has pushed the user.
  • the information pushed by this push command plan will not cause excessive interruption to the above-mentioned users to be pushed.
  • Step 204 Push the information to be pushed to at least one user to be pushed.
  • the electronic device may push the information to be pushed in the push instruction to at least one user to be pushed.
  • the electronic device may send the information to be pushed to the user to be pushed by means of a short message or a combination of webpage content.
  • At least one information of the user to be pushed may be updated according to the push instruction.
  • the information of the at least one user to be pushed includes: a push information category, a planned push time point of the push information, a push interval time of the push information, and a push status.
  • a promotion-type task information is expected to be pushed to user A on August 1, 2016, and the push interval is 3 days. Therefore, the user A's push information category can be updated to a promotion category, and the push promotion date of the push information is updated to 2016. On the 1st of the month, the push interval of the push information is updated to 3 days, and the push status is updated to be pushed.
  • the information of the at least one user to be pushed may also be updated according to the push instruction.
  • the information of the at least one user to be pushed includes: a push information category, a planned push time point of the push information, a push interval time of the push information, and a push status.
  • the user A may also update the user A push status to have been pushed.
  • FIG. 3 is a schematic diagram of an application scenario of the information pushing method according to the embodiment.
  • a user downloads a shopping application registers a shopping application, or browses certain products, it indicates that the user may have a demand for certain products; after analyzing the user's needs, the user may be pushed to the user.
  • Promotional information of the product in order to avoid excessive interruption to the user, it may first be determined whether the user will receive promotional information of certain commodities at a certain time interval; finally, without overly disturbing the user, User pushes information.
  • the push information is displayed on the terminal as shown in FIG.
  • the method provided by the above embodiment of the present application achieves a certain user's certainty by selecting at least one user to be pushed that does not receive the push information within a certain time interval, and pushing the information to the selected user. Send push information only once during the time period. Avoid excessive interruptions to users.
  • the flow 400 of the information pushing method includes the following steps:
  • Step 401 Acquire a push instruction.
  • the electronic device (for example, the server shown in FIG. 1) on which the information pushing method runs may receive a push command by using a wired connection method or a wireless connection manner, where the push command includes: to be pushed information, to be pushed The category of the information, the planned push time point of the information to be pushed, and the push interval of the information to be pushed.
  • Step 402 Acquire information of at least one candidate push user whose push information category is the same as the category of the information to be pushed.
  • the electronic device may first acquire the category of the information to be pushed; and then obtain the push information according to the category of the information to be pushed. And at least one candidate push user having the same category as the above-mentioned information to be pushed, thereby acquiring information of at least one candidate push user, wherein the information of the at least one candidate push user includes: a push information category, a scheduled push time point of the push information, and a push information. Push interval and push status.
  • Step 403 Calculate, according to the information of the at least one candidate push user, the screening value X i of the at least one candidate push user by using the following formula:
  • the electronic device based on the information of at least one candidate to push the user obtained in step 402, the electronic device (for example, the server shown in FIG. 1) can obtain the screening value of at least one user to be pushed.
  • i is a positive integer and i ⁇ 1
  • t is the planned push time point of the push information
  • t i is the planned push time point of the push information of the ith candidate push user
  • t 0 is the current time
  • n is the push information push interval
  • X is the candidate value of the user push the filter
  • X i is the i-th candidate value of the user push filtering.
  • the filter value of each candidate push user is calculated by using a formula, and the unique identifier of each candidate push user and the corresponding filter value component key value pair are put into a hashmap.
  • the unique identifier of the user may be the mobile phone number of the user or the email account of the user, and the null value and the null key may be used in the hashmap, that is, when the screening value of the candidate push user does not exist, the candidate may also be pushed to the user.
  • the user unique identifier and the null value are placed in the hashmap.
  • Step 404 For each candidate push user of the at least one candidate push user, if the filter value of the candidate push user does not exist, determine that the candidate push user is the user to be pushed.
  • the electronic device may determine that the candidate push user is a user to be pushed when the filter value does not exist.
  • the filter value of the candidate push user matched with the hashmap can be selected from the hashmap according to the unique identifier of the user. If the filter value is null, the candidate push user is an unsent and unscheduled user, and the candidate push user can be included in the candidate push user. To be pushed in the list of users.
  • Step 405 In response to the presence of the screening value of the candidate push user, according to the push instruction, the screening judgment value Y of the push instruction is calculated by using the following formula:
  • the electronic device based on the push command obtained in step 401, the electronic device (for example, the server shown in FIG. 1) can obtain the filter determination value of the push command.
  • T is the planned push time point of the information to be pushed
  • t 0 is the current time
  • m is the push interval time of the information to be pushed
  • the push interval time m of the information to be pushed is equal to the push interval time n of the push information.
  • the filter value of the candidate push user stored in the hashmap exists, it indicates that the candidate push user is a sent or scheduled user. Therefore, it is necessary to further determine whether the candidate push user receives the push information within a certain time interval.
  • Step 406 Perform a AND operation on the binary value of the screening judgment value of the push instruction and the binary value of the screening value of the at least one candidate push user, determine whether the result is equal to 0, and determine that the candidate push user is to be pushed in response to the result being equal to 0. user.
  • the electronic device based on the screening value of the at least one user to be pushed obtained in step 403 and the screening judgment value of the push instruction obtained in step 405, the electronic device (for example, the server shown in FIG. 1) can determine that the screening value exists. Whether the candidate push user is a user to be pushed.
  • the AND operation is performed by using the binary value of the screening judgment value of the push instruction and the binary value of the screening value of the candidate push user, and the result is equal to 0, which indicates that the candidate push user does not receive the push information within a certain time interval. Therefore, the candidate push user can be included in the list of users to be pushed.
  • Step 407 Push the information to be pushed to at least one user to be pushed.
  • the electronic device may push the information to be pushed in the push instruction to at least one user to be pushed.
  • the electronic device may send the information to be pushed to the user to be pushed by means of a short message or a combination of webpage content.
  • the flow 400 of the information pushing method in this embodiment details the determining step of the user to be pushed. Therefore, the solution described in this embodiment can more accurately determine that the candidate push user does not receive the push information within a certain time interval, and does not have a misjudgment, thereby avoiding excessive interruption of the user. Select as many users as possible to push for information push.
  • the present application provides an embodiment of an information pushing apparatus, and the apparatus embodiment corresponds to the method embodiment shown in FIG. Used in a variety of electronic devices.
  • the information pushing apparatus 500 of this embodiment includes a first acquiring unit 501, a second obtaining unit 502, a selecting unit 503, and a pushing unit 504.
  • the first obtaining unit 501 is configured to acquire a push command
  • the second obtaining unit 502 is configured to acquire information of at least one candidate push user whose push information category is the same as the category of the information to be pushed.
  • at least one user to be pushed is selected according to the information of the push command and the at least one candidate to push the user;
  • the pushing unit 504 is configured to push the information to be pushed to at least one user to be pushed.
  • the first obtaining unit 501 of the information pushing device 500 can receive the pushing instruction by using a wired connection manner or a wireless connection manner, where the push instruction includes the information to be pushed, the category of the information to be pushed, and the planned push of the information to be pushed. The time interval and the push interval of the information to be pushed.
  • the second obtaining unit 502 may first acquire the category of the information to be pushed; and then obtain the type of the push information and the to-be-supplied according to the category of the information to be pushed. Pushing at least one candidate push user with the same information category to obtain information of at least one candidate push user, wherein the information of the at least one candidate push user includes: a push information category, a scheduled push time point of the push information, and a push interval of the push information And push status.
  • the push instruction and the second acquisition obtained by the first obtaining unit 501 are obtained.
  • the selecting unit 503 may select at least one user to be pushed.
  • At least one candidate to be pushed is a candidate push user that does not receive the push information in the time interval, wherein the starting point of the time interval is the planned push time point of the information to be pushed forward to a push interval time, and the end point is the information to be pushed. Plan the push time point to the next push interval.
  • the pushing unit 504 may push the information to be pushed to at least one user to be pushed.
  • the electronic device may send the information to be pushed to the user to be pushed by means of a short message or a combination of webpage content.
  • the selecting unit 503 includes: a first calculating subunit, configured to calculate, according to the information of the at least one candidate pushing user, the screening value of the at least one candidate pushing user by using the following formula: i : Where i is a positive integer and i ⁇ 1, t is the planned push time point of the push information, t i is the planned push time point of the push information of the ith candidate push user, t 0 is the current time, and n is the push information Push interval, X is the filter value of the candidate push user, X i is the filter value of the i-th candidate push user; and the first determining sub-unit is configured to be used for each of the at least one candidate push user, If the screening value of the candidate push user does not exist, it is determined that the candidate push user is the user to be pushed.
  • i is a positive integer and i ⁇ 1
  • t is the planned push time point of the push information
  • t i is the planned push time point of the push information of the ith candidate push user
  • the selecting unit 503 further includes: a second calculating subunit configured to calculate, according to the push instruction, the push command according to the push instruction according to the push instruction.
  • Screening judgment value Y Where T is the planned push time point of the information to be pushed, t 0 is the current time, m is the push interval time of the information to be pushed, and the push interval time m of the information to be pushed is equal to the push interval time n of the push information; the second determination a subunit, configured to perform a AND operation on a binary value of the screening judgment value of the push instruction and a binary value of the screening value of the at least one candidate push user, to determine whether the result is equal to 0, and in response to the result being equal to 0, determining the candidate push user For the user to be pushed.
  • the information pushing apparatus 500 further includes: a first updating unit, configured to update at least one information of the user to be pushed according to the pushing instruction, where at least one information of the user to be pushed is Including: push information category, push The planned push time point of the information, the push interval of the push information, and the push status.
  • the information pushing apparatus 500 further includes: a second updating unit, configured to update at least one information of the user to be pushed according to the pushing instruction, where at least one information of the user to be pushed is updated Including: push information category, push time point of push information, push time of push information, and push status.
  • FIG. 6 a block diagram of a computer system 600 suitable for use in implementing a terminal device or server of an embodiment of the present application is shown.
  • computer system 600 includes a central processing unit (CPU) 601 that can be loaded into a program in random access memory (RAM) 603 according to a program stored in read only memory (ROM) 602 or from storage portion 608. And perform various appropriate actions and processes.
  • RAM random access memory
  • ROM read only memory
  • RAM random access memory
  • various programs and data required for the operation of the system 600 are also stored.
  • the CPU 601, the ROM 602, and the RAM 603 are connected to each other through a bus 604.
  • An input/output (I/O) interface 605 is also coupled to bus 604.
  • the following components are connected to the I/O interface 605: an input portion 606 including a keyboard, a mouse, etc.; an output portion 607 including, for example, a cathode ray tube (CRT), a liquid crystal display (LCD), and the like, and a storage portion 608 including a hard disk or the like. And a communication portion 609 including a network interface card such as a LAN card, a modem, or the like. The communication section 609 performs communication processing via a network such as the Internet.
  • Driver 610 is also coupled to I/O interface 605 as needed.
  • a removable medium 611 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory or the like, is mounted on the drive 610 as needed so that a computer program read therefrom is installed into the storage portion 608 as needed.
  • an embodiment of the present disclosure includes a computer program product comprising a computer program tangibly embodied on a machine readable medium, the computer program comprising program code for executing the method illustrated in the flowchart.
  • the computer program can be downloaded and installed from the network via communication portion 609, and/or installed from removable media 611.
  • the central processing unit (CPU) 601 the above-described functions defined in the method of the present application are performed.
  • Each block in the flowchart or block diagram may represent a module, a program segment, or a portion of code, the module, the program segment, or a portion of code comprising one or more components for implementing the specified logical functions. Execute the instruction. It should also be noted that in some alternative implementations, the functions noted in the blocks may also occur in a different order than that illustrated in the drawings. For example, two successively represented blocks may in fact be executed substantially in parallel, and they may sometimes be executed in the reverse order, depending upon the functionality involved.
  • each block of the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented in a dedicated hardware-based system that performs the specified function or operation. Or it can be implemented by a combination of dedicated hardware and computer instructions.
  • the units involved in the embodiments of the present application may be implemented by software or by hardware.
  • the described unit may also be disposed in the processor, for example, as a processor including a first acquisition unit, a second acquisition unit, a selection unit, and a push unit.
  • the name of these units does not constitute a limitation on the unit itself in some cases.
  • the first obtaining unit may also be described as “a unit that acquires a push instruction”.
  • the present application further provides a non-volatile computer storage medium, which may be a non-volatile computer storage medium included in the apparatus described in the foregoing embodiments; It may be a non-volatile computer storage medium that exists alone and is not assembled into the terminal.
  • the non-volatile computer storage medium stores one or more programs, when the one or more programs are executed by a device, causing the device to: obtain a push command, wherein the push command includes: to push information, to be a type of the push information, a planned push time point of the information to be pushed, and a push interval time of the information to be pushed; obtaining information of at least one candidate push user whose push information category is the same as the category of the information to be pushed, wherein at least one candidate pushes the user
  • the information includes a push information category, a planned push time point of the push information, a push interval time of the push information, and a push status.
  • the at least one user to be pushed is selected according to the push instruction and the information of the at least one candidate push user, wherein at least one to be pushed
  • the user is a candidate push user that does not receive the push information in the time interval, wherein the starting point of the time interval is the planned push time point of the information to be pushed to the previous push interval time, and the end point is the planned push time point of the information to be pushed backward.
  • a push interval will be Transmitting information to be pushed to push the at least one user.

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

一种信息推送方法和装置,所述方法的一具体实施方式包括:获取推送指令(201,401);获取推送信息类别与待推送信息的类别相同的至少一个候选推送用户的信息(202, 402);根据推送指令和至少一个候选推送用户的信息,选取出至少一个待推送用户(203);将待推送信息推送给至少一个待推送用户(204,407)。该方法实现了对同一个用户在一定的时间区间内仅发送一次推送信息,避免了对用户过度打扰。

Description

信息推送方法和装置
相关申请的交叉引用
本申请要求于2016年7月29日提交的中国专利申请号为“201610620675.5”的优先权,其全部内容作为整体并入本申请中。
技术领域
本申请涉及计算机技术领域,具体涉及互联网技术领域,尤其涉及信息推送方法和装置。
背景技术
信息推送,又称为“网络广播”,是通过一定的技术标准或协议,在互联网上通过推送用户需要的信息来减少信息过载的一项技术。信息推送技术通过主动推送信息给用户,可以减少用户在网络上搜索所花费的时间。但是,信息推送一般不进行用户筛选,因此会出现对同一个用户在一定的时间段内推送多次信息的情况,对用户造成过度打扰。
目前一般采用布隆过滤器解决上述问题。首先创建一个巨大的hashtable(哈希表),对于每一个已经接收过推送信息的用户使用八个不同的hash(哈希)算法,产生八个hash值,把这八个hash值映射到hashtable中的八个坐标上,然后将这八个坐标的值全部设置为1。当需要对用户推送该信息时,首先对该用户使用八个不同的hash算法,产生八个hash值,然后将这个八个hash值映射到hashtable中的八个坐标上。若每个坐标都是1,过则表示该用户已经接收过推送信息,将不再向该用户再次推送信息;若至少有一个坐标不是1,即表示还未向该用户推送过信息,由此,得到待推送信息的用户列表。
但是,布隆过滤器将接收过推送信息的用户全部过滤掉,因此无法实现一定的时间间隔后,对已接收过推送信息的用户再次推送信息。 并且,布隆过滤器存在误判的风险,如果某个未接收过推送信息的用户对应的八个坐标都恰好被设置成了1,该用户也会被错误地判断为已经接收过推送信息。
发明内容
本申请的目的在于提出一种改进的信息推送方法和装置,来解决以上背景技术部分提到的技术问题。
第一方面,本申请提供一种信息推送方法,所述方法包括:获取推送指令,其中,所述推送指令包括:待推送信息、所述待推送信息的类别、所述待推送信息的计划推送时间点和所述待推送信息的推送间隔时间;获取推送信息类别与所述待推送信息的类别相同的至少一个候选推送用户的信息,其中,所述至少一个候选推送用户的信息包括推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态;根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,其中,所述至少一个待推送用户为在时间区间内不会接收到推送信息的候选推送用户,其中所述时间区间的起点为所述待推送信息的计划推送时间点往前一个推送间隔时间,终点为所述待推送信息的计划推送时间点往后一个推送间隔时间;将所述待推送信息推送给所述至少一个待推送用户。
在一些实施例中,所述根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,包括:根据所述至少一个候选推送用户的信息,利用如下公式计算出所述至少一个候选推送用户的筛选值Xi
Figure PCTCN2017092994-appb-000001
其中,i为正整数,且i≥1,t为推送信息的计划推送时间点,ti为第i个候选推送用户的推送信息的计划推送时间点,t0为当前时间,n为推送信息的推送间隔时间,X为候选推送用户的筛选值,Xi为第i个候选推送用户的筛选值;对于所述至少一个候选推送用户中的每一个候选推送用户,如果候选推送用户的筛选值不存在,则确定该候选推送用户为待推送用户。
在一些实施例中,所述根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,还包括:响应于候选推 送用户的筛选值存在,则根据所述推送指令,利用如下公式计算出所述推送指令的筛选判断值Y:
Figure PCTCN2017092994-appb-000002
其中,T为待推送信息的计划推送时间点,t0为当前时间,m为待推送信息的推送间隔时间,并且待推送信息的推送间隔时间m等于推送信息的推送间隔时间n;将所述推送指令的筛选判断值的二进制数值与所述至少一个候选推送用户的筛选值的二进制数值进行与操作,确定结果是否等于0,响应于结果等于0,则确定该候选推送用户为待推送用户。
在一些实施例中,所述获取推送信息类别与所述待推送信息的类别相同的至少一个候选推送用户的信息之后,还包括:根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
在一些实施例中,所述将所述待推送信息推送给所述至少一个待推送用户之后,还包括:根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
第二方面,本申请提供一种信息推送装置,所述装置包括:第一获取单元,配置用于获取推送指令,其中,所述推送指令包括:待推送信息、所述待推送信息的类别、所述待推送信息的计划推送时间点和所述待推送信息的推送间隔时间;第二获取单元,配置用于获取推送信息类别与所述待推送信息的类别相同的至少一个候选推送用户的信息,其中,所述至少一个候选推送用户的信息包括推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态;选取单元,配置用于根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,其中,所述至少一个待推送用户为在时间区间内不会接收到推送信息的候选推送用户,其中所述时间区间的起点为所述待推送信息的计划推送时间点往前一个推送间隔时间,终点为所述待推送信息的计划推送时间点往后一个推送间隔时间;推送单元,配置用于将所述待推送信息推送给所述至少一个待推 送用户。
在一些实施例中,所述选取单元包括:第一计算子单元,配置用于根据所述至少一个候选推送用户的信息,利用如下公式计算出所述至少一个候选推送用户的筛选值Xi
Figure PCTCN2017092994-appb-000003
其中,i为正整数,且i≥1,t为推送信息的计划推送时间点,ti为第i个候选推送用户的推送信息的计划推送时间点,t0为当前时间,n为推送信息的推送间隔时间,X为候选推送用户的筛选值,Xi为第i个候选推送用户的筛选值;第一确定子单元,配置用于对于所述至少一个候选推送用户中的每一个候选推送用户,如果候选推送用户的筛选值不存在,则确定该候选推送用户为待推送用户。
在一些实施例中,所述选取单元还包括:第二计算子单元,配置用于响应于候选推送用户的筛选值存在,则根据所述推送指令,利用如下公式计算出所述推送指令的筛选判断值Y:
Figure PCTCN2017092994-appb-000004
其中,T为待推送信息的计划推送时间点,t0为当前时间,m为待推送信息的推送间隔时间,并且待推送信息的推送间隔时间m等于推送信息的推送间隔时间n;第二确定子单元,配置用于将所述推送指令的筛选判断值的二进制数值与所述至少一个候选推送用户的筛选值的二进制数值进行与操作,确定结果是否等于0,响应于结果等于0,则确定该候选推送用户为待推送用户。
在一些实施例中,所述装置还包括:第一更新单元,配置用于根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
在一些实施例中,所述将所述装置还包括:第二更新单元,配置用于根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
本申请提供的信息推送方法和装置,通过获取推送指令和至少一个候选推送用户的信息,而后基于该推送指令和至少一个候选推送用户的信息选取待推送用户,最后将待推送信息推送给待推送用户,其 中,待推送用户为在一定的时间区间内不会接收到推送信息的候选推送用户,从而实现了对同一个用户在一定的时间区间内仅发送一次推送信息,避免了对用户过度打扰。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1是本申请可以应用于其中的示例性系统架构图;
图2是根据本申请的信息推送方法的一个实施例的流程图;
图3是根据本申请的信息推送方法的一个应用场景的示意图;
图4是根据本申请的信息推送方法的又一个实施例的流程图;
图5是根据本申请的信息推送装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的信息推送方法或信息推送装置的实施例的示例性系统架构100。
如图1所示,系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备101、102、103通过网络104与服务器105 交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如社交平台软件、邮箱客户端、即时通信工具、购物类应用、网页浏览器应用、搜索类应用等。
终端设备101、102、103可以是具有显示屏并且可以接收信息的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。
服务器105可以是提供各种服务的服务器,例如对终端设备101、102、103接收的推送信息提供支持的信息推送服务器。信息推送服务器可以对接收到的推送指令进行分析等处理,并将处理结果(例如推送信息)发送给终端设备。
需要说明的是,本申请实施例所提供的信息推送方法一般由服务器105执行,相应地,信息推送装置一般设置于服务器105中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
继续参考图2,示出了根据本申请的信息推送方法的一个实施例的流程200。所述的信息推送方法,包括以下步骤:
步骤201,获取推送指令。
在本实施例中,信息推送方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收推送指令,其中,推送指令包括:待推送信息、待推送信息的类别、待推送信息的计划推送时间点和待推送信息的推送间隔时间。
通常,待推送信息的类别可以是通知类信息、促销类信息等。作为示例,通知类信息可以是温馨提示信息、天气信息或者祝福信息等;促销类信息可以是新商品的上市信息或者商品的降价销售信息等。主动推送信息可以减少用户在网络上搜索花费的时间,但是如果对同一个用户在一定的时间段内频繁发送推送信息,就会对用户造成过度打扰。为解决上述问题,可以为每一条推送指令设置待推送信息的计划推送时间点和推送间隔时间,其中,相同类别的待推送信息的推送间隔时间可以相同。作为示例,通知类信息的推送间隔时间可以设置为1天,因此,对同一个用户1天内仅发送一次通知类消息;促销类消 息的推送间隔时间可以设置为3天,因此,对同一个用户3天内仅发送一次促销类信息。
步骤202,获取推送信息类别与待推送信息的类别相同的至少一个候选推送用户的信息。
在本实施例中,基于步骤201中得到的推送指令,上述电子设备(例如图1所示的服务器)可以首先获取上述待推送信息的类别;之后再根据上述待推送信息的类别,获取推送信息类别与上述待推送信息类别相同的至少一个候选推送用户,从而获取至少一个候选推送用户的信息,其中,至少一个候选推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
通常,候选推送用户可以是未推送且未排期用户,也可以是已排期用户,还可以是已推送用户。对于未推送且未排期用户,其推送信息的计划推送时间点和推送间隔时间可以为空,推送状态设置为未推送即可。候选推送用户的信息可以存储在服务器中,用户在注册应用账户、浏览网页或者购买商品时,服务器均可以获取以上记录,并根据以上记录提取有价值的信息来更新候选推送用户的信息,当然,也可以根据候选推送用户最近一次接收的推送信息来更新候选推送用户的信息。
步骤203,根据推送指令和至少一个候选推送用户的信息,选取出至少一个待推送用户。
在本实施例中,基于步骤201中得到的推送指令和步骤202中得到的至少一个候选推送用户的信息,上述电子设备(例如图1所示的服务器)可以选取出至少一个待推送用户。其中,至少一个待推送用户为在时间区间内不会接收到推送信息的候选推送用户,其中时间区间的起点为待推送信息的计划推送时间点往前一个推送间隔时间,终点为待推送信息的计划推送时间点往后一个推送间隔时间。
可选地,本实施例中的至少一个待推送用户可以是未推送且未排期用户,也可以是在一定时间区间内不会接收到推送信息的候选推送用户已排期或者已推送用户,但是,本次推送指令计划推送的信息,均不会对上述待推送用户造成过度打扰。
步骤204、将待推送信息推送给至少一个待推送用户。
在本实施例中,上述电子设备可以将上述推送指令中的待推送信息推送给至少一个待推送用户。作为示例,上述电子设备可以将待推送信息以短信的方式或以网页内容相结合的方式发送给待推送用户。
在本实施例的一些可选的实现方式中,在获取推送信息类别与待推送信息的类别相同的至少一个候选推送用户的信息之后,还可以根据推送指令,更新至少一个待推送用户的信息。其中,至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。作为示例,一条促销类任务信息,预计2016年8月1日向用户A推送,推送间隔3天,因此可以将用户A的推送信息类别更新为促销类,推送信息的计划推送日期更新为2016年8月1日,推送信息的推送间隔时间更新为3天,推送状态更新为待推送。
在本实施例的一些可选的实现方式中,在将待推送信息推送给至少一个待推送用户之后,还可以根据推送指令,更新至少一个待推送用户的信息。其中,至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。作为示例,用户A接收到待推送信息之后,还可以将用户A推送状态更新为已推送。
继续参见图3,图3是根据本实施例的信息推送方法的应用场景的一个示意图。在图3的应用场景中,用户下载购物类应用、注册购物类应用或者浏览某些商品时,表明该用户可能对某些商品有需求;之后通过分析用户的需求,可以向该用户推送某些商品的促销信息;为了避免对该用户的过度打扰,可以首先确定该用户在一定的时间间隔会不会收到某些商品的促销信息;最后,在不过度打扰该用户的前提下,向该用户推送信息。当用户接收到推送信息时,就会如图3所示,在终端上显示该推送信息。
本申请的上述实施例提供的方法通过选取出在一定的时间区间内不会接收到推送信息的至少一个待推送用户,并对该选取出的用户推送信息,实现了对同一个用户在一定的时间段内仅发送一次推送信息, 避免了对用户过度打扰。
进一步参考图4,其示出了信息推送方法的又一个实施例的流程400。该信息推送方法的流程400,包括以下步骤:
步骤401,获取推送指令。
在本实施例中,信息推送方法运行于其上的电子设备(例如图1所示的服务器)可以通过有线连接方式或者无线连接方式接收推送指令,其中,推送指令包括:待推送信息、待推送信息的类别、待推送信息的计划推送时间点和待推送信息的推送间隔时间。
步骤402,获取推送信息类别与待推送信息的类别相同的至少一个候选推送用户的信息。
在本实施例中,基于步骤201中得到的推送指令,上述电子设备(例如图1所示的服务器)可以首先获取上述待推送信息的类别;之后再根据上述待推送信息的类别,获取推送信息类别与上述待推送信息类别相同的至少一个候选推送用户,从而获取至少一个候选推送用户的信息,其中,至少一个候选推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
步骤403,根据至少一个候选推送用户的信息,利用如下公式计算出至少一个候选推送用户的筛选值Xi
Figure PCTCN2017092994-appb-000005
在本实施例中,基于步骤402中得到的至少一个候选推送用户的信息,上述电子设备(例如图1所示的服务器)可以得到至少一个待推送用户的筛选值。其中,i为正整数,且i≥1,t为推送信息的计划推送时间点,ti为第i个候选推送用户的推送信息的计划推送时间点,t0为当前时间,n为推送信息的推送间隔时间,X为候选推送用户的筛选值,Xi为第i个候选推送用户的筛选值。
利用公式计算出每个候选推送用户的筛选值,将每个候选推送用户的唯一标识和对应的筛选值组成键值对放入hashmap(哈希图)中。作为示例,用户的唯一标识可以是用户的手机号或者用户的邮箱账号,并且,hashmap中可以使用null值和null键,即当候选推送用户的筛选值不存在时,也可以将该候选推送用户的用户唯一标识和null值放入hashmap中。
步骤404、对于至少一个候选推送用户中的每一个候选推送用户,如果候选推送用户的筛选值不存在,则确定该候选推送用户为待推送用户。
在本实施例中,基于步骤403中得到的至少一个待推送用户的筛选值,上述电子设备(例如图1所示的服务器)可以确定筛选值不存在时,该候选推送用户是待推送用户。
通常,可以根据用户的唯一标识从hashmap选取与其匹配的候选推送用户的筛选值,若筛选值为null,则表明该候选推送用户为未发送且未排期用户,可以将该候选推送用户列入待推送用户列表中。
步骤405、响应于候选推送用户的筛选值存在,则根据推送指令,利用如下公式计算出推送指令的筛选判断值Y:
Figure PCTCN2017092994-appb-000006
在本实施例中,基于步骤401中得到的推送指令,上述电子设备(例如图1所示的服务器)可以得到推送指令的筛选判断值。其中,T为待推送信息的计划推送时间点,t0为当前时间,m为待推送信息的推送间隔时间,并且待推送信息的推送间隔时间m等于推送信息的推送间隔时间n。
hashmap中存储的候选推送用户的筛选值存在,则表明该候选推送用户为已发送或者已排期用户,因此,需要进一步判断该候选推送用户在一定的时间区间内会不会接收到推送信息。
步骤406、将推送指令的筛选判断值的二进制数值与至少一个候选推送用户的筛选值的二进制数值进行与操作,确定结果是否等于0,响应于结果等于0,则确定该候选推送用户为待推送用户。
在本实施例中,基于步骤403中得到的至少一个待推送用户的筛选值和步骤405中得到的推送指令的筛选判断值,上述电子设备(例如图1所示的服务器)可以确定筛选值存在时,该候选推送用户是否是待推送用户。
通过利用推送指令的筛选判断值的二进制数值和该候选推送用户的筛选值的二进制数值进行与操作,结果等于0,可以说明该候选推送用户在在一定的时间区间内不会接收到推送信息,因此,可以将该候选推送用户列入待推送用户列表中。
步骤407、将待推送信息推送给至少一个待推送用户。
在本实施例中,上述电子设备可以将上述推送指令中的待推送信息推送给至少一个待推送用户。作为示例,上述电子设备可以将待推送信息以短信的方式或以网页内容相结合的方式发送给待推送用户。
从图4中可以看出,与图2对应的实施例相比,本实施例中的信息推送方法的流程400详细介绍了待推送用户的确定步骤。由此,本实施例描述的方案可以更加准确地判断候选推送用户在一定的时间区间内不会接收到推送信息,并且不会出现误判的情况,从而实现了避免对用户过度打扰的同时,选取尽可能多的待推送用户进行信息推送。
进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种信息推送装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图5所示,本实施例所述的信息推送装置500包括:第一获取单元501、第二获取单元502、选取单元503和推送单元504。其中,第一获取单元501,配置用于获取推送指令;第二获取单元502,配置用于获取推送信息类别与待推送信息的类别相同的至少一个候选推送用户的信息;选取单元503,配置用于根据推送指令和至少一个候选推送用户的信息,选取出至少一个待推送用户;推送单元504,配置用于将待推送信息推送给至少一个待推送用户。
在本实施例中,信息推送装置500的第一获取单元501可以通过有线连接方式或者无线连接方式接收推送指令,其中,推送指令包括待推送信息、待推送信息的类别、待推送信息的计划推送时间点和待推送信息的推送间隔时间。
在本实施例中,基于第一获取单元501得到的推送指令,上述第二获取单元502可以首先获取上述待推送信息的类别;之后再根据上述待推送信息的类别,获取推送信息类别与上述待推送信息类别相同的至少一个候选推送用户,从而获取至少一个候选推送用户的信息,其中,至少一个候选推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
在本实施例中,基于第一获取单元501得到的推送指令和第二获 取单元502得到的至少一个候选推送用户的信息,上述选取单元503可以选取出至少一个待推送用户。其中,至少一个待推送用户为在时间区间内不会接收到推送信息的候选推送用户,其中时间区间的起点为待推送信息的计划推送时间点往前一个推送间隔时间,终点为待推送信息的计划推送时间点往后一个推送间隔时间。
在本实施例中,基于选取单元503选取的至少一个待推送用户,上述推送单元504可以将上述待推送信息推送给至少一个待推送用户。作为示例,上述电子设备可以将待推送信息以短信的方式或以网页内容相结合的方式发送给待推送用户。
在本实施例的一些可选的实现方式中,选取单元503包括:第一计算子单元,配置用于根据至少一个候选推送用户的信息,利用如下公式计算出至少一个候选推送用户的筛选值Xi
Figure PCTCN2017092994-appb-000007
其中,i为正整数,且i≥1,t为推送信息的计划推送时间点,ti为第i个候选推送用户的推送信息的计划推送时间点,t0为当前时间,n为推送信息的推送间隔时间,X为候选推送用户的筛选值,Xi为第i个候选推送用户的筛选值;第一确定子单元,配置用于对于至少一个候选推送用户中的每一个候选推送用户,如果候选推送用户的筛选值不存在,则确定该候选推送用户为待推送用户。
在本实施例的一些可选的实现方式中,选取单元503还包括:第二计算子单元,配置用于响应于候选推送用户的筛选值存在,则根据推送指令,利用如下公式计算出推送指令的筛选判断值Y:
Figure PCTCN2017092994-appb-000008
其中,T为待推送信息的计划推送时间点,t0为当前时间,m为待推送信息的推送间隔时间,并且待推送信息的推送间隔时间m等于推送信息的推送间隔时间n;第二确定子单元,配置用于将推送指令的筛选判断值的二进制数值与至少一个候选推送用户的筛选值的二进制数值进行与操作,确定结果是否等于0,响应于结果等于0,则确定该候选推送用户为待推送用户。
在本实施例的一些可选的实现方式中,信息推送装置500还包括:第一更新单元,配置用于根据推送指令,更新至少一个待推送用户的信息,其中,至少一个待推送用户的信息包括:推送信息类别、推送 信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
在本实施例的一些可选的实现方式中,信息推送装置500还包括:第二更新单元,配置用于根据推送指令,更新至少一个待推送用户的信息,其中,至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
下面参考图6,其示出了适于用来实现本申请实施例的终端设备或服务器的计算机系统600的结构示意图。
如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点 上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括第一获取单元、第二获取单元、选取单元和推送单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取推送指令的单元”。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:获取推送指令,其中,推送指令包括:待推送信息、待推送信息的类别、待推送信息的计划推送时间点和待推送信息的推送间隔时间;获取推送信息类别与待推送信息的类别相同的至少一个候选推送用户的信息,其中,至少一个候选推送用户的信息包括推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态;根据推送指令和至少一个候选推送用户的信息,选取出至少一个待推送用户,其中,至少一个待推送用户为在时间区间内不会接收到推送信息的候选推送用户,其中时间区间的起点为待推送信息的计划推送时间点往前一个推送间隔时间,终点为待推送信息的计划推送时间点往后一个推送间隔时间;将待推送信息推送给至少一个待推送用户。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (12)

  1. 一种信息推送方法,其特征在于,所述方法包括:
    获取推送指令,其中,所述推送指令包括:待推送信息、所述待推送信息的类别、所述待推送信息的计划推送时间点和所述待推送信息的推送间隔时间;
    获取推送信息类别与所述待推送信息的类别相同的至少一个候选推送用户的信息,其中,所述至少一个候选推送用户的信息包括推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态;
    根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,其中,所述至少一个待推送用户为在时间区间内不会接收到推送信息的候选推送用户,其中所述时间区间的起点为所述待推送信息的计划推送时间点往前一个推送间隔时间,终点为所述待推送信息的计划推送时间点往后一个推送间隔时间;
    将所述待推送信息推送给所述至少一个待推送用户。
  2. 根据权利要求1所述的方法,其特征在于,所述根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,包括:
    根据所述至少一个候选推送用户的信息,利用如下公式计算出所述至少一个候选推送用户的筛选值Xi
    Figure PCTCN2017092994-appb-100001
    其中,i为正整数,且i≥1,t为推送信息的计划推送时间点,ti为第i个候选推送用户的推送信息的计划推送时间点,t0为当前时间,n为推送信息的推送间隔时间,X为候选推送用户的筛选值,Xi为第i个候选推送用户的筛选值;
    对于所述至少一个候选推送用户中的每一个候选推送用户,如果候选推送用户的筛选值不存在,则确定该候选推送用户为待推送用户。
  3. 根据权利要求2所述的方法,其特征在于,所述根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,还包括:
    响应于候选推送用户的筛选值存在,则根据所述推送指令,利用如下公式计算出所述推送指令的筛选判断值Y:
    Figure PCTCN2017092994-appb-100002
    其中,T为待推送信息的计划推送时间点,t0为当前时间,m为待推送信息的推送间隔时间,并且待推送信息的推送间隔时间m等于推送信息的推送间隔时间n;
    将所述推送指令的筛选判断值的二进制数值与所述至少一个候选推送用户的筛选值的二进制数值进行与操作,确定结果是否等于0,响应于结果等于0,则确定该候选推送用户为待推送用户。
  4. 根据权利要求1-3之一所述的方法,其特征在于,所述获取推送信息类别与所述待推送信息的类别相同的至少一个候选推送用户的信息之后,还包括:
    根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
  5. 根据权利要求4所述的方法,其特征在于,所述将所述待推送信息推送给所述至少一个待推送用户之后,还包括:
    根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
  6. 一种信息推送装置,其特征在于,所述装置包括:
    第一获取单元,配置用于获取推送指令,其中,所述推送指令包括:待推送信息、所述待推送信息的类别、所述待推送信息的计划推送时间点和所述待推送信息的推送间隔时间;
    第二获取单元,配置用于获取推送信息类别与所述待推送信息的类别相同的至少一个候选推送用户的信息,其中,所述至少一个候选推送用户的信息包括推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态;
    选取单元,配置用于根据所述推送指令和所述至少一个候选推送用户的信息,选取出至少一个待推送用户,其中,所述至少一个待推送用户为在时间区间内不会接收到推送信息的候选推送用户,其中所述时间区间的起点为所述待推送信息的计划推送时间点往前一个推送间隔时间,终点为所述待推送信息的计划推送时间点往后一个推送间隔时间;
    推送单元,配置用于将所述待推送信息推送给所述至少一个待推送用户。
  7. 根据权利要求6所述的装置,其特征在于,所述选取单元包括:
    第一计算子单元,配置用于根据所述至少一个候选推送用户的信息,利用如下公式计算出所述至少一个候选推送用户的筛选值Xi
    Figure PCTCN2017092994-appb-100003
    其中,i为正整数,且i≥1,t为推送信息的计划推送时间点,ti为第i个候选推送用户的推送信息的计划推送时间点,t0为当前时间,n为推送信息的推送间隔时间,X为候选推送用户的筛选值,Xi为第i个候选推送用户的筛选值;
    第一确定子单元,配置用于对于所述至少一个候选推送用户中的每一个候选推送用户,如果候选推送用户的筛选值不存在,则确定该候选推送用户为待推送用户。
  8. 根据权利要求7所述的装置,其特征在于,所述选取单元还包括:
    第二计算子单元,配置用于响应于候选推送用户的筛选值存在,则根据所述推送指令,利用如下公式计算出所述推送指令的筛选判断值Y:
    Figure PCTCN2017092994-appb-100004
    其中,T为待推送信息的计划推送时间点,t0为当前时间,m为待推送信息的推送间隔时间,并且待推送信息的推送间隔时间m等于推送信息的推送间隔时间n;
    第二确定子单元,配置用于将所述推送指令的筛选判断值的二进制数值与所述至少一个候选推送用户的筛选值的二进制数值进行与操作,确定结果是否等于0,响应于结果等于0,则确定该候选推送用户为待推送用户。
  9. 根据权利要求6-8之一所述的装置,其特征在于,所述装置还包括:
    第一更新单元,配置用于根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
  10. 根据权利要求9所述的装置,其特征在于,所述将所述装置还包括:
    第二更新单元,配置用于根据所述推送指令,更新所述至少一个待推送用户的信息,其中所述至少一个待推送用户的信息包括:推送信息类别、推送信息的计划推送时间点、推送信息的推送间隔时间和推送状态。
  11. 一种设备,包括:
    处理器;和
    存储器,
    所述存储器中存储有能够被所述处理器执行的计算机可读指令,在所述计算机可读指令被执行时,所述处理器执行如权利要求1-5中任一项所述的方法。
  12. 一种非易失性计算机存储介质,所述计算机存储介质存储有能够被处理器执行的计算机可读指令,当所述计算机可读指令被处理器执行时,所述处理器执行如权利要求1-5中任一项所述的方法。
PCT/CN2017/092994 2016-07-29 2017-07-14 信息推送方法和装置 WO2018019139A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/321,379 US11038975B2 (en) 2016-07-29 2017-07-14 Information pushing method and device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201610620675.5 2016-07-29
CN201610620675.5A CN107665225B (zh) 2016-07-29 2016-07-29 信息推送方法和装置

Publications (1)

Publication Number Publication Date
WO2018019139A1 true WO2018019139A1 (zh) 2018-02-01

Family

ID=61016920

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/092994 WO2018019139A1 (zh) 2016-07-29 2017-07-14 信息推送方法和装置

Country Status (3)

Country Link
US (1) US11038975B2 (zh)
CN (1) CN107665225B (zh)
WO (1) WO2018019139A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3629199A1 (en) * 2018-09-30 2020-04-01 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for pushing information
CN114553947A (zh) * 2022-01-29 2022-05-27 北京金堤科技有限公司 一种对消息进行处理的方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108512876B (zh) * 2017-02-27 2020-11-10 腾讯科技(深圳)有限公司 数据的推送方法及装置
CN108763433A (zh) * 2018-05-24 2018-11-06 珠海格力电器股份有限公司 信息推送方法和装置
CN109587038A (zh) * 2018-11-30 2019-04-05 深圳市买买提信息科技有限公司 消息推送方法及装置
CN109743378B (zh) * 2018-12-27 2021-08-13 北京爱奇艺科技有限公司 信息推送系统、信息推送方法及电子设备
CN110347915A (zh) * 2019-06-10 2019-10-18 贝壳技术有限公司 一种信息推送方法和装置
CN113412481B (zh) * 2019-06-20 2024-05-03 深圳市欢太科技有限公司 资源推送方法、装置、服务器以及存储介质
CN110555168B (zh) * 2019-08-22 2023-08-08 创新先进技术有限公司 信息推送的方法及装置
US11177973B2 (en) * 2020-01-10 2021-11-16 Salesforce.Com, Inc. Distributed audience computation software service
CN111797353A (zh) * 2020-07-03 2020-10-20 北京字节跳动网络技术有限公司 信息推送方法、装置和电子设备
CN114553946B (zh) * 2022-01-29 2024-01-19 北京金堤科技有限公司 一种对消息进行处理的方法及装置
CN114710556B (zh) * 2022-06-08 2022-09-16 深圳市信润富联数字科技有限公司 多系统集成消息推送方法、装置、设备及存储介质
CN116384473B (zh) * 2023-06-02 2023-08-08 支付宝(杭州)信息技术有限公司 一种计算图改进、信息推送方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656617A (zh) * 2009-08-18 2010-02-24 成都市华为赛门铁克科技有限公司 广告推送方法、装置和系统
CN103714067A (zh) * 2012-09-29 2014-04-09 腾讯科技(深圳)有限公司 一种信息推送方法和装置
CN104735486A (zh) * 2015-03-30 2015-06-24 北京奇艺世纪科技有限公司 一种广告播放的控制方法及装置
US9277023B1 (en) * 2011-06-14 2016-03-01 Urban Airship, Inc. Push notification delivery system with feedback analysis
CN105491539A (zh) * 2014-09-18 2016-04-13 博雅网络游戏开发(深圳)有限公司 消息推送管理方法和装置

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6996393B2 (en) * 2001-08-31 2006-02-07 Nokia Corporation Mobile content delivery system
ATE484800T1 (de) * 2002-03-11 2010-10-15 Research In Motion Ltd System und methode zum schieben von daten zu einem mobilen gerät
US20080065688A1 (en) * 2006-09-07 2008-03-13 Research In Motion Limited Mediated plug-in registration of client applications and content providers with push content delivery system
US9705998B2 (en) * 2007-11-14 2017-07-11 Qualcomm Incorporated Method and system using keyword vectors and associated metrics for learning and prediction of user correlation of targeted content messages in a mobile environment
CN101262497B (zh) * 2008-04-21 2012-04-25 深圳市迅雷网络技术有限公司 一种内容推送方法、系统及装置
US8688826B2 (en) * 2009-11-30 2014-04-01 Motorola Mobility Llc Mobile computing device and method with intelligent pushing management
CN102111424B (zh) 2009-12-28 2015-07-29 腾讯科技(深圳)有限公司 通过sns网络节点关系链进行信息推送的方法及系统
US20130067024A1 (en) * 2011-09-12 2013-03-14 Microsoft Corporation Distributing multi-source push notifications to multiple targets
CN102902733B (zh) * 2012-09-11 2016-12-21 北京奇艺世纪科技有限公司 一种基于内容订阅的信息推送方法、装置及系统
CN103327110B (zh) 2013-06-28 2016-05-25 腾讯科技(深圳)有限公司 一种信息推送方法和系统
CN104780193B (zh) * 2014-01-15 2016-11-09 腾讯科技(深圳)有限公司 信息推送方法、装置和系统
US9652507B2 (en) * 2014-01-24 2017-05-16 International Business Machines Corporation Dynamic interest-based notifications
CN104063454A (zh) * 2014-06-24 2014-09-24 北京奇虎科技有限公司 一种挖掘用户需求的搜索推送方法和装置
CN105740268B (zh) * 2014-12-10 2019-04-09 阿里巴巴集团控股有限公司 一种信息推送方法和装置
CN104636477B (zh) * 2015-02-15 2017-11-24 山东卓创资讯股份有限公司 一种信息推送前推送列表的去重方法
CN105718571A (zh) * 2016-01-20 2016-06-29 百度在线网络技术(北京)有限公司 信息推送方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101656617A (zh) * 2009-08-18 2010-02-24 成都市华为赛门铁克科技有限公司 广告推送方法、装置和系统
US9277023B1 (en) * 2011-06-14 2016-03-01 Urban Airship, Inc. Push notification delivery system with feedback analysis
CN103714067A (zh) * 2012-09-29 2014-04-09 腾讯科技(深圳)有限公司 一种信息推送方法和装置
CN105491539A (zh) * 2014-09-18 2016-04-13 博雅网络游戏开发(深圳)有限公司 消息推送管理方法和装置
CN104735486A (zh) * 2015-03-30 2015-06-24 北京奇艺世纪科技有限公司 一种广告播放的控制方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3629199A1 (en) * 2018-09-30 2020-04-01 Beijing Xiaomi Mobile Software Co., Ltd. Method and device for pushing information
CN114553947A (zh) * 2022-01-29 2022-05-27 北京金堤科技有限公司 一种对消息进行处理的方法及装置
CN114553947B (zh) * 2022-01-29 2024-01-19 北京金堤科技有限公司 一种对消息进行处理的方法及装置

Also Published As

Publication number Publication date
US20190166216A1 (en) 2019-05-30
CN107665225A (zh) 2018-02-06
US11038975B2 (en) 2021-06-15
CN107665225B (zh) 2022-01-28

Similar Documents

Publication Publication Date Title
WO2018019139A1 (zh) 信息推送方法和装置
CN107622135B (zh) 用于显示信息的方法和装置
CN108965389B (zh) 用于展示信息的方法
EP2682863A1 (en) Installing applications remotely
CN111381981B (zh) 小程序消息的推送方法、装置、设备及存储介质
CN107731229B (zh) 用于识别语音的方法和装置
CN107302597B (zh) 消息文案推送方法和装置
CN109582873B (zh) 用于推送信息的方法和装置
WO2012045154A1 (en) System and method of capturing point-of-sale data and providing real-time advertising content
CN108810047B (zh) 用于确定信息推送准确率的方法、装置及服务器
CN110619078B (zh) 用于推送信息的方法和装置
CN107205031B (zh) 信息提醒方法、装置和终端设备
CN111062572B (zh) 任务分配的方法和装置
WO2020119173A1 (zh) 推送信息的方法和装置
CN111273830A (zh) 显示数据方法、装置、电子设备和计算机可读介质
CN108076110B (zh) 电子数据交换系统和包含电子数据交换系统的装置
WO2019015254A1 (zh) 信息处理方法和装置
CN110442416B (zh) 用于展示信息的方法、电子设备和计算机可读介质
CN112348612B (zh) 订单生成的方法和装置
CN113822745A (zh) 一种物品展示方法和装置
CN109299223B (zh) 用于查询指令的方法及装置
CN111652694A (zh) 订单处理方法、装置和电子设备
CN111784429B (zh) 信息推送方法和装置
CN107181772B (zh) 在线实时更新客户端状态的方法和装置
CN111784376A (zh) 用于处理信息的方法和装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17833442

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17833442

Country of ref document: EP

Kind code of ref document: A1