CN111813769B - 数据加工方法与装置 - Google Patents

数据加工方法与装置 Download PDF

Info

Publication number
CN111813769B
CN111813769B CN202010685506.6A CN202010685506A CN111813769B CN 111813769 B CN111813769 B CN 111813769B CN 202010685506 A CN202010685506 A CN 202010685506A CN 111813769 B CN111813769 B CN 111813769B
Authority
CN
China
Prior art keywords
name
field
component
processing
target field
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010685506.6A
Other languages
English (en)
Other versions
CN111813769A (zh
Inventor
荀志
唐智杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Dt Dream Technology Co Ltd
Original Assignee
Hangzhou Dt Dream Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hangzhou Dt Dream Technology Co Ltd filed Critical Hangzhou Dt Dream Technology Co Ltd
Priority to CN202010685506.6A priority Critical patent/CN111813769B/zh
Publication of CN111813769A publication Critical patent/CN111813769A/zh
Application granted granted Critical
Publication of CN111813769B publication Critical patent/CN111813769B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例提供数据加工方法与装置,以解决命名无意义且命名重复的问题。该方法包括:建立流式加工任务链;流式加工任务链包括至少两个加工组件,以及,至少两个加工组件的执行顺序;按照执行顺序调用至少两个加工组件;其中,被调用的加工组件至少用于执行如下操作:对输入表中的至少一个字段进行数据加工处理,生成相应的输出字段作为中间字段;至少一个字段中的任一字段为目标字段;为输出字段进行命名,得到输出字段的字段名;输出字段的字段名包括:被调用的加工组件的组件名信息以及随机码。其中,加入的组件名信息,可表征字段经过了何种加工组件的加工,使命名不再无意义,而随机码可使字段名减少重名的机率。

Description

数据加工方法与装置
技术领域
本发明涉及大数据处理技术领域,特别涉及数据加工方法与装置。
背景技术
数据加工是提高大数据质量的必经之路。在清洗过程中数据中的字段一般会经过多个加工组件的处理,每个加工组件可能会生成不同的中间临时字段,这些中间字段命名不当会造成各种各样的问题。
例如,现有的清洗过程中,生成的中间字段名命名方式如下:原字段名后面加数字。举例来讲,假定原字段名为name,加工后字段名可为:name_01、name_02、clean_name_01。
上述命名方式存在以下不足:
1),命名无意义,阅读困难;
2),命名重复问题。有两种情况会出现命名重复:一是加工流中有两个组件对同一个原始字段进行加工(比如加工流中有并行的两个加工链),可能会产生两个同名的字段,出现冲突;二是原始表中若同时存在name与name_01,则对name进行加工时产生的name_01字段与原有字段名冲突。
发明内容
有鉴于此,本发明实施例提供数据加工方法与装置,以解决命名无意义且命名重复的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种数据加工方法,包括:
建立流式加工任务链;所述流式加工任务链包括至少两个加工组件,以及,所述至少两个加工组件的执行顺序;
按照所述执行顺序调用所述至少两个加工组件;
其中,被调用的加工组件至少用于执行如下操作:
对输入表中的至少一个字段进行数据加工处理,生成相应的输出字段作为中间字段;所述至少一个字段中的任一字段为目标字段;
为所述输出字段进行命名,得到所述输出字段的字段名;所述输出字段的字段名包括:所述被调用的加工组件的组件名信息以及随机码。
可选的,所述加工组件的配置信息包括:第一映射关系;所述第一映射关系包括:第一目标字段名与第二目标字段名之间的映射关系;所述第一目标字段名为所述目标字段的字段名;所述第二目标字段名为所述输出字段的字段名;所述第一映射关系在建立所述流式加工任务链时生成;所述为所述输出字段进行命名包括:根据所述第一映射关系,对所述输出字段进行命名,得到所述第二目标字段名;或者,所述为所述输出字段进行命名包括:基于所述第一目标字段名,对所述输出字段进行命名,得到所述第二目标字段名。
可选的,第n个被调用的加工组件的第二目标字段名通过如下方式确定:若所述第一目标字段名与所述第n个被调用的加工组件的组件名信息的长度和大于预设长度,进行缩短处理,以令得到的第二目标字段名的长度不大于所述预设长度。
可选的,所述第一目标字段名中包括至少一个加工组件的组件名信息;所述组件名信息包括组件名缩写或组件名全名;所述缩短处理包括:若所述第一目标字段名中包括组件名全名,根据预设的缩写表将所述组件名全名替换为相应的组件名缩写,得到临时字段名;所述缩写表包括组件名缩写与组件名全名之间的对应关系;计算所述临时字段名与所述第n个被调用的加工组件的组件名缩写的长度和;若计算得到的长度和不大于所述预设长度,将所述临时字段名确定为所述第二目标字段名;若计算得到的长度和大于所述预设长度,将所述中间目标字段名中m长度的信息,替换为所述第n个被调用的加工组件的组件名缩写;所述第n个被调用的加工组件的组件名缩写的长度小于等于m;或者,所述缩短处理包括:将所述第一目标字段名中m长度的信息,替换为所述第n个被调用的加工组件的组件名缩写。
可选的,最后一个被执行的加工组件的配置信息中包括第二映射关系;所述第二映射关系包括:中间字段与结果表中的字段的映射关系;最后一个被执行的加工组件还用于执行如下操作:根据所述第二映射关系,将所述中间字段中的数据映射至所述结果表的相应字段中。
可选的,还包括:若所述流式加工任务链发生更新,根据更新后的流式加工任务链中的执行顺序,更新所述第二映射关系;并且,在存在第一映射关系时,根据更新后的流式加工任务链中的执行顺序,更新所述第一映射关系。
可选的,所述随机码由所述流式加工任务链中的一个或多个加工组件生成。
一种数据加工装置,包括:
流式加工任务链生成单元,用于:
建立流式加工任务链;所述流式加工任务链包括至少两个加工组件,以及,所述至少两个加工组件的执行顺序;
调度单元,用于:
按照所述执行顺序调用所述至少两个加工组件;
其中,被调用的加工组件至少用于执行如下操作:
对输入表中的至少一个字段进行数据加工处理,生成相应的输出字段作为中间字段;所述至少一个字段中的任一字段为目标字段;
基于所述目标字段的字段名,为所述输出字段进行命名,得到所述输出字段的字段名;所述输出字段的字段名包括:所述被调用的加工组件的组件名信息以及随机码。
可选的,所述加工组件的配置信息包括:第一映射关系;所述第一映射关系包括:第一目标字段名与第二目标字段名之间的映射关系;所述第一目标字段名为所述目标字段的字段名;所述第二目标字段名为所述输出字段的字段名;所述第一映射关系是所述流式加工任务链生成单元在建立所述流式加工任务链时生成的;在为所述输出字段进行命名的方面,所述流式加工任务链生成单元具体用于:根据所述第一映射关系,对所述输出字段进行命名,得到所述第二目标字段名;或者,在为所述输出字段进行命名的方面,所述被调用的加工组件用于:基于所述第一目标字段名,对所述输出字段进行命名,得到所述第二目标字段名。
一种数据加工装置,至少包括处理器和存储器;处理器通过执行存储器中存放的程序以及调用其他设备,执行上述任一项的方法。
可见,在本发明实施例中,在数据加工过程中,建立流式加工任务链,并按照执行顺序调用任务链中的加工组件进行数据加工。加工组件在被调用时,会向中间字段中加入自身的组件名信息以及随机码。其中,加入的组件名信息,可表征字段经过了何种加工组件的加工,使命名不再无意义,而随机码可使字段名减少重名的机率。因此,采用本发明实施例所提供的技术方案,可解决命名无意义且命名重复的问题。
附图说明
图1为本发明实施例提供的数据加工装置的示例性结构;
图2为本发明实施例提供的数据加工装置的一种示例性应用场景;
图3为本发明实施例提供的数据加工方法的一种示例性流程;
图4为本发明实施例提供的生成处理规则的示意图;
图5为本发明实施例提供的数据加工方法的另一种示例性流程;
图6为本发明实施例提供的数据加工装置的硬件结构示意图。
具体实施方式
本发明实施例提供了数据加工方法与装置,以解决中间字段命名无意义且命名重复的问题。其核心是加工组件在生成中间字段后,中间字段的字段名包括当前被调用的加工组件的组件名信息,还有随机码。
请参见图1上述数据加工装置可包括流式加工链生成单元1和调度单元2,其中,流式加工链生成单元1用于建立流式加工任务链。该任务链可包括至少两个加工组件,以及各加工组件的执行顺序;调度单元2,用于按照执行顺序调用加工组件,由最后一个加工组件生成结果表并输出。
此外,数据加工装置还可包括:数据源抽取装置3,用于连接数据源获取库、表、字段名、字段类型等。
当然,数据源抽取装置3也可以独立于数据加工装置。
数据加工装置可以是大数据平台的组成部分。
图2示出了上述数据加工装置的一种示例性应用场景。在该应用场景中,数据加工装置的流式加工任务链生成单元1部署于前端服务器中,调度单元2和数据源抽取装置3部署于后端服务器中,此外,也可部署于数据库服务器中。
前端服务器(加工任务链生成单元1)向用户提供配置页面以配置、建立流式加工任务链(图2示例性的包括加工组件A至E)。当然,配置页面也可配置其他信息,本文后续予以介绍。
在配置完成,生成流式任务链后,可点击界面上的运行按钮,即可运行流式加工任务链进行数据加工处理(例如数据清洗处理)。在点击运行按钮后,前端服务器会将流式加工任务链提交到数据库服务器或后端服务器上执行数据抽取和加工处理,最后得到结果表输出至目的表存储设备。
目的表存储设备示例性的可为生成对应的sql写表的处理器。
这里的sql写表用于将内存中的结果表中的数据,进行插入表格的操作,最终将数据存入数据库中。
在加工处理过程中,各加工组件会对中间字段进行命名,得到的字段名包括:当前被调用的加工组件的组件名信息,以及随机码。
以随机码是4位为例,字段名的命名规则(格式)示例性的如下:
原始字段名_加工组件名信息_……加工组件名信息_4位随机码。
具体的,可使用数字+大小写字母随机取4个字符,重复概率极低。可采用UUID规则或自定义随机算法生成随机码。
随机码可由流式加工任务链中的一个或多个加工组件生成。
例如,可由第一个加工组件生成随机码,也可由最后一个加工组件生成随机码,也可每个加工组件均生成随机码,替代上一加工组件生成的随机码,等等。本领域技术人员可进行灵活配置,在此不作赘述。
下面将从技术角度介绍如何实现上述应用场景。
图3示出了由上述数据加工装置所执行的数据加工方法的一种示例性流程,包括:
S0:数据加工装置向用户提供配置页面,以获取配置信息。
具体的,可由前述的加工任务链生成单元1执行步骤S0。
用户在配置页面配置的配置信息包括但不限于:数据源连接信息(例如连接Host、用户名、密码等)、字段和数据元的映射关系、字段特殊属性(额外的属性,比如描述)。
其中:
数据源连接信息用于前述的元数据抽取装置连接数据源获取库、表、字段名和字段类型;
Host是:域名到IP地址的映射,计算机可根据Host解析域名为IP地址;
数据元描述了相应字段中数据的业务规则信息,数据元可以是国家规定的行业标准数据元,当然,也可是自定义的数据元,例如,企业或政府机关单位可以按照历史数据和业务场景定义自身专有的数据元规范。
数据元中定义了字段应该满足的要求,示例性的包括但不限于:数据类型(例如字符串、日期、数值等)、数据格式(例如日期格式、身份证格式等)、取值范围(例如字典表范围、日期大小范围、正则表达式范围)等,这些要求在后续会被解析为各种加工处理规则。
同时,配置页面会包括:清洗模板页面,里面的处理包括:按主键去重、按字段去重、按字段去空格、按字段全角转换等。
用户可在页面上勾选相应的处理,后续会生成相应的加工组件。
其中,按主键去重是指:对指定表中的一个字段进行去重,比如id这个字段上两条数据id相同,则认为这两行数据重复,则会去掉一行。
用户在配置完后,可点击配置页面上的“确定”或“生成”按钮,后续会生成流式加工任务链。
S1:数据加工装置根据配置信息解析得到加工处理规则。
可由前述的加工任务链生成单元1执行步骤S1。
加工处理规则依赖于配置阶段得到的配置信息,加工处理规则可以全部自动生成,也可以手动调整某些加工处理规则。
例如,请参见图4,用户在清洗模板页面勾选的选项会对应生成相应的清洗规则,而依据字段的数据元配置也会生成一系列相应的处理规则,例如,日期标准化、身份证标准化、字典标准化等。
S2:数据加工装置根据加工处理规则生成加工组件,进而得到流式加工任务链。
可由前述的加工任务链生成单元1执行步骤S2。
流式加工任务链中的执行顺序可自动生成,也可由用户手工设置。
在加工处理过程中,各加工组件会对特定的输入字段进行加工,生成相应的输出字段(中间字段)。
其中每一加工组件的输入字段与输出字段是已明确的。
同时,加工组件还会对中间字段进行命名,得到的字段名包括:当前被调用的加工组件的组件名信息,以及随机码。
以随机码是4位为例,字段名的命名规则(格式)示例性的如下:
原始字段名_加工组件名信息_……加工组件名信息_4位随机码。
在一个示例中,组件名信息可包括加工组件的组件名全名,也即,使用加工组件的全名拼接生成中间字段名。
在另一个示例中,考虑到一个字段经过了许多的加工组件时,如果使用组件全名拼接生成的中间字段名会变的非常长,为了容纳更多信息,可根据预设的缩写表,使用组件名的缩写对中间字段进行命名。
下表是加工组件对应的示例性缩写:
组件名 字段名缩写
空值填充 nf
转换为字符串 ts
转为Unix时间戳 tut
全角半角转换 dbc
类型转换 tc
去除空白字符 trim
大小写转换 case
组件名缩写列表可在配置页面上以帮助的形式展示,描述每个缩写代表的加工含义,方便用户查阅。
前述提及了,每一加工组件的输入字段与输出字段是已明确的。除过滤组件外,一般的加工处理组件的配置信息中包括第一映射关系。第一映射关系是输入字段的字段名(第一目标字段名)与输出字段的字段名(第二目标字段名)之间的映射关系。
在一个示例中,当某加工组件被调用时,其可根据第一映射关系,对输出字段进行命名,得到第二目标字段名。
举例来讲,假定输入表某一字段的原始字段名为name,在任务链中,该字段会依次经过“空值填充”组件和“全角转半角”组件的处理。
假定经“空值填充”组件后,得到的中间字段的字段名为name_nf_3k5s,其中“nf”为空值填充组件的组件名缩写,“3k5s”为随机码,经“全角转半角”组件对对此字段加工后,生成的中间字段名为name_nf_dbc_3k5s(“dbc”为“全角转半角”组件的缩写)。
则对“全角转半角”组件而言,输入字段的字段名为“name_nf_3k5s”,而其输出字段的字段名为“name_nf_dbc_3k5s”。因此,“全角转半角”组件所存储的第一映射关系,是“name_nf_3k5s”与“name_nf_dbc_3k5s”之间的映射关系。
也就是说,在真正进行数据加工之前(生成任务链时),加工组件的配置信息中已经确定好了输出字段的字段名是什么了。后续在加工完成后,可直接根据第一映射关系,对输出字段进行命名。
在另一个示例中,也可在调用加工组件时(数据加工过程中),由加工组件直接确定输出字段的字段名。此时,配置信息中可不包含第一映射关系。
无论由加工组件直接命名,还是在生成任务链时对中间字段命名,字段名的长度不能无限制延长,尤其是当加工逻辑非常多时,即使采用组件名缩写可能仍然会面临字段名超长的问题。
为了描述方便,以第n个加工组件(在其之前是第n-1个加工组件)为例,若第n个加工组件的组件名信息的长度与输入字段的字段名(可称为目标字段)的长度和大于预设长度,可进行缩短处理,以令得到的第二目标字段名的长度不大于上述预设长度。
下面具体介绍缩短处理。
上述第一目标字段名中包括至少一个加工组件的组件名信息。由于可使用加工组件全名或缩写拼接生成中间字段,因此,任一组件名信息可为组件名缩写或组件名全名。
在一个示例中,若第一目标字段名中包含组件名全名,可根据预设的缩写表将组件名全称替换为相应的缩写,得到临时字段名;计算上述临时字段名与第n个被调用的加工组件的组件名缩写的长度和;若本次计算得到的长度和不大于预设长度,则可将临时字段名确定为第二目标字段名;而若本次计算得到的长度和大于预设长度,则可将临时字段名中m长度的信息,替换为第n个加工组件的组件名缩写。m为正整数,并且,第n个被调用的加工组件的组件名缩写的长度小于等于m。
或者,在本发明其他实施例中,假定第一目标字段名中P个组件名信息为全名,可进行至少一轮替换操作:
将P个组件名信息中的一个全名根据预设的缩写表替换为缩写,得到该轮替换操作对应的临时字段名。
计算临时字段名与第n个被调用的加工组件的组件名缩写的长度和,若大于预设长度,返回执行下一轮替换操作,直到长度和小于预设长度,将临时字段名确定为第二目标字段名。或者,直至全名全部替换为缩写时停止,此时,若长度和仍大于预设长度,则可将最后得到的临时字段名中m长度的信息,替换为第n个加工组件的组件名缩写。
当然,也可无论第一目标字段名中的组件名信息是全称还是缩写,均直接将第一目标字段名为m长度的信息,替换为第n个加工组件的组件名缩写。
例如,第n-1个加工组件输出的中间字段的字段名为:name_trim_case_tc_nf_3k5s,第n个加工组件的组件名缩写为“dbc”,若再直接加入“dbc”就大于预设长度了,此时,可将第n个加工组件生成的中间字段的字段名设置为name_trim_case_tc_dbc_3k5s,乃至设置为“name_trim_case_dbc_3k5s”
(删去了第n-1和第n-2个加工组件的缩写)。
同时,在各加工组件的配置信息中还保存了加工路径,其记录了对源字段依次进行加工的各个加工组件。
仍沿用上例,假定第n个加工组件生成的中间字段的字段名为name_trim_case_dbc_3k5s,但其保存的加工路径可包括:name-trim-case-tc-nf-dbc。
此外需要说明的是,一般不会直接删除原始的字段,而是在处理后,直接生成一个新字段作为输出字段。
更具体的,假定第n-1个加工组件生成的中间字段是字段a1,再经过第n个加工组件进行加工处理后,得到字段a2,那表中还会保留字段a1。在页面上展示某中间字段的字段名时,可设计为在以鼠标悬浮到或直接显示的方式展示相应的加工路径。
在生成流式加工任务链后,会在配置页面上显示流式加工任务链。
S3:数据加工装置按照执行顺序调用流式加工任务链中的加工组件。
具体的,可由前述的调度单元2执行步骤S3。
在生成流式任务链后,点击界面上的运行按钮,即可运行流式加工任务链进行数据加工处理(例如数据清洗处理)。
具体可参见前述记载,在此不作赘述。
S4:被调用的加工组件对输入表中的至少一个字段进行数据加工处理,生成相应的输出字段作为中间字段;
可将上述至少一个字段中的任一字段称为目标字段。
S5:被调用的加工组件基于目标字段的字段名,为输出字段进行命名,得到输出字段的字段名。
具体的,被调用的加工组件可根据配置信息中的第一映射关系,对输出字段进行命名。
也可直接进行命名。具体细节请参见前述步骤S2的记载。
S6:最后一个被执行的加工组件将流式加工任务链运行后的结果数据输出到目的结果表。
具体的,最后一个被执行的加工组件的配置信息中可包括第二映射关系;
第二映射关系包括:中间字段与结果表中的字段的映射关系。
具体的,可以是中间字段的字段名与结果表中的字段的字段名相映射,也可以是,中间字段的列号与结果表中字段的列号相映射。
结果表一般是源表的克隆。
举例来讲,假定输入表某一字段的原始字段名为name,最后经过加工组件处理后,得到的中间字段的字段名为name_trim_case_tc_dbc_3k5s。
第二映射关系中包括:字段名“name_trim_case_tc_dbc_3k5s”与结果表中字段名“name”的映射关系。
最后一个被执行的加工组件会根据第二映射关系,将中间字段中的数据映射至所述结果表的相应字段中。
可见,在本发明实施例中,在数据加工过程中,建立流式加工任务链,并按照执行顺序调用任务链中的加工组件进行数据加工。加工组件在被调用时,会向中间字段中加入自身的组件名信息以及随机码。其中,加入的组件名信息,可表征字段经过了何种加工组件的加工,使命名不再无意义,而随机码可使字段名减少重名的机率。因此,采用本发明实施例所提供的技术方案,可解决命名无意义且命名重复的问题。
考虑到已配置的流式清洗任务可能需要修改,例如用户可能需要添加加工组件、修改或删除已配置的加工组件。在本发明其他实施例中,请参图5,上述数据加工方法还包括:
S7:在流式加工任务链发生更新时,数据加工装置根据更新后的流式加工任务链中的加工组件的执行顺序,更新第二映射关系,并且,在存在第一映射关系时,更新第一映射关系。
可由前述的加工任务链生成单元1执行步骤S7。
举例来讲,原流式加工任务链包括加工组件A至C,后又在A和B之间插入加工组件D,这样,执行顺序就变成了A、D、B、C。这样,加工组件B、C对中间段的命名也会发生变化。
则可根据更新后的执行顺序,更新加工组件配置信息中的第一映射关系,以及最后一个加工组件的配置信息中的第二映射关系。这样就保证了更新后生成的清洗任务链的衔接正确性。
图1示出了上述数据加工装置的一种示例性结构,包括:
流式加工链生成单元1:用于建立流式加工任务链。该任务链可包括至少两个加工组件,以及各加工组件的执行顺序;
调度单元2,用于按照执行顺序调用加工组件,由最后一个加工组件生成结果表并输出。
其中,被调用的加工组件至少用于执行如下操作:
对输入表中的至少一个字段进行数据加工处理,生成相应的输出字段作为中间字段;至少一个字段中的任一字段为目标字段;
基于目标字段的字段名,为输出字段进行命名,得到输出字段的字段名;输出字段的字段名包括:被调用的加工组件的组件名信息以及随机码。
上述随机码可由流式加工任务链中的一个或多个加工组件生成。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的加工组件的配置信息包括:第一映射关系;该第一映射关系包括:目标字段的字段名(第一目标字段名)与输出字段的字段名(第二目标字段名)之间的映射关系。
上述第一映射关系是所述流式加工任务链生成单元在建立流式加工任务链时生成的;
在为输出字段进行命名的方面,流式加工任务链生成单元1具体用于:
根据上述第一映射关系,对输出字段进行命名,得到第二目标字段名;
或者,
在为输出字段进行命名的方面,被调用的加工组件用于:
基于上述第一目标字段名,对输出字段进行命名,得到第二目标字段名。
可将上述目标字段的字段名称为目标字段名;将当前被调用的加工组件称为第n个被调用的加工组件;n不小于1,不大于N;N表示流式加工任务链所包括的加工组件的总个数。
在本发明其他实施例中,第n个被调用的加工组件的第二目标字段名可通过如下方式确定:
若第一目标字段名与第n个被调用的加工组件的组件名信息的长度和大于预设长度,进行缩短处理,以令得到的第二目标字段名的长度不大于上述预设长度。
第一目标字段名中包括至少一个加工组件的组件名信息;任一组件名信息可包括组件名缩写或组件名全名。
在本发明其他实施例中,上述缩短处理可包括:
若第一目标字段名中包括组件名全名,根据预设的缩写表将组件名全名替换为相应的组件名缩写,得到临时字段名;缩写表包括组件名缩写与组件名全名之间的对应关系;
计算临时字段名与第n个被调用的加工组件的组件名缩写的长度和;
若计算得到的长度和不大于预设长度,将临时字段名确定为第二目标字段名;
若计算得到的长度和大于预设长度,将中间目标字段名中m长度的信息,替换为第n个被调用的加工组件的组件名缩写;m为正整数;第n个被调用的加工组件的组件名缩写的长度小于等于m。
或者,直接将第一目标字段名中m长度的信息,替换为所述第n个被调用的加工组件的组件名缩写。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,最后一个被执行的加工组件的配置信息中还包括第二映射关系;
第二映射关系包括:中间字段的字段名与结果表中的字段名的映射关系;
最后一个被执行的加工组件还用于执行如下操作:
根据第二映射关系,将中间字段中的数据映射至结果表的相应字段中。
具体细节请参见本文前述记载,在此不作赘述。
在本发明其他实施例中,上述所有实施例中的流式加工链生成单元1还用于:在流式加工任务链发生更新时,根据更新后的流式加工任务链中的加工组件的执行顺序,更新第二映射关系。并且,在存在第一映射关系时,根据更新后的流式加工任务链中的执行顺序,更新第一映射关系。
具体细节请参见本文前述记载,在此不作赘述。
上述数据加工装置中的各模块可以软件或组件的形式部署于同一服务器(例如数据加工服务器)上,或者,上述数据加工装置所包含的各模块可分别为独立的服务器。
图6示出了上述实施例中数据加工装置的一种可能的硬件结构示意图,包括:总线、处理器1、存储器2、通信接口3、输入设备4和输出设备5。处理器1、存储器2、通信接口3、输入设备4和输出设备5通过总线相互连接。其中:
总线可包括一通路,在计算机系统各个部件之间传送信息。
处理器1可以是通用处理器,例如通用中央处理器(CPU)、网络处理器(NetworkProcessor,简称NP)、微处理器等,也可以是特定应用集成电路(application-specificintegrated circuit,ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。还可以是数字信号处理器(DSP)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
存储器2中保存有执行本发明技术方案的程序或脚本,还可以保存有操作系统和其他关键业务。具体地,程序可以包括程序代码,程序代码包括计算机操作指令。脚本则通常以文本(如ASCII)保存,只在被调用时进行解释或编译。
输入设备4可包括接收用户输入的数据和信息的装置,例如键盘、鼠标、摄像头、语音输入装置、触摸屏等。
输出设备5可包括允许输出信息给用户的装置,例如显示屏、扬声器等。
通信接口3可包括使用任何收发器一类的装置,以便与其他设备或通信网络通信,如以太网,无线接入网(RAN),无线局域网(WLAN)等。
处理器1通过执行存储器2中所存放的程序以及调用其他设备,可实现上述实施例提供的数据加工方法。
此外,图6所示的数据加工装置中各单元的功能,可由前述的处理器1执行存储器2中所存放的程序以及调用其他设备实现。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及模型步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或模型的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、WD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (7)

1.一种数据加工方法,其特征在于,包括:
建立流式加工任务链;所述流式加工任务链包括至少两个加工组件,以及,所述至少两个加工组件的执行顺序;
按照所述执行顺序调用所述至少两个加工组件; 其中,被调用的加工组件至少用于执行如下操作:
对输入表中的至少一个字段进行数据加工处理,生成相应的输出字段作为中间字段;所述至少一个字段中的任一字段为目标字段;所述加工组件的配置信息包括:第一映射关系;所述第一映射关系包括:第一目标字段名与第二目标字段名之间的映射关系;所述第一目标字段名为所述目标字段的字段名;所述第二目标字段名为所述输出字段的字段名;所述第一映射关系在建立所述流式加工任务链时生成;
根据所述第一映射关系,对所述输出字段进行命名,得到所述第二目标字段名;或者,基于所述第一目标字段名,对所述输出字段进行命名,得到所述第二目标字段名;所述第二目标字段名包括:所述被调用的加工组件的组件名信息以及随机码;
其中,第n个被调用的加工组件的第二目标字段名通过如下方式确定:
若所述第一目标字段名与所述第n个被调用的加工组件的组件名信息的长度和大于预设长度,进行缩短处理,以令得到的第二目标字段名的长度不大于所述预设长度。
2.如权利要求1所述的方法,其特征在于,
所述第一目标字段名中包括至少一个加工组件的组件名信息;所述组件名信息包括组件名缩写或组件名全名;
所述缩短处理包括:
若所述第一目标字段名中包括组件名全名,根据预设的缩写表将所述组件名全名替换为相应的组件名缩写,得到临时字段名;所述缩写表包括组件名缩写与组件名全名之间的对应关系;
计算所述临时字段名与所述第n个被调用的加工组件的组件名缩写的长度和;
若计算得到的长度和不大于所述预设长度,将所述临时字段名确定为所述第二目标字段名;
若计算得到的长度和大于所述预设长度,将所述临时字段名中m长度的信息,替换为所述第n个被调用的加工组件的组件名缩写;所述第n个被调用的加工组件的组件名缩写的长度小于等于m;
或者,
所述缩短处理包括:
将所述第一目标字段名中m长度的信息,替换为所述第n个被调用的加工组件的组件名缩写。
3.如权利要求1所述的方法,其特征在于,
最后一个被执行的加工组件的配置信息中包括第二映射关系;
所述第二映射关系包括:中间字段与结果表中的字段的映射关系;
最后一个被执行的加工组件还用于执行如下操作:
根据所述第二映射关系,将所述中间字段中的数据映射至所述结果表的相应字段中。
4.如权利要求3所述的方法,其特征在于,还包括:
若所述流式加工任务链发生更新,根据更新后的流式加工任务链中的执行顺序,更新所述第二映射关系;并且,在存在第一映射关系时,根据更新后的流式加工任务链中的执行顺序,更新所述第一映射关系。
5.如权利要求1所述的方法,其特征在于,所述随机码由所述流式加工任务链中的一个或多个加工组件生成。
6.一种数据加工装置,其特征在于,包括:
流式加工任务链生成单元,用于:
建立流式加工任务链;所述流式加工任务链包括至少两个加工组件,以及,所述至少两个加工组件的执行顺序;
调度单元,用于:
按照所述执行顺序调用所述至少两个加工组件;
其中,被调用的加工组件至少用于执行如下操作:
对输入表中的至少一个字段进行数据加工处理,生成相应的输出字段作为中间字段;所述至少一个字段中的任一字段为目标字段;所述加工组件的配置信息包括:第一映射关系;所述第一映射关系包括:第一目标字段名与第二目标字段名之间的映射关系;所述第一目标字段名为所述目标字段的字段名;所述第二目标字段名为所述输出字段的字段名;所述第一映射关系是所述流式加工任务链生成单元在建立所述流式加工任务链时生成的;
根据所述第一映射关系,对所述输出字段进行命名,得到所述第二目标字段名;或者,基于所述第一目标字段名,对所述输出字段进行命名,得到所述第二目标字段名;所述第二目标字段名包括:所述被调用的加工组件的组件名信息以及随机码;
其中,第n个被调用的加工组件的第二目标字段名通过如下方式确定:
若所述第一目标字段名与所述第n个被调用的加工组件的组件名信息的长度和大于预设长度,进行缩短处理,以令得到的第二目标字段名的长度不大于所述预设长度。
7.一种数据加工装置,其特征在于,至少包括处理器和存储器;处理器通过执行存储器中存放的程序以及调用其他设备,执行如权利要求1-5任一项的方法。
CN202010685506.6A 2020-07-16 2020-07-16 数据加工方法与装置 Active CN111813769B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010685506.6A CN111813769B (zh) 2020-07-16 2020-07-16 数据加工方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010685506.6A CN111813769B (zh) 2020-07-16 2020-07-16 数据加工方法与装置

Publications (2)

Publication Number Publication Date
CN111813769A CN111813769A (zh) 2020-10-23
CN111813769B true CN111813769B (zh) 2023-12-12

Family

ID=72865618

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010685506.6A Active CN111813769B (zh) 2020-07-16 2020-07-16 数据加工方法与装置

Country Status (1)

Country Link
CN (1) CN111813769B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115543977A (zh) * 2022-09-29 2022-12-30 河北雄安睿天科技有限公司 一种供水行业数据清洗方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202050509U (zh) * 2011-05-09 2011-11-23 北京中传网联数据服务有限公司 一种获取数字电视受众信息的装置
CN105354239A (zh) * 2015-10-10 2016-02-24 中国科学院计算机网络信息中心 一种基于配置数据加工模型的加工中心数据流式处理方法
CN110365620A (zh) * 2018-03-26 2019-10-22 中移(苏州)软件技术有限公司 一种流式数据隐私保护方法及装置
CN110674224A (zh) * 2019-08-02 2020-01-10 北京百度网讯科技有限公司 实体数据的处理方法、装置、设备及计算机可读存储介质

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10133718B2 (en) * 2014-07-18 2018-11-20 FHOOSH, Inc. Systems and methods for locating, identifying and mapping electronic form fields
EP3143486A1 (en) * 2014-08-22 2017-03-22 NEC Europe Ltd. A method for storing of data within a cloud storage and a cloud storage system
US9659047B2 (en) * 2014-12-03 2017-05-23 Netapp, Inc. Data deduplication utilizing extent ID database
JP6873868B2 (ja) * 2017-08-23 2021-05-19 株式会社日立製作所 データ分析処理支援装置、及びデータ分析処理支援方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202050509U (zh) * 2011-05-09 2011-11-23 北京中传网联数据服务有限公司 一种获取数字电视受众信息的装置
CN105354239A (zh) * 2015-10-10 2016-02-24 中国科学院计算机网络信息中心 一种基于配置数据加工模型的加工中心数据流式处理方法
CN110365620A (zh) * 2018-03-26 2019-10-22 中移(苏州)软件技术有限公司 一种流式数据隐私保护方法及装置
CN110674224A (zh) * 2019-08-02 2020-01-10 北京百度网讯科技有限公司 实体数据的处理方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN111813769A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
US9721009B2 (en) Primary and foreign key relationship identification with metadata analysis
AU2007336337B2 (en) System and method for optimizing changes of data sets
CN110704398B (zh) 从MySQL到Oracle的数据库迁移方法、装置及计算机设备
CN110347708B (zh) 一种数据处理方法以及相关设备
US9069818B2 (en) Textual search for numerical properties
CN110781183B (zh) Hive数据库中增量数据的处理方法、装置以及计算机设备
CN111352935B (zh) 一种块链式账本中的索引创建方法、装置及设备
CN105550325A (zh) 一种数据管理方法和装置
CN111949832A (zh) 批量作业依赖关系的解析方法及装置
CN117238433B (zh) 基于LibreOffice进行文档数据自动隔离的方法
CN110990350B (zh) 日志的解析方法及装置
CN111443901A (zh) 一种基于Java反射的业务扩展方法及装置
CN110442647B (zh) 数据一致性同步方法、装置及计算机可读存储介质
CN111813769B (zh) 数据加工方法与装置
CN109669678A (zh) 模板引擎整合方法、装置、电子设备及存储介质
CN107330031B (zh) 一种数据存储的方法、装置及电子设备
CN112579604A (zh) 测试系统的造数方法、装置、设备及存储介质
CN111861100A (zh) 一种基于流程评分的工单处理方法及装置
CN115967604A (zh) 报文传输方法、装置、电子设备及计算机可读存储介质
CN111984684B (zh) 数据处理方法及装置
CN111723007B (zh) 一种测试用例的合并方法、系统、设备以及介质
CN112035471A (zh) 一种事务处理方法及计算机设备
CN111078671A (zh) 数据表字段的修改方法、装置、设备和介质
CN112506944B (zh) 业务系统间的数据标准转换取数方法、装置、设备和介质
CN115208960B (zh) 协议切换方法及相关设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant