CN109739663A - 作业处理方法、装置、设备及计算机可读存储介质 - Google Patents
作业处理方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN109739663A CN109739663A CN201811652653.2A CN201811652653A CN109739663A CN 109739663 A CN109739663 A CN 109739663A CN 201811652653 A CN201811652653 A CN 201811652653A CN 109739663 A CN109739663 A CN 109739663A
- Authority
- CN
- China
- Prior art keywords
- code
- computing engines
- big data
- preset
- job
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
Abstract
本发明公开了一种作业处理方法,该方法包括:当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;若存在,则创建基于所述计算引擎的交互式会话;将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。本发明还公开了一种作业处理装置、设备和一种计算机可读存储介质。本发明能够实现根据不同的计算引擎处理大数据任务。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及作业处理方法、装置、设备及计算机可读存储介质。
背景技术
Apache Livy是一个基于Spark(一种尽可能使用内存进行数据计算的分布式计算框架)的开源REST(Representational State Transfer,表述性状态传递)服务,它能够通过REST的方式将代码片段或是序列化的二进制代码提交到Spark集群中去执行。它提供了以下基本功能:1)提交Scala、Python或是R代码片段到远端的Spark集群上执行;2)提交Java、Scala、Python所编写的批量作业到远端的Spark集群上执行。从Livy所提供的基本功能可以看到Livy涵盖了原生Spark所提供的两种处理交互方式。与原生Spark不同的是,所有操作都是通过REST的方式提交到Livy服务端上,再由Livy服务端发送到不同的Spark集群上去执行,如此解决了原来需要用户登录到Gateway(一种大数据客户端接入集群所在服务器的网关)节点上通过脚本启动Spark进程的问题,同时也避免了将Gateway节点上的部署细节和配置暴露给登陆用户的问题,方便企业管理、审计以及与已有的权限管理工具的集成。
然而,上述Livy服务只支持了Spark计算引擎,而目前的企业应用中,大数据平台的计算引擎还有Hive,Hbase,Python,Tensorflow,R等主流计算引擎,还有很大一部分用户的作业是在这些计算引擎上运行的,因此,现有的Livy服务已不能满足实际场景中用户需要根据不同的计算引擎处理大数据任务的需求。
发明内容
本发明的主要目的在于提出一种作业处理方法、装置、设备及计算机可读存储介质,旨在实现根据不同的计算引擎处理大数据任务。
为实现上述目的,本发明提供一种作业处理方法,所述作业处理方法包括如下步骤:
当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;
若预设的与所述客户端对应的计算引擎队列中存在所述大数据作业处理请求所指定的计算引擎,则创建基于所述计算引擎的交互式会话;
将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。
优选地,所述当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎的步骤之后,还包括:
若预设的与所述客户端对应的计算引擎队列中不存在所述大数据作业处理请求所指定的计算引擎,则向预设的与所述客户端对应的计算引擎资源管理模块申请与所述计算引擎对应的资源;
根据申请到的与所述计算引擎对应的资源在所述预设的与所述客户端对应的计算引擎队列中新建一个所述计算引擎,并执行创建基于所述计算引擎的交互式会话的步骤。
优选地,所述创建基于所述计算引擎的交互式会话的步骤包括:
获取远程计算节点集群中的各远程计算节点的当前资源使用信息;
根据所述各远程计算节点的当前资源使用信息,从所述各远程计算节点中确定满足预设资源要求的目标远程计算节点;
创建与所述目标远程计算节点之间的基于所述计算引擎的交互式会话。
优选地,所述将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业的步骤之前,还包括:
通过预设的所述计算引擎的钩子函数调用预设的用户自定义函数和/或引擎参数;
根据所述用户自定义函数和/或引擎参数执行所述交互式会话的初始化。
优选地,所述将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业的步骤包括:
将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码;
将所述目标作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述目标作业代码对应的大数据作业。
优选地,所述将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码的步骤包括:
获取所述大数据作业处理请求的作业代码的语言类型;
将所述作业代码输入至与所述语言类型对应的代码解析器中,由所述代码解析器对所述作业代码进行代码切分、全局变量替换和/或代码包装操作,以将所述作业代码转换为预设标准格式的目标作业代码。
优选地,所述作业处理方法还包括:
检测所述计算引擎队列中是否存在预设时长内未被请求使用的计算引擎;
若是,则将所述在预设时长内未被请求使用的计算引擎从所述计算引擎队列中删除,并释放删除的所述计算引擎对应的资源。
此外,为实现上述目的,本发明还提供一种作业处理装置,所述作业处理装置包括:
判断模块,用于当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;
创建模块,用于若预设的与所述客户端对应的计算引擎队列中存在所述大数据作业处理请求所指定的计算引擎,则创建基于所述计算引擎的交互式会话;
执行模块,用于将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。
此外,为实现上述目的,本发明还提供一种作业处理设备,所述作业处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的作业处理程序,所述作业处理程序被所述处理器执行时实现如上所述的作业处理方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有作业处理程序,所述作业处理程序被处理器执行时实现如上所述的作业处理方法的步骤。
本发明当接收到客户端发送的大数据作业处理请求时,首先判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;若存在,则创建基于所述计算引擎的交互式会话;之后,将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。这种方式能够实现根据客户端的大数据作业处理请求所指定的不同计算引擎,调用不同的远程计算节点执行大数据作业,从而实现了根据不同的计算引擎处理大数据任务。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明作业处理方法第一实施例的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例作业处理设备可以是Web服务器或其他能够接收和处理客户端大数据作业处理请求的服务器。
如图1所示,该作业处理设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及作业处理程序。
在图1所示的设备中,网络接口1004主要用于连接远程计算节点,与远程计算节点进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的作业处理程序,并执行下述作业处理方法各实施例中的操作。
基于上述硬件结构,提出本发明作业处理方法实施例。
参照图2,图2为本发明作业处理方法第一实施例的流程示意图,所述方法包括:
步骤S10,当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;
本实施例作业处理方法应用于Web服务器或其他能够接收和处理客户端大数据作业处理请求的服务器。以Web服务器为例,该Web服务器包括统一作业提交入口、计算引擎队列、计算引擎资源管理模块、会话管理模块、代码解析器和个性化设置服务,下面结合具体实施方式对Web服务器各组成部分的功能进行详细说明。
在客户端,用户可以根据实际需求为不同的大数据作业(Job)指定不同的计算引擎,其中,大数据作业的编写代码包括但不限于Scala、Python和R代码,计算引擎包括但不限于Spark,Hbase,Storage,Python,Hive,Tensorflow,JDBC等。本实施例中,Web服务器实现了引擎的标准化接口,将各种不同的计算引擎以插件的形式添加进来,以集成多种计算引擎。
首先,客户端向Web服务器的统一作业提交入口提交大数据作业处理请求,该大数据作业处理请求中携带了的待处理的作业代码,当Web服务器接收到客户端发送的大数据作业处理请求时,判断预设的与该客户端对应的计算引擎队列中是否存在该大数据作业处理请求所指定的计算引擎,比如,若该大数据作业处理请求所指定的计算引擎为Spark引擎,则查找客户端对应的当前计算引擎队列中是否存在Spark引擎,若该大数据作业处理请求所指定的计算引擎为Hive引擎,则查找客户端对应的当前计算引擎队列中是否存在Hive引擎。其中,不同的客户端可以对应不同的计算引擎队列,计算引擎队列中可以包含一个或多个不同类型的计算引擎,比如Spark,Hbase,Storage,Python,Hive,Tensorflow,JDBC等等。
若预设的与所述客户端对应的计算引擎队列中存在所述大数据作业处理请求所指定的计算引擎,则执行步骤S20,创建基于所述计算引擎的交互式会话;
若预设的与客户端对应的计算引擎队列中存在该大数据作业处理请求所指定的计算引擎,说明该计算引擎队列当前存在指定的计算引擎类型对应的资源,此时创建基于该计算引擎的交互式会话(Session),创建的交互式会话由一个统一的会话管理模块进行管理。交互式会话在其启动后可以接收用户所提交的大数据作业处理请求的代码片段,在远端的远程计算节点上编译并执行。
具体地,该步骤S20可以包括:获取单个远程计算节点的当前资源使用信息,创建与所述单个远程计算节点之间的基于所述计算引擎的交互式会话。
进一步地,该步骤S20包括:获取远程计算节点集群中的各远程计算节点的当前资源使用信息;根据所述各远程计算节点的当前资源使用信息,从所述各远程计算节点中确定满足预设资源要求的目标远程计算节点;创建与所述目标远程计算节点之间的基于所述计算引擎的交互式会话。
本实施例中,Web服务器还具备资源调度功能,具体体现在,在创建交互式会话时,可以首先获取远程计算节点集群中的各远程计算节点的当前资源使用信息,包括当前已使用资源,预留资源,总体资源以及申请资源等,然后,根据各远程计算节点的当前资源使用信息,从各远程计算节点中确定满足预设资源要求的目标远程计算节点,比如可以确定当前资源比较空闲的节点作为目标远程计算节点,或者确定指定的节点作为目标远程计算节点,然后创建与该目标远程计算节点之间的交互式会话。当然,用户也可以直接指定一个或多个远程计算节点作为目标远程计算节点,具体实施时可灵活选择。
进一步地,若预设的与所述客户端对应的计算引擎队列中不存在所述大数据作业处理请求所指定的计算引擎,则向预设的与所述客户端对应的计算引擎资源管理模块申请与所述计算引擎对应的资源;根据申请到的与所述计算引擎对应的资源在所述预设的与所述客户端对应的计算引擎队列中新建一个所述计算引擎,并执行创建基于所述计算引擎的交互式会话的步骤。
若预设的与客户端对应的计算引擎队列中不存在该大数据作业处理请求所指定的计算引擎,说明该计算引擎当前不存在对应的资源,此时需要先从预设的计算引擎资源管理模块申请资源后,再在计算引擎队列中创建一个对应的计算引擎,比如若与客户端对应的计算引擎队列中不存在该大数据作业处理请求所指定的Spark引擎,则需要向计算引擎资源管理模块申请Spark引擎对应的资源,然后在计算引擎队列新建一个Spark引擎。其中,计算引擎资源管理模块负责后台计算引擎的资源管理,包括增删计算资源和存储资源,从远程工作节点获取最新的资源实际使用情况等。计算引擎资源管理模块对不同类型的引擎有不同的资源计算方式,如Spark的资源需要计算Driver的资源,Yarn的队列资源和Executor的资源,资源主要是指CPU的核数、内存的大小。在计算引擎队列中新建一个计算引擎后,即可以执行上述创建基于所述计算引擎的交互式会话的步骤。
这种自动申请资源并在计算引擎队列中自动新建引擎的方式,能够实现自动匹配大数据作业处理请求所指定的计算引擎,而无需客户端用户进行任何干预操作,保证了大数据作业处理请求的顺利执行。
步骤S30,将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。
该步骤中,Web服务器将大数据作业处理请求的作业代码提交至创建的交互式会话中,以使交互式会话调用对应的远程计算节点执行该作业代码对应的大数据作业。其中,大数据作业处理请求的作业代码包括但不限于由Scala、Python、R和SQL(StructuredQuery Language,结构化查询语言)等语言编写的代码。
需要说明的是,为满足大量用户的计算需求以及负载均衡需求,本实施例可以部署多个远程计算节点,形成一个远程计算节点集群,其中每个远程计算节点上包含了若干不同类型的计算引擎的实现。Web服务器可以根据不同的交互式会话调用不同的远程计算节点执行作业代码对应的大数据作业,交互式会话的远程计算节点调用模式分为本地调用和远程调用,本地调用实是指仅调用单个远程计算节点执行作业代码对应的大数据作业,比如以单机python为主的机器学习模型训练,在创建基于Python引擎的交互式会话后,可以使用本地模式,如调用单个远程计算节点执行python作业代码;远程调用是指调用多个远程计算节点执行作业代码对应的大数据作业,比如Spark、Hive等大数据作业,在创建基于Spark或Hive引擎的交互式会话后,可以使用多个远程计算节点,即Spark集群或Hive集群对应执行Spark或Hive作业代码。
在本实施例中,当Web服务器接收到客户端发送的大数据作业处理请求时,首先判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;若存在,则创建基于所述计算引擎的交互式会话;之后,将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。这种方式能够实现根据客户端的大数据作业处理请求所指定的不同计算引擎,调用不同的远程计算节点执行大数据作业,从而实现了根据不同的计算引擎处理大数据任务。
进一步地,基于上述第一实施例,提出本发明作业处理方法第二实施例。
本实施例中,在上述步骤S30之前,还可以包括:通过预设的所述计算引擎的钩子函数调用预设的用户自定义函数和/或引擎参数;根据所述用户自定义函数和/或引擎参数执行所述交互式会话的初始化。
具体地,Web服务器在创建基于指定计算引擎的交互式会话后,可以通过预设的该计算引擎的钩子(Hook)函数调用预设的用户自定义函数和/或引擎参数,该用户自定义函数预先由用户创建并保存在Web服务器的个性化设置服务中,可以被钩子函数调用,该引擎参数可以包括需要使用的CPU、内存等资源大小等,之后,根据该用户自定义函数和/或引擎参数执行交互式会话的初始化,由此实现了用户对交互式会话的统一个性化配置。
进一步地,上述步骤S30可以包括:将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码;将所述目标作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述目标作业代码对应的大数据作业。
本实施例中,Web服务器可以将大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将该作业代码转换为预设标准格式的目标作业代码,然后再将该目标作业代码提交至交互式会话中,以使交互式会话调用对应的远程计算节点执行该目标作业代码对应的大数据作业,由此保证了大数据作业的作业代码能够被对应的计算引擎所正常识别和处理。
具体地,所述将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码的步骤可以进一步包括:获取所述大数据作业处理请求的作业代码的语言类型;将所述作业代码输入至与所述语言类型对应的代码解析器中,由所述代码解析器对所述作业代码进行代码切分、全局变量替换和/或代码包装操作,以将所述作业代码转换为预设标准格式的目标作业代码。
本实施例中,Web服务器可以首先获取大数据作业处理请求的作业代码的语言类型,然后将作业代码输入至与获取到的语言类型对应的代码解析器中,由代码解析器对该作业代码进行代码切分、全局变量替换和代码包装操作,以将该作业代码转换为预设标准格式的目标作业代码。其中,作业代码的语言类型包括但不限于由Scala、Python、R和SQL等。不同语言类型的作业代码对应不同的代码解析器以及不同的代码解析规则,由此实现了对各种语言编写的作业代码进行解析。
进一步地,本实施例作业处理方法还可以包括:检测所述计算引擎队列中是否存在预设时长内未被请求使用的计算引擎;若是,则将所述在预设时长内未被请求使用的计算引擎从所述计算引擎队列中删除,并释放删除的所述计算引擎对应的资源。
本实施例中,Web服务器可以定时检测其计算引擎队列中是否存在预设时长内未被请求使用的计算引擎,若存在,则将该在预设时长内未被请求使用的计算引擎从计算引擎队列中删除,并释放删除的计算引擎对应的资源,这种及时销毁未被使用的计算引擎的方式,有利于将对应资源及时释放给其它用户使用。
本发明还提供一种作业处理装置。本发明作业处理装置包括:
判断模块,用于当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;
创建模块,用于若预设的与所述客户端对应的计算引擎队列中存在所述大数据作业处理请求所指定的计算引擎,则创建基于所述计算引擎的交互式会话;
执行模块,用于将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。
进一步地,所述装置还包括:
申请模块,用于若预设的与所述客户端对应的计算引擎队列中不存在所述大数据作业处理请求所指定的计算引擎,则向预设的与所述客户端对应的计算引擎资源管理模块申请与所述计算引擎对应的资源;
新建模块,用于根据申请到的与所述计算引擎对应的资源在所述预设的与所述客户端对应的计算引擎队列中新建一个所述计算引擎,并由创建模块创建基于所述计算引擎的交互式会话。
进一步地,所述创建模块包括:
获取单元,用于获取远程计算节点集群中的各远程计算节点的当前资源使用信息;
确定单元,用于根据所述各远程计算节点的当前资源使用信息,从所述各远程计算节点中确定满足预设资源要求的目标远程计算节点;
创建单元,用于创建与所述目标远程计算节点之间的基于所述计算引擎的交互式会话。
进一步地,所述装置还包括:
调用模块,用于通过预设的所述计算引擎的钩子函数调用预设的用户自定义函数和/或引擎参数;
所述执行模块,还用于根据所述用户自定义函数和/或引擎参数执行所述交互式会话的初始化。
进一步地,所述执行模块包括:
转换单元,用于将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码;
执行单元,用于将所述目标作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述目标作业代码对应的大数据作业。
进一步地,所述转换单元包括:
获取子单元,用于获取所述大数据作业处理请求的作业代码的语言类型;
转换子单元,用于将所述作业代码输入至与所述语言类型对应的代码解析器中,由所述代码解析器对所述作业代码进行代码切分、全局变量替换和/或代码包装操作,以将所述作业代码转换为预设标准格式的目标作业代码。
进一步地,所述作业处理装置还包括:
检测模块,用于检测所述计算引擎队列中是否存在预设时长内未被请求使用的计算引擎;
删除模块,用于若是,则将所述在预设时长内未被请求使用的计算引擎从所述计算引擎队列中删除,并释放删除的所述计算引擎对应的资源。
上述各程序模块所执行的操作可参照本发明作业处理方法实施例,此处不再赘述。
本发明还提供一种计算机可读存储介质。
本发明计算机可读存储介质上存储有作业处理程序,所述作业处理程序被处理器执行时实现如上所述的作业处理方法的步骤。
其中,在所述处理器上运行的作业处理程序被执行时所实现的方法可参照本发明作业处理方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (15)
1.一种作业处理方法,其特征在于,所述作业处理方法包括如下步骤:
当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;
若预设的与所述客户端对应的计算引擎队列中存在所述大数据作业处理请求所指定的计算引擎,则创建基于所述计算引擎的交互式会话;
将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。
2.如权利要求1所述的作业处理方法,其特征在于,所述当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎的步骤之后,还包括:
若预设的与所述客户端对应的计算引擎队列中不存在所述大数据作业处理请求所指定的计算引擎,则向预设的与所述客户端对应的计算引擎资源管理模块申请与所述计算引擎对应的资源;
根据申请到的与所述计算引擎对应的资源在所述预设的与所述客户端对应的计算引擎队列中新建一个所述计算引擎,并执行创建基于所述计算引擎的交互式会话的步骤。
3.如权利要求1所述的作业处理方法,其特征在于,所述创建基于所述计算引擎的交互式会话的步骤包括:
获取远程计算节点集群中的各远程计算节点的当前资源使用信息;
根据所述各远程计算节点的当前资源使用信息,从所述各远程计算节点中确定满足预设资源要求的目标远程计算节点;
创建与所述目标远程计算节点之间的基于所述计算引擎的交互式会话。
4.如权利要求1所述的作业处理方法,其特征在于,所述将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业的步骤之前,还包括:
通过预设的所述计算引擎的钩子函数调用预设的用户自定义函数和/或引擎参数;
根据所述用户自定义函数和/或引擎参数执行所述交互式会话的初始化。
5.如权利要求1至4中任一项所述的作业处理方法,其特征在于,所述将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业的步骤包括:
将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码;
将所述目标作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述目标作业代码对应的大数据作业。
6.如权利要求5所述的作业处理方法,其特征在于,所述将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码的步骤包括:
获取所述大数据作业处理请求的作业代码的语言类型;
将所述作业代码输入至与所述语言类型对应的代码解析器中,由所述代码解析器对所述作业代码进行代码切分、全局变量替换和/或代码包装操作,以将所述作业代码转换为预设标准格式的目标作业代码。
7.如权利要求6所述的作业处理方法,其特征在于,所述作业处理方法还包括:
检测所述计算引擎队列中是否存在预设时长内未被请求使用的计算引擎;
若是,则将所述在预设时长内未被请求使用的计算引擎从所述计算引擎队列中删除,并释放删除的所述计算引擎对应的资源。
8.一种作业处理装置,其特征在于,所述作业处理装置包括:
判断模块,用于当接收到客户端发送的大数据作业处理请求时,判断预设的与所述客户端对应的计算引擎队列中是否存在所述大数据作业处理请求所指定的计算引擎;
创建模块,用于若预设的与所述客户端对应的计算引擎队列中存在所述大数据作业处理请求所指定的计算引擎,则创建基于所述计算引擎的交互式会话;
执行模块,用于将所述大数据作业处理请求中携带的作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述作业代码对应的大数据作业。
9.如权利要求8所述的作业处理装置,其特征在于,还包括:
申请模块,用于若预设的与所述客户端对应的计算引擎队列中不存在所述大数据作业处理请求所指定的计算引擎,则向预设的与所述客户端对应的计算引擎资源管理模块申请与所述计算引擎对应的资源;
新建模块,用于根据申请到的与所述计算引擎对应的资源在所述预设的与所述客户端对应的计算引擎队列中新建一个所述计算引擎,并由创建模块创建基于所述计算引擎的交互式会话。
10.如权利要求8所述的作业处理装置,其特征在于,所述创建模块包括:
获取单元,用于获取远程计算节点集群中的各远程计算节点的当前资源使用信息;
确定单元,用于根据所述各远程计算节点的当前资源使用信息,从所述各远程计算节点中确定满足预设资源要求的目标远程计算节点;
创建单元,用于创建与所述目标远程计算节点之间的基于所述计算引擎的交互式会话。
11.如权利要求8所述的作业处理装置,其特征在于,还包括:
调用模块,用于通过预设的所述计算引擎的钩子函数调用预设的用户自定义函数和/或引擎参数;
所述执行模块,还用于根据所述用户自定义函数和/或引擎参数执行所述交互式会话的初始化。
12.如权利要求8至11中任一项所述的作业处理装置,其特征在于,所述执行模块包括:
转换单元,用于将所述大数据作业处理请求中携带的作业代码输入至预设的代码解析器中进行解析,以将所述作业代码转换为预设标准格式的目标作业代码;
执行单元,用于将所述目标作业代码提交至所述交互式会话中,以使所述交互式会话调用对应的远程计算节点执行所述目标作业代码对应的大数据作业。
13.如权利要求12所述的作业处理装置,其特征在于,所述转换单元包括:
获取子单元,用于获取所述大数据作业处理请求的作业代码的语言类型;
转换子单元,用于将所述作业代码输入至与所述语言类型对应的代码解析器中,由所述代码解析器对所述作业代码进行代码切分、全局变量替换和/或代码包装操作,以将所述作业代码转换为预设标准格式的目标作业代码。
14.一种作业处理设备,其特征在于,所述作业处理设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的作业处理程序,所述作业处理程序被所述处理器执行时实现如权利要求1至7中任一项所述的作业处理方法的步骤。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有作业处理程序,所述作业处理程序被处理器执行时实现如权利要求1至7中任一项所述的作业处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811652653.2A CN109739663B (zh) | 2018-12-29 | 2018-12-29 | 作业处理方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811652653.2A CN109739663B (zh) | 2018-12-29 | 2018-12-29 | 作业处理方法、装置、设备及计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109739663A true CN109739663A (zh) | 2019-05-10 |
CN109739663B CN109739663B (zh) | 2023-07-14 |
Family
ID=66362907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811652653.2A Active CN109739663B (zh) | 2018-12-29 | 2018-12-29 | 作业处理方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109739663B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191165A (zh) * | 2019-05-20 | 2019-08-30 | 深圳前海微众银行股份有限公司 | 一种处理代码执行请求的方法及装置 |
CN110381143A (zh) * | 2019-07-19 | 2019-10-25 | 深圳前海微众银行股份有限公司 | 作业提交执行方法、装置、设备及计算机存储介质 |
CN110727697A (zh) * | 2019-08-29 | 2020-01-24 | 北京奇艺世纪科技有限公司 | 数据的处理方法和装置、存储介质、电子装置 |
CN110868324A (zh) * | 2019-11-22 | 2020-03-06 | 中国建设银行股份有限公司 | 一种业务配置方法、装置、设备和存储介质 |
CN111031123A (zh) * | 2019-12-10 | 2020-04-17 | 中盈优创资讯科技有限公司 | Spark任务的提交方法、***、客户端及服务端 |
CN111414381A (zh) * | 2020-03-04 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112214517A (zh) * | 2020-11-04 | 2021-01-12 | 微医云(杭州)控股有限公司 | 流数据处理方法及装置、电子设备、存储介质 |
CN112988131A (zh) * | 2021-02-25 | 2021-06-18 | 未鲲(上海)科技服务有限公司 | 计算引擎任务执行方法、设备及可读存储介质 |
CN116582537A (zh) * | 2023-07-13 | 2023-08-11 | 国家超级计算天津中心 | 远程仿真方法、装置、设备、存储介质及*** |
CN117253552A (zh) * | 2023-11-09 | 2023-12-19 | 宁德时代新能源科技股份有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924563B1 (en) * | 2011-07-12 | 2014-12-30 | A9.Com, Inc. | Web-based distributed computing with browser-executed code |
CN108287762A (zh) * | 2018-01-09 | 2018-07-17 | 福建星瑞格软件有限公司 | 分布式计算交互式模式使用资源优化方法以及计算机设备 |
CN108595473A (zh) * | 2018-03-09 | 2018-09-28 | 广州市优普计算机有限公司 | 一种基于云计算的大数据应用平台 |
CN109062965A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 大数据分析***、服务器、数据处理方法和存储介质 |
-
2018
- 2018-12-29 CN CN201811652653.2A patent/CN109739663B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8924563B1 (en) * | 2011-07-12 | 2014-12-30 | A9.Com, Inc. | Web-based distributed computing with browser-executed code |
CN108287762A (zh) * | 2018-01-09 | 2018-07-17 | 福建星瑞格软件有限公司 | 分布式计算交互式模式使用资源优化方法以及计算机设备 |
CN108595473A (zh) * | 2018-03-09 | 2018-09-28 | 广州市优普计算机有限公司 | 一种基于云计算的大数据应用平台 |
CN109062965A (zh) * | 2018-06-28 | 2018-12-21 | 平安科技(深圳)有限公司 | 大数据分析***、服务器、数据处理方法和存储介质 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110191165A (zh) * | 2019-05-20 | 2019-08-30 | 深圳前海微众银行股份有限公司 | 一种处理代码执行请求的方法及装置 |
CN110191165B (zh) * | 2019-05-20 | 2023-05-12 | 深圳前海微众银行股份有限公司 | 一种处理代码执行请求的方法及装置 |
CN110381143A (zh) * | 2019-07-19 | 2019-10-25 | 深圳前海微众银行股份有限公司 | 作业提交执行方法、装置、设备及计算机存储介质 |
CN110381143B (zh) * | 2019-07-19 | 2023-09-12 | 深圳前海微众银行股份有限公司 | 作业提交执行方法、装置、设备及计算机存储介质 |
CN110727697B (zh) * | 2019-08-29 | 2022-07-12 | 北京奇艺世纪科技有限公司 | 数据的处理方法和装置、存储介质、电子装置 |
CN110727697A (zh) * | 2019-08-29 | 2020-01-24 | 北京奇艺世纪科技有限公司 | 数据的处理方法和装置、存储介质、电子装置 |
CN110868324A (zh) * | 2019-11-22 | 2020-03-06 | 中国建设银行股份有限公司 | 一种业务配置方法、装置、设备和存储介质 |
CN111031123A (zh) * | 2019-12-10 | 2020-04-17 | 中盈优创资讯科技有限公司 | Spark任务的提交方法、***、客户端及服务端 |
CN111414381B (zh) * | 2020-03-04 | 2021-09-14 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN111414381A (zh) * | 2020-03-04 | 2020-07-14 | 腾讯科技(深圳)有限公司 | 数据处理方法、装置、电子设备及存储介质 |
CN112214517A (zh) * | 2020-11-04 | 2021-01-12 | 微医云(杭州)控股有限公司 | 流数据处理方法及装置、电子设备、存储介质 |
CN112988131A (zh) * | 2021-02-25 | 2021-06-18 | 未鲲(上海)科技服务有限公司 | 计算引擎任务执行方法、设备及可读存储介质 |
CN116582537A (zh) * | 2023-07-13 | 2023-08-11 | 国家超级计算天津中心 | 远程仿真方法、装置、设备、存储介质及*** |
CN117253552A (zh) * | 2023-11-09 | 2023-12-19 | 宁德时代新能源科技股份有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
CN117253552B (zh) * | 2023-11-09 | 2024-04-12 | 宁德时代新能源科技股份有限公司 | 数据处理方法、装置、设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109739663B (zh) | 2023-07-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109739663A (zh) | 作业处理方法、装置、设备及计算机可读存储介质 | |
US9729557B1 (en) | Dynamic throttling systems and services | |
CN112732466B (zh) | 一种服务调用方法、装置和*** | |
US20150149417A1 (en) | Web-based debugging of database sessions | |
US20190102237A1 (en) | Recommending applications based on call requests between applications | |
CN106649630A (zh) | 数据查询方法及装置 | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
US20070047439A1 (en) | Method and apparatus of supporting business performance management with active shared data spaces | |
CN111898023A (zh) | 一种消息推送方法、装置、可读存储介质及计算设备 | |
US20170147663A1 (en) | Data Load Process | |
US9774652B2 (en) | Systems to provide database updates | |
US11593188B2 (en) | Method and apparatus for providing asynchronicity to microservice application programming interfaces | |
CN110069388A (zh) | 告警信息处理方法、装置、设备及计算机可读存储介质 | |
CN110557284A (zh) | 基于客户端网关的数据聚合方法及装置 | |
CN111083219A (zh) | 请求处理方法、装置、设备与计算机可读存储介质 | |
CN109618308A (zh) | 一种基于Spark Streaming处理物联网数据的方法 | |
DE112017005512T5 (de) | Datenübertragung innerhalb von geschäftsräumen und ausserhalb von geschäftsräumen | |
WO2018000878A1 (zh) | 分布式任务处理方法和装置 | |
CN112313627A (zh) | 事件到无服务器函数工作流实例的映射机制 | |
US20220353351A1 (en) | Platform for multi-stream sampling and visualization | |
US20150106899A1 (en) | System and method for cross-cloud identity matching | |
CN112948467B (zh) | 数据处理方法及装置、计算机设备和存储介质 | |
CN110381143A (zh) | 作业提交执行方法、装置、设备及计算机存储介质 | |
CN106789395A (zh) | 一种基于Web的分布式PDM***数据传输监控方法 | |
CN114564404A (zh) | 一种用于对第三方***进行联调仿真的***和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |