掌桥专利:专业的专利平台
掌桥专利
首页

一种基于云服务的远程连接方法及系统

文献发布时间:2023-06-19 10:38:35


一种基于云服务的远程连接方法及系统

技术领域

本发明属于通信技术领域,具体而言,涉及一种基于云服务的远程连接方法及系统。

背景技术

由于家庭网络一般都寄存于ISP(Internet Service Provider,互联网服务提供商)提供的特定外网IP(Internet Protocol,网际互连协议)下,从外网到内网的访问,需要在路由器端设定特定的端口映射,即NAT(Network Address Translation,网络地址转换)。不仅如此,外网IP还存在无规律的更新。

NAT技术不仅能够解决外网IP地址的不足,而且还能够有效地避免来自网络外部的攻击,隐藏并保护网络内部的计算机,其主要是实现内外网的IP及端口的转换。NAT功能一般被集成在路由器(Router)及防火墙上。在路由器上设置固定IP及端口的映射,能够实现内外网的穿透,但是无法应对外网IP及内网DHCP分配的内网IP的不定期变化。另外,当客户端需要连接某一个家庭云服务器时,需要指定目标服务器外网IP,同样外网IP的无规则变化给客户端连接目标IP增加了困难。

发明内容

基于此,本申请实施例提供了一种基于云服务的远程连接方法及系统,目的为实现从外网到内网访问的稳定连接,同时能够应对家庭云服务器路由器外网IP及端口的无规律变化。

第一方面,本申请实施例提供了一种基于云服务的远程连接方法,包括:

每台家庭云服务器初始化时,向中心服务器注册唯一标识ID;

中心服务器保存每台家庭云服务器的标识ID、IP地址及端口映射信息;

客户端与第一家庭云服务器连接之前,从所述中心服务器获取所述第一家庭云服务器的IP地址及端口映射信息。

其中,所述客户端与第一家庭云服务器连接之前,从所述中心服务器获取所述第一家庭云服务器的IP地址及端口映射信息,包括:

客户端获取要连接的第一家庭云服务器的标识ID,将所述第一家庭云服务器的标识ID发送给所述中心服务器;

所述中心服务器根据所述第一家庭云服务器的标识ID查询所述第一家庭云服务器的IP地址及端口映射信息,将所述第一家庭云服务器的IP地址及端口映射信息发送给所述客户端;

所述客户端根据第一家庭云服务器的IP地址及端口映射信息与所述第一家庭云服务器建立连接。

其中,还包括:

所述第一家庭云服务器与第一路由器之间通过UPnP协议交互,所述第一路由器为UPnP协议服务端,所述第一家庭云服务器为UPnP协议客户端;

当所述第一家庭云服务器检测到所述第一家庭服务器IP或者端口变化、所述第一路由器映射信息或者外网IP变化时,将变化后的IP地址及端口映射信息发送给所述中心服务器;

所述中心服务器更新保存的所述第一家庭云服务器的IP地址及端口映射信息。

其中,家庭云服务器与中心服务器基于HTTP协议进行通信,家庭云服务器与中心服务器之间采用心跳连接的方式。

其中,所述中心服务器具有固定域名并部署在公网环境中。

其中,还包括:

所述第一客户端检测与第一家庭云服务器的连接是否正常,当检测到连接中断时,所述第一客户端重新向所述中心服务器获取第一家庭云服务器的IP地址及端口映射信息,根据重新获取的第一家庭云服务器的IP地址及端口映射信息与所述第一家庭云服务器连接。

第二方面,本申请提供了一种基于云服务的远程连接系统,包括:

至少一台家庭云服务器,用于:每台家庭云服务器初始化时,向中心服务器注册唯一标识ID;

中心服务器,用于:保存每台家庭云服务器的标识ID、IP地址及端口映射信息;

至少一个客户端,用于:与第一家庭云服务器连接之前,从所述中心服务器获取所述第一家庭云服务器的IP地址及端口映射信息。

其中,所述客户端用于:获取要连接的第一家庭云服务器的标识ID,将所述第一家庭云服务器的标识ID发送给所述中心服务器;

所述中心服务器用于:根据所述第一家庭云服务器的标识ID查询所述第一家庭云服务器的IP地址及端口映射信息,将所述第一家庭云服务器的IP地址及端口映射信息发送给所述客户端;

所述客户端用于:根据第一家庭云服务器的IP地址及端口映射信息与所述第一家庭云服务器建立连接。

其中,所述第一家庭云服务器与第一路由器之间通过UPnP协议交互,所述第一路由器为UPnP协议服务端,所述第一家庭云服务器为UPnP协议客户端;

所述第一家庭云服务器用于:当所述第一家庭云服务器检测到所述第一家庭服务器IP或者端口变化、所述第一路由器映射信息或者外网IP变化时,将变化后的IP地址及端口映射信息发送给所述中心服务器;

所述中心服务器用于:更新保存的所述第一家庭云服务器的IP地址及端口映射信息。

其中,所述中心服务器具有固定域名并部署在公网环境中。

本申请实施例基于云服务的远程连接方法及系统具有如下有益效果:

本申请基于云服务的远程连接方法包括:每台家庭云服务器初始化时,向中心服务器注册唯一标识ID;中心服务器保存每台家庭云服务器的标识ID、IP地址及端口映射信息;客户端与第一家庭云服务器连接之前,从中心服务器获取第一家庭云服务器的IP地址及端口映射信息。本发明能够实现从外网到内网访问的稳定连接,同时能够应对家庭云服务器路由器外网IP及端口的无规律变化。

附图说明

图1为本申请实施例基于云服务的远程连接方法流程示意图;

图2为本申请实施例基于云服务的远程连接系统的结构示意图;

图3为本申请实施例基于云服务的远程连接系统的另一种结构示意图;

图4为本申请实施例基于云服务的远程连接系统的另一种结构示意图;

图5为本申请实施例家庭云服务器的结构示意图。

具体实施方式

下面结合附图和实施例对本申请进行进一步的介绍。

在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本发明的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。

下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。

本发明涉及一种基于云服务来实现内外网络穿透,通过一个外网环境便捷访问一个家庭内网环境的方案。如图1-4所示,本申请基于云服务的远程连接方法包括:步骤S101,每台家庭云服务器201初始化时,向中心服务器注册唯一标识ID;S103,中心服务器202保存每台家庭云服务器的标识ID、IP地址及端口映射信息;S105,客户端203与第一家庭云服务器2011连接之前,从中心服务器获取第一家庭云服务器的IP地址及端口映射信息。

在一些实施例中,客户端与第一家庭云服务器连接之前,从中心服务器获取第一家庭云服务器的IP地址及端口映射信息,包括:客户端获取要连接的第一家庭云服务器的标识ID,将第一家庭云服务器的标识ID发送给中心服务器;中心服务器根据第一家庭云服务器的标识ID查询第一家庭云服务器的IP地址及端口映射信息,将第一家庭云服务器的IP地址及端口映射信息发送给客户端;客户端根据第一家庭云服务器的IP地址及端口映射信息与第一家庭云服务器建立连接。

本申请基于云服务的远程连接方法还包括:第一家庭云服务器2011与第一路由器2041之间通过UPnP协议交互,第一路由器2041为UPnP协议服务端,第一家庭云服务器2011为UPnP协议客户端;当第一家庭云服务器2011检测到第一家庭服务器IP或者端口变化、第一路由器映射信息或者外网IP变化时,将变化后的IP地址及端口映射信息发送给中心服务器;中心服务器202更新保存的第一家庭云服务器的IP地址及端口映射信息。

UPnP(Universal Plug and Play)协议本质是一组协议组合,实现控制点与设备点之间的通信。而路由器在出厂时就具有UPnP设备点的功能,并提供一组应用于控制设备的接口。本申请能够实现对映射IP及端口的实时监测,当外网IP或者映射端口变化时捕捉到该变化。

客户端指定需要连接的服务器时,需要知道服务器的IP及端口号。本申请引入第三方服务来收集并保存家庭服务器的各种信息。客户端登录访问时,首先到第三方固定域名中心服务器获取相应的IP和端口映射详情。家庭服务器IP或者端口出现变化时,upnpclient捕捉到这一变化并把最新映射详情发送给中心服务器。此时客户端会出现连接中断,需要重新向中心服务拉取最新的云服务器映射详情实现重连。

为了实现内外网的穿透从而使客户端在外网访问到特定的内网环境,可以在路由器中设置特定的映射端口。但是当云服务器重启时,DHCP分配获得新内网IP地址时,路由器中设定的映射将会无效。另外当映射端口被其他应用程序强制占用时,也会出现映射无效。所以在本发明的架构中的一部分,提供新服务upnpclient来实现与路由器之间的交互。该服务是一个upnp协议的实现,支持upnp协议的对等端可以看成C-S模式。路由器本身可看成支持的upnp协议服务端,那么upnpclient即实现upnp协议并支持对路由器IP/端口的查询、添加和删除等基本操作。参见下表:

为了方便客户端便捷连接到特定的云服务,中心服务器负责收集所有云服务器的映射信息。每台云服务出厂时都需要向中心服务器注册唯一ID号,并向中心服务器发送最新映射详情。当upnpclient检测到路由器映射信息或者外网IP变化时,及时重新设置新的端口映射信息并报告给中心服务器。

客户端根据欲连接云服务器注册的唯一ID号,向中心服务器发送Http请求获取该云服务器的外网IP及端口映射详情。然后根据获取到的IP及端口连接目标服务器,从而实现外网到内网的持续稳定的穿透访问。

本申请中,upnpclient服务利用路由器普遍支持的UPnP功能实现对外网IP的监测。另外还可以监测到端口的变化情况,当端口被占用或者屏蔽时,upnpclient也能够发现这一变化。

本发明提出的系统架构包括家庭云服务器、客户端和中心服务器。利用NAT及UPnP技术解决外网到内网的穿透。由于ISP提供的外网IP变化周期为一天左右,所以客户端对这一变化近乎无感。

本申请中,所有家庭云服务器初始化时,向中心服务器注册唯一标识ID并保持与中心服务器的心跳连接,双方基于HTTP协议进行通信,并设置与检查端口映射是否有效;中心服务器负责保存每台云服务器的IP地址及端口映射详情,并提供固定域名及端口方便客户端访问;所有客户端通过已知的家庭云服务器的ID从中心服务器获取指定的IP及端口并完成连接。

家庭云服务器具有管理家庭路由器端口映射功能,家庭云服务器首先保持与中心服务器的心跳连接,以方便中心服务器知晓家庭云服务器的启停;其次云服务器需要一个服务进程完成同路由器到家庭云服务器的端口映射的设定与检查。

基于UPnP协议的服务进程向路由器添加端口映射记录包括描述、内网端口、内网IP、外网端口、映射是否有效、映射有效时长等,并且周期性检查映射记录的完整性。

中心服务器具有固定域名并部署在公网环境中,一方面其保持与所有家庭云服务器的心跳连接并保存每个家庭云服务的IP及端口映射详情;另一方面响应所有终端用户的请求访问。

客户端在连接家庭云服务器时首先向中心服务器发送请求获取目标家庭云服务器所在的外网IP及外网端口,然后完成连接;在发现连接中断时需要重新向中心服务器重新获取IP及端口。

本申请基于云服务的远程连接方法还包括:第一客户端检测与第一家庭云服务器的连接是否正常,当检测到连接中断时,第一客户端重新向中心服务器获取第一家庭云服务器的IP地址及端口映射信息,根据重新获取的第一家庭云服务器的IP地址及端口映射信息与第一家庭云服务器连接。

本发明提出了一种基于云服务的远程连接系统架构,旨在实现内外网的便捷通信。涉及一个中心服务器,一个或多个家庭云服务器和多终端用户。各个云服务器处于不同内网环境中,其IP一般都由DHCP自动分配。终端源IP到云服务器目的IP的路由,需要通过路由器的端口映射。路由器的UPnP功能能够实现对端口映射的管理,比如添加指定端口映射和获取最新的路由器外网IP并通过HTTP协议发送给中心服务器;中心服务器负责维护多个家庭云服务器的端口映射详情;终端用户首先访问中心服务器获取目标家庭云服务的最新IP及端口并完成连接。考虑到申请独立外网IP的经济开销,家庭云服务器往往处在ISP提供的内网环境中,使处于外网环境中的终端能够轻松便捷地访问家庭内网中的云服务器正是本发明的应用。本发明应用可以实现从外网到内网访问的稳定连接,同时可以应对家庭云服务器路由器外网IP及端口的无规律变化。

如图2-3所示,本申请基于云服务的远程连接系统包括:至少一台家庭云服务器201,用于:每台家庭云服务器初始化时,向中心服务器注册唯一标识ID;中心服务器202,用于:保存每台家庭云服务器的标识ID、IP地址及端口映射信息;至少一个客户端203,用于:与第一家庭云服务器连接之前,从中心服务器获取第一家庭云服务器的IP地址及端口映射信息。

其中,客户端用于:获取要连接的第一家庭云服务器的标识ID,将第一家庭云服务器的标识ID发送给中心服务器;

中心服务器用于:根据第一家庭云服务器的标识ID查询第一家庭云服务器的IP地址及端口映射信息,将第一家庭云服务器的IP地址及端口映射信息发送给客户端;

客户端用于:根据第一家庭云服务器的IP地址及端口映射信息与第一家庭云服务器建立连接。

其中,第一家庭云服务器与第一路由器之间通过UPnP协议交互,第一路由器为UPnP协议服务端,第一家庭云服务器为UPnP协议客户端;

第一家庭云服务器用于:当第一家庭云服务器检测到第一家庭服务器IP或者端口变化、第一路由器映射信息或者外网IP变化时,将变化后的IP地址及端口映射信息发送给中心服务器;

中心服务器用于:更新保存的第一家庭云服务器的IP地址及端口映射信息。

其中,中心服务器具有固定域名并部署在公网环境中。

本申请中,基于云服务的远程连接系统实施例与基于云服务的远程连接方法实施例基本相似,相关之处请参考基于云服务的远程连接方法实施例的介绍。

本领域的技术人员可以清楚地了解到本发明实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)、IC(Integrated Circuit,集成电路)等。

本发明实施例的各处理单元和/或模块,可通过实现本发明实施例所述的功能的模拟电路而实现,也可以通过执行本发明实施例所述的功能的软件而实现。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于云服务的远程连接方法步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。

图5为本申请实施例家庭云服务器的结构示意图,如图5所示,本申请家庭云服务器包括处理器401、存储器402、输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线405或者其他方式连接。存储器402上存储有计算机程序,该计算机程序可在处理器401上运行,而且处理器401执行程序时实现上述基于云服务的远程连接方法中家庭云服务器执行的步骤。

输入装置403可接收输入的数字或字符信息,以及产生与数据处理计算机设备的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器、等离子体显示器和触摸屏。

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

在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。

以上介绍仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种基于云服务的远程连接方法及系统
  • 基于云服务器端的身份认证方法、云服务系统和云服务器
技术分类

06120112619711