本申请涉及计算机,特别是涉及一种flink任务的运行方法、装置和计算机设备。
背景技术:
1、在大数据计算的领域,研发人员利用大数据引擎进行数据处理的程序的设计和开发,其中flink是实时计算方面最为主流的工具。
2、但是,利用flink进行任务开发的成本较高,并且,开发完成的flink任务在进行上线时,需要经过编译,打包,部署,最后才能上线。而当flink任务需要修改,或者因为新的需求要进行迭代时,又要重复以上的上线步骤,过程繁琐,并且时间成本也很高。
3、针对现有技术中,flink任务的开发和维护的过程繁琐、成本高的问题,目前尚未提出有效的解决方案。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种flink任务的运行方法、装置、计算机设备和计算机可读存储介质。
2、第一方面,本申请提供了一种flink任务的运行方法。所述方法包括以下步骤:
3、按照flink的作业转化规则,将接收到的任务图的可视化配置信息和业务表述信息,转化为可执行的flink任务信息;所述flink任务信息,包括flink任务、所述flink任务之间的关系以及所述flink任务的资源需求;
4、基于可执行的所述flink任务信息,以及集群的资源分布情况,将可执行的所述flink任务信息中的每一个flink任务部署到一个单独的容器中;
5、部署完成后,运行所有容器中的所述flink任务;
6、在接收到所述任务图的修改信息的情况下,基于接收到的所述修改信息,调整所述修改信息所关联的容器。
7、在其中一个实施例中,所述按照flink的作业转化规则,将接收到的任务图的可视化配置信息和业务表述信息,转化为可执行的flink任务信息,包括以下步骤:
8、基于接收到的所述任务图的所述可视化配置信息和所述业务表述信息,得到所述任务图的任务节点;
9、将满足预设的合并规则的任务节点,合并为同一个子任务;
10、基于所述子任务的个数,以及预设的并行通道的个数,对所述子任务进行并行化配置;
11、基于配置结果,以及所述子任务之间的关系和子任务的资源需求,将所述子任务与flink的执行api结合,生成可执行的所述flink任务信息。
12、在其中一个实施例中,所述基于配置结果,以及所述子任务之间的关系和子任务的资源需求,将所述子任务与flink的执行api结合,生成可执行的所述flink任务信息,包括以下步骤:
13、基于所述配置结果,将所述子任务与flink的执行api结合,生成可执行的所述flink任务;
14、基于所述配置结果,以及所述子任务之间的关系和所述子任务的资源需求,生成所述flink任务之间的关系以及所述flink任务的资源需求。
15、在其中一个实施例中,所述基于可执行的所述flink任务信息,以及集群的资源分布情况,将可执行的所述flink任务信息中的每一个flink任务部署到一个单独的容器中,包括以下步骤:
16、基于可执行的所述flink任务信息,以及所述集群的资源分布情况,生成对应的资源调度策略;
17、根据所述资源调度策略,将可执行的所述flink任务信息中的每一个flink任务部署到一个单独的容器中。
18、在其中一个实施例中,所述基于可执行的所述flink任务信息,以及集群的资源分布情况,生成对应的资源调度策略,包括:
19、基于所述flink任务的资源需求,以及所述集群的资源分布情况,按照将相互关联的flink任务安排到同一节点的资源调度原则,生成所述资源调度策略。
20、在其中一个实施例中,所述在接收到所述任务图的修改信息的情况下,基于接收到的所述修改信息,调整所述修改信息所关联的容器,包括以下步骤:
21、在接收到所述任务图的修改信息的情况下,基于接收到的所述修改信息,生成额外的可执行的任务信息和新的资源调度策略;
22、基于生成的所述额外的可执行的任务信息和所述新的资源调度策略,调整所述修改信息所关联的容器。
23、在其中一个实施例中,所述部署完成后,运行所有容器中的所述flink任务之后,还包括:
24、将所有所述容器中的flink任务的运行情况发送至显示界面进行显示。
25、第二方面,本申请还提供了一种flink任务的运行装置。所述装置包括:
26、转化模块,用于按照flink的作业转化规则,将接收到的任务图的可视化配置信息和业务表述信息,转化为可执行的flink任务信息;所述flink任务信息,包括flink任务、所述flink任务之间的关系以及所述flink任务的资源需求;
27、部署模块,用于基于可执行的所述flink任务信息,以及集群的资源分布情况,将可执行的所述flink任务信息中的每一个flink任务部署到一个单独的容器中;
28、运行模块,用于部署完成后,运行所有容器中的所述flink任务;
29、以及修改模块,用于在接收到所述任务图的修改信息的情况下,基于接收到的所述修改信息,调整所述修改信息所关联的容器。
30、第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的flink任务的运行方法。
31、第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的flink任务的运行方法。
32、上述flink任务的运行方法、装置、计算机设备和存储介质,首先按照flink的作业转化规则,将接收到的任务图的可视化配置信息和业务表述信息,转化为可执行的flink任务信息。其中,可执行的flink任务信息,包括可执行的flink任务、可执行的flink任务之间的关系和可执行的flink任务的资源需求。进而根据可执行的任务信息,以及集群的资源的分布情况,将可执行的flink任务信息中的每一个flink任务部署到一个单独的容器中,并在部署完成后,运行所有容器中的flink任务。采用此种方式,能够实现flink任务的快速生成以及部署,简化了flink任务的开发步骤,提高了flink任务的开发的速度。进而在接收到任务图的修改信息的情况下,基于接收到的修改信息,调整修改信息所关联的容器,通过将每一个flink任务部署到一个单独的容器中,实现了在对个别flink任务进行修改更新时,只需要调整修改的flink任务所对应的容器,简化了flink任务的更新迭代步骤,解决了flink任务的开发和维护的过程繁琐、成本高的问题。
33、本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。
1.一种flink任务的运行方法,其特征在于,所述方法包括:
2.根据权利要求1所述的flink任务的运行方法,其特征在于,所述按照flink的作业转化规则,将接收到的任务图的可视化配置信息和业务表述信息,转化为可执行的flink任务信息,包括:
3.根据权利要求2所述的flink任务的运行方法,其特征在于,所述基于配置结果,以及所述子任务之间的关系和子任务的资源需求,将所述子任务与flink的执行api结合,生成可执行的所述flink任务信息,包括:
4.根据权利要求1所述的flink任务的运行方法,其特征在于,所述基于可执行的所述flink任务信息,以及集群的资源分布情况,将可执行的所述flink任务信息中的每一个flink任务部署到一个单独的容器中,包括:
5.根据权利要求4所述的flink任务的运行方法,其特征在于,所述基于可执行的所述flink任务信息,以及集群的资源分布情况,生成对应的资源调度策略,包括:
6.根据权利要求1至5中任一项所述的flink任务的运行方法,其特征在于,所述在接收到所述任务图的修改信息的情况下,基于接收到的所述修改信息,调整所述修改信息所关联的容器,包括:
7.根据权利要求1至5中任一项所述的flink任务的运行方法,其特征在于,所述部署完成后,运行所有容器中的所述flink任务之后,还包括:
8.一种flink任务的运行装置,其特征在于,所述装置包括:
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的flink任务的运行方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的flink任务的运行方法的步骤。