CN118018612A - 调度方法、调度设备以及计算机可读介质 - Google Patents
调度方法、调度设备以及计算机可读介质 Download PDFInfo
- Publication number
- CN118018612A CN118018612A CN202211404631.0A CN202211404631A CN118018612A CN 118018612 A CN118018612 A CN 118018612A CN 202211404631 A CN202211404631 A CN 202211404631A CN 118018612 A CN118018612 A CN 118018612A
- Authority
- CN
- China
- Prior art keywords
- user
- cdn
- target
- address
- user request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 46
- 238000004590 computer program Methods 0.000 claims description 21
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000012423 maintenance Methods 0.000 abstract description 3
- 102100032305 Bcl-2 homologous antagonist/killer Human genes 0.000 description 12
- 101000798320 Homo sapiens Bcl-2 homologous antagonist/killer Proteins 0.000 description 12
- 238000010586 diagram Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 3
- 230000006855 networking Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供了一种调度方法、调度设备以及计算机可读介质,该方案中调度设备在调度目标IP地址时,不再采用随机或轮询的方式,而是基于用户请求中所携带的用户IP地址,选择与其对应的一个可用IP地址,当来自同一用户的多次用户请求被分配给同一CDN服务器时,由于这些用户请求中都携带相同的用户IP地址,因此其对应的目标IP地址也可以确保相同,在用户设备支持TCP长连接保持的情况下,能够大幅提升同一TCP连接的重复利用率,减少TCP建连耗时,提升服务质量。
Description
技术领域
本申请涉及信息技术领域,尤其涉及一种调度方法、调度设备以及计算机可读介质。
背景技术
目前,CDN(Content Delivery Network,内容分发网络)服务器可以向用户提供多个可用IP(Internet Protocol,网际互联协议)地址,以便于用户进行访问。调度设备在对用户请求进行调度时,会在获取到用户请求后为该用户分配一个CDN服务器。若该CDN服务器提供了多个可用IP地址,此时调度设备会从可用IP地址中选择一个,作为目标IP地址返回给用户设备,用户设备便可以向该目标IP地址发起用户请求,使得用户设备与目标IP地址之间建立TCP(Transmission Control Protocol,传输控制协议)连接。
在该调度过程中,当来自同一用户的多次用户请求被分配给同一CDN服务器时,由于其提供的可用IP地址有多个,在进行调度之后用户设备可能会被分配不同的目标IP地址,进而向不同的目标IP地址发起用户请求。由此,会导致TCP连接的复用率降低,并因此增加耗时影响用户体验。
发明内容
本申请的一个目的是提供一种调度方法、调度设备以及计算机可读介质,至少用以解决现有方案在对用户请求进行调度时TCP连接复用率低的问题。
本申请实施例提供了一种调度方法,所述方法包括:
接收用户设备发起的用户请求;
在CDN集群中为所述用户请求分配目标CDN服务器,所述目标CDN服务器提供对应于所述用户请求的多个可用IP地址;
根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中确定与所述用户IP地址对应的目标IP地址;
向所述用户设备返回所述目标IP地址,以使所述用户设备向所述目标IP地址发起用户请求。
本申请实施例还提供了一种调度设备,所述设备包括:
接收模块,用于接收用户设备发起的用户请求;
调度处理模块,用于在CDN集群中为所述用户请求分配目标CDN服务器,所述目标CDN服务器提供对应于所述用户请求的多个可用IP地址;以及根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中确定与所述用户IP地址对应的目标IP地址;
发送模块,用于向所述用户设备返回所述目标IP地址,以使所述用户设备向所述目标IP地址发起用户请求。
本申请实施例还提供了一种调度设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行所述的调度方法。
此外,本申请实施例还提供了一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现所述的调度方法。
相较于现有技术,本申请实施例提供的方案中,调度设备在接收用户设备发起的用户请求之后,可以在CDN集群中为所述用户请求分配目标CDN服务器,然后根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中,确定与所述用户IP地址对应的目标IP地址,并向所述用户设备返回所述目标IP地址,以使所述用户设备向所述目标IP地址发起用户请求。调度设备在调度目标IP地址时,不再采用随机或轮询的方式,而是基于用户请求中所携带的用户IP地址,选择与其对应的一个可用IP地址,当来自同一用户的多次用户请求被分配给同一CDN服务器时,由于这些用户请求中都携带相同的用户IP地址,因此其对应的目标IP地址也可以确保相同,在用户设备支持TCP长连接保持的情况下,能够大幅提升同一TCP连接的重复利用率,减少TCP建连耗时,提升服务质量。
附图说明
图1为本申请实施例提供的一种调度方法的处理流程图;
图2为本申请实施例中采用第一种方式的调度方案的调度原理示意图;
图3为本申请实施例中采用第二种方式的调度方案的调度原理示意图;
图4为本申请实施例中采用第三种方式的调度方案的调度原理示意图;
图5为本申请实施例提供的一种调度设备的结构示意图;
图6为本申请实施例提供的另一种调度设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请一个典型的配置中,终端、服务网络的设备均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机程序指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
本申请实施例提供了一种调度方法,执行该方法的调度设备在调度目标IP地址时,不再采用随机或轮询的方式,而是基于用户请求中所携带的用户IP地址,选择与其对应的一个可用IP地址,当来自同一用户的多次用户请求被分配给同一CDN服务器时,由于这些用户请求中都携带相同的用户IP地址,因此其对应的目标IP地址也可以确保相同,在用户设备支持TCP长连接保持的情况下,能够大幅提升同一TCP连接的重复利用率,减少TCP建连耗时,提升服务质量,可以适用于大文件、小文件等各类文件以及静态或动态的传输访问场景。
在实际场景中,执行上述方法的调度设备可以包括用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的程序。所述用户设备包括但不限于计算机、手机、平板电脑等各类终端设备。所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集中的服务器或者是分布式云网络中的服务器等。在此所述分布式云网络由基于云计算(Cloud Computing)的大量主机或网络服务器构成。
需要说明的是,分布式云网络可以为CDN网络,该CDN网络中可以包括多个分布式节点,所述调度设备可以是CDN网络中的边缘缓存节点。除CDN网络以外,分布式网络也可以为多台服务器按照分布式架构组成的服务器集群,分布式节点为该服务器集群中的任一服务器。在另外一示例中,分布式云网络也可以为边缘云网络,该边缘云网络可以基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台,以形成边缘位置的计算、网络、存储、安全、应用等能力全面的弹性云平台。此时所述调度设备可以是边缘云网络中的边缘节点或中心节点。应当注意的是,本申请实施例并不限制分布式网络具体为何种网络,任意多台计算设备组成的分布式架构的网络均适用于本申请。
本申请实施例提供的一种调度方法由调度设备执行,在本申请实施例的应用场景中,用户设备所发起的用户请求会根据实际的调度策略被发送至调度设备中,由调度设备在CDN集群中为用户分配一个目标CDN服务器。由于该应用场景中,目标CDN服务器提供了多个可用IP地址,因此调度设备还根据所述用户请求中的用户IP地址,从多个可用IP地址中为用户分配一个目标IP地址,进而向用户设备返回目标CDN服务器的目标IP地址,以便于用户向该目标CDN服务器的目标IP地址发起请求。
图1示出了本申请实施例提供的所述调度方法的处理流程,至少包括以下的处理步骤:
步骤S101,调度设备接收用户设备发起的用户请求。其中,所述用户设备并不仅限于用户的设备,也可以是其它任何设备,且所述用户请求可以不限于针对内容的请求,也可以是其它类型的请求,如边缘计算请求等。
步骤S102,调度设备在CDN集群中为所述用户请求分配目标CDN服务器。其中,所述CDN集群中可以包括多个CDN服务器,每个CDN服务器均可以对外向用户设备提供服务,以处理用户设备发起的用户请求。若目标CDN服务器提供一个可用IP地址,调度设备可以直接将该可用IP地址返回给用户,使得用户设备向该可用IP地址发起用户请求即可完成本次的调度。
但是,对于目标CDN服务器提供多个可用IP地址的情况,则还需要为本次的用户请求从多个可用IP地址中确定一个目标IP地址。在此种场景下,此类CDN服务器可以称为分布式下沉服务器,提供了多条对外服务的线路,每条线路对应一个可用IP地址。在用户设备端能够实现TCP连接复用逻辑的情况下,向多次发起用户请求的同一用户设备提供相同的目标IP地址能够提升TCP连接的复用率,从而减少CDN服务器和用户设备在整个请求处理过程中的性能消耗。
由此,在步骤S103中,调度设备根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中确定与所述用户IP地址对应的目标IP地址。
步骤S104,调度设备向所述用户设备返回所述目标IP地址,以使所述用户设备向所述目标IP地址发起用户请求。
在实际场景中,由于同一用户设备发起的用户请求一般会具有相同的用户IP地址,因此调度设备根据用户IP地址来从多个可用IP地址中确定目标IP地址时,能够向多次发起用户请求的同一用户设备返回相同的目标IP地址,由此来提升TCP连接的复用率,减少性能消耗。
在本申请的一些实施例中,为了确保调度设备能够根据相同的用户IP地址从多个可用IP地址中确定相同的目标IP地址,该处理过程可以基于用户IP地址进行哈希(hash)计算。即本实施例的方案在根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中,确定与所述用户IP地址对应的目标IP地址时,可以对所述用户请求中的用户IP地址进行哈希计算,获取第二哈希值,然后根据所述第二哈希值与可用IP地址之间的对应关系,从所述目标CDN提供的多个可用IP地址中确定与所述第二哈希值对应目标IP地址。
其中,所述哈希计算就是将任意长度的二进制值串映射为固定长度的二进制值串,这个映射的规则就是哈希算法,而原始数据通过映射之后得到的固定长度的二进制值串就是哈希值。哈希算法的特点为无法从哈希值反向推导出原始数据,且原始数据不发生变化,获得的哈希值也不会发生变化,而当原始数据发生变化时,获得的哈希值也会发生变化。对于本申请实施例的方案,用户IP地址即为哈希算法的原始数据,因此可以利用哈希算法的这一特点,来将同一用户IP地址映射至相同的目标IP地址,由此提升TCP连接的复用率。
在本申请的一些实施例中,可以预先为CDN服务器中的各个可用IP地址配置对应的第二特征信息。其中,所述第二特征信息可以是任意可用于识别所述可用IP地址与第二哈希值之间关联性的信息。由此,在根据所述第二哈希值与可用IP地址之间的对应关系,从所述目标CDN提供的多个可用IP地址中确定与所述第二哈希值对应目标IP地址时,可以提取所述第二哈希值中的第二特征信息,然后将第二哈希值中的第二特征信息所对应的可用IP地址,确定为与所述第二哈希值对应目标IP地址。
例如,所述第二特征信息可以是第二哈希值进行模运算后的计算结果,模的数值可以是可用IP地址的数量。以3个可用IP地址IP1、IP2和IP3为例,可以将第二哈希值取3的模,并将模运算的结果作为第二特征值。例如,当模运算的结果为1时,对应的可用IP地址可以配置为IP1,当模运算的结果为2时,对应的可用IP地址可以配置为IP2,当模运算的结果为0时,对应的可用IP地址可以配置为IP3。由此,可以通过提取所述第二哈希值的模运算结果这一第二特征信息,将该第二特征信息所对应的可用IP地址,确定为与所述第二哈希值对应目标IP地址。
在此,本领域技术人员应当理解,上述关于第二哈希值与可用IP地址之间的对应关系的具体内容仅为举例,现有或今后出现的基于类似原理的其它形式如果能够适用于本申请,也应该包含在本申请的保护范围内,并以引用的形式包含于此。例如,也可以预先为可用IP地址设置几个不同的数值范围,作为第二特征信息,当第二哈希值的末尾几位落入对应的数值范围时,将对应的可用IP地址确定为与所述第二哈希值对应目标IP地址。
以用户设备UE1为例,当用户设备UE1在首次所发起的用户请求Req1时,调度设备会收到该用户请求Req1,并在CDN集群中为所述用户请求分配目标CDN服务器CDN1,目标CDN服务器CDN1是一个分布式下沉服务器,提供了多个可用IP地址,分别为IP1、IP2、IP3和IP4。在确定目标CDN服务器CDN1后,调度设备根据用户请求Req1所携带的用户IP地址UserIP1进行哈希计算后,获得的第二哈希值为Hash_A。若根据所述第二哈希值与可用IP地址之间的对应关系,Hash_A对应的可用IP地址为IP2,则可以确定目标IP地址即为IP2。此时,调度设备可以向用户设备UE1返回目标CDN服务器CDN1提供的目标IP地址IP2,使得用户设备UE1向该目标IP地址IP2发起用户请求Req1。
当用户设备UE1在TCP连接复用逻辑允许的有效时间内再次发起用户请求Req2时,调度设备在收到该用户请求Req2后,若在CDN集群中再次为其分配了目标CDN服务器CDN1。此时,由于用户请求Req2同样是由用户设备UE1所发起,其所携带的用户IP地址未发生变化,仍然是UserIP1,对该用户IP地址UserIP1进行哈希计算后,会获得相同的第二哈希值Hash_A。由于第二哈希值与可用IP地址之间的对应关系未发生变化,调度设备会向用户设备UE1返回目标CDN服务器CDN1提供的目标IP地址IP2,使得用户设备UE1向该目标IP地址IP2发起用户请求Req2。此时,当用户设备UE1与CDN服务器CDN1符合TCP连接复用的要求时,本次用户请求Req2的处理过程可以实现TCP连接的复用,从而简化建连的过程,减少性能消耗。
而当另一用户设备UE2在TCP连接复用逻辑允许的有效时间内再次发起用户请求Req3时,调度设备在收到该用户请求Req3后,若在CDN集群中同样为其分配了目标CDN服务器CDN1。此时,由于用户请求Req3是由用户设备UE2所发起,其所携带的用户IP地址不再是UserIP1,而是UserIP2。调度设备对该用户IP地址UserIP2进行哈希计算后,会获得另一个不同的第二哈希值Hash_B。若在第二哈希值与可用IP地址之间的对应关系中,Hash_B所对应的可用IP地址为IP3,而非IP2,则调度设备会向用户设备UE2返回目标CDN服务器CDN1提供的目标IP地址IP3,使得用户设备UE2向该目标IP地址IP3发起用户请求Req3。
在本申请的一些实施例中,调度设备在CDN集群中为所述用户请求分配目标CDN服务器时,可以采用以下几种方式:1、根据所述用户请求所访问的URL;2、根据所述用户请求中的用户IP地址;3、同时结合所述用户请求所访问的URL和用户请求中的用户IP地址,并根据预先设定的条件来选择其一。
在第1种方式中,所述调度设备根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述URL对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器,由此可以确保访问相同URL的用户请求会被调度至相同的CDN服务器。
在实际场景中,CDN集群中的CDN服务器会缓存一部分资源的副本,当用户请求被调度至某一CDN服务器时,若该CDN服务器中存储了URL所对应的资源的副本,则可以直接处理该用户请求,若CDN服务器中没有URL所对应的资源的副本,则需要先从CDN集群中的其他CDN服务器同步该资源。因此,当调度设备根据所述用户请求所访问的URL来确定目标CDN服务器时,可以确保调度完成后缓存资源的命中率,减少CDN服务器的资源同步消耗,提升CDN集群性能。
在根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述URL对应的目标CDN服务器时,可以对所述用户请求所访问的URL进行哈希计算,获取第一哈希值,然后根据所述第一哈希值与CDN集群的CDN服务器之间的对应关系,从所述CDN集群的CDN服务器中确定与所述第一哈希值对应目标CDN服务器。由此,可以利用哈希算法的特点,确保能够将访问相同URL的用户请求调度至相同的目标CDN服务器中。
在本申请的一些实施例中,还可以预先为CDN集群中的各个CDN服务器配置对应的第一特征信息。其中,所述第一特征信息可以是任意可用于识别所述CDN服务器与第一哈希值之间关联性的信息。由此,在根据所述第一哈希值与CDN集群的CDN服务器之间的对应关系,从所述CDN集群的CDN服务器中确定与所述第一哈希值对应目标CDN服务器时,可以先提取所述第一哈希值中的第一特征信息,将第一哈希值中的第一特征信息所对应的CDN服务器,确定为与所述第一哈希值对应目标CDN服务器。
在实际场景中,所述第一特征信息也可以设定为第一哈希值进行模运算后的计算结果,其中,模的数值可以是CDN集群中CDN服务器的数量。以4个CDN服务器为例,分别为CDN1、CDN2、CDN3和CDN4,可以将第一哈希值取4的模,并将模运算的结果作为第一特征值。例如,当模运算的结果为1时,对应的CDN服务器可以配置为CDN1,当模运算的结果为2时,对应的CDN服务器可以配置为CDN2,当模运算的结果为3时,对应的CDN服务器可以配置为CDN3,当模运算的结果为0时,对应的CDN服务器可以配置为CDN4。由此,可以通过提取所述第一哈希值的模运算结果这一第一特征信息,将该第一特征信息所对应的CDN服务器,确定为与所述第一哈希值对应目标CDN服务器。
在此,本领域技术人员应当理解,类似于第二哈希值与可用IP地址之间的对应关系,上述关于第一哈希值与CDN服务器之间的对应关系的具体内容仅为举例,现有或今后出现的基于类似原理的其它形式如果能够适用于本申请,也应该包含在本申请的保护范围内,并以引用的形式包含于此。
图2示出了采用此种方式的调度方案的调度原理,包括以下的步骤:
步骤S201,调度设备100获取到用户设备200的用户请求。
步骤S202,调度设备100对用户请求所访问的URL进行哈希计算,并根据结果,从CDN集群300中选取目标CDN服务器310。
步骤S203,调度设备100对用户请求中的用户IP地址进行哈希计算,并根据结果,从目标CDN服务器310提供的多个可用IP地址中选取目标IP地址。
步骤S204,调度设备100向用户设备200返回目标IP地址。
在第2种方式中,所述调度设备根据所述用户请求中的用户IP地址,从CDN集群的多个CDN服务器中确定与所述用户IP地址对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器,由此可以确保具有相同用户IP地址的用户请求会被调度至相同的CDN服务器。采用此种方式的调度方案中,在从CDN集群中确定目标CDN服务器以及从多个可用IP地址中确定目标IP地址的处理过程中,都利用了用户IP地址作为选取的参数,因此最大限度的确保同一用户所发起的用户请求能够被调度至相同的可用IP地址,从而进一步提升了TCP连接的复用率,减少了建连时的性能消耗。
在根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述用户IP地址对应的目标CDN服务器时,调度设备可以对所述用户请求中的用户IP地址进行哈希计算,获取第一哈希值,然后根据所述第一哈希值与CDN集群的CDN服务器之间的对应关系,从所述CDN集群的CDN服务器中确定与所述第一哈希值对应目标CDN服务器。由此,可以利用哈希算法的特点,确保能够将具有相同用户IP地址的用户请求调度至相同的目标CDN服务器中。
此种方式在根据所述第一哈希值与CDN集群的CDN服务器之间的对应关系,从所述CDN集群的CDN服务器中确定与所述第一哈希值对应目标CDN服务器时,同样可以预先为CDN集群中的各个CDN服务器配置对应的第一特征信息,然后提取所述第一哈希值中的第一特征信息,将第一哈希值中的第一特征信息所对应的CDN服务器,确定为与所述第一哈希值对应目标CDN服务器。
图3示出了采用此种方式的调度方案的调度原理,包括以下的步骤:
步骤S301,调度设备100获取到用户设备200的用户请求。
步骤S302,调度设备100对用户请求中的用户IP地址进行哈希计算,并根据结果,从CDN集群300中选取目标CDN服务器310。
步骤S303,调度设备100对用户请求中的用户IP地址进行哈希计算,并根据结果,从目标CDN服务器310提供的多个可用IP地址中选取目标IP地址。
步骤S304,调度设备100向用户设备200返回目标IP地址。
在第3种方式中,所述调度设备首先判断所述用户请求所访问的URL是否属于预设URL。若属于预设URL,根据所述用户请求中的用户IP地址,从CDN集群的多个CDN服务器中确定与所述用户IP地址对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器。若不属于预设URL,根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述URL对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器。
其中,所述预设URL可以是CDN集群中对外提供访问一部分资源的URL,可以根据实际场景的需求设定。为了能够结合前两种方式的各自的优点,所述预设URL可以设定为访问热度超过预设值的资源的URL,即对于热门的资源,采用用户请求访问的URL作为确定目标CDN服务器的参数,而对于非热门的资源,则采用用户请求中所携带的用户IP地址作为确定目标CDN服务器的参数。
由于热门资源被访问的频次高,因此需要优先确保其资源缓存的命中率,避免CDN服务器之间过多的资源同步开销。因此对于此种访问热门资源的用户请求,根据所述用户请求中的用户IP地址,从CDN集群的多个CDN服务器中确定与所述用户IP地址对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器,以此来优先确保缓存的命中率。
而对于非热门资源,由于其被访问的频次较低,即使目标CDN服务器中没有缓存URL对应的资源副本,实际进行资源同步的次数也不会很多。因此对于此种访问非热门资源的用户请求,无需优先考虑缓存的命中率,而是根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述URL对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器,以此优先确保TCP连接的复用率。因此,采用上述的第3种方式可以综合前两种方式各自的优点,从而在整体上提升用户请求处理的效率。
图4示出了采用此种方式的调度方案的调度原理,包括以下的步骤:
步骤S401,调度设备100获取到用户设备200的用户请求。
步骤S402,调度设备100判断用户请求所访问的URL是否为预设URL,若属于预设URL,对用户请求中的用户IP地址进行哈希计算,并根据结果,从CDN集群300中选取目标CDN服务器310;若不属于预设URL,则对用户请求中的用户IP地址进行哈希计算,并根据结果,从CDN集群300中选取目标CDN服务器310。
步骤S403,调度设备100对用户请求中的用户IP地址进行哈希计算,并根据结果,从目标CDN服务器310提供的多个可用IP地址中选取目标IP地址。
步骤S404,调度设备100向用户设备200返回目标IP地址。
本申请实施例还提供了一种调度设备,所述调度设备的结构如图5所示,包括接收模块510、调度处理模块520和发送模块530。接收模块510用于接收用户设备发起的用户请求。调度处理模块520用于在CDN集群中为所述用户请求分配目标CDN服务器,所述目标CDN服务器提供对应于所述用户请求的多个可用IP地址;以及根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中确定与所述用户IP地址对应的目标IP地址。发送模块530用于向所述用户设备返回所述目标IP地址,以使所述用户设备向所述目标IP地址发起用户请求。
在实际场景中,所述调度设备可以包括用户设备、网络设备或用户设备与网络设备通过网络相集成所构成的设备,或者也可以是运行于上述设备的程序。所述用户设备包括但不限于计算机、手机、平板电脑等各类终端设备。所述网络设备包括但不限于如网络主机、单个网络服务器、多个网络服务器集中的服务器或者是分布式云网络中的服务器等。在此所述分布式云网络由基于云计算(Cloud Computing)的大量主机或网络服务器构成。
需要说明的是,分布式云网络可以为CDN网络,该CDN网络中可以包括多个分布式节点,所述调度设备可以是CDN网络中的边缘缓存节点。除CDN网络以外,分布式网络也可以为多台服务器按照分布式架构组成的服务器集群,分布式节点为该服务器集群中的任一服务器。在另外一示例中,分布式云网络也可以为边缘云网络,该边缘云网络可以基于云计算技术的核心和边缘计算的能力,构筑在边缘基础设施之上的云计算平台,以形成边缘位置的计算、网络、存储、安全、应用等能力全面的弹性云平台。此时所述调度设备可以是边缘云网络中的边缘节点或中心节点。应当注意的是,本申请实施例并不限制分布式网络具体为何种网络,任意多台计算设备组成的分布式架构的网络均适用于本申请。
此外,本申请实施例还提供了一种调度设备,该调度设备的结构如图6所示,包括用于存储计算机程序指令的存储器610和用于执行计算机程序指令的处理器620,其中,当该计算机程序指令被该处理器执行时,触发所述处理器执行所述调度方法。
本申请实施例中的方法和/或实施例可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在该计算机程序被处理单元执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图或框图示出了按照本申请各种实施例的设备、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的针对硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
作为另一方面,本申请实施例还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读介质承载有一个或者多个计算机程序指令,所述计算机程序指令可被处理器执行以实现前述本申请的多个实施例的方法和/或技术方案的步骤。
此外,本申请实施例还提供了一种计算机程序,所述计算机程序存储于计算机设备,使得计算机设备执行所述控制代码执行的方法。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一些实施例中,本申请的软件程序可以通过处理器执行以实现上文步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
Claims (13)
1.一种调度方法,其特征在于,所述方法包括:
接收用户设备发起的用户请求;
在CDN集群中为所述用户请求分配目标CDN服务器,所述目标CDN服务器提供对应于所述用户请求的多个可用IP地址;
根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中确定与所述用户IP地址对应的目标IP地址;
向所述用户设备返回所述目标IP地址,以使所述用户设备向所述目标IP地址发起用户请求。
2.根据权利要求1所述的方法,其特征在于,根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中,确定与所述用户IP地址对应的目标IP地址,包括:
对所述用户请求中的用户IP地址进行哈希计算,获取第二哈希值;
根据所述第二哈希值与可用IP地址之间的对应关系,从所述目标CDN提供的多个可用IP地址中确定与所述第二哈希值对应目标IP地址。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:预先为CDN服务器中的各个可用IP地址配置对应的第二特征信息;
根据所述第二哈希值与可用IP地址之间的对应关系,从所述目标CDN提供的多个可用IP地址中确定与所述第二哈希值对应目标IP地址,包括:
提取所述第二哈希值中的第二特征信息;
将第二哈希值中的第二特征信息所对应的可用IP地址,确定为与所述第二哈希值对应目标IP地址。
4.根据权利要求1所述的方法,其特征在于,在CDN集群中为所述用户请求分配目标CDN服务器,包括:
根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述URL对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器。
5.根据权利要求1所述的方法,其特征在于,在CDN集群中为所述用户请求分配目标CDN服务器,包括:
根据所述用户请求中的用户IP地址,从CDN集群的多个CDN服务器中确定与所述用户IP地址对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器。
6.根据权利要求1所述的方法,其特征在于,在CDN集群中为所述用户请求分配目标CDN服务器,包括:
判断所述用户请求所访问的URL是否属于预设URL;
若属于预设URL,根据所述用户请求中的用户IP地址,从CDN集群的多个CDN服务器中确定与所述用户IP地址对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器;
若不属于预设URL,根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述URL对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器。
7.根据权利要求4或6所述的方法,其特征在于,根据所述用户请求所访问的URL,从CDN集群的多个CDN服务器中确定与所述URL对应的目标CDN服务器,包括:
对所述用户请求所访问的URL进行哈希计算,获取第一哈希值;
根据所述第一哈希值与CDN集群的CDN服务器之间的对应关系,从所述CDN集群的CDN服务器中确定与所述第一哈希值对应目标CDN服务器。
8.根据权利要求5或6所述的方法,其特征在于,根据所述用户请求中的用户IP地址,从CDN集群的多个CDN服务器中确定与所述用户IP地址对应的目标CDN服务器,并为所述用户请求分配所述目标CDN服务器,包括:
对所述用户请求中的用户IP地址进行哈希计算,获取第一哈希值;
根据所述第一哈希值与CDN集群的CDN服务器之间的对应关系,从所述CDN集群的CDN服务器中确定与所述第一哈希值对应目标CDN服务器。
9.根据权利要求7或8所述的方法,其特征在于,所述方法还包括:预先为CDN集群中的各个CDN服务器配置对应的第一特征信息;
根据所述第一哈希值与CDN集群的CDN服务器之间的对应关系,从所述CDN集群的CDN服务器中确定与所述第一哈希值对应目标CDN服务器,包括:
提取所述第一哈希值中的第一特征信息;
将第一哈希值中的第一特征信息所对应的CDN服务器,确定为与所述第一哈希值对应目标CDN服务器。
10.一种调度设备,其特征在于,所述设备包括:
接收模块,用于接收用户设备发起的用户请求;
调度处理模块,用于在CDN集群中为所述用户请求分配目标CDN服务器,所述目标CDN服务器提供对应于所述用户请求的多个可用IP地址;以及根据所述用户请求中的用户IP地址,从所述目标CDN服务器提供的多个可用IP地址中确定与所述用户IP地址对应的目标IP地址;
发送模块,用于向所述用户设备返回所述目标IP地址,以使所述用户设备向所述目标IP地址发起用户请求。
11.根据权利要求7所述的方法,其特征在于,所述调度设备为边缘云网络中的边缘节点。
12.一种调度设备,该设备包括用于存储计算机程序指令的存储器和用于执行计算机程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发所述设备执行权利要求1至9中任一项所述的方法。
13.一种计算机可读介质,其上存储有计算机程序指令,所述计算机程序指令可被处理器执行以实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211404631.0A CN118018612A (zh) | 2022-11-10 | 2022-11-10 | 调度方法、调度设备以及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211404631.0A CN118018612A (zh) | 2022-11-10 | 2022-11-10 | 调度方法、调度设备以及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118018612A true CN118018612A (zh) | 2024-05-10 |
Family
ID=90959137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211404631.0A Pending CN118018612A (zh) | 2022-11-10 | 2022-11-10 | 调度方法、调度设备以及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118018612A (zh) |
-
2022
- 2022-11-10 CN CN202211404631.0A patent/CN118018612A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12045652B2 (en) | Technologies for batching requests in an edge infrastructure | |
US10637947B2 (en) | Scalable, real-time messaging system | |
CN109951880B (zh) | 通信处理方法、装置、计算机可读介质及电子设备 | |
US8972519B2 (en) | Optimization of multimedia service over an IMS network | |
CN113010818B (zh) | 访问限流方法、装置、电子设备及存储介质 | |
CN108848530B (zh) | 一种获取网络资源的方法、装置及调度服务器 | |
US11265235B2 (en) | Technologies for capturing processing resource metrics as a function of time | |
JP2019521576A (ja) | メッセージングシステムの持続性の維持 | |
US10986065B1 (en) | Cell-based distributed service architecture with dynamic cell assignment | |
CN113315706B (zh) | 私有云流量控制方法、设备及*** | |
US20230216895A1 (en) | Network-based media processing (nbmp) workflow management through 5g framework for live uplink streaming (flus) control | |
CN106657182B (zh) | 云端文件处理方法和装置 | |
CN114466018A (zh) | 内容分发网络的调度方法、装置、存储介质及电子设备 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
AU2021246978B2 (en) | Multi-level cache-mesh-system for multi-tenant serverless environments | |
CN110049133B (zh) | 一种dns区文件全量下发的方法和装置 | |
CN118018612A (zh) | 调度方法、调度设备以及计算机可读介质 | |
US10200301B1 (en) | Logical control groups for distributed system resources | |
CN113873052B (zh) | Kubernetes集群的域名解析方法、装置及设备 | |
US20240106792A1 (en) | Data packet transmission method and apparatus, device, storage medium, and program product | |
Chen et al. | Beyond the Field of View: Neglected Audio Part in VR Video Transmission Frameworks | |
CN114237893A (zh) | 缓存方法、装置、***、服务器以及存储介质 | |
CN117579288A (zh) | 握手复用方法、设备以及计算机可读介质 | |
CN114995746A (zh) | 存储对象数据访问方法、装置、设备和介质 | |
CN117891589A (zh) | 异构硬盘的分配方法、装置、设备及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |