一种内容分发网络中节点列表的优化功能模块的制作方法

文档序号:7986650阅读:798来源:国知局
专利名称:一种内容分发网络中节点列表的优化功能模块的制作方法
技术领域
本发明涉及内容分发网络的技术领域,特别涉及一种内容分发网络中节点列表的优化功能模块。
背景技术
CDN 的全称是 Content Distribution/Delivery Network,即内容分发网络,其目的是通过在现有的hternet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘使用户可以就近取得所需的内容,减少延迟,解决hternet网络拥挤的状况。 ⑶N是建立并覆盖在互联网hternet之上、由分布在不同区域的结点服务器群组成的虚拟网络,是在已有的hternet网络结构基础上构建的应用层“增值”网络,也是一种提供透明服务的中间层,它利用分布式缓存/复制、负载均衡、流量工程和客户端重定向等技术,专门提供各种网络内容分布和服务发送的功能,包括动态地部署网络内容到边缘,根据网络内容处理通信量,将访问请求转发给最优服务器,从而使得用户能以最快的速度,从最接近用户的地方获得所需的信息,可解决网络拥塞,提高响应速度和服务质量,特别是在流媒体和动态内容传输方面有着其它技术无可比拟的优势。随着互联网和P2P技术的发展,越来越多的运营商和公司看到了其中的商机,而如何让用户更快更好地获得视频服务则是一个关键问题。由于地区的差别,不同地方对内容的需求可能有所侧重,为了让本地区侧重的内容易于被本区域用户访问,系统会利用全局负载均衡技术,将该内容分发到与用户访问距离最近的正常工作的缓存服务器上,当用户提出请求时,直接对其响应。当用户访问已经使用了 CDN服务的节点时,充分考虑用户发起请求的地点和当时网络的情况,来决定把用户的请求定向到离用户最近同时负载相对较轻的节点服务器上,保证用户的访问能得到更及时可靠的响应。由于大量的用户访问都由分布在网络边缘的CDN节点服务器直接响应了,这就不仅提高了用户的访问质量,同时有效地降低了源服务器的负载压力。⑶N网络的层级结构包括全局类的管理服务器节点(GM,LM)和一系列的由廉价 PC机组成的P2P的节点,这些P2P节点通过分布式哈希表(DHT)组成一个缓存(Cache)网络,为了使同一个地区Cache网络中的对等缓存(Cache Peer,CP)节点具有拓扑临近性,这里可以应用基于地理位置区号的哈希函数,保证区号相同的节点在拓扑图上处于同一个区域。CP节点接收到管理服务器所发出的分发消息,通过DHT数据定位方法,找到所要放置副本的位置。最后,向这里用分布式哈希表对内容提供商(CPQ所提供的内容进行Cache,加速用户访问。普通用户通过Query重定向服务器访问⑶N网络。QUERY重定向服务器上维护一个Cache网络层的服务节点列表,用户的访问请求先到达QUERY重定向服务器,QUERY重定向服务器随机选择列表中的一个CP节点,作为查询消息在DHT中的入口节点,并将查询请求转发给该入口节点。该入口节点通过CDN文件查询方法对用户请求进行查询,若查询成功,则可以提供内容的节点联系用户节点,进行数据传输。
现有技术的技术方案该CDN网络中对文件根据其内部流行度进行切块,内部流行度越高的,其分块的副本越多。当用户对一个文件ID请求时,查询模块提供给用户的是一个随机的节点列表,形如:"onfire:3224:blockl:0#1200il0. 0. 0. 191#10. 0. 0. 80#10. 0 0· 50:block2:1201:2000010. 0. 0. 191#10. 0. 0. 80 :block3:2001:3224010. 0. 0. 77”,每
个块可能对应多个可下载的节点IP。现有技术的缺点在于现有技术是用户随机选取每块中的一个IP节点去获取数据,这种方案没有考虑到每个节点之间的性能差别;现有的技术方案是用户随机选取每块中的一个IP节点去获取数据,这种方案没有考虑到每个节点之间的性能差别。设想到某种极限情况,某个文件块对应的IP节点列表中的各节点之间的性能差异很大,有的节点非常繁忙为其余的用户提供服务,有的节点基本没有用户的请求,这种情况下,当然是用户选择那个负载较轻的节点去获取数据较好。

发明内容
本发明所要解决的技术问题为在CDN网络的Lark系统中,由于采用分布式哈希表(DHT)组织对等缓存(对等缓存即CP,Cache Peer)节点,其在可扩展性和查询性能方面都有着明显的优势,但由于对节点和数据块的散列操作导致系统隐藏了缓存节点CP在服务性能上的差异性,使得内容分发网络对外提供服务时无法将自身的潜在服务能力充分发挥,这是现有技术的不足之处。这也为内容分发网络的服务性能优化留下了空间。采用 DHT组织的结构化网络在进行内容查询后,返回的是未经筛选的节点列表。本发明一种内容分发网络中节点列表的优化功能模块通过一定的优化策略,综合考虑节点的各个性能指标,给出在不同目标下的优化的节点集,从中选取较优的节点,可使得节点与收据接收端之间的数据传输更加高效从而提高系统性能。在优化过程中需要综合考虑现有节点集与具体传输任务之间的联系,以应用不同的节点优化策略,即优化策略具有一定的扩展性与适应性。本发明提供的技术方案为一种内容分发网络中节点列表的优化功能模块,该优化功能模块嵌入到Lark应用系统中,在Lark的Cache网络层范围内通过CP节点自身以及 CP节点之间链路的检测,获取与CP节点可提供服务性能有关的信息和指标,根据这些信息与指标对可提供服务的CP节点进行评估,选择优化过的节点为数据请求客户端服务;该优化功能模块在实现时分为相对独立的两个单元CP节点性能探测模块和CP 节点选择优化模块;其在整个系统中的位置以及工作过程如下在每个CP节点上都必须部署节点性能探测模块,对于CP节点选择优化模块则根据Lark查询模块的位置来确定,若Lark的查询是通过LM(本地管理服务器)发出的,则只需要在LM的相关节点上部署选择优化模块;若Lark的查询是通过随机选择一个节点来进行的,则必须在所有的CP节点上部署选择优化模块。所述的CP性能探测模块负责接收其他CP节点发出的性能探测指令并对所述的CP 性能探测模块所在的CP节点进行周期性的性能探测,返回探测数据给发送指令的CP节点; CP节点性能探测包括节点自身资源探测和节点网络状况探测;所述的节点自身资源探测包括对CP节点历史的、当前的资源监测与分析,具体内容是CP节点的CPU可用时间、内存利用率和可用存储空间等反映节点数据处理能力的指标;所述的CP节点网络状况探测包括对CP节点与数据请求客户端之间以及各CP节点之间数据传输的可用带宽和传输延迟; CP性能探测模块采用一个定时器,周期性地探测节点的性能,完成主动监测的功能,并将每次探测出的性能数据插入到数据库中,完成数据库的更新,最终的优化策略是基于历史性能数据和当前性能数据的综合,这样更能反映CP节点实际的性能状况;所述的CP节点选择优化模块在所述的CP性能探测模块得到的数据汇聚之后,应用优化选择策略生成在不同目标下的优化节点集;让优化节点集中的“最优的,,CP节点为数据接收端服务,可使得节点与数据接收端之间的数据传输更加高效从而提高系统性能。进一步的,所述的CP节点选择优化模块采用分层筛选的策略,即根据服务中传输数据性质的不同,将在CP节点性能探测模块探测到的性能指标按照对服务的影响从大到小排序,每一个指标就是一层,第i层会对第i-ι层得出的节点集按照本层的性能指标从高到低进行排序,选取一定选择比例的节点作为本层优化后的输出节点集,经过层层筛选,得到最终优化节点集。进一步的,获取与缓存节点CP可提供服务性能有关的信息和指标包括CPU信息、 内存信息、磁盘IO信息和网络吞吐信息。本发明的原理在于本发明通过对CP节点自身性能以及CP之间链路的带宽和传输时延情况的检测, 获得与CP节点服务能力相关的信息,根据获取到的节点性能的历史信息和当前信息,对提供服务的CP节点进行服务能力评估,给出当前的节点列表的优化组合。当用户通过Query 重定向服务器访问Lark时,不再是随机选取列表中的一个CP节点来请求服务,而是选择具有优化性能的CP节点来为数据请求客户端提供服务。本发明的目的在于有效发掘内容分发网络的潜在的服务能力,提高系统的整体服务性能,实现各CP节点的负载均衡。本发明和现有技术相比的有益效果在于在CDN网络中,基于CP节点的性能信息优化CP节点列表,在数据获取阶段利用优化的节点来获取数据可以使数据传输更加高效;在用户层面,使得用户获取服务(例如点播视频)的响应变快,提高了整体系统的性能。而其极具特色的节点列表优化算法,可以在不同的应用场景下,给出各自的优化节点列表。


图1为现有技术内容分发网络示意图;图2为本发明一种内容分发网络中节点列表的优化功能模块在所属系统中的位置及工作过程;图3为本发明CP节点选择优化模块优化选择策略。
具体实施例方式下面结合

本发明的具体实施方式
,在此基础上,本领域的技术人员可以实现权利要求书中记载的全部技术方案。本发明作为一个功能模块嵌入到Lark应用系统中去。在Lark的Cache网络层范围内通过CP节点自身以及CP之间链路的检测,获取与CP可提供服务性能有关的信息和指标(包括CPU信息、内存信息、磁盘IO信息、网络吞吐信息),根据这些信息与指标对可提供服务的CP节点进行评估,选择优化过的节点为数据请求客户端服务。该功能模块在实现时分为相对独立的两个单元CP节点性能探测模块和CP节点选择优化模块。其在整个系统中的位置以及工作过程如图2所示CP性能探测模块负责接收其他CP节点发出的性能探测指令并对模块所在的CP节点进行周期性的性能探测,返回探测数据给发送指令的CP节点。CP节点性能探测包括节点自身资源探测和节点网络状况探测。节点自身资源探测包括对CP节点历史的、当前的资源监测与分析,具体内容是CP节点的CPU可用时间、内存利用率和可用存储空间等反映节点数据处理能力的指标。CP节点网络状况探测包括对CP节点与数据请求客户端之间以及各CP节点之间数据传输的可用带宽和传输延迟。具体内容是CP节点的网卡流量、网络延时和连接数等反映节点网络状况的指标。这些指标是对节点服务能力的一个全面评估。性能探测模块的得到的数据为系统的节点优化策略提供重要的参考。CP性能探测模块采用一个定时器,周期性地探测节点的性能,完成主动监测的功能,并将每次探测出的性能数据插入到数据库中,完成数据库的更新,最终的优化策略是基于历史性能数据和当前性能数据的综合,这样更能反映CP节点实际的性能状况。CP节点选择优化模块在CP性能探测模块得到的数据汇聚之后,应用优化选择策略生成在不同目标下的优化节点集。让优化节点集中的“最优的”CP节点为数据接收端服务,可使得节点与数据接收端之间的数据传输更加高效从而提高系统性能。本模块的重点是优化选择策略的选取。我们选择的是分层筛选的策略,即根据服务中传输数据性质的不同,将在CP节点性能探测模块探测到的性能指标按照对服务的影响从大到小排序,每一个指标就是一层,第i层会对第i-ι层得出的节点集按照本层的性能指标从高到低进行排序, 选取一定选择比例的节点作为本层优化后的输出节点集,经过层层筛选,得到最终优化节点集。原理图如图3所示这个优化选择策略实际上是一个贪心算法,每一步都获得局部最优解,但最终得到的可能不是全局最优解,而是次优解。由于对服务性能影响较大的指标被放到了前面,不那么重要的指标放到了后面,分层选择是按照一定的次序从前到后优化的,所以重要性高的指标首先被满足了,即使最终得到的可能不是最优解,但至少在得到的解中,那些重要的指标被满足了,漏掉的可能是那些重要的指标不太差,而次重要的指标比较好的节点,也有可能选择了那些重要性能指标好的但次重要性能指标不好的节点。由于各个指标是有关联的,基本不会出现其他性能指标好而某个性能指标特别差的情况,因此尽管可能得到的是次优解,但一般不会出现很坏的情况。而且某个解是否最优解还取决与性能指标重要性的排序,而这个排序不一定能够完全反映系统真实的需求,所以实际上也没有必要去寻找严格的最优解。在优化过程中需要综合考虑现有节点集与具体传输任务之间的联系,以应用不同的节点优化策略,即优化策略具有一定的扩展性与适应性。传输任务不同,各指标对服务性能的影响也不同,例如流媒体服务,可能CP节点的网络状况对服务性能的影响较大而CPU 的利用率的影响相对较小,但对于包含动态内容的WEB服务,可能CPU的利用率和内存的利用率对CP节点服务性能的影响较大而节点网络状况的影响相对较小。因此,在确定性能指标的相对重要性的时候,需要考察CDN所提供服务的性质。本发明所属的应用提供的是流媒体服务,所以我们选择的网络状况作为第一层,其他层依次是CPU利用率、内存利用率、存储可用空间。另外,应该根据全体CP节点下集的大小选择适当的选择比例,即在上一层输入的节点集中选择多大比例的节点作为本层的优化节点集输出,原则是使得最终的优化节点集中节点的数量不超过3个以方便数据请求客户端选择。据此可以推算出选择比例。本发明技术方案带来的有益效果是明显的在CDN网络中,基于CP节点的性能信息优化CP节点列表,在数据获取阶段利用优化的节点来获取数据可以使数据传输更加高效;在用户层面,使得用户获取服务(例如点播视频)的响应变快,提高了整体系统的性能。而其极具特色的节点列表优化算法,可以在不同的应用场景下,给出各自的优化节点列表。以上所述仅为本发明的实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、 等同替换、改进等,均应包含在本发明的权利要求范围之内。
权利要求
1.一种内容分发网络中节点列表的优化功能模块,其特征在于该优化功能模块嵌入到Lark应用系统中,在Lark的Cache网络层范围内通过CP节点自身以及CP节点之间链路的检测,获取与CP节点可提供服务性能有关的信息和指标,根据这些信息与指标对可提供服务的CP节点进行评估,选择优化过的节点为数据请求客户端服务;该优化功能模块在实现时分为相对独立的两个单元CP节点性能探测模块和CP节点选择优化模块;其在整个系统中的位置以及工作过程如下在每个CP节点上都必须部署节点性能探测模块,对于CP节点选择优化模块则根据 Lark查询模块的位置来确定,若Lark的查询是通过LM(即本地管理服务器)发出的,则只需要在LM的相关节点上部署选择优化模块;若Lark的查询是通过随机选择一个节点来进行的,则必须在所有的CP节点上部署选择优化模块;所述的CP性能探测模块负责接收其他CP节点发出的性能探测指令并对所述的CP性能探测模块所在的CP节点进行周期性的性能探测,返回探测数据给发送指令的CP节点;CP 节点性能探测包括节点自身资源探测和节点网络状况探测;所述的节点自身资源探测包括对CP节点历史的、当前的资源监测与分析,具体内容是CP节点的CPU可用时间、内存利用率和可用存储空间等反映节点数据处理能力的指标;所述的CP节点网络状况探测包括对 CP节点与数据请求客户端之间以及各CP节点之间数据传输的可用带宽和传输延迟;CP性能探测模块采用一个定时器,周期性地探测节点的性能,完成主动监测的功能,并将每次探测出的性能数据插入到数据库中,完成数据库的更新;最终的优化策略是基于历史性能数据和当前性能数据的综合,这样更能反映CP节点实际的性能状况;所述的CP节点选择优化模块在所述的CP性能探测模块得到的数据汇聚之后,应用优化选择策略生成在不同目标下的优化节点集;让优化节点集中的“最优的”CP节点为数据接收端服务,可使得节点与数据接收端之间的数据传输更加高效从而提高系统性能。
2.根据权利要求1所述的一种内容分发网络中节点列表的优化功能模块,其特征在于所述的CP节点选择优化模块采用分层筛选的策略,即根据服务中传输数据性质的不同,将在CP节点性能探测模块探测到的性能指标按照对服务的影响从大到小排序,每一个指标就是一层,第i层会对第i-ι层得出的节点集按照本层的性能指标从高到低进行排序, 选取一定选择比例的节点作为本层优化后的输出节点集,经过层层筛选,得到最终优化节点^^ O
3.根据权利要求1所述的一种内容分发网络中节点列表的优化功能模块,其特征在于获取与缓存节点CP可提供服务性能有关的信息和指标包括CPU信息、内存信息、磁盘 IO信息和网络吞吐信息。
全文摘要
本发明提出一种内容分发网络中节点列表的优化功能模块,解决了现有技术方案中的随机选择未考虑节点间性能差异的问题。该优化功能模块基于CP节点的性能信息的节点列表的优化方法,它可以利用节点历史和当前的性能信息,在不同的应用场景下给出各自的优化节点列表,使得用户能可以从“最近最好”的服务节点上,快速访问到所需的内容,从而大大提高终端用户的访问速度,提高整体系统的性能。
文档编号H04L29/06GK102368776SQ20111038006
公开日2012年3月7日 申请日期2011年11月25日 优先权日2011年11月25日
发明者吴刚, 王嵩, 苏宇, 陈磊 申请人:中国科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1