CN109582696B - 扫描任务的生成方法及装置、电子设备 - Google Patents

扫描任务的生成方法及装置、电子设备 Download PDF

Info

Publication number
CN109582696B
CN109582696B CN201811173738.2A CN201811173738A CN109582696B CN 109582696 B CN109582696 B CN 109582696B CN 201811173738 A CN201811173738 A CN 201811173738A CN 109582696 B CN109582696 B CN 109582696B
Authority
CN
China
Prior art keywords
scanned
partition
node
tasks
partitions
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
CN201811173738.2A
Other languages
English (en)
Other versions
CN109582696A (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.)
Beijing Oceanbase Technology Co Ltd
Original Assignee
Beijing Oceanbase Technology 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 Beijing Oceanbase Technology Co Ltd filed Critical Beijing Oceanbase Technology Co Ltd
Priority to CN201811173738.2A priority Critical patent/CN109582696B/zh
Publication of CN109582696A publication Critical patent/CN109582696A/zh
Application granted granted Critical
Publication of CN109582696B publication Critical patent/CN109582696B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本说明书一个或多个实施例提供一种扫描任务的生成方法及装置、电子设备,该方法可以包括:获取待扫描节点中待扫描分区的分区数量;获取分配于所述待扫描节点的节点并行度;确定所述分区数量与所述节点并行度的大小关系;生成多个并行扫描任务,所述多个并行扫描任务的扫描范围与所述大小关系相关。

Description

扫描任务的生成方法及装置、电子设备
技术领域
本说明书一个或多个实施例涉及数据查询技术领域,尤其涉及一种扫描任务的生成方法及装置、电子设备。
背景技术
在MPP(Massively Parallel Processing,大规模并行处理系统)系统架构下,由于关系表的数据量巨大,关系表往往被按照规则划分为多个分区,而各分区分布于系统架构的多个节点中。因此,当任一节点接收到针对数据的查询指令时,需要以一定的并行度扫描各个分区,以查询相应的数据。并行扫描可以分解为多个独立的并行扫描任务(即扫描任务之间并行执行),而各并行扫描任务由一个工作线程或进程来并行执行。
发明内容
有鉴于此,本说明书一个或多个实施例提供一种扫描任务的生成方法及装置、电子设备。
为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
根据本说明书一个或多个实施例的第一方面,提出了一种扫描任务的生成方法,包括:
获取待扫描节点中待扫描分区的分区数量;
获取分配于所述待扫描节点的节点并行度;
确定所述分区数量与所述节点并行度的大小关系;
生成多个并行扫描任务,所述多个并行扫描任务的扫描范围与所述大小关系相关。
根据本说明书一个或多个实施例的第二方面,提出了一种扫描任务的生成装置,包括:
分区获取单元,获取待扫描节点中待扫描分区的分区数量;
并行度获取单元,获取分配于所述待扫描节点的节点并行度;
确定单元,确定所述分区数量与所述节点并行度的大小关系;
第一生成单元,生成多个并行扫描任务,所述多个并行扫描任务的扫描范围与所述大小关系相关。
根据本说明书一个或多个实施例的第三方面,提出了一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如上述任一实施例所述的扫描任务的生成方法。
附图说明
图1是一示例性实施例提供的一种扫描任务的生成方法的流程图。
图2是一示例性实施例提供的采用宏块范围的方式划分并行扫描任务的示意图。
图3是一示例性实施例提供的另一种扫描任务的生成方法的流程图。
图4是一示例性实施例提供的一种设备的结构示意图。
图5是一示例性实施例提供的一种扫描任务的生成装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
请参见图1,图1是一示例性实施例提供的一种扫描任务的生成方法的流程图。如图1所示,该方法应用于系统架构(包含多台节点设备)中的任一节点设备中,可以包括以下步骤:
步骤102,获取待扫描节点中待扫描分区的分区数量。
步骤104,获取分配于所述待扫描节点的节点并行度。
在本实施例中,由于数据库中的关系表的数据量巨大并具有扩展性,在存储关系表时,往往按照一定的规则将关系表进行数据的分区,以及将分区的数据分散存储于不同的节点(即节点设备)中。而待扫描节点在执行SQL语句(Structured Query Language,结构化查询语言)进行并行查询时,并行扫描可以分解为多个独立的并行扫描任务(即扫描任务之间并行执行),而各并行扫描任务由待扫描节点的一个工作线程或工作进程来并行执行。
在本实施例中,当需要查询关系表中的数据时,系统架构中主节点上的优化器在计划生成阶段,确定整个系统架构中所有节点的总并行度。其中,总并行度可由用户根据实际情况灵活设定。或者,由优化器根据关系表的数据量和节点的性能等参数来确定。例如,可设置总并行度与关系表的数据量呈正相关,总并行度与节点的性能呈正相关。
基于对总并行度的确定,可根据待扫描节点中待扫描分区的分区数量(即待扫描节点中所有待扫描分区的数量)与总分区数量(即待扫描节点所处系统架构中所有节点包含的分区的数量)的占比,来确定待扫描节点的并行度(即步骤104中的节点并行度),从而使得确定出的并行度与节点的性能相匹配。作为一示例性实施例,可获取所述待扫描节点所处系统架构中所有节点的总并行度与总分区数量,再按照所述分区数量与所述总分区数量的比例,对所述总并行度进行分配,以得到所述节点并行度。而针对待扫描分区的分区数量的获取,可采用动态数据过滤技术对所述待扫描节点包含的分区进行过滤,以得到所述待扫描分区,再获取所述待扫描分区的分区数量。例如,可采用动态分区裁剪对所述待扫描节点包含的分区进行过滤,以过滤掉不必要扫描的分区,从而提高查询效率。
步骤106,确定所述分区数量与所述节点并行度的大小关系。
步骤108,生成多个并行扫描任务,所述多个并行扫描任务的扫描范围与所述大小关系相关。
在本实施例中,可根据所述分区数量与所述节点并行度的大小关系,来选择划分并行扫描任务的方式。其中,划分并行扫描任务的方式包括采用分区范围(paritionrange)的方式和采用宏块范围(block range)的方式。采用分区范围(parition range)的方式划分并行扫描任务,即每个并行扫描任务覆盖一个完整的分区。而相比于采用分区范围的方式,采用宏块范围的方式所划分的粒度更细,即各扫描任务的范围更小。如图2所示,当采用宏块范围的方式从查询关系表的涉及范围中划分并行扫描任务后,扫描任务1的范围为扫描任务范围1(包含宏块1-2),扫描任务2的范围为扫描任务范围2(包含宏块3-4)。由上述划分的方式可知,当采用分区范围的方式划分扫描任务时,若各个分区包含的数据量差异较大(即存在数据倾斜),则将导致节点在执行划分出的并行扫描任务时,执行各并行扫描任务花费的时长也随之差异较大(即执行长尾)。例如,假定节点1包含分区A和分区B,分区A的数据量为1GB,分区B的数据量为9GB;那么,对应于分区A的扫描任务a需扫描1GB的数据,而对应于分区B的扫描任务b需扫描9GB的数据,其花费的时长远远大于扫描任务a花费的时长(扫描任务a和扫描任务b并行执行)。而由于采用宏块范围的方式,以分区中的宏块为单位来划分扫描任务,其划分的粒度细于采用分区范围的方式,从而可减少数据倾斜和执行长尾的情况。但是,由于粒度更细,划分出的扫描任务更多,导致造成了更高的划分开销,节点执行并行扫描任务占用的处理资源更多,导致影响节点的性能。因此,本说明书扫描任务的生成方案根据待扫描节点中待扫描分区的分区数量与节点并行度之间的大小关系,自适应地选取适合的划分方式来生成相应的扫描任务,从而使得在执行生成的扫描任务时,避免出现因数据倾斜造成执行长尾的问题,从而提高扫描效率。
在一实施例中,当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间不存在数据倾斜时,采用分区范围的方式划分并行扫描任务。其中,该预设倍数可由用户根据实际情况灵活设定,本说明书一个或多个实施例并不对此进行限制。需要说明的是,预设倍数的节点并行度可理解为用于衡量分区数量是否相对较多。进一步的,当分区数量大于预设倍数的节点并行度时,可理解为分区数量相对较多;若不存在数据倾斜,采用分区范围的方式划分并行扫描任务(即每个分区对应一个并行扫描任务),可避免生成过多的并行扫描任务,从而避免造成过高的划分开销,以及执行并行扫描任务时占用过多的处理资源。
在一实施例中,当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间存在数据倾斜时,或者当所述分区数量不大于预设倍数的所述节点并行度时,可采用宏块范围的方式划分并行扫描任务。当各待扫描分区之间存在数据倾斜时,采用宏块范围的方式划分并行扫描任务可有效解决因数据倾斜造成执行长尾的问题。当分区数量不大于预设倍数的节点并行度时,可理解为分区数量相对较少,通过采用宏块范围的方式划分并行扫描任务,一方面可有效解决因数据倾斜造成执行长尾的问题,另一方面基于节点的性能足够支持并行执行所划分出的并行扫描任务(即对应于节点的并行度足够多),可充分利用节点的处理资源,从而提高扫描效率。需要说明的是,在采用宏块范围的方式划分并行扫描任务时,划分出的并行扫描任务仅与一个待扫描分区相对应。换言之,划分出的每个并行扫描任务仅扫描一个待扫描分区的数据,不能够“跨分区”,举例而言,假定分区1的宏块数量为40,分区2的宏块数量为10,采用宏块范围的方式划分出的每个并行扫描任务的扫描范围为25个宏块;那么,分区1由2个并行扫描任务进行扫描,分区2由1个并行扫描任务进行扫描。
进一步的,可根据节点并行度对采用宏块范围的方式划分出并行扫描任务的数量进行调整,从而避免生成过多的并行扫描任务,进而避免造成过高的划分开销,以及执行并行扫描任务时占用待扫描节点过多的处理资源。具体的,获取采用宏块范围的方式划分出的并行扫描任务的任务数量,并在所述任务数量不在任务数量范围内时,将所述任务数量调整至所述任务数量范围内。其中,所述任务数量范围的边界值与所述节点并行度相关联。需要说明的是,该任务数量范围可由用户根据实际情况灵活设定,只需保证边界值与节点并行度相关联即可,本说明书一个或多个实施例并不对此进行限制。例如,任务数量范围可设置为:13×节点并行度<划分出的任务数量<100×节点并行度。假定划分出的任务数量为85,节点并行度为8,则划分出的任务数量不在任务数量范围内,那么可将任务数量调整为104,即任务数量范围的下边界值。当然,也可调整为位于任务数量范围之内的任意数值,本说明书一个或多个实施例并不对此进行限制。
在本实施例中,待扫描节点的空白区可能也存在需要扫描的数据(例如,空分区对应的memtable可能含有数据),因此除采用宏块范围的方式划分出的并行扫描任务外,针对所述待扫描节点中的每一空分区生成其他并行扫描任务。针对空白区也划分相应的并行扫描任务,可保证不含微块的分区有相应的扫描任务负责扫描。
在本实施例中,在采用宏块范围的方式划分出对应于待扫描节点的并行扫描任务后,还可进一步针对待扫描节点中的待扫描分区分配并行扫描任务,以明确各个待扫描分区对应的并行扫描任务的数量。具体的,当采用宏块范围的方式划分并行扫描任务时,可先获取所有并行扫描任务的任务总数量、各待扫描分区包含的宏块数量以及所有待扫描分区的宏块总数量,再按照各待扫描分区包含的宏块数量与所述宏块总数量的比例分配所述任务总数量,以得到对应于各待扫描分区的任务数量。
为了便于理解,下面结合举例和附图对本说明书的扫描任务的生成方案进行详细说明。
请参见图3,图3是一示例性实施例提供的另一种扫描任务的生成方法的流程图。如图3所示,该方法应用于系统架构(包含多台节点设备)中的任一节点设备中,可以包括以下步骤:
步骤302,对待扫描节点进行动态分区裁剪。
在本实施例中,可采用动态分区裁剪对待扫描节点包含的分区进行过滤,以得到待扫描分区。通过对待扫描节点包含的分区进行过滤,以过滤掉不必要扫描的分区,可提高查询效率。
步骤304,获取待扫描节点中待扫描分区的分区数量。
步骤306,获取待扫描节点的节点并行度。
在本实施例中,当需要查询关系表中的数据时,系统架构中主节点上的优化器在计划生成阶段,确定整个系统架构中所有节点的总并行度。其中,总并行度可由用户根据实际情况灵活设定。或者,由优化器根据关系表的数据量和节点的性能等参数来确定。例如,可设置总并行度与关系表的数据量呈正相关,总并行度与节点的性能呈正相关。基于对总并行度的确定,可根据待扫描节点中待扫描分区的分区数量(即待扫描节点中所有待扫描分区的数量)与总分区数量(即待扫描节点所处系统架构中所有节点包含的分区的数量)的占比,来确定待扫描节点的并行度(即节点并行度),从而使得确定出的并行度与节点的性能相匹配。其中,计算节点并行度的操作可由主节点的优化器来执行,再由主节点下发至待扫描节点。例如,在计算出各个节点的并行度后,由查询发起的主节点Query Coordinator(QC)向各节点发送执行命令(包含计算出的并行度)。各节点在接收到该执行命令后,由各自的Sub Query Coordinator(SQC)生成并行扫描任务。当然,计算节点并行度的操作也可由各节点自身来执行。
举例而言,在获取到总并行度与总分区数量后,待扫描节点可通过以下公式来计算节点并行度:节点并行度=(待扫描分区的分区数量/总分区数量)×总并行度。
步骤308,判断分区数量是否大于节点并行度的2倍,若大于,则转入步骤310,否则转入步骤314。
在本实施例中,预设倍数(本实施例中为2倍,可根据实际情况灵活设定)的节点并行度可理解为用于衡量分区数量是否相对较多。进一步的,当分区数量大于预设倍数的节点并行度时,可理解为分区数量相对较多;若不存在数据倾斜,采用分区范围的方式划分并行扫描任务(即每个分区对应一个并行扫描任务),可避免生成过多的并行扫描任务,从而避免造成过高的划分开销,以及执行并行扫描任务时占用过多的处理资源。当分区数量大于预设倍数的节点并行度,且各待扫描分区之间存在数据倾斜时,或者当分区数量不大于预设倍数的节点并行度时,可采用宏块范围的方式划分并行扫描任务。当各待扫描分区之间存在数据倾斜时,采用宏块范围的方式划分并行扫描任务可有效解决因数据倾斜造成执行长尾的问题。当分区数量不大于预设倍数的节点并行度时,可理解为分区数量相对较少,通过采用宏块范围的方式划分并行扫描任务,一方面可有效解决因数据倾斜造成执行长尾的问题,另一方面基于待扫描节点的性能足够支持并行执行所划分出的并行扫描任务(即对应于待扫描节点的并行度足够多),可充分利用待扫描节点的处理资源,从而提高扫描效率。
步骤310,判断各待扫描分区之间是否存在数据倾斜,若存在数据倾斜,则转入步骤314,否则转入步骤312。
步骤312,采用分区范围的方式划分并行扫描任务。
例如,待扫描分区包含分区1-9,则可以针对每个待扫描分区分别生成相应的并行扫描任务1-9。其中,各并行扫描任务覆盖对应于各自的待扫描分区的范围。
步骤314,采用分区范围的方式划分并行扫描任务。
在本实施例中,即使分区数量大于预设倍数的节点并行度,但由于各待扫描分区之间存在数据倾斜,也采用宏块范围的方式划分并行扫描任务,以解决因数据倾斜造成执行长尾的问题。其中,对于采用宏块范围的方式划分出并行扫描任务的数量,可根据待扫描分区包含的宏块数量、宏块大小和关系表的table_size等属性来确定。
步骤316,判断采用宏块范围的方式划分出的并行扫描任务的任务数量是否在任务数量范围内,若在任务数量范围内,则转入步骤320,否则转入步骤318。
在本实施例中,还可根据节点并行度对采用宏块范围的方式划分出并行扫描任务的数量进行调整,从而避免生成过多的并行扫描任务,进而避免造成过高的划分开销,以及执行并行扫描任务时占用待扫描节点过多的处理资源。其中,任务数量范围的边界值(包括上边界值和下边界值)与节点并行度相关联。需要说明的是,该任务数量范围可由用户根据实际情况灵活设定,只需保证边界值与节点并行度相关联即可,本说明书一个或多个实施例并不对此进行限制。
步骤318,将采用宏块范围的方式划分出的并行扫描任务的任务数量调整至任务数量范围内。
举例而言,任务数量范围为:13×节点并行度<划分出的任务数量<100×节点并行度。在一种情况下,假定划分出的任务数量为80,节点并行度为7,则划分出的任务数量80小于对应的任务数量范围的下边界值,那么可将任务数量调整为该下边界值91。在另一种情况下,假定划分出的任务数量为800,节点并行度为7,则划分出的任务数量800大于对应的任务数量范围的上边界值,那么可将任务数量调整为该上边界值700。当然,在调整划分出的任务数量时,也可调整为位于任务数量范围内的任意数值,本说明书一个或多个实施例并不对此进行限制。
步骤320,针对待扫描节点中的每一空分区生成其他并行扫描任务。
在本实施例中,待扫描节点的空白区可能也存在需要扫描的数据。比如,空分区对应的memtable可能也含有需要扫描的数据)。因此,除采用宏块范围的方式划分出的并行扫描任务外,可针对待扫描节点中的每一空分区生成其他并行扫描任务(即每个空白区由相应的一个扫描任务进行扫描),以保证不含微块的分区有相应的扫描任务负责扫描。其中,对应于空分区的扫描任务,其扫描范围为该空分区中存储地址的最小值到最大值(即扫描空分区的全部范围)。
步骤322,计算待扫描分区的任务数量。
在本实施例中,在采用宏块范围的方式划分出对应于待扫描节点的并行扫描任务后,还可进一步针对待扫描节点中的待扫描分区分配并行扫描任务,以明确各个待扫描分区对应的并行扫描任务的数量。举例而言,可通过以下方式来计算各个待扫描分区对应的并行扫描任务的数量:待扫描分区的并行扫描任务的数量=待扫描分区包含的宏块数量×所有并行扫描任务的任务总数量/所有待扫描分区的宏块总数量。其中,所有并行扫描任务的任务总数量可以是步骤314中采用宏块范围的方式划分出的并行扫描任务的数量,与步骤320中生成的其他并行扫描任务的数量之和。例如,待扫描分区1包含的宏块数量为20,所有待扫描分区的宏块总数量为500,采用宏块范围的方式划分出的并行扫描任务的数量为1000,针对空分区生成的其他并行扫描任务的数量为200,则待扫描分区1的并行扫描任务的数量为:20×(1000+200)/500=48。
图4是一示例性实施例提供的一种设备的结构示意图。请参考图4,在硬件层面,该设备包括处理器402、内部总线404、网络接口406、内存408以及非易失性存储器410,当然还可能包括其他业务所需要的硬件。处理器402从非易失性存储器410中读取对应的计算机程序到内存408中然后运行,在逻辑层面上形成扫描任务的生成装置。当然,除了软件实现方式之外,本说明书一个或多个实施例并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
请参考图5,在软件实施方式中,该扫描任务的生成装置可以包括:
分区获取单元501,获取待扫描节点中待扫描分区的分区数量;
并行度获取单元502,获取分配于所述待扫描节点的节点并行度;
确定单元503,确定所述分区数量与所述节点并行度的大小关系;
第一生成单元504,生成多个并行扫描任务,所述多个并行扫描任务的扫描范围与所述大小关系相关。
可选的,所述分区获取单元501具体用于:
采用动态数据过滤技术对所述待扫描节点包含的分区进行过滤,以得到所述待扫描分区;
获取所述待扫描分区的分区数量。
可选的,所述并行度获取单元502具体用于:
获取所述待扫描节点所处系统架构中所有节点的总并行度与总分区数量;
按照所述分区数量与所述总分区数量的比例,对所述总并行度进行分配,以得到所述节点并行度。
可选的,所述第一生成单元504具体用于:
当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间不存在数据倾斜时,采用分区范围的方式划分并行扫描任务。
可选的,所述第一生成单元504具体用于:
当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间存在数据倾斜时,或者当所述分区数量不大于预设倍数的所述节点并行度时,采用宏块范围的方式划分并行扫描任务。
可选的,还包括:
第一获取单元505,获取采用宏块范围的方式划分出的并行扫描任务的任务数量;
调整单元506,当所述任务数量不在任务数量范围内时,将所述任务数量调整至所述任务数量范围内,所述任务数量范围的边界值与所述节点并行度相关联。
可选的,还包括:
第二生成单元507,除采用宏块范围的方式划分出的并行扫描任务外,针对所述待扫描节点中的每一空分区生成其他并行扫描任务。
可选的,还包括:
第二获取单元508,当采用宏块范围的方式划分并行扫描任务时,获取所有并行扫描任务的任务总数量;
第三获取单元509,获取各待扫描分区包含的宏块数量,以及所有待扫描分区的宏块总数量;
分配单元510,按照各待扫描分区包含的宏块数量与所述宏块总数量的比例分配所述任务总数量,以得到对应于各待扫描分区的任务数量。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。

Claims (15)

1.一种扫描任务的生成方法,包括:
获取待扫描节点中待扫描分区的分区数量;
获取分配于所述待扫描节点的节点并行度,所述获取分配于所述待扫描节点的节点并行度,包括:获取所述待扫描节点所处系统架构中所有节点的总并行度与总分区数量;按照所述分区数量与所述总分区数量的比例,对所述总并行度进行分配,以得到所述节点并行度;
确定所述分区数量与所述节点并行度的大小关系;
生成多个并行扫描任务,所述多个并行扫描任务的扫描范围与所述大小关系相关。
2.根据权利要求1所述的方法,所述获取待扫描节点中待扫描分区的分区数量,包括:
采用动态数据过滤技术对所述待扫描节点包含的分区进行过滤,以得到所述待扫描分区;
获取所述待扫描分区的分区数量。
3.根据权利要求1所述的方法,所述生成多个并行扫描任务,包括:
当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间不存在数据倾斜时,采用分区范围的方式划分并行扫描任务。
4.根据权利要求1所述的方法,所述生成多个并行扫描任务,包括:
当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间存在数据倾斜时,或者当所述分区数量不大于预设倍数的所述节点并行度时,采用宏块范围的方式划分并行扫描任务。
5.根据权利要求4所述的方法,还包括:
获取采用宏块范围的方式划分出的并行扫描任务的任务数量;
当所述任务数量不在任务数量范围内时,将所述任务数量调整至所述任务数量范围内,所述任务数量范围的边界值与所述节点并行度相关联。
6.根据权利要求4所述的方法,还包括:
除采用宏块范围的方式划分出的并行扫描任务外,针对所述待扫描节点中的每一空分区生成其他并行扫描任务。
7.根据权利要求1所述的方法,还包括:
当采用宏块范围的方式划分并行扫描任务时,获取所有并行扫描任务的任务总数量;
获取各待扫描分区包含的宏块数量,以及所有待扫描分区的宏块总数量;
按照各待扫描分区包含的宏块数量与所述宏块总数量的比例分配所述任务总数量,以得到对应于各待扫描分区的任务数量。
8.一种扫描任务的生成装置,包括:
分区获取单元,获取待扫描节点中待扫描分区的分区数量;
并行度获取单元,获取分配于所述待扫描节点的节点并行度,所述并行度获取单元具体用于:获取所述待扫描节点所处系统架构中所有节点的总并行度与总分区数量;按照所述分区数量与所述总分区数量的比例,对所述总并行度进行分配,以得到所述节点并行度;
确定单元,确定所述分区数量与所述节点并行度的大小关系;
第一生成单元,生成多个并行扫描任务,所述多个并行扫描任务的扫描范围与所述大小关系相关。
9.根据权利要求8所述的装置,所述分区获取单元具体用于:
采用动态数据过滤技术对所述待扫描节点包含的分区进行过滤,以得到所述待扫描分区;
获取所述待扫描分区的分区数量。
10.根据权利要求8所述的装置,所述第一生成单元具体用于:
当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间不存在数据倾斜时,采用分区范围的方式划分并行扫描任务。
11.根据权利要求8所述的装置,所述第一生成单元具体用于:
当所述分区数量大于预设倍数的所述节点并行度,且各待扫描分区之间存在数据倾斜时,或者当所述分区数量不大于预设倍数的所述节点并行度时,采用宏块范围的方式划分并行扫描任务。
12.根据权利要求11所述的装置,还包括:
第一获取单元,获取采用宏块范围的方式划分出的并行扫描任务的任务数量;
调整单元,当所述任务数量不在任务数量范围内时,将所述任务数量调整至所述任务数量范围内,所述任务数量范围的边界值与所述节点并行度相关联。
13.根据权利要求11所述的装置,还包括:
第二生成单元,除采用宏块范围的方式划分出的并行扫描任务外,针对所述待扫描节点中的每一空分区生成其他并行扫描任务。
14.根据权利要求8所述的装置,还包括:
第二获取单元,当采用宏块范围的方式划分并行扫描任务时,获取所有并行扫描任务的任务总数量;
第三获取单元,获取各待扫描分区包含的宏块数量,以及所有待扫描分区的宏块总数量;
分配单元,按照各待扫描分区包含的宏块数量与所述宏块总数量的比例分配所述任务总数量,以得到对应于各待扫描分区的任务数量。
15.一种电子设备,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器通过运行所述可执行指令以实现如权利要求1-7中任一项所述的方法。
CN201811173738.2A 2018-10-09 2018-10-09 扫描任务的生成方法及装置、电子设备 Active CN109582696B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811173738.2A CN109582696B (zh) 2018-10-09 2018-10-09 扫描任务的生成方法及装置、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811173738.2A CN109582696B (zh) 2018-10-09 2018-10-09 扫描任务的生成方法及装置、电子设备

