在复杂网络中分配缓存服务器的方法和装置与流程

文档序号:11234786阅读:423来源:国知局
在复杂网络中分配缓存服务器的方法和装置与流程

本发明涉及一种在复杂网络中分配缓存服务器的方法和装置,更具体地讲,涉及一种在复杂网络中基于缓存服务器的容量自适应地分配缓存服务器的方法和装置。



背景技术:

随着互联网技术的发展,人们能够随时随地访问各种内容,例如,网页,音乐和流媒体。然而,随着用户的急剧增长,网络的访问量也快速增长。网络访问量的增加给骨干网带来了巨大的压力。然而,实际上80%的互联网会重复访问20%的信息资源。

为了减轻骨干网的压力,提出了内容分发网络(cdn)。内容分发网络是指通过将原站点内容下发到距离用户较近的缓存服务器且分布式地部署热点的面向应用层的网络架构。内容分发网络的性能很大程度上取决于缓存服务器的部署。如果缓存服务器部署不充分,则会造成服务质量下降。如果缓存服务器过于集中,则会造成服务冗余和成本提高。

因此,需要能够在复杂网络中合理地部署用于内容分发的缓存服务器的方法和装置。



技术实现要素:

本发明的示例性实施例在于提供一种在复杂网络中分配缓存服务器的方法和装置,从而能够在保证各个节点的服务质量的同时,避免出现服务冗余的现象。

根据本发明的示例性实施例的一方面,提供了一种在复杂网络中分配缓存服务器的方法,所述方法包括:(a)选择初始节点;(b)选择所述初始节点的邻居节点作为可收缩节点;(c)计算所述初始节点和可收缩节点的流量之和;(d)如果计算出的流量之和大于或等于第一阈值,则将所述初始节点和可收缩节点设置为用于分配缓存服务器的社团,其中,第一阈值与缓存服务器的容量相关。

可选择地,选择初始节点的步骤可包括:选择流量最大的节点作为初始节点。

可选择地,选择初始节点的步骤可包括:将流量最大的节点、与所述流量最大的节点共有邻居节点最多的节点和与所述流量最大的节点共有邻居节点数量次多的节点合并为虚拟节点,并将所述虚拟节点设置为初始节点。

可选择地,选择所述初始节点的邻居节点作为可收缩节点的步骤可包括:从所述初始节点的邻居节点中选择与所述初始节点相似度最高的节点作为可收缩节点。

可选择地,所述方法还可包括:(e)如果计算出的流量之和小于第一阈值,则将所述初始节点和可收缩节点合并为虚拟节点,将所述虚拟节点设置为初始节点,并执行步骤(b)。

可选择地,步骤(e)可包括:确定复杂网络中是否存在剩余的节点;如果复杂网络中存在剩余的节点,则针对剩余的节点执行步骤(b)。

可选择地,步骤(e)还可包括:如果复杂网络中不存在剩余的节点,则将包括在所述虚拟节点中的各个节点并入与所述各个节点相邻的社团中。

可选择地,将包括在所述虚拟节点中的各个节点并入与所述各个节点相邻的社团中的步骤可包括:确定包括在所述虚拟节点中的各个节点的流量之和是否小于第二阈值,其中,第二阈值小于第一阈值且与缓存服务器的容量相关;如果包括在所述虚拟节点中的各个节点的流量之和小于第二阈值,则将包括在所述虚拟节点中的各个节点并入与所述各个节点相邻的社团;如果包括在所述虚拟节点中的各个节点的流量之和大于或等于第二阈值,则将包括在所述虚拟节点中的节点设置为用于分配缓存服务器的社团。

可选择地,步骤(d)可包括:确定复杂网络中是否存在剩余的节点;如果复杂网络中存在剩余的节点,则针对剩余的节点执行步骤(a)。

根据本发明的示例性实施例的另一方面,提供了一种在复杂网络中分配缓存服务器的装置,所述装置包括:选择单元,选择初始节点并选择所述初始节点的邻居节点作为可收缩节点;计算单元,计算所述初始节点和可收缩节点的流量之和;控制单元,如果计算出的流量之和大于或等于第一阈值,则将所述初始节点和可收缩节点设置为用于分配缓存服务器的社团,其中,第一阈值与缓存服务器的容量相关。

通过使用根据本发明的示例性实施例的方法和装置,能够基于网络中的各个节点的容量自适应地分配缓存器,从而在保证各个节点的服务质量的同时,避免出现服务冗余的现象。

将在接下来的描述中部分阐述本发明总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本发明总体构思的实施而得知。

附图说明

通过下面结合示例性地示出一例的附图进行的描述,本发明的上述和其他目的和特点将会变得更加清楚,其中:

图1是示出根据本发明的示例性实施例的在复杂网络中分配缓存服务器的方法的流程图;

图2和图3是示出根据本发明的示例性实施例的复杂网络的拓扑结构的示图;

图4是示出根据本发明的示例性实施例的在复杂网络中分配缓存服务器的装置的框图。

在整个附图中,相同的标号可被理解为表示相同的部件、组件和结构。

具体实施方式

现在将具体参照在附图中示出其示例的示例性实施例,在附图中,相同的标号始终指示相似的元件。在这方面,本示例性实施例可具有不同形式,不应被解释为限于在此阐述的描述。相应地,仅在下面通过参照附图来描述示例性实施例以解释本说明书的各方面。

关于在此使用的术语,在考虑示例性实施例中的功能的情况下尽可能地选择最广泛使用的术语;然而,这些术语可根据本领域技术人员的意图、判例或新技术的出现而改变。在此使用的一些术语可由申请人任意选择。在这种情况下,这些术语将在下面被具体定义。相应地,应基于其独特含义和本构思的整体语境来理解在此使用的特定术语。

还将理解的是,当在此使用术语“包括”、“包含”和“具有”时,除非另有定义,否则所述术语说明所列举的元素的存在,但不排除其他元素的存在或添加。此外,在此使用的术语“单元”和“模块”表示用于处理至少一种功能或操作的单元,其中,所述单元可由硬件、软件或者硬件和软件的组合实现。

下面将参照附图来具体描述示例性实施例,使得本领域普通技术人员可容易地实现本发明构思。然而,本发明构思可以以许多不同方式实现,并不应被视为限于在此阐述的示例性实施例。此外,将在附图中省略与示例性实施例的描述无关的部分以清楚地描述示例性实施例,在整个说明书中相似的标号将表示相似的元件。

图1是示出根据本发明的示例性实施例的在复杂网络中分配缓存服务器的方法的流程图。

以下,将以内容分发网络(cdn)为复杂网络的示例进行描述。然而,应理解根据本发明的示例性实施例的方法和设备可同样适用于其他类型的复杂网络,例如,信息中心网络等。

在步骤s101,可从包括在复杂网络中的多个节点中选择初始节点。根据本发明的示例性实施例,可通过遍历整个网络来将流量最大的节点选择为初始节点。根据本发明的另一示例性实施例,可选择任意节点,并将该任意节点的预定范围内流量最大的节点选择为初始节点。

根据本发明的另一示例性实施例,可将网络中的流量最大的节点、与该流量最大的节点共有邻居节点最多的节点和与该流量最大的节点共有邻居节点数量次多的节点合并为虚拟节点,并将该虚拟节点设置为初始节点。将两个以上节点合并为一个虚拟节点也可被称为社团中的节点收缩。

随后,在步骤s103,可选择初始节点的邻居节点作为可收缩节点。当存在多个与初始节点相邻的邻居节点时,可将多个邻居节点中与初始节点相似度最高的节点选择为初始节点的可收缩节点。

这里,节点之间的相似度可通过下面的等式1来定义。

[等式1]

其中,ki和kj可分别表示节点i、j的度,nij表示节点i和j共有的邻居节点的数量。这里,节点的度可被定义为与该节点连接的邻居节点的数量。

根据本发明的示例性实施例,可首先将网络中的流量最大的节点、与该流量最大的节点共有邻居节点最多的节点和与该流量最大的节点共有邻居节点数量次多的节点合并为虚拟节点并将该虚拟节点设置为初始节点,并随后选择与该初始节点的相似度最高的节点作为可收缩节点。这样,通过在初始步骤中合并三个节点,能够有效减少相似度计算所需的运算量并保持原网络的拓扑结构。

在步骤s105,可计算初始节点和可收缩节点的流量之和。在步骤s107,可确定计算出的流量之和是否大于或等于第一阈值。

如果计算出的流量之和大于或等于第一阈值,则在步骤s111,可将初始节点和可收缩节点设置为用于分配缓存服务器的社团。根据本发明的示例性实施例,第一阈值与缓存服务器的容量相关。例如,第一阈值φ=β×ω,其中,β为上限因子,ω为缓存服务器的容量。通常,可将β设置为0.6到1之间的值。

在步骤s109,如果计算出的流量之和小于第一阈值,则可将初始节点和可收缩节点合并为虚拟节点。这里,合并操作是指使用虚拟节点来替代所述初始节点和可收缩节点,将该虚拟节点与和所述初始节点和可收缩节点相邻的节点相连。根据本发明的示例性实施例,通过选择相似度最高的邻居节点作为可收缩节点并进行合并,能够在尽可能保持原网络的拓扑结构的情况下,划分出用于分配缓存服务器的社团。

图2示出了根据本发明的示例性实施例的网络拓扑结构。假设图2中的网络节点d为流量最大的节点并被选作初始节点,并且节点b为与节点d共有邻居节点最多的节点,节点a为与节点d共有邻居节点次多的节点。根据本发明的示例性实施例,可将节点d、节点b和节点a合并为虚拟节点v,并且合并后的网络拓扑结构如图3所示。可将虚拟节点v设置为初始节点。假设节点f为与节点v相似度最高的邻居节点,即,节点f为节点v的可收缩节点。如果节点f和节点v的流量之和大于或等于第一阈值,则可将节点a、节点b、节点d和节点f设置为用于分配缓存服务器的社团。如果节点f和节点v的流量之和小于第一阈值,则可将节点f和节点v合并为虚拟节点v′,并随后针对虚拟节点v′选择相似度最高的邻居节点作为可收缩节点。

在步骤s115,可确定复杂网络中是否存在未被设置为用于分配缓存服务器的社团的剩余的节点。如果确定复杂网络中存在剩余的节点,则在步骤s117,将虚拟节点设置为初始节点,并返回到步骤s103,即,选择设置的初始节点的邻居节点作为可收缩节点。

根据本发明的示例性实施例,可迭代地执行步骤s103、步骤s105、步骤s107、步骤s109、步骤s115和步骤s117直到计算出的流量之和大于第一阈值或不存在剩余的节点。

在步骤s111将初始节点和可收缩节点设置为用于分配缓存服务器的社团之后,在步骤s113,可确定复杂网络中是否存在未被设置为用于分配缓存服务器的社团的剩余的节点。如果复杂网络中存在剩余的节点,则返回步骤s101,即,从剩余的节点重新选择初始节点。

具体来讲,可从剩余的节点重新选择初始节点(步骤s101)。根据本发明的示例性实施例,可从剩余的节点中选择流量最大的节点作为初始节点,从而针对剩余的节点设置用于分配缓存服务器的社团。根据本发明的另一示例性实施例,可将剩余的节点中的流量最大的节点、与所述流量最大的节点共有邻居节点最多的节点和与所述流量最大的节点共有邻居节点数量次多的节点合并为虚拟节点,并将所述虚拟节点设置为初始节点。

根据本发明的示例性实施例,返回步骤s115,如果不存在剩余的节点,则可将包括在虚拟节点中的各个节点并入与所述各个节点相邻的社团中。

具体地,如果不存在剩余的节点,则在步骤s119,可确定包括在虚拟节点中的各个节点的流量之和是否小于第二阈值。第二阈值小于第一阈值且与缓存服务器的容量相关。例如,第二阈值其中,α为下限因子,ω为缓存服务器服务饱和值。通常,可将α设置为0到0.5之间的值。

如果包括在虚拟节点中的各个节点的流量之和小于第二阈值,则在步骤s121,将包括在虚拟节点中的各个节点并入与所述各个节点相邻的社团。如果包括在虚拟节点中的各个节点的流量之和大于或等于第二阈值,则在步骤s123可将包括在虚拟节点中的节点设置为用于分配缓存服务器的社团。

通过基于网络中的各个节点的容量自适应地分配缓存器,能够在保证各个节点的服务质量的同时,避免出现服务冗余的现象。

图4示出根据本发明的示例性实施例的在复杂网络中分配缓存服务器的装置400的框图。

参照图4,用于分配缓存服务器的装置400包括选择单元401、计算单元403和控制单元405。

根据本发明的示例性实施例,选择单元401可选择初始节点并选择所述初始节点的邻居节点作为可收缩节点。例如,选择单元401可从包括在复杂网络中的多个节点中选择初始节点。作为示例,选择单元401可通过遍历整个网络来将流量最大的节点确定为初始节点。作为另一示例,选择单元401可选择任意节点,并将该任意节点的预定范围内流量最大的节点确定为初始节点。

根据本发明的另一示例性实施例,选择单元401可将网络中的流量最大的节点、与该流量最大的节点共有邻居节点最多的节点和与该流量最大的节点共有邻居节点数量次多的节点合并为虚拟节点,并将该虚拟节点设置为初始节点。这样,通过在初始步骤中合并三个节点,能够有效减少相似度计算所需的运算量并保持原网络的拓扑结构。

根据本发明的示例性实施例,选择单元401可选择初始节点的邻居节点作为可收缩节点。当存在多个与初始节点相邻的邻居节点时,选择单元401可将多个邻居节点中与初始节点相似度最高的节点选择为初始节点的可收缩节点。由于已对相似度的计算方法进行了描述,因此在此不再敖述。

根据本发明的另一示例性实施例,优选地,选择单元401可首先将网络中的流量最大的节点、与该流量最大的节点共有邻居节点最多的节点和与该流量最大的节点共有邻居节点数量次多的节点合并为虚拟节点并将该虚拟节点设置为初始节点,并随后选择与该初始节点的相似度最高的节点作为可收缩节点。根据本发明的示例性实施例,通过选择相似度最高的邻居节点作为可收缩节点并进行合并,能够在尽可能保持原网络的拓扑结构的情况下,划分出用于分配缓存服务器的社团。

计算单元403可计算初始节点和可收缩节点的流量之和,并将计算出的流量之和发送到控制单元405。计算单元403也可计算包括在虚拟节点中的各个节点的流量之和。

控制单元405可确定计算出的流量之和是否大于或等于第一阈值。如果计算出的流量之和大于或等于第一阈值,则控制单元405可将初始节点和可收缩节点设置为用于分配缓存服务器的社团。随后,控制单元405可确定复杂网络中是否存在未被设置为用于分配缓存服务器的社团的剩余的节点。如果复杂网络中存在剩余的节点,则选择单元401、计算单元403和控制单元405针对剩余节点执行用于划分出用于分配缓存服务器的社团的处理。

根据本发明的另一示例性实施例,如果计算出的流量之和小于第一阈值,则控制单元405可将所述初始节点和可收缩节点合并为虚拟节点。此时,控制单元405可确定复杂网络中是否存在未被设置为用于分配缓存服务器的社团的剩余的节点。如果确定复杂网络中存在剩余的节点,则控制单元405将虚拟节点设置为初始节点,并控制选择单元401从剩余的节点中选择设置的初始节点的邻居节点作为可收缩节点。例如,控制单元405可控制选择单元401选择与设置的虚拟节点相似度最高的节点作为可收缩节点。

也就是说,选择单元401、计算单元403和控制单元405可针对复杂网络中的节点执行用于划分出用于分配缓存服务器的社团的迭代处理直到不存在剩余的节点。

如果计算出的流量之和小于第一阈值且不存在剩余的节点,则控制单元405可将包括在虚拟节点中的各个节点并入与所述各个节点相邻的社团中。

具体地,如果在包括在虚拟节点中的流量之和小于第一阈值的情况下不存在剩余的节点,控制单元405可确定包括在虚拟节点中的各个节点的流量之和是否小于第二阈值。如果包括在虚拟节点中的各个节点的流量之和小于第二阈值,则控制单元405可将包括在虚拟节点中的各个节点并入与所述各个节点相邻的社团。如果包括在虚拟节点中的各个节点的流量之和大于或等于第二阈值,则控制单元405可将包括在虚拟节点中的节点设置为用于分配缓存服务器的社团。

如上所述,通过使用根据本发明的示例性实施例的方法和装置,能够基于网络中的各个节点的容量自适应地分配缓存器,从而在保证各个节点的服务质量的同时,避免出现服务冗余的现象。

此外,其他示例性实施例也可通过介质(例如,计算机可读介质)中/上的计算机可读代码/指令来实现,以控制至少一个处理元件实现任何上述示例性实施例。介质可与允许计算机可读代码的存储和/或传输的任何介质相应。利用包括记录介质(诸如,磁存储介质(例如,rom、软盘、硬盘等)和光记录介质(例如,cd-rom或dvd))和传输介质(诸如,互联网传输介质)的介质的示例,计算机可读代码可以以各种方式在介质上被记录/传输。因此,介质可以是根据一个或更多个示例性实施例的包括或携带信号或信息的这样定义和可测量的结构,诸如,携带比特流的装置。介质还可以是分布式网络,使得计算机可读代码以分布式方式被存储/传输和执行。此外,处理元件可包括处理器或计算机处理器,处理元件可分布和/或包括在单个装置中。

应理解的是,在此描述的示例性实施例应仅以描述性含义被考虑,而不是为了限制的目的。对于每个示例性实施例中的特征和方面的描述通常应被考虑为可用于其他示例性实施例中的其他类似特征或方面。虽然已参照附图描述了一个或更多个示例性实施例,但本领域普通技术人员将理解的是,在不脱离由权利要求限定的精神和范围的情况下,可做出形式和细节上的各种改变。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1