IP Library › Granted Patent US 11,816,172
Granted Patent B2
US 11,816,172 · App. 16/411,871 · Granted Nov 14, 2023

Data processing method, server, and computer storage medium

Inventor: Peimin Zhong (Shenzhen, CN)
Assignee: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
G06F16/9535G06F16/00G06F16/2365G06F16/2465G06F16/24568G06F2216/03
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,816,172
App. No.
16/411,871
Granted
Nov 14, 2023
Kind
B2
Abstract

This application describes a data processing method, a server, and a computer storage medium. In a method, a real-time data stream is collected. The real-time data stream includes a plurality of usage data for a plurality of content. Each of the plurality of usage data is associated with (i) content identification information of a respective one of the plurality of content and (ii) a time stamp of the respective usage data and indicating one of a plurality of user actions that is performed on the respective one of the plurality of content. Further, each of the plurality of user actions is associated with an action weight. A user status queue is generated according to the plurality of usage data and the associated content identification information. A user status feature is determined. Recommended information is determined according to the user status feature and is sent to a user terminal.

Claims (92)

1. A data processing method, comprising:

collecting, by a server, a real-time data stream, the real-time data stream including a plurality of usage data for a plurality of content, each of the plurality of usage data indicating (i) content identification information of a respective one of the plurality of content, (ii) one of a plurality of user actions that is performed on the respective one of the plurality of content, and (iii) a time stamp of the respective user action, each of the plurality of user actions being assigned to a behavior weight;

generating a user status queue according to the plurality of usage data and the content identification information of the plurality of content, each of a plurality of queue elements of the user status queue including a respective one of the plurality of usage data and the content identification information indicated by the respective one of the plurality of usage data, the user status queue being arranged based on the time stamps of the plurality of user actions indicated by the plurality of usage data;

limiting the generated user status queue by

limiting a length of the generated user status queue by removing usage data having an earliest time stamp from the user status queue when a number of queue elements in the generated user status queue exceeds a threshold number, and

limiting a validity duration of the generated user status queue by removing, from the user status queue, all usage data in which a difference between first time information of the respective usage data and current time information is greater than a validity duration threshold, wherein the removing all usage data outside the validity duration threshold is performed independently of the length of the user status queue;

determining a user status feature according to the content identification information indicated by usage data included in the limited user status queue and the behavior weights assigned to the user actions indicated by the usage data included in the limited user status queue;

determining recommended information according to the user status feature; and

sending the recommended information to a user terminal.

2. The method according to claim 1 , wherein the determining the user status feature comprises:

identifying, within a dynamic time window, a subset of the plurality of queue elements in the user status queue according to the time stamps indicated by the usage data included in the subset of the plurality of queue elements; and

determining the user status feature according to the content identification information indicated by the usage data included in the subset of the plurality of queue elements in the user status queue.

3. The method according to claim 1 , further comprising:

obtaining newly added usage data; and

adding a queue element including the newly added usage data and content identification information indicated by the newly added usage data to a tail of the user status queue.

4. The method according to claim 3 , wherein the adding comprises:

determining whether the content identification information indicated by the newly added usage data is included in the user status queue;

deleting one of the queue elements in the user status queue based on the content identification information indicated by the newly added usage data being included in the user status queue, the one of the queue elements including the content identification information indicated by the newly added usage data;

updating the user status queue by sequentially moving forward the queue elements located after the deleted queue element in the user status queue; and

adding the queue element including the newly added usage data and the content identification information indicated by the newly added usage data to the tail of the updated user status queue.

5. The method according to claim 1 , wherein, when the number of queue elements in the generated user status queue is equal to the threshold number, the method further comprises:

obtaining newly added usage data;

deleting one of the queue elements in the user status queue, the one of the queue elements being located in a front of the user status queue;

updating the user status queue by sequentially moving forward the other queue elements in the user status queue; and

inserting a queue element including the newly added usage data and content identification information indicated by the newly added usage data at a tail of the updated user status queue.

6. The method according to claim 1 , wherein the limiting the validity duration comprises:

