IP Library › Granted Patent US 9,875,279
Granted Patent B2
US 9,875,279 · App. 14/585,874 · Granted Jan 23, 2018

Data scanning method and apparatus

Inventors: Jijun Wen (Beijing, CN); Zhongqing Xu (Shenzhen, CN)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
G06F17/30469G06F17/30289
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 9,875,279
App. No.
14/585,874
Granted
Jan 23, 2018
Kind
B2
Abstract

A data scanning method and apparatus are provided. The method includes analyzing a data scanning condition carried in a received data scanning request and determining at least one target data partition used to store data, acquiring a scanning cost of the target data partition, where the scanning cost includes waiting time of data scanning, allocating the target data partition to a processing resource according to the scanning cost so as to execute parallel data scanning, and acquiring a scanning result returned by the processing resource. In the present invention, statistics information of a data partition is collected, a scanning cost is acquired, and a target-data-partition operation group is appropriately allocated to a processing resource, thereby shortening waiting time of the whole data scanning.

Claims (67)

1. A data scanning method, comprising:

analyzing, by a computer processor, a data scanning condition carried in a received data scanning request;

determining, by the computer processor, target data partitions used to store data;

acquiring, by the computer processor, scanning costs of the target data partitions, wherein the scanning costs comprise waiting time of data scanning;

computing, by the computer processor, a number of operation groups to allocate for the target data partitions based on the scanning costs, wherein each of the operation groups comprises scanning of one or more of the target data partitions;

determining, by the computer processor, an average scanning cost of the operation groups;

balancing, by the computer processor, tasks of one or more computer processing resources by:

allocating, by the computer processor, the target data partitions to the operation groups so that a difference between a scanning cost of each of the operation groups and the average scanning cost falls within a preset range; and

allocating, by the computer processor, the operation groups to the one or more computer processing resources to execute parallel scanning; and

acquiring, by the computer processor, a scanning result returned by the one or more computer processing resources.

2. The method according to claim 1 , wherein, before analyzing the data scanning condition carried in the received data scanning request, the method further comprises:

collecting statistics information of a data partition, wherein the statistics information comprises a data volume of the data partition and access performance of a storage medium; and

acquiring and configuring a scanning cost corresponding to the data partition according to the data volume of the data partition and the access performance of the storage medium in the statistics information.

3. The method according to claim 2 , wherein collecting the statistics information of the data partition comprises:

scanning all data of each data partition and computing the data volume of the data partition;

performing sampling on data of the data partition to estimate the data volume of the data partition; or

estimating a current data volume according to a data operation that is performed on the data partition after statistics of a data volume is collected for the data partition a last time.

4. The method according to claim 2 , wherein collecting the statistics information of the data partition comprises pre-configuring the access performance of the storage medium of the data partition or executing data sampling on the data partition for at least one time to determine the access performance of the storage medium of the data partition.

5. The method according to claim 2 , wherein, before collecting the statistics information of the data partition, the method further comprises triggering, according to an event or in a periodical manner, an operation of collecting the statistics information of the data partition.

6. The method according to claim 1 , further comprising sending the scanning result to an initiator of the received data scanning request.

7. A non-transitory computer readable storage medium storing a program, wherein the program, when executed by a computer, causes the computer to:

analyze a data scanning condition carried in a received data scanning request;

determine target data partitions used to store data;

acquire scanning costs of the target data partitions, wherein the scanning costs comprise waiting time of data scanning;

compute a number of operation groups to allocate for the target data partitions based on the scanning costs, wherein each of the operation groups comprises scanning of one or more of the target data partitions;

determine an average scanning cost of the operation groups;

balance tasks of one or more computer processing resources by causing the computer to:

allocate the target data partitions to the operation groups so that a difference between a scanning cost of each of the operation groups and the average scanning cost falls within a preset range; and

allocate the operation groups to the one or more computer processing resources to execute parallel scanning; and

acquire a scanning result returned by the one or more computer processing resources.

8. The non-transitory computer readable storage medium according to claim 7 , wherein the program, when executed by the computer, further causes the computer to:

collect statistics information of a data partition, wherein the statistics information comprises a data volume of the data partition and access performance of a second storage medium; and

