发明内容
鉴于上述,本发明提出了一种用于缓存热点内容的方法及装置,该方法可以通过分析大量用户的下载行为来确定出热点内容,并且仅仅缓存热点内容,从而减少不必要的文件存储,由此提高缓存利用率。
根据本发明的一个方面,提供了一种缓存方法,包括:获取用户下载行为数据,所述用户下载行为数据至少包括用户下载行为的源URL地址和访问时间;从所述用户下载行为数据中提取出URL地址信息和访问时间;基于所提取出的URL地址信息和访问时间,统计用户已经访问的URL地址在预定时间内的URL地址访问次数;基于所述统计出的URL地址访问次数,从用户已经访问的URL地址中选取多个用户访问最多的URL地址,作为热点列表;以及将所述热点列表中的URL地址对应的内容下载到内容缓存服务器。
在上述方面的一个或多个示例中,所述用户下载行为数据可以是从所述移动终端和中间件服务器获取的,所述中间件服务器用于接收所述移动终端发送的网页浏览请求并转发到目标服务器。
在上述方面的一个或多个示例中,在从所述用户下载行为数据中提取出URL地址信息后,所述方法还可以包括将所提取出的URL地址信息和访问时间整理成记录文件。
在上述方面的一个或多个示例中,基于所述统计出的URL地址访问次数,从用户已经访问的URL地址中选取多个用户访问最多的URL地址,作为热点列表可以包括:基于所述统计出的URL地址访问次数,对用户已经访问的URL地址进行排序;以及从所述排序后的URL地址中选取多个用户访问最多的URL地址。
在上述方面的一个或多个示例中,从排序后的URL地址中选取多个用户访问最多的URL地址可以包括:基于所述排序结果,选取排名前X%的URL地址,作为热点列表,其中X是实数,且0<X<100。
在上述方面的一个或多个示例中,所述用户下载行为数据可以是日志数据。
根据本发明的另一方面,提供了一种缓存装置,包括:用户下载行为数据获取单元,用于获取用户下载行为数据,所述用户下载行为数据至少包括用户下载行为的源URL地址和访问时间;URL地址信息提取单元,用于从所述用户下载行为数据中提取出URL地址信息和访问时间;统计单元,用于基于所提取出的URL地址信息和访问时间,统计用户已经访问的URL地址在预定时间内的URL地址访问次数;选取单元,用于基于所述统计出的URL地址访问次数,从用户已经访问的URL地址中选取多个用户访问最多的URL地址,作为热点列表;以及下载单元,用于将所述热点列表中的URL地址对应的内容下载到内容缓存服务器。
在上述方面的一个或多个示例中,所述缓存装置还可以包括:排序单元,用于基于所述统计出的URL地址访问次数,对所述URL地址进行排序,以及所述选取单元被配置为从所述排序后的URL地址中选取多个用户访问最多的URL地址。
在上述方面的一个或多个示例中,所述选取单元可以被配置为基于所述排序结果,选取排名前X%的URL地址,作为热点列表,其中X是实数,且0<X<100。
在上述方面的一个或多个示例中,所述缓存装置还可以包括:整理单元,用于将所提取出的URL地址信息和访问时间整理成记录文件。
利用上述方法及装置,可以通过分析大量用户的下载行为确定出热点内容,然后仅仅缓存热点内容,而对下载量很低的内容不进行缓存,从而减少不必要的文件存储,由此提高缓存利用率。
为了实现上述以及相关目的,本发明的一个或多个方面包括后面将详细说明并在权利要求中特别指出的特征。下面的说明以及附图详细说明了本发明的某些示例性方面。然而,这些方面指示的仅仅是可使用本发明的原理的各种方式中的一些方式。此外,本发明旨在包括所有这些方面以及它们的等同物。
具体实施方式
下面描述本公开的各个方面。应该明白的是,本文的教导可以以多种多样形式具体体现,并且在本文中公开的任何具体结构、功能或两者仅仅是代表性的。基于本文的教导,本领域技术人员应该明白的是,本文所公开的一个方面可以独立于任何其它方面实现,并且这些方面中的两个或多个方面可以按照各种方式组合。例如,可以使用本文所阐述的任何数目的方面,实现装置或实践方法。另外,可以使用其它结构、功能、或除了本文所阐述的一个或多个方面之外或不是本文所阐述的一个或多个方面的结构和功能,实现这种装置或实践这种方法。此外,本文所描述的任何方面可以包括权利要求的至少一个元素。
下面将参照附图描述本发明的各个实施例。
图1示出了根据本发明的实施例的用于缓存热点内容的缓存方法的流程图,该方法由用于进行缓存处理的服务器执行。
如图1所示,在步骤S110,获取用户下载行为数据,所述用户下载行为数据至少包括用户下载行为的源URL地址和访问时间。这里,所述用户下载行为数据可以是经由移动终端或固定终端(比如PC机)进行的用户下载行为数据。例如,所述用户下载行为数据可以是关于网页访问的用户下载行为的数据,比如日志数据。此外,移动终端用户访问网页时,可以通过中间件服务器发送中间件请求来进行网页浏览,也可以是采用直连模式,直接从源URL地址(目标URL地址)下载。由此,所述用户下载行为数据可以是从所述移动终端和中间件服务器中任何一个或两者获取的,所述中间件服务器是指用于接收所述移动终端发送的网页浏览请求并转发到目标服务器的服务器。此外,所述用户下载行为数据可以是由服务器周期性获取,比如每天的下午2:00获取等。
在获取用户下载行为数据后,在步骤S120,从所述用户下载行为数据中提取出URL地址信息和访问时间。例如,在所述用户下载行为数据是日志数据时,可以从日志数据中提取出URL地址信息和访问时间,而去除比如文件大小、文件类型等其它日志字段。
然后,在步骤S130,基于所提取出的URL地址信息和访问时间,统计用户已经访问的URL地址在预定时间内的URL地址访问次数。所述预定时间可以是用户或由服务器任意设定的,比如当天或者截止当天的预定天数内,或者截止当前的预定小时内。
在统计出URL地址访问次数后,在步骤S140,基于所述统计出的URL地址访问次数,从用户已经访问的URL地址中选取多个用户访问最多的URL地址,作为热点列表。在本发明的一个示例中,基于所述统计出的URL地址访问次数,从用户已经访问的URL地址中选取多个用户访问最多的URL地址,作为热点列表可以包括:基于所述统计出的URL地址访问次数,对用户已经访问的URL地址进行排序;以及从所述排序后的URL地址中选取多个用户访问最多的URL地址。此外,在本发明的其它示例中,从排序后的URL地址中选取多个用户访问最多的URL地址可以包括:基于所述排序结果,选取排名前X%的URL地址,作为热点列表,其中X是实数,且0<X<100。
在得到热点列表后,在步骤S150,将所述热点列表中的URL地址对应的内容下载到内容缓存服务器中进行缓存。此外,在本发明的其它示例中,在从所述用户下载行为数据中提取出URL地址信息后,上述方法还可以包括将所提取出的URL地址信息和访问时间整理成记录文件。然后,基于所述记录文件进行URL地址访问次数统计。热点列表中的URL地址对应的内容除了视音频,还有图片、文档等。
如上参照图1描述了根据本发明的用于缓存热点内容的缓存方法。本发明的上述缓存方法,可以采用软件实现,也可以采用硬件实现,或采用软件和硬件组合的方式实现。
图2示出了根据本发明的实施例的用于缓存热点内容的缓存装置200的方框示意图。
如图2所示,缓存装置200包括用户下载行为数据单元210、提取单元220、统计单元230、选取单元240和下载单元250。
用户下载行为数据获取单元210用于获取用户下载行为数据,所述用户下载行为数据至少包括用户下载行为的源URL地址和访问时间。提取单元220与用户下载行为数据获取单元210相连,用于从所述用户下载行为数据中提取出URL地址信息和访问时间。
统计单元230与提取单元220相连,用于基于所提取出的URL地址信息和访问时间,统计用户已经访问的URL地址在预定时间内的URL地址访问次数。
选取单元240与统计单元230相连,用于基于所述统计出的URL地址访问次数,从用户已经访问的URL地址中选取多个用户访问最多的URL地址,作为热点列表。
下载单元250与选取单元240相连,用于在选取单元240选取出热点列表后,基于所述热点列表上的URL地址,从所述URL地址将对应的内容下载到内容缓存服务器中进行缓存。
在本发明的其它示例中,在统计单元230和选取单元240之间,所述缓存装置200还可以包括排序单元(未示出),用于基于所述统计出的URL地址访问次数,对所述URL地址进行排序,比如按照从多到少或者从少到多的顺序进行排序。然后,所述选取单元240从所述排序后的URL地址中选取多个用户访问最多的URL地址。例如,在一个示例中,选取单元240可以被配置为基于所述排序结果,选取排名前X%的URL地址,作为热点列表,其中X是实数,且0<X<100,比如X可以设置为5。
此外,在本发明的其它示例中,所述缓存装置200还可以包括整理单元(未示出),用于将所提取出的URL地址信息和访问时间整理成记录文件。然后,统计单元230基于所述记录文件进行URL地址访问次数统计。
利用上述方法及装置,可以通过分析大量用户的下载行为确定出热点内容,然后仅仅缓存热点内容,而对下载量很低的内容不进行缓存,从而减少不必要的文件存储,由此提高缓存利用率。例如:在通用的缓存技术中,例如CDN加速技术,用户下载过的文件都会被缓存一段时间,一般文件会缓存三个月,设每个文件平均1M,三个月内用户访问过的总文件数量为10亿,按完全缓存将需要:10亿*1M=1000T的存储空间;若采用热点存储技术,由于热点内容仅占网络存储的一小部分,其所需的空间也就减少到原来的N分之一。除了视音频,还有图片、文档等,都存在热点内容,都可以应用此一技术,以更少的成本提供更优的服务。
这里要说明的是,上面所述的缓存装置200中的两个单元之间的相连可以是物理上的实际连接,也可以是经由其它单元进行的连接,或者是虚拟连接,比如通过数据或者信息交互实现的虚拟连接(在上述单元利用处理器和存储有计算机程序的存储器实现的情况下)。
图3示出了具有根据本发明的缓存装置200的服务器10的方框示意图。如图3所示,所述服务器10包括如图2所示的缓存装置200。这里要说明的是,图3中包含的缓存装置还可以包括图2中所示的缓存装置200的各种变型。
此外,典型地,本发明所述的移动终端可为各种具有蓝牙功能的手持终端设备,例如具有蓝牙功能的手机、个人数字助理(PDA)。
此外,根据本发明的方法还可以被实现为由移动终端中的处理器(比如CPU)执行的计算机程序,并且存储在移动终端的存储器中。在该计算机程序被处理器执行时,执行本发明的方法中限定的上述功能。
此外,根据本发明的方法还可以实现为一种计算机程序产品,该计算机程序产品包括计算机可读介质,在该计算机可读介质上存储有用于执行本发明的方法中限定的上述功能的计算机程序。
此外,上述方法步骤以及系统单元也可以利用控制器以及用于存储使得控制器实现上述步骤或单元功能的计算机程序的计算机可读存储设备实现。
本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现所述的功能,但是这种实现决定不应被解释为导致脱离本发明的范围。
尽管前面公开的内容示出了本发明的示例性实施例,但是应当注意,在不背离权利要求限定的本发明的范围的前提下,可以进行多种改变和修改。根据这里描述的发明实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明的元素可以以个体形式描述或要求,但是也可以设想多个,除非明确限制为单数。
虽然如上参照图描述了根据本发明的各个实施例进行了描述,但是本领域技术人员应当理解,对上述本发明所提出的各个实施例,还可以在不脱离本发明内容的基础上做出各种改进。因此,本发明的保护范围应当由所附的权利要求书的内容确定。