System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开涉及计算机,尤其涉及一种图片转码方法、装置、服务器及存储介质。
技术介绍
1、随着计算机技术和互联网技术的飞速发展,用户可以通过终端上安装的应用客户端发布图片作品,以供其他用户浏览该图片作品。由于不同终端在不同的场景下对于图片有不同的格式需求,因此,用户将图片作品上传至服务端之后,服务端先将用户上传的图片作品转码成多种不同的格式,再基于多种不同格式的该图片作品,向其他终端分发该图片作品等。
2、目前服务端的转码流程如图1所示,在接收到用户上传的图片作品之后,依次对该图片作品进行jpg(joint photographic group,联合图像专家组)转码、webp转码和heif(high efficiency image file format,高效图像文件格式)转码,三种转码全部成功之后,便可以基于不同终端对图片的不同格式需求,向不同终端分发转码后的图片作品。
3、然而上述转码流程中,任一种转码失败都会导致服务端退出转码,导致整个转码流程失败,从而导致图片作品无法发布,转码流程的可用性较差。
技术实现思路
1、本公开提供一种图片转码方法、装置、服务器及存储介质,能够提高转码流程的可用性。本公开的技术方案如下:
2、根据本公开实施例的第一方面,提供一种图片转码方法,所述图片转码方法包括:
3、接收终端发送的作品发布请求,所述作品发布请求携带待发布的图片作品;
4、按照转码降级的顺序,对所述图片作品依次执行多个转码任务
5、其中,若对所述图片作品执行的任一转码任务失败,则继续执行所述转码任务的下一转码任务,并对所述转码任务进行异步重试;
6、在得到任一转码后的图片作品后,对所述转码后的图片作品进行发布。
7、在一些实施例中,所述对所述图片作品依次执行多个转码任务,包括:
8、通过第一线程,对所述图片作品依次执行所述多个转码任务;
9、所述若对所述图片作品执行的任一转码任务失败,则继续执行所述转码任务的下一转码任务,并对所述转码任务进行异步重试,包括:
10、若通过所述第一线程对所述图片作品执行的任一转码任务失败,则通过所述第一线程继续执行所述转码任务的下一转码任务,并启动第二线程,通过所述第二线程对所述图片作品执行所述转码任务;
11、其中,所述第一线程和所述第二线程并行运行。
12、在一些实施例中,若对所述图片作品执行的任一转码任务失败,对所述转码任务进行异步重试,包括:
13、每当通过所述第一线程对所述图片作品执行的转码任务失败时,启动一个新的线程,通过所述新的线程对所述图片作品执行所述转码任务。
14、在一些实施例中,所述启动第二线程,通过所述第二线程对所述图片作品执行所述转码任务,包括:
15、通过所述第二线程,对所述图片作品执行所述转码任务;
16、若通过所述第二线程对所述图片作品执行的所述转码任务失败,则通过所述第二线程重复执行所述转码任务,直至执行所述转码任务成功,或者,直至达到预设重复次数。
17、在一些实施例中,所述在得到任一转码后的图片作品后,对所述转码后的图片作品进行发布,包括以下任一项:
18、在对所述图片作品执行完所述多个转码任务之后,将执行成功的转码任务所生成的图片作品进行发布;
19、在对所述图片作品依次执行所述多个转码任务的过程中,响应于任一转码任务执行成功,将所述转码任务所生成的图片作品进行发布;
20、在失败的转码任务重试成功之后,将所述转码任务所生成的图片作品进行发布。
21、在一些实施例中,所述图片转码方法还包括:
22、在对所述图片作品依次执行所述多个转码任务之后,若所述多个转码任务均失败,则对所述作品发布请求携带的图片作品进行发布。
23、在一些实施例中,所述按照转码降级的顺序,对所述图片作品依次执行多个转码任务,包括:
24、按照压缩比从高到低的顺序,对所述图片作品依次执行所述多个转码任务。
25、根据本公开实施例的第二方面,提供了一种图片转码装置,所述图片转码装置包括:
26、接收单元,被配置为执行接收终端发送的作品发布请求,所述作品发布请求携带待发布的图片作品;
27、第一转码单元,被配置为执行按照转码降级的顺序,对所述图片作品依次执行多个转码任务,所述多个转码任务用于将所述图片作品转码成不同的格式;
28、其中,若对所述图片作品执行的任一转码任务失败,则所述第一转码单元被配置为执行继续执行所述转码任务的下一转码任务,第二转码单元被配置为执行对所述转码任务进行异步重试;
29、发布单元,被配置为执行在得到任一转码后的图片作品后,对所述转码后的图片作品进行发布。
30、在一些实施例中,所述第一转码单元,被配置为执行通过第一线程,对所述图片作品依次执行所述多个转码任务;
31、若通过所述第一线程对所述图片作品执行的任一转码任务失败,则所述第一转码单元被配置为执行通过所述第一线程继续执行所述转码任务的下一转码任务,所述第二转码单元被配置为执行启动第二线程,通过所述第二线程对所述图片作品执行所述转码任务;
32、其中,所述第一线程和所述第二线程并行运行。
33、在一些实施例中,每当通过所述第一线程对所述图片作品执行的转码任务失败时,所述第二转码单元被配置为执行启动一个新的线程,通过所述新的线程对所述图片作品执行所述转码任务。
34、在一些实施例中,所述第二转码单元被配置为执行通过所述第二线程,对所述图片作品执行所述转码任务;若通过所述第二线程对所述图片作品执行的所述转码任务失败,则通过所述第二线程重复执行所述转码任务,直至执行所述转码任务成功,或者,直至达到预设重复次数。
35、在一些实施例中,所述发布单元,被配置为执行以下至少一项:
36、在对所述图片作品执行完所述多个转码任务之后,将执行成功的转码任务所生成的图片作品进行发布;
37、在对所述图片作品依次执行所述多个转码任务的过程中,响应于任一转码任务执行成功,将所述转码任务所生成的图片作品进行发布;
38、在失败的转码任务重试成功之后,将所述转码任务所生成的图片作品进行发布。
39、在一些实施例中,所述发布单元,还被配置为执行在对所述图片作品依次执行所述多个转码任务之后,若所述多个转码任务均失败,则对所述作品发布请求携带的图片作品进行发布。
40、在一些实施例中,所述第一转码单元,被配置为执行按照压缩比从高到低的顺序,对所述图片作品依次执行所述多个转码任务。
41、根据本公开实施例的第三方面,提供了一种服务器,所述终端包括:
42、处理器;
<本文档来自技高网...【技术保护点】
1.一种图片转码方法,其特征在于,所述图片转码方法包括:
2.根据权利要求1所述的图片转码方法,其特征在于,所述对所述图片作品依次执行多个转码任务,包括:
3.根据权利要求2所述的方法,其特征在于,若对所述图片作品执行的任一转码任务失败,对所述转码任务进行异步重试,包括:
4.根据权利要求2所述的图片转码方法,其特征在于,所述启动第二线程,通过所述第二线程对所述图片作品执行所述转码任务,包括:
5.根据权利要求1所述的图片转码方法,其特征在于,所述在得到任一转码后的图片作品后,对所述转码后的图片作品进行发布,包括以下任一项:
6.根据权利要求1所述的图片转码方法,其特征在于,所述图片转码方法还包括:
7.根据权利要求1所述的图片转码方法,其特征在于,所述按照转码降级的顺序,对所述图片作品依次执行多个转码任务,包括:
8.一种图片转码装置,其特征在于,所述图片转码装置包括:
9.一种服务器,其特征在于,包括:
10.一种计算机可读存储介质,其特征在于,当所述计算机可读存储介质
11.一种计算机程序产品,包括计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的图片转码方法。
...【技术特征摘要】
1.一种图片转码方法,其特征在于,所述图片转码方法包括:
2.根据权利要求1所述的图片转码方法,其特征在于,所述对所述图片作品依次执行多个转码任务,包括:
3.根据权利要求2所述的方法,其特征在于,若对所述图片作品执行的任一转码任务失败,对所述转码任务进行异步重试,包括:
4.根据权利要求2所述的图片转码方法,其特征在于,所述启动第二线程,通过所述第二线程对所述图片作品执行所述转码任务,包括:
5.根据权利要求1所述的图片转码方法,其特征在于,所述在得到任一转码后的图片作品后,对所述转码后的图片作品进行发布,包括以下任一项:
6.根据权利要求1所述的图...
【专利技术属性】
技术研发人员:尹东洋,
申请(专利权)人:北京达佳互联信息技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。