掌桥专利:专业的专利平台
掌桥专利
首页

跨云数据同步方法、装置、计算机设备及可读存储介质

文献发布时间:2023-06-19 19:23:34


跨云数据同步方法、装置、计算机设备及可读存储介质

技术领域

本发明涉及云存储技术领域,特别涉及一种跨云数据同步方法、装置、计算机设备及可读存储介质。

背景技术

随着互联网用户的发展,被创造和分享的数字信息量逐年增长,包括照片、音频、视频等数据信息充斥着网络和硬盘;尤其是在互联网的发展中,移动互联网的快速发展,更是引发了一场数据革命,在这场数据革命中,首当其冲的就是硬盘,即使再大的硬盘,在海量的数据面前都是无用的,因此,可以将各种硬盘联合在一起形成集群的云存储技术就成了可靠的选择。

随着云存储技术的发展,云存储的种类也被细分开来,具体可分为四大类:公共云存储、私人云存储、内部云存储、混合云存储。随着技术的逐渐成熟,很多企业有了自己的SaaS(是软件运营服务Software as a Service的简称,是指用户获取软件服务的一种新形式,它不需要用户将软件产品安装在自己的电脑或服务器上,而是按某种服务水平协议直接通过网络向专门的提供商获取自己所需要的、带有相应软件功能的服务)化产品、各种数据中心。

然而,随着数据中心的不断膨胀,单一的云存储方式已经很难满足客户的需求,很多企业面临着一个重要问题,就是如何将不同地区的数据进行稳定同步。现有技术中,各类公有云厂商有提供自身的跨云数据传输方案,例如DTS(全称为Data TransmissionService,即数据传输服务),通过配置源和目的数据实例,实现在相同账号下的跨云数据传输功能,该服务通过流量和数据实例计费,具有一定的局限性,源和目的数据库只能是该厂商下的云存储服务数据库或ECS,不能实现数据的离线定期同步,没有相关的内部云存储数据同步支持。且传统的数据同步或迁移服务,比较笼统,不会对数据进行应用级别的细分,很多无用数据会随之一起拷贝,无疑增加了企业成本,且迁移过程比较耗费人力。

不同的云存储服务平台之间不能实现数据同步成为了急需解决的问题。

发明内容

有鉴于此,本发明实施例提供了一种跨云数据同步方法,以解决了现有技术中不同的云存储服务平台之间不能实现数据同步的技术问题。该方法包括:接收数据同步任务,其中,数据同步任务用于指示将第一云存储系统中的数据跨云同步至第二云存储系统,第一云存储系统和第二云存储系统属于不同的云存储服务平台;生成有向无环图剧本,其中,有向无环图剧本用于采用脚本的方式适配作为数据源的第一云存储系统、并适配第一云存储系统与第二云存储系统之间的数据传输方式;运行有向无环图剧本,以将第一云存储系统中数据的存储格式调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统。

本发明实施例还提供了一种跨云数据同步装置,以解决了现有技术中不同的云存储服务平台之间不能实现数据同步的技术问题。该装置包括:接收模块,用于接收数据同步任务,其中,数据同步任务用于指示将第一云存储系统中的数据跨云同步至第二云存储系统,第一云存储系统和第二云存储系统属于不同的云存储服务平台;生成模块,用于生成有向无环图剧本,其中,有向无环图剧本用于采用脚本的方式适配作为数据源的第一云存储系统、并适配第一云存储系统与第二云存储系统之间的数据传输方式;运行模块,用于运行有向无环图剧本,以将第一云存储系统中数据的存储格式调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统。

本发明实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现上述任意的跨云数据同步方法,以解决了现有技术中不同的云存储服务平台之间不能实现数据同步的技术问题。

本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质存储有执行上述任意的跨云数据同步方法的计算机程序,以解决了现有技术中不同的云存储服务平台之间不能实现数据同步的技术问题。

与现有技术相比,本说明书实施例采用的上述至少一个技术方案能够达到的有益效果至少包括:通过脚本适配了不同云存储系统之间的数据格式和传输方式,从而解决了现有技术中不同的云存储服务平台之间不能实现数据同步的技术问题。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明实施例提供的一种跨云数据同步方法的流程图;

图2是本发明实施例提供的一种跨云数据同步系统的示意图;