obtaining a time stamp indicated by one of the plurality of usage data included in a queue element located at a tail of the generated user status queue;

determining a difference between the time stamp indicated by the one of the plurality of usage data included in the queue element located at the tail of the generated user status queue and the current time information; and

removing all queue elements in the generated user status queue in response to the difference being greater than the validity duration threshold.

7. A server, comprising:

processing circuitry configured to:

collect, by a server, a real-time data stream, the real-time data stream including a plurality of usage data for a plurality of content, each of the plurality of usage data indicating (i) content identification information of a respective one of the plurality of content, (ii) one of a plurality of user actions that is performed on the respective one of the plurality of content, and (iii) a time stamp of the respective user action, each of the plurality of user actions being assigned to a behavior weight;

generate a user status queue according to the plurality of usage data and the content identification information of the plurality of content, each of a plurality of queue elements of the user status queue including a respective one of the plurality of usage data and the content identification information indicated by the respective one of the plurality of usage data, the user status queue being arranged based on the time stamps of the plurality of user actions indicated by the plurality of usage data;

limit the generated user status queue by

limiting a length of the generated user status queue by removing usage data having an earliest time stamp from the user status queue when a number of queue elements in the generated user status queue exceeds a threshold number, and

limiting a validity duration of the generated user status queue by removing, from the user status queue, all usage data in which a difference between a time stamp of the respective usage data and current time information is greater than a validity duration threshold, wherein the removing all usage data outside the validity duration threshold is performed independently of the length of the user status queue;

determine a user status feature according to the content identification information indicated by usage data included in the limited user status queue and the behavior weights assigned to the user actions indicated by usage data included in the limited user status queue;

determine recommended information according to the user status feature; and

send the recommended information to a user terminal.

8. The server according to claim 7 , wherein the processing circuitry is further configured to:

identify, within a dynamic time window, a subset of the plurality of queue elements in the user status queue according to the time stamps indicated by the usage data included in the subset of the plurality of queue elements; and

determine the user status feature according to the content identification information indicated by the usage data included in the subset of the plurality of queue elements in the user status queue.

9. The server according to claim 7 , wherein the processing circuitry is further configured to:

obtain newly added usage data; and

add a queue element including the newly added usage data and content identification information indicated by the newly added usage data to a tail of the user status queue.

10. The server according to claim 9 , wherein the processing circuitry is further configured to:

determine whether the content identification information indicated by the newly added usage data is included in the user status queue;

delete one of the queue elements in the user status queue based on the content identification information indicated by the newly added usage data being included in the user status queue, the one of the queue elements including the content identification information indicated by the newly added usage data;

update the user status queue by sequentially moving forward the queue elements located after the deleted queue element in the user status queue; and

add the queue element including the newly added usage data and the content identification information indicated by the newly added usage data to the tail of the updated user status queue.

11. The server according to claim 7 , wherein, when the number of queue elements in the generated user status queue is equal to the threshold number, the processing circuitry is further configured to:

obtain newly added usage data;

delete one of the queue elements in the user status queue, the one of the queue elements being located in a front of the user status queue;

update the user status queue by sequentially moving forward the other queue elements in the user status queue; and

insert a queue element including the newly added usage data and content identification information indicated by the newly added usage data at tail of the updated user status queue.

12. The server according to claim 7 , wherein the processing circuitry is further configured to:

obtain a time stamp indicated by one of the plurality of usage data included in a queue element located at a tail of the generated user status queue;

determine a difference between the time stamp indicated by the one of the plurality of usage data included in the queue element located at the tail of the generated user status queue and the current time information; and

remove all queue elements in the generated user status queue in response to the difference being greater than the validity duration threshold.

13. The data processing method according to claim 1 , the method being performed by the server, the server comprising one or more processors, a memory, and one or more programs, the one or more programs comprising one or more units that each corresponds to one group of instructions, the one or more processors being configured to execute the instructions.

14. A server, comprising:

a memory, configured to store a computer program running on a processor; and

