CN106657287B - 一种数据访问方法及系统 - Google Patents

一种数据访问方法及系统 Download PDF

Info

Publication number
CN106657287B
CN106657287B CN201611088642.7A CN201611088642A CN106657287B CN 106657287 B CN106657287 B CN 106657287B CN 201611088642 A CN201611088642 A CN 201611088642A CN 106657287 B CN106657287 B CN 106657287B
Authority
CN
China
Prior art keywords
end server
target
server
client
service 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.)
Active
Application number
CN201611088642.7A
Other languages
English (en)
Other versions
CN106657287A (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.)
Guangzhou Qianjun Network Technology Co ltd
Original Assignee
Guangzhou Qianjun Network Technology 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 Guangzhou Qianjun Network Technology Co ltd filed Critical Guangzhou Qianjun Network Technology Co ltd
Priority to CN201611088642.7A priority Critical patent/CN106657287B/zh
Publication of CN106657287A publication Critical patent/CN106657287A/zh
Application granted granted Critical
Publication of CN106657287B publication Critical patent/CN106657287B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • H04L67/1004Server selection for load balancing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0668Management of faults, events, alarms or notifications using network fault recovery by dynamic selection of recovery network elements, e.g. replacement by the most appropriate element after failure
    • 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/133Protocols for remote procedure calls [RPC]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种数据访问方法及系统,该方法包括:负载服务器接收到客户端发送的访问请求后,采样负载均衡算法为客户端分配一目标前端服务器,并向客户端发送携带目标前端服务器信息的分配消息,目标前端服务器为前端服务器集群中的一台处于正常工作状态的服务器;客户端在接收到分配消息后,向目标前端服务器发送业务请求;目标前端服务器在接收到业务请求后,获取为业务请求分配的目标后端服务器的信息,并向目标后端服务器发送业务请求,所述目标后端服务器为后端服务器集群中的一台服务器;目标后端服务器在接收到业务请求后,获取业务请求所请求的目标数据,并通过目标前端服务器向客户端返回目标数据。本发明能够提高数据访问的成功率。

Description

一种数据访问方法及系统
技术领域
本发明涉及互联网技术领域,尤其涉及一种数据访问方法及系统。
背景技术
随着互联网和云计算的快速发展,各行各业的业务需求复杂膨胀且用户量急剧增长,如今的大型网站,面对这样的业务量和用户量,往往是通过使用高性能的服务器、高性能的数据库、高效率的编程语言、高性能的Web容器等方式来解决这种需求。但如果服务器出现宕机,一般会影响大范围的用户,特别是当大量用户同时访问服务器的情况下,单纯的在网络中加硬件等方式是不能保证服务在高并发场景的高可用的。
现有的网络架构,比如,12306火车票订票网站的web服务架构,当某个Web服务器出现宕机时,该Web服务器将不能处理自己负责的访问请求,导致发出这些请求的客户端不能正常接收所请求的访问数据,从而降低了数据访问的成功率,进而降低了用户的网络体验。
发明内容
有鉴于此,本发明实施例的主要目的在于提供一种数据访问方法及系统,能够提高数据访问的成功率。
本发明提供了一种数据访问方法,所述方法应用于一种数据访问系统,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;所述方法包括:
所述第一负载服务器在接收到所述客户端发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;
所述客户端在接收到所述分配消息后,向所述目标前端服务器发送业务请求;
所述目标前端服务器在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;
所述目标后端服务器在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据。
可选的,所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;
所述采用第一负载均衡算法为所述客户端分配一目标前端服务器,包括:
获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;
采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。
可选的,所述系统还包括第二负载服务器,所述方法还包括:
所述第二负载服务器采样第二负载均衡算法,为所述业务请求分配一目标后端服务器;
则,所述获取为所述业务请求分配的目标后端服务器的信息,包括:
获取所述第二负载服务器返回的所述目标后端服务器的信息。
可选的,所述第二负载均衡算法为一致性Hash算法。
可选的,所述目标前端服务器与所述目标后端服务器之间通过远程过程调用协议RPC组件进行数据传输。
可选的,所述方法还包括:
所述目标后端服务器通过所述目标前端服务器向所述客户端推送信息。
本发明还提供了一种数据访问系统,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;
所述第一负载服务器,用于在接收到所述客户端发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;
所述客户端,用于在接收到所述分配消息后,向所述目标前端服务器发送业务请求;
所述目标前端服务器,用于在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;
所述目标后端服务器,用于在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据。
可选的,所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;
所述第一负载服务器,包括:
状态获取单元,用于获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;
负载均衡单元,用于采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。
可选的,所述系统还包括第二负载服务器;
所述第二负载服务器,用于采样第二负载均衡算法,为所述业务请求分配一目标后端服务器;
则,所述目标后端服务器,具体用于获取所述第二负载服务器返回的所述目标后端服务器的信息。
可选的,所述第二负载均衡算法为一致性Hash算法。
本发明实施例提供的数据访问方法及系统,第一负载服务器在接收到客户端发送的访问请求后,采样第一负载均衡算法为客户端分配一目标前端服务器,并向客户端发送携带目标前端服务器信息的分配消息,其中,所述目标前端服务器为前端服务器集群中的一台处于正常工作状态的服务器;客户端在接收到该分配消息后,向目标前端服务器发送业务请求;目标前端服务器在接收到业务请求后,获取为业务请求分配的目标后端服务器的信息,并向目标后端服务器发送该业务请求,其中,所述目标后端服务器为后端服务器集群中的一台服务器;目标后端服务器在接收到业务请求后,获取业务请求所请求的目标数据,并通过目标前端服务器向客户端返回所述目标数据。可见,通过为客户端分配一处于正常工作状态的服务器进行请求连接,可以提高客户端获取所请求访问数据的几率,从而提高了数据访问的成功率。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了数据访问方法的流程示意图;
图2示出了数据访问系统的组成示意图之一;
图3示出了数据访问系统的组成示意图之二。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在介绍本发明实施例之前,首先介绍本发明实施例涉及的名词术语:
1、用户客户端User Client:指发起请求的客户端设备。
2、前端服务器Front Server:主要用来做Socket连接承载维持,保持连接状态,不做具体业务处理和规划。
3、后端服务器Backend Server:主要用来做业务处理服务。
4、用户连接标识符:主要是用户客户端User Client与前端服务器Front Server连接时,产生的服务器连接句柄id(即单台服务器某个socket连接的唯一标识)。
5、Zookeeper:采用分布式服务框架,是Apache Hadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。
6、RPC:即远程过程调用协议(Remote Procedure Call Protocol),它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。
7、一致性Hash算法:具体原理是,先构造一个长度为232的整数环,这个环被称为一致性Hash环,将服务器节点的Hash值(其分布也为[0,232-1])放置在这个Hash环上,然后根据需要缓存到服务器的数据的Key值,计算该Key值的Hash值(其分布也为[0,232-1]),接着在Hash环上顺时针查找距离这个Key值的Hash值最近的服务器节点,并将数据存储到该服务器节点上,从而完成了Key到服务器节点的映射查找。所以,每个服务器节点仅需维护少量相邻节点的信息,并且在节点加入/退出系统时,仅有相关的少量节点参与到拓扑的维护中,这样,可以保证在服务器宕机下线的情况下,能够让尽量多的请求路由到原来的服务器节点,从而保证服务器集群的高可用。
在当今移动互联网、云计算和大数据的成熟和快速发展的时代,对于能够瞄准用户需求的产品,用户数量能够在短时间内指数型增长,然而,面对用户数量的增长,尤其是短时间内的指数型增长,不得不面临一些严峻的技术挑战,比如,如何支持高并发、如何避免因为单台机器当机导致服务不可用、如何避免在服务容量不足时导致的用户体验下降,等等。因此,在网络系统构建之初就采用高可用和可伸缩架构,将能有效避免这些问题。
为避免上述问题,本发明实施例提供的数据访问系统,在水平和垂直方向都做分层处理。具体地,在水平方向上,主要是在现有服务器容量或性能不足的情况下,能够在现有网络架构中直接增加服务器,同时,在增加的服务器中部署同样的代码;在垂直方向上,主要是将服务器的职能进行分离,比如,部分服务器用来实现Socket连接、另一部分服务器用来实现业务服务等;这样,便能够灵活的应对业务或者并发连接数高等场景。
本发明实施例主要是采用前端服务器集群和后端服务器集群分离的形式,做到水平和垂直方向的职能划分,达到功能与逻辑上的分层,此外,使用Zookeeper管理集群或者具有集群监控管理的开源服务,能够在集群部分故障时及时反馈,能保证大部分现有服务和用户能够正常进行流程,做到高并发高可用的目的。
下面具体介绍本发明实施例。
参见图1,为本发明实施例提供的数据访问方法的流程示意图,该方法可以应用于图2所示的一种数据访问系统,该系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群。该方法包括以下步骤S101-S104:
S101:所述第一负载服务器在接收到所述客户端发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息;其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器。
参见图2,关于所述前端服务器集群,其包括至少一个前端服务器,前端服务器主要用于承载连接,可以利用开源协议SocketIO为每个前端服务器配置分布式承载连接组件。这样,当用户客户端请求一后端服务器做实时业务处理时,用户客户端先是发起一个超文本传输协议(HyperText Transfer Protocol,简称HTTP)或者一个传输控制协议(Transmission Control Protocol,简称TCP)请求,该请求经过域名系统(Domain NameSystem,简称DNS)等解析到第一负载服务器后,第一负载服务器利用负载均衡算法计算出一前端服务器域名分配给用户客户端。
在本实施例中,图2所示系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态。具体地,可以通过建立Zookeeper服务管理集群,稳定的监控各个前端服务器的运行状态,动态的向第一负载服务器反馈宕机或者其他情形导致不能正常工作的前端服务器的状态信息,以便第一负载服务器调整负载均衡分配策略,从正常工作的所有前端服务器中为客户端分配一服务器,以便利用分配的服务器承载客户端的请求连接。
为便于描述,本实施例将分配给用户客户端的这一前端服务器称为目标前端服务器。
基于上述内容,S101中的“采用第一负载均衡算法为所述客户端分配一目标前端服务器”,可以包括步骤A1-A2:
A1:第一负载服务获取Zookeeper集群反馈的前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器。
由于Zookeeper集群可以实时监控各个前端服务器的运行状态,并将所述运行状态信息反馈给第一负载服务器,第一负载服务器便可以根据所述运行状态判断前端服务器集群中哪些服务器处于正常工作状态(能够承载连接)、哪些服务器处于不正常的工作状态(不能承载连接)。
A2:第一负载服务采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。
第一负载服务器可以采用负载均衡算法将各个客户端的请求连接均衡分配到各个正常工作的前端服务器上。
这样,如果出现高并发场景即很多客户端同时发起连接请求,本实施例可以合理地将连接请求负载到不同的前端服务器上,从而把单机服务的压力(无论是硬件还是软件等方面),均衡的进行了平均分发。此外,通过把各个前端服务器注册到分布式管理开源组件Zookeeper进行管理,通过宕机检测反馈机制(即Zookeeper分布式集群管理功能),将检测结果同步到第一负载服务器,从而使第一负载服务器感知各个前端服务器的状态,以便客户端的连接请求到达第一负载服务器后,为其分配到正常的前端服务器进行连接。所以,本实施例采用的分布式连接层,可以有效应对高并发和高可用的应用场景。
S102:所述客户端在接收到所述分配消息后,向所述目标前端服务器发送业务请求。
当为客户端分配了一前端服务器即所述目标前端服务器后,比如,图2中的前端服务器1,客户端再发起真正的Socket业务请求,以与前端服务器1建立业务连接。
S103:所述目标前端服务器在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求;其中,所述目标后端服务器为所述后端服务器集群中的一台服务器。
在一些实施方式中,所述目标前端服务器与所述目标后端服务器之间可以通过远程过程调用协议RPC组件进行数据传输。
在一些实施方式中,图2所示系统还可以包括第二负载服务器,则,本实施例的数据访问方法还可以包括:所述第二负载服务器采样第二负载均衡算法,为所述业务请求分配一目标后端服务器,具体地,所述第二负载均衡算法可以为一致性Hash算法。
在这种实施方式中,对于各种各样的业务场景需求,例如,直播秀场等实时互动场景,当每一前端服务器(其可以不处理具体业务)承载着大量客户端发起的业务请求连接时,每一前端服务器可以把每一请求连接的连接信息发送至第二负载服务器,所述连接信息可以包括:用户连接标识符、前端服务器标识Front Server Id、客户端类型Client type等。由于后端服务器集群的各个服务器节点的Hash值可以被放置在一Hash环上,所以,第二负载服务器可以通过一致性Hash算法,即根据所述连接信息中的某个特征信息(比如,用户访问的秀场房间号或客户端IP地址)的Key值,计算该Key值的Hash值,在Hash环上顺时针查找距离这个Key值的Hash值最近的后端服务器节点,将所述请求信息路由到该后端服务器上,为便于描述,将该后端服务器称为目标后端服务器,比如,假设目标后端服务器为后端服务器1,则将所述请求信息发送到后端服务器1上。
基于上述内容,S101中的“获取为所述业务请求分配的目标后端服务器的信息”,可以包括:获取所述第二负载服务器返回的所述目标后端服务器的信息。
可见,本实施例可以对后端服务器进行容灾处理,即通过一致性Hash算法,当出现服务宕机的后端服务器,也能在一定程度上保证对大部分的请求进行响应,只影响了分配给宕机的后端服务器的客户端请求,只要用户自动重连socket,并负载到其他正常后端服务器,这在一定程度上保证了业务机的高可用性。
S104:所述目标后端服务器在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据。
此时,各个后端服务器会对接收到的所述请求信息进行管理并获取所述请求信息所请求的数据,然后,通过所述请求信息中的前端服务器标识Front Server Id锁定所述目标前端服务器,通过RPC组件向所述目标前端服务器的连接层发送客户端所请求的目标数据,接着,所述目标前端服务器根据用户连接标识符寻找Socket句柄向所述客户端发送所述目标数据。
通过上述流程,完成了用户客户端到目标后端服务端的一个高并发业务分层和路由。
进一步地,在一些实施方式中,本实施例提供的数据访问方法还可以包括:所述目标后端服务器通过所述目标前端服务器向所述客户端推送信息。
在这种实施方式中,后端服务器可以主动发送消息到各个用户客户端。基于后端服务器集群的设计,后端服务器可以对客户端信息(即所述连接信息)进行管理,比如,将用户连接标识符,前端服务器标识Front Server Id、以及客户端来源信息等做分组管理。后端服务器可以提供统一的方法封装(底层通过统一的RPC方法调用前端服务器)推送用户感兴趣的消息到客户端。
本发明实施例提供的数据访问方法,第一负载服务器在接收到客户端发送的访问请求后,采样第一负载均衡算法为客户端分配一目标前端服务器,并向客户端发送携带目标前端服务器信息的分配消息,其中,所述目标前端服务器为前端服务器集群中的一台处于正常工作状态的服务器;客户端在接收到该分配消息后,向目标前端服务器发送业务请求;目标前端服务器在接收到业务请求后,获取为业务请求分配的目标后端服务器的信息,并向目标后端服务器发送该业务请求,其中,所述目标后端服务器为后端服务器集群中的一台服务器;目标后端服务器在接收到业务请求后,获取业务请求所请求的目标数据,并通过目标前端服务器向客户端返回所述目标数据。可见,通过为客户端分配一处于正常工作状态的服务器进行请求连接,可以提高客户端获取所请求访问数据的几率,从而提高了数据访问的成功率。
参见图3,为本发明实施例提供的数据访问系统的组成示意图,所述系统包括至少一个客户端301、第一负载服务器302、前端服务器集群303和后端服务器集群304;
所述第一负载服务器302,用于在接收到所述客户端301发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群303中的一台处于正常工作状态的服务器;
所述客户端301,用于在接收到所述分配消息后,向所述目标前端服务器发送业务请求;
所述目标前端服务器,用于在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群304中的一台服务器;
所述目标后端服务器,用于在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端301返回所述目标数据。
在一些实施方式中,所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;
所述第一负载服务器302,包括:
状态获取单元,用于获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;
负载均衡单元,用于采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。
在一些实施方式中,所述系统还包括第二负载服务器;
所述第二负载服务器,用于采样第二负载均衡算法,为所述业务请求分配一目标后端服务器;
则,所述目标后端服务器,具体用于获取所述第二负载服务器返回的所述目标后端服务器的信息。
在一些实施方式中,所述第二负载均衡算法为一致性Hash算法。
在一些实施方式中,所述目标前端服务器与所述目标后端服务器之间通过远程过程调用协议RPC组件进行数据传输。
在一些实施方式中,所述目标后端服务器,还用于通过所述目标前端服务器向所述客户端301推送信息。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本发明各个实施例或者实施例的某些部分所述的方法。
需要说明的是,对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (8)

1.一种数据访问方法,其特征在于,所述方法应用于一种数据访问系统,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;所述方法包括:
所述第一负载服务器在接收到所述客户端发送的访问请求后,采用第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;
所述客户端在接收到所述分配消息后,向所述目标前端服务器发送业务请求;
所述目标前端服务器在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;
所述目标后端服务器在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据;
所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;
所述采用第一负载均衡算法为所述客户端分配一目标前端服务器,包括:
获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;
采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。
2.根据权利要求1所述的方法,其特征在于,所述系统还包括第二负载服务器,所述方法还包括:
所述第二负载服务器采用第二负载均衡算法,为所述业务请求分配一目标后端服务器;
则,所述获取为所述业务请求分配的目标后端服务器的信息,包括:
获取所述第二负载服务器返回的所述目标后端服务器的信息。
3.根据权利要求2所述的方法,其特征在于,
所述第二负载均衡算法为一致性Hash算法。
4.根据权利要求1至3任一项所述的方法,其特征在于,
所述目标前端服务器与所述目标后端服务器之间通过远程过程调用协议RPC组件进行数据传输。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
所述目标后端服务器通过所述目标前端服务器向所述客户端推送信息。
6.一种数据访问系统,其特征在于,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;
所述第一负载服务器,用于在接收到所述客户端发送的访问请求后,采用第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;
所述客户端,用于在接收到所述分配消息后,向所述目标前端服务器发送业务请求;
所述目标前端服务器,用于在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;
所述目标后端服务器,用于在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据;
所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;
所述第一负载服务器,包括:
状态获取单元,用于获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;
负载均衡单元,用于采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。
7.根据权利要求6所述的系统,其特征在于,所述系统还包括第二负载服务器;
所述第二负载服务器,用于采用第二负载均衡算法,为所述业务请求分配一目标后端服务器;
则,所述目标后端服务器,具体用于获取所述第二负载服务器返回的所述目标后端服务器的信息。
8.根据权利要求7所述的系统,其特征在于,
所述第二负载均衡算法为一致性Hash算法。
CN201611088642.7A 2016-11-30 2016-11-30 一种数据访问方法及系统 Active CN106657287B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611088642.7A CN106657287B (zh) 2016-11-30 2016-11-30 一种数据访问方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611088642.7A CN106657287B (zh) 2016-11-30 2016-11-30 一种数据访问方法及系统

Publications (2)

Publication Number Publication Date
CN106657287A CN106657287A (zh) 2017-05-10
CN106657287B true CN106657287B (zh) 2020-05-22

Family

ID=58814783

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611088642.7A Active CN106657287B (zh) 2016-11-30 2016-11-30 一种数据访问方法及系统

Country Status (1)

Country Link
CN (1) CN106657287B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106998370A (zh) * 2017-06-15 2017-08-01 北京微影时代科技有限公司 访问控制方法、装置以及系统
CN107480251A (zh) * 2017-08-14 2017-12-15 福建新大陆软件工程有限公司 一种管理数据访问的系统
CN107800794A (zh) * 2017-10-26 2018-03-13 广州市雷军游乐设备有限公司 实现平台安全稳定运行的系统
CN108173917A (zh) * 2017-12-22 2018-06-15 杭州顺网珑腾信息技术有限公司 一种分布式无上限的网络聊天室消息转发系统
CN108683697A (zh) * 2018-03-28 2018-10-19 青岛海尔科技有限公司 连接Redis内存数据库的方法、系统、选择器和服务器
CN111385324A (zh) * 2018-12-28 2020-07-07 广州市百果园信息技术有限公司 一种数据通信方法、装置、设备和存储介质
CN110138747B (zh) * 2019-04-23 2021-03-23 微梦创科网络科技(中国)有限公司 一种验证账号登录状态的方法及系统
CN110162512B (zh) * 2019-05-05 2021-11-09 中国银行股份有限公司 一种日志检索方法、装置及存储介质
CN110262882A (zh) * 2019-06-17 2019-09-20 北京思特奇信息技术股份有限公司 一种分布式的通讯命令调度系统及方法
CN110225137B (zh) * 2019-06-24 2022-11-11 北京达佳互联信息技术有限公司 业务请求处理方法、系统、服务器及存储介质
CN110417902B (zh) * 2019-08-01 2022-07-15 安徽听见科技有限公司 流式网络服务负载方法、相关设备及可读存储介质
CN110740162B (zh) * 2019-08-30 2022-12-02 上海尚往网络科技有限公司 通信链路建立方法、装置、电子设备及介质
CN112540858B (zh) * 2019-09-23 2023-10-27 华为云计算技术有限公司 任务处理方法、服务器、客户端及系统
CN111049901B (zh) * 2019-12-11 2022-12-02 深圳市优必选科技股份有限公司 一种负载均衡方法、负载均衡系统及注册服务器
CN111314414B (zh) * 2019-12-17 2021-09-28 聚好看科技股份有限公司 数据传输方法、装置及系统
CN113765686B (zh) * 2020-06-04 2023-07-21 腾讯科技(深圳)有限公司 设备管理方法、装置、业务获取设备及存储介质
CN112115202A (zh) * 2020-09-18 2020-12-22 北京人大金仓信息技术股份有限公司 集群环境下的任务分发方法和装置
CN112437145A (zh) * 2020-11-18 2021-03-02 北京浪潮数据技术有限公司 一种服务器集群管理方法、装置及相关组件
CN112559134B (zh) * 2020-12-23 2023-04-07 安徽航天信息有限公司 一种分布式WebSocket集群构建方法、装置、系统及存储介质
CN114826637A (zh) * 2021-01-28 2022-07-29 广州慧睿思通科技股份有限公司 密文的发送方法及装置、系统、存储介质、电子设备
CN113765805B (zh) * 2021-08-31 2023-10-20 上海完美时空软件有限公司 基于调用的通信方法、装置、存储介质及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499995A (zh) * 2008-01-29 2009-08-05 华为技术有限公司 一种业务调度的方法及用于业务调度的系统、装置
CN102118433A (zh) * 2010-12-27 2011-07-06 网宿科技股份有限公司 多层次的分布式集群系统
CN102447719A (zh) * 2010-10-12 2012-05-09 上海遥薇(集团)有限公司 Web GIS服务的动态负载均衡信息处理系统
CN105847399A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 服务器的调度方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101499995A (zh) * 2008-01-29 2009-08-05 华为技术有限公司 一种业务调度的方法及用于业务调度的系统、装置
CN102447719A (zh) * 2010-10-12 2012-05-09 上海遥薇(集团)有限公司 Web GIS服务的动态负载均衡信息处理系统
CN102118433A (zh) * 2010-12-27 2011-07-06 网宿科技股份有限公司 多层次的分布式集群系统
CN105847399A (zh) * 2016-04-25 2016-08-10 乐视控股(北京)有限公司 服务器的调度方法和装置

Also Published As

Publication number Publication date
CN106657287A (zh) 2017-05-10

Similar Documents

Publication Publication Date Title
CN106657287B (zh) 一种数据访问方法及系统
US9900402B1 (en) Capacity-independent demand assessment
CN106888270B (zh) 回源选路调度的方法和系统
CN102291447B (zh) 内容分发网络负载调度方法和系统
US10715479B2 (en) Connection redistribution in load-balanced systems
US20180316623A1 (en) Method and system for self-adaptive bandwidth control of cdn platform
EP1825654B1 (en) Routing a service query in an overlay network
CN101262488B (zh) 一种内容分发网络系统及方法
CN104834722A (zh) 基于cdn的内容管理系统
JP2010504668A (ja) リソース配信の方法、システム、およびエッジサーバ
CN106933548B (zh) 全局信息获取、处理及更新、方法、装置和系统
KR20090097034A (ko) 피어 투 피어 통신에서의 피어 선정 방법 및 그 시스템
US10069941B2 (en) Scalable event-based notifications
KR20020017926A (ko) 주변 네트워크 인식 인터넷 컨텐츠 분산 배포 시스템 및그 제어 방법
US20220318071A1 (en) Load balancing method and related device
CN113301079B (zh) 一种数据的获取方法、系统、计算设备及存储介质
US9760370B2 (en) Load balancing using predictable state partitioning
CN101741869B (zh) 提供内容的方法和系统
US20150156259A1 (en) Load balancing apparatus, information processing system, method and medium
EP4033719A1 (en) System for providing exact communication delay protection of request response for distributed service
CN107438098B (zh) 一种动态内容分发方法及其系统
CN113612866A (zh) 地址检测方法、装置、计算机设备和存储介质
CN109873855A (zh) 一种基于区块链网络的资源获取方法和系统
US8402124B1 (en) Method and system for automatic load balancing of advertised services by service information propagation based on user on-demand requests
CN111600929A (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
GR01 Patent grant
GR01 Patent grant