Publications (2)

Publication Number Publication Date
CN109582696A CN109582696A (zh) 2019-04-05
CN109582696B true CN109582696B (zh) 2023-07-04

Family

ID=65920316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811173738.2A Active CN109582696B (zh) 2018-10-09 2018-10-09 扫描任务的生成方法及装置、电子设备

Country Status (1)

Country Link
CN (1) CN109582696B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111427887A (zh) * 2020-03-17 2020-07-17 中国邮政储蓄银行股份有限公司 一种快速扫描HBase分区表的方法、装置、系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957863A (zh) * 2010-10-14 2011-01-26 广州从兴电子开发有限公司 数据并行处理方法、装置及系统
CN103729276A (zh) * 2014-01-28 2014-04-16 深圳市迪菲特科技股份有限公司 一种扫描磁盘阵列的方法
CN106030579A (zh) * 2014-02-25 2016-10-12 国际商业机器公司 用于针对存储器内的多个存储区域扫描指定量的结果的方法、系统和计算机程序
CN106528280A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种任务分配方法和系统
CN107710200A (zh) * 2015-06-24 2018-02-16 华为技术有限公司 用于并行化smp数据库中的基于散列的运算符的系统和方法
CN107784044A (zh) * 2016-08-31 2018-03-09 华为技术有限公司 表数据查询方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7941414B2 (en) * 2007-03-28 2011-05-10 Microsoft Corporation Executing non-blocking parallel scans
US11003664B2 (en) * 2016-08-29 2021-05-11 Oracle International Corporation Efficient hybrid parallelization for in-memory scans

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957863A (zh) * 2010-10-14 2011-01-26 广州从兴电子开发有限公司 数据并行处理方法、装置及系统
CN103729276A (zh) * 2014-01-28 2014-04-16 深圳市迪菲特科技股份有限公司 一种扫描磁盘阵列的方法
CN106030579A (zh) * 2014-02-25 2016-10-12 国际商业机器公司 用于针对存储器内的多个存储区域扫描指定量的结果的方法、系统和计算机程序
CN107710200A (zh) * 2015-06-24 2018-02-16 华为技术有限公司 用于并行化smp数据库中的基于散列的运算符的系统和方法
CN106528280A (zh) * 2015-09-15 2017-03-22 阿里巴巴集团控股有限公司 一种任务分配方法和系统
CN107784044A (zh) * 2016-08-31 2018-03-09 华为技术有限公司 表数据查询方法及装置

