一种基于服务端集群的请求处理方法、设备及介质技术

技术编号:26797790 阅读:14 留言:0更新日期:2020-12-22 17:15
本申请公开了一种基于服务端集群的请求处理方法、设备及介质,方法包括:应用在处理系统中,处理系统包括客户端、服务端集群,方法包括:服务端集群接收客户端发送的第一请求,并将第一请求路由至第一服务端;第一服务端对第一请求进行相应的处理,并将处理结束后对应的处理结果写入持久化层;服务端集群接收客户端发送的第二请求,并在第一服务端处于异常状态时,将第二请求路由至第二服务端;第二服务端在持久化层中获取处理结果,并基于处理结果,对第二请求进行相应的处理。即使第一服务端发生崩溃,第二服务端也可以在持久化层中获取该处理结果。第二服务端在对第二请求进行处理时,无需客户端重新执行一遍崩溃前的操作,第二服务端也可以对第二请求进行处理,提高了系统的可用性,也提高了用户体验。

【技术实现步骤摘要】
一种基于服务端集群的请求处理方法、设备及介质
本申请涉及服务端集群领域,具体涉及一种基于服务端集群的请求处理方法、设备及介质。
技术介绍
现代服务器/客户机模式(Server/Client,C/S)或浏览器/服务器模式(Browser/Server,B/S)为了满足海量用户同时使用,服务端通常都会采用集群模式,集群中包含多个服务端节点同时为各个客户端分别提供服务。在集群模式下如果要提供有状态的服务一般会使用粘性会话,即某个客户端第一次请求路由到某个服务端节点后,其后续请求都会被路由到同一个节点。如果一个服务端节点在处理客户端请求的过程中崩溃,此时会把客户端的下个请求路由到一个可用的新节点。但是由于新节点上没有处理过之前的请求,状态与客户端不一致,导致无法正确处理客户端请求。目前现有的处理方式是进行简单的检查判断出客户端与服务端状态不一致后进行提示,要求客户端重新执行一遍崩溃前的操作,影响系统可用性,用户使用体验差。
技术实现思路
为了解决上述问题,本申请提出了一种基于服务端集群的请求处理方法,应用在处理系统中,所述处理系统包括客户端、服务端集群,所述服务端集群包括持久化层、多个服务端,所述多个服务端至少包括第一服务端、第二服务端,所述方法包括:所述服务端集群接收所述客户端发送的第一请求,并将所述第一请求路由至所述第一服务端;所述第一服务端对所述第一请求进行相应的处理,并将处理结束后对应的处理结果写入所述持久化层;所述服务端集群接收所述客户端发送的第二请求,并在所述第一服务端处于异常状态时,将所述第二请求路由至所述第二服务端,其中,所述第二请求与所述第一请求用于执行同一功能;所述第二服务端在所述持久化层中获取所述处理结果,并基于所述处理结果,对所述第二请求进行相应的处理。在一个示例中,所述服务端集群中还包括负载均衡器;所述服务端集群接收所述客户端发送的第一请求,并将所述第一请求路由至所述第一服务端,包括:所述负载均衡器接收所述客户端发送的第一请求,并将所述第一请求路由至所述第一服务端;所述服务端集群接收所述客户端发送的第二请求,并在所述第一服务端处于异常状态时,将所述第二请求路由至所述第二服务端,包括:所述负载均衡器接收所述客户端发送的第二请求,并在所述第一服务端处于异常状态时,将所述第二请求路由至所述第二服务端。在一个示例中,将处理结束后对应的处理结果写入所述持久化层之后,所述方法还包括:所述第一服务端将所述处理结果返回所述负载均衡器;所述负载均衡器将所述处理结果返回所述客户端。在一个示例中,所述第一服务端对所述第一请求进行相应的处理之前,所述方法还包括:所述第一服务端对所述第一请求进行分布式加锁;所述第一服务端将所述处理结果返回所述负载均衡器,包括:所述第一服务端对所述分布式加锁进行解锁后,将所述处理结果返回所述负载均衡器;基于所述处理结果,对所述第二请求进行相应的处理之前,所述方法还包括:所述第二服务端对所述第二请求进行分布式加锁。在一个示例中,所述方法还包括:所述服务端集群确定接收到的动作表示当前功能结束;在所述持久化层中,将所述功能对应的各请求的处理结果删除。在一个示例中,所述方法还包括:所述服务端集群通过定时检查的方式,在所述持久化层中进行检索;将已经结束的功能对应的处理结果删除。在一个示例中,将处理结束后对应的处理结果写入所述持久化层之前,所述方法还包括:确定所述第一请求不属于预设类型的请求,所述预设类型的请求表示该请求只用于读取数据。在一个示例中,所述服务端集群应用在浏览器/服务器B/S结构或服务器/客户机C/S结构。另一方面,本申请还提出了一种基于服务端集群的请求处理设备,应用在处理系统中,所述处理系统包括客户端、服务端集群,所述服务端集群包括持久化层、多个服务端,所述多个服务端至少包括第一服务端、第二服务端,所述设备包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述任意一个示例所述的方法。另一方面,本申请还提出了一种基于服务端集群的请求处理的非易失性计算机存储介质,存储有计算机可执行指令,应用在处理系统中,所述处理系统包括客户端、服务端集群,所述服务端集群包括持久化层、多个服务端,所述多个服务端至少包括第一服务端、第二服务端,所述计算机可执行指令设置为:如上述任意一个示例所述的方法。通过本申请提出处理方法能够带来如下有益效果:在第一服务端对第一请求进行处理后,将处理结果写入持久化层。即使第一服务端发生崩溃,第二服务端也可以在持久化层中获取该处理结果。由于第二服务端获取了处理结果,因此第二服务端在对第二请求进行处理时,无需客户端重新执行一遍崩溃前的操作,第二服务端也可以对第二请求进行处理,提高了系统的可用性,也提高了用户体验。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为本申请实施例中基于服务端集群的请求处理方法的流程示意图;图2为本申请实施例中基于服务端集群的请求处理设备的示意图;图3为本申请实施例中第一服务端的处理流程图;图4为本申请实施例中第二服务端的处理流程图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。以下结合附图,详细说明本申请各实施例提供的技术方案。本申请实施例提供基于服务端集群的请求处理方法,应用在处理系统中,处理系统包括客户端、服务端集群。用户在客户端上办理业务,或执行相应操作时,客户端会向服务端集群发送相应的请求。服务端集群中包括有持久化层以及多个服务端,在本申请实施例中为了便于描述,在服务端集群中选取两个服务端(在本申请实施例中称作第一服务端和第二服务端)进行解释说明。其中,本申请实施例中的服务端集群应用在B/S结构或C/S结构中。B/S结构是WEB兴起后的一种网络结构模式,WEB浏览器是客户端最主要的应用软件,此时,客户端指的就是相应的WEB浏览器。而在C/S结构中,客户端通过局域网与服务端相连,接收用户的请求,并通过网络向服务端提出请求,对数据库进行操作,此时客户端可以是相应的程序、APP等。而持久化层指的是,可以持久化保存数据的模块,在集群服务端中的各服务端均可访问到持久化层。持久化层的表现可以是数据库或数据库集群,也可以是redis或者redis集群,或者其他能够起到相应功能的模块,在此不做限定。如图1所示,方法包括:S101、所述服务端集群接收所述客本文档来自技高网...

【技术保护点】
1.一种基于服务端集群的请求处理方法,其特征在于,应用在处理系统中,所述处理系统包括客户端、服务端集群,所述服务端集群包括持久化层、多个服务端,所述多个服务端至少包括第一服务端、第二服务端,所述方法包括:/n所述服务端集群接收所述客户端发送的第一请求,并将所述第一请求路由至所述第一服务端;/n所述第一服务端对所述第一请求进行相应的处理,并将处理结束后对应的处理结果写入所述持久化层;/n所述服务端集群接收所述客户端发送的第二请求,并在所述第一服务端处于异常状态时,将所述第二请求路由至所述第二服务端,其中,所述第二请求与所述第一请求用于执行同一功能;/n所述第二服务端在所述持久化层中获取所述处理结果,并基于所述处理结果,对所述第二请求进行相应的处理。/n

【技术特征摘要】
1.一种基于服务端集群的请求处理方法,其特征在于,应用在处理系统中,所述处理系统包括客户端、服务端集群,所述服务端集群包括持久化层、多个服务端,所述多个服务端至少包括第一服务端、第二服务端,所述方法包括:
所述服务端集群接收所述客户端发送的第一请求,并将所述第一请求路由至所述第一服务端;
所述第一服务端对所述第一请求进行相应的处理,并将处理结束后对应的处理结果写入所述持久化层;
所述服务端集群接收所述客户端发送的第二请求,并在所述第一服务端处于异常状态时,将所述第二请求路由至所述第二服务端,其中,所述第二请求与所述第一请求用于执行同一功能;
所述第二服务端在所述持久化层中获取所述处理结果,并基于所述处理结果,对所述第二请求进行相应的处理。


2.根据权利要求1所述的方法,其特征在于,所述服务端集群中还包括负载均衡器;
所述服务端集群接收所述客户端发送的第一请求,并将所述第一请求路由至所述第一服务端,包括:
所述负载均衡器接收所述客户端发送的第一请求,并将所述第一请求路由至所述第一服务端;
所述服务端集群接收所述客户端发送的第二请求,并在所述第一服务端处于异常状态时,将所述第二请求路由至所述第二服务端,包括:
所述负载均衡器接收所述客户端发送的第二请求,并在所述第一服务端处于异常状态时,将所述第二请求路由至所述第二服务端。


3.根据权利要求2所述的方法,其特征在于,将处理结束后对应的处理结果写入所述持久化层之后,所述方法还包括:
所述第一服务端将所述处理结果返回所述负载均衡器;
所述负载均衡器将所述处理结果返回所述客户端。


4.根据权利要求3所述的方法,其特征在于,所述第一服务端对所述第一请求进行相应的处理之前,所述方法还包括:
所述第一服务端对所述第一请求进行分布式加锁;
所述第一服务端将所述处理结果返回所述负载均衡器,包括:
所述第一服务端对所述分布式加锁进行解...

【专利技术属性】
技术研发人员:张进
申请(专利权)人:山东浪潮通软信息科技有限公司
类型:发明
国别省市:山东;37

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

1