任务处理方法及相关产品技术

技术编号:29583491 阅读:48 留言:0更新日期:2021-08-06 19:41
本申请实施例提供一种任务处理方法及相关产品,该任务处理方法包括:服务端接收用户端上传的第一任务;创建并持久化所述第一任务的任务数据,将包含所述任务数据的任务数据消息投递到第一消息队列,所述第一消息队列为生产者消费者模式的队列;在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,更新持久化的所述任务数据,所述第二消息队列为发布订阅模式的队列。本申请实施例可以保证任务状态的一致性。

【技术实现步骤摘要】
任务处理方法及相关产品
本申请涉及互联网
,具体涉及一种任务处理方法及相关产品。
技术介绍
在任务调度管理平台,涉及到许多类型的任务的处理,比如,图像、视频的处理任务。为了保证任务不被重复执行,一般采用生产者消费者模式的消息队列来实现任务的调度管理服务。如果生产者投递任务后出现宕机重启,则会导致调度管理服务的地址发生变化,无法将任务状态更新到生产者,进而无法保证任务状态的一致性。
技术实现思路
本申请实施例提供一种任务处理方法及相关产品,可以保证任务状态的一致性。本申请实施例的第一方面提供了一种任务处理方法,所述方法应用于服务端,所述方法包括:接收用户端上传的第一任务;创建并持久化所述第一任务的任务数据,将包含所述任务数据的任务数据消息投递到第一消息队列,所述第一消息队列为生产者消费者模式的队列;在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,更新持久化的所述任务数据,所述第二消息队列为发布订阅模式的队列。可选的,所述任务数据包括任务地址标签;所述更新持久化的所述任务数据之前,所述方法还包括:在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,判断所述反馈消息的当前服务地址与所述任务地址标签是否相同;若相同,向所述当前服务地址发送所述反馈消息。可选的,所述方法还包括:若所述反馈消息的当前服务地址与所述任务地址标签不相同,通过注册中心获取所有消息订阅者的服务地址,确定所述所有消息订阅者的服务地址中哈希值最小的服务地址;向所述哈希值最小的服务地址发送所述反馈消息。可选的,所述接收用户端上传的第一任务,包括:接收用户端上传的任务请求消息,所述任务请求消息携带令牌和所述第一任务;所述接收用户端上传的第一任务之后,所述方法还包括:校验所述令牌是否合法,判断所述令牌是否过期;若所述令牌合法且未过期,执行所述创建并持久化所述第一任务的任务数据的步骤。可选的,所述将包含所述任务数据的任务数据消息投递到第一消息队列之后,所述方法还包括:返回所述第一任务的任务标识到所述用户端;接收所述用户端发送的针对所述第一任务的查询消息,所述查询消息携带所述任务标识和所述令牌,所述查询消息包括任务执行进度查询消息和任务状态查询消息中的至少一种;校验所述令牌是否合法,判断所述令牌是否过期;若所述令牌合法且未过期,响应所述查询消息返回查询结果到所述用户端。可选的,所述更新持久化的所述任务数据之后,所述方法还包括:根据所述任务数据确定所述第一任务的任务状态;若所述第一任务的任务状态为“已失败”,采用异步方式删除用户端上传至文件存储系统的初始资源文件;或者,若所述第一任务的任务状态为“结果已获取”,采用异步方式删除用户端上传至文件存储系统的初始资源文件和/或处理后的资源文件,所述处理后的资源文件是所述初始资源文件经过所述第一任务处理后得到的,所述第一任务包括针对所述初始资源文件的处理任务;又或者,若所述第一任务的任务状态为“已成功”,并且所述资源文件在所述文件存储系统的存放时长达到设定阈值,删除所述初始资源文件和/或处理后的资源文件。本申请实施例的第二方面提供了一种任务处理方法,所述方法应用于用户端,所述方法包括:获取接口密钥,根据所述接口密钥获取带有有效期的令牌;将所述令牌放入任务请求消息,向服务端发送所述任务请求消息,所述任务请求消息携带第一任务,所述任务请求消息用于请求所述服务端处理所述第一任务,所述服务端用于创建并持久化所述第一任务的任务数据,将包含所述任务数据的任务数据消息投递到第一消息队列;以及用于在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,更新持久化的所述任务数据,所述第一消息队列为生产者消费者模式的队列,所述第二消息队列为发布订阅模式的队列。可选的,所述向服务端发送所述任务请求消息之后,所述方法还包括:上传与所述第一任务对应的初始资源文件到文件存储系统。可选的,所述向服务端发送所述任务请求消息之后,所述方法还包括:获取所述服务端发送的所述第一任务的任务标识;将所述任务标识和所述令牌放入查询消息,向所述服务端发送所述查询消息,所述查询消息包括任务执行进度查询消息和任务状态查询消息中的至少一种;在所述令牌合法且未过期的情况下,接收所述服务端针对所述查询消息返回的查询结果。可选的,所述接收所述服务端针对所述查询消息返回的查询结果之后,所述方法还包括:若所述查询结果包括任务状态为“已成功”,将所述任务标识和所述令牌放入文件下载请求消息,向所述服务端发送所述文件下载请求消息;在所述令牌合法且未过期的情况下,从文件存储系统下载处理后的资源文件,所述处理后的资源文件是用户端上传至所述文件存储系统的初始资源文件经过所述第一任务处理后得到的,所述第一任务包括针对所述初始资源文件的处理任务。本申请实施例的第三方面提供了一种任务处理装置,所述装置应用于服务端,所述装置包括:接收单元,用于接收用户端上传的第一任务;创建单元,用于创建并持久化所述第一任务的任务数据;任务投递单元,用于将包含所述任务数据的任务数据消息投递到第一消息队列,所述第一消息队列为生产者消费者模式的队列;更新单元,用于在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,更新持久化的所述任务数据,所述第二消息队列为发布订阅模式的队列。本申请实施例的第四方面提供了一种任务处理装置,所述装置应用于用户端,所述装置包括:获取单元,用于获取接口密钥,根据所述接口密钥获取带有有效期的令牌;任务请求单元,用于将所述令牌放入任务请求消息,向服务端发送所述任务请求消息,所述任务请求消息携带第一任务,所述任务请求消息用于请求所述服务端处理所述第一任务。本申请实施例的第五方面提供了一种服务器,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第一方面中的步骤指令。本申请实施例的第六方面提供了一种电子设备,包括处理器和存储器,所述存储器用于存储计算机程序,所述计算机程序包括程序指令,所述处理器被配置用于调用所述程序指令,执行如本申请实施例第二方面中的步骤指令。本申请实施例的第七方面提供了一种计算机可读存储介质,其中,上述计算机可读存储介质用于存储计算机程序,上述计算机程序使得计算机执行如本申请实施例第一方面或第二方面中所描述的部分或全部步骤。本申请实施例的第八方面提供了一种计算机程序产品,其中,上述计算机程序产品包括计算机程序,上述计算机程序被计算机执行时使得上述计算机执行如本申请实施例第一方面或第二方面中所描述的部分或全部步骤。该计算机程序产品可以为一个软件安装包。本申请实施例中,服务端接收用户端上传的第一任务;创本文档来自技高网...

