基于自定义规则的数据处理方法、系统、设备和存储介质与流程

未命名 08-12 阅读:189 评论:0


1.本发明涉及数据编辑处理技术领域,具体涉及一种基于自定义规则的数据处理方法、系统、设备和存储介质。


背景技术:

2.现有技术中,关于数据编辑处理都是针对特定的elt开发代码进行技术处理,在多数据源抽取到持久化存储平台,再制定机制进行库内代码开发和运算,或开发代码由其他数据引擎读取数据进行库外数据编辑处理。
3.但是,该方法中一旦数据需要转换不同数据源数据或业务人员不懂代码,系统的接入、转换、分析功能便会受到影响,影响数据编辑处理进程和效率。


技术实现要素:

4.有鉴于此,本发明的目的在于提供一种基于自定义规则的数据处理方法、系统、设备和存储介质,以克服目前多源数据编辑处理过程中开发难度高和开发效率低的问题。
5.为实现以上目的,本发明采用如下技术方案:
6.第一方面,本技术实施例提供一种基于自定义规则的数据处理方法,包括:
7.接收用户配置参数,所述用户配置参数包括数据源信息和业务规则参数;其中,所述业务规则参数为用户在预设自定义业务规则配置界面中选取的;
8.基于所述业务规则参数生成目标业务规则;
9.对所述目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和所述数据源信息,生成flink程序。
10.进一步地,还包括:
11.基于所述数据源信息,确定对应的连接器;
12.基于所述连接器,生成数据来源对象和目标表对象。
13.进一步地,所述业务规则参数包括用户在预设自定义业务规则配置界面选取的业务运算子指标和逻辑条件;
14.所述基于所述业务规则参数生成目标业务规则,包括:
15.基于所述业务运算子指标和逻辑条件,生成包括目标指标和目标标签的目标业务规则。
16.进一步地,所述对所述目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和所述数据源信息,生成flink程序,包括:
17.通过预设flink框架系统平台对所述目标业务规则进行算子解析和数据字段选取,通过预设flink框架系统平台生成所述数据来源对象和所述目标表对象;
18.基于所述解析结果、所述选取结果、所述数据来源对象和所述目标表对象生成所述flink程序。
19.进一步地,还包括:
20.将所述flink程序以jar包的形式上传至预设flink执行服务器中,以供所述flink执行服务器基于所述flink程序生成并执行目标程序任务。
21.进一步地,所述flink执行服务器基于所述flink程序生成并执行程序任务,包括:
22.基于所述flink程序生成目标程序任务;
23.将所述目标程序任务通过的预设自定义代理接口提交至yarn集群中,以供所述yarn集群执行所述目标程序任务。
24.进一步地,所述预设自定义代理接口通过第一交互模式或第二交互模块与所述yarn集群进行交互;
25.所述第一交互模式基于flink api调起任务、管理目录文件和查看任务状态;
26.所述第二交互模式基于命令行调起任务、自定义管理目录文件和基于yarn api查看任务状态。
27.第二方面,本技术还提供一种基于自定义规则的数据处理系统,包括:程序生成模块和程序运行模块;
28.所述程序生成模块用于接收用户配置参数,所述用户配置参数包括数据源信息和业务规则参数;其中,所述业务规则参数为用户在预设业务规则配置界面选择的;和用于基于所述业务规则参数生成目标业务规则;以及用于对所述目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和所述数据源信息,生成flink程序;
29.所述程序生成模块还用于将所述flink程序传递至所述程序运行模块中;
30.所述程序运行模块用于启动并运行所述flink程序。
31.第三方面,本技术实施例还提供一种电子设备,包括:
32.处理器,以及用于存储所述处理器可执行程序的存储器;
33.所述处理器,用于通过运行所述存储器中的程序,实现如上所述的基于自定义规则的数据处理方法。
34.第四方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如上所述的基于自定义规则的数据处理方法。
35.本发明提供的基于自定义规则的数据处理方法,包括:首先接收用户配置参数,包括数据源信息和业务规则参数;其中,业务规则参数为用户在预设自定义业务规则配置界面自定义选取的;然后基于业务规则参数生成目标业务规则;再对目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和数据源信息,生成flink程序,以通过flink程序获取和编辑处理数据。如此,业务人员只需要在业务规则配置界面选取参数,即可自动生成用于获取和编辑处理数据的flink程序,大大降低了开发难度,同时大大提高了开发效率。
附图说明
36.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
37.图1是本技术实施例提供的基于自定义规则的数据处理方法的流程示意图;
38.图2是本技术实施例提供的基于自定义规则的数据处理方法中指标和逻辑规则选取的示意图;
39.图3是本技术实施例提供的基于自定义规则的数据处理方法中规则任务的示意图;
40.图4是本技术实施例提供的基于自定义规则的数据处理方法中datastream算子业务关联解析图规则任务的示意图;
41.图5是本技术实施例提供的基于自定义规则的数据处理方法中datastream算子程序定义的示意图;
42.图6是本技术实施例提供的基于自定义规则的数据处理方法中proxy flink rest api交互的模式示意图;
43.图7是本技术实施例提供的基于自定义规则的数据处理系统的结构示意图。
具体实施方式
44.为使本发明的目的、技术方案和优点更加清楚,下面将对本发明的技术方案进行详细的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本发明所保护的范围。
45.申请概述:
46.现有技术中,关于数据编辑处理一般为针对特定的elt开发代码进行技术处理,在多数据源抽取到持久化存储平台,再制定机制进行库内代码开发和运算、或开发代码由其他数据引擎读取数据进行库外数据编辑处理。因此在技术平台中固化并限制了数据转换的多源性和开发难度,一旦数据需要转换不同数据源数据或业务人员不懂代码,系统的接入、转换、分析功能便会受到影响。
47.在现有技术的数据编辑处理技术中,一般的处理流程包括:
48.数据源配置阶段:通过java数据库连接(java database connectivity,jdbc)或各大数据组件的连接器配置不同数据源连接,实现与不同数据源之间的连接。
49.数据接入阶段:数据接入时一般需要使用数据抽取工具,不同数据源的数据依赖不同的抽取工具支撑,需开发多种抽数工具的逻辑代码,并配置调度工具进行数据抽取,将数据保存到统一的数据持久化存储平台。
50.数据编辑阶段:编写sql逻辑代码或开发其他计算引擎代码生成jar包进行数据编辑处理,根据不同的业务规则进行“数据转换”,数据编辑处理后存回统一的数据持久化存储平台,转换后的数据供业务分析和报表统计等。
51.现有技术中,多态数据源的数据转换本身的难点在于:
52.1、暂没有工具可支持多态数据源(source/sink)快速进行分布式内存运算逻辑编辑处理,并且搭建不同的大数据组件会增加维护成本和造成服务器资源浪费。
53.2、数据计算引擎技术门槛高,开发成本和质量依赖开发人员的技术能力,增加人员学习成本和代码开发成本。
54.3、业务人员依赖开发人员协助代码开发,无法独立并快速高效的实现业务需求,
增加人力资源成本。
55.方法实施例:
56.图1是本技术实施例提供的基于自定义规则的数据处理方法的流程示意图,请参阅图1,本实施例可以包括以下步骤:
57.s101、接收用户配置参数。
58.s102、基于业务规则参数生成目标业务规则。
59.其中,用户配置参数可以包括数据源信息和业务规则参数;其中,业务规则参数为用户在预设自定义业务规则配置界面中基于实际业务需求进行选取的。
60.具体的,在本技术提供的预设系统平台或系统中,提供自定义业务规则配置界面,供业务人员使用,业务人员可以在该配置页面中输入或选择对应的信息,例如输入或选择数据源信息,供系统确定业务需要从哪个或哪些数据源中获取数据,进而进行编辑处理;以及业务人员可以在该配置页面中选择业务规则参数,从而供系统基于业务人员选取的参数,确定目标业务规则,该目标业务规则用于确定选取什么样的数据以及对数据进行何种编辑处理等。
61.s103、对目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和数据源信息,生成flink程序。
62.具体的,在生成目标业务规则后,系统自动进行算子解析和数据字段选取,以及配合数据源信息,自动生成用于多源数据库中获取数据,并进行相应编辑的flink程序。
63.本发明提供的基于自定义规则的数据处理方法,包括:首先接收用户配置参数,包括数据源信息和业务规则参数;其中,业务规则参数为用户在预设自定义业务规则配置界面中选取的;然后基于业务规则参数生成目标业务规则;再对目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和数据源信息,生成flink程序,以通过flink程序获取和编辑处理数据。如此,业务人员只需要在业务规则配置界面选取参数,即可自动生成用于获取和编辑处理数据的flink程序,大大降低了开发难度,同时大大提高了开发效率。
64.在一些实施例中,本技术的基于自定义规则的数据处理方法中,还可以在预设系统后台中,提前配置各种数据源连接器,例如包括用于分别连接mysql、clickhouse、hive、oracle和postgress等数据源的连接器,在用户输入数据源信息后,自动匹配对应的连接器。在另一些实施例中,数据源信息可以和获取业务规则参数的方法相同,即用户可以在预设系统平台中的自定义业务规则配置界面中选取,从而进一步降低业务人员操作难度,以及提高数据编辑处理效率。
65.对于业务规则参数,用户可以在配置页面中,选择不同的业务运算子指标和逻辑条件,如图2中示出的“最近7天”、“完成测试行为”等。通过对象的创建和指标的筛选,对创建的对象进行加工处理,系统平台在接收到用户选取的业务运算子指标以及逻辑条件后,自动生成新的指标或标签结果即目标指标和目标标签,然后系统平台通过配置好的连接器配置任务。
66.如图2所示,用户可以选择各种参数以形成多个运算子指标,例如图2中的子指标1和子指标2等,在用户选择后,系统自动生成目标业务规则,以及对应的任务,如图3所示,其中,打男女标签任务、衍生-新以及指标测试均为一个任务,也即均为一个目标业务规则。
67.进一步地,用于获取和编辑处理数据的flink程序,需要确定被编辑处理数据的数据来源对象,以及将最终的数据存储在何处的目标表对象,在本技术中,这些信息均可以通过系统平台基于用户输入或选取的数据源信息确定的连接器,包括数据来源datasource和数据池datasink连接器自动生成。
68.进一步地,本技术中的预设系统为基于flink作为统一数据计算底层框架的系统,通过基于业务人员选取的业务规则参数生成的目标业务规则,基于flink作为统一数据计算底层框架自动解析datastream api算子,如:用于关联的算子join、用于分组的keyby算子、用于过滤的filter算子、用于合并数据的union算子等;和通过业务规则选取数据字段,传输给业务逻辑解析器,自动生成flink程序。其中,flink程序可以以jar包的形式呈现。
69.图4为本技术中datastream算子业务关联解析图,图5为本技术中datastream算子程序定义图,如图4和图5所示,datastream中包括了对象名(包括表名和主体等)也即类型名,加载字段即为类字段,预设系统基于目标业务规则生成flink程序的过程包括:根据上述实施例中确定的“选择字段”及keys算子反推join算子处理函数返回字段,生成涵盖所述join节点的“实体”等。其中,需要说明的是,若使用keyby即分组算子,字段选择只能选择keyby涉及或聚合函数;若没有使用keyby且使用了聚合函数时,非聚合字段需要返回首条数据涉及的值,具体原理已经在图4中进行了详细的公开,本领域的技术人员可以通过图4清楚理解本技术中datastream算子业务关联解析的原理,在此不再进行详细说明。
70.另外,图5中以三条不同的路径,对本技术中通过解析和利用多种算子和节点,包括join、keyby、union以及filter算子,生成程序的过程进行说民。其中,不同路径以不同形式的线段进行区分,同一形式的线段为同一个路径。需要说明的是,此处只是实例性地示出三条路径,以介绍本技术的方案,当然在实际应用中,还可以包括多种其他的路径,生成过程也可以包括其他路径,本领域的技术人员可以在此基础上进行不断扩充,在此不再一一列举。
71.在此基础上,本技术提供的数据处理方法还包括将生成的flink程序以jar包的形式上传至预设flink执行服务器中,以供flink执行服务器基于flink程序生成并执行程序任务,例如包括将程序任务通过的预设自定义代理接口提交至yarn集群中,以供yarn集群执行所述程序任务。
72.具体的,自动生成的jar包可以将通过api上传到flink执行服务器上,并自动生成对应的jobsubmitid对应任务。例如包括使用自定义的proxy flink rest api提交flink任务到yarn集群上,并指定对应的jobsubmitid名称,flink执行服务器在接收到任务后异步启动自定义程序任务即目标程序任务。
73.在一些实施例中,proxy flink rest api可以通过多种模式实现系统和flink执行服务器之间的交互,例如包括:第一交互模式即session交互模式和第二交互模式即per job模式,用户可以基于实际操作场景进行选择,从而满足不同的需求,提高系统平台的灵活性。
74.具体的,图6中资源管理平台即为上述实施例中提到的预设系统平台,如图6所示,资源管理平台在利用proxy flink rest api与flink执行服务器交互时,可以通过flink api调起任务、通过flink api管理jar目录文件以及通过调用flink api查看任务状态,即以session交互模式交互;以及通过命令行调起任务、自定义管理jar目录文件和调用了
yarn api查看任务状态等,即以per job交互模式运行。两种模式均可以控制运行任务、终止任务、查看任务状态、详情以及查看集群详情,以及控制jar包的上传、查看、删除和下载等,具体可以参考图6进行理解,在此不再详细说明。
75.本方法为基于自定义规则自动生成flink程序问题提供了一个比较系统且更高效的、可落地的实现方法;通过在线定义数据对象和编辑元数据,使得业务人员在不需开发代码的情况下,能够快速响应各种业务需求变化,更高效的实现业务需求,可以极大降低开发门槛、学习成本和人力成本。
76.本方法使用大数据flink框架,可支持快速增长的数据需求,并且有良好的扩展性和多数据源兼容性;对原来多数据源抽取到持久化存储,再进行库内运算的机制或由其他数据引擎重新读取数据再加工的方法,变更为对多数据源直接抽取到内存计算,再存储到目标持久化存储,提高了数据的计算性能和减少多次存储的时间。
77.系统实施例:
78.基于同一个发明构思,本技术还提供一种基于自定义规则的数据处理系统,包括:程序生成模块和程序运行模块;程序生成模块用于接收用户配置参数,用户配置参数包括数据源信息和业务规则参数;其中,业务规则参数为用户在预设业务规则配置界面选择的;基于业务规则参数生成目标业务规则;对目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和数据源信息,生成flink程序;程序生成模块还用于将flink程序传递至程序运行模块中;程序运行模块用于启动运行flink程序。
79.在一些实施例中,可以通过资产管理应用矩阵等实现上述系统的功能。
80.具体的,如图7所示,资产管理应用矩阵通过etl调度任务和指标/标签系统获取用于生成flink程序的基础数据,然后通过jar解析最终生成flink程序,通过flink服务器管理和执行程序,以读取一种或多种数据源的数据库,并经过代码的数据逻辑加工后,将加工后的数据存储到目标数据库。
81.电子设备实施例:
82.基于同一个发明构思,本发明实施例还提供了一种电子设备,包括:处理器,以及用于存储处理器可执行程序的存储器;其中,处理器,用于通过运行存储器中的程序,实现如上述方法实施例中提供的基于自定义规则的数据处理方法。
83.关于上述实施例中的装置,其中,各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
84.存储介质实施例:
85.基于同一个发明构思,本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序在被处理器运行时使得处理器执行如上述方法实施例中提到的基于自定义规则的数据处理方法。
86.关于上述实施例中的装置,其中,各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
87.可以理解的是,上述各实施例中相同或相似部分可以相互参考,在一些实施例中未详细说明的内容可以参见其他实施例中相同或相似的内容。
88.需要说明的是,在本发明的描述中,术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性。此外,在本发明的描述中,除非另有说明,“多个”的含义
是指至少两个。
89.流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
90.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。
91.本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
92.此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
93.上述提到的存储介质可以是只读存储器,磁盘或光盘等。
94.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
95.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。

技术特征:
1.一种基于自定义规则的数据处理方法,其特征在于,包括:接收用户配置参数,所述用户配置参数包括数据源信息和业务规则参数;其中,所述业务规则参数为用户在预设自定义业务规则配置界面中选取的;基于所述业务规则参数生成目标业务规则;对所述目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和所述数据源信息,生成flink程序。2.根据权利要求书1所述的基于自定义规则的数据处理方法,其特征在于,还包括:基于所述数据源信息,确定对应的连接器;基于所述连接器,生成数据来源对象和目标表对象。3.根据权利要求书1所述的基于自定义规则的数据处理方法,其特征在于,所述业务规则参数包括用户在预设自定义业务规则配置界面选取的业务运算子指标和逻辑条件;所述基于所述业务规则参数生成目标业务规则,包括:基于所述业务运算子指标和逻辑条件,生成包括目标指标和目标标签的目标业务规则。4.根据权利要求书2所述的基于自定义规则的数据处理方法,其特征在于,所述对所述目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和所述数据源信息,生成flink程序,包括:通过预设flink框架系统平台对所述目标业务规则进行算子解析和数据字段选取,通过预设flink框架系统平台生成所述数据来源对象和所述目标表对象;基于所述解析结果、所述选取结果、所述数据来源对象和所述目标表对象生成所述flink程序。5.根据权利要求书1所述的基于自定义规则的数据处理方法,其特征在于,还包括:将所述flink程序以jar包的形式上传至预设flink执行服务器中,以供所述flink执行服务器基于所述flink程序生成并执行目标程序任务。6.根据权利要求书5所述的基于自定义规则的数据处理方法,其特征在于,所述flink执行服务器基于所述flink程序生成并执行程序任务,包括:基于所述flink程序生成目标程序任务;将所述目标程序任务通过的预设自定义代理接口提交至yarn集群中,以供所述yarn集群执行所述目标程序任务。7.根据权利要求书6所述的基于自定义规则的数据处理方法,其特征在于,所述预设自定义代理接口通过第一交互模式或第二交互模块与所述yarn集群进行交互;所述第一交互模式基于flink api调起任务、管理目录文件和查看任务状态;所述第二交互模式基于命令行调起任务、自定义管理目录文件和基于yarn api查看任务状态。8.一种基于自定义规则的数据处理系统,其特征在于,包括:程序生成模块和程序运行模块;所述程序生成模块用于接收用户配置参数,所述用户配置参数包括数据源信息和业务规则参数;其中,所述业务规则参数为用户在预设业务规则配置界面选择的;和用于基于所述业务规则参数生成目标业务规则;以及用于对所述目标业务规则进行算子解析和数据字
段选取,并基于解析结果、选取结果和所述数据源信息,生成flink程序;所述程序生成模块还用于将所述flink程序传递至所述程序运行模块中;所述程序运行模块用于启动并运行所述flink程序。9.一种电子设备,其特征在于,包括:处理器,以及用于存储所述处理器可执行程序的存储器;所述处理器,用于通过运行所述存储器中的程序,实现如权利要求1至7中任一项所述的基于自定义规则的数据处理方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序在被处理器运行时使得所述处理器执行如权利要求1至7中任一项所述的基于自定义规则的数据处理方法。

技术总结
本发明涉及数据编辑处理领域,具体公开一种基于自定义规则的数据处理方法、系统、设备和存储介质,该方法包括:首先接收用户配置参数,包括数据源信息和业务规则参数;其中,业务规则参数为用户在预设自定义业务规则配置界面自定义选取的;然后基于业务规则参数生成目标业务规则;再对目标业务规则进行算子解析和数据字段选取,并基于解析结果、选取结果和数据源信息,生成FLink程序,以通过FLink程序获取和编辑处理数据。如此,业务人员只需要在业务规则自定义配置界面选取参数即可,预设系统自动生成用于获取和编辑处理数据的FLink程序,大大降低了开发难度,同时大大提高了开发效率。效率。效率。


技术研发人员:林佳翔 吴小前
受保护的技术使用者:北京滴普科技有限公司
技术研发日:2023.04.14
技术公布日:2023/8/9
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