Also Published As

Publication number Publication date
CN109582696A (zh) 2019-04-05

Similar Documents

Publication Publication Date Title
US20200175361A1 (en) Partitioning of deep learning inference with dynamic offloading
TWI690851B (zh) 電腦系統資源配置方法和裝置
EP2645259A1 (en) Method, device and system for caching data in multi-node system
WO2014082602A1 (en) Method for automated scaling of massive parallel processing (mpp) database
CN106202092B (zh) 数据处理的方法及系统
CN113535363A (zh) 任务调用方法、装置、电子设备及存储介质
US20140059319A1 (en) Resource allocation apparatus and method, and storage medium
CN114615338B (zh) 一种边缘环境中基于层共享的微服务部署方法及装置
CN103748559A (zh) 利用工作需求反馈在处理器之间进行工作划分的方法和系统
CN110019298B (zh) 数据处理方法和装置
CN105975493A (zh) 一种文件合并方法及装置
CN109582696B (zh) 扫描任务的生成方法及装置、电子设备
CN115421924A (zh) 一种内存分配方法、装置及设备
US20150052532A1 (en) Parallel computer system, method of controlling parallel computer system, and recording medium
CN110737717A (zh) 一种数据库迁移方法及装置
CN117196850A (zh) 金融产品组合的确定方法、装置、电子设备及存储介质
CN108536759B (zh) 一种样本回放数据存取方法及装置
EP1654635A2 (en) Method and computer system for accessing thread private data
CN116501927A (zh) 一种图数据处理系统、方法、设备及存储介质
CN110046173B (zh) 调度信息的生成方法及装置、电子设备
US11556377B2 (en) Storage medium, task execution management device, and task execution management method
CN111221814A (zh) 二级索引的构建方法、装置及设备
CN111984510B (zh) 调度系统的性能测试方法及装置
US9705985B1 (en) Systems and methods for cross protocol automatic sub-operation scheduling
CN109582938B (zh) 报表生成方法和装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200923

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210207

Address after: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Applicant after: Ant financial (Hangzhou) Network Technology Co.,Ltd.

Address before: Ky1-9008 Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands, ky1-9008

Applicant before: Innovative advanced technology Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20210909

Address after: 100020 unit 02, 901, floor 9, unit 1, building 1, No.1, East Third Ring Middle Road, Chaoyang District, Beijing

Applicant after: Beijing Aoxing Beisi Technology Co.,Ltd.

Address before: 801-10, Section B, 8th floor, 556 Xixi Road, Xihu District, Hangzhou City, Zhejiang Province 310000

Applicant before: Ant financial (Hangzhou) Network Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant