一种数据同步的方法和系统技术方案

技术编号:4159963 阅读:195 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种数据同步的方法和系统,其中方法包括:接收同步命令;生成第一原始同步策略,第一原始同步策略至少包含第一文件指纹;接收第二文件指纹,第二文件指纹包含在第二原始同步策略中;比较第一文件指纹和第二文件指纹是否相同;如果相同,应用预定的策略变换规则对第一原始同步策略和/或所述第二原始同步策略进行修改,生成第一修正同步策略和/或第二修正同步策略;根据第一修正同步策略和/或所述第二修正同步策略进行数据同步。应用本发明专利技术优选实施例所提供的技术,一旦文件指纹相同的文件的文件名或者位置发生改变,不再需要经过网络进行同步,而是在设备内部进行文件的修改,极大的减轻了网络的负担,提高了同步效率。

Method and system for data synchronization

The present invention provides a method and a data synchronization system, wherein the method includes: receiving synchronization command; generating a first original synchronization strategy, the first original synchronization strategy includes at least a first file fingerprint; receiving second file second file fingerprint fingerprint, included in the second step strategy in comparison with the original; the first file fingerprint and second file fingerprint are the same; if the same strategy, transformation rules using a predetermined first original synchronization strategy and / or the second original synchronization strategy changes, generating a first correction synchronization strategy and / or second synchronous correction strategy; according to the first amendment synchronization strategy and / or the second amendment synchronization strategy for data synchronization. The application of the embodiment of the invention provides a preferred technology, once the file fingerprint files of the same file name or location change, no longer need to go through the network synchronization, but the amendment to the equipment, greatly reduce the burden of network, improve the synchronization efficiency.

【技术实现步骤摘要】

本专利技术涉及不同设备之间的数据交互,特别是指一种数据同步的方法和系统
技术介绍
在多个设备之间,或者本地设备和远程网络设备之间,人们经常要进行文件的同步或者备份,比如公司两台计算机之间的文件同步,公司笔记本和家 庭计算机之间的文件同步,个人计算机和远程数据备除中心之间的文件同步, 以及个人计算机和网络硬盘的文件同步。目前有很多技术方案都可以解决这些同步问题,例如,通过在同步源建立 文件变化信息表,在同步目标建立同步规则和同步记录表,两者连接后就可以 自动把同步源的变化同步到同步目标上;或者,在本地设备和远程网络设备之 间,通过递归对比文件的属性信息进行文件和目录的同步;或者通过对比文件 摘要信息表的变化进行文件同步。但是无论采用上述哪一种技术, 一旦文件名或者位置发生改变,就会被认 为是一个新的同步项,并首先在同步目标上删除文件,然后从同步源复制被改 名或者移动的文件到同步目标,这会导致在进行同步的设备之间进行多次文件 传输,特别是对于大量的大文件之间的同步,同步效率会很低。
技术实现思路
本专利技术的目的是提供一种数据同步的方法和系统,用于解决现有技术中, 一旦文件名或者位置发生改变,需要多次同步传输,降低同步效率的缺陷。一种数据同步方法,接收同步命令;生成第一原始同步策略,所述第一 原始同步策略至少包含第一文件指紋;接收第二文件指紋,所述第二文件指紋 包含在第二原始同步策略中;比较所述第 一文件指紋和所述第二文件指故是否 相同;如果相同,应用预定的策略变换规则对所述第一原始同步策略和/或所 述第二原始同步策略进行修改,生成第一修正同步策略和/或第二修正同步策略;根据所述第 一修正同步策略和/或所述第二修正同步策略进行数据同步。一种数据同步系统,本地同步控制器,用于根据待同步文件生成原始同步 策略,并对所述原始同步策略中的文件指紋相同的所述原始同步策略应用策略 变换规则进行修改,生成修正同步策略;第二同步设备,用于与所述本地同步 控制器建立连接,提供位于该第二同步设备上的所述待同步文件的信息;根据 所述修正同步策略进行数据同步,使得禁止在所述本地同步控制器和所述第二 同步设备之间传输所述待同步文件。应用本专利技术优选实施例所提供的技术,无论在本地同步的双向同步或者单 向同步中,还是在远程同步的双向同步或者单向同步中, 一旦文件指玟相同的 文件的文件名或者位置发生改变,不再需要经过网络进行同步传输,而是在设 备内部进行文件的修改,极大的減轻了网络的负担,提高了同步效率。 附图说明图1为本专利技术优选实施例各个设备与控制器之间的整体同步关系示意图; 图2为本专利技术优选实施例本地同步控制器与远程同步控制器之间同步示 意图。具体实施方式为使本专利技术的目的、技术特征和实施效果更加清楚,下面将结合附图对本 专利技术的优选实施例进行详细描述。本专利技术提供的技术方案可以应用在本地同步和远程同步过程中;如图l 所示,其中本地同步是指只在一台电子设备上运行同步程序,该设备是主设备,另外 一台不运行同步程序的电子设备是从设备,该从设备上的待同步文件可以被主 设备通过本地驱动器或者网络共享鴻4圣的方式访问到。远程同步是指主设备作为本地设备,和远程设备之间通过网络进行的同 步,除了主设备需要运行同步程序外,远程设备也需要运行同步程序。由图1 可以看出,远程设^f乍为远程同步控制器101,可以是一台服务器或者计算机; 主设备作为本地同步控制器102可以是一台电脑;从设备则可以是电脑、掌上 电脑、本地目录或者USB存储设备。其中,本地同步控制器102的内部结构如图2所示,包括同步连接模块、同步分析模块、指紋识别模块和文件同步模块;同步连接模块,用于根据预定的相应协议与远程同步控制器101建立同步 连接;并且用于根据预定的相应协议与本地从设备103建立同步连接。同步分析模块,用于在建立所述同步连接之后,将本地各个路径下的文件 与位于远程同步控制器101或者本地从设备103中对应路径下的文件进行对 比,并初步确定需要进行同步的各个待同步文件。指紋识别4莫块,用于将本地特定i 各径下的待同步文件的文件指紋与远程同对比,根据对比的结果判断是否需要进行两个待同步文件之间的同步。文件同步才莫块,用于对需要进行同步的待同步文件,按照本专利技术所提供的同步信息制定同步策略,并进行数据同步。远程同步控制器101的内部结构如图2所示,包括同步代理(Agent)模块、文件远程同步模块;同步Agent模块,用于连接位于所述本地同步控制器102的同步分析模块,接收来自该模块的请求信息,并提供远程同步控制器101中各个文件的文件列表和计算远程待同步文件的文件指紋;还用于连接位于所述本地同步控制器102的文件同步模块,提供指定的远程待同步文件,接收文件同步模块传送来 的文件,i& ^ b曰is^《# n自掘l [^^H元g i去151 A $ A i文件远程同步模块,用于与本地同步控制器102中的文件同步模块配合, 按照本专利技术所提供的同步策略进行文件之间的数据同步。其中,指紋识别模块中用到的文件指紋实质上是将文件中的内容通过摘要 算法而生成的数据摘要;通常采用哈希算法作为摘要算法;需要说明的是,由 于文件指紋是用于辨别文件是否被修改过的一个技术,也可以使用文件水印或 者其他的技术实现。本专利技术选择一个优选实施例描述文件指紋的生成过程,取一个待同步文件 的三部分不同的内容C1、 C2和C3,然后根据这些内容生成一个文件指紋, 具体过程包括步骤301.获取待同步文件的长度大小L;始内容C1到S;由于需要保证截取待同步文件的三段内容必须是各不相同的,因此就要保 证C1、 C2和C3是位于待同步文件不同位置的内容,本优选实施例中起始内容C1是,从待同步文件开头读取长度为Min(L/3, SL)的内容,其 中SL为预设的读取长度。步骤303.截取4寺同步文件的中间内容C2到M;中间内容C2是,读取起始位置为L/3-Min(L/3, SL)/2,读取长度为Min(L/3, SL),其中SL为预设的读取长度。步骤304.截取待同步文件的最后内容C3到E;最后内容C3是,读取起始位置为L-Min(L/3, SL),读取长度为Min(L/3, SL),其中SL为预设的读取长度。步骤305.由L、 S、 M和E通过摘要算法生成文件指紋,或者文件水印 等能够唯一识别该文件的数据摘要。在生成文件指紋之后,以下以本地同步的数据同步过程描述本地同步控制 器102与本地从设备103之间的文件同步工作原理本地同步控制器102中的 同步连接模块,用于与本地从设备103建立连接,同步连接模块指定两个同步 设备的同步根路径Dl和D2;指定同步方式。所述同步方式分为双向同步和 单向同步;在双向同步中,本地同步控制器102与本地从设备103均要更新各 自的文件,更新之后,两个设备中文件指紋一致的文件的文件名、文件绝对路 径一致;在单向同步中,只有本地从设备103或者本地同步控制器102中的一 个设备更新设备上的待同步文件,更新之后,该设备包含另一设备中对应路径 下的所有文件。同步分析模块用于,以两个根路径D1、 D2为起点,逐层对比两个路根径 下的文件列表,生成由多条同步策略组成的同步策略表,同步策略本文档来自技高网...

