CN112165532A - 节点访问方法、装置、设备及计算机可读存储介质 - Google Patents

节点访问方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN112165532A
CN112165532A CN202011097123.3A CN202011097123A CN112165532A CN 112165532 A CN112165532 A CN 112165532A CN 202011097123 A CN202011097123 A CN 202011097123A CN 112165532 A CN112165532 A CN 112165532A
Authority
CN
China
Prior art keywords
tunnel
target
access
node
server
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.)
Granted
Application number
CN202011097123.3A
Other languages
English (en)
Other versions
CN112165532B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202011097123.3A priority Critical patent/CN112165532B/zh
Publication of CN112165532A publication Critical patent/CN112165532A/zh
Application granted granted Critical
Publication of CN112165532B publication Critical patent/CN112165532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本申请提供了一种节点访问方法、装置、设备及计算机可读存储介质,应用于云技术领域,所述方法包括:响应于对目标节点的访问请求,获取所述访问请求中携带的所述目标节点的目标节点信息;将所述访问请求定向至目标隧道服务端,并通过所述目标隧道服务端确定所述目标节点信息对应的目标隧道;通过所述目标隧道将所述访问请求发送至所述目标节点。通过本申请提供的节点访问方法,实现了云端服务器对各边缘节点的访问,提升了边缘节点中服务的可用性。

Description

节点访问方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及云技术领域,尤其涉及一种节点访问方法、装置、设备及计算机可读存储介质。
背景技术
云计算(cloud computing)是一种计算模式,它将计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。提供资源的网络被称为“云”。“云”中的资源在使用者看来是可以无限扩展的,并且可以随时获取,按需使用,随时扩展,按使用付费。作为云计算的基础能力提供商,会建立云计算资源池平台,一般称为IaaS(Infrastructure as a Service,基础设施即服务)平台,在资源池中部署多种类型的虚拟资源,供外部客户选择使用。云计算资源池中主要包括:计算设备(为虚拟化机器,包含操作系统)、存储设备、网络设备。
在IaaS平台中,用户可以通过网络从数据中心获得相应的服务。为了避免网络延时、故障等的影响,通常将服务部署在距离用户较近的边缘节点。多个边缘节点可以组成边缘集群,为了更为充分地利用硬件资源、降低运维成本,边缘集群通常将硬件及网络资源虚拟化,例如,将硬件资源抽象为虚拟设备(例如,容器)供用户使用。
由于传统技术中边缘集群中各边缘节点没有固定的公网IP,云端服务器往往无法直接访问边缘节点的服务及组件,因此,边缘节点的服务可用性较低。
发明内容
本申请实施例提供一种节点访问方法、装置、设备及计算机可读存储介质,能够实现云端服务器对各边缘节点的访问,提升了边缘节点中服务的可用性。
本申请实施例的技术方案是这样实现的:
本申请实施例提供一种节点访问方法,包括:响应于对目标节点的访问请求,获取访问请求中携带的目标节点的目标节点信息;将访问请求定向至目标隧道服务端,并通过目标隧道服务端确定目标节点信息对应的目标隧道;通过目标隧道将访问请求发送至目标节点。
在本申请的一些实施例中,所述服务器包括至少一个隧道服务端;每一隧道服务端与至少一个边缘节点的隧道客户端通过对应的隧道连接;所述将访问请求定向至目标隧道服务端,包括:向域名系统发送携带目标节点信息的隧道查询请求;隧道查询请求用于指示域名系统根据目标节点信息和域名系统中的连接数据确定目标节点信息对应的目标隧道服务端信息;连接数据包括每一隧道服务端的隧道服务端信息与至少一个边缘节点的边缘节点信息之间的对应关系;接收域名系统发送的携带目标隧道服务端信息的隧道查询响应;根据目标隧道服务端信息,确定目标隧道服务端,将访问请求发送至目标隧道服务端。
在本申请的一些实施例中,所述目标隧道服务端通过至少一个隧道中每一隧道与对应的边缘节点中的隧道客户端建立连接;所述通过目标隧道服务端确定目标节点信息对应的目标隧道,包括:根据目标节点信息,将至少一个隧道中与目标节点信息匹配的隧道确定为目标隧道。
在本申请的一些实施例中,所述通过目标隧道将访问请求发送至目标节点,包括:通过目标隧道服务端将对访问请求进行封装,得到访问数据包;通过目标隧道将访问数据包发送至目标节点。
在本申请的一些实施例中,所述访问数据包携带以下至少之一:第一应用程序的第一程序信息、第二应用程序的第二程序信息、访问数据、目标节点信息、协议类型和连接状态。
在本申请的一些实施例中,所述第一应用程序用于发起访问请求,在访问数据包携带第一程序信息的情况下,所述通过目标隧道服务端将对访问请求进行封装,得到访问数据包,包括:解析第一应用程序发起的访问请求,获取第一程序信息;将第一程序信息写入访问数据包。
在本申请的一些实施例中,所述第二应用程序用于生成访问数据包对应的访问反馈,在访问数据包携带第二程序信息的情况下,所述通过目标隧道服务端将对访问请求进行封装,得到访问数据包,包括:解析访问请求,获取第二程序信息;第二程序信息包括第二应用程序的服务标识和端口;将服务标识和端口写入访问数据包;访问数据包还用于指示目标节点中的隧道客户端通过服务标识和端口与第二应用程序建立连接,并将解析访问数据得到的访问请求转发至第二应用程序。
在本申请的一些实施例中,所述方法还包括:监测至少一个隧道服务端中待监测隧道服务端与待监测边缘节点的连接情况;根据连接情况,在域名系统中维护待监测隧道服务端与待监测边缘节点的对应关系。
在本申请的一些实施例中,所述根据连接情况,在域名系统中维护待监测隧道服务端与待监测边缘节点的对应关系,包括:在待监测隧道服务端与待监测边缘节点建立连接的情况下,通过待监测隧道服务端将待监测隧道服务端与待监测边缘节点之间的对应关系写入域名系统的连接数据中。
在本申请的一些实施例中,所述根据连接情况,在域名系统中维护待监测隧道服务端与待监测边缘节点的对应关系,包括:在待监测隧道服务端与待监测边缘节点断开连接的情况下,通过待监测隧道服务端将待监测隧道服务端与待监测边缘节点之间的对应关系从域名系统的连接数据中移除。
在本申请的一些实施例中,所述方法还包括:接收访问发起边缘节点向访问接收边缘节点发送的访问转发请求;访问转发请求携带访问接收边缘节点的接收节点信息;在域名系统中存在接收节点信息的情况下,将访问接收边缘节点作为目标节点,并根据访问转发请求生成访问请求。
本申请实施例提供一种节点访问装置,所述装置包括:获取模块,用于响应于对目标节点的访问请求,获取访问请求中携带的目标节点的目标节点信息;确定模块,用于将访问请求定向至目标隧道服务端,并通过目标隧道服务端确定目标节点信息对应的目标隧道;发送模块,用于通过目标隧道将访问请求发送至目标节点。
本申请实施例提供一种节点访问设备,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现本申请实施例提供的节点访问方法。
本申请实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本申请实施例提供的节点访问方法。
本申请实施例具有以下有益效果:
本申请实施例通过获取访问请求中携带的目标节点的目标节点信息,通过与该目标节点信息对应的目标隧道将该访问请求发送至对应的目标节点,实现了云端服务器对各边缘节点的访问,提升了边缘节点中服务的可用性。并且,由于通过服务器中隧道客户端对每一边缘节点对应的隧道进行管理,可以使服务器通过该隧道客户端同时连接多个边缘节点,提升了服务器对边缘集群中各边缘节点的管理效率,进而为监控告警服务提供数据基础,提升了使用体验。
附图说明
图1是本申请实施例提供的节点访问系统的一个可选的架构示意图;
图2是本申请实施例提供的节点访问设备的结构示意图;
图3是本申请实施例提供的节点访问方法的一个可选的流程示意图;
图4是本申请实施例提供的节点访问方法的一个可选的流程示意图;
图5是本申请实施例提供的节点访问方法的一个可选的流程示意图;
图6是本申请实施例提供的节点访问方法的一个可选的流程示意图;
图7是本申请实施例提供的节点访问方法的一个可选的流程示意图;
图8是本申请实施例提供的节点访问方法的一个可选的流程示意图;
图9A是本申请实施例提供的通过SSH隧道实现端口转发的一个可选的流程示意图;
图9B是本申请实施例提供的节点访问系统的一个可选的架构示意图;
图9C是本申请实施例提供的节点名注册的流程示意图;
图9D是本申请实施例提供的一个可选的日志展示界面示意图;
图9E是本申请实施例提供的一个可选的容器操作界面示意图;
图9F是本申请实施例提供的一个可选的容器文件操作界面示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,所描述的实施例不应视为对本申请的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使在本实施例中描述的本申请实施例能够以除了在在本实施例中图示或描述的以外的顺序实施。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请实施例中涉及的名词进行简单介绍:
pod:pod是指Kubernetes中运行、管理、编排容器化应用时的基本单位。
Kubernetes:简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种机制。
隧道:隧道技术是一种通过使用互联网络的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将这些其他协议的数据帧或包重新封装在新的包头中发送。新的包头提供了路由信息,从而使封装的负载数据能够通过互联网络传递。
Kubelet:是运行在每个节点上的主要的“节点代理”,每个节点都会启动kubelet进程,用来处理本节点的任务。
Prometheus:Prometheus是一套开源的系统监控报警框架,是Kubernetes集群监控系统的重要组成部分。
参见图1,图1是本申请实施例提供的节点访问系统100的一个可选的架构示意图,为实现支撑一个节点访问应用,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。图1还示出了服务器200可以为服务器集群,该服务器集群包括服务器200-1至200-3,同样地,服务器200-1至200-3可以是实体机器,也可以是利用虚拟化技术(如容器技术及虚拟机技术等)构建的虚拟机器,本申请实施例对此不做限定,当然,在本实施例中也可使用单个服务器来进行服务的提供。服务器200通过网络300连接边缘集群600,该边缘集群600包括边缘节点600-1至600-3。
在本申请的一些实施例中,服务器200可以响应于对边缘集群600中目标节点的访问请求,会获取访问请求中携带的目标节点的目标节点信息;将访问请求定向至目标隧道服务端,并通过目标隧道服务端确定目标节点信息对应的目标隧道;通过目标隧道将访问请求发送至边缘集群600中的目标节点。同时,服务器200还可以接收该目标节点发送的访问响应,并将该访问响应发送至终端,终端可以通过图形界面410展示该访问响应。
本申请实施例可以借助于云技术(Cloud Technology)实现,云技术是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。
云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、以及应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,例如,教育系统的门户网站。
作为示例,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、以及智能手表等,但并不局限于此。终端以及服务器200可以通过有线或无线通信方式进行直接或间接地连接,本申请实施例中不做限制。
参见图2,图2是本申请实施例提供的节点访问设备500的结构示意图,图2所示的节点访问设备500包括:至少一个处理器510、存储器550、至少一个网络接口520和用户接口530。节点访问设备500中的各个组件通过总线系统540耦合在一起。可理解,总线系统540用于实现这些组件之间的连接通信。总线系统540除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图2中将各种总线都标为总线系统540。
处理器510可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(DSP,Digital Signal Processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
用户接口530包括使得能够呈现媒体内容的一个或多个输出装置531,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口530还包括一个或多个输入装置532,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
存储器550包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(ROM,Read Only Memory),易失性存储器可以是随机存取存储器(RAM,Random Access Memory)。本申请实施例描述的存储器550旨在包括任意适合类型的存储器。存储器550可选地包括在物理位置上远离处理器510的一个或多个存储设备。
在本申请的一些实施例中,存储器550能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
操作系统551,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
网络通信模块552,用于经由一个或多个(有线或无线)网络接口520到达其他计算设备,示例性的网络接口520包括:蓝牙、无线相容性认证(WiFi)、和通用串行总线(USB,Universal Serial Bus)等;
显示模块553,用于经由一个或多个与用户接口530相关联的输出装置531(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
输入处理模块554,用于对一个或多个来自一个或多个输入装置532之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
在本申请的一些实施例中,本申请实施例提供的节点访问装置可以采用软硬件结合的方式实现,作为示例,本申请实施例提供的节点访问装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的节点访问方法。
在本申请的一些实施例中,本申请实施例提供的节点访问装置可以采用软件方式实现,图2示出了存储在存储器550中的节点访问装置555,其可以是程序和插件等形式的软件,包括以下软件模块:获取模块5551、确定模块5552和发送模块5553,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
将在下文中说明各个模块的功能。
在另一些实施例中,本申请实施例提供的装置可以采用硬件方式实现,作为示例,本申请实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本申请实施例提供的节点访问方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(ASIC,Application Specific Integrated Circuit)、DSP、可编程逻辑器件(PLD,Programmable Logic Device)、复杂可编程逻辑器件(CPLD,ComplexProgrammable Logic Device)、现场可编程门阵列(FPGA,Field-Programmable GateArray)或其他电子元件。
将结合本申请实施例提供的终端的示例性应用和实施,在本申请实施例中,将以服务器为执行主体说明本申请实施例提供的节点访问方法。
参见图3,图3是本申请实施例提供的节点访问方法的一个可选的流程示意图,将结合图3示出的步骤进行说明。
在步骤301中,响应于对目标节点的访问请求,获取访问请求中携带的目标节点的目标节点信息。
在本申请的一些实施例中,云端服务器需要访问边缘集群中多个边缘节点中的一个边缘节点,将该边缘节点称为目标节点。对于该目标节点的访问请求可以由云端服务器中的云端的应用程序发起的,也可以是该云端服务器接收到其他服务器或终端(节点)发送的对该目标节点的访问请求,云端服务器仅起到转发作用。
在本申请的一些实施例中,该访问请求中会携带该目标节点的目标节点信息,该目标节点信息用于在该边缘集群中的多个边缘节点中确定该目标节点。该目标节点信息可以但不限于是该目标节点的域名、节点名。
在步骤302中,将访问请求定向至目标隧道服务端,并通过目标隧道服务端确定目标节点信息对应的目标隧道。
在本申请的一些实施例中,该云端服务器中存在目标隧道服务端,在获取到该目标节点信息后,可以将该访问请求直接定向到该目标隧道服务端,该目标隧道服务端可以为该云端服务器的一个容器(或应用程序)。该目标隧道服务端可以与至少一个隧道客户端建立连接,其中,该目标隧道服务端与建立连接的每一隧道客户端之间构成一个隧道,并且,通过每一隧道与对应的隧道客户端所在的边缘节点建立连接。例如,若该目标隧道服务端对应N个隧道客户端,该目标隧道服务端对应N个隧道,通过该N个隧道可以与N个不同的边缘节点建立连接。
在本申请的一些实施例中,该目标隧道服务端对应至少一个隧道,每一隧道均对应一个边缘节点的边缘节点信息,根据该目标节点信息,可以在该至少一个隧道中确定与该目标节点信息对应的隧道作为该目标隧道。
在步骤303中,通过目标隧道将访问请求发送至目标节点。
在本申请的一些实施例中,在根据该目标节点信息从至少一个隧道中确定该目标隧道后,可以通过该目标隧道将该访问请求发送至该目标隧道的隧道客户端,目标隧道的隧道客户端为该目标节点的一个容器(应用程序)。
在本申请的一些实施例中,在该目标节点需要对该访问请求进行响应,即需要发送该访问请求对应的访问响应的情况下,该访问响应可以通过相同的隧道(目标隧道),从目标节点的隧道客户端发送至服务器的目标隧道服务端。
通过本申请实施例对于图3的上述示例性实施可知,本申请实施例通过获取访问请求中携带的目标节点的目标节点信息,通过与该目标节点信息对应的目标隧道将该访问请求发送至对应的目标节点,实现了云端服务器对各边缘节点的访问,提升了边缘节点中服务的可用性。并且,由于通过服务器中隧道客户端对每一边缘节点对应的隧道进行管理,可以使服务器通过该隧道客户端同时连接多个边缘节点,提升了服务器对边缘集群中各边缘节点的管理效率,进而为监控告警服务提供数据基础,提升了使用体验。
参见图4,图4是本申请实施例提供的节点访问方法的一个可选的流程示意图,基于图3,图3中的步骤302可以更新为步骤401至步骤404,将结合图4示出的步骤进行说明。
在步骤401中,向域名系统发送携带目标节点信息的隧道查询请求;隧道查询请求用于指示域名系统根据目标节点信息和域名系统中的连接数据确定目标节点信息对应的目标隧道服务端信息;连接数据包括每一隧道服务端的隧道服务端信息与至少一个边缘节点的边缘节点信息之间的对应关系。
在本申请的一些实施例中,该服务器中存在至少一个隧道服务端,每一隧道服务端可以与至少一个边缘节点的隧道客户端通过对应的隧道连接。
在本申请的一些实施例中,该域名系统可以位于该服务器中,也可以位于与该服务器连接的其他网络位置中。其中,该域名系统用于存储每一隧道服务端与至少一个边缘节点的隧道客户端的连接数据,该连接数据包括每一隧道服务端的隧道服务端信息与至少一个边缘节点的边缘节点信息之间的对应关系,该隧道服务端信息可以为服务器给该隧道服务端(或该隧道服务端所在的容器)分配的IP,该边缘节点信息可以为该边缘节点的域名、边缘节点的节点名。
例如,若该服务器中存在2个隧道服务端,包括隧道服务端A(IP1)和隧道服务端B(IP2),其中,隧道服务端A与边缘节点N1至边缘节点N3共3个边缘节点连接,隧道服务端B与边缘节点N4至边缘节点N5共2个边缘节点连接。因此,该域名系统中的连接数据可以包括:
“(IP1-N1)、(IP1-N2)、(IP1-N3)、(IP2-N4)、(IP2-N5)”;
可以看出,上述连接数据中包括了每一隧道服务端的隧道服务端信息与对应的边缘节点的边缘节点信息之间的对应关系。
在本申请的一些实施例中,该隧道查询请求中携带了目标节点信息,在域名系统接收到该隧道查询请求后,可以根据其中的目标节点信息在该连接数据中查找与该目标节点信息匹配的对应关系,并进一步确定与该目标节点信息对应的目标隧道服务端信息。
在步骤402中,接收域名系统发送的携带目标隧道服务端信息的隧道查询响应。
在步骤403中,根据目标隧道服务端信息,确定目标隧道服务端,将访问请求发送至目标隧道服务端。
在本申请的一些实施例中,服务器可以根据该目标隧道服务端信息,及该目标隧道服务端的IP,在至少一个隧道服务端中确定该目标隧道服务端,同时,根据该目标隧道服务端的IP可以将该访问请求发送至目标隧道服务端。
在步骤404中,通过目标隧道服务端确定目标节点信息对应的目标隧道。
在本申请的一些实施例中,在图4中的任意步骤之间,还可以包括以下步骤:监测至少一个隧道服务端中待监测隧道服务端与待监测边缘节点的连接情况;根据连接情况,在域名系统中维护待监测隧道服务端与待监测边缘节点的对应关系。
在本申请的一些实施例中,可以通过以下方案实现上述根据连接情况,在域名系统中维护待监测隧道服务端与待监测边缘节点的对应关系:
A、在待监测隧道服务端与待监测边缘节点建立连接的情况下,通过待监测隧道服务端将待监测隧道服务端与待监测边缘节点之间的对应关系写入域名系统的连接数据中。
B、在待监测隧道服务端与待监测边缘节点断开连接的情况下,通过待监测隧道服务端将待监测隧道服务端与待监测边缘节点之间的对应关系从域名系统的连接数据中移除。
通过本申请实施例对于图4的上述示例性实施可知,本申请实施例通过该域名系统可以在服务器中设置多个隧道服务端,进而可以满足边缘集群中存在大量边缘节点的场景,提升了本申请的应用范围。同时通过域名系统保存服务器中隧道服务端与边缘节点的对应关系,可以为不同的边缘节点分配不同的隧道服务端,在分配过程中结合负载均衡机制,可以提升服务器对边缘集群中各边缘节点的整体访问效率。
在本申请的一些实施例中,参见图5,图5是本申请实施例提供的节点访问方法的一个可选的流程示意图,基于图3,图3示出的步骤302可更新为步骤501至步骤502。
在步骤501中,将访问请求定向至目标隧道服务端。
在步骤502中,根据目标节点信息,将至少一个隧道中与目标节点信息匹配的隧道确定为目标隧道。
在本申请的一些实施例中,目标隧道服务端通过至少一个隧道中每一隧道与对应的边缘节点中的隧道客户端建立连接。也就是说,该目标隧道服务端可以与至少一个隧道客户端通过对应的隧道建立连接,进而实现了服务器通过该目标隧道服务端与至少一个边缘节点建立隧道连接。
在本申请的一些实施例中,该目标隧道服务端对应至少一个隧道,每一隧道可以通过该隧道的隧道客户端所在的边缘节点的边缘节点信息确定。
例如,存在目标隧道服务端P与边缘节点N1至边缘节点N3共3个边缘节点连接,其中,P与N1之间的隧道为第一隧道,P与N2之间的隧道为第二隧道,P与N3之间的隧道为第三隧道,在该目标隧道服务端接收到携带目标节点信息为N2的访问请求后,可以通过N2在三个隧道中进行匹配,得到与N2匹配的第二隧道作为目标隧道。
通过本申请实施例对于图5的上述示例性实施可知,本申请实施例中目标隧道服务端通过目标节点信息可以在多条隧道中,快速确定与目标节点对应的目标隧道,实现了一个隧道服务端对应多个隧道客户端的传输架构,提升了单一隧道服务端的资源利用率。
在本申请的一些实施例中,参见图6,图6是本申请实施例提供的节点访问方法的一个可选的流程示意图,基于图3,图3中的步骤303可以更新为步骤601至步骤602。
在步骤601中,通过目标隧道服务端将对访问请求进行封装,得到访问数据包。
在本申请的一些实施例中,在通过该目标隧道对该访问请求进行传输之前,需要对该访问请求进行封装,以提高数据的传输效率,降低数据传输过程中的误码率。
在本申请的一些实施例中,该访问数据包需要携带以下至少之一:访问数据、目标节点信息、协议类型和连接状态。
在本申请的一些实施例中,在该访问数据包包括访问数据的情况下,需要对该访问请求进行解析,获取该访问请求中的访问数据,并将该访问数据写入该访问数据包中。该访问数据包中可以设置“数据(data)”属性,在封装过程中,可以将该访问数据写入该访问数据包的“数据(data)”属性中。通过该访问数据可以实现特定的访问请求。
例如,以https转发为例,目标隧道服务端在接收到该https请求后,可以对该https请求进行解析,得到其中的header、method和body信息,并将header、method和body信息封装为HttpsMsg对象,将HttpsMsg对象序列化为二进制数据放入该访问数据包的“数据(data)”属性中。
在本申请的一些实施例中,在该访问数据包包括目标节点信息的情况下,需要对该访问请求进行解析,获取该访问请求中的目标节点信息,并将该目标节点信息写入该访问数据包中。该访问数据包中可以设置“节点(node)”属性,在封装过程中,可以将该目标节点信息写入该访问数据包的“节点(node)”属性中。通过该目标节点信息可以使隧道客户端在接收到该访问数据包后,可以根据该目标节点信息对该访问数据包进行验证,在该目标节点信息与该隧道客户端所在边缘节点相匹配的情况下验证通过,对该访问数据包进行解析并处理;在该目标节点信息与该隧道客户端所在边缘节点不匹配的情况下验证失败,将该访问数据包丢弃。
例如,以https转发为例,目标隧道服务端在接收到该https请求后,可以对该https请求进行解析,得到其中的url,进而提取该url中的域名(节点名)作为该目标节点信息,将该目标节点信息写入该访问数据包的“节点(node)”属性中。
在本申请的一些实施例中,在该访问数据包包括协议类型的情况下,需要获取该访问请求使用的协议类型,将该协议类型写入该访问数据包中,该协议类型可以包括但不限于是https协议和tls协议。该访问数据包中可以设置“协议类型(category)”属性,在封装过程中,可以将该目标节点信息写入该访问数据包的“协议类型(category)”属性中。
例如,以https转发为例,目标隧道服务端在接收到该https请求后,可以将该访问数据包的“协议类型(category)”属性设置为“https”。
在本申请的一些实施例中,在该访问数据包包括连接状态的情况下,连接状态可以包括连接中(connecting)、已连接(connected)、传输(transmission)和关闭(close)四种状态。可以将该连接状态写入该访问数据包的“连接状态(type)”属性中。例如,以https转发为例,转发https请求头信息的连接状态为connecting。
在步骤602中,通过目标隧道将访问数据包发送至目标节点。
在本申请的一些实施例中,目标节点中的隧道客户端可以对该访问数据包进行解析,并得到以下至少之一的数据:访问数据、目标节点信息、协议类型和连接状态。进而完成服务器对该目标节点的访问过程。
通过本申请实施例对于图6的上述示例性实施可知,本申请实施例通过解析该访问请求,并封装为自定义通信格式下的访问数据包,可以提升访问数据的传输效率和传输准确率。
在本申请的一些实施例中,参见图7,图7是本申请实施例提供的节点访问方法的一个可选的流程示意图,基于图6,图6中的步骤601还可以包括步骤701和/或步骤702。
在步骤701中,在访问数据包携带第一程序信息的情况下,解析第一应用程序发起的访问请求,获取第一程序信息;将第一程序信息写入访问数据包。
在本申请的一些实施例中,该第一应用程序为服务器中用于发起访问请求的应用程序,对于发起访问请求的应用程序(第一应用程序),服务器为该第一应用程序发起的每一个请求分配一个请求标识(UUID,Universally Unique Identifier),该请求标识可以用来确定第一应用程序发起该访问请求的发起时间;在该第一应用程序同时发起多个访问请求的情况下,由于每一访问请求的请求标识均不相同,该请求标识还可以用于区分该多个访问请求;在云端服务器存在多个云端应用程序的情况下,该请求标识还携带该第一应用程序的标识信息,通过该请求标识中该第一应用程序的标识信息,可以确定该访问请求是由多个云端应用程序中那一个应用程序发起的。
在本申请的一些实施例中,在第一应用程序发起该访问请求之后,该访问请求中会携带该第一应用程序的第一程序信息,通过该第一程序信息可以确定该访问请求中用于标识该请求的请求标识(UUID)。在目标隧道服务端接收到该访问请求后,还可以解析该访问请求,并获取携带的第一程序信息,并将该第一程序信息写入该访问数据包中。相应地,该访问数据包中可以设置“请求标识(topic)”属性,在封装过程中,可以将该目标节点信息写入该访问数据包的“请求标识(topic)”属性中。
通过该“请求标识(topic)”属性,可以使得隧道客户端在接收到访问数据包之后,可以确定第一应用程序发起该访问请求的发起时间;在该第一应用程序同时发起多个访问请求的情况下,由于每一访问请求的请求标识均不相同,该请求标识还可以用于区分该多个访问请求;在云端服务器存在多个云端应用程序的情况下,该请求标识还携带该第一应用程序的标识信息,通过该请求标识中该第一应用程序的标识信息,可以确定该访问请求是由多个云端应用程序中那一个应用程序发起的。
例如,在服务器中云端应用程序同时发送请求A和请求B的情况下,服务器为请求A分配“A1”作为该云端应用程序中请求A的请求标识,为请求B分配“B1”作为该云端应用程序中请求B的请求标识,在向边缘节点P发送请求A,即发送携带“A1”的访问数据包至边缘节点P的隧道客户端后,该边缘节点P的隧道客户端可以根据“A1”确定该访问数据包为服务器中该云端应用程序发送的请求A。同理,该边缘节点P的隧道客户端在接收到携带“B1”的访问数据包后,可以根据“B1”确定该访问数据包为服务器中该云端应用程序发送的请求B。由此,实现了服务器中多个请求对同一条隧道的复用,提高了隧道的利用率。
在步骤702中,在访问数据包携带第二程序信息的情况下,解析访问请求,获取第二程序信息;第二程序信息包括第二应用程序的服务标识和端口;将服务标识和端口写入访问数据包;访问数据包还用于指示目标节点中的隧道客户端通过服务标识和端口与第二应用程序建立连接,并将解析访问数据得到的访问请求转发至第二应用程序。
在本申请的一些实施例中,该第二应用程序为目标节点(边缘节点)中该访问请求(访问数据包)需要访问的应用程序,即该第二应用程序用于生成访问数据包对应的访问反馈。该目标节点中可以包括多个待访问的应用程序,为了实现隧道客户端将该访问请求(访问数据包)转发至对应的应用程序(第二应用程序),在对该访问数据包进行封装的过程中,需要获取该访问请求中的第二程序信息,并写入该访问数据包中。
在本申请的一些实施例中,在访问数据包携带第二程序信息的情况下,需要对该访问请求进行解析,获取该访问请求中携带的第二程序信息,该第二程序信息包括该第二应用程序的服务标识和端口,并将该服务标识和端口写入访问数据包。相应地,该访问数据包中还可以设置“地址(addr)”属性,在封装过程中,可以将该第二应用程序的服务标识和端口,写入该访问数据包的“地址(addr)”中。其中,该服务标识可以为该第二应用程序所提供的服务(service)的服务名或网络地址。
通过该“地址(addr)”属性,可以使得隧道客户端在接收到访问数据包之后,可以根据该第二应用程序的服务标识和端口,建立该隧道客户端与第二应用程序之间的连接,并将解析该访问数据包得到的访问请求转发至该第二应用程序。
例如,在边缘节点存在应用程序C和应用程序D的情况下,在服务器接收到对应用程序C的访问请求后,会从该访问请求中获取该应用程序C的服务标识和端口,并将该应用程序C的服务标识和端口写入访问数据包的“addr”属性中。边缘节点的隧道客户端通过解析该访问数据包可以获取应用程序C的服务标识和端口,通过该应用程序C的服务标识和端口与该应用程序C建立连接,并通过上述连接将解析该访问数据包得到的访问请求转发至应用程序C。
通过本申请实施例对于图7的上述示例性实施可知,本申请实施例通过在封装过程中添加第一应用程序的第一程序信息,在服务器中云端应用程序同时发送多个访问请求的情况下,通过每一访问数据包中的第一程序信息对各个访问请求进行区别,实现了对一个隧道的复用,提升了隧道的资源利用率。并且,本申请实施例通过在封装过程中添加第二应用程序的第二应用信息,可以在边缘节点中存在多个边缘应用程序的情况下,快速并准确的将该访问请求转发至对应的目标边缘应用程序,进一步提升了隧道的资源利用率。
在本申请的一些实施例中,参见图8,图8是本申请实施例提供的节点访问方法的一个可选的流程示意图,基于图3,所述方法还可以包括步骤801和步骤802。
在步骤801中,接收访问发起边缘节点向访问接收边缘节点发送的访问转发请求;访问转发请求携带访问接收边缘节点的接收节点信息。
在本申请的一些实施例中,本申请提供的节点访问方法还可以提供请求转发的功能,即接收边缘集群中任意一个边缘节点对另一边缘节点的访问请求,通过服务器对该访问请求进行转发。其中,服务器可以通过隧道服务端接收与该隧道服务端连接的访问发起边缘节点向访问接收边缘节点发送的访问转发请求。其中,该接收节点信息为该接收边缘节点的节点信息,可以包括域名、节点名等。
例如,存在边缘节点E和边缘节点F,边缘节点E需要访问边缘节点F(或边缘节点E中的一个应用程序需要访问边缘节点F中的一个应用程序),将该边缘节点E作为访问发起边缘节点,将该边缘节点F作为访问接收边缘节点,边缘节点E会发起一个访问转发请求,通过边缘节点E中的隧道客户端向服务器中对应的隧道服务端发送该访问转发请求。
在步骤802中,在域名系统中存在接收节点信息的情况下,将访问接收边缘节点作为目标节点,并根据访问转发请求生成访问请求。
在本申请的一些实施例中,服务器在接受到该访问转发请求后,会获取该访问转发请求中携带的接收节点信息,并在域名系统中查询是否存在与该接收节点信息匹配的对应关系,即在域名系统中查询是否存在该接收节点信息。在域名系统中存在接收节点信息的情况下,表示该访问接收边缘节点已经与该服务器建立了对应的隧道,此时,可以根据该访问转发请求生成访问请求,并执行步骤301。在域名系统中不存在接收节点信息的情况下,表示该访问接收边缘节点还未与该服务器建立对应的隧道,无法实现转发过程,向该访问发起边缘节点发送转发失败反馈。
例如,基于上述举例,服务器在接收到边缘节点E会发起的访问转发请求后,可以得到该访问转发请求中携带的边缘节点F的节点信息“F1”,服务器会在域名系统中查找是否存在该节点信息“F1”,若域名系统中存在“(IP8-F1)”,则表征服务器中IP为“IP8”的隧道服务端与该“F1”对应的边缘节点F建立了对应的隧道,此时,可以根据该访问转发请求生成访问请求,并执行步骤301。需要说明的是,该IP为“IP8”的隧道服务端可以与该目标隧道服务端为同一隧道服务端,也可以为不同的隧道服务端。
通过本申请实施例对于图8的上述示例性实施可知,通过本申请提供的节点访问方法,通过服务器对访问请求的转发,还可以实现对边缘节点对边缘节点的访问过程。
下面,将说明本申请实施例在一个实际的应用场景中的示例性应用。
随着AI、IOT发展,许多新兴计算密集型和延迟敏感型终端应用,如虚拟现实(Virtual Reality,VR)、增强现实(Augmented Reality,AR)以及高清视频图片处理等正在迅速兴起,低延时、高带宽和强计算等应用需求日益增长。云计算技术虽然可以满足功能可用,但受网络链路容量限制等因素影响,容易导致数据传输速率过慢以及响应延迟过高等问题,难以满足用户体验。利用靠近数据源的边缘集群进行计算以提高服务响应性能逐渐成为一种趋势。由于边缘集群中的边缘节点没有固定的公网IP,存在云端pod无法访问边缘节点的组件和服务的问题。
在相关技术中,提供了一种通过SSH(Secure Shell,安全外壳协议)隧道实现端口转发的方案,如图9A所示,主机A的应用程序客户端A10需要和主机B的应用程序服务端A20进行通信。主机B上的应用程序server(服务)端A20在端口W上监听到达的应用程序client(客户)端A10的连接请求。在没有SSH隧道的情况下,主机A的应用程序客户端会直接连接服务端;如果在主机A和主机B之间创建一个SSH隧道A30,应用程序的协议数据都会通过SSH隧道A30转发。在主机A启动一个SSH进程监听端口P,同时与主机B的SSH进程建立SSH隧道A30,主机A的应用程序客户端A10请求本机的端口P,通过主机A和主机B的SSH进程的协作,主机A应用程序的请求转发到主机B,主机B的SSH进程与应用程序服务端A20的端口W建立连接将请求转发应用程序的服务端,响应的返回也是走相同的通道。
申请人经过研究发现,上述相关技术中的SSH隧道技术在边缘集群的环境中,云端服务端只能访问一个边缘节点,无法满足边缘集群中多个边缘节点的场景。因此,本申请还提供一种节点访问方法,通过根据域名的不同将请求分发到不同的隧道,以实现多个边缘节点的同时接入。
请参阅图9B,图9B是本申请实施例提供的节点访问系统的一个可选的架构示意图。该节点访问系统包括云端服务器B10和边缘节点(示例性的示出了边缘节点B20-1、边缘节点B20-2和边缘节点B20-3),其中,边缘节点包括隧道客户端和边缘端应用程序,云端服务器包括云端应用程序B11、隧道服务端B12和域名系统(DNS)B13。
其中,各边缘节点没有公网IP,云端应用程序B11无法直接请求边缘节点上的应用程序。云端的隧道服务端B12有固定的公网域名,边缘节点的隧道客户端主动连接云端的隧道服务端以建立长连接,同时,云端的隧道服务端B12将向域名系统B13注册该边缘节点的节点名信息,即将建立连接的边缘节点的节点名和隧道服务端B12的IP写入域名系统B13。
需要说明的是,图中云端服务器B10中的隧道服务端B12可以存在多个实例,在边缘节点的隧道客户端需要连接云端服务器的情况下,可以通过负载均衡策略在多个隧道服务端B12中确定一个隧道服务端作为目标隧道服务端进行连接。
云端应用程序B11可以通过上述的域名系统B13将边缘节点的节点名解析为隧道服务端B12的IP。在云端应用程序B11发起请求之后,该请求会被定向至云端隧道服务端B12。需要说明的是,由于边缘节点没有固定的公网IP,因此,云端应用程序B11发送的请求携带的是边缘节点的域名(节点名),并非边缘节点的IP,需要将域名解析为IP,请求才能在网络上传输,这里的定向就是将所有连接到隧道服务端的边缘节点的域名(节点名)解析为该隧道服务端的IP。
隧道服务端B12会把接收到的请求(数据)封装成自定义通信协议数据,根据请求中边缘节点的节点名将自定义通信协议数据转发到对应的节点隧道长连接,隧道客户端使用接收到的自定义通信协议数据中的IP和端口和边缘端应用程序建立连接,将请求转发到边缘端应用程序。
在本申请的一些实施例中,该自定义通信协议数据包括node(边缘节点的节点名)、category(协议类型)、type(连接状态)、topic(发送数据包的应用程序标识)、data(数据包的二进制字节)和addr(边缘端应用程序ip和端口)。
例如,以https转发为例,隧道server会收到https请求,从请求信息中获取url,根据url中域名(节点名)获取边缘节点应用程序的IP和端口(port),使用获取IP和端口替换https请求的url中的域名和端口,并将修改后的url放入自定义通信协议的addr属性中;并将https请求信息的header、method和body信息封装成HttpsMsg对象,将HttpsMsg对象序列化为二进制数据放入自定义协议的data属性中;自定义通信的node属性为边缘节点名,即请求url中的域名;自定义协议的category属性为隧道server的支持转发协议,https协议转发时category值为https;自定义协议的type属性是转发的请求的连接状态,连接状态可以分为connecting、connected、transmission和close四种状态,转发https请求头信息的连接状态为connecting。自定义协议的topic属性时为每个转发https的连接分配uuid,便于区分转发的不同https请求的自定义协议数据包。隧道服务端将自定义协议数据包通过与边缘节点建立的长连接发送到边缘节点,边缘节点的隧道客户端解析获取的自定义协议数据,根据https的请求信息向边缘节点的边缘端应用程序发送https请求。
在本申请的一些实施例中,边缘节点的隧道客户端与云端服务器之间可以通过grpc-go框架建立长连接。其中,边缘节点的隧道客户端可以使用ca证书和token向云端服务器的隧道服务端发起连接,在云端服务器(隧道服务端)通过对该ca证书和token进行验证,在验证通过的情况下,隧道服务端将该隧道客户端所在的边缘节点的节点名和隧道服务端的IP之间的对应关系写入域名系统,在断开连接后,在该域名系统中将该节点名和隧道服务端的IP之间的对应关系移除。其中,由于采用了grpc-go框架,边缘节点的隧道客户端与云端服务器之间的长连接具备心跳机制和断开重连机制。
在本申请的一些实施例中,请参阅图9C,图9C示出了一个节点名注册的流程示意图。在边缘节点(node-1)的隧道客户端C10与隧道服务端C20建立连接后,隧道服务端C20会将自身的IP(127.248.5.76)与该隧道客户端C10所在的边缘节点的节点名(node-1)的对应关系写入域名系统C30,其中,该域名系统C30中之前已经存储了该隧道客户端与边缘节点(node-2)及边缘节点(node-3)之间的对应关系,在建立上述连接后,会新增该IP(127.248.5.76)与(node-1)之间的对应关系,如图中的C40显示的连接数据。
在本申请的一些实施例中,在云端应用程序发送的请求中携带的边缘节点的节点名在该域名系统中的情况下,该请求会被重定向到云端隧道服务端,该隧道服务端会根据该请求中的边缘节点的节点名将该请求转发到对应的长连接隧道,进而将该请求转发至对应的边缘节点。
在本申请的一些实施例中,通过本申请中自定义通信协议格式可以实现连接转发的多路复用,如下表1示出的自定义通信协议格式的一个可选的实现方案。
属性名 类型 说明
node string 边缘节点名
category string 类别
type string 类型
topic string 数据包的uuid
data bytes 数据包的二进制字节
addr string 边缘端应用程序ip和端口
表1
其中,云端隧道服务端在接收到云端应用程序的请求后,会将该请求的内容封装至自定义通信协议数据包的data属性中。在本实施例中,云端服务器可以存在多个云端应用程序,对于每一个云端应用程序,在封装的过程中,可以为所述多个云端应用程序发出每一个访问请求,在数据包中写入不同的uuid。也就是说,对于不同的访问请求,在隧道服务端对请求的封装过程中,会利用uuid区分,因此,在云端应用程序同时发出多个访问请求的情况下,可以同时复用同一个长连接隧道。
在本申请的一些实施例中,可以采用tls(安全传输层协议)或http(超文本传输协议)实现数据(请求)的转发过程。
在本申请的一些实施例中,若采用tls协议,tls服务端在证书校验阶段会验证客户端请求中域名和服务端证书中的域名是否一致,因此在tls协议层可以获取客户端请求的域名,云端应用程序在请求边缘节点上的应用程序时会使用该节点名作为域名,本申请设计的隧道可以支持tls协议的转发。
在本申请的一些实施例中,若采用http协议,http服务端协议解析生成的请求对象中包含url属性,在url包含域名信息,也即节点信息,因此本申请设计的隧道可以支持http协议的转发。
在本申请的一些实施例中,采用本申请提供的节点访问方法,云端服务器还可以拉取边缘节点监控程序(kubelet)的监控数据(metrics),进而为监控告警提供基础数据,提升边缘节点服务的可用性。例如,在请求链路中,Prometheus(采集metrics的云端应用程序)→云端隧道服务端→边缘节点隧道客户端→kubelet(边缘节点应用程序);在响应链路中,边缘节点应用程序(kubelet)→边缘节点隧道客户端→云端隧道服务端→Prometheus(采集metrics的云端应用程序)。
在本申请的一些实施例中,通过本申请提供的节点访问方法可以查看边缘节点中运行的pod(容器)的日志,并通过日志展示界面D10显示该边缘节点中pod的日志信息,如图9D所示。
在本申请的一些实施例中,通过本申请提供的节点访问方法,可以进入边缘节点的容器执行命令,并通过容器操作界面E10接收用户对该边缘节点中pod的操作,如图9E所示,可以对“nginx”容器进行“登录”操作。
在本申请的一些实施例中,通过本申请提供的节点访问方法,还可以实现对该边缘节点中容器内的文件进行上传和下载操作,如图9F所示,图9F提供了一个可选的容器文件操作界面示意图,通过该操作界面F10中的F11选项对应的菜单可以实现对容器中文件的上传;通过该操作界面中的F12选项对应的菜单可以实现对容器中文件的下载。
下面继续说明本申请实施例提供的节点访问装置555的实施为软件模块的示例性结构,在本申请的一些实施例中,如图2所示,存储在存储器550的节点访问装置555中的软件模块可以包括:
获取模块5551,用于响应于对目标节点的访问请求,获取所述访问请求中携带的所述目标节点的目标节点信息;
确定模块5552,用于将所述访问请求定向至目标隧道服务端,并通过所述目标隧道服务端确定所述目标节点信息对应的目标隧道;
发送模块5553,用于通过所述目标隧道将所述访问请求发送至所述目标节点。
在本申请的一些实施例中,所述服务器包括至少一个隧道服务端;每一隧道服务端与至少一个边缘节点的隧道客户端通过对应的隧道连接;所述确定模块5552还用于:向域名系统发送携带目标节点信息的隧道查询请求;隧道查询请求用于指示域名系统根据目标节点信息和域名系统中的连接数据确定目标节点信息对应的目标隧道服务端信息;连接数据包括每一隧道服务端的隧道服务端信息与至少一个边缘节点的边缘节点信息之间的对应关系;接收域名系统发送的携带目标隧道服务端信息的隧道查询响应;根据目标隧道服务端信息,确定目标隧道服务端,将访问请求发送至目标隧道服务端。
在本申请的一些实施例中,目标隧道服务端通过至少一个隧道中每一隧道与对应的边缘节点中的隧道客户端建立连接;所述确定模块5552还用于:根据目标节点信息,将至少一个隧道中与目标节点信息匹配的隧道确定为目标隧道。
在本申请的一些实施例中,所述发送模块5553还用于:通过目标隧道服务端将对访问请求进行封装,得到访问数据包;通过目标隧道将访问数据包发送至目标节点。
在本申请的一些实施例中,访问数据包携带以下至少之一:第一应用程序的第一程序信息、第二应用程序的第二程序信息、访问数据、目标节点信息、协议类型和连接状态。
在本申请的一些实施例中,所述第一应用程序用于发起访问请求,在访问数据包携带第一程序信息的情况下,所述发送模块5553还用于:解析第一应用程序发起的访问请求,获取第一程序信息;将第一程序信息写入访问数据包。
在本申请的一些实施例中,所述第二应用程序用于生成访问数据包对应的访问反馈,在访问数据包携带第二程序信息的情况下,所述发送模块5553还用于:解析访问请求,获取第二程序信息;第二程序信息包括第二应用程序的服务标识和端口;将服务标识和端口写入访问数据包;访问数据包还用于指示目标节点中的隧道客户端通过服务标识和端口与第二应用程序建立连接,并将解析访问数据得到的访问请求转发至第二应用程序。
在本申请的一些实施例中,所述确定模块5552还用于:监测至少一个隧道服务端中待监测隧道服务端与待监测边缘节点的连接情况;根据连接情况,在域名系统中维护待监测隧道服务端与待监测边缘节点的对应关系。
在本申请的一些实施例中,所述确定模块5552还用于:在待监测隧道服务端与待监测边缘节点建立连接的情况下,通过待监测隧道服务端将待监测隧道服务端与待监测边缘节点之间的对应关系写入域名系统的连接数据中。
在本申请的一些实施例中,所述确定模块5552还用于:在待监测隧道服务端与待监测边缘节点断开连接的情况下,通过待监测隧道服务端将待监测隧道服务端与待监测边缘节点之间的对应关系从域名系统的连接数据中移除。
在本申请的一些实施例中,所述获取模块5551还用于:接收访问发起边缘节点向访问接收边缘节点发送的访问转发请求;访问转发请求携带访问接收边缘节点的接收节点信息;在域名系统中存在接收节点信息的情况下,将访问接收边缘节点作为目标节点,并根据访问转发请求生成访问请求。
本申请实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例上述的节点访问方法。
本申请实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本申请实施例提供的节点访问方法,例如,如图3至图8示出的方法。
在本申请的一些实施例中,计算机可读存储介质可以是FRAM、ROM、PROM、EPROM、EEPROM、闪存、磁表面存储器、光盘、或CD-ROM等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
在本申请的一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(HTML,Hyper TextMarkup Language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
综上所述,通过本申请实施例能够实现以下技术效果:
(1)本申请实施例通过获取访问请求中携带的目标节点的目标节点信息,通过与该目标节点信息对应的目标隧道将该访问请求发送至对应的目标节点,实现了云端服务器对各边缘节点的访问,提升了边缘节点中服务的可用性。并且,由于通过服务器中隧道客户端对每一边缘节点对应的隧道进行管理,可以使服务器通过该隧道客户端同时连接多个边缘节点,提升了服务器对边缘集群中各边缘节点的管理效率,进而为监控告警服务提供数据基础,提升了使用体验。
(2)本申请实施例通过该域名系统可以在服务器中设置多个隧道服务端,进而可以满足边缘集群中存在大量边缘节点的场景,提升了本申请的应用范围。同时通过域名系统保存服务器中隧道服务端与边缘节点的对应关系,可以为不同的边缘节点分配不同的隧道服务端,在分配过程中结合负载均衡机制,可以提升服务器对边缘集群中各边缘节点的整体访问效率。
(3)本申请实施例中目标隧道服务端通过目标节点信息可以在多条隧道中,快速确定与目标节点对应的目标隧道,实现了一个隧道服务端对应多个隧道客户端的传输架构,提升了单一隧道服务端的资源利用率。
(4)本申请实施例通过解析该访问请求,并封装为自定义通信格式下的访问数据包,可以提升访问数据的传输效率和传输准确率。
(5)本申请实施例通过在封装过程中添加第一应用程序的第一程序信息,在服务器中云端应用程序同时发送多个访问请求的情况下,通过每一访问数据包中的第一程序信息对各个访问请求进行区别,实现了对一个隧道的复用,提升了隧道的资源利用率。并且,本申请实施例通过在封装过程中添加第二应用程序的第二应用信息,可以在边缘节点中存在多个边缘应用程序的情况下,快速并准确的将该访问请求转发至对应的目标边缘应用程序,进一步提升了隧道的资源利用率。
(6)通过本申请提供的节点访问方法,通过服务器对访问请求的转发,还可以实现对边缘节点对边缘节点的访问过程。
以上所述,仅为本申请的实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申请的保护范围之内。

Claims (10)

1.一种节点访问方法,其特征在于,应用于服务器,所述方法包括:
响应于对目标节点的访问请求,获取所述访问请求中携带的所述目标节点的目标节点信息;
将所述访问请求定向至目标隧道服务端,并通过所述目标隧道服务端确定所述目标节点信息对应的目标隧道;
通过所述目标隧道将所述访问请求发送至所述目标节点。
2.根据权利要求1所述的方法,其特征在于,所述服务器包括至少一个隧道服务端;每一所述隧道服务端与至少一个边缘节点的隧道客户端通过对应的隧道连接;所述将所述访问请求定向至目标隧道服务端,包括:
向域名系统发送携带所述目标节点信息的隧道查询请求;所述隧道查询请求用于指示所述域名系统根据所述目标节点信息和所述域名系统中的连接数据确定所述目标节点信息对应的所述目标隧道服务端信息;所述连接数据包括每一所述隧道服务端的隧道服务端信息与所述至少一个边缘节点的边缘节点信息之间的对应关系;
接收所述域名系统发送的携带所述目标隧道服务端信息的隧道查询响应;
根据所述目标隧道服务端信息,确定所述目标隧道服务端;
将所述访问请求发送至所述目标隧道服务端。
3.根据权利要求1所述的方法,其特征在于,所述目标隧道服务端通过至少一个隧道中每一所述隧道与对应的边缘节点中的隧道客户端建立连接;所述通过所述目标隧道服务端确定所述目标节点信息对应的目标隧道,包括:
根据所述目标节点信息,将所述至少一个隧道中与所述目标节点信息匹配的隧道确定为所述目标隧道。
4.根据权利要求1至3所述的方法,其特征在于,所述通过所述目标隧道将所述访问请求发送至所述目标节点,包括:
通过所述目标隧道服务端将对所述访问请求进行封装,得到访问数据包;
通过所述目标隧道将所述访问数据包发送至所述目标节点。
5.根据权利要求4所述的方法,其特征在于,所述访问数据包携带以下至少之一:第一应用程序的第一程序信息、第二应用程序的第二程序信息、访问数据、所述目标节点信息、协议类型和连接状态。
6.根据权利要求5所述的方法,其特征在于,所述第一应用程序用于发起所述访问请求,在所述访问数据包携带所述第一程序信息的情况下,所述通过所述目标隧道服务端将对所述访问请求进行封装,得到访问数据包,包括:
解析所述第一应用程序发起的所述访问请求,获取所述第一程序信息;
将所述第一程序信息写入所述访问数据包。
7.根据权利要求6所述的方法,其特征在于,所述第二应用程序用于生成所述访问数据包对应的访问反馈,在所述访问数据包携带所述第二程序信息的情况下,所述通过所述目标隧道服务端将对所述访问请求进行封装,得到访问数据包,包括:
解析所述访问请求,获取所述第二程序信息;所述第二程序信息包括所述第二应用程序的服务标识和端口;
将所述服务标识和所述端口写入所述访问数据包;所述访问数据包还用于指示所述目标节点中的隧道客户端通过所述服务标识和所述端口与所述第二应用程序建立连接,并将解析所述访问数据得到的访问请求转发至所述第二应用程序。
8.一种节点访问装置,其特征在于,包括:
获取模块,用于响应于对目标节点的访问请求,获取所述访问请求中携带的所述目标节点的目标节点信息;
确定模块,用于将所述访问请求定向至目标隧道服务端,并通过所述目标隧道服务端确定所述目标节点信息对应的目标隧道;
发送模块,用于通过所述目标隧道将所述访问请求发送至所述目标节点。
9.一种节点访问设备,其特征在于,包括:
存储器,用于存储可执行指令;
处理器,用于执行所述存储器中存储的可执行指令时,实现权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,存储有可执行指令,用于被处理器执行时,实现权利要求1至7任一项所述的方法。
CN202011097123.3A 2020-10-14 2020-10-14 节点访问方法、装置、设备及计算机可读存储介质 Active CN112165532B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011097123.3A CN112165532B (zh) 2020-10-14 2020-10-14 节点访问方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011097123.3A CN112165532B (zh) 2020-10-14 2020-10-14 节点访问方法、装置、设备及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN112165532A true CN112165532A (zh) 2021-01-01
CN112165532B CN112165532B (zh) 2024-04-09

Family

ID=73868231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011097123.3A Active CN112165532B (zh) 2020-10-14 2020-10-14 节点访问方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112165532B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799366A (zh) * 2021-01-08 2021-05-14 广东工业大学 一种物联网实训系统
CN112910955A (zh) * 2021-01-15 2021-06-04 上海中通吉网络技术有限公司 云端与边缘端数据通信方法、装置及边缘计算系统
CN113259479A (zh) * 2021-06-18 2021-08-13 腾讯科技(深圳)有限公司 一种数据处理方法以及设备
CN113612675A (zh) * 2021-06-25 2021-11-05 北京劲群科技有限公司 一种分布式内网通透实现架构及方法
CN113778628A (zh) * 2021-09-14 2021-12-10 新华智云科技有限公司 边缘节点管控方法及系统
CN113938474A (zh) * 2021-10-13 2022-01-14 网易(杭州)网络有限公司 一种虚拟机访问方法、装置、电子设备和存储介质
CN114024782A (zh) * 2022-01-10 2022-02-08 苏州博纳讯动软件有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114124948A (zh) * 2021-09-19 2022-03-01 济南浪潮数据技术有限公司 一种云端组件高可用的方法、装置、设备及可读介质
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN114448960A (zh) * 2021-12-27 2022-05-06 天翼云科技有限公司 一种调度系统、方法、装置、设备及介质
CN114584558A (zh) * 2022-01-17 2022-06-03 深圳渊联技术有限公司 云边协同分布式api网关系统及api调用方法
CN114598498A (zh) * 2022-01-28 2022-06-07 杭州亿格云科技有限公司 访问方法、访问系统、计算机设备和存储介质
CN114827228A (zh) * 2022-04-21 2022-07-29 马上消费金融股份有限公司 链路处理方法及装置
CN115412555A (zh) * 2022-08-19 2022-11-29 苏州浪潮智能科技有限公司 一种云边通信方法、装置、设备及计算机可读存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404416A (zh) * 2010-09-16 2012-04-04 中兴通讯股份有限公司 一种获取dns的方法和隧道网关设备
WO2019071464A1 (zh) * 2017-10-11 2019-04-18 华为技术有限公司 数据中心系统中域名解析的方法、装置和系统
CN111464609A (zh) * 2020-03-27 2020-07-28 北京金山云网络技术有限公司 数据通信方法、装置及电子设备

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102404416A (zh) * 2010-09-16 2012-04-04 中兴通讯股份有限公司 一种获取dns的方法和隧道网关设备
WO2019071464A1 (zh) * 2017-10-11 2019-04-18 华为技术有限公司 数据中心系统中域名解析的方法、装置和系统
CN111464609A (zh) * 2020-03-27 2020-07-28 北京金山云网络技术有限公司 数据通信方法、装置及电子设备

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112799366A (zh) * 2021-01-08 2021-05-14 广东工业大学 一种物联网实训系统
CN112910955A (zh) * 2021-01-15 2021-06-04 上海中通吉网络技术有限公司 云端与边缘端数据通信方法、装置及边缘计算系统
CN113259479A (zh) * 2021-06-18 2021-08-13 腾讯科技(深圳)有限公司 一种数据处理方法以及设备
CN113259479B (zh) * 2021-06-18 2022-12-20 腾讯科技(深圳)有限公司 一种数据处理方法以及设备
CN113612675B (zh) * 2021-06-25 2022-07-12 北京劲群科技有限公司 一种分布式内网通透实现架构及方法
CN113612675A (zh) * 2021-06-25 2021-11-05 北京劲群科技有限公司 一种分布式内网通透实现架构及方法
CN113778628A (zh) * 2021-09-14 2021-12-10 新华智云科技有限公司 边缘节点管控方法及系统
CN113778628B (zh) * 2021-09-14 2023-09-05 新华智云科技有限公司 边缘节点管控方法及系统
CN114124948A (zh) * 2021-09-19 2022-03-01 济南浪潮数据技术有限公司 一种云端组件高可用的方法、装置、设备及可读介质
CN113938474A (zh) * 2021-10-13 2022-01-14 网易(杭州)网络有限公司 一种虚拟机访问方法、装置、电子设备和存储介质
CN113938474B (zh) * 2021-10-13 2024-05-10 网易(杭州)网络有限公司 一种虚拟机访问方法、装置、电子设备和存储介质
CN114143315A (zh) * 2021-11-30 2022-03-04 阿里巴巴(中国)有限公司 边缘云系统、主机访问方法及设备
CN114448960A (zh) * 2021-12-27 2022-05-06 天翼云科技有限公司 一种调度系统、方法、装置、设备及介质
CN114024782B (zh) * 2022-01-10 2022-04-12 江苏博云科技股份有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114024782A (zh) * 2022-01-10 2022-02-08 苏州博纳讯动软件有限公司 基于三层安全隧道技术的云与边缘、边缘与边缘组网系统
CN114584558A (zh) * 2022-01-17 2022-06-03 深圳渊联技术有限公司 云边协同分布式api网关系统及api调用方法
CN114584558B (zh) * 2022-01-17 2024-03-15 深圳渊联技术有限公司 云边协同分布式api网关系统及api调用方法
CN114598498A (zh) * 2022-01-28 2022-06-07 杭州亿格云科技有限公司 访问方法、访问系统、计算机设备和存储介质
CN114827228A (zh) * 2022-04-21 2022-07-29 马上消费金融股份有限公司 链路处理方法及装置
CN114827228B (zh) * 2022-04-21 2024-04-09 马上消费金融股份有限公司 链路处理方法及装置
CN115412555A (zh) * 2022-08-19 2022-11-29 苏州浪潮智能科技有限公司 一种云边通信方法、装置、设备及计算机可读存储介质

Also Published As

Publication number Publication date
CN112165532B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
CN112165532B (zh) 节点访问方法、装置、设备及计算机可读存储介质
Wöbker et al. Fogernetes: Deployment and management of fog computing applications
US10360025B2 (en) Infrastructure instantiation, collaboration, and validation architecture for serverless execution frameworks
US10719311B2 (en) Function library build architecture for serverless execution frameworks
WO2022206229A1 (zh) 数据处理方法、装置、设备和存储介质
JP6463814B2 (ja) ブートのハードウェア周波数を動的に最適化するシステム及び方法
CN113301116A (zh) 微服务应用跨网络通信方法、装置、系统及设备
US11177974B2 (en) Consistent provision of member node group information on virtual overlay network
WO2021179842A1 (zh) 一种集成开发环境的构建方法、装置、设备及介质
KR102260781B1 (ko) 사물 인터넷을 위한 명명 데이터 네트워킹 기반 에지 클라우드 컴퓨팅 통합 시스템
CN112104754A (zh) 网络代理方法、系统、装置、设备及存储介质
CN111913782A (zh) 一种基于隧道技术实现虚拟机流量镜像的方法与设备
US8886703B2 (en) Advertising and facilitating management access to added capabilities of intelligent devices in a system
CN113268308A (zh) 信息处理方法、装置以及存储介质
CN112468589A (zh) 数据分发方法、装置、计算机设备和存储介质
US9106676B1 (en) Grid-based server messaging infrastructure
CN117112122A (zh) 一种集群部署方法和装置
CN112637265B (zh) 一种设备管理方法、装置及存储介质
US10887249B2 (en) Resource trees by management controller
US10505760B2 (en) Hierarchical encapsulation acceleration
CN116264538A (zh) 数据处理方法、装置、设备及计算机存储介质
US10560527B2 (en) Network service chains using hardware logic devices in an information handling system
CN113407643A (zh) 数据路由方法、装置、设备及计算机可读存储介质
CN109271310B (zh) 移动应用程序网络功能的开发测试方法和装置
CN112099841A (zh) 一种生成配置文件的方法和系统

Legal Events

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