the processor configured to perform the method according to claim 1 when running the computer program.

15. A non-transitory computer-readable medium storing a program executable by a processor to perform:

collecting, by a server, a real-time data stream, the real-time data stream including a plurality of usage data for a plurality of content, each of the plurality of usage data indicating (i) content identification information of a respective one of the plurality of content, (ii) one of a plurality of user actions that is performed on the respective one of the plurality of content, and (iii) a time stamp of the respective user action, each of the plurality of user actions being assigned to a behavior weight;

generating a user status queue according to the plurality of usage data and the content identification information of the plurality of content, each of a plurality of queue elements of the user status queue including a respective one of the plurality of usage data and the content identification information indicated by the respective one of the plurality of usage data, the user status queue being arranged based on the time stamps of the plurality of user actions indicated by the plurality of usage data;

limiting the generated user status queue by

limiting a length of the generated user status queue by removing usage data having an earliest time stamp from the user status queue when a number of queue elements in the generated user status queue exceeds a threshold number, and

limiting a validity duration of the generated user status queue by removing, from the user status queue, all usage data in which a difference between a time stamp of the respective usage data and current time information is greater than a validity duration threshold, wherein the removing all usage data outside the validity duration threshold is performed independently of the length of the user status queue;

determining a user status feature according to the content identification information indicated by usage data included in the limited user status queue and the behavior weights assigned to the user actions indicated by the usage data included in the limited user status queue;

determining recommended information according to the user status feature; and

sending the recommended information to a user terminal.

16. The non-transitory computer-readable medium according to claim 15 , wherein the stored program is further executable by the processor to perform:

identifying, within a dynamic time window, a subset of the plurality of queue elements in the user status queue according to the time stamps indicated by the usage data included in the subset of the plurality of queue elements; and

determining the user status feature according to the content identification information indicated by the usage data included in the subset of the plurality of queue elements in the user status queue.

17. The non-transitory computer-readable medium according to claim 15 , wherein the stored program is further executable by the processor to perform:

obtaining newly added usage data; and

adding a queue element including the newly added usage data and content identification information indicated by the newly added usage data to a tail of the user status queue.

18. The non-transitory computer-readable medium according to claim 17 , wherein the stored program is further executable by the processor to perform:

determining whether the content identification information indicated by the newly added usage data is included in the user status queue;

deleting one of the queue elements in the user status queue based on the content identification information indicated by the newly added usage data being included in the user status queue, the one of the queue elements including the content identification information indicated by the newly added usage data;

updating the user status queue by sequentially moving forward the queue elements located after the deleted queue element in the user status queue; and

adding the queue element including the newly added usage data and the content identification information indicated by the newly added usage data to the tail of the updated user status queue.

19. The non-transitory computer-readable medium according to claim 15 , wherein, when the number of queue elements in the generated user status queue is equal to the threshold number, the stored program is further executable by the processor to perform:

obtaining newly added usage data;

deleting one of the queue elements in the user status queue, the one of the queue elements being located in a front of the user status queue;

updating the user status queue by sequentially moving forward the other queue elements in the user status queue; and

inserting a queue element including the newly added usage data and content identification information indicated by the newly added usage data at a tail of the updated user status queue.

20. The non-transitory computer-readable medium according to claim 15 , wherein the stored program is further executable by the processor to perform:

obtaining a time stamp indicated by one of the plurality of usage data included in the queue element located at a tail of the generated user status queue;

determining a difference between the time stamp indicated by the one of the plurality of usage data included in the queue element located at the tail of the generated user status queue and the current time information; and

removing all queue elements in the generated user status queue in response to the difference being greater than the validity duration threshold.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 14, 2019
From: ZHONG, PEIMIN
To: TENCENT TECHNOLOGY (SHENZHEN) COMPANY LIMITED
Reel/Frame 049175/0417 →
Priority Claims (1)
CN 201710326633.5 · May 10, 2017 · national
Continuity (2)
Continuation PCTCN2018084664 · Apr 26, 2018
Related Publication 20190266206A1 · Aug 29, 2019