一种预推内容管理方法、装置及计算机设备
文献发布时间:2023-06-19 09:36:59
技术领域
本发明涉及计算机技术领域,特别涉及一种预推内容管理方法、装置及计算机设备。
背景技术
CDN(Content Delivery Network,内容分发网络)是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户从就近的边缘服务器获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
然而,CDN带宽的成本较高,为了节省CDN带宽并在CDN带宽不足以支撑用户请求的情况下改善用户体验,相关技术中出现了基于APP客户端、路由器、交换机等边缘节点的内容分发方法,区别于CDN内容分发方法中通过边缘服务器向用户提供所需数据,该边缘节点内容分发方法提前将预推内容从CDN转移到边缘节点,后续从边缘节点响应用户的内容请求,由边缘节点向用户提供所需的数据,从而达到节省CDN带宽和改善用户体验的效果。
相关技术中,对于存储在边缘节点的预推内容的更新主要由边缘节点的可用存储空间来触发,即可用存储空间足够时才进行更新,当可用存储空间不足时不进行更新,无法实现对边缘节点的上行带宽的最大化利用,造成了带宽资源的浪费。
发明内容
为了解决现有技术的问题,本发明实施例提供了一种预推内容管理方法、装置及计算机设备。所述技术方案如下:
一方面,提供了一种预推内容管理方法,应用于边缘节点,所述方法包括:
每隔预设时间间隔,确定指定存储空间中的预推内容与用户请求的内容之间的匹配度;
在所述匹配度满足预设条件时,从预推服务器获取预推内容列表;所述预推内容列表包括预推内容标识;
从内容分发网络获取并存储与所述预推内容标识相匹配的预推内容。
可选的,所述在所述匹配度满足预设条件时,从预推服务器获取预推内容列表包括:
将所述匹配度发送给预推服务器,以使所述预推服务器判断所述匹配度是否满足预设条件,并在判断的结果为是时返回预推内容列表;
接收所述预推服务器返回的所述预推内容列表。
可选的,所述在所述匹配度满足预设条件时,从预推服务器获取预推内容列表包括:
判断所述匹配度是否满足预设条件;
在判断的结果为是时,向预推服务器发送预推内容获取请求,以使所述预推服务器根据所述预推内容获取请求返回预推内容列表;
接收所述预推服务器返回的所述预推内容列表。
另一方面,提供了一种预推内容管理装置,应用于边缘节点,所述装置包括:
第一确定模块,用于每隔预设时间间隔,确定指定存储空间中的预推内容与用户请求的内容之间的匹配度;
第一获取模块,用于在所述匹配度满足预设条件时,从预推服务器获取预推内容列表;所述预推内容列表包括预推内容标识;
第二获取模块,用于从内容分发网络获取并存储与所述预推内容标识相匹配的预推内容。
可选的,所述第一获取模块包括:
第一发送模块,用于将所述匹配度发送给预推服务器,以使所述预推服务器判断所述匹配度是否满足预设条件,并在判断的结果为是时返回预推内容列表;
第一接收模块,用于接收所述预推服务器返回的所述预推内容列表。
可选的,所述第一获取模块包括:
第一判断模块,用于判断所述匹配度是否满足预设条件;
第二发送模块,用于在所述第一判断模块的判断的结果为是时,向预推服务器发送预推内容获取请求,以使所述预推服务器根据所述预推内容获取请求返回预推内容列表;
第二接收模块,用于接收所述预推服务器返回的所述预推内容列表。
可选的,所述第二获取模块包括:
选取模块,用于从所述预推内容列表的预推内容标识中选取目标预推内容标识,所述目标预推内容标识为在所述指定存储空间中未匹配到预推内容的所述预推内容标识;
第三获取模块,用于从内容分发网络获取并存储与所述目标预推内容标识相匹配的目标预推内容。
可选的,所述第三获取模块包括:
第二确定模块,用于确定所述目标预推内容标识所对应的目标预推内容的总数据容量;
第二判断模块,用于判断指定存储空间的剩余存储空间是否与所述总数据容量相匹配;
第一回收模块,用于在第二判断模块的判断的结果为否时,对所述指定存储空间中的预推内容所占用的存储空间进行回收;
第四获取模块,用于根据所述剩余存储空间和回收的存储空间,从内容分发网络获取并存储所述目标预推内容。
可选的,所述第一回收模块包括:
第三确定模块,用于确定所述指定存储空间中的超期预推内容;所述超期预推内容包括在所述指定存储空间中的存储时长超过预设时长的预推内容;
第四确定模块,用于确定所述超期预推内容所占用的存储空间与所述剩余存储空间的和值,得到第一存储空间容量;
第三判断模块,用于判断所述第一存储空间容量是否与所述总数据容量相匹配;
第一回收子模块,用于在第三判断模块的判断的结果为是时,对所述超期预推内容所占用的存储空间进行回收。
可选的,所述第一回收模块还包括:
第四判断模块,用于在所述第一存储空间容量与所述总数据容量不匹配时,判断是否对所述指定存储空间中的未超期预推内容设置了保护模式;所述未超期预推内容包括在所述指定存储空间中的存储时长未超过预设时长的预推内容;
第二回收子模块,用于在第四判断模块的判断的结果为否时,依次对所述超期预推内容所占用的存储空间和所述未超期预推内容所占用的存储空间进行回收。
可选的,所述第一回收模块还包括:
第三回收子模块,用于在判断的结果为对所述指定存储空间中的未超期预推内容设置了保护模式时,对所述超期预推内容所占用的存储空间进行回收。
可选的,所述第一回收子模块、第二回收子模块和第三回收子模块包括:
第五确定模块,用于确定每个所述超期预推内容对所述匹配度的第一贡献值;
第六确定模块,用于根据所述第一贡献值,确定所述超期预推内容的淘汰优先级;
第一优先级回收模块,用于根据所述超期预推内容的淘汰优先级,对所述超期预推内容所占用的存储空间进行回收。
可选的,所述第二回收子模块还包括:
第七确定模块,用于确定所述总数据容量与所述第一存储空间容量的差值,得到待回收存储空间容量;
第八确定模块,用于确定每个所述未超期预推内容对所述匹配度的第二贡献值;
第九确定模块,用于根据所述第二贡献值,确定所述未超期预推内容的淘汰优先级;
第二优先级回收模块,用于根据所述未超期预推内容的淘汰优先级,对所述未超期预推内容所占用的存储空间进行回收,直至回收的存储空间容量与所述待回收存储空间容量相匹配。
另一方面,提供了一种计算机设备,包括处理器和存储器,所述存储器中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由所述处理器加载并执行以实现上述预推内容管理方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条指令、至少一段程序、代码集或指令集,所述至少一条指令、所述至少一段程序、所述代码集或指令集由处理器加载并执行以实现如上述的预推内容管理方法。
本发明实施例的边缘节点通过确定指定存储空间中的预推内容与用户请求的内容之间的匹配度,并在该匹配度满足预设条件时从预推服务器获取预推内容列表,然后从内容分发网络获取并存储与预推内容列表中预推内容标识相匹配的预推内容,从而实现由指定存储空间中的预推内容与用户请求的内容之间的匹配程度触发的预推内容的更新,能够最大化利用边缘节点的上行带宽,提高了带宽资源的利用率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种实施环境的示意图;
图2是本发明实施例提供的一种预推内容管理方法的流程示意图;
图3是本发明实施例提供的测量边缘节点上行带宽的一种流程示意图;
图4是本发明实施例提供的从内容分发网络获取并存储与目标预推内容标识相匹配的目标预推内容的一种流程示意图;
图5是本发明实施例提供的对指定存储空间中的预推内容所占用的存储空间进行回收的一种流程示意图;
图6是本发明实施例提供的对未超期预推内容所占用的存储空间进行回收的一种流程示意图;
图7是本发明实施例提供的一种预推内容管理装置的结构示意图;
图8是本发明实施例提供的一种计算机设备的硬件结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或服务器不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,其所示为本发明实施例提供的一种实施环境示意图,该实施环境可以包括内容分发网络CDN 110、预推服务器120和边缘节点130。
其中,内容分发网络CDN 110是在互联网上构建的分布式服务器系统,其可以接收用户的内容请求,并通过分发平台将用户的内容请求转移到边缘节点130。内容分发网络CDN 110还可以存储用户所请求的各种内容,该内容可以包括多媒体内容,如音频、视频等等。
预推服务器120可以是提供预推内容列表服务的服务器,在本说明书实施例中,预推内容是指缓存在边缘节点130中待分发给用户的内容。预推服务器120可以是一个独立运行的服务器,也可以是由多个服务器组成的服务器集群。
边缘节点130可以是向用户推送数据的终端设备,该终端设备可以但不限于包括客户端131、路由器132、交换机133等等,其中,客户端可以是智能手机、台式电脑、平板电脑、笔记本电脑等具有各种操作系统的硬件设备,也可以是配置在上述硬件设备中的软件,如应用程序。一个边缘节点可以对应多个用户,向该多个用户发送预推内容即向该多个用户提供数据上传。
边缘节点130可以通过网络与内容分发网络CDN110和预推服务器120通信,该网络可以是有线网络或者无线网络。
请参阅图2,其所示为本发明实施例提供的一种预推内容管理方法的流程示意图,该方法可以应用于图1中的边缘节点。需要说明的是,本说明书提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的系统或产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。具体的如图2所示,所述方法可以包括:
S201,确定指定存储空间中的预推内容与用户请求的内容之间的匹配度。
其中,指定存储空间可以是边缘节点本地用于存储预推内容的缓存空间。实际应用中,边缘节点可以每隔预设时间间隔计算能够反映指定存储空间中预推内容与用户请求的内容之间的匹配度的指标,通过该指标来表征二者的匹配度,该指标可以是边缘节点的上行带宽占比或者边缘节点最近一段时间接收到的单位时间用户请求数等等。
在一个具体的实施例中,采用边缘节点的上行带宽占比来表征指定存储空间中的预推内容与用户请求的内容之间的匹配度。其中,边缘节点的上行带宽占比为边缘节点的上行带宽与总上行吞吐率的比值,如下公式(1)所示:
其中,BW表示边缘节点的上行带宽;TO表示边缘节点的总上行吞吐率。
具体的,边缘节点的上行带宽BW是指边缘节点能够提供的最大上行吞吐率,一般由网络运营商决定,单位可以是bps(bits per second,比特率);边缘节点的总上行吞吐率TO是指边缘节点实际向用户传输数据时的数据传输速率,一般不超过边缘节点的上行带宽,单位可以是bps(bits per second,比特率)。
对于边缘节点的上行带宽BW,可以通过测量边缘节点的物理硬件在允许的条件下能够提供的最大上传。这个最大上传可能会受网卡、CPU(CentralProcessing Unit,中央处理器)、运营商上行的限制。在一个具体的实施例中,如图3所示,可以部署带宽测量服务器,由边缘节点周期性的向带宽测量服务器发送特定的数据量S,带宽测量服务器统计该数据量S的接收时间T,计算数据量S与接收时间T的比值S/T,并将该比值S/T作为边缘节点的上行带宽BW返回给边缘节点,边缘节点根据带宽测量服务器返回的测量结果更新上行带宽BW的值。
对于边缘节点的总上行吞吐率,可以由边缘节点对预设时间周期内的所有上传数据对象的数据传输速率进行累加得到。需要说明的是,在本说明书实施例中,上行指的是边缘节点向用户传输数据,上传数据对象指的是边缘节点向用户传输的数据对象。
S203,在所述匹配度满足预设条件时,从预推服务器获取预推内容列表;所述预推内容列表包括预推内容标识。
在本说明书实施例中,预设条件用于表征未实现对边缘节点的上行带宽的最大化利用,其可以根据表征匹配度的指标进行设置,例如,当采用上行带宽占比表征匹配度时,该预设条件可以是小于预设上行带宽占比,即实际计算的上行带宽占比小于预设上行带宽占比时,表明当前未实现对边缘节点的上行带宽的最大化利用,认为所述匹配度满足预设条件,可以从预推服务器获取预推内容列表。
实际应用中,上述在匹配度满足预设条件时从预推服务器获取预推内容列表包括以下方式至少之一:
方式一:边缘节点将匹配度发送给预推服务器,以使预推服务器判断该匹配度是否满足预设条件,并在判断的结果为是时返回预推内容列表;相应的,边缘节点接收预推服务器返回的预推内容列表。以上行带宽占比R表征匹配度为例,边缘节点将按照预设时间间隔计算的上行带宽占比R发送给预推服务器,预推服务器接收该上行带宽占比R,并判断该上行带宽占比R是否小于预设上行带宽占比R′,当判断的结果为该上行带宽占比R小于预设上行带宽占比R′时,预推服务器向边缘节点返回预推内容列表,边缘节点则接收预推服务器返回的该预推内容列表。
方式二:边缘节点在计算出上行带宽占比R之后,判断该上行带宽占比R是否满足预设条件;在判断的结果为是时,向预推服务器发送预推内容获取请求,以使预推服务器根据该预推内容获取请求返回预推内容列表;相应的,边缘节点接收预推服务器返回的该预推内容列表。以上行带宽占比R表征匹配度为例,边缘节点在计算出上行带宽占比R之后,判断该上行带宽占比R是否小于预设上行带宽占比R′,当判断的结果为该上行带宽占比R小于预设上行带宽占比R′时,边缘节点向预推服务器发送预推内容获取请求,预推服务器接收该预推内容获取请求,并根据该预推内容获取请求向边缘节点返回预推内容列表,边缘节点接收预推服务器返回的预推内容列表。
在本说明书实施例中,预推服务器返回的预推内容列表包括预推内容标识,该预推内容标识用于唯一标识一个预推内容。实际应用中,预推服务器可以统计最近各个内容的请求量,并根据请求量靠前的内容所对应的内容标识生成预推内容列表。例如,预推服务器可以统计前一天各个视频的播放量,并根据播放量排在前的N个视频所对应的视频标识生成预推内容列表。
可以理解的,预推内容列表中还可以包括预推内容标识所对应预推内容的属性信息,该属性信息可以但不限于包括预推内容的大小、预推内容在CDN中的缓存地址等等。
S205,从内容分发网络获取并存储与所述预推内容标识相匹配的预推内容。
具体的,边缘节点在接收到预推服务器返回的预推内容列表后,可以根据该预推内容列表从内容分发网络中下载并存储预推内容列表中预推内容标识所对应的预推内容。
在一个具体的实施例中,边缘节点可以从预推内容列表的预推内容标识中选取目标预推内容标识,该目标预推内容标识为在边缘节点的指定存储空间中未匹配到预推内容的预推内容标识;边缘节点从内容分发网络获取并存储与该目标预推内容标识相匹配的目标预推内容,从而可以避免对本地已有的预推内容的重复下载。也即,边缘节点可以根据指定存储空间中已有的预推内容生成已有预推内容列表,该已有预推内容列表包括指定存储空间中已有预推内容的预推内容标识。边缘节点在接收到预推服务器返回的预推内容列表之后,将预推内容列表中的预推内容标识与已有预推内容列表中的预推内容标识相比对,并将已有预推内容列表中的预推内容标识从预推内容列表中剔除,从而得到目标预推内容列表,该目标预推内容列表包括指定存储空间没有的预推内容的预推内容标识即目标预推内容标识,从而后续仅从内容分发网络下载并存储该目标预推内容标识所对应的目标预推内容。
实际应用中,还可以对目标预推内容列表中目标预推内容标识的数量进行设置,例如设置目标预推内容标识的数量为M个,后续仅从内容分发网络获取并存储该M个目标预推内容标识所对应的目标预推内容。
通过本发明实施的上述方案可以对总上行吞吐率不够好的边缘节点中的预推内容进行及时更新调整,直至该边缘节点的总上行吞吐率足够好,最终使得所有的边缘节点都能获得足够好的上行吞吐率,达到各个边缘节点的上行带宽的最大化利用。
在本说明书实施例中,可以采用图4中的方法实现所述从内容分发网络获取并存储与所述目标预推内容标识相匹配的目标预推内容,如图4所示,该方法可以包括:
S401,确定所述目标预推内容标识所对应的目标预推内容的总数据容量。
具体的,边缘节点可以计算目标预推内容标识所对应目标预推内容的大小的和值,从而得到目标预推内容标识所对应的目标预推内容的总数据容量。
S403,判断指定存储空间的剩余存储空间是否与所述总数据容量相匹配,在判断的结果为否时,执行步骤S405至407;在判断的结果为是时,执行步骤S409。
在本说明书实施例中,边缘节点可以根据指定存储空间中已有预推内容的大小确定该指定存储空间已经被占用的存储空间容量,并计算该指定存储空间的总容量与已经被占用的存储空间容量的差值,从而得到该指定存储空间中未被占用的存储空间容量即剩余存储空间,并进一步判断该剩余存储空间与上述总数据容量是否相匹配。
具体的,当剩余存储空间的容量大于或者等于上述总数据容量时,确定剩余存储空间与上述总数据容量相匹配;反之,当剩余存储空间的容量小于上述总数据容量时,确定剩余存储空间与上述总数据容量不匹配。
S405,对所述指定存储空间中的预推内容所占用的存储空间进行回收。
具体的,当剩余存储空间的容量小于上述总数据容量时,可以对指定存储空间中的已有预推内容进行删除,以对已有预推内容所占用的存储空间进行回收。
实际应用中,可以按照指定存储空间中预推内容的存活时间戳来进行预推内容所占用存储空间的回收,也即在进行存储空间回收时,根据各预推内容的存活时间戳判断该预推内容是否到期,若到期则删除该预推内容回收其占用的存储空间。其中,存储时间戳可以根据每个预推内容对应的预设生命周期进行确定,该预设生命周期可以根据需要进行设定,例如可以设定为7天,边缘节点根据预设生命周期为相应的预推内容设定一个“存活时间戳”。
显然,上述基于预推内容的存活时间戳来进行预推内容所占用存储空间的回收方式中存在以下缺陷:当预推内容成为冷门内容(即热度小于一定热度阈值的内容)时,由于其预设生命周期过长,将无法回收其占据的存储空间;当预推内容为热门内容(即热度达到一定热度阈值的内容)时,由于其预设生命周期过短,将被删除以回收其占据的存储空间。为了有效避免冷门内容因为生命周期过长无法回收其占用的存储空间,以及有效避免热门内容因为生命周期过短到期被删除,本说明书实施例中,可以采用图5中的方法实现对所述指定存储空间中的预推内容所占用的存储空间进行回收,如图5所示,该方法可以包括:
S501,确定所述指定存储空间中的超期预推内容;所述超期预推内容包括在所述指定存储空间中的存储时长超过预设时长的预推内容。
在本说明书实施例中,预推服务器返回的预推内容列表中,预推内容标识所对应的预推内容的属性信息还可以包括该预推内容的保护周期,例如保护周期为H小时。边缘节点可以记录指定存储空间中每个已有预推内容的存储时长,并将存储时长与该已有预推内容的保护周期进行比对,当存储时长超过保护周期时,确定该已有预推内容为超期预推内容。反之,当存储时长未超过保护周期时,确定该已有预推内容为未超期预推内容。
S503,确定所述超期预推内容所占用的存储空间与所述剩余存储空间的和值,得到第一存储空间容量。
边缘节点可以统计指定存储空间中所有超期预推内容所占用的存储空间的容量,并计算所有超期预推内容所占用的存储空间的容量与剩余存储空间的容量的和值,得到第一存储空间容量。
S505,判断所述第一存储空间容量是否与所述总数据容量相匹配,在判断的结果为是时,执行步骤S507;否则,执行步骤S509至步骤S511。
具体的,边缘节点判断第一存储空间容量是否大于或者等于上述目标预推内容的总数据容量,若第一存储空间容量大于或者等于上述目标预推内容的总数据容量,则确定第一存储空间容量与所述总数据容量相匹配;反之,若第一存储空间容量小于上述目标预推内容的总数据容量,则确定第一存储空间容量与所述总数据容量不匹配。
S507,对所述超期预推内容所占用的存储空间进行回收。
具体的,当第一存储空间容量与目标预推内容的总数据量相匹配时,表明第一存储空间容量可以容纳目标预推内容,此时可以删除超期预推内容以回收超期预推内容所占用的存储空间。
实际应用中,在对超期预推内容所占用的存储空间进行回收时,可以包括以下两种情况:
第一种情况:第一存储空间容量等于上述目标预推内容的总数据容量,也就是说,所有超期预推内容所占用的存储空间与剩余存储空间恰好能够容纳目标预推内容,此时需要将所有超期预推内容都删除以回收所有超期预推内容所占用的存储空间,由于所有超期预推内容都将被删除,故在删除时考虑淘汰的优先级无意义,可以一次性全部删除所有超期预推内容,或者随机删除,或者按照其它方式进行删除,在该种情况下不做任何限制。
第二种情况:第一存储空间容量大于上述目标预推内容的总数据容量,在这种情况下无需将所有超期预推内容都删除,此时可以考虑根据超期预推内容的淘汰优先级进行超期预推内容所占用的存储空间的回收。
在一个具体的实施例中,边缘节点确定每个超期预推内容对所述匹配度的第一贡献值。具体的,针对每个超期预推内容,边缘节点可以对预设时间周期内的该超期预推内容的上行数据率进行累加,得到对应于每个超期预推内容的个体资源上行吞吐率,计算该个体资源上行吞吐率与总上行吞吐率的比值,从而得到每个超期预推内容对上行带宽占比的第一贡献值。
边缘节点根据上述的第一贡献值,确定超期预推内容的淘汰优先级。具体的,第一贡献值越小,表明相应的超期预推内容越冷门,其淘汰优先级越高;反之,第一贡献值越大,表明相应的超期预推内容越热门,其淘汰优先级越低。
边缘节点根据超期预推内容的淘汰优先级,对所述超期预推内容所占用的存储空间进行回收。具体的,边缘节点可以根据淘汰优先级由高至低对超期预推内容进行删除以回收占用的存储空间,直至回收的存储空间与剩余存储空间之和能够容纳目标预推内容时停止对超期预推内容的删除。
S509,在所述第一存储空间容量与所述总数据容量不匹配时,判断是否对所述指定存储空间中的未超期预推内容设置了保护模式,在判断的结果为否时,执行步骤S511;否则,执行步骤S507。
其中,所述未超期预推内容包括在所述指定存储空间中的存储时长未超过预设时长的预推内容。保护模式用于实现对指定存储空间中处于保护周期内的预推内容进行强制保留,不允许对其进行删除。
在本说明书实施例中,当第一存储空间容量与上述目标预推内容的总数据容量不匹配时,表明仅仅回收超期预推内容所占用的存储空间仍然不足以容纳目标预推内容,此时可以考虑回收未超期预推内容所占用的存储空间。而是否能够对未超期预推内容所占用的存储空间进行回收需要考虑未超期预推内容是否设置了保护模式。若边缘节点对未超期预推内容设置了保护模式,则表明在保护周期内的预推内容不能被删除以回收其所占用的存储空间;若边缘节点未对未超期预推内容设置保护模式,则表明没有对处于保护周期内的预推内容进行强制保护,满足条件时可以对其进行删除。
S511,依次对所述超期预推内容所占用的存储空间和所述未超期预推内容所占用的存储空间进行回收。
其中,对于超期预推内容所占用的存储空间的回收可以一次性全部删除所有超期预推内容,或者随机删除、或者按照其它方式进行删除直至回收所有超期预推内容所占用的存储空间。
对于未超期预推内容所占用的存储空间的回收可以采用图6中的方法,如图6所示,该方法可以包括:
S601,确定所述总数据容量与所述第一存储空间容量的差值,得到待回收存储空间容量。
S603,确定每个所述未超期预推内容对所述匹配度的第二贡献值。
具体的,针对每个未超期预推内容,边缘节点可以对预设时间周期内的该未超期预推内容的上行数据率进行累加,得到对应于每个未超期预推内容的个体资源上行吞吐率,计算该个体资源上行吞吐率与总上行吞吐率的比值,从而得到每个未超期预推内容对上行带宽占比的第二贡献值。
S605,根据所述第二贡献值,确定所述未超期预推内容的淘汰优先级。
具体的,第二贡献值越小,表明相应的未超期预推内容越冷门,其淘汰优先级越高;反之,第二贡献值越大,表明相应的超期预推内容越热门,其淘汰优先级越低。
S607,根据所述未超期预推内容的淘汰优先级,对所述未超期预推内容所占用的存储空间进行回收,直至回收的存储空间容量与所述待回收存储空间容量相匹配。
具体的,边缘节点可以根据淘汰优先级由高至低对未超期预推内容进行删除以回收占用的存储空间,直至回收的存储空间容量与所述待回收存储空间容量相匹配时停止对未超期预推内容的删除。
S513,在判断的结果为对所述指定存储空间中的未超期预推内容设置了保护模式时,对所述超期预推内容所占用的存储空间进行回收。
在本说明书实施例中,若边缘节点对未超期预推内容设置了保护模式,则表明在保护周期内的预推内容不能被删除以回收其所占用的存储空间,只能对超期预推内容所占用的存储空间进行回收,此时可以一次性全部删除所有超期预推内容,或者随机删除、或者按照其它方式进行删除直至回收所有超期预推内容所占用的存储空间。后续按照实际回收的存储空间和剩余存储空间进行目标预推内容的下载,也就是说此时只能下载与实际回收的存储空间和剩余存储空间(即第一存储空间容量)相匹配的数据容量的目标预推内容。
S407,根据所述剩余存储空间和回收的存储空间,从内容分发网络获取并存储所述目标预推内容。
具体的,可以按照剩余存储空间和回收的存储空间的总容量从内容分发网络获取并存储目标预推内容。
S409,根据所述剩余存储空间,从内容分发网络获取并存储所述目标预推内容。
具体的,当剩余存储空间与总数据容量相匹配时,表明指定存储空间还有足够的剩余存储空间用于存储目标预推内容,此时直接获取目标预推内容并将该目标预推内容存储在该剩余存储空间即可。
由本发明的上述技术方案可见,本发明实施例的边缘节点通过确定指定存储空间中的预推内容与用户请求的内容之间的匹配度,并在该匹配度满足预设条件时从预推服务器获取预推内容列表,然后从内容分发网络获取并存储与预推内容列表中预推内容标识相匹配的预推内容,从而实现由指定存储空间中的预推内容与用户请求的内容之间的匹配程度(如上行带宽占比)触发的预推内容的更新,能够最大化利用边缘节点的上行带宽,提高了带宽资源的利用率。
此外,本发明实施例在进行预推内容所占用的存储空间的回收时基于预推内容对匹配度的贡献情况确定淘汰优先级,后续基于淘汰优先级进行相应预推内容所占用的存储空间的回收,从而有效的避免了冷门内容因为生命周期过长无法回收其占用的存储空间,以及有效的避免了热门内容因为生命周期过短到期被删除的问题。
与上述几种实施例提供的预推内容管理方法相对应,本发明实施例还提供一种预推内容管理装置,由于本发明实施例提供的预推内容管理装置与上述几种实施例提供的预推内容管理方法相对应,因此前述预推内容管理方法的实施方式也适用于本实施例提供的预推内容管理装置,在本实施例中不再详细描述。
请参阅图7,其所示为本发明实施例提供的一种预推内容管理装置的结构示意图,该装置具有实现上述方法实施例中预推内容管理方法的功能,所述功能可以由硬件实现,也可以由硬件执行相应的软件实现,该装置可以应用于边缘节点。如图7所示,该装置可以包括:
第一确定模块710,用于确定指定存储空间中的预推内容与用户请求的内容之间的匹配度;
第一获取模块720,用于在所述匹配度满足预设条件时,从预推服务器获取预推内容列表;所述预推内容列表包括预推内容标识;
第二获取模块730,用于从内容分发网络获取并存储与所述预推内容标识相匹配的预推内容。
在一些实施例中,第一获取模块720可以包括:
第一发送模块,用于将所述匹配度发送给预推服务器,以使所述预推服务器判断所述匹配度是否满足预设条件,并在判断的结果为是时返回预推内容列表;
第一接收模块,用于接收所述预推服务器返回的所述预推内容列表。
在另一些实施例中,第一获取模块720可以包括:
第一判断模块,用于判断所述匹配度是否满足预设条件;
第二发送模块,用于在所述第一判断模块的判断的结果为是时,向预推服务器发送预推内容获取请求,以使所述预推服务器根据所述预推内容获取请求返回预推内容列表;
第二接收模块,用于接收所述预推服务器返回的所述预推内容列表。
在一些实施例中,第二获取模块730可以包括:
选取模块,用于从所述预推内容列表的预推内容标识中选取目标预推内容标识,所述目标预推内容标识为在所述指定存储空间中未匹配到预推内容的所述预推内容标识;
第三获取模块,用于从内容分发网络获取并存储与所述目标预推内容标识相匹配的目标预推内容。
在一些实施例中,第三获取模块可以包括:
第二确定模块,用于确定所述目标预推内容标识所对应的目标预推内容的总数据容量;
第二判断模块,用于判断指定存储空间的剩余存储空间是否与所述总数据容量相匹配;
第一回收模块,用于在第二判断模块的判断的结果为否时,对所述指定存储空间中的预推内容所占用的存储空间进行回收;
第四获取模块,用于根据所述剩余存储空间和回收的存储空间,从内容分发网络获取并存储所述目标预推内容。
在一些实施例中,第一回收模块可以包括:
第三确定模块,用于确定所述指定存储空间中的超期预推内容;所述超期预推内容包括在所述指定存储空间中的存储时长超过预设时长的预推内容;
第四确定模块,用于确定所述超期预推内容所占用的存储空间与所述剩余存储空间的和值,得到第一存储空间容量;
第三判断模块,用于判断所述第一存储空间容量是否与所述总数据容量相匹配;
第一回收子模块,用于在第三判断模块的判断的结果为是时,对所述超期预推内容所占用的存储空间进行回收。
在另一些实施例中,第一回收模块还可以包括:
第四判断模块,用于在所述第一存储空间容量与所述总数据容量不匹配时,判断是否对所述指定存储空间中的未超期预推内容设置了保护模式;所述未超期预推内容包括在所述指定存储空间中的存储时长未超过预设时长的预推内容;
第二回收子模块,用于在第四判断模块的判断的结果为否时,依次对所述超期预推内容所占用的存储空间和所述未超期预推内容所占用的存储空间进行回收。
在另一些实施例中,第一回收模块还可以包括:
第三回收子模块,用于在判断的结果为对所述指定存储空间中的未超期预推内容设置了保护模式时,对所述超期预推内容所占用的存储空间进行回收。
可选的,第一回收子模块、第二回收子模块和第三回收子模块均可以包括:
第五确定模块,用于确定每个所述超期预推内容对所述匹配度的第一贡献值;
第六确定模块,用于根据所述第一贡献值,确定所述超期预推内容的淘汰优先级;
第一优先级回收模块,用于根据所述超期预推内容的淘汰优先级,对所述超期预推内容所占用的存储空间进行回收。
在一些实施例中,第二回收子模块还可以包括:
第七确定模块,用于确定所述总数据容量与所述第一存储空间容量的差值,得到待回收存储空间容量;
第八确定模块,用于确定每个所述未超期预推内容对所述匹配度的第二贡献值;
第九确定模块,用于根据所述第二贡献值,确定所述未超期预推内容的淘汰优先级;
第二优先级回收模块,用于根据所述未超期预推内容的淘汰优先级,对所述未超期预推内容所占用的存储空间进行回收,直至回收的存储空间容量与所述待回收存储空间容量相匹配。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本发明实施例的预推内容管理装置通过边缘节点确定指定存储空间中的预推内容与用户请求的内容之间的匹配度,并在该匹配度满足预设条件时从预推服务器获取预推内容列表,然后从内容分发网络获取并存储与预推内容列表中预推内容标识相匹配的预推内容,从而实现由指定存储空间中的预推内容与用户请求的内容之间的匹配程度(如上行带宽占比)触发的预推内容的更新,能够最大化利用边缘节点的上行带宽,提高了带宽资源的利用率。
此外,本发明实施例的预推内容管理装置在进行预推内容所占用的存储空间的回收时基于预推内容对匹配度的贡献情况确定淘汰优先级,后续基于淘汰优先级进行相应预推内容所占用的存储空间的回收,从而有效的避免了冷门内容因为生命周期过长无法回收其占用的存储空间,以及有效的避免了热门内容因为生命周期过短到期被删除的问题。
本发明实施例提供了一种计算机设备,该计算机设备包括处理器和存储器,该存储器中存储有至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现如上述方法实施例所提供的预推内容管理方法。
存储器可用于存储软件程序以及模块,处理器通过运行存储在存储器的软件程序以及模块,从而执行各种功能应用以及预推内容管理。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、功能所需的应用程序等;存储数据区可存储根据所述设备的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器还可以包括存储器控制器,以提供处理器对存储器的访问。
本发明实施例所提供的方法实施例可以在计算机终端、服务器或者类似的运算装置中执行,即上述计算机设备可以包括计算机终端、服务器或者类似的运算装置。图8是本发明实施例提供的运行一种预推内容管理方法的计算机设备的硬件结构框图,如图8所示,该计算机设备的内部结构可包括但不限于:处理器、网络接口及存储器。其中,计算机设备内的处理器、网络接口及存储器可通过总线或其他方式连接,在本说明书实施例所示图8中以通过总线连接为例。
其中,处理器(或称CPU(Central Processing Unit,中央处理器))是计算机设备的计算核心以及控制核心。网络接口可选的可以包括标准的有线接口、无线接口(如WI-FI、移动通信接口等)。存储器(Memory)是计算机设备中的记忆设备,用于存放程序和数据。可以理解的是,此处的存储器可以是高速RAM存储设备,也可以是非不稳定的存储设备(non-volatile memory),例如至少一个磁盘存储设备;可选的还可以是至少一个位于远离前述处理器的存储装置。存储器提供存储空间,该存储空间存储了电子设备的操作系统,可包括但不限于:Windows系统(一种操作系统),Linux(一种操作系统),Android(安卓,一种移动操作系统)系统、IOS(一种移动操作系统)系统等等,本发明对此并不作限定;并且,在该存储空间中还存放了适于被处理器加载并执行的一条或一条以上的指令,这些指令可以是一个或一个以上的计算机程序(包括程序代码)。在本说明书实施例中,处理器加载并执行存储器中存放的一条或一条以上指令,以实现上述方法实施例提供的预推内容管理方法。
本发明的实施例还提供了一种计算机可读存储介质,所述存储介质可设置于终端之中以保存用于实现一种预推内容管理方法相关的至少一条指令、至少一段程序、代码集或指令集,该至少一条指令、该至少一段程序、该代码集或指令集由该处理器加载并执行以实现上述方法实施例提供的预推内容管理方法。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
需要说明的是:上述本发明实施例先后顺序仅仅为了描述,不代表实施例的优劣。且上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
- 一种预推内容管理方法、装置及计算机设备
- 一种内容账号管理方法、装置、计算机设备及存储介质