IP Library Granted Patent US 12,299,320
Granted Patent B2
US 12,299,320 · App. 18/734,229 · Granted May 13, 2025

Data caching based on data popularity

Inventors: Xiao Liu (Los Angeles, CA); Haiyang Shi (Los Angeles, CA); Hao Wang (Los Angeles, CA)
Assignee: Beijing Volcano Engine Technology Co., Ltd.
G06F3/0655G06F3/0604G06F3/067
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 12,299,320
App. No.
18/734,229
Granted
May 13, 2025
Kind
B2
Abstract

A method, apparatus, electronic device and storage medium for data caching based on data popularity is provided. In the method, first access data transmitted by at least one client is received. The first access data represents an instruction log of a remote direct data read instruction transmitted by the client for target data cached in a non-uniform memory access structure. A data popularity of the target data is obtained based on the first access data. The data popularity represents a frequency of the target data accessed by the remote direct data read instruction. Based on the data popularity of the target data, the target data is cached to a target location in a data storage unit implemented based on the non-uniform memory access structure. Alternatively, the target data out of the data storage unit is migrated. The target location has a data read-write speed corresponding to the data popularity.

Claims (94)

1. A method of data processing, comprising:

receiving first access data transmitted by at least one client, the first access data representing an instruction log of a remote direct data read instruction transmitted by the client for target data cached in a non-uniform memory access structure;

obtaining a data popularity of the target data based on the first access data, the data popularity representing a frequency of the target data accessed by the remote direct data read instruction;

based on the data popularity of the target data, caching the target data to a target location in a data storage unit implemented based on the non-uniform memory access structure, or migrating the target data out of the data storage unit, wherein the target location has a data read-write speed corresponding to the data popularity; and

in response to the target data being not cached in the data storage unit, obtaining a migrating-out time duration of the target data, wherein

the caching the target data to a target location of the data storage unit based on the data popularity of the target data comprises:

in response to the migrating-out time duration being greater than a second time duration, caching the target data to the target location of the data storage unit.

2. The method of claim 1 , wherein

the first access data comprises a first access number of the target data in a first time interval, and

the obtaining a data popularity of the target data based on the first access data comprises:

obtaining an average access number based on the first access number in the first time interval and a second access number in a second time interval, wherein the second time interval is prior to the first time interval; and

obtaining the data popularity of the target data based on the average access number.

3. The method of claim 2 , wherein the second time interval comprises at least one historical subinterval, and the second access number comprises an interval access number corresponding to each historical subinterval; the obtaining an average access number based on the first access number in the first time interval and a second access number in a second time interval comprises:

obtaining a corresponding weighting coefficient based on a historical moment corresponding to each historical subinterval, wherein the weighting coefficient is inversely proportional to a time distance from the historical moment to a current moment;

calculating a weighted sum of the interval access number corresponding to each historical subinterval based on the weighting coefficient of each historical subinterval to obtain a weighted access number; and

obtaining the average access number based on the weighted access number and the first access number.

4. The method of claim 1 , wherein the caching the target data to a target location in a data storage unit implemented based on the non-uniform memory access structure based on the data popularity of the target data comprises:

determining a target access medium mounted by the data storage unit based on the data popularity of the target data, the target access medium having a data read-write speed corresponding to the data popularity; and

caching the target data into the target access medium.

5. The method of claim 4 , wherein the target access medium mounted by the data storage unit comprises at least one of:

a dynamic random access memory;

a persistent memory located locally to the non-uniform memory access structure;

a persistent memory located remotely from the non-uniform memory access structure;

a solid state drive located locally to the non-uniform memory access structure; and

a solid state drive located remotely from the non-uniform memory access structure.

6. The method of claim 4 , wherein

in response to the target data being cached in the data storage unit, the method further comprises:

obtaining an average popularity of data cached in a first access medium, the first access medium being an access medium currently caching the target data; and

the caching the target data into the target access medium comprises:

in response to the data popularity of the target data being higher than the average popularity by a first threshold value, migrating the target data to the target access medium, wherein the first threshold value is determined based on at least a data amount of the target data.

7. The method of claim 4 , further comprising, prior to caching the target data into the target access medium:

obtaining a migration time consumption based on a data amount of the target data, the migration time consumption representing the time consumption for migrating the target data to the target access medium, wherein

the caching the target data into the target access medium comprises:

if the migration time consumption is less than a first time duration, caching the target data into the target access medium.

8. The method of claim 4 , wherein the caching the target data into the target access medium comprises:

obtaining a data caching speed based on an operating load of the data storage unit; and

caching the target data into the target access medium based on the data caching speed.

9. The method of claim 1 , wherein the migrating-out time duration represents a lasting time of the target data migrating out of the data storage unit.

10. The method of claim 1 , wherein

the first access data comprises granularity information representing a classification granularity of the target data, and

the method further comprises obtaining the data storage unit for caching the target data based on the granularity information.

11. The method of claim 1 , wherein

the first access data is generated based on a request, the request being at least one of a remote direct data access request or a remote procedure call request transmitted by the client to a cache node, and

the first access data comprises at least one of an identification of the cache node, an identification of the data storage unit, or an identification of an access medium mounted by the data storage unit.

12. An electronic device, comprising:

a processor; and

a memory communicatively coupled to the processor and storing computer-executable instructions, wherein

the processor is configured to execute the computer-executable instructions stored by the memory to carry out a method of data processing, the method comprising:

receiving first access data transmitted by at least one client, the first access data representing an instruction log of a remote direct data read instruction transmitted by the client for target data cached in a non-uniform memory access structure;

