一种数据处理方法、装置、设备及存储介质转让专利

申请号 : CN202210859994.7

文献号 : CN114936250B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈晖周曼汪若彪陆卫军

申请人 : 浙江中控技术股份有限公司

摘要 :

本发明的实施例提供了一种数据处理方法、装置、设备及存储介质,涉及数据处理领域,该方法包括:若监测到第一组件的输出端口发送的数据,则根据第一组件和第二组件之间的数据连线,将数据发送至第二组件的输入端口,数据连线用于表征第一组件和第二组件之间的数据流向;判断第一组件的输出端口与第二组件的输入端口之间是否存在预设的数据字段映射;若存在数据字段映射,则按照数据字段映射对数据进行格式转换,得到转换后的数据;采用第二组件对转换后的数据执行第二组件对应的处理操作。采用本发明,可以提升数据处理的效率,解决不同组件连接的适配问题。

权利要求 :

1.一种数据处理方法,其特征在于,所述方法包括:

若监测到第一组件的输出端口发送的数据,则根据所述第一组件和第二组件之间的数据连线,将所述数据发送至所述第二组件的输入端口,所述数据连线用于表征所述第一组件和所述第二组件之间的数据流向;

判断所述第一组件的输出端口与所述第二组件的输入端口之间是否存在预设的数据字段映射;

若存在所述数据字段映射,则按照所述数据字段映射对所述数据进行格式转换,得到转换后的数据;

采用所述第二组件对所述转换后的数据执行所述第二组件对应的处理操作;

其中,所述按照所述数据字段映射对所述数据进行格式转换,得到转换后的数据,包括:判断所述数据字段映射中是否存在字段连线;

若存在所述字段连线,则根据所述字段连线对应的数据转换方式,对所述数据进行格式转换,得到第一转换后的数据;

根据所述第一转换后的数据,判断所述第二组件的输入端口的数据字段是否存在空缺数据字段,所述空缺数据字段为所述第一组件的输出端口的数据字段中不包含的数据字段;

若存在所述空缺数据字段,则根据所述数据字段映射中所述空缺数据字段的默认参数,对所述第一转换后的数据进行数据填充,得到所述转换后的数据;

所述判断所述第一组件的输出端口与所述第二组件的输入端口之间是否存在预设的数据字段映射之前,所述方法还包括:若监测到针对所述第一组件的输出端口和所述第二组件的输入端口的数据连线操作,则判断所述第一组件的输出端口和所述第二组件的输入端口的数据字段是否完全一致;

若不完全一致,则根据所述第一组件的输出端口和所述第二组件的输入端口的数据字段名和数据类型,确定连线等级;

采用所述连线等级对应的连线策略,生成所述字段连线;

若所述字段连线包括:第一类字段连线,则根据所述第一类字段连线,生成所述数据字段映射;

其中,所述第一类字段连线用于指示所述第一组件的输出端口的数据字段与所述第二组件的输入端口的数据字段之间进行等价转换或无需转换便形成匹配。

2.根据权利要求1所述的方法,其特征在于,所述判断所述数据字段映射中是否存在字段连线,包括:若不存在所述字段连线,确定所述第二组件的输入端口的所述空缺数据字段,根据所述数据字段映射中空缺数据字段的默认参数,对所述数据进行数据填充,得到所述转换后的数据。

3.根据权利要求1所述的方法,其特征在于,所述判断所述数据字段映射中是否存在字段连线,还包括:若存在所述字段连线,判断所述数据字段映射中是否还存在转换脚本;

若存在所述转换脚本,则利用所述转换脚本,根据所述字段连线对应的数据转换方式,对所述数据进行格式转换,得到所述第一转换后的数据。

4.根据权利要求1所述的方法,其特征在于,所述若所述字段连线包括:第一类字段连线,根据所述第一类字段连线,生成所述数据字段映射,包括:若所述字段连线还包括:第二类字段连线,则根据所述第一类字段连线、所述第二类字段连线以及针对所述第二类字段连线输入的转换脚本,生成所述数据字段映射;

其中,所述第二类字段连线用于指示所述第一组件的输出端口的数据字段与所述第二组件的输入端口的数据字段之间需要通过所述转换脚本转换后才能形成匹配。

5.根据权利要求1所述的方法,其特征在于,所述若所述字段连线包括:第一类字段连线,根据所述第一类字段连线,生成所述数据字段映射,还包括:若所述第二组件的输入端口的数据字段存在空缺数据字段,则根据所述第一类字段连线、针对所述空缺数据字段输入的默认参数,生成所述数据字段映射,其中,所述空缺数据字段为所述第一组件的输出端口的数据字段中不包含的数据字段。

6.一种数据处理装置,其特征在于,所述装置包括:

发送模块,用于若监测到第一组件的输出端口发送的数据,则根据所述第一组件和第二组件之间的数据连线,将所述数据发送至所述第二组件的输入端口,所述数据连线用于表征所述第一组件和所述第二组件之间的数据流向;

判断模块,用于判断所述第一组件的输出端口与所述第二组件的输入端口之间是否存在预设的数据字段映射;

转换模块,用于若存在所述数据字段映射,则按照所述数据字段映射对所述数据进行格式转换,得到转换后的数据;

处理模块,用于采用所述第二组件对所述转换后的数据执行所述第二组件对应的处理操作;

所述判断模块,具体还用于判断所述数据字段映射中是否存在字段连线;

所述转换模块,具体还用于若存在所述字段连线,则根据所述字段连线对应的数据转换方式,对所述数据进行格式转换,得到第一转换后的数据;

所述判断模块,具体还用于根据所述第一转换后的数据,判断所述第二组件的输入端口的数据字段是否存在空缺数据字段,所述空缺数据字段为所述第一组件的输出端口的数据字段中不包含的数据字段;

所述转换模块,具体还用于若存在所述空缺数据字段,则根据所述数据字段映射中所述空缺数据字段的默认参数,对所述第一转换后的数据进行数据填充,得到所述转换后的数据;

所述判断模块,具体还用于若监测到针对所述第一组件的输出端口和所述第二组件的输入端口的数据连线操作,则判断所述第一组件的输出端口和所述第二组件的输入端口的数据字段是否完全一致;

所述数据处理装置还包括:确定模块,用于若不完全一致,则根据所述第一组件的输出端口和所述第二组件的输入端口的数据字段名和数据类型,确定连线等级;

所述数据处理装置还包括:生成模块,用于采用所述连线等级对应的连线策略,生成所述字段连线;

所述生成模块,具体还用于若所述字段连线包括:第一类字段连线,则根据所述第一类字段连线,生成所述数据字段映射;

其中,所述第一类字段连线用于指示所述第一组件的输出端口的数据字段与所述第二组件的输入端口的数据字段之间进行等价转换或无需转换便形成匹配。

7.一种数据处理设备,其特征在于,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的程序指令,当数据处理设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述程序指令,以执行如权利要求1至5任一所述的数据处理方法的步骤。

8.一种计算机可读存储介质,其特征在于,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如权利要求1至5任一所述的数据处理方法的步骤。

说明书 :

一种数据处理方法、装置、设备及存储介质

技术领域

[0001] 本发明涉及数据处理领域,具体而言,涉及一种数据处理方法、装置、设备及存储介质。

背景技术

[0002] 当下可视化建模、零代码开发和低代码开发在构建不同软件业务时发挥的作用越来越大,用户可以通过在图形界面上拖拽组件,并在这些组件之间连线来构建不同逻辑的业务。
[0003] 但是当两个组件的端口在连接时,必须要求它们的数据字段保持完全一致。如果某个组件的数据字段随着版本更替而发生变化,那么原先可以与之相连的组件就不再可以连接。这就会导致在已部署的旧环境中使用新版本组件时产生不适配的问题。
[0004] 相关技术中可以通过对所有组件进行统一升级来解决组件端口数据字段不一致的问题,但是开发工作量巨大,难以维护。

发明内容

[0005] 本发明实施例提供的一种数据处理方法、装置、设备及存储介质,可以提升数据处理的效率,解决不同组件连接的适配问题。
[0006] 第一方面,本发明实施例提供一种数据处理方法,所述方法包括:
[0007] 若监测到第一组件的输出端口发送的数据,则根据所述第一组件和第二组件之间的数据连线,将所述数据发送至所述第二组件的输入端口,所述数据连线用于表征所述第一组件和所述第二组件之间的数据流向;
[0008] 判断所述第一组件的输出端口与所述第二组件的输入端口之间是否存在预设的数据字段映射;
[0009] 若存在所述数据字段映射,则按照所述数据字段映射对所述数据进行格式转换,得到转换后的数据;
[0010] 采用所述第二组件对所述转换后的数据执行所述第二组件对应的处理操作。
[0011] 可选地,所述按照所述数据字段映射对所述数据进行格式转换,得到转换后的数据,包括:
[0012] 判断所述数据字段映射中是否存在字段连线;
[0013] 若存在所述字段连线,则根据所述字段连线对应的数据转换方式,对所述数据进行格式转换,得到第一转换后的数据;
[0014] 根据所述第一转换后的数据,判断所述第二组件的输入端口的数据字段是否存在空缺数据字段,所述空缺数据字段为所述第一组件的输出端口的数据字段中不包含的数据字段;
[0015] 若存在所述空缺数据字段,则根据所述数据字段映射中所述空缺数据字段的默认参数,对所述第一转换后的数据进行数据填充,得到所述转换后的数据。
[0016] 可选地,所述判断所述数据字段映射中是否存在字段连线,包括:
[0017] 若不存在所述字段连线,确定所述第二组件的输入端口的所述空缺数据字段,根据所述数据字段映射中空缺数据字段的默认参数,对所述数据进行数据填充,得到所述转换后的数据。
[0018] 可选地,所述判断所述数据字段映射中是否存在字段连线,还包括:
[0019] 若存在所述字段连线,判断所述数据字段映射中是否还存在转换脚本;
[0020] 若存在所述转换脚本,则利用所述转换脚本,根据所述字段连线对应的数据转换方式,对所述数据进行格式转换,得到所述第一转换后的数据。
[0021] 可选地,所述判断所述第一组件的输出端口与所述第二组件的输入端口之间是否存在预设的数据字段映射之前,所述方法还包括:
[0022] 若监测到针对所述第一组件的输出端口和所述第二组件的输入端口的数据连线操作,则判断所述第一组件的输出端口和所述第二组件的输入端口的数据字段是否完全一致;
[0023] 若不完全一致,则根据所述第一组件的输出端口和所述第二组件的输入端口的数据字段名和数据类型,确定连线等级;
[0024] 采用所述连线等级对应的连线策略,生成所述字段连线;
[0025] 若所述字段连线包括:第一类字段连线,则根据所述第一类字段连线,生成所述数据字段映射。
[0026] 可选地,所述若所述字段连线包括:第一类字段连线,根据所述第一类字段连线,生成所述数据字段映射,包括:
[0027] 若所述字段连线还包括:第二类字段连线,则根据所述第一类字段连线、所述第二类字段连线以及针对所述第二类字段连线输入的所述转换脚本,生成所述数据字段映射。
[0028] 可选地,所述若所述字段连线包括:第一类字段连线,根据所述第一类字段连线,生成所述数据字段映射,还包括:
[0029] 若所述第二组件的输入端口的数据字段存在空缺数据字段,则根据所述第一类字段连线、针对所述空缺数据字段输入的默认参数,生成所述数据字段映射,其中,所述空缺数据字段为所述第一组件的输出端口的数据字段中不包含的数据字段。
[0030] 第二方面,本发明实施例还提供一种数据处理装置,所述装置包括:
[0031] 发送模块,用于若监测到第一组件的输出端口发送的数据,则根据所述第一组件和第二组件之间的数据连线,将所述数据发送至所述第二组件的输入端口,所述数据连线用于表征所述第一组件和所述第二组件之间的数据流向;
[0032] 判断模块,用于判断所述第一组件的输出端口与所述第二组件的输入端口之间是否存在预设的数据字段映射;
[0033] 转换模块,用于若存在所述数据字段映射,则按照所述数据字段映射对所述数据进行格式转换,得到转换后的数据;
[0034] 处理模块,用于采用所述第二组件对所述转换后的数据执行所述第二组件对应的处理操作。
[0035] 第三方面,本发明实施例还提供一种数据处理设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的程序指令,当数据处理设备运行时,所述处理器与所述存储器之间通过总线通信,所述处理器执行所述程序指令,以执行如第一方面任一所述的数据处理方法的步骤。
[0036] 第四方面,本发明实施例还提供一种计算机可读存储介质,所述存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如第一方面任一所述的数据处理方法的步骤。
[0037] 本发明提供的一种数据处理方法,装置,设备及存储介质,当检测到第一组件输出端口发送的数据时,可以根据第一组件和第二组件之间的数据连线,将数据发送至第二组件的输入端,并且判断第一组件的输出端口与第二组件的输入端口之间是否存在预设的数据字段映射,若存在,则可以按照数据字段映射对数据进行格式转换,得到转换后的数据,并采用第二组件对转换后的数据执行第二组件对应的处理操作。通过这样的方式,可以在不增加任何额外组件或统一升级组件版本的情况下,直接在数据处理阶段基于组件之间的预设数据字段映射对数据进行转换,使得数据可以在不同组件之间处理运行,从而增加了数据处理的效率,降低由于组件不适配导致的运行不畅问题。同时,由于数据经过转换后可以在不同组件之间运行,使得不同组件可以快速连接互通,降低不同组件连接的难度,解决不同组件连接的适配问题,增加组件的复用,减少开发维护成本。

附图说明

[0038] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0039] 图1为本发明实施例提供的一种数据处理方法的流程示意图;
[0040] 图2为本发明提供的一种组件化开发的操作界面的示意图;
[0041] 图3为本发明提供的一种字段连线转换方法的流程示意图;
[0042] 图4为本发明提供的一种转换脚本处理方法的流程示意图;
[0043] 图5为本发明提供的一种生成字段连线方法的流程示意图;
[0044] 图6为本发明提供的一种编辑数据字段映射的操作界面的示意图;
[0045] 图7为本发明提供的另一种数据处理方法的流程示意图;
[0046] 图8为本发明提供的一种数据处理装置的示意图;
[0047] 图9为本发明提供的一种数据处理设备的示意图。
[0048] 图标:1000,发送模块;2000,判断模块;3000,转换模块;4000,处理模块;10,数据处理设备; 11,处理器;12,存储器;13,总线;101,组件仓库;102,流程编辑区;103,组件设置区;102a,读取数据库组件;102b,数据分割组件;102c,线性回归组件;102d,模型库组件;201,数据字段映射对话框;201a,连线区;201b,脚本区。

具体实施方式

[0049] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
[0050] 因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0051] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
[0052] 在对本发明进行详细地解释之前,先对本发明的应用场景予以介绍。
[0053] 为了快速迭代软件业务以满足日益变换的需求,开发中会在满足性能要求的同时注重更高的开发效率,考虑后期的维护迭代成本。由于在众多应用中许多功能是类似或相同的,为了避免开发中的重复工作,提高开发效率,组件技术逐渐发展起来。
[0054] 组件(Component)是可以复用的软件模块,一个基于组件的软件业务可以由若干个组件构成,组件可以和其他组件连接组成一个更大的逻辑单元。在开发软件时,可以从存放组件的仓库中选择需要的组件,然后像搭建积木一样构建一个软件业务,这样在后续维护过程中仅需要修改其中某些组件就可以了。用户通过组件的端口与其他组件进行连接。由于只有当两个组件进行连接的端口的数据字段完全一致的情况下才能进行组件连接,因此在实际开发中时常会遇到由于两个组件端口数据字段不一致导致无法连接的情况,这样不仅拖延开发时间,不利于开发数据基于组件进行快速处理,也会增加开发的工作量,无法实现组件的复用。
[0055] 基于此,本发明提供一种数据处理方法、装置、设备及存储介质,当检测到第一组件输出端口发送的数据时,可以根据第一组件和第二组件之间的数据连线,将数据发送至第二组件的输入端,并且判断第一组件的输出端口与第二组件的输入端口之间是否存在预设的数据字段映射,若存在,则可以按照数据字段映射对数据进行格式转换,得到转换后的数据,并采用第二组件对转换后的数据执行第二组件对应的处理操作。本发明下述实施例提供的数据处理方法由数据处理设备执行,该数据处理设备可以为具有处理功能的计算机设备,其可以为笔记本电脑、台式电脑、服务器等计算机设备。
[0056] 如下结合附图通过多个实施例进行解释说明。图1为本发明实施例提供的一种数据处理方法的流程示意图。如图1所示,该方法包括:
[0057] S110,若监测到第一组件的输出端口发送的数据,则根据第一组件和第二组件之间的数据连线,将数据发送至第二组件的输入端口。
[0058] 其中,数据连线用于表征第一组件和第二组件之间的数据流向。
[0059] 在本实施例中的组件可以为单一组件或复合组件。单一组件是实现单一功能的组件,复合组件内嵌多个组件,可聚合多个功能,实现专用功能需求。但是不论是单一组件或复合组件,都可以将其抽象为输入端口、数据处理、输出端口三个部分,数据可以从上游组件的输出端口流向下游组件的输入组件。
[0060] 可选地,本实施例中的第一组件为上游组件,第二组件为下游组件。
[0061] 在利用组件进行数据的处理之前,要先按照需求在前端进行组件的组合,即按照需求将不同的组件进行数据连线形成组件组合,在组件组合中,至少有一个上游组件和一个下游组件。
[0062] 在组件化开发中,是通过组件的端口实现不同组件之间数据的传输与相互操作的功能。由于在软件开发中有大量重复使用的组件,为了便于开发者进行重复使用,可以创建预设的组件仓库。在本实施例中,组件可以直接从预设的组件仓库中拖拽使用。在预设的组件仓库中,不同的组件按照功能描述的不同划分为若干类,可以按照需求从不同组件类中拖拽需要的组件进行数据连线,从而完成对组件的组合。在一种可能的实现方式中,组件也可以“边创建边使用”,即用户可以在组件开发环境中根据自定义功能完成组件的编写后,即创建了一个新的组件后,可以直接使用这个新的组件进行数据连线,从而完成对组件的组合。
[0063] 在对不同组件进行组合的过程中,如果仅仅简单地将不同的组件进行数据连线,即使数据可被执行组件对应的处理操作,但是可能无法发挥出组件的优势,增加后期维护的工作量,因此,在一种可能的实现方式中,在进行组件的组合之前,可以先确定需要实现的各功能的层级,将需要解决的大问题,细分成若干小问题,从而选择对应的组件进行数据连线,形成组件的组合,最终完成软件的开发。
[0064] 在完成组件的组合后,即完成了上游组件和下游组件的数据连线之后,第一组件作为上游组件将数据通过自己的输出端口进行发送,若监测到第一组件的输出端口发送的数据,则可以根据第一组件与作为下游组件的第二组件之间的数据连线,将数据发送至第二组件的输入端口。需要注意的是,此时第一组件与第二组件之间的数据连线表征第一组件和第二组件之间的数据流向关系,不代表第一组件的输出端口与第二组件的输入端口已经匹配,即此时在第二组件输入端口的数据不一定能被执行第二组件对应的处理操作,还需要进行进一步的判断。
[0065] S120,判断第一组件的输出端口与第二组件的输入端口之间是否存在预设的数据字段映射。
[0066] 当数据位于第二组件的输入端口之后,需要判断第一组件的输出端口与第二组件的输入端口之间是否存在预设的数据字段映射。预设的数据字段映射两个组件之间的转换关系,即若两个组件存在预设的数据字段映射,即表示下游组件输入端口的数据字段无法在上游组件的输出端口的数据字段中找到完全匹配的数据字段,需要将两个组件端口的数据字段通过预设的数据字段映射进行转换后,才能进行匹配。
[0067] 当用户选择对应的组件进行数据连线,形成组件的组合后,如果第一组件输出端口的数据字段与第二组件输入端口的数据字段不完全一致,即输出端口的数据字段与输入端口的数据字段不相同但是可以通过预设数据字段映射进行转换时,就会生成第一组件的输出端口与第二组件的输入端口之间的数据字段映射,并保持第一组件与第二组件之间的数据连线。
[0068] 可选地,若第一组件的输出端口的数据字段与第二组件的输入端口的数据字段完全一致,即输出端口的数据字段与输入端口的数据字段完全一致时,则不会在第一组件与第二组件之间生成数据字段映射,可以直接采用第二组件对数据执行第二组件对应的处理操作,并保持第一组件与第二组件之间的数据连线。
[0069] 可选地,若第一组件的输出端口的数据字段与第二组件的输入端口的数据字段完全不一致,即输出端口的数据字段与输入端口的数据字段不相同并且没有办法通过预设数据字段映射进行转换时,也不会在第一组件与第二组件之间生成数据字段映射,但会断开第一组件与第二组件之间的数据连线。
[0070] S130,若存在数据字段映射,则按照数据字段映射对数据进行格式转换,得到转换后的数据。
[0071] 若第一组件的输出端口与第二组件的输入端口之间存在数据字段映射,则按照数据字段映射对第二组件输入端口接收到的数据进行格式转换,得到转换后的数据。其中,上述数据字段映射表示第一组件的输出端口的数据字段与第二组件输入端口的数据字段之间的转换方式。
[0072] 需要说明的是,由于组件端口的数据字段为多个,可选地,若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、且数据类型一致的数据字段,例如输出端口存在数据字段UUID(string),输入端口存在UUID(string),则说明第一组件与第二组件之间存在第一类数据字段映射,具有第一类数据字段映射的数据字段,无需进行转换。
[0073] 可选地,若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、但是数据类型相近的数据字段,例如输出端口存在数据字段value1(float),输入端口存在value1(double),则说明第一组件与第二组件之间存在第二类数据字段映射,基于第二类数据字段映射,可以对第二组件输入端口接收的数据中对应的数据字段进行格式转换,即将第二组件接收到的数据中该数据字段的数据类型转换为输入端口的数据类型,将其与第二组件输入端口的数据字段的数据类型和字段名保持一致,得到转换后的数据。
[0074] 可选地,若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、虽然数据类型不一致但是语义上可以实现转换的数据字段,例如输出端口存在数据字段value2(int),输入端口存在value2(string),则说明第一组件与第二组件之间存在第三类数据字段映射,基于第三类数据字段映射,可以对第二组件输入端口接收的数据中对应的数据字段进行格式转换,即将第二组件接收到的数据中该数据字段的数据类型转换为输入端口的数据类型,将其与第二组件输入端口的数据字段的数据类型和字段名保持一致,得到转换后的数据。
[0075] 可选地,若第一组件的输出端口存在字段名与第二组件的输入端口的字段名相近、且数据类型一致或虽然数据类型不一致单数语义上可以实现转换的数据字段,例如输出端口存在数据字段userName(string),输入端口存在UserName(string),或输出端口存在数据字段userName(string),输入端口存在UserName(int),则说明第一组件与第二组件之间存在第四类数据字段映射,基于第四类数据字段映射,可以对第二组件输入端口接收的数据中对应的数据字段进行格式转换,即将第二组件接收到的数据中该数据字段的字段名和数据字段转换为输入端口的字段名和数据类型,将其与第二组件输入端口的数据字段的数据类型和字段名保持一致,得到转换后的数据。
[0076] 可选地,若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、数据类型不一致且无法直接转换的数据字段,例如输出端口存在数据字段value2(float array),输入端口存在value2(float),float array表明数据类型是浮点数数组;float,表明其数据类型是单个浮点数,两者数据字段在数量上不能对应,无法直接简单的转换,则说明第一组件与第二组件之间存在第五类数据字段映射,基于第五类数据字段映射,可以对第二组件输入端口接收的数据中对应的数据字段进行格式转换,该格式转换的过程需要用户手动编写脚本进行转换,实现将数据中数据字段的数据类型转换为输入端口的数据类型,将其与第二组件输入端口的数据字段的数据类型和字段名保持一致,得到转换后的数据。
[0077] 可选地,若第二组件的输入端口存在第一组件输出端口的数据字段不包含的数据字段,例如输入端口存在数据字段password(string),而输出端口不存在该数据字段,则说明第一组件与第二组件之间存在第五类数据字段映射,基于第五类数据字段映射,可以对第二组件输入端口接收的数据中对应缺失的数据字段以预设的默认值进行填充,将其与第二组件输入端口的数据字段的数据类型和字段名保持一致,得到转换后的数据。
[0078] 可选地,在本实施例中,第一组件的输出端口与第二组件的输入端口若存在数据字段映射,则第一组件输出端口与第二组件的输入端口之间至少存在第二、三、四、五类数据字段映射中任一一种数据字段映射,不能单独仅存在第一类数据字段映射,若第一组件的输出端口所有数据字段与输入端口的所有数据字段完全一致时,则不会在第一组件与第二组件之间生成数据字段映射。
[0079] S140,采用第二组件对转换后的数据执行第二组件对应的处理操作。
[0080] 将数据转换后,则采用第二组件对转换后的数据执行第二组件对应的处理操作。可选地,若第二组件封装的程序功能为“数据分割”则对转换后的数据进行数据分割操作;
若第二组件封装的程序功能为“线性回归”则对转换后的数据进行线性回归操作。
[0081] 本实施例可以在不增加任何额外组件或统一升级组件版本的情况下,直接在数据处理阶段基于组件之间的预设数据字段映射对数据进行转换,使得数据可以在不同组件之间处理运行,从而增加了数据处理的效率,降低由于组件不适配导致的运行不畅问题。同时,由于数据经过转换后可以在不同组件之间运行,使得不同组件可以快速连接互通,降低不同组件连接的难度,解决不同组件连接的适配问题,增加组件的复用,减少开发维护成本。
[0082] 为了清楚地说明组件化开发的过程,本发明还提供一种组件化开发的操作的可能实现方式。图2为本发明提供的一种组件化开发的操作界面的示意图。如图2所示,该组件化开发的操作界面包括:组件仓库101、流程编辑区102、组件设置区103。在组件仓库101中,以树形结构展示了可选用的组件,不同的组件按照功能描述的不同划分为若干类,双击组件类别,如“分类”,就会展开“分类”类别中的组件“二分类”、“多分类”;中间是供用户进行编辑的图形化流程编辑区102,用户可从组件仓库101中选取想要的组件拖拽入流程编辑区102中,并在它们之间用鼠标连线来表示它们之间的数据流向,这种在两个组件的端口之间用来表示数据流向的连线在本发明中称为数据连线。若需要对组件进行设置,如对“数据分割”组件设置分割比例,即可双击“数据分割”组件在组件设置区103进行比例设置。当用户在流程编辑区102完成对组件的组合后,便可以点击“保存”,保存后的流程编辑区102中的组件开始从上之下依次进行两两组件之间的端口数据字段的匹配,例如,保存后,读取数据库组件102a就会将数据从端口102e发送至数据分割组件102b的端口102f,进行S110‑S140的步骤。
[0083] 若两两组件之间上游组件的输出端口的数据字段与下游组件的输入端口的数据字段完全一致,则不会生成数据字段映射,流程编辑区102中这两个组件之间的数据连线保持;若两两组件之间上游组件的输出端口的数据字段与下游组件的输入端口的数据字段完全不一致,则流程编辑区102中这两个组件之间的数据连线会立马断开;若两两组件之间上游组件的输出端口的数据字段和下游组件的输入端口的数据字段可以通过预设的数据字段映射转换形成匹配,则对这两个组件之间建立数据字段映射,流程编辑区102中这两个组件之间的数据连线保持。
[0084] 在一种可能实现方式中,若两两组件之间上游组件的输出端口的数据字段与下游组件的输入端口的数据字段完全一致,流程编辑区102中这两个组件之间的数据连线保持的同时会变成“金黄色”表示这两个组件之间完全匹配;若两两组件之间可以通过预设的数据字段映射转换后形成匹配,流程编辑区102中这两个组件之间的数据连线保持的同时会变成“棕色”,表示这两个组件之间是通过预设的数据字段映射达成匹配的。数据连线颜色的改变可以更为直观地告知用户两两组件之间的匹配结果,本实施例对具体的颜色不做任何限制。可选地,数字连线还可以变为不同的形状以指示不同的匹配结果,如完全匹配时变为“实线向下箭头”,需要转换才能匹配时变为“虚线向下箭头”本实施例对具体的形状不做限制。
[0085] 下面结合具体的实施例进行说明。
[0086] 如图2提供的流程编辑区102所示,流程编辑区102中的组件组合为对数据进行线性回归训练的例子,该组件组合包括读取数据库组件102a、数据分割组件102b、线性回归组件102c和模型库组件102d。在两个组件中,读取数据库组件102a是上游组件,数据分割组件102b是下游组件;端口102e是读取数据库组件102a的数据输出端口,在读取数据库组件
102a完成读取数据后,从端口102e中将数据发送至数据分割组件102b的输入端口102f。数据连线102g由用户在端口102e和端口102f之间进行手动连接生成,表示端口102e送出的数据会送入到端口102f中去。
[0087] 保存后,流程编辑区102中的组件开始从上之下依次进行两两组件之间的端口数据字段的匹配。如果端口102e和端口102f的数据字段完全一致,此时数据连线102g依旧保持,将数据从102e发送至102f,采用数据分割组件102b对数据直接执行“数据分割”操作;如果端口102e和端口102f的数据字段不完全一致,但是可以转化,此时数据连线102g依旧保持,生成预设的数据字段映射,将数据从102e发送至102f,并根据预设的数据字段映射对数据进行转换,采用数据分割组件102b对转换后的数据执行“数据分割”操作;如果端口102e和端口102f的数据字段完全不一致,则数据连线102g断开。
[0088] 在本实施例中,通过可视化的组件化开发的操作界面,可以更为便捷地进行组件化地开发的同时,更为直接地向用户展示组件之间的匹配结果,使得更为快速地进行组件之间的组合,提升了数据字段的处理效率。
[0089] 在上述图1提供的一种数据处理方法的基础上,本发明还提供了一种通过字段连线进行数据处理的可能实现方式。图3为本发明提供的一种字段连线转换方法的流程示意图。如图3所示,上述S130中,按照数据字段映射对数据进行格式转换,得到转换后的数据,包括:
[0090] S210,判断数据字段映射中是否存在字段连线。
[0091] 在本实施例中,若第一组件的输出端口与第二组件的输入端口之间存在预设的数据字段映射,则需要先判断数据字段映射之间是否存在字段连线。
[0092] 需要说明的是,由于组件端口的数据字段为多个,若第一组件的输出端口与第二组件的输入端口之间存在预设的数据字段映射,第一种可能,此时第一组件的输出端口存在与第二组件输入端口对应但不匹配的数据字段,将第一组件的输出端口的数据字段经过转换后,两个组件之间形成匹配;第二种可能,此时第二组件的输入端口存在第一组件的输出端口不包含的数据字段,则需要对将第一组件的输出端口进行预设默认值的填充,达到对第一组件输出端口的数据字段的默认值转换,两个组件之间形成匹配;第三种可能,此时第一组件的输出端口存在与第二组件输入端口对应但不匹配的数据字段,同时,此时第二组件的输入端口存在第一组件的输出端口不包含的数据字段,则需要对第一组件对应的不匹配的数据字段进行转换的同时,还需要对第一组件不存在的数据字段进行预设默认值的填充,以使得两个组件之间形成匹配。
[0093] 与此同时,对于上述每一种可能情况,都可能同时并存:第一组件的输出端口存在与第二组件输入端口完全匹配的数据字段,例如在一种可能的情况下,此时第一组件的输出端口不仅存在,转换后与第二组件输入端口对应的数据字段形成匹配的数据字段,也同时存在无需转换,直接与第二组件输入端口对应的数据字段形成匹配的数据字段,与此同时,第二组件的输入端口存在第一组件的输出端口不包含的数据字段。
[0094] 在本实施例中,在两个组件已有数据字段映射的情况下,对于端口处的多个数据字段来说,若第一组件的输出端口存在,转换后与第二组件输入端口对应的数据字段形成匹配的数据字段,则对于该数据字段与第二组件对应的数据字段之间,会生成字段连线;若第一组件的输出端口存在无需转换,直接与第二组件输入端口对应的数据字段形成匹配的数据字段,则对于该数据字段与第二组件对应的数据字段之间,也会生成字段连线。
[0095] 字段连线存在于上游组件的输出端口的数据字段与下游组件的输入端口的数据字段之间。例如,上游组件输出端口的A数据字段与下游组件输入端口的B数据字段之间有字段连线,则指示A数据字段转换后无需转换,与B数据字段形成匹配。
[0096] S220,若存在所述字段连线,则根据字段连线对应的数据转换方式,对数据进行格式转换,得到第一转换后的数据。
[0097] 若两个组件的数据字段中存在字段连线,由于组件端口的数据字段为多个,则两个组件之间存在的字段连线可能为多个,它们之间形成的字段连线存在以下几种情况,可以根据不同字段连线对应的不同的数据转换方式,分别对下游组件接收到的数据进行对应数据字段的格式转换,最终得到转换后的数据。
[0098] 在判断出两个组件之间存在数据字段映射之后,可选地,若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、且数据类型一致的数据字段,则此时两个数据字段之间生成的字段连线对应的数据转换方式为:无需转换;
[0099] 若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、但是数据类型相近的数据字段,则此时两个数据字段之间生成的字段连线对应的数据转换方式为:需要将第二组件接收到的数据中该数据字段的数据类型转换为输入端口的数据类型;
[0100] 若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、虽然数据类型不一致但是语义上可以实现转换的数据字段,则此时两个数据字段之间生成的字段连线对应的数据转换方式为:需要将第二组件接收到的数据中该数据字段的数据类型转换为输入端口的数据类型;
[0101] 若第一组件的输出端口存在字段名与第二组件的输入端口的字段名相近、且数据类型一致或虽然数据类型不一致单数语义上可以实现转换的数据字段,则此时两个数据字段之间生成的字段连线对应的数据转换方式为:将第二组件接收到的数据中该数据字段的字段名和数据字段转换为输入端口的字段名和数据类型。
[0102] 基于以上几种数据转换方式,在本实施例中,可以基于两个组件中存在字段连线的数据字段的情况,对接收到的数据中对应的数据字段进行格式转换,从而得到第一转换后的数据,第一转换后的数据指示该数据为:经过字段连线对应的数据转换方式转换后的数据。
[0103] S230,根据第一转换后的数据,判断第二组件的输入端口的数据字段是否存在空缺数据字段,空缺数据字段为第一组件的输出端口的数据字段中不包含的数据字段。
[0104] 若得到了第一转换后的数据,可选地,由于第二组件的输入端口的数据字段可能存在第一组件输出端口不存在的数据字段,因此,还需要判断第二组件的输入端口的数据字段是否存在空缺数据字段,若存在,则执行S240;若不存在,则说明得到的第一转换后的数据就是最终得到的转换后的数据,则直接执行S140的相关步骤,即采用第二组件对第一转换后的数据执行第二组件对应的处理操作。
[0105] S240,若存在空缺数据字段,则根据数据字段映射中空缺数据字段的默认参数,对第一转换后的数据进行数据填充,得到转换后的数据。
[0106] 若判断出第二组件中确实存在,第一组件的输出端口的数据字段中不包含的数据字段,则可以根据预设的数据字段映射中的空缺数据字段的默认参数,对第一转换的数据进行默认参数的填充,最终得到转换后的数据,执行S140。
[0107] 在本实施例中,可以快速根据组件直接的数据字段映射中的字段连线判断出数据需要进行的转换方式,并且采用默认值对空缺字段进行填充,从而快速对数据进行转换,便于对数据进行及时地处理。
[0108] 在上述图3提供的一种字段连线转换方法的基础上,本发明还提供了一种通过字段填充进行数据转换的可能实现方式。可选地,上述S210中,判断数据字段映射中是否存在字段连线,包括:
[0109] S310,若不存在字段连线,确定第二组件的输入端口的空缺数据字段,根据数据字段映射中空缺数据字段的默认参数,对数据进行数据填充,得到转换后的数据。
[0110] 在本实施例中,若两个组件端口的数据字段中存在数据字段映射,但是不存在任何字段连线,则说明第二组件的输入端口存在第一组件的输出端口的数据字段中不包含的数据字段,则直接根据确定出第二组件的输入端口的空缺数据字段,利用数据映射中空缺数据字段的默认参数,对数据进行数据填充,得到最终转换后的数据,执行S140。
[0111] 在本实施例中,当不存在字段连线时,直接根据第二组件中存在的空缺数据字段,对数据进行填充,从而达到对数据的快速处理。
[0112] 在上述图3提供的一种字段连线转换方法的基础上,本发明还提供了一种通过转换脚本进行数据处理的可能实现方式。图4为本发明提供的一种转换脚本处理方法的流程示意图。如图4所示,上述S210中,判断数据字段映射中是否存在字段连线,包括:
[0113] S410,若存在字段连线,判断数据字段映射中是否还存在转换脚本。
[0114] 在本实施例中,在一种可能的实现方式中,用户可以通过手动编写脚本的方式来实现数据字段的转换,在这种情况下,通过脚本进行转换的数据字段之间也会形成字段连线,例如,上游组件输出端口的A数据字段与下游组件输入端口的B数据字段之间有字段连线,也有转换脚本,则指示A数据字段通过转换脚本转换后,与B数据字段形成匹配。
[0115] 可选地,在判断存在字段连线后,继续判断这两个组件的数据字段映射中是否存在转换脚本,转换脚本存在与上游组件的输出端口的数据字段与下游组件的输入端口的数据字段之间,例如,上游组件的输出端口的A数据字段与下游组件输入端口的B数据字段之间有字段连线的同时还存在转换脚本,则指示A数据字段无法直接转换成B数据字段,需要用户通过手动编写脚本的才能进行转换。
[0116] 如,若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、数据类型不一致且无法直接转换的数据字段,则此时两个数据字段之间生成的字段连线对应的数据转换方式为:利用用户手动编写的转换脚本,将数据中数据字段的数据类型转换为输入端口的数据类型。
[0117] S420,若存在转换脚本,则利用转换脚本,根据字段连线对应的数据转换方式,对数据进行格式转换,得到第一转换后的数据。
[0118] 若确定两个数据字段存在字段连线后,确定存在转换脚本,则此时两个数据字段之间生成的字段连线对应的数据转换方式为:按照转换脚本进行转换;在转换时,对于不仅存在字段连线,还存在转换脚本的数据字段,利用转换脚本,根据字段连线对应的数据转换方式(按照转换脚本进行转换),对数据中对应的数据字段进行格式转换;在转换时,对于存在字段连线,就直接利用字段连线对应的数据转换方式(将第二组件接收到的数据中该数据字段的数据类型转换为输入端口的数据类型;或,将第二组件接收到的数据中该数据字段的字段名和数据字段转换为输入端口的字段名和数据类型)对数据中对应的数据字段进行格式转换;
[0119] 基于以上方式,最终对数据中每个带有字段连线的数据字段根据字段连线对应的数据转换方式进行格式转换,得到第一转换后的数据,继续执行S230 240。~
[0120] 在本实施例中,通过转换脚本的加入,使得数据字段在匹配过程中的自由度更大,更有利于两个组件之间进行数据的快速处理。
[0121] 在上述图3提供的一种字段连线转换方法的基础上,本发明还提供了一种生成字段连线的可能实现方式。图5为本发明提供的一种生成字段连线方法的流程示意图。如图5所示,上述S120中,判断第一组件的输出端口与第二组件的输入端口之间是否存在预设的数据字段映射之前,包括:
[0122] S510,若监测到针对第一组件的输出端口和第二组件的输入端口的数据连线操作,则判断第一组件的输出端口和第二组件的输入端口的数据字段是否完全一致。
[0123] 完成了组件的组合之后,若需要运行组件,会先对两两组件之间的组合方式进行判断,在本实施例中,若监测到针对第一组件的输出端口和第二组件的输入端口的数据连线操作,即监测到第一组件的输出端口和第二组件的输入端口之间具有数据连线,则说明用户需要将数据从第一组件的输出端口发送至第二组件的输入端口,并且期望数据被执行第二组件对应的处理操作。
[0124] 则在本实施例中,为了达到用户的期望,就需要先判断第一组件的输出端口和第二组件的输入端口的数据字段是否完全一致,若第一组件的输出端口和第二组件的输入端口的数据字段是否完全不一致,则数据连线会断开,说明第一组件和第二组件不适合作为组合。
[0125] S520,若不完全一致,则根据第一组件的输出端口和第二组件的输入端口的数据字段名和数据类型,确定连线等级。
[0126] 若第一组件的输出端口数据字段与第二组件的输入端口的数据字段不完全一致,即判断出输出端口的数据字段与输入端口的数据字段不相同但是可以通过预设的连接逻辑进行转换时,便可以根据第一组件的输出端口和第二组件的输入端口的数据字段名和数据类型,根据预设的连接逻辑确定连线等级。下表为本实施例提的一种字段连线等级表。
[0127] 表1 字段连线等级表
[0128] 等级 连接 逻辑1 级 字段名和数据类型完全一致 即可连接
2 级 字段名一样,数据类型相近即可连接,如 float 和 double 。
3 级 字段名一样,数据类型不一致,但在语义上实现转换,即可连接。如所有的 int 转 string ,仅包含数字的 string 可以转 int 或 float 。
4 级 字段名相近,且在数据类型上一致或能在语义上实现转换的,即可连接。如 userName 和 UserName 。
[0129] 如表1所示,第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、且数据类型一致的数据字段,则第一组件与第二组件之间直接的连线等级为:1级;若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、但是数据类型相近的数据字段,则第一组件与第二组件之间直接的连线等级为:2级;若第一组件的输出端口存在字段名与第二组件的输入端口的字段名一致、虽然数据类型不一致但是语义上可以实现转换的数据字段,则第一组件与第二组件之间直接的连线等级为:3级;若第一组件的输出端口存在字段名与第二组件的输入端口的字段名相近、且数据类型一致或虽然数据类型不一致单数语义上可以实现转换的数据字段,则第一组件与第二组件之间直接的连线等级为:4级。
[0130] 可选地,可依据以上字段连线等级进行预设,使得数据处理设备自动生成第一组件的输出端口和第二组件的输入端口之间的各个字段连线等级。
[0131] 可选地,在一种可能的实现方式中,若第一组件与第二组件之间无法通过预设的连接逻辑建立字段连线,但是第二组件的输入端口存在第一组件的输出端口的数据字段中不包含的数据字段,且对于第一组件而言,该不包含的数据字段可以通过预设的默认参数进行填充,则也会判定第一组件的输出端口和第二组件的输入端口的数据字段属于不完全一致,会根据针对空缺数据字段输入的默认参数生成数据字段映射。
[0132] S530,采用连线等级对应的连线策略,生成字段连线。
[0133] 在本实施例中,在生成字段连线时,为了向用户指示清晰明了地字段连线等级,可选地,可以采用连线等级对应的连线策略,生成字段连线。下表为本实施例提的一种连线策略等级表。
[0134] 表2 连线策略等级表
[0135]等级 连线策略
1 级 绿色
2 级 黄色
3 级 蓝色
4 级 红色
[0136] 如表2所示,连线策略为不同等级下的连线方式,上表2提供的连线策略为:1级——绿色连线;2级——黄色连线;3级——蓝色连线;4级——红色连线;本实施例对具体地颜色不进行限制。在一种可能的实现方式中,还可以用不同形状的连线,如各种形状的箭头来作为不同等级下的连线策略,使用户可快速根据连线方式得知两个数据字段之间的连接逻辑。
[0137] 可选地,可以依据以上字段连线等级及连线策略进行预设,使得在用户完成组件的组合后,便进行自动的连线。
[0138] 可选地,在以上连线等级的基础上,还可以制定连线等级“0级”,指示在这种情况下,不进行任何自动连线。可选地,用户可以自由选择自动连线的最大宽松度,例如,若用户选择“4级”,则在依据字段连线等级进行自动连线的时,可以两个组件之间最多存在4个等级的字段连线,执行自动连线时,依据1‑2‑3‑4的顺序以此匹配,如果匹配到某个等级符合连接逻辑时,便进行字段连线,字段连线颜色为该等级的颜色;若用户选择“3级”,则在依据字段连线等级进行自动连线的时,可以两个组件之间最多存在3个等级的字段连线,执行自动连线时,依据1‑2‑3的顺序以此匹配,如果碰到两个数据字段的字段名相近,且在数据类型上一致或能在语义上实现转换,则不进行连接,可由用户进行手动连接。
[0139] 可选地,在一种可能的实现方式中,在进行自动连线后,若还存在两两数据字段之间未进行字段连线,可以由用户根据实际情况进行手动连线,或,在进行手动连线的基础上进行脚本的编写,使两个数据字段得以匹配。
[0140] S540,若字段连线包括:第一类字段连线,则根据第一类字段连线,生成数据字段映射。
[0141] 在本实施例中,若两个数据字段之间可以直接进行转换,则会直接生成第一类字段连线,第一类字段连线指示两个数据字段之间,可以直接等价转换/无需转换,就可以形成匹配,包括可以直接将第二组件接收到的数据中该数据字段的数据类型转换为输入端口的数据类型;或,直接将第二组件接收到的数据中该数据字段的字段名和数据字段转换为输入端口的字段名和数据类型。若两个组件之间的字段连线中包括了第一类字段连线,则会根据第一类字段连线及其包含的连接逻辑,生成数据字段映射。
[0142] 可选地,上述S540中,若字段连线包括:第一类字段连线,则根据第一类字段连线,生成数据字段映射,包括:
[0143] S610,若字段连线还包括:第二类字段连线,则根据第一类字段连线、第二类字段连线以及针对第二类字段连线输入的转换脚本,生成数据字段映射。
[0144] 在本实施例中,若两个组件之间的字段连线不仅包含了第一类字段连线,还包括了第二类字段连线,第二类字段连线指示两个数据字段之间,需要通过转换脚本转换后才能进行匹配,则在生成数据字段映射时,不仅包含了第一字段连线、还包含了第二字段连线以及针对第二类字段连线输入的转换脚本。
[0145] 可选地,上述S540中,若字段连线包括:第一类字段连线,则根据第一类字段连线,生成数据字段映射,还包括:
[0146] S710,若第二组件的输入端口的数据字段存在空缺数据字段,则根据第一类字段连线、针对空缺数据字段输入的默认参数,生成数据字段映射,其中,空缺数据字段为第一组件的输出端口的数据字段中不包含的数据字段。
[0147] 在本实施例中,若两个组件之间的字段连线包含了第一类字段连线的同时,第二组件的输入端口的数据字段存在空缺数据字段,则根据第一类字段连线、针对空缺数据字段输入的默认参数,一起生成数据字段映射。
[0148] 可选地,若第二组件的输入端口的数据字段存在空缺数据字段、上述生成的字段连线包括第一类字段连线、第二类字段连线,则根据第一类字段连线、第二类字段连线以及针对第二类字段连线输入的转换脚本,生成数据字段映射。
[0149] 在本实施例中,通过生成的各种不同的预设数据字段映射,快速指示用于组件之间的数据字段需要的转换方式,便于对数据进行快速处理。
[0150] 为了清楚地说明利用数据字段映射进行数据格式转换的过程,本发明还提供一种对数据字段映射进行编辑的可能实现方式。图6为本发明提供的一种编辑数据字段映射的操作界面的示意图,如图6所示,当组件组合完成之后,若上游组件的输出端口与下游组件的输入端口之间存在预设的数据字段映射,就会按照组件组合的顺序依次展示两两组件之间形成的数据字段映射对话框。如图6所示的数据字段映射对话框201,数据字段映射对话框201包括连线区201a和脚本区201b,其中连线区201a将上游组件与下游组件的数据字段分布排列在连线区的左右两侧。可选地,当数据字段映射对话框201打开时,就可以执行自动连线,如图6所示,当前设置自动连线的等级为“1级”,则只有两个数据字段的字段名和数据类型完全一致的时候才会被自动连接,即只有数据字段UUID之间的字段连线A进行了连接;其余数据字段之间的字段连线可以由用户手动进行连线。
[0151] 左侧的数据字段userName和右侧的数据字段UserName的字段名虽然不一致但是相近,数据类型一致,用户可以通过手动连线把它们对应在一起;两边的数据字段value1虽然字段名一样,但是数据类型不完全一致,左侧的value1为float类型,右侧的value1为double类型,但是可以在语义上实现转换,因此用户也可以通过手动连线把它们对应在一起;而对于两边的数据字段value2,则不能通过简单的字段连线进行绑定,因为左侧的value2是float array,即其数据类型是浮点数数组,而右侧的value2是float,即其数据类型是单个浮点数,数量上不能对应,因此该数据字段value2的匹配需要用户在脚本区201b中编写转换脚本来实现匹配,如编写:
[0152] right["value2"] = left["value2"][0]
[0153] 即通过转换脚本将左侧value2的第0个元素赋值给右侧的value2,从而实现两边value2之间的数据字段匹配,在编写转换脚本后,用户也可以通过手动连线把它们对应在一起;对于右侧的数据字段password,左侧并不能找到与之对应的数据字段,因此用户可以为其设置一个默认值。
[0154] 在一种可能的实现方式中,在连线区201a形成字段连线时,为了向用户指示清晰明了地字段连线等级,可选地,可以采用连线等级对应的连线策略,可以在自动连线或/和用户手动连线时通过不同颜色的字段连线,更为清晰地向用户展示两个数据字段之间的连接逻辑。
[0155] 可选地,若用户对当前上游组件1和下游组件1之间完成了转换脚本的输入和手动连线,可以点击“保存”,即可生成上游组件1和下游组件1之前的数据字段映射;可选地,点击“保存”后,当前的数据字段映射对话框201会立刻刷新,出现组件组合中其余两两组件之间形成的数据字段映射对话框201,如,在刷新后的数据字段映射对话框201中,左侧为上游组件2,右侧为下游组件2,直至对组件组合中所有存在预设的数据字段映射的两两组件完成数据字段映射的保存。
[0156] 为了清楚地说明数据处理的过程,本发明还提供一种数据处理的可能实现方式。图7为本发明提供的另一种数据处理方法的流程示意图。如图7所示,该数据处理方法,包括:
[0157] S1001,第一组件的输出端口发送数据。在完成组件的组合后,即完成了上游组件和下游组件的数据连线之后,第一组件作为上游组件将数据通过自己的输出端口进行发送,将数据发送至第二组件的输入端口。
[0158] S1002,第二组件的输入端口接收数据。但是此时数据并不会直接被执行第二组件的处理操作。
[0159] S1003,判断是否有数据字段映射。具体步骤如S120所述,当第一组件的输出端口与第二组件的输入端口之间存在数据字段映射,则进行S1004,否则,说明第一组件的输出端口与第二组件的输入端口之间的数据字段处于完全匹配,直接将数据流入S1010。
[0160] S1004,判断是否有字段连线。具体步骤如S210所述,当数据字段映射中包含字段连线,则进行S1004,否则,直接将数据流入S1008的判断中。
[0161] S1005,判断是否有转换脚本。具体步骤如S410所述,当字段连线中包含转换脚本,则进行S1006,利用转换脚本,根据字段连线对数据进行格式转换,否则进行S1007。
[0162] S1006,利用转换脚本,根据字段连线对数据进行格式转换。具体步骤如S420所述,不再赘述。
[0163] S1007,根据字段连线对数据进行格式转换。具体步骤如S220所述,不再赘述。
[0164] S1008,判断第二组件输入端口是否存在空缺数据字段。当根据字段连线转换完毕后,或,当前数据字段映射中不存在字段连线时,就会直接进行S1008的判断,若第二组件输入端口存在空缺数据字段,则执行S1009;若第二组件的输入端口不存在空缺数据字段,则直接利用根据字段连线转换完毕的数据,进行S1010的步骤。
[0165] S1009,按照默认参数对数据进行填充。确定第二组件的输入端口的空缺数据字段,根据数据字段映射中空缺数据字段的默认参数,对数据进行数据填充,得到转换后的数据。
[0166] S1010,执行第二组件对应的处理操作。具体步骤如S140所述,不再赘述。
[0167] 在本实施例中,通过利用两个组件之间存在的数据映射关系进行一步步地判断,从而快速地对数据进行处理,使得数据能被下游组件执行应有的操作。
[0168] 图8为本发明提供的一种数据处理装置的示意图,如图8所示,该数据处理,包括:
[0169] 发送模块1000,用于若监测到第一组件的输出端口发送的数据,则根据第一组件和第二组件之间的数据连线,将数据发送至第二组件的输入端口,数据连线用于表征第一组件和第二组件之间的数据流向。
[0170] 判断模块2000,用于判断第一组件的输出端口与第二组件的输入端口之间是否存在预设的数据字段映射。
[0171] 转换模块3000,用于若存在数据字段映射,则按照数据字段映射对数据进行格式转换,得到转换后的数据。
[0172] 处理模块4000,用于采用第二组件对转换后的数据执行第二组件对应的处理操作。
[0173] 可选地,判断模块2000,具体还用于判断数据字段映射中是否存在字段连线;
[0174] 可选地,转换模块3000,具体还用于若存在字段连线,则根据字段连线对应的数据转换方式,对数据进行格式转换,得到第一转换后的数据;
[0175] 可选地,判断模块2000,具体还用于根据第一转换后的数据,判断第二组件的输入端口的数据字段是否存在空缺数据字段,空缺数据字段为第一组件的输出端口的数据字段中不包含的数据字段;
[0176] 可选地,转换模块3000,具体还用于若存在空缺数据字段,则根据数据字段映射中空缺数据字段的默认参数,对第一转换后的数据进行数据填充,得到转换后的数据。
[0177] 可选地,转换模块3000,具体还用于若不存在字段连线,确定第二组件的输入端口的空缺数据字段,根据数据字段映射中空缺数据字段的默认参数,对数据进行数据填充,得到转换后的数据。
[0178] 可选地,判断模块2000,具体还用于若存在字段连线,判断数据字段映射中是否还存在转换脚本;
[0179] 可选地,转换模块3000,具体还用于若存在转换脚本,则利用转换脚本,根据字段连线对应的数据转换方式,对数据进行格式转换,得到第一转换后的数据。
[0180] 可选地,判断模块2000,具体还用于若监测到针对第一组件的输出端口和第二组件的输入端口的数据连线操作,则判断第一组件的输出端口和第二组件的输入端口的数据字段是否完全一致;
[0181] 可选地,该数据处理装置,还包括确定模块,用于若不完全一致,则根据第一组件的输出端口和第二组件的输入端口的数据字段名和数据类型,确定连线等级;
[0182] 可选地,该数据处理装置,还包括生成模块,用于采用连线等级对应的连线策略,生成字段连线;若字段连线包括:第一类字段连线,则根据第一类字段连线,生成数据字段映射。
[0183] 可选地,生成模块,具体还用于若字段连线还包括:第二类字段连线,则根据第一类字段连线、第二类字段连线以及针对第二类字段连线输入的转换脚本,生成数据字段映射。
[0184] 可选地,生成模块,具体还用于若第二组件的输入端口的数据字段存在空缺数据字段,则根据第一类字段连线、针对空缺数据字段输入的默认参数,生成数据字段映射,其中,空缺数据字段为第一组件的输出端口的数据字段中不包含的数据字段。
[0185] 以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(Digital Singnal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System‑on‑a‑Chip,简称SOC)的形式实现。
[0186] 图9为本发明提供的一种数据处理设备的示意图。如图9所示,该数据处理设备10包括:处理器11、存储器12和总线13,存储器12存储有处理器11可执行的程序指令,当数据处理设备10运行时,处理器11与存储器12之间通过总线13通信,处理器11执行程序指令,以执行上述方法实施例。
[0187] 可选地,本发明还提供一种程序产品,例如计算机可读存储介质,包括程序,该程序在被处理器执行时用于执行上述方法实施例。
[0188] 在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0189] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0190] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0191] 上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(英文:Processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read‑Only Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory,简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0192] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。