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

数据处理任务构建方法、商品数据处理方法及设备与流程

2023-01-15 07:05:31 来源:中国专利 TAG:


1.本技术涉及数据处理技术领域,具体涉及数据处理任务构建方法和装置,商品数据处理方法和装置,组件,以及电子设备。


背景技术:

2.一种典型的数据处理场景是,在大数据处理平台中通过执行多个数据处理任务来完成数据处理,即:数据处理流程包括多个数据处理任务。例如,从电商平台的单站点进行商品数据处理的流程包括如下处理环节:商品种子爬取,商品详情爬取,商品图片爬取,商品同款映射,商品翻译,其中各环节均可包括多个数据处理任务。
3.目前,整个数据处理流程中的每个数据处理任务的程序代码都是由开发人员手动编写的。如果计划对上述电商平台的多个单站点分别执行上述数据处理流程,就需要开发人员针对每个单站点分别编写多个数据处理任务的程序代码。假设一个单站点的数据处理流程包括30个数据处理任务,如果要处理10个站点的数据,就要编写300个数据处理任务的程序代码。
4.然而,在实现本发明过程中,发明人发现现有技术方案至少存在如下问题:在数据处理流程多、数据处理流程长、数据处理任务可复用性高的场景中,数据处理任务的开发效能低下。


技术实现要素:

5.本技术提供数据处理任务构建方法,以解决现有技术存在的数据处理任务的开发效能较低问题。本技术另外提供数据处理任务构建装置,商品数据处理方法和装置,组件,以及电子设备。
6.本技术提供一种数据处理任务构建方法,包括:
7.将与数据处理流程相关的至少一个数据处理任务抽象为对应组件,所述组件包括数据处理代码模板和组件参数,所述组件参数包括数据处理参数和任务调度参数;
8.根据所述至少一个组件,生成目标数据处理流程包括的至少一个目标数据处理任务的配置信息,所述配置信息包括数据处理参数值和任务调度参数值;
9.根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务,所述目标数据处理任务根据所述任务调度参数值调度执行。
10.可选的,所述数据处理参数为数据查询语句参数,所述数据处理代码模板包括带有所述数据查询语句参数的数据查询语句。
11.可选的,所述根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务,包括:
12.根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务的数据处理代码文件;
13.将所述数据处理代码文件编译为可执行文件;
14.根据所述可执行文件,发布所述目标数据处理任务。
15.可选的,所述任务调度参数包括:任务依赖关系;
16.所述方法还包括:
17.根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序;
18.按照所述处理顺序将所述至少一个目标数据处理任务的数据处理代码文件编译为对应的可执行文件;
19.按照所述处理顺序发布所述至少一个目标数据处理任务。
20.可选的,所述根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序,包括:
21.根据所述任务依赖关系,构建所述至少一个目标数据任务的任务依赖图;
22.根据所述任务依赖图,确定所述处理顺序。
23.可选的,响应于批量提交任务请求或者批量发布任务请求,根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序;
24.响应于批量提交任务请求,按照所述处理顺序将所述至少一个目标数据处理任务的数据处理代码文件编译为对应的可执行文件;
25.响应于批量发布任务请求,按照所述处理顺序发布所述至少一个目标数据处理任务。
26.可选的,所述根据所述至少一个组件,生成目标数据处理流程包括的至少一个目标数据处理任务的配置信息,包括:
27.根据同一组件生成相同类型的多个数据处理任务,不同数据处理任务的所述数据查询语句参数具有不同的参数值。
28.可选的,所述根据所述至少一个组件,生成目标数据处理流程包括的至少一个目标数据处理任务的配置信息,包括:
29.选取目标组件;
30.设置目标组件的组件参数值,作为所述目标数据处理任务的配置信息。
31.可选的,所述根据所述至少一个组件,生成目标数据处理流程包括的至少一个目标数据处理任务的配置信息,还包括:
32.确定与目标数据处理流程对应的数据处理流程;
33.显示与所述对应的数据处理流程相关的多个组件;
34.从所述多个组件中选取所述目标组件。
35.可选的,所述根据所述至少一个组件,生成目标数据处理流程包括的至少一个目标数据处理任务的配置信息,还包括:
36.显示与所述目标组件对应的所述组件参数,用于设置所述组件参数值;
37.根据所述组件参数值,生成所述目标数据处理任务包括的数据查询语句;
38.通过运行生成的数据查询语句,检测所述组件参数值的正确性。
39.可选的,所述方法还包括:对所述组件和/或所述数据处理任务进行生命周期管理,所述生命周期管理包括以下至少一项:查看所述组件和/或所述数据处理任务,编辑所述组件和/或所述数据处理任务,删除所述组件和/或所述数据处理任务。
40.本技术还提供商品数据处理方法,包括:
41.将与商品数据处理流程相关的至少一个数据处理任务抽象为对应组件,所述组件包括数据处理代码模板和组件参数,所述数据处理代码模板包括带有数据查询语句参数的数据查询语句,所述组件参数包括所述数据查询语句参数和任务调度参数;
42.根据所述至少一个组件,生成目标商品数据处理流程包括的至少一个目标数据处理任务的配置信息,所述配置信息包括所述数据查询语句的参数值和任务调度参数值;
43.据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务,所述目标数据处理任务根据所述任务调度参数值调度执行。
44.可选的,所述至少一个组件为多个组件;
45.所述根据所述至少一个组件,生成目标商品数据处理流程包括的至少一个目标数据处理任务的配置信息,包括:
46.从所述多个组件中选取与所述目标商品数据处理流程相关的至少一个目标组件,与不同的目标商品数据处理流程相关的至少一个目标组件相同或者不同;
47.根据所述至少一个目标组件,生成所述目标商品数据处理流程包括的至少一个目标数据处理任务的配置信息。
48.本技术还提供组件,包括:
49.数据处理代码模板和组件参数,所述组件参数包括数据处理参数和任务调度参数;
50.所述组件用于生成数据处理流程中的对应数据处理任务,所述数据处理任务采用如下方式生成:根据所述组件生成对应数据处理任务的配置信息,所述配置信息包括组件参数值,所述组件参数值包括数据处理参数值和任务调度参数值;根据所述数据处理参数值和所述数据处理代码模板,生成数据处理任务;根据所述任务调度参数值,执行所述数据处理任务。
51.本技术还提供电子设备,包括:
52.处理器和存储器;
53.存储器,用于存储实现根据上述任一项所述的方法的程序,该设备通电并通过所述处理器运行该方法的程序。
54.本技术还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各种方法。
55.本技术还提供一种包括指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各种方法。
56.与现有技术相比,本技术具有以下优点:
57.本技术实施例提供的数据处理任务构建方法,将数据处理流程分解为多个数据处理任务,将数据处理任务抽象为组件,组件包括数据处理代码模板和组件参数;用户可基于同一组件配置对应不同数据处理流程的不同数据处理任务;基于组件的数据处理代码模板和数据处理任务的配置信息,自动生成数据处理任务。采用这种处理方式,使得开发人员无需为每个数据处理任务手动开发程序;因此可以有效提升数据处理任务的开发能效。
附图说明
58.图1本技术提供的数据处理任务构建方法的流程示意图;
59.图2本技术提供的数据处理任务构建方法的场景示意图;
60.图3本技术提供的数据处理任务构建方法的任务配置示意图;
61.图4本技术提供的数据处理任务构建方法的任务依赖图。
具体实施方式
62.在下面的描述中阐述了很多具体细节以便于充分理解本技术。但是本技术能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本技术内涵的情况下做类似推广,因此本技术不受下面公开的具体实施的限制。
63.在本技术中,提供了数据处理任务构建方法和装置,商品数据处理方法和装置,组件,以及电子设备。在下面的实施例中逐一对各种方案进行详细说明。
64.第一实施例
65.请参考图1,其为本技术的数据处理任务构建方法的实施例的流程示意图。在本实施例中,所述方法可包括如下步骤:
66.步骤s101:将与数据处理流程相关的至少一个数据处理任务抽象为对应组件。
67.所述数据处理流程可以包括一个或者多个数据处理任务,可以是在大数据处理平台中通过执行一个或者多个数据处理任务来完成的数据处理流程。数据处理流程可根据应用需求确定,包括但不限于:从网站爬取数据并对爬取的数据进行离线数据处理的流程,也可以是对其它任意内容的数据进行处理的流程,如对电商平台的日常交易数据进行统计分析等处理。
68.所述数据处理任务可包括一个或者多个数据处理步骤,可为数据处理任务指定待处理数据,通过执行数据处理任务可得到处理后的数据。
69.如图2所示,本实施例的数据处理流程为从电商平台的单站点爬取商品数据并对爬取数据进行处理的流程,该流程可包括如下处理环节:商品种子爬取,商品详情爬取,商品图片爬取,商品同款映射,商品翻译。
70.1)商品种子爬取
71.该环节首先通过爬虫程序从单站点网站页面爬取数据,将爬取的数据存储至爬虫爬取表;然后,依据爬取的数据生成全量商品种子表。依据爬取的数据生成全量商品种子表的处理可包括如下数据处理任务:商品榜单日表生产任务,商品词搜日表生产任务,商品榜单合并全表任务,商品词搜合并全表任务,单站点商品种子表生产任务,单站点商品种子合并全表任务。
72.其中,商品榜单日表生产任务是通过对爬虫爬取表中的相关数据进行数据转换,从而生产商品榜单每日爬取表。商品词搜日表生产任务是通过对爬虫爬取表中的相关数据进行数据转换,从而生产商品词搜每日爬取表。商品榜单合并全表任务是将商品榜单每日爬取表中的数据合并至商品榜单全量表。商品词搜合并全表任务是将商品词搜每日爬取表中的数据合并至商品词搜全量表。单站点商品种子表生产任务是通过对商品榜单/词搜全量表的数据进行去重及优先级处理,实现从榜单表和词搜表中提取商品标识用于生产商品种子,商品种子标识用于拼接商品详情页面,从而生产单站点商品种子表。单站点商品种子合并全表任务是将单站点商品种子表合并至全量商品种子表。
73.2)商品详情爬取
74.该环节依据单站点商品种子表生成全量商品详情表,可包括如下数据处理任务:单站点待爬种子表生产任务,单站点每日分配待爬种子表生产任务,通过爬虫程序生成单站点每日已爬商品详情表的任务,单站点商品详情表生产任务,单站点商品详情表合并全表任务。
75.其中,单站点待爬种子表生产任务是通过对单站点商品种子表进行优先级处理,从而生产单站点待爬种子表。单站点每日分配待爬种子表生产任务是通过对单站点待爬种子表进行优先级及限额处理,从而生产单站点每日分配待爬种子表。单站点商品详情表生产任务是通过结合单站点商品属性表、当站点商品图片表、单站点商品sku价格表、单站点商品物流价格表中的数据,对单站点每日已爬商品详情表进行合并种子、翻译、转存等处理,从而生产单站点商品详情表。单站点商品详情表合并全表任务是将单站点商品详情表合并至全量商品详情表。
76.3)商品图片爬取
77.该环节依据全量商品详情表生成全量已爬商品图片表,该环节可包括如下数据处理任务:全量待爬图片表生产任务,每日分配商品图片待爬表生产任务,通过爬虫程序生成每日已爬商品图片表的任务,每日已爬商品图片表合并全表任务。
78.其中,全量待爬图片表生产任务是通过对全量商品详情表进行格式转换、优先级处理,从而生产全量待爬图片表。每日分配商品图片待爬表生产任务是通过对全量待爬图片表进行优先级处理,从而生产每日分配商品图片待爬表。每日已爬商品图片表合并全表任务是通过对每日分配商品图片待爬表进行合并去重处理,从而生产全量已爬商品图片表。
79.4)商品同款映射
80.该环节依据全量商品详情表生成全量已匹配图片表,该环节可包括如下数据处理任务:全量待匹配图片表生产任务,每日分配待匹配图片表生产任务,每日已匹配图片表生产任务,每日已匹配图片表合并全表任务。
81.其中,全量待匹配图片表生产任务是通过对全量商品详情表进行格式转换、优先级处理,从而生产全量待匹配图片表。每日分配待匹配图片表生产任务是通过对全量待匹配图片表进行优先级处理,从而生产每日分配待匹配图片表。每日已匹配图片表生产任务是通过对每日分配待匹配图片表进行图搜处理,从而生产每日已匹配图片表。每日已匹配图片表合并全表任务是通过对每日已匹配图片表进行合并去重处理,从而生产全量已匹配图片表。
82.5)商品翻译
83.该环节依据全量商品详情表生成全量已翻译表,该环节可包括如下数据处理任务:全量待翻译表生产任务,每日分配待翻译表生产任务,每日已翻译表生产任务,每日已翻译表合并全表任务。
84.其中,全量待翻译表生产任务是通过对全量商品详情表进行格式转换、优先级处理,从而生产全量待翻译表。每日分配待翻译表生产任务是通过对全量待翻译表进行优先级处理,从而生产每日分配待翻译表。每日已翻译表生产任务是通过对每日分配待翻译表进行翻译处理,从而生产每日已翻译表。每日已翻译表合并全表任务是通过对每日已翻译表进行合并去重处理,从而生产全量已翻译表。
85.在实际应用中,通常要对多个单站点分别执行图2所示的数据处理流程。具体实施时,对不同单站点执行的同类型的数据处理任务的数据处理方式(数据处理逻辑)是相同的,不同之处可以是在输入数据表、输出数据表、处理参数值等方面。例如,对某电商网站的英国站、法国站、日本站等分别执行上述数据处理流程,来生产各单站点的全量已翻译表。以单站点商品详情表生产任务为例,对英国站的单站点商品详情表生产任务的输入表为“英国站每日已爬商品详情表”,输出表为“英国站商品详情表”;而对法国站的单站点商品详情表生产任务的输入表为“法国站每日已爬商品详情表”,输出表为“法国站商品详情表”。
86.可见,上述各数据处理任务的数据处理逻辑对不同单站点具有较高的可复用型。为了提高数据处理任务的开发效能,避免开发人员为每个单站点的同类型数据处理任务分别编写程序代码,本技术实施例提供的方法将与数据处理流程相关的一个或者多个数据处理任务抽象为对应组件,基于组件为具体流程配置数据处理任务。
87.具体实施时,如果数据处理流程仅涉及一个数据处理逻辑可复用的数据处理任务,则只抽象出一个组件;如果数据处理流程包括多个数据处理逻辑可复用的数据处理任务,则可对每个数据处理逻辑可复用的数据处理任务抽象出对应组件。例如,图2中将商品榜单日表生产任务抽象为榜单日表生产组件,将单站点商品详情表生产任务抽象为单站点商品详情表生产组件,等等。
88.在本实施例中,不同组件对应不同类型的数据任务,每种组件用于生成不同类型的数据任务。所述组件包括数据处理代码模板和组件参数,此外还可包括组件名称和组件类型等属性信息。所述数据处理代码模板包括程序代码,如数据表生产组件的数据处理代码模板可包括一段数据查询语句代码中固化的格式和内容,代码模板的参数即数据处理参数,可以是数据查询语句中可提取出来的变量。对于同一组件而言,不同参数值形成不同的数据处理任务。
89.具体实施时,数据查询语句可以是结构化查询语言(structured query language,sql)语句(简称为sql语句或者sql代码),可以是非结构化查询语言。
90.所述组件参数包括但不限于:数据处理参数,任务调度参数。所述数据处理参数包括但不限于:数据查询语句参数。所述数据查询语句参数包括但不限于:输出表参数,输入表参数,查询条件参数,赋值参数。赋值参数可以是对数据表中某个字段进行赋值的参数,如将商品详情表中的网址字段的值设置为某个具体网址,赋值参数为网址。所述任务调度参数可以是数据处理任务的调度周期,包括但不限于:调用日期,调用时间。
91.下表1示出了本实施例构建的多个组件。
92.[0093][0094]
表1、组件信息
[0095]
通过上表可见,组件可与要生产的数据表对应,一个组件用于生产对应数据表的数据,数据生产逻辑由数据处理代码模板决定,具体生产的数据与数据处理参数有关,任务调度方式取决于任务调度参数(如bizdate,before),可根据应用需求设置数据处理参数(如sql参数)和组件调度参数。
[0096]
具体实施时,构建所述组件可包括如下步骤:设置所述组件参数和数据处理代码模板;根据所述组件参数和数据处理代码模板,生成所述组件。
[0097]
需要说明的是,所述数据处理流程的信息在数据处理平台中可显示存在,如上述表1中可包括数据处理流程标识,这样可按数据处理流程管理对应的一个或者多个组件。在实际应用中,可将不同的数据处理流程称为不同的项目,将组件按项目进行管理。
[0098]
例如,将从网站爬取数据并对爬取的数据进行离线数据处理的流程作为项目a,该项目可包括组件1至组件30;将对电商平台的日常交易数据进行统计分析处理的流程作为项目b,该项目可包括组件31至38。假设要从某电商平台的法国站爬取数据并对爬取的数据进行离线数据处理,则可获取项目a对应的组件1至组件30,以便用户对组件1至组件30进行配置,生成对应的30个数据处理任务;如果对法国站的日常交易数据进行离线数据统计分析,则可获取项目b对应的组件31至组件38,以便用户对组件31至组件38进行配置,生成对应的8个数据处理任务。
[0099]
步骤s103:根据所述至少一个组件,生成目标数据处理流程包括的至少一个目标数据处理任务的配置信息。
[0100]
所述数据处理流程可以包括对不同处理对象进行数据处理的所有数据处理任务。由于不同处理对象具有不同特点,对不同处理对象进行数据处理时可从所述数据处理流程中选取部分数据处理任务进行处理,形成针对特定处理对象的目标数据处理流程。例如,根据某个电商网站的法国站生产全量商品信息,则需要进行商品翻译处理,因此针对法国站的目标数据处理流程包括上述数据处理流程中的所有数据处理任务。根据该电商网站的英
国站生产全量商品信息,则无需进行商品翻译处理,因此针对英国站的目标数据处理流程只要包括上述数据处理流程中的商品翻译环节以外的数据处理任务即可。
[0101]
需要说明的是,由于数据处理平台以数据处理任务为管理粒度,所述目标数据处理流程的信息在数据处理平台中可以显示存在,也可以不存在,即可以不存在目标数据处理流程的标识,用户配置的具体数据处理任务可以不对应目标数据处理流程的标识,只要根据组件参数来执行各个数据处理任务,就可以自然完成目标数据处理流程。目标数据处理流程由多个目标数据处理任务构成,多个目标数据处理任务按任务调度参数进行调用执行后,可以串联出一个目标数据处理流程。
[0102]
例如,目标数据处理流程是从某电商平台的法国站爬取数据并对爬取的数据进行离线数据处理,由于各个数据处理任务的数据处理参数均与法国站相关,因此在执行完这些数据处理任务后,自然完成了从法国站爬取数据并对爬取的数据进行离线数据处理的流程。如果目标数据处理流程是从英国站爬取数据并对爬取的数据进行离线数据处理,由于各个数据处理任务的数据处理参数均与英国站相关,因此在执行完这些数据处理任务后,自然完成了从英国站爬取数据并对爬取的数据进行离线数据处理的流程。
[0103]
用户通过设置组件的参数来创建目标数据处理任务,目标数据处理任务的配置信息包括与所述组件的数据处理参数对应的数据处理参数值,还包括与所述组件的任务调度参数对应的任务调度参数值。下表2示出了本实施例生成的多个数据处理任务的配置信息。
[0104][0105][0106]
表2、数据处理任务的配置信息
[0107]
具体实施时,步骤s101可采用如下方式实现:将相同类型的数据处理任务抽象为同一组件;相应的,步骤s103可采用如下方式实现:根据同一组件生成相同类型的多个数据处理任务,不同数据处理任务的所述数据查询语句参数具有不同的参数值。
[0108]
在一个示例中,步骤s103可包括如下子步骤:选取目标组件;设置目标组件的组件参数值,作为所述目标数据处理任务的配置信息。
[0109]
具体实施时,步骤s103还可包括如下子步骤:确定与目标数据处理流程对应的数
据处理流程;显示与所述对应的数据处理流程相关的多个组件;相应的,用户可根据其要创建的数据任务类型从多个组件中选取目标组件。例如从“对电商平台的日常交易数据进行统计分析的流程”和“从网站爬取数据并对爬取数据进行数据处理的流程”中选取要配置的数据处理流程为“从网站爬取数据并对爬取数据进行数据处理的流程”,显示该流程对应的组件1至组件30,用户可从这30个组件中选取一个或者多个组件进行配置,生成相应的数据处理任务。
[0110]
针对如何保证在选择组件时正确地填入需要的数据处理参数,如何保障参数正确性的问题,在本实施例中,步骤s103还可包括如下子步骤:显示与所述目标组件对应的组件参数,用户可根据显示的组件参数来设置对应的组件参数值;根据所述组件参数值,生成目标数据处理任务包括的一个或者多个数据查询语句;通过运行生成的数据查询语句,检测所述组件参数值的正确性。采用这种处理方式,使得通过页面数据的动态交互完成参数设置,在选择不同的组件时,页面上会实时动态地弹出需要输入的组件参数项,使用者根据自己的使用场景和表填入自定义的内容,然后可通过测试功能试运行数据查询语句,即可对设置的组件参数值的正确性进行校验。
[0111]
图3示出了数据处理任务配置化生成的方式,在组件创建完毕后,当需要创建适用于该组件的数据处理任务时,可通过选择组件,渲染生成需要输入的数据处理参数和任务调度参数,用户在该组件的参数设置界面中填写各组件参数的参数值。具体实施时,如果数据处理任务需要依赖其它数据处理任务生产的数据,如数据表的生产可能需要依赖其它数据表中的数据,因此在组件配置界面中,还可显示上游依赖的数据处理任务,用户可填写上游依赖的数据处理任务。在本实施例中,数据处理任务为数据表生产任务,其上游依赖的是其它数据表中的数据,用户可填写上游依赖表参数。
[0112]
步骤s105:根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务,所述目标数据处理任务根据所述任务调度参数值调度执行。
[0113]
在获得数据处理任务的配置信息后,可基于组件的数据处理代码模板和数据处理任务的配置信息,自动化生成目标数据处理任务,无需开发人员为每个数据处理任务单独编写程序代码。
[0114]
在一个示例中,步骤s105可包括如下子步骤:
[0115]
步骤s1051:根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务的数据处理代码文件。
[0116]
本技术实施例提供的方法采用了配置化的数据处理代码渲染生成。配置化的数据查询语句代码渲染生成方式的实现原理如下所述。数据查询语句代码是通过指定组件、填写组件对应的数据查询语句参数配置化生成,生成方式可以是插值化地对参数进行依次渲染,可以将生成的数据查询语句代码视为数据处理代码模板的实例化结果。
[0117]
步骤s1053:将所述数据处理代码文件编译为可执行文件。
[0118]
所述数据处理代码文件包括的是源代码,需将源代码编译为可执行文件,如可在大数据处理平台上运行的任务的可执行文件。
[0119]
在一个示例中,数据处理任务构建装置可部署在开发平台,生成的数据处理任务部署在大数据处理平台。开发人员基于组件配置完数据处理任务后,可将该任务的代码文件提交至大数据处理平台,通过大数据处理平台将所述数据处理代码文件编译为可执行文
件。
[0120]
步骤s1055:根据所述可执行文件,发布所述目标数据处理任务。
[0121]
要使得目标数据处理任务生效,可根据所述可执行文件,发布所述目标数据处理任务。例如,将所述可执行文件部署到大数据处理平台上。
[0122]
目标数据处理流程包括的各个数据处理任务可按各自的任务调度周期来调用执行。在实际应用中,大数据处理平台可根据任务依赖关系确定多个数据处理任务的处理顺序。一个数据处理任务的任务依赖关系是指要对该数据处理任务进行处理(如提交任务,发布任务,执行任务)的前提是先处理其依赖的其它数据处理任务。需要说明的是,任意一个数据处理任务可以有或者没有任务依赖关系,可根据应用需求确定。
[0123]
在实际应用中,发明人发现批量提交、发布数据处理任务的能力在大数据处理平台中比较困难,原因是离线数据流程中的任务之间可能存在复杂的上下游依赖关系,如任务a的输入表可以是多个其它任务(如任务b、c和d)的输出表,任务a强依赖于上游任务b的输出表;任务c的输出表也可以是多个其它任务(如任务a、任务e)的输入表,任务e强依赖于上游任务c的输出表,大数据处理平台在对具有上游任务依赖的数据处理任务进行提交处理或者发布处理时,需要对该任务的上游任务进行存在性校验,在上游任务未提交和发布时下游任务无法提交和发布。
[0124]
在一个示例中,所述任务调度参数还可包括如下参数:任务依赖关系。在这种情况下,所述方法还可包括如下步骤:根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序。相应的,步骤s1053可采用如下方式实现:按照所述处理顺序将所述至少一个目标数据处理任务的数据处理代码文件编译为对应的可执行文件;步骤s1055可采用如下方式实现:按照所述处理顺序发布所述至少一个目标数据处理任务。采用这种处理方式,使得在配置化生成数据处理任务的初步提效的基础上,通过自动化确定多个数据处理任务的处理顺序,进一步提供了批量处理数据处理任务的能力,避免开发人员手动逐个处理各个数据处理任务,如无需逐个将数据处理任务提交、发布至大数据处理平台,因此可以进一步提升研发效能。
[0125]
具体实施时,可响应于批量提交任务请求或者批量发布任务请求,根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序;响应于批量提交任务请求,按照所述处理顺序将所述至少一个目标数据处理任务的数据处理代码文件编译为对应的可执行文件;响应于批量发布任务请求,按照所述处理顺序发布所述至少一个目标数据处理任务。
[0126]
在一个示例中,上述根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序的处理步骤,可包括如下子步骤:根据所述任务依赖关系,构建所述至少一个目标数据任务的任务依赖图;根据所述任务依赖图,确定所述处理顺序。任务依赖图是一个有向图的拓扑模型,图中的每个节点对应不同的数据处理任务,根据每个任务的任务依赖关系,依次组装每个节点的父节点和子节点,最终生成一个有向图。基于对任务依赖图的遍历,即可确定多个数据处理任务的处理顺序。如图4所示,基于左侧的多个数据处理任务构建得到一个右侧的可具有一个或者多个根节点(如多个根节点包括:单站点榜单日表生产任务,单站点词搜日表生产任务,单站点每日已爬商品详情表生产任务)的有向图,可给该图中的多个根节点设置统一的虚拟父节点,参考树模型的前序遍历逻辑,从虚拟父节点开
始以前序遍历的顺序、结合父节点是否已经访问过的判断逻辑依次访问所有节点,确保所有节点的访问都在其父节点之后,即可以确定多个数据处理任务的处理顺序。可见,这是一种基于有向图拓扑的任务依赖解析方式,并基于此提供自动化确定多个任务处理顺序的能力,根据多个数据处理任务的输出表之间的前后依赖关系,将数据处理任务生成一个有向图的拓扑,然后通过前序和父访问节点识别的遍历方式对数据处理任务进行上下游排序。
[0127]
具体实施时,由于批量提交任务和批量发布任务都可采用上述任务依赖图的模型和任务节点遍历逻辑,基于复用性的考虑,可将每个节点的访问行为抽象为一个接口,该接口有提交和发布两个实现类,可以通过在遍历图时指定本次遍历的访问行为,来实现批量提交或者批量发布。
[0128]
在一个示例中,所述方法还可包括如下步骤:对所述数据处理任务进行生命周期管理,所述生命周期管理包括:编辑数据处理任务,查看数据处理任务,删除数据处理任务。采用这种处理方式,使得可根据应用需求对数据处理任务进行管理,如创建任务,编辑任务,查看任务,清除任务,可以进一步提升数据流程研发效能,避免重复的代码开发。
[0129]
具体实施时,编辑任务可采用如下方式:确定目标数据处理任务,如由用户指定数据处理任务;获取目标数据处理任务的配置信息,显示目标数据处理任务的配置信息,以使得用户对配置信息进行修改;获取修改后的配置信息;根据所述修改后的配置信息更新目标数据处理任务的配置信息。删除数据处理任务可采用如下方式:确定目标数据处理任务,如由用户指定数据处理任务;删除目标数据处理任务的配置信息。
[0130]
在一个示例中,所述方法还可包括如下步骤:对所述组件进行生命周期管理,所述生命周期管理包括:编辑组件,查看组件,删除组件。采用这种处理方式,使得可根据应用需求对组件进行管理,如创建组件,编辑组件,查看组件,清除组件,可以进一步提升数据流程研发效能,避免重复的代码开发。
[0131]
从上述实施例可见,本技术实施例提供的数据处理任务构建方法,将数据处理流程分解为多个数据处理任务,将数据处理任务抽象为组件,组件包括数据处理代码模板和组件参数;用户可基于同一组件配置对应不同数据处理流程的不同数据处理任务;基于组件的数据处理代码模板和数据处理任务的配置信息,自动生成数据处理任务。采用这种处理方式,使得开发人员无需为每个数据处理任务手动开发程序;因此可以有效提升数据处理任务的开发能效。
[0132]
第二实施例
[0133]
在上述的实施例中,提供了一种数据处理任务构建方法,与之相对应的,本技术还提供一种数据处理任务构建装置。该装置是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0134]
本技术提供的一种数据处理任务构建装置包括:组件构建单元,任务配置单元,任务生成单元。
[0135]
组件构建单元,用于将与数据处理流程相关的至少一个数据处理任务抽象为对应组件,所述组件包括数据处理代码模板和组件参数,所述组件参数包括数据处理参数和任务调度参数;任务配置单元,用于根据所述至少一个组件,生成目标数据处理流程包括的至少一个目标数据处理任务的配置信息,所述配置信息包括数据处理参数值和任务调度参数值;任务生成单元,用于根据所述数据处理参数值和所述数据处理代码模板,生成所述目标
数据处理任务,所述目标数据处理任务根据所述任务调度参数值调度执行。
[0136]
在一个示例中,所述数据处理参数为数据查询语句参数,所述数据处理代码模板包括带有所述数据查询语句参数的数据查询语句。
[0137]
在一个示例中,所述任务生成单元包括:代码文件生成单元,编译单元,发布单元。
[0138]
代码文件生成单元,用于根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务的数据处理代码文件;编译单元,用于将所述数据处理代码文件编译为可执行文件;发布单元,用于根据所述可执行文件,发布所述目标数据处理任务。
[0139]
在一个示例中,所述任务调度参数包括:任务依赖关系;所述装置还包括:任务处理顺序确定单元,用于根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序;相应的,编译单元具体用于按照所述处理顺序将所述至少一个目标数据处理任务的数据处理代码文件编译为对应的可执行文件;发布单元具体用于按照所述处理顺序发布所述至少一个目标数据处理任务。
[0140]
在一个示例中,所述任务处理顺序确定单元,具体用于根据所述任务依赖关系,构建所述至少一个目标数据任务的任务依赖图;根据所述任务依赖图,确定所述处理顺序。
[0141]
在一个示例中,响应于批量提交任务请求或者批量发布任务请求,根据所述任务依赖关系,确定所述至少一个目标数据处理任务的处理顺序;响应于批量提交任务请求,按照所述处理顺序将所述至少一个目标数据处理任务的数据处理代码文件编译为对应的可执行文件;响应于批量发布任务请求,按照所述处理顺序发布所述至少一个目标数据处理任务。
[0142]
在一个示例中,所述任务配置单元具体用于根据同一组件生成相同类型的多个数据处理任务,不同数据处理任务的所述数据查询语句参数具有不同的参数值。
[0143]
在一个示例中,所述任务配置单元包括:目标组件单元,参数值设置单元。
[0144]
目标组件单元,用于选取目标组件;参数值设置单元,用于设置目标组件的组件参数值,作为所述目标数据处理任务的配置信息。
[0145]
在一个示例中,所述任务配置单元可还包括:流程确定单元,组件显示单元。
[0146]
流程确定单元,用于确定与目标数据处理流程对应的数据处理流程;组件显示单元,用于显示与所述对应的数据处理流程相关的多个组件;目标组件单元,具体用于从所述多个组件中选取所述目标组件。
[0147]
在一个示例中,所述任务配置单元可还包括:组件参数动态显示单元,测试语句生成单元,参数值正确性检测单元。
[0148]
组件参数动态显示单元,用于显示与所述目标组件对应的所述组件参数,用于设置所述组件参数值;测试语句生成单元,用于根据所述组件参数值,生成所述目标数据处理任务包括的数据查询语句;参数值正确性检测单元,用于通过运行生成的数据查询语句,检测所述组件参数值的正确性。
[0149]
在一个示例中,所述装置还可包括:管理单元,用于对所述组件和/或所述数据处理任务进行生命周期管理,所述生命周期管理包括以下至少一项:查看所述组件和/或所述数据处理任务,编辑所述组件和/或所述数据处理任务,删除所述组件和/或所述数据处理任务。
[0150]
第三实施例
[0151]
在上述的实施例中,提供了一种数据处理任务构建方法,与之相对应的,本技术还提供一种商品数据处理方法。该方法是与上述方法的实施例相对应,是上述方法的一种应用场景。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0152]
本技术提供的一种商品数据处理方法包括:
[0153]
步骤1:将与商品数据处理流程相关的至少一个数据处理任务抽象为对应组件。
[0154]
商品数据处理流程可以是从网站爬取数据并对爬取的数据进行离线数据处理的流程,也可以是对其它任意内容的数据进行处理的流程,如对电商平台的日常交易数据进行统计分析等处理的流程。
[0155]
所述组件包括数据处理代码模板和组件参数,所述数据处理代码模板包括带有数据查询语句参数的数据查询语句,所述组件参数包括所述数据查询语句参数和任务调度参数。
[0156]
步骤2:根据所述至少一个组件,生成目标商品数据处理流程包括的至少一个目标数据处理任务的配置信息,所述配置信息包括所述数据查询语句的参数值和任务调度参数值。
[0157]
步骤3:根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务,所述目标数据处理任务根据所述任务调度参数值调度执行。
[0158]
具体实施时,所述至少一个组件为多个组件;步骤2可包括如下子步骤:从所述多个组件中选取与所述目标商品数据处理流程相关的至少一个目标组件,与不同的目标商品数据处理流程相关的至少一个目标组件相同或者不同,如上述实施例一中的法国站的处理流程包括翻译相关的任务,相应的目标组件包括翻译相关的组件,而英国站的处理流程不包括翻译相关的任务,相应的目标组件不包括翻译相关的组件;根据所述至少一个目标组件,生成所述目标商品数据处理流程包括的至少一个目标数据处理任务的配置信息。
[0159]
第四实施例
[0160]
在上述的实施例中,提供了一种商品数据处理方法,与之相对应的,本技术还提供一种商品数据处理装置。该装置是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0161]
本技术提供的一种商品数据处理装置包括:
[0162]
组件构建单元,用于将与商品数据处理流程相关的至少一个数据处理任务抽象为对应组件,所述组件包括数据处理代码模板和组件参数,所述数据处理代码模板包括带有数据查询语句参数的数据查询语句,所述组件参数包括所述数据查询语句参数和任务调度参数;
[0163]
任务配置单元,用于根据所述至少一个组件,生成目标商品数据处理流程包括的至少一个目标数据处理任务的配置信息,所述配置信息包括所述数据查询语句的参数值和任务调度参数值;
[0164]
任务发布单元,用于根据所述数据处理参数值和所述数据处理代码模板,生成所述目标数据处理任务,所述目标数据处理任务根据所述任务调度参数值调度执行。
[0165]
在一个示例中,所述至少一个组件为多个组件;所述任务配置单元,具体用于包括:从所述多个组件中选取与所述目标商品数据处理流程相关的至少一个目标组件,与不同的目标商品数据处理流程相关的至少一个目标组件相同或者不同;根据所述至少一个目
标组件,生成所述目标商品数据处理流程包括的至少一个目标数据处理任务的配置信息。
[0166]
第五实施例
[0167]
在上述的实施例中,提供了一种数据处理任务构建方法,与之相对应的,本技术还提供一种组件。该组件是与上述方法的实施例相对应。本实施例与第一实施例内容相同的部分不再赘述,请参见实施例一中的相应部分。
[0168]
本技术提供的一种组件包括:数据处理代码模板和组件参数,所述组件参数包括数据处理参数和任务调度参数;所述组件用于生成数据处理流程中的对应数据处理任务,所述数据处理任务采用如下方式生成:根据所述组件生成对应数据处理任务的配置信息,所述配置信息包括组件参数值,所述组件参数值包括数据处理参数值和任务调度参数值;根据所述数据处理参数值和所述数据处理代码模板,生成数据处理任务;根据所述任务调度参数值,执行所述数据处理任务。
[0169]
第六实施例
[0170]
本技术还提供一种电子设备。由于设备实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的设备实施例仅仅是示意性的。
[0171]
本实施例的一种电子设备,该电子设备包括:处理器和存储器;存储器,用于存储实现上述方法的程序,该设备通电并通过所述处理器运行该方法的程序。
[0172]
本技术虽然以较佳实施例公开如上,但其并不是用来限定本技术,任何本领域技术人员在不脱离本技术的精神和范围内,都可以做出可能的变动和修改,因此本技术的保护范围应当以本技术权利要求所界定的范围为准。
[0173]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0174]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0175]
1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0176]
2、本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
再多了解一些

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

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

相关文献