内容分发网络中的tcp加速方法、系统和服务器的制造方法

文档序号:10572754阅读:451来源:国知局
内容分发网络中的tcp加速方法、系统和服务器的制造方法
【专利摘要】本发明提供一种内容分发网络中的TCP加速方法,包括:根据来自客户端的TCP访问请求确定TCP访问请求中所携带的访问内容信息;根据访问内容信息生成新的TCP访问请求,新的TCP访问请求至少包含访问内容信息和访问路由表,访问内容信息用于判定接收新的TCP访问请求的CDN节点是否存储有相应于访问内容信息的文件;根据访问路由表发送新的TCP访问请求至CDN节点;相应的本公开还提供一种系统以及布设有该系统的服务器;在接收到来自客户端的访问请求后访问请求的内容和用户到能够提供访问请求内容的最近的节点,从而即保证了能够满足用户的访问请求又提供了最优的访问路径给用户,提升了服务质量,保证了用户体验。
【专利说明】
内容分发网络中的TCP加速方法、系统和服务器
技术领域
[0001]本公开涉及互联网技术领域,特别涉及一种内容分发网络中的TCP加速方法、系统和一种服务器。
【背景技术】
[0002]Q)N(Content Delivery Network,内容分发网络)是一种通过在网络各处放置节点服务器所构成的在现有的互联网基础之上的一层智能虚拟网络。CDN能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,其目的是能够选择离用户相对较近的节点向用户发送用户所需的内容,缓解网络拥挤的状况,提高网站的响应速度。
[0003]然而,现有技术中,直接为用户寻求相对较近的缓存有用户所需内容的节点到用户的网络质量往往并不是最好的,即只考虑了能够提供给用户所述内容的节点而没有考虑用户到该节点的最优路径,从而不能够为用户提供最优的服务,影响用户体验。

【发明内容】

[0004]本公开提供一种内容分发网络中的TCP加速方法、系统和一种服务器,以解决上述技术问题。
[0005]根据本公开的一个方面,提供了一种内容分发网络中的TCP加速方法,包括:
[0006]根据来自客户端的TCP访问请求确定所述TCP访问请求中所携带的访问内容信息;
[0007]根据所述访问内容信息生成新的TCP访问请求,所述新的TCP访问请求至少包含所述访问内容信息和访问路由表,所述访问内容信息用于判定接收所述新的TCP访问请求的CDN节点是否存储有相应于所述访问内容信息的文件;
[0008]根据所述访问路由表发送所述新的TCP访问请求至⑶N节点。
[0009]根据本公开的另一个方面,提供一种内容分发网络中的TCP加速系统,包括:
[0010]访问内容信息确定模块,用于根据来自客户端的TCP访问请求确定所述TCP访问请求中所携带的访问内容信息;
[0011 ]访问请求生成模块,用于根据所述访问内容信息生成新的TCP访问请求,所述新的TCP访问请求至少包含所述访问内容信息和访问路由表,所述访问内容信息用于判定接收所述新的TCP访问请求的CDN节点是否存储有相应于所述访问内容信息的文件;
[0012 ]访问请求发送模块,用于根据所述访问路由表发送所述新的TCP访问请求至⑶N节点。
[0013]根据本公开的另一个方面,提供一种布设了本公开任一实施例中所述的内容分发网络中的TCP加速系统的服务器。
[0014]本公开实施例的内容分发网络中的TCP加速方法、系统以及服务器,在接收到来自客户端的访问请求后综合考虑用户的访问请求的内容和用户到能够提供所述访问请求内容的最近的节点的最优的路径,从而即保证了能够满足用户的访问请求又提供了最优的访问路径给用户,从而提升了为用户提供的服务的质量,保证了用户体验。
【附图说明】
[0015]为了更清楚地说明本公开实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0016]图1为本公开的内容分发网络中的TCP加速方法的一实施例的流程图;
[0017]图2为本公开的内容分发网络中的TCP加速方法的另一实施例的流程图;
[0018]图3为本公开的内容分发网络中的TCP加速方法的又一实施例的流程图;
[0019]图4为本公开的容分发网络中的TCP加速系统的一实施例的示意图;
[0020]图5为本公开的容分发网络中的TCP加速系统的另一实施例的示意图;
[0021]图6为本公开的容分发网络中的TCP加速系统的又一实施例的示意图。
具体实施例
[0022]为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
[0023]需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
[0024]本公开可用于众多通用或专用的计算系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。
[0025]本公开可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本公开,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0026]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0027]如图1所示,本公开的一实施例的内容分发网络中的TCP加速方法,包括:
[0028]S11、根据来自客户端的TCP访问请求确定TCP访问请求中所携带的访问内容信息;
[0029]S12、根据访问内容信息生成新的TCP访问请求,新的TCP访问请求至少包含访问内容信息和访问路由表,访问内容信息用于判定接收新的TCP访问请求的CDN节点是否存储有相应于访问内容信息的文件;
[0030 ] S13、根据访问路由表发送新的TCP访问请求至⑶N节点。
[0031 ]本实施中,在接收到来自客户端的访问请求后综合考虑用户的访问请求的内容和用户到能够提供所述访问请求内容的最近的节点的最优的路径,从而即保证了能够满足用户的访问请求又提供了最优的访问路径给用户,从而提升了为用户提供的服务的质量,保证了用户体验。
[0032]如图2所示,在本公开的一实施例的内容分发网络中的TCP加速方法中,根据访问内容信息生成新的TCP访问请求包括:
[0033]S21、根据访问内容信息确定存储有相应于访问内容信息的文件的CDN源节点;
[0034]S22、确定客户端至⑶对原节点的最短路径;
[0035]S23、基于最短路径中的所有⑶N节点的IP地址生成路由表;
[0036]S24、至少根据访问内容信息和路由表生成新的TCP访问请求。
[0037]本实施例中,直接确定了用户到CDN源节点最短路径,并将该路径上的所有的CDN节点的IP地址存储为路由表,最终根据访问内容信息和路由表生成新的TCP访问请求以用于用户访问存储有访问内容的节点(CDN节点或者CDN源节点);最短路径上中包含的CDN节点中必然存在着已经缓存有用户所需内容的缓存CDN节点,而用户到CDN源节点的路径为最短路径,那么用户到该缓存有所需内容的缓存CDN节点的路径必然也是最短路径,因此,而且并不一定是该缓存⑶N节点直接为用户发送所需内容,可能是通过最短路径上的⑶N节点来为用户提供服务的,因为本身为一个服务器的CDN节点来为用户传输数据必然要比长距离的直接由缓存CDN节点为用户提供服务的质量要好,从而达到提升用户体验的目的;此外,既然存在缓存CDN节点,仍要把到CDN源节点的整个路径上的所有节点的IP地址存储为路由表的原因在于,考虑到了缓存CDN节点可能并没有完全缓存了用户所需的整个文件的情况,当出现这种情况时,仍可以根据所述路由表回源,以取得用户所需的访问内容。
[0038]如图3所示,在本公开的一实施例的内容分发网络中的TCP加速方法中,根据访问路由表发送新的TCP访问请求至⑶N节点包括:
[0039 ] S31、从访问路由表中读取⑶N节点的IP地址;
[0040]S32、将⑶N节点的IP地址从访问路由表中删除;
[0041 ] S33、根据⑶N节点的IP地址将访问请求转发至⑶N节点。
[0042]本实施例中,通过读取将要转发至的下一⑶N节点的IP地址,后就立即删除该IP地址的方法使得每一次转发新的访问请求时都可以直接读取路由表中的第一个IP地址即可,而不用进行不必要的计算和比较(如果转发过程中,从始至终路由表都没有变更,则每一次读取下一CDN节点时都得通过计算从整个路由表中读取所述下一CDN节点的IP地址,例如,需要记录下次读取从第η个字节开始,这样既要计数又要计算,造成空间和时间的浪费),而通过本实施例的处理在转向下一 CDN节点时只需要从路由表的表头中顺序读取第一个IP地址即可,不仅节省了时间和空间,还避免了由于计算和计数可能带来的错误,例如直接跳转到更远的节点或者跳回到上一节点等。
[0043]在本公开的一实施例的内容分发网络中的TCP加速方法中,将最短路径中的所有⑶N节点的IP地址存储为路由表包括:
[0044]基于客户端至⑶咐原节点方向的所述最短路径中的⑶N节点的IP地址存储生成所述路由表。
[0045]本实施例中,通过将最短路径中的所有CDN节点IP地址顺序在队列中,更加简化了每一次转发新的访问请求读取IP地址的操作,因为队列的特点就在于,只能从队列的一端写入,从队列的另一端读取并删除。
[0046]本公开实施例中可以通过硬件处理器(hardware processor)来实现相关功能模块。
[0047]需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作合并,但是本领域技术人员应该知悉,本公开并不受所描述的动作顺序的限制,因为依据本公开,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本公开所必须的。
[0048]在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
[0049 ]如图4所示,在本公开的一实施例的内容分发网络中的TCP加速系统,包括:
[0050]访问内容信息确定模块,用于根据来自客户端的TCP访问请求确定TCP访问请求中所携带的访问内容信息;
[0051 ]访问请求生成模块,用于根据访问内容信息生成新的TCP访问请求,新的TCP访问请求至少包含访问内容信息和访问路由表,访问内容信息用于判定接收新的TCP访问请求的CDN节点是否存储有相应于访问内容信息的文件;
[0052 ]访问请求发送模块,用于根据访问路由表发送新的TCP访问请求至⑶N节点。
[0053]本实施中,在接收到来自客户端的访问请求后综合考虑用户的访问请求的内容和用户到能够提供所述访问请求内容的最近的节点的最优的路径,从而即保证了能够满足用户的访问请求又提供了最优的访问路径给用户,从而提升了为用户提供的服务的质量,保证了用户体验。
[0054]如图5所示,在本公开的一实施例的内容分发网络中的TCP加速系统中,访问请求生成模块包括:
[0055]源节点确定单元,用于根据访问内容信息确定存储有相应于所述访问内容信息的文件的CDN源节点;
[0056]最短路径确定单元,用于确定客户端至CDN源节点的最短路径;
[0057]路由表生成单元,用于基于最短路径中的所有⑶N节点的IP地址生成路由表;
[0058]新访问请求生成单元,用于至少根据访问内容信息和路由表生成新的TCP访问请求。
[0059]本实施例中,直接确定了用户到CDN源节点最短路径,并将该路径上的所有的CDN节点的IP地址存储为路由表,最终根据访问内容信息和路由表生成新的TCP访问请求以用于用户访问存储有访问内容的节点(CDN节点或者CDN源节点);最短路径上中包含的CDN节点中必然存在着已经缓存有用户所需内容的缓存CDN节点,而用户到CDN源节点的路径为最短路径,那么用户到该缓存有所需内容的缓存CDN节点的路径必然也是最短路径,因此,而且并不一定是该缓存⑶N节点直接为用户发送所需内容,可能是通过最短路径上的⑶N节点来为用户提供服务的,因为本身为一个服务器的CDN节点来为用户传输数据必然要比长距离的直接由缓存CDN节点为用户提供服务的质量要好,从而达到提升用户体验的目的;此外,既然存在缓存CDN节点,仍要把到CDN源节点的整个路径上的所有节点的IP地址存储为路由表的原因在于,考虑到了缓存CDN节点可能并没有完全缓存了用户所需的整个文件的情况,当出现这种情况时,仍可以根据所述路由表回源,以取得用户所需的访问内容。
[0060]如图6所示,在本公开的一实施例的内容分发网络中的TCP加速系统中,访问请求发送模块包括:
[0061 ]地址读取单元,用于从访问路由表中读取⑶N节点的IP地址;
[0062]访问路由表更新单元,用于将CDN节点的IP地址从访问路由表中删除;
[0063]请求发送单元,用于根据⑶N节点的IP地址将访问请求发送至⑶N节点。
[0064]本实施例中,通过读取将要转发至的下一⑶N节点的IP地址,后就立即删除该IP地址的方法使得每一次转发新的访问请求时都可以直接读取路由表中的第一个IP地址即可,而不用进行不必要的计算和比较(如果转发过程中,从始至终路由表都没有变更,则每一次读取下一CDN节点时都得通过计算从整个路由表中读取所述下一CDN节点的IP地址,例如,需要记录下次读取从第η个字节开始,这样既要计数又要计算,造成空间和时间的浪费),而通过本实施例的处理在转向下一 CDN节点时只需要从路由表的表头中顺序读取第一个IP地址即可,不仅节省了时间和空间,还避免了由于计算和计数可能带来的错误,例如直接跳转到更远的节点或者跳回到上一节点等。
[0065]在本公开的一实施例的内容分发网络中的TCP加速系统中,将所述最短路径中的所有⑶N节点的IP地址存储为路由表包括:
[0066]基于客户端至⑶对原节点方向的最短路径中的⑶N节点的IP地址生成所述路由表。
[0067]本实施例中,通过将最短路径中的所有CDN节点IP地址顺序在队列中,更加简化了每一次转发新的访问请求读取IP地址的操作,因为队列的特点就在于,只能从队列的一端写入,从队列的另一端读取并删除。
[0068]此外,本公开的实施例还提供一种服务器,该服务器布设有本公开的任一实施例的内容分发网络中的TCP加速系统,本实施例中的服务器可以为内容分发网络中的调度中心。
[0069]以上所描述的方法实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
[0070]通过以上的实施例的描述,本领域的技术人员可以清楚地了解到各实施例可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
[0071]本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
[0072]本公开是参照根据本公开实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0073]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0074]最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
【主权项】
1.一种内容分发网络中的TCP加速方法,包括: 根据来自客户端的TCP访问请求确定所述TCP访问请求中所携带的访问内容信息; 根据所述访问内容信息生成新的TCP访问请求,所述新的TCP访问请求至少包含所述访问内容信息和访问路由表,所述访问内容信息用于判定接收所述新的TCP访问请求的CDN节点是否存储有相应于所述访问内容信息的文件; 根据所述访问路由表发送所述新的TCP访问请求至CDN节点。2.根据权利要求1所述的方法,其中,所述根据所述访问内容信息生成新的TCP访问请求包括: 根据所述访问内容信息确定存储有相应于所述访问内容信息的文件的CDN源节点; 确定所述客户端至所述CDN源节点的最短路径; 基于所述最短路径中的所有CDN节点的IP地址生成路由表; 至少根据所述访问内容信息和所述路由表生成所述新的TCP访问请求。3.根据权利要求1所述的方法,其中,所述根据所述访问路由表发送所述新的TCP访问请求至⑶N节点包括: 从所述访问路由表中读取所述CDN节点的IP地址; 将所述⑶N节点的IP地址从所述访问路由表中删除; 根据所述⑶N节点的IP地址将所述访问请求转发至所述⑶N节点。4.根据权利要求2或3所述的方法,其中,所述将所述最短路径中的所有CDN节点的IP地址存储为路由表包括: 基于沿所述客户端至所述⑶N源节点方向的所述最短路径中的⑶N节点的IP地址生成所述路由表。5.—种内容分发网络中的TCP加速系统,包括: 访问内容信息确定模块,用于根据来自客户端的TCP访问请求确定所述TCP访问请求中所携带的访问内容信息; 访问请求生成模块,用于根据所述访问内容信息生成新的TCP访问请求,所述新的TCP访问请求至少包含所述访问内容信息和访问路由表,所述访问内容信息用于判定接收所述新的TCP访问请求的CDN节点是否存储有相应于所述访问内容信息的文件; 访问请求发送模块,用于根据所述访问路由表发送所述新的TCP访问请求至CDN节点。6.根据权利要求5所述的系统,其中,所述访问请求生成模块包括: 源节点确定单元,用于根据所述访问内容信息确定存储有相应于所述访问内容信息的文件的CDN源节点; 最短路径确定单元,用于确定所述客户端至所述CDN源节点的最短路径; 路由表生成单元,用于基于所述最短路径中的所有CDN节点的IP地址生成为路由表;新访问请求生成单元,用于至少根据所述访问内容信息和所述路由表生成所述新的TCP访问请求。7.根据权利要求5所述的系统,其中,所述访问请求发送模块包括: 地址读取单元,用于从所述访问路由表中读取所述CDN节点的IP地址; 访问路由表更新单元,用于将所述CDN节点的IP地址从所述访问路由表中删除; 请求发送单元,用于根据所述CDN节点的IP地址将所述访问请求发送至所述CDN节点。8.根据权利要求5-7任一项所述的系统,其中,所述将所述最短路径中的所有CDN节点的IP地址存储为路由表包括: 基于沿所述客户端至所述⑶N源节点方向的所述最短路径中的⑶N节点的IP地址生成所述路由表。9.一种服务器,所述服务器布设有权利要求5-8任一项所述的系统。
【文档编号】H04L12/741GK105933400SQ201610239445
【公开日】2016年9月7日
【申请日】2016年4月18日
【发明人】李洪福, 李艳松
【申请人】乐视控股(北京)有限公司, 乐视云计算有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1