CN114024972A - 一种长连接通信方法、***、装置、设备及存储介质 - Google Patents

一种长连接通信方法、***、装置、设备及存储介质 Download PDF

Info

Publication number
CN114024972A
CN114024972A CN202111265135.7A CN202111265135A CN114024972A CN 114024972 A CN114024972 A CN 114024972A CN 202111265135 A CN202111265135 A CN 202111265135A CN 114024972 A CN114024972 A CN 114024972A
Authority
CN
China
Prior art keywords
server
target
customer service
connection
load balancing
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
CN202111265135.7A
Other languages
English (en)
Other versions
CN114024972B (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.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen 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 Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN202111265135.7A priority Critical patent/CN114024972B/zh
Publication of CN114024972A publication Critical patent/CN114024972A/zh
Application granted granted Critical
Publication of CN114024972B publication Critical patent/CN114024972B/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明涉及人工智能领域,公开了一种长连接通信方法、***、装置、设备及存储介质,该方法包括:生成用于建立目标长连接的连接建立请求,并将连接建立请求发送至负载均衡服务器;在接收到目标应用服务器针对连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将服务器标识添加至与目标长连接匹配的连接确认信息中;将连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接。本发明实施例的技术方案,通过负载均衡服务器将针对目标应用服务器的连接建立请求,统一转发至目标应用服务器,实现了用户端与应用服务集群中目标应用服务器间长连接通信的准确建立,提升了用户的应用程序使用体验。

Description

一种长连接通信方法、***、装置、设备及存储介质
技术领域
本发明实施例涉及人工智能技术领域,尤其涉及一种长连接通信方法、***、装置、设备及存储介质。
背景技术
随着计算机技术的不断发展,市面上涌现出了可以提供不同产品或者服务的各种应用程序,同时,越来越多的用户选择通过在线客服的方式,与应用程序提供方的坐席人员进行产品或者服务的在线交流。
现有技术中,主要通过应用服务器撮合用户与坐席人员的通信连接,具体的,用户端向应用服务器发送在线客服请求,应用服务器将该在线客服请求转发至相应的坐席端,并将该坐席端针对该在线客服请求的响应信息转发至该用户端。考虑到单应用服务器的承载能力有限,无法满足业务方对产品的高可用要求,最后都会扩展成多应用服务器构成的服务集群。
发明人在实现本发明的过程中,发现现有技术存在如下缺陷:为了能够满足用户端的及时或实时的通信需求,应用服务器一般会建立自身与该用户端之间的长连接,而在服务集群的应用场景中,由于负载均衡机制的随机性,无法保证用户端建立长连接时的多次握手请求均发送至服务集群中的同一应用服务器,进而会造成长连接建立的失败。
发明内容
本发明实施例提供一种长连接通信方法、***、装置、设备及存储介质,可以实现应用服务集群的应用场景下,用户端与任一应用服务器间长连接通信的准确建立。
第一方面,本发明实施例提供了一种长连接通信方法,由用户端执行,包括:
生成用于建立目标长连接的连接建立请求,并将所述连接建立请求发送至负载均衡服务器;所述负载均衡服务器用于在应用服务集群中选择目标应用服务器与所述用户端建立目标长连接;
在接收到目标应用服务器针对所述连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中;
将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接;所述负载均衡服务器用于根据连接确认信息中的服务器标识,将所述连接确认信息定向转发至目标应用服务器。
第二方面,本发明实施例提供了一种长连接通信方法,由负载均衡服务器执行,包括:
在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识;
若是,则将所述待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器;
否则,将所述待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器。
第三方面,本发明实施例提供了一种长连接通信方法,由应用服务集群中的一个应用服务器执行,包括:
在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;
在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端;
其中,所述客服端用于根据客服请求中包括的所述目标用户端的用户身份标识,查询所述存储数据库,获取与所述用户身份标识匹配的服务器标识附加至与所述客服请求匹配的客服响应中,并将所述客服响应发送至负载均衡服务器进行转发;
在接收到负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端。
第四方面,本发明实施例提供了一种长连接通信方法,由客服端执行,包括:
在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识;
查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中;
将所述客服响应发送至负载均衡服务器;
其中,所述客服响应用于通过负载均衡服务器转发至与所述目标服务器标识匹配的目标应用服务器中,并经由目标应用服务器与目标用户端之间的长连接,发送至目标用户端。
第五方面,本发明实施例提供了一种长连接通信***,包括:多个用户端、负载均衡服务器、多个应用服务器构成的应用服务集群、存储数据库以及多个客服端,其中:
所述用户端,用于生成用于建立目标长连接的连接建立请求,并将连接建立请求发送至负载均衡服务器;在接收到负载均衡服务器转发的目标应用服务器的授予连接响应时,获取目标应用服务器的服务器标识,并在与目标长连接匹配的连接确认信息中添加所述服务器标识;将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接;
所述负载均衡服务器,用于在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识;若是,则将待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器;否则,则将待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器;
所述应用服务器,用于在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端;在接收到所述负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端;
所述客服端,用于在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识;查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中,将所述客服响应发送至负载均衡服务器。
第六方面,本发明实施例还提供了一种长连接通信装置,应用于用户端,包括:
连接建立请求生成模块,用于生成用于建立目标长连接的连接建立请求,并将所述连接建立请求发送至负载均衡服务器;所述负载均衡服务器用于在应用服务集群中选择目标应用服务器与所述用户端建立目标长连接;
服务器标识获取模块,用于在接收到目标应用服务器针对所述连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中;
连接确认信息发送模块,用于将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接;所述负载均衡服务器用于根据连接确认信息中的服务器标识,将所述连接确认信息定向转发至目标应用服务器。
第七方面,本发明实施例还提供了一种长连接通信装置,应用于负载均衡服务器,包括:
服务器标识检测模块,用于在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识;
待转发信息发送模块,用于若是,则将所述待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器;否则,将所述待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器。
第八方面,本发明实施例还提供了一种长连接通信装置,应用于应用服务集群中的一个应用服务器,包括:
映射关系存储模块,用于在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;
客服请求转发模块,用于在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端;
其中,所述客服端用于根据客服请求中包括的所述目标用户端的用户身份标识,查询所述存储数据库,获取与所述用户身份标识匹配的服务器标识附加至与所述客服请求匹配的客服响应中,并将所述客服响应发送至负载均衡服务器进行转发;
客服响应接收模块,用于在接收到负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端。
第九方面,本发明实施例还提供了一种长连接通信装置,应用于客服端,包括:
目标用户身份标识获取模块,用于在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识;
目标服务器标识获取模块,用于查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中;
客服响应发送模块,用于将所述客服响应发送至负载均衡服务器;
其中,所述客服响应用于通过负载均衡服务器转发至与所述目标服务器标识匹配的目标应用服务器中,并经由目标应用服务器与目标用户端之间的长连接,发送至目标用户端。
第十方面,本发明实施例还提供了一种电子设备,该电子设备包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行本发明任意实施例提供的长连接通信方法。
第十一方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的长连接通信方法。
本发明实施例提供的技术方案,通过用户端生成用于建立目标长连接的连接建立请求,并将该连接建立请求发送至负载均衡服务器,以通过负载均衡服务器在应用服务集群中选择目标应用服务器与用户端建立目标长连接;在接收到目标应用服务器针对连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将服务器标识添加至与目标长连接匹配的连接确认信息中;进而将连接确认信息发送至负载均衡服务器,以通过负载均衡服务器根据连接确认信息中的服务器标识,将连接确认信息定向转发至目标应用服务器,以建立用户端与目标应用服务器的目标长连接;通过在连接确认消息中附加服务器标识,使得负载均衡服务器可以将连接确认消息定向转发至匹配的目标应用服务器,实现了用户端与应用服务集群中目标应用服务器间长连接的准确建立,避免了负载均衡机制对长连接建立的影响,满足了用户端的实时通信需求,提升了用户的应用程序使用体验。
附图说明
图1是本发明一实施例提供的一种长连接通信方法的流程图;
图2是本发明另一实施例提供的一种长连接通信方法的流程图;
图3是本发明另一实施例提供的一种长连接通信方法的流程图;
图4是本发明另一实施例提供的一种长连接通信方法的流程图;
图5是本发明另一实施例提供的一种长连接通信***的结构框图;
图6是本发明另一实施例提供的一种长连接通信装置的结构示意图;
图7是本发明另一实施例提供的一种长连接通信装置的结构示意图;
图8是本发明另一实施例提供的一种长连接通信装置的结构示意图;
图9是本发明另一实施例提供的一种长连接通信装置的结构示意图;
图10是本发明另一实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的实施例。虽然附图中显示了本发明的某些实施例,然而应当理解的是,本发明可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本发明。应当理解的是,本发明的附图及实施例仅用于示例性作用,并非用于限制本发明的保护范围。
应当理解,本发明的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本发明的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本发明中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本发明中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本发明实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用***。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互***、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
图1为本发明一实施例提供的一种长连接通信方法的流程图,本发明实施例可适用于利用负载均衡服务器撮合建立用户端与目标应用服务器间长连接的情况,该方法可以由长连接通信装置来执行,该装置可由硬件和/或软件组成,并一般可集成在电子设备中,典型的,可以集成在用户端设备中。如图1所示,该方法具体包括如下步骤:
S110、生成用于建立目标长连接的连接建立请求,并将所述连接建立请求发送至负载均衡服务器。
其中,负载均衡服务器用于在应用服务集群中选择目标应用服务器与用户端建立目标长连接;典型的,负载均衡服务器可以为云服务器、Nginx或者F5服务器等。
在本实施例中,用户端可以为安装于用户终端中的应用客户端软件,该应用客户端软件通过与配套的应用服务器进行通信,可以向用户提供各项应用服务,例如,视频服务、商品购买服务、金融理财服务或者上班打卡服务等。例如,该用户端可以响应于用户的视频播放请求,向应用服务器中请求匹配的视频资源,并将该应用服务器反馈的视频资源进行本地的视频播放。
需要说明的是,为了能够实时响应海量用户端的服务请求,本发明实施例的技术方案并不是简单部署了单一的应用服务器,而是通过部署应用服务集群的方式,由应用服务集群中包括的多个应用服务器,共同响应同一时间可能出现的多项服务请求。
一般来说,可以将与应用服务集群中的每个应用服务器分别相连的负载均衡服务器,作为各用户端的统一服务入口。该负载均衡服务器统一接收各个用户端发送的服务请求,并采用预先设定的负载均衡算法,例如,轮询算法、随机算法或者最小连接数算法等,将各服务请求分发至应用服务集群中的各应用服务器中。
在本实施例中,为了保证用户端获取应用服务器所提供的应用服务的实时性,可以在用户端有针对应用服务器的服务需求时,主动建立与某一应用服务器之间的长连接,进而可以通过该长连接及时、可靠的获取该应用服务器所提供的各项应用服务。
在一个具体的例子中,如果用户端A需要和应用服务集群中的应用服务器B建立长连接,该用户端需要通过三次握手的方式,执行向该应用服务器B发送连接建立请求、接收应用服务器B反馈的授予连接响应以及再次向应用服务器B发送连接确认信息这三个信息交互流程,才能成功的与该应用服务器B建立长连接。在该长连接建立之前,用户端A与应用服务器B使用负载均衡服务器为中介进行通信连接,而在该长连接建立之后,用户端A则可以直接使用该长连接与应用服务器B进行通信。
可以理解的是,为了使得长连接建立成功,用户端A所发送的连接建立请求和连接确认信息,必须同时指向该应用服务器B;但是,考虑到负载均衡服务器分发服务请求的均衡性(或者说随机性),很有可能出现用户端A发送的连接建立请求和连接确认信息被分发至不同应用服务器的情况。特别的,当应用服务集群中包括的应用服务器的数量越大,上述情况的发生概率也越大。当这种情况发生时,就会出现长连接建立的失败,进而极大地影响用户端的应用程序使用体验。
本发明实施例的方案正是为了解决上述问题而应运产生的,也即,本发明实施例的技术方案主要目的是,在多应用服务器场景中,如何建立用户端与任一应用服务器的长连接的问题。
在本实施例中,当用户端有长连接建立需求时,首先会生成一个连接建立请求发送至负载均衡服务器,此时,无需为该用户端指定应用服务集群中的某一个具体的应用服务器,仅依靠负载均衡服务器自主选择即可。相应的,该负载均衡服务器在接收到该连接建立请求后,可以按照预设的负载均衡算法,在应用服务集群中选择一个目标应用服务器,并将该连接建立请求分发至该目标应用服务器。
S120、在接收到目标应用服务器针对所述连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中。
其中,目标应用服务器在接收到负载均衡服务器转发的连接建立请求后,会相应生成与该连接建立请求匹配的授予连接响应,并可以将该授予连接响应直接发送至该用户端,而不需要再经过负载均衡服务器的转发。
需要说明的是,为了最终完成建立长连接的三次握手,用户端需要在接收到授予连接响应后,继续构建连接确认信息发送至发送该授予连接响应的目标应用服务器。值的注意的是,由于此时用户端与该目标应用服务器之间的长连接并未真正的建立,因此,该连接确认信息需要经由负载均衡服务器进行转发。
如前所述,为了保证该负载均衡服务器能够将该连接确认信息准确转发至该目标应用服务器;在本实施例中,可以将目标应用服务器的服务器标识附加在该连接确认信息中,以最终使得负载均衡服务器可以根据该服务器标识,将当前连接确认信息定向转发至该目标应用服务器。其中,服务器标识为应用服务集群中每个应用服务器的身份识别信息,用于唯一区分每个应用服务器。该服务器标识可以为应用服务器的媒体存取控制(MediaAccess Control,MAC)地址,或者网际协议(Internet Protocol,IP)地址等,本实施例对此不作具体限定。
在本实施例的一个可选的实施方式中,用户端可以直接在接收的授予连接响应中提取该目标应用服务器的服务器标识,并将该服务器标识与设定关键字段组合得到键值对形式的附加数据,进而将该附加数据加入至该连接确认信息中。负载均衡服务器在接收到该连接确认信息之后,可以解析该连接确认信息中的附加数据,实现对目标应用服务器的确定,进而可以将连接确认信息发送至目标应用服务器。
在本实施例的另一个可选的实施方式中,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中,可以包括:本地查询与所述目标长连接匹配的目标cookie信息,并将所述目标cookie信息添加至连接确认信息中;其中,目标cookie信息中包括响应连接建立请求的目标应用服务器的服务器标识。
在本实施例中,考虑到用户端的每一次操作,都会生成相应的cookie数据进行用户端的本地存储;因此,当用户端选择与一个应用服务器建立目标长连接时,在本地存储的与该目标长连接对应的目标cookie信息中,一定包含响应该连接建立请求的目标应用服务器的服务器标识。
相应的,为了减少解析操作或者数据处理操作的流程,可以直接在本地存储的各项cookie中,直接获取该目标cookie信息,并通过将该目标cookie信息直接附加在该连接确认信息中的操作,可以简单、便捷的在该连接确认信息中携带该目标应用服务器的服务器标识,最大程度的减少了用户端的数据处理工作量。
S130、将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接。
其中,负载均衡服务器用于根据连接确认信息中的服务器标识,将连接确认信息定向转发至目标应用服务器。
在本实施例中,由于该连接确认信息中携带有目标应用服务器的服务器标识,在连接确认信息被负载均衡服务器接收后,可以确保负载均衡服务器不会对该连接确认服务器进行随机分发,而是定向发送至该目标应用服务器。进而,可以使得用户端与目标应用服务器之间成功完成三次握手,并建立点对点的长连接进行通信。
需要说明的是,通过在连接确认信息中附加服务器标识,可以实现用户端与对应业务服务器间长连接的建立;由此,对于具有长连接应用的业务服务器,只需配置后加入业务服务器集群即可进行业务负载,可以实现对业务服务器集群的高效扩展。
本发明实施例提供的技术方案,通过用户端生成用于建立目标长连接的连接建立请求,并将该连接建立请求发送至负载均衡服务器,以通过负载均衡服务器在应用服务集群中选择目标应用服务器与用户端建立目标长连接;在接收到目标应用服务器针对连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将服务器标识添加至与目标长连接匹配的连接确认信息中;进而将连接确认信息发送至负载均衡服务器,以通过负载均衡服务器根据连接确认信息中的服务器标识,将连接确认信息定向转发至目标应用服务器,以建立用户端与目标应用服务器的目标长连接;通过在连接确认消息中附加服务器标识,使得负载均衡服务器可以将连接确认消息定向转发至匹配的目标应用服务器,实现了用户端与应用服务集群中目标应用服务器间长连接的准确建立,避免了负载均衡机制对长连接建立的影响,满足了用户端的实时通信需求,提升了用户的应用程序使用体验。
图2为本发明一实施例提供的一种长连接通信方法的流程图,本发明实施例可适用于负载均衡服务器根据待转发信息中的服务器标识,将待转发信息发送至目标应用服务器的情况,该方法可以由长连接通信装置来执行,该装置可由硬件和/或软件组成,并一般可集成在电子设备中,典型的,可以集成在负载均衡服务器中。如图2所示,该方法具体包括如下步骤:
S210、在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识。
在本实施例中,负载均衡服务器主要用于作为统一服务入口,将各用户端发送的,指向应用服务器的服务请求(例如,某一用户端在与具体的一个应用服务器建立长连接之前所发送的连接建立请求以及连接确认信息),以负载均衡或者单向指定的方式,转发至应用服务集群中的各应用服务器中。
在另一种场景中,如果用户端的服务请求是请求应用客服人员提供客户服务,则相应的客服端同样会以该统一服务入口发送指向某一用户端的客服响应,以使得负载均衡服务器将该客服响应发送至匹配的应用服务器,并经由该应用服务器将该客服响应发送至匹配的用户端。
其中,客服端可以是用于为应用程序提供客服服务的客服客户端软件,该客服端一般安装在应用客服人员所使用的终端设备中。
一般来说,为了节省宝贵的通信资源,无需保证客服端与应用服务器之间的长连接,因此,客服端一般通过短连接的方式,与应用服务器进行通信。基于此,本发明实施例的技术方案又面临了另一个有待解决的问题,也即:由于客服端与应用服务器之间没有建立点对点的长连接,而用户端一般会与应用服务器之间建立点对点的长连接,此时,当客服端A需要针对用户端B发送的服务请求反馈客服响应时,如何保证负载均衡服务器,将该客服响应准确的分发至当前与用户端B建立长连接的应用服务器C中。
在本实施例中,通过客服端在该客服响应中添加应用服务器C的服务标识的方式实现,具体实现方式在后文进行详述。对于本发明实施例所述的负载均衡服务器来说,主要关注待转发信息中是否包括服务器标识即可。相应的,上述待转发信息可以为用户端在建立长连接之前,所发送的信息,也可以为客服端针对接收的某一用户端的服务请求,所反馈的客服响应。
S220、若是,则将所述待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器。
S230、否则,将所述待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器。
如前所述,在确定待转发信息中没有包括服务器标识时,可以根据预设的负载均衡算法,将该待转发信息转发至应用服务集群中的任一应用服务器进行处理;如果待转发信息中包括了服务器标识,则不能再使用负载均衡算法对该待转发信息进行随机的分发,而是需要将该待转发信息转发至与该服务器标识匹配的应用服务器。
具体的,如果该待转发信息为客服端针对接收的某一用户端的服务请求,所反馈的客服响应,则接收到该待转发信息的应用服务器可以通过预先建立的长连接,将该待转发信息发送至匹配的用户端;如果该待转发信息为一个用户端在建立长连接过程中发送的连接确认信息,则接收到该待转发信息的应用服务器,会基于该连接确认信息与该用户端建立长连接。
在本实施例的一个可选的实施方式中,检测所述待转发信息中是否包括服务器标识,可以包括:检测所述待转发信息中是否包括cookie信息;若是,则在所述cookie信息中解析获取服务器标识;否则,确定所述待转发信息中不包括服务器标识。
需要说明的是,在建立长连接过程中,用户端可以将与目标长连接匹配的目标cookie信息添加至连接确认消息发送至负载均衡服务器;此时,负载均衡服务器可以通过检测接收的待转发信息中是否包括cookie信息,以判断该待转发信息中是否包括服务器标识。具体的,若确定该待转发信息包括cookie信息,则可以直接在cookie信息中获取服务器标识;而若确定待转发信息不包括cookie信息,则可以确定该待转发信息不包括服务器标识。
本发明实施例提供的技术方案,负载均衡服务器在接收到待转发信息时,若检测该待转发信息中包括服务器标识,则将待转发信息发送至应用服务集群中,与服务器标识匹配的应用服务器;而若检测该待转发信息中不包括服务器标识,则将该待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器;通过负载均衡服务器对服务器标识的检测,实现了对待转发信息的定向转发,进而实现了应用服务集群场景下,用户端与目标应用服务器间长连接的建立,以及用户端对客服响应的成功获取。
图3为本发明一实施例提供的一种长连接通信方法的流程图,本发明实施例可适用于在建立目标长连接之后,应用服务器基于目标长连接进行客服请求的接收和客服响应的转发的情况,该方法可以由长连接通信装置来执行,该装置可由硬件和/或软件组成,并一般可集成在电子设备中,典型的,可以集成在应用服务器中。如图3所示,该方法具体包括如下步骤:
S310、在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库。
在本实施例中,在建立应用服务器与目标用户端的目标长连接之后,应用服务器可以记录目标用户端的用户身份标识与本机的服务器标识之间的对应关系,并将该对应关系存储至存储数据库。对应的,后续客服端可以在存储数据库中查找用户身份标识和服务器标识的对应关系。
在本实施例的一个可选的实施方式中,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库,可以包括:获取目标用户端在目标长连接建立过程中发送的连接确认信息;在所述连接确认信息中获取目标cookie信息,并将所述目标cookie信息存储至所述存储数据库。
在本实施例中,当连接确认信息中包括目标cookie信息时,应用服务器可以直接对用户身份标识与目标cookie信息之间的映射关系进行存储,无需对该目标cookie信息进行解析,可以降低应用服务器的数据处理量。
S320、在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端。
其中,所述客服端用于根据客服请求中包括的所述目标用户端的用户身份标识,查询所述存储数据库,获取与所述用户身份标识匹配的服务器标识附加至与所述客服请求匹配的客服响应中,并将所述客服响应发送至负载均衡服务器进行转发。
在本实施例中,当应用服务器与目标用户端的长连接建立之后,目标用户端可以通过该长连接,直接向应用服务器发送客服请求;进而应用服务器可以通过与客服端的短链接,将该客服请求随机转发至任意一个客服端。对应的,当客服端接收到客服请求之后,在客服请求中解析获取用户身份标识,并在存储数据库中获取与用户身份标识匹配的服务器标识,进而将该服务器标识添加至针对该客服请求的客服响应中,并将该客服响应发送至负载均衡服务器,以通过负载均衡服务器对该客服响应进行转发。
S330、在接收到负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端。
其中,负载均衡服务器在接收到客服端发送的客服响应后,解析获取客服响应中的服务器标识,并将该客服响应转发至当前服务器标识匹配的应用服务器。应用服务器在接收到负载均衡服务器转发的客服响应之后,可以通过应用服务器与目标用户端间的长连接,将该客服响应进一步转发至目标用户端,实现目标用户端对与客服请求匹配的客服响应的获取。
本发明实施例提供的技术方案,应用服务器在通过负载均衡服务器建立与目标用户端的目标长连接后,将目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;应用服务器在通过目标长连接接收到目标用户端发送的客服请求时,通过短连接将客服请求转发至任一客服端;对应的,客服端根据客服请求中包括的目标用户端的用户身份标识,查询存储数据库,以获取与用户身份标识匹配的服务器标识附加至与客服请求匹配的客服响应中,并将客服响应发送至负载均衡服务器进行转发;应用服务器在接收到负载均衡服务器转发的针对客服请求的客服响应时,通过目标长连接将该客服响应发送至目标用户端;通过在客服响应中附加服务器标识,实现了对客服响应的针对性转发,进而实现了目标用户端对客服服务的成功请求。
图4为本发明一实施例提供的一种长连接通信方法的流程图,本发明实施例可适用于客服端获取某一个应用服务器转发的客服请求,并生成对应的客服响应的情况,该方法可以由长连接通信装置来执行,该装置可由硬件和/或软件组成,并一般可集成在电子设备中,典型的,可以集成在客服端设备中。如图4所示,该方法具体包括如下步骤:
S410、在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识。
S420、查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中。
在本实施例中,客服端在接收到某一个应用服务器通过短链接转发的客服请求时,在该客服请求中解析获取目标用户身份标识;并根据该目标用户身份标识,在存储数据数据库中进行匹配查找,以获取与该目标用户身份标识对应的目标服务器标识。在获取到该目标服务器标识之后,将该目标服务器标识作为附加信息,添加至与客服请求对应的客服响应中。
S430、将所述客服响应发送至负载均衡服务器。
其中,客服响应用于通过负载均衡服务器转发至与目标服务器标识匹配的目标应用服务器中,并经由目标应用服务器与目标用户端之间的长连接,发送至目标用户端。
具体的,客服端在将目标服务器标识添加至客服响应后,将该客服响应发送至父子啊均衡服务器,以通过负载均衡服务器对该客服响应进行转发。负载均衡服务器在接收到客服响应之后,在该客服响应中解析获取需要转发的业务服务器的服务标识,并根据该服务器标识,将该客服响应发送至对应的业务服务器;业务服务器在接收到负载均衡服务器转发的客服响应后,通过与目标用户端的长连接,将该客服响应进一步转发至目标用户端。
本发明实施例的技术方案,客服端在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取客服请求中包括的与目标用户端匹配的目标用户身份标识;并查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与目标用户身份标识匹配的目标服务器标识,并将该目标服务器标识添加至客服请求对应的客服响应中;将客服响应发送至负载均衡服务器,以通过服务均衡服务器将该客服响应转发至与目标服务器标识匹配的目标应用服务器,并通过该目标应用服务器将客服响应进一步转发至目标用户端;通过在客服响应中附加目标服务器标识,可以避免负载均衡服务器对客服响应的随机转发,确保目标用户端对与客服请求匹配的客服响应的准确获取。
图5为本发明一实施例提供的一种长连接通信***的结构框图,长连接通信***500,包括:多个用户端501、负载均衡服务器502、多个应用服务器503构成的应用服务集群504、存储数据库505以及多个客服端506,其中:
用户端501,用于生成用于建立目标长连接的连接建立请求,并将连接建立请求发送至负载均衡服务器502;在接收到负载均衡服务器502转发的目标应用服务器503的授予连接响应时,获取目标应用服务器503的服务器标识,并在与目标长连接匹配的连接确认信息中添加服务器标识;将连接确认信息发送至负载均衡服务器502,以建立与目标应用服务器503的目标长连接。
负载均衡服务器502,用于在接收到待转发信息时,检测待转发信息中是否包括服务器标识;若是,则将待转发信息发送至应用服务集群504中,与服务器标识匹配的应用服务器503;否则,则将待转发信息发送至根据负载均衡算法在应用服务集群504中确定的一个应用服务器503。
应用服务器503,用于在通过负载均衡服务器502建立与目标用户端501的目标长连接后,将目标用户端501的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库505;在通过目标长连接接收到目标用户端501发送的客服请求时,通过短连接将客服请求转发至任一客服端506;在接收到负载均衡服务器502转发的针对客服请求的客服响应时,通过目标长连接将客服响应发送至目标用户端501。
客服端506,用于在接收到应用服务集群504中的一个应用服务器503通过短连接转发的客服请求时,获取客服请求中包括的与目标用户端501匹配的目标用户身份标识;查询存储数据库505中存储的各用户身份标识与服务器标识之间的映射关系,获取与目标用户身份标识匹配的目标服务器标识,并将目标服务器标识添加至客服请求对应的客服响应中,将客服响应发送至负载均衡服务器502。
在本实施例的一个具体的实施方式中,用户端501生成连接建立请求并发送至负载均衡服务器502,负载均衡服务器502根据负载均衡算法在应用服务集群504中确定一个应用服务器503,并将该连接建立请求发送至该应用服务器503。应用服务器503根据接收到的连接建立请求,生成包括自身服务器标识的授予连接响应,并将该授予连接响应直接发送至用户端501。用户端501对接收的授予连接响应进行解析,获取服务器标识,并将该服务器标识附加在连接确认消息中,进而将该连接确认消息发送至负载均衡服务器502。
负载均衡服务器502对连接确认消息进行解析,获取服务器标识,并根据该服务器标识将当前的连接确认消息定向转发至匹配的应用服务器503。业务服务器503在接收到连接确认消息后,完成与用户端501的三次握手,建立与用户端501的长连接,并将用户端501的用户身份标识与服务器标识的映射关系存储至存储数据库505。
在建立用户端501与应用服务器503间的长连接之后,当用户端501需要请求客服服务时,基于该长连接向应用服务器503发送包括用户身份标识的客服请求。应用服务器503将接收到的客服请求通过短链接随机转发至任一客服端506。客服端506解析获取的客服请求以获取用户身份标识,并根据该用户身份标识在存储数据库505中进行匹配查找,以获取匹配的服务器标识;进而将该服务器标识附加至客服请求匹配的客服响应中,并将该客服响应发送至负载均衡服务器502。负载均衡服务器502对客服响应进行解析获取服务器标识,并根据该服务器标识将当前客服响应发送至对应的应用服务器503。应用服务器503在接收到客服响应后,通过与用户端501间的长连接将该客服响应进一步转发至用户端501。
本发明实施例提供的技术方案,通过在用户端生成的连接确认消息中附加服务器标识,确保了负载均衡服务器对连接确认消息的定向转发,实现了用户端与目标应用服务器三次握手过程的顺利进行,进而实现了用户端与目标应用服务器间长连接的建立;同时,通过在客服端生成的客服响应中附加服务器标识,确保了负载均衡服务器对客服响应的定向转发,实现了用户端对客服响应的准确获取;通过上述操作,实现了应用服务集群场景下,用户端与任意应用服务器间长连接通信的建立,以及用户端对客服服务的准确获取,提升了用户的应用程序使用体验。
图6为本发明另一实施例提供的一种长连接通信装置的结构示意图。如图6所示,该装置包括:连接建立请求生成模块610、服务器标识获取模块620和连接确认信息发送模块630。其中,
连接建立请求生成模块610,用于生成用于建立目标长连接的连接建立请求,并将所述连接建立请求发送至负载均衡服务器;所述负载均衡服务器用于在应用服务集群中选择目标应用服务器与所述用户端建立目标长连接;
服务器标识获取模块620,用于在接收到目标应用服务器针对所述连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中;
连接确认信息发送模块630,用于将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接;所述负载均衡服务器用于根据连接确认信息中的服务器标识,将所述连接确认信息定向转发至目标应用服务器。
可选的,在上述技术方案的基础上,连接建立请求生成模块610,具体用于本地查询与所述目标长连接匹配的目标cookie信息,并将所述目标cookie信息添加至连接确认信息中;其中,所述目标cookie信息中包括响应所述连接建立请求的目标应用服务器的服务器标识。
上述装置可执行本发明前述实施例所提供的长连接通信方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图7为本发明另一实施例提供的一种长连接通信装置的结构示意图。如图7所示,该装置包括:服务器标识检测模块710和待转发信息发送模块720。其中,
服务器标识检测模块710,用于在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识;
待转发信息发送模块720,用于若是,则将所述待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器;否则,将所述待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器。
可选的,在上述技术方案的基础上,服务器标识检测模块710,具体用于检测所述待转发信息中是否包括cookie信息;若是,则在所述cookie信息中解析获取服务器标识;否则,确定所述待转发信息中不包括服务器标识。
上述装置可执行本发明前述实施例所提供的长连接通信方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图8为本发明另一实施例提供的一种长连接通信装置的结构示意图。如图8所示,该装置包括:映射关系存储模块810、客服请求转发模块820和客服响应接收模块830。其中,
映射关系存储模块810,用于在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;
客服请求转发模块820,用于在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端;
其中,所述客服端用于根据客服请求中包括的所述目标用户端的用户身份标识,查询所述存储数据库,获取与所述用户身份标识匹配的服务器标识附加至与所述客服请求匹配的客服响应中,并将所述客服响应发送至负载均衡服务器进行转发;
客服响应接收模块830,用于在接收到负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端。
可选的,在上述技术方案的基础上,映射关系存储模块810,具体用于获取目标用户端在目标长连接建立过程中发送的连接确认信息;在所述连接确认信息中获取目标cookie信息,并将所述目标cookie信息存储至所述存储数据库。
上述装置可执行本发明前述实施例所提供的长连接通信方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图9为本发明另一实施例提供的一种长连接通信装置的结构示意图。如图9所示,该装置包括:目标用户身份标识获取模块910、目标服务器标识获取模块920和客服响应发送模块930。其中,
目标用户身份标识获取模块910,用于在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识;
目标服务器标识获取模块920,用于查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中;
客服响应发送模块930,用于将所述客服响应发送至负载均衡服务器;
其中,所述客服响应用于通过负载均衡服务器转发至与所述目标服务器标识匹配的目标应用服务器中,并经由目标应用服务器与目标用户端之间的长连接,发送至目标用户端。
可选的,在上述技术方案的基础上,目标服务器标识获取模块920,具体用于查询存储数据库中存储的,与目标用户身份标识匹配的目标cookie信息,并将所述目标cookie信息添加至所述客服请求对应的客服响应中。
上述装置可执行本发明前述实施例所提供的长连接通信方法,具备执行上述方法相应的功能模块和有益效果。未在本发明实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图10为本发明另一实施例提供的一种电子设备的结构示意图,如图10所示,该电子设备包括处理器1010、存储器1020、输入装置1030和输出装置1040;电子设备中处理器1010的数量可以是一个或多个,图10中以一个处理器1010为例;电子设备中的处理器1010、存储器1020、输入装置1030和输出装置1040可以通过总线或其他方式连接,图10中以通过总线连接为例。存储器1020作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例中的一种长连接通信方法对应的程序指令/模块。处理器1010通过运行存储在存储器1020中的软件程序、指令以及模块,从而执行电子设备的各种功能应用以及数据处理,即实现上述的任意一种长连接通信方法。
存储器1020可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器1020可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器1020可进一步包括相对于处理器1010远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置1030可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置1040可包括显示屏等显示设备。
可选的,该电子设备可以为服务器,服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例所提供的一种长连接通信方法中的相关操作
通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
值得注意的是,上述一种长连接通信装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (15)

1.一种长连接通信方法,由用户端执行,其特征在于,包括:
生成用于建立目标长连接的连接建立请求,并将所述连接建立请求发送至负载均衡服务器;所述负载均衡服务器用于在应用服务集群中选择目标应用服务器与所述用户端建立目标长连接;
在接收到目标应用服务器针对所述连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中;
将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接;所述负载均衡服务器用于根据连接确认信息中的服务器标识,将所述连接确认信息定向转发至目标应用服务器。
2.根据权利要求1所述的方法,其特征在于,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中,包括:
本地查询与所述目标长连接匹配的目标cookie信息,并将所述目标cookie信息添加至连接确认信息中;
其中,所述目标cookie信息中包括响应所述连接建立请求的目标应用服务器的服务器标识。
3.一种长连接通信方法,由负载均衡服务器执行,其特征在于,包括:
在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识;
若是,则将所述待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器;
否则,将所述待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器。
4.根据权利要求3所述的方法,其特征在于,检测所述待转发信息中是否包括服务器标识,包括:
检测所述待转发信息中是否包括cookie信息;
若是,则在所述cookie信息中解析获取服务器标识;否则,确定所述待转发信息中不包括服务器标识。
5.一种长连接通信方法,由应用服务集群中的一个应用服务器执行,其特征在于,包括:
在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;
在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端;
其中,所述客服端用于根据客服请求中包括的所述目标用户端的用户身份标识,查询所述存储数据库,获取与所述用户身份标识匹配的服务器标识附加至与所述客服请求匹配的客服响应中,并将所述客服响应发送至负载均衡服务器进行转发;
在接收到负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端。
6.根据权利要求5所述的方法,其特征在于,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库,包括:
获取目标用户端在目标长连接建立过程中发送的连接确认信息;
在所述连接确认信息中获取目标cookie信息,并将所述目标cookie信息存储至所述存储数据库。
7.一种长连接通信方法,由客服端执行,其特征在于,包括:
在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识;
查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中;
将所述客服响应发送至负载均衡服务器;
其中,所述客服响应用于通过负载均衡服务器转发至与所述目标服务器标识匹配的目标应用服务器中,并经由目标应用服务器与目标用户端之间的长连接,发送至目标用户端。
8.根据权利要求7所述的方法,其特征在于,查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中,包括:
查询存储数据库中存储的,与目标用户身份标识匹配的目标cookie信息,并将所述目标cookie信息添加至所述客服请求对应的客服响应中。
9.一种长连接通信***,其特征在于,包括:多个用户端、负载均衡服务器、多个应用服务器构成的应用服务集群、存储数据库以及多个客服端,其中:
所述用户端,用于生成用于建立目标长连接的连接建立请求,并将连接建立请求发送至负载均衡服务器;在接收到负载均衡服务器转发的目标应用服务器的授予连接响应时,获取目标应用服务器的服务器标识,并在与目标长连接匹配的连接确认信息中添加所述服务器标识;将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接;
所述负载均衡服务器,用于在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识;若是,则将待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器;否则,则将待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器;
所述应用服务器,用于在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端;在接收到所述负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端;
所述客服端,用于在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识;查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中,将所述客服响应发送至负载均衡服务器。
10.一种长连接通信装置,应用于用户端,其特征在于,包括:
连接建立请求生成模块,用于生成用于建立目标长连接的连接建立请求,并将所述连接建立请求发送至负载均衡服务器;所述负载均衡服务器用于在应用服务集群中选择目标应用服务器与所述用户端建立目标长连接;
服务器标识获取模块,用于在接收到目标应用服务器针对所述连接建立请求反馈的授予连接响应时,获取目标应用服务器的服务器标识,并将所述服务器标识添加至与目标长连接匹配的连接确认信息中;
连接确认信息发送模块,用于将所述连接确认信息发送至负载均衡服务器,以建立与目标应用服务器的目标长连接;所述负载均衡服务器用于根据连接确认信息中的服务器标识,将所述连接确认信息定向转发至目标应用服务器。
11.一种长连接通信装置,应用于负载均衡服务器,其特征在于,包括:
服务器标识检测模块,用于在接收到待转发信息时,检测所述待转发信息中是否包括服务器标识;
待转发信息发送模块,用于若是,则将所述待转发信息发送至应用服务集群中,与所述服务器标识匹配的应用服务器;否则,将所述待转发信息发送至根据负载均衡算法在应用服务集群中确定的一个应用服务器。
12.一种长连接通信装置,应用于应用服务集群中的一个应用服务器,其特征在于,包括:
映射关系存储模块,用于在通过负载均衡服务器建立与目标用户端的目标长连接后,将所述目标用户端的用户身份标识与本机设备的服务器标识之间的映射关系存储至存储数据库;
客服请求转发模块,用于在通过所述目标长连接接收到所述目标用户端发送的客服请求时,通过短连接将所述客服请求转发至任一客服端;
其中,所述客服端用于根据客服请求中包括的所述目标用户端的用户身份标识,查询所述存储数据库,获取与所述用户身份标识匹配的服务器标识附加至与所述客服请求匹配的客服响应中,并将所述客服响应发送至负载均衡服务器进行转发;
客服响应接收模块,用于在接收到负载均衡服务器转发的针对所述客服请求的客服响应时,通过所述目标长连接将所述客服响应发送至目标用户端。
13.一种长连接通信装置,应用于客服端,其特征在于,包括:
目标用户身份标识获取模块,用于在接收到应用服务集群中的一个应用服务器通过短连接转发的客服请求时,获取所述客服请求中包括的与目标用户端匹配的目标用户身份标识;
目标服务器标识获取模块,用于查询存储数据库中存储的各用户身份标识与服务器标识之间的映射关系,获取与所述目标用户身份标识匹配的目标服务器标识,并将所述目标服务器标识添加至所述客服请求对应的客服响应中;
客服响应发送模块,用于将所述客服响应发送至负载均衡服务器;
其中,所述客服响应用于通过负载均衡服务器转发至与所述目标服务器标识匹配的目标应用服务器中,并经由目标应用服务器与目标用户端之间的长连接,发送至目标用户端。
14.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个计算机程序;
当所述一个或多个计算机程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述计算机程序时实现如权利要求1或2所述的,或者如权利要求3或4所述的,或者如权利要求5或6所述的,或者如权利要求7或8所述的长连接通信方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1或2所述的,或者如权利要求3或4所述的,或者如权利要求5或6所述的,或者如权利要求7或8所述的长连接通信方法。
CN202111265135.7A 2021-10-28 2021-10-28 一种长连接通信方法、***、装置、设备及存储介质 Active CN114024972B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111265135.7A CN114024972B (zh) 2021-10-28 2021-10-28 一种长连接通信方法、***、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111265135.7A CN114024972B (zh) 2021-10-28 2021-10-28 一种长连接通信方法、***、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN114024972A true CN114024972A (zh) 2022-02-08
CN114024972B CN114024972B (zh) 2023-11-03

Family

ID=80058581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111265135.7A Active CN114024972B (zh) 2021-10-28 2021-10-28 一种长连接通信方法、***、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN114024972B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448993A (zh) * 2022-02-15 2022-05-06 江苏楷文电信技术有限公司 基于webscokt协议实现端到端数据通信方法
CN114827171A (zh) * 2022-03-23 2022-07-29 青岛中科曙光科技服务有限公司 信息同步方法、装置、计算机设备和存储介质
CN114866594A (zh) * 2022-04-24 2022-08-05 普联技术有限公司 设备连接管理方法、装置、***、服务器及可读存储介质
CN115051978A (zh) * 2022-08-15 2022-09-13 广东采日能源科技有限公司 设备监控实现方法及***
CN115529314A (zh) * 2022-09-20 2022-12-27 北京恩吉鸿业能源科技有限责任公司 一种基于Netty服务器集群的通讯方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103795642A (zh) * 2014-01-24 2014-05-14 北京京东尚科信息技术有限公司 一种负载均衡的方法及装置
US20150052249A1 (en) * 2013-08-13 2015-02-19 International Business Machines Corporation Managing connection failover in a load balancer
CN107483327A (zh) * 2017-09-05 2017-12-15 江苏电力信息技术有限公司 一种基于长连接服务独立化的即时通讯方法
US20180041570A1 (en) * 2015-04-01 2018-02-08 Telefonaktiebolaget Lm Ericsson (Publ) System, Apparatus and Method for Load Balancing
CN108696598A (zh) * 2018-07-26 2018-10-23 廊坊新奥燃气设备有限公司 一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置
CN108768878A (zh) * 2018-06-06 2018-11-06 北京奇艺世纪科技有限公司 一种负载均衡***、方法、装置及负载均衡设备
CN110620802A (zh) * 2018-06-20 2019-12-27 华为技术有限公司 一种负载均衡方法和装置
CN111010425A (zh) * 2019-11-22 2020-04-14 北京奇艺世纪科技有限公司 一种服务器连接方法、负载均衡设备及电子设备

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150052249A1 (en) * 2013-08-13 2015-02-19 International Business Machines Corporation Managing connection failover in a load balancer
CN103795642A (zh) * 2014-01-24 2014-05-14 北京京东尚科信息技术有限公司 一种负载均衡的方法及装置
US20180041570A1 (en) * 2015-04-01 2018-02-08 Telefonaktiebolaget Lm Ericsson (Publ) System, Apparatus and Method for Load Balancing
CN107483327A (zh) * 2017-09-05 2017-12-15 江苏电力信息技术有限公司 一种基于长连接服务独立化的即时通讯方法
CN108768878A (zh) * 2018-06-06 2018-11-06 北京奇艺世纪科技有限公司 一种负载均衡***、方法、装置及负载均衡设备
CN110620802A (zh) * 2018-06-20 2019-12-27 华为技术有限公司 一种负载均衡方法和装置
US20210160311A1 (en) * 2018-06-20 2021-05-27 Huawei Technologies Co., Ltd. Load balancing method and apparatus
CN108696598A (zh) * 2018-07-26 2018-10-23 廊坊新奥燃气设备有限公司 一种微服务架构下将无状态服务接收到的消息通过长连接透传的方法和装置
CN111010425A (zh) * 2019-11-22 2020-04-14 北京奇艺世纪科技有限公司 一种服务器连接方法、负载均衡设备及电子设备

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114448993A (zh) * 2022-02-15 2022-05-06 江苏楷文电信技术有限公司 基于webscokt协议实现端到端数据通信方法
CN114827171A (zh) * 2022-03-23 2022-07-29 青岛中科曙光科技服务有限公司 信息同步方法、装置、计算机设备和存储介质
CN114827171B (zh) * 2022-03-23 2023-12-15 青岛中科曙光科技服务有限公司 信息同步方法、装置、计算机设备和存储介质
CN114866594A (zh) * 2022-04-24 2022-08-05 普联技术有限公司 设备连接管理方法、装置、***、服务器及可读存储介质
CN114866594B (zh) * 2022-04-24 2023-08-08 普联技术有限公司 设备连接管理方法、装置、***、服务器及可读存储介质
CN115051978A (zh) * 2022-08-15 2022-09-13 广东采日能源科技有限公司 设备监控实现方法及***
CN115529314A (zh) * 2022-09-20 2022-12-27 北京恩吉鸿业能源科技有限责任公司 一种基于Netty服务器集群的通讯方法

Also Published As

Publication number Publication date
CN114024972B (zh) 2023-11-03

Similar Documents

Publication Publication Date Title
CN114024972B (zh) 一种长连接通信方法、***、装置、设备及存储介质
CN110300050B (zh) 消息推送方法、装置、计算机设备及存储介质
CN105991412A (zh) 消息推送方法及装置
CN113676563B (zh) 内容分发网络服务的调度方法、装置、设备及存储介质
CN113157466A (zh) 一种消息推送方法、装置、***、电子设备和存储介质
CN111885007B (zh) 信息溯源方法、装置、***及存储介质
CN106411713B (zh) 一种状态通知方法及服务器
CN113342503B (zh) 实时进度反馈方法、装置、设备及存储介质
CN113242317B (zh) 一种面向联盟链监管***的寻址路由同步方法和相关装置
CN112200680B (zh) 区块链节点管理方法、装置、计算机以及可读存储介质
CN114827161A (zh) 服务调用请求发送方法、装置、电子设备及可读存储介质
CN113765774B (zh) 消息实时同步方法、装置、电子设备及介质
WO2024103943A1 (zh) 一种业务处理方法、装置、存储介质及设备
CN111427710B (zh) 应用程序中组件的通信方法、装置、设备及存储介质
CN115951923B (zh) 订阅事件管理方法、显示***、设备和存储介质
CN111930482A (zh) 基于节点集群的任务处理方法、装置、设备及存储介质
CN104731660A (zh) 数据分配方法、装置和***
CN111010362B (zh) 一种异常主机的监控方法及装置
US20170139808A1 (en) Method and dispatcher node for server processing management
CN111427703A (zh) 工业数据实时展示方法及***
CN111666509A (zh) 基于跨网络地理数据的云查询方法及***
CN113596105B (zh) 内容的获取方法、边缘节点及计算机可读存储介质
CN111193778A (zh) 一种web服务负载均衡的方法、装置、设备及介质
CN111726417B (zh) 延时控制方法、装置、服务器及存储介质
CN113778709A (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