访问网络的方法和设备的制作方法
【专利摘要】本发明提供了一种访问网络的方法和设备,应用于便携式终端,所述便携式终端包括第一网络接口和第二网络接口,所述第一网络接口用于通过代理地址访问第一网络,所述第二网络接口用于访问第二网络,所述方法包括:接收访问请求,所述访问请求包含第一信息和第二信息;根据所述访问请求,判断所述第一信息所指示的地址是否包含在预定地址列表中,其中,所述预定地址列表包括所述代理地址;当判断所述地址包含在所述预定地址列表中时,指定第一网络接口作为访问接口;以及通过所述第一网络接口,访问所述第一网络。
【专利说明】访问网络的方法和设备
【技术领域】
[0001]本发明涉及信息处理的领域,更具体地,本发明涉及一种访问网络的方法和设备。【背景技术】
[0002]在诸如手机、平板电脑的便携式终端中,通常可以通过两种类型的网络的任一种来访问网络。具体地,例如,所述便携式终端可通过WAP网络接口访问WAP网络。或者,所述便携式终端可通过NET网络接口访问NET网络。
[0003]目前,大多数便携式终端(例如,基于安卓系统的原生版本的便携式终端)只能支持上述两种方式中的一种。为了使得所述便携式终端既能够支持WAP访问方式,又能够支持NET访问方式,提出了一种称为绑定(binding)的技术,将特定应用与特定网络访问方式相关联。
[0004]然而,这种技术对于用户而言不够灵活。另一方面,这种技术的实现比较复杂,涉及到安卓系统的java层、jni层、jvm虚拟机、内核层等的多个层面的代码修改,不利于开发和维护,成本较高。
【发明内容】
[0005]有鉴于上述情况,本发明提供了一种访问网络的方法和设备,其以较简单和灵活的方式使便携式终端能够访问多种网络。
[0006]根据本发明一实施例,提供了一种访问网络的方法,应用于便携式终端,所述便携式终端包括第一网络接口和第二网络接口,所述第一网络接口用于通过代理地址访问第一网络,所述第二网络接口用于访问第二网络,所述方法包括:接收访问请求,所述访问请求包含第一信息和第二信息;根据所述访问请求,判断所述第一信息所指示的地址是否包含在预定地址列表中,其中,所述预定地址列表包括所述代理地址;当判断所述地址包含在所述预定地址列表中时,指定第一网络接口作为访问接口 ;以及通过所述第一网络接口,访问所述第一网络。
[0007]所述第二信息可包含数据信息和目的地地址信息;并且,通过所述第一网络接口访问所述第一网络可包括:解析所述第二信息,以获得所述目的地地址信息;以及
[0008]通过所述第一网络接口,经由所述第一网络,访问所述目的地地址信息所指示的目的地地址。
[0009]所述第二信息可包含数据信息;并且,所述方法还可包括:当判断所述地址不包含在所述预定地址列表中时,指定第二网络接口作为访问接口 ;以及通过所述第二网络接口,经由所述第二网络,访问所述第一信息所指示的所述地址。
[0010]所述代理地址可以由所述便携式终端上安装的应用预先设定。
[0011]根据本发明另一实施例,提供了一种访问网络的设备,用于便携式终端,所述便携式终端包括第一网络接口和第二网络接口,所述第一网络接口用于通过代理地址访问第一网络,所述第二网络接口用于访问第二网络,所述设备包括:接收单元,接收访问请求,所述访问请求包含第一信息和第二信息;判断单元,根据所述访问请求,判断所述第一信息所指示的地址是否包含在预定地址列表中,其中,所述预定地址列表包括所述代理地址;第一指定单元,当判断所述地址包含在所述预定地址列表中时,指定第一网络接口作为访问接口 ;以及访问单元,通过所述第一网络接口,访问所述第一网络。
[0012]所述第二信息可包含数据信息和目的地地址信息;所述访问单元可包括:解析单元,解析所述第二信息,以获得所述目的地地址信息;以及第一地址访问单元,通过所述第一网络接口,经由所述第一网络,访问所述目的地地址信息所指示的目的地地址。
[0013]所述第二信息可包含数据信息;并且,所述设备还可包括:第二指定单元,当判断所述地址不包含在所述预定地址列表中时,指定第二网络接口作为访问接口 ;以及第二地址访问单元,通过所述第二网络接口,经由所述第二网络,访问所述第一信息所指示的所述地址。
[0014]所述便携式终端至少由内核层和应用框架层构成;所述判断单元和所述第一指定单元位于所述内核层中。。
[0015]在本发明实施例的访问网络的方法和设备中,通过将访问请求中的地址与预定设定的地址列表相比较,并根据比较结果选择不同的网络访问方式,使便携式终端能够访问多种网络。以安卓系统为例,只需对java层添加上述路由规则即可实现本发明实施例的访问网络的方法和设备。与现有技术相比,本发明实施例的访问网络的方法和设备实现更加简单和灵活,便于开发和维护,相应地降低了成本。
【专利附图】
【附图说明】
[0016]图1是图示根据本发明实施例的访问网络的方法的流程图;
[0017]图2是图示根据本发明实施例的访问网络的设备的主要配置的框图;
[0018]图3是图示用于比较原生安卓系统、现有技术对原生安卓系统的修改、以及本发明实施例的访问网络的方法对原生安卓系统的修改的协议框架示意图;以及
[0019]图4A和图4B是图示应用本发明实施例的访问网络的方法的系统和应用实例的流程图。
【具体实施方式】
[0020]以下将参考附图详细描述本发明实施例。
[0021 ] 首先,参照图1描述根据本发明实施例的访问网络的方法。
[0022]本发明实施例的访问网络的方法应用于便携式终端。所述便携式终端例如为移动电话、平板电脑等。所述便携式终端可以包括第一网络接口和第二网络接口。所述第一网络接口用于通过代理地址访问第一网络,所述第二网络接口用于直接访问第二网络。所述代理地址既可以由所述便携式终端的操作系统预先设定,也可以由用户通过所述便携式终端上安装的应用预先设定。
[0023]在以下的实施例中,将以所述第一网络接口为WAP网络接口、所述第二网络接口为NET网络接口为例进行描述。相应地,将以所述第一网络为WAP网络、所述第二网络为NET网络为例进行描述。然而,本领域技术人员能够理解,其仅为示例性的,而非限制本发明。本发明可以使用在其他各种网络中。[0024]如图1所示,在本发明实施例的访问网络的方法开始时,首先,在步骤S101,所述方法接收访问请求。具体地,所述访问请求可包含第一信息和第二信息。
[0025]更具体地,例如,当所述便携式终端通过WAP网络访问时,由于WAP网络访问需要经过特定地址(即,代理地址),因此,所述方法预先将请求访问的应用的数据分组的真正的目的地地址信息与数据信息进行封装,添加所述应用所指定的地址信息,将此地址作为路由的目的地地址。其具体处理为本领域技术人员所知,在此不再详述。
[0026]也就是说,在此情况下,所述访问请求可包含应用所指定的地址信息、以及封装后的数据信息和目的地地址信息。其中,所述第一信息可以是所述地址信息。所述第二信息可以是所述数据信息和所述目的地地址信息。
[0027]又例如,当所述便携式终端通过NET网络访问时,由于NET网络访问无需经过代理地址,因此,所述方法直接将请求访问的应用的数据分组路由至目的地地址。也就是说,在此情况下,所述第一信息可以是目的地地址信息,所述第二信息可以是数据信息。
[0028]接下来,在步骤S102,所述方法根据所述访问请求,判断所述第一信息所指示的地址是否包含在预定地址列表中。
[0029]所述预定地址列表包括所述代理地址,S卩,所述便携式终端经由所述第一网络接口访问所述第一网络所需的地址。具体地,所述预定地址列表由所述方法预先设定并保存在所述便携式终端中。例如,所述方法可以将所述预定地址列表保存在所述便携式终端的路由表中。
[0030]如果所述方法根据所述访问请求,判断所述第一信息所指示的地址包含在预定地址列表中,则所述方法进行到步骤S103。
[0031]在步骤S103,所述方法指定第一网络接口作为访问接口,并在步骤S104通过所述第一网络接口,访问所述第一网络。
[0032]也就是说,在此情况下,所述方法判断所述访问请求是对于第一网络的访问请求。
[0033]具体地,例如,所述方法可解析所述第二信息,以获得所述目的地地址信息。所述方法解析所述第二信息的方法为本领域技术人员所知,在此不再详述。
[0034]此后,所述方法通过所述第一网络接口,经由所述第一网络,访问所述目的地地址信息所指示的目的地地址。
[0035]另一方面,如果所述方法根据所述访问请求,判断所述第一信息所指示的地址不包含在预定地址列表中,则所述方法进行到步骤S105。
[0036]在步骤S105,所述方法指定第二网络接口作为访问接口,并在步骤S106通过所述第二网络接口,访问所述第二网络。
[0037]也就是说,在此情况下,所述方法判断所述访问请求是对于第二网络的访问请求。具体地,例如,所述方法可通过所述第二网络接口,经由所述第二网络,访问所述第一信息所指示的所述地址。
[0038]以上描述了本发明实施例的访问网络的方法。通过将访问请求中的地址与预定设定的地址列表相比较,并根据比较结果选择不同的网络访问方式,便携式终端能够访问多种网络。与现有技术相比,本发明实施例的访问网络的方法实现更加简单和灵活,便于开发和维护,相应地降低了成本。
[0039]下面,将描述本发明实施例的访问网络的设备。所述设备用于便携式终端。例如,所述设备可以集成于所述便携式终端中。所述便携式终端例如为移动电话、平板电脑等。所述便携式终端可以包括第一网络接口和第二网络接口。所述第一网络接口用于通过代理地址访问第一网络,所述第二网络接口用于直接访问第二网络。所述代理地址既可以由所述便携式终端的操作系统预先设定,也可以由用户通过所述便携式终端上安装的应用预先设定。
[0040]如图2所示,本发明实施例的网络访问设备200可包括接收单元201、判断单元202、第一指定单元203和访问单元204。
[0041]所述接收单元201接收访问请求。具体地,所述访问请求可包含第一信息和第二信息。
[0042]更具体地,例如,当所述便携式终端通过WAP网络访问时,由于WAP网络访问需要经过特定地址(即,代理地址),因此,所述便携式终端预先将请求访问的应用的数据分组的真正的目的地地址信息与数据信息进行封装,添加所述应用所指定的地址信息,将此地址作为路由的目的地地址。其具体处理为本领域技术人员所知,在此不再详述。
[0043]也就是说,在此情况下,所述访问请求可包含应用所指定的地址信息、以及封装后的数据信息和目的地地址信息。其中,所述第一信息可以是所述地址信息。所述第二信息可以是所述数据信息和所述目的地地址信息。
[0044]又例如,当所述便携式终端通过NET网络访问时,由于NET网络访问无需经过代理地址,因此,所述便携式终端直接将请求访问的应用的数据分组路由至目的地地址。也就是说,在此情况下,所述第一信息可以是目的地地址信息,所述第二信息可以是数据信息。
[0045]所述判断单元202根据所述访问请求,判断所述第一信息所指示的地址是否包含在预定地址列表中。
[0046]所述预定地址列表包括所述代理地址,S卩,所述便携式终端经由所述第一网络接口访问所述第一网络所需的地址。具体地,所述预定地址列表由所述设备200预先设定并保存在所述便携式终端中。例如,所述设备200可以将所述预定地址列表保存在所述便携式终端的路由表中。
[0047]当判断所述地址包含在所述预定地址列表中时,所述第一指定单元203指定第一网络接口作为访问接口。并且所述访问单元204通过所述第一网络接口,访问所述第一网络。
[0048]也就是说,在此情况下,所述设备200判断所述访问请求是对于第一网络的访问请求。
[0049]具体地,例如,所述访问单元204可包括:解析单元,解析所述第二信息,以获得所述目的地地址信息;以及第一地址访问单元,通过所述第一网络接口,经由所述第一网络,访问所述目的地地址信息所指示的目的地地址。解析处理的具体操作为本领域技术人员所知,在此不再详述。
[0050]此外,所述设备200还可包括:第二指定单元,当判断所述地址不包含在所述预定地址列表中时,指定第二网络接口作为访问接口 ;以及第二地址访问单元,通过所述第二网络接口,经由所述第二网络,访问所述第一信息所指示的所述地址。
[0051]也就是说,在此情况下,所述设备200判断所述访问请求是对于第二网络的访问请求。具体地,例如,所述设备200可通过所述第二网络接口,经由所述第二网络,访问所述第一信息所指示的所述地址。
[0052]以上描述了本发明实施例的访问网络的设备。通过将访问请求中的地址与预定设定的地址列表相比较,并根据比较结果选择不同的网络访问方式,便携式终端能够访问多种网络。与现有技术相比,本发明实施例的访问网络的设备实现更加简单和灵活,便于开发和维护,相应地降低了成本。
[0053]以下,将结合图3,以安卓系统为例,对原生安卓系统、现有技术和本发明实施例的方法进行比较。
[0054]图3示出了原生安卓系统的体系结构。如图3所示,原生安卓系统包括应用层、应用框架层、三方库和内核层。应用层是用例如Java语言编写的运行在安卓虚拟机上的程序。应用框架层是编写核心应用所使用的API框架。例如,所述应用框架层可包含活动管理器、窗口管理器、资源管理器等。三方库用于支持框架更好的为开发者服务。例如,三方库可包含界面管理器、多媒体框架等。安卓运行时(Android runtime)用于解释整个Java应用程序,使之运行在内核层上。内核层是硬件和软件的抽象层,是核心系统。例如,内核层可包含显示驱动、摄像头驱动、闪存驱动等。
[0055]此外,本领域技术人员可知,在图3所示的体系结构图中,通常,应用只能调用应用框架层提供的接口。此外,应用可以使用jni调用极少的三方库层提供的接口。
[0056]在现有的采用绑定的技术方案中,至少需要在应用框架层中增加设置代理接口、获取网络设备接口、绑定网络设备接口和撤销网络绑定接口。在所述的各接口当中,仅有设置代理接口可以完全在应用框架层里实现,不需要改动其他层。对于其他三个接口,除了修改应用框架层,还需要修改三方库里的Iibc和运行时层里的核心库子层。此外,如果内核不支持绑定网络设备,还需要修改内核层里的网络驱动。
[0057]因此,现有的技术方案对原生安卓系统的改动非常复杂,基本涉及到安卓系统的所有的系统层,而且对于应用而言,使用也非常繁琐。
[0058]与此相对,在本发明实施例的方法和设备中,仅需要在应用框架层里增加设置代理接口。在网络连接后通过调用安卓系统应用框架层的接口在系统的路由表里增加一条路由规则即可。而且,路由的添加不需要应用的参与。应用只需要调用设置自己的代理地址就可以了。也就是说,所述便携式终端至少由内核层和应用框架层构成。并且如图2所示的判断单元和所述第一指定单元位于所述内核层中。
[0059]由上述比较可见,本发明实施例的方法和设备对原生系统的改动较小,实现更加简单和灵活,便于开发和维护,相应地降低了成本。
[0060]下面,将参考图4A和图4B,描述应用本发明实施例的访问网络的方法的系统和应用实例的流程图。
[0061]参考图4A,本发明的实施例的便携终端,接受用户的触发,产生网络启动指令,启动两种网络的连接,即,第一网络为WAP网络、第二网络为NET网络。其中,在步骤S401,启动WAP网络,并在步骤S402调用应用框架层接口将WAP代理IP地址设置到路由表(即预定地址列表)中。此后,在步骤S403,所述系统在内核层增加一条路由判断规则,由此完成系统侧的处理。所述路由判断规则用于在接收访问请求时判断所述访问请求是否通过wap网络(第一网络)对应的网络接口(第一网络接口)访问网络(第一网络)。换言之,通过判断所述访问请求所包含的第一信息所指示的地址是否为wap代理IP地址从而确定是否通过wap网络所对应的网络接口访问网络。
[0062]图4B是描述应用本发明实施例的访问网络的方法的应用侧的应用实例的启动过程的处理的流程图。首先,在步骤S404,安装在便携式终端中的一应用启动。接下来,在步骤S405,所述应用判断是否使用WAP接口。当判断不使用WAP接口时,所述流程结束。在判断使用WAP接口时,所述流程进行到步骤S406。在步骤S406,所述应用调用应用框架的接口对其网络包设置代理。所述步骤S406的目的为对所述应用产生的访问请求的网络包加入所述第一信息,即代理地址。以使得本发明的实施例的便携终端在接受到访问请求时能够根据访问请求的所述第一信息进行判断是否通过wap网络接口访问网络。
[0063]也就是说,在本发明实施例的方法和设备中,仅需要在应用框架层里增加设置代理接口。在网络连接后通过调用安卓系统应用框架层的接口在系统的路由表里增加一条路由规则即可。而且,路由的添加不需要应用的参与。应用只需要通过调用应用框架的接口对其网络包设置代理就可以了。由此,本发明实施例的方法和设备对原生系统的改动较小,实现更加简单和灵活,便于开发和维护,相应地降低了成本。
[0064]需要指出的是,虽然上面以安卓系统为例进行了描述,但是,本发明不限于此,并且可以应用到其他各种类型的操作系统中。
[0065]以上,参照图1到图4描述了根据本发明实施例的访问网络的方法和设备。
[0066]需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、 物品或者设备中还存在另外的相同要素。
[0067]还需要说明的是,在本说明书中,“第一”、“第二”类似的描述仅用于描述时方便将一个单元与另一单元相区分,并不意味着其必须实现为分开的多个单元,而是可以根据需要实现为一个或多个单元。
[0068]最后,还需要说明的是,上述一系列处理不仅包括以这里所述的顺序按时间序列执行的处理,而且包括并行或分别地、而不是按时间顺序执行的处理。
[0069]通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施。基于这样的理解,本发明的技术方案对【背景技术】做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如R0M/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
[0070]在本发明实施例中,单元/模块可以用软件实现,以便由各种类型的处理器执行。举例来说,一个标识的可执行代码模块可以包括计算机指令的一个或多个物理或者逻辑块,举例来说,其可以被构建为对象、过程或函数。尽管如此,所标识模块的可执行代码无需物理地位于一起,而是可以包括存储在不同位里上的不同的指令,当这些指令逻辑上结合在一起时,其构成单元/模块并且实现该单元/模块的规定目的。
[0071]在单元/模块可以利用软件实现时,考虑到现有硬件工艺的水平,所以可以以软件实现的单元/模块,在不考虑成本的情况下,本领域技术人员都可以搭建对应的硬件电路来实现对应的功能,所述硬件电路包括常规的超大规模集成(VLSI)电路或者门阵列以及诸如逻辑芯片、晶体管之类的现有半导体或者是其它分立的元件。模块还可以用可编程硬件设备,诸如现场可编程门阵列、可编程阵列逻辑、可编程逻辑设备等实现。
[0072]以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在【具体实施方式】及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
【权利要求】
1.一种访问网络的方法,应用于便携式终端,所述便携式终端包括第一网络接口和第二网络接口,所述第一网络接口用于通过代理地址访问第一网络,所述第二网络接口用于访问第二网络,所述方法包括: 接收访问请求,所述访问请求包含第一信息和第二信息; 根据所述访问请求,判断所述第一信息所指示的地址是否包含在预定地址列表中,其中,所述预定地址列表包括所述代理地址; 当判断所述地址包含在所述预定地址列表中时,指定第一网络接口作为访问接口 ;以及 通过所述第一网络接口,访问所述第一网络。
2.如权利要求1所述的方法,其中,所述第二信息包含数据信息和目的地地址信息; 并且,通过所述第一网络接口访问所述第一网络包括: 解析所述第二信息,以获得所述目的地地址信息;以及 通过所述第一网络接口,经由所述第一网络,访问所述目的地地址信息所指示的目的地地址。
3.如权利要求1所述的方法,其中,所述第二信息包含数据信息;并且,所述方法还包括: 当判断所述地址不包含在所述预定地址列表中时,指定第二网络接口作为访问接口 ;以及 通过所述第二网络接口,经由所述第二网络,访问所述第一信息所指示的所述地址。
4.如权利要求1所述的方法,其中,所述代理地址由所述便携式终端上安装的应用预先设定。
5.一种访问网络的设备,用于便携式终端,所述便携式终端包括第一网络接口和第二网络接口,所述第一网络接口用于通过代理地址访问第一网络,所述第二网络接口用于访问第二网络,所述设备包括: 接收单元,接收访问请求,所述访问请求包含第一信息和第二信息; 判断单元,根据所述访问请求,判断所述第一信息所指示的地址是否包含在预定地址列表中,其中,所述预定地址列表包括所述代理地址; 第一指定单元,当判断所述地址包含在所述预定地址列表中时,指定第一网络接口作为访问接口 ;以及 访问单元,通过所述第一网络接口,访问所述第一网络。
6.如权利要求5所述的设备,其中,所述第二信息包含数据信息和目的地地址信息; 所述访问单元包括: 解析单元,解析所述第二信息,以获得所述目的地地址信息;以及第一地址访问单元,通过所述第一网络接口,经由所述第一网络,访问所述目的地地址信息所指示的目的地地址。
7.如权利要求5所述的设备,其中,所述第二信息包含数据信息;并且,所述设备还包括: 第二指定单元,当判断所述地址不包含在所述预定地址列表中时,指定第二网络接口作为访问接口 ;以及第二地址访问单元,通过所述第二网络接口,经由所述第二网络,访问所述第一信息所指示的所述地址。
8.如权利要求5所述的设备,其中,所述便携式终端至少由内核层和应用框架层构成;所述判断单元和所述第一指定单元 位于所述内核层中。
【文档编号】H04L29/06GK103581136SQ201210272579
【公开日】2014年2月12日 申请日期:2012年8月1日 优先权日:2012年8月1日
【发明者】曹国栋 申请人:联想(北京)有限公司