CN111131188A - 通信连接方法及服务器、客户端、存储介质 - Google Patents
通信连接方法及服务器、客户端、存储介质 Download PDFInfo
- Publication number
- CN111131188A CN111131188A CN201911250086.2A CN201911250086A CN111131188A CN 111131188 A CN111131188 A CN 111131188A CN 201911250086 A CN201911250086 A CN 201911250086A CN 111131188 A CN111131188 A CN 111131188A
- Authority
- CN
- China
- Prior art keywords
- server
- client
- application server
- information
- connection
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/16—Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L69/161—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
- H04L69/162—Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5683—Storage of data provided by user terminals, i.e. reverse caching
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明实施例提供一种通信连接方法及服务器、客户端、存储介质,应用于服务器集群,服务器集群包括多个应用服务器和存储服务器,该方法包括:当多个应用服务器初始化通信连接服务时,获取多个应用服务器对应的多个应用服务器信息和多个客户端连接数量;将应用服务器信息和客户端连接数量对应关系存储至存储服务器;当接收到反向代理服务器发送的客户端通信连接请求时,将应用服务器信息和客户端连接数量对应关系发送至反向代理服务器,以供客户端与多个应用服务器中的目标应用服务器建立通信连接。
Description
技术领域
本发明涉及通信技术,尤其涉及一种通信连接方法及服务器、客户端、存储介质。
背景技术
目前,在机器人领域,通过socket技术实现客户端与服务器之间实时交互功能,主要由于socket技术的底层使用传输控制协议(TCP,Transmission Control Protocol),能够保证数据传输的安全性和可靠性。
当前服务器端提供的socket服务为单节点服务多客户端,单点socket服务需要客户端配置服务器互联网协议地址(IP,Internet Protocol Address)和端口,当服务器IP地址修改时,需要所有客户端更新配置,导致通信连接的步骤繁琐。
发明内容
本发明实施例提供一种通信连接方法及服务器、客户端、存储介质,能够简化通信连接的步骤。
本发明实施例的技术方案是这样实现的:
第一方面,本发明实施例提供一种通信连接方法,应用于服务器集群,所述服务器集群包括多个应用服务器和存储服务器,所述方法包括:
当所述多个应用服务器初始化通信连接服务时,获取所述多个应用服务器对应的多个应用服务器信息和多个客户端连接数量;
将所述应用服务器信息和客户端连接数量对应关系存储至所述存储服务器;
当接收到反向代理服务器发送的客户端通信连接请求时,将所述应用服务器信息和客户端连接数量对应关系发送至所述反向代理服务器,以供所述客户端与多个应用服务器中的目标应用服务器建立通信连接。
第二方面,本发明实施例提供一种通信连接方法,应用于客户端,所述方法包括:
通过反向代理服务器,从服务器集群中获取应用服务器信息和客户端连接数量对应关系,所述服务器集群中包括多个应用服务器;
根据所述服务器信息和客户端连接数量对应关系,从所述多个应用服务器中确定目标应用服务器信息;
根据所述目标应用服务器信息,与所述目标应用服务器建立通信连接。
第三方面,本发明实施例提供一种服务器集群,所述服务器集群包括:多个应用服务器和存储服务器;
所述多个应用服务器,用于初始化通信连接服务;
所述存储服务器,用于获取所述多个应用服务器对应的多个应用服务器信息和多个客户端连接数量;将所述应用服务器信息和客户端连接数量对应关系存储至所述存储服务器;
所述多个应用服务器,还用于当接收到反向代理服务器发送的客户端通信连接请求时,将所述应用服务器信息和客户端连接数量对应关系发送至所述反向代理服务器,以供所述客户端与多个应用服务器中的目标应用服务器建立通信连接。
第四方面,本发明实施例提供一种服务器集群,所述服务器集群包括:
至少一个存储器,用于存储可执行指令;
至少一个处理器,用于执行所述至少一个存储器中存储的可执行指令,实现如上述的通信连接方法。
第五方面,本发明实施例提供一种存储介质,其上存储有计算机程序,应用于服务器集群,该计算机程序被至少一个处理器执行时实现如上述任一项所述的方法。
第六方面,本发明实施例提供一种客户端,所述客户端包括:处理器、存储器及通信总线,所述处理器用于执行所述存储器中存储的运行程序,以实现以下步骤:
通过反向代理服务器,从服务器集群中获取应用服务器信息和客户端连接数量对应关系,所述服务器集群中包括多个应用服务器;根据所述服务器信息和客户端连接数量对应关系,从所述多个应用服务器中确定目标应用服务器信息;根据所述目标应用服务器信息,与所述目标应用服务器建立通信连接。
第七方面,本发明实施例提供一种存储介质,其上存储有计算机程序,应用于客户端,其特征在于,该计算机程序被处理器执行时实现如上述任一项所述的方法。
应用本发明实施例实现以下有益效果:
因为采用一种通信连接方法及服务器、客户端、存储介质,应用于服务器集群,服务器集群包括多个应用服务器和存储服务器,该方法可以包括:当多个应用服务器初始化通信连接服务时,获取多个应用服务器对应的多个应用服务器信息和多个客户端连接数量;将应用服务器信息和客户端连接数量对应关系存储至存储服务器;当接收到反向代理服务器发送的客户端通信连接请求时,将应用服务器信息和客户端连接数量对应关系发送至反向代理服务器,以供客户端与多个应用服务器中的目标应用服务器建立通信连接。所以,服务器集群包括多个应用服务器,且将应用服务器对应的应用服务器信息和客户端连接数量对应关系存储至存储服务器,客户端可以根据应用服务器信息和客户端连接数量对应关系确定出目标应用服务器,当应用服务器信息更改时,客户端直接从应用服务器信息和客户端连接数量对应关系确定目标应用服务器信息即可,能够简化通信连接的步骤。
附图说明
图1为本发明实施例提供的一种通信连接方法的流程图一;
图2为本发明实施例提供的一种示例性的服务器集群和客户端的结构连接图;
图3为本发明实施例提供的一种通信连接方法的流程图二;
图4为本发明实施例提供的一种示例性的反向代理的结构示意图;
图5为本发明实施例提供的一种通信连接方法的交互图;
图6为本发明实施例提供的一种服务器集群的结构示意图一;
图7为本发明实施例提供的一种服务器集群的结构示意图二;
图8为本发明实施例提供的一种客户端的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例不应视为对本发明的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
实施例一
本发明实施例提供一种服务器集群,该服务器集群包括多个应用服务器和缓存服务器,如图1所示,该方法可以包括:
S101、当多个应用服务器初始化通信连接服务时,获取多个应用服务器对应的多个应用服务器信息和多个客户端连接数量。
本发明实施例提供的一种服务器集群适用于基于socket技术实现客户端与服务器之间的通信连接的场景下。
本发明实施例中,客户端可以为机器人等提供本地服务的设备,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
本发明实施例中,应用服务器上提供socket服务,通过socket技术可以实现应用服务器和客户端之间的通信和数据交互功能,其中,socket服务为通信连接服务的一种,本发明实施例提出的通信连接服务不仅限于socket服务,其他能够实现应用服务器与客户端之间通信和数据交互功能的通信连接服务在本发明实施例中同样适用,本发明实施例不做具体的限定,以下以socket服务为例进行说明。
本发明实施例中,服务器集群由多个应用服务器和存储服务器组成,其中,存储服务器包括zookeeper服务器或redis服务器。
可以理解的是,服务器集群提供多个应用服务器,能够减少客户端对某一应用服务器的依赖,当其中一个应用服务器故障或者宕机时,客户端可以连接其他应用服务器;且多个应用服务器的连接数也是单个应用服务器连接数的N倍,极大的提高了客户端连接数量。
本发明实施例中,多个应用服务器初始化自身的socket服务,之后多个应用服务器分别获取对应的多个应用服务器信息和多个客户端连接数量。
可选的,应用服务器信息包括应用服务器地址和应用服务器连接端口,具体的根据实际情况进行选择,本发明实施例不做具体的限定。
示例性的,多个应用服务器分别获取自身的IP(应用服务器地址)、socket端口(应用服务器连接端口)和与客户端的连接数量。
S102、将应用服务器信息和客户端连接数量对应关系存储至存储服务器。
当服务器集群获取到多个应用服务器对应的多个应用服务器信息和多个客户端连接数量之后,服务器集群将应用服务器信息和客户端连接数量对应关系存储至存储服务器。
本发明实施例中,应用服务器将应用服务器地址和应用服务器连接端口组织成一个key,将客户端连接数量作为value,并以<key,value>键值对的形式将应用服务器信息和客户端连接数量对应关系存储至存储服务器。
本发明实施例中,多个应用服务器组成应用服务器集群,该应用服务器集群提供一个服务查询接口,以供客户端通过该服务查询接口获取应用服务器信息和客户端连接数量对应关系。
S103、当接收到反向代理服务器发送的客户端通信连接请求时,将应用服务器信息和客户端连接数量对应关系发送至反向代理服务器,以供客户端与多个应用服务器中的目标应用服务器建立通信连接。
当服务器集群将应用服务器信息和客户端连接数量对应关系存储至存储服务器之后,服务器集群在接收到反向代理服务器发送的客户端通信连接请求时,将应用服务器信息和客户端连接数量对应关系发送至反向代理服务器,以供客户端与多个应用服务器中的目标应用服务器建立通信连接。
本发明实施例中,客户端与应用服务器之间通过反向代理服务器进行连接,客户端通过反向代理服务器与多个应用服务器中的目标应用服务器建立通信连接并实现数据交互;当客户端图像反向代理服务器发送通信连接请求时,反向代理服务器向服务器集群发送客户端通信连接请求,此时,反向代理服务器通过服务查询接口获取到应用服务器信息和客户端连接数量对应关系,由此,客户端就能根据该应用服务器信息和客户端连接数量对应关系,从多个应用服务器中确定出目标应用服务器,并与目标应用服务器建立通信连接。
本发明实施例中,反向代理服务器为nginx服务器。
示例性的,服务器集群与客户端的结构图如图2所示,应用服务器集群进行socket注册,并将IP地址、socket端口和连接的客户端数量存储至zookeeper/redis中,服务器集群还为IP地址、socket端口和连接的客户端数量提供服务查询端口,客户端设备通过nginx,从服务器查询端口获取IP地址、socket端口和连接的客户端数量,以实现与应用服务器集群中的目标应用服务器建立通信连接的过程。
本发明实施例中,当目标应用服务器与客户端建立连接时,目标应用服务器记录与其连接的至少一个客户端信息,以实现与至少一个客户端的数据传输;存储服务器更新应用服务器信息和客户端连接数量对应关系中,目标应用服务器对应的客户端连接数量。
具体的,当目标应用服务器与客户端建立连接时,对于目标应用服务器而言,需要记录与其连接的至少一个客户端信息,当目标应用服务器需要传输数据时,目标应用服务器从至少一个客户端中确定出目标客户端,并实现数据传输服务;对于存储服务器而言,存储服务器将应用服务器信息和客户端连接数量对应关系中,目标应用服务器对应的客户端连接数量加一。
本发明实施例中,当第一缓存时间到达时,多个应用服务器更新缓存信息,缓存信息用于记录客户端发送通信检测请求的时间,并向存储服务器发送更新的缓存信息;当第二缓存时间到达时,存储服务器未接收到第一应用服务器的缓存信息时,存储服务器从应用服务器信息和客户端连接数量对应关系中删除第一应用服务器信息及其对应的客户端连接数量,第二缓存时间大于或者等于第一缓存时间。
具体的,服务器集群为多个应用服务器预设第一缓存时间,为存储服务器预设第二缓存时间,其中第二缓存时间大于或者等于第一缓存时间;当第一缓存时间到达时,多个应用服务器获取上一轮客户端发送通信检测请求的时间信息,并将该时间信息作为缓存信息进行更新,并根据更新后的缓存信息判断客户端是否断开连接,当该缓存信息不满足预设更新阈值时,表征客户端断开连接,此时,服务器集群断开与客户端的连接;当第二缓存时间到达时,多个应用服务器将缓存信息发送至存储服务器,当第二缓存时间到达时,存储服务器未接收到多个应用服务器中的第一应用服务器的缓存信息,表征第一应用服务器处于不可用状态,此时,存储服务器从应用服务器信息和客户端连接数量对应关系中删除第一应用服务器信息及其对应的客户端连接数量,由此,可以避免应用服务器信息和客户端连接数量对应关系中存在不可用服务器。
示例性的,socket服务器定时2秒更新一次缓存信息,当socket服务器根据更新的缓存信息确定出于其连接的客户端断开连接时,socket服务器断开与客户端的连接;zookeeper/redis缓存有效期设置为3秒,当3秒没有接收到socket服务器的缓存信息时,将该socket服务器从应用服务器信息和客户端连接数量对应关系中删除。
本发明实施例中,当目标应用服务器接收到客户端的通信检测请求时,向客户端发送响应信息,以向客户端通知目标应用服务器处于可用状态。
具体的,客户端通过心跳检测检测目标应用服务器的状态,客户端在预设检测时间到达时,向目标应用服务器发送通信检测请求,此时,目标应用服务器向客户端发送响应信息,以向客户端通知该目标应用服务器处于可用状态。
可以理解的是,服务器集群包括多个应用服务器,且将应用服务器对应的应用服务器信息和客户端连接数量对应关系存储至存储服务器,客户端可以根据应用服务器信息和客户端连接数量对应关系确定出目标应用服务器,当应用服务器信息更改时,客户端直接从应用服务器信息和客户端连接数量对应关系确定目标应用服务器信息即可,能够简化通信连接的步骤。
实施例二
本发明实施例提供一种通信连接方法,应用于客户端,如图3所示,该方法可以包括:
S201、通过反向代理服务器,从服务器集群中获取应用服务器信息和客户端连接数量对应关系,服务器集群中包括多个应用服务器。
本发明实施例提供的一种通信连接方法适用于基于socket技术实现客户端与服务器之间的通信连接的场景下。
本发明实施例中,客户端通过反向代理服务器向服务器集群发送通信连接请求,以从服务器集群中获取应用服务器信息和客户端连接数量对应关系。
本发明实施例中,反向代理服务器为nginx服务器。
示例性的,nginx服务器进行反向代理的结构示意图如图4所示,客户端与nginx服务器进行数据交互,在反向代理服务器与应用服务器之间设置防火墙,反向代理服务器透过防火墙与应用服务器进行数据交互,客户端通过nginx服务器,获取多个应用服务器对应的应用服务器信息和客户端连接数量对应关系
本发明实施例中,客户端通过http方式,从nginx服务器获取应用服务器信息和客户端连接数量对应关系。具体的,客户端向nginx服务器发送http请求,nginx服务器在接收到http请求之后,从服务器集群中获取应用服务器信息和客户端连接数量对应关系。
S202、根据服务器信息和客户端连接数量对应关系,从多个应用服务器中确定目标应用服务器信息。
当客户端从服务器集群中获取到应用服务器信息和客户端连接数量对应关系之后,客户端根据服务器信息和客户端连接数量对应关系,从多个应用服务器中确定出目标应用服务器信息。
本发明实施例中,客户端根据服务器信息和客户端连接数量对应关系,确定出客户端连接数量小于连接上限的一组应用服务器,由于该一组应用服务器的客户端连接数量小于连接上限,则该一组应用服务器可以继续连接新的客户端;客户端从一组应用服务器中确定出目标应用服务器信息,以达到负载均衡的目的。
可选的,客户端从一组应用服务器中随机选择一个应用服务器作为目标应用服务器。
可选的,客户端从一组应用服务器中,确定出客户端连接数量最小的第一应用服务器;客户端将第一应用服务器确定为目标应用服务器。
可选的,客户端从一组应用服务器,确定出服务器性能最高的一个应用服务器作为目标应用服务器,其中,服务器性能可以包括每秒请求数、数据输入和数据输出、平均响应时间、峰值响应时间、硬件利用率等指标。
本发明实施例中,当客户端从多个应用服务器中确定出目标应用服务器之后,客户端从服务器信息和客户端连接数量对应关系中确定目标应用服务器信息,即目标应用服务器IP及目标应用服务器socket端口。
S203、根据目标应用服务器信息,与目标应用服务器建立通信连接。
当客户端从多个应用服务器中确定出目标应用服务器信息之后,客户端根据目标应用服务器信息,与目标应用服务器建立通信连接。
本发明实施例中,客户端根据目标应用服务器IP及目标应用服务器socket端口,与目标应用服务器之间建立通信连接。
本发明实施例中,当客户端与目标服务器建立通信连接之后,客户端就要定期进行心跳检测,以确定客户端与目标服务器的连接状态了,具体的,在预设检测时间到达时,客户端向目标应用服务器发送通信检测请求;当客户端未接收到目标应用服务器发送的响应通信检测请求的响应信息时,表征该客户端处于不可用的状态,此时,客户端继续获取应用服务器信息和客户端连接数量对应关系,以根据应用服务器信息和客户端连接数量对应关系重新确定待连接的应用服务器。
具体的,服务端处于不可用的状态包括以下几种方式:服务端宕机、通信异常。
可以理解的是,客户端与服务器集群之间通过反向代理服务器连接,能够使得客户端获取到应用服务器信息和客户端连接数量对应关系;且反向代理服务器可以实现负载均衡,由此使得客户端选择待连接的目标应用服务器的策略更优。
实施例三
本发明实施例提供一种通信连接方法,如图5所示,该方法可以包括:
S301、当多个应用服务器初始化通信连接服务时,服务器集群获取多个应用服务器对应的多个应用服务器信息和多个客户端连接数量。
S302、服务器集群将应用服务器信息和客户端连接数量对应关系存储至存储服务器。
S303、当接收到反向代理服务器发送的客户端通信连接请求时,服务器集群将应用服务器信息和客户端连接数量对应关系发送至反向代理服务器。
S304、客户端通过反向代理服务器,从服务器集群中获取应用服务器信息和客户端连接数量对应关系。
S305、客户端根据服务器信息和客户端连接数量对应关系,从多个应用服务器中确定目标应用服务器信息。
S306、客户端根据目标应用服务器信息,与目标应用服务器建立通信连接。
实施例四
本发明实施例提供一种服务器集群1,如图6所示,该服务器集群1包括:多个应用服务器10和存储服务器11;
所述多个应用服务器10,用于初始化通信连接服务;
所述存储服务器11,用于获取所述多个应用服务器对应的多个应用服务器信息和多个客户端连接数量;将所述应用服务器信息和客户端连接数量对应关系存储至所述存储服务器;
所述多个应用服务器10,还用于当接收到反向代理服务器发送的客户端通信连接请求时,将所述应用服务器信息和客户端连接数量对应关系发送至所述反向代理服务器,以供所述客户端与多个应用服务器中的目标应用服务器建立通信连接。
可选的,所述目标应用服务器,还用于当所述目标应用服务器与所述客户端建立连接时,所述目标应用服务器记录与其连接的至少一个客户端信息,以实现与所述至少一个客户端的数据传输;所述存储服务器更新所述应用服务器信息和客户端连接数量对应关系中所述目标应用服务器对应的客户端连接数量。
可选的,所述多个应用服务器10,还用于当第一缓存时间到达时,所述多个应用服务器更新缓存信息,所述缓存信息用于记录所述客户端发送通信检测请求的时间,并向所述存储服务器发送更新的缓存信息;
所述存储服务器11,还用于当第二缓存时间到达时,所述存储服务器未接收到第一应用服务器的缓存信息时,所述存储服务器从所述应用服务器信息和客户端连接数量对应关系中删除第一应用服务器信息及其对应的客户端连接数量,所述第二缓存时间大于或者等于所述第一缓存时间。
可选的,所述多个应用服务器10,还用于当所述目标应用服务器接收到所述客户端的通信检测请求时,向所述客户端发送响应信息,以向所述客户端通知所述目标应用服务器处于可用状态。
可选的,所述应用服务器信息包括应用服务器地址和应用服务器连接端口。
本发明实施例提供一种图7为本发明实施例提出的服务器集群的组成结构示意图一,在实际应用中,基于实施例一和实施例三的同一发明构思下,如图7所示,本发明实施例的服务器集群1包括:至少一个处理器12、至少一个存储器13及至少一个通信总线14。在具体的实施例的过程中,上述至少一个处理器11可以为特定用途集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(DSP,Digital SignalProcessor)、数字信号处理终端(DSPD,Digital Signal Processing Device)、可编程逻辑终端(PLD,Programmable Logic Device)、现场可编程门阵列(FPGA,Field ProgrammableGate Array)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明的实施例中,上述至少一个通信总线14用于实现至少一个处理器12和至少一个存储器13之间的连接通信;至少一个存储器13,用于存储可执行指令;
至少一个处理器12,用于执行所述至少一个存储器13中存储的可执行指令,实现如实施例一和实施例三所述的通信连接方法。
本发明实施例提供一种存储介质,上述存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,应用于区块链网络服务平台中,该程序被至少一个处理器执行时实现如实施例一和实施例三所述的通信连接方法。
实施例五
图8为本发明实施例提出的客户端的组成结构示意图一,在实际应用中,基于实施例二和实施例三的同一发明构思下,如图8所示,本发明实施例的客户端2包括:处理器20、存储器21及通信总线22。在具体的实施例的过程中,上述处理器21可以为特定用途集成电路(ASIC,Application Specific Integrated Circuit)、数字信号处理器(DSP,DigitalSignal Processor)、数字信号处理终端(DSPD,Digital Signal Processing Device)、可编程逻辑终端(PLD,Programmable Logic Device)、现场可编程门阵列(FPGA,FieldProgrammable Gate Array)、CPU、控制器、微控制器、微处理器中的至少一种。可以理解地,对于不同的设备,用于实现上述处理器20功能的电子器件还可以为其它,本发明实施例不作具体限定。
在本发明的实施例中,上述条通信总线22用于实现处理器20和存储器21之间的连接通信;上述处理器20用于执行存储器21中存储的运行程序,以实现以下步骤:
通过反向代理服务器,从服务器集群中获取应用服务器信息和客户端连接数量对应关系,所述服务器集群中包括多个应用服务器;根据所述服务器信息和客户端连接数量对应关系,从所述多个应用服务器中确定目标应用服务器信息;根据所述目标应用服务器信息,与所述目标应用服务器建立通信连接。
在本发明实施例中,进一步地,上述处理器20,还用于在预设检测时间到达时,向所述目标应用服务器发送通信检测请求;当未接收到所述目标应用服务器发送的响应通信检测请求的响应信息时,继续获取所述应用服务器信息和客户端连接数量对应关系,以根据所述应用服务器信息和客户端连接数量对应关系重新确定待连接的应用服务器。
在本发明实施例中,进一步地,上述处理器20,还用于根据所述服务器信息和客户端连接数量对应关系,确定出客户端连接数量小于连接上限的一组应用服务器;从所述一组应用服务器中确定出所述目标应用服务器信息。
在本发明实施例中,进一步地,上述处理器20,还用于从所述一组应用服务器中,确定出客户端连接数量最小的第一应用服务器;将所述第一应用服务器确定为所述目标应用服务器。
本发明实施例提供一种存储介质,上述存储介质存储有一个或者多个程序,上述一个或者多个程序可被一个或者多个处理器执行,应用于客户端中,该程序被处理器执行时实现如实施例二和实施例三所述的通信连接方法。
综上所述,本发明实施例具有以下有益效果:客户端与服务器集群之间通过反向代理服务器连接,能够使得客户端获取到应用服务器信息和客户端连接数量对应关系;且反向代理服务器可以实现负载均衡,由此使得客户端选择待连接的目标应用服务器的策略更优。
以上所述,仅为本发明的实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (14)
1.一种通信连接方法,其特征在于,应用于服务器集群,所述服务器集群包括多个应用服务器和存储服务器,所述方法包括:
当所述多个应用服务器初始化通信连接服务时,获取所述多个应用服务器对应的多个应用服务器信息和多个客户端连接数量;
将所述应用服务器信息和客户端连接数量对应关系存储至所述存储服务器;
当接收到反向代理服务器发送的客户端通信连接请求时,将所述应用服务器信息和客户端连接数量对应关系发送至所述反向代理服务器,以供所述客户端与多个应用服务器中的目标应用服务器建立通信连接。
2.根据权利要求1所述的通信连接方法,其特征在于,所述将所述应用服务器信息和客户端连接数量对应关系发送至所述反向代理服务器之后,所述方法还包括:
当所述目标应用服务器与所述客户端建立连接时,所述目标应用服务器记录与其连接的至少一个客户端信息,以实现与所述至少一个客户端的数据传输;所述存储服务器更新所述应用服务器信息和客户端连接数量对应关系中所述目标应用服务器对应的客户端连接数量。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当第一缓存时间到达时,所述多个应用服务器更新缓存信息,所述缓存信息用于记录所述客户端发送通信检测请求的时间,并向所述存储服务器发送更新的缓存信息;
当第二缓存时间到达时,所述存储服务器未接收到第一应用服务器的缓存信息时,所述存储服务器从所述应用服务器信息和客户端连接数量对应关系中删除第一应用服务器信息及其对应的客户端连接数量,所述第二缓存时间大于或者等于所述第一缓存时间。
4.根据权利要求1所述的方法,其特征在于,所述将所述应用服务器信息和客户端连接数量对应关系发送至所述反向代理服务器之后,所述方法还包括:
当所述目标应用服务器接收到所述客户端的通信检测请求时,向所述客户端发送响应信息,以向所述客户端通知所述目标应用服务器处于可用状态。
5.根据权利要求1所述的方法,其特征在于,所述应用服务器信息包括应用服务器地址和应用服务器连接端口。
6.一种通信连接方法,其特征在于,应用于客户端,所述方法包括:
通过反向代理服务器,从服务器集群中获取应用服务器信息和客户端连接数量对应关系,所述服务器集群中包括多个应用服务器;
根据所述服务器信息和客户端连接数量对应关系,从所述多个应用服务器中确定目标应用服务器信息;
根据所述目标应用服务器信息,与所述目标应用服务器建立通信连接。
7.根据权利要求6所述的方法,其特征在于,所述根据所述目标应用服务器信息,与所述目标应用服务器建立通信连接之后,所述方法还包括:
在预设检测时间到达时,向所述目标应用服务器发送通信检测请求;
当未接收到所述目标应用服务器发送的响应通信检测请求的响应信息时,继续获取所述应用服务器信息和客户端连接数量对应关系,以根据所述应用服务器信息和客户端连接数量对应关系重新确定待连接的应用服务器。
8.根据权利要求6所述的方法,其特征在于,所述根据所述服务器信息和客户端连接数量对应关系,从所述多个应用服务器中确定目标应用服务器信息,包括:
根据所述服务器信息和客户端连接数量对应关系,确定出客户端连接数量小于连接上限的一组应用服务器;
从所述一组应用服务器中确定出所述目标应用服务器信息。
9.根据权利要求8所述的方法,其特征在于,所述从所述一组应用服务器中确定出所述目标应用服务器信息,包括:
从所述一组应用服务器中,确定出客户端连接数量最小的第一应用服务器;
将所述第一应用服务器确定为所述目标应用服务器。
10.一种服务器集群,其特征在于,所述服务器集群包括:多个应用服务器和存储服务器;
所述多个应用服务器,用于初始化通信连接服务;
所述存储服务器,用于获取所述多个应用服务器对应的多个应用服务器信息和多个客户端连接数量;将所述应用服务器信息和客户端连接数量对应关系存储至所述存储服务器;
所述多个应用服务器,还用于当接收到反向代理服务器发送的客户端通信连接请求时,将所述应用服务器信息和客户端连接数量对应关系发送至所述反向代理服务器,以供所述客户端与多个应用服务器中的目标应用服务器建立通信连接。
11.一种服务器集群,其特征在于,所述服务器集群包括:
至少一个存储器,用于存储可执行指令;
至少一个处理器,用于执行所述至少一个存储器中存储的可执行指令,实现如权利要求1-5任一项所述的通信连接方法。
12.一种存储介质,其上存储有计算机程序,应用于服务器集群,其特征在于,该计算机程序被至少一个处理器执行时实现如权利要求1-5任一项所述的方法。
13.一种客户端,其特征在于,所述客户端包括:处理器、存储器及通信总线,所述处理器用于执行所述存储器中存储的运行程序,以实现以下步骤:
通过反向代理服务器,从服务器集群中获取应用服务器信息和客户端连接数量对应关系,所述服务器集群中包括多个应用服务器;根据所述服务器信息和客户端连接数量对应关系,从所述多个应用服务器中确定目标应用服务器信息;根据所述目标应用服务器信息,与所述目标应用服务器建立通信连接。
14.一种存储介质,其上存储有计算机程序,应用于客户端,其特征在于,该计算机程序被处理器执行时实现如权利要求6-9任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911250086.2A CN111131188A (zh) | 2019-12-09 | 2019-12-09 | 通信连接方法及服务器、客户端、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911250086.2A CN111131188A (zh) | 2019-12-09 | 2019-12-09 | 通信连接方法及服务器、客户端、存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111131188A true CN111131188A (zh) | 2020-05-08 |
Family
ID=70497893
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911250086.2A Pending CN111131188A (zh) | 2019-12-09 | 2019-12-09 | 通信连接方法及服务器、客户端、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111131188A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111930542A (zh) * | 2020-08-18 | 2020-11-13 | 创新奇智(成都)科技有限公司 | 数据采集方法、装置、电子设备及计算机可读存储介质 |
CN113973093A (zh) * | 2020-07-24 | 2022-01-25 | 中移(苏州)软件技术有限公司 | 数据传输方法及装置、电子设备、可读存储介质 |
CN114172946A (zh) * | 2021-12-06 | 2022-03-11 | 京东科技信息技术有限公司 | 请求结果发送方法、装置、电子设备和计算机可读介质 |
CN114172698A (zh) * | 2021-11-19 | 2022-03-11 | 重庆川仪自动化股份有限公司 | 一种业务请求处理方法、Web服务器、设备及介质 |
CN114189507A (zh) * | 2021-12-09 | 2022-03-15 | 北京思明启创科技有限公司 | 一种应用屏幕控制方法、装置、电子设备及存储介质 |
CN115361277A (zh) * | 2022-07-08 | 2022-11-18 | 天津车之家软件有限公司 | 通用集群系统部署方法、装置、设备及介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102137140A (zh) * | 2010-10-08 | 2011-07-27 | 华为软件技术有限公司 | 一种流服务处理方法、装置及系统 |
CN102158512A (zh) * | 2010-02-11 | 2011-08-17 | 联想(北京)有限公司 | 一种负载均衡调度方法、装置及系统 |
US20150201045A1 (en) * | 2014-01-13 | 2015-07-16 | Transcirrus | Automatic connection of nodes to a cloud cluster |
CN105978950A (zh) * | 2016-04-27 | 2016-09-28 | 努比亚技术有限公司 | 一种服务器资源分配方法、装置及系统 |
CN105978939A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种数据下载方法及设备 |
US20160381183A1 (en) * | 2015-06-24 | 2016-12-29 | Cisco Technology, Inc. | Server grouping system |
CN106713499A (zh) * | 2017-01-23 | 2017-05-24 | 天地融科技股份有限公司 | 一种负载均衡方法、设备及系统 |
CN110351246A (zh) * | 2019-06-12 | 2019-10-18 | 深圳市奥克多普科技有限公司 | 服务器集群系统Socket管理方法及装置 |
-
2019
- 2019-12-09 CN CN201911250086.2A patent/CN111131188A/zh active Pending
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102158512A (zh) * | 2010-02-11 | 2011-08-17 | 联想(北京)有限公司 | 一种负载均衡调度方法、装置及系统 |
CN102137140A (zh) * | 2010-10-08 | 2011-07-27 | 华为软件技术有限公司 | 一种流服务处理方法、装置及系统 |
US20150201045A1 (en) * | 2014-01-13 | 2015-07-16 | Transcirrus | Automatic connection of nodes to a cloud cluster |
US20160381183A1 (en) * | 2015-06-24 | 2016-12-29 | Cisco Technology, Inc. | Server grouping system |
CN105978939A (zh) * | 2016-04-25 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种数据下载方法及设备 |
CN105978950A (zh) * | 2016-04-27 | 2016-09-28 | 努比亚技术有限公司 | 一种服务器资源分配方法、装置及系统 |
CN106713499A (zh) * | 2017-01-23 | 2017-05-24 | 天地融科技股份有限公司 | 一种负载均衡方法、设备及系统 |
CN110351246A (zh) * | 2019-06-12 | 2019-10-18 | 深圳市奥克多普科技有限公司 | 服务器集群系统Socket管理方法及装置 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113973093A (zh) * | 2020-07-24 | 2022-01-25 | 中移(苏州)软件技术有限公司 | 数据传输方法及装置、电子设备、可读存储介质 |
CN113973093B (zh) * | 2020-07-24 | 2023-10-13 | 中移(苏州)软件技术有限公司 | 数据传输方法及装置、电子设备、可读存储介质 |
CN111930542A (zh) * | 2020-08-18 | 2020-11-13 | 创新奇智(成都)科技有限公司 | 数据采集方法、装置、电子设备及计算机可读存储介质 |
CN114172698A (zh) * | 2021-11-19 | 2022-03-11 | 重庆川仪自动化股份有限公司 | 一种业务请求处理方法、Web服务器、设备及介质 |
CN114172946A (zh) * | 2021-12-06 | 2022-03-11 | 京东科技信息技术有限公司 | 请求结果发送方法、装置、电子设备和计算机可读介质 |
CN114189507A (zh) * | 2021-12-09 | 2022-03-15 | 北京思明启创科技有限公司 | 一种应用屏幕控制方法、装置、电子设备及存储介质 |
CN114189507B (zh) * | 2021-12-09 | 2024-03-01 | 北京思明启创科技有限公司 | 一种应用屏幕控制方法、装置、电子设备及存储介质 |
CN115361277A (zh) * | 2022-07-08 | 2022-11-18 | 天津车之家软件有限公司 | 通用集群系统部署方法、装置、设备及介质 |
CN115361277B (zh) * | 2022-07-08 | 2023-06-20 | 天津车之家软件有限公司 | 通用集群系统部署方法、装置、设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111131188A (zh) | 通信连接方法及服务器、客户端、存储介质 | |
WO2017071442A1 (zh) | 一种负载分担的方法、装置和系统 | |
EP3709664B1 (en) | Stream pushing method, system and server | |
KR20020079426A (ko) | 피어 투 피어 네트워크 환경내에서 피어의 신뢰성 상태를검증하는 시스템 및 방법 | |
WO2014067311A1 (zh) | 资源订阅方法及装置 | |
JP2013504806A (ja) | ファイルディレクトリに基づいたファイルの転送のための方法、装置、およびシステム | |
EP1762069B1 (en) | Method of selecting one server out of a server set | |
CN113783775A (zh) | 数据传输的方法和装置 | |
CN108882262B (zh) | 设备状态同步方法、系统、智能终端及可读存储介质 | |
CN112671554A (zh) | 一种节点故障处理方法及相关装置 | |
CN109947081B (zh) | 网联车辆控制方法及装置 | |
US20140201376A1 (en) | Method and system for the handling of redundant long poll | |
CN113766013A (zh) | 一种会话创建方法、装置、设备及存储介质 | |
CN111901245B (zh) | 一种iscsi多路径管理系统、方法、设备及存储介质 | |
US6834305B1 (en) | System and method for automatically connecting local and remote data processing systems | |
US11973824B2 (en) | Method for data transmission of audio and video in end-to-end system | |
CN110661836B (zh) | 消息路由方法、装置及系统、存储介质 | |
CN109831467B (zh) | 数据传输方法、设备及系统 | |
CN104683253A (zh) | 用于统一通信系统的动态负载均衡方法 | |
CN109379443B (zh) | 一种面向物联网的分布式消息队列的实现方法 | |
CN114490071A (zh) | 一种基于云游戏的资源调度方法、装置、设备及介质 | |
CN113114662A (zh) | 一种单tcp连接处理并发请求的方法及装置 | |
CN110391991B (zh) | 一种流量控制的方法及相关装置 | |
CN112559134A (zh) | 一种分布式WebSocket集群构建方法、装置、系统及存储介质 | |
CN110753043A (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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 100176 601, 6th floor, building 2, No. 18, Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing Applicant after: Jingdong Technology Information Technology Co.,Ltd. Address before: 100176 601, 6th floor, building 2, No. 18, Kechuang 11th Street, Daxing Economic and Technological Development Zone, Beijing Applicant before: BEIJING HAIYI TONGZHAN INFORMATION TECHNOLOGY Co.,Ltd. |
|
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200508 |