[发明专利]异步任务处理方法、装置、计算机设备和存储介质有效
申请号: | 201911058346.6 | 申请日: | 2019-11-01 |
公开(公告)号: | CN110990132B | 公开(公告)日: | 2023-03-10 |
发明(设计)人: | 陈曦 | 申请(专利权)人: | 浙江大搜车软件技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F9/50 |
代理公司: | 杭州华进联浙知识产权代理有限公司 33250 | 代理人: | 金无量 |
地址: | 310000 浙江省杭州市余*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 异步 任务 处理 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种异步任务处理方法、装置、计算机设备和存储介质。涉及计算机技术领域。所述方法包括:通过首先检测任务数据库中是否存在未执行的异步任务;然后当检测到该任务数据库中存在该未执行的异步任务时,根据该未执行的异步任务的类型将该未执行的异步任务添加至对应的任务队列中;最后当存在空闲线程时,利用该空闲线程执行该任务队列中的异步任务。采用本方法能够简化处理异步任务时的操作。
技术领域
本申请涉及计算机技术领域,特别是涉及一种异步任务处理方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,软件开发变得常见起来,在软件开发过程中,异步任务是一种十分常见的需求,一些耗时的操作需要放到异步队列中去执行,延时任务也是异步任务的一种,例如交易场景下的定时关单需求。目前可以通过消息队列中间件的方法实现异步任务的处理。
相关的通过消息队列中间件实现异步任务处理的方法中,需要事先申请主题模式(英文:Topic)、生产者编号(英文:CID)和消费者编号(英文:PID)。然后生产者(也即是异步任务的生产方)将异步任务以消息的形放入消息队列中间件,消费者(也即是异步任务的处理方)异步地从消费队列里获取消息进行任务处理。
然而,目前的利用消息队列中间件的方法实现异步任务的处理的方法存在操作较为复杂的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够简便操作的异步任务处理方法、装置、计算机设备和存储介质。
第一方面,提供一种异步任务处理方法,该方法包括:
检测任务数据库中是否存在未执行的异步任务;
当检测到该任务数据库中存在该未执行的异步任务时,根据该未执行的异步任务的类型将该未执行的异步任务添加至对应的任务队列中;
当存在空闲线程时,利用该空闲线程执行该任务队列中的异步任务。
在其中一个实施例中,该检测任务数据库中是否存在未执行的异步任务,包括:
根据预设的间隔时长以及该任务数据库对应的系统中客户端的数量,获取轮询间隔时长;
根据该轮询间隔时长,对该任务数据库中是否存在该未执行的异步任务进行轮询检测。
在其中一个实施例中,该根据该异步任务的类型将该异步任务添加至对应的任务队列中,包括:
当该未执行的异步任务的类型为依赖类型或者延时类型时,将该未执行的异步任务添加至等待队列,该依赖类型用于表征异步任务的执行条件为必须在前置任务完成之后才能被执行,该延时类型用于表征异步任务的执行条件为需要等待一定时长之后才能被执行;
当该未执行的异步任务的类型不是依赖类型和延时类型时,将该未执行的异步任务添加至就绪队列中;
当该等待队列中的异步任务满足执行条件时,将满足执行条件的异步任务添加至该就绪队列中。
在其中一个实施例中,该当存在空闲线程时,利用该空闲线程执行该任务队列中的异步任务,包括:
当存在该空闲线程时,按照添加至该就绪队列中的顺序,从该就绪队列中获取异步任务;
将获取到的异步任务添加至执行队列中;
按照添加至该执行队列中的顺序,利用该空闲线程执行该执行队列中的异步任务。
在其中一个实施例中,该利用该空闲线程执行该执行队列中的异步任务之后,该方法还包括:
当异步任务被执行成功时,将执行成功的异步任务添加至成功队列;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浙江大搜车软件技术有限公司,未经浙江大搜车软件技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911058346.6/2.html,转载请声明来源钻瓜专利网。