CN114124797A - 一种服务器路由方法、装置、电子设备及存储介质 - Google Patents
一种服务器路由方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN114124797A CN114124797A CN202111401713.5A CN202111401713A CN114124797A CN 114124797 A CN114124797 A CN 114124797A CN 202111401713 A CN202111401713 A CN 202111401713A CN 114124797 A CN114124797 A CN 114124797A
- Authority
- CN
- China
- Prior art keywords
- server
- server cluster
- information
- content
- hash
- 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.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/127—Shortest path evaluation based on intermediate node capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种服务器路由方法、装置、电子设备及存储介质,应用于内容分发网络,所述方法包括:通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息;通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息;接收解析请求,解析请求包括待解析内容的域名;根据一级哈希信息和服务器集群信息,确定目标服务器集群和目标服务器集群的主节点,服务器集群信息包括服务器集群负载信息;目标服务器集群的主节点根据二级哈希信息和服务器信息查找目标服务器,并由目标服务器响应解析请求,服务器信息包括服务器负载信息。本申请所提供方法可提高内容分发网络的稳定性。
Description
技术领域
本申请涉及网络通信领域,具体而言,涉及一种服务器路由方法、装置、电子设备及存储介质。
背景技术
内容分发网络通过中心平台的负载均衡、内容分发、调度等功能模块使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。目前的内容分发网络构架中,内容分发网络需要感知每一个全球广域网内容对应的边缘缓存服务器信息。然而对于一个覆盖范围广泛、业务繁忙的内容分发网络包含海量的边缘缓存服务器,内容分发网络调度器要记录的内容信息和边缘缓存服务器信息太大,超出计算和存储能力。另一方面,在目前的内容分发网络构架中,所应用的内容分发网络调度器存在使用负载过重的服务器为用户提供服务的缺陷,用户体验效果较差。
发明内容
本发明实施例的目的在于一种服务器路由方法、装置、电子设备及存储介质,通过哈希算法两级映射来分布内容和服务器资源,避免当服务器集群或服务器数量发生变化时,大量内容同一时间失效,造成的系统压力过大而奔溃,有效地减少了当服务器数量发生变化时,哈希空间中内容和服务器资源的迁移。并且通过两级负载机制,减小内容分发网络调度器的处理负荷,同时避免内容分发网络调度器不能及时感知服务器的负载信息,从而导致分配负载过大的服务器响应用户请求,提高了内容分发网络的稳定性。
第一方面,本申请实施例提供了一种服务器路由方法,应用于内容分发网络,方法包括:通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息;通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息;接收解析请求,解析请求包括待解析内容的域名;根据一级哈希信息和服务器集群信息,确定目标服务器集群和目标服务器集群的主节点,服务器集群信息包括服务器集群负载信息;以及由目标服务器集群的主节点根据二级哈希信息和服务器信息查找目标服务器,并由目标服务器响应解析请求,服务器信息包括服务器负载信息。在一个优选实施例中,所述方法还包括:接收内容请求,所述内容请求包括所述内容的统一资源定位标志。
在上述的实现过程中,通过哈希算法将内容的域名映射到服务器集群标识,内容分发网络调度器只需要管理服务器集群的信息,增大了管理粒度,减少了多个内容分发网络调度器之间需要同步的服务器集群信息,从而减小内容分发网络调度器处理负荷。再通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,由服务器集群中主节点根据哈希信息将用户的请求定向到合适的服务器,提高服务质量。并且通过两级映射分布资源,避免因服务器集群或服务器数量变化,导致大量资源迁移,从而无法响应用户的请求。当服务器数量发生变化时,仍有部分服务器可以响应用户请求,提高了内容分发网络的稳定性。根据一级哈希信息、二级哈希信息、服务器集群负载信息和服务器集群信息,分配合适的服务器响应用户的请求,避免分配负载过大的服务器响应用户请求,提高服务质量。
可选地,在本申请实施例中,通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息,包括:通过哈希算法将内容的域名和服务器集群标识映射在同一个哈希空间;再将内容的域名映射到服务器集群标识,获得一级哈希信息。在上述的实现过程中,一级哈希信息包括内容的域名和服务器集群标识的映射关系,通过哈希算法将内容的域名映射到服务器集群标识,内容分发网络调度器只需要管理服务器集群的信息,增大了管理粒度,减少了内容分发网络调度器需要同步的服务器集群信息,从而减小内容分发网络调度器处理负荷。并且有效地减少了当服务器集群数量发生变化时,内容的域名到服务器集群的映射关系的变化,从而提高了内容分发网络的稳定性。
可选地,在本申请实施例中,通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息,包括:通过哈希算法将内容的域名下对应的多个统一资源定位标志,和服务器集群标识对应的多个服务器标识映射在同一个哈希空间;再将内容的域名下对应的多个统一资源定位标志,映射到服务器集群标识对应的多个服务器标识,获得二级哈希信息。在上述的实现过程中,二级哈希信息表包括统一资源定位标志到服务器标识的映射关系,通过二级哈希信息,由服务器集群中主节点根据哈希空间的信息,将用户的请求定向到合适的服务器,提高了服务质量。并且有效地减少了当服务器集群中的服务器数量发生变化时,统一资源定位标志到服务器标识的映射关系的变化,提高了内容分发网络的稳定性。
可选地,在本申请实施例中,根据一级哈希信息和服务器集群信息确定目标服务器集群和目标服务器集群的主节点之前,方法还包括:通过分布式一致性算法获得服务器集群的主节点,分布式一致性算法包括Paxos算法和raft算法。在上述的实现过程中,通过分布式一致性算法选出服务器集群的主节点,由主节点收集服务器负载信息,并将用户的请求定向到合适的服务器上,无需内容分发网络感知每一个内容对应的服务器信息,减小了内容分发网络调度器的处理负荷,从而提高了用户请求的响应速度。
可选地,在本申请实施例中,其中服务器信息包括服务器负载信息,方法还包括:通过服务器集群的主节点收集服务器负载信息,获得服务器负载信息。在上述的实现过程中,通过主节点管理服务器集群中的服务器的负载信息,一个服务器集群中的服务器的通信速度快,实现主节点准确且快速的获取每一个服务器的负载信息,避免分配负载过大的服务器响应用户请求,提高服务质量。
可选地,在本申请实施例中,其中服务器集群信息包括服务器集群负载数据,方法还包括:通过内容分发网络调度器收集服务器集群负载信息,获得服务器集群负载信息。在上述的实现过程中,内容分发网络调度器只需要管理服务器集群的信息,管理粒度大,减小了内容分发网络调度器处理负荷,从而提高了用户请求的响应速度。
可选地,在本申请实施例中,通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息,包括:若服务器集群标识对应的服务器集群的负载信息,大于服务器集群负载信息阈值,则将内容的域名,映射到其他的服务器集群标识;通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息,包括:若服务器标识对应的服务器的负载信息,大于服务器负载信息阈值,则将统一资源定位标志,映射到服务器集群下对应的其他服务器标识。在上述的实现过程中,负载信息阈值可以根据实际情况进行预设,通过预设服务器集群和服务器的负载信息阈值,将服务器集群或服务器的负载信息与对应的负载信息阈值比较,将内容的域名或统一资源定位标志映射到负载较少的服务器集群标识或服务器标识,避免负载过重的服务器集群或服务器为用户提供服务,提高服务质量。
第二方面,本申请实施例还提供了一种服务器路由装置,应用于内容分发网络,包括:第一映射模块,用于通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息;第二映射模块,用于通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息;请求接收模块,用于接收解析请求,解析请求包括待解析内容的域名;第一处理模块,用于根据一级哈希信息和服务器集群信息,确定目标服务器集群和目标服务器集群的主节点,服务器集群信息包括服务器集群负载信息;以及第二处理模块,用于目标服务器集群的主节点根据二级哈希信息和服务器信息查找目标服务器,并由目标服务器响应解析请求,服务器信息包括服务器负载信息。
可选地,在本申请实施例中,其中第一映射模块还用于通过哈希算法将内容的域名和服务器集群标识映射在同一个哈希空间;再将内容的域名映射到服务器集群标识,获得一级哈希信息。
可选地,在本申请实施例中,其中第二映射模块还用于通过哈希算法将内容的域名下对应的多个统一资源定位标志,和服务器集群标识对应的多个服务器标识映射在同一个哈希空间;再将内容的域名下对应的多个统一资源定位标志,映射到服务器集群标识对应的多个服务器标识,获得二级哈希信息。
可选地,在本申请实施例中,服务器路由装置,还包括:主节点计算模块,其用于通过分布式一致性算法获得服务器集群的主节点,分布式一致性算法包括Paxos算法和raft算法。
可选地,在本申请实施例中,服务器路由装置,还包括:第一负载模块,其用于通过服务器集群的主节点收集服务器负载信息,获得服务器负载信息。
可选地,在本申请实施例中,服务器路由装置,还包括:第二负载模块,其用于通过内容分发网络调度器收集服务器集群负载信息,获得服务器集群负载信息。
可选地,在本申请实施例中,服务器路由装置,还包括:条件映射模块,其用于若服务器集群标识对应的服务器集群的负载信息,大于服务器集群负载信息阈值,则将内容的域名,映射到其他的服务器集群标识;还用于若服务器标识对应的服务器的负载信息,大于服务器负载信息阈值,则将统一资源定位标志,映射到服务器集群下对应的其他服务器标识。
第三方面,本申请实施例还提供了一种电子设备,包括:处理器和存储器,存储器存储有处理器可执行的机器可读指令,机器可读指令被处理器执行时执行如上面描述的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上面描述的方法。
采用本申请提供服务器路由方法、装置、电子设备及存储介质,可通过哈希算法将内容的域名映射到服务器集群标识,内容分发网络调度器只需要管理服务器集群的信息,增大了管理粒度,减少了多个内容分发网络调度器之间需要同步的服务器集群信息,从而减小内容分发网络调度器处理负荷。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的内容分发网络架构图;
图2为本申请实施例提供的一种服务器路由方法的流程示意图;
图3为本申请实施例提供的服务器负载信息结构示意图;
图4为本申请实施例提供的服务器集群负载信息结构示意图;
图5为本申请实施例提供的一种服务器路由装置的结构示意图;
图6为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
在本申请实施例的描述中,技术术语“第一”、“第二”等仅用于区别不同对象,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量、特定顺序或主次关系。在本申请实施例的描述中,“多个”的含义是两个以上,除非另有明确具体的限定。
在描述本申请提供服务器路由方法、装置、电子设备及存储介质之前,先对其应用的内容分发网络架构进行简要描述,请参见图1示出的本申请实施例提供的内容分发网络架构图。
内容分发网络包括内容分发网络调度集群和多个服务器集群,内容分发网络调度集群包括多个内容分发网络调度器,服务器集群包括多个服务器;客户端向Local DNS发送解析请求,Local DNS接收到客户端的解析请求,获取内容分发网络调度器,请求内容分发网络调度器解析该请求,内容分发网络调度器查询合适的服务器集群,并将该服务器集群主节点的IP发送给客户端,客户端向服务器集群主节点发送内容请求,服务器集群主节点查询合适的服务器,将客户端的内容请求重定向到目标服务器,目标服务器响应客户端发送的内容请求。
请参见图2示出的本申请实施例提供的一种服务器路由方法的流程示意图。
该服务器路由方法通过哈希算法两级映射来分布内容和服务器资源,有效地减少了当服务器数量发生变化时,哈希空间中内容和服务器资源的迁移。并且通过两级负载机制,减小内容分发网络调度器的处理负荷,同时避免内容分发网络调度器不能及时感知服务器的负载信息,从而导致分配负载过大的服务器响应用户请求,提高了内容分发网络的稳定性。如图2所示,上述的服务器路由方法可以包括如下步骤:
步骤S110:通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息。
上述步骤S110的实施方式包括:哈希算法将任意长度的二进制值映射为较短的固定长度的二进制值,这个小的二进制值称为哈希值。通过哈希算法将内容的域名,映射到服务器集群标识,其中,哈希算法可以是一致性哈希算法,内容可以是web内容。
具体例如,通过一致性哈希算法将内容的域名映射到具有多个节点的哈希空间中,将服务器集群标识哈希到该哈希空间中,再将内容的域名映射到服务器集群标识。在动态变化的服务器集群中,通过一致性哈希算法完成内容的域名到服务器集群的映射,使得内容的域名能够尽量分配到所有的服务器集群中,满足所有服务器集群都得到利用;当服务器集群数量发生变化时,通过一致性哈希算法尽量保护已经映射的内容的域名不会被重新映射到新的服务集群中,从而降低哈希空间中内容和服务器资源的迁移,减少了内容分发网络各调度器之间需要同步的资源信息,从而减少了内容分发网络调度器的处理负荷;不同终端将内容的域名映射到服务器集群时,可能因为所见到的服务器集群资源范围不同,而将相同内容的域名被映射到不同的服务器集群,导致服务器集群资源利用率低,通过一致性哈希算法降低分散性,有效地避免上述情况的发生,提高资源利用率,同时降低服务器集群负载。
在步骤S110之后,执行步骤S120:通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息。
上述步骤S120的实施方式包括:哈希算法可以是一致性哈希算法,通过一致性哈希算法将内容的域名下对应的多个统一资源定位标志,映射到具有多个节点的空间中,再将服务器集标识下对应的多个服务器标识映射到该哈希空间中,再将统一资源定位标志映射到服务器标识。
在步骤S120之后,执行步骤S130:接收解析请求,解析请求包括待解析内容的域名。
在一个优选实施例中,客户端点击需要的内容,获取到内容的统一资源定位标志,统一资源定位标志包括内容的域名,客户端请求Local DNS解析内容的域名对应的IP地址,Local DNS通过查询授权DNS,获取到内容分发网络调度器的IP,查找到内容分发网络调度器,请求内容分发网络调度器解析内容的域名对应的IP地址,其中内容可以是web内容。
在步骤S130之后,执行步骤S140:根据一级哈希信息和服务器集群信息,确定目标服务器集群和目标服务器集群的主节点,服务器集群信息包括服务器集群负载信息。
上述步骤S140的实施方式包括:一级哈希信息包括内容的域名和服务器集群标识的映射关系,根据接收到的解析请求中的内容的域名,查找内容的域名对应的服务器集群,再根据服务器集群信息查找到目标服务器集群,并确定该目标服务器集群的主节点以及主节点的IP地址。其中服务器集群信息包括服务器集群负载信息,各个服务器集群的主节点会将各自服务器集群的负载信息发送至内容分发网络调度器,内容分发网络调度器根据各服务器集群的负载信息选择服务器集群负载较小的服务器集群提供服务。
在步骤S140之后,步骤S150之前,所述方法还包括:接收内容请求,所述内容请求包括所述内容的统一资源定位标志。
上述步骤的实施方式包括:通过Local DNS将目标服务器集群的主节点的信息返回给客户端,其中主节点的信息包括主节点的IP地址,客户端接收到主节点的IP地址,向主节点发送内容请求,内容请求包括内容的统一资源定位标志,主节点接收客户端的内容请求,查找合适的服务器。
在步骤S140之后,执行步骤S150:以及由目标服务器集群的主节点根据二级哈希信息和服务器信息查找目标服务器,并由目标服务器响应解析请求,服务器信息包括服务器负载信息。
上述步骤S150的实施方式包括:二级哈希信息包括统一资源定位标志到服务器标识的映射关系,其中,统一资源定位标志为上述内容的域名下对应的多个统一资源定位标志,服务器标识为上述服务器集群对应的多个服务器。接收客户端的内容请求,内容请求包括内容的统一资源定位标志,目标服务器集群的主节点根据二级哈希信息和服务器信息查找合适的目标服务器,服务器信息包括服务器负载信息,根据各服务器的负载信息选择服务器负载较小的服务器提供服务。确定目标服务器之后,将客户端的内容请求重新定向到目标服务器,由目标服务器响应该内容请求。
在上述的实现过程中,通过一致性哈希算法将内容的域名映射到服务器集群标识,并将统一资源定位标志映射到服务器,避免当服务器集群或服务器数量发生变化时,大量内容同一时间失效,造成的系统压力过大而奔溃。并且,当服务器集群或服务器数量发生变化时,一致性哈希算法避免大量的内容和服务器的映射关系发生变化,有效地减少哈希空间中内容和服务器资源的迁移。
通过哈希算法将内容的域名映射到服务器集群标识,内容分发网络调度器只需要管理服务器集群的信息,管理粒度大,减少了内容分发网络调度器需要同步的服务器集群信息,从而减小内容分发网络调度器处理负荷。再通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,由服务器集群中主节点根据哈希空间的信息将用户的请求定向到合适的服务器,提高服务质量。并且根据一级哈希信息、二级哈希信息、服务器集群负载信息和服务器集群信息,分配合适的服务器响应用户的请求,避免分配负载过大的服务器响应用户请求,提高用户体验感。
可选的,在本申请实施例中,通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息,包括:通过哈希算法将内容的域名和服务器集群标识映射在同一个哈希空间;再将内容的域名映射到服务器集群标识,获得一级哈希信息。
上述步骤的实施方式例如:哈希算法可以是一致性哈希算法,通过一致性哈希算法将内容的域名映射到具有232次方个节点的哈希空间中,具体例如,将内容的域名通过特定的哈希函数计算出对应的key值,再将内容的域名散列在哈希空间中对应的key值;
将服务器集群标识映射到该哈希空间中,具体例如,使用服务器集群的IP或其他标识作为关键字进行哈希计算,由此确定各个域名的内容和各个服务器集群在哈希空间的位置;
将内容的域名映射到服务器集群标识。具体例如,哈希空间可以为闭合环形,内容的域名对应的key值,从所在位置延环形顺时针方向遇到的第一个服务器集群,则将该内容的域名映射到该服务器集群标识。
需要说明的是,哈希空间的节点数可以自定义,整个哈希空间可以通过TreeMap实现。
在上述的实现过程中,通过哈希算法将内容的域名映射到服务器集群标识,内容分发网络调度器只需要管理服务器集群的信息,增大了管理粒度,减少了内容分发网络调度器需要同步的服务器集群信息,从而减小内容分发网络调度器处理负荷。并且有效地减少了当服务器集群数量发生变化时,内容的域名到服务器集群的映射关系的变化,从而提高了内容分发网络的稳定性。
可选的,在本申请实施例中,通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息,包括:通过哈希算法将内容的域名下对应的多个统一资源定位标志,和服务器集群标识对应的多个服务器标识映射在同一个哈希空间;再将内容的域名下对应的多个统一资源定位标志,映射到服务器集群标识对应的多个服务器标识,获得二级哈希信息。
上述步骤的实施方式例如:二级哈希信息包括统一资源定位标志到服务器标识的映射关系,其中,统一资源定位标志为内容的域名下对应的多个统一资源定位标志,服务器标识为服务器集群对应的多个服务器。通过一致性哈希算法将统一资源定位标志映射到具有多个节点的哈希空间中,将服务器标识映射到该哈希空间中,再将统一资源定位标志映射到服务器标识。
在上述的实现过程中,通过将统一资源定位标志映射到服务器标识,有效地减少了当服务器集群中的服务器数量发生变化时,统一资源定位标志到服务器标识的映射关系的变化,提高了内容分发网络的稳定性。
可选的,在本申请实施例中,根据一级哈希信息和服务器集群信息确定目标服务器集群和目标服务器集群的主节点之前,方法还包括:通过分布式一致性算法获得服务器集群的主节点,分布式一致性算法包括Paxos算法和raft算法。
上述步骤的实施方式例如:通过Paxos一致性算法或raft一致性算法等分布式一致性算法选出服务器集群的主节点,由主节点收集服务器负载信息,并将用户的请求定向到合适的服务器上,无需内容分发网络感知每一个内容对应的服务器信息,减小了内容分发网络调度器的处理负荷,从而提高了用户请求的响应速度。
请参见图3示出的本申请实施例提供的服务器负载信息结构示意图;
可选地,在本申请实施例中,其中服务器信息包括服务器负载信息,方法还包括:通过服务器集群的主节点收集服务器负载信息,获得服务器负载信息。
上述步骤的实施方式例如:服务器集群中各个服务器将服务器负载信息发送至服务器集群中主节点,负载信息包括带宽、CPU和内存等数据,主节点收集各服务器的负载信息,获知服务器集群中每个服务器的负载状态,并将该服务器集群中的各服务器负载信息计算整合为服务器集群负载信息,发送给内容分发网络调度器。服务器负载信息的收集周期可以根据服务器之间的通信速度和服务器数量确定,在一个优选实施例中,一个服务器集群中的服务器在同一个数据中心或机柜,服务器之间通信速度较快,若服务器数量较少,可以默认每3秒为周期收集一次服务器负载信息。
在上述的实现过程中,在上述的实现过程中,通过主节点管理服务器集群中的服务器的负载信息,一个服务器集群中的服务器的通信速度快,实现主节点准确且快速的获取每一个服务器的负载信息,避免分配负载过大的服务器响应用户请求,提高服务质量。
请参见图4示出的本申请实施例提供的服务器集群负载信息结构示意图;
可选地,在本申请实施例中,其中服务器集群信息包括服务器集群负载数据,方法还包括:通过内容分发网络调度器收集服务器集群负载信息,获得服务器集群负载信息。
上述步骤的实施方式例如:各个服务器集群主节点将服务器集群的负载信息发送给内容分发网络调度器,内容分发网络调度集群中的多个调度器之间会向其他调度器同步各自收到的服务器集群负载信息,负载信息包括带宽、CPU和内存等数据,内容分发网络调度器通过收集和同步服务器集群负载信息,获知各个服务器集群的负载状态。服务器集群负载信息的收集时间周期可以根据内容分发网络的调度器数量确定,若内容分发网络的调度器的数量较少,可以默认每30秒为周期收一次服务器集群负载信息。
在上述的实现过程中,在上述的实现过程中,内容分发网络调度器只需要管理服务器集群的信息,管理粒度大,减小了内容分发网络调度器处理负荷,从而提高了用户请求的响应速度。
可选地,在本申请实施例中,通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息,包括:若服务器集群标识对应的服务器集群的负载信息,大于服务器集群负载信息阈值,则将内容的域名,映射到其他的服务器集群标识;通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息,包括:若服务器标识对应的服务器的负载信息,大于服务器负载信息阈值,则将统一资源定位标志,映射到服务器集群下对应的其他服务器标识。
上述步骤的实施方式例如:通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息,一级哈希信息包括内容的域名和服务器集群标识的映射关系。在一个优选实施例中,同一域名下的内容由一个对应的服务器集群提供服务,若通过哈希算法计算获得域名映射到的这一服务器集群负载大于服务器集群负载信息阈值,则将内容的域名,映射到其他的服务器集群标识,即由哈希空间中后续的服务器集群提供服务。其中,服务器集群负载信息阈值可以进行预设。
通过哈希算法将内容的域名下对应的多个统一资源定位标志,映射到服务器集群下对应的多个服务器标识,获得二级哈希信息,二级哈希信息包括统一资源定位标志到服务器标识的映射关系。在一个优选实施例中,同一统一资源定位标志的内容默认由对应的两个服务器提供服务,若通过哈希算法计算获得服务器标识映射的两个服务器的负载信息,都大于服务器负载信息阈值,则将该统一资源定位标志,映射到服务器集群下对应的其他服务器标识,即由哈希空间中该服务器集群中后续的服务器集群提供服务。其中,服务器负载信息阈值可以进行预设。
在上述的实现过程中,通过预设服务器集群和服务器的负载信息阈值,将服务器集群或服务器的负载信息与对应的负载信息阈值比较,将内容的域名或统一资源定位标志映射到负载较少的服务器集群标识或服务器标识,避免负载过重的服务器集群或服务器为用户提供服务,提高服务质量。
请参见图5示出的本申请实施例提供的服务器路由装置的结构示意图;本申请实施例提供了一种服务器路由装置200,包括:
第一映射模块210,用于通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息;
第二映射模块220,用于通过哈希算法将所述内容的域名下对应的多个统一资源定位标志,映射到所述服务器集群下对应的多个服务器标识,获得二级哈希信息;
请求接收模块230,用于接收解析请求,所述解析请求包括待解析内容的域名;
第一处理模块240,用于根据所述一级哈希信息和服务器集群信息,确定目标服务器集群和所述目标服务器集群的主节点,所述服务器集群信息包括服务器集群负载信息;以及
第二处理模块250,用于所述目标服务器集群的主节点根据所述二级哈希信息和服务器信息查找目标服务器,并由所述目标服务器响应所述解析请求,所述服务器信息包括服务器负载信息。
应理解的是,该装置与上述的服务器路由方法实施例对应,能够执行上述方法实施例涉及的各个步骤,该装置具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。该装置包括至少一个能以软件或固件(firmware)的形式存储于存储器中或固化在装置的操作系统(operating system,OS)中的软件功能模块。
请参见图6示出的本申请实施例提供的电子设备的结构示意图。本申请实施例提供的一种电子设备300,包括:处理器310和存储器320,存储器320存储有处理器310可执行的机器可读指令,机器可读指令被处理器310执行时执行如上的方法。
本申请实施例还提供了一种存储介质,该存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如上的方法。
其中,存储介质可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-OnlyMemory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
本申请实施例所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请实施例的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请实施例各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
以上的描述,仅为本申请实施例的可选实施方式,但本申请实施例的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请实施例揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请实施例的保护范围之内。
Claims (10)
1.一种服务器路由方法,其特征在于,应用于内容分发网络,所述方法包括:
通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息;
通过哈希算法将所述内容的域名下对应的多个统一资源定位标志,映射到所述服务器集群下对应的多个服务器标识,获得二级哈希信息;
接收解析请求,所述解析请求包括待解析内容的域名;
根据所述一级哈希信息和服务器集群信息,确定目标服务器集群和所述目标服务器集群的主节点,所述服务器集群信息包括服务器集群负载信息;以及
由所述目标服务器集群的主节点根据所述二级哈希信息和服务器信息查找目标服务器,并由所述目标服务器响应所述解析请求,所述服务器信息包括服务器负载信息。
2.根据权利要求1所述的方法,其特征在于,所述通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息,包括:通过哈希算法将所述内容的域名和所述服务器集群标识映射在同一个哈希空间;再将所述内容的域名映射到所述服务器集群标识,获得一级哈希信息。
3.根据权利要求1所述的方法,其特征在于,所述通过哈希算法将所述内容的域名下对应的多个统一资源定位标志,映射到所述服务器集群下对应的多个服务器标识,获得二级哈希信息,包括:通过哈希算法将所述内容的域名下对应的多个统一资源定位标志,和所述服务器集群标识对应的多个服务器标识映射在同一个哈希空间;再将所述内容的域名下对应的多个统一资源定位标志,映射到所述服务器集群标识对应的多个服务器标识,获得二级哈希信息。
4.根据权利要求1所述的方法,其特征在于,所述根据所述一级哈希信息和服务器集群信息确定目标服务器集群和所述目标服务器集群的主节点之前,所述方法还包括:
通过分布式一致性算法获得所述服务器集群的主节点,所述分布式一致性算法包括Paxos算法和raft算法。
5.根据权利要求1所述的方法,其特征在于,其中所述服务器信息包括服务器负载信息,所述方法还包括:通过所述服务器集群的主节点收集所述服务器负载信息,获得服务器负载信息。
6.根据权利要求1所述的方法,其特征在于,其中所述服务器集群信息包括服务器集群负载数据,所述方法还包括:通过内容分发网络调度器收集所述服务器集群负载信息,获得服务器集群负载信息。
7.根据权利要求1所述的方法,其特征在于,所述通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息,包括:
若所述服务器集群标识对应的服务器集群的负载信息,大于服务器集群负载信息阈值,则将所述内容的域名,映射到其他的服务器集群标识;
所述通过哈希算法将所述内容的域名下对应的多个统一资源定位标志,映射到所述服务器集群下对应的多个服务器标识,获得二级哈希信息,包括:若所述服务器标识对应的服务器的负载信息,大于服务器负载信息阈值,则将所述统一资源定位标志,映射到所述服务器集群下对应的其他服务器标识。
8.一种服务器路由装置,其特征在于,应用于内容分发网络,包括:
第一映射模块,用于通过哈希算法将内容的域名,映射到服务器集群标识,获得一级哈希信息;
第二映射模块,用于通过哈希算法将所述内容的域名下对应的多个统一资源定位标志,映射到所述服务器集群下对应的多个服务器标识,获得二级哈希信息;
请求接收模块,用于接收解析请求,所述解析请求包括待解析内容的域名;
第一处理模块,用于根据所述一级哈希信息和服务器集群信息,确定目标服务器集群和所述目标服务器集群的主节点,所述服务器集群信息包括服务器集群负载信息;以及
第二处理模块,用于所述目标服务器集群的主节点根据所述二级哈希信息和服务器信息查找目标服务器,并由所述目标服务器响应所述解析请求,所述服务器信息包括服务器负载信息。
9.一种电子设备,其特征在于,包括:处理器和存储器,所述存储器存储有所述处理器可执行的机器可读指令,所述机器可读指令被所述处理器执行时执行如权利要求1至7任一所述的方法。
10.一种计算机可读存储介质,其特征在于,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如权利要求1至7任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111401713.5A CN114124797B (zh) | 2021-11-19 | 2021-11-19 | 一种服务器路由方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111401713.5A CN114124797B (zh) | 2021-11-19 | 2021-11-19 | 一种服务器路由方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124797A true CN114124797A (zh) | 2022-03-01 |
CN114124797B CN114124797B (zh) | 2023-08-04 |
Family
ID=80371662
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111401713.5A Active CN114124797B (zh) | 2021-11-19 | 2021-11-19 | 一种服务器路由方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124797B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114727140A (zh) * | 2022-03-18 | 2022-07-08 | 广州方硅信息技术有限公司 | 直播联运数据同步的方法、服务器集群及存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016169529A2 (zh) * | 2016-05-16 | 2016-10-27 | 白杨 | 白杨消息端口交换服务 |
CN107846454A (zh) * | 2017-10-25 | 2018-03-27 | 暴风集团股份有限公司 | 一种资源调度方法、装置和cdn系统 |
WO2019052225A1 (zh) * | 2017-09-13 | 2019-03-21 | 平安科技(深圳)有限公司 | 开放平台控制方法、系统、计算机设备和存储介质 |
CN110677348A (zh) * | 2019-09-17 | 2020-01-10 | 阿里巴巴集团控股有限公司 | 基于缓存集群路由的数据分发方法、访问方法及各自装置 |
CN111092816A (zh) * | 2019-11-26 | 2020-05-01 | 金蝶软件(中国)有限公司 | 网关动态路由方法、装置、计算机设备和存储介质 |
CN111225059A (zh) * | 2020-01-10 | 2020-06-02 | 中移(杭州)信息技术有限公司 | 网络请求资源调度方法、装置、电子设备及存储介质 |
CN112632342A (zh) * | 2020-12-29 | 2021-04-09 | 北京大米科技有限公司 | 数据查询方法、装置、存储介质及电子设备 |
CN112799839A (zh) * | 2021-01-28 | 2021-05-14 | 百果园技术(新加坡)有限公司 | 请求处理方法、装置、计算机可读存储介质及电子设备 |
CN113282941A (zh) * | 2021-06-15 | 2021-08-20 | 深圳市商汤科技有限公司 | 获取对象标识的方法、装置、电子设备及存储介质 |
-
2021
- 2021-11-19 CN CN202111401713.5A patent/CN114124797B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016169529A2 (zh) * | 2016-05-16 | 2016-10-27 | 白杨 | 白杨消息端口交换服务 |
WO2019052225A1 (zh) * | 2017-09-13 | 2019-03-21 | 平安科技(深圳)有限公司 | 开放平台控制方法、系统、计算机设备和存储介质 |
CN107846454A (zh) * | 2017-10-25 | 2018-03-27 | 暴风集团股份有限公司 | 一种资源调度方法、装置和cdn系统 |
CN110677348A (zh) * | 2019-09-17 | 2020-01-10 | 阿里巴巴集团控股有限公司 | 基于缓存集群路由的数据分发方法、访问方法及各自装置 |
CN111092816A (zh) * | 2019-11-26 | 2020-05-01 | 金蝶软件(中国)有限公司 | 网关动态路由方法、装置、计算机设备和存储介质 |
CN111225059A (zh) * | 2020-01-10 | 2020-06-02 | 中移(杭州)信息技术有限公司 | 网络请求资源调度方法、装置、电子设备及存储介质 |
CN112632342A (zh) * | 2020-12-29 | 2021-04-09 | 北京大米科技有限公司 | 数据查询方法、装置、存储介质及电子设备 |
CN112799839A (zh) * | 2021-01-28 | 2021-05-14 | 百果园技术(新加坡)有限公司 | 请求处理方法、装置、计算机可读存储介质及电子设备 |
CN113282941A (zh) * | 2021-06-15 | 2021-08-20 | 深圳市商汤科技有限公司 | 获取对象标识的方法、装置、电子设备及存储介质 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114727140A (zh) * | 2022-03-18 | 2022-07-08 | 广州方硅信息技术有限公司 | 直播联运数据同步的方法、服务器集群及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114124797B (zh) | 2023-08-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11283715B2 (en) | Updating routing information based on client location | |
CN107426302B (zh) | 访问调度方法、装置、系统、终端、服务器及存储介质 | |
US10404790B2 (en) | HTTP scheduling system and method of content delivery network | |
JP5150769B2 (ja) | 要求ルーティングおよびクライアントロケーション情報を利用したルーティング情報の更新 | |
CN110730250B (zh) | 信息处理方法及装置、服务系统、存储介质 | |
US12010164B2 (en) | System for providing exact communication delay guarantee of request response for distributed service | |
CN110198332B (zh) | 内容分发网络节点的调度方法、装置及存储介质 | |
CN114124797B (zh) | 一种服务器路由方法、装置、电子设备及存储介质 | |
US20150156259A1 (en) | Load balancing apparatus, information processing system, method and medium | |
US11606415B2 (en) | Method, apparatus and system for processing an access request in a content delivery system | |
US11196704B2 (en) | Content delivery system using embedded requestor information | |
CN113315836B (zh) | 文件访问请求的调度方法、装置、电子设备、存储介质 | |
EP3304865B1 (en) | Systems and methods for server failover and load balancing | |
CN115695431A (zh) | 一种调度服务器的方法、装置、存储介质及电子设备 | |
CN118200286A (zh) | 域名解析方法、装置、电子设备及存储介质 | |
CN117527809A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: Room 1308, 13th floor, East Tower, 33 Fuxing Road, Haidian District, Beijing 100082 Applicant after: China Telecom Digital Intelligence Technology Co.,Ltd. Address before: Room 1308, 13th floor, East Tower, 33 Fuxing Road, Haidian District, Beijing 100082 Applicant before: CHINA TELECOM GROUP SYSTEM INTEGRATION Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |