CN114584606B - 端云通信方法及设备 - Google Patents
端云通信方法及设备 Download PDFInfo
- Publication number
- CN114584606B CN114584606B CN202210462031.3A CN202210462031A CN114584606B CN 114584606 B CN114584606 B CN 114584606B CN 202210462031 A CN202210462031 A CN 202210462031A CN 114584606 B CN114584606 B CN 114584606B
- Authority
- CN
- China
- Prior art keywords
- container instance
- channel
- cloud
- local
- service container
- 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.)
- Active
Links
- 238000004891 communication Methods 0.000 title claims abstract description 78
- 238000000034 method Methods 0.000 title claims abstract description 66
- 238000011161 development Methods 0.000 claims abstract description 108
- 238000012360 testing method Methods 0.000 claims description 17
- 230000004044 response Effects 0.000 claims description 6
- 238000004140 cleaning Methods 0.000 claims description 4
- 230000001960 triggered effect Effects 0.000 claims description 4
- 230000000875 corresponding effect Effects 0.000 description 38
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 6
- 238000012423 maintenance Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 230000011664 signaling Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/141—Setup of application sessions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
- H04L12/46—Interconnection of networks
- H04L12/4641—Virtual LANs, VLANs, e.g. virtual private networks [VPN]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种端云通信方法及设备。该方法包括:响应于本地开发机发送的网络通道建立请求,创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;将网络连接地址信息发送给云服务容器实例及本地代理容器实例;基于网络通道进行本地代理容器实例与云服务容器实例之间的通信。通过创建具有网络连接地址信息的通道服务容器实例;将该网络连接地址信息发送给本地代理容器实例及云服务容器实例,就可以使本地代理容器实例建立正向代理通道,使云服务容器实例建立反向代理通道;从而实现本地代理容器实例与云服务容器实例之间的通信,进而无需开放VPC就可访问到云服务,提高了云服务的安全性。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种端云通信方法及设备。
背景技术
随着云计算的发展,无服务器架构(又称:Serverless)由于具有弹性伸缩范围大、免运费、按需付费及高可用等特点被广泛使用在云计算中,在Serverless中,开发人员只需要在本地开发机快速开发出服务,并在Serverless部署成功,就可将云端中的云服务提供给用户使用。
但是目前将服务部署到无服务器架构后,本地开发机需要访问云服务进行服务调试、数据访问等操作时,需要开放虚拟私有云(简称:VPC)中的云服务,并设置公网IP地址,通过公网IP地址实现对云端服务的访问,导致造成云服务的安全隐患。
发明内容
本申请提供一种端云通信方法及设备,用以解决本地开发机需要访问云服务进行服务调试、数据访问等操作时,通过公网IP地址实现对云端服务的访问,导致造成云服务的安全隐患问题。
第一方面,本申请提供一种端云通信方法,包括:
响应于本地开发机发送的网络通道建立请求,创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;
将所述网络连接地址信息发送给云服务容器实例及本地代理容器实例,所述网络连接地址信息用于指示云服务容器实例建立与所述通道服务容器实例之间的反向代理通道,并用于指示本地代理容器实例建立与所述通道服务容器实例之间的正向代理通道,所述云服务容器实例是本地开发机在虚拟私有云VPC中创建的容器实例,所述本地代理容器实例是本地开发机在本地创建的容器实例;
基于网络通道进行所述本地代理容器实例与所述云服务容器实例之间的通信,所述网络通道包括所述正向代理通道及所述反向代理通道。
第二方面,本申请提供一种端云通信方法,包括:
向通道服务设备发送网络通道建立请求,网络通道建立请求用于指示通道服务设备创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;
接收通道服务设备发送的网络连接地址信息;
在虚拟私有云VPC中创建云服务容器实例,以使云服务容器实例根据网络连接地址信息建立与所述通道服务容器实例之间的反向代理通道;
根据所述网络连接地址信息建立本地代理容器实例与通道服务容器实例的正向代理通道,所述本地代理容器实例是本地开发机在本地创建的容器实例;
基于网络通道与所述云服务容器实例进行通信,所述网络通道包括所述正向代理通道及所述反向代理通道。
第三方面,本申请提供一种端云通信方法,包括:
接收通道服务设备发送的通道服务容器实例对应的网络连接地址信息;所述通道服务容器实例是所述通道服务设备根据本地开发机发送的网络通道建立请求创建的;
根据所述网络连接地址信息建立云服务容器实例与通道服务容器实例之间的反向代理通道;所述云服务容器实例是本地开发机预先在虚拟私有云VPC中创建的;
基于网络通道与所述本地代理容器实例进行通信,所述网络通道包括正向代理通道及所述反向代理通道;所述正向代理通道是本地代理容器实例与通道服务容器实例之间建立的网络通道。
第四方面,本申请提供一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器和收发器;
所述存储器存储计算机执行指令;所述收发器用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现上述任意一个方面所述的端云通信方法。
本申请提供的端云通信方法及设备,响应于本地开发机发送的网络通道建立请求,创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;将所述网络连接地址信息发送给云服务容器实例及本地代理容器实例,所述网络连接地址信息用于指示云服务容器实例建立与所述通道服务容器实例之间的反向代理通道,并用于指示本地代理容器实例建立与所述通道服务容器实例之间的正向代理通道,所述云服务容器实例是本地开发机在虚拟私有云VPC中创建的容器实例,所述本地代理容器实例是本地开发机在本地创建的容器实例;基于网络通道进行所述本地代理容器实例与所述云服务容器实例之间的通信,所述网络通道包括所述正向代理通道及所述反向代理通道。通过创建具有网络连接地址信息的通道服务容器实例;将网络连接地址信息发送给本地代理容器实例,就可以使本地代理容器实例基于该网络连接地址信息建立与通道服务容器实例的正向代理通道;将网络连接地址信息发送给云服务容器实例,就可以使云服务容器实例基于该网络连接地址信息建立与通道服务容器实例的反向代理通道;从而可以基于正向代理通道与反向代理通道实现本地代理容器实例与云服务容器实例之间的通信,进而无需开放VPC中的云服务就可通过通道服务容器实例访问到云服务,提高了云服务的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请具体的应用场景示意图;
图2为本申请实施例一提供的端云通信方法流程图;
图3为本申请实施例二提供的一种端云通信方法流程图;
图4为本申请实施例三提供的一种端云通信方法流程图;
图5为本申请实施例四提供的一种端云通信方法流程图;
图6为本申请提供的关闭网络通道流程图;
图7为本申请提供的又一应用场景示意图;
图8为本申请提供的云资源管理流程图;
图9为本申请实施例九提供的端云通信方法流程图;
图10为本申请实施例十提供的端云通信方法流程图;
图11为本申请实施例十一提供的端云通信方法的信令流程示意图;
图12为本申请实施例十二提供的一种电子设备的结构示意图。
通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
首先对本申请所涉及的名词进行解释:
VPC是指虚拟私有云,也即专有网络(英文全称为:Virtual Private Cloud,简称:VPC),专有网络由逻辑网络设备(如虚拟路由器,虚拟交换机)组成,可以通过专线/VPN等连接方式与传统数据中心组成一个按需定制的网络环境。
公网IP地址是指在因特网上直接可达的互联网协议地址,互联网协议地址简称IP地址。
IDE是集成开发环境(英文全称为:Integrated Development Environment),IDE工具是集成了程序员语言开发中需要的一些基本工具、基本环境和其他辅助功能的应用程序,一般包括代码编辑器、编译器、调试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能、调试功能等一体化的开发软件服务套件。
为了清楚理解本申请的技术方案,首先对现有技术的方案进行详细介绍。
图1为本申请具体的应用场景示意图,如图1所示,使用云端平台如无服务器架构Serverless提供的文件存储、对象存储、消息、关系型数据库等云服务,可以使开发者无需关注除了服务逻辑本身之外的主机管理、服务运维、配置等事务,不需要关注运营维护问题。为了保证数据安全,可以为云服务器、云容器、云数据库等云上资源构建隔离、私密的虚拟私有云环境。但是本地开发机访问云服务进行服务调试、数据访问等操作时,需要调用虚拟私有云VPC中的云资源,由于虚拟私有云是与外部环境隔离的私密的环境,本地开发机无法直接访问云端服务,调用云资源。现有技术通过对虚拟私有云VPC设置公网IP地址,暴露虚拟私有云,从而使本地开发机通过公网IP地址实现对云端服务的访问,然而设置公网IP地址暴露虚拟私有云势必会造成虚拟私有云中云资源的安全隐患问题。
由于对虚拟私有云VPC设置公网IP地址会暴露虚拟私有云,造成虚拟私有云中云资源的安全隐患问题,发明人在研究中发现,可以构建网络代理服务,具体该网络代理服务可以为通道服务。具体地,建立通道服务容器实例,该通道服务容器实例具有网络连接地址信息,使虚拟私有云及本地开发机基于该网络连接地址信息连接通道服务容器实例,就可以通过通道服务容器实例打通本地开发机与虚拟私有云之间的网络通道。具体地,如图1所示,可以在虚拟私有云中创建一个具有连接功能的云服务容器实例,令云服务容器实例基于该网络连接地址信息建立与通道服务容器实例的连接,就可以使通道服务容器实例作为云服务容器实例的反向代理;可以在本地开发机中创建一个具有连接功能的本地代理容器实例,令本地代理容器实例基于该网络连接地址信息建立与通道服务容器实例的连接,就可以使通道服务容器实例作为本地代理容器实例的正向代理;进一步的,就可以实现传输控制协议TCP 层面上的本地开发机与虚拟私有云之间的双向网络打通,建立本地开发机到虚拟私有云的网络通道。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
实施例一
图2为本申请实施例一提供的端云通信方法流程图,本申请实施例针对需要开放虚拟私有云中的云服务,通过公网IP地址实现本地开发机对云端服务的访问,导致造成云服务的安全隐患的问题,提供了端云通信方法。本实施例中的方法应用于端云通信装置,端云通信装置可以位于通道服务设备中。其中,通道服务设备可以为表示各种形式的数字计算机。诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、云服务器、大型计算机、和其它适合的计算机。
如图2所示,该方法具体步骤如下:
步骤S101、响应于本地开发机发送的网络通道建立请求,创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息。
本申请实施例中,通道服务容器实例是具有通道服务功能的容器实例。
其中,网络连接地址信息包括通道服务容器实例对应的公网IP地址及端口号。通过该网络连接地址信息使云服务容器实例及本地代理容器实例与通道服务容器实例建立连接。
本申请实施例中,可以在服务器或设备中建立通道服务容器实例,示例性地,可以在云服务器ECS(英文全称为:Elastic Compute Service)中建立通道服务容器实例。
示例性地,使本地开发机发送的网络通道建立请求的方式可以为:在本地开发机的项目定义文件s.yaml的目录下,输入网络通道建立指令,本地开发机就可以向通道服务设备发送网络通道建立请求,网络通道建立指令可以为s proxied setup。其中,在项目定义文件s.yaml中包括需要访问的VPC信息,本地开发机可以根据项目定义文件s.yaml中的VPC信息创建云服务容器实例。
具体地,通道服务设备在生成通道服务容器实例后,基于通道服务容器实例的IP地址及端口号生成对应的网络连接地址信息。
步骤S102、将网络连接地址信息发送给云服务容器实例及本地代理容器实例。
其中,网络连接地址信息用于指示云服务容器实例建立与通道服务容器实例之间的反向代理通道,并用于指示本地代理容器实例建立与通道服务容器实例之间的正向代理通道;云服务容器实例是本地开发机在虚拟私有云VPC中创建的容器实例,本地代理容器实例是本地开发机在本地创建的容器实例。
本申请实施例中,将网络连接地址信息发送给云服务容器实例后,云服务容器实例可以通过网络连接地址信息访问通道服务容器实例,从而建立与通道服务容器实例之间的反向代理通道;将网络连接地址信息发送给本地代理容器实例后,本地代理容器实例可以通过网络连接地址信息访问通道服务容器实例,从而建立与通道服务容器实例之间的正向代理通道。
步骤S103、基于网络通道进行本地代理容器实例与云服务容器实例之间的通信。
其中,网络通道包括正向代理通道及反向代理通道。
具体地,本地代理容器实例可以通过正向代理通道向通道服务容器实例发送访问请求、调用请求等请求,通道服务容器实例接收到访问请求、调用请求等请求后通过反向代理通道向云服务容器实例发送访问请求、调用请求等请求,实现本地代理容器实例到云服务容器实例的通信。云服务容器实例可以通过反向代理通道向通道服务容器实例发送云资源中的数据,通道服务容器实例接收到云资源中的数据后通过正向代理通道向本地代理容器实例发送云资源中的数据,实现云服务容器实例到本地代理容器实例的通信。
本申请实施例中,本地代理容器实例位于本地开发机中,云服务容器实例打通虚拟私有云VPC,可以访问VPC中的云资源,由于本地代理容器实例与云服务容器实例之间的建立通信连接,进一步地,本地开发机可以通过本地代理容器、云服务容器实例与VPC中的云资源建立通信连接。
本申请实施例中,本地代理容器实例可以通过正向代理通道与通道服务容器实例进行通信,通道服务容器实例可以通过反向代理通道与云服务容器实例进行通信,因此通过通道服务容器实例可以打通本地代理容器实例到云服务容器实例之间的网络通道,从而可以实现本地代理容器实例与云服务容器实例之间的通信。
本申请实施中,响应于本地开发机发送的网络通道建立请求,创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;将网络连接地址信息发送给云服务容器实例及本地代理容器实例,网络连接地址信息用于指示云服务容器实例建立与通道服务容器实例之间的反向代理通道,并用于指示本地代理容器实例建立与通道服务容器实例之间的正向代理通道,云服务容器实例是本地开发机在虚拟私有云VPC中创建的容器实例,本地代理容器实例是本地开发机在本地创建的容器实例;基于网络通道进行本地代理容器实例与云服务容器实例之间的通信,网络通道包括正向代理通道及反向代理通道。通过创建具有网络连接地址信息的通道服务容器实例;将网络连接地址信息发送给本地代理容器实例,就可以使本地代理容器实例基于该网络连接地址信息建立与通道服务容器实例的正向代理通道;将该网络连接地址信息发送给云服务容器实例,就可以使云服务容器实例基于该网络连接地址信息建立与通道服务容器实例的反向代理通道;从而可以基于正向代理通道与反向代理通道实现本地代理容器实例与云服务容器实例之间的通信,进而无需开放VPC中的云服务就可通过通道服务容器实例访问到云服务,提高了云服务的安全性。
实施例二
图3为本申请实施例二提供的一种端云通信方法流程图,在上述实施例的基础上,本实施例涉及的是端云通信方法具体过程的细化,如图3所示,具体包括以下步骤:
步骤S201、响应于本地开发机发送的网络通道建立请求,生成云服务容器实例的第一标识信息及本地代理容器实例的第二标识信息。
本申请实施例中,第一标识信息用于识别云服务容器实例,是云服务容器实例的唯一标识;第二标识信息用于识别本地代理容器实例,是本地代理容器实例的唯一标识。
步骤S202、将第一标识信息,第二标识信息与网络连接地址信息进行关联。
本申请实施例中,将第一标识信息,第二标识信息与网络连接地址信息进行关联,令第一标识信息对应的云服务容器实例,第二标识信息对应的本地代理容器实例,以及网络连接地址信息对应的通道服务容器实例通过同一网络通道建立连接。
步骤S203、将第一标识信息和第二标识信息发送给本地开发机。
本申请实施例中,将第一标识信息发送给本地开发机,以使本地开发机基于第一标识信息创建云服务容器实例,将第一标识信息确定为云服务容器实例的唯一标识;将第二标识信息发送给本地开发机,以使本地开发机基于第二标识信息创建本地代理容器实例,将第二标识信息确定为本地代理容器实例的唯一标识。
本申请实施例中,响应于本地开发机发送的网络通道建立请求,生成云服务容器实例的第一标识信息及本地代理容器实例的第二标识信息;将第一标识信息,第二标识信息与网络连接地址信息进行关联;将第一标识信息和第二标识信息发送给本地开发机,通过将云服务容器实例的第一标识信息,本地代理容器实例的第二标识信息与通道服务容器实例的网络连接地址信息进行关联,可以确定与通道服务容器实例建立正向代理通道的本地代理容器实例,并确定与通道服务容器实例建立反向代理通道的云服务容器实例,可以使具有第一标识信息本地代理容器实例与具有第二标识信息的云服务容器实例进行定向通信。
实施例三
图4为本申请实施例三提供的一种端云通信方法流程图,在上述任意一个实施例的基础上,可选地,如图4所示,将网络连接地址信息发送给云服务容器实例包括以下步骤:
步骤S301、接收云服务容器实例发送的第一网络地址信息获取请求。
其中,第一网络地址信息获取请求中包括第一标识信息。第一网络地址信息获取请求用于使云服务容器实例获取通道服务容器实例对应的网络连接地址信息。
步骤S302、若根据第一标识信息确定云服务容器实例为注册实例,则将网络连接地址信息发送给云服务容器实例。
具体地,将第一网络地址信息获取请求中的第一标识信息与生成的第一标识信息对比,若第一网络地址信息获取请求中的第一标识信息与生成的第一标识信息一致,则确定标识为第一标识信息的云服务容器实例为注册实例,将网络连接地址信息发送给第一标识信息对应的云服务容器实例,使云服务容器实例根据网络连接地址信息建立与通道服务容器实例之间的反向代理通道。
本申请实施例中,接收云服务容器实例发送的第一网络地址信息获取请求,第一网络地址信息获取请求中包括第一标识信息;若根据第一标识信息确定云服务容器实例为注册实例,则将网络连接地址信息发送给云服务容器实例,由于在向云服务容器实例发送通道服务容器实例的网络连接地址之前,需要根据云服务容器实例的第一标识信息判断云服务容器实例是否为注册过的云服务器容器实例,能够有效保证发送给云服务容器实例的网络连接地址信息是与之建立反向代理通道的通道服务容器实例的网络连接地址信息,进而有效保证建立的反向代理通道的准确性。
实施例四
图5为本申请实施例四提供的一种端云通信方法流程图,在上述任意一个实施例的基础上,可选地,如图5所示,将网络连接地址信息发送给本地代理容器实例包括以下步骤:
步骤S401、接收本地代理容器实例发送的第二网络地址信息获取请求。
其中,第二网络地址信息获取请求中包括第二标识信息。第二网络地址信息获取请求用于使本地代理容器实例获取通道服务容器实例对应的网络连接地址信息。
步骤S402、若根据第二标识信息确定本地代理容器实例为注册实例,则将网络连接地址信息发送给本地代理容器实例。
具体地,将第二网络地址信息获取请求中的第二标识信息与生成的第二标识信息对比,若第二网络地址信息获取请求中的第二标识信息与生成的第二标识信息一致,则确定标识为第二标识信息的本地代理容器实例为注册实例,将网络连接地址信息发送给第二标识信息对应的本地代理容器实例,使本地代理容器实例根据网络连接地址信息建立与通道服务容器实例之间的正向代理通道。
本申请实施例中,接收本地代理容器实例发送的第二网络地址信息获取请求,第二网络地址信息获取请求中包括第二标识信息;若根据第二标识信息确定本地代理容器实例为注册实例,则将网络连接地址信息发送给本地代理容器实例,由于在向本地代理容器实例发送通道服务容器实例的网络连接地址之前,需要根据本地代理容器实例的第二标识信息判断本地代理容器实例是否为注册过的本地代理容器实例,能够有效保证发送给本地代理容器实例的网络连接地址信息是与之建立正向代理通道的通道服务容器实例的网络连接地址信息,进而有效保证建立的正向代理通道的准确性。
可选地,在步骤S302将网络连接地址信息发送给云服务容器实例之后,还可以包括以下步骤:
步骤S303、定时接收云服务容器实例发送的第一心跳信号。
其中,第一心跳信号中包括云服务容器实例的状态信息。
本申请实施例中,若云服务容器实例处于正常运行状态,则可以定时向通道服务容器实例发送第一心跳信号,以使通道服务容器实例通过判断是否接收到第一心跳信号确定云服务容器实例是否为正常运行状态。
具体的,可以在第一预设时刻接收第一心跳信号。第一预设时刻可以为每分钟的10秒、20秒、30秒等,或为每小时的第十五分钟、每小时的第三十分钟等,本申请实施例对此不做具体限定。
示例性地,若超过预设次数未在第一预设时刻接收到第一心跳信号,则可以确定云服务容器实例不处于正常运行状态。
步骤S304、若确定云服务容器实例的状态信息为正常运行状态,则向云服务容器实例发送反向代理通道处于连接状态信息。
本申请实施例中,若接收到第一心跳信号,则可以确定云服务容器实例的状态信息为正常运行状态,进一步地可以确定云服务容器实例与通道服务容器实例之间的反向代理通道处于连接状态,向云服务容器实例发送反向代理通道处于连接状态信息,以使云服务容器实例确定可以使用反向代理通道与通道服务容器实例进行通信。
本申请实施例中,向云服务容器实例发送反向代理通道处于连接状态信息时,还可以向云服务容器实例发送正向代理通道连接状态信息,以使云服务容器实例确定正向代理通道的连接状态,使云服务容器实例确定是否可以通过通道服务容器实例与本地代理容器实例进行通信。
本申请实施例中,通过接收云服务容器实例发送的第一心跳信号,可以确定云服务容器实例的状态,进一步地,可以确定反向代理通道的连接状态,进而能够在本地开发机与VPC之间有通信需求时保证反向代理通道处于连接状态。
可选地,在步骤S402将网络连接地址信息发送给本地代理容器实例之后,还可以包括以下步骤:
步骤S403、定时接收本地代理容器实例发送的第二心跳信号。
其中,第二心跳信号中包括本地代理容器实例的状态信息。
本申请实施例中,若本地代理容器实例处于正常运行状态,则可以定时向通道服务容器实例发送第二心跳信号,以使通道服务容器实例通过判断是否接收到第二心跳信号确定本地代理容器实例是否为正常运行状态。
具体的,可以在第二预设时刻接收第二心跳信号。本申请实施例中,第二预设时刻可以与步骤S303中的第一预设时刻相同,也可以与第一预设时刻不相同,本申请实施例对此不做具体限定。
步骤S404、若确定本地代理容器实例的状态信息为正常运行状态,则向本地代理容器实例发送正向代理通道处于连接状态信息。
本申请实施例中,若接收到第二心跳信号,则可以确定本地代理容器实例的状态信息为正常运行状态,进一步地可以确定本地代理容器实例与通道服务容器实例之间的正向代理通道处于连接状态,向本地代理容器实例发送正向代理通道处于连接状态信息,以使本地代理容器实例确定可以使用正向代理通道与通道服务容器实例进行通信。
本申请实施例中,向本地代理容器实例发送正向代理通道处于连接状态信息时,还可以向本地代理容器实例发送反向代理通道连接状态信息,以使本地代理容器实例确定反向代理通道的连接状态,使本地代理容器实例确定是否可以通过通道服务容器实例与云服务容器实例进行通信。
本申请实施例中,通过接收本地代理容器实例发送的第二心跳信号,可以确定本地代理容器实例的状态,进一步地,可以确定正向代理通道的连接状态,进而能够在本地开发机与VPC之间有通信需求时保证正向代理通道处于连接状态。
可选地,若超过预设次数未接收到第一心跳信号或第二心跳信号,则可以确定网络通道处于未连接状态,确定本地代理容器实例或云服务容器实例为非正常运行状态,本地开发及可能关机或断网,不能通过网络通道进行本地代理容器实例与云服务容器实例之间的通信,因此,可以关闭网络通道,销毁本地代理容器实例、云服务容器实例、以及通道服务容器实例,可以节约网络资源、存储空间及成本。
实施例五
在上述任意一个实施例的基础上,本实施例涉及的是对本地代理容器实例与云服务容器实例之间的网络通道进行加密的一种具体实现方式,包括以下步骤:
步骤S501、响应于本地开发机发送的网络通道建立请求,生成通道服务容器实例的第一密钥及云服务容器实例的第二密钥。
本申请实施例中,第一密钥为与通道服务容器实例进行通信时使用的密匙,包括第一公钥及第一私钥;第二密钥为与云服务容器实例进行通信时使用的密匙,包括第二公钥及第二私钥。其中,公钥用于加密数据,私钥可以解密对应公钥加密的数据。
本申请实施例对生成第一密钥及第二密钥的方式不做具体限定,例如,可以使用sshkey加密方式,通过命令"ssh-keygen",即可生成一对公钥和私钥。
步骤S502、将第一密钥中的第一公钥发送给通道服务容器实例,以使通道容器实例配置第一公钥。
本申请实施例中,通道容器实例配置第一公钥后,通道容器实例可以使用第一公钥对需要发送的信息进行加密。
步骤S503、将第一密钥中的第一私钥及第二密钥中的第二公钥发送给云服务容器实例,以使云服务容器实例配置第二公钥,并基于第一私钥建立与通道服务容器实例之间的反向代理通道。
本申请实施例中,第二公钥用于配置云服务容器实例,第一私钥用于云服务容器实例加密向通道服务容器实例发送的数据,还用于云服务容器实例解密通道服务容器实例发送的请求或信息。
可选地,也将第二私钥发送给通道服务容器实例,云服务容器实例在向通道服务容器实例发送数据时,可以使用第二公钥加密数据,通道服务容器实例接收到使用第二公钥加密的数据后,可以使用第二私钥解密该数据。
步骤S504、将第二密钥中的第一私钥发送给本地代理容器实例,以使本地代理容器实例基于第一私钥建立与通道服务容器实例之间的正向代理通道。
本申请实施例中,本地代理容器实例在接收到第一私钥后,可以使用第一私钥解密通道服务容器实例发送的数据。
本申请实施例中,通过使通道服务容器实例配置第一公钥,并向本地代理容器实例与云服务容器实例发送与第一公钥对应的第一私钥,使数据通过本地代理容器实例与云服务容器实例之间的网络通道进行加密传输,可以保证使用网络通道进行数据传输的安全性,进一步地可以保证云服务及云资源的安全。
实施例六
在上述实施例的基础上,本实施例涉及的是步骤S103基于网络通道进行本地代理容器实例与云服务容器实例之间的通信之后的关闭网络通道的步骤,具体包括:
步骤S601、响应于通道清除请求,判断通道容器实例是否处于复用状态。
本申请实施例中,可以使用预设快捷键在本地开发机触发通道清除请求,例如,预设快捷键可以为CTRL + C,用户在按下CTRL + C后,可以触发通道清除请求,本地开发机向通道服务设备发送通道清除请求;也可以输入指定命令触发通道清除请求,例如,指定命令可以为s proxied cleanup,可以在任一可以打开网络通道对应的项目定义文件s.yaml的终端中,在项目定义文件s.yaml的目录下,输入s proxied cleanup,该终端就可以向通道服务设备发送通道清除请求;还可以根据正向代理通道连接状态触发通道清除请求,若本地开发机断网或者关机,则通道服务设备接收不到本地代理容器实例发送的第二心跳信号,确定本地代理容器实例的状态信息为非正常运行状态,正向代理通道不处于连接状态,则触发通道清除请求。
本申请实施例中,判断通道容器实例是否处于复用状态,可以避免在通道容器实例被使用的情况下,销毁通道容器实例,影响使用者的开发进程。
图6为本申请提供的关闭网络通道流程图,如图6所示,步骤1、用户在本地开发机触发通道清除请求,步骤2、本地开发机向通道服务设备发送通道清除请求,步骤3、通道服务设备接收到通道清除请求后,确定通道容器实例未处于复用状态。
步骤S602、确定通道容器实例未处于复用状态,则将通道容器实例进行销毁。
具体地,判断该通道容器实例的端口号是否被使用,若没有被使用,则确定通道容器实例未处于复用状态,将通道容器实例进行销毁。
步骤S603、向本地开发机发送通道清理结果,以使本地开发机对云服务容器实例及本地代理容器实例进行销毁。
具体地,如图6所示,步骤4、通道服务设备在销毁通道容器实例后,将通道容器实例已销毁的通道清理结果发送给本地开发机;步骤5、本地开发机在接收到通道清理结果后,通过删除云服务容器及删除云服务容器的预留实例和最大弹性实例个数,销毁云服务容器实例;在毁云服务容器实例后,执行步骤5和6,具体为:本地开发机销毁本地代理容器实例;本地开发机可以在界面上显示网络通道已关闭的提示信息,以提示用户无法使用网络通道进行本地代理容器实例与云服务容器实例之间的通信。其中,云服务容器的预留实例和最大弹性实例个数用于限制根据云服务容器仅创建一个云服务容器实例。
本申请实施例中,响应于通道清除请求,可以关闭网络通道,销毁本地代理容器实例、云服务容器实例、以及通道服务容器实例,可以节约网络资源、存储空间及成本。
实施例七
在上述实施例的基础上,本实施例涉及的是步骤S103基于网络通道进行本地代理容器实例与云服务容器实例之间的通信的具体方式的细化,一种可选地实施方式为:响应于本地代理容器实例或云服务容器实例发送的对应类型的流量数据,并采用通道服务容器实例对应的网络通道进行流量数据的发送。
其中,流量数据为在本地开发机与虚拟私有云VPC之间传输的任意数据,例如,流量数据可以为访问请求,云资源管理指令等。
本申请实施例中,正向代理通道、反向代理通道与通道服务容器实例具有唯一的对应关系;在接收到本地代理容器实例通过正向代理通道发送的流量数据后,通道服务容器实例可以确定对应的反向代理通道,通过反向代理通道向云服务容器实例发送该流量数据;在接收到云服务容器实例通过反向代理通道发送的流量数据后,通道服务容器实例可以确定对应的正向代理通道,通过正向代理通道向本地代理容器实例发送该流量数据。
本申请实施例中,可以通过本地代理容器实例与云服务容器实例之间的通信进行代码调试,具体包括以下步骤:
步骤S701、接收本地代理容器实例发送的访问VPC的云资源指令。
其中,访问VPC的云资源指令位于本地开发机开发的服务测试代码中,服务测试代码被用户在本地开发机的IDE工具中触发。
图7为本申请提供的又一应用场景示意图,如图7所示,本地开发机中有IDE工具、本地函数执行容器、本地代理容器实例,用户可以使用本地开发机中的IDE工具对服务测试代码进行调试,用户使用IDE工具触发对服务测试代码的调试后,IDE工具对服务测试代码进行编译,编译后的服务测试代码位于本地函数执行容器中,本地函数执行容器执行编译后的服务测试代码。其中,IDE工具与本地函数执行容器根据各语言远程调试协议进行关联,用户可以使用IDE工具设置断点,实现对服务测试代码断点调试。本地代理容器实例可以拦截访问VPC的云资源指令,将访问VPC的云资源指令发送给通道服务容器实例。
其中,本地代理容器实例和本地函数执行容器位于同一网络中。
步骤S702、将访问VPC的云资源指令通过网络通道发送给云服务容器实例。
其中,访问VPC的云资源指令用于指示云服务容器实例执行访问VPC的云资源的操作。
具体地,通道服务容器实例在接收到访问VPC的云资源指令后,通过通道服务容器与云服务容器实例之间的网络通道将访问VPC的云资源指令发送给云服务容器实例,云服务容器实例可以根据访问VPC的云资源指令访问VPC的云资源。
步骤S703、接收云服务容器实例发送的云资源调用结果。
具体地,云服务容器实例在接收到访问VPC的云资源指令后,云服务容器实例可以根据访问VPC的云资源指令访问VPC的云资源,并将访问VPC的云资源后的云资源调用结果返回给通道服务容器实例。
步骤S704、将云资源调用结果通过网络通道发送给本地代理容器实例,以使本地代理容器实例根据云资源调用结果及服务测试代码生成服务测试结果。
具体地,通道服务容器实例接收到云资源调用结果后,可以通过通道服务容器实例与本地代理容器实例之间的网络通道将云资源调用结果发送给本地代理容器实例,本地代理容器实例接收到云资源调用结果后,本地函数执行容器可以基于云资源调用结果继续执行服务测试代码,生成服务测试结果。
可选地,如图7所示,服务测试代码可以调用函数计算(FC),服务测试代码中可以包括函数计算(FC)的地址,如abc.com,可以通过网络通道实现调用函数计算(FC),云服务容器实例可以将调用函数计算(FC)的真实结果返回给本地开发机。
实施例八
图8为本申请提供的云资源管理流程图,本申请实施例中,可以通过本地代理容器实例与云服务容器实例之间的通信进行云资源管理,如图8所示, 具体包括以下步骤:
步骤S801、接收本地代理容器实例发送的云资源管理指令。
步骤S802、将云资源管理指令通过网络通道发送给云服务容器实例。
其中,云资源管理指令用于指示云服务容器实例对VPC中的云资源进行管理,云资源管理指令可以为对云资源的增删改查等操作指令。
本申请实施例中,云服务容器实例接收到云资源管理指令后,可以基于云资源管理指令实现对VPC中的云资源的管理。示例性地,如图1所示,可以通过云资源管理指令对存储于VPC中文件存储、对象存储、关系型数据库中的云资源进行增删改查等操作。
本申请实施例中,接收本地代理容器实例发送的云资源管理指令,将云资源管理指令通过网络通道发送给云服务容器实例。通过网络通道可以将云资源管理指令发送给云服务容器实例,从而实现对VPC中的云资源的管理。
可选地,基于网络通道进行本地代理容器实例与云服务容器实例之间的通信,可以访问VPC中的云资源,通过对VPC中的云资源的管理及访问VPC中的云资源,可以维护系统和服务的稳定性,进一步地,实现对云服务的运维操作。
实施例九
图9为本申请实施例九提供的端云通信方法流程图,本实施例中的方法应用于端云通信装置,端云通信装置可以位于本地开发机中。其中,本地开发机可以为表示各种形式的数字计算机。诸如,膝上型计算机、台式计算机、工作台、服务器、刀片式服务器、大型计算机、和其它适合的计算机。
如图9所示,具体包括以下步骤:
步骤S901、向通道服务设备发送网络通道建立请求。
其中,网络通道建立请求用于指示通道服务设备创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息。
本申请实施例中,在本地开发机的项目定义文件s.yaml的目录下,输入网络通道建立指令,本地开发机就可以向通道服务设备发送网络通道建立请求。通道服务设备在接收到网络通道建立请求后,通道服务设备创建通道服务容器实例,生成网络连接地址信息,并将网络连接地址信息发送给云服务容器实例及本地代理容器实例。
步骤S902、接收通道服务设备发送的网络连接地址信息。
本申请实施中,通道服务设备在接收到网络通道建立请求后,创建通道服务容器实例,生成网络连接地址信息,并将网络连接地址信息发送给本地代理容器实例,使本地开发机可以接收到通道服务设备发送的网络连接地址信息。
步骤S903、在虚拟私有云VPC中创建云服务容器实例,以使云服务容器实例根据网络连接地址信息建立与通道服务容器实例之间的反向代理通道。
具体地,可以根据项目定义文件中的VPC信息,在对应的VPC中创建云服务容器实例。项目定义文件用于对VPC进行配置,例如,项目定义文件可以为s.yaml。
示例性地,如图5所示,创建的云服务容器实例中可以包括SSHD进程以及连接模块Agent。其中,SSHD是后台运行的守护进程,可以监听及响应连接请求;连接模块Agent用于根据网络连接地址信息与通道服务容器实例建立连接,云服务容器实例与通道服务容器实例建立连接后,可以建立反向代理通道。云服务容器实例中的连接模块Agent还可以用于向通道服务设备发送第一心跳信号。
本申请实施例中,创建一个云服务容器实例时,可以创建作为代理服务的辅助函数,也即创建一个云服务容器,并可以通过设置云服务容器的预留实例为1和最大弹性实例个数为0,实现仅创建一个云服务容器实例。
步骤S904、根据网络连接地址信息建立本地代理容器实例与通道服务容器实例的正向代理通道。
其中,本地代理容器实例是本地开发机在本地创建的容器实例。
本申请实施例中,如图5所示,创建的本地代理容器实例中可以包括连接模块Agent,连接模块Agent用于根据网络连接地址信息与通道服务容器实例建立连接,本地代理容器实例与通道服务容器实例建立连接后,可以建立正向代理通道。本地代理容器实例中的连接模块Agent还可以用于向通道服务设备发送第一心跳信号。
步骤S905、基于网络通道与云服务容器实例进行通信。
其中,网络通道包括正向代理通道及反向代理通道。
具体地,本地代理容器实例可以通过正向代理通道访问通道服务容器实例,通道服务容器实例在接收到访问请求后通过反向代理通道访问云服务容器实例,实现本地代理容器实例到云服务容器实例的通信;云服务容器实例在接收到通道服务容器实例发送的访问请求后,可以通过反向代理通道向通道服务容器实例发送数据,通道服务容器实例在接收到通道服务容器实例发送的数据后,通过正向代理通道向本地代理容器实例发送该数据,实现云服务容器实例到本地代理容器实例的通信。
本申请实施例中,向通道服务设备发送网络通道建立请求,网络通道建立请求用于指示通道服务设备创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;接收通道服务设备发送的网络连接地址信息;在VPC中创建云服务容器实例,以使云服务容器实例根据网络连接地址信息建立与通道服务容器实例之间的反向代理通道;根据网络连接地址信息建立本地代理容器实例与通道服务容器实例的正向代理通道,本地代理容器实例是本地开发机在本地创建的容器实例;基于网络通道与云服务容器实例进行通信,网络通道包括正向代理通道及反向代理通道。通过本地开发机创建本地代理容器实例和云服务容器实例,可以使本地代理容器实例基于网络连接地址信息建立与通道服务容器实例的正向代理通道,使本地代理容器实例可以通过正向代理通道与通道服务容器实例进行通信;还可以使云服务容器实例基于网络连接地址信息建立与通道服务容器实例的反向代理通道,使通道服务容器实例可以通过反向代理通道与云服务容器实例进行通信,从而通过通道服务容器实例打通本地代理容器实例到云服务容器实例之间的网络通道,实现本地代理容器实例与云服务容器实例之间的通信,进而无需开放VPC中的云服务就可通过通道服务容器实例访问到云服务,提高了云服务的安全性。
实施例十
图10为本申请实施例十提供的端云通信方法流程图,本实施例中的方法应用于端云通信装置,端云通信装置可以位于虚拟私有云VPC中。如图10所示,具体包括以下步骤:
步骤S1001、接收通道服务设备发送的通道服务容器实例对应的网络连接地址信息。
其中,通道服务容器实例是通道服务设备根据本地开发机发送的网络通道建立请求创建的。
本申请实施例中,通道服务设备在接收到本地开发机发送的网络通道建立请求后,将通道服务容器实例对应的网络连接地址信息发送至虚拟私有云VPC,以使虚拟私有云VPC接收通道服务容器实例对应的网络连接地址信息,并使虚拟私有云VPC中的云服务容器实例根据网络连接地址信息建立与通道服务容器实例之间的反向代理通道。
步骤S1002、根据网络连接地址信息建立云服务容器实例与通道服务容器实例之间的反向代理通道。
其中,云服务容器实例是本地开发机预先在虚拟私有云VPC中创建的。Serverless架构是采用函数即服务FaaS和后端服务 BaaS来解决问题的一种设计,示例性地,在无服务器架构Serverless的应用场景中,可以通过本地开发机对Serverless架构下函数即服务FaaS的配置,在虚拟私有云VPC中创建云服务容器实例。
本申请实施例中,在接收到网络连接地址信息后,可以确定反向代理通道连接的通道服务容器实例,从而建立云服务容器实例与通道服务容器实例之间的反向代理通道。
步骤S1003、基于网络通道与本地代理容器实例进行通信。
其中,网络通道包括正向代理通道及反向代理通道,正向代理通道是本地代理容器实例与通道服务容器实例之间建立的网络通道。
本申请实施例中,可以通过网络通道接收通道服务容器实例发送的流量数据,或通过网络通道向通道服务容器实例发送流量数据,实现与本地代理容器实例的通信。具体实现方式与实施例七到九中类似,在此不再赘述。
本申请实施例,接收通道服务设备发送的通道服务容器实例对应的网络连接地址信息;根据网络连接地址信息建立云服务容器实例与通道服务容器实例之间的反向代理通道;基于网络通道与本地代理容器实例进行通信,网络通道包括正向代理通道及反向代理通道。无需通过公网IP暴露虚拟私有云,就可通过通道服务容器实例与本地代理容器实例进行通信,提高了云服务的安全性。
实施例十一
下面通过一个具体的示例,对本申请提供的端云通信方法进行示例说明。图11为本申请实施例十一提供的端云通信方法的信令流程示意图。下面通过图11对端云通信方法具体的过程进行示例说明。如图11所示,该方法包括:
步骤S1101、本地开发机接收用户输入的网络通道建立指令。
其中,网络通道建立指令可以在本地开发机的项目定义文件s.yaml的目录下输入,本地开发机可以通过项目定义文件s.yaml获取访问的VPC信息,以在步骤S1107中,根据VPC信息创建云服务容器实例。
步骤S1102、本地开发机向通道服务设备发送网络通道建立请求。
步骤S1103、通道服务设备响应于本地开发机发送的网络通道建立请求,生成通道服务容器实例的第一密钥及云服务容器实例的第二密钥,生成云服务容器实例的第一标识信息及本地代理容器实例的第二标识信息。
其中,网络连接地址信息包括通道服务容器实例对应的公网IP地址及端口号。
步骤S1104、通道服务设备向本地开发机发送第一标识信息及第二标识信息。
本申请实施例中,向本地开发机发送第一标识信息及第二标识信息,以使本地开发机创建的云服务容器实例的标识为第一标识,使本地开发机创建的本地代理容器实例的标识为第二标识。
步骤S1105、基于通道服务容器实例对应的网络连接地址信息创建通道服务容器实例。
具体地,创建通道服务容器实例并基于通道服务容器实例的IP地址及端口号生成网络连接地址信息。在生成网络连接地址信息后,将第一标识信息,第二标识信息与网络连接地址信息进行关联,以使具有第一标识信息本地代理容器实例与具有第二标识信息的云服务容器实例通过网络连接地址信息对应通道服务容器实例的进行定向通信。
步骤S1106、通道容器实例配置第一密钥中的第一公钥。
其中,第一公钥用于对通道容器实例发送的数据进行加密。
步骤S1107、本地开发机创建云服务容器实例,并设置第一标识信息。
具体地,本地开发机创建云服务容器实例,将第一标识信息设置为云服务容器实例的标识。
步骤S1108、云服务容器实例向通道服务设备发送注册请求。
其中,注册请求包括第一标识信息。
步骤S1109、通道服务设备向云服务容器实例发送注册成功信息。
本申请实施例中,通道服务设备接收注册请求后,查找是否存在注册请求中包括的第一标识信息,若存在第一标识信息则确定云服务容器实例为注册实例,向云服务容器实例发送注册成功信息。
步骤S1110、云服务容器实例向通道服务设备发送第一网络地址信息获取请求。
本申请实施例中,在确定第一公匙配置成功后,执行步骤S1110到步骤S1113,以确定通道容器实例配置成功的第一公匙对应的第一私匙,并将对应的第一私匙发送给云服务容器实例。
其中,第一网络地址信息获取请求中包括第一标识信息。
步骤S1112、通道服务设备将网络连接地址信息、第一密钥中的第一私钥及第二密钥中的第二公钥发送给云服务容器实例。
本申请实施例中,通道服务设备接收第一网络地址信息获取请求后,可以将网络地址信息、第一密钥中的第一私钥及第二密钥中的第二公钥发送给第一网络地址信息获取请求中包括的第一标识信息对应的云服务容器实例。
步骤S1112、云服务容器实例配置第二公钥。
其中,第二公钥用于对云服务容器实例发送的数据进行加密。
步骤S1113、云服务容器实例根据第一私钥及网络连接地址信息建立与通道服务容器实例之间的反向代理通道。
具体地,云服务容器实例可以通过访问网络连接地址信息中的IP地址及端口号建立与通道服务容器实例的连接,并使用第一私钥对反向代理通道中传输的数据进行解密。
步骤S1114、云服务容器定时向通道服务设备发送第一心跳信号。
其中,第一心跳信号中包括云服务容器实例的状态信息。
步骤S1115、通道服务设备向云服务容器实例发送反向代理通道处于连接状态信息。
本申请实施例中,若接收到第一心跳信号,则向云服务容器实例发送反向代理通道处于连接状态信息,以使云服务容器实例确定可以使用反向代理通道与通道服务容器实例进行通信。重复步骤S1114及步骤S1115,以完成远程心跳循环。
步骤S1116、本地开发机基于第二标识信息创建本地代理容器实例。
具体地,本地开发机创建本地代理容器实例,将第二标识信息设置为本地代理容器实例的标识。
步骤S1117、本地代理容器实例向通道服务设备发送注册请求。
其中,注册请求包括第二标识信息。
步骤S1118、通道服务设备向本地代理容器实例发送注册成功信息。
本申请实施例中,通道服务设备接收注册请求后,查找是否存在注册请求中包括的第二标识信息,若存在第一标识信息则确定本地代理容器实例为注册实例,向云服务容器实例发送注册成功信息。
步骤S1119、本地代理容器实例向通道服务设备发送第二网络地址信息获取请求。
本申请实施例中,在确定反向代理通道建立成功后,执行步骤S1119到步骤S1121,以在反向代理通道建立成功后建立正向代理通道。
其中,第二网络地址信息获取请求中包括第二标识信息。
步骤S1120、通道服务设备将网络连接地址信息、第一密钥中的第一私钥发送给云服务容器实例发送给本地代理容器实例。
本申请实施例中,通道服务设备接收第二网络地址信息获取请求后,可以将网络地址信息、第一私钥发送给第二网络地址信息获取请求中包括的第二标识信息对应的本地代理容器实例。
步骤S1121、本地代理容器实例根据第一私钥及网络连接地址信息建立与通道服务容器实例之间的正向代理通道。
具体地,本地代理容器实例可以通过访问网络连接地址信息中的IP地址及端口号建立与通道服务容器实例的连接,并使用第一私钥对正向代理通道中通道服务容器实例传输的数据进行解密。
步骤S1122、本地代理容器实例定时向通道服务设备发送的第二心跳信号。
其中,第二心跳信号中包括本地代理容器实例的状态信息。
步骤S1123、通道服务设备向本地代理容器实例发送正向代理通道处于连接状态信息。
本申请实施例中,若接收到第二心跳信号,则向本地代理容器实例发送正向代理通道处于连接状态信息,以使本地代理容器实例确定可以使用正向代理通道与通道服务容器实例进行通信。
步骤S1124、本地开发机调用通道服务设备中的状态信息。
步骤S1125、通道服务设备向本地开发机返回状态信息。
具体地,若通道服务设备确定正向代理通道处于连接状态,则返回的状态信息中包括正向代理通道处于连接状态信息;若通道服务设备确定反向代理通道处于连接状态,则返回的状态信息中还包括反向代理通道处于连接状态信息。
本申请实施例中,若返回的状态信息中不包括正向代理通道处于连接状态信息或不包括反向代理通道处于连接状态信息,则网络通道未建立成功,本地开发机可以每间隔一段时间重复步骤S1124及步骤S1125,直至本地开发机接收的状态信息包括正向代理通道处于连接状态信息及反向代理通道处于连接状态信息。
步骤S1126、若正向代理通道及反向代理通道处于连接状态,则本地开发机显示网络通道建立成功提示信息。
本申请实施例中,若本地开发机接收的状态信息包括正向代理通道处于连接状态信息及反向代理通道处于连接状态信息,则正向代理通道及反向代理通道处于连接状态,本地开发机显示网络通道建立成功提示信息,以提示用户可以基于网络通道进行本地代理容器实例与云服务容器实例之间的通信,实现调试、测试、云资源管理等操作。
本申请实施例,通过创建具有网络连接地址信息的服务容器实例;将网络连接地址信息发送给本地代理容器实例及云服务容器实例,就可以使本地代理容器实例基于该网络连接地址信息的建立正向代理通道,使云服务容器实例基于该网络连接地址信息的建立反向代理通道;从而可以基于正向代理通道与反向代理通道实现本地代理容器实例与云服务容器实例之间的通信。并通过使通道服务容器实例配置第一公钥,并向本地代理容器实例与云服务容器实例发送与第一公钥对应的第一私钥,使数据通过本地代理容器实例与云服务容器实例之间的网络通道进行加密传输,可以保证使用网络通道进行数据传输的安全性,进一步地保证云服务及云资源的安全。
实施例十二
图12为本申请实施例十二提供的一种电子设备的结构示意图,电子设备可以为通道服务设备、本地开发机、虚拟私有云设备。如图12所示,该电子设备120包括:处理器1201、以及与处理器通信连接的存储器1202和收发器1203;通道服务设备120还包括:存储在存储器1202上并可在处理器1201上运行的计算机执行指令。
其中,处理器1201,存储器1202及收发器1203之间电路互连;存储器1202存储计算机执行指令;收发器1203用于收发数据;处理器1201执行存储器1202存储的计算机执行指令时实现上述任意实施例提供的端云通信方法。
本申请实施例还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机执行指令,计算机执行指令被处理器执行时实现上述任一方法实施例提供的方法。
本申请实施例还提供了一种计算机程序产品,程序产品包括:计算机执行指令,计算机执行指令存储在可读存储介质中,通道服务设备的至少一个处理器可以从可读存储介质读取计算机执行指令,至少一个处理器执行计算机执行指令使得通道服务设备执行上述任一方法实施例提供的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。
Claims (14)
1.一种端云通信方法,其特征在于,包括:
响应于本地开发机发送的网络通道建立请求,创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;
将所述网络连接地址信息发送给云服务容器实例及本地代理容器实例;所述网络连接地址信息用于指示云服务容器实例建立与所述通道服务容器实例之间的反向代理通道,并用于指示本地代理容器实例建立与所述通道服务容器实例之间的正向代理通道,所述云服务容器实例是本地开发机在虚拟私有云VPC中创建的容器实例,所述本地代理容器实例是本地开发机在本地创建的容器实例;
基于网络通道进行所述本地代理容器实例与所述云服务容器实例之间的通信,所述网络通道包括所述正向代理通道及所述反向代理通道。
2.根据权利要求1所述的方法,其特征在于,还包括:
响应于本地开发机发送的网络通道建立请求,生成云服务容器实例的第一标识信息及本地代理容器实例的第二标识信息;
将所述第一标识信息,第二标识信息与所述网络连接地址信息进行关联;
将所述第一标识信息和第二标识信息发送给本地开发机。
3.根据权利要求2所述的方法,其特征在于,所述将所述网络连接地址信息发送给云服务容器实例,包括:
接收云服务容器实例发送的第一网络地址信息获取请求,所述第一网络地址信息获取请求中包括第一标识信息;
若根据所述第一标识信息确定所述云服务容器实例为注册实例,则将所述网络连接地址信息发送给云服务容器实例。
4.根据权利要求2所述的方法,其特征在于,将所述网络连接地址信息发送给本地代理容器实例,包括:
接收本地代理容器实例发送的第二网络地址信息获取请求,所述第二网络地址信息获取请求中包括第二标识信息;
若根据所述第二标识信息确定所述本地代理容器实例为注册实例,则将所述网络连接地址信息发送给本地代理容器实例。
5.根据权利要求1所述的方法,其特征在于,还包括:
响应于本地开发机发送的网络通道建立请求,生成通道服务容器实例的第一密钥及云服务容器实例的第二密钥;
将所述第一密钥中的第一公钥发送给通道服务容器实例,以使通道容器实例配置第一公钥;
将所述第一密钥中的第一私钥及所述第二密钥中的第二公钥发送给云服务容器实例,以使云服务容器实例配置所述第二公钥,并基于第一私钥建立与通道服务容器实例之间的反向代理通道;
将所述第一密钥中的第一私钥发送给本地代理容器实例,以使本地代理容器实例基于第一私钥建立与通道服务容器实例之间的正向代理通道。
6.根据权利要求1所述的方法,其特征在于,将所述网络连接地址信息发送给云服务容器实例之后,还包括:
定时接收云服务容器实例发送的第一心跳信号;所述第一心跳信号中包括云服务容器实例的状态信息;
若确定云服务容器实例的状态信息为正常运行状态,则向云服务容器实例发送反向代理通道处于连接状态信息。
7.根据权利要求1所述的方法,其特征在于,将所述网络连接地址信息发送给云服务容器实例之后,还包括:
定时接收本地代理容器实例发送的第二心跳信号;所述第二心跳信号中包括本地代理容器实例的状态信息;
若确定本地代理容器实例的状态信息为正常运行状态,则向本地代理容器实例发送正向代理通道处于连接状态信息。
8.根据权利要求1-7任一项所述的方法,其特征在于,所述基于网络通道进行所述本地代理容器实例与所述云服务容器实例之间的通信之后,还包括:
响应于通道清除请求,判断通道容器实例是否处于复用状态;
若确定通道容器实例未处于复用状态,则将通道容器实例进行销毁;
向本地开发机发送通道清理结果,以使本地开发机对所述云服务容器实例及所述本地代理容器实例进行销毁。
9.根据权利要求1-7任一项所述的方法,其特征在于,所述基于网络通道进行所述本地代理容器实例与所述云服务容器实例之间的通信,包括:
响应于本地代理容器实例或云服务容器实例发送的对应类型的流量数据,并采用通道服务容器实例对应的网络通道进行所述流量数据的发送。
10.根据权利要求9所述的方法,其特征在于,所述响应于本地代理容器实例或云服务容器实例发送的对应类型的流量数据,并采用通道服务容器实例对应的网络通道进行所述流量数据的发送,包括:
接收本地代理容器实例发送的访问VPC的云资源指令,所述访问VPC的云资源指令位于本地开发机开发的服务测试代码中,所述服务测试代码被用户在本地开发机的IDE工具中触发;
将所述访问VPC的云资源指令通过网络通道发送给云服务容器实例,所述访问VPC的云资源指令用于指示云服务容器实例执行访问VPC的云资源的操作;
接收云服务容器实例发送的云资源调用结果;
将所述云资源调用结果通过所述网络通道发送给本地代理容器实例,以使本地代理容器实例根据云资源调用结果及服务测试代码生成服务测试结果。
11.根据权利要求9所述的方法,其特征在于,所述基于网络通道进行所述本地代理容器实例与所述云服务容器实例之间的通信,包括:
接收本地代理容器实例发送的云资源管理指令;
将所述云资源管理指令通过所述网络通道发送给云服务容器实例,所述云资源管理指令用于指示云服务容器实例对VPC中的云资源进行管理。
12.一种端云通信方法,其特征在于,包括:
向通道服务设备发送网络通道建立请求,网络通道建立请求用于指示通道服务设备创建通道服务容器实例,并生成通道服务容器实例对应的网络连接地址信息;
接收通道服务设备发送的网络连接地址信息;
在虚拟私有云VPC中创建云服务容器实例,以使云服务容器实例根据网络连接地址信息建立与所述通道服务容器实例之间的反向代理通道;
根据所述网络连接地址信息建立本地代理容器实例与通道服务容器实例的正向代理通道,所述本地代理容器实例是本地开发机在本地创建的容器实例;
基于网络通道与所述云服务容器实例进行通信,所述网络通道包括所述正向代理通道及所述反向代理通道。
13.一种端云通信方法,其特征在于,包括:
接收通道服务设备发送的通道服务容器实例对应的网络连接地址信息;所述通道服务容器实例是所述通道服务设备根据本地开发机发送的网络通道建立请求创建的;
根据所述网络连接地址信息建立云服务容器实例与通道服务容器实例之间的反向代理通道;所述云服务容器实例是本地开发机预先在虚拟私有云VPC中创建的;
基于网络通道与本地代理容器实例进行通信,所述网络通道包括正向代理通道及所述反向代理通道;所述正向代理通道是本地代理容器实例与通道服务容器实例之间建立的网络通道;所述本地代理容器实例是本地开发机在本地创建的容器实例。
14.一种电子设备,包括:处理器,以及与所述处理器通信连接的存储器和收发器;
所述存储器存储计算机执行指令;所述收发器用于收发数据;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1-13中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210462031.3A CN114584606B (zh) | 2022-04-29 | 2022-04-29 | 端云通信方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210462031.3A CN114584606B (zh) | 2022-04-29 | 2022-04-29 | 端云通信方法及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114584606A CN114584606A (zh) | 2022-06-03 |
CN114584606B true CN114584606B (zh) | 2022-08-02 |
Family
ID=81778632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210462031.3A Active CN114584606B (zh) | 2022-04-29 | 2022-04-29 | 端云通信方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114584606B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011103840A2 (zh) * | 2011-04-19 | 2011-09-01 | 华为技术有限公司 | 虚拟私云的连接方法及隧道代理服务器 |
WO2018112709A1 (zh) * | 2016-12-19 | 2018-06-28 | 华为技术有限公司 | 一种数据包处理方法、主机和系统 |
CN114389885A (zh) * | 2022-01-14 | 2022-04-22 | 浙江远东工业开发有限公司 | 一种安全的开放私有云数据库到公有云方法 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106961429B (zh) * | 2017-03-15 | 2019-02-15 | 人和未来生物科技(长沙)有限公司 | 一种面向混合云计算平台的协同服务方法 |
US11159490B2 (en) * | 2017-11-03 | 2021-10-26 | F5 Networks, Inc. | Methods and devices for service-discovering reverse-tunnel proxy and tunnel service center |
CN109587242B (zh) * | 2018-12-05 | 2021-08-10 | 华润置地控股有限公司 | 物联网平台系统及其云端平台和本地终端 |
CN109587254B (zh) * | 2018-12-11 | 2021-09-17 | 深圳市口袋网络科技有限公司 | 云服务器访问方法、装置、云服务器及存储介质 |
US11057350B2 (en) * | 2019-05-30 | 2021-07-06 | Cisco Technology, Inc. | Layer 2 mobility for hybrid multi-cloud deployments without host-overlay |
CN111327720B (zh) * | 2020-02-21 | 2022-11-29 | 北京百度网讯科技有限公司 | 一种网络地址转换方法、装置、网关设备及存储介质 |
US11625280B2 (en) * | 2020-03-31 | 2023-04-11 | Bmc Software, Inc. | Cloud-native proxy gateway to cloud resources |
CN113301080B (zh) * | 2020-06-09 | 2022-08-02 | 阿里巴巴集团控股有限公司 | 资源调用方法、设备、系统及存储介质 |
CN112104754B (zh) * | 2020-11-18 | 2021-05-18 | 腾讯科技(深圳)有限公司 | 网络代理方法、系统、装置、设备及存储介质 |
-
2022
- 2022-04-29 CN CN202210462031.3A patent/CN114584606B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011103840A2 (zh) * | 2011-04-19 | 2011-09-01 | 华为技术有限公司 | 虚拟私云的连接方法及隧道代理服务器 |
WO2018112709A1 (zh) * | 2016-12-19 | 2018-06-28 | 华为技术有限公司 | 一种数据包处理方法、主机和系统 |
CN114389885A (zh) * | 2022-01-14 | 2022-04-22 | 浙江远东工业开发有限公司 | 一种安全的开放私有云数据库到公有云方法 |
Non-Patent Citations (1)
Title |
---|
分布式云的研究进展综述;张晓丽等;《软件学报》;20180208(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114584606A (zh) | 2022-06-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108833101B (zh) | 物联网设备的数据传输方法、物联网设备及认证平台 | |
CN104680039B (zh) | 一种应用程序安装包的数据保护方法及装置 | |
CN109558739B (zh) | 程序运行方法、装置、终端及可读介质 | |
CN102215254A (zh) | 安全提供用户对计算机设备远程管理许可的会话密钥信息 | |
US20200372416A1 (en) | Method, apparatus and system for performing machine learning by using data to be exchanged | |
CN112182635B (zh) | 一种联合建模的实现方法、装置、设备和介质 | |
CN106776287A (zh) | Servlet接口测试方法及测试客户端 | |
EP3869374B1 (en) | Method, apparatus and electronic device for processing user request and storage medium | |
CN108073823A (zh) | 数据处理方法、装置及系统 | |
CN107871066B (zh) | 基于安卓系统的代码编译方法及装置 | |
CN110875899B (zh) | 数据处理方法、系统以及网络系统 | |
CN114584606B (zh) | 端云通信方法及设备 | |
EP3848802A1 (en) | Data management method and apparatus, and server | |
CN114239026A (zh) | 信息脱敏转换处理方法、装置、计算机设备和存储介质 | |
CN116249980A (zh) | 通过异构加密的软件访问 | |
CN109286608B (zh) | 调用链处理方法、装置及存储设备、计算机设备 | |
CN111240855A (zh) | Api调试系统、方法、存储介质和计算机设备 | |
CN112513855A (zh) | 加密数据的安全操作 | |
US20200081812A1 (en) | Intelligent configuration management of user devices | |
CN114039760B (zh) | 安全测试方法、装置、计算机设备和存储介质 | |
JP2013045277A (ja) | プログラム難読化方法およびリモートデバッグシステム | |
CN112543194B (zh) | 移动终端登录方法、装置、计算机设备和存储介质 | |
Bouroulet et al. | Modeling and analysis of security protocols using role based specifications and Petri nets | |
CN113656152A (zh) | 基于容器云环境的本地模拟方法、系统、介质和电子设备 | |
CN113761513A (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 |