数据通信方法、装置、系统、电子设备及存储介质与流程
未命名
10-21
阅读:66
评论:0
1.本公开实施例涉及数据通信技术领域,尤其涉及一种数据通信方法、装置、系统、电子设备及存储介质。
背景技术:
2.在一些需要进行数据通信的应用场景中,通常采用内容分发网络(content delivery network,cdn)技术将请求数据从客户端分发至各个服务器节点。
3.相关技术中,建立客户端与服务器之间的数据传输通道,通常是客户端与同一服务器完成信令协商和数据传输,从而,可以实现客户端与服务器之间的数据通信。
4.然而,上述方案需要每一台服务器均具备虚拟互联网协议地址(即公网ip地址)。在cdn网络中,为了增强内部服务器的安全性和降低公网ip资源带来的额外成本,一般不会为每一台服务器分配公网ip地址。因此,可能会导致无法保证数据通信场景中的信令通道和数据传输通道在同一服务器上建立,从而,无法实现客户端与服务器之间的数据通信。
技术实现要素:
5.本公开提供了一种数据通信方法、装置、系统、电子设备及存储介质,以实现在将服务器的候选地址反馈至客户端的同时,还将服务器的服务器标识反馈至客户端的效果,进而,为后续连通性探测阶段,基于服务器标识获取信令上下文的过程提供了数据支撑。
6.第一方面,本公开实施例提供了一种数据通信方法,该方法包括:
7.接收客户端基于负载均衡器发送的第一信令请求;
8.确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所述客户端;
9.其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。
10.第二方面,本公开实施例还提供了一种数据通信装置,该装置包括:
11.信令请求模块,用于接收客户端基于负载均衡器发送的第一信令请求;
12.信令响应模块,用于确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所述客户端,其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。
13.第三方面,本公开实施例还提供了一种数据通信系统,该系统包括:
14.客户端和服务端,所述服务端包括负载均衡器和至少两个服务器;其中,
15.所述客户端,用于将信令请求发送至所述负载均衡器;
16.所述负载均衡器,用于基于预设的负载均衡机制将所述信令请求发送至第一服务
器;
17.所述第一服务器,用于确定并存储与所述信令请求对应的信令上下文,并生成与所述信令请求对应的信令响应报文,并将所述信令响应报文反馈至所述客户端,其中,所述信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及所述第一服务器的服务器标识;
18.所述客户端,还用于基于所述第一信令响应报文生成连通性探测请求,并基于所述虚拟互联网协议地址将所述连通性探测请求发送至所述负载均衡器,其中,所述连通性探测请求携带有接收所述第一服务器的服务器标识;
19.所述负载均衡器,还用于基于预设的负载均衡机制将所述连通性探测请求发送至第二服务器;
20.所述第二服务器,用于基于所述服务器标识从所述第一服务器中获取所述信令上下文,生成与所述连通性探测请求对应的探测响应报文,并将所述探测响应报文反馈至所述客户端,以及,基于所述信令上下文确定与所述信令请求对应的目标通信数据,并将所述目标通信数据反馈至所述客户端。
21.第四方面,本公开实施例还提供了一种电子设备,该电子设备包括:
22.一个或多个处理器;
23.存储装置,用于存储一个或多个程序,
24.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开实施例中任一所述的数据通信方法。
25.第五方面,本公开实施例还提供了一种包含计算机可执行指令的存储介质,该计算机可执行指令在由计算机处理器执行时用于执行如本公开实施例中任一所述的数据通信方法。
26.本公开实施例的技术方案,通过接收客户端基于负载均衡器发送的第一信令请求,实现了在保证负载均衡的情况下,对第一信令请求进行转发的效果,进一步的,确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端,解决了相关技术中数据通信场景中对服务器公网ip依赖性过高,从而导致无法保证数据通信场景中的信令通道和数据传输通道在同一服务器上建立,无法实现客户端与服务器之间的数据通信等问题,实现了在将服务器的候选地址反馈至客户端的同时,还将服务器的服务器标识反馈至客户端的效果,进而,为后续连通性探测阶段,基于服务器标识获取信令上下文的过程提供了数据支撑。
附图说明
27.结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
28.图1为本公开实施例所提供的一种数据通信方法的流程示意图;
29.图2为本公开实施例所提供的一种信令传输过程的示意图;
30.图3为本公开实施例所提供的一种数据通信方法的流程示意图;
31.图4为本公开实施例所提供的一种信令传输过程的示意图;
32.图5为本公开实施例所提供的一种数据通信装置的结构示意图;
33.图6为本公开实施例所提供的一种数据通信系统的结构示意图;
34.图7为本公开实施例所提供的一种数据通信系统的信令传输示意图;
35.图8为本公开实施例所提供的一种电子设备的结构示意图。
具体实施方式
36.下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
37.应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
38.本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
39.需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
40.需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
41.本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
42.可以理解的是,在使用本公开各实施例公开的技术方案之前,均应当依据相关法律法规通过恰当的方式对本公开所涉及个人信息的类型、使用范围、使用场景等告知用户并获得用户的授权。
43.例如,在响应于接收到用户的主动请求时,向用户发送提示信息,以明确地提示用户,其请求执行的操作将需要获取和使用到用户的个人信息。从而,使得用户可以根据提示信息来自主地选择是否向执行本公开技术方案的操作的电子设备、应用程序、服务器或存储介质等软件或硬件提供个人信息。
44.作为一种可选的但非限定性的实现方式,响应于接收到用户的主动请求,向用户发送提示信息的方式例如可以是弹窗的方式,弹窗中可以以文字的方式呈现提示信息。此外,弹窗中还可以承载供用户选择“同意”或者“不同意”向电子设备提供个人信息的选择控件。
45.可以理解的是,上述通知和获取用户授权过程仅是示意性的,不对本公开的实现方式构成限定,其它满足相关法律法规的方式也可应用于本公开的实现方式中。
46.可以理解的是,本技术方案所涉及的数据(包括但不限于数据本身、数据的获取或使用)应当遵循相应法律法规及相关规定的要求。
47.图1为本公开实施例所提供的一种数据通信方法的流程示意图,本公开实施例适
用于客户端与服务端之间建立媒体传输通道的情形,该方法可以由数据通信装置来执行,该装置可以通过软件和/或硬件的形式实现,可选的,通过电子设备来实现,该电子设备可以是移动终端、pc端或服务器等。
48.如图1所示,本实施例的方法具体可包括:
49.s110、接收客户端基于负载均衡器发送的第一信令请求。
50.其中,客户端是指与服务器相对应,为用户提供本地服务的程序。一般安装在普通的用户机上,需要与服务端互相配合运行。示例性的,常用的客户端包括万维网使用的网页浏览器、收寄电子邮件时的电子邮件客户端以及即时通信的客户端软件等。在本实施例中,客户端可以是视频通信客户端。负载均衡器可以理解为一种将网络请求分散到一个服务器集群中的可用服务器上去,通过管理进入的网页(web)数据流量和增加有效的网络带宽的硬件设备。本领域技术人员可以理解,负载均衡是指将网络流量分发到多个后台服务器的一种机制。通过负载均衡的流量分发,降低了单台服务器的负载,减少了应用的响应时间。负载均衡器可以包括多种样式,可选的,可以包括硬件设备样式的负载均衡器、集成在交换设备中的负载均衡器(置于服务器与互联网链接之间)或者以两块网络适配器的形式将负载均衡功能集成在pc端中(一块连接在互联网上,一块连接在后端服务器群的内部网络上)。需要说明的是,负载均衡器可以是预先部署任意负载均衡技术的硬件设备,可选的,预先部署的负载均衡技术可以是四层负载均衡。四层负载均衡是根据网络传输层(四层)定义的信息来确定如何在一组服务器之间分发客户端的请求。四层负载均衡是根据数据包中http请求头中记录的源ip地址、目标ip地址和端口做出负载均衡决策,而不考虑数据包的内容。
51.第一信令请求可以理解为在信令阶段,客户端向服务器发送的请求报文,该请求报文用于协调客户端与服务器之间的通信。第一信令请求可以任意请求,可选的,可以是注册请求、附着请求、业务请求以及直播拉流请求中的任意一项。
52.在实际应用中,为了建立客户端与服务端之间的数据传输通道,客户端可以向服务端发送第一信令请求。进而,位于服务端的负载均衡器在接收到第一信令请求之后,可以根据预设筛选规则从负载均衡器所关联的至少一台服务器中确定可用服务器。进一步的,可以基于负载均衡器将已接收的第一信令请求转发至已确定的可用服务器中,以使可用服务器对已接收的第一信令请求进行响应。其中,可用服务器可以理解为在接收到第一信令请求时,可以对第一信令请求进行高效处理且不影响其他服务器响应速度的服务器。
53.需要说明的是,从接收到第一信令请求开始到将第一信令请求发送至已确定的可用服务器之间,负载均衡器不会对第一信令请求中的请求报文内容做任何处理。也就是说,对于负载均衡器所接收的信令请求,只做传输,不做任何改变和调整。
54.s120、确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端。
55.其中,第一信令上下文可以理解为服务器在接收到第一信令请求的情况下的一个快照,该快照可以用于表示服务器在接收到第一信令请求时所处的环境和自身的状态。在本实施例中,第一信令上下文用于确定与第一信令请求对应的目标通信数据。本领域技术人员可以理解,上下文,可以理解为一种属性的有序序列,可以为驻留在环境内的对象定义环境。在对象的激活过程中创建上下文,对象被配置为要求某些自动服务,如同步、事务、实
时激活、安全性等等。在本实施例中,第一信令上下文包括校验信息和数据信息。校验信息可以理解为用于进行安全性校验的信息,也可以理解为待检验的字符串。可选的,校验信息可以是交互式连通建立方式(interactive connectivity establishment,ice)中的ice-ufrag。ice-ufrag可以提供在连通性检测中组成用户名的片段。数据信息可以理解为与第一信令请求中所包括的数据请求对应的数据响应信息。需要说明的是,数据信息可以是客户端与服务器之间协商后的数据信息,数据信息可以包括任意信息,可选的,可以包括数据格式信息、数据版本信息以及数据获取路径中的至少一种。
56.其中,第一信令响应报文可以理解为表征服务器对于第一信令请求的响应情况的报文。第一信令响应报文包括负载均衡器分配的虚拟互联网协议地址以及当前服务器的第一服务器标识。虚拟互联网协议地址(virtual internet protocol address,vip address)可以理解为虚拟互联网络对应的地址,即,连接多台服务器的公网ip地址。虚拟互联网协议地址可以是当前服务器所在公网的虚拟ip地址。当前服务器可以理解为负载均衡器在接收到第一信令请求之后,根据预设筛选规则在其所关联的至少一台服务器中确定的可用服务器;或者,也可以理解为接收第一信令请求的服务器。预设筛选规则可以是预先设置的用于筛选可用服务器的规则。可选的,预设筛选规则可以是根据服务器可用容量确定;或者,根据服务器响应速度确定;或者,根据服务器数据处理能力确定,等。
57.其中,第一服务器标识可以理解为表征当前服务器所在位置的标识。第一服务器标识可以用于对当前服务器进行定位。在本实施例中,第一服务器标识还可以用于获取第一信令上下文。需要说明的是,第一服务器标识可以是任意形式的标识,可选的,可以是当前服务器的原始服务器标识或由原始服务器标识加密后得到加密服务器标识。原始服务器标识可以理解为未经处理的服务器标识。可选的,原始服务器标识可以包括服务器互联网协议地址和/或服务器编号。服务器互联网协议地址可以理解为当前服务器的ip地址。服务器互联网协议地址可以是当前服务器的私网ip地址。ip地址是ip协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台服务器分配一个逻辑地址,以此来屏蔽物理地址的差异。简言之,服务器互联网协议地址可以是根据预设规则排列的字符串。服务器编号可以理解为服务器的唯一标识。一个服务器编号对应一台服务器。可选的,服务器编号可以是数字、字母或者其他字符。在实际应用中,为了防止出现报文信息被中途截取导致服务器标识泄露的情况,可以对原始服务器标识进行加密处理,进而,可以得到加密服务器标识。需要说明的是,可以采用预设加密算法对原始服务器标识进行加密处理,也可以采用其他方式对原始服务器标识进行加密处理,本公开实施例对此不作具体限定。预设加密算法可以是任意加密算法,可选的,可以是对称加密算法。
58.在实际应用中,在接收到第一信令请求之后,可以根据第一信令请求中包括的请求信息确定与第一信令请求对应的第一信令上下文,并将已确定的第一信令上下文存储在接收第一信令请求的当前服务器中。进一步的,可以根据第一信令请求生成与第一信令请求对应的第一信令响应报文。从而,可以将已生成的第一信令响应报文反馈至客户端。
59.可选的,生成与第一信令请求对应的第一信令响应报文,包括:基于虚拟互联网协议地址确定与第一信令请求对应的候选地址;基于第一服务器标识生成校验信息;基于候选地址和校验信息生成与第一信令请求对应的第一信令响应报文。
60.其中,候选地址可以理解为可以对第一信令请求进行响应的虚拟互联网协议地
址。候选地址的数量可以是一个,也可以是多个,本公开实施例对此不作具体限定。校验信息可以理解为用于执行安全性校验的信息。可选的,校验信息可以是交互式连通建立方式(interactive connectivity establishment,ice)中的ice-ufrag属性的属性值。ice-ufrag可以提供在连通性检测中组成用户名的片段。
61.在实际应用中,在当前服务器接收到第一信令请求的情况下,可以根据第一信令请求和虚拟互联网协议地址确定可以对第一信令请求进行响应的候选地址。进一步的,可以获取当前服务器的第一服务器标识,并根据第一服务器标识生成校验信息。需要说明的是,校验信息可以是预先生成的随机数与第一服务器标识拼接之后得到的,也可以是根据第一服务器通过其他方式生成的,本公开实施例对此不作具体限定。还需说明的是,采用随机数生成校验信息的好处在于:可以在后续连通性校验过程中,过滤无效的连通性探测报文,校验合法性。
62.进一步的,在得到候选地址和校验信息之后,可以将候选地址和校验信息分别写入响应报文对应的行中,即可得到与第一信令请求对应的第一信令响应报文。这样设置的好处在于:可以保证第一信令响应报文中包括候选地址和校验信息,以便可以在后续连通性探测阶段根据候选地址确定待发送的服务端,并根据校验信息进行安全性校验。同时,还可以保证连通性探测阶段中的连通性探测请求中包括信令阶段服务器的服务器互联网协议地址。
63.示例性的,图2为客户端与服务端之间信令传输过程的示意图。如图2所示,可以将服务器1作为当前服务器。首先,客户端创建第一信令请求(即图2中的sdp offer),并向服务端发送第一信令请求;进而,服务端中的服务器1接收第一信令请求,生成与第一信令请求对应的第一信令响应报文(即图2中的sdp answer),并确定与第一信令请求对应的第一信令上下文并存储在服务器1中;之后,向客户端反馈信令响应,将第一信令响应报文反馈至客户端。
64.本公开实施例的技术方案,通过接收客户端基于负载均衡器发送的第一信令请求,实现了在保证负载均衡的情况下,对第一信令请求进行转发的效果,进一步的,确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端,解决了相关技术中数据通信场景中对服务器公网ip依赖性过高,从而导致无法保证数据通信场景中的信令通道和数据传输通道在同一服务器上建立,无法实现客户端与服务器之间的数据通信等问题,实现了在将服务器的候选地址反馈至客户端的同时,还将服务器的服务器标识反馈至客户端的效果,进而,为后续连通性探测阶段,基于服务器标识获取信令上下文的过程提供了数据支撑。
65.图3为本公开实施例所提供的一种数据通信方法的流程示意图。本实施例的技术方案在上述实施例的基础上,在客户端接收到信令响应报文的情况下,向服务端再次发送连通性探测请求,以在客户端接收到连通性探测请求对应的探测响应报文的情况下,建立客户端与服务端之间的数据传输通道。具体实施方式可以参见本实施例的说明。其中,与前述实施例相同或相似的技术特征在此不再赘述。
66.如图3所示,本实施例的方法具体可包括:
67.s210、接收客户端基于负载均衡器发送的第一信令请求。
68.s220、确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请
求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端。
69.s230、接收客户端基于虚拟互联网协议地址发送的连通性探测请求,其中,连通性探测请求由客户端根据与第二信令请求对应的第二信令响应报文生成,连通性探测请求携带有接收第二信令请求的目标服务器的第二服务器标识。
70.其中,连通性探测请求可以理解为在连通性探测阶段,客户端向服务端发送的请求报文。第二信令请求可以理解为在信令阶段,目标服务器接收的请求报文。目标服务器可以理解为负载均衡器在接收到第二信令请求之后,根据预设筛选规则从其所关联的至少一台服务器中确定出来的服务器。相应的,第二服务器标识可以理解为表征目标服务器所在位置的标识。第二服务器标识可以用于对目标服务器进行定位。与第一服务器标识相同,第二服务器标识可以为目标服务器的原始服务器标识或由原始服务器标识加密后得到的加密服务器标识。
71.在实际应用中,目标服务器接收客户端基于负载均衡器发送的第二信令请求。进而,生成与第二信令请求对应的第二信令响应报文并反馈至客户端。进一步的,客户端根据已接收的第二信令响应报文生成用于请求连通性探测的请求报文,将该请求报文作为连通性探测请求报文。
72.需要说明的是,与第一信令请求对应的当前服务器,和与第二信令请求对应的目标服务器,可以是同一服务器,也可以是不同的服务器,本公开实施例对此不作具体限定。还需说明的是,本公开实施例中所提到的“第一”和“第二”并不表示任何顺序、数量或者重要性,只是其对应的目标主体不同。
73.在实际应用中,在客户端接收到目标服务器反馈的第二信令响应报文之后,可以进入连通性探测阶段。客户端可以根据已接收的第二信令响应报文生成连通性探测请求。由于第二信令响应报文中包括基于虚拟互联网协议地址确定的候选地址。因此,客户端在生成连通性探测请求之后,可以根据候选地址向服务端发送连通性探测请求。需要说明的是,在候选地址的数量为一个的情况下,客户端可以直接根据候选地址所对应的虚拟互联网协议地址向服务端发送连通性探测请求。在候选地址的数量为多个的情况下,可以先根据预先确定的地址排列规则对已接收的多个候选地址进行排列。之后,可以按照排列后的候选地址依次向服务端发送连通性探测请求,直至接收到与连通性探测请求对应的探测响应报文。
74.进一步的,位于服务端的负载均衡器在接收到连通性探测请求之后,即可根据预设筛选规则从其所关联的至少一台服务器中确定可以对连通性探测请求进行相应的服务器。进而,将连通性探测请求发送至已确定的服务器。
75.s240、基于第二服务器标识从目标服务器中获取与连通性探测请求对应的第二信令上下文,以基于第二信令上下文确定与第二信令请求对应的目标通信数据,并将目标通信数据反馈至客户端。
76.其中,第二信令上下文可以是根据第二信令请求生成的并存储在目标服务器中的信令上下文。第二信令上下文用于确定与第二信令请求对应的目标通信数据。
77.在实际应用中,在接收到连通性探测请求之后,可以获取连通性探测请求中所携带的与目标服务器对应的第二服务器标识。之后,可以根据第二服务器标识确定目标服务器。进一步的,可以向目标服务器发送信令上下文获取请求,以在目标服务器接收到信令上
下文获取请求的情况下,将预先存储的第二信令上下文发送至与连通性探测请求对应的服务器。
78.可选的,基于第二服务器标识从目标服务器中获取与连通性探测请求对应的第二信令上下文,包括:对连通性探测请求进行解析,获得第二服务器标识,基于第二服务器标识确定目标服务器的服务器互联网协议地址;生成与连通性探测请求对应的上下文获取请求,并基于服务器互联网协议地址将上下文获取请求发送至目标服务器;接收目标服务器反馈的与上下文获取请求对应的第二信令上下文。
79.其中,上下文获取请求可以理解为用于获取信令上下文的请求报文。需要说明的是,上下文获取请求的协议格式可以不局限于http协议或json格式,任何文本传输协议和格式均是可行的。
80.在实际应用中,对于接收连通性探测请求的服务器,在接收到连通性探测请求之后,可以对连通性探测请求进行解析,以获取连通性探测请求中所携带的第二服务器标识。之后,可以对第二服务器标识进行处理,以确定目标服务器的服务器互联网协议地址。需要说明的是,在第二服务器标识为目标服务器的原始服务器标识的情况下,可以直接根据第二服务器标识确定目标服务器的服务器互联网协议地址。在第二服务器标识为目标服务器的加密服务器标识的情况下,可以对第二服务器标识进行解密处理,进而,可以根据解密后的标识信息确定目标服务器的服务器互联网协议地址。
81.进一步的,在确定目标服务器的服务器互联网协议地址之后,可以生成用于获取信令上下文的上下文获取请求。进而,根据已确定的服务器互联网协议地址将上下文获取请求发送至目标服务器。之后,在目标服务器接收到上下文获取请求的情况下,可以调取预先存储的第二信令上下文。进而,将已调取的第二信令上下文反馈至发送上下文获取请求的服务器,以使该服务器可以基于第二信令上下文确定第二信令请求对应的目标通信数据,并将目标通信数据反馈至客户端。这样设置的好处在于:实现了同一集群内服务器之间的信令上下文的共享,进而,实现了即使信令阶段和连通性探测阶段对应于不同的服务器,同样可以实现客户端与服务器之间数据通信的效果。
82.s250、生成与连通性探测请求对应的探测响应报文,并将探测响应报文反馈至客户端。
83.其中,探测响应报文可以理解为表征服务器对已接收的连通性探测请求的响应情况的报文。
84.在实际应用中,对于接收连通性探测请求的服务器,在获取第二信令上下文之后,即可确定连通性探测成功。进而,可以生成与连通性探测请求对应的探测响应报文,并将探测响应报文反馈至客户端。在客户端接收到探测响应报文之后,即可确定客户端与服务器之间的数据传输通道建立。
85.需要说明的是,在实际应用中,向客户端反馈信令请求对应的目标通信数据的过程,可以是在将探测响应报文反馈至客户端之后执行,也可以是在获取目标服务器反馈的信令上下文之后,且在将探测响应报文反馈至客户端之前执行,本公开实施例对此不作具体限定。在将探测响应报文反馈至客户端之后,即可确定客户端与服务器之间的数据传输通道建立。在这种情况下,对于目标通信数据的反馈时间可以不作具体限定,客户端可以在任意时刻向服务器请求目标通信数据。
86.在实际应用中,在接收到第二信令上下文之后,且生成探测响应报文之前,还可以对第二信令上下文和连通性探测请求进行安全性或合法性校验。进而,在校验通过的情况下,生成与连通性探测请求对应的探测响应报文。
87.在本实施例中,第二信令上下文包括第二信令响应报文中的校验信息。校验信息包括目标服务器的第二服务器标识。可选的,生成与连通性探测请求对应的探测响应报文,包括:在连通性探测请求携带的第二服务器标识与第二信令上下文中的第二服务器标识的属性值一致的情况下,生成与连通性探测请求对应的探测响应报文。
88.在实际应用中,对于接收连通性探测请求的服务器,在接收到第二信令上下文之后,可以对第二信令上下文进行解析。进而,可以得到第二信令上下文中的第二服务器标识。之后,可以将第二信令上下文中的第二服务器标识和连通性探测请求携带的第二服务器标识进行匹配。在这两个第二服务器标识的属性值一致的情况下,即可确定校验通过,并生成与连通性探测请求对应的探测响应报文。
89.示例性的,图4为客户端与服务端之间信令传输过程的示意图。如图4所示,可以将服务器2作为目标服务器,将服务器1作为当前服务器。首先,客户端创建第二信令请求(即图4中的sdp offer),并向服务端发送第二信令请求;进而,服务端中的服务器2接收第二信令请求,生成与第二信令请求对应的第二信令响应报文(即图4中的sdp answer),并确定与第二信令请求对应的第二信令上下文并存储在服务器2中;之后,向客户端反馈信令响应,将第二信令响应报文反馈至客户端。进一步的,客户端可以根据已接收的第二信令报文生成连通性探测请求(即图4中的stun binding request),并向服务端发送连通性探测请求;进而,服务端中的服务器1接收连通性探测请求,根据连通性探测请求中所携带的服务器2的服务器标识,确定服务器2的服务器互联网协议地址,并生成上下文获取请求;进而,根据已确定的服务器2的服务器互联网协议地址将上下文获取请求发送至服务器2;之后,接收服务器2反馈的第二信令上下文,并将已接收的第二信令上下文设置在服务器1中。之后,可以生成与连通性探测请求对应的探测响应报文,并将探测响应报文反馈至客户端。最后,在客户端接收到探测响应报文的情况下,确定客户端与服务器1之间的媒体通道建立。
90.本公开实施例的技术方案,通过接收客户端基于负载均衡器发送的第一信令请求,之后,确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端,进一步的,接收客户端基于虚拟互联网协议地址发送的连通性探测请求,其中,连通性探测请求由客户端根据与第二信令请求对应的第二信令响应报文生成,连通性探测请求携带有接收第二信令请求的目标服务器的第二服务器标识,之后,基于第二服务器标识从目标服务器中获取与连通性探测请求对应的第二信令上下文,以基于第二信令上下文确定与第二信令请求对应的目标通信数据,并将目标通信数据反馈至客户端,最后,生成与连通性探测请求对应的探测响应报文,并将探测响应报文反馈至客户端,实现了同一集群内服务端节点内信令共享的效果,进而,实现了即使信令阶段和连通性探测阶段对应于不同的服务器,同样可以实现客户端与服务器之间数据通信的效果。
91.图5为本公开实施例所提供的一种数据通信装置的结构示意图,如图5所示,所述装置包括:信令请求模块310和信令响应模块320。
92.其中,信令请求模块310,用于接收客户端基于负载均衡器发送的第一信令请求;
信令响应模块320,用于确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所述客户端,其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。
93.在上述各技术方案的基础上,信令响应模块320包括:候选地址确定单元、校验信息生成单元以及信令响应报文生成单元。
94.候选地址确定单元,用于基于所述虚拟互联网协议地址确定与所述第一信令请求对应的候选地址;
95.校验信息生成单元,用于基于所述第一服务器标识生成校验信息;
96.信令响应报文生成单元,用于基于所述候选地址和所述校验信息生成与所述第一信令请求对应的第一信令响应报文。
97.在上述各技术方案的基础上,所述第一服务器标识为所述当前服务器的原始服务器标识或由所述原始服务器标识加密后得到的加密服务器标识,所述原始服务器标识包括服务器互联网协议地址和/或服务器编号。
98.在上述各技术方案的基础上,所述第一信令上下文包括所述校验信息和数据信息,所述数据信息包括数据格式信息、数据版本信息和数据获取路径中的至少一种。
99.在上述各技术方案的基础上,所述装置还包括:探测请求接收模块、信令上下文获取模块以及探测响应报文生成模块。
100.探测请求接收模块,用于接收所述客户端基于所述虚拟互联网协议地址发送的连通性探测请求,其中,所述连通性探测请求由所述客户端根据与第二信令请求对应的第二信令响应报文生成,所述连通性探测请求携带有接收所述第二信令请求的目标服务器的第二服务器标识;
101.信令上下文获取模块,用于基于所述第二服务器标识从所述目标服务器中获取与所述连通性探测请求对应的第二信令上下文,以基于所述第二信令上下文确定与所述第二信令请求对应的目标通信数据,并将所述目标通信数据反馈至所述客户端;
102.探测响应报文生成模块,用于生成与所述连通性探测请求对应的探测响应报文,并将所述探测响应报文反馈至所述客户端。
103.在上述各技术方案的基础上,信令上下文获取模块包括:服务器互联网协议地址确定单元、上下文获取请求生成单元以及信令上下文接收单元。
104.服务器互联网协议地址确定单元,用于对所述连通性探测请求进行解析,获得所述第二服务器标识,基于所述第二服务器标识确定所述目标服务器的服务器互联网协议地址;
105.上下文获取请求生成单元,用于生成与所述连通性探测请求对应的上下文获取请求,并基于所述服务器互联网协议地址将所述上下文获取请求发送至所述目标服务器;
106.信令上下文接收单元,用于接收所述目标服务器反馈的与所述上下文获取请求对应的第二信令上下文。
107.在上述各技术方案的基础上,所述第二信令上下文包括所述第二信令响应报文中的校验信息,所述校验信息包括所述目标服务器的第二服务器标识;
108.探测响应报文生成模块,具体用于在所述连通性探测请求携带的第二服务器标识与所述第二信令上下文中的第二服务器标识的属性值一致的情况下,生成与所述连通性探测请求对应的探测响应报文。
109.本公开实施例的技术方案,通过接收客户端基于负载均衡器发送的第一信令请求,实现了在保证负载均衡的情况下,对第一信令请求进行转发的效果,进一步的,确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端,解决了相关技术中数据通信场景中对服务器公网ip依赖性过高,从而导致无法保证数据通信场景中的信令通道和数据传输通道在同一服务器上建立,无法实现客户端与服务器之间的数据通信等问题,实现了在将服务器的候选地址反馈至客户端的同时,还将服务器的服务器标识反馈至客户端的效果,进而,为后续连通性探测阶段,基于服务器标识获取信令上下文的过程提供了数据支撑。
110.本公开实施例所提供的数据通信装置可执行本公开任意实施例所提供的数据通信方法,具备执行方法相应的功能模块和有益效果。
111.值得注意的是,上述装置所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本公开实施例的保护范围。
112.图6为本公开实施例所提供的一种数据通信系统的结构示意图,如图6所示,所述系统包括:客户端410和服务端420。所述服务端420包括负载均衡器421和至少两个服务器。
113.其中,客户端410,用于将信令请求发送至负载均衡器421;负载均衡器421,用于基于预设的负载均衡机制将信令请求发送至第一服务器422;第一服务器422,用于确定并存储与信令请求对应的信令上下文,并生成与信令请求对应的信令响应报文,并将信令响应报文反馈至客户端410,其中,信令响应报文包括负载均衡机制分配的虚拟互联网协议地址以及第一服务器422的服务器标识;客户端410,还用于基于信令响应报文生成连通性探测请求,并基于虚拟互联网协议地址将连通性探测请求发送至负载均衡器421,其中,连通性探测请求携带有接收第一服务器422的服务器标识;负载均衡器421,还用于基于预设的负载均衡机制将连通性探测请求发送至第二服务器423;第二服务器423,用于基于服务器标识从第一服务器422中获取信令上下文,生成与连通性探测请求对应的探测响应报文,并将探测响应报文反馈至客户端410,以及,基于信令上下文确定与信令请求对应的目标通信数据,并将目标通信数据反馈至客户端410。
114.在本实施例中,预设的负载均衡机制可以理解为预先设置的,用于将接收的网络请求均衡分配至多台服务器的机制。负载均衡机制是一种水平扩展的方式,它是建立在现有的网络结构之上,提供了一种有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。第一服务器422可以理解为接收信令请求并对信令请求进行响应的服务器。第二服务器423可以理解为接收连通性探测请求并对连通性探测请求进行响应的服务器。需要说明的是,第一服务器422和第二服务器423可以是同一台服务器,也可以是不同的服务器,本公开实施例对此不作具体限定。
115.在实际应用中,在信令阶段,客户端410可以生成信令请求,将信令请求发送至服务端420的负载均衡器421。之后,负载均衡器421在接收信令请求之后,可以根据预设的负载均衡机制从所关联的至少一台服务器中确定第一服务器422,并将已接收的信令请求发
送至第一服务器422。之后,第一服务器422在接收到信令请求之后,可以确定与信令请求对应的信令上下文并存储在第一服务器422中,并生成与信令请求对应的信令响应报文,将已生成的信令响应报文反馈至客户端410。
116.进一步的,在连通性探测阶段,客户端410可以根据已接收的信令上下文生成连通性探测请求,并基于信令响应报文中所包括的虚拟互联网协议地址将连通性探测请求发送至服务端420的负载均衡器421。之后,负载均衡器421在接收连通性探测请求之后,可以根据预设的负载均衡机制从所关联的至少一台服务器中确定第二服务器423,并将连通性探测请求发送至第二服务器423。之后,第二服务器423在接收到连通性探测请求之后,可以对连通性探测请求进行解析,获得连通性探测请求所携带的第一服务器422的服务器标识,并根据服务器标识确定第一服务器422的服务器互联网协议地址。进而,生成上下文获取请求,并根据第一服务器422的服务器互联网协议地址将上下文获取请求发送至第一服务器422。之后,接收第一服务器422反馈的信令上下文,生成连通性探测请求对应的探测响应报文,并将探测响应报文反馈至客户端410。并且,第二服务器423在接收到信令上下文之后,可以根据信令上下文确定与信令请求对应的目标通信数据,并将目标通信数据反馈至客户端410。
117.示例性的,图7为本公开实施例的一个可选实施例的信令传输过程示意图。如图7所示,服务端包括四层负载均衡以及与四层负载均衡相关联的n个服务器,分别为服务器1、服务器2、
…
、服务器n。可以将服务1作为第一服务器,将服务器n作为第二服务器,以信令请求为直播拉流的信令请求为例,下面可以对信令阶段和连通性探测阶段的信令传输过程进行说明:
118.1、客户端向服务端发送直播拉流的信令请求。
119.2、服务端中的四层负载均衡在接收到信令请求之后,可以根据预设的负载均衡机制在所关联的n个服务器中确定服务器1,并将信令请求转发至服务器1。
120.3、服务器1可以根据信令请求生成信令响应报文(即图7中的sdp answer),并反馈至客户端。同时,服务器1可以根据信令请求确定信令上下文并存储。其中,信令上下文中包括协商后的媒体信息和校验信息(ice-pwd和ice-ufrag)。sdp answer可以包括候选地址行(即a=candidate行)和校验信息行(即a=ice-ufrag行)。在接收到信令请求之后,可以根据虚拟互联网协议地址确定与信令请求对应的候选地址,并将已确定的候选地址写入候选地址行,得到a=candidate:[vip]。其中,[vip]即为与信令请求对应的候选地址;并且,生成随机数并拼接服务器1的服务器互联网协议地址,得到校验信息并写入校验信息行,得到a=ice-ufrag:[server 1ip]。其中,[server 1ip]即为随机数与服务器1的服务器互联网协议地址拼接之后得到的字符串。
[0121]
4、客户端在接收到信令响应报文之后,发送连通性探测请求(即图7中的stun binding request)到服务端进行连通性探测。其中,stun binding request包括username属性。可以将信令响应报文中的校验信息作为username的属性值,即可得到username:[server 1ip]。
[0122]
5、服务端中的四层负载均衡在接收到连通性探测请求之后,可以根据预设的负载均衡机制在所关联的n个服务器中确定服务器n,并将连通性探测请求转发至服务器n。
[0123]
6、服务器n在接收到连通性探测请求之后,可以提取连通性探测请求的username
属性中的服务器1的服务器互联网协议地址,并根据服务器1的服务器互联网协议地址将生成的上下文获取请求发送至服务器1。
[0124]
7、服务器1响应服务器n的上下文获取请求,向服务器n反馈信令上下文。
[0125]
8、服务器n在接收到完整的信令上下文之后,生成与连通性探测请求对应的探测响应报文(即图7中的stun binding response)并反馈至客户端。
[0126]
本公开实施例的技术方案,通过接收客户端基于负载均衡器发送的第一信令请求,实现了在保证负载均衡的情况下,对第一信令请求进行转发的效果,进一步的,确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端,解决了相关技术中数据通信场景中对服务器公网ip依赖性过高,从而导致无法保证数据通信场景中的信令通道和数据传输通道在同一服务器上建立,无法实现客户端与服务器之间的数据通信等问题,实现了在将服务器的候选地址反馈至客户端的同时,还将服务器的服务器标识反馈至客户端的效果,进而,为后续连通性探测阶段,基于服务器标识获取信令上下文的过程提供了数据支撑。
[0127]
本公开实施例所提供的数据通信系统可执行本公开任意实施例所提供的数据通信方法,并且本实施例与上述实施例具有相同的有益效果。
[0128]
图8为本公开实施例所提供的一种电子设备的结构示意图。下面参考图8,其示出了适于用来实现本公开实施例的电子设备(例如图8中的终端设备或服务器)500的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0129]
如图8所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom 502以及ram 503通过总线504彼此相连。编辑/输出(i/o)接口505也连接至总线504。
[0130]
通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
[0131]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
[0132]
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性
的目的,而并不是用于对这些消息或信息的范围进行限制。
[0133]
本公开实施例提供的电子设备与上述实施例提供的数据通信方法属于同一发明构思,未在本实施例中详尽描述的技术细节可参见上述实施例,并且本实施例与上述实施例具有相同的有益效果。
[0134]
本公开实施例提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例所提供的数据通信方法。
[0135]
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0136]
在一些实施方式中,客户端、服务器可以利用诸如http(hypertext transfer protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
[0137]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
[0138]
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:接收客户端基于负载均衡器发送的第一信令请求;确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所述客户端;其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。
[0139]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立
的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0140]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0141]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。
[0142]
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。
[0143]
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0144]
根据本公开的一个或多个实施例,【示例一】提供了一种数据通信方法,该方法包括:
[0145]
接收客户端基于负载均衡器发送的第一信令请求;
[0146]
确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所述客户端;
[0147]
其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。
[0148]
根据本公开的一个或多个实施例,【示例二】提供了示例一的方法,还包括:
[0149]
可选的,所述生成与所述第一信令请求对应的第一信令响应报文,包括:
[0150]
基于所述虚拟互联网协议地址确定与所述第一信令请求对应的候选地址;
[0151]
基于所述第一服务器标识生成校验信息;
[0152]
基于所述候选地址和所述校验信息生成与所述第一信令请求对应的第一信令响应报文。
[0153]
根据本公开的一个或多个实施例,【示例三】提供了示例二的方法,还包括:
[0154]
可选的,所述第一服务器标识为所述当前服务器的原始服务器标识或由所述原始服务器标识加密后得到的加密服务器标识,所述原始服务器标识包括服务器互联网协议地址和/或服务器编号。
[0155]
根据本公开的一个或多个实施例,【示例四】提供了示例二的方法,还包括:
[0156]
可选的,所述第一信令上下文包括所述校验信息和数据信息,所述数据信息包括数据格式信息、数据版本信息和数据获取路径中的至少一种。
[0157]
根据本公开的一个或多个实施例,【示例五】提供了示例一的方法,还包括:
[0158]
可选的,还包括:接收所述客户端基于所述虚拟互联网协议地址发送的连通性探测请求,其中,所述连通性探测请求由所述客户端根据与第二信令请求对应的第二信令响应报文生成,所述连通性探测请求携带有接收所述第二信令请求的目标服务器的第二服务器标识;
[0159]
基于所述第二服务器标识从所述目标服务器中获取与所述连通性探测请求对应的第二信令上下文,以基于所述第二信令上下文确定与所述第二信令请求对应的目标通信数据,并将所述目标通信数据反馈至所述客户端;
[0160]
生成与所述连通性探测请求对应的探测响应报文,并将所述探测响应报文反馈至所述客户端。
[0161]
根据本公开的一个或多个实施例,【示例六】提供了示例五的方法,还包括:
[0162]
可选的,所述基于所述第二服务器标识从所述目标服务器中获取与所述连通性探测请求对应的第二信令上下文,包括:
[0163]
对所述连通性探测请求进行解析,获得所述第二服务器标识,基于所述第二服务器标识确定所述目标服务器的服务器互联网协议地址;
[0164]
生成与所述连通性探测请求对应的上下文获取请求,并基于所述服务器互联网协议地址将所述上下文获取请求发送至所述目标服务器;
[0165]
接收所述目标服务器反馈的与所述上下文获取请求对应的第二信令上下文。
[0166]
根据本公开的一个或多个实施例,【示例七】提供了示例五的方法,还包括:
[0167]
可选的,所述第二信令上下文包括所述第二信令响应报文中的校验信息,所述校验信息包括所述目标服务器的第二服务器标识;
[0168]
所述生成与所述连通性探测请求对应的探测响应报文,包括:
[0169]
在所述连通性探测请求携带的第二服务器标识与所述第二信令上下文中的第二服务器标识的属性值一致的情况下,生成与所述连通性探测请求对应的探测响应报文。
[0170]
根据本公开的一个或多个实施例,【示例八】提供了一种数据通信装置,该装置包括:
[0171]
信令请求模块,用于接收客户端基于负载均衡器发送的第一信令请求;
[0172]
信令响应模块,用于确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所
述客户端,其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。
[0173]
根据本公开的一个或多个实施例,【示例九】提供了一种数据通信系统,该装置包括:客户端和服务端,所述服务端包括负载均衡器和至少两个服务器;其中,
[0174]
所述客户端,用于将信令请求发送至所述负载均衡器;
[0175]
所述负载均衡器,用于基于预设的负载均衡机制将所述信令请求发送至第一服务器;
[0176]
所述第一服务器,用于确定并存储与所述信令请求对应的信令上下文,并生成与所述信令请求对应的信令响应报文,并将所述信令响应报文反馈至所述客户端,其中,所述信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及所述第一服务器的服务器标识;
[0177]
所述客户端,还用于基于所述信令响应报文生成连通性探测请求,并基于所述虚拟互联网协议地址将所述连通性探测请求发送至所述负载均衡器,其中,所述连通性探测请求携带有接收所述第一服务器的服务器标识;
[0178]
所述负载均衡器,还用于基于预设的负载均衡机制将所述连通性探测请求发送至第二服务器;
[0179]
所述第二服务器,用于基于所述服务器标识从所述第一服务器中获取所述信令上下文,生成与所述连通性探测请求对应的探测响应报文,并将所述探测响应报文反馈至所述客户端,以及,基于所述信令上下文确定与所述信令请求对应的目标通信数据,并将所述目标通信数据反馈至所述客户端。
[0180]
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
[0181]
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
[0182]
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
技术特征:
1.一种数据通信方法,其特征在于,包括:接收客户端基于负载均衡器发送的第一信令请求;确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所述客户端;其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。2.根据权利要求1所述的数据通信方法,其特征在于,所述生成与所述第一信令请求对应的第一信令响应报文,包括:基于所述虚拟互联网协议地址确定与所述第一信令请求对应的候选地址;基于所述第一服务器标识生成校验信息;基于所述候选地址和所述校验信息生成与所述第一信令请求对应的第一信令响应报文。3.根据权利要求2所述的数据通信方法,其特征在于,所述第一服务器标识为所述当前服务器的原始服务器标识或由所述原始服务器标识加密后得到的加密服务器标识,所述原始服务器标识包括服务器互联网协议地址和/或服务器编号。4.根据权利要求2所述的数据通信方法,其特征在于,所述第一信令上下文包括所述校验信息和数据信息,所述数据信息包括数据格式信息、数据版本信息和数据获取路径中的至少一种。5.根据权利要求1所述的数据通信方法,其特征在于,还包括:接收所述客户端基于所述虚拟互联网协议地址发送的连通性探测请求,其中,所述连通性探测请求由所述客户端根据与第二信令请求对应的第二信令响应报文生成,所述连通性探测请求携带有接收所述第二信令请求的目标服务器的第二服务器标识;基于所述第二服务器标识从所述目标服务器中获取与所述连通性探测请求对应的第二信令上下文,以基于所述第二信令上下文确定与所述第二信令请求对应的目标通信数据,并将所述目标通信数据反馈至所述客户端;生成与所述连通性探测请求对应的探测响应报文,并将所述探测响应报文反馈至所述客户端。6.根据权利要求5所述的数据通信方法,其特征在于,所述基于所述第二服务器标识从所述目标服务器中获取与所述连通性探测请求对应的第二信令上下文,包括:对所述连通性探测请求进行解析,获得所述第二服务器标识,基于所述第二服务器标识确定所述目标服务器的服务器互联网协议地址;生成与所述连通性探测请求对应的上下文获取请求,并基于所述服务器互联网协议地址将所述上下文获取请求发送至所述目标服务器;接收所述目标服务器反馈的与所述上下文获取请求对应的第二信令上下文。7.根据权利要求5所述的数据通信方法,其特征在于,所述第二信令上下文包括所述第二信令响应报文中的校验信息,所述校验信息包括所述目标服务器的第二服务器标识;所述生成与所述连通性探测请求对应的探测响应报文,包括:在所述连通性探测请求携带的第二服务器标识与所述第二信令上下文中的第二服务
器标识的属性值一致的情况下,生成与所述连通性探测请求对应的探测响应报文。8.一种数据通信装置,其特征在于,包括:信令请求模块,用于接收客户端基于负载均衡器发送的第一信令请求;信令响应模块,用于确定并存储与所述第一信令请求对应的第一信令上下文,并生成与所述第一信令请求对应的第一信令响应报文,并将所述第一信令响应报文反馈至所述客户端,其中,所述第一信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,所述第一服务器标识用于获取所述第一信令上下文,所述第一信令上下文用于确定与所述第一信令请求对应的目标通信数据。9.一种数据通信系统,其特征在于,包括:客户端和服务端,所述服务端包括负载均衡器和至少两个服务器;其中,所述客户端,用于将信令请求发送至所述负载均衡器;所述负载均衡器,用于基于预设的负载均衡机制将所述信令请求发送至第一服务器;所述第一服务器,用于确定并存储与所述信令请求对应的信令上下文,并生成与所述信令请求对应的信令响应报文,并将所述信令响应报文反馈至所述客户端,其中,所述信令响应报文包括所述负载均衡机制分配的虚拟互联网协议地址以及所述第一服务器的服务器标识;所述客户端,还用于基于所述信令响应报文生成连通性探测请求,并基于所述虚拟互联网协议地址将所述连通性探测请求发送至所述负载均衡器,其中,所述连通性探测请求携带有接收所述第一服务器的服务器标识;所述负载均衡器,还用于基于预设的负载均衡机制将所述连通性探测请求发送至第二服务器;所述第二服务器,用于基于所述服务器标识从所述第一服务器中获取所述信令上下文,生成与所述连通性探测请求对应的探测响应报文,并将所述探测响应报文反馈至所述客户端,以及,基于所述信令上下文确定与所述信令请求对应的目标通信数据,并将所述目标通信数据反馈至所述客户端。10.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的数据通信方法。11.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-7中任一所述的数据通信方法。
技术总结
本公开实施例提供了一种数据通信方法、装置、系统、电子设备及存储介质。其中,该方法包括:接收客户端基于负载均衡器发送的第一信令请求;确定并存储与第一信令请求对应的第一信令上下文,并生成与第一信令请求对应的第一信令响应报文,并将第一信令响应报文反馈至客户端;其中,第一信令响应报文包括负载均衡机制分配的虚拟互联网协议地址以及当前服务器的第一服务器标识,第一服务器标识用于获取第一信令上下文,第一信令上下文用于确定与第一信令请求对应的目标通信数据。本技术方案,实现了在将服务器的候选地址和服务器标识同时反馈至客户端的效果,进而,为后续连通性探测阶段,基于服务器标识获取信令上下文的过程提供了数据支撑。了数据支撑。了数据支撑。
技术研发人员:汪锦言 陈鉴平
受保护的技术使用者:抖音视界有限公司
技术研发日:2023.08.16
技术公布日:2023/10/15
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/