最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

一种基于安卓系统的双网卡并存的实现方法

IT圈 admin 18浏览 0评论

2024年10月13日发(作者:孔寄柔)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.8

(22)申请日 2014.05.19

(71)申请人 普天信息技术有限公司

地址 100080 北京市海淀区海淀北二街6号

(72)发明人 霍平 张凡 姜涌

(74)专利代理机构 北京德琦知识产权代理有限公司

代理人 王民盛

(51)

H04L29/08

H04W76/02

(10)申请公布号 CN 103973800 A

(43)申请公布日 2014.08.06

权利要求说明书 说明书 幅图

(54)发明名称

一种基于安卓系统的双网卡并存的

实现方法

(57)摘要

本申请公开了一种基于安卓系统的

双网卡并存通信方法,包括:应用层分别

调用这启用移动数据函数和启用WIFI函数

实现移动网络和WIFI网络的开启;建立新

网络连接后,判断是否已激活两个默认网

络,若是,保留这个新连接的网络并且保

留它的网络状态信息,使这个新的网络和

原网络并存并结束本流程,否则,判断网

络传输唤醒锁定变量是否是保持状态,若

是,设置时间延迟关闭屏幕,否则更新激

活默认网络变量实现新网络连接,重新设

置正在运行的网络类型,同时更新其他的

变量;设置拆解请求为否并更新网络设

置;更新路由设置、域名系统设置、网络

接口设置和连接属性;切换到新连接的网

络并发送一个广播消息给网络状态服务通

知网络接口名称发生改变。

法律状态

法律状态公告日

法律状态信息

未缴年费专利权终止IPC(主分

类):H04L29/08专利

2023-05-26

号:ZL2申请

日:20140519授权公告

日:20171208

法律状态

专利权的终止

权 利 要 求 说 明 书

1.一种基于安卓系统的双网卡并存通信方法,其特征在于,包括:

A、应用层分别调用这启用移动数据函数和启用WIFI函数实现移动网络和wifi

B、建立新网络连接后,判断是否已激活两个默认网络,若是,保留这个新连接

的网络并且保留它的网络状态信息,使这个新的网络和原网络并存并

则,执行步骤C;

网络的开启;

结束本流程,否

C、判断网络传输唤醒锁定变量是否是保持状态,若是,设置时间延迟关闭屏幕,

D、更新激活默认网络变量实现新网络连接,重新设置正在运行的网络类型,同

E、设置拆解请求为否并更新网络设置;

F、更新路由设置、域名系统设置、网络接口设置和连接属性;切换到新连接的网

络并发送一个广播消息给网络状态服务,用于通知网络接口名称发生

时更新其他的变量;

然后执行步骤D,否则直接执行步骤D;

改变。

2.根据权利要求1所述的方法,其特征在于,步骤A包括:

通过java中的反射实现调用到连接管理器类中的启动移动数据函数;

使能移动网络后,发送一条设置移动数据事件消息至连接服务模块的消息处理单

元;所述消息处理单元连接接入点,通过动态主机配置协议获得IP

rmnet_usb0。 地址,配置

3.根据权利要求1所述的方法,其特征在于,步骤A包括:

调用Wifi服务模块中的启用wifi函数使能wifi,wifi服务模块接着向自身发送一

wifi服务模块加载wifi内核驱动模块,然后启动wpa_supplicant程序;

wpa_supplicant程序完成接入点扫描,扫描后将扫描结果通过事件通知framework

framework层的wifi状态追踪器创建wifi监视器接收来自底层的事件,Wifi监视

器负责从wpa_supplicant程序接收事件通知,Wifi监视器把命令下发

程序,配置并连接接入点,获取IP地址。

层;

条CMD_WIFI_TOGGLED消息;

给wpa_supplicant

4.根据权利要求1所述的方法,其特征在于,步骤B所述判断是否已激活两个

默认网络之前,进一步包括:判断新连接的网络类型是否是默认的网

所述判断是否已激活两个默认网络的步骤,否则络,若是,执行

执行步骤F。

5.根据权利要求1所述的方法,其特征在于,步骤B为:

建立新网络连接后,判断激活默认网络变量是否已经设置并且新连接的网络类型

不等于这个激活默认网络变量已激活的网络类型,若满足以上条件保

网络并且保留它的网络状态信息,使这个新的网

执行步骤C。

留这个新连接的

络和原网络并存并结束本流程,否则,

说 明 书

技术领域

本申请涉及移动通信技术领域,尤其涉及一种基于安卓(android)系统的双网卡

背景技术

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,

如智能手机和平板电脑。现有大部分移动设备具有多块网卡,如通过

(WIFI)方式接入互联网络的WIFI网卡以及通过移动通

3g/LTE网卡。

并存的实现方法。

局域无线网络

信网络方式接入互联网络的

由于WIFI网络可以免费使用,而3g/LTE网络通常是按照流量计费,现有的

android 系统联网策略通常是WIFI优先,在同一时刻只允许一个网络

说,打开WIFI网络的时候系统默认就会把3G

再开3G网络,系统也会再把3g

默认只使用WIFI网

接口进行通信。具体地

网络给关闭或者是当先打开WIFI网络

关闭;WIFI网络和3g网络同时存在的情况下,系统

络,不允许多网卡同时并存。

然而在实际应用中常常需要多个网卡同时并存,以下列举几个可能的应用场景:

1、不少公司或组织比如银行、税务等都有自己的内部专网(WIFI),日常工作中

经常会碰到需要同时访问内外网的问题,比如在内网上干活,外网(3g/LTE)

料,或者和其他人交换信息等;

上查资

2、当用户的wifi信号很差时、很微弱时,已经无法访问internet,这时系统也不

会自动切换到3g/LTE网络访问internet;

3、当用户有特殊需要,数据业务根据业务类型做多接口分流处理,这时需要多网

4、WIFI带宽受限,希望多网卡同时工作,提高下载速度,负载均衡,提升网络

发明内容

本申请提供了一种基于安卓系统的双网卡并存的实现方法,可以实现两个网卡同

本申请实施例提供的一种基于安卓系统的双网卡并存通信方法,包括:

A、应用层分别调用这启用移动数据函数和启用WIFI函数实现移动网络和wifi

B、建立新网络连接后,判断是否已激活两个默认网络,若是,保留这个新连接

的网络并且保留它的网络状态信息,使这个新的网络和原网络并存并结束本

则,执行步骤C;

网络的开启;

时工作。

资源利用率。

卡通信;

流程,否

C、判断网络传输唤醒锁定变量是否是保持状态,若是,设置时间延迟关闭屏幕,

D、更新激活默认网络变量实现新网络连接,重新设置正在运行的网络类型,同

E、设置拆解请求为否并更新网络设置;

时更新其他的变量;

然后执行步骤D,否则直接执行步骤D;

F、更新路由设置、域名系统设置、网络接口设置和连接属性;切换到新连接的网

较佳地,步骤A包括:

通过java中的反射实现调用到连接管理器类中的启动移动数据函数;

使能移动网络后,发送一条设置移动数据事件消息至连接服务模块的消息处理单

元;所述消息处理单元连接接入点,通过动态主机配置协议获得IP地址,

rmnet_usb0。

络并发送一个广播消息给网络状态服务,用于通知网络接口名称发生改变。

配置

较佳地,步骤A包括:

调用Wifi服务模块中的启用wifi函数使能wifi,wifi服务模块接着向自身发送一

wifi服务模块加载wifi内核驱动模块,然后启动wpa_supplicant程序;

wpa_supplicant程序完成接入点扫描,扫描后将扫描结果通过事件通知framework

framework层的wifi状态追踪器创建wifi监视器接收来自底层的事件,而Wifi监

较佳地,步骤B所述判断是否已激活两个默认网络之前,进一步包括:判断新连

接的网络类型是否是默认的网络,若是,执行所述判断是否已激活两个默认

视器负责从wpa_supplicant程序接收事件通知,Wifi监视器把命令下发给

wpa_supplicant程序,配置并连接接入点,获取IP地址。

层;

条CMD_WIFI_TOGGLED消息;

网络的步

骤,否则执行步骤F。

较佳地,步骤B为:

建立新网络连接后,判断激活默认网络变量是否已经设置并且新连接的网络类型

不等于这个激活默认网络变量已激活的网络类型,

网络并且保留它的网络状态信息,

执行步骤C。

若满足以上条件保留这个新连接的

使这个新的网络和原网络并存并结束本流程,否则,

从以上技术方案可以看出,通过不同于现有技术的网络连接处理流程实现双网卡

同时开启并且分别建立网络连接,在此基础上可以进一步实现双网卡并存通

提高网络的使用率或者基于android的内网和外网同时访问。 信;从而

附图说明

图1为本申请实施例提供的双网卡启动整体实现流程示意图;

图2为现有技术启动双网卡启动网络状态图;

图3为本申请实施例中启动双网卡启动网络状态图。

具体实施方式

本申请的设计思想是:在原有android系统的网络架构设计机制的基础下对网络进

行改造,从而实现多网卡并存的网络架构,提出支持LTE/3G、WLAN等多

并存通信的网络总体架构。 网融合、

为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实

施例对本申请技术方案进行详细阐述。

根据用户策略开启双网卡,实现双网卡并存通信的网络架构是本申请的核心

部分。下面将详细讲述关于移动网络和wifi网络是如何开启的,及两个网

并存。 络如何

双网卡启动过程:

应用层分别调用这两个函数:启用移动数据(setMobileDataEnabled)和启用

WIFI(setWifiEnable)实现移动网络和wifi网络的开启。下面简要说明移动网

wifi网络开启过程。 络、

开启移动网络(LTE/3G)流程说明:

当开启移动网络时,应用程序会调用连接管理器启用移动数据

(ileDataEnable)方法,但是这个方法被定义为私

(private)类型,系统级的应用才能调用。本申请实施例中通过如下方

级的应用调用:通过java中的反射就可以实现调用到连接管式实现用户

理器

使能

(ConnectivityManager)类中的启动移动数据(setMobileDataEnable)函数。

移动网络后,接着会发送一条设置移动数据事件

消息,连接服

并处理这条消

通过动

(EVENT_SET_MOBILE_DATA)

务(ConnectivityService)的消息处理单元(handleMessage)将接收

息,在处理该消息的代码中做真正的使能工作:连接接入点(APN),

态主机配置协议(DHCP,Dynamic Host Configuration Protocol)获得IP地

开启wifi流程说明:

址,配置rmnet_usb0使得移动网络状态为已连接,至此移动网络使能完成。

当开启wifi时,应用程序会调用Wifi服务(WifiService)模块中的启用wifi

(setWifiEnable)函数使能wifi,WifiService模块接着向自身发送一条

CMD_WIFI_TOGGLED消息,在处理该消息的代码中做真正的使能工作:

载wifi内核驱动模块,然后启动wpa_supplicant程序

闭wpa_supplicant),wpa_supplicant程序主要是

通过事件通知framework层,在

会创建wifi监视器

首先加

(WifiService负责启动和关

完成AP扫描,扫描后将扫描结果

framework层的wifi状态追踪器(wifiStateTracker)

(WifiMonitor)接收来自底层的事件,而WifiMonitor负责从

wpa_supplicant接收事件通知,同时WifiMontior监视线程会把命令下发给

wpa_supplicant,配置AP,连接AP,获取IP地址,wifi状态为已连接,至

使能完成。 此wifi

在两个网卡都启动后,本申请实施例通过修改framework层的网络连接处理流

程而实现双网卡共存。本申请实施例提供的双网卡启动整体实现流程如图1

包括如下步骤: 所示,

步骤101:判断新连接的网络类型是否是默认的网络(默认的网络指的是wifi

或移动网络,即本申请所要开启的双网卡对应的网络),如果这个网络是默

网络,继续步骤102,否则跳转到步骤107; 认的

步骤102:判断激活默认网络(mActiveDefaultNetwork)变量是否已经设置(之

前已开启过一个网络wifi或移动网络,已经处于连接状态,如果已开启过

mActiveDefaultNetwork值为是1或0,否则值为-1),并且新

等于这个mActiveDefaultNetwork已激活的网络类型,

连接的网络并且保留它的网络状态信息,

流程;否则说明之前没有开启过任

网络,

连接的网络类型不

如果条件满足则保留这个新

使这个新的网络和原网络并存,结束本

何网络,将继续步骤103;

步骤103:使能同步处理函数,该函数的具体处理过程包括:首先判断网络传

输唤醒锁定(mNetTransitionWakeLock)变量是否是保持(held)状态,这里是

判断屏幕是否亮着,若亮着,一秒之后关闭屏幕,之所以一秒钟之后关闭是

应用程序连接新网络所用的时间; 留给

步骤104:更新激活默认网络(mActiveDefaultNetwork)变量实现新网络连接,

步骤105:设置拆解(teardown)请求为否,不关闭网络;

步骤106:更新网络设置;这一步主要是从系统属性里面读出要连接的那个网

络的属性信息,然后把它写到安卓系统的内核

重新设置正在运行的网络类型,同时更新其他的变量;

(kernel)里;

步骤107:改变网络连接,主要包括更新路由设置、域名系统设置、网络接口

步骤108:发送一个广播消息至网络状态服务(NetWorkStateService),用于

该流程与现有技术开启网络流程的区别:

现有技术在两个网络(wifi和3g/lte)同时开启时,虽然在网络设置界面上看

到两个网络都是开启状态,但实质上它的内部程序处理策略是优先选择wifi

程序在内部处理上是只打开了wifi,而将3g/lte关闭,这时虽

只有wifi网络可用,3g/lte是无法使用的。通过

up状态并且有IP地址,如图2所示。

通知网络接口名称发生改变。

设置和连接属性;切换到新连接的网络上;

网络,

然打开了两个网络但

查看网络状态,只有WLAN处于

本专利在启动双网卡时也是先在网络设置界面上使能了wifi和3g/lte后,程

序在内部处理上和现有技术有所区别,本专利在程序的内部会修改网络连接

理流程,使之双网并存。具体实现流程上参见图1。这样当LTE/3G、

网卡同时打开之后,用网络配置(netcfg)命令查看信息,会看

网络已经开启处于UP状态,分别为rmnet_usb0、

IP地址,WIFI还会有MAC地址。这样

IP分流和多流处理了。

的处

WLAN两个

到相应的会有两个

wlan0网络,分别被分配相应的

两个网络已经同时开启,这样就可以进行

LTE/3G、WLAN网卡启动之后的信息,如图3所示。

在双网络并存的情况下,可以进行多网协同分流、多流并发和单业务双网分

实例1:分应用指定网络接口上网。

首先选择浏览器1,通过程序获取这个应用的用户id并将其网络出去的接口

配置到WIFI网络接口上,配置好之后设定其相应的路由策略,然后再选择

2,同样是通过程序获取这个应用的用户id,再将其出去的接

络接口上,分别打开浏览器1和浏览器2上网,它们的

3G/LTE出去,可以用tcpdump抓包工具查看两

多网协同多流并发这项技术,充分、

流,此外还可以实现内网、外网同时访问。下面具体列举一些实例:

浏览器

口配置到3G/LTE网

数据包分别通过WIFI和

个网络接口的数据。在这里体现了

有效的利用了android系统的网络资源。

实例2、在android系统的终端上,用户要下载一些比较大的数据包时,则可

以通过多个网络接口下载数据包,配置路由。数据包一路通过WIFI,一路

通过 3G/LTE,同时从两个网络接口接收数据报文,提高了下载速度,使

网络负载均衡。

实例3、在android系统的终端上,在WIFI网络不能连到外网的情况下,这

时3G/LTE网络并存是很有必要的,如果没有3G/LTE这个网络是无法访问

的,这时体现了多网卡能够同时并存通信的必要性。 internet

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,

凡在本申请技术方案的精神和原则之内,所做的

均应包含在本申请保护的范围之内。 任何修改、等同替换、改进等,

2024年10月13日发(作者:孔寄柔)

(19)中华人民共和国国家知识产权局

(12)发明专利说明书

(21)申请号 CN2.8

(22)申请日 2014.05.19

(71)申请人 普天信息技术有限公司

地址 100080 北京市海淀区海淀北二街6号

(72)发明人 霍平 张凡 姜涌

(74)专利代理机构 北京德琦知识产权代理有限公司

代理人 王民盛

(51)

H04L29/08

H04W76/02

(10)申请公布号 CN 103973800 A

(43)申请公布日 2014.08.06

权利要求说明书 说明书 幅图

(54)发明名称

一种基于安卓系统的双网卡并存的

实现方法

(57)摘要

本申请公开了一种基于安卓系统的

双网卡并存通信方法,包括:应用层分别

调用这启用移动数据函数和启用WIFI函数

实现移动网络和WIFI网络的开启;建立新

网络连接后,判断是否已激活两个默认网

络,若是,保留这个新连接的网络并且保

留它的网络状态信息,使这个新的网络和

原网络并存并结束本流程,否则,判断网

络传输唤醒锁定变量是否是保持状态,若

是,设置时间延迟关闭屏幕,否则更新激

活默认网络变量实现新网络连接,重新设

置正在运行的网络类型,同时更新其他的

变量;设置拆解请求为否并更新网络设

置;更新路由设置、域名系统设置、网络

接口设置和连接属性;切换到新连接的网

络并发送一个广播消息给网络状态服务通

知网络接口名称发生改变。

法律状态

法律状态公告日

法律状态信息

未缴年费专利权终止IPC(主分

类):H04L29/08专利

2023-05-26

号:ZL2申请

日:20140519授权公告

日:20171208

法律状态

专利权的终止

权 利 要 求 说 明 书

1.一种基于安卓系统的双网卡并存通信方法,其特征在于,包括:

A、应用层分别调用这启用移动数据函数和启用WIFI函数实现移动网络和wifi

B、建立新网络连接后,判断是否已激活两个默认网络,若是,保留这个新连接

的网络并且保留它的网络状态信息,使这个新的网络和原网络并存并

则,执行步骤C;

网络的开启;

结束本流程,否

C、判断网络传输唤醒锁定变量是否是保持状态,若是,设置时间延迟关闭屏幕,

D、更新激活默认网络变量实现新网络连接,重新设置正在运行的网络类型,同

E、设置拆解请求为否并更新网络设置;

F、更新路由设置、域名系统设置、网络接口设置和连接属性;切换到新连接的网

络并发送一个广播消息给网络状态服务,用于通知网络接口名称发生

时更新其他的变量;

然后执行步骤D,否则直接执行步骤D;

改变。

2.根据权利要求1所述的方法,其特征在于,步骤A包括:

通过java中的反射实现调用到连接管理器类中的启动移动数据函数;

使能移动网络后,发送一条设置移动数据事件消息至连接服务模块的消息处理单

元;所述消息处理单元连接接入点,通过动态主机配置协议获得IP

rmnet_usb0。 地址,配置

3.根据权利要求1所述的方法,其特征在于,步骤A包括:

调用Wifi服务模块中的启用wifi函数使能wifi,wifi服务模块接着向自身发送一

wifi服务模块加载wifi内核驱动模块,然后启动wpa_supplicant程序;

wpa_supplicant程序完成接入点扫描,扫描后将扫描结果通过事件通知framework

framework层的wifi状态追踪器创建wifi监视器接收来自底层的事件,Wifi监视

器负责从wpa_supplicant程序接收事件通知,Wifi监视器把命令下发

程序,配置并连接接入点,获取IP地址。

层;

条CMD_WIFI_TOGGLED消息;

给wpa_supplicant

4.根据权利要求1所述的方法,其特征在于,步骤B所述判断是否已激活两个

默认网络之前,进一步包括:判断新连接的网络类型是否是默认的网

所述判断是否已激活两个默认网络的步骤,否则络,若是,执行

执行步骤F。

5.根据权利要求1所述的方法,其特征在于,步骤B为:

建立新网络连接后,判断激活默认网络变量是否已经设置并且新连接的网络类型

不等于这个激活默认网络变量已激活的网络类型,若满足以上条件保

网络并且保留它的网络状态信息,使这个新的网

执行步骤C。

留这个新连接的

络和原网络并存并结束本流程,否则,

说 明 书

技术领域

本申请涉及移动通信技术领域,尤其涉及一种基于安卓(android)系统的双网卡

背景技术

Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,

如智能手机和平板电脑。现有大部分移动设备具有多块网卡,如通过

(WIFI)方式接入互联网络的WIFI网卡以及通过移动通

3g/LTE网卡。

并存的实现方法。

局域无线网络

信网络方式接入互联网络的

由于WIFI网络可以免费使用,而3g/LTE网络通常是按照流量计费,现有的

android 系统联网策略通常是WIFI优先,在同一时刻只允许一个网络

说,打开WIFI网络的时候系统默认就会把3G

再开3G网络,系统也会再把3g

默认只使用WIFI网

接口进行通信。具体地

网络给关闭或者是当先打开WIFI网络

关闭;WIFI网络和3g网络同时存在的情况下,系统

络,不允许多网卡同时并存。

然而在实际应用中常常需要多个网卡同时并存,以下列举几个可能的应用场景:

1、不少公司或组织比如银行、税务等都有自己的内部专网(WIFI),日常工作中

经常会碰到需要同时访问内外网的问题,比如在内网上干活,外网(3g/LTE)

料,或者和其他人交换信息等;

上查资

2、当用户的wifi信号很差时、很微弱时,已经无法访问internet,这时系统也不

会自动切换到3g/LTE网络访问internet;

3、当用户有特殊需要,数据业务根据业务类型做多接口分流处理,这时需要多网

4、WIFI带宽受限,希望多网卡同时工作,提高下载速度,负载均衡,提升网络

发明内容

本申请提供了一种基于安卓系统的双网卡并存的实现方法,可以实现两个网卡同

本申请实施例提供的一种基于安卓系统的双网卡并存通信方法,包括:

A、应用层分别调用这启用移动数据函数和启用WIFI函数实现移动网络和wifi

B、建立新网络连接后,判断是否已激活两个默认网络,若是,保留这个新连接

的网络并且保留它的网络状态信息,使这个新的网络和原网络并存并结束本

则,执行步骤C;

网络的开启;

时工作。

资源利用率。

卡通信;

流程,否

C、判断网络传输唤醒锁定变量是否是保持状态,若是,设置时间延迟关闭屏幕,

D、更新激活默认网络变量实现新网络连接,重新设置正在运行的网络类型,同

E、设置拆解请求为否并更新网络设置;

时更新其他的变量;

然后执行步骤D,否则直接执行步骤D;

F、更新路由设置、域名系统设置、网络接口设置和连接属性;切换到新连接的网

较佳地,步骤A包括:

通过java中的反射实现调用到连接管理器类中的启动移动数据函数;

使能移动网络后,发送一条设置移动数据事件消息至连接服务模块的消息处理单

元;所述消息处理单元连接接入点,通过动态主机配置协议获得IP地址,

rmnet_usb0。

络并发送一个广播消息给网络状态服务,用于通知网络接口名称发生改变。

配置

较佳地,步骤A包括:

调用Wifi服务模块中的启用wifi函数使能wifi,wifi服务模块接着向自身发送一

wifi服务模块加载wifi内核驱动模块,然后启动wpa_supplicant程序;

wpa_supplicant程序完成接入点扫描,扫描后将扫描结果通过事件通知framework

framework层的wifi状态追踪器创建wifi监视器接收来自底层的事件,而Wifi监

较佳地,步骤B所述判断是否已激活两个默认网络之前,进一步包括:判断新连

接的网络类型是否是默认的网络,若是,执行所述判断是否已激活两个默认

视器负责从wpa_supplicant程序接收事件通知,Wifi监视器把命令下发给

wpa_supplicant程序,配置并连接接入点,获取IP地址。

层;

条CMD_WIFI_TOGGLED消息;

网络的步

骤,否则执行步骤F。

较佳地,步骤B为:

建立新网络连接后,判断激活默认网络变量是否已经设置并且新连接的网络类型

不等于这个激活默认网络变量已激活的网络类型,

网络并且保留它的网络状态信息,

执行步骤C。

若满足以上条件保留这个新连接的

使这个新的网络和原网络并存并结束本流程,否则,

从以上技术方案可以看出,通过不同于现有技术的网络连接处理流程实现双网卡

同时开启并且分别建立网络连接,在此基础上可以进一步实现双网卡并存通

提高网络的使用率或者基于android的内网和外网同时访问。 信;从而

附图说明

图1为本申请实施例提供的双网卡启动整体实现流程示意图;

图2为现有技术启动双网卡启动网络状态图;

图3为本申请实施例中启动双网卡启动网络状态图。

具体实施方式

本申请的设计思想是:在原有android系统的网络架构设计机制的基础下对网络进

行改造,从而实现多网卡并存的网络架构,提出支持LTE/3G、WLAN等多

并存通信的网络总体架构。 网融合、

为使本申请技术方案的技术原理、特点以及技术效果更加清楚,以下结合具体实

施例对本申请技术方案进行详细阐述。

根据用户策略开启双网卡,实现双网卡并存通信的网络架构是本申请的核心

部分。下面将详细讲述关于移动网络和wifi网络是如何开启的,及两个网

并存。 络如何

双网卡启动过程:

应用层分别调用这两个函数:启用移动数据(setMobileDataEnabled)和启用

WIFI(setWifiEnable)实现移动网络和wifi网络的开启。下面简要说明移动网

wifi网络开启过程。 络、

开启移动网络(LTE/3G)流程说明:

当开启移动网络时,应用程序会调用连接管理器启用移动数据

(ileDataEnable)方法,但是这个方法被定义为私

(private)类型,系统级的应用才能调用。本申请实施例中通过如下方

级的应用调用:通过java中的反射就可以实现调用到连接管式实现用户

理器

使能

(ConnectivityManager)类中的启动移动数据(setMobileDataEnable)函数。

移动网络后,接着会发送一条设置移动数据事件

消息,连接服

并处理这条消

通过动

(EVENT_SET_MOBILE_DATA)

务(ConnectivityService)的消息处理单元(handleMessage)将接收

息,在处理该消息的代码中做真正的使能工作:连接接入点(APN),

态主机配置协议(DHCP,Dynamic Host Configuration Protocol)获得IP地

开启wifi流程说明:

址,配置rmnet_usb0使得移动网络状态为已连接,至此移动网络使能完成。

当开启wifi时,应用程序会调用Wifi服务(WifiService)模块中的启用wifi

(setWifiEnable)函数使能wifi,WifiService模块接着向自身发送一条

CMD_WIFI_TOGGLED消息,在处理该消息的代码中做真正的使能工作:

载wifi内核驱动模块,然后启动wpa_supplicant程序

闭wpa_supplicant),wpa_supplicant程序主要是

通过事件通知framework层,在

会创建wifi监视器

首先加

(WifiService负责启动和关

完成AP扫描,扫描后将扫描结果

framework层的wifi状态追踪器(wifiStateTracker)

(WifiMonitor)接收来自底层的事件,而WifiMonitor负责从

wpa_supplicant接收事件通知,同时WifiMontior监视线程会把命令下发给

wpa_supplicant,配置AP,连接AP,获取IP地址,wifi状态为已连接,至

使能完成。 此wifi

在两个网卡都启动后,本申请实施例通过修改framework层的网络连接处理流

程而实现双网卡共存。本申请实施例提供的双网卡启动整体实现流程如图1

包括如下步骤: 所示,

步骤101:判断新连接的网络类型是否是默认的网络(默认的网络指的是wifi

或移动网络,即本申请所要开启的双网卡对应的网络),如果这个网络是默

网络,继续步骤102,否则跳转到步骤107; 认的

步骤102:判断激活默认网络(mActiveDefaultNetwork)变量是否已经设置(之

前已开启过一个网络wifi或移动网络,已经处于连接状态,如果已开启过

mActiveDefaultNetwork值为是1或0,否则值为-1),并且新

等于这个mActiveDefaultNetwork已激活的网络类型,

连接的网络并且保留它的网络状态信息,

流程;否则说明之前没有开启过任

网络,

连接的网络类型不

如果条件满足则保留这个新

使这个新的网络和原网络并存,结束本

何网络,将继续步骤103;

步骤103:使能同步处理函数,该函数的具体处理过程包括:首先判断网络传

输唤醒锁定(mNetTransitionWakeLock)变量是否是保持(held)状态,这里是

判断屏幕是否亮着,若亮着,一秒之后关闭屏幕,之所以一秒钟之后关闭是

应用程序连接新网络所用的时间; 留给

步骤104:更新激活默认网络(mActiveDefaultNetwork)变量实现新网络连接,

步骤105:设置拆解(teardown)请求为否,不关闭网络;

步骤106:更新网络设置;这一步主要是从系统属性里面读出要连接的那个网

络的属性信息,然后把它写到安卓系统的内核

重新设置正在运行的网络类型,同时更新其他的变量;

(kernel)里;

步骤107:改变网络连接,主要包括更新路由设置、域名系统设置、网络接口

步骤108:发送一个广播消息至网络状态服务(NetWorkStateService),用于

该流程与现有技术开启网络流程的区别:

现有技术在两个网络(wifi和3g/lte)同时开启时,虽然在网络设置界面上看

到两个网络都是开启状态,但实质上它的内部程序处理策略是优先选择wifi

程序在内部处理上是只打开了wifi,而将3g/lte关闭,这时虽

只有wifi网络可用,3g/lte是无法使用的。通过

up状态并且有IP地址,如图2所示。

通知网络接口名称发生改变。

设置和连接属性;切换到新连接的网络上;

网络,

然打开了两个网络但

查看网络状态,只有WLAN处于

本专利在启动双网卡时也是先在网络设置界面上使能了wifi和3g/lte后,程

序在内部处理上和现有技术有所区别,本专利在程序的内部会修改网络连接

理流程,使之双网并存。具体实现流程上参见图1。这样当LTE/3G、

网卡同时打开之后,用网络配置(netcfg)命令查看信息,会看

网络已经开启处于UP状态,分别为rmnet_usb0、

IP地址,WIFI还会有MAC地址。这样

IP分流和多流处理了。

的处

WLAN两个

到相应的会有两个

wlan0网络,分别被分配相应的

两个网络已经同时开启,这样就可以进行

LTE/3G、WLAN网卡启动之后的信息,如图3所示。

在双网络并存的情况下,可以进行多网协同分流、多流并发和单业务双网分

实例1:分应用指定网络接口上网。

首先选择浏览器1,通过程序获取这个应用的用户id并将其网络出去的接口

配置到WIFI网络接口上,配置好之后设定其相应的路由策略,然后再选择

2,同样是通过程序获取这个应用的用户id,再将其出去的接

络接口上,分别打开浏览器1和浏览器2上网,它们的

3G/LTE出去,可以用tcpdump抓包工具查看两

多网协同多流并发这项技术,充分、

流,此外还可以实现内网、外网同时访问。下面具体列举一些实例:

浏览器

口配置到3G/LTE网

数据包分别通过WIFI和

个网络接口的数据。在这里体现了

有效的利用了android系统的网络资源。

实例2、在android系统的终端上,用户要下载一些比较大的数据包时,则可

以通过多个网络接口下载数据包,配置路由。数据包一路通过WIFI,一路

通过 3G/LTE,同时从两个网络接口接收数据报文,提高了下载速度,使

网络负载均衡。

实例3、在android系统的终端上,在WIFI网络不能连到外网的情况下,这

时3G/LTE网络并存是很有必要的,如果没有3G/LTE这个网络是无法访问

的,这时体现了多网卡能够同时并存通信的必要性。 internet

以上所述仅为本申请的较佳实施例而已,并不用以限制本申请的保护范围,

凡在本申请技术方案的精神和原则之内,所做的

均应包含在本申请保护的范围之内。 任何修改、等同替换、改进等,

发布评论

评论列表 (0)

  1. 暂无评论