【技术实现步骤摘要】
一种异步任务查询方法及设备
本申请实施例涉及通信领域,尤其涉及一种异步任务查询方法及设备。
技术介绍
现今的互联网应用通常在客户端和服务器之间进行交互,具体的:客户端可以向服务器发送服务请求,服务器便可以在接收到服务请求后执行相应的任务来响应请求,并向客户端返回任务执行的结果,以便客户端显示该结果,供用户查看。目前,在异步的任务交互模式下,服务器可以在完成任务之前向客户端返回包括有任务标识(taskID)的响应消息,同时在后台执行该任务。这样客户端便可以在接收到响应消息后开始执行其他的操作,而无需一直等待服务器返回任务执行的结果。且当用户需要查询任务的执行状态时,可以向服务器发送包含有任务标识的查询请求,服务器便可以在接收到查询请求后,查询与任务标识对应的任务状态,并在确定任务状态显示为未成功时,向客户端返回查询到的任务处理信息。在现有技术中,客户端显示的任务处理信息只会包含当前任务的简单信息,如任务是否正在运行、运行结果是成功还是失败、以及任务的最终输出结果等。但是,随着异步查询方法的发展,为了更大程度地提高用户体验,如何使得客户端能够显示出当前任务执行进度的百分比,以及任务执行过程中的具体细节,如哪些步骤已经完成,哪些步骤运行失败,目前正在运行哪个步骤等已成为本领域技术人员研究的课题。
技术实现思路
本申请实施例提供一种异步任务查询方法及设备,在客户端需要查询任务的执行状态时,实现了任务执行进度的百分比,以及任务执行过程中的具体细节等的显示。为达到上述目的,本申请采用如下技术方案:第一方面,本申请提供一种异步任务查询方法,该方法可以包括:服务器接收客户端发 ...
【技术保护点】
一种异步任务查询方法,其特征在于,所述方法包括:服务器接收客户端发送的任务进度查询请求,所述任务进度查询请求中包含任务标识;所述服务器根据所述任务标识和存储的任务进度键值对,获得与所述任务标识对应的结构化对象,所述任务进度键值对中包括:任务标识和结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间;其中,N为正整数,所述运行状态包括正在运行、运行出错、还未运行,所述运行结果包括正常、异常、以及异常原因;所述服务器向所述客户端发送包含有所述结构化对象的任务进度响应消息。
【技术特征摘要】
1.一种异步任务查询方法,其特征在于,所述方法包括:服务器接收客户端发送的任务进度查询请求,所述任务进度查询请求中包含任务标识;所述服务器根据所述任务标识和存储的任务进度键值对,获得与所述任务标识对应的结构化对象,所述任务进度键值对中包括:任务标识和结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间;其中,N为正整数,所述运行状态包括正在运行、运行出错、还未运行,所述运行结果包括正常、异常、以及异常原因;所述服务器向所述客户端发送包含有所述结构化对象的任务进度响应消息。2.根据权利要求1所述的方法,其特征在于,在所述服务器接收客户端发送的任务进度查询请求之前,还包括:所述服务器接收所述客户端发送的服务请求,所述服务请求用于请求执行任务,所述服务请求为统一资源定位符URL;所述服务器根据所述URL查找URL路由表,获得与所述URL对应的任务对象,所述任务对象包括以下至少一种属性:应用程序代码、任务名称,所述URL路由表包括URL和对应的任务对象;所述服务器根据所述任务对象生成所述任务标识,并将所述任务标识作为所述任务对象包含的属性;所述服务器向所述客户端发送服务响应消息,所述服务响应消息中包括所述任务标识。3.根据权利要求2所述的方法,其特征在于,在所述服务器获得与所述URL对应的任务对象之后,还包括:所述服务器确定执行所述任务需要的N个步骤和每个步骤的名称;所述服务器将所述任务标识作为键,将包含有所述任务名称、N个步骤和N个步骤中每个步骤的名称的结构化对象作为值,生成任务进度键值对,并在任务进度数据库中保存所述任务进度键值对。4.根据权利要求3所述的方法,其特征在于,在所述服务器确定执行所述任务需要的N个步骤和每个步骤的名称之后,还包括:所述服务器根据执行所述任务需要的步骤划分所述应用程序代码,获得N个原子执行单元,一个步骤对应一个原子执行单元。5.根据权利要求4所述的方法,其特征在于,在所述在任务进度数据库中保存所述任务进度键值对之后,还包括:所述服务器将所述任务对象缓存至任务消息队列中;所述服务器按照预存的调度算法调度所述任务对象,并调用所述任务对象包含的应用程序代码来执行相应的任务;所述服务器在每执行完一个原子执行单元的程序后,确定与该原子执行单元对应的步骤,并根据所述任务标识,将该步骤对应的预估运行时间的百分比、实际运行时间、运行结果、操作明细和运行状态保存在所述任务进度数据库与所述任务标识对应的结构化对象中的该步骤中。6.根据权利要求5所述的方法,其特征在于,在所述服务器在每执行完一个原子执行单元的程序后,根据所述任务标识,将该步骤对应的预估运行时间的百分比保存之前,还包括:所述服务器预估执行所述N个步骤中每个步骤所需的时间;所述服务器将预估的执行每个步骤所需的时间除以预估的执行N个步骤总的时间,分别获得每个步骤对应的预估运行时间的百分比。7.根据权利要求6所述的方法,其特征在于,在所述服务器预估执行所述N个步骤中每个步骤所需的时间之前,还包括:所述服务器根据所述任务对象包含的应用程序代码和对应关系,获取与所述应用程序代码对应的任务标识集合,所述对应关系中包含应用程序代码以及已调用该应用程序代码的任务对象中的任务标识;如果所述任务标识集合中不包含任务标识,则所述服务器预估执行所述N个步骤中每个步骤所需的时间,包括:所述服务器根据所述N个步骤中每个步骤的复杂程度预估执行该步骤所需的时间;如果所述任务标识集合中包含任务标识,则所述服务器预估执行所述N个步骤中每个步骤所需的时间,包括:所述服务器从所述任务进度数据库中分别获取与所述任务标识集合中包含的任务标识对应的结构化对象,并将所有结构化对象中同一步骤对应的实际运行时间的平均值作为该步骤对应的预估运行时间。8.根据权利要求2-7中任一项所述的方法,其特征在于,所述服务响应消息中还包括所述任务标识。9.一种异步任务查询方法,其特征在于,所述方法包括:客户端向服务器发送任务进度查询请求,所述任务进度查询请求中包含任务标识;所述客户端接收所述服务器返回的任务进度响应消息,所述任务进度响应消息中包含结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运行时间的百分比、操作明细、运行状态、运行结果和实际运行时间;其中,N为正整数,所述运行状态包括正在运行、运行出错、还未运行,所述运行结果包括正常、异常、以及异常原因;所述客户端解析所述任务进度响应消息,获得所述结构化对象,并将所述结构化对象包含的已完成的步骤中每个步骤对应的预估运行时间的百分比之和作为任务的执行进度百分比;所述客户端显示所述任务的执行进度百分比,并显示所述结构化对象包含的任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的操作明细、运行状态、运行结果和实际运行时间。10.根据权利要求9所述的方法,其特征在于,在所述客户端向服务器发送任务进度查询请求之前,还包括:所述客户端向所述服务器发送服务请求,所述服务请求用于请求执行任务,所述服务请求为统一资源定位符URL;所述客户端接收所述服务器发送的服务响应消息,所述服务响应消息中包括所述任务标识。11.根据权利要求10所述的方法,其特征在于,所述服务响应消息中还包括所述任务标识,在所述客户端接收所述服务器发送的服务响应消息之后,还包括:所述客户端在任务列表中保存所述任务标识和对应的所述任务名称。12.根据权利要求11所述的方法,其特征在于,当所述客户端离开显示所述任务的执行进度百分比的显示界面时,所述客户端向服务器发送任务进度查询请求,包括:所述客户端在检测到用户对所述任务列表中的所述任务标识和对应的所述任务名称的操作时,向所述服务器发送所述任务进度查询请求。13.根据权利要求9-12中任一项所述的方法,其特征在于,当所述客户端处于显示所述任务的执行进度百分比的显示界面时,所述客户端向服务器发送任务进度查询请求,包括:所述客户端周期性的向所述服务器发送所述任务进度查询请求。14.一种服务器,其特征在于,所述服务器包括:接收单元、获取单元和发送单元;所述接收单元,用于接收客户端发送的任务进度查询请求,所述任务进度查询请求中包含任务标识;所述获取单元,用于根据所述任务标识和存储的任务进度键值对,获得与所述任务标识对应的结构化对象,所述任务进度键值对中包括:任务标识和结构化对象,所述结构化对象包括任务名称,执行该任务总的步骤数N,N个步骤中每个步骤的名称,已完成的步骤中每个步骤对应的预估运...
【专利技术属性】
技术研发人员:霍龙社,
申请(专利权)人:中国联合网络通信集团有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。