内容分发方法及系统的制作方法

文档序号:10525609阅读:530来源:国知局
内容分发方法及系统的制作方法
【专利摘要】本发明提供了一种内容分发方法,包括:将多个节点进行分类;向至少一个类中的至少一个节点进行内容的分发;将用户访问请求定向至多个节点中距离用户最近的第一节点;当第一节点缓存有用户请求访问的内容时,将内容发送给用户;否则,通过第一节点向其所在的类中的剩余节点请求内容或向源站请求内容。本发明还提供了相应的系统。本发明通过将全部节点分类,使得每个类中的有限个节点对全网中全部节点的数目来说相对较少,系统可以有目的性的向至少一个类中的节点中分发内容,避免了随机选择节点进行内容分发导致的一系列问题。尤其当用户访问请求被定向至距离最近的节点且通过该节点所在类中缓存有内容的节点得到内容时,与现有技术相比速度较快。
【专利说明】
内容分发方法及系统
技术领域
[0001]本发明涉及⑶N领域,具体涉及一种内容分发方法及系统。
【背景技术】
[0002]内容分发网络(Content Delivery Network,简称为(DN) —种通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络,用于提高用户访问互联网内容的速度。采用CDN技术之前,内容消费用户直接访问内容源服务器,获取内容发布者发布的内容。在访问请求量大的情况下,内容源服务器面临的压力较大。为此,CDN将来自内容源的内容缓存到网络边缘的CDN节点中,内容消费用户从较为接近的节点获取内容。通过此方式,CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,选择离用户相对较近的节点向用户发送用户所需的内容,缓解内容源服务器的压力,降低骨干网络的流量,缓解网络拥挤的状况,提高网站的响应速度。
[0003]由于⑶N中节点数目非常多,一般来说是无法将内容一步到位直接分发到⑶N中的所有节点的,只能将内容先分发至一部分节点,再通过这些节点将内容逐步分发至全部节点。现有技术中,先被分发内容的节点是在所有的节点之间随机选择的,即分发到内容的节点在整个网络中的分布是随机的,导致当用户请求访问时很难确定最优的访问路径。现有技术中还通过使用代理服务器来进行内容的预分发,然而这对增加的代理服务器的缓存空间、速度等性能要求较高,对整个系统来说增加了成本和负担。

【发明内容】

[0004]本发明实施例提供一种内容分发方法及系统,用以解决现有技术中CDN在分发内容时随机选择其中的节点进行分发导致用户较难确定最优访问路径的问题,实现通过将所有节点分类来进行内容分发的方式。
[0005]—方面本发明提供了一种内容分发方法,包括:
[0006]将多个节点进行分类;
[0007]向至少一个类中的至少一个节点进行内容的分发,以在所述至少一个节点缓存所述内容;
[0008]将用户的访问请求定向至所述多个节点中距离用户最近的第一节点;
[0009]当所述第一节点中缓存有用户请求访问的内容时,将所述内容发送给用户;
[0010]当所述第一节点中没有缓存用户请求访问的内容时,通过所述第一节点向所述第一节点所在的类中的剩余节点请求内容或直接向源站请求内容。
[0011]另一方面本发明提供了一种内容分发系统,包括:
[0012]分类单元,用于将多个节点进行分类;
[0013]分发单元,用于向至少一个类中的至少一个节点进行内容的分发,以在所述至少一个节点缓存所述内容;
[0014]路由单元,用于将用户的访问请求定向至所述多个节点中距离用户最近的第一节占.V,
[0015]处理单元,用于当所述第一节点中缓存有用户请求访问的内容时,将所述内容发送给用户;当所述第一节点中没有缓存用户请求访问的内容时,向所述第一节点所在的类中的剩余节点请求内容或直接向源站请求内容。
[0016]本发明提供的内容分发方法及系统,通过将整个网络中的所有节点进行分类,使得每个类中的有限个节点对整个网络中全部节点的数目来说相对较少,系统可以有目的性的向至少一个类的至少一个节点中分发内容,避免了随机选择节点进行内容分发导致的一系列问题。当用户访问请求被定向至距离最近的节点且该节点所在类的所有节点中存在缓存有内容的节点时,通过缓存有内容的节点得到内容,与现有技术由于节点过多且缓存有内容的节点是随机的而无法立即得知哪些节点缓存有内容相比速度较快,且本发明不需要对系统进行过多的硬件升级,与现有技术中增加代理服务器相比,不会过多增加系统成本和负担。
【附图说明】
[0017]为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0018]图1是本发明一实施方式的内容分发方法的流程图;
[0019]图2是本发明一实施方式的内容分发系统的结构示意图。
【具体实施方式】
[0020]为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0021]图1是本发明一实施方式的内容分发方法的流程图。如图1所示,该方法包括:
[0022]SlOl:将多个节点进行分类;
[0023]S102:向至少一个类中的至少一个节点进行内容的分发,以在所述至少一个节点缓存所述内容;
[0024]S103:将用户的访问请求定向至所述多个节点中距离用户最近的第一节点;
[0025]S104:当第一节点中缓存有用户请求访问的内容时,将所述内容发送给用户;
[0026]S105:当第一节点中没有缓存用户请求访问的内容时,通过第一节点向第一节点所在的类中的剩余节点请求内容或直接向源站请求内容。
[0027]本实施例步骤S105中向第一节点所在的类中的剩余节点请求内容的方式可以是转发用户访问请求。通过将整个网络中的所有节点进行分类,使得每个类中的有限个节点对整个网络中全部节点的数目来说相对较少,系统可以有目的性的向至少一个类的至少一个节点中分发内容,避免了随机选择节点进行内容分发导致的一系列问题。当用户访问请求被定向至距离最近的节点且该节点所在类的所有节点中存在缓存有内容的节点时,通过缓存有内容的节点得到内容,与现有技术由于节点过多且缓存有内容的节点是随机的而无法立即得知哪些节点缓存有内容相比速度较快,且本发明不需要对系统进行过多的硬件升级,与现有技术中增加代理服务器相比,不会过多增加系统成本和负担。
[0028]图1所示实施例中步骤S105向第一节点所在的类中的剩余节点请求内容包括:
[0029]S1051:通过所述第一节点向所述第一节点所在类的第二节点请求内容,当所述第二节点缓存有所述请求内容时,由所述第二节点将所述内容发送给用户;
[0030]S1052:当所述第二节点不存在所述请求内容时,继续寻找,遍历所述第一节点以及第二节点所在的类的所有节点,直到找到缓存有所述请求内容的节点。
[0031]本发明实施例中当第一节点所在的类中缓存有内容的节点有多个时,第一节点向缓存有内容的节点转发用户访问请求可以按照与第一节点的距离由近到远的方式遍历访问,也可以同时访问该类中所有缓存有内容的节点,选择响应较快的节点作为发送内容的节点。
[0032]作为图1所示实施例的进一步优化,图1所示实施例中步骤SlOl包括:将多个节点按照彼此之间的距离小于预定阈值的方式进行分类。本实施例按照节点彼此之间的距离小于预定阈值对全部节点进行分类,使得同一类中节点彼此之间的距离非常近,不同类之间的节点距离相对较远,用户访问请求被定向至距离最近的节点且该节点没有用户请求访问的内容后,在该节点所在类中的剩余节点里找寻缓存有该内容的节点时,由于距离该节点最近的节点都在该类中,因此将用户访问请求再次定向至该类中缓存有内容的剩余节点的路径距离是最短的,用户能以最快速度得到内容,从而克服了现有技术中访问路径距离由于随机向节点分发内容导致的不确定性,加快了 CDN的速度,提升了用户体验。本发明实施例中对节点的分类方式可以通过聚类来进行,对全部节点的聚类过程使用现有技术中的聚类算法即可。
[0033]作为图1所示实施例的进一步优化,图1所示实施例中步骤S102包括:
[0034]S1021:向每个类中的其中一个节点进行内容的分发;
[0035]S1022:由所述其中一个节点对所在类中的剩余节点进行内容的转发。
[0036]本实施例可以用于热门内容的分发情况。先将内容分发至每一类中的任意一个或多个节点中,再通过被分发内容的节点将内容分发至其所在类的其余节点中,与现有技术相比,其分发的过程准确而有秩序。并且,通过该方式,使得全网中所有的节点上都缓存有该热门内容,在大量的用户访问请求下能够节省流量。
[0037]作为图1所示实施例的进一步优化,本发明实施例按照预定时间段采集多个节点彼此之间的距离,当所述距离发生变化时,重新按照变化后的距离小于预定阈值的方式将多个节点进行分类。节点之间的距离不只受地理因素的影响,还受到网络速度、丢包率等因素的影响,因此当这些因素改变时,节点之间的距离也会相应变化,此时重新采集全网中的节点距离并对所有的节点重新进行分类能够使得节点分类的准确度提高,即确保同一类中的节点距离最近化,为本发明中的内容分发系统提供了良好的保证。
[0038]图2是本发明一实施方式的内容分发系统的结构示意图。本发明所述的内容分发方法可以基于本实施例中的内容分发系统实施。如图2所示,该系统包括分类单元201、分发单元202、路由单元203及处理单元204。
[0039]分类单元201用于将多个节点进行分类。
[0040]分发单元202用于向至少一个类中的至少一个节点进行内容的分发,以在所述至少一个节点缓存内容。
[0041]路由单元203用于将用户的访问请求定向至所述多个节点中距离用户最近的第一节点。
[0042]处理单元204用于当所述第一节点中缓存有用户请求访问的内容时,将所述内容发送给用户;当所述第一节点中没有缓存用户请求访问的内容时,向所述第一节点所在的类中的剩余节点请求内容或直接向源站请求内容。
[0043]在本发明的【具体实施方式】中,路由单元203可以表现为,例如调度中心。处理单元204可以是配置在每个节点上的缓存查询单元和发送单元。缓存查询单元用于响应用户的访问请求查询缓存中是否存在与用户的访问请求对应的内容。发送单元用于在缓存查询单元确认缓存有用户请求的内容时,将内容发送给用户,否则,向发送单元所属的节点所在的类中的剩余节点请求内容或直接向源站请求内容。
[0044]作为图2所示实施例系统的进一步说明,图2所示实施例中的处理单元204用于:
[0045]通过所述第一节点向所述第一节点所在类的第二节点请求内容,当所述第二节点缓存有所述请求内容时,由所述第二节点将所述内容发送给用户;当所述第二节点不存在所述请求内容时,继续寻找,遍历所述第一节点以及第二节点所在的类的所有节点,直到找到缓存有所述请求内容的节点。
[0046]作为图2所示实施例系统的进一步优化,图2所示实施例中分类单元201用于将多个节点按照彼此之间的距离小于预定阈值的方式进行分类。
[0047]作为图2所示实施例系统的进一步优化,图2所示实施例中分发单元202用于:
[0048]向每个类中的其中一个节点进行内容的分发;
[0049]由所述其中一个节点对所在类中的剩余节点进行内容的转发。
[0050]作为图2所示实施例系统的进一步优化,图2所示实施例中的系统还包括采集单元205,用于按照预定时间段采集多个节点彼此之间的距离,分类单元201用于在所述距离发生变化时,重新按照变化后的距离小于预定阈值的方式将多个节点进行分类。
[0051]本发明实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
[0052]下面以视频领域为例对本发明做进一步的说明。
[0053]企业按照节点彼此之间的距离小于预定阈值的规则对全网内的所有节点进行聚类,得到例如四个聚类,其中聚类A包括节点A1-A10,聚类B包括节点B1-B10,聚类C包括节点C1-C10,聚类D包括节点D1-D10。企业准备在内容分发系统中对视频1、视频2和视频3进行分发,其中视频I为热门内容,视频2为访问频率一般的内容,视频3为很少被访问的内容。
[0054]以分发视频I为例,内容分发系统先将视频I分发至每个聚类中的任意节点,例如聚类A中的节点Al、聚类B中的节点B1、聚类C中的节点Cl和聚类D中的节点Dl。再通过节点Al、节点B1、节点Cl和节点Dl分别将视频I分发至聚类A、聚类B、聚类C和聚类D中的所有节点,这样全网中所有的节点都缓存有热门内容视频1,用户请求访问视频I的内容时可以节省再次缓存的流量。
[0055]此时用户请求访问视频1,内容分发系统将该用户请求重定向至距离用户最近的节点,例如节点A2。由于视频I是热门内容,已经通过内容分发系统分发在了整个网络中的全部节点中,包括节点A2,此时节点A2中缓存有视频1,用户无需再次访问其他节点即可得至IJ视频I。因此,当内容访问频率较多即为热门内容时,只要将用户访问请求定向至距离用户最近的节点即可使用户以最快的速度得到该视频内容。
[0056]在分发视频2时,内容分发系统将视频2分发至四个聚类中每个聚类的任意节点中,例如聚类A中的节点A2和A3、聚类B中的节点B2、聚类C中的节点C2和聚类D中的节点D2,即完成了分发过程。由于视频2被访问的频率一般,只要保证在每个聚类中的至少一个节点缓存有该内容,即可以最快的速度在被访问的节点所属的聚类中通过被分发有该内容的节点得到内容,既节省了全网内节点的缓存空间,也省去了回源服务器拉取该内容的麻烦。
[0057]此时用户请求访问视频2,内容分发系统将该用户请求重定向至距离用户最近的节点,例如节点A6。节点A6中没有缓存视频2,因此向聚类A中的其他节点请求内容。聚类A中节点A2和节点A3缓存有视频2,节点A6与节点A2和A3相比,距离A2近,则用户访问请求通过节点A6被定向至距离节点A2,读取节点A2即可得到视频2的内容。
[0058]在分发视频3时,由于视频3被访问的次数较少,故内容分发系统将视频3只分发到一个聚类中的某一节点中,例如聚类C的节点C3。若用户访问请求被定向至的距离最近的节点在聚类C中,则可以参照视频2的访问过程得到视频3的内容。若用户访问请求被定向至的距离最近的节点不在聚类C中,则由用户访问请求被定向至的节点直接向源站请求视频3。
[0059]以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0060]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0061]最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
【主权项】
1.一种内容分发方法,包括: 将多个节点进行分类; 向至少一个类中的至少一个节点进行内容的分发,以在所述至少一个节点缓存所述内容; 将用户的访问请求定向至所述多个节点中距离用户最近的第一节点; 当所述第一节点中缓存有用户请求访问的内容时,将所述内容发送给用户; 当所述第一节点中没有缓存用户请求访问的内容时,通过所述第一节点向所述第一节点所在的类中的剩余节点请求内容或直接向源站请求内容。2.根据权利要求1所述的方法,其中,向所述第一节点所在的类中的剩余节点请求内容包括: 通过所述第一节点向所述第一节点所在类的第二节点请求内容,当所述第二节点缓存有所述请求内容时,由所述第二节点将所述内容发送给用户; 当所述第二节点不存在所述请求内容时,继续寻找,遍历所述第一节点以及第二节点所在的类的所有节点,直到找到缓存有所述请求内容的节点。3.根据权利要求1所述的方法,其中,所述向至少一个类中的至少一个节点进行内容的分发包括: 向每个类中的其中一个节点进行内容的分发; 由所述其中一个节点对所在类中的剩余节点进行内容的转发。4.根据权利要求1-3中任一项所述的方法,其中,将多个节点进行分类,包括:将所述多个节点按照彼此之间的距离小于预定阈值的方式进行分类。5.根据权利要求4所述的方法,其中,按照预定时间段采集所述多个节点彼此之间的距离,当所述距离发生变化时,重新按照变化后的距离小于预定阈值的方式将所述多个节点进行分类。6.一种内容分发系统,包括: 分类单元,用于将多个节点进行分类; 分发单元,用于向至少一个类中的至少一个节点进行内容的分发,以在所述至少一个节点缓存所述内容; 路由单元,用于将用户的访问请求定向至所述多个节点中距离用户最近的第一节点; 处理单元,用于当所述第一节点中缓存有用户请求访问的内容时,将所述内容发送给用户;当所述第一节点中没有缓存用户请求访问的内容时,向所述第一节点所在的类中的剩余节点请求内容或直接向源站请求内容。7.根据权利要求6所述的系统,其中,所述处理单元用于通过所述第一节点向所述第一节点所在类的第二节点请求内容,当所述第二节点缓存有所述请求内容时,由所述第二节点将所述内容发送给用户;当所述第二节点不存在所述请求内容时,继续寻找,遍历所述第一节点以及第二节点所在的类的所有节点,直到找到缓存有所述请求内容的节点。8.根据权利要求6所述的系统,其中,所述分发单元用于向每个类中的其中一个节点进行内容的分发;由所述其中一个节点对所在类中的剩余节点进行内容的转发。9.根据权利要求6-8中任一项所述的系统,其中,所述分类单元用于将所述多个节点按照彼此之间的距离小于预定阈值的方式进行分类。10.根据权利要求9所述的系统,还包括采集单元,用于按照预定时间段采集所述多个节点彼此之间的距离; 所述分类单元用于在所述距离发生变化时,重新按照变化后的距离小于预定阈值的方式将所述多个节点进行分类。
【文档编号】H04L29/08GK105897456SQ201510890278
【公开日】2016年8月24日
【申请日】2015年12月7日
【发明人】李洪福
【申请人】乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1