业务处理的方法、装置、设备以及存储介质与流程

文档序号:22891163发布日期:2020-11-10 18:16阅读:128来源:国知局
业务处理的方法、装置、设备以及存储介质与流程

本申请涉及数据处理领域,尤其涉及大数据、信息流等领域。



背景技术:

随着互联网技术持续的发展与应用,产生了海量的数据与各式各样的数据计算引擎。数据计算引擎是用来对数据做计算的组件。为了提取海量数据中有价值的数据,需要开发大量的数据etl(抽取、转换以及加载,extract-transform-load)业务,并且按照一定的周期,在线运行这些etl业务。其中,etl用来描述将数据从数据源经过抽取(extract)、转换(transform)、加载(load)至目的数据源的过程。

目前,主流的etl业务都是基于sql开发的,etl业务内部逻辑复杂且涉及的数据量极大,一次执行可能耗时几个小时甚至几天,导致业务处理效率较低。



技术实现要素:

本申请提供了一种业务处理的方法、装置、设备以及存储介质。

根据本申请的一方面,提供了一种业务处理的方法,包括以下步骤:

确定目标业务中所包含的各业务过程的第一执行顺序,以及各业务过程之间依赖关系;第一执行顺序包括串行执行各业务过程;

根据依赖关系,对第一执行顺序进行调整,得到第二执行顺序;第二执行顺序包括串行和并行执行各业务过程;

根据第二执行顺序执行各业务过程。

根据本申请的另一方面,提供了一种业务处理的装置,包括:

业务过程属性分析模块,用于确定目标业务中所包含的各业务过程的第一执行顺序,以及各业务过程之间依赖关系;第一执行顺序包括串行执行各业务过程;

执行顺序调整模块,用于根据依赖关系,对第一执行顺序进行调整,得到第二执行顺序;第二执行顺序包括串行和并行执行各业务过程;

业务过程执行模块,用于根据第二执行顺序执行各业务过程。

根据本申请的第三方面,本申请实施例提供一种电子设备,包括:

至少一个处理器;以及

与至少一个处理器通信连接的存储器;其中,

存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行本申请任意一项实施例所提供的方法。

根据本申请的第四方面,本申请实施例提供一种存储有计算机指令的非瞬时计算机可读存储介质,计算机指令用于使计算机执行本申请任意一项实施例所提供的方法。

根据本申请的技术解决了业务过程执行效率低的问题,确定出目标业务中的各个业务过程之间的依赖关系,通过改变各业务过程的执行顺序提高执行效率。

应当理解,本部分所描述的内容并非旨在标识本申请的实施例的关键或重要特征,也不用于限制本申请的范围。本申请的其它特征将通过以下的说明书而变得容易理解。

附图说明

附图用于更好地理解本方案,不构成对本申请的限定。其中:

图1是根据本申请实施例的业务处理的方法的流程图;

图2是根据本申请实施例的业务过程的示意图;

图3是根据本申请实施例的得到第二执行顺序的流程图;

图4是根据本申请实施例的业务过程执行矩阵的示意图;

图5是根据本申请实施例的得到第二执行顺序的流程图;

图6是根据本申请实施例的业务过程执行矩阵的示意图;

图7是根据本申请实施例的业务过程执行矩阵的示意图;

图8是根据本申请实施例的执行业务过程的流程图;

图9是根据本申请实施例的业务处理的装置的示意图;

图10是根据本申请实施例的业务处理系统架构示意图;

图11是根据本申请实施例的根据业务处理系统架构进行业务处理的流程图;

图12是用来实现本申请实施例的业务处理的方法的电子设备的框图。

具体实施方式

以下结合附图对本申请的示范性实施例做出说明,其中包括本申请实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本申请的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。

如图1所示,在本申请的实施例中,提供一种业务处理的方法,可以包括以下步骤:

s101:确定目标业务中所包含的各业务过程的第一执行顺序,以及各业务过程之间依赖关系;第一执行顺序包括串行执行各业务过程;

s102:根据依赖关系,对第一执行顺序进行调整,得到第二执行顺序;第二执行顺序包括串行和并行执行各业务过程;

s103:根据第二执行顺序执行各业务过程。

在一种示例中,目标业务可以是由一个或多个业务过程组成的有明确执行任务的静态的代码。例如,目标业务可以是xml(扩展标记语言,extensiblemarkuplanguage)文件,业务过程可以是数据抽取、转换和加载(etl,extract-transform-load)过程。

在业务过程之间存在依赖关系的情况下,可以将存在依赖关系的业务过程称为具有血缘关系的业务过程。

结合图2所示,例如,目标业务是获取获胜队伍信息的业务。根据对目标业务进行解析,可以确定该目标业务包括四个业务过程,分别是:第一业务过程(图2中对应jobid:1),获取参赛队的信息;第二过程(图2中对应jobid:2),获取比赛信息;第三业务过程(图2中对应jobid:3),将参赛队的信息与比赛信息进行匹配;第四业务过程(图2中对应jobid:4),确定胜利者的信息。

上述四个业务过程的执行顺序为串行执行,可以分别用jobid:1至jobid:4的执行顺序进行标记。上述执行顺序可以称为第一执行顺序。

进一步的,对上述业务过程进行依赖关系解析,可以确定出:第三业务过程需要依赖于第一业务过程和第二过程的数据处理结果,而第四业务过程需要依赖于第三业务过程的数据处理结果。基于此,可以构建数据依赖树。数据依赖树可以是根据列级数据血缘构建,也可以根据表级数据血缘构建。

例如,根据数据依赖树可以确定,第三业务过程可以称为第一业务过程和第二业务过程的父节点,第四业务过程可以称为第三业务过程的父节点。

根据数据依赖树确定出依赖关系后,基于依赖关系可以对第一执行顺序进行调整。例如,可以将第一业务过程和第二业务过程调整为并行执行,后续串行执行第三业务过程和第四业务过程。调整后的执行顺序可以作为第二执行顺序。

根据第二执行顺序,执行上述四个业务过程。

通过上述调整,可以利用依赖关系对默认串行执行的各业务过程进行调整,得到第二业务过程。第二业务过程中包括串行执行和并行执行。

每个业务过程可以被数据计算引擎解析为多个作业,这些作业是串行执行。数据计算引擎可以是spark、hadoopmr、flink、storm等。

每个作业在执行的时候会拆分成多个作业(job)。每个作业在执行器(executor)中的实际执行过程叫任务(task),多个任务可以是并行执行或串行执行。执行器依靠其逻辑核(core)执行各个任务。

数据计算引擎会将任务发往存在空闲逻辑核的执行器中。由于执行各业务过程消耗的总的逻辑核时间片的是固定的,因此在各并行业务过程对应的任务穿插运行的过程中,通过降低执行器中的逻辑核的空闲率即可提升逻辑核的利用率,由此即可降低总的运行耗时。

即,通过上述方案,利用第二执行顺序执行各业务过程的总耗时要比第一执行顺序的总耗时有较大幅度的下降,因此提高了业务的运行性能。传统方式一般是将一个目标业务拆分为多个目标子业务,但是传统方式需要人工去梳理目标子业务依赖关系、以及各个目标子业务的运行顺序。一旦业务逻辑修订,就要重新梳理,很难运维。而本申请的上述实施例是确定出目标业务中的各个业务过程之间的依赖关系,通过改变各业务过程的执行顺序提高执行效率。

结合图3所示,在一种实施方式中,步骤s102可以包括:

s1021:根据依赖关系确定各业务过程之间的依赖层级;

s1022:建立业务过程执行矩阵,业务过程执行矩阵中的执行层级与依赖层级相对应;

s1023:根据依赖层级和第一执行顺序,将业务过程置于其所属的依赖层级所对应的执行层级中;

s1024:根据执行层级确定第二执行顺序。

结合图2所示,第一业务过程是从外部数据存储组件中获取参赛队的信息而非是目标业务中产生的信息,故,外部数据存储组件可以作为叶子节点。例如图2中的jobid:0的节点均为叶子节点。

第一业务过程可以作为叶子节点的父节点,第一业务过程可以作为第一依赖层级。

第二业务过程也是从外部数据存储组件中获取的比赛信息,因此外部数据存储组件可以作为叶子节点。第二过程可以作为叶子节点的父节点。同理,第二业务过程可以作为第一依赖层级。

第三业务过程作为第一业务过程和第二业务过程所对应节点的父节点。第三业务过程可以作为第二依赖层级。

第四业务过程作为第三业务过程所对应节点的父节点。第四业务过程可以作为第三依赖层级。

结合图2和图4所示,建立业务过程执行矩阵,业务过程执行矩阵中的执行层级与依赖层级相对应。

根据依赖层级和第一执行顺序,将业务过程置于其所属的依赖层级所对应的执行层级中。即,第一业务过程和第二业务过程依次置于业务过程执行矩阵的第一执行层级(图4中的depth:1),第三业务过程置于业务过程执行矩阵的第二执行层级(图4中的depth:2),第四业务过程置于业务过程执行矩阵的第三执行层级(图4中的depth:3)。

其中,第一业务过程和第二业务过程可以根据第一执行顺序,在第一执行层级进行先后排序。另外,当出现重复时,还需要对业务过程进行去重处理。例如,目标业务包括第一至第五共五个业务过程。基于依赖层级可以确定,第三业务过程是第一和第二业务过程的父节点,第五业务过程是第二和第四业务过程的父节点。那么在建立业务过程执行矩阵时,第一执行层级包括第一业务过程、第二业务过程,以及第二业务过程、第四业务过程。由于第二业务过程出现了两次,因此需要对其进行去重处理。去重处理后,第一执行层级包括第一、第二和第四业务过程。第二层执行层级包括第三和第五业务过程。

在所有业务过程均已至于执行层级的情况下,可以根据执行层级确定出第二执行顺序,例如,各个执行层级串行执行,各个执行层级中的业务过程并行执行。其中,并行执行的业务过程的数量可以根据线程数确定。例如,线程数可以根据目标业务执行时所持有的执行器逻辑核总数确定的,线程数和执行器逻辑核总数一个正相关关系。

通过上述方案,可以利用业务过程执行矩阵中的执行层级确定出第二执行顺序,使得各业务过程基于第二执行顺序执行,从而可以提高执行效率。

如图5所示,在一种实施方式中,在目标业务中包含预定类型的业务过程的情况下,步骤s102还可以包括:

s1025:获取预定类型的业务过程在第一执行顺序中的执行序号m,以及执行序号小于m的各业务过程所对应的执行层级的序号;

s1026:在各执行层级的序号中确定最大值n;

s1027:将预定类型的业务过程从当前执行层级移至第n+1执行层级;

s1028:获取执行序号大于m的各业务过程的执行层级的排布情况;

s1029:根据执行层级的排布情况,将执行序号大于m的各业务过程按照原执行层级结构移动至业务过程执行矩阵的第n+1执行层级之后的执行层级中;

执行序号m和最大值n为正整数。

预定类型的业务过程可以是包含多个子业务过程的业务过程,也可以是用于改变后序业务过程执行顺序的业务过程等。

以预定类型的业务为用于改变后序业务过程执行顺序的业务过程为例。结合图6所示,按照步骤s1021至步骤s1024所确定的依赖层级,可以将目标业务所包含的16个业务过程分别置于业务过程执行矩阵中的四个执行层级中。

获取预定类型的业务过程在第一执行顺序中的执行序号m,以及执行序号小于m的各业务过程所对应的执行层级的序号。例如,图6中所示的由线段和点组成的虚线框可以表示预定类型的业务过程,该业务过程在第一执行顺序中的序号为m。

实线框可以表示在第一执行顺序序号小于m的业务过程,统一记为m-。

由点组成的虚线框可以表示在第一执行顺序序号大于m的业务过程,统一记为m+。

在图6中,执行序号小于m的各业务过程所对应的执行层级的序号分别为depth:1~depth:3。因此可以确定,执行序号小于m的各业务过程所对应的执行层级的序号中的最大值n=3。

结合图7所示,将预定类型的业务过程从当前执行层级移至业务过程执行矩阵的第n+1执行层级。即,将第一执行顺序中的序号为m的业务过程从第一执行层级depth:1移动至第四执行层级depth:4。

其次,将在第一执行顺序序号大于m的各业务过程,依照其各自在图6中的层级排布,整体移动至第n+1执行层级之后的执行层级中。

即,将图6中的第一执行层级depth:1中执行顺序序号大于m的各业务过程保持原有顺序移动至第n+2执行层级,即第五执行层级depth:5;

将图6中的第二执行层级depth:2中执行顺序序号大于m的各业务过程保持原有顺序移动至第n+3执行层级,即第六执行层级depth:6;

将图6中的第三执行层级depth:3中执行顺序序号大于m的各业务过程保持原有顺序移动至第n+4执行层级,即第七执行层级depth:7;

将图6中的第四执行层级depth:4中执行顺序序号大于m的各业务过程保持原有顺序移动至第n+5执行层级,即第八执行层级depth:8。

通过对图6中的业务过程执行矩阵进行调整,即可得到图7所示的调整后的业务过程执行矩阵。

上述方案可以等价为先记录执行序号大于m的各业务过程的执行层级的排布情况。根据其排布情况,将其进行整体移动,移动至业务过程执行矩阵的第n+1执行层级之后的执行层级中。

通过上述方案,可以保证正确执行各业务过程。这是由于,根据依赖层级建立业务过程执行矩阵后,在存在预定类型的业务过程的情况下,可能会造成目标业务的错误执行。例如,预定类型的业务过程的作用是判断当前日期是否为周末。在当前日期为周末的情况下,结束目标业务的执行,即不再执行m+的各业务过程;反之在当前日期不是周末的情况下,继续执行m+的各业务过程,直至各m+的业务过程执行完毕。如果按照图6中的业务过程执行矩阵,执行完第一执行层级后,第二执行层级中m-的业务过程并未执行,而第一执行层级中的m+的各业务过程已经执行完毕,显然上述执行方式是错误的。

而通过上述方法对图6中的业务过程执行矩阵进行调整,得到图7中调整后的业务过程执行矩阵,便可以正确执行各业务过程。即可以保证m-的各业务过程率先执行,通过序号为m的预定类型的业务过程进行判断,仅在判断结果为需要继续执行后续业务过程的情况下,继续执行后续的m+的各业务过程。

如图8所示,在一种实施方式中,步骤s103可以包括:

s1031:串行执行业务过程执行矩阵的各执行层级;

s1032:并行执行各执行层级中的业务过程。

对于业务过程执行矩阵的各个执行层级,可以依照串行执行业务过程执行矩阵的各执行层级。即,第一执行层级中的各个业务过程全部执行完毕的情况下,执行第二执行层级中的各个业务过程。同理,当第二执行层级中的各个业务过程全部执行完毕的情况下,执行第三执行层级中的各个业务过程。以此类推,直至业务过程执行矩阵的各个执行层级全部执行完毕。

对于各个执行层级中的业务过程,可以并行执行。进一步的,并行执行各业务过程的数量可以根据线程数确定。

通过上述方案,可以采用并行执行和串行执行并行的方式,加速各个业务过程的执行。

在一种实施方式中,业务处理的方法还可以包括以下步骤:

根据第一执行顺序,打印各业务过程的日志信息。

日志(log)信息可以便于用户查询各业务过程的执行状态或执行情况等。对于日志信息的打印,可以遵循第一执行顺序。即,按照第一执行顺序的序号依次打印各业务过程的日志信息。

例如,目标业务中包括第一执行顺序为1、2、3的三个业务过程。其中序号为1和3的业务过程在第一执行层级,序号为2的业务过程在第二执行层级。

在序号为3的业务过程先于序号为1的业务过程执行完成的情况下,可以先将序号为3的业务过程的日志信息进行缓存。直至第二执行层级中的序号为2的业务过程执行完成后,才开始打印序号为3的业务过程的日志信息。

通过上述方案,虽然依照第二执行顺序执行各业务过程,但是依然可以依照第一执行顺序打印各业务过程的日志信息。方便用户查看。

如图9所示,本申请实施例提供一种业务处理的装置,可以包括以下组件:

业务过程属性分析模块901,用于确定目标业务中所包含的各业务过程的第一执行顺序,以及各业务过程之间依赖关系;第一执行顺序包括串行执行各业务过程;

执行顺序调整模块902,用于根据依赖关系,对第一执行顺序进行调整,得到第二执行顺序;第二执行顺序包括串行和并行执行各业务过程;

业务过程执行模块903,用于根据第二执行顺序执行各业务过程。

在一种实施方式中,执行顺序调整模块902可以包括:

依赖层级分析子模块9021,用于根据依赖关系确定各业务过程之间的依赖层级;

业务过程执行矩阵建立子模块9022,用于建立业务过程执行矩阵,业务过程执行矩阵中的执行层级与依赖层级相对应;

业务过程放置子模块9023,用于根据依赖层级和第一执行顺序,将业务过程置于其所属的依赖层级所对应的执行层级中;

第二执行顺序确定子模块9024,用于根据执行层级确定第二执行顺序。

在一种实施方式中,在目标业务中包含预定类型的业务过程的情况下,执行顺序调整模块902,还可以包括:

业务过程信息获取子模块9025,用于获取预定类型的业务过程在第一执行顺序中的执行序号m,以及执行序号小于m的各业务过程所对应的执行层级的序号;

序号最大值确定子模块9026,用于在各执行层级的序号中确定最大值n;

第一移动子模块9027,用于将预定类型的业务过程从当前执行层级移至第n+1执行层级;

执行层级的排布情况获取子模块9028,用于获取执行序号大于m的各业务过程的执行层级的排布情况;

第二移动子模块9029,用于根据执行层级的排布情况,将执行序号大于m的各业务过程按照原执行层级结构移动至业务过程执行矩阵的第n+1执行层级之后的执行层级中;

执行序号m和最大值n为正整数。

在一种实施方式中,业务过程执行模块903可以包括:

第一执行子模块9031,用于串行执行业务过程执行矩阵的各执行层级;

第二执行子模块9032,用于并行执行各执行层级中的业务过程。

在一种实施方式中,业务处理的装置,还包括:

日志信息打印子模块,用于根据第一执行顺序,打印各业务过程的日志信息。

图10是根据本申请实施例提供的一种业务处理系统架构图,本实施例在上述实施例的基础上,提供了一种优选实例。如图10所示,承载业务处理功能的计算设备可以包括交互层、引擎层、以及数据源。其中,交互层中提供了多种用户可与计算设备交互的方式,例如可以包括但不限于websocket、http/https、tcp、以及cli方式等。数据源中包括多种能通过sql访问的数据存储组件,例如mysql、hive以及elasticsearch等,还可以包括原生支持sql访问的组件,以及借助第三方组件间接支持sql访问的组件等。

引擎层中包括业务容器,进一步的,业务容器包括业务配置文件、资源配置文件、以及执行器;执行器可以包括但不限于:业务运行模块、数据血缘模块、视图模块、日志模块和监控模块等功能模块。

本实施例中,用户可通过交互层中所提供的交互方式如命令行界面(cli,command-lineinterface)方式向该计算设备(进一步为向业务容器)提交目标业务处理请求。

业务容器获取用户提交的目标业务处理请求,并对目标业务处理请求中所包括的信息的合法性进行验证,如依据目标业务标识识别目标业务是否存在等。在目标业务异常定位请求中所包括信息的合法性验证通过的情况下,执行器执行目标业务配置信息校验,如校验目标业务的数据库是否存在,以及是否能连接等。在目标业务配置信息校验通过的情况下,执行加载业务配置文件以及资源配置文件等,并启动数据血缘模块对目标业务的逻辑代码进行解析,确定目标业务的血缘关系。

视图模块依据血缘关系确定数据依赖树以及业务过程执行矩阵。

业务运行模块根据业务过程执行矩阵中的执行层级进行业务过程的执行。

日志模块用于打印各业务过程执行情况。

结合图11所示,上述系统实现业务处理的方法可以包括以下步骤:

(1)业务容器进行参数校验。在参数校验通过的情况下,由执行器进行配置校验。

业务容器接收用户的数据处理业务运行指令。对接收到的数据处理业务运行指令进行参数校验,以确定该指令的可执行性。数据处理业务运行指令中可以包括用户信息和/或业务配置文件等。

参数校验可以包括对用户权限的校验,或者对业务配置文件中的配置信息的完整性的校验等。

在数据处理业务运行指令中未包括业务配置文件的情况下,可能存在该配置文件已经预先存储在业务容器的情况。配置校验可以检验业务容器中是否已存储该业务配置文件,或者校验资源配置文件中是否包括业务配置文件中声明的源数据库或目的数据库等。

(2)执行器加载配置文件。

在检验通过的情况下,执行器加载etl业务配置文件、资源配置文件。

执行器加载etl业务配置文件可以包括:在业务容器中获取与数据处理业务运行指令对应的etl业务配置文件,读取该etl业务配置文件。

执行器加载资源配置文件。

(3)业务运行模块进行准备工作。

(4)数据血缘模块解析业务内所有etl过程的sql级数据血缘。

因为本申请实施例所支持的数据源必须是能直接或者间接支持通过sql访问的组件。因此,所有的业务逻辑都是用sql表达的。可以通过spark数据计算引擎内置的sql解析器解析出etl业务对应的逻辑执行计划,这个逻辑执行计划包含了如:字段、输入表名、输出表名、过滤条件等。

(5)串联sql级的数据血缘,形成业务内表级血缘。

通过适当的数据组织,可以得到sql级字段、表格的依赖关系。即,对应字段或表格的数据是依赖哪些表与字段生成的,也就是sql级列级数据血缘,表级数据血缘。一个etl业务是由多个sql串联而成的,那么将每个sql的数据血缘串联起来,即可得到这个etl业务的业务级列级数据血缘关系,表级数据血缘关系等。上述数据血缘关系可以组成表级依赖树,即业务内表级血缘。

(6)根据业务内表级血缘,将业务内所有etl过程整理成执行矩阵。

利用etl过程的调度算法,对一个etl业务内的多个etl过程进行分析,将各etl过程按照表级数据血缘关系转化成执行矩阵的过程。

表级依赖树的叶子节点的数据都是存储于数据存储组件中的,并不是由当前业务插入的数据。对于叶子节点,人为的将其执行层级(depth)的数值标记为0(不作为执行矩阵的一部分)。

将每个叶子节点的父节点的执行层级数值设置为1;将执行层级数值为1的节点的父节点的执行层级数值设置为2;将执行层级数值为2的节点的父节点的执行层级数值设置为3;以此类推,每一层节点的父节点的执行层级数值都比其子节点的执行层级数值大1。

将所有执行层级数值相同的节点所对应的etl过程按照第一执行顺序进行去重,组成etl过程执行矩阵。对每个执行层级内的etl过程,按照第一执行顺序进行顺序排序。

对于特殊etl过程(特殊etl过程如:内部包含多个etl子过程的etl过程、能改变后续etl过程执行效果的etl过程),需要进行执行矩阵拆分。假设特殊etl过程的第一执行顺序为m。m-代表第一执行顺序小于m的etl过程,m+代表第一执行顺序大于m的etl过程,矩阵拆分过程如下:

以m为依据,将执行矩阵中的etl过程分为第一执行顺序小于m、m、大于m的三部分。将m和大于m的etl过程部分从etl过程执行矩阵中移出。将特殊的etl过程(m)插入到执行矩阵的末尾。将大于m的etl过程的矩阵完整的插入到执行矩阵的末尾,形成新的执行矩阵。

(7)按照执行矩阵执行。

依次串行运行执行矩阵的各执行层级。

通过线程池逐一提交当前执行层级中的各etl过程给spark。spark并行执行提交上的各etl过程。执行过程中,持续提交各etl过程的log打印需求。

(8)日志模块判断上一个etl过程的log是否已经打印,在已打印的情况下,将当前etl过程的缓存log顺序打印,并持续打印后续etl过程的log。在上一个etl过程的log未打印的情况下,将当前etl过程的log有序缓存。有序缓存可以是按照第一执行顺序进行缓存。

(9)业务运行模块判断当前执行层级的各etl过程是否执行完毕,未执行完毕的情况下,继续执行。

(10)执行完毕的情况下,日志模块标记已执行完毕的etl过程的log缓存完成。

日志模块判断判断上一个etl过程的log是否已经打印,在已打印的情况下,将当前etl过程的依照log顺序进行打印,并进行标记。在上一个etl过程的log还未打印的情况下,则需要继续等待业务运行模块的运行结果。

在下一个etl过程的log缓存完成的情况下,将该下一个etl过程的log进行打印,并标记打印完成。

(11)业务运行模块在当前执行层级中的etl过程全部执行完毕的情况下,判断etl业务是否已执行完毕,即判断是否所有执行层级中的etl过程均已执行完毕,在未执行完毕的情况下,执行下一层级。在执行完毕的情况下,结束etl业务的执行过程。

根据本申请的实施例,本申请还提供了一种电子设备和一种可读存储介质。

如图12所示,是根据本申请实施例的业务处理的方法的电子设备的框图。电子设备旨在表示各种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示各种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。

如图12所示,该电子设备包括:一个或多个处理器1210、存储器1220,以及用于连接各部件的接口,包括高速接口和低速接口。各个部件利用不同的总线互相连接,并且可以被安装在公共主板上或者根据需要以其它方式安装。处理器可以对在电子设备内执行的指令进行处理,包括存储在存储器中或者存储器上以在外部输入/输出装置(诸如,耦合至接口的显示设备)上显示gui的图形信息的指令。在其它实施方式中,若需要,可以将多个处理器和/或多条总线与多个存储器和多个存储器一起使用。同样,可以连接多个电子设备,各个设备提供部分必要的操作(例如,作为服务器阵列、一组刀片式服务器、或者多处理器系统)。图12中以一个处理器1210为例。

存储器1220即为本申请所提供的非瞬时计算机可读存储介质。其中,所述存储器存储有可由至少一个处理器执行的指令,以使所述至少一个处理器执行本申请所提供的业务处理的方法。本申请的非瞬时计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行本申请所提供的业务处理的方法。

存储器1220作为一种非瞬时计算机可读存储介质,可用于存储非瞬时软件程序、非瞬时计算机可执行程序以及模块,如本申请实施例中的业务处理的方法对应的程序指令/模块(例如,附图9所示的业务过程属性分析模块901、执行顺序调整模块902和业务过程执行模块903)。处理器1210通过运行存储在存储器1220中的非瞬时软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例中的业务处理的方法。

存储器1220可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据业务处理的方法的电子设备的使用所创建的数据等。此外,存储器1220可以包括高速随机存取存储器,还可以包括非瞬时存储器,例如至少一个磁盘存储器件、闪存器件、或其他非瞬时固态存储器件。在一些实施例中,存储器1220可选包括相对于处理器1210远程设置的存储器,这些远程存储器可以通过网络连接至业务处理的方法的电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。

业务处理的方法的电子设备还可以包括:输入装置1230和输出装置1240。处理器1210、存储器1220、输入装置1230和输出装置1240可以通过总线或者其他方式连接,图12中以通过总线连接为例。

输入装置1230可接收输入的数字或字符信息,以及产生与业务处理的方法的电子设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置1240可以包括显示设备、辅助照明装置(例如,led)和触觉反馈装置(例如,振动电机)等。该显示设备可以包括但不限于,液晶显示器(lcd)、发光二极管(led)显示器和等离子体显示器。在一些实施方式中,显示设备可以是触摸屏。

此处描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、专用asic(专用集成电路)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。

这些计算程序(也称作程序、软件、软件应用、或者代码)包括可编程处理器的机器指令,并且可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。如本文使用的,术语“机器可读介质”和“计算机可读介质”指的是用于将机器指令和/或数据提供给可编程处理器的任何计算机程序产品、设备、和/或装置(例如,磁盘、光盘、存储器、可编程逻辑装置(pld)),包括,接收作为机器可读信号的机器指令的机器可读介质。术语“机器可读信号”指的是用于将机器指令和/或数据提供给可编程处理器的任何信号。

为了提供与用户的交互,可以在计算机上实施此处描述的系统和技术,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。

可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。

计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与vps服务中,存在的管理难度大,业务扩展性弱的缺陷。

应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请公开的技术方案所期望的结果,本文在此不进行限制。

上述具体实施方式,并不构成对本申请保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本申请的精神和原则之内所作的修改、等同替换和改进等,均应包含在本申请保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1