IP Library Granted Patent US 11,537,304
Granted Patent B2
US 11,537,304 · App. 17/133,426 · Granted Dec 27, 2022

Data verification method and apparatus, and storage medium

Inventors: Pingfan Song (Beijing, CN); Yuesheng Gu (Beijing, CN)
G06F3/064G06F3/0604G06F3/067G06F21/64
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,537,304
App. No.
17/133,426
Granted
Dec 27, 2022
Kind
B2
Abstract

A method including determining a to-be-verified data block among a plurality of data blocks corresponding to a predetermined file in a distributed storage system, wherein a storage node where the to-be-verified data block is located comprises a storage node that meets a load balancing strategy in the distributed storage system; and verifying the to-be-verified data block. The present disclosure solves the technical problem in the conventional technologies in which the read/write performance at a user front end is affected during a data verification process.

Claims (47)

1. A method comprising:

determining a to-be-verified data block among a plurality of data blocks corresponding to a predetermined file in a distributed storage system, the to-be-verified data block being stored in a storage node that meets a load balancing strategy in the distributed storage system, the determining the to-be-verified data block among the plurality of data blocks corresponding to the predetermined file in the distributed storage system including selecting a first data block from the plurality of data blocks as the to-be-verified data block, the first data block being a data block stored in storage nodes, where replicas of the data block are located, among which a number of first storage nodes reaches a predetermined number; and

verifying the to-be-verified data block.

2. The method according to claim 1 , wherein the first storage nodes are storage nodes on which a number of verification tasks has not reached an upper limit of verification tasks.

3. The method according to claim 1 , wherein the predetermined number is a number of all replicas of the data block.

4. The method according to claim 1 , wherein the selecting the first data block from the plurality of data blocks as the to-be-verified data block comprises:

selecting the first data block from the plurality of data blocks as the to-be-verified data block according to a first mapping table.

5. The method according to claim 4 , wherein the first mapping table stores a corresponding relationship between an address of the storage node and a number of concurrent verification tasks that access the storage node.

6. The method according to claim 1 , wherein the verifying the to-be-verified data block comprises:

performing a secondary slicing on the to-be-verified data block to obtain a data block slice; and

verifying the data block slice.

7. The method according to claim 6 , wherein the verifying the data block slice comprises:

determining that a number of verification requests on the storage node where the data block slice is located has not reached an upper limit of verification requests; and

verifying the data block slice.

8. The method according to claim 7 , wherein the number of verification requests on the storage node where the data block slice is located is reset to zero within a predetermined period of time.

9. The method according to claim 7 , wherein the determining that the number of verification requests on the storage node where the data block slice is located has not reached the upper limit of verification requests comprises:

determining that the number of verification requests on the storage node where the data block slice is located has not reached the upper limit of verification requests according to a second mapping table.

10. The method according to claim 9 , wherein the second mapping table stores a corresponding relationship between an address of the storage node and the number of verification requests that access the storage node.

11. The method according to claim 6 , wherein after the verifying the data block slice, the method further comprises:

performing a verification retry on the data block slice in a back-off retry, wherein the back-off retry including performing a delayed retry on the data block slice.

12. The method according to claim 11 , wherein the performing the verification retry on the data block slices in the back-off retry comprises:

during a process of verification retry, determining a time interval of a current retry by a time interval of a preceding retry immediately before the current retry, wherein the time interval of the current retry is greater than the time interval of the preceding retry.

13. An apparatus comprising:

one or more processors; and

one or more memories storing thereon computer-readable instructions that, when executed by the one or more processors, cause the one or more processors to perform acts comprising:

determining a to-be-verified data block among a plurality of data blocks corresponding to a predetermined file in a distributed storage system, the to-be-verified data block being stored in a storage node that meets a load balancing strategy in the distributed storage system, the determining the to-be-verified data block among the plurality of data blocks corresponding to the predetermined file in the distributed storage system including selecting a first data block from the plurality of data blocks as the to-be-verified data block, the first data block being a data block stored in storage nodes, where replicas of the data block are located, among which a number of first storage nodes reaches a predetermined number, the first storage nodes being storage nodes on which a number of verification tasks has not reached an upper limit of verification tasks; and

verifying the to-be-verified data block.

14. The apparatus according to claim 13 , wherein the selecting the first data block from the plurality of data blocks as the to-be-verified data block comprises:

selecting the first data block from the plurality of data blocks as the to-be-verified data block according to a first mapping table, the first mapping table storing a corresponding relationship between an address of the storage node and a number of concurrent verification tasks that access the storage node.

15. The apparatus according to claim 13 , wherein the verifying the to-be-verified data block comprises:

performing a secondary slicing on the to-be-verified data block to obtain a data block slice;

determining that a number of verification requests on the storage node where the data block slice is located has not reached an upper limit of verification requests according to a second mapping table, the second mapping table storing a corresponding relationship between an address of the storage node and the number of verification requests that access the storage node; and

verifying the data block slice.

16. The apparatus according to claim 15 , wherein after the verifying the data block slice, the acts further comprise:

performing a verification retry on the data block slice in a back-off retry, wherein the back-off retry including performing a delayed retry on the data block slice.

17. One or more memories storing thereon computer-readable instructions that, when executed by one or more processors, cause the one or more processors to perform acts comprising:

determining a to-be-verified data block among a plurality of data blocks corresponding to a predetermined file in a distributed storage system, the to-be-verified data block being stored in a storage node that meets a load balancing strategy in the distributed storage system; and

verifying the to-be-verified data block, the verifying the to-be-verified data block including:

performing a secondary slicing on the to-be-verified data block to obtain a data block slice;

determining that a number of verification requests on the storage node where the data block slice is located has not reached an upper limit of verification requests according to a second mapping table, the second mapping table storing a corresponding relationship between an address of the storage node and the number of verification requests that access the storage node; and

verifying the data block slice.

18. The one or more memories according to claim 17 , wherein the determining the to-be-verified data block among the plurality of data blocks corresponding to the predetermined file in the distributed storage system comprises:

selecting a first data block from the plurality of data blocks as the to-be-verified data block, the first data block being a data block stored in storage nodes, where replicas of the data block are located, among which a number of first storage nodes reaches a predetermined number.

19. The one or more memories according to claim 18 , wherein the selecting the first data block from the plurality of data blocks as the to-be-verified data block comprises:

selecting the first data block from the plurality of data blocks as the to-be-verified data block according to a first mapping table, the first mapping table storing a corresponding relationship between an address of the storage node and a number of concurrent verification tasks that access the storage node.

20. The one or more memories according to claim 17 , wherein after the verifying the data block slice, the acts further comprise:

performing a verification retry on the data block slice in a back-off retry, wherein the back-off retry including performing a delayed retry on the data block slice.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2026
From: ALIBABA GROUP HOLDING LIMITED
To: CLOUD INTELLIGENCE ASSETS HOLDING (SINGAPORE) PRIVATE LIMITED
Reel/Frame 075478/0225 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2021
From: SONG, PINGFAN; GU, YUESHENG
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 055397/0112 →
Priority Claims (1)
CN 201810687959.5 · Jun 28, 2018 · national
Continuity (2)
Continuation PCTCN2019091227 · Jun 14, 2019
Related Publication 20210117093A1 · Apr 22, 2021