CN110659304B - 一种基于数据倾斜的多路数据流连接系统 - Google Patents

一种基于数据倾斜的多路数据流连接系统 Download PDF

Info

Publication number
CN110659304B
CN110659304B CN201910866088.8A CN201910866088A CN110659304B CN 110659304 B CN110659304 B CN 110659304B CN 201910866088 A CN201910866088 A CN 201910866088A CN 110659304 B CN110659304 B CN 110659304B
Authority
CN
China
Prior art keywords
module
data
connection
data stream
query
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
CN201910866088.8A
Other languages
English (en)
Other versions
CN110659304A (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.)
Hangzhou Zhongke Advanced Technology Development Co ltd
Original Assignee
Hangzhou Zhongke Advanced Technology Research Institute 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 Hangzhou Zhongke Advanced Technology Research Institute Co ltd filed Critical Hangzhou Zhongke Advanced Technology Research Institute Co ltd
Priority to CN201910866088.8A priority Critical patent/CN110659304B/zh
Publication of CN110659304A publication Critical patent/CN110659304A/zh
Application granted granted Critical
Publication of CN110659304B publication Critical patent/CN110659304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24552Database cache management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于数据倾斜的多路数据流连接系统。数据采集模块经数据缓存模块连接到预处理模块输入,预处理模块输出经不同窗口连接到变换模块输入,变换模块输出经不同的窗口连接到连接模块输入,连接模块输出经扩展模块连接到结果存储模块,同时扩展模块输出连接到操作界面;在数据流进行连接之前,将数据流中具有相同键值的元组聚合为同一元组模型然后发送到连接模块,使得后续的分布式系统能同时处理相同元组模型中的元组。本发明能统计滑动窗口中流式数据的特征,实现多路数据流的连接,解决多路数据流连接过程中键值冗余的问题,通过分析流式数据的特征并结合发明的组连接算法进行多路数据流的连接优化。

Description

