用于集群的分发内容缓存方法及系统的制作方法
【专利摘要】本发明提供了一种用于集群的分发内容缓存方法,包括:确定与内容分发请求对应的第一特征值;确定集群中各缓存节点的各个第二特征值;从各缓存节点中选择满足:符合工作要求;第二特征值大于第一特征值,且与第一特征值的差距相对于未选择的剩余节点而言更接近的至少一个缓存节点缓存待分发内容。本发明还提供了相应的系统。本发明对内容和节点均进行了特征值的确定和比较,将内容相对于节点的缓存位置进行了排序。当集群中节点减少时,只需将下线节点中的内容全部移至第二特征值大于且最接近该下线节点的节点中即可完成数据迁移,避免了通过简单哈希确定缓存位置的方法在节点减少时大量数据的缓存位置需要重新确定且确定后的缓存位置随机的缺陷。
【专利说明】
用于集群的分发内容缓存方法及系统
技术领域
[0001] 本发明设及集群领域,具体设及一种用于集群的分发内容缓存方法及系统。
【背景技术】
[0002] 随着Internet的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增 长,数据中屯、、大型企业W及口户网站等的服务器逐渐被数据淹没。相对于网络技术的发 展,服务器处理器速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长,网 络带宽增长的同时带来的用户数量的增长,也使得服务器资源消耗严重,服务器成为了网 络瓶颈。为此,通过组建服务器集群,利用负载均衡技术在服务器间进行业务均衡,成为一 种低成本、可扩展的有效解决办法。集群是一组相互独立的、通过高速网络互联的计算机, 它们构成了一个组,并W单一系统的模式加 W管理。一个客户与集群相互作用时,集群像是 一个独立的服务器。和传统的高性能计算机技术相比,集群技术可W利用各档次的服务器 作为节点,系统造价低,可W实现很高的运算速度,完成大运算量的计算,具有较高的响应 能力,能够满足当今日益增长的信息服务的需求。
[0003] 现有技术中,为了实现负载均衡,调度中屯、向服务器分发内容时是根据不同的内 容文件地址的哈希值,例如将N台服务器(即节点)进行哈希取模,将key值为X的内容分发到 hash(X)mod N对应的服务器中,W使服务器将分发得到的内容进行缓存。由于调度中屯、的 物理环境距离每个集群较远,当集群中某些服务器传输存在延迟或丢包现象,或要对集群 进行扩容时,集群内服务器的数量发生了变化。此时,相同文件地址的内容可能被分发至不 同的服务器,该集群内各个服务器也要对已缓存的内容重新进行整理,工作量较多,不便于 缓存的管理。此外,当调度中屯、对多个集群的内容分发进行调度时,若集群数目过多,则会 造成中屯、控制器负载过重,影响系统性能。
【发明内容】
[0004] 本发明实施例提供一种用于集群的分发内容缓存方法及系统,用W解决现有技术 中集群在缓存被分发的内容时采用简单哈希从而当集群中节点数目发生变化时同一地址 的内容缓存至不同节点的问题,通过由内容和节点的特征信息得到二者的特征值并共同根 据二者特征值的大小来实现对被分发的内容进行缓存的方式。
[0005] -方面本发明提供了一种用于集群的分发内容缓存方法,包括:
[0006] 确定与内容分发请求对应的第一特征值,所述第一特征值至少根据所述内容分发 请求的待分发内容的特征信息确定;
[0007] 确定集群中各缓存节点的各个第二特征值,所述第二特征值至少根据所述各缓存 节点的具备唯一标识的特征信息确定;
[000引从各缓存节点中选择满足下述条件的至少一个缓存节点缓存所述待分发内容:
[0009] -符合工作要求;
[0010] -第二特征值大于第一特征值,且与第一特征值的差距相对于未选择的剩余节点 而言更接近。
[0011] 另一方面本发明提供了一种用于集群的分发内容缓存系统,包括:
[0012] 内容特征值确定单元,用于确定与内容分发请求对应的第一特征值,所述第一特 征值至少根据所述内容分发请求的待分发内容的特征信息确定;
[0013] 节点特征值确定单元,用于确定集群中各缓存节点的各个第二特征值,所述第二 特征值至少根据所述各缓存节点的具备唯一标识的特征信息确定;
[0014] 缓存节点确定单元,用于从各缓存节点中选择满足下述条件的至少一个缓存节点 缓存所述待分发内容:
[001引-符合工作要求;
[0016] -第二特征值大于第一特征值,且与第一特征值的差距相对于未选择的剩余节点 而言更接近。
[0017] 本发明提供的用于集群的分发内容缓存方法及系统,通过将待分发内容的特征信 息及集群中所有节点的特征信息均进行相应的处理得到内容的第一特征值和节点的各个 第二特征值,并根据内容的第一特征值和节点的第二特征值二者的大小确定缓存待分发内 容的节点。由于对待分发内容和节点均进行了特征值的确定,并将二者的特征值进行比较, 待分发内容被缓存至其第一特征值小于且最接近的第二特征值对应的节点中,因而待分发 内容的缓存位置不是随机的,而是相对于节点的位置进行了排序。当集群中节点减少时,只 需将下线的节点中的内容全部移至第二特征值大于且最接近该下线节点的第二特征值的 节点中即可完成数据的迁移过程,避免了现有技术中通过简单哈希确定缓存位置的方法在 节点数目减少时大量数据的缓存位置需要重新确定且确定后的缓存位置随机的缺陷。
【附图说明】
[0018] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用 的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领 域普通技术人员来讲,在不付出创造性劳动的前提下,还可W根据运些附图获得其他的附 图。
[0019] 图1是本发明一实施例的用于集群的分发内容缓存方法的流程图;
[0020] 图2是本发明一实施例的用于集群的分发内容缓存系统的结构示意图。 具体实施例
[0021] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例 中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是 本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员 在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0022] 图1是本发明一实施例的用于集群的分发内容缓存方法的流程图。如图1所示,该 方法包括:
[0023] SlOl:确定与内容分发请求对应的第一特征值,所述第一特征值至少根据所述内 容分发请求的待分发内容的特征信息确定;
[0024] S102:确定集群中各缓存节点的各个第二特征值,所述第二特征值至少根据所述 各缓存节点的具备唯一标识的特征信息确定;
[0025] S103:从各缓存节点中选择满足下述条件的至少一个缓存节点缓存所述待分发内 容:
[0026] -符合工作要求;
[0027] -第二特征值大于第一特征值,且与第一特征值的差距相对于未选择的剩余节点 而言更接近。
[0028] 本实施例步骤S103中所述工作要求包括:缓存节点在其所在的集群在线。例如,缓 存节点和其他服务器之间的传输没有延迟、丢包等现象,且缓存节点未超载。通过将待分发 内容的特征信息及集群中所有节点的特征信息均进行相应的处理得到内容的第一特征值 和节点的各个第二特征值,并根据内容的第一特征值和节点的第二特征值二者的大小,确 定缓存待分发内容的节点。由于对内容和节点均进行了特征值的确定,并将二者的特征值 进行比较,待分发内容被缓存至其第一特征值小于且最接近的第二特征值对应的节点中, 因而待分发内容的缓存位置不是随机的,而是相对于节点的位置进行了排序。当集群中节 点减少时,只需将下线的节点中的内容全部移至第二特征值大于且最接近该下线节点的第 二特征值的节点中即可完成数据的迁移过程,避免了现有技术中通过简单哈希确定缓存位 置的方法在节点数目减少时大量数据的缓存位置需要重新确定且确定后的缓存位置随机 的缺陷。
[0029] 作为图1所示实施例的进一步优化,步骤S103中至少一个缓存节点的数量与待分 发内容的预期访问量的大小正相关。当待分发内容的预期访问量较大时,例如通过用户访 问日志得知某一内容近期访问量急剧增加,可能需要多个缓存节点来对待分发内容进行缓 存才能满足用户的访问频次。缓存该预期访问量较大的待分发内容的缓存节点的选择也是 根据图1所示实施例进行的。例如,某内容需要IOG的流量/带宽进行缓存,而集群中每个缓 存节点的流量/带宽为2G,一个缓存节点无法满足该内容的缓存需求,从而需要至少五个缓 存节点才能缓存该内容并在用户访问时提供给用户。因此,图1所示实施例能够将相同地址 的文件缓存至集群中的同一缓存节点上,方便缓存的管理,而本实施例所示的方法能够满 足访问频次较高的内容的缓存,避免了单个缓存节点缓存超载的情况。
[0030] 在一些实施例中,所述待分发内容的特征信息至少包括文件标识码和/或文件地 址;所述缓存节点的具备唯一标识的特征信息至少包括ID、密码、IP地址、端口中的一种。无 论特征信息是哪一种,都具备唯一标识,即集群中每一个缓存节点的ID、密码、IP地址、端口 等都是不相同的。
[0031] 作为图1所示实施例的进一步优化,所述第一特征值和第二特征值至少包括基于 哈希算法确定的MD5值或SHAl值。
[0032] 对于本发明实施例所示的方法的执行对象可W是调度中屯、,也可W是集群中的调 度节点。当所示方法应用在调度节点上时,内容分发请求可W来自调度中屯、,通过在调度节 点上进行缓存节点的确定,可W减轻调度中屯、的负担。
[0033] 图2是本发明一实施例的用于集群的分发内容缓存系统的结构示意图。本发明所 述的用于集群的分发内容缓存方法可W基于本实施例中的用于集群的分发内容缓存系统 实施。如图2所示,该系统包括内容特征值确定单元201、节点特征值确定单元202和缓存节 点确定单元203。
[0034] 内容特征值确定单元201用于确定与内容分发请求对应的第一特征值,所述第一 特征值至少根据所述内容分发请求的待分发内容的特征信息确定;
[0035] 节点特征值确定单元202用于确定集群中各缓存节点的各个第二特征值,所述第 二特征值至少根据所述各缓存节点的具备唯一标识的特征信息确定;
[0036] 缓存节点确定单元203用于从各缓存节点中选择满足下述条件的至少一个缓存节 点缓存所述待分发内容:
[0037] -符合工作要求;
[0038] -第二特征值大于第一特征值,且与第一特征值的差距相对于未选择的剩余节点 而言更接近。
[0039] 在本发明实施例中,所述工作要求包括:缓存节点在其所在的集群在线。例如,缓 存节点和其他服务器之间的传输没有延迟、丢包等现象,且缓存节点未超载。
[0040] 作为图2所示系统实施例的进一步说明,图2所示实施例中,所述至少一个缓存节 点的数量与所述待分发内容的预期访问量的大小正相关。
[0041] 在本发明一些实施例中,所述待分发内容的特征信息至少包括文件标识码和/或 文件地址;所述缓存节点的具备唯一标识的特征信息至少包括ID、密码、IP地址、端口中的 一种。
[0042] 作为图2所示实施例系统的进一步说明,所述第一特征值和第二特征值至少包括 基于哈希算法确定的MD5值或SHAl值。
[0043] 本发明实施例所示的系统可W搭载在调度中屯、上,也可W搭载在集群中的调度节 点上。
[0044] 本发明实施例中可W通过硬件处理器化ardware processor)来实现相关功能模 块。
[0045] 下面W本发明实施例所示的方法其执行对象为集群中的调度节点为例对本发明 做进一步的说明。
[0046] 假设集群A中有5个缓存节点,分别为A1-A5。通过对运5个缓存节点的IP地址进行 处理,得到它们的特征值如下表所示。 「nn/i7l
[0048] 表1各个缓存节点的第二特征值
[0049] 此时调度节点接收到多个内容分发请求,从所述多个内容分发请求中可W得到多 个待分发内容Bl-BlO的特征信息,并通过计算得到其第一特征值及流量/带宽如下表所示。 「nnc;n1 LUUD-I J 巧^步/广巧分及内谷护」弟^符化但
[0052]根据本发明实施例所示方法,多个待分发内容Bl-BlO对应的缓存节点如下表:
[0化3]
[0054] 表3待分发内容与缓存节点对应关系(未考虑缓存节点大小)
[0055] 考虑到每个缓存节点的流量/带宽为3000,待分发内容B4的流量/带宽为3650,超 过了缓存节点A3的负载能力,因此待分发内容B4还需在缓存节点A4中缓存,缓存节点A4的 第二特征值59大于待分发内容B4的第一特征值40,且二者的差距为19,相对于未选择的缓 存节点A5的第二特征值77与B4的第一特征值40的差距37更小。故考虑到缓存节点负载大小 的待分发内容与缓存节点的对应关系如下表:
[0化6]
[0057] 表4待分发内容与缓存节点对应关系(考虑到缓存节点大小)
[0058] 即待分发内容Bl缓存在缓存节点Al中,待分发内容B2缓存在缓存节点A2中,待分 发内容B3缓存在缓存节点A2中,待分发内容B4缓存在缓存节点A3和A4中,待分发内容B5缓 存在缓存节点A3中,待分发内容B6缓存在缓存节点A4中,待分发内容B7缓存在缓存节点A4 中,待分发内容B8缓存在缓存节点A5中,待分发内容B9缓存在缓存节点A5中,待分发内容Bl 缓存在缓存节点A5中。
[0059] W上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可 W是或者也可W不是物理上分开的,作为单元显示的部件可W是或者也可W不是物理单 元,即可W位于一个地方,或者也可W分布到多个网络单元上。可W根据实际的需要选择其 中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性 的劳动的情况下,即可W理解并实施。
[0060] 通过W上的实施例的描述,本领域的技术人员可W清楚地了解到各实施例可借助 软件加必需的通用硬件平台的方式来实现,当然也可W通过硬件。基于运样的理解,上述技 术方案本质上或者说对现有技术做出贡献的部分可WW软件产品的形式体现出来,该计算 机软件产品可W存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用 W使得一台计算机设备(可W是个人计算机,服务器,或者网络设备等)执行各个实施例或 者实施例的某些部分所述的方法。
[0061]最后应说明的是:W上实施例仅用W说明本发明的技术方案,而非对其限制;尽管 参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可 W对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换; 而运些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和 范围。
【主权项】
1. 一种用于集群的分发内容缓存方法,所述方法包括: 确定与内容分发请求对应的第一特征值,所述第一特征值至少根据所述内容分发请求 的待分发内容的特征信息确定; 确定集群中各缓存节点的各个第二特征值,所述第二特征值至少根据所述各缓存节点 的具备唯一标识的特征信息确定; 从各缓存节点中选择满足下述条件的至少一个缓存节点缓存所述待分发内容: -符合工作要求; -第二特征值大于第一特征值,且与第一特征值的差距相对于未选择的剩余节点而言 更接近。2. 根据权利要求1所述的方法,其中,所述至少一个缓存节点的数量与所述待分发内容 的预期访问量的大小正相关。3. 根据权利要求1所述的方法,其中,所述工作要求包括:缓存节点在所述集群在线。4. 根据权利要求1所述的方法,其中,所述待分发内容的特征信息至少包括文件标识码 和/或文件地址;所述缓存节点的具备唯一标识的特征信息至少包括ID、密码、IP地址、端口 中的一种。5. 根据权利要求1-4中任一项所述的方法,其中,所述第一特征值和第二特征值至少包 括基于哈希算法确定的MD5值或SHA1值。6. -种用于集群的分发内容缓存系统,包括: 内容特征值确定单元,用于确定与内容分发请求对应的第一特征值,所述第一特征值 至少根据所述内容分发请求的待分发内容的特征信息确定; 节点特征值确定单元,用于确定集群中各缓存节点的各个第二特征值,所述第二特征 值至少根据所述各缓存节点的具备唯一标识的特征信息确定; 缓存节点确定单元,用于从各缓存节点中选择满足下述条件的至少一个缓存节点缓存 所述待分发内容: -符合工作要求; -第二特征值大于第一特征值,且与第一特征值的差距相对于未选择的剩余节点而言 更接近。7. 根据权利要求6所述的系统,其中,所述至少一个缓存节点的数量与所述待分发内容 的预期访问量的大小正相关。8. 根据权利要求6所述的系统,其中,所述工作要求包括:缓存节点在所述集群在线。9. 根据权利要求6所述的系统,其中,所述待分发内容的特征信息至少包括文件标识码 和/或文件地址;所述缓存节点的具备唯一标识的特征信息至少包括ID、密码、IP地址、端口 中的一种。10. 根据权利要求6-9中任一项所述的系统,其中,所述第一特征值和第二特征值至少 包括基于哈希算法确定的MD5值或SHA1值。
【文档编号】H04L29/08GK105847362SQ201610184530
【公开日】2016年8月10日
【申请日】2016年3月28日
【发明人】李洪福
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司