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

一种数据处理方法、装置、系统和计算机可读存储介质与流程

2022-11-19 19:03:52 来源:中国专利 TAG:


1.本技术涉及大数据处理领域中的数据处理技术,尤其涉及一种数据处理方法、装置、系统和计算机可读存储介质。


背景技术:

2.flink是一种面向大数据实时处理的计算框架,用于对数据流进行有状态计算。一般,flink获取数据流后,会根据预先配置的数据处理逻辑对该数据流进行处理。然而,通过flink配置数据处理逻辑后,需要大量繁杂操作和较长时间才能验证出该数据处理逻辑和处理结果的准确性,导致耗时长且准确率差。


技术实现要素:

3.为解决上述技术问题,本技术实施例期望提供一种数据处理方法、装置、系统和计算机可读存储介质,解决了在大数据开发中需要大量繁杂操作和较长时间才能验证出数据处理逻辑和处理结果的准确性,导致耗时长且准确率差的问题。
4.本技术的技术方案是这样实现的:一种数据处理方法,所述方法包括:基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型;所述数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑;将所述目标数据处理模型提交到调试节点进行调试,获得针对每一所述数据处理模块的中间调试结果和针对所述目标数据处理模型的目标调试结果;在所述中间调试结果和所述目标调试结果表征所述目标数据处理模型调试成功的情况下,将所述目标数据处理模型提交到运行节点。
5.上述方案中,所述基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型,包括:基于用户在画布上的操作确定多个数据处理模块;获取用于实现目标功能的针对每一所述数据处理模块的目标配置数据;基于所述数据处理模块和所述目标配置数据,得到所述目标数据处理模型。
6.上述方案中,所述运行节点用于根据所述目标数据处理模型对目标数据进行处理。
7.上述方案中,所述调试节点包括flink节点,所述运行节点包括另一种资源协调者yarn节点。
8.上述方案中,所述获取用于实现目标功能的针对每一所述数据处理模块的目标配置数据,包括:获取针对每一数据处理模块的第一配置数据;接收针对所述第一配置数据的确定指令,并基于所述确定指令从待选配置数据中确定针对所述每一数据处理模块的中间配置数据;
基于所述中间配置数据和所述第一配置数据,得到所述每一数据处理模块的第二配置数据;在确定所述第二配置数据通过语法解析的情况下,确定所述第二配置数据为所述每一数据处理模块的目标配置数据。
9.上述方案中,所述基于用户在画布上的操作确定多个数据处理模块,包括:基于用户在画布上的操作确定表征数据来源的第一数据处理模块、具有数据处理功能的第二数据处理模块以及表征处理后数据的存储位置的第三数据处理模块;其中,所述数据处理模块包括所述第一数据处理模块、所述第二数据处理模块和所述第三数据处理模块;相应的,获取针对每一数据处理模块的第一配置数据,包括:接收针对所述第一数据处理模块的第一子配置数据、针对所述第二数据处理模块第二子配置数据以及针对所述第三数据处理模块第三子配置数据;其中,所述第一配置数据包括所述第一子配置数据、所述第二子配置数据和所述第三子配置数据。
10.上述方案中,所述方法还包括:在确定所述第二配置数据未通过语法解析的情况下,确定所述第二配置数据中的第一异常数据;基于所述第一异常数据,确定第一异常原因和第一优化方案并展示。
11.上述方案中,所述基于所述数据处理模块和所述目标配置数据,得到目标数据处理模型,包括:基于每一所述数据处理模块、所述数据处理模块之间的第一关联关系以及每一所述目标配置数据,得到初始数据处理模型;对所述初始数据处理模型进行完整性校验;在通过完整性校验的情况下,确定所述初始数据处理模型为所述目标数据处理模型。
12.上述方案中,将所述目标数据处理模型提交到调试节点进行调试,获得针对每一所述数据处理模块的中间调试结果和针对所述目标数据处理模型的目标调试结果之前,还包括:对所述目标数据处理模型的可执行性进行校验;相应的,所述将所述目标数据处理模型提交到调试节点进行调试,获得针对每一所述数据处理模块的中间调试结果和针对所述目标数据处理模型的目标调试结果,包括:在确定所述目标数据处理模型可执行的情况下,将所述目标数据处理模型提交到所述调试节点进行分析得到数据处理逻辑;基于所述数据处理逻辑对调试数据进行处理,得到所述中间调试结果和所述目标调试结果。
13.上述方案中,将所述目标数据处理模型提交到所述调试节点进行分析以得到数据处理逻辑,包括:将所述目标数据处理模型提交到所述调试节点进行分析,得到每一所述数据处理模块中的处理算子和输出算子;其中,所述处理算子用于对数据进行处理,所述输出算子用于输出每一所述数据处理模块的处理结果;
确定所述处理算子之间的第二关联关系、所述处理算子与所述输出算子之间的第三关联关系;基于所述处理算子和所述输出算子,确定针对每一所述数据处理模块的第一数据处理逻辑;基于所述处理算子、所述输出算子、所述第二关联关系以及所述第三关联关系,确定针对所述目标数据处理模型的第二数据处理逻辑;其中,所述数据处理逻辑包括所述第一数据处理逻辑和所述第二数据处理逻辑。
14.上述方案中,所述方法还包括:通过所述调试节点,周期性的获取对所述目标数据处理模型进行调试时的第一运行数据、所述中间调试结果和所述目标调试结果;在所述中间调试结果和所述目标调试结果表征所述目标数据处理模型调试成功的情况下,展示用于表征所述目标数据处理模型调试成功的第一消息;在所述中间调试结果和所述目标调试结果表征所述目标数据处理模型调试异常/未在目标时间阈值内获取到所述目标调试结果的情况下,对所述第一运行数据、所述中间调试结果和所述目标调试结果进行分析,确定对所述目标数据处理模块调试时的第二异常数据;基于所述第二异常数据,确定第二异常原因和第二优化方案并展示。
15.上述方案中,所述方法还包括:通过所述运行节点,获取对所述目标数据处理模型进行运行时的第二运行数据;通过监测节点,对所述第二运行数据进行分析,确定所述目标数据处理模型的运行状态和数据处理情况;在所述运行状态为正常的情况下,展示所述运行状态和所述数据处理情况;在所述运行状态为异常的情况下,对所述第二运行数据和所述数据处理情况进行分析,得到针对所述目标数据处理模型运行时的第三异常数据;基于所述第三异常数据,确定第三异常原因和第三优化方案并展示;在所述运行状态异常且数据处理系统满足模型恢复条件的情况下,基于所述目标数据处理模型对所述目标数据进行处理。
16.一种数据处理装置,所述装置包括:获取单元,用于基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型;所述数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑;第一处理单元,用于将所述目标数据处理模型提交到调试节点进行调试,获得针对每一所述数据处理模块的中间调试结果和针对所述目标数据处理模型的目标调试结果;第二处理单元,用于在所述中间调试结果和所述目标调试结果表征所述目标数据处理模型调试成功的情况下,将所述目标数据处理模型提交到运行节点。
17.一种数据处理系统,所述系统包括:处理器、存储器和通信总线;所述通信总线用于实现所述处理器和所述存储器之间的通信连接;所述处理器用于执行所述存储器中的数据处理程序,以实现上述的数据处理方法的步骤。
18.一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,
所述一个或者多个程序可被一个或者多个处理器执行,以实现上述的任一数据处理方法的步骤。
19.一种计算机程序产品,计算机程序产品包含指令,当所述计算机程序产品由计算机执行时,所述指令使计算机执行上述的任一数据处理方法的步骤。
20.本技术的实施例所提供的数据处理方法、装置、系统和计算机可读存储介质,可以基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型,然后将目标数据处理模型提交到调试节点进行调试,获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,接着在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,将目标数据处理模型提交到运行节点;数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑;如此,将目标数据处理模型提交到调试节点进行调试以获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,能够基于针对每个数据处理模型的中间调试结果和针对数据处理模型的目标调试结果快速且精准地验证出目标数据处理模型的准确性,耗时短且准确性高,解决了相关技术中通过flink配置数据处理逻辑后,需要大量繁杂操作和较长时间才能验证出该数据处理逻辑的准确性,导致耗时长且准确性差的问题。
附图说明
21.图1为本技术实施例提供的一种数据处理方法的流程示意图;图2为本技术实施例提供的另一种数据处理方法的流程示意图;图3为本技术实施例提供的又一种数据处理方法的流程示意图;图4为本技术实施例提供的一种数据处理系统中的画布的示意图;图5为本技术实施例提供的一种数据处理方法中的对第一配置数据进行补齐的示意图;图6为本技术实施例提供的一种数据处理方法中的对第二配置数据进行规划化的示意图;图7为本技术实施例提供的一种数据处理方法中的通过语法解析的示意图;图8为本技术实施例提供的一种数据处理系统中的初始数据处理模型的结构示意图;图9为本技术实施例提供的一种数据处理方法中的一种调试结果的示意图;图10为本技术实施例提供的一种数据处理方法中的另一种调试结果的示意图;图11为本技术实施例提供的一种数据处理方法中的未通过语法解析情况的示意图;图12为本技术实施例提供的一种数据处理方法中的又一种调试结果的示意图;图13为本技术实施例提供的另一种数据处理方法中的一种调试结果的示意图;图14为本技术实施例提供的一种数据处理系统中的运维界面的示意图;图15为本技术实施例提供的一种数据处理系统中的针对数据处理模型的详情界面的示意图;图16为本技术实施例提供的一种数据处理系统中的数据处理情况展示界面的示意图;
图17为本技术实施例提供的一种数据处理方法中的异常日志的示意图;图18为本技术实施例提供的一种数据处理系统中的多个模板的示意图;图19为本技术实施例提供的一种数据处理系统中的无时序关联模板的示意图;图20为本技术实施例提供的一种数据处理系统中的统计模板的示意图;图21为本技术实施例提供的一种数据处理系统中的时序关联模板的示意图;图22为本技术实施例提供的一种数据处理系统中的重复模板的示意图;图23为本技术另一实施例提供的一种数据处理方法的流程示意图;图24为本技术另一实施例提供的一种数据处理方法中对目标数据处理模型进行调试的流程示意图;图25为本技术实施例提供的一种数据处理装置的结构示意图;图26为本技术实施例提供的一种数据处理系统的结构示意图。
具体实施方式
22.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
23.应理解,说明书通篇中提到的“本技术实施例”或“前述实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“本技术实施例中”或“在前述实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
24.在未做特殊说明的情况下,电子设备执行本技术实施例中的任一步骤,可以是电子设备的处理器执行该步骤。还值得注意的是,本技术实施例并不限定电子设备执行下述步骤的先后顺序。另外,不同实施例中对数据进行处理所采用的方式可以是相同的方法或不同的方法。还需说明的是,本技术实施例中的任一步骤是电子设备可以独立执行的,即电子设备执行下述实施例中的任一步骤时,可以不依赖于其它步骤的执行。
25.应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
26.本技术实施例提供一种数据处理方法,该方法可以应用于数据处理系统中,参照图1所示,该方法包括以下步骤:步骤101、基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型。
27.其中,数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑。
28.在本技术实施例中,数据处理系统可以由主节点、调试节点和运行节点构成;其中,主节点主要用于构建目标数据处理模型;调试节点用于对数据处理模型进行调试,以确定目标数据处理模块的正确性;运行节点用于基于数据处理模型对数据进行处理;每一节点均可以部署在一个或多个服务器上。其中,主节点上可以运行有前端界面和数据工厂;前端界面是用于与用户进行操作交互的界面;在一种可行的方式中,前端界面可以包括用于大数据开发的画布,画布包括多个数据处理模块,多个数据处理模块用于构建数据处理模型,每一数据处理模块均具有用于处理数据以实现对应功能的数据处理逻辑;数据处理模
型表征处理数据时的整体数据处理逻辑,用于实现目标功能;如此,设计前端界面是为了通过可视化的模块来方便用户操作,使用户在对底层代码不熟悉的情况下,也能够配置自己所需的数据处理逻辑,以实现对应的功能;此外,用户通过画布还可以输入针对每个数据处理模块的配置数据,以配置数据处理规则,从而基于数据处理规则生成数据处理逻辑,进一步实现对应的功能。数据工厂用于基于数据处理模块和针对每个数据处理模块的配置数据生成数据处理模型,换句话说,数据工厂是一种对数据进行加工的进程,也即是数据处理系统中的后台进程。
29.需要说明的是,调试节点和运行节点可以相同,也可以不同,本技术实施例对此不作限定。优选地,调试节点具体可以为flink节点,运行节点具体可以为另一种资源协调者(yet another resource negotiator,yarn)节点(yarn可能被部署在本地,或者在非本地环境中,如云端)。现有技术中会将对目标处理处理模型的调试和运行均放在本地或非本地的yarn节点上处理,将目标数据处理模型提交至yarn节点上进行调试时会产生明显的网络时延、任务启动慢,且需要一定的调度进程才能开始调试;而本技术实施例可以将对目标处理处理模型的调试和运行分别放在不同的节点上处理,具体地,通过本地的flink节点(即调试节点)对目标数据处理模型进行调试,调试成功再提交到yarn节点(即运行节点)使用目标数据处理模型对数据。如此在本地的节点上对目标数据处理模型进行调试,任务启动速度快,相比于现有技术将任务统一提交到yarn节点调试和运行减少了不必要的流程和网络传输开销,网络时延极低,调试速度更快。同时将对目标处理处理模型的调试和运行分别放在不同的节点上处理,能够使对目标数据处理模型的调试和运行互不干扰,保证了业务环境的安全性和可靠性。
30.在一种可实现的方式中,用户可以对画布上的多个数据处理模块进行拖拽、配置、修改等操作,从而构建出目标数据处理模型。
31.步骤102、将目标数据处理模型提交到调试节点进行调试,获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果。
32.在本技术实施例中,中间调试结果是每一数据处理模块在调试过程中对数据处理后的结果;在一种可行的方式中,针对每一数据处理模块的中间调试结果可以是通过调试数据对整个目标数据处理模型进行调试的过程中每个数据处理模块输出的结果,也可以是通过调试数据单独对每个数据处理模块进行调试后输出的结果,本技术实施例对此不作限定。目标调试结果是通过调试数据对整个目标数据处理模型进行调试后最终输出的结果。
33.在一种可实现的方式中,通过主节点构建好目标数据处理模型后,可以将目标数据处理模型提交到调试节点进行调试,确定目标数据处理模块的准确性。
34.步骤103、在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,将目标数据处理模型提交到运行节点。
35.其中,运行节点用于基于数据处理模型对数据进行处理。
36.在本技术实施例中,根据针对每个数据处理模型的中间调试结果和针对所述数据处理模型的目标调试结果可以确定目标数据处理模型是否调试成功;如果目标数据处理模型调试成功了,那么就可以基于目标数据处理模型对目标数据进行处理了,以实现目标功能。
37.在本技术实施例中,由于可以获取到针对每个数据处理模型的中间调试结果和针
对数据处理模型的目标调试结果,因此,在目标数据处理模型调试失败的情况下,就可以根据中间调试结果和目标调试结果对目标数据处理模型进行分析,能够更精准地确定出目标数据处理模型异常的地方是哪个数据处理模块,从而能够精准地对出现异常的数据处理模块进行分析得到异常原因,实现了更精准地异常定位,也降低了排查异常的难度。其次,由于是通过针对每个数据处理模型的中间调试结果和针对所述数据处理模型的目标调试结果来确定目标数据处理模型调试成功的,因此更进一步提高了目标数据处理模型调试成功的准确性。
38.本技术实施例所提供的数据处理方法,将目标数据处理模型提交到调试节点进行调试以获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,能够基于针对每个数据处理模型的中间调试结果和针对数据处理模型的目标调试结果快速且精准地验证出目标数据处理模型的准确性,耗时短且准确性高,解决了相关技术中通过flink配置数据处理逻辑后,需要大量操作(例如在代码里面打断点或者分析输出日志等繁杂操作)和较长时间才能验证出该数据处理逻辑的准确性,导致耗时长且准确性差的问题。
39.基于前述实施例,本技术实施例提供一种数据处理方法,参照图2所示,该方法包括以下步骤:步骤201、数据处理系统基于用户对画布上的操作确定多个数据处理模块。
40.其中,数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑。
41.在一种可实现的方式中,用户可以通过对画布上展示的多个数据处理模块进行拖拽、修改、配置等操作,从而确定出当前所需的多个数据处理模块。
42.步骤202、数据处理系统获取用于实现目标功能的针对数据处理模块的目标配置数据。
43.在本技术实施例中,目标功能是用户需要实现的功能,在一种可行的方式中,目标功能可以为获取网络数据中的异常数据,目标功能还可以为从事件流中获取满足预设事件规则的事件,当然还可以根据实际业务需求确定目标功能,本技术实施例对此不作限定。目标配置数据为每个数据处理模块的配置数据,配置数据用于配置数据处理规则,以细化数据处理逻辑;在一种可行的方式中,用户可以通过画布输入针对每个数据处理模块的目标配置数据。
44.其中,步骤202可以通过以下步骤来实现:步骤202a、数据处理系统获取针对每一数据处理模块的第一配置数据。
45.在本技术实施例中,第一配置数据是每个数据处理模块的配置数据;在一种可行的方式中,用户可以通过画布将针对每一数据处理模块的第一配置数据输入至数据处理系统,如此就可以获取到针对每一数据处理模块的第一配置数据;其中,第一配置数据可以是用户通过画布的结构化查询语言(structured query language,sql)编辑框输入的sql语句。
46.步骤202b、数据处理系统接收针对第一配置数据的确定指令,并基于确定指令从待选配置数据中确定针对每一数据处理模块的中间配置数据。
47.在本技术实施例中,确定指令是针对第一配置数据的确定指令,确认指令用于确定针对每一数据处理模块的中间配置数据。待选配置数据是与第一配置数据相关的配置数
据;待选配置数据可以是与第一配置数据相关的字段或关键词等信息。中间配置数据是基于确认指令从待选配置数据中确定出的配置数据,中间配置数据可以是第一配置数据相关的关键词、字段等信息。在一种可行的方式中,在确定数据处理模块后,数据处理系统可以基于每一数据处理模块确定每一数据处理模块对应的关键词和字段,将每一数据处理模块对应的关键词和字段作为每一数据处理模块的待选配置数据,如此在获取到针对每一数据处理模块的第一配置数据后,就可以将对应的待选配置数据显示在画布上供用户选择,用户点击自己需要的待选配置数据,以发送确定指令至数据处理系统;数据处理系统接收到确认指令后,将用户点击的待选配置数据确定为每一数据处理模型的中间配置数据。
48.步骤203c、数据处理系统基于中间配置数据和第一配置数据,得到每一数据处理模块的第二配置数据。
49.在本技术实施例中,第二配置数据是基于中间配置数据和第一配置数据得到的配置数据,第二配置数据可以是基于sql语句和与sql语句相关的关键词、字段等信息补齐后的sql语句,也就是说,第一配置数据是不完整的sql语句,第二配置数据是基于与不完整的sql语句相关的关键词或字段等信息将不完整的sql语句补齐后的sql语句。基于中间配置数据和第一配置数据确定第二配置数据,是为了在用户输入第一配置数据后,自动补齐与第一配置数据相关的字段、关键词等信息,提高用户操作的简便性。
50.步骤202d、在确定第二配置数据通过语法解析的情况下,数据处理系统确定第二配置数据为每一数据处理模块的目标配置数据。
51.在本技术实施例中,可以通过数据工厂对每一数据处理模块的第二配置数据进行语法解析,如果某一数据处理模块的第二配置数据通过了语法解析,那么就将这个数据处理模块的第二配置数据确定为目标配置数据。
52.在一种可行的方式中,数据工厂可以基于动态数据管理框架(calcite)对第二配置数据进行语法解析;具体地,通过calcite将第二配置数据(即补齐后的sql语句)转换为结构化查询语言解析对象(structured query language parser,sql parser),即语法解析对象,然后调用parsestmtlist方法将补齐后的sql语句转换为抽象语法树结构,接着基于抽象语法树将补齐后的sql语句切分为一个个的节点,最后组成一个结构化查询语言节点(structured query language node,sql node)列表;如果步骤都能正常运行则通过语法解析。
53.步骤203、数据处理系统基于数据处理模块和目标配置数据,得到目标数据处理模型。
54.在本技术实施例中,目标数据处理模型是基于数据处理模块和目标配置数据得到的表征处理数据时的整体数据处理逻辑,也即基于目标数据处理模型对数据进行处理,就可以实现目标功能。
55.步骤204、数据处理系统基于每一数据处理模块、数据处理模块之间的第一关联关系以及每一目标配置数据,得到初始数据处理模型。
56.在本技术实施例中,实现目标功能的多个数据处理模块之间具有一定的关联关系,而第一关联关系就是每一数据处理模块之间的关联关系。初始数据处理模型是基于每一数据处理模块、数据处理模块之间的第一关联关系以及每一目标配置数据得到的数据处理模型。
57.步骤205、数据处理系统对初始数据处理模型进行完整性校验。
58.在本技术实施例中,在得到初始数据处理模型后,需要对初始数据处理模型进行完整性校验,以确定初始数据处理模型是否存在缺失等异常;在一种可行的方式中,可以通过数据工厂后台程序对初始数据处理模型进行完整性校验,以确定初始数据处理模型不缺对数据进行处理时的必要数据。
59.步骤206、在通过完整性校验的情况下,数据处理系统确定初始数据处理模型为目标数据处理模型。
60.在本技术实施例中,如果初始数据处理模型通过了完整性校验,那么就将初始数据处理模型确定为目标数据处理模型;如果初始数据处理模型未通过完整性校验,则可以将表征初始数据处理模型未通过完整性校验的提示消息显示在画布上,以使用户获知这一消息;当然还可以将初始数据处理模型未通过完整性校验的位置、原因以及解决方案显示在画布上,供用户参考。
61.步骤207、数据处理系统对目标数据处理模型的可执行性进行校验。
62.在本技术实施例中,对目标数据处理模型的可执行性进行校验,也即确定当前调试目标数据处理模型的调试节点是否可用以及调试节点能够满足调试目标数据处理模型所需的内存和执行条件等。
63.在本技术其他实施例中,用户可以通过画布输入调试数据并点击调试按键,以发送调试指令,指示数据处理系统对目标数据模型进行处理;数据处理系统在接收到调试指令后,可以创建新的调试主题或调试表或调试索引等调试标识,以标识当前调试任务;在创建调试标识后,再检测调试节点是否可用。
64.步骤208、在确定目标数据处理模型可执行的情况下,数据处理系统将目标数据处理模型提交到调试节点进行分析得到数据处理逻辑。
65.在本技术其他实施例中,确定目标数据处理模型可执行,也即当前调试目标数据处理模型的调试节点是否能够正常对目标数据处理模型进行调试。目标数据处理模型是基于实现目标功能的数据处理模块、数据处理模块之间的关联关系以及目标配置数据得到的,其中隐含着数据处理逻辑,因此对数据处理模型分析后可以得到数据处理逻辑。
66.步骤209、数据处理系统基于数据处理逻辑对调试数据进行处理,得到中间调试结果和目标调试结果。
67.在本技术实施例中,调试数据用于对目标数据处理模型进行调试,以确定目标数据处理模型是否有异常。在一种可行的方式中,用户可以通过画布输入调试数据,或者,还可以从数据处理模块中确定数据来源、从该数据来源中确定调试数据,如此就可以基于数据处理逻辑对调试数据进行处理,获取中间调试结果和目标调试结果,从而确定目标数据处理模型的准确性。
68.步骤210、在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,数据处理系统将目标数据处理模型提交到运行节点。
69.其中,运行节点用于基于数据处理模型对数据进行处理。
70.需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
71.本技术实施例所提供的数据处理方法,将目标数据处理模型提交到调试节点进行
调试以获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,能够基于针对每个数据处理模型的中间调试结果和针对数据处理模型的目标调试结果快速且精准地验证出目标数据处理模型的准确性,耗时短且准确性高,解决了相关技术中通过flink配置数据处理逻辑后,需要大量操作和较长时间才能验证出该数据处理逻辑的准确性,导致耗时长且准确性差的问题。
72.基于前述实施例,本技术实施例提供一种数据处理方法,参照图3所示,该方法包括以下步骤:步骤301、数据处理系统基于用户对画布上的操作确定表征数据来源的第一数据处理模块、具有数据处理功能的第二数据处理模块以及表征处理后数据的存储位置的第三数据处理模块。
73.其中,数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑;数据处理系统中多个数据处理模块包括第一数据处理模块、第二数据处理模块和第三数据处理模块。
74.在本技术实施例中,第一数据处理模块用于配置数据来源;第二数据处理模块用于配置数据处理规则以及触发条件等信息;第三数据处理模块用于确定处理后的数据的存储地。
75.在一种可行的方式中,如图4所示,数据处理系统中包括的画布可以包括数据来源、数据目的地、关系符和条件以及预先构建好的多个模板;其中,数据来源为第一数据处理模块,关系符和条件为第二数据处理模块,数据目的地为第三数据处理模块;可以预先将kafka、分布式文件存储系统(hadoop distributed system,hdfs)等多个数据库设置在画布的数据来源中,如此用户就可以从现有的数据库中设置数据来源,方便了用户操作;可以预先将and、or和not等关系符以及满足的条件是单条件还是多条件等设置在画布上,供用户选择,方便用户;可以预先构建好普通模板、统计模板、时序关联模板、无时序关联模板以及重复时间模板等多个模板,以便于用户直接基于现有的模板构建自己所需的模型。此外,该画布还可以包括调试按键、发布按键、前往运维按键、撤回按键、重读键入以及存储按键;并且,还可以通过画布右下方的全屏显示按键、放大按键、缩小按键、1:1还原按键、下载按键以及护眼按键对画布进行操作;还可以将更新时间显示在画布上,便于用户获知配置目标数据处理模型的更新时间。用户通过对画布进行操作得到的多个数据处理模块可以如图4所示,第一数据处理模块(即数据来源)可以为kafka、且第一数据处理模块的主题为flinky2;第二数据处理模块可以为flinksql;第三数据处理模块可以由两个数据目的地构成,即数据目的地kafka以及数据目的地dipper。
76.步骤302、数据处理系统接收针对第一数据处理模块的第一子配置数据、针对第二数据处理模块第二子配置数据以及针对第三数据处理模块第三子配置数据。
77.其中,第一配置数据包括第一子配置数据、第二子配置数据和第三子配置数据。
78.在本技术实施例中,第一子配置数据是第一数据处理模块的配置数据,第一子配置数据可以包括组件名称以及组件描述等组件基本信息;第二子配置数是第二数据处理模块的配置数据,第二子配置数据可以包括数据来源、别名、时间窗口、时间字段以及延迟容忍时间;第三子配置数据是第三数据处理模块的配置数据;第三子配置数据可以与第一子配置数据中包括的信息相同,也可以不同,本技术实施例对此不作限定。在一种可行的方式
中,如图5所示,在确定第一数据处理模块、第二数据处理模块以及第三数据处理模块后,用户可以对每一数据处理模型中的信息进行配置,可以通过点击每一数据处理模块进入每一数据处理模块对应的配置界面,通过图5所示的画布可以对第一数据处理模块中数据来源的别名、时间窗口、时间字段以及延迟容忍时间进行配置,还可以通过数据处理规则,设置针对数据来源的规则,如此也就获取到针对数据来源的第一配置数据。
79.步骤303、数据处理系统接收针对第一子配置数据、第二子配置数据和第三子配置数据的确定指令,并分别基于确定指令从第一待选配置数据、第二待选配置数据和第三待选配置数据中确定针对第一数据处理模块的第一中间配置数据、针对第二数据处理模块的第二中间配置数据和针对第三数据处理模块的第三中间配置数据。
80.其中,待选配置数据包括第一待选配置数据、第二待选配置数据和第三待选配置数据;中间配置数据包括第一中间配置数据、第二中间配置数据和第三中间配置数据。
81.在本技术实施例中,第一待选配置数据是与第一子配置数据相关的配置数据,第二待选配置数据是与第二子配置数据相关的配置数据,第三待选配置数据是与第三中间配置数据相关的配置数据;第一中间配置数据可以为与第一数据处理模块相关的关键词或字段等信息,第二中间配置数据可以为与第二数据处理模块相关的关键词或字段等信息,第三中间配置数据可以为与第三数据处理模块相关的关键词或字段等信息。
82.步骤304、数据处理系统基于第一中间配置数据和第一子配置数据确定第一数据处理模块的第四子配置数据,基于第二中间配置数据和第二子配置数据确定第二数据处理模块的第五子配置数据,并基于第三中间配置数据和第三子配置数据确定第三数据处理模块的第六子配置数据。
83.其中,第二配置数据包括第四子配置数据、第五子配置数据和第六子配置数据。
84.在本技术实施例中,第四子配置数据为基于第一中间配置数据和第一子配置数据确定的配置数据,也即是针对第一数据处理模块补齐后的配置数据;第五子配置数据为基于第二中间配置数据和第二子配置数据确定的配置数据,也即是针对第二数据处理模块补齐后的配置数据;第六子配置数据为基于第三中间配置数据和第三子配置数据确定的配置数据。
85.在一种可行的方式中,如图5所示,用户通过画布设置数据处理规则时,会将与输入的第一子配置数据相关的关键词或字段等信息(即第一待选配置数据)显示出来,如图5中字段推断补齐处箭头所示的区域中所示的@a.intsy99、@a.operationl、@a.time1,供用户选择,用户点击第一待选配置数据后,就会自动基于点击的第一待选配置数据补齐第一子配置数据得到第四子配置数据,以实现字段推断补齐的功能,方便用户操作,节省操作时间。对第二数据处理模块和第三数据处理模块的配置数据进行配置的实现过程与对第一数据处理模块进行配置的实现过程类似,本技术实施例对此不作限定。
86.在本技术其他实施例中,在获取第二配置数据后,也即用户在画布上编辑完数据处理规则后,还可以通过画布上设置的用于规范化第二配置数据的按键,发送规范化指令至数据处理系统;数据处理系统接收到规范化指令之后,可以通过数据工厂实现对第二配置数据的规范化,方便后续操作;图6中的(a)示出的和图6中的(b)示出的数据处理规则对应的区域均用于用户输入第二配置数据,图6中的(a)的画布的数据处理规则处设置有规范化按键,通过规范化案件可以将图6中的(a)所示的是规范化前的第二配置数据转换为图6
中的(b)所示的是规范化后的第二配置数据。
87.步骤305、在确定第四子配置数据、第五子配置数据以及第六子配置数据通过语法解析的情况下,数据处理系统依次确定第四子配置数据、第五子配置数据以及第六子配置数据为第一数据处理模块、第二数据处理模块以及第三数据处理模块的目标配置数据。
88.在本技术实施例中,用户通过画布输入数据处理规则(即第二配置数据)后,可以通过画布上设置的用于对第二配置数据进行语法解析的按键发送解析指令至数据处理系统;数据处理系统接收到解析指令后,通过数据工厂对第二配置数据进行语法解析,以获取语法检测结果,并且会将语法检测结果显示在画布上,供用户查看。如图7所示,图7所示的画布的数据处理规则处设置有语法解析按键,在图7所示的画布的数据处理规则对应的区域内写好当前数据处理模块的配置数据后,可以通过语法解析按键对写好的配置数据进行语法解析,然后将语法检测结果(即未发现问题)显示在数据处理规则下方的信息区域,供用户查阅。
89.步骤306、数据处理系统基于每一数据处理模块、数据处理模块之间的第一关联关系以及每一目标配置数据,得到初始数据处理模型。
90.在本技术实施例中,如图8所示,第一数据处理模块包括数据来源kafka1和数据来源kafka2,第二数据处理模块为flinksql,第三数据处理模块包括数据目的地kafka,每一数据处理模块之间的连接线为每一数据处理模块之间的第一关联关系;其中,数据来源kafka1和数据来源kafka2表征需要对kafka1和kafka2中的数据进行处理,flinksql用于将数据来源kafka1和数据来源kafka2中的数据进行聚合,数据目的地kafka为处理后数据的存储地,如此基于图8所示的多个数据处理模块所构建的初始数据处理模型的目的是为了通过flinksql实现对两条事件流进行聚合后写入kafka。
91.步骤307、数据处理系统对初始数据处理模型进行完整性校验。
92.步骤308、在通过完整性校验的情况下,数据处理系统确定初始数据处理模型为目标数据处理模型。
93.步骤309、数据处理系统对目标数据处理模型的可执行性进行校验。
94.步骤310、在确定目标数据处理模型可执行的情况下,数据处理系统将目标数据处理模块提交到调试节点进行分析,得到每一数据处理模块中的处理算子和输出算子。
95.其中,处理算子用于对数据进行处理,输出算子用于输出每一数据处理模块的处理结果。
96.在本技术实施例中,数据处理系统在获取到目标数据处理模型后,可以以json的形式存储目标数据处理模型,并将得到存储有目标数据处理模型的java档案文件(java archive file,jar包)和javascript对象简谱(javascript object notation,json)文件提交至调试节点,由调试节点对目标数据处理模型进行调试。每一数据处理模块都需要对数据进行处理,每一数据处理模块正是基于处理算子对数据进行处理的;输出算子是为了获取每一数据处理模块的处理结果,方便排查数据处理模块中的异常。在一种可行的方式中,会对除了数据来源和目的算子之外的每个算子再连上一个输出算子,以获取中间处理算子的输出结果。目的算子是用于输出对数据处理完成后的最终结果,中间处理算子是指在对数据处理的过程中的处理算子。
97.步骤311、数据处理系统确定处理算子之间的第二关联关系、处理算子与输出算子
之间的第三关联关系。
98.在本技术实施例中,第二关联关系是处理算子之间的关联关系,第三关联关系是处理算子与输出算子之间的关联关系。对数据进行处理时的各个操作之间是有一定依赖关系的,因此,需要确定处理算子之间的第二关联关系、处理算子与输出算子之间的第三关联关系,以得到对数据进行处理时的逻辑。
99.步骤312、数据处理系统基于处理算子和输出算子,确定针对每一数据处理模块的第一数据处理逻辑。
100.在本技术实施例中,第一数据处理逻辑是每一数据处理模块的数据处理逻辑。可以基于每一数据处理模块的处理算子和输出算子,得到针对每一数据处理模块的数据处理逻辑,实现获取每一数据处理模型的输出结果。
101.步骤313、数据处理系统基于处理算子、输出算子、第二关联关系以及第三关联关系,确定针对目标数据处理模型的第二数据处理逻辑。
102.其中,数据处理逻辑包括第一数据处理逻辑和第二数据处理逻辑。
103.在本技术实施例中,第二数据处理逻辑是整个目标数据处理模型的数据处理逻辑。基于每一数据处理模块的输出算子和处理算子、处理算子之间的第二关联关系和输出算子之间的第三关联关系得到整个目标数据处理模型的数据处理逻辑。在一种可行的方式中,在获取到针对目标数据处理模型的jar包与json文件后,可以将jar包与json文件进行解析,得到一张或多张有向无环图(directed acyclic graph,dag),通过dag来表征数据处理逻辑。
104.步骤314、数据处理系统基于数据处理逻辑对调试数据进行处理,得到中间调试结果和目标调试结果。
105.在本技术实施例中,数据处理逻辑包括针对每个数据处理模块的第一数据处理逻辑和针对目标数据处理模块的第二数据处理逻辑,通过第一数据处理逻辑能够获取到每一数据处理模块的输出结果,也即中间调试结果;通过第二数据处理逻辑能够获取到目标数据处理模型的最终输出结果,也即目标调试结果。
106.如图9所示,对于一种示例性的目标数据处理模型的调试,用户通过画布可以实时查看到中间调试结果、调试进度以及目标调试结果等调试情况,其中,图9的画布中所示的“1{"product":"商品1",price":20,"name" :"测试1","age":18);2{"product":"商品1",price":20,"name" :"测试2","age":18);3{"product":"商品2",price":21,"name":"测试1","age":18};4{"product":"商品2",price":21,"name" :"测试2","age":18};5{"product":"商品3",price":22,"name" :"测试1","age":18};6{"product":"商品3",price":22,"name" :"测试2","age":18};7{"product":"商品1",price":20,"name" :"测试3","age":18};8{"product":"商品2",price":21,"name" :"测试3","age":18};9{"product":"商品3",price":22,"name" :"测试3","age":18}”均为中间调试结果,由于图9所示的调试任务没有完成,因此图中未示出目标调试结果。图10所示的是另一种目标数据处理模型的调试结果,可以看出这一目标数据处理模型用于对数据进行解析,图10中画布的输出数据详情处显示的调试结果为四个正常数据和一个异常数据;从样例日志和字段内容所示的内容可以看出,time1、country、product1、risk这四个字段为正常数据,uuld这一字段为异常数据。
107.步骤315、在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,数据处理系统将目标数据处理模型提交到运行节点。
108.其中,运行节点用于基于数据处理模型对数据进行处理。
109.其中,数据处理系统通过运行节点基于数据处理模型对数据进行处理的操作可以通过以下步骤来实现:步骤315a、数据处理系统通过运行节点,基于第一数据处理模块确定目标数据。
110.在本技术实施例中,在目标数据处理模型调试成功的情况下,就可以通过目标数据处理模型对目标数据进行处理了,首先,可以从第一数据处理模块中的数据来源确定目标数据,目标数据可以是数据来源中的所有数据,也可以是满足目标条件的目标数据,也即可以对数据来源中的所有数据进行处理,也可以对数据来源中的部分数据进行处理,本技术实施例对此不作限定。
111.步骤315b、数据处理系统基于第二数据处理模块对目标数据进行处理,得到处理后的数据。
112.在本技术实施例中,通过第二数据处理模块中设置的数据处理规则对目标数据进行处理,以得到处理后的数据。
113.步骤315c、数据处理系统基于第三数据处理模块存储处理后的数据。
114.在本技术实施例中,第三数据处理模块包括数据目的地,因此基于第三数据处理模块将处理后的数据存储至数据目的地。在一种可行的方式中,如果目标数据是kafka数据库中的多个事件流,第二处理模块设定的是事件规则(即数据处理规则),事件规则可以是获取事件流中同时发生的两个事件,数据目的地是dipper;那么也即是通过时间规则对多个事件流进行分析,获取其中同时发生的两个事件并存储至dipper。
115.基于前述实施例,在本技术的其他实施例中,在执行完步骤304后,还可以执行步骤316~317。
116.步骤316、在确定第二配置数据未通过语法解析的情况下,数据处理系统确定第二配置数据中的第一异常数据。
117.在本技术实施例中,第一异常数据是第二配置数据中的异常数据。第二配置数据未通过语法解析,说明第二配置数据中可能存在语法错误、关键词缺失等异常,此时可以直接定位出第二配置数据中存在异常的数据,也即第一异常数据。
118.在本技术实施例中,图11所示的是第二配置数据未通过语法解析的情况,如果第二配置数据未通过语法解析,则会将第二配置数据中的第一异常数据以及异常原因显示在画布上,供用户查看,如图11所示的画布,在数据处理规则对应的区域内输入配置数据,在数据处理规则下方的信息对应的区域中显示语法检测结果,图11中未通过语法解析的配置数据为“selecttttttttttttttttttttttttttttttttttttttttttttttttttt”,图11中未示出未通过语法解析的异常原因,但是可以在信息对应的区域中增设一个区域,以用于显示未通过语法解析的异常原因。
119.步骤317、数据处理系统基于第一异常数据,确定第一异常原因和第一优化方案并展示。
120.在本技术实施例中,第一异常原因是第一异常数据产生的原因;第一优化方案是第一异常数据的解决方案。在一种可行的方式中,数据处理系统可以预先存储有每一语法
异常对应的异常原因和优化方案,且可以以表格的形式存储,如此在得到第一异常数据后,就可以通过该表获取到第一异常原因和第一优化方案。
121.基于前述实施例,在本技术其他实施例中,数据处理方法还可以包括以下步骤:步骤318、数据处理系统通过调试节点,周期性的获取对目标数据处理模型进行调试时的第一运行数据、中间调试结果和目标调试结果。
122.在本技术实施例中,第一运行数据是通过调试节点对目标数据处理模型调试时的数据;第一运行数据可以包括运行日志,运行日志包括加载的数据、当前状态、处理时间等。在一种可行的方式中,数据工厂将目标数据处理模型提交至调试节点后,可以周期性向调试节点发送轮询请求,以获取第一运行数据、中间调试结果和目标调试结果。
123.需要说明的是,执行完步骤318之后,可以执行步骤319或320~321。
124.步骤319、在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,数据处理系统展示用于表征目标数据处理模型调试成功的第一消息。
125.在本技术实施例中,第一消息用于表征目标数据处理模型调试成功。在一种可行的方式中,基于中间调试结果和目标调试结果确定目标数据处理模型调试成功的情况下,将第一消息显示在画布上,以使用户获知目标数据处理模型调试成功。
126.步骤320、在中间调试结果和目标调试结果表征目标数据处理模型调试异常/未在目标时间阈值内获取到目标调试结果的情况下,数据处理系统对第一运行数据、中间调试结果和目标调试结果进行分析,确定对目标数据处理模块调试时的第二异常数据。
127.在本技术实施例中,第二异常数据是目标数据处理模块调试时的异常数据,第二异常数据可以是目标数据处理模型自身的异常数据,也可以是由于调试节点掉线、内存不足导致的异常数据,只要是对目标数据处理模块调试时出现的异常数据,都可作为第二异常数据,本技术实施例对此不作限定。
128.如图12所示,图12左侧示出的是当前构建的目标数据处理模型,该目标数据处理模型用于对kafka中的数据进行解析,;图12右侧中调试结果区域显示的“运行完成”,表征以完成对该目标数据处理模型的调试;图12右侧中输出数据详情对应的区域显示有调试过程中出现的异常数据和异常原因,其中,“1@#%#%@
…”
为异常数据,“这是脏数据”为异常原因;图12右侧中数据详情中还显示有异常日志解析规则,以便用户查看。如果在对目标数据处理模型进行调试时出现调试中断,那么此时会在画布中显示表征运行中断的调试结果如图13所示的“糟糕!运行中断,结果异常”,此时异常原因为“dipper-默认组件连接异常”,对应的解决方案为“请检查dipper-默认是否正常工作”,如此,将调试结果、异常原因和解决方案显示画布上,便于用户获知目标数据处理模型的调试情况,便于对异常情况进行处理,提高测试效率。
129.步骤321、数据处理系统基于第二异常数据,确定第二异常原因和第二优化方案并展示。
130.在本技术实施例中,第二异常原因是第二异常数据产生的原因;第二优化方案是第二异常数据的解决方案。在一种可行的方式中,数据处理系统可以预先存储有调试出现的异常数据以及对应的异常原因和优化方案,且可以以表格的形式存储,如此在得到第二异常数据后,就可以通过该表获取到第二异常原因和第二优化方案。
131.基于前述实施例,在本技术其他实施例中,数据处理方法还包括以下步骤:
步骤322、数据处理系统通过运行节点,获取对目标数据处理模型进行运行时的第二运行数据。
132.在本技术实施例中,第二运行数据是运行目标数据处理模型时的数据;第二运行数据可以包括处理的数据量、堆积数据量、处理速率等指标。
133.步骤323、数据处理系统通过数据处理系统的监测节点,对第二运行数据进行分析,确定目标数据处理模型的运行状态和数据处理情况。
134.在本技术实施例中,监测节点可以为普罗米修斯(prometheus)用于对目标数据处理模型的运行进行监控。监测节点可以对第二运行数据进行分析、得到目标数据处理模型的运行状态和数据处理情况;运行状态包括在线、异常离线、离线等。
135.步骤324、在运行状态为正常的情况下,数据处理系统展示运行状态和数据处理情况。
136.在一种可行的方式中,可以通过画布上的前往运维按键进入运维界面,也即进入图14所示的界面,运维界面主要是将数据处理情况以图表的形式展示出来,方便用户查看,其中,数据处理情况包括每个目标数据处理模型的目标时间内处理数据量、堆积数据总量、数据进入速率、数据处理速率以及模型状态等;目标时间可以自行选择,目标时间可以是1小时。点击某个目标数据处理模型后,会进入针对这一目标数据处理模型的详情界面,如图15所示,该详情界面包括模型名称、近1小时处理数据量、近1小时输出数据量、堆积数据总量、异常数据总量以及对应的操作,还可以包括更新时间、cpu占用情况等指标。
137.步骤325、在运行状态为异常的情况下,数据处理系统对第二运行数据和数据处理情况进行分析,得到针对目标数据处理模型运行时的第三异常数据。
138.在本技术实施例中,第三异常数据是目标数据处理模型运行时的异常数据。对第二运行数据和数据处理情况进行分析,可以获知目标数据处理模型运行时是否存在异常。
139.步骤326、数据处理系统基于第三异常数据,确定第三异常原因和第三优化方案并展示。
140.在本技术实施例中,第三异常原因是第三异常数据产生的原因;第三优化方案是第三异常数据的解决方案。在一种可行的方式中,数据处理系统可以预先存储有模型运行时出现的异常数据以及对应的异常原因和优化方案,且可以以表格的形式存储,如此在得到第三异常数据后,就可以通过该表获取到第三异常原因和第三优化方案。如图16所示,图16中包括模型1、模型2、模型3和模型4中每个模型的运行状态和数据处理情况,且如果出现异常,则会将异常数据、异常原因以及解决方案显示在运维界面,如图16右侧所示的异常日志,供用户查看。此外,可以通过图16所示的刷新按键对当前异常日志界面进行更新,可以通过下载按键将当前异常日志界面下载下来,可以通过全屏按键将当前异常日志进行全屏显示,还可以将每个模型出现的异常以及异常事件等记录下来,方便查看每个模型的历史异常情况;如图17所示,图17显示的是模型名称为“111222”的目标数据处理模型的详情界面,通过该界面的异常日志按钮可以查看到模型在2011-11-30 20:56:00时异常离线、且不可自恢复;可以查看到模型在2011-11-30 20:51:00时自恢复成功,增加核数1、增加核内存1gb;可以查看到模型在2011-11-30 20:47:00时异常离线;可以查看到模型在2011-11-30 20:44:00时创建。
141.步骤327、在运行状态异常且数据处理系统满足模型恢复条件的情况下,数据处理
系统基于目标数据处理模型对目标数据进行处理。
142.在本技术实施例中,模型恢复条件可以预先设置,模型恢复条件可以为初始分配的内存不够但集群内存仍有大量可用,这种情况下,对异常离线的目标数据处理模型进行重新上线,以实现模型自恢复功能,避免业务中断。如图17所示,可以将模型的自恢复情况也写入异常日志中,方便用户查看。
143.在本技术其他实施例中,数据处理系统还提供了cep语义分析,该语义表达了在一定时间范围内,如果事件命中了配置的事件规则,则命中事件就会被分析输出。数据处理系统预先配置了多种数据处理模型的模板,如图18所示,图中包括用于通过and和or对进行数据流进行过滤的普通模板、通过聚合函数和触发规则对数据流进行统计的统计模板、通过有序事件规则获取数据流中有序发生的事件的时序关联模板,通过无时序事件规则获取数据流中的多个事件的无时序关联模板以及通过配置重复事件规则获取数据流中的重复事件的重复时间模板。此外,还可以通过模型名称和描述等区域,新增数据处理模型。
144.如图19所示的无时序关联模板,该无时序关联模板用于匹配无时序关联的事件,也即是将从数据来源hdfs中确定无时序关系的事件1和事件2,其中,事件1为存在fx字段的事件,事件2为存在sj字段的事件。如图19所示,还可以通过无时序关联模板对组件基本信息、关联条件、时间窗口以及匹配策略等进行配置;其中,组件基本信息包括组件名称、组件描述以及数据分组字段等;关联条件包括模式,模式用于设置事件规则;时间窗口包括事件字段和窗口时间,事件字段用于限制事件时间;匹配策略是重新匹配事件时应该从什么数据开始匹配。在一种可行的方式中,如果配置的事件规则为(a、b、c),数据流在指定时间范围内输入的事件依次为a、b、c、a、b、d、e、f,由于是无时序关联,则会输出(a、b、c)、(b、c、a)、(c、a、b)三次命中事件组合,如此通过在画布内配置简单的模板,即可实现复杂的匹配规则并输出至生产环境。图20所示的统计模板,该统计模板包括组件基本信息、函数配置、分组统计、触发规则以及时间窗口等,其中,组件基本信息包括组件名称和组件描述;函数配置包括至少一个函数配置,每个函数配置包括至少一个函数、至少一个求和字段以及至少一个输出字段;分组统计包括分组字段,分组字段是分组的标识;触发规则用于限制事件匹配的时机;事件窗口包括滑动窗口、滚动窗口以及不适用时间窗口等类型、窗口时间、步长、时间字段等;统计模板中的条件都可基于用户需求进行配置,本技术实施例对此不作限定。图21所示的是时序关联模板,该时序关联模板包括组件基本信息、关联条件、时间窗口、事件严格临近以及匹配策略等;其中,组件基本信息包括组件名称、组件描述以及数据分组字段等;关联条件包括选项模式和表达模式;时间窗口包括时间字段和窗口时间;事件严格临近是指事件必须按照顺序依次发生;匹配策略是重新匹配事件时应该从什么数据开始匹配。图22所示的是重复事件模板,该重复事件模板包括组件基本信息、关联条件、时间窗口、事件严格临近以及匹配策略等。
145.如图23所示,用户通过在画布上拖拽数据处理模块并输入针对每一数据处理模型的目标配置数据,以配置目标数据处理模型;数据工厂后台程序会对目标数据处理模型的完整性进行校验,通过引擎层解析目标数据处理模型,生成针对目标数据处理模型的json文件和jar包;在需要调试的情况下,将json文件和jar包提交至flink集群;flink集群基于调试数据对目标数据处理模型进行调试,并输出中间调试结果和目标调试结果;可以通过轮询请求获取对目标数据处理模型调试时的第一运行数据、中间调试结果和目标调试结
果,数据工厂后台进程可以在调试异常的情况下,对第一运行数据、中间调试结果和目标调试结果进行分析确定调试是否存在异常,然后将调试结果、异常数据、异常原因展示在前端。如果是正式发布运行,点击启动后,首先会对yarn集群上的可用资源进行校验,如果资源不足则证明目标数据处理模型不具备可执行性;接着会将需要发布运行的任务信息存储在数据库的任务表内,通过定时任务周期性的扫描该表,实现了异步的向yarn集群提交实时作业的功能。运行阶段中,会将引擎层的jar包与json文件一并提交至yarn集群,并使用引擎层的jar包对json文件进行解析,产生一张或多张有向无环图(即数据处理逻辑),有向无环图中包含了流水线、操作符、数据流等对象;接着创建引擎层对应的运行环境,配置运行参数,初始化相关数据结构,并调用execute方法在yarn集群中运行。另外,如果是在调试页面内,前端会不断轮询获取任务运行的状态,最后由数据工厂后端进程进行整合后返回运行结果。如果是正式发布运行,则可以通过prometheus报警系统来监控yarn集群上运行的状态,用户在监控运维页面查看时则会向数据工厂后台进程发送请求,后台进程会查询数据库中监控状态再将结果返回。对于监控状态为异常的模型组,如果用户开启了模型自恢复功能,则会在满足模型恢复条件(初始分配的内存不够,集群内存仍有大量可用)时对异常离线的模型进行重新上线,避免业务中断。此外,数据工厂后台进程的异常原因诊断模块还会对异常状态的模型组进行日志分析,在展示给用户异常日志的同时,也一并展示了诊断出的异常原因和建议的解决方案。
146.其中,如图24所示,对目标数据处理模型进行调试前,需要检测配置目标数据处理模型的完整性以及组件的连通性,保证目标数据处理模型能够正常执行,然后创建调试环境,检测flink集群的可用性,保证flink集群能够对目标数据处理模型进行调试,然后构建json文件和jar包,提交调试任务至flink集群;可以通过轮询请求获取调试任务的运行状态、轮询运行日志以及中间调试结果;中间调试结果会存储至mysql数据库,通过中间调试结果和轮询运行状态可以获知调试任务的整体状态,通过调试任务的整体状态和中间调试结果可以计算进度条以及是否可以停止轮询;通过过滤后的关键词过滤后的轮询运行日志、调试任务的整体状态和中间调试结果,可以确定任务是否超时或是已经结束;超时时则可以取消任务;在任务结束后、或取消任务后可以通过定时检测任务进行日志诊断,确定是否存在异常,有异常则在前端显示异常数据、异常原因以及解决方案。
147.在本技术实施例中,通过封装flink框架和原生应用程序编程接口(application programming interface,api),将分布式数据处理逻辑提炼成可视化的算子,在画布上通过拖拽连线和配置数据处理规则即可实现分布式的工作流配置,不仅实现了高度可视化,而且提供了丰富的算子类型,从而更好的对业务进行了支持,降低了开发门槛。其次,通过二次封装用户配置完成的目标数据处理模型,将任务提交至flink集群运行并收集所有算子运行结果和日志数据来进行诊断分析,这不仅将调试环境和生产环境进行了有效隔离,不必担心调试工作流所产生的结果和异常污染生产环境,而且将调试模型的耗时降低至十几秒起。同时,通过对日志的诊断分析,用户不但可以分别查看结果中的正常数据和异常数据,而且对于运行异常的工作流,大部分场景下无需专业人员协助,用户都能获得明确的异常原因和解决方案。通过对flink原生代码内的深度改造,提供了flink中没有的cep语义,比如无时序关联模板(orfollowby)。此外,还提供了单独的sql编辑框来给用户填写flinksql语句,不仅基于calcite对flinksql语句进行了解析,实现了开发人员随时可对
flinksql语句进行语法校验的功能,而且提供了字段补齐、格式化语句等实用功能,可以让用户像在使用数据库工具一样进行开发;通过对实时工作流的定时监控,并以图表化的方式将监控得到的运行数据进行展示,方便用户查看目标数据处理模型的运行状态、数据处理速率、堆积数据量、资源分配情况、异常信息等关键指标;还提供了动态配置资源,模型异常离线或重启的模型自恢复机制,异常日志智能诊断分析等功能,较好的解决了业内系统维护难的问题。
148.需要说明的是,本实施例中与其它实施例中相同步骤和相同内容的说明,可以参照其它实施例中的描述,此处不再赘述。
149.本技术实施例所提供的数据处理方法,将目标数据处理模型提交到调试节点进行调试以获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,能够基于针对每个数据处理模型的中间调试结果和针对数据处理模型的目标调试结果快速且精准地验证出目标数据处理模型的准确性,耗时短且准确性高,解决了相关技术中通过flink配置数据处理逻辑后,需要大量操作和较长时间才能验证出该数据处理逻辑的准确性,导致耗时长且准确性差的问题。
150.基于前述实施例,本技术实施例提供一种数据处理装置,该数据处理装置可以应用于图1~3对应的实施例提供的数据处理方法中,参照图25所示,该数据处理装置4可以包括:获取单元41,用于基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型;数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑;第一处理单元42,用于将目标数据处理模型提交到调试节点进行调试,获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果;第二处理单元43,用于在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,将目标数据处理模型提交到运行节点。
151.在本技术的其他实施例中,获取单元41具体用于执行以下步骤:基于用户在画布上的操作确定多个数据处理模块;获取用于实现目标功能的针对每一数据处理模块的目标配置数据;基于数据处理模块和目标配置数据,得到目标数据处理模型。
152.在本技术的其他实施例中,运行节点用于根据目标数据处理模型对目标数据进行处理。
153.在本技术的其他实施例中,调试节点包括flink节点,运行节点包括另一种资源协调者yarn节点。
154.在本技术的其他实施例中,获取单元41具体用于执行以下步骤:获取针对每一数据处理模块的第一配置数据;接收针对第一配置数据的确定指令,并基于确定指令从待选配置数据中确定针对每一数据处理模块的中间配置数据;基于中间配置数据和第一配置数据,得到每一数据处理模块的第二配置数据;在确定第二配置数据通过语法解析的情况下,确定第二配置数据为每一数据处理模块的目标配置数据。
155.在本技术的其他实施例中,获取单元41具体用于执行以下步骤:
基于用户在画布上的操作确定表征数据来源的第一数据处理模块、具有数据处理功能的第二数据处理模块以及表征处理后数据的存储位置的第三数据处理模块;其中,数据处理模块包括第一数据处理模块、第二数据处理模块和第三数据处理模块;相应的,获取单元41具体用于执行以下步骤:接收针对第一数据处理模块的第一子配置数据、针对第二数据处理模块第二子配置数据以及针对第三数据处理模块第三子配置数据;其中,第一配置数据包括第一子配置数据、第二子配置数据和第三子配置数据。
156.在本技术的其他实施例中,获取单元41还用于执行以下步骤:在确定第二配置数据未通过语法解析的情况下,确定第二配置数据中的第一异常数据;基于第一异常数据,确定第一异常原因和第一优化方案并展示。
157.在本技术的其他实施例中,获取单元41具体用于执行以下步骤:基于每一数据处理模块、数据处理模块之间的第一关联关系以及每一目标配置数据,得到初始数据处理模型;对初始数据处理模型进行完整性校验;在通过完整性校验的情况下,确定初始数据处理模型为目标数据处理模型。
158.在本技术的其他实施例中,第一处理单元42还用于执行以下步骤:对目标数据处理模型的可执行性进行校验;相应的,第一处理单元42具体用于执行以下步骤:在确定目标数据处理模型可执行的情况下,将目标数据处理模型提交到调试节点进行分析得到数据处理逻辑;基于数据处理逻辑对调试数据进行处理,得到中间调试结果和目标调试结果。
159.在本技术的其他实施例中,第一处理单元42具体用于执行以下步骤:将目标数据处理模型提交到调试节点进行分析,得到每一数据处理模块中的处理算子和输出算子;其中,处理算子用于对数据进行处理,输出算子用于输出每一数据处理模块的处理结果;确定处理算子之间的第二关联关系、处理算子与输出算子之间的第三关联关系;基于处理算子和输出算子,确定针对每一数据处理模块的第一数据处理逻辑;基于处理算子、输出算子、第二关联关系以及第三关联关系,确定针对目标数据处理模型的第二数据处理逻辑;其中,数据处理逻辑包括第一数据处理逻辑和第二数据处理逻辑。
160.在本技术的其他实施例中,第一处理单元42还用于执行以下步骤:通过调试节点,周期性的获取对目标数据处理模型进行调试时的第一运行数据、中间调试结果和目标调试结果;在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,展示用于表征目标数据处理模型调试成功的第一消息;在中间调试结果和目标调试结果表征目标数据处理模型调试异常/未在目标时间阈值内获取到目标调试结果的情况下,对第一运行数据、中间调试结果和目标调试结果进行分析,确定对目标数据处理模块调试时的第二异常数据;
基于第二异常数据,确定第二异常原因和第二优化方案并展示。
161.在本技术的其他实施例中,第二处理单元43还用于执行以下步骤:通过运行节点,获取对目标数据处理模型进行运行时的第二运行数据;通过监测节点,对第二运行数据进行分析,确定目标数据处理模型的运行状态和数据处理情况;在运行状态为正常的情况下,展示运行状态和数据处理情况;在运行状态为异常的情况下,对第二运行数据和数据处理情况进行分析,得到针对目标数据处理模型运行时的第三异常数据;基于第三异常数据,确定第三异常原因和第三优化方案并展示;在运行状态异常且数据处理系统满足模型恢复条件的情况下,基于目标数据处理模型对目标数据进行处理。
162.需要说明的是,各个单元所执行的步骤的具体说明可以参照图1~3对应的实施例提供的数据处理方法中,此处不再赘述。
163.本技术实施例所提供的数据处理装置,将目标数据处理模型提交到调试节点进行调试以获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,能够基于针对每个数据处理模型的中间调试结果和针对数据处理模型的目标调试结果快速且精准地验证出目标数据处理模型的准确性,耗时短且准确性高,解决了相关技术中通过flink配置数据处理逻辑后,需要大量操作和较长时间才能验证出该数据处理逻辑的准确性,导致耗时长且准确性差的问题基于前述实施例,本技术的实施例提供一种数据处理系统,该数据处理系统可以应用于图1~3对应的实施例提供的数据处理方法中,参照图26所示,该数据处理系统5可以包括:处理器51、存储器52和通信总线53,其中:通信总线53用于实现处理器51和存储器52之间的通信连接;处理器51用于执行存储器52中的数据处理程序,以实现以下步骤:基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型;数据处理模块具有用于处理数据以实现对应功能的数据处理逻辑;将目标数据处理模型提交到调试节点进行调试,获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果;在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,将目标数据处理模型提交到运行节点。
164.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序的基于用户对画布上的多个数据处理模块的操作获得目标数据处理模型,以实现以下步骤:基于用户在画布上的操作确定多个数据处理模块;获取用于实现目标功能的针对每一数据处理模块的目标配置数据;基于数据处理模块和目标配置数据,得到目标数据处理模型。
165.在本技术的其他实施例中,运行节点用于根据目标数据处理模型对目标数据进行处理。
166.在本技术的其他实施例中,调试节点包括flink节点,运行节点包括另一种资源协调者yarn节点。
167.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序的获取用于实现目标功能的针对每一数据处理模块的目标配置数据,以实现以下步骤:获取针对每一数据处理模块的第一配置数据;接收针对第一配置数据的确定指令,并基于确定指令从待选配置数据中确定针对每一数据处理模块的中间配置数据;基于中间配置数据和第一配置数据,得到每一数据处理模块的第二配置数据;在确定第二配置数据通过语法解析的情况下,确定第二配置数据为每一数据处理模块的目标配置数据。
168.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序的基于用户在画布上的操作确定多个数据处理模块,以实现以下步骤:基于用户在画布上的操作确定表征数据来源的第一数据处理模块、具有数据处理功能的第二数据处理模块以及表征处理后数据的存储位置的第三数据处理模块;其中,数据处理模块包括第一数据处理模块、第二数据处理模块和第三数据处理模块;相应的,在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序的获取针对每一数据处理模块的第一配置数据,以实现以下步骤:接收针对第一数据处理模块的第一子配置数据、针对第二数据处理模块第二子配置数据以及针对第三数据处理模块第三子配置数据;其中,第一配置数据包括第一子配置数据、第二子配置数据和第三子配置数据。
169.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序还可以实现以下步骤:在确定第二配置数据未通过语法解析的情况下,确定第二配置数据中的第一异常数据;基于第一异常数据,确定第一异常原因和第一优化方案并展示。
170.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序的基于数据处理模块和目标配置数据,得到目标数据处理模型,以实现以下步骤:基于每一数据处理模块、数据处理模块之间的第一关联关系以及每一目标配置数据,得到初始数据处理模型;对初始数据处理模型进行完整性校验;在通过完整性校验的情况下,确定初始数据处理模型为目标数据处理模型。
171.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序的将目标数据处理模型提交到调试节点进行调试,获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,还可以实现以下步骤:对目标数据处理模型的可执行性进行校验;相应的,处理器51用于执行存储器52中的数据处理程序的将目标数据处理模型提交到调试节点进行调试,获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,以实现以下步骤:在确定目标数据处理模型可执行的情况下,将目标数据处理模型提交到调试节点进行分析得到数据处理逻辑;基于数据处理逻辑对调试数据进行处理,得到中间调试结果和目标调试结果。
172.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序的将目标数据处理模型提交到调试节点进行分析得到数据处理逻辑,以实现以下步骤:将目标数据处理模型提交到调试节点进行分析,得到每一数据处理模块中的处理算子和输出算子;其中,处理算子用于对数据进行处理,输出算子用于输出每一数据处理模块的处理结果;确定处理算子之间的第二关联关系、处理算子与输出算子之间的第三关联关系;基于处理算子和输出算子,确定针对每一数据处理模块的第一数据处理逻辑;基于处理算子、输出算子、第二关联关系以及第三关联关系,确定针对目标数据处理模型的第二数据处理逻辑;其中,数据处理逻辑包括第一数据处理逻辑和第二数据处理逻辑。
173.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序还可以实现以下步骤:通过调试节点,周期性的获取对目标数据处理模型进行调试时的第一运行数据、中间调试结果和目标调试结果;在中间调试结果和目标调试结果表征目标数据处理模型调试成功的情况下,展示用于表征目标数据处理模型调试成功的第一消息;在中间调试结果和目标调试结果表征目标数据处理模型调试异常/未在目标时间阈值内获取到目标调试结果的情况下,对第一运行数据、中间调试结果和目标调试结果进行分析,确定对目标数据处理模块调试时的第二异常数据;基于第二异常数据,确定第二异常原因和第二优化方案并展示。
174.在本技术的其他实施例中,处理器51用于执行存储器52中的数据处理程序还可以实现以下步骤:通过监测节点,对第二运行数据进行分析,确定目标数据处理模型的运行状态和数据处理情况;在运行状态为正常的情况下,展示运行状态和数据处理情况;在运行状态为异常的情况下,对第二运行数据和数据处理情况进行分析,得到针对目标数据处理模型运行时的第三异常数据;基于第三异常数据,确定第三异常原因和第三优化方案并展示;在运行状态异常且数据处理系统满足模型恢复条件的情况下,基于目标数据处理模型对目标数据进行处理。
175.需要说明的是,处理器所执行的步骤的具体说明可以参照图1~3对应的实施例提供的数据处理方法中,此处不再赘述。
176.本技术实施例所提供的数据处理系统,将目标数据处理模型提交到调试节点进行调试以获得针对每一数据处理模块的中间调试结果和针对目标数据处理模型的目标调试结果,能够基于针对每个数据处理模型的中间调试结果和针对数据处理模型的目标调试结果快速且精准地验证出目标数据处理模型的准确性,耗时短且准确性高,解决了相关技术中通过flink配置数据处理逻辑后,需要大量操作和较长时间才能验证出该数据处理逻辑的准确性,导致耗时长且准确性差的问题。
177.基于前述实施例,本技术的实施例提供一种计算机可读存储介质,该计算机可读
存储介质存储有一个或者多个程序,该一个或者多个程序可被一个或者多个处理器执行,以实现图1~3对应的实施例提供的数据处理方法的步骤。
178.本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
179.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
180.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
181.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
182.以上所述,仅为本技术的较佳实施例而已,并非用于限定本技术的保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献