具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不是在对数量和执行次序进行限定。
还需要说明的是,本发明实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
此外,本发明实施例中,“的(英文:of)”,“相应的(英文:corresponding,relevant)”和“对应的(英文:corresponding)”有时可以混用,应当指出的是,在不强调其区别时,其所要表达的含义是一致的。
本发明的发明原理为:在移动终端接入网络时,通过判断当前网络协议地址是否在当前桌面域所对应的网段列表内,在当前网络协议地址不在当前桌面域对应的网络协议地址范围内时,使VPN处于开启状态;否则,使VPN处于关闭状态,从而实现VPN开关的自动控制,避免VPN开关的手动控制,简化用户操作,提高用户体验。
本发明实施例提供的VPN开关的控制方法的执行主体可以为VPN开关的控制装置或者用于执行上述VPN开关的控制方法的移动终端。其中,VPN开关的控制装置可以为上述移动终端中的中央处理器(Central Processing Unit,CPU)、CPU与存储器等硬件的组合、或者可以为上述终端设备中的其他控制单元或者模块。
示例性的,移动终端可以是指向用户提供语音和/或数据连通性的设备,具有无线连接功能的手持式设备、或连接到无线调制解调器的其他处理设备。移动终端可以经无线接入网(例如,RAN,Radio Access Network)与一个或多个核心网进行通信,移动终端可以是手持终端,如移动电话(或称为“蜂窝”电话)和具有移动终端的计算机,例如,可以是便携式、袖珍式、手持式、计算机内置的或者车载的移动装置,它们与无线接入网交换语言和/或数据。此外,移动终端也可以称为系统、订户单元(Subscriber Unit)、订户站(SubscriberStation),移动站(Mobile Station)、移动台(Mobile)、远程站(Remote Station)、接入点(Access Point)、远程终端(Remote Terminal)、接入终端(Access Terminal)、用户终端(User Terminal)、用户代理(User Agent)、用户设备(User Device)、或用户装备(UserEquipment)。
基于上述内容,本发明的实施例提供一种VPN开关的控制方法,用于在移动终端接入网络时对移动终端的VPN开关进行控制。
示例性的,移动终端可以通过无线保真技术(英文名称:Wireless Fidelity,简称:WIFI)或者移动通信技术接入网络中。其中,移动通信技术具体可以为:第二代移动通信技术(简称:2G)、第三代移动通信技术(简称:3G)以及第四代移动通信技术(简称:4G)等。
具体的,参照图1所示,该方法包括如下步骤:
S11、获取移动终端的当前网络协议地址。
网络协议地址(英文名称:Internet Protocol Address,简称:IP地址);IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。具体的,移动终端接入网络时,该移动终端需要一个用来指示该移动终端的网络协议地址。若移动终端中安装有用户身份识别模块(英文名称:Subscriber Identification Module,简称:SIM卡)且通过SIM卡接入网络,则移动终端的当前网络协议地址为SIM卡的网络协议地址,若移动终端通过WIFI接入网络,则移动终端的当前网络协议地址为产生该WIFI的无线线号发送设备的网络协议地址。
S12、判断当前网络协议地址是否在当前桌面域所对应的网段列表内。
桌面域(英文名称:Launcher)为系统中用户界面(英文名称:User Interface,简称:UI)的统称,是指用户和某些系统进行交互方法的集合。桌面域所对应的网段列表具体为桌面域对应的IP地址范围。此外,桌面域所对应的IP地址范围可以使连续的,也可以是间断的。
在上述步骤S2中,若当前网络协议地址在当前桌面域所对应的网段列表内,则执行步骤S3,若当前网络协议地址在当前桌面域所对应的网段列表内,则执行步骤S4。
还需要说明的是,本发明实施例中的若当前网络协议地址在当前桌面域所对应的网段列表内,则执行步骤S3,若当前网络协议地址在当前桌面域所对应的网段列表内,则执行步骤S4,并不是在当前网络协议地址在当前桌面域所对应的网段列表内时,就一定要执行步骤S3,同样也不是在当前网络协议地址在当前桌面域所对应的网段列表内时,就一定要执行步骤S4,在一些实施例中,还可能需要满足一些其他的触发条件。例如:还需要参考用户的输入信息、是否可以接入其他网络等。总的来说,这个判断结果会使得设备进入到切换的流程,但是这个切换流程并不必然的导致切换的结果。
S13、控制VPN开关使VPN处于关闭状态。
当VPN原本就处于关闭状态时,控制VPN开关使VPN处于关闭状态具体为:保持VPN开关关闭,从而使VPN处于关闭状态;当VPN原本处于开启状态时,控制VPN开关使VPN处于关闭状态具体为:控制VPN关闭,从而使VPN处于关闭状态。
S14、控制VPN开关使VPN处于开启状态。
同样,当VPN原本就处于开启状态时,控制VPN开关使VPN处于开启状态具体为:保持VPN开关开启,从而使VPN处于开启状态;当VPN原本处于关闭状态时,控制VPN开关使VPN处于开启状态具体为:控制VPN开启,从而使VPN处于开启状态。
本发明实施例提供的VPN开关的控制方法,在移动终端接入网络时首先获取移动终端的当前网络协议地址,然后判断当前网络协议地址是否在当前桌面域所对应的网段列表内;若当前网络协议地址在当前桌面域所对应的网段列表内,则控制VPN开关使VPN处于关闭状态,若当前网络协议地址不在当前桌面域所对应的网段列表内,则控制VPN开关使VPN处于开启状态。因为本发明实施例中可以根据当前网络协议地址是否在当前桌面域所对应的网段列表内自动对移动终端上的VPN开关进行控制,所以本发明实施例可以解决现有技术中移动终端上的VPN开关需要用户手动进行控制的问题。
进一步的,本发明实施例提供了一种上述步骤S2中判断当前网络协议地址是否在当前桌面域所对应的网段列表内的具体实现方式。具体的,参照图2所示,该方法包括:
S21、判断当前网络协议地址是否在本地网段列表内。
其中,本地网段列表为移动终端接入的无线网络的网段列表。
由本地网段列表定义可知,对于同一无线网络的网段列表,当移动终端接入该无线网络时,其为本地网段列表,而当移动终端没有接入网络或移动终端接入其他无线网络时,其不为本地网段列表。例如:移动终端接入中国无线网络时,中国无线网络的网络协议地址为本地网络协议地址,而当移动终端接入外国网络时,中国无线网络的网络协议地址则不为本地网络协议地址。
S22、判断当前桌面域是否为本地桌面域。
其中,本地桌面域所对应的网段列表与移动终端接入的无线网络的网段列表相同。即,当某一桌面域所对应的网段列表与移动终端接入的无线网络的网段列表相同时,该桌面域即为本发明实施例中的本地桌面域。
在上述步骤S21、S22中,若当前网络协议地址属于本地网络协议地址且当前桌面域为本地桌面域,或者当前网络协议地址不属于本地网络协议地址且当前桌面域不为本地桌面域,则确定当前网络协议地址在当前桌面域所对应的网段列表内;若当前网络协议地址属于本地网络协议地址且当前桌面域不为本地桌面域,或者当前网络协议地址不属于本地网络协议地址且当前桌面域为本地桌面域,则确定当前网络协议地址不在当前桌面域所对应的网段列表内。
即,本发明实施例中根据当前网络协议地址和当前桌面域对VNP控制逻辑如下表1所示:
表1
进一步的,以下以移动终端为手机、本地桌面域对应的网段列表为中国的无线网络的网段列表为例对上述四种状态对应的应用场景举例进行说明:
第一种、当前桌面域为本地桌面域且当前网络协议地址在本地网段列表内,此时的应用场景包括:
1.1、手机的SIM卡为中国SIM卡,并通过移动通信技术接入网络中,若当前桌面域为本地桌面域,无论手机的地理位置位于中国或外国,其当前网络协议地址均在当前桌面域所对应的网段列表内,因此控制VPN开关使VPN处于关闭状态。
1.2、手机的地理位置位于中国,并通过WIFI接入网络中,若当前桌面域为本地桌面域,无论其SIM卡为中国SIM卡或外国SIM卡,其当前的网络协议地址均在当前桌面域所对应的网段列表内,因此控制VPN开关使VPN处于关闭状态。
第二种、当前桌面域为本地桌面域且当前网络协议地址不在本地网段列表内,此时的应用场景包括:
2.1、手机的SIM卡为外国SIM卡,并通过移动通信技术接入网络中,若当前桌面域为本地桌面域,无论手机的地理位置位于中国或外国,其当前的网络协议地址均不在当前桌面域所对应的网段列表内,因此控制VPN开关使VPN处于开启状态。
2.2、手机的地理位置位于外国,并通过WIFI接入网络中,若当前桌面域为本地桌面域,无论手机的SIM卡为中国SIM卡或外国SIM卡,其当前的网络协议地址均不在当前桌面域所对应的网段列表内,因此控制VPN开关使VPN处于开启状态。
第三种、当前桌面域为不为本地桌面域且当前网络协议地址在本地网段列表内,此时的场景包括:
3.1、手机的SIM卡为外国SIM卡,并通过移动通信技术接入网络中,若当前桌面域不为本地桌面域,无论手机的地理位置位于中国或外国,其当前的网络协议地址均不在当前桌面域所对应的网段列表内,因此控制VPN开关使VPN处于开启状态。
3.2、手机的地理位置位于中国,并通过WIFI接入网络,若当前桌面域不为本地桌面域,无论手机的SIM卡为中国SIM卡或外国SIM卡,其当前的网络协议地址均不在当前桌面域所对应的网段列表内,因此控制VPN开关使VPN处于开启状态。
第四种、当前桌面域为不为本地桌面域且当前网络协议地址不在本地网段列表内,此时的场景包括:
4.1、手机的SIM卡为外国SIM卡,并通过移动通信技术接入网络中,若当前桌面域不为本地桌面域,无论手机的地理位置位于中国或外国,控制VPN开关使VPN处于关闭状态。
4.2、手机的地理位置位于外国,并通过WIFI接入网络中,若当前桌面域不为本地桌面域,无论手机的SIM卡为中国SIM卡或外国SIM卡,控制VPN开关使VPN处于关闭状态。
可选的,上述步骤S21中判断当前网络协议地址是否在本地网段列表内具体可以通过如下两种方式实现:
参照图3所示,第一种方式包括如下步骤:
S31、查询第一网段列表中是否包含当前网络协议地址。
其中,第一网段列表为移动终端内预置的本地网段列表。示例的,面向中国市场销售的手机中,可以设置有中国的网段列表,该网段列表中包含有可以接入中国网络的IP地址。
在步骤S31中,若第一网段列表中包含当前网络协议地址,则确认当前网络协议地址在本地网段列表内,若第一网段列表中不包含当前网络协议地址,则确认当前网络协议地址不在本地网段列表内。
同样,在上述步骤S31中,并不是在第一网段列表中包含当前网络协议地址时,就一定确认当前网络协议地址在本地网段列表内,也不是在第一网段列表中不包含当前网络协议地址时,就一定确认当前网络协议地址不在本地网段列表内,在一些实施例中,还可能需要满足一些其他的触发条件。即,这个判断结果会使得设备进入到切换的流程,但是这个切换流程并不必然的导致切换的结果。
即,上述实施例中VPN开关的控制装置或者用于执行上述VPN开关的控制方法的移动终端在移动终端内预置的本地网段列表内查找当前网络协议地址,当在移动终端内预置的本地网段列表内查找到当前网络协议地址时,确认当前网络协议地址在本地网段列表内,而当在移动终端内预置的本地网段列表内无法查找到当前网络协议地址时,确认当前网络协议地址不在本地网段列表内。
参照图4所示,第二种方式包括如下步骤:
S41、将当前网络协议地址发送至移动终端的后台服务器。
其中,移动终端的后台服务器是指移动终端接入的网络的服务器。例如:移动终端通过SIM卡接入中国网络,则移动终端的后台服务器为中国网络的后台服务器。再例如:移动终端通过WIFI接入外国网络,则移动终端的后台服务器为外国网络的服务器。
S42、接收移动终端的后台服务器发送的查询结果。
其中,当前网络协议地址在第二网段列表内时,查询结果为当前网络协议地址在本地网段列表内,在当前网络协议地址不在第二网段列表内时,查询结果为当前网络协议地址不在本地网段列表内,第二网段列表为移动终端的后台服务器内预置的网段列表。
即,上述实施例中VPN开关的控制装置或者用于执行上述VPN开关的控制方法的移动终端首先将当前网络协议地址发送至移动终端的后台服务器,然后由移动终端的后台服务器判断当前网络协议地址为本地网络协议地址或全球网络协议地址,最后将判断结果回复至VPN开关的控制装置或者用于执行上述VPN开关的控制方法的移动终端。
移动终端的后台服务器在其内预置的本地网段列表内查找当前网络协议地址,当在移动终端的后台服务器内预置的本地网段列表内查找到当前网络协议地址时,确认当前网络协议地址在本地网段列表内,而当在移动终端的后台服务器内预置的本地网段列表内无法查找到当前网络协议地址时,确认当前网络协议地址不在本地网段列表内。
进一步的,本发明实施例还提供了一种获取移动终端的当前网络协议地址的方法,即通过调用接口函数获取当前网络协议地址。
例如:当移动终端的操作系统为安卓(英文名称:Android)系统时,移动终端可以通过Android接口获取当前网络协议地址。
下面说明本发明实施例提供的与上文所提供的方法实施例相对应的装置实施例,同样本发明实施例提供的VPN开关的控制装置用于在移动终端接入网络时对移动终端的VPN开关进行控制。需要说明的是,下述装置实施例中相关内容的解释,均可以参考上述方法实施例。此外,移动终端也可以通过无线保真技术或者移动通信技术接入网络中。
在采用对应各个功能划分各个功能模块的情况下,图5示出了上述实施例中所涉及的VPN开关的控制装置的一种可能的结构示意图。VPN开关的控制装置500包括:
获取单元51,用于获取移动终端的当前网络协议地址。
处理单元52,用于判断当前网络协议地址是否在当前桌面域所对应的网段列表内。
控制单元53,用于在当前网络协议地址在当前桌面域所对应的网段列表内时,控制VPN开关使VPN处于关闭状态;在当前网络协议地址不在当前桌面域所对应的网段列表内时,控制VPN开关使VPN处于开启状态。
即,获取单元51用于实现图1所示的步骤S1中获取移动终端的当前网络协议地址的功能。处理单元52用于实现图1所示的步骤S2中判断当前网络协议地址是否在当前桌面域所对应的网段列表内的功能。处理单元53用于实现根据处理单元52判断结果对VPN开关进行控制进而控制VPN状态的功能。
可选的,进一步的,处理单元52具体用于支持VPN开关的控制装置500执行图2所示的前桌面域类型判断方法中的各个步骤。即,
处理单元52具体用于判断当前网络协议地址是否在本地网段列表内以及判断当前桌面域是否为本地桌面域;其中,本地网段列表为移动终端接入的无线网络的网段列表;本地桌面域所对应的网段列表与移动终端接入的无线网络的网段列表相同;
若当前网络协议地址属于本地网络协议地址且当前桌面域为本地桌面域,或者当前网络协议地址不属于本地网络协议地址且当前桌面域不为本地桌面域,则处理单元52确定当前网络协议地址在当前桌面域所对应的网段列表内;
若当前网络协议地址属于本地网络协议地址且当前桌面域不为本地桌面域,或者当前网络协议地址不属于本地网络协议地址且当前桌面域为本地桌面域,则处理单元52确定当前网络协议地址不在当前桌面域所对应的网段列表内。
进一步的,处理单元52具体用于支持VPN开关的控制装置500执行图3或4所示的前桌面域类型判断方法中的各个步骤。即,
处理单元52具体用于查询第一网段列表中是否包含当前网络协议地址;若是,确认当前网络协议地址在本地网段列表内;若否,确认当前网络协议地址不在本地网段列表内;
其中,第一网段列表为移动终端内预置的网段列表。
或者;处理单元52包括:发送模块和接收模块;
发送模块,用于将当前网络协议地址发送至移动终端的后台服务器;
接收模块,用于接收移动终端的后台服务器发送的查询结果;
其中,当前网络协议地址在第二网段列表内时,所述查询结果为当前网络协议地址在本地网段列表内,在所述当前网络协议地址不在第二网段列表内时,所述查询结果为当前网络协议地址不在本地网段列表内,所述第二网段列表为所述移动终端的后台服务器内预置的网段列表。
再进一步的,获取单元51具体可以通过调用接口函数获取当前网络协议地址。
还需说明的是,上述方法实施例涉及的各步骤的所有相关内容均可以援引到对应功能模块的功能描述,在此不再赘述。
在硬件实现上,上述的获取单元51、处理单元52以及控制单元53可以是处理器。上述VPN开关的控制装置所执行的动作所对应的程序均可以以软件形式存储于VPN开关的控制装置的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在采用集成的单元的情况下,图6示出了上述实施例中所涉及的移动终端的一种可能的结构示意图。移动终端600包括:处理器61、存储器62、系统总线63、通信接口64以及VPN开关65。
上述处理器61可以是一个处理器,也可以是多个处理元件的统称。例如,处理器61可以为中央处理器(central processing unit,CPU)。处理器61也可以为其他通用处理器、数字信号处理器(digital signal processing,DSP)、专用集成电路(applicationspecific integrated circuit,ASIC)、现场可编程门阵列(field-programmablegatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其可以实现或执行结合本发明公开内容所描述的各种示例性的逻辑方框,模块和电路。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。处理器61还可以为专用处理器,该专用处理器可以包括基带处理芯片、射频处理芯片等中的至少一个。处理器也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等等。进一步地,该专用处理器还可以包括具有该装置其他专用处理功能的芯片。
存储器62用于存储计算机执行代码,处理器61与存储器62通过系统总线63连接,当移动终端运行时,处理器61用于执行存储器62存储的计算机执行代码,以执行本发明实施例提供的任意一种VPN开关的控制方法,如,处理器61用于支持移动终端执行图1、2、3、4中的全部步骤,和/或用于本文所描述的技术的其它过程,具体的VPN开关的控制方法可参考下文及附图中的相关描述,此处不再赘述。
系统总线63可以包括数据总线、电源总线、控制总线和信号状态总线等。本实施例中为了清楚说明,在图6中将各种总线都示意为系统总线63。
通信接口64具体可以是该装置上的收发器。该收发器可以为无线收发器。例如,无线收发器可以是该装置的天线等。处理器61通过通信接口64与其他设备,例如,若该装置为该终端设备中的一个模块或组件时,该装置用于与该终端设备中的其他模块之间进行数据交互。
结合本发明公开内容所描述的方法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。本发明实施例还提供一种存储介质,用于储存为图6所示的移动终端所用的计算机软件指令,其包含执行图1、2、3、4所示的VPN开关的控制方法所设计的程序代码。其中,软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(英文:random access memory,缩写:RAM)、闪存、只读存储器(英文:read onlymemory,缩写:ROM)、可擦除可编程只读存储器(英文:erasable programmable ROM,缩写:EPROM)、电可擦可编程只读存储器(英文:electrically EPROM,缩写:EEPROM)、寄存器、硬盘、移动硬盘、只读光盘(CD-ROM)或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。另外,该ASIC可以位于核心网接口设备中。当然,处理器和存储介质也可以作为分立组件存在于核心网接口设备中。
本发明实施例还提供一种计算机程序,该计算机程序可直接加载到计算机的内部存储器中,并含有软件代码,计算机程序经由计算机载入并执行后能够实现图1、2、3、4所示的VPN开关的控制方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。