IP Library Granted Patent US 10,523,743
Granted Patent B2
US 10,523,743 · App. 14/829,132 · Granted Dec 31, 2019

Dynamic load-based merging

Inventors: Zhenkun Yang (Hangzhou, CN); Zhidong Sun (Hangzhou, CN); Hu Xu (Hangzhou, CN)
Assignee: ALIBABA GROUP HOLDING LIMITED
H04L67/1008G06F16/00G06F16/2379G06F17/40G06Q10/06314H04L67/1095
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 10,523,743
App. No.
14/829,132
Granted
Dec 31, 2019
Kind
B2
Abstract

One embodiment of the present invention provides a system for facilitating dynamic load-based merging. During operation, the system identifies incremental data in memory of a first computing device. The incremental data comprises update to reference data in a storage device in a second computing device. If the size of the incremental data becomes greater than a threshold, the system selects a first server group from a plurality of server groups. The second computing device belongs to this first server group. The system then migrates data access requests from the first server group to other server groups in the plurality of server groups and merges the incremental data from the memory of the first computing device to the storage device in the second computing device. The merging includes batch sequential disk writes to the storage device of the second computing device.

Claims (59)

1. A computer-implemented method for facilitating dynamic load-based merging, the method comprising:

storing reference data in respective storage devices in a plurality of server groups, wherein a respective server group includes a plurality of storage devices;

in response to determining that the reference data has been updated with incremental data, storing the incremental data in a memory of a first computing device distinct from the plurality of server groups, wherein the incremental data comprises an update to the reference data, which is stored in a storage device in a second computing device, and wherein the second computing device belongs to a first server group of the plurality of server groups;

in response to a size of the incremental data in the memory of the first computing device being greater than a threshold size, selecting the first server group from the plurality of server groups for merging the incremental data;

in response to selecting the first server group for merging the incremental data, migrating data access requests for the reference data from the first server group to a second server group in the plurality of server groups;

determining a traffic ratio of data access requests to the first server group with respect to data access requests to the plurality of server groups; and

in response to the traffic ratio reaching a threshold value, merging the incremental data from the memory of the first computing device with the reference data stored in the storage device in the second computing device using disk writes.

2. The method of claim 1 , wherein the reference data is divided into a plurality of tablets, wherein a tablet is a non-overlapping segment of the reference data.

3. The method of claim 2 , wherein a respective server group of the plurality of server groups stores a copy of each tablet of the plurality of tablets.

4. The method of claim 1 , wherein selecting the first server group from the plurality of server groups includes identifying the first server group based on a sequence of the plurality of server groups.

5. The method of claim 4 , further comprising:

determining whether the merging of the incremental data have been performed for a respective server group of the plurality of server groups; and

selecting, based on the sequence of the plurality of server groups, a server group for which the merging of the incremental data has not been performed.

6. The method of claim 1 , further comprising:

maintaining the traffic ratio in a data structure.

7. The method of claim 1 , further comprising:

determining whether the merging of the incremental data is complete for the first server group; and

in response to determining that the merging of the incremental data is complete for the first server group, migrating data access requests for the reference data from the second server group to the first server group.

8. The method of claim 1 , further comprising:

determining whether the first server group is needed to serve a data access request during the merging of the incremental data; and

determining resource consumption by one or more computing devices in the first server group.

9. The method of claim 8 , further comprising:

determining a performance level associated with the data access requests served from the first server group; and

in response to the performance level being below a threshold level, pausing the merging of the incremental data.

10. The method of claim 9 , further comprising releasing resources allocated for the merging of the incremental data for serving the data access requests.

11. A non-transitory storage medium storing instructions, which when executed by a processor cause the processor to perform a method for facilitating dynamic load-based merging, the method comprising:

storing reference data in respective storage devices in a plurality of server groups, wherein a respective server group includes a plurality of storage devices;

in response to determining that the reference data has been updated with incremental data, storing the incremental data in a memory of a first computing device distinct from the plurality of server groups, wherein the incremental data comprises an update to the reference data, which is stored in a storage device in a second computing device, and wherein the second computing device belongs to a first server group of the plurality of server groups;

in response to a size of the incremental data in the memory of the first computing device being greater than a threshold size, selecting the first server group from the plurality of server groups for merging the incremental data;

in response to selecting the first server group for merging the incremental data, migrating data access requests for the reference data from the first server group to a second server group in the plurality of server groups; and

determining a traffic ratio of data access requests to the first server group with respect to data access requests to the plurality of server groups; and

in response to the traffic ratio reaching a threshold value, merging the incremental data from the memory of the first computing device with the reference data stored in the storage device in the second computing device using disk writes.

12. The non-transitory storage medium of claim 11 , wherein the reference data is divided into a plurality of tablets, wherein a tablet is a non-overlapping segment of the reference data.

13. The non-transitory storage medium of claim 12 , wherein a respective server group of the plurality of server groups stores a copy of each tablet of the plurality of tablets.

14. The non-transitory storage medium of claim 11 , wherein selecting the first server group from the plurality of server groups includes identifying the first server group based on a sequence of the plurality of server groups.

15. The non-transitory storage medium of claim 14 , wherein the method further comprises:

determining whether the merging of the incremental data have been performed for a respective server group of the plurality of server groups; and

selecting, based on the sequence of the plurality of server groups, a server group for which the merging of the incremental data has not been performed.

16. The non-transitory storage medium of claim 11 , wherein the method further comprises:

maintaining the traffic ratio in a data structure.

17. The non-transitory storage medium of claim 11 , wherein the method further comprises:

determining whether the merging of the incremental data is complete for the first server group; and

in response to determining that the merging of the incremental data is complete, migrating data access requests for the reference data from the second server group to the first server group.

18. The non-transitory storage medium of claim 11 , wherein the method further comprises:

determining whether the first server group is needed to serve a data access request during the merging of the incremental data; and

determining resource consumption by one or more computing devices in the first server group.

19. The non-transitory storage medium of claim 18 , wherein the method further comprises:

determining a performance level associated with the data access requests served from the first server group; and

in response to the performance level being below a threshold level, pausing the merging of the incremental data.

20. The non-transitory storage medium of claim 19 , wherein the method further comprises releasing resources allocated for the merging of the incremental data for serving the data access requests.

21. A computing system for facilitating dynamic load-based merging, the computing system comprising:

a processor;

a memory coupled to the processor and storing instructions, which when executed by the processor cause the processor to perform a method, the method comprising:

storing reference data in respective storage devices in a plurality of server groups, wherein a respective server group includes a plurality of storage devices;

in response to determining that the reference data has been updated with incremental data, storing the incremental data in a memory of a first computing device distinct from the plurality of server groups, wherein the incremental data comprises an update to the reference data, which is stored in a storage device in a second computing device, and wherein the second computing device belongs to a first server group of the plurality of server groups;

in response to size of the incremental data in the memory of the first computing device being greater than a threshold size, selecting the first server group from the plurality of server groups for merging the incremental data;

in response to selecting the first server group for merging the incremental data, migrating data access requests for the reference data from the first server group to a second server group in the plurality of server groups;

determining a traffic ratio of data access requests to the first server group with respect to data access requests to the plurality of server groups; and

in response to the traffic ratio reaching a threshold value, merging the incremental data from the memory of the first computing device with the reference data stored in the storage device in the second computing device using disk writes.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 3, 2021
From: ANT FINANCIAL (HANG ZHOU) NETWORK TECHNOLOGY CO., LTD.
To: BEIJING OCEANBASE TECHNOLOGY CO., LTD.
Reel/Frame 057386/0923 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2021
From: ADVANCED NEW TECHNOLOGIES CO., LTD.
To: ANT FINANCIAL (HANG ZHOU) NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 055116/0661 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053745/0667 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 1, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053663/0280 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 2, 2015
From: YANG, ZHENKUN; SUN, ZHIDONG; XU, HU
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 036482/0115 →
Priority Claims (1)
CN 2014 1 0429616 · Aug 27, 2014 · national
Continuity (1)
Related Publication 20160065663A1 · Mar 3, 2016