CN108769212B - 数据同步方法、装置、计算机设备和存储介质 - Google Patents
数据同步方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN108769212B CN108769212B CN201810548170.1A CN201810548170A CN108769212B CN 108769212 B CN108769212 B CN 108769212B CN 201810548170 A CN201810548170 A CN 201810548170A CN 108769212 B CN108769212 B CN 108769212B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronization
- incremental
- server
- metadata
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种数据同步方法、装置、计算机设备和存储介质。所述方法包括:接收调度服务器发送的数据同步指令;根据所述数据同步指令在源服务器中查询已有的数据和相应的数据存储路径;将所述数据按照所述数据存储路径全量同步到本地;当全量同步完成时,向所述调度服务器发送表示全量同步完成的提示信息;所述提示信息用于指示所述调度服务器触发增量数据同步指令;接收所述调度服务器发送的增量数据同步指令;根据所述增量数据同步指令,在所述源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径;将所述增量数据按照所述增量数据存储路径增量同步到本地。采用本方案能够提高数据同步效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种数据同步方法、装置、计算机设备和存储介质。
背景技术
随着计算机技术的发展,大数据技术逐渐发展起来,大数据技术的主要特点是数据量大,即大数据是由大量数据组成的数据集合。为了适应业务发展需求,可能会通过数据同步方式,将已有的海量大数据由一个服务器或服务器集群同步至另一个服务器或服务器集群。
目前,常用的数据同步方式,是在需要进行数据同步时由人工手动触发数据同步开始流程,数据同步过程中由人工手动从源服务器或源服务器集群中导出待同步的数据,再手动将所导出的数据导入另一个服务器或服务器集群中,从而实现服务器之间的数据同步。
然而,该种数据同步方式依赖于人工的手动参与,不仅浪费了人力物力,还存在同步效率低下的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高数据同步效率的数据同步方法、装置、计算机设备和存储介质。
一种数据同步方法,所述方法包括:
接收调度服务器发送的数据同步指令;
根据所述数据同步指令在源服务器中查询已有的数据和相应的数据存储路径;
将所述数据按照所述数据存储路径全量同步到本地;
当全量同步完成时,向所述调度服务器发送表示全量同步完成的提示信息;所述提示信息用于指示所述调度服务器触发增量数据同步指令;
接收所述调度服务器发送的增量数据同步指令;
根据所述增量数据同步指令,在所述源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径;
将所述增量数据按照所述增量数据存储路径增量同步到本地。
一种数据同步装置,所述装置包括:
第一接收模块,用于接收调度服务器发送的数据同步指令;
第一查询模块,用于根据所述数据同步指令在源服务器中查询已有的数据和相应的数据存储路径;
全量同步模块,用于将所述数据按照所述数据存储路径全量同步到本地;
发送模块,用于当全量同步完成时,向所述调度服务器发送表示全量同步完成的提示信息;所述提示信息用于指示所述调度服务器触发增量数据同步指令;
第二接收模块,用于接收所述调度服务器发送的增量数据同步指令;
第二查询模块,用于根据所述增量数据同步指令,在所述源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径;
增量同步模块,用于将所述增量数据按照所述增量数据存储路径增量同步到本地。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收调度服务器发送的数据同步指令;
根据所述数据同步指令在源服务器中查询已有的数据和相应的数据存储路径;
将所述数据按照所述数据存储路径全量同步到本地;
当全量同步完成时,向所述调度服务器发送表示全量同步完成的提示信息;所述提示信息用于指示所述调度服务器触发增量数据同步指令;
接收所述调度服务器发送的增量数据同步指令;
根据所述增量数据同步指令,在所述源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径;
将所述增量数据按照所述增量数据存储路径增量同步到本地。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收调度服务器发送的数据同步指令;
根据所述数据同步指令在源服务器中查询已有的数据和相应的数据存储路径;
将所述数据按照所述数据存储路径全量同步到本地;
当全量同步完成时,向所述调度服务器发送表示全量同步完成的提示信息;所述提示信息用于指示所述调度服务器触发增量数据同步指令;
接收所述调度服务器发送的增量数据同步指令;
根据所述增量数据同步指令,在所述源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径;
将所述增量数据按照所述增量数据存储路径增量同步到本地。
上述数据同步方法、装置、计算机设备和存储介质,通过调度服务器发送的数据同步指令触发对已有的数据进行全量同步,以将已有的数据按照相应的数据存储路径同步到本地。当全量同步完成时,通过调度服务器根据接收到的提示信息发送增量数据同步指令自动触发增量数据的同步,以将全量同步过程中新增的增量数据按照对应的增量数据存储路径同步到本地,由此保证了数据的一致性。这样,通过调度服务器自动触发数据的全量同步过程,并且基于任务依赖触发的调度方式,通过调度服务器在全量同步完成时触发增量同步过程,实现了数据同步过程的自动触发和调度,从而提高了数据的同步效率。
附图说明
图1为一个实施例中数据同步方法的应用场景图;
图2为一个实施例中数据同步方法的流程示意图;
图3为另一个实施例中数据同步方法的流程示意图;
图4为一个实施例中数据同步方法的原理示意图;
图5为一个实施例中数据同步装置的结构框图;
图6为另一个实施例中数据同步装置的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的数据同步方法,可以应用于如图1所示的应用环境中。其中,目标服务器102通过网络分别与调度服务器104和源服务器106进行通信。目标服务器102根据调度服务器104发送的数据同步指令从源服务器106中查询已有的数据,将已有的数据按照相应的数据存储路径全量同步到本地,并在全量同步完成时向调度服务器104发送相应的提示信息。进一步地,目标服务器102根据调度服务器104针对提示信息对应反馈的增量数据同步指令,从源服务器106中查询增量数据,并将该增量数据按照增量数据存储路径增量同步同步到本地。其中,目标服务器102、调度服务器104和源服务器106均可以用独立的服务器或者是多个服务器组成的服务器集群来实现。
在一个实施例中,如图2所示,提供了一种数据同步方法,以该方法应用于图1中的目标服务器为例进行说明,包括以下步骤:
S202,接收调度服务器发送的数据同步指令。
其中,数据同步指令是触发数据同步操作的指令。数据同步是将源服务器中的数据迁移到目标服务器,以实现源服务器和目标服务器中数据的同步。数据同步指令具体可用于指定待同步的数据、数据同步的起始时间或数据同步的方式等。在本实施例中,数据同步指令用于指示目标服务器将源服务器中已有的数据同步至本地。
具体地,调度服务器可检测数据同步指令对应的触发事件,当检测到触发事件时,生成对应的数据同步指令,将所生成的数据同步指令发送至目标服务器。触发事件比如接收到终端发送的数据同步指令生成指令,或者当前时间与指定时间相匹配。其中,数据同步指令生成指令是用于触发生成数据同步指令的指令。指定时间是预先指定的时间,比如2018年5月28日21点10分。
在一个实施例中,调度服务器在数据同步过程中是实现调度功能的服务器。调度服务器上部署有调度平台,调度服务器基于该调度平台实现调度功能。调度平台比如zeus,用于管理大数据定时任务。具体的调度方式包括基于时间定时触发任务,比如2018年5月28日21点10分,或者基于任务依赖触发任务,比如A任务完成时触发B任务。在本实施例中,任务是数据同步操作。
在一个实施例中,目标服务器上可配置有ReAir(Airbnb的开源工具),本实施例中目标服务器执行的各步骤均可以基于ReAir实现。
S204,根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径。
其中,已有的数据是当前时间已经存在的数据。当前时间是接收到数据同步指令的时间,即数据同步的开始时间。数据存储路径是数据存储的路径。数据存储路径用于表示数据在服务器中的存储目录。
具体地,目标服务器接收到数据同步指令时,根据所接收到的数据同步指令在源服务器中查询当前已有的数据,以及该已有的数据对应的数据存储路径。换而言之,目标服务器接收到数据同步指令时,根据该数据同步指令在源服务器中查询该源服务器当前已经存在的数据和该数据对应的数据存储路径。
在一个实施例中,源服务器产生新增数据时,会对应记录该新增数据的新增时间。目标服务器对应获取接收到数据同步指令的当前时间,在源服务器中筛选新增时间早于或等于当前时间的数据,将筛选出的数据确定为已有的数据。
在一个实施例中,目标服务器接收到数据同步指令时,在源服务器中查询已有的数据存储路径,根据所查询到的数据存储路径查询相应的数据。
S206,将数据按照数据存储路径全量同步到本地。
其中,全量同步是指对查询到的已有的数据全部进行同步。全量同步具体是指将源服务器中当前已有的数据全部同步到本地。
具体地,目标服务器根据数据同步指令在源服务器中查询到已有的数据和相应的数据存储路径时,将所查询到的已有的数据按照各自对应的数据存储路径同步到本地。目标服务器将查询到的已有的数据和相应的数据存储路径同步到本地,并将该已有的数据按照相应的数据存储路径存储到本地。目标服务器不仅将源服务器中已有的数据同步到本地,还将该已有的数据在源服务器中的数据存储路径同步到本地,以在本地按照相同的数据存储路径存储所同步的数据,从而实现了源服务器和目标服务器之间数据以及数据储存形式的完全同步。
在一个实施例中,目标服务器在源服务器中查询到已有的数据和相应的数据存储路径时,将所查询到的数据存储路径同步到本地。具体地,将同步到本地的数据存储路径与本地已有的数据存储路径进行匹配。当本地没有查询到与所同步的数据存储路径相匹配的数据存储路径时,在本地新建该数据存储路径;当查询到相匹配的数据存储路径时,判断是否需要根据所同步的数据存储路径更新本地已有的数据存储路径。进一步地,将数据存储路径同步到本地时,将所查询到的已有的数据对应同步到本地,并按照相应的数据存储路径进行存储。
在一个实施例中,目标服务器对所查询到的已有的数据进行分类,按照所属类别对数据进行优先级排序,按照优先级排序将属于不同类别的数据依次同步到本地。比如,按照数据所在的数据库进行分类,对数据库进行优先级排序,按照数据库的优先级依次将该数据库中的已有的数据同步到本地。这样,减少了数据同步过程中的数据传输压力,以及在本地存储数据时的数据处理压力。
S208,当全量同步完成时,向调度服务器发送表示全量同步完成的提示信息;提示信息用于指示调度服务器触发增量数据同步指令。
其中,全量同步完成是查询到的已有的数据全部同步完成。全量同步完成具体是指将源服务器中已经存在的数据全部成功同步到本地。提示信息是用于提示已有的数据全部同步完成的信息。增量数据同步指令是触发增量数据同步操作的指令。增量数据同步指令可用于指定待同步的增量数据、或增量数据的同步方式等。在本实施例中,增量数据同步指令用于指示目标服务器将源服务器在全量同步过程中新增的数据同步到本地。
具体地,当查询到的已有的数据按照相应的数据存储路径全部成功同步到本地时,表示全量同步完成,目标服务器生成表示全量同步完成的提示信息,将所生成的提示信息发送至调度服务器。调度服务器根据接收到的提示信息触发生成增量数据同步指令,将所生成的增量数据同步指令发送至目标服务器。
在一个实施例中,调度服务器可检测增量数据同步指令对应的触发事件。当检测到增量数据同步指令对应的触发事件时,对应生成增量数据同步指令,将所生成的增量数据同步指令发送至目标服务器。增量数据同步指令对应的触发事件,比如接收到目标服务器发送的表示全量同步完成的提示信息,或者接收到终端发送的增量数据同步指令生成指令,或者当前时间与指定的增量同步起始时间相匹配。
S210,接收调度服务器发送的增量数据同步指令。
具体地,目标服务器接收调度服务器针对接收到的表示全量同步完成的提示信息对应反馈的增量数据同步指令。在一个实施例中,目标服务器接收调度服务器在检测到增量数据同步指令对应的触发事件时生成并发送的增量数据同步指令。
在一个实施例中,调度服务器建立与目标服务器的连接,通过所建立的连接将所生成的增量数据同步指令发送目标服务器。
S212,根据增量数据同步指令,在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径。
其中,增量数据是新增的数据。增量数据具体是源服务器中新增的数据。在本实施例中,增量数据是源服务器在全量同步过程中新增的数据。增量数据存储路径是新增的数据对应的存储路径。新增数据存储路径可以是产生新增数据时对应新增的数据存储路径,比如产生新增数据时对应生成新的数据存储路径并将新增数据存储至该新生成的数据存储路径中,也可以源服务器中已有的数据存储路径,比如产生新增数据时将该新增数据存储至已有的数据存储路径。
具体地,目标服务器接收到调度服务器发送的增量数据同步指令时,根据所接收到的增量数据同步指令在源服务器中查询从开始全量同步起至全量同步完成时所新增的增量数据和该增量数据对应的增量数据存储路径。
在一个实施例中,目标服务器接收到增量数据同步指令时,向源服务器发送连接建立请求,以建立与目标服务器之间的连接。当成功建立连接时,通过所建立的连接在源服务器中查询从开始全量同步起所新增的增量数据。
在一个实施例中,源服务器产生新增数据时,会对应记录该新增数据的新增时间。目标服务器接收到增量数据同步指令时,获取当前时间,在源服务器中筛选新增时间晚于当前时间的新增数据,将筛选出的新增数据确定为从开始全量同步起所新增的增量数据,并对应确定增量数据对应的增量数据存储路径。
在一个实施例中,源服务器更新已有的数据时,会对应记录更新时间。目标服务器获取接收到增量数据同步指令的当前时间,筛选出更新时间晚于当前时间的数据,将筛选出的数据确定为从开始全量同步起新增的增量数据。
S214,将增量数据按照增量数据存储路径增量同步到本地。
其中,增量同步是对新增的增量数据进行同步。增量同步只同步新增的或者更新的差异数据。在本实施例中,增量同步是指目标服务器将源服务器在全量同步过程中新增的增量数据同步到本地。
具体地,目标服务器根据增量数据同步指令在源服务器中查询到新增的增量数据和相应的增量数据存储路径时,将所查询到的增量数据和增量数据存储路径同步到本地,并按照各增量数据各自对应的增量数据存储路径将相应的增量数据存储到本地。
在一个实施例中,目标服务器在源服务器中查询到全量同步过程中新增的增量数据和相应的增量数据存储路径时,将所查询到的增量数据存储路径同步到本地,进而将所查询到的增量数据同步到本地,并将所同步的增量数据按照所同步的相应增量数据存储路径进行存储。
具体地,目标服务器将所同步的增量数据存储路径与本地已有的数据存储路径进行匹配,当匹配成功时表明所同步的增量数据存储路径在本地已经存在,则将所同步的增量数据按照该已有的增量数据存储路径进行存储;当匹配失败时,表明所同步的增量数据存储路径在本地不存在,则在本地新增该增量数据存储路径对应的数据存储路径,并将所同步的增量数据按照该新增的增量数据存储路径进行存储。
上述数据同步方法,通过调度服务器发送的数据同步指令触发对已有的数据进行全量同步,以将已有的数据按照相应的数据存储路径同步到本地。当全量同步完成时,通过调度服务器根据接收到的提示信息发送增量数据同步指令自动触发增量数据的同步,以将全量同步过程中新增的增量数据按照对应的增量数据存储路径同步到本地,由此保证了数据的一致性。这样,通过调度服务器自动触发数据的全量同步过程,并且基于任务依赖触发的调度方式,通过调度服务器在全量同步完成时触发增量同步过程,实现了数据同步过程的自动触发和调度,从而提高了数据的同步效率。
在一个实施例中,步骤S202之后,上述数据同步方法还包括:根据数据同步指令获取认证密钥;向认证服务器发送携带认证密钥的认证请求;认证请求用于指示认证服务器对认证密钥进行认证;当接收到认证服务器反馈的表示认证通过的提示信息时,执行根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径的步骤。
其中,认证密钥是进行认证的凭证参数。认证密钥是对该认证密钥所有者的身份或权限进行认证的依据。在本实施例中,认证密钥是认证服务器认证目标服务器的权限的依据,即认证服务器基于认证密钥来认证目标服务器是否具有从源服务器中查询并同步所查询到的数据的权限。认证请求是触发认证操作的请求。认证操作是对认证密钥进行认证,从而实现对目标服务器的权限进行认证。认证请求可包括目标服务器和源服务器各自对应的标识信息。
具体地,目标服务器根据所接收到的数据同步指令生成相应的认证密钥获取请求,将所生成的认证密钥获取请求发送至认证服务器,以接收认证服务器对应反馈的认证密钥。其中,认证密钥获取请求是触发认证密钥生成操作的请求,用于获取认证所需的认证密钥。认证密钥获取请求用于指示认证服务器根据该认证密钥请求生成并反馈相应的认证密钥。认证密钥获取请求中可包括目标服务器对应的标识信息、认证方式和目标服务器中用于存储认证密钥的指定存储路径等。认证方式是认证过程中认证服务器对认证密钥进行认证的方式,比如Kerberos(密钥分发与认证中心)。指定存储路径是在目标服务器中预先指定的用于存储所获取的认证密钥的路径。
进一步地,目标服务器获取到认证密钥时,根据所获取的认证密钥生成相应的认证请求,将所生成的认证请求发送至认证服务器。认证服务器解析接收到的认证请求,获得相应的认证密钥,对该认证密钥进行认证。当认证通过时,认证服务器向目标服务器反馈表示认证通过的提示信息。目标服务器根据接收到的表示认证通过的提示信息,在源服务器中查询已有的数据和相应的数据存储路径,将所查询到的数据按照对应的数据存储路径全量同步至本地,并当全量同步完成时继续执行上述增量同步的相关步骤。
在一个实施例中,目标服务器根据接收到的数据同步指令向认证服务器获取认证密钥,并将所获得的认证密钥发送至源服务器进行认证,当认证通过时执行在源服务器中查询已有的数据和数据存储路径的步骤。
具体地,目标服务器和源服务器各自对应有一个密钥对(由一个公钥和一个私钥组成,公钥是公开的其他计算机设备可获得的密钥,私钥是私有的其他计算机设备不可获得的密钥,用于解码通过公钥进行加密的数据或数据包)。认证服务器根据认证密钥获取请求生成相应的认证密钥时,利用目标服务器的公钥对所生成的认证密钥进行加密,获取加密后的第一认证密钥;并利用源服务器的公钥对所生成的密钥信息和从认证密钥中获取的目标服务器对应的标识信息进行加密,获得加密后的第二认证密钥。认证服务器将所获得的第一认证密钥和第二认证密钥反馈至目标服务器。
进一步地,目标服务器利用自身对应的私钥解密第一认证密钥,获得认证密钥所生成的认证密钥,利用解析获得的认证密钥加密自身对应的标识信息,获得第三认证密钥。目标服务器将第二认证密钥和第三认证密钥发送至源服务器。源服务器利用自身对应的私钥解密第二认证密钥获得认证服务器所生成的认证密钥和目标服务器对应的标识信息,并利用解密获得的认证密钥解密第三认证密钥,获得另一份目标服务器对应的标识信息。源服务器将两次获得的标识信息进行匹配,当匹配成功时表示认证通过。
在一个实施例中,目标服务器获取到认证密钥时,将所获取的认证密钥与本地记录的认证密钥进行匹配,当匹配成功时表示认证通过;当匹配失败时表示认证不通过,对应反馈表示认证不通过的提示信息。
在一个实施例中,源服务器可以是由多个服务器组成的服务器集群,认证服务器可以是该服务器集群中的一个或多个服务器。
上述实施例中,在根据接收到的数据同步指令进行数据同步时,首先根据所获取的认证密钥向认证服务器发起认证请求,以通过认证服务器对能否从源服务器中同步数据的权限进行认证,从而保证源服务器中数据的安全性。
在一个实施例中,步骤S204包括:根据数据同步指令在源服务器中查询已有的元数据;获取元数据所包括的数据存储路径;根据数据存储路径在源服务器中查询相应的数据。
其中,元数据是描述数据的数据。元数据用于描述数据的属性和特征。元数据比如数据对应的数据存储路径、数据对应的数据库标识和数据格式(是否压缩等)等。在本实施例中,数据可按照Hive(是分布式系统基础架构Hadoop的一个数据仓库工具,可将结构化的数据文件映射为一张数据库表,并提供SQL(Structured Query Language,结构化查询语言)查询功能)表和分区进行存储,则元数据还可包括数据对应的表标识、分区标识、字段标识和授权标识等。元数据可存储于数据库,比如MySQL(关系型数据库管理系统)。数据可存储于分布式文件系统,比如HDFS(Hadoop分布式文件系统)。
在一个实施例中,源服务器新增元数据时,会对应记录该元数据的新增时间。目标服务器获取接收到数据同步指令的当前时间,筛选新增时间早于或等于当前时间的元数据,将筛选出的元数据确定为源服务器中已有的元数据。
上述实施例中,根据接收到的数据同步指令在源服务器中快速查询已有的元数据,进而根据元数据中记录的数据存储路径在源服务器中查询已有的数据,提高了已有的数据的查询效率,从而提高了数据同步效率。
在一个实施例中,根据数据同步指令在源服务器中查询已有的元数据,包括:根据数据同步指令在源服务器中查询已有的元数据和相应的元数据存储路径;将元数据按照元数据库存储路径同步到本地。
其中,元数据存储路径是元数据存储的路径。在本实施例中,元数据存储路径用于表示元数据在源服务器中的存储目录,即存储位置。
具体地,目标服务器接收到调度服务器发送至数据同步指令时,根据该数据同步指令在源服务器中查询当前已有的元数据和元数据对应的元数据存储路径,将所查询到的元数据和元数据存储路径同步至本地,并将所同步的元数据按照对应的元数据存储路径进行存储。
在一个实施例中,源服务器将新增的元数据按照指定存储路径进行存储。目标服务器接收到数据同步指令时根据该指定存储路径查询新增的元数据,将查询到的元数据按照该指定存储路径同步至本地。在一个实施例中,目标服务器将查询到的元数据同步到本地时,根据该指定存储路径在本地新增相应的元数据存储路径,并将所同步的元数据按照该新增的元数据存储路径进行存储。
上述实施例中,根据接收到的数据同步指令进行数据同步时,首先将源服务器中已有的元数据按照相应的元数据存储路径同步至本地,这样能够有效保证数据同步完成时,源服务器的数据与本地数据的一致性。
在一个实施例中,步骤S210之后,上述数据同步方法还包括:将源服务器和本地进行元数据匹配;根据匹配结果确定源服务器相对于本地的增量元数据;将增量元数据同步到本地;基于增量元数据,将源服务器上的相应增量数据同步至本地。
其中,增量元数据是新增的元数据。增量元数据具体是指从开始全量同步起至全量同步完成时新增的元数据,即全量同步过程中新增的元数据。
具体地,目标服务器根据接收到的增量数据同步指令进行增量同步时,分别查询源服务器的元数据和本地存储的元数据,将查询到的源服务器的元数据和本地的元数据进行匹配。当匹配成功时,表明源服务器在全量同步过程中没有新增的元数据,目标服务器则直接执行根据增量数据同步指令查询全量同步过程中新增的增量数据并同步至本地的相关步骤。当匹配失败时,表明源服务器在全量同步过程中新增了元数据,目标服务器对应确定全量同步过程中新增的增量元数据。目标服务器具体可将源服务器的元数据和本地的元数据进行比较,以根据比较结果确定源服务器相对于本地新增的增量元数据。
进一步地,目标服务器确定源服务器相对于本地的增量元数据时,将所确定的增量元数据按照对应的增量元数据存储路径同步到本地。目标服务器将增量元数据同步到本地时,根据增量元数据中的增量数据存储路径查询相应的增量数据,并将查询到的增量数据按照对应的增量数据存储路径同步到本地。
在一个实施例中,当源服务器中产生新增数据或者存在更新数据时,源服务器中不一定会对应产生新增元数据或者存在更新源数据。因而,通过元数据匹配的方式确定源服务器在全量同步过程中不存在新增的增量元数据时,即匹配成功时,并不表明源服务器中不存在新增的增量数据。目标服务器可以根据接收到数据同步指令的当前时间和接收到增量数据同步指令的当前时间,以及源服务器中产生新增数据时对应记录的新增时间,在源服务器中确定全量同步过程中新增的增量数据。
具体地,目标服务器分别获取接收到数据同步指令的当前时间和接收到增量数据同步指令的当前时间,在源服务器中筛选出新增时间晚于接收到数据同步指令的当前时间、且早于或等于接收到增量数据同步指令的当前时间的新增数据,将筛选出的新增数据确定为全量同步过程中新增的增量数据。
在一个实施例中,源服务器启动时会注册钩子程序,注册的钩子程序是用于在检测到新增数据时对应记录产生该新增数据的记录事件的程序。钩子程序在检测到源服务器中产生新增数据时,按照指定存储路径存储产生新增数据的记录事件,以便于增量同步开始时,目标服务器根据该记录事件确定增量数据。
上述实施例中,通过元数据匹配的方式确定全量同步过程中新增的增量元数据,将该增量元数据同步到本地,以保证数据一致性。基于增量元数据将相应增量数据同步到本地,进一步保证了数据一致性,且提高了数据同步效率。
在一个实施例中,数据按照分区进行存储;在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径,包括:获取全量同步开始时间;在源服务器中筛选新增时间晚于全量同步开始时间的分区;将筛选出的分区确定为目标分区;将目标分区中的数据确定为从开始全量同步起所新增的增量数据;将目标分区对应的存储路径确定为从开始全量同步起所新增的增量数据对应的增量数据存储路径。
其中,分区是数据储存的一种形式。分区用于将不同的数据分开存储,即将不同的数据存储在不同的分区内,同一分区内的数据具有至少一个的相同特征,比如数据的新增时间属于同一时间段,如2018年5月28日产生的新增数据存储于同一个分区,2018年5月29日产生的新增数据同存储于另一个分区。当按照数据的新增时间进行分区存储时,在产生或者存储新增数据时,源服务器新增相应的分区,对应记录该新增的分区的新增时间,并将该新增数据存储在该新增的分区中。
目标分区是根据预设分区筛选条件所筛选出的分区。预设分区筛选条件是预先设定的用于从源服务器中的多个分区中筛选目标分区的条件,比如筛选新增时间晚于全量同步开始时间的分区。全量同步开始时间是开始进行全量同步的当前时间,即进行全量同步的起始时间。全量同步开始时间具体可以是接收到数据同步指令的当前时间。
具体地,源服务器产生新增数据时,将该新增数据存储在对应的分区。目标服务器根据接收到的数据同步指令获取相应的全量同步开始时间,根据所获取的全量同步开始时间在源服务器中筛选新增时间晚于该全量同步开始时间的分区。目标服务器将根据全量同步开始时间筛选出的分区确定为目标分区,并将目标分区中的数据确定为从开始全量同步起至全量同步完成时新增的增量数据,将目标分区对应的存储路径确定为该增量数据对应的增量数据存储路径。
在一个实施例中,目标服务器将目标分区中的数据确定为新增的增量数据时,根据该目标分区所在的存储路径和该目标分区对应的分区标识生成新的存储路径,将新生成的存储路径确定为该新增的增量数据对应增量数据存储路径。举例说明,假设分区标识为d的目标分区所对应的存储路径为a库b盘c表,则存储于该目标分区的增量数据对应的增量数据存储路径为a库b盘c表d区。
在一个实施例中,源服务器产生新增数据时,判断本地是否存在对应存储该新增数据的分区。当存在用于存储该新增数据的分区时,将该新增数据存储到已有的相应分区。当不存在用于存储该新增数据的分区时,新增分区,将该新增数据存储至所新增的分区。其中,源服务器判断是否存在对应存储该新增数据的分区的依据,比如,当按照数据的新增时间进行分区存储时,源服务器可以根据新增数据的新增时间是否属于指定分区对应的时间范围,对应判断该指定分区是否为用于存储该新增数据的分区。
举例说明,假设产生新增数据A和B,各自对应的新增时间分别为2018年5月20日12点和2018年5月29日12点,源服务器中已有的分区X和Y,各自对应的时间范围为2018年5月20日和2018年5月21日。经过新增时间与分区的时间范围的匹配,源服务器可以判定将新增数据A存储在X分区中,不存在用于存储新增数据B的分区,则新建对应的时间范围为2018年5月29日的分区Z,并将新增数据B存储在新增的分区Z中。
在一个实施例中,上述各实施例中的表和分区具体可以是Hive表和分区。
可以理解的是,上述各实施例中,按照数据的新增时间进行分区存储,而在实际情况中,分区的依据并不局限于新增时间,比如对于具有数量特征的数据,可以按照数据中的数量所属的数量级区间进行分区存储。也可以结合多种特征进行多重分区存储,比如根据数据中的数量所属的数量级区间进行分区存储,对该分区存储的数据再按照新增时间再次进行分区存储。
上述实施例中,数据按照分区进行存储,根据分区的新增时间和全量同步开始时间筛选目标分区,进而根据筛选出的目标分区查询新增的增量数据和增量数据存储路径,提高了增量数据的查询效率,从而提高了数据同步效率。
在一个实施例中,上述数据同步方法还包括:当增量数据同步完成时,分别统计源服务器和本地的数据量;将源服务器的数据量与本地的数据量进行匹配;当匹配成功时,向指定终端推送表示同步成功的提示信息。
具体地,当全量同步过程中新增的增量数据同步完成时,即将所确定的新增的增量数据全部成功同步到本地时,目标服务器分别统计源服务器中存储的数据量和本地存储的数据量,并将统计获得的源服务器的数据量和本地的数据量进行匹配。当匹配成功时,表示源服务器中的数据全部成功同步到本地,生成表示同步成功的提示信息,并将所生成的提示信息推送至终端。
在一个实施例中,当全量同步过程中新增的增量数据同步完成时,目标服务器分别查询源服务器中的元数据和本地存储的元数据,将所查询到的源服务器的元数据与本地的元数据进行匹配,当匹配成功时,表明源服务器中的元数据成功同步到本地。
在一个实施例中,源服务器中产生新增数据时,源服务器会将该新增数据对应的标识信息记录在日志文件中。当全量同步过程中新增的增量数据同步完成时,目标服务器实时监测源服务器的日志文件中新增的标识信息。当监测到日志文件中新增标识信息时,根据该新增的标识信息确定新增的相应增量数据和增量数据存储路径,并将所确定的增量数据按照相应的增量数据存储路径实时同步到本地。这样,实现了数据的实时同步,提高了数据同步效率。
上述实施例中,当增量数据同步完成时,通过比对源服务器的数据量和本地的数据量来判断源服务器上的数据是否全部成功同步到本地,且在判定同步完成时向终端推送表示同步成功的提示信息,以通过终端将同步结果展示给用户。
在一个实施例中,目标服务器实时检测全量同步的同步状态信息。当指定页面被访问时,目标服务器向访问指定页面的终端发送同步状态信息;其中,同步状态信息用于指示终端在指定页面展示同步状态信息。
其中,同步状态信息是数据同步过程中表示数据同步状态的信息。同步状态信息用于表示当前的数据同步状态。同步状态信息包括数据同步方式、同步时间、触发数据同步过程的指定操作、触发该指定操作的用户和数据同步进程等信息中的至少一种。数据同步方式比如全量同步或增量同步。数据同步进程比如同步中、同步成功或同步失败等。指定网页是预先指定的网页。指定网页用于当该指定网页被访问时,目标服务器通过该指定网页向访问该指定网页的终端推送并展示同步状态信息。
上述实施例中,通过指定网页向终端推送并展示同步状态信息,以使得该终端对应的用户根据所展示的同步状态信息直观了解当前同步情况。
在一个实施例中,源服务器中记录有用户基本信息和各用户的权限信息。用户基本信息比如用户的账号和用户标识等。用户的权限信息比如指定用户可以获取指定数据存储路径下的数据。当全量同步过程中新增的增量数据同步完成时,目标服务器将源服务器中记录的用户基本信息和各用户的权限信息同步到本地,由此保证源服务器和目标服务器中用户读写权限的一致性。
举例说明,在源服务器上,假设用户A具有读写X数据库的权限,用户B具有读写Y数据库的权限。若目标服务器没有将用户基本信息和各用户的权限信息同步到本地,则当源服务器上的数据同步到本地后,目标服务器无法区分用户A和用户B的读写权限,从而导致权限不匹配,降低数据安全性。
如图3所示,在一个实施例中,提供了一种数据同步方法,该方法包括以下步骤:
S302,接收调度服务器发送的数据同步指令。
S304,根据数据同步指令获取认证密钥。
S306,向认证服务器发送携带认证密钥的认证请求;认证请求用于指示认证服务器对认证密钥进行认证。
S308,当接收到认证服务器反馈的表示认证通过的提示信息时,根据数据同步指令在源服务器中查询已有的元数据和相应的元数据存储路径。
S310,将元数据按照元数据库存储路径同步到本地。
S312,获取元数据所包括的数据存储路径。
S314,根据数据存储路径在源服务器中查询相应的数据。
S316,将数据按照数据存储路径全量同步到本地。
S318,当全量同步完成时,向调度服务器发送表示全量同步完成的提示信息;提示信息用于指示调度服务器触发增量数据同步指令。
S320,接收调度服务器发送的增量数据同步指令。
S322,根据增量数据同步指令,在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径。
S324,将增量数据按照增量数据存储路径增量同步到本地。
S326,当增量数据同步完成时,分别统计源服务器和本地的数据量。
S328,将源服务器的数据量与本地的数据量进行匹配。
S330,当匹配成功时,向指定终端推送表示同步成功的提示信息。
上述实施例中,接收到调度服务器发送的数据同步指令时触发全量同步流程,当全量同步完成时,向调度服务器发送表示全量同步完成的提示信息,以接收调度服务器对应反馈的增量数据同步指令,并根据该增量数据同步指令触发增量同步过程,从而将源服务器的数据全部同步到本地。通过调度服务器调度整个数据同步过程,在保证数据一致性的基础上,提高了数据同步效率。
在一个实施例中,上述各实施例中提供的数据同步方法,如图4所示,数据同步方法具体包括全量同步、增量同步和实时同步三个同步阶段,也即对应了三种同步方式。图4中标识A(A0,A1)对应全量同步、标识B(B0,B1)对应增量同步、标识C(C0,C1)对应实时同步。其中,A0、B0和C0用于标识源服务器402中的数据,A1、B1和C1用于标识目标服务器404中的数据。A和B之间的分界线用于标识全量同步完成和增量同步开始,B和C之间的分界线用于标识增量同步完成和实时同步开始。
应该理解的是,虽然图2和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种数据同步装置500,包括:第一接收模块501、第一查询模块502、全量同步模块503、发送模块504、第二接收模块505、第二查询模块506和增量同步模块507,其中:
第一接收模块501,用于接收调度服务器发送的数据同步指令。第一查询模块502,用于根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径。全量同步模块503,用于将数据按照数据存储路径全量同步到本地。发送模块504,用于当全量同步完成时,向调度服务器发送表示全量同步完成的提示信息;提示信息用于指示调度服务器触发增量数据同步指令。第二接收模块505,用于接收调度服务器发送的增量数据同步指令。第二查询模块506,用于根据增量数据同步指令,在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径。增量同步模块507,用于将增量数据按照增量数据存储路径增量同步到本地。
如图6所示,在一个实施例中,数据同步装置500,还包括:认证模块508。认证模块508,用于根据数据同步指令获取认证密钥;向认证服务器发送携带认证密钥的认证请求;认证请求用于指示认证服务器对认证密钥进行认证;当接收到认证服务器反馈的表示认证通过的提示信息时,使得第一查询模块502执行根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径的步骤。
在一个实施例中,第一查询模块502,还用于根据数据同步指令在源服务器中查询已有的元数据;获取元数据所包括的数据存储路径;根据数据存储路径在源服务器中查询相应的数据。
在一个实施例中,第一查询模块502,还用于根据数据同步指令在源服务器中查询已有的元数据和相应的元数据存储路径;将元数据按照元数据库存储路径同步到本地。
在一个实施例中,增量同步模块507,还用于将源服务器和本地进行元数据匹配;根据匹配结果确定源服务器相对于本地的增量元数据;将增量元数据同步到本地;基于增量元数据,将源服务器上的相应增量数据同步至本地。
在一个实施例中,数据按照分区进行存储;第二查询模块506,还用于获取全量同步开始时间;在源服务器中筛选新增时间晚于全量同步开始时间的分区;将筛选出的分区确定为目标分区;将目标分区中的数据确定为从开始全量同步起所新增的增量数据;将目标分区对应的存储路径确定为从开始全量同步起所新增的增量数据对应的增量数据存储路径。
在一个实施例中,数据同步装置500,还包括:校验模块509。校验模块509,用于当增量数据同步完成时,分别统计源服务器和本地的数据量;将源服务器的数据量与本地的数据量进行匹配;当匹配成功时,向指定终端推送表示同步成功的提示信息。
关于数据同步装置的具体限定可以参见上文中对于数据同步方法的限定,在此不再赘述。上述数据同步装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储同步到本地的数据和数据存储路径。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种数据同步方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,该存储器存储有计算机程序,该处理器执行计算机程序时实现以下步骤:接收调度服务器发送的数据同步指令;根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径;将数据按照数据存储路径全量同步到本地;当全量同步完成时,向调度服务器发送表示全量同步完成的提示信息;提示信息用于指示调度服务器触发增量数据同步指令;接收调度服务器发送的增量数据同步指令;根据增量数据同步指令,在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径;将增量数据按照增量数据存储路径增量同步到本地。
在一个实施例中,处理器执行计算机程序时实现接收调度服务器发送的数据同步指令的步骤之后,还实现以下步骤:根据数据同步指令获取认证密钥;向认证服务器发送携带认证密钥的认证请求;认证请求用于指示认证服务器对认证密钥进行认证;当接收到认证服务器反馈的表示认证通过的提示信息时,执行根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径的步骤。
在一个实施例中,根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径,包括:根据数据同步指令在源服务器中查询已有的元数据;获取元数据所包括的数据存储路径;根据数据存储路径在源服务器中查询相应的数据。
在一个实施例中,根据数据同步指令在源服务器中查询已有的元数据,包括:根据数据同步指令在源服务器中查询已有的元数据和相应的元数据存储路径;将元数据按照元数据库存储路径同步到本地。
在一个实施例中,处理器执行计算机程序时实现接收调度服务器发送的增量数据同步指令的步骤之后,还实现以下步骤:将源服务器和本地进行元数据匹配;根据匹配结果确定源服务器相对于本地的增量元数据;将增量元数据同步到本地;基于增量元数据,将源服务器上的相应增量数据同步至本地。
在一个实施例中,数据按照分区进行存储;在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径,包括:获取全量同步开始时间;在源服务器中筛选新增时间晚于全量同步开始时间的分区;将筛选出的分区确定为目标分区;将目标分区中的数据确定为从开始全量同步起所新增的增量数据;将目标分区对应的存储路径确定为从开始全量同步起所新增的增量数据对应的增量数据存储路径。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当增量数据同步完成时,分别统计源服务器和本地的数据量;将源服务器的数据量与本地的数据量进行匹配;当匹配成功时,向指定终端推送表示同步成功的提示信息。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:接收调度服务器发送的数据同步指令;根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径;将数据按照数据存储路径全量同步到本地;当全量同步完成时,向调度服务器发送表示全量同步完成的提示信息;提示信息用于指示调度服务器触发增量数据同步指令;接收调度服务器发送的增量数据同步指令;根据增量数据同步指令,在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径;将增量数据按照增量数据存储路径增量同步到本地。
在一个实施例中,计算机程序被处理器执行时实现接收调度服务器发送的数据同步指令的步骤之后,还实现以下步骤:根据数据同步指令获取认证密钥;向认证服务器发送携带认证密钥的认证请求;认证请求用于指示认证服务器对认证密钥进行认证;当接收到认证服务器反馈的表示认证通过的提示信息时,执行根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径的步骤。
在一个实施例中,根据数据同步指令在源服务器中查询已有的数据和相应的数据存储路径,包括:根据数据同步指令在源服务器中查询已有的元数据;获取元数据所包括的数据存储路径;根据数据存储路径在源服务器中查询相应的数据。
在一个实施例中,根据数据同步指令在源服务器中查询已有的元数据,包括:根据数据同步指令在源服务器中查询已有的元数据和相应的元数据存储路径;将元数据按照元数据库存储路径同步到本地。
在一个实施例中,计算机程序被处理器执行时实现接收调度服务器发送的增量数据同步指令的步骤之后,还实现以下步骤:将源服务器和本地进行元数据匹配;根据匹配结果确定源服务器相对于本地的增量元数据;将增量元数据同步到本地;基于增量元数据,将源服务器上的相应增量数据同步至本地。
在一个实施例中,数据按照分区进行存储;在源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径,包括:获取全量同步开始时间;在源服务器中筛选新增时间晚于全量同步开始时间的分区;将筛选出的分区确定为目标分区;将目标分区中的数据确定为从开始全量同步起所新增的增量数据;将目标分区对应的存储路径确定为从开始全量同步起所新增的增量数据对应的增量数据存储路径。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当增量数据同步完成时,分别统计源服务器和本地的数据量;将源服务器的数据量与本地的数据量进行匹配;当匹配成功时,向指定终端推送表示同步成功的提示信息。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种数据同步方法,所述方法包括:
接收调度服务器发送的数据同步指令,所述数据同步指令是所述调度服务器检测到数据同步触发事件时生成的;
根据所述数据同步指令在源服务器中查询已有的元数据和相应的元数据存储路径;将所述元数据按照所述元数据存储路径同步到本地;
获取所述元数据所包括的数据存储路径;根据所述数据存储路径在所述源服务器中查询相应的数据;所述数据存储路径用于表示所述数据在服务器中的存储目录;所述元数据用于描述数据对应的数据存储路径、数据库标识和数据格式;
将所述数据按照所述数据存储路径全量同步到本地;
当全量同步完成时,向所述调度服务器发送表示全量同步完成的提示信息;所述提示信息用于指示所述调度服务器触发增量数据同步指令;
接收所述调度服务器发送的增量数据同步指令;
将所述源服务器和本地进行元数据匹配;当匹配失败时,确定所述源服务器相对于本地的增量元数据,所述增量元数据为全量同步过程中新增的元数据;将所述增量元数据按照所述增量元数据存储路径同步到本地,根据所述增量元数据存储路径查询相应的增量数据;
将所述源服务器上的相应增量数据按照对应的增量数据存储路径同步至本地。
2.根据权利要求1所述的方法,其特征在于,所述接收调度服务器发送的数据同步指令之后,所述方法还包括:
根据所述数据同步指令获取认证密钥;
向认证服务器发送携带所述认证密钥的认证请求;所述认证请求用于指示所述认证服务器对所述认证密钥进行认证;
当接收到所述认证服务器反馈的表示认证通过的提示信息时,执行所述根据所述数据同步指令在源服务器中查询已有的数据和相应的数据存储路径的步骤。
3.根据权利要求1至2任意一项所述的方法,其特征在于,所述数据按照分区进行存储;所述在所述源服务器中查询从开始全量同步起所新增的增量数据和相应的增量数据存储路径,包括:
获取全量同步开始时间;
在所述源服务器中筛选新增时间晚于所述全量同步开始时间的分区;
将筛选出的分区确定为目标分区;
将所述目标分区中的数据确定为从开始全量同步起所新增的增量数据;
将所述目标分区对应的存储路径确定为所述从开始全量同步起所新增的增量数据对应的增量数据存储路径。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:当匹配成功时,根据接收到所述数据同步指令的当前时间和接收到所述增量数据同步指令的当前时间,以及所述源服务器中产生新增数据时对应记录的新增时间,在所述源服务器中确定全量同步过程中新增的增量数据。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
当所述增量数据同步完成时,分别统计所述源服务器和本地的数据量;
将所述源服务器的数据量与本地的数据量进行匹配;
当匹配成功时,向指定终端推送表示同步成功的提示信息。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
当所述增量数据同步完成时,分别查询所述源服务器中的元数据和所述本地存储的元数据;
将所述源服务器中的元数据和所述本地存储的元数据进行匹配;
当匹配成功时,向指定终端推送表示同步成功的提示信息。
7.根据权利要求1所述的方法,其特征在于,所述源服务器中记录用户基本信息和各用户的权限信息;
当所述增量数据同步完成时,将所述源服务器中记录的用户基本信息和各所述用户的权限信息同步到本地。
8.一种数据同步装置,其特征在于,所述装置包括:
第一接收模块,用于接收调度服务器发送的数据同步指令,所述数据同步指令是所述调度服务器检测到数据同步触发事件时生成的;
第一查询模块,用于根据所述数据同步指令在源服务器中查询已有的元数据和相应的元数据存储路径;将所述元数据按照所述元数据存储路径同步到本地;获取所述元数据所包括的数据存储路径;根据所述数据存储路径在所述源服务器中查询相应的数据;所述数据存储路径用于表示所述数据在服务器中的存储目录;所述元数据用于描述数据对应的数据存储路径、数据库标识和数据格式;
全量同步模块,用于将所述数据按照所述数据存储路径全量同步到本地;
发送模块,用于当全量同步完成时,向所述调度服务器发送表示全量同步完成的提示信息;所述提示信息用于指示所述调度服务器触发增量数据同步指令;
第二接收模块,用于接收所述调度服务器发送的增量数据同步指令;
第二查询模块,用于将所述源服务器和本地进行元数据匹配;当匹配失败时,确定所述源服务器相对于本地的增量元数据,所述增量元数据为全量同步过程中新增的元数据;将所述增量元数据按照所述增量元数据存储路径同步到本地,根据所述增量元数据存储路径查询相应的增量数据;
增量同步模块,用于将所述源服务器上的相应增量数据按照对应的增量数据存储路径同步至本地。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810548170.1A CN108769212B (zh) | 2018-05-31 | 2018-05-31 | 数据同步方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810548170.1A CN108769212B (zh) | 2018-05-31 | 2018-05-31 | 数据同步方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108769212A CN108769212A (zh) | 2018-11-06 |
CN108769212B true CN108769212B (zh) | 2023-04-07 |
Family
ID=64001020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810548170.1A Active CN108769212B (zh) | 2018-05-31 | 2018-05-31 | 数据同步方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108769212B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111198911B (zh) * | 2018-11-19 | 2021-05-25 | 珠海格力电器股份有限公司 | 一种数据提取方法 |
CN109739893B (zh) * | 2018-12-28 | 2022-04-22 | 上海尚往网络科技有限公司 | 一种元数据管理方法、设备及计算机可读介质 |
CN110119249B (zh) * | 2019-04-04 | 2022-04-01 | 同盾控股有限公司 | 一种数据的存储方法和装置 |
CN110347747A (zh) * | 2019-06-14 | 2019-10-18 | 平安科技(深圳)有限公司 | 数据库间数据同步方法、系统、计算机设备及存储介质 |
CN110365763B (zh) * | 2019-07-11 | 2021-11-23 | 北京蜜莱坞网络科技有限公司 | 一种数据同步方法、装置、设备及存储介质 |
CN110602168B (zh) * | 2019-08-13 | 2022-03-01 | 平安科技(深圳)有限公司 | 数据同步方法、装置、计算机设备和存储介质 |
CN112579692B (zh) * | 2019-09-29 | 2023-05-05 | 杭州海康威视数字技术股份有限公司 | 一种数据同步方法、装置、系统、设备及存储介质 |
CN110837537B (zh) * | 2019-10-12 | 2024-05-31 | 平安银行股份有限公司 | 订单数据同步方法、装置、计算机可读存储介质及服务器 |
CN111107137B (zh) * | 2019-12-06 | 2022-08-02 | 携程旅游信息技术(上海)有限公司 | 通信数据同步及处理方法和系统 |
CN111352994B (zh) * | 2020-02-04 | 2023-04-18 | 浙江大华技术股份有限公司 | 数据同步方法以及相关设备、装置 |
CN111831748B (zh) * | 2020-06-30 | 2024-04-30 | 北京小米松果电子有限公司 | 数据同步方法、装置及存储介质 |
CN111881116A (zh) * | 2020-08-05 | 2020-11-03 | 中国工商银行股份有限公司 | 数据迁移方法、数据迁移系统、计算机系统和存储介质 |
CN111897886A (zh) * | 2020-08-06 | 2020-11-06 | 中国联合网络通信集团有限公司 | 模型管理方法、装置、电子设备和存储介质 |
CN113760922A (zh) * | 2020-09-30 | 2021-12-07 | 北京沃东天骏信息技术有限公司 | 一种业务数据处理系统、方法、服务器和存储介质 |
CN112860796B (zh) * | 2021-02-08 | 2023-07-25 | 北京百度网讯科技有限公司 | 用于同步数据的方法、装置、设备以及存储介质 |
CN113468267B (zh) * | 2021-06-28 | 2024-06-18 | 康键信息技术(深圳)有限公司 | 双机房的数据同步方法、装置、设备及存储介质 |
CN113656511B (zh) * | 2021-10-20 | 2022-02-18 | 天津南大通用数据技术股份有限公司 | 一种基于源库不停机的异构数据库增量同步方法及系统 |
CN115391463A (zh) * | 2022-09-26 | 2022-11-25 | 中国建设银行股份有限公司 | 数据同步方法、装置及服务器集群 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131123A (zh) * | 2016-06-21 | 2016-11-16 | 福建星网视易信息系统有限公司 | 三层架构的远程资源同步方法及系统 |
CN107038227A (zh) * | 2017-03-31 | 2017-08-11 | 武汉票据交易中心有限公司 | 一种脚本代码文件的增量同步方法及系统 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101719861B (zh) * | 2008-10-09 | 2015-01-07 | 纬创资通股份有限公司 | 网络磁盘系统提升便利性的方法及其相关网络磁盘系统 |
US8595382B2 (en) * | 2010-06-07 | 2013-11-26 | Salesforce.Com, Inc. | System, method and computer program product for performing a synchronization of data |
CN102143146B (zh) * | 2010-11-09 | 2015-04-08 | 华为技术有限公司 | 企业通信录更新方法和设备及系统 |
CN102752372A (zh) * | 2012-06-18 | 2012-10-24 | 天津神舟通用数据技术有限公司 | 一种基于文件的数据库同步方法 |
CN103577474B (zh) * | 2012-08-03 | 2017-06-09 | 阿里巴巴集团控股有限公司 | 一种数据库的更新方法及系统 |
CN104881494B (zh) * | 2015-06-12 | 2019-02-19 | 北京奇虎科技有限公司 | 与Redis服务器进行数据同步的方法、装置和系统 |
CN105610566A (zh) * | 2016-01-06 | 2016-05-25 | 烽火通信科技股份有限公司 | 主备节点间数据实时同步的方法及系统 |
CN107704550B (zh) * | 2017-09-26 | 2021-04-30 | 深圳前海微众银行股份有限公司 | 文件迁移方法、装置以及计算机可读存储介质 |
-
2018
- 2018-05-31 CN CN201810548170.1A patent/CN108769212B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106131123A (zh) * | 2016-06-21 | 2016-11-16 | 福建星网视易信息系统有限公司 | 三层架构的远程资源同步方法及系统 |
CN107038227A (zh) * | 2017-03-31 | 2017-08-11 | 武汉票据交易中心有限公司 | 一种脚本代码文件的增量同步方法及系统 |
Non-Patent Citations (2)
Title |
---|
"A trie merging approach with incremental updates for virtual routers";Layong Luo;《IEEE》;全文 * |
"分布式内存数据库数据并行快速加载与索引技术";柳陆;《中国优秀硕士学位论文全文数据库信息科技辑》;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN108769212A (zh) | 2018-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108769212B (zh) | 数据同步方法、装置、计算机设备和存储介质 | |
US11068449B2 (en) | Data migration method, apparatus, and storage medium | |
CN109474578B (zh) | 报文消息校验方法、装置、计算机设备和存储介质 | |
CN110069572A (zh) | 基于大数据平台的hive任务调度方法、装置、设备及存储介质 | |
CN108965383B (zh) | 文件同步方法、装置、计算机设备和存储介质 | |
CN110224855B (zh) | 微服务实例的注册方法、装置、计算机设备及存储介质 | |
CN110908778B (zh) | 任务部署方法、系统和存储介质 | |
CN110781214A (zh) | 数据库读写方法、装置、计算机设备和存储介质 | |
CN110619226A (zh) | 一种基于平台的数据处理方法、系统、设备及存储介质 | |
CN110347747A (zh) | 数据库间数据同步方法、系统、计算机设备及存储介质 | |
CN110063042B (zh) | 一种数据库故障的响应方法及其终端 | |
CN113254534A (zh) | 数据同步方法、装置及计算机存储介质 | |
CN112104671B (zh) | 接口授权监控方法、装置、计算机设备和存储介质 | |
CN111026767A (zh) | 区块链的数据存储方法、装置及硬件设备 | |
CN108512948B (zh) | 通讯录更新方法、装置、计算机设备和存储介质 | |
CN112632375A (zh) | 会话信息处理方法、服务器及存储介质 | |
CN103491137A (zh) | 数据同步系统和数据同步方法 | |
CN111130991A (zh) | 即时通讯信息处理方法、装置、计算机设备及存储介质 | |
CN110457971B (zh) | 重复识别码信息的检测方法和装置 | |
CN111427950B (zh) | 数据发送、接收方法及相应的装置、设备、存储介质 | |
CN113742681B (zh) | 一种账户管理方法、装置、计算机设备和存储介质 | |
CN111565173A (zh) | 区块链系统的智能合约管理方法、装置及硬件设备 | |
CN108882230B (zh) | 通话记录管理方法、装置及系统 | |
CN113590643B (zh) | 基于双轨数据库的数据同步方法、装置、设备和存储介质 | |
CN114722118A (zh) | 数据同步方法和系统、计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |