一种探测文档变化和同步的方法及系统技术方案

技术编号:14525113 阅读:96 留言:0更新日期:2017-02-02 03:39
本发明专利技术提供一种探测文档变化和同步的方法及系统,所述方法包括:在启动应用程序的进程时,创建探测线程、同步线程和传输对象;别获取客户端中数据库信息和服务器中的数据库信息;分别提取客户端和服务端中数据库信息中预先为文档设定的文档唯一标识和文档变化标识;通过将文档唯一标识作对比,获取服务器中文档的新增和删除;通过将文档变化标识作对比,获取服务器中文档的修改;对获取的服务器中文档的新增、删除和修改信息进行封装形成一任务数据包;利用传输对象将任务数据包传输至同步线程;同步线程对任务数据包进行处理,将服务器中变化的文档同步到客户端中。本发明专利技术可以探测到所有指定目录下的文档变化,避免丢失文档变化信息。

【技术实现步骤摘要】

本专利技术涉及数据同步
,特别涉及数据同步
中的文档变化探测,具体为一种探测文档变化和同步的方法及系统。
技术介绍
随着互联网技术发展及计算机设备的普及,用户拥有了大量的终端设备,如台式电脑、笔记本电脑、平板电脑、手机等电子产品,用户在不同场景下使用不同设备,但是各终端设备又有一些文件用户希望可以进行同步使用,即其他终端修改了文件并同步至服务器,台式电脑可以及时更新该文件修改后的状态。为了在windows下同步盘探测文件变化,目前普遍采用的技术有基于MD5值来判断文件变化。但基于MD5方案有一些局限性,包括:(1)服务端和客户端都需要计算MD5值。(2)大文件的MD5计算消耗较大。(3)文件夹的无法使用MD5值来探测。还有基于文件名称和文件最后修改时间的方式。同样基于文件名称和文件最后修改时间方案有一些局限性,包括:(1)通过文件名称无法判断文件是否重命名。(2)通过最后修改时间无法判断文件夹是否被修改。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种探测文档变化和同步的方法及系统,用于解决现有技术无法对同步盘的文档进行高效准确地探测和同步的问题。为实现上述目的及其他相关目的,本专利技术在一方面提供一种探测文档变化和同步的方法,应用于windows系统下与客户端应用程序所指定目录下的文档对应的服务端中文档的变化探测和同步中,所述探测文档变化和同步的方法包括以下步骤:在启动应用程序的进程时,创建用于探测服务端上所述应用程序所指定目录下的文档的变化的探测线程和创建用于在探测到所述服务端中所述应用程序所指定目录下的文档有变化时将变化的文档同步到客户端中的同步线程;创建一个在所述探测线程探测到所述服务端中所述应用程序所指定目录下的文档有变化时将需要同步的变化的文档信息传输至所述同步线程的传输对象;所述探测线程分别获取所述客户端中所述应用程序所指定目录下的文档的数据库信息和所述服务器中对应的所述应用程序所指定目录下的文档的数据库信息;所述探测线程分别提取所述客户端和所述服务端中数据库信息中预先为所述文档设定的文档唯一标识和文档变化标识;所述探测线程通过将从所述客户端中数据库信息中提取的文档唯一标识和从所述服务端中数据库信息中提取的文档唯一标识作对比,获取所述服务器中文档的新增和删除;所述探测线程通过将从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识作对比,获取所述服务器中文档的修改;所述探测线程对获取的所述服务器中文档的新增、删除和修改信息进行封装形成一任务数据包;利用创建的所述传输对象将所述任务数据包传输至所述同步线程;所述同步线程对所述任务数据包进行处理,将所述服务器中变化的文档同步到所述客户端中。于本专利技术的一实施例中,所述获取所述服务器中文档的新增和删除的具体过程为:若所述客户端中数据库信息中提取的文档唯一标识中没有所述服务端中数据库信息中提取的文档唯一标识,判断所述服务器中的文档为新增;若所述服务端中数据库信息中提取的文档唯一标识中没有所述客户端中数据库信息中提取的文档唯一标识,判断所述服务器中的文档为删除;若所述客户端中数据库信息中提取的文档唯一标识与所述服务端中数据库信息中提取的文档唯一标识均相同,则将从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识作对比,获取所述服务器中文档的修改。于本专利技术的一实施例中,获取所述服务器中文档的修改具体包括:若从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识不相同,则判断所述服务器中的文档有修改;若从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识相同,继续提取所述客户端和所述服务端中数据库信息中所述文档的修改时间,并判断所述修改时间是否相同,若不相同,则判断所述服务端中文档有修改。于本专利技术的一实施例中,获取所述服务器中文档的修改具体还包括:若所述修改时间相同,则继续提取所述客户端和所述服务端中数据库信息中所述文档的名称,并判断所述文档的名称是否相同,若不相同,则判断所述服务端中文档有重命名的修改;若相同,判断所述服务端中文档没有修改。于本专利技术的一实施例中,所述文档为文件或文件夹;若所述文档为文件夹,则对所述文件夹下一级文档重复执行探测步骤,直到查找到所述文件夹下对应文件的变化。本专利技术另一方面还提供一种探测文档变化和同步的系统,应用于windows系统下与客户端应用程序所指定目录下的文档对应的服务端中文档的变化探测和同步中,所述探测文档变化和同步的系统包括:创建模块,用于在启动应用程序的进程时,创建用于探测服务端上所述应用程序所指定目录下的文档的变化的探测线程,创建用于在探测到所述服务端中所述应用程序所指定目录下的文档有变化时将变化的文档同步到客户端中的同步线程,以及创建一个在所述探测线程探测到所述服务端中所述应用程序所指定目录下的文档有变化时将需要同步的变化的文档信息传输至所述同步线程的传输对象;探测线程处理模块,用于分别获取所述客户端中所述应用程序所指定目录下的文档的数据库信息和所述服务器中对应的所述应用程序所指定目录下的文档的数据库信息,分别提取所述客户端和所述服务端中数据库信息中预先为所述文档设定的文档唯一标识和文档变化标识,并通过将从所述客户端中数据库信息中提取的文档唯一标识和从所述服务端中数据库信息中提取的文档唯一标识作对比,获取所述服务器中文档的新增和删除,通过将从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识作对比,获取所述服务器中文档的修改,并对获取的所述服务器中文档的新增、删除和修改信息进行封装形成一任务数据包,利用创建的所述传输对象将所述任务数据包传输至所述同步线程;同步线程处理模块,用于对所述任务数据包进行处理,将所述服务器中变化的文档同步到所述客户端中。于本专利技术的一实施例中,所述探测线程处理模块获取所述服务器中文档的新增和删除的具体过程为:若所述客户端中数据库信息中提取的文档唯一标识中没有所述服务端中数据库信息中提取的文档唯一标识,判断所述服务器中的文档为新增;若所述服务端中数据库信息中提取的文档唯一标识中没有所述客户端中数据库信息中提取的文档唯一标识,判断所述服务器中的文档为删除;若所述客户端中数据库信息中提取的文档唯一标识与所述服务端中数据库信息中提取的文档唯一标识均相同,则将从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识作对比,获取所述服务器中文档的修改。于本专利技术的一实施例中,所述探测线程处理模块获取所述服务器中文档的修改具体包括:若从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识不相同,则判断所述服务器中的文档有修改;若从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识相同,继续提取所述客户端和所述服务端中数据库信息中所述文档的修改时间,并判断所述修改时间是否相同,若不相同,则判断所述服务端中文档有修改。于本专利技术的一实施例中,所述探测线程处理模块获取所述服务器中文档的修本文档来自技高网...

【技术保护点】
一种探测文档变化和同步的方法,应用于windows系统下与客户端应用程序所指定目录下的文档对应的服务端中文档的变化探测和同步中,其特征在于,所述探测文档变化和同步的方法包括以下步骤:在启动应用程序的进程时,创建用于探测服务端上所述应用程序所指定目录下的文档的变化的探测线程和创建用于在探测到所述服务端中所述应用程序所指定目录下的文档有变化时将变化的文档同步到客户端中的同步线程;创建一个在所述探测线程探测到所述服务端中所述应用程序所指定目录下的文档有变化时将需要同步的变化的文档信息传输至所述同步线程的传输对象;所述探测线程分别获取所述客户端中所述应用程序所指定目录下的文档的数据库信息和所述服务器中对应的所述应用程序所指定目录下的文档的数据库信息;所述探测线程分别提取所述客户端和所述服务端中数据库信息中预先为所述文档设定的文档唯一标识和文档变化标识;所述探测线程通过将从所述客户端中数据库信息中提取的文档唯一标识和从所述服务端中数据库信息中提取的文档唯一标识作对比,获取所述服务器中文档的新增和删除;所述探测线程通过将从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识作对比,获取所述服务器中文档的修改;所述探测线程对获取的所述服务器中文档的新增、删除和修改信息进行封装形成一任务数据包;利用创建的所述传输对象将所述任务数据包传输至所述同步线程;所述同步线程对所述任务数据包进行处理,将所述服务器中变化的文档同步到所述客户端中。...

