CN112615910B - 一种数据流连接优化方法、系统、终端以及存储介质 - Google Patents

一种数据流连接优化方法、系统、终端以及存储介质 Download PDF

Info

Publication number
CN112615910B
CN112615910B CN202011435327.3A CN202011435327A CN112615910B CN 112615910 B CN112615910 B CN 112615910B CN 202011435327 A CN202011435327 A CN 202011435327A CN 112615910 B CN112615910 B CN 112615910B
Authority
CN
China
Prior art keywords
partition
data
data streams
partitions
theta
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
CN202011435327.3A
Other languages
English (en)
Other versions
CN112615910A (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.)
Shenzhen Institute of Advanced Technology of CAS
Original Assignee
Shenzhen Institute of Advanced Technology of CAS
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 Shenzhen Institute of Advanced Technology of CAS filed Critical Shenzhen Institute of Advanced Technology of CAS
Priority to CN202011435327.3A priority Critical patent/CN112615910B/zh
Priority to PCT/CN2021/082956 priority patent/WO2022121154A1/zh
Publication of CN112615910A publication Critical patent/CN112615910A/zh
Application granted granted Critical
Publication of CN112615910B publication Critical patent/CN112615910B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请涉及一种数据流连接优化方法、系统、终端以及存储介质。包括:分别计算两个待连接数据流的标准差,分别确定所述两个待连接数据流的第一分区数;根据所述第一分区数分别对所述两个待连接数据流进行分区;根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区;根据Theta条件对所述两个待连接数据流的所有分区进行过滤;对所述过滤后的分区进行笛卡尔积操作,并从所述笛卡尔积操作结果中过滤出满足Theta条件的数据组,作为Theta‑Join操作的结果。本申请通过借助数据流自身的波动特征进行动态分区,使分区包含对数据流特征的考量而变得更为细化,从而提升执行Theta‑Join操作的性能。

Description

