CN106569789B - 任务提交的方法和装置 - Google Patents

任务提交的方法和装置 Download PDF

Info

Publication number
CN106569789B
CN106569789B CN201510657622.6A CN201510657622A CN106569789B CN 106569789 B CN106569789 B CN 106569789B CN 201510657622 A CN201510657622 A CN 201510657622A CN 106569789 B CN106569789 B CN 106569789B
Authority
CN
China
Prior art keywords
task
submitted
parameter
format
target
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.)
Active
Application number
CN201510657622.6A
Other languages
English (en)
Other versions
CN106569789A (zh
Inventor
严波
杨青峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Gridsum Technology Co Ltd
Original Assignee
Beijing Gridsum Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Gridsum Technology Co Ltd filed Critical Beijing Gridsum Technology Co Ltd
Priority to CN201510657622.6A priority Critical patent/CN106569789B/zh
Publication of CN106569789A publication Critical patent/CN106569789A/zh
Application granted granted Critical
Publication of CN106569789B publication Critical patent/CN106569789B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本申请公开了一种任务提交的方法和装置。其中,该方法包括:查询目标接口是否被调用,其中,目标接口为第一目标应用程序接收待提交任务的接口,第一目标应用程序为用于提交待提交任务至目标服务器的程序;在查询到目标接口被调用的情况下,通过目标接口接收待提交任务;将接收到的待提交任务的格式转化为预设格式;将转化为预设格式的待提交任务提交至目标服务器,其中,预设格式为目标服务器中任务的格式。本申请解决了现有技术中Spark任务的提交效率比较低的技术问题。

Description

任务提交的方法和装置
技术领域
本申请涉及计算机领域,具体而言,涉及一种任务提交的方法和装置。
背景技术
在现有Spark集群中,研发人员编写完相关任务的业务代码后,需要人工登录到Spark集群所在的服务器进行该相关任务的提交,该方式在任务量较大的情况下存在一定的局限性,此种局限性不仅是给研发人员带来了不方便,最主要的是提交效率比较低。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种任务提交的方法和装置,以至少解决现有技术中Spark任务的提交效率比较低的技术问题。
根据本申请实施例的一个方面,提供了一种任务的提交方法,该方法包括:查询目标接口是否被调用,其中,所述目标接口为第一目标应用程序接收待提交任务的接口,所述第一目标应用程序为用于提交所述待提交任务至目标服务器的程序;在查询到所述目标接口被调用的情况下,通过所述目标接口接收所述待提交任务;将接收到的所述待提交任务的格式转化为预设格式,其中,所述预设格式为目标服务器中任务的格式;以及将转化为所述预设格式的所述待提交任务提交至所述目标服务器。
进一步地,在将接收到的所述待提交任务的格式转化为预设格式之前,所述方法还包括:对所述待提交任务中的参数进行解析,其中,在所述待提交任务中的参数解析成功的情况下,将接收到的所述待提交任务的格式转化为预设格式,所述待提交任务中的参数的类型至少为一种;以及存储程序包于所述目标服务器中,其中,所述程序包为所述待提交任务在所述目标服务器中执行的应用程序的jar包。
进一步地,对所述待提交任务中的参数进行解析包括:将所述待提交任务中的参数ai与预设标准参数中的参数ai′进行对比,其中,所述参数ai的类型与所述参数ai′的类型相同,i依次取1至n的自然数,参数a1至参数an组成所述待提交任务中的参数,在对比出所述参数a1至所述参数an与所述预设标准参数中的参数a1′至参数an′一一对应相同的情况下,确定所述待提交任务中的参数解析成功,在对比出参数aj与所述预设标准参数中的参数aj′不相同的情况下,确定所述待提交任务中的参数解析失败,j∈[1,n]。
进一步地,将接收到的所述待提交任务的格式转化为预设格式包括:分别将第一格式和第二格式转化为所述预设格式,其中,所述第一格式为所述待提交任务中的参数的格式,所述第二格式为所述程序包的格式。
进一步地,所述方法还包括:在确定所述待提交任务中的参数解析失败的情况下,发送提示信息,其中,所述提示信息用于表示所述参数aj与所述参数aj′不相同。
进一步地,在将转化为所述预设格式的所述待提交任务提交至所述目标服务器之后,所述方法还包括:接收来自目标服务器的反馈消息,其中,所述反馈消息为包含所述待提交任务的提交结果的消息;以及发送所述反馈消息至第二目标应用程序,其中,所述第二目标应用程序为向所述第一目标应用程序发送所述待提交任务的程序。
根据本申请实施例的另一方面,还提供了一种任务的提交装置,该装置包括:查询单元,用于查询目标接口是否被调用,其中,所述目标接口为第一目标应用程序接收待提交任务的接口,所述第一目标应用程序为用于提交所述待提交任务至目标服务器的程序;第一接收单元,用于在查询到所述目标接口被调用的情况下,通过所述目标接口接收所述待提交任务;转化单元,用于将接收到的所述待提交任务的格式转化为预设格式,其中,所述预设格式为目标服务器中任务的格式;以及提交单元,用于将转化为所述预设格式的所述待提交任务提交至所述目标服务器。
进一步地,所述装置还包括:解析单元,用于在所述转化单元将接收到的所述待提交任务的格式转化为预设格式之前,对所述待提交任务中的参数进行解析,其中,在所述待提交任务中的参数解析成功的情况下,将接收到的所述待提交任务的格式转化为预设格式,所述待提交任务中的参数的类型至少为一种;以及存储单元,用于存储程序包于所述目标服务器中,其中,所述程序包为所述待提交任务在所述目标服务器中执行的应用程序的jar包。
进一步地,所述解析单元包括:对比模块,用于将所述待提交任务中的参数ai与预设标准参数中的参数ai′进行对比,其中,所述参数ai的类型与所述参数ai′的类型相同,i依次取1至n的自然数,参数a1至参数an组成所述待提交任务中的参数,在对比出所述参数a1至所述参数an与所述预设标准参数中的参数a1′至参数an′一一对应相同的情况下,确定所述待提交任务中的参数解析成功,在对比出参数aj与所述预设标准参数中的参数aj′不相同的情况下,确定所述待提交任务中的参数解析失败,j∈[1,n]。
进一步地,所述转化单元包括:转化模块,用于分别将第一格式和第二格式转化为所述预设格式,其中,所述第一格式为所述待提交任务中的参数的格式,所述第二格式为所述程序包的格式。
进一步地,所述装置还包括:发送模块,用于在确定所述待提交任务中的参数解析失败的情况下,发送提示信息,其中,所述提示信息用于表示所述参数aj与所述参数aj′不相同。
进一步地,所述装置还包括:第二接收单元,用于在所述提交单元将转化为所述预设格式的所述待提交任务提交至所述目标服务器之后,接收来自目标服务器的反馈消息,其中,所述反馈消息为包含所述待提交任务的提交结果的消息;以及发送单元,用于发送所述反馈消息至第二目标应用程序,其中,所述第二目标应用程序为向所述第一目标应用程序发送所述待提交任务的程序。
在本申请实施例中,采用查询目标接口是否被调用,其中,所述目标接口为第一目标应用程序接收待提交任务的接口,所述第一目标应用程序为用于提交所述待提交任务至目标服务器的程序;在查询到所述目标接口被调用的情况下,通过所述目标接口接收所述待提交任务;将接收到的所述待提交任务的格式转化为预设格式;以及将转化为所述预设格式的所述待提交任务提交至所述目标服务器,其中,所述预设格式为所述目标服务器中任务的格式的方式。通过目标接口将目标程序中的目标任务发送至目标服务器,在发送至目标服务器之前,需将目标任务转化为预设格式,转化为预设格式之后再发送至目标服务器,相对于现有技术中不能通过应用程序提交Spark任务的情况,达到了更便捷地递交Spark任务的目的,从而实现了目标接口就可以提交Spark任务至的Spark集群的技术效果,进而解决了现有技术中Spark任务的提交效率比较低的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种任务的提交方法的流程图;
图2是根据本申请实施例的一种可选的任务的提交方法的流程框图;
图3是根据本申请实施例的另一种可选的任务的提交方法的流程图;以及
图4是根据本申请实施例的一种任务的提交装置的示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,对本申请实施例所涉及到的技术术语作如下解释:
Rest接口:又名RESTful接口,REST(REpresentation State Transfer)描述了一个架构样式的网络系统,比如web应用程序。它首次出现在2000年Roy Fielding的博士论文中,他是http规范的主要编写者之一。REST指的是一组架构约束条件和原则。满足这些约束条件和原则的应用程序或设计就是RESTful。
Spark:是UC Berkeley AMP lab所开源的并行计算框架,主要用于处理大数据量下批量处理和准实时计算。任务是在spark中执行的用户编写的业务功能代码。
Soap协议:简单对象访问协议是交换数据的一种协议规范,是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,它被设计成在WEB上交换结构化的和固化的信息。
Socket,英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作“套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。
根据本申请实施例,提供了一种任务的提交方法的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图1是根据本申请实施例的一种任务的提交方法的流程图,如图1所示,该方法包括如下步骤S102至步骤S108:
步骤S102,查询目标接口是否被调用,其中,目标接口为第一目标应用程序接收待提交任务的接口,第一目标应用程序为用于提交待提交任务至目标服务器的程序。
需要说明的是,本申请实施例中的待提交任务为用户编写的业务功能代码,需将待提交任务通过目标接口提交至Spark集群中。其中,目标接口由用于提交待提交任务至目标服务器的程序提供,即,由第一目标应用程序作为任务代理(Job agent)提供目标接口,Job agent可以为用户设计的一种程序模块,在提交待提交程序之前,已将该Job agent部署于Spark集群服务器中,该程序模块中对外提供目标接口,通过该接口提交待提交任务。
步骤S104,在查询到目标接口被调用的情况下,通过目标接口接收待提交任务。
在无待提交任务时,目标接口处于空闲的状态。在提交待提交任务时,Job agent查询该目标接口是否正在被调用,若查询到该目标接口被待提交任务调用,则可以进行待提交任务的接收。
步骤S106,将接收到的待提交任务的格式转化为预设格式,其中,预设格式为目标服务器中任务的格式。
当通过目标接口提交待提交任务至Spark集群中时,需将待提交任务转化成预设格式,预设格式即为Spark集群原生任务的标准格式。
步骤S108,将转化为预设格式的待提交任务提交至目标服务器。
将已转为预设格式的待提交任务提交至Spark集群中,也即目标服务器。
在本申请实施例中,通过目标接口将目标程序中的目标任务发送至目标服务器,在发送至目标服务器之前,需将目标任务转化为预设格式,转化为预设格式之后再发送至目标服务器,相对于现有技术中不能通过应用程序提交Spark任务的情况,达到了更便捷地递交Spark任务的目的,从而实现了目标接口就可以提交Spark任务至Spark集群的技术效果,进而解决了现有技术中Spark任务的提交效率比较低的技术问题。
具体地,待提交任务可以为Spark任务,该目标接口为rest接口,在本申请实施例中,以待提交任务为Spark任务,目标接口以rest接口为例进行说明。
可选地,将接收到的待提交任务的格式转化为预设格式之前,还包括步骤S1至步骤S3,其中:
步骤S1,对待提交任务中的参数进行解析,其中,在待提交任务中的参数解析成功的情况下,将接收到的待提交任务的格式转化为预设格式,待提交任务中的参数的类型至少为一种。
步骤S3,存储程序包于目标服务器中,其中,程序包为待提交任务在目标服务器中执行的应用程序的jar包。
具体地,Spark任务包括参数和程序包,当Spark任务提交至rest接口时,即将该参数和程序包提交至rest接口。当rest接口接收到该参数之后,即对该参数进行解析,并将该程序包存储与目标服务器中,其中,程序包为执行应用程序的jar包,格式为“.jar”。
可选地,步骤S1对待提交任务中的参数进行解析包括步骤S11:将待提交任务中的参数ai与预设标准参数中的参数ai′进行对比,其中,参数ai的类型与参数ai′的类型相同,i依次取1至n的自然数,参数a1至参数an组成待提交任务中的参数,在对比出参数a1至参数an与预设标准参数中的参数a1′至参数an′一一对应相同的情况下,确定待提交任务中的参数解析成功,在对比出参数aj与预设标准参数中的参数aj′不相同的情况下,确定待提交任务中的参数解析失败,j∈[1,n]。
需要说明的是,在Spark集群服务器中已存储各类型的预设标准参数,该预设标准参数用于将rest接口接收到的参数与预设标准参数进行比,其中,预设标准参数的类型为多个。Spark任务中的参数用ai表示,将该参数ai与预设标准参数中与该参数ai同类型的参数ai′进行对比,当Spark任务中的参数a1至参数an与预设标准参数一一对应,全部对应相同的情况下,表明参数解析成功,可将该Spark任务通过rest接口提交至Spark集群中。
可选地,步骤S106将接收到的待提交任务的格式转化为预设格式包括如下步骤S5,其中:
步骤S5,分别将第一格式和第二格式转化为预设格式,其中,第一格式为待提交任务中的参数的格式,第二格式为程序包的格式。
具体地,当获取到已解析成功的Spark任务的参数列表和程序包的jar包之后,将参数列表以及该程序包所在的路径拼装成submit命令能解析的命令格式,并生成一个“.sh”格式的shell命令文件。最后Job agent执行该“.sh”格式的shell命令文件,执行任务的提交,利用Spark集群提供的submit命令提交Spark任务至Spark集群。
需要说明的是,Spark任务的参数中只要是Spark submit命令支持的参数都可以按照Shell命令文件生成“.sh”格式的文件,并且,只要支持http协议的工具,都能很好的提交spark任务。其中,Spark任务的参数可以以列表的形式存储于目标服务器的本地文件系统中。
进一步地,本申请提供的任务的提交方法还包括如下步骤S7,其中:
步骤S7,在确定待提交任务中的参数解析失败的情况下,发送提示信息,其中,提示信息用于表示参数aj与参数aj′不相同。
具体地,当Spark任务中的参数aj与预设标准参数中的参数aj′不相同的情况下,表明Spark任务中的参数解析失败,此时将提示信息发送至第一目标应用程序,以使用户及时查询Spark任务的提交失败的原因。
例如,当Spark任务中的参数总量为32G的情况下,而预设标准参数的参数总量小于32G,此时,表明该Spark任务的参数与预设标准参数不相同,该解析失败。
可选地,在步骤S108将转化为预设格式的待提交任务提交至目标服务器之后,本申请提供的任务的提交方法还包括如下步骤S9至步骤S11:
步骤S9,接收来自目标服务器的反馈消息,其中,反馈消息为包含待提交任务的提交结果的消息。
步骤S11,发送反馈消息至第二目标应用程序,其中,第二目标应用程序为向第一目标应用程序发送待提交任务的程序。
具体地,通过Job agent提交Spark任务至Spark集群之后,Spark集群会反馈Spark任务的提交情况,例如,提交成功或者提交失败,Job agent将此反馈信息发送至Spark任务所在的目标应用程序中,即第二目标应用程序。第二目标应用程序可将该反馈信息反馈至用户,以便用户知晓Spark任务的提交情况。
图2是根据本申请实施例的一种可选的任务的提交方法的流程框图,如图2所示,任务提交过程主要通过第一目标应用程序、任务代理(Job agent)和Spark集群来进行,其中:
任务代理(Job agent)内部主要由三部分组成:
第一部分:对外的rest接口部分,即上述实施例中的目标接口。
第二部分:Job agent内部的任务格式转换部分。
第三部分:Job agent底层的spark原始任务执行部分。
具体地,在本申请实施例中,待提交任务为spark任务。
对外的rest接口部分:该部分主要对第一目标应用程序中的spark任务提供rest接口。该rest接口包括运行待spark任务所需要的参数和spark任务的程序包,即jar包,这两部分参数,该两部分参数通过http协议传输到Job agent。
任务格式转换部分:当rest接口接收到第一目标应用程序提交的待提交任务后,需要把待提交任务提交的jar包,待提交任务所带的参数转换为spark集群原生任务的标准格式,即“.sh”格式的shell命令文件,其中,该两部分参数通过http协议传输到Job agent。
Job agent底层的spark原始任务执行部分:任务格式转换部分拿到解析完后的参数列表和jar包所在路径,拼装成submit命令能解析的命令格式,并生成一个“.sh”格式的shell命令文件,Job agent最后执行该“.sh”命令文件执行任务提交。
图3是根据本申请实施例的另一种可选的任务的提交方法的流程图,如图3所示,该方法包括如下步骤S202至步骤S208:
S202:第一目标应用程序利用rest接口调用Job agent程序,并提交具体的spark任务,其中,在spark集群所在的目标服务器中已部署好Job agent。
S204:Job agent利用spark原生提交任务的方式提交外部程序提交的任务,其中,当利用spark原生提交任务的方式提交spark任务时,需根据Job agent程序将spark任务中的参数和jar包转换为目标格式,其中,目标格式为spark集群所识别的任务格式,例如“.sh”格式的shell命令文件。
S206:spark集群反馈任务提交情况。其中,提交情况包括提交成功或提交失败。
S208:Job agent反馈spark集群反馈的信息给第一目标应用程序。
本申请实施例还提供了一种任务的提交装置,该提交装置主要用于执行本申请实施例上述内容所提供的任务的提交方法,以下对本申请实施例提供的任务的提交装置做具体介绍。
图4是根据本申请实施例的一种任务的提交装置的示意图,如图4所示,该装置包括:查询单元10、第一接收单元20、转化单元30和提交单元40,其中:
查询单元10,用于查询目标接口是否被调用,其中,目标接口为第一目标应用程序接收待提交任务的接口,第一目标应用程序为用于提交待提交任务至目标服务器的程序。
需要说明的是,本申请实施例中的待提交任务为用户编写的业务功能代码,需将待提交任务通过目标接口提交至Spark集群中。其中,目标接口由用于提交待提交任务至目标服务器的程序提供,即,由第一目标应用程序作为任务代理(Job agent)提供目标接口,Job agent为用户设计的一种程序模块,在提交待提交程序之前,已将该Job agent部署于Spark集群服务器中,该程序模块中对外提供目标接口,通过该接口提交待提交任务。
第一接收单元20,用于在查询到目标接口被调用的情况下,通过目标接口接收待提交任务。
在没有待提交任务时,目标接口处于空闲的状态。在提交待提交任务时,Jobagent查询该目标接口是否正在被调用,若查询到该目标接口被待提交任务调用,则可以进行接收该待提交任务。
转化单元30,用于将接收到的待提交任务的格式转化为预设格式,其中,预设格式为目标服务器中任务的格式。
当通过目标接口提交待提交任务至Spark集群中时,需将待提交任务转化成预设格式,预设格式即为Spark集群原生任务的标准格式。
提交单元40,用于将转化为预设格式的待提交任务提交至目标服务器。
将已转为预设格式的待提交任务提交至Spark集群服务器中,也即目标服务器。
在本申请实施例中,通过目标接口将目标程序中的目标任务发送至目标服务器,在发送至目标服务器之前,需将目标任务转化为预设格式,转化为预设格式之后再发送至目标服务器,相对于现有技术中不能通过应用程序提交Spark任务的情况,达到了更便捷地递交Spark任务的目的,从而实现了目标接口就可以提交Spark任务至Spark集群的技术效果,进而解决了现有技术中Spark任务的提交效率比较低的技术问题。
可选地,本申请提供的任务的提交装置还包括解析单元和存储单元,其中:
解析单元,用于在转化单元将接收到的待提交任务的格式转化为预设格式之前,对待提交任务中的参数进行解析,其中,在待提交任务中的参数解析成功的情况下,将接收到的待提交任务的格式转化为预设格式,待提交任务中的参数的类型至少为一种。
存储单元,用于存储程序包于目标服务器中,其中,程序包为待提交任务在目标服务器中执行的应用程序的jar包。
具体地,Spark任务包括参数和程序包,当Spark任务提交至rest接口时,即将该参数和程序包提交至rest接口。当rest接口接收到该参数之后,通过解析单元对该参数进行解析,并通过存储单元将该程序包存储与目标服务器中,其中,程序包为执行应用程序的jar包,格式为“.jar”。
可选地,解析单元包括:对比模块,用于将待提交任务中的参数ai与预设标准参数中的参数ai′进行对比,其中,参数ai的类型与参数ai′的类型相同,i依次取1至n的自然数,参数a1至参数an组成待提交任务中的参数,在对比出参数a1至参数an与预设标准参数中的参数a1′至参数an′一一对应相同的情况下,确定待提交任务中的参数解析成功,在对比出参数aj与预设标准参数中的参数aj′不相同的情况下,确定待提交任务中的参数解析失败,j∈[1,n]。
需要说明的是,在Spark集群服务器中已存储各类型的预设标准参数,通过对比模块将rest接口接收到的参数与预设标准参数进行比,其中,预设标准参数的类型为多个。Spark任务中的参数用ai表示,将该参数ai与预设标准参数中与该参数ai同类型的参数ai′进行对比,当Spark任务中的参数a1至参数an与预设标准参数一一对应,全部对应相同的情况下,表明参数解析成功,可将该Spark任务通过rest接口提交至Spark集群中。
可选地,转化单元30包括:转化模块,用于分别将第一格式和第二格式转化为预设格式,其中,第一格式为待提交任务中的参数的格式,第二格式为程序包的格式。
具体地,当获取到已解析成功的Spark任务的参数列表和程序包的jar包之后,将参数列表以及该程序包所在的路径拼装成submit命令能解析的命令格式,并生成一个“.sh”格式的shell命令文件。最后Job agent执行该“.sh”格式的shell命令文件,执行任务的提交,利用Spark集群提供的submit命令提交Spark任务至Spark集群。
需要说明的是,Spark任务的参数中只要是Spark submit命令支持的参数都可以按照Shell命令文件生成“.sh”格式的文件,并且,只要支持http协议的工具,都能很好的提交spark任务。其中,Spark任务的参数可以以列表的形式存储于目标服务器的本地文件系统中。
可选地,本申请提供的任务的提交装置还包括:发送模块,用于在确定待提交任务中的参数解析失败的情况下,发送提示信息,其中,提示信息用于表示参数aj与参数aj′不相同。
具体地,当Spark任务中的参数aj与预设标准参数中的参数aj′不相同的情况下,表明Spark任务中的参数解析失败,此时通过发送模块发送提示信息至第一目标应用程序。
例如,当Spark任务中的参数总量为32G的情况下,而预设标准参数的参数总量小于32G,此时,表明该Spark任务的参数与预设标准参数不相同,该解析失败。
可选地,本申请提供的任务的提交装置还包括:第二接收单元和发送单元,其中:
第二接收单元,用于在提交单元将转化为预设格式的待提交任务提交至目标服务器之后,接收来自目标服务器的反馈消息,其中,反馈消息为包含待提交任务的提交结果的消息。发送单元,用于发送反馈消息至第二目标应用程序,其中,第二目标应用程序为向第一目标应用程序发送待提交任务的程序。
具体地,通过Job agent提交Spark任务至Spark集群之后,Spark集群会反馈Spark任务的提交情况,通过第二接收单元接收Spark集群反馈的信息,例如,提交成功或者提交失败,Job agent通过发送单元将此反馈信息发送至Spark任务所在的目标应用程序中,即第二目标应用程序。第二目标应用程序可将该反馈信息反馈至用户,以便用户知晓Spark任务的提交情况。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (12)

1.一种任务的提交方法,其特征在于,包括:
查询目标接口是否被调用,其中,所述目标接口为第一目标应用程序接收待提交任务的接口,所述第一目标应用程序为用于提交所述待提交任务至目标服务器的程序;
在查询到所述目标接口被调用的情况下,通过所述目标接口接收所述待提交任务;
将接收到的所述待提交任务的格式转化为预设格式,其中,所述预设格式为目标服务器中任务的格式;以及
将转化为所述预设格式的所述待提交任务提交至所述目标服务器;
其中,在将接收到的所述待提交任务的格式转化为预设格式之前,所述方法还包括:对所述待提交任务中的参数进行解析,其中,在所述待提交任务中的参数解析成功的情况下,将接收到的所述待提交任务的格式转化为预设格式,所述待提交任务中的参数的类型至少为一种。
2.根据权利要求1所述的方法,其特征在于,在将接收到的所述待提交任务的格式转化为预设格式之前,所述方法还包括:
存储程序包于所述目标服务器中,其中,所述程序包为所述待提交任务在所述目标服务器中执行的应用程序的jar包。
3.根据权利要求2所述的方法,其特征在于,对所述待提交任务中的参数进行解析包括:
将所述待提交任务中的参数ai与预设标准参数中的参数ai′进行对比,其中,所述参数ai的类型与所述参数ai′的类型相同,i依次取1至n的自然数,参数a1至参数an组成所述待提交任务中的参数,在对比出所述参数a1至所述参数an与所述预设标准参数中的参数a1′至参数an′一一对应相同的情况下,确定所述待提交任务中的参数解析成功,在对比出参数aj与所述预设标准参数中的参数aj′不相同的情况下,确定所述待提交任务中的参数解析失败,j∈[1,n]。
4.根据权利要求2或3所述的方法,其特征在于,将接收到的所述待提交任务的格式转化为预设格式包括:
分别将第一格式和第二格式转化为所述预设格式,其中,所述第一格式为所述待提交任务中的参数的格式,所述第二格式为所述程序包的格式。
5.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在确定所述待提交任务中的参数解析失败的情况下,发送提示信息,其中,所述提示信息用于表示所述参数aj与所述参数aj′不相同。
6.根据权利要求1所述的方法,其特征在于,在将转化为所述预设格式的所述待提交任务提交至所述目标服务器之后,所述方法还包括:
接收来自所述目标服务器的反馈消息,其中,所述反馈消息为包含所述待提交任务的提交结果的消息;以及
发送所述反馈消息至第二目标应用程序,其中,所述第二目标应用程序为向所述第一目标应用程序发送所述待提交任务的程序。
7.一种任务的提交装置,其特征在于,包括:
查询单元,用于查询目标接口是否被调用,其中,所述目标接口为第一目标应用程序接收待提交任务的接口,所述第一目标应用程序为用于提交所述待提交任务至目标服务器的程序;
第一接收单元,用于在查询到所述目标接口被调用的情况下,通过所述目标接口接收所述待提交任务;
转化单元,用于将接收到的所述待提交任务的格式转化为预设格式,其中,所述预设格式为目标服务器中任务的格式;以及
提交单元,用于将转化为所述预设格式的所述待提交任务提交至所述目标服务器;
解析单元,用于在所述转化单元将接收到的所述待提交任务的格式转化为预设格式之前,对所述待提交任务中的参数进行解析,其中,在所述待提交任务中的参数解析成功的情况下,将接收到的所述待提交任务的格式转化为预设格式,所述待提交任务中的参数的类型至少为一种。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
存储单元,用于存储程序包于所述目标服务器中,其中,所述程序包为所述待提交任务在所述目标服务器中执行的应用程序的jar包。
9.根据权利要求8所述的装置,其特征在于,所述解析单元包括:
对比模块,用于将所述待提交任务中的参数ai与预设标准参数中的参数ai′进行对比,其中,所述参数ai的类型与所述参数ai′的类型相同,i依次取1至n的自然数,参数a1至参数an组成所述待提交任务中的参数,在对比出所述参数a1至所述参数an与所述预设标准参数中的参数a1′至参数an′一一对应相同的情况下,确定所述待提交任务中的参数解析成功,在对比出参数aj与所述预设标准参数中的参数aj′不相同的情况下,确定所述待提交任务中的参数解析失败,j∈[1,n]。
10.根据权利要求8或9所述的装置,其特征在于,所述转化单元包括:
转化模块,用于分别将第一格式和第二格式转化为所述预设格式,其中,所述第一格式为所述待提交任务中的参数的格式,所述第二格式为所述程序包的格式。
11.根据权利要求9所述的装置,其特征在于,所述装置还包括:
发送模块,用于在确定所述待提交任务中的参数解析失败的情况下,发送提示信息,其中,所提示信息用于表示所述参数aj与所述参数aj′不相同。
12.根据权利要求7所述的装置,其特征在于,所述装置还包括:
第二接收单元,用于在所述提交单元将转化为所述预设格式的所述待提交任务提交至所述目标服务器之后,接收来自目标服务器的反馈消息,其中,所述反馈消息为包含所述待提交任务的提交结果的消息;以及
发送单元,用于发送所述反馈消息至第二目标应用程序,其中,所述第二目标应用程序为向所述第一目标应用程序发送所述待提交任务的程序。
CN201510657622.6A 2015-10-13 2015-10-13 任务提交的方法和装置 Active CN106569789B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510657622.6A CN106569789B (zh) 2015-10-13 2015-10-13 任务提交的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510657622.6A CN106569789B (zh) 2015-10-13 2015-10-13 任务提交的方法和装置

Publications (2)

Publication Number Publication Date
CN106569789A CN106569789A (zh) 2017-04-19
CN106569789B true CN106569789B (zh) 2020-06-12

Family

ID=58508722

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510657622.6A Active CN106569789B (zh) 2015-10-13 2015-10-13 任务提交的方法和装置

Country Status (1)

Country Link
CN (1) CN106569789B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108062251B (zh) * 2018-01-09 2023-02-28 福建星瑞格软件有限公司 一种服务器资源回收方法以及计算机设备
CN110889108B (zh) * 2019-11-26 2022-02-08 网易(杭州)网络有限公司 spark任务的提交方法、装置和服务器
CN111158872B (zh) * 2019-12-16 2023-06-16 北京明朝万达科技股份有限公司 一种提交并守护spark任务的方法及装置
CN111814435A (zh) * 2020-07-22 2020-10-23 济南浪潮数据技术有限公司 一种数据库数据传输方法、装置、设备及可读存储介质
CN112328385B (zh) * 2021-01-04 2021-04-06 鹏城实验室 基于插件化的多场景Kubernetes任务提交方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101206568A (zh) * 2007-12-07 2008-06-25 华中科技大学 一种基于Web的网格应用程序接口系统
US7509244B1 (en) * 2004-12-22 2009-03-24 The Mathworks, Inc. Distributed model compilation
CN102404356A (zh) * 2010-09-10 2012-04-04 捷达世软件(深圳)有限公司 远程函数调用传送适配器及其读取数据的方法
CN103020062A (zh) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 一种基于xml rpc的前端与服务器的交互实现

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120173476A1 (en) * 2011-01-04 2012-07-05 Nasir Rizvi System and Method for Rule-Based Asymmetric Data Reporting
CN103294481A (zh) * 2013-06-27 2013-09-11 曙光信息产业(北京)有限公司 用于cst计算程序的处理方法
CN104281455A (zh) * 2014-10-11 2015-01-14 北京金山安全软件有限公司 一种接口调用方法、装置及终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7509244B1 (en) * 2004-12-22 2009-03-24 The Mathworks, Inc. Distributed model compilation
CN101206568A (zh) * 2007-12-07 2008-06-25 华中科技大学 一种基于Web的网格应用程序接口系统
CN102404356A (zh) * 2010-09-10 2012-04-04 捷达世软件(深圳)有限公司 远程函数调用传送适配器及其读取数据的方法
CN103020062A (zh) * 2011-09-20 2013-04-03 佳都新太科技股份有限公司 一种基于xml rpc的前端与服务器的交互实现

Also Published As

Publication number Publication date
CN106569789A (zh) 2017-04-19

Similar Documents

Publication Publication Date Title
JP7463544B2 (ja) ブロックチェーンメッセージ処理方法、装置、コンピュータデバイスおよびコンピュータプログラム
CN106569789B (zh) 任务提交的方法和装置
US6043898A (en) Method and system for concurrently executing multiple spooling systems in a networked computer system
US10075549B2 (en) Optimizer module in high load client/server systems
WO2017020722A1 (zh) 基于虚拟机的数据传输方法、装置及系统
CN105100232A (zh) 一种不中断服务的服务端程序平滑升级的方法
CN111683066B (zh) 异构系统集成方法、装置、计算机设备和存储介质
CN105450712B (zh) 一种数据传输方法及装置
CN107347062A (zh) 一种日志数据处理的方法、电子设备和可读存储介质
CN105082540A (zh) 一种通过3d切片装置控制3d打印机的方法
US20130290453A1 (en) System and method for a connector being able to adapt to newer features introduced to a messaging provider with only configuration changes
CN104135536A (zh) 一种基于json数据协议的Web管理系统数据交互方法
CN114500690A (zh) 接口数据处理方法、装置、电子设备及存储介质
CN1973282A (zh) 用于管理针对集群配置的改变的系统和方法
CN105190530A (zh) 传输硬件渲染的图形数据
JP2009123201A (ja) データを処理するためのサーバ‐プロセッサ・ハイブリッド・システムおよび方法
US20120323975A1 (en) Presentation software automation services
CN113641700A (zh) 一种基于Spring boot框架的数据处理方法及装置
CN107025115B (zh) 一种适配多种接口采集的方法
CN105681343A (zh) 一种基于arm架构的状态控制协议的处理方法及其装置
CN113986811B (zh) 一种高性能内核态网络数据包加速方法
CN105786732A (zh) 数据访问方法及装置
CN110597783B (zh) 数据库管理方法、装置、设备及存储介质
CN102148702A (zh) 一种使用网络配置协议进行网络管理的方法
US7568194B2 (en) Method and system for availability checking on distributed objects

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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing

Applicant after: Beijing Guoshuang Technology Co.,Ltd.

Address before: 100086 Cuigong Hotel, 76 Zhichun Road, Shuangyushu District, Haidian District, Beijing

Applicant before: Beijing Guoshuang Technology Co.,Ltd.

GR01 Patent grant
GR01 Patent grant