CN109309646B - 一种多媒体转码方法和*** - Google Patents

一种多媒体转码方法和*** Download PDF

Info

Publication number
CN109309646B
CN109309646B CN201710620933.4A CN201710620933A CN109309646B CN 109309646 B CN109309646 B CN 109309646B CN 201710620933 A CN201710620933 A CN 201710620933A CN 109309646 B CN109309646 B CN 109309646B
Authority
CN
China
Prior art keywords
transcoding
task
cloud storage
storage platform
server
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710620933.4A
Other languages
English (en)
Other versions
CN109309646A (zh
Inventor
丁硕青
张炎泼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guizhou Baishancloud Technology Co Ltd
Original Assignee
Guizhou Baishancloud Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guizhou Baishancloud Technology Co Ltd filed Critical Guizhou Baishancloud Technology Co Ltd
Priority to CN201710620933.4A priority Critical patent/CN109309646B/zh
Publication of CN109309646A publication Critical patent/CN109309646A/zh
Application granted granted Critical
Publication of CN109309646B publication Critical patent/CN109309646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供了一种多媒体转码方法和***。涉及云计算领域;解决了现有的多媒体转码***转码效率低下,不能满足不同云存储平台大量转码需求的问题。该方法包括:转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口;通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件;通过所述接口,将所述转码后文件上传至所述云存储平台。本发明提供的技术方案适用于云存储***,实现了高灵活性可适配不同云存储平台不同格式要求的多媒体文件转码。

Description

一种多媒体转码方法和***
技术领域
本发明涉及云计算领域,尤其涉及一种多媒体转码方法和***。
背景技术
随时近年来视频直播、点播市场的不断发展,拥有多媒体转码需求的企业越来越来,而且这些公司中很多都在使用云存储平台。不同的云存储平台要求的编码格式、存储文件的大小等标准不同,相应的,每一种云存储平台都需要专门的多媒体转码***。
目前常见的多媒体转码***拥有以下缺点:
-输入/输出源单一。仅支持一种特定的多媒体源(比如:HTTP文件推送、URL地址)进行转码处理,并在转码后存储回特定的位置。
-资源隔离性较差。不同用户创建的转码任务共享相同资源,当少数用户突然增加任务量时,会对整体性能产生巨大影响。
-容灾性较差。现有多媒体转码***通常是单IDC部署,当该IDC出现故障时会造成整体转码服务不可用。
综上,现有的多媒体转码***转码效率低下,不能满足不同云存储平台大量转码需求。
发明内容
本发明旨在解决上面描述的问题。
根据本发明的第一方面,提供了一种多媒体转码方法,包括:
转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口;
通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件;
通过所述接口,将所述转码后文件上传至所述云存储平台。
优选的,转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口的步骤之前还包括:
接收用户提供的各云存储平台的身份密钥,在用户、所述云存储平台、云存储平台的身份密钥之间建立关联关系。
优选的,所述转码任务携带有任务参数,所述任务参数至少包含以下参数中的任一项或任意多项:
队列ID,模板ID,云存储平台,多媒体源文件地址,转码输出参数,
转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口的步骤包括:
转码服务器根据用户与所述转码任务指示的云存储平台,获取相应的云存储平台的身份密钥;
根据所述云存储平台的身份密钥和转码任务中指定的云存储平台,选择相应的接口。
优选的,转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口的步骤之前,还包括:
根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务。
优选的,该方法还包括:
在接收到用户提交的创建转码任务请求时,提取所述创建转码任务请求中的任务参数,生成转码任务。
优选的,该方法还包括:
对生成的转码任务,通过至少一个队列进行管理,不同的队列具有不同的优先级。
优选的,根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务的步骤之前还包括:
从优先级较高的队列中选择一个转码任务作为当前待执行的转码任务。
本发明还提供了一种多媒体转码***,包括多个使用不同编码格式的云存储平台,该***还包括转码服务器集群,所述转码服务器集群包含多台转码服务器;
所述转码服务器集群中的转码服务器,用于根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口,通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件,通过所述接口,将所述转码后文件上传至所述云存储平台。
优选的,所述转码服务器,还用于接收用户提供的各云存储平台的身份密钥,在用户、所述云存储平台、云存储平台的身份密钥之间建立关联关系。
优选的,所述转码任务携带有任务参数,所述任务参数至少包含以下参数中的任一项或任意多项:
队列ID,模板ID,云存储平台,多媒体源文件地址,转码输出参数,
所述转码服务器,具体用于根据用户与所述转码任务指示的云存储平台,获取相应的云存储平台的身份密钥,根据所述云存储平台的身份密钥和转码任务中指定的云存储平台,选择相应的接口。
优选的,该***还包括任务调度服务器集群,所述任务调度服务器集群包含多台任务分配服务器;
所述任务调度服务器集群中的任务分配服务器,用于根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务。
优选的,该***还包括前端接口服务器集群,所述前端接口服务器集群中包含多台前端接口服务器;
所述前端接口服务器集群中的前端接口服务器,用于在接收到用户提交的创建转码任务请求时,提取所述创建转码任务请求中的任务参数,生成转码任务。
优选的,该***还包括分布式数据库集群,所述分布式数据库集群包含多个数据库实例;
所述前端接口服务器集群,用于将生成的转码任务写入所述分布式数据库集群,对生成的转码任务,通过至少一个队列进行管理,不同的队列具有不同的优先级;
所述分布式数据库集群中的数据库实例,用于存储所述生成的转码任务和转码任务队列。
优选的,所述任务调度服务器集群中的任务分配服务器,还用于从优先级较高的队列中选择一个转码任务作为当前待执行的转码任务。
本发明提供了一种多媒体转码方法和***,转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口,通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件,再通过所述接口,将所述转码后文件上传至所述云存储平台。解决了现有多媒体转码***转码效率低下、不能满足不同云存储平台大量转码需求的问题,实现了高灵活性可适配不同云存储平台不同格式要求的多媒体文件转码。
参照附图来阅读对于示例性实施例的以下描述,本发明的其他特性特征和优点将变得清晰。
附图说明
并入到说明书中并且构成说明书的一部分的附图示出了本发明的实施例,并且与描述一起用于解释本发明的原理。在这些附图中,类似的附图标记用于表示类似的要素。下面描述中的附图是本发明的一些实施例,而不是全部实施例。对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,可以根据这些附图获得其他的附图。
图1示例性的示出了本发明的实施例一提供的一种多媒体转码***架构;
图2示例性的示出了本发明的实施例二提供的一种多媒体转码方法的流程;
图3示例性的示出了本发明的实施例一提供的一种多媒体转码***架构。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
目前常见的多媒体转码***拥有以下缺点:
-输入/输出源单一。仅支持一种特定的多媒体源(比如:HTTP文件推送、URL地址)进行转码处理,并在转码后存储回特定的位置。
-资源隔离性较差。不同用户创建的转码任务共享相同资源,当少数用户突然增加任务量时,会对整体性能产生巨大影响。
-容灾性较差。现有多媒体转码***通常是单IDC部署,当该IDC出现故障时会造成整体转码服务不可用。
为了解决上述问题,本发明的实施例提供了一种多媒体转码方法和***。在用户创建转码请求时,提供相应的参数,根据参数生成与云存储平台匹配的接口,进而通过该接口与云存储平台进行文件的传输,支持不同多媒体源编码格式的云存储平台。
首先结合附图,对本发明的实施例一进行说明。
本发明实施例提供了一种多媒体存储***,该***的架构如图1所示,包括:
多个使用不同编码格式的云存储平台和转码服务器集群,所述转码服务器集群包含多台转码服务器;
所述中的转码服务器,用于根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口,通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件,通过所述接口,将所述转码后文件上传至所述云存储平台。
优选的,所述转码服务器,还用于接收用户提供的各云存储平台的身份密钥,在用户、所述云存储平台、云存储平台的身份密钥之间建立关联关系。
优选的,所述转码任务携带有任务参数,所述任务参数至少包含以下参数中的任一项或任意多项:
队列ID,模板ID,云存储平台,多媒体源文件地址,转码输出参数,
所述转码服务器,具体用于根据用户与所述转码任务指示的云存储平台,获取相应的云存储平台的身份密钥,根据所述云存储平台的身份密钥和转码任务中指定的云存储平台,选择相应的接口。
优选的,该***还包括任务调度服务器集群,所述任务调度服务器集群包含多台任务分配服务器;
所述任务调度服务器集群中的任务分配服务器,用于根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务。
优选的,该***还包括前端接口服务器集群,所述前端接口服务器集群中包含多台前端接口服务器;
所述前端接口服务器集群中的前端接口服务器,用于在接收到用户提交的创建转码任务请求时,提取所述创建转码任务请求中的任务参数,生成转码任务。
优选的,该***还包括分布式数据库集群,所述分布式数据库集群包含多个数据库实例;
所述前端接口服务器集群,用于将生成的转码任务写入所述分布式数据库集群,对生成的转码任务,通过至少一个队列进行管理,不同的队列具有不同的优先级;
所述分布式数据库集群中的数据库实例,用于存储所述生成的转码任务和转码任务队列。
优选的,所述任务调度服务器集群中的任务分配服务器,还用于从优先级较高的队列中选择一个转码任务作为当前待执行的转码任务。
优选的,上述多媒体转码***中涉及的转码服务器集群、任务调
度服务器集群、前端接口服务器集群均设置于不同的互联网数据中心(IDC)中,以满足全网络转码需求。分布式数据库集群是跨IDC部署的主从数据库。
下面结合附图,对本发明的实施例二进行说明。
本发明实施例提供了一种多媒体转码方法,应用于如图1所示的多媒体转码***中,在实现了能够适配多种不同云存储平台编码格式的转码服务器的基础之上,对任务管理与资源调度进行了进一步的优化,具体流程如图2所示,包括:
步骤201、转码服务器接收用户提供的各云存储平台的身份密钥,在用户、所述云存储平台、云存储平台的身份密钥之间建立关联关系;
用户根据转码服务器支持的云存储平台参数列表,通过加密的方式提供云存储平台所需要的身份密钥(比如AWS平台需要Access Key和Secret Key)。
转码服务器会将用户提供的身份密钥、用户、云存储平台之间建立关联关系并保存该关联关系。
步骤202、前端接口服务器在接收到用户提交的创建转码任务请求时,提取所述创建转码任务请求中的任务参数,生成转码任务;
本步骤中,前端接口服务器对接收到的用户请求进行处理,在接收到的请求为创建转码任务请求时,根据该请求中携带的任务参数,生成转码任务。
所述任务参数至少包含以下参数中的任一项或任意多项:
队列ID,模板ID,云存储平台,云存储平台的身份密钥,多媒体源文件地址,转码输出参数(输出路径,权限等)。
队列ID表明转码任务所在的转码任务队列。在创建完成后,将转码任务写入数据库。优选的,对生成的转码任务,通过至少一个队列进行管理,不同的队列具有不同的优先级,通过队列ID标记不同的转码任务队列。
模板ID表明本次转码任务使用的转码模板,根据转码模板,能够确定输出文件的格式。转码模板规定了转码的输出参数,比如输出容器格式、编码方式、视频分辨率、码率等。每个用户可以创建一个或多个转码模板。创建的转码模板存储在分布式数据库集群中。用户创建转码任务时需要提供一个模板ID。
除创建转码任务请求外,用户还可以通过发出如下请求,对数据库中的转码任务进行维护管理:
-创建\删除\查看转码任务;
-创建\更新\删除\查看转码模板;
-创建\更新\删除\查看转码任务队列。
用户如果已经知道自己创建的模板ID,就不需要重新请求全部模板,直接在发出转码任务请求时指示相应的模板ID即可。
步骤203、从未执行的转码任务中选择当前待执行的转码任务;
本步骤中,由于数据库内同一时刻可能存储有多个未执行的转码任务,因此,需要确定执行顺序,并依序分配转码服务器执行。
优选的,在存在多个队列时,从优先级较高的队列中选择一个转码任务作为当前待执行的转码任务。对于在同一队列中的转码任务选择,可以依据先进行先出或其他适用于当前应用场景的规则进行。
步骤204、为当前待执行的转码任务分配转码服务器;
本步骤中,由于配置了转码服务器集群,而集群中的各个转码服务器均能处理不同的云存储平台的转码任务。因此,可从中选择性能最合适或较合适的转码服务器进行转码任务,以达到资源最优分配。
例如,可根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务。或,根据与云存储平台的通信效率、质量等,选择与云存储平台间传输稳定高速的转码服务器执行所述转码任务。
步骤205、转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口;
本步骤中,转码服务器根据转码任务中的参数,适配得到与指定云存储平台对应的接口。
具体包括:
1、转码服务器根据用户与所述转码任务指示的云存储平台,获取相应的云存储平台的身份密钥;
2、根据所述云存储平台的身份密钥和转码任务中指定的云存储平台,选择相应的接口。
步骤206、转码服务器通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件;
本步骤中,转码服务器根据转码任务中源文件的位置、身份密钥等信息,通过适配得到的接口,自指定的云存储平台下载多媒体源文件。转码平台会根据用户之前提供的身份密钥和云存储平台选择对应的云存储平台接口的下载接口,并根据平台预定义的转换规则将用户创建任务时提供的源文件名转换成云平台的下载接口参数进行转码。
根据转码任务中指示的输出参数,转码得到所需格式的转码后文件。
步骤207、转码服务器通过所述接口,将所述转码后文件上传至所述云存储平台;
本步骤中,转码完成后转码平台会根据用户之前提供的密钥和云平台名称选择对应的云存储平台接口的上传接口,并根据平台预定义的转换规则将用户创建任务时提供的输出文件名、输出权限等参数转换成云存储平台的上传接口参数进行转码后的文件上传。
优选的,转码服务器还可以一个转码任务执行完成后,生成该任务的执行结果,将执行结果提供给具有相应权限的人或实体,执行结果包含转码成功/失败的指示信息,输入文件信息、输出文件信息等内容。可通过用户配置的方式,如HTTP、邮件、短信等方式发送该执行结果。
下面结合附图,对本发明的实施例三进行说明。
本发明实施例提供了一种多媒体转码***,如图3所示,由前端接口服务器集群(包含至少两台跨IDC部署的前端接口服务器),分布式数据库集群,任务调度服务器集群(包含至少两台任务调度服务器,跨IDC部署),转码服务器集群(包含至少两台转码服务器,跨IDC部署)组成。其中:
前端接口服务器用于验证请求合法性(基于AWS签名算法),以及处理下列用户请求:
-创建\删除\查看转码任务;
-创建\更新\删除\查看转码模板;
-创建\更新\删除\查看转码任务队列。
分布式数据库集群是跨IDC部署的多个主从数据库,用于存储转码任务、转码模板、转码任务队列、性能统计等信息。
任务调度服务器用于从数据库中读取可执行的转码任务,并根据当前转码服务器负载能力(CPU、内存、当前任务数等)选择相对空闲的服务器进行分配任务。
转码服务器负责根据收到的转码任务,对存储在某云存储平台中多媒体源文件基于FFmpeg进行转码处理,转码后再上传回用户指定的云存储平台。对于每台转码服务器,还可根据其性能,设置一个最大并发任务数,防止资源过度消耗。
假设用户已创建转码任务队列和转码模板。
1.用户提交“创建转码任务”请求,并提供所需参数:队列ID,模板ID,云存储平台,云存储平台身份密钥,多媒体源文件地址,转码输出参数(输出路径,权限等)。
2.前端接口服务器中的验证模块会根据用户请求中携带的签名信息验证请求合法性。在确认请求合法后,将转码任务写入数据库的相应队列中。
3.任务调度服务器集群周期性的(每秒)从数据库中获取可执行的任务。
4.对于每一个可以执行的转码任务,任务调度服务器集群根据数据库中的各个转码服务器负载数据(每个转码服务器的统计模块会定时汇报各自状态),选择一个相对空闲的转码服务器。
5.任务调度服务器集群将转码任务通过RPC请求发送至选中的转码服务器。
6.转码服务器收到分配的转码任务后,会执行下列步骤:
6.1.云存储接口适配模块首先根据任务中的“云存储平台”选择对应的接口。
6.2.根据适配得到的接口规格,以及任务中的源文件位置,云存储平台身份密钥等信息(不同“云存储平台”会需要不同的信息,此处只是一种具体实施方式),将多媒体源文件下载到本地。
6.3.按照转码规则使用FFmpeg模块对下载到本地的多媒体源文件进行转码。
7.转码成功后,转码服务器会使用适配得到的接口将转码后文件上传至该云存储平台。
8.进一步的,转码成功或失败后,转码服务器中的通知模块将转码结果(成功\失败、转码输入文件信息、输出文件信息)通过用户配置的方式(HTTP、邮件、短信)发送给用户。
本发明的实施例中涉及的转码任务由用户创建,存储于数据库中。定义了一个具体的将被异步执行的转码事件,任务参数包括:云存储提供商,原文件位置参数,输出文件位置参数,输出文件权限等。
本发明的实施例中涉及的转码模板:由***或用户创建、存储于数据库中。定义了转码中需要的规则,比如输出封装格式,输出视频编码方式,输出分辨率,输出码率,输出帧率,水印,剪辑参数等。创建转码任务时需要指定转码模板。
本发明的实施例中涉及的转码任务队列:由用户创建,存储于数据库中。当创建任务是需指定队列ID。队列可以配置优先级,最大并行任务数等信息。
和现有的视频转码***不同,本发明实施例提供的多媒体转码***可以允许用户根据自己的需求创建不同优先级的队列。例如,以数字标记队列的优先级,优先级从0至9(数值越低,优先级越高)。一个常见的应用是,用户可以创建一个普通优先级(优先级为5)的队列,一个高优先级(优先级为0)的队列。大部分的任务会进入普通优先级的队列,当出现紧急的转码任务,用户可以将该转码任务放入高优先级队列。当***中有可用资源时,***会优先处理高优先级的队列中的任务。
为了控制***的总体负载量,进一步的,还可以对每个用户可以创建的队列总数量、以及每个队列的并发任务数量都做了限制。
本发明实施例中,云存储适配模块存储了不同云存储平台的接口调用方法(基于其平台SDK实现)、用户需要提供的参数(比如,对于AWS S3平台,则需要Bucket、Key、AccessKey等信息)、以及参数转码规则。适配模块的主要工作流程如下:
1.根据用户提供的云存储平台,获取必须参数、转换规则。
2.验证用户提供的参数是否完整。
3.根据参数转换规则将用户提供的参数转换成云存储接口所需参数的格式。
4.使用适配得到的接口进行多媒体文件的的下载和上传。
本发明的实施例提供了一种多媒体转码方法和***,转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口,通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件,再通过所述接口,将所述转码后文件上传至所述云存储平台。解决了现有多媒体转码***转码效率低下、不能满足不同云存储平台大量转码需求的问题,实现了高灵活性可适配不同云存储平台不同格式要求的多媒体文件转码。本发明的实施例提供的技术方案,能够无缝适配不同云存储平台。当用户更换云存储平台时,只需要更改参数中的云存储提供商和相关参数即可。通过可管理的不同优先级转码任务队列,实现更灵活的优先级控制和更好的并发性能。针对队列进行隔离,避免单用户压力影响整体性能。***内所有模块均跨IDC部署,提高***可靠性。
上面描述的内容可以单独地或者以各种方式组合起来实施,而这些变型方式都在本发明的保护范围之内。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (10)

1.一种多媒体转码方法,其特征在于,包括:
前端接口服务器在接收到用户提交的创建转码请求时,提取所述创建转码任务请求中的任务参数,生成转码任务;前端接口服务器中的验证模块会根据用户请求中携带的签名信息验证请求合法性,在确认请求合法后,将转码任务写入数据库的相应队列中;
对生成的转码任务,通过至少一个队列进行管理,不同的队列具有不同的优先级;转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口;
通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件;
通过所述接口,将所述转码后文件上传至所述云存储平台;
转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口的步骤包括:
转码服务器根据用户与所述转码任务指示的云存储平台,获取相应的云存储平台的身份密钥;
根据所述云存储平台的身份密钥和转码任务中指定的云存储平台,选择相应的接口。
2.根据权利要求1所述的多媒体转码方法,其特征在于,转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口的步骤之前还包括:
接收用户提供的各云存储平台的身份密钥,在用户、所述云存储平台和云存储平台的身份密钥之间建立关联关系。
3.根据权利要求2所述的多媒体转码方法,其特征在于,所述转码任务携带有任务参数,所述任务参数至少包含以下参数中的任一项或任意多项:
队列 ID,模板 ID,云存储平台,多媒体源文件地址,转码输出参数。
4.根据权利要求1所述的多媒体转码方法,其特征在于,转码服务器根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口的步骤之前,还包括:
根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务。
5.根据权利要求1所述的多媒体转码方法,其特征在于,根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务的步骤之前还包括:
从优先级较高的队列中选择一个转码任务作为当前待执行的转码任务。
6.一种多媒体转码***,包括多个使用不同编码格式的云存储平台,其特征在于,该***还包括转码服务器集群,所述转码服务器集群包含多台转码服务器;
所述转码服务器集群中的转码服务器,用于根据转码任务中指定的云存储平台,适配得到与所述云存储平台对应的接口,通过所述接口将所述转码任务中涉及的多媒体源文件下载到本地,并根据所述转码任务进行转码,得到转码后文件,通过所述接口,将所述转码后文件上传至所述云存储平台;
该***还包括前端接口服务器集群,所述前端接口服务器集群中包含多台前端接口服务器;
所述前端接口服务器集群中的前端接口服务器,用于在接收到用户提交的创建转码任务请求时,提取所述创建转码任务请求中的任务参数,生成转码任务;前端接口服务器中的验证模块会根据用户请求中携带的签名信息验证请求合法性,在确认请求合法后,将转码任务写入数据库的相应队列中;
该***还包括分布式数据库集群,所述分布式数据库集群包含多个数据库实例;
所述前端接口服务器集群,用于将生成的转码任务写入所述分布式数据库集群,对生成的转码任务,通过至少一个队列进行管理,不同的队列具有不同的优先级;
所述分布式数据库集群中的数据库实例,用于存储所述生成的转码任务和转码任务队列;
所述转码服务器,具体用于根据用户与所述转码任务指示的云存储平台,获取相应的云存储平台的身份密钥,根据所述云存储平台的身份密钥和转码任务中指定的云存储平台,选择相应的接口。
7.根据权利要求6所述的多媒体转码***,其特征在于,
所述转码服务器,还用于接收用户提供的各云存储平台的身份密钥,在用户、所述云存储平台和云存储平台的身份密钥之间建立关联关系。
8.根据权利要求7所述的多媒体转码***,其特征在于,所述转码任务携带有任务参数,所述任务参数至少包含以下参数中的任一项或任意多项:
队列 ID,模板 ID,云存储平台,多媒体源文件地址,转码输出参数。
9.根据权利要求6所述的多媒体转码***,其特征在于,该***还包括任务调度服务器集群,所述任务调度服务器集群包含多台任务分配服务器;
所述任务调度服务器集群中的任务分配服务器,用于根据转码服务器集群中各个转码服务器的负载状态,选择较空闲的转码服务器执行所述转码任务。
10.根据权利要求6所述的多媒体转码***,其特征在于,
所述任务调度服务器集群中的任务分配服务器,还用于从优先级较高的队列中选择一个转码任务作为当前待执行的转码任务。
CN201710620933.4A 2017-07-27 2017-07-27 一种多媒体转码方法和*** Active CN109309646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710620933.4A CN109309646B (zh) 2017-07-27 2017-07-27 一种多媒体转码方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710620933.4A CN109309646B (zh) 2017-07-27 2017-07-27 一种多媒体转码方法和***

Publications (2)

Publication Number Publication Date
CN109309646A CN109309646A (zh) 2019-02-05
CN109309646B true CN109309646B (zh) 2021-04-27

Family

ID=65201754

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710620933.4A Active CN109309646B (zh) 2017-07-27 2017-07-27 一种多媒体转码方法和***

Country Status (1)

Country Link
CN (1) CN109309646B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901566A (zh) * 2020-07-29 2020-11-06 浪潮云信息技术股份公司 一种监控数据存储***及存储方法
CN112035405B (zh) * 2020-08-29 2023-10-13 平安科技(深圳)有限公司 一种文档转码方法、装置、调度服务器和存储介质
CN113938681A (zh) * 2021-09-26 2022-01-14 浪潮云信息技术股份公司 一种多模式控制视频码率的***及方法
CN115277579B (zh) * 2022-07-25 2024-03-19 广州品唯软件有限公司 仓库视频调取方法及云平台

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102868707A (zh) * 2011-07-04 2013-01-09 腾讯科技(深圳)有限公司 一种文件下载和转码的方法和***
CN105049505A (zh) * 2015-07-09 2015-11-11 上海爱数软件有限公司 一种适配多种云存储接口的方法及***
US10419798B2 (en) * 2015-12-28 2019-09-17 Synchronoss Technologies, Inc. Method and apparatus for just-in-time transcoding
CN106101258B (zh) * 2016-07-08 2021-05-25 腾讯科技(深圳)有限公司 一种混合云的接口调用方法、装置及***
CN106973306A (zh) * 2017-02-14 2017-07-21 北京时间股份有限公司 分布式转码方法、装置及***

Also Published As

Publication number Publication date
CN109309646A (zh) 2019-02-05

Similar Documents

Publication Publication Date Title
CN109309646B (zh) 一种多媒体转码方法和***
US20200204641A1 (en) Queue processor for document servers
US11126595B2 (en) Network coded storage with multi-resolution codes
US10587772B2 (en) Configurable document server
US11132213B1 (en) Dependency-based process of pre-existing data sets at an on demand code execution environment
US8488448B2 (en) System and method for message sequencing in a broadband gateway
CN102859961B (zh) 具有自适应的文件处理的分布式视频转码***
CN111736775A (zh) 多源存储方法、装置、计算机***及存储介质
CN111901230B (zh) 一种支持设备接入验证的物联网网关、***和设备接入验证的方法
CN112055078B (zh) 一种数据传输方法、装置、计算机设备和存储介质
CN106375471B (zh) 一种边缘节点确定方法及装置
US10750125B2 (en) Automatic deployment of distributed video conference system
CN101964776A (zh) Ims业务定制的方法、客户端及***
CN112261125A (zh) 集中单元的云化部署方法、装置及***
CN103092932A (zh) 一种分布式文档转码***
US9438693B2 (en) System and method for message retry in a broadband gateway
CN113364888B (zh) 服务调度方法、***、电子设备及计算机可读存储介质
CN101167340A (zh) 用于在分布网络上调度内容传递的方法和设备
Jeon et al. User centric content management system for open IPTV over SNS
CN112380040B (zh) 一种消息处理的方法、装置、电子设备及存储介质
CN101800751B (zh) 分布式实时数据编码传输方法
CA2741494C (en) Universal document transport
CN110428254B (zh) 去中心化存储下载方法及仲裁方法、设备和存储介质
Tao et al. Information flow queue optimization in ec cloud
US12003603B2 (en) Queue processor for document servers

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant