CN110427551B - Information pushing method and device, electronic equipment and computer readable medium - Google Patents

Information pushing method and device, electronic equipment and computer readable medium Download PDF

Info

Publication number
CN110427551B
CN110427551B CN201910585670.7A CN201910585670A CN110427551B CN 110427551 B CN110427551 B CN 110427551B CN 201910585670 A CN201910585670 A CN 201910585670A CN 110427551 B CN110427551 B CN 110427551B
Authority
CN
China
Prior art keywords
time
target
information
subscription
pushing
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201910585670.7A
Other languages
Chinese (zh)
Other versions
CN110427551A (en
Inventor
卢俊宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuba Co Ltd
Original Assignee
Wuba Co Ltd
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 Wuba Co Ltd filed Critical Wuba Co Ltd
Priority to CN201910585670.7A priority Critical patent/CN110427551B/en
Publication of CN110427551A publication Critical patent/CN110427551A/en
Application granted granted Critical
Publication of CN110427551B publication Critical patent/CN110427551B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the application discloses an information pushing method, an information pushing device, electronic equipment and a computer readable medium. An embodiment of the method comprises: receiving subscription information sent by a client, wherein the subscription information comprises reminding setting information and a subscription identifier for indicating subscription content; determining a time period for pushing information to the client based on the reminding setting information; taking a time slot corresponding to the time period in a pre-established time wheel as a target time slot, and adding the subscription identifier to an identifier set corresponding to the target time slot; and inquiring the corresponding identification sets one by one, determining a target client based on the time period of the inquiry moment and the inquired identification sets, and pushing subscription content reminding information to the target client. The data processing efficiency in the information pushing process is improved by the implementation mode.

Description

Information pushing method and device, electronic equipment and computer readable medium
Technical Field
The embodiment of the application relates to the technical field of computers, in particular to an information pushing method and device, electronic equipment and a computer readable medium.
Background
Due to the development of network technology, content subscription is increasingly deep in daily life. Most of the current websites or applications for information and information provide the function of content subscription. Through content subscription, a user can acquire the subscribed latest information.
In the existing method, a database is generally traversed at a fixed time every day to query whether each piece of subscription content has content update, and if some piece of subscription content has content update, a reminder message is sent to a user who subscribes to the content. However, since the data amount of the subscription content is large, the time consumption of the information push process is long, and the data processing efficiency is low.
Disclosure of Invention
The embodiment of the application provides an information pushing method and device, electronic equipment and a computer readable medium, so as to solve the technical problem that in the prior art, the data processing efficiency is low in the information pushing process.
In a first aspect, an embodiment of the present application provides an information pushing method, where the method includes: receiving subscription information sent by a client, wherein the subscription information comprises reminding setting information and a subscription identifier for indicating subscription content; determining a time period for pushing information to the client based on the reminding setting information; taking a time slot corresponding to a time period in a pre-established time wheel as a target time slot, and adding a subscription identifier to an identifier set corresponding to the target time slot; and inquiring the corresponding identification sets one by one, determining a target client based on the time period of the inquiry moment and the inquired identification sets, and pushing subscription content reminding information to the target client.
In some embodiments, the time wheel is pre-created by: dividing a natural day into a plurality of time periods; creating a time wheel comprising a plurality of time slots by using a time wheel timer algorithm, wherein the created time slots correspond to the divided time slots one to one; and creating key value pairs respectively corresponding to the time slots, wherein the key value pairs comprise keys and values, and the values are identification sets.
In some embodiments, taking a time slot corresponding to a time period in a pre-created time round as a target time slot, adding a subscription identifier to an identifier set corresponding to the target time slot includes: taking a time slot corresponding to a time period in a pre-established time wheel as a target time slot, and determining a target key value pair corresponding to the target time slot; and adding the subscription identification to the identification set in the target key value pair.
In some embodiments, querying a corresponding identifier set one by one, determining a target client based on a time period of a query time and the queried identifier set, and pushing subscription content reminding information to the target client, includes: in response to the fact that a timer triggers a push instruction, taking a time slot corresponding to the current time slot in a time wheel as a time slot to be inquired, taking an identification set corresponding to the time slot to be inquired as a target identification set, and determining whether the target identification set is an empty set, wherein the timer is used for triggering the push instruction one by one time slot; in response to determining that the target identifier set is not an empty set, detecting whether the subscription content indicated by each subscription identifier in the target identifier set is updated; and taking the updated subscription content as target subscription content, taking the client terminal which subscribes the target subscription content and pushes the information in the time period containing the current time period as a target client terminal, and pushing subscription content reminding information to the target client terminal.
In some embodiments, pushing the subscription content reminder information to the target client includes: acquiring the update content of the target subscription content; and pushing subscription content reminding information containing the updated content to the target client.
In some embodiments, the reminder setting information includes a reminder period and/or a reminder rule.
In a second aspect, an embodiment of the present application provides an information pushing apparatus, where the apparatus includes: the client comprises a receiving unit and a processing unit, wherein the receiving unit is configured to receive subscription information sent by a client, and the subscription information comprises reminding setting information and a subscription identifier for indicating subscription content; a determining unit configured to determine a time period for pushing information to the client based on the reminder setting information; an adding unit configured to take a time slot corresponding to a time period in a pre-created time wheel as a target time slot, and add a subscription identifier to an identifier set corresponding to the target time slot; and the pushing unit is configured to query the corresponding identification sets one by one, determine the target client based on the time period of the query moment and the queried identification sets, and push the subscription content reminding information to the target client.
In some embodiments, the time wheel is pre-created by: dividing a natural day into a plurality of time periods; creating a time wheel comprising a plurality of time slots by using a time wheel timer algorithm, wherein the created time slots correspond to the divided time slots one to one; and creating key value pairs respectively corresponding to the time slots, wherein the key value pairs comprise keys and values, and the values are identification sets.
In some embodiments, the adding unit comprises: a determining module configured to determine a target key value pair corresponding to a target time slot by taking the time slot corresponding to the time period in the pre-created time wheel as the target time slot; an adding module configured to add the subscription identity to the identity set in the target key value pair.
In some embodiments, a push unit, comprising: the trigger module is configured to respond to the detection that a timer triggers a push instruction, take a time slot corresponding to a current time slot in a time wheel as a time slot to be inquired, take an identification set corresponding to the time slot to be inquired as a target identification set, and determine whether the target identification set is an empty set, wherein the timer is used for triggering the push instruction one by one; a detection module configured to detect whether there is an update in the subscription content indicated by each subscription identifier in the target identifier set in response to determining that the target identifier set is not an empty set; and the pushing module is configured to take the updated subscription content as target subscription content, take a client which subscribes the target subscription content and has the current time period in the information pushing time period as a target client, and push the subscription content reminding information to the target client.
In some embodiments, the pushing unit is further configured to: and acquiring the update content of the target subscription content, and pushing subscription content reminding information containing the update content to the target client.
In some embodiments, the reminder setting information includes a reminder period and/or a reminder rule.
In a third aspect, an embodiment of the present application provides a server, including: one or more processors; a storage device having one or more programs stored thereon, which when executed by one or more processors, cause the one or more processors to implement a method as in any one of the embodiments of the first aspect.
In a fourth aspect, the present application provides a computer readable medium, on which a computer program is stored, where the program is executed by a processor to implement the method according to any one of the embodiments of the first aspect.
According to the information pushing method, the information pushing device, the electronic equipment and the computer readable medium, the subscription information sent by the client is received to obtain the reminding setting information and the subscription identifier for indicating the subscription content; then, based on the reminding setting information, determining a time period for pushing information to the client; then, taking a time slot corresponding to the time period in the pre-established time wheel as a target time slot, and adding the subscription identifier to an identifier set corresponding to the target time slot; and finally, inquiring the corresponding identification sets one by one, determining the target client based on the time period of the inquiry moment and the inquired identification sets, and pushing the subscription content reminding information to the target client, so that the user can freely select the pushing time period of the reminding information, meanwhile, the database does not need to be traversed completely, the time consumption of the information pushing process is reduced, and the data processing efficiency of the information pushing process is improved.
Drawings
Other features, objects and advantages of the present application will become more apparent upon reading of the following detailed description of non-limiting embodiments thereof, made with reference to the accompanying drawings in which:
FIG. 1 is a flow diagram of one embodiment of an information push method according to the present application;
FIG. 2 is a schematic diagram of a time wheel to which the present application is directed;
FIG. 3 is a flow diagram of yet another embodiment of an information push method according to the present application;
FIG. 4 is a schematic block diagram of one embodiment of an information pushing device according to the present application;
FIG. 5 is a schematic block diagram of a computer system suitable for use in implementing an electronic device according to embodiments of the present application.
Detailed Description
The present application will be described in further detail with reference to the following drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the relevant invention and not restrictive of the invention. It should be noted that, for convenience of description, only the portions related to the related invention are shown in the drawings.
It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict. The present application will be described in detail below with reference to the accompanying drawings in conjunction with embodiments.
Referring to fig. 1, a flow 100 of an embodiment of an information push method according to the present application is shown. The information pushing method comprises the following steps:
step 101, receiving subscription information sent by a client.
In this embodiment, an execution subject (for example, an electronic device such as a server) of the information push method may receive subscription information sent by a client. The subscription information may include reminder setting information and a subscription identifier for indicating subscription content.
Here, the reminder setting information may be used to instruct the execution main body to set a time period of the push information. The information pushed by the execution main body may include subscription content reminding information, and the subscription content reminding information may be used for reminding a user to read the subscribed subscription content.
Here, different subscription contents have different subscription identifications, which may be character strings composed of various characters (e.g., numbers, chinese characters, letters, etc.). The subscription content may be news information, public numbers concerned by the user, and the like.
And 102, determining a time period for pushing information to the client based on the reminding setting information.
In this embodiment, since the reminder setting information may be used to indicate a time period for pushing the reminder information of the subscription content, the execution main body may determine the time period for pushing the information to the client based on the reminder setting information.
In one scenario, the reminder setting information may include a reminder period (e.g., 8. At this time, the execution body may directly use the reminding time period set by the user as the time period for pushing the information to the client. Therefore, the user can push the information in a fixed time period by setting the reminding time period.
In another scenario, the reminder setting information may include a reminder rule. The reminding rules may include reminding frequency (for example, once per day, once per hour, once per two hours, etc.), initial reminding time period, and the like. At this time, the execution main body may determine at least one time period indicated by the reminder rule, and use each determined time period as a time period for pushing information to the client.
In another scenario, the reminder setting information may include a reminder time period and a reminder rule at the same time. At this time, the execution main body may determine at least one time period for pushing information to the client, in combination with the reminding time period and the reminding frequency.
It should be noted that the reminder setting information may include other information, and is not limited herein. For example, a reminder time (e.g., 8. At this time, the execution main body may determine a time period in which the reminding time is located, so as to use the time period as a time period for pushing information to the client.
And 103, taking the time slot corresponding to the time slot in the pre-created time wheel as a target time slot, and adding the subscription identifier to the identifier set corresponding to the target time slot.
In the present embodiment, a time wheel may be created in advance in the execution main body. The time wheel may be created with a time wheel timer algorithm. The time wheel may include a plurality of time slots. Each time slot corresponds to a time segment. Each time slot may correspond to a pre-created identity set for storing subscription identities.
As an example, the time wheel shown in FIG. 2 has a total of 24 time slots (indicated by the numbers 0-23, respectively). Each time slot corresponds to a time segment. Wherein time slot 0 can be from time slot 0 to 0 00 to 59, time slot 1 corresponds to time slot 1 to 00 to 59. In practice, the pointer of the time wheel may point to the time slot corresponding to the time period of the current time. Thus, the pointer may point to each time slot one by one in chronological order. For example, in time period 0. At time slot 1.
In this embodiment, the executing entity may take the time slot corresponding to the time slot determined in step 102 in the time round as a target time slot, and add the received subscription identifier to the identifier set corresponding to the target time slot. As an example, the time period determined in step 102 is 8.
And 104, inquiring the corresponding identification sets one by one, determining a target client based on the time period of the inquiry moment and the inquired identification sets, and pushing subscription content reminding information to the target client.
In this embodiment, since each time slot in the time wheel corresponds to one time slot and one identifier set, the execution main body may query the corresponding identifier set from time slot to time slot. Take fig. 2 as an example. At a certain time in time period 0. At a certain time in time slot 1. And so on.
In this embodiment, after querying the identifier set each time, the execution main body may determine the target client based on the time period of the query time and the queried identifier set, and push the subscription content reminding information to the target client. Here, a client that satisfies the following conditions at the same time may be taken as a target client: subscribing the subscription content indicated by the subscription identifier in the identifier set, wherein the time period for pushing the information includes the time period of the query moment.
It should be noted that the execution subject may also determine the target client in other ways, which is not limited herein. As an example, the execution subject may further determine the target client by: first, it is determined whether there is an update in the subscription content indicated by each subscription identity in the queried identity set. Then, determining the client satisfying the following conditions as a target client: and the time period of the push information of the client subscribed with the updated subscription content comprises the time period of the query moment.
In some optional implementations of this embodiment, a timer (timer) may be preset in the execution main body. The timer user triggers (e.g., triggers an integer) push command on a time period by time period basis. In response to detecting that the timer triggers the push instruction, the execution main body may use a time slot corresponding to a current time slot in the time wheel as a time slot to be queried, use an identifier set corresponding to the time slot to be queried as a target identifier set, and determine whether the target identifier set is an empty set. In response to determining that the target identifier set is not an empty set, the executing entity may detect whether there is an update in the subscription content indicated by each subscription identifier in the target identifier set. Finally, the executing body may use the subscription content with update as a target subscription content, use a client subscribing to the target subscription content and having a time period of information push including the current time period as a target client, and push a subscription content reminding message to the target client.
In some optional implementations of this embodiment, after determining the target client, the executing entity may obtain updated content of the target subscription content (for example, content stored after a certain specified time) from a database for storing subscription content. Then, the subscription content reminding information containing the update content can be pushed to the target client.
In the method provided by the embodiment of the application, the subscription information sent by the client is received to obtain the reminding setting information and the subscription identifier for indicating the subscription content; then, based on the reminding setting information, determining a time period for pushing information to the client; then, taking a time slot corresponding to the time slot in a pre-established time wheel as a target time slot, and adding the subscription identifier to an identifier set corresponding to the target time slot; and finally, inquiring the corresponding identification sets one by one, determining the target client based on the time period of the inquiry moment and the inquired identification sets, and pushing the subscription content reminding information to the target client, so that the user can freely select the pushing time period of the reminding information, and meanwhile, the database does not need to be traversed completely, so that the time consumption of the information pushing process is reduced, and the data processing efficiency in the information pushing process is improved.
With further reference to fig. 3, a flow 300 of yet another embodiment of an information push method is shown. The process 300 of the information push method includes the following steps:
step 301, receiving subscription information sent by the client.
In this embodiment, an execution subject (for example, an electronic device such as a server) of the information push method may receive subscription information sent by a client. The subscription information may include reminder setting information and a subscription identifier for indicating subscription content. Here, the reminder setting information may include a reminder period and/or a reminder rule.
Step 302, determining a time period for pushing information to the client based on the reminder setting information.
In this embodiment, the execution main body may determine a time period for pushing information to the client based on the reminder setting information. As an example, when the reminder setting information includes a reminder period (for example, 8. As yet another example, when the above-mentioned reminder setting information contains a reminder rule (e.g., a frequency of reminders, a time period for initial reminders, etc.). The execution subject may determine at least one time period indicated by the reminding rule, and use each determined time period as a time period for pushing information to the client.
Step 303 is to determine a target key value pair corresponding to the target time slot by using the time slot corresponding to the time slot in the pre-created time round as the target time slot.
In the present embodiment, a time wheel may be created in advance in the execution main body. Here, the time wheel described above may be created in advance by:
in the first step, a natural day is divided into a plurality of time periods. For example, the division into 24 time segments.
And secondly, creating a time wheel comprising a plurality of time slots by using a time wheel timer algorithm, wherein the created time slots correspond to the divided time slots one by one. For example, 24 time slots are created.
And thirdly, creating key value pairs respectively corresponding to the time slots. The key-value pair includes a key (key) and a value (value), and the value may be an identification set. In practice, each key-value pair corresponding to the time wheel may be stored in a redis (a key-value pair storage database). At this time, the value of the key-value pair may use a set (set) data type. For each time slot in the time round, a number (for example, 0 to 23, respectively) indicating the time slot may be used as a suffix of a name (abbreviated as a key name) of a key in the key value pair corresponding to the time slot. Taking time slot 8 in fig. 2 as an example, the key name of the key-value pair corresponding to this time slot 8 may be "XXX8". Therefore, the key-value pair corresponding to a certain time slot can be found out through the suffix of the key name.
Thus, each time slot in the time wheel corresponds to a time segment and a pre-created key-value pair. After the time slot for pushing information to the client is determined, the execution body may determine a target key value pair corresponding to the target time slot by using the time slot corresponding to the time slot determined in step 302 in the time round as the target time slot.
Step 304, adding the subscription identity to the identity set in the target key value pair.
In this embodiment, the executing agent may add the subscription identity to the set of identities in the target key-value pair, i.e. to a set (set) type value of the target key-value pair.
Step 305, in response to detecting that the timer triggers a push instruction, taking a time slot corresponding to the current time slot in the time wheel as a time slot to be queried, taking an identifier set corresponding to the time slot to be queried as a target identifier set, and determining whether the target identifier set is an empty set.
In this embodiment, a timer (timer) may be preset in the execution body. The timer user triggers (e.g., triggers on an hour-by-hour basis) the push instructions. In response to detecting that the timer triggers the push instruction, the execution main body may use a time slot corresponding to a current time slot in the time wheel as a time slot to be queried, use an identifier set corresponding to the time slot to be queried as a target identifier set, and determine whether the target identifier set is an empty set.
It should be noted that, when determining the target identifier set, the executing entity may first determine a key-value pair corresponding to the time slot to be queried, and then read a value of the key-value pair (i.e., the target identifier set).
Step 306, in response to determining that the target identifier set is not an empty set, detecting whether the subscription content indicated by each subscription identifier in the target identifier set has an update.
In this embodiment, in response to determining that the target identifier set is not an empty set, the execution main body may detect whether there is an update in the subscription content indicated by each subscription identifier in the target identifier set. In practice, for each subscription identity in the target identity set, the executing entity may query the latest update time of the subscription content indicated by the subscription identity, and if the latest update time is after a certain specified time (for example, 0.
Step 307, taking the subscription content with update as target subscription content, taking the client subscribing the target subscription content and having the time period of the push information including the current time period as a target client, and pushing the subscription content reminding information to the target client.
In this embodiment, the executing body may use the subscription content with the update as the target subscription content, use the client subscribing to the target subscription content and having the current time slot in the time slot of the push information as the target client, and push the subscription content reminding information to the target client. The subscription content reminding information can be used for reminding the user to read the subscribed subscription content.
In some optional implementations of this embodiment, after determining the target client, the executing entity may obtain updated content of the target subscription content (for example, content stored after a certain specified time) from a database for storing subscription content. Then, the subscription content reminding information containing the update content can be pushed to the target client.
As can be seen from fig. 3, compared with the embodiment corresponding to fig. 1, the flow 300 of the information push method in this embodiment involves a step of storing, by redis, the identifier sets corresponding to the time slots in the time wheel, and a step of triggering, by setting a timer, the push instruction at regular time. Therefore, the scheme described in this embodiment supports that the user can freely select the push time period of the reminding information, and meanwhile, the subscription content reminding is performed through the time wheel one time period by one time period, only the subscription content in the current time period after the push instruction is triggered is traversed, the database does not need to be traversed in full, the time consumption of the information push process is reduced, and the data processing efficiency in the information push process is improved.
With further reference to fig. 4, as an implementation of the method shown in the above-mentioned figures, the present application provides an embodiment of an information pushing apparatus, which corresponds to the embodiment of the method shown in fig. 1, and which can be applied in various electronic devices.
As shown in fig. 4, the information pushing apparatus 400 according to this embodiment includes: a receiving unit 401 configured to receive subscription information sent by a client, where the subscription information includes reminder setting information and a subscription identifier indicating subscription content; a determining unit 402 configured to determine a time period for pushing information to the client based on the reminder setting information; an adding unit 403 configured to add the subscription identifier to an identifier set corresponding to a target time slot, with the time slot corresponding to the time slot in a pre-created time round as the target time slot; the pushing unit 404 is configured to query the corresponding identifier sets one by one, determine a target client based on the time period of the query time and the queried identifier set, and push the subscription content reminding information to the target client.
In some optional implementations of this embodiment, the time wheel is created in advance by: dividing a natural day into a plurality of time periods; creating a time wheel comprising a plurality of time slots by using a time wheel timer algorithm, wherein the created time slots correspond to the divided time periods one to one; and respectively creating key value pairs corresponding to each time slot, wherein the key value pairs comprise keys and values, and the values are identification sets.
In some optional implementations of this embodiment, the adding unit 403 includes: a determining module (not shown in the figure) configured to determine a target key value pair corresponding to a target time slot by taking the time slot corresponding to the time slot in a pre-created time wheel as the target time slot; and an adding module (not shown in the figure) configured to add the subscription identifier to the identifier set in the target key value pair.
In some optional implementations of this embodiment, the pushing unit 404 includes: a triggering module (not shown in the figures) configured to, in response to detecting that a timer triggers a push instruction, regard a time slot corresponding to a current time slot in the time wheel as a time slot to be queried, regard an identifier set corresponding to the time slot to be queried as a target identifier set, and determine whether the target identifier set is an empty set, where the timer is used to trigger the push instruction one by one; a detecting module (not shown in the figure) configured to, in response to determining that the target identifier set is not an empty set, detect whether there is an update in the subscription content indicated by each subscription identifier in the target identifier set; and a pushing module (not shown in the figure) configured to take the subscription content with the update as a target subscription content, take a client subscribing to the target subscription content and having the time period of the pushed information including the current time period as a target client, and push the subscription content reminding information to the target client.
In some optional implementations of the present embodiment, the pushing unit 404 is further configured to: and acquiring the updated content of the target subscription content, and pushing subscription content reminding information containing the updated content to the target client.
In some optional implementation manners of this embodiment, the reminder setting information includes a reminder time period and/or a reminder rule.
In the apparatus provided in the foregoing embodiment of the present application, the receiving unit 401 receives subscription information sent by a client, so as to obtain the reminder setting information and a subscription identifier for indicating subscription content; then, the determining unit 402 determines a time period for pushing information to the client based on the reminder setting information; then adding unit 403 adds the subscription identifier to the identifier set corresponding to the target time slot, with the time slot corresponding to the time slot in the pre-created time round as the target time slot; finally, the pushing unit 404 queries the corresponding identifier sets in time periods one by one, determines the target client based on the time period of the query time and the queried identifier set, and pushes the subscription content reminding information to the target client, so that the user is supported to freely select the pushing time period of the reminding information, meanwhile, the database does not need to be traversed in a full amount, the time consumption of the information pushing process is reduced, and the data processing efficiency of the information pushing process is improved.
Referring now to FIG. 5, shown is a block diagram of a computer system 500 suitable for use in implementing the electronic device of an embodiment of the present application. The electronic device shown in fig. 5 is only an example, and should not bring any limitation to the functions and the scope of use of the embodiments of the present application.
As shown in fig. 5, the computer system 500 includes a Central Processing Unit (CPU) 501 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 502 or a program loaded from a storage section 508 into a Random Access Memory (RAM) 503. In the RAM 503, various programs and data necessary for the operation of the system 500 are also stored. The CPU 501, ROM 502, and RAM 503 are connected to each other via a bus 504. An input/output (I/O) interface 505 is also connected to bus 504.
The following components are connected to the I/O interface 505: an input portion 506 including a keyboard, a mouse, and the like; an output portion 507 including a display such as a Liquid Crystal Display (LCD) and a speaker; a storage portion 508 including a hard disk and the like; and a communication section 509 including a network interface card such as a LAN card, a modem, or the like. The communication section 509 performs communication processing via a network such as the internet. The driver 510 is also connected to the I/O interface 505 as necessary. A removable medium 511 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 510 as necessary, so that a computer program read out therefrom is mounted into the storage section 508 as necessary.
In particular, according to an embodiment of the present disclosure, the processes described above with reference to the flowcharts may be implemented as computer software programs. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method illustrated in the flow chart. In such an embodiment, the computer program can be downloaded and installed from a network through the communication section 509, and installed from the removable medium 511. The computer program performs the above-described functions defined in the method of the present application when executed by the Central Processing Unit (CPU) 501. It should be noted that the computer readable medium described herein can be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples of the computer readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing. In the present application, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. In this application, however, a computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device. Program code embodied on a computer readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, fiber optic cable, RF, etc., or any suitable combination of the foregoing.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, can be implemented by special purpose hardware-based systems that perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present application may be implemented by software or hardware. The units described may also be provided in a processor, where the names of the units do not in some cases constitute a limitation of the units themselves.
As another aspect, the present application also provides a computer-readable medium, which may be contained in the apparatus described in the above embodiments; or may be present separately and not assembled into the device. The computer readable medium carries one or more programs which, when executed by the apparatus, cause the apparatus to: receiving subscription information sent by a client, wherein the subscription information comprises reminding setting information and a subscription identifier for indicating subscription content; determining a time period for pushing information to the client based on the reminding setting information; taking a time slot corresponding to the time period in a pre-established time wheel as a target time slot, and adding the subscription identifier to an identifier set corresponding to the target time slot; and inquiring the corresponding identification sets one by one, determining a target client based on the time period of the inquiry moment and the inquired identification sets, and pushing subscription content reminding information to the target client.
The above description is only a preferred embodiment of the application and is illustrative of the principles of the technology employed. It will be appreciated by those skilled in the art that the scope of the invention herein disclosed is not limited to the particular combination of features described above, but also encompasses other arrangements formed by any combination of the above features or their equivalents without departing from the spirit of the invention. For example, the above features may be replaced with (but not limited to) features having similar functions disclosed in the present application.

Claims (12)

1. An information pushing method, comprising:
receiving subscription information sent by a client, wherein the subscription information comprises reminding setting information and a subscription identifier for indicating subscription content;
determining a time period for pushing information to the client based on the reminding setting information;
taking a time slot corresponding to the time period in a pre-created time round as a target time slot, and adding the subscription identifier to an identifier set corresponding to the target time slot, including: taking a time slot corresponding to the time period in a pre-established time wheel as a target time slot, and determining a target key value pair corresponding to the target time slot; adding the subscription identifier to an identifier set in the target key value pair, wherein the time wheel comprises a plurality of time slots, and each time slot corresponds to a pre-established identifier set and is used for storing the subscription identifier;
and inquiring the corresponding identification sets in time periods one by one, and determining a target client side based on the time period of the inquiry time and the inquired identification set, wherein the time period of the subscription content and the push information indicated by the subscription identification in the identification set contains the time period of the inquiry time, and pushing the subscription content reminding information to the target client side.
2. The information pushing method according to claim 1, wherein the time wheel is created in advance by:
dividing a natural day into a plurality of time periods;
creating a time wheel comprising a plurality of time slots by using a time wheel timer algorithm, wherein the created time slots correspond to the divided time slots one to one;
and creating key value pairs respectively corresponding to the time slots, wherein the key value pairs comprise keys and values, and the values are identification sets.
3. The information push method according to claim 1, wherein the querying the corresponding identifier sets one by one in a time period, determining a target client based on the time period of the query time and the queried identifier set, and pushing the subscription content reminding information to the target client includes:
in response to the detection of a timer triggering push instruction, taking a time slot corresponding to a current time slot in the time wheel as a time slot to be queried, taking an identifier set corresponding to the time slot to be queried as a target identifier set, and determining whether the target identifier set is an empty set, wherein the timer is used for triggering the push instruction one by one;
in response to determining that the target identifier set is not an empty set, detecting whether subscription content indicated by each subscription identifier in the target identifier set is updated;
and taking the updated subscription content as target subscription content, taking the client which subscribes the target subscription content and pushes information in the time period including the current time period as a target client, and pushing subscription content reminding information to the target client.
4. The information pushing method according to claim 3, wherein the pushing of the subscription content reminder information to the target client includes:
acquiring the updated content of the target subscription content;
and pushing subscription content reminding information containing the updating content to the target client.
5. The information pushing method according to one of claims 1 to 4, wherein the reminding setting information includes a reminding time period and/or a reminding rule.
6. An information pushing apparatus, comprising:
the device comprises a receiving unit, a sending unit and a processing unit, wherein the receiving unit is configured to receive subscription information sent by a client, and the subscription information comprises reminding setting information and a subscription identifier used for indicating subscription content;
a determining unit configured to determine a time period for pushing information to the client based on the reminder setting information;
an adding unit configured to add the subscription identifier to an identifier set corresponding to a target time slot, with a time slot corresponding to the time slot in a pre-created time round as the target time slot, the adding unit including: a determining module configured to determine a target key value pair corresponding to a target time slot by taking the time slot corresponding to the time period in a pre-created time wheel as the target time slot; an adding module configured to add the subscription identifier to an identifier set in the target key value pair, wherein the time wheel includes a plurality of time slots, and each time slot corresponds to a pre-created identifier set for storing the subscription identifier;
the pushing unit is configured to query the corresponding identification sets one by one, and based on the time period of the query time and the queried identification sets, a target client is determined according to the time period of the query time in which the subscription content and the pushing information indicated by the subscription identification in the identification sets are subscribed, and the time period of the query time is included, and subscription content reminding information is pushed to the target client.
7. The information push device according to claim 6, wherein the time wheel is pre-created by:
dividing a natural day into a plurality of time periods;
creating a time wheel comprising a plurality of time slots by using a time wheel timer algorithm, wherein the created time slots correspond to the divided time periods one to one;
and creating key value pairs respectively corresponding to the time slots, wherein the key value pairs comprise keys and values, and the values are identification sets.
8. The information pushing device according to claim 6, wherein the pushing unit comprises:
a triggering module configured to, in response to detecting that a timer triggers a push instruction, regard a time slot in the time wheel corresponding to a current time period as a time slot to be queried, regard an identifier set corresponding to the time slot to be queried as a target identifier set, and determine whether the target identifier set is an empty set, where the timer is configured to trigger a push instruction by time periods;
a detection module configured to detect whether there is an update in the subscription content indicated by each subscription identifier in the target identifier set in response to determining that the target identifier set is not an empty set;
and the pushing module is configured to take the updated subscription content as target subscription content, take the client which subscribes to the target subscription content and has the information pushing time period including the current time period as a target client, and push subscription content reminding information to the target client.
9. The information pushing apparatus according to claim 8, wherein the pushing unit is further configured to:
and acquiring the update content of the target subscription content, and pushing subscription content reminding information containing the update content to the target client.
10. The information pushing apparatus according to one of claims 6 to 9, wherein the reminder setting information includes a reminder time period and/or a reminder rule.
11. An electronic device, comprising:
one or more processors;
a storage device having one or more programs stored thereon,
when executed by the one or more processors, cause the one or more processors to implement the method of any one of claims 1-5.
12. A computer-readable medium, on which a computer program is stored which, when being executed by a processor, carries out the method according to any one of claims 1-5.
CN201910585670.7A 2019-07-01 2019-07-01 Information pushing method and device, electronic equipment and computer readable medium Active CN110427551B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910585670.7A CN110427551B (en) 2019-07-01 2019-07-01 Information pushing method and device, electronic equipment and computer readable medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910585670.7A CN110427551B (en) 2019-07-01 2019-07-01 Information pushing method and device, electronic equipment and computer readable medium

Publications (2)

Publication Number Publication Date
CN110427551A CN110427551A (en) 2019-11-08
CN110427551B true CN110427551B (en) 2022-11-11

Family

ID=68409921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910585670.7A Active CN110427551B (en) 2019-07-01 2019-07-01 Information pushing method and device, electronic equipment and computer readable medium

Country Status (1)

Country Link
CN (1) CN110427551B (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104519B (en) * 2020-08-06 2022-07-19 北京健康之家科技有限公司 Delayed message delivery method and device, storage medium and computer equipment
CN113037450A (en) * 2021-03-17 2021-06-25 杭州遥望网络科技有限公司 Delayed message processing method, device, equipment and readable storage medium
CN113190745B (en) * 2021-04-27 2022-11-29 五八有限公司 Information sending method, information sending device, electronic equipment and computer readable medium
CN113691614B (en) * 2021-08-23 2023-07-18 城云科技(中国)有限公司 Information processing method and device
CN114265877A (en) * 2021-12-30 2022-04-01 中国民航信息网络股份有限公司 Information pushing method and device, electronic equipment and storage medium
CN114819612B (en) * 2022-04-22 2024-09-06 福建天晴数码有限公司 Method and system for carrying out early warning notification through short message reply control time round algorithm
CN114979242A (en) * 2022-05-18 2022-08-30 中国电信股份有限公司 Method and device for dynamically subscribing data, electronic equipment and storage medium
CN115049085A (en) * 2022-06-07 2022-09-13 中国银行股份有限公司 Method and device for reminding reservation service of bank outlets

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110175724A1 (en) * 2010-01-18 2011-07-21 Angela Petra Kent Event and Time Tracking and Emergency Notification System
US9325648B2 (en) * 2012-08-09 2016-04-26 International Business Machines Corporation Message subscription based on message aggregate characteristics
CN102902733B (en) * 2012-09-11 2016-12-21 北京奇艺世纪科技有限公司 A kind of information-pushing method based on content subscription, Apparatus and system
US10534778B2 (en) * 2015-06-05 2020-01-14 Apple Inc. Search results based on subscription information
CN106612301B (en) * 2015-10-22 2019-11-15 招商局国际信息技术有限公司 The method for pushing and device of more new data
CN108810047B (en) * 2017-04-27 2021-07-06 北京京东尚科信息技术有限公司 Method and device for determining information push accuracy rate and server
CN108366096A (en) * 2018-01-17 2018-08-03 深圳市金立通信设备有限公司 A kind of information subscribing method, terminal and computer readable storage medium
CN108540831B (en) * 2018-04-19 2019-10-22 百度在线网络技术(北京)有限公司 Method and apparatus for pushed information

Also Published As

Publication number Publication date
CN110427551A (en) 2019-11-08

Similar Documents

Publication Publication Date Title
CN110427551B (en) Information pushing method and device, electronic equipment and computer readable medium
CN111835760B (en) Alarm information processing method and device, computer storage medium and electronic equipment
CN111198859B (en) Data processing method, device, electronic equipment and computer readable storage medium
CN110457085B (en) File processing method and device, terminal equipment and computer readable medium
CN109241099B (en) Data query method and terminal equipment
CN106790350B (en) Information pushing device, server and method
CN111435406A (en) Method and device for correcting database statement spelling errors
CN110737655B (en) Method and device for reporting data
CN107291835B (en) Search term recommendation method and device
CN110245357B (en) Main entity identification method and device
CN109656592B (en) Card management method, device, terminal and computer readable storage medium
US10931771B2 (en) Method and apparatus for pushing information
CN108595685B (en) Data processing method and device
CN107291923B (en) Information processing method and device
CN113590017B (en) Method, electronic device and computer program product for processing data
CN113220705A (en) Slow query identification method and device
CN113761565A (en) Data desensitization method and apparatus
CN110704507A (en) Method and device for storing data and method and device for querying data
CN106250416B (en) Method, device and server for processing paging data
CN112910855B (en) Sample message processing method and device
CN111460020B (en) Method, device, electronic equipment and medium for resolving message
CN113392125A (en) Data processing method and device
CN113760876A (en) Data filtering method and device
CN113779048A (en) Data processing method and device
CN113326253A (en) Data cleaning method, device, equipment and storage medium based on full-text database

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant