CN114938367B - 批量作业处理方法、系统、设备及介质 - Google Patents
批量作业处理方法、系统、设备及介质 Download PDFInfo
- Publication number
- CN114938367B CN114938367B CN202210689140.9A CN202210689140A CN114938367B CN 114938367 B CN114938367 B CN 114938367B CN 202210689140 A CN202210689140 A CN 202210689140A CN 114938367 B CN114938367 B CN 114938367B
- Authority
- CN
- China
- Prior art keywords
- script
- job
- batch
- job script
- execution
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 47
- 238000013515 script Methods 0.000 claims abstract description 635
- 238000004891 communication Methods 0.000 claims abstract description 51
- 238000000034 method Methods 0.000 claims abstract description 48
- 230000004044 response Effects 0.000 claims abstract description 36
- 230000008569 process Effects 0.000 claims abstract description 19
- 238000012545 processing Methods 0.000 claims description 23
- 238000012546 transfer Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 9
- 230000003993 interaction Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003111 delayed effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000002699 waste material Substances 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
-
- 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/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Stored Programmes (AREA)
Abstract
本申请涉及计算机技术领域,提供了一种批量作业处理方法、系统、设备及介质,方法包括:根据客户端发送的包括多个脚本内容的批量作业,生成批量作业脚本,并将每个作业脚本异步分别下发至对应的执行主机,以使执行主机执行作业脚本并返回作业脚本对应的执行结果,响应于客户端发送的结果查询请求,执行以下处理之一:若批量作业脚本已执行完成,则将每个作业脚本对应的执行结果发送给客户端;或者,若批量作业脚本未执行完成,则基于长连接通信协议实时将已执行完成的作业脚本对应的执行结果发送至客户端,本申请实施例基于批量作业的执行状态回传批量作业的执行结果,能够减少服务器的资源开销,提高作业结果的回传实时性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种批量作业处理方法、系统、电子设备及计算机可读存储介质。
背景技术
当用户在客户端下发批量作业后,在批量作业先后完成执行的情况下,为使客户端能够实时获取批量作业的作业结果,客户端和服务器需要进行高频率的信息交互。
目前,业内批量作业平台客户端大多数都是通过定时超文本传输协议(HyperText Transfer Protocol,HTTP)短连接轮询请求或者用户手动刷新请求的方式与服务器进行信息交互,而由于每次HTTP请求之间具有一定时间间隔,作业结果的获取会存在延迟;同时,每次请求都需要建立新的HTTP连接,并对HTTP标头进行解析,单次请求完成后还需要对连接进行关闭和资源清除,频繁的连接建立和释放都会造成服务器的资源浪费。
发明内容
本申请实施例的主要目的在于提出一种批量作业处理方法、系统、电子设备及计算机可读存储介质,能够减少服务器的资源开销,确保作业结果的回传实时性。
为实现上述目的,本申请实施例的第一方面提出了一种批量作业处理方法,应用于服务器,所述方法包括:
接收客户端发送的批量作业,所述批量作业包括多个脚本内容以及每个所述脚本内容对应的脚本参数、执行主机;
根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本;
将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以使所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
接收所述客户端发送的所述批量作业脚本的结果查询请求;
响应于所述结果查询请求,获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果发送给所述客户端;或者,
若所述批量作业脚本未执行完成,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并基于长连接通信协议将已执行完成的所述作业脚本对应的执行结果发送至所述客户端。
根据本发明一些实施例提供的批量作业处理方法,所述接收所述客户端发送的所述批量作业脚本的结果查询请求,包括:
接收所述客户端发送的所述批量作业脚本的HTTP结果查询请求;
所述若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果发送给所述客户端,包括:
若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果作为所述HTTP结果查询请求的第一响应信息,将所述第一响应信息发送给所述客户端;
所述若所述批量作业脚本未执行完成,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并基于长连接通信协议将已执行完成的所述作业脚本对应的执行结果发送至所述客户端,包括:
若所述批量作业脚本未执行完成,向所述客户端发送所述HTTP结果查询请求的第二响应信息,以使所述客户端根据所述第二响应信息返回连接建立请求,所述连接建立请求用于建立所述客户端和所述服务器之间的长连接通信,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并通过所述长连接通信将已执行完成的所述作业脚本对应的执行结果发送至所述客户端。
根据本发明一些实施例提供的批量作业处理方法,所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,包括:
根据所述批量作业脚本中每个作业脚本对应的所述执行主机,对每个所述作业脚本进行划分,得到至少一个作业脚本批次任务,其中,所述作业脚本批次任务中的作业脚本对应同一个所述执行主机;
将所述作业脚本批次任务异步分别下发至所述作业脚本批次任务中的作业脚本对应的所述执行主机。
根据本发明一些实施例提供的批量作业处理方法,所述执行主机通过代理服务器与所述服务器通信连接;
在所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机之前,所述方法还包括:
获取所述执行主机与所述代理服务器的对应关系;
所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,包括:
根据所述批量作业脚本中每个作业脚本对应的所述执行主机以及所述执行主机与所述代理服务器的对应关系,对每个所述作业脚本进行划分,得到至少一个作业脚本批次任务,其中,所述作业脚本批次任务中的作业脚本对应同一个所述代理服务器;
将所述作业脚本批次任务异步分别下发至所述作业脚本批次任务中的作业脚本对应的所述代理服务器,以通过所述代理服务器将所述作业脚本批次任务中的每个所述作业脚本分发至所述作业脚本对应的所述执行主机。
根据本发明一些实施例提供的批量作业处理方法,所述代理服务器用于接收所述执行主机返回的所述作业脚本对应的执行结果,并将所述执行结果存储至预设的数据库;
所述获取所述批量作业脚本中每个所述作业脚本对应的执行结果,包括:
从所述数据库中获取所述批量作业中每个所述作业脚本对应的执行结果;
所述获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,包括:
从所述数据库中获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果。
根据本发明一些实施例提供的批量作业处理方法,所述代理服务器还用于监控所述执行主机中所述批量作业脚本的执行状态,并将所述批量作业脚本的执行状态存储至预设的数据库;
所述获取所述批量作业脚本的执行状态,包括:
从所述数据库中获取所述批量作业脚本的执行状态。
为实现上述目的,本申请实施例的第二方面提出了一种批量作业处理方法,应用于客户端,所述方法包括:
接收用户对应多个预设的脚本内容输入的脚本参数和执行主机;
根据多个所述脚本内容以及每个所述脚本内容对应的脚本参数、执行主机,生成批量作业;
向服务器发送所述批量作业,以使所述服务器根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本,并使所述服务器将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以通过所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
向所述服务器发送所述批量作业脚本的结果查询请求,所述结果查询请求用于使所述服务器获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,所述服务器获取并返回所述批量作业脚本中每个所述作业脚本对应的执行结果;或者,
若所述批量作业脚本未执行完成,所述服务器实时获取并基于长连接通信协议返回所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果;
接收所述服务器返回的所述执行结果。
为实现上述目的,本申请实施例的第三方面提出了一种批量作业处理系统,所述系统包括服务器和客户端,所述服务器包括:
第一接收模块,用于接收客户端发送的批量作业,所述批量作业包括多个脚本内容以及每个所述脚本内容对应的脚本参数、执行主机;
脚本生成模块,用于根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本;
异步发送模块,用于将所述批量作业脚本中的每个作业脚本异步分别分发至与所述作业脚本对应的所述执行主机,以使所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
请求接收模块,用于接收所述客户端发送的所述批量作业脚本的结果查询请求;
结果查询模块,用于响应于所述结果查询请求,获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果发送给所述客户端;或者,
若所述批量作业脚本未执行完成,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并基于长连接通信协议将已执行完成的所述作业脚本对应的执行结果发送至所述客户端;
所述客户端包括:
第二接收模块,用于接收用户对应多个预设的脚本内容输入的脚本参数和执行主机;
作业生成模块,用于根据多个所述脚本内容以及每个所述脚本内容对应的脚本参数、执行主机,生成批量作业;
作业发送模块,用于向服务器发送所述批量作业,以使所述服务器根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本,并使所述服务器将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以通过所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
请求发送模块,用于向所述服务器发送所述批量作业脚本的结果查询请求,所述结果查询请求用于使所述服务器获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,所述服务器获取并返回所述批量作业脚本中每个所述作业脚本对应的执行结果;或者,
若所述批量作业脚本未执行完成,所述服务器实时获取并基于长连接通信协议返回所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果;
结果接收模块,用于接收所述服务器返回的所述执行结果。
为实现上述目的,本申请实施例的第四方面提出了一种电子设备,所述电子设备包括存储器、处理器、存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现上述第一方面或第二方面所述的方法。
为实现上述目的,本申请实施例的第五方面提出了一种存储介质,所述存储介质为计算机可读存储介质,用于计算机可读存储,所述存储介质存储有一个或者多个计算机程序,所述一个或者多个计算机程序可被一个或者多个处理器执行,以实现上述第一方面或第二方面所述的方法。
本申请提出一种批量作业处理方法、系统、电子设备以及计算机可读存储介质,所述批量作业处理方法通过接收客户端发送的包括多个脚本内容以及每个脚本内容对应的脚本参数、执行主机的批量作业,根据批量作业中的多个脚本内容以及每个脚本内容对应的脚本参数,生成批量作业脚本,之后将批量作业脚本中的每个作业脚本异步分别下发至与作业脚本对应的执行主机,以使执行主机执行作业脚本并返回作业脚本对应的执行结果,响应于客户端发送的批量作业脚本的结果查询请求,获取批量作业脚本的执行状态,并基于批量作业脚本的执行状态,执行以下处理之一:若批量作业脚本已执行完成,获取批量作业脚本中每个作业脚本对应的执行结果,并将每个作业脚本对应的执行结果发送给客户端;或者,若批量作业脚本未执行完成,实时获取批量作业脚本中已执行完成的作业脚本对应的执行结果,并基于长连接通信协议将已执行完成的作业脚本对应的执行结果发送至客户端。本申请实施例中服务器响应于客户端发送的结果查询请求,当批量作业脚本已执行完成时,服务器将批量作业脚本中每个作业脚本对应的执行结果发送给客户端,而当批量作业脚本未执行完成时,服务器则基于长连接通信协议实时将已执行完成的作业脚本对应的执行结果发送至客户端,在作业脚本先后完成执行的情况下,建立服务器与客户端之间的长连接通信,实时将陆续执行完成的作业脚本发送至客户端,既减少了大量无效请求,降低服务器的资源开销,又能确保执行结果回传至客户端的实时性。
附图说明
图1是本申请实施例提供的一种批量作业处理方法的流程示意图;
图2是本申请实施例提供的一种批量作业处理方法的流程示意图;
图3是本申请实施例提供的一种批量作业处理方法的流程示意图;
图4是本申请实施例提供的一种批量作业处理方法的流程示意图;
图5是本申请实施例提供的一种批量作业处理方法的流程示意图;
图6是本申请实施例提供的一种批量作业处理方法的流程示意图;
图7是本申请实施例提供的一种批量作业处理方法的流程示意图;
图8是本申请实施例提供的一种批量作业处理方法的流程示意图;
图9是本申请实施例提供的一种批量作业处理方法的实施环境示意图;
图10是本申请实施例提供的一种批量作业处理系统的结构示意图;
图11是本申请实施例提供的一种电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
当用户在客户端下发批量作业后,在批量作业先后完成执行的情况下,为使客户端能够实时获取批量作业的作业结果,客户端和服务器需要进行高频率的信息交互。
目前,业内批量作业平台客户端大多数都是通过定时HTTP短连接轮询请求或者用户手动刷新请求的方式与服务器进行信息交互,而由于每次HTTP请求之间具有一定时间间隔,作业结果的获取会存在延迟;同时,每次请求都需要建立新的HTTP连接,并对HTTP标头进行解析,单次请求完成后还需要对连接进行关闭和资源清除,频繁的连接建立和释放都会造成服务器的资源浪费。
基于此,本申请实施例提供了一种批量作业处理方法、系统、电子设备及计算机可读存储介质,能够减少服务器的资源开销,确保作业结果的回传实时性。
本申请实施例提供的批量作业处理方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的软件。在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机等;服务器端可以配置成独立的物理服务器,也可以配置成多个物理服务器构成的服务器集群或者分布式系统,还可以配置成提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN以及大数据和人工智能平台等基础云计算服务的云服务器;软件可以是实现批量作业处理方法的应用等,但并不局限于以上形式。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
首先描述本申请实施例中的批量作业处理方法,所述批量作业处理方法应用于服务器。请参见图1,图1示出了本申请实施例提供的一种批量作业处理方法的流程示意图。如图1所示,该批量作业处理方法包括但不限于步骤S110至S152:
步骤S110,接收客户端发送的批量作业,所述批量作业包括多个脚本内容以及每个所述脚本内容对应的脚本参数、执行主机。
需要说明的是,客户端可以通过前端Web页面的方式提供给用户多个预设的脚本内容,客户端从而获取用户指定的多个脚本内容以及用户对应指定的多个脚本内容输入的脚本参数以及执行主机,最后客户端根据多个脚本内容以及脚本内容对应的脚本参数、执行主机,生成批量作业并将批量作业发送至服务器。
步骤S120,根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本。
可以理解的是,针对通过同个脚本内容可以对应有多个不同脚本参数,在接收到客户端发送的批量作业后,依次将批量作业中的脚本参数赋值到对应的脚本内容中,生成完整的、可被执行主机处理的批量作业脚本。
步骤S130,将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以使所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果。
需要说明的是,批量作业脚本中的每个作业脚本对应有各自的执行主机,因此,以异步的方式将批量作业脚本中的每个作业脚本分别下发至其对应的执行主机,从而提高批量作业脚本的批处理效率。
在一些实施例中,参见图2,图2示出了本申请实施例提供的一种批量作业处理方法的流程示意图。如图2所示,所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机包括但不限于步骤S210和S220:
步骤S210,根据所述批量作业脚本中每个作业脚本对应的所述执行主机,对每个所述作业脚本进行划分,得到至少一个作业脚本批次任务,其中,所述作业脚本批次任务中的作业脚本对应同一个所述执行主机。
步骤S220,将所述作业脚本批次任务异步分别下发至所述作业脚本批次任务中的作业脚本对应的所述执行主机。
需要说明的是,当批量作业脚本中存在对应相同执行主机的作业脚本,对每个作业脚本进行划分,得到至少一个作业脚本批次任务,也就是作业脚本批次任务中的作业脚本对应同一个执行主机,再以异步的方式将作业脚本批次任务分别下发至作业脚本批次任务中作业脚本对应的执行主机。
可以理解的是,将对应相同执行主机的作业脚本划分为一个作业脚本批次任务,当作业脚本批次任务下发至对应的执行主机后,执行主机能够一次性处理作业脚本批次任务中的多个作业脚本,相较于依次分发批量作业脚本中的每个作业脚本,能够进一步提高批量作业脚本的批处理效率。
在一些实施例中,参见图9,图9示出了本申请实施例提供的一种批量作业处理方法的实施环境示意图。如图9所示,所述执行主机通过代理服务器与服务器通信连接,在所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机之前,所述批量作业处理方法还包括:
获取所述执行主机与所述代理服务器的对应关系。
参见图3,图3示出了本申请实施例提供的一种批量作业处理方法的流程示意图。如图3所示,在所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机之前,所述批量作业处理方法包括但不限于步骤S310和S320:
步骤S310,根据所述批量作业脚本中每个作业脚本对应的所述执行主机以及所述执行主机与所述代理服务器的对应关系,对每个所述作业脚本进行划分,得到至少一个作业脚本批次任务,其中,所述作业脚本批次任务中的作业脚本对应同一个所述代理服务器。
步骤S320,将所述作业脚本批次任务异步分别下发至所述作业脚本批次任务中的作业脚本对应的所述代理服务器,以通过所述代理服务器将所述作业脚本批次任务中的每个所述作业脚本分发至所述作业脚本对应的所述执行主机。
需要说明的是,批量作业脚本中的每个作业脚本对应有各自的执行主机,而每个执行主机对应有各自的代理服务器,因此,根据批量作业脚本中每个作业脚本对应的执行主机以及执行主机对应的代理服务器,对每个作业脚本进行划分,得到至少一个作业脚本批次任务,也就是作业脚本批次任务中的作业脚本对应同一个代理服务器,再以异步的方式将作业脚本批次任务分别下发至作业脚本批次任务中作业脚本对应的代理服务器,以通过代理服务器将作业脚本批次任务中的每个作业脚本分发至作业脚本对应的执行主机。
可以理解的是,将对应相同代理服务器的作业脚本划分为一个作业脚本批次任务,当作业脚本批次任务下发至对应的代理服务器后,代理服务器再将作业脚本批次任务中的作业脚本分发至其对应的执行主机,执行主机能够一次性处理作业脚本批次任务中的多个作业脚本,相较于依次分发批量作业脚本中的每个作业脚本,能够进一步提高批量作业脚本的批处理效率。
步骤S140,接收所述客户端发送的所述批量作业脚本的结果查询请求。
需要说明的是,客户端可以在前端Web页面跳转至批量作业结果页面时,向服务器发送批量作业的查询请求。
示例性的,参见图5和图6,图5和图6示出了本申请实施例提供的一种批量作业处理方法的流程示意图。如图5和图6所示,服务器接收客户端发送的批量作业的HTTP结果查询请求。
步骤S150,响应于所述结果查询请求,获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
步骤S151,若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果发送给所述客户端。
步骤S152,若所述批量作业脚本未执行完成,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并基于长连接通信协议将已执行完成的所述作业脚本对应的执行结果发送至所述客户端。
需要说明的是,可以通过预设的数据库存储执行主机返回的每个作业脚本对应的执行结果,当接收客户端发送的批量作业脚本的结果查询请求时,即可从预设的数据库中获取作业脚本对应的执行结果。
在一些实施例中,在将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机之后,所述批量作业处理方法还包括:
接收所述执行主机返回的所述作业脚本对应的执行结果,并将所述执行结果存储至预设的数据库。
在一些实施例中,所述代理服务器用于接收所述执行主机返回的所述作业脚本对应的执行结果,并将所述执行结果存储至预设的数据库;
所述获取所述批量作业脚本中每个所述作业脚本对应的执行结果,包括:
从所述数据库中获取所述批量作业中每个所述作业脚本对应的执行结果。
所述获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,包括:
从所述数据库中获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果。
可以理解的是,当执行主机通过代理服务器与服务器通信连接时,由代理服务器接收并存储执行主机返回的作业脚本对应的执行结果,可以减轻服务器的负担,提高批量作业的处理效率。
还需要说明的是,可以通过预设的数据库存储批量作业脚本中每个作业脚本的执行状态,当接收客户端发送的批量作业脚本的结果查询请求时,即可从预设的数据库中获取作业脚本的执行状态。
在一些实施例中,在将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机之后,所述批量作业处理方法还包括:
监控所述执行主机中所述批量作业脚本的执行状态,并将所述批量作业脚本的执行状态存储至预设的数据库。
在一些实施例中,所述代理服务器用于监控所述执行主机中所述批量作业脚本的执行状态,并将所述批量作业脚本的执行状态存储至预设的数据库;
所述获取所述批量作业脚本的执行状态,包括:
从所述数据库中获取所述批量作业脚本的执行状态。
可以理解的是,当执行主机通过代理服务器与服务器通信连接时,由代理服务器监控并存储执行主机中批量作业脚本的执行状态,可以减轻服务器的负担,提高批量作业的处理效率。
在一些实施例中,所述代理服务器设置有至少一个消息队列,所述消息队列用于接收所述作业脚本批次任务。
在一些实施例中,所述作业脚本批次任务为celery任务,所述代理服务器部署有celery工作节点。
可以理解的是,将作业脚本批次任务作为celery任务,并将其提交至代理服务器的消息队列中,由celery工作节点监听对应消息队列中的作业脚本批次任务并通过ansible自动化运维工具将作业脚本批次任务中的作业脚本下发至对应的执行主机,以使执行主机执行作业脚本并返回作业脚本的执行结果。
还可以理解的是,部署在代理服务器中的celery工作节点还用于接收执行主机返回的作业脚本对应的执行结果并将执行结果录入预设的数据中,之后更新该作业脚本的执行状态。
在一些实施例中,所述接收所述客户端发送的所述批量作业脚本的结果查询请求,包括:
接收所述客户端发送的所述批量作业脚本的HTTP结果查询请求;
所述若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果发送给所述客户端,包括:
若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果作为所述HTTP结果查询请求的第一响应信息,将所述第一响应信息发送给所述客户端;
所述若所述批量作业脚本未执行完成,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并基于长连接通信协议将已执行完成的所述作业脚本对应的执行结果发送至所述客户端,包括:
若所述批量作业脚本未执行完成,向所述客户端发送所述HTTP结果查询请求的第二响应信息,以使所述客户端根据所述第二响应信息返回连接建立请求,所述连接建立请求用于建立所述客户端和所述服务器之间的长连接通信,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并通过所述长连接通信将已执行完成的所述作业脚本对应的执行结果发送至所述客户端。
在一些实施例中,基于WebSocket协议建立所述客户端和所述服务器之间的长连接通信,也就是基于WebSocket协议将已执行完成的作业脚本对应的执行结果发送至客户端。
可以理解的是,基于WebSocket协议建立长连接通信,一方面,WebSocket协议使用二进制帧,能够快速地处理二进制内容;另一方面,WebSocket连接为全双工双向通信,只需建立一次连接,即可实现客户端和服务器之间的信息交互。
还可以理解的是,亦可以基于HTTP协议等其他协议建立客户端和服务器之间的长连接通信,本申请实施例在此不做限定。
可以理解的是,如图5所示,接收客户端发送的批量作业的HTTP结果查询请求,响应于HTTP结果查询请求,获取批量作业脚本的执行状态,若批量作业脚本已执行完成,获取批量作业脚本中每个作业脚本对应的执行结果,并将每个作业脚本对应的执行结果作为HTTP结果查询请求的第一响应信息,将第一响应信息返回给客户端,也就是将每个作业脚本对应的执行结果返回给客户端;或者,如图6所示,若批量作业脚本未执行完成,向客户端发送HTTP结果查询请求的第二响应信息,以使客户端根据第二响应信息返回连接建立请求,连接建立请求用于建立客户端和服务器之间的WebSocket长连接通信,之后服务器实时获取批量作业脚本中已执行完成的作业脚本对应的执行结果,并基于该WebSocket连接将已执行完成的作业脚本对应的执行结果发送至客户端。
应了解,当接收到客户端发送的批量作业脚本的结果查询请求时,若批量作业脚本已执行完成,则将每个作业脚本对应的执行结果作为结果查询请求的第一响应信息返回给客户端,也就是只需要一次请求响应,即可实现客户端和服务器之间全部作业脚本对应的执行结果的信息交互;而若批量作业脚本未执行完成,则在客户端与服务器之间建立WebSocket长连接通信,以使客户端能够实时接收到已执行完成的作业脚本对应的执行结果,也就是客户端与服务器之间只需建立一次WebSocket连接,即可实时将陆续执行完成的作业脚本对应的执行结果返回至客户端。由此,本申请实施例针对批量作业脚本的不同执行状态,选取不用的传输方式将作业脚本对应的执行结果返回给客户端,在减少资源消耗的情况下,保证了执行结果的回传实时性。
在另一些实施例中,如图7所示,在接收客户端发送的批量作业脚本的结果查询请求之前,接收客户端发送的连接建立请求,连接建立请求用于建立客户端和服务器之间的WebSocket长连接通信,WebSocket连接建立后,接收客户端基于WebSocket连接发送的批量作业的结果查询请求,之后获取批量作业脚本的执行状态,若批量作业脚本已执行完成,获取批量作业脚本中每个作业脚本对应的执行结果,并基于WebSocket连接将每个作业脚本对应的执行结果返回给客户端;或者,如图8所示,若批量作业脚本未执行完成,实时获取批量作业脚本中已执行完成的作业脚本对应的执行结果,并通过WebSocket连接将已执行完成的作业脚本对应的执行结果发送至客户端。
本申请实施例提供的批量作业处理方法中,服务器响应于客户端发送的结果查询请求,当批量作业脚本已执行完成时,服务器将批量作业脚本中每个作业脚本对应的执行结果发送给客户端,而当批量作业脚本未执行完成时,服务器则基于长连接通信协议实时将已执行完成的作业脚本对应的执行结果发送至客户端,在作业脚本先后完成执行的情况下,建立服务器与客户端之间的长连接通信,实时将陆续执行完成的作业脚本发送至客户端,既减少了大量无效请求,降低服务器的资源开销,又能确保执行结果回传至客户端的实时性。
本申请实施例还提供了一种应用于客户端的批量作业处理方法,请参见图4,图4示出了本申请实施例提供的一种批量作业处理方法的流程示意图。如图4所示,该批量作业处理方法包括但不限于步骤S410至S450:
步骤S410,接收用户对应多个预设的脚本内容输入的脚本参数和执行主机;
步骤S420,根据多个所述脚本内容以及每个所述脚本内容对应的脚本参数、执行主机,生成批量作业;
步骤S430,向服务器发送所述批量作业,以使所述服务器根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本,并使所述服务器将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以通过所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
步骤S440,向所述服务器发送所述批量作业脚本的结果查询请求,所述结果查询请求用于使所述服务器获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,所述服务器获取并返回所述批量作业脚本中每个所述作业脚本对应的执行结果;或者,
若所述批量作业脚本未执行完成,所述服务器实时获取并基于长连接通信协议返回所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果;
步骤S450,接收所述服务器返回的所述执行结果。
需要说明的是,上述应用于客户端的批量作业处理方法中流程步骤等内容,由于与本申请实施例中应用于服务器的批量作业处理方法基于同一发明构思,其具体步骤、功能及带来的技术效果,可参见描述应用于服务器的批量作业处理方法的实施例部分,此处不再赘述。
请参见图9,下面通过一个具体实施例描述本申请实施例提供的批量作业处理方法。
如图9所示,所述批量作业方法实施于客户端、服务器、代理服务器以及执行主机,客户端与服务器、服务器与代理服务器以及代理服务器与执行主机之间通信连接,其中,存在多个执行主机对应同一个代理服务器。
所述批量作业处理方法包括:服务器接收客户端发送的批量作业,其中,批量作业由客户端根据用户对应多个预设的脚本内容输入的脚本参数和执行主机生成得到的,服务器根据批量作业中得到多个脚本内容以及每个脚本内容对应的脚本参数、执行主机,生成批量作业脚本。
服务器获取执行主机与代理服务器的对应关系,并根据批量作业脚本中每个作业脚本对应的执行主机以及执行主机与代理服务器的对应关系,对每个作业脚本进行划分,得到至少一个作业脚本批次任务,其中,作业脚本批次任务中的作业脚本对应同一个代理服务器,之后服务器以异步的方式将作业脚本批次任务分别下发至作业脚本批次任务中的作业脚本对应的代理服务器,以使代理服务器将作业脚本中的每个作业脚本分发至作业脚本对应的执行主机,以通过执行主机执行作业脚本并返回作业脚本对应的执行结果,之后代理服务器监控执行主机中作业脚本的执行状态并接收执行主机返回的作业脚本对应的执行结果,并将作业脚本对应的执行状态以及执行结果存储至预设的数据库中。
服务器响应于客户端发送的批量作业脚本的结果查询请求,从数据库中获取批量作业脚本的执行状态,若批量作业脚本已执行完成,从数据库中获取批量作业脚本中每个作业脚本对应的执行结果,并将每个作业脚本对应的执行结果作为结果查询请求的响应信息返回给客户端;或者,若批量作业脚本未执行完成,则向客户端发送与结果查询请求对应的响应信息,以使客户端返回连接建立请求,连接建立请求用于建立客户端和服务器之间的WebSocket长连接通信,之后服务器实时获取批量作业脚本中已执行完成的作业脚本对应的执行结果,并通过WebSocket连接将已执行完成的作业脚本对应的执行结果发送至客户端。
请参见图10,本申请实施例还提供了一种批量作业处理系统100,所述批量作业处理系统100包括服务器110和客户端120,所述服务器110包括:
第一接收模块111,用于接收客户端发送的批量作业,所述批量作业包括多个脚本内容以及每个所述脚本内容对应的脚本参数、执行主机;
脚本生成模块112,用于根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本;
异步发送模块113,用于将所述批量作业脚本中的每个作业脚本异步分别分发至与所述作业脚本对应的所述执行主机,以使所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
请求接收模块114,用于接收所述客户端发送的所述批量作业脚本的结果查询请求;
结果查询模块115,用于响应于所述结果查询请求,获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果发送给所述客户端;或者,
若所述批量作业脚本未执行完成,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并基于长连接通信协议将已执行完成的所述作业脚本对应的执行结果发送至所述客户端;
所述客户端120,包括:
第二接收模块121,用于接收用户对应多个预设的脚本内容输入的脚本参数和执行主机;
作业生成模块122,用于根据多个所述脚本内容以及每个所述脚本内容对应的脚本参数、执行主机,生成批量作业;
作业发送模块123,用于向服务器发送所述批量作业,以使所述服务器根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本,并使所述服务器将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以通过所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
请求发送模块124,用于向所述服务器发送所述批量作业脚本的结果查询请求,所述结果查询请求用于使所述服务器获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,所述服务器获取并返回所述批量作业脚本中每个所述作业脚本对应的执行结果;或者,
若所述批量作业脚本未执行完成,所述服务器实时获取并基于长连接通信协议返回所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果;
结果接收模块125,用于接收所述服务器返回的所述执行结果。
需要说明的是,上述装置的模块之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
请参见图11,图11示出本申请实施例提供的一种电子设备的硬件结构,电子设备包括:
处理器210,可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集合成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集合成电路等方式实现,用于执行相关计算机程序,以实现本申请实施例所提供的技术方案;
存储器220,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器220可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器220中,并由处理器210来调用执行本申请实施例的批量作业处理方法;
输入/输出接口230,用于实现信息输入及输出;
通信接口240,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和总线250,在设备的每个组件(例如处理器210、存储器220、输入/输出接口230和通信接口240)之间传输信息;
其中处理器210、存储器220、输入/输出接口230和通信接口240通过总线250实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,用于计算机可读存储,存储介质存储有一个或者多个计算机程序,一个或者多个计算机程序可被一个或者多个处理器执行,以实现上述批量作业处理方法。
存储器作为一种计算机可读存储介质,可用于存储软件程序以及计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集合成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请每个实施例中的各功能单元可以集合成在一个处理单元中,也可以是每个单元单独物理存在,也可以两个或两个以上单元集合成在一个单元中。上述集合成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集合成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请每个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (9)
1.一种批量作业处理方法,应用于服务器,其特征在于,所述方法包括:
接收客户端发送的批量作业,所述批量作业包括多个脚本内容以及每个所述脚本内容对应的脚本参数、执行主机;
根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本;
将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以使所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
接收所述客户端发送的所述批量作业脚本的超文本传输协议结果查询请求;
响应于所述超文本传输协议结果查询请求,获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果作为所述超文本传输协议结果查询请求的第一响应信息,将所述第一响应信息发送给所述客户端;或者,
若所述批量作业脚本未执行完成,向所述客户端发送所述超文本传输协议结果查询请求的第二响应信息,以使所述客户端根据所述第二响应信息返回连接建立请求,所述连接建立请求用于建立所述客户端和所述服务器之间的长连接通信,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并通过所述长连接通信将已执行完成的所述作业脚本对应的执行结果发送至所述客户端。
2.根据权利要求1所述的批量作业处理方法,其特征在于,所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,包括:
根据所述批量作业脚本中每个作业脚本对应的所述执行主机,对每个所述作业脚本进行划分,得到至少一个作业脚本批次任务,其中,所述作业脚本批次任务中的作业脚本对应同一个所述执行主机;
将所述作业脚本批次任务异步分别下发至所述作业脚本批次任务中的作业脚本对应的所述执行主机。
3.根据权利要求1所述的批量作业处理方法,其特征在于,所述执行主机通过代理服务器与所述服务器通信连接;
在所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机之前,所述方法还包括:
获取所述执行主机与所述代理服务器的对应关系;
所述将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,包括:
根据所述批量作业脚本中每个作业脚本对应的所述执行主机以及所述执行主机与所述代理服务器的对应关系,对每个所述作业脚本进行划分,得到至少一个作业脚本批次任务,其中,所述作业脚本批次任务中的作业脚本对应同一个所述代理服务器;
将所述作业脚本批次任务异步分别下发至所述作业脚本批次任务中的作业脚本对应的所述代理服务器,以通过所述代理服务器将所述作业脚本批次任务中的每个所述作业脚本分发至所述作业脚本对应的所述执行主机。
4.根据权利要求3所述的批量作业处理方法,其特征在于,所述代理服务器用于接收所述执行主机返回的所述作业脚本对应的执行结果,并将所述执行结果存储至预设的数据库;
所述获取所述批量作业脚本中每个所述作业脚本对应的执行结果,包括:
从所述数据库中获取所述批量作业中每个所述作业脚本对应的执行结果;
所述获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,包括:
从所述数据库中获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果。
5.根据权利要求3所述的批量作业处理方法,其特征在于,所述代理服务器用于监控所述执行主机中所述批量作业脚本的执行状态,并将所述批量作业脚本的执行状态存储至预设的数据库;
所述获取所述批量作业脚本的执行状态,包括:
从所述数据库中获取所述批量作业脚本的执行状态。
6.一种批量作业处理方法,应用于客户端,其特征在于,所述方法包括:
接收用户对应多个预设的脚本内容输入的脚本参数和执行主机;
根据多个所述脚本内容以及每个所述脚本内容对应的脚本参数、执行主机,生成批量作业;
向服务器发送所述批量作业,以使所述服务器根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本,并使所述服务器将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以通过所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
向所述服务器发送所述批量作业脚本的超文本传输协议结果查询请求,所述超文本传输协议结果查询请求用于使所述服务器获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,所述服务器获取所述批量作业脚本中每个所述作业脚本对应的执行结果,所述服务器将每个所述作业脚本对应的执行结果作为所述超文本传输协议结果查询请求的第一响应信息,将所述第一响应信息发送给所述客户端;或者,
若所述批量作业脚本未执行完成,所述服务器向所述客户端发送所述超文本传输协议结果查询请求的第二响应信息,以使所述客户端根据所述第二响应信息返回连接建立请求,所述连接建立请求用于建立所述客户端和所述服务器之间的长连接通信,所述服务器实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,所述服务器通过所述长连接通信将已执行完成的所述作业脚本对应的执行结果发送至所述客户端;
接收所述服务器返回的所述执行结果。
7.一种批量作业处理系统,其特征在于,所述系统包括服务器和客户端,所述服务器包括:
第一接收模块,用于接收客户端发送的批量作业,所述批量作业包括多个脚本内容以及每个所述脚本内容对应的脚本参数、执行主机;
脚本生成模块,用于根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本;
异步发送模块,用于将所述批量作业脚本中的每个作业脚本异步分别分发至与所述作业脚本对应的所述执行主机,以使所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
请求接收模块,用于接收所述客户端发送的所述批量作业脚本的超文本传输协议结果查询请求;
结果查询模块,用于响应于所述超文本传输协议结果查询请求,获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,获取所述批量作业脚本中每个所述作业脚本对应的执行结果,并将每个所述作业脚本对应的执行结果作为所述超文本传输协议结果查询请求的第一响应信息,将所述第一响应信息发送给所述客户端;或者,
若所述批量作业脚本未执行完成,向所述客户端发送所述超文本传输协议结果查询请求的第二响应信息,以使所述客户端根据所述第二响应信息返回连接建立请求,所述连接建立请求用于建立所述客户端和所述服务器之间的长连接通信,实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,并通过所述长连接通信将已执行完成的所述作业脚本对应的执行结果发送至所述客户端;
所述客户端包括:
第二接收模块,用于接收用户对应多个预设的脚本内容输入的脚本参数和执行主机;
作业生成模块,用于根据多个所述脚本内容以及每个所述脚本内容对应的脚本参数、执行主机,生成批量作业;
作业发送模块,用于向服务器发送所述批量作业,以使所述服务器根据所述批量作业中的多个所述脚本内容以及每个所述脚本内容对应的脚本参数,生成批量作业脚本,并使所述服务器将所述批量作业脚本中的每个作业脚本异步分别下发至与所述作业脚本对应的所述执行主机,以通过所述执行主机执行所述作业脚本并返回所述作业脚本对应的执行结果;
请求发送模块,用于向所述服务器发送所述批量作业脚本的超文本传输协议结果查询请求,所述超文本传输协议结果查询请求用于使所述服务器获取所述批量作业脚本的执行状态,并基于所述批量作业脚本的执行状态,执行以下处理之一:
若所述批量作业脚本已执行完成,所述服务器获取所述批量作业脚本中每个所述作业脚本对应的执行结果,所述服务器将每个所述作业脚本对应的执行结果作为所述超文本传输协议结果查询请求的第一响应信息,将所述第一响应信息发送给所述客户端;或者,
若所述批量作业脚本未执行完成,所述服务器向所述客户端发送所述超文本传输协议结果查询请求的第二响应信息,以使所述客户端根据所述第二响应信息返回连接建立请求,所述连接建立请求用于建立所述客户端和所述服务器之间的长连接通信,所述服务器实时获取所述批量作业脚本中已执行完成的所述作业脚本对应的执行结果,所述服务器通过所述长连接通信将已执行完成的所述作业脚本对应的执行结果发送至所述客户端;
结果接收模块,用于接收所述服务器返回的所述执行结果。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至6中任一项所述的批量作业处理方法。
9.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的批量作业处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210689140.9A CN114938367B (zh) | 2022-06-17 | 2022-06-17 | 批量作业处理方法、系统、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210689140.9A CN114938367B (zh) | 2022-06-17 | 2022-06-17 | 批量作业处理方法、系统、设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114938367A CN114938367A (zh) | 2022-08-23 |
CN114938367B true CN114938367B (zh) | 2023-09-22 |
Family
ID=82868879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210689140.9A Active CN114938367B (zh) | 2022-06-17 | 2022-06-17 | 批量作业处理方法、系统、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114938367B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095819A (zh) * | 2013-01-04 | 2013-05-08 | 微梦创科网络科技(中国)有限公司 | 推送数据信息的方法及数据信息推送系统 |
CN104579822A (zh) * | 2014-12-10 | 2015-04-29 | 华南理工大学 | 基于Http协议的移动应用自动化性能测试系统及方法 |
CN110908685A (zh) * | 2019-11-14 | 2020-03-24 | 国网辽宁省电力有限公司大连供电公司 | 一种基于自定义脚本的装置级定值批量处理方法及系统 |
CN114489989A (zh) * | 2022-01-28 | 2022-05-13 | 中国建设银行股份有限公司 | 一种基于代理客户端并行调度的方法及系统 |
-
2022
- 2022-06-17 CN CN202210689140.9A patent/CN114938367B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103095819A (zh) * | 2013-01-04 | 2013-05-08 | 微梦创科网络科技(中国)有限公司 | 推送数据信息的方法及数据信息推送系统 |
CN104579822A (zh) * | 2014-12-10 | 2015-04-29 | 华南理工大学 | 基于Http协议的移动应用自动化性能测试系统及方法 |
CN110908685A (zh) * | 2019-11-14 | 2020-03-24 | 国网辽宁省电力有限公司大连供电公司 | 一种基于自定义脚本的装置级定值批量处理方法及系统 |
CN114489989A (zh) * | 2022-01-28 | 2022-05-13 | 中国建设银行股份有限公司 | 一种基于代理客户端并行调度的方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114938367A (zh) | 2022-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110086636B (zh) | 一种基于mqtt的消息分发方法、服务器及存储介质 | |
CN112632566B (zh) | 漏洞扫描方法和装置、存储介质及电子设备 | |
CN109547511B (zh) | 一种web消息实时推送方法、服务器、客户端及系统 | |
CN102521027B (zh) | 虚拟桌面系统中的窗口界面传输方法 | |
CN108377247B (zh) | 一种消息推送方法和装置 | |
CN114024972B (zh) | 一种长连接通信方法、系统、装置、设备及存储介质 | |
CN109254854A (zh) | 异步调用方法、计算机装置及存储介质 | |
CN113347269A (zh) | 一种工业系统的数据更新方法、电子设备和存储介质 | |
CN113259415A (zh) | 一种网络报文处理方法、装置及网络服务器 | |
CN111258902B (zh) | 基于SockJS服务器的性能测试方法和性能测试系统 | |
CN116933551A (zh) | 一种联合仿真系统、方法、设备及存储介质 | |
CN113342503B (zh) | 实时进度反馈方法、装置、设备及存储介质 | |
CN114938367B (zh) | 批量作业处理方法、系统、设备及介质 | |
CN109067899A (zh) | 数据显示方法和装置、数据推送方法和装置 | |
Kumar et al. | Analysis of api architecture: A detailed report | |
CN116743836A (zh) | 长连接通信链路建立方法及其装置、电子设备及存储介质 | |
CN114039801B (zh) | 一种短链接生成方法、解析方法和系统、设备、存储介质 | |
CN113079152B (zh) | 一种数据传输方法、装置及介质 | |
CN113986582A (zh) | 一种实时数据推送方法、装置、设备及存储介质 | |
CN114416275A (zh) | 一种实现多个管理客户端同步虚拟机状态的方法及系统 | |
CN111541667A (zh) | 一种系统间消息通信的方法、设备、存储介质 | |
CN115828308B (zh) | 数据访问方法、数据访问装置、电子设备及存储介质 | |
CN113766010B (zh) | 数据流处理方法和装置 | |
CN116861455B (zh) | 事件数据处理方法、系统、电子设备及存储介质 | |
CN112448952B (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 |