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

一种跨平台自适应数据处理工作流系统及方法与流程

2022-04-24 21:18:40 来源:中国专利 TAG:

1.本技术属于计算机系统技术领域,具体涉及一种跨平台自适应数据处理工作流系统及方法。


背景技术:

2.本部分的陈述仅仅是提供了与本技术相关的背景技术信息,不必然构成在先技术。
3.随着互联网信息技术的发展,人们的生产生活产生了更多、更复杂的数据。为了更高效地使用这些数据,挖掘数据中存在的价值,人们研究了数据清洗、数据纠偏、数据标准化、数据填补等大量算法。然而,目前不存在一个可以胜任所有数据处理任务的平台,数据科学家在处理数据时经常需要跨平台分步工作,例如使用关系型数据库存储结构化数据、图数据使用图计算引擎、数据质控算法使用人工智能模型框架、流式数据使用apache flink等。当前的数据处理任务已不再局限于使用单一计算平台,而是使用多种计算平台协同完成。
4.对于数据科学家而言,构建一个跨平台计算使用多种算法的数据处理工作流并协调各部分计算以达到较高的性能是很难的,原因在于以下几方面:(1)不同的平台都需要实现特定的代码,用户需要掌握多种编程语言且熟悉各种平台;(2)用户需要编写额外的脚本文件来实现不同平台间的协同,如数据传输、数据格式转换等,该部分编码对数据科学家而言是额外的负担,目前仍有不少人手动完成该部分工作;(3)用户需要调试算法的运算平台以达到理想的性能和效果,部分性能下降是由用户代码导致的,但还有部分原因是平台限制,该部分性能用户很难调试。
5.目前已有多种跨平台计算框架,各平台关注解决的问题也各有不同,有些框架致力于丰富自身的计算模式,如大数据框架spark增加了spark ml提供机器学习算法;有些框架提供免迁移的数据转换方法来连通不同的计算平台,如华为的ocean store;有些框架专注解决跨平台间协作问题,如rheem提供多种数据模型和逻辑运算符方便用户构建工作流。


技术实现要素:

