一种大数据流数据处理方法、装置、电子设备及存储介质

文档序号:1952595 发布日期:2021-12-10 浏览:16次 >En<

阅读说明:本技术 一种大数据流数据处理方法、装置、电子设备及存储介质 (Large data stream data processing method and device, electronic equipment and storage medium ) 是由 杨万强 毕小根 于 2021-09-18 设计创作,主要内容包括:本申请提供一种大数据流数据处理方法、装置、电子设备及存储介质,该方法包括:获取多个数据源中的源数据;分析源数据是否包含变化标识和/或属性标识;若是,则对源数据进行数据组织并将其发送给消息中间件,对从消息中间件获取的至少一条组织后源数据进行解析,根据主键信息将至少一条组织后源数据匹配到目标数据记录库中;根据目标数据记录库中的数据的属性标识判断目标数据记录库的数据的处理优先顺序,根据目标数据记录库的数据的处理优先顺序形成待处理数据组;根据待处理数据组的变化标识判断待处理数据组的操作标准并形成新的目标数据库。本发明不需要改变原有数据的技术架构,即可解决大数据流数据无序性带来的数据处理问题。(The application provides a method and a device for processing large data stream data, electronic equipment and a storage medium, wherein the method comprises the following steps: acquiring source data in a plurality of data sources; analyzing whether the source data contains change identification and/or attribute identification; if so, performing data organization on the source data and sending the source data to the message middleware, analyzing at least one piece of organized source data acquired from the message middleware, and matching the at least one piece of organized source data into a target data record base according to the primary key information; judging the processing priority of the data in the target data record base according to the attribute identification of the data in the target data record base, and forming a data group to be processed according to the processing priority of the data in the target data record base; and judging the operation standard of the data group to be processed according to the change identifier of the data group to be processed and forming a new target database. The invention can solve the data processing problem caused by the disorder of the data of the large data stream without changing the technical architecture of the original data.)

一种大数据流数据处理方法、装置、电子设备及存储介质

技术领域

本发明涉及数据处理技术领域,特别涉及一种大数据流数据处理方法、装置、电子设备及存储介质。

背景技术

云计算、物联网、移动互连、社交媒体等新兴信息技术和应用模式的快速发展,促使全球数据量急剧增加,推动人类社会迈入大数据时代。面对无穷无尽的数据洪流,我们急需一种手段来帮助我们抓住并思考那些一闪而逝的瞬间。在这样的背景下,流式大数据技术应运而生。通过更快、更完整地获取数据,更快、更充分地挖掘出数据价值,已成为大数据时代各行各业的共识。

由于新时期的流式大数据呈现出实时性、易失性、突发性、无序性、无限性等特征。其中无序性是指在大数据流式计算环境中,各数据流之间、同一数据流内部各数据元素之间是无序的:一方面,由于各个数据源之间是相互独立的,所处的时空环境也不尽相同,因此无法保证数据流间的各个数据元素的相对顺序;另一方面,即使是同一个数据流,由于时间和环境的动态变化,也无法保证重放数据流和之前数据流中数据元素顺序的一致性.这种无序性会因为高并发、网络、集群等因素,若处理不好会带来一系列的问题,主要如下:

1)源端数据修改间隔时间很短,先修改的数据被后处理了,信息错乱

2)源端删除的数据,目标端无法进行删除,形成垃圾数据

3)源端系统数据库发生拆分,目标端数据无法正确处理,后续分析数据失真

4)源端系统数据库归档,目标端数据无法正确处理,后续分析数据失真

如上问题会导致数据错乱、失真,降低整体数据的准确性,在数据发生问题时候难以排查问题所在,数据挖掘时难以真实的发挥其价值,甚至会影响真实的判断。

发明内容

本发明的目的是提供一种大数据流数据处理方法、装置、电子设备及存储介质,解决流数据处理过程中无序性带来的问题。

为了实现上述目的,本申请实施例采用如下技术方案:

第一方面,本申请实施例提供了一种大数据流数据处理方法,包括:获取多个数据源中的源数据;分析所述源数据是否包含变化标识和/或属性标识;若是,则对所述源数据进行数据组织并将其发送给消息中间件,其中,经数据组织后的组织后源数据包含系统、表名、主键、所述变化标识和/或所述属性标识;对从所述消息中间件获取的至少一条组织后源数据进行解析,根据所述主键信息将至少一条所述组织后源数据匹配到目标数据记录库中;根据所述目标数据记录库中的数据的所述属性标识判断所述目标数据记录库的数据的处理优先顺序,根据所述目标数据记录库的数据的处理优先顺序形成待处理数据组;根据所述待处理数据组的所述变化标识判断所述待处理数据组的操作标准并形成新的目标数据库。

其中所述“根据所述目标数据记录库中的数据的所述属性标识判断所述目标数据记录库的数据的处理优先顺序”包括:识别获取的目标数据记录库中数据的数据库属性并决定获取的目标数据记录库数据的处理优先级,将每个所述主键相同的所述目标数据记录库的数据中数据库属性处理优先级最优的所述目标数据记录库的数据作为第一待处理数据组;所述数据库属性包括数据库迁移、数据库拆分和/或数据库归档;识别所述第一待处理数据组的时间属性并决定所述第一待处理数据组的处理优先级,将每个所述主键相同的所述第一待处理数据组中时间属性处理优先级最优的所述第一待处理数据组作为第二待处理数据组;所述时间属性包括组织后源数据发生变化的时间信息;识别所述第二待处理数据组的系统属性并决定所述第二待处理数据组的处理优先级,将每个所述主键相同的所述第二待处理数据组中的系统属性处理优先级最优的所述第二待处理数据组作为第三待处理数据组。

进一步的,所述“根据所述待处理数据组的所述变化标识判断所述待处理数据组的操作标准并形成新的目标数据库”包括:识别所述第三待处理数据组中每个目标数据的变化标识;若所述目标数据中包含修改或新增的变化标识,则对所述目标数据进行更新,形成更新后目标数据;若所述目标数据中包含删除的变化标识,则对所述目标数据进行逻辑删除操作,形成删除后目标数据;所述第三待处理数据组没有变化标识的数据、更新后目标数据和删除后目标数据形成新的目标数据库。

可选的,所述“分析所述源数据是否包含变化标识和/或属性标识”包括:

若所述数据源中的源数据包含变化标识或属性标识,则数据源发送源数据的变化标识或属性标识记录给下游。

可选的,所述“分析所述源数据是否包含变化标识和/或属性标识”包括:

下游分析所述数据源中的源数据数据库日志信息,进而识别所述数据源中的源数据是否包含变化标识或属性标识。

第二方面,本申请实施例提供了一种大数据流数据处理装置,包括:

获取模块,用于获取多个数据源中的源数据;

分析模块,用于分析所述源数据是否包含变化标识或属性标识;若是,则对所述源数据进行数据组织并将其发送给消息中间件,其中,经数据组织后的组织后源数据包含系统、表名、主键、所述变化标识和/或所述属性标识;

第一判断模块,用于对从所述消息中间件获取的至少一条组织后源数据进行解析,根据所述主键信息将至少一条所述组织后源数据匹配到目标数据记录库中;

第二判断模块,用于根据所述目标数据记录库中的数据的所述属性标识判断所述目标数据记录库的数据的处理优先顺序,根据所述目标数据记录库的数据的处理优先顺序形成待处理数据组;

第三判断模块,用于根据所述待处理数据组的所述变化标识判断所述待处理数据组的操作标准并形成新的目标数据库。

进一步的,所述第二判断模块包括:

数据库数据判断单元,用于识别获取的目标数据记录库中数据的数据库属性并决定获取的目标数据记录库数据的处理优先级,将每个所述主键相同的所述目标数据记录库的数据中数据库属性处理优先级最优的所述目标数据记录库的数据作为第一待处理数据组;所述数据库属性包括数据库迁移、数据库拆分和/或数据库归档;

时间属性判断单元,用于识别所述第一待处理数据组的时间属性并决定所述第一待处理数据组的处理优先级,将每个所述主键相同的所述第一待处理数据组中时间属性处理优先级最优的所述第一待处理数据组作为第二待处理数据组;所述时间属性包括组织后源数据发生变化的时间信息;

系统属性判断单元,用于识别所述第二待处理数据组的系统属性并决定所述第二待处理数据组的处理优先级,将每个所述主键相同的所述第二待处理数据组中的系统属性处理优先级最优的所述第二待处理数据组作为第三待处理数据组。

第三方面,本申请实施例提供了一种电子设备,包括处理器、存储器及总线,所述存储器存储有所有处理器可执行的机器可读指令,当电子设备运行时,所述处理器及所述存储器之间通过总线通信,所述处理器执行所述机器可读指令,以执行如上任一项所述的大数据流数据处理方法的步骤。

第四方面,本申请实施例提供了一种可读存储介质,所述可读存储介质存储有计算机程序,计算机程序被执行时实现如上所述任一项所述的大数据流数据处理方法的步骤。

本发明实施例的有益效果在于,本发明无需改变原有的技术架构,只需在数据采集与数据处理过程中增加变化标识和属性标识,即可解决无序性带来的数据处理的问题,提升了大数据流式处理中数据准确性与一致性。

附图说明

图1是本发明一种大数据流数据处理方法的流程图;

图2是本发明一种大数据流数据处理方法步骤S4的具体流程图;

图3是本发明一种大数据流数据处理装置的结构示意图;

图4是本发明第二判断模块的结构示意图;

图5是本发明一种电子设备的机构示意图;

具体实施方式

为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部实施例。通常在此处附图中描述和示出的本发明实施例组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

应注意到:相似的标号和字母在下面附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。

在本发明描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。

请参阅图1,图1是本发明实施例提供的一种大数据流数据处理方法的流程示意图,如图1所示,该方法包括:

S1:获取多个数据源中的源数据;

S2:分析所述源数据是否包含变化标识和/或属性标识;

具体的,流数据处理的过程中有多种方法对源数据的变化进行判断,一般主要分为主动和被动两种模式。

主动模式为:若所述数据源中的源数据包含变化标识或属性标识,则数据源发送源数据的变化标识或属性标识记录给下游,需说明的是此处及下文中的下游指的是消息中间件。

被动模式为:下游分析所述数据源中的源数据数据库日志信息、识别源系统变化时间戳信息等方式,进而识别所述数据源中的源数据是否包含变化标识或属性标识。

一般情况下为了减轻源端数据的系统压力以及工作量,多为被动模式通过工具分析源端数据库日志的方式感知数据是否发生变化。

其中,变化标识指的是源数据信息发生变化的时候,做上标识信息,以便于数据处理的过程中进行识别。变化标识可包含新增、修改、删除,可明确的标识该数据记录的变化,相对历史记录来说是新增、修改还是删除。

示例:

序号 标识 说明
1 I 新增
2 U 修改
3 D 删除

属性标识指的是源数据信息所对应的系统属性、数据库属性、时间属性,通过增加这些属性标识来标识信息的属性,在数据处理的过程中根据系统属性、数据库属性、时间属性来进行数据的处理。

S2-1若源数据包含变化标识和/或属性标识,则对所述源数据进行数据组织并将其发送给消息中间件,其中,经数据组织后的组织后源数据包含系统、表名、主键、所述变化标识和/或所述属性标识;

示例的,信息组织将包含变化标识与属性标识信息,同时考虑到数据列的扩展性,信息使用JSON格式进行定义,示例如下:

可通过程序或者工具完成按照上面方法进行信息组织。

另外,将数据组织后的源数据发送给消息中间件,本申请中可以根据中间件的特点进行不同的处理,以kafka为例,我们在信息发送前需先创建对应的Topic信息,可根据吞吐量来初始化partiton数量,主要为Producer和Consumer两端的吞吐,同时配置消息可按照key的hash值做partition的路由,这样可尽量保证相同的key的消息的消费是保序的,提高数据的准确性。

