基于Proxy代理服务器的长连接方法

基于Proxy代理服务器的长连接方法  
摘要
本发明公开了一种基于Proxy代理服务器的长连接方法,在智能终端与服务器之间介入Proxy代理服务器,其长连接方法包括:连接的建立、连接的使用和连接的释放三个部分。用Proxy代替智能终端与服务器维持长连接,而智能终端可以断开网络连接,进入休眠状态,不仅能极大地改善现有的智能手机耗电量过大的现状,而且能充分利用移动运营商的分配的带宽资源,缓解保持连接对移动运营商造成的空口资源消耗过重的问题。
权利要求(1)
1.一种基于Proxy代理服务器的长连接替代方法,其特征在于,在智能终端与服务器之间介入Proxy代理服务器,Proxy代理服务器代替智能终端与服务器建立长连接,而智能终端断开与移动运营商的连接,即断开网络连接进入休眠状态;当服务器需要发起通信时,Proxy代理服务器通过电路域激活,即唤醒休眠状态的智能终端相应的应用程序,与服务器进行通讯;其长连接替代方法包括:连接的建立、连接的使用和连接的释放三个部分; 所述连接的建立部分具体包括: S1.1:智能终端通过调用经修改的长连接接口,发出长连接请求;所述修改的长连接接口与原来长连接接口的功能一致,只是连接请求首先被发送到Proxy代理服务器,Proxy代理服务器收到长连接后会代替智能终端处理长连接; S1.2 =Proxy代理服务器接收请求; S1.3:Proxy代理服务器为智能终端的长连接创建记录,所述创建记录内容包括:智能终端的电话号码以及智能终端与Proxy代理服务器的连接状态; S1.4 =Proxy代理服务器代替智能终端向服务器发起长连接请求; S1.5:智能终端与服务器建立长连接,智能终端通过已经建立的长连接与服务器进行通讯; 所述连接的使用部分具体包括: S2.1:智能终端与服务器未通讯的时间超过设定的阈值,智能终端主动断开与Proxy代理服务器的长连接; S2.2:智能终端底层对断开长连接作相应处理,让上层应用认为长连接一直存在,保持长连接使用的逻辑;由于长连接的实现在网络层次结构的应用层之下,所述上层是指上层应用程序;所述相应处理具体为:记录此长连接已经断开但实际由proxy代理服务器保持的标记,通过维护长连接列表及自定义长连接字段来实现; S2.3 =Proxy代理服务器将长连接记录中的连接状态修改为断开,同时对服务器保持长连接状态,上述操作对服务器是透明的,服务器认为长连接一直存在;所述透明的含义是指服务器不用区分收到的长连接请求是否是经过修改后的长连接,而采取一致的方法处理修改后的长连接和原来的长连接,服务器完全不用做任何修改; S2.4:若智能终端需要重新发起与服务器通讯,首先智能终端底层找到已经断开的长连接,然后所述智能终端与Proxy代理服务器重新关联,同时Proxy代理服务器修改长连接记录中的连接状态为连接,智能终端与服务器的通讯重新建立,同时转到S2.8,否则,执行下面S2.5 ;长连接都是应用程序发起的,这里的底层是指在网路层次结构中应用层之下实现长连接的层次; S2.5:若服务器需要发起与智能终端的通讯,则所述服务器向Proxy代理服务器发送信息; S2.6:所述Proxy代理服务器接收到信息,并发现长连接处于断开状态,通过所述长连接记录找到智能终端的电话号码,通过电路域激活智能终端的应用程序重新与Proxy代理服务器建立连接; S2.7:智能终端与服务器重新建立连接; S2.8:智能终端与服务器进行通讯,在设定时间内未通讯时,转到S1.1 ; 所述连接的释放部分具体包括: S3.1:智能终端通过调用经修改的长连接接口,发起断开长连接请求; S3.2:智能终端底层查询长连接现在所处的状态,若确认连接状态处于断开,则与Proxy代理服务器重新进行关联,并建立长连接; S3.3:智能终端将断开长连接的请求发送给Proxy代理服务器;S3.4 =Proxy代理服务器代替智能终端与服务器断开长连接并释放原来占用的资源; S3.5 =Proxy代理服务器与服务器断开连接,释放与智能终端的长连接,同时消除长连接记录。
说明
基于Proxy代理服务器的长连接方法
技术领域
[0001] 本发明涉及只能终端与服务器通讯技术领域,特别涉及一种基于Proxy代理服务器的长连接方法。

背景技术
[0002] 随着移动互联网时代的到来,智能手机的流行已成为电子产品市场的一大趋势。传统互联网上的服务提供商纷纷将注意力转移到移动市场,期望在新的领域内有所斩获,最为突出的是近年飞速发展的以QQ、MSN为代表的頂(Instant Message)服务,以及以Facebook、Twitter、新浪微博、人人为代表的SNS (Social Network Service)服务。这些服务以其自身独有的特点天然地适应移动终端的应用需求,发展势头迅猛。
[0003] 如图1所示,在现有技术中,IM、SNS服务以及广泛应用的信息推送服务,都需要移动客户端与服务器保持连接状态,以便及时收到来自服务器的状态和信息更新。一般来说,客户端与服务器保持状态连接的方法使用的是长连接的方式,可以是TCP的长连接,也可以是其他技术模仿的长连接。移动终端与服务器保持长连接的示意图如图1所示。由于传统互联网的终端多是PC、笔记本电脑等有直流电源供电的实体,IM、SNS服务所带来的开销对于有强大计算能力、足够内存空间以及直流电源供应的终端来说够不成实质性的影响。
[0004] 然而,当頂、SNS服务移植到移动终端上,传统的通信开销所带来的影响是不可忽视的,甚至是严重的。近年来移动终端虽在硬件和操作系统上取得了长足的进步,智能手机的功能越来越强大,但是电池供电技术长期以来都没有突破性进展,电池供电量一直是制约智能手机发展的瓶颈。在頂、SNS服务通过长连接来保持通信状态的通信模型中,手机终端的无线电(Rad1) —直处于高功率发射状态(耗电量约为无网络连接状态(IDLE)的数倍),手机无法进入休眠状态。长期以来,智能手机耗电量最大的部分就是网络连接,而IM、SNS服务是网路连接应用最广泛的服务。这样,智能手机供电量不足的问题变得异常突出。
[0005] 此外,移动终端上的互联网应用主要是使用移动通信系统的分组交换域(PacketSwitch Domain,PSD)来进行数据通信,长时间保持连接不释放对移动运营商空口资源以及GSN等网关设备资源消耗严重。实际运营过程中,运营商往往不得不在负载过重的情况下踢掉一些长连接,以致降低了用户的移动服务体验。
[0006] 服务提供商使用的现有通讯方法不仅使用户的移动终端耗电量过快,也给移动运营商带来很大的运营压力,降低了用户的服务体验。因而,改进现有的长连接实现方法,用Proxy代替智能终端与服务器维持长连接,而智能终端可以断开网络连接,进入休眠状态,不仅能极大地改善现有的智能手机耗电量过大的现状,而且能充分利用移动运营商的分配的带宽资源,缓解保持连接对移动运营商造成的空口资源消耗过重的问题,改善服务的用户体验。

发明内容
[0007]( 一 )要解决的技术问题
[0008] 本发明要解决的技术问题是,针对现有技术的不足提供一种基于Proxy代理服务器的长连接方法,可极大地改善现有的智能终端耗电量过大的现状,缓解保持连接对移动运营商造成的空口资源消耗过重的问题。
[0009] ( 二)技术方案
[0010] 本发明提供一种基于Proxy代理服务器的长连接方法,在智能终端与服务器之间介入Proxy代理服务器,其长连接方法包括:连接的建立、连接的使用和连接的释放三个部分。
[0011] 更好地,所述连接的建立部分具体包括:S1.1:智能终端发出长连接请求;S1.2:Proxy代理服务器接收请求;S1.3:Proxy代理服务器为智能终端的长连接创建记录;S1.4:Proxy代理服务器代替智能终端向服务器发起长连接请求;S1.5:智能终端与服务器建立长连接。
[0012] 更好地,所述的创建记录内容包括:智能手机客户端的电话号码以及智能手机与Proxy代理服务器的连接状态。
[0013] 更好地,所述连接的使用部分具体包括:S2.1:智能终端与服务器未通讯的时间超过设定的阈值,智能终端主动断开与Proxy代理服务器的长连接;S2.2:智能终端底层对断开长连接作相应处理,保持长连接使用的逻辑;所述相应处理具体为:记录此长连接已经断开,但实际由proxy保持的标记,可以通过维护长连接列表及自定义长连接字段来实现;S2.3 =Proxy代理服务器将长连接记录中的连接状态修改为断开,同时对服务器保持长连接状态;S2.4:若智能终端需要重新发与服务器通讯,则所述智能终端与Proxy代理服务器重新关联,同时Proxy代理服务器将长连接记录中的连接状态修改为连接,同时转到 52.8 ;S2.5:若服务器需要发起与智能终端的通讯,则所述服务器向Proxy代理服务器发送信息;S2.6:所述Proxy代理服务器接收到信息,并发现长连接处于断开状态,通过所述长连接记录找到智能终端的电话号码,通过电路域激活智能终端的应用程序重新与Proxy代理服务器建立连接;S2.7:智能终端与服务器重新建立连接;S2.8:智能终端与服务器进行通讯,在设定时间内未通讯时,转到SI。
[0014] 更好地,所述连接的使用部分具体包括:S3.1:智能终端发起断开长连接请求; 53.2:智能终端确认连接状态并与Proxy代理服务器的建立长连接;S3.3:智能终端将断开长连接的请求发送给Proxy代理服务器;S3.4 =Proxy代理服务器代替智能终端与服务器断开长连接;S3.5 =Proxy代理服务器与服务器断开连接,释放与智能终端的长连接,同时消除长连接记录。
[0015](三)有益效果
[0016] 用Proxy代替智能终端与服务器维持长连接,而智能终端可以断开网络连接,进入休眠状态,不仅能极大地改善现有的智能手机耗电量过大的现状,而且能充分利用移动运营商的分配的带宽资源,缓解保持连接对移动运营商造成的空口资源消耗过重的问题。
附图说明
[0017] 图1为现有技术智能终端与服务器连接结构示意图;
[0018] 图2为本发明基于Proxy代理服务器的智能终端与服务器连接结构示意图;
[0019] 图3为本发明基于Proxy代理服务器的智能终端与服务器工作原理图;
[0020] 图4为本发明基于Proxy代理服务器的智能终端与服务器连接建立流程图;
[0021] 图5为本发明基于Proxy代理服务器的智能终端与服务器连接使用流程图;
[0022] 图6为本发明基于Proxy代理服务器的智能终端与服务器连接断释放流程图。
具体实施方式
[0023] 下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
[0024] Proxy Server其中文全称为代理服务器,其功能就是代理网络用户去取得网络信息。形象的说:它是网络信息的中转站。在一般情况下,我们使用网络浏览器直接去连接其他Internet站点取得网络信息时,是直接联系到目的站点服务器,然后由目的站点服务器把信息传送回来。代理服务器是介于浏览器和Web服务器之间的另一台服务器,有了它之后,浏览器不是直接到Web服务器去取回网页而是向代理服务器发出请求,信号会先送到代理服务器,由代理服务器来取回浏览器所需要的信息并传送给你的浏览器。
[0025] Proxy代理服务器是一种重要的电脑安全功能,也是特殊的网络服务,允许客户端通过它与另一个网络服务进行非直接的连接,也称“网络代理”。代理服务器有利于保障网络安全,防止攻击。
[0026] 提供代理服务的计算机或其它类型的网络节点称为代理服务器(英文=ProxyServer),代理服务器中实现网络代理的软件称为“代理软件”。具体过程为:智能终端首先与代理服务器建立连接,接着发出一个对另外的目标服务器的文件或其它资源的连接请求,代理服务器通过与目标服务器连接或从缓存中取得请求的资源,并返回给客户端。通常在这个过程中,代理服务器可能改变智能终端请求或服务器端响应的一些内容以满足各种代理需要。
[0027] 电路域:2G网络使用的是电路交换技术(Circiut Switching),网络中任意两个节点要相互通讯首先必须建立专用的通讯信道,即使通讯双方长时间没有进行信息交换,通讯信道在通讯结束释放资源之前只能由通讯双方使用。但对于需求日益增长的数据传输业务(如手机上网等),电路交换技术并不适用,主要原因是由于数据传输业务突发性的特点,电路交换对链路资源的利用率过低。因而在因特网中成功应用的报文交换技术(PacketSwitching)被引入无线通讯领域,现如今人们使用的手机数据业务(如GPRS, EDGE, 3G网络中的数据业务)都是使用的报文交换技术。一般来说,人们将使用电路交换技术的通信链路统称为电路域,典型的有语音服务,短信业务使用的链路,电路交换服务由智能终端的基带处理器处理,基带处理器在智能终端休眠时仍然能基站正常通讯。
[0028] 如图2所示,本发明一种基于Proxy代理服务器的长连接方法,在传统的长连接方法中引入代理服务器(Proxy),Proxy代理服务器代替智能终端与服务器建立长连接,而智能终端可以断开与移动运营商的连接,进入休眠状态;当服务器需要发起通信时,Proxy代理服务器可以通过电路域激活智能终端相应的应用程序,与服务器进行通讯。
[0029] 当智能终端与服务器发起长连接过程时,调用经过修改的长连接请求接口,连接请求首先转发给Proxy代理服务器,此时Proxy代理服务器记录智能终端的信息(如智能终端的手机号等),然后Proxy代理服务器代替智能终端与服务器建立长连接,此时智能终端可与服务器进行正常的通讯;一段时间未进行时,智能终端断开与Proxy代理服务器的长连接,记录连接由Proxy代理服务器维护的标识,释放运营商的空口连接资源,智能终端可以关闭网络连接进入休眠状态,此时由Proxy代理服务器代替智能终端与服务器保持长连接;这时如果智能终端需要发起通讯,首先会检查是否有Proxy代理服务器的代理长连接,若有,智能终端直接与Proxy代理服务器关联,使用原有的连接进行通讯,若没有,重新发起长连接;如果服务器需要发起通讯,直接发送消息到Proxy代理服务器,Proxy代理服务器收到消息后,通过电路域激活正在休眠的智能终端,智能终端与Proxy代理服务器进行关联,智能终端与服务器之间重新建立起连接,接着Proxy代理服务器将消息转发给智能终端。
[0030] 如图4并参考图3所示,长连接方法包括:连接的建立、连接的使用和连接的释放三个部分。所述连接的建立部分具体包括:
[0031] S1.1:智能终端通过调用经修改的长连接接口,发出长连接请求;所述修改的长连接接口与原来长连接接口的功能一致,只是连接请求首先被发送到Proxy, Proxy收到长连接后会代替智能终端处理长连接;
[0032] S1.2 =Proxy代理服务器接收请求;
[0033] S1.3 =Proxy代理服务器为智能终端的长连接创建记录,所述创建记录内容包括:智能手机客户端的电话号码以及智能手机与Proxy代理服务器的连接状态等;
[0034] S1.4 =Proxy代理服务器代替智能终端向服务器发起长连接请求;
[0035] S1.5:智能终端与服务器建立长连接,智能终端可以通过已经建立的长连接与服务器进行通讯。
[0036] 如图5并参考图3所示,所述连接的使用部分具体包括:
[0037] S2.1:智能终端与服务器未通讯的时间超过设定的阈值(阈值约为十分钟),智能终端主动断开与Proxy代理服务器的长连接;
[0038] S2.2:智能终端底层对断开长连接作相应处理,让上层应用认为长连接一直存在,保持长连接使用的逻辑;由于长连接的实现在网络层次结构的应用层之下,所述上层是指上层应用程序;所述相应处理具体为:记录此长连接已经断开但实际由proxy保持的标记,可以通过维护长连接列表及自定义长连接字段来实现;
[0039] S2.3 =Proxy代理服务器将长连接记录中的连接状态修改为断开,同时对服务器保持长连接状态,同时对服务器保持长连接状态;因为上述操作对服务器是透明的,因此服务器认为长连接一直存在;所述透明的含义是指服务器不用区分收到的长连接请求是否是经过修改后的长连接,而采取一致的方法处理修改后的长连接和原来的长连接,服务器完全不用做任何修改;
[0040] S2.4:若智能终端需要重新发与服务器通讯,首先智能终端底层找到已经断开的长连接,然后所述智能终端与Proxy代理服务器重新关联,同时Proxy代理服务器修改长连接记录中的连接状态为连接,智能终端与服务器的通讯重新建立,同时转到S2.8 ;由于长连接都是应用程序发起的,这里的底层是指在网路层次结构中应用层之下实现长连接的层次;
[0041] S2.5:若服务器需要发起与智能终端的通讯,则所述服务器向Proxy代理服务器发送信息;
[0042] S2.6:所述Proxy代理服务器接收到信息,并发现长连接处于断开状态,通过所述长连接记录找到智能终端的电话号码,通过电路域激活智能终端的应用程序重新与Proxy代理服务器建立连接;
[0043] S2.7:智能终端与服务器重新建立连接;
[0044] S2.8:智能终端与服务器进行通讯,在设定时间内未通讯时(设定的时间约为十分钟),转到SI。
[0045] 如图6并参考图3所示,所述连接的释放部分具体包括:
[0046] S3.1:智能终端通过调用经修改的长连接接口,发起断开长连接请求;
[0047] S3.2:智能终端底层查询长连接现在所处的状态,若确认连接状态处于断开,则与Proxy代理服务器重新进行关联,并建立长连接;
[0048] S3.3:智能终端将断开长连接的请求发送给Proxy代理服务器;
[0049] S3.4 =Proxy代理服务器代替智能终端与服务器断开长连接并释放原来占用的资源;
[0050] S3.5 =Proxy代理服务器与服务器断开连接,释放与智能终端的长连接,同时消除长连接记录。
[0051] 以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
基于Proxy代理服务器的长连接方法_第1张图片
基于Proxy代理服务器的长连接方法_第2张图片
基于Proxy代理服务器的长连接方法_第3张图片
基于Proxy代理服务器的长连接方法_第4张图片
基于Proxy代理服务器的长连接方法_第5张图片
基于Proxy代理服务器的长连接方法_第6张图片

你可能感兴趣的:(基于Proxy代理服务器的长连接方法)