CN109471901B - 一种数据同步方法及装置 - Google Patents
一种数据同步方法及装置 Download PDFInfo
- Publication number
- CN109471901B CN109471901B CN201710714280.6A CN201710714280A CN109471901B CN 109471901 B CN109471901 B CN 109471901B CN 201710714280 A CN201710714280 A CN 201710714280A CN 109471901 B CN109471901 B CN 109471901B
- Authority
- CN
- China
- Prior art keywords
- data
- synchronized
- synchronization
- file
- shared directory
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种数据同步方法及装置,涉及计算机技术领域,主要目的在于使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性,本发明的主要技术方案为:创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息。本发明主要用于数据的同步。
Description
技术领域
本发明涉及数据处理技术领域,尤其涉及一种数据同步方法及装置。
背景技术
随着计算机技术的快速发展,数据已经渗透到当今的各个行业以及业务职能领域,而云时代的到来吸引了更多对大数据的关注,一般会有多台数据服务器的集群来存储数据,并同时提供数据的读写服务,因此,如何实现集群中数据的同步一直是关注的重点。
集群中数据的同步离不开集群的工作分工,集群工作分工是非常重要的,通过工作分工让不同集群做各自的工作,能极大提升集群工作效率。例如,现在有一个大集群,同时负责数据的计算和用户的查询,当集群计算数据时需要大量读取和写入操作时,会存在CPU占用率高的问题,另外,由于底层使用的是同一个文件系统,必然会影响数据查询速度。而如果将集群分为A集群和B集群后,A集群用于对收集来的数据进行计算,生成数据,B集群用于去A集群中拷贝数据来实现同步数据,以供用户查询,使得写入和读取数据分离开,则会极大地提升数据查询速度。
然而,通过集群中数据的同步,集群中的数据会有所变化,集群A的数据在拷贝到集群B后,集群B中增加了拷贝后的数据,而当用户再次查询数据时,由于数据位置的变化使得用户无法查询到同步后数据,进而导致生成的数据查询结果不准确。
发明内容
有鉴于此,本发明提供一种数据同步方法及装置,主要目的在于使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性。
为了解决上述问题,本发明主要提供如下技术方案:
一方面,本发明实施例提供了一种数据同步方法,包括:
创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;
根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;
更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息。
进一步地,在所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步之前,所述方法还包括:
按照预设时间间隔检测所述共享目录中是否存在文件标识;
如果是,则获取文件锁,启动并行同步任务。
进一步地,在所述更新同步后的数据在数据库中对应的数据路径之后,所述方法还包括:
通过查询所述共享目录,校验所述同步后的数据是否一致;
如果不一致,则从所述共享目录中获取同步失败数据对应的文件标识,根据所述文件标识将所述同步失败数据再次进行同步;
如果一致,则释放文件锁,清空所述共享目录。
进一步地,所述根据所述文件标识将所述同步失败数据再次进行同步包括:
根据所述文件标识从第一集群中获取所述同步失败数据;
采用串行同步的方式将所述第一集群中同步失败数据同步至第二集群中。
进一步地,在所述根据所述文件标识将所述同步失败数据再次进行同步之后,所述方法还包括:
通过查询所述共享目录中同步失败数据对应的文件标识,校验再次同步后的数据是否一致;
如果不一致,则将再次同步失败数据对应的文件标识标记为错误文件。
进一步地,所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步包括:
根据所述共享目录中的文件标识从所述第一集群中获取需要同步的数据;
采用并行同步的方式将所述第一集群中需要同步的数据同步至第二集群中。
进一步地,所述更新同步后的数据在数据库中对应的数据路径包括:
获取同步后的数据在所述第二集群中的位置信息;
根据所述位置信息更新所述同步后的数据在数据库中对应的数据路径。
为了实现上述目的,根据本发明的另一方面,提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据同步方法。
为了实现上述目的,根据本发明的另一方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的数据同步方法。
另一方面,本发明实施例还提供了一种数据同步装置,包括:
创建单元,用于创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;
第一同步单元,用于根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;
更新单元,用于更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息。
进一步地,所述装置还包括:
检测单元,用于在所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步之前,按照预设时间间隔检测所述共享目录中是否存在文件标识;
启动单元,用于如果检测所述共享目录中存在文件标识,则获取文件锁,启动并行同步任务。
进一步地,所述装置还包括:
第一校验单元,用于在所述更新同步后的数据在数据库中对应的数据路径之后,通过查询所述共享目录,校验所述同步后的数据是否一致;
第二同步单元,用于如果不一致,则从所述共享目录中获取同步失败数据对应的文件标识,根据所述文件标识将所述同步失败数据再次进行同步;
清空单元,用于如果一致,则释放文件锁,清空所述共享目录。
进一步地,所述第二同步单元,具体用于根据所述文件标识从第一集群中获取所述同步失败数据;
所述第二同步单元,具体还用于采用串行同步的方式将所述第一集群中同步失败数据同步至第二集群中。
进一步地,所述装置还包括:
第二校验单元,用于在所述根据所述文件标识将所述同步失败数据再次进行同步之后,通过查询所述共享目录中同步失败数据对应的文件标识,校验再次同步后的数据是否一致;
标记单元,用于如果不一致,则将再次同步失败数据对应的文件标识标记为错误文件。
进一步地,所述第一同步单元包括:
第一获取模块,用于根据所述共享目录中的文件标识从所述第一集群中获取需要同步的数据;
同步模块,用于采用并行同步的方式将所述第一集群中需要同步的数据同步至第二集群中。
进一步地,所述更新单元包括:
第二获取模块,用于获取同步后的数据在所述第二集群中的位置信息;
更新模块,用于根据所述位置信息更新所述同步后的数据在数据库中对应的数据路径。
借由上述技术方案,本发明实施例提供的技术方案至少具有下列优点:
本发明实施例提供的一种数据同步方法及装置,通过创建共享目录,根据共享目录中的文件标识来对集群间的数据进行同步,保证数据同步的准确性,通过更新同步后的数据在数据库中对应的数据路径,这里的数据库中记录有数据在集群中的路径信息,保证了数据查询的准确性。与现有技术中采用拷贝方式进行集群间数据同步的方法相比,本发明实施例通过在将集群间需要同步的数据进行同步后,更新同步后数据在数据库中对应的数据路径,当用户再次查询数据时,会准确定位到同步后数据的位置,使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例提供的一种数据同步方法流程图;
图2为本发明实施例提供的另一种数据同步方法流程图;
图3为本发明实施例提供的一种数据同步装置的组成框图;
图4为本发明实施例提供的另一种数据同步装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种数据同步方法,如图1所示,该方法通过在数据同步后,将同步后的数据在数据库中对应的数据路径进行更新,保证了数据查询结果的准确性,对此本发明实施例提供以下具体步骤:
101、创建共享目录。
其中,共享目录用于存储集群间需要同步的数据对应的文件标识,该文件标识可以包括文件名称、文件类型以及文件在集群中存储的位置等,本发明实施例不进行限定。
对于共享目录的创建位置,通常为数据库中集群间都可以访问的位置,这样在数据同步过程中,集群可以通过查找共享目录来实现数据同步,本发明实施例不进行具体限定。
对于本发明实施例,如果当前集群间需要进行数据同步,则可以通过将需要同步的数据对应的文件标识放置于共享目录中,并且在当前集群完成数据同步后,会将共享目录中的文件标识清除,进而说明同步完成。
102、根据所述共享目录中的文件标识将集群间需要同步的数据进行同步。
通过共享目录中的文件标识能够查找到需要同步的数据信息,进一步获取到需要同步的数据,并将集群间需要同步的数据进行同步,本发明实施例对数据同步的方式不进行限定,如果需要同步的数据量比较大,优选并行同步的方式,一次性将大量数据同步至集群中,如果需要同步的数据量较小,优选串行同步的方式,多次将数据同步至集群中。
需要说明的是,上述并行同步的方法相比串行同步的速度要快得多,效率更高,费时更少,但是并行同步的方式可能会存在过多的干扰,在数据同步过程中可能存在数据丢失的现象,而串行通信数据同步过程中的可靠性更高,具体可根据实际情况选取不同的同步方式。
103、更新同步后的数据在数据库中对应的数据路径。
由于同步后的数据在集群中的位置会发生变化,例如,将集群A中的部分数据同步至集群B中后,集群B中增加了同步后的数据,因此在数据同步后,需要更新数据库中对应的数据路径,这里的数据库中记录有数据在集群中的路径信息。
现有技术在将集群A中的部分数据同步至集群B中后,同步后的数据在数据库中对应的路径仍然是同步之前集群A的数据路径,此时导致用户无法从集群B中查询到同步后的数据,因此需要进一步在数据同步后更新同步后的数据在数据库中对应的路径。
针对本发明的实施例提供的一种数据同步方法,通过创建共享目录,根据共享目录中的文件标识来对集群间的数据进行同步,保证数据同步的准确性,通过更新同步后的数据在数据库中对应的数据路径,这里的数据库中记录有数据在集群中的路径信息,保证了数据查询的准确性。与现有技术中采用拷贝方式进行集群间数据同步的方法相比,本发明实施例通过在将集群间需要同步的数据进行同步后,更新同步后数据在数据库中对应的数据路径,当用户再次查询数据时,会准确定位到同步后数据的位置,使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性。
以下为了更加详细地说明本发明提出的一种数据同步方法,特别是在更新同步后的数据在数据库中对应的路径信息的步骤之后,增加了对同步后的数据一致性进行校验,进而保证同步数据的准确性,本发明实施例还提供了另一种数据同步方法,如图2所示,该方法的具体的步骤包括:
201、创建共享目录。
这里的共享目录用于存储集群间需要同步的数据对应的文件标识,例如,当集群A完成数据计算任务后,需要将计算的数据同步至集群B,进一步将需要同步的数据对应的文件标识发送至共享目录,以便于根据共享目录来进行数据同步,从而保证数据同步的准确性。
对于本发明实施例,共享目录可以容易被数据库中集群访问,当集群间需要数据同步时,通过查找共享目录中的文件标识来获取需要同步的数据,例如需要同步的数据为日期为2015年3月20日的文件数据,或者需要同步的数据为文件类型为文本类型的文件数据,本发明实施例对文件标识不进行限定。
202、按照预设时间间隔检测所述共享目录中是否存在文件标识。
在创建完成共享目录后,如果存在需要同步的数据,在共享目录中会记录有需要同步数据的文件标识,如果不存在需要同步的数据,在共享目录中不会有相应文件标识记录,通过按照预设时间间隔检测共享目录中是否存在文件标识能够了解集群中是否有需要同步的数据。
通常情况下,在分工用于计算的第一集群在生成数据后,会将需要同步的数据对应的文件标识放置到共享目录中,而分工用于同步的第二集群会按照设定的时间间隔来检测共享目录,进而判断是否有需要同步的数据,应说明的是,这里设定的时间间隔通常为1~2小时,这样既可以保证同步数据累积量在一定范围内又不会过于频繁的同步数据,避免了集群资源的浪费。
203、如果是,则获取文件锁,启动并行同步任务,根据所述共享目录中的文件标识从所述第一集群中获取需要同步的数据。
如果检测到共享目录中存在文件标识,则说明集群间需要进行数据同步,进一步获取文件锁,并启动同步任务,确保数据同步期间不会再创建新的同步任务,对于本发明实施例,第一集群通常在计算生成数据后会将需要同步数据对应的文件标识存入共享目录,以便当启动同步任务时可以根据共享目录中的文件标识从第一集群中获取需要同步的数据,进而将需要同步的数据同步至第二集群,以便用户查询数据。
204、采用并行同步的方式将所述第一集群中需要同步的数据同步至第二集群中。
对于本发明实施例,由于首次数据同步时需要同步的数据量比较大,通常会采用并行同步的方式将第一集群中需要同步的数据同步至第二集群,这里可以默并行同步的并发度为4,当然本发明实施例也可以自定义并发度,通常为了保证数据同步过程中数据的可靠性会将并行同步的并发度设置较小,如果数据量较大可以适量提高并行同步的并发度。
205、获取同步后的数据在所述第二集群中的位置信息。
在将需要同步的数据同步至第二集群后,第二集群会创建一个新的数据文件,用于存储同步后的数据,需要说明的是,为了区分集群间的同步数据,第二集群中同步后的数据对应的文件信息与第一集群中计算生成的需要同步的数据对应的文件信息有所不同,另外,由于第二集群中增加了同步后的数据,相应同步后的数据对应的位置信息也有所改变,进一步获取同步后的数据在第二集群中的位置信息。
对于本发明实施例,可以通过监控集群间的同步任务,在数据同步结束后扫描第二集群,查找第二集群中新增的数据,进而得到新增的数据对应的位置信息。
206、根据所述位置信息更新所述同步后的数据在数据库中对应的数据路径。
在获取到同步后数据的位置信息后,第二集群中增加了新的数据,进一步需要更新至数据库中第二集群中同步后的数据对应的数据路径,以便于当用户查找数据时候通过同步后的数据对应的数据路径能够查询到相应数据,不会影响到用户的数据查询,同时也保证了数据查询结果的准确性。
207、通过查询所述共享目录,校验所述同步后的数据是否一致。
在数据同步的过程中由于网络或者操作等问题可能导致数据同步过程中数据丢失,本发明实施例在完成数据同步后,由于共享目录中记录有需要同步的数据对应的文件标识,通过查询共享目录来查找同步后的数据是否一致,进而对同步后的数据进行校验,例如共享目录记录有需要同步的数据对应的文件标识为表格A至表格E,进一步去第二集群中查找是否存在表格A至表格E,如果存在则说明数据一致,否则说明数据不一致,在同步过程中存在数据丢失。
208a、如果不一致,则从所述共享目录中获取同步失败数据对应的文件标识,根据所述文件标识将所述同步失败数据再次进行同步。
如果同步后数据不一致,则说明数据同步过程中存在丢失的数据,也就是同步失败的数据,进一步通过查找共享目录可以发现同步失败数据对应的文件标识,进一步将同步失败数据再次进行同步,提高数据同步的可靠性。
需要说明的是,由于同步失败数据的数据量通常较少,可以使用串行同步的方式将同步失败的数据进行再次同步,本发明实施例不进行限定。
对于本发明实施例,在完成数据同步后会对同步后的数据进行校验,如果存在同步失败数据时,会对同步失败数据再次进行同步,增强了数据的可靠性。
209a、通过查询所述共享目录中同步失败数据对应的文件标识,校验再次同步后的数据是否一致。
为了方便同步失败数据再次同步的可靠性,再一次查找共享目录中同步失败数据对应的文件标识,对第二集群中再次同步后的数据进行校验,当然为了方便进行校验,还可以在验证同步数据不一致时会将同步失败数据对应的文件标识记录下来,以便再次对同步失败数据进行校验时可以直接根据记录下来的文件标识对第二集群中同步后的数据进行校验。
210a、如果不一致,则将再次同步失败数据对应的文件标识标记为错误文件。
如果再次校验同步后的数据仍然不一致,可能说明该数据内容存在错误或者数据兼容等问题,进一步将失败数据对应的文件标识记为错误文件,以便于后续重点排查。
对于本发明实施例,通过对同步失败数据进行再次校验,会对同步失败数据再次进行同步,再次增强了数据的可靠性,保证了数据查询结果的准确性。
相应的,与步骤208a对应的步骤208b、如果一致,则释放文件锁,清空所述共享目录。
对于同步完成的数据,结束同步任务,释放文件锁,以便后续同步任务的创建,对于共享目录中存储的需要共享文件的标识也相应清空,以便后期添加需要同步数据对应的文件标识,避免出现重复同步的数据。
对于本发明实施例,具体的应用场景可以包括但不局限于下述实现方式,A集群用于计算数据,并生成同步数据,B集群用于从A集群中同步数据,以供用户查询,当集群A完成当前小时的数据计算后,生成数据对应的文件标识为2017050316,用于表示2017年05月03日16点计算生成的数据,创建共享目录,将生成数据对应的文件标识2017050316存放至共享目录,B集群建立定时任务,每间隔10mi n检测共享目录中是否存在文件标识,检测存在有文件标识,进一步获取文件锁,启动同步任务,根据共享目录中记录的文件标识采用并行同步的方式将集群A中生成的数据同步至集群B中,集群B预先创建数据文件来存储同步后的数据,为了保证数据同步的可靠性,进一步对通过查询共享目录来校验同步后数据是否一致,如果一致则同步完成,释放同步锁,如果不一致,则说明数据同步时存在同步失败数据,采用串行同步的方式对同步失败的数据进行再次同步,保证数据传递的安全性,同样对同步失败的数据进行再次校验,如果仍然不一致则说明可能数据存在错误,将错误数据记录到f i rst_err_tab l e中,并通过email进行通知,对错误数据进行重点排查。
针对本发明实施例提供的另一种数据同步方法,通过创建共享目录,根据共享目录中的文件标识来对集群间的数据进行同步,保证数据同步的准确性,通过更新同步后的数据在数据库中对应的数据路径,这里的数据库中记录有数据在集群中的路径信息,保证了数据查询的准确性。与现有技术中采用拷贝方式进行集群间数据同步的方法相比,本发明实施例通过在将集群间需要同步的数据进行同步后,更新同步后数据在数据库中对应的数据路径,当用户再次查询数据时,会准确定位到同步后数据的位置,使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性。
另外,本发明实施例增加了同步校验机制,通过对同步后的数据进行校验,保证数据同步的准确性,并且对同步失败的数据进行再次同步,进一步增强数据的可靠性,如果再次同步仍然存在失败数据,则对失败数据进行记录后重点排查,保证了数据的安全性。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行上述所述的数据同步方法。
为了实现上述目的,根据本发明的另一方面,本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述所述的数据同步方法。
进一步的,作为对上述图1及图2所示方法的实现,本发明另一实施例还提供了一种数据同步装置。该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置能够使得数据同步过程中不影响用户的数据查询,保证数据查询结果的准确性,具体如图3所示,该装置包括:
创建单元301,可以用于创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;
第一同步单元302,可以用于根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;
更新单元303,可以用于更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息。
针对本发明的实施例提供了一种数据同步装置,通过创建共享目录,根据共享目录中的文件标识来对集群间的数据进行同步,保证数据同步的准确性,通过更新同步后的数据在数据库中对应的数据路径,这里的数据库中记录有数据在集群中的路径信息,保证了数据查询的准确性。与现有技术中采用拷贝方式进行集群间数据同步的方法相比,本发明实施例通过在将集群间需要同步的数据进行同步后,更新同步后数据在数据库中对应的数据路径,当用户再次查询数据时,会准确定位到同步后数据的位置,使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性。
进一步的,如图4所示,所述装置还包括:
检测单元304,可以用于在所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步之前,按照预设时间间隔检测所述共享目录中是否存在文件标识;
启动单元305,可以用于如果检测所述共享目录中存在文件标识,则获取文件锁,启动并行同步任务;
第一校验单元306,可以用于在所述更新同步后的数据在数据库中对应的数据路径之后,通过查询所述共享目录,校验所述同步后的数据是否一致;
第二同步单元307,可以用于如果不一致,则从所述共享目录中获取同步失败数据对应的文件标识,根据所述文件标识将所述同步失败数据再次进行同步;
清空单元308,可以用于如果一致,则释放文件锁,清空所述共享目录;
第二校验单元309,可以用于在所述根据所述文件标识将所述同步失败数据再次进行同步之后,通过查询所述共享目录中同步失败数据对应的文件标识,校验再次同步后的数据是否一致;
标记单元310,可以用于如果不一致,则将再次同步失败数据对应的文件标识标记为错误文件。
进一步地,所述第二同步单元307,具体可以用于根据所述文件标识从第一集群中获取所述同步失败数据;
所述第二同步单元307,具体还可以用于采用串行同步的方式将所述第一集群中同步失败数据同步至第二集群中。
进一步地,所述第一同步单元302包括:
第一获取模块3021,可以用于根据所述共享目录中的文件标识从所述第一集群中获取需要同步的数据;
同步模块3022,可以用于采用并行同步的方式将所述第一集群中需要同步的数据同步至第二集群中。
进一步地,所述更新单元303包括:
第二获取模块3031,可以用于获取同步后的数据在所述第二集群中的位置信息;
更新模块3032,可以用于根据所述位置信息更新所述同步后的数据在数据库中对应的数据路径。
针对本发明实施例提供的另一种数据同步装置,通过创建共享目录,根据共享目录中的文件标识来对集群间的数据进行同步,保证数据同步的准确性,通过更新同步后的数据在数据库中对应的数据路径,这里的数据库中记录有数据在集群中的路径信息,保证了数据查询的准确性。与现有技术中采用拷贝方式进行集群间数据同步的方法相比,本发明实施例通过在将集群间需要同步的数据进行同步后,更新同步后数据在数据库中对应的数据路径,当用户再次查询数据时,会准确定位到同步后数据的位置,使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性。
另外,本发明实施例增加了同步校验机制,通过对同步后的数据进行校验,保证数据同步的准确性,并且对同步失败的数据进行再次同步,进一步增强数据的可靠性,如果再次同步仍然存在失败数据,则对失败数据进行记录后重点排查,保证了数据的安全性。
所述数据同步装置包括处理器和存储器,上述创建单元301、第一同步单元302和更新单元303等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来使得数据同步过程中不影响用户的数据查询,保证了数据查询结果的准确性。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述数据同步方法。
本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述数据同步方法。
本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:
一种数据同步方法,包括:创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息。
进一步地,在所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步之前,所述方法还包括:按照预设时间间隔检测所述共享目录中是否存在文件标识;如果是,则获取文件锁,启动并行同步任务。
进一步地,在所述更新同步后的数据在数据库中对应的数据路径之后,所述方法还包括:通过查询所述共享目录,校验所述同步后的数据是否一致;如果不一致,则从所述共享目录中获取同步失败数据对应的文件标识,根据所述文件标识将所述同步失败数据再次进行同步;如果一致,则释放文件锁,清空所述共享目录。
进一步地,所述根据所述文件标识将所述同步失败数据再次进行同步包括:根据所述文件标识从第一集群中获取所述同步失败数据;采用串行同步的方式将所述第一集群中同步失败数据同步至第二集群中。
进一步地,在所述根据所述文件标识将所述同步失败数据再次进行同步之后,所述方法还包括:通过查询所述共享目录中同步失败数据对应的文件标识,校验再次同步后的数据是否一致;如果不一致,则将再次同步失败数据对应的文件标识标记为错误文件。
进一步地,所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步包括:根据所述共享目录中的文件标识从所述第一集群中获取需要同步的数据;采用并行同步的方式将所述第一集群中需要同步的数据同步至第二集群中。
进一步地,所述更新同步后的数据在数据库中对应的数据路径包括:获取同步后的数据在所述第二集群中的位置信息;根据所述位置信息更新所述同步后的数据在数据库中对应的数据路径。
本文中的设备可以是服务器、PC、PAD、手机等。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (9)
1.一种数据同步方法,其特征在于,包括:
创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;
根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;
更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息;
在所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步之前,所述方法还包括:
按照预设时间间隔检测所述共享目录中是否存在文件标识;
如果是,则获取文件锁,启动并行同步任务。
2.根据权利要求1所述的方法,其特征在于,在所述更新同步后的数据在数据库中对应的数据路径之后,所述方法还包括:
通过查询所述共享目录,校验所述同步后的数据是否一致;
如果不一致,则从所述共享目录中获取同步失败数据对应的文件标识,根据所述文件标识将所述同步失败数据再次进行同步;
如果一致,则释放文件锁,清空所述共享目录。
3.根据权利要求2所述的方法,其特征在于,所述根据所述文件标识将所述同步失败数据再次进行同步包括:
根据所述文件标识从第一集群中获取所述同步失败数据;
采用串行同步的方式将所述第一集群中同步失败数据同步至第二集群中。
4.根据权利要求3所述的方法,其特征在于,在所述根据所述文件标识将所述同步失败数据再次进行同步之后,所述方法还包括:
通过查询所述共享目录中同步失败数据对应的文件标识,校验再次同步后的数据是否一致;
如果不一致,则将再次同步失败数据对应的文件标识标记为错误文件。
5.根据权利要求4所述的方法,其特征在于,所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步包括:
根据所述共享目录中的文件标识从所述第一集群中获取需要同步的数据;
采用并行同步的方式将所述第一集群中需要同步的数据同步至第二集群中。
6.根据权利要求4所述的方法,其特征在于,所述更新同步后的数据在数据库中对应的数据路径包括:
获取同步后的数据在所述第二集群中的位置信息;
根据所述位置信息更新所述同步后的数据在数据库中对应的数据路径。
7.一种数据同步装置,其特征在于,包括:
创建单元,用于创建共享目录,所述共享目录用于存储集群间需要同步的数据对应的文件标识;
第一同步单元,用于根据所述共享目录中的文件标识将集群间需要同步的数据进行同步;
更新单元,用于更新同步后的数据在数据库中对应的数据路径,所述数据库中记录有数据在集群中的路径信息;
检测单元,用于在所述根据所述共享目录中的文件标识将集群间需要同步的数据进行同步之前,按照预设时间间隔检测所述共享目录中是否存在文件标识;
启动单元,用于如果检测所述共享目录中存在文件标识,则获取文件锁,启动并行同步任务。
8.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至权利要求6中任意一项所述的数据同步方法。
9.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至权利要求6中任意一项所述的数据同步方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710714280.6A CN109471901B (zh) | 2017-08-18 | 2017-08-18 | 一种数据同步方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710714280.6A CN109471901B (zh) | 2017-08-18 | 2017-08-18 | 一种数据同步方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109471901A CN109471901A (zh) | 2019-03-15 |
CN109471901B true CN109471901B (zh) | 2021-12-07 |
Family
ID=65657903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710714280.6A Active CN109471901B (zh) | 2017-08-18 | 2017-08-18 | 一种数据同步方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109471901B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110175159B (zh) * | 2019-05-29 | 2020-07-31 | 京东数字科技控股有限公司 | 用于对象存储集群的数据同步方法与系统 |
CN111147496B (zh) * | 2019-12-27 | 2022-04-08 | 北京奇艺世纪科技有限公司 | 数据处理方法及装置 |
CN113032483B (zh) * | 2021-03-12 | 2023-08-08 | 北京百度网讯科技有限公司 | 跨平台的数据资产共享方法、装置及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761162A (zh) * | 2014-01-11 | 2014-04-30 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
CN105491066A (zh) * | 2016-01-05 | 2016-04-13 | 李景泉 | 一种社会安防视频监控云平台及监控方法 |
CN105893447A (zh) * | 2015-12-28 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 文件同步方法、装置及系统 |
CN106503158A (zh) * | 2016-10-31 | 2017-03-15 | 深圳中兴网信科技有限公司 | 数据同步方法及装置 |
CN106682200A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 集群间的数据同步方法及装置 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040139235A1 (en) * | 2002-11-01 | 2004-07-15 | Gus Rashid | Local intelligence, cache-ing and synchronization process |
US7617216B2 (en) * | 2005-09-07 | 2009-11-10 | Emc Corporation | Metadata offload for a file server cluster |
CN101399695B (zh) * | 2007-09-26 | 2011-06-01 | 阿里巴巴集团控股有限公司 | 一种操作共享资源的方法和设备 |
CN101719950A (zh) * | 2009-12-04 | 2010-06-02 | 中兴通讯股份有限公司 | 移动终端间同步设置的方法、系统及移动终端 |
CN104063331B (zh) * | 2014-07-03 | 2017-04-12 | 龙芯中科技术有限公司 | 处理器、共享存储区域访问方法和锁管理器 |
US10657105B2 (en) * | 2014-10-30 | 2020-05-19 | Hitachi, Ltd. | Method and computer system for sharing objects |
-
2017
- 2017-08-18 CN CN201710714280.6A patent/CN109471901B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761162A (zh) * | 2014-01-11 | 2014-04-30 | 深圳清华大学研究院 | 分布式文件系统的数据备份方法 |
CN105893447A (zh) * | 2015-12-28 | 2016-08-24 | 乐视网信息技术(北京)股份有限公司 | 文件同步方法、装置及系统 |
CN105491066A (zh) * | 2016-01-05 | 2016-04-13 | 李景泉 | 一种社会安防视频监控云平台及监控方法 |
CN106503158A (zh) * | 2016-10-31 | 2017-03-15 | 深圳中兴网信科技有限公司 | 数据同步方法及装置 |
CN106682200A (zh) * | 2016-12-29 | 2017-05-17 | 北京奇虎科技有限公司 | 集群间的数据同步方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109471901A (zh) | 2019-03-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108241555B (zh) | 一种分布式数据库的备份、恢复方法、装置和服务器 | |
AU2014415350B2 (en) | Data processing method, apparatus and system | |
CN107515874B (zh) | 一种分布式非关系型数据库中同步增量数据的方法与设备 | |
CN107040578B (zh) | 数据同步方法、装置和系统 | |
CN106897342B (zh) | 一种数据校验方法和设备 | |
CN106899654B (zh) | 一种序列值生成方法、装置及系统 | |
CN109634682B (zh) | 应用程序的配置文件更新方法及装置 | |
US10949401B2 (en) | Data replication in site recovery environment | |
CN106445643B (zh) | 克隆、升级虚拟机的方法及设备 | |
WO2018233630A1 (zh) | 故障发现 | |
CN109471901B (zh) | 一种数据同步方法及装置 | |
CN113111129A (zh) | 数据同步方法、装置、设备及存储介质 | |
CN105205053A (zh) | 一种数据库增量日志解析方法及系统 | |
CN111538719A (zh) | 数据迁移方法、装置、设备及计算机存储介质 | |
CN105446825A (zh) | 数据库测试方法及装置 | |
CN111680017A (zh) | 一种数据同步的方法及装置 | |
CN102708166B (zh) | 数据复制方法、数据恢复方法及装置 | |
CN108572888B (zh) | 磁盘快照创建方法和磁盘快照创建装置 | |
CN108062323B (zh) | 一种日志读取方法及装置 | |
CN113468143A (zh) | 数据迁移方法、系统、计算设备及存储介质 | |
CN112035418A (zh) | 多机房同步方法、计算设备及计算机存储介质 | |
CN111209138A (zh) | 数据存储系统的运维方法及装置 | |
CN116049306A (zh) | 数据同步方法、装置、电子设备以及可读存储介质 | |
CN111125087A (zh) | 数据的存储方法及装置 | |
CN110928945A (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 | ||
CB02 | Change of applicant information |
Address after: 100083 No. 401, 4th Floor, Haitai Building, 229 North Fourth Ring Road, Haidian District, Beijing Applicant after: Beijing Guoshuang Technology Co.,Ltd. Address before: 100086 Beijing city Haidian District Shuangyushu Area No. 76 Zhichun Road cuigongfandian 8 layer A Applicant before: Beijing Guoshuang Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |