数据处理方法、装置、电子设备及计算机可读存储介质转让专利

申请号 : CN202311392617.8

文献号 : CN117119052B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 周雯程

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本申请提供了一种数据处理方法、装置、电子设备及计算机可读存储介质;方法包括:响应于至少一个边缘服务器未缓存媒体数据,获取所述媒体数据的回源信息;基于所述媒体数据的回源信息,确定所述媒体数据的热度;响应于所述媒体数据的热度表征所述媒体数据为热数据,向至少部分所述边缘服务器发送缓存请求,其中,所述缓存请求用于指示至少部分所述边缘服务器预先缓存所述媒体数据。通过本申请,能够减少媒体数据的回源次数,提高边缘服务器的缓存命中率。

权利要求 :

1.一种数据处理方法,其特征在于,应用于源服务器,所述方法包括:响应于至少一个边缘服务器未缓存媒体数据,获取所述媒体数据的回源信息;

确定当前时刻之前的多个设定时间段,针对每个所述设定时间段执行以下处理:基于所述媒体数据的回源信息确定所述媒体数据在所述设定时间段内的回源次数;

根据所述回源次数确定所述媒体数据在所述设定时间段内的回源频率;

确定所述回源频率的权重,其中,所述权重与所述回源频率所在设定时间段距离当前时刻的时间间距呈负相关关系;

基于所述权重对所述回源频率加权,得到所述设定时间段的加权回源频率;

将每个所述设定时间段的所述加权回源频率加和,将加和结果的平均值作为所述媒体数据的热度;

响应于所述媒体数据的热度表征所述媒体数据为热数据,向至少部分所述边缘服务器发送缓存请求,其中,所述缓存请求用于指示至少部分所述边缘服务器预先缓存所述媒体数据。

2.根据权利要求1所述的方法,其特征在于,所述响应于所述媒体数据的热度表征所述媒体数据为热数据,向至少部分所述边缘服务器发送缓存请求之前,所述方法还包括:根据所述媒体数据的回源信息,确定所述媒体数据的至少一个回源参数;

基于所述至少一个回源参数,确定所述媒体数据的热度;

其中,所述回源参数为以下之一:所述媒体数据在预设时间段内的回源次数;在预设时间段内所述回源次数的增长速度值;在预设时间段内所述回源次数占对应边缘服务器的回源请求总数的比例值;在预设时间段内所述回源次数超过所述回源次数平均值的倍数值;

在预设时间段内所述回源次数占对应边缘服务器回源次数总数的百分比。

3.根据权利要求2所述的方法,其特征在于,基于所述至少一个回源参数,确定所述媒体数据的热度,包括:当所述媒体数据的回源参数为一个时,对所述回源参数进行映射处理,得到所述媒体数据的热度;

当所述媒体数据的回源参数为多个时,针对每个所述回源参数分别进行映射处理,得到多个映射值,并将所述多个映射值的加和作为所述媒体数据的热度。

4.根据权利要求1所述的方法,其特征在于,所述响应于所述媒体数据的热度表征所述媒体数据为热数据,向至少部分所述边缘服务器发送缓存请求之前,所述方法还包括:基于所述媒体数据的回源信息,获取所述媒体数据的原始数据;

对所述媒体数据的原始数据进行特征提取处理,得到所述原始数据的热度特征;

对所述热度特征进行预测处理,得到所述媒体数据的热度。

5.根据权利要求1所述的方法,其特征在于,所述向至少部分所述边缘服务器发送缓存请求,包括:从数据库查询所述媒体数据的元数据;

向至少部分所述边缘服务器发送所述元数据,其中,所述元数据用于指示至少部分所述边缘服务器预先缓存所述媒体数据的原始数据。

6.根据权利要求1所述的方法,其特征在于,所述向至少部分所述边缘服务器发送缓存请求之前,所述方法还包括:根据所述源服务器所在内容分发网络的拓扑结构,确定所述内容分发网络中与所述源服务器建立通信的多个边缘服务器;

从所述多个边缘服务器中确定出至少部分所述边缘服务器。

7.根据权利要求6所述的方法,其特征在于,所述从所述多个边缘服务器中确定出至少部分所述边缘服务器,包括:确定每个所述边缘服务器与所述源服务器建立通信的通信距离;

当所述通信距离不小于距离阈值时,将所述边缘服务器确定为至少部分所述边缘服务器。

8.根据权利要求6所述的方法,其特征在于,所述从所述多个边缘服务器中确定出至少部分所述边缘服务器,包括:针对每个所述边缘服务器执行以下处理:

获取媒体数据集合,其中,所述媒体数据集合是所述边缘服务器中执行过回源的媒体数据的集合;

对所述媒体数据集合进行特征提取处理,得到所述媒体数据集合的回源特征;

基于所述媒体数据对所述回源特征进行映射处理,得到所述边缘服务器针对所述媒体数据的回源概率;

当所述回源概率大于概率阈值,将所述边缘服务器确定为至少部分所述边缘服务器。

9.根据权利要求1所述的方法,其特征在于,在所述向至少部分所述边缘服务器发送缓存请求之后,所述方法还包括:当所述媒体数据的回源信息发生变化时,根据变化后的所述回源信息,确定所述媒体数据变化后的热度;

响应于所述变化后的热度表征所述媒体数据不为热数据,向至少部分所述边缘服务器发送缓存释放请求,其中,所述缓存释放请求用于指示至少部分所述边缘服务器清除所述媒体数据的缓存。

10.一种数据处理方法,其特征在于,应用于边缘服务器,所述方法包括:接收源服务器发送的针对媒体数据的缓存请求,其中,所述缓存请求是所述源服务器确定所述边缘服务器未缓存所述媒体数据,并基于所述媒体数据的热度生成的;

根据所述缓存请求预先缓存所述媒体数据,其中,所述媒体数据的热度通过以下方式获取:确定当前时刻之前的多个设定时间段,针对每个所述设定时间段执行以下处理:基于所述媒体数据的回源信息确定所述媒体数据在所述设定时间段内的回源次数;

根据所述回源次数确定所述媒体数据在所述设定时间段内的回源频率;

确定所述回源频率的权重,其中,所述权重与所述回源频率所在设定时间段距离当前时刻的时间间距呈负相关关系;

基于所述权重对所述回源频率加权,得到所述设定时间段的加权回源频率;

将每个所述设定时间段的所述加权回源频率加和,将加和结果的平均值作为所述媒体数据的热度。

11.一种数据处理装置,其特征在于,所述装置包括:

获取模块,用于响应于至少一个边缘服务器未缓存媒体数据,获取所述媒体数据的回源信息;

确定模块,用于确定当前时刻之前的多个设定时间段,针对每个所述设定时间段执行以下处理:基于所述媒体数据的回源信息确定所述媒体数据在所述设定时间段内的回源次数;根据所述回源次数确定所述媒体数据在所述设定时间段内的回源频率;确定所述回源频率的权重,其中,所述权重与所述回源频率所在设定时间段距离当前时刻的时间间距呈负相关关系;基于所述权重对所述回源频率加权,得到所述设定时间段的加权回源频率;将每个所述设定时间段的所述加权回源频率加和,将加和结果的平均值作为所述媒体数据的热度;

发送模块,用于响应于所述媒体数据的热度表征所述媒体数据为热数据,向至少部分所述边缘服务器发送缓存请求,其中,所述缓存请求用于指示至少部分所述边缘服务器预先缓存所述媒体数据。

12.一种数据处理装置,其特征在于,所述装置包括:

接收模块,用于接收源服务器发送的针对媒体数据的缓存请求,其中,所述缓存请求是所述源服务器确定边缘服务器未缓存所述媒体数据,并基于所述媒体数据的热度生成的;

缓存模块,用于根据所述缓存请求预先缓存所述媒体数据,其中,所述媒体数据的热度通过以下方式获取:确定当前时刻之前的多个设定时间段,针对每个所述设定时间段执行以下处理:基于所述媒体数据的回源信息确定所述媒体数据在所述设定时间段内的回源次数;根据所述回源次数确定所述媒体数据在所述设定时间段内的回源频率;确定所述回源频率的权重,其中,所述权重与所述回源频率所在设定时间段距离当前时刻的时间间距呈负相关关系;基于所述权重对所述回源频率加权,得到所述设定时间段的加权回源频率;将每个所述设定时间段的所述加权回源频率加和,将加和结果的平均值作为所述媒体数据的热度。

13.一种电子设备,其特征在于,所述电子设备包括:

存储器,用于存储计算机可执行指令或计算机程序;

处理器,用于执行所述存储器中存储的计算机可执行指令或者计算机程序时,实现权利要求1至9任一项所述的数据处理方法,或权利要求10所述的数据处理方法。

14.一种计算机可读存储介质,存储有计算机可执行指令或者计算机程序,其特征在于,所述计算机可执行指令或者计算机程序被处理器执行时实现权利要求1至9任一项所述的数据处理方法,或权利要求10所述的数据处理方法。

说明书 :

数据处理方法、装置、电子设备及计算机可读存储介质

技术领域

[0001] 本申请涉及数据处理技术,尤其涉及一种数据处理方法、装置、电子设备及计算机可读存储介质。

背景技术

[0002] 在内容分发网络(Content Delivery Network,CDN)中,当终端发起针对某些媒体数据的请求时,内容分发网络会根据终端所处的地理位置、网络状况选取最优的边缘服务器来响应终端的请求。当边缘服务器缓存有媒体数据时,直接将媒体数据返回给终端,加快媒体数据下载与传输的速度,提高用户体验。当边缘服务器未缓存有媒体数据时,就需要向源服务器进行回源,以下载获取媒体数据,再返回给终端用户。但向源服务器进行回源,来下载获取媒体数据,会导致数据下载与传输的速度慢,降低用户体验。
[0003] 可见,在内容分发网络进行媒体数据传输过程中,终端针对媒体数据的请求是否命中边缘服务器的缓存,对传输效率影响极大。但由于媒体数据的数量巨大以及终端用户针对媒体数据发起的请求频率高,使得请求命中边缘服务器缓存的概率会很低,需要频繁向源服务器进行回源,由此会影响媒体数据的下载与传输速度,降低用户体验。

发明内容

[0004] 本申请实施例提供一种数据处理方法、装置、电子设备及计算机可读存储介质,能够减少媒体数据的回源次数,提高边缘服务器的缓存命中率。
[0005] 本申请实施例的技术方案是这样实现的:
[0006] 本申请实施例提供一种数据处理方法,所述方法包括:
[0007] 响应于至少一个边缘服务器未缓存媒体数据,获取所述媒体数据的回源信息;
[0008] 基于所述媒体数据的回源信息,确定所述媒体数据的热度;
[0009] 响应于所述媒体数据的热度表征所述媒体数据为热数据,向至少部分所述边缘服务器发送缓存请求,其中,所述缓存请求用于指示至少部分所述边缘服务器预先缓存所述媒体数据。
[0010] 本申请实施例还提供一种数据处理方法,所述方法包括:
[0011] 接收源服务器发送的针对媒体数据的缓存请求,其中,所述缓存请求是所述源服务器确定所述边缘服务器未缓存所述媒体数据,并基于所述媒体数据的热度生成的;
[0012] 根据所述缓存请求预先缓存所述媒体数据。
[0013] 本申请实施例提供一种数据处理装置,包括:
[0014] 获取模块,用于响应于至少一个边缘服务器未缓存媒体数据,获取所述媒体数据的回源信息;
[0015] 确定模块,用于基于所述媒体数据的回源信息,确定所述媒体数据的热度;
[0016] 发送模块,用于响应于所述媒体数据的热度表征所述媒体数据为热数据,向至少部分所述边缘服务器发送缓存请求,其中,所述缓存请求用于指示至少部分所述边缘服务器预先缓存所述媒体数据。
[0017] 本申请实施例还提供一种数据处理装置,包括:
[0018] 接收模块,用于接收源服务器发送的针对媒体数据的缓存请求,其中,所述缓存请求是所述源服务器确定所述边缘服务器未缓存所述媒体数据,并基于所述媒体数据的热度生成的;
[0019] 缓存模块,用于根据所述缓存请求预先缓存所述媒体数据。
[0020] 本申请实施例提供一种电子设备,包括:
[0021] 存储器,用于存储计算机可执行指令或计算机程序;
[0022] 处理器,用于执行所述存储器中存储的计算机可执行指令或计算机程序时,实现本申请实施例提供的数据处理方法。
[0023] 本申请实施例提供一种计算机可读存储介质,存储有计算机可执行指令或计算机程序,用于被处理器执行时实现本申请实施例提供的数据处理方法。
[0024] 本申请实施例提供一种计算机程序产品,包括计算机可执行指令或计算机程序,所述计算机可执行指令或计算机程序被处理器执行时,实现本申请实施例提供的数据处理方法。
[0025] 本申请实施例具有以下有益效果:
[0026] 通过本申请实施例,在边缘服务器未缓存媒体数据时,通过媒体数据的回源信息来确定媒体数据的热度,当媒体数据的热度可以表征媒体数据为热数据时,向部分边缘服务器发起缓存媒体数据的请求,以使部分边缘服务器预先缓存媒体数据。在媒体数据众多以及数据请求频率高时,通过媒体数据的热度触发边缘服务器都预先缓存媒体数据,使得针对媒体数据的请求更容易命中边缘服务器的缓存,提高边缘服务器的缓存命中率。从而在响应针对媒体数据的请求时,加快媒体数据的下载与传输速度,更快地响应请求。

附图说明

[0027] 图1是本申请实施例提供的数据处理系统100的架构示意图;
[0028] 图2A是本申请实施例提供的源服务器200的结构示意图;
[0029] 图2B是本申请实施例提供的边缘服务器500的结构示意图;
[0030] 图3A是本申请实施例提供的数据处理方法的流程示意图一;
[0031] 图3B是本申请实施例提供的数据处理方法的流程示意图二;
[0032] 图3C是本申请实施例提供的数据处理方法的流程示意图三;
[0033] 图3D是本申请实施例提供的数据处理方法的流程示意图四;
[0034] 图3E是本申请实施例提供的数据处理方法的流程示意图五;
[0035] 图3F是本申请实施例提供的数据处理方法的流程示意图六;
[0036] 图3G是本申请实施例提供的数据处理方法的流程示意图七;
[0037] 图3H是本申请实施例提供的数据处理方法的流程示意图八;
[0038] 图3I是本申请实施例提供的数据处理方法的流程示意图九;
[0039] 图4是本申请实施例提供的CDN网络中传输视频过程的原理图;
[0040] 图5是本申请实施例提供的视频的传输方法的交互流程图。

具体实施方式

[0041] 为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0042] 在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
[0043] 在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。
[0044] 除非另有定义,本申请实施例所使用的所有的技术和科学术语与所属技术领域的技术人员通常理解的含义相同。本申请实施例中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
[0045] 对本申请实施例进行进一步详细说明之前,对本申请实施例中涉及的名词和术语进行说明,本申请实施例中涉及的名词和术语适用于如下的解释。
[0046] 1)热数据,指在业务或者应用中访问频率高或热度高的关键数据,这些数据通常需要能够快速且高效地进行访问或者调取,因此一般存储在高性能、低延迟的存储介质上,用于快速的响应数据请求。
[0047] 2)内容分发网络(Content Delivery Network,CDN),是一种新型网络内容的服务体系,基于内容访问于应用的效率需求、质量要求和内容秩序而提供内容的分发和服务。一般通过将站点内容发布至遍布全球的海量加速网络节点,使用户可就近从网络节点中获取所需内容,避免因网络拥堵、跨运营商、跨地域、跨境等因素带来的网络不稳定、访问延迟高等问题,有效提升下载速度、降低响应时间,提供流畅的用户体验。
[0048] 3)边缘服务器,是存在于网络逻辑极端或“边缘”的设备或者计算机。边缘服务器可提供进入内容分发网络的入口点,通常用作不同网络之间的连接,目的是将内容存储在尽可能靠近发出请求的客户端的位置,从而减少网络延迟并缩短响应客户端内容请求的时间。
[0049] 4)源服务器,在内容分发网络中用于存储内容资源的服务器,用于响应来自外界的各种内容请求,例如响应边缘服务器甚至是客户端的回源请求,从而为边缘服务器甚至是客户端提供内容。
[0050] 本申请实施例提供一种数据处理方法、装置、设备、计算机可读存储介质和计算机程序产品,能够减少媒体数据的回源次数,提高边缘服务器的缓存命中率。
[0051] 下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的设备可以实施为笔记本电脑、平板电脑,台式计算机、机顶盒、移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)、智能手机、智能音箱、智能手表、智能电视、车载终端等各种类型的用户终端,也可以实施为服务器。
[0052] 参见图1,图1是本申请实施例提供的数据处理系统100的架构示意图,包括终端400,边缘服务器500,源服务器200,网络300,其他边缘服务器600。终端400通过网络300连接边缘服务器500,网络300可以是广域网或者局域网,又或者是二者的组合。
[0053] 终端400上运行着各种与媒体数据有关的应用程序(Application,APP),例如可以是即时通信APP、阅读APP、视频APP、游戏APP,或者其他的软件程序。用户在终端400的应用程序通过网络300发起针对媒体数据的请求时,边缘服务器500收到针对媒体数据的请求,就会确定是否缓存有媒体数据。当边缘服务器500未缓存媒体数据时,向源服务器200请求获取媒体数据。源服务器200收到边缘服务器500的获取媒体数据请求,就会获取媒体数据的回源信息,然后基于媒体数据的回源信息,确定媒体数据的热度。当确定媒体数据的热度表征媒体数据为热数据时,向其他边缘服务器600发送缓存请求,其中,缓存请求用于指示其他边缘服务器600预先缓存媒体数据。最后源服务器200会返回媒体数据到边缘服务器500,边缘服务器500获取到媒体数据后再通过网络300将媒体数据返回到终端400,用户就可以在终端400运行的应用程序中浏览到媒体数据。
[0054] 在一些实施例中,图1所示的源服务器200、边缘服务器500以及其他边缘服务器600可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
[0055] 本申请实施例可以借助人工智能(Artificial Intelligence,AI)技术实现,是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
[0056] 以本申请实施例提供的服务器为例,例如可以部署在云端的服务器集群,从而向用户或开发者开放人工智能云服务(AI as a Service,AIaaS),AIaaS平台会把几类常见的AI服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个AI主题商城,所有的用户或开发者都可以通过应用程序编程接口的方式来接入使用AIaaS平台提供的一种或者多种人工智能服务。
[0057] 例如,云端的服务器封装有本申请实施例提供的数据处理方法的程序。用户通过终端(终端运行有APP,例如即时通信APP、阅读APP等)调用云服务中的数据处理服务,以使部署在云端的服务器调用封装的数据处理方法的程序。当用户在终端发起媒体数据请求时,边缘服务器收到针对媒体数据的请求就会确定是否缓存有媒体数据。当边缘服务器未缓存媒体数据时,向云端的服务器请求获取媒体数据。云端的服务器收到边缘服务器收到媒体数据的请求,就会获取媒体数据的回源信息,然后基于媒体数据的回源信息,确定媒体数据的热度。当确定媒体数据的热度表征媒体数据为热数据时,向其他边缘服务器发送缓存请求,其中,缓存请求用于指示其他边缘服务器预先缓存媒体数据。最后云端的服务器就会将媒体数据返回到请求获取媒体数据的边缘服务器,边缘服务器获取到媒体数据后再将媒体数据返回到终端,用户就可以在终端运行的APP中浏览到媒体数据。
[0058] 参见图2A,图2A是本申请实施例提供的源服务器200的结构示意图,图2A所示的源服务器200包括:至少一个处理器410、存储器450、至少一个网络接口420。源服务器200中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2A中将各种总线都标为总线系统440。
[0059] 处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(Digital Signal Processor,DSP),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
[0060] 存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器 410的一个或多个存储设备。
[0061] 存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(Random Access Memory,RAM)。本申请实施例描述的存储器450旨在包括任意适合类型的存储器。
[0062] 在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0063] 操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0064] 网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他电子设备,示例性的网络接口420包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(Universal Serial Bus,USB)等;
[0065] 在一些实施例中,本申请实施例提供的装置可以采用软件方式实现,图2A示出了存储在存储器450中的数据处理装置453,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块4531、确定模块4532以及发送模块4533,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
[0066] 参见图2B,图2B是本申请实施例提供的边缘服务器500的结构示意图。边缘服务器500包括:至少一个处理器510、总线540、存储器550、至少一个网络接口520。边缘服务器500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2B中将各种总线都标为总线系统540。
[0067] 在一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
[0068] 操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
[0069] 网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他电子设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(Universal Serial Bus,USB)等;
[0070] 图2B示出了存储在存储器550中的数据处理装置553,其可以是程序和插件等形式的软件,包括以下软件模块:接收模块5531、缓存模块5532。这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分,各个模块的功能会在下文的相关部分进行说明。
[0071] 在一些实施例中,终端或服务器可以通过运行各种计算机可执行指令或计算机程序来实现本申请实施例提供的数据处理方法。举例来说,计算机可执行指令可以是微程序级的命令、机器指令或软件指令。计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(Application,APP),即需要在操作系统中安装才能运行的程序,如直播APP或者即时通信APP;也可以是可以嵌入至任意APP中的小程序,即只需要下载到浏览器环境中就可以运行的程序。总而言之,上述的计算机可执行指令可以是任意形式的指令,上述计算机程序可以是任意形式的应用程序、模块或插件。
[0072] 将结合本申请实施例提供的服务器的示例性应用和实施,说明本申请实施例提供的数据处理方法。
[0073] 参见图3A,图3A是本申请实施例提供的数据处理方法的流程示意图,以图1中所示的源服务器200为执行主体,将结合图3A示出的步骤进行说明。
[0074] 在步骤101中,响应于至少一个边缘服务器未缓存媒体数据,获取媒体数据的回源信息。
[0075] 在内容分发网络中,终端用户发起针对某些媒体数据的请求时,内容分发网络会根据终端所处的地理位置、网络状况选取最优的边缘服务器来响应终端的媒体数据请求。终端的媒体数据请求一般为请求下载或获取媒体数据,其中,媒体数据可以为视频、图片、文档、语音包等一些内存容量大的内容,用于在终端进行播放或者浏览。而边缘服务器在内容分发网络中,用于响应各个终端用户的请求,从而为终端用户提供媒体数据。
[0076] 当终端用户发起媒体数据的请求时,内容分发网络选取最优的边缘服务器来响应终端用户的请求,这里最优的边缘服务器是指距离终端用户所在地理位置最近或网络状况最好的边缘服务器。边源服务器会在数据库查询是否缓存有对应的媒体数据。当查询到数据库存储有对应的媒体数据,直接将媒体数据的原始数据通过内容分发网络的网络节点传输给终端用户,以快速响应终端用户的请求,加快媒体数据的下载与传输的速度,提高用户体验。而当边缘服务器在数据库中未查询到媒体数据时,说明未缓存有媒体数据,于是边缘服务器就会向媒体数据的源站(即源服务器)发起回源请求,即向源服务器进行回源,以请求下载并获取媒体数据的原始数据资源。
[0077] 因为每当边缘服务器未缓存媒体数据时,就会发送回源请求,源服务器需要接受多个边缘服务器的回源请求,每一次响应回源请求就会记录对应回源信息,所以在本申请实施例中,响应于至少一个边缘服务器未缓存媒体数据,获取媒体数据的回源信息,其中,回源信息可以是媒体数据在预设时间段的回源次数,还可以是回源请求,用于后续统计回源次数等信息。
[0078] 在步骤102中,基于媒体数据的回源信息,确定媒体数据的热度。
[0079] 在获取到媒体数据的回源信息之后,基于媒体数据的回源信息,确定媒体数据的热度。首先根据获取的回源信息来确定媒体数据的回源次数,并根据回源次数进一步确定媒体数据的特征,例如是否访问频率高、是否受更多终端用户欢迎等,而这些特征可以统一表征为媒体数据的热度,进而根据热度可以判断媒体数据是否为热数据。
[0080] 在一些实施例中,参见图3B,图3A示出的步骤102可以通过以下步骤1021A至步骤1022A实现,下面具体说明。
[0081] 在步骤1021A中,根据媒体数据的回源信息,确定媒体数据的至少一个回源参数。
[0082] 当获取到媒体数据的回源信息后,可以根据媒体数据的回源信息,确定媒体数据的至少一个回源参数。因为回源信息中记载了媒体数据在预设时间段内的回源次数,这个回源次数可以直接作为媒体数据的回源参数。进一步地,根据媒体数据的回源次数还可以确定更多的回源参数,例如回源次数的增长速度、回源次数超过回源次数平均值的倍数值等。通过这些回源参数可以获取媒体数据的特征,来确定是否为热数据。而确定媒体数据是否为热数据则需要计算热度,本申请实施例中根据媒体数据的回源信息,先确定媒体数据的至少一个回源参数,再根据回源参数来计算媒体数据的热度。
[0083] 在本申请实施例中,媒体数据的回源参数可以是以下五项参数至少之一:
[0084] 第一项参数为次数参数,即在预设时间段内的回源次数。例如,在过去的1小时内,边缘服务器针对媒体数据的回源次数(如500次)。
[0085] 第二项为增长速度参数,即在预设时间段内的回源次数的增长速度值。例如,在过去的1小时内,边缘服务器针对媒体数据的回源次数的增长速度值。具体的,分别统计前半小时的回源次数增长总数(如600次)以及后半小时的回源次数增长总数(如660次),然后分别计算前半小时的回源增长速度(如每分钟20次)和后半小时的回源增长速度(如每分钟22次),最后计算1小时内的增长速度值为“(22‑20) 20”,即为10%。
[0086] 第三项为比例值参数,即在预设时间段内的回源次数占对应边缘服务器的回源请求总数的比例值。例如,在过去的1小时内,边缘服务器针对媒体数据的回源次数占边缘服务器的回源请求总数的比例。因为边缘服务器还会对除媒体数据之外的其他内容数据进行回源,每进行一次回源都会记录一次边缘服务器的回源请求数,于是可以统计边缘服务器的回源请求总数。此时再统计边缘服务器针对媒体数据的回源次数(如300次),在边缘服务器的回源请求总数(如600次)的占比(即50%)。
[0087] 第四项为倍数值参数,即在预设时间段内回源次数超过回源次数平均值的倍数值。例如,在过去的1小时内,边缘服务器针对媒体数据的回源次数超过回源次数平均值的倍数值。具体的,统计过去24小时内边缘服务器针对媒体数据的回源次数总数(如600次),然后计算回源次数的平均值,也即每小时的回源次数(如每小时25次),接下来再计算过去1小时内回源次数(如75次)超过平均值(如每小时25次)的倍数值为“(75‑25) 25” ,即2倍。
[0088] 第五项为百分比参数,即在预设时间段内回源次数占对应边缘服务器回源次数总数的百分比。例如,在过去的1小时内,针对媒体数据的回源次数占边缘服务器回源次数总数的百分比。因为媒体数据可能在多个边缘服务器执行回源,而且边缘服务器也可能对其他数据进行回源。这里每个边缘服务器都可视作内容分发网络中的边缘节点。此时统计所有边缘服务器(如10个)针对所有内容数据的回源次数(如1000次),也即将统计内容分发网络中所有边缘节点的回源次数,作为边缘服务器回源次数总数。然后统计所有边缘服务器中对媒体数据执行过回源的边缘服务器(例如5个)的回源次数(例如800次),最后确定回源次数占边缘服务器回源次数总数的百分比为“800/1000” ,即为80%。
[0089] 在步骤1022A中,基于至少一个回源参数,确定媒体数据的热度。
[0090] 确定媒体数据的至少一个回源参数后,再基于至少一个回源参数,确定媒体数据的热度。本申请实施例中针对每个回源参数,通过确定回源参数是否超过参数阈值的方法,将每个回源参数都映射为至少一个映射值,从而根据映射值来确定媒体数据的热度,下面具体说明。
[0091] 在一些实施例中,参见图3C,图3B示出的步骤1022A还可以通过以下步骤10221A至步骤10222A实现,下面具体说明。
[0092] 在步骤10221A中,当媒体数据的回源参数为一个时,对回源参数进行映射处理,得到媒体数据的热度。
[0093] 首先需要确定媒体数据的回源参数的个数,也即判断回源参数是上述五项参数中的一个还是多个。当确定媒体数据的回源参数是一个时,说明回源参数只是上述五项参数中其中的一项,然后直接对这一个回源参数进行映射处理,得到媒体数据的热度。
[0094] 具体的,本申请实施例中为上述五项参数(即次数参数、增长速度参数、比例值参数、倍数值参数、百分比参数)分别设置五个参数阈值,即次数参数阈值、增长速度参数阈值、比例值参数阈值、倍数值参数阈值、百分比参数阈值。然后判断媒体数据的这一个回源参数是否超出对应的参数阈值,若超出则将对应回源参数映射为一个映射值(例如任意一个正整数,100),作为媒体数据的热度。若不超出则将对应的回源参数映射为0,作为媒体数据的热度。
[0095] 示例的,某媒体数据的一个回源参数是增长速度参数,即在预设时间段内的回源次数的增长速度值,为20%。此时,对应的增长速度参数阈值为10%,说明回源参数20%超过增长速度参数阈值10%,则将回源参数20%映射为映射值100,作为媒体数据的热度。再例如,某媒体数据的一个回源参数是百分比参数,即在预设时间段内回源次数占对应边缘服务器回源次数总数的百分比,为70%。此时,对应的百分比参数阈值为80%,说明回源参数70%未超过百分比参数阈值80%,则将回源参数70%映射为映射值0,作为媒体数据的热度。
[0096] 在步骤10222A中,当媒体数据的回源参数为多个时,针对每个回源参数分别进行映射处理,得到多个映射值,并将多个映射值的加和作为媒体数据的热度。
[0097] 当媒体数据的回源参数为多个时,针对每个回源参数分别进行映射处理,得到多个映射值,并将多个映射值的加和作为媒体数据的热度。当确定媒体数据的回源参数有多个时,说明回源参数是上述五项参数中的多项,此时针对每个回源参数分别进行映射处理,得到多个映射值,即每个回源参数都可以映射得到一个映射值,最后将多个映射值的加和作为媒体数据的热度。
[0098] 具体的,当媒体数据的回源参数为多个时,可分别判断每个回源参数是否超出对应的参数阈值,若超出则将对应的回源参数映射为一个映射值(例如任意一个正整数,100),若不超出则将对应回源参数映射为0,最后再将多个回源参数对应的多个映射值进行求和得到一个总映射值,作为媒体数据的热度。
[0099] 示例的,某媒体数据有三个回源参数,分别为次数参数,比例值参数,倍数值参数。其中,第一个回源参数是次数参数,即在预设时间段内的回源次数,为600。此时,对应的次数参数阈值为500,说明回源参数600超过了增长速度参数阈值500,则将回源参数600映射为映射值100。第二个回源参数是比例值参数,即在预设时间段内的回源次数占对应边缘服务器的回源请求总数的比例值,为60%。此时,对应的比例值参数阈值为50%,说明回源参数
60%超过百分比参数阈值50%,则将回源参数60%映射为映射值100。第三个回源参数是倍数值参数,即在预设时间段内回源次数超过回源次数平均值的倍数值,为2.5倍。此时,对应的比例值参数阈值为2倍,说明回源参数2.5超过倍数值参数阈值2,则将回源参数2.5映射为映射值100。由此,媒体数据的三个回源参数都分别映射得到三个映射值“100、100、100” ,最后再将三个映射值进行求和得到一个总映射值300,作为媒体数据的热度。
[0100] 在一些实施例中,参见图3D,图3A示出的步骤102还可以通过以下步骤1021B至步骤1023B实现,下面具体说明。
[0101] 在步骤1021B中,基于媒体数据的回源信息,获取媒体数据的原始数据。
[0102] 在一些实施例中,还可以直接对媒体数据的原始数据的特征进行预测,进而得到媒体数据的热度。当获取到媒体数据的回源信息后,再基于媒体数据的回源信息,获取媒体数据的原始数据。具体为,根据媒体数据的回源信息,从数据库中查询到对应媒体数据的原始数据,从获取到媒体数据的原始数据。例如媒体数据是视频、图片、文档、语音包,对应的原始数据为视频数据、图片数据、文档数据、语音数据等。
[0103] 在步骤1022B中,对媒体数据的原始数据进行特征提取处理,得到原始数据的热度特征。
[0104] 获取到媒体数据的原始数据后,再对媒体数据的原始数据进行特征提取处理,得到原始数据的热度特征。具体为可调用预训练的热度预测模型(神经网络或是卷积神经网络)对媒体数据的原始数据进行特征提取。例如媒体数据为视频、图片、文档,则提取对应视频数据的视频特征或图片特征、文档数据的文本特征。其中,视频特征可以是机器抽帧识别的视频主题、视频内容等特征,文本特征可以是图片或视频帧中的文字(如字幕)等特征。此外,媒体数据还可以是语音包,则提取对应语音数据的语音特征,如音乐、网课、广播等语音类型的音频特征等。
[0105] 当提取出这些视频特征、文本特征或者语音特征后,再利用预训练热度预测模型(例如神经网络的隐藏层或者卷积神经网络的卷积层)对这些特征进行初步处理,例如通过神经网络隐藏层的权重参数对视频特征、文本特征或者语音特征进行特征映射,从而映射为视频、图片、语音包的多个热度特征,其中的热度特征值可以是媒体数据的访问量、播放量、浏览量、收听量、观看(收听)时长、点赞数、评论数、转发分享数等特征的特征值。
[0106] 在步骤1023B中,对热度特征进行预测处理,得到媒体数据的热度。
[0107] 确定媒体数据的热度特征后,最后再调用预训练热度预测模型对热度特征进行预测处理,得到媒体数据的热度。具体的,通过预训练热度预测模型(例如神经网络的全连接层或者模型的下游分类器)对热度特征值进行映射处理,从而映射得到媒体数据的热度值,这热度值即可表征媒体数据的热度。
[0108] 示例的,媒体数据是一个语音(例如可以是音乐、网课、广播),首先根据这个语音的回源信息从数据库查询语音的原始数据,即语音数据。然后调用热度预测模型对语音数据进行特征提取处理,得到语音数据的音频特征,然后对音频特征进行初步处理,即对音频特征进行特征映射,得到语音的热度特征,热度特征值为语音的收听量、播放量等特征的特征值。例如一些流行音乐被热度预测模型识别后,所映射出来的热度特征值(如收听量、播放量的特征值)就很高,而一些无人问津的广播被热度预测模型识别后,所映射出来的特征值就很低。最后再对语音的热度特征值进行预测处理,得到媒体数据的热度值。
[0109] 在一些实施例中,考虑到媒体数据的回源频繁程度也可以反映媒体数据的热度。因此,图3A所示的步骤102还可以通过以下方式实现:在设定时间段内,根据媒体数据的回源信息中确定媒体数据的多个回源时间点,并将多个回源时间点按照时间先后的顺序进行排序处理,得到第一回源时间序列;对第一回源时间序列进行去重处理,得到第二回源时间序列;针对第二回源时间序列中任意两个相邻的回源时间点,确定两个相邻的回源时间点之间的回源时间间隔,并将回源时间间隔的平均值作为媒体数据在设定时间段内的热度。
[0110] 具体的,在某个预设的时间段内,根据媒体数据的回源信息统计媒体数据回源时的多个时间点,即回源时间点。然后将预设的时间段内的多个回源时间点按照时间先后的顺序进行排序处理,得到第一回源时间序列。如果第一回源时间序列存在重复的回源时间点,则对重复的回源时间点执行去重处理,只保留一个回源时间点,得到第二回源时间序列。接下来针对第二回源时间序列中任意两个相邻的回源时间点,确定两个相邻的回源时间点之间的时间间隔,即回源时间间隔,并确定所有回源时间间隔的平均值,这个平均值表征媒体数据的回源频繁程度,即可作为媒体数据的热度。
[0111] 示例的,某媒体数据在一个小时内(4点至5点),根据回源信息统计得到的所有回源时间点为“4点10、4点17、4点58、4点41、4点17”,然后对这些回源时间点按照时间先后进行排序处理,得到第一回源时间序列,并在第一回源时间序列中去除其中重复的回源时间点“4点17”,得到第二回源时间序列“4点10、4点17、4点41、4点58”。接下来计算第二回源时间序列中任意两个相邻的回源时间点之间的时间间隔(单位:分钟),作为回源时间间隔,得到“7,24、17” ,最后计算所有回源时间间隔“7,24、17”的平均值为16,作为媒体数据的热度。
[0112] 在一些实施例中,考虑到媒体数据的热度具有时效性,因为媒体数据的热度会随着时间的推进而下降,即媒体数据在某个时间段内热度高,但在下个时间段内热度骤减,如果仅在某个单独的预设时间段确定媒体数据的热度具有局限性。
[0113] 基于此,为了保证媒体数据的热度具有时效性,本申请实施例还可以通过统计多个时间段的回源信息来确定媒体数据的热度,下面具体说明图3A所示的步骤102还可以通过以下方式实现:在当前时刻之前确定多个设定时间段,并针对每个设定时间段,基于媒体数据的回源信息确定媒体数据在设定时间段内的回源次数;根据回源次数确定媒体数据在设定时间段内的回源频率;确定回源频率的权重,其中,权重与回源频率所在设定时间段距离当前时刻的时间间距呈负相关关系;基于权重对回源频率进行加权,得到设定时间段的加权回源频率,将每个设定时间段的加权回源频率进行加和,并将加和结果的平均值作为媒体数据的热度。
[0114] 具体的,首先在当前时刻之前预设多个(大于1个)时间段,然后根据每个时间段内的媒体数据的回源信息确定媒体数据的回源次数。针对每个时间段,确定媒体数据在每个时间段内的回源频率,这里可以将时间段内的回源次数除以时间段的时间得到回源频率。然后为每个时间段内的回源频率设定权重,权重的大小与回源频率所在时间段距离当前时刻的时间间距呈负相关关系。即权重的设定标准遵循以下规则:回源频率所在时间段距离当前时刻越近,回源频率的权重越高,反之距离当前时刻越远,回源频率的权重越低。权重的确定方法具体可以参考如下公式(1):
[0115]                            (1)
[0116] 上述公式(1)中, w(i)为从距离当前时刻最早的时间段起,至当前时刻第i个时间段的回源频率对应的权重,N为时间段的总数。
[0117] 确定每个时间段对应回源频率的权重后,针对每个时间段,利用权重对回源频率进行加权,得到时间段的加权回源频率,最后将每个时间段的加权回源频率进行加和后再求平均值,并将加和求平均值后得到的平均值作为媒体数据的热度。
[0118] 示例的,当前时刻为5时,统计某个媒体数据在2时到3时、3时到4时、4时到5时三个时间段内的回源次数,分别为240、300、240。接下来计算媒体数据在每个时间段内的回源频率(单位:次/分钟),分别为4,5,4。然后根据公式(1)确定三个时间段内回源频率的权重分别为 、 、e。最后利用权重对每个时间段的回源频率进行加权,得到加权回源频率分别为4 、5 、4e,再将三个加权回源频率进行求和,并对求和结果计算平均值得到
,作为媒体数据的热度。
[0119] 继续参见图3A,在步骤103中,响应于媒体数据的热度表征媒体数据为热数据,向至少部分边缘服务器发送缓存请求。
[0120] 确定出媒体数据的热度后,即可根据热度来判断出媒体数据是否为热数据。本申请实施例中,如果是根据媒体数据的回源参数或者根据热度预测模型得到媒体数据的热度,可以预设一个热度阈值,若媒体数据的热度小于预设阈值,则确定媒体数据并非热数据。若媒体数据的热度不小于预设阈值,则确定媒体数据为热数据。
[0121] 在一些实施例中,如果是将媒体数据的回源时间间隔的平均值作为媒体数据的热度,则可根据实际场景预设一个时间间隔阈值,作为热度阈值。当媒体数据的回源时间间隔的平均值小于预设的时间间隔阈值时,即媒体数据的热度小于预设的热度阈值时,确定媒体数据为热数据。当媒体数据的回源时间间隔的平均值不小于预设的时间间隔阈值时,即媒体数据的热度不小于预设的热度阈值时,确定媒体数据为热数据。
[0122] 示例的,某媒体数据在一个小时内(4点至5点),根据回源信息统计得到的所有回源时间点为“4点10、4点17、4点58、4点41、4点17”,最终计算媒体数据的回源时间间隔(单位:分钟)为 “7,24、17” ,并计算所有回源时间间隔“7,24、17”的平均值为16,作为媒体数据的热度。然后预设一个时间间隔阈值20作为热度阈值,即媒体数据回源时间间隔的平均值不超过“20分钟”才能确定为热数据。而此时媒体数据的热度(回源时间间隔的平均值)为16分钟小于热度阈值20,则确定媒体数据为热数据。
[0123] 在一些实施例中,如果是将媒体数据在多个设定时间段内的加权回源频率平均值作为媒体数据的热度,则可根据实际场景预设一个频率阈值,作为热度阈值。当媒体数据加权回源频率的平均值大于预设的频率阈值时,即媒体数据的热度大于预设的热度阈值时,确定媒体数据为热数据。当媒体数据的加权回源频率的平均值不大于预设的频率阈值时,即媒体数据的热度不大于预设的热度阈值时,确定媒体数据为非热数据。
[0124] 示例的,当前时刻为5时,统计某个媒体数据在2时到3时、3时到4时、4时到5时三个时间段内加权回源频率(单位:次/分钟)分别为4 、5 、4e,再将三个加权回源频率进行求和,并对求和结果计算平均值得到 ,作为媒体数据的热度。然后预设一个频率阈值20作为热度阈值,即媒体数据在三个时间段内加权回源频率的平均值需超过“20次/分钟”才能确定为热数据。而此时媒体数据的热度(加权回源频率的平均值)为 大于预设的热度阈值20,则说明媒体数据为热数据。
[0125] 在一些实施例中,考虑到媒体数据的数量众多且热度也都不同,在一些场景中,热度阈值很难进行合理设置,所以在媒体数据的数量有多个(例如100个),并根据图3A所示的步骤102确定出每个媒体数据的热度后,还可以按照媒体数据热度的大小,对这多个媒体数据进行降序排序,得到媒体数据序列。即在媒体数据序列中,热度大的媒体数据排序在前,热度小的媒体数据排序在后。然后在媒体数据序列中直接选取热度大的K个(例如10个)媒体数据确定为热数据,也即将媒体数据序列中排序靠前的K个媒体数据确定为热数据。而媒体数据序列中剩下的媒体数据就被确定为非热数据,如此也可以从多个媒体数据中确定出热数据。
[0126] 在实际场景下,若将每个回源参数超过参数阈值所映射得到的映射值设置为热度阈值,例如每个回源参数超过对应参数阈值映射得到的映射值为100,热度阈值也设置为100。则说明媒体数据的至少一个回源参数中,只需其中一个回源参数超出对应的参数阈值,那么媒体数据的回源参数所得到的总映射值就可以满足热度阈值的条件,也即媒体数据的热度满足热度阈值的条件,即可确定媒体数据为热数据。
[0127] 示例的,某媒体数据为一个视频,根据视频的回源信息确定视频的回源参数分别为次数参数,比例值参数,倍数值参数,最终映射为100、100、100三个映射值,再将三个映射值进行求和得到一个总映射值300,作为视频的热度。此时预设的热度阈值为100,视频的热度300超出了热度阈值100,说明视频为热数据。这也说明了视频的三个回源参数中,只需要至少一个回源参数超出对应参数阈值,那么得到的最终映射值至少为100,不小于预设的热度阈值100,这个视频就可确定为热数据。
[0128] 在另外的示例中,某媒体数据为一个语音,例如可以是音乐,通过预训练的热度预测模型进行特征提取处理,得到音乐的热度特征,例如可以是播放量、收听量、点赞数、评论数、转发分享数等,然后对音乐的热度特征进行预测处理,得到音乐的热度值为200,这热度值即可表征音乐的热度为200。此时预设的热度阈值为100,音乐的热度200超出了热度阈值100,说明音乐为热数据。
[0129] 当判断媒体数据是否为热数据后,响应于媒体数据的热度表征媒体数据为热数据,向至少部分边缘服务器发送缓存请求。因为确定媒体数据的热度表征媒体数据为热数据,也即判断媒体数据为热数据后,说明媒体数据在终端用户中访问频率高、更受终端用户欢迎。此时为了更快地响应终端用户的需求,希望边缘服务器都能够缓存媒体数据。于是向至少部分边缘服务器发送针对媒体数据的缓存请求,其中,缓存请求用于指示至少部分边缘服务器预先缓存媒体数据,以在终端用户发起针对媒体数据的请求时,更容易命中边缘服务器的缓存,从而加快媒体数据的下载和传输速度,更快地响应终端用户的请求,提升用户的体验。
[0130] 在一些实施例中,参见图3E,图3A示出的步骤103还可以通过以下步骤1031至步骤1032实现,下面具体说明。
[0131] 在步骤1031中,从数据库查询媒体数据的元数据。
[0132] 在一些实施例中,当确定媒体数据为热数据后,从数据库获取媒体数据返回给对应的边缘服务器,以响应边缘服务下载获取媒体数据的请求。本申请实施例中响应边缘服务器下载获取媒体数据的请求时,向边缘服务器返回媒体数据的元数据。首先,从数据库查询媒体数据的元数据,其中元数据并非媒体数据的原始数据,而是媒体数据的中介数据(例如媒体数据的资源链接、镜像等),因为中介数据占的内存小,不仅能减小网络的负载,还能有效节省边缘服务器的存储空间。
[0133] 在步骤1032中,向至少部分边缘服务器发送元数据。
[0134] 承接上述实施例,当从数据库查询媒体数据的元数据后,即可向至少部分边缘服务器发送缓存请求。具体为,向至少部分边缘服务发送媒体数据的元数据,其中,元数据用于指示至少部分边缘服务器预先缓存媒体数据的原始数据。也即边缘服务器接收到媒体数据的元数据后,即可根据媒体数据的元数据从源服务器预先缓存媒体数据的原始数据。当终端用户在后续再次发送针对媒体数据的请求,就可以直接命中边缘服务器的缓存,边缘服务器就可以将预先缓存的媒体数据的原始数据快速进行传输,返回给终端用户。
[0135] 通过本申请实施例,当确定媒体数据为热数据时,向部分边缘服务器发送媒体数据的元数据,以使边缘服务器缓存媒体数据的原始数据。从而终端用户发起的媒体数据的请求更容易命中边缘服务器的缓存,减少边缘服务器的回源次数。此外,向边缘服务器返回的是媒体数据的元数据并非媒体数据的原始数据,而元数据内存小,可以减少发送过程中消耗的网络资源,减轻内容分发网络中网络节点数据传输的带宽压力。即使边缘服务器已经缓存了媒体数据的原始数据,也不会增加额外的回源。而且边缘服务器的媒体数据缓存接口不需要进行二次开发,直接复用现有的缓存接口即可。
[0136] 在一些实施例中,参见图3F,在图3A示出的步骤103之前,还可以执行以下步骤105至步骤106实现,下面具体说明。
[0137] 在步骤105中,根据源服务器所在内容分发网络的拓扑结构,确定内容分发网络中与源服务器建立通信的多个边缘服务器。
[0138] 在一些实施例中,当确定媒体数据为热数据后,可以直接触发所有的边缘服务器都缓存媒体数据的元数据,也即直接向所有的边缘服务器发送缓存请求,指示所有的边缘服务器都缓存媒体数据的原始数据。但这样会使得内容分发网络中网络节点的负载压力加大。并且受到地域和网络等客观条件限制,每个边缘服务器针对媒体数据的需求不同,如果不考虑这些客观条件,直接触发所有的边缘服务器都缓存媒体数据的原始数据,会造成数据资源的浪费。
[0139] 基于此,本申请实施例可以根据源服务器所在内容分发网络的拓扑结构,确定内容分发网络中与源服务器建立通信的多个边缘服务器。具体的,在向至少部分边缘服务器发送缓存请求之前,先确定需发送缓存请求的是哪些边缘服务器,从而有针对性地只向部分边缘服务器发送缓存请求,指示部分边缘服务器缓存媒体数据。因为只有建立通信的边缘服务器才可以通过网络节点从源服务器来下载获取媒体数据,所以根据源服务器所在内容分发网络的拓扑结构,确定的是与源服务器建立通信的多个边缘服务器。
[0140] 在步骤106中,从多个边缘服务器中确定出至少部分边缘服务器。
[0141] 承接上述实施例,当确定出内容分发网络中与源服务器建立通信的多个边缘服务器之后,再从多个边缘服务器中确定出至少部分边缘服务器,下面将具体说明确定出至少部分边缘服务器的方法。
[0142] 在一些实施例中,参见图3G,图3F示出的步骤106还可以通过以下步骤1061A至步骤1062A实现,下面具体说明。
[0143] 在步骤1061A中,确定每个边缘服务器与源服务器建立通信的通信距离。
[0144] 由于源服务器和边缘服务器之间的通信距离会影响媒体数据下载传输的速度,通信距离越近,数据下载传输的速度就越短,响应媒体数据的数据请求的速度就越慢。相反,通信距离越远,数据下载传输的速度就越长,响应媒体数据的数据请求的速度就越慢。基于此场景,可以通过源服务器与边缘服务器的通信距离来确定出至少部分边缘服务器。首先在内容分发网络中,确定每个边缘服务器与源服务器建立通信的通信距离,这个通信距离并非物理路线上的距离,而是在网络通信路线的层面上的网络距离。而源服务器和边缘服务器的网络通信路线可能有多条,故通信距离可能有多个。本申请实施例中将距离最短的一条通信路线的通信距离确定为边缘服务器与源服务器的通信距离。
[0145] 在步骤1062A中,当通信距离不小于距离阈值时,将边缘服务器确定为至少部分边缘服务器。
[0146] 承接上述实施例,因为考虑到通信距离越大,下载传输的速度就越长。本申请实施例中选择与源服务器的通信距离大于预设的距离阈值的边缘服务器确定为至少部分服务器。具体的,可以通过设置一个通信距离阈值,针对多个边缘服务器中的每个边缘服务器,当确定边缘服务器与源服务器的通信距离不小于通信距离阈值时,将边缘服务器确定为至少部分边缘服务器。如此即可从多个边缘服务器中筛选出与源服务器通信距离远的部分边缘服务器,然后向通信距离远的部分边缘服务器发送针对媒体数据的缓存请求。
[0147] 通过本申请实施例的步骤1061A至步骤1062A,利用边缘服务器和源服务器的通信距离来从多个边缘服务器中确定出至少部分边缘服务器。也即只选择距离源服务器远的部分边缘服务器发送媒体数据的元数据,使得与源服务器通信距离远的部分边缘服务器预先缓存媒体数据的原始数据。而与源服务器通信距离近的部分边缘服务器则无需发送缓存请求,相较于不考虑任何条件直接向所有的边缘服务器发送缓存请求,即减轻了整个内容分发网络中的网络负载压力,又能够更快响应终端用户的需求,且不会造成数据资源浪费。
[0148] 在一些实施例中,参见图3H,图3F示出的步骤106还可以通过以下步骤1061B至步骤1064B实现,下面具体说明。
[0149] 在一些实施例中,还可以通过预测边缘服务器对媒体数据的回源可能性,来确定出至少部分边缘服务器。对于每个边缘服务器,通过预测边缘服务器针对媒体数据的回源概率,来确定需发送缓存请求的是哪些边缘服务器,下面具体说明。
[0150] 在步骤1061B中,获取媒体数据集合。
[0151] 首先,针对每个边缘服务器,获取媒体数据集合,其中,媒体数据集合是当前边缘服务器中执行过回源的媒体数据的集合。具体的,通过收集收当前边缘服务器在一定时间段内执行过回源的所有媒体数据,包括视频、图片、文档或者语音包等等。时间段可以按照实际场景进行预设,例如一个月。而收集方法可以查询当前边缘服务器的响应日志或者数据传输日志来获取,因为边缘服务器每响应一次终端用户的媒体数据请求都会保存对应的媒体数据传输记录,这些数据传输记录都存储在响应日志或者数据传输日志。
[0152] 在步骤1062B中,对媒体数据集合进行特征提取处理,得到媒体数据集合的回源特征。
[0153] 获取到当前边缘服务器执行过回源的媒体数据集合后,就可以对媒体数据集合进行特征提取处理,得到媒体数据集合的回源特征。回源特征一般表征媒体数据的一些特点或者性质。例如媒体数据为视频时,视频的种类(电视剧、短视频)、题材(历史题材、教育题材)、主题(新闻、记录片)等都可以作为视频回源特征。如果媒体数据集合中的视频大部分都是短视频,则说明当前边缘服务器针对短视频类型的媒体数据,更容易进行回源,所预测得到对应的回源概率也会更高。
[0154] 而媒体数据集合进行特征提取处理的方法也可以调用回源预测模型来实现将媒体数据集合作为数据集输入到回源预测模型进行特征提取。而不同的媒体数据可以调用回源预测模型进行不同类型的特征提取,例如媒体数据为图片,则调用回源预测模型的卷积层对图片进行卷积特征提取,如果媒体数据为文档,则调用回源预测模型的文本编码器对文档进行文本编码处理。
[0155] 在步骤1063B中,基于媒体数据对回源特征进行映射处理,得到边缘服务器针对媒体数据的回源概率。
[0156] 承接上述实施例,当调用回源预测模型提取到媒体数据集合的回源特征后,再基于媒体数据对回源特征进行映射处理,得到边缘服务器针对媒体数据的回源概率。具体的,先提取当前媒体数据的特征信息,然后基于当前媒体数据的特征信息调用回源预测模型(例如全连接层)对媒体数据集合的回源特征进行映射处理,得到当前边缘服务器针对当前媒体数据的回源概率。当前媒体数据的特征信息与媒体数据集合的回源特征的相关性越高,则回源概率越大,反之就越低。
[0157] 示例的,某当前边缘服务器收集的媒体数据集合是一个视频集合,而提取视频集合的回源特征后发现属于历史题材的纪录片短视频的占比最高。也即说明当前边缘服务器针对属于历史题材的纪录片短视频更容易进行回源,此时确定当前视频的特征信息,发现当前视频也为历史题材的纪录片短视频,与视频集合的回源特征相似,相关度高。则根据当前视频对视频集合的回源特征进行映射处理,得到边缘服务器针对当前视频的回源概率(例如为99%)。如果发现当前视频为教育题材的纪录片电视剧,与视频集合的回源特征完全不同,则可能是视频集合中教育题材的纪录片电视剧少甚至几乎没有。根据当前视频对视频集合的回源特征进行映射处理,得到边缘服务器针对当前视频的回源概率(例如为2%)。
[0158] 在步骤1064B中,当回源概率大于概率阈值,将边缘服务器确定为至少部分边缘服务器。
[0159] 承接上述实施例,当基于媒体数据对回源特征进行映射处理,得到当前边缘服务器针对媒体数据的回源概率后,就可以根据回源概率确定出当前边缘服务器针对媒体数据的回源可能性,回源概率越高说明当前边缘服务器对媒体数据执行回源的可能性就越大。由此针对每个边缘服务器,都可以预测得到当前边缘服务器针对媒体数据的回源概率,确定当前边缘服务器对媒体数据执行回源的可能性。然后预设一个概率阈值(如95%),当回源概率大于概率阈值,将边缘服务器确定为至少部分边缘服务器。回源概率大于概率阈值时,说明这个边缘服务器对媒体数据回源的可能性大,终端用户针对媒体数据的数据请求可能就越多。则可以向这些回源概率大于概率阈值的对应边缘服务器发送缓存请求,即向这些边缘服务器发送媒体数据的元数据,使得边缘服务器预先缓存媒体数据的原始数据。
[0160] 通过本申请实施例的步骤1061B至步骤1064B,针对每个边缘服务器,通过收集当前边缘服务器回源过的媒体数据集合,来确定当前边缘服务器执行过回源的媒体数据的回源特征,从而判断当前边缘服务器是否会回源当前媒体数据。当确定当前边缘服务器会回源媒体数据(回源概率大于概率阈值)时,确定出至少部分边缘服务器,向这些边缘服务器发送缓存请求。而确定边缘服务器不会回源媒体数据时(回源概率小于概率阈值)时,则不会发送缓存请求。相较于不考虑任何条件直接触发所有的边缘服务器发送缓存请求,即减轻了整个内容分发网络中网络节点的负载压力,又能够更快响应终端用户的需求,且不会造成资源浪费。
[0161] 在一些实施例中,在向至少部分边缘服务器发送缓存请求后,使得对应的边缘服务器预先缓存了媒体数据的原始数据。但在之后的某个时间段内,媒体数据的热度减少,终端用户针对媒体数据的请求数量变低,必然会使得边缘服务器针对媒体数据的回源次数减少,从而媒体数据的热度也会变化。由于媒体数据的回源信息是实时变化的,所以可以在某个时间段内根据变化后的回源信息,确定媒体数据的变化后的热度。
[0162] 当在一定时间段内边缘服务器针对媒体数据的回源次数减少时,则在这个时间段内根据变化后的回源信息,确定媒体数据变化后的热度也减小。媒体数据的热度减小可能会导致变化后的热度低于热度阈值,此时媒体数据的热度表征媒体数据不为热数据。而当媒体数据非热数据时,至少部分边缘服务器就没有了缓存媒体数据的必要。本申请实施例中,响应于变化后的热度表征媒体数据不为热数据,向至少部分边缘服务器发送缓存释放请求。其中,缓存释放请求用于指示至少部分边缘服务器清除媒体数据的缓存,即指示所有的边缘服务器卸载掉媒体数据的缓存,如此也节省了边缘服务器的存储资源。
[0163] 本申请实施例还提供一种数据处理方法,应用于边缘服务器。参见图3I,图3I是本申请实施例提供的数据处理方法的流程示意图,以图1中所示的边缘服务器500为执行主体,将结合图3I示出的步骤进行说明。
[0164] 在步骤107中,接收源服务器发送的针对媒体数据的缓存请求。
[0165] 在一些实施例中,当终端用户发送针对媒体数据的请求时,接收到终端用户的请求后就会从数据库中查询是否缓存有媒体数据,当确定数据库中未查询有媒体数据时,就会向源服务器发起请求下载媒体数据的请求。源服务器最终会向至少部分边缘服务器发送缓存请求,指示边缘服务器缓存媒体数据。所以此时可以接收源服务器发送的针对媒体数据的缓存请求,其中,缓存请求是源服务器确定边缘服务器未缓存媒体数据后,并基于媒体数据的热度生成的。
[0166] 在步骤108中,根据缓存请求预先缓存媒体数据。
[0167] 接收到源服务器的缓存请求之后,即可根据缓存请求预先缓存媒体数据。具体的,当接收到源服务器发送的针对媒体数据的缓存请求之后,同时也会接收源服务器发送的媒体数据的元数据,而媒体数据的元数据是源服务器从数据库查询媒体数据的源数据之后作为缓存请求发送的。根据接收到的媒体数据的元数据,从源服务器中预先下载并缓存媒体数据的原始数据,然后向终端用户返回以响应终端用户针对媒体数据的请求。当接收到终端用户针对媒体数据的再次请求时,可直接命中缓存。此时由于已缓存有媒体数据的元数据,于是将缓存的媒体数据的原始数据直接传输返回给终端用户,无需再向源服务器进行回源。由此可以提高缓存命中率,更快响应终端用户的请求,提升用户体验。
[0168] 下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
[0169] 在一些视频场景中,用户在终端的视频应用程序中每次点击一个视频或者在终端上输入视频的统一资源定位符(Uniform Resource Location,URL)地址,发起视频请求。服务器每次响应终端的视频请求,就会根据视频的URL地址,从本地缓存读取视频数据,若未从缓存中查询并读取到对应的视频数据,即命中缓存失败,则会从源服务器中下载视频数据返回或者直接向终端用户反馈视频请求失败的信息。但考虑到服务器响应速度和网络外界因素的影响,会使得视频数据的下载传输速度缓慢,而导致整个视频请求过程非常缓慢,用户体验不佳。
[0170] 相关技术中,通过使用CDN网络来下载视频,来加快终端的视频请求的响应过程。具体参见图4,图4是本申请实施例提供的CDN网络中传输视频过程的序列原理图,如图4所示,用户在终端的视频应用程序中点击视频或者在终端上输入视频的URL地址,发送视频下载请求。而用户的请求首先会被发送到本地域名系统(Domain Name System,DNS)服务器执行域名解析,本地DNS服务器响应终端的请求,会根据视频的URL地址中的域名进行域名解析,得到对应的CDN节点的互联网协议地址(Internet Protocol Address,IP),并作为边缘服务器IP地址返回到用户终端中。用户基于边缘服务器IP地址,利用CDN网络将用户的请求发送对应最近的边缘服务器来请求获取视频内容。边缘服务器会基于用户的地理位置、网络状况和CDN网络拓扑结构等因素条件,选择最优的边缘服务器来响应用户的请求。边缘服务器从数据库中进行查询视频内容,判断本地是否有缓存,若边缘服务器的本地没有缓存视频,边缘服务器会向源服务器发送回源请求,即回源服务器下载视频,来获取视频内容(视频的原始数据)。源服务器收到回源请求后,会从视频URL中的域名解析出源服务器IP地址,下载获取到视频数据后,再返回视频内容给边缘服务器。边缘服务器接收到源服务器发送的视频数据会,会记录本地缓存,也即将视频内容缓存到本地中,以便下次用户请求时可以命中缓存,直接返回视频内容给用户,加快视频下载速度和提高用户体验。边缘服务器记录本地缓存后,接下来向用户的终端返回视频内容,也即将视频内容传输给用户,用户就可以在终端的浏览器上观看视频。根据图4可见,边缘服务器是否有本地缓存对于视频传输过程中影响较大,在一些视频请求频繁的场景,如果响应每次视频请求时,边缘服务器都没有对应的视频缓存,即边缘服务器缓存命中率低,都需要向源服务器发送回源请求来获取视频数据,则会导致视频的回源次数很高,而针对这些回源次数高的视频,下载和传输速度会非常缓慢,影响用户体验。
[0171] 基于以上场景,本申请实施例提供一种视频的传输方法,通过在源服务器和边缘服务器之间设置一个热视频判断模块,也即热视频确定(Determine Hot)模块来收集源服务器上报的每个视频的回源情况,继而判断源服务器当前回源的视频是否属于热视频。当确定为热视频时,主动触发其他边缘服务器去缓存这个热视频。当后续不同的用户通过终端不断向CDN网络发起视频请求来下载视频时,可以直接在边缘服务器中命中缓存,向终端返回视频数据,由此提升边缘服务器的缓存命中率,提高视频的下载、传输速度和用户体验。
[0172] 具体的,参见图5,图5是本申请实施例提供的视频的传输方法的交互流程图,将结合图5所示的步骤来详细说明本申请实施例提供的视频的传输方法。
[0173] 在步骤501中,点击播放视频或者输入视频的URL地址。
[0174] 用户在终端浏览视频时,一般通过在终端应用程序中点击视频或者在终端上输入视频的URL地址,发送视频下载请求,来获取视频数据。
[0175] 在步骤502中,向本地DNS服务器发起视频请求。
[0176] 若终端本地缓存有视频数据,如用户在应用程序中已经下载了视频数据并存储在终端的内存中,则直接从终端获取视频数据并播放视频。若终端本地没有缓存的视频数据,则用户发送的视频下载请求一般会发送到本地的DNS服务器中。
[0177] 在步骤503中,对视频的URL地址进行域名解析。
[0178] 本地DNS服务器收到终端发送的用户请求,会对视频的URL地址进行域名解析,从而得到对应的CDN节点IP地址,也即边缘服务器的IP地址。
[0179] 在步骤504中,返回边缘服务器的IP地址。
[0180] 本地DNS服务器获取到边缘服务器的IP地址后,就会将边缘服务器的IP地址返回到终端中。
[0181] 在步骤505中,向边缘服务器请求视频内容。
[0182] 终端接收到本地DNF服务器的IP地址,就可以向边缘服务器请求获取视频内容,边缘服务器会根据终端用户的所在地理位置、网络状况以及CDN网络拓扑结果等因素条件,选择最优的边缘服务器来响应终端发送的视频内容请求。
[0183] 在步骤506中,判断本地是否有视频的缓存,如果判断结果为是,转入执行步骤507,如果判断结果为否,转入执行步骤508。
[0184] 边缘服务器响应终端发送的获取视频内容请求时,会到本地缓存进行查询,以此来判断本地是否缓存有用户所请求的视频数据,如果确定了本地已经缓存了用户所请求的视频数据,则执行步骤507,如果确定本地并未缓存有用户所请求的视频数据,则转入执行步骤508。
[0185] 在步骤507中,直接向终端返回视频内容。
[0186] 当边缘服务器从本地缓存中查询后,确定本地已经缓存了用户所请求的视频数据,则说明边缘服务器命中缓存,直接向终端的用户返回对应的视频内容。如此则加快了视频的下载、传输速度,提高了用户体验。
[0187] 在步骤508中,向源服务器请求下载视频内容。
[0188] 相应的,当边缘服务器从本地缓存中查询后,确定本地并未缓存有用户所请求的视频数据,则说明边缘服务器未命中缓存。此时边缘服务器为了响应用户在终端发起的视频内容请求,从源服务器中请求下载并获取对应的视频内容。
[0189] 在步骤509中,根据视频的URL地址解析源服务器IP地址,并下载视频内容。
[0190] 源服务器是视频数据的来源,也即视频的资源库,其中必然存储有对应视频的元数据。当边缘服务器向源服务器请求下载对应的视频内容时,会根据视频的URL地址进行域名解析,得到源服务器IP地址,然后下载或者获取视频内容,以返回给边缘服务器。
[0191] 在步骤510中,上报当前视频的回源情况。
[0192] 源服务器获取到对应的视频数据后,会向热数据判断模块异步上传当前视频的回源情况,即针对该视频的请求次数和频率。
[0193] 在步骤511中,向边缘服务器返回视频内容。
[0194] 当源服务器向热数据判断模块异步上报当前视频的回源情况时,此时仍会向边缘服务器返回对应的视频内容,以响应用户的在终端发起的视频内容请求。
[0195] 在步骤512中,判断当前视频是否为热视频,如果判断结果为是,转入执行步骤514,如果判断结果为否,转入执行步骤513。
[0196] 热视频判断模块收到源服务器上传的当前视频的回源情况后,会根据回源情况实时判断当前视频是否为热视频。这里根据视频的回源次数来判断当前视频是否为热视频,视频的回源次数是指向源服务器请求获取该视频的请求次数。如果一个视频的回源次数很高,则说明视频被较多的用户请求,很可能是热门视频。反之,如果一个视频的回源次数很低,说明该视频被较少的用户请求,很可能不是热门视频。
[0197] 本申请实施例中根据视频的回源次数来判断当前视频是否为热视频,具体的判断条件有以下五点:
[0198] (1)视频在一定时间内的回源次数超过一定阈值,例如在过去的1小时内,某个视频的回源次数超过100次,可以判断该视频为热门视频。
[0199] (2)视频在一定时间内回源次数的增长速度超过一定阈值,例如在过去的1小时内,某个视频的回源次数增长速度超过10%,可以判断该视频为热门视频。
[0200] (3)视频在一定时间内回源次数占总请求次数的比例超过一定阈值,例如在过去的1小时内,某个视频的回源次数占总视频请求次数的比例超过50%,可以判断该视频为热门视频。
[0201] (4)视频在一定时间内回源次数超过平均值的一定倍数,例如在过去的1小时内,某个视频的回源次数超过该视频过去24小时回源次数的平均值的2倍,可以判断该视频为热门视频。
[0202] (5)视频在一定时间内的回源次数超过一定百分比的边缘节点,例如在过去的1小时内,某个视频的回源次数超过了CDN网络中80%的边缘节点的回源次数,可以判断该视频为热门视频。
[0203] 若当前视频满足以上五个判断条件的至少之一,即确定当前视频是热视频,则转入执行步骤514,如果以上五个判断条件都不满足,则确定当前视频并非热视频,转入执行步骤513。
[0204] 在步骤513中,无需向其他边缘服务器发起缓存请求。
[0205] 当判断当前视频并非热视频时,说明当前视频的回源次数少,边缘服务器中可能已经缓存有当前视频的数据,则无需向其他边缘服务器发起针对当前视频的缓存请求。
[0206] 在步骤514中,触发其他边缘服务器主动缓存热视频。
[0207] 当判断当前视频是热视频时,当前视频的回源次数高,而边缘服务器中并未缓存有当前视频的数据。当前视频的回源次数高也说明了终端用户的视频请求次数频繁,则需要在边缘服务器缓存当前视频的数据。此时热视频判断模块就会触发其他边缘服务器主动缓存热视频的视频数据,也即触发其他的边缘服务器都主动缓存热视频的视频数据。
[0208] 在步骤515中,主动缓存热视频的元数据。
[0209] 其他边缘服务器(即所有的边缘服务器)收到热视频判断模块触发的主动缓存热视频的请求时,所有的边缘服务器就都会主动缓存热视频的元数据,元数据用于指示边缘服务器预先缓存视频内容,并存放在边缘服务器本地存储中。
[0210] 由于用户在终端发起的下载视频的请求是一致的,只是视频的元数据不同(即请求的视频不同)。如果边缘服务器没有对应视频数据就会进行回源(即从源服务器下载获取),回源之后就会执行缓存,从而达到缓存视频的目的。如果边缘服务器有对应视频数据的缓存,则向终端的用户直接返回对应视频的元数据,无需进行回源。此外,边缘服务器不需要进行二次开发(即开发单独的缓存视频接口),直接复用现有视频下载接口即可。考虑到元数据消耗的带宽可以忽略不计,只请求元数据而不是请求完整视频内容可以节省视频下载和传输所消耗的带宽,提高边缘服务器下载和传输视频数据的速度。
[0211] 在步骤516中,向终端返回视频内容。
[0212] 所有的边缘服务器主动缓存对应热视频的元数据后,当接收到不同终端的用户发起的针对热视频的再次请求时,直接选择最优的边缘服务器并命中缓存,从最优边缘服务器的本地缓存中查询到热视频的元数据并下载传输,向对应的终端返回热视频的视频内容。
[0213] 通过本申请实施例,在CDN网络的架构中新增一个热视频判断模块,当边缘服务器响应终端用户的视频请求,且边缘服务器本地未缓存有当前视频的数据并向对应的源服务器进行回源时,通过源服务器上报的当前视频数据的回源次数,来实时判断当前视频是否为热视频,当确定当前视频为热视频时,触发所有的边缘服务器主动缓存当前视频的元数据,以及时响应不同的终端用户针对当前视频的再次请求,可以极大提升热视频的缓存命中率,提升视频下载速度,从而提升用户体验。
[0214] 下面继续说明本申请实施例提供的数据处理装置453的实施为软件模块的示例性结构,在一些实施例中,如图2A所示,存储在存储器450中的数据处理装置453中的软件模块可以包括:获取模块4531,用于响应于至少一个边缘服务器未缓存媒体数据,获取媒体数据的回源信息;确定模块4532,用于基于媒体数据的回源信息,确定媒体数据的热度;发送模块4533,用于响应于媒体数据的热度表征媒体数据为热数据,向至少部分边缘服务器发送缓存请求,其中,缓存请求用于指示至少部分边缘服务器预先缓存媒体数据。
[0215] 在一些实施例中,确定模块4532,还用于根据媒体数据的回源信息,确定媒体数据的至少一个回源参数;基于至少一个回源参数,确定媒体数据的热度;
[0216] 其中,回源参数为以下之一:媒体数据在预设时间段内的回源次数;在预设时间段内回源次数的增长速度值;在预设时间段内回源次数占对应边缘服务器的回源请求总数的比例值;在预设时间段内回源次数超过回源次数平均值的倍数值;在预设时间段内回源次数占对应边缘服务器回源次数总数的百分比。
[0217] 在一些实施例中,确定模块4532,还用于当媒体数据的回源参数为一个时,对回源参数进行映射处理,得到媒体数据的热度;当媒体数据的回源参数为多个时,针对每个回源参数分别进行映射处理,得到多个映射值,并将多个映射值的加和作为媒体数据的热度。
[0218] 在一些实施例中,确定模块4532,还用于基于媒体数据的回源信息,获取媒体数据的原始数据;对媒体数据的原始数据进行特征提取处理,得到原始数据的热度特征;对热度特征进行预测处理,得到媒体数据的热度。
[0219] 在一些实施例中,发送模块4533,还用于从数据库查询媒体数据的元数据;
[0220] 向至少部分边缘服务器发送元数据,其中,元数据用于指示至少部分边缘服务器预先缓存媒体数据的原始数据。
[0221] 在一些实施例中,发送模块4533,还用于根据源服务器所在内容分发网络的拓扑结构,确定内容分发网络中与源服务器建立通信的多个边缘服务器;从多个边缘服务器中确定出至少部分边缘服务器。
[0222] 在一些实施例中,发送模块4533,还用于确定每个边缘服务器与源服务器建立通信的通信距离;当通信距离不小于距离阈值时,将边缘服务器确定为至少部分边缘服务器。
[0223] 在一些实施例中,发送模块4533,还用于针对每个边缘服务器执行以下处理:获取媒体数据集合,其中,媒体数据集合是边缘服务器中执行过回源的媒体数据的集合;对媒体数据集合进行特征提取处理,得到媒体数据集合的回源特征;基于媒体数据对回源特征进行映射处理,得到边缘服务器针对媒体数据的回源概率;当回源概率大于概率阈值,将边缘服务器确定为至少部分边缘服务器。
[0224] 在一些实施例中,发送模块4533,还用于当媒体数据的回源信息发生变化时,根据变化后的回源信息,确定媒体数据变化后的热度;响应于变化后的热度表征媒体数据不为热数据,向至少部分边缘服务器发送缓存释放请求,其中,缓存释放请求用于指示至少部分边缘服务器清除媒体数据的缓存。
[0225] 在一些实施例中,如图2B所示,存储在存储器550中的数据处理装置553中的软件模块可以包括:接收模块5531,接收源服务器发送的针对媒体数据的缓存请求,其中,缓存请求是源服务器确定边缘服务器未缓存媒体数据后,并基于媒体数据的热度生成的;缓存模块5532,用于根据缓存请求预先缓存媒体数据。
[0226] 本申请实施例提供了一种计算机程序产品,该计算机程序产品包括计算机程序或计算机可执行指令,该计算机程序或计算机可执行指令存储在计算机可读存储介质中。电子设备的处理器从计算机可读存储介质读取该计算机可执行指令,处理器执行该计算机可执行指令,使得该电子设备执行本申请实施例上述的数据处理方法。
[0227] 本申请实施例提供一种存储有计算机可执行指令的计算机可读存储介质,其中存储有计算机可执行指令或者计算机程序,当计算机可执行指令或者计算机程序被处理器执行时,将引起处理器执行本申请实施例提供的数据处理方法,例如,如图3A至图3H示出的数据处理方法或者如图3I示出的数据处理方法。
[0228] 在一些实施例中,计算机可读存储介质可以是RAM、ROM、闪存、磁表面存储器、光盘、或CD‑ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0229] 在一些实施例中,计算机可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0230] 作为示例,计算机可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(Hyper Text Markup Language,HTML)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0231] 作为示例,计算机可执行指令可被部署为在一个电子设备上执行,或者在位于一个地点的多个电子设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个电子设备上执行。
[0232] 综上所述,通过本申请实施例,在边缘服务器未缓存媒体数据时,通过媒体数据的回源信息来确定媒体数据的热度,当媒体数据的热度较大时,向部分边缘服务器发起缓存媒体数据的请求,以使部分边缘服务器缓存媒体数据。在媒体数据众多以及数据请求频繁时,通过媒体数据的热度触发边缘服务器都缓存媒体数据,使得针对媒体数据的请求更容易命中边缘服务器的缓存,提高边缘服务器的缓存命中率。从而在响应针对媒体数据的请求时,加快媒体数据的下载与传输速度,更快地响应请求。此外,当确定媒体数据为热数据时,另一方面向部分边缘服务器发送媒体数据的元数据,以使边缘服务器缓存媒体数据的原始数据。从而终端用户发起的媒体数据的请求更容易命中边缘服务器的缓存,减少边缘服务器的回源次数。另一方面向边缘服务器返回的是媒体数据的元数据并非媒体数据的原始数据,而元数据内存小,可以减少发送过程中消耗的网络资源,减轻内容分发网络中网络节点数据传输的带宽压力。
[0233] 以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。