本发明涉及通信技术领域,尤其涉及一种基于数据包的处理方法及装置。
背景技术:随着移动终端的快速发展,众多的第三方应用厂商和独立的第三方应用开发者开发了大量用于移动终端的应用程序。这些应用程序会不定时唤醒移动终端,以访问服务器或接收从服务器下发的数据。移动终端上的应用程序在与服务器进行通信时,为了保证能够及时接收业务数据(例如,推送信息、通知消息等),目前采用的一种方案是IPpush(推送)技术,即在移动终端与为应用程序提供业务数据的应用服务器之间保持一个长连接,由于该长连接的存在,应用服务器就可以实时向移动终端内的该应用程序推送业务数据。为了确保该长连接处于可用状态,通常采用的一种方式是由服务器定时向移动终端发送一个数据包(心跳数据包),随后移动终端向服务器发送一个数据包(应答数据包),以表明该长连接的链路可用。但是,在这种实现方式中,由于需要确保该长连接处于可用状态,移动终端上的应用程序即使长时间不需要从服务器接收业务数据,也需要不停地唤醒移动终端以对服务器发送的数据包(心跳数据包)进行应答,导致移动终端被频繁唤醒,从而对移动终端的资源消耗较大,特别是对移动终端的电量消耗较大。
技术实现要素:本发明实施例提供一种基于数据包的处理方法及装置,可以解决现有技术中应用程序对移动终端的资源消耗较大,特别是对移动终端的电量消耗较大的技术问题。本发明实施例提供一种基于数据包的处理方法,包括:接收服务器通过网络发送的数据包,所述数据包用于维持与所述服务器之间的网络连接;获取在预设时间段内通过所述数据包唤醒终端系统的唤醒频率;判断所述唤醒频率是否大于预设阈值;若是,则禁止通过所述数据包唤醒所述终端系统。进一步地,所述禁止通过所述数据包唤醒所述终端系统的步骤具体包括:确定所述数据包对应的目标应用进程;关闭所述目标应用进程,以禁止通过所述数据包唤醒所述终端系统。进一步地,所述确定所述数据包对应的目标应用进程的步骤具体包括:根据所述数据包获取相应的用户标识;根据所述用户标识获取相应的目标应用进程的进程标识;根据所述进程标识确定相应的目标应用进程。进一步地,所述关闭所述目标应用进程的步骤具体包括:判断预设应用进程集合中是否存在与所述目标应用进程相同的应用进程;若是,则关闭所述目标应用进程,以禁止通过所述数据包唤醒所述终端系统。进一步地,所述禁止通过所述数据包唤醒所述终端系统的步骤具体包括:确定所述数据包对应的目标应用进程;阻止所述目标应用进程连接网络,以禁止通过所述数据包唤醒所述终端系统。相应地,本发明实施例还提供一种基于数据包的处理装置,包括:接收模块,用于接收服务器通过网络发送的数据包,所述数据包用于维持与所述服务器之间的网络连接;获取模块,用于获取在预设时间段内通过所述数据包唤醒终端系统的唤醒频率;判断模块,用于判断所述唤醒频率是否大于预设阈值;处理模块,用于当所述判断模块判断为是时,禁止通过所述数据包唤醒所述终端系统。进一步地,所述处理模块具体包括:第一确定子模块,用于确定所述数据包对应的目标应用进程;第一处理子模块,用于关闭所述目标应用进程,以禁止通过所述数据包唤醒所述终端系统。进一步地,所述第一确定子模块具体用于:根据所述数据包获取相应的用户标识;根据所述用户标识获取相应的目标应用进程的进程标识;根据所述进程标识确定相应的目标应用进程。进一步地,所述第一处理子模块具体用于:判断预设应用进程集合中是否存在与所述目标应用进程相同的应用进程;若是,则关闭所述目标应用进程,以禁止通过所述数据包唤醒所述终端系统。进一步地,所述处理模块具体包括:第二确定子模块,用于确定所述数据包对应的目标应用进程;第二处理子模块,用于阻止所述目标应用进程连接网络,以禁止通过所述数据包唤醒所述终端系统。本发明实施例提供一种基于数据包的处理方法,采用接收服务器通过网络发送的数据包,获取在预设时间段内通过该数据包唤醒终端系统的唤醒频率,并判断该唤醒频率是否大于预设阈值,若是,则禁止通过该数据包唤醒该终端系统的技术方案;该方案可以监控通过数据包唤醒终端系统的唤醒频率,当该唤醒频率大于预设阈值时,禁止通过该数据包唤醒该终端系统,相对于现有技术而言,若接收到服务器通过网络发送的数据包频繁唤醒终端系统,则禁止再次通过该数据包唤醒终端系统,使得终端系统不需要被频繁唤醒,从而节省了系统资源,特别是减少了终端的电量消耗。附图说明为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明实施例一提供的基于数据包的处理方法的流程示意图;图2是本发明实施例二提供的基于数据包的处理方法的流程示意图;图3a是本发明实施例三提供的第一种基于数据包的处理装置的结构示意图;图3b是本发明实施例三提供的第二种基于数据包的处理装置的结构示意图;图3c是本发明实施例三提供的第三种基于数据包的处理装置的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明实施例提供一种基于数据包的处理方法及装置。以下将分别进行详细说明。实施例一本实施例将从基于数据包的处理装置的角度进行描述,该处理装置具体可以集成在终端中,该终端可以为智能手机等设备。一种基于数据包的处理方法,包括:接收服务器通过网络发送的数据包,该数据包用于维持与该服务器之间的网络连接,获取在预设时间段内通过该数据包唤醒终端系统的唤醒频率,并判断该唤醒频率是否大于预设阈值,若是,则禁止通过该数据包唤醒该终端系统。如图1所示,该基于数据包的处理方法,具体流程可以如下:S101,接收服务器通过网络发送的数据包,该数据包用于维持与该服务器之间的网络连接。具体应用中,终端上运行网络应用程序(即可以与服务器进行通信的应用程序)时,需要在该应用程序与服务器之间建立网络连接以进行数据交换。一般情况下,应用程序与服务器之间建立的网络连接有短连接和长连接两种,短连接是指应用程序与服务器之间建立通信链路并完成数据交换后立即断开连接,长连接是指应用程序与服务器之间建立通信链路并完成数据交换后继续保持连接状态。当应用程序与服务器之间建立长连接后,为了确保该长连接的链路一直处于可用状态,服务器会定时通过网络(例如无线保真WI-FI)向该应用程序发送数据包(心跳数据包),例如,每间隔0.5s发送一次数据包,终端上的应用程序接收该数据包并进行处理。S102,获取在预设时间段内通过该数据包唤醒终端系统的唤醒频率。具体应用中,终端为了减少电量消耗,在终端系统不需要进行数据处理,例如数据分析、数据计算时,终端系统会进入休眠状态,当有数据到来需要进行处理时,终端系统从休眠状态唤醒并对该数据进行处理。本发明实施例中,终端上的应用程序接收到服务器发送的数据包后,唤醒终端系统对该数据包进行分析处理,以生成应答数据,随后应用程序通过网络(长连接)将应答数据发送给服务器。终端对通过该数据包唤醒终端系统的次数进行统计,并获取在预设时间段内终端系统被唤醒的唤醒频率,例如,该预设时间段为10s,则终端每隔10s根据统计次数获取终端系统被唤醒的唤醒频率。实际应用中,终端上可能同时运行着多个网络应用程序,该多个网络应用程序分别与多个服务器之间建立通信链路,即终端同时与多个服务器之间维持着多个长连接,每个应用程序都会定时从服务器接收到数据包(心跳数据包),从而终端接收服务器通过网络发送的数据包可能有多种。为了分别获取通过该多种数据包中的每种数据包在预设时间段内唤醒终端系统的频率,终端根据每种数据包中的特征信息(例如,数据包中包括的网络地址和/或端口信息)对每种数据包分别进行统计,从而可以获取通过该多种数据包中的每一种唤醒终端系统的频率。S103,判断该唤醒频率是否大于预设阈值。具体地,该预设阈值可以是终端在出厂时存储在终端相应存储区域(内置存储区域或外置存储区域)中的一个数值,也可以是用户设置并存储在终端相应存储区域的一个数值,例如2Hz。判断该唤醒频率是否大于预设阈值的方式有多种,例如,在获取该唤醒频率后,从终端的相应存储区域中调用该预设阈值,计算该唤醒频率与该预设阈值之间的差值,当该差值大于零时,判断为该唤醒频率大于该预设阈值,否则判断为该唤醒频率不大于该预设阈值。S104,禁止通过该数据包唤醒该终端系统。当步骤S103中判断为该唤醒频率大于该预设阈值时,禁止通过该数据包唤醒该终端系统。此时,若终端系统处于休眠状态,即使终端中的应用程序接收到服务器发送的数据包,也无法通过该数据包唤醒终端系统,使得终端系统不需要被唤醒以对该数据包进行处理,从而节省了系统资源,终端系统继续处于休眠状态能够保持较低的功率,从而节省了终端的电量消耗。具体应用中,当终端上的多个应用程序同时与多个服务器之间保持长连接时,若判断为该唤醒频率大于该预设阈值,则需要确定该数据包具体是在哪个应用程序与服务器之间进行数据交换,随后对该应用进程进行处理,因此,“禁止通过该数据包唤醒该终端系统”可具体包括以下步骤:确定该数据包对应的目标应用进程;关闭该目标应用进程,以禁止通过该数据包唤醒该终端系统。具体地,可以根据数据包中的特征信息(例如,数据包中包括的网络地址和/或端口信息)来确定该数据包对应的目标应用进程。具体实施中,根据数据包中的特征信息来确定该数据包对应的目标应用进程可以包括以下步骤:根据该数据包获取相应的用户标识;根据该用户标识获取相应的目标应用进程的进程标识;根据该进程标识确定相应的目标应用进程。具体地,接收服务器通过网络发送的数据包中包括服务器端的网络地址(IP地址)和终端侧的端口信息(端口号),终端根据该网络地址和端口信息获取该数据包指向的用户标识(UID,Useridentification),并进一步根据该用户标识获取该用户标识指向的目标应用进程的进程标识(PID,Processidentification)。由于进程标识(PID)与终端系统中运行的进程具有唯一对应关系,因此可以根据该进程标识(PID)确定相应的目标应用进程。在实际应用中,当确定目标应用进程后,该目标应用进程可能必须处于运行状态,即该应用程序对用户而言是比较重要的应用程序,即使该应用程序通过数据包唤醒终端系统的唤醒频率大于预设阈值,用户也不希望该应用程序被关闭,因此,“关闭该目标应用进程,以禁止通过该数据包唤醒该终端系统”可以具体包括以下步骤:判断预设应用进程集合中是否存在与该目标应用进程相同的应用进程;若是,则关闭该目标应用进程,以禁止通过该数据包唤醒该终端系统。具体地,预设应用进程集合可以是终端在出厂时存储在终端相应存储区域(内置存储区域或外置存储区域)中的多个应用进程的集合,也可以是用户设置的多个应用进程的集合,用户可以通过终端的设置界面添加应用进程到该预设应用进程集合中,也可以从该预设应用进程集合中删除某个或某几个应用进程,当确定目标应用进程后,若该预设应用进程集合中不存在与该目标应用进程相同的应用进程,也可以提示用户是否需要将该目标应用进程添加到该预设应用进程集合。当然,该预设应用进程集合也可以为空,即用户尚未添加任何应用进程到该预设应用进程集合。判断预设应用进程集合中是否存在与该目标应用进程相同的应用进程的方法有多种,例如,在确定目标应用进程后,将该目标应用进程的进程标识(PID)与该预设应用进程集合中的所有应用进程的进程标识(PID)逐一对比,当目标应用进程的进程标识与该预设应用进程集合中的某一个应用进程的进程标识相同时,则判断预设应用进程集合中存在与该目标应用进程相同的应用进程。优选地,在本发明的另一个实施方式中,判断预设应用进程集合中是否存在与该目标应用进程相同的应用进程后,还可以在判断结果为否时,才关闭该目标应用进程,以禁止通过该数据包唤醒该终端系统。优选地,确定该数据包对应的目标应用进程后,可以接收用户设置是否启用关闭该目标应用进程的功能。优选地,在本发明的另一个实施方式中,确定该数据包对应的目标应用进程后,可以阻止该目标应用进程连接网络,以禁止通过该数据包唤醒该终端系统。由上可知,本发明实施例提供的基于数据包的处理方法,采用接收服务器通过网络发送的数据包,获取在预设时间段内通过该数据包唤醒终端系统的唤醒频率,并判断该唤醒频率是否大于预设阈值,若是,则禁止通过该数据包唤醒该终端系统的技术方案;该方案可以监控通过数据包唤醒终端系统的唤醒频率,当该唤醒频率大于预设阈值时,禁止通过该数据包唤醒该终端系统,相对于现有技术而言,若接收到服务器通过网络发送的数据包频繁唤醒终端系统,则禁止再次通过该数据包唤醒终端系统,使得终端系统不需要被频繁唤醒,从而节省了系统资源,特别是减少了终端的电量消耗。实施例二根据实施例一所描述的处理方法,以下将举例作进一步详细说明。在本实施例中,将以基于数据包的处理装置具体集成在智能手机中,以智能手机的基于数据包的处理方法为例进行详细描述。如图2所示,该处理方法,具体流程可以如下:S201,智能手机接收服务器通过网络发送的数据包,该数据包用于维持该智能手机与该服务器之间的网络连接。具体应用中,智能手机上运行应用程序时,例如微信,需要在应用程序与服务器之间建立网络连接以进行数据交换,例如微信从微信服务器接收推送信息。为了确保该应用程序能即时接收到服务器发送的信息,该应用程序与服务器之间必须保持长连接,而为了确保该长连接的链路一直处于可用状态,服务器会定时向该应用程序发送数据包(心跳包),该应用程序接收该数据包并进行处理。S202,智能手机获取在预设时间段内通过该数据包唤醒智能手机系统的唤醒频率。具体地,智能手机上的应用程序(例如,微信)接收到服务器发送的数据包(心跳包)后,唤醒智能手机系统对该数据包进行处理,例如对该数据包进行分析并生成应答数据(应答包),随后该应用程序将该应答数据(应答包)发送给该服务器,以对该服务器发送的数据包(心跳包)进行应答。智能手机对通过该数据包唤醒智能手机系统的次数进行统计,并获取预设时间段内智能手机系统被唤醒的唤醒频率。例如,该预设时间段为10s,在10s内智能手机系统通过数据包被唤醒了20次,则10s内智能手机系统被唤醒的唤醒频率为2Hz。S203,智能手机判断该唤醒频率是否大于预设阈值。具体应用中,该预设阈值可以是用户设置并存储在智能手机内置存储区域中的一个数值,例如1Hz。智能手机获取到该唤醒频率后,从内置存储区域中调用该预设阈值,计算该唤醒频率与该预设阈值之间的差值,来判断该唤醒频率是否大于该预设阈值。例如,该唤醒频率为2Hz,该唤醒频率与该预设阈值之间的差值为1Hz,则判断为该唤醒频率大于该预设阈值。S204,智能手机根据该数据包获取相应的用户标识。具体地,智能手机接收服务器通过网络发送的数据包中包括服务器端的网络地址(IP地址)和智能手机侧的端口信息(端口号),例如,智能手机接收到微信服务器发送的数据包中包括微信服务器的IP地址和智能手机上微信对应的端口号,智能手机根据该数据包中的IP地址和端口号获取该数据包指向的用户标识(UID,UserIdentification)。S205,智能手机根据该用户标识获取相应的目标应用进程的进程标识。具体地,智能手机获取到该数据包指向的用户标识(UID)后,进一步根据该用户标识(UID)获取该用户标识指向的目标应用进程的进程标识(PID,ProcessIdentification)。S206,智能手机根据该进程标识确定相应的目标应用进程。具体地,由于进程标识(PID)与智能手机系统中运行的进程具有唯一对应关系,因此可以根据该进程标识(PID)确定相应的目标应用进程。例如,智能手机系统中运行的微信的进程标识对应的目标应用进程即为微信。S207,智能手机判断预设应用进程集合中是否存在与该目标应用进程相同的应用进程。具体应用中,该预设应用进程集合可以是用户设置的多个应用进程的集合,例如,用户可以设置该应用进程集合包括微信、微博、天猫以及百度地图。在确定目标应用进程后,将该目标应用进程(例如,微信)的进程标识与该预设应用进程集合中的所有应用进程的进程标识逐一对比,当该目标应用进程(例如,微信)的进程标识与该预设应用进程集合中的应用进程(微信)的进程标识相同,则判断预设应用进程集合中存在与该目标应用进程相同的应用进程。S208,智能手机关闭该目标应用进程,以禁止通过该数据包唤醒该智能手机系统。具体地,当智能手机判断预设应用进程集合中存在与该目标应用进程(例如,微信)相同的应用进程时,关闭该目标应用进程,以禁止该目标应用进程通过该数据包唤醒该智能手机系统。由上可知,本发明实施例提供的基于数据包的处理方法,采用智能手机接收服务器通过网络发送的数据包,获取在预设时间段内通过该数据包唤醒智能手机系统的唤醒频率,并判断该唤醒频率是否大于预设阈值,在判断为是时,智能手机根据该数据包获取相应的用户标识,并根据该用户标识获取相应的目标应用进程的进程标识,并进一步根据该进程标识确定相应的目标应用进程,智能手机判断预设应用进程集合中是否存在与该目标应用进程相同的应用进程,若是,则关闭该目标应用进程,以禁止通过该数据包唤醒该智能手机系统的技术方案;该方案中智能手机可以监控通过数据包唤醒智能手机系统的唤醒频率,当该唤醒频率大于预设阈值时,根据该数据包确定目标应用进程,并判断预设应用进程集合中是否存在与该目标应用进程相同的应用进程,若是,则关闭该目标应用进程,相对于现有技术而言,若智能手机接收到服务器通过网络发送的数据包频繁唤醒智能手机系统,并且预设应用进程集合中存在与确定的目标应用进程相同的应用进程,则关闭该目标应用进程,使得不能通过该数据包再次唤醒智能终端系统,并且能够避免需要保持与服务器长连接的应用进程被意外关闭,能够在保证智能手机正常使用的同时节省系统资源,特别是减少了智能手机的电量消耗。实施例三为了更好地实施以上方法,本发明实施例还提供一种基于数据包的处理装置,该处理装置可以集成在终端中,该终端可以是智能手机等设备。如图3a所示,该基于数据包的处理装置可以包括:接收模块301、获取模块302、判断模块303、处理模块304,具体描述如下:接收模块301,用于接收服务器通过网络发送的数据包,该数据包用于维持与该服务器之间的网络连接;获取模块302,用于获取在预设时间段内通过该数据包唤醒终端系统的唤醒频率;判断模块303,用于判断该唤醒频率是否大于预设阈值;处理模块304,用于在该判断模块判断为是时,禁止通过该数据包唤醒该终端系统。优选地,如图3b所示,该处理模块304具体包括:第一确定子模块3041、第一处理子模块3043,具体如下:该第一确定子模块3041,用于确定该数据包对应的目标应用进程;该第一处理子模块3043,用于关闭该目标应用进程,以禁止通过该数据包唤醒该终端系统。优选地,该第一确定子模块3041具体用于:根据该数据包获取相应的用户标识;根据该用户标识获取相应的目标应用进程的进程标识;根据该进程标识确定相应的目标应用进程。优选地,该第一处理子模块3043具体用于:判断预设应用进程集合中是否存在与该目标应用进程相同的应用进程;若是,则关闭该目标应用进程,以禁止通过该数据包唤醒该终端系统。优选地,如图3c所示,该处理模块304具体包括:第二确定子模块3042、第二处理子模块3044,具体如下:第二确定子模块3042,用于确定该数据包对应的目标应用进程;第二处理子模块3044,用于阻止该目标应用进程连接网络,以禁止通过该数据包唤醒该终端系统。由上可知,本发明实施例提供了一种基于数据包的处理装置,通过接收模块301接收服务器通过网络发送的数据包,获取模块302获取在预设时间段内通过该数据包唤醒终端系统的唤醒频率,判断模块303判断该唤醒频率是否大于预设阈值,当判断为是时,处理模块304禁止通过该数据包唤醒该终端系统;该方案可以监控通过数据包唤醒终端系统的唤醒频率,当该唤醒频率大于预设阈值时,禁止通过该数据包唤醒该终端系统,相对于现有技术而言,若接收到服务器通过网络发送的数据包频繁唤醒终端系统,则禁止再次通过该数据包唤醒终端系统,使得终端系统不需要被频繁唤醒,从而节省了系统资源,特别是减少了终端的电量消耗。本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,ReadOnlyMemory)、随机存取存储器(RAM,RandomAccessMemory)、磁盘或光盘等。以上对本发明实施例所提供的一种基于数据包的处理方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用程序范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。