基于网络的文件云同步方法

文档序号:8907714阅读:255来源:国知局
基于网络的文件云同步方法
【技术领域】
[0001]本发明涉及一种应用于智能机中的文件同步的技术领域,特别是涉及一种基于网络的文件云同步方法。
【背景技术】
[0002]随着通信网络的迅猛发展,人们会通过不同的终端,例如智能手机、笔记本、台式机、平板电脑等编辑、使用同一文件。如何让这些不同终端上的同一文件保持同步,是一个非常现实的问题,现有的做法是通过网络利用云存储的自动同步备份功能来实现文件的同步。
[0003]而在同步文件的过程中经常会出现字段重复、图片相似、音频视频内容相似等问题,如果所有文件不经过分析都执行同步操作,这不仅增加了云存储的容量,而且信息的冗余也会给用户带来困扰,例如,当用户在同步微信的联系人信息时,如果不加分析的将之前修改的旧的联系人信息也一并同步了,则可能在终端上针对同一联系人既有新的联系人信息,又有旧的联系人信息,两者混合在一起,不但信息量很庞大,而且也给用户带来了困扰,到底哪个是新的联系人信息呢?因此,要实现多终端的同步,如何记录不同终端保存文件的差异就显得尤为重要。现在的做法是通过比较文件元数据信息,或者将元数据信息的变化记录到相关日志中,来发现客户端和服务器数据的差异,并进一步同步这些差异化的文件,利用元数据组合信息的进行集合,用于标识用户的文件特征属性,包括文件名、路径、修改时间、作者、权限、内容、哈希值等内容。
[0004]现有技术在一定程度上是成功,但是也有不足之处,例如在云存储平台上,有时候元数据的信息量很大,搜索匹配会带来一定的系统开销,并且有时候对于具有重复内容的文件,无法区别。而且对于同步的文件,在客户端下载的时候,只会同步覆盖,无法做到增量下载。这样是一种粗粒度的同步方法。
[0005]因此,如何在保证多终端文件同步的同时,避免重复的内容重复同步,相似的内容得以增量同步,这些问题都亟待得以解决。

【发明内容】

[0006]鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于网络的文件云同步方法,以有效避免重复的同步操作,进而节省服务器的I/O流量,同时对待同步下载的文件也进行了优化处理,防止重复数据同步下载的问题。
[0007]为实现上述目的及其他相关目的,本发明提供一种基于网络的文件云同步方法,主要是用于实现在同一云存储空间基于网络的多个用户终端与服务器之间的文件同步操作,其特征在于,所述基于网络的文件云同步方法包括以下步骤:1)在同一云存储空间针对多个用户终端以及服务器端分别建立文件登记信息表,所述各用户终端的文件登记信息表包括各用户终端中各自所创建的所有文件的识别码,所述服务器端的文件登记信息表包括已经上传至服务器端的文件的识别码;2)判断一待同步文件是否存储在服务器端,若是,则进至步骤3),若否,则表明存储在其中一用户终端,则进至步骤4) ;3)在当前所使用的用户终端中,自针对服务器端的文件登记信息表中提取出所述待同步文件的识别码,且对待同步文件的数据内容进行随机扫描,以获取一随机特征码,并予以同步保存至所述云存储空间中,接着进至步骤5) ;4)在当前所使用的用户终端中,自针对当前所使用的用户终端的文件登记信息表中提取出所述待同步文件的识别码,且对待同步文件的数据内容进行随机扫描,以获取一随机特征码,并予以同步保存至所述云存储空间中,接着进至步骤6) ;5)自针对当前所使用的用户终端的文件登记信息表中搜寻是否存在与所提取的对应所述待同步文件的识别码相同的识别码,若是,则进至步骤7),若否,则在当前所使用的用户终端与服务器端之间对所述待同步文件执行整个文件的同步操作;6)自针对服务器端的文件登记信息表中搜寻是否存在与所提取的对应所述待同步文件的识别码相同的识别码,若是,则进至步骤7),若否,则在当前所使用的用户终端与服务器端之间对所述待同步文件执行整个文件的同步操作;以及7)采用后缀树(Suffix Tree)算法分析所述待同步文件的随机特征码是否与所保存的具有相同识别码的文件的随机特征码一致,若是,则终止对所述待同步文件执行同步操作,若否,则根据分析的结果在当前所使用的用户终端与服务器端之间对所述待同步文件执行增量同步操作。其中,该识别码为用户终端为所创建的每个文件所分配的唯一的文件识别码。该文件登记信息表还包括文件名、修改时间、权限或者哈希值等。
[0008]优选地,上述步骤2)进一步包括:在当前所使用的用户终端中,对待同步文件的数据内容进行随机扫描,以构成一数据有限原子集合,再从所述数据有限原子集合中随机截取特征码,以生成一随机特征码,并将该随机特征码同步保存至所述云存储空间。其中,该数据有限原子集合是基于该待同步文件的哈希值而获取的待同步文件中的头文件、字节码、文件数据流或者待同步文件中的若干内容等,该数据有限原子集合又或者是以差分取值方式自所述待同步文件中截取的数值。
[0009]如上所述,本发明的基于网络的文件云同步方法,主要是在用户终端与服务器之间同步文件之前,先在多个用户终端以及服务器端分别建立文件登记信息表,各用户终端的文件登记信息表包括各用户终端中各自所创建的所有文件的识别码,服务器端的文件登记信息表包括已经上传至服务器端的文件的识别码,然后,在当前所使用的用户终端中,对待同步文件的数据内容进行随机扫描,以获取一随机特征码,并予以保存,接着通过二次比对来判断待同步文件的数据是否需要相应的更新,根据已建立的文件登记信息表判断是否存在与待同步文件的识别码相同的识别码,若是,则进一步判断识别码相同的两个文件的随机特征码是否相同,若是,则为相同文件,不执行同步操作,若否,则进行增量同步操作。从而有效的避免了重复同步操作,极大节省了服务器的I/o流量。
【附图说明】
[0010]图1显示为本发明的基于网络的文件云同步方法的操作流程图。
[0011]图2显不为图1的应用环境的具体实例不意图。
[0012]元件标号说明
[0013]I网络
[0014]2服务器
[0015]21云存储空间
[0016]A笔记本电脑
[0017]B智能手机
[0018]C平板电脑
[0019]SlOO ?S162 步骤
【具体实施方式】
[0020]以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的【具体实施方式】加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0021]需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
[0022]请参阅图1,本发明提供一种基于网络的文件云同步方法,主要是用于实现在同一云存储空间基于网络的多个用户终端与服务器之间的文件同步操作。其中,该文件可以是多媒体数据、音频、视频、图片或者文本等。
[0023]如图1所示,首先,执行步骤S100,在同一云存储空间针对多个用户终端以及服务器端分别建立文件登记信息表,各该用户终端的文件登记信息表包括各用户终端中各自所创建的所有文件的文件名、修改时间、权限、哈希值以及识别码,该服务器端的文件登记信息表包括已经上传至服务器端的文件的文件名、修改时间、权限、哈希值以及识别码。其中,该识别码为用户终端为所创建的每个文件所分配的唯一的文件识别码。接着,进行步骤
SllOo
[0024]在步骤SllO中,判断待同步文件是否存储在服务器端,若是,则进至步骤S121,若否,则表明存储在其中一用户终端,则进至步骤S122。
[0025]在步骤S121中,在当前所使用的用户终端中,自针对服务器端的文件登记信息表中提取出该待同步文件的识别码,且对待同步文件的数据内容进行随机扫描,以获取一随机特征码,并予以同步保存至该云存储空间中。具体而言,是在当前所使用的用户终端中,对待同步文件的数据内容进行随机扫描,以构成一数据有限原子集合,再从该数据有限原子集合中随机截取特征码,以生成一随机特征码,并将该随机特征码予以同步保存至该云存储空间中,其中,该数据有限原子集合为基于该待同步文件的哈希值而获取的该待同步文件中的头文件、字节码、文件数据流或者该待同步文件中的若干内容等,又或者是以差分取值的方式获得的数值,此处需予以说明的是,获取数据有限原子集合的方式不仅仅局限于上述所枚举的几种方式,因获取的方式为本技术领域所熟知的技术,于此就不一一例举。因此,从该数据有限原子集合中随机截取特征码而生成的随机特征码,就显得比较随意,因而能够有效代表数据文件本身特征。接着,进行步骤S130。
[0026]在步骤S122中,在当前所使用的用户终端中,自针对当前所使用的用户终端的文件登记信息表中提取出该待同步文件的识别码,且对待同步文件的数据内容进行随机扫描,以获取一随机特征码,并予以同步保存至所述云存储空间中。接着,进行步骤S140。
[0027]在步骤S130中,自针对当前所使用的用户终端的文件登记信息表中搜寻是否存在与所提取
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1