智能终端的流量控制方法及装置的制造方法【
技术领域:
】[0001]本发明实施例属于通信领域,尤其涉及一种智能终端的流量控制方法及装置。【
背景技术:
】[0002]目前的智能终端(如手机)通常具备上网功能,且智能终端上的各种应用也多需要联网才能应用。但智能终端(如手机)每个月的上网流量大都是受限制的,超过限额的流量将产生过高的费用。[0003]为了避免产生超额的流量进而产生超额的费用,现有的流量控制方法通常会设置一个流量上限,当超过该流量上限时,自动限制整个智能终端(如手机)使用流量。但在实际情况中,即使智能终端(如手机)已超过限额的流量,用户仍希望使用某些应用实现上网功能,现有的流量控制方法难以提供上述功能,从而降低用户体验。【
发明内容】[0004]本发明实施例提供了一种智能终端的流量控制方法及装置,旨在解决现有方法难以对特定应用的流量进行控制,导致流量控制不准确的问题。[0005]本发明实施例是这样实现的,一种智能终端的流量控制方法,所述方法包括:[0006]获取至少2个应用对应的流量上限;[0007]统计所述至少2个应用已消耗的流量;[0008]分别判断所述至少2个应用已消耗的流量是否大于或等于所述至少2个应用对应的流量上限;[0009]在应用已消耗的流量大于或等于所述应用对应的流量上限时,控制所述应用的流量。[0010]本发明实施例的另一目的在于提供一种智能终端的流量控制装置,所述装置包括:[0011]流量上限获取单元,用于获取至少2个应用对应的流量上限;[0012]已消耗的流量统计单元,用于统计所述至少2个应用已消耗的流量;[0013]已消耗的流量超限判断单元,用于分别判断所述至少2个应用已消耗的流量是否大于或等于所述至少2个应用对应的流量上限;[0014]流量控制单元,用于在应用已消耗的流量大于或等于所述应用对应的流量上限时,控制所述应用的流量。[0015]在本发明实施例中,由于可分别控制不同应用的流量,因此使得流量的控制更准确,提尚用户的良好体验。【附图说明】[0016]图1是本发明第一实施例提供的一种智能终端的流量控制方法的流程图;[0017]图2是本发明第二实施例提供的一种智能终端的流量控制装置的结构图。【具体实施方式】[0018]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。[0019]本发明实施例中,获取至少2个应用对应的流量上限,统计所述至少2个应用已消耗的流量,分别判断所述至少2个应用已消耗的流量是否大于或等于所述至少2个应用对应的流量上限,在应用已消耗的流量大于或等于所述应用对应的流量上限时,控制所述应用的流量。[0020]为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。[0021]实施例一:[0022]图1示出了本发明第一实施例提供的一种智能终端的流量控制方法的流程图,详述如下:[0023]步骤Sll,获取至少2个应用对应的流量上限。[0024]其中,这里的流量上限是指一段时间,比如,一天,一个月的流量上限。[0025]该步骤中,应用对应的流量上限主要通过2种方式确定:I种是用户根据需求设置不同应用的流量上限,另I种是智能终端根据各个应用以往的流量使用情况确定。[0026]可选地,当智能终端根据各个应用以往的流量使用情况确定时,所述获取至少2个应用对应的流量上限,具体包括:[0027]Al、采用下式统计应用在前η个时间单位实际消耗的平均流量:[0028]Mt=(wiAt-1+W2At-2+W3At-3+...+wnAt-n)/n,其中,At-η为应用在第t_n个时间单位实际消耗的流量,Wn为At-η的权重,Mt为应用在前η个时间单位实际消耗的平均流量。其中,η大于等于I,t-n大于等于0,这里的时间单位可以为日,或为月,或为年等;各个时间单位对应的权重是逐渐减小,即离当前时间越近的时间单位对应的权重越大,以保证离当前时间越近,其实际消耗的流量更具参考价值。该步骤中,需要存储各个应用在当前时间的前η个时间单位实际消耗的流量,比如,假设时间单位为日,则需要存储确定Mt之前的η日实际消耗的流量。[0029]Α2、根据所述Mt确定应用的流量上限。该步骤中,由于Mt为一个平均值,而实际情况中肯定会出现比平均值高的值,因此,可将Mt与预设的系数相乘后的乘积作为应用的流量上限,或者,将Mt与预设的增量相加后的和作为应用的流量的上限。其中,预设的系数大于I,比如,1.1或1.2等,预设的增量大于O,比如5Μ,或50Μ等。[0030]进一步地,若不直接将Mt作为应用的流量上限,所述Α2具体包括:[0031]Α21、采用下式统计应用在前N个时间单位实际消耗的平均流量,每个N包括η个时间单位:[0032]!+Mt—2+Mt—3+...+Mt—n)/N,其中,Mt—N为应用在前t-N个时间单位实际消耗的平均流量,且t-N大于等于0。1’为应用在前N个时间单位实际消耗的二次平均流量。例如,假设n=5天,则表示应用距离当天5天之前的实际消耗的平均流量,Mt-2表示应用距离当天10天之前的实际消耗的平均流量,其他依此类推。其中,上述的Mt+MtiMtiMt-N均为同一个应用实际消耗的平均流量,当需要确定多个应用的流量上限时,需要分别获取该多个应用对应的实际消耗的平均流量。[0033]A22、将所述Mt’作为应用的流量上限。通过再次平均N个时间单位实际消耗的平均流量,使得确定的应用的流量上限更准确。[0034]步骤S12,统计所述至少2个应用已消耗的流量。[0035]具体地,若获取的是2个应用对应的流量上限,则统计该2个应用在一段时间内已消耗的流量,若获取的是2个以上应用对应的流量上限,则统计该2个以上应用在一段时间内已消耗的流量。比如,由于智能终端的流量通常是包月的,因此,只需统计应用在扣费之后的第一天到当天已消耗的流量。[0036]步骤S13,分别判断所述至少2个应用已消耗的流量是否大于或等于所述至少2个应用对应的流量上限。[0037]具体地,将应用A已消耗的流量与该应用A对应的流量上限比较,将应用B已消耗的流量与该应用B对应的流量上限比较,…,以便分别判断至少2个应用已消耗的流量是否大于或等于所述至少2个应用对应的流量上限。[0038]步骤S14,在应用已消耗的流量大于或等于所述应用对应的流量上限时,控制所述应用的流量。[0039]这里的控制应用的流量主要是指断开应用的网络。可选地,在控制所述应用的流量后,发出已控制应用的流量的提示,该提示包括被控制的应用的标识信息,以便用户知悉当前哪个应用的流量被控制。[0040]其中,所述在应用已消耗的流量大于或等于所述应用对应的流量上限时,控制所述应用的流量,具体包括:[0041]B1、在应用已消耗的流量大于或等于所述应用对应的流量上限时,添加iptables输出链规则到she11文件。该iPtabIes为集成到Iinux内核中静态防火墙。在应用已消耗的流量大于或等于所述应用对应的流量上限时,需要断开该应用的网络,此时,添加iptabIesoutput链规则到she11文件。[0042]B2、添加执行shell文件的系统服务。[0043]B3、使用socket连接系统服务,以使系统服务执行shell文件,实现应用断网。当系统服务执行shell文件后,iptablesoutput链规则生效,从而实现应用的断网。[0044当前第1页1 2 3