[发明专利]一种文件下载异常处理方法、装置及电子设备有效
| 申请号: | 202011166383.1 | 申请日: | 2020-10-27 |
| 公开(公告)号: | CN112269672B | 公开(公告)日: | 2023-05-02 |
| 发明(设计)人: | 谭光;熊伟 | 申请(专利权)人: | 上海淇馥信息技术有限公司 |
| 主分类号: | G06F11/07 | 分类号: | G06F11/07 |
| 代理公司: | 北京清诚知识产权代理有限公司 11691 | 代理人: | 曹玲柱 |
| 地址: | 201500 上海市崇明区横沙乡富民*** | 国省代码: | 上海;31 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 文件 下载 异常 处理 方法 装置 电子设备 | ||
1.一种文件下载异常处理方法,其特征在于,所述方法包括:
接收外部系统发送的待下载文件ID;
将所述待下载文件ID对应的下载任务存入下载队列;
调用分布式任务调度系统从所述下载队列中读取多个下载任务,并将所述多个下载任务分配至多台机器同时执行;
采用多个线程并行处理文件下载和读取的异常信息,并将所述多台机器执行下载任务的异常信息存储至数据库;
根据所述异常信息获取执行异常的线程心跳,并发送下载异常报告;
其中:所述将所述多台机器执行下载任务的异常信息存储至数据库包括:
若某台机器文件下载失败,将该台机器ID、下载文件ID和下载时间存储至数据库;
若某台机器文件下载成功,但文件读取失败,将该台机器ID和下载文件ID及当前读取行数和下载时间存储至数据库;
若某台机器文件下载成功,且文件读取成功,清除数据库中该台机器ID中的该下载文件ID。
2.根据权利要求1所述的方法,其特征在于,所述将所述多个下载任务分配至多台机器同时执行包括:
将所述多个下载任务平均分配给所述多台机器;
将剩余数量的下载任务分配给指定机器;
控制所述多台机器同时执行下载任务。
3.根据权利要求1所述的方法,其特征在于,所述采用多个线程并行处理文件下载和读取的异常信息包括:
若某台机器文件下载失败,控制该台机器重新下载所述下载失败的文件;
若某台机器文件下载成功,但文件读取失败,控制该台机器重新从所述当前读取行数的下一行读取该下载文件。
4.根据权利要求3所述的方法,其特征在于,所述根据所述异常信息获取执行异常的线程心跳,并发送下载异常报告包括:
从所述数据库获取当前异常信息中的下载时间;
根据当前时间和所述下载时间判断执行对应下载任务的线程心跳是否异常;
若所述线程心跳异常,发送异常报告。
5.根据权利要求1所述的方法,其特征在于,所述分布式任务调度系统为xxl-job、cronsun、Elastic-job、saturn、TBSchedule中的任意一种。
6.根据权利要求1所述的方法,其特征在于,所述数据库为Redis、Oracle、Sybase、Informix中的任意一种。
7.一种文件下载异常处理装置,其特征在于,所述装置包括:
接收模块,用于接收外部系统发送的待下载文件ID;
第一存储模块,用于将所述待下载文件ID对应的下载任务存入下载队列;
分配模块,用于调用分布式任务调度系统从所述下载队列中读取多个下载任务,并将所述多个下载任务分配至多台机器同时执行;
第二存储模块,用于采用多个线程并行处理文件下载和读取的异常信息,并将所述多台机器执行下载任务的异常信息存储至数据库;
发送模块,用于根据所述异常信息获取执行异常的线程心跳,并发送下载异常报告;
其中:所述第二存储模块包括:子存储模块,用于若某台机器文件下载失败,将该台机器ID、下载文件ID和下载时间存储至数据库;若某台机器文件下载成功,但文件读取失败,将该台机器ID和下载文件ID及当前读取行数和下载时间存储至数据库;若某台机器文件下载成功,且文件读取成功,清除数据库中该台机器ID中的该下载文件ID。
8.根据权利要求7所述的装置,其特征在于,所述分配模块包括:
第一分配模块,用于将所述多个下载任务平均分配给所述多台机器;
第二分配模块,用于将剩余数量的下载任务分配给指定机器;
控制模块,用于控制所述多台机器同时执行下载任务。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海淇馥信息技术有限公司,未经上海淇馥信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011166383.1/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种锚杆预紧机器人
- 下一篇:一种多业务动态配置数据源方法、平台及电子设备





