CN110933180B - 一种通信建立方法、装置、负载设备及存储介质 - Google Patents
一种通信建立方法、装置、负载设备及存储介质 Download PDFInfo
- Publication number
- CN110933180B CN110933180B CN201911259966.6A CN201911259966A CN110933180B CN 110933180 B CN110933180 B CN 110933180B CN 201911259966 A CN201911259966 A CN 201911259966A CN 110933180 B CN110933180 B CN 110933180B
- Authority
- CN
- China
- Prior art keywords
- server
- terminal
- session request
- address
- session
- 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.)
- Active
Links
Images
Classifications
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
-
- 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
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- 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
- H04L67/141—Setup of application sessions
-
- 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
- H04L67/146—Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
- H04L65/1104—Session initiation protocol [SIP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Telephonic Communication Services (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请公开了一种通信建立方法,所述通信建立方法包括接收第一终端发送的终端会话请求,并将终端会话请求转发至对应的目标服务器,以便目标服务器返回服务端会话请求;将服务端会话请求转发至第二终端,接收第二终端对服务端会话请求的会话应答信息;确定会话应答信息的呼叫标识,根据映射关系表确定与会话应答信息的呼叫标识对应的服务器地址;根据服务器地址将会话应答信息发送至目标服务器,并建立第一终端与第二终端的通信连接。本申请能够使终端设备的应答信息返回至正确的服务器,提高建立通信连接的成功率。本申请还公开了一种通信建立装置、一种负载设备及一种存储介质,具有以上有益效果。
Description
技术领域
本申请涉及网络通信技术领域,特别涉及一种通信建立方法、装置、一种负载设备及一种存储介质。
背景技术
网络通信是通过网络将各个孤立的设备进行连接,通过信息交换实现人与人,人与电子设备,电子设备与电子设备之间的通信。电子设备与电子设备之间往往通过代理服务器建立两个终端的通信连接。
相关技术中,为了减小服务器的业务压力,往往在代理服务器与终端设备之间设置负载设备,当负载设备接收到终端设备发送的业务流量时,负载设备可以根据业务流量的特征进行调度,以便将业务流量转发至对应的代理服务器。但是传统的流量负载方案主用应用于终端设备向代理服务器发送业务流量的过程中,尚不存在代理服务器向终端设备发送业务流量的解决方案,当存在代理服务器向终端设备发送业务流量的业务需求时,终端设备对于业务流量的应答信息往往无法回到对应的服务器,导致通信连接失败。
因此,如何使终端设备的应答信息返回至正确的服务器,提高建立通信连接的成功率是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种通信建立方法、装置、一种负载设备及一种存储介质,能够使终端设备的应答信息返回至正确的服务器,提高建立通信连接的成功率。
为解决上述技术问题,本申请提供一种通信建立方法,包括:
接收所述第一终端发送的终端会话请求,并将所述终端会话请求转发至对应的目标服务器,以便所述目标服务器返回服务端会话请求;
将所述服务端会话请求转发至所述第二终端,接收所述第二终端对所述服务端会话请求的会话应答信息;
确定所述会话应答信息的呼叫标识,根据映射关系表确定与所述会话应答信息的呼叫标识对应的服务器地址;其中,所述映射关系表中存储有所述终端会话请求的呼叫标识与所述目标服务器的服务器地址的映射关系;
根据所述服务器地址将所述会话应答信息发送至所述目标服务器,并建立所述第一终端与所述第二终端的通信连接。
可选的,将所述终端会话请求转发至对应的所述目标服务器,包括:
确定所述终端会话请求对应的目的IP地址和目的端口;
根据所述目的IP地址和所述目的端口判断是否存在提供所述终端会话请求对应的虚拟服务的服务器;
若存在提供所述虚拟服务的服务器,则解析所述终端会话请求得到所述终端会话请求的呼叫标识;
判断所述映射关系表中是否存在与所述终端会话请求的呼叫标识对应的服务器地址;
若存在,则根据所述映射关系表中与所述终端会话请求的呼叫标识对应的服务器地址,将所述终端会话请求转发至对应的所述目标服务器;
若不存在,则根据第一调度策略从所有所述服务器中选择所述目标服务器,并将所述终端会话请求转发至根据所述第一调度策略选择的目标服务器。
可选的,在根据第一调度策略确定从所有所述服务器中选择所述目标服务器之后,还包括:
将目标映射关系存储至所述映射关系表;其中,所述目标映射关系为根据所述第一调度策略选择的目标服务器的服务器地址与所述终端会话请求的呼叫标识的映射关系。
可选的,所述第一调度策略包括轮询调度策略或负载均衡调度策略;
相应的,根据所述轮询调度策略从所有所述服务器中选择所述目标服务器包括:
确定上一条终端会话请求发送的服务器的第一服务器序号,根据服务器序号顺序确定第二服务器序号,将所述第二服务器序号对应的服务器作为所述目标服务器;其中,所述第二服务器序号为所述第一服务器序号的下一序号;
相应的,根据所述负载均衡调度策略从所有所述服务器中选择所述目标服务器包括:
将所有所述服务器中负载压力最小的服务器作为所述目标服务器。
可选的,还包括:
接收其他终端发送的会话应答信息,并判断所述映射关系表中是否包括所述其他终端发送的会话应答信息的呼叫标识对应的服务器地址;
若是,则将所述其他终端发送的会话应答信息发送至对应的服务器;
若否,则根据第二调度策略从所有所述服务器中选择服务器,并将所述其他终端发送的会话应答信息发送至对应的服务器。
可选的,所述终端会话请求、所述服务端会话请求和所述会话应答信息均为基于会话初始化协议的信息。
可选的,将所述服务端会话请求转发至所述第二终端,包括:
解析所述服务端会话请求确定所述第二终端的终端地址;
确定所述服务端会话请求对应的源IP地址和源端口;
根据所述源IP地址和所述源端口查询所述服务端会话请求对应的虚拟服务;
通过源地址转化的方式将所述服务端会话请求的源IP地址和源端口转化为虚拟服务IP地址和虚拟服务端口;
根据所述第二终端的终端地址将源地址转化后的服务端会话请求转发至所述第二终端。
本申请还提供了一种通信建立装置,该装置包括:
终端请求转发模块,用于接收所述第一终端发送的终端会话请求,并将所述终端会话请求转发至对应的目标服务器,以便所述目标服务器返回服务端会话请求;
服务端请求转发模块,用于将所述服务端会话请求转发至所述第二终端,接收所述第二终端对所述服务端会话请求的会话应答信息;
服务器确定模块,用于确定所述会话应答信息的呼叫标识,根据映射关系表确定与所述会话应答信息的呼叫标识对应的服务器地址;其中,所述映射关系表中存储有所述终端会话请求的呼叫标识与所述目标服务器的服务器地址的映射关系;
通信建立模块,用于根据所述服务器地址将所述会话应答信息发送至所述目标服务器,并建立所述第一终端与所述第二终端的通信连接。
本申请还提供了一种存储介质,其上存储有计算机程序,所述计算机程序执行时实现上述通信建立方法执行的步骤。
本申请还提供了一种负载设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现上述通信建立方法执行的步骤。
本发明提供了一种通信建立方法,包括:接收所述第一终端发送的终端会话请求,并将所述终端会话请求转发至对应的目标服务器,以便所述目标服务器返回服务端会话请求;将所述服务端会话请求转发至所述第二终端,接收所述第二终端对所述服务端会话请求的会话应答信息;确定所述会话应答信息的呼叫标识,根据映射关系表确定与所述会话应答信息的呼叫标识对应的服务器地址;其中,所述映射关系表中存储有所述终端会话请求的呼叫标识与所述目标服务器的服务器地址的映射关系;根据所述服务器地址将所述会话应答信息发送至所述目标服务器,以便建立所述第一终端与所述第二终端的通信。
本发明在接收到第一终端发送的终端会话请求后,将终端会话请求转发至对应的目标服务器,并将目标服务器的服务端会话请求发送至第二终端。在接收第二终端返回的会话应答信息时,可以根据映射关系表确定终端会话请求所发送的目标服务器的服务器地址,进而将会话应答信息发送至目标服务器。本申请根据映射关系表将第一终端的终端会话请求与第二终端的会话应答信息均发送至同一目标服务器,使得终端设备的应答信息返回至正确的服务器,提高建立通信连接的成功率。本申请同时还提供了一种通信建立装置、一种负载设备和一种存储介质,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种通信建立方法的流程图;
图2为本申请实施例所提供的一种终端会话请求的转发方法的流程图;
图3为本申请实施例所提供的一种服务端会话请求的转发方法的流程图;
图4为sip场景中inbound流量的处理流程示意图;
图5为sip场景中outbound流量的处理流程示意图;
图6为本申请实施例所提供的一种通信建立装置的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
下面请参见图1,图1为本申请实施例所提供的一种通信建立方法的流程图。
具体步骤可以包括:
S101:接收第一终端发送的终端会话请求,并将终端会话请求转发至对应的目标服务器,以便目标服务器返回服务端会话请求;
其中,本实施例的执行主体可以为应用于分别与多个终端和多个服务器连接的负载设备,一台服务器可以用于处理特定虚拟服务(如视频聊天或语音聊天)的业务数据,负载设备设置于多台服务器的前端用于接收多个终端发送的不同虚拟服务的终端会话请求,负载设备在接收到终端发送的终端会话请求后,可以执行相应的调度处理以便将终端会话请求转发至对应的目标服务器。本实施例不限定服务器的具体类型,服务器可以为Back-to-Back User Agent(背靠背用户代理)服务器。
在负载设备与第一终端发送的终端会话请求后,可以确定终端会话请求对应的目标服务器的服务器地址,并将终端会话请求转发至目标服务器。本实施例中可以预先设置终端会话请求与目标服务器的对应关系,依据该对应关系实现终端会话请求的转发;当然,本实施例还可以根据相应的调度策略实现终端会话请求的转发。
在通信建立过程中,第一终端作为会话发起端,终端会话请求中可以包括会话接收端的身份标识,该身份标识可以为域名或IP地址(Internet ProtocolAddress,互联网协议地址)。在目标服务器接收到终端会话请求后,验证是否存在终端会话请求中所包括的会话接收端,若存在则说明可以向会话接收端发送相应的请求信息,若不存在则说明终端会话请求存在错误可以向第一终端反馈会话接收端不存在的提示信息。下面通过一个例子说明上述实施方式,用户A使用第一终端想要与用户B进行视频通话,第一终端先向负载设备发送终端会话请求,负载设备与服务器1、服务器2和服务器3连接,服务器1用于提供视频通话服务,服务器2用于提供语音聊天服务,服务器3用于提供文字聊天服务,此时负载设备将终端会话请求转发至服务器1,服务器1解析终端会话请求发现会话接收端的身份标识为abcde,服务器1查询身份标识为abcde的用户是否存在,若存在则向身份标识为abcde的用户所使用的第二终端发送相应的请求信息,若不存在则向第一终端返回用户不存在的提示信息。
S102:将服务端会话请求转发至第二终端,接收第二终端对服务端会话请求的会话应答信息;
其中,本实施例建立在终端会话请求中会话接收端的身份标识正确且存在的基础上,将服务端会话请求转发至第二终端。为了降低服务器的业务压力,本实施例中服务器与第一终端、第二终端等终端设备之间不进行直接的数据传输,而是通过负载设备进行转发。在负载设备接收到服务端发送的服务端会话请求后,解析服务端会话请求得到会话接收端(即第二终端)的IP地址,并将服务端会话请求发送至第二终端。服务端会话请求中出了包括会话接收端的IP地址外,还可以包括会话发起端(即第一终端)的IP地址、当前登录用户的用户名等信息。第二终端在接收到服务端会话请求之后,第二终端可以向负载终端返回对于服务端会话请求的应答信息。
S103:确定会话应答信息的呼叫标识,根据映射关系表确定与会话应答信息的呼叫标识对应的服务器地址;
其中,服务器的应答信息需要发送至接收终端会话请求的目标服务器才能够建立通信。需要说明的是终端会话请求和应答信息中均包括呼叫标识Call-ID,呼叫标识代表了一种在两个或多个终端杆之间共享SIP信令的关系,呼叫标识标记了一个特定的邀请和这个邀请相关的所有后续事务。
属于同一会话流程中的终端会话请求与应答信息具有相同的呼叫标识,因此需要将具有相同呼叫标识的终端会话请求和应答信息发送至统一服务器才能够建立第一终端与第二终端的通信连接。本实施例根据映射关系表确定与会话应答信息的呼叫标识对应的服务器地址,映射关系表中可以存储有终端会话请求的呼叫标识与目标服务器的服务器地址的映射关系。本实施例可以存在维护映射关系表的操作,当检测到将某一终端会话请求发送至特定的服务器后,可以在映射关系表中记录该终端会话请求的呼叫标识与服务器的服务器地址的映射关系。当然,在更新映射关系表之前还可以存在判断该服务器标识与服务器地址的映射关系是否存在的操作,若存在则可以不更新映射关系表,若不存在则将该服务器标识与服务器地址的映射关系添加至映射关系表。
作为一种可行的实施方式,本实施例中的终端会话请求、服务端会话请求和会话应答信息均为基于会话初始化协议的信息。会话初始化协议(Session InitiationProtocol,SIP)是一个应用层的信令控制协议,可以用于创建、修改和释放一个或多个参与者的会话。上述会话可以包括Internet多媒体会议、IP电话或多媒体分发。会话的参与者可以通过组播(multicast)、网状单播(unicast)或两者的混合体进行通信。
S104:根据服务器地址将会话应答信息发送至目标服务器,并建立第一终端与第二终端的通信连接。
本实施例在接收到第一终端发送的终端会话请求后,将终端会话请求转发至对应的目标服务器,并将目标服务器的服务端会话请求发送至第二终端。在接收第二终端返回的会话应答信息时,可以根据映射关系表确定终端会话请求所发送的目标服务器的服务器地址,进而将会话应答信息发送至目标服务器。本申请根据映射关系表将第一终端的终端会话请求与第二终端的会话应答信息均发送至同一目标服务器,使得终端设备的应答信息返回至正确的服务器,提高建立通信连接的成功率。
请参见图2,图2为本申请实施例所提供的一种终端会话请求的转发方法的流程图,本实施例是对图1对应的实施例中S101的进一步介绍,可以将本实施例与图1对应的实施例相结合得到其他实施方式,本实施例可以包括以下步骤:
S201:确定终端会话请求对应的目的IP地址和目的端口;
S202:根据目的IP地址和目的端口查询终端会话请求对应的虚拟服务;
其中,本实施例可以预先存储目的IP地址与目的端口与虚拟服务的对应关系,虚拟服务指终端会话请求对应的虚拟会话服务,例如当第一终端发起视频聊天软件A的终端会话请求时,该终端会话请求对应的虚拟服务为社交软件A的视频通话服务。
S203:当存在与虚拟服务对应的服务器时,解析终端会话请求得到终端会话请求的呼叫标识;
在确定终端会话请求对应的虚拟服务之后,负载设备可以先判断与自身连接的服务器中是否存在提供该虚拟服务的服务器,若存在则可以解析终端会话请求得到呼叫标识,若不存在则可以向第一终端返回会话失败的提示信息。
S204:判断映射关系表中是否存在与终端会话请求的呼叫标识对应的服务器地址;若存在,则进入S205;若不存在,则进入S206;
其中,映射关系表中存储有多个呼叫标识与多个服务器地址的映射关系,若在映射关系表中已经存在终端会话请求的呼叫标识与服务器地址的对应关系,则可以利用该映射关系将终端会话请求转发至映射关系所指示的服务器中。若映射关系表中不存在与终端会话请求的呼叫标识对应的服务器地址,则可以根据相应的调度策略将终端会话请求发送至对应的目标服务器。
S205:根据映射关系表中与终端会话请求的呼叫标识对应的服务器地址,将终端会话请求转发至对应的目标服务器;
S206:根据第一调度策略从所有服务器中选择目标服务器,并将终端会话请求转发至根据第一调度策略选择的目标服务器。
其中,第一调度策略指从所有服务器中选择一台服务器作为终端会话请求的接收端。作为一种可行的实施方式,第一调度策略可以为轮询调度策略,根据轮询调度策略从所有服务器中选择目标服务器包括:确定上一条终端会话请求发送的服务器的第一服务器序号,根据服务器序号顺序确定第二服务器序号,将第二服务器序号对应的服务器作为目标服务器;其中,第二服务器序号为第一服务器序号的下一序号。轮询调度策略能够使所有服务器均等接收终端会话请求,例如存在服务器001、服务器002和服务器003,若上一次终端会话请求发送的服务器为服务器002,那么本次终端会话请求发送的服务器为服务器003。作为另一种可行的实施方式,第一调度策略可以为负载均衡调度策略,根据负载均衡调度策略从所有服务器中选择目标服务器包括:将所有服务器中负载压力最小的服务器作为目标服务器。负载均衡策略能够避免个别服务器出现业务压力过大的情况。当然,上述轮询调度策略和负载均衡调度策略所确定的目标服务器均为能够提供终端会话请求对应的虚拟服务的服务器,若能够提供相应虚拟服务的服务器的数量为1时,可以直接向该服务器转发终端会话请求。
进一步的,在本实施例根据第一调度策略确定从所有服务器中选择目标服务器之后,还可以更新映射关系表,以便存储根据第一调度策略选择的目标服务器的服务器地址与终端会话请求的呼叫标识的映射关系。在更新映射关系表后,若接收到具有相同呼叫标识的终端会话请求时,可以根据映射关系表确定目标服务器的服务器地址,无需进行基于第一调度策略的服务器选择方案。
作为对于图1对应实施例的进一步介绍,在负载设备接收到其他终端的会话应答信息时,判断映射关系表中是否包括其他终端的会话应答信息的呼叫标识对应的服务器地址;若是,则将其他终端发送的会话应答信息发送至对应的服务器;若否,则根据第二调度策略从所有服务器中选择服务器,以便将其他终端发送的会话应答信息发送至对应的服务器。其中,第二调度策略可以为上述的轮询调度策略或负载均衡调度策略。
请参见图3,图3为本申请实施例所提供的一种服务端会话请求的转发方法的流程图,本实施例是对图1对应实施例中S102的进一步介绍,可以将本实施例与图1对应的实施例相结合得到其他的实施方式,本实施例可以包括以下步骤:
S301:解析服务端会话请求确定第二终端的终端地址;
S302:确定服务端会话请求对应的源IP地址和源端口;
S303:根据源IP地址和源端口查询服务端会话请求对应的虚拟服务;
S304:通过源地址转化的方式将服务端会话请求的源IP地址和源端口转化为虚拟服务IP地址和虚拟服务端口;
S305:根据第二终端的终端地址将源地址转化后的服务端会话请求转发至第二终端。
在上述实施例中在接收到服务端会话请求后,负载设备作为服务器与终端设备之间的通信的桥梁,在转发服务端会话请求之前负载设备可以对服务端会话请求执行源地址转化(Source Network Address Translation,SNAT)操作,使得服务端会话请求的源IP地址为虚拟服务的IP地址,源端口为虚拟服务端口,使得服务端会话请求通过统一的IP地址和端口发送至第二终端。
下面通过在实际应用中的实施例说明上述实施例描述的流程。请参见图4和图5,图4为sip场景中inbound流量的处理流程示意图,图5为sip场景中outbound流量的处理流程示意图。sip场景指使用会话初始化协议(Session Initiation Protocol)的终端会话场景。inbound流量指外部网络的终端向内部网络服务器发起的请求,outbound流量指内部网络的服务器向外部网络终端发起的请求。
本实施例中的服务器为可以为Back-to-Back User Agent服务器,在服务器与客户端之间可以设置有负载设备。负载设备上可以配置第一虚拟服务负载和第二虚拟服务负载,第一虚拟服务负载用于提供inbound的流量负载,第二虚拟服务负载用于提供outbound流量负载。本实施例可以对第一虚拟服务负载和第二虚拟服务负载进行关联。在处理inbound流量时,第一虚拟服务负载可以记录每个sip消息的Call-ID和对应的调度服务器。客户端对于outbound流量的应答信息可以根据inbound负载策略转发至对应的服务器,即:根据应答的Call-ID查询记录的Call-ID映射的服务器信息,如果存在则不再调度,直接转发到映射的服务器上。如果不存在则再调度,并记录Call-ID与服务器地址的对应关系。
对于inbound流量的处理流程如下:客户端向负载设备发送一个sip请求(即终端会话请求),负载设备根据sip请求的目的IP地址和目的端口选中预先配置的虚拟服务,解析sip消息得到Call-ID并查询是否存在Call-ID映射的服务器信息;如果不存在则根据调度策略选择请求转发的服务器并把Call-ID和选中的服务器做个映射缓存在负载设备中,如果存在则直接转发到对应的服务器。
对于outbound流量的处理流程如下:服务端(即代理服务器)发起一个sip请求(即服务端会话请求),sip请求经过负载设备时,负载设备通过源地址转换把sip消息的源IP地址和源端口转为inbound负载虚拟服务的IP地址和端口并发送指其他客户端。其他客户端的应答信息发送至负载设备后,应答信息会命中inbound的虚拟服务,负载设备通过解析应答信息得到Call-ID,查询是否存在该Call-ID映射的服务器信息;如果不存在则根据调度策略选择请求转发的服务器并把Call-ID和选中的服务器做个映射缓存在负载设备中,如果存在则直接至相应的服务器。
上述实施例对inbound流量对应的第一虚拟服务负载和outbound流量的第二虚拟服务负载进行联动,记录Call-ID和对应的服务器信息,来保证outbound流量的应答信息能回到正确的服务器上。
请参见图6,图6为本申请实施例所提供的一种通信建立装置的结构示意图;
该装置可以包括:
终端请求转发模块100,用于接收所述第一终端发送的终端会话请求,并将所述终端会话请求转发至对应的目标服务器,以便所述目标服务器返回服务端会话请求;
服务端请求转发模块200,用于将所述服务端会话请求转发至所述第二终端,接收所述第二终端对所述服务端会话请求的会话应答信息;
服务器确定模块300,用于确定所述会话应答信息的呼叫标识,根据映射关系表确定与所述会话应答信息的呼叫标识对应的服务器地址;其中,所述映射关系表中存储有所述终端会话请求的呼叫标识与所述目标服务器的服务器地址的映射关系;
通信建立模块400,用于根据所述服务器地址将所述会话应答信息发送至所述目标服务器,并建立所述第一终端与所述第二终端的通信连接。
本实施例在接收到第一终端发送的终端会话请求后,将终端会话请求转发至对应的目标服务器,并将目标服务器的服务端会话请求发送至第二终端。在接收第二终端返回的会话应答信息时,可以根据映射关系表确定终端会话请求所发送的目标服务器的服务器地址,进而将会话应答信息发送至目标服务器。本申请根据映射关系表将第一终端的终端会话请求与第二终端的会话应答信息均发送至同一目标服务器,使得终端设备的应答信息返回至正确的服务器,提高建立通信连接的成功率。
进一步的,终端请求转发模块100包括:
信息确定单元,用于确定所述终端会话请求对应的目的IP地址和目的端口;
虚拟服务确定单元,用于根据所述目的IP地址和所述目的端口判断是否存在提供所述终端会话请求对应的虚拟服务的服务器;
请求解析单元,用于若存在提供所述虚拟服务的服务器,解析所述终端会话请求得到所述终端会话请求的呼叫标识;
第一判断单元,用于判断所述映射关系表中是否存在与所述终端会话请求的呼叫标识对应的服务器地址;若存在,则根据所述映射关系表中与所述终端会话请求的呼叫标识对应的服务器地址,将所述终端会话请求转发至对应的所述目标服务器;若不存在,则根据第一调度策略从所有所述服务器中选择所述目标服务器,并将所述终端会话请求转发至根据所述第一调度策略选择的目标服务器。
进一步的,还包括:
映射关系表更新单元,用于在根据第一调度策略确定从所有所述服务器中选择所述目标服务器之后,将目标映射关系存储至所述映射关系表;其中,所述目标映射关系为根据所述第一调度策略选择的目标服务器的服务器地址与所述终端会话请求的呼叫标识的映射关系。
进一步的,所述第一调度策略包括轮询调度策略或负载均衡调度策略;
相应的,根据所述轮询调度策略从所有所述服务器中选择所述目标服务器包括:确定上一条终端会话请求发送的服务器的第一服务器序号,根据服务器序号顺序确定第二服务器序号,将所述第二服务器序号对应的服务器作为所述目标服务器;其中,所述第二服务器序号为所述第一服务器序号的下一序号;
相应的,根据所述负载均衡调度策略从所有所述服务器中选择所述目标服务器包括:将所有所述服务器中负载压力最小的服务器作为所述目标服务器。
进一步的,还包括:
第二判断单元,用于接收其他终端发送的会话应答信息,并判断所述映射关系表中是否包括所述其他终端发送的会话应答信息的呼叫标识对应的服务器地址;若是,则将所述其他终端发送的会话应答信息发送至对应的服务器;若否,则根据第二调度策略从所有所述服务器中选择服务器,并将所述其他终端发送的会话应答信息发送至对应的服务器。
进一步的,所述终端会话请求、所述服务端会话请求和所述会话应答信息均为基于会话初始化协议的信息。
进一步的,服务端请求转发模块200用于解析所述服务端会话请求确定所述第二终端的终端地址;还用于确定所述服务端会话请求对应的源IP地址和源端口;还用于根据所述源IP地址和所述源端口查询所述服务端会话请求对应的虚拟服务;还用于通过源地址转化的方式将所述服务端会话请求的源IP地址和源端口转化为虚拟服务IP地址和虚拟服务端口;还用于根据所述第二终端的终端地址将源地址转化后的服务端会话请求转发至所述第二终端。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
本申请还提供了一种存储介质,其上存有计算机程序,该计算机程序被执行时可以实现上述实施例所提供的步骤。该存储介质可以包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请还提供了一种负载设备,可以包括存储器和处理器,所述存储器中存有计算机程序,所述处理器调用所述存储器中的计算机程序时,可以实现上述实施例所提供的步骤。当然所述负载设备还可以包括各种网络接口,电源等组件。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的状况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种通信建立方法,其特征在于,应用于分别与多个终端和多个服务器连接的负载设备,包括:
接收第一终端发送的终端会话请求,并将所述终端会话请求转发至对应的目标服务器,以便所述目标服务器返回服务端会话请求;其中,所述负载设备依据所述终端会话请求与目标服务器的对应关系实现所述终端会话请求的转发;
将所述服务端会话请求转发至第二终端,接收所述第二终端对服务端会话请求的会话应答信息;
确定所述会话应答信息的呼叫标识,根据映射关系表确定与所述会话应答信息的呼叫标识对应的服务器地址;其中,所述映射关系表中存储有所述终端会话请求的呼叫标识与所述目标服务器的服务器地址的映射关系;
根据所述服务器地址将所述会话应答信息发送至所述目标服务器,并建立所述第一终端与所述第二终端的通信连接。
2.根据权利要求1所述通信建立方法,其特征在于,将所述终端会话请求转发至对应的所述目标服务器,包括:
确定所述终端会话请求对应的目的IP地址和目的端口;
根据所述目的IP地址和所述目的端口判断是否存在提供所述终端会话请求对应的虚拟服务的服务器;
若存在提供所述虚拟服务的服务器,则解析所述终端会话请求得到所述终端会话请求的呼叫标识;
判断所述映射关系表中是否存在与所述终端会话请求的呼叫标识对应的服务器地址;
若存在,则根据所述映射关系表中与所述终端会话请求的呼叫标识对应的服务器地址,将所述终端会话请求转发至对应的所述目标服务器;
若不存在,则根据第一调度策略从所有所述服务器中选择所述目标服务器,并将所述终端会话请求转发至根据所述第一调度策略选择的目标服务器。
3.根据权利要求2所述通信建立方法,其特征在于,在根据第一调度策略确定从所有所述服务器中选择所述目标服务器之后,还包括:
将目标映射关系存储至所述映射关系表;其中,所述目标映射关系为根据所述第一调度策略选择的目标服务器的服务器地址与所述终端会话请求的呼叫标识的映射关系。
4.根据权利要求2所述通信建立方法,其特征在于,所述第一调度策略包括轮询调度策略或负载均衡调度策略;
相应的,根据所述轮询调度策略从所有所述服务器中选择所述目标服务器包括:
确定上一条终端会话请求发送的服务器的第一服务器序号,根据服务器序号顺序确定第二服务器序号,将所述第二服务器序号对应的服务器作为所述目标服务器;其中,所述第二服务器序号为所述第一服务器序号的下一序号;
相应的,根据所述负载均衡调度策略从所有所述服务器中选择所述目标服务器包括:
将所有所述服务器中负载压力最小的服务器作为所述目标服务器。
5.根据权利要求1所述通信建立方法,其特征在于,还包括:
接收其他终端发送的会话应答信息,并判断所述映射关系表中是否包括所述其他终端发送的会话应答信息的呼叫标识对应的服务器地址;
若是,则将所述其他终端发送的会话应答信息发送至对应的服务器;
若否,则根据第二调度策略从所有所述服务器中选择服务器,并将所述其他终端发送的会话应答信息发送至对应的服务器。
6.根据权利要求1所述通信建立方法,其特征在于,所述终端会话请求、所述服务端会话请求和所述会话应答信息均为基于会话初始化协议的信息。
7.根据权利要求1至6任一项所述通信建立方法,其特征在于,将所述服务端会话请求转发至所述第二终端,包括:
解析所述服务端会话请求确定所述第二终端的终端地址;
确定所述服务端会话请求对应的源IP地址和源端口;
根据所述源IP地址和所述源端口查询所述服务端会话请求对应的虚拟服务;
通过源地址转化的方式将所述服务端会话请求的源IP地址和源端口转化为虚拟服务IP地址和虚拟服务端口;
根据所述第二终端的终端地址将源地址转化后的服务端会话请求转发至所述第二终端。
8.一种通信建立装置,其特征在于,应用于分别与多个终端和多个服务器连接的负载设备,包括:
终端请求转发模块,用于接收第一终端发送的终端会话请求,并将所述终端会话请求转发至对应的目标服务器,以便所述目标服务器返回服务端会话请求;其中,所述终端请求转发模块具体用于依据所述终端会话请求与目标服务器的对应关系实现所述终端会话请求的转发;
服务端请求转发模块,用于将所述服务端会话请求转发至第二终端,接收所述第二终端对所述服务端会话请求的会话应答信息;
服务器确定模块,用于确定所述会话应答信息的呼叫标识,根据映射关系表确定与所述会话应答信息的呼叫标识对应的服务器地址;其中,所述映射关系表中存储有所述终端会话请求的呼叫标识与所述目标服务器的服务器地址的映射关系;
通信建立模块,用于根据所述服务器地址将所述会话应答信息发送至所述目标服务器,并建立所述第一终端与所述第二终端的通信连接。
9.一种负载设备,其特征在于,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器调用所述存储器中的计算机程序时实现如权利要求1至7任一项所述通信建立方法的步骤。
10.一种存储介质,其特征在于,所述存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器加载并执行时,实现如上权利要求1至7任一项所述通信建立方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911259966.6A CN110933180B (zh) | 2019-12-10 | 2019-12-10 | 一种通信建立方法、装置、负载设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911259966.6A CN110933180B (zh) | 2019-12-10 | 2019-12-10 | 一种通信建立方法、装置、负载设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110933180A CN110933180A (zh) | 2020-03-27 |
CN110933180B true CN110933180B (zh) | 2023-05-12 |
Family
ID=69859708
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911259966.6A Active CN110933180B (zh) | 2019-12-10 | 2019-12-10 | 一种通信建立方法、装置、负载设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110933180B (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111885219B (zh) * | 2020-07-28 | 2023-04-07 | 杭州迪普科技股份有限公司 | 一种基于sip媒体协商的通信方法、装置和nat设备 |
CN111953798A (zh) * | 2020-08-25 | 2020-11-17 | 杭州安恒信息技术股份有限公司 | 一种跨网络通信方法、装置、系统和代理服务器 |
CN112187876A (zh) * | 2020-09-10 | 2021-01-05 | 交控科技股份有限公司 | 一种通讯列表建立方法、通信方法及云平台 |
CN114584963B (zh) * | 2020-12-01 | 2024-04-12 | 奇点新源国际技术开发(北京)有限公司 | 通话呼叫方法、装置和终端设备 |
CN113014629A (zh) * | 2021-02-10 | 2021-06-22 | 上海牙木通讯技术有限公司 | 句柄标识的代理转发方法、服务器及计算机可读存储介质 |
CN113194508B (zh) * | 2021-03-31 | 2022-10-21 | 新华三信息技术有限公司 | 一种数据传输方法、LoRA服务器以及LoRA终端 |
CN113905019B (zh) * | 2021-09-29 | 2023-12-01 | 天翼物联科技有限公司 | 基于终端地址管理的数据传输方法、装置、设备及介质 |
CN114125827B (zh) * | 2021-11-24 | 2023-11-10 | 北京天融信网络安全技术有限公司 | 一种终端管理方法、装置及集中化管理系统 |
CN116033011A (zh) * | 2023-03-31 | 2023-04-28 | 新云网科技集团股份有限公司 | 一种数据通信方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002010917A1 (en) * | 2000-07-27 | 2002-02-07 | Bea Systems, Inc. | System and method for concentration and load-balancing of requests |
CN103873564A (zh) * | 2014-02-28 | 2014-06-18 | 浪潮集团山东通用软件有限公司 | 一种在多服务器负载均衡条件下实现SignalR双工通信的方法 |
CN105591959A (zh) * | 2014-10-24 | 2016-05-18 | 华耀(中国)科技有限公司 | 一种利用ssl会话重用进行负载均衡的系统及方法 |
-
2019
- 2019-12-10 CN CN201911259966.6A patent/CN110933180B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002010917A1 (en) * | 2000-07-27 | 2002-02-07 | Bea Systems, Inc. | System and method for concentration and load-balancing of requests |
CN103873564A (zh) * | 2014-02-28 | 2014-06-18 | 浪潮集团山东通用软件有限公司 | 一种在多服务器负载均衡条件下实现SignalR双工通信的方法 |
CN105591959A (zh) * | 2014-10-24 | 2016-05-18 | 华耀(中国)科技有限公司 | 一种利用ssl会话重用进行负载均衡的系统及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN110933180A (zh) | 2020-03-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110933180B (zh) | 一种通信建立方法、装置、负载设备及存储介质 | |
JP5842290B2 (ja) | セッション開始プロトコルアダプタ | |
US8073124B2 (en) | System and method to identify and associate call legs in session initiation protocol back to back user agents | |
KR101150594B1 (ko) | 메시지 및 세션의 교환 | |
JP5363461B2 (ja) | グループ呼機能の問い合わせ | |
US20040249891A1 (en) | Method and apparatus for communication | |
US8296447B2 (en) | Method for copying session information, call control server for executing the same, and computer product | |
JP2009512931A (ja) | オフラインインスタントメッセージのリトリーブ | |
JP2017510116A (ja) | 第1のユーザが第2のユーザのソーシャル・ネットワーク識別子およびそれらのソーシャル・ネットワークにおけるこの第2のユーザのそれぞれのステータスを自動的に検出できるようにする方法およびサーバ | |
US9246955B2 (en) | Capability query handling in a communication network | |
US20060224744A1 (en) | Sending inter-server notifications using an out-of-band communications protocol | |
US20190230172A1 (en) | Methods and apparatus for generating, aggregating and/or distributing presence information | |
EP2629484A1 (en) | Resolving device specific identifiers to a user identifier to initiate a dialog establishment with devices of a user | |
CN106713819A (zh) | 用于视频会议的数据传输方法、装置及系统 | |
CN100574474C (zh) | 一种通讯系统中建立通讯业务连接的方法 | |
US20090049087A1 (en) | Methods, systems, and computer program products for providing a universal uniform resource identifier (UURI) | |
US7899058B2 (en) | Using a hash value as a pointer to an application class in a communications device | |
CN104219257B (zh) | 一种网页实时通信方法、系统及服务器和客户端 | |
US10686849B2 (en) | Data processing | |
CN101635672B (zh) | 一种群组方式下实现融合业务会话的装置和方法 | |
US7813305B2 (en) | Setting up a conference call with a hashed address | |
US9762624B2 (en) | Method and system for establishing a group messaging session in a communication system | |
US8620316B2 (en) | Method and apparatus in a telecommunications network | |
KR100894906B1 (ko) | 세션 설정 프로토콜 기반의 ip 멀티미디어 서비스를제공하는 단말장치, 호 세션 제어 기능 장치 및 이를이용한 서비스 요청 송/수신 방법 | |
US7817646B2 (en) | Communication server network for computer networks |
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 |