数据复制方法及装置与流程

文档序号:11156900阅读:650来源:国知局
数据复制方法及装置与制造工艺

本发明涉及数据实时处理技术,特别涉及一种数据复制方法及装置。



背景技术:

对于处理实时数据的IT系统,经常建设有异地双活生产中心及或异地灾备中心。在这类系统中,经常需要在信息中心内部不同生产系统之间、或异地不同信息中心之间进行连续的数据复制。

数据复制技术具有实时性高、数据丢失少或零丢失、容灾恢复快、投资较高等特点。现有的数据复制技术实现根据数据复制的层次可以分为:存储系统层数据复制、虚拟存储数据复制、操作系统数据复制和应用层数据复制。

存储系统层的数据复制:对于主机的操作系统是完全透明的,是对于将来增加新的操作平台,可不用增加任何复制软件的投资,即可实现复制。这样管理比较简单,最大程度保护了用户的投资,达到充分利用资源的目的。基于存储的复制一般都是采ATM或光纤通道作为远端的链路连接,不仅可以做到异步复制,更可以做到同步复制,使两端数据可做到实时同步的目的,保证了数据的一致性。但是由于基于存储是由存储硬件厂商提供的,在兼容性方面有局限性。用户要使用同一厂商的devices,给用户造成的选择面太小,成本容易提高,并且对线路带宽的要求通常也较高。

虚拟存储复制技术:伴随着存储局域网的出现引入的,通过构建虚拟存储上实现数据复制。通过存储虚拟化设备实现卷镜像复制功能的优势在于操作由存储虚拟化设备来完成、压力集中的存储虚拟化设备上,不需要主机参与,数据复制进程安全稳定。但是该技术需要增加专用存储虚拟化设备,有的需要在主机端需要安装存储虚拟化设备的客户端软件,比如UIT SVM;有的需要依赖高端智能交换机,比如EMC VSM。目前使用这种技术的产品还不是很多,成熟性还有待提高,具有这种功能的专用设备价格也相对较高,所以采用这种方案的用户比较少。

操作系统层数据复制:主要通过操作系统或者数据卷管理器来实现对数据的远程复制。这种复制技术要求本地系统和远端系统的主机是同构的,其实现方式是基于主机的数据复制,容灾方式工作在主机的卷管理器这一层,通过磁盘卷的镜像或复制,实现数据的容灾。这种方式也不需要在两边采用同样的存储设备,具有较大的灵活性,但是复制功能会多少占用一些主机的CPU资源,对主机的性能有一定的影响。

应用层数据复制:大多数IT系统使用的数据复制应用仅针对单个数据源对单个目标端,存在部署不统一,服务不通用,数据库耦合性较强的问题;对于单个数据源需要向多目标端复制数据的需求,往往需要同一数据需要从源库获取多次,对源库影响较大。



技术实现要素:

本发明实施例提供了一种数据复制方法及装置,以独立的执行不同的数据复制任务,使得各个数据复制任务互不影响,便于管理和运维。

为了实现上述目的,本发明实施例提供了一种数据复制方法,该数据复制方法包括:

接收数据发布端的数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的至少部分发布数据;

向数据订阅端发送发布数据分发请求,根据不同数据订阅端的订阅需求并行向所述数据订阅端发送所述发布数据。

一实施例中,该数据复制方法还包括:将所述发布数据缓存至本地。

一实施例中,根据不同数据订阅端的订阅需求并发向所述订阅端发送所述发布数据,包括:

根据不同数据订阅端的订阅需求进行对应的形变处理,将形变处理后的所述发布数据并行发送至不同的所述数据订阅端。

一实施例中,根据所述数据发布请求向所述数据发布端发送数据接收应答请求,以使所述数据发布端继续发送剩余的发布数据。

一实施例中,该数据复制方法还包括:根据所述数据发布端和/或所述数据订阅端的接入请求进行接入认证,以建立与所述数据发布端和/或所述数据订阅端的连接,其中,所述接入请求中包括:端口、地址及进程编号。

为了实现上述目的,本发明实施例还提供了一种数据复制方法,该数据复制方法包括:

向数据分发服务端发送数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的部分发布数据;

若接收到所述数据分发服务端发送的数据接收应答请求,基于所述数据接收应答请求向所述数据分发服务端发送剩余的发布数据。

为了实现上述目的,本发明实施例还提供了一种数据复制方法,该数据复制方法包括:

接收数据分发服务端发送的发布数据分发请求;

根据所述发布数据分发请求从所述数据分发服务端的缓存中获取对应的发布数据,并将所述发布数据保持至目标数据库。

为了实现上述目的,本发明实施例还提供了一种数据复制装置,该数据复制装置包括:

请求接收单元,用于接收数据发布端的数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的至少部分发布数据;

数据并行发送单元,用于向数据订阅端发送发布数据分发请求,根据不同数据订阅端的订阅需求并行向所述数据订阅端发送所述发布数据。

一实施例中,该数据复制装置还包括:存储单元,用于将所述发布数据缓存至本地。

一实施例中,所述数据并行发送单元具体用于:根据不同数据订阅端的订阅需求进行对应的形变处理,将形变处理后的所述发布数据并行发送至不同的所述数据订阅端。

一实施例中,该数据复制装置还包括:应答发送单元,用于根据所述数据发布请求向所述数据发布端发送数据接收应答请求,以使所述数据发布端继续发送剩余的发布数据。

一实施例中,该数据复制装置还包括:终端接入单元,用于根据所述数据发布端和/或所述数据订阅端的接入请求进行接入认证,以建立与所述数据发布端和/或所述数据订阅端的连接,其中,所述接入请求中包括:端口、地址及进程编号。

为了实现上述目的,本发明实施例还提供了一种数据复制装置,该数据复制装置包括:

请求发送单元,用于向数据分发服务端发送数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的部分发布数据;

数据发送单元,用于基于所述数据接收应答请求向所述数据分发服务端发送剩余的发布数据。

为了实现上述目的,本发明实施例还提供了一种数据复制装置,该数据复制装置包括:

请求接收单元,用于接收数据分发服务端发送的发布数据分发请求;

数据获取单元,用于根据所述发布数据分发请求从所述数据分发服务端的缓存中获取对应的发布数据,并将所述发布数据保持至目标数据库。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

附图说明

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

图1为本发明实施例的数据复制方法流程图;

图2为本发明实施例的数据分发服务端的结构示意图;

图3为本发明一实施例的数据复制装置的结构示意图

图4为本发明另一实施例的数据复制装置的结构示意图;

图5为本发明一实施例的数据复制方法流程图;

图6为本发明一实施例的数据复制装置的结构示意图;

图7为本发明一实施例的数据复制方法流程图;

图8为本发明一实施例的数据复制装置的结构示意图;

图9为本发明实施例的数据复制系统的结构示意图;

图10为本发明实施例的数据复制实现示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例一

图1为本发明实施例的数据复制方法流程图,如图1所示,该数据复制方法包括:

S101:接收数据发布端的数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的至少部分发布数据;

S102:向数据订阅端发送发布数据分发请求,根据不同数据订阅端的订阅需求并行向所述数据订阅端发送所述发布数据。

图1所示的方法的执行主体可以为数据分发服务端,该数据分发服务端与多个数据发布端及多个数据订阅端分别连接。由图1所示的流程可知,本实施例首先接收数据发布端的数据发布请求,然后向数据订阅端发送发布数据分发请求,最后根据不同数据订阅端的订阅需求并行向所述数据订阅端发送所述发布数据。利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据复制任务设置各自的进程中处理;各个数据复制任务互不影响,便于管理和运维。

本发明实施例中,数据分发服务端在接收到数据发布端发送的发布请求之后,还可以根据所述数据发布请求向所述数据发布端发送数据接收应答请求,以使所述数据发布端继续发送剩余的发布数据。

图2为本发明实施例的数据分发服务端的结构示意图,如图2所示,该数据分发服务端主要包括:通信网关,配置模块,数据接收模块,数据缓存模块,任务调度模块,多个任务分发模块。

本发明的数据分发服务端制定了数据分发的统一接口,利用通信网关,数据分发服务端可以与多个数据发布端及多个数据订阅端分别通信。利用配置模块,可以根据数据发布端和/或所述数据订阅端的接入请求进行接入认证及配置,以建立与所述数据发布端和/或所述数据订阅端的连接,其中,所述接入请求中包括:端口、地址及进程编号。通过配置模块的配置,可以使得不同的数据复制任务设置各自的进程,各个数据复制任务互不影响,便于管理和运维。另外,利用配置模块,还可以根据不同数据订阅端的订阅需求进行对应的形变处理,将形变处理后的所述发布数据并行发送至不同的所述数据订阅端。

利用数据接收模块可以实现上述发布请求的接收,利用数据缓存模块可以将发布数据缓存至数据分发服务端。数据分发服务端的数据缓存模块可以根据发布数据的存储发布数据,将发布数据按照任务队列存储。任务调度模块根据数据订阅端的请求,可以将任务队列的数据通过不同的任务分发模块发送至不同的数据订阅端。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

实施例二

基于与实施例一的数据复制方法相同的发明构思,本申请提供一种数据复制装置,如下面实施例所述。由于该数据复制装置解决问题的原理与实施例一的数据复制方法相似,因此该数据复制装置的实施可以参见实施例一所述的数据复制方法的实施,重复之处不再赘述。

图3为本发明一实施例的数据复制装置的结构示意图,如图3所示,该数据复制装置包括:

请求接收单元301,用于接收数据发布端的数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的至少部分发布数据;

数据并行发送单元302,用于向数据订阅端发送发布数据分发请求,根据不同数据订阅端的订阅需求并行向所述数据订阅端发送所述发布数据。

具体实施时,数据并行发送单元302可以根据不同数据订阅端的订阅需求进行对应的形变处理,将形变处理后的所述发布数据并行发送至不同的所述数据订阅端。

图4为本发明另一实施例的数据复制装置的结构示意图,该数据复制装置包括:请求接收单元301及数据并行发送单元302。

本实施例中,数据复制装置还包括:存储单元401,用于将所述发布数据缓存至本地。

本实施例中,数据复制装置还包括:应答发送单元402,用于根据所述数据发布请求向所述数据发布端发送数据接收应答请求,以使所述数据发布端继续发送剩余的发布数据。

本实施例中,数据复制装置还包括:终端接入单元403,用于根据所述数据发布端和/或所述数据订阅端的接入请求进行接入认证,以建立与所述数据发布端和/或所述数据订阅端的连接,其中,所述接入请求中包括:端口、地址及进程编号。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

实施例三

本实施例提供一种数据复制方法,该数据复制方法的执行主体为数据发布端,该数据发布端与实施例一中数据分发服务端交互,由于该数据复制方法解决问题的原理与实施例一的数据复制方法相似,因此该数据复制方法的实施可以参见实施例一数据复制方法的实施,重复之处不再赘述。

图5为本实施例的数据复制方法流程图,如图5所示,该数据复制方法包括:

S501:向数据分发服务端发送数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的部分发布数据;

S502:若接收到所述数据分发服务端发送的数据接收应答请求,基于所述数据接收应答请求向所述数据分发服务端发送剩余的发布数据。

图5所示的数据复制方法的执行主体为数据发布端,可以为PC或移动终端。数据发布端可以通过定义的API接口与数据分发服务端进行双工通信,该数据发布端不但可以与同一数据中心的数据分发服务端通信,还可以与其它数据中心的数据分发服务端通信,实现跨平台数据复制。

本实施例中,数据发布端可以同时数据订阅端,即数据的发布及订阅可以在同一个终端进行。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

实施例四

基于与实施例三的数据复制方法相同的发明构思,本申请提供一种数据复制装置,如下面实施例所述。由于该数据复制装置解决问题的原理与实施例三的数据复制方法相似,因此该终端的实施可以参见实施例三所述的数据复制方法的实施,重复之处不再赘述。

图6为本发明一实施例的数据复制装置(数据发布端)的结构示意图,如图6所示,该数据复制装置包括:

请求发送单元601,用于向数据分发服务端发送数据发布请求,所述数据发布请求包括所述数据发布端从源数据库中读取的部分发布数据;

数据发送单元602,用于基于所述数据接收应答请求向所述数据分发服务端发送剩余的发布数据。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

实施例五

本实施例提供一种数据复制方法,该数据复制方法的执行主体为数据发布端,该数据发布端与实施例一中数据分发服务端交互,由于该数据复制方法解决问题的原理与实施例一的数据复制方法相似,因此该数据复制方法的实施可以参见实施例一数据复制方法的实施,重复之处不再赘述。

图7为本实施例的数据复制方法流程图,如图7所示,该数据复制方法包括:

S701:接收数据分发服务端发送的发布数据分发请求;

S702:根据所述发布数据分发请求从所述数据分发服务端的缓存中获取对应的发布数据,并将所述发布数据保持至目标数据库。

图7所示的数据复制方法的执行主体为数据订阅端,可以为PC或移动终端。数据订阅端可以通过定义的API接口与数据分发服务端进行双工通信。

本实施例中,数据发布端可以同时数据订阅端,即数据的发布及订阅可以在同一个终端进行。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

实施例六

基于与实施例五的数据复制方法相同的发明构思,本申请提供一种数据复制装置,如下面实施例所述。由于该数据复制装置解决问题的原理与实施例五的数据复制方法相似,因此该终端的实施可以参见实施例五所述的数据复制方法的实施,重复之处不再赘述。

图8为本发明一实施例的数据复制装置(数据订阅端)的结构示意图,如图6所示,该数据复制装置包括:

请求接收单元801,用于接收数据分发服务端发送的发布数据分发请求;

数据获取单元802,用于根据所述发布数据分发请求从所述数据分发服务端的缓存中获取对应的发布数据,并将所述发布数据保持至目标数据库。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

实施例七

基于与实施例一的数据复制方法相同的发明构思,本申请提供一种数据复制系统,如下面实施例所述。由于该数据复制系统解决问题的原理与实施例一的数据复制方法相似,因此该数据复制系统的实施可以参见实施例一所述的数据复制方法的实施,重复之处不再赘述。

图9为本发明实施例的数据复制系统的结构示意图。如图9所示,该数据复制系统包括:至少一数据分发服务端202、多个数据发布端201及多个数据订阅端203,数据发布端201及数据订阅端203分别与数据分发服务端202相连接。

多个数据发布端201可以分别向数据分发服务端发送数据发布请求,该数据发布请求包括数据发布端从与其连接的源数据库204中读取的部分发布数据。

多个数据订阅端203可以分别接收数据分发服务端202发送的发布数据分发请求,根据发布数据分发请求从数据分发服务端202的缓存中获取对应的发布数据,并将所述发布数据保持至目标数据库205。

数据分发服务端202可以接收多个数据发布端201发送的数据发布请求,并可以向数据订阅端203发送发布数据分发请求,根据不同数据订阅端203的订阅需求并行向所述数据订阅端203发送所述发布数据。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

本发明可以在同一数据中心实现,也可以在不同数据中心间实现,下面结合具体的例子详细说明本发明。

图10为本发明实施例的数据复制实现示意图。如图10所示,其中展示了两个数据分发服务端所在的两个数据中心的部署配置示例及两种数据复制的示例。

各个数据分发客户端负责连接对应的源数据库,读取发布数据传输至所在数据中心的数据分发服务端;数据订阅端从数据分发服务端读取数据写入其对应的目标数据库。每个客户端(数据分发端及数据订阅端)在部署配置时,均在数据分发服务端进行配置,每个发布数据分发的任务独立配置,以便在数据分发服务端集中管理。客户端启动后,依据各自任务在数据分发服务端记录的时间,从数据库读取数据。

图10所示的示例1中,数据中心A的两个源数据库分别作为源端,通过各自对应的数据分发端读取发布数据至数据中心B的数据分发服务端,通过数据中心B的数据订阅端写入两个目标库。

图10所示的示例2中,数据中心A的源数据库通过本地的数据分发服务端写入本地到目标数据库3。

作为本发明的扩展,根据不同的需求,可灵活的部署和配置数据分发任务,例如:可重新开发源数据库1的数据分发端,在现有数据分发端中新增任务,在数据分发服务端新增相应的任务配置,源数据库1通过其数据分发端读取发布数据至数据中心A的数据分发服务端,送至与本地的目标数据库3连接的数据订阅端3写入本地的目标数据库3。

利用本发明,可以将原有一对一的数据转移方式通过统一分发的方式实现,不同的数据源由各自的发布端实现,不同的数据目标由各自的订阅端实现;不同的数据复制任务设置各自的进程处理;各个数据复制任务互不影响,便于管理和运维。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1