CN104468852A - 客户端选择ip链接地址的方法、装置及系统 - Google Patents
客户端选择ip链接地址的方法、装置及系统 Download PDFInfo
- Publication number
- CN104468852A CN104468852A CN201310429957.3A CN201310429957A CN104468852A CN 104468852 A CN104468852 A CN 104468852A CN 201310429957 A CN201310429957 A CN 201310429957A CN 104468852 A CN104468852 A CN 104468852A
- Authority
- CN
- China
- Prior art keywords
- address
- client
- redirected
- server
- chained
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/25—Mapping addresses of the same type
- H04L61/2503—Translation of Internet protocol [IP] addresses
- H04L61/255—Maintenance or indexing of mapping tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种客户端选择IP链接地址的方法、装置及系统。其中,该方法包括:采用客户端连接服务器;在客户端与服务器连接成功之后,客户端发起业务握手,获取从服务器返回的重定向结果;在重定向结果为需要客户端重定向的情况下,客户端提取重定向结果中的重定向IP链接地址;客户端断开与服务器的当前网络连接,并通过重定向IP链接地址与新服务器建立通讯连接。通过本方法,能够减少客户端在复杂多变的无线网络环境中进行DNS查询时所消耗的访问资源,显著地降低客户端访问网页时造成的网络服务器负担,同时提高了客户端的访问速度、效率,并提高客户端接入的稳定性。
Description
技术领域
本发明涉及互联网技术领域,具体而言,涉及一种客户端选择IP链接地址的方法、装置及系统。
背景技术
现有的互联网通讯过程中,客户端一般采用域名服务DNS的方式连接服务器。这种方式的要点是,客户端在本地记录所要连接的服务器的域名,在客户端需要访问该服务器时,客户端先通过域名服务DNS查询的方式把域名转化为IP链接地址,然后再通过转化得到的IP链接地址来连接到对应的服务器。具体业务流程如下:
步骤1)、客户端检查本地缓存文件中是否保存有该域名所对应的IP地址,如果有,则通过该IP地址直接访问web站点,如果没有则进入步骤2)。
步骤2)、客户端向指定的DNS服务器的资料库中查询是否有该域名所对应的IP地址,如果有,则将该IP地址返回给客户端,客户端可通过该IP地址直接访问WEB站点,否则,进入步骤3)。
步骤3)、指定的DNS服务器在本地的快速缓存区中查询之前是否获取过该域名的文件记录,如果有,则将该IP地址返回给客户端,客户端可通过该IP地址直接访问WEB站点,否则,进入步骤4)。
步骤4)、在该DNS服务器中的资料库和快速缓存区中都查询不到对应的IP地址时,则该DNS服务器会向其他域名服务器进行查询操作,直到查询到该域名所对应的IP地址,并将该IP地址返回给指定的DNS服务器。
步骤5)、指定的DNS服务器江最终获取到的IP地址返回给客户端,客户端通过这个IP地址与WEB站点建立连接。
由上方案可知,客户端通过域名服务DNS的方式连接服务器,在复杂多变的无线互联网领域很难适应。包括如下原因:
1、上述域名服务DNS的查询本身可能需要消耗较多的时间,同时耗费过多的网络流量。上述方案在有线网络的环境下,因为速度快的原因,用户体验的影响不大,但如果用户处于无线网络的环境下,上述访问方式时间花费过多,且流量花费也显得比较突出。
2、由于无线环境非常复杂,ISP很多,同时可能存在访问的快速切换,因此,如果利用现有技术所提供的DNS查询方式不仅仅消耗时间过大,耗费流量突出,而且由于ISP众多,因此,客户端所连接到的服务器不是网络状态最优的,即客户端用于进行链接的IP地址不是当前网络环境中的最优IP,极端情况下可能出现客户端连接服务器失败的情况,或者客户端连接服务器的稳定性较差。
针对上述相关现有技术中由于客户端采用域名服务DNS的方式连接服务器,导致客户端消耗访问资源高,且访问效率低的问题,目前尚未提出有效的解决方案。
发明内容
本发明实施例提供了一种客户端选择IP链接地址的方法、装置及系统,以至少解决相关现有技术中由于客户端采用域名服务DNS的方式连接服务器,导致客户端消耗访问资源高,且访问效率低的技术问题。
根据本发明实施例的一个方面,提供了一种客户端选择IP链接地址的方法,该方法包括:客户端连接服务器;在客户端与服务器连接成功之后,客户端发起业务握手,获取从服务器返回的重定向结果;在重定向结果为需要客户端重定向的情况下,客户端提取重定向结果中的重定向IP链接地址;客户端断开与服务器的当前网络连接,并通过重定向IP链接地址与新服务器建立通讯连接。
根据本发明实施例的另一方面,还提供了一种客户端选择IP链接地址的装置,该装置包括:连接模块,用于客户端连接服务器;处理模块,用于在客户端与服务器连接成功之后,客户端发起业务握手,获取从服务器返回的重定向结果;提取模块,用于在重定向结果为需要客户端重定向的情况下,客户端提取重定向结果中的重定向IP链接地址;通讯模块,用于客户端断开与服务器的当前网络连接,并通过重定向IP链接地址与新服务器建立通讯连接。
根据本发明实施例的再一方面,还提供了一种客户端选择IP链接地址的系统,该系统包括:服务器;客户端,与服务器建立连接,在客户端与服务器连接成功之后,客户端发起业务握手,获取从服务器返回的重定向结果,在重定向结果为需要客户端重定向的情况下,客户端提取重定向结果中的重定向IP链接地址,并断开与服务器的当前网络连接,通过重定向IP链接地址与新服务器建立通讯连接。
在本发明实施例中,采用客户端连接服务器;在客户端与服务器连接成功之后,客户端发起业务握手,获取从服务器返回的重定向结果;在重定向结果为需要客户端重定向的情况下,客户端提取重定向结果中的重定向IP链接地址;客户端断开与服务器的当前网络连接,并通过重定向IP链接地址与新服务器建立通讯连接的方案,由于业务握手可以快速提供最优的IP链接地址,且不需要进行多层次的DNS查询工作,免除了现有技术中客户端采用DNS查询方式所需执行的多次数据传输,从而可以减少客户端在复杂多变的无线网络环境中进行DNS查询时所消耗的访问资源,显著地降低了客户端访问网页时造成的网络服务器负担,同时提高了客户端的访问速度、效率,并提高客户端接入的稳定性,进而解决了相关现有技术中由于客户端采用域名服务DNS的方式连接服务器,导致客户端消耗访问资源高,且访问效率低的技术问题。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是根据本发明实施例一的客户端选择IP链接地址的系统结构示意图;
图2是根据本发明实施例二的客户端选择IP链接地址的方法流程图
图3是根据本发明实施例二的一种可选的客户端选择IP链接地址的方法流程示意图;
图4是根据本发明实施例三的客户端选择IP链接地址的装置结构示意图。
具体实施方式
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
在描述本申请的各实施例的进一步细节之前,将参考图1来描述可用于实现本申请的原理的一个合适的计算体系结构。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本申请,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。
在其最基本的配置中,图1是根据本发明实施例一的客户端选择IP链接地址的系统结构示意图。出于描述的目的,所绘的体系结构仅为合适环境的一个示例,并非对本申请的使用范围或功能提出任何局限。也不应将该计算系统解释为对图1所示的任一组件或其组合具有任何依赖或需求。
如图1所示,该系统可以包括:一服务器2和一客户端1。
其中,客户端1与该服务器2建立连接,在客户端1与服务器2连接成功之后,客户端1发起业务握手,以获取从服务器2返回的重定向结果,在重定向结果为需要客户端1重定向的情况下,客户端1提取重定向结果中的重定向IP链接地址,并断开与服务器2的当前网络连接,通过重定向IP链接地址与新服务器建立通讯连接。
本申请上述实施例一中,在客户端1与服务器2成功建立连接,即通讯通道成功建立起来之后,通过在当前的通讯协议基础之上建立业务握手,基于业务握手服务获取从服务器2反馈的响应结果,即重定向结果,从而确定当前客户端1所链接的该服务器2是否是最优服务器,如果该重定向结果为需要客户端1重定向时,可以确定客户端1链接的该服务器2不是最优服务器,需要断开当前链接而重新与新服务器建立通信关系,而新服务器的地址可以是从重定向结果中提取到的重定向IP链接地址,客户端1启动断开当前网络连接,基于提取到的重定向IP链接地址与新服务器建立连接,此时的新服务器就是该客户端1在网络环境中通信状态最好的服务器。
因此,基于上述实施例所提供的方案,由于业务握手可以快速提供最优的IP链接地址,且不需要进行多层次的DNS查询工作,免除了现有技术中客户端采用DNS查询方式所需执行的多次数据传输,从而可以减少客户端在复杂多变的无线网络环境中进行DNS查询时所消耗的访问资源,显著地降低了客户端访问网页时造成的网络服务器负担,同时提高了客户端的访问速度、效率,并提高客户端接入的稳定性。
本申请实施例一中的业务握手是指客户端与当前链接的服务器进行网络状态验证的一个交互,目的是为了验证客户端链接的当前服务器是否是网络通信状态最好的服务器,如果不是,业务握手将会为客户端反馈最优服务器的链接地址。值得注意的是,本申请实施例一中的业务握手是区别于TCP/IP协议提供的TCP三次握手协议,TCP连接过程中,只有完成了三次握手才算连接成功,而业务握手是一种建立在TCP协议服务器基础之上的业务通讯,本实施例中体现为验证客户端的当前访问地址是否是最优的交互过程。当前,该业务握手仅是一个举例,也可以应用在其他场景中,例如,验证当前的客户端是否是合法客户端。
优选地,在本申请上述实施例一中,客户端1可以选择以下任意一种网络连接方式连接至服务器2:域名服务IP地址,硬编码IP地址或缓存IP地址。
其中,该域名服务IP地址是客户端1通过DNS查询获取到的IP地址,例如,用户在客户端1所提供的浏览器界面上输入URL地址之后,客户端1提取该URL地址中的域名,并查询该域名所对应的IP地址,在查询成功的情况下,客户端1则访问该IP地址所对应的服务器2,即成功访问web站点。
一般而言,在本发明实施例中,上述统一资源定位符URL(Uniform ResourceLocator)可以对目标网页的网页文件进行定位,该目标网页的网页文件存储于对应的服务器2中,该服务器2的IP地址通过输入的URL地址中的域名进行查询。此处应该知晓的是对目标网页的网页访问请求通常可以来自于对浏览器或用户界面中的指向目标网页的链接的点选的识别,例如,在本发明的一些实施例中,对上述浏览器或用户界面中存在URL超链接的一段文字上的鼠标点击动作的捕捉与识别即可以形成网页访问请求。当然,上述指向目标网页的URL链接也可以不出现在文字上,而是在图标、图片、视频画面等其他浏览器或用户界面中的元素上,本发明对此不作限定。
具体的,例如,客户端1在安装了QQ微博、QQ浏览器、QQ即时聊天或者QQ游戏等产品之后,该客户端1可以认为是一种QQ客户端,以QQ微博为例,在用户点击收听的一条微博消息中的一个URL链接时,QQ客户端读取该URL中的域名,然后根据该域名进行DNS查询,从而可以访问到目标网页和文件所在的服务器的IP地址,客户端访问该IP地址就可以从对应的服务器中读取到微博中的目标网页。
硬编码IP地址是预先硬编码在客户端里的一组IP地址。该组IP地址可以是对应于移动网络、联通网络或者电信网络的IP地址,例如:针对腾讯微博客户端的一组硬编码IP地址包括:183.195.xxx.xx;112.90.xxx.xx;113.108.xxx.xx,分别代表部署在中国移动,中国联通,中国电信网络中的服务器地址。
缓存IP地址是客户端1上一次与服务器连接时所使用的IP地址。该IP地址除了可以是来自DNS查询得到的IP地址,也可以是硬编码IP地址。另外,优选地,该缓存IP地址也可以是上一次客户端1重定向之后获取到的重定向IP链接地址,即客户端1在提取重定向结果中的重定向IP链接地址之后,可以将重定向IP链接地址作为缓存IP地址缓存至缓存器12的缓存区中,使得客户端下一次通信时可以利用该缓存IP地址连接服务器。由于缓存IP地址是缓存在客户端1的缓存器12的缓存区中,根据缓存器12的缓存区的内容可以快速读取的特点,客户端1利用缓存IP地址时,访问效率最高。
客户端1在选择上述IP地址的过程中,一般情况下,可以进行任意选择,在选择其中一种IP地址建立的通信失败时,可以选择其它的IP地址尝试连接,直至客户端1与服务器2连接成功。当然,这只是一种示例,本发明对此不作限定。在此需要说明的是,根据本发明实施例的技术方案的多种实施方式及其变形,均应属于本发明所保护的范围。
因此,进一步优选地,在上述实施例一中,为了提高客户端1连接服务器2的成功率,系统可以预先设置这三种IP地址的优先级顺序,客户端1可以按照以下优先级顺序依次尝试连接服务器2:缓存IP地址、域名服务IP地址、硬编码IP地址,在优先级最高的地址连接失败之后再选择优先级低的地址。具体的,在客户端1读取到重定向结果为不需要客户端1重定向的情况下,将选择客户端1当前选择的IP地址作为缓存IP地址进行缓存。
例如,客户端依次按照缓存IP地址和域名服务IP地址尝试与服务器连接都失败之后,可以选择硬编码IP地址进行连接,在客户端使用该硬编码IP地址与服务器连接成功之后,如果服务器检测到该硬编码IP地址就是最优的选择,即客户端不需要重定向选择新的IP地址,则客户端会将当前连接服务器的硬编码IP地址作为缓存IP地址进行缓存,以便于客户端在下一次进行访问时默认缓存中的IP地址就是访问效率最高的IP地址,而直接读取缓存中的该硬编码IP地址与服务器建立通讯。当然,上述场景仅为一种示例,在本发明的一些实施例中,还可以其他符合本发明实施例的变形,例如,客户端也可以将域名服务IP作为最优的选择进行缓存,也可以是上一次客户端访问时缓存在缓存器12的缓存区中的IP地址,本发明对此不作限定。
根据本申请上述实施例中所提供的客户端1选择IP链接地址的系统,该服务器2可以包括:接收装置20和处理装置22,用于实现接收有客户端1发起的业务握手,并获取针对请求数据而进行查询处理得到的重定向结果。其中,
接收装置20,用于接收由上述客户端1发出的请求数据,该请求数据可以包括:客户端1的IP地址,服务器2的IP地址。值得注意的是,此处的请求数据是在客户端1与服务器2通过TCP/IP协议建立通讯之后,客户端1发起的业务通讯请求,目的是为了实现验证当前客户端1连接的服务器2是否是通信状态最好的最优服务器。
处理装置22,用于根据客户端1的IP地址在地址数据库中进行查询,以获取客户端1的IP地址所对应的重定向IP链接地址,将服务器2的IP地址与查询得到的重定向IP链接地址进行比较,其中,在服务器2的IP地址与重定向IP链接地址不相同的情况下,获取重定向结果,该重定向结果为需要客户端1重定向。具体的,该处理装置22可以是服务器2中的处理器,通过请求数据中携带的客户端1的IP地址作为关键字在地址数据库中进行查询,此处的客户端IP地址还可以以客户端1的MAC地址或其他参数进行代替,只要是可以作为标识该客户端1的数据即可。
上述接收装置20和处理装置22可以是计算机中的一个硬件组件。
进一步地,该处理装置22还用于在服务器2的IP地址与重定向IP链接地址相同的情况下,确定重定向结果为不需要客户端重定向,此时,客户端1保持与服务器2的当前网络连接。
由此可知,本申请上述实施例中的请求数据是一个包括多个数据字段的数据包。
在处理装置22进行查询业务之前,本申请上述实施例中所提供的客户端1选择IP链接地址的系统,需要在服务器2中创建一个地址数据库,可以通过第一检测装置24和存储器26来实现。该地址数据库保存了至少一个地址数据表,地址数据表的字段信息包括:发出请求数据的客户端IP地址和重定向服务器的重定向IP链接地址,具体示例详见表1:
表1:
客户端IP(Key) | 重定向服务器的重定向IP链接地址(value) |
14.17.22.38 | 113.108.19.82 |
111.20.87.31 | 112.90.143.78 |
系统可以通过第一检测装置24和存储器26来完成创建地址数据库的功能。
具体的,上述实施例中的第一检测装置24,可以用于检测网络中客户端与每个服务器连接时的网络连接速度,以获取客户端与每个服务器连接时的网速值,其中,网速值最高时所对应的服务器IP地址为重定向IP链接地址。
具体的,检测装置检测网络连接速度可以采用如下方式:在网络空闲时,检测装置会向测速服务器(是网络中可以与客户端建立通讯的任意服务器)发送随机长度的数据包,测速服务器根据获取到的数据包将数据原样返回给检测装置,此时,检测装置计算发送数据包并接收到数据原样后的时间差,并循环上述过程,得到多次测试结果,将所有的测试结果做平均计算,即可得到当前网络中的服务器的网络速度。
上述方案只是一种示例,本申请对此不作任何限定,还可以采用其他方式获取测速结果,例如,检测网速的检测装置还可以安装在客户端上,由每个客户端向服务器上报检测到的网速。
存储器26,用于保存客户端的IP地址及其对应的重定向IP链接地址,以获取客户端的地址数据表,并保存检测装置检测网络中各个客户端所得到的每个客户端所对应的地址数据表,以获取地址数据库。
优选地,本申请上述实施例中的请求数据还包括:重定向标记,客户端1还可以包括:第二检测装置10,用于检测重定向标记,当重定向标记为客户端1已经重定向时,客户端1停止发送请求数据。其中,在客户端1上一次断开与服务器2的网络连接,并通过重定向IP链接地址与新服务器建立通讯连接之后,将重定向标记置为客户端已经重定向。
具体的,该重定向标记可以属于请求数据中的一个数据字段,该重定向标记用于表示当前客户端在上次连接服务器时是否已经要求过重定向,由此可知,由于客户端提供了该重定向标记,如果该重定向标记已经置位,则表示当前客户端已经重新置位,不要重复重定向的操作,因此,如果客户端在发送请求数据之前,可以先检测重定向标记是否已经置位,如果置位则停止发送请求数据,从而减少了客户端不必要的操作,减少了客户端的资源消耗。
优选地,上述实施例中的请求数据还可以包括运营商信息,例如中国移动,中国联通,中国电信,wifi等运营商的标识符,用于表征当前客户端连接网络时所采用的运营商提供的服务,因此,在客户端1发送请求数据给服务器2之后,服务器2会反馈该运营商所提供的通讯通道的状态给客户端1,从而使得客户端1记录当前运营商的服务效率,客户端1可以导出报表来直观反映当前运营商所提供的网络的优劣。
实施例2
根据本发明实施例,还提供了一种用于实施上述系统实施例的方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
图2是根据本发明实施例的客户端选择IP链接地址的方法流程图;图3是根据本发明实施例的一种可选的客户端选择IP链接地址的方法流程示意图。
如图2所示该方法包括如下步骤:
步骤S10,客户端连接服务器。
步骤S30,在客户端与服务器连接成功之后,客户端发起业务握手,以获取从服务器返回的重定向结果。
步骤S50,在重定向结果为需要客户端重定向的情况下,客户端提取重定向结果中的重定向IP链接地址。
步骤S70,客户端断开与服务器的当前网络连接,并通过重定向IP链接地址与新服务器建立通讯连接。具体的,此时客户端确定需要重定向,因此,先断开当前连接,然后再用返回的重定向结果中的IP地址来建立新的连接。优选地,在步骤S70之后可以直接进入步骤S106,即可以同时缓存此时返回的重定向IP链接地址作为历史最优IP。
本申请上述实施例二中,在客户端与服务器成功建立连接,即通讯通道成功建立起来之后,通过在当前的通讯协议(例如TCP或UDP通讯协议)基础之上建立业务握手,基于业务握手服务获取从服务器反馈的响应结果,即重定向结果,从而确定当前客户端所链接的该服务器是否是最优服务器,如果该重定向结果为需要客户端重定向时,可以确定客户端链接的该服务器不是最优服务器,需要断开当前链接而重新与新服务器建立通信关系,而新服务器的地址可以是从重定向结果中提取到的重定向IP链接地址,客户端启动断开当前网络连接,基于提取到的重定向IP链接地址与新服务器建立连接,此时的新服务器就是该客户端在网络环境中通信状态最好的服务器。
因此,基于上述实施例所提供的方案,由于业务握手可以快速提供最优的IP链接地址,且不需要进行多层次的DNS查询工作,免除了现有技术中客户端采用DNS查询方式所需执行的多次数据传输,从而可以减少客户端在复杂多变的无线网络环境中进行DNS查询时所消耗的访问资源,显著地降低了客户端访问网页时造成的网络服务器负担,同时提高了客户端的访问速度、效率,并提高客户端接入的稳定性。
本申请实施例二中的业务握手是指客户端与当前链接的服务器进行网络状态验证的一个交互过程,目的是为了验证客户端链接的当前服务器是否是网络通信状态最好的服务器,如果不是,业务握手将会为客户端反馈最优服务器的链接地址。
值得注意的是,本申请实施例二中的业务握手是区别于TCP/IP协议提供的TCP三次握手协议,TCP连接过程中,只有完成了三次握手才算连接成功,而业务握手是一种建立在TCP协议服务器基础之上的业务通讯,本实施例中体现为验证客户端的当前访问地址是否是最优的交互过程。上述过程仅是一个具体,本申请不限于上述方式,也可以应用在其他场景中,例如,验证当前的客户端是否是合法客户端。
如图3所示,本申请上述实施例二中的步骤S10,客户端连接服务器,该步骤中可以包括:
步骤S101:客户端可以选择以下任意一个预选IP地址连接至服务器:域名服务IP地址,硬编码IP地址或缓存IP地址。目的是为了执行客户端尝试与服务器建立网络连接。
其中,该域名服务IP地址是客户端通过DNS查询获取到的IP地址,例如,用户在客户端所提供的浏览器界面上输入URL地址之后,客户端提取该URL地址中的域名,并查询该域名所对应的IP地址,在查询成功的情况下,客户端则访问该IP地址所对应的服务器,即成功访问web站点。
一般而言,在本发明实施例中,上述统一资源定位符URL(Uniform ResourceLocator)可以对目标网页的网页文件进行定位,该目标网页的网页文件存储于对应的服务器中,该服务器的IP地址通过输入的URL地址中的域名进行查询。此处应该知晓的是对目标网页的网页访问请求通常可以来自于对浏览器或用户界面中的指向目标网页的链接的点选的识别,例如,在本发明的一些实施例中,对上述浏览器或用户界面中存在URL超链接的一段文字上的鼠标点击动作的捕捉与识别即可以形成网页访问请求。当然,上述指向目标网页的URL链接也可以不出现在文字上,而是在图标、图片、视频画面等其他浏览器或用户界面中的元素上,本发明对此不作限定。
具体的,例如,客户端在安装了QQ微博、QQ浏览器、QQ即时聊天或者QQ游戏等产品之后,该客户端可以认为是一种QQ客户端,以QQ浏览器为例,用户在浏览器的地址栏中输入一个URL链接,或者点击浏览器界面上的一个地址连接对象时,QQ客户端读取该URL中的域名,然后根据该域名进行DNS查询,从而可以访问到目标网页和文件所在的服务器的IP地址,客户端访问该IP地址就可以从对应的服务器中读取到微博中的目标网页。
而硬编码IP地址是预先硬编码在客户端里的一组IP地址。该组IP地址可以是对应于移动网络、联通网络或者电信网络的IP地址,例如:针对腾讯微博客户端的一组硬编码IP地址包括:183.195.xxx.xx;112.90.xxx.xx;113.108.xxx.xx,分别代表部署在中国移动,中国联通,中国电信网络中的服务器地址。
缓存IP地址是客户端上一次与服务器连接时所使用的IP地址。该缓存IP地址除了可以是来自DNS查询得到的IP地址,也可以是硬编码IP地址。另外,优选地,该缓存IP地址也可以是上一次客户端重定向之后获取到的重定向IP链接地址,即客户端在提取重定向结果中的重定向IP链接地址之后,可以将重定向IP链接地址作为缓存IP地址进行缓存,使得客户端下一次通信时可以利用该缓存IP地址连接服务器。由于缓存IP地址是缓存在客户端的缓存区中,根据缓存区的内容可以快速读取的特点,客户端利用缓存IP地址时,访问效率最高。
客户端在选择上述各种预选IP地址的过程中,一般情况下,可以进行任意选择,在选择其中一种IP地址建立的通信失败时,可以尝试选择其它的IP地址进行网络连接,直至客户端与服务器连接成功。当然,这只是一种示例,本发明对此不作限定。在此需要说明的是,根据本发明实施例的技术方案的多种实施方式及其变形,均应属于本发明所保护的范围。
因此,进一步优选地,在上述实施例二中,步骤S101中选择预选IP地址的方法可以按照IP地址的优先级顺序依次尝试连接服务器,从而可以提高客户端连接服务器的成功率。具体的,系统可以预先设置这三种IP地址的优先级顺序,在客户端尝试链接服务器时,可以按照以下优先级顺序依次尝试连接服务器:缓存IP地址、域名服务IP地址、硬编码IP地址,在优先级最高的地址连接失败之后再选择优先级低的地址。
例如,客户端可以首先选择缓存IP地址连接服务器,在失败的情况继续选择域名服务IP来链接服务,因此,如果客户端依次按照缓存IP地址和域名服务IP地址尝试与服务器连接都失败之后,可以选择硬编码IP地址进行连接,在客户端使用该硬编码IP地址与服务器连接成功之后,如果服务器检测到该硬编码IP地址就是最优的选择,即客户端不需要重定向选择新的IP地址,则客户端会将当前连接服务器的硬编码IP地址作为缓存IP地址进行缓存,以便于客户端在下一次进行访问时默认缓存中的IP地址就是访问效率最高的IP地址,而直接读取缓存中的该硬编码IP地址与服务器建立通讯。当然,上述场景仅为一种示例,在本发明的一些实施例中,还可以其他符合本发明实施例的变形,例如,客户端也可以将域名服务IP作为最优的选择进行缓存,也可以是上一次客户端访问时缓存在缓存区中的IP地址,本发明对此不作限定。
基于上述实施例,如图3所示,本申请上述实施例中,在步骤S30之后,可以包括:
步骤S105,在客户端读取到重定向结果为不需要客户端重定向的情况下,将选择客户端当前选择的IP地址作为缓存IP地址进行缓存。目的是为客户端下一次与尝试连接服务器时,可以从缓存中高效快速的读取到IP地址,该IP地址是历史最优IP地址,即客户端在以往通讯过程中,网络连接状态最好的IP地址。
优选地,如图3所示,本申请上述实施例中,步骤S30,客户端发起业务握手,以获取从服务器返回的重定向结果的步骤可以包括如下步骤来实现:
步骤S102,客户端发出请求数据,请求数据可以包括:客户端的IP地址,服务器的IP地址。值得注意的是,此处的请求数据是在客户端与服务器通过TCP/IP协议建立通讯之后,客户端发起的业务通讯请求,目的是为了实现验证当前客户端连接的服务器是否是通信状态最好的最优服务器。
步骤S103,根据客户端的IP地址在地址数据库中进行查询,以获取客户端的IP地址所对应的重定向IP链接地址,并将服务器的IP地址与查询得到的重定向IP链接地址进行比较,以确定当前客户端是否需要重定向,并将重定向结果返回给客户端。上述步骤通过服务器根据业务握手包中的信息在地址数据库中进行查询操作,达到确定当前客户端是否已经连接到最优服务器的目的,并作为结果返回给客户端。
具体的,上述实施例通过请求数据中携带的客户端的IP地址作为关键字在地址数据库中进行查询,此处的客户端IP地址还可以以客户端的MAC地址或其他参数进行代替,只要是可以作为标识该客户端的数据即可。
在步骤S103之后,可以进入步骤S104。
步骤S104,客户端接收返回的重定向结果,并根据该重定向结果确定客户端是否需要重定向。
其中,在服务器的IP地址与重定向IP链接地址不相同的情况下,获取重定向结果,该重定向结果为需要客户端重定向。而在服务器的IP地址与重定向IP链接地址相同的情况下,重定向结果为不需要客户端重定向,客户端保持与服务器的当前网络连接。
一般而言,服务器可以在重定向结果中设置一个标记位,如果检测到服务器的IP地址与重定向IP链接地址不相同的情况下,除了将当前重定向IP链接地址返回给客户端,同时会将该标志位置位之后一并反馈给客户端,客户端一旦检测到返回的标志位被置位则明确了需要重定向,从而读取返回的重定向IP链接地址重新进行网络连接,而如果标志位没有置位或者没有返回标志位信息,则确定当前客户端不需要重定向,保持当前的网络通信即可。
显然,此处根据该重定向结果确定客户端是否需要重定向不限于上述方式,还可以采用其他方法,例如,如果服务器检测得到服务器的IP地址与重定向IP链接地址不相同的情况下,则将当前重定向IP链接地址返回给客户端,否则返回当前服务器的IP地址或空值,因此,如果客户端接收到重定向IP链接地址则确定需要重定向,否则如果接收到的重定向结果为空值或还是请求数据中的服务器IP地址,则不进行重定向。由此可知,本申请实施例中对确定客户端是否需要重定向的方法不作限定。
基于上述根据重定向结果确定客户端是否需要重定向的方法,本申请优选如下方法进行处理。
优选地,在客户端发起的业务请求的步骤S102中,请求数据还可以携带一个重定向标记,通过该重定向标记的置位情况来确定客户端是否需要重定向。这种设置重定向标记的方法除了可以实现上述功能,还可以实现减少客户端重复进行重定向访问的功能,即在客户端发出请求数据之前,客户端首先检测重定向标记;当重定向标记为客户端已经重定向时,客户端停止发送请求数据;其中,在客户端上一次断开与服务器的网络连接,并通过重定向IP链接地址与新服务器建立通讯连接之后,将重定向标记置为客户端已经重定向。
具体的,该重定向标记可以是属于请求数据中的一个数据字段,该重定向标记用于表示当前客户端在上次连接服务器时是否已经要求过重定向,由此可知,由于客户端提供了该重定向标记,如果该重定向标记已经置位,则表示当前客户端已经重新置位,不要重复重定向的操作,因此,如果客户端在发送请求数据之前,可以先检测重定向标记是否已经置位,如果置位则停止发送请求数据,从而减少了客户端不必要的操作,减少了客户端的资源消耗。
优选地,上述实施例中的请求数据还可以包括运营商信息,例如中国移动,中国联通,中国电信,wifi等运营商的标识符,用于表征当前客户端连接网络时所采用的运营商提供的服务,因此,在客户端发送请求数据给服务器之后,服务器会反馈该运营商所提供的通讯通道的状态给客户端,从而使得客户端记录当前运营商的服务效率,客户端可以导出报表来直观反映当前运营商所提供的网络的优劣。
由此可知,本申请上述实施例中的请求数据是一个包括多个数据字段的数据包。
优选地,在步骤S103,在根据客户端的IP地址在地址数据库中进行查询之前,需要创建地址数据库,该地址数据库一般保存在服务器本地,但并不限于此,也可以根据网络环境选择其他服务器进行保存,例如当前服务器的同步服务器或热备服务器,只要可以保证可以快速、稳定的调取地址数据库即可。
本申请实施例中,上述创建地址数据库的方案可以包括如下步骤:
检测步骤,用于检测网络中客户端与每个服务器连接时的网络链接速度,以获取客户端与每个服务器连接时的网速值,其中,网速值最高时所对应的服务器IP地址为重定向IP链接地址。
具体的,检测网络连接速度可以采用如下方式:在网络空闲时,先向测速服务器(是网络中可以与客户端建立通讯的任意服务器)发送随机长度的数据包,测速服务器根据获取到的数据包将数据原样返回给检测装置,此时,处理器计算发送数据包并接收到数据原样后的时间差,并循环上述过程,得到多次测试结果,将所有的测试结果做平均计算,即可得到当前网络中的服务器的网络速度。上述方案只是一种示例,本申请对此不作任何限定,还可以采用其他方式获取测速结果,例如,检测网速的检测装置还可以安装在客户端上,由每个客户端向服务器上报检测到的网速。
保存步骤,保存客户端的IP地址及其对应的重定向IP链接地址,以获取客户端的地址数据表。
循环步骤,循环执行检测步骤和保存步骤,以获取网络中各个客户端所对应的地址数据表。
获取步骤,保存每个客户端所对应的地址数据表,以获取地址数据库。
由上实施例可知,本申请上述实施例中所提供的客户端选择IP链接地址的系统,需要在服务器中创建一个地址数据库。该地址数据库保存了至少一个地址数据表,地址数据表的字段信息包括:发出请求数据的客户端IP地址和重定向服务器的重定向IP链接地址,具体示例详见表2:
表2:
客户端IP(Key) | 重定向服务器的重定向IP链接地址(value) |
14.17.22.38 | 113.108.19.82 |
111.20.87.31 | 112.90.143.78 |
上述实施例中的地址数据库中的地址数据表是可以定时更新的,工作人员可以根据网络状态更新重定向服务器的重定向IP链接地址,或者系统可以根据客户端上报的网络数据自动更新客户端IP对应的最优服务器的IP地址。
需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
实施例3
本申请的原理可以使用其它通用或专用计算或通信环境或配置来操作。适用于本申请的众所周知的计算系统、环境和配置的示例包括但不限于,个人计算机、服务器,多处理器系统、基于微处理的系统、小型机、大型计算机、以及包括任一上述系统或设备的分布式计算环境。
图4是根据本发明实施例三的客户端选择IP链接地址的装置结构示意图。
如图4所示,该客户端选择IP链接地址的装置可以包括:连接模块102、处理模块104、提取模块106和通讯模块108。
其中,连接模块102,用于客户端连接服务器;处理模块104,用于在客户端与服务器连接成功之后,客户端发起业务握手,获取从服务器返回的重定向结果;提取模块106,用于在重定向结果为需要客户端重定向的情况下,客户端提取重定向结果中的重定向IP链接地址;通讯模块108,用于客户端断开与服务器的当前网络连接,并通过重定向IP链接地址与新服务器建立通讯连接。
本申请上述实施例三中,客户端可以通过其上的连接模块102与服务器成功建立连接,即在通讯通道成功建立起来之后,通过处理模块104实现在当前的通讯协议基础之上建立业务握手,基于业务握手服务获取从服务器反馈的响应结果,即重定向结果,从而确定当前客户端所链接的该服务器是否是最优服务器,如果该重定向结果为需要客户端重定向时,可以确定客户端链接的该服务器不是最优服务器,从而需要通讯模块108来断开当前链接而重新与新服务器建立通信关系,而新服务器的地址可以通过提取模块106从重定向结果中提取到的重定向IP链接地址,客户端启动断开当前网络连接,基于提取到的重定向IP链接地址与新服务器建立连接,此时的新服务器就是该客户端在网络环境中通信状态最好的服务器。
因此,基于上述实施例所提供的方案,由于业务握手可以快速提供最优的IP链接地址,且不需要进行多层次的DNS查询工作,免除了现有技术中客户端采用DNS查询方式所需执行的多次数据传输,从而可以减少客户端在复杂多变的无线网络环境中进行DNS查询时所消耗的访问资源,显著地降低了客户端访问网页时造成的网络服务器负担,同时提高了客户端的访问速度、效率,并提高客户端接入的稳定性。
而且,本申请实施例三中的业务握手是指客户端与当前链接的服务器进行网络状态验证的一个交互过程,目的是为了验证客户端链接的当前服务器是否是网络通信状态最好的服务器,如果不是,业务握手将会为客户端反馈最优服务器的链接地址。
值得注意的是,本申请实施例二中的业务握手是区别于TCP/IP协议提供的TCP三次握手协议,TCP连接过程中,只有完成了三次握手才算连接成功,而业务握手是一种建立在TCP协议服务器基础之上的业务通讯,本实施例中体现为验证客户端的当前访问地址是否是最优的交互过程。上述过程仅是一个具体,本申请不限于上述方式,也可以应用在其他场景中,例如,验证当前的客户端是否是合法客户端。
基于上述装置实施例,本申请客户端可以选择以下任意一种预选IP地址连接至服务器:域名服务IP地址,硬编码IP地址或缓存IP地址。目的是为了执行客户端尝试与服务器建立网络连接。
其中,该域名服务IP地址是客户端通过DNS查询获取到的IP地址,例如,用户在客户端所提供的浏览器界面上输入URL地址之后,客户端提取该URL地址中的域名,并查询该域名所对应的IP地址,在查询成功的情况下,客户端则访问该IP地址所对应的服务器,即成功访问web站点。
具体的,例如,客户端在安装了QQ微博、QQ浏览器、QQ即时聊天或者QQ游戏等产品之后,该客户端可以认为是一种QQ客户端,以QQ浏览器为例,用户在浏览器的地址栏中输入一个URL链接,或者点击浏览器界面上的一个地址连接对象时,QQ客户端读取该URL中的域名,然后根据该域名进行DNS查询,从而可以访问到目标网页和文件所在的服务器的IP地址,客户端访问该IP地址就可以从对应的服务器中读取到微博中的目标网页。
而硬编码IP地址是预先硬编码在客户端里的一组IP地址。该组IP地址可以是对应于移动网络、联通网络或者电信网络的IP地址,例如,针对腾讯微博客户端的一组硬编码IP地址包括:183.195.xxx.xx;112.90.xxx.xx;113.108.xxx.xx,分别代表部署在中国移动,中国联通,中国电信网络中的服务器地址。。
缓存IP地址是客户端上一次与服务器连接时所使用的IP地址。该缓存IP地址除了可以是来自DNS查询得到的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地址作为缓存IP地址进行缓存,以便于客户端在下一次进行访问时默认缓存中的IP地址就是访问效率最高的IP地址,而直接读取缓存中的该硬编码IP地址与服务器建立通讯。当然,上述场景仅为一种示例,在本发明的一些实施例中,还可以其他符合本发明实施例的变形,例如,客户端也可以将域名服务IP作为最优的选择进行缓存,也可以是上一次客户端访问时缓存在缓存区中的IP地址,本发明对此不作限定。
因此,缓存模块还用于在重定向结果为不需要客户端重定向的情况下,将客户端选择的当前预选IP地址作为缓存IP地址进行缓存。
优选地,本申请上述实施例中的处理模块104可以包括:发送模块1041、查询模块1042、比较模块1043和重定向模块1044。
其中,发送模块1041,用于客户端发出请求数据,请求数据包括:客户端的IP地址,服务器的IP地址;查询模块1042,用于根据客户端的IP地址在地址数据库中进行查询,以获取客户端的IP地址所对应的重定向IP链接地址;比较模块1043,用于将服务器的IP地址与查询得到的重定向IP链接地址进行比较;重定向模块1044,用于在服务器的IP地址与重定向IP链接地址不相同的情况下,获取重定向结果,该重定向结果为需要客户端重定向。
进一步地,还可以包括非重定向模块1044,用于在服务器的IP地址与重定向IP链接地址相同的情况下,重定向结果为不需要客户端重定向,客户端保持与服务器的当前网络连接。
具体的,上述实施例中的请求数据是在客户端与服务器通过TCP/IP协议建立通讯之后,客户端发起的业务通讯请求,目的是为了实现验证当前客户端连接的服务器是否是通信状态最好的最优服务器。实施方案是通过请求数据中携带的客户端的IP地址作为关键字在地址数据库中进行查询,此处的客户端IP地址还可以以客户端的MAC地址或其他参数进行代替,只要是可以作为标识该客户端的数据即可。
一般而言,服务器可以在重定向结果中设置一个标记位,如果检测到服务器的IP地址与重定向IP链接地址不相同的情况下,除了将当前重定向IP链接地址返回给客户端,同时会将该标志位置位之后一并反馈给客户端,客户端一旦检测到返回的标志位被置位则明确了需要重定向,从而读取返回的重定向IP链接地址重新进行网络连接,而如果标志位没有置位或者没有返回标志位信息,则确定当前客户端不需要重定向,保持当前的网络通信即可。
显然,此处根据该重定向结果确定客户端是否需要重定向不限于上述方式,还可以采用其他方法,例如,如果服务器检测得到服务器的IP地址与重定向IP链接地址不相同的情况下,则将当前重定向IP链接地址返回给客户端,否则返回当前服务器的IP地址或空值,因此,如果客户端接收到重定向IP链接地址则确定需要重定向,否则如果接收到的重定向结果为空值或还是请求数据中的服务器IP地址,则不进行重定向。由此可知,本申请实施例中对确定客户端是否需要重定向的方法不作限定。
优选地,可以在请求数据中设置一个重定向标记,上述系统中的第二检测模块,用于检测重定向标记;然后通过中止模块来确定是否停止发送请求数据,具体的,当重定向标记为客户端已经重定向时,客户端停止发送请求数据;其中,在客户端上一次断开与服务器的网络连接,并通过重定向IP链接地址与新服务器建立通讯连接之后,将重定向标记置为客户端已经重定向。
具体的,该重定向标记可以是属于请求数据中的一个数据字段,该重定向标记用于表示当前客户端在上次连接服务器时是否已经要求过重定向,由此可知,由于客户端提供了该重定向标记,如果该重定向标记已经置位,则表示当前客户端已经重新置位,不要重复重定向的操作,因此,如果客户端在发送请求数据之前,可以先检测重定向标记是否已经置位,如果置位则停止发送请求数据,从而减少了客户端不必要的操作,减少了客户端的资源消耗。
优选地,上述实施例中的请求数据还可以包括运营商信息,例如中国移动,中国联通,中国电信,wifi等运营商的标识符,用于表征当前客户端连接网络时所采用的运营商提供的服务。因此,在客户端发送请求数据给服务器之后,服务器会反馈该运营商所提供的通讯通道的状态给客户端,从而使得客户端记录当前运营商的服务效率,客户端可以导出报表来直观反映当前运营商所提供的网络的优劣。
如图4所示,上述实施例中所提供的装置还可以提供一个创建模块,用于创建地址数据库。该创建模块可以包括:第一检测模块、保存模块、循环模块和存储模块。
其中,第一检测模块,用于检测网络中客户端与每个服务器连接时的网络链接速度,以获取客户端与每个服务器连接时的网速值,其中,网速值最高时所对应的服务器IP地址为重定向IP链接地址。具体的,该检测模块检测网络连接速度可以采用如下方式:在网络空闲时,检测模块会向测速服务器(是网络中可以与客户端建立通讯的任意服务器)发送随机长度的数据包,测速服务器根据获取到的数据包将数据原样返回给检测模块,此时,检测模块计算发送数据包并接收到数据原样后的时间差,并循环上述过程,得到多次测试结果,将所有的测试结果做平均计算,即可得到当前网络中的服务器的网络速度。上述检测模块可以安装在客户端上,由每个客户端向服务器上报检测到的网速。
保存模块,用于保存客户端的IP地址及其对应的重定向IP链接地址,获取客户端的地址数据表;
循环模块,用于循环执行检测模块和保存模块,获取网络中各个客户端所对应的地址数据表;
存储模块,用于保存每个客户端所对应的地址数据表,获取地址数据库。
上述实施例中的地址数据库中的地址数据表是可以定时更新的,工作人员可以根据网络状态更新重定向服务器的重定向IP链接地址,或者系统可以根据客户端上报的网络数据自动更新客户端IP对应的最优服务器的IP地址。
从以上的描述中,可以看出,本发明实现了如下技术效果:基于上述各个实施例所提供的方案,由于业务握手可以快速提供最优的IP链接地址,且不需要进行多层次的DNS查询工作,免除了现有技术中客户端采用DNS查询方式所需执行的多次数据传输,从而可以减少客户端在复杂多变的无线网络环境中进行DNS查询时所消耗的访问资源,显著地降低了客户端访问网页时造成的网络服务器负担,同时提高了客户端的访问速度、效率,并提高客户端接入的稳定性。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的客户端,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
Claims (21)
1.一种客户端选择IP链接地址的方法,其特征在于,包括:
客户端连接服务器;
在所述客户端与所述服务器连接成功之后,所述客户端发起业务握手,获取从所述服务器返回的重定向结果;
在所述重定向结果为需要所述客户端重定向的情况下,所述客户端提取所述重定向结果中的重定向IP链接地址;
所述客户端断开与所述服务器的当前网络连接,并通过所述重定向IP链接地址与新服务器建立通讯连接。
2.根据权利要求1所述的方法,其特征在于,所述客户端发起业务握手,以获取从所述服务器返回的重定向结果的步骤包括:
所述客户端发出请求数据,所述请求数据包括:所述客户端的IP地址,所述服务器的IP地址;
根据所述客户端的IP地址在地址数据库中进行查询,获取所述客户端的IP地址所对应的重定向IP链接地址;
将所述服务器的IP地址与查询得到的所述重定向IP链接地址进行比较,其中,在所述服务器的IP地址与所述重定向IP链接地址不相同的情况下,获取所述重定向结果,该重定向结果为需要所述客户端重定向。
3.根据权利要求2所述的方法,其特征在于,在所述服务器的IP地址与所述重定向IP链接地址相同的情况下,所述重定向结果为不需要所述客户端重定向,所述客户端保持与所述服务器的当前网络连接。
4.根据权利要求3所述的方法,其特征在于,在根据所述客户端的IP地址在地址数据库中进行查询之前,所述方法还包括:
创建所述地址数据库,包括如下步骤:
检测步骤,检测网络中所述客户端与每个服务器连接时的网络链接速度,获取所述客户端与每个服务器连接时的网速值,其中,所述网速值最高时所对应的服务器IP地址为所述重定向IP链接地址;
保存步骤,保存所述客户端的IP地址及其对应的所述重定向IP链接地址,以获取所述客户端的地址数据表;
循环步骤,循环执行检测步骤和保存步骤,获取网络中各个客户端所对应的地址数据表;
获取步骤,保存每个客户端所对应的地址数据表,获取所述地址数据库。
5.根据权利要求2所述的方法,其特征在于,所述请求数据还包括:重定向标记,其中,在所述客户端发出请求数据之前,所述方法还包括:
检测所述重定向标记;
当所述重定向标记为所述客户端已经重定向时,所述客户端停止发送所述请求数据;其中,
在所述客户端上一次断开与所述服务器的网络连接,并通过所述重定向IP链接地址与新服务器建立通讯连接之后,将所述重定向标记置为所述客户端已经重定向。
6.根据权利要求1至5中任意一项所述的方法,其特征在于,客户端选择以下任意一个预选IP地址连接至服务器:域名服务IP地址,硬编码IP地址或缓存IP地址,其中,在所述客户端提取所述重定向结果中的重定向IP链接地址之后,所述方法还包括:将所述重定向IP链接地址作为所述缓存IP地址进行缓存。
7.根据权利要求6所述的方法,其特征在于,所述客户端按照所述预选IP地址的优先级与所述服务器链接,所述预选IP地址的优先级顺序为:所述缓存IP地址、所述域名服务IP地址、所述硬编码IP地址,其中,在所述重定向结果为不需要所述客户端重定向的情况下,将所述客户端选择的当前预选IP地址作为所述缓存IP地址进行缓存。
8.一种客户端选择IP链接地址的装置,其特征在于,包括:
连接模块,用于客户端连接服务器;
处理模块,用于在所述客户端与所述服务器连接成功之后,所述客户端发起业务握手,获取从所述服务器返回的重定向结果;
提取模块,用于在所述重定向结果为需要所述客户端重定向的情况下,所述客户端提取所述重定向结果中的重定向IP链接地址;
通讯模块,用于所述客户端断开与所述服务器的当前网络连接,并通过所述重定向IP链接地址与新服务器建立通讯连接。
9.根据权利要求8所述的装置,其特征在于,所述处理模块包括:
发送模块,用于所述客户端发出请求数据,所述请求数据包括:所述客户端的IP地址,所述服务器的IP地址;
查询模块,用于根据所述客户端的IP地址在地址数据库中进行查询,以获取所述客户端的IP地址所对应的重定向IP链接地址;
比较模块,用于将所述服务器的IP地址与查询得到的所述重定向IP链接地址进行比较;
重定向模块,用于在所述服务器的IP地址与所述重定向IP链接地址不相同的情况下,获取所述重定向结果,该重定向结果为需要所述客户端重定向。
10.根据权利要求9所述的装置,其特征在于,所述处理模块还包括:非重定向模块,用于在所述服务器的IP地址与所述重定向IP链接地址相同的情况下,所述重定向结果为不需要所述客户端重定向,所述客户端保持与所述服务器的当前网络连接。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括:
创建模块,用于创建所述地址数据库,所述创建模块包括:
第一检测模块,用于检测网络中所述客户端与每个服务器连接时的网络链接速度,以获取所述客户端与每个服务器连接时的网速值,其中,所述网速值最高时所对应的服务器IP地址为所述重定向IP链接地址;
保存模块,用于保存所述客户端的IP地址及其对应的所述重定向IP链接地址,获取所述客户端的地址数据表;
循环模块,用于循环执行检测模块和保存模块,获取网络中各个客户端所对应的地址数据表;
存储模块,用于保存每个客户端所对应的地址数据表,获取所述地址数据库。
12.根据权利要求9所述的装置,其特征在于,所述请求数据还包括:重定向标记,所述装置还包括:
第二检测模块,用于检测所述重定向标记;
中止模块,用于当所述重定向标记为所述客户端已经重定向时,所述客户端停止发送所述请求数据;其中,在所述客户端上一次断开与所述服务器的网络连接,并通过所述重定向IP链接地址与新服务器建立通讯连接之后,将所述重定向标记置为所述客户端已经重定向。
13.根据权利要求8至12中任意一项所述的装置,其特征在于,客户端选择以下任意一种预选IP地址连接至服务器:域名服务IP地址,硬编码IP地址或缓存IP地址,其中,所述装置还包括:缓存模块,用于将所述重定向IP链接地址作为所述缓存IP地址进行缓存。
14.根据权利要求13所述的装置,其特征在于,所述客户端按照所述预选IP地址的优先级与所述服务器链接,所述预选IP地址的优先级顺序为:所述缓存IP地址、所述域名服务IP地址、所述硬编码IP地址,其中,所述缓存模块还用于在所述重定向结果为不需要所述客户端重定向的情况下,将所述客户端选择的当前预选IP地址作为所述缓存IP地址进行缓存。
15.一种客户端选择IP链接地址的系统,其特征在于,包括:
服务器;
客户端,与所述服务器建立连接,在所述客户端与所述服务器连接成功之后,所述客户端发起业务握手,获取从所述服务器返回的重定向结果,在所述重定向结果为需要所述客户端重定向的情况下,所述客户端提取所述重定向结果中的重定向IP链接地址,并断开与所述服务器的当前网络连接,通过所述重定向IP链接地址与新服务器建立通讯连接。
16.根据权利要求15所述的系统,其特征在于,所述服务器包括:
接收装置,用于接收有所述客户端发出的请求数据,所述请求数据包括:所述客户端的IP地址,所述服务器的IP地址;
处理装置,用于根据所述客户端的IP地址在地址数据库中进行查询,以获取所述客户端的IP地址所对应的重定向IP链接地址,将所述服务器的IP地址与查询得到的所述重定向IP链接地址进行比较,其中,在所述服务器的IP地址与所述重定向IP链接地址不相同的情况下,获取所述重定向结果,该重定向结果为需要所述客户端重定向。
17.根据权利要求16所述的系统,其特征在于,所述处理装置还用于在所述服务器的IP地址与所述重定向IP链接地址相同的情况下,所述重定向结果为不需要所述客户端重定向,所述客户端保持与所述服务器的当前网络连接。
18.根据权利要求16所述的系统,其特征在于,所述服务器还包括:
第一检测装置,用于检测网络中所述客户端与每个服务器连接时的网络链接速度,以获取所述客户端与每个服务器连接时的网速值,其中,所述网速值最高时所对应的服务器IP地址为所述重定向IP链接地址;
存储器,用于保存所述客户端的IP地址及其对应的所述重定向IP链接地址,以获取所述客户端的地址数据表,并保存所述检测装置检测网络中各个客户端所得到的每个客户端所对应的地址数据表,获取所述地址数据库。
19.根据权利要求16所述的系统,其特征在于,所述请求数据还包括:重定向标记,所述客户端还包括:
第二检测装置,用于检测所述重定向标记,当所述重定向标记为所述客户端已经重定向时,所述客户端停止发送所述请求数据,其中,在所述客户端上一次断开与所述服务器的网络连接,并通过所述重定向IP链接地址与新服务器建立通讯连接之后,将所述重定向标记置为所述客户端已经重定向。
20.根据权利要求15至19中任意一项所述的系统,其特征在于,客户端选择以下任意一种预选IP地址连接至服务器:域名服务IP地址,硬编码IP地址或缓存IP地址,其中,所述客户端还包括,缓存器,用于在提取所述重定向结果中的重定向IP链接地址之后,将所述重定向IP链接地址作为所述缓存IP地址进行缓存。
21.根据权利要求20所述的系统,其特征在于,所述客户端按照所述预选IP地址的优先级与所述服务器链接,所述预选IP地址的优先级顺序为:所述缓存IP地址、所述域名服务IP地址、所述硬编码IP地址,其中,所述缓存器还用于在所述重定向结果为不需要所述客户端重定向的情况下,将选择的当前预选IP地址作为所述缓存IP地址进行缓存。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310429957.3A CN104468852A (zh) | 2013-09-18 | 2013-09-18 | 客户端选择ip链接地址的方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310429957.3A CN104468852A (zh) | 2013-09-18 | 2013-09-18 | 客户端选择ip链接地址的方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104468852A true CN104468852A (zh) | 2015-03-25 |
Family
ID=52914202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310429957.3A Pending CN104468852A (zh) | 2013-09-18 | 2013-09-18 | 客户端选择ip链接地址的方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104468852A (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105915646A (zh) * | 2016-06-20 | 2016-08-31 | 飞天诚信科技股份有限公司 | 一种分散服务器负载的方法及装置 |
CN106028469A (zh) * | 2016-07-26 | 2016-10-12 | 广东欧珀移动通信有限公司 | 一种通信连接建立方法、装置及移动终端 |
CN106161413A (zh) * | 2015-04-27 | 2016-11-23 | 博雅网络游戏开发(深圳)有限公司 | 客户端接入方法和系统 |
CN106339414A (zh) * | 2016-08-12 | 2017-01-18 | 合网络技术(北京)有限公司 | 网页渲染方法及装置 |
CN106851692A (zh) * | 2017-03-10 | 2017-06-13 | 广东电网有限责任公司东莞供电局 | 一种基于异构网络的自适应无线通信传输方法及系统 |
CN106878460A (zh) * | 2017-03-24 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 通信处理方法及装置 |
CN107025107A (zh) * | 2016-10-24 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种页面重定向循环的检测方法和装置 |
CN108810180A (zh) * | 2017-04-28 | 2018-11-13 | 中兴通讯股份有限公司 | 域名解析重定向的调度方法、装置及其终端 |
WO2020224098A1 (zh) * | 2019-05-08 | 2020-11-12 | 平安科技(深圳)有限公司 | 基于全局负载均衡的云存取方法、装置及存储介质 |
CN112751931A (zh) * | 2020-12-29 | 2021-05-04 | 中国工商银行股份有限公司 | 网络连接方法和装置、电子设备、及介质 |
CN112804320A (zh) * | 2021-01-04 | 2021-05-14 | 德施曼机电(中国)有限公司 | 一种智能门锁的控锁app下载方法及系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185880A (zh) * | 2011-03-08 | 2011-09-14 | 天脉聚源(北京)传媒科技有限公司 | 一种视频直播负载均衡方法和系统 |
CN102710780A (zh) * | 2012-06-08 | 2012-10-03 | 深信服网络科技(深圳)有限公司 | 全局负载均衡的方法、负载均衡设备及客户端 |
CN103188323A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 基于用户主机缓存设备提供Web服务的系统和方法 |
CN103220363A (zh) * | 2013-04-26 | 2013-07-24 | 广东电网公司教育培训评价中心 | 基于云计算的分布式网络培训资源管理系统及调度方法 |
-
2013
- 2013-09-18 CN CN201310429957.3A patent/CN104468852A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102185880A (zh) * | 2011-03-08 | 2011-09-14 | 天脉聚源(北京)传媒科技有限公司 | 一种视频直播负载均衡方法和系统 |
CN103188323A (zh) * | 2011-12-31 | 2013-07-03 | 中国移动通信集团公司 | 基于用户主机缓存设备提供Web服务的系统和方法 |
CN102710780A (zh) * | 2012-06-08 | 2012-10-03 | 深信服网络科技(深圳)有限公司 | 全局负载均衡的方法、负载均衡设备及客户端 |
CN103220363A (zh) * | 2013-04-26 | 2013-07-24 | 广东电网公司教育培训评价中心 | 基于云计算的分布式网络培训资源管理系统及调度方法 |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106161413A (zh) * | 2015-04-27 | 2016-11-23 | 博雅网络游戏开发(深圳)有限公司 | 客户端接入方法和系统 |
CN105915646A (zh) * | 2016-06-20 | 2016-08-31 | 飞天诚信科技股份有限公司 | 一种分散服务器负载的方法及装置 |
CN106028469B (zh) * | 2016-07-26 | 2019-08-06 | Oppo广东移动通信有限公司 | 一种通信连接建立方法、装置及移动终端 |
CN106028469A (zh) * | 2016-07-26 | 2016-10-12 | 广东欧珀移动通信有限公司 | 一种通信连接建立方法、装置及移动终端 |
CN106339414A (zh) * | 2016-08-12 | 2017-01-18 | 合网络技术(北京)有限公司 | 网页渲染方法及装置 |
CN107025107A (zh) * | 2016-10-24 | 2017-08-08 | 阿里巴巴集团控股有限公司 | 一种页面重定向循环的检测方法和装置 |
WO2018077072A1 (zh) * | 2016-10-24 | 2018-05-03 | 阿里巴巴集团控股有限公司 | 一种页面重定向循环的检测方法和装置 |
CN106851692A (zh) * | 2017-03-10 | 2017-06-13 | 广东电网有限责任公司东莞供电局 | 一种基于异构网络的自适应无线通信传输方法及系统 |
CN106878460A (zh) * | 2017-03-24 | 2017-06-20 | 腾讯科技(深圳)有限公司 | 通信处理方法及装置 |
CN108810180A (zh) * | 2017-04-28 | 2018-11-13 | 中兴通讯股份有限公司 | 域名解析重定向的调度方法、装置及其终端 |
CN108810180B (zh) * | 2017-04-28 | 2022-02-08 | 中兴通讯股份有限公司 | 域名解析重定向的调度方法、装置及其终端 |
WO2020224098A1 (zh) * | 2019-05-08 | 2020-11-12 | 平安科技(深圳)有限公司 | 基于全局负载均衡的云存取方法、装置及存储介质 |
CN112751931A (zh) * | 2020-12-29 | 2021-05-04 | 中国工商银行股份有限公司 | 网络连接方法和装置、电子设备、及介质 |
CN112751931B (zh) * | 2020-12-29 | 2022-10-14 | 中国工商银行股份有限公司 | 网络连接方法和装置、电子设备、及介质 |
CN112804320A (zh) * | 2021-01-04 | 2021-05-14 | 德施曼机电(中国)有限公司 | 一种智能门锁的控锁app下载方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104468852A (zh) | 客户端选择ip链接地址的方法、装置及系统 | |
CN104202360B (zh) | 访问网页的方法、装置及路由器 | |
CN110300050A (zh) | 消息推送方法、装置、计算机设备及存储介质 | |
CN104253741B (zh) | 一种信息发送方法、相关装置及系统 | |
CN102651861B (zh) | 用于移动终端的下载方法、移动终端和代理下载服务器 | |
US9392081B2 (en) | Method and device for sending requests | |
CN102783119B (zh) | 访问控制方法、系统及接入终端 | |
RU2498520C2 (ru) | Способ обеспечения одноранговой связи на веб-странице | |
CN101039309B (zh) | 链路共享服务装置以及通信方法 | |
US8099510B2 (en) | Relay device and program product, allowing continued communication via an alternative protocol | |
CN107181779B (zh) | 访问请求的处理方法、装置和系统 | |
CN110839049B (zh) | 基于域名系统的数据调度方法和系统 | |
CN107222561A (zh) | 一种传输层反向代理方法 | |
CN106534268B (zh) | 一种数据共享方法及装置 | |
CN102045403A (zh) | 分布式网络数据处理方法和装置及系统 | |
CN101123578A (zh) | 一种提高访问网络资源速度的方法及系统 | |
CN103812900A (zh) | 一种数据同步方法、装置及系统 | |
CN105100158A (zh) | 消息推送、获取方法及装置 | |
CN104283920A (zh) | 一种网络应用路由的方法、服务器、终端和系统 | |
CN104615597A (zh) | 浏览器中清除缓存文件的方法、装置和系统 | |
CN103259818A (zh) | 分散式数据存取系统及方法 | |
CN108874472B (zh) | 一种用户头像的优化显示方法及系统 | |
CN114268631A (zh) | 低延迟网络系统及其通信连接方法及可读存储介质 | |
CN103729440A (zh) | 一种访问网站的方法及装置 | |
CN111831513A (zh) | 日志查询方法、装置、电子设备、及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150325 |
|
RJ01 | Rejection of invention patent application after publication |