CN112769938B - 一种基于QUIC的Kubernetes云边通信系统与方法 - Google Patents

一种基于QUIC的Kubernetes云边通信系统与方法 Download PDF

Info

Publication number
CN112769938B
CN112769938B CN202110037062.XA CN202110037062A CN112769938B CN 112769938 B CN112769938 B CN 112769938B CN 202110037062 A CN202110037062 A CN 202110037062A CN 112769938 B CN112769938 B CN 112769938B
Authority
CN
China
Prior art keywords
cloud
quic
edge
message
module
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
Application number
CN202110037062.XA
Other languages
English (en)
Other versions
CN112769938A (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.)
Fiberhome Telecommunication Technologies Co Ltd
Original Assignee
Fiberhome Telecommunication Technologies 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 Fiberhome Telecommunication Technologies Co Ltd filed Critical Fiberhome Telecommunication Technologies Co Ltd
Priority to CN202110037062.XA priority Critical patent/CN112769938B/zh
Publication of CN112769938A publication Critical patent/CN112769938A/zh
Application granted granted Critical
Publication of CN112769938B publication Critical patent/CN112769938B/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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • 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/56Provisioning of proxy services
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/04Protocols for data compression, e.g. ROHC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/22Parsing or analysis of headers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

本发明公开了一种基于QUIC的Kubernetes云边通信系统与方法,包括云端消息管理组件和边缘消息管理组件,云端消息管理组件包括云端QUIC协议库模块和多个云端消息处理插件,边缘消息管理组件包括边缘QUIC协议库模块和多个边缘服务代理模块;各云端消息处理插件分别将各自监听获取的请求封装为Protobuf格式转发至云端QUIC协议库模块,由云端QUIC协议库模块发送到对应QUIC通道中;边缘QUIC协议库模块从QUIC通道中接收消息后进行解析,并转发到对应的边缘服务代理模块,由边缘服务代理模块完成内网请求,并将响应封装为Protobuf格式发送回云端,可实现管理面和业务面的云端统一调度管理。

Description

一种基于QUIC的Kubernetes云边通信系统与方法
技术领域
本发明属于边缘计算平台软件产品技术领域,更具体地,涉及一种基于QUIC的Kubernetes云边通信系统与方法。
背景技术
当前,边缘计算技术在智慧工厂、智慧港口、智慧园区、智慧交通、工业互联网、治安及监视等应用场景中发展较快;例如:在工业互联网场景中,边缘计算能在靠近网络边缘侧运行处理、分析等操作,就近提供边缘计算服务,能够更好满足制造业敏捷连接、实时优化、安全可靠等方面的关键需求,改变传统制造控制系统和数据分析系统的部署运行方式;在智慧园区场景中,对边缘实时处理视频流、自动标识目标及告警等需求也很强烈。Kubernetes是Google开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理,基于Kubernetes的边缘计算解决方案,可以解决边缘智能、边缘视频分析、车联网、智能家居、工业互联网等场景的边缘计算需求,能够满足这些场景中大规模边缘应用的管理编排等功能需求,其降低了IT运维成本,缩短了业务交付周期,同时集成了敏捷开发云、应用管理、弹性伸缩、资源监控、微服务治理、边缘网关管理等功能的边缘计算平台能解决边缘业务多样化和统一编排管理的问题。但上述场景中,边缘节点通常位于本地专有网络中,这虽然保证了边缘节点的安全,但也造成位于云端的Kube-apiserver节点无法直接访问位于边缘节点的管理接口及业务接口;其中,Kube-apiserver是指Kubernetes平台的云端控制面组件。因此,业务部署在边缘节点后云端如何统一入口访问及管控是亟待解决的问题。
现有的云边通信(即云端与边缘节点之间的通信)解决方案中,由于边缘节点往往运行在内网,云端无法通过边缘云平台调用边缘节点上运行的业务;例如云端部署AI训练的模型,无法直接在云上访问推测结果,只能在边缘内网访问或者由边缘主动上传给云端。具体地,现有的云边通信方案通常只能实现云边管理面的接口调用及消息调用,无法实现对边缘节点上运行的业务进行通用化调用(例如云端调用边缘节点上的REST接口、推送消息、播放边缘视频流等)。例如,某为开源的项目KubeEdge基于Websocket实现了管理面通信,通过长连接的形式实现了下行下发元数据,上行刷新边缘节点上组件的状态的功能;某里开源的项目OpenYurt基于gRPC实现了管理面协同,主要实现了云端将Kube-apiserver、Prometheus、Metrics-server等管控组件发往节点的请求转发至对应的agent;上述两种方案都是管理层面的组件请求转发控制,不涉及业务层面调用。
由此可知,当前云边通信中存在的最大问题在于:由于边缘节点往往运行在内网,云端无法通过统一的入口或服务调用边缘节点上运行的各种业务服务,例如常用的REST服务以及在云端观看边缘智能处理后的视频流等,也无法实现管理面和业务面的云端统一调度管理。进一步地,当前云边通信中还存在以下技术问题待解决:云端无法自定义实现云边消息路由及流转;无法实现链路复用,当海量边缘节点连接超过一定数目时(例如万级节点),云端接受的连接将是巨大的,系统资源将是受限瓶颈;无法在云端统一监管不同边缘节点的海量业务负载情况;每个边缘节点各自开放不同的端口用于业务连接,需要针对每个连接都确保安全加密配置,配置复杂。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于QUIC的Kubernetes云边通信系统与方法,其目的在于基于QUIC协议建立云边双向通道,用Protobuf格式封装数据进行传递,由此解决云端无法通过统一的入口或服务调用边缘节点上运行的各种业务,也无法实现管理面和业务面的云端统一调度管理的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于QUIC的Kubernetes云边通信系统,包括设于云端的云端消息管理组件和设于每个边缘节点的边缘消息管理组件,每个边缘消息管理组件通过一个QUIC通道与所述云端消息管理组件连接;
其中,所述云端消息管理组件包括云端QUIC协议库模块和多个云端消息处理插件,所述边缘消息管理组件包括边缘QUIC协议库模块和多个边缘服务代理模块;
各云端消息处理插件分别在云端监听对应类型的事件,并将各自监听获取的对应类型的请求封装为Protobuf格式转发至所述云端QUIC协议库模块,由所述云端QUIC协议库模块将接收到的消息压缩并发送到对应边缘节点的QUIC通道中;其中,所述事件包括管理面事件和业务面事件;
所述边缘QUIC协议库模块从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块,由所述边缘服务代理模块根据接收到的消息完成内网请求,并将收到的响应封装为Protobuf格式发送回云端。
优选地,所述多个云端消息处理插件分为管理面插件和业务面插件;
所述管理面插件用于在云端监听管理面事件,并将监听获取的管理类请求封装为Protobuf格式转发至所述云端QUIC协议库模块;
所述业务面插件用于在云端监听业务面事件,并将监听获取的业务类请求封装为Protobuf格式转发至所述云端QUIC协议库模块。
优选地,所述云端QUIC协议库模块使用消息队列管理每个边缘节点待发送的消息,当接收到各云端消息处理插件发送来的消息后,所述云端QUIC协议库模块将接收到的各消息放入对应边缘节点的消息队列中;其中,所述云端QUIC协议库模块包括云端流优先级模块和云端GZip压缩/解压模块;
所述云端流优先级模块用于根据消息对应的请求类型,为各云端消息处理插件发送来的消息创建相应优先级的QUIC流;
所述云端GZip压缩/解压模块用于逐个从消息队列中取出消息并启动GZip压缩,将完成GZip压缩后的消息发送到对应边缘节点的QUIC通道中;同时将接收到的响应进行GZip解压,并根据请求类型将响应转发至对应的云端消息处理插件。
优选地,所述边缘QUIC协议库模块包括边缘流优先级模块和边缘GZip解压/压缩模块;
所述边缘流优先级模块用于对从QUIC通道中接收到的各消息进行QUIC流优先级分析,并按照QUIC流优先级由高到低的顺序将各消息发送给所述边缘GZip解压/压缩模块;
所述边缘GZip解压/压缩模块用于对从QUIC通道中接收到的消息进行GZip解压分析处理,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块;同时将接收到的响应进行GZip压缩,并转发至对应边缘节点的QUIC通道中返回云端。
按照本发明的另一方面,提供了一种基于QUIC的Kubernetes云边通信方法,包括:
各云端消息处理插件分别在云端监听对应类型的事件,并将各自监听获取的对应类型的请求封装为Protobuf格式转发至云端QUIC协议库模块;其中,所述事件包括管理面事件和业务面事件;
云端QUIC协议库模块将接收到的Protobuf格式的消息进行压缩,并发送到对应边缘节点的QUIC通道中;
边缘QUIC协议库模块从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块;
各边缘服务代理模块根据各自接收到的消息完成内网请求,并将各自收到的响应封装为Protobuf格式后通过QUIC通道发送回云端。
优选地,所述各云端消息处理插件分别在云端监听对应类型的事件,并将各自监听获取的对应类型的请求封装为Protobuf格式转发至云端QUIC协议库模块,具体为:
管理面插件在云端监听管理面事件,并将监听获取的管理类请求封装为Protobuf格式转发至所述云端QUIC协议库模块;其中,所述管理面事件包括Kube-apiserver的资源变更;
业务面插件在云端监听业务面事件,并将监听获取的业务类请求转发至所述云端QUIC协议库模块;其中,当所述业务面事件为RESTful接口调用和MQTT消息推送时,需将对应请求封装为Protobuf格式后转发至所述云端QUIC协议库模块。
优选地,所述云端QUIC协议库模块通过消息队列管理待发送到每个边缘节点的消息,则所述云端QUIC协议库模块将接收到的Protobuf格式的消息进行压缩,并发送到对应边缘节点的QUIC通道中,具体为:
所述云端QUIC协议库模块将接收到的Protobuf格式的各消息放入对应边缘节点的消息队列中,并根据消息对应的请求类型为各消息创建相应优先级的QUIC流;
逐个从所述对应边缘节点的消息队列中取出消息并启动GZip压缩,将完成GZip压缩后的消息发送到对应边缘节点的QUIC通道中。
优选地,所述边缘QUIC协议库模块从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块,具体为:
所述边缘QUIC协议库模块从QUIC通道中接收到各消息后进行QUIC流分析,进而获取各消息的QUIC流优先级;
所述边缘QUIC协议库模块按照QUIC流优先级由高到低的顺序,对各消息进行GZip解压分析,得到各消息对应的请求类型;
所述边缘QUIC协议库模块根据解析出的请求类型,将各消息发送到对应的边缘服务代理模块。
优选地,所述各边缘服务代理模块根据各自接收到的消息完成内网请求,并将各自收到的响应封装为Protobuf格式后通过QUIC通道发送回云端,具体为:
所述边缘服务代理模块根据各自接收到的消息进行解析后,向边缘应用程序发出相应的内网请求,并接收来自边缘应用程序的响应;
所述边缘服务代理模块将各自接收到的响应封装为Protobuf格式,并转发至所述边缘QUIC协议库模块;
所述边缘QUIC协议库模块将接收到的响应进行GZip压缩后发送到对应边缘节点的QUIC通道中,进而返回云端。
优选地,在所述边缘QUIC协议库模块将接收到的响应进行GZip压缩后发送到对应边缘节点的QUIC通道中之后,所述方法还包括:
所述云端QUIC协议库模块从QUIC通道中接收到响应后进行GZip解压分析,并根据解析结果将响应转发至对应的云端消息处理插件,由所述云端消息处理插件对接收到的Protobuf格式的响应进行Protobuf反序列化。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有如下有益效果:本发明提供的Kubernetes云边通信方案中,通过多个云端消息处理插件监听管理面事件和业务面事件,并将监听获取的管理类请求和业务类请求统一封装为Protobuf格式,通过对应QUIC通道发送到边缘节点,由边缘服务代理模块根据接收消息完成内网请求后,将响应封装为Protobuf格式发送回云端。上述方案基于QUIC协议建立云边双向通道,并统一用Protobuf格式封装数据,使得云端可通过统一接口调用边缘节点上运行的各种业务,解决内网隔离问题,同时也有利于实现管理面和业务面的云端统一调度管理,提升云边交互效率。
附图说明
图1是本发明实施例提供的一种基于QUIC的Kubernetes云边通信系统框架图;
图2是本发明实施例提供的一种基于QUIC的Kubernetes云边通信方法流程图;
图3是本发明实施例提供的一种RESTful协议消息和MQTT协议消息得到路由示意图;
图4是本发明实施例提供的一种基于QUIC的Kubernetes云边通信具体实施流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
实施例1
为解决云端无法通过统一的入口或服务调用边缘节点上运行的各种业务,也无法实现管理面和业务面的云端统一调度管理的技术问题,本发明实施例提供了一种基于QUIC的Kubernetes云边通信系统,如图1所示,所述系统主要包括设置在云端的云端消息管理组件和设置在边缘的边缘消息管理组件。其中,所述云端消息管理组件具体部署在Kubernetes边缘云平台,所述边缘消息管理组件具体部署在边缘节点,且每个边缘节点对应部署一个边缘消息管理组件(为方便描述,图1中仅画出某个边缘节点i上的边缘消息管理组件进行说明)。
在本发明中,每个边缘消息管理组件通过一个安全加密的QUIC通道与所述云端消息管理组件实现WAN(Wide AreaNetwork,即广域网)连接。通常,云边之间的传输层网络协议可基于TCP(Transmission Control Protocol,即传输控制协议)/UDP(User DatagramProtocol,即用户数据报协议),QUIC(Quick UDP Internet Connections,即快速UDP网络连接)是在UDP协议之上提供一种可靠的、可建立面向连接的服务,它继承了UDP的优点,同时基于UDP之上加入了拥塞控制、多路复用、前向纠错等特性,从而弥补了UDP的缺点,提高了数据的传输效率。
如图1所示,所述云端消息管理组件包括云端QUIC协议库模块和多个云端消息处理插件,所述边缘消息管理组件包括边缘QUIC协议库模块和多个边缘服务代理模块。其中,各模块的结构和功能具体如下:
1)云端消息处理插件
云端消息处理插件主要负责对外暴露访问方式,在实际应用场景中用户会根据自身需求向云端消息处理插件的监听端点发出请求,即触发事件。各云端消息处理插件分别在云端监听不同类型的事件,并将各自监听获取的对应类型的请求进行解析以得到消息操作类型、消息体内容等,然后封装为Protobuf格式(即Protobuf序列化为二进制数据)转发至所述云端QUIC协议库模块;同时还可接收所述云端QUIC协议库模块从边缘返回的Protobuf格式的响应,并将该响应进行解析(即Protobuf反序列化)后返回给发出请求的用户。其中,Protobuf即Protocol Buffer,是一种性能优异、跨语言、跨平台的序列化库。
为实现管理面和业务面的云端统一调度管理,所述事件包括管理面事件和业务面事件两类,相应地,所述多个云端消息处理插件也分为管理面插件和业务面插件两类。其中:
所述管理面插件可在云端监听管理面事件,并将监听获取的管理类请求封装为Protobuf格式转发至所述云端QUIC协议库模块。其中,管理面事件主要是Kube-apiserver的资源变更,例如Deployments、ConfigMap等资源变更;所述管理面插件通常采用List-Watch机制实现,如图1所示,用来监听Kube-apiserver的资源变更,并将监听到的管理类消息封装为Protobuf格式,同时设置数据格式类型为管理类数据。
所述业务面插件可在云端监听业务面事件,并将监听获取的业务类请求封装为Protobuf格式转发至所述云端QUIC协议库模块。其中,业务面事件主要包括RESTful(也可简称REST,是一种基于HTTP的网络应用程序的设计风格和开发方式)接口调用和MQTT(Message Queuing Telemetry Transport,即消息队列遥测传输)消息推送,这两者都属于文本类消息,需要经过Protobuf序列化为二进制数据后再通过业务流发送和接收;特殊地,业务面事件还包括云端观看直播视频流,对应的视频流类消息可直接经由插件对外提供暴露服务供用户调用,无需进行Protobuf封装。基于以上考虑,在一个具体的实施例中,所述业务面插件主要包括RESTful协议插件、MQTT协议插件和视频流协议插件,如图1所示;当然并不仅限于此,还可在此基础上按照既定的接口和实际需求设置更多类型的插件。
其中,所述RESTful协议插件用于接收用户发出的RESTful接口调用的请求,并将该请求解析后封装为Protobuf格式转发至所述云端QUIC协议库模块;同时还可接收所述云端QUIC协议库模块返回的针对该请求的Protobuf格式响应,并将响应消息进行Protobuf反序列化后返回给发出该请求的用户。所述MQTT协议插件用于接收用户发出的MQTT消息推送的请求,并将该请求解析后封装为Protobuf格式转发至所述云端QUIC协议库模块;同时还接收所述云端QUIC协议库模块返回的针对该请求的Protobuf格式响应,并将响应消息进行Protobuf反序列化后返回给发出该请求的用户。所述视频流协议插件用于接收用户发出的云端观看直播视频流的请求,并将对应的视频流消息直接转发至所述云端QUIC协议库模块,即所述视频流协议插件直接对外暴露视频流服务;同时还可接收所述云端QUIC协议库模块返回的针对该请求的响应,并将响应消息返回发出该请求的用户。
通过上述设置,可同时在云端监听管理面事件和业务面事件,不同插件接收到的管理类请求和业务类请求可统一封装为既定的Protobuf格式,然后转发至所述云端QUIC协议库模块,从而实现各种云端消息处理插件统一接口,进而实现管理面和业务面的云端统一调度管理。
另外,上述结构还可有效实现业务访问权限控制,具体是在云端实现自由配置消息路由规则,例如指定访问某个边缘节点的某个业务端口服务,支持通配符配置,可按照URL或者MQTT topic通配符的方式访问(例如/*.html),只有配置的服务可直接在云端访问,未配置的服务无法直接在云端访问,从而实现有效的权限控制。例如,能够访问边缘节点i的8080端口的根目录,但无法访问8080端口的/test的URL路径,从而实现有效的权限控制。
2)云端QUIC协议库模块
所述云端QUIC协议库模块用于对QUIC协议的数据发送接收功能进行封装,维护多个边缘节点的连接,主要是将从各云端消息处理插件接收到的Protobuf格式的消息进行压缩,并发送到对应边缘节点的QUIC通道中;同时还可将从QUIC通道中接收到的Protobuf格式的响应进行解压,并转发至对应的云端消息处理插件中。在本发明中,所述云端QUIC协议库模块使用消息队列管理每个边缘节点待发送的消息,具体结合图1,当接收到各云端消息处理插件发送来的Protobuf格式的消息后,所述云端QUIC协议库模块将接收到的各消息放入对应边缘节点的消息队列中。
所述云端QUIC协议库模块包括云端流优先级模块和云端GZip压缩/解压模块。所述云端流优先级模块用于根据消息对应的请求类型,为各云端消息处理插件发送来的消息创建相应优先级的QUIC流。其中,对于List-Watch插件发送的管理类请求,通常创建较高优先级的QUIC流;而对于其他各业务面插件发送的各种业务类请求,则根据对应的业务优先级创建相应优先级的QUIC流;例如,特定场景下视频类请求的优先级放低,则可为所述视频流协议插件发送来的视频流数据创建优先级较低的QUIC流。所述云端GZip压缩/解压模块用于逐个从所述对应边缘节点的消息队列中取出消息并启动GZip压缩,将完成GZip压缩后的消息发送到对应边缘节点的QUIC通道中;同时当接收到边缘通过QUIC通道发送回的Protobuf格式响应后,将接收到的响应进行GZip解压,并根据解析出的请求类型将响应转发至对应的云端消息处理插件。
另外,所述云端QUIC协议库模块还可根据消息对应的请求类型,为各云端消息处理插件发送来的消息创建相应优先级的QUIC流。进一步地,所述云端QUIC协议库模块还负责消息的丢失重发,通过引入ACK(即Acknowledge)确认的机制实现:边缘节点收到云端QUIC协议库模块通过QUIC通道发送的消息后,会在默认超时时间内回复ACK确认消息,如果所述云端QUIC协议库模块在默认超时时间内未收到相应的ACK确认消息,则可判定为消息丢失,进而将对应消息队列中的消息重新压缩处理后通过QUIC通道发送给边缘。
其中,对于云边之间Protobuf的数据交互格式,指定的消息格式参考定义如下:
Figure BDA0002893586720000111
Figure BDA0002893586720000121
在上述消息格式中,主要包含的元素是消息ID msg_id字段、消息父ID parent_id字段、消息传输路径source和dest字段、消息类型type字段、消息操作类型resource字段、消息体内容msg_content字段等;其中,消息父ID用于关联消息,消息传输路径用于配置源路径和目标路径,可实现从云端到边缘或者边缘到云端的配置,消息类型字段说明是REST类型还是MQTT类型消息,消息操作类型可配置例如URL或者Topic等参数。当然,消息格式的名称定义不限于上述命名,符合指定的消息类型说明即可。其中,msg_content用于封装不同业务类型的内容。
3)边缘QUIC协议库模块
所述边缘QUIC协议库模块在启动时会主动连接云端QUIC协议库模块提供的QUICserver服务,然后可从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块;同时待边缘服务代理模块完成内网请求后,还可将接收到的各边缘服务代理模块返回的Protobuf格式的响应进行压缩,并转发至QUIC通道中。
具体结合图1,所述边缘QUIC协议库模块包括边缘流优先级模块和边缘GZip解压/压缩模块。当接收到QUIC通道中的消息后,所述边缘流优先级模块用于对从QUIC通道中接收到的各消息进行QUIC流优先级分析,获取各消息的QUIC流优先级,并按照QUIC流优先级由高到低的顺序将各消息发送给所述边缘GZip解压/压缩模块。所述边缘GZip解压/压缩模块用于对从QUIC通道中接收到的消息进行GZip解压分析处理,得到各消息对应的请求类型,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块;同时,当接收到所述边缘服务代理模块返回的Protobuf格式响应后,将接收到的响应进行GZip压缩,并转发至对应边缘节点的QUIC通道中返回云端。所述边缘QUIC协议库模块首先对各消息进行QUIC流优先级分析,然后按照QUIC流优先级由高到低的顺序对各消息进行GZip解压分析处理,进而根据请求类型将消息转发到对应的边缘服务代理模块;所述边缘QUIC协议库模块将接收到的响应进行GZip压缩,并转发至对应边缘节点的QUIC通道中,进而返回云端。
4)边缘服务代理模块
所述边缘服务代理模块主要用于对从云端接收到的消息进行Protobuf反序列化解析,然后根据解析内容完成内网请求,并将收到的响应封装为Protobuf格式发送给所述边缘QUIC协议库模块,以便由所述边缘QUIC协议库模块进行压缩后通过QUIC通道发送回云端。需要说明的是,所述边缘服务代理模块主要是针对业务类请求设置;管理类请求在边缘是默认集成的,主要是对边缘容器的生命周期进行管理操作,可无需设置专门的边缘服务代理模块。其中,本发明中主要是通过本地的业务APP监听内网端口,不用对外暴露,只需要本机的边缘服务代理模块能访问就行。
结合图1,在一个具体的实施例中,所述业务面插件包括RESTful协议插件、MQTT协议插件和视频流协议插件,则相应地,所述边缘服务代理模块包括边缘RESTful代理模块、边缘MQTT代理模块和边缘视频流代理模块。其中,所述边缘RESTful代理模块用于接收RESTful类消息并进行Protobuf反序列化解析,进而根据解析内容向边缘应用程序(即图中的业务APP)进行内网请求,然后将收到的响应封装为Protobuf格式发送回云端;所述边缘MQTT代理模块用于订阅边缘内网MQTT类消息,即接收MQTT类消息并向边缘应用程序进行内网请求,然后将收到的响应封装为Protobuf格式发送回云端;所述边缘视频流代理模块用于接收视频流类消息并向边缘的IP摄像头进行内网请求,然后将收到的本地处理后的视频流发送回云端,即视频流类消息无需进行Protobuf序列化和反序列化。
综上所述,本发明实施例提供的云边通信系统主要有以下有益效果:
1)能够解决云端调用边缘内网业务服务的问题,实现管理面和业务面的云端统一调度管理:多个插件同时在云端监听管理面事件和业务面事件,各插件将接收到的请求统一封装为既定的Protobuf格式进行转发,不仅支持用户在云端创建业务容器应用并下发到边缘(对应管理面),同时也支持用户在云端调用边缘内网的多种业务服务(对应业务面);其中,业务面通过插件机制支持RESTful、MQTT和视频流等多种协议,例如在云端观看边缘节点处理过的视频流,尤其可解决云边之间网络连接不稳定以及频繁切换等场景下业务调用的问题。
2)能够自定义实现云边消息路由及流转,有效进行业务访问权限控制:各云端消息处理插件对外暴露访问方式,可在云端实现自由配置消息路由规则,例如指定访问某个边缘节点的某个业务端口服务,只有配置的服务可直接在云端访问,未配置的服务无法直接在云端访问,从而实现有效的权限控制。
3)能够实现链路复用,减少海量边缘节点时连接过多的问题:对于单个边缘节点上的业务服务,可通过同一个QUIC通道安全连接,实现多种业务协议封装,例如RESTful接口的HTTP协议封装、MQTT消息封装、视频流协议封装等,同时还能实现管理面和业务面的链路复用,实现单个边缘节点同云端连接的最小化通道,减少连接维护负载。对于云端来说,当有海量边缘节点的连接时能够有效减少系统连接负载,实现更多的边缘节点接入及管理。
4)提高云边数据交互效率:基于QUIC协议的低延迟握手连接以及无队头的多路复用机制,以及Protobuf格式的高效序列化及反序列化的操作,能够提高云边数据传输及解析效率。同时,针对数据块的GZip压缩能够有效减少云边间传输的数据包大小,在边缘弱网环境下能够极大提升云边数据交互效率。
5)能够实现云端统一监控管理边缘全类型业务负载情况:对于每个边缘节点建立的QUIC通道以及QUIC通道中传输的不同类型业务数据,可以开启连接负载监控,实现对云端调用边缘业务的负载监控及告警,侧面感知业务负载压力,可作为边缘业务是否需要扩容或者缩容的参考依据。
6)能够实现云边基于QUIC的安全通信,减少云边易受攻击的不安全连接:具体可在两方面保证云边安全,一是边缘节点上多种类型的业务可通过本地代理(即各种边缘服务代理模块)转发到QUIC通道后再发布到云端,避免在边缘发布例如HTTP等非安全的协议,减少云边连接被攻击的可能性。另一方面,边缘业务服务端口可在节点本地监听,使用本地代理转发至云端,即边缘内网服务的可监听地址为本地回环端口,从而减少边缘业务服务对外暴露的端口,减少边缘节点被攻击的暴露面。
实施例2
为解决云端无法通过统一的入口或服务调用边缘节点上运行的各种业务,无法实现管理面和业务面的云端统一调度管理的技术问题,本发明实施例还提供了一种基于QUIC的Kubernetes云边通信方法,可通过实施例1中的云边通信系统来完成。如图2所示,所述方法主要包括以下步骤:
步骤101,各云端消息处理插件分别在云端监听对应类型的事件,并将各自监听获取的对应类型的请求封装为Protobuf格式转发至云端QUIC协议库模块。
由实施例1可知,为实现管理面和业务面的云端统一调度管理,所述事件包括管理面事件和业务面事件两类,相应地,所述云端消息处理插件也分为管理面插件和业务面插件两类。管理面插件在云端监听管理面事件,并将监听获取的管理类请求封装为Protobuf格式转发至所述云端QUIC协议库模块;其中,所述管理面事件包括Kube-apiserver的资源变更。业务面插件在云端监听业务面事件,并将监听获取的业务类请求转发至所述云端QUIC协议库模块;其中,所述业务面事件包括RESTful接口调用、MQTT消息推送和云端观看直播视频流等,当业务面事件为RESTful接口调用和MQTT消息推送时,需将对应请求封装为Protobuf格式后转发至所述云端QUIC协议库模块。
结合图1,以所述管理面插件采用List-Watch插件,所述业务面插件包括RESTful协议插件、MQTT协议插件和视频流协议插件为例,则该步骤的具体实现过程如下:
所述List-Watch插件实时监听Kube-apiserver的资源变更,并将监听到的消息解析后封装为Protobuf格式转发至所述云端QUIC协议库模块;所述RESTful协议插件实时监听用户发出的RESTful接口调用的请求,并将该请求解析后封装为Protobuf格式转发至所述云端QUIC协议库模块;所述MQTT协议插件实时监听用户发出的MQTT消息推送的请求,并将该请求解析后封装为Protobuf格式转发至所述云端QUIC协议库模块;所述视频流协议插件实时监听用户发出的云端观看直播视频流的请求,并将对应的视频流消息直接转发至所述云端QUIC协议库模块。
步骤102,云端QUIC协议库模块将接收到的Protobuf格式的消息进行压缩,并发送到对应边缘节点的QUIC通道中。
在本发明中,所述云端QUIC协议库模块使用消息队列管理每个边缘节点待发送的消息,则结合图1,该步骤的具体实现过程如下:
所述云端QUIC协议库模块接收到各云端消息处理插件发送来的Protobuf格式的消息后,将接收到的各消息放入对应边缘节点的消息队列中,并根据消息对应的请求类型为各消息创建相应优先级的QUIC流;然后逐个从所述对应边缘节点的消息队列中取出消息并启动GZip压缩,将完成GZip压缩后的消息发送到对应边缘节点的QUIC通道中。其中,所述根据消息对应的请求类型为各消息创建相应优先级的QUIC流具体为:对于所述List-Watch插件发送的管理类请求,创建较高优先级的QUIC流;对于各业务面插件发送的业务类请求,则根据对应的业务优先级创建相应优先级的QUIC流;例如,特定场景下视频类请求的优先级放低,则可为所述视频流协议插件发送来的视频流数据创建优先级较低的QUIC流。
步骤103,边缘QUIC协议库模块从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块。
结合图1给出的系统框架图,该步骤的具体实现过程如下:
所述边缘QUIC协议库模块从QUIC通道中接收到各消息后先进行QUIC流分析,进而获取各消息的QUIC流优先级;然后所述边缘QUIC协议库模块按照QUIC流优先级由高到低的顺序,对各消息进行GZip解压分析,以得到各消息对应的请求类型;最后所述边缘QUIC协议库模块根据解析出的请求类型,将各消息发送到对应的边缘服务代理模块。其中,RESTful类消息对应发送至所述边缘RESTful代理模块,MQTT类消息对应发送至所述边缘MQTT代理模块,视频流类消息对应发送至所述边缘视频流代理模块。
步骤104,各边缘服务代理模块根据各自接收到的消息完成内网请求,并将各自收到的响应封装为Protobuf格式后通过QUIC通道发送回云端。
结合图1给出的系统框架图,该步骤的具体实现过程如下:
所述边缘服务代理模块根据各自接收到的消息进行Protobuf反序列化解析后向边缘应用程序发出相应的内网请求,并接收来自边缘应用程序的响应;然后将各自接收到的响应封装为Protobuf格式,并转发至所述边缘QUIC协议库模块;所述边缘QUIC协议库模块将接收到的响应进行GZip压缩后发送到对应边缘节点的QUIC通道中;所述云端QUIC协议库模块从QUIC通道中接收到Protobuf格式的响应后进行GZip解压分析,并根据解析结果将响应转发至对应的云端消息处理插件,由所述云端消息处理插件对接收到的Protobuf格式的响应进行Protobuf反序列化解析,并返回给发出请求的用户。
其中,所述边缘RESTful代理模块接收RESTful类消息并进行Protobuf反序列化解析,进而根据解析内容向边缘应用程序进行内网请求,然后将收到的响应封装为Protobuf格式发送回云端;所述边缘MQTT代理模块订阅边缘内网MQTT类消息,即接收MQTT类消息并向边缘应用程序进行内网请求,然后将收到的响应封装为Protobuf格式发送回云端;所述边缘视频流代理模块接收视频流类消息并向边缘的IP摄像头进行内网请求,然后将收到的本地处理后的视频流发送回云端。需要注意的是,视频流类消息在发送回云端时无需进行Protobuf序列化和Protobuf反序列化操作,直接转发即可。
本发明实施例提供的上述云边通信方法中,通过多个云端消息处理插件监听管理面事件和业务面事件,并将监听获取的管理类请求和业务类请求统一封装为Protobuf格式,通过对应QUIC通道发送到边缘节点,由各边缘服务代理模块根据接收消息完成内网请求后,将响应封装为Protobuf格式发送回云端。该方案基于QUIC协议建立云边双向通道,并统一用Protobuf格式封装数据,可解决内网隔离问题,使得云端可通过统一接口调用边缘节点上运行的各种业务,有利于实现管理面和业务面的云端统一调度管理,提升云边交互效率。
实施例3
在上述实施例1和实施例2的基础上,本发明实施例进一步以RESTful协议的消息路由实现为例,对Kubernetes云边通信流程进行描述。结合图3,RESTful协议消息的云边通信流程大致如下:
步骤201,云端消息管理组件启动,其中的RESTful协议插件提供程序外部访问的监听地址,开始侦听用户设定的消息路由规则中的路径。
步骤202,用户向RESTful协议插件的监听端点发出请求,所述RESTful协议插件接收到请求后,解析该请求中的消息操作类型、消息体内容等,并封装为Protobuf格式后转发至云端QUIC协议库模块。
步骤203,所述云端QUIC协议库模块将接收到的Protobuf二进制数据放入对应边缘节点的消息队列中,然后逐个从该消息队列中取出消息并开启GZip压缩,将压缩后的消息发送给对应边缘节点的QUIC通道中。
步骤204,所述边缘QUIC协议库模块接收到消息后进行GZip解压,解析出该消息为RESTful类消息,转发给本地的边缘RESTful代理模块。
步骤205,所述边缘RESTful代理模块接收到消息后进行Protobuf反序列化解析,并根据解析出的消息操作类型和消息体内容等,向边缘运行的业务APP发出HTTP请求,并接收来自边缘业务APP的响应。
步骤206,所述边缘RESTful代理模块将接收到的响应封装为Protobuf格式后转发至所述边缘QUIC协议库模块,所述边缘QUIC协议库模块将接收到的Protobuf格式的响应消息进行GZip压缩,并发送到对应边缘节点的QUIC通道中,进而发送回云端。
步骤207,所述云端QUIC协议库模块从QUIC通道中接收到响应消息后进行GZip解压,解析出该响应消息为RESTful类,然后将Protobuf格式的响应消息转发至云端的所述RESTful协议插件。
步骤208,所述RESTful协议插件接收到响应消息后进行Protobuf反序列化解析,并将解析出的响应信息转换为HTTP响应,然后发送回步骤202中发出请求的用户。
上述实施例描述了RESTful协议消息的完整通信过程,而MQTT协议消息和RESTful协议消息都属于文本类消息,对应的云边通信流程类似,具体过程可参考图3和上述对RESTful协议消息的描述,在此不做赘述。
实施例4
在上述实施例1和实施例2的基础上,本发明实施例以所述管理面插件采用List-Watch插件,所述业务面插件包括RESTful协议插件、MQTT协议插件和视频流协议插件为例,则结合图1和图4,完整的Kubernetes云边通信过程如下:
步骤301,云端启动云端消息管理组件,同时启动相应的云端消息处理插件和云端QUIC协议库模块。其中,这里启动的云端消息处理插件包括List-Watch插件、RESTful协议插件、MQTT协议插件和视频流协议插件。
步骤302,云端QUIC协议库模块启动QUIC服务端,并使用消息队列管理每个边缘节点客户端的连接。
步骤303,完成各云端消息处理插件在云端的注册,默认分别在云端注册并启动管理面的List-Watch插件以及业务面的RESTful协议插件、MQTT协议插件和视频流协议插件。当然,还可以按照既定的接口实现更多类型的插件注册。其中,业务面插件的通用方法为从云端QUIC协议库接收或者发送Protobuf二进制数据,管理面插件服务监听Kube-apiserver中Kubernetes资源的变化并封装消息。
步骤304,各云端消息处理插件各自在云端监听对应的事件,并将各自监听获取的对应请求封装为Protobuf格式转发至云端QUIC协议库模块。其中,结合图4,各云端消息处理插件的主要实现逻辑如下:
在管理面,List-Watch插件监听到Kube-apiserver的资源变化后,将监听结果封装为Protobuf格式转发至所述云端QUIC协议库模块。
在业务面,RESTful协议插件暴露web服务,当监听到用户发出的RESTful接口调用的请求后,将该请求封装为Protobuf格式转发至所述云端QUIC协议库模块;MQTT协议插件监听到用户发出的MQTT消息推送的请求后,将该请求封装为Protobuf格式转发至所述云端QUIC协议库模块;视频流协议插件对外暴露视频流服务,当监听到用户发出的云端观看直播视频流的请求后,直接将对应的视频流消息转发至云端QUIC协议库模块。
步骤305,云端QUIC协议库模块根据各云端消息处理插件发送的Protobuf格式消息创建相应优先级的QUIC流,并进行GZip压缩后发送到对应边缘节点的QUIC通道中。
其中,对于所述List-Watch插件发送的管理类请求,可创建较高优先级的QUIC流;对于其余三个业务面插件发送的业务类请求,可根据对应的业务优先级创建相应优先级的QUIC流,以便在边缘节点按照QUIC流的优先级高低按顺序处理各请求。
步骤306,边缘QUIC协议库模块从QUIC通道中取出消息并解析,然后转发到不同的边缘服务代理模块。
具体地,所述边缘QUIC协议库模块从QUIC通道中取出消息后先进行QUIC流分析,然后按照QUIC流优先级由高到低的顺序对各消息进行GZip解压分析,以便根据解析出的请求类型将消息发送到对应的边缘服务代理模块。其中,RESTful类消息对应发送至所述边缘RESTful代理模块,MQTT类消息对应发送至所述边缘MQTT代理模块,视频流类消息对应发送至所述边缘视频流代理模块;管理类请求则是在边缘默认集成,主要是对边缘容器的生命周期管理操作,无需设置对应的边缘服务代理模块。
步骤307,各边缘服务代理模块解析消息并请求内网的后端服务,即向边缘应用程序发出内网请求,收到边缘应用程序的响应后封装为Protobuf格式转发到边缘QUIC协议库模块。
其中,所述边缘RESTful代理模块将RESTful类消息的响应封装为Protobuf格式转发到边缘QUIC协议库模块,所述边缘MQTT代理模块将MQTT类消息的响应封装为Protobuf格式转发到边缘QUIC协议库模块,所述边缘视频流代理模块则直接将视频流类消息的响应(即视频流数据)转发至边缘QUIC协议库模块,无需进行Protobuf封装。
步骤308,边缘QUIC协议库模块收到响应后压缩并转发至QUIC通道。
步骤309,云端QUIC协议库模块从QUIC通道中接收到响应后转发至对应的云端消息处理插件,由云端消息处理插件返回用户。
其中,所述云端QUIC协议库模块从QUIC通道中接收到响应消息后先进行GZip解压分析,然后根据解析出的类型进行消息转发:如果是RESTful类消息的响应,则转发至RESTful协议插件,由所述RESTful协议插件对响应消息进行Protobuf反序列化解析后返回给发出请求的用户;如果是MQTT类消息的响应,则转发至MQTT协议插件,由所述MQTT对响应消息进行Protobuf反序列化解析后返回给发出请求的用户;如果是视频流类消息的响应,则转发至视频流协议插件,由视频流协议插件将响应返回给发出请求的用户。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种基于QUIC的Kubernetes云边通信系统,其特征在于,包括设于云端的云端消息管理组件和设于每个边缘节点的边缘消息管理组件,每个边缘消息管理组件通过一个QUIC通道与所述云端消息管理组件连接;
其中,所述云端消息管理组件包括云端QUIC协议库模块和多个云端消息处理插件,所述边缘消息管理组件包括边缘QUIC协议库模块和多个边缘服务代理模块;
所述多个云端消息处理插件分为管理面插件和业务面插件,所述管理面插件用于在云端监听管理面事件,并将监听获取的管理类请求封装为Protobuf格式转发至所述云端QUIC协议库模块,所述业务面插件用于在云端监听业务面事件,并将监听获取的业务类请求封装为Protobuf格式转发至所述云端QUIC协议库模块,由所述云端QUIC协议库模块将接收到的消息压缩并发送到对应边缘节点的QUIC通道中;
所述边缘QUIC协议库模块从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块,由所述边缘服务代理模块根据接收到的消息完成内网请求,并将收到的响应封装为Protobuf格式发送回云端。
2.如权利要求1所述的基于QUIC的Kubernetes云边通信系统,其特征在于,所述云端QUIC协议库模块使用消息队列管理每个边缘节点待发送的消息,当接收到各云端消息处理插件发送来的消息后,所述云端QUIC协议库模块将接收到的各消息放入对应边缘节点的消息队列中;其中,所述云端QUIC协议库模块包括云端流优先级模块和云端GZip压缩/解压模块;
所述云端流优先级模块用于根据消息对应的请求类型,为各云端消息处理插件发送来的消息创建相应优先级的QUIC流;
所述云端GZip压缩/解压模块用于逐个从消息队列中取出消息并启动GZip压缩,将完成GZip压缩后的消息发送到对应边缘节点的QUIC通道中;同时将接收到的响应进行GZip解压,并根据请求类型将响应转发至对应的云端消息处理插件。
3.如权利要求2所述的基于QUIC的Kubernetes云边通信系统,其特征在于,所述边缘QUIC协议库模块包括边缘流优先级模块和边缘GZip解压/压缩模块;
所述边缘流优先级模块用于对从QUIC通道中接收到的各消息进行QUIC流优先级分析,并按照QUIC流优先级由高到低的顺序将各消息发送给所述边缘GZip解压/压缩模块;
所述边缘GZip解压/压缩模块用于对从QUIC通道中接收到的消息进行GZip解压分析处理,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块;同时将接收到的响应进行GZip压缩,并转发至对应边缘节点的QUIC通道中返回云端。
4.一种基于QUIC的Kubernetes云边通信方法,其特征在于,包括:
管理面插件在云端监听管理面事件,并将监听获取的管理类请求封装为Protobuf格式转发至所述云端QUIC协议库模块;其中,所述管理面事件包括Kube-apiserver的资源变更,业务面插件在云端监听业务面事件,并将监听获取的业务类请求转发至所述云端QUIC协议库模块;其中,当所述业务面事件为RESTful接口调用和MQTT消息推送时,需将对应请求封装为Protobuf格式后转发至所述云端QUIC协议库模块;云端QUIC协议库模块将接收到的Protobuf格式的消息进行压缩,并发送到对应边缘节点的QUIC通道中;
边缘QUIC协议库模块从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块;
各边缘服务代理模块根据各自接收到的消息完成内网请求,并将各自收到的响应封装为Protobuf格式后通过QUIC通道发送回云端。
5.根据权利要求4所述的基于QUIC的Kubernetes云边通信方法,其特征在于,所述云端QUIC协议库模块通过消息队列管理待发送到每个边缘节点的消息,则所述云端QUIC协议库模块将接收到的Protobuf格式的消息进行压缩,并发送到对应边缘节点的QUIC通道中,具体为:
所述云端QUIC协议库模块将接收到的Protobuf格式的各消息放入对应边缘节点的消息队列中,并根据消息对应的请求类型为各消息创建相应优先级的QUIC流;
逐个从所述对应边缘节点的消息队列中取出消息并启动GZip压缩,将完成GZip压缩后的消息发送到对应边缘节点的QUIC通道中。
6.根据权利要求5所述的基于QUIC的Kubernetes云边通信方法,其特征在于,所述边缘QUIC协议库模块从QUIC通道中接收消息后进行解压分析,并根据解析出的请求类型将消息转发到对应的边缘服务代理模块,具体为:
所述边缘QUIC协议库模块从QUIC通道中接收到各消息后进行QUIC流分析,进而获取各消息的QUIC流优先级;
所述边缘QUIC协议库模块按照QUIC流优先级由高到低的顺序,对各消息进行GZip解压分析,得到各消息对应的请求类型;
所述边缘QUIC协议库模块根据解析出的请求类型,将各消息发送到对应的边缘服务代理模块。
7.根据权利要求4所述的基于QUIC的Kubernetes云边通信方法,其特征在于,所述各边缘服务代理模块根据各自接收到的消息完成内网请求,并将各自收到的响应封装为Protobuf格式后通过QUIC通道发送回云端,具体为:
所述边缘服务代理模块根据各自接收到的消息进行解析后,向边缘应用程序发出相应的内网请求,并接收来自边缘应用程序的响应;
所述边缘服务代理模块将各自接收到的响应封装为Protobuf格式,并转发至所述边缘QUIC协议库模块;
所述边缘QUIC协议库模块将接收到的响应进行GZip压缩后发送到对应边缘节点的QUIC通道中,进而返回云端。
8.根据权利要求7所述的基于QUIC的Kubernetes云边通信方法,其特征在于,在所述边缘QUIC协议库模块将接收到的响应进行GZip压缩后发送到对应边缘节点的QUIC通道中之后,所述方法还包括:
所述云端QUIC协议库模块从QUIC通道中接收到响应后进行GZip解压分析,并根据解析结果将响应转发至对应的云端消息处理插件,由所述云端消息处理插件对接收到的Protobuf格式的响应进行Protobuf反序列化。
CN202110037062.XA 2021-01-12 2021-01-12 一种基于QUIC的Kubernetes云边通信系统与方法 Active CN112769938B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110037062.XA CN112769938B (zh) 2021-01-12 2021-01-12 一种基于QUIC的Kubernetes云边通信系统与方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110037062.XA CN112769938B (zh) 2021-01-12 2021-01-12 一种基于QUIC的Kubernetes云边通信系统与方法

Publications (2)

Publication Number Publication Date
CN112769938A CN112769938A (zh) 2021-05-07
CN112769938B true CN112769938B (zh) 2022-08-23

Family

ID=75701608

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110037062.XA Active CN112769938B (zh) 2021-01-12 2021-01-12 一种基于QUIC的Kubernetes云边通信系统与方法

Country Status (1)

Country Link
CN (1) CN112769938B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112995348B (zh) * 2021-05-12 2021-09-07 北京金山云网络技术有限公司 物联网设备的控制方法、装置、系统
CN113111374B (zh) * 2021-05-13 2022-09-23 上海交通大学 一种端边云的工业微服务系统、数据交互方法及介质
CN113296979B (zh) * 2021-05-13 2022-10-14 中国人民解放军军事科学院战争研究院 一种虚幻引擎与外部程序的数据通信方法
CN113691497A (zh) * 2021-07-13 2021-11-23 之江实验室 一种基于KubeEdge和EdgeOS的物联网设备控制架构和方法
CN113794752B (zh) * 2021-08-23 2024-02-20 哈尔滨工业大学 一种基于quic优化mqtt的方法
CN113765718B (zh) * 2021-09-10 2023-06-09 烽火通信科技股份有限公司 一种面向quic协议的测试拓扑构建方法及装置
CN114826869B (zh) * 2022-03-04 2023-11-28 阿里巴巴(中国)有限公司 设备管理方法和设备管理系统
CN114615321B (zh) * 2022-03-25 2024-03-12 度小满科技(北京)有限公司 流量处理方法和装置
CN114938378B (zh) * 2022-04-22 2023-06-27 新华智云科技有限公司 一种基于kubernetes的资源过滤方法、系统、设备及存储介质
CN114979144B (zh) * 2022-05-19 2023-10-31 中国电信股份有限公司 云边通信方法、装置及电子设备
CN115225630A (zh) * 2022-07-19 2022-10-21 浪潮云信息技术股份公司 一种边缘计算场景下的云边消息通信方法
CN115361388B (zh) * 2022-10-20 2023-04-11 阿里巴巴(中国)有限公司 一种边缘云计算系统中的资源调度方法及装置
CN115442374B (zh) * 2022-11-07 2023-03-31 阿里巴巴(中国)有限公司 信令传输方法及设备
CN117579700B (zh) * 2024-01-11 2024-04-02 中国人民解放军国防科技大学 基于消息队列的通用型微服务处理方法、系统和设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302771A (zh) * 2016-08-23 2017-01-04 浪潮电子信息产业股份有限公司 一种基于Docker容器创建的应用的域名配置方法
CN108304226A (zh) * 2017-12-28 2018-07-20 天津麒麟信息技术有限公司 一种Linux下自动处理异常的任务栏插件式加载方法
CN112073461A (zh) * 2020-08-05 2020-12-11 烽火通信科技股份有限公司 一种基于云边协同的工业互联网系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180088926A1 (en) * 2016-09-27 2018-03-29 Ca, Inc. Container image management using layer deltas
US11153405B2 (en) * 2019-04-08 2021-10-19 Red Hat, Inc. Transparent pattern processing in a service mesh
CN112003924A (zh) * 2020-08-20 2020-11-27 浪潮云信息技术股份公司 一种面向工业互联网的边缘云平台搭建方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106302771A (zh) * 2016-08-23 2017-01-04 浪潮电子信息产业股份有限公司 一种基于Docker容器创建的应用的域名配置方法
CN108304226A (zh) * 2017-12-28 2018-07-20 天津麒麟信息技术有限公司 一种Linux下自动处理异常的任务栏插件式加载方法
CN112073461A (zh) * 2020-08-05 2020-12-11 烽火通信科技股份有限公司 一种基于云边协同的工业互联网系统

Also Published As

Publication number Publication date
CN112769938A (zh) 2021-05-07

Similar Documents

Publication Publication Date Title
CN112769938B (zh) 一种基于QUIC的Kubernetes云边通信系统与方法
US11265218B2 (en) Configuration management method and apparatus, and device
US10708360B2 (en) Method for transport agnostic communication between internet of things client and broker
US11070456B2 (en) Methods to monitor resources through HTTP/2
CN113722077B (zh) 数据处理方法、系统、相关设备、存储介质及产品
CN112104754B (zh) 网络代理方法、系统、装置、设备及存储介质
US7979521B2 (en) Method and system for relocating and using enterprise management tools in a service provider model
WO2014180407A1 (zh) 推送方法及装置
CN112671697B (zh) 综合监控系统的数据处理方法、装置和系统
US9998299B2 (en) Efficient transport of encapsulated media traffic over restrictive networks
CN107332857B (zh) 一种网络数据传输方法、装置、系统和存储介质
Tortonesi et al. Enabling the deployment of COTS applications in tactical edge networks
CN103002049A (zh) 一种大数据量数据的网络传输系统
CN112134791A (zh) 一种智能网络链路监控及切换的综合路由网关
Azzara et al. The icsi m2m middleware for iot-based intelligent transportation systems
KR102094041B1 (ko) IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템
Yang et al. Research and Design of a Real-Time Interactive Application Development Model Based on the android Platform
CN111083215B (zh) 会话信息同步方法、装置、设备、系统及存储介质
CN113973105A (zh) 一种简化服务总线上soap消息的系统及方法
CN114051030A (zh) 通讯方法、通讯装置、智慧社区系统和存储介质
CN100375464C (zh) 网络互连时各终端的数据通信方法
US11570257B1 (en) Communication protocol, and a method thereof for accelerating artificial intelligence processing tasks
CN115361262B (zh) 一种传输设备性能文件ftp上报的实现方法和系统
CN114666640B (zh) 一种边缘网关接入服务器
CN114363092B (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