若源数据不包含变化标识和/或属性标识,则直接将源数据发给消息中间件。

S3:对从所述消息中间件获取的至少一条组织后源数据进行解析,根据所述主键信息将至少一条所述组织后源数据匹配到目标数据记录库中;

S4:根据所述目标数据记录库中的数据的所述属性标识判断所述目标数据记录库的数据的处理优先顺序,根据所述目标数据记录库的数据的处理优先顺序形成待处理数据组;

具体的,如图2所示,本步骤包括:

S401:识别获取的目标数据记录库中数据的数据库属性并决定获取的目标数据记录库数据的处理优先级,将每个所述主键相同的所述目标数据记录库的数据中数据库属性处理优先级最优的所述目标数据记录库的数据作为第一待处理数据组;所述数据库属性包括数据库迁移、数据库拆分和/或数据库归档;

识别获取的目标数据记录库中数据的数据库属性信息,然后根据数据库优先级配置进行数据的处理,如以下数据:

主键 数据库属性 数据值
3400001 A01 8
3400001 A02 9
3400001 B01 10
3400001 B02 11
3400001 C01 7

我们在数据库优先级配置中设置数据库属性的ABC码值大小来确定优先级顺序,那么可以看出上述记录中主键相同的记录,对应数据库属性C01为优先级最高的记录,不管数据何时处理,取优先级最高的记录为有效记录进行处理即可。如果新来的数据优先级低于目标数据则不进行处理。

其中数据库属性表示源端数据库的属性,对于一个系统有多个数据库,如主库、分库、归档库的情况,根据实际情况定义好数据库的属性,在数据处理时根据数据库属性不同分别进行处理。

此属性的定义可以很好的解决源端数据在进行数据库迁移、数据库拆分、数据库归档的情况下,通过定义数据库的属性,来解决流式数据处理的过程中源端数据不一致带来的问题。可通过字母A、B、C来表示主库、分库、归档库,01,02,03表示同一属性数据库的迁移情况,一个数据库在默认情况该属性值为A01,发生迁移后为A02,发生拆分后对应数据库属性值为B01,发生归档时数据库属性值为C01。

示例如下:

S402:识别所述第一待处理数据组的时间属性并决定所述第一待处理数据组的处理优先级,将每个所述主键相同的所述第一待处理数据组中时间属性处理优先级最优的所述第一待处理数据组作为第二待处理数据组;所述时间属性包括组织后源数据发生变化的时间信息;

具体的,通过配置第一待处理数据组数据的时间属性信息来进行数据的处理,如可设置取最新的数据或最早的数据进行处理。当设置需要取时间最大的数据为有效数据时,新的数据过来后,时间大于目标库的时候则进行下一步数据处理,否则不进行处理。

需说明的是,时间属性即数据发生变化的时间信息。此属性的定义可以解决在网络、并发等问题的情况下数据处理时间错乱情况的问题。时间属性的值记录到毫秒级别,更精确的记录数据变化的时序信息。为了便于后续数据的处理,也可将毫秒格式的时间信息转化成时间戳格式,如2021-08-0115:01:21.260转成时间戳为1627801281260。

S403:识别所述第二待处理数据组的系统属性并决定所述第二待处理数据组的处理优先级,将每个所述主键相同的所述第二待处理数据组中的系统属性处理优先级最优的所述第二待处理数据组作为第三待处理数据组。

具体的,通过配置系统属性信息来进行第二待处理数据组数据的处理,如可根据系统属性对应列的优先级数字越小优先级越高,新来的数据大于目标数据时,则为有效数据进行下一步数据处理,否则不进行后续处理。

需解释的是,系统属性表示系统的优先级,可定义到数据记录的列属性。此属性的定义可解决多系统对应同一目标的情况,来源优先级的判断,可通过数字1,2,3…表示系统的优先级,数字大小表示处理的优先级。

示例如下:

此类数据在数据处理过程中目标端可将数据存储在列式存储中,每列中标注属性信息“信息编号”、“来源系统”、“系统优先级”,流数据处理过程中供逻辑判断使用。

S5:根据所述待处理数据组的所述变化标识判断所述待处理数据组的操作标准并形成新的目标数据库。

具体的,识别所述第三待处理数据组中每个目标数据的变化标识;若所述目标数据中包含修改或新增的变化标识,则对所述目标数据进行更新,形成更新后目标数据;若所述目标数据中包含删除的变化标识,则对所述目标数据进行逻辑删除操作,形成删除后目标数据;所述第三待处理数据组没有变化标识的数据、更新后目标数据和删除后目标数据形成新的目标数据库。

这样经过处理后的目标数据库就可以发送给下游进行应用。

本申请实施例提供的大数据流数据处理方法,无需改变原有的技术架构,只需在数据采集与数据处理过程中增加变化标识和属性标识,即可解决无序性带来的数据处理的问题,提升了大数据流式处理中数据准确性与一致性。

基于同一发明构思,本发明实施例还提供了一种大数据流数据处理装置,图3是本发明实施例提供的一种大数据流数据处理装置结构示意图,如图3所示,该装置包括:

获取模块100,用于获取多个数据源中的源数据;

分析模块200,用于分析所述源数据是否包含变化标识或属性标识;若是,则对所述源数据进行数据组织并将其发送给消息中间件,其中,经数据组织后的组织后源数据包含系统、表名、主键、所述变化标识和/或所述属性标识;

第一判断模块300,用于对从所述消息中间件获取的至少一条组织后源数据进行解析,根据所述主键信息将至少一条所述组织后源数据匹配到目标数据记录库中;

第二判断模块400,用于根据所述目标数据记录库中的数据的所述属性标识判断所述目标数据记录库的数据的处理优先顺序,根据所述目标数据记录库的数据的处理优先顺序形成待处理数据组;

第三判断模块500,用于根据所述待处理数据组的所述变化标识判断所述待处理数据组的操作标准并形成新的目标数据库。

其中所述第二判断模块400包括:

数据库数据判断单元401,用于识别获取的目标数据记录库中数据的数据库属性并决定获取的目标数据记录库数据的处理优先级,将每个所述主键相同的所述目标数据记录库的数据中数据库属性处理优先级最优的所述目标数据记录库的数据作为第一待处理数据组;所述数据库属性包括数据库迁移、数据库拆分和/或数据库归档;

时间属性判断单元402,用于识别所述第一待处理数据组的时间属性并决定所述第一待处理数据组的处理优先级,将每个所述主键相同的所述第一待处理数据组中时间属性处理优先级最优的所述第一待处理数据组作为第二待处理数据组;所述时间属性包括组织后源数据发生变化的时间信息;

系统属性判断单元403,用于识别所述第二待处理数据组的系统属性并决定所述第二待处理数据组的处理优先级,将每个所述主键相同的所述第二待处理数据组中的系统属性处理优先级最优的所述第二待处理数据组作为第三待处理数据组。

上述装置用于执行前述实施例提供的方法,其实现原理和技术效果类似,在此不再赘述。

以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个微处理器(digital singnal processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(CentralProcessing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,简称SOC)的形式实现。

图5为本申请实施例提供的一种电子设备的示意图,该电子设备可以集成于终端设备或者终端设备的芯片,该终端可以是具备数据处理功能的计算设备。

如图5所示,该一种电子设备包括:处理器501、存储器502和总线,存储器502存储有处理器501可执行的程序指令,当电子/设备运行时,处理器501与存储器502之间通过总线通信,处理器501执行程序指令,以执行上述方法实施例。具体实现方式和技术效果类似,这里不再赘述。

可选地,本发明还提供一种存储介质,存储介质上存储有计算机程序,计算机程序被处理器运行时用于执行上述方法实施例。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

16页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种数据库版本管理方法、系统及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!