CN103729417B - 一种数据扫描的方法及装置 - Google Patents

一种数据扫描的方法及装置 Download PDF

Info

Publication number
CN103729417B
CN103729417B CN201310695039.5A CN201310695039A CN103729417B CN 103729417 B CN103729417 B CN 103729417B CN 201310695039 A CN201310695039 A CN 201310695039A CN 103729417 B CN103729417 B CN 103729417B
Authority
CN
China
Prior art keywords
data
scanning
partition
cost
data partition
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201310695039.5A
Other languages
English (en)
Other versions
CN103729417A (zh
Inventor
文继军
许中清
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201310695039.5A priority Critical patent/CN103729417B/zh
Publication of CN103729417A publication Critical patent/CN103729417A/zh
Priority to EP14812115.5A priority patent/EP2940600A4/en
Priority to PCT/CN2014/081825 priority patent/WO2015090044A1/zh
Priority to US14/585,874 priority patent/US9875279B2/en
Application granted granted Critical
Publication of CN103729417B publication Critical patent/CN103729417B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD

Abstract

本发明实施例公开了数据扫描的方法及装置,所述方法包括:分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区;获取所述目标数据分区的扫描代价,其中,所述扫描代价包括数据扫描的等待时间;根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果。采用本发明,通过收集数据分区的统计信息,获取扫描代价,合理分配目标数据分区的作业组给处理资源,缩短了整个数据扫描的等待时间。

Description

一种数据扫描的方法及装置
技术领域
本发明涉及数据存储与检索技术领域,尤其涉及一种数据扫描的方法及装置。
背景技术
在计算机系统中,各种字母、数字符号的组合、语音、图形、图像等统称为数据,随着社交网络、物联网等技术的发展,数据以指数的速率在不断的增长。数据规模的增大对数据的检索也提出了更高的要求。
根据一定策略将大规模的数据表中的数据划分成多个物理上或逻辑上的小表,存储在不同的存储单元中,每个存储单元就是一个分区,将需要扫描的分区分配给空闲的工作者即处理资源,如CPU、线程、进程和主机等处理资源,由这些工作者完成对应分区的扫描。
然而,上述检索技术虽然可以找到对应的所需的数据,但当各个分区的数据规模差距较大时,易使一个或多个工作者扫描时间过长,从而导致整个检索过程的等待时间过长。
发明内容
本发明实施例所要解决的技术问题在于,提供一种数据扫描的方法及装置,可使得整个检索扫描过程等待的时间缩短。
为了解决上述技术问题,本发明第一方面提供了一种数据扫描的方法,包括:
分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区;
获取所述目标数据分区的扫描代价,其中,所述扫描代价包括数据扫描的等待时间;
根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果。
在第一种可能的实现方式中,在所述分析接收到的数据扫描请求中携带的数据扫描条件之前,还包括:
收集数据分区的统计信息,其中,所述统计信息包括所述数据分区的数据量和存储介质的访问性能;
根据所述统计信息中所述数据分区的数据量和存储介质的访问性能,获取并配置所述数据分区对应的扫描代价。
结合第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述收集数据分区的统计信息,包括:
扫描每个数据分区的所有数据,计算所述数据分区的数据量,或对所述数据分区的数据进行抽样以估算所述数据分区的数据量,或根据所述数据分区上次统计数据量之后该数据分区进行的数据操作估算当前的数据量;
预先配置所述数据分区存储介质访问的性能,或对所述数据分区执行至少一次的数据采样以确定所述数据分区存储介质访问的性能。
结合第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述收集数据分区的统计信息之前,还包括:
根据事件触发或定时触发收集数据分区统计信息的操作。
结合第一方面的实现方式,在第四种可能的实现方式中,所述根据所述扫描代价,将所述目标数据分区分配给处理资源执行并行扫描,包括:
根据每个目标数据分区的扫描代价,计算合理的目标数据分区作业组使得每组的扫描代价与所有作业组扫描代价的平均值之差在预定的范围内,
其中,所述作业组包含一个或多个所述目标数据分区的扫描;
将所述作业组分配给处理资源以执行并行扫描。
结合第一方面的第四种可能的实现方式,在第五种可能的实现方式中,所述根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果之后,还包括:
将获取的所述处理资源的扫描结果发送给所述数据扫描请求的发起者。
相应地,本发明第二方面提供了一种数据扫描的装置,包括:
确定模块,用于分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区;
第一获取模块,用于获取所述目标数据分区的扫描代价,其中,所述扫描代价包括数据扫描的等待时间;
扫描配置模块,用于根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果。
在第一种可能的实现方式中,还包括:
收集模块,用于收集数据分区的统计信息,其中,所述统计信息包括所述数据分区的数据量和存储介质的访问性能;
第二获取模块,用于根据所述统计信息中所述数据分区的数据量和存储介质的访问性能,获取并配置所述数据分区对应的扫描代价。
结合第二方面第一种可能的实现方式,在第二种可能的实现方式中,所述收集模块包括:
第一统计单元,用于扫描每个数据分区的所有数据,计算所述数据分区的数据量,或对所述数据分区的数据进行抽样以估算所述数据分区的数据量,或根据所述数据分区上次统计数据量之后该数据分区进行的数据操作估算当前的数据量;
第二统计单元,用于预先配置所述数据分区存储介质访问的性能,或对所述数据分区执行至少一次的数据采样以确定所述数据分区存储介质访问的性能。
结合第二方面的第二种可能的实现方式,在第三种可能的实现方式中,还包括:
触发模块,用于根据事件触发或定时触发收集模块收集统计信息的操作。
结合第二方面,在第四种可能的实现方式中,所述扫描配置模块包括:
计算单元,用于根据每个目标数据分区的扫描代价,计算合理的目标数据分区作业组使得每组的扫描代价与所有作业组扫描代价的平均值之差在预定的范围内,其中,所述作业组包含一个或多个所述目标数据分区的扫描;
配置单元,用于将所述作业组分配给处理资源以执行并行数据扫描;
获取单元,用于获取所述处理资源返回的扫描结果。
结合第二方面的第四种可能的实现方式,在第五种可能的实现方式中,还包括:
发送模块,用于将获取的所述处理资源的扫描结果发送给所述数据扫描请求的发起者。
由上可见,本发明的一些可行的实施方式中,通过确定待扫描的目标数据分区,并根据获取的所述目标数据分区的扫描代价,合理的将所述目标数据分区分配给处理资源来执行并行扫描,从而缩短获取所述处理资源的扫描结果的等待时间。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的一种数据扫描的方法的流程示意图;
图2为本发明实施例的一种获取数据分区扫描代价方法的流程示意图;
图3为本发明实施例的另一种数据扫描的方法的流程示意图;
图4为本发明实施例的一种数据扫描的装置的结构示意图;
图5为本发明实施例的一种获取数据分区扫描代价装置的结构示意图;
图6为图5中收集模块的具体结构示意图;
图7为本发明实施例的另一种数据扫描的装置的结构示意图;
图8为图7中扫描配置模块的具体结构示意图;
图9为本发明实施例的一种具体的数据扫描装置的原理示意图;
图10本发明实施例的一种数据处理设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例的一种数据扫描的方法,本发明实施例所述方法可以应用在手机、电脑、移动设备、服务器等终端中,具体的,所述方法包括:
S101:分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区。
其中,数据分区是指将一份规模较大的数据按照一定的策略,如时间、内容、格式等分割成多个较小的数据部分,每个数据部分就是一个数据分区。
当接收到请求者发送的数据扫描请求时,分析所述数据扫描请求中的数据扫描条件,如所需扫描的数据分区,扫描的目标信息,根据所述扫描条件过滤部分不满足条件的数据分组,将所述需扫描的数据分区称为目标数据分区,所述目标数据分区为1-K。
S102:获取所述目标数据分区的扫描代价。
其中,所述扫描代价包括数据扫描的等待时间,等待时间越长,扫描代价越高,反之亦然。
获取所述目标数据分区的扫描代价,可以通过系统预先设置的每个数据分区的扫描代价表中获取,即由本端的数据分区统计信息计算装置,收集各个数据分区的统计信息,所述统计信息主要包括各个数据分区的数据规模(数据规模即分区中数据量的多少),以及各个数据分区所在存储介质的访问性能(单位数据扫描的时间来描述)。所述收集过程可以由需扫描的发起者事件触发或由本端定时触发。所述数据规模可以根据数据分区上的数据或用户对数据分区的历史操作等估算获得,所述访问性能可以根据所述统计信息中数据规模和访问性能估算每个数据分区的扫描代价。
S103:根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果。
可选地,根据S102获取的每个目标数据分区的扫描代价以及工作者池中的空闲处理资源(也称为空闲工作者,如CPU、线程、进程、主机等处理资源),首先计算所有目标数据分区所需分配的作业组个数,其中所述作业组包含一个或多个目标数据分区的扫描任务;其次,根据所述作业组个数,计算所述作业组的平均扫描代价;然后,将将所述目标数据分区分配给所述作业组,使得每组的扫描代价与所述平均扫描代价之差在预定的范围内;最后,由本端的扫描结果汇聚装置收集所述扫描结果,并发送给所述数据扫描请求的发起者。
由上可见,本发明实施例通过获取待扫描的目标数据分区及其扫描代价经过相应的计算处理,将目标数据分区分组后分配给处理资源执行扫描,避免了处理资源任务不平衡导致的总扫描时间过长的问题,即缩短了数据扫描等待时间。
图2为本发明实施例的一种获取数据分区扫描代价方法的流程示意图,本发明实施例所述的方法可以应用在上述图1对应的实施例中的步骤S101之前执行,本发明实施例的具体方法为:
S201:根据事件触发或定时触发收集数据分区统计信息的操作。
其中,所述事件包括鼠标点击事件、键盘事件、操作系统事件、以及应用程序根据软硬件运行状态触发事件等;定时触发包括本端通过设置计时器以有规律的时间间隔执行收集统计信息等操作。
其中,所述统计信息包括数据分区的数据规模即数据量,以及所述数据分区所在存储介质的访问性能。
S202:收集数据分区的统计信息。
在S201触发收集操作之后,由本端收集数据分区的统计信息,具体的收集方式为:
(1)收集所述数据分区的数据规模
通过扫描每个数据分区的所有数据,计算所述数据分区的数据量;
或对所述数据分区的数据进行抽样以估算所述数据分区的数据量;
或根据所述数据分区上次在收集时统计的数据量以来,该数据分区所做的数据操作,如删除、添加等估算当前的数据量。
(2)收集所述数据分区的存储介质的访问性能
通过预先设置所述数据分区的存储介质的访问性能(单位数据扫描的时间),即人工配置;
通过多次访问所述数据分区的扫描时间求平均值来获得存储介质的访问性能。
S203:根据所述统计信息中所述数据分区的数据量和存储介质的访问性能,获取并配置所述数据分区对应的扫描代价。
具体的,根据所述数据分区的数据量和存储介质的访问性能,计算所述数据分区对应的扫描代价的方式有多种,例如:
数据分区扫描代价=数据分区的数据规模×存储介质的访问性能
根据本发明实施例,下表1举例给出了数据分区1-K与扫描代价之间的对应关系:
表1
若在上述实施例步骤S101之前已获得如表1类似的各数据分区的扫描代价表,则在执行步骤S102时,可及时的获取所述目标数据分区的扫描代价以便于合理分组使扫描等待时间缩短。
图3为本发明实施例的另一种数据扫描的方法的流程示意图,本发明实施例所述方法可以应用在手机、电脑、移动设备、服务器等终端中,具体的,所述方法包括:
S301:分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区。
也可以根据所述数据扫描条件过滤部分不满足条件的数据分区,将满足条件待扫描的数据分区作为目标数据分区。
S302:获取所述目标数据分区的扫描代价。
可以采用上述实施例的方法,从数据分区与扫描代价的对应关系表中,获取所述目标数据分区的扫描代价。
S303:根据每个目标数据分区的扫描代价,计算合理的目标数据分区作业组使得每组的扫描代价与所有作业组扫描代价的平均值之差在预定的范围内。
其中,所述作业组包含一个或多个所述目标数据分区的扫描任务。
S304:将所述作业组分配给处理资源以执行并行扫描。
S305:获取所述处理资源返回的扫描结果。
所述处理资源可以扫描完一个目标数据分区返回一条结果,也可以扫描完一批目标数据分区再返回所有的扫描结果。
S306:将获取的所述扫描结果发送给所述数据扫描请求的发起者。
本发明实施例通过收集数据分区的数据量和所在存储介质的访问性能,估算每个数据分区的扫描代价,然后计算合理的目标数据分区分组(作业组),分配给空闲的处理资源使得每个作业组的扫描时间接近所有作业组扫描代价的平均值,由所述处理资源即工作者将扫描结果返回给数据扫描请求的发起者,缩短整个扫描的等待时间。
图4为本发明实施例的一种数据扫描的装置的结构示意图,所述数据扫描的装置包括:确定模块10、第一获取模块11、扫描配置模块12,其中,
所述确定模块10,用于分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区。
其中,数据分区是指将一份规模较大的数据按照一定的策略,如时间、内容、格式等分割成多个较小的数据部分,每个数据部分就是一个数据分区。
当所述确定模块10接收到请求者发送的数据扫描请求时,分析所述数据扫描请求中的数据扫描条件,如所需扫描的数据分区,扫描的目标信息,根据所述扫描条件过滤部分不满足条件的数据分组,将所述需扫描的数据分区称为目标数据分区,所述目标数据分区有1-K个。
所述第一获取模块11,用于获取所述目标数据分区的扫描代价。
其中,所述扫描代价包括数据扫描的等待时间,等待时间越长,扫描代价越高,反之亦然。
所述第一获取模块11获取所述目标数据分区的扫描代价,可以通过系统预先设置的每个数据分区的扫描代价表中获取,即由本端的数据分区统计信息计算装置,收集各个数据分区的统计信息,所述统计信息主要包括各个数据分区的数据规模(数据规模即分区中数据量的多少),以及各个数据分区所在存储介质的访问性能(单位数据扫描的时间来描述)。所述收集过程可以由需扫描的发起者事件触发或由本端定时触发。所述数据规模可以根据数据分区上的数据或用户对数据分区的历史操作等估算获得,所述访问性能可以根据所述统计信息中数据规模和访问性能估算每个数据分区的扫描代价。
所述扫描配置模块12,用于根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果。
可选地,根据所述第一获取模块11获取的每个目标数据分区的扫描代价以及工作者池中的空闲处理资源(也称为空闲工作者,如CPU、线程、进程、主机等处理资源),首先计算所有目标数据分区所需分配的作业组个数,其中所述作业组包含一个或多个目标数据分区的扫描任务;其次,根据所述作业组个数,计算所述作业组的平均扫描代价;然后,将将所述目标数据分区分配给所述作业组,使得每组的扫描代价与所述平均扫描代价之差在预定的范围内;最后,由本端的扫描结果汇聚装置收集所述扫描结果,并发送给所述数据扫描请求的发起者。
由上可见,本发明实施例通过获取待扫描的目标数据分区及其扫描代价经过相应的计算处理,将目标数据分区分组后分配给处理资源执行扫描,避免了处理资源任务不平衡导致的总扫描时间过长的问题,即缩短了数据扫描等待时间。
图5为本发明实施例的一种获取数据分区扫描代价的装置的结构示意图,本发明实施例所述的装置可以应用在上述实施例中用于获取目标数据分区的扫描代价,具体的,所述装置包括:触发模块20、收集模块21、第二获取模块22,其中,所述触发模块20,用于根据事件触发或定时触发收集模块收集统计信息的操作。
其中,所述事件就是某个对象发出的消息,如鼠标点击事件、键盘事件、操作系统的各种事件等,使本端需执行收集统计信息等操作;定时触发是指本端通过设置计时器以有规律的时间间隔执行收集统计信息等操作。
其中,所述统计信息包括数据分区的数据规模即数据量,以及所述数据分区所在存储介质的访问性能。
所述收集模块21,用于收集数据分区的统计信息,其中,所述统计信息包括所述数据分区的数据量和存储介质的访问性能。
所述第二获取模块22,用于根据所述统计信息中所述数据分区的数据量和存储介质的访问性能,获取并配置所述数据分区对应的扫描代价。
其中,如图6所示,所述收集模块21包括:
第一统计单元210,用于扫描每个数据分区的所有数据,计算所述数据分区的数据量,或对所述数据分区的数据进行抽样以估算所述数据分区的数据量,或根据所述数据分区上次统计数据量之后该数据分区进行的数据操作估算当前的数据量;
第二统计单元211,用于预先配置所述数据分区存储介质访问的性能,或对所述数据分区执行至少一次的数据采样以确定所述数据分区存储介质访问的性能。
本发明实施例所述的获取扫描代价的装置可以在事件触发或定时触发时,收集各个数据分区的统计信息来计算每个数据分区的扫描代价,并生成数据分区与扫描代价的对应关系,便于数据扫描过程中获取扫描代价来优化扫描的等待时间。
图7为本发明实施例的另一种数据扫描的装置的结构示意图,所述装置除包括上述实施例中的所述确定模块10、所述第一获取模块11和所述扫描配置模块12外,还包括:
发送模块13,用于将获取的所述处理资源的扫描结果发送给所述数据扫描请求的发起者。
其中,如图8所示,所述扫描配置模块12包括:
计算单元120,用于根据每个目标数据分区的扫描代价,计算合理的目标数据分区作业组使得每组的扫描代价与所有作业组扫描代价的平均值之差在预定的范围内,其中,所述作业组包含一个或多个所述目标数据分区的扫描。
配置单元121,用于将所述作业组分配给处理资源以执行并行数据扫描。
获取单元122,用于获取所述处理资源返回的扫描结果。
所述处理资源可以扫描完一个目标数据分区返回一条结果,也可以扫描完一批目标数据分区再返回所有的扫描结果。
本发明实施例所述的数据扫描装置还采用图5所述的获取数据分区扫描代价的装置共同完成数据分区的扫描处理,具体如图9所示,上述实施例的获取数据分区扫描代价的装置的触发模块20触发收集模块21收集各数据分区的统计信息(包括数据量和存储介质的访问性能),如图中所示的统计1至统计K,然后由第二获取模块22通过计算获取每个数据分区的扫描代价,并生成如表1所示的数据分区与扫描代价的对应关系。
本实施例的数据扫描装置的确定模块10确定出待扫描的目标数据分区1至目标数据分区K,简称分区1至分区K,第一获取模块11从获取数据分区扫描代价的装置中获取各目标数据分区的扫描代价,根据所述第一获取模块11的结果,扫描配置模块12分组为如图所示的作业组1至作业组M’,其中每个作业组包含的目标数据分区的扫描代价之和不大于所有作业组扫描代价的平均值;所述扫描配置模块12将所得作业组1至作业组M’分别分配给处理资源池中的空闲处理资源1至处理资源M,并获取所述处理资源1至处理资源M’的处理结果;所述数据扫描装置的发送模块13将所述处理结果返回给数据扫描请求发起者。
本发明实施例通过收集数据分区的数据量和所在存储介质的访问性能,估算每个数据分区的扫描代价,然后计算合理的目标数据分区分组(作业组),分配给空闲的处理资源使得每个作业组的扫描时间接近所有作业组扫描代价的平均值,由所述处理资源即工作者将扫描结果返回给数据扫描请求的发起者,缩短整个扫描的等待时间。
图10为本发明实施例的一种数据扫描设备的结构示意图,所述数据扫描设备包括:处理器30、通信接口31和存储器32,本发明实施例中所述处理器30、通信接口31和存储器32可通过通信总线或其他方式连接。
其中,所述通信接口31用于接收数据扫描请求或发送数据扫描结果给数据扫描请求的发起者;
所述存储器32用于存储程序;
所述处理器30可以用于调用所述存储器32中存储的实现数据扫描的程序,执行以下步骤:
分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区;
获取所述目标数据分区的扫描代价,其中,所述扫描代价包括数据扫描的等待时间;
根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果。
其中,所述处理器30在执行所述分析接收到的数据扫描请求中携带的数据扫描条件之前,还执行如下步骤:
收集数据分区的统计信息,其中,所述统计信息包括所述数据分区的数据量和存储介质的访问性能;
根据所述统计信息中所述数据分区的数据量和存储介质的访问性能,获取并配置所述数据分区对应的扫描代价。
其中,所述处理器30在执行所述收集数据分区的统计信息时,具体执行如下步骤:
扫描每个数据分区的所有数据,计算所述数据分区的数据量,或对所述数据分区的数据进行抽样以估算所述数据分区的数据量,或根据所述数据分区上次统计数据量之后该数据分区进行的数据操作估算当前的数据量;
预先配置所述数据分区存储介质访问的性能,或对所述数据分区执行至少一次的数据采样以确定所述数据分区存储介质访问的性能。
其中,所述处理器30在执行所述收集数据分区的统计信息之前,还执行根据事件触发或定时触发收集数据分区统计信息的操作。
其中,所述处理器30执行根据所述扫描代价,将所述目标数据分区分配给处理资源执行并行扫描,包括如下步骤:
根据每个目标数据分区的扫描代价,计算合理的目标数据分区作业组使得每组的扫描代价与所有作业组扫描代价的平均值之差在预定的范围内,
其中,所述作业组包含一个或多个所述目标数据分区的扫描;
将所述作业组分配给处理资源以执行并行扫描。
其中,所述处理器30在执行上述步骤之后,还执行步骤:
将获取的所述处理资源的扫描结果发送给所述数据扫描请求的发起者。
由上可见,本发明实施例通过获取待扫描的目标数据分区及其扫描代价经过相应的计算处理,将目标数据分区分组后分配给处理资源执行扫描,避免了处理资源任务不平衡导致的总扫描时间过长的问题,即缩短了数据扫描等待时间。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (8)

1.一种数据扫描的方法,其特征在于,包括:
分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区;
获取所述目标数据分区的扫描代价,其中,所述扫描代价包括数据扫描的等待时间;
根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果;
其中,分析接收到的数据扫描请求中携带的数据扫描条件之前,还包括:
收集数据分区的统计信息,其中,所述统计信息包括所述数据分区的数据量和存储介质的访问性能;
根据所述统计信息中所述数据分区的数据量和存储介质的访问性能,获取并配置所述数据分区对应的扫描代价;
所述收集数据分区的统计信息之前,还包括:
根据事件触发或定时触发收集数据分区统计信息的操作。
2.如权利要求1所述的方法,其特征在于,所述收集数据分区的统计信息,包括:
扫描每个数据分区的所有数据,计算所述数据分区的数据量,或对所述数据分区的数据进行抽样以估算所述数据分区的数据量,或根据所述数据分区上次统计数据量之后该数据分区进行的数据操作估算当前的数据量;
预先配置所述数据分区存储介质访问的性能,或对所述数据分区执行至少一次的数据采样以确定所述数据分区存储介质访问的性能。
3.如权利要求1所述的方法,其特征在于,根据所述扫描代价,将所述目标数据分区分配给处理资源执行并行扫描,包括:
根据每个目标数据分区的扫描代价,计算合理的目标数据分区作业组使得每组的扫描代价与所有作业组扫描代价的平均值之差在预定的范围内,
其中,所述作业组包含一个或多个所述目标数据分区的扫描;
将所述作业组分配给处理资源以执行并行扫描。
4.如权利要求1或3所述的方法,其特征在于,还包括:
将获取的所述处理资源的扫描结果发送给所述数据扫描请求的发起者。
5.一种数据扫描的装置,其特征在于,包括:
确定模块,用于分析接收到的数据扫描请求中携带的数据扫描条件,确定至少一个用于存储数据的目标数据分区;
第一获取模块,用于获取所述目标数据分区的扫描代价,其中,所述扫描代价包括数据扫描的等待时间;
扫描配置模块,用于根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果;
还包括:
收集模块,用于收集数据分区的统计信息,其中,所述统计信息包括所述数据分区的数据量和存储介质的访问性能;
第二获取模块,用于根据所述统计信息中所述数据分区的数据量和存储介质的访问性能,获取并配置所述数据分区对应的扫描代价;
触发模块,用于根据事件触发或定时触发收集模块收集统计信息的操作。
6.如权利要求5所述的装置,其特征在于,所述收集模块包括:
第一统计单元,用于扫描每个数据分区的所有数据,计算所述数据分区的数据量,或对所述数据分区的数据进行抽样以估算所述数据分区的数据量,或根据所述数据分区上次统计数据量之后该数据分区进行的数据操作估算当前的数据量;
第二统计单元,用于预先配置所述数据分区存储介质访问的性能,或对所述数据分区执行至少一次的数据采样以确定所述数据分区存储介质访问的性能。
7.如权利要求5所述的装置,其特征在于,所述扫描配置模块包括:
计算单元,用于根据每个目标数据分区的扫描代价,计算合理的目标数据分区作业组使得每组的扫描代价与所有作业组扫描代价的平均值之差在预定的范围内,其中,所述作业组包含一个或多个所述目标数据分区的扫描;
配置单元,用于将所述作业组分配给处理资源以执行并行数据扫描;
获取单元,用于获取所述处理资源返回的扫描结果。
8.如权利要求5或7所述的装置,其特征在于,所述根据所述扫描代价,将所述目标数据分区分配给处理资源以执行并行数据扫描,并获取所述处理资源返回的扫描结果之后,还包括:
发送模块,用于将获取的所述处理资源的扫描结果发送给所述数据扫描请求的发起者。
CN201310695039.5A 2013-12-17 2013-12-17 一种数据扫描的方法及装置 Active CN103729417B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201310695039.5A CN103729417B (zh) 2013-12-17 2013-12-17 一种数据扫描的方法及装置
EP14812115.5A EP2940600A4 (en) 2013-12-17 2014-07-08 DATA SCANNING METHOD AND DEVICE
PCT/CN2014/081825 WO2015090044A1 (zh) 2013-12-17 2014-07-08 一种数据扫描的方法及装置
US14/585,874 US9875279B2 (en) 2013-12-17 2014-12-30 Data scanning method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310695039.5A CN103729417B (zh) 2013-12-17 2013-12-17 一种数据扫描的方法及装置

Publications (2)

Publication Number Publication Date
CN103729417A CN103729417A (zh) 2014-04-16
CN103729417B true CN103729417B (zh) 2017-11-03

Family

ID=50453491

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310695039.5A Active CN103729417B (zh) 2013-12-17 2013-12-17 一种数据扫描的方法及装置

Country Status (3)

Country Link
EP (1) EP2940600A4 (zh)
CN (1) CN103729417B (zh)
WO (1) WO2015090044A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976888A (zh) * 2019-03-25 2019-07-05 苏州达家迎信息技术有限公司 一种数据扫描方法、装置、设备和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9875279B2 (en) 2013-12-17 2018-01-23 Huawei Technologies Co., Ltd. Data scanning method and apparatus
CN103729417B (zh) * 2013-12-17 2017-11-03 华为技术有限公司 一种数据扫描的方法及装置
KR101833996B1 (ko) 2017-08-18 2018-04-13 주식회사 마크베이스 데이터 검색 시스템 및 방법
CN110569129A (zh) * 2019-09-12 2019-12-13 北京明略软件系统有限公司 资源分配方法及装置、存储介质、电子装置

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6778977B1 (en) * 2001-04-19 2004-08-17 Microsoft Corporation Method and system for creating a database table index using multiple processors
US8126870B2 (en) * 2005-03-28 2012-02-28 Sybase, Inc. System and methodology for parallel query optimization using semantic-based partitioning
US20090204583A1 (en) * 2006-06-08 2009-08-13 International Business Machines Corporation Method for providing access to data stored in a database to an application
CN101908003B (zh) * 2009-06-05 2014-10-22 Sap股份公司 并行化查询的多核调度
CN101739451A (zh) * 2009-12-03 2010-06-16 南京航空航天大学 一种网格数据库连接查询自适应处理方法
US8631000B2 (en) * 2010-09-30 2014-01-14 International Business Machines Corporation Scan sharing for query predicate evaluations in column-based in-memory database systems
US9595054B2 (en) * 2011-06-27 2017-03-14 Microsoft Technology Licensing, Llc Resource management for cloud computing platforms
CN103064875B (zh) * 2012-10-30 2017-06-16 中国标准化研究院 一种服务化空间数据分布式查询方法
CN103729417B (zh) * 2013-12-17 2017-11-03 华为技术有限公司 一种数据扫描的方法及装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109976888A (zh) * 2019-03-25 2019-07-05 苏州达家迎信息技术有限公司 一种数据扫描方法、装置、设备和存储介质

Also Published As

Publication number Publication date
EP2940600A1 (en) 2015-11-04
CN103729417A (zh) 2014-04-16
EP2940600A4 (en) 2016-01-06
WO2015090044A1 (zh) 2015-06-25

Similar Documents

Publication Publication Date Title
CN103729417B (zh) 一种数据扫描的方法及装置
CN109343965A (zh) 资源调整方法、装置、云平台和服务器
CN107015892A (zh) 一种压力测试方法、装置和系统
CN110163474A (zh) 一种任务分配的方法及设备
CN101290668B (zh) 一种分时作业动态调度方法和装置
CN103414577B (zh) 用于Hadoop平台的计费系统及方法
CN110264039A (zh) 一种工作报表的生成方法及设备
CN110300134A (zh) 云存储资源池的存储空间调整方法、装置及云存储系统
CN107656807A (zh) 一种虚拟资源的自动弹性伸缩方法及装置
CN104331328A (zh) 虚拟资源调度方法和虚拟资源调度装置
CN104699529B (zh) 一种信息获取方法及装置
CN110471749A (zh) 任务处理方法、装置、计算机可读存储介质和计算机设备
CN108268546A (zh) 一种优化数据库的方法及装置
CN106970841A (zh) 一种基于云计算的资源限制及动态调整方法
CN108520329B (zh) 基于经纪人画像的二手房客户精准自动分配方法及装置
CN111415062A (zh) 众包任务分配方法、装置、电子设备及存储介质
CN108920098A (zh) 一种存储管理系统收集信息的方法、系统及设备
CN110308901A (zh) 处理前端页面中数据变量方法、装置、设备和存储介质
CN206480045U (zh) 一种客服服务器及客服服务系统
CN111768174A (zh) 一种活动管理方法、装置、设备及介质
CN110347477A (zh) 一种云环境下服务自适应部署方法和装置
CN106599005A (zh) 一种数据归档方法及装置
CN108984427A (zh) 一种基于申威架构的设备中内存的处理方法及装置
CN101374314B (zh) 一种原始性能计数器的采集方法及装置
CN109634725A (zh) 一种群智感知任务的派发方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant