[发明专利]一种跨语言任务调度方法、装置、设备及可读存储介质在审
申请号: | 202011203431.X | 申请日: | 2020-11-02 |
公开(公告)号: | CN112199184A | 公开(公告)日: | 2021-01-08 |
发明(设计)人: | 李德恩;范渊;刘博 | 申请(专利权)人: | 杭州安恒信息技术股份有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 徐丽 |
地址: | 310000 浙江省*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 语言 任务 调度 方法 装置 设备 可读 存储 介质 | ||
本发明公开了一种跨语言任务调度方法、装置、设备及可读存储介质,该方法包括获取具有任务依赖关系的上游任务和下游任务;分配上游任务给上游节点,分配下游任务给下游节点;上游节点与下游节点对应不同编程语言;利用任务依赖关系,确定数据交换规则;在上游节点和下游节点之间,建立远程过程调用对应的通讯连接;利用通讯连接并结合数据交换规则,在上游节点和下游节点之间,进行跨语言的实时数据传输。该方法可满足分布式任务的调度和计算的情况下,便省去了单独存储中间结果数据,减少系统存储IO开销,能够加快任务执行效率。
技术领域
本发明涉及计算机应用技术领域,特别是涉及一种跨语言任务调度方法、装置、设备及可读存储介质。
背景技术
随着大数据技术的快速发展,海量数据的存储和计算过程越来越复杂,特别是在数据分析挖掘需求下,大量的数据分析计算任务都需要任务调度系统来进行。对于各个计算任务会采用不同的开发语言进行开发,例如sql节点完成数据抽题任务、python任务节点进行算法分析计算。是否能跨进程间进行高效数据交换,是任务计算效率的重要保证之一。
Azkaban(Linkedin开源的一个批量工作流任务调度器)、oozie(工作流调度用在Hadoop中,是一个运行相关的作业工作流系统)、airflow(可编程,调度和监控的工作流平台,基于有向无环图(DAG),airflow可以定义一组有依赖的任务,按照依赖依次执行)等方案,都能完整实现分布式任务的调度和计算。但是,对于任务间的跨进程数据通讯,都采用了中间结果存储的形式,增加了系统存储io开销,导致任务处理效率。
综上所述,如何有效地解决任务间的跨进程、跨语言的数据通信等问题,是目前本领域技术人员急需解决的技术问题。
发明内容
本发明的目的是提供一种跨语言任务调度方法、装置、设备及可读存储介质,以实现跨语言的进程调度,使得两个不同编程语言对应的任务执行节点可直接进行实时数据传输,减少系统存储IO占用,提高任务执行效率。
为解决上述技术问题,本发明提供如下技术方案:
一种跨语言任务调度方法,包括:
获取具有任务依赖关系的上游任务和下游任务;
分配所述上游任务给上游节点,分配所述下游任务给下游节点;所述上游节点与所述下游节点对应不同编程语言;
利用所述任务依赖关系,确定数据交换规则;
在所述上游节点和所述下游节点之间,建立远程过程调用对应的通讯连接;
利用所述通讯连接并结合所述数据交换规则,在所述上游节点和所述下游节点之间,进行跨语言的实时数据传输。
优选地,分配所述上游任务给上游节点,包括:
利用分布式任务调度引擎,从注册中心选出所述上游节点,并将所述上游任务分配给所述上游节点。
优选地,从注册中心选出所述上游节点,包括:
从所述注册中心中,确定出与所述上游任务的任务类型对应执行节点;
从所述执行节点中选出一个可执行节点作为所述上游节点。
优选地,还包括:
以容器服务的形式,将执行任务的功能程序注册到所述注册中心,得到所述执行节点。
优选地,在所述上游节点和所述下游节点之间,建立远程过程调用对应的通讯连接,包括:
获取所述上游节点的上游IP地址,及所述下游节点的下游IP地址;
利用跨语言通信协议,建立所述上游IP地址与所述下游IP地址对应的所述通讯连接。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州安恒信息技术股份有限公司,未经杭州安恒信息技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011203431.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种皮革冲裁码垛自动加工设备
- 下一篇:一种园林绿化树木支撑装置