图3是本发明实施例提供的一种跨云数据同步方案的模块示意图;

图4是本发明实施例提供的一种跨云数据同步方案的界面示意图;

图5是本发明实施例提供的一种跨云数据同步方案的界面示意图;

图6是本发明实施例提供的一种跨云数据同步方案的界面示意图;

图7是本发明实施例提供的一种跨云数据同步方案的示意图;

图8是本发明实施例提供的一种计算机设备的示意图;

图9是本发明实施例的跨云数据同步装置的一种结构框图。

具体实施方式

下面结合附图对本申请实施例进行详细描述。

以下通过特定的具体实例说明本申请的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本申请的其他优点与功效。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。本申请还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本申请的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

为便于对本申请技术方案的理解,下面先对本申请所涉及的技术术语进行解释说明:

云存储(cloud storage):是指通过集群应用、网格技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。

云计算:是基于分布式处理(Distributed Computillg)、并行处理(ParallelComputing)和网格计算(Grid Computing)发展而来的技术,该技术透过网络将庞大的计算处理程序自动分拆成无数个较小的子程序,再交由多部服务器所组成的庞大系统经计算分析,之后将处理结果回传给用户。通过云计算技术,网络服务提供者可以在数秒之内,处理数以千万计甚至亿计的信息,达到和“超级计算机”同样强大的网络服务。

公共云存储:该技术能够以低成本提供大容量的文件存储,供应商能保持每个客户的存储、应用都是独立的、私有的,类似于企业网盘。

私有云存储:公共云存储可以划出一部分用作私有云存储,私有云存储可以部署在企业数据中心或相同地点的设施上,由企业的IT部门或服务供应商管理。

内部云存储:是私有云存储的一种,和普通私有云存储的区别在于,内部云存储位于企业防火墙内部。

混合云存储:是一种把公共云和私有云/内部云结合在一起的云存储形式,主要用于按客户要求的访问,特别是需要临时配置容量的时候,可以从公共云上划出一部分容量配置到其他位置,以应对负载波动或高峰。

IaC:(全称为Infrastructure as Code):是通过代码(借助包含基础架构规范化的配置文件或脚本)来管理和置备基础架构的方法。利用IaC可以创建、编辑和分发对于基础架构的配置、确保配置环境一致性。IaC 减轻了开发人员的重复劳动,通过标准化的方式使得开发人员只需要执行一个脚本即可让整个基础架构准备就绪,并使多次环境部署保持一致。同时,IaC还可以和DevOps(Development和Operations的组合词,是一组过程、方法与系统的统称,用于促进开发、技术运营和质量保障部门之间的沟通、协作与整合)、CICD(CI全称为 Continuous Integration,表示持续集成,CD包含 Continuous Delivery和Continuous Deployment,分别是持续交付和持续部署)完美衔接。

DAG(全称为Directed Acyclic Graph),中文意为有向无环图,“有向”指的是有方向,准确的说应该是同一个方向,“无环”则指够不成闭环,是计算机领域的一种常用数据结构,因为独特的拓扑结构所带来的优异特性,经常被用于处理动态规划、导航中寻求最短路径、数据压缩等多种场景。

在本发明实施例中,针对上述问题提供了一种可以自定义迁移数据样本以及跨云数据传输方式的跨云数据同步方法,该方法可以自定义控制不同数据源的迁移格式,通过简单的脚本适配不同数据源和传输方式,自动执行编辑好的迁移流程剧本,即可自动完成可控的跨云数据传输,如图1所示,包括如下步骤:

步骤S11,接收数据同步任务,数据同步任务用于指示将第一云存储系统中的数据跨云同步至第二云存储系统,第一云存储系统和第二云存储系统属于不同的云存储服务平台,此处的云存储服务平台相当于云服务供应商,即第一云存储系统和第二云存储系统属于不同的云服务供应商(或云服务公司)。

步骤S12,生成有向无环图剧本,有向无环图剧本用于采用脚本的方式适配作为数据源的第一云存储系统、并适配第一云存储系统与第二云存储系统之间的数据传输方式。

