WO2020119173A1 - Information pushing method and apparatus - Google Patents

Information pushing method and apparatus Download PDF

Info

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
Application number
PCT/CN2019/102283
Other languages
French (fr)
Chinese (zh)
Inventor
李村
Original Assignee
北京字节跳动网络技术有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京字节跳动网络技术有限公司 filed Critical 北京字节跳动网络技术有限公司
Publication of WO2020119173A1 publication Critical patent/WO2020119173A1/en

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

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.

Abstract

Disclosed in embodiments of the present application are an information pushing method and apparatus. An exemplary implementation of the method comprises: obtaining a candidate set operation expression set, wherein a candidate set operation expression is used for representing a set operation for at least one preset user identifier set; for a candidate set operation expression in the candidate set operation expression set, in response to receiving a pushing instruction corresponding to the candidate set operation expression, determining whether an operation result set of the candidate set operation expression is an empty set, wherein the pushing instruction is configured to instruct to push target information to a terminal device used by a user indicated by the operation result set of the candidate set operation expression; and in response to determining that the operation result set of the candidate set operation expression is not an empty set, pushing the target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression.

Description

推送信息的方法和装置Method and device for pushing information
本申请要求在2018年12月10日提交中国专利局、申请号为201811503820.7的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。This application requires the priority of a Chinese patent application filed on December 10, 2018, with the Chinese Patent Office, application number 201811503820.7. The entire contents of this application are incorporated by reference in this application.
技术领域Technical field
本申请实施例涉及计算机技术领域,例如推送信息的方法和装置。The embodiments of the present application relate to the field of computer technology, such as a method and an apparatus for pushing information.
背景技术Background technique
随着互联网技术的发展,通过互联网向用户推送各种信息是常见的一种信息展示方式。在推送内容的选择上,可以根据用户属性的不同(如年龄、性别、兴趣爱好、职业等)将用户分为不同的群体,进而针对不同的群体选择不同的推送内容。With the development of Internet technology, pushing various information to users through the Internet is a common way of displaying information. In the selection of push content, users can be divided into different groups according to different user attributes (such as age, gender, hobbies, occupation, etc.), and then different push content can be selected for different groups.
发明内容Summary of the invention
本申请实施例提出了推送信息的方法和装置。The embodiments of the present application provide a method and an apparatus for pushing information.
第一方面,本申请实施例提供了一种推送信息的方法,该方法包括:获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。In a first aspect, 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.
第二方面,本申请实施例提供了一种推送信息的装置,该装置包括:获取单元,被配置成获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;推送单元,被配置成对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述 候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。In a second aspect, 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.
第三方面,本申请实施例提供了一种服务器,该服务器包括:至少一个处理器;存储装置,设置为存储至少一个程序;所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如第一方面中任一实现方式描述的方法。In a third aspect, 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.
第四方面,本申请实施例提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。According to a fourth 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.
附图说明BRIEF DESCRIPTION
图1是本申请的一个实施例可以应用于其中的示例性系统架构图;FIG. 1 is an exemplary system architecture diagram to which an embodiment of the present application can be applied;
图2是根据本申请的推送信息的方法的一个实施例的流程图;2 is a flowchart of an embodiment of a method for pushing information according to the present application;
图3是根据本申请实施例的推送信息的方法的一个应用场景的示意图;3 is a schematic diagram of an application scenario of a method for pushing information according to an embodiment of the present application;
图4是根据本申请的推送信息的方法的又一个实施例的流程图;4 is a flowchart of another embodiment of a method for pushing information according to the present application;
图5是根据本申请的推送信息的装置的一个实施例的结构示意图;5 is a schematic structural diagram of an embodiment of an apparatus for pushing information according to the present application;
图6是适于用来实现本申请实施例的服务器的计算机系统的结构示意图。6 is a schematic structural diagram of a computer system suitable for implementing the server of the embodiment of the present application.
具体实施方式detailed description
下面结合附图和实施例对本申请作详细说明。可以理解的是,此处所描述的示例实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。The application will be described in detail below with reference to the drawings and embodiments. It can be understood that the example embodiments described herein are only used to explain the related invention, but not to limit the invention. It should also be noted that, for ease of description, only the parts related to the invention are shown in the drawings.
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other if there is no conflict. The application will be described in detail below with reference to the drawings and in conjunction with the embodiments.
图1示出了可以应用本申请的推送信息的方法或推送信息的装置的实施例的示例性架构100。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.
如图1所示,系统架构100可以包括终端设备101、102、104、105、服务器103和数据库106。终端设备101、102、104、105和服务器103之间可以通过各种连接方式通信连接。数据库106和服务器103之间可以通信连接。As shown in FIG. 1, 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.
终端设备104、105可以接收服务器103推送的信息。终端设备104、105上可以安装有各种客户端应用。终端设备101、102可以向服务器103发送向终端设备104、105推送信息的推送指示。终端设备101、102上也可以安装有各种客户端应用。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.
终端设备101、102、104、105可以是硬件,也可以是软件。在终端设备101、102、104、105为硬件的情况下,可以是支持信息推送的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、膝上型便携计算机和台式计算机等等。在终端设备101、102、104、105为软件的情况下,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做限定。The terminal devices 101, 102, 104, 105 may be hardware or software. When 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. When 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.
服务器103可以是提供各种服务的服务器。例如,服务器103可以是为终端设备101、102上所安装的应用提供支持的后端服务器。此时,终端设备101、102可以通过其上所安装的应用向服务器103发送向终端设备104、105推送信息的推送指示。服务器103同时还可以是为终端设备104、105上所安装的应用提供支持的后端服务器。此时,终端设备104、105可以利用其上安装的应用接收服务器103推送的信息。The server 103 may be a server that provides various services. For example, the server 103 may be a back-end server that supports applications installed on the terminal devices 101 and 102. At this time, 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. At this time, the terminal devices 104 and 105 can use the applications installed on them to receive the information pushed by the server 103.
数据库106可以为服务器103提供数据支持。例如,数据库106中可以存储至少一个预设用户标识集。服务器103在接收到终端设备101、102发送的推送指示时,可以从数据库106中获取推送指示对应的候选集合运算表达式对应的至少一个预设用户标识集,以执行推送指示。The database 106 can provide data support for the server 103. For example, the database 106 may store at least one preset user identification set. When receiving the push instruction sent by the terminal devices 101 and 102, 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.
需要说明的是,数据库106也可以直接安装于服务器103中,此时,服务器103可以直接从本地的数据库获取预设用户标识集以完成推送指示。It should be noted that the database 106 may also be directly installed in the server 103. At this time, the server 103 may directly obtain the preset user identification set from the local database to complete the push instruction.
需要说明的是,本申请实施例所提供的推送信息的方法一般由服务器103执行,相应地,推送信息的装置一般设置于服务器103中。It should be noted that 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.
需要说明的是,服务器103可以是硬件,也可以是软件。在服务器103为硬件的情况下,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。在服务器103为软件的情况下,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做限定。It should be noted that 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.
应该理解,图1中的终端设备、服务器和数据库的数目仅仅是示意性的。 根据实现需要,可以具有任意数目的终端设备、网络和服务器。It should be understood that the numbers of 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.
参考图2,其示出了根据本申请的推送信息的方法的一个实施例的流程200。该推送信息的方法包括步骤201至步骤202。Referring to FIG. 2, it 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.
在步骤201中,获取候选集合运算表达式集。In step 201, a candidate set operation expression set is obtained.
在本实施例中,候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算。预设用户标识集中的用户标识可以是各种能够用于标识用户的标识。应当可以理解,由于用户通过使用的终端设备与上述执行主体通信,因此,可以采用用户所使用的终端设备的标识来标识用户。不同类型的终端设备可以采用不同的标识。In this embodiment, 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.
在一实施例中,用户标识包括但不限于:媒体访问控制(Media Access Control,MAC)地址、国际移动设备识别码(International Mobile Equipment Identity,IMEI)、广告标识符(Identifier For Advertising,IDFA)、设备的唯一标识符(Unique Device Identifier,UDID)、通用唯一识别码(Universally Unique Identifier,UUID)等等。In an embodiment, 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.
在一实施例中,用户标识还可以采用用户的相关信息。用户标识包括但不限于:用户邮箱、手机号码、用户在终端设备上的目标应用中注册的账号等等。In an embodiment, 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.
在本实施例中,可以预先根据用户的属性将用户划分为不同的类别,从而可以由每个类别对应的各个用户的用户标识组成各个类别对应的用户标识集。用户的属性可以为各种属性。作为示例,用户的属性包括但不限于:年龄、性别、职业、兴趣爱好、城市等等。In this embodiment, 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. As an example, 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.
应当可以理解,每个预设的用户标识集都可以有对应的一个集合标识来标识该集合。集合运算表达式的形式可以多种多样,可以根据实际应用场景来选择。It should be understood that 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.
例如,集合运算表达式可以由至少一个预设用户标识集分别对应的集合标识与集合运算符组成。当然,集合运算表达式也可以为语言描述的对至少一个预设用户标识集的集合运算。For example, 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. Of course, the set operation expression may also be a set operation on at least one preset user identification set described in language.
作为示例,集合运算表达式可以为:A∩B。其中,“A”和“B”分别表示一个预设用户标识集。“∩”表示交集。那么集合运算表达式A∩B就可以表示计算预设用户标识集“A”和预设用户标识集“B”的交集。集合运算表达式也 可以为语言描述的:预设用户标识集“A”和预设用户标识集“B”的交集。As an example, the set operation expression may be: A∩B. Among them, "A" and "B" respectively represent a preset user identification set. "∩" means intersection. Then 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".
在本实施例中,推送信息的方法的执行主体(如图1所示的服务器103)可以利用有线连接或无线连接的方式从其它终端设备(如图1所示终端设备101、102)获取候选集合运算表达式集。In this embodiment, the executive body of the method for pushing information (the server 103 shown in FIG. 1) 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. In practice, 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.
在一实施例中,上述执行主体可以向其它终端设备发送或展示至少一个预设用户标识集中的每个预设用户标识集所指示的用户的类别等信息。其它终端设备则可以根据实际的应用需求构造符合实际应用需求的集合运算表达式,并发送至上述执行主体。In an embodiment, 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.
当然,上述执行主体在接收到集合运算表达式之后可以在本地进行存储,或者上述执行主体可以先获取其它终端设备的实际应用需求的相关信息,然后由上述执行主体根据其它终端设备的实际应用需求构造符合实际应用需求的集合运算表达式。此时,上述执行主体可以从本地直接获取集合运算表达式集。Of course, 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.
在步骤202中,对于候选集合运算表达式集中的候选集合运算表达式,响应于与接收到该候选集合运算表达式对应的推送指示,执行如下的步骤2021和步骤2022。In 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.
在本实施例中,其它终端设备(如图1所示的终端设备101、102)可以向上述执行主体发送针对候选集合运算表达式的推送指示。其中,推送指示可以设置为指示向候选集合运算表达式的运算结果集指示的用户所使用的终端设备(如图1所示的终端设备104、105)推送目标信息。In this embodiment, other terminal devices (such as the terminal devices 101 and 102 shown in FIG. 1) 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.
其中,由于候选集合运算表达式可以表示至少一个预设用户标识集的集合运算,因此,候选集合运算表达式的运算结果集可以指对至少一个预设用户标识集执行表达式中相应的集合运算后所得到的运算结果。其中,推送指示可以指定目标信息。Wherein, since the candidate set operation expression can represent the set operation of at least one preset user identification set, 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. Among them, the push instruction can specify target information.
在一实施例中,上述执行主体可以展示候选集合运算表达式集中的每个候选集合运算表达式,然后由用户(如终端设备101、102对应的用户)选择其中的候选集合运算表达式。上述执行主体还可以向上述用户展示可推送的信息, 上述用户可以选择要推送的信息。之后,用户可以向上述执行主体发出向所选择的候选集合运算表达式的运算结果集指示的用户推送所选择的信息的推送指示。In an embodiment, 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.
在步骤2021中,判断该候选集合运算表达式的运算结果集是否为空集。In step 2021, it is determined whether the operation result set of the candidate set operation expression is an empty set.
在本实施例中,上述执行主体可以从本地或通信连接的数据库(如图1所示的数据库106)获取该候选集合运算表达式对应的至少一个预设用户标识集。当然,上述执行主体也可以从其它存储设备获取该候选集合运算表达式对应的至少一个预设用户标识集。In this embodiment, 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). Of course, 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.
之后,可以按照该候选集合运算表达式所表示的至少一个预设用户标识集之间的运算关系,对所获取的至少一个预设用户标识集执行对应的集合运算,以完成该候选集合运算表达式所表示的集合运算,得到该候选集合预算表达式的运算结果集。Then, according to the operation relationship between the at least one preset user identification set represented by the candidate set operation expression, 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.
在得到运算结果集后,可以通过判断运算结果集包含的用户标识的数目是否为零来确定运算结果集是否为空集。基于判断运算结果集包含的用户标识的数目为零的判断结果,确定运算结果集为空集。基于判断运算结果集包含的用户标识的数目不为零的判断结果,确定运算结果集不为空集。After the operation result set is obtained, 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.
在步骤2022中,响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。In 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.
在本实施例中,由于该候选集合运算表达式是对至少一个用户标识集的集合运算,因此该候选集合运算表达式的运算结果集若不为空集,则表示运算结果集包含至少一个用户标识。此时,可以向运算结果集包含的用户标识指示的用户所使用的终端设备推送目标信息。In this embodiment, since the candidate set operation expression is a set operation on at least one user identification set, if 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. At this time, 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.
在本实施例的一些实现方式中,响应于确定该候选集合运算表达式的运算结果集为空集,可以输出用于提示无法推送目标信息的提示信息。In some implementation manners of this embodiment, in response to determining that the operation result set of the candidate set operation expression is an empty set, prompt information for notifying that target information cannot be pushed may be output.
在本实施例的一些实现方式中,在向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息之后,还可以删除之前得到的该候选集合运算表达式的运算结果集。In some implementations of this embodiment, after pushing the target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression, the operation result of the candidate set operation expression obtained before may also be deleted set.
由于存储该候选集合运算表达式的运算结果集需要占用一定的存储资源,而且该候选集合运算表达式的运算结果集在之后的一定时间段内可能不再使用 了,基于此,在完成目标信息推送之后,可以删除得到的运算结果集,以节省存储资源。Since 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.
参见图3,图3是根据本实施例的推送信息的方法的应用场景的一个示意图300。在图3的应用场景中,上述执行主体可以先获取候选集合运算表达式集301。如图中所示,候选集合运算表达式集中包含的候选集合运算表达式包括:A∩B、A∩B∪C、D∩E等等。其中,A、B、C、D、E等均为预设的用户标识集。这些用户标识集可以存储于与上述执行主体通信连接的数据库303中。Referring to FIG. 3, FIG. 3 is a schematic diagram 300 of an application scenario of the method for pushing information according to this embodiment. In the application scenario of FIG. 3, the above-mentioned execution subject may first obtain the candidate set operation expression set 301. As shown in the figure, the candidate set operation expressions included in the candidate set operation expression set include: A∩B, A∩B∪C, D∩E, and so on. Among them, 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.
上述执行主体可以向用户展示候选集合运算表达式集301中的候选集合运算表达式,若用户选择其中的候选集合运算表达式:A∩B,并向上述执行主体发送向A∩B指示的用户推送信息M的推送指示302。上述执行主体可以从数据库303中获取用户标识集A和用户标识集B。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.
如图中标号304所示,用户标识集A包括用户1和用户2两个用户标识。用户标识集B包括用户1和用户3两个用户标识。可以确定用户标识集A和用户标识集B的交集为用户1(如图中标号305所示)。As indicated by reference number 304 in the figure, 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).
然后,可以向用户1指示的用户所使用的终端设备306推送信息M(图中标号为307)。Then, 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. In addition, since 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.
参考图4,其示出了推送信息的方法的又一个实施例的流程400。该推送信息的方法的流程400,包括步骤401至步骤402。Referring to FIG. 4, it 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.
在步骤401中,获取候选集合运算表达式集。In step 401, a candidate set operation expression set is obtained.
本步骤401的执行过程可参考图2对应实施例中的步骤201的相关说明,在此不再赘述。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.
在步骤402中,对于候选集合运算表达式集中的候选集合运算表达式,响应于与接收到该候选集合运算表达式对应的推送指示,执行如下的步骤4021、4022和4023。In 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.
在步骤4021中,确定用于表示该候选集合运算表达式的运算结果集为空集的命题的主析取范式。In 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.
在本步骤中,可以利用相关技术中的各种求主析取范式的方法(如推演法、真值表法、构造树法等)确定用于表示该候选集合运算表达式的运算结果集为空集的命题的主析取范式。In this step, various methods of finding the main disjunctive normal form (such as deduction method, truth table method, construction tree method, etc.) in the related art can be used to determine the operation result set used to express the candidate set operation expression as The main disjunctive paradigm of the proposition of the empty set.
在步骤4022中,根据主析取范式判断该候选集合运算表达式的运算结果集是否为空集。In 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.
在本步骤中,由于主析取范式表示为多个极小项的析取。因此,只要有一项极小项的运算结果集不为空集,则该候选集合运算表达式的运算结果集不为空集。In this step, 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.
在一实施例中,可以先对多个极小项进行排序。例如,可以由技术人员对多个极小项进行排序,也可以随机排序。之后,按照排定的顺序,先判断第一个极小项的运算结果集是否为空集。基于第一个极小项的运算结果集不为空集的判断结果,可以确定该候选集合运算表达式的运算结果集不为空集。基于第一个极小项的运算结果集为空集的判断结果,判断第二个极小项的运算结果集是否为空集。基于第二个极小项的运算结果集不为空集的判断结果,可以确定该候选集合运算表达式的运算结果集不为空集。基于第二个极小项的运算结果集为空集的判断结果,判断第三个极小项的运算结果集是否为空集,并依次类推。In an embodiment, 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.
通过分析主析取范式的方法来判断运算结果集是否为空集,可以较大地提升运算速度。很多情况下,只需要判断部分极小项的运算结果集之后,就可以确定运算结果集不为空集。因此,通过这种方式可以较快的判断此次推送信息是否是可执行的,从而能够在此次推送信息可执行时,较快的向用户返回相关提示信息,从而降低用户端的响应延迟。By analyzing the method of the main disjunctive normal form to determine whether the operation result set is an empty set, 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.
在步骤4023中,响应于确定该候选集合运算表达式的运算结果集不为空集,获取该候选集合运算表达式对应的至少一个预设用户标识集,并利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以 得到该候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。In 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.
本步骤4023的执行过程可参考图2对应实施例中的步骤202的相关说明,在此不再赘述。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.
从图4中可以看出,与图2对应的实施例相比,本实施例中的推送信息的方法的流程400突出了可以利用求主析取范式的方法加快判断候选集合运算表达式的运算结果集是否为空集的速度。As can be seen from FIG. 4, compared with the embodiment corresponding to FIG. 2, 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.
参考图5,作为对上述各图所示方法的实现,本申请提供了一种推送信息的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置可以应用于各种电子设备中。Referring to FIG. 5, as an implementation of the method shown in the above figures, 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.
如图5所示,本实施例提供的推送信息的装置500包括获取单元501和推送单元502。其中,获取单元501被配置成获取候选集合运算表达式集,其中,候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;推送单元502被配置成对于候选集合运算表达式集中的候选集合运算表达式,响应于接收到与该候选集合运算表达式对应的推送指示,判断该候选集合运算表达式的运算结果集是否为空集,其中,推送指示设置为指示向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。As shown in FIG. 5, the apparatus 500 for pushing information provided in this embodiment 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.
在本实施例中,推送信息的装置500中:获取单元501和推送单元502的处理及其所带来的技术效果可分别参考图2对应实施例中的步骤201和步骤202的相关说明,在此不再赘述。In this embodiment, in the device 500 for pushing 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.
在本实施例的一些实现方式中,推送单元502被配置成:响应于确定该候选集合运算表达式的运算结果集为空集,输出用于提示无法推送目标信息的提示信息。In some implementations of this embodiment, 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.
在本实施例的一些实现方式中,推送单元502被配置成:获取该候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以得到该候选集合运算表达式的运算结果集,并判断得到的运算结果集是否为空集。In some implementations of this embodiment, 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.
在本实施例的一些实现方式中,推送单元502被配置成:确定表示该候选 集合运算表达式的运算结果集为空集的命题的主析取范式;根据主析取范式判断该候选集合运算表达式的运算结果集是否为空集。In some implementations of this embodiment, 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.
在本实施例的一些实现方式中,推送单元502被配置成:获取该候选集合运算表达式对应的至少一个预设用户标识集;利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以得到该候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。In some implementations of this embodiment, 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.
在本实施例的一些实现方式中,推送信息的装置还包括:删除单元(图中未示出),被配置成删除得到的该候选集合运算表达式的运算结果集。In some implementations of this embodiment, 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 provided in the above embodiments of the present application 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.
下面参考图6,其示出了适于用来实现本申请实施例的服务器的计算机系统600的结构示意图。图6示出的服务器仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。6, which 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.
如图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。As shown in FIG. 6, 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. In the 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.
以下部件连接至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。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.
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的上述功能。In particular, according to an embodiment of the present disclosure, the process described above with reference to the flowchart may be implemented as a computer software program. For example, 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. In such an embodiment, the computer program may be downloaded and installed from the network through the communication section 609, and/or installed from the removable medium 611. When the computer program is executed by the central processing unit (CPU) 601, the above-mentioned functions defined in the method of the present application are executed.
需要说明的是,本申请的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有至少一个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read-Only Memory,EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、 光缆、射频(Radio Frequency,RF)等等,或者上述的任意合适的组合。It should be noted that 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. More specific examples of 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. In this application, 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. In this application, 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.
附图中的流程图和框图,图示了按照本申请多种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含至少一个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。The flowcharts and block diagrams in the drawings illustrate the possible implementation architecture, functions, and operations 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 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. 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 represented in succession may actually be executed in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that 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. For example, it may be described as: a processor including an acquisition unit and a deletion unit. Among them, the names of these units do not constitute a limitation on the unit itself under certain circumstances. For example, 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".
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的服务器中所包含的;也可以是单独存在,而未装配入该服务器中。上述计算机可读介质承载有至少一个程序,在上述至少一个程序被该服务器执行的情况下,使得该服务器获取候选集合运算表达式集,其中,候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;对于候选集合运算表达式集中的候选集合运算表达式,响应于接收到与该候选集合运算表达式对应的推送指示,判断该候选集合运算表达式的运算结果集是否为空集,其中,推送指示设置为指示向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定该候选集合运算表达式的运算结果集不为空集,向该候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。As another aspect, 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.

Claims (14)

  1. 一种推送信息的方法,包括:A method for pushing information, including:
    获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;Acquiring 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;
    对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。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, determine whether the operation result set of the candidate set operation expression is an empty set, Wherein, the push 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 empty Set, pushing target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression.
  2. 根据权利要求1所述的方法,还包括:The method of claim 1, further comprising:
    响应于确定所述候选集合运算表达式的运算结果集为空集,输出用于提示无法推送目标信息的提示信息。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.
  3. 根据权利要求1所述的方法,其中,所述判断所述候选集合运算表达式的运算结果集是否为空集,包括:The method according to claim 1, wherein the determining whether the operation result set of the candidate set operation expression is an empty set includes:
    获取所述候选集合运算表达式对应的至少一个预设用户标识集;Acquiring at least one preset user identification set corresponding to the candidate set operation expression;
    利用所获取的至少一个预设用户标识集,完成所述候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并判断得到的运算结果集是否为空集。Use the acquired at least one preset user identification set to complete the set operation represented by the candidate set operation expression to obtain an operation result set of the candidate set operation expression, and determine whether the obtained operation result set is empty set.
  4. 根据权利要求1所述的方法,其中,所述判断所述候选集合运算表达式的运算结果集是否为空集,包括:The method according to claim 1, wherein the determining whether the operation result set of the candidate set operation expression is an empty set includes:
    确定用于表示所述候选集合运算表达式的运算结果集为空集的命题的主析取范式;Determining the main disjunctive normal form of the proposition for indicating that the operation result set of the candidate set operation expression is an empty set;
    根据所述主析取范式判断所述候选集合运算表达式的运算结果集是否为空集。According to the main disjunctive normal form, determine whether the operation result set of the candidate set operation expression is an empty set.
  5. 根据权利要求4所述的方法,其中,所述向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息,包括:The method according to claim 4, wherein the pushing of the target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression includes:
    获取所述候选集合运算表达式对应的至少一个预设用户标识集;Acquiring at least one preset user identification set corresponding to the candidate set operation expression;
    利用所获取的至少一个预设用户标识集,完成所述候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。Use the acquired at least one preset user identification set to complete the set operation represented by the candidate set operation expression to obtain an operation result set of the candidate set operation expression, and indicate the user to the obtained operation result set The terminal device used pushes target information.
  6. 根据权利要求3或5所述的方法,在向所述候选集合运算表达式的运算 结果集指示的用户所使用的终端设备推送目标信息之后,还包括:The method according to claim 3 or 5, after pushing the target information to the terminal device used by the user indicated by the operation result set of the candidate set operation expression, further comprising:
    删除得到的所述候选集合运算表达式的运算结果集。Deleting the obtained operation result set of the candidate set operation expression.
  7. 一种推送信息的装置,包括:A device for pushing information, including:
    获取单元,被配置成获取候选集合运算表达式集,其中,所述候选集合运算表达式集中的候选集合运算表达式用于表示对至少一个预设用户标识集的集合运算;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 is used to represent a set operation on at least one preset user identification set;
    推送单元,被配置成对于所述候选集合运算表达式集中的候选集合运算表达式,响应于接收到与所述候选集合运算表达式对应的推送指示,判断所述候选集合运算表达式的运算结果集是否为空集,其中,所述推送指示设置为指示向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息;响应于确定所述候选集合运算表达式的运算结果集不为空集,向所述候选集合运算表达式的运算结果集指示的用户所使用的终端设备推送目标信息。A pushing unit, configured to determine the operation result of the candidate set operation expression in response to receiving a push instruction corresponding to the candidate set operation expression in the candidate set operation expression set Whether the set 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 that 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.
  8. 根据权利要求7所述的装置,其中,所述推送单元被配置成:The apparatus according to claim 7, wherein the pushing unit 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.
  9. 根据权利要求7所述的装置,其中,所述推送单元被配置成:The apparatus according to claim 7, wherein the pushing unit is configured to:
    获取所述候选集合运算表达式对应的至少一个预设用户标识集;Acquiring at least one preset user identification set corresponding to the candidate set operation expression;
    利用所获取的至少一个预设用户标识集,完成该候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并判断得到的运算结果集是否为空集。Use the acquired at least one preset user identification set to complete the set operation represented by the candidate set operation expression to obtain an operation result set of the candidate set operation expression, and determine whether the obtained operation result set is an empty set .
  10. 根据权利要求7所述的装置,其中,所述推送单元被配置成:The apparatus according to claim 7, wherein the pushing unit is configured to:
    确定用于表示所述候选集合运算表达式的运算结果集为空集的命题的主析取范式;Determining the main disjunctive normal form of the proposition for indicating that the operation result set of the candidate set operation expression is an empty set;
    根据所述主析取范式判断所述候选集合运算表达式的运算结果集是否为空集。According to the main disjunctive normal form, determine whether the operation result set of the candidate set operation expression is an empty set.
  11. 根据权利要求10所述的装置,其中,所述推送单元被配置成:The apparatus according to claim 10, wherein the pushing unit is configured to:
    获取所述候选集合运算表达式对应的至少一个预设用户标识集;Acquiring at least one preset user identification set corresponding to the candidate set operation expression;
    利用所获取的至少一个预设用户标识集,完成所述候选集合运算表达式所表示的集合运算,以得到所述候选集合运算表达式的运算结果集,并向得到的运算结果集指示的用户所使用的终端设备推送目标信息。Use the acquired at least one preset user identification set to complete the set operation represented by the candidate set operation expression to obtain an operation result set of the candidate set operation expression, and indicate the user to the obtained operation result set The terminal device used pushes target information.
  12. 根据权利要求9或11所述的装置,还包括:The device according to claim 9 or 11, further comprising:
    删除单元,被配置成删除得到的所述候选集合运算表达式的运算结果集。The deleting unit is configured to delete the obtained operation result set of the candidate set operation expression.
  13. 一种服务器,包括:A server, including:
    至少一个处理器;At least one processor;
    存储装置,其上存储有至少一个程序;A storage device on which at least one program is stored;
    所述至少一个程序被所述至少一个处理器执行时,使得所述至少一个处理器实现如权利要求1-6中任一项所述的方法。When the at least one program is executed by the at least one processor, the at least one processor implements the method according to any one of claims 1-6.
  14. 一种计算机可读介质,其上存储有计算机程序,所述程序被处理器执行时实现如权利要求1-6中任一项所述的方法。A computer-readable medium on which a computer program is stored, which when executed by a processor implements the method according to any one of claims 1-6.
PCT/CN2019/102283 2018-12-10 2019-08-23 Information pushing method and apparatus WO2020119173A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201811503820.7 2018-12-10
CN201811503820.7A CN109614549B (en) 2018-12-10 2018-12-10 Method and apparatus for pushed information

Publications (1)

Publication Number Publication Date
WO2020119173A1 true WO2020119173A1 (en) 2020-06-18

Family

ID=66007518

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2019/102283 WO2020119173A1 (en) 2018-12-10 2019-08-23 Information pushing method and apparatus

Country Status (2)

Country Link
CN (1) CN109614549B (en)
WO (1) WO2020119173A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109614549B (en) * 2018-12-10 2019-11-12 北京字节跳动网络技术有限公司 Method and apparatus for pushed information
CN110619029B (en) * 2019-06-25 2023-03-14 北京无限光场科技有限公司 Method and apparatus for generating information
CN113591095B (en) * 2021-08-04 2023-08-29 百度在线网络技术(北京)有限公司 Identification information processing method and device and electronic equipment

Citations (4)

* Cited by examiner, † Cited by third party
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 (en) * 2008-08-25 2010-03-03 华为技术有限公司 Method and system for user selection
CN107545039A (en) * 2017-07-31 2018-01-05 腾讯科技(深圳)有限公司 The index acquisition methods and device of keyword, computer equipment and storage medium
CN109614549A (en) * 2018-12-10 2019-04-12 北京字节跳动网络技术有限公司 Method and apparatus for pushed information

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4591794B2 (en) * 2008-04-22 2010-12-01 ソニー株式会社 Information processing apparatus and method, and program
CN101329683A (en) * 2008-07-25 2008-12-24 华为技术有限公司 Recommendation system and method
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 (en) * 2014-03-12 2017-07-07 浙江大学 Towards the online recommendation method of distribution of stream data
CN105574051B (en) * 2014-11-06 2019-11-22 阿里巴巴集团控股有限公司 Update the method and processing system of the rule that user is met
CN106528785A (en) * 2016-11-03 2017-03-22 杜剑峰 Question synthesis based user renting preference capturing method
CN108122168B (en) * 2016-11-28 2020-11-13 中国科学技术大学先进技术研究院 Method and device for screening seed nodes in social activity network
CN107330459B (en) * 2017-06-28 2021-09-14 联想(北京)有限公司 Data processing method and device and electronic equipment
CN108833458B (en) * 2018-04-02 2021-08-06 腾讯科技(深圳)有限公司 Application recommendation method, device, medium and equipment
CN108900574A (en) * 2018-06-04 2018-11-27 上海市疾病预防控制中心 One-stop search method for pushing based on users ' individualized requirement

Patent Citations (4)

* Cited by examiner, † Cited by third party
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 (en) * 2008-08-25 2010-03-03 华为技术有限公司 Method and system for user selection
CN107545039A (en) * 2017-07-31 2018-01-05 腾讯科技(深圳)有限公司 The index acquisition methods and device of keyword, computer equipment and storage medium
CN109614549A (en) * 2018-12-10 2019-04-12 北京字节跳动网络技术有限公司 Method and apparatus for pushed information

Also Published As

Publication number Publication date
CN109614549B (en) 2019-11-12
CN109614549A (en) 2019-04-12

Similar Documents

Publication Publication Date Title
WO2018019139A1 (en) Information pushing method and device
WO2020119173A1 (en) Information pushing method and apparatus
CN107302597B (en) Message file pushing method and device
CN109359194B (en) Method and apparatus for predicting information categories
CN108287708B (en) Data processing method and device, server and computer readable storage medium
CN109582873B (en) Method and device for pushing information
WO2019228494A1 (en) Method and device for determining type of wireless access point
EP3910909B1 (en) Method and device for displaying information
CN108011949B (en) Method and apparatus for acquiring data
CN110019263B (en) Information storage method and device
WO2021068764A1 (en) Information processing method and device
CN111324786A (en) Method and device for processing consultation problem information
CN111062572B (en) Task allocation method and device
CN110309142B (en) Method and device for rule management
CN110704833A (en) Data permission configuration method, device, electronic device and storage medium
CN107291835B (en) Search term recommendation method and device
CN107347093B (en) Configuration method and device for distributed server system
CN109409419B (en) Method and apparatus for processing data
CN111435381A (en) Request distribution method and device
CN115022266A (en) Group member adding method, device, equipment and medium
CN108494982B (en) Method and apparatus for generating information
KR20210080561A (en) Consulting information processing method and device
CN110990528A (en) Question answering method and device and electronic equipment
CN113010587A (en) Data source configuration method, device, terminal, server and medium
CN111784376A (en) Method and apparatus for processing information

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