一种网络切换方法、装置和终端与流程

文档序号:12839555阅读:200来源:国知局
一种网络切换方法、装置和终端与流程

本发明涉及无线通信领域的切换技术,尤其涉及一种网络切换方法、装置和终端。



背景技术:

在手机网络游戏过程中,如果发生无线(wifi,wirelessfidelity)网络和移动通信网络切换,游戏通长会断线再重连,从而丢失原来的游戏数据。这种断线重连有时会导致超时从而游戏异常,如“炉石”等游戏,在射击游戏等对网络实时要求比较高的场合,3到5秒的网络切换会引起误判从而游戏异常。

在虚拟用户识别模块(sim,subscriberidentitymodule)卡设备中,可以根据所在地的地理位置等信息切换虚拟sim卡,切换网络减少资费;但如果在如汽车之类的运动设备中,网络会经常性断开重连,经常性的断线重连会极大地影响用户体验。

在移动终端中,wifi网络被虚拟成一张网卡,移动网络被虚拟成第二张网卡。在网络切换时,现有技术(公开号为cn102655664a的专利设申请)通过设置信号强度切换阈值,来确定切换网络的时机,基本可以满足使用浏览器和下载软件等,对网络实时性要求不高的软件的使用要求;但这种方法会断开传输控制协议(tcp,transmissioncontrolprotocol)连接,然后重新连接,实际上中间有个断网过程;无法满足对实时性有较高要求的应用情况。



技术实现要素:

有鉴于此,本发明实施例期望提供一种网络切换方法、装置和终端,基于互联网协议(ip,internetprotocol)层无缝切换网络,避免心跳包丢失及网络重新连接,实现网络切换对应用程序透明,提升用户使用体验。

为达到上述目的,本发明的技术方案是这样实现的:

本发明实施例提供了一种网络切换方法,所述方法包括:设置中间网络适 配器;所述方法还包括:

将所述中间网络适配器与第一网络的连接设置为第一路由路径,将所述中间网络适配器与第二网络的连接设置为第二路由路径;

当切换所述第一路由路径和第二路由路径时,保持所述中间网络适配器的ip地址和端口号不变。

上述方案中,所述设置中间网络适配器,包括:在所述中间网络适配器上设置2个以上的外网接口。

上述方案中,所述将所述中间网络适配器与第一网络的连接设置为第一路由路径,将所述中间网络适配器与第二网络的连接设置为第二路由路径,包括:

将所述中间网络适配器的第一外网接口连接与所述第一网络相连的第一虚拟网络适配器,并将所述中间网络适配器与第一虚拟网络适配器的连接确定为第一路由路径;

将所述中间网络适配器的第二外网接口连接与所述第二网络相连的第二虚拟网络适配器,并将所述中间网络适配器与第二虚拟网络适配器的连接确定为第二路由路径;

上述方案中,所述切换所述第一路由路径和第二路由路径包括:

当所述第一网络失去连接时,通过所述第二路由路径切换到所述第二网络;或,

当所述第二网络失去连接时,通过所述第一路由路径切换到所述第一网络。

上述方案中,所述设置中间网络适配器,包括:设置一个第三虚拟网络适配器作为中间网络适配器。

本发明实施例还提供了一种网络切换装置,所述装置包括:中间网络适配模块和第一设置模块;其中,

所述第一设置模块,用于将所述中间网络适配模块与第一网络的连接设置为第一路由路径,将所述中间网络适配模块与第二网络的连接设置为第二路由路径;

所述中间网络适配模块设置有两个以上的外网接口,且所述中间网络适配模块在切换所述第一路由路径和第二路由路径时保持ip地址和端口号不变。

上述方案中,所述第一设置模块,具体用于:

将所述中间网络适配模块的第一外网接口连接与所述第一网络相连的第一虚拟网络适配器,并将所述中间网络适配模块与第一虚拟网络适配器的连接确定为第一路由路径;

将所述中间网络适配模块的第二外网接口连接与所述第二网络相连的第二虚拟网络适配器,并将所述中间网络适配模块与第二虚拟网络适配器的连接确定为第二路由路径;

上述方案中,所述第一设置模块,具体用于:

当所述第一网络失去连接时,通过所述第二路由路径切换到所述第二网络;或,

当所述第二网络失去连接时,通过所述第一路由路径切换到所述第一网络。

上述方案中,所述中间网络适配模块为设置的第三虚拟网络适配器。

本发明实施例还提供了一种终端,所述终端包括网络切换装置;所述网络切换装置包括:中间网络适配模块和第一设置模块;其中,

所述第一设置模块,用于将所述中间网络适配模块与第一网络的连接设置为第一路由路径,将所述中间网络适配模块与第二网络的连接设置为第二路由路径;

所述中间网络适配模块设置有两个以上的外网接口,且所述中间网络适配模块在切换所述第一路由路径和第二路由路径时保持ip地址和端口号不变;

所述中间网络适配模块为设置的第三虚拟网络适配器。

本发明实施例所提供的网络切换方法、装置和终端,设置中间网络适配器;将所述中间网络适配器与第一网络的连接设置为第一路由路径;将所述中间网络适配器与第二网络的连接设置为第二路由路径;当切换所述第一路由路径和第二路由路径时,保持所述中间网络适配器的ip地址和端口号不变。如此,能通过中间网络适配器切换网络路由路径实现基于ip层无缝切换网络,避免心跳包丢失及网络重新连接,实现网络切换对应用程序透明,提升用户使用体验。

附图说明

图1为本发明实施例网络切换方法的流程示意图;

图2为本发明实施例路由路径结构示意图;

图3为本发明实施例网络切换装置的组成结构示意图。

具体实施方式

本发明实施例中,设置中间网络适配器;将所述中间网络适配器与第一网络的连接确定为第一路由路径;将所述中间网络适配器与第二网络的连接确定为第二路由路径;当切换所述第一路由路径和第二路由路径时,保持所述中间网络适配器的ip地址和端口号不变。

下面结合实施例对本发明再作进一步详细的说明。

本发明实施例提供的网络切换方法,如图1所示,包括:

步骤101:设置中间网络适配器;

通常,在终端中,wifi网络被虚拟成第一虚拟网络适配器,移动通信网络被虚拟成第二虚拟网络适配器;这里,可以再配置一个第三虚拟网络适配器作为中间网络适配器;所述中间网络适配器可以设置有两个外网接口,用于同时连接第一虚拟网络适配器和第二虚拟网络适配器;应用程序可以通过中间网络适配器进行网络访问;

实际应用中,可以在androidlinux终端中,注册一个网络适配器驱动和注册对应的网络设备,不论设备是否真的存在,操作系统就会认为存在一个网络适配器,可以通过这种方式实现一个虚拟的网络适配器。

步骤102:将所述中间网络适配器与第一网络的连接设置为第一路由路径;将所述中间网络适配器与第二网络的连接设置为第二路由路径;当切换所述第一路由路径和第二路由路径时,保持所述中间网络适配器的ip地址和端口号不变;

这里,如图2所示,第一虚拟网络适配器和第一网络连接,可以将所述中间网络适配器与第一网络的连接设置为第一路由路径,中间网络适配器可以通过第一网络进行网络访问;第二虚拟网络适配器和第二网络连接,可以将所述所述中间网络适配器与第二网络的连接设置为第二路由路径,中间网络适配器 可以通过第二网络进行网络访问;其中第一网络可以是wifi网络,第二网络可以是第二代(2g,2ndgeneration)、第三代(3g,3rdgeneration)或第四代(4g,4thgeneration)无线通信网络;

这样,中间网络适配器与现有的第一虚拟网络适配器和第二虚拟网络适配器形成了一个虚拟路由器,应用程序可以通过这个虚拟路由器访问网络,通过第一网络或第二网络接入互联网;当发生第一网络到第二网络的切换时,假设应用程序正在使用第一路由路径进行数据业务,应用程序发送的心跳包到达远程服务器,远程服务器会通过第一路由路径发送确认包到应用程序;如果在远程服务器发送确认包时发生网络切换,对应用程序来说,实际上只是发生了路由切换,路由器会将确认包通过第二路由路径发送给应用程序,应用程序依然能够收到正确的确认包;同样,如果在远程服务器发送确认包时发生在第二网络到第一网络的切换时,路由器会将确认包通过第一路由路径发送给应用程序;由于采用了路由路径切换的方法,在切换过程中,中间网络适配器的ip地址和端口不会发生变化,因此,对应用程序来说所述第一网络到第二网络的切换或第二网络到第一网络的切换发生在ip层,对于tcp连接来说,就相当于没有发生过网络断网的问题,在应用程序端就不会出现断网重连的问题。

实际应用中,在androidlinux设备中,内核已经对路由器相关的算法提供了支持,可以用相关命令设置路由规则即可实现虚拟的中间网络适配器与现有的wifi网络和移动通讯网络的路由功能。

本发明实施例提供的网络切换装置,如图3所示,包括:中间网络适配模块31和第一设置模块32;其中,

通常,在终端中,wifi网络被虚拟成第一虚拟网络适配器,移动通信网络被虚拟成第二虚拟网络适配器;这里,可以再配置一个第三虚拟网络适配器作为中间网络适配模块31;所述中间网络适配模块31可以设置有两个外网接口,用于同时连接第一虚拟网络适配器和第二虚拟网络适配器;应用程序可以通过中间网络适配模块31进行网络访问;

实际应用中,可以在androidlinux终端中,注册一个网络适配器驱动和注册对应的网络设备,不论设备是否真的存在,操作系统就会认为存在一个网络适配器,可以通过这种方式实现一个虚拟的网络适配器。

所述第一设置模块32,用于将所述中间网络适配模块31与第一网络的连 接设置为第一路由路径,将所述中间网络适配模块31与第二网络的连接设置为第二路由路径;当切换所述第一路由路径和第二路由路径时,保持所述中间网络适配模块31的ip地址和端口号不变;

这里,如图2所示,中间网络适配模块31即为中间网络适配器,第一虚拟网络适配器和第一网络连接,可以将所述中间网络适配模块31与第一网络的连接设置为第一路由路径,中间网络适配模块31可以通过第一网络进行网络访问;第二虚拟网络适配器和第二网络连接,可以将所述所述中间网络适配模块31与第二网络的连接设置为第二路由路径,中间网络适配模块31可以通过第二网络进行网络访问;其中第一网络可以是wifi网络,第二网络可以是2g、3g或4g无线通信网络;

这样,中间网络适配模块31与现有的第一虚拟网络适配器和第二虚拟网络适配器形成了一个虚拟路由器,应用程序可以通过这个虚拟路由器访问网络,通过第一网络或第二网络接入互联网;当发生第一网络到第二网络的切换时,假设应用程序正在使用第一路由路径进行数据业务,应用程序发送的心跳包到达远程服务器,远程服务器会通过第一路由路径发送确认包到应用程序;如果在远程服务器发送确认包时发生网络切换,对应用程序来说,实际上只是发生了路由切换,路由器会将确认包通过第二路由路径发送给应用程序,应用程序依然能够收到正确的确认包;同样,如果在远程服务器发送确认包时发生在第二网络到第一网络的切换时,路由器会将确认包通过第一路由路径发送给应用程序;由于采用了路由路径切换的方法,在切换过程中,中间网络适配模块31的ip地址和端口不会发生变化,因此,对应用程序来说所述第一网络到第二网络的切换或第二网络到第一网络的切换发生在ip层,对于tcp连接来说,就相当于没有发生过网络断网的问题,在应用程序端就不会出现断网重连的问题。

实际应用中,在androidlinux设备中,内核已经对路由器相关的算法提供了支持,可以用相关命令设置路由规则即可实现虚拟的中间网络适配模块31与现有的wifi网络和移动通讯网络的路由功能。

在实际应用中,中间网络适配模块31和第一设置模块32均可由终端的中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)、或现场可编程门阵列(fpga)等实现。

本发明实施例提供的终端,所述终端包括网络切换装置,如图3所示,所述装置包括:中间网络适配模块31和第一设置模块32;其中,

通常,在终端中,wifi网络被虚拟成第一虚拟网络适配器,移动通信网络被虚拟成第二虚拟网络适配器;这里,可以再配置一个第三虚拟网络适配器作为中间网络适配模块31;所述中间网络适配模块31可以设置有两个外网接口,用于同时连接第一虚拟网络适配器和第二虚拟网络适配器;应用程序可以通过中间网络适配模块31进行网络访问;实际应用中,可以在androidlinux终端中,注册一个网络适配器驱动和注册对应的网络设备,不论设备是否真的存在,操作系统就会认为存在一个网络适配器,可以通过这种方式实现一个虚拟的网络适配器。

所述第一设置模块32,用于将所述中间网络适配模块31与第一网络的连接设置为第一路由路径,将所述中间网络适配模块31与第二网络的连接设置为第二路由路径;当切换所述第一路由路径和第二路由路径时,保持所述中间网络适配模块31的ip地址和端口号不变;

这里,如图2所示,中间网络适配模块31即为中间网络适配器,第一虚拟网络适配器和第一网络连接,可以将所述中间网络适配模块31与第一网络的连接设置为第一路由路径,中间网络适配模块31可以通过第一网络进行网络访问;第二虚拟网络适配器和第二网络连接,可以将所述所述中间网络适配模块31与第二网络的连接设置为第二路由路径,中间网络适配模块31可以通过第二网络进行网络访问;其中第一网络可以是wifi网络,第二网络可以是2g、3g或4g无线通信网络;

这样,中间网络适配模块31与现有的第一虚拟网络适配器和第二虚拟网络适配器形成了一个虚拟路由器,应用程序可以通过这个虚拟路由器访问网络,通过第一网络或第二网络接入互联网;当发生第一网络到第二网络的切换时,假设应用程序正在使用第一路由路径进行数据业务,应用程序发送的心跳包到达远程服务器,远程服务器会通过第一路由路径发送确认包到应用程序;如果在远程服务器发送确认包时发生网络切换,对应用程序来说,实际上只是发生了路由切换,路由器会将确认包通过第二路由路径发送给应用程序,应用程序依然能够收到正确的确认包;同样,如果在远程服务器发送确认包时发生在第二网络到第一网络的切换时,路由器会将确认包通过第一路由路径发送给 应用程序;由于采用了路由路径切换的方法,在切换过程中,中间网络适配模块31的ip地址和端口不会发生变化,因此,对应用程序来说所述第一网络到第二网络的切换或第二网络到第一网络的切换发生在ip层,对于tcp连接来说,就相当于没有发生过网络断网的问题,在应用程序端就不会出现断网重连的问题。

实际应用中,在androidlinux设备中,内核已经对路由器相关的算法提供了支持,可以用相关命令设置路由规则即可实现虚拟的中间网络适配模块31与现有的wifi网络和移动通讯网络的路由功能。

在实际应用中,中间网络适配模块31和第一设置模块32均可由终端的cpu、mpu、dsp、或fpga等实现。

以上所述,仅为本发明的佳实施例而已,并非用于限定本发明的保护范围,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1