一种数据请求处理方法、装置及计算机可读存储介质制造方法及图纸

技术编号:27131744 阅读:18 留言:0更新日期:2021-01-25 20:10
本发明专利技术公开了一种数据请求处理方法、装置及计算机可读存储介质,属于分布式服务技术领域,方法包括:接收多个服务中的目标服务发送的任务请求,其中,任务请求是目标服务响应于客户端针对目标数据文件的下载请求生成的;根据任务请求,创建用于下载目标数据文件的任务,并确定任务的任务权重,根据任务的任务权重将任务添加到任务队列中;对任务队列中的任务进行异步处理以下载目标数据文件;将目标数据文件的存储路径返回给客户端。本发明专利技术能够实现应用服务中数据下载功能的解耦,无需重复开发,达到了功能服务的共享,并且在文件下载过程中减少了对目标服务的资源占用,提高了服务可用性,并可支持大数据量数据下载,且能够保证服务稳定性。证服务稳定性。证服务稳定性。

【技术实现步骤摘要】
一种数据请求处理方法、装置及计算机可读存储介质


[0001]本专利技术涉及分布式服务
,特别涉及一种数据请求处理方法、装置及计算机可读存储介质。

技术介绍

[0002]随着大数据时代的到来,需要处理的信息量不断增加,使得越来越多的企业采用分布式服务架构,应用服务的数量及复杂度也在增长。
[0003]现有技术中,应用服务中存在数据下载需求,当数据加载频繁、数据量大时情况下,服务将面临较大的压力,容易引起性能瓶颈,导致服务输出能力下降或停止服务,严重影响用户使用性;另外,各应用服务的下拉数据功能存在重复开发,并且如果存在数据量大,无法与原有服务功能进行插拔隔离,会对服务资源造成内存溢出甚至宕机风险。

技术实现思路

[0004]本专利技术旨在至少解决现有技术或相关技术中存在的技术问题之一,为此本专利技术提供一种数据请求处理方法、装置及计算机可读存储介质。
[0005]本专利技术实施例提供的具体技术方案如下:
[0006]第一方面,提供了一种数据请求处理方法,所述方法包括:
[0007]接收多个服务中的目标服务发送的任务请求,其中,所述任务请求是所述目标服务响应于客户端针对目标数据文件的下载请求生成的;
[0008]根据所述任务请求,创建用于下载所述目标数据文件的任务,并确定所述任务的任务权重,根据所述任务的任务权重将所述任务添加到任务队列中;
[0009]对所述任务队列中的所述任务进行异步处理以下载所述目标数据文件;
[0010]将所述目标数据文件的存储路径返回给所述客户端。
[0011]进一步地,所述任务请求中包含所述下载请求的一个或多个相关参数,所述确定所述任务的任务权重,所述确定所述任务的任务权重,根据所述任务的任务权重将所述任务添加到任务队列中,包括:
[0012]根据所述下载请求的各所述相关参数对应的预设权重值,计算所述任务的任务权重,其中,一个或多个所述相关参数包括:获取所述下载请求的业务等级和/或发起所述下载请求的用户等级;
[0013]根据所述任务的任务权重确定所述任务的优先级,根据所述任务的优先级将所述任添加到所述任务队列中。
[0014]进一步地,所述对所述任务队列中的所述任务进行异步处理以获得所述目标数据文件,包括:
[0015]根据所述目标数据文件的总数据量和预设数据量,将所述任务队列中的所述任务拆分成与组成所述目标数据文件的多个不同范围的数据块对应的多个子任务;
[0016]周期性检测所述目标服务的当前服务状态是否正常,若是,则采用预设的多个线
程对多个所述子任务进行处理,以从所述目标服务中下载多个所述数据块;
[0017]对所有所述子任务成功下载的数据块在缓存中进行合并,得到所述目标数据文件。
[0018]进一步地,所述采用预设的多个线程对多个所述子任务进行处理,包括:
[0019]当所述子任务的数量未超过所述多个线程的数量时,采用所述多个线程对多个所述子任务进行并行处理;
[0020]当所述子任务的数量超过所述多个线程的数量时,采用所述多个线程对多个所述子任务进行分批处理。
[0021]进一步地,所述根据所述任务请求,创建用于下载所述目标数据文件的任务步骤之后,所述方法还包括:
[0022]将所述任务的任务标识通过所述目标服务返回至所述客户端,以供所述客户端根据所述任务标识轮询所述任务的执行进度;
[0023]所述将所述目标数据文件的存储路径返回给所述客户端,包括:
[0024]在通过所述目标服务监测到所述客户端基于所述轮询获得所述任务的执行进度为100%时,通过所述目标服务将所述目标数据文件的存储路径返回给所述客户端。
[0025]第二方面,提供了一种数据请求处理装置,所述装置包括:
[0026]接收模块,用于接收多个服务中的目标服务发送的任务请求,其中,所述任务请求是所述目标服务响应于客户端针对目标数据文件的下载请求生成的;
[0027]创建模块,用于根据所述任务请求,创建用于下载所述目标数据文件的任务;
[0028]添加模块,用于确定所述任务的任务权重,根据所述任务的任务权重将所述任务添加到任务队列中;
[0029]处理模块,用于对所述任务队列中的所述任务进行异步处理以下载所述目标数据文件;
[0030]发送模块,用于将所述目标数据文件的存储路径返回给所述客户端。
[0031]进一步地,所述任务请求中包含所述下载请求的一个或多个相关参数,所述添加模块具体用于:
[0032]根据所述下载请求的各所述相关参数对应的预设权重值,计算所述任务的任务权重,其中,一个或多个所述相关参数包括:获取所述下载请求的业务等级和/或发起所述下载请求的用户等级;
[0033]根据所述任务的任务权重确定所述任务的优先级,根据所述任务的优先级将所述任添加到所述任务队列中。
[0034]进一步地,所述处理模块包括:
[0035]拆分子模块,用于根据所述目标数据文件的总数据量和预设数据量,将所述任务队列中的所述任务拆分成与组成所述目标数据文件的多个不同范围的数据块对应的多个子任务;
[0036]处理子模块,用于周期性检测所述目标服务的当前服务状态是否正常,若是,则采用预设的多个线程对多个所述子任务进行处理,以从所述目标服务中下载多个所述数据块;
[0037]合并子模块,用于对所有所述子任务成功下载的数据块在缓存中进行合并,得到
所述目标数据文件。
[0038]进一步地,所述处理子模块具体用于:
[0039]当所述子任务的数量未超过所述多个线程的数量时,采用所述多个线程对多个所述子任务进行并行处理;
[0040]当所述子任务的数量超过所述多个线程的数量时,采用所述多个线程对多个所述子任务进行分批处理。
[0041]进一步地,所述发送模块具体用于:
[0042]将所述任务的任务标识通过所述目标服务返回至所述客户端,以供所述客户端根据所述任务标识轮询所述任务的执行进度;
[0043]在通过所述目标服务监测到所述客户端基于所述轮询获得所述任务的执行进度为100%时,通过所述目标服务将所述目标数据文件的存储路径返回给所述客户端。
[0044]第三方面,提供了一种计算机设备,包括:
[0045]一个或多个处理器;
[0046]存储装置,用于存储一个或多个程序;
[0047]当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如下操作步骤:
[0048]接收多个服务中的目标服务发送的任务请求,其中,所述任务请求是所述目标服务响应于客户端针对目标数据文件的下载请求生成的;
[0049]根据所述任务请求,创建用于下载所述目标数据文件的任务,并确定所述任务的任务权重,根据所述任务的任务权重将所述任务添加到任务队列中;
[0050]对所述任务队列中的所述任务本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据请求处理方法,其特征在于,所述方法包括:接收多个服务中的目标服务发送的任务请求,其中,所述任务请求是所述目标服务响应于客户端针对目标数据文件的下载请求生成的;根据所述任务请求,创建用于下载所述目标数据文件的任务,并确定所述任务的任务权重,根据所述任务的任务权重将所述任务添加到任务队列中;对所述任务队列中的所述任务进行异步处理以下载所述目标数据文件;将所述目标数据文件的存储路径返回给所述客户端。2.根据权利要求1所述的方法,其特征在于,所述任务请求中包含所述下载请求的一个或多个相关参数,所述确定所述任务的任务权重,根据所述任务的任务权重将所述任务添加到任务队列中,包括:根据所述下载请求的各所述相关参数对应的预设权重值,计算所述任务的任务权重,其中,一个或多个所述相关参数包括:获取所述下载请求的业务等级和/或发起所述下载请求的用户等级;根据所述任务的任务权重确定所述任务的优先级,根据所述任务的优先级将所述任添加到所述任务队列中。3.根据权利要求1所述的方法,其特征在于,所述对所述任务队列中的所述任务进行异步处理以获得所述目标数据文件,包括:根据所述目标数据文件的总数据量和预设数据量,将所述任务队列中的所述任务拆分成与组成所述目标数据文件的多个不同范围的数据块对应的多个子任务;周期性检测所述目标服务的当前服务状态是否正常,若是,则采用预设的多个线程对多个所述子任务进行处理,以从所述目标服务中下载多个所述数据块;对所有所述子任务成功下载的数据块在缓存中进行合并,得到所述目标数据文件。4.根据权利要求3所述的方法,其特征在于,所述采用预设的多个线程对多个所述子任务进行处理,包括:当所述子任务的数量未超过所述多个线程的数量时,采用所述多个线程对多个所述子任务进行并行处理;当所述子任务的数量超过所述多个线程的数量时,采用所述多个线程对多个所述子任务进行分批处理。5.根据权利要求1至4任一所述的方法,其特征在于,所述根据所述任务请求,创建用于下载所述目标数据文件的任务步骤之后,所述方法还包括:将所述任务的任务标识通过所述目标服务返回至所述客户端,以供所述客户端根据所述任务标识轮询所述任务的执行进度;所述将所述目标数据文件的存储路径返回给所述客户端,包括:...

【专利技术属性】
技术研发人员:杨彬喻阳
申请(专利权)人:上海豹云网络信息服务有限公司
类型:发明
国别省市:

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

1