[发明专利]一种异步任务处理方法及系统有效
申请号: | 202010731395.8 | 申请日: | 2020-07-27 |
公开(公告)号: | CN112000449B | 公开(公告)日: | 2023-03-31 |
发明(设计)人: | 季广猛;谷凯凯 | 申请(专利权)人: | 新华三大数据技术有限公司 |
主分类号: | G06F9/48 | 分类号: | G06F9/48;G06F16/2453;G06F16/2458 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450000 河南省郑州市郑州高*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 异步 任务 处理 方法 系统 | ||
1.一种异步任务处理方法,其特征在于,所述方法包括:
请求处理层接收应用层发送的任务创建请求,并创建任务;
请求处理层将任务加入缓冲层中的分布式流处理平台中的任务队列,并在缓冲层中的分布式搜索引擎中创建所述任务对应的任务状态记录;
任务处理层从所述任务队列中提取任务并执行任务;
任务处理层负责更新所述分布式搜索引擎中所述任务的任务状态记录;
所述方法还包括:
为每个任务状态分配一个版本号;
当缓冲层的分布式搜索引擎接收到更新任务状态请求时,分布式搜索引擎先校验所述更新任务状态请求中携带的任务状态版本号是否与所述任务状态记录中的任务状态版本号一致,如果一致则更新任务状态并根据任务状态版本号的切换规则更新任务状态版本号,否则拒绝更新任务状态。
2.根据权利要求1所述的方法,其特征在于,
所述任务的任务状态分为多个级别,每一级任务状态具有相同的任务状态版本号;
所述的任务状态版本号的切换规则为:上一级任务状态版本号只能向下一级任务状态版本号切换。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述请求处理层接收到应用层的任务状态查询请求时,从所述分布式搜索引擎中读取所述任务的任务状态记录,并将查询结果反馈给所述请求处理层。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当所述请求处理层接收到应用层的任务取消请求请求取消所述任务时,所述请求处理层指令所述分布式搜索引擎更新所述任务的任务状态记录为取消状态;
当任务超时需要终止所述任务时,所述请求处理层指令所述任务处理层终止所述任务的执行,所述任务处理层还用于请求所述分布式搜索引擎更新所述任务的任务状态记录为处理失败状态。
5.一种异步任务处理系统,其特征在于,该系统包括:
应用层,用于基于业务需求发起任务创建请求以及查询任务状态请求;
请求处理层,用于响应应用层的任务创建请求并指令缓冲层创建任务,以及响应应用层的任务状态查询请求从缓冲层读取任务状态并反馈处理结果;
缓冲层,用于通过分布式流处理平台的任务队列缓存任务,以及通过分布式搜索引擎记录任务状态;
任务处理层,用于从缓冲层获取任务并实际执行任务,并通过发送更新任务状态请求指令缓冲层更新任务状态;
每个任务状态具有一个任务状态版本号,所述缓冲层中的分布式搜索引擎为每个任务建立一个任务状态记录,任务状态记录中包含任务状态版本号字段;
所述分布式搜索引擎接收到更新任务状态请求时,先取出任务状态记录中记录的第一任务状态版本号,然后验证更新任务状态请求中携带的任务状态版本号是否与所述第一任务状态版本号一致,如果一致则更新任务状态并根据任务状态版本号的切换规则更新任务状态版本号,否则拒绝更新任务状态。
6.根据权利要求5所述的系统,其特征在于,所述请求处理层包括:
任务提交模块,用于在接收到应用层的任务创建请求后创建相应的任务,并将任务封装成分布式流处理平台消息格式将任务发送到分布式流处理平台,以将任务插入到分布式流处理平台中的任务执行队列当中;在将任务成功插入到分布式流处理平台中的任务执行队列中后,还用于通过创建任务状态记录消息指令分布式搜索引擎创建对应的任务状态记录;
任务查询模块,用于在接收到应用层发送的任务状态查询请求时通过向分布式搜索引擎发送查询任务状态消息从分布式搜索引擎查询相应任务的任务状态并将查询结果反馈给应用层。
7.根据权利要求5所述的系统,其特征在于,所述请求处理层还包括:
任务取消模块,用于接收到应用层的任务取消请求时,指令所述分布式搜索引擎更新所述任务的任务状态记录为取消状态;
所述任务处理层,还用于在从所述分布式流处理平台的任务队列中取出任务时,指令所述分布式搜索引擎更新所述任务的任务状态记录为处理中状态,若更新任务状态失败,则不执行所述任务。
8.根据权利要求5所述的系统,其特征在于,所述系统还包括:
超时处理模块,用于在任务超时需要终止所述任务时,指令任务处理模块终止所述任务的执行;
所述任务处理层,还用于在接收到终止任务执行的请求时,指令分布式搜索引擎更新所述任务的任务状态记录为处理失败状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于新华三大数据技术有限公司,未经新华三大数据技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010731395.8/1.html,转载请声明来源钻瓜专利网。