CN109995881B - 缓存服务器的负载均衡方法和装置 - Google Patents

缓存服务器的负载均衡方法和装置 Download PDF

Info

Publication number
CN109995881B
CN109995881B CN201910364277.5A CN201910364277A CN109995881B CN 109995881 B CN109995881 B CN 109995881B CN 201910364277 A CN201910364277 A CN 201910364277A CN 109995881 B CN109995881 B CN 109995881B
Authority
CN
China
Prior art keywords
server
source
target
url
cache server
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.)
Active
Application number
CN201910364277.5A
Other languages
English (en)
Other versions
CN109995881A (zh
Inventor
刘光亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN201910364277.5A priority Critical patent/CN109995881B/zh
Publication of CN109995881A publication Critical patent/CN109995881A/zh
Application granted granted Critical
Publication of CN109995881B publication Critical patent/CN109995881B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching

Abstract

本公开提供一种缓存服务器的负载均衡方法和装置,包括:缓存服务器接收客户端发送的第一数据请求,第一数据请求中包括源URL,当缓存服务器中没有存储第一数据请求所请求的目标数据时,缓存服务器通过映射插件对源URL进行映射处理,得到目标数据所在的目标源服务器,根据目标源服务器的信息和源URL,生成目标URL,向目标源服务器发送第二数据请求,第二数据请求中包括目标URL。该方法中通过在缓存服务器上增加一个映射插件实现将数据请求映射到源服务器,从而能够保证源数据服务器的负载均衡,不需要在缓存服务器和源服务器之间增加中间层,在保证负载均衡的前提下,减少了请求的响应时间,降低了缓存服务器的成本。

Description

缓存服务器的负载均衡方法和装置
技术领域
本公开涉及游戏技术领域,尤其涉及一种缓存服务器的负载均衡方法和装置。
背景技术
缓存服务器(Apache Traffic Server,简称ATS)具有高性能、可扩展、可伸缩、高度模块化等优势,可以应用在数据存储系统中。数据存储系统中的文件存储在多个源服务器上,可以在源服务器之前搭建一层ATS来缓存重复访问的文件,以提高文件的响应时间,以及减轻源服务器的访问压力。
数据存储系统中通常包括多个源服务器,为了使得系统性能最优,ATS需要将客户端发送的请求均衡的分布在各源服务器中。现有技术中,为了实现源服务器的负载均衡,在ATS和源服务器之间搭建了一层虚拟的负载均衡集群(Load Balancing Cluster,简称LBC),该LBC例如为nginx、LVS(Linux Virtual Server)、haproxy等。ATS接收到客户端发送的请求后,如果ATS没有存储请求的文件,则将请求发送给LBC,LBC根据负载均衡算法将请求映射到一个源服务器,源服务器将请求的文件返回给ATS,ATS缓存该文件后发送给客户端。
但是,现有技术中,通过增加LBC实现负载均衡,对ATS的性能要求较高,增加了系统的成本,并且通过LBC进行负载均衡增加了请求的响应时间。
发明内容
本公开提供一种缓存服务器的负载均衡方法和装置,在保证负载均衡的前提下,减少了请求的响应时间,降低了缓存服务器的成本。
本公开第一方面提供一种缓存服务器的负载均衡方法,包括:
缓存服务器接收客户端发送的第一数据请求,所述第一数据请求中包括源统一资源定位符URL;
当所述缓存服务器中没有存储所述第一数据请求所请求的目标数据时,所述缓存服务器通过映射插件对所述源URL进行映射处理,得到所述目标数据所在的目标源服务器,其中,所述映射插件为通过所述缓存服务器加载运行的插件;
所述缓存服务器根据所述目标源服务器的信息和所述源URL,生成目标URL;
所述缓存服务器向所述目标源服务器发送第二数据请求,所述第二数据请求中包括所述目标URL。
可选的,所述缓存服务器通过映射插件对所述源URL进行映射处理,得到所述目标数据所在的目标源服务器,包括:
所述缓存服务器通过所述映射插件对所述源URL进行哈希运算,得到所述源URL对应的哈希值;
根据所述源URL对应的哈希值和源服务器的数量,得到服务器索引;
确定所述服务器索引对应的服务器为所述目标数据所在的目标源服务器。
可选的,所述缓存服务器根据所述目标源服务器的信息和所述源URL,生成目标URL,包括:
所述缓存服务器根据所述目标源服务器的信息,修改所述源URL中的主机名和端口号,得到所述目标URL。
可选的,所述缓存服务器接收客户端发送的第一数据请求之前,还包括:
所述缓存服务器加载所述映射插件,对所述映射插件进行初始化;
所述缓存服务器根据所述映射插件包括的映射规则创建映射实例。
可选的,所述缓存服务器通过所述映射插件对所述源URL进行映射处理,得到服务器索引,包括:
所述缓存服务器确定所述映射插件没有结束,则通过所述映射实例对所述源URL进行映射处理,得到服务器索引;
所述缓存服务器确定所述映射插件结束,则删除所述映射实例。
可选的,还包括:
当所述缓存服务器生成所述目标URL失败时,所述缓存服务器根据默认源服务器的信息和所述源URL,生成第一URL;
所述缓存服务器向所述默认源服务器发送第二数据请求,所述第二数据请求中包括所述第一URL。
可选的,还包括:
所述缓存服务器接收所述目标源服务器发送的第二数据请求响应,所述第二数据请求响应中包括所述目标数据;
所述缓存服务器向所述客户端发送第一数据请求响应,所述第一数据请求响应中包括所述目标数据。
本公开第二方面提供一种缓存服务器,包括:
接收模块,用于接收客户端发送的第一数据请求,所述第一数据请求中包括源统一资源定位符URL;
映射模块,用于当所述缓存服务器中没有存储所述第一数据请求所请求的目标数据时,通过映射插件对所述源URL进行映射处理,得到所述目标数据所在的目标源服务器,其中,所述映射插件为通过所述缓存服务器加载运行的插件;
生成模块,用于根据所述目标源服务器的信息和所述源URL,生成目标URL;
发送模块,用于向所述目标源服务器发送第二数据请求,所述第二数据请求中包括所述目标URL。
可选的,所述映射模块具体用于:
通过所述映射插件对所述源URL进行哈希运算,得到所述源URL对应的哈希值;
根据所述源URL对应的哈希值和源服务器的数量,得到服务器索引;
确定所述服务器索引对应的服务器为所述目标数据所在的目标源服务器。
可选的,所述生成模块具体用于:
根据所述目标源服务器的信息,修改所述源URL中的主机名和端口号,得到所述目标URL。
可选的,还包括:
加载模块,用于加载所述映射插件,对所述映射插件进行初始化;
创建模块,用于根据所述映射插件包括的映射规则创建映射实例。
可选的,所述映射模块具体用于:
确定所述映射插件没有结束,通过所述映射实例对所述源URL进行映射处理,得到服务器索引;
确定所述映射插件结束,则删除所述映射实例。
可选的,所述生成模块还用于:
当生成所述目标URL失败时,根据默认源服务器的信息和所述源URL,生成第一URL;
所述发送模块,还用于向所述默认源服务器发送第二数据请求,所述第二数据请求中包括所述第一URL。
可选的,所述接收模块还用于:
接收所述目标源服务器发送的第二数据请求响应,所述第二数据请求响应中包括所述目标数据;
所述发送模块,还用于向所述客户端发送第一数据请求响应,所述第一数据请求响应中包括所述目标数据。
本公开第三方面提供一种缓存服务器,包括:处理器、存储器和收发器,所述存储器用于存储指令,所述收发器用于和其他设备通信,所述处理器用于执行所述存储器中存储的指令,以使所述缓存服务器执行如本公开第一方面所述的方法。
本公开第四方面提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如本公开第一方面所述的方法。
本公开提供的缓存服务器的负载均衡方法和装置,包括:缓存服务器接收客户端发送的第一数据请求,第一数据请求中包括源URL,当缓存服务器中没有存储第一数据请求所请求的目标数据时,缓存服务器通过映射插件对源URL进行映射处理,得到目标数据所在的目标源服务器,其中,映射插件为通过缓存服务器加载运行的插件,根据目标源服务器的信息和源URL,生成目标URL,向目标源服务器发送第二数据请求,第二数据请求中包括目标URL。该方法中通过在缓存服务器上增加一个映射插件实现将数据请求映射到源服务器,从而能够保证源数据服务器的负载均衡,不需要在缓存服务器和源服务器之间增加中间层,在保证负载均衡的前提下,减少了请求的响应时间,降低了缓存服务器的成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为数据存储系统的一种结构示意图;
图2为本公开实施例一提供的缓存服务器的负载均衡方法的流程图;
图3为本公开实施例二提供的缓存服务器的负载均衡方法的信令流程图;
图4为本公开实施例三提供的缓存服务器的结构示意图;
图5为本公开实施例四提供的一种缓存服务器的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不是用于描述特定的顺序或前后顺序。
本公开提供一种缓存服务器的负载均衡方法,该方法应用在数据存储系统,图1为数据存储系统的一种结构示意图,如图1所示,该数据存储系统包括客户端、缓存服务器和源服务器,其中,客户端、缓存服务器和源服务器的个数可以为多个,本公开不对此进行限制。
客户端可以安装在终端设备中,该终端设备可以为智能手机、平板电脑、笔记本电脑、游戏机、个人数字助理(Personal Digital Assistant,PDA)等电子设备。客户端向缓存服务器请求数据,并根据缓存服务器返回的数据执行对应的操作。
缓存服务器用于缓存一些客户端频繁访问的数据,缓存服务器接收到客户端发送的数据请求后,先从本地查询是否有所请求的目标数据,如果本地没有存储目标数据,则向源服务器请求目标数据,缓存服务器通常可以和系统中的所有源服务器进行通信。
缓存服务器接收到源服务器返回的目标数据后,先缓存该目标数据,当该客户端或者其他客户端下次再请求该目标数据时,缓存服务器直接从本地缓存中将目标数据返回给客户端,不再需要向源服务器请求目标数据,从而减少了源服务请求的数量,也缩短了数据的响应时间。
缓存服务器需要周期性的淘汰存储的数据,例如,淘汰一些访问次数最少的数据,或者,淘汰距离上次访问时间最长的数据。
该客户端可以为游戏客户端、视频播放器、浏览器等,当客户端为游戏客户端时,通过缓存服务器缓存数据,缩短了游戏数据的获取时间,能够快速响应用户操作,提高了用户体验。
源服务器用于存储数据,源服务器中存储的数据可以以文件形式存储,因此,数据存储系统也称为文件存储系统。
基于图1所示的数据存储系统,本公开实施例一提供一种缓存服务器的负载均衡方法,图2为本公开实施例一提供的缓存服务器的负载均衡方法的流程图,如图2所示,本实施例提供的方法包括以下步骤:
步骤S101、缓存服务器接收客户端发送的第一数据请求,该第一数据请求中包括源统一资源定位符(Uniform Resource Locator,简称URL)。
URL是从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。
缓存服务器接收到客户端发送的第一数据请求后,对第一数据请求进行解析,得到源URL。
S102、当缓存服务器中没有存储第一数据请求所请求的目标数据时,缓存服务器通过映射插件对源URL进行映射处理,得到目标数据所在的目标源服务器,其中,映射插件为通过缓存服务器加载运行的插件。
缓存服务器获取到源URL后,根据源URL从本地缓存中查询目标数据,如果缓存服务器中没有存储目标数据,则通过映射插件对源URL进行映射处理,得到目标源服务器。
映射插件为本公开新增的插件,映射插件用于通过映射算法将数据请求映射到对应的目标源服务器上,以实现源服务器上的负载均衡。映射插件也称为重映射插件(remapplugin)或者URL重映射插件。
示例性的,缓存服务器通过该映射插件对源URL进行哈希运算,得到源URL对应的哈希值,根据源URL对应的哈希值和源服务器的数量,得到服务器索引,确定服务器索引对应的服务器为第一数据请求所请求的目标数据所在的目标源服务器。其中,源服务器的数量指该缓存服务器连接通信的所有源服务器的数量。
该哈希运算例如为信息摘要算法(Message-Digest Algorithm,MD5)、哈希消息认证(Hash-based Message Authentication Code,HMAC)、安全三列算法(Secure HashAlgorithm,SHA)等。
缓存服务器根据源URL对应的哈希值和源服务器的数量,得到服务器的索引,例如为:映射插件对源URL对应的哈希值和源服务器的数量进行取余运算或者取模运算,得到服务器的索引。
可以理解,缓存服务器在执行本实施例方法之前,要先加载该映射插件,缓存服务器提供有插件开发的应用程序编程接口(Application Programming Interface,简称API),开发人员可以利用对应的API实现该映射插件。
在加载映射插件后,对映射插件进行初始化,根据映射插件包括的映射规则创建映射实例(instance),映射实例用于执行上述的映射操作,即映射实例对源URL进行映射处理,得到服务器索引。
在创建映射实例后,缓存服务器检测检测是否接收到客户端发送的第一数据请求,如果缓存服务器接收到客户端发送的第一数据请求,则可以进一步判断映射插件是否结束,若映射插件没有结束,则缓存服务器通过映射实例执行上述映射操作。如果映射插件结束,则删除该映射实例。
可选的,该重映射插件中包括以下函数:TSRemapInit、TSRemapNewInstance、TSRemapDoRemap和TSRemapDeleteInstance。
TSRemapInit:映射插件的初始化函数,映射插件第一次加载时被调用,一般用于打印一些日志信息。
TSRemapNewInstance:用于对映射规则创建一个新实例,称为映射实例,该映射实例用于做一些参数解析、内存分配和初始化工作。
TSRemapDoRemap:每次用户请求数据都会调用此入口函数,执行具体的将源URL映射到目标源服务器的映射算法。
TSRemapDeleteInstance:用于删除映射实例,释放内存等。在此URL重映射插件中,释放目标源服务器的主机名所指向的内存。
步骤S103、缓存服务器根据目标源服务器的信息和源URL,生成目标URL。
示例性的,缓存服务器根据目标源服务器的信息,修改源URL中的主机名和端口号,得到目标URL。即将源URL中的主机名从XX修改为目标源服务器的名称,将源URL中的端口号修改为XX。例如,源URL为www.example.com/a/aa.png,其中,www.example.com为主机名,如果源URL中没有端口号,则源URL使用的端口为默认端口,例如端口80。
假设缓存服务器的映射插件的配置为:
map/http://192.168.1.2/
@plugin=url_remap.so
@pparam=192.168.1.2(第一源服务器)
@pparam=192.168.1.3:8080(第二源服务器)
@pparam=192.168.1.4...(第三源服务器)
则该映射插件用于将接收到的所有数据请求映射到上述三个源服务器上,如果将源URL映射到第二源服务器,即:192.168.1.3:8080,则目标URL为:http://192.168.1.3:8080/a/aa.png,即将主机名www.example.com修改为http://192.168.1.3,端口号从默认端口号修改为8080。如果将源URL映射到第一源服务器,则目标URL为192.168.1.2/a/aa.png,即将主机名www.example.com修改为2http://192.168.1.2,端口号仍然使用默认端口号。
本实施例中,当缓存服务器生成目标URL成功时,执行步骤S104,当缓存服务器生成目标URL失败时,缓存服务器根据默认源服务器的信息和源URL,生成第一URL,向默认源服务器发送第二数据请求,第二数据请求中包括第一URL,其中,默认服务器为缓存服务器进行映射的多个源服务器中的一个服务器。
S104、缓存服务器向目标源服务器发送第二数据请求,第二数据请求中包括目标URL。
缓存服务器将第二数据请求发送给目标源服务器,目标源服务器根据目标URL从本地查找到目标数据。将目标数据携带在第二数据请求对应的第二数据请求响应中发送给缓存服务器。
缓存服务器根据第二数据请求响应,生成第一数据请求响应,第一数据请求响应中包括目标数据,缓存服务器件将第一数据请求响应发送给客户端。
客户端根据第一数据请求中包括的目标数据执行对应的操作。
本实施例中,缓存服务器接收客户端发送的第一数据请求,第一数据请求中包括源URL,当缓存服务器中没有存储第一数据请求所请求的目标数据时,缓存服务器通过映射插件对源URL进行映射处理,得到目标数据所在的目标源服务器,根据目标源服务器的信息和源URL,生成目标URL,向目标源服务器发送第二数据请求,第二数据请求中包括目标URL。该方法中通过在缓存服务器上增加一个映射插件实现将数据请求映射到源服务器,从而能够保证源数据服务器的负载均衡,不需要在缓存服务器和源服务器之间增加中间层,在保证负载均衡的前提下,减少了请求的响应时间,降低了缓存服务器的成本。
图3为本公开实施例二提供的缓存服务器的负载均衡方法的信令流程图,如图3所示,本实施例的方法包括以下步骤:
S201、客户端向缓存服务器发送第一数据请求,第一数据请求中包括源URL。
S202、缓存服务器确定没有存储第一数据请求所请求的目标数据。
缓存服务器根据源URL判断缓存中是否存储有第一数据请求所请求的目标数据,当缓存服务器的缓存中存储有目标数据时,直接将目标数据携带在第一数据请求响应中发送给客户端。
当缓存服务器的缓存中没有存储目标数据时,执行步骤S204。
S203、缓存服务器通过映射插件对源URL进行映射处理,得到目标数据所在的目标源服务器,根据目标源服务器的信息和源URL,生成目标URL。
S204、缓存服务器向目标源服务器发送第二数据请求,第二数据请求中包括目标URL。
S205、目标源服务器向缓存服务器发送第二数据请求响应,第二数据请求响应中包括目标数据。
目标源服务器接收到第二数据请求后,根据目标URL查询目标数据,将目标数据携带在第二数据请求响应中发送给客户端。
S206、缓存服务器向客户端发送第一数据请求响应,第一数据请求响应中包括目标数据。
S207、客户端根据目标数据执行相应的操作。
本实施例的具体实现方式参照实施例一的描述,这里不再赘述。
图4为本公开实施例三提供的缓存服务器的结构示意图,如图4所示,本实施例提供的缓存服务器包括:
接收模块11,用于接收客户端发送的第一数据请求,所述第一数据请求中包括源统一资源定位符URL;
映射模块12,用于当所述缓存服务器中没有存储所述第一数据请求所请求的目标数据时,通过映射插件对所述源URL进行映射处理,得到所述目标数据所在的目标源服务器,其中,所述映射插件为通过所述缓存服务器加载运行的插件;
生成模块13,用于根据所述目标源服务器的信息和所述源URL,生成目标URL;
发送模块14,用于向所述目标源服务器发送第二数据请求,所述第二数据请求中包括所述目标URL。
可选的,所述映射模块12具体用于:
通过所述映射插件对所述源URL进行哈希运算,得到所述源URL对应的哈希值;
根据所述源URL对应的哈希值和源服务器的数量,得到服务器索引;
确定所述服务器索引对应的服务器为所述目标数据所在的目标源服务器。
可选的,所述生成模块13具体用于:
根据所述目标源服务器的信息,修改所述源URL中的主机名和端口号,得到所述目标URL。
可选的,还包括:
加载模块,用于加载所述映射插件,对所述映射插件进行初始化;
创建模块,用于根据所述映射插件包括的映射规则创建映射实例。
相应的,所述映射模块12具体用于:
确定所述映射插件没有结束,则通过所述映射实例对所述源URL进行映射处理,得到服务器索引。
确定所述映射插件结束,则删除所述插件实例。
可选的,所述生成模块13还用于:
当生成所述目标URL失败时,根据默认源服务器的信息和所述源URL,生成第一URL;
所述发送模块14,还用于向所述默认源服务器发送第二数据请求,所述第二数据请求中包括所述第一URL。
可选的,所述接收模块11还用于:
接收所述目标源服务器发送的第二数据请求响应,所述第二数据请求响应中包括所述目标数据;
所述发送模块14,还用于向所述客户端发送第一数据请求响应,所述第一数据请求响应中包括所述目标数据。
本实施例提供的缓存服务器可用于执行实施例一或实施例二的方法,具体实现方式和技术效果类似,这里不再赘述。
图5为本公开实施例四提供的一种缓存服务器的结构示意图,如图5所示,本实施例的缓存服务器200包括:处理器21、存储器22和收发器23,所述存储器22用于存储指令,所述收发器23用于和其他设备通信,所述处理器21用于执行所述存储器22中存储的指令,以使所述缓存服务器200执行如本公开实施例一或实施例二所述的方法。
本公开实施例五提供一种计算机可读存储介质,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如本本公开实施例一或实施例二所述的方法。
应理解,本公开中涉及的处理器可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:只读存储器(英文:read-only memory,缩写:ROM)、RAM、快闪存储器、硬盘、固态硬盘、磁带(英文:magnetictape)、软盘(英文:floppy disk)、光盘(英文:optical disc)及其任意组合。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。

Claims (10)

1.一种缓存服务器的负载均衡方法,其特征在于,包括:
缓存服务器接收客户端发送的第一数据请求,所述第一数据请求中包括源统一资源定位符URL;
当所述缓存服务器中没有存储所述第一数据请求所请求的目标数据时,所述缓存服务器通过映射插件对所述源URL进行映射处理,得到所述目标数据所在的目标源服务器,其中,所述映射插件为通过所述缓存服务器加载运行的插件;
所述缓存服务器根据所述目标源服务器的信息和所述源URL,生成目标URL;
所述缓存服务器向所述目标源服务器发送第二数据请求,所述第二数据请求中包括所述目标URL。
2.根据权利要求1所述的方法,其特征在于,所述缓存服务器通过映射插件对所述源URL进行映射处理,得到所述目标数据所在的目标源服务器,包括:
所述缓存服务器通过所述映射插件对所述源URL进行哈希运算,得到所述源URL对应的哈希值;
根据所述源URL对应的哈希值和源服务器的数量,得到服务器索引;
确定所述服务器索引对应的服务器为所述目标数据所在的目标源服务器。
3.根据权利要求1所述的方法,其特征在于,所述缓存服务器根据所述目标源服务器的信息和所述源URL,生成目标URL,包括:
所述缓存服务器根据所述目标源服务器的信息,修改所述源URL中的主机名和端口号,得到所述目标URL。
4.根据权利要求1-3任一项所述的方法,其特征在于,所述缓存服务器接收客户端发送的第一数据请求之前,还包括:
所述缓存服务器加载所述映射插件,对所述映射插件进行初始化;
所述缓存服务器根据所述映射插件包括的映射规则创建映射实例。
5.根据权利要求4所述的方法,其特征在于,所述缓存服务器通过所述映射插件对所述源URL进行映射处理,得到服务器索引,包括:
所述缓存服务器确定所述映射插件没有结束,则通过所述映射实例对所述源URL进行映射处理,得到服务器索引;
所述缓存服务器确定所述映射插件结束,则删除所述映射实例。
6.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
当所述缓存服务器生成所述目标URL失败时,所述缓存服务器根据默认源服务器的信息和所述源URL,生成第一URL;
所述缓存服务器向所述默认源服务器发送第二数据请求,所述第二数据请求中包括所述第一URL。
7.根据权利要求1-3任一项所述的方法,其特征在于,还包括:
所述缓存服务器接收所述目标源服务器发送的第二数据请求响应,所述第二数据请求响应中包括所述目标数据;
所述缓存服务器向所述客户端发送第一数据请求响应,所述第一数据请求响应中包括所述目标数据。
8.一种缓存服务器,其特征在于,包括:
接收模块,用于接收客户端发送的第一数据请求,所述第一数据请求中包括源统一资源定位符URL;
映射模块,用于当所述缓存服务器中没有存储所述第一数据请求所请求的目标数据时,通过映射插件对所述源URL进行映射处理,得到所述目标数据所在的目标源服务器,其中,所述映射插件为通过所述缓存服务器加载运行的插件;
生成模块,用于根据所述目标源服务器的信息和所述源URL,生成目标URL;
发送模块,用于向所述目标源服务器发送第二数据请求,所述第二数据请求中包括所述目标URL。
9.一种缓存服务器,其特征在于,包括:处理器、存储器和收发器,所述存储器用于存储指令,所述收发器用于和其他设备通信,所述处理器用于执行所述存储器中存储的指令,以使所述缓存服务器执行如权利要求1-7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有指令,当所述指令被执行时,使得计算机执行如权利要求1-7任一项所述的方法。
CN201910364277.5A 2019-04-30 2019-04-30 缓存服务器的负载均衡方法和装置 Active CN109995881B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910364277.5A CN109995881B (zh) 2019-04-30 2019-04-30 缓存服务器的负载均衡方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910364277.5A CN109995881B (zh) 2019-04-30 2019-04-30 缓存服务器的负载均衡方法和装置

Publications (2)

Publication Number Publication Date
CN109995881A CN109995881A (zh) 2019-07-09
CN109995881B true CN109995881B (zh) 2021-12-14

Family

ID=67135824

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910364277.5A Active CN109995881B (zh) 2019-04-30 2019-04-30 缓存服务器的负载均衡方法和装置

Country Status (1)

Country Link
CN (1) CN109995881B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110413350A (zh) * 2019-08-05 2019-11-05 中国林业科学研究院热带林业研究所 基于动态映射插件的请求处理方法、系统、服务器及存储介质
CN110855708B (zh) 2019-11-26 2021-06-11 上海莉莉丝科技股份有限公司 游戏服务器架构
CN112953984B (zh) * 2019-12-10 2023-07-28 贵州白山云科技股份有限公司 数据处理方法、装置、介质及系统
CN111371866B (zh) * 2020-02-26 2023-03-21 厦门网宿有限公司 一种处理业务请求的方法和装置
CN112068956A (zh) * 2020-08-24 2020-12-11 北京首汽智行科技有限公司 一种基于redis缓存的负载均衡方法及服务器
CN112003945A (zh) * 2020-08-26 2020-11-27 杭州迪普科技股份有限公司 服务请求响应方法及装置
CN112910988A (zh) * 2021-01-28 2021-06-04 网宿科技股份有限公司 一种资源获取方法及资源调度装置
CN115501580A (zh) * 2021-06-23 2022-12-23 中移物联网有限公司 一种游戏加速方法、光线路终端及存储介质
CN113886743B (zh) * 2021-12-08 2022-05-03 北京金山云网络技术有限公司 缓存资源的刷新方法、装置及系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102882939A (zh) * 2012-09-10 2013-01-16 北京蓝汛通信技术有限责任公司 负载均衡方法、设备及泛域名加速访问系统
CN103023797A (zh) * 2011-09-23 2013-04-03 百度在线网络技术(北京)有限公司 数据中心系统及装置和提供服务的方法
CN103036969A (zh) * 2012-12-10 2013-04-10 北京奇虎科技有限公司 用于提供文件下载地址的管理设备及方法
CN103281367A (zh) * 2013-05-22 2013-09-04 北京蓝汛通信技术有限责任公司 一种负载均衡方法及装置
CN104980478A (zh) * 2014-05-28 2015-10-14 深圳市腾讯计算机系统有限公司 内容分发网络中缓存共享方法、设备及系统
CN109547354A (zh) * 2018-11-21 2019-03-29 广州市百果园信息技术有限公司 负载均衡方法、装置、系统、核心层交换机及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101383905B1 (ko) * 2011-12-19 2014-04-17 주식회사 솔박스 해시 함수 결과를 이용한 서버 부하 분산 처리 방법 및 그 장치

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023797A (zh) * 2011-09-23 2013-04-03 百度在线网络技术(北京)有限公司 数据中心系统及装置和提供服务的方法
CN102882939A (zh) * 2012-09-10 2013-01-16 北京蓝汛通信技术有限责任公司 负载均衡方法、设备及泛域名加速访问系统
CN103036969A (zh) * 2012-12-10 2013-04-10 北京奇虎科技有限公司 用于提供文件下载地址的管理设备及方法
CN103281367A (zh) * 2013-05-22 2013-09-04 北京蓝汛通信技术有限责任公司 一种负载均衡方法及装置
CN104980478A (zh) * 2014-05-28 2015-10-14 深圳市腾讯计算机系统有限公司 内容分发网络中缓存共享方法、设备及系统
CN109547354A (zh) * 2018-11-21 2019-03-29 广州市百果园信息技术有限公司 负载均衡方法、装置、系统、核心层交换机及存储介质

Also Published As

Publication number Publication date
CN109995881A (zh) 2019-07-09

Similar Documents

Publication Publication Date Title
CN109995881B (zh) 缓存服务器的负载均衡方法和装置
US9417811B2 (en) Efficient inline data de-duplication on a storage system
US11093148B1 (en) Accelerated volumes
CN111190928A (zh) 缓存处理方法、装置、计算机设备以及存储介质
US8528075B2 (en) Accelerating the execution of anti-virus programs in a virtual machine environment
US20130238574A1 (en) Cloud system and file compression and transmission method in a cloud system
US10645192B2 (en) Identifying content files in a cache using a response-based cache index
WO2022111313A1 (zh) 一种请求处理方法及微服务系统
CN111212134A (zh) 一种请求报文处理方法、装置、边缘计算系统和电子设备
CN109542862B (zh) 用于控制文件系统的挂载的方法、装置和系统
KR102098415B1 (ko) 캐시 관리 기법
EP3384384A1 (en) Methods and devices for acquiring data using virtual machine and host machine
US11853806B2 (en) Cloud computing platform that executes third-party code in a distributed cloud computing network and uses a distributed data store
CN113259479A (zh) 一种数据处理方法以及设备
CN113395340A (zh) 一种信息更新方法、装置、设备、系统和可读存储介质
CN110321225B (zh) 负载均衡方法、元数据服务器及计算机可读存储介质
US20110258424A1 (en) Distributive Cache Accessing Device and Method for Accelerating to Boot Remote Diskless Computers
WO2022175080A1 (en) Cache indexing using data addresses based on data fingerprints
CN108595574B (zh) 数据库集群的连接方法、装置、设备及存储介质
US11010307B2 (en) Cache management
CN109308288B (zh) 数据处理方法及装置
CN112130747A (zh) 分布式对象存储系统及数据读写方法
CN115562871A (zh) 内存分配管理的方法和装置
CN109088913B (zh) 请求数据的方法和负载均衡服务器
US11233739B2 (en) Load balancing system and method

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
GR01 Patent grant
GR01 Patent grant