一种数据流连接优化方法、系统、终端以及存储介质
技术领域
本申请属于数据流处理技术领域,特别涉及一种数据流连接优化方法、系统、终端以及存储介质。
背景技术
随着大数据、云计算、物联网等技术的快速发展,其所产生的数据量呈现出爆发式增长的态势。面对如此大规模且复杂多样的数据,如何高效地对其进行处理加工,使之能为行业所用,实现数据增值,成为了大数据时代所面临的重大挑战。现今家喻户晓的网购、金融服务、交通数据等数据源产生的数据均为实时数据流,这是一种连续、大量、持续不断动态到达的数据序列。数据流可以随时间延续而无限增长,且随时间发展而变化,这都使得处理数据流相较于处理传统的批式历史数据变得更加复杂。但若能高效地对数据流进行分析筛选,找出关联,则可以将数据流的价值最大化。
Theta-Join(θ联接)是一种可用于处理数据流,从中挖掘数据之间的关系的操作。笛卡尔积(Cartesian Product)操作是Theta-Join操作的关键一步,但是笛卡尔积计算量大,比较耗时。如果在并行集群环境下进行Theta-Join操作,笛卡尔积还需要被传输到不同的计算节点上进行并行运算,这就意味着如果笛卡尔积的量很大,将会加重在并行环境下的通讯负载与计算负载。除此之外,如果没有将笛卡尔积操作均匀分配到并行计算节点上,还会导致负载失衡的问题,从而极大程度地影响Theta-Join的运行效率。
例如,文献[Okcan,Alper,and Mirek Riedewald."Processing theta-joinsusing MapReduce."In Proceedings of the 2011ACM SIGMOD InternationalConference on Management of data,pp.949-960.2011]提出了一种1-Bucket-Theta算法,该算法没有对输入的数据流进行任何形式的过滤,而是直接对数据流中的所有数据先进行耗时的排序操作,之后进行笛卡尔积操作,之后将笛卡尔积结果形成的矩形区域进行分割,然后将分割后的数据均匀分配到集群中的计算节点上从而实现负载均衡。该算法所进行的笛卡尔积数量巨大,运行代价高,效率低下。
文献[Liu,Wenjie,Zhanhuai Li,and Yuntao Zhou."An efficient filterstrategy for theta-join query in distributed environment."In 2017 46thInternational Conference on Parallel Processing Workshops(ICPPW),pp.77-84.IEEE,2017]提出了一种Cross Filter Strategy(CFS)算法,该算法在对数据流进行笛卡尔积之前先对数据流进行了较为粗糙的过滤,虽然一定程度上的避免了部分不必要的笛卡尔积计算,但是该算法所需的笛卡尔积运算量依旧很大,且依旧需要对数据进行耗时的排序处理。
文献[Hu,Ziyue,Xiaopeng Fan,Yang Wang,and Chengzhong Xu."FastThetaJoin:An Optimization on Multi-way Data Stream$$\theta$$-join withRange Constraints."In International Conference on Algorithms andArchitectures for Parallel Processing,pp.174-189.Springer,Cham,2020]提出了一种FastThetaJoin算法,该算法进一步优化了在进行笛卡尔积之前对数据流的过滤方式,通过在过滤时考虑Theta运算符,从而实现对数据流进行更精细的过滤,提升算法性能。但该算法仍然存在以下不足:
1)该算法使用手工输入的固定的分区数量进行分区,分区数量是一个固定的参数,与数据流的特征相孤立,这使得其只能对数据流进行较粗略的分区,导致在过滤时仍存在大量不必要的笛卡尔积操作未能被过滤掉,从而影响到该算法进行Theta-Join的运行效率。
2)该算法在处理负载不均衡问题时依据每个节点的最大承载能力决定应该如何分配负载,这种方式使得如果其他节点并没有达到节点负载上限,在重新分配后负载不均衡的现象可能依然严重。
发明内容
本申请提供了一种数据流连接优化方法、系统、终端以及存储介质,旨在至少在一定程度上解决现有技术中的上述技术问题之一。
为了解决上述问题,本申请提供了如下技术方案:
一种数据流连接优化方法,包括:
分别计算两个待连接数据流的标准差,根据所述标准差分别确定所述两个待连接数据流的第一分区数;
根据所述第一分区数分别对所述两个待连接数据流进行分区;
根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区;
根据Theta条件对所述两个待连接数据流的所有分区进行过滤;
对所述过滤后的分区进行笛卡尔积操作,并从所述笛卡尔积操作结果中过滤出满足Theta条件的数据组,作为Theta-Join操作的结果。
本申请实施例采取的技术方案还包括:所述根据所述标准差分别确定所述两个待连接数据流的第一分区数具体为:
Figure BDA0002828449710000048
上式中,R和S分别代表两个待连接数据流,partitionR和partitions分别代表将数据流R和S进行分区的分区数,stdR和stdS分别为数据流R和S的标准差,
Figure BDA0002828449710000041
代表向上取整;min_partitionR和min_partitions分别代表将数据流R和S进行分区的最小分区数,max_partitionR和max_partitionS分别代表将数据流R和S进行分区的最大分区数。
本申请实施例采取的技术方案还包括:所述根据所述第一分区数分别对所述两个待连接数据流进行分区具体为:
Figure BDA0002828449710000043
Figure BDA0002828449710000046
上式中,minR和minS分别表示数据流R和S中最小的数,maxR和maxS分别表示数据流R和S中最大的数。
本申请实施例采取的技术方案还包括:所述根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区具体为:
分别计算所述两个待连接数据流中所有分区的数据量平均值,并找出数据量大于所述平均值的过载分区;
根据所述平均值计算所述过载分区的第二分区数,根据所述第二分区数对所述过载分区进行二次分区。
本申请实施例采取的技术方案还包括:所述找出数据量大于所述平均值的过载分区具体为:
分别设定所述两个待连接数据流的再分区阈值,并分别用所述两个待连接数据流的数据量平均值乘以各自的再分区阈值,得到两个待连接数据流的再分区数据量;
分别判断所述两个待连接数据流中各个分区的数据量是否大于对应的再分区数据量,如果大于所述再分区数据量,则判定该分区为过载分区。
本申请实施例采取的技术方案还包括:所述对所述过载分区进行二次分区具体为:
Figure BDA0002828449710000051
Figure BDA0002828449710000052
上式中,partitioni和partitionj分别表示数据流R的第i个分区和数据流S的第j个分区,minpartitioni和minpartitionj分别代表分区i和分区j中的最小值,maxpartitioni和maxpartitionj分别代表分区i和分区j中的最大值,repartition代表对所述过载分区进行二次分区的第二分区数。
本申请实施例采取的技术方案还包括:所述根据Theta条件对所述两个待连接数据流的所有分区进行过滤具体为:
当Theta条件为“>”时,如果数据流R中第i个分区Ri的最大值大于数据流S中第i个分区Si的最小值,则认为分区Ri与分区Si的笛卡尔积中有可能存在满足Theta条件的数据,即分区Ri与分区Si满足Theta条件;否则认为分区Ri与分区Si不满足Theta条件,则将该分区过滤掉。
本申请实施例采取的另一技术方案为:一种数据流连接优化系统,包括:
标准差计算模块:用于分别计算两个待连接数据流的标准差,根据所述标准差分别确定所述两个待连接数据流的第一分区数;
第一分区模块:用于根据所述第一分区数分别对所述两个待连接数据流进行分区;
第二分区模块:用于根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区;
分区过滤模块:用于根据Theta条件对所述两个待连接数据流的所有分区进行过滤;
笛卡尔积操作模块:用于对所述过滤后的分区进行笛卡尔积操作,并从所述笛卡尔积操作结果中过滤出满足Theta条件的数据组,作为Theta-Join操作的结果。
本申请实施例采取的又一技术方案为:一种终端,所述终端包括处理器、与所述处理器耦接的存储器,其中,
所述存储器存储有用于实现所述数据流连接优化方法的程序指令;
所述处理器用于执行所述存储器存储的所述程序指令以控制数据流连接优化。
本申请实施例采取的又一技术方案为:一种存储介质,存储有处理器可运行的程序指令,所述程序指令用于执行所述数据流连接优化方法。
相对于现有技术,本申请实施例产生的有益效果在于:本申请实施例的数据流连接优化方法、系统、终端以及存储介质通过借助数据流自身的波动特征进行动态分区,使分区包含对数据流特征的考量而变得更为细化,更细化的分区可以在过滤阶段更大程度地过滤掉不必要的笛卡尔积操作,从而提升行Theta-Join操作的性能;且分区过程无需排序,时间复杂度低,运行效率高;并且在分区后,根据所有分区的数据量平均值对过载分区进行二次分区,以避免并行环境下的负载失衡问题,提高数据流Theta-Join操作的性能。
附图说明
图1是本申请实施例的数据流连接优化方法的流程图;
图2为现有分区算法与本申请实施例的分区算法的负载均衡对比图;
图3为现有笛卡尔积操作算法与本申请实施例的笛卡尔积操作算法的效果对比图;
图4为本申请实施例的数据流连接优化系统结构示意图;
图5为本申请实施例的终端结构示意图;
图6为本申请实施例的存储介质的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
针对现有技术的不足,本申请实施例的数据流连接优化方法利用输入数据流的波动特征作为确定数据流分区数的参考,从而能够动态地根据输入数据流的特征进行更合理的数据分区,以此在筛选阶段去除掉更多不必要的笛卡尔积操作,减少Theta-Join操作所需进行的笛卡尔积数量,同时减少并行计算环境下的通讯传输等代价,提高Theta-Join操作的性能。另外,针对并行集群计算环境下可能产生的负载不均衡问题,对负载过大的节点上的数据分区进行二次分区,从而缓解负载不均衡的问题,提高算法在并行计算环境下的运行效率。
具体地,请参阅图1,是本申请实施例的数据流连接优化方法的流程图。本申请实施例的数据流连接优化方法包括以下步骤:
S1:接收输入的两个待连接数据流;
S2:分别计算两个待连接数据流的标准差,根据标准差分别确定各个数据流的第一分区数;
本步骤中,由于在线输入的实时数据流复杂多样,脱离数据特征的固定分区策略无法对数据流进行合理分区,而不合理的分区使得在依据Theta进行过滤时,很多不必要的笛卡尔积操作无法被过滤掉。因此,本发明实施例借助当前窗口中数据流的标准差确定数据流的分区数。标准差可以反映数据流的分散程度,标准差越大,表示数据流中的数据分散程度越大,此时可以将数据流分为更多的区,以将分散程度较大的数据尽可能分到不同的组中,从而使得依据Theta的过滤更加细化。而标准差越小,表示数据流中的数据分散程度越小,此时的数据分布较为集中,数据流分组数也应越小。
具体的,数据流的标准差计算公式为:
Figure BDA0002828449710000091
公式(1)中,N为数据流的长度,xi为数据流中的第i个数,
Figure BDA0002828449710000092
为数据流中所有数的平均值。
由于计算集群中的计算节点有限,数据流的分区数不能过大;同时,为了保证算法可以在并行计算环境下可以高效运行,即使标准差很小,分组数也不能过小,因此,本申请实施例针对输入的两个待连接数据流分别设置一个最大分区数和一个最小分区数,根据当前窗口中两个待连接数据流各自的标准差以及最大分区数和最小分区数来确定各个数据流的第一分区数,从而对两个待连接数据流的分区更加细化,使得后续依据Theta的过滤过程中可以过滤掉更多不必要的笛卡尔积操作。具体的,第一分区数计算方式具体为:
Figure BDA0002828449710000094
式(2)中,R和S分别代表两个数据流,partitionR和partitions分别代表将数据流R和S进行分区的分区数,stdR和stdS分别为数据流R和S的标准差,
Figure BDA0002828449710000093
代表向上取整。min_partitionR和min_partitions分别代表将数据流R和S进行分区的最小分区数,max_partitionR和max_partitionS分别代表将数据流R和S进行分区的最大分区数。
S3:根据第一分区数分别对两个待连接数据流进行分区;
本步骤中,两个待连接数据流的分区算法如下:
Figure BDA0002828449710000101
Figure BDA0002828449710000102
式(3)、(4)中,minR和minS分别表示数据流R和S中最小的数,maxR和maxS分别表示数据流R和S中最大的数。
S4:分别计算两个待连接数据流中所有分区的数据量平均值,并找出数据量大于平均值的过载分区,根据数据量平均值计算过载分区的第二分区数,根据第二分区数对过载分区进行二次分区;
本步骤中,由于不同分区中的数据量可能存在较大差异,本申请实施例通过对数据量过大的分区进行二次分区操作,避免由于分区内数据量不均衡造成的负载不均衡。二次分区算法具体为:分别设定两个待连接数据流的再分区阈值,并分别用两个待连接数据流的数据量平均值乘以各自的再分区阈值,得到两个待连接数据流的再分区数据量;分别判断两个待连接数据流中各个分区的数据量是否大于对应的再分区数据量,如果大于再分区数据量,则判定该分区为过载分区。二次分区算法公式具体为:
Figure BDA0002828449710000103
Figure BDA0002828449710000111
式(5)、(6)中,partitioni和partitionj分别表示数据流R的第i个分区和数据流S的第j个分区。minpartitioni和minpartitionj分别代表分区i和分区j中的最小值,maxpartitioni和maxpartitionj分别代表分区i和分区j中的最大值,repartition代表对过载分区进行二次分区的第二分区数,即将过载分区分成repartition份,第二分区数的计算公式为:
Figure BDA0002828449710000112
Figure BDA0002828449710000113
式(7)、(8)中,average_sizeR和average_sizeS分别代表将数据流R和S进行分区后每个分区的平均大小。
请一并参阅图2,为现有分区算法与本申请实施例的分区算法的负载均衡对比图。相较于现有分区算法中通过节点的最大承载能力决定分区数,本申请实施例的分区决策方式更加合理,可以达到更好的负载均衡。
S5:根据Theta条件对两个数据流的所有分区进行过滤,将不满足Theta条件的分区过滤掉;
本步骤中,在对数据流分区结束之后,根据Theta条件对所有分区进行过滤,以进一步减少笛卡尔积操作的数量。过滤方式具体为:例如,当Theta条件为“>”时,如果数据流R中第i个分区Ri的最大值大于数据流S中第i个分区Si的最小值,则认为分区Ri与分区Si的笛卡尔积中有可能存在满足Theta条件的数据,即分区Ri与分区Si满足Theta条件;否则认为分区Ri与分区Si不满足Theta条件,则将该分区过滤掉,从而既减少了笛卡尔积操作的数量,又能在并行计算环境下减少节点之间的通讯代价,提高Theta-Join操作的性能。
同样地,当θ条件为“<”、“<=”或“>=”时,与Theta条件为“>”时的分区过滤方式同理,此处将不再赘述。
S6:对过滤后的分区进行笛卡尔积操作,并从笛卡尔积操作结果中过滤出满足Theta条件的数据组,作为Theta-Join操作的结果;
本步骤中,在对数据流进行完过滤之后,所保留下来的分区均为可能存在满足Theta条件的数据组、需要对其进行笛卡尔积操作的分区。对这些分区进行笛卡尔积操作,并从笛卡尔积操作的结果中过滤出满足Theta条件的数据组,作为Theta-Join操作的结果进行返回。
如图3所示,为现有笛卡尔积操作算法与本申请实施例的笛卡尔积操作算法的效果对比图。其中,(a)、(b)、(c)和(d)分别为1-Bucket-Theta算法、CFS算法、FastThetaJoin算法和本算法的笛卡尔积操作所产生的结果矩阵示意图,(e)为四种算法的笛卡尔积数量柱状图。由于在过滤阶段对不必要的笛卡尔积进行过滤的效果不同,因此各种算法需要操作的笛卡尔积数量也不同。在(a)、(b)、(c)和(d)中,粗线边框代表需要进行笛卡尔积操作的区域,细线边框代表对区域进行的分区。如图所示,本发明所提算法需要进行笛卡尔积操作的区域最小,最为高效。另外,FastThetaJoin算法与本发明所提算法不需要对分区内数据顺序进行排序,而1-Bucket-Theta与CFS算法则需要对数据进行整体排序,所以效率会更差。
基于上述,本申请实施例的数据流连接优化方法通过借助数据流自身的波动特征进行动态分区,使分区包含对数据流特征的考量而变得更为细化,更细化的分区可以在过滤阶段更大程度地过滤掉不必要的笛卡尔积操作,从而提升行Theta-Join操作的性能;且分区过程无需排序,时间复杂度低,运行效率高;并且在分区后,根据所有分区的数据量平均值对过载分区进行二次分区,以避免并行环境下的负载失衡问题,提高数据流Theta-Join操作的性能。
请参阅图4,为本申请实施例的数据流连接优化系统结构示意图。本申请实施例的数据流连接优化系统40包括:
标准差计算模块41:用于分别计算两个待连接数据流的标准差,根据所述标准差分别确定所述两个待连接数据流的第一分区数;
第一分区模块42:用于根据所述第一分区数分别对所述两个待连接数据流进行分区;
第二分区模块43:用于根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区;
分区过滤模块44:用于根据Theta条件对所述两个待连接数据流的所有分区进行过滤;
笛卡尔积操作模块45:用于对所述过滤后的分区进行笛卡尔积操作,并从所述笛卡尔积操作结果中过滤出满足Theta条件的数据组,作为Theta-Join操作的结果。
请参阅图5,为本申请实施例的终端结构示意图。该终端50包括处理器51、与处理器51耦接的存储器52。
存储器52存储有用于实现上述数据流连接优化方法的程序指令。
处理器51用于执行存储器52存储的程序指令以控制数据流连接优化。
其中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
请参阅图6,为本申请实施例的存储介质的结构示意图。本申请实施例的存储介质存储有能够实现上述所有方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本申请中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本申请所示的这些实施例,而是要符合与本申请所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种数据流连接优化方法,其特征在于,包括:
分别计算两个待连接数据流的标准差,根据所述标准差分别确定所述两个待连接数据流的第一分区数;
根据所述第一分区数分别对所述两个待连接数据流进行分区;
根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区;
根据Theta条件对所述两个待连接数据流的所有分区进行过滤;
对所述过滤后的分区进行笛卡尔积操作,并从所述笛卡尔积操作结果中过滤出满足Theta条件的数据组,作为Theta-Join操作的结果。
2.根据权利要求1所述的数据流连接优化方法,其特征在于,所述根据所述标准差分别确定所述两个待连接数据流的第一分区数具体为:
Figure FDA0002828449700000015
Figure FDA0002828449700000016
上式中,R和S分别代表两个待连接数据流,partitionR和partitions分别代表将数据流R和S进行分区的分区数,stdR和stdS分别为数据流R和S的标准差,
Figure FDA0002828449700000014
代表向上取整;min_partitionR和min_partitions分别代表将数据流R和S进行分区的最小分区数,max_partitionR和max_partitionS分别代表将数据流R和S进行分区的最大分区数。
3.根据权利要求2所述的数据流连接优化方法,其特征在于,所述根据所述第一分区数分别对所述两个待连接数据流进行分区具体为:
Figure FDA0002828449700000011
Figure FDA0002828449700000012
Figure FDA0002828449700000013
Figure FDA0002828449700000021
Figure FDA0002828449700000022
Figure FDA0002828449700000023
上式中,minR和minS分别表示数据流R和S中最小的数,maxR和maxS分别表示数据流R和S中最大的数。
4.根据权利要求1至3任一项所述的数据流连接优化方法,其特征在于,所述根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区具体为:
分别计算所述两个待连接数据流中所有分区的数据量平均值,并找出数据量大于所述平均值的过载分区;
根据所述平均值计算所述过载分区的第二分区数,根据所述第二分区数对所述过载分区进行二次分区。
5.根据权利要求4所述的数据流连接优化方法,其特征在于,所述找出数据量大于所述平均值的过载分区具体为:
分别设定所述两个待连接数据流的再分区阈值,并分别用所述两个待连接数据流的数据量平均值乘以各自的再分区阈值,得到两个待连接数据流的再分区数据量;
分别判断所述两个待连接数据流中各个分区的数据量是否大于对应的再分区数据量,如果大于所述再分区数据量,则判定该分区为过载分区。
6.根据权利要求5所述的数据流连接优化方法,其特征在于,所述对所述过载分区进行二次分区具体为:
Figure FDA0002828449700000031
Figure FDA0002828449700000032
上式中,partitioni和partitionj分别表示数据流R的第i个分区和数据流S的第j个分区,minpartitioni和minpartitionj分别代表分区i和分区j中的最小值,maxpartitioni和maxpartitionj分别代表分区i和分区j中的最大值,repartition代表对所述过载分区进行二次分区的第二分区数。
7.根据权利要求6所述的数据流连接优化方法,其特征在于,所述根据Theta条件对所述两个待连接数据流的所有分区进行过滤具体为:
当Theta条件为“>”时,如果数据流R中第i个分区Ri的最大值大于数据流S中第i个分区Si的最小值,则认为分区Ri与分区Si的笛卡尔积中有可能存在满足Theta条件的数据,即分区Ri与分区Si满足Theta条件;否则认为分区Ri与分区Si不满足Theta条件,则将该分区过滤掉。
8.一种数据流连接优化系统,其特征在于,包括:
标准差计算模块:用于分别计算两个待连接数据流的标准差,根据所述标准差分别确定所述两个待连接数据流的第一分区数;
第一分区模块:用于根据所述第一分区数分别对所述两个待连接数据流进行分区;
第二分区模块:用于根据所述两个待连接数据流中所有分区的数据量平均值对过载分区进行二次分区;
分区过滤模块:用于根据Theta条件对所述两个待连接数据流的所有分区进行过滤;
笛卡尔积操作模块:用于对所述过滤后的分区进行笛卡尔积操作,并从所述笛卡尔积操作结果中过滤出满足Theta条件的数据组,作为Theta-Join操作的结果。
9.一种终端,其特征在于,所述终端包括处理器、与所述处理器耦接的存储器,其中,
所述存储器存储有用于实现权利要求1-7任一项所述的数据流连接优化方法的程序指令;
所述处理器用于执行所述存储器存储的所述程序指令以控制数据流连接优化。
10.一种存储介质,其特征在于,存储有处理器可运行的程序指令,所述程序指令用于执行权利要求1至7任一项所述数据流连接优化方法。
CN202011435327.3A 2020-12-10 2020-12-10 一种数据流连接优化方法、系统、终端以及存储介质 Active CN112615910B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011435327.3A CN112615910B (zh) 2020-12-10 2020-12-10 一种数据流连接优化方法、系统、终端以及存储介质
PCT/CN2021/082956 WO2022121154A1 (zh) 2020-12-10 2021-03-25 一种数据流连接优化方法、系统、终端以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011435327.3A CN112615910B (zh) 2020-12-10 2020-12-10 一种数据流连接优化方法、系统、终端以及存储介质

