通信方法及装置制造方法及图纸

技术编号:25809269 阅读:39 留言:0更新日期:2020-09-29 18:44
本发明专利技术公开了一种通信方法,在代理客户端中执行,包括:获取并缓存应用产生的应用请求数据;当与代理服务端建立网络连接时,将会话标识、代理客户端的IP地址以及所缓存的应用请求数据发送至代理服务端,以便代理服务端将应用请求数据发送至应用服务端,其中,会话标识用于标识代理客户端与代理服务端的本次通信;通过代理服务端接收应用服务端返回的响应数据,以及将响应数据发送至对应的应用。本发明专利技术一并公开了在代理服务端中执行的通信方法以及相应的装置。

【技术实现步骤摘要】
通信方法及装置
本专利技术涉及网络通信
,尤其涉及一种通信方法及装置。
技术介绍
终端应用(App)通常需要工作在联网状态,通过与服务端通信来从服务端获取相关数据,以向用户提供相应功能。目前,应用多采用socket技术来与服务端进行网络通信,而socket严重依赖网络状态。随着终端设备的便携性逐渐提高,终端设备所处的网络状态复杂、多变,例如,终端设备可能频繁出现IP地址变化或网络断线等情况。在这种情况下,socket连接会频繁地关闭、创建,并且应用会频繁地向用户发出无法联网、无法打开页面等提示,通信效率低下,对用户带来大量困扰,用户体验不佳。
技术实现思路
为此,本专利技术提供一种通信方法及装置,以力图解决或至少缓解上面存在的问题。根据本专利技术的第一个方面,提供一种通信方法,在代理客户端中执行,所述方法包括:获取并缓存应用产生的应用请求数据;当与代理服务端建立网络连接时,将会话标识、代理客户端的IP地址以及所缓存的应用请求数据发送至所述代理服务端,以便所述代理服务端将所述应用请求数据发送至应用服务端,其中,所述会话标识用于标识代理客户端与代理服务端的本次通信;通过代理服务端接收应用服务端返回的响应数据,以及将所述响应数据发送至对应的应用。根据本专利技术的第二个方面,提供一种通信方法,在代理服务端中执行,所述方法包括:接收代理客户端发送的会话标识、代理客户端的IP地址和应用请求数据,其中,所述会话标识用于标识代理客户端与代理服务端的本次通信;将所述应用请求数据发送至应用服务端;接收应用服务端返回的响应数据,以及将所述响应数据发送至所述代理客户端。根据本专利技术的第三个方面,提供一种通信系统,包括:代理客户端和代理服务端,所述代理客户端与所述代理服务端通信连接,所述代理客户端设置于终端设备中,适于获取并缓存应用产生的应用请求数据,当与代理服务端建立网络连接时,将会话标识、代理客户端的IP地址以及所缓存的应用请求数据发送至代理服务端,通过代理服务端接收应用服务端返回的响应数据,以及将所述响应数据发送至对应的应用,其中,所述会话标识用于标识代理客户端与代理服务端的本次通信;所述代理服务端与应用服务端通信连接,适于将代理客户端发送的应用请求数据发送至应用服务端,接收应用服务端返回的响应数据,以及将所述响应数据发送至所述代理客户端。根据本专利技术的第四个方面,提供一种计算设备,包括:至少一个处理器;和存储有程序指令的存储器,当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如上所述的通信方法。根据本专利技术的第五个方面,提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如上所述的通信方法。根据本专利技术的通信方案,在终端设备侧设置代理客户端,在应用服务端侧设置代理服务端,终端设备不直接与应用服务端通信,而是通过代理客户端、代理服务端来与应用服务端通信。终端设备中的上层应用将待发送的应用请求数据交给代理客户端,代理客户端对获取到的应用请求数据进行缓存。代理客户端可以感知网络状态,当网络状态正常时,代理客户端将请求数据发送至代理服务端,代理服务端则将来自应用服务端的响应数据发送至代理客户端。在复杂网络情况下,终端设备上的应用不感知网络状态,不会将大量资源用于处理socket通信的异常、频繁地关闭/创建socket以及向用户提示网络状态异常,提到了通信效率及用户体验。在本专利技术的通信方案中,代理客户端与代理服务端之间的通信采用会话标识来标识,使得本专利技术的通信方法可以适应IP地址变化的复杂网络环境。即使代理客户端的IP地址发生变化,由于代理客户端发送的数据中携带了同一个会话标识,代理服务端也可以识别出与之通信的是同一个代理客户端,与该代理客户端继续通信。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。图1示出了根据本专利技术一个实施例的通信系统100的示意图;图2示出了根据本专利技术一个实施例的通信方法200(代理客户端侧)的流程图;图3示出了根据本专利技术一个实施例的确定会话标识的过程300的示意图;图4示出了根据本专利技术一个实施例的确定会话标识的过程400的交互图;图5示出了根据本专利技术一个实施例的数据收发过程500的示意图;图6示出了根据本专利技术一个实施例的数据收发过程600的交互图;图7示出了根据本专利技术一个实施例的通信方法700(代理服务端侧)的流程图;以及图8示出了根据本专利技术一个实施例的计算设备800的示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的通信系统100的示意图。如图1所示,通信系统100包括终端设备110和服务端设备120~140。应当指出,图1所示的通信系统100仅为一个示例,尽管图1中仅示出了一个终端设备和三个服务端设备,但是本领域技术人员可以理解,在其他实施例中,可以根据实际情况在通信系统中部署任意数量的终端设备和服务端设备,本专利技术对通信系统所包括的终端设备及服务端设备的数量均不做限制。终端设备110为位于用户侧的设备,其可以实现为任意可接入互联网的设备,例如桌面电脑、笔记本电脑等个人配置的计算机,或手机、平板电脑、智能可穿戴设备等移动终端,或智能家电、车机、无人机等物联网(InternetofThings,简称IoT)设备等,但不限于此。终端设备110中通常部署有多个应用(Application,简称App),例如浏览器、购物应用、即时通讯应用、拍照美颜应用等,用于向用户提供相应的功能。如图1所示,终端设备110中部署有第一应用111和第二应用112。服务端设备120~140是用于向终端设备110提供计算服务的设备,其例如可以实现为物理服务器、工作站等高性能计算机,也可以是桌面电脑、笔记本电脑等个人配置的计算机,还可以是手机、平板电脑、智能可穿戴设备等移动终端,但不限于此。服务端设备130、140中分别部署有应用服务端,该应用服务端用于向终端设备110中的相应应用提供方法及数据调用等服务。如图1所示,服务端设备130中部署有第一应用服务端131,第一应用服务端131用于向终端设备1本文档来自技高网...