【技术保护点】
1.一种任务处理方法,其特征在于,所述方法应用于服务端,所述方法包括:/n接收用户端上传的第一任务;/n创建并持久化所述第一任务的任务数据,将包含所述任务数据的任务数据消息投递到第一消息队列,所述第一消息队列为生产者消费者模式的队列;/n在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,更新持久化的所述任务数据,所述第二消息队列为发布订阅模式的队列。/n

【技术特征摘要】
1.一种任务处理方法,其特征在于,所述方法应用于服务端,所述方法包括:
接收用户端上传的第一任务;
创建并持久化所述第一任务的任务数据,将包含所述任务数据的任务数据消息投递到第一消息队列,所述第一消息队列为生产者消费者模式的队列;
在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,更新持久化的所述任务数据,所述第二消息队列为发布订阅模式的队列。


2.根据权利要求1所述的方法,其特征在于,所述任务数据包括任务地址标签;所述更新持久化的所述任务数据之前,所述方法还包括:
在监听到所述第一任务的执行反馈消息进入第二消息队列的情况下,判断所述反馈消息的当前服务地址与所述任务地址标签是否相同;
若相同,向所述当前服务地址发送所述反馈消息。


3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
若所述反馈消息的当前服务地址与所述任务地址标签不相同,通过注册中心获取所有消息订阅者的服务地址,确定所述所有消息订阅者的服务地址中哈希值最小的服务地址;
向所述哈希值最小的服务地址发送所述反馈消息。


4.根据权利要求1~3任一项所述的方法,其特征在于,所述接收用户端上传的第一任务,包括:
接收用户端上传的任务请求消息,所述任务请求消息携带令牌和所述第一任务;
所述接收用户端上传的第一任务之后,所述方法还包括:
校验所述令牌是否合法,判断所述令牌是否过期;
若所述令牌合法且未过期,执行所述创建并持久化所述第一任务的任务数据的步骤。


5.根据权利要求4所述的方法,其特征在于,所述将包含所述任务数据的任务数据消息投递到第一消息队列之后,所述方法还包括:
返回所述第一任务的任务标识到所述用户端;
接收所述用户端发送的针对所述第一任务的查询消息,所述查询消息携带所述任务标识和所述令牌,所述查询消息包括任务执行进度查询消息和任务状态查询消息中的至少一种;
校验所述令牌是否合法,判断所述令牌是否过期;
若所述令牌合法且未过期,响应所述查询消息返回查询结果到所述用户端。


6.根据权利要求1~5任一项所述的方法,其特征在于,所述更新持久化的所述任务数据之后,所述方法还包括:
根据所述任务数据确定所述第一任务的任务状态;
若所述第一任务的任务状态为“已失败”,采用异步方式删除用户端上传至文件存储系统的初始资源文件;或者,若所述第一任务的任务状态为“结果已获取”,采用异步方式删除用户端上传至文件存储系统的初始资源文件和/或处理后的资源文件,所述处理后的资源文件是所述初始资源文件经过所述第一任务处理后得到的,所述第一任务包括针对所述初始资源文件的处理任务;又或者,
若所述第一任务的任务状态为“已成功”,并且所述处理后的资源文件在所述文件存储系统的存放时长达到设定阈值,删除所述初始资源文件和/或所述处理后的资源文件。


7.一种任务处理方法,其特征在于,所述方法应用于用户端,所述方法包括:
获取接口密钥,根据所述接口密钥获取带有有效期的令牌;
将所述令牌放入任务请求消息,向服务端发送所述任务请求消息,所述任务请求消息携带第一任务,所述任务请求消息用于请求所述服务端处理所述第一任务,所述服务端用于创建并持久化所述第一任务的任务数据,将包含所述任务数据的任务数据消息投递到第一消息队列;以及用...

【专利技术属性】
技术研发人员:李海兵
申请(专利权)人:深圳市商汤科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1