一种数据访问方法及系统技术方案

技术编号:15288039 阅读:113 留言:0更新日期:2017-05-10 12:31
本发明专利技术公开了一种数据访问方法及系统,该方法包括:负载服务器接收到客户端发送的访问请求后,采样负载均衡算法为客户端分配一目标前端服务器,并向客户端发送携带目标前端服务器信息的分配消息,目标前端服务器为前端服务器集群中的一台处于正常工作状态的服务器;客户端在接收到分配消息后,向目标前端服务器发送业务请求;目标前端服务器在接收到业务请求后,获取为业务请求分配的目标后端服务器的信息,并向目标后端服务器发送业务请求,所述目标后端服务器为后端服务器集群中的一台服务器;目标后端服务器在接收到业务请求后,获取业务请求所请求的目标数据,并通过目标前端服务器向客户端返回目标数据。本发明专利技术能够提高数据访问的成功率。

Data access method and system

The invention discloses a data access method and system, the method includes: load the server receives the client sent the request to visit after sampling the load balancing algorithm allocates a target front-end server for the client, and carrying the target assignment message server information to the client to send the target, the front-end server as a front-end server in the cluster in a the normal working state of the server; the client receives the assignment message after the request to the target server to send business objectives; in the front-end server receiving the service request, request the distribution of the target backend server for business information, and requests to the target server to send business, the target server for the back-end server in the cluster a target server; the back-end server receives the service request after the acquisition The target data requested by the service request, and the target data is returned to the client through the target front-end server. The invention can improve the success rate of data access.

【技术实现步骤摘要】

本专利技术涉及互联网
,尤其涉及一种数据访问方法及系统
技术介绍
随着互联网和云计算的快速发展,各行各业的业务需求复杂膨胀且用户量急剧增长,如今的大型网站,面对这样的业务量和用户量,往往是通过使用高性能的服务器、高性能的数据库、高效率的编程语言、高性能的Web容器等方式来解决这种需求。但如果服务器出现宕机,一般会影响大范围的用户,特别是当大量用户同时访问服务器的情况下,单纯的在网络中加硬件等方式是不能保证服务在高并发场景的高可用的。现有的网络架构,比如,12306火车票订票网站的web服务架构,当某个Web服务器出现宕机时,该Web服务器将不能处理自己负责的访问请求,导致发出这些请求的客户端不能正常接收所请求的访问数据,从而降低了数据访问的成功率,进而降低了用户的网络体验。
技术实现思路
有鉴于此,本专利技术实施例的主要目的在于提供一种数据访问方法及系统,能够提高数据访问的成功率。本专利技术提供了一种数据访问方法,所述方法应用于一种数据访问系统,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;所述方法包括:所述第一负载服务器在接收到所述客户端发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;所述客户端在接收到所述分配消息后,向所述目标前端服务器发送业务请求;所述目标前端服务器在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;所述目标后端服务器在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据。可选的,所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;所述采用第一负载均衡算法为所述客户端分配一目标前端服务器,包括:获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。可选的,所述系统还包括第二负载服务器,所述方法还包括:所述第二负载服务器采样第二负载均衡算法,为所述业务请求分配一目标后端服务器;则,所述获取为所述业务请求分配的目标后端服务器的信息,包括:获取所述第二负载服务器返回的所述目标后端服务器的信息。可选的,所述第二负载均衡算法为一致性Hash算法。可选的,所述目标前端服务器与所述目标后端服务器之间通过远程过程调用协议RPC组件进行数据传输。可选的,所述方法还包括:所述目标后端服务器通过所述目标前端服务器向所述客户端推送信息。本专利技术还提供了一种数据访问系统,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;所述第一负载服务器,用于在接收到所述客户端发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;所述客户端,用于在接收到所述分配消息后,向所述目标前端服务器发送业务请求;所述目标前端服务器,用于在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;所述目标后端服务器,用于在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据。可选的,所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;所述第一负载服务器,包括:状态获取单元,用于获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;负载均衡单元,用于采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。可选的,所述系统还包括第二负载服务器;所述第二负载服务器,用于采样第二负载均衡算法,为所述业务请求分配一目标后端服务器;则,所述目标后端服务器,具体用于获取所述第二负载服务器返回的所述目标后端服务器的信息。可选的,所述第二负载均衡算法为一致性Hash算法。本专利技术实施例提供的数据访问方法及系统,第一负载服务器在接收到客户端发送的访问请求后,采样第一负载均衡算法为客户端分配一目标前端服务器,并向客户端发送携带目标前端服务器信息的分配消息,其中,所述目标前端服务器为前端服务器集群中的一台处于正常工作状态的服务器;客户端在接收到该分配消息后,向目标前端服务器发送业务请求;目标前端服务器在接收到业务请求后,获取为业务请求分配的目标后端服务器的信息,并向目标后端服务器发送该业务请求,其中,所述目标后端服务器为后端服务器集群中的一台服务器;目标后端服务器在接收到业务请求后,获取业务请求所请求的目标数据,并通过目标前端服务器向客户端返回所述目标数据。可见,通过为客户端分配一处于正常工作状态的服务器进行请求连接,可以提高客户端获取所请求访问数据的几率,从而提高了数据访问的成功率。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1示出了数据访问方法的流程示意图;图2示出了数据访问系统的组成示意图之一;图3示出了数据访问系统的组成示意图之二。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在介绍本专利技术实施例之前,首先介绍本专利技术实施例涉及的名词术语:1、用户客户端UserClient:指发起请求的客户端设备。2、前端服务器FrontServer:主要用来做Socket连接承载维持,保持连接状态,不做具体业务处理和规划。3、后端服务器BackendServer:主要用来做业务处理服务。4、用户连接标识符:主要是用户客户端UserClient与前端服务器FrontServer连接时,产生的服务器连接句柄id(即单台服务器某个socket连接的唯一标识)。5、Zookeeper:采用分布式服务框架,是ApacheHadoop的一个子项目,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,如:统一命名服务、状态同步服务、集群管理、分布式应用配置项的管理等。6、RPC:即远程过程调用协议(RemoteProcedureCallProtocol),它是一种通过网络从远本文档来自技高网...
一种数据访问方法及系统

