一种推送SDK的省电方法、装置及计算机可读介质与流程

文档序号:15151966发布日期:2018-08-10 21:13阅读:305来源:国知局

本发明涉及移动互联网通信技术领域,具体涉及到一种推送sdk的省电方法、装置及计算机可读介质。



背景技术:

推送sdk(softwaredevelopmentkit,软件开发工具包)需要建立tcp连接,为了保证消息的及时性,需要保持tcp连接的可用性。大部分移动无线网络运营商都在链路一段时间没有数据通讯时,会淘汰nat(networkaddresstranslation,网络地址转换)表中的对应项,造成链路中断。nat超时是影响tcp连接寿命的一个重要因素;每个运营商nat超时的时间并不统一,无法确认心跳间隔时间,心跳间隔过短势必影响性能从而耗电量增加。另外心跳包大小同样会影响流量消耗及电量消耗。



技术实现要素:

为了解决上述问题,本发明提供一种在推送sdk时减少耗电量的一种推送sdk的省电方法、装置及计算机可读介质。

第一方面,本发明实施例提供了一种推送sdk的省电方法,该方法包括:

移动终端开启推送sdk服务并与服务器进行tcp连接;

移动终端监听移动终端系统中的网络变化;

移动终端监听移动终端上应用程序的运行状态;

移动终端根据所述网络变化和运行状态判断所述tcp连接是否有效;

在tcp连接有效时,移动终端通过网络动态调整的自适应算法,确认最大心跳包间隔时间并向服务器发送心跳包。

更进一步的方案是,所述方法还包括,移动终端向服务器发送心跳包时减小心跳包的大小。通过该方法使用极小的心跳包,从而减少心跳引起的空中信道资源消耗,减少部分因心跳引起的耗电。

更进一步的方案是,所述方法还包括,tcp连接无效时,移动终端重新启动与服务器的tcp连接。通过该方法,从而保持tcp连接的可用性,保证推送sdk的及时性。

更进一步的方案是,移动终端重新启动与服务器的tcp连接的重连次数为三次,任一次连接成功后,重连次数清零,超过三次后,停止连接,直至所述网络状态改变后,移动终端重新启动与服务器的tcp连接。通过该方法,可有效的控制tcp连接的检测时机,减小不必要的重连次数从而减少耗电。

第二方面,本发明实施例提供了一种推送sdk的省电装置,包括用于执行上述第一方面的单元,该单元包括:

启动模块,用于移动终端开启推送sdk服务并与服务器进行tcp连接;

网络监听模块,用于移动终端监听移动终端系统中的网络变化;

运行监听模块,用于移动终端监听移动终端上应用程序的运行状态;

判断模块,用于移动终端根据所述网络变化和运行状态判断所述tcp连接是否有效;

处理模块,用于在tcp连接有效时,移动终端通过网络动态调整的自适应算法,确认最大心跳包间隔时间并向服务器发送心跳包。

更进一步的方案是,还包括优化模块,所述优化模块用于移动终端向服务器发送心跳包时减小心跳包的大小。

更进一步的方案是,还包括重连模块,所述重连模块用于tcp连接无效时,移动终端重新启动与服务器的tcp连接。

更进一步的方案是,还包括限制模块,所述限制模块用于设置移动终端重新启动与服务器的tcp连接的重连次数为三次,任一次连接成功后,重连次数清零,超过三次后,停止连接,直至所述网络状态改变后,移动终端重新启动与服务器的tcp连接。

第三方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述第一方面的方法。

由上述方案可见,本发明提供的一种推送sdk的省电方法、装置及计算机可读介质,通过监听终端系统的网络变化和应用程序的运行状态,判断所述tcp连接是否有效,有效时通过有效的动态调整心跳包间隔的最大时间,减小周期性的检测消耗从而减少耗电。

附图说明

图1为本发明第一实施例提供的一种推送sdk的省电方法的流程图;

图2为本发明第二实施例提供的一种推送sdk的省电方法的流程图中;

图3为本发明提供的一种推送sdk的省电装置的示意框图。

具体实施方式

为了使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述,这里的描述不意味着对应于实施例中陈述的具体实例的所有主题都在权利要求中引用了。

请参考图1,是本发明第一实施例提供的一种推送sdk的省电方法的流程图,一种推送sdk的省电方法,应用于装设有应用程序的移动终端上,所述方法包括:

s101,移动终端开启推送sdk服务并与服务器进行tcp连接;

具体地,移动终端包括手机或平板电脑等终端设备,在此不做限定,终端设备经授权后,开启推送sdk服务并触发终端设备与服务器的tcp长连接,服务器可利用该长连接推送sdk服务。

s102,移动终端监听移动终端系统中的网络变化;

具体地,例如安卓系统会主动告诉当前的终端设备的网络情况,包括是有网状态、无网状态以及连接的是无线网络还是有线网络的情况。

s103,移动终端监听移动终端上应用程序的运行状态;

具体地,运行状态包括前台运行状态、后台运行状态和退出状态。

本领域技术人员可以采用任何适用的技术手段来确定该当前应用程序的运行状态,可以在后台运行状态和退出状态时限制启动推送服务,本公开对此不作限定,在应用时根据对运行状态的获取和分析,计算出应用程序的使用周期。

s104,移动终端根据所述网络变化和运行状态判断所述tcp连接是否有效;

具体地,通过监测网络变化和运行状态。例如,当监测到该应用的运行状态切换为后台运行状态、无网或退出状态时,则可以杀掉该推送sdk,断开与服务器的长连接,从而实现节省流量、电量和内存的目的;同时还可通过监听长连接时的心跳包周期是否超时进行判断。

s105,在tcp连接有效时,移动终端通过网络动态调整的自适应算法,确认最大心跳包间隔时间并向服务器发送心跳包。

具体地,通过周期性的发送心跳和相应的自适应算法,确定在不同网络或运行状态下的最大心跳包间隔时间,向服务器发送心跳包后,等待服务器返回的心跳回应包,接收到心跳回应包后,进入等待下一个监听响应周期。

进一步地,为了减小耗电量,所述方法还包括,移动终端向服务器发送心跳包时减小心跳包的大小,通过使用极小的心跳包,从而减少心跳引起的空中信道资源消耗,减少部分因心跳引起的耗电。

请参考图2,是本发明第二实施例提供的一种推送sdk的省电方法的流程图,一种推送sdk的省电方法,图2中示出的步骤s201至s204和图1中步骤s101至s104类似,对此不再一一赘述。如图2所示,所述方法还包括,s205,所述tcp连接无效时,移动终端重新启动与服务器的tcp连接。

具体的,所述tcp连接无效除了前文所述的外,在移动终端未收到服务器返回的心跳回应包时,也为tcp连接无效,判断为无效时,通过重新启动与服务器的tcp连接,从而保持tcp连接的可用性,保证推送sdk的及时性。

s206,移动终端重新启动与服务器的tcp连接的重连次数为三次,任一次连接成功后,重连次数清零,超过三次后,停止连接,直至所述网络状态改变后,移动终端重新启动与服务器的tcp连接。

具体地,在应用中可具体设置重连次数,并对重连次数进行计数,只要重连的次数未超过预设的次数,任一次连接成功后,重连次数的计数清零,进而转入连接有效的步骤,当超过重连次数后,在当前网络状态不发生变化的情况下,停止重新连接,减小不必要的重连次数从而减少耗电,当网络状态发生变化后,例如,无网变有网、无线变有线等情况,再重新启动连接。

通过上述方法,能有效的动态调整心跳间隔时间,使用极小的心跳包,从而减少心跳引起的空中信道资源消耗,减少心跳服务器的负载,以及减少部分因心跳引起的耗电;同时监听系统的网络变化及应用的运行状态,可以有效的控制tcp连接的检测时机,减小周期性检测消耗及重连次数从而减少耗电。

请参考图3,是本发明提供的一种推送sdk的省电装置的示意框图,一种推送sdk的省电装置,包括用于执行上述省电方法的单元,该单元包括:

启动模块,用于移动终端开启推送sdk服务并与服务器进行tcp连接;

网络监听模块,用于移动终端监听移动终端系统中的网络变化;

运行监听模块,用于移动终端监听移动终端上应用程序的运行状态;

判断模块,用于移动终端根据所述网络变化和运行状态判断所述tcp连接是否有效;

处理模块,用于在tcp连接有效时,移动终端通过网络动态调整的自适应算法,确认最大心跳包间隔时间并向服务器发送心跳包。

进一步地,还包括优化模块,所述优化模块用于移动终端向服务器发送心跳包时减小心跳包的大小。

进一步地,还包括重连模块,所述重连模块用于所述tcp连接无效时,移动终端重新启动与服务器的tcp连接。

进一步地,还包括限制模块,所述限制模块用于设置移动终端重新启动与服务器的tcp连接的重连次数为三次,任一次连接成功后,重连次数清零,超过三次后,停止连接,直至所述网络状态改变后,移动终端重新启动与服务器的tcp连接。

本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述方法。

其中,所称处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现成可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是所述多圈绝对值编码器的控制中心,利用各种接口和线路连接整个多圈绝对值编码器的各个部分。所述程序指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读存储介质可以是rom、随机存取存储器(ram)、cd-rom、磁带、软盘和光数据存储设备等。

最后需要说明的是,上述描述为本发明的优选实施例,本领域的普通技术人员在本发明的启示下,在不违背本发明宗旨及权利要求的前提下,可以做出多种类似的表示,这样的变换均落入本发明的保护范围之内。

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