CN114827233A - 基于双活集群的交互连接方法、装置、计算机设备及介质 - Google Patents

基于双活集群的交互连接方法、装置、计算机设备及介质 Download PDF

Info

Publication number
CN114827233A
CN114827233A CN202210458864.2A CN202210458864A CN114827233A CN 114827233 A CN114827233 A CN 114827233A CN 202210458864 A CN202210458864 A CN 202210458864A CN 114827233 A CN114827233 A CN 114827233A
Authority
CN
China
Prior art keywords
connection
cluster
server instance
client
target server
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
CN202210458864.2A
Other languages
English (en)
Other versions
CN114827233B (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.)
Guangyulaite Digital Technology Shanghai Co ltd
Shenzhen Lian Intellectual Property Service Center
Original Assignee
Ping An Puhui Enterprise Management 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 Ping An Puhui Enterprise Management Co Ltd filed Critical Ping An Puhui Enterprise Management Co Ltd
Priority to CN202210458864.2A priority Critical patent/CN114827233B/zh
Publication of CN114827233A publication Critical patent/CN114827233A/zh
Application granted granted Critical
Publication of CN114827233B publication Critical patent/CN114827233B/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/14Session management
    • H04L67/141Setup of application sessions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/148Migration or transfer of sessions
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)

Abstract

本申请涉及通信数据处理领域,特别是涉及到一种基于双活集群的交互连接方法、装置、计算机设备及存储介质,所述方法包括:接收客户端使用互式通信会话协议连接服务器的连接请求;解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;根据所述第一连接参数确定双活集群中的代理集群;将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;将所述连接请求经过所述代理集群分发至所述目标服务器实例;获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。本申请能够实现高效的数据转发,提高数据交互的资源利用率。

Description

基于双活集群的交互连接方法、装置、计算机设备及介质
技术领域
本申请涉及通信数据处理领域,特别是涉及到一种基于双活集群的交互连接方法、装置、计算机设备及存储介质。
背景技术
如今的计算机应用中,WebSocket的应用是十分广泛的,例如多个客户端与服务器建立长连接,实现多人聊天的功能,目前,对于类似的消息转发功能,大多采用单台服务器支持所有的连接,导致服务器无法做到足够的容灾能力并且服务器的承压能力也有所欠缺;或者是借助了中间件,导致消息转发的速度依赖于第三方中间件,而且如果消息内容过大还很容易压垮中间件,则需要同时扩容服务器集群和中间件集群,从而导致多余的成本,即目前的多客户端连接的数据转发效率低、资源利用率低。
发明内容
本申请的主要目的为提供一种基于双活集群的交互连接方法、装置、计算机设备及存储介质,旨在解决多客户端连接的数据转发效率低、资源利用率低的问题。
为了实现上述发明目的,本申请提出一种基于双活集群的交互连接方法,所述方法包括:
接收客户端使用互式通信会话协议连接服务器的连接请求;
解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;
根据所述第一连接参数确定双活集群中的代理集群;
将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;
将所述连接请求经过所述代理集群分发至所述目标服务器实例;
获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
进一步地,所述将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例,包括:
将所述第二连接参数发送至所述代理集群,控制所述代理集群基于预设算法计算所述第二连接参数;
获取所述代理集群计算所述第二连接参数的计算结果;
根据所述计算结果确定与所述代理集群连接的目标服务器实例。
进一步地,所述获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,包括:
获取所述目标服务器实例的反馈信息;
向客户端发送所述反馈信息;
接收客户端发送的心跳包;
将所述心跳包经过所述代理集群分发至所述目标服务器实例,以建立所述客户端与所述目标服务器实例的长连接。
进一步地,所述建立所述客户端与所述目标服务器实例的长连接之后,所述方法还包括:
在所述客户端与所述目标服务器实例保持长连接的期间,接收所述客户端的消息数据;
基于所述长连接通过所述双活集群将所述消息数据转发至所述目标服务器实例。
进一步地,所述将所述连接请求经过所述代理集群分发至所述目标服务器实例,包括:
判断所述目标服务器实例的运行状态;
若所述运行状态满足连接条件,将所述连接请求经过所述代理集群分发至所述目标服务器实例;
若所述运行状态不满足连接条件,获取所述目标服务器实例的备选服务器实例,将所述连接请求经过所述代理集群分发至所述备选服务器实例。
进一步地,所述接收客户端使用互式通信会话协议连接服务器的连接请求,包括:
捕获客户端的请求信息;
识别所述请求信息,根据所述请求信息确定所述客户端使用互式通信会话协议连接服务器的连接请求;所述连接请求包含所述客户端基于客户端业务号从预设注册中心获取的第一连接参数与第二连接参数。
进一步地,所述解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,包括:
解析所述连接请求的URL,获取所述客户端业务号;
判断所述客户端业务号是否为有效业务号;
若是,获取所述URL包含的第一连接参数与第二连接参数。
本申请还提供一种基于双活集群的交互连接装置,所述装置包括:
接收请求模块,用于接收客户端使用互式通信会话协议连接服务器的连接请求;
请求解析模块,用于解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;
代理集群匹配模块,用于根据所述第一连接参数确定双活集群中的代理集群;
服务器匹配模块,用于将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;
请求分发模块,用于将所述连接请求经过所述代理集群分发至所述目标服务器实例;
长连接模块,用于获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
本申请还提供一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述基于双活集群的交互连接方法。
本申请实施例提供一种基于双活集群实现数据交互、连接方法,通过设置双活集群(NGINX)用于保持客户端与服务器的连接,从而实现客户端与服务器的消息转发、通信交互,所述双活集群包括前端集群与代理集群,首先接收客户端使用互式通信会话协议连接服务器的连接请求,解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,所述第一连接参数与第二连接参数用于指示客户端所要连接的服务器,述代理集群的数量为至少两个,根据所述第一连接参数确定代理集群,即确定所述连接请求需要转发至哪一个代理集群中,每一个所述代理集群都链接有多个服务器,然后将所述第二连接参数发送至所述代理集群,述代理集群基于所述第二连接参数进行匹配,确定所述第二连接参数对应的服务器实例,从而获取所述第二连接参数对应的目标服务器实例,将所述连接请求经过所述代理集群分发至所述目标服务器实例,所述连接请求从客户端经过前端集群、再经过代理集群、最后到达代理集群链接的服务器实例,当目标服务器实例接收到所述连接请求后,基于所述连接请求进行反馈,形成反馈信息,所述反馈信息通过代理集群、再经过前端集群、最后返回给客户端,从而基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,通过所述长连接客户端与服务器实例能够进行消息的转发工作,而不需要依赖于中间件才能进行消息转发,从而减少多客户的连接服务器的网络IO和磁盘IO,提高了数据交互、客户端与服务器连接的可靠性。
附图说明
图1为本申请基于双活集群的交互连接方法的一实施例流程示意图;
图2为本申请确定目标服务器实例的一实施例流程示意图;
图3为本申请建立客户端与目标服务器实例的长连接的一实施例流程示意图;
图4为本申请建立所述客户端与所述目标服务器实例的长连接之后的一实施例流程示意图;
图5为本申请将连接请求分发至目标服务器实例的一实施例流程示意图;
图6为本申请接收客户端的连接请求的一实施例流程示意图;
图7为本申请解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数的一实施例流程示意图;
图8为本申请基于双活集群的交互连接装置的一实施例结构示意图;
图9为本申请计算机设备的一实施例结构示意框图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
参照图1,本申请实施例提供一种基于双活集群的交互连接方法,所述基于双活集群的交互连接方法包括步骤S101-S106,对于所述基于双活集群的交互连接方法的各个步骤的详细阐述如下。
S101、接收客户端使用互式通信会话协议连接服务器的连接请求。
本实施例应用于多个客户端与服务器建立连接的场景,包括多个客户端使用WebSocket与服务器建立连接,实现聊天室功能以及聊天室中消息转发的场景中,本实施例中,通过设置双活集群(NGINX)用于保持客户端与服务器的连接,从而实现客户端与服务器的消息转发、通信交互,具体的,所述双活集群包括前端集群与代理集群,本实施例以前端集群作为执行主体,首先,前端集群接收客户端连接服务器的请求,将该请求定义为连接请求,所述客户端使用互式通信会话协议发送连接服务器的连接请求。
S102、解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数。
本实施例中,前端集群在接收客户端使用互式通信会话协议连接服务器的连接请求之后,所述连接请求中包含有URL(Uniform Resource Locator,统一资源定位器),URL由资源类型、存放资源的主机域名、资源文件名三部分组成,也可以认为由协议、主机、端口、路径四部分组成,所述URL指示客户端是连接到哪个服务器,前端集群在接收到连接请求后,解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,所述第一连接参数与第二连接参数用于指示客户端所要连接的服务器。
S103、根据所述第一连接参数确定双活集群中的代理集群。
本实施例中,在解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数之后,根据所述第一连接参数确定双活集群中的代理集群;其中,所述双活集群包括前端集群与代理集群,所述代理集群的数量为至少两个,每一个所述代理集群都链接有多个服务器,将每一个所述代理集群所链接的服务器定义为服务器实例,首先,根据所述第一连接参数确定代理集群,即确定所述连接请求需要转发至哪一个代理集群中。
S104、将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例。
本实施例中,在根据所述第一连接参数确定双活集群中的代理集群之后,还要根据所述代理集群确定所述连接请求转发至哪一个具体的服务器实例,具体的,将所述第二连接参数发送至所述代理集群,所述代理集群基于所述第二连接参数进行匹配,确定所述第二连接参数对应的服务器实例,将其定义为目标服务器实例,从而获取所述第二连接参数对应的目标服务器实例。
S105、将所述连接请求经过所述代理集群分发至所述目标服务器实例。
本实施例中,在将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例之后,即确定了代理集群以及代理集群中的服务器实例,然后将所述连接请求经过所述代理集群分发至所述目标服务器实例,所述连接请求从客户端经过前端集群、再经过代理集群、最后到达代理集群链接的服务器实例,从而将所述连接请求发至所述目标服务器实例,所述目标服务器实例因而能够接收到客户端的连接请求。
S106、获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
本实施例中,在将所述连接请求经过所述代理集群分发至所述目标服务器实例之后,获取所述目标服务器实例的反馈信息,当目标服务器实例接收到所述连接请求后,基于所述连接请求进行反馈,形成反馈信息,所述反馈信息通过代理集群、再经过前端集群、最后返回给客户端,从而基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,通过所述长连接客户端与服务器实例能够进行消息的转发工作,而不需要依赖于中间件才能进行消息转发,从而减少多客户的连接服务器的网络IO和磁盘IO,并且,具有相同第一连接参数与第二连接参数的客户端连接至同一个服务器实例,保证客户端与服务器的消息发送的精准性,同时避免一台服务器实例宕机导致整体的服务不可用,提高了数据交互、客户端与服务器连接的可靠性。
本实施例提供了一种基于双活集群实现数据交互、连接方法,通过设置双活集群(NGINX)用于保持客户端与服务器的连接,从而实现客户端与服务器的消息转发、通信交互,所述双活集群包括前端集群与代理集群,首先接收客户端使用互式通信会话协议连接服务器的连接请求,解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,所述第一连接参数与第二连接参数用于指示客户端所要连接的服务器,述代理集群的数量为至少两个,根据所述第一连接参数确定代理集群,即确定所述连接请求需要转发至哪一个代理集群中,每一个所述代理集群都链接有多个服务器,然后将所述第二连接参数发送至所述代理集群,述代理集群基于所述第二连接参数进行匹配,确定所述第二连接参数对应的服务器实例,从而获取所述第二连接参数对应的目标服务器实例,将所述连接请求经过所述代理集群分发至所述目标服务器实例,所述连接请求从客户端经过前端集群、再经过代理集群、最后到达代理集群链接的服务器实例,当目标服务器实例接收到所述连接请求后,基于所述连接请求进行反馈,形成反馈信息,所述反馈信息通过代理集群、再经过前端集群、最后返回给客户端,从而基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,通过所述长连接客户端与服务器实例能够进行消息的转发工作,而不需要依赖于中间件才能进行消息转发,从而减少多客户的连接服务器的网络IO和磁盘IO,提高了数据交互、客户端与服务器连接的可靠性。
在一个实施例中,如图2所示,所述将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例,包括步骤S201-203:
S201,将所述第二连接参数发送至所述代理集群,控制所述代理集群基于预设算法计算所述第二连接参数;
S202,获取所述代理集群计算所述第二连接参数的计算结果;
S203,根据所述计算结果确定与所述代理集群连接的目标服务器实例。
本实施例中,在将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例的过程中,首先将所述第二连接参数发送至所述代理集群,控制所述代理集群基于预设算法计算所述第二连接参数,然后获取所述代理集群计算所述第二连接参数的计算结果,根据所述计算结果确定与所述代理集群连接的目标服务器实例,在一种实施方式中,第二连接参数ROUTE为r1234,所述预设算法为CRC运算,将r1234做CRC运算得到一个数字作为计算结果,如CRC(r1234)=3015,再使用该数字对代理集群所链接的服务器机器总数N(如3)取模,得到机器序号n(0<=n<N-1)(如n=3015%3=0),从而根据所述计算结果确定与所述代理集群连接的目标服务器实例,保证具有相同连接参数的连接请求能够分发到同一台服务器实例中,提高数据交互的准确性。
在一个实施例中,如图3所示,所述获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,包括步骤S301-S304:
S301,获取所述目标服务器实例的反馈信息;
S302,向客户端发送所述反馈信息;
S303,接收客户端发送的心跳包;
S304,将所述心跳包经过所述代理集群分发至所述目标服务器实例,以建立所述客户端与所述目标服务器实例的长连接。
本实施例中,在获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接的过程中,首先获取所述目标服务器实例的反馈信息,然后向客户端发送所述反馈信息,使得所述反馈信息从代理集群转发至前端集群最后到达客户端,客户端收到反馈信息后,向服务器发送心跳包,前端集群从而接收客户端发送的心跳包,将所述心跳包经过所述代理集群分发至所述目标服务器实例,以建立所述客户端与所述目标服务器实例的长连接,从而提高客户端与所述目标服务器实例连接的稳定性,保证数据转发的可靠性。
在一个实施例中,如图4所示,所述建立所述客户端与所述目标服务器实例的长连接之后,还包括步骤S401-S402:
S401,在所述客户端与所述目标服务器实例保持长连接的期间,接收所述客户端的消息数据;
S402,基于所述长连接通过所述双活集群将所述消息数据转发至所述目标服务器实例。
本实施例中,在立所述客户端与所述目标服务器实例的长连接之后,在所述客户端与所述目标服务器实例保持长连接的期间,接收所述客户端的消息数据,然后基于所述长连接通过所述双活集群将所述消息数据转发至所述目标服务器实例,即由前端集群接收所述消息数据,再将所述消息数据转发至代理集群,由代理集群转发至目标服务器实例,从而保证客户端的消息数据能够转发至服务器,并且同一个客户端的消息数据转发至相同的服务器实例,从而保证数据转发的可靠性。
在一个实施例中,如图5所示,所述将所述连接请求经过所述代理集群分发至所述目标服务器实例,还包括步骤S501-S503:
S501,判断所述目标服务器实例的运行状态;
S502,若所述运行状态满足连接条件,将所述连接请求经过所述代理集群分发至所述目标服务器实例;
S503,若所述运行状态不满足连接条件,获取所述目标服务器实例的备选服务器实例,将所述连接请求经过所述代理集群分发至所述备选服务器实例。
本实施例中,在将所述连接请求经过所述代理集群分发至所述目标服务器实例的过程中,首先判断所述目标服务器实例的运行状态,所述运行状态通过获取目标服务器实例的资源占用率,包括带宽资源占用率、IO资源占用率、内存资源占用率等,然后进行判断所述运行状态是否满足预设的连接条件,在一种实施方式中,若所述运行状态满足连接条件,将所述连接请求经过所述代理集群分发至所述目标服务器实例,保证连接请求能够分发到运行状态正常的服务器实例中,保证数据转发的可靠性。在另一种实施方式中,若所述运行状态不满足连接条件,获取所述目标服务器实例的备选服务器实例,将所述连接请求经过所述代理集群分发至所述备选服务器实例,保证连接请求能够分发到运行状态正常的服务器实例中,保证数据转发的可靠性。
在一个实施例中,如图6所示,所述接收客户端使用互式通信会话协议连接服务器的连接请求,包括步骤S601-S604:
S601,捕获客户端的请求信息;
S602,识别所述请求信息,根据所述请求信息确定所述客户端使用互式通信会话协议连接服务器的连接请求;所述连接请求包含所述客户端基于客户端业务号从预设注册中心获取的第一连接参数与第二连接参数。
本实施例中,在接收客户端使用互式通信会话协议连接服务器的连接请求的过程中,捕获客户端的请求信息,所述请求信息具有特定的标识才会被捕获到,例如“ws:”,然后识别所述请求信息,根据所述请求信息确定所述客户端使用互式通信会话协议连接服务器的连接请求;所述连接请求包含所述客户端基于客户端业务号从预设注册中心获取的第一连接参数与第二连接参数,在一种实施方式中,在服务端预设有注册中心,记录着所有业务号对应的第一连接参数clusterEnv和第二连接参数ROUTE,需要做交互的多个客户端(如A和B)在正式使用websocket连接服务端时,先根据业务号(如busi,该业务号客户端与服务端之前约定好的)从注册中心获取对应的第一连接参数,如clusterEnv=Blue和第二连接参数ROUTE=r1234,从而保证同一个业务号的客户端都会与同一台服务器实例建立长连接,保证数据转发的可靠性。
在一个实施例中,如图7所示,所述解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,还包括步骤S701-S703:
S701,解析所述连接请求的URL,获取所述客户端业务号;
S702,判断所述客户端业务号是否为有效业务号;
S703,若是,获取所述URL包含的第一连接参数与第二连接参数。
本实施例中,在解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数的过程中,需要对所述客户端进行身份认证与识别,具体的,解析所述连接请求的URL,获取所述客户端业务号,然后判断所述客户端业务号是否为有效业务号,在一种实施方式中,每个业务号都有对应的加密编号,通过比较所述加密编码判断所述客户端业务号是否为有效业务号,若是,才获取所述URL包含的第一连接参数与第二连接参数,从而避免处理大量无效的业务号的客户端进行连接请求,提高资源的利用率。
参照图8,本申请还提供一种基于双活集群的交互连接装置,包括:
接收请求模块101,用于接收客户端使用互式通信会话协议连接服务器的连接请求;
请求解析模块102,用于解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;
代理集群匹配模块103,用于根据所述第一连接参数确定双活集群中的代理集群;
服务器匹配模块104,用于将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;
请求分发模块105,用于将所述连接请求经过所述代理集群分发至所述目标服务器实例;
长连接模块106,用于获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
如上所述,可以理解地,本申请中提出的所述基于双活集群的交互连接装置的各组成部分可以实现如上所述基于双活集群的交互连接方法任一项的功能。
在一个实施例中,所述将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例,包括:
将所述第二连接参数发送至所述代理集群,控制所述代理集群基于预设算法计算所述第二连接参数;
获取所述代理集群计算所述第二连接参数的计算结果;
根据所述计算结果确定与所述代理集群连接的目标服务器实例。
在一个实施例中,所述获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,包括:
获取所述目标服务器实例的反馈信息;
向客户端发送所述反馈信息;
接收客户端发送的心跳包;
将所述心跳包经过所述代理集群分发至所述目标服务器实例,以建立所述客户端与所述目标服务器实例的长连接。
在一个实施例中,所述建立所述客户端与所述目标服务器实例的长连接之后,所述方法还包括:
在所述客户端与所述目标服务器实例保持长连接的期间,接收所述客户端的消息数据;
基于所述长连接通过所述双活集群将所述消息数据转发至所述目标服务器实例。
在一个实施例中,所述将所述连接请求经过所述代理集群分发至所述目标服务器实例,包括:
判断所述目标服务器实例的运行状态;
若所述运行状态满足连接条件,将所述连接请求经过所述代理集群分发至所述目标服务器实例;
若所述运行状态不满足连接条件,获取所述目标服务器实例的备选服务器实例,将所述连接请求经过所述代理集群分发至所述备选服务器实例。
在一个实施例中,所述接收客户端使用互式通信会话协议连接服务器的连接请求,包括:
捕获客户端的请求信息;
识别所述请求信息,根据所述请求信息确定所述客户端使用互式通信会话协议连接服务器的连接请求;所述连接请求包含所述客户端基于客户端业务号从预设注册中心获取的第一连接参数与第二连接参数。
在一个实施例中,所述解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,包括:
解析所述连接请求的URL,获取所述客户端业务号;
判断所述客户端业务号是否为有效业务号;
若是,获取所述URL包含的第一连接参数与第二连接参数。
参照图9,本申请实施例中还提供一种计算机设备,该计算机设备可以是移动终端,其内部结构可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和显示装置及输入装置。其中,该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机设备的显示装置用于显示离线应用。该计算机设备的输入装置用于接收用户在离线应用的输入。该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质。该非易失性存储介质存储有操作系统、计算机程序和数据库。该计算机设备的数据库用于存放原始数据。该计算机程序被处理器执行时以实现一种基于双活集群的交互连接方法。
上述处理器执行上述的基于双活集群的交互连接方法,所述方法包括:获取第一工作流的第一任务文件;接收客户端使用互式通信会话协议连接服务器的连接请求;解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;根据所述第一连接参数确定双活集群中的代理集群;将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;将所述连接请求经过所述代理集群分发至所述目标服务器实例;获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
所述计算机设备提供了一种基于双活集群实现数据交互、连接方法,通过设置双活集群(NGINX)用于保持客户端与服务器的连接,从而实现客户端与服务器的消息转发、通信交互,所述双活集群包括前端集群与代理集群,首先接收客户端使用互式通信会话协议连接服务器的连接请求,解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,所述第一连接参数与第二连接参数用于指示客户端所要连接的服务器,述代理集群的数量为至少两个,根据所述第一连接参数确定代理集群,即确定所述连接请求需要转发至哪一个代理集群中,每一个所述代理集群都链接有多个服务器,然后将所述第二连接参数发送至所述代理集群,述代理集群基于所述第二连接参数进行匹配,确定所述第二连接参数对应的服务器实例,从而获取所述第二连接参数对应的目标服务器实例,将所述连接请求经过所述代理集群分发至所述目标服务器实例,所述连接请求从客户端经过前端集群、再经过代理集群、最后到达代理集群链接的服务器实例,当目标服务器实例接收到所述连接请求后,基于所述连接请求进行反馈,形成反馈信息,所述反馈信息通过代理集群、再经过前端集群、最后返回给客户端,从而基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,通过所述长连接客户端与服务器实例能够进行消息的转发工作,而不需要依赖于中间件才能进行消息转发,从而减少多客户的连接服务器的网络IO和磁盘IO,提高了数据交互、客户端与服务器连接的可靠性。
本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被所述处理器执行时实现一种基于双活集群的交互连接方法,包括步骤:接收客户端使用互式通信会话协议连接服务器的连接请求;解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;根据所述第一连接参数确定双活集群中的代理集群;将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;将所述连接请求经过所述代理集群分发至所述目标服务器实例;获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
所述计算机可读存储介质提供了一种基于双活集群实现数据交互、连接方法,通过设置双活集群(NGINX)用于保持客户端与服务器的连接,从而实现客户端与服务器的消息转发、通信交互,所述双活集群包括前端集群与代理集群,首先接收客户端使用互式通信会话协议连接服务器的连接请求,解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,所述第一连接参数与第二连接参数用于指示客户端所要连接的服务器,述代理集群的数量为至少两个,根据所述第一连接参数确定代理集群,即确定所述连接请求需要转发至哪一个代理集群中,每一个所述代理集群都链接有多个服务器,然后将所述第二连接参数发送至所述代理集群,述代理集群基于所述第二连接参数进行匹配,确定所述第二连接参数对应的服务器实例,从而获取所述第二连接参数对应的目标服务器实例,将所述连接请求经过所述代理集群分发至所述目标服务器实例,所述连接请求从客户端经过前端集群、再经过代理集群、最后到达代理集群链接的服务器实例,当目标服务器实例接收到所述连接请求后,基于所述连接请求进行反馈,形成反馈信息,所述反馈信息通过代理集群、再经过前端集群、最后返回给客户端,从而基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,通过所述长连接客户端与服务器实例能够进行消息的转发工作,而不需要依赖于中间件才能进行消息转发,从而减少多客户的连接服务器的网络IO和磁盘IO,提高了数据交互、客户端与服务器连接的可靠性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双速据率SDRAM(SSRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。
以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (10)

1.一种基于双活集群的交互连接方法,其特征在于,所述方法包括:
接收客户端使用互式通信会话协议连接服务器的连接请求;
解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;
根据所述第一连接参数确定双活集群中的代理集群;
将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;
将所述连接请求经过所述代理集群分发至所述目标服务器实例;
获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
2.根据权利要求1所述的基于双活集群的交互连接方法,其特征在于,所述将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例,包括:
将所述第二连接参数发送至所述代理集群,控制所述代理集群基于预设算法计算所述第二连接参数;
获取所述代理集群计算所述第二连接参数的计算结果;
根据所述计算结果确定与所述代理集群连接的目标服务器实例。
3.根据权利要求1所述的基于双活集群的交互连接方法,其特征在于,所述获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接,包括:
获取所述目标服务器实例的反馈信息;
向客户端发送所述反馈信息;
接收客户端发送的心跳包;
将所述心跳包经过所述代理集群分发至所述目标服务器实例,以建立所述客户端与所述目标服务器实例的长连接。
4.根据权利要求1或3所述的基于双活集群的交互连接方法,其特征在于,所述建立所述客户端与所述目标服务器实例的长连接之后,所述方法还包括:
在所述客户端与所述目标服务器实例保持长连接的期间,接收所述客户端的消息数据;
基于所述长连接通过所述双活集群将所述消息数据转发至所述目标服务器实例。
5.根据权利要求1所述的基于双活集群的交互连接方法,其特征在于,所述将所述连接请求经过所述代理集群分发至所述目标服务器实例,包括:
判断所述目标服务器实例的运行状态;
若所述运行状态满足连接条件,将所述连接请求经过所述代理集群分发至所述目标服务器实例;
若所述运行状态不满足连接条件,获取所述目标服务器实例的备选服务器实例,将所述连接请求经过所述代理集群分发至所述备选服务器实例。
6.根据权利要求1所述的基于双活集群的交互连接方法,其特征在于,所述接收客户端使用互式通信会话协议连接服务器的连接请求,包括:
捕获客户端的请求信息;
识别所述请求信息,根据所述请求信息确定所述客户端使用互式通信会话协议连接服务器的连接请求;所述连接请求包含所述客户端基于客户端业务号从预设注册中心获取的第一连接参数与第二连接参数。
7.根据权利要求6所述的基于双活集群的交互连接方法,其特征在于,所述解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数,包括:
解析所述连接请求的URL,获取所述客户端业务号;
判断所述客户端业务号是否为有效业务号;
若是,获取所述URL包含的第一连接参数与第二连接参数。
8.一种基于双活集群的交互连接装置,其特征在于,所述装置包括:
接收请求模块,用于接收客户端使用互式通信会话协议连接服务器的连接请求;
请求解析模块,用于解析所述连接请求的URL,获取所述URL包含的第一连接参数与第二连接参数;
代理集群匹配模块,用于根据所述第一连接参数确定双活集群中的代理集群;
服务器匹配模块,用于将所述第二连接参数发送至所述代理集群,获取所述第二连接参数对应的目标服务器实例;
请求分发模块,用于将所述连接请求经过所述代理集群分发至所述目标服务器实例;
长连接模块,用于获取所述目标服务器实例的反馈信息,基于所述反馈信息建立所述客户端与所述目标服务器实例的长连接。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7任一项所述基于双活集群的交互连接方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7任一项所述基于双活集群的交互连接方法。
CN202210458864.2A 2022-04-27 2022-04-27 基于双活集群的交互连接方法、装置、计算机设备及介质 Active CN114827233B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210458864.2A CN114827233B (zh) 2022-04-27 2022-04-27 基于双活集群的交互连接方法、装置、计算机设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210458864.2A CN114827233B (zh) 2022-04-27 2022-04-27 基于双活集群的交互连接方法、装置、计算机设备及介质

Publications (2)

Publication Number Publication Date
CN114827233A true CN114827233A (zh) 2022-07-29
CN114827233B CN114827233B (zh) 2023-11-24

Family

ID=82508791

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210458864.2A Active CN114827233B (zh) 2022-04-27 2022-04-27 基于双活集群的交互连接方法、装置、计算机设备及介质

Country Status (1)

Country Link
CN (1) CN114827233B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571947A (zh) * 2011-12-29 2012-07-11 奇智软件(北京)有限公司 一种代理处理数据的方法、装置和系统
CN105100263A (zh) * 2015-08-20 2015-11-25 百度在线网络技术(北京)有限公司 一种反向代理方法及装置
CN105357253A (zh) * 2015-09-28 2016-02-24 努比亚技术有限公司 网络数据请求处理装置及方法
CN105376216A (zh) * 2015-10-12 2016-03-02 华为技术有限公司 一种远程访问方法、代理服务器及客户端
CN113364818A (zh) * 2020-03-03 2021-09-07 北京搜狗科技发展有限公司 一种数据处理方法、装置和电子设备
CN114338769A (zh) * 2021-12-22 2022-04-12 浙江中控技术股份有限公司 访问请求的处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102571947A (zh) * 2011-12-29 2012-07-11 奇智软件(北京)有限公司 一种代理处理数据的方法、装置和系统
CN105100263A (zh) * 2015-08-20 2015-11-25 百度在线网络技术(北京)有限公司 一种反向代理方法及装置
CN105357253A (zh) * 2015-09-28 2016-02-24 努比亚技术有限公司 网络数据请求处理装置及方法
CN105376216A (zh) * 2015-10-12 2016-03-02 华为技术有限公司 一种远程访问方法、代理服务器及客户端
CN113364818A (zh) * 2020-03-03 2021-09-07 北京搜狗科技发展有限公司 一种数据处理方法、装置和电子设备
CN114338769A (zh) * 2021-12-22 2022-04-12 浙江中控技术股份有限公司 访问请求的处理方法及装置

Also Published As

Publication number Publication date
CN114827233B (zh) 2023-11-24

Similar Documents

Publication Publication Date Title
CN108833521B (zh) 消息推送方法、装置、系统、计算机设备和存储介质
CN110300050B (zh) 消息推送方法、装置、计算机设备及存储介质
US8892768B2 (en) Load balancing apparatus and load balancing method
CN107645529B (zh) 心跳包发送方法及装置
US20120185561A1 (en) HTTP Notification Gateway
KR102208935B1 (ko) 데이터 교환을 위한 컨텍스트를 설정하는 http 프로토콜을 통한 메시징 api
CN107204901B (zh) 一种提供、接收状态通知的计算机系统
CN112751748B (zh) 会话消息管理方法、装置、服务器和可读存储介质
CN114024972B (zh) 一种长连接通信方法、系统、装置、设备及存储介质
WO2007036604A1 (en) Group communication in communication system
CN101202716A (zh) 一种信息存储方法及通讯系统以及相关设备
WO2020118633A1 (zh) 订阅消息的处理方法、装置、计算机设备和存储介质
CN114338063B (zh) 消息队列系统、业务处理方法及计算机可读存储介质
CN112398845B (zh) 数据传输方法、数据传输装置、系统及电子设备
CN111988387B (zh) 接口请求处理方法、装置、设备及存储介质
US7246148B1 (en) Enhanced network services using a subnetwork of communicating processors
CN106411713B (zh) 一种状态通知方法及服务器
CN110769045A (zh) 数据处理方法、装置、计算机设备和存储介质
CN109088918A (zh) 一种交互方法、客户端设备及服务端设备
CN106790609B (zh) 数据传输方法及装置
CN114827233A (zh) 基于双活集群的交互连接方法、装置、计算机设备及介质
CN115225706B (zh) 数据传输方法、装置、车辆以及存储介质
CN115987953A (zh) 提供边缘服务方法、装置、边缘设备提供系统及存储介质
CN112202780B (zh) 一种基于双套接字的数据传输方法、装置、设备及介质
CN111949918B (zh) 基于分布式环境下的websocket连接优化方法及系统

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20231029

Address after: Room 820, 8th floor, No. 390-408 Beijing East Road, Huangpu District, Shanghai, 200001

Applicant after: Guangyulaite Digital Technology (Shanghai) Co.,Ltd.

Address before: Room 202, Block B, Aerospace Micromotor Building, No. 7 Langshan 2nd Road, Xili Street, Nanshan District, Shenzhen City, Guangdong Province, 518057

Applicant before: Shenzhen LIAN intellectual property service center

Effective date of registration: 20231029

Address after: Room 202, Block B, Aerospace Micromotor Building, No. 7 Langshan 2nd Road, Xili Street, Nanshan District, Shenzhen City, Guangdong Province, 518057

Applicant after: Shenzhen LIAN intellectual property service center

Address before: 518000 Room 201, building A, No. 1, Qian Wan Road, Qianhai Shenzhen Hong Kong cooperation zone, Shenzhen, Guangdong (Shenzhen Qianhai business secretary Co., Ltd.)

Applicant before: PING AN PUHUI ENTERPRISE MANAGEMENT Co.,Ltd.

GR01 Patent grant
GR01 Patent grant