CN110381143A - 作业提交执行方法、装置、设备及计算机存储介质 - Google Patents
作业提交执行方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN110381143A CN110381143A CN201910659732.4A CN201910659732A CN110381143A CN 110381143 A CN110381143 A CN 110381143A CN 201910659732 A CN201910659732 A CN 201910659732A CN 110381143 A CN110381143 A CN 110381143A
- Authority
- CN
- China
- Prior art keywords
- engine
- big data
- entrance
- submitted
- data operation
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/547—Remote procedure calls [RPC]; Web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- 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
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明涉及金融科技(Fintech)技术领域,并公开了一种作业提交执行方法,该方法包括:网关获取用户账号对应的大数据作业,并将大数据作业提交到入口;入口基于大数据作业检测用户账号对应的服务器是否存在第一引擎;若不存在第一引擎,则入口向引擎管理器发送引擎请求信息,引擎管理器根据引擎请求信息和资源管理器启动第二引擎;入口将大数据作业提交到第二引擎,第二引擎对大数据作业进行执行,生成所述大数据作业的结果集。本发明还公开了一种作业提交执行装置、设备和一种计算机存储介质。本发明实现了在集群资源不充足的情况下,提高任务作业执行的成功率。
Description
技术领域
本发明涉及金融科技(Fintech)技术领域,尤其涉及作业提交执行方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的发展,越来越多的技术(大数据、分布式、区块链Blockchain、人工智能等)应用在金融领域,传统金融业正在逐步向金融科技(Fintech)转变,但由于金融行业的安全性、实时性要求,也对技术提出了更高的要求。例如,大数据中提交spark(集群计算平台)任务的方式,目前基本上是采用开源项目Livy进行提交,但是在Livy中,虽然在Yarn上执行的任务作业可以由Yarn自带的资源管理器进行资源的管理,但是在这种资源管理仅仅是对队列资源的管理,用户级别的资源管理是缺失的,一个用户如果在短时间内并发启动多个session(会话控制),会让有限的集群资源迅速耗尽,从而导致其它用户无法进行任务作业执行。因此,如何在集群资源不充足的情况下,提高任务作业执行的成功率成为目前亟待解决的技术问题。
发明内容
本发明的主要目的在于提出一种作业提交执行方法、装置、设备及计算机存储介质,旨在提高任务作业执行的可用性。
为实现上述目的,本发明提供一种作业提交执行方法,所述作业提交执行方法应用于作业提交执行系统,所述作业提交执行系统包括网关、资源管理器、入口和引擎管理器,
所述作业提交执行方法包括如下步骤:
所述网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口;
所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;
若不存在所述第一引擎,则所述入口向所述引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎;
所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。
可选地,所述引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎的步骤,包括:
所述引擎管理器根据所述引擎请求信息向所述资源管理器发送申请所述用户账号对应的资源信息的申请信息;
所述引擎管理器根据所述资源管理器返回的资源信息启动新引擎,并将所述新引擎作为第二引擎。
可选地,所述引擎管理器根据所述资源管理器返回的资源信息启动新引擎,并将所述新引擎作为所述第二引擎的步骤之前,包括:
所述资源管理器根据所述申请信息检测所述用户账号对应的剩余资源是否大于预设资源;
若大于,则所述资源管理器向所述引擎管理器发送所述剩余资源充足的资源信息。
可选地,所述入口将所述大数据作业提交到所述第二引擎的步骤之前,包括:
所述引擎管理器获取所述第二引擎的标识信息,并将所述标识信息和所述第二引擎已启动成功的通知信息发送到所述入口;
所述入口将所述大数据作业提交到所述第二引擎的步骤,包括:
所述入口根据所述标识信息和所述通知信息,通过进程间通信方式RPC将所述大数据作业提交到所述第二引擎。
可选地,所述第二引擎对所述大数据作业进行执行的步骤,包括:
在对所述大数据作业的执行过程中,所述第二引擎根据所述大数据作业的执行进度获取所述大数据作业对应的执行信息,并将所述执行信息通过所述RPC发送到所述入口,以供所述入口将所述执行信息发送到网关,通过所述网关将所述执行信息发送到所述用户账号。
可选地,所述第二引擎对所述大数据作业进行执行,并将所述大数据作业执行完成后产生的结果集发送到所述入口进行保存的步骤之后,包括:
将所述第二引擎的状态由所述繁忙状态变为空闲状态,并检测所述网关是否接收到所述用户账号对应的新的大数据作业;
若所述网关接收到所述新的大数据作业,则所述网关将所述新的大数据作业直接提交到所述第二引擎进行执行。
可选地,所述网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口的步骤,包括:
所述网关获取用户账号对应的大数据作业,并检测所述入口是否存在故障;
若所述入口存在故障,则获取备用入口,并将所述大数据作业提交到所述备用入口。
此外,为实现上述目的,本发明还提供一种作业提交执行装置,所述作业提交执行装置包括:
获取模块,用于网关获取用户账号对应的大数据作业,并将所述大数据作业提交到入口;
检测模块,用于所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;
发送模块,用于若不存在所述第一引擎,则所述入口向引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和资源管理器启动所述第二引擎;
执行模块,用于所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。
此外,为实现上述目的,本发明还提供一种作业提交执行设备,所述作业提交执行设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的作业提交执行程序,所述作业提交执行程序被所述处理器执行时实现如上所述的作业提交执行方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机存储介质,所述计算机存储介质上存储有作业提交执行程序,所述作业提交执行程序被处理器执行时实现如上所述的作业提交执行方法的步骤。
本发明通过所述网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口;所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;若不存在所述第一引擎,则所述入口向所述引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎;所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。通过在入口接收到网关发送的大数据作业时,先检测是否存在空闲状态的第一引擎,并在发现不存在第一引擎时,通过引擎管理器和资源管理器来启动第二引擎,从而避免由于缺少空闲状态的第一引擎,而导致大数据作业无法执行的现象发生,并通过第二引擎对大数据作业进行执行,从而保障了大数据作业执行的效率,让大数据作业能够在第一引擎不充足的情况,还可以继续执行,从而避免了现有技术中容易将集群资源耗尽,而无法继续进行任务作业执行的现象发生,实现了在集群资源不充足的情况下,提高了任务作业执行的成功率。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图;
图2为本发明作业提交执行方法第一实施例的流程示意图;
图3为本发明作业提交执行装置的装置模块示意图;
图4为本发明作业提交执行方法中作业提交执行的流程示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,图1是本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明实施例作业提交执行设备可以是PC机或服务器设备。
如图1所示,该作业提交执行设备可以包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
本领域技术人员可以理解,图1中示出的设备结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及作业提交执行程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的作业提交执行程序,并执行下述作业提交执行方法中的操作。
基于上述硬件结构,提出本发明作业提交执行方法实施例。
参照图2,图2为本发明作业提交执行方法第一实施例的流程示意图,所述方法包括:
步骤S10,所述网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口;
在本实施中,作业提交执行方法应用于作业提交执行系统,作业提交系统包括网关、资源管理器、入口和引擎管理器。
网关可以是对请求和响应进行正确的转发,通常这些请求和响应遵循http或者websocket协议的。资源管理器可以是用于集群资源管控的一个微服务,由于集群资源(内存和CPU核数)总是稀缺的,所以对每个用户进行资源的管控是非常有必要的,而本实施例中资源管理器能够控制用户使用的总内存和CPU核数,同时也能控制用户启动执行引擎的个数。例如,用户只能启动三个spark的执行引擎,如果用户试图启动第四个spark引擎,资源管理器就会给出资源不足的提示,引擎管理器就无法启动第四个引擎。入口可以是一个用于桥接用户和执行引擎的微服务,它的作用是将用户大数据作业,如spark-sql,提交到合适的引擎去执行。并且提交任务后,入口还需要和执行引擎交互,获取任务执行的日志、进度、状态等信息返回给用户。引擎管理器可以是管理执行引擎启动停止、保存引擎运行时状态信息(比如引擎的状态,如空闲、繁忙等)的微服务,是一个常驻的服务。入口需要向引擎管理器发送请求申请新的引擎,引擎管理器收到请求之后,需要向资源管理器申请资源,如果用户仍然有可用资源,那么会为用户启动一个执行引擎。而微服务是将后台服务划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。服务和服务之间采用轻量级的通信机制相互沟通。每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。大数据作业可以是包括spark(支持sql、scala、pyspark),hive,python,shell,R语言等数据分析任务,这些任务往往需要较多集群资源,分布式运行,运行时间长等特点。
本实施例是将用于执行大数据作业的后台服务抽象独立成一个个微服务,各个微服务对外暴露出必要的接口,整个架构层次分明,做到了真正的高内聚和低耦合。并且后台微服务化后,如果想为后台系统添加一个功能,可以以一个独立的微服务进行部署,并开发接口,这样系统主体只需要更改少量的代码,调用该微服务的接口就可以完成功能实现。当用户通过用户账号在浏览器中提交自己的大数据作业到网关时,网关会根据大数据作业的类型选择入口,并将大数据作业转发到该入口。例如,用户提交了一段spark-sql,网关将该作业提交到spark的入口中。也就是入口的类型必须和大数据作业的类型一致。
步骤S20,所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;
第一引擎可以是处于空闲状态,且和大数据作业类型相同的执行引擎,而执行引擎是用于执行大数据作业的后台服务程序的一个抽象,以微服务的方式进行启停。用户提交的作业经过入口服务的一系列操作(持久化、变量替换等)后,最终由执行引擎进行执行。执行引擎在执行作业的时候需要租用集群的资源,为了能够充分利用集群的资源,执行引擎在空闲一段时间(一般建议是一小时)之后就会自动关闭,同时用户也能够在页面上主动关闭执行引擎(用户只能关闭用户自己启动的引擎)。并且在本实施例中,第一引擎必须要是合适的引擎,而合适的意思是指第一引擎能够运行该大数据作业,比如spark任务是提交给spark执行引擎,hive任务是提交给hive执行引擎;并且该第一引擎必须是该用户账号可以应用的,是这个用户账号启动的或者是共享给该用户账号的;第一引擎必须在此时处于空闲状态,如果用户账号的所有引擎都处于繁忙状态时,那么用户账号提交的大数据作业就要在任务队列中进行等待被调度。当入口的入口程序接收到大数据作业后,会对大数据作业进行持久化(即保持在数据库中),并会对代码进行检查等操作,并在这些操作完成后,入口程序会查询用户账号所在服务器是否有合适的第一引擎,若有,则将大数据作业提交到第一引擎,让第一引擎对大数据作业进行执行。若没有,则会通过引擎管理器来获取第二引擎。
步骤S30,若不存在所述第一引擎,则所述入口向所述引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎;
第二引擎可以是新的执行引擎,从未被应用过的执行引擎。当经过判断发现不存在第一引擎时,则入口程序会向引擎管理器发送请求新引擎的引擎请求信息。而引擎管理器会在接收到入口程序发送的请求信息后,会向资源管理器申请此用户账号是否有足够的资源空间能够启动一个新的引擎,如果可以,引擎管理器就会启动一个新的引擎(即第二引擎),否则,会通知入口用户账号没有足够的资源空间可以启动引擎,大数据作业执行失败。
步骤S40,所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。
当第二引擎启动后,引擎管理器会向入口的入口程序发送一个引擎已经启动成功的通知,并把能够唯一识别该引擎的信息返回给入口程序。而入口程序会将大数据作业提交到第二引擎,第二引擎回对大数据作业进行执行,并且第二引擎在执行大数据作业时产生的日志、进度等信息也通过RPC(Remote Proceduer Call,远程过程调用协议)的方式返回给入口程序,入口程序再将这些信息发送到网关,网关再转发给用户账号,这样用户就能实时查看到大数据作业执行的进度、状态和日志等信息。并在第二引擎对大数据作业执行完成后,第二引擎会将产生的结果集发送到入口程序进行持久化(即保存在数据库),同时第二引擎从执行大数据作业时的繁忙变为空闲状态,用户也可以通过前端的接口查看已经持久化成功的结果集。并且本实施例是基于开源的Spring Cloud(一系列框架的有序集合)框架,将执行大数据作业使用到的各个服务抽象独立成多个微服务,各个微服务暴露出指定的接口,微服务之间通过RPC的方式进行接口的调用,从而完成用户提交作业到用户获取任务执行信息和任务执行结果集的流程。
另外,为了辅助理解本实施例中的任务执行的完整流程,下面进行举例说明。
例如,如图4所示,用户通过浏览器提交自己的作业到网关,网关会根据作业的作业类型寻找到指定入口,并将作业转发到入口,入口会对大数据作业进行持久化(存储到数据库中)、代码检查等操作。并向引擎管理器请求引擎,用于执行作业,若有合适的引擎,则会启动该引擎,若没有,则引擎管理器会向资源管理器为用户申请资源用以启动引擎,资源管理器会确定该用户是否有足够的资源启动一个新的引擎,若有,则引擎管理器会启动一个新的引擎,并在引擎启动成功后,会通知引擎管理器已经启动完成,并实时向引擎管理器上报已经在使用的资源。而引擎管理器会向入口发送引擎启动成功的通知,并返回引擎实例信息到入口。而入口会将作业提交到引擎执行。引擎会返回任务执行的情况,包括进度、状态、日志等。入口会返回任务信息给网关,网关转发给指定用户。
本实施例通过所述网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口;所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;若不存在所述第一引擎,则所述入口向所述引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎;所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。通过在入口接收到网关发送的大数据作业时,先检测是否存在空闲状态的第一引擎,并在发现不存在第一引擎时,通过引擎管理器和资源管理器来启动第二引擎,从而避免由于缺少空闲状态的第一引擎,而导致大数据作业无法执行的现象发生,并通过第二引擎对大数据作业进行执行,从而保障了大数据作业执行的效率,让大数据作业能够在第一引擎不充足的情况,还可以继续执行,从而避免了现有技术中容易将集群资源耗尽,而无法继续进行任务作业执行的现象发生,实现了在集群资源不充足的情况下,保障了任务作业执行的成功率。
进一步地,基于本发明作业提交执行方法第一实施例,提出本发明作业提交执行方法第二实施例。本实施例是本发明第一实施例的步骤S20,引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎的步骤的细化,包括:
步骤a,所述引擎管理器根据所述引擎请求信息向所述资源管理器发送申请所述用户账号对应的资源信息的申请信息;
引擎管理器在接收到入口程序发送的请求信息会向资源管理器发送申请用户账号对应的资源信息的申请信息,而资源管理器会对用户账号进行检查,确定用户账号是否有足够资源启动新的引擎,并将检查结果对应的资源信息返回给引擎管理器。
步骤b,所述引擎管理器根据所述资源管理器返回的资源信息启动新引擎,并将所述新引擎作为第二引擎。
引擎管理器根据资源管理器返回的资源信息来确定是否启动新的引擎,若资源信息显示用户账号具有足够资源启动新的引擎,则会启动新引擎,也就是启动第二引擎。若资源信息显示用户账号不具有足够资源启动新的引擎,则会输出大数据作业执行失败的提示信息给到用户账号。
在本实施例中,通过在引擎管理器中根据资源管理器返回的资源信息来启动第二引擎,从而确保了第二引擎能够正常进行启动,避免由于资源不够,而无法启动第二引擎的现象发生。
具体地,引擎管理器根据所述资源管理器返回的资源信息启动新引擎,并将所述新引擎作为所述第二引擎之前,包括:
步骤c,所述资源管理器根据所述申请信息检测所述用户账号对应的剩余资源是否大于预设资源;
当资源管理器接收到引擎管理器发送的申请用户账号对应的资源信息后,会检测用户账号对应的剩余资源是否大于预设资源,并根据不同的比较结果执行不同的步骤。其中,剩余资源可以是用户账号所在服务器未被使用的资源。预设资源可以是提前为用户账号设置的资源,以限制用户账号最多使用多少个引擎进行作业执行。
步骤d,若大于,则所述资源管理器向所述引擎管理器发送所述剩余资源充足的资源信息。
当经过判断发现用户账号对应的剩余资源大于或等于预设资源时,资源管理器会向引擎管理器发送剩余资源充足的资源信息,以便引擎管理器启动新的引擎。但是当经过判断发现用户账号对应的剩余资源小于预设资源时,资源管理器会向引擎管理器发送剩余资源不充足的资源信息,以便让引擎管理器停止启动新的引擎。
在本实施例中,通过在资源管理器中检测用户账号对应的剩余资源是否大于预设资源,若大于,则资源管理器向引擎管理器发送资源信息,从而间接确保了第二引擎能够正常进行启动,避免由于资源不够,而无法启动第二引擎的现象发生。
进一步地,在本发明第一至第二实施例任意一个的基础上,提出了本发明作业提交执行方法的第三实施例,本实施例是在本发明第一实施例的步骤S40,入口将所述大数据作业提交到所述第二引擎的步骤之前,包括:
步骤e,所述引擎管理器获取所述第二引擎的标识信息,并将所述标识信息和所述第二引擎已启动成功的通知信息发送到所述入口;
标识信息可以是标记第二引擎的标记信息。第二引擎在启动成功后,会通知到引擎管理器已经启动成功,同时实时向引擎管理器上报已经在使用的资源。而引擎管理器在得到引擎启动成功的通知后,会获取第二引擎的标识信息,并将标识信息和第二引擎已经启动成功的通知信息发送到入口的入口程序,以便入口程序将大数据作业发送到第二引擎进行执行。
具体地,入口将所述大数据作业提交到所述第二引擎的步骤,包括:
步骤f,所述入口根据所述标识信息和所述通知信息,并通过进程间通信方式RPC将所述大数据作业提交到所述第二引擎。
RPC(Remote Proceduer Call)是一种进程间通信方式。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显示编码这个远程调用的细节。入口程序在接收到引擎管理器发送的标识信息和通知信息后,会通过RPC的方式将大数据作业提交到第二引擎,以便第二引擎对大数据作业进行执行。
在本实施例中,通过将通知信息和标识信息发送到入口程序,让入口程序将大数据作业发送到第二引擎进行执行,从而让入口程序能够准确地查询到已启动的第二引擎,提高了大数据作业执行的效率。
具体地,第二引擎对所述大数据作业进行执行的步骤,包括:
步骤g,在对所述大数据作业的执行过程中,所述第二引擎根据所述大数据作业的执行进度获取所述大数据作业对应的执行信息,并将所述执行信息通过所述RPC发送到所述入口,以供所述入口将所述执行信息发送到网关,通过所述网关将所述执行信息发送到所述用户账号。
第二引擎对大数据作业进行执行时,会将对大数据作业执行时产生的日志、进度等信息(即执行信息)发送通过RPC发送到入口。
入口在接收到执行信息后,会将执行信息发送到网关,再通过网关将执行信息发送到用户账号,以便用户实时查看大数据作业执行的进度、状态和日志等信息。
在本实施例中,通过在第二引擎对大数据作业进行执行时,将执行信息发送到入口,再到网关、用户账号,从而让用户实时查看大数据作业执行的进度、状态和日志等信息。
进一步地,第二引擎对所述大数据作业进行执行,并将所述大数据作业执行完成后产生的结果集发送到所述入口进行保存的步骤之后,包括:
步骤j,将所述第二引擎的状态由所述繁忙状态变为空闲状态,并检测所述网关是否再次接收到所述用户账号对应的新的大数据作业;
当大数据作业在第二引擎中执行完成后,会将第二引擎从执行作业时的繁忙状态变为空闲状态,并检测网关是否再次获取到用户账号输入的新的大数据作业,并根据检测结果执行不同的操作。其中,在本实施例中,只有在执行引擎的状态为空闲状态时,才能执行用户账号输入的大数据作业。
步骤k,若所述网关接收到所述新的大数据作业,则所述网关将所述新的大数据作业直接提交到所述第二引擎进行执行。
当经过判断发现在网关中有接收到用户账号输入的新的大数据作业时,会直接将新的大数据作业提交到第二引擎进行执行,也就是不需要再次进行启动引擎了。
在本实施例中,通过在大数据作业执行完成后,将第二引擎的状态由繁忙状态变为空闲状态,从而提高了大数据作业执行的效率。
进一步地,网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口的步骤,包括:
步骤w,所述网关获取用户账号对应的大数据作业,并检测所述入口是否存在故障;
在网关获取用户账号输入的大数据作业后,还需要检测入口是否存在故障,若不存在故障,则会直接将大数据作业提交到入口。若存在故障,则会获取新的入口。
步骤v,若所述入口存在故障,则获取备用入口,并将所述大数据作业提交到所述备用入口。
当经过判断发现入口存在故障时,则需要获取备用入口,并将大数据作业提交到备用入口,并通过备用入口检测用户账号是否存在可以被应用的引擎,若存在,则会通过该引擎对大数据作业进行执行。
需要说明的是,本实施例可以实现多个入口同时提供服务,一个入口进程死掉后,它所提交到引擎的任务会切换到另一个入口进行继续执行。并且如果执行作业的引擎进程死掉,入口检测到后,会将大数据作业提交到另一个可用的引擎上面,或者向引擎管理器申请新的引擎来继续执行作业。
在本实施例中,通过在入口存在故障时,启用备用入口,从而避免了现有技术中由于入口故障,而导致大数据作业无法管理的现象发生,保障了大数据作业执行的安全性。
本发明还提供一种作业提交执行装置,参照图3,所述作业提交执行装置包括:
获取模块,用于网关获取用户账号对应的大数据作业,并将所述大数据作业提交到入口;
检测模块,用于所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;
发送模块,用于若不存在所述第一引擎,则所述入口向引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和资源管理器启动第二引擎;
执行模块,用于所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。
进一步地,所述发送模块,还用于:
所述引擎管理器根据所述引擎请求信息向所述资源管理器发送申请所述用户账号对应的资源信息的申请信息;
所述引擎管理器根据所述资源管理器返回的资源信息启动新引擎,并将所述新引擎作为第二引擎。
进一步地,所述发送模块,还用于:
所述资源管理器根据所述申请信息检测所述用户账号对应的剩余资源是否大于预设资源;
若大于,则所述资源管理器向所述引擎管理器发送所述剩余资源充足的资源信息。
进一步地,所述执行模块,还用于:
所述引擎管理器获取所述第二引擎的标识信息,并将所述标识信息和所述第二引擎已启动成功的通知信息发送到所述入口;
所述入口根据所述标识信息和所述通知信息,通过进程间通信方式RPC将所述大数据作业提交到所述第二引擎。
进一步地,所述执行模块,还用于:
在对所述大数据作业的执行过程中,所述第二引擎根据所述大数据作业的执行进度获取所述大数据作业对应的执行信息,并将所述执行信息通过所述RPC发送到所述入口,以供所述入口将所述执行信息发送到网关,通过所述网关将所述执行信息发送到所述用户账号。
进一步地,所述执行模块,还用于:
将所述第二引擎的状态由所述繁忙状态变为空闲状态,并检测所述网关是否接收到用户账号对应的新的大数据作业;
若所述网关接收到所述新的大数据作业,则所述网关将所述新的大数据作业直接提交到所述第二引擎进行执行。
进一步地,所述获取模块,还用于:
所述网关获取用户账号对应的大数据作业,并检测所述入口是否存在故障;
若所述入口存在故障,则获取备用入口,并将所述大数据作业提交到所述备用入口。
上述各程序模块所执行的方法可参照本发明作业提交执行方法各个实施例,此处不再赘述。
本发明还提供一种计算机存储介质。
本发明计算机存储介质上存储有作业提交执行程序,所述作业提交执行程序被处理器执行时实现如上所述的作业提交执行方法的步骤。
其中,在所述处理器上运行的作业提交执行程序被执行时所实现的方法可参照本发明作业提交执行方法各个实施例,此处不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种作业提交执行方法,其特征在于,所述作业提交执行方法应用于作业提交执行系统,所述作业提交执行系统包括网关、资源管理器、入口和引擎管理器,
所述作业提交执行方法包括如下步骤:
所述网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口;
所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;
若不存在所述第一引擎,则所述入口向所述引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎;
所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。
2.如权利要求1所述的作业提交执行方法,其特征在于,所述引擎管理器根据所述引擎请求信息和所述资源管理器启动第二引擎的步骤,包括:
所述引擎管理器根据所述引擎请求信息向所述资源管理器发送申请所述用户账号对应的资源信息的申请信息;
所述引擎管理器根据所述资源管理器返回的资源信息启动新引擎,并将所述新引擎作为第二引擎。
3.如权利要求2所述的作业提交执行方法,其特征在于,所述引擎管理器根据所述资源管理器返回的资源信息启动新引擎,并将所述新引擎作为所述第二引擎之前,包括:
所述资源管理器根据所述申请信息检测所述用户账号对应的剩余资源是否大于预设资源;
若大于,则所述资源管理器向所述引擎管理器发送所述剩余资源充足的资源信息。
4.如权利要求1所述的作业提交执行方法,其特征在于,所述入口将所述大数据作业提交到所述第二引擎的步骤之前,包括:
所述引擎管理器获取所述第二引擎的标识信息,并将所述标识信息和所述第二引擎已启动成功的通知信息发送到所述入口;
所述入口将所述大数据作业提交到所述第二引擎的步骤,包括:
所述入口根据所述标识信息和所述通知信息,通过进程间通信方式RPC将所述大数据作业提交到所述第二引擎。
5.如权利要求4所述的作业提交执行方法,其特征在于,所述第二引擎对所述大数据作业进行执行的步骤,包括:
在对所述大数据作业的执行过程中,所述第二引擎根据所述大数据作业的执行进度获取所述大数据作业对应的执行信息,并将所述执行信息通过所述RPC发送到所述入口,以供所述入口将所述执行信息发送到网关,通过所述网关将所述执行信息发送到所述用户账号。
6.如权利要求1所述的作业提交执行方法,其特征在于,所述第二引擎对所述大数据作业进行执行,并将所述大数据作业执行完成后产生的结果集发送到所述入口进行保存的步骤之后,包括:
将所述第二引擎的状态由所述繁忙状态变为空闲状态,并检测所述网关是否接收到所述用户账号对应的新的大数据作业;
若所述网关接收到所述新的大数据作业,则所述网关将所述新的大数据作业提交到所述第二引擎进行执行。
7.如权利要求1-6任一项所述的作业提交执行方法,其特征在于,所述网关获取用户账号对应的大数据作业,并将所述大数据作业提交到所述入口的步骤,包括:
所述网关获取用户账号对应的大数据作业,并检测所述入口是否存在故障;
若所述入口存在故障,则获取备用入口,并将所述大数据作业提交到所述备用入口。
8.一种作业提交执行装置,其特征在于,所述作业提交执行装置包括:
获取模块,用于网关获取用户账号对应的大数据作业,并将所述大数据作业提交到入口;
检测模块,用于所述入口基于所述大数据作业检测所述用户账号对应的服务器是否存在第一引擎;
发送模块,用于若不存在所述第一引擎,则所述入口向引擎管理器发送引擎请求信息,所述引擎管理器根据所述引擎请求信息和资源管理器启动所述第二引擎;
执行模块,用于所述入口将所述大数据作业提交到所述第二引擎,所述第二引擎对所述大数据作业进行执行,生成所述大数据作业的结果集。
9.一种作业提交执行设备,其特征在于,所述作业提交执行设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的作业提交执行程序,所述作业提交执行程序被所述处理器执行时实现如权利要求1至7中任一项所述的作业提交执行方法的步骤。
10.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有作业提交执行程序,所述作业提交执行程序被处理器执行时实现如权利要求1至7中任一项所述的作业提交执行方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910659732.4A CN110381143B (zh) | 2019-07-19 | 2019-07-19 | 作业提交执行方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910659732.4A CN110381143B (zh) | 2019-07-19 | 2019-07-19 | 作业提交执行方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110381143A true CN110381143A (zh) | 2019-10-25 |
CN110381143B CN110381143B (zh) | 2023-09-12 |
Family
ID=68254596
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910659732.4A Active CN110381143B (zh) | 2019-07-19 | 2019-07-19 | 作业提交执行方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110381143B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021013056A1 (zh) * | 2019-07-19 | 2021-01-28 | 深圳前海微众银行股份有限公司 | 基于微服务的数据处理方法、装置、设备及可读存储介质 |
CN113051064A (zh) * | 2019-12-26 | 2021-06-29 | 中移(上海)信息通信科技有限公司 | 任务调度方法、装置、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815071A (zh) * | 2017-01-12 | 2017-06-09 | 上海轻维软件有限公司 | 基于有向无环图的大数据作业调度系统 |
CN107861804A (zh) * | 2017-10-31 | 2018-03-30 | 用友金融信息技术股份有限公司 | 大数据计算方法、计算系统、计算机设备及可读存储介质 |
CN108829422A (zh) * | 2018-06-28 | 2018-11-16 | 中国建设银行股份有限公司 | 一种动态部署方法及装置 |
CN109739663A (zh) * | 2018-12-29 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 作业处理方法、装置、设备及计算机可读存储介质 |
CN109828922A (zh) * | 2019-01-21 | 2019-05-31 | 成都能通科技有限公司 | 一种基于Python实时编译技术的通用自动测试引擎及使用方法 |
-
2019
- 2019-07-19 CN CN201910659732.4A patent/CN110381143B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815071A (zh) * | 2017-01-12 | 2017-06-09 | 上海轻维软件有限公司 | 基于有向无环图的大数据作业调度系统 |
CN107861804A (zh) * | 2017-10-31 | 2018-03-30 | 用友金融信息技术股份有限公司 | 大数据计算方法、计算系统、计算机设备及可读存储介质 |
CN108829422A (zh) * | 2018-06-28 | 2018-11-16 | 中国建设银行股份有限公司 | 一种动态部署方法及装置 |
CN109739663A (zh) * | 2018-12-29 | 2019-05-10 | 深圳前海微众银行股份有限公司 | 作业处理方法、装置、设备及计算机可读存储介质 |
CN109828922A (zh) * | 2019-01-21 | 2019-05-31 | 成都能通科技有限公司 | 一种基于Python实时编译技术的通用自动测试引擎及使用方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021013056A1 (zh) * | 2019-07-19 | 2021-01-28 | 深圳前海微众银行股份有限公司 | 基于微服务的数据处理方法、装置、设备及可读存储介质 |
CN113051064A (zh) * | 2019-12-26 | 2021-06-29 | 中移(上海)信息通信科技有限公司 | 任务调度方法、装置、设备及存储介质 |
CN113051064B (zh) * | 2019-12-26 | 2024-05-24 | 中移(上海)信息通信科技有限公司 | 任务调度方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110381143B (zh) | 2023-09-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10565034B2 (en) | Event-driven serverless function orchestration | |
US8495639B2 (en) | System and method for normalizing job properties | |
CN109739663A (zh) | 作业处理方法、装置、设备及计算机可读存储介质 | |
CN109300217B (zh) | 排队叫号方法、计算机存储介质、排队叫号服务器及系统 | |
CN107146074B (zh) | 工单任务协同处理方法、装置及计算机可读存储介质 | |
WO2016101599A1 (zh) | 业务流程管理的通知服务处理的方法及业务流程管理引擎 | |
CN110221901A (zh) | 容器资源创建方法、装置、设备及计算机可读存储介质 | |
CN111176858A (zh) | 一种数据请求处理方法及装置 | |
US9633094B2 (en) | Data load process | |
US11119828B2 (en) | Digital processing system for event and/or time based triggering management, and control of tasks | |
CN106330683A (zh) | 一种多媒体座席系统 | |
CN111240812A (zh) | 任务执行方法及装置 | |
CN110011875A (zh) | 拨测方法、装置、设备及计算机可读存储介质 | |
CN110381143A (zh) | 作业提交执行方法、装置、设备及计算机存储介质 | |
CN113170002A (zh) | 用于为联络中心应用提供上下文协助的系统和方法 | |
CN108900627A (zh) | 一种网络请求方法、终端装置及存储介质 | |
CN107066341A (zh) | 一种软件模块间的事件路由框架及方法 | |
US8792121B2 (en) | Method for controlling printing of a print job | |
CN101562622B (zh) | 一种执行用户请求的方法及其对应的服务器 | |
CN115883309B (zh) | 基于saas模式的多业务上下游多协议接入平台及方法 | |
CN112612588A (zh) | 任务处理方法、装置、设备及存储介质 | |
CN103761106A (zh) | 流程的控制方法及流程引擎 | |
CN112287644A (zh) | 一种数据提交方法、装置、计算机设备和可读存储介质 | |
CN109118151A (zh) | 一种工单事务处理方法及工单事务处理系统 | |
CN113672205B (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 |