【技术保护点】
一种数据访问方法,其特征在于,所述方法应用于一种数据访问系统,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;所述方法包括:所述第一负载服务器在接收到所述客户端发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;所述客户端在接收到所述分配消息后,向所述目标前端服务器发送业务请求;所述目标前端服务器在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;所述目标后端服务器在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据。

【技术特征摘要】
1.一种数据访问方法,其特征在于,所述方法应用于一种数据访问系统,所述系统包括至少一个客户端、第一负载服务器、前端服务器集群和后端服务器集群;所述方法包括:所述第一负载服务器在接收到所述客户端发送的访问请求后,采样第一负载均衡算法为所述客户端分配一目标前端服务器,并向所述客户端发送携带所述目标前端服务器信息的分配消息,其中,所述目标前端服务器为所述前端服务器集群中的一台处于正常工作状态的服务器;所述客户端在接收到所述分配消息后,向所述目标前端服务器发送业务请求;所述目标前端服务器在接收到所述业务请求后,获取为所述业务请求分配的目标后端服务器的信息,并向所述目标后端服务器发送所述业务请求,其中,所述目标后端服务器为所述后端服务器集群中的一台服务器;所述目标后端服务器在接收到所述业务请求后,获取所述业务请求所请求的目标数据,并通过所述目标前端服务器向所述客户端返回所述目标数据。2.根据权利要求1所述的方法,其特征在于,所述系统还包括Zookeeper集群,所述Zookeeper集群用于监测所述前端服务器集群的运行状态;所述采用第一负载均衡算法为所述客户端分配一目标前端服务器,包括:获取所述Zookeeper集群反馈的所述前端服务器集群的运行状态,根据所述运行状态确定处于正常工作状态的全部前端服务器;采用第一负载均衡算法,从所述全部前端服务器中为所述客户端分配一目标前端服务器。3.根据权利要求1所述的方法,其特征在于,所述系统还包括第二负载服务器,所述方法还包括:所述第二负载服务器采样第二负载均衡算法,为所述业务请求分配一目标后端服务器;则,所述获取为所述业务请求分配的目标后端服务器的信息,包括:获取所述第二负载服务器返回的所述目标后端服务器的信息。4.根据权利要求3所述的方法,其特征在于,所述第二负载均衡算法为一致性Hash算法。5.根据权利要求1至4任一项所述的方法,其特征在于,所述目标前端服务器与所述目标后端服务器之间通过远程过...

【专利技术属性】
技术研发人员:马锦涛
申请(专利权)人:广州市千钧网络科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1