【技术保护点】
1.一种通信方法,在代理客户端中执行,所述方法包括:/n获取并缓存应用产生的应用请求数据;/n当与代理服务端建立网络连接时,将会话标识、代理客户端的IP地址以及所缓存的应用请求数据发送至所述代理服务端,以便所述代理服务端将所述应用请求数据发送至应用服务端,其中,所述会话标识用于标识代理客户端与代理服务端的本次通信;/n通过代理服务端接收应用服务端返回的响应数据,以及将所述响应数据发送至对应的应用。/n

【技术特征摘要】
1.一种通信方法,在代理客户端中执行,所述方法包括:
获取并缓存应用产生的应用请求数据;
当与代理服务端建立网络连接时,将会话标识、代理客户端的IP地址以及所缓存的应用请求数据发送至所述代理服务端,以便所述代理服务端将所述应用请求数据发送至应用服务端,其中,所述会话标识用于标识代理客户端与代理服务端的本次通信;
通过代理服务端接收应用服务端返回的响应数据,以及将所述响应数据发送至对应的应用。


2.如权利要求1所述的方法,其中,所述代理客户端适于监听终端设备中的目标网卡,所述获取并缓存应用产生的应用请求数据的步骤包括:
当应用将应用请求数据发送至目标网卡时,从所述目标网卡中获取所述应用请求数据并缓存;
所述将所述响应数据发送至对应的应用的步骤包括:
将所述响应数据发送至目标网卡以便对应的应用获取所述响应数据。


3.如权利要求1所述的方法,其中,在所述将会话标识、代理客户端的IP地址以及所缓存的应用请求数据发送至所述代理服务端的步骤之前,还包括:
确定用于标识代理客户端与代理服务端的本次通信的会话标识。


4.如权利要求3所述的方法,其中,所述会话标识按照以下步骤确定:
判断终端设备处是否已存储有有效的会话标识;
若是,则获取所述有效的会话标识;
若否,则代理客户端向代理服务端发送连接请求,并接收代理服务端为本次通信分配的会话标识。


5.如权利要求4所述的方法,其中,当终端设备处存储有无效的会话标识时,清除该无效的会话标识所关联的历史数据。


6.如权利要求1所述的方法,还包括:
当所述代理客户端的IP地址发生变化,且缓存中没有待发送的应用请求数据时,向代理服务端发送状态变化通知,所述状态变化通知包括所述会话标识和变化后的IP地址。


7.如权利要求1所述的方法,其中,所述将会话标识、代理客户端的IP地址以及所缓存的应用请求数据发送至所述代理服务端的步骤包括:
将所述会话标识、代理客户端的IP地址以及应用请求数据封装成符合目标传输协议的数据包,将所述数据包发送至代理服务端,其中,所述目标传输协议为代理客户端与代理服务端约定的传输协议。


8.如权利要求1所述的方法,其中,所述将所述响应数据发送至对应的应用的步骤包括:
将所述响应数据封装成预设格式的数据包,所述预设格式为所述对应的应用能够读取的数据格式;
将所述数据包发送至目标网卡,以便所述对应的应用获取所述响应数据。


9.如权利要求1所述的方法,还包括:
向代理服务端发送结束请求,以断开与代理服务端的通信;
当断开与代理服务端的通信后,将所述会话标识的状态设置为无效。


10.一种通信方法,在代理服务端中执行,所述方法包括:
接收代理客户端发送的会话标识、代理客户端的IP地址和应用请求数据,其中,所述会话标识用于标识代理客户端与代理服务端的本次通信;
将所述应用请求数据发送至应用服务端;
接收应用服务端返回的响应数据,以及将所述响应数据发送至所述代理客户端。


11.如权利要求10所述的方法,其中,在所述接收代理客户端发送的会话标识、代理客户端的IP地址和应用请求数据的步骤之前,还包括:
接收代理客户端发送的连接请求;
响应于所述连接请求,为与所述代理客户端的本次通信分配会话标识。


12.如权利要求10所述的方法,其中,所述将所述响应数据发送至所述代理客户端的步骤包括:
将所述响应数据封装成符合目标传输协议的数据包,将所述数据包发送至所述代理客户端,其中,所述目标传输协议为代理客户端与代理服务端约定的传输协议。


13.如权利要求10所述的方法,还包括:
当在预设时长内未收到代理客户端发送的数据时,断开与代理客户端的通信,向代理客户端发送结束通知,以便代理客户端在接收到所述结束通知后,将所述会话标识的状态设置为无效。


14....

【专利技术属性】
技术研发人员:石亚军
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛;KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1