有向无环图DAG(全称为Directed acyclic graph,即有向无环图,在图论中,如果一个有向图无法从某个顶点出发经过若干条边回到该点,则这个图是一个有向无环图)是用来表征迁移流程的,迁移流程即是剧本的执行过程,通过图中节点的连线顺序执行涉及到的插件、算子等,每执行一次,就是对数据的一次迁移。

上述脚本适配原理是通过自定义数据源的脚本开发,定义输入参数和输出参数,以及它们的参数类型,实现数据过滤、拆分等所需要的逻辑功能,去适配存储服务所需要的数据格式。具体实现方式包括如下两个部分:

1)编辑逻辑节点

用户根据第一云存储系统与第二云存储系统之间的适配过程选择节点,每个节点表征适配过程中的一个逻辑功能,之后对节点的输入参数、输入参数的参数类型、输出参数以及输出参数的参数类型等进行编辑,其中包括初始节点和结束节点。具体实现过程如下:

1.1)展示交互界面,交互界面包括第一区域和第二区域,第一区域用于展示表示逻辑功能的第一候选节点,第二区域用于对选中节点进行配置。

1.2)在第一区域的第一候选节点中存在被选中节点的情况下,展示被选中节点的节点脚本。

1.3)在检测到在第二区域对节点脚本中的输入参数、输入参数的参数类型、输出参数以及输出参数的参数类型中的至少之一进行配置的情况下,对修改后的节点脚本进行检查校验。

例如,对修改后的节点脚本中的输入参数的格式、输出参数的格式、输入参数的默认值、以及输出参数的默认值进行校验;对修改后的节点脚本的代码格式、敏感词以及存在风险的命令进行检查,并给出相应提示。

1.4)在修改后的节点脚本通过检查校验的情况下,将修改后的节点脚本与选中节点关联后保存。

2)编辑传输节点

编辑传输节点的流程与上述编辑逻辑节点的流程类似,具体如下:

2.1)在交互界面的第一区域展示表示传输算子的第二候选节点。

上述传输算子包括离线传输算子和在线传输算子,离线传输算子用于采用离线的方式将第一云存储系统中的数据同步至第二云存储系统,在线传输算子用于通过调用数据流处理引擎,采用在线的方式将第一云存储系统中的数据实时同步至第二云存储系统。

2.2)在第一区域的第二候选节点中存在被选中节点的情况下,在交互界面的第二区域展示被选中节点的传输算子。

2.3)在检测到在第二区域对被选中节点的传输算子进行修改的情况下,保存修改后的传输算子。

3)生成有向无环图剧本

可通过建立多个节点之间的有向无环图连接来定义多个节点之间的运行顺序,得到有向无环图剧本。例如:在交互界面的画布中展示被拖入的多个节点,其中,画布用于新增节点、删除节点、建立节点之间的连接、配置节点参数类型、配置节点的重试次数以及配置节点的超时时间;按照在画布中配置好的关系保存多个节点为有向无环图剧本。

步骤S13,运行有向无环图剧本,以将第一云存储系统中数据的存储格式调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统。

上述跨云数据同步支持一对一、一对多、多对一、多对多四种模式:

1)在第一云存储系统和第二云存储系统为一对一的情况下,将第一云存储系统中数据的存储格式直接调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统;

2)在第一云存储系统和第二云存储系统为多对一的情况下,将所有第一云存储系统中数据的存储格式均调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统;

3)在第一云存储系统和第二云存储系统为一对多的情况下,将第一云存储系统中数据的存储格式,逐个按照第二云存储系统的数据格式的要求进行适配,在适配完之后按照约定的数据传输方式传输至相应的第二云存储系统;

4)在第一云存储系统和第二云存储系统为多对多的情况下,将所有第一云存储系统中数据的存储格式,逐个按照第二云存储系统的数据格式的要求进行适配,在适配完之后按照约定的数据传输方式传输至相应的第二云存储系统。

在本申请的技术方案中,针对跨云同步数据过程中不能更好兼容多种异构数据、多种不同类型的云存储方式(即不同的云存储服务平台之间不能实现数据同步),提出了一种基于插件化可编排的开源数据同步方案,支持跨不同云存储服务平台的数据同步,以及离线的数据转储,通过对编排剧本的自定义控制,即可实现一对多、多对一、多对多的数据同步服务。比如:将一个数据源的信息通过剧本中的RabbitMQ(是实现了高级消息队列协议AMQP的开源消息代理软件,亦称面向消息的中间件)消息分发节点进行拆分处理,能将一份数据传输到多个目标集群;而利用Redis(是一个开源的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API)缓存插件,可以将多个云存储数据源的数据信息,汇聚整合到一起,并发送到一个接收方,实现多对一的数据传输;同理利用RabbitMq和redis插件的集合,就可以实现多对多的数据传输方案。

为了便于进一步了解本申请的技术方案,下文结合具体实施方式进一步详述本申请的技术方案:

本发明涉及一种通过插件化数据接口来实施跨云数据同步的技术,如图2所示,用户通过用户终端(如计算机终端设备)T1与云管平台CM2链接,云管平台CM2含有插件管理、传输管理、任务编排三大主要功能,首先,用户在云管平台CM2提供的插件管理功能下,定义自己的数据源过滤脚本,定义过程,不需要从零开始编写代码,可以将右侧现有的插件拖拽到编辑区,通过简单的改变输入输出参数,在本发明的CM2云管平台上保存后,就可以实现一个新的脚本插件。

脚本是集成好的代码,进行简单的自定义,插件是这个脚本保存后在本发明系统后台会生成对应的插件,插件可被继承,可被DAG图编辑。

本发明初始化有大部分的插件,比如Mysql数据引擎插件、Mongodb数据引擎插件、Redis缓存插件、ElasticSearch搜索引擎插件、OrientDB图数据引擎插件、ADS数据引擎插件、HIVE大数据服务插件、Flink服务插件等。

编辑好脚本文件后,CM2平台会对脚本进行一系列的格式检查,参数校验等前期准备工作,检查没问题后,用户在传输管理中,进行传输方式的定义,可以选择离线传输,在线传输两大类,之后,用户就可以在任务编排中,对上述定义的脚本就行编排关联,保存为剧本后,CM2云管平台就可以自动执行剧本中的任务,完成数据的流转,同步迁移。具体实施方式如下:

本申请技术方案的实施环境参考图2,该实施环境是一个标准的跨云数据传输系统,它包括:用户终端T1、云管平台CM2和多个云存储服务中心(如S1、S2、S3)。

1)用户终端T1:它可以是笔记本电脑,各类台式主机,平板电脑等能够访问互联网的电子设备,可以安装CM2云管平台的客户端,这里客户端不做特别指定,既可以是一个完成独立运行的程序,也可以是通过浏览器访问的CM2云管平台提供的管理页面。

2)云管平台CM2:即跨云数据同步管理平台,实现基于IaC(基础设施即代码)的理念,通过各类标准化的插件,来编排具体的数据同步任务,表现上它可以是一台云服务器,也可以是多台服务器组成的集群化系统。

3)云存储服务Si(i的取值可以为1、2、3等自然数):即需要同步或接收数据的云存储服务,可以是不同的数据服务,比如Mysql、Mongodb等,既可以是单一的存储实例,也可以是多台服务组成的存储集群。

下文根据图3所示,介绍本申请技术方案的主要工作步骤:

步骤300,进行插件管理,本方案提供了常见的多种数据库服务接口脚本(如图4中的200所示的区域所示),供用户继承并自定义,通过简单代码编写配置,即可实现对特定云存储服务数据库实例的对接。

例如,用户选择Mysql数据引擎插件,用户需要将拖拽到中间的可编辑区域(如图4中201所示的区域),系统会自动打开插件的脚本代码,用户可以编辑插件的入参出参及其参数类型,按照下述的方式进行校验检查后进行保存,就可以完成一个插件的自定义过程。

步骤301,进行参数校验,用户定义好自己的数据源脚本文件后,需要对脚本的输入输出参数格式,默认值等进行校验;

步骤302,进行脚本检查,参数校验完毕后,会进行脚本代码内容审查,包括代码格式、敏感词、高危命令过滤等内容,并会给出相应提示,只有通过检查的脚本才能保存使用。

步骤303,进行传输算子的管理,本方案集成众多流处理函数,用户可以选择相应的算子进行编辑,例如windowSplit算子、distinct操作算子、dropWhile操作算子、allMatch算子、limit算子等,用户还可以自定义自己的函数算子,用于过滤数据流,算子使用场景分为离线(如:用户可以在图6中402所示区域选择离线算子,并在403所示区域对选中的算子进行编辑)和在线(如:用户可以在图5中400所示区域选择在线算子,并在401所示区域对选中的算子进行编辑)两种方式:

离线单元:不需要依靠网络实时传输数据,它能够处理存放在各类存储器中的数据信息,通过编排好的剧本录入目标集群。离线算子集合中的算子,输出会指定到服务器某个特定存储区域,用于在任务编排中被某些特定的任务DAG调用,并在指定时间开始迁移数据到DAG中定义云存储服务器,由于过滤好的数据以离线文件的形式存储在硬盘,用户可以灵活配置DAG的工作时间,避免在业务高峰器同步数据占用带宽;

在线单元:在线单元依赖网络的传输带宽,更适用于对数据实时性同步要求较高的场景,能够在分钟级(甚至秒级)实现对源数据源到任意目标云存储集群的数据实时同步。在线单元中的算子,主要会对接到各类消息队列或者Flink、Spark等大数据流处理引擎,这类算子在DAG图中,会以更加高效的方式运行,来保证数据以最快速度同步到目标云存储端Si。

步骤304,进行任务编排。

如图7所示,在404所示区域,需要将定义的各类插件实例和传输算子节点拖拽到画布405中进行自由组合连接。例如,将MySql数据源处理插件的输出连线到json格式化处理算子的输入,可以将Mysql的数据信息格式化成json化的数据格式;

如图7所示,在406所示区域,用户自定义该节点参数类型以及节点的重试配置等操作。例如,节点执行时可能会超时,可能会有错误抛出,用户可以配置超时时间,和抛错后的重试次数;

如图7所示,在407所示区域,用户可以模拟运行该节点以测试步骤406中的配置是否符合预期;

如图7所示,在408所示区域,用户点击删除,可以删除不需要的节点,删除的节点只会在画布中删除,不会在左侧的任务池子里做删除。

步骤305,按照编辑好的DAG图运行。

编辑好的DAG图,是静态的模板数据,需要在执行单元运行,执行单元会按照DAG图的语义顺序,调度执行节点最终将数据流转到目的云存储服务端的云管客户端CM2。

步骤306,进行完整性校验。

云管平台CM2在接收到DAG发送过来的数据后,会对数据进行完整性的校验,并将结果发送到CM2的服务器端,如果数据不完整则会自动丢弃,并重新发送。

在本申请的技术方案中,实现了一种能兼容多种开源数据库引擎的框架,扩展灵活,支持系统热加载;实现了DAG图执行引擎,一种适用于大数据流节点的图加载、执行算法。能够带来如下有益效果:基于插件化的数据库链接管理方式,使用户通过简单的脚本编写即可快速对接各类云存储服务提供的数据库;将数据同步的过程流程化,方便用户自定义;通过DAG图的定义,将转储和同步分开,用户可以选择在业务低峰期周期性进行离线数据的同步,高峰期只进行数据转储。

在本实施例中,提供了一种计算机设备,如图8所示,包括存储器801、处理器802及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意的跨云数据同步方法。

具体的,该计算机设备可以是计算机终端、服务器或者类似的运算装置。

在本实施例中,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述任意的跨云数据同步方法的计算机程序。

具体的,计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机可读存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。

基于同一发明构思,本发明实施例中还提供了一种跨云数据同步装置,如下面的实施例所述。由于跨云数据同步装置解决问题的原理与跨云数据同步方法相似,因此跨云数据同步装置的实施可以参见跨云数据同步方法的实施,重复之处不再赘述。以下所使用的,术语“单元”或者“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图9是本发明实施例的跨云数据同步装置的一种结构框图,如图9所示,包括:接收模块91、生成模块92、运行模块93,下面对该结构进行说明。

接收模块91,用于接收数据同步任务,数据同步任务用于指示将第一云存储系统中的数据跨云同步至第二云存储系统,第一云存储系统和第二云存储系统属于不同的云存储服务平台。

生成模块92,用于生成有向无环图剧本,有向无环图剧本用于采用脚本的方式适配作为数据源的第一云存储系统、并适配第一云存储系统与第二云存储系统之间的数据传输方式。

