CN112417015A - 数据分发方法和装置、存储介质及电子装置 - Google Patents
数据分发方法和装置、存储介质及电子装置 Download PDFInfo
- Publication number
- CN112417015A CN112417015A CN202011296525.6A CN202011296525A CN112417015A CN 112417015 A CN112417015 A CN 112417015A CN 202011296525 A CN202011296525 A CN 202011296525A CN 112417015 A CN112417015 A CN 112417015A
- Authority
- CN
- China
- Prior art keywords
- data
- processing system
- target
- stream processing
- output branches
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 51
- 238000012545 processing Methods 0.000 claims abstract description 258
- 238000007781 pre-processing Methods 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 11
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 abstract description 8
- 238000010586 diagram Methods 0.000 description 13
- 238000007405 data analysis Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 3
- 238000011084 recovery Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000004931 aggregating effect Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000004907 flux Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/254—Extract, transform and load [ETL] procedures, e.g. ETL data flows in data warehouses
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24568—Data stream processing; Continuous queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提供了一种数据分发方法和装置、存储介质及电子装置,上述方法包括:通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。通过本发明,可以解决相关技术中数据分发的过程中订阅系统的负载较大的技术问题,降低了数据分发过程中的订阅系统的负载,提高了数据分发效率。
Description
技术领域
本发明涉及通信领域,具体而言,涉及一种数据分发方法和装置、存储介质及电子装置。
背景技术
相关技术中,在大数据处理流程中,涉及到了多个架构框架和数据处理系统,并且每个数据处理系统均需要从订阅系统订阅数据。然而,目前架构框架体系很多且技术栈不统一,进而造成资源利用率较低,并且多个数据处理系统的同步和数据分发缺少统一的系统架构,并且每个数据处理系统各自进行数据处理,增加了抽取转换加载(Extract-Transform-Load,简称为ETL)的中间处理环节,从而增加了数据处理的复杂度。以图1为例,相关技术中在向多个下游数据处理链路分发数据时,需要通过多个下游数据处理链路中的多个数据处理系统(例如图1中的分布式文件系统Hdfs,搜索系统ES,分布式数据库系统Hbase)各自的中间件通过数据链路从订阅系统订阅数据,并由各自的中间件(例如第一中间件Flume,第二中间件Logstash,和第三中间件Spark)对订阅到的数据进行预处理。
然而,相关技术中存在以下问题:订阅系统的每条下游数据处理链路都需要有中间件进行一次订阅系统的全量订阅,例如以图1为例,在一个业务场景中当前的数据吞吐量为1600万条/分钟消息,从而所有下游数据链路需要每次从订阅系统订阅的消息频率为:3*1600万条/分钟=4800万条/分钟,从而造成订阅系统负载成倍的增加;并且相关技术中各个数据处理系的中间件都需要独立的机器资源以应对较高的吞吐量,因此资源利用率较低;并且每新增一个下游数据处理链路,均需要增加新的中间件,从而导致技术复杂度和维度难度较高。
针对相关技术中,数据分发的过程中订阅系统的负载较大的技术问题,尚未提出有效的技术方案。
发明内容
本发明实施例提供了一种数据分发方法和装置、存储介质及电子装置,以至少解决相关技术中数据分发的过程中订阅系统的负载较大的技术问题。
根据本发明的一个实施例,提供了一种数据分发方法,包括:通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
可选地,所述目标流处理系统包括:Flink流处理系统,其中,所述确定所述目标流处理系统的多个输出分支,包括:确定所述Flink流处理系统中存储的目标数量,其中,所述目标数量用于表示所述Flink流处理系统的输出分支的总数;确定所述目标数量的输出分支中的每个输出分支对应的路径标识,其中,所述路径标识用于标识所述每个输出分支对应的数据处理系统与所述目标流处理系统之间的传输路径。
可选地,所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,包括:通过所述Flink流处理系统对所述目标数据进行预处理,得到预处理后的数据;通过所述Flink流处理系统将所述预处理后的数据复制为所述目标数量份;通过所述Flink流处理系统将所述目标数量份中的每份预处理后的数据根据一个输出分支对应的路径标识发送至对应的一个数据处理系统。
可选地,在所述通过目标流处理系统从订阅系统获取目标数据之后,所述方法还包括:通过所述目标流处理系统中的记录模块保存目标偏移量,其中,所述目标偏移量用于指示所述目标数据在所述订阅系统中对应的偏移量。
可选地,所述方法还包括:在所述目标流处理系统发生故障后,在对所述目标流处理系统进行恢复的情况下,通过所述目标流处理系统根据所述目标偏移量从所述订阅系统获取数据。
可选地,在所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统之前,所述方法还包括:确定所述多个数据处理系统中的每个数据处理系统对应的数据格式;根据所述每个数据处理系统对应的数据格式,对所述目标数据进行格式转换,得到转换后的数据,共得到所述多个数据处理系统对应的多个转换后的数据;其中,所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,包括:通过所述多个输出分支,将所述多个转换后的数据发送至对应的一个数据处理系统。
根据本发明的另一个实施例,提供了一种数据分发装置,包括:获取模块,用于通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;第一确定模块,用于确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;发送模块,用于通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
可选地,所述目标流处理系统包括Flink流处理系统,其中,所述第一确定模块包括第一确定单元和第二确定单元,其中,所述第一确定单元,用于确定所述Flink流处理系统中存储的目标数量,其中,所述目标数量用于表示所述Flink流处理系统的输出分支的总数;所述第二确定单元,用于确定所述目标数量的输出分支中的每个输出分支对应的路径标识,其中,所述路径标识用于标识所述每个输出分支对应的数据处理系统与所述目标流处理系统之间的传输路径。
可选地,所述装置还包括处理模块,用于:通过所述Flink流处理系统对所述目标数据进行预处理,得到预处理后的数据;其中,所述发送模块,还用于通过所述Flink流处理系统将所述预处理后的数据复制为所述目标数量份;以及用于通过所述Flink流处理系统将所述目标数量份中的每份预处理后的数据根据一个输出分支对应的路径标识发送至对应的一个数据处理系统。
可选地,所述装置还包括记录模块,用于:在所述通过目标流处理系统从订阅系统获取目标数据之后,通过所述目标流处理系统中的记录模块保存目标偏移量,其中,所述目标偏移量用于指示所述目标数据在所述订阅系统中对应的偏移量。
可选地,所述装置还包括恢复模块,用于:在所述目标流处理系统发生故障后,在对所述目标流处理系统进行恢复的情况下,通过所述目标流处理系统根据所述目标偏移量从所述订阅系统获取数据。
可选地,所述装置还包括第二确定模块和转换模块,其中,所述第二确定模块用于:在所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统之前,确定所述多个数据处理系统中的每个数据处理系统对应的数据格式;所述转换模块,用于根据所述每个数据处理系统对应的数据格式,对所述目标数据进行格式转换,得到转换后的数据,共得到所述多个数据处理系统对应的多个转换后的数据;其中,所述发送模块,还用于:通过所述多个输出分支,将所述多个转换后的数据发送至对应的一个数据处理系统。
可选地,根据本发明的另一个实施例,提供了一种存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述方法。
可选地,根据本发明的另一个实施例,提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述方法。
通过本发明,通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。由于可以通过目标流处理系统向订阅系统进行一次订阅后,向多个数据处理系统分发数据,因此,可以解决相关技术中数据分发的过程中订阅系统的负载较大的技术问题,降低了数据分发过程中的订阅系统的负载,提高了数据分发效率。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1为相关技术中的数据分发方法的示意图;
图2为根据本发明实施例的数据分发方法的流程图;
图3为根据本发明实施例的目标流处理系统对数据进行复制的示意图;
图4为根据本发明另一实施例的数据分发方法的应用环境示意图;
图5是根据本发明一实施例的数据分发装置的结构框图;
图6是根据本发明另一实施例的数据分发装置的结构框图;
图7是根据本发明又一实施例的数据分发装置的结构框图(一);
图8是根据本发明又一实施例的数据分发装置的结构框图(二);
图9是根据本发明又一实施例的数据分发装置的结构框图(三);
图10为根据本发明实施例的一种可选的电子装置的结构示意图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
Kafka:Kafka是由Apache软件基金会开发的一个开源流处理平台,其是一种高吞吐量的分布式发布订阅消息系统;
Flume:Flume是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统;
Logstash:用于对应用程序日志进行收集的管理中间件,是用于数据汇聚和传输的中间件,一般和搜索系统(例如ElasticSearch)结合使用。
HDFS:Hadoop分布式文件系统(HDFS),是被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统(Distributed File System);
Elasticsearch(简称为ES):是一个基于Lucene的搜索服务器,提供了一个分布式多用户能力的全文搜索引擎;
Hbase:结构化数据的分布式存储系统。
本发明实施例提供了一种数据分发方法,图2为根据本发明实施例的数据分发方法的流程图,如图2所示,包括:
步骤S202,通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;
步骤S204,确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;
步骤S206,通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
通过本发明,通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。由于可以通过目标流处理系统向订阅系统进行一次订阅后,向多个数据处理系统分发数据,因此,可以解决相关技术中数据分发的过程中订阅系统的负载较大的技术问题,降低了数据分发过程中的订阅系统的负载,提高了数据分发效率。
作为一种可选的实施方式,所述目标流处理系统包括:Flink流处理系统。需要说明的是,目标流处理系统还可以是其他分布式流数据流引擎,其中,所述确定所述目标流处理系统的多个输出分支,包括:确定所述Flink流处理系统中存储的目标数量,其中,所述目标数量用于表示所述Flink流处理系统的输出分支的总数;确定所述目标数量的输出分支中的每个输出分支对应的路径标识,其中,所述路径标识用于标识所述每个输出分支对应的数据处理系统与所述目标流处理系统之间的传输路径。
可选地,上述实施例可以应用在物联网中,上述目标数据可以是从物联网中的设备中采集到的数据,其中,多个数据处理系统可以包括实时的数据分析系统和离线的数据仓库系统,其中,实时的数据分析系统可以包括Hbase和ES,离线数据仓库系统可以包括HDFS和数据仓库工具Hive。
在上述实施例中,目标流处理系统中保存有输出分支的总数,以及每个输出分支对应的路径标识,从而目标流处理系统可以根据各个路径标识向对应的数据处理系统进行数据分发。
基于上述实施例,所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,包括:通过所述Flink流处理系统对所述目标数据进行预处理,得到预处理后的数据;通过所述Flink流处理系统将所述预处理后的数据复制为所述目标数量份;通过所述Flink流处理系统将所述目标数量份中的每份预处理后的数据根据一个输出分支对应的路径标识发送至对应的一个数据处理系统。
其中,预处理包括但不限于第一预处理操作、第二预处理操作以及第三预处理操作中包括的相同预处理操作,其中,第一数据处理系统对应的预处理操作为第一预处理操作,第二数据处理系统对应的预处理操作为第二预处理操作,以及第三数据处理系统对应的预处理操作为第三预处理操作,并且多个数据处理系统包括第一数据处理系统、第二数据处理系统以及第三数据处理系统。从而,通过上述实施例,可以实现由目标流处理系统执行多个数据处理系统共同所需执行的预处理操作,进而提高了系统整体的数据处理效率。
如图3中所示,目标流处理系统对目标数据进行预处理后得到预处理后的数据,并复制为n份(其中n为大于1的自然数,用于表示数据处理系统的总数),以及将每份预处理后的数据发送至一个数据处理系统。
在所述通过目标流处理系统从订阅系统获取目标数据之后,上述方法还用于执行以下技术方案:通过所述目标流处理系统中的记录模块保存目标偏移量,其中,所述目标偏移量用于指示所述目标数据在所述订阅系统中对应的偏移量。
作为一种可选的实施方式,目标偏移量可以包括但不限于目标数据在所述订阅系统的存储空间中的存储位置,其中,所述订阅系统中存储的所有数据在存储空间中的位置按顺序排列。
基于上述实施例,所述方法还包括:在所述目标流处理系统发生故障后,在对所述目标流处理系统进行恢复的情况下,通过所述目标流处理系统根据所述目标偏移量从所述订阅系统获取数据。
其中,在目标流处理系统进行故障恢复(包括但不限于目标流处理系统重启)时,根据目标偏移量从订阅系统重新获取上一次的目标数据,即从订阅系统重新消费上一次的数据,从而实现了保证数据的精确消费。
需要说明的是,在所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统之前,所述方法还包括:确定所述多个数据处理系统中的每个数据处理系统对应的数据格式;根据所述每个数据处理系统对应的数据格式,对所述目标数据进行格式转换,得到转换后的数据,共得到所述多个数据处理系统对应的多个转换后的数据;其中,所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,包括:通过所述多个输出分支,将所述多个转换后的数据发送至对应的一个数据处理系统。
其中,目标流处理系统可以根据各个数据处理系统所需的格式,对预处理后的数据进行格式适配,并将适配后的预处理后的数据发送至对应的数据处理系统。
以下结合一示例,对上述实施例中的数据分发方法进行解释说明,但不用于限定本发明实施例的技术方案。
图4为根据本发明另一实施例的数据分发方法的应用环境示意图,如图4所示,该方法可以应用在图4所示的应用环境的系统中,其中,该系统包括:订阅系统,目标流处理系统,以及多个数据处理系统(例如图4中的分布式文件系统、搜索系统和分布式数据库系统)。
其中,数据采集端采集到数据后,将采集到的数据发送至订阅系统(包括但不限于Kafka消息系统)进行缓存,目标流处理系统(包括但不限于F分布式流数据流引擎Flink系统)通过订阅订阅系统的消息队列从而消费汇聚的数据(即从订阅系统获取数据)。
可选地,目标流处理系统,通过目标流处理系统中的订阅模块实现与订阅系统的交互,并通过记录模块进行偏移量的维护,从而开启检查点(Checkpoint)功能,因此保证数据的精确一次消费。
在本发明实施例的数据分发方法中,目标流处理系统负责数据的一次订阅后的复制,并把数据发射到各个数据处理系统中的交互模块(例如HDFS中的交互模块(或称为Sink模块),ES中的Sink模块,以及Hbase中的Sink模块,从而实现了数据的并行分发。
作为一种可选的实施方式,按照负载情况对目标流处理系统进行资源的分配,以及采用资源管理其(包括但不限于资源管理协调者(Yet Another Resource Negotiator,简称为Yarn)进行集群的资源管理,其中,可以由多个流处理系统构成集群,每个流处理系统负责向一定数量的数据处理系统分发数据,并根据各个流处理系统的负载情况动态为每个流处理系统分配资源,从而达到了资源的充分利用。
需要说明的是,在上述实施例中,目标流处理系统可以将从订阅系统获取到的数据缓存在内存中,从而实现利用内存缓冲来进行数据写入的高效缓冲,达到的数据发送到下游的高效处理特点。
在上述实施例中,Flink流处理系统采用基于Flink的总线机构模式统一了数据分发的技术栈,从而便于扩展和维护,并且结合Yarn资源管理和Flink流处理系统集群的共享机制从而能够大大提高资源利用率,进而在有限集群规模下可以高效地解决ETL数据分发和与下游数据分析各系统的解藕。
此外,在上述实施例中,通过目标流处理系统对目标数据进行预处理,即通过目标流处理系统作为实时数据ETL处理框架,进而形成了ETL总线集成架构的模式,从而可以实现高效的数据分发和对接数据处理下游各系统,具有架构简单、松耦合、高效可靠、技术栈归一、方便扩展的优势,并能够保证数据的一致性、实时性;基于Flink框架,实现统一的技术栈,实现了对订阅系统的一次订阅多路分发,大大减少了订阅系统的负载。
在上述实施例中,可以通过目标流处理系统提供丰富的数据预处理功能,并通过在目标流处理系统中实现不同的数据预处理功能模块,从而方便扩充数据的预处理过程,提高数据质量,为后续数据分析打下坚实基础。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,执行拖拽编辑操作时,对各种内容格式的圈中,编辑内容时对各种内容的识别和打开对应的编辑工具,圈中内容的选中以及拖拽不限于右键双击等操作。本发明的保护范围应以权利要求的保护范围为准。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
根据本发明的另一个实施例,提供了一种数据分发装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本发明一实施例的数据分发装置的结构框图,该装置包括:
获取模块52,用于通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;
第一确定模块54,用于确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;
发送模块56,用于通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
通过本发明,通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。由于可以通过目标流处理系统向订阅系统进行一次订阅后,向多个数据处理系统分发数据,因此,可以解决相关技术中数据分发的过程中订阅系统的负载较大的技术问题,降低了数据分发过程中的订阅系统的负载,提高了数据分发效率。
作为一种可选的实施方式,所述目标流处理系统包括Flink流处理系统,其中,如图6所示,所述第一确定模块54包括第一确定单元62和第二确定单元64,其中,所述第一确定单元62,用于确定所述Flink流处理系统中存储的目标数量,其中,所述目标数量用于表示所述Flink流处理系统的输出分支的总数;所述第二确定单元64,用于确定所述目标数量的输出分支中的每个输出分支对应的路径标识,其中,所述路径标识用于标识所述每个输出分支对应的数据处理系统与所述目标流处理系统之间的传输路径。
其中,如图7所示,所述装置还包括处理模块72,用于:通过所述Flink流处理系统对所述目标数据进行预处理,得到预处理后的数据;其中,所述发送模块56,还用于通过所述Flink流处理系统将所述预处理后的数据复制为所述目标数量份;以及用于通过所述Flink流处理系统将所述目标数量份中的每份预处理后的数据根据一个输出分支对应的路径标识发送至对应的一个数据处理系统。
基于上述实施例,如图8所示,所述装置还包括记录模块82,用于:在所述通过目标流处理系统从订阅系统获取目标数据之后,通过所述目标流处理系统中的记录模块保存目标偏移量,其中,所述目标偏移量用于指示所述目标数据在所述订阅系统中对应的偏移量。
其中,如图9所示,所述装置还包括恢复模块92,用于:在所述目标流处理系统发生故障后,在对所述目标流处理系统进行恢复的情况下,通过所述目标流处理系统根据所述目标偏移量从所述订阅系统获取数据。
在上述实施例中,所述装置还包括第二确定模块和转换模块,其中,所述第二确定模块用于:在所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统之前,确定所述多个数据处理系统中的每个数据处理系统对应的数据格式;所述转换模块,用于根据所述每个数据处理系统对应的数据格式,对所述目标数据进行格式转换,得到转换后的数据,共得到所述多个数据处理系统对应的多个转换后的数据;其中,所述发送模块,还用于:通过所述多个输出分支,将所述多个转换后的数据发送至对应的一个数据处理系统。
本发明的实施例还提供了一种存储介质,该存储介质包括存储的程序,其中,上述程序运行时执行上述任一项的方法。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的程序代码:
S1,通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;
S2,确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;
S3,通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;
S2,确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;
S3,通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
图10是根据本发明实施例的一种可选的电子装置的结构示意图。可选地,本领域普通技术人员可以理解,图10所示的结构仅为示意,电子装置也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌上电脑以及移动互联网设备(Mobile InternetDevices,MID)、PAD等终端设备。图10其并不对上述电子装置的结构造成限定。例如,电子装置还可包括比图10中所示更多或者更少的组件(如网络接口等),或者具有与图10所示不同的配置。
其中,存储器1002可用于存储软件程序以及模块,如本发明实施例中的数据分发方法和数据分发装置对应的程序指令/模块,处理器1004通过运行存储在存储器1002内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的数据分发方法。存储器1002可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器1002可进一步包括相对于处理器1004远程设置的存储器,这些远程存储器可以通过网络连接至终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。作为一种示例,上述存储器1002中可以但不限于包括上述数据分发装置的获取模块52,第一确定模块54以及发送模块56。此外,还可以包括但不限于上述数据分发装置中的其他模块单元,本示例中不再赘述。
可选地,上述的传输设备1006用于经由一个网络接收或者发送数据。上述的网络具体实例可包括有线网络及无线网络。在一个实例中,传输设备1006包括一个网络适配器(Network Interface Controller,NIC),其可通过网线与其他网络设备与路由器相连从而可与互联网或局域网进行通讯。在一个实例中,传输设备1006为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
此外,上述电子设备还包括:显示器1008,用于显示画面;和连接总线1010,用于连接上述电子装置中的各个模块部件。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种数据分发方法,其特征在于,包括:
通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;
确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;
通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
2.根据权利要求1所述的方法,其特征在于,所述目标流处理系统包括:Flink流处理系统,其中,所述确定所述目标流处理系统的多个输出分支,包括:
确定所述Flink流处理系统中存储的目标数量,其中,所述目标数量用于表示所述Flink流处理系统的输出分支的总数;
确定所述目标数量的输出分支中的每个输出分支对应的路径标识,其中,所述路径标识用于标识所述每个输出分支对应的数据处理系统与所述目标流处理系统之间的传输路径。
3.根据权利要求2所述的方法,其特征在于,所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,包括:
通过所述Flink流处理系统对所述目标数据进行预处理,得到预处理后的数据;
通过所述Flink流处理系统将所述预处理后的数据复制为所述目标数量份;
通过所述Flink流处理系统将所述目标数量份中的每份预处理后的数据根据一个输出分支对应的路径标识发送至对应的一个数据处理系统。
4.根据权利要求1所述的方法,其特征在于,在所述通过目标流处理系统从订阅系统获取目标数据之后,所述方法还包括:
通过所述目标流处理系统中的记录模块保存目标偏移量,其中,所述目标偏移量用于指示所述目标数据在所述订阅系统中对应的偏移量。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
在所述目标流处理系统发生故障后,在对所述目标流处理系统进行恢复的情况下,通过所述目标流处理系统根据所述目标偏移量从所述订阅系统获取数据。
6.根据权利要求1所述的方法,其特征在于,在所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统之前,所述方法还包括:
确定所述多个数据处理系统中的每个数据处理系统对应的数据格式;
根据所述每个数据处理系统对应的数据格式,对所述目标数据进行格式转换,得到转换后的数据,共得到所述多个数据处理系统对应的多个转换后的数据;其中,所述通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,包括:
通过所述多个输出分支,将所述多个转换后的数据发送至对应的一个数据处理系统。
7.一种数据分发装置,其特征在于,包括:
获取模块,用于通过目标流处理系统从订阅系统获取目标数据,其中,所述订阅系统用于保存所述目标数据;
第一确定模块,用于确定所述目标流处理系统的多个输出分支,其中,所述多个输出分支中的每个输出分支对应一个数据处理系统;
发送模块,用于通过所述多个输出分支将所述目标数据发送至所述多个输出分支对应的多个数据处理系统,其中,所述多个数据处理系统中的每个数据处理系统与所述多个输出分支中的一个输出分支一一对应。
8.根据权利要求7所述的装置,其特征在于,所述目标流处理系统包括Flink流处理系统,其中,所述第一确定模块包括第一确定单元和第二确定单元,其中,
所述第一确定单元,用于确定所述Flink流处理系统中存储的目标数量,其中,所述目标数量用于表示所述Flink流处理系统的输出分支的总数;
所述第二确定单元,用于确定所述目标数量的输出分支中的每个输出分支对应的路径标识,其中,所述路径标识用于标识所述每个输出分支对应的数据处理系统与所述目标流处理系统之间的传输路径。
9.一种存储介质,其特征在于,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行所述权利要求1至6任一项中所述的方法。
10.一种电子装置,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296525.6A CN112417015A (zh) | 2020-11-18 | 2020-11-18 | 数据分发方法和装置、存储介质及电子装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011296525.6A CN112417015A (zh) | 2020-11-18 | 2020-11-18 | 数据分发方法和装置、存储介质及电子装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112417015A true CN112417015A (zh) | 2021-02-26 |
Family
ID=74772921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011296525.6A Pending CN112417015A (zh) | 2020-11-18 | 2020-11-18 | 数据分发方法和装置、存储介质及电子装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112417015A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098978A (zh) * | 2021-04-21 | 2021-07-09 | 上海微盟企业发展有限公司 | 一种数据传输方法、装置及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
CN111338814A (zh) * | 2020-02-13 | 2020-06-26 | 北京奇艺世纪科技有限公司 | 消息处理方法和装置、存储介质和电子装置 |
CN111679919A (zh) * | 2020-04-27 | 2020-09-18 | 中国平安财产保险股份有限公司 | 数据交互方法、装置、设备及存储介质 |
CN111694864A (zh) * | 2020-05-15 | 2020-09-22 | 苏宁云计算有限公司 | 单一进程的流式数据计算执行调度任务并避免数据丢失的方法、系统及计算机设备 |
CN111737327A (zh) * | 2020-05-06 | 2020-10-02 | 广州明珞汽车装备有限公司 | 汽车生产动作数据采集方法、系统、装置和存储介质 |
-
2020
- 2020-11-18 CN CN202011296525.6A patent/CN112417015A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109254982A (zh) * | 2018-08-31 | 2019-01-22 | 杭州安恒信息技术股份有限公司 | 一种流数据处理方法、系统、装置及计算机可读存储介质 |
CN111338814A (zh) * | 2020-02-13 | 2020-06-26 | 北京奇艺世纪科技有限公司 | 消息处理方法和装置、存储介质和电子装置 |
CN111679919A (zh) * | 2020-04-27 | 2020-09-18 | 中国平安财产保险股份有限公司 | 数据交互方法、装置、设备及存储介质 |
CN111737327A (zh) * | 2020-05-06 | 2020-10-02 | 广州明珞汽车装备有限公司 | 汽车生产动作数据采集方法、系统、装置和存储介质 |
CN111694864A (zh) * | 2020-05-15 | 2020-09-22 | 苏宁云计算有限公司 | 单一进程的流式数据计算执行调度任务并避免数据丢失的方法、系统及计算机设备 |
Non-Patent Citations (2)
Title |
---|
樊春美,朱建生,等: "基于Flink实时计算的自动化流控制算法", 《计算机技术与发展》 * |
蔡鲲鹏,马莉娟: "基于Flink on YARN平台的应用研究", 《科技创新与应用》 * |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113098978A (zh) * | 2021-04-21 | 2021-07-09 | 上海微盟企业发展有限公司 | 一种数据传输方法、装置及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111241078B (zh) | 数据分析系统、数据分析的方法及装置 | |
CN107018042B (zh) | 用于在线服务系统的追踪方法及追踪系统 | |
CN105677469B (zh) | 定时任务执行方法及装置 | |
CN113067883B (zh) | 数据传输方法、装置、计算机设备及存储介质 | |
CN110058987B (zh) | 用于对计算系统进行追踪的方法、设备和计算机可读介质 | |
CN109918349A (zh) | 日志处理方法、装置、存储介质和电子装置 | |
CN111090699A (zh) | 业务数据的同步方法和装置、存储介质、电子装置 | |
CN113360554B (zh) | 一种数据抽取、转换和加载etl的方法和设备 | |
CN109542593B (zh) | 一种基于nifi的数据处理流程设计方法 | |
CN101741885A (zh) | 分布式系统及分布式系统处理任务流的方法 | |
CN112507029A (zh) | 数据处理系统及数据实时处理方法 | |
CN106815254A (zh) | 一种数据处理方法和装置 | |
CN111405020B (zh) | 基于消息队列和fastDFS微服务架构的异步文件导出方法及系统 | |
CN111966289A (zh) | 基于Kafka集群的分区优化方法和系统 | |
CN110750592A (zh) | 数据同步的方法、装置和终端设备 | |
CN114756629B (zh) | 基于sql的多源异构数据交互分析引擎及方法 | |
CN114710571B (zh) | 数据包处理系统 | |
CN112181678A (zh) | 业务数据的处理方法、装置和系统、存储介质、电子装置 | |
CN103248636A (zh) | 离线下载的系统及方法 | |
CN112417015A (zh) | 数据分发方法和装置、存储介质及电子装置 | |
CN112417050A (zh) | 数据同步方法和装置、系统、存储介质及电子装置 | |
CN110955461B (zh) | 计算任务的处理方法、装置、系统、服务器和存储介质 | |
CN113760522A (zh) | 一种任务处理方法和装置 | |
CN110795480A (zh) | 交通运营数据的处理方法及装置 | |
CN111049846A (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210226 |