本发明涉及多媒体以及内容分发
技术领域:
,尤其涉及内容分发网络及其存储优化方法、电子设备及存储介质。
背景技术:
:内容分发网络(contentdeliverynetwork,cdn)是通过将内容发布到网络的边缘节点,实现内容的分布式就近服务。cdn的各节点均放置有内容缓存服务器,由cdn的全局负载均衡系统实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求导向至离用户最近的边缘节点上。其目的是使用户可就近取得所需内容,解决网络拥挤的状况,提高用户访问网站的响应速度。现有技术中的cdn在对内容站源的直播内容进行分发时,通常将内容源站的直播内容发送至内容中心,内容中心将直播内容全部写入自身存储,当用户终端访问距离最近的边缘节点时,该边缘节点根据直播请求判断自身存储内是否存在与直播请求相匹配的直播内容,如果有则直接将该边缘节点存储内与直播请求相匹配的直播内容发送至用户终端,如果没有则由该边缘节点向距离最近的内容中心请求与直播请求相匹配的直播内容。该边缘节点接收内容中心发送的与直播请求相匹配的直播内容,写入自身存储,并将与直播请求相匹配的直播内容发送至用户终端。现有技术中通过cdn对直播内容进行分发,可以使用户终端直接访问距离最近的边缘节点并取得所需直播内容,实现对直播内容的加速。但是,在某一边缘节点没有用户终端访问的情况下,这种cdn分发方式将浪费大量的存储资源。因此,现急需提供一种内容分发网络及其存储优化方法、电子设备及存储介质。技术实现要素:针对现有技术存在的问题,本发明实施例中提供了一种内容分发网络及其存储优化方法、电子设备及存储介质。第一方面,本发明实施例提供了一种内容分发网络的存储优化方法,包括:确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将所述内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点。优选地,所述预设时长基于如下方法确定:确定边缘节点的内容切片平均下载速度以及所述指定直播频道的平均码率;基于所述平均码率与所述内容切片平均下载速度的比值,确定时长系数;将所述时长系数与所述完整内容切片时长的乘积作为所述预设时长;其中,所述时长系数小于1。优选地,所述将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储之后,还包括:修改所述存储中的索引文件,将所述索引文件中与所述指定直播频道对应的内容切片文件名修改为所述目标内容切片对应的文件名。优选地,还包括:确认所述预设时间段内未收到某一边缘节点对指定直播频道发起的直播请求,将所述存储中目标表格中的所述某一边缘节点删除;其中,所述目标表格用于指示所述指定直播频道在每个边缘节点处的播放状态。优选地,所述基于所述平均码率与所述内容切片平均下载速度的比值,确定时长系数,具体包括:基于所述比值以及所述指定直播频道的热度保障权重,确定所述预设时长。优选地,在确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求之前,还包括:实时接收内容源站发送的所述指定直播频道对应的完整内容切片;将接收的所述内容源站发送的完整内容切片写入内存。第二方面,本发明实施例提供一种内容分发网络的存储优化方法,包括:在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到所述任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;接收与所述指定直播频道对应的最新完整内容切片并写入存储,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。第三方面,本发明实施例提供一种内容分发网络,包括:一个或者多个内容中心,每个内容中心分别对应于一个或者多个边缘节点;其中,所述内容中心用于执行如第一方面所述的内容分发网络的存储优化方法;所述边缘节点用于执行如第二方面所述的内容分发网络的存储优化方法。第四方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面或第二方面所述内容分发网络存储优化方法的步骤。第五方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如第一方面或第二方面所述内容分发网络存储优化方法的步骤。本发明实施例提供的内容分发网络及其存储优化方法、电子设备及存储介质,内容中心在预设时间段内未收到边缘节点对指定直播频道发起的直播请求时,将内存中与指定直播频道对应的预设时长的目标内容切片写入存储,并将目标内容切片发送至边缘节点。使写入内容中心的存储中的目标内容切片的预设时长小于正常情况下的完整内容切片时长,可以节约内容中心的存储资源,同时可以节约内容源站至内容中心之间的传输带宽资源。另外,将目标内容切片发送至边缘节点,使边缘节点写入存储,当边缘节点收到用户终端对指定直播频道发起的直播请求时,直接从自身存储中将目标内容切片发送至用户终端,降低了网络延时。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中提供的一种内容分发网络的存储优化方法的流程示意图;图2为本发明实施例中提供的一种内容分发网络的存储优化方法中内容中心的内存中一个完整内容切片示意图;图3为本发明实施例中提供的一种内容分发网络的存储优化方法的流程示意图;图4为本发明实施例中提供的一种内容分发网络的结构示意图;图5为本发明实施例中提供的一种内容分发网络的存储优化装置的结构示意图;图6为本发明实施例中提供的一种内容分发网络的存储优化装置的结构示意图;图7为本发明实施例中提供的一种电子设备的实体结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。由于现有技术中无论任何情况发生,在内容源站将直播内容发送至内容中心后,内容中心均将直播内容从内存中写入存储,如此将导致内容中心长时间未访问的情况发生时出现存储资源浪费的现象发生。为此,本发明实施例中提供了内容分发网络及其存储优化方法、电子设备及存储介质。如图1所示,本发明实施例中提供了一种内容分发网络的存储优化方法,包括:s11,确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;s12,将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将所述内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点。具体地,内容分发网络(contentdeliverynetwork,cdn)包括内容中心和边缘节点。其中,内容中心用于接收内容源站发送的直播内容,内容中心作为cdn内容的全量库,内存中写入了内容源站的所有内容。内容源站通常使用hls协议,通过不停的推流和拉流,将ts文件传输至cdn实现全网络分发。因此本发明实施例中所说的内容切片均是指ts切片。一般情况下,cdn包括一个或者多个内容中心,为使每一个内容中心服务于附近相对应的边缘节点(pop节点),以降低时延,cdn的内容中心的数量可以为至少两个,当其中若干内容中心发生故障后,可以使其服务的边缘节点调度至其他内容中心,由其他内容中心服务,可以避免其中任一内容中心故障后出现文件丢失的情况。pop节点为入网点,需要观看直播内容的用户终端需要先访问pop节点,向pop节点发送直播请求,pop节点根据用户终端的直播请求,判断自身存储内是否存在与直播请求相对应的用户终端所需的直播内容,如果存在则将存储内的直播内容发送至用户终端,为用户终端提供服务;如果不存在则pop节点向距离最近的内容中心发送直播请求,pop节点在收到内容中心下发的直播内容后,一方面将直播内容发送给用户终端,为用户终端提供服务,另一方面将直播内容写入存储进行保存,为下一个用户终端提供本地服务。本发明实施例中提供的内容分发网络的存储优化方法,执行主体为cdn的内容中心。对于cdn的每个内容中心,首先,执行步骤s11。内容中心判断预设时间段内是否有收到边缘节点对指定直播频道发起的直播请求,如果确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点。如图2所示,为内存中一个完整内容切片示意图,其中将预设时长的目标内容切片1写入存储。其中,预设时间段可以根据需要进行设定,例如可以是20s至50s,也可以设定其他数值。直播频道是指直播内容对应的频道,是直播内容的播放通道。一个pop节点可以提供cdn网络能够提供的所有直播频道的直播内容。本发明实施例中所说的指定直播频道可以是所有直播频道中的任一直播频道。预设时长是指不影响服务体验的前提下写入内容中心的存储中的内容切片的时长,预设时长小于完整内容切片时长,且满足用户终端在播放完目标内容切片后再次发送直播请求时,可以不需要等待地直接从边缘节点下载最新完整内容切片,即预设时长大于等于边缘节点向内容中心下载最新完整内容切片的时长,也即预设时长大于等于内容中心将最新完整内容切片发送至边缘节点所需的时长。预设时长与直播频道有关,不同的直播频道对应有不同的预设时长。预设时长可以通过内容中心自身确定,也可以是由其他设备确定然后传输至内容中心,本发明实施例中对预设时长的来源不作具体限定。本发明实施例中在确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求时,并不将内容中心的内存中与指定直播频道对应的完整内容切片写入内容中心的存储,而是只将预设时长的目标内容切片写入内容中心的存储,以节约存储资源和传输带宽资源。同时,将预设时长的目标内容切片发送至内容中心周围对应的边缘节点,以使边缘节点将接收到的目标内容切片写入边缘节点的存储,当边缘节点收到。这里需要说明的是,本发明实施例中所说的内存是指运行内存,存储是指硬件存储。然后执行步骤s12。当预设时间段内未收到边缘节点对指定直播频道发起的直播请求后,即将所述目标内容切片发送至所述边缘节点后,若内容中心重新获取任一边缘节点pop(n)对指定直播频道发起的直播请求时,将内容中心的内存内与指定直播频道对应的最新完整内容切片写入存储,并将最新完整内容切片发送至pop(n)。其中,最新完整内容切片是指在收到目标内容切片的下一时刻收到的完整内容切片。pop(n)表示内容中心对应的第n个pop节点,1≤n≤n,n为内容中心对应的pop节点的数量。由于内容中心在预设时间段内未收到边缘节点对指定直播频道发起的直播请求后,边缘节点的存储中写入的是目标内容切片,并不是最新完整内容切片,因此内容中心重新获取pop(n)的直播请求时,表示pop(n)上有用户终端发起直播请求,且pop(n)已经将存储内的目标内容切片发送至用户终端,此时内容中心需要将内存中与指定直播频道对应的最新完整内容切片写入存储,以备后续接收到边缘节点发起的对指定直播频道的直播请求后直接将存储内的最新完整内容切片发送至边缘节点。在将最新完整内容切片写入存储的同时,将最新完整内容切片发送至pop(n)。本发明实施例中提供的内容分发网络的存储优化方法,内容中心在预设时间段内未收到边缘节点对指定直播频道发起的直播请求时,将内存中与指定直播频道对应的预设时长的目标内容切片写入存储,并将目标内容切片发送至边缘节点。使写入内容中心的存储中的目标内容切片的预设时长小于正常情况下的完整内容切片时长,可以节约内容中心的存储资源,同时可以节约内容源站至内容中心之间的传输带宽资源。另外,将目标内容切片发送至边缘节点,使边缘节点写入存储,当边缘节点收到用户终端对指定直播频道发起的直播请求时,直接从自身存储中将目标内容切片发送至用户终端,降低了网络延时。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化方法,其特征在于,所述预设时长基于如下方法确定:确定边缘节点的内容切片平均下载速度以及所述指定直播频道的平均码率;基于所述平均码率与所述内容切片平均下载速度的比值,确定时长系数;将所述时长系数与所述完整内容切片时长的乘积作为所述预设时长;其中,所述时长系数小于1。具体地,预设时长的确定方法有多种,例如可以根据经验值直接设定,还可以根据当前的网络环境确定。本发明实施例中则采用如下方法确定,其执行主体可以是内容中心,也可以是其他设备。首先,确定边缘节点的内容切片平均下载速度以及所述指定直播频道的平均码率。其中,内容切片的平均下载速度是指内容中心对应的所有边缘节点的内容切片平均下载速度,可以通过边缘节点下载的内容切片大小和下载时间确定,还可以通过内容中心端一段时间内被下载的内容切片大小确定。指定直播频道的平均码率可以由内容中心监控得到,也可以由用户终端在播放指定直播频道对应的内容切片后统计并发送至内容中心。然后,基于平均码率与内容切片平均下载速度的比值,确定时长系数。边缘节点接收内容中心发送的最新完整内容切片这一过程与内容切片下载速度有关,而由于预设时长是考虑内容中心对应的所有边缘节点得到的综合性数据,因此需要考虑边缘节点的内容切片平均下载速度。同时,为保证用户终端的良好播放体验,避免出现延时,需要考虑指定直播频道播放内容切片的平均码率。因此,本发明实施例中可以根据平均码率与内容切片平均下载速度的比值,确定时长系数,用于表示完整内容切片时长与预设时长之间的倍数关系。由于平均码率小于内容切片平均下载速度,且相差至少一个量级,所以比值小于1,因此可以很容易根据比值确定出一个小于1的时长系数,最后,将时长系数与所述完整内容切片时长的乘积作为所述预设时长。本发明实施例中提供的内容分发网络的存储优化方法,采用平均码率以及内容切片平均下载速度,确定出预设时长。使确定出的预设时长可以适用于内容中心对应的所有边缘节点,同时可以尽可能保证服务体验以及节约存储。在上述实施例的基础上,本发明实施例中提供的所述将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储之后,还包括:修改所述存储中的索引文件,将所述索引文件中与所述指定直播频道对应的内容切片文件名修改为所述目标内容切片对应的文件名。具体地,本发明实施例中,由于通常使用hls协议,通过不停的推流和拉流,将ts文件传输至cdn实现全网络分发,这一过程中会产生索引文件用以指示播放的内容切片。索引文件随内容切片写入内容中心的存储,因此当将内存中与指定直播频道对应的预设时长的目标内容切片写入存储之后,需要修改存储中的索引文件,这里所说的索引文件通常为m3u8文件。由于m3u8文件中存储有ts文件的文件名,因此,将m3u8文件中与指定直播频道对应的内容切片文件名修改为目标内容切片对应的文件名,即可在播放内容切片时,选择目标内容切片进行播放。本发明实施例中提供的内容分发网络的存储优化方法,在将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储之后,对索引文件做适应性修改,可以保证播放时选择目标内容切片进行播放,使整个过程更加流畅,降低时延。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化方法,其特征在于,还包括:确认所述预设时间段内未收到某一边缘节点对指定直播频道发起的直播请求,则将所述存储中目标表格中的所述某一边缘节点删除;所述目标表格用于指示所述指定直播频道在每个边缘节点处的播放状态。具体地,本发明实施例中,在内容中心还存储有指示对应的边缘节点处指定直播频道的播放状态的目标表格,具体形式如下:id=2200179363title=“a”ts_bit=4mb/sts_time=10s;server=ip(1),ip(2)client=pop(1),pop(2)data=/…/….2200179363fastdata=/…/….2200179363_fastfr[pop,bit]==[pop(1),10mb/s],[pop(n),5mb/s]其中,上述目标表格以下表1中的a直播频道为例进行说明,表1为直播频道和直播频道对应的内容id之间的关系表。上述目标表格中,id指a直播频道对应的内容id,title表示直播频道名,ts_bit表示a直播频道的平均码率,ts_time为最新完整内容切片长度,server表示内容中心对应的处于播放状态的所有边缘节点的ip地址,client表示内容中心对应的处于播放状态的所有边缘节点的名称,data表示a直播频道的最新完整内容切片的具体信息,fastdata为a直播频道的目标内容切片的具体信息,fr[pop,bit]表示处于播放状态的每个边缘节点的内容切片下载速度。表1直播频道和直播频道对应的内容id之间的关系表直播频道内容ida2200179363b5500039119c5500028277内容中心获取直播内容的url链接为:ip:port/…/2200179363/index.m3u8。在内容中心,直播频道对应的内容id对应的存储名称为“2200179363”。本发明实施例中,首先判断内容中心在预设时间段内是否收到某一边缘节点对指定直播频道发起的直播请求,如果没有收到,则将存储中目标表格中的该边缘节点删除,包括名称、ip地址以及内容切片下载速度。本发明实施例中,在确定内容中心在预设时间段内未收到某一边缘节点对指定直播频道发起的直播请求时,将目标表格中的该边缘节点删除,可以在步骤s1之前初步节约存储资源。在上述实施例的基础上,所述确定边缘节点的内容切片平均下载速度,具体包括:确定每个边缘节点的内容切片下载速度;基于所述内容切片下载速度,确定所述内容切片平均下载速度。具体地,本发明实施例中,从边缘节点角度确定边缘节点的内容切片平均下载速度,首先确定每个边缘节点的内容切片下载速度,然后基于内容切片下载速度,确定内容切片平均下载速度。其中,确定每个边缘节点的内容切片下载速度时,可以通过下载的内容切片大小以及下载时间,基于如下公式确定每个边缘节点的内容切片下载速度。fr=filesize*8/time其中,fr为每个边缘节点的内容切片下载速度,单位为mb/s;filesize为下载的内容切片大小,单位为mb;time为下载时间,单位为秒s。然后,求取所有边缘节点的内容切片下载速度的平均值,即可确定内容切片平均下载速度。本发明实施例中,通过每个边缘节点的内容切片下载信息,确定内容切片平均下载速度,由于每个边缘节点的内容切片下载信息便于收集,使得确定内容切片平均下载速度的过程更加简化。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化方法,所述基于所述平均码率与所述内容切片平均下载速度的比值,确定时长系数,具体包括:基于所述比值以及所述指定直播频道的热度保障权重,确定所述预设时长。具体地,本发明实施例中,采用平均码率与所述内容切片平均下载速度的比值与指定直播频道的热度保障权重,确定所述预设时长。如下公式所示。k=ts_bit/fra*f(x)其中,k为时长系数,ts_bit为平均码率,fra为内容切片平均下载速度,f(x)为指定直播频道的热度保障权重,可以根据指定直播频道的热度进行设置,为常数。相应地,采用如下公式确定预设时长。t_f=ts_time*k=ts_time*ts_bit/fra*f(x)=(ts_time*ts_bit/fra)*f(x)其中,t_f为预设时长,ts_time为完整内容切片时长。以a直播频道为例,完整内容切片时长ts_time为10s,a直播频道的平均码率ts_bit为4mbps,内容切片平均下载速度fra为40mbps,a直播频道的热度保障权重为1.1,则预设时长为:t_f=(10*4/40)*1.1=1.1(s)。相比于现有技术中直接写入10s的完整内容切片,在预设时间段内未收到边缘节点对指定直播频道发起的直播请求时,优化cdn网络的存储利用率,可以节约8倍以上的存储,可以有效节约成本。而且,还可以优化带宽利用率,实现视频的快速加速。在上述实施例的基础上,本发明实施例中提供的内容分发网络存储优化方法,在确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求之前,还包括:实时接收内容源站发送的所述指定直播频道对应的完整内容切片;将接收的所述内容源站发送的完整内容切片写入内存。具体地,在应用内容分发网络实现直播内容的分发与加速时,内容源站通常使用hls协议,通过不停的推流和拉流,将ts文件传输至cdn实现全网络分发。主要是将完整内容切片发送至cdn的内容中心。所以,在内容中心将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储之前,还包括:内容中心实时接收内容源站发送的指定直播频道对应的完整内容切片,然后将接收的内容源站发送的完整内容切片写入内存。如此在确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求时,内容中心的内存中已写入了内容源站发送的指定直播频道对应的完整内容切片。相应地,内存中与所述指定直播频道对应的预设时长的目标内容切片是完整内容切片的一部分,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储是指将完整内容切片的一部分写入存储,而不是全部。如图3所示,在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化方法,包括:s31,在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;s32,接收与所述指定直播频道对应的最新完整内容切片,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。具体地,本发明实施例中提供的内容分发网络的存储优化方法,执行主体为cdn的边缘节点,其应用场景为预设时间段内未收到用户终端对指定直播频道发起的直播请求之后,即此时边缘节点的存储中已写入了预设时长的目标内容切片。首先执行步骤s31,在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端m对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至用户终端m,并向内容中心发送所述直播请求。边缘节点获取用户终端m对指定直播频道发起的直播请求后,将边缘节点的存储内预设时长的目标内容切片发送至用户终端m,同时向边缘节点对应的内容中心发送直播请求,以使内容中心在接到直播请求后,将内容中心的内存内与指定直播频道对应的最新完整内容切片写入内容中心的存储,并将最新完整内容切片返回边缘节点。然后执行步骤s32,边缘节点接收内容中心发送的、与指定直播频道对应的最新完整内容切片并写入边缘节点的存储,当边缘节点再次获取用户终端m对指定直播频道发起的直播请求时,将最新完整内容切片发送至用户终端m。需要说明的是,用户终端对指定直播频道发起直播请求的时间间隔通常为内容切片的长度,即预设时间段内未收到用户终端对指定直播频道发起的直播请求之后,重新收到用户终端对指定直播频道发起的直播请求,用户终端会接收到边缘节点发送的预设时长的目标内容切片,当用户终端播放完目标内容切片后,则会再次发起直播请求,此后的执行操作与现有技术中一致,即回到正常的直播状态。本发明实施例中提供的内容分发网络的存储优化方法,在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若边缘节点接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送直播请求;然后接收与指定直播频道对应的最新完整内容切片并写入存储,当再次获取所述任一用户终端对指定直播频道发起的直播请求时,将最新完整内容切片发送至所述任一用户终端。边缘节点接收的内容切片的时长小于正常情况下的完整内容切片时长,可以节约边缘节点的存储资源,同时可以节约边缘节点至用户终端之间的传输带宽资源。另外,当边缘节点收到用户终端对指定直播频道发起的直播请求时,直接从自身存储中将目标内容切片发送至用户终端,降低了网络延时。在上述实施例的基础上,本发明实施例中还提供了一种内容分发网络,包括:一个或者多个内容中心,每个内容中心分别对应于一个或者多个边缘节点;其中,所述内容中心用于执行上述以内容中心为执行主体的方法类实施例中示出的内容分发网络的存储优化方法;所述边缘节点用于执行上述以边缘节点为执行主体的方法类实施例中示出的内容分发网络的存储优化方法。具体地,所述内容中心用于确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;所述边缘节点用于在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;所述内容中心还用于将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点;所述边缘节点还用于接收与所述指定直播频道对应的最新完整内容切片,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。具体地,如图4所示,为本发明实施例中提供的一种内容分发网络的结构示意图。图4中仅示出了两个内容中心2、3,以及每个内容中心对应的4个边缘节点,分别为pop21、pop22、pop23、pop24以及pop31、pop32、pop33、pop34。内容中心的具体作用的实现参见上述以内容中心为执行主体的方法类实施例,边缘节点的具体作用的实现参见上述以边缘节点为执行主体的方法类实施例,本发明实施例中不再赘述。本发明实施例中提供的内容分发网络,内容中心在预设时间段内未收到边缘节点对指定直播频道发起的直播请求时,将内存中与指定直播频道对应的预设时长的目标内容切片写入存储,并将目标内容切片发送至边缘节点。使写入内容中心的存储中的内容切片的时长小于正常情况下的完整内容切片时长,可以节约内容中心的存储资源,同时可以节约内容源站至内容中心之间的传输带宽资源。另外,将目标内容切片发送至边缘节点,使边缘节点写入存储,当边缘节点收到用户终端对指定直播频道发起的直播请求时,直接从自身存储中将目标内容切片发送至用户终端,降低了网络延时。边缘节点首先获取用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至用户终端,并向内容中心发送直播请求;然后接收与指定直播频道对应的最新完整内容切片并写入存储,当再次获取用户终端对指定直播频道发起的直播请求时,将最新完整内容切片发送至用户终端。边缘节点接收的内容切片的时长小于正常情况下的完整内容切片时长,可以节约边缘节点的存储资源,同时可以节约边缘节点至用户终端之间的传输带宽资源。另外,当边缘节点收到用户终端对指定直播频道发起的直播请求时,直接从自身存储中将目标内容切片发送至用户终端,降低了网络延时。如图5所示,在上述实施例的基础上,本发明实施例中提供了一种内容分发网络的存储优化装置,包括:内容切片写入模块51和内容切片发送模块52。其中,内容切片写入模块51用于确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;内容切片发送模块52用于将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将所述内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点。具体地,本发明实施例中提供的内容分发网络的存储优化装置中各模块的作用与上述以内容中心为执行主体的方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,本发明实施例中不再赘述。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化装置,还包括:预设时长确定模块,具体用于:确定边缘节点的内容切片平均下载速度以及所述指定直播频道的平均码率;基于所述平均码率与所述内容切片平均下载速度的比值,确定时长系数;将所述时长系数与所述完整内容切片时长的乘积作为所述预设时长;其中,所述时长系数小于1。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化装置,还包括:修改模块,用于:修改所述存储中的索引文件,将所述索引文件中与所述指定直播频道对应的内容切片文件名修改为所述目标内容切片对应的文件名。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化装置,还包括:删除模块,用于:确认所述预设时间段内未收到某一边缘节点对指定直播频道发起的直播请求,则将所述存储中目标表格中的所述某一边缘节点删除;所述目标表格用于指示所述指定直播频道在每个边缘节点处的播放状态。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化装置,所述预设时长确定模块,具体用于:基于所述比值以及所述指定直播频道的热度保障权重,确定所述预设时长。在上述实施例的基础上,本发明实施例中提供的内容分发网络的存储优化装置,还包括:内容切片接收模块,用于:在确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求之前,实时接收内容源站发送的所述指定直播频道对应的完整内容切片;将接收的所述内容源站发送的完整内容切片写入内存。如图6所示,在上述实施例的基础上,本发明实施例中提供了一种内容分发网络的存储优化装置,包括:直播请求发送模块61和内容切片接收模块62。其中,直播请求发送模块61用于在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;内容切片接收模块62用于接收与所述指定直播频道对应的最新完整内容切片并写入存储,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。具体地,本发明实施例中提供的内容分发网络的存储优化装置中各模块的作用与上述以边缘节点为执行主体的方法类实施例中各步骤的操作流程是一一对应的,实现的效果也是一致的,本发明实施例中不再赘述。图7示例了一种电子设备的实体结构示意图,如图7所示,该电子设备可以包括:处理器(processor)710、通信接口(communicationsinterface)720、存储器(memory)830和通信总线740,其中,处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信。处理器710可以调用存储器730中的逻辑指令,以执行如下方法:确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将所述内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点。或者执行如下方法:在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;接收与所述指定直播频道对应的最新完整内容切片并写入存储,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。需要说明的是,本实施例中的电子设备在具体实现时可以为服务器,也可以为pc机,还可以为其他设备,只要其结构中包括如图7所示的处理器710、通信接口720、存储器730和通信总线740,其中处理器710,通信接口720,存储器730通过通信总线740完成相互间的通信,且处理器710可以调用存储器730中的逻辑指令以执行上述方法即可。本实施例不对电子设备的具体实现形式进行限定。此外,上述的存储器730中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。进一步地,本发明实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如包括:确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将所述内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点。或者包括:在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;接收与所述指定直播频道对应的最新完整内容切片并写入存储,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。另一方面,本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的传输方法,例如包括:确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将所述内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点。或者包括:在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;接收与所述指定直播频道对应的最新完整内容切片并写入存储,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页1 2 3 
技术特征:
1.一种内容分发网络的存储优化方法,其特征在于,包括:
确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求,将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储,并将所述目标内容切片发送至所述边缘节点;所述预设时长小于与所述指定直播频道对应的完整内容切片时长;
将所述目标内容切片发送至所述边缘节点后,若接收到任一边缘节点对所述指定直播频道发起的直播请求,将所述内存内与所述指定直播频道对应的最新完整内容切片写入所述存储,并将所述最新完整内容切片发送至所述任一边缘节点。
2.根据权利要求1所述的内容分发网络的存储优化方法,其特征在于,所述预设时长基于如下方法确定:
确定边缘节点的内容切片平均下载速度以及所述指定直播频道的平均码率;
基于所述平均码率与所述内容切片平均下载速度的比值,确定时长系数;
将所述时长系数与所述完整内容切片时长的乘积作为所述预设时长;
其中,所述时长系数小于1。
3.根据权利要求1所述的内容分发网络的存储优化方法,其特征在于,所述将内存中与所述指定直播频道对应的预设时长的目标内容切片写入存储之后,还包括:
修改所述存储中的索引文件,将所述索引文件中与所述指定直播频道对应的内容切片文件名修改为所述目标内容切片对应的文件名。
4.根据权利要求1所述的内容分发网络的存储优化方法,其特征在于,还包括:
确认所述预设时间段内未收到某一边缘节点对指定直播频道发起的直播请求,将所述存储中目标表格中的所述某一边缘节点删除;
其中,所述目标表格用于指示所述指定直播频道在每个边缘节点处的播放状态。
5.根据权利要求2所述的内容分发网络的存储优化方法,其特征在于,所述基于所述平均码率与所述内容切片平均下载速度的比值,确定时长系数,具体包括:
基于所述比值以及所述指定直播频道的热度保障权重,确定所述预设时长。
6.根据权利要求1-5中任一项所述的内容分发网络存储优化方法,其特征在于,在确认预设时间段内未收到边缘节点对指定直播频道发起的直播请求之前,还包括:
实时接收内容源站发送的所述指定直播频道对应的完整内容切片;
将接收的所述内容源站发送的完整内容切片写入内存。
7.一种内容分发网络的存储优化方法,其特征在于,包括:
在预设时间段内未收到用户终端对指定直播频道发起的直播请求后,若接收到任一用户终端对指定直播频道发起的直播请求,将存储内预设时长的目标内容切片发送至所述任一用户终端,并向内容中心发送所述直播请求;
接收与所述指定直播频道对应的最新完整内容切片并写入存储,当再次获取所述任一用户终端对所述指定直播频道发起的直播请求时,将所述最新完整内容切片发送至所述任一用户终端。
8.一种内容分发网络,其特征在于,包括:一个或者多个内容中心,每个内容中心分别对应于一个或者多个边缘节点;
其中,所述内容中心用于执行如权利要求1-6中任一项所述的内容分发网络的存储优化方法;所述边缘节点用于执行如权利要求7所述的内容分发网络的存储优化方法。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项所述内容分发网络存储优化方法的步骤。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7中任一项所述内容分发网络存储优化方法的步骤。
技术总结
本发明实施例提供一种内容分发网络及其存储优化方法、电子设备及存储介质,其中,内容中心在预设时间段内未收到边缘节点对指定直播频道发起的直播请求时,将内存中与指定直播频道对应的预设时长的目标内容切片写入存储,并将目标内容切片发送至边缘节点。通过本发明实施例,使得写入内容中心的存储中的目标内容切片的预设时长小于正常情况下的完整内容切片时长,可以节约内容中心的存储资源,同时可以节约内容源站至内容中心之间的传输带宽资源。另外,将目标内容切片发送至边缘节点,使边缘节点写入存储,当边缘节点收到用户终端对指定直播频道发起的直播请求时,直接从自身存储中将目标内容切片发送至用户终端,降低了网络延时。
技术研发人员:蒋伟;王琦;李立锋;王斌;杜欧杰
受保护的技术使用者:咪咕视讯科技有限公司;咪咕文化科技有限公司;中国移动通信集团有限公司
技术研发日:.11.21
技术公布日:.02.28