CN110781386A - Information recommendation method and device, and bloom filter creation method and device - Google Patents

Information recommendation method and device, and bloom filter creation method and device Download PDF

Info

Publication number
CN110781386A
CN110781386A CN201910959614.5A CN201910959614A CN110781386A CN 110781386 A CN110781386 A CN 110781386A CN 201910959614 A CN201910959614 A CN 201910959614A CN 110781386 A CN110781386 A CN 110781386A
Authority
CN
China
Prior art keywords
user
information
recommendation information
filter
recommended
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201910959614.5A
Other languages
Chinese (zh)
Inventor
宁朝阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alipay Hangzhou Information Technology Co Ltd
Original Assignee
Alipay Hangzhou Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alipay Hangzhou Information Technology Co Ltd filed Critical Alipay Hangzhou Information Technology Co Ltd
Priority to CN201910959614.5A priority Critical patent/CN110781386A/en
Publication of CN110781386A publication Critical patent/CN110781386A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The specification discloses an information recommendation method and device and a bloom filter creation method and device. When information recommendation is realized, a bloom filter generated according to the historical recommendation information of the user can be acquired from the filter server. And then, generating at least one group of candidate recommendation information for the user locally at the application server, and respectively filtering each group of candidate information through the acquired bloom filter, thereby determining target recommendation information which is not recommended to the user, and further realizing information recommendation. When creating a bloom filter for a user, the creation may be performed according to a preset time period, so that bloom filters having different time period attributes may be created.

Description

Information recommendation method and device, and bloom filter creation method and device
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to an information recommendation method and apparatus, and a bloom filter creation method and apparatus.
Background
In an information recommendation scenario, in consideration of user experience, a more popular recommendation mode exists at present, that is, recommended information is not recommended any more, or recommended information is not recommended any more within a period of time. Therefore, the information acquired by the user each time is not browsed before or a period of time.
However, with the development of the internet, the browsing volume of the user in a unit time gradually increases, and the number of internet information is very large, which puts higher stability requirements on the implementation of the information recommendation method, so a solution is urgently needed to be proposed, which can perform information recommendation for the user more stably.
Disclosure of Invention
The embodiment of the specification provides an information recommendation method and device, which are used for performing information recommendation on a user more stably.
The embodiment of the specification further provides a method and a device for creating the bloom filter, which are used for creating the bloom filter with different time period attributes according to different time period.
In order to solve the above technical problem, the embodiments of the present specification are implemented as follows:
the embodiment of the specification adopts the following technical scheme:
in a first aspect, an information recommendation method is provided, which is applied to an application server and includes:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the user client.
In a second aspect, an apparatus is provided, which is applied to an application server, and includes: a filter obtaining unit, an information filtering unit, and an information recommending unit, wherein,
the filter acquisition unit is used for acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
the information filtering unit generates at least one group of candidate recommendation information for the user, and filters each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and the information recommending unit is used for sending the target recommending information to the user client.
In a third aspect, an electronic device is provided, which is applied to an application server, and includes:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the user client.
In a fourth aspect, a computer-readable storage medium applied to an application server is provided, the computer-readable storage medium storing one or more programs that, when executed by an electronic device including a plurality of application programs, cause the electronic device to perform the following operations:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the user client.
In a fifth aspect, a method for creating a bloom filter is provided, and is applied to a filter server, and includes:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
In a sixth aspect, an apparatus for creating a bloom filter is provided, which is applied to a filter server, and includes: an information receiving unit, and a filter creating unit, wherein,
the information receiving unit receives information corresponding to the user and sent by the application server;
and the filter creating unit creates or updates bloom filters with different time period attributes for the user according to a preset time period.
In a seventh aspect, an electronic device is provided, which is applied to a filter server and includes:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
In an eighth aspect, a computer-readable storage medium is provided for a filter server, the computer-readable storage medium storing one or more programs that, when executed by an electronic device including a plurality of application programs, cause the electronic device to perform the following:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
According to the technical scheme provided by the embodiment, the bloom filter generated according to the historical recommendation information of the user can be acquired from the filter server. And then, generating at least one group of candidate recommendation information for the user locally at the application server, and respectively filtering each group of candidate information through the acquired bloom filter, thereby determining target recommendation information which is not recommended to the user, and further realizing information recommendation.
The processes of generating the candidate recommendation information and filtering the information through the bloom filter are all finished locally at the application server side without interacting with other server sides, so that the recommended information can be stably provided for the user and the information recommendation mode is not recommended any more.
In addition, the bloom filter can compress information to be filtered, so that a certain storage space is effectively saved.
When the bloom filter is created for the user, the bloom filter can be created according to a preset time period cycle, so that the bloom filters with different time period attributes can be created, and when information is recommended, various combinations of the filters with different time period attributes can be utilized, and the effect that the information recommended in different time periods is not recommended any more is flexibly achieved.
Drawings
In order to more clearly illustrate the embodiments or prior art solutions in the present specification, the drawings needed to be used in the description of the embodiments or prior art will be briefly described below, it is obvious that the drawings in the following description are only some embodiments described in the present specification, and it is obvious for a person skilled in the art to obtain other drawings based on these drawings without any creative effort.
Fig. 1 is a schematic flowchart of an information recommendation method provided in an embodiment of the present specification;
fig. 2 is a schematic diagram of an information recommendation method provided in an embodiment of the present specification;
fig. 3 is a schematic diagram of an information recommendation method provided in an embodiment of the present specification;
fig. 4 is a block diagram of an information recommendation apparatus provided in an embodiment of the present specification;
FIG. 5 is a flowchart illustrating a method for creating a bloom filter according to an embodiment of the present disclosure;
fig. 6 is a block diagram of a creation apparatus of a bloom filter provided in an embodiment of the present specification;
fig. 7 is a schematic structural diagram of an electronic device provided in an embodiment of the present specification;
fig. 8 is a schematic structural diagram of an electronic device provided in an embodiment of the present specification.
Detailed Description
In order to make the objects, technical solutions and advantages of the present disclosure more clear, the technical solutions of the present disclosure will be clearly and completely described below with reference to the specific embodiments and the accompanying drawings. It is to be understood that the embodiments described are only a few embodiments of the present disclosure, and not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments in the present specification without any creative effort belong to the protection scope of the present specification.
Technical solutions provided by the embodiments in the present specification are described in detail below with reference to the accompanying drawings.
Example 1
The embodiment of the specification provides an information recommendation method which can perform information recommendation for a user more stably. The method can be applied to an application server, where the application server can provide necessary services for an application client, and in practical applications, the application server can be generally a distributed cluster. The specific flow diagram of the method is shown in fig. 1, and comprises the following steps:
step 102: and acquiring the bloom filter created for the user from the filter server according to an information acquisition request sent by the user through the application client.
The application client may be a terminal installed with an application, the terminal may be a personal computer, a tablet computer, a smart phone, and the like, and the application may obtain information through the internet, for example, a certain information aggregation application may obtain text information, video information, picture information, and the like from the information.
The information acquisition request may refer to a request for acquiring information generated by a user through an application, for example, in a certain application, a request for acquiring text information may be generated through a specific instruction, and the like. Here, there are various trigger conditions for generating the information acquisition request, and for example, a specific (slide or click) command may be used as the trigger condition, an action for opening an application may be used as the trigger condition, a preset time interval may be used as the trigger condition, and the like.
In an information recommendation application scenario, the generated information acquisition request may generally include user information, such as at least one unique identifier of a user, so that the application server may analyze the unique identifier of the user after receiving the information acquisition request, thereby implementing personalized information recommendation for the user. In practical applications, the information acquisition request may further include other factors for guiding how to recommend information for the user, for example, the information acquisition request may include information types to be recommended, request types different according to different trigger conditions, time periods, network environments, and the like.
In this specification, the filter server may generate a bloom filter according to historical recommendation information that has been recommended to a user. In particular, a Bloom Filter (BF) is a long binary vector and a series of random mapping functions, and can be used to search whether an element is in a set, where each element can be each piece of information. The advantages of BF are higher space efficiency and shorter query time.
The BF may be a bit vector or bit array, and in an application scenario of information recommendation, historical recommendation information that has been recommended to a user may be used as a basis, and a plurality of hash values are generated by a plurality of different hash functions, and each generated hash value points to a different bit position. When information is filtered, a plurality of hash values are generated for the candidate recommendation information through the plurality of hash functions and are matched with the bit array in the BF, if matching is successful, the candidate recommendation information is possibly recommended, and if matching is unsuccessful, the candidate recommendation information is not recommended. By utilizing the characteristic of BF, which information is not recommended to the user can be effectively filtered out. In practical application, the unique identifier of the information may be used as a hash object, such as an address of the information, or a unique identifier obtained by transforming the address, and the like, and the BF may be associated with a user, thereby facilitating searching.
Along with the accumulation of the historical behaviors of the user, the historical recommendation information is more and more, so in practical application, when the filter server side creates the BF for the user, the BF can be segmented according to the preset segmentation condition. For example, the length of a BFBF may be determined according to the number of messages (e.g., 100 messages, 10000 messages, etc.), so that the size of each BF is not too large, thereby maintaining high filtering efficiency. The length of one BF may also be determined according to time intervals (e.g., 1 hour, 1 day, 7 days, etc.), so that each BF has different time period attributes, and information that has been recommended to the user in different time periods may be filtered. Of course, it is also possible to combine both, taking into account both the amount of information and the time intervals, so that multiple BF's can be created in each time interval.
After the application server analyzes the unique user identifier, the BF created and stored for the user can be acquired from the filter server according to the unique user identifier. In practical application, the filter server may create a plurality of BFs for the user, and in this step, at least one BF may be obtained, and preferably, one or more BFs closest to the current time may be selected according to the time sequence.
As described above, the filter server may determine the length of one BF according to the time interval, so that different BFs have different time slot attributes. In an embodiment, this step of obtaining, from the filter server, the bloom filter created for the user according to the information obtaining request sent by the user through the application client may include: according to an information acquisition request sent by a user through an application client and a preset information filtering duration requirement, at least one bloom filter meeting the information filtering duration requirement is acquired from a plurality of bloom filters with different duration attributes, which are created for the user by a filter server.
Specifically, the information filtering duration requirement may refer to a recommendation manner that information recommended in a certain period of time is not recommended any more when information recommendation is performed on a user, and the information filtering duration requirement may be embodied in the certain period of time. Further, the filtering information duration requirement for the recommendation information may be preset, for example, 1 hour, 5 hours, 7 days, and the like, and since different BFs have different time period attributes, one or more BFs may be obtained, thereby satisfying the filtering information duration requirement.
For example, when creating a BF for a user, the filter server uses 1 day as a time interval, and if the predetermined filtering information duration requirement is 2 days, the filter server may obtain 2 BFs that are closest to the current time, for example, the latest BF generated from 0 point of this day and the BFs already generated from 0 point of the previous day to 24 points, so that the filtering information duration requirement of 2 days may be satisfied. The requirement for filtering the information duration may be a fixed value preset for the application by the application server, different values may be set for different time periods, different values may be set for different types of information, and the like.
By creating BF with different time section attributes and presetting the requirement for filtering the information duration, various combinations of different BF can be utilized, and the effect that information recommended in different durations is not recommended any more can be flexibly realized.
Step 104: and generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user.
The embodiment of the specification is to implement information recommendation, so that information to be recommended can be generated for a user in the step, since the information recommended by an application scenario is not recommended any more, the information generated for the user can be called as candidate recommendation information, and the candidate recommendation information is filtered thereafter.
Specifically, various factors may be taken as a basis for generating the candidate recommendation information. For example, the user historical behavior may be used as a basis, and candidate recommendation information may be generated according to the information type browsed by the user, specifically, for example, when administrative news during browsing of the user in the last period of time is obtained, the candidate recommendation information may be generated according to the information type; for another example, the candidate recommendation information may be generated according to an information type included in the information acquisition request, where the information type may be generated according to an information channel where the user browses information, specifically, for example, when the user browses information of a mobile phone channel in a certain information aggregation application, the information type may be added when the information acquisition request is generated, so that the candidate recommendation information about the mobile phone may be generated; for another example, the information type is added to the information acquisition request according to the preference preset by the user, and in practical application, the application server can generate personalized candidate recommendation information for the user through multiple modes.
After the candidate recommendation information is generated, the candidate recommendation information may be filtered locally at the application server through the acquired BF, and since a plurality of candidate recommendation information may often be generated at one time, a plurality of different hash functions used when the BF is generated may be used to perform hash operation on each candidate recommendation information and match the hash operation with the BF, thereby filtering out information that is not recommended to the user, where the information that is not recommended to the user may be referred to as target recommendation information.
In practical application, a plurality of candidate recommendation information which may be generated at one time are all matched in the BF, that is, according to the characteristics of the BF, a plurality of candidate recommendation information may have been already recommended to a user, so in this step, at least one set of candidate recommendation information may be generated for the user, and a plurality of candidate recommendation information may be provided in each set. That is, in practical applications, a set of candidate recommendation information may be generated first, and if the number of information filtered out and not recommended to the user is 0, another set of candidate recommendation information may be generated again until the target recommendation information is greater than 0. Therefore, the generation and the filtering of the candidate recommendation information can be completed locally at the application server side until the target recommendation information is determined, and interaction with other server sides is not needed, so that the filtering process can be in a stable state, and a stable information filtering function can be provided.
In order to improve user experience, when recommending information for a user each time, a relatively fixed amount of information may be recommended, for example, at least 10, or at least 15, are recommended for each recommendation, so in an embodiment, this step generates at least one set of candidate recommendation information for the user, and filters each set of candidate recommendation information through an obtained bloom filter, to determine target recommendation information that is not recommended to the user, which may include: determining a recommended number for the information; and generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter and the determined recommendation quantity to determine target recommendation information which is not recommended to the user and is not less than the recommendation quantity.
Specifically, the recommendation amount for the information may be determined in advance, for example, the operation and maintenance staff may preset the recommendation amount in the application server, the application server may determine the recommendation amount for the information first, and then generate and filter at least one set of candidate recommendation information for the user in the manner described above, at this time, each set of candidate recommendation information may be filtered through the acquired BF and the determined recommendation amount, until target recommendation information that is not recommended to the user and is not less than the recommendation amount is determined. By the method, a certain amount of information can be kept when the information is recommended for the user every time, so that a better use experience is provided for the user.
For example, 15 preset recommendation numbers may be recommended for the information, when the application server executes this step, the preset recommendation number of 15 may be acquired first, then one or more groups of candidate recommendation information are generated for the user, and each group of candidate recommendation information is filtered through the acquired BF until it is determined that the number of information is not less than 15 and information that is not recommended to the user is not recommended.
In practical applications, the corresponding information recommendation numbers may be preset for different information acquisition requests, for example, different information recommendation numbers may be preset correspondingly according to different information categories, different request types, different time periods, and different network environments in the information acquisition requests, so determining the recommendation number for the information in this step may include: the recommended number for the information corresponding to the information acquisition request is determined. According to the method, different information recommendation quantities can be preset for different information acquisition requests, so that the user experience is improved to a certain extent.
In an actual application scenario, in order to better implement that recommended information is not recommended any more, BF needs to be continuously updated according to user behavior, and since the determined target recommendation information may be recommended to a user, the target recommendation information may be regarded as historical recommendation information already recommended to the user, and in an embodiment, after step 104, the method may further include: and sending the determined target recommendation information serving as historical recommendation information to a filter server corresponding to the user.
Specifically, since the target recommendation information is likely to be seen by the user, the information may be used as the historical recommendation information, for example, according to the above steps, 20 pieces of target recommendation information are determined for the user, and then the user has a high possibility to see, if the network problem is ignored or the possibility that the user does not browse after receiving the target recommendation information is received, the 20 pieces of target recommendation information may be approximately considered to have been converted into the historical recommendation information recommended to the user, and then the historical recommendation information may be sent to the filter server corresponding to the user, so that the filter server may update the BF of the user according to the historical recommendation information.
Step 106: and sending the determined target recommendation information to the application client.
After the target recommendation information is determined in the above steps, the target recommendation information can be sent to the application client of the user, so that the target recommendation information can be displayed through the application in the application client, and the technical effect that the recommended information is not recommended any more is realized.
As described above, the determined target recommendation information may be used as the historical recommendation information, which may be used as a way to determine the historical recommendation information after determining the target recommendation information. In practical situations, after the target recommendation information is sent to the user, the user does not browse all the target recommendation information, so that there may be a following manner to determine the historical recommendation information, and in an embodiment, the method may further include: determining information browsed by the user from target recommendation information according to the historical behavior of the user at the application client; and sending the information browsed by the user as historical recommendation information to a filter server corresponding to the user.
Specifically, as an example of the foregoing, 20 pieces of target recommendation information are determined and sent to the application client, but only 4 of the target recommendation information are actually browsed by the user on the application client, then according to the historical browsing behavior, 4 pieces of information that the user has browsed can be determined from the 20 pieces of target recommendation information, and the 4 pieces of information are sent to the filter server as historical recommendation information corresponding to the user. Regarding the historical behavior here, it can be obtained from the application record of the application client. Alternatively, the client may be configured to return information browsed by the user in the target recommendation information to the application server, and the like.
The above two ways are introduced, the target recommendation information may be determined as the historical recommendation information, and one way may be that whether the target recommendation information is already sent to the application client is not considered, that is, after the target recommendation information is determined, the target recommendation information may be determined as the historical recommendation information, so the step may be performed before step 106, simultaneously with step 106, or after step 106. Alternatively, the user's behavior after being sent to the application client needs to be considered, and then the execution is performed after step 106, and one of the two ways may be selected in practice.
As shown in fig. 2, which is a schematic diagram of the information recommendation method of this embodiment, the method may specifically include three terminals, an application client, an application server, and a filter server. The user can send an information acquisition request to the application server through the application client, and accordingly the application server can acquire the BF created for the user from the filter server. And then, the application server locally generates candidate recommendation information, performs information filtering through the acquired BF to obtain target recommendation information, and finally sends the target recommendation information to the application client. As for the BF updating manner, the BF updating manner may be one of a manner a and a manner B in fig. 2, where the manner a may be that after the target recommendation information is determined, the target recommendation information is used as the history recommendation information and is sent to the filter server in correspondence with the user; the method B can be that after the target recommendation information is sent to the application client, the information browsed by the user is taken as the historical recommendation information according to the historical behavior of the user at the application client, and the historical recommendation information and the user are correspondingly sent to the filter server.
In practical application, the application server may be further refined and divided into a service server and a data server, as shown in fig. 3, which is another schematic diagram of the information recommendation method of this embodiment, and specifically may include four terminals, namely, the application client, the service server and the data server in the application server, and the filter server.
The user can send an information acquisition request to the service server through the application client, accordingly, the service server can acquire BF created for the user from the filter server and send the acquired BF to the data server, the data server locally generates candidate recommendation information, performs information filtering through the received BF to obtain target recommendation information, and returns the target recommendation information to the service server, and the service server finally sends the target recommendation information to the application client. As for the BF updating manner, the BF updating manner may be one of a manner a and a manner B in fig. 3, where the manner a may be that the data server determines the target recommendation information, and then sends the target recommendation information as the history recommendation information to the filter server in correspondence with the user; the mode B can be that after the business server sends the target recommendation information to the application client, the information browsed by the user is used as historical recommendation information according to the historical behavior of the user at the application client, and the historical recommendation information and the user are correspondingly sent to the filter server.
According to the technical scheme provided by the embodiment, the bloom filter generated according to the historical recommendation information of the user can be acquired from the filter server side according to the information acquisition request sent by the user through the application client side. And then, generating at least one group of candidate recommendation information for the user locally at the application server, and respectively filtering each group of candidate information through the acquired bloom filter, thereby determining target recommendation information which is not recommended to the user, and further realizing information recommendation.
The processes of generating the candidate recommendation information and filtering the information through the bloom filter are all finished locally at the application server side without interacting with other server sides, so that the recommended information can be stably provided for the user and the information recommendation mode is not recommended any more.
In addition, the bloom filter can compress information to be filtered, so that a certain storage space is effectively saved.
Example 2
Based on the same concept, embodiment 2 of the present specification provides an information recommendation apparatus, which can perform information recommendation for a user more stably. The device can be applied to an application server, and a schematic structural diagram of the device is shown in fig. 4, and the device comprises: a filter acquisition unit 202, an information filtering unit 204, and an information recommendation unit 206, wherein,
the filter obtaining unit 202 may obtain a bloom filter created for the user from the filter server according to an information obtaining request sent by the user through the application client, where the bloom filter may be generated by the filter server according to historical recommendation information that has been recommended to the user;
the information filtering unit 204 may generate at least one group of candidate recommendation information for the user, and filter each group of candidate recommendation information through the obtained bloom filter, so as to determine target recommendation information that is not recommended to the user;
the information recommending unit 206 may send the target recommendation information to the user client, so that the user can receive information that is not recommended to the user client.
In one embodiment, different bloom filters created for a user have different time period attributes, then
A filter acquisition unit 202, may
According to an information acquisition request sent by a user through an application client and a preset information filtering duration requirement, at least one bloom filter meeting the information filtering duration requirement is acquired from a plurality of bloom filters with different duration attributes, which are created for the user by a filter server.
In an embodiment, the information recommending unit 206 may further generate at least one set of candidate recommendation information for the user, filter each set of candidate recommendation information through the obtained bloom filter, determine target recommendation information that is not recommended to the user,
and sending the target recommendation information serving as historical recommendation information to the filter server corresponding to the user.
In one embodiment, the information recommending unit 206 may further send the target recommendation information to the user,
determining information browsed by a user from the target recommendation information according to the historical behavior of the user at the application client;
and sending the information browsed by the user as historical recommendation information to the filter server corresponding to the user.
In one embodiment, the information filtering unit 204 may:
determining a recommended number for the information;
and generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter and the recommendation number to determine target recommendation information which is not recommended to the user and is not less than the recommendation number.
In one embodiment, the information filtering unit 204 may:
the recommended number for the information corresponding to the information acquisition request is determined.
As can be seen from the apparatus provided in the foregoing embodiment, according to an information acquisition request sent by a user through an application client, a bloom filter generated according to historical recommendation information of the user may be acquired from a filter server. And then, generating at least one group of candidate recommendation information for the user locally at the application server, and respectively filtering each group of candidate information through the acquired bloom filter, thereby determining target recommendation information which is not recommended to the user, and further realizing information recommendation.
The processes of generating the candidate recommendation information and filtering the information through the bloom filter are all finished locally at the application server side without interacting with other server sides, so that the recommended information can be stably provided for the user and the information recommendation mode is not recommended any more.
In addition, the bloom filter can compress information to be filtered, so that a certain storage space is effectively saved.
Example 3
The embodiments of the present specification provide a method for creating a bloom filter, which may create bloom filters with different time period attributes according to different time period. The method can be applied to a filter server, and in practical application, the application server can also be a distributed cluster generally. The specific flow diagram of the method is shown in fig. 5, and includes:
step 302: and receiving information corresponding to the user, which is sent by the application server.
In the above embodiment, the application server may send the historical recommendation information of the user to the filter server in correspondence with the user, and in this step, may receive the information corresponding to the user, so as to create the bloom filter for the user.
Step 304: and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
As described in the foregoing embodiments, the BF may be segmented according to a preset segmentation condition, for example, the length of one BF may be determined according to a time interval. In this step, BF with different time period attributes may be created according to a preset time period, for example, the time period may be 1 day, and when 0: 00, a new BF can be created for the user, and within 24 hours, the BF can be updated based on the received information until 24: 00, this BF is no longer updated but another new BF is created anew. Accordingly, a plurality of BF's may be created for the user, and each BF may represent the user's historical recommendation information during the corresponding day.
In practical application, as described above, whether to create a new BF may be determined according to the length of the BF, and the created BF may be correspondingly stored according to time, i.e., the purpose of segmenting the BF according to time intervals may be satisfied.
When filtering information according to the foregoing embodiments, one or more BF may be selected according to a predetermined filtering information duration requirement. For example, if 1 day is used as a duration period and one BF is generated for a user every day, if the predetermined duration requirement for filtering information is 7 days, the BF created today and the 6 BFs closest to the present day can be obtained, so that the information recommended in the last 7 days is no longer recommended.
According to the technical scheme provided by the embodiment, the bloom filter with different time period attributes can be created according to the preset time period, and then when information is recommended, various combinations of the filters with different time period attributes can be utilized, and the effect that the information recommended in different time periods is not recommended any more can be flexibly achieved.
Example 4
Based on the same concept, embodiment 4 of the present specification provides a device for creating a bloom filter, which can create bloom filters having different time period attributes according to different time period. The device can be applied to a filter server side, and the structural schematic diagram of the device is shown in fig. 6, and the device comprises: an information receiving unit 402, and a filter creating unit 404, wherein,
an information receiving unit 402, which can receive information corresponding to a user sent by an application server;
the filter creating unit 404 may create or update bloom filters with different time period attributes for the user according to a preset time period.
The device provided by the embodiment can be used for creating according to the preset time period, so that the bloom filters with different time period attributes can be created, and when information is recommended, various combinations of the filters with different time period attributes can be utilized, and the effect that the information recommended in different time periods is not recommended any more can be flexibly realized.
Fig. 7 and 8 are schematic structural diagrams of an electronic device according to an embodiment of the present specification, which can be applied to an application server and a filter server, respectively. On the hardware level, the electronic device comprises a processor, and optionally an internal bus, a network interface, and a memory. The Memory may include a Memory, such as a Random-Access Memory (RAM), and may further include a non-volatile Memory, such as at least 1 disk Memory. Of course, the electronic device may also include hardware required for other services.
The processor, the network interface, and the memory may be connected to each other via an internal bus, which may be an ISA (Industry Standard Architecture) bus, a PCI (peripheral component Interconnect) bus, an EISA (Extended Industry Standard Architecture) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one double-headed arrow is shown in fig. 7 and 8, but this does not indicate only one bus or one type of bus.
And the memory is used for storing programs. In particular, the program may include program code comprising computer operating instructions. The memory may include both memory and non-volatile storage and provides instructions and data to the processor.
The processor reads the corresponding computer program from the nonvolatile memory into the memory and then runs the computer program to form the information recommendation monitoring device on the logic level. The processor is used for executing the program stored in the memory and is specifically used for executing the following operations:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the application client.
And the processor reads the corresponding computer program from the nonvolatile memory into the memory and then runs the computer program to form the creating device of the bloom filter on the logic level. The processor is used for executing the program stored in the memory and is specifically used for executing the following operations:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
The methods performed by the information recommendation device and the bloom filter creation device provided in the embodiments of fig. 4 and 6 in the present specification can be applied to or implemented by a processor. The processor may be an integrated circuit chip having signal processing capabilities. In implementation, the steps of the above method may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The Processor may be a general-purpose Processor, including a Central Processing Unit (CPU), a Network Processor (NP), and the like; but also Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components. The various methods, steps and logic blocks disclosed in the embodiments of the present specification may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The steps of a method disclosed in connection with the embodiments of the present specification may be embodied directly in a hardware decoding processor, or in a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The electronic device may further perform the functions of the information recommendation apparatus and the bloom filter creation apparatus provided in the embodiments shown in fig. 4 and 6 and the embodiments shown in fig. 7 and 8, which are not described herein again in this specification.
The embodiment of the present specification further provides a computer-readable storage medium, which may be applied to an application server, and the computer-readable storage medium stores one or more programs, where the one or more programs include instructions, and when the instructions are executed by an electronic device including a plurality of application programs, the instructions can cause the electronic device to perform the method performed by the information recommendation apparatus in the embodiment shown in fig. 4, and are specifically configured to perform:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the application client.
The embodiment of the present specification further provides a computer-readable storage medium, which may be applied to a filter server, and the computer-readable storage medium stores one or more programs, where the one or more programs include instructions, which, when executed by an electronic device including a plurality of application programs, enable the electronic device to perform the method performed by the bloom filter creating apparatus in the embodiment shown in fig. 6, and are specifically configured to perform:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functions of the various elements may be implemented in the same one or more software and/or hardware implementations of the present description.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The description has been presented with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the description. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the description may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the description may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
This description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present specification, and is not intended to limit the present specification. Various modifications and alterations to this description will become apparent to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present specification shall be included in the scope of claims of this document.

Claims (13)

1. An information recommendation method is applied to an application server and comprises the following steps:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the application client.
2. The method of claim 1, wherein different bloom filters created for the user have different time period attributes, then
According to an information acquisition request sent by a user through an application client, acquiring a bloom filter created for the user from a filter server, wherein the bloom filter comprises:
according to an information acquisition request sent by a user through an application client and a preset information filtering duration requirement, at least one bloom filter meeting the information filtering duration requirement is acquired from a plurality of bloom filters with different duration attributes, which are created for the user by a filter server.
3. The method according to claim 1, wherein at least one set of candidate recommendation information is generated for the user, and each set of candidate recommendation information is filtered through the obtained bloom filter, and after target recommendation information that is not recommended to the user is determined, the method further comprises:
and taking the target recommendation information as historical recommendation information, and sending the historical recommendation information and the user corresponding to the target recommendation information to a filter server.
4. The method of claim 1, after sending the target recommendation information to the user, the method further comprising:
according to the historical behavior of the user at the application client, determining the information browsed by the user from the target recommendation information;
and taking the information browsed by the user as historical recommendation information, and sending the historical recommendation information and the information browsed by the user to a filter server side correspondingly.
5. The method of claim 1, wherein generating at least one set of candidate recommendation information for the user, and filtering each set of candidate recommendation information through the obtained bloom filter to determine target recommendation information that is not recommended to the user comprises:
determining a recommended number for the information;
and generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter and the recommendation number to determine target recommendation information which is not recommended to the user and is not less than the recommendation number.
6. The method of claim 5, determining a recommended number for information, comprising:
and determining the recommended quantity aiming at the information corresponding to the information acquisition request.
7. An information recommendation device, which is applied to an application server, comprises: a filter obtaining unit, an information filtering unit, and an information recommending unit, wherein,
the filter acquisition unit is used for acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
the information filtering unit generates at least one group of candidate recommendation information for the user, and filters each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and the information recommending unit is used for sending the target recommending information to the user client.
8. An electronic device, the electronic device is applied to an application server and comprises:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the user client.
9. A computer-readable storage medium applied to an application server, the computer-readable storage medium storing one or more programs that, when executed by an electronic device including a plurality of application programs, cause the electronic device to perform operations of:
acquiring a bloom filter created for a user from a filter server according to an information acquisition request sent by the user through an application client, wherein the bloom filter is generated by the filter server according to historical recommendation information recommended to the user;
generating at least one group of candidate recommendation information for the user, and respectively filtering each group of candidate recommendation information through the acquired bloom filter to determine target recommendation information which is not recommended to the user;
and sending the target recommendation information to the user client.
10. A creation method of a bloom filter is applied to a filter server and comprises the following steps:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
11. An apparatus for creating a bloom filter, the apparatus being applied to a filter server and comprising: an information receiving unit, and a filter creating unit, wherein,
the information receiving unit receives information corresponding to the user and sent by the application server;
and the filter creating unit creates or updates bloom filters with different time period attributes for the user according to a preset time period.
12. An electronic device, which is applied to a filter server, comprising:
a processor; and
a memory arranged to store computer executable instructions that, when executed, cause the processor to:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
13. A computer-readable storage medium applied to a filter server, the computer-readable storage medium storing one or more programs that, when executed by an electronic device including a plurality of application programs, cause the electronic device to perform operations comprising:
receiving information corresponding to a user, which is sent by an application server;
and creating or updating bloom filters with different time period attributes for the user according to a preset time period.
CN201910959614.5A 2019-10-10 2019-10-10 Information recommendation method and device, and bloom filter creation method and device Pending CN110781386A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910959614.5A CN110781386A (en) 2019-10-10 2019-10-10 Information recommendation method and device, and bloom filter creation method and device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910959614.5A CN110781386A (en) 2019-10-10 2019-10-10 Information recommendation method and device, and bloom filter creation method and device

Publications (1)

Publication Number Publication Date
CN110781386A true CN110781386A (en) 2020-02-11

Family

ID=69385959

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910959614.5A Pending CN110781386A (en) 2019-10-10 2019-10-10 Information recommendation method and device, and bloom filter creation method and device

Country Status (1)

Country Link
CN (1) CN110781386A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347355A (en) * 2020-11-11 2021-02-09 广州酷狗计算机科技有限公司 Data processing method, device, server and storage medium
CN113377812A (en) * 2021-01-08 2021-09-10 北京数衍科技有限公司 Order duplication eliminating method and device for big data
CN114385922A (en) * 2022-01-17 2022-04-22 上海阿法迪智能数字科技股份有限公司 Library system knowledge recommendation method based on bloom filter

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778217A (en) * 2014-01-20 2014-05-07 北京集奥聚合科技有限公司 Current webpage list-based method and system for recommendation
CN104794170A (en) * 2015-03-30 2015-07-22 中国科学院信息工程研究所 Network evidence taking content tracing method based on multiple fingerprint Hash bloom filters
CN108133031A (en) * 2017-12-29 2018-06-08 北京搜狐新媒体信息技术有限公司 A kind of method and device of filtered recommendation video candidate result
CN108197327A (en) * 2018-02-07 2018-06-22 腾讯音乐娱乐(深圳)有限公司 Song recommendations method, apparatus and storage medium
CN109828721A (en) * 2019-01-23 2019-05-31 平安科技(深圳)有限公司 Data-erasure method, device, computer equipment and storage medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103778217A (en) * 2014-01-20 2014-05-07 北京集奥聚合科技有限公司 Current webpage list-based method and system for recommendation
CN104794170A (en) * 2015-03-30 2015-07-22 中国科学院信息工程研究所 Network evidence taking content tracing method based on multiple fingerprint Hash bloom filters
CN108133031A (en) * 2017-12-29 2018-06-08 北京搜狐新媒体信息技术有限公司 A kind of method and device of filtered recommendation video candidate result
CN108197327A (en) * 2018-02-07 2018-06-22 腾讯音乐娱乐(深圳)有限公司 Song recommendations method, apparatus and storage medium
CN109828721A (en) * 2019-01-23 2019-05-31 平安科技(深圳)有限公司 Data-erasure method, device, computer equipment and storage medium

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘飞 等: "异构存储感知的Ceph存储系统数据放置方法", 《计算机科学》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112347355A (en) * 2020-11-11 2021-02-09 广州酷狗计算机科技有限公司 Data processing method, device, server and storage medium
CN113377812A (en) * 2021-01-08 2021-09-10 北京数衍科技有限公司 Order duplication eliminating method and device for big data
CN113377812B (en) * 2021-01-08 2024-06-18 北京数衍科技有限公司 Order duplicate removal method and device for big data
CN114385922A (en) * 2022-01-17 2022-04-22 上海阿法迪智能数字科技股份有限公司 Library system knowledge recommendation method based on bloom filter

