发明内容
为了解决上述技术问题,本申请提供了一种地址检测方法、装置、计算机设备和存储介质。
第一方面,本申请提供了一种地址检测方法,包括:
向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容;
接收所述运营商服务器返回的所述第一通信地址;
发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于与所述目标边缘节点建立通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。
第二方面,本申请提供了一种地址检测方法,应用于运营商服务器,所述方法包括:
接收目标边缘节点的第一请求,其中,所述第一请求用于所述目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的通信地址,所述目标边缘节点上存储有目标内容;
查找为所述目标边缘节点分配的第一通信地址,其中,所述第一通信地址用于调度系统确定所述目标边缘节点的可用通信地址,所述可用通信地址用于客户端通过所述运营商服务器建立与所述目标边缘节点之间的通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容;
将所述第一通信地址返回给所述目标边缘节点,其中,所述目标边缘节点用于将所述第一通信地址上报给所述调度系统。
第三方面,本申请提供了一种地址检测方法,应用于调度系统,所述方法包括:
接收多个边缘节点的第一上报数据,其中,所述第一上报数据包括运营商服务器为边缘节点分配的可用通信地址;
接收客户端的访问请求,其中,所述访问请求用于请求获取目标内容;
在多个所述第一上报数据中,查找存储有所述目标内容的目标边缘节点的第一通信地址,其中,所述第一通信地址为在所述调度系统中保存的、运营商服务器为所述目标边缘节点分配的可用通信地址;
将所述第一通信地址发送至所述访问请求对应的客户端,使所述客户端按照所述第一通信地址从所述目标边缘节点获取所述目标内容。
第四方面,本申请提供了一种地址检测装置,包括:
请求发送模块,用于向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容;
响应接收模块,用于接收所述运营商服务器返回的所述第一通信地址;
数据上报模块,用于发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于客户端通过所述运营商服务器建立与所述目标边缘节点之间的通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。
第五方面,本申请提供了一种地址检测装置,包括:
第一接收模块,用于接收目标边缘节点的第一请求,其中,所述第一请求用于所述目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的通信地址,所述目标边缘节点上存储有目标内容;
地址分配模块,用于查找为所述目标边缘节点分配的第一通信地址,其中,所述第一通信地址用于调度系统确定所述目标边缘节点的可用通信地址,所述可用通信地址用于客户端通过所述运营商服务器建立与所述目标边缘节点之间的通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容;
第一响应模块,用于将所述第一通信地址返回给所述目标边缘节点,其中,所述目标边缘节点用于将所述第一通信地址上报给所述调度系统。
第六方面,本申请提供了一种地址检测装置,包括:
第二接收模块,用于接收多个边缘节点的第一上报数据,其中,所述第一上报数据包括运营商服务器为边缘节点分配的可用通信地址;接收客户端的访问请求,其中,所述访问请求用于请求获取目标内容;
节点匹配模块,用于在多个所述第一上报数据中,查找存储有所述目标内容的目标边缘节点的第一通信地址,其中,所述第一通信地址为在所述调度系统中保存的、运营商服务器为所述目标边缘节点分配的可用通信地址;
第二响应模块,用于将所述第一通信地址发送至所述访问请求对应的客户端,使所述客户端按照所述第一通信地址从所述目标边缘节点获取所述目标内容。
本申请还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容;
接收所述运营商服务器返回的所述第一通信地址;
发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于与所述目标边缘节点建立通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。
本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容;
接收所述运营商服务器返回的所述第一通信地址;
发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于与所述目标边缘节点建立通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。
本申请实施例的地址检测方法、装置、计算机设备和存储介质,所述方法包括:向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容;接收所述运营商服务器返回的所述第一通信地址;发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于与所述目标边缘节点建立通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。目标边缘节点通过运营商服务器获取自己的可用通信地址,并将其可用通信地址上报给调度系统,以此方式令调度系统掌握各个边缘节点实时可用通信地址,在调度系统接收到客户端的数据请求的情况下,即可将目标边缘节点的可用通信地址返回给客户端,使客户端根据准确的可用通信地址访问目标边缘节点。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
图1为一个实施例中地址检测方法的应用环境图。参照图1,该地址检测方法应用于地址检测系统。该地址检测系统包括边缘节点110、运营商服务器120和调度系统130。边缘节点110、运营商服务器120和调度系统130通过网络连接。边缘节点110具体可以为CDN节点或家庭节点,家庭节点为普通用户家庭利用闲置带宽提供下载服务的路由器或机顶盒等。CDN节点为内容分发网络(Content Delivery Network,CDN)中的节点,CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的运行主要有内容存储和内容分发,但使用CDN成本较高。
运营商服务器120可以是第三方运营服务器,例如:移动、电信或联通之类的运营商服务器,也可以是自建的服务器。运营商服务器120可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
调度系统用于130管理所有的节点,每个节点会定时上报数据到调度系统,调度系统根据上报数据就可以得知节点的存储状态、运行状态、节点对应的运营商网络等,调度系统根据节点实时反馈的上报数据为客户端的数据请求分配对应的节点,为客户端提供数据服务。调度系统130可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,图2为一个实施例中一种地址检测方法的流程示意图,参照图2,提供了一种地址检测方法。本实施例主要以该方法应用于上述图1中的边缘节点来举例说明,该地址检测方法具体包括如下步骤:
步骤S210,向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容。
在本实施例中,目标边缘节点中存储有多个文件内容,所述多个文件内容中包括目标内容,参照图3所示,第一请求用于请求运营商服务器建立目标边缘节点与第一设备之间的链接通道,在目标边缘节点与第一设备建立链接通道之后,通过与第一设备之间的链接通道获取运营商服务器为所述目标边缘节点分配的第一通信地址,第一设备具体可以为其他边缘节点的硬件设备或其他能够实现通信功能的设备,第一设备主要用于在接收到第一请求的情况下、返回包含运营商服务器为目标边缘节点分配的第一通信地址。在建立链接通道的过程中,运营商服务器为所述目标边缘节点分配对应于所述目标边缘节点的可用通信地址,即第一通信地址,通过第一通信地址与第一设备进行通信,第一通信地址还用于使客户端可以访问该目标边缘节点下载所需要的目标内容。
步骤S220,接收所述运营商服务器返回的所述第一通信地址。
在本实施例中,运营商服务器将来自第一设备的返回消息转发给目标边缘节点,返回消息中包括运营商服务器为目标边缘节点分配的第一通信地址,将成功建立链接通道之后,目标边缘节点通过链接通道接收运营商服务器转发的来自第一设备的第一通信地址。
步骤S230,发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于与所述目标边缘节点建立通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。
在本实施例中,目标边缘节点在接收到运营商服务器返回的第一通信地址之后,发送从运营商服务器返回的第一通信地址,以此通过调度系统根据第一通信地址确定目标边缘节点对应的可用通信地址,该可用通信地址是用于与目标边缘节点建立通信连接,而通信连接用于使客户端或其他边缘节点从该目标边缘节点获取所需的文件内容。
目标边缘节点可以以定期发送第一请求的方式,定期获取自己的可用通信地址,并将获取到的可用通信地址上报给调度系统,以此方式使调度系统按照目标边缘节点的上报周期更新目标边缘节点的可用通信地址,对于其他边缘节点可采用相同的方式,使得调度系统实时掌握各个边缘节点的可用通信地址,便于后续根据客户端的数据请求返回能够响应数据请求的边缘节点的可用通信地址,提高客户端的访问成功率。
在一个实施例中,接收所述运营商服务器返回的所述第一通信地址之后,所述方法还包括:发送所述第一通信地址至反连探测服务器;接收所述反连探测服务器的第二请求,其中,所述第二请求为所述反连探测服务器根据所述第一通信地址生成的请求;在根据所述第二请求与所述反连探测服务器成功建立链接通道的情况下,发送所述第一通信地址至调度系统。
在本实施例中,目标边缘节点在接收到第一通信地址的情况下,将第一通信地址上报给反连探测服务器,反连探测服务器根据第一通信地址生成第二请求,第二请求用于与目标边缘节点建立TCP连接,即反连探测服务器按照第一通信地址尝试反向与目标边缘节点建立TCP连接,在目标边缘节点成功与反连探测服务器建立连接的情况下,表示按照第一通信地址可以访问目标边缘节点,再将第一通信地址上报给调度系统,告知调度系统能够访问家庭节点的地址信息,以此方式检测运营商服务器为目标边缘节点分配的地址信息是否可用,将可用的通信地址信息上报给调度系统,以使调度系统将目标边缘节点的可用通信地址发送至客户端,使得客户端访问目标边缘节点以获取目标内容。
在反连探测服务器与目标边缘节点连接失败的情况下,表示反连探测服务器无法根据第一通信地址与目标边缘节点建立连接,其中连接失败的原因可能是目标边缘节点对应的地址信息发生了变化,亦或是链接通道存在异常无法建立连接,则取消反连探测服务器继续反向与目标边缘节点建立连接,在反连探测服务器停止反向与家庭节点建立连接的停歇时长达到时长阈值的情况下,重新执行向运营商服务器发送第一请求的步骤,以获取新的通信地址信息。
在一个实施例中,在向运营商服务器发送第一请求之后,所述方法还包括:
向所述运营商服务器发送第三请求,以请求所述运营商服务器建立所述目标边缘节点与目标设备之间的链接通道;在所述目标边缘节点与所述目标设备之间的链接通道创建完成之后,通过所述链接通道保持与所述目标设备之间的通讯。
在一个实施例中,目标设备为其他边缘节点的硬件设备或其他能够实现通信功能的设备,运营商服务器在接收到所述第一请求的情况下,在所述运营商服务器的服务网络内为所述目标边缘节点分配唯一对应于所述目标边缘节点的通信地址,所述第一通信地址包括所述运营商服务器本次为所述目标边缘节点分配的通信地址,即运营商服务器为目标边缘节点分配了第一通信地址后,在目标边缘节点持续通信的情况下,目标边缘节点对应的可用通信地址不会发生变化;若目标边缘节点在预设时长内未进行通信,则目标边缘节点的可用通信地址将会发生变化,运营商服务器将原本分配给目标边缘节点的第一通信地址回收提供给其他需要通信的节点,作为其他需要通信的节点的可用通信地址。
因此,为了使目标边缘节点处于持续通信的状态,尽量使目标边缘节点的可用通信地址保持不变,则通过运营商服务器建立与目标设备之间的链接通道,在所述目标边缘节点与所述目标设备之间的链接通道创建完成之后,通过所述链接通道保持与所述目标设备之间的通讯,即目标边缘节点与目标设备建立长连接,以此可以尽量减少目标边缘节点的可用通信地址发生变化的频次。
在一个实施例中,所述通过所述链接通道保持与所述目标设备之间的通讯,包括:
通过所述链接通道接收所述目标设备发送的心跳包;按照与所述目标设备的约定确定所述心跳包的响应包;通过所述链接通道向所述目标设备发送所述响应包。
具体地,目标边缘节点和目标设备建立链接通道后,目标设备按照时间周期定期向目标边缘节点发送心跳包,目标边缘节点通过链接通道接收来自目标设备的心跳包,并按照与目标设备的协商约定生成对应的响应包,并通过链接通道返回响应包至目标设备,通过心跳包和响应包的交互过程使目标边缘节点与目标设备之间保持通信,以此实现目标边缘节点与目标设备之间的长连接,在目标边缘节点保持通信状态下维持目标边缘节点的可用通信地址不会发生变化。
在一个实施例中,在通过所述链接通道保持与所述目标设备之间的通讯的过程中,所述方法还包括:监测距离最近一次收到心跳包的持续时间;在所述持续时间达到预设阈值的情况下,向所述运营商服务器发送第四请求。
在一个实施例中,在所述持续时间达到预设阈值的情况下,表示目标边缘节点在持续时间内一直处于未通信状态,目标边缘节点处于未通信状态的原因可能是目标边缘节点与目标设备之间的链接通道发生故障,也可能是目标边缘节点的可用通信地址发生变化,使得目标设备无法按照变化前的通信地址向目标边缘节点发送心跳包。因此,目标边缘节点在持续时间内处于未通信状态的情况下,需要重新获取变化后的可用通信地址,第四请求就是用于请求所述运营商服务器检测所述链接通道是否发生故障、或重新建立所述目标边缘节点与所述目标设备之间的链接通道。
在一个实施例中,在向所述运营商服务器发送第四请求之后,所述方法还包括:接收所述运营商服务器发送的提示信息。
在一个实施例中,所述提示信息用于提示所述目标边缘节点更新后的通信地址,所述第一通信地址包括所述更新后的通信地址,所述更新后的通信地址是在发生故障的链接通道恢复正常后所述运营商服务器重新为所述目标边缘节点分配的,即目标边缘节点与目标设备之间的链接通道恢复正常之后,运营商服务器重新为目标边缘节点分配一个新的可用通信地址。更新后的通信地址也可以是运营商服务器重新建立所述目标边缘节点与所述目标设备之间的链接通道后为所述目标边缘节点分配的,即运营商服务器重新建立目标边缘节点与目标设备之间的链接通道,并在重新建立完成新的链接通道之后为目标边缘节点分配一个新的可用通信地址。
目标边缘节点会将新的可用通信地址告知调度系统,使调度系统掌握各个边缘节点最新的可用通信地址,避免客户端在向调度系统发起数据请求时,由于调度系统无法为客户端提供边缘节点最新的可用通信地址,导致客户端访问失败的现象,可以提高客户端的访问成功率,以优化用户的访问体验。
在一个实施例中,接收所述运营商服务器返回的所述第一通信地址包括:接收所述运营商服务器返回的端口号和IP地址,其中,所述第一通信地址包括返回的端口号和IP地址。
在一个实施例中,运营商服务器的网络内有多个用于与其他边缘节点或能实现通信功能的设备进行通信连接的通信端口,端口号就是指每个通信端口的标签,运营商服务器的网络内每个通信端口对应一个IP地址,即通信地址,通信地址用于其他想要访问其对应通信端口的设备,按照通信地址即可成功接入通信端口进行访问。
在一个具体实施例中,参照图6,目标边缘节点为家庭节点,家庭节点监听本地的TCP端口portA,且家庭节点通过portA向运营商服务器发送get_ext_port请求,即第三请求,用于获取运营商服务器为所述目标边缘节点分配的通信地址,即获取运营商服务器为家庭节点分配的公网IP和端口portB,并用于与目标设备建立长连接,目标设备通过与家庭节点之间的链接通道发送运营商服务器为家庭节点分配的公网IP和端口portB,家庭节点在接收到目标设备返回的公网IP和端口portB的情况下,将公网IP和端口portB上报给反连探测服务器,反连探测服务器按照公网IP和端口portB尝试反向与家庭节点建立TCP连接。
在反连探测服务器与家庭节点连接成功的情况下,表示按照公网IP和端口portB可以访问家庭节点,家庭节点将公网IP和端口portB上报给调度系统,告知调度系统能够访问家庭节点的IP和端口的信息,运营商服务器采用NAT机制,即NAT是把内网的IP和端口映射为公网的IP和端口的一个机制,这个映射关系如果超时没活动的话会被释放掉,所以与目标设备建立长连接进行定时的通信保活,维持该映射关系,同时还能检查运营商服务器为家庭节点分配的公网IP和portB是否改变,如果发生改变,则更新公网IP和端口的信息。另外,还需要定时执行反连探测服务器按照公网IP和端口portB尝试反向与家庭节点建立TCP连接的步骤,用来检查公网IP和端口是否已经不通。
在反连探测服务器与家庭节点连接失败的情况下,表示反连探测服务器无法根据公网IP和端口portB与家庭节点建立连接,其中连接失败的原因可能是运营商服务器释放了公网IP与家庭节点之间的映射关系,即家庭节点对应的公网IP发生了变化,亦或是链接通道的端口portB存在异常无法建立连接,则取消反连探测服务器继续反向与家庭节点建立连接,在反连探测服务器停止反向与家庭节点建立连接的停歇时长达到时长阈值的情况下,重新执行通过portA向运营商服务器发送get_ext_port请求的步骤,以获取新的公网IP和端口的信息。以此方式能利用更多的网络拓扑环境下的家庭节点,而不仅限于利用拥有公网IP的网络设备,即无论是拥有公网IP的网络设备还是拥有非公网IP的网络设备都可以被外网用户访问。
在一个实施例中,参照图4,本实施例提供了一种地址检测方法,应用于运营商服务器,所述方法包括:
步骤S310,接收目标边缘节点的第一请求,其中,所述第一请求用于所述目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的通信地址,所述目标边缘节点上存储有目标内容。
在本实施例中,第一请求用于请求运营商服务器建立目标边缘节点与第一设备之间的链接通道,在目标边缘节点与第一设备建立链接通道之后,目标边缘节点将通过与第一设备之间的链接通道获取运营商服务器为所述目标边缘节点分配的第一通信地址。
步骤S320,查找为所述目标边缘节点分配的第一通信地址。
在本实施例中,所述第一通信地址用于调度系统确定所述目标边缘节点的可用通信地址,所述可用通信地址用于客户端或其他想要访问目标边缘节点的设备通过所述运营商服务器建立与所述目标边缘节点之间的通信连接,所述通信连接用于使客户端或其他设备从所述目标边缘节点获取所需要的目标内容。
步骤S330,将所述第一通信地址返回给所述目标边缘节点,其中,所述目标边缘节点用于将所述第一通信地址上报给所述调度系统。
在本实施例中,在建立目标边缘节点与第一设备之间的连接通道之后,运营商服务器将来自第一设备的返回消息转发给目标边缘节点,返回消息中包括运营商服务器为目标边缘节点分配的第一通信地址,目标边缘节点将接收到的第一通信地址上报给调度系统,及时告知调度系统目标边缘节点的可用通信地址,避免调度系统将更新前的可用通信地址发送至数据请求的客户端,使得客户端根据更新前的可用通信地址无法访问到目标边缘节点。
在一个实施例中,在接收目标边缘节点的第一请求之后,所述方法还包括:接收所述目标边缘节点发送的第三请求;在所述运营商服务器的服务网络内为所述目标边缘节点分配唯一对应于所述目标边缘节点的通信地址,其中,所述第一通信地址包括所述运营商服务器本次为所述目标边缘节点分配的通信地址;在所述目标边缘节点与所述目标设备之间创建所述链接通道。
在一个实施例中,接收目标边缘节点的第三请求,所述第三请求用于请求所述运营商服务器建立所述目标边缘节点与目标设备之间的链接通道,运营商服务器的网络内存储有多个处于通信状态的边缘节点以及多个可用通信地址之间的关联关系,在运营商服务器的网络内查找与目标边缘节点存在关联关系的可用通信地址,若未查找到与目标边缘节点存在关联关系的可用通信地址,则为目标边缘节点分配一个可用通信地址。根据目标边缘节点的可用通信地址建立目标边缘节点与目标设备之间的链接通道,在所述链接通道处于连通状态的情况下,所述运营商服务器为所述目标边缘节点分配的通信地址保持不变,即通过第三请求建立目标边缘节点与目标设备之间的长连接,以使目标边缘节点处于持续通信的状态,尽量使目标边缘节点的可用通信地址保持不变。
在一个实施例中,在所述运营商服务器的服务网络内为所述目标边缘节点分配唯一对应于所述目标边缘节点的通信地址之后,所述方法还包括:在数据库中保存所述目标边缘节点与为所述目标边缘节点分配的通信地址之间的关联关系;查找为所述目标边缘节点分配的第一通信地址包括:将从所述数据库中查找到的与所述目标边缘节点关联的通信地址作为所述第一通信地址。
在一个实施例中,所述数据库中保存有所述运营商服务器的服务网络内各边缘节点与所分配的通信地址之间的关联关系,并将目标边缘节点以及为目标边缘节点分配的可用通信地址之间的关联关系,保存至运营商服务器的服务网络内,用于后续对于可用通信地址的分配管理。
在一个实施例中,参照图5,本实施例提供了一种地址检测方法,应用于调度系统,所述方法包括:
步骤S410,接收多个边缘节点的第一上报数据。
在本实施例中,所述第一上报数据包括运营商服务器为边缘节点分配的可用通信地址,且第一上报数据还携带有边缘节点的运行状态以及属性信息,运行状态具体包括数据传输状态、存储文件以及可用存储空间,属性信息具体包括边缘节点的节点区域以及型号标签等。
步骤S420,接收客户端的访问请求。
在本实施例中,所述访问请求用于请求获取目标内容,访问请求还携带有对于边缘节点的节点要求以及客户端所在位置,节点要求具体包括数据下载要求以及对节点区域、存储文件等方面的要求。
步骤S430,在多个所述第一上报数据中,查找存储有所述目标内容的目标边缘节点的第一通信地址。
在本实施例中,调度系统根据各个第一上报数据筛选符合节点要求的边缘节点,将节点区域与客户端所在位置相关、且存储文件中包含目标内容、且数据传输状态满足数据下载要求的边缘节点作为目标边缘节点,获取目标边缘节点的第一通信地址,第一通信地址为在所述调度系统中保存的、运营商服务器为所述目标边缘节点分配的可用通信地址。
步骤S440,将所述第一通信地址发送至所述访问请求对应的客户端,使所述客户端按照所述第一通信地址从所述目标边缘节点获取所述目标内容。
在本实施例中,调度系统将目标边缘节点的第一通信地址发送至客户端,客户端可按照第一通信地址访问目标边缘节点,以下载所需要的目标内容。
在一个实施例中,在将所述第一通信地址发送至所述访问请求对应的客户端之后,所述方法还包括:接收所述目标边缘节点上报的第二上报数据;在接收到所述客户端返回的访问失败通知、且所述第一通信地址与所述第二上报数据中的第二通信地址不同的情况下,将保存的所述目标边缘节点的可用通信地址从所述第一通信地址更新为所述第二通信地址,并将所述第二通信地址发送至所述访问请求对应的客户端。
在一个实施例中,接收到客户端返回的访问失败通知,表示客户端按照第一通信地址无法访问目标边缘节点,且第一通信地址与所述第二上报数据中的第二通信地址不同,表示目标边缘节点的可用通信地址发生了变化,则调度系统根据第二上报数据将目标边缘节点的可用通信地址由第一通信地址更新为第二通信地址,并将第二通信地址返回给客户端,令客户端按照目标边缘节点最新的可用通信地址进行访问。
图2、图4和图5为一个实施例中地址检测方法的流程示意图。应该理解的是,虽然图2、图4和图5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2、图4和图5中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图7所示,提供了一种地址检测装置,包括:
请求发送模块510,用于向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容;
响应接收模块520,用于接收所述运营商服务器返回的所述第一通信地址;
数据上报模块530,用于发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于客户端通过所述运营商服务器建立与所述目标边缘节点之间的通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。
在一个实施例中,接收所述运营商服务器返回的所述第一通信地址之后,所述请求发送模块510还用于:
发送所述第一通信地址至反连探测服务器;
接收所述反连探测服务器的第二请求,其中,所述第二请求为所述反连探测服务器根据所述第一通信地址生成的请求;
所述数据上报模块530还用于:在根据所述第二请求与所述反连探测服务器成功建立链接通道的情况下,发送所述第一通信地址至调度系统。
在一个实施例中,在向运营商服务器发送第一请求之后,所述请求发送模块510还用于:
向所述运营商服务器发送第三请求,以请求所述运营商服务器建立所述目标边缘节点与目标设备之间的链接通道,其中,所述运营商服务器用于在接收到所述第一请求的情况下,在所述运营商服务器的服务网络内为所述目标边缘节点分配唯一对应于所述目标边缘节点的通信地址,所述第一通信地址包括所述运营商服务器本次为所述目标边缘节点分配的通信地址;
在所述目标边缘节点与所述目标设备之间的链接通道创建完成之后,通过所述链接通道保持与所述目标设备之间的通讯。
在一个实施例中,在向运营商服务器发送第一请求之后,所述请求发送模块510还用于:
通过所述链接通道接收所述目标设备发送的心跳包;
按照与所述目标设备的约定确定所述心跳包的响应包;
通过所述链接通道向所述目标设备发送所述响应包。
在一个实施例中,在通过所述链接通道保持与所述目标设备之间的通讯的过程中,所述请求发送模块510还用于:
监测距离最近一次收到心跳包的持续时间;
在所述持续时间达到预设阈值的情况下,向所述运营商服务器发送第四请求,其中,所述第四请求用于请求所述运营商服务器检测所述链接通道是否发生故障、或重新建立所述目标边缘节点与所述目标设备之间的链接通道。
在一个实施例中,在向所述运营商服务器发送第四请求之后,所述响应接收模块520还用于:
接收所述运营商服务器发送的提示信息,其中,所述提示信息用于提示所述目标边缘节点更新后的通信地址,所述第一通信地址包括所述更新后的通信地址,所述更新后的通信地址是在发生故障的链接通道恢复正常后所述运营商服务器重新为所述目标边缘节点分配的、或所述运营商服务器重新建立所述目标边缘节点与所述目标设备之间的链接通道后为所述目标边缘节点分配的。
在一个实施例中,所述响应接收模块520还用于:
接收所述运营商服务器返回的端口号和IP地址,其中,所述第一通信地址包括返回的端口号和IP地址。
在一个实施例中,参照图8,本实施例提供了一种地址检测装置,应用于运营商服务器,所述装置包括:
第一接收模块610,用于接收目标边缘节点的第一请求,其中,所述第一请求用于所述目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的通信地址,所述目标边缘节点上存储有目标内容;
地址分配模块620,用于查找为所述目标边缘节点分配的第一通信地址,其中,所述第一通信地址用于调度系统确定所述目标边缘节点的可用通信地址,所述可用通信地址用于客户端通过所述运营商服务器建立与所述目标边缘节点之间的通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容;
第一响应模块630,用于将所述第一通信地址返回给所述目标边缘节点,其中,所述目标边缘节点用于将所述第一通信地址上报给所述调度系统。
在一个实施例中,在接收目标边缘节点的第一请求之后,所述第一接收模块610还用于:
接收所述目标边缘节点发送的第三请求,其中,所述第三请求用于请求所述运营商服务器建立所述目标边缘节点与目标设备之间的链接通道;
在所述运营商服务器的服务网络内为所述目标边缘节点分配唯一对应于所述目标边缘节点的通信地址,其中,所述第一通信地址包括所述运营商服务器本次为所述目标边缘节点分配的通信地址;
在所述目标边缘节点与所述目标设备之间创建所述链接通道。
在一个实施例中,在所述运营商服务器的服务网络内为所述目标边缘节点分配唯一对应于所述目标边缘节点的通信地址之后,所述地址分配模块620还用于:在数据库中保存所述目标边缘节点与为所述目标边缘节点分配的通信地址之间的关联关系,其中,所述数据库中保存有所述运营商服务器的服务网络内各节点与所分配的通信地址之间的关联关系;
查找为所述目标边缘节点分配的第一通信地址包括:将从所述数据库中查找到的与所述目标边缘节点关联的通信地址作为所述第一通信地址。
在一个实施例中,参照图9,本实施例提供了一种地址检测装置,应用于调度系统,所述装置包括:
第二接收模块710,用于接收多个边缘节点的第一上报数据,其中,所述第一上报数据包括运营商服务器为边缘节点分配的可用通信地址;接收客户端的访问请求,其中,所述访问请求用于请求获取目标内容;
节点匹配模块720,用于在多个所述第一上报数据中,查找存储有所述目标内容的目标边缘节点的第一通信地址,其中,所述第一通信地址为在所述调度系统中保存的、运营商服务器为所述目标边缘节点分配的可用通信地址;
第二响应模块730,用于将所述第一通信地址发送至所述访问请求对应的客户端,使所述客户端按照所述第一通信地址从所述目标边缘节点获取所述目标内容。
在一个实施例中,在将所述第一通信地址发送至所述访问请求对应的客户端之后,所述第二接收模块710还用于:
接收所述目标边缘节点上报的第二上报数据;
在接收到所述客户端返回的访问失败通知、且所述第一通信地址与所述第二上报数据中的第二通信地址不同的情况下,将保存的所述目标边缘节点的可用通信地址从所述第一通信地址更新为所述第二通信地址,并将所述第二通信地址发送至所述访问请求对应的客户端。
图10示出了一个实施例中计算机设备的内部结构图。该计算机设备具体可以是图1中的边缘节点110(或调度系统130)。如图10所示,该计算机设备包括该计算机设备包括通过系统总线连接的处理器、存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该计算机设备的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现地址检测方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行地址检测方法。计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的地址检测装置可以实现为一种计算机程序的形式,计算机程序可在如图10所示的计算机设备上运行。计算机设备的存储器中可存储组成该地址检测装置的各个程序模块,比如,图7所示的请求发送模块510、响应接收模块520和数据上报模块530。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的地址检测方法中的步骤。
图10所示的计算机设备可以通过如图7所示的地址检测装置中的请求发送模块510执行向运营商服务器发送第一请求,其中,所述第一请求用于目标边缘节点请求获取所述运营商服务器为所述目标边缘节点分配的第一通信地址,所述目标边缘节点上存储有目标内容。计算机设备可通过响应接收模块520执行接收所述运营商服务器返回的所述第一通信地址。计算机设备可通过数据上报模块530执行发送所述第一通信地址至调度系统,以通过所述调度系统根据所述第一通信地址确定所述目标边缘节点的可用通信地址,其中,所述可用通信地址用于客户端通过所述运营商服务器建立与所述目标边缘节点之间的通信连接,所述通信连接用于使客户端从所述目标边缘节点获取所述目标内容。
在一个实施例中,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任一项实施例所述的方法。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一项实施例所述的方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指示相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双倍速率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。