System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据传输服务,具体提供一种数据传输服务的轻量化部署实现方法及装置。
技术介绍
1、随着数据库技术的演进和推广,如今国内和国外有大量的开源和闭源的数据库,各业务提供商基于不同的考虑使用了不同的数据库来搭建各自的业务系统。随着信息化程度的加深,数据传输服务对于保证各环境的数据安全、一致性等起到不可或缺的作用,对各数据库之间的迁移和同步的需求越来越多。
2、为了使得平台具有高可用、弹性扩展、水平扩展、高容错、运维自动化等特性及适应边缘、跨网等应用场景,目前数据传输服务是基于k8s平台构建的。由于k8s搭建和运行需要占用一定的时间和服务器系统资源,所以不适合服务器资源不足和对高可用和高扩展性等没有要求的场景。
技术实现思路
1、本专利技术是针对上述现有技术的不足,提供一种实用性强的数据传输服务的轻量化部署实现方法。
2、本专利技术进一步的技术任务是提供一种设计合理,安全适用的数据传输服务的轻量化部署实现装置。
3、本专利技术解决其技术问题所采用的技术方案是:
4、一种数据传输服务的轻量化部署实现方法,以docker容器方式部署运行,首先搭建数据库代理模块,对所有支持数据库连接进行验证,获取库表及权限验证;进入前端模块提供任务管理界面,任务管理模块调度创建任务所需的资源和数据库模块;
5、最后数据库访问模块进行数据库访问,消息中间件模块进行任务数据和任务监控消息的传输。
6、进一步的,所述数据库访问模块分为
7、所述数据库入库模块进行数据库适配并数据入库。
8、进一步的,数据传输服务创建任务的过程为:
9、用户在前端模块输入同步任务的源端数据库和目的数据库连接信息,通过数据库代理模块验证是否可用,并获取库表信息在前端模块展示,用户选择待同步的库表创建任务,任务信息记录到自定义资源;
10、任务管理模块监控到自定义资源后创建任务所需的消息传输通道、配置、存储、创建数据库采集容器和数据库入库容器,在一切顺利完成后向采集和入库模块发送启动任务的命令,如果有异常则销毁任务所依赖的资源。
11、进一步的,将数据库采集模块、数据库入库模块和消息中间件模块镜像拷贝并加载到docker,创建数据库采集模块和入库模块所需的配置文件,规划使用的消息中间件资源和组件挂载的卷,创建容器即可启动数据传输服务。
12、进一步的,所述数据库代理模块对外提供grpc服务,验证各种数据库的连接,获取数据库中的schema和表;
13、不同的任务使用同一个数据库代理模块,创建一个容器服务作为公用。
14、进一步的,所述消息中间件模块使用开启jet-stream的nats,通过nats shell进行subject和consumer的管理和监控,创建三个subject和consumer,分别为全量数据、增量数据和监控数据的生产和消费;
15、数据采集模块中每个数据库一个单独的镜像,提供数据采集,数据放到消息中间件,对外提供grpc服务,进行任务的启动、停止、暂停和续传;
16、数据入库模块中每个数据库一个单独的镜像,提供数据入库,从消息中间件拉取数据入库;
17、所述任务管理模块在docker环境创建,执行文件方式运行。
18、进一步的,开启远程访问端口后,通过docker-java客户端查看镜像,查看容器,查看容器状态和创建容器,具体步骤如下:
19、检查dbagent,输出文件目录,docker是否可用;
20、检查约定命名的nats资源是否已存在,检查约定的docker镜像是否存在,容器是否存在;
21、创建所需的nats资源、连接dbagent获取需要同步的表,生成配置文件到约定目录,生成所需的容器;
22、向reader/wrier容器发送启动命令;
23、检测容器状态及nats中的任务状态消息。
24、进一步的,在一个新的具备了docker的操作系统上,用如下方式来部署数据传输服务;
25、(1)将数据库代理模块、数据库采集模块、数据库入库模块、消息中间件模块拷贝到主机并加载到镜像,将任务管理模块拷贝到本机某个目录下;
26、(2)创建并启动数据库代理容器;
27、(3)进行配置文件,包括源端和目的数据库、采集和入库模块运行文件时挂载的目录,所需要同步的库表的配置;
28、(4)启动运行任务管理模块;
29、(5)手动查看运行日志和容器状态或在任务管理模块来实现。
30、一种数据传输服务的轻量化部署实现装置,包括:至少一个存储器和至少一个处理器;
31、所述至少一个存储器,最大化的技术复用,减少了开发工作量;器可读程序;
32、所述至少一个处理器,用于调用所述机器可读程序,执行一种数据传输服务的轻量化部署实现方法。
33、本专利技术的一种数据传输服务的轻量化部署实现方法及装置和现有技术相比,具有以下突出的有益效果:
34、本专利技术能够实现简易功能需求的数据传输服务的功能,减少了对服务部署环境的要求,只需要docker环境,简化了部署步骤,减少了服务部署时间,最大化的技术复用,减少了开发工作量。
本文档来自技高网...【技术保护点】
1.一种数据传输服务的轻量化部署实现方法,其特征在于,以Docker容器方式部署运行,首先搭建数据库代理模块,对所有支持数据库连接进行验证,获取库表及权限验证;进入前端模块提供任务管理界面,任务管理模块调度创建任务所需的资源和数据库模块;
2.根据权利要求1所述的一种数据传输服务的轻量化部署实现方法,其特征在于,所述数据库访问模块分为数据库采集模块和数据库入库模块,所述数据库采集模块从数据库中读取库表结构、全量和增量数据;
3.根据权利要求2所述的一种数据传输服务的轻量化部署实现方法,其特征在于,数据传输服务创建任务的过程为:
4.根据权利要求3所述的一种数据传输服务的轻量化部署实现方法,其特征在于,将数据库采集模块、数据库入库模块和消息中间件模块镜像拷贝并加载到docker,创建数据库采集模块和入库模块所需的配置文件,规划使用的消息中间件资源和组件挂载的卷,创建容器即可启动数据传输服务。
5.根据权利要求4所述的一种数据传输服务的轻量化部署实现方法,其特征在于,所述数据库代理模块对外提供GRPC服务,验证各种数据库的连接,获取数据
6.根据权利要求5所述的一种数据传输服务的轻量化部署实现方法,其特征在于,所述消息中间件模块使用开启jet-stream的nats,通过nats shell进行subject和consumer的管理和监控,创建三个subject和consumer,分别为全量数据、增量数据和监控数据的生产和消费;
7.根据权利要求6所述的一种数据传输服务的轻量化部署实现方法,其特征在于,开启远程访问端口后,通过docker-java客户端查看镜像,查看容器,查看容器状态和创建容器,具体步骤如下:
8.根据权利要求7所述的一种数据传输服务的轻量化部署实现方法,其特征在于,在一个新的具备了docker的操作系统上,用如下方式来部署数据传输服务;
9.一种数据传输服务的轻量化部署实现装置,其特征在于,包括:至少一个存储器和至少一个处理器;
...【技术特征摘要】
1.一种数据传输服务的轻量化部署实现方法,其特征在于,以docker容器方式部署运行,首先搭建数据库代理模块,对所有支持数据库连接进行验证,获取库表及权限验证;进入前端模块提供任务管理界面,任务管理模块调度创建任务所需的资源和数据库模块;
2.根据权利要求1所述的一种数据传输服务的轻量化部署实现方法,其特征在于,所述数据库访问模块分为数据库采集模块和数据库入库模块,所述数据库采集模块从数据库中读取库表结构、全量和增量数据;
3.根据权利要求2所述的一种数据传输服务的轻量化部署实现方法,其特征在于,数据传输服务创建任务的过程为:
4.根据权利要求3所述的一种数据传输服务的轻量化部署实现方法,其特征在于,将数据库采集模块、数据库入库模块和消息中间件模块镜像拷贝并加载到docker,创建数据库采集模块和入库模块所需的配置文件,规划使用的消息中间件资源和组件挂载的卷,创建容器即可启动数据传输服务。
5.根据权利要求4所述的一种数据传输服务的轻量...
【专利技术属性】
技术研发人员:方建勋,邓光超,王阳,时云智,
申请(专利权)人:浪潮云信息技术股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。