【技术保护点】
一种数据同步方法,其特征在于, 接收同步命令; 生成第一原始同步策略,所述第一原始同步策略至少包含第一文件指纹; 接收第二文件指纹,所述第二文件指纹包含在第二原始同步策略中; 比较所述第一文件指纹和所述第二文件指纹是 否相同; 如果相同,应用预定的策略变换规则对所述第一原始同步策略和/或所述第二原始同步策略进行修改,生成第一修正同步策略和/或第二修正同步策略;根据所述第一修正同步策略和/或所述第二修正同步策略进行数据同步。

【技术特征摘要】
1.一种数据同步方法,其特征在于,接收同步命令;生成第一原始同步策略,所述第一原始同步策略至少包含第一文件指纹;接收第二文件指纹,所述第二文件指纹包含在第二原始同步策略中;比较所述第一文件指纹和所述第二文件指纹是否相同;如果相同,应用预定的策略变换规则对所述第一原始同步策略和/或所述第二原始同步策略进行修改,生成第一修正同步策略和/或第二修正同步策略;根据所述第一修正同步策略和/或所述第二修正同步策略进行数据同步。2. 根据权利要求1所述的方法,其特征在于,所述第一原始同步策略和 所述第二原始同步策略,以及所述第 一修正同步策略和所述第二修正同步策略 所包含的内容均相同,并至少包括源路径、目标路径、相对路径、源文件名、目标文件名、策略类型、源文 件修改时间和所述文件指紋。3. 根据权利要求2所述的方法,其特征在于,所述接收同步命令之后, 还包括对参与所述数据同步的同步设备的同步根路径下的文件列表中的每一个 待同步文件,生成所述第 一原始同步策略和所述第二原始同步策略。4. 根据权利要求3所述的方法,其特征在于,所述数据同步的过程包括 远程同步方式和本地同步方式;所述生成所述第一原始同步策略和所述第二原始同步策略具体包括 根据所述同步方式和/或所述源文件修改时间分别生成所述第 一原始同步 策略和所述第二原始同步策略。5. 根据权利要求2所述的方法,其特征在于,所述应用预定的策略变换 规则对所述第一原始同步策略和/或所述第二原始同步策略进行修改具体包 括如果所述第一原始同步策略和第二原始同步策略中的所述策略类型均是 从源路径新增到目标路径;则根据所述源文件修改时间和/或所述相对路径生成所述策略变换规则;如果所述第一原始同步策略和第二原始同步策略中的所述策略类型分别 是所述从源路径新增到目标路径,删除源路径的文件;则根据所述源文件 修改时间生成所述策略变换MJ'J 。6. 根据权利要求5所述的方法,其特征在于,所述源文件修改时间最新 的待同步文件生成的同步策略是第一原始同步策略;所述4艮据所述源文件修改 时间和/或所述相对路径生成所述策略变换规则具体包括所述源文件修改时间不相同,所述相对路径相同,且所述待同步文件的文 件名不同,重新计算所述文件指紋如果所述文件指紋不相同则不生成所述策略变换规则; 如果所述文件指紋相同,所述策略变换规则是 删除所述第 一原始同步策略,将所述第二原始同步策略修改为所述第二修正同步策略具体包括,目标路 径更改为所述第二原始同步策略的所述源路径,所述目标文件名更新为所述第 一原始同步策略的所述源文件名,设置所述策略类型为将源路径下文件的文件 名复制到目标路径下文件的文件名,以及所述源文件修改时间修改为最新修改 时间;7. 根据权利要求5所述的方法,其特征在于,所述源文件修改时间最新 的所述待同步文件生成的同步策略是第一原始同步策略;所述根据所述源文件 修改时间和/或所述相对路径生成所述策略变换规则具体包括所述源文件修改时间不相同,且所述相对路径不相同,重新计算所述文件 指紋如果所述文件指紋不相同则不生成所述策略变换规则; 如果所述文件指紋相同,所述第一原始同步策略和所述第二原始同步策略的所述目标路径和所述目标文件名...

【专利技术属性】
技术研发人员:叶帅民高锋
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1