一种基于Android终端设备的定向流量监管方法
【专利摘要】一种基于Android终端设备的定向流量监管方法,包括如下步骤:构建定向管理VPN模块;通过VPNServer创建与终端设备的网络接口相同的虚拟网络接口,实现所述定向管理VPN模块的网络访问;通过创建文件描述符执行所述网络接口的读写操作,实现所述定向管理VPN模块读写所述网络接口的操作;通过VPNServer.Builder类为所述定向管理VPN模块创建指向路径;所述指向路径包括指向网络地址的路径、指向DNS服务器的路径和指向网络路由的路径;通过调用establish()函数,返回ParcelFileDescriptor对象的方式实现所述定向管理VPN模块对Android终端设备的定向流量的监管。通过本发明的方法,借助于VPNServer服务实现流量的监管,解决了现有技术中必须获取root权限才可实现Android终端设备的定向流量监管的缺陷。
【专利说明】一种基于Android终端设备的定向流量监管方法
【技术领域】
[0001]本发明涉及的【技术领域】,具体涉及一种基于Android终端设备的定向流量监管方法。
【背景技术】
[0002]随着移动互联网发展,企业付费的统付款流量/定向流量是行业发展方向。是企业粘合用户,提升用户活跃度,运营商新的业务增长点。
[0003]目前常用“企业付费的统付款流量/定向流量方案”是基于目的地址(IP或域名)的计费解决方案。该方案1.计费较复杂,2.需要运营商网络侧配合,GGSN/SGSN能配置的IP地址有限,过多配IP地址影响效率,3.(企业)客户新增加IP地址难于快速配置到网络,实现计费,容易引起投诉。
[0004]先进的“企业付费的统付款流量/定向流量”,在移动互联网是基于应用(APP)的,而现有的手机助手,卫士类等智能终端软件可以部分实现基于应用(APP)的访问控制,但是他们实现的访问控制是基于IPTABLES的,需要root权限,无法应用到统付款流量/定向流量方案。
【发明内容】
[0005]本发明的目的是提供一种基于Android终端设备的定向流量监管方法,以克服现有技术存在的上述不足。
[0006]本发明的目的是通过以下技术方案来实现的:
[0007]—种基于Android终端设备的定向流量监管方法,包括如下步骤:
[0008]构建定向管理VPN模块,作为Android系统的服务项运行;
[0009]通过VPNServer创建与终端设备的网络接口相同的虚拟网络接口,实现所述定向管理VPN模块的网络访问;
[0010]通过创建文件描述符执行所述网络接口的读写操作,实现所述定向管理VPN模块读写所述网络接口的操作;
[0011]通过VPNServer.Builder类为所述定向管理VPN模块创建指向路径;所述指向路径包括指向网络地址的路径、指向DNS服务器的路径和指向网络路由的路径;
[0012]通过调用establish O函数,返回ParcelFileDescriptor对象的方式实现所述定向管理VPN模块对Android终端设备的定向流量的监管。
[0013]优选的,还构建访问控制列表;
[0014]所述访问控制列表,用于记录访问网络的Android终端设备的应用程序进行访问权限的控制;所述访问权限的控制包括允许访问和限制访问。
[0015]更加优选的,所述访问权限的控制还包括对访问网络的Android终端设备的应用程序进行分流和限流的控制。
[0016]更加优选的,所述定向管理VPN模块还包括用于对访问网络的应用程序进行流量统计的统计子模块。
[0017]更加优选的,还包括流量管理服务器;所述流量管理服务器用于应用程序的QOS的管理、用户QOS的配置管理、客户端基本配置管理和用户流量收集分析。
[0018]更加优选的,所述应用程序QOS的管理具体包括自动识别不同应用程序的流量,自动识别不同应用程序的流量统计,自动对不同应用程序进行分流和限流的设置。
[0019]更加优选的,所述用户QOS的配置管理的具体方法为:通过所述VPN管理模块,获取所有网络的流量,通过获取的所述网络的流量,实现用户的QoS管理。
[0020]更加优选的,所述客户端基本配置管理具体包括控制Android终端设备的应用程序是否受控于所述VPN流量管理模块。
[0021]更加优选的,所述用户流量收集分析具体为自动识别不同应用程序的流量,并对不同应用程序的流量进行收集,对收集到不同应用程序的流量进行统计,根据业务需要将统计后的不同应用程序的流量进行分流和限流。
[0022]优选的,还包括定向流量管理服务器;所述定向流量管理服务器用于为所述定向管理VPN模块提供连接网络的唯一端口。
[0023]名词解释:QoS(Quality of Service,服务质量)指一个网络能够利用各种基础技术,为指定的网络通信提供更好的服务能力,是网络的一种安全机制,是用来解决网络延迟和阻塞等问题的一种技术。
[0024]本发明的有益效果为:
[0025]通过本发明的方法,借助于VPNServer服务实现流量的监管,解决了现有技术中必须获取root权限才可实现Android终端设备的定向流量监管的缺陷,通过本发明,可对互联网或者公网进行统一访问管理,也可以应用于家长对孩子的手机等终端设备的网络访问控制。
【专利附图】
【附图说明】
[0026]图1为本发明的整体剖面结构示意图;
【具体实施方式】
[0027]在本实施例中,本发明是通过使用Android4.0的VPNService服务,本发明在用户空间创建构建自己的应用程序,如图1所示的一种基于Android终端设备的定向流量监管方法,包括如下步骤:构建定向管理VPN模块,作为Android系统的服务项运行;通过VPNServer创建与终端设备的网络接口相同的虚拟网络接口,实现所述定向管理VPN模块的网络访问;通过创建文件描述符执行所述网络接口的读写操作,实现所述定向管理VPN模块读写所述网络接口的操作;通过VPNServer.Builder类为所述定向管理VPN模块创建指向路径;所述指向路径包括指向网络地址的路径、指向DNS服务器的路径和指向网络路由的路径;通过调用establish O函数,返回ParcelFileDescriptor对象的方式实现所述定向管理VPN模块对Android终端设备的定向流量的监管。
[0028]定向管理VPN模块,不需要root权限,作为一个服务(Service)运行在Android4.0操作系统中,该服务,创建一个与它自己的物理终端相同地址和相同路由规则的虚拟网络接口,并且通过一个文件描述符执行所有读写操作,通过VpnService.Builder,允许定向流量管理VPN指定网络地址,DNS服务器,网络路由等等,当完成后,可以通过调用establish O方法建立接口,返回一个ParcelFileDescriptor对象,这样,定向流量管理VPN就实现了对该安卓手机的所有APP的定向流量管理。
[0029]还构建访问控制列表;所述访问控制列表,用于记录访问网络的Android终端设备的应用程序进行访问权限的控制;所述访问权限的控制包括允许访问和限制访问。所述访问权限的控制还包括对访问网络的Android终端设备的应用程序进行分流和限流的控制。
[0030]所述定向管理VPN模块还包括用于对访问网络的应用程序进行流量统计的统计子模块。
[0031]在本实施例中,当定向管理VPN模块运行后,(获得用户许可,但无需root权限,基于用户安全考虑),该手机上所有APP访问都会依据上面实现方法通过定向管理VPN模块访问互联网。
[0032]定向管理VPN模块,可以按配置实现指定应用程序流量代理;也就是不同的应用可以通过配置来实现对互联网的不同的访问,通过定向服务器或直接访问,同时也能够自动识别不同应用程序的流量,进行统计,根据业务需要进行分流和限流,这个可以依据配置在定向流量管理VPN(手机)上完成,也可在定向服务器完成。
[0033]通过定向管理VPN模块和定向服务器进行到每个应用的流量统计,实现了统付流量的计费问题。
[0034]定向管理VPN模块和定向服务器还依据配置与流量统计维护一个访问控制列表,动态管理这个列表,依据统计对每个应用进行访问控制和配置决定每个应用访问权限。
[0035]定向流量管理VPN客户端(含有定向管理VPN模块):可以根据配置实现不同的应用使用不同的出口,对于统付流量/定向流量可以从定向流量服务器到达互联网,也可以直接访问公网。同时可以针对不用的应用设置放开,阻止,问询和相应的流量参数实现QoS服务,对特定应用(APP)实现限制访问,限制访问量,限制速度等。
[0036]流量管理服务器:应用程序(QoS)配置管理。用户(QoS)配置管理。客户端基本配置管理。用户流量收集和分析。
[0037]定向流量的服务器:实现应用程序在因特网的统一出入口。实现流量的自动计费。通过本发明的方法,借助于VPNServer服务实现流量的监管,解决了现有技术中必须获取root权限才可实现Android终端设备的定向流量监管的缺陷,通过本发明,可对互联网或者公网进行统一访问管理,也可以应用于家长对孩子的手机等终端设备的网络访问控制。
[0038]以上通过具体的和优选的实施例详细的描述了本发明,但本领域技术人员应该明白,本发明并不局限于以上所述实施例,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种基于Android终端设备的定向流量监管方法,其特征在于,包括如下步骤: 构建定向管理VPN模块,作为Android系统的服务项运行; 通过VPNServer创建与终端设备的网络接口相同的虚拟网络接口,实现所述定向管理VPN模块的网络访问; 通过创建文件描述符执行所述网络接口的读写操作,实现所述定向管理VPN模块读写所述网络接口的操作; 通过VPNServer.Builder类为所述定向管理VPN模块创建指向路径;所述指向路径包括指向网络地址的路径、指向DNS服务器的路径和指向网络路由的路径; 通过调用establish O函数,返回ParcelFileDescriptor对象的方式实现所述定向管理VPN模块对Android终端设备的定向流量的监管。
2.根据权利要求1所述的基于Android终端设备的定向流量监管方法,其特征在于: 还构建访问控制列表; 所述访问控制列表,用于记录访问网络的Android终端设备的应用程序进行访问权限的控制;所述访问权限的控制包括允许访问和限制访问。
3.根据权利要求1所述的基于Android终端设备的定向流量监管方法,其特征在于:所述访问权限的控制还包括对访问网络的Android终端设备的应用程序进行分流和限流的控制。
4.根据权利要求1所述的基于Android终端设备的定向流量监管方法,其特征在于:所述定向管理VPN模块还包括用于对访问网络的应用程序进行流量统计的统计子模块。
5.根据权利要求1所述的基于Android终端设备的定向流量监管方法,其特征在于:还包括流量管理服务器;所述流量管理服务器用于应用程序的QOS的管理、用户QOS的配置管理、客户端基本配置管理和用户流量收集分析。
6.根据权利要求5所述的基于Android终端设备的定向流量监管方法,其特征在于:所述应用程序QOS的管理具体包括自动识别不同应用程序的流量,自动识别不同应用程序的流量统计,自动对不同应用程序进行分流和限流的设置。
7.根据权利要求5所述的基于Android终端设备的定向流量监管方法,其特征在于,所述用户QOS的配置管理的具体方法为:通过所述VPN管理模块,获取所有网络的流量,通过获取的所述网络的流量,实现用户的QoS管理。
8.根据权利要求5所述的基于Android终端设备的定向流量监管方法,其特征在于:所述客户端基本配置管理具体包括控制Android终端设备的应用程序是否受控于所述VPN流量管理模块。
9.根据权利要求5所述的基于Android终端设备的定向流量监管方法,其特征在于:所述用户流量收集分析具体为自动识别不同应用程序的流量,并对不同应用程序的流量进行收集,对收集到不同应用程序的流量进行统计,根据业务需要将统计后的不同应用程序的流量进行分流和限流。
10.根据权利要求1所述的基于Android终端设备的定向流量监管方法,其特征在于,还包括定向流量管理服务器;所述定向流量管理服务器用于为所述定向管理VPN模块提供连接网络的唯一端口。
【文档编号】H04L12/26GK104468269SQ201410718462
【公开日】2015年3月25日 申请日期:2014年12月1日 优先权日:2014年12月1日
【发明者】郭丹, 商玲 申请人:郭丹, 商玲