CN104580192B - 应用程序的网络访问请求的处理方法和装置 - Google Patents

应用程序的网络访问请求的处理方法和装置 Download PDF

Info

Publication number
CN104580192B
CN104580192B CN201410850791.7A CN201410850791A CN104580192B CN 104580192 B CN104580192 B CN 104580192B CN 201410850791 A CN201410850791 A CN 201410850791A CN 104580192 B CN104580192 B CN 104580192B
Authority
CN
China
Prior art keywords
access request
network access
request
network
destination
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410850791.7A
Other languages
English (en)
Other versions
CN104580192A (zh
Inventor
洪珂
林漳坤
陈鸿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201410850791.7A priority Critical patent/CN104580192B/zh
Publication of CN104580192A publication Critical patent/CN104580192A/zh
Application granted granted Critical
Publication of CN104580192B publication Critical patent/CN104580192B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability

Abstract

本发明公开了一种应用程序的网络访问请求的处理方法和装置。其中,该方法包括:获取应用程序的第一网络访问请求;将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求;将第三网络访问请求发送至加速压缩服务器;通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据;通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据;将第二数据返回至应用程序。采用本发明解决了对移动客户端的网络访问进行加速中出现的效率低的问题,实现了移动客户端对网络的高效访问。

Description

应用程序的网络访问请求的处理方法和装置
技术领域
本发明涉及互联网领域,具体而言,涉及一种应用程序的网络访问请求的处理方法和装置。
背景技术
现在市面上有很多针对Android平台的网络加速器,都有对HTTP访问加速以及节省流量的功能,比如飞速流量压缩仪、上网快鸟等加速器,其主要工作方式是截获系统的流量到本地代理,然后转发到自己的加速服务器并处理。
目前在Android平台截获App流量的方式,主要有设置APN代理、ptables和VPN等方 式。采用VPN的方式,必须搭建专门的VPN服务器,则无法利用现有的HTTP加速服务器;采用 iptables的方式,需要系统要有root权限;采用VPN代理方式,也会有很多弊端。以飞速流量 压缩仪为例,它采用的加速方法是在Android系统上设置APN代理,把通过80端口的HTTP访 问导向自己的代理服务器转发,以达到加速网络访问的目的,而在Android4.0系统及以上 版本无法使用自动设置APN代理的方式,只能手动填入代理IP和端口进行APN设置,使用上 不方便,而且Android系统上的APN代理无法截获所有应用的HTTP访问。
针对现有技术中对移动客户端的网络访问的加速效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明的主要目的在于提供一种应用程序的网络访问请求的处理方法和装置,以解决现有技术中对移动客户端的网络访问的加速效率低的问题。
为了实现上述目的,根据本发明实施例的一个方面,提供了一种应用程序的网络访问请求的处理方法。该处理方法包括:获取应用程序的第一网络访问请求;将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求;将第三网络访问请求发送至加速压缩服务器;通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据;通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据;将第二数据返回至应用程序。
进一步地,在获取应用程序的第一网络访问请求之前,处理方法包括:创建虚拟网络处理单元、虚拟网络开发单元以及本地代理服务器单元;获取应用程序的第一网络访问请求包括:通过虚拟网络处理单元截获应用程序的第一网络访问请求;将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求包括:虚拟网络开发单元从虚拟网络处理单元读取第一网络请求;获取本地代理服务器单元对应的预设IP和预设端口;将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;将第二网络访问请求发回虚拟网络处理单元;在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求包括:本地代理服务器单元从虚拟网络处理单元获取第二网络访问请求;在第二网络访问请求中添加对应的压缩比信息或连接协议信息,得到第三网络访问请求,其中,加速信息包括压缩比信息和连接协议信息;将第二数据返回至应用程序包括:通过本地代理服务器单元和虚拟网络处理单元将经加速压缩服务器压缩的第二数据返回至应用程序。
进一步地,通过本地代理服务器单元和虚拟网络处理单元将经加速压缩服务器压缩的第二数据返回至应用程序包括:本地代理服务器单元接收第二数据;本地代理服务器单元基于压缩比信息对第二数据进行解压缩处理得到第三数据;通过虚拟网络处理单元将第三数据返回至应用程序。
进一步地,将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求包括:判断第一网络访问请求为第一类型请求或第二类型请求,其中,第一类型请求为传输控制协议的请求,第二类型为用户数据包协议的请求;若第一网络访问请求为第一类型请求,判断第一类型请求的目的IP是否为预设的非私有IP;若第一类型请求的目的IP为预设的非私有IP,则将目的IP修改为预设IP,并将第一类型请求的源IP修改为目的IP,以及将第一类型请求的源端口修改为目的端口,得到第二网络访问请求;若第一类型请求的目的IP不为预设的非私有IP,则将目的IP修改为预设IP,并将目的端口修改为预设端口,以及将第一类型请求的源IP修改为非私有IP,得到第二网络访问请求。
进一步地,在判断第一网络访问请求为第一类型请求或第二类型请求之后,处理方法还包括:若第一网络访问请求为第二类型请求,从第二类型请求中解析出目的IP和目的端口;判断目的端口是否为域名解析端口;若目的端口为域名解析端口,对第二类型请求作域名解析,并缓存域名解析的结果;若目的端口不为域名解析端口,使用第二类型请求访问目的IP所指向的第一服务器。
进一步地,在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求包括:判断第二网络访问请求是否为HTTP请求;若第二网络访问请求不为HTTP请求,则在第二网络访问请求中添加对应的连接协议信息,得到第三网络访问请求;若第二网络访问请求为HTTP请求,判断第二网络访问请求的访问域名是否在预设域名集合内;若第二网络访问请求的访问域名不在预设域名集合内,将第二网络访问请求发至第一服务器;若第二网络访问请求的访问域名在预设域名集合内,则在第二网络访问请求中添加对应的压缩比信息,得到第三网络访问请求。
为了实现上述目的,根据本发明实施例的另一个方面,提供了一种应用程序的网络访问请求的处理装置。该处理装置包括:第一获取模块,用于获取应用程序的第一网络访问请求;第一修改模块,用于将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;第二修改模块,用于在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求;第一发送模块,用于将第三网络访问请求发送至加速压缩服务器;第二获取模块,用于通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据;第三获取模块,用于通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据;返回模块,用于将第二数据返回至应用程序。
进一步地,处理装置还包括:创建模块,用于创建虚拟网络处理单元、虚拟网络开发单元以及本地代理服务器单元;第一获取模块包括:第一获取子模块,用于通过虚拟网络处理单元截获应用程序的第一网络访问请求;第一修改模块包括:读取模块,用于虚拟网络开发单元从虚拟网络处理单元读取第一网络请求;第一得到模块,用于获取本地代理服务器单元对应的预设IP和预设端口;第一修改子模块,用于将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;第二发送模块,用于将第二网络访问请求发回虚拟网络处理单元;第二修改模块包括:第二得到模块,用于本地代理服务器单元从虚拟网络处理单元获取第二网络访问请求;第二修改子模块,用于在第二网络访问请求中添加对应的压缩比信息或连接协议信息,得到第三网络访问请求,其中,加速信息包括压缩比信息和连接协议信息;第二获取模块包括:第二获取子模块,用于加速压缩服务器使用第三网络访问请求访问第一服务器,得到第一数据;返回模块包括:返回子模块,用于通过本地代理服务器单元和虚拟网络处理单元将经加速压缩服务器压缩的第二数据返回至应用程序。
进一步地,返回子模块包括:接收子模块,用于本地代理服务器单元接收第二数据;解压缩模块,用于本地代理服务器单元基于压缩比信息对第二数据进行解压缩处理得到第三数据;处理模块,用于通过虚拟网络处理单元将第三数据返回至应用程序。
进一步地,第一修改子模块包括:第一判断模块,用于判断第一网络访问请求为第一类型请求或第二类型请求,其中,第一类型请求为传输控制协议的请求,第二类型为用户数据包协议的请求;第一确定模块,用于若第一网络访问请求为第一类型请求,判断第一类型请求的目的IP是否为预设的非私有IP;第二确定模块,用于若第一类型请求的目的IP为预设的非私有IP,则将目的IP修改为预设IP,并将第一类型请求的源IP修改为目的IP,以及将第一类型请求的源端口修改为目的端口,得到第二网络访问请求;第三确定模块,用于若第一类型请求的目的IP不为预设的非私有IP,则将目的IP修改为预设IP,并将目的端口修改为预设端口,以及将第一类型请求的源IP修改为非私有IP,得到第二网络访问请求。
进一步地,第一修改子模块包括:解析模块:用于在判断第一网络访问请求为第一类型请求或第二类型请求之后,若第一网络访问请求为第二类型请求,从第二类型请求中解析出目的IP和目的端口;第二判断模块,用于判断目的端口是否为域名解析端口;第四确定模块,用于若目的端口为域名解析端口,对第二类型请求作域名解析,并缓存域名解析的结果;第五确定模块,用于若目的端口不为域名解析端口,使用第二类型请求访问目的IP所指向的第一服务器。
进一步地,第二修改子模块还包括:第三判断模块,用于判断第二网络访问请求是否为HTTP请求;第六确定模块,用于若第二网络访问请求不为HTTP请求,则在第二网络访问请求中添加对应的连接协议信息,得到第三网络访问请求;第四判断模块,用于若第二网络访问请求为HTTP请求,判断第二网络访问请求的访问域名是否在预设域名集合内;第七确定模块,用于若第二网络访问请求的访问域名不在预设域名集合内,将第二网络访问请求发至第一服务器;第八确定模块,用于若第二网络访问请求的访问域名在预设域名集合内,则在第二网络访问请求中添加对应的压缩比信息,得到第三网络访问请求。
根据发明实施例,通过在应用程序发起第一网络访问请求时,获取该应用网络请求的目的IP和目的端口,并将上述目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求,且在第二网络访问请求之中加入对应的加速信息,从而得到第三网络访问请求,将第三网络访问请求发送至加速压缩服务器,通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据,通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据。采用本发明,在无需获取系统最高权限的情况下,可利用现有的加速器对多种类型的网络访问进行加速。通过本发明解决了对移动客户端的网络访问进行加速中出现的效率低的问题,实现了移动客户端对网络的高效访问。
附图说明
构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例的应用程序的网络访问请求的处理方法的流程图;
图2是根据本发明实施例的一个可选的对应用程序的网络请求进行处理的流程图;
图3是根据本发明实施例的一个可选的虚拟网络开发单元对应用程序的网络请求进行处理的流程图;
图4是根据本发明实施例的一个可选的本地代理服务器单元对应用程序的网络请求进行处理的流程图;
图5是根据本发明实施例的一个可选的加速压缩服务器的示意图;以及
图6是根据本发明实施例的应用程序的网络访问请求的处理装置的示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
首先,在对本发明实施例进行描述的过程中出现的部分名词或术语适用于如下解释:
Android:是一种基于Linux的自由及开放源代码的操作系统,主要适用于移动设备,如智能手机和平板电脑,由谷歌公司和开放手机联盟领导及开发。
App:英文全称是Application,中文名称是应用程序。由于Android和iPhone等智能手机的流行,App用于指智能手机的第三方应用程序。
APN:英文全称是Access Point Name,中文名称叫做接入点。APN是一种常见的网络接入技术,是通过手机等移动终端进行上网时必须配置的一个参数,它决定了手机等移动终端通过哪种接入方式来访问网络。
IP:英文全称是Internet Protocol,中文名称是网络之间互联的协议,简称“网协”。在因特网中,IP是能使连接到网上的所有计算机网络实相互通信的一套规则,规定了计算机在因特网进行通讯时应当遵守的规则。
iptables:是与最新的3.5版本的Linux内核集成的IP信息包过滤系统。主要用于 控制IP信息包过滤和防火墙配置。
root:存在于UNIX系统和类UNIX系统(如Debian和Redhat等Linux操作系统和Android系统)中,超级用户一般命名为root,相当于Windows系统中的system用户。root是系统中唯一的超级用户,具有系统中所有的权限,如启动或者停止进程,删除或增加普通用户,增加或者禁用硬件等。
HTTP:英文全称是Hypertext transfer protocol,中文名称是超文本传送协议,定义了浏览器(即万维网客户进程)怎么向万维网客户服务器请求万维网文档,以及服务器怎样把文档信息传递给浏览器。
TCP:英文全称是Transmission Control Protocol,中文名称是传输控制协议,是一种面向连接的、可靠的、基于IP的传输层协议,由IETF的RFC793说明。TCP在IP报文的协议号是6。
UDP:英文全称是User Datagram Protocol,中文名称是用户数据包协议,是开放式系统互联参考模型中一种无连接的传输层协议,提供面向事物的简单不可靠的信息传送服务,UDP在IP报文中的协议号是17。
DNS:英文全称是Domain Name System,中文名称是域名系统,在因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住被机器直接读取的IP数串。DNS协议运行在UDP协议之上,使用端口号53。
VPN:因为全称是Virtual Private Network,中文名称是虚拟专用网络,可以通过特殊的加密的通讯协议在连接在网络上的位于不同地方的两个或者多个用户之间建立一条专用的通讯线路,从而达到了在公用网路建立私有虚拟网络的目的。
VPNService:android用于截获系统网络流量的虚拟专用网络服务。
回源操作:是指不用修改目的IP和目的端口,根据最初的网络请求对网络进行访问。
本发明提供了一种应用程序的网络访问请求的处理方法。图1是根据本发明实施例的应用程序的网络访问请求的处理方法的流程图。如图1所示,该方法可以包括步骤如下:
步骤S102,获取应用程序的第一网络访问请求。
步骤S104,将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求。
步骤S106,在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求。
步骤S108,将第三网络访问请求发送至加速压缩服务器。
步骤S110,通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据。
步骤S112,通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据。
步骤S114,将第二数据返回至应用程序。
采用本发明,在应用程序发起第一网络访问请求时,获取该应用网络请求的目的IP和目的端口,并将上述目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求,且在第二网络访问请求之中加入对应的加速信息,从而得到第三网络访问请求,将第三网络访问请求发送至加速压缩服务器,通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据,通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据。采用本发明,在无需获取系统最高权限的情况下,可利用现有的加速压缩服务器对多种类型的网络访问进行加速。通过本发明解决了对移动客户端的网络访问进行加速中出现的效率低的问题,实现了移动客户端对网络的高效访问。
需要进一步说明的是,上述实施例中在获取应用程序的第一网络访问请求之前,处理方法可以包括:创建虚拟网络处理单元、虚拟网络开发单元以及本地代理服务器单元;获取应用程序的第一网络访问请求可以包括:通过虚拟网络处理单元截获应用程序的第一网络访问请求;将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求可以包括:虚拟网络开发单元从虚拟网络处理单元读取第一网络请求;获取本地代理服务器单元对应的预设IP和预设端口;将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;将第二网络访问请求发回虚拟网络处理单元;在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求可以包括:本地代理服务器单元从虚拟网络处理单元获取第二网络访问请求;在第二网络访问请求中添加对应的压缩比信息或连接协议信息,得到第三网络访问请求,其中,加速信息可以包括压缩比信息和连接协议信息;使用第三网络访问请求访问目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据可以包括:加速压缩服务器使用第三网络访问请求访问第一服务器,得到第一数据;将第二数据返回至应用程序可以包括:通过本地代理服务器单元和虚拟网络处理单元将经加速压缩服务器压缩的第二数据返回至应用程序。
本发明上述实施例可以应用于移动终端,该终端可以为手机、平板电脑等,该实施例中的终端的操作系统可以为Android系统。
通过上述实施例,利用移动终端的操作系统上的VpnService截获其他应用的网络流量(即网络请求),从网络请求中解析出访问数据,并使用加速信息加速访问目标服务器,并可以使用加速信息对从目标服务器获取的响应数据进行压缩,减小了数据传输的流量。
下面根据图2详细介绍上述实施例,图2是根据本发明实施例的一个可选的对应用程序的网络请求进行处理的流程图,如图2所示该实施例可以通过如下步骤实现:
步骤S201,应用程序发起网络请求。
具体地,当移动客户端的应用程序100发起网络请求之后,虚拟网络处理单元70截获该网络请求(即流量)。
步骤S202,虚拟网络开发单元80对上述网络请求中的VPN数据包做处理。
具体地,将截获的VPN数据包中的TCP数据包和UDP数据包做处理,例如对HTTP协议的TCP数据包修改目的IP和目的端口为预设IP和预设端口,以便VPN数据包能被网络处理单元发送至本地代理服务器单元。
步骤S203,虚拟网络开发单元将修改后的VPN数据包发回虚拟网络处理单元。
步骤S204,虚拟网络处理单元将截获的网络请求(即数据)发送至本地代理服务器单元90。
步骤S205,若网络请求传输协议为HTTP,则添加相应的压缩比信息,并发往加速压缩服务器。
步骤S206,加速压缩服务器110对网络请求进行处理。
具体地,加速压缩服务器对网络请求进行的处理可以是回源操作;也可以是对图片内容进行压缩,处理完后发回本地代理服务器单元。
步骤S207,虚拟网络处理单元获取网络请求所请求的数据。
步骤S208,虚拟网络开发单元对上述数据做处理。
具体地,将截获的数据包中的TCP和UDP,例如对HTTP协议的TCP数据包修改目的IP和目的端口为预设IP和预设端口,以便数据包能被虚拟网络处理单元导向应用程序。
步骤S209,虚拟网络开发单元将修改后的数据包发回虚拟网络处理单元。
步骤S210,虚拟网络处理单元把获得的数据发往应用程序,从而实现网络加速和节省流量。
在本发明的上述实施例中,通过本地代理服务器单元和虚拟网络处理单元将经加速压缩服务器压缩的第二数据返回至应用程序可以包括:本地代理服务器单元接收第二数据;本地代理服务器单元基于压缩比信息对第二数据进行解压缩处理得到第三数据;通过虚拟网络处理单元将第三数据返回至应用程序。
具体地,本地代理服务器单元接收第二数据之后基于压缩比信息对第二数据进行解压缩处理得到第三数据,然后通过虚拟网络处理单元将第三数据返回至应用程序,这样应用程序的第一网络访问请求就能得到反馈。
在本发明的上述实施例中,上述实施例中的将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求可以包括:判断第一网络访问请求为第一类型请求或第二类型请求,其中,第一类型请求为传输控制协议的请求,第二类型为用户数据包协议的请求;若第一网络访问请求为第一类型请求,判断第一类型请求的目的IP是否为预设的非私有IP;若第一类型请求的目的IP为预设的非私有IP,则将目的IP修改为预设IP,并将第一类型请求的源IP修改为目的IP,以及将第一类型请求的源端口修改为目的端口,得到第二网络访问请求;若第一类型请求的目的IP不为预设的非私有IP,则将目的IP修改为预设IP,并将目的端口修改为预设端口,以及将第一类型请求的源IP修改为非私有IP,得到第二网络访问请求。
根据上述实施例,在判断第一网络访问请求为第一类型请求或第二类型请求之后,处理方法还可以包括:若第一网络访问请求为第二类型请求,从第二类型请求中解析出目的IP和目的端口;判断目的端口是否为域名解析端口;若目的端口为域名解析端口,对第二类型请求作域名解析,并缓存域名解析的结果;若目的端口不为域名解析端口,使用第二类型请求访问目的IP所指向的第一服务器。
下面根据图3详细介绍上述实施例,图3是根据本发明实施例的一个可选的虚拟网络开发单元对应用程序的网络请求进行处理的流程图,如图3所示该实施例可以通过如下步骤实现:
步骤S301,接收VPN数据包。其中,VPN数据包来自虚拟网络处理单元70。图3中示出了虚拟网络处理单元70。
步骤S302,判断VPN数据包中包含的子数据包是UDP数据包(即第二类型请求)或TCP数据包(即第一类型请求)。
具体地,上述操作是由vpn-ndk模块的handleTun线程完成的。
步骤S303,VPN数据包中包含TCP数据包,则需要修改IP头部信息。
步骤S304,VPN数据包中包含UDP数据包,则采取回源操作或做DNS智能解析。
步骤S305,判断目的端口是否为53。
具体地,若端口为53,可以根据用户设置是否转发到智能DNS服务器120做解析,并做DNS缓存;若端口不为53,则建立与目标服务器130连接,采取回源操作。
步骤S306,获取响应数据并构造UDP数据包,然后将数据包写回虚拟网络处理单元。这样,应用程序就能获取到相应的响应数据包。
该响应数据为从目标服务器或智能DNS服务器获取的数据。
需要进一步说明的是,上述步骤S303中修改IP头部信息分两种情况。下面举例说明:
如果IP头部目的IP是m.n.o.p(某个非私有IP地址,例如203.10.113.38),则改写IP头部目的IP为预设IP和预设端口,然后重新写入VPN数据包,这样应用程序就会接收到返回的数据;如果IP头部目的IP地址不是非私有IP地址,则分别改写IP头部目的IP和端口为本地代理服务器单元(tcpproxy)所绑定的IP和端口,然后再将上述修改之后的VPN数据包发回虚拟网络处理单元,这样本地代理服务器单元就可以接收到其他应用发出来的TCP数据包,本发明的本地代理服务器单元就可以根据虚拟网络处理单元接收到的数据做出相应的处理,比如经过本地代理服务器单元进行加速或者直接回源。
若应用程序发起网络访问请求,则包含该网络访问请求的信息会以VPN数据包的形式传输至VPN隧道,VPN隧道中的VPN数据包则会被虚拟网络开发单元截获,并解析VPN数据包中IP包头部的内容,以此来判断该数据包的传输协议是属于TCP或者UDP;若为该数据包传输协议为TCP,则对数据包头部进行预订修改,然后将该数据包发送至本地代理服务器单元;若为该数据包传输协议为UDP,VpnService的handleTun线程会对UDP包做解析,若其端口为53(即DNS协议),则可以根据用户设置选择是否转发至智能DNS服务器做解析并作缓存,若其端口不为53,则采用回源操作;根据handleTun线程获取的相应数据构造相应的UDP数据包并写回虚拟网络处理单元,用于获取应用程序发起的网络请求所返回的响应数据包;与此同时,handleTun线程将该网络访问请求的相关解析信息做本地缓存。
例如,手机上的应用程序UC浏览器发起对www.qq.com的网络请求时,VpnService会截获该网络请求信息并将该信息下发至虚拟网络开发单元,虚拟网络经过handleTun线程的解析得到该访问采用UDP传输协议,且判断出其端口为53,还解析出该网络请求可以通过位于不同地域的服务器“A”、“B”或者“C”进行访问,同时根据发起访问者所处的地点选择其中最快的两个服务器“A”和“C”,则该网络请求随机的访问服务器“A”或者“C”,同时,系统预定进程将此次解析的结果“A”和“C”存入缓存,当之后有同样的网络访问请求发起时则不需要解析而直接随机通过服务器“A”或者“B”访问。
通过上述实施例,从网络请求中解析出TCP包中的HTTP访问数据,根据设置的压缩比修改HTTP请求头部并转发到加速压缩服务器,然后根据客户端(即上述的终端)修改添加的HTTP请求头部信息做出相应的流量节省处理,例如对图片的压缩。
在上述实施例中,对于其他TCP数据包,可以选择直接回源,或是经过加速压缩服务器做TCP加速,例如游戏加速;对于UDP数据包,对DNS协议包做处理,可以转发到智能DNS服务器做解析,并对解析结果做缓存,从而在下一次获取到同样的网络请求时,可以从缓存中获取数据,从而可以进一步地加速对网络请求的处理。
在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求可以包括:判断第二网络访问请求是否为HTTP请求;若第二网络访问请求不为HTTP请求,则在第二网络访问请求中添加对应的连接协议信息,得到第三网络访问请求;若第二网络访问请求为HTTP请求,判断第二网络访问请求的访问域名是否在预设域名集合内;若第二网络访问请求的访问域名不在预设域名集合内,将第二网络访问请求发至第一服务器;若第二网络访问请求的访问域名在预设域名集合内,则在第二网络访问请求中添加对应的压缩比信息,得到第三网络访问请求。
具体地,判断第二网络访问请求是否为HTTP请求,即文本类的资源(如text/css,application/x-javascript),如果请求中没有Accept-Encoding:gzip,deflate,sdch这种字段,则判断出该请求是希望得到明文而不是压缩类型的数据,将第二网络访问请求发至第一服务器。如果请求中有Accept-Encoding:gzip,deflate,sdch这种字段,则判断出该请求是希望得压缩类型的数据,然后再判断第二网络请求的访问域名是否在预设域名集合内,根据判断结果在第二网络访问请求中添加对应的压缩比信息,得到第三网络访问请求。
进一步地,在得到第三网络请求的反馈之后,还需要对压缩的第二数据做解压缩再传给应用程序。如果第一网络请求是图片资源,由于使用webp图片格式,在不影响图片质量的情况下,会比原图节省很多图片大小,这时候有个机制,会先判断所在android机器是否支持直接显示webp图片,如果不支持直接显示,那么就会做将webp图片转jpg图片的处理,以使应用程序能正常显示。
可选地,在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求还可以通过如下方式实现:下面结合图4详述上述实施例,图4是根据本发明实施例的一个可选的本地代理服务器单元对应用程序的网络请求进行处理的流程图,如图4所示:
步骤S401,本地代理服务器单元通过对预设端口的监听即可获取虚拟网络处理单元所截获的数据包(即应用数据包)。
步骤S402,根据预设策略判断是否需要对数据包所指向的访问进行加速。
步骤S403,判断出是HTTP协议且数据包需要加速,则根据设定的压缩比级别添加相应压缩比信息到HTTP请求头部并发往加速压缩服务器。
步骤S404,判断出非HTTP协议的其他TCP数据包需要加速,则添加相关信息并发往加速压缩服务器。
步骤S405,加速压缩服务器对数据进行加速压缩处理。
具体地,这是一种节省流量的方法,主要是在压缩服务器中,对图片等数据进行压缩处理,处理完成之后把响应数据包发回。
步骤S406,判断出不需要加速,则将数据包直接发往目标服务器,做回源处理。
例如,手机上的应用程序UC浏览器发起对www.qq.com的网络访问请求时,虚拟网络处理单元截获UC发出的网络访问请并转发至本地代理服务器单元,经过本地代理服务器单元对比得知www.qq.com存在于预设域名集合集,且该访问时采用HTTP协议,则为UC的此次访问添加压缩比信息并发往加速压缩服务器,然后本地代理服务器单元将接收到的加速压缩服务器返回的数据下发至虚拟网络处理单元,最终UC浏览器发起的网络访问请求得到响应。
在上述实施例中,通过本地代理服务器单元和虚拟网络处理单元将经加速压缩服务器压缩的第二数据返回至应用程序可以包括:本地代理服务器单元接收第二数据;代理服务器单元基于压缩比信息对第二数据进行解压缩处理得到第三数据;通过虚拟网络处理单元将第三数据返回至应用程序。
下面结合图5详述上述实施例,图5是根据本发明实施例的一个可选的加速压缩服务器的示意图,如图5所示:
其中,加速服务器112主要适用于代理转发数据包;压缩服务器111用于对接收到的数据进行处理,比如进行突破压缩;加速压缩服务器可以包括加速服务器和压缩服务器,目标服务器130用于为加速压缩服务器提供数据。
通过本发明的上述实施例,通过创建的虚拟网络处理单元可以截获移动终端操作系统的所有应用程序的流量(即网络请求),并对网络请求中的HTTP加速,并对响应数据进行压缩以减小流量,以及在本地端做DNS缓存,以加快处理速度。
在上述实施例中,由于虚拟网络处理单元能截获所有流量,可以扩展做出防火墙功能,轻松管理应用程序访问网络;并且可以使用现有的加速压缩服务器对数据进行加速和压缩处理,避免重复的硬件投入,减小了加速的成本。
图6是根据本发明实施例的应用程序的网络访问请求的处理装置的示意图,如图6所示,该处理装置可以包括:第一获取模块10、第一修改模块20、第二修改模块30、第一发送模块40,第二获取模块50、第三获取模块60以及返回模块70。
其中,第一获取模块用于获取应用程序的第一网络访问请求;第一修改模块用于将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;第二修改模块用于在第二网络访问请求中添加对应的加速信息,得到第三网络访问请求;第一发送模块用于将第三网络访问请求发送至加速压缩服务器;第二获取模块用于通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据;第三获取模块用于通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据;返回模块用于将第二数据返回至应用程序。
采用本发明,在应用程序发起第一网络访问请求时,第一获取模块获取该应用程序的网络请求;然后第一修改模块修改该网络请求的目的IP和目的端口为预设IP和预设端口,得到第二网络访问请求;接着,第二修改模块在第二网络访问请求之中加入对应的加速信息,从而得到第三网络访问请求;第一发送模块将第三网络访问请求发送至加速压缩服务器;第二获取模块通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据;第三获取模块通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据;然后返回模块将第二数据返回至应用程序。采用本发明,在无需获取系统最高权限的情况下,可利用现有的加速压缩服务器对多种类型的网络访问进行加速。通过本发明解决了对移动客户端的网络访问进行加速中出现的效率低的问题,实现了移动客户端对网络的高效访问。
在上述实施例中,处理装置还可以包括:创建模块,用于创建虚拟网络处理单元、虚拟网络开发单元以及本地代理服务器单元。第一获取模块可以包括:第一获取子模块,用于通过虚拟网络处理单元截获应用程序的第一网络访问请求。第一修改模块可以包括:读取模块,用于虚拟网络开发单元从虚拟网络处理单元读取第一网络请求;第一得到模块,用于获取本地代理服务器单元对应的预设IP和预设端口;第一修改子模块,用于将第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;第二发送模块,用于将第二网络访问请求发回虚拟网络处理单元。第二修改模块可以包括:第二得到模块,用于本地代理服务器单元从虚拟网络处理单元获取第二网络访问请求;第二修改子模块,用于在第二网络访问请求中添加对应的压缩比信息或连接协议信息,得到第三网络访问请求,其中,加速信息可以包括压缩比信息和连接协议信息。第二获取模块可以包括:第二获取子模块,用于加速压缩服务器使用第三网络访问请求访问第一服务器,得到第一数据。返回模块可以包括:返回子模块,用于通过本地代理服务器单元和虚拟网络处理单元将经加速压缩服务器压缩的第二数据返回至应用程序。
通过上述实施例,虚拟网络处理单元把通过加速压缩服务器获得的响应数据(该数据为压缩过的数据)发往应用程序,数据容量小,实现网络加速和节省流量。
本发明上述实施例可以应用于移动终端,该终端可以为手机、平板电脑等,该实施例中的终端的操作系统可以为Android系统。
通过上述实施例,利用移动终端的操作系统上的虚拟网络处理单元截获其他应用的网络流量(即网络请求),从网络请求中解析出访问数据,并使用加速信息加速访问目标服务器,并可以使用加速信息对从目标服务器获取的响应数据进行压缩,减小了数据传输的流量。
在上述实施例中,返回子模块包括:接收子模块,用于本地代理服务器单元接收第二数据;解压缩模块,用于本地代理服务器基于压缩比信息对第二数据进行解压缩处理得到第三数据;处理模块,用于通过虚拟网络处理单元将第三数据返回至应用程序。
具体地,本地代理服务器单元接收第二数据之后基于压缩比信息对第二数据进行解压缩处理得到第三数据,然后通过虚拟网络处理单元将第三数据返回至应用程序,这样应用程序的第一网络访问请求就能得到反馈。
在本发明的上述实施例中,第一修改子模块可以包括:第一判断模块,用于判断第一网络访问请求为第一类型请求或第二类型请求,其中,第一类型请求为传输控制协议的请求,第二类型为用户数据包协议的请求;第一确定模块,用于若第一网络访问请求为第一类型请求,判断第一类型请求的目的IP是否为预设的非私有IP;第二确定模块,用于若第一类型请求的目的IP为预设的非私有IP,则将目的IP修改为预设IP,并将第一类型请求的源IP修改为目的IP,以及将第一类型请求的源端口修改为目的端口,得到第二网络访问请求;第三确定模块,用于若第一类型请求的目的IP不为预设的非私有IP,则将目的IP修改为预设IP,并将目的端口修改为预设端口,以及将第一类型请求的源IP修改为非私有IP,得到第二网络访问请求。
在上述实施例中,第一修改子模块可以包括:解析模块:用于在判断第一网络访问请求为第一类型请求或第二类型请求之后,若第一网络访问请求为第二类型请求,从第二类型请求中解析出目的IP和目的端口;第二判断模块,用于判断目的端口是否为域名解析端口;第四确定模块,用于若目的端口为域名解析端口,对第二类型请求作域名解析,并缓存域名解析的结果;第五确定模块,用于若目的端口不为域名解析端口,使用第二类型请求访问目的IP所指向的第一服务器。
若应用程序发起网络访问请求,则包含该网络访问请求的信息会以VPN数据包的形式传输至VPN隧道,VPN隧道中的VPN数据包则会被虚拟网络开发单元截获,并解析VPN数据包中IP包头部的内容,以此来判断该数据包的传输协议是属于TCP或者UDP;若为该数据包传输协议为TCP,则对数据包头部进行预订修改,然后将该数据包发送至本地代理服务器单元;若为该数据包传输协议为UDP,VpnService的handleTun线程会对UDP包做解析,若其端口为53(即DNS协议),则可以根据用户设置选择是否转发至智能DNS服务器做解析并作缓存,若其端口不为53,则采用回源操作;根据handleTun线程获取的相应数据构造相应的UDP数据包并写回虚拟网络处理单元,用于获取应用程序发起的网络请求所返回的响应数据包;与此同时,handleTun线程将该网络访问请求的相关解析信息做本地缓存。
根据本发明的上述实施例,第二修改子模块还包括:第三判断模块,用于判断第二网络访问请求是否为HTTP请求;第六确定模块,用于若第二网络访问请求不为HTTP请求,则在第二网络访问请求中添加对应的连接协议信息,得到第三网络访问请求;第四判断模块,用于若第二网络访问请求为HTTP请求,判断第二网络访问请求的访问域名是否在预设域名集合内;第七确定模块,用于若第二网络访问请求的访问域名不在预设域名集合内,将第二网络访问请求发至第一服务器;第八确定模块,用于若第二网络访问请求的访问域名在预设域名集合内,则在第二网络访问请求中添加对应的压缩比信息,得到第三网络访问请求。
具体地,判断第二网络访问请求是否为HTTP请求,即文本类的资源(如text/css,application/x-javascript),如果请求中没有Accept-Encoding:gzip,deflate,sdch这种字段,则判断出该请求是希望得到明文而不是压缩类型的数据,将第二网络访问请求发至第一服务器。如果请求中有Accept-Encoding:gzip,deflate,sdch这种字段,则判断出该请求是希望得压缩类型的数据,然后再判断第二网络请求的访问域名是否在预设域名集合内,根据判断结果在第二网络访问请求中添加对应的压缩比信息,得到第三网络访问请求。
进一步地,在得到第三网络请求的反馈之后,还需要对压缩的第二数据做解压缩再传给应用程序。如果第一网络请求是图片资源,由于使用webp图片格式,在不影响图片质量的情况下,会比原图节省很多图片大小,这时候有个机制,会先判断所在android机器是否支持直接显示webp图片,如果不支持直接显示,那么就会做将webp图片转jpg图片的处理,以使应用程序能正常显示。
通过上述实施例,从网络请求中解析出TCP包中的HTTP访问数据,根据设置的压缩比修改HTTP请求头部并转发到加速压缩服务器,然后根据客户端(即上述的终端)修改添加的HTTP请求头部信息做出相应的流量节省处理,例如对图片的压缩。
在上述实施例中,对于其他TCP数据包,可以选择直接回源,或是经过加速压缩服务器做TCP加速,例如游戏加速;对于UDP数据包,对DNS协议包做处理,可以转发到智能DNS服务器做解析,并对解析结果做缓存,从而在下一次获取到同样的网络请求时,可以从缓存中获取数据,从而可以进一步地加速对网络请求的处理。
通过本发明的上述实施例,通过创建的虚拟网络处理单元单元可以截获移动终端操作系统的所有应用程序的流量(即网络请求),并对网络请求中的HTTP加速,并对响应数据进行压缩以减小流量,以及在本地端做DNS缓存,以加快处理速度。
在上述实施例中,由于虚拟网络处理单元能截获所有流量,可以扩展做出防火墙功能,轻松管理App访问网络;并且可以使用现有的加速压缩服务器对数据进行加速和压缩处理,避免重复的硬件投入,减小了加速的成本。
本实施例中所提供的各个模块与方法实施例对应步骤所提供的使用方法相同、应用场景也可以相同。当然,需要注意的是,上述模块涉及的方案可以不限于上述实施例中的内容和场景,且上述模块可以运行在计算机终端或移动终端,可以通过软件或硬件实现。
从以上的描述中可以看出,本发明实现了如下技术效果:
采用本发明,在应用程序发起第一网络访问请求时,获取该应用网络请求的目的IP和目的端口,并将上述目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求,且在第二网络访问请求之中加入对应的加速信息,从而得到第三网络访问请求,将第三网络访问请求发送至加速压缩服务器,通过加速压缩服务器访问第三网络访问请求中目的IP指向的第一服务器,并获取第三网络访问请求对应的第一数据,通过加速压缩服务器使用加速信息对第一数据进行压缩处理,得到压缩后的第二数据。采用本发明,在无需获取系统最高权限的情况下,可利用现有的加速压缩服务器对多种类型的网络访问进行加速。通过本发明解决了对移动客户端的网络访问进行加速中出现的效率低的问题,实现了移动客户端对网络的高效访问。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种应用程序的网络访问请求的处理方法,其特征在于,包括:
获取应用程序的第一网络访问请求;
将所述第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;
在所述第二网络访问请求中添加对应的加速信息,得到第三网络访问请求;
将所述第三网络访问请求发送至加速压缩服务器;
通过所述加速压缩服务器访问所述第三网络访问请求中所述目的IP指向的第一服务器,并获取所述第三网络访问请求对应的第一数据;
通过所述加速压缩服务器使用所述加速信息对所述第一数据进行压缩处理,得到压缩后的第二数据;
将所述第二数据返回至所述应用程序;
其中,将所述第一网络访问请求的所述目的IP和所述目的端口修改为所述预设IP和所述预设端口,得到所述第二网络访问请求包括:
判断所述第一网络访问请求为第一类型请求或第二类型请求,其中,所述第一类型请求为传输控制协议的请求,所述第二类型为用户数据包协议的请求;
若所述第一网络访问请求为所述第一类型请求,判断所述第一类型请求的所述目的IP是否为预设的非私有IP;
若所述第一类型请求的所述目的IP为所述预设的非私有IP,则将所述目的IP修改为所述预设IP,并将所述第一类型请求的源IP修改为所述目的IP,以及将所述第一类型请求的源端口修改为所述目的端口,得到所述第二网络访问请求;
若所述第一类型请求的所述目的IP不为所述预设的非私有IP,则将所述目的IP修改为所述预设IP,并将所述目的端口修改为所述预设端口,以及将所述第一类型请求的源IP修改为所述非私有IP,得到所述第二网络访问请求。
2.根据权利要求1所述的处理方法,其特征在于,
在获取应用程序的第一网络访问请求之前,所述处理方法包括:创建虚拟网络处理单元、虚拟网络开发单元以及本地代理服务器单元;
获取应用程序的第一网络访问请求包括:通过所述虚拟网络处理单元截获所述应用程序的所述第一网络访问请求;
将所述第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求包括:所述虚拟网络开发单元从所述虚拟网络处理单元读取所述第一网络请求;获取所述本地代理服务器单元对应的所述预设IP和所述预设端口;将所述第一网络访问请求的所述目的IP和所述目的端口修改为所述预设IP和所述预设端口,得到所述第二网络访问请求;将所述第二网络访问请求发回所述虚拟网络处理单元;
在所述第二网络访问请求中添加对应的加速信息,得到第三网络访问请求包括:所述本地代理服务器单元从所述虚拟网络处理单元获取所述第二网络访问请求;在所述第二网络访问请求中添加对应的压缩比信息或连接协议信息,得到所述第三网络访问请求,其中,所述加速信息包括所述压缩比信息和所述连接协议信息;
将所述第二数据返回至所述应用程序包括:通过所述本地代理服务器单元和所述虚拟网络处理单元将经所述加速压缩服务器压缩的所述第二数据返回至所述应用程序。
3.根据权利要求2所述的处理方法,其特征在于,通过所述本地代理服务器单元和所述虚拟网络处理单元将经所述加速压缩服务器压缩的所述第二数据返回至所述应用程序包括:
所述本地代理服务器单元接收所述第二数据;
所述本地代理服务器单元基于所述压缩比信息对所述第二数据进行解压缩处理得到第三数据;
通过虚拟网络处理单元将所述第三数据返回至所述应用程序。
4.根据权利要求1所述的处理方法,其特征在于,在判断所述第一网络访问请求为第一类型请求或第二类型请求之后,所述处理方法还包括:
若所述第一网络访问请求为所述第二类型请求,从所述第二类型请求中解析出所述目的IP和所述目的端口;
判断所述目的端口是否为域名解析端口;
若所述目的端口为所述域名解析端口,对所述第二类型请求作域名解析,并缓存域名解析的结果;
若所述目的端口不为所述域名解析端口,使用所述第二类型请求访问所述目的IP所指向的所述第一服务器。
5.根据权利要求2所述的处理方法,其特征在于,在所述第二网络访问请求中添加对应的所述加速信息,得到所述第三网络访问请求包括:
判断所述第二网络访问请求是否为HTTP请求;
若所述第二网络访问请求不为所述HTTP请求,则在所述第二网络访问请求中添加对应的所述连接协议信息,得到所述第三网络访问请求;
若所述第二网络访问请求为所述HTTP请求,判断所述第二网络访问请求的访问域名是否在预设域名集合内;
若所述第二网络访问请求的访问域名不在所述预设域名集合内,将所述第二网络访问请求发至所述第一服务器;
若所述第二网络访问请求的访问域名在所述预设域名集合内,则在所述第二网络访问请求中添加对应的所述压缩比信息,得到所述第三网络访问请求。
6.一种应用程序的网络访问请求的处理装置,其特征在于,包括:
第一获取模块,用于获取应用程序的第一网络访问请求;
第一修改模块,用于将所述第一网络访问请求的目的IP和目的端口修改为预设IP和预设端口,得到第二网络访问请求;
第二修改模块,用于在所述第二网络访问请求中添加对应的加速信息,得到第三网络访问请求;
第一发送模块,用于将所述第三网络访问请求发送至加速压缩服务器;
第二获取模块,用于通过所述加速压缩服务器访问所述第三网络访问请求中所述目的IP指向的第一服务器,并获取所述第三网络访问请求对应的第一数据;
第三获取模块,用于通过所述加速压缩服务器使用所述加速信息对所述第一数据进行压缩处理,得到压缩后的第二数据;
返回模块,用于将所述第二数据返回至所述应用程序;
其中,所述第一修改模块包括第一修改子模块,所述第一修改子模块包括:
第一判断模块,用于判断所述第一网络访问请求为第一类型请求或第二类型请求,其中,所述第一类型请求为传输控制协议的请求,所述第二类型为用户数据包协议的请求;
第一确定模块,用于若所述第一网络访问请求为所述第一类型请求,判断所述第一类型请求的所述目的IP是否为预设的非私有IP;
第二确定模块,用于若所述第一类型请求的所述目的IP为所述预设的非私有IP,则将所述目的IP修改为所述预设IP,并将所述第一类型请求的源IP修改为所述目的IP,以及将所述第一类型请求的源端口修改为所述目的端口,得到所述第二网络访问请求;
第三确定模块,用于若所述第一类型请求的所述目的IP不为所述预设的非私有IP,则将所述目的IP修改为所述预设IP,并将所述目的端口修改为所述预设端口,以及将所述第一类型请求的源IP修改为所述非私有IP,得到所述第二网络访问请求。
7.根据权利要求6所述的处理装置,其特征在于,
所述处理装置还包括:创建模块,用于创建虚拟网络处理单元、虚拟网络开发单元以及本地代理服务器单元;
所述第一获取模块包括:第一获取子模块,用于通过所述虚拟网络处理单元截获所述应用程序的所述第一网络访问请求;
所述第一修改模块包括:读取模块,用于所述虚拟网络开发单元从所述虚拟网络处理单元读取所述第一网络请求;第一得到模块,用于获取所述本地代理服务器单元对应的所述预设IP和所述预设端口;第一修改子模块,用于将所述第一网络访问请求的所述目的IP和所述目的端口修改为所述预设IP和所述预设端口,得到所述第二网络访问请求;第二发送模块,用于将所述第二网络访问请求发回所述虚拟网络处理单元;
所述第二修改模块包括:第二得到模块,用于所述本地代理服务器单元从所述虚拟网络处理单元获取所述第二网络访问请求;第二修改子模块,用于在所述第二网络访问请求中添加对应的压缩比信息或连接协议信息,得到所述第三网络访问请求,其中,所述加速信息包括所述压缩比信息和所述连接协议信息;
所述第二获取模块包括:第二获取子模块,用于加速压缩服务器使用所述第三网络访问请求访问所述第一服务器,得到所述第一数据;
所述返回模块包括:返回子模块,用于通过所述本地代理服务器单元和所述虚拟网络处理单元将经所述加速压缩服务器压缩的所述第二数据返回至所述应用程序。
8.根据权利要求7所述的处理装置,其特征在于,所述返回子模块包括:
接收子模块,用于所述本地代理服务器单元接收所述第二数据;
解压缩模块,用于所述本地代理服务器单元基于所述压缩比信息对所述第二数据进行解压缩处理得到第三数据;
处理模块,用于通过虚拟网络处理单元将所述第三数据返回至所述应用程序。
9.根据权利要求6所述的处理装置,其特征在于,所述第一修改子模块包括:
解析模块:用于在判断所述第一网络访问请求为第一类型请求或第二类型请求之后,若所述第一网络访问请求为所述第二类型请求,从所述第二类型请求中解析出所述目的IP和所述目的端口;
第二判断模块,用于判断所述目的端口是否为域名解析端口;
第四确定模块,用于若所述目的端口为所述域名解析端口,对所述第二类型请求作域名解析,并缓存域名解析的结果;
第五确定模块,用于若所述目的端口不为所述域名解析端口,使用所述第二类型请求访问所述目的IP所指向的所述第一服务器。
10.根据权利要求7所述的处理装置,其特征在于,所述第二修改子模块还包括:
第三判断模块,用于判断所述第二网络访问请求是否为HTTP请求;
第六确定模块,用于若所述第二网络访问请求不为所述HTTP请求,则在所述第二网络访问请求中添加对应的所述连接协议信息,得到所述第三网络访问请求;
第四判断模块,用于若所述第二网络访问请求为所述HTTP请求,判断所述第二网络访问请求的访问域名是否在预设域名集合内;
第七确定模块,用于若所述第二网络访问请求的访问域名不在所述预设域名集合内,将所述第二网络访问请求发至所述第一服务器;
第八确定模块,用于若所述第二网络访问请求的访问域名在所述预设域名集合内,则在所述第二网络访问请求中添加对应的所述压缩比信息,得到所述第三网络访问请求。
CN201410850791.7A 2014-12-31 2014-12-31 应用程序的网络访问请求的处理方法和装置 Active CN104580192B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410850791.7A CN104580192B (zh) 2014-12-31 2014-12-31 应用程序的网络访问请求的处理方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410850791.7A CN104580192B (zh) 2014-12-31 2014-12-31 应用程序的网络访问请求的处理方法和装置

Publications (2)

Publication Number Publication Date
CN104580192A CN104580192A (zh) 2015-04-29
CN104580192B true CN104580192B (zh) 2018-09-07

Family

ID=53095373

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410850791.7A Active CN104580192B (zh) 2014-12-31 2014-12-31 应用程序的网络访问请求的处理方法和装置

Country Status (1)

Country Link
CN (1) CN104580192B (zh)

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104994079B (zh) * 2015-06-10 2018-09-07 网宿科技股份有限公司 访问请求的处理方法和装置、加速服务器
CN105100958B (zh) * 2015-07-27 2018-12-07 网宿科技股份有限公司 一种基于Android系统的视频流量引导的方法和装置
CN106911737A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 控制数据终端上数据流量的方法及装置
CN106911481A (zh) * 2015-12-22 2017-06-30 北京奇虎科技有限公司 控制数据流量的方法及装置
CN107104892A (zh) * 2016-02-19 2017-08-29 深圳市福云明网络科技有限公司 网络加速的方法和装置
CN105764095B (zh) * 2016-02-22 2020-08-21 世纪蜗牛通信科技有限公司 基于虚拟专用网络的应用识别与控制系统及方法
CN105898775A (zh) * 2016-03-31 2016-08-24 网宿科技股份有限公司 一种实现移动app的定向UDP流量引导的方法和系统
CN108153761A (zh) * 2016-12-05 2018-06-12 阿里巴巴集团控股有限公司 访问网络图片、以及响应网络图片访问的方法、装置
CN109561010B (zh) 2017-09-26 2020-11-20 北京金山安全软件有限公司 一种报文处理方法、电子设备及可读存储介质
CN108124016B (zh) * 2018-01-11 2020-09-18 网宿科技股份有限公司 一种发送post请求的方法和装置
CN110099428B (zh) * 2018-01-31 2022-03-04 腾讯科技(深圳)有限公司 无线保真WiFi网络访问方法、装置及终端
CN110971714B (zh) * 2018-09-28 2023-10-27 贵州白山云科技股份有限公司 一种企业出口访问请求处理方法、装置及系统
CN109618016B (zh) * 2018-12-10 2022-02-22 深圳市网心科技有限公司 一种dns请求的发送处理方法、相关方法及相关装置
CN111371728B (zh) * 2018-12-25 2022-05-10 华为终端有限公司 一种处理方法及装置
CN110493318B (zh) * 2019-07-23 2022-03-15 北京字节跳动网络技术有限公司 Http请求信息的处理方法、装置、介质和设备
CN111083009B (zh) * 2019-11-29 2021-08-24 北京云测信息技术有限公司 一种抓包方法、装置和移动终端
CN111800330B (zh) * 2020-06-30 2021-12-03 苏州瑞立思科技有限公司 基于无线接入点的外设网络流量的代理加速方法及系统
CN112019645B (zh) * 2020-07-06 2021-07-30 中科驭数(北京)科技有限公司 基于toe的网络地址管理方法及装置
CN112245907A (zh) * 2020-11-10 2021-01-22 网易(杭州)网络有限公司 游戏数据加速方法、存储介质、电子设备及系统
CN113507393B (zh) * 2021-09-08 2021-12-07 腾讯科技(深圳)有限公司 数据加速传输方法、装置、计算机设备和存储介质
CN114221785B (zh) * 2021-11-17 2023-11-24 佛山市宏图数据有限公司 一种无感边界数据交换方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364991A (zh) * 2007-08-06 2009-02-11 中兴通讯股份有限公司 一种实现wap网站快速浏览的系统及其方法
CN101945103A (zh) * 2010-08-09 2011-01-12 中国电子科技集团公司第五十四研究所 Ip网络应用加速系统
CN103220372A (zh) * 2012-01-19 2013-07-24 中国移动通信集团公司 数据业务访问方法及系统
CN103944992A (zh) * 2014-04-25 2014-07-23 厦门享游网络科技有限公司 一种在ios上加速http的方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7584294B2 (en) * 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8560604B2 (en) * 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101364991A (zh) * 2007-08-06 2009-02-11 中兴通讯股份有限公司 一种实现wap网站快速浏览的系统及其方法
CN101945103A (zh) * 2010-08-09 2011-01-12 中国电子科技集团公司第五十四研究所 Ip网络应用加速系统
CN103220372A (zh) * 2012-01-19 2013-07-24 中国移动通信集团公司 数据业务访问方法及系统
CN103944992A (zh) * 2014-04-25 2014-07-23 厦门享游网络科技有限公司 一种在ios上加速http的方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
《Web加速系统中前端模块的设计与实现》;李磊;《万方数据库》;20100316;正文第2.2.2、2.2.3、4.1、4.1.1、4.2、5.4节 *
《广域网加速技术研究综述》;王建新等;《电信快报》;20090531;全文 *
《针对3G上网用户的无线网络加速系统》;王跃辉等;《通信技术》;20111130;全文 *

Also Published As

Publication number Publication date
CN104580192A (zh) 2015-04-29

Similar Documents

Publication Publication Date Title
CN104580192B (zh) 应用程序的网络访问请求的处理方法和装置
CN108200165B (zh) 请求传输系统、方法、装置及存储介质
CN110149388B (zh) Httpdns服务器的连接方法、装置及设备
US10587544B2 (en) Message processing method, processing server, terminal, and storage medium
CN107948324B (zh) 请求传输系统、方法、装置及存储介质
US11546444B2 (en) Traffic forwarding and disambiguation by using local proxies and addresses
CN104994079B (zh) 访问请求的处理方法和装置、加速服务器
CN109413219B (zh) 一种域名解析方法和装置、服务器及存储介质
CN108156210A (zh) 目标资源的获取方法和装置
CN101136929B (zh) 因特网小型计算机系统接口数据传输方法及设备
CN107222561A (zh) 一种传输层反向代理方法
CN108390955A (zh) 域名获取方法、网站访问方法及服务器
CN108200158A (zh) 请求传输系统、方法、装置及存储介质
CN104010001B (zh) 移动终端中同类联网请求进行连接通信的方法和系统
CN105338072A (zh) 一种http重定向方法及路由设备
CN105491169A (zh) 一种数据代理方法与系统
WO2013120315A1 (zh) 域名信息的处理方法、无线路由器和客户端
CN109413224A (zh) 报文转发方法和装置
CN109495477A (zh) 一种认证方法、设备及系统
CN107135091A (zh) 一种应用质量指标映射方法、服务器和客户端
CN105610945A (zh) 一种搜索流量入口本地化处理方法及装置
US10129320B2 (en) QoS improvement method, apparatus, and system
Mineki et al. Spdy accelerator for improving web access speed
CN112165449A (zh) web应用实时权限的控制方法、电子装置和存储介质
WO2023109045A1 (zh) WebRTC连接方法及系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant