本发明属于终端设备
技术领域:
:,涉及一种管理方法及系统,特别是涉及一种应用程序的流量管理方法、系统及具有该系统的终端设备。
背景技术:
::移动智能终端是指像个人电脑一样,具有独立的操作系统,可以由用户自行安装软件、游戏等第三方服务商提供的程序,通过此类程序来不断对终端的功能进行扩充,并可以通过移动通讯网络来实现无线网络接入的便携式设备。常见的移动智能终端包括智能手机和平板电脑。得益于其高度的便携性,移动智能终端正在成为人们使用频率最高的终端设备。现有的移动智能终端设备涵盖多种应用,需要对不同应用流量进行区别管理,以增强移动智能终端的访问体验。然而,现有的流量的管理一般分为两个步骤:一是将数据包信息转化为拥有者属性;二是对不同拥有者的流量进行管理,目前流量管理多见于路由器、远程服务器上,并且一般是以ip作为最小管理粒度。而现有对流量管理的技术无法对不同APP流量进行区分管理。因此,如何提供一种应用程序的流量管理方法、系统及具有该系统的终端设备,以解决现有技术无法对不同APP流量进区分管理的缺陷,实已成为本领域从业者亟待解决的技术问题。技术实现要素:鉴于以上所述现有技术的缺点,本发明的目的在于提供一种应用程序的流量管理方法、系统及具有该系统的终端设备,用于解决现有技术无法对不同APP流量进行区分管理的问题。为实现上述目的及其他相关目的,本发明一方面提供一种应用程序的流量管理方法,用程序的流量管理方法,所述应用程序的流量管理方法包括以下步骤:读取所述应用程序发送的数据包的用于表示其来源的属性信息;根据该数据包的属性信息,判断发送该数据包的应用程序是否为指定播放工具,以对来源于指定播放工具的数据包和非来源于指定播放工具的数据包进行区别管理。于本发明的一实施例中,所述判断发送该数据包的应用程序是否为指定播放工具,以对来源于指定播放工具的数据包和非来源于指定播放工具的数据包进行区别管理的步骤包括:将所述数据包的属性信息转换为发送该数据包的应用程序对应的标识符;判断所述应用程序对应的标识符是否为所述指定播放工具的标识符;若是,则表示该应用程序为指定播放工具,查询前台进程,将所述数据包的包名映射成所述前台进程的包名;若否,将所述应用程序的标识符转化成所述应用程序的包名。于本发明的一实施例中,所述数据包用于表示其来源的属性信息包括数据包的源端口信息;所述将所述数据包的属性信息转换为发送该数据包的应用程序对应的标识符的步骤为根据所述数据包的源端口信息,在用于记录TCP连接状况的第一查询表中映射查找与所述发送数据包的源端口信息匹配的标识符。于本发明的一实施例中,在判断所述应用程序对应的标识符不为指定播放工具的标识符时,将所述应用程序的标识符转化成所述应用程序包名的步骤包括:根据所述应用程序对应的标识符,在用于记录发送数据包的应用程序的包名的第二查询表中查找与所述标识符匹配的应用程序的包名;或根据用于查找发送数据包的应用程序的包名的查找接口,查找该应用程序的包名;将所述应用程序的标识符转化成所述应用程序包名。于本发明的一实施例中,所述指定播放工具为安卓系统的MediaServer组件。本发明另一方面提供一种应用程序的流量管理系统,所述应用程序的流量管理系统包括:读取模块,用于读取所述应用程序发送的数据包的用于表示其来源的属性信息;管理模块,用于根据该数据包的属性信息,判断发送该数据包的应用程序是否为指定播放工具,以对来源于指定播放工具的数据包和非来源于指定播放工具的数据包进行区别管理。于本发明的一实施例中,所述管理模块包括:转换单元,用于将所述数据包的属性信息转换为发送该数据包的应用程序对应的标识符;处理单元,用于判断所述应用程序对应的标识符是否为所述指定播放工具的标识符;若是,则表示该应用程序为指定播放工具,查询前台进程,将所述数据包的包名映射成所述前台进程的包名。于本发明的一实施例中,所述数据包用于表示其来源的属性信息包括数据包的源端口信息;所述转换单元用于根据所述数据包的源端口信息,在用于记录TCP连接状况的第一查询表中映射查找与所述发送数据包的源端口信息匹配的标识符。于本发明的一实施例中,所述处理单元在判断所述应用程序对应的标识符不为指定播放工具的标识符时,根据所述应用程序对应的标识符,在用于记录发送数据包的应用程序的包名的第二查询表中查找与所述标识符匹配的应用程序的包名;或根据用于查找发送数据包的应用程序的包名的查找接口,查找该应用程序的包名;将所述应用程序的标识符转化成所述应用程序包名。本发明又一方面提供一种终端设备,所述终端设备包括:所述的应用程序的流量管理系统。如上所述,本发明的应用程序的流量管理方法、系统及具有该系统的终端设备,具有以下有益效果:本发明所述的应用程序的流量管理方法、系统及具有该系统的终端设备实现了对不同应用程序的流量进行精确管理,并且不需要APP的干预,不需要对终端设备系统架构进行改动。附图说明图1显示为本发明的终端设备系统配置结构示意图。图2显示为本发明的应用程序的流量管理方法于一实施例中的流程示意图。图3显示为本发明的应用程序的流量管理方法中步骤S5的流程示意图。图4显示为本发明的应用程序的流量管理系统于一实施例中的原理结构示意图。图5显示为本发明的应用程序的流量管理系统中管理模块的原理结构示意图。图6显示为本发明的终端设备于一实施例中的原理结构示意图。元件标号说明1终端设备2应用程序的流量管理系统21初始化模块22接收模块23重定向模块24读取模块25管理模块251转换单元252处理单元253流量管理单元S1~S6步骤S51~S54步骤具体实施方式以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。本发明所述的应用程序的流量管理方法和系统的技术原理为:将App调用mediaPlayer播放视频的状态与流量关联起来均在应用层实现,App流量识别是基于App(应用程序)的UID(UserIdentification)属性,即数据包信息与UID存在对应关系,UID又是App在系统中的唯一标识,因此可通过数据包信息确定该数据包属于某个App发出,从而实现对不同App流量,即实现了对指定播放器流量和其他流量进行管理。实施例一本实施例提供一种应用程序的流量管理方法,所述应用程序的流量管理方法包括以下步骤:读取所述数据包的用于表示其来源的属性信息;根据该数据包的属性信息,判断发送该数据包的应用程序是否为指定播放工具,以对来源于指定播放工具的数据包和非来源于指定播放工具的数据包进行区别管理。。以下将结合图示对本实施例所述的应用程序的流量管理方法进行详细描述。本实施例所述的应用程序的流量管理方法应用于终端设备。所述终端设备于实际的实现方式中包括智能手机、平板电脑,机顶盒,或IPAD等中。请参阅图1,显示为本发明的终端设备于一实施例中的立体结构示意图。在本实施例中,所述终端设备以智能手机为例进行说明。所述智能手机例如为安装Android操作系统或者iOS操作系统,或者PalmOS、Symbian(塞班)、或者BlackBerry(黑莓)OS6.0、WindowsPhone8等操作系统的智能手机。在本实施例中,所述触摸屏用于输出显示应用程序图标用户界面。所述应用程序图标用户界面包括多个应用程序图标。在本实施例中,通过在所述终端设备中配置均处于应用层的APP,MediaServer,流量管理平台,和处于IP层的Netfilter来完成应用程序的流量管理方法。请参阅图1,显示为终端设备系统配置结构示意图。请参阅图2,显示为应用程序的流量管理方法于一实施例中的流程示意图。在本实施例中,仅提供流量的管理,所述流量包括mediaPlayer流量和非mediaPlayer流量。如图2所示,所述应用程序的流量管理方法具体包括以下几个步骤:S1,初始化所述终端设备。S2,接收流量访问的请求,并获知接收到流量访问的请求是应用程序(APP)直接发送的数据包,还是应用程序(APP)通过媒体服务器(MediaServer)发送的流量访问的数据包。例如,当APP调用MediaPlayer播放视频时,由于MediaPlayer的架构是C/S(客户机/服务器)结构,App实际通过MediaPlayer的客户端向MediaServer发送视频播放请求的,此时视频播放请求由MediaServer发出。在本实施例中,所述用以请求播放视频的数据包包括来源于指定播放工具的数据包和非来源于指定播放工具的数据包。所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包发送至Netfilter。在本实施例中,所述指定播放工具为安卓系统的MediaServer组件。在本实施例中,步骤S2还包括在所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包发送至代理服务器或源站的过程中,所述流量管理平台拦截应用程序发送的数据包,即拦截所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包。在本实施例中,在拦截应用程序发送的的数据包之前,所述终端设备一直处于等待拦截所述数据包的等候状态。S3,所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包进入Netfilter后,利用网络防火墙重定向所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包。其中,iptable语法为:iptable[-ttable]command[chain][match][-jtarget]注释:iptable[-t表名]-命令[链接][匹配][-j动作/目标]。S4,所述流量管理平台读取所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包的用于表示其来源的属性信息。在本实施例中,所述数据包用于表示其来源的属性信息包括数据包的源端口信息,即读取来源于指定播放工具的数据包的源端口信息和非来源于指定播放工具的数据包的源端口信息。S5,所述流量管理平台根据该数据包的属性信息,判断发送该数据包的应用程序是否为指定播放工具以对来源于指定播放工具的数据包和非来源于指定播放工具的数据包进行区别流量管理。在本实施例中,所述指定播放工具为MediaPlayer(媒体播放器)。因为,现有很多应用程序均是通过调用MediaPlayer来播放视频的。请参阅图3,显示为步骤S5的流程示意图。如图3所示,所述步骤S5具体包括以下几个步骤:S51,将所述数据包的属性信息,即将来源于指定播放工具的数据包的源端口信息和非来源于指定播放工具的数据包的源端口信息转换为发送来源于指定播放工具的数据包和非来源于指定播放工具的数据包的应用程序对应的标识符。具体地,根据所述数据包的源端口信息,在用于记录TCP连接状况的第一查询表中映射查找与所述发送数据包的源端口信息匹配的标识符。在本实施例中,所述第一查询表为/proc/net/tcp(udp);所述标识符为UID。S52,判断所述应用程序对应的标识符是否为与所述指定播放工具的标识符;若是,则表示该应用程序为指定播放工具(MediaPlayer),执行步骤S53;若否,则表示该应用程序为非指定播放工具(MediaPlayer),执行步骤S54。在本实施例中,前台进程的标识符为1013。在终端设备中,安装APP和媒体服务器时,系统会给APP统一分配一UID,其中通过指定播放工具发出的数据包的APP的UID固定为1013。S53,判定该应用程序为指定播放工具(MediaPlayer),查询前台进程,将来源于指定播放工具的数据包的包名映射成所述前台进程的包名。在本实例中,当应用程序APP调用MediaPlayerr流量访问时,UID为1013的来源于指定播放工具的数据包是由前台进程触发的,因此,将触发来源于指定播放工具的数据包的包名映射成为前台进程的包名。S54,判定该应用程序为非指定播放工具,将所述应用程序的标识符转化成所述应用程序的包名。具体地,根据非指定播放工具(MediaPlayer)进行流量访问的应用程序的标识符,获取该应用程序的包名,并记录下来。在本实施例中,根据所述应用程序对应的标识符,在用于记录发送数据包的应用程序的包名的第二查询表,即本实施例中/data/system/package.xml表中查找与所述标识符匹配的应用程序的包名;或根据用于查找发送数据包的应用程序的包名的查找接口,即本实施例中的SDK接口getPackagesForUid,查找该应用程序的包名,并根据查找到的包名,记录下来;并将所述应用程序的标识符转换成所述应用程序的包名。S6,根据包名设置为的前台进程的应用程序和非前台进程的应用程序的包名发出的流量进行管理。在本实施例中,对不同应用程序发出的流量进行管理包括对流量做引导、流量统计等。本实施例所述的应用程序的流量管理方法实现了对不同应用程序的流量进行精确管理,并且不需要APP的干预,不需要对终端设备系统架构进行改动。实施例二本实施例提供一种应用程序的流量管理系统2,该系统2应用于终端设备1。请参阅图4,显示为应用程序的流量管理系统于一实施例中的原理结构示意图。如图4所示,所述应用程序的流量管理系统2包括:初始化模块21、接收模块22、重定向模块23、读取模块24、及管理模块25。初始化模块21用于初始化所述终端设备。与初始化模块21连接的接收模块22用于接收流量访问的请求,并获知接收到流量访问的请求是APP直接发送的数据包,还是APP通过媒体服务器(MediaServer)发送的数据包。在本实施例中,当APP调用MediaPlayer播放视频时,由于MediaPlayer的架构是C/S(客户机/服务器)结构,App实际通过MediaPlayer的客户端向MediaServer发送视频播放请求的,此时视频播放请求由MediaServer发出。在本实施例中,所述用以请求播放视频的数据包包括通过位于终端设备内的媒体服务器转发的来源于指定播放工具的数据包和未通过所述媒体服务器转发的非来源于指定播放工具的数据包。所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包发送至Netfilter。且所述接收模块22还用于在应用程序发送的数据包发送至远程服务器或源站的过程中,所述流量管理平台拦截来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包。在本实施例中,在拦截来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包之前,所述终端设备一直处于等待拦截所述数据包的等候状态。与接收模块22连接的重定向模块23用于在所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包进入内置于重定向模块23中的Netfilter后,利用网络防火墙重定向所述来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包。例如,利用iptable重定向所述来源于指定播放工具的数据包。与接收模块22和重定向模块23连接的读取模块24用于读取来源于指定播放工具的数据包和所述非来源于指定播放工具的数据包的用于表示其来源的属性信息。在本实施例中,所述数据包用于表示其来源的属性信息包括数据包的源端口信息,即读取来源于指定播放工具的数据包的源端口信息和非来源于指定播放工具的数据包的源端口信息。与所述读取模块24连接的管理模块25用于根据该数据包的属性信息,判断发送该数据包的应用程序是否为调用指定播放工具播放视频的应用程序以管理不同应用程序的流量。请参阅图5,显示为管理模块的原理结构示意图。如图5所示,所述管理模块25具体包括:转换单元251、处理单元252、流量管理单元253。转换单元251用于将所述数据包的属性信息,即将来源于指定播放工具的数据包的源端口信息和非来源于指定播放工具的数据包的源端口信息转换为发送来源于指定播放工具的数据包和非来源于指定播放工具的数据包的应用程序对应的标识符。具体地,根据所述数据包的源端口信息,在用于记录TCP连接状况的第一查询表中映射查找与所述发送数据包的源端口信息匹配的标识符。在本实施例中,所述第一查询表为/proc/net/tcp(udp);所述标识符为UID。与转换单元251连接的处理单元252用于判断所述指定播放工具对应的标识符;若是,则表示该应用程序为指定播放工具(MediaPlayer),查询前台进程,将来源于指定播放工具的数据包的包名映射成所述前台进程的包名;若否,则表示该应用程序为非指定播放工具(MediaPlayer),将所述应用程序的标识符转换成所述应用程序的包名。在本实施例中,根据所述应用程序对应的标识符,在用于记录发送数据包的应用程序的包名的第二查询表,即本实施例中/data/system/package.xml表中查找与所述标识符匹配的应用程序的包名;或根据用于查找发送数据包的应用程序的包名的查找接口,即本实施例中的SDK接口getPackagesForUid,查找该应用程序的包名,并根据查找到的包名来记录,并将所述应用程序的标识符转换成该应用程序的包名。在本实施例中,前台进程的标识符为1013。在终端设备中,安装APP和媒体服务器时,系统会给APP统一分配一UID,其中指定播放工具的数据包的APP的UID固定为1013。在本实施例中,所述处理单元262判定该应用程序为非指定播放工具时,将所述应用程序的标识符转化成所述应用程序的包名。具体地,根据非指定播放工具(MediaPlayer)进行流量访问的应用程序的标识符,获取该应用程序的包名,并记录下来。在本实施例中,根据所述应用程序对应的标识符,在用于记录发送数据包的应用程序的包名的第二查询表,即本实施例中/data/system/package.xml表中查找与所述标识符匹配的应用程序的包名;或根据用于查找发送数据包的应用程序的包名的查找接口,即本实施例中的SDK接口getPackagesForUid,查找该应用程序的包名,并根据查找到的包名,记录下来;并将所述应用程序的标识符转换成所述应用程序的包名。与处理单元252连接的流量管理单元253用于根据包名设置为的前台进程的应用程序和非前台进程的应用程序的包名发出的音/流量进行管理。在本实施例中,对不同应用程序发出的流量进行管理包括对流量做引导、流量统计等。本实施例还提供终端设备1,请参阅图6,显示为终端设备于一实施例中的原理结构示意图。如图6所示,所述终端设备1包括上述的应用程序的流量管理系统2。所述终端设备为机顶盒、平板电脑、手机中的任意一种。综上所述,本发明所述的应用程序的流量管理方法、系统及具有该系统的终端设备实现了对不同应用程序的流量进行精确管理,并且不需要APP的干预,不需要对终端设备系统架构进行改动。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属
技术领域:
:中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。当前第1页1 2 3 当前第1页1 2 3