一种基于数据倾斜的多路数据流连接系统
技术领域
本发明涉及了一种数据流连接系统和处理方法,尤其是涉及了一种依据流式数据的倾斜程度进行多路数据流连接的系统。
背景技术
时至今日,随着高新技术的进一步发展,尤其是人工智能、云计算、物联网等技术的发展,数据已经呈现出爆炸式增长,海量数据的计算分析服务影响着社会方方面面,为公众的生活和企业的运营决策提供服务。在通常情况下,这些数据体量大、时效性强、结构多样复杂,如何从海量实时数据中及时的获取准确全面的信息成了当前大数据研究的一个热门方向。
目前,针对实时数据流的数据处理方案主要有Spark、Flink、Storm等。Spark生态中针对流式数据处理开发出Spark Streaming架构。Spark Streaming把输入的数据按照batch size(如1秒)分成一段一段的数据DStream(Discretized Stream),每一段数据都转换成Spark中的RDD(Resilient Distributed Dataset),然后将Spark Streaming中对DStream的Transformation操作变为针对Spark中RDD的Transformation操作,并且变换的中间结果保存在内存中。Spark Streaming具有高容错性,准实时性以及扩展性强、吞吐量大。
Flink和Storm也是常用的大数据流式处理系统,它们都具有强实时性,高扩展性性,可以动态地增加节点增加整体的存储容量和并行计算能力,同时数据冗余备份机制保证数据不会丢失。
目前一些发明人针对数据流的连接也提出了自己的解决方案。
现有的一种分布式等值数据流连接方法(中国专利申请CN201510998218)。该发明提出一种新型的分布式等值连接方法,该方法包括代价模型计算,使用提出的代价模型,选择开销代价最小的连接方案;数据分发,将需要连接的数据流发送到同一个task中,task为在具体线程中执行的任务抽象,将task分配到不同的节点中运算,使需要连接的数据流在同一个节点运算;数据连接,将接收到的数据构成关系数据模型,通过关系树模型连接和降载数据。
数据流连接方法及装置(CN201610965692),本发明提出一种数据流连接方法及装置,通过动态调整数据流连接顺序,实现提高数据流连接效率的目的。具体实施过程是,根据至少三个数据流各自的属性,确定出数据流之间的连接谓词,根据连接谓词得到至少三个数据流依次相邻的第一连接顺序,确定连接谓词中的各属性的值的数据分布。然后在接收到任一数据流的新元组后,对该数据流的属性对应的数据分布进行调整,最终根据调整后的数据分布,将第一连接顺序调整为第二连接顺序。
但是上述现有技术仍然存在不少缺陷不足和局限。
一方面,现有的流式大数据处理的技术方案例如Spark、Flink、Storm等没有基于数据倾斜进行多路数据流的连接,或者只适合于等值连接而不适用于非等值连接,或者针对连接次序而只针对三路及以上数据流连接。
另一方面,随着数据量的大规模增长以及查询结构的复杂化,在实践中发现了:在对海量流式数据进行查询时,需要在最短的时间内对多个数据流进行查询连接操作以获得完整准确的结果,而在现有的解决方案中还没有提出通过减少键值冗余提高连接查询效率的方案。
发明内容
本发明涉及的是一种基于数据倾斜进行多路数据流连接系统的实现方案,系统使用一种全新的组连接算法,解决多路数据流连接过程中键值冗余的问题。
所谓数据流是指一个包含信息的序列,在这个序列中信息一个接一个,彼此相互独立而不是作为一个整体来传送。数据流S={s1,s2,…,si,…}是大量的数据以一种速度连续不断的到来形成的数据序列,每个数据到来的顺序无法预知,用户只能有限次的遍历这个序列。
数据流连接操作是为了获取完整全面信息,是分布式流式数据处理中非常重要的一个环节。不同于数据库中多表的连接是对表中元组进行笛卡尔积,数据流连接由于其自身数据量的无限性,连接时一般引入了滑动窗口机制,连接只针对窗口内的数据。
所谓键值(Key)指的是数据流连接时指定的连接属性,即数据流连接时与连接谓词相关的属性。本发明中为了方便,将数据流中除了连接属性其他的属性统称为属性值(Value),数据流中的信息简化成多个(key,value)元组。所谓键值冗余指的是在滑动窗口中相同键值的元组多于一个。
为了解决背景技术中存在的问题,本发明解决的最主要的技术问题是设计出了一种多路数据流连接的系统,是一种基于数据倾斜的多路数据流连接系统,通过分析流式数据的特征并结合发明的组连接算法进行多路数据流的连接优化。
本发明系统采用优化连接方法——组连接来解决多路数据流连接查询优化问题。本发明系统中的数据主要通过数据采集模块和数据缓存模块获取;数据流的连接主要通过预处理模块、变换模块、连接模块、扩展模块和查询解析模块实现;最终数据连接的结果由结果存储模块持久存储。
如图1所示,本发明采用的具体技术方案是:
本发明依据流式数据的倾斜程度进行多路数据流连接,实施的系统包括数据采集模块、数据缓存模块、预处理模块、变换模块、连接模块、扩展模块、结果存储模块、查询解析模块和操作界面;数据采集模块输出端经数据缓存模块连接到预处理模块的输入端,预处理模块的输出端经不同窗口连接到变换模块的输入端,变换模块的输出端经不同的窗口连接到连接模块的输入端,连接模块的输出端经扩展模块连接到结果存储模块,同时扩展模块的输出端连接到操作界面,操作界面输出端连接到预处理模块,操作界面输出端经查询解析模块分别连接到变换模块和连接模块。
所述的系统具体为:
包括数据采集模块,从系统外部数据源接收多路数据流,多路数据流输入到数据采集模块,数据采集模块同时将多路数据流布发送到数据缓存模块;数据采集模块能实时采集处理数据流,主要提供数据读、写、过滤等功能。
包括数据缓存模块,接收来自数据采集模块的各路数据流并存储,同时将各路数据流对应发送到预处理模块;数据缓存模块主要提供数据缓存功能。数据缓存模块为每个数据源的数据流自动创建一个主题topic,方便后续子系统的模块对数据的自动获取;
数据采集模块与数据缓存模块主要可以通过自主定制设置,管理员配置等手段,实现同时对多个数据源数据采集、过滤以及缓存。
包括预处理模块,接收来自数据缓存模块的各路数据流和来自操作界面的配置文件,根据配置文件从数据缓存模块中获取数据流,为各数据流创建各自的数据框架DataFrame,并按照预定时间划分成一系列窗口;
配置文件中包含了数据流的主题topic、各属性名称和窗口时间等信息。
包括变换模块,接收来自查询解析模块发送过来的数据流的连接属性信息,变换模块依据数据流中连接属性的字段并结合组连接算法对数据流在窗口内进行变换,注意的是变换是在窗口内进行的;
本发明的组连接算法对各路数据流重新分配处理,实现依据数据特征进行多路数据流连接。
包括连接模块,接收来自查询解析模块的查询计划,根据查询计划对数据流进行连接;
包括扩展模块,接收来自连接模块发送过来的重组连接后的数据流并进行扩展,分发送到操作界面和结果存储模块;
包括结果存储模块,接收来自扩展模块发送过来的重组连接后的数据流进行储存;
包括查询解析模块,接收来自操作界面发送过来的查询语句SQL并进行解析获得数据流的连接属性和查询计划,将连接属性发送到变换模块,将查询计划发送到连接模块;
包括操作界面,接收外部输入的需求信息生成配置文件并发送到预处理模块,接收外部输入的查询语句SQL发送到查询解析模块,接收扩展模块发送过来的重组连接后的数据流并进行显示;
具体实施中,提供一站式系统管理和交互环境,用户直接通过Web端设定和修改系统参数,实时监控集群的运行状态。
本发明中的核心是组连接算法,所述的组连接算法在秒级窗口大小且连接结果的选择率(Selectivity)小于1/4情况下实施,其具体为:在数据流进行连接之前,将数据流中具有相同键值的元组(key,value)聚合为同一元组模型(key,valueList)然后发送到连接模块,使得后续的分布式系统能同时处理相同元组模型(key,valueList)中的元组;本发明将此方法称之为数据流中的组连接(GroJoin)算法,整个过程如图2所示。
通过将具有相同键值key的元组归为分组到同一元组模型(key,valueList)中,将每个元组模型(key,valueList)视为一个基本元素进行同时处理,这样能减少键值冗余提高连接查询效率。
元组模型(key,valueList)不仅保留了元组(key,value)的某些特征,而且还具有批处理的优点,可能会大大降低网络传输的成本。
但是,在上述算法中实验发现并不是每个组连接都可以提高连接效率,本发明通过实验探索发现了组连接执行的条件,在秒级窗口大小的情况下,连接结果的选择率(Selectivity)应该约小于1/4。
若在秒级窗口大小且连接结果的选择率(Selectivity)小于1/4情况下,则在常规的变换模块数据流处理方法下实施组连接算法,这样能显著提高数据的效率和精度。
若在秒级窗口大小且连接结果的选择率(Selectivity)不小于1/4情况下,则在常规的变换模块数据流处理方法下不实施组连接算法,而是仅执行常规的变换模块数据流处理方法。
所述的配置文件中包含了数据流的主题topic、各属性名称和窗口时间等信息。
所述的数据采集模块使用但不限于Flume海量日志采集系统,可被替代为Logstash等;
所述的数据缓存模块使用但不限于Kafka开源流处理系统,可被替代为RabbitMQ等;
所述的数据计算引擎使用但不限于Spark数据流处理系统,可被替代为Flink,Storm等。
所述的结果存储模块使用但不限于PostgreSQL对象关系型数据库管理系统,可被替代为MySQL等。
本发明中,单数据流数据倾斜定义为在单个数据流中整体元组数目和不同键值数量的比值。多数据流数据倾斜定义为多个数据流中单数据流倾斜值的乘积。
在对海量流式数据进行查询时,通过本发明的处理方式能在最短的时间内对多个数据流进行查询连接操作以获得完整准确的结果,通过减少键值冗余提高连接查询效率。
本发明的有益效果和优势有:
现有的流式大数据处理方案例如Spark、Flink、Storm等没有基于数据倾斜进行多路数据流的连接。而本发明能统计滑动窗口中流式数据的特征,然后基于这些特征运用组连接算法,实现多路数据流的连接。
现有的一种分布式等值数据流连接方法通过计算代价模型并选择最小的计算代价来进行数据的连接。但这种方式只适合于等值连接,对于非等值连接不适用。而本发明提出的一种数据流优化连接方案,这种解决方案适用于多种连接属性,包括等值连接以及非等值连接(如大于,小于等)。而且,本发明不限于等值连接,在theta连接方面的效果更加显著。
现有的数据流连接方法及装置通过实时更新窗口中数据的分布动态调整数据流连接顺序,此方法只针对三路及以上数据流连接。本发明不针对连接次序,而是获得并利用数据倾斜的特征,并且支持二路及以上数据流连接。
此外,在本发明的多路流式数据连接处理方案中,可以进一步结合采用Flume、Kafka和Spark、PostgreSQL等开源组件,能更好地融合了Flume高可靠的数据采集能力、Kafka高吞吐消息发布/订阅机制并结合Spark海量数据计算能力实现多路数据流连接功能,实现海量流式数据采集、缓存、处理以及存储的流程。
本发明除了组连接设计以外,还设计了查询解析、连接优化等方面,实现多路数据流的连接优化,使得在Flume、Kafka、Spark和PostgreSQL组合的架构上实现数据流的采集、缓存、查询连接以及存储的机制,在Flume、Kafka、Spark和PostgreSQL组合的架构上实现数据流的采集、缓存、查询连接以及存储的机制,能支持基于数据倾斜的多路数据流连接系统的架构方式,支持二路及以上数据流的优化连接。
具体实施中,系统通过结合操作界面能实现系统配置、数据查询的自动化实现方式。
本发明可以完成流式数据的采集、缓存、处理以及存储的过程,且系统配置人性化,界面友好,数据可视化程度高。
本发明可以运用于海量流式数据的连接查询,总结具有以下突出优势:
(1)本发明处理数据量巨大,数据的维度、范围、量级都不受限制,可达到TB级,甚至PB级;
(2)本发明可以处理二路及多路数据流的连接查询。
附图说明
图1是系统总体架构图;
图2是本发明变换模块的(key,valueList)处理过程图;
图3是系统的数据流程处理图;
图4是系统集群拓扑图;
图5是数据采集缓存流程图;
图6是连接查询模块实现图;
图7为实施例在不同概率分布上的性能结果图。
图8为在选择率、数据流速和窗口大小不同参数配置下,系统的性能结果图。
具体实施方式
下面结合附图及具体实施例对本发明作进一步详细说明。
本发明通过实验验证了技术方案,并且采用相应的优化方法条件稳定了连接结果的输出延时。
本发明技术方案的总体架构可从功能上分为数据采集缓存、数据连接处理、结果存储展示三大模块。系统执行作业的基本流程图见图3,具体流程如下:
(1)数据采集模块采用Flume,多源数据被数据采集模块Flume采集后,首先进行数据过滤,只保留需要的数据。过滤条件根据需求由管理员来编写代码实现。数据缓存模块采用Kafka,采集的数据被推送到数据缓存模块Kafka,数据缓存模块Kafka根据指定的主题topic名称为每个数据流创建主题topic,用于缓存数据。
(2)本发明系统采用大数据计算引擎Spark完成流式数据的连接查询。Spark从数据缓存模块拉取流式数据,然后根据用户设定的属性名称为每个数据流创建数据框架DataFrame,并且根据设定为每个数据流添加滑动窗口。
(3)数据变换模块以滑动窗口为单位进行数据的变换操作。如果窗口内的数据满足组连接条件,则对窗口内的数据进行聚合操作,聚合结果会被推送到连接模块;如果不满足组连接条件,则不对窗口内的数据进行聚合操作,直接进入连接模块。
(4)连接模块根据查询计划对数据流进行连接查询。查询解析模块解析用户输入的SQL语句生成查询计划。查询解析模块是在现有SQL解析器上进行,删减了与流式数据连接不相关的算子。连接模块执行连接查询,并把结果推送到结果扩展模块。
(5)结果扩展模块扩展连接查询结果,并把结果推送到用户界面和数据存储模块。用户只需要从网页端发布查询操作,提交后系统自动获取数据、执行连接查询、提供查询结果。
本发明的实施例如下:
本实施例实验中整个集群共有15台机器,其中每台硬盘大小为300G,内存32GB,CPU为64位AMD Opteron 6174,主频2.2GHz,运行的操作系统是64位的CentOS 7。本系统所在的集群部署在HP刀片式服务器上,服务器有15个刀片机。刀片机命名依次为node01~node15,每台物理刀片的磁盘(硬盘)大小即为300G,如图4所示。
本系统数据采集模块、缓存模块部署在节点node13、node14、node15节点上。查询结果存储在node12节点上。系统流式数据查询连接模块部署在node01~node11节点上,采用典型的Spark集群主从架构。其中节点node01为主节点master,其余节点为从节点worker。下面从数据采集缓存、数据连接查询、数据存储展示三部分对本发明的技术方案进行详细的阐述。
例如,针对数据库中的车牌数据进行处理,元组(key,value)中的键值key为车牌,元值value为车牌相关的历史记录信息,比如车辆位置、速度等。
(1)数据采集缓存的实现
本系统数据采集缓存部分采用了Flume和Kafka技术实现,由Zookeeper分布式应用协调系统负责Kafka集群的管理,如图5所示,各自功能概述如下:
1.1)使用Agent系统对数据源产生的数据进行采集。组件Source负责数据的采集以及过滤,过滤功能的实现是管理员根据用户需求自定义过滤器实现的。Channel组件负责接收Source组件的信息并推送到Sink组件。Sink组件负责根据预定义的配置信息把数据写入到Kafka中指定的主题topic中。
1.2)Kafka集群接收Flume模块采集的信息并暂时缓存。本系统设定Kafka中数据备份数为2,分区数为48。
1.3)用户通过系统操作界面修改Flume和Kafka的配置信息以及创建新的topic。
(2)数据连接查询的实现
本系统的连接查询模块运行在Spark集群上。其模块实现图如图6所示,实现步骤如下:
2.1)数据缓存模块获取多路数据流,为Spark集群提供连接查询数据。
2.2)Spark集群获取缓存模块的数据进行多路数据流连接查询。
·用户针对待处理的数据源进行配置文件设置,Spark集群根据配置文件的内容进行系统配置。
·预处理模块根据配置信息为各数据流属性设定名称,并把各路数据流转换成数据框架DataFrame。
·变换模块统计窗口内的流式数据信息,若满足组连接条件则对窗口内数据进行聚合操作,把窗口内具有相同键值的元组(key,value)聚合成元组模型(key,valueList),若不满足则不做任何操作。
·连接模块依据查询计划进行数据流的连接。查询计划是查询解析模块解析SQL查询语句得出的。
·扩展模块对连接的结果进行扩展,把窗口内数据的元组模型(key,valueList)还原成元组(key,value)。
2.3)结果存储模块负责把最终的结果写入到存储层。
(3)数据存储展示的实现
系统展示模块采用前端框架FLEX,通过MXML框架来进行组件布局和数据绑定。具体实现如下:
3.1)登录窗口设定有两种用户账号:管理员账号和普通用户账号。这两种账号是通过用户id区分的。管理员有权限对系统配置文件进行配置,而普通账号只可以查询数据分析结果。
3.2)配置信息管理项通过调用Kafka和Spark的api接口直接配置Kafka和Spark集群的基本参数,实现系统配置的自动化。
3.3)系统实时运行状态项通过调用Spark的Web接口在线监控系统的工作情况;通过调用Kafka Offset Monitor的Web接口在线监控Kafka集群的运行情况。例如系统的负载、每台机器CPU、内存、磁盘占用率等等。
3.4)数据操作项直接与通用数据配置服务器通过socket端口通信,当数据源有变化时,再以xml格式更新服务器的数据源相关配置文件。
3.5)数据操作项直接通过调用shell脚本的方式,运行已经部署在网站的实时连接查询作业。
通过上述真实实验得出,本发明所设计的系统支持用GNU/Linux作为开发和生产平台。可以在由多个节点构成的集群上演示系统的运行,而且只要Spark允许,还可以继续扩展。
结果详见图7,图中可见,在不同概率分布上的性能结果,性能稳定,并且比优化前连接延迟短。在选择率、数据流速和窗口大小不同参数配置下,系统的性能稳定,比现有的Spark streaming性能提高40%左右。
本发明的数据流处理实施例实现方案如上所述,数据采集模块使用Flume实现系统数据采集功能,保留Flume可靠性、可扩展性的特点;数据缓存模块使用Kafka实现了缓存数据的功能,保留Kafka吞吐量大、易扩展的特点;数据连接查询模块使用Spark实现系统流式数据连接查询功能,保持了Spark的性能优势已经良好的可扩展性,实现了系统最初功能要求;界面展示模块是整个系统自动化部署、运行、呈现结果的良好体现。

Claims (3)

1.一种基于数据倾斜的多路数据流连接系统,其特征在于:实施的系统包括数据采集模块、数据缓存模块、预处理模块、变换模块、连接模块、扩展模块、结果存储模块、查询解析模块和操作界面;数据采集模块输出端经数据缓存模块连接到预处理模块的输入端,预处理模块的输出端经不同窗口连接到变换模块的输入端,变换模块的输出端经不同的窗口连接到连接模块的输入端,连接模块的输出端经扩展模块连接到结果存储模块,同时扩展模块的输出端连接到操作界面,操作界面输出端连接到预处理模块,操作界面输出端经查询解析模块分别连接到变换模块和连接模块;
包括数据采集模块,多路数据流输入到数据采集模块,数据采集模块同时将多路数据流布发送到数据缓存模块;
包括数据缓存模块,接收来自数据采集模块的各路数据流并存储,同时将各路数据流对应发送到预处理模块;数据缓存模块为每个数据源的数据流自动创建一个主题topic;
包括预处理模块,接收来自数据缓存模块的各路数据流和来自操作界面的配置文件,根据配置文件从数据缓存模块中获取数据流,为各数据流创建各自的数据框架DataFrame,并按照预定时间划分成一系列窗口;
包括变换模块,接收来自查询解析模块发送过来的数据流的连接属性信息,变换模块依据数据流中连接属性的字段并结合组连接算法对数据流在窗口内进行变换;
包括连接模块,接收来自查询解析模块的查询计划,根据查询计划对数据流进行连接;
包括扩展模块,接收来自连接模块发送过来的重组连接后的数据流并进行扩展,分发送到操作界面和结果存储模块;
包括结果存储模块,接收来自扩展模块发送过来的重组连接后的数据流进行储存;
包括查询解析模块,接收来自操作界面发送过来的查询语句SQL并进行解析获得数据流的连接属性和查询计划,将连接属性发送到变换模块,将查询计划发送到连接模块;
包括操作界面,接收外部输入的需求信息生成配置文件并发送到预处理模块,接收外部输入的查询语句SQL发送到查询解析模块,接收扩展模块发送过来的重组连接后的数据流并进行显示;
所述的组连接算法在秒级窗口大小且连接结果的选择率小于1/4情况下实施,其具体为:在数据流进行连接之前,将数据流中具有相同键值的元组(key,value)聚合为同一元组模型(key,valueList)然后发送到连接模块,使得后续的分布式系统能同时处理相同元组模型(key,valueList)中的元组。
2.根据权利要求1所述的一种基于数据倾斜的多路数据流连接系统,其特征在于:通过将具有相同键值key的元组归为分组到同一元组模型(key,valueList)中,将每个元组模型(key,valueList)视为一个基本元素进行同时处理,这样能减少键值冗余提高连接查询效率。
3.根据权利要求1所述的一种基于数据倾斜的多路数据流连接系统,其特征在于:所述的配置文件中包含了数据流的主题topic、各属性名称和窗口时间信息。
CN201910866088.8A 2019-09-09 2019-09-09 一种基于数据倾斜的多路数据流连接系统 Active CN110659304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910866088.8A CN110659304B (zh) 2019-09-09 2019-09-09 一种基于数据倾斜的多路数据流连接系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910866088.8A CN110659304B (zh) 2019-09-09 2019-09-09 一种基于数据倾斜的多路数据流连接系统

Publications (2)

Publication Number Publication Date
CN110659304A CN110659304A (zh) 2020-01-07
CN110659304B true CN110659304B (zh) 2023-06-16

Family

ID=69037357

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910866088.8A Active CN110659304B (zh) 2019-09-09 2019-09-09 一种基于数据倾斜的多路数据流连接系统

Country Status (1)

Country Link
CN (1) CN110659304B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113127512B (zh) * 2020-01-15 2023-09-29 百度在线网络技术(北京)有限公司 多数据流的数据拼接触发方法、装置、电子设备和介质
CN111464451B (zh) * 2020-03-23 2023-04-21 中国科学院深圳先进技术研究院 一种数据流等值连接优化方法、系统及电子设备
CN111858658B (zh) * 2020-07-23 2024-04-05 中国平安财产保险股份有限公司 数据采集方法、装置、设备及存储介质
CN112615910B (zh) * 2020-12-10 2021-10-29 中国科学院深圳先进技术研究院 一种数据流连接优化方法、系统、终端以及存储介质
CN112667956B (zh) * 2020-12-24 2024-07-12 杭州中科先进技术发展有限公司 一种面向流式计算的多路数据流产生器和产生方法
CN112948442B (zh) * 2021-03-26 2022-06-21 深圳先进技术研究院 数据流θ连接优化方法、系统、终端以及存储介质
CN113868230B (zh) * 2021-10-20 2024-06-04 重庆邮电大学 一种基于Spark计算框架的大表连接优化方法
CN114095032B (zh) * 2021-11-12 2022-07-15 中国科学院空间应用工程与技术中心 基于Flink和RVR的数据流压缩方法、边缘计算系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116088A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Optimizing window joins over data streams
CN107341240A (zh) * 2017-07-05 2017-11-10 中国人民大学 一种应对倾斜数据流在线连接的处理方法
US9967234B1 (en) * 2016-04-27 2018-05-08 The United States Of America, As Represented By The Secretary Of The Navy Miniaturized real time pseudo-cross domain data communication system with air gapped full motion video device and method
CN108681569A (zh) * 2018-05-04 2018-10-19 亚洲保理(深圳)有限公司 一种数据自动分析系统及其方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610397B2 (en) * 2005-02-28 2009-10-27 International Business Machines Corporation Method and apparatus for adaptive load shedding
CN105471893B (zh) * 2015-12-25 2018-08-21 南京邮电大学 一种分布式等值数据流连接方法
CN108009111B (zh) * 2016-11-01 2020-02-21 华为技术有限公司 数据流连接方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015116088A1 (en) * 2014-01-30 2015-08-06 Hewlett-Packard Development Company, L.P. Optimizing window joins over data streams
US9967234B1 (en) * 2016-04-27 2018-05-08 The United States Of America, As Represented By The Secretary Of The Navy Miniaturized real time pseudo-cross domain data communication system with air gapped full motion video device and method
CN107341240A (zh) * 2017-07-05 2017-11-10 中国人民大学 一种应对倾斜数据流在线连接的处理方法
CN108681569A (zh) * 2018-05-04 2018-10-19 亚洲保理(深圳)有限公司 一种数据自动分析系统及其方法

Also Published As

Publication number Publication date
CN110659304A (zh) 2020-01-07

Similar Documents

Publication Publication Date Title
CN110659304B (zh) 一种基于数据倾斜的多路数据流连接系统
CN104767813B (zh) 基于openstack的公众行大数据服务平台
US10394813B2 (en) Method and apparatus for performing query aware partitioning
CN102609451B (zh) 面向流式数据处理的sql查询计划生成方法
EP1482426A2 (en) System and method of query transformation
WO2015062444A1 (en) System and method for creating a distributed transaction manager supporting repeatable read isolation level in a mpp database
CN103345502B (zh) 分布式数据库的事务处理方法和系统
CN111177148B (zh) 一种水电数据库自动建表分表的方法
CN106873945A (zh) 基于批处理和流式处理的数据处理架构及数据处理方法
Amato et al. MaD‐WiSe: a distributed stream management system for wireless sensor networks
CN106537347B (zh) 用于分发和处理流的系统和方法
CN114238415B (zh) 基于Flink的实时规则引擎控制方法、系统及介质
CN112052134A (zh) 一种业务数据的监控方法及装置
CN116601624A (zh) 一种改进边缘网络中的全局查询性能的方法
Koudas et al. Data stream query processing.
Johnson et al. Query-aware partitioning for monitoring massive network data streams
CN117056303B (zh) 适用于军事行动大数据的数据存储方法及装置
Yue et al. Desis: Efficient Window Aggregation in Decentralized Networks.
WO2013026287A1 (zh) 基于分布式数据库系统的数据控制方法及系统
CN117421376A (zh) 一种业务数据流联机分析的数仓处理方法及装置
CN105574010A (zh) 数据查询方法及装置
CN116136861A (zh) 基于知识图谱的分布式多源异构数据管理系统及方法
CN115391429A (zh) 基于大数据云计算的时序数据处理方法及装置
CN113656469B (zh) 大数据处理方法及装置
CN114595842A (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
CP03 Change of name, title or address

Address after: 310018 Room 501, Building 9, No. 20, Kejiyuan Road, Baiyang Street, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Patentee after: Hangzhou Zhongke advanced technology development Co.,Ltd.

Country or region after: China

Address before: 310018 Room 501, Building 9, No. 20, Kejiyuan Road, Baiyang Street, Hangzhou Economic and Technological Development Zone, Zhejiang Province

Patentee before: HANGZHOU ZHONGKE ADVANCED TECHNOLOGY RESEARCH INSTITUTE Co.,Ltd.

Country or region before: China