Publications (2)

Publication Number Publication Date
CN112615910A CN112615910A (zh) 2021-04-06
CN112615910B true CN112615910B (zh) 2021-10-29

Family

ID=75233182

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011435327.3A Active CN112615910B (zh) 2020-12-10 2020-12-10 一种数据流连接优化方法、系统、终端以及存储介质

Country Status (2)

Country Link
CN (1) CN112615910B (zh)
WO (1) WO2022121154A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114976143B (zh) * 2022-06-29 2023-06-16 北京亿华通科技股份有限公司 燃料电池系统控制方法、装置、电子设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666194A (zh) * 2002-04-26 2005-09-07 西门子公司 通用的数据流描述
CN104750770A (zh) * 2013-12-31 2015-07-01 国际商业机器公司 将联接操作处理时间最小化的计算机实现的方法和系统
CN108804018A (zh) * 2017-04-26 2018-11-13 华为技术有限公司 一种数据分区的方法及装置
CN109791543A (zh) * 2016-09-30 2019-05-21 华为技术有限公司 执行多表连接操作的控制方法及对应装置
CN110489452A (zh) * 2019-08-21 2019-11-22 中国科学院深圳先进技术研究院 多路数据流θ连接优化方法及系统
CN110659304A (zh) * 2019-09-09 2020-01-07 杭州中科先进技术研究院有限公司 一种基于数据倾斜的多路数据流连接系统
CN111464451A (zh) * 2020-03-23 2020-07-28 中国科学院深圳先进技术研究院 一种数据流等值连接优化方法、系统及电子设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2508603A (en) * 2012-12-04 2014-06-11 Ibm Optimizing the order of execution of multiple join operations
US9870397B2 (en) * 2014-08-19 2018-01-16 International Business Machines Corporation Processing multi-way theta join queries involving arithmetic operators on MapReduce
CN105955999B (zh) * 2016-04-20 2019-04-23 华中科技大学 一种大规模RDF图的ThetaJoin查询处理方法
CN106021386B (zh) * 2016-05-12 2019-02-05 西北工业大学 面向海量分布式数据的非等值连接方法
US10387426B2 (en) * 2017-10-27 2019-08-20 Streamsimple, Inc. Streaming microservices for stream processing applications
US10860586B2 (en) * 2018-02-19 2020-12-08 Red Hat, Inc. Methods and devices for joining multiple events in data streaming analytics systems

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1666194A (zh) * 2002-04-26 2005-09-07 西门子公司 通用的数据流描述
CN101908070A (zh) * 2002-04-26 2010-12-08 西门子公司 在数据处理设备中利用数据流描述变换数据流的方法
CN104750770A (zh) * 2013-12-31 2015-07-01 国际商业机器公司 将联接操作处理时间最小化的计算机实现的方法和系统
CN109791543A (zh) * 2016-09-30 2019-05-21 华为技术有限公司 执行多表连接操作的控制方法及对应装置
CN108804018A (zh) * 2017-04-26 2018-11-13 华为技术有限公司 一种数据分区的方法及装置
CN110489452A (zh) * 2019-08-21 2019-11-22 中国科学院深圳先进技术研究院 多路数据流θ连接优化方法及系统
CN110659304A (zh) * 2019-09-09 2020-01-07 杭州中科先进技术研究院有限公司 一种基于数据倾斜的多路数据流连接系统
CN111464451A (zh) * 2020-03-23 2020-07-28 中国科学院深圳先进技术研究院 一种数据流等值连接优化方法、系统及电子设备

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
An Efficient Filter Strategy for Theta-Join Query in Distributed Environment;Wenjie Liu 等;《2017 46th International Conference on Parallel Processing Workshops (ICPPW)》;20170907;全文 *
An efficient theta-join query processing in distributed environment;Wenjie Liu 等;《J. Parallel Distrib. Comput.》;20180720;全文 *
一种支持通道信息关联的多媒体数据流过滤模型;李军 等;《计算机科学》;20101230;全文 *
可扩展的流数据 Join 处理框架;赛影辉 等;《计算机应用与软件》;20180430;全文 *
基于机器学习的动态分区并行文件系统性能优化;吴嘉澍 等;《集成技术》;20201130;全文 *
应对倾斜数据流在线连接方法;王春凯 等;《软件学报》;20181230;全文 *

Also Published As

Publication number Publication date
WO2022121154A1 (zh) 2022-06-16
CN112615910A (zh) 2021-04-06

Similar Documents

Publication Publication Date Title
WO2022012123A1 (zh) 数据处理方法、装置、电子设备及存储介质
CN113485792B (zh) 一种kubernetes集群内Pod调度方法、终端设备及存储介质
US20230146912A1 (en) Method, Apparatus, and Computing Device for Constructing Prediction Model, and Storage Medium
CN112615910B (zh) 一种数据流连接优化方法、系统、终端以及存储介质
CN110580182A (zh) 一种边缘计算中的云间计算卸载方法及装置
US10810458B2 (en) Incremental automatic update of ranked neighbor lists based on k-th nearest neighbors
CN112100450A (zh) 一种图计算数据分割方法、终端设备及存储介质
CN114418226B (zh) 电力通信系统的故障分析方法及装置
US20190392312A1 (en) Method for quantizing a histogram of an image, method for training a neural network and neural network training system
CN112422448A (zh) Fpga加速卡网络数据传输方法及相关组件
CN110266757A (zh) 一种面向任务协同场景的边缘计算资源优化方法
CN113473542A (zh) 无线供能边缘计算网络的时延最小化资源分配方法及装置
CN113315669A (zh) 基于云边协同的吞吐量优化的机器学习推断任务部署方法
CN110728372B (zh) 一种人工智能模型动态加载的集群设计方法及集群系统
CN109146672B (zh) 一种基于生产模式的撮合匹配方法和装置
CN108536824B (zh) 一种数据处理方法及装置
Pattanshetti et al. Parameter tuning of big data platforms for performance optimization
CN112948442B (zh) 数据流θ连接优化方法、系统、终端以及存储介质
CN113297188B (zh) 数据处理方法以及装置
CN110347886B (zh) 分布式父子关系元素查找方法
CN109685101B (zh) 一种多维数据自适应采集方法及系统
Wang et al. Interval Number Based Service Selection for Multi-users' Requirements
JP6646340B2 (ja) 分散装置および分散方法
CN110166429B (zh) 数据包处理方法、装置、计算机可读存储介质及服务器
CN115134301B (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