一种媒体文件发布方法及装置与流程

文档序号:14186663阅读:195来源:国知局

本发明涉及通信技术领域,尤其涉及一种媒体文件发布方法及装置。



背景技术:

随着互联网的发展,出现了各种各样的媒体文件发布系统,例如,目前存在有点对点(peertopeer,p2p)系统、多点传输(clienttomultipleserver,c2ms)系统以及直播vlive系统。下面以p2p系统和内容分发网络(contentdeliverynetwork,cdn)系统融合的网络架构为例进行说明,所述p2p系统和cdn系统融合的网络架构将p2p系统的扩展能力、多用户共享资源能力与cdn系统的可靠性、可管理性结合起来,可以更好的实现用户与网络之间的交互。

目前,在用户应用所述p2p系统和cdn系统融合的网络架构进行媒体文件的下载和共享时,因在cdn系统中和p2p系统中分别使用不同的资源定位规则,所以需要将cdn系统中的媒体文件的统一资源定位符(uniformresourelocator,url)与p2p系统的媒体资源描述符建立映射关系,进而p2p系统中的网络设备通过所述映射关系可获取到待发布媒体文件的url,再通过所述url获取到待发布媒体文件,并将所述url对应的待发布文件存储到硬盘中。若所述待发布媒体文件在服务器中的存储位置不同或者所述待发布媒体文件是从不同的cdn系统获取的,则网络设备获取到的待发布媒体文件的url不同。由于p2p系统中的网络设备是根据不同的url,将所述属于同一媒体文件的待发布媒体文件存储为不同的文件,导致占用较多的存储资源。

另外,p2p系统中的网络设备从cdn系统获取url时,由于不同cdn系统需要提供不同的url获取接口,且不同cdn系统获取方式不同,当p2p系统对接不同cdn系统时,需要对对接模块进行二次开发,消耗时间和成本。



技术实现要素:

本发明的目的是提供一种媒体文件发布方法及装置,以节约存储资源,并节省cdn系统的对接开发和时间成本。

第一方面,本发明实施例提供一种媒体文件发布方法,所述方法包括:

获取待发布媒体文件的统一资源定位符url;

根据所述待发布媒体文件的url和url匹配规则,确定能够标识所述待发布媒体文件的关键字key值,并确定与所述key值对应的频道号;

其中,所述url匹配规则用于根据所述待发布媒体文件的url确定能够标识所述待发布媒体文件的key值,所述频道号用于唯一标识待发布的媒体文件;

发布所述待发布媒体文件的key值以及所述频道号。

本发明实施例中,获取到待发布媒体文件的url后,根据所述待发布媒体文件的url和url的匹配规则,确定出标识所述待发布媒体文件的key值以及与所述key值对应的频道号,使得属于相同媒体文件的待发布媒体文件对应唯一相同的频道号,以保证在应用p2p系统和cdn系统进行媒体文件发布时,不同url对应的同一媒体文件只进行一次存储,可节约存储资源。另外,当更换cdn系统并获取到相同媒体文件对应的不同url时,根据所述不同的url,确定出标识相同媒体文件的相同key值以及与所述相同key值对应的同一频道号,进而可直接根据所述相同的频道号,实现所述待发布媒体文件的存储和共享,而不需要对所述p2p系统进行修改,也不需要对cdn系统进行修改,就可以接入到不同的cdn系统,可节省cdn系统的对接开发和时间成本。

具体的,从播控服务器获取待发布媒体文件的url;或者从播控服务器上传的url列表中获取待发布媒体文件的url。

进一步的,确定所述待发布媒体文件中各分片文件的key值之后,若所述url对应的待发布媒体文件包括分片文件,则确定所述待发布媒体文件中各分片文件的key值;获取所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小;根据所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小,确定各分片文件相对所述待发布媒体文件起始位置的偏移量信息;发布所述各分片文件的key值、各分片文件相对所述待发布媒体文件起始位置的偏移量信息、以及各分片文件的大小。

具体的,若所述key值包括所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值,则将所述待发布媒体文件的key值对应的频道号,作为所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值对应的频道号。

具体的,根据所述url携带的用于判断所述待发布媒体文件是否被发布过的标记,判断所述待发布媒体文件是否被发布过;

若所述待发布媒体文件被发布过,则将发布所述待发布媒体文件时所使用的频道号,作为所述key值对应的频道号;

若所述待发布媒体文件未被发布过,则在频道号资源池中选择频道号,作为所述key值对应的频道号。

进一步的,所述待发布媒体文件被发布过之后,向播控服务器发送通知消息,通知所述播控服务器所述待发布媒体文件发布成功;接收所述播控服务器发送的所述待发布媒体文件的下线通知消息,并向所述播控服务器发送所述通知消息的应答消息,所述应答消息用于通知所述播控服务器对所述待发布媒体文件进行下线操作;若检测到所述播控服务器下线成功,则向跟踪tracker服务器发送清除缓存消息,并将数据库中存储的所述待发布媒体文件的记录删除。

第二方面,本发明实施例提供一种媒体文件发布装置,该装置包括获取单元、确定单元和发送单元,其中:

所述获取单元,用于获取待发布媒体文件的统一资源定位符url;

所述确定单元,用于根据所述待发布媒体文件的url和url的匹配规则,确定能够标识所述获取单元获取的所述url对应待发布媒体文件的关键字key值,并确定与所述key值对应的频道号;其中,所述url匹配规则用于根据所述待发布媒体文件的url确定能够标识所述待发布媒体文件的key值,所述频道号用于唯一标识待发布的媒体文件;

所述发送单元,用于发布所述确定单元确定出的所述待发布媒体文件的key值以及频道号。

其中,所述获取单元具体用于:从播控服务器获取待发布媒体文件的url;或者从播控服务器上传的url列表中获取待发布媒体文件的url。

进一步的,所述确定单元确定出所述待发布媒体文件中各分片文件的key值之后,所述确定单元还用于:若所述url对应的待发布媒体文件包括分片文件,则确定所述待发布媒体文件中各分片文件的key值。

所述获取单元还用于:获取所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小。

所述确定单元还用于:根据所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小,确定各分片文件相对所述待发布媒体文件起始位置的偏移量信息。

所述发送单元还用于:发布所述确定单元确定的各分片文件的key值、各分片文件相对所述待发布媒体文件起始位置的偏移量信息、以及各分片文件的大小。

其中,所述确定单元具体用于:若所述key值包括所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值,则将所述待发布媒体文件的key值对应的频道号,作为所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值对应的频道号。

具体的,所述确定单元具体用于:根据所述url携带的用于判断所述待发布媒体文件是否被发布过的标记,判断所述待发布媒体文件是否被发布过;若所述待发布媒体文件被发布过,则将发布所述待发布媒体文件时所使用的频道号,作为所述key值对应的频道号;若所述待发布媒体文件未被发布过,则在频道号资源池中选择频道号,作为所述key值对应的频道号。

进一步的,所述发送单元发布所述确定单元确定出的所述待发布媒体文件的key值以及频道号之后,所述装置还包括接收单元:

所述发送单元还用于:向播控服务器发送通知消息,通知所述播控服务器所述待发布媒体文件发布成功;

所述接收单元用于:接收所述播控服务器发送的所述待发布媒体文件的下线通知消息;

所述发送单元还用于:向所述播控服务器发送所述通知消息的应答消息,所述应答消息用于通知所述播控服务器进行所述待发布媒体文件的下线操作;若检测到所述播控服务器下线成功,则向tracker服务器发送清除缓存消息,并将数据库中存储的所述待发布媒体文件的记录删除。

附图说明

图1为本发明实施例提供的一种媒体文件的发布方法;

图2为本发明实施例提供的另一种媒体文件的发布方法;

图3为本发明实施例提供的一种频道号的确定方法流程图;

图4为本发明实施例提供的一种媒体文件的下线过程流程图;

图5为本发明实施例提供的一种媒体文件发布装置的结构示意图;

图6为本发明实施例提供的另一种媒体文件发布装置的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,并不是全部的实施例。

本发明实施例提供一种媒体文件发布方法,以节约存储资源。

本发明实施例提供一种媒体文件发布方法,该方法中,获取待发布媒体文件的url,并根据所述url对应的待发布媒体文件,确定出标识所述待发布媒体文件的key值以及与所述key值对应的频道号,且所述频道号用于唯一标识待发布的媒体文件,进而发布所述url以及所述频道号。

本发明实施例中,获取到待发布媒体文件的url后,根据所述待发布媒体文件的url和url匹配规则,确定出标识所述待发布媒体文件的key值以及与所述key值对应的频道号,使得属于相同媒体文件的待发布媒体文件对应唯一相同的频道号,以保证在应用p2p系统和cdn系统进行媒体文件发布时,不同url对应的同一媒体文件只进行一次存储,可节约存储资源。另外,更换cdn系统并获取到相同媒体文件对应的不同url时,根据所述不同的url,确定出标识相同媒体文件的相同key值以及与所述相同key值对应的同一频道号,进而可直接根据所述相同的频道号,实现所述待发布媒体文件的存储和共享,而不需要对设备或系统进行修改,就可以接入到不同的cdn系统,可节省cdn系统的对接开发和时间成本。

图1为本发明实施例提供的一种媒体文件的发布方法,可以包括以下步骤:

s11、获取待发布媒体文件的url。

具体的,当影片增量发布上线时,会从播控服务器获取待发布媒体文件的url;当影片批量发布上线时,会从播控服务器上传的url列表中依次获取每个待发布媒体文件的url。所述url携带所述待发布媒体文件的下载地址信息、认证信息以及路径信息。其中,本发明实施例的执行主体可以是发布服务器。

s12、根据所述待发布媒体文件的url和url的匹配规则,确定能够标识所述待发布媒体文件的key值,并确定与所述key值对应的频道号。

具体的,若待发布媒体文件在服务器中的存储位置不同或者待发布媒体文件是从不同的cdn系统获取的,则获取到的待发布媒体文件的url不同。本发明实施例中,接收到属于相同媒体文件的不同url后,可根据不同url,确定出能够标识相同的待发布媒体文件的一个key值,可设置url匹配规则。所述url匹配规则用于根据所述待发布媒体文件的url确定能够标识所述待发布媒体文件的key值。其中,本发明实施例中对于url匹配规则的具体实现不作限定,例如,可提取不同url中媒体文件的标识号(identification,id)信息、长度信息以及起始位置信息,使用正则表达式对不同的url进行重写,进而确定出能够标识相同待发布媒体文件的key值;或者,可提取url的cdn入口参数,使用正则表达式对不同的url进行重写,进而确定出能够标识相同待发布媒体文件的key值。

本发明实施例中确定出能够标识相同待发布媒体文件的key值后,再根据预先配置的key值与频道号之间的映射关系,可确定出与key值对应的频道号,由于所述频道号用于唯一标识所述待发布的媒体文件,进而可确定出待发布的媒体文件。

s13、发布所述待发布媒体文件的key值以及所述频道号。

具体的,发布管理人员在内容管理平台上发布媒体文件时,内容管理平台将所述媒体文件上传到cdn系统,cdn系统扫描媒体文件并发布后,回调播控服务器向发布服务器发送通知消息,所述通知消息中携带所述媒体文件的url。所述发布服务器收到所述通知消息后,对url进行重新计算,得到url对应的媒体文件的key值,并将媒体文件的key值和对应的频道号发布到数据库中。

本发明实施例中,获取到待发布媒体文件的url后,根据所述待发布媒体文件的url和url的匹配规则,确定出标识所述待发布媒体文件的key值以及与所述key值对应的频道号,使得属于相同媒体文件的待发布媒体文件对应唯一相同的频道号,以保证在应用p2p系统和cdn系统进行媒体文件发布时,不同url对应的同一媒体文件只进行一次存储,可节约存储资源。另外,可直接根据所述相同的频道号,实现相同媒体文件的存储和共享,而不需要对现有设备或系统进行修改,就可以接入到不同的cdn系统,可节省cdn系统的对接开发和时间成本。

可选的,在上述实施例中,所述待发布媒体文件的url由cdn系统产生。当需要获取所述url时,向cdn系统发送媒体文件请求消息,cdn系统收到所述请求消息后,发送所述url。

进一步的,本发明实施例中,若所述url对应的待发布媒体文件包括分片文件,为了能够实现所述待发布媒体文件中各分片文件的成功发布,在确定出所述待发布媒体文件的key值之后,还包括以下步骤,如图2所示:

s21、若所述待发布媒体文件包括分片文件,则确定所述待发布媒体文件中各分片文件的key值。

具体的,若所述url对应的待发布媒体文件包括分片文件,则所述待发布媒体文件可以被确定为m3u8文件,并使用正则表达式对所述m3u8文件以及m3u8文件中的每个分片文件的url进行重写,得到所述m3u8文件的key值和所述每个分片文件的key值。其中,每个分片文件的url都对应计算出一个key值,且所述key值是标识所述m3u8文件和所述每个分片文件的关键字段。若所述url对应的待发布媒体文件不包括分片文件,则所述待发布媒体文件可以被确定为mp4文件,并使用正则表达式对所述mp4文件的url进行计算,得到标识所述url对应的mp4文件的key值。其中,每个mp4文件都对应计算出一个key值,且所述每个key值是分别标识所述每个mp4文件的关键字段。

s22、获取所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小。

具体的,进行媒体文件发布时,向cdn系统发送请求,获取所述待发布媒体文件的大小信息和所述待发布媒体文件中各个分片文件的大小信息。

s23、根据所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小,确定各分片文件相对所述待发布媒体文件起始位置的偏移量信息。

具体的,当获取到所述待发布媒体文件的大小信息和所述待发布媒体文件中各个分片文件的大小信息时,可根据所述待发布媒体文件的大小信息,确定出所述待发布媒体文件的起始位置,进而依次确定出各分片文件的偏移量。例如,若已知所述待发布媒体文件的起始位置为零且所述待发布媒体文件中的第一个分片文件所占字节数为15,则可确定出所述待发布媒体文件中的第二个分片文件的偏移量从第16个字节开始。

s24、发布所述各分片文件的key值、各分片文件相对所述待发布媒体文件起始位置的偏移量信息、以及各分片文件的大小。

本发明实施例中,若所述url对应的待发布媒体文件包括分片文件,则所述待发布媒体文件可以是m3u8文件。在进行所述m3u8文件的发布时,可将所述m3u8文件中的各个分片文件的key值、各分片文件相对所述待发布媒体文件起始位置的偏移量、以及各分片文件的大小信息发布给数据库,实现可根据所述数据库中的各个分片文件的key值、各分片文件的偏移量信息、以及各分片文件的大小,按顺序依次获取到所述m3u8文件中的各个分片文件。

优选的,在上述实施例中,若所述url对应待发布媒体文件包括分片文件,则确定出的key值包括所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值,进而再根据所述key值与频道号之间的映射关系,将所述待发布媒体文件的key值对应的频道号,作为所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值对应的频道号。

本发明实施例中,通过将所述待发布媒体文件的key值对应的频道号,作为所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值对应的频道号,使得所述待发布媒体文件以及所述待发布媒体文件中各分片文件对应相同的频道号。例如,若所述待发布媒体文件为m3u8文件,则能够确保所述m3u8文件中的各个分片文件作为一个文件进行存储,可节约存储资源。并且实现了网络设备可直接根据唯一标识m3u8文件的频道号,将所述m3u8文件中的各个分片文件作为一个文件进行发布,减轻了网络设备对m3u8文件中的各个分片文件的管理压力。

优选的,在上述实施例中,对所述key值对应的频道号的确定,可具体包括以下步骤,如图3所示:

s121、根据所述url携带的用于判断所述待发布媒体文件是否被发布过的标记,判断所述待发布媒体文件是否被发布过。

具体的,在需要发布媒体文件时,会向发布服务器发送通知消息,所述发布服务器收到所述通知消息后,从所述通知消息中获取到所述待发布媒体文件的url,并在数据库中查询是否发布过所述媒体文件,具体的查询方式可以根据url携带的标记来判断,比如,url携带的标记位为isp2p,若isp2p=1,则表明该媒体文件已被发布过;若isp2p=0或者没有标记,则表明该媒体文件未被发布过。

若被发布过,则执行s122、将发布所述待发布媒体文件时所使用的频道号,作为所述key值对应的频道号。

具体的,在轮播场景下,媒体文件是以一定的时间间隔进行循环播放的,即该媒体文件已经被发布过,此时,可将发布所述待发布媒体文件时所使用的频道号,作为所述key值对应的频道号。

若未被发布过,则执行s123、在频道号资源池中选择频道号,作为所述key值对应的频道号。

具体的,若媒体文件没有被发布过,则根据预先配置的所述key值与频道号之间的映射关系,从频道号资源池中选择相对应的频道号,作为所述key值对应的频道号。

本发明实施例中,若所述媒体文件已经被发布过,则将发布所述待发布媒体文件时所使用的频道号,作为所述key值对应的频道号,即不需要查找就能够快速确定出所述key值对应的频道号。

进一步的,在本发明实施例中待发布媒体文件被发布过之后,为了节省缓存空间或由于其他原因,需要对发布过的待发布媒体文件进行下线处理时,具体的下线过程可包括以下步骤,如图4所示:

s41、向播控服务器发送通知消息,通知播控服务器待发布媒体文件发布成功。

实际应用中,当媒体文件已经被发布过之后,发布服务器会向播控服务器发送携带通信协议标记的通知消息,通知该媒体文件发布成功;比如,携带类似isp2p=1的标记,在播控服务器识别出值为1的标记后,得知该媒体文件被发布过,且得知需采用p2p协议下载该媒体文件;即下载模块会对该媒体文件的url进行分析判断,判断url中是否含有p2p标记,若不含p2p标记,则生成c2ms任务,并选择下载服务器进行多点下载;若含有p2p标记,则生成p2p下载任务,启动p2p模块下载。

s42、接收播控服务器发送的所述待发布媒体文件的下线通知消息,并向播控服务器发送通知播控服务器对所述待发布媒体文件进行下线操作的消息。

具体的,当媒体文件已经被发布过之后,发布管理人员会在播控平台上对播控服务器进行操作,对播控服务器中存储的发布成功的媒体文件进行下线处理,但是在进行下线处理之前,播控服务器会向发布服务器发送该媒体文件需要下线的通知消息,当发布服务器收到该通知消息后,会向播控服务器发送该通知消息的应答消息,告知播控服务器可以对媒体文件进行下线处理。

s43、若检测到播控服务器下线成功,则向跟踪(tracker)服务器发送清除缓存消息,并将数据库中存储的所述待发布媒体文件删除。

具体的,当检测到播控服务已经成功实现了对媒体文件的下线处理,从而可向tracker服务器发送清除缓存的消息,tracker服务器收到该消息后,会对该服务器的缓存接口处缓存的媒体文件进行清除,便于该服务器进行其他媒体文件的更新。同时,也会将数据库中存储的已经发布过的媒体文件删除,以节省p2p数据库的存储空间。

基于上述实施例提供的媒体文件发布方法,本发明实施例提供一种媒体文件发布装置,该装置可以应用于p2p系统中,图5所示为本发明实施例提供的一种媒体文件发布装置的结构示意图,如图5所示,该装置包括获取单元51、确定单元52和发送单元53,其中:

所述获取单元51,用于获取待发布媒体文件的统一资源定位符url;

所述确定单元52,用于根据所述待发布媒体文件的url和url的匹配规则,确定能够标识所述获取单元51获取的所述url对应待发布媒体文件的关键字key值,并确定与所述key值对应的频道号;其中,所述url匹配规则用于根据所述待发布媒体文件的url确定能够标识所述待发布媒体文件的key值,所述频道号用于唯一标识待发布的媒体文件;

所述发送单元53,用于发布所述确定单元52确定出的所述待发布媒体文件的key值以及所述确定单元52确定出的频道号。

具体的,所述获取单元51具体用于:从播控服务器获取待发布媒体文件的url;或者从播控服务器上传的url列表中获取待发布媒体文件的url。

进一步的,所述确定单元52确定出所述待发布媒体文件中各分片文件的key值之后,,所述确定单元52还用于:若所述url对应的待发布媒体文件包括分片文件,则确定所述待发布媒体文件中各分片文件的key值。

所述获取单元51还用于:获取所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小。

所述确定单元52还用于:根据所述待发布媒体文件的大小和所述待发布媒体文件中各个分片文件的大小,确定各分片文件相对所述待发布媒体文件起始位置的偏移量信息。

所述发送单元53还用于:发布所述确定单元确定的各分片文件的key值、各分片文件相对所述待发布媒体文件起始位置的偏移量信息、以及各分片文件的大小。

其中,所述确定单元52具体用于:若所述key值包括所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值,则将所述待发布媒体文件的key值对应的频道号,作为所述待发布媒体文件的key值以及所述待发布媒体文件中各分片文件的key值对应的频道号。

具体的,所述确定单元52具体用于:根据所述url携带的用于判断所述待发布媒体文件是否被发布过的标记,判断所述待发布媒体文件是否被发布过;若所述待发布媒体文件被发布过,则将发布所述待发布媒体文件时所使用的频道号,作为所述key值对应的频道号;若所述待发布媒体文件未被发布过,则在频道号资源池中选择频道号,作为所述key值对应的频道号。

进一步的,所述发送单元发布所述确定单元确定出的所述待发布媒体文件的key值以及频道号之后,所述装置还包括接收单元54,如图6所示:

所述发送单元53还用于:向播控服务器发送通知消息,通知所述播控服务器所述待发布媒体文件发布成功;

所述接收单元54用于:接收所述播控服务器发送的所述待发布媒体文件的下线通知消息;

所述发送单元53还用于:向所述播控服务器发送所述通知消息的应答消息,所述应答消息用于通知所述播控服务器进行所述待发布媒体文件的下线操作;若检测到所述播控服务器下线成功,则向tracker服务器发送清除缓存消息,并将数据库中存储的所述待发布媒体文件的记录删除。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1