资源缓存方法、资源获取方法及其装置、系统的制作方法

文档序号:7717204阅读:243来源:国知局
专利名称:资源缓存方法、资源获取方法及其装置、系统的制作方法
技术领域
本发明实施例涉及存储技术领域,尤其涉及一种资源缓存方法、资源获 取方法及其装置、系统。 -
背景技术
目前,资源緩存技术中,为了降低出口带宽的压力,资源緩存系统中 的调度服务器会根据资源的访问热度判断该资源的访问次数是否到达预 设的阈值,在资源的访问热度到达热度阈值后,调度服务器根据调度算法 调度某一台緩存服务器下载需要緩存的资源。下载完成后,緩存服务器通 知调度服务器的数据库该资源已被緩存在某一台緩存服务器上,在实际应 用中,系统中只有一个緩存服务器可以提供缓存。
如果有用户需要下载该资源,则系统会查询该资源是否已经被系统緩
存,如果已经緩存,进一步查询緩存该资源的緩存服务器A的相关信息, 使得用户可以从緩存服务器A中下载该资源。
在实现本发明过程中,发明人发现现有技术中至少存在如下问题 目前的资源緩存系统中,不支持多个节点负载分流以及多机热点备份 机制,如图l所示,资源A、资源B緩存于緩存服务器1中,资源F、资 源X緩存在緩存服务器2中,资源N、资源P、资源O緩存在緩存服务器 n中,用户如果想下载资源F,只能从一台緩存有该资源的緩存服务器2 中下载,导致相对空闲的緩存服务器无法为繁忙的緩存服务器分担负载。 此外,如果含有热点该资源的服务器出现故障,则大量用户只能通过外网 下载该资源通过外网,造成出口带宽压力突增。

发明内容
本发明实施例提供一种资源緩存方法、资源获取方法及其装置、系统, 能够减少系统中繁忙的緩存服务器的负载,减轻出口带宽的压力。
本发明实施例提供一种资源緩存方法,包括
每隔第 一预定时间从数据库获取资源的访问热度值,并在判断访问热度 值达到预先设置的第一阈值的情况下,从数据库获取緩存服务器的负载值; 根据访问热度值以及负载值确定复制资源的复制緩存服务器,并通知复制缓 存服务器从保存有资源的緩存服务器中复制资源并緩存。
本发明实施例提供一种资源获取方法,包括
接收资源查询请求,根据资源查询请求向数据库查询并确定用户请求下 载的资源已緩存;接收数据库发送的緩存有资源的所有緩存服务器的信息以 及緩存有资源的所有緩存服务器的负载值;根据緩存有资源的所有緩存服务 器的信息以及緩存有资源的所有緩存服务器的负载值选择目标下载緩存服务 器,通知用户从目标下载緩存服务器中下载资源。
本发明实施例提供一种资源緩存装置,包括
获取模块,用于每隔第一预定时间从数据库获取资源的访问热度值,并 在判断访问热度值达到预先设置的第一阈值的情况下,从数据库获取緩存服 务器的负载值;第一确定模块,用于根据访问热度值以及负载值确定复制资 源的复制緩存服务器;第一通知模块,用于通知复制緩存服务器从保存有资 源的緩存服务器中复制资源并緩存。
本发明实施例提供一种资源获取装置,包括
第二接收模块,用于接收资源查询请求;第三确定模块,用于根据资源 查询请求向数据库查询并确定用户请求下载的资源已緩存;第三接收模块, 用于接收数据库发送的緩存有资源的所有緩存服务器的信息以及緩存有资源 的所有緩存服务器的负载值;第四确定模块,用于根据緩存有资源的所有緩存服务器的信息以及緩存有资源的所有缓存服务器的负载值选择目标下载緩 存服务器;第三通知模块,用于通知用户从目标下载緩存服务器中下载资源。
本发明实施例还提供一种资源緩存系统,包括
数据库,用于存储资源的访问热度值以及緩存服务器的负载值;调度服
务器,用于每隔第一预定时间从数据库获取资源的访问热度值,并在判断访 问热度值达到预先设置的第一阈值的情况下,从数据库获取缓存服务器的负 载值,根据访问热度值以及负载值确定复制资源的复制緩存服务器,并通知
复制缓存服务器从保存有资源的緩存服务器中复制资源;緩存服务器,用于 在调度服务器的控制下从保存有资源的緩存服务器中复制资源并緩存。
本发明实施例的源緩存方法、资源获取方法及其装置、系统,通过将热 点资源复制到多个空闲服务器中,克服了现有技术中同 一资源只能在一 台緩 存服务器中缓存而导致的相对空闲的緩存服务器无法为繁忙的緩存服务器分 担负载的缺陷,实现了多个緩存服务器共同提供资源下载服务,能够减少系 统中繁忙的緩存服务器的负载,减轻出口带宽的压力。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下 面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在 不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图l是现有技术中资源緩存系统的架构示意图2是本发明实施例的资源緩存方法的流程图3是本发明实施例的用户请求下载未緩存资源的信令流程图4是本发明实施例的热点资源空间回收的信令流程图5是本发明实施例的资源获取方法的流程图;图6是本发明实施例的用户请求下载已緩存资源的信令流程图7是本发明实施例的资源緩存装置的示意图8是本发明实施例的资源获取装置的示意图9是本发明实施例的资源緩存系统的示意图IO是本发明实施例的P2P緩存系统的结构示意图11是本发明实施例的对资源分类存储的系统结构示意图。
具体实施例方式
下面结合附图和具体实施例进一步说明本发明实施例的技术方案。
目前,电信级资源緩存系统中包括数十台緩存服务器,每个緩存服务 器承载不同的资源,为数万在线用户提供服务,每台緩存服务器一般最多 能够负载1000至2000用户访问。并且,某一资源只存在于一台緩存服务 器上,没有热点内容处理机制,不会有多个备份资源存储于其他緩存服务 器中。如图l所示,资源A、资源B緩存于緩存服务器1中,资源F、资 源X缓存在緩存服务器2中,资源N、资源P、资源O緩存在緩存服务器 n中,用户如果想下载资源F,只能从緩存服务器2中下载。
此外,其他服务器上由于没有备份资源,就不能为用户提供緩存,导 致资源緩存系统的性能受一台服务器性能的限制,无法进行性能扩展。由 于有的服务器负载过重,有的服务器负载很低,从而导致负载低的服务器 利用率低,业务相对空闲的服务器无法为繁忙服务器分担负载。
为了解决上述问题,根据本发明的实施例,提供了一种资源缓存方法, 图2是本发明实施例的资源緩存方法的流程图,如图2所示,根据本发明 实施例的资源緩存方法包括
步骤201,调度服务器每隔第一预定时间(例如,IO秒)从数据库获 取资源的访问热度值,并判断访问热度值是否达到预先设置的第 一 阈值, 在确定访问热度值达到预先设置的第 一 阈值的情况下,从数据库获取緩存服务器的负载值;在本发明的实施例中,从数据库获取的緩存服务器的负 载值可以不包括当前本身就緩存有该资源的緩存服务器。
步骤202,调度服务器根据访问热度值以及负载值确定复制该资源的 复制緩存服务器,也就是说,调度服务器从除本身就緩存有该资源的緩存 服务器之外的其他緩存服务器中选择一个复制该资源的服务器。在以下的 描述中,将复制该资源的緩存服务器简称为复制緩存服务器。
步骤203,调度服务器通知复制緩存服务器从保存有该资源的緩存服 务器中复制资源并緩存。
从上述处理可以看出,本发明实施例将热点资源判断机制用于緩存系
统中,复制热点资源到多台緩存服务器中,以实现访问的负载分流。通过 调度服务器实现各个緩存服务器之间的调度,使得多个緩存服务器共同提 供服务,从而提高了緩存系统的可扩展性和资源下载的效率,能够减少系 统中繁忙的緩存服务器的负载,减轻出口带宽的压力。
下面,结合附图,对本发明实施例中用户请求下载未緩存资源的情况 的处理流程进行详细说明。
图3是本发明实施例的用户请求下载未緩存资源的信令流程图,如图 3所示,包括如下处理
步骤301,用户向源站服务器发送资源下载请求;
步骤302,资源緩存系统的检测服务器获取用户向源站服务器发送的 资源下载请求,并向调度服务器发送资源查询请求;
步骤303,调度服务器根据资源查询请求向其数据库查询该资源是否 已经缓存在资源緩存系统的緩存服务器中,并指示数据库将该资源的访问 热度值+1,其中,访问热度值根据预定算法确定,例如,根据资源的下载 次数及该资源每次下载的下载时间确定该资源的访问热度值;
步骤304,数据库查询该资源是否已经緩存,并更新该资源的访问热 度值。由于数据库查询到该资源没有緩存,因此,向调度服务器发送未緩存响应消息;
步骤305,调度服务器接收到未缓存响应消息后,向重定向服务器转 发未缓存响应消息;
步骤306,重定向服务器响应于未緩存响应消息,由于该资源未缓存 在资源緩存系统中,因此,不需要进行重定向操作,用户依然从源站服务 器(外网)下载该资源;
步骤307,在用户下载完成后,源站服务器向用户发送下载完成消息; 随着用户下载次数的增多,资源緩存系统会将用户下载次数较多的资源下 载到 一 台緩存服务器中,以后的用户从该緩存服务器中下载该资源;
步骤308,调度服务器向数据库查询该资源的访问热度值;
具体地,调度服务器每隔 一定时间向数据库查询资源的访问热度值, 在本发明实施例中,调度服务器可以查询所有资源的访问热度值,也可以 查询单独查询当前某个资源的访问热度值,其中,访问热度值包括下载 次数及下载时间;
步骤309,数据库返回该资源的访问热度值,该访问热度值可以包括 所查询资源的下载次数及下载时间等信息;
步骤310,调度服务器根据下载次数及下载时间计算单位时间内所查 询资源的下载次数,并根据单位时间内所查询资源的下载次数判断相应的 访问热度值是否达到阈值,也就是说,判断用户是否从缓存有该资源的緩 存服务器中大量下载该资源,在下面的描述中,将上述情况下的资源称为 热点资源,如果调度服务器判断访问热度值未达到预先设置的阈值,则不 进行任何操作;如果确定访问热度值达到阈值,则向数据库查询各缓存服 务器(不包括已緩存该资源的緩存服务器)的负载值;其中,所有緩存服 务器每隔一定时间就会将自己的负载值写入数据库,以供调度服务器的查 询,例如,所有緩存服务器每隔5秒将自己的负载值写入数据库;
步骤311,数据库向调度服务器返回各緩存服务器的负载值;步骤312,调度服务器根据该资源的访问热度值以及各緩存服务器的
负载值确定复制该资源的复制緩存服务器;进一步地,调度服务器可以根 据访问热度值和负载值选择负载较低的服务器复制该资源;
具体地,在步骤312中,调度服务器选择负载较低的服务器具体包括 如下处理1、调度服务器首先根据该资源的访问热度值确定单位时间内 该资源的下载次数,并根据单位时间内该资源的下载次数确定单位时间内 该资源下载次数的级别;2、调度服务器根据负载值将除已緩存该资源的 缓存服务器之外所有緩存服务器顺序排序,得到排序结果;3、根据下载 次数的级别确定需要复制緩存服务器的数量,并根据该数量从排序结果中 选择负载值低于预先设置的第二阈值的緩存服务器作为所述复制緩存服 务器。具体地,根据下载次数的级别确定需要复制緩存服务器的数量包括 单位时间内该资源的下载次数越多,单位时间内下载次数的级别越高,选 择的緩存服务器的数量也就越多。
换句话说,调度服务器确定单位时间内资源的下载次数的级别后,根 据负载值确定空闲服务器的数量,并根据空闲服务器的数量确定资源的复 制份数,在确定复制的份数后,调度服务器就可以调度空闲緩存服务器向 源站服务器复制热点资源。
步骤313,复制緩存服务器从已緩存该资源的緩存服务器中复制该资 源并緩存;
步骤314,完成复制的复制緩存服务器向已緩存该资源的緩存服务器
发送复制完成通知;
步骤315,复制緩存服务器向调度服务器发送复制完成通知; 步骤316,调度服务器将复制完成通知、以及复制信息写入数据库,
其中,复制信息为緩存有该资源的复制緩存服务器的信息。在以后用户下
载该资源时,数据库可以根据该资源的复制信息查询该资源的緩存在哪几
台緩存服务器中。从上述处理可以看出,本发明实施例采用的技术方案摒弃了热点资源 访问只能由单台緩存服务器负担的做法。自动将热点数据复制到多台空闲 緩存服务器,可使多台緩存服务器共同提供负载,能够对緩存服务器资源 进行充分地利用。并且,在一个甚至多个緩存服务器出现故障时,为用户 提供热点资源的服务不会中断,由于多台緩存服务器共同提供服务,可以 减少出口带宽的压力,防止出口带宽压力突增,提高了系统的可靠性和可 扩展性。
在用户下载该资源后,如果该资源的下载次数减少,需要对该资源所 占用的空间进行回收,在资源空间回收过程中,系统会根据该资源的访问
热度确定该资源需要保留的份数,随后,根据确定的需要保留的份数,以 及根据各个緩存服务器的负载值将负载值比较高的缓存服务器中的资源
删除。达到优化系统资源的目的。
下面,结合图4,对热点资源空间回收的处理过程进行详细说明,图
4是本发明实施例的热点资源空间回收的信令流程图,如图4所示,包括 如下处理
步骤401,调度服务器每隔一定时间从数据库获取资源的复制信息以 及资源的访问热度值,在本发明实施例中,该资源为一个或多个热点资源。
步骤402,数据库向调度服务器返回热点资源的复制信息以及访问热 度值,该访问热度值包括下载次数和下载时间;
步骤403,调度服务器判断热点资源的访问热度值是否达到预先设置 的第一阈值,如果达到预先设置的第一阈值,则不进行任何处理,如果热 点资源的访问热度值未达到预先设置的第一阈值,调度服务器根据热点资 源的复制信息向数据库查询緩存有热点资源的所有緩存服务器的负载值;
步骤404,数据库根据热点资源的复制信息查询緩存有该热点资源的 所有缓存服务器,并将緩存有该热点资源的所有緩存服务器的负载值及该 热点资源的访问热度值发送到调度服务器;步骤405,调度服务器根据热点资源的访问热度值确定热点资源在单 位时间内的下载次数,根据单位时间内的下载次数确定热点资源下载次数
的级别,并根据该级别确定热点资源保存复制的份数;随后,调度服务器
根据緩存有热点资源的所有缓存服务器的负载值以及热点资源保存复制 的份数确定至少 一 个负载高于预先设置的第三阈值的緩存有热点资源的 緩存服务器,随后,调度服务器不再将之后用户发送的资源下载请求调度 到确定的緩存服务器上,并通知确定的緩存服务器在无用户下载该资源
后,删除该资源;即,优先删除负载相对高的緩存服务器上的热点资源。 步骤406,确定的緩存服务器在无用户下载该资源后,将热点资源删
除,并向调度服务器返回删除完成消息;
步骤407,调度服务器将删除完成消息写入数据库,并更新数据库中
的热点资源的复制信息。
从上述处理可以看出,通过热点资源空间回收机制可以」提高存储空间
利用率,确保存储空间不被浪费。实现资源缓存系统的负载分流、存储空
间自动清理。
根据本发明的实施例,提供了一种緩存资源获取方法,图5是本发明实 施例的资源获取方法的流程图,如图5所示,根据本发明实施例的緩存资源 获取方法包括
步骤501,-接收资源查询请求,#^居资源查询请求向数据库查询并确定 用户请求下载的资源已緩存;
步骤502,接收数据库发送的緩存有资源的所有緩存服务器的信息以及 缓存有资源的所有緩存服务器的负载值;
步骤503,根据緩存有资源的所有緩存服务器的信息以及緩存有资源 的所有緩存服务器的负载值选择目标下载緩存服务器,并通知用户从目标 下载緩存服务器中下载资源。具体地,可以通过重定向服务器通知用户从 目标下载緩存服务器中下载资源。通过上述处理,用户可以从系统中多台緩存服务器中下载资源,在其 中 一 台緩存服务器出现故障的情况下,可以从其他緩存有该资源的缓存服 务器中下载,提高了用户下载资源的效率和速度。
下面,结合附图,对麥发明实施例的上述处理过程中用户请求下载已 緩存资源的处理流程进行说明。图6是本发明实施例的用户请求下载已緩
存资源的信令流程图,如图6所示,包括如下处理
步骤601,用户向源站服务器发送资源下载请求;
步骤602,资源緩存系统的检测服务器获取用户向源站服务器发送的 资源下载请求,并向调度服务器发送资源查询请求;
步骤603,调度服务器根据资源查询请求向其数据库查询该资源是否 已经缓存在资源緩存系统的緩存服务器中,并指示数据库将该资源的访问 热度值+l; '
步骤604,数据库查询该资源是否已经緩存,并更新该资源的访问热 度值。在判断该资源已经缓存后,确定该资源緩存在哪些缓存服务器中, 并将所有缓存该资源的緩存服务器的信息发送到调度服务器;
步骤605,调度服务器向数据库查询所有緩存该资源的緩存服务器的 负载值;
步骤606,数据库向调度服务器反馈所有緩存该资源的緩存服务器的 负载值;
步骤607,调度服务器选择负载值最低的緩存该资源的緩存服务器作 为目标下载緩存服务器,并将该目标下载緩存服务器的信息通知重定向服 务器;
步骤608,重定向服务器将用户的资源下载请求重定向到该目标下载 緩存服务器;
步骤609,用户连接至该目标下载缓存服务器,并从该目标下载缓存 服务器中下载该资源。从上述处理可以看出,通过热点资源访问多节点分流技术满足用户对 热点数据访问需求,能够解决热点资源访问造成的系统瓶颈问题,最大程 度提高了緩存服务器的利用率,具有高可扩展性和高可靠性。
需要说明的,本发明实施例可广泛应用在资源緩存系统中不同緩存服 务器之间数据自动复制的各个应用场景,通过自动复制的方式,可以实现 不同的应用功能,在实际应用中,包括但不限于以下应用功能1、用于 解决内容緩存系统动态扩展的问题,在缓存服务器性能或容量不足时动态
添加缓存服务器而不影响系统正常运行;2、用于解决内容緩存系统数据 安全问题,例如,防病毒;3、用于解决资源緩存系统动态迁移的问题, 例如,按文件访问热度分服务器存储;4、用于解决资源緩存系统内容分 类存储问题,例如,按文件访问量不同自动迁移到不同应用服务器。
根据本发明的实施例,提供了一种资源緩存装置,图7是本发明实施 例的资源緩存装置的示意图,如图7所示,根据本发明实施例的资源緩存 装置包括获取模块70、第一确定模块72、第一通知模块74。下面,对 本发明实施例的资源缓存装置进行详细说明。需要说明的是,在本发明实 施例中,资源緩存装置可以为调度服务器。
具体地,获取模块70用于每隔第一预定时间(例如,IO秒)从数据 库获取资源的访问热度值,并在判断访问热度值达到预先设置的第 一 阈值 的情况下,从数据库获取緩存服务器的负载值;在本发明的实施例中,从 数据库获取的缓存服务器的负载值可以不包括当前本身就緩存有该资源 的缓存服务器。
第 一确定模块72根据访问热度值以及负载值确定复制资源的复制緩 存服务器;具体地,第一确定模块72中还包括确定子模块、排序模块、 选择模块。
其中,确定子模块根据访问热度值确定单位时间内资源的下载次数的 级别;排序模块根据负载值将除保存有资源的缓存服务器之外的所有緩存服务器顺序排序,得到排序结果;选择模块根据下载次数的级别确定需要 复制緩存服务器的数量,并根据该数量从排序结果中选择负载值低于预先 设置的第二阚值的緩存服务器作为复制緩存服务器。具体地,根据下载次
数的级别确定需要复制緩存服务器的数量包括单位时间内该资源的下载 次数越多,单位时间内下载次数的级别越高,选择的缓存服务器的个数就 越多。
在第一确定模块72确定复制资源的复制緩存服务器之后,第一通知 模块74通知复制緩存服务器从保存有资源的緩存服务器中复制资源并缓 存。
从上述处理可以看出,本发明实施例采用的技术方案摒弃了热点资源 访问只能由单台緩存服务器负担的做法。自动将热点数据复制到多台空闲 緩存服务器,可使多台緩存服务器共同提供负载,能够对缓存服务器资源 进行充分地利用。并且,在一个甚至多个緩存服务器出现故障时,为用户 提供热点资源的服务不会中断,由于多台緩存服务器共同提供服务,可以 减少出口带宽的压力,防止出口带宽压力突增,提高了系统的可靠性和可 扩展性。
在用户下载该资源后,如果该资源的下载次数减少,需要对该资源所 占用的空间进行回收,在资源空间回收过程中,系统会根据该资源的访问 热度确定该资源需要保留的份数,随后,根据确定的需要保留的份数,以 及根据各个緩存服务器的负载值将负载值比较高的緩存服务器中的资源
删除。达到优化系统资源的目的。
具体地,资源緩存装置还包括第二确定模块、第二通知模块、第一 接收模块、更新模块。
其中,当保存有资源的緩存服务器的访问热度值低于第一阈值时,第 二确定模块在緩存有资源的緩存服务器中确定至少一个緩存服务器;具体 地,第二确定模块根据热点资源的访问热度值确定热点资源在单位时间内的下载次数,根据单位时间内的下载次数确定热点资源下载次数的级别, 并根据该级别确定热点资源保存复制的份数;随后,第二确定模块根据缓 存有热点资源的所有緩存服务器的负载值以及热点资源保存复制的份数 确定至少 一 个负载高于预先设置的第三阈值的緩存有热点资源的緩存服 务器。
随后,第二通知模块通知确定的缓存服务器在无用户下载该资源后,
删除资源;缓存服务器在无用户下载该资源后,将热点资源删除,并向调 度服务器的第一接收模块返回删除完成消息,第一接收模块接收緩存服务 器发送的删除完成消息;更新模块用于将删除完成消息写入数据库,并更 新数据库中资源的复制信息。
从上述处理可以看出,通过热点资源空间回收机制可以提高存储空间 利用率,确保存储空间不被浪费。实现资源緩存系统的负载分流、存储空 间自动清理。
根据本发明的实施例,提供了一种资源获取装置,图8是本发明实施 例的资源获泉装置的示意图,如图8所示,根据本发明实施例的资源获取 装置包括第二接收模块80、第三确定模块81、第三接收模块82、第四 确定模块83、第三通知模块84。下面,对本发明实施例的资源获取装置 进行详细的说明。需要说明的是,本发明实施例中的资源获取装置为调度 服务器。
具体地,首先,用户向源站服务器发送资源下载请求,资源緩存系统 的检测服务器获取用户向源站服务器发送的资源下载请求,并向调度服务 器发送资源查询请求,调度服务器的第二接收模块80接收资源查询请求; 随后,第三确定模块81根据所述资源查询请求向所述数据库查询并确定 用户请求下载的资源已緩存;在数据库判断该资源已经緩存后,确定该资 源緩存在哪些緩存服务器中,并将所有緩存该资源的緩存服务器的信息发 送到调度服务器,调度服务器的第三接收模块82接收所述数据库发送的緩存有所述资源的所有缓存服务器的信息以及緩存有所述资源的所有緩
存服务器的负载值;随后,第四确定模块83根据緩存有所述资源的所有
緩存服务器的信息以及緩存有所述资源的所有緩存服务器的负载值选择
目标下载缓存服务器;第三通知模块84将该目标下载緩存服务器的信息 通知重定向服务器,重定向服务器将用户的资源下载请求重定向到该目标 下载缓存服务器,随后,用户就可以连接至该目标下载緩存服务器,并从 该目标下载緩存服务器中下载该资源。
通过上述处理,用户可以从系统中多台緩存服务器中下载资源,在其 中一台緩存服务器出现故障的情况下,可以从其他緩存有该资源的緩存服 务器中下载,提高了用户下载资源的效率和速度。
根据本发明的实施例,提供一种资源緩存系统,图9是本发明实施例 的资源緩存系统的示意图,如图9所示,根据本发明实施例的资源缓存系 统包括数据库90、调度服务器92、緩存服务器94。下面,对本发明实 施例的资源緩存系统进行详细说明。
具体地,调度服务器92每隔第一预定时间(例如,IO秒)从数据库 90获取资源的访问热度值,并判断访问热度值是否达到预先设置的第 一阈 值,在确定访问热度值达到预先设置的第一阈值的情况下,从数据库90 获取各个緩存服务器94的负载值;随后,调度服务器92根据访问热度值 以及负载值确定至少一个复制该资源的緩存服务器94;在调度服务器92 的控制下,至少一个緩存服务器94从保存有该资源的緩存服务器中复制 该资源并緩存。其中,数据库90用于存储资源的访问热度值以及緩存服 务器94的负载值。在本发明实施例中,数据库90还可以用于保存所有资 源的复制信息。
此外,本发明实施例还可以包括检测服务器和重定向服务器,其中, 检测服务器用于获取用户向源站服务器发送的资源下载请求,并在获取了 资源下载请求后,向调度服务器92发送资源查询请求;重定向服务器用于在调度服务器92确定了为用户提供服务的目标下载緩存服务器后,在
调度服务器92的控制下,将用户的资源下载请求重定向到目标下载緩存
服务器,用户就可以从目标下载缓存服务器下载请求的资源。
从上述处理可以看出,通过资源緩存系统的热点资源复制机制,实现
资源缓存系统服务器负载分流,使得热点资源的访问不会造成系统瓶颈。 下面,对本发明实施例中用户请求下载未緩存资源的情况、用户请求
下载已緩存资源的情况、以及资源空间回收机制的处理过程进行详细说明。
首先,对用户请求下载未缓存资源情况下的处理过程进行说明。 用户向源站服务器发送资源下载请求,资源緩存系统的检测服务器获
取用户向源站服务器发送的资源下载请求,并向调度服务器92发送资源 查询请求。调度服务器92根据资源查询请求向其数据库90查询该资源是 否已经緩存在资源緩存系统的缓存服务器94中,并指示数据库90将该资 源的访问热度值+1。随后,数据库90查询该资源是否已经緩存,并更新 该资源的访问热度值。由于数据库卯查询到该资源没有緩存,因此,数 据库卯向调度服务器92发送未緩存响应消息。调度服务器92接收到未 緩存响应消息后,向重定向服务器转发未緩存响应消息,由于该资源未緩 存在资源緩存系统中,因此,重定向服务器不需要进行重定向操作,用户 依然从源站服务器(外网)下载该资源。在用户下载完成后,源站服务器 向用户发送下载完成消息;随着用户下载次数的增多,资源緩存系统会将 用户下载次数较多的资源下载到 一 台緩存服务器94中,以后的用户从该 緩存服务器中下载该资源。
随后,调度服务器92向数据库卯查询该资源的访问热度值;数据库 卯返回该资源的访问热度值;调度服务器92根据获取的访问热度值判断 是否达到预先设置的第一阈值,即,判断用户是否从緩存有该资源的緩存 服务器中大量下载该资源,在下面的描述中,将上述情况下的资源成为热点资源,如果调度服务器92判断访问热度值未达到预先设置的第一阈值,
则不进行任何操作,如杲确定访问热度值达到第 一 阈值,则向数据库90 查询各缓存服务器94(不包括已緩存该资源的緩存服务器)的负载值;其 中,所有缓存服务器94每隔一定时间就会将自己的负载值写入数据库90, 以供调度服务器92的查询,例如,所有緩存服务器94每隔5秒将自己的 负载值写入数据库90;
在上述过程中,调度服务器92判断访问热度值是否达到预先设置的 阈值具体包括如下处理1、调度服务器92每隔一定时间从数据库90获 取该资源的访问热度值,其中,该资源的访问热度值可以根据预定算法确 定,例如,根据该资源的下载次数及该资源每次下载的下载时间确定该资 源的访问热度值;2、调度服务器92根据下载次数及下载时间计算单位时 间内该资源的下载次数,并根据单位时间内该资源的下载次数判断访问热 度值是否达到预先设置的第 一 阈值。
随后,数据库卯向调度服务器92返回除已緩存该资源的緩存服务器 之外各緩存服务器94的负载值;调度服务器92根据该资源的访问热度值 以及除已缓存该资源的緩存服务器之外各緩存服务器94的负载值确定除 已緩存该资源的緩存服务器之外至少一个复制该资源的复制緩存服务器 94;也就是说,调度服务器92根据访问热度值和负载值选择负载较低的 服务器复制该资源。
具体地,调度服务器92选择负载较低的服务器具体包括如下处理1、 调度服务器92首先根据该资源的访问热度值确定单位时间内该资源的下 载次数,并根据单位时间内该资源的下载次数确定单位时间内该资源下载 次数的级别;2、调度服务器92根据负载值将除保存有该资源的緩存服务 器之外的所有缓存服务器94顺序排序,得到排序结果;3、调度服务器92 根据下载次数的级别确定需要复制緩存服务器的数量,并根据该数量从排 序结果中选择负载值低于预先设置的第二阈值的緩存服务器94作为复制緩存服务器。具体地,根据下载次数的级别确定需要复制緩存服务器的数 量包括单位时间内该资源的下载次数越多,单位时间内下载次数的级别
越高,选择的緩存服务器94的个数就越多。
随后,至少一个复制緩存服务器94从保存有该资源的緩存服务器中 复制该资源并緩存;保存有该资源的緩存服务器向完成复制的至少一个复 制緩存服务器94发送复制完成通知;至少一个复制緩存服务器94向调度 服务器92发送复制完成通知;调度服务器92取至少一个复制緩存服务器 94发送的复制完成通知。随后,调度力良务器92将复制完成通知、以及该 资源的复制信息写入数据库90,在以后用户下载该资源时,数据库90可 以根据该资源的复制信息查询该资源的緩存在哪几台緩存服务器94中。
从上述处理可以看出,本发明实施例采用的技术方案摒弃了热点资源 访问只能由单台緩存服务器负担的做法。自动将热点数据复制到多台空闲 緩存服务器,既可使多台緩存服务器共同提供负载,又提高了系统的可靠 性和可扩展性。此外,通过热点资源的复制机制,热点数据的并发访问可 以由多个緩存服务器分担,能够对緩存服务器资源进行充分地利用。并且, 在一个甚至多个緩存服务器出现故障时,为用户提供热点资源的服务不会 中断;此外,由于多台緩存服务器共同提供服务,可以减少出口带宽的压 力,防止出口带宽压力突增。.
下面,对用户请求下载已緩存资源情况下的处理进行详细说明。
具体地,用户向源站服务器发送资源下载请求;资源緩存系统的检测 服务器获取用户向源站服务器发送的资源下载请求,并向调度服务器92 发送资源查询请求;调度服务器92根据资源查询请求向其数据库90查询 该资源是否已经緩存在资源緩存系统的緩存服务器94中,随后,调度服 务器92指示数据库卯将该资源的访问热度值+1,即,更新资源的访问热 度值;数据库90根据该资源的复制信息查询该资源是否已经緩存,并更 新该资源的访问热度值。数据库卯在判断该资源已经緩存后,确定该资源緩存在哪些緩存服务器94中,并将所有緩存该资源的緩存服务器94的 信息发送到调度服务器92;调度服务器92向数据库90查询所有緩存该资 源的緩存服务器94的负载值;数据库90向调度服务器92反馈所有緩存 该资源的緩存服务器94的负载值;调度服务器92选择缓存有该资源的所 有緩存服务器94中负载值最低的缓存服务器作为目标下载緩存服务器, 调度服务器92将该目标下载緩存服务器94的信息通知重定向服务器;重 定向服务器将用户的资源下载请求重定向到该目标下载緩存服务器94;用 户连接至该目标下载緩存服务器94,并从该目标下载緩存服务器94中下 载该资源。
,人上述处理可以看出,通过热点资源访问多节点分流技术满足用户对 热点数据访问需求,能够解决热点资源访问造成的系统瓶颈问题,最大程 度提高了緩存服务器94的利用率,具有高可扩展性和高可靠性。 下面,对热点资源空间回收机制的处理过程进行详细说明。 具体地,调度服务器92每隔一定时间从数据库卯获取资源的复制信 息以及资源的访问热度值,在本发明实施例中,该资源为一个或多个热点 资源。数据库90向调度服务器92返回热点资源的访问热度值;调度服务 器92判断热点资源的访问热度值是否达到预先设置的阈值,如果达到预 先设置的阈值,则不进行任何处理,如果热点资源的访问热度值未达到预 先设置的阈值,调度服务器92向数据库卯查询緩存有热点资源的缓存服 务器94的负载值;数据库卯根据热点资源的复制信息查询緩存有该热点 资源的所有复制緩存服务器94,并将缓存有该热点资源的所有复制緩存服 务器94的负载值及该热点资源的访问热度值发送到调度服务器92;随后, 调度服务器92根据热点资源的访问热度值(即,下载时间及下载次数) 确定热点资源在单位时间内的下载次数,根据单位时间内的下载次数确定 热点资源下载次数的级别,并根据该级别确定热点资源保存复制的份数; 随后,调度服务器92根据緩存有热点资源的緩存服务器94的负载值以及热点资源保存复制的份数确定需要删除热点资源的至少 一个负载值高于 预先设置的第三阈值的緩存有热点资源的緩存服务器94,随后,调度服务 器92不再将之后用户发送的资源下载请求调度到确定的负载值高于预先 设置的第三阈值的緩存服务器上,并通知确定的至少 一个负载值高于预先
设置的第三阈值的緩存服务器在无用户下载该资源后,删除该资源;即, 优先删除负载相对高的緩存服务器94上的热点资源。至少一个负载值高 于预先设置的第三阈值的緩存服务器94在无用户下载该资源后,将热点 资源删除,并向调度服务器92返回删除完成消息;调度服务器92将删除 完成消息写入数据库90,并更新数据库90中的热点资源的复制信息。
从上述处理可以看出,通过热点资源空间回收机制可以提高存储空间 利用率,确保存储空间不被浪费。实现资源緩存系统的负载分流、存储空 间自动清理。
下面,对本发明实施例的资源緩存系统为P2P緩存系统的情况进行说 明。图IO是本发明实施例的P2P緩存系统的结构示意图,如图10所示, P2P緩存系统包括用户1,用户2,用户n,緩存服务器l,緩存服 务器2,緩存服务器3,緩存服务器4。
如上所述,调度服务器92判断存储在緩存服务器4的资源P为热点 资源,并计算P的访问热度值,决定将资源P复制2份到两台援存服务器 94,即,緩存服务器1和缓存服务器2,优选地,优先向空闲緩存服务器 94复制。调度服务器92发出指令让緩存服务器1和緩存服务器2将资源 P复制到本地。緩存服务器l和缓存服务器2复制完成后,通过通知数据 库的方式通知调度服务器92,同时通告调度服务器92哪些服务器可为用 户提供该緩存资源。此后,调度服务器92便可根据调度算法调度可以访 问此资源的緩存服务器l、緩存服务器2、緩存服务器4为用户提供服务。 当热点值改变到阈值时,调度服务器会根据緩存服务器1、緩存服务器2、 缓存服务器4的状态减少适量的热点文件副本,不会造成资源浪费。使用本机磁盘作为存储,通过调度服务器92计算统计热点资源并控
制复制方向,各个含有相同热点资源的緩存服务器94共同提供访问,可 满足P2P緩存系统大用户量的应用,尤其适用于有较多热点资源的场景。
图11是本发明实施例的对资源分类存储的系统结构示意图,如图11 所示,包括用户1、用户2、用户3,调度服务器、通用緩存服务器、媒体 资源緩存服务器、Exe资源缓存服务器、Iso资源緩存服务器。
调度服务器通过热点调度算法将通用服务器中的热点文件,按照文件 类型,复制到优化过的不同性能的专用緩存服务器中,由专用缓存服务器 对用户提供高性能的数据传输,充分利用不同性能服务器的资源,以此提 高整个緩存系统性能。
上述系统构架可以应用于原有系统的扩充,将不同性能的服务器充分 利用,节省整体成本。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说 明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以 是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多 个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现 本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况 下,即可以理解并实施。
结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以 电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软 件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成 及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特 定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同 方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
综上所述,借助于本发明的技术方案,通过将热点资源判断机制用于 緩存系统中,复制热点资源到多台緩存服务器中,以实现访问负载分流。通过调度服务器实现各个緩存服务器之间的调度,使得多个緩存服务器共 同提供服务,从而提高了緩存系统的可扩展性和效率。在一个甚至多个緩 存服务器出现故障时,为用户提供热点资源的服务不会中断;此外,由于 多台緩存服务器共同提供服务,可以减少出口带宽的压力,防止出口带宽 压力突增,最大程度提高了緩存服务器的利用率。通过热点资源空间回收 机制可以提高存储空间利用率,确保存储空间不被浪费。实现资源緩存系 统的负载分流、存储空间自动清理。
最后应说明的是以上实施例仅用以说明本发明的技术方案,而非对 其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通 技术人员应当理解其依然可以对前述各实施例所记载的技术方案进行修 改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不 使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
权利要求
1、一种资源缓存方法,其特征在于,包括每隔第一预定时间从数据库获取资源的访问热度值,并在判断所述访问热度值达到预先设置的第一阈值的情况下,从所述数据库获取缓存服务器的负载值;根据所述访问热度值以及所述负载值确定复制所述资源的复制缓存服务器,并通知所述复制缓存服务器从保存有所述资源的缓存服务器中复制所述资源并缓存。
2、 根据权利要求1所述的方法,其特征在于,所述根据所述访问热度值 以及所述负载值确定所述复制緩存服务器包括根据所述访问热度值确定单位时间内所述资源的下载次数的级别; 根据所述负载值将除保存有所述资源的緩存服务器之外的所有緩存服务器顺序排序,得到排序结果;根据所述下载次数的级别确定需要所述复制緩存服务器的数量,并根据所述数量从所述排序结果中选择负载值低于预先设置的第二阈值的緩存服务器作为所述复制緩存服务器。
3、 根据权利要求1所述的方法,其特征在于,还包括 获取所述复制缓存服务器发送的复制完成通知,将所述复制完成通知以及复制信息写入所述数据库,其中,所述复制信息为緩存有所述资源的复制 緩存服务器的信息。
4、 根据权利要求3所述的方法,其特征在于,还包括当保存有所述资源的緩存服务器的访问热度值低于所述第一阈值时,在 緩存有所述资源的緩存服务器中确定至少一个緩存服务器,并通知所述确定 的緩存服务器删除所述资源;接收所述緩存服务器发送的删除完成消息,将所述删除完成消息写入所 述数据库,并更新所述数据库中所述资源的复制信息。
5、 一种资源获取方法,其特征在于,包括接收资源查询请求,向数据库查询所请求的资源是否有缓存;接收所述数据库发送的緩存有所述资源的所有緩存服务器的信息以及緩 存有所述资源的所有緩存服务器的负载值;根据緩存有所述资源的所有緩存服务器的信息以及緩存有所述资源的所 有緩存服务器的负载值选择目标下载緩存服务器;通知所述用户^v所述目标下载緩存服务器中下载所述资源。
6、 根据权利要求5所述的方法,其特征在于,所述根据緩存有所述资源 的所有緩存服务器的信息以及緩存有所述资源的所有緩存服务器的负载值选 择目标下载缓存服务器包括选择緩存有所述资源的所有緩存服务器中负载值最低的緩存服务器作为 目标下载緩存服务器。
7、 一种资源緩存装置,其特征在于,包括获取模块,用于每隔第一预定时间从数据库获取资源的访问热度值,并 在判断所述访问热度值达到预先设置的第一阈值的情况下,从所述数据库获 取緩存服务器的负载值;第一确定模块,用于根据所述访问热度值以及所述负载值确定复制所述 资源的复制緩存服务器;第一通知模块,用于通知所述复制緩存服务器从保存有所述资源的緩存 服务器中复制所述资源并緩存。
8、 根据权利要求7所述的装置,其特征在于,所述第一确定模块具体包括确定子模块,用于根据所述访问热度值确定单位时间内所述资源的下载 次数的级别;排序模块,用于根据所述负载值将除保存有所述资源的緩存服务器之外的所有緩存服务器顺序排序,得到排序结果;选择模块,用于根据所述下载次数的级别确定需要所述复制缓存服务器的数量,并根据所述数量从所述排序结果中选择负载值低于预先设置的第二阈值的緩存服务器作为所述复制緩存服务器。
9、 根据权利要求7所述的装置,其特征在于,所述资源緩存装置还包括第二确定模块,用于当保存有所述资源的緩存服务器的访问热度值低于 所述第 一阈值时,在緩存有所述资源的緩存服务器中确定至少一个緩存服务器;第二通知模块,用于通知所述确定的緩存服务器删除所述资源; 第一接收模块,用于接收所述确定的緩存服务器发送的删除完成消息; 更新模块,用于将所述删除完成消息写入所述数据库,并更新所述数据 库中所述资源的复制信息。
10、 一种资源获取装置,其特征在于,包括 第二接收模块,用于接收资源查询请求;第三确定模块,用于根据所述资源查询请求向数据库查询所请求的资源 是否有缓存;第三接收4莫块,用于接收所述数据库发送的緩存有所述资源的所有緩存 服务器的信息以及緩存有所述资源的所有緩存服务器的负载值;第四确定模块,用于根据緩存有所述资源的所有緩存服务器的信息以及 緩存有所述资源的所有缓存服务器的负载值选择目标下载緩存服务器;第三通知模块,用于通知所述用户从所述目标下载緩存服务器中下载所 述资源。
11、 一种资源緩存系统,其特征在于,包括数据库,用于存储资源的访问热度值以及緩存服务器的负载值; 调度服务器,用于每隔第一预定时间从数据库获取资源的访问热度值, 并在判断所述访问热度值达到预先设置的第一阈值的情况下,从所述数据库 获取缓存服务器的负载值,根据所述访问热度值以及所述负载值确定复制所 述资源的复制緩存服务器,并通知所述复制緩存服务器从保存有所述资源的 緩存服务器中复制所述资源;緩存服务器,用于在所述调度服务器的控制下从保存有所述资源的缓存 服务器中复制所述资源并緩存。
全文摘要
本发明提供一种源缓存方法、资源获取方法及其装置、系统,其中,源缓存方法包括每隔第一预定时间从数据库获取资源的访问热度值,并在判断访问热度值达到预先设置的第一阈值的情况下,从数据库获取缓存服务器的负载值;根据访问热度值以及负载值确定复制资源的复制缓存服务器,并通知复制缓存服务器从保存有资源的缓存服务器中复制资源并缓存。通过将热点资源复制到多个空闲服务器中,克服了现有技术中同一资源只能在一台缓存服务器中缓存而导致的相对空闲的缓存服务器无法为繁忙的缓存服务器分担负载的缺陷,实现了多个缓存服务器共同提供服务,从而提高了缓存系统的可扩展性和工作效率。
文档编号H04L29/08GK101668046SQ20091020723
公开日2010年3月10日 申请日期2009年10月13日 优先权日2009年10月13日
发明者晨 公, 刚 兰, 周树国, 瑞 王 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1