说明:收录25万 73个行业的国家标准 支持批量下载
(19)国家知识产权局 (12)发明 专利申请 (10)申请公布号 (43)申请公布日 (21)申请 号 202210792245.7 (22)申请日 2022.07.07 (71)申请人 浪潮云信息技 术股份公司 地址 250100 山东省济南市高新区浪潮路 1036号浪潮科技园S01号楼 (72)发明人 赵锦 邓光超 孙兴艳  (74)专利代理 机构 济南信达专利事务所有限公 司 37100 专利代理师 孙园园 (51)Int.Cl. G06F 9/50(2006.01) G06F 9/54(2006.01) (54)发明名称 基于声明式API的数据传输系统资源调度的 方法及存 储介质 (57)摘要 本发明公开了基于声明式API的数据传输系 统资源调度的方法及存储介质, 属于Kubernetes 环境下资源调度技术领域, 本发 明要解决的技术 问题为如何利用Kubernetes资源编排能力实现 对数据传输系统资源的方便快捷调度, 采用的技 术方案为: 该方法具体如下: 自定义API 资源类型 CRD: 分别定义数据传输系统的采集端资源、 入库 端资源和消息中间件资源的资源类型CRD; 其中, 资源类型CRD的组为dts; 应用对应资源类型CRD 的资源描述文件对采集端资源、 入库端资源和消 息中间件资源进行调度, 并通过自定义控制器捕 获应用的资源文件实现对应的资源调度工作; 通 过对资源文件的定义完成底层物理资源与业务 逻辑资源的抽象, 并通过自定义控制器实现对业 务资源的调度。 权利要求书3页 说明书9页 附图1页 CN 115202874 A 2022.10.18 CN 115202874 A 1.一种基于声明式API的数据传输系统资源调度的方法, 其特征在于, 该方法具体如 下: 自定义API资源类型CRD: 分别定义数据传输系统的采集端资源、 入库端资源和消息中 间件资源的资源类型CRD; 其中, 资源类型CRD的组为dts; 应用对应资源类型CRD的资源描述文件对采集端资源、 入库端资源和消息中间件资源 进行调度, 并通过自定义控制器捕获应用的资源文件实现对应的资源调度工作; 通过对资源文件的定义完成底层物 理资源与业务逻辑资源的抽象, 并通过自定义控制 器实现对业 务资源的调度。 2.根据权利要求1所述的基于声明式API的数据传输系统资源调度的方法, 其特征在 于, 所述数据传输系统包括采集组件、 消息中间件和入库组件, 采集组件读取数据后写入消 息中间件, 消息中间件对读取的数据进 行缓存, 以保证数据的完整性, 并将采集组件与消息 中间部署在一个pod中; 采集组件和消息中间件分别定义一个类型dtsReader的资源类型 CRD, 入库组件定义 一个类型dtsWriter的资源类型CRD; 其中, 采集组件用于从源端数据库读取 数据; 消息中间件用于数据的保存与传输; 入库组件用于将采集的数据写入目的数据库。 3.根据权利要求2所述的基于声明式API的数据传输系统资源调度的方法, 其特征在 于, 所述dtsReader与dtsWriter的资源类型CRD的字段 具体如下: taskId: 数据传输任务的唯一标识; Version: 产品版本号, 后台数据库采集组件和入库组件的版本号与产品版本号 一致; isAvailable: 资源是否可用; dbInfo: 数据源信息, 源端或目的端数据库的连接信息; task: 任务配置信息, 任务配置信息包括表信息、 字段信息及相关的传输策略参数; resources: 资源信息, 资源信息包括需要拉起的pod的cpu信息、 内存信息及存 储信息。 4.根据权利要求1所述的基于声明式API的数据传输系统资源调度的方法, 其特征在 于, 自定义控制器是指为资源类型CRD创建一个对应的CDR控制器, 实现当CRD对象发生变化 时, 触发CRD控制器里面的业 务逻辑代码; 具体如下: 数据传输系统创建自定义控制器dts ‑Operator; 自定义控制器dts ‑Operator使用Reflector的ListAndWatch方法获取并监听对象实例 的变化; 当任何一个实例有任何变化, Re flector均会收到事件通知, 并收到通知后把对象实例 对应的事 件和对象的组合存 入一个先进先 出的队列中; 自定义控制器dts ‑Operator使用Informer不断从先进先出的队列中读取对象,并判断 事件的类型 是dtsReader或dtsWriter: 确定事件的类型后, 根据事 件的类型创建dtsReader或dtsWriter所需要的资源。 5.根据权利要求4所述的基于声明式API的数据传输系统资源调度的方法, 其特征在 于, 创建dtsReader所需的资源具体如下: 自定义控制器dts ‑Operator创建采集组件所依赖的消息中间件nats的pod及service 资源;权 利 要 求 书 1/3 页 2 CN 115202874 A 2在消息中间件nats中, 创建jetst ream及co nsumer资源; 在消息中间件nats 资源部署完成后, 部署采集组件的pod、 service及存 储资源; 通过监控 对应事件, 并可将物理资源及业 务配置均按自定义的逻辑进行处 理; 当处理完成后, 数据传输任务所需的采集组件便可正常工作; 创建dtsWriter所需的资源具体如下: 自定义控制器dts ‑Operator创 建入库组件所需要的pod及service物理资源以及生成 数据传输任务相关的配置文件; 将消息中间件nats相关的信息写入到配置文件中; 通过监控 对应事件, 并可将物理资源及业 务配置均按自定义的逻辑进行处 理; 当处理完成后, 数据传输任务所需的入库组件便可正常工作。 6.根据权利要求4或5所述的基于声明式API的数据传输系统资源调度的方法, 其特征 在于, 自定义控制器dts ‑Operator依靠In former的代码块从Kubernetes的APIServer里获 取dtsWriter对象和dtsReader对象, Informer与API对象一一对应, 数据传输过程中传递给 自定义控制器dts ‑Operator的是一个Netw ork对象的I nformer; 其中, 创建Informer工厂时, 为Informer工厂传递一个networkClient, Network   Informer使用networkClient与APIServer建立连接, 维护Network  Informer与APIServer 连接的是Informer所使用的Reflector包中的ListAndWatch机制, ListAndWatch机制用于 获取并监听Netw ork对象实例的变化; 在ListAndWatch机制下, 一旦APIServer端有新的Network实例被创建、 删除或者更新, Reflector均会收到对应Network实例的事件通知, 该事件及该事件对应的API对象组合就 被称为增量Delta, 并放入一个增量先进先出队列中; 同时, Inform会不断地从增量先进先 出队列读取增量, 每读取一个增量, Informer便会判断该增量里的事件类型, 并创建或更新 本地对象的缓冲。 7.根据权利要求6所述的基于声明式API的数据传输系统资源调度的方法, 其特征在 于, Informer具有如下功能: ①、 同步本地缓存; Informer自带缓存和索引机制; 触发Handler的客户端库, 本地缓存 在Kubernetes中被称为Store, 索引被称为Index; Informer使用Reflector包, Reflector包 通过ListAndWatch机制获取并监视API对象变化的客户端封装; Reflector包和Informer之 间用一个增量先进先 出队列进行协同; ②、 根据事件类型, 触发实现注册好的ResourceEventHandler; 通过监听到的事件变 化, Informer实时地更新本地缓存,并且调用事件对应的EventHandler, 每经过 resyncPeriod指定的时间,Informer维护的本地缓存均会使用最近一次LIST返回的结果强 制更新一次,从而保证缓存的有效性; 其中, 创建自定义控制器dts ‑Operator时, 注册给 ResourceEventHandler对应的I nformer; informer在编写的控制循环前,使用一个工作队列来进行协同; 其 中, informer控制循 环的逻辑具体如下: 等待Informer完成一次本地缓存的数据同步操作; 通过gorouti ne启动一个或多个无限循环任务; 在每一个 循环周期中, 执 行的就是 数据传输业 务逻辑代码;权 利 要 求 书 2/3 页 3 CN 115202874 A 3

.PDF文档 专利 基于声明式API的数据传输系统资源调度的方法及存储介质

文档预览
中文文档 14 页 50 下载 1000 浏览 0 评论 309 收藏 3.0分
温馨提示:本文档共14页,可预览 3 页,如浏览全部内容或当前文档出现乱码,可开通会员下载原始文档
专利 基于声明式API的数据传输系统资源调度的方法及存储介质 第 1 页 专利 基于声明式API的数据传输系统资源调度的方法及存储介质 第 2 页 专利 基于声明式API的数据传输系统资源调度的方法及存储介质 第 3 页
下载文档到电脑,方便使用
本文档由 人生无常 于 2024-03-18 13:31:26上传分享
站内资源均来自网友分享或网络收集整理,若无意中侵犯到您的权利,敬请联系我们微信(点击查看客服),我们将及时删除相关资源。