CN110225137A - 业务请求处理方法、系统、服务器及存储介质 - Google Patents

业务请求处理方法、系统、服务器及存储介质 Download PDF

Info

Publication number
CN110225137A
CN110225137A CN201910550723.1A CN201910550723A CN110225137A CN 110225137 A CN110225137 A CN 110225137A CN 201910550723 A CN201910550723 A CN 201910550723A CN 110225137 A CN110225137 A CN 110225137A
Authority
CN
China
Prior art keywords
server
service
dispatch
dispatch server
target
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
Application number
CN201910550723.1A
Other languages
English (en)
Other versions
CN110225137B (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.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information 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 Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910550723.1A priority Critical patent/CN110225137B/zh
Publication of CN110225137A publication Critical patent/CN110225137A/zh
Application granted granted Critical
Publication of CN110225137B publication Critical patent/CN110225137B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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
    • H04L67/101Server selection for load balancing based on network conditions
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer And Data Communications (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Hardware Redundancy (AREA)
  • Information Transfer Between Computers (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本公开是关于一种业务处理方法、系统、服务器及存储介质,属于网络技术领域。应用于业务处理系统中,方法包括:前端服务器采用第一负载均衡调度算法,从多个调度服务器中选取目标调度服务器,通过交换机组,向目标调度服务器发送业务请求;目标调度服务器采用第二负载均衡调度算法,从多个业务服务器中选取目标业务服务器,向目标业务服务器发送业务请求;目标业务服务器接收到业务请求时,对业务请求进行处理,得到处理结果,设置多个调度服务器,即使业务请求数量很多,也能将该业务请求均衡地分发给多个调度服务器,再由多个调度服务器均衡地分发给多个业务服务器,防止出现单一调度服务器负载量过大的问题,保证了调度服务器的正常工作。

Description

业务请求处理方法、系统、服务器及存储介质
技术领域
本公开涉及网络技术领域,尤其涉及一种业务请求处理方法、系统、服务器及存储介质。
背景技术
随着网络技术的发展,业务处理系统中的业务请求越来越多,如果业务处理系统中仅采用一个业务服务器来处理业务请求,会导致业务服务器的负载量过大。因此需要在业务处理系统中设置多个业务服务器,由多个业务服务器分担处理业务请求,以减少每个业务服务器的负载量。
如图1所示,业务处理系统中设置有前端服务器101和多个业务服务器103,为了便于多个业务服务器103的协同工作,在业务处理系统中设置调度服务器102,该前端服务器101与该调度服务器102连接,该调度服务器102分别与多个业务服务器103连接,能够为每个业务服务器103分配业务请求。即调度服务器102将接收到的多个业务请求轮流分配给多个业务服务器103,由每个业务服务器103对接收到的业务请求进行处理,从而实现业务请求的均衡分配,保证每个业务服务器103的负载均衡。
业务请求均由调度服务器进行分配,当业务请求的数量较多时,会造成调度服务器的负载量过大,可能会影响调度服务器的正常工作。
发明内容
本公开提供了一种业务处理方法、系统、服务器及存储介质,可以克服相关技术中存在的问题。
根据本公开实施例的第一方面,提供一种业务处理方法,应用于业务处理系统中,所述业务处理系统包括前端服务器、交换机组、多个调度服务器和多个业务服务器,所述交换机组包括一个或多个交换机,所述前端服务器通过所述交换机组与所述多个调度服务器连接,每个调度服务器与所述多个业务服务器连接;所述方法包括:
所述前端服务器接收到客户端发送的业务请求时,采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,通过所述交换机组,向所述目标调度服务器发送所述业务请求,所述第一负载均衡调度算法用于将所述前端服务器接收到的业务请求均衡分配给所述多个调度服务器;
所述目标调度服务器接收到所述业务请求时,采用第二负载均衡调度算法,从所述多个业务服务器中选取目标业务服务器,向所述目标业务服务器发送所述业务请求,所述第二负载均衡调度算法用于将所述调度服务器接收到的业务请求均衡分配给所述多个业务服务器;
所述目标业务服务器接收到所述业务请求时,对所述业务请求进行处理,得到处理结果。
在一种可能实现方式中,所述前端服务器接收到所述客户端发送的业务请求中的源地址为所述客户端的第一地址,所述业务请求中的目的地址为所述前端服务器的第二地址;所述通过所述交换机组,向所述目标调度服务器发送所述业务请求,包括:
所述前端服务器将所述业务请求中的源地址更新为所述第二地址,将所述业务请求中的目的地址更新为所述目标调度服务器的第三地址;
通过所述交换机组,向所述第三地址指示的所述目标调度服务器发送所述业务请求。
在另一种可能实现方式中,所述向所述目标业务服务器发送所述业务请求,包括:
所述目标调度服务器将所述业务请求中的源地址更新为所述第三地址,将所述业务请求中的目的地址更新为所述目标业务服务器的第四地址;
向所述第四地址指示的所述目标业务服务器发送所述业务请求。
在另一种可能实现方式中,所述采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,包括:
获取所述多个调度服务器中每个调度服务器的负载量;
从所述多个调度服务器中,选取负载量最小的调度服务器作为所述目标调度服务器。
在另一种可能实现方式中,所述采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,包括:
按照所述多个调度服务器的排列顺序,从所述多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为所述目标调度服务器。
在另一种可能实现方式中,所述交换机组和所述多个调度服务器中配置有验证信息,所述方法还包括:
所述交换机组向所述多个调度服务器发送验证信息获取请求,所述验证信息获取请求用于指示获取所述多个调度服务器的验证信息;
所述多个调度服务器中的每个调度服务器接收所述验证信息获取请求,将配置的验证信息发送给所述交换机组;
所述交换机组接收所述多个调度服务器分别返回的验证信息,当任一调度服务器的验证信息与所述交换机组配置的验证信息相同时,与所述任一调度服务器建立连接。
在另一种可能实现方式中,所述方法还包括:
所述交换机组获取第一列表,所述第一列表中包括与所述交换机组建立连接的多个调度服务器;
向所述多个调度服务器分别发送第一状态信息获取请求,所述第一状态信息获取请求用于指示所述调度服务器返回状态信息;
将未返回状态信息的调度服务器设置为停用状态。
在另一种可能实现方式中,所述采用第二负载均衡调度算法,从所述多个业务服务器中选取目标业务服务器,包括:
获取所述多个业务服务器中每个业务服务器的负载量;
从所述多个业务服务器中,选取负载量最小的业务服务器作为所述目标业务服务器。
在另一种可能实现方式中,所述采用第二负载均衡调度算法,从所述多个业务服务器中选取目标业务服务器,包括:
按照所述多个业务服务器的排列顺序,从所述多个业务服务器中,选取上一次选取的业务服务器的下一个业务服务器作为所述目标业务服务器。
在另一种可能实现方式中,所述方法还包括:
对于所述多个调度服务器中的每个调度服务器,所述调度服务器获取第二列表,所述第二列表中包括与所述调度服务器建立连接的多个业务服务器;
向所述多个业务服务器分别发送第二状态信息获取请求,所述第二状态信息获取请求用于指示所述业务服务器返回状态信息;
将未返回状态信息的业务服务器设置为停用状态。
在另一种可能实现方式中,所述多个业务服务器中配置有回环接口,所述回环接口的目的地址为所述第二地址;所述方法还包括:
生成业务响应,所述业务响应包括所述处理结果;
通过调用所述回环接口,将所述业务响应发送给所述第二地址指示的所述前端服务器。
根据本公开实施例的第二方面,提供一种业务处理系统,所述系统包括:前端服务器、交换机组、多个调度服务器和多个业务服务器;
所述交换机组包括一个或多个交换机,所述前端服务器通过所述交换机组与所述多个调度服务器连接,每个调度服务器与所述多个业务服务器连接;
所述前端服务器用于接收到客户端发送的业务请求时,采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,通过所述交换机组,向所述目标调度服务器发送所述业务请求,所述第一负载均衡调度算法用于将所述前端服务器接收到的业务请求均衡分配给所述多个调度服务器;
所述目标调度服务器用于接收到所述业务请求时,采用第二负载均衡调度算法,从所述多个业务服务器中选取目标业务服务器,向所述目标业务服务器发送所述业务请求,所述第二负载均衡调度算法用于将所述调度服务器接收到的业务请求均衡分配给所述多个业务服务器;
所述目标业务服务器用于接收到所述业务请求时,对所述业务请求进行处理,得到处理结果。
在一种可能实现方式中,所述前端服务器接收到所述客户端发送的业务请求中的源地址为所述客户端的第一地址,所述业务请求中的目的地址为所述前端服务器的第二地址;
所述前端服务器还用于将所述业务请求中的源地址更新为所述第二地址,将所述业务请求中的目的地址更新为所述目标调度服务器的第三地址,通过所述交换机组,向所述第三地址指示的所述目标调度服务器发送所述业务请求。
在另一种可能实现方式中,所述目标调度服务器还用于将所述业务请求中的源地址更新为所述第三地址,将所述业务请求中的目的地址更新为所述目标业务服务器的第四地址,向所述第四地址指示的所述目标业务服务器发送所述业务请求。
在另一种可能实现方式中,所述前端服务器还用于获取所述多个调度服务器中每个调度服务器的负载量,从所述多个调度服务器中,选取负载量最小的调度服务器作为所述目标调度服务器。
在另一种可能实现方式中,所述前端服务器还用于按照所述多个调度服务器的排列顺序,从所述多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为所述目标调度服务器。
在另一种可能实现方式中,所述交换机组和所述多个调度服务器中配置有验证信息;
所述交换机组用于向所述多个调度服务器发送验证信息获取请求,所述验证信息获取请求用于指示获取所述多个调度服务器的验证信息;
所述多个调度服务器中的每个调度服务器用于接收所述验证信息获取请求,将配置的验证信息发送给所述交换机组;
所述交换机组还用于接收所述多个调度服务器分别返回的验证信息,当任一调度服务器的验证信息与所述交换机组配置的验证信息相同时,与所述任一调度服务器建立连接。
在另一种可能实现方式中,所述交换机组还用于获取第一列表,所述第一列表中包括与所述交换机组建立连接的多个调度服务器;
向所述多个调度服务器分别发送第一状态信息获取请求,所述第一状态信息获取请求用于指示所述调度服务器返回状态信息;
将未返回状态信息的调度服务器设置为停用状态。
在另一种可能实现方式中,所述目标调度服务器用于获取所述多个业务服务器中每个业务服务器的负载量,从所述多个业务服务器中,选取负载量最小的业务服务器作为所述目标业务服务器。
在另一种可能实现方式中,所述目标调度服务器还用于按照所述多个业务服务器的排列顺序,从所述多个业务服务器中,选取上一次选取的业务服务器的下一个业务服务器作为所述目标业务服务器。
在另一种可能实现方式中,对于所述多个调度服务器中的每个调度服务器,所述调度服务器用于获取第二列表,所述第二列表中包括与所述调度服务器建立连接的多个业务服务器;
所述调度服务器还用于向所述多个业务服务器分别发送第二状态信息获取请求,所述第二状态信息获取请求用于指示所述业务服务器返回状态信息,将未返回状态信息的业务服务器设置为停用状态。
在另一种可能实现方式中,所述多个业务服务器中配置有回环接口,所述回环接口的目的地址为所述第二地址;
所述业务服务器还用于生成业务响应,所述业务响应包括所述处理结果;
所述业务服务器还用于通过调用所述回环接口,将所述业务响应发送给所述第二地址指示的所述前端服务器。
根据本公开实施例的第三方面,提供一种业务处理方法,应用于业务处理系统中,所述业务处理系统包括前端服务器、交换机组、多个调度服务器,所述交换机组包括一个或多个交换机,所述前端服务器通过所述交换机组与所述多个调度服务器连接;所述方法包括:
所述前端服务器接收到客户端发送的业务请求时,采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,通过所述交换机组,向所述目标调度服务器发送所述业务请求,所述第一负载均衡调度算法用于将所述前端服务器接收到的业务请求均衡分配给所述多个调度服务器。
在一种可能实现方式中,所述前端服务器接收到所述客户端发送的业务请求中的源地址为所述客户端的第一地址,所述业务请求中的目的地址为所述前端服务器的第二地址;所述前端服务器用于所述业务请求中的源地址更新为所述第二地址,将所述业务请求中的目的地址更新为所述目标调度服务器的第三地址,通过所述交换机组,向所述第三地址指示的所述目标调度服务器发送所述业务请求。
在另一种可能实现方式中,所述前端服务器还用于获取所述多个调度服务器中每个调度服务器的负载量,从所述多个调度服务器中,选取负载量最小的调度服务器作为所述目标调度服务器。
在另一种可能实现方式中,所述前端服务器还用于按照所述多个调度服务器的排列顺序,从所述多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为所述目标调度服务器。
根据本公开实施例提供的第四方面,提供一种前端服务器,应用于业务处理系统中,所述业务处理系统包括所述前端服务器、交换机组、多个调度服务器,所述交换机组包括一个或多个交换机,所述前端服务器通过所述交换机组与所述多个调度服务器连接;所述前端服务器包括:
接收模块,用于接收到客户端发送的业务请求;
选取模块,用于采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,所述第一负载均衡调度算法用于将所述前端服务器接收到的业务请求均衡分配给所述多个调度服务器;
发送模块,用于通过所述交换机组,向所述目标调度服务器发送所述业务请求;
所述目标调度服务器用于从所述多个业务服务器中选取目标业务服务器,向所述目标业务服务器发送所述业务请求,由所述目标业务服务器对所述业务请求进行处理。
在一种可能实现方式中,所述前端服务器接收到所述客户端发送的业务请求中的源地址为所述客户端的第一地址,所述业务请求中的目的地址为所述前端服务器的第二地址;所述发送模块,还包括:
更新单元,用于将所述业务请求中的源地址更新为所述第二地址,将所述业务请求中的目的地址更新为所述目标调度服务器的第三地址;
发送单元,用于通过所述交换机组,向所述第三地址指示的所述目标调度服务器发送所述业务请求。
在另一种可能实现方式中,所述选取模块,还包括:
获取单元,用于获取所述多个调度服务器中每个调度服务器的负载量;
选取单元,用于从所述多个调度服务器中,选取负载量最小的调度服务器作为所述目标调度服务器。
在另一种可能实现方式中,所述选取模块,还用于按照所述多个调度服务器的排列顺序,从所述多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为所述目标调度服务器。
根据本公开实施例提供的第五方面,提供一种前端服务器,所述前端服务器包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行命令的易失性或非易失性存储器;
其中,所述一个或多个处理器被配置为执行如第三方面所述的业务处理方法。
根据本公开实施例提供的第六方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由前端服务器的处理器执行时,使得前端服务器能够执行如第三方面所述的业务处理方法。
根据本公开实施例的第七方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由前端服务器的处理器执行时,使得前端服务器能够执行如第三方面所述的业务处理方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
在业务处理系统中设置多个调度服务器,且每个调度服务器均分别与多个业务服务器连接,在该业务处理系统处理业务请求的过程中,前端服务器先根据第一负载均衡算法从多个调度服务器中获取目标调度服务器,目标调度服务器再采用第二负载均衡算法从多个业务服务器中获取目标业务服务器,由目标业务服务器对业务请求进行处理,得到处理结果。通过在业务处理系统中设置多个调度服务器,即使业务请求数量很多,也可以将该业务请求均衡地分发给多个调度服务器,再由该多个调度服务器均衡地分发给多个业务服务器,防止出现单一调度服务器负载量过大的问题,保证了调度服务器的正常工作。
并且,由于每个调度服务器具有一定的负载量,在业务处理系统中设置多个调度服务器,该多个调度服务器均处于工作状态,均能够接收前端服务器发送的业务请求,分配给业务服务器,实现了对该业务处理系统的横向扩展,提高了该业务处理系统中处理业务请求的数据量。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是相关技术中示出的一种业务处理系统的结构示意图。
图2是根据一示例性实施例示出的一种业务处理系统的结构示意图。
图3是根据一示例性实施例示出的一种业务处理方法的流程图。
图4是根据一示例性实施例示出的一种业务处理方法的流程图。
图5是根据一示例性实施例示出的一种业务处理方法的流程图。
图6是根据一示例性实施例示出的一种前端服务器的结构示意图。
图7是根据一示例性实施例示出的另一种前端服务器的结构示意图。
图8是根据一示例性实施例示出的一种服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图2是根据一示例性实施例示出的一种业务处理系统的结构示意图,如图2所示,该通信系统中包括前端服务器201、交换机组202、多个调度服务器203和多个业务服务器204。
其中,该前端服务器可以为一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务器中心。该交换机组202中包括一个或多个交换机,多个交换机是指两个或者两个以上的交换机。
前端服务器201与交换机组202连接,交换机组202分别与多个调度服务器203连接,该多个调度服务器203中的每个调度服务器203分别与多个业务服务器204连接。
在一种可能实现方式中,该交换机组202和该多个调度服务器203采用OSPF(OpenShortest Path First,开放式最短路径优先)协议进行交互,从而能够从多个调度服务器203中选取一个调度服务器203。
在另一种可能实现方式中,该多个调度服务器为LVS(Linux Virtual Server,Linux虚拟服务器)虚拟服务器,或者为其他类型的服务器。
该多个调度服务器203中的每个调度服务器203均配置有Zebra应用和Quagga应用,该Quagga应用用于启动OSPF服务,从而基于OSPF服务实现软OSPF交换机的功能,与交换机组202进行通信。Zebra应用用于检测Quagga应用是否正常运行,且管理该Quagga应用的运行状态。
该前端服务器201用于接收客户端发送的业务请求,从多个调度服务器203中选取一个调度服务器203,将接收的业务请求发送给选取的调度服务器203,调度服务器203接收业务请求,从多个业务服务器204中选取一个业务服务器204,将业务请求发送给选取的业务服务器204,由业务服务器204对业务请求进行处理,得到处理结果。
在一种可能实现方式中,前端服务器201接收到客户端发送的业务请求中的源地址为客户端的第一地址,业务请求中的目的地址为前端服务器201的第二地址;
前端服务器201还用于将业务请求中的源地址更新为第二地址,将业务请求中的目的地址更新为目标调度服务器203的第三地址,通过交换机组202,向第三地址指示的目标调度服务器203发送业务请求。
在另一种可能实现方式中,目标调度服务器203还用于将业务请求中的源地址更新为第三地址,将业务请求中的目的地址更新为目标业务服务器204的第四地址,向第四地址指示的目标业务服务器204发送业务请求。
在另一种可能实现方式中,前端服务器201还用于获取多个调度服务器203中每个调度服务器203的负载量,从多个调度服务器203中,选取负载量最小的调度服务器203作为目标调度服务器203。
在另一种可能实现方式中,前端服务器201还用于按照多个调度服务器203的排列顺序,从多个调度服务器203中,选取上一次选取的调度服务器203的下一个调度服务器203,作为目标调度服务器203。
在另一种可能实现方式中,交换机组202和多个调度服务器203中配置有验证信息;
交换机组202用于向多个调度服务器203发送验证信息获取请求,验证信息获取请求用于指示获取多个调度服务器203的验证信息;
多个调度服务器203中的每个调度服务器203用于接收验证信息获取请求,将配置的验证信息发送给交换机组202;
交换机组202还用于接收多个调度服务器203分别返回的验证信息,当任一调度服务器203的验证信息与交换机组202配置的验证信息相同时,与任一调度服务器203建立连接。
在另一种可能实现方式中,交换机组202还用于获取第一列表,第一列表中包括与交换机组202建立连接的多个调度服务器203;
向多个调度服务器203分别发送第一状态信息获取请求,第一状态信息获取请求用于指示调度服务器203返回状态信息;
将未返回状态信息的调度服务器203设置为停用状态。
在另一种可能实现方式中,目标调度服务器203用于获取多个业务服务器204中每个业务服务器204的负载量,从多个业务服务器204中,选取负载量最小的业务服务器204作为目标业务服务器204。
在另一种可能实现方式中,目标调度服务器203还用于按照多个业务服务器204的排列顺序,从多个业务服务器204中,选取上一次选取的业务服务器204的下一个业务服务器204作为目标业务服务器204。
在另一种可能实现方式中,对于多个调度服务器203中的每个调度服务器203,调度服务器203用于获取第二列表,第二列表中包括与调度服务器203建立连接的多个业务服务器204;
调度服务器203还用于向多个业务服务器204分别发送第二状态信息获取请求,第二状态信息获取请求用于指示业务服务器204返回状态信息,将未返回状态信息的业务服务器204设置为停用状态。
在另一种可能实现方式中,多个业务服务器204中配置有回环接口,回环接口的目的地址为第二地址;
业务服务器204还用于生成业务响应,业务响应包括处理结果;
业务服务器204还用于通过调用回环接口,将业务响应发送给第二地址指示的前端服务器201。
图3是根据一示例性实施例示出的一种业务处理方法的流程图,如图3所示,应用于业务处理系统,业务处理系统包括前端服务器、交换机组、多个调度服务器和多个业务服务器,交换机组包括一个或多个交换机,前端服务器通过交换机组与多个调度服务器连接,每个调度服务器与多个业务服务器连接,包括以下步骤:
在步骤301中,前端服务器接收到客户端发送的业务请求时,采用第一负载均衡调度算法,从多个调度服务器中选取目标调度服务器,通过交换机组,向目标调度服务器发送业务请求,第一负载均衡调度算法用于将前端服务器接收到的业务请求均衡分配给多个调度服务器。
在步骤302中,目标调度服务器接收到业务请求时,采用第二负载均衡调度算法,从多个业务服务器中选取目标业务服务器,向目标业务服务器发送业务请求,第二负载均衡调度算法用于将调度服务器接收到的业务请求均衡分配给多个业务服务器。
在步骤303中,目标业务服务器接收到业务请求时,对业务请求进行处理,得到处理结果。
本公开实施例提供的方法,在业务处理系统中设置多个调度服务器,且每个调度服务器均分别与多个业务服务器连接,在该业务处理系统处理业务请求的过程中,前端服务器先根据第一负载均衡算法从多个调度服务器中获取目标调度服务器,目标调度服务器再采用第二负载均衡算法从多个业务服务器中获取目标业务服务器,由目标业务服务器对业务请求进行处理,得到处理结果。通过在业务处理系统中设置多个调度服务器,即使业务请求数量很多,也可以将该业务请求均衡地分发给多个调度服务器,再由该多个调度服务器均衡地分发给多个业务服务器,防止出现单一调度服务器负载量过大的问题,保证了调度服务器的正常工作。
在一种可能实现的方式中,前端服务器接收到客户端发送的业务请求中的源地址为客户端的第一地址,业务请求中的目的地址为前端服务器的第二地址;通过交换机组,向目标调度服务器发送业务请求,包括:
前端服务器将业务请求中的源地址更新为第二地址,将业务请求中的目的地址更新为目标调度服务器的第三地址;
通过交换机组,向第三地址指示的目标调度服务器发送业务请求。
在另一种可能实现的方式中,向目标业务服务器发送业务请求,包括:
目标调度服务器将业务请求中的源地址更新为第三地址,将业务请求中的目的地址更新为目标业务服务器的第四地址;
向第四地址指示的目标业务服务器发送业务请求。
在另一种可能实现的方式中,采用第一负载均衡调度算法,从多个调度服务器中选取目标调度服务器,包括:
获取多个调度服务器中每个调度服务器的负载量;
从多个调度服务器中,选取负载量最小的调度服务器作为目标调度服务器。
在另一种可能实现的方式中,采用第一负载均衡调度算法,从多个调度服务器中选取目标调度服务器,包括:
按照多个调度服务器的排列顺序,从多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为目标调度服务器。
在另一种可能实现的方式中,交换机组和多个调度服务器中配置有验证信息,方法还包括:
交换机组向多个调度服务器发送验证信息获取请求,验证信息获取请求用于指示获取多个调度服务器的验证信息;
多个调度服务器中的每个调度服务器接收验证信息获取请求,将配置的验证信息发送给交换机组;
交换机组接收多个调度服务器分别返回的验证信息,当任一调度服务器的验证信息与交换机组配置的验证信息相同时,与任一调度服务器建立连接。
在另一种可能实现的方式中,交换机组和多个调度服务器中配置有验证信息,方法还包括:
交换机组向多个调度服务器发送验证信息获取请求,验证信息获取请求用于指示获取多个调度服务器的验证信息;
多个调度服务器中的每个调度服务器接收验证信息获取请求,将配置的验证信息发送给交换机组;
交换机组接收多个调度服务器分别返回的验证信息,当任一调度服务器的验证信息与交换机组配置的验证信息相同时,与任一调度服务器建立连接。
在另一种可能实现的方式中,方法还包括:
交换机组获取第一列表,第一列表中包括与交换机组建立连接的多个调度服务器;
向多个调度服务器分别发送第一状态信息获取请求,第一状态信息获取请求用于指示调度服务器返回状态信息;
将未返回状态信息的调度服务器设置为停用状态。
在另一种可能实现的方式中,采用第二负载均衡调度算法,从多个业务服务器中选取目标业务服务器,包括:
获取多个业务服务器中每个业务服务器的负载量;
从多个业务服务器中,选取负载量最小的业务服务器作为目标业务服务器。
在另一种可能实现的方式中,采用第二负载均衡调度算法,从多个业务服务器中选取目标业务服务器,包括:
按照多个业务服务器的排列顺序,从多个业务服务器中,选取上一次选取的业务服务器的下一个业务服务器作为目标业务服务器。
在另一种可能实现的方式中,方法还包括:
对于多个调度服务器中的每个调度服务器,调度服务器获取第二列表,第二列表中包括与调度服务器建立连接的多个业务服务器;
向多个业务服务器分别发送第二状态信息获取请求,第二状态信息获取请求用于指示业务服务器返回状态信息;
将未返回状态信息的业务服务器设置为停用状态。
在另一种可能实现的方式中,多个业务服务器中配置有回环接口,回环接口的目的地址为第二地址;方法还包括:
生成业务响应,业务响应包括处理结果;
通过调用回环接口,将业务响应发送给第二地址指示的前端服务器。
图4是根据一示例性实施例示出的一种业务处理方法的流程图,如图4所示,该业务处理方法用于如图2所示的业务处理系统中,该方法包括以下步骤:
在步骤401中,前端服务器接收到客户端发送的业务请求时,采用第一负载均衡调度算法,从多个调度服务器中选取目标调度服务器。
本发明实施例中,电子设备安装有客户端,通过客户端与前端服务器连接。其中,该电子设备可以为手机、个人计算机、平板电脑或者服务器等设备。当客户端需要处理业务时,向前端服务器发送业务请求。其中,该业务请求可以为访问请求、数据获取请求、登录请求或者其他类型的请求等。此时与该前端服务器连接的多个调度服务器均处于工作状态,前端服务器接收该业务请求,从该多个调度服务器中,采用第一负载均衡算法选择目标调度服务器,将接收的业务请求发送给该目标调度服务器,实现业务请求的分配。
该第一负载均衡调度算法用于将前端服务器接收到的业务请求均衡分配给多个调度服务器,前端服务器采用该第一负载均衡调度算法进行业务请求的分配,则每次接收到业务请求时,不会下发给同一个调度服务器,而是可以将接收到的业务请求均衡分配给多个调度服务器,从而减轻了每个调度服务器的负载量。
在一种可能实现方式中,电子设备显示该客户端的应用界面,用户可以通过客户端显示的应用界面查看该客户端所显示的信息,还可以在该应用界面中触发任一操作。客户端检测到该用户触发的操作时,可以生成该操作对应的业务请求,将该业务请求发送给前端服务器,前端服务器接收该业务请求。
在另一种可能实现方式中,业务请求中包括源地址和目的地址,该源地址用于表示发送该业务请求的设备地址,该目的地址用于表示接收该业务请求的设备地址,以表示该业务请求的发送方和接收方。客户端发送该业务请求之前,该业务请求中的源地址为客户端的第一地址,业务请求中的目的地址为前端服务器的第二地址,以表示该业务请求的发送方为客户端,接收方为前端服务器,则客户端发送该业务请求时,能够根据该业务请求中目的地址的指示,将该业务请求发送给前端服务器。
在另一种可能实现方式中,采用第一负载均衡算法,从多个调度服务器中选取目标调度服务器可以包括以下任一项:
1、获取多个调度服务器中每个调度服务器的负载量,从多个调度服务器中,选取负载量最小的调度服务器作为目标调度服务器。
其中,调度服务器的负载量用于表示该调度服务器当前处理的数据量的大小。
在一种可能实现方式中,每个调度服务器在运行过程中,可以统计本身的负载量,通过交换机组转发给前端服务器,前端服务器即可获取到每个调度服务器的负载量,将多个调度服务器的负载量按照从大到小或者从小到大的顺序排列,从该多个调度服务器中选取负载量最小的调度服务器作为目标调度服务器。
在另一种可能实现方式中,前端服务器与交换机组连接,交换机组与多个调度服务器连接,前端服务器与多个调度服务器中的每个调度服务器之间存在多条转发路径,且每条转发路径中包括一个或多个交换机和一个调度服务器。前端服务器通过该多条转发路径中的任一条转发路径即可将业务请求转发给一个调度服务器,前端服务器和交换机组中的每个交换机中存储有路由表,该路由表中包括每个交换机到每个调度服务器之间的转发路径。
其中,上述方式可以采用ECMP(Equal-Cost Multipath Routing,等价路由)的方法选取转发路径,还可以采用其他方式选取转发路径。
因此,当前端服务器接收到业务请求时,根据存储的路由表和统计的每个交换机的负载量,计算每条转发路径中的多个设备的负载量的总和,即每条转发路径中的一个或多个交换机以及调度服务器的负载量之和,得到每条转发路径的总负载量,从该多条转发路径中确定总负载量最小的转发路径,该总负载量最小的转发路径中的调度服务器即为目标调度服务器,前端服务器通过确定的转发路径将接收的业务请求转发给该目标调度服务器。
例如,该多个调度服务器中包括调度服务器1、调度服务器2和调度服务器3,前端服务器与调度服务器1之间的转发路径中包括2个交换机,这2个交换机和调度服务器1的总负载量为30,前端服务器与调度服务器2之间的转发路径中包括3个交换机,这3个交换机和调度服务器2的总负载量为40,前端服务器与调度服务器3之间的转发路径中包括4个交换机,这四个交换机和调度服务器3的总负载量为70,其中总负载量30最小,则选取调度服务器1作为目标调度服务器。
2、按照多个调度服务器的排列顺序,从多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为目标调度服务器。
前端服务器将该多个调度服务器按照顺序进行排列,按照多个调度服务器的排列顺序选取目标调度服务器。则每次选取一个目标调度服务器时,前端服务器会记录该目标调度服务器所在的排列顺序,之后当前端服务器接收到业务请求时,按照存储的多个调度服务器的排列顺序,从该多个调度服务器中选取上一次选取的调度服务器的下一个调度服务器,作为目标调度服务器,将该业务请求发送给该目标调度服务器。后续当前端服务器接收到下一个业务请求时,按照多个调度服务器的排列顺序,继续选取目标调度服务器的下一个调度服务器,作为更新的目标调度服务器,将下一个业务请求发送给更新的目标调度服务器。
在一种可能实现方式中,前端服务器设置调度服务器列表,该调度服务器列表中包括多个调度服务器,还会记录每个调度服务器的选取状态,该选取状态用于表示调度服务器在本轮选取中是否已经被选取。则当前端服务器接收到业务请求时,从该调度服务器列表中,选取处于未选取状态的第一个调度服务器,作为目标调度服务器。此时将该目标调度服务器的状态由未选取状态更改为已选取状态,将该业务请求发送给该目标调度服务器。后续当前端服务器接收到下一个业务请求时,从该调度服务器列表中,再次选取处于未选取状态的第一个调度服务器,作为更新的目标调度服务器,此时将更新的目标调度服务器的状态由未选取状态更改为已选取状态,将下一个业务请求发送给更新的目标调度服务器。
需要说明的是,当前选取的调度服务器为多个调度服务器中的最后一个调度服务器时,重新按照该多个调度服务器的排列顺序,从该多个调度服务器中的第一个调度服务器开始进行选取。
例如,该多个调度服务器包括按照顺序排列的调度服务器1、调度服务器2和调度服务器3,当前端服务器接收到业务请求1时,选取调度服务器1作为目标调度服务器,当前端服务器接收到业务请求2时,选取调度服务器2作为目标调度服务器,当前端服务器接收到业务请求3时,选取调度服务器3作为目标调度服务器,当前端服务器接收到业务请求4时,选取调度服务器1作为目标调度服务器。
需要说明的是,本公开实施例中的设备的地址均可以为IP(Internet Protocol,网际协议)地址、MAC(Media Access Control,媒体访问控制)地址或者其他地址。
在步骤402中,前端服务器将业务请求中的源地址更新为第二地址,将业务请求中的目的地址更新为目标调度服务器的第三地址。
前端服务器向目标调度服务器发送业务请求,此时该业务请求中的源地址为客户端的第一地址,目的地址为该前端服务器的第二地址,为了能让交换机组准确地将该业务请求转发给目标调度服务器,且该目标调度服务器可以准确地确定该业务请求的发送地址,前端服务器确定目标调度服务器后,即可确定该目标调度服务器的第三地址,将该业务请求中的源地址更新为第二地址,将该业务请求中的目的地址更新为第三地址,以表示该业务请求的发送方为前端服务器,接收方为目标调度服务器。
在步骤403中,通过交换机组,向第三地址指示的目标调度服务器发送业务请求。
其中,该交换机组用于转发业务请求。
在一种可能实现方式中,当该交换机组中包括多个交换机时,采用IRF(Intelligent Resilient Framework,智能弹性架构)堆叠技术对该多个交换机进行堆叠处理,且通过LACP(Link Aggregation Control Protocol,链路聚合控制协议)将该多个交换机的端口进行汇聚,将该多个交换机进行堆叠和汇聚后形成交换机组,增加了交换机组的端口的带宽。
该交换机组接收前端服务器发送的业务请求,从该业务请求中获取包括的第三地址,通过交换机组与该第三地址之间的转发路径,将该业务请求转发给该第三地址指示的目标调度服务器。
在步骤404中,目标调度服务器接收到业务请求时,采用第二负载均衡调度算法,从多个业务服务器中选取目标业务服务器。
本发明实施例中,业务处理系统中包括多个业务服务器,每个业务服务器可以接收业务请求,根据该业务请求进行相应的处理操作,得到处理结果。
为了实现为多个业务服务器均衡分配业务请求,该目标调度服务器接收到业务请求后,会从多个业务服务器中,采用第二负载均衡算法选取目标业务服务器,将该业务请求发送给该目标业务服务器,后续可以由该目标业务服务器对该业务请求进行处理。该第二负载均衡调度算法用于将调度服务器接收到的业务请求均衡分配给多个业务服务器。
采用第一负载均衡算法,从多个业务服务器中选取目标业务服务器可以包括以下任一项:
1、获取多个业务服务器中每个业务服务器的负载量,从多个业务服务器中,选取负载量最小的业务服务器作为目标业务服务器。
其中,业务服务器的负载量用于表示该业务服务器当前处理的数据量的大小。
在一种可能实现方式中,每个业务服务器在运行过程中,可以统计本身的负载量,将统计的负载量发送给调度服务器,调度服务器即可获取到每个业务服务器的负载量,将多个业务服务器的负载量按照从大到小或者从小到大的顺序排列,从该多个调度服务器中选取负载量最小的调度服务器作为目标调度服务器。
2、按照多个业务服务器的排列顺序,从多个业务服务器中,选取上一次选取的业务服务器的下一个业务服务器作为目标业务服务器。
多个调度服务器中的每个调度服务器将连接的多个业务服务器按照顺序进行排列,按照多个业务服务器的排列顺序选取目标业务服务器。则每次选取一个目标业务服务器时,调度服务器会记录该目标业务服务器所在的排列顺序,之后当目标调度服务器接收到业务请求时,按照存储的多个业务服务器的排列顺序,从该多个业务服务器中上一次选取的业务服务器的下一个业务服务器,作为目标业务服务器,将该业务请求发送给该目标业务服务器。后续当目标调度服务器接收到下一个业务请求时,按照连接的多个业务服务器的排列顺序,继续选取目标业务服务器的下一个业务服务器,作为更新的目标业务服务器,将下一个业务请求发送给更新的目标业务服务器。
在一种可能实现方式中,多个调度服务器中的每个调度服务器设置第二列表,该第二列表中包括多个业务服务器,还会记录每个业务服务器的选取状态,该选取状态用于表示业务服务器在本轮选取中是否已经被选取。则当调度服务器接收到业务请求时,从该第二列表中,选取处于未选取状态的第一个业务服务器,作为目标业务服务器。此时将该目标业务服务器的状态由未选取状态更改为已选取状态,将该业务请求发送给该目标业务服务器。后续当调度服务器接收到下一个业务请求时,从该第二列表中,再次选取处于未选取状态的第一个业务服务器,作为更新的目标业务服务器,此时将更新的目标业务服务器的状态由未选取状态更改为已选取状态,将下一个业务请求发送给更新的目标业务服务器。
需要说明的是,当前选取的业务服务器为多个业务服务器中的最后一个业务服务器时,重新按照该多个业务服务器的排列顺序,从该多个业务服务器中的第一个业务服务器开始进行选取。
例如,该多个业务服务器包括按照顺序排列的业务服务器1、业务服务器2和业务服务器3,当前端服务器接收到业务请求1时,选取业务服务器1作为目标业务服务器,当前端服务器接收到业务请求2时,选取业务服务器2作为目标业务服务器,当前端服务器接收到业务请求3时,选取业务服务器3作为目标业务服务器,当前端服务器接收到业务请求4时,选取业务服务器1作为目标业务服务器。
在步骤405中,目标调度服务器将业务请求中的源地址更新为第三地址,将业务请求中的目的地址更新为目标业务服务器的第四地址。
目标调度服务器向目标业务服务器发送业务请求,此时该业务请求中的源地址为前端服务器的第二地址,目的地址为该目标服务器的第三地址,为了能让目标调度服务器准确地将该业务请求转发给目标业务服务器,且该业务服务器可以准确地确定该业务请求的发送地址,目标调度服务器确定目标业务服务器后,即可确定该目标业务服务器的第四地址,将该业务请求中的源地址更新为第三地址,将业务请求中的目的地址更新为第四地址,以表示该业务请求的发送方为目标调度服务器,接收方为目标业务服务器。。
在步骤406中,目标调度服务器向第四地址指示的目标业务服务器发送业务请求。
目标调度服务器根据确定的目标业务服务器的第四地址,通过该目标调度服务器与该目标业务服务器之间的转发路径,将业务请求发送给该第四地址指示的目标业务服务器。
在步骤407中,目标业务服务器接收到业务请求时,对业务请求进行处理,得到处理结果。
目标业务服务器接收到业务请求时,根据该业务请求的类型,对该业务请求进行处理,得到处理结果。
在一种可能实现方式中,当目标业务服务器接收到授权请求时,业务服务器为该客户端分配授权凭证,将该授权凭证发送给客户端,以实现对客户端的授权。当目标业务服务器接收到数据获取请求时,查询该数据获取请求对应的数据,将该数据发送给客户端。
在步骤408中,目标业务服务器生成业务响应,通过调用回环接口,将业务响应发送给第二地址指示的前端服务器。
其中,多个业务服务器中配置有回环接口,回环接口的目的地址为第二地址,因此目标业务服务器可以通过调用该回环接口,将得到的处理结果直接发送给前端服务器。
目标业务服务器对业务请求处理完毕后,得到处理结果,生成业务响应,该业务响应中包括处理结果,然后该目标业务服务器调用已配置的回环接口,通过该回环接口将业务响应发送给第二地址指示的前端服务器。
后续前端服务器接收到该业务响应后,会将该业务响应发送给该业务响应对应的客户端,客户端即可获取该业务响应中携带的处理结果。
在一种可能实现方式中,业务服务器中配置有arp_ignore参数和arp_announce参数,该arp_ignore参数用于指示业务服务器是否允许对业务请求进行处理,该arp_announce参数用于指示业务服务器采用何种方式返回该业务请求对应的业务响应。当业务服务器接收到业务请求时,根据该arp_ignore参数确定是否对该业务请求进行处理,当确定要对该业务请求进行处理后,得到处理结果,生成包括该处理结果的业务响应,再根据该arp_announce参数确定采用何种方式返回该业务响应。
本公开实施例通过设置回环接口,目标业务服务器对业务请求处理完毕后,生成包括处理结果的业务响应,通过调用该回环接口将业务响应返回给前端服务器,再由前端服务器返回给客户端,在对业务请求处理过程中,客户端仅可以确定该前端服务器对业务请求进行处理,返回业务响应,而目标调度服务器和业务服务器对业务请求的处理过程对客户端而言是非可见的,因此,对业务请求的处理过程对客户端来说均是透明的。
需要说明的是,本公开实施例中的业务处理系统中包括多个前端服务器和多组调度服务器,每个前端服务器通过一个交换机组与一组调度服务器连接。
该多个调度服务器中的每个调度服务器均配置有校验码,该校验码用于指示调度服务器所属的组别,校验码相同的调度服务器属于同一组别,属于同一组别的调度服务器处理相同类型的业务请求,而校验码不同的调度服务器属于不同组别,属于不同组别的调度服务器处理不同类型的业务请求。
客户端在运行过程中会将不同类型的业务请求发送给不同的前端服务器,每个前端服务器将接收到的业务请求分配给连接的调度服务器。因此属于同一组别的调度服务器仅会接收到一个前端服务器发送的业务请求,对同一种类型的业务请求进行处理,而不会到接收其他前端服务器发送的业务请求,也不会对其他类型的业务请求进行处理。
本公开实施例中的多个调度服务器中的每个调度服务器中均配置有校验码,通过该校验码即可准确将调度服务器进行区分,保证对调度服务器的准确分组,也可以区分处理业务请求,提高对业务请求的处理效率。
本公开实施例提供的方法,在业务处理系统中设置多个调度服务器,且每个调度服务器均分别与多个业务服务器连接,在该业务处理系统处理业务请求的过程中,前端服务器先根据第一负载均衡算法从多个调度服务器中获取目标调度服务器,目标调度服务器再采用第二负载均衡算法从多个业务服务器中获取目标业务服务器,由目标业务服务器对业务请求进行处理,得到处理结果。通过在业务处理系统中设置多个调度服务器,即使业务请求数量很多,也可以将该业务请求均衡地分发给多个调度服务器,再由该多个调度服务器均衡地分发给多个业务服务器,防止出现单一调度服务器负载量过大的问题,保证了调度服务器的正常工作。
并且,相关技术中,通常仅会设置一个主调度服务器和一个备用调度服务器,主调度服务器处于工作状态,备用调度服务器处于备用状态,当主调度服务器出现故障时,备用调度服务器切换为工作状态。但是这种方式会造成资源浪费。
而本公开实施例中,在业务处理系统中设置多个调度服务器,该多个调度服务器均处于工作状态,均能够接收前端服务器发送的业务请求,分配给业务服务器,实现了对该业务处理系统的横向扩展,提高了该业务处理系统中处理业务请求的数据量,避免了资源浪费。
在上述实施例的基础上,在步骤401之前,该方法还包括:在交换机组与多个调度服务器建立连接的过程中,交换机组先对调度服务器进行验证,当调度服务器通过验证时,交换机组与该调度服务器建立连接。
该交换机组和多个调度服务器中均配置有验证信息,该验证信息用于交换机组与每个调度服务器之间的验证。该验证信息可以为Key-ID(一种秘钥序列号),或者为其他序列号。
交换机组与多个调度服务器建立连接关系时,交换机组向多个调度服务器发送验证信息获取请求,其中,验证信息获取请求用于指示获取多个调度服务器的验证信息。该多个调度服务器中的每个调度服务器接收验证信息获取请求,将配置的验证信息发送给交换机组,交换机组接收该多个调度服务器分别返回的验证信息,当任一调度服务器的验证信息与交换机组配置的验证信息相同时,证明该任一调度服务器通过交换机组的验证,也即是通过了该交换机组的初始化验证,该交换机组与该任一调度服务器建立连接。
例如,交换机组中配置的验证信息为10110,调度服务器1中配置的验证信息为10110,调度服务器2中配置的验证信息为10101,调度服务器3中配置的验证信息为10110,那么交换机组获取到调度服务器1、调度服务器2和调度服务器3的验证信息后,确定调度服务器1和调度服务器3通过验证,而调度服务器2未通过验证,因此与调度服务器1和调度服务器3建立连接。
本公开实施例通过在交换机组和调度服务器中均设置验证信息,交换机组和调度服务器之间在建立连接之前通过该验证信息进行验证,提高了交换机组与调度服务器之间进行链路传输的安全性。
在上述实施例的基础上,由于调度服务器的工作状态可能会发生改变,当调度服务器正常工作时,将接收的业务请求分发给业务服务器,而当调度服务器出现异常时,与交换机组的连接断开,此时如果为该调度服务器分配业务请求,该调度服务器将不能接收到该业务请求,也不能对该业务请求进行分配。为了避免上述问题,前端服务器中存储有第一列表,该第一列表中包括与该交换机组建立连接的多个调度服务器,交换机组可以监控与该交换机组连接的多个调度服务器的工作状态,根据该多个调度服务器的工作状态进行业务请求的分配。
因此,该方法还包括:交换机组获取该第一列表中包括的多个调度服务器,向多个调度服务器分别发送第一状态信息获取请求,将未返回状态信息的调度服务器设置为停用状态。
交换机组向该多个调度服务器分别发送第一状态信息获取请求,该第一状态信息获取请求用于指示调度服务器返回状态信息。当该多个调度服务器中的任一调度服务器出现异常时,接收不到交换机组发送的第一状态信息获取请求,也不会向该交换机组返回状态信息,则交换机组将该调度服务器设置为停用状态,而该多个调度服务器中的任一调度服务器正常工作时,该调度服务器接收交换机组发送的第一状态信息获取请求,向交换机组返回状态信息,此时交换机组会接收到该调度服务器返回的状态信息,保持该调度服务器处于工作状态。
并且,每次前端服务器接收到业务请求时,根据该第一列表中包括的、处于工作状态的调度服务器,选取目标调度服务器。
在一种可能实现方式中,交换机组采用组播形式向多个调度服务器发送第一状态信息获取请求,或者,交换机组还可以采用其他形式向多个调度服务器发送第一状态信息获取请求。
在另一种可能实现方式中,交换机组可以每隔第一预设时长向多个调度服务器发送第一状态信息获取请求。该第一预设时长可以为10分钟、20分钟或者其他时长。
在另一种可能实现方式中,将调度服务器设置为停用状态之后,如果处于停用状态的调度服务器已经恢复为正常工作状态,交换机组下次向第一列表中的每个调度服务器发送第一状态信息获取请求时,会接收到该调度服务器返回的状态信息,此时可以将该调度服务器由停用状态恢复为正常工作状态。
在另一种可能实现方式中,还可以在业务处理系统中添加新的调度服务器,将已存在的调度服务器的配置文件拷贝到新添加的调度服务器中,即可在业务处理系统中增添调度服务器。则交换机组与该调度服务器建立连接,将该调度服务器添加在第一列表中,后续即可根据该第一列表,为该调度服务器分配业务请求。
本公开实施例通过交换机组向多个调度服务器分别发送第一状态信息获取请求的方式,能够实现交换机组与该多个调度服务器分别自动连接或删除的效果,实现了调度服务器的高可用和自动摘除功能,且在摘除调度服务器时,摘除的时间为毫秒级别,不会产生任何流量影响,提高了该业务处理系统处理业务请求的准确率,且在业务处理系统中添加新的调度服务器,使该业务处理系统可动态横向扩展,提高了该业务处理系统处理业务请求的数据量。
在上述实施例的基础上,由于业务服务器的工作状态可能会发生改变,当业务服务器正常工作时,对接收到的业务请求进行处理,得到处理结果,而当业务服务器出现异常时,与调度服务器的连接断开,此时如果为该业务服务器分配业务请求,该业务服务器将不能接收到该业务请求,也不能对该业务请求进行处理,得到处理结果。为了避免上述问题,调度服务器中存储有第二列表,该第二列表中包括与调度服务器建立连接的多个业务服务器,调度服务器可以监控与该调度服务器连接的多个业务服务器的工作状态,根据该多个业务服务器的工作状态进行业务请求的分配。
因此,该方法还包括:对于多个调度服务器中的每个调度服务器,该调度服务器获取第二列表,向多个业务服务器分别发送第二状态信息获取请求,将未返回状态信息的业务服务器设置为停用状态。
对于多个调度服务器中的每个调度服务器,调度服务器向该多个业务服务器分别发送第二状态信息获取请求,该第二状态信息获取请求用于指示业务服务器返回状态信息。当该多个业务服务器中的任一业务服务器出现异常时,接收不到调度服务器发送的第二状态信息获取请求,也不会向该调度服务器返回状态信息,则调度服务器将该业务服务器设置为停用状态,而该多个业务服务器中的任一业务服务器正常工作时,该业务服务器接收调度服务器发送的第二状态信息获取请求,向调度服务器返回状态信息,保持该业务服务器处于工作状态。
在一种可能实现方式中,该调度服务器中配置有keepalived(一种交换机制)应用,通过该keepalived应用监控多个业务服务器的工作状态,在第二列表中调整业务服务器的工作状态,以保证对业务请求的准确处理。
并且,每次调度服务器接收到业务请求时,根据该第二列表中包括的、处于工作状态的业务服务器,选取目标业务服务器。
在一种可能实现方式中,调度服务器采用组播形式向多个业务服务器发送第一状态信息获取请求,或者,调度服务器还可以采用其他形式向多个业务服务器发送第一状态信息获取请求。
在另一种可能实现方式中,调度服务器可以每隔第二预设时长向多个业务服务器发送一次第二状态信息获取请求。该第二预设时长可以为10分钟、20分钟或者其他时长。
在另一种可能实现方式中,将业务服务器设置为停用状态之后,如果处于停用状态的业务服务器已经恢复为正常工作状态,调度服务器下次向第二列表中的每个业务服务器发送第二状态信息获取请求时,会接收到该业务服务器返回的状态信息,此时可以将业务服务器由停用状态恢复为正常工作状态。
本公开实施例通过调度服务器向多个业务服务器分别发送第二状态信息获取请求的方式,能够实现调度服务器与该多个业务服务器分别自动连接或删除的效果,实现了业务服务器的高可用和自动摘除功能,且在摘除调度服务器时,摘除的时间为毫秒级别,不会产生任何流量影响,提高了该业务处理系统处理业务请求的准确率。
图5是根据一示例性实施例示出的一种业务处理方法的流程图,该业务处理方法用于如图2所示的业务处理系统中,该方法包括以下步骤:
在步骤501中,前端服务器接收到客户端发送的业务请求。
在步骤502中,采用第一负载均衡调度算法,从多个调度服务器中选取目标调度服务器。
在步骤503中,通过交换机组,向目标调度服务器发送业务请求。
其中,第一负载均衡调度算法用于将前端服务器接收到的业务请求均衡分配给多个调度服务器,目标调度服务器用于从多个业务服务器中选取目标业务服务器,向目标业务服务器发送业务请求,由目标业务服务器对业务请求进行处理。
在一种可能实现方式中,前端服务器接收到客户端发送的业务请求中的源地址为客户端的第一地址,业务请求中的目的地址为前端服务器的第二地址;前端服务器用于业务请求中的源地址更新为第二地址,将业务请求中的目的地址更新为目标调度服务器的第三地址,通过交换机组,向第三地址指示的目标调度服务器发送业务请求。
在另一种可能实现方式中,前端服务器还用于获取多个调度服务器中每个调度服务器的负载量,从多个调度服务器中,选取负载量最小的调度服务器作为目标调度服务器。
在另一种可能实现方式中,前端服务器还用于按照多个调度服务器的排列顺序,从多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为目标调度服务器。
图6是根据一示例性实施例示出的一种前端服务器的结构示意图,如图6所示,应用于业务处理系统中,业务处理系统包括前端服务器、交换机组、多个调度服务器,交换机组包括一个或多个交换机,前端服务器通过交换机组与多个调度服务器连接;该前端服务器包括:
接收模块601,用于接收到客户端发送的业务请求;
选取模块602,用于采用第一负载均衡调度算法,从多个调度服务器中选取目标调度服务器,第一负载均衡调度算法用于将前端服务器接收到的业务请求均衡分配给多个调度服务器;
发送模块603,用于通过交换机组,向目标调度服务器发送业务请求;
目标调度服务器用于从多个业务服务器中选取目标业务服务器,向目标业务服务器发送业务请求,由目标业务服务器对业务请求进行处理。
在一种可能实现方式中,前端服务器接收到客户端发送的业务请求中的源地址为客户端的第一地址,业务请求中的目的地址为前端服务器的第二地址;如图7所示,发送模块603,还包括:
更新单元6031,用于将业务请求中的源地址更新为第二地址,将业务请求中的目的地址更新为目标调度服务器的第三地址;
发送单元6032,用于通过交换机组,向第三地址指示的目标调度服务器发送业务请求。
在另一种可能实现方式中,如图7所示,选取模块602,还包括:
获取单元6021,用于获取多个调度服务器中每个调度服务器的负载量;
选取单元6022,还用于从多个调度服务器中,选取负载量最小的调度服务器作为目标调度服务器。
在另一种可能实现方式中,选取模块602,还用于按照多个调度服务器的排列顺序,从多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为目标调度服务器。
图8是根据一示例性实施例示出的一种服务器的结构示意图,该服务器800可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessing units,CPU)801和一个或一个以上的存储器802,其中,存储器802中存储有至少一条指令,至少一条指令由处理器801加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器800可以用于执行上述业务处理方法中服务器所执行的步骤。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,当存储介质中的指令由前端服务器的处理器执行时,使得前端服务器能够执行上述业务处理方法中前端服务器所执行的步骤。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由前端服务器的处理器执行时,使得前端服务器能够执行上述业务处理方法中前端服务器所执行的步骤。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种业务处理方法,其特征在于,应用于业务处理系统中,所述业务处理系统包括前端服务器、交换机组、多个调度服务器和多个业务服务器,所述交换机组包括一个或多个交换机,所述前端服务器通过所述交换机组与所述多个调度服务器连接,每个调度服务器与所述多个业务服务器连接;所述方法包括:
所述前端服务器接收到客户端发送的业务请求时,采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,通过所述交换机组,向所述目标调度服务器发送所述业务请求,所述第一负载均衡调度算法用于将所述前端服务器接收到的业务请求均衡分配给所述多个调度服务器;
所述目标调度服务器接收到所述业务请求时,采用第二负载均衡调度算法,从所述多个业务服务器中选取目标业务服务器,向所述目标业务服务器发送所述业务请求,所述第二负载均衡调度算法用于将所述调度服务器接收到的业务请求均衡分配给所述多个业务服务器;
所述目标业务服务器接收到所述业务请求时,对所述业务请求进行处理,得到处理结果。
2.根据权利要求1所述的方法,其特征在于,所述前端服务器接收到所述客户端发送的业务请求中的源地址为所述客户端的第一地址,所述业务请求中的目的地址为所述前端服务器的第二地址;所述通过所述交换机组,向所述目标调度服务器发送所述业务请求,包括:
所述前端服务器将所述业务请求中的源地址更新为所述第二地址,将所述业务请求中的目的地址更新为所述目标调度服务器的第三地址;
通过所述交换机组,向所述第三地址指示的所述目标调度服务器发送所述业务请求。
3.根据权利要求2所述的方法,其特征在于,所述向所述目标业务服务器发送所述业务请求,包括:
所述目标调度服务器将所述业务请求中的源地址更新为所述第三地址,将所述业务请求中的目的地址更新为所述目标业务服务器的第四地址;
向所述第四地址指示的所述目标业务服务器发送所述业务请求。
4.根据权利要求1所述的方法,其特征在于,所述采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,包括:
获取所述多个调度服务器中每个调度服务器的负载量;
从所述多个调度服务器中,选取负载量最小的调度服务器作为所述目标调度服务器。
5.根据权利要求1所述的方法,其特征在于,所述采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,包括:
按照所述多个调度服务器的排列顺序,从所述多个调度服务器中,选取上一次选取的调度服务器的下一个调度服务器,作为所述目标调度服务器。
6.根据权利要求1所述的方法,其特征在于,所述交换机组和所述多个调度服务器中配置有验证信息,所述方法还包括:
所述交换机组向所述多个调度服务器发送验证信息获取请求,所述验证信息获取请求用于指示获取所述多个调度服务器的验证信息;
所述多个调度服务器中的每个调度服务器接收所述验证信息获取请求,将配置的验证信息发送给所述交换机组;
所述交换机组接收所述多个调度服务器分别返回的验证信息,当任一调度服务器的验证信息与所述交换机组配置的验证信息相同时,与所述任一调度服务器建立连接。
7.根据权利要求1或6所述的方法,其特征在于,所述方法还包括:
所述交换机组获取第一列表,所述第一列表中包括与所述交换机组建立连接的多个调度服务器;
向所述多个调度服务器分别发送第一状态信息获取请求,所述第一状态信息获取请求用于指示所述调度服务器返回状态信息;
将未返回状态信息的调度服务器设置为停用状态。
8.根据权利要求1所述的方法,其特征在于,所述采用第二负载均衡调度算法,从所述多个业务服务器中选取目标业务服务器,包括:
按照所述多个业务服务器的排列顺序,从所述多个业务服务器中,选取上一次选取的业务服务器的下一个业务服务器作为所述目标业务服务器。
9.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对于所述多个调度服务器中的每个调度服务器,所述调度服务器获取第二列表,所述第二列表中包括与所述调度服务器建立连接的多个业务服务器;
向所述多个业务服务器分别发送第二状态信息获取请求,所述第二状态信息获取请求用于指示所述业务服务器返回状态信息;
将未返回状态信息的业务服务器设置为停用状态。
10.一种业务处理系统,其特征在于,所述系统包括:前端服务器、交换机组、多个调度服务器和多个业务服务器;
所述交换机组包括一个或多个交换机,所述前端服务器通过所述交换机组与所述多个调度服务器连接,每个调度服务器与所述多个业务服务器连接;
所述前端服务器用于接收到客户端发送的业务请求时,采用第一负载均衡调度算法,从所述多个调度服务器中选取目标调度服务器,通过所述交换机组,向所述目标调度服务器发送所述业务请求,所述第一负载均衡调度算法用于将所述前端服务器接收到的业务请求均衡分配给所述多个调度服务器;
所述目标调度服务器用于接收到所述业务请求时,采用第二负载均衡调度算法,从所述多个业务服务器中选取目标业务服务器,向所述目标业务服务器发送所述业务请求,所述第二负载均衡调度算法用于将所述调度服务器接收到的业务请求均衡分配给所述多个业务服务器;
所述目标业务服务器用于接收到所述业务请求时,对所述业务请求进行处理,得到处理结果。
CN201910550723.1A 2019-06-24 2019-06-24 业务请求处理方法、系统、服务器及存储介质 Active CN110225137B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910550723.1A CN110225137B (zh) 2019-06-24 2019-06-24 业务请求处理方法、系统、服务器及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910550723.1A CN110225137B (zh) 2019-06-24 2019-06-24 业务请求处理方法、系统、服务器及存储介质

Publications (2)

Publication Number Publication Date
CN110225137A true CN110225137A (zh) 2019-09-10
CN110225137B CN110225137B (zh) 2022-11-11

Family

ID=67814513

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910550723.1A Active CN110225137B (zh) 2019-06-24 2019-06-24 业务请求处理方法、系统、服务器及存储介质

Country Status (1)

Country Link
CN (1) CN110225137B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737521A (zh) * 2019-10-14 2020-01-31 中国人民解放军32039部队 基于任务调度中心的容灾方法和装置
CN110971679A (zh) * 2019-11-21 2020-04-07 厦门亿联网络技术股份有限公司 一种会议业务调度方法及装置
CN111124692A (zh) * 2020-01-02 2020-05-08 神州数码融信软件有限公司 一种业务请求处理系统
CN111901243A (zh) * 2020-07-02 2020-11-06 中移(杭州)信息技术有限公司 业务请求的路由方法、调度器和业务平台
CN112995332A (zh) * 2021-03-26 2021-06-18 成都海地云信息技术有限公司 基于云计算和大数据技术的企业资源云管理方法及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166870A (zh) * 2011-12-13 2013-06-19 百度在线网络技术(北京)有限公司 负载均衡集群系统及采用其提供服务的方法
CN106657287A (zh) * 2016-11-30 2017-05-10 广州市千钧网络科技有限公司 一种数据访问方法及系统
CN107172187A (zh) * 2017-06-12 2017-09-15 北京明朝万达科技股份有限公司 一种负载均衡系统和方法
CN107995123A (zh) * 2016-10-27 2018-05-04 贵州白山云科技有限公司 一种基于交换机的负载均衡系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103166870A (zh) * 2011-12-13 2013-06-19 百度在线网络技术(北京)有限公司 负载均衡集群系统及采用其提供服务的方法
CN107995123A (zh) * 2016-10-27 2018-05-04 贵州白山云科技有限公司 一种基于交换机的负载均衡系统及方法
CN106657287A (zh) * 2016-11-30 2017-05-10 广州市千钧网络科技有限公司 一种数据访问方法及系统
CN107172187A (zh) * 2017-06-12 2017-09-15 北京明朝万达科技股份有限公司 一种负载均衡系统和方法

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110737521A (zh) * 2019-10-14 2020-01-31 中国人民解放军32039部队 基于任务调度中心的容灾方法和装置
CN110737521B (zh) * 2019-10-14 2021-03-05 中国人民解放军32039部队 基于任务调度中心的容灾方法和装置
CN110971679A (zh) * 2019-11-21 2020-04-07 厦门亿联网络技术股份有限公司 一种会议业务调度方法及装置
CN110971679B (zh) * 2019-11-21 2023-04-07 厦门亿联网络技术股份有限公司 一种会议业务调度方法及装置
CN111124692A (zh) * 2020-01-02 2020-05-08 神州数码融信软件有限公司 一种业务请求处理系统
CN111901243A (zh) * 2020-07-02 2020-11-06 中移(杭州)信息技术有限公司 业务请求的路由方法、调度器和业务平台
CN111901243B (zh) * 2020-07-02 2022-08-23 中移(杭州)信息技术有限公司 业务请求的路由方法、调度器和业务平台
CN112995332A (zh) * 2021-03-26 2021-06-18 成都海地云信息技术有限公司 基于云计算和大数据技术的企业资源云管理方法及系统
CN112995332B (zh) * 2021-03-26 2021-09-17 成都海地云信息技术有限公司 基于云计算和大数据技术的企业资源云管理方法及系统

Also Published As

Publication number Publication date
CN110225137B (zh) 2022-11-11

Similar Documents

Publication Publication Date Title
CN110225137A (zh) 业务请求处理方法、系统、服务器及存储介质
CN107078969B (zh) 实现负载均衡的计算机设备、系统和方法
US20200403904A1 (en) Data Processing Method, Apparatus, and System
CN101316236B (zh) Vrrp备份组负载分担方法及路由器
CN103155500B (zh) 用于网络业务流的无状态负载平衡的方法和系统
EP3089412A1 (en) Load balancing method and system
CN102447638A (zh) 负载均衡的方法及转发设备
CN110166524B (zh) 数据中心的切换方法、装置、设备及存储介质
CN113364809B (zh) 分流网络数据以执行负载平衡
Huang et al. Optimizing controller placement for software-defined networks
CN108933829A (zh) 一种负载均衡方法及装置
US20170207994A1 (en) Network communication system, software-defined network controller and routing method thereof
CN105391634A (zh) 一种报文处理方法、装置及交换机
CN108390954A (zh) 一种报文传输方法和设备
Cui et al. DiFS: Distributed Flow Scheduling for adaptive switching in FatTree data center networks
CN111901240A (zh) 一种路由更新方法、网络加速系统、服务器及交换机
CN107547339A (zh) 一种网关媒体接入控制mac地址反馈方法及装置
CN107294845A (zh) Vrrp负载均衡方法和装置
CN108886485A (zh) 状态有效的网络功能支持
CN110198221A (zh) 一种负载均衡的实现方法、装置及系统
Manzanares-Lopez et al. An MPTCP-compatible load balancing solution for pools of servers in OpenFlow SDN networks
CN114024968B (zh) 一种基于中间设备的报文发送方法、装置和电子设备
JP6888478B2 (ja) 振り分けシステム
Li et al. Distributed rate allocation for flows in best path transfer using SCTP multihoming
CN105791149B (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