CN114610461B - 一种任务处理方法及装置 - Google Patents

一种任务处理方法及装置 Download PDF

Info

Publication number
CN114610461B
CN114610461B CN202210265806.8A CN202210265806A CN114610461B CN 114610461 B CN114610461 B CN 114610461B CN 202210265806 A CN202210265806 A CN 202210265806A CN 114610461 B CN114610461 B CN 114610461B
Authority
CN
China
Prior art keywords
task
client
information
engine
task engine
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
CN202210265806.8A
Other languages
English (en)
Other versions
CN114610461A (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 Volcano Engine Technology Co Ltd
Original Assignee
Beijing Volcano Engine 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 Volcano Engine Technology Co Ltd filed Critical Beijing Volcano Engine Technology Co Ltd
Priority to CN202210265806.8A priority Critical patent/CN114610461B/zh
Publication of CN114610461A publication Critical patent/CN114610461A/zh
Priority to PCT/CN2023/080489 priority patent/WO2023174151A1/zh
Application granted granted Critical
Publication of CN114610461B publication Critical patent/CN114610461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/54Indexing scheme relating to G06F9/54
    • G06F2209/544Remote

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请提供了一种任务处理方法,第一服务端可以接收客户端发送的第一任务处理请求,而后,确定处理第一任务处理请求的任务引擎的信息,其中,任务引擎的信息可以用于与任务引擎建立连接。进一步地,第一服务端可以将任务引擎的信息和客户端的标识对应存储在外部存储器中。这样一来,当第一服务端故障之后,其它服务端可以基于外部存储器中对应存储的任务引擎的信息和客户端的标识,确定任务引擎的信息,并进一步利用任务引擎的信息与任务引擎建立连接,从而利用任务引擎继续处理客户端发起的任务。由此可见,利用本方案,即使第一服务端故障,客户端发起的任务也不会处理中断,从而提升了任务处理的可靠性。

Description

一种任务处理方法及装置
技术领域
本申请涉及计算机技术领域,特别是涉及一种任务处理方法及装置。
背景技术
在一些场景中,客户端(client)可以将任务处理请求发送给服务端(server),由服务端对该任务进行处理。在一个示例中,服务端可以利用任务引擎对该任务进行处理。
目前,若任务的处理时间较长,在任务的处理过程中,若服务端故障,即使任务引擎运行正常,该任务也会被迫终止,需要将该任务重新再处理一遍,从而导致任务处理的可靠度比较低。
因此,急需一种方案,能够解决上述问题。
发明内容
本申请所要解决的技术问题是如何提升任务处理的可靠度,提供一种任务处理方法及装置。
第一方面,本申请实施例提供了一种任务处理方法,应用于第一服务端,所述方法包括:
接收客户端发送的第一任务处理请求;
确定处理所述第一任务处理请求的任务引擎的信息;
将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中。
可选的,所述方法还包括:
将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
可选的,所述将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中,包括:
若所述第一任务处理请求与任务执行环境相关,将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
可选的,所述方法还包括:
接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
可选的,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
可选的,所述任务引擎的信息,还包括:
所述任务引擎的标识。
可选的,所述第一服务端为HiveServer2。
可选的,所述第一任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
可选的,所述外部存储器为ZooKeeper的存储器。
第二方面,本申请实施例提供了一种任务处理方法,应用于第二服务端,所述方法包括:
接收客户端发送的第二任务处理请求;
基于所述客户端的标识从外部存储器中查找任务引擎的信息,所述外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系;
基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
可选的,所述方法还包括:
基于所述客户端的标识从外部存储器中查找与所述客户端对应的历史任务处理请求,所述历史任务请求中包括与任务执行环境相关的请求,所述外部存储器中包括所述客户端的标识和所述历史任务处理请求之间的对应关系;
处理查找获得的与所述任务执行环境相关的请求。
可选的,所述方法还包括:
接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
可选的,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
可选的,所述任务引擎的信息,还包括:
所述任务引擎的标识。
可选的,所述第二服务端为HiveServer2。
可选的,所述第一任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
可选的,所述外部存储器为ZooKeeper的存储器。
第三方面,本申请实施例提供了一种任务处理方法,所述方法包括:
第一服务端接收客户端发送的第一任务处理请求;
所述第一服务端确定处理所述第一任务处理请求的任务引擎的信息;
所述第一服务端将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中;
在所述第一服务端故障后,第二服务端接收所述客户端发送的第二任务处理请求;
所述第二服务端基于所述客户端的标识从所述外部存储器中查找得到所述任务引擎的信息;
所述第二服务端基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
第四方面,本申请实施例提供了一种任务处理装置,应用于第一服务端,所述装置包括:
第一接收单元,用于接收客户端发送的第一任务处理请求;
确定单元,用于确定处理所述第一任务处理请求的任务引擎的信息;
第一存储单元,用于将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中。
可选的,所述装置还包括:
第二存储单元,用于将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
可选的,所述第二存储单元,用于:
若所述第一任务处理请求与任务执行环境相关,将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
可选的,所述装置还包括:
第二接收单元,用于接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
可选的,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
可选的,所述任务引擎的信息,还包括:
所述任务引擎的标识。
可选的,所述第一服务端为HiveServer2。
可选的,所述任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
可选的,所述外部存储器为ZooKeeper的存储器。
第五方面,本申请实施例提供了一种任务处理装置,应用于第二服务端,所述装置包括:
第一接收单元,用于接收客户端发送的第二任务处理请求;
第一查找单元,用于基于所述客户端的标识从外部存储器中查找任务引擎的信息,所述外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系;
第一处理单元,用于基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
可选的,所述装置还包括:
第二查找单元,用于基于所述客户端的标识从外部存储器中查找与所述客户端对应的历史任务处理请求,所述历史任务请求中包括与任务执行环境相关的请求,所述外部存储器中包括所述客户端的标识和所述历史任务处理请求之间的对应关系;
第二处理单元,用于处理查找获得的与所述任务执行环境相关的请求。
可选的,所述装置还包括:
第二接收单元,用于接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
可选的,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
可选的,所述任务引擎的信息,还包括:
所述任务引擎的标识。
可选的,所述第二服务端为HiveServer2。
可选的,所述第二任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
可选的,所述外部存储器为ZooKeeper的存储器。
第六方面,本申请实施例提供了一种任务处理装置,所述装置包括:
应用于所述第一服务端的第一接收单元、确定单元和第一存储单元;以及,应用于所述第二服务端的第二接收单元、查找单元和处理单元;
所述第一接收单元,用于接收客户端发送的第一任务处理请求;
所述确定单元,用于确定处理所述第一任务处理请求的任务引擎的信息;
所述第一存储单元,用于将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中;
所述第二接收单元,用于在所述第一服务端故障后,接收所述客户端发送的第二任务处理请求;
所述查找单元,用于基于所述客户端的标识从所述外部存储器中查找得到所述任务引擎的信息;
所述处理单元,用于基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
第七方面,本申请实施例提供了一种设备,所述设备包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行如以上第一方面中任一项所述的方法,或者,以使得所述设备执行如以上第二方面中任一项所述的方法,或者,以使得所述设备执行如以上第三方面所述的方法。
第八方面,本申请实施例提供了一种计算机可读存储介质,包括指令,所述指令指示设备执行如以上第一方面中任一项所述的方法,或者,所述指令指示设备执行如以上第二方面中任一项所述的方法,或者,所述指令指示设备执行如以上第三方面所述的方法,。
第九方面,本申请实施例提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行以上第一方面任一项所述的方法,或者,所述指令指示设备执行如以上第二方面中任一项所述的方法,或者,所述指令指示设备执行如以上第三方面所述的方法。
与现有技术相比,本申请实施例具有以下优点:
本申请实施例提供了一种任务处理方法,所述方法可以由第一服务端执行,在一个示例中,第一服务端可以接收客户端发送的第一任务处理请求,而后,确定处理所述第一任务处理请求的任务引擎的信息,其中,所述任务引擎的信息可以用于与所述任务引擎建立连接。进一步地,所述第一服务端可以将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中。这样一来,当所述第一服务端故障之后,其它服务端可以基于所述外部存储器中对应存储的任务引擎的信息和所述客户端的标识,确定所述任务引擎的信息,并进一步利用所述任务引擎的信息与所述任务引擎建立连接,从而利用所述任务引擎继续处理所述客户端发起的任务。由此可见,利用本方案,即使所述第一服务端故障,所述客户端发起的任务也不会处理中断,从而提升了任务处理的可靠性。
本申请实施例提供了一种任务处理方法,该方法可以由第二服务端执行,在一个示例中,第二服务端可以接收客户端发送的第二任务处理请求,而后,基于所述客户端的标识从外部存储器中查找任务引擎的信息,所述外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系。确定任务引擎的信息之后,第二服务端可以基于所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。由此可见,利用本方案,在处理所述客户端发起的任务的第一服务端故障的情况下,第二服务端可以确定所述任务引擎的信息,从而进一步利用所述任务引擎处理第二任务处理请求,从而避免所述客户端发起的任务处理中断,从而提升了任务处理的可靠性。
本申请实施例提供了一种任务处理方法,第一服务端可以接收客户端发送的第一任务处理请求,而后,确定处理所述第一任务处理请求的任务引擎的信息,其中,所述任务引擎的信息可以用于与所述任务引擎建立连接。进一步地,所述第一服务端可以将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中。这样一来,当所述第一服务端故障之后,第二服务端可以接收客户端发送的第二任务处理请求,而后,基于所述客户端的标识从外部存储器中查找任务引擎的信息。确定任务引擎的信息之后,第二服务端可以基于所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。由此可见,利用本方案,在处理所述客户端发起的任务的第一服务端故障的情况下,第二服务端可以确定所述任务引擎的信息,从而进一步利用所述任务引擎处理第二任务处理请求,从而避免所述客户端发起的任务处理中断,从而提升了任务处理的可靠性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用场景的示意图;
图2为本申请实施例提供的一种任务处理方法的流程示意图;
图3为本申请实施例提供的又一种任务处理方法的流程示意图;
图4为本申请实施例提供的一种任务处理方法的信令交互图;
图5为本申请实施例提供的一种任务处理装置的结构示意图;
图6为本申请实施例提供的一种任务处理装置的结构示意图;
图7为本申请实施例提供的一种任务处理装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为方便理解,首先对本申请实施例可能的应用场景进行简单介绍。
参见图1,该图为本申请实施例提供的一种应用场景的示意图。如图1所示,client101可以向HiveServer2 102发送结构化查询语言(Structured Query Language,SQL)语句,HiveServer2 102对该SQL语句进行解析,并转换为map(映射)或者reduce(归约)任务,而后,利用任务引擎应用程序主机(ApplicationMaster,AM)103对该map或者reduce任务进行处理。其中:
HiveServer2 102为hive的服务器,hive是基于Hadoop构建的一套数据仓库分析系统,它提供了丰富的SQL查询方式来分析存储在Hadoop分布式文件系统中的数据。关于hive,此处不做详细说明。
另外,client 101和HiveServer2 102可以和ZooKeeper104进行交互。ZooKeeper104是一个分布式、高可用性的协调服务。ZooKeeper104可以为hive提供负载均衡功能。HiveServer2 102可以将其对应的互联网协议(Internet Protocol,IP)地址和端口号(Port)保存到ZooKeeper 104中,client 101连接HiveServer2 102时,通过ZooKeeper104获得HiveServer2 102的IP地址从而与HiveServer2 102进行连接。当部署多个HiveServer2时,client 101随机连接一个HiveServer2,从而起到负载均衡作用。
HiveServer2经常用于离线数仓场景中,对于这种情况,HiveServer2处理的任务所需的时间较长。但是,当HiveServer2故障之后,即使AM能够正常处理任务,整个任务也会被强制结束。举例说明,任务处理了一个小时后,由于hiveServer2故障,导致了任务被迫停止。
因此,当前HiveServer2的任务处理方式,导致任务处理的可靠性不高。
为了解决上述问题,本申请实施例提供的一种任务处理方法及装置。
需要说明的是,图1只是本申请实施例的一种可能的应用场景,本申请实施例的应用场景不限于图1所示的场景。
下面结合附图,详细说明本申请的各种非限制性实施方式。
示例性方法
参见图2,该图为本申请实施例提供的一种任务处理方法的流程示意图。图2所示的方法,可以由第一服务端执行,本申请实施例不具体限定所述第一服务端,在一个示例中,若图2所示的方法应用于图1所示的应用场景,则所述第一服务端可以是HiveServer2。当然,所述第一服务端也可以是其它服务端,本申请实施例不做具体限定。
所述方法例如可以包括以下步骤:S101-S103。
S101:接收客户端发送的第一任务处理请求。
在一个示例中,客户端在向第一服务端发送第一任务处理请求之前,可以与第一服务端建立连接。作为一个示例,所述客户端可以向第一服务端发送连接请求,该连接请求中可以包括所述服务端的标识。第一服务端接收所述连接请求之后,可以保存所述客户端的标识。例如,将所述客户端的标识保存在外部存储器中。
客户端和第一服务端建立连接之后,所述客户端可以向第一服务端发送第一任务处理请求,用于请求第一服务端处理对应的任务。在一个示例中,若图2所示的方法应用于图1所示的场景,则所述第一任务处理请求可以是SQL语句。
S102:确定处理所述第一任务请求的任务引擎的信息。
S103:将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中。
客户端接收到所述第一任务处理请求之后,可以利用任务引擎对该第一任务处理请求对应的任务进行处理。在一个示例中,所述第一服务端可以与任务引擎进行连接(即启动任务引擎),并在与任务引擎进行连接之后,利用该任务引擎对该第一任务处理请求对应的任务进行处理。在图1所示的场景中,所述任务引擎可以是AM。作为一个示例,所述第一服务端可以对所述SQL语句进行解析,得到对应的map或者reduce任务,并利用所述AM处理该map或者reduce任务。
在本申请实施例中,客户端接收到第一任务处理请求之后,可以首先基于客户端的标识从外部存储器中进行查找,若查找得到与所述客户端的标识对应的任务引擎的信息,则基于所述任务引擎的信息与对应的任务引擎进行连接。在未查找得到与所述客户端的标识对应的任务引擎的信息的情况下,所述客户端可以与随机选择的其中一个任务引擎建立连接。
在本申请实施例中,为了使得在所述第一服务端故障的情况下,所述客户端对应的任务能够正常被处理,所述第一服务端可以将第一处理所述任务请求的任务引擎的信息和所述客户端的标识对应存储在外部存储器中,这样一来,当所述第一服务端故障的情况下,其它服务端则能够从所述外部存储器中找到得到所述任务引擎的信息,从而基于所述任务引擎的信息与所述任务引擎建立连接,从而继续使用所述任务引擎处理所述客户端对应的任务。
在一个示例中,所述客户端可以在启动所述任务引擎之后,接收所述任务引擎发送的所述任务引擎的信息。其中,所述任务引擎的信息可以用于与所述任务引擎建立连接。在图1所示的场景中,所述第一服务端可以调用Hadoop接口启动所述任务引擎,并进一步接收所述任务引擎返回的所述任务引擎的信息。
本申请实施例不具体限定所述任务引擎的信息,在一个示例中,考虑到利用任务引擎的IP地址和端口号即可与任务引擎建立连接,因此,所述任务引擎的信息可以包括所述任务引擎的IP地址和端口号。
在又一个示例中,所述任务引擎的信息还可以用于查看与所述任务引擎的日志信息。而在查看任务引擎的日志信息时,往往采用任务引擎的标识作为索引,因此,所述任务引擎的信息,还可以包括所述任务引擎的标识。
关于所述外部存储器,需要说明的是,本申请实施例不具体限定所述外部存储器,外部存储器只要能够用于存储信息即可。在一个示例中,对于图1所示的场景,所述外部存储器例如可以是ZooKeeper的存储器。
在一个示例中,考虑到若第一服务端故障之后,利用第二服务端处理与所述客户端对应的任务,对于这种情况,所述第二服务端可能需要重新处理部分曾经处理的任务例如,需要重新处理与任务执行环境相关的任务。其中,与任务执行环境相关的任务,例如可以是需要访问的数据库表。
鉴于此,在本申请实施例中,所述第一服务端还可以将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中,这样一来,当所述第一服务端故障之后,与所述客户端连接的第二服务端即可从所述外部存储器中获得所述第一任务处理请求,相应的,在所述第一任务处理请求与任务执行环境相关时,重新处理所述第一任务处理请求。需要说明的是,在一个示例中,与环境相关的任务处理请求由所述第二服务端直接处理,无需启动任务引擎来处理。
在一个示例中,为了减少所述第一服务端与所述外部存储器的交互,也避免向外部存储器中存储过多的数据,所述第一服务端在将所述第一任务处理请求存储至外部存储器中之前,可以确定所述第一任务处理请求是否与任务执行环境相关,若所述第一任务处理请求与任务执行环境相关,则所述第一服务端将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中,若所述第一任务处理请求与任务执行环境无关,则所述第一服务端无需将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
通过以上描述可知,利用本申请实施例的方案,当所述第一服务端故障之后,其它服务端例如第二服务端可以基于所述外部存储器中对应存储的任务引擎的信息和所述客户端的标识,确定所述任务引擎的信息,并进一步与所述任务引擎建立连接,从而利用所述任务引擎继续处理所述客户端发起的任务。由此可见,利用本方案,即使所述第一服务端故障,所述客户端发起的任务也不会处理中断,从而提升了任务处理的可靠性。
接下来,以第一服务端故障,第二服务端与所述客户端建立连接,并继续处理与所述客户端相关的任务为例,介绍第二服务端执行的任务处理方法。
参见图3,该图为本申请实施例提供的又一种任务处理方法的流程示意图。图3所示的方法,可以由第二服务端执行,本申请实施例不具体限定所述第二服务端,在一个示例中,若图3所示的方法应用于图1所示的应用场景,则所述第二服务端可以是HiveServer2。当然,所述第二服务端也可以是其它服务端,本申请实施例不做具体限定。
所述方法例如可以包括以下步骤:S201-S203。
S201:接收客户端发送的第二任务处理请求。
在一个示例中,客户端在向第二服务端发送第二任务处理请求之前,可以与第二服务端建立连接。作为一个示例,所述客户端可以向第二服务端发送连接请求,该连接请求中可以包括所述服务端的标识。第二服务端基于所述连接请求,即可获得所述客户端的标识。
客户端和第二服务端建立连接之后,所述客户端可以向第二服务端发送第二任务处理请求,用于请求第二服务端处理对应的任务。在一个示例中,若图3所示的方法应用于图1所示的场景,则所述第二任务处理请求可以是SQL语句。
S202:基于所述客户端的标识从外部存储器中查找任务引擎的信息,所述外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系。
S203:基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
客户端接收到所述第二任务处理请求之后,可以利用任务引擎对该第二任务处理请求对应的任务进行处理。
在一个示例中,外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系,其中,该外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系,可以是第一服务端存储至所述外部存储器中的。所述第二服务端可以以所述客户端的标识为索引,在外部存储器中查找对应的任务引擎的信息。
关于所述任务引擎、所述任务引擎的信息以及所述外部存储器,可以参考以上S101-S103中的相关描述,此处不再重复描述。
第二服务端获得任务引擎的信息之后,可以基于所述任务引擎的信息与任务引擎进行连接,并在与任务引擎进行连接之后,利用该任务引擎对该第二任务处理请求对应的任务进行处理。在图1所示的场景中,所述任务引擎可以是AM。作为一个示例,所述第二服务端可以对所述SQL语句进行解析,得到对应的map或者reduce任务,并利用所述AM处理该map或者reduce任务。
如前文,考虑到第一服务端故障之后,利用第二服务端处理与所述客户端对应的任务,对于这种情况,所述第二服务端可能需要重新处理部分曾经处理的任务例如重新处理与任务执行环境相关的任务。其中,与任务执行环境相关的任务,例如可以是需要访问的数据库表。鉴于此,在一个示例中,所述第二服务端可以基于所述客户端的标识从外部存储器中查找与所述客户端对应的历史任务处理请求。其中,所述外部存储器中包括所述客户端的标识和所述历史任务处理请求之间的对应关系,所述外部存储器中包括所述客户端的标识和所述历史任务处理请求之间的对应关系,可以是前述第一服务端存储至所述外部存储器中的。此处提及的历史任务处理请求,可以包括S101中提及的第一任务处理请求。
在一个示例中,所述外部存储器中存储的历史任务请求中,仅包括与任务执行环境相关的请求,而不包括与任务执行环境无关的请求,对于这种情况,所述第二服务端从所述外部存储器中获得历史任务请求之后,可以重新处理所述历史任务请求。
在又一个示例中,所述外部存储器中存储的历史任务请求中,不仅包括与任务执行环境相关的请求,还包括与任务执行环境无关的请求,对于这种情况,所述第二服务端从所述外部存储器中获得历史任务请求之后,可以重新处理所述历史任务请求中与任务执行环境相关的请求。
其中,所述第二服务端处理与任务执行环境相关的请求,指的是所述第二服务端直接处理所述与任务执行环境相关的请求,而不是利用任务引擎来处理所述与任务执行环境相关的请求。
通过以上描述可知,利用本方案,在处理所述客户端发起的任务的第一服务端故障的情况下,第二服务端可以确定所述任务引擎的信息,从而进一步利用所述任务引擎处理第二任务处理请求,从而避免所述客户端发起的任务处理中断,从而提升了任务处理的可靠性。
本申请实施例还提供了一种任务处理方法,参见图4,该图为本申请实施例提供的一种任务处理方法的信令交互图。图4所示的方法,可以包括如下S301-S306。
S301:第一服务端接收客户端发送的第一任务处理请求。
S302:所述第一服务端确定处理所述第一任务处理请求的任务引擎的信息。
S303:所述第一服务端将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中。
关于S301-S303可以参考前文对于S101-S103的相关描述部分,此处不再重复描述。
S304:在所述第一服务端故障后,第二服务端接收所述客户端发送的第二任务处理请求。
S305:所述第二服务端基于所述客户端的标识从所述外部存储器中查找得到所述任务引擎的信息。
S306:所述第二服务端基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。关于S304-S306的具体实现可以参考前文对于S104-S106的相关描述部分,此处不再重复描述。
利用图4所示的方法,在处理所述客户端发起的任务的第一服务端故障的情况下,第二服务端可以确定所述任务引擎的信息,从而进一步利用所述任务引擎处理第二任务处理请求,从而避免所述客户端发起的任务处理中断,从而提升了任务处理的可靠性。
示例性设备
基于以上实施例提供的方法,本申请实施例还提供了一种装置,以下结合附图介绍该装置。
参见图5,该图为本申请实施例提供的一种任务处理装置的结构示意图。图5所示的任务处理装置可以应用于第一服务端,所述装置500例如可以具体包括:第一接收单元501、确定单元502和第一存储单元503。
第一接收单元501,用于接收客户端发送的第一任务处理请求;
确定单元502,用于确定处理所述第一任务处理请求的任务引擎的信息;
第一存储单元503,用于将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中。
可选的,所述装置还包括:
第二存储单元,用于将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
可选的,所述第二存储单元,用于:
若所述第一任务处理请求与任务执行环境相关,将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
可选的,所述装置还包括:
第二接收单元,用于接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
可选的,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
可选的,所述任务引擎的信息,还包括:
所述任务引擎的标识。
可选的,所述第一服务端为HiveServer2。
可选的,所述任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
可选的,所述外部存储器为ZooKeeper的存储器。
关于所述装置500的具体实现,可以参考上文对于S101-S103的具体描述部分,此处不做重复描述。
参见图6,该图为本申请实施例提供的一种任务处理装置的结构示意图。图6所示的任务处理装置可以应用于第二服务端,所述装置600例如可以具体包括:第一接收单元601、第一查找单元602和第一处理单元603。
第一接收单元601,用于接收客户端发送的第二任务处理请求;
第一查找单元602,用于基于所述客户端的标识从外部存储器中查找任务引擎的信息,所述外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系;
第一处理单元603,用于基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
可选的,所述装置还包括:
第二查找单元,用于基于所述客户端的标识从外部存储器中查找与所述客户端对应的历史任务处理请求,所述历史任务请求中包括与任务执行环境相关的请求,所述外部存储器中包括所述客户端的标识和所述历史任务处理请求之间的对应关系;
第二处理单元,用于处理查找获得的与所述任务执行环境相关的请求。
可选的,所述装置还包括:
第二接收单元,用于接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
可选的,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
可选的,所述任务引擎的信息,还包括:
所述任务引擎的标识。
可选的,所述第二服务端为HiveServer2。
可选的,所述第二任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
可选的,所述外部存储器为ZooKeeper的存储器。
关于所述装置600的具体实现,可以参考上文对于S201-S203的具体描述部分,此处不做重复描述。
参见图7,该图为本申请实施例提供的一种任务处理装置的结构示意图。图7所示的任务处理装置可以应用于第一服务端和第二服务端,所述装置700例如可以具体包括:应用于所述第一服务端的第一接收单元701、确定单元702和第一存储单元703;以及,应用于所述第二服务端的第二接收单元704、查找单元705和处理单元706;
所述第一接收单元701,用于接收客户端发送的第一任务处理请求;
所述确定单元702,用于确定处理所述第一任务处理请求的任务引擎的信息;
所述第一存储单元703,用于将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中;
所述第二接收单元704,用于在所述第一服务端故障后,接收所述客户端发送的第二任务处理请求;
所述查找单元705,用于基于所述客户端的标识从所述外部存储器中查找得到所述任务引擎的信息;
所述处理单元706,用于基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
关于所述装置700的具体实现,可以参考上文对于S301-S306的具体描述部分,此处不做重复描述。
本申请实施例还提供了一种设备,所述设备包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行以上方法实施例提供的任务处理方法。
本申请实施例提供了一种计算机可读存储介质,包括指令,所述指令指示设备执行以上方法实施例提供的任务处理方法。
本申请实施例还提供了一种计算机程序产品,当所述计算机程序产品在计算机上运行时,使得计算机执行以上方法实施例提供的任务处理方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。
以上所述仅为本申请的较佳实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (23)

1.一种任务处理方法,其特征在于,应用于第一服务端,所述方法包括:
接收客户端发送的第一任务处理请求;
确定处理所述第一任务处理请求的任务引擎的信息;
将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中,以便于在所述第一服务端故障之后,第二服务端基于所述外部存储器中对应存储的所述任务引擎的信息和所述客户端的标识,确定所述任务引擎的信息,并利用所述任务引擎继续处理所述客户端发起的任务。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
3.根据权利要求2所述的方法,其特征在于,所述将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中,包括:
若所述第一任务处理请求与任务执行环境相关,将所述第一任务处理请求和所述客户端的标识对应存储在所述外部存储器中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
5.根据权利要求1所述的方法,其特征在于,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
6.根据权利要求5所述的方法,其特征在于,所述任务引擎的信息,还包括:
所述任务引擎的标识。
7.根据权利要求1-6任意一项所述的方法,其特征在于,所述第一服务端为HiveServer2。
8.根据权利要求7所述的方法,其特征在于,所述第一任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
9.根据权利要求1-6任意一项所述的方法,其特征在于,所述外部存储器为ZooKeeper的存储器。
10.一种任务处理方法,其特征在于,应用于第二服务端,所述方法包括:
在第一服务端故障之后,接收客户端发送的第二任务处理请求;
基于所述客户端的标识从外部存储器中查找任务引擎的信息,所述外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系,所述对应关系是所述第一服务端存储在所述外部存储器中的,在所述第一服务端故障之前,由所述第一服务端处理所述客户端发起的任务;
基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
11.根据权利要求10所述的方法,其特征在于,所述方法还包括:
基于所述客户端的标识从外部存储器中查找与所述客户端对应的历史任务处理请求,所述历史任务请求中包括与任务执行环境相关的请求,所述外部存储器中包括所述客户端的标识和所述历史任务处理请求之间的对应关系;
处理查找获得的与所述任务执行环境相关的请求。
12.根据权利要求10所述的方法,其特征在于,所述方法还包括:
接收所述客户端发送的连接请求,所述连接请求中包括所述客户端的标识。
13.根据权利要求10所述的方法,其特征在于,所述任务引擎的信息,包括:
所述任务引擎的IP地址和端口号。
14.根据权利要求13所述的方法,其特征在于,所述任务引擎的信息,还包括:
所述任务引擎的标识。
15.根据权利要求10-14任意一项所述的方法,其特征在于,所述第二服务端为HiveServer2。
16.根据权利要求15所述的方法,其特征在于,所述第二任务处理请求为结构化查询语言SQL语句,所述任务引擎为应用程序主机AM。
17.根据权利要求10-14任意一项所述的方法,其特征在于,所述外部存储器为ZooKeeper的存储器。
18.一种任务处理方法,其特征在于,所述方法包括:
第一服务端接收客户端发送的第一任务处理请求;
所述第一服务端确定处理所述第一任务处理请求的任务引擎的信息;
所述第一服务端将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中;
在所述第一服务端故障后,第二服务端接收所述客户端发送的第二任务处理请求;
所述第二服务端基于所述客户端的标识从所述外部存储器中查找得到所述任务引擎的信息;
所述第二服务端基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
19.一种任务处理装置,其特征在于,应用于第一服务端,所述装置包括:
第一接收单元,用于接收客户端发送的第一任务处理请求;
确定单元,用于确定处理所述第一任务处理请求的任务引擎的信息;
第一存储单元,用于将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中,以便于在所述第一服务端故障之后,第二服务端基于所述外部存储器中对应存储的所述任务引擎的信息和所述客户端的标识,确定所述任务引擎的信息,并利用所述任务引擎继续处理所述客户端发起的任务。
20.一种任务处理装置,其特征在于,应用于第二服务端,所述装置包括:
第一接收单元,用于在第一服务端故障之后,接收客户端发送的第二任务处理请求;
第一查找单元,用于基于所述客户端的标识从外部存储器中查找任务引擎的信息,所述外部存储器中存储有所述任务引擎的信息和所述客户端的标识之间的对应关系,所述对应关系是所述第一服务端存储在所述外部存储器中的,在所述第一服务端故障之前,由所述第一服务端处理所述客户端发起的任务;
第一处理单元,用于基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
21.一种任务处理装置,其特征在于,所述装置包括:
应用于第一服务端的第一接收单元、确定单元和第一存储单元;以及,应用于第二服务端的第二接收单元、查找单元和处理单元;
所述第一接收单元,用于接收客户端发送的第一任务处理请求;
所述确定单元,用于确定处理所述第一任务处理请求的任务引擎的信息;
所述第一存储单元,用于将所述任务引擎的信息和所述客户端的标识对应存储在外部存储器中;
所述第二接收单元,用于在所述第一服务端故障后,接收所述客户端发送的第二任务处理请求;
所述查找单元,用于基于所述客户端的标识从所述外部存储器中查找得到所述任务引擎的信息;
所述处理单元,用于基于查找获得的所述任务引擎的信息与所述任务引擎建立连接,并利用所述任务引擎处理所述第二任务处理请求。
22.一种任务处理设备,其特征在于,所述设备包括处理器和存储器;
所述处理器用于执行所述存储器中存储的指令,以使得所述设备执行如权利要求1至18中任一项所述的方法。
23.一种计算机可读存储介质,其特征在于,包括指令,所述指令指示设备执行如权利要求1至18中任一项所述的方法。
CN202210265806.8A 2022-03-17 2022-03-17 一种任务处理方法及装置 Active CN114610461B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210265806.8A CN114610461B (zh) 2022-03-17 2022-03-17 一种任务处理方法及装置
PCT/CN2023/080489 WO2023174151A1 (zh) 2022-03-17 2023-03-09 一种任务处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210265806.8A CN114610461B (zh) 2022-03-17 2022-03-17 一种任务处理方法及装置

Publications (2)

Publication Number Publication Date
CN114610461A CN114610461A (zh) 2022-06-10
CN114610461B true CN114610461B (zh) 2023-06-09

Family

ID=81864957

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210265806.8A Active CN114610461B (zh) 2022-03-17 2022-03-17 一种任务处理方法及装置

Country Status (2)

Country Link
CN (1) CN114610461B (zh)
WO (1) WO2023174151A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114610461B (zh) * 2022-03-17 2023-06-09 北京火山引擎科技有限公司 一种任务处理方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112637346A (zh) * 2020-12-24 2021-04-09 北京知道创宇信息技术股份有限公司 代理方法、装置、代理服务器及存储介质
CN113360217A (zh) * 2021-06-03 2021-09-07 北京自如信息科技有限公司 规则引擎sdk调用方法、装置及存储介质
CN113791876A (zh) * 2020-12-23 2021-12-14 京东科技控股股份有限公司 用于处理任务的系统、方法和装置

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001229142A (ja) * 2000-02-16 2001-08-24 Jisedai Joho Hoso System Kenkyusho:Kk サービス提供装置、送信装置、受信装置および受信方法
US8244881B2 (en) * 2010-08-06 2012-08-14 Palo Alto Research Center Incorporated Service virtualization over content-centric networks
CN102917039B (zh) * 2012-10-10 2016-05-04 大唐移动通信设备有限公司 信息处理方法与系统
CN104079630A (zh) * 2014-06-09 2014-10-01 中国建设银行股份有限公司 一种业务服务端负载均衡方法、客户端、服务端以及系统
CN109002362B (zh) * 2017-06-06 2021-12-24 创新先进技术有限公司 一种服务方法、装置、系统以及电子设备
CN110417595B (zh) * 2019-07-29 2022-09-02 北京奇艺世纪科技有限公司 业务服务容灾方法、装置、系统、管理服务器及电子设备
CN110532077B (zh) * 2019-08-22 2021-12-07 腾讯科技(深圳)有限公司 任务处理方法、装置及存储介质
CN110909030B (zh) * 2019-11-14 2022-10-21 北京奇艺世纪科技有限公司 一种信息处理方法及服务器集群
CN111327467A (zh) * 2020-02-21 2020-06-23 苏州浪潮智能科技有限公司 一种服务器系统及其容灾备份方法和相关设备
CN111414381B (zh) * 2020-03-04 2021-09-14 腾讯科技(深圳)有限公司 数据处理方法、装置、电子设备及存储介质
CN113204337A (zh) * 2021-06-08 2021-08-03 中国银行股份有限公司 运行引擎的切换方法及装置
CN114610461B (zh) * 2022-03-17 2023-06-09 北京火山引擎科技有限公司 一种任务处理方法及装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113791876A (zh) * 2020-12-23 2021-12-14 京东科技控股股份有限公司 用于处理任务的系统、方法和装置
CN112637346A (zh) * 2020-12-24 2021-04-09 北京知道创宇信息技术股份有限公司 代理方法、装置、代理服务器及存储介质
CN113360217A (zh) * 2021-06-03 2021-09-07 北京自如信息科技有限公司 规则引擎sdk调用方法、装置及存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Sunil Kumar ; Maninder Singh.Big data analytics for healthcare industry: impact, applications, and tools.IEEE.2018,全文. *

Also Published As

Publication number Publication date
CN114610461A (zh) 2022-06-10
WO2023174151A1 (zh) 2023-09-21

Similar Documents

Publication Publication Date Title
CN110086658B (zh) 接口切换方法、装置及计算机可读存储介质
CN114610461B (zh) 一种任务处理方法及装置
CN108256014B (zh) 页面展示方法及装置
CN111858083B (zh) 一种远程服务的调用方法、装置、电子设备及存储介质
EP3786802A1 (en) Method and device for failover in hbase system
CN113485962B (zh) 日志文件的存储方法、装置、设备和存储介质
CN108762905A (zh) 一种多任务事件的处理方法和装置
CN115329170A (zh) 网页抓取方法、装置、设备以及存储介质
CN113065054B (zh) 请求处理方法、装置、电子设备及存储介质
CN109388651B (zh) 一种数据处理方法和装置
CN108595195B (zh) 一种应用程序更新方法、装置、终端和储存介质
CN116561179A (zh) 数据查询方法、装置、设备及程序产品
CN112148320A (zh) 一种应用程序升级方法、装置、设备及存储介质
CN108173892B (zh) 云端镜像操作方法和装置
CN109831361B (zh) 一种分布式调试方法、系统及装置
CN109547276B (zh) 一种问题定位方法、终端及存储介质
CN111444253A (zh) 数据导入方法、装置、计算机可读存储介质和计算机设备
CN111736944A (zh) 基于Kubernetes的Docker容器定位方法及装置
CN112804373B (zh) 接口域名确定方法、装置、电子设备及存储介质
CN115809301B (zh) 数据库处理方法、装置、电子设备及可读存储介质
CN116755938B (zh) 计算重启方法、装置、存储介质及电子设备
CN114143364B (zh) 一种跨服务器的数据更新方法和装置
CN113468508B (zh) 信息验证方法、装置、服务器及存储介质
CN117883789B (zh) 数据获取方法、装置、设备、可读存储介质及程序产品
CN115114361B (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