WO2020119173A1 - 推送信息的方法和装置 - Google Patents
推送信息的方法和装置 Download PDFInfo
- Publication number
- WO2020119173A1 WO2020119173A1 PCT/CN2019/102283 CN2019102283W WO2020119173A1 WO 2020119173 A1 WO2020119173 A1 WO 2020119173A1 CN 2019102283 W CN2019102283 W CN 2019102283W WO 2020119173 A1 WO2020119173 A1 WO 2020119173A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- operation expression
- candidate
- candidate set
- expression
- operation result
- 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.)
- Ceased
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
Definitions
- the embodiments of the present application relate to the field of computer technology, such as a method and an apparatus for pushing information.
- the embodiments of the present application provide a method and an apparatus for pushing information.
- an embodiment of the present application provides a method for pushing information.
- the method includes: obtaining a candidate set operation expression set, where the candidate set operation expression in the candidate set operation expression set is used to indicate at least Set operation of a preset user identification set; for the candidate set operation expression in the candidate set operation expression set, in response to receiving the push instruction corresponding to the candidate set operation expression, the candidate set operation expression is determined Whether the operation result set of the formula is an empty set, wherein the push indication is set to instruct to push target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression; in response to determining the candidate set The operation result set of the operation expression is not an empty set, and the target information is pushed to the terminal device used by the user indicated by the operation result set of the candidate set operation expression.
- an embodiment of the present application provides an apparatus for pushing information
- the apparatus includes: an acquiring unit configured to acquire a candidate set operation expression set, wherein the candidate set operation expression in the candidate set operation expression set The expression is used to represent a set operation on at least one preset user identification set; the pushing unit is configured to respond to the candidate set operation expression in the candidate set operation expression set in response to receiving the candidate set operation expression Corresponding to the push instruction, determining whether the operation result set of the candidate set operation expression is an empty set, wherein the push instruction is set to indicate the terminal used by the user indicated to the operation result set of the candidate set operation expression The device pushes target information; in response to determining that the operation result set of the candidate set operation expression is not an empty set, push the target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression.
- an embodiment of the present application provides a server including: at least one processor; a storage device configured to store at least one program; when the at least one program is executed by the at least one processor, the server
- the at least one processor implements the method as described in any one implementation manner of the first aspect.
- an embodiment of the present application provides a computer-readable medium on which a computer program is stored, and when the computer program is executed by a processor, the method described in any one of the implementation manners of the first aspect is implemented.
- FIG. 1 is an exemplary system architecture diagram to which an embodiment of the present application can be applied;
- FIG. 2 is a flowchart of an embodiment of a method for pushing information according to the present application
- FIG. 3 is a schematic diagram of an application scenario of a method for pushing information according to an embodiment of the present application
- FIG. 4 is a flowchart of another embodiment of a method for pushing information according to the present application.
- FIG. 5 is a schematic structural diagram of an embodiment of an apparatus for pushing information according to the present application.
- FIG. 6 is a schematic structural diagram of a computer system suitable for implementing the server of the embodiment of the present application.
- FIG. 1 shows an exemplary architecture 100 of an embodiment of a method for pushing information or an apparatus for pushing information to which the present application can be applied.
- the system architecture 100 may include terminal devices 101, 102, 104, 105, a server 103, and a database 106.
- the terminal devices 101, 102, 104, 105 and the server 103 can be communicatively connected by various connection methods.
- the database 106 and the server 103 can be communicatively connected.
- the terminal devices 104 and 105 can receive the information pushed by the server 103.
- Various client applications may be installed on the terminal devices 104 and 105.
- the terminal devices 101, 102 may send a push instruction to the server 103 to push information to the terminal devices 104, 105.
- Various client applications may also be installed on the terminal devices 101 and 102.
- the terminal devices 101, 102, 104, 105 may be hardware or software.
- the terminal devices 101, 102, 104, 105 are hardware, they can be various electronic devices that support information push, including but not limited to smart phones, tablet computers, e-book readers, laptop portable computers, and desktop computers and many more.
- the terminal devices 101, 102, 104, and 105 are software, they can be installed in the electronic devices listed above. It can be implemented as multiple software or software modules (for example, multiple software or software modules used to provide distributed services), or as a single software or software module. No limitation here.
- the server 103 may be a server that provides various services.
- the server 103 may be a back-end server that supports applications installed on the terminal devices 101 and 102.
- the terminal devices 101 and 102 may send a push instruction to push information to the terminal devices 104 and 105 to the server 103 through the application installed thereon.
- the server 103 may also be a back-end server that provides support for the applications installed on the terminal devices 104 and 105.
- the terminal devices 104 and 105 can use the applications installed on them to receive the information pushed by the server 103.
- the database 106 can provide data support for the server 103.
- the database 106 may store at least one preset user identification set.
- the server 103 may obtain at least one preset user identification set corresponding to the candidate set operation expression corresponding to the push instruction from the database 106 to execute the push instruction.
- the database 106 may also be directly installed in the server 103.
- the server 103 may directly obtain the preset user identification set from the local database to complete the push instruction.
- the method for pushing information provided by the embodiments of the present application is generally executed by the server 103, and accordingly, the device for pushing information is generally provided in the server 103.
- the server 103 may be hardware or software. In the case where the server 103 is hardware, it can be implemented as a distributed server cluster composed of multiple servers or as a single server. When the server 103 is software, it may be implemented as multiple software or software modules (for example, multiple software or software modules for providing distributed services), or may be implemented as a single software or software module. No limitation here.
- terminal devices, servers, and databases in FIG. 1 are only schematic. According to the implementation needs, there can be any number of terminal devices, networks and servers.
- FIG. 2 shows a flow 200 of an embodiment of a method for pushing information according to the present application.
- the method for pushing information includes steps 201 to 202.
- step 201 a candidate set operation expression set is obtained.
- the candidate set operation expression in the candidate set operation expression set is used to represent a set operation on at least one preset user identification set.
- the user identifiers in the preset user identifier set may be various identifiers that can be used to identify users. It should be understood that, since the user communicates with the above-mentioned executive body through the terminal device used, the user can be identified by using the identification of the terminal device used by the user. Different types of terminal devices can use different identifications.
- the user identification includes but is not limited to: Media Access Control (Media) Control (MAC) address, International Mobile Equipment Identity (International Mobile Equipment Identity (IMEI), advertising identifier (Identifier For Advertising, IDFA), The device's unique identifier (Unique Device Identifier, UDID), universal unique identifier (Universally Unique Identifier, UUID), etc.
- Media Media Access Control
- MAC Media Access Control
- IMEI International Mobile Equipment Identity
- IDFA advertising identifier
- IDFA Identifier For Advertising
- IDFA The device's unique identifier
- UDID Unique Device Identifier
- UUID Universal Unique Identifier
- the user identification may also use user-related information.
- the user identification includes but is not limited to: the user's mailbox, mobile phone number, the account registered by the user in the target application on the terminal device, and so on.
- the users may be divided into different categories according to the attributes of the users in advance, so that the user identifiers of the respective users corresponding to each category may constitute the user identifier set corresponding to each category.
- the attributes of the user can be various attributes.
- the attributes of the user include but are not limited to: age, gender, occupation, hobbies, city, etc.
- the preset user identification set may be a user identification set preset by a technician according to actual application requirements.
- each preset user identification set may have a corresponding set identification to identify the set.
- the form of the set operation expression can be various and can be selected according to the actual application scenario.
- the set operation expression may be composed of a set identifier and a set operator respectively corresponding to at least one preset user identification set.
- the set operation expression may also be a set operation on at least one preset user identification set described in language.
- the set operation expression may be: A ⁇ B.
- “A” and “B” respectively represent a preset user identification set.
- “ ⁇ ” means intersection.
- the set operation expression A ⁇ B can represent the intersection of calculating the preset user identification set “A” and the preset user identification set “B”.
- the set operation expression can also be described in language: the intersection of the preset user identification set "A” and the preset user identification set "B”.
- the executive body of the method for pushing information may obtain candidates from other terminal devices (the terminal devices 101 and 102 shown in FIG. 1) by using a wired connection or a wireless connection Set operation expression set.
- the candidate set operation expression may be any set operation expression.
- the technician may designate at least one set operation expression as a candidate set operation expression.
- Candidate set operation expressions can also be determined according to actual application scenarios. For example, the set operation expression received by the execution subject within a certain period of time may be determined as a candidate set operation expression.
- the above-mentioned execution subject may send or display information such as the category of the user indicated by each preset user identification set in at least one preset user identification set to other terminal devices.
- Other terminal devices can construct a set operation expression that meets the actual application requirements according to the actual application requirements, and send them to the above-mentioned execution subject.
- the above-mentioned executor can store it locally after receiving the set operation expression, or the above-mentioned executor can first obtain the relevant information of the actual application requirements of other terminal devices, and then the above-mentioned executors can according to the actual application requirements of other terminal devices Construct a set operation expression that meets actual application requirements. At this time, the above execution subject can directly obtain the set operation expression set from the local.
- step 202 for the candidate set operation expression in the candidate set operation expression set, in response to the push instruction corresponding to the received candidate set operation expression, the following steps 2021 and 2022 are performed.
- other terminal devices may send a push instruction for the candidate set operation expression to the above-mentioned execution subject.
- the push instruction may be set to instruct to push the target information to the terminal device (terminal devices 104 and 105 shown in FIG. 1) used by the user indicated by the operation result set of the candidate set operation expression.
- the operation result set of the candidate set operation expression can refer to performing the corresponding set operation in the expression on the at least one preset user identification set The operation result obtained afterwards.
- the push instruction can specify target information.
- the execution subject may display each candidate set operation expression in the candidate set operation expression set, and then the user (such as the user corresponding to the terminal device 101, 102) selects the candidate set operation expression.
- the above-mentioned execution subject may also display the pushable information to the above-mentioned user, and the above-mentioned user may select the information to be pushed. After that, the user may issue a push instruction to the user who is indicated by the operation result set of the selected candidate set operation expression to the execution subject.
- step 2021 it is determined whether the operation result set of the candidate set operation expression is an empty set.
- the execution subject may obtain at least one preset user identification set corresponding to the candidate set operation expression from a local or communication-connected database (database 106 shown in FIG. 1).
- the above-mentioned execution subject may also obtain at least one preset user identification set corresponding to the candidate set operation expression from other storage devices.
- the corresponding set operation can be performed on the acquired at least one preset user identification set to complete the candidate set operation expression
- the set operation represented by the formula obtains the operation result set of the candidate set budget expression.
- whether the operation result set is an empty set can be determined by determining whether the number of user IDs included in the operation result set is zero. Based on the judgment result of judging that the number of user identifiers contained in the operation result set is zero, it is determined that the operation result set is an empty set. Based on the judgment result of judging that the number of user identifiers included in the operation result set is not zero, it is determined that the operation result set is not an empty set.
- step 2022 in response to determining that the operation result set of the candidate set operation expression is not an empty set, the target information is pushed to the terminal device used by the user indicated by the operation result set of the candidate set operation expression.
- the candidate set operation expression is a set operation on at least one user identification set
- the operation result set of the candidate set operation expression is not an empty set, it means that the operation result set contains at least one user Logo.
- the target information may be pushed to the terminal device used by the user indicated by the user identifier included in the calculation result set.
- prompt information for notifying that target information cannot be pushed may be output.
- the operation result of the candidate set operation expression obtained before may also be deleted set.
- the operation result set for storing the candidate set operation expression requires a certain amount of storage resources, and the operation result set for the candidate set operation expression may not be used for a certain period of time after that, based on this, after completing the target information After pushing, you can delete the obtained operation result set to save storage resources.
- FIG. 3 is a schematic diagram 300 of an application scenario of the method for pushing information according to this embodiment.
- the above-mentioned execution subject may first obtain the candidate set operation expression set 301.
- the candidate set operation expressions included in the candidate set operation expression set include: A ⁇ B, A ⁇ B ⁇ C, D ⁇ E, and so on.
- A, B, C, D, E, etc. are preset user identification sets. These user identification sets may be stored in a database 303 that is communicatively connected to the above-mentioned executive body.
- the above-mentioned execution subject can show the candidate set operation expression in the candidate set operation expression set 301 to the user. If the user selects the candidate set operation expression among them: A ⁇ B, and sends the user indicated to A ⁇ B to the above-mentioned execution subject Push instruction 302 of push information M.
- the above-mentioned execution subject may obtain the user identification set A and the user identification set B from the database 303.
- user identification set A includes two user identifications of user 1 and user 2.
- User ID set B includes two user IDs, user 1 and user 3. It can be determined that the intersection of the user identification set A and the user identification set B is user 1 (as indicated by reference number 305 in the figure).
- the information M (reference number 307 in the figure) may be pushed to the terminal device 306 used by the user indicated by the user 1.
- the method provided by the above embodiment of the present application determines the push instruction by storing only the candidate set operation expression set and the preset user identification set, and receiving the push instruction corresponding to the candidate set operation expression in the candidate set operation expression set
- the corresponding candidate set operates on the operation result set of the expression, and if the operation result set is not an empty set, a push instruction is executed to complete the information push.
- This method does not need to calculate and store the operation result set of each candidate set operation expression in advance, thereby greatly saving storage resources.
- the calculation result set of the candidate set operation expression is calculated only when the push instruction is received, when the preset user identification set is updated, the calculation result set of the calculated candidate set operation expression is naturally the latest The result of the data consistency between the operation result set of the candidate set operation expression and the corresponding preset user identification set is guaranteed.
- FIG. 4 shows a flow 400 of yet another embodiment of a method for pushing information.
- the process 400 of the method for pushing information includes steps 401 to 402.
- step 401 a candidate set operation expression set is obtained.
- step 401 For the execution process of this step 401, reference may be made to the relevant description of step 201 in the embodiment corresponding to FIG. 2, and details are not described herein again.
- step 402 for the candidate set operation expression in the candidate set operation expression set, in response to the push instruction corresponding to the received candidate set operation expression, the following steps 4021, 4022, and 4023 are performed.
- step 4021 the main disjunctive normal form for propositions indicating that the operation result set of the candidate set operation expression is an empty set is determined.
- step 4022 it is determined whether the operation result set of the candidate set operation expression is an empty set according to the main disjunctive normal form.
- the main disjunctive paradigm is expressed as the disjunction of multiple minimum terms. Therefore, as long as the operation result set of a minimal item is not an empty set, the operation result set of the candidate set operation expression is not an empty set.
- multiple minimum items may be sorted first. For example, multiple minimum items can be sorted by technicians or randomly. After that, according to the scheduled order, first determine whether the operation result set of the first minimum item is an empty set. Based on the judgment result that the operation result set of the first minimum item is not the empty set, it can be determined that the operation result set of the candidate set operation expression is not the empty set. Based on the judgment result that the operation result set of the first minimum item is an empty set, it is determined whether the operation result set of the second minimum item is an empty set. Based on the judgment result that the operation result set of the second minimum item is not the empty set, it can be determined that the operation result set of the candidate set operation expression is not the empty set. Based on the judgment result that the operation result set of the second minimum item is an empty set, determine whether the operation result set of the third minimum item is an empty set, and so on.
- the operation speed can be greatly improved. In many cases, it is only necessary to judge the operation result set of some minimum items, and then it can be determined that the operation result set is not an empty set. Therefore, in this way, it can be quickly determined whether the push information is executable this time, so that when the push information is executable, the relevant prompt information can be returned to the user quickly, thereby reducing the response delay of the user terminal.
- step 4023 in response to determining that the operation result set of the candidate set operation expression is not an empty set, acquire at least one preset user identification set corresponding to the candidate set operation expression, and use the acquired at least one preset user
- the identification set completes the set operation represented by the candidate set operation expression to obtain an operation result set of the candidate set operation expression, and pushes target information to the terminal device used by the user indicated by the obtained operation result set.
- step 4023 For the execution process of this step 4023, reference may be made to the relevant description of step 202 in the embodiment corresponding to FIG. 2, and details are not described herein again.
- the process 400 of the method for pushing information in this embodiment highlights that the method of seeking the main disjunctive normal form can be used to speed up the operation of determining the candidate set operation expression The speed of whether the result set is an empty set.
- the present application provides an embodiment of a device for pushing information.
- the device embodiment corresponds to the method embodiment shown in FIG. 2, and the device can be applied Used in various electronic devices.
- the apparatus 500 for pushing information includes an obtaining unit 501 and a pushing unit 502.
- the obtaining unit 501 is configured to obtain a candidate set operation expression set, wherein the candidate set operation expression in the candidate set operation expression set is used to represent a set operation on at least one preset user identification set;
- the pushing unit 502 is configured For the candidate set operation expression in the candidate set operation expression set, in response to receiving the push instruction corresponding to the candidate set operation expression, it is determined whether the operation result set of the candidate set operation expression is an empty set, wherein, push The instruction is set to instruct to push target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression; in response to determining that the operation result set of the candidate set operation expression is not an empty set, the operation is performed to the candidate set The terminal device used by the user indicated by the operation result set of the expression pushes the target information.
- the processing of the obtaining unit 501 and the pushing unit 502 and the technical effects brought about by them can refer to the relevant descriptions of step 201 and step 202 in the corresponding embodiment of FIG. This will not be repeated here.
- the pushing unit 502 is configured to: in response to determining that the operation result set of the candidate set operation expression is an empty set, output prompt information for prompting that the target information cannot be pushed.
- the pushing unit 502 is configured to: obtain at least one preset user identification set corresponding to the candidate set operation expression; and use the acquired at least one preset user identification set to complete the candidate set Set operation represented by the operation expression to obtain the operation result set of the candidate set operation expression, and determine whether the obtained operation result set is an empty set.
- the pushing unit 502 is configured to: determine the main disjunctive normal form of the proposition indicating that the operation result set of the candidate set arithmetic expression is an empty set; determine the candidate set operation according to the main disjunctive normal form Whether the operation result set of the expression is an empty set.
- the pushing unit 502 is configured to: obtain at least one preset user identification set corresponding to the candidate set operation expression; and use the acquired at least one preset user identification set to complete the candidate set
- the set operation represented by the operation expression is used to obtain an operation result set of the candidate set operation expression, and the target information is pushed to the terminal device used by the user indicated by the obtained operation result set.
- the apparatus for pushing information further includes a deletion unit (not shown in the figure) configured to delete the obtained operation result set of the candidate set operation expression.
- the apparatus obtains a candidate set operation expression set through an obtaining unit, wherein the candidate set operation expression set in the candidate set operation expression set is used to represent a set operation on at least one preset user identification set;
- the push unit determines whether the operation result set of the candidate set operation expression is an empty set in response to receiving the push instruction corresponding to the candidate set operation expression in the candidate set operation expression set, wherein,
- the push indication is set to instruct to push target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression; in response to determining that the operation result set of the candidate set operation expression is not an empty set, to the candidate set
- the terminal device used by the user indicated by the operation result set of the operation expression pushes the target information, so that when the push instruction is received, the corresponding candidate set operation expression is operated to determine the push object of the target information, thereby avoiding The situation that all the candidate set operation expressions determine the corresponding operation result set in advance and consume too much storage resources.
- FIG. 6 shows a schematic structural diagram of a computer system 600 suitable for implementing the server of the embodiment of the present application.
- the server shown in FIG. 6 is only an example, and should not bring any limitation to the functions and usage scope of the embodiments of the present application.
- the computer system 600 includes a central processing unit (Central Processing Unit, CPU) 601, which can be loaded into a random unit according to a program stored in a read-only memory (Read-Only Memory, ROM) 602 or from the storage section 608
- the program in the memory (Random Access Memory) 603 is accessed to perform various appropriate actions and processes.
- RAM 603 various programs and data necessary for the operation of the system 600 are also stored.
- the CPU 601, ROM 602, and RAM 603 are connected to each other through a bus 604.
- An input/output (Input/Output, I/O) interface 605 is also connected to the bus 604.
- the following components are connected to the I/O interface 605: input section 606 including keyboard, mouse, etc.; including output section 607 such as cathode ray tube (Cathode Ray Tube, CRT), liquid crystal display (Liquid Crystal Display, LCD), etc. and speakers A storage section 608 including a hard disk, etc.; and a communication section 609 including a network interface card such as a local area network (Local Area Network, LAN) card, modem, etc.
- the communication section 609 performs communication processing via a network such as the Internet.
- the driver 610 is also connected to the 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 installed on the drive 610 as necessary, so that the computer program read out therefrom is installed into the storage section 608 as needed.
- the process described above with reference to the flowchart may be implemented as a computer software program.
- embodiments of the present disclosure include a computer program product that includes a computer program carried on a computer-readable medium, the computer program containing program code for performing the method shown in the flowchart.
- the computer program may be downloaded and installed from the network through the communication section 609, and/or installed from the removable medium 611.
- CPU central processing unit
- the computer-readable medium of the present application may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the two.
- the computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or device, or any combination of the above.
- Computer-readable storage media may include, but are not limited to: electrical connections with at least one wire, portable computer disk, hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable only Read memory (Erasable Programmable Read-Only Memory, EPROM or flash memory), optical fiber, portable compact disk read-only memory (Compact Disc Read-Only Memory, CD-ROM), optical storage device, magnetic storage device, or any suitable combination.
- the computer-readable storage medium may be any tangible medium that contains or stores a program, and the program may be used by or in combination with an instruction execution system, apparatus, or device.
- the computer-readable signal medium may include a data signal that is propagated in a baseband or as part of a carrier wave, in which a computer-readable program code is carried.
- This propagated data signal can take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the foregoing.
- the computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium, and the computer-readable medium may send, propagate, or transmit a program for use by or in combination with an instruction execution system, apparatus, or device. .
- the program code contained on the computer-readable medium may be transmitted using any appropriate medium, including but not limited to: wireless, wire, optical cable, radio frequency (Radio Frequency, RF), etc., or any suitable combination of the foregoing.
- each block in the flowchart or block diagram may represent a module, a program segment, or a part of code, and the module, program segment, or part of the code contains at least one Execute instructions.
- the functions noted in the block may occur out of the order noted in the figures. For example, two blocks represented in succession may actually be executed in parallel, and they may sometimes be executed in reverse order, depending on the functions involved.
- each block in the block diagrams and/or flowcharts, and combinations of blocks in the block diagrams and/or flowcharts can be implemented with dedicated hardware-based systems that perform specified functions or operations Or, it can be realized by a combination of dedicated hardware and computer instructions.
- the units described in the embodiments of the present application may be implemented in software or hardware.
- the described unit may also be provided in the processor.
- it may be described as: a processor including an acquisition unit and a deletion unit.
- the names of these units do not constitute a limitation on the unit itself under certain circumstances.
- the acquisition unit can also be described as a unit that acquires a candidate set operation expression set, where the candidate set operation expression set The candidate set operation expression is set to indicate a set operation on at least one preset user identification set".
- the present application also provides a computer-readable medium, which may be contained in the server described in the foregoing embodiments; or may exist alone without being assembled into the server.
- the computer-readable medium carries at least one program, and when the at least one program is executed by the server, the server is caused to obtain a candidate set operation expression set, wherein the candidate set operation expression set in the candidate set operation expression set Yu means set operations on at least one preset user identification set; for the candidate set operation expression in the candidate set operation expression set, in response to receiving the push instruction corresponding to the candidate set operation expression, the candidate set operation expression is judged Whether the operation result set of the formula is an empty set, where the push indication is set to instruct to push target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression; in response to the determination of the candidate set operation expression The operation result set is not an empty set, and the target information is pushed to the terminal device used by the user indicated by the operation result set of the candidate set operation expression.
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)
- Telephone Function (AREA)
Abstract
本申请实施例公开了推送信息的方法和装置。该方法的一示例实施方式包括:获取候选集合运算表达式集,其中,候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;对于候选集合运算表达式集中的候选集合运算表达式,响应于接收到与该候选集合运算表达式对应的推送指示,判断该候选集合运算表达式的运算结果集是否为空集,其中,推送指示设置为指示向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
Description
本申请要求在2018年12月10日提交中国专利局、申请号为201811503820.7的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
本申请实施例涉及计算机技术领域,例如推送信息的方法和装置。
随着互联网技术的发展,通过互联网向用户推送各种信息是常见的一种信息展示方式。在推送内容的选择上,可以根据用户属性的不同(如年龄、性别、兴趣爱好、职业等)将用户分为不同的群体,进而针对不同的群体选择不同的推送内容。
发明内容
本申请实施例提出了推送信息的方法和装置。
第一方面,本申请实施例提供了一种推送信息的方法,该方法包括:获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
第二方面,本申请实施例提供了一种推送信息的装置,该装置包括:获取单元,被配置成获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;推送单元,被配置成对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述 候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
第三方面,本申请实施例提供了一种服务器,该服务器包括:至少一个处理器;存储装置,设置为存储至少一个程序;所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;
图2是根据本申请的推送信息的方法的一个实施例的流程图;
图3是根据本申请实施例的推送信息的方法的一个应用场景的示意图;
图4是根据本申请的推送信息的方法的又一个实施例的流程图;
图5是根据本申请的推送信息的装置的一个实施例的结构示意图;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。
下面结合附图和实施例对本申请作详细说明。可以理解的是,此处所描述的示例实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
图1示出了可以应用本申请的推送信息的方法或推送信息的装置的实施例的示例性架构100。
如图1所示,系统架构100可以包括终端设备101、102、104、105、服务器103和数据库106。终端设备101、102、104、105和服务器103之间可以通过各种连接方式通信连接。数据库106和服务器103之间可以通信连接。
终端设备104、105可以接收服务器103推送的信息。终端设备104、105上可以安装有各种客户端应用。终端设备101、102可以向服务器103发送向终端设备104、105推送信息的推送指示。终端设备101、102上也可以安装有各种客户端应用。
终端设备101、102、104、105可以是硬件,也可以是软件。在终端设备101、102、104、105为硬件的情况下,可以是支持信息推送的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。在终端设备101、102、104、105为软件的情况下,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做限定。
服务器103可以是提供各种服务的服务器。例如,服务器103可以是为终端设备101、102上所安装的应用提供支持的后端服务器。此时,终端设备101、102可以通过其上所安装的应用向服务器103发送向终端设备104、105推送信息的推送指示。服务器103同时还可以是为终端设备104、105上所安装的应用提供支持的后端服务器。此时,终端设备104、105可以利用其上安装的应用接收服务器103推送的信息。
数据库106可以为服务器103提供数据支持。例如,数据库106中可以存储至少一个预设用户标识集。服务器103在接收到终端设备101、102发送的推送指示时,可以从数据库106中获取推送指示对应的候选集合运算表达式对应的至少一个预设用户标识集,以执行推送指示。
需要说明的是,数据库106也可以直接安装于服务器103中,此时,服务器103可以直接从本地的数据库获取预设用户标识集以完成推送指示。
需要说明的是,本申请实施例所提供的推送信息的方法一般由服务器103执行,相应地,推送信息的装置一般设置于服务器103中。
需要说明的是,服务器103可以是硬件,也可以是软件。在服务器103为硬件的情况下,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。在服务器103为软件的情况下,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做限定。
应该理解,图1中的终端设备、服务器和数据库的数目仅仅是示意性的。 根据实现需要,可以具有任意数目的终端设备、网络和服务器。
参考图2,其示出了根据本申请的推送信息的方法的一个实施例的流程200。该推送信息的方法包括步骤201至步骤202。
在步骤201中,获取候选集合运算表达式集。
在本实施例中,候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算。预设用户标识集中的用户标识可以是各种能够用于标识用户的标识。应当可以理解,由于用户通过使用的终端设备与上述执行主体通信,因此,可以采用用户所使用的终端设备的标识来标识用户。不同类型的终端设备可以采用不同的标识。
在一实施例中,用户标识包括但不限于:媒体访问控制(Media Access Control,MAC)地址、国际移动设备识别码(International Mobile Equipment Identity,IMEI)、广告标识符(Identifier For Advertising,IDFA)、设备的唯一标识符(Unique Device Identifier,UDID)、通用唯一识别码(Universally Unique Identifier,UUID)等等。
在一实施例中,用户标识还可以采用用户的相关信息。用户标识包括但不限于:用户邮箱、手机号码、用户在终端设备上的目标应用中注册的账号等等。
在本实施例中,可以预先根据用户的属性将用户划分为不同的类别,从而可以由每个类别对应的各个用户的用户标识组成各个类别对应的用户标识集。用户的属性可以为各种属性。作为示例,用户的属性包括但不限于:年龄、性别、职业、兴趣爱好、城市等等。
预设用户标识集可以是由技术人员根据实际的应用需求预先设置的用户标识集。
应当可以理解,每个预设的用户标识集都可以有对应的一个集合标识来标识该集合。集合运算表达式的形式可以多种多样,可以根据实际应用场景来选择。
例如,集合运算表达式可以由至少一个预设用户标识集分别对应的集合标识与集合运算符组成。当然,集合运算表达式也可以为语言描述的对至少一个预设用户标识集的集合运算。
作为示例,集合运算表达式可以为:A∩B。其中,“A”和“B”分别表示一个预设用户标识集。“∩”表示交集。那么集合运算表达式A∩B就可以表示计算预设用户标识集“A”和预设用户标识集“B”的交集。集合运算表达式也 可以为语言描述的:预设用户标识集“A”和预设用户标识集“B”的交集。
在本实施例中,推送信息的方法的执行主体(如图1所示的服务器103)可以利用有线连接或无线连接的方式从其它终端设备(如图1所示终端设备101、102)获取候选集合运算表达式集。
候选集合运算表达式可以是任意的集合运算表达式。实践中,可以由技术人员指定至少一个集合运算表达式作为候选集合运算表达式。候选集合运算表达式也可以根据实际的应用场景而确定。例如,可以将上述执行主体在一定时间段内接收到的集合运算表达式确定为候选集合运算表达式。
在一实施例中,上述执行主体可以向其它终端设备发送或展示至少一个预设用户标识集中的每个预设用户标识集所指示的用户的类别等信息。其它终端设备则可以根据实际的应用需求构造符合实际应用需求的集合运算表达式,并发送至上述执行主体。
当然,上述执行主体在接收到集合运算表达式之后可以在本地进行存储,或者上述执行主体可以先获取其它终端设备的实际应用需求的相关信息,然后由上述执行主体根据其它终端设备的实际应用需求构造符合实际应用需求的集合运算表达式。此时,上述执行主体可以从本地直接获取集合运算表达式集。
在步骤202中,对于候选集合运算表达式集中的候选集合运算表达式,响应于与接收到该候选集合运算表达式对应的推送指示,执行如下的步骤2021和步骤2022。
在本实施例中,其它终端设备(如图1所示的终端设备101、102)可以向上述执行主体发送针对候选集合运算表达式的推送指示。其中,推送指示可以设置为指示向候选集合运算表达式的运算结果集指示的用户所使用的终端设备(如图1所示的终端设备104、105)推送目标信息。
其中,由于候选集合运算表达式可以表示至少一个预设用户标识集的集合运算,因此,候选集合运算表达式的运算结果集可以指对至少一个预设用户标识集执行表达式中相应的集合运算后所得到的运算结果。其中,推送指示可以指定目标信息。
在一实施例中,上述执行主体可以展示候选集合运算表达式集中的每个候选集合运算表达式,然后由用户(如终端设备101、102对应的用户)选择其中的候选集合运算表达式。上述执行主体还可以向上述用户展示可推送的信息, 上述用户可以选择要推送的信息。之后,用户可以向上述执行主体发出向所选择的候选集合运算表达式的运算结果集指示的用户推送所选择的信息的推送指示。
在步骤2021中,判断该候选集合运算表达式的运算结果集是否为空集。
在本实施例中,上述执行主体可以从本地或通信连接的数据库(如图1所示的数据库106)获取该候选集合运算表达式对应的至少一个预设用户标识集。当然,上述执行主体也可以从其它存储设备获取该候选集合运算表达式对应的至少一个预设用户标识集。
之后,可以按照该候选集合运算表达式所表示的至少一个预设用户标识集之间的运算关系,对所获取的至少一个预设用户标识集执行对应的集合运算,以完成该候选集合运算表达式所表示的集合运算,得到该候选集合预算表达式的运算结果集。
在得到运算结果集后,可以通过判断运算结果集包含的用户标识的数目是否为零来确定运算结果集是否为空集。基于判断运算结果集包含的用户标识的数目为零的判断结果,确定运算结果集为空集。基于判断运算结果集包含的用户标识的数目不为零的判断结果,确定运算结果集不为空集。
在步骤2022中,响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
在本实施例中,由于该候选集合运算表达式是对至少一个用户标识集的集合运算,因此该候选集合运算表达式的运算结果集若不为空集,则表示运算结果集包含至少一个用户标识。此时,可以向运算结果集包含的用户标识指示的用户所使用的终端设备推送目标信息。
在本实施例的一些实现方式中,响应于确定该候选集合运算表达式的运算结果集为空集,可以输出用于提示无法推送目标信息的提示信息。
在本实施例的一些实现方式中,在向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息之后,还可以删除之前得到的该候选集合运算表达式的运算结果集。
由于存储该候选集合运算表达式的运算结果集需要占用一定的存储资源,而且该候选集合运算表达式的运算结果集在之后的一定时间段内可能不再使用 了,基于此,在完成目标信息推送之后,可以删除得到的运算结果集,以节省存储资源。
参见图3,图3是根据本实施例的推送信息的方法的应用场景的一个示意图300。在图3的应用场景中,上述执行主体可以先获取候选集合运算表达式集301。如图中所示,候选集合运算表达式集中包含的候选集合运算表达式包括:A∩B、A∩B∪C、D∩E等等。其中,A、B、C、D、E等均为预设的用户标识集。这些用户标识集可以存储于与上述执行主体通信连接的数据库303中。
上述执行主体可以向用户展示候选集合运算表达式集301中的候选集合运算表达式,若用户选择其中的候选集合运算表达式:A∩B,并向上述执行主体发送向A∩B指示的用户推送信息M的推送指示302。上述执行主体可以从数据库303中获取用户标识集A和用户标识集B。
如图中标号304所示,用户标识集A包括用户1和用户2两个用户标识。用户标识集B包括用户1和用户3两个用户标识。可以确定用户标识集A和用户标识集B的交集为用户1(如图中标号305所示)。
然后,可以向用户1指示的用户所使用的终端设备306推送信息M(图中标号为307)。
本申请的上述实施例提供的方法通过只存储候选集合运算表达式集和预设用户标识集,在接收到对候选集合运算表达式集中的候选集合运算表达式对应的推送指示时,确定推送指示对应的候选集合运算表达式的运算结果集,并且在运算结果集不为空集的情况下,执行推送指示以完成信息推送。这种方式不需要提前计算并存储每个候选集合运算表达式的运算结果集,从而大大节省了存储资源。另外,由于是在接收到推送指示时,才对候选集合运算表达式的运算结果集进行计算,因此,在预设用户标识集更新时,计算的候选集合运算表达式的运算结果集自然是最新的结果,保证了候选集合运算表达式的运算结果集与对应的预设用户标识集的数据一致性。
参考图4,其示出了推送信息的方法的又一个实施例的流程400。该推送信息的方法的流程400,包括步骤401至步骤402。
在步骤401中,获取候选集合运算表达式集。
本步骤401的执行过程可参考图2对应实施例中的步骤201的相关说明,在此不再赘述。
在步骤402中,对于候选集合运算表达式集中的候选集合运算表达式,响应于与接收到该候选集合运算表达式对应的推送指示,执行如下的步骤4021、4022和4023。
在步骤4021中,确定用于表示该候选集合运算表达式的运算结果集为空集的命题的主析取范式。
在本步骤中,可以利用相关技术中的各种求主析取范式的方法(如推演法、真值表法、构造树法等)确定用于表示该候选集合运算表达式的运算结果集为空集的命题的主析取范式。
在步骤4022中,根据主析取范式判断该候选集合运算表达式的运算结果集是否为空集。
在本步骤中,由于主析取范式表示为多个极小项的析取。因此,只要有一项极小项的运算结果集不为空集,则该候选集合运算表达式的运算结果集不为空集。
在一实施例中,可以先对多个极小项进行排序。例如,可以由技术人员对多个极小项进行排序,也可以随机排序。之后,按照排定的顺序,先判断第一个极小项的运算结果集是否为空集。基于第一个极小项的运算结果集不为空集的判断结果,可以确定该候选集合运算表达式的运算结果集不为空集。基于第一个极小项的运算结果集为空集的判断结果,判断第二个极小项的运算结果集是否为空集。基于第二个极小项的运算结果集不为空集的判断结果,可以确定该候选集合运算表达式的运算结果集不为空集。基于第二个极小项的运算结果集为空集的判断结果,判断第三个极小项的运算结果集是否为空集,并依次类推。
通过分析主析取范式的方法来判断运算结果集是否为空集,可以较大地提升运算速度。很多情况下,只需要判断部分极小项的运算结果集之后,就可以确定运算结果集不为空集。因此,通过这种方式可以较快的判断此次推送信息是否是可执行的,从而能够在此次推送信息可执行时,较快的向用户返回相关提示信息,从而降低用户端的响应延迟。
在步骤4023中,响应于确定该候选集合运算表达式的运算结果集不为空集,获取该候选集合运算表达式对应的至少一个预设用户标识集,并利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以 得到该候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。
本步骤4023的执行过程可参考图2对应实施例中的步骤202的相关说明,在此不再赘述。
从图4中可以看出,与图2对应的实施例相比,本实施例中的推送信息的方法的流程400突出了可以利用求主析取范式的方法加快判断候选集合运算表达式的运算结果集是否为空集的速度。
参考图5,作为对上述各图所示方法的实现,本申请提供了一种推送信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置可以应用于各种电子设备中。
如图5所示,本实施例提供的推送信息的装置500包括获取单元501和推送单元502。其中,获取单元501被配置成获取候选集合运算表达式集,其中,候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;推送单元502被配置成对于候选集合运算表达式集中的候选集合运算表达式,响应于接收到与该候选集合运算表达式对应的推送指示,判断该候选集合运算表达式的运算结果集是否为空集,其中,推送指示设置为指示向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
在本实施例中,推送信息的装置500中:获取单元501和推送单元502的处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201和步骤202的相关说明,在此不再赘述。
在本实施例的一些实现方式中,推送单元502被配置成:响应于确定该候选集合运算表达式的运算结果集为空集,输出用于提示无法推送目标信息的提示信息。
在本实施例的一些实现方式中,推送单元502被配置成:获取该候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以得到该候选集合运算表达式的运算结果集,并判断得到的运算结果集是否为空集。
在本实施例的一些实现方式中,推送单元502被配置成:确定表示该候选 集合运算表达式的运算结果集为空集的命题的主析取范式;根据主析取范式判断该候选集合运算表达式的运算结果集是否为空集。
在本实施例的一些实现方式中,推送单元502被配置成:获取该候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以得到该候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。
在本实施例的一些实现方式中,推送信息的装置还包括:删除单元(图中未示出),被配置成删除得到的该候选集合运算表达式的运算结果集。
本申请的上述实施例提供的装置,通过获取单元获取候选集合运算表达式集,其中,候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;推送单元对于候选集合运算表达式集中的候选集合运算表达式,响应于接收到与该候选集合运算表达式对应的推送指示,判断该候选集合运算表达式的运算结果集是否为空集,其中,推送指示设置为指示向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息,从而实现了在接收到推送指示时,才对对应的候选集合运算表达式进行运算以确定目标信息的推送对象,从而避免了对所有候选集合运算表达式都提前确定对应的运算结果集而占用太多的存储资源的情况。
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(Central Processing Unit,CPU)601,其可以根据存储在只读存储器(Read-Only Memory,ROM)602中的程序或者从存储部分608加载到随机访问存储器(Random Access Memory,RAM)603中的程序而执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(Input/Output,I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸 如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如局域网(Local Area Network,LAN)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入存储部分608。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有至少一个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、 光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请多种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器,包括获取单元和删除单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取候选集合运算表达式集的单元,其中,候选集合运算表达式集中的候选集合运算表达式设置为表示对至少一个预设用户标识集的集合运算”。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有至少一个程序,在上述至少一个程序被该服务器执行的情况下,使得该服务器获取候选集合运算表达式集,其中,候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;对于候选集合运算表达式集中的候选集合运算表达式,响应于接收到与该候选集合运算表达式对应的推送指示,判断该候选集合运算表达式的运算结果集是否为空集,其中,推送指示设置为指示向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
Claims (14)
- 一种推送信息的方法,包括:获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
- 根据权利要求1所述的方法,还包括:响应于确定所述候选集合运算表达式的运算结果集为空集,输出用于提示无法推送目标信息的提示信息。
- 根据权利要求1所述的方法,其中,所述判断所述候选集合运算表达式的运算结果集是否为空集,包括:获取所述候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成所述候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并判断得到的运算结果集是否为空集。
- 根据权利要求1所述的方法,其中,所述判断所述候选集合运算表达式的运算结果集是否为空集,包括:确定用于表示所述候选集合运算表达式的运算结果集为空集的命题的主析取范式;根据所述主析取范式判断所述候选集合运算表达式的运算结果集是否为空集。
- 根据权利要求4所述的方法,其中,所述向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息,包括:获取所述候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成所述候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。
- 根据权利要求3或5所述的方法,在向所述候选集合运算表达式的运算 结果集指示的用户所使用的终端设备推送目标信息之后,还包括:删除得到的所述候选集合运算表达式的运算结果集。
- 一种推送信息的装置,包括:获取单元,被配置成获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;推送单元,被配置成对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。
- 根据权利要求7所述的装置,其中,所述推送单元被配置成:响应于确定所述候选集合运算表达式的运算结果集为空集,输出用于提示无法推送目标信息的提示信息。
- 根据权利要求7所述的装置,其中,所述推送单元被配置成:获取所述候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并判断得到的运算结果集是否为空集。
- 根据权利要求7所述的装置,其中,所述推送单元被配置成:确定用于表示所述候选集合运算表达式的运算结果集为空集的命题的主析取范式;根据所述主析取范式判断所述候选集合运算表达式的运算结果集是否为空集。
- 根据权利要求10所述的装置,其中,所述推送单元被配置成:获取所述候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成所述候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。
- 根据权利要求9或11所述的装置,还包括:删除单元,被配置成删除得到的所述候选集合运算表达式的运算结果集。
- 一种服务器,包括:至少一个处理器;存储装置,其上存储有至少一个程序;所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如权利要求1-6中任一项所述的方法。
- 一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-6中任一项所述的方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201811503820.7A CN109614549B (zh) | 2018-12-10 | 2018-12-10 | 用于推送信息的方法和装置 |
| CN201811503820.7 | 2018-12-10 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2020119173A1 true WO2020119173A1 (zh) | 2020-06-18 |
Family
ID=66007518
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2019/102283 Ceased WO2020119173A1 (zh) | 2018-12-10 | 2019-08-23 | 推送信息的方法和装置 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN109614549B (zh) |
| WO (1) | WO2020119173A1 (zh) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109614549B (zh) * | 2018-12-10 | 2019-11-12 | 北京字节跳动网络技术有限公司 | 用于推送信息的方法和装置 |
| CN110619029B (zh) * | 2019-06-25 | 2023-03-14 | 北京无限光场科技有限公司 | 用于生成信息的方法和装置 |
| CN113591095B (zh) * | 2021-08-04 | 2023-08-29 | 百度在线网络技术(北京)有限公司 | 一种标识信息处理方法、装置及电子设备 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020107008A1 (en) * | 2000-06-10 | 2002-08-08 | Hendrey Geoffrey R. | Method and system for selectively connecting mobile users based on physical proximity |
| CN101662429A (zh) * | 2008-08-25 | 2010-03-03 | 华为技术有限公司 | 用户选择方法和系统 |
| CN107545039A (zh) * | 2017-07-31 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 关键词的指数获取方法和装置、计算机设备和存储介质 |
| CN109614549A (zh) * | 2018-12-10 | 2019-04-12 | 北京字节跳动网络技术有限公司 | 用于推送信息的方法和装置 |
Family Cites Families (11)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4591794B2 (ja) * | 2008-04-22 | 2010-12-01 | ソニー株式会社 | 情報処理装置および方法、並びにプログラム |
| CN101329683A (zh) * | 2008-07-25 | 2008-12-24 | 华为技术有限公司 | 推荐系统及方法 |
| US20110282861A1 (en) * | 2010-05-11 | 2011-11-17 | Microsoft Corporation | Extracting higher-order knowledge from structured data |
| US20140046861A1 (en) * | 2012-08-10 | 2014-02-13 | James E. Dodson | Method and System for Representing Collective and Individual Responses to a Shared Experience Event |
| CN103886047B (zh) * | 2014-03-12 | 2017-07-07 | 浙江大学 | 面向流式数据的分布式在线推荐方法 |
| CN105574051B (zh) * | 2014-11-06 | 2019-11-22 | 阿里巴巴集团控股有限公司 | 更新用户所满足的规则的方法及处理系统 |
| CN106528785A (zh) * | 2016-11-03 | 2017-03-22 | 杜剑峰 | 基于问题合成的用户租房偏好捕获方法 |
| CN108122168B (zh) * | 2016-11-28 | 2020-11-13 | 中国科学技术大学先进技术研究院 | 社交活动网络中种子节点筛选方法和装置 |
| CN107330459B (zh) * | 2017-06-28 | 2021-09-14 | 联想(北京)有限公司 | 一种数据处理方法、装置和电子设备 |
| CN108833458B (zh) * | 2018-04-02 | 2021-08-06 | 腾讯科技(深圳)有限公司 | 一种应用推荐方法、装置、介质及设备 |
| CN108900574A (zh) * | 2018-06-04 | 2018-11-27 | 上海市疾病预防控制中心 | 基于用户个性化需求的一站式搜索推送方法 |
-
2018
- 2018-12-10 CN CN201811503820.7A patent/CN109614549B/zh active Active
-
2019
- 2019-08-23 WO PCT/CN2019/102283 patent/WO2020119173A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20020107008A1 (en) * | 2000-06-10 | 2002-08-08 | Hendrey Geoffrey R. | Method and system for selectively connecting mobile users based on physical proximity |
| CN101662429A (zh) * | 2008-08-25 | 2010-03-03 | 华为技术有限公司 | 用户选择方法和系统 |
| CN107545039A (zh) * | 2017-07-31 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 关键词的指数获取方法和装置、计算机设备和存储介质 |
| CN109614549A (zh) * | 2018-12-10 | 2019-04-12 | 北京字节跳动网络技术有限公司 | 用于推送信息的方法和装置 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN109614549A (zh) | 2019-04-12 |
| CN109614549B (zh) | 2019-11-12 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN111061956B (zh) | 用于生成信息的方法和装置 | |
| CN107731229B (zh) | 用于识别语音的方法和装置 | |
| CN109582873B (zh) | 用于推送信息的方法和装置 | |
| CN110019263B (zh) | 信息存储方法和装置 | |
| CN107302597B (zh) | 消息文案推送方法和装置 | |
| WO2018019139A1 (zh) | 信息推送方法和装置 | |
| CN109359194B (zh) | 用于预测信息类别的方法和装置 | |
| CN116450920A (zh) | 数据查询方法、装置及电子设备 | |
| WO2020119231A1 (zh) | 基于位置信息的电子凭证推送方法、装置及电子设备 | |
| CN109862100B (zh) | 用于推送信息的方法和装置 | |
| CN111324786A (zh) | 咨询问题信息的处理方法和装置 | |
| CN108011949B (zh) | 用于获取数据的方法和装置 | |
| WO2020119173A1 (zh) | 推送信息的方法和装置 | |
| CN110119418B (zh) | 数据导出方法和装置 | |
| CN111062572B (zh) | 任务分配的方法和装置 | |
| CN107347093B (zh) | 用于分布式服务器系统的配置方法和装置 | |
| CN114253520A (zh) | 接口代码生成方法和装置 | |
| KR20210080561A (ko) | 컨설팅 정보 처리 방법 및 장치 | |
| CN113010587A (zh) | 数据源配置方法、装置、终端、服务器及介质 | |
| CN109857838B (zh) | 用于生成信息的方法和装置 | |
| CN109271224B (zh) | 用于确定位置的方法和设备 | |
| CN111460273B (zh) | 信息推送方法和装置 | |
| CN113297087B (zh) | 测试方法和装置 | |
| CN111784376B (zh) | 用于处理信息的方法和装置 | |
| CN116226499A (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: 19894765 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 32PN | Ep: public notification in the ep bulletin as address of the adressee cannot be established |
Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205 DATED 03/08/2021) |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 19894765 Country of ref document: EP Kind code of ref document: A1 |