obtaining a data popularity of the target data based on the first access data, the data popularity representing a frequency of the target data accessed by the remote direct data read instruction;

based on the data popularity of the target data, caching the target data to a target location in a data storage unit implemented based on the non-uniform memory access structure, or migrating the target data out of the data storage unit, wherein the target location has a data read-write speed corresponding to the data popularity; and

in response to the target data being not cached in the data storage unit, obtaining a migrating-out time duration of the target data, wherein

the caching the target data to a target location of the data storage unit based on the data popularity of the target data comprises:

in response to the migrating-out time duration being greater than a second time duration, caching the target data to the target location of the data storage unit.

13. The electronic device of claim 12 , wherein

the first access data comprises a first access number of the target data in a first time interval, and

the obtaining a data popularity of the target data based on the first access data comprises:

obtaining an average access number based on the first access number in the first time interval and a second access number in a second time interval, wherein the second time interval is prior to the first time interval; and

obtaining the data popularity of the target data based on the average access number.

14. The electronic device of claim 13 , wherein

the second time interval comprises at least one historical subinterval, and the second access number comprises an interval access number corresponding to each historical subinterval, and

the obtaining an average access number based on the first access number in the first time interval and a second access number in a second time interval comprises:

obtaining a corresponding weighting coefficient based on a historical moment corresponding to each historical subinterval, wherein the weighting coefficient is inversely proportional to a time distance from the historical moment to a current moment;

calculating a weighted sum of the interval access number corresponding to each historical subinterval based on the weighting coefficient of each historical subinterval to obtain a weighted access number; and

obtaining the average access number based on the weighted access number and the first access number.

15. The electronic device of claim 12 , wherein the caching the target data to a target location in a data storage unit implemented based on the non-uniform memory access structure based on the data popularity of the target data comprises:

determining a target access medium mounted by the data storage unit based on the data popularity of the target data, the target access medium having a data read-write speed corresponding to the data popularity; and

caching the target data into the target access medium.

16. The electronic device of claim 15 , wherein the target access medium mounted by the data storage unit comprises at least one of:

a dynamic random access memory;

a persistent memory located locally to the non-uniform memory access structure;

a persistent memory located remotely from the non-uniform memory access structure;

a solid state drive located locally to the non-uniform memory access structure; and

a solid state drive located remotely from the non-uniform memory access structure.

17. The electronic device of claim 15 , wherein

in response to the target data being cached in the data storage unit, the method further comprises:

obtaining an average popularity of data cached in a first access medium, the first access medium being an access medium currently caching the target data; and

the caching the target data into the target access medium comprises:

in response to the data popularity of the target data being higher than the average popularity by a first threshold value, migrating the target data to the target access medium, wherein the first threshold value is determined based on at least a data amount of the target data.

18. The electronic device of claim 15 , wherein

the method further comprises, prior to caching the target data into the target access medium:

obtaining a migration time consumption based on a data amount of the target data, the migration time consumption representing the time consumption for migrating the target data to the target access medium, and

the caching the target data into the target access medium comprises:

if the migration time consumption is less than a first time duration, caching the target data into the target access medium.

19. The electronic device of claim 15 , wherein the caching the target data into the target access medium comprises:

obtaining a data caching speed based on an operating load of the data storage unit; and

caching the target data into the target access medium based on the data caching speed.

20. A non-transitory computer-readable storage medium having computer-executable instructions stored thereon, which, when executed by a processor, carry out a method of data processing, the method comprising:

receiving first access data transmitted by at least one client, the first access data representing an instruction log of a remote direct data read instruction transmitted by the client for target data cached in a non-uniform memory access structure;

obtaining a data popularity of the target data based on the first access data, the data popularity representing a frequency of the target data accessed by the remote direct data read instruction;

based on the data popularity of the target data, caching the target data to a target location in a data storage unit implemented based on the non-uniform memory access structure, or migrating the target data out of the data storage unit, wherein the target location has a data read-write speed corresponding to the data popularity; and

in response to the target data being not cached in the data storage unit, obtaining a migrating-out time duration of the target data, wherein

the caching the target data to a target location of the data storage unit based on the data popularity of the target data comprises:

in response to the migrating-out time duration being greater than a second time duration, caching the target data to the target location of the data storage unit.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2025
From: BYTEDANCE INC.
To: BEIJING VOLCANO ENGINE TECHNOLOGY CO., LTD.
Reel/Frame 070801/0292 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2025
From: LIU, XIAO; SHI, HAIYANG; WANG, HAO
To: BYTEDANCE INC.
Reel/Frame 070801/0319 →
Priority Claims (1)
CN 202310666532.8 · Jun 6, 2023 · national
Continuity (1)
Related Publication 20240411478A1 · Dec 12, 2024
References Cited (10)
US 6324620B1 · Christenson · 2001 [cited by examiner]
US 10387340B1 · Baryudin · 2019 [cited by examiner]
US 20130346672A1 · Sengupta · 2013 [cited by examiner]
US 20200272352A1 · Zhang · 2020 [cited by examiner]
US 20220050722A1 · Dugast · 2022 [cited by examiner]
US 20220382477A1 · Wei · 2022 [cited by examiner]
CN 107179878A · 2017 [cited by applicant]
JP 4223729B2 · 2008 [cited by applicant]
JP 2011176595A · 2011 [cited by applicant]
European Patent Office, Extended European Search Report Issued in Application No. 24180027.5, Oct. 22, 2024, 12 pages. [cited by applicant]