CN109522326A - 数据分发方法、装置、设备及存储介质 - Google Patents

数据分发方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN109522326A
CN109522326A CN201811216287.6A CN201811216287A CN109522326A CN 109522326 A CN109522326 A CN 109522326A CN 201811216287 A CN201811216287 A CN 201811216287A CN 109522326 A CN109522326 A CN 109522326A
Authority
CN
China
Prior art keywords
degree
parallelism
sub
operator
data
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.)
Granted
Application number
CN201811216287.6A
Other languages
English (en)
Other versions
CN109522326B (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.)
Shanghai Dameng Database Co Ltd
Original Assignee
Shanghai Dameng Database 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 Shanghai Dameng Database Co Ltd filed Critical Shanghai Dameng Database Co Ltd
Priority to CN201811216287.6A priority Critical patent/CN109522326B/zh
Publication of CN109522326A publication Critical patent/CN109522326A/zh
Application granted granted Critical
Publication of CN109522326B publication Critical patent/CN109522326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种数据分发方法、装置、设备及存储介质。该方法包括:获取并行查询任务中各通信操作符的并行度;针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点;当数据传输至当前通信操作符时,将数据在所述至少一个数据分发节点间进行分发。本发明实施例提供的数据分发方法,在根据各通信操作符的并行度确定的数据分发节点间分发数据,无需在当前并行查询任务中的所有节点间分发数据,减少数据传输量,从而提高数据查询的效率。

Description

数据分发方法、装置、设备及存储介质
技术领域
本发明实施例涉及数据处理技术领域,尤其涉及一种数据分发方法、装置、设备及存储介质。
背景技术
目前,并行查询数据的模型如下:一个查询任务由N的操作符完成,N个操作符自下而上排列构成查询任务树,操作符包括通信操作符、叶子操作符、一元操作符和二元操作符。其中,叶子操作符没有子操作符,一元操作符包括一个子操作符,二元操作符包括两个子操作符。一个查询任务由多个节点并行执行,在一个节点上,数据按照查询任务树自下而上的操作符中依次传输。通信操作符接收下面操作符传上来的数据,然后在同一层的不同节点之间进行分发。现有技术中,若并行查询模型中包括多个节点组成,则每次在执行查询任务时,数据都会在这多个节点间进行分发,当查询的数据量较少时,数据分发的数量反而大于实际查询的数据量,造成了不必要的数据传输,降低数据查询任务的效率。
发明内容
本发明实施例提供一种数据分发方法、装置、设备及存储介质,可以减少数据传输量,提高数据查询的效率。
第一方面,本发明实施例提供了一种数据分发方法,该方法包括:
获取并行查询任务中各通信操作符的并行度;
针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点;
当数据传输至当前通信操作符时,将数据在所述至少一个数据分发节点间进行分发。
进一步地,所述通信操作符为一元操作符的子操作符或者二元操作符的子操作符,所述获取并行查询任务中各通信操作符的并行度,包括:
获取所述一元操作符的初始并行度或者所述二元操作符的并行度;
将所述一元操作符的初始并行度或者所述二元操作符的并行度确定为所述通信操作符的并行度。
进一步地,若所述二元操作符的两个子操作符均为子通信操作符,则获取所述二元操作符的并行度,包括:
分别获取所述两个子操作符的初始并行度;
按照设定算法对所述两个子操作符的初始并行度进行计算,获得所述二元操作符的并行度。
进一步地,若所述二元操作符的两个子操作符中一个为子通信操作符,另一个为一元子操作符,则获取所述二元操作符的并行度,包括:
若所述一元子操作符的子操作符为子通信操作符,则将所述子通信操作符的初始并行度确定为所述一元子操作符的初始并行度;按照设定算法对所述两个子操作符的初始并行度进行计算,获得所述二元操作符的并行度;
若所述一元子信操作符的子操作符为非通信操作符,则将所述二元操作符的并行度确定为所述并行查询任务的节点数量。
进一步地,若所述二元操作符的两个子操作符均为一元子操作符,则获取所述二元操作符的并行度,包括:
若两个一元子操作符中至少一个的子操作符为非通信操作符,则将所述二元操作符的并行度确定为所述并行查询任务的节点数量;
若两个一元子操作符的子操作符均为子通信操作符,则将两个子通信操作符的初始并行度分别确定为对应一元子操作符的初始并行度,按照设定算法对两个子操作符的初始并行度进行计算,获得所述二元操作符的并行度。
进一步地,一元操作符或者子通信操作符的初始并行度的获取方式包括:
获取所述一元操作符或者子通信操作符的数据估计量以及所述一元操作符的最大传输数据量;
将所述数据估计量除以所述最大传输数据量获得所述一元操作符或所述子通信操作符的并行度。
进一步地,针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点,包括:
若当前通信操作符的并行度小于所述并行查询任务的节点数量,则确定与当前通信操作符的并行度数量相同的数据分发节点;
若当前通信操作符的并行度大于或等于所述并行查询任务的节点数量,则确定与所述并行查询任务的节点数量相同的数据分发节点。
第二方面,本发明实施例还提供了一种数据分发装置,该装置包括:
并行度获取模块,用于获取并行查询任务中各通信操作符的并行度;
数据分发节点确定模块,用于针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点;
数据分发模块,用于当数据传输至当前通信操作符时,将数据在所述至少一个数据分发节点间进行分发。
第三方面,本发明实施例还提供了一种计算机设备,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本发明实施例所述的数据分发方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所述数据分发方法。
本发明实施例,首先获取并行查询任务中各通信操作符的并行度,然后针对每个通信操作符,根据并行度确定当前通信操作符的至少一个数据分发节点,最后当数据传输至当前通信操作符时,将数据在至少一个数据分发节点间进行分发。本发明实施例提供的数据分发方法,在根据各通信操作符的并行度确定的数据分发节点间分发数据,无需在当前并行查询任务中的所有节点间分发数据,减少数据传输量,从而提高数据查询的效率。
附图说明
图1是本发明实施例一中的一种数据分发方法的流程图;
图2是本发明实施例一中的一种由操作符构成的查询任务树;
图3是本发明实施例一中的二元操作符并行度的确定方法的示意图;
图4是本发明实施例二中的一种数据分发装置的结构示意图;
图5是本发明实施例三中的一种计算机设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
实施例一
图1为本发明实施例一提供的一种数据分发方法的流程图,本实施例可适用于在数据查询时对数据进行分发传输的情况,该方法可以由数据分发装置来执行,该装置可由硬件和/或软件组成,并一般可集成在电脑、服务器以及所有包含数据分发功能的终端中。如图1所示,该方法具体包括如下步骤:
步骤110,获取并行查询任务中各通信操作符的并行度。
并行查询任务中通常由多个节点构成,节点间的数据传输通过通信操作符的完成。一个并行查询任务由N的操作符完成,且由多个节点并行执行。N个操作符自下而上排列构成查询任务树,操作符包括通信操作符、叶子操作符、一元操作符和二元操作符。其中,叶子操作符没有子操作符,一元操作符包括一个子操作符,二元操作符包括两个子操作符。图2是本发明实施例一提供的一种由操作符构成的查询任务树。如图2所示,该并行查询任务包括9个操作符及3个节点,其中,GROUP为一元操作符,HASH2INNER JOIN为二元操作符,CSCN2为叶子操作符,DISTRIBUTE为通信操作符,即4、6和8是通信操作符,2为汇总操作符。
其中,通信操作符可以是一元操作符的子操作符或者二元操作符的子操作符。本实施例中,通信操作符的并行度由其父操作符的并行度确定。
可选的,当通信操作符为一元操作符的子操作符时,获取并行查询任务中各通信操作符的并行度,可通过下述方式实施:获取一元操作符的初始并行度;将一元操作符的初始并行度确定为通信操作符的并行度。
其中,获取一元操作符的初始并行度的方式可以是,获取一元操作符的数据估计量以及一元操作符的最大传输数据量,将数据估计量除以最大传输数据量获得一元操作符的并行度。
本实施例中,并行查询任务生成后,每个一元操作符中包括有数据估计量信息,最大传输数据量可以是一元操作符一次可以传输的数据量上限。示例性的,一元操作符的初始并行度的计算公式如下所示,假设某个一元操作符的数据估计量为Ng,最大传输数据量为Mg,并行度用Pc来表示,则一元操作符的初始并行度的计算公式为:Pc=Ng/Mg。
可选的,当通信操作符为二元操作符的子操作符时,获取并行查询任务中各通信操作符的并行度,可通过下述方式实施:获取二元操作符的并行度;将二元操作符的并行度确定为通信操作符的并行度。
其中,二元操作符有两个子操作符,两个子操作符可以包括如下六种情况:两个子操作符都是通信操作符;两个子操作符中一个为通信操作符,另一个一元子操作符;两个子操作符一个为通信操作符,另一个为二元子操作符;两个子操作符都是一元子操作符;两个都是二元子操作符;两个子操作符中一个为二元子操作符,另一个为一元子操作符。本实施例中,确定二元操作符的并行度的方式可以是,若能够获取到两个子操作符的初始并行度,则按照设定算法对两个子操作符的并行度进行计算,获得二元操作符的并行度;若两个子操作符中至少一个的字操作符的初始操作符获取不到,则将二元操作符的并行度确定为并行查询任务的节点数量。
示例性的,图3是本实施例一种二元操作符并行度的确定方法的示意图,其中圆形代表二元操作符,三角形代表通信操作符,矩形代表一元操作符。如图3,只示出了其中四种情况,不能代表所有的情况。一种情况是,二元操作符的两个子操作符一个为通信操作符,另一个为一元子操作符,且该一元子操作符的子操作符为非通信操作符,则一元子操作符的初始并行度获取不到。第二种情况是,二元操作符的两个子操作符一个为通信操作符,另一个为一元子操作符,且该一元操作符的子操作符为子通信操作符,则将子通信操作符的初始并行度确定一元子操作符的初始并行度。第三种情况是,二元操作符的两个子操作符一个为通信操作符,另一个为二元子操作符,且二元子操作符的两个子操作符均为子通信操作符,则二元子操作符的初始并行度由其两个子通信操作符的初始并行度按照设定算法获得。第四种情况是,二元操作符的两个子操作符一个为通信操作符,另一个为为二元子操作符,且二元子操作符的子操作符中一个为通信操作符,另一个为子操作符,则该二元子操作符的初始并行度由子操作符的子操作符的情况确定,对该子操作符进行递归,获取二元子操作符的初始并行度。
可选的,若二元操作符的两个子操作符均为子通信操作符,则获取二元操作符的并行度,可通过下述方式实施:分别获取两个子操作符的初始并行度;按照设定算法对两个子操作符的初始并行度进行计算,获得二元操作符的并行度。
其中,两个子通信操作符的初始并行度的获取方式可以是获取子通信操作符的数据估计量以及一元操作符的最大传输数据量;将数据估计量除以最大传输数据量获得子通信操作符的并行度。设定算法可以是取最大值、取最小值或者取平均值等。
可选的,若二元操作符的两个子操作符中一个为一元操作符,另一个为子通信操作符,则获取所述二元操作符的并行度,可通过下述方式实施:若一元子操作符的子操作符为子通信操作符,则将子通信操作符的初始并行度确定为一元子操作符的初始并行度;按照设定算法对两个子操作符的初始并行度进行计算,获得二元操作符的并行度;若一元子信操作符的子操作符为非通信操作符,则将二元操作符的并行度确定为并行查询任务的节点数量。
其中,设定算法可以是取最大值、取最小值或者取平均值。
可选的,若二元操作符的两个子操作符均为一元子操作符,则获取二元操作符的并行度,可通过下述方式实施:若两个一元子操作符中至少一个的子操作符为非通信操作符,则将二元操作符的并行度确定为并行查询任务的节点数量;若两个一元子操作符的子操作符均为子通信操作符,则将两个子通信操作符的初始并行度分别确定为对应一元子操作符的初始并行度,按照设定算法对两个子操作符的初始并行度进行计算,获得二元操作符的并行度。
可选的,若二元操作符的两个子操作符一个是一元子操作的,另一个是二元子操作符,或者一个是通信操作符,另一个是二元子操作符,或者两个都是二元子操作符。对于一元子操作符,按照上述方式获得其初始并行度;对于二元子操作符,采用上述二元操作符并行度的获取方式进行递归获取,此处不再赘述。
步骤120,针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点。
本实施例中,针对每个通信操作符,根据并行度确定当前通信操作符的至少一个数据分发节点,可通过下述方式实施:若当前通信操作符的并行度小于所述并行查询任务的节点数量,则确定与当前通信操作符的并行度数量相同的数据分发节点;若当前通信操作符的并行度大于或等于所述并行查询任务的节点数量,则确定与并行查询任务的节点数量相同的数据分发节点。
具体的,通信操作符的并行度不可以超过并行查询任务包括的节点数量。
步骤130,当数据传输至当前通信操作符时,将数据在所述至少一个数据分发节点间进行分发。
在确定了并行查询任务中各通信操作符的并行度后,当数据传输至当前通信操作符时,将数据在确定的至少一个数据分发节点间进行分发。分发后,再向上传输。以图2的查询任务树为例,假设操作符6和8的并行度为2,操作符4的并行度为3。那么,3个节点上的通信操作符6和8将数据从3个节点分发到2个节点上,假设选择了前两个节点,那么前两个节点的操作符5会执行HASH2INNER JOIN的操作,而最后一个节点的操作符5没有数据上传而导致操作符5可以快速的结束,向上传空数据。再到操作符4,并行度是3,再将数据分发到3个节点上,操作符3在3个节点上都执行。
本实施例的技术方案,首先获取并行查询任务中各通信操作符的并行度,然后针对每个通信操作符,根据并行度确定当前通信操作符的至少一个数据分发节点,最后当数据传输至当前通信操作符时,将数据在至少一个数据分发节点间进行分发。本发明实施例提供的数据分发方法,在根据各通信操作符的并行度确定的数据分发节点间分发数据,无需在当前并行查询任务中的所有节点间分发数据,减少数据传输量,从而提高数据查询的效率。
实施例二
图4为本发明实施例二提供的一种数据分发装置的结构示意图,如图4所示,该装置包括:并行度获取模块410,数据分发节点确定模块420和数据分发模块430。
并行度获取模块410,用于获取并行查询任务中各通信操作符的并行度;
数据分发节点确定模块420,用于针对每个通信操作符,根据并行度确定当前通信操作符的至少一个数据分发节点;
数据分发模块430,用于当数据传输至当前通信操作符时,将数据在至少一个数据分发节点间进行分发。
可选的,通信操作符包括为一元操作符的子操作符或者二元操作符的子操作符,并行度获取模块410,还用于:
获取一元操作符的初始并行度或者二元操作符的并行度;
将一元操作符的初始并行度或者二元操作符的并行度确定为通信操作符的并行度。
可选的,若二元操作符的两个子操作符均为子通信操作符,并行度获取模块410,还用于:
分别获取两个子操作符的初始并行度;
按照设定算法对两个子操作符的初始并行度进行计算,获得二元操作符的并行度。
可选的,若二元操作符的两个子操作符中一个为子通信操作符,另一个为一元子操作符,并行度获取模块410,还用于:
若一元子操作符的子操作符为子通信操作符,则将子通信操作符的初始并行度确定为一元子操作符的初始并行度;按照设定算法对两个子操作符的初始并行度进行计算,获得二元操作符的并行度;
若一元子操作符的子操作符为非通信操作符,则将二元操作符的并行度确定为并行查询任务的节点数量。
可选的,若二元操作符的两个子操作符均为一元子操作符,并行度获取模块410,还用于:
若两个一元子操作符中至少一个的子操作符为非通信操作符,则将二元操作符的并行度确定为并行查询任务的节点数量;
若两个一元子操作符的子操作符均为子通信操作符,则将两个子通信操作符的初始并行度分别确定为对应一元子操作符的初始并行度,按照设定算法对两个子操作符的初始并行度进行计算,获得二元操作符的并行度。
可选的,一元操作符或者子通信操作符的初始并行度的获取方式包括:
获取一元操作符或者子通信操作符的数据估计量以及一元操作符的最大传输数据量;
将数据估计量除以最大传输数据量获得一元操作符或子通信操作符的并行度。
可选的,数据分发节点确定模块420,还用于:
若当前通信操作符的并行度小于并行查询任务的节点数量,则确定与当前通信操作符的并行度数量相同的数据分发节点;
若当前通信操作符的并行度大于或等于并行查询任务的节点数量,则确定与并行查询任务的节点数量相同数量的数据分发节点。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
实施例三
图5为本发明实施例三提供的一种计算机设备的结构示意图,如图5所示,本实施例提供的一种计算机设备,包括:处理器51和存储器52。该计算机设备中的处理器可以是一个或多个,图5中以一个处理器51为例,所述计算机设备中的处理器51和存储器52可以通过总线或其他方式连接,图5中以通过总线连接为例。
本实施例中计算机设备的处理器51中集成了上述实施例提供的数据分发装置。此外,该计算机设备中的存储器52作为一种计算机可读存储介质,可用于存储一个或多个程序,所述程序可以是软件程序、计算机可执行程序以及模块,如本发明实施例中数据分发方法对应的程序指令/模块。处理器51通过运行存储在存储器52中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述方法实施例中数据分发方法。
存储器52可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器52可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器52可进一步包括相对于处理器51远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器51通过运行存储在存储器52中的程序,从而执行各种功能应用以及数据处理,实现本发明实施例提供的数据分发方法。
实施例四
本发明实施例四还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的数据分发方法。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上所述的方法操作,还可以执行本发明任意实施例所提供的数据分发方法中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种数据分发方法,其特征在于,包括:
获取并行查询任务中各通信操作符的并行度;
针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点;
当数据传输至当前通信操作符时,将数据在所述至少一个数据分发节点间进行分发。
2.根据权利要求1所述的方法,其特征在于,所述通信操作符为一元操作符的子操作符或者二元操作符的子操作符,所述获取并行查询任务中各通信操作符的并行度,包括:
获取所述一元操作符的初始并行度或者所述二元操作符的并行度;
将所述一元操作符的初始并行度或者所述二元操作符的并行度确定为所述通信操作符的并行度。
3.根据权利要求2所述的方法,其特征在于,若所述二元操作符的两个子操作符均为子通信操作符,则获取所述二元操作符的并行度,包括:
分别获取所述两个子操作符的初始并行度;
按照设定算法对所述两个子操作符的初始并行度进行计算,获得所述二元操作符的并行度。
4.根据权利要求2所述的方法,其特征在于,若所述二元操作符的两个子操作符中一个为子通信操作符,另一个为一元子操作符,则获取所述二元操作符的并行度,包括:
若所述一元子操作符的子操作符为子通信操作符,则将所述子通信操作符的初始并行度确定为所述一元子操作符的初始并行度;按照设定算法对所述两个子操作符的初始并行度进行计算,获得所述二元操作符的并行度;
若所述一元子操作符的子操作符为非通信操作符,则将所述二元操作符的并行度确定为所述并行查询任务的节点数量。
5.根据权利要求3所述的方法,其特征在于,若所述二元操作符的两个子操作符均为一元子操作符,则获取所述二元操作符的并行度,包括:
若两个一元子操作符中至少一个的子操作符为非通信操作符,则将所述二元操作符的并行度确定为所述并行查询任务的节点数量;
若两个一元子操作符的子操作符均为子通信操作符,则将两个子通信操作符的初始并行度分别确定为对应一元子操作符的初始并行度,按照设定算法对两个子操作符的初始并行度进行计算,获得所述二元操作符的并行度。
6.根据权利要求2-5任一所述的方法,其特征在于,一元操作符或者子通信操作符的初始并行度的获取方式包括:
获取所述一元操作符或者子通信操作符的数据估计量以及所述一元操作符的最大传输数据量;
将所述数据估计量除以所述最大传输数据量获得所述一元操作符或所述子通信操作符的并行度。
7.根据权利要求1所述的方法,其特征在于,针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点,包括:
若当前通信操作符的并行度小于所述并行查询任务的节点数量,则确定与当前通信操作符的并行度数量相同的数据分发节点;
若当前通信操作符的并行度大于或等于所述并行查询任务的节点数量,则确定与所述并行查询任务的节点数量相同的数据分发节点。
8.一种数据分发装置,其特征在于,包括:
并行度获取模块,用于获取并行查询任务中各通信操作符的并行度;
数据分发节点确定模块,用于针对每个通信操作符,根据所述并行度确定当前通信操作符的至少一个数据分发节点;
数据分发模块,用于当数据传输至当前通信操作符时,将数据在所述至少一个数据分发节点间进行分发。
9.一种计算机设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述方法。
CN201811216287.6A 2018-10-18 2018-10-18 数据分发方法、装置、设备及存储介质 Active CN109522326B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811216287.6A CN109522326B (zh) 2018-10-18 2018-10-18 数据分发方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811216287.6A CN109522326B (zh) 2018-10-18 2018-10-18 数据分发方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN109522326A true CN109522326A (zh) 2019-03-26
CN109522326B CN109522326B (zh) 2021-06-29

Family

ID=65772074

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811216287.6A Active CN109522326B (zh) 2018-10-18 2018-10-18 数据分发方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN109522326B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753028A (zh) * 2020-07-02 2020-10-09 上海达梦数据库有限公司 数据传输方法、装置、设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012025915A1 (en) * 2010-07-21 2012-03-01 Sqream Technologies Ltd A system and method for the parallel execution of database queries over cpus and multi core processors
CN104239555A (zh) * 2014-09-25 2014-12-24 天津神舟通用数据技术有限公司 基于mpp的并行数据挖掘架构及其方法
CN106649119A (zh) * 2016-12-28 2017-05-10 深圳市华傲数据技术有限公司 流计算引擎的测试方法及装置
CN107169138A (zh) * 2017-06-13 2017-09-15 电子科技大学 一种面向分布式内存数据库查询引擎的数据分发方法
CN107688660A (zh) * 2017-09-08 2018-02-13 上海达梦数据库有限公司 并行执行计划的执行方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012025915A1 (en) * 2010-07-21 2012-03-01 Sqream Technologies Ltd A system and method for the parallel execution of database queries over cpus and multi core processors
CN104239555A (zh) * 2014-09-25 2014-12-24 天津神舟通用数据技术有限公司 基于mpp的并行数据挖掘架构及其方法
CN106649119A (zh) * 2016-12-28 2017-05-10 深圳市华傲数据技术有限公司 流计算引擎的测试方法及装置
CN107169138A (zh) * 2017-06-13 2017-09-15 电子科技大学 一种面向分布式内存数据库查询引擎的数据分发方法
CN107688660A (zh) * 2017-09-08 2018-02-13 上海达梦数据库有限公司 并行执行计划的执行方法及装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
AILUOJUE2: "达梦MPP并行执行计划解析", 《豆丁网HTTP://WWW.DOCIN.COM/P-2023933461.HTML》 *
于翌艟等: "并行数据库PBASE/2的查询优化技术", 《数据库研究进展97—第十四届全国数据库学术会议论文集》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111753028A (zh) * 2020-07-02 2020-10-09 上海达梦数据库有限公司 数据传输方法、装置、设备及存储介质
CN111753028B (zh) * 2020-07-02 2023-08-25 上海达梦数据库有限公司 数据传输方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN109522326B (zh) 2021-06-29

Similar Documents

Publication Publication Date Title
CN105786460B (zh) 一种基于服务组合的软件开发方法及装置
CN104573093B (zh) 一种管理文件目录的方法和装置
CN108769258A (zh) 用于将区块链网络托管于区块链应用平台的方法和装置
US11323562B2 (en) Communication method for processing crank call
CN105530272A (zh) 一种应用数据的同步方法和装置
CN107171955A (zh) 网络中数据链路的选择方法及系统
CN108536723B (zh) 配电网gis电线图多工单协同制图方法和装置
CN102685018A (zh) 一种网络即时通信信息处理的方法、系统及即时通信设备
CN108090142A (zh) 卡片排序方法、装置、服务器以及存储介质
CN110445844A (zh) 短信多通道选择方法及装置、存储介质、电子设备
CN106096904A (zh) 一种日程安排添加方法及移动终端
CN106254443A (zh) 消息推送方法及装置
CN112801301A (zh) 异步计算方法、装置、设备、存储介质及程序产品
CN108601061A (zh) 网络接入、家居设备控制方法、装置、系统、终端及介质
CN108733698A (zh) 一种日志消息的处理方法及后台服务系统
CN105224541B (zh) 数据的唯一性控制方法、信息存储方法及装置
CN109583616A (zh) 一种信息推荐方法和装置及存储介质
CN109086289A (zh) 一种媒体数据处理方法、客户端、介质和设备
CN109522326A (zh) 数据分发方法、装置、设备及存储介质
US20210075880A1 (en) Delegating network data exchange
CN108595574A (zh) 数据库集群的连接方法、装置、设备及存储介质
CN109240899A (zh) 信息获取方法和装置
Han et al. A profit-maximizing strategy of network resource management for 5G tenant slices
CN111861611B (zh) 基于区块链的资源处理方法、装置、电子设备及存储介质
CN110750557A (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
GR01 Patent grant
GR01 Patent grant