CN117009391A - 一种多源数据处理方法、装置及可读存储介质 - Google Patents
一种多源数据处理方法、装置及可读存储介质 Download PDFInfo
- Publication number
- CN117009391A CN117009391A CN202310994649.9A CN202310994649A CN117009391A CN 117009391 A CN117009391 A CN 117009391A CN 202310994649 A CN202310994649 A CN 202310994649A CN 117009391 A CN117009391 A CN 117009391A
- Authority
- CN
- China
- Prior art keywords
- data
- data information
- real
- source
- message queue
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 38
- 238000003860 storage Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 claims abstract description 94
- 238000004364 calculation method Methods 0.000 claims abstract description 49
- 230000003111 delayed effect Effects 0.000 claims abstract description 17
- 238000000034 method Methods 0.000 claims description 36
- 238000004590 computer program Methods 0.000 claims description 25
- 238000005516 engineering process Methods 0.000 claims description 12
- 238000004140 cleaning Methods 0.000 claims description 9
- 238000007781 pre-processing Methods 0.000 claims description 3
- 238000013475 authorization Methods 0.000 claims description 2
- 238000004519 manufacturing process Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 13
- 238000004891 communication Methods 0.000 description 8
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 7
- 238000011161 development Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007405 data analysis Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002688 persistence Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001953 sensory effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
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/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/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- 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/23—Updating
- G06F16/2365—Ensuring data consistency and integrity
-
- 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/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
- G06F16/275—Synchronous replication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及流数据处理技术领域,公开了一种多源数据处理方法、装置及可读存储介质。通过将多源实时流数据信息同批量数据进行整合,并设置延迟时间接收第二数据源延迟的流数据信息,解决了现有技术中对多源数据进行实时流处理时存在数据延迟以及数据乱序的技术问题,最大程度地保证了实时流计算结果数据和业务生产数据的一致性,确保了数据的完整性。
Description
技术领域
本发明实施例涉及流数据处理技术领域,尤其涉及一种多源数据处理方法、装置及可读存储介质。
背景技术
目前利用Flink(开源流处理框架)处理单流数据源输入时,如果业务对数据时效性和准确性不是十分严格的要求,或者基于流计算开发平台本身的局限性,在实时数据开发时一般会采用Processing Time(系统时间)来处理流计算开发流程,这样可以有效缓解流计算运行资源的压力,还能有效避免实时数据流的数据乱序和丢数问题。但根据实际业务使用场景,能够最精确、最有效的反馈业务发生的时间的是Event Time(事件时间),虽然引入Event Time能够最准确的反映出业务数据发生的时间,保证流计算产生的数据和实际业务发生数据的一致性问题,但由于Event Time本身的属性和Flink自身的原因,在实时数据流延迟时会导致数据乱序或者数据丢失的问题。
发明内容
本发明实施例提供一种多源数据处理方法、装置及可读存储介质,解决了现有技术中对多源数据进行实时流处理时存在数据延迟以及数据乱序的技术问题。
第一方面,本申请提供了一种多源数据处理方法,所述多源数据处理方法包括:
获取第一数据源和第二数据源的实时流数据信息,并将所述实时流数据信息送入第一分布式消息队列中;
对所述第一分布式消息队列中的所述实时流数据信息进行清洗,并将清洗后的所述实时流数据信息送入第二分布式消息队列中;
将所述第二分布式消息队列中的所述实时流数据信息送入基于列的分布式数据库中,并与所述分布式数据库中的批量数据信息进行整合,得到关联维表数据信息;
对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用;
在对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理时,获取所述第二数据源延迟第一预设时长内的延迟流数据信息;
对所述延迟流数据信息进行流计算处理,并将处理结果送入所述第三分布式消息队列待用。
第二方面,本申请提供了一种多源数据处理装置,所述多源数据处理装置包括:
实时数据获取单元,用于获取第一数据源和第二数据源的实时流数据信息,并将所述实时流数据信息送入第一分布式消息队列中;
数据预处理单元,用于对所述第一分布式消息队列中的所述实时流数据信息进行清洗,并将清洗后的所述实时流数据信息送入第二分布式消息队列中;
流批一体整合单元,用于将所述第二分布式消息队列中的所述实时流数据信息送入基于列的分布式数据库中,并与所述分布式数据库中的批量数据信息进行整合,得到关联维表数据信息;
数据计算单元,用于对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用;
延迟数据获取单元,用于在所述数据计算单元对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理时,获取所述第二数据源延迟第一预设时长内的延迟流数据信息;
所述数据计算单元还用于对所述延迟流数据信息进行流计算处理,并将处理结果送入所述第三分布式消息队列待用。
第三方面,本申请提供了一种多源数据处理设备,所述多源数据处理设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请第一方面所述的多源数据处理方法。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现本申请第一方面所述的多源数据处理方法。
第五方面,本申请提供了一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现本申请第一方面所述的多源数据处理方法。
本发明实施例公开了一种多源数据处理方法、装置及可读存储介质。通过将多源实时流数据信息同批量数据进行整合,并设置延迟时间接收第二数据源延迟的流数据信息,解决了现有技术中对多源数据进行实时流处理时存在数据延迟以及数据乱序的技术问题,最大程度地保证了实时流计算结果数据和业务生产数据的一致性,确保了数据的完整性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种多源数据处理方法的流程图;
图2是本发明实施例提供的多源数据处理方法的流程框图;
图3是本发明实施例提供的一种多源数据处理装置的结构图;
图4是本发明实施例提供的一种多源数据处理设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
图1是本发明实施例提供的一种多源数据处理方法的流程图,本实施例可适用于多源数据处理场景,该方法可以由多源数据处理装置来执行,该多源数据处理装置可以采用硬件和/或软件的形式实现,并一般可集成于服务器中。本申请技术方案中对数据的获取、存储、使用、处理等均符合国家法律法规的相关规定。
如图1所示,该多源数据处理方法具体包括如下步骤:
S101,获取第一数据源和第二数据源的实时流数据信息,并将实时流数据信息送入第一分布式消息队列中。
具体地,图2是本发明实施例提供的多源数据处理方法的流程框图,如图2所示,对于实时双流数据源的数据处理来说,通常分为三个阶段,一是双流数据源的数据分析、数据采集以及数据清洗阶段,第一阶段主要在数据湖中执行;二是流计算开发阶段,利用流批一体技术和开窗处理,将水位线(Watermark)进行时间延迟,保证两个实时数据源的乱序得到最大限度处理,第二阶段主要在云端数据仓库中执行;三是下游各系统的数据应用阶段,第三阶段主要在各应用系统中执行。
如图2所示,对于第一阶段来说,首先需要获取第一数据源和第二数据源的实时流数据信息。示例性地,以银行业务为例,第一数据源为对私存款合约表,包括对私定期存款以及对私活期存款两种,第二数据源为员工业绩系统中的事中营销人信息表,例如获取第一数据源中目标对象的一项存款交易数据,则相应的第二数据源中存在办理该项存款交易的经办人信息,包括业务人员编号、办理业务时间等各项基础信息。在获取到第一数据源和第二数据源的实时流数据信息之后,先将实时流数据信息送入第一分布式消息队列中。可选地,第一分布式消息队列为kafka队列的原始层,用于存放从多源数据库获取到的原始数据。
S102,对第一分布式消息队列中的实时流数据信息进行清洗,并将清洗后的实时流数据信息送入第二分布式消息队列中。
具体地,如图2所示,在获取到实时流数据信息之后,需要对实时流数据进行数据清洗转换,其中,数据的清洗转换包括采用分布式流计算Flink技术对数据中的空字段进行清洗,将不同数据类型、数据格式的数据进行统一转换等。在对实时流数据进行清洗之后,将标准化的数据存储到第二分布式消息队列中,为后续流计算开发阶段做准备。可选地,第二分布式消息队列为kafka队列的标准层,用于存放标准化后的实时流数据信息。
S103,将第二分布式消息队列中的实时流数据信息送入基于列的分布式数据库中,并与分布式数据库中的批量数据信息进行整合,得到关联维表数据信息。
具体地,如图2所示,将标准化后的实时流数据信息以维表数据的形式写入基于列的分布式数据库中,可选地,基于列的分布式数据库为Hbase数据库。并将维表数据与Hbase数据库中的批量数据信息进行整合,得到实时的关联维表数据信息,通过将实时流数据信息与批量数据信息进行整合,为后续进行流批一体流计算做好了准备。
S104,对第二分布式消息队列中的实时流数据信息、关联维表数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用。
具体地,在对实时流数据信息和批量数据信息进行整合,得到关联维表数据信息之后,通过分布式流计算Flink技术对标准化后的实时流数据信息以及整合后得到的关联维表数据信息进行流计算处理,并将处理结果送入第三分布式消息队列中待用。可选地,第三分布式消息队列为kafka队列的访问层,用于存放流计算后的数据处理结果,以待后续各数据应用系统的使用。
S105,在对第二分布式消息队列中的实时流数据信息、关联维表数据信息进行流计算处理时,获取第二数据源延迟第一预设时长内的延迟流数据信息。
具体地,对于银行业务来说,由于第二数据源通常为员工业绩系统中的事中营销人信息表,该信息结构决定了对于同一项业务来说,第二数据源的流数据信息的时间戳常常会迟于第一数据源的流数据信息。因此需要设置一个延迟时间,来接收第二数据源延迟的流数据信息。在实际应用过程中,第一预设时长通常设置为15分钟。
S106,对延迟流数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用。
具体地,在接收到第一预设时长内的延迟流数据信息之后,允许窗口处理延迟的流数据信息,当水位线达到窗口关闭时间时,保持窗口继续等待延迟流数据信息,每来一条数据,窗口就会再次计算,并相应的更新送入第三分布式消息队列中的计算结果。
本发明实施例公开了一种多源数据处理方法、装置及可读存储介质。通过将多源实时流数据信息同批量数据进行整合,并设置延迟时间接收第二数据源延迟的流数据信息,解决了现有技术中对多源数据进行实时流处理时存在数据延迟以及数据乱序的技术问题,最大程度地保证了实时流计算结果数据和业务生产数据的一致性,确保了数据的完整性。
可选地,第一预设时长的确定方法包括:获取预设时段内的第一数据源和第二数据源所对应的批量数据的时间戳差值;确定第一数据源和第二数据源的时间戳差值在T时长内的数据信息的占比大于预设百分比,则T时长为第一预设时长。
具体地,为了确定合理的第一预设时长,首先随机抽取了预设时段内的第一数据和第二数据源相对应的批量数据的时间戳差值,其中,预设时段可以选取10天。然后确定第一数据源和第二数据源的时间戳差值在一定时长内的数据信息的占比大于预设百分比,则该时长T可以确定为第一预设时长。结合实际业务情况和实际生产数据现状,经数据分析发现,两个数据源的时间戳差值在15分钟以内的数据信息的占比达到99.7%,则认为可以将15分钟确定为第一预设时长,在这个第一预设时长范围内,99.7%的延迟数据信息可以得到补充,而超出15分钟的数据信息仅占极少的比例,对业务的影响基本上可以忽略,故第一预设时长可以确定为15分钟。
在第一预设时长确定为15分钟之后,将第二数据源进行开窗,并设置数据延迟时间为第一预设时长,然后进行维表关联,保证两个数据源的实时数据信息可以关联上。
在上述各技术方案的基础上,在S104以及S106步骤将处理结果送入第三分布式消息队列之后,多源数据处理方法还包括:
将第三分布式消息队列中的处理结果授权给相应的应用系统,以使应用系统通过数据订阅的方式查询并使用处理结果中的数据信息。
具体地,如图2所示,在进行流批一体流计算处理,并将处理结果存入第三分布式消息队列之后,对下游的各数据的应用系统进行授权,应用系统通过数据订阅的方式查询并使用处理结果中的数据信息,进而快速实现实时数据的共享服务。
在上述各技术方案的技术上,S101具体包括:基于CDC技术采集第一数据源的第一实时流数据信息,其中,第一数据源为目标对象的业务信息;基于OGG技术获取第二数据源的第二实时流数据信息,其中,第二数据源为办理目标对象的业务时产生的经办人信息;将第一实时流数据信息和第二实时流数据信息送入第一分布式消息队列中。
具体地,如图2所示,以银行业务为例,当第一数据源为对私存款合约表,第二数据源为员工业绩系统中的事中营销人信息表时,由于第一数据源和第二数据源本身的属性限制,通常采用CDC技术采集第一数据源的第一实时流数据信息,其中,CDC(Change DataCapture,变化数据捕获)可以分日志和触发器两种方式做数据同步,采用OGG技术获取第二数据源的第二实时流数据信息,其中,OGG是基于实时日志和归档日志的方式进行数据同步的,适用于实时数据同步。在采集到第一实时流数据信息和第二实时流数据信息之后,将获取到的双流实时数据信息存放到kafka的原始层,即上述第一分布式消息队列中。
在上述各技术方案的基础上,在S104,对第二分布式消息队列中的实时流数据信息、关联维表数据信息进行流计算处理之前,多源数据处理方法还包括:
设置第二预设时长,并在第二实时流数据信息以第二预设时长延迟到达第二分布式消息队列之后触发流计算开始执行。
具体地,对于银行业务来说,由于第二数据源通常为员工业绩系统中的事中营销人信息表,该信息结构决定了对于同一项业务来说,第二数据源的流数据信息的时间戳常常会迟于第一数据源的流数据信息,因此还需要设置第二预设时长,第二预设时长通常基于数据处理经验确定得到,时长较短,一般不超过5min,对第二数据源设置水位线延迟时间,即设置第二预设时长,相当于将第二数据源的第二实时流数据信息的到达时间相较于第一数据源的第一实时流数据信息延迟了第二预设时长,当第二实时流数据信息按照延迟后的水位线到达第二分布式消息队列后才会触发流计算开始执行。
通过设置时长较短的第二预设时长,使得大部分乱序数据可以在初始被处理掉,使得后续在第一预设时长内到达的延迟实时流数据信息不会太多,保证了延迟实时流数据信息达到时可以及时被窗口处理掉。
在上述各技术方案的基础上,在S103,实时流数据信息与分布式数据库中的批量数据信息进行整合之前,多源数据处理方法还包括:将分布式并行结构化数据库中的批量数据信息同步至基于列的分布式数据库中,其中,批量数据信息包括初始化批量数据以及每日增量数据,批量数据信息的表结构与实时流数据信息的表结构相同。
示例性地,如图2所示,分布式并行结构化数据库通常为MPP数据库,其中存储有批量的事中营销人员信息表,该信息表中的数据通常为批量储存的历史数据,或某一交易过程发生临时变更时会更新的数据,通过大数据云平台数据同步的方式将MPP数据库中的批量数据信息同步至基于列的分布式数据库中,即同步至Hbase数据库中。需要说明的是,MPP数据库中的批量数据信息在离线状态下即可同步至Hbase数据库中,批量数据信息中包括初始化批量数据以及每日增量数据,在将初始化批量数据同步至Hbase数据库中后,后续只需每天增量复制,这样既能保证获取维表的全量数据,也能保证数据的可持久化,为后续流批一体技术的实现做数据准备。
在上述各技术方案的基础上,该多源数据处理方法还包括:获取第二数据源的迟到流数据信息,其中,迟到流数据信息的到达时间大于第一预设时长外;将迟到流数据信息丢弃。
具体地,在第一预设时长之外,若还有第二数据源的实时流数据信息进入,即上述迟到流数据信息,则将迟到流数据信息放入窗口侧输出流,即利用窗口的侧输出流来收集窗口关闭后的迟到数据。对于流批一体流计算过程来说,迟到流数据信息不会进入流计算过程,即迟到流数据信息被丢弃不用。
在本发明实施例中,通过三步法设置开窗时间,使得第二数据源的实时流数据利用开窗进行处理,保证数据的丢失在业务可承受范围之内。具体来说,三步法包括:第一步,设置水位线延迟时间,即上述第二预设时长,等待第二流数据信息到达后按照延迟第二预设时长的水位线来触发流计算;第二步,设置延迟时间,即上述第一预设时长,延迟时间确定为15分钟,在延迟时间内允许窗口处理延迟实时流数据信息,此时大部分乱序数据已经在第一步被处理,所以延迟的数据不会太多。在水位线到达窗口关闭时间时,保持窗口继续等待延迟实时流数据信息,每来一条数据,窗口就会再次计算,并将更新后的结果输出至第三分布式消息队列中;第三步,将超出第一预设时长的迟到数据放入窗口侧输出流,用窗口的侧输出流来收集窗口关闭之后的迟到数据,该部分数据极少,不进入流计算过程,且不会影响业务统计的精确性。
图3是本发明实施例提供的一种多源数据处理装置的结构图。
如图3所示,该多源数据处理装置具体包括:
实时数据获取单元31,用于获取第一数据源和第二数据源的实时流数据信息,并将实时流数据信息送入第一分布式消息队列中;
数据预处理单元32,用于对第一分布式消息队列中的实时流数据信息进行清洗,并将清洗后的实时流数据信息送入第二分布式消息队列中;
流批一体整合单元33,用于将第二分布式消息队列中的实时流数据信息送入基于列的分布式数据库中,并与分布式数据库中的批量数据信息进行整合,得到关联维表数据信息;
数据计算单元34,用于对第二分布式消息队列中的实时流数据信息、关联维表数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用;
延迟数据获取单元35,用于在数据计算单元34对第二分布式消息队列中的实时流数据信息、关联维表数据信息进行流计算处理时,获取第二数据源延迟第一预设时长内的延迟流数据信息;
数据计算单元34还用于对延迟流数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用。
可选地,在数据计算单元34将处理结果送入第三分布式消息队列之后,多源数据处理装置还包括:
数据授权单元,用于将第三分布式消息队列中的处理结果授权给相应的应用系统,以使应用系统通过数据订阅的方式查询并使用处理结果中的数据信息。
可选地,实时数据获取单元31包括:
第一数据获取子单元,用于基于CDC技术采集第一数据源的第一实时流数据信息,其中,第一数据源为目标对象的业务信息;
第二数据获取子单元,用于基于OGG技术获取第二数据源的第二实时流数据信息,其中,第二数据源为办理目标对象的业务时产生的经办人信息;
实时数据整合子单元,用于将第一实时流数据信息和第二实时流数据信息送入第一分布式消息队列中。
可选地,在数据计算单元34对第二分布式消息队列中的实时流数据信息、关联维表数据信息进行流计算处理之前,多源数据处理装置还包括:
延迟窗口设置单元,用于设置第二预设时长,以使数据计算单元34在第二实时流数据信息以第二预设时长延迟到达第二分布式消息队列之后触发流计算开始执行。
可选地,在流批一体整合单元33将实时流数据信息与分布式数据库中的批量数据信息进行整合之前,多源数据处理装置还包括:
批量数据同步单元,用于将分布式并行结构化数据库中的批量数据信息同步至基于列的分布式数据库中,其中,批量数据信息包括初始化批量数据以及每日增量数据,批量数据信息的表结构与实时流数据信息的表结构相同。
可选地,多源数据处理装置还包括:
迟到数据处理单元,用于丢弃第二数据源的迟到流数据信息,其中,迟到流数据信息的到达时间大于第一预设时长外。
本发明实施例提供的多源数据处理装置可执行本发明任意实施例所提供的多源数据处理方法,具备执行方法相应的功能模块和有益效果。
图4是本发明实施例提供的一种多源数据处理设备的结构示意图。该多源数据处理设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本发明的实现。
如图4所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行各种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的各种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如各种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理器11可以是各种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、各种专用的人工智能(AI)计算芯片、各种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的各个方法和处理,例如一种多源数据处理方法。
在一些实施例中,多源数据处理方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的多源数据处理方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行多源数据处理方法。
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、负载可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
用于实施本发明的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
在本发明的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的缺陷。
本发明实施例还提供一种计算机程序产品,该计算机程序产品包括计算机可执行指令,所述计算机可执行指令在由计算机处理器执行时用于执行本发明任意实施例所提供的多源数据处理方法。
计算机程序产品在实现的过程中,可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
当然,本申请实施例所提供的计算机程序产品,其计算机可执行指令不限于如上所述的方法操作,还可以执行本申请任意实施例所提供的方法中的相关操作。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (14)
1.一种多源数据处理方法,其特征在于,所述多源数据处理方法包括:
获取第一数据源和第二数据源的实时流数据信息,并将所述实时流数据信息送入第一分布式消息队列中;
对所述第一分布式消息队列中的所述实时流数据信息进行清洗,并将清洗后的所述实时流数据信息送入第二分布式消息队列中;
将所述第二分布式消息队列中的所述实时流数据信息送入基于列的分布式数据库中,并与所述分布式数据库中的批量数据信息进行整合,得到关联维表数据信息;
对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用;
在对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理时,获取所述第二数据源延迟第一预设时长内的延迟流数据信息;
对所述延迟流数据信息进行流计算处理,并将处理结果送入所述第三分布式消息队列待用。
2.根据权利要求1所述的多源数据处理方法,其特征在于,所述第一预设时长的确定方法包括:
获取预设时段内的所述第一数据源和所述第二数据源所对应的批量数据的时间戳差值;
确定所述第一数据源和所述第二数据源的时间戳差值在T时长内的数据信息的占比大于预设百分比,则T时长为所述第一预设时长。
3.根据权利要求1所述的多源数据处理方法,其特征在于,在将处理结果送入所述第三分布式消息队列之后,所述多源数据处理方法还包括:
将所述第三分布式消息队列中的所述处理结果授权给相应的应用系统,以使所述应用系统通过数据订阅的方式查询并使用所述处理结果中的数据信息。
4.根据权利要求1所述的多源数据处理方法,其特征在于,获取第一数据源和第二数据源的实时流数据信息,并将所述实时流数据信息送入第一分布式消息队列中包括:
基于CDC技术采集所述第一数据源的第一实时流数据信息,其中,所述第一数据源为目标对象的业务信息;
基于OGG技术获取所述第二数据源的第二实时流数据信息,其中,所述第二数据源为办理所述目标对象的业务时产生的经办人信息;
将所述第一实时流数据信息和所述第二实时流数据信息送入所述第一分布式消息队列中。
5.根据权利要求4所述的多源数据处理方法,其特征在于,在对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理之前,所述多源数据处理方法还包括:
设置第二预设时长,并在所述第二实时流数据信息以所述第二预设时长延迟到达所述第二分布式消息队列之后触发流计算开始执行。
6.根据权利要求1所述的多源数据处理方法,其特征在于,在所述实时流数据信息与所述分布式数据库中的批量数据信息进行整合之前,所述多源数据处理方法还包括:
将分布式并行结构化数据库中的批量数据信息同步至基于列的所述分布式数据库中,其中,所述批量数据信息包括初始化批量数据以及每日增量数据,所述批量数据信息的表结构与所述实时流数据信息的表结构相同。
7.根据权利要求1所述的多源数据处理方法,其特征在于,所述多源数据处理方法还包括:
丢弃所述第二数据源的迟到流数据信息,其中,所述迟到流数据信息的到达时间大于所述第一预设时长外。
8.根据权利要求1所述的多源数据处理方法,其特征在于,基于列的所述分布式数据库为Hbase数据库。
9.根据权利要求1所述的多源数据处理方法,其特征在于,所述第一分布式消息队列为kafka队列的原始层;所述第二分布式消息队列为kafka队列的标准层;所述第三分布式消息队列为kafka队列的访问层。
10.一种多源数据处理装置,其特征在于,所述多源数据处理装置包括:
实时数据获取单元,用于获取第一数据源和第二数据源的实时流数据信息,并将所述实时流数据信息送入第一分布式消息队列中;
数据预处理单元,用于对所述第一分布式消息队列中的所述实时流数据信息进行清洗,并将清洗后的所述实时流数据信息送入第二分布式消息队列中;
流批一体整合单元,用于将所述第二分布式消息队列中的所述实时流数据信息送入基于列的分布式数据库中,并与所述分布式数据库中的批量数据信息进行整合,得到关联维表数据信息;
数据计算单元,用于对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理,并将处理结果送入第三分布式消息队列待用;
延迟数据获取单元,用于在所述数据计算单元对所述第二分布式消息队列中的所述实时流数据信息、所述关联维表数据信息进行流计算处理时,获取所述第二数据源延迟第一预设时长内的延迟流数据信息;
所述数据计算单元还用于对所述延迟流数据信息进行流计算处理,并将处理结果送入所述第三分布式消息队列待用。
11.根据权利要求10所述的多源数据处理装置,其特征在于,在所述数据计算单元将处理结果送入所述第三分布式消息队列之后,所述多源数据处理装置还包括:
数据授权单元,用于将所述第三分布式消息队列中的所述处理结果授权给相应的应用系统,以使所述应用系统通过数据订阅的方式查询并使用所述处理结果中的数据信息。
12.一种多源数据处理设备,其特征在于,所述多源数据处理设备包括:
至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-9中任一项所述的多源数据处理方法。
13.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使处理器执行时实现权利要求1-9中任一项所述的多源数据处理方法。
14.一种计算机程序产品,其特征在于,所述计算机程序产品包括计算机程序,所述计算机程序在被处理器执行时实现根据权利要求1-9中任一项所述的多源数据处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310994649.9A CN117009391A (zh) | 2023-08-08 | 2023-08-08 | 一种多源数据处理方法、装置及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310994649.9A CN117009391A (zh) | 2023-08-08 | 2023-08-08 | 一种多源数据处理方法、装置及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117009391A true CN117009391A (zh) | 2023-11-07 |
Family
ID=88572452
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310994649.9A Pending CN117009391A (zh) | 2023-08-08 | 2023-08-08 | 一种多源数据处理方法、装置及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117009391A (zh) |
-
2023
- 2023-08-08 CN CN202310994649.9A patent/CN117009391A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112256523B (zh) | 业务数据处理方法及装置 | |
CN110620699B (zh) | 消息到达率确定方法、装置、设备和计算机可读存储介质 | |
CN112506619B (zh) | 作业处理方法、装置、电子设备和存储介质 | |
CN115150471B (zh) | 数据处理方法、装置、设备、存储介质及程序产品 | |
CN115204815A (zh) | 一种电网客服工单超时预警方法、装置、设备及存储介质 | |
CN117009391A (zh) | 一种多源数据处理方法、装置及可读存储介质 | |
CN115168154B (zh) | 一种基于动态基线的异常日志检测方法、装置及设备 | |
CN116383207A (zh) | 一种数据标签管理方法、装置、电子设备和存储介质 | |
CN114554110B (zh) | 视频生成方法、装置、电子设备和存储介质 | |
CN115629903A (zh) | 任务延迟监控方法、装置、设备及存储介质 | |
CN115643255A (zh) | 一种视频传输方法、装置、设备及存储介质 | |
CN115391158A (zh) | 一种时延确定方法、系统、装置及电子设备 | |
CN115458184A (zh) | 一种防疫检测数据推送方法、装置、设备及存储介质 | |
CN115543416A (zh) | 一种配置更新方法、装置、电子设备及存储介质 | |
CN115049369A (zh) | 一种项目管理方法、装置、电子设备及存储介质 | |
CN115242799B (zh) | 数据上报方法、装置、设备、存储介质及程序产品 | |
CN116186176A (zh) | 一种数据处理方法、装置、设备及存储介质 | |
CN115730000A (zh) | 一种基于数据湖的医疗数据集成方法、装置、设备及介质 | |
CN116595067A (zh) | 一种实时指标的生成方法、装置、电子设备及存储介质 | |
CN114723413B (zh) | 一种流数据的实时处理方法、装置、设备及介质 | |
CN115858325B (zh) | 一种项目日志的调整方法、装置、设备和存储介质 | |
CN116775768A (zh) | 基于Flink和StarRocks的实时数据分析处理方法、系统及存储介质 | |
CN113225228A (zh) | 数据处理方法及装置 | |
CN115455060A (zh) | 一种数据处理方法、装置、设备及介质 | |
CN114048058A (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 |