发明内容
本申请的目的在于提供一种数据同步的方法、装置和***,能够获取一个计算机网络域的数据源中的数据,并将获取到的数据写入另一个计算机网络域的数据源中,实现了不同计算机网络域的数据源之间的数据同步,满足用户的数据同步需求。
为解决上述技术问题,本申请实施例是这样实现的:
第一方面,提供了一种数据同步的方法,包括:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
获取所述待同步数据;
根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
第二方面,提供了一种数据同步的方法,包括:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
直接读取所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。
第三方面,提供了一种数据同步的方法,包括:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
第四方面,提供了一种数据同步的方法,包括:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源中。
第五方面,提供了一种数据同步装置,包括:
任务获取单元,获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
数据获取单元,直接读取所述待同步数据;
数据写入单元,根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。
第六方面,提供了一种数据同步装置,包括:
任务获取单元,获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
数据获取单元,接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
数据写入单元,根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
第七方面,提供了一种数据同步装置,包括:
任务获取单元,获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
数据获取单元,接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
数据写入单元,根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源中。
第八方面,提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使用所述处理器执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
直接读取所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。
第九方面,提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使用所述处理器执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
第十方面,提供了一种电子设备,包括:
处理器;以及
被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使用所述处理器执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源中。
第十一方面,提供了一种计算机可读介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
直接读取所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。
第十二方面,提供了一种计算机可读介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
第十三方面,提供了一种计算机可读介质,所述计算机可读介质存储一个或多个程序,所述一个或多个程序当被包括多个应用程序的电子设备执行时,使得所述电子设备执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源中。
第十四方面,提供了一种数据同步***,包括第八方面的电子设备、第九方面的电子设备和第十方面的电子设备。
由以上本申请实施例提供的技术方案可见,本申请实施例在获取到第一计算机网络域内第一数据源中的待同步数据之后,根据数据同步任务指示将待同步数据写入第二计算机网络域的第二数据源中,实现了不同计算机网络域的数据源之间的数据同步,满足用户的数据同步需求。
实施例三:
执行方法100的数据同步装置可以为网关设备,如图4所示出的,在S104处,获得待同步数据具体可以是:接收第一计算机网络域中的代理计算机推送的待同步数据。相对应地,在S106处,根据数据同步任务的指示,将待同步数据写入第二数据源中具体可以是:根据数据同步任务的指示,在接收到第二计算机网络域中的代理计算机发送的数据拉取请求时,向第二计算机网络域中的代理计算机发送待同步数据,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。由此使得第二计算机网络域中的代理计算机在接收到待同步数据后,将待同步数据写入第二数据源中。由此,能够实现跨域读取一个计算机网络域的数据源中的待同步数据,并将待同步数据跨域写入另一个计算机网络域的数据源中。
可选地,作为一个例子,用户在确定创建的数据同步任务被分配给网关设备时,配置第一计算机网络域中的代理计算机向网关设备推送待同步数据,并配置第二计算机网络域中的代理计算机向网关设备发送数据拉取请求。或者第一计算机网络域中的代理计算机周期性或非周期性的向网关设备推送待同步数据,第二计算机网络域中的代理计算机周期或非周期的向网关设备发送数据拉取请求。
可选地,作为一个例子,第一计算机网络域中的代理计算机向网关设备推送待同步数据的周期与第二计算机网络域中的代理计算机向网关设备发送数据拉取请求的周期相同。
可选地,作为另一个例子,在S106处接收到的待同步数据为加密和/或压缩后的数据。也就是说,第一计算机网络域中的代理计算机先将待同步数据进行加密和/或压缩,再将加密和/或压缩后的待同步数据推送给网关设备。
可选地,作为再一个例子,用户在触发第一计算机网络域中的代理计算机向网关设备推送待同步数据时,为第一计算机网络域中的代理计算机配置第二数据源的类型。在这种情况下,如果第一计算机网络域中的代理计算机确定第一数据源和第二数据源的类型不同,第一计算机网络域中的代理计算机将待同步数据转换为符合第二数据源的类型的数据,之后将转换成的数据推送给网关设备。
可选地,作为再一个例子,用户创建的数据同步任务还用于指示第一数据源和第二数据源的类型。在这种情况下,如果网关设备确定第一数据源和第二数据源具有相同的类型,网关设备在接收到第二计算机网络域中的代理计算机发送的数据拉取请求之后,直接将待同步数据写入第二数据源中。如果网关设备确定第一数据源和第二数据源的类型不同,网关设备将待同步数据转换为符合第二数据源的类型的数据,在接收到第二计算机网络域中的代理计算机发送的数据拉取请求时,将转换成的数据发送给第二计算机网络域中的代理计算机。
可选地,在一些实施例中,用户可以通过应用程序交互界面创建配置信息,对第一数据源和第二数据源进行配置。配置信息中包括与第一数据源相关的信息以及与第二数据源相关的信息,其中,与第一数据源相关的信息包括下列信息中的至少一种:第一数据源的类型、第一数据源中的数据表和第一数据源中的字段信息,与第二数据源相关的信息包括下列信息中的至少一种:第二数据源的类型、第二数据源中的数据表和第二数据源中的字段信息。相对应地,第一计算机网络域中的代理计算机和/或网关设备可以根据配置信息判断第一数据源和第二数据源是否具有相同的类型。
至此描述了根据本申请实施例的数据同步的方法。为了便于理解本申请的构思,下面将结合图5描述根据本申请一个具体实施例的用于数据同步的方法的***框架500,该***框架500以DataX框架为基础。该***框架500能够实现图2所示的方法100。
如图5所示,***框架500包括:JSS接口510、控制器520、第一代理计算机530、第一数据源540、第二代理计算机550、第二数据源560,第一代理计算机530属于第一计算机网络域,第二代理计算机550属于第二计算机网络域。
其中,JSS接口510是一个网络安全服务的Java接口,为用户提供跨计算机网络域的数据同步的配置入口。用户可以通过JSS接口510配置与第一数据源540和第二数据源560相关的配置信息,用户还可以通过JSS接口510创建数据同步任务。
控制器520用于将从JSS接口510获取到的数据同步任务分发到代理计算机530。可选地,第一计算机网络域中有多个代理计算机,控制器520根据代理计算机的负载情况确定执行数据同步任务的代理计算机。需要指出的是,本文中所述的控制器520可以对应于一个独立的控制器,也可以对应于一个控制器集群。在本申请中,数据同步任务可以抽象理解为Java进程。
第一代理计算机530包括读(Reader)模块531和网络写(NetworkWriter)模块532。其中,Reader模块531用于读取第一数据源540中的待同步数据,并将待同步数据传输给NetworkWriter模块532,NetworkWriter模块532在接收到第二代理计算机550发送的数据拉取请求时,向第二代理计算机550发送待同步数据。可选地,NetworkWriter模块532将待同步数据压缩和/或加密之后发送给第二代理计算机550。
第二代理计算机550包括跨域读(ReginNetworkReader)模块551和写(Writer)模块552。其中,ReginNetworkReader模块551用于向第一代理计算机530发送数据拉取请求,并接收第一代理计算机通过NetworkWriter模块532发送的待同步数据,将接收到的待同步数据传输给Writer模块552,Writer模块552将接收到的待同步数据写入第二数据源560中。可选地,ReginNetwork Reader模块551接收到的待同步数据是加密和/或压缩过的数据,ReginNetwork Reader模块551对接收到的待同步数据进行解密和/或解压缩处理,并向Writer模块552传输解密和/或解压缩处理得到的待同步数据。
需要说明的是,***框架500中的NetworkWriter模块532和ReginNetwork Reader模块551可以以DataX插件的形式集成进现有的DataX框架,并且上述模块之间的数据传输以Netty为实现方法,但实现上述模块之间的数据传输的方法并不限Netty。
下面将结合图6描述根据本申请一个具体实施例的用于数据同步的方法的***框架600,该***框架600以DataX框架为基础。该***框架600能够实现图3所示的方法100。
如图6所示,***框架600包括:JSS接口610、第一代理计算机620、第一数据源630、控制器640、第二代理计算机650、第二数据源660,第一代理计算机620属于第一计算机网络域,第二代理计算机650属于第二计算机网络域。
其中,JSS接口610与JSS接口510功能相同,控制器640与控制器520功能类似,在此不再赘述。
第一代理计算机620包括读(Reader)模块621和跨域写(ReginNetworkWriter)模块622。其中,Reader模块621用于读取第一数据源630中的待同步数据,并将待同步数据传输给ReginNetworkWriter模块622,ReginNetworkWriter模块622将同步数据推送给第二代理计算机650。可选地,ReginNetworkWriter模块622将待同步数据压缩和/或加密之后推送给第二代理计算机650。
第二代理计算机650包括网络读(NetworkReader)模块651和写(Writer)模块652。其中,NetworkReader模块651接收第一代理计算机620推送的待同步数据,将接收到的待同步数据传输给Writer模块652,Writer模块652将接收到的待同步数据写入第二数据源660中。可选地,NetworkReader模块651模块接收到的待同步数据是加密和/或压缩过的数据,NetworkReader模块651对接收到的待同步数据进行解密和/或解压缩处理,并向Writer模块652传输解密和/或解压缩处理得到的待同步数据。
需要说明的是,***框架600中的ReginNetworkWriter模块622和Network Reader模块651可以以DataX插件的形式集成进现有的DataX框架,并且上述模块之间的数据传输以Netty为实现方法,但实现上述模块之间的数据传输的方法并不限Netty。
下面将结合图7描述根据本申请一个具体实施例的用于数据同步的方法的***框架700,该***框架700以DataX框架为基础。该***框架700能够实现图4所示的方法100。
如图7所示,***框架700包括:JSS接口710、网关设备720、控制器730、第一代理计算机740、第一数据源750、第二代理计算机760、第二数据源770,第一代理计算机740属于第一计算机网络域,第二代理计算机760属于第二计算机网络域。
其中,JSS接口710与JSS接口610功能相同,在此不再赘述。
网关设备720是执行数据同步任务的计算机,网关设备720包括网络读(NetworkReader)模块721和网络写(NetworkWriter)模块722,NetworkReader模块721接收第一代理计算机740推送的待同步数据,并将待同步数据传输到NetworkWriter模块722,NetworkWriter模块722用于接收第二代理计算机760发送的数据拉取请求,并将待同步数据发送给第二代理计算机760。可选地,在NetworkReader模块721和NetworkWriter模块722之间可以设置数据处理模块,数据处理模块用于根据数据转换规则对待同步数据进行转换。例如,数据处理模块可以在第一数据源750和第二数据源770具有不同的类型时,将待同步数据转换为符合第二数据源770的类型的数据。需要指出的是,本文中所述的网关设备可以对应于一个独立的网关设备,可以对应于一个网关设备集群。
控制器730用于将数据同步任务分发到网关设备720。可选地,网络中有多个网关设备,控制器730根据网关设备的负载情况确定执行数据同步任务的网关设备。需要指出的是,本文中所述的控制器可以对应于一个独立的控制器,也可以对应于一个控制器集群。在本申请中,数据同步任务可以抽象理解为Java进程。
第一代理计算机740包括读(Reader)模块741、跨域写(ReginNetwork Writer)模块742、元数据查询(MetaQueryer)模块743和网络守护进程(NetworkDaemon)模块744。其中,Reader模块741用于读取第一数据源750中的待同步数据,并将待同步数据传输给ReginNetworkWriter模块742,ReginNetworkWriter模块742向网关设备720中的NetworkReader模块721推送待同步数据。可选地,ReginNetworkWriter模块742将待同步数据压缩加密之后推送给NetworkReader模块721。MetaQueryer模块743用于获取与第一数据源750相关的元数据并提供给JSS接口,以便用户查询和了解与第一数据源750相关的信息,NetworkDaemon模块744用于封装底层网络接口(例如,跨域写模块742的接口和MetaQueryer模块743的接口)的差异向***框架提供同一调用接口。
第二代理计算机760包括跨域读(ReginNetworkReader)模块761、写(Writer)模块762和NetworkDaemon模块763。其中,ReginNetworkReader模块761用于向网关设备720中的NetworkWriter模块722发送数据拉取请求,并接收NetworkWriter模块722发送的待同步数据,将接收到的待同步数据传输给Writer模块762,Writer模块762将接收到的数据写入第二数据源770中。可选地,ReginNetworkReader模块761接收到的待同步数据是加密和/或压缩过的数据,ReginNetworkReader模块761对接收到的待同步数据进行解密和/或解压缩处理,并向Writer模块762传输解密和/或解压缩处理得到的数据。NetworkDaemon模块763的作用和NetworkDaemon模块744的作用类似,在此不再赘述。
需要说明的是,***框架700中的ReginNetworkWriter模块742、NetworkReader模块721、NetworkWriter模块722和ReginNetworkReader模块761可以以DataX插件的形式集成进现有的DataX框架。
由此,本申请实施例的***框架克服了不同计算机网络域的数据隔离限制,提供了同步不同计算机网络域中的数据的能力。本申请实施例的***框架还能够实现不同类型的数据源的数据之间的转换,从而实现不同计算机网络域中的不同类型的数据源的数据交换和同步。
需要说明的是,本申请实施例中的第一计算机网络域中的代理计算机和第二计算机网络域中的代理计算机可以认为是计算机网络域中的网关设备。
下面将结合图8详细描述根据本申请的一个实施例的电子设备。参考图8,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(ExtendedIndustry Standard Architecture,EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据同步装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
直接读取所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。
上述如本申请图2所示实施例揭示的数据同步装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图2的方法,并实现数据同步装置在图2所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的电子设备并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图2所示实施例的方法,并具体用于执行以下方法:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
直接读取所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。
图9是本申请的一个实施例的数据同步装置的结构示意图。请参考图9,在一种软件实施方式中,数据同步装置900可包括:任务获取单元901、数据获取单元902、数据写入单元903;其中,
任务获取单元901,获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
数据获取单元902,直接读取所述待同步数据;
数据写入单元903,根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源。
本申请实施例的数据同步装置在读取到所在的计算机网络域的数据源中的待同步数据之后,向另一个计算机网络域中的代理计算机或网关设备推送待同步数据,或者在接收到另一个计算机网络域中的代理计算机发送的数据拉取请求后向该代理计算机发送待同步数据,从而实现待同步数据从一个计算机网络域的数据源同步到另一个计算机网络域的数据源中。
数据同步装置900还可执行图2所示实施例的方法,本申请实施例在此不再赘述。
图10是根据本申请的另一个实施例的电子设备的结构示意图。参考图10,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图10中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上数据同步装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
上述如本申请图3所示实施例揭示的数据同步装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括CPU、NP等;还可以是DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图3的方法,并实现数据同步装置在图3所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的服务器并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图3所示实施例的方法,并具体用于执行以下方法:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
图11是本申请的一个实施例的数据同步装置结构示意图。请参考图11,在一种软件实施方式中,数据同步装置1100可包括:任务获取单元1101、数据获取单元1102和数据写入单元1103,其中,
任务获取单元1101,获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
数据获取单元1102,接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
数据写入单元1103,根据所述数据同步任务的指示,将所述待同步数据写入所述第二数据源中。
根据本申请实施例的数据同步装置,接收一个计算机网络域中的代理计算机推送的一个数据源中的待同步数据或者接收网关设备发送的该数据源中的待同步数据,并根据接收到的数据同步任务的指示将接收到的待同步数据写入另一个数据源中,从而实现待同步数据从一个计算机网络域中的数据源同步到另一个计算机网络域的数据源中。
可选地,作为一个实施例,所述数据获取单元1102获取到的待同步数据是经过加密处理的,所述数据获取单元1102将所述待同步数据进行解密处理得到解密后的数据;所述数据写入单元1103,将所述解密后的数据写入所述第二数据源中。
可选地,作为一个实施例,所述数据获取单元1102获取到的待同步数据是经过压缩处理的,所述数据获取单元1102将所述待同步数据进行解压缩处理得到解压后的数据;所述数据写入单元1103,将所述解压后的数据写入所述第二数据源中。
数据同步装置1100还可执行图3所示实施例的方法,本申请实施例在此不再赘述。
图12是根据本申请的另一个实施例的电子设备的结构示意图。参考图12,在硬件层面,电子设备包括处理器,可选地,包括内部总线、网络接口、存储器。其中,存储器可能包含内存,例如高速随机存取存储器(Random-Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少1个磁盘存储器等。当然,该电子设备还可能包括其他业务所需要的硬件。
处理器、网络接口和存储器可以通过内部总线相互连接,该内部总线可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图12中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
存储器,用于存放程序。具体地,程序可以包括程序代码,所述程序代码包括计算机操作指令。存储器可以包括内存和非易失性存储器,并向处理器提供指令和数据。
处理器从非易失性存储器中读取对应的计算机程序到内存中然后运行,在逻辑层面上形成数据同步装置。处理器,执行存储器所存放的程序,并具体用于执行以下操作:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源中。
上述如本申请图4所示实施例揭示的数据同步装置执行的方法可以应用于处理器中,或者由处理器实现。处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器,包括CPU、NP等;还可以是DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
该电子设备还可执行图4的方法,并实现数据同步装置在图4所示实施例的功能,本申请实施例在此不再赘述。
当然,除了软件实现方式之外,本申请的服务器并不排除其他实现方式,比如逻辑器件抑或软硬件结合的方式等等,也就是说以下处理流程的执行主体并不限定于各个逻辑单元,也可以是硬件或逻辑器件。
本申请实施例还提出了一种计算机可读存储介质,该计算机可读存储介质存储一个或多个程序,该一个或多个程序包括指令,该指令当被包括多个应用程序的电子设备执行时,能够使该电子设备执行图4所示实施例的方法,并具体用于执行以下方法:
获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源中。
图13是本申请的一个实施例的数据同步装置的结构示意图。请参考图13,在一种软件实施方式中,数据同步装置1300可包括:任务获取单元1301、数据获取单元1302、数据发送单元1303,其中,
任务获取单元1301,获取数据同步任务,所述数据同步任务用于指示将第一计算机网络域中第一数据源的待同步数据同步到第二计算机网络域中的第二数据源;
数据获取单元1302,接收所述第一计算机网络域中的代理计算机推送的所述待同步数据;
数据写入单元1303,根据所述数据同步任务的指示,在接收到所述第二计算机网络域中的代理计算机发送的数据拉取请求时,将所述待同步数据发送给所述第二计算机网络域中的代理计算机,所述数据拉取请求用于请求将所述待同步数据写入所述第二数据源中,所述第二计算机网络域中的代理计算机用于将所述待同步数据写入所述第二数据源中。
根据本申请实施例的数据同步装置,接收一个计算机网络域中的代理计算机推送的一个数据源中的待同步数据,并在接收到另一个计算机网络域中的代理计算机发送的数据拉取请求时,将待同步数据发送给该另一个计算机网络域中的代理计算机,从而实现待同步数据从一个计算机网络域中的数据源同步到另一个计算机网络域的数据源中。
可选地,作为一个实施例,所述待同步数据为加密处理后的数据。
可选地,作为一个实施例,所述待同步数据为压缩处理后的数据。
数据同步装置1300还可执行图4所示实施例的方法,本申请实施例在此不再赘述。
总之,以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
上述实施例阐明的***、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于***实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。