CN115686841A - 基于服务网格的数据处理、资源管理方法、装置、及*** - Google Patents
基于服务网格的数据处理、资源管理方法、装置、及*** Download PDFInfo
- Publication number
- CN115686841A CN115686841A CN202211312250.XA CN202211312250A CN115686841A CN 115686841 A CN115686841 A CN 115686841A CN 202211312250 A CN202211312250 A CN 202211312250A CN 115686841 A CN115686841 A CN 115686841A
- Authority
- CN
- China
- Prior art keywords
- resource
- data processing
- service grid
- service
- resource object
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例提供了一种基于服务网格的数据处理、资源管理方法及装置。服务网格包括服务网格控制面以及服务网格数据面,服务网格数据面中设置有至少一个数据面集群;基于服务网格的资源管理方法用于服务网格控制面中,包括:从服务网格控制面或者服务网格数据面获取资源对象;针对不同类型的资源对象,分别配置相应的资源对象元数据;将资源对象元数据下发至服务网格数据面中的数据面集群中。使得资源对象可以实际存储于服务网格控制面中,资源对象的管理可以与集群的管理解耦,且不会出现不同集群中资源对象数据不一致的情况。同时用户可以在保持自己原有的使用习惯,基于资源对象元数据,实现在数据面集群中对资源对象进行管理。
Description
技术领域
本发明涉及云计算技术领域,特别是涉及基于服务网格的数据处理、资源管理方法、装置、及***。
背景技术
作为一个云计算环境中的架构,服务网格(Service Mesh)是指用于微服务应用管理的可配置的基础架构层。服务网格可以分为控制面以及数据面,控制面通常可以用于管理应用配置及规则。通过下发配置,控制数据面执行不同的任务,实现多种需求支持。数据面通常可以用于处理应用数据请求,其可以设置有多个集群,每一集群可以用于实现不同的功能。
一般来说,用户为了实现自身所需要的功能,可以在集群中配置资源对象。但是若网格中的集群增加或删除,则集群中的资源对象也需要相应地重新部署或者删除,使得资源对象的生命周期与集群的生命周期相关联;若资源对象进行了修改,则需要分别对不同的集群中的资源对象进行相应的修改,否则可能出现数据不一致的情况,导致资源对象管理不便。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种基于服务网格的数据处理方法、一种基于服务网格的资源管理方法、和一种基于服务网格的数据处理装置、一种基于服务网格的资源管理装置、一种基于服务网格的资源管理***、一种电子设备、以及一种机器可读介质。
为了解决上述问题,本发明实施例公开了一种基于服务网格的资源管理方法,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述方法应用于服务网格控制面中,包括:
从所述服务网格控制面或者服务网格数据面获取资源对象;
针对不同类型的所述资源对象,分别配置相应的资源对象元数据;
将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。
可选地,所述从所述服务网格控制面或者服务网格数据面获取资源对象的步骤,包括:
从服务网格控制面或者服务网格数据面获取数据处理请求;
生成所述数据处理请求相对应的资源对象。
可选地,所述方法还包括:
将所述资源对象存储于所述服务网格控制面中预设的存储空间中。
可选地,所述方法还包括:
接收所述服务网格数据面发送的数据处理请求;
基于所述数据处理请求,对所述数据处理请求对应的资源对象进行相应的数据处理。
可选地,所述资源对象元数据记载有所述资源对象的资源组信息以及版本信息。
本发明实施例还公开了一种基于服务网格的数据处理方法,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述方法应用于数据面集群中,包括:
获取用户发送的数据处理请求;
基于预设的资源对象元数据确定所述数据处理请求的目标路径;其中,所述目标路径为所述数据处理请求对应的资源对象的访问路径;所述资源对象元数据从服务网格控制面获取得到;
基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
可选地,所述获取用户发送的数据处理请求的步骤,包括:
检测用户针对所述数据面集群中资源对象发出的数据处理请求;
若检测到所述数据处理请求,拦截所述数据处理请求。
可选地,所述基于预设的资源对象元数据确定所述数据处理请求的目标路径的步骤,包括:
从预设的资源对象元数据获取资源对象的资源组信息以及版本信息;
采用所述资源组信息以及所述版本信息,确定所述数据处理请求对应的资源对象的目标路径。
本发明实施例公开了一种基于服务网格的资源管理装置,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述装置应用于服务网格控制面中,包括:
资源获取模块,用于从所述服务网格控制面或者服务网格数据面获取资源对象;
元数据配置模块,用于针对不同类型的所述资源对象,分别配置相应的资源对象元数据;
元数据下发模块,用于将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。
可选地,所述资源获取模块包括:
获取子模块,用于从服务网格控制面或者服务网格数据面获取数据处理请求;
对象生成子模块,用于生成所述数据处理请求相对应的资源对象。
可选地,所述装置还包括:
存储模块,用于将所述资源对象存储于所述服务网格控制面中预设的存储空间中。
本发明实施例还公开了一种基于服务网格的数据处理装置,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述装置应用于数据面集群中,包括:
请求获取模块,用于获取用户发送的数据处理请求;
路径确定模块,用于基于预设的资源对象元数据确定所述数据处理请求的目标路径;其中,所述目标路径为所述数据处理请求对应的资源对象的访问路径;所述资源对象元数据从服务网格控制面获取得到;
转发模块,用于基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
可选地,所述请求获取模块包括:
请求检测子模块,用于检测用户针对所述数据面集群中资源对象发出的数据处理请求;
拦截子模块,用于若检测到所述数据处理请求,拦截所述数据处理请求。
可选地,所述路径确定模块包括:
信息提取子模块,用于从预设的资源对象元数据获取资源对象的资源组信息以及版本信息;
路径确定子模块,用于采用所述资源组信息以及所述版本信息,确定所述数据处理请求对应的资源对象的目标路径。
本发明实施例还公开了一种基于服务网格的资源管理***,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述服务网格控制面包括第一资源控制器、资源存储器、数据生成器;所述数据面集群包括资源注册器、第二资源控制器;
所述第一资源控制器用于从所述服务网格控制面获取资源对象,并将所述资源对象存储于资源存储器中;
所述元数据生成器用于针对不同类型的所述资源对象,分别配置相应的资源对象元数据,将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中;
所述资源注册器用于接收所述元数据生成器下发的资源对象元数据,并将所述资源对象元数据注册至所述第二资源控制器;
所述第二资源控制器用于获取用户发送的数据处理请求;基于所述资源对象元数据确定所述数据处理请求的目标路径;基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
可选地,所述服务网格数据面还包括资源聚集器;所述数据面集群还包括资源转发器;
若所述数据处理请求用于生成资源对象,所述第二资源控制器具体用于将所述数据处理请求发送至所述资源转发器;
所述资源转发器用于将所述数据处理请求转发至资源聚集器;
所述资源聚集器用于将所述数据处理请求发送至第一资源控制器;
所述第一资源控制器用于基于所述数据处理请求生成资源对象,并将所述资源对象存储至资源存储器中。
本发明实施例还公开了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如本发明实施例任一项所述的的方法。
本发明实施例还公开了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如任一项所述的一个或多个的方法。
本发明实施例包括以下优点:
通过本发明实施例的基于服务网格的资源管理方法,从所述服务网格控制面或者服务网格数据面获取资源对象;针对不同类型的所述资源对象,分别配置相应的资源对象元数据;将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。使得资源对象可以实际存储于服务网格控制面中,资源对象的管理可以与集群的管理解耦,且不会出现不同集群中资源对象数据不一致的情况。同时用户可以在保持自己原有的使用习惯,基于资源对象元数据,实现在数据面集群中对资源对象进行管理。
附图说明
图1是本发明实施例的一种服务网格示意图;
图2是本发明实施例的一种基于服务网格的资源管理方法实施例的步骤流程图;
图3是本发明实施例的一种基于服务网格的数据处理方法实施例的步骤流程图;
图4是本发明实施例的基于服务网格的资源管理***的示意图;
图5是本发明实施例的一种基于服务网格的资源管理装置实施例的结构框图;
图6是本发明实施例的一种基于服务网格的数据处理装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
容器服务(Container Service)提供了高性能可伸缩的容器应用管理服务,支持在一组云服务器上通过容器来进行应用生命周期管理。容器服务极大简化了用户对容器管理集群的搭建工作,无缝整合了虚拟化、存储、网络和安全能力,构造了云端最优化的运行环境。在容器服务中,可以使用服务网格(Service Mesh)实现多个集群统一流量管理,为容器和虚拟机应用服务提供一致性的通信控制。
具体而言,服务网格是指用于微服务应用管理的可配置的基础架构层,常用于描述构成应用程序的服务(如微服务)以及各个服务之间的交互。服务网格一般由控制面和数据面组成。其中,服务网格控制面是一组在一个专用的命名空间中运行的服务,这些服务用于完成一些控制管理功能,如聚合遥测数据、提供面向用户的应用程序接口(ApplicationProgramming Interface,API)、向数据平面提供控制数据等;而服务网格数据面是由一系列运行在每个服务实例旁边的透明代理构成。
一般来说,为了便于用户对集群进行管理,服务网格可以提供托管模式。在托管模式下,服务网格可以配置至少一个托管实例。服务网格中的资源对象可以部署于托管实例中。运行托管实例的平台可以提供高可用保证,较难因为用户的集群故障而导致服务网格整体出现异常。
但是,用户通常习惯从自己的集群中运行资源对象,在托管模式下,由于资源对象位于托管实例中,用户无法简单地在自己的集群中管理资源对象,导致用户的使用习惯被破坏,用户体验不佳。
本发明实施例的核心构思之一在于,通过在服务网格控制面中存储资源对象,并生成资源对象相对应的资源对象元数据下发至服务网格数据面中的各集群。在用户需要使用托管模式或者其他模式对资源对象进行管理时,可以保持原有的行为习惯,在自己的集群中对资源对象进行操作。而服务网格基于用户的操作以及集群中的资源对象元数据,对服务网格控制面中的资源对象进行相应的操作,从而实现不同的功能或者对资源对象的管理。同时资源对象实际存储于服务网格控制面中,使得资源对象的生命周期管理和集群的生命周期管理解耦。并且,多个集群中对资源对象的操作皆针对服务网格控制面中的资源对象,不会出现不同集群中的资源对象数据不一致的情况。
参照图1,示出了本发明实施例的一种服务网格100的示意图。该服务网格可以主要用于方便多个微服务之间进行安全和可靠的通信,微服务是指将应用程序分解为多个较小的服务或者实例,并分布在不同的集群/机器上运行。其中,集群可以指一组用于运行容器化应用的节点计算机,集群中可以包含至少一个容器(Pod)。
微服务可以包括应用服务实例A以及应用服务示例B,应用服务实例A和应用服务实例B形成服务网格600的服务网格应用面。在一种实施方式中,应用服务实例A以容器/进程的形式运行在机器/工作负载容器组108,应用服务实例B以容器/进程的形式运行在机器/工作负载容器组110。
应用服务实例A和网格代理(sidecar)101共存于机器/工作负载容器组114中,应用服务实例B和网格代理105共存于机器/工作负载容器组116中。容器化的网格代理103和105可以形成服务网格100的服务网格数据面(data plane)。
其中,网格代理103和105分别以容器/进程104、106的形式运行,并且网格代理103和应用服务实例A之间可以双向通信,网格代理105和应用服务示例B之间的双向通信。
在一种实施例方式,应用服务示例A的所有流量都可以通过网格代理103被路由到合适的目的地,应用服务示例B的所有网络流量都可以通过网格代理105被理由到合适的目的地。需要说明的是,在此提及的网络流量包括但不限于超文本传输协议(Hyper TextTransferProtocol,HTTP)、表述性状态传递(Representational State Transfer,REST)、远程过程调用(Remote Procedure Call,RPC,如gRPC)等形式。
在一种实施方式中,可以通过服务网格100中的代理(Envoy)编写自定义的过滤器(Filter)来实现扩展服务网格数据面的功能,服务网格代理配置可以是为了使服务网格正确地代理服务流量,实现服务互通和服务治理。网格代理103和网格代理105可以被配置成执行至少如下功能中的一种:服务发现(service discovery),健康检查(healthchecking),路由(Routing),负载均衡(Load Balancing),认证和授权(authenticationand authorization),以及可观测性(observability)
服务网格100可以包括服务网格控制面。其中,服务网格控制面可以是一组在一个专用的命名空间中运行的服务,在机器/工作负载容器组(machine/Pod)102由控制面组件101来管理这些服务。控制面组件101与网格代理103和网格代理105进行双向通信。控制面组件101被配置成执行一些控制管理的功能。例如,控制面组件101接收网格代理103和网格代理105传送的遥测数据,可以进一步对这些遥测数据做聚合。这些服务,控制面组件101还可以提供面向用户的应用程序接口(ApplicationProgramming Interface,API),以便较容易地操纵网络行为,以及向网格代理103和网格代理105提供配置数据等。
参照图2,示出了本发明实施例的一种基于服务网格的资源管理方法实施例的步骤流程图,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;
具体而言,服务网格控制面可以是服务网格在托管模式或者非托管模式下,服务网格中控制面组件的集合。服务网格控制面中的各控制面组件可以运行于独立的服务器,而并非运行于某一位于数据面的集群中。服务网格控制面可以负责管理和配置服务网格数据面中的数据面集群。
服务网格数据面可以是一个包括了多个服务网格数据面集群的逻辑划分,由服务网格控制面进行统一管理。所述数据面集群可以是Kubernetes容器服务集群或者其他类型的计算环境集群。
所述方法应用于服务网格控制面中,具体可以包括如下步骤:
步骤201,从所述服务网格控制面或者服务网格数据面获取资源对象;
具体而言,在云计算环境中,资源对象可以指的是持久化的实体,这些实体可以用于表示整个集群的状态。其可以用于描述:什么容器化应用在运行,可以被应用使用的资源,应用应如何表现的策略比如重启策略、升级策略、以及容错策略等等。通过资源对象,可以控制集群保持用户所需要的期望状态。在为本发明的一种具体示例,资源对象可以为无状态工作负载(Deployment)、有状态工作负载(StatefulSet)、任务工作负载(Job)、以及自定义资源(Custom Resource Definition)等。特别地,自定义资源通常由用户自行在集群中管理,用户通常习惯在集群中对自定义资源进行管理。在托管模式下,若将自定义资源存储于托管实例,容易造成用户操作不便。
为了更好地对服务网格整体进行管理,可以将资源对象存储于服务网格控制面中。在此情况下,用户可以通过服务网格控制面写入资源对象,从而服务网格控制面可以直接获取得到用户提供的资源对象。用户也可以通过服务网格数据面中的数据面集群写入资源对象,此时数据面集群可以将用户写入的资源对象转发至服务网格控制面,从而服务网格可以获取得到用户写入的资源对象。
步骤202,针对不同类型的所述资源对象,分别配置相应的资源对象元数据;
在获取得到资源对象之后,服务网格控制面可以生成资源对象对应的资源对象元数据。资源对象元数据可以为用于描述资源对象的数据,每一类型的资源对象可以分别配置相应的资源对象元数据,以便针对相同类型的资源对象,可以采用相似的逻辑对其进行管理。
作为本发明的一种具体示例,资源对象元数据可以至少记载有与资源对象的访问路径相关联的信息,以便通过资源对象元数据确定资源对象的访问路径。资源对象元数据还可以记载有不同类型的资源对象的添加、删除、更新的方式,以便数据面集群可以采用资源对象元数据中指示的方式,请求服务网格控制面对资源对象进行相应的处理。资源对象元数据还可以记载有不同类型的资源对象相应的数据处理方式等信息,以便用户需要基于资源对象实现不同功能时,可以将用户的请求按照指定的方式传输给资源对象进行处理。
在本发明的一种实施例中,所述资源对象元数据可以记载有资源对象的资源组信息以及版本信息。
具体而言,资源对象元数据中可以存储有每一资源对象的资源规约(Spec),在资源规约中可以记载有资源对象的资源组信息(Group)以及版本信息(Version)。
在云计算环境中,资源对象的访问路径可以采用资源组信息以及版本信息表示。例如,访问路径可以表示为“/apis/<资源组>/<版本>”。由此,在从资源对象元数据中获取得到资源对象的资源组信息以及版本信息之后,即可以生成每一资源对象对应的路径。
步骤203,将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。
具体而言,由于资源对象实际转移至服务网格控制面中进行存储,为了便于用户从数据面集群中对资源对象进行管理,可以将资源对象元数据下发至服务网格数据面中的数据面集群中,使得用户可以基于资源对象元数据,在数据面集群中实现对资源对象的管理。
在本发明的一种实施例中,所述从所述服务网格控制面或者服务网格数据面获取资源对象的步骤,包括:从服务网格控制面或者服务网格数据面获取数据处理请求;生成所述数据处理请求相对应的资源对象。
具体而言,用户可以采用数据处理请求对资源对象进行管理。由此,在需要增加、删除、更新资源对象时,用户可以从服务网格控制面或者服务网格数据面中的数据面集群发出数据处理请求。若数据面集群接收到数据处理请求,可以将数据处理请求转发至服务网格控制面,从而服务网格控制面可以获取得到至少一个资源对象对应的数据处理请求。
其中,所述数据处理请求可以对应某一资源对象、也可以对应某一类型的资源对象,本发明对此不做限制。
在具体实现中,在云计算环境中,数据处理请求可以为资源配置信息。资源配置信息采用声明式对象配置的方式定义资源对象,描述资源对象所需要呈现的状态。服务网格控制面可以基于资源配置信息中记载的信息创建或者管理资源对象,实现对资源对象生命周期管理。
由此,若资源配置信息中记载了新的资源对象,则服务网格控制面可以按照资源配置信息中的要求,生成相对应的资源对象,从而获取得到新的资源对象。若资源配置信息中记载有对已有资源对象的变更,则服务网格控制面可以按照资源配置信息中的要求对资源对象进行变更,得到变更后的资源对象。
作为本发明的一种具体示例,若用户需要采用资源配置信息对至少一个资源对象的流量策略进行管理,所述资源配置信息可以包含资源对象选择信息(workloadSelector)、流量模式信息(traffic mode)、以及位置信息。其中,资源对象选择信息可以用于选择那些资源对象需要使用该流量策略。在具体实现中,可以采用标签(label)方式进行过滤选择。流量模式信息可以提供不同的流量配置模式。例如,流量模式可以包括通用模式以及特定模式。位置信息可以用于设置将资源对象配置至不同的位置的优先级,以便可以资源对象优先对源自不同位置的流量进行处理。其中,位置信息在通用模式下,可以包括机架(rack)、可用区(zone)、地域(region)这三种不同的优先级。在特定模式下,可以包含具体的机架名、具体的可用区名、以及具体的地域名这三种不同的优先级。
在本发明的一种实施例中,所述方法还包括:将所述资源对象存储于所述服务网格控制面中预设的存储空间中。
具体而言,为了进一步提高资源对象的可靠性,可以将资源对象存储于预设的存储空间中。在需要对资源对象进行管理时,可以通过服务网格控制面中预设的资源对象控制器对对数据处理请求进行分析,并相应地调整存储空间中的资源对象,以满足用户不同的资源管理需求。
在本发明的一种实施例中,所述方法还包括:所述方法还包括:接收所述服务网格数据面发送的数据处理请求;基于所述数据处理请求,对所述数据处理请求对应的资源对象进行相应的数据处理。
若用户需要对资源对象进行管理,可以从服务网络数据面中的数据面集群中发出数据处理请求。数据面集群可以将数据处理请求转发至服务网格控制面中,服务网格控制面在获取得到数据处理请求之后,可以基于数据处理请求,对数据处理请求对应的资源对象进行相应的处理,使得资源对象的状态发生改变,从而控制集群保持用户所需要的期望状态。
通过本发明实施例的基于服务网格的资源管理方法,从所述服务网格控制面或者服务网格数据面获取资源对象;针对不同类型的所述资源对象,分别配置相应的资源对象元数据;将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。使得资源对象可以实际存储于服务网格控制面中,资源对象的管理可以与集群的管理解耦,且不会出现不同集群中资源对象数据不一致的情况。同时用户可以在保持自己原有的使用习惯,基于资源对象元数据,实现在数据面集群中对资源对象进行管理。
参照图3,示出了本发明实施例的一种基于服务网格的数据处理方法实施例的步骤流程图,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群。
所述方法应用于数据面集群中,具体可以包括如下步骤:
步骤301,获取用户发送的数据处理请求;
在本发明实施例中,用户在需要对资源对象进行管理时,可以发出数据处理请求。用户在发送数据处理请求时,可以认为数据处理请求对应的资源对象处于数据面集群中,或者,用户可以已知资源对象处于服务网格控制面中,但是用户习惯在服务网格数据面对资源对象进行管理。此时,可以由数据面集群将数据处理请求转发至服务网格控制面中,以使服务网格控制面中的资源对象可以对数据处理请求进行处理。
在本发明的一种实施例中,所述获取用户发送的数据处理请求的步骤,包括:检测用户针对所述数据面集群中资源对象发出的数据处理请求;若检测到所述数据处理请求,拦截所述数据处理请求。
具体而言,用户可以保持原有的操作习惯,在数据面集群中发出数据处理请求,以请求对数据面集群集群中的资源对象进行相应的处理。但是,由于数据处理请求实际不存在于数据面集群中,因此数据处理请求实际上无法被处理。
在具体实现中,数据面集群可以检测到用户发出数据处理请求,其后,可以基于数据处理请求中记载的资源对象名称、资源对象访问路径等与资源对象关联的信息,确定该数据处理请求是针对原本配置于数据面集群中的资源对象发出的。
若数据面集群检测到用户针对数据面集群中资源对象发出了数据处理请求,此时数据面集群可以对该数据处理请求进行拦截,以便后续将该数据处理请求转发至服务网格控制面。
步骤302,基于预设的资源对象元数据确定所述数据处理请求的目标路径;其中,所述目标路径为所述数据处理请求对应的资源对象的访问路径;所述资源对象元数据从服务网格控制面获取得到;
具体而言,资源对象元数据中可以分别记载有不同类型资源对象的信息,其中可以包含有资源对象的访问路径信息。由此,数据面集群可以基于资源对象元数据中记载的信息,确定处理该数据处理请求的资源对象对应的访问路径。
在具体实现中,数据面集群可以在获取得到资源对象元数据之后,即可以将不同资源对象的访问路径注册到数据面集群中。数据面集群获取得到数据处理请求后,数据处理请求可以记载有与访问路径关联的信息,若数据面集群基于与访问路径关联的信息,确定数据处理请求与访问路径匹配,则可以确定该数据处理请求需要转发至网格服务控制面,并将访问路径作为目标路径。
作为本发明的一种具体示例,对于API Service类型的资源对象,可以首先将资源对象的访问路径注册制数据面集群的聚合层中。该聚合层可以使得数据面集群中的API服务器可以使用扩展功能。其后当聚合层获取到数据处理请求,可以基于其中与访问路径关联的信息,确定数据处理请求与访问路径匹配,并确定该数据处理请求需要转发至网格服务控制面。
在本发明的一种实施例中,所述基于预设的资源对象元数据确定所述数据处理请求的目标路径的步骤,包括:从预设的目标资源对象元数据获取所述资源对象的资源组信息以及版本信息;采用所述资源组信息以及所述版本信息,确定所述数据处理请求对应的资源对象的目标路径。
在从资源对象元数据中获取得到资源对象的资源组信息以及版本信息之后,即可以生成每一资源对象对应的路径,访问路径可以表示为“/apis/<资源组>/<版本>”,从而在确定数据处理请求对应的资源对象之后,即可以确定数据处理请求所对应的目标路径。
步骤303,基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
数据面集群在确定数据处理请求对应的目标路径,可以基于目标路径,确定该数据处理请求需要由处于网格服务控制面中的资源对象处理,由此,可以将该数据处理请求转发至网格服务控制面,由服务网格控制面进一步基于目标路径,确定与该数据处理请求相对应的资源对象,其后服务网格控制面可以基于数据处理请求,对资源对象进行数据处理。
在具体实现中,服务网格控制面可以事先设置有不同数据处理请求对应的处理服务信息,以在接收到数据处理请求后,可以进行如增加属性字段值、删除属性字段值等具体逻辑处理,使得资源对象的状态变更,从而变更后的资源对象可以满足用户需求,控制集群保持用户所需要的期望状态。
通过本发明实施例的数据处理方法,获取用户发送的数据处理请求;基于预设的资源对象元数据确定所述数据处理请求的目标路径;基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。从而可以在用户保持原有操作习惯的情况下,通过服务网格控制面中的资源对象实现数据处理。由于资源对象的生命周期管理与集群的生命周期管理解耦,且集群统一使用服务网格控制面中的资源对象,使得资源对象可以具有较高的可靠性,用户可以可靠地对数据进行处理,整体可以具有较好的使用体验。
本发明实施例中还提供一种基于服务网格的资源管理***,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述服务网格控制面包括第一资源控制器、资源存储器、数据生成器;所述数据面集群包括资源注册器、第二资源控制器;
用户可以通过服务网格控制面写入资源对象,此时的第一资源控制器可以从服务网格控制面获取得到资源对象,其后,第一资源控制器可以将资源对象存储于资源存储器中,以便后续对资源对象进行管理。
元数据生成器可以针对获取得到的不同类型的资源对象,分别配置相应的资源对象元数据,以便针对相同类型的资源对象,可以采用相似的逻辑对其进行管理。其后,元数据生成器可以将资源对象元数据下发至所述服务网格数据面中的所述数据面集群中,以使用户可以基于资源对象元数据,在数据面集群中实现对资源对象的管理。
数据面集群中的资源注册器可以获取得到元数据生成器下发的资源对象元数据,并将资源对象元数据注册至第二资源控制器,使第二资源控制器可以基于资源对象元数据对数据面集群中与资源对象相关的用户操作进行相应的处理。
若用户需要对资源对象进行管理,可以从服务网络数据面中的数据面集群中发出数据处理请求。第二资源控制器可以获取用户发送的数据处理请求;基于所述资源对象元数据确定所述数据处理请求的目标路径;基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
同时,用户也可以在数据面集群中增加资源对象,用户可以采用声明式对象配置的方式从数据面集群发出数据请求。此时第二资源控制器可以从数据面集群获取得到用于生成资源对象的数据处理请求,并将数据处理请求发送至所述资源转发器;
其后资源转发器可以将数据处理请求转发至服务网格控制面中的资源聚集器,从而是服务网格控制面可以获取得到来自数据面集群的资源对象的生成请求;资源聚集器可以将数据处理请求进一步发送至第一资源控制器;由第一资源控制器基于数据处理请求生成资源对象存储至资源存储器中。
可选地,用户从数据面集群中发出的用于修改或删除资源对象的数据处理请求,也可以通过第二资源控制器发送至所述资源转发器,再由资源转发器转发至资源聚集器,由资源聚集器发送至第一资源控制器,使第一资源控制器可以基于用户发出的数据处理请求,对资源存储器中的资源对象进行如修改或删除等管理操作。
作为本发明的一种具体示例,图4为本发明实施例的另一种服务网格的示意图。其中,服务网格400至少包含服务网格控制面401以及服务网格数据402。服务网格数据面中可以设置有数据面集群403a以及403b。
服务网格控制面中可以部署有第一资源控制器405、资源存储器406、元数据生成器407、以及资源聚集器413。
数据面集群403a中可以设置有资源注册器409a,第二资源控制器411a、资源转发器412a。数据面集群403b中可以设置有资源注册器409b,第二资源控制器411b、资源转发器412b。
在具体实现中,用户可以采用声明式对象配置的方式从服务网格控制面401向发出数据处理请求。服务网格控制面401可以相应地生成第一资源对象404。第一资源控制器405可以可以对数据处理请求中记载的资源配置信息进行分析,基于资源配置信息对资源对象进行如创建、删除、更新等管理。,同时,通过第一资源控制器405存储至资源存储器406中,实现对资源对象的存储管理。
其后,元数据生成器407可以针对资源存储器中的资源对象,生成资源对象元数据,每一种资源类型的资源对象可以对应一个资源对象元数据。其后,可以将资源对象元数据分别下发至数据面集群403a以及403b、从而数据面集群403a可以存储有资源对象元数据408a,数据面集群403b可以存储有资源对象元数据408b。
数据面集群403a中的资源注册器409a可以将资源对象元数据408a注册至第二资源控制器411a中。第二资源控制器411a可以负责在数据面集群403a中对资源对象进行管理。若用户从数据面集群403a中发出数据处理请求。第二资源控制器411a可以拦截用户发出的数据处理请求,并将其发送给资源转发器412a。若用户在数据面集群403a通过数据处理请求,请求生成第二资源对象410a,则第二资源控制器411a同样可以将该数据处理请求拦截并发送给资源转发器412a。其中,每一种资源类型的资源对象元数据可以支持不同的逻辑实现,从而对应不同的资源对象可以相应地进行不同的处理。资源转发器412a可以将拦截的数据处理请求按照基于资源对象元数据408a注册的映射关系转发到镜像资源聚集器413中。其后镜像资源聚集器413通过调用第一资源控制器405,实现对资源对象进行相应的处理。
数据面集群403b中的资源注册器409b可以将资源对象元数据408b注册至第二资源控制器411b中。第二资源控制器411b可以负责在数据面集群403b中对资源对象进行管理。若用户从数据面集群403b中发出数据处理请求。第二资源控制器411b可以拦截用户发出的数据处理请求,并将其发送给资源转发器412b。若用户在数据面集群403b通过数据处理请求,请求生成第二资源对象410b,则第二资源控制器411b同样可以将该数据处理请求拦截并发送给资源转发器412b。其中,每一种资源类型的资源对象元数据可以支持不同的逻辑实现,从而对应不同的资源对象可以相应地进行不同的处理。资源转发器412b可以将拦截的数据处理请求按照基于资源对象元数据408b注册的映射关系转发到镜像资源聚集器413中。其后镜像资源聚集器413通过调用第一资源控制器405,实现对资源对象进行相应的处理。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图5,示出了本发明实施例的一种基于服务网格的资源管理装置实施例的结构框图,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述装置应用于服务网格控制面中,具体可以包括如下模块:
资源获取模块501,用于从所述服务网格控制面或者服务网格数据面获取资源对象;
元数据配置模块502,用于针对不同类型的所述资源对象,分别配置相应的资源对象元数据;
元数据下发模块503,用于将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。
可选地,所述资源获取模块包括:
获取子模块,用于从服务网格控制面或者服务网格数据面获取数据处理请求;
对象生成子模块,用于生成所述数据处理请求相对应的资源对象。
可选地,所述装置还包括:
存储模块,用于将所述资源对象存储于所述服务网格控制面中预设的存储空间中。
参照图6,示出了本发明实施例的一种基于服务网格的数据处理装置实施例的结构框图,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述装置应用于数据面集群中,具体可以包括如下模块:
请求获取模块601,用于获取用户发送的数据处理请求;
路径确定模块602,用于基于预设的资源对象元数据确定所述数据处理请求的目标路径;其中,所述目标路径为所述数据处理请求对应的资源对象的访问路径;所述资源对象元数据从服务网格控制面获取得到;
转发模块603,用于基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
可选地,所述请求获取模块包括:
请求检测子模块,用于检测用户针对所述数据面集群中资源对象发出的数据处理请求;
拦截子模块,用于若检测到所述数据处理请求,拦截所述数据处理请求。
可选地,所述路径确定模块包括:
信息提取子模块,用于从预设的资源对象元数据获取资源对象的资源组信息以及版本信息;
路径确定子模块,用于采用所述资源组信息以及所述版本信息,确定所述数据处理请求对应的资源对象的目标路径。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本发明实施例还提供了一种电子设备,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行本发明实施例所述的方法。
本发明实施例还提供了一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行本发明实施例所述的方法。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的更新和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有更新和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种基于服务网格的数据处理方法、一种基于服务网格的资源管理方法、和一种基于服务网格的数据处理装置、一种基于服务网格的资源管理装置、一种电子设备、以及一种机器可读介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种基于服务网格的资源管理方法,其特征在于,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述方法应用于服务网格控制面中,包括:
从所述服务网格控制面或者服务网格数据面获取资源对象;
针对不同类型的所述资源对象,分别配置相应的资源对象元数据;
将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。
2.根据权利要求1所述的方法,其特征在于,所述从所述服务网格控制面或者服务网格数据面获取资源对象的步骤,包括:
从服务网格控制面或者服务网格数据面获取数据处理请求;
生成所述数据处理请求相对应的资源对象。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述资源对象存储于所述服务网格控制面中预设的存储空间中。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
接收所述服务网格数据面发送的数据处理请求;
基于所述数据处理请求,对所述数据处理请求对应的资源对象进行相应的数据处理。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述资源对象元数据记载有所述资源对象的资源组信息以及版本信息。
6.一种基于服务网格的数据处理方法,其特征在于,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述方法应用于数据面集群中,包括:
获取用户发送的数据处理请求;
基于预设的资源对象元数据确定所述数据处理请求的目标路径;其中,所述目标路径为所述数据处理请求对应的资源对象的访问路径;所述资源对象元数据从服务网格控制面获取得到;
基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的所述资源对象进行数据处理。
7.根据权利要求6所述的方法,其特征在于,所述基于预设的资源对象元数据确定所述数据处理请求的目标路径的步骤,包括:
从预设的资源对象元数据获取资源对象的资源组信息以及版本信息;
采用所述资源组信息以及所述版本信息,确定所述数据处理请求对应的资源对象的目标路径。
8.一种基于服务网格的资源管理装置,其特征在于,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述装置应用于服务网格控制面中,包括:
资源获取模块,用于从所述服务网格控制面或者服务网格数据面获取资源对象;
元数据配置模块,用于针对不同类型的所述资源对象,分别配置相应的资源对象元数据;
元数据下发模块,用于将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中。
9.一种基于服务网格的数据处理装置,其特征在于,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述装置应用于数据面集群中,包括:
请求获取模块,用于获取用户发送的数据处理请求;
路径确定模块,用于基于预设的资源对象元数据确定所述数据处理请求的目标路径;其中,所述目标路径为所述数据处理请求对应的资源对象的访问路径;所述资源对象元数据从服务网格控制面获取得到;
转发模块,用于基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
10.一种基于服务网格的资源管理***,其特征在于,所述服务网格包括服务网格控制面以及服务网格数据面,所述服务网格数据面中设置有至少一个数据面集群;所述服务网格控制面包括第一资源控制器、资源存储器、数据生成器;所述数据面集群包括资源注册器、第二资源控制器;
所述第一资源控制器用于从所述服务网格控制面获取资源对象,并将所述资源对象存储于资源存储器中;
所述元数据生成器用于针对不同类型的所述资源对象,分别配置相应的资源对象元数据,将所述资源对象元数据下发至所述服务网格数据面中的所述数据面集群中;
所述资源注册器用于接收所述元数据生成器下发的资源对象元数据,并将所述资源对象元数据注册至所述第二资源控制器;
所述第二资源控制器用于获取用户发送的数据处理请求;基于所述资源对象元数据确定所述数据处理请求的目标路径;基于所述目标路径,将所述数据处理请求转发至所述网格服务控制面,以通过所述网格服务控制面对所述数据处理请求对应的资源对象进行数据处理。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;和
其上存储有指令的一个或多个机器可读介质,当由所述一个或多个处理器执行时,使得所述电子设备执行如权利要求1-7任一项所述的方法。
12.一个或多个机器可读介质,其上存储有指令,当由一个或多个处理器执行时,使得所述处理器执行如权利要求1-7任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211312250.XA CN115686841A (zh) | 2022-10-25 | 2022-10-25 | 基于服务网格的数据处理、资源管理方法、装置、及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211312250.XA CN115686841A (zh) | 2022-10-25 | 2022-10-25 | 基于服务网格的数据处理、资源管理方法、装置、及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115686841A true CN115686841A (zh) | 2023-02-03 |
Family
ID=85100227
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211312250.XA Pending CN115686841A (zh) | 2022-10-25 | 2022-10-25 | 基于服务网格的数据处理、资源管理方法、装置、及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686841A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061338A (zh) * | 2023-08-16 | 2023-11-14 | 中科驭数(北京)科技有限公司 | 基于多网卡的服务网格数据处理方法、装置及*** |
CN117289877A (zh) * | 2023-11-23 | 2023-12-26 | 云筑信息科技(成都)有限公司 | 一种基于服务网格的通用文件存储动态代理方法 |
-
2022
- 2022-10-25 CN CN202211312250.XA patent/CN115686841A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117061338A (zh) * | 2023-08-16 | 2023-11-14 | 中科驭数(北京)科技有限公司 | 基于多网卡的服务网格数据处理方法、装置及*** |
CN117061338B (zh) * | 2023-08-16 | 2024-06-07 | 中科驭数(北京)科技有限公司 | 基于多网卡的服务网格数据处理方法、装置及*** |
CN117289877A (zh) * | 2023-11-23 | 2023-12-26 | 云筑信息科技(成都)有限公司 | 一种基于服务网格的通用文件存储动态代理方法 |
CN117289877B (zh) * | 2023-11-23 | 2024-03-19 | 云筑信息科技(成都)有限公司 | 一种基于服务网格的通用文件存储动态代理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110462589B (zh) | 本地装置协调器中的按需代码执行 | |
KR102628362B1 (ko) | 컨테이너화된 환경에서 클러스터의 라이브 마이그레이션 | |
US11089115B2 (en) | Discovery of cloud-based infrastructure and resources | |
US10749943B1 (en) | Discovery and mapping of cloud-based resources | |
US11157304B2 (en) | System for peering container clusters running on different container orchestration systems | |
US10657061B1 (en) | Resource distribution using attributes of versioned hash rings | |
US9971823B2 (en) | Dynamic replica failure detection and healing | |
US9942273B2 (en) | Dynamic detection and reconfiguration of a multi-tenant service | |
CN112532675B (zh) | 一种网络边缘计算***的创建方法、装置及介质 | |
CN110352401B (zh) | 具有按需代码执行能力的本地装置协调器 | |
US10719503B1 (en) | Interface for supporting integration with cloud-based service providers | |
US10931774B2 (en) | Discovery and service mapping of application programming interface proxies | |
KR20190082926A (ko) | 메시징 프로토콜 통신 관리 | |
CN115686841A (zh) | 基于服务网格的数据处理、资源管理方法、装置、及*** | |
CN106663033B (zh) | 在事务中间件机器环境支持绕域和代理模型并更新服务信息以跨域消息传送的***和方法 | |
US10924344B2 (en) | Discovery and mapping of cloud-based resource modifications | |
US20130227232A1 (en) | Partition aware quality of service feature | |
US11263201B2 (en) | Interface for supporting integration with cloud-based service providers | |
CN118012572A (zh) | 用于自动配置用于容器应用的最小云服务访问权限的技术 | |
CN115378944B (zh) | 一种网络***及服务网格配置方法、存储介质和电子设备 | |
US11184242B2 (en) | System and method for automating the discovery process | |
US10824588B2 (en) | Remote document conversion and viewing systems and methods | |
US20210034431A1 (en) | Discovery and mapping of a platform-as-a-service environment | |
CN116566656A (zh) | 资源访问方法、装置、设备及计算机存储介质 | |
CN112073449B (zh) | 基于Kubernetes的环境切换处理方法和设备 |
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 |