一种基于云原生的云边协同数据交换服务实现方法及系统技术方案

技术编号:34635194 阅读:14 留言:0更新日期:2022-08-24 15:08
本发明专利技术公开了一种基于云原生的云边协同数据交换服务实现方法及系统,属于云计算与边缘计算的云边协同技术领域,用Kubernetes扩展技术中的CRD的方式定义云边协同数据交换资源CECO,CECO统一了不同数据类型的云边数据交换,使用者可以用统一的方式通过提交YAML文件声明式的申请各种云边数据交换服务;利用operator模式实现CRD控制器,负责根据CRD CECO的对象期望状态,在云端与边缘端部署容器化的相应数据同步组件,所述CRD控制器可以根据不同类型数据同步需求,自动化部署相应的数据同步组件。本发明专利技术既方便用户统一申请和使用云边数据交换服务,又方便云服务商提供和运维云边数据交换服务。云边数据交换服务。云边数据交换服务。

【技术实现步骤摘要】
一种基于云原生的云边协同数据交换服务实现方法及系统


[0001]本专利技术涉及云计算与边缘计算的云边协同
,具体地说是一种基于云原生的云边协同数据交换服务实现方法及系统。

技术介绍

[0002]云边协同是边缘计算领域的重要组成部分,可分为资源协同、数据协同、服务协同等层次。数据协同是云边协同的基础能力,指数据在边缘与云之间可控有序流动,形成完整的数据流转路径,高效低成本对数据进行生命周期管理。目前在解决云边之间的数据交换的问题时,都是根据不同数据类型独立处理的,且使用方式也不相同,如云边间消息型数据的交换,使用者通常需要通过软件包SDK,以编写代码的方式在云端和边缘端的两个应用中实现消息传递;又如云边间文件型数据的交换,需要在云端和边缘端安装或者部署相应的同步服务组件,才能实现文件同步;流数据交换则更为复杂,需要部署多个组件完成。这种分离的数据交换的实现方式,使得用户使用起来很不方便,代码侵入性高,部署方式复杂且不易维护,弹性伸缩困难,不利于发挥云计算能力,不利于云厂商为用户提供服务。

技术实现思路

[0003]本专利技术的技术任务是针对以上不足之处,提供一种基于云原生的云边协同数据交换服务实现方法及系统,既方便用户统一申请和使用云边数据交换服务,又方便云服务商提供和运维云边数据交换服务。
[0004]本专利技术解决其技术问题所采用的技术方案是:
[0005]一种基于云原生的云边协同数据交换服务实现方法,用云原生标准化的方式统一定义了不同种类的云边数据交换的需求,用Kubernetes扩展技术中的CRD(Custom Resource Definition)的方式定义云边协同数据交换资源CECO,CECO统一了不同数据类型的云边数据交换,使用者可以用统一的方式通过提交YAML文件声明式的申请各种云边数据交换服务;
[0006]利用operator模式实现CRD控制器ceco controller,负责根据CRD CECO的对象期望状态,在云端与边缘端部署容器化的相应数据同步组件,所述CRD控制器可以根据不同类型数据同步需求,自动化部署相应的数据同步组件,并持续的维护各数据同步组件以达到CECO的对象的期望状态。
[0007]本方法使云边数据交换形成一个统一的云原生化的服务,云厂商可以方便的提供云边数据交换服务,用户在申请云边数据交换服务时,只需按照云原生的方式,用Yaml格式声明式的提交服务请求,而不必关心所需数据同步组件的部署细节,可以用统一的方式申请云边消息、云边文件、流数据等各种数据交换服务。这种方法能够充分发挥Kubernetes的容器编排调度能力,非常方便的在大量边缘端(边缘节点)上部署服务,特别适合边缘计算场景,并能充分发挥云计算的弹性伸缩能力,是一个既方便用户使用,又方便云服务商提供和运维云边数据交换服务产品的实现方法。
[0008]优选的,所述不同数据类型包括消息协同、文件协同、流数据协同、数据库协同数据类型。
[0009]优选的,声明式的数据交换服务的定义方式如下:
[0010]通过CRD技术把云边数据交换定义成客户资源,以相同模板形式定义不同的数据交换类型的CRD资源;
[0011]创建好定制资源CRD后,将CRD注册到kubernetes系统中,Kubernetes API服务器会为所指定的CRD生成一个RESTful的资源路径,此端点URL可以用来创建和管理定制资源对象,Kubernetes API负责为定制资源提供存储和访问服务。
[0012]进一步的,消息协同服务的定义,通过deployType定义部署方式,采用DaemonSet的方式部署消息同步组件到各个节点,便于以订阅

分发的形式,发送和接收消息;通过mqType选择支持数据交换服务的消息队列类型;
[0013]文件协同的服务定义,通过deployType定义部署方式,通过Reader定义文件的同步源路径;通过Writer定义文件的同步目的路径;通过dataSliceSize定义采集文件源时的分片大小,通过threadNum定义并发任务数。
[0014]使用云原生消息中间件NATS作为传输载体,也可以根据需求使用Kafka,RocketMQ消息中间件。
[0015]优选的,所述ceco controller基于kubebuilder框架实现,实现逻辑包括:
[0016]1)、ceco controller通过API Server获取云边协同数据交换资源;
[0017]2)、将不同种类的数据协同服务请求分发到相应的处理模块,由专用模块完成相应数据交换组件的云原生化部署工作;
[0018]3)、对于不同类型数据交换请求通过不同模块进行处理,通过CECO CRD自定义资源和ceco controller资源控制器实现对数据交换服务的统一的云原生形式的访问和使用方式,统一的云原生形式的运维管理方式;
[0019]4)、云原生的方式实现配置变更:对数据交换服务的配置变更请求也是通过声明式的Yaml文件方式实现,通过API server对数据交换资源对象的属性进行变更,利用kubebuilder的reflector机制,ceco controller可以获知资源对象的属性变化,然后执行相应的部署变更操作,直到工作负载到达期望的状态;
[0020]5)、云原生的方式实现滚动升级:通过ceco controller根据服务版本的变化信息,平稳有序的完成新版本负载(数据交换服务组件)的创建和旧版本负载(数据交换服务组件)的终止,无论是云端节点还是边缘端节点都可以通过ceco controller进行更新升级,实现云边协同的管控。
[0021]进一步的,所述对于不同类型数据交换请求通过不同模块进行处理,
[0022]对于消息协同类数据交换请求,由MessageSync模块处理,用户申请消息协同类的数据交换服务请求时,对应创建MessageSync资源对象,模块会解析MessageSync资源对象的各个属性值及服务请求的配置,然后根据配置信息自动的通过APIserver完成在相应数据交换组件的部署,具体部署何种形式的工作负载资源由deployType指定,从而实现云原生方式的部署与管控;
[0023]文件协同类数据交换请求由FileSync模块处理,可采用相同的方式实现,给使用者统一的访问体验;
[0024]流数据类型数据交换请求由StreamSync模块处理,能完成对接RTSP/RTMP协议的数据交换组件的部署需求;
[0025]数据库同步类型的服务由DB Sync模块完成必要组件的部署。
[0026]优选的,云边协同的消息型数据交换服务,ceco controller根据服务请求采用DaemonSet方式在所有的边缘节点上部署所需的Leaf Node消息组件(NATS消息系统)和消息服务代理组件,Leaf Node消息组件通过云端的ceco controller以Daemo本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于云原生的云边协同数据交换服务实现方法,其特征在于,用Kubernetes扩展技术中的CRD的方式定义云边协同数据交换资源CECO,CECO统一了不同数据类型的云边数据交换,使用者可以用统一的方式通过提交YAML文件声明式的申请各种云边数据交换服务;利用operator模式实现CRD控制器,负责根据CRD CECO的对象期望状态,在云端与边缘端部署容器化的相应数据同步组件,所述CRD控制器可以根据不同类型数据同步需求,自动化部署相应的数据同步组件,并持续的维护各数据同步组件以达到CECO的对象的期望状态。2.根据权利要求1所述的一种基于云原生的云边协同数据交换服务实现方法,其特征在于,所述不同数据类型包括消息协同、文件协同、流数据协同、数据库协同数据类型。3.根据权利要求1或2所述的一种基于云原生的云边协同数据交换服务实现方法,其特征在于,声明式的数据交换服务的定义方式如下:通过CRD技术把云边数据交换定义成客户资源,以相同模板形式定义不同的数据交换类型的CRD资源;创建好定制资源CRD后,将CRD注册到kubernetes系统中,Kubernetes API服务器会为所指定的CRD生成一个RESTful的资源路径,此端点URL可以用来创建和管理定制资源对象,Kubernetes API负责为定制资源提供存储和访问服务。4.根据权利要求3所述的一种基于云原生的云边协同数据交换服务实现方法,其特征在于消息协同服务的定义,通过deployType定义部署方式,采用DaemonSet的方式部署消息同步组件到各个节点,便于以订阅

分发的形式,发送和接收消息;通过mqType选择支持数据交换服务的消息队列类型;文件协同的服务定义,通过deployType定义部署方式,通过Reader定义文件的同步源路径;通过Writer定义文件的同步目的路径;通过dataSliceSize定义采集文件源时的分片大小,通过threadNum定义并发任务数。使用云原生消息中间件NATS作为传输载体,也可以根据需求使用Kafka,RocketMQ消息中间件。5.根据权利要求4所述的一种基于云原生的云边协同数据交换服务实现方法,其特征在于所述ceco controller基于kubebuilder框架实现,实现逻辑包括:1)、ceco controller通过API Server获取云边协同数据交换资源;2)、将不同种类的数据协同服务请求分发到相应的处理模块,由专用模块完成相应数据交换组件的云原生化部署工作;3)、对于不同类型数据交换请求通过不同模块进行处理,通过CECO CRD自定义资源和ceco controller资源控制器实现对数据交换服务的统一的云原生形式的访问和使用方式,统一的云原生形式的运维管理方式;4)、云原生的方式实现配置变更:对数据交换服务的配置变更请求也是通过声明式的Yaml文件方式实现,通过API server对数据交换资源对象的属性进行变更,利用kubebuilder的reflector机制,ceco controller可以获知资源对象的属性变化,然后执行相应的部署变更操作,直到工作负载到达期望的状态;5)、云原生的方式实现滚动升级:通过ceco controller根据服务版本的变化信息,平
稳有序的完成新版本负载的创建和旧版本负载的终止,无论是云端节点还是边缘端节点都可以通过ceco controller进行更新升级,实现云边协同的管控。6.根据权利要求5所述的一种基于云原生的云边协同数据交换服务实现方法,其特征在于,所述对于...

【专利技术属性】
技术研发人员:罗天高传集江燕
申请(专利权)人:浪潮云信息技术股份公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1