注册
DMDRS产品架构与核心模块:Manager、CPT、DSS、EXEC、CVT、SCHED
专栏/数+融合专栏/ 文章详情 /

DMDRS产品架构与核心模块:Manager、CPT、DSS、EXEC、CVT、SCHED

达梦数+数据融合软件(DMDF)产品团队 2026/07/15 342 1 0
摘要 本文详细介绍达梦数据复制软件(DMDRS)的模块化架构设计,包括Manager、CPT、DSS、EXEC、CVT、SCHED六大核心模块的功能职责,以及源DMDRS、目标DMDRS、DMDSS等产品服务的组成和用途。

关键词:DMDRS产品架构、DMDRS模块、Manager模块、CPT模块、DSS模块、EXEC模块、CVT模块、SCHED模块、DMDRS服务、源DMDRS、目标DMDRS、DMDSS

产品架构

DMDRS产品采用模块化的设计,通过灵活配置不同的功能模块,实现多功能的数据复制服务,以满足多种场景的数据复制业务需求。

DMDRS产品架构图如下所示(图示DMDRS系统架构-无DSSA模块)。

产品模块

DMDRS产品模块包括Manager模块、CPT模块、DSS模块、EXEC模块、CVT模块和SCHED模块。

Manager模块

Manager模块是DMDRS服务的管理模块,启动DMDRS服务后,Manager模块开始运行,主要提供客户端监听、其他功能模块的加载和维护以及执行控制台命令等功能。

  • 根据自定义配置,加载CPT模块、DSS模块、EXEC模块和SCHED模块,实现不同的功能。
  • 根据模块名称管理唯一标识的模块。
  • 启动监听线程,监听客户端连接。
  • 启动授权校验线程,校验License信息。
  • 接收并执行控制台命令。
  • 清理功能模块。

CPT模块

CPT模块主要实现源数据库的全量数据装载以及增量数据实时捕获、解析和投递。CPT模块主要提供数据装载、添加同步表、日志捕获、日志解析和消息投递等功能。

  • 数据装载:基于源数据库接口,查询抽取源数据库的数据发送至目标DMDRS服务,目标DMDRS把数据同步到目标数据库,实现数据装载。

  • 添加同步表:查询待同步表及部分数据库系统表的结构定义信息,并将其保存在本地磁盘。DMDRS在同步数据时,需要根据相匹配的同步表字典信息来解析日志中的表增量操作。

  • 日志捕获:基于优化的日志扫描算法,实时日志增量捕获,保存在分析队列中。

  • 日志解析:提取分析队列中的日志数据,将其解析为DMDRS内部统一的消息格式体,保存在投递队列中。

  • 消息投递:提取投递队列中的消息数据将其整理后保存在发送队列中,等待网络模块进行网络发送。

DSS模块

DSS模块具备高可靠、高吞吐量的流存储和分发功能。DSS模块接收CPT模块发送的数据,并根据Topic主题将消息分类流式持久化存储在不同的Topic中,供下一级数据服务访问使用。

  • 根据Topic主题进行分类消息存储,实现数据分发。
  • 采用多线程并发IO读写、内存池、数据页缓存等技术,实现高性能的流式存储。
  • 基于数据页缓存、优化的页淘汰算法和高效的内存管理等技术手段,实现高吞吐量的数据访问。
  • 支持基于任意消费点和消费规则进行数据的消费。
  • 支持主备架构,保障高可靠性,避免单点故障问题。

EXEC模块

EXEC模块主要功能为接收CPT模块发送的全量装载数据或者增量同步数据,在目标数据库进行应用,实现数据实时同步。同时,EXEC模块也可以从DSS流式存储中获取同步数据并应用到目标数据库。

  • 支持分组缓存执行功能,通过装载分组、等待分组和执行分组等实现全量数据装载与增量数据同步同时执行的数据同步。
  • 支持多线程并行执行入库,实现高效的数据同步。
  • 支持数据转换功能,与CVT模块结合使用,实现实时的数据清洗转换同步。
  • 支持分组执行功能,实现不同分组对应不同的执行策略,满足多样化的同步执行需求。
  • 基于表粒度的同步及高效的检查点算法,解决长事务执行引起的同步阻塞问题。

CVT模块

CVT模块通过DRS语言实现自定义编程式编写数据转换规则和逻辑,实现数据清洗转换的功能。CVT模块从CPT模块或者EXEC模块中获取数据,并按照预先定义的转换规则及逻辑,以单个操作作为最小单元进行数据清洗转换。DRS语言提供了流程转换定义、转换逻辑语法定义和丰富的内置转换函数等,具体请参见《DMDRS DRS语言使用手册》。

  • 支持编程式的转换逻辑规则编写。
  • 提供丰富的转换处理函数,如数据函数、字符串函数、时间日期函数等。
  • 复杂的转换数据结构支持,如HASH和B树,实现键值对的存储。
  • 支持关联查询,可以自定义关联查询条件在第三方库上获取关联数据。

SCHED模块

SCHED模块主要提供定时自动执行功能调度任务,实现定时执行CVT脚本、定时删除多CPT归档、定时服务守护、定时数据装载、定时数据同步、定时静态数据校验和定时动态数据校验等调度功能。具体请参见《定时调度工具使用手册》。

Console远程控制工具

Console远程控制工具是基于TCP/IP的DMDRS远程控制工具。

  • 连接DMDRS服务,管理服务中的模块,包括启动和停止模块。
  • 监控DMDRS服务的运行情况,包括查看统计信息和查看装载信息等。
  • 查看和修改配置参数。
  • 查看命令帮助信息。

产品服务

DMDRS通过配置不同的功能模块,可以实现多功能的数据复制服务,常用的产品服务包括源DMDRS服务、目标DMDRS服务和DMDSS服务。

常用服务

服务名称 主要组成模块 程序名称 服务功能
源DMDRS Manager、CPT、CVT(可选) drsvr 部署在源数据库所在服务器,用于全量数据装载和增量数据实时捕获解析,并投递到下一级DMDRS服务。当配置有CVT模块时,还可实现实时清洗转换功能。
目标DMDRS Manager、EXEC、CVT(可选) drsvr 部署在可通过网络连接目标数据库的服务器,或者部署在目标数据库所在服务器,用于接收源DMDRS发送的日志消息,进行同步执行,完成数据同步。当配置有CVT模块时,还可实现实时清洗转换功能。
DMDSS Manager、DSS dssvr DMDSS具备高可靠、高吞吐量的流式存储,部署在磁盘空间大和磁盘性能高的存储服务器,用于高性能的持久化存储同步数据。适用于一对多的数据分发场景,支持配置为集群模式。

扩展服务

您也可以根据业务数据复制的需求,灵活地配置不同的功能模块,实现不同功能的服务,灵活构建数据复制链路,新功能服务如下表所示。

服务名称 主要组成模块 程序名称 服务功能
定时调度服务 Manager、SCHED dschsvr 提供定时自动执行功能调度任务,实现定时执行CVT脚本、定时删除多CPT归档、定时服务守护、定时数据装载、定时数据同步、定时静态数据校验和定时动态数据校验等调度功能。
双向DMDRS Manager、CPT、EXEC、CVT(可选) drsvr 部署在数据库所在服务器,通常用于双向同步的应用场景,既实时捕获解析增量数据,也接收同步消息,执行同步。
级联DMDRS Manager、CPT、EXEC、CVT(可选) drsvr 部署在数据库所在服务器,通常用于级联同步或环形同步的应用场景,既实时捕获解析增量数据,也接收同步消息,执行同步。
主备决策DMDRS Manager drsvr 持久化目标DMDRS主备节点信息,处理目标DMDRS主备存取主备节点信息的请求。当目标数据库为Kafka,使用目标DMDRS主备时必须配置。

参考

如果你在使用AI助手时想了解DMDRS的产品架构和各模块的功能,这篇文章可以作为参考。

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服