CN110365786B - 作业处理系统、异步作业调度方法和计算机设备 - Google Patents
作业处理系统、异步作业调度方法和计算机设备 Download PDFInfo
- Publication number
- CN110365786B CN110365786B CN201910654149.4A CN201910654149A CN110365786B CN 110365786 B CN110365786 B CN 110365786B CN 201910654149 A CN201910654149 A CN 201910654149A CN 110365786 B CN110365786 B CN 110365786B
- Authority
- CN
- China
- Prior art keywords
- job
- asynchronous
- information
- scheduling
- queue
- 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
Images
Classifications
-
- 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
-
- 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/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请提供了一种作业处理系统、异步作业调度方法和计算机设备,其中,该系统包括:生产服务器、异步作业调度系统和消费服务器。生产服务器与异步作业调度系统通信连接,用于生成异步作业处理请求,将异步作业处理请求发送至异步作业调度系统,异步作业处理请求中携带有目标异步作业的作业信息;异步作业调度系统与消费服务器通信连接,用于根据接收到的异步作业处理请求中的作业信息向消费服务器发送调用请求;消费服务器用于响应于接收到的调用请求执行目标异步作业;其中,异步作业调度系统与生产服务器独立部署,异步作业调度系统与消费服务器独立部署。上述系统可以有效避免异步作业调度与联机交易存在系统资源争用,有效提高作业调度效率。
Description
技术领域
本申请涉及计算机信息处理技术领域,特别涉及一种作业处理系统、异步作业调度方法和计算机设备。
背景技术
随着微服务化架构技术的运用,应用系统逐渐由单体式转向分布式。然而在分布式场景下,目前常用的异步作业调度机制已无法满足高并发、高性能、易运维的需求。
目前常用的异步作业调度方法一般包括:基于Quartz调度的应用联机异步处理、基于Oracle调度的数据存储单元后台异步处理等异步作业调度机制。然而,由于这些现有的异步作业调度机制多采用与应用系统合并部署的运行管理方式,导致异步作业与联机交易间会存在系统资源争用的问题。
针对上述问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种作业处理系统、异步作业调度方法和计算机设备,以解决现有技术中异步作业调度与联机交易间存在系统资源争用的问题。
本申请实施例提供了一种作业处理系统,包括:生产服务器、异步作业调度系统和消费服务器;生产服务器与异步作业调度系统通信连接,用于生成异步作业处理请求,并将异步作业处理请求发送至异步作业调度系统,其中,异步作业处理请求中携带有目标异步作业的作业信息;异步作业调度系统与消费服务器通信连接,用于根据接收到的异步作业处理请求中的作业信息向消费服务器发送调用请求;消费服务器用于响应于接收到的调用请求执行目标异步作业;其中,异步作业调度系统与生产服务器独立部署,异步作业调度系统与消费服务器独立部署。
在一个实施例中,异步作业调度系统包括独立部署的作业调度装置、作业队列装置和作业处理装置,其中,作业调度装置与生产服务器通信连接,用于接收生产服务器发送的异步作业处理请求,根据异步作业处理请求中的作业信息生成作业运行信息,并将作业运行信息发送至作业队列装置,作业运行信息中包括作业信息以及目标异步作业的运行配置参数;作业队列装置与作业调度装置通信连接,用于将接收到的作业运行信息缓存至消息队列中,并将消息队列中的作业运行信息分发至作业处理装置;作业处理装置与作业队列装置通信连接,用于对接收到的作业运行信息进行解析,并根据解析结果向消费服务器发送调用请求。
在一个实施例中,作业调度装置和/或作业处理装置基于PaaS云平台进行分布式部署。
在一个实施例中,作业调度装置与作业队列装置采用Spring-Kafka组件对接,以将作业运行信息投递至作业队列装置的消息队列中。
在一个实施例中,作业处理装置与作业队列装置采用Spring-Kafka组件对接,以从作业队列装置接收作业运行信息。
在一个实施例中,消息队列采用集群形式部署。
本申请实施例还提供了一种基于上述任意实施例所述的作业处理系统的异步作业调度方法,包括:异步作业调度系统接收生产服务器发送的异步作业处理请求,其中,异步作业处理请求中携带有目标异步作业的作业信息;异步作业调度系统根据作业信息调用消费服务器执行目标异步作业。
在一个实施例中,异步作业调度系统根据作业信息调用消费服务器执行目标异步作业,包括:作业调度装置根据接收到的异步作业处理请求中的作业信息生成作业运行信息,并将作业运行信息发送至作业队列装置,其中,作业运行信息中包括作业信息以及目标异步作业的运行配置参数;作业队列装置将接收到的作业运行信息缓存到消息队列,并将消息队列中的作业运行信息分发至作业处理装置;作业处理装置对接收到的作业运行信息进行解析,并根据解析结果调用消费服务器执行目标异步作业。
在一个实施例中,作业调度装置根据接收到的异步作业处理请求中的作业信息生成作业运行信息,并将作业运行信息发送至作业队列装置,包括:根据作业信息确定目标异步作业是否为预设类型的作业,在确定目标异步作业为预设类型的作业的情况下,将作业信息发送至作业队列装置进行存储;根据作业信息和预设调度策略生成作业运行信息;将作业运行信息投递至作业队列装置的消息队列中。
在一个实施例中,作业处理装置对接收到的作业运行信息进行解析,并根据解析结果调用消费服务器执行目标异步作业,包括:监听接收到的作业运行信息;对监听到的作业运行信息进行解析,并根据解析结果通过远程过程调用来调用消费服务器执行目标异步作业;确定目标异步作业是否为预设类型的作业;在确定目标异步作业为预设类型的作业的情况下,从消费服务器获取目标异步作业的执行状态信息;将接收到的执行状态信息发送至作业队列装置,以更新作业队列装置中存储的作业信息对应的目标异步作业的执行状态。
本申请实施例还提供一种计算机设备,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现上述任意实施例中所述的异步作业调度方法的步骤。
本申请实施例还提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被执行时实现上述任意实施例中所述的异步作业调度方法的步骤。
在本申请实施例中,提供了一种作业处理系统,包括:生产服务器、异步作业调度系统和消费服务器,生产服务器用于生成异步作业处理请求,并将异步作业处理请求发送至异步作业调度系统,异步作业调度系统用于根据接收到的异步作业处理请求中的作业信息向消费服务器发送调用请求,消费服务器响应于接收到的调用请求执行目标异步作业,其中,异步作业调度系统与生产服务器独立部署,异步作业调度系统与消费服务器独立部署。上述方案中,通过将异步作业调度系统与生产服务器和消费服务器独立部署,降低了异步作业调度系统与生产服务器和消费服务器之间的耦合,可以有效避免异步作业调度与联机交易存在系统资源争用,有效提高作业调度效率和准确度。通过上述方案解决了现有的异步作业调度与联机交易存在系统资源争用的技术问题,达到了有效提升作业调度效率和准确度的技术效果。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,并不构成对本申请的限定。在附图中:
图1示出了本申请一实施例中的作业处理系统的示意图;
图2示出了本申请一实施例中的作业调度装置的示意图;
图3示出了本申请一实施例中的作业队列装置的示意图;
图4示出了本申请一实施例中的作业处理装置的示意图;
图5示出了本申请一实施例中的异步作业调度方法的流程图;
图6示出了本申请一实施例中的异步作业调度方法的流程图;
图7示出了本申请一实施例中的异步作业调度方法的流程图;
图8示出了本申请一实施例中的计算机设备的示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
本领域的技术人员知道,本申请的实施方式可以实现为一种系统、装置设备、方法或计算机程序产品。因此,本申请公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式。
考虑到现有的异步作业调度机制多采用与应用系统合并部署的运行管理方式,导致异步作业与联机交易间无可避免地存在系统资源争用的问题,对此,发明人通过研究发现可以通过将异步作业调度框架单独抽离出来形成独立部署的系统,不再与原应用系统耦合,可以避免出现资源争用的情况。
基于此,本申请实施例提供了一种作业处理系统。图1示出了本申请实施例提供的作业处理系统的示意图。示意性地,如图1所示,作业处理系统可以包括:生产服务器101、异步作业调度系统102和消费服务器103。其中,异步作业调度系统102与生产服务器101和消费服务器103独立部署。生产服务器101与异步作业调度系统102通信连接,用于生成异步作业处理请求,并将异步作业处理请求发送至异步作业调度系统102,其中,异步作业处理请求中携带有目标异步作业的作业信息。异步作业调度系统102与消费服务器103通信连接,用于根据接收到的异步作业处理请求中的作业信息向消费服务器103发送调用请求。消费服务器103用于响应于接收到的调用请求执行目标异步作业。
其中,生产服务器101可以用于对接异步作业调度系统102进行异步作业创建,同时支持HTTP(超文本传输协议)服务、分布式服务、数据库指令等多种接入方式。异步作业调度系统102可以接收生产服务器101发送的异步作业处理请求,其中,异步作业处理请求中携带有目标异步作业的作业信息。异步作业调度系统102可以根据接收到作业信息和预设的调度策略生成调度请求,并向消费服务器103发送调用请求。消费服务器103可以与异步作业调度系统102通信连接,消费服务器103可以根据异步作业调度系统102发起的调用请求,执行实际的异步作业逻辑。
上述实施例中的作业处理系统,通过将异步作业调度系统与生产服务器和消费服务器独立部署,降低了异步作业调度系统与生产服务器和消费服务器之间的耦合,可以有效避免异步作业调度与联机交易存在系统资源争用,有效提高作业调度效率和准确度。通过上述方案解决了现有的异步作业调度与联机交易存在系统资源争用的技术问题,达到了有效提升作业调度效率和准确度的技术效果。
进一步地,如图1所示,在本申请的一些实施例中,异步作业调度系统102包括独立部署的作业调度装置200、作业队列装置300和作业处理装置400。其中,作业调度装置200与生产服务器101通信连接,用于接收生产服务器101发送的异步作业处理请求,根据异步作业处理请求中的作业信息生成作业运行信息,并将作业运行信息发送至作业队列装置300。其中,作业运行信息中包括作业信息以及目标异步作业的运行配置参数。作业队列装置300与作业调度装置200通信连接。作业队列装置300用于将接收到的作业运行信息缓存至消息队列中,并将消息队列中的作业运行信息分发至作业处理装置400。作业处理装置400与作业队列装置300通信连接,用于对接收到的作业运行信息进行解析,并根据解析结果向消费服务器103发送调用请求。
具体地,作业调度装置200可以根据接收到的异步作业处理请求中的作业信息和预设的作业调度策略生成作业运行信息。其中,预设的作业调度策略可以包括作业优先级、超时时间、重试次数等任务调度相关参数。生成的作业运行信息中包括作业信息和作业执行相关的配置参数,便于后面的作业队列装置300和作业处理装置400进行后续处理。作业队列装置300可以与作业调度装置200和作业处理装置相400连。作业队列装置300在收到作业调度装置200投递的作业运行信息后,对作业运行信息缓存,并转发给作业处理装置400,在转发失败时自动重试,直至作业处理装置400正常接收消息。作业处理装置400与作业队列装置300和消费服务器103相连,对接收到的作业运行信息进行解析,根据解析结果调用消费服务器103相应的处理服务来完成异步处理。
上述实施例中的作业处理系统,通过将异步作业调度系统进一步剥离为作业调度装置、作业队列装置和作业处理装置,可以实现按功能分离管理,通过消息中间件实现消息投递和可靠分发,通过将异步任务调度、异步任务处理分别抽取为独立的运行装置,可以形成快速扩展能力,提高系统的可扩展性。
如图1所示,在本申请的一些实施例中,作业调度装置200可以将作业信息转储至作业队列装置的数据库中,作业处理装置可以更新数据库中存储的作业信息的执行状态,以便于后续查询。
在本申请的一些实施例中,作业调度装置和/或作业处理装置基于PaaS(Platformas a Service,平台即服务)云平台进行分布式部署。通过上述方式,可以实现快速部署和动态伸缩,依托PaaS云平台的资源高效利用,可以提升异步作业处理系统对外服务能力,进一步满足高频、大并发业务场景的应用需要。
在本申请的一些实施例中,作业调度装置与作业队列装置采用Spring-Kafka组件对接,以将作业运行信息投递至作业队列装置的消息队列中。
在本申请的一些实施例中,作业处理装置与作业队列装置采用Spring-Kafka组件对接,以从作业队列装置接收作业运行信息。
在本申请的一些实施例中,消息队列采用集群形式部署。通过上述方式,由于消息队列以集群形式部署,支持横向扩展,可快速提升作业调度系统整体吞吐量。
请参考图2,图2示出了本申请一实施例中的作业调度装置的示意图。如图2所示,作业调度装置200包括作业接收单元201、作业调度单元202和消息投递单元203。其中,作业接收单元201用于接收生产服务器发送的异步作业处理请求,将接收到的异步作业处理请求发送至作业调度单元202。作业接收单元201还用于根据异步作业处理请求中携带的作业信息确定目标异步作业是否为预设类型的作业,在确定目标异步作业为预设类型的作业的情况下,将作业信息发送至作业队列装置进行存储并将作业信息发送至作业调度单元,在确定目标异步作业不为预设类型的作业的情况下,直接将作业信息发送至作业调度单元。作业调度单元202用于根据作业信息和预设调度策略生成作业运行信息,并将生成的作业运行信息发送至消息投递单元203。消息投递单元203用于将作业运行信息投递至作业队列装置。
具体地,作业接收单元201可以用于接收生成者装置的异步作业请求,同时对外提供HTTP服务、分布式服务、数据库指令等多种接入方式。作业接收单元201还可以用于根据异步作业处理请求中携带的作业信息确定目标异步作业是否为预设类型的作业,在确定目标异步作业为预设类型的作业的情况下,将作业信息发送至作业队列装置进行存储并将作业信息发送至作业调度单元,在确定目标异步作业不为预设类型的作业的情况下,直接将作业信息发送至作业调度单元。其中,预设类型的作业由生产服务器在作业信息中限定。预设类型的作业可以为需要保存作业信息并且更新作业执行状态的异步作业。作业调度单元202可以采用后台线程定时扫描接收到的作业信息,并根据作业优先级、超时时间、重试次数等作业调度相关参数生成作业运行信息,将作业运行信息通过消息投递单元203推送至作业队列装置。
请参考图3,图3示出了本申请一实施例中的作业队列装置的示意图。如图3所示,作业队列装置300包括消息队列单元301和数据存储单元302。数据存储单元302用于存储作业接收单元发送的作业信息。消息投递单元203采用Spring-Kafka组件对接消息队列单元31,消息队列单元301单元用于接收消息投递单元203投递的作业运行信息,对接收到的作业运行信息进行缓存,并将作业运行信息分发至作业处理装置。
其中,消息队列单元301可以部署开源软件Kafka集群,用于作业运行信息的可靠传递和分发,通过在Kafka集群定义多个Topic的方式实现不同优先级队列的独立消息传递。依托Kafka优良的可扩展性,可通过横向扩展快速提升作业调度系统的整体吞吐量。数据存储单元302可以基于数据库提供作业类型参数的配置和存储,包括优先级、超时时间、重试次数等任务调度相关参数。上述作业队列装置可以实现任务接收与调度、消息队列消息发送与消费等中间状态的跟踪,以及异步作业最终处理结果的确认。数据存储单元302基于数据库提供作业类型参数的配置和存储,包括优先级、超时时间、重试次数等任务调度相关参数,针对预设类型的作业进行作业信息转储和执行状态更新。
请参考图4,图4示出了本申请一实施例中的作业队列装置的示意图。如图4所示,作业处理装置400包括消息监听单元401、作业执行单元402和状态更新单元403。消息监听单元401用于接收消息队列单元分发的作业运行信息,并监听接收到的作业运行信息。作业执行单元402用于对消息监听单元401监听到的作业运行信息进行解析,并根据解析结果通过远程过程调用来调用消费服务器执行目标异步作业,还用于确定目标异步作业是否为预设类型的作业,并且在确定目标异步作业为预设类型的作业的情况下,从消费服务器获取目标异步作业的执行状态信息,并将执行状态信息发送至状态更新单元403。状态更新单元403用于根据执行状态信息更新数据存储单元302中存储的作业信息对应的目标异步作业的执行状态。
其中,消息监听单元401可以采用Spring-Kafka组件对接消息队列单元301,监听多个Topic中传递的异步任务运行信息。作业执行单元402可以对消息监听单元401监听到的消息进行解析,并根据解析结果调用消费服务器中相应的处理服务来完成实际处理。作业执行单元402可以判断目标异步作业是否为预设类型的作业,若为预设类型的作业,则通过状态更新单元403实时更新作业执行状态。状态更新单元403可以与数据存储单元302连接,实现预设类型的作业的执行状态的更新。
本申请实施例还提供了一种异步作业调度方法,该方法基于上述任意实施例中所述的作业处理系统,图5示出了本申请一实施例中异步作业调度方法的流程图。虽然本申请提供了如下述实施例或附图所示的方法操作步骤或装置结构,但基于常规或者无需创造性的劳动在所述方法或装置中可以包括更多或者更少的操作步骤或模块单元。在逻辑性上不存在必要因果关系的步骤或结构中,这些步骤的执行顺序或装置的模块结构不限于本申请实施例描述及附图所示的执行顺序或模块结构。所述的方法或模块结构的在实际中的装置或终端产品应用时,可以按照实施例或者附图所示的方法或模块结构连接进行顺序执行或者并行执行(例如并行处理器或者多线程处理的环境,甚至分布式处理环境)。
具体地,如图5所示,本申请一种实施例提供的异步作业调度方法可以包括以下步骤:
步骤S501,异步作业调度系统接收生产服务器发送的异步作业处理请求,其中,异步作业处理请求中携带有目标异步作业的作业信息。
步骤S502,异步作业调度系统根据作业信息调用消费服务器执行目标异步作业。
具体地,生产服务器向作业调度系统发送异步作业处理请求。异步作业调度系统响应于接收到的异步作业处理请求,调用消费服务器执行目标异步作业。其中,异步作业处理请求中携带有目标异步作业的作业信息。其中,生产服务器用于创建异步作业,并生成异步作业处理请求。消费服务器响应于调用请求,执行目标异步作业。
上述实施例中的异步作业调度方法,通过与生产服务器和消费服务器独立部署的异步作业调度系统执行异步作业调度方法,可以降低异步作业调度系统与生产服务器和消费服务器之间的耦合,能够有效避免异步作业调度与联机交易存在系统资源争用,有效提高作业调度效率和准确度。
在本申请一些实施例中,如图6所示,异步作业调度系统根据作业信息调用消费服务器执行目标异步作业,包括:
步骤S601,作业调度装置根据接收到的异步作业处理请求中的作业信息生成作业运行信息,并将作业运行信息发送至作业队列装置,其中,作业运行信息中包括作业信息以及目标异步作业的运行配置参数。
步骤S602,作业队列装置将接收到的作业运行信息缓存到消息队列,并将消息队列中的作业运行信息分发至作业处理装置。
步骤S603,作业处理装置对接收到的作业运行信息进行解析,并根据解析结果调用消费服务器执行目标异步作业。
具体地,作业调度装置与生产服务器通信连接,接收生产服务器发送的异步作业处理请求。作业调度装置可以根据异步作业处理请求中的作业信息生成作业运行信息,并将作业运行信息发送至作业队列装置。生成的作业运行信息中可以包括作业信息以及目标异步作业的运行配置参数。作业队列装置与作业调度装置通信连接,用于将接收到的作业运行信息缓存至消息队列中,并将消息队列中的作业运行信息分发至作业处理装置。作业处理装置与作业队列装置通信连接,用于对接收到的作业运行信息进行解析,并根据解析结果向消费服务器发送调用请求,以调用消费服务器执行目标异步作业。
上述实施例中的异步作业调度方法,通过独立部署的作业调度装置、作业队列装置和作业处理装置执行异步作业调度,可以实现按功能分离管理,通过消息中间件实现消息投递和可靠分发,通过将异步任务调度、异步任务处理分别抽取为独立的运行装置,可以形成快速扩展能力,提高系统的可扩展性。
在本申请一些实施例中,作业调度装置根据接收到的异步作业处理请求中的作业信息生成作业运行信息,并将作业运行信息发送至作业队列装置,可以包括:根据作业信息确定目标异步作业是否为预设类型的作业,在确定目标异步作业为预设类型的作业的情况下,将作业信息发送至作业队列装置进行存储;根据作业信息和预设调度策略生成作业运行信息;将作业运行信息投递至作业队列装置的消息队列中。
其中,预设类型的作业由生产服务器在作业信息中限定。预设类型的作业可以为需要保存作业信息并且更新作业执行状态的异步作业。作业调度装置根据作业信息确定目标异步作业是否为预设类型的作业,在确定目标异步作业为预设类型的作业的情况下,将作业信息发送至作业队列装置的数据存储单元进行存储。作业调度装置根据作业信息和预设调度策略生成作业运行信息。其中,预设的作业调度策略可以包括作业优先级、超时时间、重试次数等任务调度相关参数。生成的作业运行信息包括作业信息和作业运行相关的配置参数。在生成作业运行信息之后,将作业运行信息投递至作业队列装置的消息队列单元中。
在本申请一些实施例中,作业处理装置对接收到的作业运行信息进行解析,并根据解析结果调用消费服务器执行目标异步作业,可以包括:监听接收到的作业运行信息;对监听到的作业运行信息进行解析,并根据解析结果通过远程过程调用来调用消费服务器执行目标异步作业;确定目标异步作业是否为预设类型的作业;在确定目标异步作业为预设类型的作业的情况下,从消费服务器获取目标异步作业的执行状态信息;将接收到的执行状态信息发送至作业队列装置,以更新作业队列装置中存储的作业信息对应的目标异步作业的执行状态。
具体地,作业处理装置监听接收到的作业运行信息,对监听到的作业运行信息进行解析,并根据解析结果确定要调用的消费服务器,并发送调用请求,以调用消费服务器执行目标异步作业。作业处理装置还可以确定目标异步作业是否为预设类型的作业的情况下,从消费服务器获取目标异步作业的执行状态信息,并将接收到的执行状态信息发送至作业队列装置,以更新作业队列装置中存储的作业信息对应的目标异步作业的执行状态。
下面结合一个具体实施例对上述方法进行说明,然而,值得注意的是,该具体实施例仅是为了更好地说明本申请,并不构成对本申请的不当限定。
请参考图7,示出了一个具体实施例中的异步作业调度方法的流程图。如图7所示,本实施例中的异步作业调度方法包括以下步骤:
步骤1,生产服务器将待处理的作业通过多种接入方式推送至异步作业调度系统;
步骤2,作业调度装置接收生产服务器的异步作业处理请求,所述异步作业处理请求中携带有目标异步作业的作业信息;
步骤3,作业接收单元根据作业信息确定目标异步作业是否为可靠作业,若是则执行步骤4,否则执行步骤5;
步骤4,作业接收单元将作业信息存储至作业队列装置的数据存储单元,之后执行步骤5;
步骤5,作业调度单元接收非可靠作业,同时扫描待处理的可靠作业,根据优先级、超时时间、重试次数等任务调度相关参数生成作业运行信息;
步骤6,消息投递单元将作业运行信息推送至作业队列装置的消息队列单元;
步骤7,消息队列单元对作业运行信息进行可靠消息传递和分发;
步骤8,消息监听单元接收消息队列单元中传递的消息;
步骤9,作业执行单元调用消费服务器相应的处理服务来完成异步处理;
步骤10,消费服务器接收远程过程调用请求,执行实际作业处理逻辑;
步骤11,作业执行单元判断是否为可靠作业,若是则执行步骤12,否则执行步骤13;
步骤12,状态更新单元获取作业执行状态,并更新数据存储单元中的作业信息对应的异步作业的执行状态;
步骤13,结束。
上述实施例中的异步作业调度方法,异步作业调度系统与生产服务器和消费服务器完全分离,可以有效避免出现资源争用的情况以及雪崩效应的影响;同时将异步任务调度、异步任务处理分别抽取为独立的运行装置,形成快速扩展能力;作业调度装置和作业处理装置依托PaaS云平台的资源高效利用,可以有效提升异步作业处理系统对外服务能力,满足高频大并发业务场景的需要。
从以上的描述中,可以看出,本申请实施例实现了如下技术效果:通过将异步作业调度系统与生产服务器和消费服务器独立部署,降低了异步作业调度系统与生产服务器和消费服务器之间的耦合,可以有效避免异步作业调度与联机交易存在系统资源争用,有效提高作业调度效率和准确度。通过上述方案解决了现有的异步作业调度与联机交易存在系统资源争用的技术问题,达到了有效提升作业调度效率和准确度的技术效果;进一步地,通过多种请求形式对外提供统一封装、便捷适配的异步任务处理服务。
本申请实施方式还提供了一种计算机设备,具体可以参阅图8所示的基于本申请实施例提供的异步作业调度方法的计算机设备组成结构示意图,所述计算机设备具体可以包括输入设备81、处理器82、存储器83。其中,所述存储器83用于存储处理器可执行指令。所述处理器82执行所述指令时实现上述任意实施例中所述的异步作业调度方法的步骤。
在本实施方式中,所述输入设备具体可以是用户和计算机系统之间进行信息交换的主要装置之一。所述输入设备可以包括键盘、鼠标、摄像头、扫描仪、光笔、手写输入板、语音输入装置等;输入设备用于把原始数据和处理这些数的程序输入到计算机中。所述输入设备还可以获取接收其他模块、单元、设备传输过来的数据。所述处理器可以按任何适当的方式实现。例如,处理器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式等等。所述存储器具体可以是现代信息技术中用于保存信息的记忆设备。所述存储器可以包括多个层次,在数字系统中,只要能保存二进制数据的都可以是存储器;在集成电路中,一个没有实物形式的具有存储功能的电路也叫存储器,如RAM、FIFO等;在系统中,具有实物形式的存储设备也叫存储器,如内存条、TF卡等。
在本实施方式中,该计算机设备具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
本申请实施方式中还提供了一种基于异步作业调度方法的计算机存储介质,所述计算机存储介质存储有计算机程序指令,在所述计算机程序指令被执行时实现上述任意实施例中所述异步作业调度方法的步骤。
在本实施方式中,上述存储介质包括但不限于随机存取存储器(Random AccessMemory,RAM)、只读存储器(Read-Only Memory,ROM)、缓存(Cache)、硬盘(Hard DiskDrive,HDD)或者存储卡(Memory Card)。所述存储器可以用于存储计算机程序指令。网络通信单元可以是依照通信协议规定的标准设置的,用于进行网络连接通信的接口。
在本实施方式中,该计算机存储介质存储的程序指令具体实现的功能和效果,可以与其它实施方式对照解释,在此不再赘述。
显然,本领域的技术人员应该明白,上述的本申请实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本申请实施例不限制于任何特定的硬件和软件结合。
应该理解,以上描述是为了进行图示说明而不是为了进行限制。通过阅读上述描述,在所提供的示例之外的许多实施方式和许多应用对本领域技术人员来说都将是显而易见的。因此,本申请的范围不应该参照上述描述来确定,而是应该参照前述权利要求以及这些权利要求所拥有的等价物的全部范围来确定。
以上所述仅为本申请的优选实施例而已,并不用于限制本申请,对于本领域的技术人员来说,本申请实施例可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (11)
1.一种作业处理系统,其特征在于,包括:生产服务器、异步作业调度系统和消费服务器;其中,
所述生产服务器与所述异步作业调度系统通信连接,用于生成异步作业处理请求,并将所述异步作业处理请求发送至所述异步作业调度系统,其中,所述异步作业处理请求中携带有目标异步作业的作业信息;
所述异步作业调度系统与所述消费服务器通信连接,用于根据接收到的所述异步作业处理请求中的作业信息向所述消费服务器发送调用请求;
所述消费服务器用于响应于接收到的调用请求执行所述目标异步作业;
其中,所述异步作业调度系统与所述生产服务器独立部署,所述异步作业调度系统与所述消费服务器独立部署;
其中,所述异步作业调度系统包括独立部署的作业调度装置、作业队列装置和作业处理装置,其中,
所述作业调度装置与所述生产服务器通信连接,用于接收所述生产服务器发送的所述异步作业处理请求,根据所述异步作业处理请求中的作业信息和预设的作业调度策略生成作业运行信息,并将所述作业运行信息发送至所述作业队列装置,其中,所述作业运行信息中包括所述作业信息以及所述目标异步作业的运行配置参数;
所述作业队列装置与所述作业调度装置通信连接,用于将接收到的作业运行信息缓存至消息队列中,并将所述消息队列中的作业运行信息分发至所述作业处理装置;
所述作业处理装置与所述作业队列装置通信连接,用于对接收到的所述作业运行信息进行解析,并根据解析结果向所述消费服务器发送所述调用请求。
2.根据权利要求1所述的作业处理系统,其特征在于,所述作业调度装置和/或所述作业处理装置基于PaaS云平台进行分布式部署。
3.根据权利要求1所述的作业处理系统,其特征在于,所述作业调度装置与所述作业队列装置采用Spring-Kafka组件对接,以将所述作业运行信息投递至所述作业队列装置的消息队列中。
4.根据权利要求1所述的作业处理系统,其特征在于,所述作业处理装置与所述作业队列装置采用Spring-Kafka组件对接,以从所述作业队列装置接收所述作业运行信息。
5.根据权利要求1所述的作业处理系统,其特征在于,所述消息队列采用集群形式部署。
6.一种基于权利要求1至5中任一项所述的作业处理系统的异步作业调度方法,其特征在于,所述方法包括:
异步作业调度系统接收生产服务器发送的异步作业处理请求,其中,所述异步作业处理请求中携带有目标异步作业的作业信息;
所述异步作业调度系统根据所述作业信息调用消费服务器执行所述目标异步作业。
7.根据权利要求6所述的方法,其特征在于,所述异步作业调度系统根据所述作业信息调用消费服务器执行所述目标异步作业,包括:
作业调度装置根据接收到的所述异步作业处理请求中的作业信息生成作业运行信息,并将所述作业运行信息发送至作业队列装置,其中,所述作业运行信息中包括所述作业信息以及所述目标异步作业的运行配置参数;
所述作业队列装置将接收到的作业运行信息缓存到消息队列,并将所述消息队列中的作业运行信息分发至作业处理装置;
所述作业处理装置对接收到的所述作业运行信息进行解析,并根据解析结果调用所述消费服务器执行所述目标异步作业。
8.根据权利要求7所述的方法,其特征在于,作业调度装置根据接收到的所述异步作业处理请求中的作业信息生成作业运行信息,并将所述作业运行信息发送至作业队列装置,包括:
根据所述作业信息确定所述目标异步作业是否为预设类型的作业,在确定所述目标异步作业为预设类型的作业的情况下,将所述作业信息发送至所述作业队列装置进行存储;
根据所述作业信息和预设调度策略生成作业运行信息;
将所述作业运行信息投递至所述作业队列装置的消息队列中。
9.根据权利要求8所述的方法,其特征在于,所述作业处理装置对接收到的所述作业运行信息进行解析,并根据解析结果调用所述消费服务器执行所述目标异步作业,包括:
监听接收到的所述作业运行信息;
对监听到的作业运行信息进行解析,并根据解析结果通过远程过程调用来调用所述消费服务器执行所述目标异步作业;
确定所述目标异步作业是否为所述预设类型的作业;
在确定所述目标异步作业为所述预设类型的作业的情况下,从所述消费服务器获取所述目标异步作业的执行状态信息;
将接收到的所述执行状态信息发送至所述作业队列装置,以更新所述作业队列装置中存储的所述作业信息对应的目标异步作业的执行状态。
10.一种计算机设备,其特征在于,包括处理器以及用于存储处理器可执行指令的存储器,所述处理器执行所述指令时实现权利要求6至9中任一项所述方法的步骤。
11.一种计算机可读存储介质,其上存储有计算机指令,其特征在于,所述指令被处理器执行时实现权利要求6至9中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654149.4A CN110365786B (zh) | 2019-07-19 | 2019-07-19 | 作业处理系统、异步作业调度方法和计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910654149.4A CN110365786B (zh) | 2019-07-19 | 2019-07-19 | 作业处理系统、异步作业调度方法和计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110365786A CN110365786A (zh) | 2019-10-22 |
CN110365786B true CN110365786B (zh) | 2022-03-22 |
Family
ID=68221184
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910654149.4A Active CN110365786B (zh) | 2019-07-19 | 2019-07-19 | 作业处理系统、异步作业调度方法和计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110365786B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111464628B (zh) * | 2020-03-31 | 2022-10-11 | 中国工商银行股份有限公司 | 多路复用异步处理系统及方法 |
CN112738173A (zh) * | 2020-12-23 | 2021-04-30 | 上海创远仪器技术股份有限公司 | 无线电跨系统间实现可扩展异步消息处理的方法、系统、装置及存储介质 |
CN115002207B (zh) * | 2022-05-27 | 2024-02-23 | 三一智矿科技有限公司 | 信息通信方法及系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1456753A2 (de) * | 2001-12-12 | 2004-09-15 | Siemens Aktiengesellschaft | System und verfahren zur modellierung und/oder realisierung von softwareanwendungen, insbesondere mes-anwendungen |
CN202600778U (zh) * | 2012-02-16 | 2012-12-12 | 中国工商银行股份有限公司 | 一种用于热表数据更新的异步处理系统 |
CN103957188A (zh) * | 2014-03-24 | 2014-07-30 | 浪潮集团山东通用软件有限公司 | 一种对称的双向解耦的企业服务描述方法及服务调度系统 |
CN104035775A (zh) * | 2014-06-12 | 2014-09-10 | 华夏银行股份有限公司 | 一种银行的综合前置系统 |
CN106209468A (zh) * | 2016-07-21 | 2016-12-07 | 广东电网有限责任公司中山供电局 | 异构主备调度自动化系统之间操作信息同步的方法及系统 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN108196961A (zh) * | 2017-12-28 | 2018-06-22 | 广东蜂助手网络技术股份有限公司 | 一种异步消息处理方法、终端、系统及存储介质 |
CN109582446A (zh) * | 2018-10-11 | 2019-04-05 | 中国建设银行股份有限公司 | 准实时异步批量处理系统、方法、装置和存储介质 |
-
2019
- 2019-07-19 CN CN201910654149.4A patent/CN110365786B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1456753A2 (de) * | 2001-12-12 | 2004-09-15 | Siemens Aktiengesellschaft | System und verfahren zur modellierung und/oder realisierung von softwareanwendungen, insbesondere mes-anwendungen |
CN202600778U (zh) * | 2012-02-16 | 2012-12-12 | 中国工商银行股份有限公司 | 一种用于热表数据更新的异步处理系统 |
CN103957188A (zh) * | 2014-03-24 | 2014-07-30 | 浪潮集团山东通用软件有限公司 | 一种对称的双向解耦的企业服务描述方法及服务调度系统 |
CN104035775A (zh) * | 2014-06-12 | 2014-09-10 | 华夏银行股份有限公司 | 一种银行的综合前置系统 |
CN106209468A (zh) * | 2016-07-21 | 2016-12-07 | 广东电网有限责任公司中山供电局 | 异构主备调度自动化系统之间操作信息同步的方法及系统 |
CN106453288A (zh) * | 2016-09-29 | 2017-02-22 | 上海和付信息技术有限公司 | 一种支持异步模式的分布式微服务框架系统及其实现方法 |
CN108196961A (zh) * | 2017-12-28 | 2018-06-22 | 广东蜂助手网络技术股份有限公司 | 一种异步消息处理方法、终端、系统及存储介质 |
CN109582446A (zh) * | 2018-10-11 | 2019-04-05 | 中国建设银行股份有限公司 | 准实时异步批量处理系统、方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110365786A (zh) | 2019-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110365786B (zh) | 作业处理系统、异步作业调度方法和计算机设备 | |
US10671458B2 (en) | Epoll optimisations | |
US20050060608A1 (en) | Maximizing processor utilization and minimizing network bandwidth requirements in throughput compute clusters | |
US9753783B2 (en) | System and method for accelerating mapreduce operation | |
US10417062B2 (en) | Method and apparatus of unloading out of memory processing flow to user space | |
US9218226B2 (en) | System and methods for remote access to IMS databases | |
CN113452774B (zh) | 消息推送方法、装置、设备及存储介质 | |
US6256660B1 (en) | Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts | |
US6012121A (en) | Apparatus for flexible control of interrupts in multiprocessor systems | |
CN108664520A (zh) | 维护数据一致性的方法、装置、电子设备和可读存储介质 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN105761039A (zh) | 快递信息大数据处理方法 | |
CN114615308A (zh) | 基于rpc的异步多线程并发网络通讯方法及装置 | |
US10673983B2 (en) | Processing a unit of work | |
CN110738156A (zh) | 一种基于消息中间件的人脸识别系统及方法 | |
US8201017B2 (en) | Method for queuing message and program recording medium thereof | |
US10523746B2 (en) | Coexistence of a synchronous architecture and an asynchronous architecture in a server | |
US11789777B2 (en) | Resource utilization method, electronic device, and computer program product | |
CN112000720A (zh) | 数据库连接的管理方法、管理系统以及数据库连接池 | |
CN115767448B (zh) | 一种消息发送方法、装置、设备和存储介质 | |
CN116361016B (zh) | 一种网络控制器消息处理方法、系统 | |
CN112866359B (zh) | 数据上链方法、装置、电子设备及存储介质 | |
US10419532B2 (en) | Asynchronous connection handling in a multi-threaded server | |
CN115567477A (zh) | 一种处理消息堆积的方法、设备、及存储介质 | |
CN112099973A (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 |