Similar Documents

Publication Publication Date Title
CN106899666B (en) Data processing method and device for service identification
CN109639636B (en) Service data forwarding method, service data processing method, service data forwarding device, service data processing device and electronic equipment
CN110162292B (en) Voice broadcasting method and device
CN110781386A (en) Information recommendation method and device, and bloom filter creation method and device
CN108845876B (en) Service distribution method and device
CN110717536A (en) Method and device for generating training sample
CN108243032B (en) Method, device and equipment for acquiring service level information
CN111125497A (en) Information recommendation method, device, processor and storage medium
CN107479868B (en) Interface loading method, device and equipment
CN112104505B (en) Application recommendation method, device, server and computer readable storage medium
CN112163150A (en) Information pushing method and device
CN111784468B (en) Account association method and device and electronic equipment
CN106648839B (en) Data processing method and device
CN110602163B (en) File uploading method and device
CN111008032A (en) Page data updating method and device
CN107784090B (en) File sharing method and device and computer readable medium
CN112036974B (en) Service commodity online method, device, equipment and storage medium
CN108881367B (en) Service request processing method, device and equipment
CN108769152B (en) Service refresh policy registration method, service refresh request method, device and equipment
CN107301224B (en) Information sharing method and device
CN114691175A (en) Application updating method, device and system
CN108428189B (en) Social resource processing method and device and readable medium
CN112364264A (en) Risk prevention and control method, device and equipment
CN110704733B (en) Method and device for sending data
US11232420B2 (en) Method and device for voice broadcast

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20200211

RJ01 Rejection of invention patent application after publication