[发明专利]一种文件上传方法和装置、电子设备及存储介质有效
申请号: | 202110778008.0 | 申请日: | 2021-07-09 |
公开(公告)号: | CN113726842B | 公开(公告)日: | 2022-07-05 |
发明(设计)人: | 郭雯宇 | 申请(专利权)人: | 贝壳找房(北京)科技有限公司 |
主分类号: | H04L67/06 | 分类号: | H04L67/06;H04L49/9015 |
代理公司: | 北京路浩知识产权代理有限公司 11002 | 代理人: | 程琛 |
地址: | 100085 北京市海淀区*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 文件 上传 方法 装置 电子设备 存储 介质 | ||
1.一种文件上传方法,其特征在于,包括:
接收上传文件指令;
遍历文件双向链表,确定待上传文件对应的代理对象;其中,所述文件双向链表包括多个依次通过双向指针链接的代理对象,所述代理对象包括对应文件的状态数据和分片数据;
根据所述待上传文件的状态数据,将所述待上传文件对应的分片数据发送至服务器。
2.根据权利要求1所述的文件上传方法,其特征在于,所述方法还包括:在接收上传文件指令的情况下,若接收到新增文件,生成所述新增文件的代理对象;
根据所述状态数据判断所述文件双向链表中是否存在中止文件;
若是,将所述新增文件的代理对象添加至首个中止文件之前;
若否,将所述新增文件的代理对象添加至文件双向链表的尾部。
3.根据权利要求1所述的文件上传方法,其特征在于,所述状态数据包括:待处理分片队列、成功队列、失败队列、分片总数、中止标识符和文件唯一标识符;
根据所述待上传文件的状态数据,将所述待上传文件对应的分片数据发送至服务器,包括:
根据所述待上传文件的状态数据,确定所述待上传文件的状态;
若所述待上传文件的状态为中止状态,停止访问后续的代理对象;
若所述待上传文件的状态为非中止状态,且所述待上传文件的分片总数为1,直接将所述待上传文件对应的分片数据上传至服务器,若上传成功,将所述分片数据存储至所述代理对象的成功队列,若上传失败,将所述分片数据存储至所述代理对象的失败队列;
若所述待上传文件的状态为非中止状态,且所述待上传文件的分片总数大于1,且文件唯一标识符为空,将所述待上传文件的状态设置为锁定状态,继续访问下一个待上传文件的代理对象;
若所述待上传文件的状态为非中止状态,且所述待上传文件的分片总数大于1,且存在文件唯一标识符,根据资源池能力将所述待上传文件对应的分片数据发送至服务器。
4.根据权利要求3所述的文件上传方法,其特征在于,所述根据资源池能力将所述待上传文件对应的分片数据发送至服务器,包括:
判断所述待上传文件对应的待处理分片数量是否小于可用资源池能力;
若是,将所述待上传文件对应的分片数据逐一上传至服务器,若上传成功,将所述分片数据存储至所述代理对象的成功队列,若上传失败,将所述分片数据存储至所述代理对象的失败队列;
若否,根据当前的可用资源池能力,将所述待上传文件对应的分片数据通过可用资源池上传至服务器,若上传成功,将所述分片数据存储至所述代理对象的成功队列,若上传失败,将所述分片数据存储至所述代理对象的失败队列。
5.根据权利要求4所述的文件上传方法,其特征在于,所述方法还包括:
在所述待上传文件对应的分片数据上传结束后,根据所述待上传文件的成功队列判断所述待上传文件对应的分片数据均上传成功的情况下,删除所述待上传文件。
6.根据权利要求3所述的文件上传方法,其特征在于,所述方法还包括:
接收目标文件的中止指令;
从所述文件双向链表头部向后查找所述目标文件对应的代理对象;
将所述代理对象的所述中止标识符修改为true,将所述代理对象从当前位置移出并插入至所述文件双向链表的尾部。
7.根据权利要求3所述的文件上传方法,其特征在于,所述方法还包括:
接收目标文件的重试指令;
在所述文件双向链表中找到所述目标文件对应的代理对象;
将所述代理对象失败队列中的分片数据逐一拷贝至待处理分片队列,并将所述代理对象从当前位置移出并插入至所述文件双向链表头部。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于贝壳找房(北京)科技有限公司,未经贝壳找房(北京)科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110778008.0/1.html,转载请声明来源钻瓜专利网。