一种数据处理方法、装置、设备和存储介质制造方法及图纸

技术编号:22594758 阅读:118 留言:0更新日期:2019-11-20 11:07
本发明专利技术公开了一种数据处理的方法、装置、设备和存储介质。该方法包括:获取与目标任务对应的数据接入规则,数据接入规则包括任务信息和数据处理规则,任务信息中包括至少一项待处理的数据源;根据任务信息,判断待处理的数据源的类型,并调用与每个数据源的类型分别对应的数据源读取类,读取至少一项数据源;将读取得到的数据写入消息队列中,从消息队列中获取数据,并根据数据处理规则对数据进行处理。使用本发明专利技术实施例的技术方案,当增加新的数据源时,只需添加新的数据源读取类,数据处理部分是通用的,这样就使数据源扩展代价变低,可以提高性能。

A data processing method, device, equipment and storage medium

The invention discloses a method, device, device and storage medium for data processing. The method includes: obtaining the data access rules corresponding to the target task, including task information and data processing rules, including at least one data source to be processed in the task information; judging the type of data source to be processed according to the task information, calling the data source reading class corresponding to each data source type, and reading at least one data source; Write the read data into the message queue, get the data from the message queue, and process the data according to the data processing rules. Using the technical scheme of the embodiment of the invention, when a new data source is added, only a new data source reading class needs to be added, and the data processing part is universal, thus reducing the cost of data source expansion and improving the performance.

【技术实现步骤摘要】
一种数据处理方法、装置、设备和存储介质
本专利技术实施例涉及信息处理技术,尤其涉及一种数据处理方法、装置、设备和存储介质。
技术介绍
目前很多企业需要对大量分散、标准不统一的数据进行整合,以便为企业的决策提供分析依据。ETL(Extract-Transform-Load,数据仓库技术)就是对大量数据进行抽取、清洗、转换,然后加载到数据仓库的技术。ETL是构建数据仓库的重要一环,用户从数据源抽取出所需的数据,经过数据清洗,最终按照预先定义好的数据仓库模型,将数据加载到数据仓库中去。但是目前的开源ETL工具,往往只能支持部分数据源,当出现新的数据源时,就无法进行适用,或是新增数据源时,需要进行较大的改动。这样就使得扩展数据源的成本增加,不利于ETL系统性能的提高。
技术实现思路
本专利技术实施例提供一种数据处理方法、装置、设备和存储介质,以实现数据源通用,当出现新的数据源时,只需添加新的数据源读取类,以降低数据扩展成本,提高性能。第一方面,本专利技术实施例提供了一种数据处理方法,该方法包括:获取与目标任务对应的数据接入规则,所述数据接入规则包括任务信息和数据处理规则,所述任务信息中包括至少一项待处理的数据源;根据所述任务信息,判断所述待处理的数据源的类型,并调用与每个所述数据源的类型分别对应的数据源读取类,读取至少一项数据源;将读取得到的数据写入至消息队列中,从所述消息队列中获取所述数据,并根据所述数据处理规则对所述数据进行处理。第二方面,本专利技术实施例还提供了一种数据处理装置,该装置包括:数据接入规则获取模块,用于获取与目标任务对应的数据接入规则,所述数据接入规则包括任务信息和数据处理规则;数据源读取模块,用于根据所述任务信息,判断数据源的类型,调用与每个所述数据源的类型分别对应的数据源读取类,根据所述数据源读取类读取至少一项数据源;数据处理模块,用于将读取得到的数据写入至消息队列中,从所述消息队列中获取所述数据,并根据所述数据处理规则对所述数据进行处理。本专利技术实施例的技术方案通过实现一种通用的数据处理装置,对不同的数据源,调用对应的数据源读取类,使得整个装置可以适用于多种不同的数据源,并可以进行扩展。解决了现有的开源ETL工具中,只能适用于部分数据源,当出现新的数据源时无法适用或需要进行较大改动的问题,实现了多数据源通用,降低了增加新数据源时的扩展成本,提高了数据处理性能。附图说明图1是本专利技术实施例一中的一种数据处理方法的流程图;图2是本专利技术实施例二中的一种数据处理方法的流程图;图3是本专利技术实施例三中的一种数据处理装置的结构示意图;图4是本专利技术实施例四中的一种数据处理设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的一种数据处理方法的流程图,本实施例可适用于对不同数据源的数据进行通用化的数据处理的情况,例如,企业将零散、杂乱的大量数据进行整合和处理,从而为公司决策提供分析依据的情况,该方法可以由数据处理装置来执行,该装置可以由软件和/或硬件来实现,并一般可以集成在具有数据处理功能的终端设备,或者是服务器中,具体包括如下步骤:步骤110、获取与目标任务对应的数据接入规则,所述数据接入规则包括任务信息和数据处理规则,所述任务信息中包括至少一项待处理的数据源;其中,任务信息可以描述需要接入的数据源的类型,数据源(DataSource)顾名思义,数据的来源,是提供某种所需要数据的器件或原始媒体。在数据源中存储了所有建立数据库连接的信息。就像通过指定文件名称可以在文件系统中找到文件一样,通过提供正确的数据源名称,就可以找到相应的数据库连接。常见的数据源类型有:Oracle、Mysql、Kafka等。步骤120、根据所述任务信息,判断所述待处理的数据源的类型,并调用与每个所述数据源的类型分别对应的数据源读取类,读取至少一项数据源;其中,数据源读取类为数据源读取代码封装而成,实现从数据库中读取特定类型数据的功能,例如,与上述Oracle、Mysql、Kafka对应的数据源读取类分别为:OracleReader、MysqlReader、KafkaReader。步骤130、将读取得到的数据写入至消息队列中,从所述消息队列中获取所述数据,并根据所述数据处理规则对所述数据进行处理。其中,消息队列是在消息的传输过程中保存消息的容器。在高并发环境下,由于来不及同步处理,请求往往会发生堵塞。通过使用消息队列,我们可以异步处理请求,从而缓解系统的压力。常见的消息队列类型有:LinkedBlockingQueue消息队列、LinkedList消息队列、Kafka消息队列等,LinkedBlockingQueue是一个单向链表实现的阻塞队列,该队列按FIFO(先进先出)排序元素,新元素插入到队列的尾部,并且队列获取操作会获得位于队列头部的元素,链接队列的吞吐量通常要高于基于数组的队列。LinkedList是一个双向链表,当数据较很大或者操作很频繁的情况下,添加和删除元素时具有更好的性能。kafka是一个分布式消息队列,具有高性能、持久化、多副本备份、横向扩展能力,生产者往队列里写消息,消费者从队列里取消息进行业务逻辑。以上列举的三种消息队列都可以适用于本步骤的情景中。优选的,适用LinkedBlockingQueue消息队列。这样设置的好处在于,LinkedBlockingQueue消息队列线程安全,适合多线程场景,队列容量相对较大,性能相对较高,写入、读取都能够实现阻塞的效果,自带JDK,不需要额外安装组件。本实施例的技术方案,通过获取数据接入规则,并根据数据接入规则中的任务信息判断待处理数据源的类型,调用与数据源的类型对应的数据源读取类,读取数据源,将读取到的数据写入消息队列中,从消息队列中获取所述数据,根据数据接入规则中的数据处理规则对数据进行处理。解决了现有技术只支持部分数据源,无法实现多数据源通用的问题,达到了新增数据源时,只需增加新的数据源读取类,实现了多数据源通用,降低了增加新数据源时的扩展成本,提高了数据处理性能的效果。在上述各实施例的基础上,可以将数据处理方法集成于网页Web管理组件,以及至少一个数据接入组件中实现;相应的,本专利技术实施例的方法具体可以包括:通过所述Web管理组件获取与所述目标任务对应的所述数据接入规则;通过所述数据接入组件根据所述任务信息,判断所述待处理的数据源的类型,并调用与每个所述数据源的类型分别对应的所述数据源读取类,读取至少一项所述数据源;通过所述数据接入组件将读取得到的所述数据写入至所述消息队列中,从所述消息队列中获取所述数据,并根据所述数据处理规则对本文档来自技高网...

【技术保护点】
1.一种数据处理方法,其特征在于,包括:/n获取与目标任务对应的数据接入规则,所述数据接入规则包括任务信息和数据处理规则,所述任务信息中包括至少一项待处理的数据源;/n根据所述任务信息,判断所述待处理的数据源的类型,并调用与每个所述数据源的类型分别对应的数据源读取类,读取至少一项数据源;/n将读取得到的数据写入至消息队列中,从所述消息队列中获取所述数据,并根据所述数据处理规则对所述数据进行处理。/n

【技术特征摘要】
1.一种数据处理方法,其特征在于,包括:
获取与目标任务对应的数据接入规则,所述数据接入规则包括任务信息和数据处理规则,所述任务信息中包括至少一项待处理的数据源;
根据所述任务信息,判断所述待处理的数据源的类型,并调用与每个所述数据源的类型分别对应的数据源读取类,读取至少一项数据源;
将读取得到的数据写入至消息队列中,从所述消息队列中获取所述数据,并根据所述数据处理规则对所述数据进行处理。


2.根据权利要求1所述的数据处理方法,其特征在于,所述方法集成于网页Web管理组件,以及至少一个数据接入组件中实现,所述方法具体包括:
通过所述Web管理组件获取与所述目标任务对应的所述数据接入规则;
通过所述数据接入组件根据所述任务信息,判断所述待处理的数据源的类型,并调用与每个所述数据源的类型分别对应的所述数据源读取类,读取至少一项所述数据源;
通过所述数据接入组件将读取得到的所述数据写入至所述消息队列中,从所述消息队列中获取所述数据,并根据所述数据处理规则对所述数据进行处理。


3.根据权利要求2所述的数据处理方法,其特征在于,所述数据接入组件为java存档文件jar包;
在通过所述Web管理组件获取与目标任务对应的数据接入规则之后,还包括:
通过所述Web管理组件如果检测到对所述目标任务的启动指令,则设置所述目标任务的处理状态为启动状态;
通过所述Web管理组件向所述数据接入组件发送与所述目标任务对应的jar命令,以控制所述数据接入组件开始执行数据的读取及处理操作,所述jar命令中包括有用于识别所述至少一项数据源的类型的任务信息;
通过所述Web管理组件如果检测到对所述目标任务的停止指令,则设置所述目标任务的处理状态为停止状态;
所述方法还包括:通过所述数据接入组件如果检测到所述目标任务的处理状态为停止状态,则停止所述数据的读取及处理操作。


4.根据权利要求2所述的数据处理方法,其特征在于,通过所述数据接入组件调用与每个所述数据源的类型分别对应的所述数据源读取类,具体包括:
通过所述数据接入组件根据所述数据源的类型,查找是否存在与所述数据源的类型对应的数据源读取类;
通过所述数据接入组件如果确定存在所述数据源读取类,则调用该数据源读取类;
通过所述数据接入组件如果确定不存在所述数据源读取类,则从读取类库中获取与所述数据源的类型对应的所述数据源读取类,添加于所述数据接入组件中,并调用该数据源读取类。


5.根据权利要求2所述的数据处理方法,其特征在于,通过所述数据接入组件读取至少一项所述数据源,具体包括:
通过所述数据接入组件...

【专利技术属性】
技术研发人员:火一莽张立志万月亮
申请(专利权)人:北京锐安科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1