一种保持网络连接的方法及装置与流程

文档序号:12136972阅读:297来源:国知局
一种保持网络连接的方法及装置与流程

本发明涉及移动通信领域,更具体地说,涉及一种保持网络连接的方法及装置。



背景技术:

随时移动网络和智能移动终端的快速普及发展,人们可以通过智能移动进行实时办公、聊天、购物、支付、导航、娱乐等,而大多数操作都需要在有网络的情况下才能使用,因此,保持智能移动终端的网络连接显得尤为重要。由于移动设备上的网络是移动运营商分配的内网IP,在移动网络上访问internet时运营商会做一个网络地址的转换(Network Address Translation,NAT),简单的说运营商的网关需要维护一个外网IP、端口到内网IP、端口的对应关系,以确保内网的手机可以跟Internet的服务器通讯。

但由于网关资源的限制,如果一个终端长时间连接网络而没有数据交换,就会被运营商断开这个网络,这是违背我们初衷的,所以现有的技术都是以固定的频率发送一个心跳包来保护网络长连接不被网关释放掉。但此种方式存一个问题,就是这个频率到底多高?



技术实现要素:

本发明要解决的技术问题在于,针对现有技术的上述移动终端发送心跳包时间间隔不合理的缺陷,提供一种保持网络连接的方法及装置。

本发明解决其技术问题所采用的技术方案是:构造一种保持网络连接的方法,应用于移动终端,包括以下步骤:

S1:所述移动终端在预设的心跳包发送时间间隔内选择第一时间间隔;

S2:所述移动终端以所述第一时间间隔为间隔向网关发送心跳包,查看所述移动终端是否处于网络连接状态;

S3:若所述移动终端未处于网络连接状态,则调用网络连接请求命令,使所述移动终端连接到网络,然后执行所述步骤S2;若所述移动终端处于网络连接状态,则重复执行所述步骤S2,并计算网络连续成功连接的次数;

S4:验证所述网络连续成功连接次数是否达到预设次数;

S5:若达到所述预设值,则以第一增加幅值增大所述第一时间间隔;若未达到所述预设值,则以第一减小幅值减小所述第一时间间隔;

S6:重复执行所述步骤S2至S5,直至得到最优时间间隔,以所述最优时间间隔作为固定时间间隔向所述网关发送心跳包,使所述移动终端保持网络连接。

优选地,在本发明所述的保持网络连接的方法中,在所述步骤S1中,第一时间间隔interval在时间间隔区间[min,max]内取值,其中,min为最小值,max为最大值,min、max都为正整数;

在所述步骤S4中,所述预设次数记为(interval/N1+1),其中,N1为正整数且N1>min,(interval/N1+1)向下取整。

优选地,在本发明所述的保持网络连接的方法,所述步骤S5中的所述第一增加幅值为(max-interval)/N2,即增大后的第一时间间隔为interval+(max-interval)/N2

所述步骤S5中的所述第一减小幅值为(max-interval)/N3,即减小后的第一时间间隔为interval-(max-interval)/N3,其中,N3>N2,且N2和N3为正整数。

优选地,在本发明所述的保持网络连接的方法,当减小后的第一时间间隔interval-(max-interval)/N3小于时间间隔区间的最小值min时,取interval=min。

优选地,在本发明所述的保持网络连接的方法,所述第一时间间隔interval取(max+min)/2,所述方法还包括:

当连续成功连接次数达到所述预设次数时,取min=interval,第一时间间隔interval调整为(max+min)/2;

当连续成功连接次数未达到所述预设次数时,取max=interval,第一时间间隔interval调整为(max+min)/2。

另,本发明还公开一种保持网络连接的装置,应用于移动终端,包括:

第一设置单元,用于所述移动终端在预设的心跳包发送时间间隔内选择第一时间间隔;

网络检测单元,用于所述移动终端以所述第一时间间隔为间隔向网关发送心跳包,查看所述移动终端是否处于网络连接状态;

判断单元,用于若所述移动终端未处于网络连接状态,则调用网络连接请求命令,使所述移动终端连接到网络,然后执行所述网络检测单元;若所述移动终端处于网络连接状态,则重复执行所述网络检测单元,并计算网络连续成功连接的次数;

验证单元,用于验证所述网络连续成功连接次数是否达到预设次数;

第一调整单元,用于若达到所述预设值,则以第一增加幅值增大所述第一时间间隔;若未达到所述预设值,则以第一减小幅值减小所述第一时间间隔;

第二调整单元,用于通过所述网络检测单元、判断单元、验证单元、第一调整单元对第一时间间隔进行多次调整,直至得到最优时间间隔,以所述最优时间间隔作为固定时间间隔向所述网关发送心跳包,使所述移动终端保持网络连接。

优选地,本发明所述的保持网络连接的装置,还包括:

第二设置单元,第一时间间隔interval在时间间隔区间[min,max]内取值,其中,min为最小值,max为最大值,min、max都为正整数;所述预设次数记为(interval/N1+1),其中,N1为正整数且N1>min,(interval/N1+1)向下取整。

优选地,本发明所述的保持网络连接的装置,还包括:

第三调整单元,所述第一增加幅值为(max-interval)/N2,即增大后的第一时间间隔为interval+(max-interval)/N2;所述第一减小幅值为(max-interval)/N3,即减小后的第一时间间隔为interval-(max-interval)/N3,其中,N3>N2,且N2和N3为正整数。

优选地,本发明所述的保持网络连接的装置,还包括:

第四调整单元,用于当减小后的第一时间间隔interval-(max-interval)/N3小于时间间隔区间的最小值min时,取interval=min。

优选地,本发明所述的保持网络连接的装置,还包括:

第五调整单元,用于所述第一时间间隔interval取(max+min)/2,当连续成功连接次数达到所述预设次数时,取min=interval,第一时间间隔interval调整为(max+min)/2;当连续成功连接次数未达到所述预设次数时,取max=interval,第一时间间隔interval调整为(max+min)/2。

实施本发明的一种保持网络连接的方法,具有以下有益效果:该方法应用于移动终端,包括:所述移动终端在预设的心跳包发送时间间隔内选择第一时间间隔;所述移动终端以所述第一时间间隔为间隔向网关发送心跳包,查看所述移动终端是否处于网络连接状态;若所述移动终端未处于网络连接状态,则调用网络连接请求命令,使所述移动终端连接到网络,然后再发送心跳包;若所述移动终端处于网络连接状态,则重复执行第一时间间隔为间隔向网关发送心跳包,并计算网络连续成功连接的次数;验证所述网络连续成功连接次数是否达到预设次数;若达到所述预设值,则以第一增加幅值增大所述第一时间间隔;若未达到所述预设值,则以第一减小幅值减小所述第一时间间隔;重复执行上述步骤,直至得到最优时间间隔,以所述最优时间间隔作为固定时间间隔向所述网关发送心跳包,使所述移动终端保持网络连接。通过实施本发明,使移动终端根据网络环境的不同,快速获取发送心跳包的最优时间间隔,以该最优时间间隔发送心跳包,不仅使移动终端始终保持网络连接,还能节约移动终端的电量和流量。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明一种保持网络连接的方法的流程示意图;

图2是本发明一种保持网络连接的装置的结构示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

本发明实施例公开一种保持网络连接的方法及装置,移动终端根据不同的网络快速调整发送心跳包的时间间隔,获得最优时间间隔;并以该最优时间间隔发送心跳包来保护网络不被网管释放掉,使移动终端始终保持网络连接,同时节约移动终端的电量和流量。以下分别进行详细说明。

如图1所示,是本发明一种保持网络连接的方法的优选实施例。

请参阅图1,图1是本发明一种保持网络连接的方法的流程示意图。该方法可以应用于需要联网工作的移动终端中,其中,移动终端包括但不限于手机、平板电脑、笔记本电脑、智能手表、智能手环、智能可穿戴设备、智能家居设备等;移动终端连接的网络包括但不限于移动运营商提供的移动网络、WIFI、WLAN等,移动网络包括2G、3G、4G网络。如图1所示,该保持网络连接的方法包括以下步骤:

S1:移动终端在预设的心跳包发送时间间隔内选择第一时间间隔。

具体的,在移动终端连接到网络后,如果长时间没有与网络进行数据交换时,网络运营商会断掉该连接,释放网络资源。另外,在无数据交互时,网络运营商在不同地区设置的保持网络连接的时间是不同的;网络运营商提供的不同网络制式设置的保持网络连接的时间是不同的,例如2G、3G、4G网络设置的保持网络连接的时间是不同。根据实测结果或运营商提供的联网数据,统计在无数据交换情况下网络连接的保持时间,根据统计结果,得到网络连接的区间范围。

根据网络连接的区间范围,设置移动终端发送心跳包的时间间隔取值范围[min,max],其中,min为最小值,max为最大值,min、max都为正整数,时间间隔的单位可以为毫秒mS、秒S、分Min等,本实施例对此不做限制,可根据需要进行选择。可以理解,本实施例设置的移动终端发送心跳包的时间间隔取值范围[min,max]应当包含最优时间间隔。

在时间间隔区间[min,max]内任意选取第一时间间隔interval,移动终端以第一时间间隔为间隔向网关发送心跳包。

S2:移动终端以第一时间间隔为间隔向网关发送心跳包,查看移动终端是否处于网络连接状态。

具体的,在时间间隔区间[min,max]内任意选取第一时间间隔interval,移动终端以第一时间间隔为间隔向网关发送心跳包。因发送心跳包前移动终端并不知道移动终端是否还与网络保持连接,应在发送心跳包后查看移动终端是否处于网络连接状态。本实施例不对如何判断移动终端是否连接网络的技术进行限定,只要能获知移动终端是否处于网络连接状态即可。

S3:若移动终端未处于网络连接状态,则调用网络连接请求命令,使移动终端连接到网络,然后执行步骤S2;若移动终端处于网络连接状态,则重复执行步骤S2,并计算网络连续成功连接的次数。

具体的,在移动终端以第一时间间隔为间隔向网关发送心跳包后,查看移动终端是否处于网络连接状态,移动终端存在两种状态:

a.若移动终端未处于网络连接状态,说明移动终端已经被网关释放,此时应首先调用网络连接请求命令,调用网络连接模块,使移动终端连接到网络,然后再立即执行步骤S2,即保证移动终端与网络连接的状态下发送心跳包。

b.若移动终端处于网络连接状态,则重复执行步骤S2,移动终端以第一时间间隔为间隔向网关发送心跳包,查看移动终端是否处于网络连接状态。并计算网络连续成功连接的次数。需要注意的是,本实施例必须保证网络连接成功是连续的,如果中间有连接不成功的,则说明该第一时间间隔不合理,应该调整。

S4:验证网络连续成功连接次数是否达到预设次数。

具体的,验证移动终端在第一时间间隔下发送心跳包是否合理,为保证所选的时间间隔的稳定,应尽量多的进行连接测试,以保证第一时间间隔的可靠性。但是,实验次数过多,会导致获取最优时间间隔时间过长,同时浪费移动终端的电量和资源。因此要合理确定验证的次数,在第一时间间隔较小时,验证的次数相对较少;在第一时间间隔较大时,验证的次数相对较多;第一时间间隔越大,验证次数越多。预设次数可人工设定,也可根据第一时间间隔的不同进行动态设定。

优选地,预设次数根据第一时间间隔的不同进行动态设定:预设次数记为(interval/N1+1),其中,N1为正整数,N1>min,(interval/N1+1)向下取整。

例如,当时间间隔的单位为秒S时,取N1=100,则预设次数记为(interval/100+1),其中,(interval/N1+1)向下取整。当interval=180时,(180/100+1)=2,只需要探测两次即可;当interval=240时,(240/100+1)=3,只需要探测三次即可。

S5:若达到预设值,则以第一增加幅值增大第一时间间隔;若未达到预设值,则以第一减小幅值减小第一时间间隔。

具体的,在验证过程中,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计连续连接成功的次数。若网络连续成功连接次数达到预设次数,说明当前选取的第一时间间隔小于或等于最优值,因此,应增大第一时间间隔再进行测试。第一增加幅值可按照固定值增加,也可按照一定比例增加。

优选地,第一增加幅值按照一定比例增加:第一增加幅值为(max-interval)/N2,即增大后的第一时间间隔为interval+(max-interval)/N2;其中,N2为正整数。例如,N2=4,则第一增加幅值为(max-interval)/4,即增大后的第一时间间隔为interval+(max-interval)/4。

在验证过程中,若网络连续成功连接次数未达到预设次数,说明当前选取的第一时间间隔大于最优值,因此,应减小第一时间间隔再进行测试。第一减小幅值可按照固定值减小,也可按照一定比例减小。

优选地,第一减小幅值可按照一定比例减小:第一减小幅值为(max-interval)/N3,即减小后的第一时间间隔为interval-(max-interval)/N3,其中,N3为正整数,且N3>N2。例如,N2=4,N3=8,则第一减小幅值为(max-interval)/8,即减小后的第一时间间隔为interval-(max-interval)/8。

优选地,当减小后的第一时间间隔interval-(max-interval)/N3小于时间间隔区间的最小值min时,取interval=min。

S6:重复执行步骤S2至S5,直至得到最优时间间隔,以最优时间间隔作为固定时间间隔向网关发送心跳包,使移动终端保持网络连接。

优选地,在本发明的保持网络连接的方法,还可以使用二分法来获取最优时间间隔,具体过程为:

第一时间间隔interval取(max+min)/2,也即取中间值,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计网络连续成功连接的次数。

当网络连续成功连接次数达到预设次数时,说明当前选取的第一时间间隔小于或等于最优时间间隔,应增大第一时间间隔进行再测试;此时,调整时间间隔区间[min,max]的取值范围,将当前选取的第一时间间隔作为时间间隔区间的最小值,即min=interval,之后将第一时间间隔interval调整为(max+min)/2,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计连续连接成功的次数。

当连续成功连接次数未达到预设次数时,说明当前选取的第一时间间隔大于最优时间间隔,应减小第一时间间隔进行再测试,此时,调整时间间隔区间[min,max]的取值范围,将当前选取的第一时间间隔作为时间间隔区间的最大值。即max=interval,之后将第一时间间隔interval调整为(max+min)/2,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计连续连接成功的次数。

本实施例二分法来获取最优时间间隔预设次数的选取可参考上述最优实施例预设次数的设置方法,在此不在赘述。

通过上述过程,不断缩小时间间隔区间[min,max]的取值范围,最终获取最优时间间隔。

本领域技术人员应当理解,本实施例获取的最优时间间隔并不是理论上的最优时间间隔,本实施例获取的最优时间间隔只要距离理论上的最优时间间隔较近即可,这样,既可以在较短的时间内获取最优时间间隔,又可以保障移动终端与网络保持连接消耗的电量和流量最少,具有较好的实用性。

如图2所示,是本发明一种保持网络连接的装置的优选实施例。

请参阅图2,图2是本发明一种保持网络连接的装置的结构示意图。该装置可以应用于需要联网工作的移动终端中,其中,移动终端包括但不限于手机、平板电脑、笔记本电脑、智能手表、智能手环、智能可穿戴设备、智能家居设备等;移动终端连接的网络包括但不限于移动运营商提供的移动网络、WIFI、WLAN等,移动网络包括2G、3G、4G网络。如图2所示,该保持网络连接的装置包括:第一设置单元、网络检测单元、判断单元、验证单元、第一调整单元、第二调整单元,以下分别进行详细说明。

第一设置单元,用于移动终端在预设的心跳包发送时间间隔内选择第一时间间隔。

具体的,在移动终端连接到网络后,如果长时间没有与网络进行数据交换时,网络运营商会断掉该连接,释放网络资源。另外,在无数据交互时,网络运营商在不同地区设置的保持网络连接的时间是不同的;网络运营商提供的不同网络制式设置的保持网络连接的时间是不同的,例如2G、3G、4G网络设置的保持网络连接的时间是不同。根据实测结果或运营商提供的联网数据,统计在无数据交换情况下网络连接的保持时间,根据统计结果,得到网络连接的区间范围。

第二设置单元,根据网络连接的区间范围,设置移动终端发送心跳包的时间间隔取值范围[min,max],其中,min为最小值,max为最大值,min、max都为正整数,时间间隔的单位可以为毫秒mS、秒S、分Min等,本实施例对此不做限制,可根据需要进行选择。可以理解,本实施例设置的移动终端发送心跳包的时间间隔取值范围[min,max]应当包含最优时间间隔。

在时间间隔区间[min,max]内取值任意选取第一时间间隔interval,移动终端以第一时间间隔为间隔向网关发送心跳包。

网络检测单元,用于移动终端以第一时间间隔为间隔向网关发送心跳包,查看移动终端是否处于网络连接状态。

具体的,在时间间隔区间[min,max]内取值任意选取第一时间间隔interval,移动终端以第一时间间隔为间隔向网关发送心跳包。因发送心跳包前移动终端并不知道移动终端是否还与网络保持连接,应在发送心跳包后查看移动终端是否处于网络连接状态。本实施例不对如何判断移动终端是否连接网络的技术进行限定,只要能获知移动终端是否处于网络连接状态即可。

判断单元,用于若移动终端未处于网络连接状态,则调用网络连接请求命令,使移动终端连接到网络,然后执行网络检测单元;若移动终端处于网络连接状态,则重复执行网络检测单元,并计算网络连续成功连接的次数。

具体的,在移动终端以第一时间间隔为间隔向网关发送心跳包后,查看移动终端是否处于网络连接状态,移动终端存在两种状态:

a.若移动终端未处于网络连接状态,说明移动终端已经被网关释放,此时应首先调用网络连接请求命令,调用网络连接模块,使移动终端连接到网络,然后再立即执行网络检测单元,即保证移动终端与网络连接的状态下发送心跳包。

b.若移动终端处于网络连接状态,则重复执行网络检测单元,移动终端以第一时间间隔为间隔向网关发送心跳包,查看移动终端是否处于网络连接状态。并计算网络连续成功连接的次数。需要注意的是,本实施例必须保证网络连接成功是连续的,如果中间有连接不成功的,则说明该第一时间间隔不合理,应该调整。

验证单元,用于验证网络连续成功连接次数是否达到预设次数。

具体的,验证移动终端在第一时间间隔下发送心跳包是否合理,为保证所选的时间间隔的稳定,应尽量多的进行连接测试,以保证第一时间间隔的可靠性。但是,实验次数过多,会导致获取最优时间间隔时间过长,同时浪费移动终端的电量和资源。因此要合理确定验证的次数,在第一时间间隔较小时,验证的次数相对较少;在第一时间间隔较大时,验证的次数相对较多;第一时间间隔越大,验证次数越多。预设次数可人工设定,也可根据第一时间间隔的不同进行动态设定。

优选地,预设次数根据第一时间间隔的不同进行动态设定:预设次数记为(interval/N1+1),其中,N1为正整数,N1>min,(interval/N1+1)向下取整。

例如,当时间间隔的单位为秒S时,取N1=100,则预设次数记为(interval/100+1),其中,(interval/N1+1)向下取整。当interval=180时,(180/100+1)=2,只需要探测两次即可;当interval=240时,(240/100+1)=3,只需要探测三次即可。

第一调整单元,用于若达到预设值,则以第一增加幅值增大第一时间间隔;若未达到预设值,则以第一减小幅值减小第一时间间隔。

具体的,在验证过程中,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计连续连接成功的次数。若网络连续成功连接次数达到预设次数,说明当前选取的第一时间间隔小于或等于最优值,因此,应增大第一时间间隔再进行测试。第一增加幅值可按照固定值增加,也可按照一定比例增加。

优选地,第三调整单元,第一增加幅值按照一定比例增加:第一增加幅值为(max-interval)/N2,即增大后的第一时间间隔为interval+(max-interval)/N2;其中,N2为正整数。例如,N2=4,则第一增加幅值为(max-interval)/4,即增大后的第一时间间隔为interval+(max-interval)/4。

在验证过程中,若网络连续成功连接次数未达到预设次数,说明当前选取的第一时间间隔大于最优值,因此,应减小第一时间间隔再进行测试。第一减小幅值可按照固定值减小,也可按照一定比例减小。

优选地,第一减小幅值可按照一定比例减小:第一减小幅值为(max-interval)/N3,即减小后的第一时间间隔为interval-(max-interval)/N3,其中,N3为正整数,且N3>N2。例如,N2=4,N3=8,则第一减小幅值为(max-interval)/8,即减小后的第一时间间隔为interval-(max-interval)/8。

优选地,第四调整单元,当减小后的第一时间间隔interval-(max-interval)/N3小于时间间隔区间的最小值min时,取interval=min。

第二调整单元,用于重复执行步骤网络检测单元、判断单元、验证单元、第一调整单元,直至得到最优时间间隔,以最优时间间隔作为固定时间间隔向网关发送心跳包,使移动终端保持网络连接。

优选地,在本发明的保持网络连接的装置,还包括:

第五调整单元,使用二分法来获取最优时间间隔,具体过程为:

第一时间间隔interval取(max+min)/2,也即取中间值,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计连续连接成功的次数。

当连续成功连接次数达到预设次数时,说明当前选取的第一时间间隔小于或等于最优时间间隔,应增大第一时间间隔进行再测试;此时,调整时间间隔区间[min,max]的取值范围,将当前选取的第一时间间隔作为时间间隔区间的最小值,即min=interval,之后将第一时间间隔interval调整为(max+min)/2,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计连续连接成功的次数。

当连续成功连接次数未达到预设次数时,说明当前选取的第一时间间隔大于最优时间间隔,应减小第一时间间隔进行再测试,此时,调整时间间隔区间[min,max]的取值范围,将当前选取的第一时间间隔作为时间间隔区间的最大值。即max=interval,之后将第一时间间隔interval调整为(max+min)/2,移动终端以第一时间间隔为间隔向网关发送心跳包,连接成功后继续以第一时间间隔为间隔向网关发送心跳包,统计连续连接成功的次数。

本实施例二分法来获取最优时间间隔预设次数的选取可参考上述最优实施例预设次数的设置装置,在此不在赘述。

通过上述过程,不断缩小时间间隔区间[min,max]的取值范围,最终获取最优时间间隔。

本领域技术人员应当理解,本实施例获取的最优时间间隔并不是理论上的最优时间间隔,本实施例获取的最优时间间隔只要距离理论上的最优时间间隔较近即可,这样,既可以在较短的时间内获取最优时间间隔,又可以保障移动终端与网络保持连接消耗的电量和流量最少,具有较好的实用性。

通过实施本发明,使移动终端根据网络环境的不同,快速调整发送心跳包的时间间隔,获得最优时间间隔;以该最优时间间隔发送心跳包,不仅使移动终端始终保持网络连接,还能节约移动终端的电量和流量。

以上实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据此实施,并不能限制本发明的保护范围。凡跟本发明权利要求范围所做的均等变化与修饰,均应属于本发明权利要求的涵盖范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1