一种流媒体推送方法、装置及系统与流程

文档序号:15521517发布日期:2018-09-25 19:35阅读:182来源:国知局

本发明涉及流媒体技术领域,尤其涉及一种流媒体推送方法、装置及系统。



背景技术:

内容分发网络(contentdistributionnetwork,cdn)是一种在互联网上构建的分布式服务器系统,目前cdn在实际部署中主要分为网页webcdn和流媒体cdn两种。流媒体cdn即是用于提供流媒体服务的cdn,相比webcdn,流媒体cdn存储的内容多为大文件、内容访问热度差异明显。流媒体cdn服务流程为:用户向中心节点的请求调度服务器(requestroutingserver,rrs)发送流媒体获取请求,rrs根据一定的调度机制将流媒体获取请求转到离用户更近的边缘节点,由边缘节点提供流媒体服务。若该边缘节点上缓存了用户请求的内容,即命中,则直接为用户发送流媒体。若该边缘节点没有缓存用户请求的内容,即未命中,则由该边缘节点向中心节点请求流媒体,中心节点将流媒体发送给该边缘节点,再由该边缘节点将流媒体发送给用户。其中边缘节点向中心节点获取用户请求的内容的过程称为回源,它占用了网络的骨干带宽,如果回源过多,必然导致网络拥挤。

为了降低回源,就必然要求边缘节点中缓存的内容尽量的覆盖用户的所有请求,然而边缘节点中实际的存储空间是有限的,不可能缓存网络中所有流媒体内容,这就需要边缘节点通过一定的方法保证缓存的流媒体尽量多的覆盖用户请求。

现有技术中,为了保证边缘节点尽量多的覆盖用户请求,缓存流媒体内容的方式主要有两种:push(预推)和pull(拉取)。拉取指边缘节点根据自身的访问情况,主动去中心节点下载某些访问热度大的流媒体;预推指中心节点向边缘节点下发预推列表(包括流媒体标识),边缘节点收到预推列表后,到中心节点下载预推列表中的流媒体。预推的流媒体一般为新上线内容,由内容管理员手工添加。这种方式只能实现新上线流媒体的推送。



技术实现要素:

本发明实施例提供一种流媒体推送方法及装置,可以将第一边缘节点上满足预设条件的流媒体推送至其他第二边缘节点,从而优化流媒体在各个边缘节点的分布,提高缓存命中率。

第一方面,本发明实施例提供一种流媒体推送方法,该流媒体推送方法可以应用于流媒体cdn系统中,该流媒体cdn系统包含第一边缘节点和第二边缘节点,第一边缘节点确定该第一边缘节点上满足预设条件的流媒体,可选的,该预设条件可以是离当前时间最近的时间周期内访问热度最大的流媒体,比如,第一边缘节点可以统计最近两个小时内访问热度最大的流媒体。可选的,该预设条件可以是离当前时间最近的时间周期内访问热度增速最快的流媒体。

第一边缘节点生成第一预推列表,该第一预推列表包含n个流媒体的标识以及该n个流媒体的属性信息,n为所述第一边缘节点上满足所述预设条件的流媒体的数量。可选的,该n个流媒体的属性信息可以是缓存在第一边缘节点。或者,该n个流媒体的属性信息可以是缓存在中心节点,当第一边缘节点需要生成第一预推列表时,可以预先从中心节点获取该n个流媒体的属性信息。该第一预推列表中包含了该n个流媒体的标识与该n个流媒体的属性信息之间的对应关系。

第一边缘节点将生成的第一预推列表推送到至少一个第二边缘节点,该至少一个第二边缘节点可以是在第一边缘节点的预推范围内。可选的,该第一边缘节点的预推范围可以是以该第一边缘节点为中心的预设距离范围内,比如500米范围内;或者,该第一边缘节点的预推范围可以是该第一边缘节点所在地理行政区域范围,比如江苏省;或者,该第一边缘节点的预推范围可以是距离该第一边缘节点的网关预设范围内,例如第一边缘节点可以确定与其处于同一个网关下的边缘节点为预推范围内的边缘节点。

进一步可选的,第一预推列表中包含n个流媒体的标识、该n个流媒体的属性信息以及该n个流媒体中每个流媒体的下载地址。

在一种可能的设计中,该第二边缘节点接收到第一预推列表后,可以根据该第一预推列表中n个流媒体的属性信息,从该n个流媒体的标识中筛选出符合第二边缘节点地域特性的流媒体,比如使用m表示符合该第二边缘节点地域特性的流媒体的数量,该m为大于或者等于1的自然数,且m小于等于n。

第二边缘节点向第一边缘节点发送第一流媒体获取请求,该第一流媒体获取请求中包含该m个流媒体的标识,该m个流媒体的标识是第一预推列表的n个流媒体的标识中的一部分。

第一边缘节点接收第二边缘节点的第一流媒体获取请求,该第一边缘节点根据m个流媒体的标识,将该m个流媒体推送至第二边缘节点进行缓存。

在一种可能的设计中,第一边缘节点在生成第一预推列表之前,该第一边缘节点还向中心节点获取该n个流媒体的属性信息,第一边缘节点生成第一预推列表的方式可以是:该第一边缘节点根据n个流媒体的标识和n个流媒体的属性信息,生成第一预推列表,该第一预推列表中包含n个流媒体的标识和n个流媒体的属性信息之间的对应关系。

在一种可能的设计中,该第一边缘节点确定第一边缘节点上满足预设条件的流媒体的确定方式可以是:第一边缘节点按照预设的时间周期统计在该时间周期内访问热度最大的流媒体,比如,第一边缘节点以1个小时的时间周期进行统计,则第一边缘节点统计最近的1个小时内访问热度最大的流媒体;或者,第一边缘节点也可以是案子预设的时间周期统计在该时间周期内访问热度增速最快的流媒体。

在一种可能的设计中,第一边缘节点接收第三边缘节点推送的第二预推列表,该第三边缘节点可以和第二边缘节点相同,也可以不同。该第二预推列表可以是包含第三边缘节点上满足预设条件的流媒体的标识,比如使用p表示该第二预推列表中流媒体的标识的数量,第二预推列表还包含该p个流媒体的属性信息,p为大于或者等于1的自然数。

可选的,该第二预推列表中可以包括p个流媒体的标识、该p个流媒体的属性信息以及该p个流媒体的下载地址。

第一边缘节点根据第一边缘节点上的流媒体被访问的历史数据以及第二预推列表中所包含的p个流媒体的属性信息,确定该p个流媒体中符合该第一边缘节点地域特性的流媒体的标识,比如使用q表示p个流媒体中符合该第一边缘节点地域特性的流媒体的标识的数量。q为大于或者等于1的自然数,并且q小于或者等于p。可选的,符合该第一边缘节点地域特性的q个流媒体可以是预测能够受到该第一边缘节点本地用户偏好的流媒体。

第一边缘节点向第三边缘节点发送第二流媒体获取请求,该第二流媒体获取请求包含该q个流媒体的标识。第三边缘节点接收到该第二流媒体获取请求时,向该第一边缘节点推送该q个流媒体的标识对应的q个流媒体。第一边缘节点接收并缓存该q个流媒体。

在一种可能的设计中,流媒体的属性信息用于表示流媒体的特征,包括:流媒体的类型、流媒体的时长、流媒体的码率、与流媒体关联的历史流媒体的标识和/或流媒体的关键词,进一步可选的,还可以包括流媒体的导演以及生成流媒体的时间等等。比如,若该流媒体为电视剧琅琊榜第10集,则与该流媒体关联的历史流媒体为电视剧琅琊榜第1-9集。

在一种可能的设计中,第一边缘节点根据第一边缘节点上的流媒体被访问的历史数据以及第二预推列表中的p个流媒体的属性信息,确定q个流媒体的标识的确定方式可以是:第一边缘节点根据第一边缘节点上的流媒体被访问的历史数据,获取该第一边缘节点的地域特性模型,该地域特性模型用于表征第一边缘节点的本地用户对流媒体访问偏好。可选的,第一边缘节点可以是通过预设机器学习算法训练该第一边缘节点的地域特性模型。

第一边缘节点根据该p个流媒体的属性信息以及该第一边缘节点的地域特性模型,确定符合该第一边缘节点地域特性的q个流媒体。可选的,将该p个流媒体属性信息输入该地域特性模型,获得该p个流媒体中每个流媒体的视频评分,该视频评分用于指示该流媒体在第一边缘节点是否受到该第一边缘节点本地用户的偏好,比如,视频评分越高,则说明该流媒体能够受到该第一边缘节点本地用户的偏好度越高。第一边缘节点将p个流媒体中视频评分大于预设阈值的q个流媒体确定为符合第一边缘节点的地域特性的流媒体,并向第三边缘节点请求获取该q个流媒体进行缓存。

在一种可能的设计中,第一边缘节点上流媒体被访问的历史数据包括但不限于以下数据:所述第一边缘节点上历史被访问的流媒体的类型、时长、码率、关键词和/或与所述第一边缘节点上的流媒体关联的历史流媒体的访问热度。

上述地域特性模型包括多维梯度提升决策树gbdt预测模型、关键词模型以及统计平均模型;

所述第一边缘节点上历史被访问的流媒体的类型、时长、节目单位置以及与所述第一边缘节点上的流媒体关联的历史流媒体的访问热度用于训练所述多维gbdt预测模型,所述流媒体的码率用于训练所述统计平均模型,所述关键词用于训练所述关键词模型。

在一种可能的设计中,第一边缘节点仍然能够接收中心节点的预推,具体可选的,第一边缘节点接收中心节点推送的初始预推列表,该初始预推列表包含中心节点推送的流媒体的标识,比如可以使用h表示初始预推列表中的流媒体的标识的数量。可选的,该h个流媒体可以是管理员在中心节点添加的新上线的流媒体。

第一边缘节点向中心节点获取该h个流媒体的属性信息,属性信息可以包括流媒体的类型、所述流媒体的时长、所述流媒体的码率以及所述流媒体的关键词。

第一边缘节点根据该h个流媒体的属性信息和第一边缘节点的地域特性模型,确定该h个流媒体中符合该第一边缘节点地域特性的流媒体,比如可以使用k表示h个流媒体的标识中符合该第一边缘节点地域特性的流媒体的标识的数量。具体可选的,将该h个流媒体的属性信息输入到预先训练的第一边缘节点的地域特性模型,获得该h个流媒体中每个流媒体的视频评分,该第一边缘节点将该h个流媒体中视频评分大于预设阈值的k个流媒体确定为符合该第一边缘节点地域特性的流媒体,并向中心节点请求该k个流媒体进行缓存。k为大于或者等于1的自然数。这种方式可以使得第一边缘节点有选择性的缓存来自中心节点推送的流媒体。

第二方面,本发明实施例提供一种流媒体推送装置,应用于流媒体cdn中的第一边缘节点,该流媒体cdn中还包含第二边缘节点,其中,流媒体推送装置包括第一确定模块、生成模块以及推送模块。

第一确定模块,用于确定第一边缘节点上满足预设条件的流媒体;

生成模块,用于生成第一预推列表,所述第一预推列表包含n个流媒体的标识以及所述n个流媒体的属性信息,所述n为所述第一边缘节点上满足所述预设条件的流媒体的数量,所述n为大于或者等于1的自然数;

第一推送模块,用于将所述第一预推列表推送到至少一个第二边缘节点,所述至少一个第二边缘节点在所述第一边缘节点的预推范围内。

第三方面,本发明实施例提供一种流媒体推送系统,该流媒体推送系统包含第一边缘节点和至少一个第二边缘节点;

第一边缘节点,用于确定所述第一边缘节点上满足预设条件流媒体;生成第一预推列表,所述第一预推列表包含n个流媒体的标识以及所述n个流媒体的属性信息,所述n为所述第一边缘节点上满足所述预设条件的流媒体的数量,所述n为大于或者等于1的自然数;并将所述第一预推列表推送到所述至少一个第二边缘节点,所述至少一个第二边缘节点在所述第一边缘节点的预推范围内。

第二边缘节点,用于接收所述第一预推列表,根据所述第二边缘节点上的流媒体被访问的历史数据以及所述n个流媒体的属性信息,确定所述n个流媒体中符合所述第二边缘节点地域特性的流媒体的标识,向所述第一边缘节点发送第一流媒体获取请求,所述第一流媒体获取请求包括m个流媒体的标识,所述m为所述n个流媒体中符合所述第二边缘节点地域特性的流媒体的标识的数量,所述m为大于或者等于1的自然数;

第一边缘节点还用于接收第一流媒体获取请求,并将所述m个流媒体的标识对应的流媒体推送至所述第二边缘节点进行缓存。

第四方面,本发明实施例提供一种流媒体推送装置,该流媒体推送装置包括收发器、处理器和存储器;

该存储器,用于存储计算机程序指令;

该处理器,用于读取所述存储器中存储的计算机程序指令,以执行第一方面所提供的方法。

第五方面,本发明实施例提供一种程序存储介质,该程序存储介质中所存储的程序被执行时,可以实现上述第一方面所提供的方法。

通过实施本发明实施例,第一边缘节点确定该第一边缘节点上满足预设条件的流媒体,生成第一预推列表,该第一预推列表包含n个流媒体的标识以及该n个流媒体的属性信息。将该第一预推列表推送到至少一个第二边缘节点,该至少一个第二边缘节点在第一边缘节点的预推范围内。这种方式由第一边缘节点主动发起预推,可以将第一边缘节点上满足预设条件的n个流媒体的标识推送至预推范围内的第二边缘节点,从而优化流媒体在各个边缘节点的分布,提高缓存命中率。

附图说明

为了更清楚地说明本发明实施例或背景技术中的技术方案,下面将对本发明实施例或背景技术中所需要使用的附图进行说明。

图1a是本发明实施例提供的一种流媒体cdn的系统架构图;

图1b是本发明实施例提供的另一种流媒体cdn的系统架构图;

图1c是本发明实施例提供的又一种流媒体cdn的系统架构图;

图2是本发明实施例提供的一种流媒体推送方法的流程交互图;

图3是本发明实施例提供的一种各个节点的模块之间的交互图;

图4是本发明实施例提供的一种预推列表处理流程图;

图5是本发明实施例提供的一种地域特性模型训练示意图;

图6是本发明实施例提供的另一种流媒体推送方法的流程交互图;

图7是本发明实施例提供的中心节点模块与边缘节点模块之间的交互图;

图8是本发明实施例提供的中心节点与边缘节点的模块交互流程图;

图9是本发明实施例提供的一种流媒体推送装置的结构示意图;

图10是本发明实施例提供的另一种流媒体推送装置的结构示意图。

具体实施方式

下面结合本发明实施例中的附图对本发明实施例进行描述。

本发明实施例中的第三边缘节点和第二边缘节点可以是同一个边缘节点,或者,第三边缘节点和第二边缘节点不是同一个边缘节点,本发明实施例对此不作限定。

本发明实施例的“第一”、“第二”和“第三”是为了区分不同的对象,不是表明特定顺序。

本发明实施例中所有边缘节点都具有相同的结构,因此可以将任意边缘节点指定为第一边缘节点、第二边缘节点或者第三边缘节点。

本发明实施例中的初始预推列表包含流媒体的标识;本发明实施例的预推列表是在初始预推列表基础上添加属性信息形成的列表。

本发明实施例的实际预推列表可以是筛选得到的且符合边缘节点地域特性的列表,该实际预推列表可以是包含预推列表中的部分流媒体的标识的列表,边缘节点根据该实际预推列表确定需要缓存的流媒体。

本发明实施例中的第一预推列表、第二预推列表以及第三预推列表中可以包括流媒体的标识以及流媒体的属性信息,或者进一步可选的,还可以包括流媒体的下载地址。

可选的,本发明实施例的流媒体推送装置可以是边缘节点服务器,或者包含在边缘节点服务器中,可选的,本发明实施例的流媒体推送装置也可以是独立的处理芯片。

本发明实施例中的中心节点为多个服务器组成的服务器集群,比如,中心节点包括媒体管理(mediamanagement,mm)、内容管理服务器(contentmanagementserver,cms)等等。中心节点实现流媒体以及流媒体的相关信息的缓存,流媒体的相关信息包括但不限于流媒体的属性信息,流媒体的标识等等。

本发明实施例的边缘节点可以是向用户终端推送流媒体的服务器,一个边缘节点可以是对应一个区域,该区域内的所有用户终端均向该边缘节点获取流媒体。

cdn是一种在互联网上构建的分布式服务器系统,通过在现有的互联网中部署cdn节点,将网络内容发布到最接近用户的网络“边缘”,使用户可以就近取得所需的内容。对用户来说,可以更快的获取到请求的内容,降低了网络时延,提高了用户体验。对内容提供商来说,降低了所需的带宽成本,防止内容访问高峰导致的网络拥挤、用户体验下降等情况的发生,提高了系统的稳定性。目前cdn在实际部署中主要分为webcdn和流媒体cdn两种。

本发明实施例主要阐述的是流媒体cdn,流媒体cdn即是用于提供流媒体服务的cdn,相比webcdn,流媒体cdn存储的内容多为大文件的流媒体(比如视频,音乐等),流媒体cdn中各个边缘节点的内容访问热度差异明显。

请参照图1a,为本发明实施例提供的一种流媒体cdn的系统架构图,图中流媒体cdn系统为三层结构,即中心节点(centralpop),区域节点(backbonepop)和边缘节点(edgepop)。实际上更一般的流媒体cdn结构是两层结构,如图1b所示,即中心节点和边缘节点,图1a中的区域节点是在图1b两层结构上的拓展,用于减轻中心节点的压力,目前流媒体cdn最基本的结构仍是两层结构。在本发明实施例中,所有实施例可以基于图1b的两层结构进行阐述。

图1b中的每个边缘节点覆盖一定的区域,可能是一个市或者一个县的范围,具体的范围是根据该区域的用户数量决定的。流媒体cdn系统的服务流程为:用户向中心节点的请求调度服务器(requestroutingserver,rrs)发送流媒体获取请求,rrs根据一定的调度机制将用户请求转到离用户最近的边缘节点,由边缘节点提供流媒体服务。

若该边缘节点上缓存了用户请求的内容,即该边缘节点的缓存命中了用户请求的内容,边缘节点直接为用户发送该流媒体。若该边缘节点没有缓存用户请求的内容,即该边缘节点的缓存没有命中用户请求的内容,由该边缘节点向中心节点请求流媒体,中心节点将相应的流媒体发送给该边缘节点,再由该边缘节点将流媒体发送给用户,其中边缘节点向中心节点获取用户请求的内容的过程称为回源,它占用了网络的骨干带宽,如果回源过多,必然导致网络拥挤、用户体验下降。

为了降低回源,提升用户体验,就必然要求边缘节点缓存的内容尽量的覆盖用户所有的请求,然而边缘节点中实际的存储空间是有限的,不可能缓存网络中所有的流媒体,这就需要边缘节点通过一定的方法保证缓存的流媒体尽量多的覆盖用户请求。用户请求的流媒体在边缘节点中没有缓存时,称为未命中;用户请求的流媒体在边缘节点中已缓存,称为命中。命中率越高说明边缘节点缓存的内容越准确全面。

目前业内边缘节点为了提高缓存命中率,缓存流媒体的方式主要有两种:push(预推)和pull(拉取)。

拉取则是由边缘节点根据实时的访问信息,主动的向中心节点请求流媒体缓存到本地。具体的方法是:边缘节点负责统计用户的请求,将一段时间内频繁访问的流媒体从中心节点中拉取到本地。例如video1一小时内在边缘节点1中被访问5次,而边缘节点未缓存该内容,即未命中5次,假设边缘节点1中的缓存准入阈值为4,则由于5>4,因此边缘节点1将主动向中心节点拉取video1缓存到本地。

预推指位于中心节点中的内容管理服务器(contentmanagementserver,cms)通过内容管理接口(contentmanagementinterface,cmi)向边缘节点下发初始预推列表,初始预推列表中包括流媒体的标识id、流媒体下载地址等信息),边缘节点收到初始预推列表后,到中心节点下载初始预推列表中的流媒体。这种预推的流媒体一般为新上线的流媒体,由内容管理员手工添加。

上述可见,拉取和预推这两种缓存方式有效的提高了流媒体cdn中边缘节点的缓存命中率,减轻骨干网络带宽压力。

但是,对于现有技术中预推的方式,却也存在不少问题,比如这种方式的预推都是在中心节点统一下发的初始预推列表,该初始预推列表通常由内容管理员统一配置,且都是新上线的流媒体,没有办法实现已经缓存在各个边缘节点中的流媒体的预推。并且现有技术中的预推方式也没有考虑到各个边缘节点的差异性,很难进行可定制的精准预推,预推的流媒体不一定符合该边缘节点所在地域的地域特性。针对上述问题,本发明实施例主要对流媒体cdn中的预推方式进行改进。

在流媒体cdn中,通常一个边缘节点为一个区域的用户提供流媒体服务,该区域的大小可以根据该区域的用户数量进行确定。由于各个区域发展状况、人们生活习惯、作息规律、宗教信仰等不同,使各个区域的流媒体访问习惯呈现出明显的地域特征,但是相邻区域却存在一定的相关性,用户访问习惯也是类似的。比如当某个流媒体在其中一个边缘节点访问热度迅速增大时,可以将该流媒体推送到相邻的边缘节点,从而达到提高缓存命中率、减少回源流量的目的,从而及时调整热门流媒体的分布,达到提高预设地理范围内边缘节点的缓存命中率、减少回源流量的目的。

可选的,如图1b所示,本发明实施例中在边缘节点中增加地域特性模块和热度监测模块,热度监测模块用于监测该边缘节点上访问热度满足预推条件的流媒体,并形成预推列表,该预推列表包括该n个流媒体的标识以及该n个流媒体的属性信息,其中,该n为满足预推条件的流媒体的数量,该边缘节点将该预推列表推送至预推范围内的其他边缘节点。其他边缘节点接收到预推列表后,由地域特性模块确定符合本地地域特性的流媒体,并向该边缘节点请求缓存该符合本地地域特性的流媒体。

边缘节点的地域特性模块用于根据其他边缘节点推送的预推列表,确定该预推列表中每个流媒体的视频评分,并筛选出视频评分大于预设阈值的流媒体的标识,从而向其他边缘节点请求该视频评分大于预设阈值的流媒体。

具体可选的,这里以流媒体为视频为例进行说明,边缘节点1的热度监测模块监测到视频1在边缘节点1中最近时间周期内访问热度比较大,则该边缘节点1获取到视频1视频信息(该视频信息是视频的索引信息,包括视频的标识id,这里并不是视频本身),并将其提取形成初始预推列表。然后边缘节点1对初始预推列表进行适当的预处理,形成预推列表,预处理过程可以是添加该视频1的属性信息。根据预推范围,将预推列表向周边的边缘节点2预推,边缘节点2可以有多个,周边的边缘节点2收到预推列表后,通过地域特性模块进行过滤,产生实际预推列表,该实际预推列表中的视频均为在边缘节点2的视频评分大于预设阈值的视频,即是该实际预推列表中的视频为满足边缘节点2的本地用户访问偏好的视频,边缘节点2根据实际预推列表进行视频的缓存。需要说明的是,实际每次监测到的最近时间周期内访问热度比较大的视频可能存在多个,也就是说预推列表里可能会包括多个视频的视频信息。

这种方式的预推由边缘节点主动发起,更加及时的调整已经缓存在边缘节点的流媒体在不同边缘节点间的分布。由于地域不同、用户习惯不同,某个流媒体在各个区域访问热度提升的速度就会存在差别,当某个流媒体在其中一个边缘节点的访问热度比较高时,通过一定的策略将该流媒体预推到相邻的边缘节点,即推送满足相邻的边缘节点的地域特性的流媒体给该相邻的边缘节点。从而更及时的将即将成为访问热度大的流媒体提前缓存到周边的相邻边缘节点,提高其他相邻的边缘节点的缓存命中率,减少回源流量,提高用户体验的目的。

可选的,本发明实施例的流媒体推送方法兼容现有的中心节点预推流程,并对中心节点预推进行了优化。

本发明实施例中边缘节点将中心节点预推的预推列表(该预推列表包含流媒体的标识id信息、边缘节点的地址等信息)发送给该边缘节点的内容属性确定模块,内容属性确定模块对其进行预处理,预处理过程可以是在预推列表上添加流媒体属性信息。内容属性确定模块将添加了属性信息的预推列表交由地域特性模块中的地域特性模型进行过滤,产生实际预推列表,再交由缓存模块执行缓存。由此看出,本发明实施例并不需要对中心节点进行太大的改动。优点很明显,通过地域特性模块中的地域特性模型对中心节点的预推进行过滤,优化了原有的中心节点预推方式,由每个边缘节点训练地域特性模型、过滤预推列表,各个边缘节点能够缓存到更加符合该边缘节点的地域特性的流媒体,减轻了中心节点的计算负担。

本发明实施例中,将现有技术中单一的由中心节点向边缘节点的预推方式拓展为中心节点预推方式和边缘节点向边缘节点预推(简称边缘节点预推方式)两个部分,边缘节点预推方式将已上线的突发热点流媒体推送到临近的边缘节点,从而实现流媒体在各个边缘节点的分布优化,提高换存命中率,减少回源流量,提高用户体验。

请参照图1c,为本发明实施例提供的一种更加详尽的流媒体cdn的系统架构图,该系统架构图中包含中心节点、边缘节点1以及边缘节点2,需要说明的是,这里以两个边缘节点作为举例说明,本系统架构可以包括任意个数的边缘节点,在此不作限定。其中,各个边缘节点的结构相同,任意边缘节点都可以作为本发明实施例所提及的第一边缘节点和第二边缘节点,本发明实施例的“第一”和“第二”仅仅是为了区分不同的边缘节点,并不是对边缘节点的限定。

中心节点包含cms、第三方接口、媒体管理(mediamanagement,mm)以及新内容预推分发模块,各个边缘节点可以通过中心节点的第三方接口获取到cms中存储的各个流媒体的属性信息,mm以及新内容预推分发模块用于向各个边缘节点推送预推列表,比如,新上线的流媒体的标识,该新上线的流媒体可以是由内容管理员手工配置的。

边缘节点可以包含热度监测模块、内容属性确定模块、发送模块、接收模块、地域特性模块以及缓存模块,下面分别对各个模块进行说明:

1、热度监测模块:通过对本边缘节点的访问热度进行监测,确定本边缘节点中访问热度迅速增大的流媒体,形成初始预推列表(包含:流媒体id、各个第二边缘节点的地址)。

2、内容属性确定模块:用于对初始预推列表进行预处理,预处理就是将初始预推列表中每个流媒体的标识添加上相应的属性信息(流媒体类型,流媒体时长,流媒体的码率,流媒体的关键词等),生成预推列表。内容属性确定模块是通过中心节点的内容管理服务器、媒体管理服务器、第三方接口等方式获取到属性信息的。

或者,若中心节点向边缘节点推送预推列表,该预推列表包含流媒体的标识和下载地址,则内容属性确定模块对预推列表进行预处理,该预处理是将预推列表中的每个流媒体的标识添加上相应的属性信息,并将添加了属性信息的预推列表发送至地域特性模块进行过滤。

3、地域特性模块:用于监控本边缘节点中流媒体的历史访问数据,以及历史访问情况、历史访问的流媒体的时长、类型、节目单位置等信息作为特征参数,通过机器学习算法构建该符合该边缘节点的地域特性的地域特性模型。

使用平均统计模型得到各个边缘节点中有差异性的配置,如最优预推时间、热门码率等。

4、发送模块:用于将本边缘节点确定的预推列表发送到其他指定的边缘节点,该预推列表中可以是包含该边缘节点上满足预设条件的流媒体的标识。

5、接收模块:用于与其他节点(中心节点或者边缘节点)通信,比如接收其他边缘节点发送过来的预推列表,接收中心节点发送过来的预推列表。接收模块收到预推列表后,使用该节点的地域特性模型对预推列表进行过滤,生成实际预推列表。

6、缓存模块:用于将实际预预推列表中的流媒体缓存到该边缘节点。

请参见图2,图2是本发明实施例提供的一种流媒体推送方法的交互流程图,如图所示,该流媒体推送方法包括但不限于如下步骤:

s10,第一边缘节点确定第一边缘节点上满足预设条件的流媒体;

在一个实施例中,预设条件可以包括但不限于以下条件:第一边缘节点上在距离当前时间最近的时间周期内访问热度最大的流媒体;或者,第一边缘节点上距离当前时间最近的时间周期内访问热度增速最快的流媒体;或者,第一边缘节点上距离当前时间最近的时间周期内访问热度超过指定阈值的流媒体,等等。本发明对预设条件不作限定。

可选的名本发明实施例中采用变量n表示第一边缘节点上满足预设条件的流媒体的数量。

可选的,第一边缘节点的热度监测模块统计访问热度最大的n个流媒体。访问热度用于表示在预设时间周期内的访问次数,比如最近1小时内第一边缘节点的访问次数越多,则该第一边缘节点在最近1小时内的访问热度越大。需要说明的是,上述1小时为预设时间周期仅为举例,该时间周期可以进行配置,比如每半小时进行一次统计。

第一边缘节点可以是流媒体cdn中的任意边缘节点,本发明实施例中的流媒体cdn中每个边缘节点设置了热度监测模块,该热度监测模块用于监测该边缘节点的访问热度。

可选的,第一边缘节点的热度监测模块在定期统计最近时间周期内该第一边缘节点的访问热度最大的n个流媒体时,该热度监测模块不仅可以统计该第一边缘节点已经缓存的流媒体的访问热度,还可以统计该第一边缘节点未缓存的流媒体的访问热度。第一边缘节点在统计各个流媒体的访问热度时,可以采用字典(流媒体的id-访问热度)的存储形式,实时统计第一边缘节点的各个流媒体的实时访问热度。

可选的,第一边缘节点的热度监测模块也可以定期统计最近时间周期内该边缘节点中访问热度超过指定阈值的n个流媒体,比如半小时内访问热度超过10次,该指定阈值可以进行配置。

可选的,第一边缘节点将所统计得到的n个流媒体的标识生成初始预推列表,该初始预推列表中的每一条记录包含一个流媒体的标识,比如以下为第一边缘节点产生的初始预推列表:

videoid:

207938421

207934234

201793875

其中,每一个id都唯一标识一个流媒体。

s11,第一边缘节点向中心节点请求该n个流媒体的属性信息;

s12,中心节点返回该n个流媒体的属性信息;

在一个实施例中,第一边缘节点统计得到n个流媒体的标识后,获取该n个流媒体的属性信息,可选的,该流媒体的属性信息可以包括但不限于流媒体的类型(电影、电视剧、音乐等)、流媒体的码率、流媒体的时长、流媒体所处节目单位置、与该流媒体关联的历史流媒体的标识(比如流媒体为电视剧视频,则与该流媒体关联的历史流媒体为该电视剧的历史剧集,该流媒体的上下集,同类型与该流媒体相似的剧集)、流媒体的关键词(比如流媒体的导演、主演等等)。

需要说明的是,属性信息中与该流媒体关联的历史流媒体的标识是为了便于第二边缘节点获取到该历史流媒体的访问热度,该历史流媒体的访问热度是预测该流媒体是否能得到该第二边缘节点本地用户偏好的一个重要信息。

可选的,第一边缘节点获取该n个流媒体的属性信息的获取方式可以是通过第一边缘节点的内容属性确定模块向中心节点获取,或者,若第一边缘节点缓存了该n个流媒体的属性信息,则可以直接从本地获取该n个流媒体的属性信息。本发明实施例以第一边缘节点向中心节点获取属性信息作为举例说明。

具体可选的,这里以流媒体为视频作为举例,第一边缘节点的热度监测模块将初始预推列表发送至第一边缘节点的内容属性确定模块进行预处理,内容属性确定模块根据初始预推列表中的视频id信息,向中心节点请求该视频id的属性信息,该属性信息包括但不限于视频的类型(电影、电视剧等)、视频的码率、视频的时长、视频所处的节目单位置、视频的历史剧集信息(该视频的上下集、同类型与该视频较相似的剧集)、关键词(如导演、主演等,该信息可由第三方内容提供商的接口获取)等。该内容属性确定模块可以是通过中心节点的内容管理服务器、媒体管理服务器以及第三方接口等方式获取以上的属性信息。

s13,所述第一边缘节点生成第一预推列表,所述第一预推列表包含所述n个流媒体的标识以及所述n个流媒体的属性信息;

在一个实施例中,内容属性确定模块为该初始预推列表中的流媒体的标识增加属性信息,生成第一预推列表,该第一预推列表包含多个流媒体信息,一个流媒体信息包含一个流媒体的标识和与该流媒体对应的属性信息。

可选的,该第一预推列表中还可以包含该n个流媒体的下载地址,一个流媒体的标识对应该流媒体的下载地址。可以理解的是,若该流媒体的标识是唯一标识该流媒体,则该第一预推列表中可以不包含下载地址。

内容属性确定模块生成第一预推列表后,将第一预推列表交由第一边缘节点的发送模块,由第一边缘节点的发送模块确定预推范围(该预推范围在负载允许的情况下应尽可能的大,可进行配置)。该预推范围可以包括至少一个第二边缘节点,可选的,该预推范围可以是在第一边缘节点的预设地理范围内,需要说明的是,该预设地理范围可自行配置,或通过历史日志记录进行分析,获得与该第一边缘节点间流媒体访问相似的范围。可选的,该预推范围也可以是该第一边缘节点所在行政区域,比如江苏省。可选的,该预推范围可以是距离该第一边缘节点的网关预设地理范围内等等。

可选的,第一边缘节点的发送模块可以根据第一边缘节点的地理分布为其设置距离较近的至少一个第二边缘节点(比如边缘节点2、边缘节点3、边缘节点4、边缘节点5、边缘节点6),这些至少一个第二边缘节点只是一个预设的预推范围,具体是否需要将该些流媒体预推到该至少一个第二边缘节点还需要通过该至少一个第二边缘节点各自的地域特性模型进行筛选。

s14,第一边缘节点将第一预推列表推送到至少一个第二边缘节点;

s15,第二边缘节点接收第一边缘节点推送的第一预推列表;

s16,所述第二边缘节点根据第二边缘节点上的流媒体被访问的历史数据,获取所述第二边缘节点的地域特性模型,所述地域特性模型用于表征第二边缘节点的本地用户对流媒体的访问偏好;

s17,所述第二边缘节点根据所述n个流媒体的属性信息和所述第二边缘节点的地域特性模型,确定所述n个流媒体中符合所述第二边缘节点地域特性的流媒体的标识,所述m为大于或者等于1的自然数;

在一个实施例中,第二边缘接收第一边缘节点推送的第一预推列表后,根据该第二边缘节点上流媒体的历史访问数据训练得到的该第二边缘节点的地域特性模型,通过该地域特性模型可以确定出该第二边缘节点上本地用户的流媒体访问偏好。

进一步根据该第一预推列表中n个流媒体的属性信息和该第二边缘节点的地域特性模型,确定该n个流媒体中符合该第二边缘节点地域特性的流媒体,比如使用变量m表示该n个流媒体中符合该第二边缘节点地域特性的流媒体的数量。即预测该m个流媒体会受到该第二边缘节点的本地用户的喜欢。

可选的,当第二边缘节点收到第一边缘节点的第一预推列表后,通过地域特性模块中的地域特性模型对第一预推列表进行过滤,从而得到符合该第二边缘节点的地域特性的流媒体的标识。这个过滤的过程实际上是确定了实际预推的流媒体的标识。例如video1被推送到2、3、4、5、6边缘节点,经过各个边缘节点自身的地域特性模型进行筛选,最后得到该video1符合2、4、6边缘节点的地域特性,则将video1推送到2、4、6边缘节点,也就是说通过过滤确定了实际预推的范围为2、4、6边缘节点。

具体可选的,第一边缘节点将第一预推列表推向至少一个第二边缘节点后,第二边缘节点是否缓存第一预推列表中的流媒体的标识所标识的流媒体是由其自身的地域特性模型决定。

如图4所示,为本发明实施例提供的一种第二边缘节点筛选第一预推列表的流程示意图,首先,第二边缘节点接收第一预推列表,该第一预推列表包括n条流媒体信息,一条流媒体信息包含一个流媒体的标识以及该流媒体的属性信息,进一步可选的,该条流媒体信息还可以包含该流媒体的下载地址。

第二边缘节点判断该第一预推列表是否为空,若该第一预推列表不为空,则从该第一预推列表中获取一条流媒体信息a,同时将a从第一预推列表中剔除。第二边缘节点判断本地是否缓存a,若本地缓存a,则可以直接将a丢弃;若第二边缘节点的本地未缓存a,则使用该第二边缘节点的地域特性模型对a进行视频评分,即将a中的流媒体的属性信息输入地域特性模型,得到该流媒体的视频评分。需要说明的是,若视频评分越大,则说明该流媒体越受到第二边缘节点本地用户的偏好。

第二边缘节点进一步判断该视频评分是否大于预设阈值,若否,则将a丢弃,若a的视频评分大于或者等于预设阈值,则将a加入第二边缘节点的实际预推列表,并返回执行,即进一步判断第一预推列表是否为空,该执行过程为循环执行过程,直至第一预推列表为空。

可选的,第二边缘节点的地域特性模型可以基于该第二边缘节点的流媒体的历史访问数据,通过机器学习算法训练得到。历史访问数据可以包括但不限于历史访问第二边缘节点上的流媒体的类型、时长、节目单位置、关键词、码率以及与历史访问所述第二边缘节点上流媒体关联的历史流媒体的访问热度(比如该流媒体为电视剧视频,则该与历史访问所述第二边缘节点上流媒体关联的历史流媒体的访问热度为,历史访问该第二边缘节点上某个电视剧的历史剧集的访问热度)等等。机器学习算法包括但不限于梯度提升决策树(gradientboostingdecisiontree,gbdt),关键词模型,统计平均模型等等。

可选的,请参照图5所示,第二边缘节点上历史被访问的流媒体的类型、时长、历史剧集、节目单位置作为训练数据1,该训练数据1用于训练多维gbdt预测模型。第二边缘节点上历史被访问的流媒体的关键词作为训练数据2,该训练数据2用于训练关键词模型,关键词模型即是使用主流的自然语言训练方法得到的关键词预测模型。第二边缘节点上历史被访问的流媒体的码率作为训练数据3,该训练数据3用于训练统计平均模型,通过历史访问第二边缘节点上的流媒体的码率训练出的统计平均模型可以得到该第二边缘节点的热门码率。

热门码率,即是由于地理位置、网络带宽、用户的终端设备差异等因素导致各个区域有不同的码率偏好,有些地区相对偏远、带宽差,偏向于2mbps的低码率流媒体,有些区域则由于带宽较高,偏好4mbps、8mbps等高码率流媒体,比如高清视频。通过训练各个第二边缘节点的码率偏好,也可以对流媒体进行筛选,因此码率也作为一种训练的历史访问数据。

最终将这几个维度得到的模型融合为多维融合模型,即地域特性模型,此地域特性模型可用于视频评分,从而达到筛选第一预推列表的目的。

下面阐述如何训练地域特性模型,以及使用地域特性模型进行视频评分,该实施例使用多种模型与统计融合的方式进行视频评分计算过程如下:

步骤一、根据该第二边缘节点上历史被访问的流媒体的类型信息、时长信息、历史剧集(比如历史剧集热度信息)、节目单位置信息作为基本特征训练多维gbdt预测模型,当然使用的机器学习方法不限于多维gbdt预测模型,同时也不局限于机器学习的方式,也可使用其他经验参数总结的方式。以上为训练多维gbdt预测模型使用的基本特征,训练的目标值为流媒体的实际热度。通过第二边缘节点中每个区间(比如1-5天,可配置)内所有流媒体的历史访问数据训练多维gbdt预测模型。

举例说明:当前时间2016/1/10,区间值取5,则多维gbdt预测模型使用的是1/4-1/8这五天对第二边缘节点上流媒体的历史访问数据作为训练数据,1/9的实际热度作为目标值,训练得到的一个多维gbdt预测模型。采用上述得到的多维gbdt预测模型训练1/10的预测热度,具体是,将1/5-1/9这五天对第二边缘节点上流媒体的历史访问数据作为训练数据输入上述多维gbdt预测模型后,训练得到1/10的预测热度。

步骤二、根据第二边缘节点上历史被访问的流媒体的关键词,单独训练该第二边缘节点的关键词模型。由于关键词较为离散、稀疏,与步骤一中的特征相差较大,因此将关键词模型单独提取训练。

步骤三、对于第二边缘节点上历史被访问的流媒体的码率是不需要使用机器学习方法获取,例如第二边缘节点的热门码率。一个边缘节点的码率有一定的地域特性,且一经确定就会相对稳定,所以本发明实施例使用多次统计取平均的方式,或者其他可行方式获得第二边缘节点的热门码率,当然也不排除机器学习方式获取热门码率。

步骤四、通过多维融合模型将步骤一、步骤二以及步骤三中多个模型的结果进行融合,比如使用线性模型得到最终视频评分,视频评分可以表示该流媒体是否能够得到该第二边缘节点的本地用户的偏好。例如步骤一中训练结果为h1,步骤二中训练结果为h2,步骤三中训练结果为h3,则最终的视频评分为其中参数am可由机器学习训练或者其他方式配置得到。得到的最终视频评分h将与该第二边缘节点设定的预设阈值进行比较,高于该预设阈值的视频评分的流媒体将确定被缓存到本地。

该实施例基于多种特征实现地域特性模型的训练,再使用多模型融合方式得到最终视频评分,保证所得的模型是符合该第二边缘节点的地域特性的,从而能够按照地域特性模型对第一预推列表进行过滤。

步骤五、对于第二边缘节点的预推时间也有一定的地域特性,且一经确定就会相对稳定,所以本发明实施例使用多次统计取平均的方式,或者其他可行方式获得第二边缘节点的预推时间,当然也不排除机器学习方式获取预推时间。

需要说明的是,预推时间即是第一边缘节点向第二边缘节点预推该第二边缘节点筛选得到的实际预推列表中流媒体的标识所标识的流媒体的时间,预推是会产生大量的回源流量,对当前业务有较大的影响,因此现有技术中的中心节点预推方式均选择在凌晨的网络访问低谷时间。

但是由于地域发展、民俗习惯、经济发展水平不同,每个区域的访问低谷时间不是固定的,本发明实施例提出一种长期的统计为每个边缘节点配置不同的预推时间。

对于上述步骤四的视频评分,下面以实际举例的方式阐述如何利用图5的地域特性模型得到流媒体的视频评分;

1)第一预推列表中包含其中一条流媒体信息,该流媒体信息为电视剧“欢乐颂”第10集,时长:2400s,类型:电视剧,节目单位置:4级目录,码率:4mbps,关键词:都市、刘涛等。历史剧集:欢乐颂1-9集,推送地址:第二边缘节点的地址。

2)第二边缘节点中已通过训练得到地域特性模型,具体训练方法:根据该第二边缘节点在历史区间(1-5天,可配置)内所有对该第二边缘节点的流媒体的历史访问数据训练地域特性模型。该地域特性模型体现了该第二边缘节点的本地用户对流媒体的访问偏好。

3)第二边缘节点收到该第一预推列表,选中其中的“欢乐颂”第10集,首先判断该剧集在第二边缘节点中是否已经缓存,如果已缓存,则跳过该剧集,处理列表中下一剧集;如果未缓存,则将1)中该剧集的属性信息作为参数,输入地域特性模型,计算出视频评分,判断视频评分是否达到预设阈值。

视频评分计算方法:假设使用多维gbdt预测模型训练出的预测热度为15,码率4mbps在该第二边缘节点中权值为0.3(表示该第二边缘节点中百分之30的流媒体访问是在4mbps码率),关键词模型预测出该剧集的关键词评分为0.7(表示有百分之70的概率被该第二边缘节点区域内用户青睐)。对以上各个模型所得结果归一化:15/(100-0)=0.15(假设100为多维gbdt预测模型中最高热度,0为最低热度);0.3;0.7

假设训练出的am为:a1=0.5,a2=0.3,a3=0.2,则该剧集最后的视频评分为:0.5*0.15+0.2*0.3+0.7*0.2=0.275.

若该第二边缘节点设定的预设阈值为0.2,而0.275>0.2,所以该条剧集将被推送到第二边缘节点中。

s18,所述第二边缘节点向所述第一边缘节点发送第一流媒体获取请求,所述第一流媒体获取请求包含第二边缘节点需要请求的流媒体的标识,比如本发明实施例中采用m表示第二边缘节点需要向第一边缘节点请求的流媒体的标识的数量;

可选的,第二边缘节点通过自身的地域特性模型训练得到,且符合该第二边缘节点的地域特性的m个流媒体的标识,但是该m个流媒体缓存在第一边缘节点,第二边缘节点可以向第一边缘节点发送第一流媒体获取请求,该第一流媒体获取请求包含该m个流媒体的标识,进一步可选的,该第一流媒体获取请求还可以包含该第二边缘节点计算得到的预推时间,该预推时间用于指示第一边缘节点向该第二边缘节点预推m个流媒体的时间。

s19,所述第一边缘节点接收所述第二边缘节点的第一流媒体获取请求;

s20,所述第一边缘节点将所述m个流媒体推送至所述第二边缘节点进行缓存。

可选的,第一边缘节点可以根据第二边缘节点所指示的预推时间,将该m个流媒体推送至第二边缘节点进行缓存。

s21,所述第二边缘节点接收所述第一边缘节点推送的所述m个流媒体,并缓存所述m个流媒体。

通过实施本发明实施例,第一边缘节点确定该第一边缘节点上满足预设条件的流媒体,生成第一预推列表,该第一预推列表包含该n个流媒体的标识以及该n个流媒体的属性信息。将该第一预推列表推送到至少一个第二边缘节点,该至少一个第二边缘节点在第一边缘节点的预推范围内。这种方式由第一边缘节点主动发起预推,可以将第一边缘节点上满足预设条件的n个流媒体的标识推送至预推范围内的第二边缘节点,从而优化流媒体在各个边缘节点的分布,提高缓存命中率。

请参照图3,结合图1c中各个边缘节点的具体结构,本发明实施例阐述图2中的流媒体推送的流程:

1、第一边缘节点的热度监测模块监测到该节点访问热度比较大的n个流媒体,并生成初始预推列表,该初始预推列表包含该n个流媒体的标识;

2、第一边缘节点的热度监测模块将初始预推列表发送至第一边缘节点的内容属性确定模块;

3、第一边缘节点的内容属性确定模块向中心节点的cms请求初始预推列表中流媒体的属性信息;

4、中心节点的cms将属性信息返回至第一边缘节点的内容属性确定模块;

5、第一边缘节点的内容属性确定模块生成带属性信息的第一预推列表,同时将该第一预推列表发送至第一边缘节点的发送模块;

6、第一边缘节点的发送模块指定发送范围,该发送范围包括至少一个第二边缘节点,图中以其中任意一个第二边缘节点的处理流程作为举例说明,其他第二边缘节点也按照此流程执行;

7、第二边缘节点的接收模块接收第一预推列表,该接收模块将该第一预推列表发送至第二边缘节点的地域特性模块的地域特性模型;

8、第二边缘节点的地域特性模块通过该第二边缘节点的地域特性模型计算第一预推列表中每个流媒体的视频评分,并过滤掉视频评分小于预设阈值的流媒体的标识,最终形成实际预推列表;

9、第二边缘节点将过滤得到的实际预推列表发送到第二边缘节点的缓存模块;

10,第二边缘节点的缓存模块缓存实际预推列表中的流媒体。

请参见图6,图6是本发明实施例提供的另一种流媒体推送方法的交互流程图,需要说明的是,本发明实施例的第三边缘节点与图2实施例中的第二边缘节点可以是同一个边缘节点,或者本发明实施例的第三边缘节点与图2实施例中的第二边缘节点不是同一个边缘节点,本发明实施例对此不作限定。如图所示,该流媒体推送方法包括但不限于如下步骤:

s30,第三边缘节点确定满足预设条件的流媒体,比如,本发明实施例使用变量p表示第三边缘节点上满足预设条件的流媒体的数量,所述p为大于或者等于1的自然数;

s31,第三边缘节点向中心节点请求所述p个流媒体的属性信息;

s32,中心节点向该第三边缘节点返回属性信息;

s33,第三边缘节点根据所述p个流媒体的标识和所述p个流媒体的属性信息,生成第二预推列表,所述第二预推列表中包含所述p个流媒体的标识和所述p个流媒体的属性信息之间的对应关系;

s34,第三边缘节点将第二预推列表推送到第一边缘节点;

s35,第一边缘节点接收第三边缘节点推送的第二预推列表;

本发明实施例的步骤s30~s35中阐述了第三边缘节点向第一边缘节点推送第二预推列表的过程,具体技术细节可以参照图2的实施例步骤s10~s15,图2的实施例步骤s10~s15具体阐述了第一边缘节点向第二边缘节点推送第一预推列表的过程。

s36,第一边缘节点根据所述第一边缘节点上的流媒体被访问的历史数据,获得第一边缘节点的地域特性模型,所述地域特性模型用于表征所述第一边缘节点的本地用户对流媒体的访问偏好;

s37,所述第一边缘节点根据所述p个流媒体的属性信息以及所述地域特性模型,确定符合所述第一边缘节点地域特性的流媒体的标识,比如,本发明实施例使用变量q表示p个流媒体中符合第一边缘节点地域特性的流媒体的标识的数量。

本发明实施例的步骤s36~s37请参照图2的实施例步骤s16~s17,训练第一边缘节点的地域特性模型的训练方法同训练第二边缘节点的地域特性模型的训练方法相同,在此不再赘述。

s38,第一边缘节点向所述第三边缘节点发送第二流媒体获取请求,所述第二流媒体获取请求包含所述q个流媒体的标识;

s39,第三边缘节点接收所述第一边缘节点的第二流媒体获取请求;

s40,第三边缘节点将所述q个流媒体推送至所述第一边缘节点;

在一个实施例中,第三边缘节点接收到第一边缘节点的第二流媒体获取请求时,可以根据该第二流媒体获取请求中携带的q个流媒体的标识,获取到该q个流媒体,并将该q个流媒体推送到第一边缘节点。

s41,第一边缘节点接收第三边缘节点推送的q个流媒体,并缓存该q个流媒体;

s42,中心节点向第一边缘节点推送初始预推列表,该初始预推列表包含中心节点向第一边缘节点推送的流媒体的标识,比如本发明实施例使用变量h表示中心节点向第一边缘节点推送的流媒体的标识的数量;

在本发明实施例中,将边缘节点之间预推流媒体和中心节点向边缘节点预推流媒体进行结合。中心节点向第一边缘节点推送初始预推列表,该初始预推列表包含h个流媒体的标识,可选的,该h个流媒体的标识可以是新上线的流媒体的标识,比如该h个流媒体的标识可以是内容管理员手工添加进中心节点,再由中心节点向各个边缘节点进行预推。

可选的,中心节点将该h个流媒体的标识生成初始预推列表,并将该初始预推列表推送到多个边缘节点,该多个边缘节点中包含第一边缘节点。可选的,第三预推列表中包含该h个流媒体的标识、该中心节点推送的各个边缘节点的地址以及该h个流媒体的下载地址等基本信息。如图8所示,中心节点的mm生成第三预推列表,第三预推列表包括流媒体的标识id、标记以及推送的边缘节点的地址。

s43,第一边缘节点接收中心节点推送的初始预推列表;

s44,第一边缘节点向中心节点获取该h个流媒体的属性信息;

在一个实施例中,第一边缘节点接收中心节点下发的初始预推列表,第一边缘节点根据初始预推列表从中心节点获取该初始预推列表中h个流媒体的属性信息,并缓存在本地。具体可选的,第一边缘节点将中心节点发送的初始预推列表发送到内容属性确定模块,由该内容属性确定模块为该初始预推列表中的各个流媒体的标识添加属性信息,从而生成添加了属性信息的第三预推列表,该添加了属性信息的第三预推列表包括该h个流媒体的标识以及该h个流媒体的属性信息。

如图8所示第一边缘节点的内容属性确定模块生成的第三预推列表包括流媒体的标识id、标记、推送的边缘节点的地址、流媒体的类型、码率、时长、关键词、节目单位置以及历史剧集。需要说明的是,第一边缘节点的内容属性确定模块添加的属性信息是通过向中心节点的第三方接口或者内容管理服务器获取的。

s45,第一边缘节点根据h个流媒体的属性信息和地域特性模型,确定符合该第一边缘节点地域特性的流媒体的标识,比如本发明实施例使用变量k表示h个流媒体的标识中符合该第一边缘节点的地域特性的流媒体的标识的数量;

在一个实施例中,第一边缘节点将h个流媒体的属性信息输入第一边缘节点的地域特性模型,得到该h个流媒体中每个流媒体的视频评分。需要说明的是,本发明实施例步骤中的地域特性模型与步骤s36中的地域特性模型相同。该地域特性模型是通过历史访问第一边缘节点的流媒体的历史访问数据训练得到,该地域特性模型能够表明该第一边缘节点的本地用户对流媒体的访问偏好。

具体可选的,第一边缘节点将添加了属性信息的第三预推列表交由地域特性模块的地域特性模型进行视频评分,从而对添加了属性信息的第三预推列表中的h个流媒体进行过滤,产生实际预推列表,第一边缘节点的缓存模块根据实际预推列表缓存相应的流媒体。

如图8所示,内容确定模块将添加了属性信息的第三预推列表输入地域特性模块训练的地域特性模型,并计算得到该添加了属性信息的第三预推列表中每个流媒体的视频评分,判断视频评分是否大于预设阈值,若视频评分大于预设阈值,则确定需要预推该流媒体,将该流媒体的标识加入实际预推列表,否则,丢弃该流媒体的标识。

s46,第一边缘节点向中心节点获取该k个流媒体;

s47,第一边缘节点缓存该k个流媒体。

通过实施本发明实施例,将由中心节点推送的初始预推列表进行添加属性信息预处理,并进一步由第一边缘节点的地域特性模型进行视频评分过滤,从而实现将中心节点的流媒体更精准的预推到边缘节点,从而节省边缘节点的缓存空间,同时本发明实施例有机的结合了边缘节点之间的预推方式和中心节点向边缘节点预推的预推方式,兼容性强。

需要说明的是,上述以中心节点向第一边缘节点推送流媒体作为举例,由于所有边缘节点具有相同的结构,因此可以理解的是,中心节点也可以向第二边缘节点和/或第三边缘节点推送流媒体。具体处理流程与向第一边缘节点推送流媒体的处理流程相同,在此不再赘述。

请参照图7,结合图1c中各个边缘节点的具体结构,本发明实施例阐述图6中的中心节点向边缘节点推送流媒体的推送流程,本发明实施例的边缘节点可以是上述实施例中的第一边缘节点,也可以是上述的第二边缘节点,或者也可以是上述第三边缘节点,第二边缘节点和第三边缘节点可以是同一个边缘节点:

1、中心节点的mm向中心节点的新内容预推分发服务器发送初始预推列表,新内容预推分发服务器向边缘节点的内容属性确定模块发送该初始预推列表,初始预推列表中可以包含中心节点需要推送的h个流媒体的标识,该h个流媒体的标识可以是内容管理员手工添加的。

2、边缘节点的内容属性确定模块向中心节点的cms或者第三方接口等包含流媒体的属性信息的设备发送属性获取请求;

3、cms向边缘节点的内容属性确定模块发送属性信息;

4、边缘节点的内容属性确定模块在初始预推列表基础上添加流媒体的属性信息,生成添加了属性信息的第三预推列表;

5、边缘节点的内容属性确定模块将添加了属性信息的第三预推列表发送到该边缘节点地域特性模块的地域特性模型进行视频评分;

6、边缘节点的地域特性模块使用地域特性模型过滤添加了属性信息的第三预推列表,得到实际预推列表;

7、边缘节点的地域特性模块将过滤得到的实际预推列表发送至边缘节点的缓存模块;

8、边缘节点的缓存模块缓存实际预推列表中的流媒体;

9、边缘节点的缓存模块向热度监测模块更新缓存状态,该热度监测模块可以实时监测该缓存模块中新增的流媒体的访问热度;

10、同时边缘节点的地域特性模块为了训练出更加精准的地域特性模型,向该边缘节点的热度监测模块请求该新增的流媒体的访问热度信息;

11、边缘节点的热度监测模块向地域特性模块响应访问热度信息;

12、边缘节点的地域特性模块可以基于该访问热度信息进一步训练地域特性模型。

参照图9和图10,为本发明实施例提供的用于流媒体推送的装置的结构示意图。如图9所示,该流媒体推送装置可包括:

第一确定模块101,用于确定所述第一边缘节点上满足预设条件的流媒体;

生成模块102,用于生成第一预推列表,所述第一预推列表包含n个流媒体的标识以及所述n个流媒体的属性信息,所述n为所述第一边缘节点上满足所述预设条件的流媒体的数量,所述n为大于或者等于1的自然数;

第一推送模块103,用于将所述第一预推列表推送到至少一个第二边缘节点,所述至少一个第二边缘节点在所述第一边缘节点的预推范围内。

可选的,如图9所示,本发明实施例的流媒体推送装置还可以包括第一接收模块104和第二推送模块105;

第一接收模块104,用于接收所述第二边缘节点的第一流媒体获取请求,所述第一流媒体获取请求包含所述第二边缘节点请求的流媒体的标识;

第二推送模块105,用于将所述m个流媒体发送至所述第二边缘节点进行缓存,所述m为所述第二边缘节点请求的流媒体的数量,所述m个流媒体为所述n个流媒体中的一部分,所述m为小于等于n,且大于或者等于1的自然数。

可选的,如图9所示,本发明实施例的流媒体推送装置还可以包括第一获取模块106;

第一获取模块106,用于向中心节点获取所述满足预设条件的流媒体的属性信息;

所述生成模块102用于根据所述满足预设条件的流媒体的标识和所述满足预设条件的流媒体的属性信息,生成第一预推列表,所述第一预推列表中包含所述满足预设条件的流媒体的标识和所述满足预设条件的流媒体的属性信息之间的对应关系。

可选的,所述第一确定模块101用于按照预设的时间周期统计在该时间周期内访问热度最大的流媒体;或者,

所述第一确定模块101用于按照预设的时间周期统计在该时间周期内访问热度增速最快的流媒体。

可选的,如图9所示,本发明实施例的流媒体推送装置还可以包括第二接收模块107、第二确定模块108、发送模块109以及第三接收模块110;

第二接收模块107,用于接收第三边缘节点推送的第二预推列表,所述第二预推列表包含所述第三边缘节点上的流媒体的标识以及所述第三边缘节点上的流媒体的属性信息;

第二确定模块108,用于根据访问所述第一边缘节点上的流媒体被访问的历史访问数据以及所述第三边缘节点上的流媒体的属性信息,确定p个流媒体的标识中符合所述第一边缘节点地域特性的流媒体的标识,所述p为所述第二预推列表中流媒体的标识的数量,所述p为大于或者等于1的自然数;

发送模块109,用于向所述第三边缘节点发送第二流媒体获取请求,所述第二流媒体获取请求包含q个流媒体的标识,所述q为符合所述第一边缘节点地域特性的流媒体的标识的数量;

第三接收模块110,用于接收所述第三边缘节点发送的所述q个流媒体的标识对应的q个流媒体,并缓存所述q个流媒体。

可选的,所述属性信息用于表示流媒体的特征,包括流媒体的类型、流媒体的时长、流媒体的码率、与流媒体关联的历史流媒体的标识和/或流媒体的关键词。

可选的,第二确定模块108可以包括获取单元和确定单元;

获取单元,用于根据所述第一边缘节点上的流媒体被访问的历史数据,获取所述第一边缘节点的地域特性模型,所述地域特性模型用于表征所述第一边缘节点的本地用户对流媒体的访问偏好;

确定单元,用于根据所述第三边缘节点上的流媒体的属性信息以及所述地域特性模型,确定符合所述第一边缘节点地域特性的流媒体的标识。

可选的,所述第一边缘节点上流媒体被访问的历史数据包括:所述第一边缘节点上历史被访问的流媒体的类型、时长、码率、关键词和/或与所述第一边缘节点上的流媒体关联的历史流媒体的访问热度。

可选的,如图9所示,本发明实施例的流媒体推送装置还可以包括第四接收模块111、第二获取模块112以及第三确定模块113;

第四接收模块111,用于接收中心节点推送的初始预推列表,所述初始预推列表包含所述中心节点推送的流媒体的标识;

第二获取模块112,用于向所述中心节点获取h个流媒体的属性信息,所述h为所述初始预推列表中包含的所述中心节点推送的流媒体的标识的数量;

第三确定模块113,用于根据所述h个流媒体的属性信息和所述第一边缘节点的地域特性模型,确定所述h个流媒体中符合所述第一边缘节点地域特性的流媒体,并向所述中心节点请求k个流媒体,所述k个流媒体为所述h个流媒体中符合所述第一边缘节点地域特性的流媒体,所述h为大于或者等于1的自然数;所述k为小于等于h,且大于或者等于1的自然数。

可以理解的是,上述图9中的具体技术细节可以参照图1-图8的方法实施例的描述,在此不再赘述。

对应的,如图10所示,为本发明实施例提供的另一种流媒体推送装置的结构示意图,如图所示,本发明实施例的流媒体推送装置可以包括:收发器1001和处理器1002。处理器1002用于控制该装置的操作,包括通过收发器1001进行流媒体的传输(包括接收和/或发送),和/或,通过收发器1001进行流媒体获取请求的传输(包括接收和/或发送)。进一步的,还可以包括存储器1003,存储器1003可以包括只读存储器和随机存取存储器,用于向处理器1002提供指令和数据。存储器1003可以集成于处理器1002中,也可以独立于处理器1002。存储器1003的一部分还可以包括非易失行随机存取存储器(nvram)。该装置的各个组件通过总线系统耦合在一起,其中总线系统1009除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图中将各种总线都标为总线系统1009。

本申请实施例揭示的流程可以应用于处理器1002中,或者由处理器1002实现。在实现过程中,该装置实现的流程的各步骤可以通过处理器1002中的硬件的集成逻辑电路或者软件形式的指令完成。处理器1002可以是通用处理器、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器1003,处理器1002读取存储器1003中的信息,结合其硬件完成本发明实施例指示流程的步骤。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,该流程可以由计算机程序来指令相关的硬件完成,该程序可存储于计算机可读取存储介质中,该程序在执行时,可包括如上述各方法实施例的流程。而前述的存储介质包括:rom或随机存储记忆体ram、磁碟或者光盘等各种可存储程序代码的介质。

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