可选地,生成模块包括:节点编辑子模块,用于为多个节点中的每个节点定义输入参数、输入参数的参数类型、输出参数以及输出参数的参数类型,其中,多个节点的初始节点的脚本中的输入参数包括将第一云存储系统定义为数据源的参数,多个节点的结束节点的脚本中的输出参数包括将第二云存储系统定义为目的地的参数,多个节点中的每个节点用于执行第一云存储系统与第二云存储系统之间的适配过程中的一个逻辑功能;图生成子模块,用于通过建立多个节点之间的有向无环图连接来定义多个节点之间的运行顺序,得到有向无环图剧本。

可选地,上述节点编辑子模块还用于:展示交互界面,其中,交互界面包括第一区域和第二区域,第一区域用于展示表示逻辑功能的第一候选节点,第二区域用于对选中节点进行配置;在第一区域的第一候选节点中存在被选中节点的情况下,展示被选中节点的节点脚本;在检测到在第二区域对节点脚本中的输入参数、输入参数的参数类型、输出参数以及输出参数的参数类型中的至少之一进行配置的情况下,对修改后的节点脚本进行检查校验;在修改后的节点脚本通过检查校验的情况下,将修改后的节点脚本与选中节点关联后保存。

可选地,上述节点编辑子模块还用于:对修改后的节点脚本中的输入参数的格式、输出参数的格式、输入参数的默认值、以及输出参数的默认值进行校验;对修改后的节点脚本的代码格式、敏感词以及存在风险的命令进行检查,并给出相应提示。

可选地,上述节点编辑子模块还用于:在交互界面的第一区域展示表示传输算子的第二候选节点,其中,传输算子包括离线传输算子和在线传输算子,离线传输算子用于采用离线的方式将第一云存储系统中的数据同步至第二云存储系统,在线传输算子用于通过调用数据流处理引擎,采用在线的方式将第一云存储系统中的数据实时同步至第二云存储系统;在第一区域的第二候选节点中存在被选中节点的情况下,在交互界面的第二区域展示被选中节点的传输算子;在检测到在第二区域对被选中节点的传输算子进行修改的情况下,保存修改后的传输算子。

可选地,上述图生成子模块还用于:在交互界面的画布中展示被拖入的多个节点,其中,画布用于新增节点、删除节点、建立节点之间的连接、配置节点参数类型、配置节点的重试次数以及配置节点的超时时间;按照在画布中配置好的关系保存多个节点为有向无环图剧本。

运行模块93,用于运行有向无环图剧本,以将第一云存储系统中数据的存储格式调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统。

可选地,运行模块还用于:在第一云存储系统和第二云存储系统为一对一的情况下,将第一云存储系统中数据的存储格式调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统;在第一云存储系统和第二云存储系统为多对一的情况下,将所有第一云存储系统中数据的存储格式均调整为与第二云存储系统适配的数据格式,并按照约定的数据传输方式传输至第二云存储系统;在第一云存储系统和第二云存储系统为一对多的情况下,将第一云存储系统中数据的存储格式,逐个按照第二云存储系统的数据格式的要求进行适配,在适配完之后按照约定的数据传输方式传输至相应的第二云存储系统;在第一云存储系统和第二云存储系统为多对多的情况下,将所有第一云存储系统中数据的存储格式,逐个按照第二云存储系统的数据格式的要求进行适配,在适配完之后按照约定的数据传输方式传输至相应的第二云存储系统。

在本申请的技术方案中,针对跨云同步数据过程中不能更好兼容多种异构数据、多种不同类型的云存储方式(即不同的云存储服务平台之间不能实现数据同步),提出了一种基于插件化可编排的开源数据同步方案,支持跨不同云存储服务平台的数据同步,以及离线的数据转储,通过对编排剧本的自定义控制,即可实现一对多、多对一、多对多的数据同步服务。比如:将一个数据源的信息通过剧本中的RabbitMQ消息分发节点进行拆分处理,能将一份数据传输到多个目标集群;而利用Redis缓存插件,可以将多个云存储数据源的数据信息,汇聚整合到一起,并发送到一个接收方,实现多对一的数据传输;同理利用RabbitMq和redis插件的集合,就可以实现多对多的数据传输方案。

显然,本领域的技术人员应该明白,上述的本发明实施例的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明实施例不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115891433