客户端与服务器的连接方法、系统及服务器与流程

文档序号:12135000阅读:792来源:国知局
客户端与服务器的连接方法、系统及服务器与流程

本发明实施例属于通信领域,尤其涉及一种客户端与服务器的连接方法、系统及服务器。



背景技术:

目前,没有任何一个数据中心可以覆盖世界的每个角落,为了实现无障碍通信,可通过分布式服务器部署技术实现。

现有的分布式服务器部署技术中,在对客户端要连接的服务器IP进行动态分配时,通常通过以下两种方法实现:

1、给客户端配置固定的接入服务器域名,再在接入服务器部分对服务器IP进行分配。由于接入服务器域名是固定的,因此,固定接入服务器域名分配的IP也在该固定接入服务器域名对应的服务器附近。

2、根据用户所属区域,在发布客户端程序时在程序里配置不固定域名,如亚洲用户就配置亚洲的服务器域名。

上述两种方法中,当用户在跨大范围区域使用客户端时,均存在网络延迟的问题。

故,需提出一种新的技术方案以解决上述问题。



技术实现要素:

本发明实施例提供了一种客户端与服务器的连接方法、系统及服务器,旨在解决现有的方法当用户在跨大范围区域使用客户端时,均存在网络延迟的问题。

本发明实施例的第一方面,提供了一种客户端与服务器的连接方法,所述方法包括:

自定义DNS服务器接收普通DNS服务器发送的客户端A的IP地址;

自定义DNS服务器将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置;

自定义DNS服务器接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配;

自定义DNS服务器将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A;

所述客户端A根据接收的所述客户端A的区域IP地址与对应的第一区域服务器建立连接。

本发明实施例的第二方面,提供了一种服务器,所述服务器包括:

客户端A的IP地址接收单元,用于接收普通DNS服务器发送的客户端A的IP地址;

客户端A的IP地址发送单元,用于将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置;

客户端A的区域IP地址接收单元,用于接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配;

客户端A的区域IP地址发送单元,用于将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A。

本发明实施例的第三方面,提供了一种客户端与服务器的连接系统,所述系统包括:

自定义DNS服务器、普通DNS服务器、客户端A、IP地理位置解析服务器以及第一区域服务器;

所述自定义DNS服务器用于接收普通DNS服务器发送的客户端A的IP地址,将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置,用于接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配,以及,用于将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A;

所述客户端A用于根据接收的所述客户端A的区域IP地址与对应的第一区域服务器建立连接。

在本发明实施例中,由于第一区域服务器是根据客户端A的实际的地理位置确定的,因此,保证客户端A能够与最近的服务器建立通信连接,从而极大降低了出现网络延迟的概率。

附图说明

图1是本发明第一实施例提供的一种客户端与服务器的连接方法的流程图;

图2是本发明第一实施例提供的一种关于客户端与服务器的连接方法的应用例的示意图;

图3是本发明第二实施例提供的一种服务器的结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

本发明实施例中,自定义DNS服务器接收普通DNS服务器发送的客户端A的IP地址,自定义DNS服务器将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置,自定义DNS服务器接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配,自定义DNS服务器将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A,所述客户端A根据接收的所述客户端A的区域IP地址与对应的第一区域服务器建立连接。

为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。

实施例一:

图1示出了本发明第一实施例提供的一种客户端与服务器的连接方法的流程图,在本发明实施例中,首先需要搭建自定义域名系统(Domain Name System,DNS)服务器、GeoIP服务器以及各个区域的服务器(或区域的应用服务器),该GeoIP服务器为IP地理位置解析服务器,用于判断客户端连接服务器时公网IP所属区域,可以精确到国家、省份、城市等,详述如下:

步骤S11,自定义DNS服务器接收普通DNS服务器发送的客户端A的IP地址。

其中,自定义DNS服务器还具有普通DNS服务器的功能,即还具有解析网络域名的功能。

其中,客户端A的IP地址为该客户端A的公网IP地址,该公网IP能够唯一标识该客户端A,该客户端A可以为手机、PC、PAD等。需要说明的是,普通DNS服务器应先与客户端A通信,并获取该客户端A的IP地址。

步骤S12,自定义DNS服务器将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置。

其中,IP地理位置解析服务器为GeoIP服务器。

由于互联网智能设备的飞速发展,跨地区、跨国、跨洲等区域间的数据传输频率越来越高,因此,为了降低由于跨大范围区域网络节点间通讯产生延迟与异常的概率,则需要确定客户端A当前实际所在的位置,以便能够结合客户端A当前实际所在的位置选择对应的服务器进行通信。

步骤S13,自定义DNS服务器接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配。

当GeoIP服务器接收到客户端A的IP地址后,解析该IP地址,判断该IP地址当前所在的实际的地理位置,并查找与该IP地址的实际的地理位置对应的区域服务器的区域IP地址。进一步地,当该IP地址的实际的地理位置对应的区域服务器的区域IP地址有多个时,选择的区域服务器的区域IP地址与该IP地址的实际的地理位置的距离最近。

步骤S14,自定义DNS服务器将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A。

步骤S15,所述客户端A根据接收的所述客户端A的区域IP地址与对应的第一区域服务器建立连接。

具体地,当客户端A接收到区域IP地址后,向该区域IP地址对应的第一区域服务器发起连接建立请求,以与所述第一区域服务器建立连接。由于该第一区域服务器是根据客户端A的实际的地理位置确定的,因此,保证客户端A能够与最近的服务器建立通信连接,从而极大降低了出现网络延迟的概率。

可选地,在所述步骤S15之后,包括:

客户端A通过所述第一区域服务器与客户端B传输数据。由于第一区域服务器是根据客户端A的实际的地理位置确定的,因此,保证客户端A能够与最近的服务器建立通信连接,从而极大提高了传输至客户端B的数据的速率。

可选地,上述客户端A通过所述第一区域服务器与客户端B传输数据,具体包括:

A1、所述第一区域服务器判断预设时间段内是否与客户端B传输数据。

A2、在所述第一区域服务器判断出预设时间段内与客户端B传输数据时,客户端A根据上一次传输数据的相同路径与客户端B传输数据。

上述A1和A2中,预设时间段可设置为0.5天、1天、1周等,但不宜设置过大,例如,不建议设置为1年。由于预设时间段较短,因此,客户端A的实际的地理位置变化应该不大,此时,客户端A直接采用上一次与客户端B传输数据的相同路径向客户端B传输数据,能够减少重新选择新的路径的时间,从而提高数据的传输速度。

可选地,B1、在所述第一区域服务器判断出预设时间段内没有与客户端B传输数据时,所述第一区域服务器、所述客户端B对应的第二区域服务器以及预建立的其他区域服务器之间定时通过心跳链接保持各个服务器之间的数据链接,并记录接收到心跳反馈的时间。具体地,假设第一区域服务器为亚洲对应的服务器,第二区域服务器为欧洲对应的服务器,则其他区域服务器可为美洲对应的服务器、中国对应的服务器等。预建立的其他区域服务器之间通过心跳链接(如每30秒发送一次心跳链接)保持各个服务器间的数据链接,例如,亚洲对应的服务器分别向欧洲对应的服务器、美洲对应的服务器、中国对应的服务器发送心跳链接,并记录接收到欧洲对应的服务器、美洲对应的服务器、中国对应的服务器发送的心跳反馈的时间。

B2、所述第一区域服务器确定所有种从所述第一区域服务器开始到所述第二区域服务器结束的路径。例如,第1种情况是,第一区域服务器直接与第二区域服务器通信;第2种情况是,第一区域服务器发送数据至中间的区域服务器,再通过中间的区域服务器转发接收的数据至第二区域服务器,当然,这里的中间的区域服务器的个数大于或等于1。

B3、所述第一区域服务器根据服务器之间的心跳链接确定所有种路径中接收到心跳反馈的时间最短的路径。

B4、所述第一区域服务器根据接收到心跳反馈的时间最短的路径向第二区域服务器传输数据,进而通过所述第二区域服务器转发至客户端B。当第一区域服务器根据接收到心跳反馈的时间最短的路径向第二区域服务器传输数据时,表明该接收到心跳反馈的时间最短的路径是网络压力最小、网速最快的路径,因此通过该路径向第二区域服务器传输数据能够极大提升数据的传输速度。

可选地,在所述自定义DNS服务器接收普通DNS服务器发送的客户端A的IP地址之前,包括:

C1、客户端A将写入其程序的服务器的固定域名发送至普通DNS服务器。

C2、所述普通DNS服务器解析所述服务器的固定域名对应的IP地址。

本发明第一实施例中,自定义DNS服务器接收普通DNS服务器发送的客户端A的IP地址,自定义DNS服务器将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置,自定义DNS服务器接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配,自定义DNS服务器将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A,所述客户端A根据接收的所述客户端A的区域IP地址与对应的第一区域服务器建立连接。由于第一区域服务器是根据客户端A的实际的地理位置确定的,因此,保证客户端A能够与最近的服务器建立通信连接,从而极大降低了出现网络延迟的概率。

为了更清楚地描述本发明实施例提供的客户端与服务器的连接方法,下面以一具体应用例进行说明。

如图2所示,客户端A(即终端A)首先将写入其程序的服务器的固定域名(假设该固定域名为www.tcl.com)以及客户端A的IP地址发送至普通DNS服务器,该普通DNS服务器将服务器的固定域名发送至root DNS服务器,该root DNS服务器解析出服务器的固定域名包括“.com”,并将解析结果发送至普通DNS服务器,该普通DNS服务器将服务器的固定域名发送至.com服务器,该.com服务器解析出服务器的固定域名包括“tcl.com”,并将解析结果发送至普通DNS服务器,该普通DNS服务器将服务器的固定域名及客户端A的IP地址发送至自定义DNS服务器(即Self DNS服务器),该Self DNS服务器再将客户端A的IP地址转发至IP地理位置解析服务器(即GeoIP server),该GeoIP server解析客户端A的IP地址,确定对应的区域IP地址,并发送至Self DNS服务器,该Self DNS服务器再转发至普通DNS服务器,以使该普通DNS服务器转发至客户端A,该客户端A根据接收的区域IP地址与对应的第一区域服务器(假设该第一区域服务器为亚洲对应的服务器)建立连接。

同理,确定客户端B的第二区域服务器(假设该第二区域服务器为欧洲对应的服务器)。图2中的区域应用服务器之间通过心跳连接保持各个服务器间的数据连接,进而确定从第一区域服务器到第二区域服务器的网络压力最小,网速最快的路径,客户端A再根据确定的路径向客户端B传输数据。

应理解,在本发明实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。

实施例二:

图3示出了本发明第二实施例提供的一种服务器的结构图,为了便于说明,仅示出了与本发明实施例相关的部分。

所述服务器包括:

客户端A的IP地址接收单元31,用于接收普通DNS服务器发送的客户端A的IP地址。

其中,客户端A的IP地址为该客户端A的公网IP地址,该公网IP能够唯一标识该客户端A,该客户端A可以为手机、PC、PAD等。

客户端A的IP地址发送单元32,用于将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置。

其中,IP地理位置解析服务器为GeoIP服务器。

客户端A的区域IP地址接收单元33,用于接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配。

当GeoIP服务器接收到客户端A的IP地址后,解析该IP地址,判断该IP地址当前所在的实际的地理位置,并查找与该IP地址的实际的地理位置对应的区域服务器的区域IP地址。进一步地,当该IP地址的实际的地理位置对应的区域服务器的区域IP地址有多个时,选择的区域服务器的区域IP地址与该IP地址的实际的地理位置的距离最近。

客户端A的区域IP地址发送单元34,用于将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A。

此外,本发明实施例还提供了一种客户端与服务器的连接系统,所述系统包括:

自定义DNS服务器、普通DNS服务器、客户端A、IP地理位置解析服务器以及第一区域服务器。

所述自定义DNS服务器用于接收普通DNS服务器发送的客户端A的IP地址,将所述客户端A的IP地址发送至IP地理位置解析服务器,以使所述IP地理位置解析服务器解析所述客户端A的IP地址当前所在的地理位置,用于接收所述IP地理位置解析服务器发送的所述客户端A的区域IP地址,所述客户端A的区域IP地址为所述IP地理位置解析服务器根据解析的所述客户端A的IP地址当前所在的地理位置分配,以及,用于将所述客户端A的区域IP地址发送至所述普通DNS服务器,以使所述普通DNS服务器转发至所述客户端A。

所述客户端A用于根据接收的所述客户端A的区域IP地址与对应的第一区域服务器建立连接。

本发明第二实施例中,由于第一区域服务器是根据客户端A的实际的地理位置确定的,因此,保证客户端A能够与最近的服务器建立通信连接,从而极大降低了出现网络延迟的概率。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

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