6.为了解决上述问题,本技术提出了一种跨平台自适应数据处理工作流系统及方法,采用基于kubernetes的微服务架构,采用istio安全网关作为客户端与服务端的唯一通道,实现跨平台自适应数据工作流的处理。
7.根据一些实施例,本技术的第一方案提供了一种跨平台自适应数据处理工作流系统,采用如下技术方案:一种跨平台自适应数据处理工作流系统,包括:客户端,被配置为基于应用程序编程接口(api)调用和画布式拖拽构建工作流,将
所构建的工作流通过istio安全网关发送到服务端;服务端,被配置为基于服务器接口(api server)接收客户端所构建的工作流,基于运算符计算平台适配器进行工作流逻辑运算符的计算环境优化适配。
8.作为进一步的技术限定,所述客户端提供应用程序编程接口列表供用户调用,提供可视化的拖拽式画布前端;所述列表包含数据对象算子、逻辑运算符算子、流程控制算子和任务提交算子的描述、参数及使用规则,用户仅需编写代码即可完成工作流的构建;所述拖拽式画布前端为用户提供画布工作台,通过列表列出可调用的算子,用户通过拖拽算子到画布、定义算子属性和关联算子,形成工作流。
9.进一步的,所形成的工作流被提取为yaml格式,通过kubernetes的istio安全网关发送到服务端,调用服务端组件完成请求。
10.作为进一步的技术限定,所述服务端基于kubernetes架构实现微服务结构,结合成对的channel(数据传输通道)算子进行跨平台地址绑定进行跨平台通信。
11.作为进一步的技术限定,所述服务端通过服务器接口接收所述客户端提交的包含工作流信息的yaml数据,解析所述yaml数据并形成逻辑工作流,根据所述逻辑工作流内容访问etcd(开源分布式统一键值存储)分布式数据存储器获取数据对象或将客户端所上传的数据存储到所述etcd分布式数据存储器,服务器接口将所述逻辑工作流发送到运算符计算平台适配器进行优化并选择物理计算平台,服务器接口获取任务执行状态并通过istio安全网关反馈给客户端。
12.进一步的,所述运算符计算平台适配器进行逻辑运算符的优化和拆分,为逻辑运算符适配最佳计算环境,调用kubernetes创建对应的分布式计算容器集群,创建动态计算环境。
13.进一步的,在物理计算平台的优化选择过程中,基于图卷积网络的计算环境适配模型实现,所述计算环境适配模型进行逻辑工作流的优化拆分,将每个逻辑运算符及相近的运算符划分为一个子任务,对每个子任务适配最佳计算环境,通过调度kubernetes创建与所适配的最佳计算环境所对应平台环境执行物理计划。
14.进一步的,在所述图卷积网络中,采用逻辑运算符编码;所述逻辑运算符编码输出的特征向量维度不会随着运算符的数量变化而变化。
15.作为进一步的技术限定,所述跨平台自适应数据处理工作流系统,还包括数据存储器,所述数据存储器根据数据类型、数据规模和数据特征进行数据的多维度分类存储。
16.根据一些实施例,本技术的第二方案提供了一种跨平台自适应数据处理工作流方法,采用如下技术方案:一种跨平台自适应数据处理工作流方法,包括以下步骤:客户端基于应用程序编程接口调用和画布式拖拽构建工作流,通过istio安全网关将所构建的工作流发送到服务端;基于kubernetes技术对服务端对所接收到的工作流进行逻辑运算符的计算环境优化适配;根据所得到的最优的计算环境适配结果,通过跨平台通信数据传输通道绑定跨平台地址进行跨平台通信,实现跨平台数据处理。
17.与现有技术相比,本技术的有益效果为:
(1)本技术基于kubernetes技术实现了全部服务的微服务架构,实现环境自动部署、故障自动恢复、高灵活性、高拓展性。构建大量计算平台镜像,对主流计算平台均可一键部署。实现运算符与运算环境高度解耦,计算平台可独立开发部署。
18.(2)本技术对主流的数据结构、算法、运算符进行抽象,用户仅需简单了解数据算子、运算符算子、逻辑算子的用法及作用即可使用,无需系统学习spark、flink、pytorch等计算平台的复杂语法及接口即可使用。
19.(3)本技术采用基于图卷积网络的运算环境适配模型来解决逻辑运算符的计算环境适配问题达到全局性能最优,用户无需对工作流性能进行大量调教工作,自动为逻辑运算符适配最佳计算环境,用户无需深入了解复杂的平台及算法即可实现高性能的跨平台数据处理。
附图说明
20.构成本技术的一部分的说明书附图用来提供对本技术的进一步理解,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。
21.图1是本技术实施例一中的跨平台自适应数据处理工作流系统的架构图;图2是本技术实施例二中的跨平台自适应数据处理工作流方法的流程图;图3是本技术实施例一中的工作流的结构图;图4是本技术实施例一中的计算环境适配模型优化的结构图。
具体实施方式
22.下面结合附图与实施例对本技术作进一步说明。
23.应该指出,以下详细说明都是例示性的,旨在对本技术提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本技术所属技术领域的普通技术人员通常理解的相同含义。
24.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本技术的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
25.在本技术中,术语如“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“侧”、“底”等指示的方位或位置关系为基于附图所示的方位或位置关系,只是为了便于叙述本技术各部件或元件结构关系而确定的关系词,并非特指本技术中任一部件或元件,不能理解为对本技术的限制。
26.本技术中,术语如“固接”、“相连”、“连接”等应做广义理解,表示可以是固定连接,也可以是一体地连接或可拆卸连接;可以是直接相连,也可以通过中间媒介间接相连。对于本领域的相关科研或技术人员,可以根据具体情况确定上述术语在本技术中的具体含义,不能理解为对本技术的限制。
27.在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
28.实施例一本技术实施例一提供了一种跨平台自适应数据处理工作流系统。
29.一种跨平台自适应数据处理工作流系统,包括:客户端,被配置为基于应用程序编程接口调用和画布式拖拽构建工作流,将所构建的工作流通过istio安全网关发送到服务端;服务端,被配置为基于服务器接口接收客户端所构建的工作流,基于运算符计算平台适配器进行工作流逻辑运算符的计算环境优化适配。
30.作为一种或多种实施方式,跨平台自适应数据处理工作流系统采用如图1所示的系统架构,包括展示层、服务层、数据层三层。其中,展示层提供api列表供用户调用,并提供可视化的拖拽式画布前端。服务层包含两部分,一部分是系统管理,该部分直接部署于云端,数据存储于mysql数据库;另一部分为业务组件,全部基于kubernetes开发部署,由kubernetes调度器实现服务组件的通信、管理、分布式计算环境创建等。数据存包含mysql库、日志文件和分布式数据存储器,要处理的数据存储在etcd分布式数据存储器,该存储器基于分布式、高可用的、key-value存储数据库etcd集成,关联hdfs、swift、hbase、solr等多种分布式存储集群,可满足绝大多数数据存储要求,日志文件保存程序运行信息便于开发人员调试。
31.下面分别针对系统架构中的三个层级展开详细介绍。
32.(1)展示层展示层提供api列表和拖拽式画布前端两种使用方式。api列表面向习惯自己编写代码的用户,支持python语言调用,列表包含数据对象算子、逻辑运算符算子、流程控制算子、任务提交算子等算子的描述、参数及使用规则等信息,用户仅需编写少量代码即可完成工作流构建;拖拽式画布前端为用户提供画布工作台,左侧列表列出可调用的算子,用户拖拽算子到画布并定义算子属性、关联算子形成工作流。两种使用方式形成的工作流都会被提取为yaml格式提交到服务端。
33.(2)服务层服务层包含业务组件和系统管理两部分,其中系统管理后台代码部署在云服务器主节点,业务组件为基于kubernetes技术实现的微服务,部署在云服务器kubernetes集群。
34.系统管理部分负责用户管理、项目管理、集群管理、镜像管理、算子管理等,该部分数据表存储于mysql数据库,镜像管理基于docker实现。
35.业务组件部分包含istio安全网关、api server、运算符计算平台适配服务、跨平台通信channel几部分。istio安全网关用于管理外部进入kubernetes集群的流量,也负责将kubernetes内部服务暴露给外部访问,是客户端和云端的唯一通道,具有较高的安全性;apiserver接收客户端提交的包含工作流信息的yaml数据,解析该yaml数据形成逻辑工作流,根据工作流内容访问etcd分布式数据存储器获取数据对象或将用户上传的数据存储到etcd分布式数据存储器,api server将逻辑工作流发送到运算符计算平台适配器进行优化并选择物理计算平台,同时api server还会监听kubernetes工作空间pod状态、pod日志以获取任务执行状态并通过istio安全网关反馈给用户;运算符计算平台适配器将逻辑运算符进行优化、拆分,为相近的逻辑运算符适配最佳计算平台,并调用kubernetes创建对应分布式计算容器集群,定义跨平台通信channel等,并将优化后的物理执行计划打包成驱动程序发送到对应容器集群执行,运算符计算平台适配器包含一个基于图卷积网络的人工智能模型来进行计算环境适配,该模型将在后面详细介绍;跨平台通信channel是通过一对
channel绑定跨平台通信地址,通过channel对进行数据、信息的传递。
36.(3)数据层数据层包含关系型数据库mysql、基于etcd的分布式数据存储器、日志文件等部分。其中关系型数据库mysql用于存储用户信息、算子信息、任务信息、集群信息等,主要与系统管理功能后台代码交互;etcd分布式数据存储器基于分布式、高可用的、key-value存储数据库etcd集成,存储了大量的元数据,关联hdfs、swift、hbase、solr等多种分布式存储集群,存储器根据数据类型、数据规模、数据特征等多种维度将数据分类存储并构建对应的元数据便于查询。日志文件是后台代码运行记录,便于开发者进行调试,用户提交的工作流运行日志则存储于etcd分布式数据存储器中。
37.本实施例采用基于kubernetes的微服务架构,具有良好的拓展性、安全性、鲁棒性。客户端提供api调用、画布式拖拽两种使用形式,客户端提交的工作流将会转换成yaml格式通过kubernetes的istio安全网关发送到服务端,调用服务端组件完成请求;服务端各组件基于kubernetes技术实现微服务结构,所有计算环境也通过kubernetes进行部署;使用成对的channel算子进行跨平台地址绑定进行跨平台通信。
38.实施例二本技术实施例二提供了一种跨平台自适应数据处理工作流方法,采用了实施例一中所提供的跨平台自适应数据处理工作流系统。
39.用户使用基于kubernetes的跨平台自适应数据处理工作流方法构建工作流时,遵循该框架特定的规则使用相关算子。在本实施例中,算子包含数据对象算子、逻辑运算符算子、流程控制算子等,数据对象算子是将要处理的数据抽象为标准化的数据对象,该对象定义了数据结构、数据规模、数据路径等信息;逻辑运算符算子是本方法对常用的数据处理算法、多种平台提供的数据处理接口进行了标准化封装,算子仅描述作用、用法、输入输出规则等信息便于用户理解;流程控制算子包含常见的条件分支、迭代、开始、结束等。
40.当用户使用该方法构建完成跨平台数据处理工作流后,该工作流经过提交、任务解析、逻辑工作流优化拆分、适配物理执行计划、构建执行环境并执行等阶段,具体流程如图2所示。
41.一种跨平台自适应数据处理工作流方法,包括以下步骤:客户端基于应用程序编程接口调用和画布式拖拽构建工作流,通过istio安全网关将所构建的工作流发送到服务端;基于kubernetes技术对服务端对所接收到的工作流进行逻辑运算符的计算环境优化适配;根据所得到的最优的计算环境适配结果,通过跨平台通信channel绑定跨平台地址进行跨平台通信,实现跨平台数据处理。
42.作为一种或多种实施方式,用户使用算子构建完跨平台数据处理工作流后进行提交,客户端将该工作流信息提取为yaml文件,通过istio安全网关提交到服务端,服务端api server将对该yaml信息进行解析,形成逻辑工作流,此时的工作流是一个抽象的、与计算环境无关的图,如图3所示。
43.此时的逻辑工作流需要对每个运算符分配特定的计算环境才可实际执行。收数据结构、数据规模、算法类型、算法复杂度等因素影响,每一步的逻辑运算适配的最佳计算环
境不是固定的,本方法提出一种基于图卷积网络的计算环境适配模型解决此问题。
44.计划环境适配模型对逻辑工作流进行优化拆分,对每个逻辑运算符及其相近的运算符划分为一个子任务,对每个子任务适配最佳计算环境,并调度kubernetes创建对应平台环境执行该物理计划,具体的计算环境适配模型优化的结构图如图4所示。
45.图卷积网络是一种直接可以使用图结构的卷积神经网络,在传统卷积网络中引入一个图卷积层。使用卷积核对局部结构的建模能力及图上普遍存在的节点依赖关系,图卷积层可以有效提取节点间的关系,最终为每个节点输出一个嵌入了邻域信息的图表达,该向量可进一步用于分类、回归任务。
46.图卷积网络的输入是一系列的逻辑子任务,子任务中的每个运算符都有一个表示最佳计算平台的标签,由于训练好的网络无法接收一个与训练数据维度不同的向量,为了避免随着运算符的增加要重新训练网络带来大量的训练开销,本方法采用新的编码方式为运算符编码,该编码方式输出的特征向量维度不会随着运算符的数量变化而变化,避免了网络重新训练。
47.使用图卷积网络为逻辑子任务适配物理计算环境需要经过向量化、正则化、卷积和分类。
48.由于神经网络的输入为特征向量,首先将逻辑运算符编码为数值型特征向量;正则化将不规则的拓扑结构转化为规则的矩阵数据,该步骤是一个迭代的过程,每次迭代选择图中一个运算符进行正则化,形成该运算符与其临近运算符的特征向量组成的特征矩阵,运算符的特征向量为v,特征向量的维度为|v|,矩阵的大小为k*|v|,其中k为该运算符 其临近运算符的数量;卷积操作需要定义一个卷积核,核函数为f(x),其中x为k*k大小的矩阵,卷积是一个不断迭代的过程,每次卷积的结果是一个标量值,最终通过滑动卷积核完成卷积得到一个长度|v |-k的向量,该向量可被认为包含了运算符及其临近运算符的聚合信息;得到当前运算符的聚合信息后,即可对该节点进行分类,使用一个基础神经网络进行分类任务,输入为聚合信息向量,输出为当前节点在不同计算平台的概率分布,概率最高的一个平台作为该逻辑运算符的计算平台。
49.作为一种或多种实施方式,为了避免随着运算符的增加导致特征向量维度变化,使得训练好的网络无法使用,本方法提出一种新的编码方式。在自然语言处理任务中,word embedding用于表示一个单词,是一种常见的预处理技术,采用实值连续向量的形式对单词的含义进行编码,并且使语义相近的单词在向量空间中距离接近。生成word embedding的代表算法是cbow(《efficient estimation of word representations invector space》提出),基本思想为出现在同一个句子中的词具有更高的相关性。将word embedding的概念拓展开,可以有operator embedding,则逻辑运算符(在本实施例中作为对一个数据进行特定处理的一段算法)有语义含义,并且同一子任务中的逻辑运算符之间存在一定的关联性。operator embedding与word embedding类似,是一个实值连续向量,其维度大小是固定的,不会随着添加新的运算符导致维度增长,所以特征向量训练的网络不需要随着算子变化重新训练。
50.生成operator embedding需要将一个逻辑计划的图结构转变为线性序列以便使用word2vector模型。首先使用拓扑排序将逻辑计划变为拓扑序的线性序列,使用一个固定大小的滑动窗口遍历该序列,窗口中央的运算符作为中心运算符,其余作为上下文,输入到
word2vector模型中,该模型会对每一个窗口输入输出一个向量,该向量即operator embedding。
51.本实施例中所提供的基于kubernetes的跨平台自适应数据处理工作流方法是让用户以构建工作流的方式进行数据处理;将数据抽象为工作流中的数据对象,将包含质量控制(清洗、纠偏、填补、去重等)、聚类集成、数据转换、数据规约、标准化在内的多种算法及spark、hadoop、pytorch、tensorflow、flink等多种框架提供的数据处理接口抽象为逻辑运算符,提供多种流程控制算子,支持用户以画布选择或编码调用api的形式构建跨平台的复杂数据处理工作流。此时的工作流是一个逻辑工作流,需要提交到物理环境中进行计算,“自适应”是指该方法由后台智能将逻辑运算符及与其相近的运算分配到最佳运算环境,达到工作流整体性能最佳。该方法提供的各类算子仅简单描述作用及使用规则,用户无需深入学习各种数据处理算法及各类框架提供的接口即可完成高效的跨平台数据处理工作,可有效提升工作效率,计算完成时自动回收资源,减少服务器资源损耗。
52.以上所述仅为本技术的优选实施例而已,并不用于限制本技术,对于本领域的技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本技术的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献