【技术特征摘要】
1.一种探测文档变化和同步的方法,应用于windows系统下与客户端应用程序所指定目录下的文档对应的服务端中文档的变化探测和同步中,其特征在于,所述探测文档变化和同步的方法包括以下步骤:在启动应用程序的进程时,创建用于探测服务端上所述应用程序所指定目录下的文档的变化的探测线程和创建用于在探测到所述服务端中所述应用程序所指定目录下的文档有变化时将变化的文档同步到客户端中的同步线程;创建一个在所述探测线程探测到所述服务端中所述应用程序所指定目录下的文档有变化时将需要同步的变化的文档信息传输至所述同步线程的传输对象;所述探测线程分别获取所述客户端中所述应用程序所指定目录下的文档的数据库信息和所述服务器中对应的所述应用程序所指定目录下的文档的数据库信息;所述探测线程分别提取所述客户端和所述服务端中数据库信息中预先为所述文档设定的文档唯一标识和文档变化标识;所述探测线程通过将从所述客户端中数据库信息中提取的文档唯一标识和从所述服务端中数据库信息中提取的文档唯一标识作对比,获取所述服务器中文档的新增和删除;所述探测线程通过将从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识作对比,获取所述服务器中文档的修改;所述探测线程对获取的所述服务器中文档的新增、删除和修改信息进行封装形成一任务数据包;利用创建的所述传输对象将所述任务数据包传输至所述同步线程;所述同步线程对所述任务数据包进行处理,将所述服务器中变化的文档同步到所述客户端中。2.根据权利要求1所述的探测文档变化和同步的方法,其特征在于:所述获取所述服务器中文档的新增和删除的具体过程为:若所述客户端中数据库信息中提取的文档唯一标识中没有所述服务端中数据库信息中提取的文档唯一标识,判断所述服务器中的文档为新增;若所述服务端中数据库信息中提取的文档唯一标识中没有所述客户端中数据库信息中提取的文档唯一标识,判断所述服务器中的文档为删除;若所述客户端中数据库信息中提取的文档唯一标识与所述服务端中数据库信息中提取的文档唯一标识均相同,则将从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识作对比,获取所述服务器中文档的修改。3.根据权利要求1或2所述的探测文档变化和同步的方法,其特征在于:获取所述服务器中文档的修改具体包括:若从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识不相同,则判断所述服务器中的文档有修改;若从所述客户端中数据库信息中提取的文档变化标识和从所述服务端中数据库信息中提取的文档变化标识相同,继续提取所述客户端和所述服务端中数据库信息中所述文档的修改时间,并判断所述修改时间是否相同,若不相同,则判断所述服务端中文档有修改。4.根据权利要求3所述的探测文档变化和同步的方法,其特征在于:获取所述服务器中文档的修改具体还包括:若所述修改时间相同,则继续提取所述客户端和所述服务端中数据库信息中所述文档的名称,并判断所述文档的名称是否相同,若不相同,则判断所述服务端中文档有重命名的修改;若相同,判断所述服务端中文档没有修改。5.根据权利要求4所述的探测文档变化和同步的方法,其特征在于:所述文档为文件或文件夹;若所述文档为文件夹,则对所述文件夹下一级文档重复执行探测步骤,直到查找到所述文件夹下对应文件的变化。6.一种探测文档变化和同步的系...

【专利技术属性】
技术研发人员:王欢
申请(专利权)人:上海爱数信息技术股份有限公司
类型:发明
国别省市:上海;31

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

1