CN114745378B - 基于边缘云场景的函数模块分发方法及系统 - Google Patents
基于边缘云场景的函数模块分发方法及系统 Download PDFInfo
- Publication number
- CN114745378B CN114745378B CN202210151115.5A CN202210151115A CN114745378B CN 114745378 B CN114745378 B CN 114745378B CN 202210151115 A CN202210151115 A CN 202210151115A CN 114745378 B CN114745378 B CN 114745378B
- Authority
- CN
- China
- Prior art keywords
- function module
- function
- edge
- calculation engine
- node
- 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
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000006870 function Effects 0.000 claims abstract description 433
- 238000004364 calculation method Methods 0.000 claims abstract description 105
- 238000004891 communication Methods 0.000 abstract description 20
- 230000008569 process Effects 0.000 abstract description 9
- 230000008859 change Effects 0.000 abstract description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- RZVAJINKPMORJF-UHFFFAOYSA-N Acetaminophen Chemical compound CC(=O)NC1=CC=C(O)C=C1 RZVAJINKPMORJF-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000007654 immersion Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
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/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/66—Arrangements for connecting between networks having differing types of switching systems, e.g. gateways
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及云计算技术领域,公开了一种基于边缘云场景的函数模块分发方法及系统。基于边缘云场景的函数模块分发方法包括:中心管控节点接收函数模块发布请求,并获取所有边缘节点信息,并基于边缘节点信息,分别将函数模块发布请求转发至各边缘节点的节点网关,节点网关将函数模块发布请求转发至本边缘节点的容器网关,容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并分别将所述函数模块发布请求转发至各函数计算引擎实例,函数计算引擎实例基于函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。本发明实现了跨云边,跨容器的网络通信,能够处理大规模且服务地址经常变动无法轻易获取的容器场景。
Description
技术领域
本发明涉及云计算领域,尤其涉及一种基于边缘云场景的函数模块分发方法及系统。
背景技术
随着互联网和大数据技术的发展,传统的中心计算方式渐渐不能满足海量数据处理的需求,基于分布式计算的云计算技术应运而生。边缘计算是一种将主要处理和数据存储放在网络的边缘节点的分布式计算形式;边缘云计算则是基于云计算技术和边缘计算能力的分布式云平台,将云计算的能力拓展至距离终端最近的边缘基础设施之上。
在边缘云场景下,用户只需按照相关的约定编写自己的函数模块,实现自己的业务逻辑,即可享受到一台计算资源接近于无限制的超大规模服务器。由于边缘云函数计算必须具备灵活快速扩缩容的能力,因此计算引擎通常部署在容器里面,以借助K8S等容器编排管理组件来实现快速扩缩容。从硬件环境来说,边缘机房规模小且分布广泛,需要构建统一的管控平台来管理各个边缘节点,因而产生了跨云边通信的需求。
发明内容
本发明的主要目的在于提供一种基于边缘云场景的函数模块分发方法及系统,旨在解决基于边缘云场景的函数模块分发过程中如何实现跨云边跨容器通信的技术问题。
本发明第一方面提供了一种基于边缘云场景的函数模块分发方法,包括:
中心管控节点接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息;
所述中心管控节点基于所述边缘节点信息,分别将所述函数模块发布请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块发布请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例;
所述函数计算引擎实例基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。
可选的,在本发明第一方面的第一种实现方式中,所述容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例包括:
所述容器网关基于Headless服务,对预置Headless域名进行域名解析,得到本边缘节点内各函数计算引擎实例的IP地址列表;
基于所述IP地址列表,分别将所述函数模块发布请求转发至各所述函数计算引擎实例,其中,各所述函数计算引擎实例分别与所述Headless服务关联。
可选的,在本发明第一方面的第二种实现方式中,所述函数计算引擎实例基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例包括:
所述函数计算引擎实例检查共享存储是否存在待发布函数模块;
若所述共享存储存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储不存在所述待发布函数模块,则获取函数模块发布文件锁,并检查所述共享存储中是否存在所述待发布函数模块;
若所述共享存储中存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储中不存在所述待发布函数模块,则从云厂商内部对象存储下载所述待发布函数模块,加载至内存并生成相应的函数服务实例,同时将所述待发布函数模块缓存至所述共享存储。
可选的,在本发明第一方面的第三种实现方式中,所述基于边缘云场景的函数模块分发方法还包括:
所述中心管控节点接收控制台或开放API的函数模块删除请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块删除请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块删除请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块删除请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块删除请求删除内存中对应的函数服务实例,并删除共享存储中对应的函数模块文件。
可选的,在本发明第一方面的第四种实现方式中,所述基于边缘云场景的函数模块分发方法还包括:
所述中心管控节点接收控制台或开放API的函数模块更新请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块更新请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块更新请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块更新请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块更新请求更新内存中对应的函数服务实例,并更新共享存储中对应的函数模块文件。
可选的,在本发明第一方面的第五种实现方式中,所述各边缘节点采用NFS云存储架构,并选择一台宿主机作为共享存储机器,各所述函数计算引擎实例通过磁盘挂载的方式挂载所述宿主机的云盘目录。
本发明第二方面提供了一种基于边缘云场景的函数模块分发系统,所述函数模块分发系统包括:
中心管控节点,用于接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息;基于所述边缘节点信息,分别将所述函数模块发布请求转发至各边缘节点的节点网关;
节点网关,用于将所述函数模块发布请求转发至本边缘节点的容器网关;
容器网关,用于获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例;
函数计算引擎实例,用于基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。
可选的,在本发明第二方面的第一种实现方式中,所述容器网关具体用于:
基于Headless服务,对预置Headless域名进行域名解析,得到本边缘节点内各函数计算引擎实例的IP地址列表;
基于所述IP地址列表,分别将所述函数模块发布请求转发至各所述函数计算引擎实例,其中,各所述函数计算引擎实例分别与所述Headless服务关联。
可选的,在本发明第二方面的第二种实现方式中,所述函数计算引擎实例具体用于:
检查共享存储是否存在待发布函数模块;
若所述共享存储存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储不存在所述待发布函数模块,则获取函数模块发布文件锁,并检查所述共享存储中是否存在所述待发布函数模块;
若所述共享存储中存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储中不存在所述待发布函数模块,则从云厂商内部对象存储下载所述待发布函数模块,加载至内存并生成相应的函数服务实例,同时将所述待发布函数模块缓存至所述共享存储。
可选的,在本发明第二方面的第三种实现方式中,所述基于边缘云场景的函数模块分发系统还包括:
所述中心管控节点接收控制台或开放API的函数模块删除请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块删除请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块删除请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块删除请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块删除请求删除内存中对应的函数服务实例,并删除共享存储中对应的函数模块文件。
可选的,在本发明第二方面的第四种实现方式中,所述基于边缘云场景的函数模块分发系统还包括:
所述中心管控节点接收控制台或开放API的函数模块更新请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块更新请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块更新请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块更新请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块更新请求更新内存中对应的函数服务实例,并更新共享存储中对应的函数模块文件。
可选的,在本发明第二方面的第五种实现方式中,所述各边缘节点采用NFS云存储架构,并选择一台宿主机作为共享存储机器,各所述函数计算引擎实例通过磁盘挂载的方式挂载所述宿主机的云盘目录。
本发明提供的技术方案中,中心管控节点接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息,并基于边缘节点信息,分别将函数模块发布请求转发至各边缘节点的节点网关,节点网关将函数模块发布请求转发至本边缘节点的容器网关,容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并分别将所述函数模块发布请求转发至各函数计算引擎实例,函数计算引擎实例基于函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。本发明采用浸入容器集群方式,通过在容器集群部署网关容器,由网关容器负责接收到来自中心管控的分发指令并通过集群内网和所有容器实例通信达到代理人分发的目的,实现了跨云边,跨容器的网络通信,且能够处理大规模且服务地址经常变动无法轻易获取的容器场景。
附图说明
图1为本发明实施例中基于边缘云场景的函数模块分发方法的第一个实施例示意图;
图2为本发明实施例中基于边缘云场景的函数模块分发方法的第二个实施例示意图;
图3为本发明实施例中基于边缘云场景的函数模块分发方法的第三个实施例示意图;
图4为本发明实施例中基于边缘云场景的函数模块分发系统的一个实施例示意图。
具体实施方式
本发明实施例提供了一种基于边缘云场景的函数模块分发方法及系统,采用浸入容器集群方式,通过在容器集群部署网关容器,由网关容器负责接收到来自中心管控的分发指令并通过集群内网和所有容器实例通信达到代理人分发的目的,实现了跨云边,跨容器的网络通信,且能够处理大规模且服务地址经常变动无法轻易获取的容器场景。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”或“具有”及其任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
为便于理解,下面对本发明实施例的具体流程进行描述,请参阅图1,本发明实施例中基于边缘云场景的函数模块分发方法的第一个实施例包括:
101、中心管控节点接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息;
本实施例中,边缘云的机房具有分布广,规模小的特点,只能采用中心化管控的方式。中心管控节点部署在云厂商内部的主数据中心(Data Center,DC)机房,通过IPsec(Internet Protocol Security)协议加密通道或IPTABLES白名单实现与边缘数据中心(Outer Center,OC)节点,即边缘节点的安全通信。
本实施例中,函数模块的分发需要保证分发过程安全,否则会对函数计算引擎上的函数计算服务造成非常大的安全隐患,比如函数计算模块被攻击恶意删除等,为保证分发过程的安全,本方案使用IPTABLES,严格限制来自外部的请求源。
本实施例中,边缘节点即边缘机房,边缘节点信息包括但不限于边缘节点的节点网关地址。
102、所述中心管控节点基于所述边缘节点信息,分别将所述函数模块发布请求转发至各边缘节点的节点网关;
本实施例中,在边缘机房接入机器上,节点网关作为唯一服务入口接收来自DC管控的分发请求,然后转发给容器网关。
103、所述节点网关将所述函数模块发布请求转发至本边缘节点的容器网关;
本实施例中,容器网关主要负责接收宿主机侧的函数模块分发请求,同时完成触发集群内部所有函数计算引擎实例的函数模块加载操作
本实施例中,边缘机房因规模小的特性,无法完成自治。因此需要在DC机房构建统一的管控平台管理各个边缘节点,所以需要解决跨云边通信问题。目前业界通常采用IPSec搭建加密隧道的方式实现跨云边通信,此种方式需要边缘机房提供专门的接入点,然后在接入点提供转发服务。容器集群是一个由用户自己规划的一段私有网络空间组成,无法直接访问,因此如果要访问容器中的服务需要解决跨容器网络访问问题。传统的做法主要是通过INGRESS方式暴露容器服务供外部调用,但此种方式无法访问到所有运行实例也就无法解决所有实例的分发过程。因此本方案采用浸入容器集群方式,在容器集群部署容器网关,由容器网关通过集群内网和所有容器实例通信达到代理人分发的目的,同时采用INGRESS对外暴露容器网关服务,容器网关负责接收到来自中心管控的分发指令。
本实施例中,容器网关简化了和宿主机侧的通信,同时通过集群内网完成函数模块分发,保证分发过程的私密安全。
本实施例中,容器网关采用动态生成验证token的方式验证边缘接入机器请求的合法性,保证函数模块分发过程的安全。
104、所述容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例;
本实施例中,函数插件需要分发到所有的函数计算引擎实例,但因为函数计算引擎部署在容器,函数计算引擎实例数量,服务地址均变动频繁。本方案提出通过给函数计算引擎实例创建HEADLESS SERVICE服务,网关容器通过DNS解析方式动态获取本机房所有函数计算引擎实例地址。
函数模块分发的一大难点是对函数计算引擎实例服务的发现,因为函数计算引擎采用容器化部署,实例的数量和服务地址变化较为频繁,在容器集群外部获取函数计算引擎实例数量和服务地址非常困难。
本实施例中,通过增加代理人简化容器集群和宿主机侧的交互逻辑,容器网关服务采用容器化部署方式,采用HEADLESS服务的方式获取到集群内部的所有运行中的计算引擎实例地址。
可选的,在一实施例中,上述步骤104包括:
所述容器网关基于Headless服务,对预置Headless域名进行域名解析,得到本边缘节点内各函数计算引擎实例的IP地址列表;
基于所述IP地址列表,分别将所述函数模块发布请求转发至各所述函数计算引擎实例,其中,各所述函数计算引擎实例分别与所述Headless服务关联。
105、所述函数计算引擎实例基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。
本实施例中,函数服务实例是容器内生成的函数模块对应的可以进行具体计算任务的实例。
可选的,在一实施例中,边缘节点采用NFS云存储架构,并选择一台宿主机作为共享存储机器,各函数计算引擎实例通过磁盘挂载的方式挂载宿主机的云盘目录。
可选的,在一实施例中,上述步骤105包括:
所述函数计算引擎实例检查共享存储是否存在待发布函数模块;
若所述共享存储存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储不存在所述待发布函数模块,则获取函数模块发布文件锁,并检查所述共享存储中是否存在所述待发布函数模块;
若所述共享存储中存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储中不存在所述待发布函数模块,则从云厂商内部对象存储下载所述待发布函数模块,加载至内存并生成相应的函数服务实例,同时将所述待发布函数模块缓存至所述共享存储。
用户开发的函数模块规模达上千万个,所需的存储空间达上百G,上T级别,因此每个函数计算引擎实例独享一份函数模块缓存代价高昂且会带来带宽成本的增加。本实施例中,采用NFS把边缘机房存储构建成一套云存储,然后每个函数计算引擎实例通过磁盘挂载方式挂载宿主机云盘目录实现函数模块缓存的共享。
本实施例中,边缘机房因规模小,资源有限所以采用更为轻量级的NFS构建统一的云储存,选择一台存储机器在其上通过NFS服务对外暴露挂载点,其他宿主机通过内部VIP挂载到NFS服务器,即可实现所有宿主机共享统一存储。
本实施例中,为保证容灾能力,每个机房提供一台备份存储机器,如果出现存储故障可以通过VIP漂移实现秒级恢复。
本发明实施例中,中心管控节点接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息,并基于边缘节点信息,分别将函数模块发布请求转发至各边缘节点的节点网关,节点网关将函数模块发布请求转发至本边缘节点的容器网关,容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并分别将所述函数模块发布请求转发至各函数计算引擎实例,函数计算引擎实例基于函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。本发明采用浸入容器集群方式,通过在容器集群部署网关容器,由网关容器负责接收到来自中心管控的分发指令并通过集群内网和所有容器实例通信达到代理人分发的目的,实现了跨云边,跨容器的网络通信,且能够处理大规模且服务地址经常变动无法轻易获取的容器场景。
请参阅图2,本发明实施例中基于边缘云场景的函数模块分发方法的第二个实施例包括:
201、中心管控节点接收控制台或开放API的函数模块删除请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块删除请求转发至各边缘节点的节点网关;
202、所述节点网关将所述函数模块删除请求转发至本边缘节点的容器网关;
本实施例中,容器网关主要负责接收宿主机侧的函数模块分发请求,同时完成触发集群内部所有函数计算引擎实例的函数模块更新操作。
203、所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块删除请求转发至各所述函数计算引擎服务;
204、所述函数计算引擎服务基于所述函数模块删除请求删除内存中对应的函数服务实例,并删除共享存储中对应的函数模块文件。
本发明实施例中,中心管控节点接收控制台或开放API的函数模块删除请求,并获取所有边缘节点信息,并基于边缘节点信息,分别将函数模块删除请求转发至各边缘节点的节点网关,节点网关将函数模块删除请求转发至本边缘节点的容器网关,容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并分别将所述函数模块删除请求转发至各函数计算引擎实例,函数计算引擎实例基于函数模块删除请求加载待发布的函数模块至内存并删除共享存储中对应的函数模块文件。本发明采用浸入容器集群方式,通过在容器集群部署网关容器,由网关容器负责接收到来自中心管控的分发指令并通过集群内网和所有容器实例通信达到代理人分发的目的,实现了跨云边,跨容器的网络通信,且能够处理大规模且服务地址经常变动无法轻易获取的容器场景。
请参阅图3,本发明实施例中基于边缘云场景的函数模块分发方法的第三个实施例包括:
301、中心管控节点接收控制台或开放API的函数模块更新请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块更新请求转发至各边缘节点的节点网关;
302、所述节点网关将所述函数模块更新请求转发至本边缘节点的容器网关;
本实施例中,容器网关主要负责接收宿主机侧的函数模块分发请求,同时完成触发集群内部所有函数计算引擎实例的函数模块删除操作。
303、所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块更新请求转发至各所述函数计算引擎服务;
304、所述函数计算引擎服务基于所述函数模块更新请求更新内存中对应的函数服务实例,并更新共享存储中对应的函数模块文件。
本发明实施例中,中心管控节点接收控制台或开放API的函数模块更新请求,并获取所有边缘节点信息,并基于边缘节点信息,分别将函数模块更新请求转发至各边缘节点的节点网关,节点网关将函数模块更新请求转发至本边缘节点的容器网关,容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并分别将所述函数模块更新请求转发至各函数计算引擎实例,函数计算引擎实例基于函数模块更新请求加载待发布的函数模块至内存并更新共享存储中对应的函数模块文件。本发明采用浸入容器集群方式,通过在容器集群部署网关容器,由网关容器负责接收到来自中心管控的分发指令并通过集群内网和所有容器实例通信达到代理人分发的目的,实现了跨云边,跨容器的网络通信,且能够处理大规模且服务地址经常变动无法轻易获取的容器场景。
上面对本发明实施例中基于边缘云场景的函数模块分发方法进行了描述,下面对本发明实施例中基于边缘云场景的函数模块分发系统进行描述,请参阅图4,本发明实施例中基于边缘云场景的函数模块分发系统一个实施例包括:
中心管控节点,用于接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息;基于所述边缘节点信息,分别将所述函数模块发布请求转发至各边缘节点的节点网关;
节点网关,用于将所述函数模块发布请求转发至本边缘节点的容器网关;
容器网关,用于获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例;
函数计算引擎实例,用于基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。
本实施例中,中心管控节点位于DC机房,请求需转发至两个边缘节点,每个边缘节点中各有四个函数计算引擎实例,中心管控节点将请求转发至边缘节点1的节点网关1与边缘节点2的节点网关2,节点网关1与节点网关2分别将请求转发至容器网关1与容器网关2,容器网关分别将请求转发至函数计算引擎实例。
可选的,在一实施例中,所述容器网关具体用于:
基于Headless服务,对预置Headless域名进行域名解析,得到本边缘节点内各函数计算引擎实例的IP地址列表;
基于所述IP地址列表,分别将所述函数模块发布请求转发至各所述函数计算引擎实例,其中,各所述函数计算引擎实例分别与所述Headless服务关联。
可选的,在一实施例中,所述函数计算引擎实例具体用于:
检查共享存储是否存在待发布函数模块;
若所述共享存储存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储不存在所述待发布函数模块,则获取函数模块发布文件锁,并检查所述共享存储中是否存在所述待发布函数模块;
若所述共享存储中存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储中不存在所述待发布函数模块,则从云厂商内部对象存储下载所述待发布函数模块,加载至内存并生成相应的函数服务实例,同时将所述待发布函数模块缓存至所述共享存储。
可选的,在一实施例中,所述各边缘节点采用NFS云存储架构,并选择一台宿主机作为共享存储机器,各所述函数计算引擎实例通过磁盘挂载的方式挂载所述宿主机的云盘目录。
可选的,在一实施例中,所述基于边缘云场景的函数模块分发系统还包括:
所述中心管控节点接收控制台或开放API的函数模块删除请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块删除请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块删除请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块删除请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块删除请求删除内存中对应的函数服务实例,并删除共享存储中对应的函数模块文件。
可选的,在一实施例中,所述基于边缘云场景的函数模块分发系统还包括:
所述中心管控节点接收控制台或开放API的函数模块更新请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块更新请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块更新请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块更新请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块更新请求更新内存中对应的函数服务实例,并更新共享存储中对应的函数模块文件。
本发明实施例中,中心管控节点接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息,并基于边缘节点信息,分别将函数模块发布请求转发至各边缘节点的节点网关,节点网关将函数模块发布请求转发至本边缘节点的容器网关,容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并分别将所述函数模块发布请求转发至各函数计算引擎实例,函数计算引擎实例基于函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例。本发明采用浸入容器集群方式,通过在容器集群部署网关容器,由网关容器负责接收到来自中心管控的分发指令并通过集群内网和所有容器实例通信达到代理人分发的目的,实现了跨云边,跨容器的网络通信,且能够处理大规模且服务地址经常变动无法轻易获取的容器场景。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (8)
1.一种基于边缘云场景的函数模块分发方法,其特征在于,所述函数模块分发方法包括:
中心管控节点接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息;
所述中心管控节点基于所述边缘节点信息,分别将所述函数模块发布请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块发布请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例;
所述函数计算引擎实例基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例;
其中,所述函数计算引擎实例基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例包括:
所述函数计算引擎实例检查共享存储是否存在待发布函数模块;
若所述共享存储存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储不存在所述待发布函数模块,则获取函数模块发布文件锁,并检查所述共享存储中是否存在所述待发布函数模块;
若所述共享存储中存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;
若所述共享存储中不存在所述待发布函数模块,则从云厂商内部对象存储下载所述待发布函数模块,加载至内存并生成相应的函数服务实例,同时将所述待发布函数模块缓存至所述共享存储。
2.根据权利要求1所述的基于边缘云场景的函数模块分发方法,其特征在于,所述容器网关获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例包括:
所述容器网关基于Headless服务,对预置Headless域名进行域名解析,得到本边缘节点内各函数计算引擎实例的IP地址列表;
基于所述IP地址列表,分别将所述函数模块发布请求转发至各所述函数计算引擎实例,其中,各所述函数计算引擎实例分别与所述Headless服务关联。
3.根据权利要求1所述的基于边缘云场景的函数模块分发方法,其特征在于,所述基于边缘云场景的函数模块分发方法还包括:
所述中心管控节点接收控制台或开放API的函数模块删除请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块删除请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块删除请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块删除请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块删除请求删除内存中对应的函数服务实例,并删除共享存储中对应的函数模块文件。
4.根据权利要求1所述的基于边缘云场景的函数模块分发方法,其特征在于,所述基于边缘云场景的函数模块分发方法还包括:
所述中心管控节点接收控制台或开放API的函数模块更新请求并获取所有边缘节点信息,基于所述边缘节点信息,分别将所述函数模块更新请求转发至各边缘节点的节点网关;
所述节点网关将所述函数模块更新请求转发至本边缘节点的容器网关;
所述容器网关获取本边缘节点内各函数计算引擎服务的IP地址列表,并基于所述IP地址列表分别将所述函数模块更新请求转发至各所述函数计算引擎服务;
所述函数计算引擎服务基于所述函数模块更新请求更新内存中对应的函数服务实例,并更新共享存储中对应的函数模块文件。
5.根据权利要求1-4中任一项所述的基于边缘云场景的函数模块分发方法,其特征在于,所述各边缘节点采用NFS云存储架构,并选择一台宿主机作为共享存储机器,各所述函数计算引擎实例通过磁盘挂载的方式挂载所述宿主机的云盘目录。
6.一种基于边缘云场景的函数模块分发系统,其特征在于,所述函数模块分发系统包括:
中心管控节点,用于接收控制台或开放API的函数模块发布请求,并获取所有边缘节点信息;基于所述边缘节点信息,分别将所述函数模块发布请求转发至各边缘节点的节点网关;
节点网关,用于将所述函数模块发布请求转发至本边缘节点的容器网关;
容器网关,用于获取本边缘节点内各函数计算引擎实例的IP地址列表,并基于所述IP地址列表分别将所述函数模块发布请求转发至各所述函数计算引擎实例;
函数计算引擎实例,用于基于所述函数模块发布请求加载待发布的函数模块至内存并生成相应的函数服务实例;
其中,所述函数计算引擎实例具体用于:检查共享存储是否存在待发布函数模块;若所述共享存储存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;若所述共享存储不存在所述待发布函数模块,则获取函数模块发布文件锁,并检查所述共享存储中是否存在所述待发布函数模块;若所述共享存储中存在所述待发布函数模块,则将所述待发布函数模块加载至内存并生成相应的函数服务实例;若所述共享存储中不存在所述待发布函数模块,则从云厂商内部对象存储下载所述待发布函数模块,加载至内存并生成相应的函数服务实例,同时将所述待发布函数模块缓存至所述共享存储。
7.根据权利要求6所述的基于边缘云场景的函数模块分发系统,其特征在于,所述容器网关具体用于:
基于Headless服务,对预置Headless域名进行域名解析,得到本边缘节点内各函数计算引擎实例的IP地址列表;
基于所述IP地址列表,分别将所述函数模块发布请求转发至各所述函数计算引擎实例,其中,各所述函数计算引擎实例分别与所述Headless服务关联。
8.根据权利要求6或7所述的基于边缘云场景的函数模块分发系统,其特征在于,所述各边缘节点采用NFS云存储架构,并选择一台宿主机作为共享存储机器,各所述函数计算引擎实例通过磁盘挂载的方式挂载所述宿主机的云盘目录。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210151115.5A CN114745378B (zh) | 2022-02-14 | 2022-02-14 | 基于边缘云场景的函数模块分发方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210151115.5A CN114745378B (zh) | 2022-02-14 | 2022-02-14 | 基于边缘云场景的函数模块分发方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114745378A CN114745378A (zh) | 2022-07-12 |
CN114745378B true CN114745378B (zh) | 2024-05-28 |
Family
ID=82275040
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210151115.5A Active CN114745378B (zh) | 2022-02-14 | 2022-02-14 | 基于边缘云场景的函数模块分发方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114745378B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116319098B (zh) * | 2023-05-20 | 2023-07-21 | 湖北省楚天云有限公司 | 一种边缘计算服务器安全互联系统 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899710A (zh) * | 2017-04-26 | 2017-06-27 | 上海优刻得信息科技有限公司 | Ip地址转换方法、ip地址转换装置以及网关系统 |
CN111163002A (zh) * | 2019-12-31 | 2020-05-15 | 广州智光电气股份有限公司 | 一种基于容器的边缘网关系统和能源数据处理方法 |
KR20210007637A (ko) * | 2019-07-12 | 2021-01-20 | 에스케이텔레콤 주식회사 | 에지컴퓨팅관리장치 및 에지컴퓨팅관리장치의 동작 방법 |
CN112783646A (zh) * | 2021-01-13 | 2021-05-11 | 中国工商银行股份有限公司 | 有状态应用容器化部署方法及装置 |
CN113285885A (zh) * | 2021-07-23 | 2021-08-20 | 阿里云计算有限公司 | 基于服务网格的边缘流量控制方法、设备及存储介质 |
CN113342457A (zh) * | 2020-03-02 | 2021-09-03 | 中科星图股份有限公司 | 基于Eureka服务注册与发现的Kubernetes调度方法 |
CN113626189A (zh) * | 2021-08-03 | 2021-11-09 | 优刻得科技股份有限公司 | 资源管理模型及其构建方法、设备和介质 |
CN113746887A (zh) * | 2020-11-05 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种跨集群数据请求处理方法、设备及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10892942B2 (en) * | 2016-01-22 | 2021-01-12 | Equinix, Inc. | Container-based cloud exchange disaster recovery |
US11188390B2 (en) * | 2017-06-05 | 2021-11-30 | Umajin Inc. | Method for configuring a server kit by a server management system |
US11029989B2 (en) * | 2018-11-05 | 2021-06-08 | International Business Machines Corporation | Distributed notebook kernels in a containerized computing environment |
US11153388B2 (en) * | 2019-11-12 | 2021-10-19 | Electronics And Telecommunications Research Institute | Workflow engine framework for cross-domain extension |
-
2022
- 2022-02-14 CN CN202210151115.5A patent/CN114745378B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106899710A (zh) * | 2017-04-26 | 2017-06-27 | 上海优刻得信息科技有限公司 | Ip地址转换方法、ip地址转换装置以及网关系统 |
KR20210007637A (ko) * | 2019-07-12 | 2021-01-20 | 에스케이텔레콤 주식회사 | 에지컴퓨팅관리장치 및 에지컴퓨팅관리장치의 동작 방법 |
CN111163002A (zh) * | 2019-12-31 | 2020-05-15 | 广州智光电气股份有限公司 | 一种基于容器的边缘网关系统和能源数据处理方法 |
CN113342457A (zh) * | 2020-03-02 | 2021-09-03 | 中科星图股份有限公司 | 基于Eureka服务注册与发现的Kubernetes调度方法 |
CN113746887A (zh) * | 2020-11-05 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 一种跨集群数据请求处理方法、设备及存储介质 |
CN112783646A (zh) * | 2021-01-13 | 2021-05-11 | 中国工商银行股份有限公司 | 有状态应用容器化部署方法及装置 |
CN113285885A (zh) * | 2021-07-23 | 2021-08-20 | 阿里云计算有限公司 | 基于服务网格的边缘流量控制方法、设备及存储介质 |
CN113626189A (zh) * | 2021-08-03 | 2021-11-09 | 优刻得科技股份有限公司 | 资源管理模型及其构建方法、设备和介质 |
Non-Patent Citations (2)
Title |
---|
功能分发网络:基于容器的智能边缘计算平台;杨术;陈子腾;崔来中;明中行;程路;《软件学报》;第第32卷卷(第第12期期);3945-3959 * |
面向物联网的海量高性能分布式系统架构及实现;田敬波;;电信技术(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114745378A (zh) | 2022-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907359B2 (en) | Event-based user state synchronization in a local cloud of a cloud storage system | |
US10715485B2 (en) | Managing dynamic IP address assignments | |
US7818454B2 (en) | Host migration system | |
US8346966B1 (en) | Transparent file system access for wide area network file system acceleration | |
AU2015370268B2 (en) | System and method for discovering a lan synchronization candidate for a synchronized content management system | |
CN102571972B (zh) | 从外部企业网络进行站点知晓的分布式文件系统访问 | |
CN111884902B (zh) | 一种vpn场景网络分流方法及装置 | |
CN109151092B (zh) | 一种域名解析方法 | |
JP2008154101A (ja) | 中継サーバ | |
CN113364741A (zh) | 一种应用访问方法及代理服务器 | |
CN114745378B (zh) | 基于边缘云场景的函数模块分发方法及系统 | |
CN115086312A (zh) | 实现kubernetes服务跨集群通信的方法及系统 | |
CN117640765A (zh) | 云环境服务访问方法及系统 | |
KR102011194B1 (ko) | 위치주소 지정에 의한 파일 은닉 방법 및 시스템 | |
JP4733739B2 (ja) | 接続エンドポイント・プロキシを使用したユーザ・アフィニティに基づくコンテンツ送出 | |
JP2006259845A (ja) | サーバ装置、サーバシステムおよびサーバシステムの負荷分散方法 | |
CN107615734B (zh) | 用于服务器故障转移和负荷平衡的系统和方法 | |
CN114979262B (zh) | 访问方法以及系统 | |
Warfield et al. | Identifying open problems in distributed systems | |
CN118200027A (zh) | 一种计算资源共享的私有域dns实现方法、系统及设备 | |
CN118018548A (zh) | 一种基于ipvlan网络隔离cdn网关的方法和系统 | |
CN116366272A (zh) | 资源处理方法、装置、服务器及存储介质 | |
WO2024129083A1 (en) | Security scan with backup | |
CN116455897A (zh) | 实现节点间协同作业的方法、协同服务引擎及协同系统 | |
CN117170804A (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 |