acquire and configure a scanning cost corresponding to the data partition according to the data volume of the data partition and the access performance of the second storage medium in the statistics information.

9. The non-transitory computer readable storage medium according to claim 8 , wherein the program, when executed by the computer, causes the computer to collect the statistics information by causing the computer to:

scan all data of each data partition and compute the data volume of the data partition;

perform sampling on data of the data partition to estimate the data volume of the data partition; or

estimate a current data volume according to a data operation that is performed on the data partition after statistics of a data volume is collected for the data partition a last time.

10. The non-transitory computer readable storage medium according to claim 8 , wherein the program, when executed by the computer, further causes the computer to pre-configure the access performance of the storage medium of the data partition or execute data sampling on the data partition for at least one time to determine the access performance of the second storage medium of the data partition.

11. The non-transitory computer readable storage medium according to claim 9 , wherein the program when executed by the computer, further causes the computer to trigger, according to an event or in a periodical manner, the computer to collect the statistics information.

12. The non-transitory computer readable storage medium according to claim 9 , wherein the program, when executed by the computer, further causes the computer to send the scanning result to an initiator of the received data scanning request.

13. A data scanning apparatus, comprising:

a memory;

a processor coupled to the memory; and

a communications interface coupled to the memory and the processor,

wherein the communications interface is configured to receive a data scanning request or send a data scanning result to a device that initiates the data scanning request,

wherein the memory stores program code, and

wherein the processor is configured to invoke the program code stored in the memory:

analyze a data scanning condition that is carried in the data scanning request received by the communications interface;

determine target data partitions used to store data;

acquire scanning costs of the target data partitions, wherein the scanning costs comprise waiting time of data scanning;

compute a number of operation groups to allocate for the target data partitions based on the scanning costs, wherein each of the operation groups comprises scanning of one or more of the target data partitions;

determine an average scanning cost of the operation groups;

balance tasks of one or more computer processing resources by;

allocating the target data partitions to the operation groups so that a difference between a scanning cost of each of the operation groups and the average scanning cost falls within a preset range; and

allocating the operation groups to the one or more computer processing resources to execute parallel scanning; and

acquire a scanning result returned by the one or more computer processing resources.

14. The apparatus according to claim 13 , wherein before the processor is configured to analyze the data scanning condition carried in the data scanning request received by the communications interface, the processor is configured to invoke the program code stored in the memory and to:

collect statistics information of a data partition, wherein the statistics information comprises a data volume of the data partition and access performance of a storage medium; and

acquire and configure a scanning cost corresponding to the data partition according to the data volume of the data partition and the access performance of the storage medium in the statistics information.

15. The apparatus according to claim 14 , wherein collecting the statistics information of the data partition by the processor comprises:

scanning all data of each data partition and computing the data volume of the data partition;

performing sampling on data of the data partition to estimate the data volume of the data partition; or

estimating a current data volume according to a data operation that is performed on the data partition after statistics of a data volume is collected for the data partition a last time.

16. The apparatus according to claim 14 , wherein collecting the statistics information of the data partition by the processor comprises pre-configuring the access performance of the storage medium of the data partition or executing data sampling on the data partition for at least one time to determine the access performance of the storage medium of the data partition.

17. The apparatus according to claim 14 , wherein before the processor collects the statistics information of the data partition, the processor is configured to invoke the program code stored in the memory to trigger, according to an event or in a periodical manner, an operation of collecting the statistics information of the data partition.

18. The apparatus according to claim 13 , wherein the processor is configured to invoke the program code stored in the memory to send an acquired scanning result returned by the one or more computer processing resources to an initiator of the data scanning request.

19. The apparatus according to claim 13 , wherein the one or more processing resources comprise a plurality of idle threads in a worker pool, wherein the operations groups are further determined based on the plurality of idle threads in the worker pool, wherein a number of the operations groups equals a number of the plurality of idle threads, and wherein a number of the target data partitions is greater than the number of the plurality of idle threads.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 5, 2015
From: WEN, JIJUN; XU, ZHONGQING
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 034632/0077 →
Priority Claims (1)
CN 2013 1 0695039 · Dec 17, 2013 · national
Continuity (2)
Continuation PCTCN2014081825 · Jul 8, 2014
Related Publication 20150169690A1 · Jun 18, 2015