[发明专利]一种音视频分片上传与重传方法有效

专利信息
申请号: 202010370609.3 申请日: 2020-05-06
公开(公告)号: CN111586158B 公开(公告)日: 2023-04-14
发明(设计)人: 张咏雪;魏金雷;杨继伟;徐士强 申请(专利权)人: 山东汇贸电子口岸有限公司
主分类号: H04L67/06 分类号: H04L67/06;H04L1/1867
代理公司: 济南信达专利事务所有限公司 37100 代理人: 姜明
地址: 250100 山东省济南市*** 国省代码: 山东;37
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 视频 分片 上传 方法
【权利要求书】:

1.一种音视频分片上传与重传方法,其特征在于,分为以下步骤,

S01、文件分片初次上传失败重传:文件小于等于5M ,不进行分片,整个文件直接上传对象存储;文件大于5M,采用亚马逊分片方法,获取分片个数,分片大小;

首先每个文件的上传都开启一个线程,然后,将文件进行分片,初始化文件需要上传凭证ID、是否分片标识、文件绝对路径和分片信息集合的信息,将得到的所有文件分片信息放入线程池中,多线程执行分片上传,并获取每个线程的回调的上传结果;

若没有上传失败的分片集合,则发起一个文件合并请求到对象存储,将分片合并成一个完整的文件,并回调文件状态上报接口,记录该音视频转码文件上传成功,结束该线程;

若有上传失败的分片集合,收集上传失败的分片集合,将上传失败的分片集合序列化到上传失败记录文件中;

在将上传失败的分片集合序列化到上传失败记录文件中时,有以下步骤:

1)创建当天上传失败记录文件夹,命名为upload_error_data/yyyyMM/DD/subTaskId,其中,subTaskId为转码唯一标识;

2)在上述创建的文件夹中再创建一个上传失败记录文件,命名为上传凭证ID.errdata,其中上传凭证ID为该文件上传对象存储前所获取到的一个字符串,.errdata为上传失败记录文件后缀;

3)将上传失败的分片集合转换成json,并以UTF-8的编码方式写入到上传失败记录文件中;

4)最后结束该线程,等待定时重传上传失败文件进行重传;

在线程池中,每一单个线程中某一分片上传时分为以下步骤:

1)组装上传对象所需信息;

2)获取亚马逊S3请求连接;

3)发起上传请求;

4)如果上传失败,重新发起上传请求,直到成功,可尝试重传三次;

5)最后将上传结果返回;

所述分片信息集合包括分片编号、重试次数、分片起始字节数、分片大小和创建时间,其中,初次上传重试次数为1;

S02、定时重传上传失败文件:定时重传上传失败文件的频率为两小时启动一次,判断当天和前一天是否有上传失败的片段,将所述上传失败的片段进行重传;

获取当前时间endDate和前一天的日期startDate,格式分别为yyyyMM/DD;

查找符合条件的上传失败记录文件夹,upload_error_data/endDate/、upload_error_data/startDate/;

根据上述两个文件夹,查找所有文件后缀为.errdata的文件;

获取到的文件集合就是所有上传失败记录文件,从这些文件中获取所有需要重传的文件信息,得到失败记录文件集合,并对每一个文件进行反序列化,获取文件中记录的上传失败文件信息,循环完成即可得到所有需要重传的文件信息集合;

对文件信息集合中的每个文件都开启一个线程进行重传,每一个线程中重传的过程为:

1)、将每个重传分片重传次数+1;

2)、将该文件中所有重传的分片信息放入线程池中,多线程执行分片上传,并获取每个线程的回调上传结果;

在线程池中,每一单个线程中某一分片重传时分为以下步骤:

1)组装上传对象所需信息;

2)获取亚马逊S3请求连接;

3)发起上传请求;

4)如果上传失败,重新发起上传请求,直到成功,可尝试重传三次;

5)最后将上传结果返回;

分析每一单个线程每个分片上传情况,收集上传失败的分片集合;

若没有上传失败的分片集合,则发起一个文件合并请求到对象存储,将分片合并成一个完整的文件,然后,回调文件状态上报接口,记录该音视频转码文件上传成功,最后,清除该重传文件的上传失败记录文件,结束该线程;

若有上传失败的分片集合,则将上传失败的分片集合序列化到上传失败记录文件中;

定时任务执行完成,等待两小时之后重新启动;

若有上传失败的分片集合,具体步骤如下:

1)首先判断是否有分片重传次数已经等于3次,如果有,则回调文件状态上报接口,记录该音视频转码文件上传失败,再回调文件重传记录接口,记录该转码文件中分片重传次数超标的文件;若无,则将再次重传失败的分片信息序列化到上传失败记录文件中;

2)获取到该文件的上传失败记录文件upload_error_data/yyyyMM/DD/subTaskId/上传唯一标识.errdata,其中subTaskId为转码唯一标识;

3)然后,将上传失败的分片集合转换成json,并以UTF-8的编码方式写入到上传失败记录文件中;

4)最后结束线程,等待定时重传上传失败文件进行重传;

S03、定时清理上传失败记录文件:设定时间进行清除。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东汇贸电子口岸有限公司,未经山东汇贸电子口岸有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202010370609.3/1.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top