一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

数据处理方法、计算机设备和存储介质与流程

2022-03-01 23:09:02 来源:中国专利 TAG:


1.本发明涉及通信技术领域,尤其涉及一种数据处理方法、计算机设备和存储介质。


背景技术:

2.随着计算机信息技术的迅猛发展以及通信网络技术的提升,行业应用系统的规模随之迅速扩大,从而行业应用产生的数据源呈爆炸性增长。为了更好的利用数据信息,需要将相互分离的业务系统的数据源整合在一起,以便后续企业对应数据源进行数据挖掘和数据分析。
3.现有的对文本文件处理方法一般包括两种处理方式,其中一种处理方式是基于文本文件进行流水线式的端到端处理,需要为每类文本文件定制一套处理流程;在大数据量的情况下,数据处理流程和算法都是固定的且不易于扩展或调整,导致数据处理的过程耗时长和效率低。另外一种处理方式是将文本文件导入内存数据库,再通过数据库的函数语法,对数据记录进行清洗转换;这种方式对文本文件有特殊的格式要求,比如编码、分隔符以及文件大小等,而且对数据库有很强的依赖,即要消耗大量的系统资源去加载文本文件,从而导致处理效率低。
4.因此如何提高文本文件的数据处理效率成为亟需解决的问题。


技术实现要素:

5.本发明实施例的主要目的在于提供一种数据处理方法、计算机设备和存储介质,通过根据待处理事件消息对应的事件类型,将待处理事件消息分配给目标数据处理组件,实现由数据处理组件链中的多个数据处理组件相互隔离且并行地处理待处理文件列表,提高了数据处理的效率。
6.第一方面,本发明实施例提供一种数据处理方法,包括:
7.获取待处理事件消息,其中,所述待处理事件消息包括待处理文件列表与事件类型;确定所述待处理事件消息当前对应的数据处理组件链,根据所述待处理事件消息中的事件类型确定所述数据处理组件链中目标数据处理组件;将所述待处理事件消息发送至所述目标数据处理组件,以使所述目标数据处理组件根据所述待处理事件消息处理所述待处理文件列表。
8.第二方面,本发明实施例还提供一种计算机设备,所述计算机设备包括处理器、存储器、存储在所述存储器上并可被所述处理器执行的计算机程序以及用于实现所述处理器和所述存储器之间的连接通信的数据总线,其中所述计算机程序被所述处理器执行时实现如上述的数据处理方法。
9.第三方面,本发明实施例还提供一种存储介质,用于计算机可读存储,其特征在于,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明说明书提供的任一项数据处理方法的步骤。
10.本发明实施例提供一种数据处理方法、计算机设备和存储介质,通过获取待处理
事件消息,可以确定待处理事件消息对应的待处理文件列表与事件类型;通过确定待处理事件消息当前对应的数据处理组件链,可以根据待处理事件消息中的事件类型确定数据处理组件链中目标数据处理组件,实现不同事件类型的待处理事件消息由不同的数据处理组件处理,各数据处理组件之间互不干扰;通过将待处理事件消息发送至目标数据处理组件,可以使得目标数据处理组件根据待处理事件消息处理待处理文件列表,实现由数据处理组件链中的多个数据处理组件相互隔离且并行地处理文件,提高了数据处理的效率。
11.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本发明。
附图说明
12.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
13.图1是本发明实施例提供的一种数据处理系统的结构示意图;
14.图2是本发明实施例提供的另一种计算机设备的结构示意性框图;
15.图3是本发明实施例提供的一种数据处理方法的示意性流程图;
16.图4是本发明实施例提供的一种生成初始事件消息的示意性流程图;
17.图5是本发明实施例提供的一种生成初始事件消息的示意性交互图;
18.图6是本发明实施例提供的一种数据处理组件链的结构示意图;
19.图7是本发明实施例提供的一种获取待处理事件消息的示意性交互图;
20.图8是本发明实施例提供的一种数据处理方法的子步骤的示意性流程图;
21.图9是本发明实施例提供的一种处理待处理文件列表的示意性交互图;
22.图10是本发明实施例提供的另一种数据处理组件链的结构示意图;
23.图11是本发明实施例提供的另一种数据处理组件链的结构示意图;
24.图12是本发明实施例提供的另一种数据处理组件链的结构示意图。
具体实施方式
25.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.附图中所示的流程图仅是示例说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解、组合或部分合并,因此实际执行的顺序有可能根据实际情况改变。
27.应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
28.本发明实施例提供一种数据处理方法、计算机设备和存储介质,其中,该数据处理方法可以应用于服务器中的数据处理系统,通过根据待处理事件消息对应的事件类型,将
待处理事件消息分配给目标数据处理组件,实现由数据处理组件链中的多个数据处理组件相互隔离且并行地处理待处理文件列表,提高了数据处理的效率。
29.其中,服务器可以为独立的服务器,也可以为服务器集群。
30.请参阅图1,图1是本发明实施例提供的一种数据处理系统的结构示意图。如图1所示,数据处理系统可以包括数据源配置模块1001、组件管理模块1002、服务启动模块1003以及事件管理器模块1004。
31.其中,数据源配置模块1001包括多个数据源文件和多个数据源文件对应的数据源配置文件;数据源配置文件包括数据源文件的描述信息。
32.示例性的,数据源配置文件包括属性信息、功能配置信息以及组件链信息。其中,属性信息可以包括但不限于采集路径、文件名表达式、工作路径以及备份路径等参数。
33.在一些实施例中,可以根据属性信息设定筛选条件,通过筛选条件对数据源文件中的文本文件进行筛选,得到符合筛选条件的文本文件。
34.示例性的,功能配置信息可以包括字段映射信息、文件转码信息、文件合并信息、清洗算法、转换算法以及文件载入信息等功能信息。需要说明的是,字段映射信息信息用于定义提取数据时的配置;文件转码信息用于定义文件转码时的配置;文件合并信息用于定义文件合并时的配置;清洗算法和转换算法用于实现文件的清洗转换;文件载入信息用于定义文件载入时的配置。组件链信息可以包括但不限于包括数据处理组件链中的各数据处理组件的名称、功能类型以及连接顺序等信息。
35.在本发明实施例中,组件管理模块1002用于管理数据处理组件链中的数据处理组件,例如,可以增加或删除数据处理组件链中的数据处理组件,也可以调整数据处理组件链中的数据处理组件对应的顺序。其中,数据处理组件用于根据事件管理器分配的待处理事件消息进行数据处理,并构造下级事件消息发送给事件管理器。可以理解的是,数据处理组件是指将数据处理过程分解成不同的步骤,每一个步骤作为一个数据处理组件;不同的数据处理组件之间相互独立,可以并行处理多个事件消息。
36.在本发明实施例中,服务启动模块1003用于启动事件管理模块1004中的事件管理器,扫描读取数据源文件和数据源配置文件;根据数据源配置文件生成筛选条件,并根据筛选条件对数据源文件中的文本文件进行筛选,得到符合筛选条件的文本文件;然后根据文本文件构造初始事件消息发送至事件管理器,以使事件管理器在接收到初始事件消息后,向数据处理组件分配待处理事件消息。
37.在本发明实施例中,事件管理器模块1004包括事件管理器,事件管理器相当于数据处理过程中的管理调度中心,通过将待处理事件消息传递给各个数据处理组件,以使各个数据处理组件根据待处理事件消息处理待处理文件列表并在处理完成后生成下级事件消息。事件管理器还在接收到数据处理组件返回的下级事件消息后,将下级事件消息添加至消息队列中,并从消息队列中获取下一个待处理事件消息发送至数据处理组件链中的下级数据处理组件中处理;从而实现数据处理组件按顺序处理待处理文件列表。
38.请参阅图2,图2是本发明实施例提供的一种计算机设备的结构示意性框图。该计算机设备可以是服务器1000。
39.请参阅图2,服务器1000可以包括处理器11和存储器12,其中,处理器11以及存储器12可以通过总线连接,该总线比如为i2c(inter-integrated circuit)总线等任意适用
的总线。
40.其中,存储器12可以包括非易失性存储介质和内存储器。非易失性存储介质可存储操作系统和计算机程序。该计算机程序包括程序指令,该程序指令被执行时,可使得处理器执行任意一种数据处理方法。
41.其中,处理器11用于提供计算和控制能力,支撑整个计算机设备的运行。
42.在一实施例中,处理器11用于运行存储在存储器12中的计算机程序,并在执行计算机程序时实现如下步骤:
43.获取待处理事件消息,其中,所述待处理事件消息包括待处理文件列表与事件类型;确定所述待处理事件消息当前对应的数据处理组件链,根据所述待处理事件消息中的事件类型确定所述数据处理组件链中目标数据处理组件;将所述待处理事件消息发送至所述目标数据处理组件,以使所述目标数据处理组件根据所述待处理事件消息处理所述待处理文件列表。
44.处理器11可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
45.下面结合附图,对本发明的一些实施例作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
46.请参照图3,图3为本发明实施例提供的一种数据处理方法的示意性流程图。该数据处理方法可应用于服务器中,通过根据待处理事件消息对应的事件类型,将待处理事件消息分配给目标数据处理组件,实现由数据处理组件链中的多个数据处理组件相互隔离且并行地处理待处理文件列表,提高了数据处理的效率。该数据处理方法包括步骤s10至步骤s30。
47.步骤s10、获取待处理事件消息,其中,所述待处理事件消息包括待处理文件列表与事件类型。
48.在本发明实施例中,可以通过事件管理器获取待处理事件消息。其中,事件管理器可以包括消息队列和线程池;消息队列用于保存待处理事件消息;线程池中存在多个线程,事件管理器可以在将待处理事件消息分配至目标数据处理组件时,从线程池中分配线程给目标数据处理组件,以使目标数据处理组件通过线程实现根据待处理事件消息处理待处理文件列表。
49.示例性的,消息队列可以包括但不限于rabbitmq、rocketmq、activemq、kafka、zeromq以及metamq等等。通过将待处理事件消息保存在消息队列中,可以实现数据处理过程的各待处理事件消息之间的隔离。
50.在一些实施例中,在步骤s10中的获取待处理事件消息之前,还可以包括:将初始事件消息添加至消息队列中。
51.在本发明实施例中,可以通过服务启动模块初始化事件管理器,以启动事件管理器;事件管理器在启动后,可以接收服务启动模块发送的初始事件消息。
52.事件管理器在启动后,可以初始化消息队列,还可以初始化线程池并启动一个扫描线程。其中,扫描线程用于实现对消息队列进行扫描,以确定消息队列中是否存在事件消息。
53.示例性的,事件管理器在接收到服务启动模块发送的初始事件消息后,将初始事件消息添加至消息队列中。事件管理器可以从消息队列中获取待处理事件消息。
54.通过将初始事件消息添加至消息队列中,可以在确定消息队列存在事件消息后,依次将消息队列中的事件消息作为待处理事件消息。
55.在一些实施例中,将初始事件消息添加至消息队列中之前,需要生成初始事件消息。在本发明实施例中,初始事件消息是服务启动模块预先生成的,具体的生成过程,可以包括步骤s101至步骤s103。请参阅图4,图4是本发明实施例提供的一种生成初始事件消息的示意性流程图。请参阅图5,图5是本发明实施例提供的一种生成初始事件消息的示意性交互图。
56.步骤s101、获取多个数据源文件以及多个所述数据源文件对应的数据源配置文件,其中,所述数据源配置文件包括属性信息,所述数据源文件包括至少一个文本文件。
57.示例性的,服务启动模块可以获取用户上传的数据源文件和数据源配置文件,并将获取的据源文件和数据源配置文件存储在本地数据库中。
58.需要说明的是,数据源文件是指包括数据源的文件。示例性的,数据源可以包括业务项目的各种信息。例如,在多媒体服务项目中,数据源可以包括但不限于省份信息、城市信息、地区信息以及用户信息等等。其中,数据源通常以文本文件的形式存在。
59.在本发明实施例中,数据源文件可以有多个,例如数据源文件a、数据源文件b以及数据源文件c等等。每个数据源文件包括至少一个文本文件,例如,数据源文件a可以包括a1.txt、a2.txt以及a3.txt等文本文件。
60.示例性的,对于城市信息,在数据源文件中的文本文件city.txt里保存了某省份的所有城市信息,例如,城市编码、名称以及归宿省份。当然,城市信息也可以用多个文本文件保存,例如,保存在文本文件city1.txt、文本文件city2.txt以及文本文件city3.txt。
61.示例性的,数据源配置文件包括属性信息。例如,属性信息可以包括采集路径、文件名表达式、工作路径以及备份路径等参数。
62.步骤s102、根据所述属性信息对多个所述数据源文件中的文本文件进行筛选,将筛选得到的文本文件作为待处理文件列表。
63.在本发明实施例中,属性信息可以作为筛选条件,用于在数据源文件中筛选符合筛选条件的文本文件。示例性的,服务启动模块可以将属性信息中的采集路径作为筛选条件。示例性的,服务启动模块还可以将属性信息中的文件名表达式作为筛选条件。
64.在一些实施方式中,若筛选条件为采集路径a,则在数据源文件a、数据源文件b以及数据源文件c等中筛选出采集路径a对应的文本文件,将筛选得到的文本文件作为待处理文件列表。例如,若筛选得到的文本文件包括a1.txt、b2.txt和c1.txt,则生成的待处理文件列表包括a1.txt、b2.txt和c1.txt三个文本文件。
65.在一些实施方式中,若筛选条件为文件名表达式,则在数据源文件a、数据源文件b以及数据源文件c等中筛选出文件名表达式对应的文本文件,将筛选得到的文本文件作为待处理文件列表。例如,若筛选得到的文本文件包括a2.txt、b1.txt和c2.txt,则生成的待
处理文件列表包括a2.txt、b1.txt和c2.txt三个文本文件。
66.通过获取多个数据源文件以及数据源配置文件,可以将数据源配置文件中的属性信息作为筛选条件,对多个数据源文件中的文本文件进行筛选,可以得到待处理文件列表;进而可以根据待处理文件列表生成初始事件消息。
67.步骤s103、根据所述待处理文件列表生成所述初始事件消息。
68.在本发明实施例中,服务启动模块在确定待处理文件列表后,可以根据待处理文件列表生成用于处理待处理文件列表的初始事件消息,并确定初始事件消息对应的事件类型。
69.在一些实施例中,在步骤s103中根据待处理文件列表对应的初始事件消息之后,还可以包括:将功能配置信息添加至初始事件消息中。
70.示例性的,数据源配置文件还可以包括功能配置信息。其中,功能配置信息用于定义待处理文件列表需要进行功能处理的功能信息。因此,服务启动模块在根据待处理文件列表生成初始事件消息之后,通过将功能配置信息添加在初始事件消息中,以便后续目标数据处理组件可以通过功能配置信息中的功能信息对待处理文件列表进行处理。
71.在一些实施例中,步骤s103中根据待处理文件列表对应的初始事件消息之后,还可以包括:确定组件链信息中的首个数据处理组件对应的功能类型;基于事件类型与功能类型之间预设的对应关系,根据首个数据处理组件对应的功能类型确定初始事件消息对应的事件类型。
72.示例性的,数据源配置文件还可以包括组件链信息。其中,组件链信息用于描述数据处理组件链中的各数据处理组件的名称、功能类型以及连接顺序等信息。功能类型可以包括但不限于数据提取、文件转码、清洗转换、文件合并以及文件载入等功能。
73.示例性的,事件类型可以包括但不限于数据提取事件、文件转码事件、清洗转换事件、文件合并事件以及文件载入事件;其中,事件类型可以分别表示为extractevent、convertevent、transformevent、mergeevent以及loadevent等等。
74.如6所示,图6是本发明实施例提供的一种数据处理组件链的结构示意图。在本发明实施例中,数据处理组件链可以包括但不限于数据提取组件、文件转码组件、清洗转换组件、文件合并组件以及文件载入组件等组件。各数据处理组件可以表示为:extracthandler-》converthandler-》transformhandler-》mergehandler-》loadhandler。
75.在一些实施方式中,确定组件链信息中的首个数据处理组件对应的功能类型。
76.在本发明实施例中,不同功能类型的数据处理组件用于处理不同事件类型的待处理事件消息。示例性的,数据提取组件extracthandler负责处理事件类型为extractevent的待处理事件消息;文件转码组件converteventr负责处理事件类型为convertevent的待处理事件消息。因此,服务启动模块根据待处理文件列表生成初始事件消息后,需要确定初始事件消息对应的事件类型,并以便事件管理器可以根据事件类型将待处理事件消息分配至对应功能类型的数据处理组件中处理。
77.示例性的,数据处理组件对应的功能类型,如表1所示。
78.表1为数据处理组件的功能类型
79.数据处理组件名称功能类型extracthandler数据提取
converthandler文件转码transformhandler清洗转换mergehandler文件合并loadhandler文件载入
80.示例性的,若组件链信息中的首个数据处理组件为数据提取组件extracthandler,则可以确定首个数据处理组件对应的功能类型为数据提取。
81.示例性的,若组件链信息中的首个数据处理组件为数据提取组件transformhandler,则可以确定首个数据处理组件对应的功能类型为清洗转换。
82.在一些实施方式中,基于事件类型与功能类型之间预设的对应关系,根据首个数据处理组件对应的功能类型确定初始事件消息对应的事件类型。
83.需要说明的是,初始事件消息是分配给数据处理组件链中的首个数据处理组件处理,因此初始事件消息对应的事件类型要与数据处理组件链中的首个数据处理组件对应的功能类型匹配。
84.示例性的,可以预先将事件类型与功能类型进行关联并存储在本地数据库中,如表2所示。
85.表2为功能类型与事件类型的对应表
86.功能类型事件类型数据提取extractevent文件转码convertevent清洗转换transformevent文件合并mergeevent文件载入loadevent
87.示例性的,若首个数据处理组件对应的功能类型为数据提取,则可以确定初始事件消息对应的事件类型为extractevent。示例性的,若首个数据处理组件对应的功能类型为清洗转换,则可以确定初始事件消息对应的事件类型为transformevent。
88.通过确定组件链信息中的首个数据处理组件对应的功能类型,可以基于事件类型与功能类型之间预设的对应关系,进而可以根据首个数据处理组件对应的功能类型确定初始事件消息对应的事件类型。
89.在一些实施例中,在步骤s10中的获取待处理事件消息,可以包括:将消息队列中的初始事件消息作为待处理事件消息。
90.示例性的,事件管理器可以定时或实时通过扫描线程对消息队列进行扫描,以将消息队列中的初始事件消息作为待处理事件消息。
91.请参阅图7,图7是本发明实施例提供的一种获取待处理事件消息的示意性交互图。在一些实施例中,通过扫描线程对消息队列进行扫描,当确定消息队列存在事件消息后,依次将消息队列中的事件消息作为待处理事件消息。示例性的,可以根据先入先出原则依次将消息队列中的第一个事件消息作为待处理事件消息。需要说明的是,消息队列中的第一个事件消息为初始事件消息,消息队列中的后续事件消息为数据处理组件在处理完待处理事件消息后生成的下级事件消息。
92.在另一些实施例中,通过扫描线程对消息队列进行扫描,若消息队列不存在事件
消息,则进行保持扫描。
93.通过依次将消息队列中的事件消息作为待处理事件消息,可以使得不同功能类型的数据处理组件分别对待处理文件列表进行处理,实现不同的数据处理组件相互隔离和并行处理才处理文件列表。
94.步骤s20、确定所述待处理事件消息当前对应的数据处理组件链,根据所述待处理事件消息中的事件类型确定所述数据处理组件链中目标数据处理组件。
95.在一些实施例中,确定待处理事件消息当前对应的数据处理组件链,可以包括:根据组件链信息确定待处理事件消息当前对应的数据处理组件链。
96.可以理解的是,由于组件链信息包括数据处理组件链中的各数据处理组件的名称、功能类型以及连接顺序等信息,因此可以根据组件链信息确定待处理事件消息当前对应的数据处理组件链。需要说明的是,在不同的业务项目中,用于处理待处理文件列表的数据处理链可以相同,也可以不同。用户可以根据实际情况,事先配置好数据处理组件链,并在数据源配置文件中定义组件链信息或更新组件链信息。
97.示例性的,可以从数据源配置文件获取组件链信息,进行根据组件链信息确定待处理事件消息当前的数据处理组件链。
98.在一些实施方式中,根据组件链信息中的各数据处理组件的名称、功能类型以及连接顺序,可以确定待处理事件消息当前的数据处理组件链为:extracthandler-》converthandler-》transformhandler-》mergehandler-》loadhandler,如图6所示。需要说明的是,事件管理器依次将消息队列中的事件消息作为待处理事件消息,可以在数据处理组件链中依次处理,实现不同功能类型的数据处理组件并发处理待处理文件列表,提高数据处理的效率。
99.通过确定待处理事件消息当前对应的数据处理组件链,后续可以在数据处理组件链中确定待处理事件消息对应的目标数据处理组件。
100.在一些实施例中,根据待处理事件消息中的事件类型确定数据处理组件链中目标数据处理组件,可以包括:基于事件类型与功能类型之间预设的对应关系,确定待处理事件消息中的事件类型对应的目标功能类型;将目标功能类型对应的数据处理组件,确定为目标数据处理组件。
101.需要说明的是,在本发明实施例中,由于事先将事件类型与功能类型进行关联并存储在本地数据库中,因此可以从本地数据库中获取事件类型与功能类型之间预设的对应关系。
102.示例性的,基于事件类型与功能类型之间预设的对应关系,若待处理事件消息中的事件类型为extractevent,则可以确定事件类型extractevent对应的目标功能类型为“数据提取”;由于目标功能类型“数据提取”对应的数据处理组件为数据处理组件extracthandler,因此可以将数据处理组件extracthandler作为待处理事件消息对应的目标数据处理组件。
103.示例性的,若待处理事件消息中的事件类型为convertevent,则可以确定事件类型convertevent对应的目标功能类型为“文件转码”;由于目标功能类型“文件转码”对应的数据处理组件为数据处理组件converthandler,因此可以将数据处理组件converthandler作为待处理事件消息对应的目标数据处理组件。
104.通过基于事件类型与功能类型之间预设的对应关系,确定待处理事件消息中的事件类型对应的目标功能类型,进而可以将目标功能类型对应的数据处理组件,确定为目标数据处理组件。
105.步骤s30、将所述待处理事件消息发送至所述目标数据处理组件,以使所述目标数据处理组件根据所述待处理事件消息处理所述待处理文件列表。
106.在本发明实施例中,在确定待处理事件消息对应的目标数据处理组件后,事件管理器将待处理事件消息发送至目标数据处理组件。目标数据处理组件在接收到事件管理器下方的待处理事件消息后,可以根据待处理事件消息中的功能配置信息,对待处理文件列表进行功能处理,得到完成处理后的待处理文件列表。
107.通过将待处理事件消息发送至目标数据处理组件,以使目标数据处理组件根据待处理事件消息处理待处理文件列表,实现将数据处理过程分割成由多个的数据处理组件处理,使得数据处理过程更加灵活,还可以更加方便地对数据处理组件进行扩展和调整。
108.在一些实施例中,如图8所示,步骤s30中将待处理事件消息发送至目标数据处理组件之后,还可以包括以下步骤s40和步骤s50。
109.步骤s40、确定线程池中的目标线程,并将所述目标线程发送至所述目标数据处理组件,以使所述目标数据处理组件基于所述目标线程处理所述待处理文件列表。
110.示例性的,线程池可以包括多个线程,事件管理器可以将线程池中的空闲线程作为目标线程。通过将目标线程分配给目标数据处理组件,使得目标数据处理组件基于目标线程处理待处理文件列表,由于不同的数据处理组件都有对应的目标线程,因此可以实现各数据处理组件之间并行处理数据,从而有效提高了数据处理的效率。
111.在一些实施例中,事件管理器还可以根据实际情况调整线程池的大小。示例性的,当消息队列中的事件消息的数量大于预设数据值时,可以增大线程池,使得线程池中有更多可用的线程分配给数据处理组件,从而提高数据处理的效率。
112.请参阅图9,图9是本发明实施例提供的一种在数据处理组件链中处理待处理文件列表的示意性交互图。在本发明实施例中,目标数据处理组件在接收到目标线程后,可以通过目标线程根据待处理事件消息对待处理文件列表进行处理。
113.在一些实施例中,根据待处理事件消息处理待处理文件列表,可以包括:获取待处理事件消息中的功能配置信息,根据功能配置信息中的功能信息在当前的工作目录中完成对待处理文件列表的功能处理。
114.示例性的,功能配置信息中的功能信息可以包括但不限于字段映射信息、文件转码信息、文件合并信息、清洗算法、转换算法以及文件载入信息等等。需要说明的是,不同功能类型的目标数据处理组件在对待处理文件列表进行处理时,需要的功能信息不同。例如,数据提取组件extracthandler需要的功能信息为字段映射信息,通过字段映射信息,可以实现对待处理文件列表进行数据提取。例如,文件转码组件converthandler需要的功能信息为文件转码信息,通过文件转码信息,可以实现对待处理文件列表进行文件转码。
115.例如,当目标数据处理组件为数据提取组件时,根据功能配置信息中的字段映射信息在当前的工作目录中完成对待处理文件列表的数据提取处理。其中,当前的工作目录可以表示为extract目录。
116.例如,当目标数据处理组件为清洗转换组件时,根据功能配置信息中的清洗算法
和转换算法在当前的工作目录中完成对待处理文件列表的清洗转换处理。其中,当前的工作目录可以表示为transform目录。
117.又例如,当目标数据处理组件为文件载入组件时,根据功能配置信息中的文件载入信息在当前的工作目录中完成对待处理文件列表的文件载入处理。
118.通过获取待处理事件消息中的功能配置信息,可以实现根据功能配置信息中的功能信息在当前的工作目录中完成对待处理文件列表的功能处理。
119.步骤s50、接收所述目标数据处理组件完成处理所述待处理文件列表后发送的下级事件消息。
120.在本发明实施例中,目标数据处理组件在完成处理待处理文件列表后,可以生成下级事件消息,并将下级事件消息发送至事件管理器。
121.示例性的,目标数据处理组件可以根据组件链信息确定下一个数据处理组件的功能类型;然后基于事件类型与功能类型之间预设的对应关系,根据下一个数据处理组件对应的功能类型确定下级事件消息对应的事件类型,并将事件类型添加至下级事件消息中。从而事件管理器可以根据下级事件消息对应的事件类型,确定下一个目标数据处理组件。
122.请参阅图8,步骤s50接收目标数据处理组件完成处理待处理文件列表后发送的下级事件消息之后,还可以包括步骤s60至步骤s80。
123.步骤s60、将所述下级事件消息添加至所述消息队列中,并从所述消息队列中获取下一个待处理事件消息。
124.示例性的,事件管理器在接收到下级事件消息后,可以将下级事件消息添加至消息队列中,并基于先入先出原则将消息队列中当前的第一个事件消息作为下一个待处理事件消息。
125.通过接收目标数据处理组件完成处理待处理文件列表后发送的下级事件消息,并从消息队列中获取一个待处理事件消息,可以实现在数据处理组件链中依次处理待处理文件列表。
126.步骤s70、确定所述目标数据处理组件在所述数据处理组件链中的下级数据处理组件。
127.在本发明实施例中,待处理事件消息当前的数据处理组件链,如图6所示。
128.示例性的,若目标数据处理组件为extracthandler,则可以确定下级数据处理组件为converthandler。
129.示例性的,若目标数据处理组件为converthandler,则可以确定下级数据处理组件为transformhandler。
130.步骤s80、将所述待处理文件列表移动至所述下级数据处理组件对应的工作目录中,以使所述下级数据处理组件在接收到所述下一个待处理事件消息后,根据所述下一个待处理事件消息处理所述待处理文件列表。
131.在确定下级数据处理组件后,目标数据处理组件需要将待处理文件列表移动至下级数据处理组件对应的工作目录中。从而可以使得下级数据处理组件在接收到所述下一个待处理事件消息后,可以在本地工作目录中根据下一个待处理事件消息处理待处理文件列表。
132.需要说明的是,将待处理文件列表移动至下级数据处理组件对应的工作目录中,
可以实现在数据处理组件链中依次处理待处理文件列表,由于可以在不同的数据处理组件中并行处理待处理文件列表,因此可以提高数据处理的效率。
133.在一些实施例中,本发明实施例提供的数据处理方法,还可以包括:当获取到用户对数据处理组件链的修改操作时,根据修改操作对数据处理组件链进行修改,并更新数据处理组件链对应的组件链信息。
134.示例性的,修改操作包括新增预设的数据处理组件、删除数据处理组件链中的数据处理组件以及调整数据处理组件链的组件顺序。
135.需要说明的是,用户可以结合业务项目的实际情况,根据文本文件的实际数据处理过程,在系统上对数据处理组件链进行修改。组件管理模块可以根据用户的修改操作,对数据处理组件链进行修改;数据源配置模块在检测到数据处理组件链发生变化后,可以在数据源配置文件中更新组件链信息。
136.示例性的,当文本文件的实际数据处理过程需要增加一个载入gp数据库的步骤时,用户可以在数据处理组件链中增加组件gploadhandler。例如,在数据处理组件链中的文件载入组件loadhandler后增加组件gploadhandler;此时,数据处理组件链可以包括:extracthandler-》converthandler-》transformhandler-》mergehandler-》loadhandler-》gploadhandler,如图10所示,图10是本发明实施例提供的另一种数据处理组件链的结构示意图。
137.示例性的,用户可以在数据处理组件链中删除某个组件。例如,在数据处理组件链中删除组件mergehandler;此时,数据处理组件链可以包括:extracthandler-》converthandler-》transformhandler-》loadhandler,如图11所示,图11是本发明实施例提供的另一种数据处理组件链的结构示意图。
138.示例性的,用户还可以在数据处理组件链中调整组件顺序。例如,在调整组件converthandler和组件transformhandler的顺序;此时,数据处理组件链可以包括:extracthandler-》transformhandler-》converthandler-》mergehandler-》loadhandler,如图12所示,图12是本发明实施例提供的另一种数据处理组件链的结构示意图。
139.通过获取用户对数据处理组件链的修改操作时,根据修改操作对数据处理组件链进行修改,可以实现数据处理过程的灵活编排,同时可以更加方便地对数据处理组件链进行扩展。
140.在一些实施例中,本发明实施例提供的数据处理方法,还可以包括:当获取到用户对数据源配置文件的配置操作时,根据配置操作对数据源配置文件对应的数据源进行配置。
141.其中,配置操作包括新增数据源配置文件、删除数据源配置文件以及修改数据源配置文件。
142.需要说明的是,在本发明实施例中,用户可以通过数据源配置文件,对数据源进行配置。例如,新增数据源、删除已有的数据源或者修改已有的数据源。
143.在本发明实施例中,可以通过数据源模块配置模块接收用户对数据源配置文件的配置操作,根据配置操作对对数据源配置文件对应的数据源进行配置。
144.示例性的,当获取到用户新增数据源配置文件的配置操作时,可以接入新增数据源配置文件对应的数据源。需要说明的是,接入数据源的含义是数据处理系统支持对该类
型的数据源的处理。通过新增数据源配置文件,可以实现在数据处理系统中快速灵活地接入新增数据源配置文件对应的数据源。
145.示例性的,当获取到用户删除数据源配置文件的配置操作时,可以将删除的数据源配置文件对应的数据源删除。
146.通过根据用户对数据源配置文件的配置操作,可以实现对数据源进行新增、删除和修改,从而可以提供更加灵活、便捷的数据源配置方式。
147.上述实施例提供的数据处理方法、计算机设备和存储介质,通过获取多个数据源文件以及数据源配置文件,可以将数据源配置文件中的属性信息作为筛选条件,对多个数据源文件中的文本文件进行筛选,从而可以得到待处理文件列表,进而可以根据待处理文件列表生成初始事件消息;通过将功能配置信息添加在初始事件消息中,以便后续目标数据处理组件可以通过功能配置信息中的功能信息对待处理文件列表进行处理;通过确定组件链信息中的首个数据处理组件对应的功能类型,可以基于事件类型与功能类型之间预设的对应关系,进而可以根据首个数据处理组件对应的功能类型确定初始事件消息对应的事件类型;通过确定待处理事件消息当前对应的数据处理组件链,后续可以在数据处理组件链中确定待处理事件消息对应的目标数据处理组件;通过将待处理事件消息发送至目标数据处理组件,以使目标数据处理组件根据待处理事件消息处理待处理文件列表,实现将数据处理过程分割成由多个的数据处理组件处理,使得数据处理过程更加灵活,还可以更加方便地对数据处理组件进行扩展和调整;通过将目标线程分配给目标数据处理组件,使得目标数据处理组件基于目标线程处理待处理文件列表,由于不同的数据处理组件都有对应的目标线程,因此可以实现各数据处理组件之间并行处理数据,从而有效提高了数据处理的效率;通过获取用户对数据处理组件链的修改操作时,根据修改操作对数据处理组件链进行修改,可以实现数据处理过程的灵活编排,同时可以更加方便地对数据处理组件链进行扩展;通过根据用户对数据源配置文件的配置操作,可以实现对数据源进行新增、删除和修改,从而可以提供更加灵活、便捷的数据源配置方式。
148.本发明实施例还提供一种存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如本发明实施例说明书提供的任一项数据处理方法的步骤。
149.例如,该程序被处理器加载,可以执行如下步骤:
150.获取待处理事件消息,其中,所述待处理事件消息包括待处理文件列表与事件类型;确定所述待处理事件消息当前对应的数据处理组件链,根据所述待处理事件消息中的事件类型确定所述数据处理组件链中目标数据处理组件;将所述待处理事件消息发送至所述目标数据处理组件,以使所述目标数据处理组件根据所述待处理事件消息处理所述待处理文件列表。
151.其中,所述存储介质可以是前述实施例所述的计算机设备的内部存储单元,例如所述计算机设备的硬盘或内存。所述存储介质也可以是所述计算机设备的外部存储设备,例如所述计算机设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。
152.本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施例中,在
以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
153.应当理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
154.上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上所述,仅为本发明的具体实施例,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献