CN115048353A - 数据处理方法、装置、电子设备、存储介质及程序产品 - Google Patents
数据处理方法、装置、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN115048353A CN115048353A CN202210472634.1A CN202210472634A CN115048353A CN 115048353 A CN115048353 A CN 115048353A CN 202210472634 A CN202210472634 A CN 202210472634A CN 115048353 A CN115048353 A CN 115048353A
- Authority
- CN
- China
- Prior art keywords
- data
- processed
- basic transmission
- transmission unit
- subdata
- 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
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/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开实施例公开了一种数据处理方法、装置、电子设备、存储介质及程序产品,所述方法包括:获取从数据源系统接收到的待处理数据;判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据;在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,将所述多条子数据分别封装成多个基本传输单元;将多个所述基本传输单元发送至传输通道。该方案使得Flume系统在接收到包括多条子数据的待处理数据后,已有的拦截器能够按照正常加工处理方式进行处理,无需对众多已有的拦截器进行改造,节省了成本,提高了数据处理效率。
Description
技术领域
本公开实施例涉及计算机技术领域,具体涉及一种数据处理方法、装置、电子设备、存储介质及程序产品。
背景技术
Flume是一个分布式高可用的海量日志采集、聚合和传输的系统。在大数据时代,Flume作为一个优秀的数据采集工具,广泛应用于多个场景。Flume中主要包括:Source(Flume中用于获取数据的组件)、拦截器(Flume中用于数据加工处理的组件)、Channel(Flume中的存储组件)以及Sink(Flume中的数据传递组件)四部分来完成日志的采集聚合以及传输。
Flume可以作为一个高效的缓存模块来使用,或者作为一个多种输入数据转换为流式数据输出的模块来使用,比如Flume与SparkStreaming对接实现流式数据的实时采集与处理,Flume与Hadoop对接实现数据的分布式存储等。SparkStreaming和Hadoop都属于数据接收方,借助Flume的source层实现多数据源的支持;借助channel层实现多数据源数据的高效缓存;借助sink层实现不同接收方数据的输出。
传统的Flume采集技术中,Flume的Source层针对接收到的一个待传输数据直接封装成一个基本传输单元后,经过系统自带的拦截器处理后,传输至Sink层,进而交由数据接收方进行处理。
发明内容
本公开实施例提供一种数据处理方法、装置、电子设备、存储介质及程序产品。
第一方面,本公开实施例中提供了一种
进一步地,还包括:
所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,上述装置的结构中包括存储器和处理器,所述存储器用于存储一条或多条支持上述装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述装置还可以包括通信接口,用于上述装置与其他设备或通信网络通信。
第六方面,本公开实施例中提供了一种数据处理系统,包括:客户端和HDFS存储系统;其中,
所述客户端接收来自用户的小数据处理请求;所述小数据处理请求包括待合并候选文件的标识信息以及所述待合并候选文件的类型信息;所述客户端基于所述标识信息以及类型信息从HDFS存储系统获取多个待合并小文件的元数据;以及将所述多个待合并小文件的元数据进行合并,以及将携带有合并后的元数据的数据处理请求发送给所述HDFS存储系统;
所述HDFS存储系统接收来自客户端的数据处理请求;所述数据处理请求包括多个待合并小文件的文件信息以及合并后的元数据;所述多个待合并小文件的文件内容存储在数据存储块中;所述HDFS存储系统将所述多个待合并小文件的元数据从相应的文件信息管理结构中删除,以及将所述合并后的元数据作为一个合并文件的元数据添加至所述文件信息管理结构中,以一个合并文件的形式管理所述多个待合并小文件的文件内容所在的所述数据存储块;所述合并后的元数据中包括所述多个待合并小文件的文件内容所在的所述数据存储块的信息。
第七方面,本公开实施例提供了一种电子设备,包括存储器和处理器,所述存储器用于存储一条或多条支持上述任一装置执行上述对应方法的计算机指令,所述处理器被配置为用于执行所述存储器中存储的计算机指令。上述任一装置还可以包括通信接口,用于与其他设备或通信网络通信。
第八方面,本公开实施例提供了一种计算机可读存储介质,用于存储上述任一装置所用的计算机指令,其包含用于执行上述任一方法所涉及的计算机指令。
第九方面,本公开实施例提供了一种计算机程序产品,其包含计算机指令,该计算机指令被处理器执行时用于实现上述任一方面所述方法的步骤。
本公开实施例提供的技术方案可包括以下有益效果:
该方法中,Flume系统的获取到从数据源接收到的待处理数据后,先判断该待处理数据中是否包括业务层面需要分别进行处理的多条子数据;在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由Source层将所述多条子数据分别封装成多个基本传输单元,进而再将多个所述基本传输单元发送至Channel传输通道。通过这种方式,可以针对从数据源系统接收到的待处理数据做预处理,该预处理过程中判断该待处理数据是否包括多条需要在业务层面分别进行处理的子数据,如果包括多条子数据时,则由Source层将该多条子数据分别进行封装,形成多个基本传输单元后,由Channel通道传输至Sink层。使得Flume系统在接收到包括多条子数据的待处理数据后,已有的拦截器能够按照正常加工处理方式进行处理,无需对众多已有的拦截器进行改造,节省了成本,提高了数据处理效率。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开实施例。
附图说明
结合附图,通过以下非限制性实施方式的详细描述,本公开实施例的其它特征、目的和优点将变得更加明显。在附图中:
图1示出根据本公开一实施方式的数据处理方法的流程图;
图2示出根据本公开另一实施方式的数据处理方法的流程图;
图3示出根据本公开再一实施方式的数据处理方法的流程图;
图4示出根据本公开又一实施方式的数据处理方法的流程图;
图5示出根据本公开一实施方式的数据处理方法的整体流程图;
图6示出根据本公开一实施方式的数据处理装置的结构框图;
图7示出根据本公开另一实施方式的数据处理装置的结构框图;
图8示出根据本公开一实施方式的数据处理系统的结构框图;
图9是适于用来实现根据本公开一实施方式的数据处理方法的计算机系统的结构示意图。
具体实施方式
下文中,将参考附图详细描述本公开实施例的示例性实施方式,以使本领域技术人员可容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施方式无关的部分。
在本公开实施例中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。
另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本公开实施例。
Flume系统通常包括多个数据接收Source层、拦截器、Channel传输通道和数据传递组件Sink。其中,Source(可以从日志文件、网络端口、Kafka等)多种数据源采集数据,封装成Event(Flume中传输数据的基本传输单元,由Event Header与Event Body构成),Event可以通过一系列拦截器进行加工处理,写入Channel。数据成功写入到Channel中后,Sink(Flume中的数据传递组件)会从Channel中主动拉取数据写入到HDFS、HBase、Hive、ES等多种大数据组件中进行后续的数据处理。
Flume中自带的拦截器有许多种,包括时间戳添加拦截器、Host添加拦截器,正则提取拦截器等,时间戳添加拦截器在传输的Event中的Event Header中增加现在时间的时间戳,Host添加拦截器可以在传输的Event中的Event Header中增加传输时当前主机名称,正则提取拦截器可以通过正则表达式,提取Event Body中的字段到Event Header中。
图1示出根据本公开一实施方式的数据处理方法的流程图,如图1所示,所述数据处理方法包括以下步骤:
在步骤S101中,获取从数据源系统接收到的待处理数据;
在步骤S102中,判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据;
在步骤S103中,在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,将所述多条子数据分别封装成多个基本传输单元;
在步骤S104中,将多个所述基本传输单元发送至传输通道。
上文提及,Flume是一个分布式高可用的海量日志采集、聚合和传输的系统。在大数据时代,Flume作为一个优秀的数据采集工具,广泛应用于多个场景。Flume中主要包括:Source(Flume中用于获取数据的组件)、拦截器(Flume中用于数据加工处理的组件)、Channel(Flume中的存储组件)以及Sink(Flume中的数据传递组件)四部分来完成日志的采集聚合以及传输。
Flume可以作为一个高效的缓存模块来使用,或者作为一个多种输入数据转换为流式数据输出的模块来使用,比如Flume与SparkStreaming对接实现流式数据的实时采集与处理,Flume与Hadoop对接实现数据的分布式存储等。SparkStreaming和Hadoop都属于数据接收方,借助Flume的source层实现多数据源的支持;借助channel层实现多数据源数据的高效缓存;借助sink层实现不同接收方数据的输出。
传统的Flume采集技术中,Flume的Source层针对接收到的一个待传输数据直接封装成一个基本传输单元后,经过系统自带的拦截器处理后,传输至Sink层,进而交由数据接收方进行处理。
本公开发明人发现,已有的Flume系统中,Source层从数据源获取到的一条待处理数据会被封装成一个基本传输单元,Flume自带的拦截器或者自定义的拦截器会将该基本传输单元作为一个整体进行处理。但是,一些场景下可能会存在该条待处理数据中会包括业务层面上需要进行处理的多个条子数据,数据接收方需要对该多条子数据分别进行业务处理,因此数据接收方也希望Flume拦截器能够分别对该多条子数据进行相应的加工处理。然而,目前的处理方式下,由于Source层将多条子数据封装成了一个基本传输单元,拦截器难以或者无法对一个基本传输单元中的多条子数据分别进行处理。
考虑到上述问题,在该实施方式中,提出一种数据处理方法,该方法中,Flume系统的获取到从数据源接收到的待处理数据后,先判断该待处理数据中是否包括业务层面需要分别进行处理的多条子数据;在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由Source层将所述多条子数据分别封装成多个基本传输单元,进而再将多个所述基本传输单元发送至Channel传输通道。通过这种方式,可以针对从数据源系统接收到的待处理数据做预处理,该预处理过程中判断该待处理数据是否包括多条需要在业务层面分别进行处理的子数据,如果包括多条子数据时,则由Source层将该多条子数据分别进行封装,形成多个基本传输单元后,由Channel通道传输至Sink层。使得Flume系统在接收到包括多条子数据的待处理数据后,已有的拦截器能够按照正常加工处理方式进行处理,无需对众多已有的拦截器进行改造,节省了成本,提高了数据处理效率。
在本公开一实施方式中,该数据处理方法可适用于在Flume系统的Agent服务器上执行。
在本公开一实施方式中,数据源系统可以是任意一个产生数据的系统,数据源系统所产生的数据可以交由Flume系统进行采集、聚合以及传输,分发到对应的数据接收方系统。在一些实施例中,数据接收方系统可以是任意的数据存储系统。Flume系统中可以包括多个Agent,每个Agent对应一组Source层、Channel层和Sink层,每一个Agent可以对应一个数据源系统,不同数据源系统对应不同的Agent。每个Agent可以对应一个或多个数据接收方系统,从同一个数据源系统接收到的数据被处理后可以传送至一个或多个数据接收方系统。不同Agent对应的数据接收方系统可以不同。
每个Agent中设置一线程,用于对接收到的待处理数据进行判断,也即判断该待处理数据中是否包括业务层面需要分别进行处理的多条子数据。在一些实施例中,可以预先在该线程中设置判断规则,通过匹配该规则与该待处理数据来确定该待处理数据中是否包括多条子数据。在一些实施例中,该判断规则可以基于正则表达式实现。
需要说明的是,在业务层面需要分别进行处理的多条子数据是指,该条子数据作为一个整体进行业务处理,而该待处理数据无法作为一个整体进行业务处理,需要拆分成多条子数据后,分别针对多条子数据进行处理。例如,该待处理数据中包括多行日志数据,则该多行日志数据为多条子数据,每一行为一条子数据。
在包括多条子数据的情况下,可以将该多条子数据进行拆分后,逐条交由Source层进行处理,Source层则将每条子数据作为接收到的一条待处理数据进行封装,将其封装成一个基本传输单元的形式。需要说明的是,Source层为每条子数据添加消息头,并将子数据作为消息体,进而封装成一个基本传输单元。包括多条子数据的待处理数据可以被封装成多个基本传输单元,该多个基本传输单元可以经过传输通道Channel传递至相应的Sink层,由Sink层交由对应的数据接收方系统。
通过这种方式,可以丰富Flume系统的应用场景,进而能够扩充Flume系统的功能,并且能够提高某些场景下包括多条子数据的待处理数据的采集、聚合及传输效率。
在本公开一实施方式中,步骤S102,即判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据的步骤,进一步包括以下步骤:
基于所述待处理数据的数据源对应的数据源格式;
通过匹配所述数据源格式与所述待处理数据确定所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据。
该实施方式中,不同数据源系统产生的待处理数据的数据源格式可能不同,而相同数据源系统所产生的待处理数据的数据源格式可以固定,例如可以是固定的一种或多种。基于该固定的一种或多种数据源格式,可以通过匹配的方式确定待处理数据中包括一条还是多条子数据,例如将待处理数据与一种或多种数据源格式进行匹配,在相匹配的情况下,如何存在多条相匹配的数据则认为该待处理数据包括多条需要在业务层分别进行处理的子数据。
在本公开一实施方式中,步骤S103,即在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,将所述多条子数据分别封装成多个基本传输单元的步骤,进一步包括以下步骤:
将所述待处理数据中的多条子数据进行拆分;
为每一条子数据添加消息头后封装成一个基本传输单元。
该实施方式中,可以将待处理数据中的多条子数据进行拆分,得到多条数据;该多条数据分别交由Source层进行处理,Source层针对每条子数据单独进行处理,将其封装成单独的基本传输单元,最终可以得到多个基本传输单元。
Source层将每条子数据封装成一个Event的形式,每个Event包括Event header和Event body,Event body中存放该子数据的内容。
在本公开一实施方式中,步骤S104,即将多个所述基本传输单元发送至传输通道的步骤之前,所述方法进一步还包括以下步骤:
利用至少一个拦截器对所述多个基本传输单元分别进行加工处理,获得处理后的多个基本传输单元。
该实施方式中,至少一个拦截器可以是Flume系统自带的或者自定义的拦截器,用于针对Source层封装好的基本传输单元进行加工处理,具体加工处理方式可以基于实际需求而不同,在此不做具体限制。拦截器可以包括多个,由于本公开实施例中针对包括多条子数据的待处理数据进行了拆分,使得每个基本传输单元均只包括一条在业务层面可以作为整体进行处理的一条数据,因此拦截器直接对Source层输出的基本传输单元进行加工处理。并且每个基本传输单元分别进行加工处理,处理后的多个基本传输单元经过Channel传输通道被传送至Sink。
图2示出根据本公开另一实施方式的数据处理方法的流程图,如图2所示,所述数据处理方法包括以下步骤:
在步骤S201中,获取从数据源系统接收到的待处理数据;
在步骤S202中,将所述待处理消息封装成一个第一基本传输单元,并交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据;
在步骤S203中,在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,将所述第一基本传输单元拆分成多个第二基本传输单元;
在步骤S204中,将所述多个第二基本传输单元发送至传输通道。
上文提及,Flume是一个分布式高可用的海量日志采集、聚合和传输的系统。在大数据时代,Flume作为一个优秀的数据采集工具,广泛应用于多个场景。Flume中主要包括:Source(Flume中用于获取数据的组件)、拦截器(Flume中用于数据加工处理的组件)、Channel(Flume中的存储组件)以及Sink(Flume中的数据传递组件)四部分来完成日志的采集聚合以及传输。
Flume可以作为一个高效的缓存模块来使用,或者作为一个多种输入数据转换为流式数据输出的模块来使用,比如Flume与SparkStreaming对接实现流式数据的实时采集与处理,Flume与Hadoop对接实现数据的分布式存储等。SparkStreaming和Hadoop都属于数据接收方,借助Flume的source层实现多数据源的支持;借助channel层实现多数据源数据的高效缓存;借助Sink层实现不同接收方数据的输出。
传统的Flume采集技术中,Flume的Source层针对接收到的一个待传输数据直接封装成一个基本传输单元后,经过系统自带的拦截器处理后,传输至Sink层,进而交由数据接收方进行处理。
本公开发明人发现,已有的Flume系统中,Source层从数据源获取到的一条待处理数据会被封装成一个基本传输单元,Flume自带的拦截器或者自定义的拦截器会将该基本传输单元作为一个整体进行处理。但是,一些场景下可能会存在该条待处理数据中会包括业务层面上需要进行处理的多个条子数据,数据接收方需要对该多条子数据分别进行业务处理,因此数据接收方也希望Flume拦截器能够分别对该多条子数据进行相应的加工处理。然而,目前的处理方式下,由于Source层将多条子数据封装成了一个基本传输单元,拦截器难以或者无法对一个基本传输单元中的多条子数据分别进行处理。
考虑到上述问题,在该实施方式中,提出另一种数据处理方法,该方法中,Flume系统的获取到从数据源接收到的待处理数据后,由Source层先对待处理数据进行封装,将其封装成一个基本传输单元。可以预先在Flume系统中自定义一个第一拦截器,Source层封装好的基本传输单元先交由该自定义的第一拦截器进行处理,该第一拦截器判断该基本传输单元中的待处理数据是否包括业务层面需要分别进行处理的多条子数据;在所述待处理数据包括业务层面需要分别进行处理的多条子数据时,将该基本传输单元拆分成多个第二基本传输单元,每个第二基本传输单元包括一条子数据,进而再将该多个第二基本传输单元发送至Channel传输通道。通过这种方式,可以针对从数据源系统接收到的待处理数据进行封装后,由子定义的拦截器进行拆分处理,将需要在业务层面分别进行处理的多条子数据拆分成多个第二基本传输单元后,由Channel通道传输至Sink层。使得Flume系统在接收到包括多条子数据的待处理数据后,已有的拦截器可以针对第一拦截器处理得到的多个基本传输单元按照正常加工处理方式进行处理,无需对众多已有的拦截器进行改造,节省了成本,提高了数据处理效率。
在本公开一实施方式中,该数据处理方法可适用于在Flume系统的Agent服务器上执行。
在本公开一实施方式中,数据源系统可以是任意一个产生数据的系统,数据源系统所产生的数据可以交由Flume系统进行采集、聚合以及传输,分发到对应的数据接收方系统。在一些实施例中,数据接收方系统可以是任意的数据存储系统。Flume系统中可以包括多个Agent,每个Agent对应一组Source层、Channel层和Sink层,每一个Agent可以对应一个数据源系统,不同数据源系统对应不同的Agent。每个Agent可以对应一个或多个数据接收方系统,从同一个数据源系统接收到的数据被处理后可以传送至一个或多个数据接收方系统。不同Agent对应的数据接收方系统可以不同。
每个Agent中设置一第一拦截器,Source基于接收到的待处理数据封装得到一个第一基本传输单元,该第一基本传输单元包括第一消息头和第一消息体,待处理数据包括在该第一消息体中,并且该第一基本传输单元由Source层最先交由该第一拦截器进行处理,该第一拦截器判断基本传输单元中包括在业务层面需要分别进行处理的多条子数据后,将该基本传输单元拆分成多个第二传输单元。在一些实施例中,该第二传输单元可以包括第二消息头和第二消息体,该第二消息头可以基于该第一消息头以及对应的子数据得到,而第二消息体中则可以包括该对应的子数据。
在一些实施例中,可以预先在第一拦截器中设置判断规则,第一拦截器通过匹配该规则与第一基本传输单元中的第一消息体中该待处理数据来确定该待处理数据中是否包括多条子数据。在一些实施例中,该判断规则可以基于正则表达式实现。
需要说明的是,在业务层面需要分别进行处理的多条子数据是指,该条子数据作为一个整体进行业务处理,而该待处理数据无法作为一个整体进行业务处理,需要拆分成多条子数据后,分别针对多条子数据进行处理。例如,该待处理数据中包括多行日志数据,则该多行日志数据为多条子数据,每一行为一条子数据。
第一拦截器输出的多个第二基本传输单元分别对应待处理数据中的一条子数据,该第二基本传输单元可以交由传输通道Channel传送至Sink层,由Sink层交由对应的数据接收方系统。
通过这种方式,可以丰富Flume系统的应用场景,进而能够扩充Flume系统的功能,并且能够提高某些场景下包括多条子数据的待处理数据的采集、聚合及传输效率。
在本公开一实施方式中,步骤S202中,即将所述待处理消息封装成一个第一基本传输单元,并交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据的步骤,进一步包括以下步骤:
为所述待处理数据添加第一消息头,并将所述待处理数据作为第一消息体,由所述第一消息头和所述第一消息头形成所述第一基本传输单元;
由第一拦截器基于所述第一消息体判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据。
在本公开一实施方式中,由第一拦截器基于所述第一消息体判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据的步骤,进一步包括以下步骤:
由所述第一拦截器基于所述待处理数据的数据源对应的数据源格式;
通过匹配所述数据源格式与所述待处理数据确定所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据。
该实施方式中,不同数据源系统产生的待处理数据的数据源格式可能不同,而相同数据源系统所产生的待处理数据的数据源格式可以固定,例如可以是固定的一种或多种。基于该固定的一种或多种数据源格式,可以通过匹配的方式确定待处理数据中包括一条还是多条子数据,例如将待处理数据与一种或多种数据源格式进行匹配,在相匹配的情况下,如何存在多条相匹配的数据则认为该待处理数据包括多条需要在业务层分别进行处理的子数据。
在本公开一实施方式中,步骤S203,即在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,将所述第一基本传输单元拆分成多个第二基本传输单元的步骤,进一步包括以下步骤:
在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,将所述多条子数据进行拆分;
基于所述第一消息头为拆分后的每一条所述子数据生成第二消息头,将所述子数据作为第二消息体,由每个所述第二消息头和对应的所述第二消息体形成第二基本传输单元。
该实施方式中,第一拦截器可以从第一消息体中提取出待处理数据,进而可以将待处理数据中的多条子数据进行拆分,得到多条子数据;第一拦截器还可以基于第一消息头中的内容生成第二消息头,例如可以将相同的内容直接拷贝过来,而将字符数等不同的数据修改成子数据的属性信息即可得到第二消息头,子数据被放入第二消息体,最终得到第二基本传输单元。也就是说,第一拦截器可以仿照第一基本传输单元,形成第二基本传输单元。
在本公开一实施方式中,步骤S104,即将所述多个第二基本传输单元发送至传输通道的步骤之前,所述方法进一步还包括以下步骤:
利用至少一个第二拦截器对所述多个第二基本传输单元分别进行加工处理,获得处理后的多个第二基本传输单元。
该实施方式中,至少一个第二拦截器可以是Flume系统自带的或者自定义的拦截器,用于针对第一拦截器拆分得到的第二基本传输单元进行加工处理,具体加工处理方式可以基于实际需求而不同,在此不做具体限制。第二拦截器可以包括多个,由于本公开实施例中针对包括多条子数据的待处理数据进行了拆分,使得每个第二基本传输单元均只包括一条在业务层面可以作为整体进行处理的一条数据,因此第二拦截器可以分别针对不同的第二基本传输单元进行加工处理,处理后的多个基本传输单元经过Channel传输通道被传送至Sink。
图2所示及相关实施方式中涉及的技术术语和技术特征与图1所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图2所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1所示及相关实施方式的解释的说明,此处不再赘述。
图3示出根据本公开再一实施方式的数据处理方法的流程图,如图3所示,所述数据处理方法包括以下步骤:
在步骤S301中,数据源系统将待处理数据发送至Flume系统;;
在步骤S302中,所述Flume系统接收所述待处理数据,并判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据,在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由所述Source层将所述多条子数据分别封装成多个基本传输单元,并将多个所述基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层,所述Sink层将多个所述基本传输单元发送至对应的数据接收系统;
在步骤S303中,所述数据接收系统基于接收到的所述基本传输单元进行数据处理。
上文提及,Flume是一个分布式高可用的海量日志采集、聚合和传输的系统。在大数据时代,Flume作为一个优秀的数据采集工具,广泛应用于多个场景。Flume中主要包括:Source(Flume中用于获取数据的组件)、拦截器(Flume中用于数据加工处理的组件)、Channel(Flume中的存储组件)以及Sink(Flume中的数据传递组件)四部分来完成日志的采集聚合以及传输。
Flume可以作为一个高效的缓存模块来使用,或者作为一个多种输入数据转换为流式数据输出的模块来使用,比如Flume与SparkStreaming对接实现流式数据的实时采集与处理,Flume与Hadoop对接实现数据的分布式存储等。SparkStreaming和Hadoop都属于数据接收方,借助Flume的source层实现多数据源的支持;借助channel层实现多数据源数据的高效缓存;借助sink层实现不同接收方数据的输出。
传统的Flume采集技术中,Flume的Source层针对接收到的一个待传输数据直接封装成一个基本传输单元后,经过系统自带的拦截器处理后,传输至Sink层,进而交由数据接收方进行处理。
本公开发明人发现,已有的Flume系统中,Source层从数据源获取到的一条待处理数据会被封装成一个基本传输单元,Flume自带的拦截器或者自定义的拦截器会将该基本传输单元作为一个整体进行处理。但是,一些场景下可能会存在该条待处理数据中会包括业务层面上需要进行处理的多个条子数据,数据接收方需要对该多条子数据分别进行业务处理,因此数据接收方也希望Flume拦截器能够分别对该多条子数据进行相应的加工处理。然而,目前的处理方式下,由于Source层将多条子数据封装成了一个基本传输单元,拦截器难以或者无法对一个基本传输单元中的多条子数据分别进行处理。
考虑到上述问题,在该实施方式中,提出一种数据处理方法,该方法中,Flume系统的获取到从数据源系统接收到待处理数据后,先判断该待处理数据中是否包括业务层面需要分别进行处理的多条子数据;在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由Source层将所述多条子数据分别封装成多个基本传输单元,进而再将多个所述基本传输单元发送至Channel传输通道,经过Channel传输通道的基本传输单元被传送至Sink层,Sink层将该基本传输单元传递给相应的数据接收方系统,数据接收方系统再对接收到的基本传输单元进行处理。通过这种方式,可以针对从数据源系统接收到的待处理数据做预处理,该预处理过程中判断该待处理数据是否包括多条需要在业务层面分别进行处理的子数据,如果包括多条子数据时,则由Source层将该多条子数据分别进行封装,形成多个基本传输单元后,由Channel通道传输至Sink层。使得Flume系统在接收到包括多条子数据的待处理数据后,已有的拦截器能够按照正常加工处理方式进行处理,无需对众多已有的拦截器进行改造,节省了成本,提高了数据处理效率。
在本公开一实施方式中,该数据处理方法可适用于在包括数据源系统、Flume系统和数据接收方系统的大数据系统中执行。
在本公开一实施方式中,数据源系统可以是任意一个产生数据的系统,数据源系统所产生的数据可以交由Flume系统进行采集、聚合以及传输,分发到对应的数据接收方系统。在一些实施例中,数据接收方系统可以是任意的数据存储系统。Flume系统中可以包括多个Agent,每个Agent对应一组Source层、Channel层和Sink层,每一个Agent可以对应一个数据源系统,不同数据源系统对应不同的Agent。每个Agent可以对应一个或多个数据接收方系统,从同一个数据源系统接收到的数据被处理后可以传送至一个或多个数据接收方系统。不同Agent对应的数据接收方系统可以不同。
每个Agent中设置一线程,用于对接收到的待处理数据进行判断,也即判断该待处理数据中是否包括业务层面需要分别进行处理的多条子数据。在一些实施例中,可以预先在该线程中设置判断规则,通过匹配该规则与该待处理数据来确定该待处理数据中是否包括多条子数据。在一些实施例中,该判断规则可以基于正则表达式实现。
需要说明的是,在业务层面需要分别进行处理的多条子数据是指,该条子数据作为一个整体进行业务处理,而该待处理数据无法作为一个整体进行业务处理,需要拆分成多条子数据后,分别针对多条子数据进行处理。例如,该待处理数据中包括多行日志数据,则该多行日志数据为多条子数据,每一行为一条子数据。
在包括多条子数据的情况下,可以将该多条子数据进行拆分后,逐条交由Source层进行处理,Source层则将每条子数据作为接收到的一条待处理数据进行封装,将其封装成一个基本传输单元的形式。需要说明的是,Source层为每条子数据添加消息头,并将子数据作为消息体,进而封装成一个基本传输单元。包括多条子数据的待处理数据可以被封装成多个基本传输单元,该多个基本传输单元可以经过传输通道Channel传递至相应的Sink层,由Sink层交由对应的数据接收方系统。
通过这种方式,可以丰富Flume系统的应用场景,进而能够扩充Flume系统的功能,并且能够提高某些场景下包括多条子数据的待处理数据的采集、聚合及传输效率。
在本公开一实施方式中,步骤S302中判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据的步骤,进一步包括以下步骤:
基于所述待处理数据的数据源对应的数据源格式;
通过匹配所述数据源格式与所述待处理数据确定所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据。
该实施方式中,不同数据源系统产生的待处理数据的数据源格式可能不同,而相同数据源系统所产生的待处理数据的数据源格式可以固定,例如可以是固定的一种或多种。基于该固定的一种或多种数据源格式,可以通过匹配的方式确定待处理数据中包括一条还是多条子数据,例如将待处理数据与一种或多种数据源格式进行匹配,在相匹配的情况下,如何存在多条相匹配的数据则认为该待处理数据包括多条需要在业务层分别进行处理的子数据。
在本公开一实施方式中,步骤S302中,在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由所述Source层将所述多条子数据分别封装成多个基本传输单元的步骤,进一步包括以下步骤:
将所述待处理数据中的多条子数据进行拆分;
由所述Source层为每一条子数据添加消息头后封装成一个基本传输单元。
该实施方式中,可以将待处理数据中的多条子数据进行拆分,得到多条数据;该多条数据分别交由Source层进行处理,Source层针对每条子数据单独进行处理,将其封装成单独的基本传输单元,最终可以得到多个基本传输单元。
Source层将每条子数据封装成一个Event的形式,每个Event包括Event header和Event body,Event body中存放该子数据的内容。
在本公开一实施方式中,步骤S302中将多个所述基本传输单元发送至传输通道的步骤之前,所述方法进一步还包括以下步骤:
利用至少一个拦截器对所述多个基本传输单元分别进行加工处理,获得处理后的多个基本传输单元。
该实施方式中,至少一个拦截器可以是Flume系统自带的或者自定义的拦截器,用于针对Source层封装好的基本传输单元进行加工处理,具体加工处理方式可以基于实际需求而不同,在此不做具体限制。拦截器可以包括多个,由于本公开实施例中针对包括多条子数据的待处理数据进行了拆分,使得每个基本传输单元均只包括一条在业务层面可以作为整体进行处理的一条数据,因此拦截器直接对Source层输出的基本传输单元进行加工处理。并且每个基本传输单元分别进行加工处理,处理后的多个基本传输单元经过Channel传输通道被传送至Sink。
图3所示及相关实施方式中涉及的技术术语和技术特征与图1-图2所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图2所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1-图2所示及相关实施方式的解释的说明,此处不再赘述。
图4示出根据本公开又一实施方式的数据处理方法的流程图,如图4所示,所述数据处理方法包括以下步骤:
在步骤S401中,数据源系统将待处理数据发送至Flume系统;
在步骤S402中,所述Flume系统接收所述待处理数据,并由Source层将所述待处理消息封装成一个第一基本传输单元后,交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据,在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,所述第一拦截器将所述第一基本传输单元拆分成多个第二基本传输单元,并将多个所述第二基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层,所述Sink层将多个所述基本传输单元发送至对应的数据接收系统;
在步骤S403中,所述数据接收系统基于接收到的所述基本传输单元进行数据处理。
上文提及,Flume是一个分布式高可用的海量日志采集、聚合和传输的系统。在大数据时代,Flume作为一个优秀的数据采集工具,广泛应用于多个场景。Flume中主要包括:Source(Flume中用于获取数据的组件)、拦截器(Flume中用于数据加工处理的组件)、Channel(Flume中的存储组件)以及Sink(Flume中的数据传递组件)四部分来完成日志的采集聚合以及传输。
Flume可以作为一个高效的缓存模块来使用,或者作为一个多种输入数据转换为流式数据输出的模块来使用,比如Flume与SparkStreaming对接实现流式数据的实时采集与处理,Flume与Hadoop对接实现数据的分布式存储等。SparkStreaming和Hadoop都属于数据接收方,借助Flume的source层实现多数据源的支持;借助channel层实现多数据源数据的高效缓存;借助Sink层实现不同接收方数据的输出。
传统的Flume采集技术中,Flume的Source层针对接收到的一个待传输数据直接封装成一个基本传输单元后,经过系统自带的拦截器处理后,传输至Sink层,进而交由数据接收方进行处理。
本公开发明人发现,已有的Flume系统中,Source层从数据源获取到的一条待处理数据会被封装成一个基本传输单元,Flume自带的拦截器或者自定义的拦截器会将该基本传输单元作为一个整体进行处理。但是,一些场景下可能会存在该条待处理数据中会包括业务层面上需要进行处理的多个条子数据,数据接收方需要对该多条子数据分别进行业务处理,因此数据接收方也希望Flume拦截器能够分别对该多条子数据进行相应的加工处理。然而,目前的处理方式下,由于Source层将多条子数据封装成了一个基本传输单元,拦截器难以或者无法对一个基本传输单元中的多条子数据分别进行处理。
考虑到上述问题,在该实施方式中,提出另一种数据处理方法,该方法中,Flume系统的从数据源系统接收待处理数据后,由Source层先对待处理数据进行封装,将其封装成一个第一基本传输单元。可以预先在Flume系统中自定义一个第一拦截器,Source层封装好的第一基本传输单元先交由该自定义的第一拦截器进行处理,该第一拦截器判断该第一基本传输单元中的待处理数据是否包括业务层面需要分别进行处理的多条子数据;在所述待处理数据包括业务层面需要分别进行处理的多条子数据时,将该基本传输单元拆分成多个第二基本传输单元,每个第二基本传输单元包括一条子数据,进而再将该多个第二基本传输单元发送至Channel传输通道,Channel通道将该多个第二基本传输单元传送至数据接收方系统对应的Sink层之后,由Sink层交由对应于的数据接收方系统,并由数据接收方系统基于第二基本传输单元进行处理。通过这种方式,可以针对从数据源系统接收到的待处理数据进行封装后,由子定义的拦截器进行拆分处理,将需要在业务层面分别进行处理的多条子数据拆分成多个第二基本传输单元后,由Channel通道传输至Sink层。使得Flume系统在接收到包括多条子数据的待处理数据后,已有的拦截器可以针对第一拦截器处理得到的多个基本传输单元按照正常加工处理方式进行处理,无需对众多已有的拦截器进行改造,节省了成本,提高了数据处理效率。
在本公开一实施方式中,该数据处理方法可适用于在包括数据源系统、Flume系统和数据接收方系统的大数据系统上执行。
在本公开一实施方式中,数据源系统可以是任意一个产生数据的系统,数据源系统所产生的数据可以交由Flume系统进行采集、聚合以及传输,分发到对应的数据接收方系统。在一些实施例中,数据接收方系统可以是任意的数据存储系统。Flume系统中可以包括多个Agent,每个Agent对应一组Source层、Channel层和Sink层,每一个Agent可以对应一个数据源系统,不同数据源系统对应不同的Agent。每个Agent可以对应一个或多个数据接收方系统,从同一个数据源系统接收到的数据被处理后可以传送至一个或多个数据接收方系统。不同Agent对应的数据接收方系统可以不同。
每个Agent中设置一第一拦截器,Source基于接收到的待处理数据封装得到一个第一基本传输单元,该第一基本传输单元包括第一消息头和第一消息体,待处理数据包括在该第一消息体中,并且该第一基本传输单元由Source层最先交由该第一拦截器进行处理,该第一拦截器判断基本传输单元中包括在业务层面需要分别进行处理的多条子数据后,将该基本传输单元拆分成多个第二传输单元。在一些实施例中,该第二传输单元可以包括第二消息头和第二消息体,该第二消息头可以基于该第一消息头以及对应的子数据得到,而第二消息体中则可以包括该对应的子数据。
在一些实施例中,可以预先在第一拦截器中设置判断规则,第一拦截器通过匹配该规则与第一基本传输单元中的第一消息体中该待处理数据来确定该待处理数据中是否包括多条子数据。在一些实施例中,该判断规则可以基于正则表达式实现。
需要说明的是,在业务层面需要分别进行处理的多条子数据是指,该条子数据作为一个整体进行业务处理,而该待处理数据无法作为一个整体进行业务处理,需要拆分成多条子数据后,分别针对多条子数据进行处理。例如,该待处理数据中包括多行日志数据,则该多行日志数据为多条子数据,每一行为一条子数据。
第一拦截器输出的多个第二基本传输单元分别对应待处理数据中的一条子数据,该第二基本传输单元可以交由传输通道Channel传送至Sink层,由Sink层交由对应的数据接收方系统。
通过这种方式,可以丰富Flume系统的应用场景,进而能够扩充Flume系统的功能,并且能够提高某些场景下包括多条子数据的待处理数据的采集、聚合及传输效率。
在本公开一实施方式中,步骤S402中,由Source层将所述待处理消息封装成一个第一基本传输单元后,交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据的步骤,进一步包括以下步骤:
由Source层为所述待处理数据添加第一消息头,并将所述待处理数据作为第一消息体,由所述第一消息头和所述第一消息头形成所述第一基本传输单元;
由第一拦截器基于所述第一消息体判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据。
在本公开一实施方式中,由第一拦截器基于所述第一消息体判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据的步骤,进一步包括以下步骤:
由所述第一拦截器基于所述待处理数据的数据源对应的数据源格式;
通过匹配所述数据源格式与所述待处理数据确定所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据。
该实施方式中,不同数据源系统产生的待处理数据的数据源格式可能不同,而相同数据源系统所产生的待处理数据的数据源格式可以固定,例如可以是固定的一种或多种。基于该固定的一种或多种数据源格式,可以通过匹配的方式确定待处理数据中包括一条还是多条子数据,例如将待处理数据与一种或多种数据源格式进行匹配,在相匹配的情况下,如何存在多条相匹配的数据则认为该待处理数据包括多条需要在业务层分别进行处理的子数据。
在本公开一实施方式中,步骤S402中,在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,所述第一拦截器将所述第一基本传输单元拆分成多个第二基本传输单元的步骤,进一步包括以下步骤:
在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,由所述第一拦截器将所述多条子数据进行拆分;
由所述第一拦截器基于所述第一消息头为拆分后的每一条所述子数据生成第二消息头,将所述子数据作为第二消息体,由每个所述第二消息头和对应的所述第二消息体形成第二基本传输单元。
该实施方式中,第一拦截器可以从第一消息体中提取出待处理数据,进而可以将待处理数据中的多条子数据进行拆分,得到多条子数据;第一拦截器还可以基于第一消息头中的内容生成第二消息头,例如可以将相同的内容直接拷贝过来,而将字符数等不同的数据修改成子数据的属性信息即可得到第二消息头,子数据被放入第二消息体,最终得到第二基本传输单元。也就是说,第一拦截器可以仿照第一基本传输单元,形成第二基本传输单元。
在本公开一实施方式中,步骤S402,即将多个所述第二基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层的步骤之前,所述方法进一步还包括以下步骤:
利用至少一个第二拦截器对所述多个第二基本传输单元分别进行加工处理,获得处理后的多个第二基本传输单元。
该实施方式中,至少一个第二拦截器可以是Flume系统自带的或者自定义的拦截器,用于针对第一拦截器拆分得到的第二基本传输单元进行加工处理,具体加工处理方式可以基于实际需求而不同,在此不做具体限制。第二拦截器可以包括多个,由于本公开实施例中针对包括多条子数据的待处理数据进行了拆分,使得每个第二基本传输单元均只包括一条在业务层面可以作为整体进行处理的一条数据,因此第二拦截器可以分别针对不同的第二基本传输单元进行加工处理,处理后的多个基本传输单元经过Channel传输通道被传送至Sink。
图4所示及相关实施方式中涉及的技术术语和技术特征与图1-图3所示及相关实施方式中提及的技术术语和技术特征相同或相似,对于图4所示及相关实施方式中涉及的技术术语和技术特征的解释和说明可参考上述对于图1-图3所示及相关实施方式的解释的说明,此处不再赘述。
图5示出根据本公开一实施方式的数据处理方法的整体流程图。如图5所示,数据源系统将待数据发送至Flume系统,Flume系统中对待处理数据进行拆分及封装后输出多个基本输出单元,该多个基本传输单元经过Sink层传递至数据接收方系统,数据接收方系统基于接收到的基本传输单元进行处理。
下述为本公开装置实施例,可以用于执行本公开方法实施例。
图6示出根据本公开一实施方式的数据处理装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图6所示,所述数据处理装置包括:
第一获取模块601,被配置为获取从数据源系统接收到的待处理数据;
判断模块602,被配置为判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据;
第一封装模块603,被配置为在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,将所述多条子数据分别封装成多个基本传输单元;
第一发送模块604,被配置为将多个所述基本传输单元发送至传输通道。
图7示出根据本公开另一实施方式的数据处理装置的结构框图,该装置可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图7所示,所述数据处理装置包括:
第二获取模块701,被配置为获取从数据源系统接收到的待处理数据;
第二封装模块702,被配置为将所述待处理消息封装成一个第一基本传输单元,并交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据;
拆分模块703,被配置为在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,将所述第一基本传输单元拆分成多个第二基本传输单元;
第二发送模块704,被配置为将所述多个第二基本传输单元发送至传输通道。
图8示出根据本公开一实施方式的数据处理系统的结构框图,该系统可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。如图8所示,所述数据处理系统包括:数据源系统801、Flume系统802以及数据接收方系统803;
所述数据源系统801将待处理数据发送至Flume系统802;
所述Flume系统802接收所述待处理数据,并判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据,在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由所述Source层将所述多条子数据分别封装成多个基本传输单元,并将多个所述基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层,所述Sink层将多个所述基本传输单元发送至对应的数据接收系统803;
所述数据接收系统803基于接收到的所述基本传输单元进行数据处理。
根据本公开另一实施方式的数据处理系统,该系统可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。所述数据处理系统包括:数据源系统、Flume系统以及数据接收方系统;
所述数据源系统将待处理数据发送至所述Flume系统;
所述Flume系统接收所述待处理数据,并由Source层将所述待处理消息封装成一个第一基本传输单元后,交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据,在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,所述第一拦截器将所述第一基本传输单元拆分成多个第二基本传输单元,并将多个所述第二基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层,所述Sink层将多个所述基本传输单元发送至对应的所述数据接收系统;
所述数据接收系统基于接收到的所述基本传输单元进行数据处理。
上述装置实施例所涉及的技术特征及其对应的解释和说明与上文所描述的方法实施例所涉及的技术特征及其对应的解释和说明相同、相应或相似,对于上述装置实施例所涉及的技术特征及其对应的解释和说明可参考上述方法实施例所涉及的技术特征及其对应的解释和说明,本公开在此不再赘述。
本公开实施例还公开了一种电子设备,所述电子设备包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现上述任一方法步骤。
图9是适于用来实现根据本公开一实施方式的数据处理方法的计算机系统的结构示意图。
如图9所示,计算机系统900包括处理单元901,其可以根据存储在只读存储器(ROM)902中的程序或者从存储部分908加载到随机访问存储器(RAM)903中的程序而执行上述实施方式中的各种处理。在RAM903中,还存储有计算机系统900操作所需的各种程序和数据。处理单元901、ROM902以及RAM903通过总线904彼此相连。输入/输出(I/O)接口905也连接至总线904。
以下部件连接至I/O接口905:包括键盘、鼠标等的输入部分906;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分907;包括硬盘等的存储部分908;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分909。通信部分909经由诸如因特网的网络执行通信处理。驱动器910也根据需要连接至I/O接口905。可拆卸介质911,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器910上,以便于从其上读出的计算机程序根据需要被安装入存储部分908。其中,所述处理单元901可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。
特别地,根据本公开的实施方式,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施方式包括一种计算机程序产品,其包括有形地包含在及其可读介质上的计算机程序,所述计算机程序包含用于执行所述数据传输方法的程序代码。在这样的实施方式中,该计算机程序可以通过通信部分909从网络上被下载和安装,和/或从可拆卸介质911被安装。
本公开实施例还公开了一种计算机程序产品,所述计算机程序产品包括计算机程序/指令,该计算机程序/指令被处理器执行时实现上述任一方法步骤。
附图中的流程图和框图,图示了按照本公开各种实施方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,路程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施方式中所涉及到的单元或模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。
作为另一方面,本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施方式中所述装置中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行描述于本公开实施例的方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (10)
1.一种数据处理方法,包括:
获取从数据源系统接收到的待处理数据;
判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据;
在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,将所述多条子数据分别封装成多个基本传输单元;
将多个所述基本传输单元发送至传输通道。
2.一种数据处理方法,包括:
获取从数据源系统接收到的待处理数据;
将所述待处理消息封装成一个第一基本传输单元,并交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据;
在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,将所述第一基本传输单元拆分成多个第二基本传输单元;
将所述多个第二基本传输单元发送至传输通道。
3.一种数据处理方法,其中,包括:
数据源系统将待处理数据发送至Flume系统;
所述Flume系统接收所述待处理数据,并判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据,在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由所述Source层将所述多条子数据分别封装成多个基本传输单元,并将多个所述基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层,所述Sink层将多个所述基本传输单元发送至对应的数据接收系统;
所述数据接收系统基于接收到的所述基本传输单元进行数据处理。
4.一种数据处理方法,包括:
数据源系统将待处理数据发送至Flume系统;
所述Flume系统接收所述待处理数据,并由Source层将所述待处理消息封装成一个第一基本传输单元后,交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据,在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,所述第一拦截器将所述第一基本传输单元拆分成多个第二基本传输单元,并将多个所述第二基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层,所述Sink层将多个所述基本传输单元发送至对应的数据接收系统;
所述数据接收系统基于接收到的所述基本传输单元进行数据处理。
5.一种数据处理装置,包括:
第一获取模块,被配置为获取从数据源系统接收到的待处理数据;
判断模块,被配置为判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据;
第一封装模块,被配置为在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,将所述多条子数据分别封装成多个基本传输单元;
第一发送模块,被配置为将多个所述基本传输单元发送至传输通道。
6.一种数据处理装置,包括:
第二获取模块,被配置为获取从数据源系统接收到的待处理数据;
第二封装模块,被配置为将所述待处理消息封装成一个第一基本传输单元,并交由第一拦截器进行处理,由所述第一拦截器判断所述第一基本传输单元中是否包括业务层面需要分别进行处理的多条子数据;
拆分模块,被配置为在所述第一基本传输单元中包括业务层面需要分别进行处理的多条子数据时,将所述第一基本传输单元拆分成多个第二基本传输单元;
第二发送模块,被配置为将所述多个第二基本传输单元发送至传输通道。
7.一种数据处理系统,包括数据源系统、Flume系统以及数据接收方系统;其中,
所述数据源系统将待处理数据发送至Flume系统;
所述Flume系统接收所述待处理数据,并判断所述待处理数据中是否包括业务层面需要分别进行处理的多条子数据,在所述待处理数据中包括业务层面需要分别进行处理的多条子数据时,由所述Source层将所述多条子数据分别封装成多个基本传输单元,并将多个所述基本传输单元通过Channel传输通道交由数据接收系统对应的Sink层,所述Sink层将多个所述基本传输单元发送至对应的数据接收系统;
所述数据接收系统基于接收到的所述基本传输单元进行数据处理。
8.一种电子设备,包括存储器和处理器;其中,
所述存储器用于存储一条或多条计算机指令,其中,所述一条或多条计算机指令被所述处理器执行以实现权利要求1-5任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机指令,其中,该计算机指令被处理器执行时实现权利要求1-5任一项所述方法的步骤。
10.一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现权利要求1-5任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210472634.1A CN115048353A (zh) | 2022-04-29 | 2022-04-29 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210472634.1A CN115048353A (zh) | 2022-04-29 | 2022-04-29 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115048353A true CN115048353A (zh) | 2022-09-13 |
Family
ID=83158083
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210472634.1A Pending CN115048353A (zh) | 2022-04-29 | 2022-04-29 | 数据处理方法、装置、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115048353A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192346A (zh) * | 2023-02-23 | 2023-05-30 | 武汉思创云科技有限公司 | 一种具有备用通道的计算机数据传输系统 |
-
2022
- 2022-04-29 CN CN202210472634.1A patent/CN115048353A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116192346A (zh) * | 2023-02-23 | 2023-05-30 | 武汉思创云科技有限公司 | 一种具有备用通道的计算机数据传输系统 |
CN116192346B (zh) * | 2023-02-23 | 2023-10-27 | 武汉思创云科技有限公司 | 一种具有备用通道的计算机数据传输系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10114682B2 (en) | Method and system for operating a data center by reducing an amount of data to be processed | |
CN107818120B (zh) | 基于大数据的数据处理方法和装置 | |
CN111404990B (zh) | 文件传输方法、装置、客户端及存储介质 | |
US20180337971A1 (en) | System and method for efficiently distributing computation in publisher-subscriber networks | |
CN109558397B (zh) | 一种数据处理方法、装置、服务器及计算机存储介质 | |
CN107920094B (zh) | 数据获取方法、装置、服务器及网络设备 | |
CN111625593A (zh) | 基于区块链的数据处理方法、装置、计算机设备 | |
US11188443B2 (en) | Method, apparatus and system for processing log data | |
WO2017092582A1 (zh) | 一种数据处理方法和装置 | |
CN113329139B (zh) | 视频流处理方法、装置及计算机可读存储介质 | |
CN110855638A (zh) | 一种基于云计算的遥感卫星数据解压缩处理系统及方法 | |
CN115048353A (zh) | 数据处理方法、装置、电子设备、存储介质及程序产品 | |
CN110928905A (zh) | 一种数据处理方法和装置 | |
CN116996112B (zh) | 一种遥感卫星数据实时预处理方法 | |
CN109710502A (zh) | 日志传输方法、装置及存储介质 | |
CN108924653B (zh) | 弹幕消息分发方法、装置、设备和存储介质 | |
EP4320540A1 (en) | Privacy secure batch retrieval using private information retrieval and secure multi-party computation | |
JP5410301B2 (ja) | 分散処理システム、分散処理方法、およびプログラム | |
CN114245173B (zh) | 一种图像压缩方法、装置、终端设备和存储介质 | |
CN107204892B (zh) | 电力通信网运行数据处理方法及装置 | |
CN115658347A (zh) | 数据消费方法、装置、电子设备、存储介质及程序产品 | |
CN115664992A (zh) | 网络运行数据的处理方法、装置、电子设备及介质 | |
CN109558744B (zh) | 一种数据处理方法和系统 | |
KR20100120495A (ko) | 무선 네트워크상에서의 콘텐츠 전송 시스템 및 방법 | |
CN113051323A (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 |