一种数据流量统计方法和装置与流程

文档序号:13290108阅读:189来源:国知局
技术领域本发明涉及通信技术领域,特别是涉及一种数据流量统计方法和装置。

背景技术:
随着移动互联网的迅速发展,越来越多的用户选择利用移动终端进行上网行为。一般而言,移动终端的上网方式可以为蜂窝移动网络(如2G、3G、4G等)和无线网络(如WiFi(Wireless-Fidelity,无线保真)等)等方式。由于蜂窝移动网络的收费信息是按照消耗的蜂窝移动网络数据流量来统计的,因此大多数移动终端都会提供一个数据流量统计的功能,以便用户可以更清楚地了解当前数据流量使用情况,进而根据实际情况对自己的上网行为进行调整。随着网络运营商商业模式的不断变化,目前允许用户对移动终端上某些需要较大数据流量的应用进行包月收费。例如,允许15元包月使用蜂窝移动网络访问QQ音乐的在线资源,这意味着如果用户针对QQ音乐这一应用订阅了包月收费这一套餐,那么用户访问QQ音乐所使用的蜂窝移动网络数据流量将不被计入收费项目。目前的数据流量统计方法中,通常是统计移动终端总共消耗的蜂窝移动网络数据流量并显示给用户,以使用户根据该数据流量了解自己的消费信息。但是,如果移动终端中的某些应用订阅了包月收费套餐,则上述方法无法准确统计出用户实际关心的蜂窝移动网络数据流量,不能够准确地反映出实际的消费信息,容易对用户产生误导,无法满足用户需求。

技术实现要素:
本发明提供一种数据流量统计方法和装置,以解决无法准确统计出用户实际关心的蜂窝移动网络数据流量,不能够准确地反映出实际的消费信息,容易对用户产生误导,无法满足用户需求的问题。为了解决上述问题,本发明公开了一种数据流量统计方法,包括:获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量;获取所述移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量,其中,所述第二蜂窝移动网络数据流量包括套餐内流量;从所述第一蜂窝移动网络数据流量减去所述第二蜂窝移动网络数据流量中的套餐内流量,获得所述移动终端所消耗的有效流量;展示所述移动终端所消耗的有效流量。为了解决上述问题,本发明还公开了一种数据流量统计装置,包括:第一获取模块,用于获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量;第二获取模块,用于获取所述移动终端中具有专用标识至少一个应用消耗的第二蜂窝移动网络数据流量,其中,所述第二蜂窝移动网络数据流量包括套餐内流量;有效统计模块,用于从所述第一蜂窝移动网络数据流量减去所述第二蜂窝移动网络数据流量中的套餐内流量,获得所述移动终端所消耗的有效流量;第一展示模块,用于展示所述移动终端所消耗的有效流量。与现有技术相比,本发明包括以下优点:本发明中,首先,获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量,以及获取移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量,该第二蜂窝移动网络数据流量包括套餐内流量;然后,从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得移动终端所消耗的有效流量;最后,展示移动终端所消耗的有效流量。由于本发明中可以单独统计具有专用标识的应用消耗的蜂窝移动网络数据流量,进而可以统计除具有专用标识的应用消耗的套餐内流量之外剩余的有效流量,因此能够更加准确地统计出用户实际关心的蜂窝移动网络数据流量,准确地反映用户实际的消费信息,更好地满足用户需求。附图说明图1是本发明实施例一的一种数据流量统计方法的步骤流程图;图2是本发明实施例二的一种数据流量统计方法的步骤流程图;图3是本发明实施例二的一种设置窗口的示意图;图4是本发明实施例三的一种数据流量统计装置的结构框图;图5是本发明实施例四的一种数据流量统计装置的结构框图。具体实施方式为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。实施例一参照图1,示出了本发明实施例一的一种数据流量统计方法的流程图。该方法具体可以包括以下步骤:步骤101,获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量。本发明实施例中,对于移动终端来说,首先可以获取移动终端所消耗的全部蜂窝移动网络数据流量,该全部蜂窝移动网络数据流量即为移动终端中的全部应用消耗的蜂窝移动网络数据流量的总量。步骤102,获取移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。对于终端中的应用来说,其可以订阅蜂窝移动网络数据流量套餐(即包月收费套餐),订阅该套餐之后,该应用在套餐允许免费使用的蜂窝移动网络数据流量范围内所消耗的蜂窝移动网络数据流量无需另行计费。对于这些订阅蜂窝移动网络数据流量套餐的应用可以设置专用标识,也即该专用标识用于标识应用订阅了蜂窝移动网络数据流量套餐。本发明实施例中,可以获取移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。其中,第二蜂窝移动网络数据流量中包括套餐内流量,该套餐内流量即为属于套餐允许免费使用的蜂窝移动网络数据流量范围内的无需另行计费的流量。步骤103,从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得移动终端所消耗的有效流量。从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得的即为除去订阅蜂窝移动网络数据流量套餐的应用消耗的无需另行计费的流量后,移动终端剩余消耗的蜂窝移动网络数据流量,也即移动终端所消耗消耗的需要计费的蜂窝移动网络数据流量。步骤104,展示移动终端所消耗的有效流量。在获得上述移动终端所消耗的有效流量之后,即可对其进行展示,以使用户能够更直观地了解移动终端所消耗的需要计费的蜂窝移动网络数据流量。由于本发明实施例中可以单独统计具有专用标识的应用消耗的蜂窝移动网络数据流量,进而可以统计除具有专用标识的应用消耗的套餐内流量之外剩余的有效流量,因此能够更加准确地统计出用户实际关心的蜂窝移动网络数据流量,准确地反映用户实际的消费信息,更好地满足用户需求。实施例二参照图2,示出了本发明实施例二的一种数据流量统计方法的流程图。该方法具体可以包括以下步骤:步骤201,获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量。移动终端所消耗的全部蜂窝移动网络数据流量即为移动终端中所有应用消耗的蜂窝移动网络数据流量。在应用使用蜂窝移动网络时,其发送和接收的数据包可以通过移动终端系统中的移动网络接口发送和接收,因此可以统计通过移动网络接口发送的数据包的字节总数和接收的数据包的字节总数的总和,该总和即为移动终端中所有应用消耗的蜂窝移动网络数据流量。因此,该步骤201可以包括:统计通过移动网络接口发送的数据包的字节总数,以及,统计通过移动网络接口接收的数据的字节总数;计算发送的数据包的字节总数与接收的数据的字节总数的总和,作为移动终端消耗的全部蜂窝移动网络数据流量。以安卓系统为例,可以通过以下方式统计通过移动网络接口发送的数据包的字节总数:publicstaticlonggetMobileTxBytes()即通过调用系统类“getMobileTxBytes”,得到的返回值即为通过移动网络接口发送的数据包的字节总数。如果该移动终端不支持统计移动网络接口发送的数据包的字节总数,则返回值为UNSUPPORTED。可以通过以下方式统计通过移动网络接口接收的数据包的字节总数:publicstaticlonggetMobileRxBytes()即通过调用系统类“getMobileTxBytes”,得到的返回值即为通过移动网络接口接收的数据包的字节总数。如果该移动终端不支持统计移动网络接口接收的数据包的字节总数,则返回值为UNSUPPORTED。步骤202,获取移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。本发明实施例中,移动终端中的应用可以订阅第二蜂窝移动网络数据流量套餐,订阅第二蜂窝移动网络数据流量套餐后,该应用消耗的属于所订阅的套餐允许免费使用的蜂窝移动网络数据流量范围内的蜂窝移动网络数据流量无需另行计费。上述第二蜂窝移动网络数据流量套餐是指向应用程序提供商订阅的包月套餐。例如,对于移动终端中的QQ音乐这一应用,可以向该应用的提供商订阅限制流量的包月套餐,如每月15元使用300M蜂窝移动网络数据流量的包月套餐,则QQ音乐这一应用在该月内可以免费使用300M蜂窝移动网络数据流量;或者向该应用的提供商订阅不限制流量的包月套餐,如每月30元无限使用蜂窝移动网络的包月套餐,则QQ音乐这一应用在该月内可以免费使用任意大小的蜂窝移动网络数据流量。本发明实施例中,针对移动终端中的应用,可以预先创建用于设置订阅有第二蜂窝移动网络数据流量套餐的应用的设置窗口,该设置窗口如图3所示。该设置窗口中包括了移动终端中所有应用的名称(应用1、应用2、应用3、应用4、……、应用n),针对每个应用都提供有对应选项,用户可以选定其中已订阅第二蜂窝移动网络数据流量套餐的至少一个应用。在选定某一应用后,系统即可自动为该应用分配一个专用标识,该专用标识用于标识该应用已订阅第二蜂窝移动网络数据流量套餐,例如,图3中选定的应用为应用2和应用4,因此系统即可为应用2和应用4分别分配一个专用标识。其中,专用标识可以为字符串等任意形式,对于每个选定的应用分配的专用标识可以相同,也可以不同,本发明实施例对此并不加以限制。本发明实施例中,可以按照预设条件对第二蜂窝移动网络数据流量进行统计。因此,该步骤202中统计具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量的过程具体可以为:按照预设条件统计具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。在本发明的一种优选实施例中,上述具有专用标识的应用对应的数据包携带有该专用标识。例如,在具有专用标识的应用向服务器发送数据包时,可以通过应用将该应用的专用标识添加至其所发送的数据包中;在服务器向具有专用标识的应用发送数据包时,可以通过服务器将该应用的专用标识添加至其所发送的数据包中。因此,该步骤202可以包括以下子步骤a1~子步骤a2:子步骤a1,在到达预设周期时,统计通过移动网络接口发送的数据包中携带有专用标识的数据包的字节总数,作为第一发送字节总数;以及,统计通过移动网络接口接收的数据包中携带有专用标识的数据包的字节总数,作为第一接收字节总数;在实现时,可以预先注册一时间回调函数(TimerCallback),该时间回调函数对应的参数为上述预设周期,通过执行该时间回调函数即可实现按照预设周期统计第二蜂窝移动网络数据流量。其中,预设周期可以为任意数值,例如1秒、2秒、3秒等,本发明实施例对此并不加以限制。子步骤a2,计算第一发送字节总数与第一接收字节总数的总和,作为具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。在应用使用蜂窝移动网络时,其发送和接收的数据包均是通过移动终端系统中的移动网络接口发送和接收的,因此可以统计通过移动网络接口发送的携带有专用标识的数据包的字节总数和通过移动网络接口接收的携带有专用标识的数据包的字节总数之总和,该总和即为具有专用标识的应用消耗的第二蜂窝移动网络数据流量。在实现时,统计通过移动网络接口发送的数据包中携带有专用标识的数据包的字节总数,可以先统计通过移动网络接口发送的所有数据包的字节总数,再从中提取携带有专用标识的数据包的字节总数;也可以直接统计通过移动网络接口发送的携带有专用标识的数据包的字节总数。同样的,统计通过移动网络接口接收的数据包中携带有专用标识的数据包的字节总数,可以先统计通过移动网络接口接收的所有数据包的字节总数,再从中提取携带有专用标识的数据包的字节总数;也可以直接统计通过移动网络接口接收的携带有专用标识的数据包的字节总数。以安卓系统为例,可以预先设置TrafficStats类,TrafficStats类的具体说明如下:一、结构publicclassTrafficStatsextendsObjectjava.lang.Objectandroid.net.TrafficStats二、概述提供网络流量统计的类,这些统计包括:通过无线网络和蜂窝移动网络发送和接收的字节总数,通过蜂窝移动网络发送和接收的字节总数,某一进程通过无线网络和蜂窝移动网络发送和接收的字节总数。三、常量publicstaticfinalintUNSUPPORTED返回值表示该设备不支持统计。常量值:-1(0xffffffff)。在本发明的另一种优选实施例中,还可以基于每个应用分别统计其各自所消耗的蜂窝移动网络数据流量。因此,该步骤202可以包括以下子步骤b1~子步骤b2:子步骤b1,在检测到具有专用标识的应用启动后,针对每个已启动的具有专用标识的应用,按照预设条件统计当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量;在该子步骤b1中,按照预设条件统计当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量的步骤,可以包括以下子步骤b11~子步骤b14:子步骤b11,监听当前已启动的具有专用标识的应用对应的网络在未连接蜂窝移动网络和连接蜂窝移动网络之间的切换状态;由于针对单独的应用,其消耗的数据流量可能是蜂窝移动网络数据流量,也可能是无线网络数据流量,基于应用的进程统计得到的数据流量既包括了蜂窝移动网络数据流量,也包括了无线网络数据流量,而本发明实施例中需要统计的是当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量,因此首先要监听当前已启动的具有专用标识的应用对应的网络在未连接蜂窝移动网络和连接蜂窝移动网络之间的切换状态。该子步骤b11可以包括以下子步骤b111~子步骤b112:子步骤b111,检测预设的时间周期是否接收到当前已启动的具有专用标识的应用对应的连接蜂窝移动网络的广播消息;子步骤b112,在接收到连接蜂窝移动网络的广播消息时,确定当前已启动的具有专用标识的应用对应的网络连接状态从未连接蜂窝移动网络切换为连接蜂窝移动网络;子步骤b113,检测预设的时间周期是否接收到当前已启动的具有专用标识的应用对应的断开蜂窝移动网络的广播消息;子步骤b114,在接收到所述断开蜂窝移动网络的广播消息时,确定当前已启动的具有专用标识的应用对应的网络连接状态从连接蜂窝移动网络切换为未连接蜂窝移动网络。本发明实施例中,可以预先注册广播,当应用连接到某个网络或者从某个网络断开时即可生成对应的广播消息,例如,当应用连接蜂窝移动网络时即可生成连接蜂窝移动网络的广播消息,当应用连接到无线网络时即可生成连接无线网络的广播消息,当应用从蜂窝移动网络断开时即可生成断开蜂窝移动网络的广播消息,当应用从到无线网络断开时即可生成断开无线网络的广播消息。因此,可以通过检测是否接收到当前已启动的具有专用标识的应用对应的连接蜂窝移动网络的广播消息或断开蜂窝移动网络的广播消息,确定当前已启动的具有专用标识的应用对应的网络在未连接蜂窝移动网络和连接蜂窝移动网络之间的切换状态。对于上述预设的时间周期,本领域技术人员可以根据实际情况进行相关设置,例如设置为0.5s、1s等等,本发明实施例对此并不加以限制。子步骤b12,在监听到从未连接蜂窝移动网络切换为连接蜂窝移动网络时,获取当前已启动的具有专用标识的应用已消耗的第三蜂窝移动网络数据流量;在监听到从未连接蜂窝移动网络切换为连接蜂窝移动网络时,可以获取当前已启动的具有专用标识的应用已消耗的第三蜂窝移动网络数据流量,即到切换的这一时刻为止,当前已启动的具有专用标识的应用已经消耗了多少蜂窝移动网络数据流量。本发明实施例中,应用连接的网络会发生改变,例如,某个具有专用标识的应用在一天中9:00时切换为连接蜂窝移动网络,直至10:00时断开蜂窝移动网络切换为连接无线网络,后续又在11:00时断开无线网络切换为连接蜂窝移动网络,直至12:00时断开蜂窝移动网络,即在9:00~10:00之间以及11:00~12:00之间连接的是蜂窝移动网络,在10:00~11:00之间连接的是无线网络,在每个连接蜂窝移动网络的时间段内都会统计该时间段内消耗的蜂窝移动网络数据流量。因此在监听到从未连接蜂窝移动网络切换为连接蜂窝移动网络时,获取的即为当前时刻之前连接蜂窝移动网络的时间段内已消耗的蜂窝移动网络数据流量。子步骤b13,在监听到从连接蜂窝移动网络再次切换为未连接蜂窝移动网络时,计算从切换为连接蜂窝移动网络开始到再次切换为未连接蜂窝移动网络的这一时间段内,当前已启动的具有专用标识的应用消耗的第四蜂窝移动网络数据流量;该子步骤b13可以包括以下子步骤b131~子步骤b133:子步骤b131,统计从未连接蜂窝移动网络切换为连接蜂窝移动网络时,当前已启动的具有专用标识的应用对应的进程通过UID网络接口发送和接收的数据包的字节总数,作为第一收发字节总数;子步骤b132,统计从连接蜂窝移动网络再次切换为未连接蜂窝移动网络时,当前已启动的具有专用标识的应用对应的进程通过UID网络接口发送和接收的数据包的字节总数,作为第二收发字节总数;子步骤b133,计算第二收发字节总数与第一收发字节总数的差值,作为从切换为连接蜂窝移动网络开始到再次切换为未连接蜂窝移动网络的这一时间段内,当前已启动的具有专用标识的应用消耗的第四蜂窝移动网络数据流量。本发明实施例中,针对独立的应用消耗的数据流量,是基于该应用对应的进程通过UID网络接口发送和接收的数据包的字节总数统计的。当某个应用启动后,即可进入该应用对应的进程,根据预先设置的应用名称与进程UID(UserIdentification,用户身份标识)的对应关系,可得知当前已启动的具有专用标识的应用对应的进程的UID。根据该进程的UID即可获得当前已启动的具有专用标识的应用对应的进程通过UID网络接口发送的数据包的字节总数和接收的数据包的字节总数,对应的进程通过UID网络接口发送和接收的数据包的字节总数即为当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量。以安卓系统为例,可以通过以下方式统计某个进程通过UID网络接口发送的数据包的字节总数:publicstaticlonggetUidRxBytes(intuid)即通过调用系统类“getUidRxBytes”,为该系统类赋予参数uid,该uid即为待检查进程的UID,得到的返回值即为该进程通过UID网络接口发送的数据包的字节总数,该UID网络接口中既包括了无线网络接口,也包括了蜂窝移动网络接口。如果该移动终端不支持统计UID网络接口发送的数据包的字节总数,则返回值为UNSUPPORTED。可以通过以下方式统计某个进程通过UID网络接口接收的数据包的字节总数:publicstaticlonggetUidTxBytes(intuid)即通过调用系统类“getUidTxBytes”,为该系统类赋予参数uid,该uid即为待检查进程的UID,得到的返回值即为该进程通过UID网络接口接收的数据包的字节总数,该UID网络接口中既包括了无线网络接口,也包括了蜂窝移动网络接口。如果该移动终端不支持统计UID网络接口接收的数据包的字节总数,则返回值为UNSUPPORTED。步骤b14,计算第四蜂窝移动网络数据流量与第三蜂窝移动网络数据流量的总和,作为当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量。针对当前已启动的具有专用标识的应用,计算该应用从连接蜂窝移动网络切换为未连接蜂窝移动网络时消耗的第四蜂窝移动网络数据流量,与该应用从未连接蜂窝移动网络切换为连接蜂窝移动网络时消耗的第三蜂窝移动网络数据流量的总和,该总和即为当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量。子步骤b2,计算所有已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量的总和,作为具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。经过上述子步骤b1,即可针对每个已启动的具有专用标识的应用,分别统计其各自消耗的蜂窝移动网络数据流量。然后,计算出所有已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量的总和,即为具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。通过该步骤202即可得到具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。步骤203,获取具有专用标识的应用订阅的第二蜂窝移动网络数据流量套餐的信息,根据第二蜂窝移动网络数据流量套餐的信息确定第二蜂窝移动网络数据流量中的套餐内流量。在上述步骤202中获取的第二蜂窝移动网络数据流量中包括套餐内流量,该套餐内流量即指属于该应用订阅的第二蜂窝移动网络数据流量套餐允许免费使用的蜂窝移动网络数据流量范围内的无需另行计费的流量。因此还可以进一步确定第二蜂窝移动网络数据流量中的套餐内流量。首先可以获取具有专用标识的应用订阅的第二蜂窝移动网络数据流量套餐的信息,该信息可以包括是否限制流量的信息(即该套餐为限制流量套餐还是为不限制流量套餐),若第二蜂窝移动网络数据流量套餐为限制流量套餐,则该信息中还包括套餐内包含的第二套餐流量(即允许该应用免费使用的蜂窝移动网络数据流量)。当然,第二蜂窝移动网络数据流量套餐的信息还可以包括其他信息,例如套餐的名称、套餐的费用等信息,本发明实施例对此并不加以限制。在本发明的一种优选实施例中,根据第二蜂窝移动网络数据流量套餐的信息确定第二蜂窝移动网络数据流量中的套餐内流量的步骤包括以下子步骤c1~子步骤c3:子步骤c1,针对已启动的具有专用标识的应用中订阅限制流量套餐的每个应用,确定当前订阅限制流量套餐的应用消耗的蜂窝移动网络数据流量中的套餐内流量;该子步骤c1具体可以为:若当前订阅限制流量套餐的应用消耗的蜂窝移动网络数据流量大于该套餐内包含第二数据流量,则将第二套餐流量确定为套餐内流量;否则,将当前订阅限制流量套餐的应用消耗的蜂窝移动网络数据流量确定为套餐内流量。例如,对于移动终端中的QQ音乐这一应用,订阅了每月15元使用300M蜂窝移动网络数据流量的包月套餐,则其中的300M即为该套餐内包含第二数据流量,如果QQ音乐这一应用消耗的蜂窝移动网络数据流量为350M,则消耗的套餐内流量即为300M,如果QQ音乐这一应用消耗的蜂窝移动网络数据流量为200M,则消耗的套餐内流量即为200M。子步骤c2,针对已启动的具有专用标识的应用中订阅不限制流量套餐的每个应用,确定当前订阅不限制流量套餐的应用消耗的蜂窝移动网络数据流量中的套餐内流量;该子步骤c2具体可以为:将当前订阅不限制流量套餐的应用消耗的蜂窝移动网络数据流量确定为套餐内流量。例如,对于QQ影音这一应用,订阅了每月30元无限使用蜂窝移动网络的包月套餐,则QQ影音应用消耗的全部蜂窝移动网络数据流量均是在该套餐允许免费使用的蜂窝移动网络数据流量范围之内的,因此QQ影音应用消耗的蜂窝移动网络数据流量为套餐内流量。子步骤c3,计算全部已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量中的套餐内流量的总和,作为第二蜂窝移动网络数据流量中的套餐内流量。步骤204,从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得移动终端所消耗的有效流量。其中,有效流量即指除去订阅蜂窝移动网络数据流量套餐的应用消耗的无需另行计费的流量后,移动终端剩余消耗的蜂窝移动网络数据流量。步骤205,获取移动终端订阅的第一蜂窝移动网络数据流量套餐的信息;若移动终端所消耗的有效流量超过第一套餐流量,则计算有效流量与第一套餐流量的差值作为移动终端所消耗的超出流量。在本发明的一种优选实施例中,移动终端本身可以订阅第一蜂窝移动网络数据流量套餐,该套餐是指向通信运营商订阅的包月套餐。可以获取移动终端订阅的第一蜂窝移动网络数据流量套餐的信息,与上述第二蜂窝移动网络数据流量套餐类似,第一蜂窝移动网络数据流量套餐的信息可以包括是否限制流量的信息(即该套餐为限制流量套餐还是为不限制流量套餐),若第一蜂窝移动网络数据流量套餐为限制流量套餐,则该信息中还包括套餐内包含的第一套餐流量(即允许移动终端免费使用的蜂窝移动网络数据流量)。例如,移动终端向通信运营商订阅限制流量的包月套餐,如每月30元使用300M蜂窝移动网络数据流量的包月套餐,或者向通信运营商订阅不限制流量的包月套餐,如每月50元无限使用蜂窝移动网络的包月套餐。当然,第一蜂窝移动网络数据流量套餐的信息还可以包括其他信息,例如套餐的名称、套餐的费用等信息,本发明实施例对此并不加以限制。需要说明的是,该步骤205是在移动终端向通信运营商订阅限制流量套餐的情况下才执行的,在移动终端向通信运营商订阅不限制流量套餐的情况下不执行该步骤205,直接执行步骤206。当移动终端所消耗的有效流量超过移动终端订阅的第一蜂窝移动网络数据流量套餐内包含的第一套餐流量时,可以进一步计算有效流量与第一套餐流量的差值作为移动终端所消耗的超出流量,此种情况下,该超出流量为真正需要计费的流量,后续执行步骤206。当移动终端所消耗的有效流量未超过移动终端订阅的第一蜂窝移动网络数据流量套餐内包含的第一套餐流量时,可以直接执行步骤206。步骤206,展示移动终端所消耗的有效流量,和/或移动终端所消耗的超出流量。如果移动终端向通信运营商订阅不限制流量套餐的情况下不执行该步骤205,即执行完步骤204之后直接执行步骤206,则该步骤206中仅展示移动终端所消耗的有效流量;如果上述步骤205中移动终端所消耗的有效流量未超过移动终端订阅的第一蜂窝移动网络数据流量套餐内包含的第一套餐流量,则该步骤206中仅展示移动终端所消耗的有效流量;如果上述步骤205中移动终端所消耗的有效流量超过移动终端订阅的第一蜂窝移动网络数据流量套餐内包含的第一套餐流量,则该步骤206中移动终端所消耗的有效流量和移动终端所消耗的超出流量。本发明实施例中,可以采用任意方式对有效流量和超出流量进行展示。例如,可以设置提示框对有效流量和超出流量进行展示,等等。通过本发明实施例,可以更准确地统计移动终端所消耗的有效流量(即需要计费的蜂窝移动网络数据流量),使用户可以更加清楚地了解流量的使用情况,满足用户的各种需求。对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。实施例三参照图4,示出了本发明实施例三的一种数据流量统计装置的结构框图。该装置具体可以包括以下模块:第一获取模块401,用于获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量;第二获取模块402,用于获取移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量,其中,第二蜂窝移动网络数据流量包括套餐内流量;有效统计模块403,用于从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得移动终端所消耗的有效流量;第一展示模块404,用于展示移动终端所消耗的有效流量。本发明实施例中,首先,获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量,以及获取移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量,该第二蜂窝移动网络数据流量包括套餐内流量;然后,从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得移动终端所消耗的有效流量;最后,展示移动终端所消耗的有效流量。由于本发明实施例中可以单独统计具有专用标识的应用消耗的蜂窝移动网络数据流量,进而可以统计除具有专用标识的应用消耗的套餐内流量之外剩余的有效流量,因此能够更加准确地统计出用户实际关心的蜂窝移动网络数据流量,准确地反映用户实际的消费信息,更好地满足用户需求。实施例四参照图5,示出了本发明实施例四的一种数据流量统计装置的结构框图。该装置具体可以包括以下模块:第一获取模块501,用于获取移动终端所消耗的全部蜂窝移动网络数据流量,作为第一蜂窝移动网络数据流量;第二获取模块502,用于获取移动终端中具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量,其中,第二蜂窝移动网络数据流量包括套餐内流量;第三获取模块503,用于在有效统计模块从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得移动终端所消耗的有效流量之前,获取具有专用标识的应用订阅的第二蜂窝移动网络数据流量套餐的信息;流量确定模块504,用于根据第二蜂窝移动网络数据流量套餐的信息确定第二蜂窝移动网络数据流量中的套餐内流量;有效统计模块505,用于从第一蜂窝移动网络数据流量减去第二蜂窝移动网络数据流量中的套餐内流量,获得移动终端所消耗的有效流量;第一展示模块506,用于展示移动终端所消耗的有效流量;第四获取模块507,用于获取移动终端订阅的第一蜂窝移动网络数据流量套餐的信息;其中,第一蜂窝移动网络数据流量套餐的信息包括该套餐内包含的第一套餐流量;计算模块508,用于在移动终端所消耗的有效流量超过第一套餐流量时,计算有效流量与第一套餐流量的差值,作为移动终端所消耗的超出流量;第二展示模块509,用于展示移动终端所消耗的超出流量。其中,第二获取模块,具体用于按照预设条件统计具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。在本发明的一种优选实施例中,具有专用标识的应用对应的数据包携带有专用标识;第二获取模块包括以下子模块:第一字节统计子模块,用于在到达预设周期时,统计通过移动网络接口发送的数据包中携带有专用标识的数据包的字节总数,作为第一发送字节总数;以及,统计通过移动网络接口接收的数据包中携带有专用标识的数据包的字节总数,作为第一接收字节总数;第一字节计算子模块,用于计算第一发送字节总数与第一接收字节总数的总和,作为具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。在本发明的另一种优选实施例中,第二获取模块包括以下子模块:检测统计子模块,用于在检测到具有专用标识的应用启动后,针对每个已启动的具有专用标识的应用,按照预设条件统计当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量;总和计算子模块,用于计算所有已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量的总和,作为具有专用标识的至少一个应用消耗的第二蜂窝移动网络数据流量。其中,检测统计子模块包括以下单元:切换监听单元,用于监听当前已启动的具有专用标识的应用对应的网络在未连接蜂窝移动网络和连接蜂窝移动网络之间的切换状态;切换获取单元,用于在监听到从未连接蜂窝移动网络切换为连接蜂窝移动网络时,获取当前已启动的具有专用标识的应用已消耗的第三蜂窝移动网络数据流量;切换计算单元,用于在监听到从连接蜂窝移动网络再次切换为未连接蜂窝移动网络时,计算从切换为连接蜂窝移动网络开始到再次切换为未连接蜂窝移动网络的这一时间段内,当前已启动的具有专用标识的应用消耗的第四蜂窝移动网络数据流量;总和计算单元,用于计算第四蜂窝移动网络数据流量与第三蜂窝移动网络数据流量的总和,作为当前已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量。切换监听单元包括以下子单元:第一接收检测子单元,用于检测预设的时间周期是否接收到当前已启动的具有专用标识的应用对应的连接蜂窝移动网络的广播消息;第一切换确定子单元,用于在接收到连接蜂窝移动网络的广播消息时,确定当前已启动的具有专用标识的应用对应的网络连接状态从未连接蜂窝移动网络切换为连接蜂窝移动网络;第二接收检测子单元,用于检测预设的时间周期是否接收到当前已启动的具有专用标识的应用对应的断开蜂窝移动网络的广播消息;第二切换确定子单元,用于在接收到断开蜂窝移动网络的广播消息时,确定当前已启动的具有专用标识的应用对应的网络连接状态从连接蜂窝移动网络切换为未连接蜂窝移动网络。切换计算单元包括以下子单元:第二字节统计子单元,用于统计从未连接蜂窝移动网络切换为连接蜂窝移动网络时,当前已启动的具有专用标识的应用对应的进程通过UID网络接口发送和接收的数据包的字节总数,作为第一收发字节总数;第三字节统计子单元,由于统计从连接蜂窝移动网络切换再次为未连接蜂窝移动网络时,当前已启动的具有专用标识的应用对应的进程通过UID网络接口发送和接收的数据包的字节总数,作为第二收发字节总数;第二字节计算子单元,用于计算第二收发字节总数与第一收发字节总数的差值,作为从切换为连接蜂窝移动网络开始到再次切换为未连接蜂窝移动网络的这一时间段内,当前已启动的具有专用标识的应用消耗的第四蜂窝移动网络数据流量。在本发明的一种优选实施例中,第二蜂窝移动网络数据流量套餐的信息包括是否限制流量的信息,若第二蜂窝移动网络数据流量套餐为限制流量套餐,则第二蜂窝移动网络数据流量套餐的信息还包括该套餐内包含的第二套餐流量。流量确定模块可以包括以下子模块::限量确定子模块,用于针对已启动的具有专用标识的应用中订阅限制流量套餐的每个应用,确定当前订阅限制流量套餐的应用消耗的蜂窝移动网络数据流量中的套餐内流量;不限量确定子模块,用于针对已启动的具有专用标识的应用中订阅不限制流量套餐的每个应用,确定当前订阅不限制流量套餐的应用消耗的蜂窝移动网络数据流量中的套餐内流量;流量计算子模块,用于计算全部已启动的具有专用标识的应用消耗的蜂窝移动网络数据流量中的套餐内流量的总和,作为第二蜂窝移动网络数据流量中的套餐内流量。其中,限量确定子模块,具体用于若当前订阅限制流量套餐的应用消耗的蜂窝移动网络数据流量大于该套餐内包含第二数据流量,则将第二套餐流量确定为套餐内流量;否则,将当前订阅限制流量套餐的应用消耗的蜂窝移动网络数据流量确定为套餐内流量;不限量确定子模块,具体用于将当前订阅不限制流量套餐的应用消耗的蜂窝移动网络数据流量确定为套餐内流量。通过本发明实施例,可以更准确地统计移动终端所消耗的有效流量(即需要计费的蜂窝移动网络数据流量),使用户可以更加清楚地了解流量的使用情况,满足用户的各种需求。对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。以上对本发明所提供的一种数据流量统计方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1