业务处理的方法、装置、设备以及存储介质制造方法及图纸

技术编号:26304052 阅读:13 留言:0更新日期:2020-11-10 19:59
本申请公开了业务处理的方法、装置、设备以及存储介质,涉及大数据、信息流等领域。具体实现方案为:确定目标业务中所包含的各业务过程的第一执行顺序,以及各业务过程之间依赖关系;第一执行顺序包括串行执行各业务过程;根据依赖关系,对第一执行顺序进行调整,得到第二执行顺序;第二执行顺序包括串行和并行执行各业务过程;根据第二执行顺序执行各业务过程。通过上述方案,确定出目标业务中的各个业务过程之间的依赖关系,通过改变各业务过程的执行顺序提高执行效率,可用于云计算服务器。

【技术实现步骤摘要】
业务处理的方法、装置、设备以及存储介质
本申请涉及数据处理领域,尤其涉及大数据、信息流等领域。
技术介绍
随着互联网技术持续的发展与应用,产生了海量的数据与各式各样的数据计算引擎。数据计算引擎是用来对数据做计算的组件。为了提取海量数据中有价值的数据,需要开发大量的数据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)执行各个任务。数据计算引擎会将任务发往存在空闲逻辑核的执行器中。由于执行各业务过程消耗的总的逻辑核时间片的是固定的,因此在各并行业务过程对应的任务穿插运行的过程中,通过降低执行器中的逻辑核的空闲本文档来自技高网...

【技术保护点】
1.一种业务处理的方法,包括:/n确定目标业务中所包含的各业务过程的第一执行顺序,以及所述各业务过程之间依赖关系;所述第一执行顺序包括串行执行各业务过程;/n根据所述依赖关系,对所述第一执行顺序进行调整,得到第二执行顺序;所述第二执行顺序包括串行和并行执行各业务过程;/n根据所述第二执行顺序执行所述各业务过程。/n

【技术特征摘要】
1.一种业务处理的方法,包括:
确定目标业务中所包含的各业务过程的第一执行顺序,以及所述各业务过程之间依赖关系;所述第一执行顺序包括串行执行各业务过程;
根据所述依赖关系,对所述第一执行顺序进行调整,得到第二执行顺序;所述第二执行顺序包括串行和并行执行各业务过程;
根据所述第二执行顺序执行所述各业务过程。


2.根据权利要求1所述的方法,其中,所述根据所述依赖关系,对所述第一执行顺序进行调整,得到第二执行顺序,包括:
根据所述依赖关系确定各业务过程之间的依赖层级;
建立业务过程执行矩阵,所述业务过程执行矩阵中的执行层级与所述依赖层级相对应;
根据所述依赖层级和所述第一执行顺序,将所述业务过程置于其所属的依赖层级所对应的执行层级中;
根据所述执行层级确定所述第二执行顺序。


3.根据权利要求2所述的方法,在所述目标业务中包含预定类型的业务过程的情况下,所述根据所述依赖关系,对所述第一执行顺序进行调整,得到第二执行顺序,还包括:
获取所述预定类型的业务过程在第一执行顺序中的执行序号m,以及执行序号小于m的各业务过程所对应的执行层级的序号;
在所述各执行层级的序号中确定最大值n;
将所述预定类型的业务过程从当前执行层级移至第n+1执行层级;
获取执行序号大于m的各业务过程的执行层级的排布情况;
根据所述执行层级的排布情况,将执行序号大于m的各业务过程按照原有矩阵结构移动至所述业务过程执行矩阵的第n+1执行层级之后的执行层级中;
所述执行序号m和所述最大值n为正整数。


4.根据权利要求2或3所述的方法,所述根据所述第二执行顺序执行所述各业务过程,包括:
串行执行所述业务过程执行矩阵的各所述执行层级;
并行执行各所述执行层级中的业务过程。


5.根据权利要求1至3任一所述的方法,还包括:
根据所述第一执行顺序,打印各业务过程的日志信息。


6.一种业务处理的装置,包括:
业务过程属性分析模块,用于确定目标业务中所包含的各业务过程的第一执行顺序,以及所述各业务过程之间依赖关系;所述第一执行顺序包括串行执行各业务过程;
执行顺序调整模块,用于根据所述依赖关系,对所述第一执行顺序进行调整,得到第二执行顺序;所述第二执行顺序包括串行和并行执行各业务过程;
业务过程执行...

【专利技术属性】
技术研发人员:邱峰志李辉杨昊党伟伟
申请(专利权)人:北京百度网讯科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1