[发明专利]一种基于协程处理的文件下载方法、系统及介质在审
申请号: | 202210580483.1 | 申请日: | 2022-05-26 |
公开(公告)号: | CN115037738A | 公开(公告)日: | 2022-09-09 |
发明(设计)人: | 孙成通;王睿;胡焱;马伟 | 申请(专利权)人: | 浪潮金融信息技术有限公司 |
主分类号: | H04L67/06 | 分类号: | H04L67/06 |
代理公司: | 北京权智天下知识产权代理事务所(普通合伙) 11638 | 代理人: | 郭春莉 |
地址: | 215100 江苏省苏州*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 处理 文件 下载 方法 系统 介质 | ||
1.一种基于协程处理的文件下载方法,其特征在于,包括以下步骤:
下载准备步骤:
获取下载需求,创建任务模板,基于所述下载需求和所述任务模板创建第一下载任务;
下载处理步骤:
创建第一任务队列,配置异步下载处理算法,基于所述第一下载任务和所述第一任务队列调用所述异步下载处理算法,得到下载标识信息;
下载调控步骤:
设置任务标识状态,基于所述下载标识信息和所述任务标识状态执行下载任务更新调控操作。
2.根据权利要求1所述的一种基于协程处理的文件下载方法,其特征在于:
所述下载需求包括:第一需求和第二需求;所述第一需求为存在第一下载对象;所述第二需求为不存在第一下载对象;
所述基于所述下载需求和所述任务模板创建第一下载任务的步骤进一步包括:
当所述下载需求为所述第一需求时,获取关于所述第一下载对象的第一下载地址、第一存储路径、第一对象校验信息、第一下载进度信息和第一对象状态信息;将所述第一下载地址、所述第一存储路径、所述第一对象校验信息、所述第一下载进度信息和所述第一对象状态信息导入所述任务模板,得到与所述第一下载对象相匹配的所述第一下载任务。
3.根据权利要求2所述的一种基于协程处理的文件下载方法,其特征在于:
所述异步下载处理算法为:
将所述第一下载任务加入所述第一任务队列;
设置非执行任务状态和第一并发阈值;
读取所述第一任务队列中所述第一下载任务的所述第一对象状态信息,判断所述第一对象状态信息是否与所述非执行任务状态相匹配;
若非匹配,则获取下载队列信息,基于所述第一并发阈值和所述下载队列信息执行并发判断步骤;
若匹配,则设置第一时间段,每隔所述第一时间段判断所述第一对象状态信息是否与所述非执行任务状态相匹配,所述第一对象状态信息与所述第一对象状态信息非匹配时,执行所述并发判断步骤。
4.根据权利要求3所述的一种基于协程处理的文件下载方法,其特征在于:
所述下载队列信息包括:下载队列地址和若干下载队列子任务信息;
所述并发判断步骤包括:
基于若干所述下载队列子任务信息统计下载并发量;
比对所述下载并发量是否达到所述第一并发阈值;
若达到,则创建等待队列,将所述第一任务队列中的所述第一下载任务取出,并将取出的所述第一下载任务置入所述等待队列,生成关于所述等待队列的第一标识数据,设置所述第一标识数据作为所述下载标识信息;
若未达到,则生成关于所述第一下载任务的第二标识数据,设置所述第二标识数据作为所述下载标识信息,并基于所述下载队列地址执行协程下载处理步骤。
5.根据权利要求4所述的一种基于协程处理的文件下载方法,其特征在于:
所述协程下载处理步骤包括:
配置协程调度器,创建协程作用域,将所述第一任务队列中的所述第一下载任务取出,并将取出的所述第一下载任务置入与所述下载队列地址相匹配的下载队列,然后执行协程下载步骤;
所述协程下载步骤包括:
通过所述协程调度器调用第一线程执行所述下载队列中的所述第一下载任务;创建对于所述第一线程的第一子协程,基于所述第一子协程更新所述第一下载任务的所述第一对象状态信息。
6.根据权利要求5所述的一种基于协程处理的文件下载方法,其特征在于:
所述协程下载处理步骤还包括:
执行所述协程下载步骤后,设置第二时间段,配置挂起函数;每隔所述第二时间段检测所述下载队列是否存在第二下载任务;若存在,则调用所述挂起函数将所述第一子协程所对应的第一父协程挂起,并创建与所述第二下载任务对应的第二子协程。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮金融信息技术有限公司,未经浪潮金融信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210580483.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种商品包装的二次设计与印刷方法
- 下一篇:一种功率模块堵转测试方法