在不同设备之间进行文件同步处理的方法和系统的制作方法

文档序号:7584779阅读:158来源:国知局
专利名称:在不同设备之间进行文件同步处理的方法和系统的制作方法
技术领域
本发明涉及计算机应用领域,尤其涉及一种在不同设备之间进行文件同步处理的方法和装置。
背景技术
近年来,随着电脑在人们日常生活的应用越来越广泛,越来越多的人都拥有多部电脑。比如在办公室有公司配备的办公电脑,在家有供娱乐和上网用的台式电脑,而户外出行时还有一部轻薄笔记本电脑或者平板电脑。与此同时,多媒体影音娱乐仍然是当前互联网、计算机应用中的最普遍需求之一。于是,一个用户拥有的多部电脑中会存在很多影音文件,需要在多部电脑之间进行影音文件的数据同步。现有技术中的一种在多台电脑之间进行影音文件的数据同步的方法为基于存放文件的实际物理路径的同步方式。在需要同步的两台电脑上,相同的影音文件的文件名和存放的实际物理路径完全一致。如,在电脑B上需要同步电脑A上存放的影音文件,可以先获取电脑A上使用的播放器上的播放列表,该播放列表中包括各个影音文件的文件名和存放的实际物理路径。然后,在电脑B上,根据上述播放列表在和电脑A相同的实际物理路径上存放具有相同文件名的相同的影音文件。在实现本发明过程中,发明人发现现有技术中的在多台电脑之间进行影音文件的数据同步的方法至少存在如下问题在实际应用中,相同影音文件在两台电脑的实际物理路径有时不能做到完全一致。比如电脑A上的某个影音文件的实际物理路径为“D:\MyMusic\Dangerous.mp3”,而电脑B上可能根本没有“D: \”,于是该音乐文件在电脑A/B之间同步失败。

发明内容
本发明的实施例提供了一种在不同设备之间进行文件同步处理的方法和装置,以实现有效地在多部电脑之间进行影音文件等文件的数据同步。一种在不同设备之间进行文件同步处理的方法,包括第一设备向第二设备发送携带文件的文件名、散列Hash值和虚拟路径的文件同步请求,所述第二设备获取所述Hash值对应的文件,将所述文件进行保存;所述第二设备在本地保存的文件信息表中添加所述Hash值对应的文件的记录,所述记录中的虚拟路径、文件名字段的值和所述文件同步请求中的文件名和虚拟路径相
坐寸ο一种在不同设备之间进行文件同步处理的系统,包括第一设备;用于向第二设备发送携带文件的文件名、散列Hash值和虚拟路径的文件同步请求,所述第二设备获取所述Hash值对应的文件,将所述文件进行保存;
第二设备;用于在本地保存的文件信息表中添加所述Hash值对应的文件的记录,所述记录中的虚拟路径、文件名字段的值和所述文件同步请求中的文件名和虚拟路径相等。由上述本发明的实施例提供的技术方案可以看出,本发明实施例通过根据文件的各种属性信息生成文件的虚拟路径,在不同的电脑等设备之间利用文件的虚拟路径进行文件同步处理操作,从而可以摆脱设备上的文件目录结构和存储文件的实际物理路径进行文件同步处理,方便用户在不同设备之间管理影音文件等文件。


为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图I为本发明实施例一提供的一种从客户端向服务器端进行文件同步处理的方法的处理流程图;图2为本发明实施例二提供的一种从服务器向客户端进行文件同步处理的方法的处理流程图;图3为本发明实施例三提高的一种在不同设备之间进行文件同步处理的系统的具体结构图。
具体实施例方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。为便于对本发明实施例的理解,下面将结合附图以几个具体实施例为例做进一步的解释说明,且各个实施例并不构成对本发明实施例的限定。实施例一该实施例提供的一种从客户端向服务器端进行文件同步处理的方法的处理流程如图I所示,包括如下的处理步骤步骤11、客户端计算出每个文件的Hash值。本发明实施例将需要进行文件同步处理的多台设备,比如电脑,分为客户端和服务器,客户端的数量可以为多个,服务器的数量为I个,各个客户端都和服务器之间进行文件同步处理。在客户端上对于需要管理的每个文件,比如,影音文件,先通过Hash(散列)算法计算出文件的Hash值。上述Hash算法可以将任意长度的输入文件(又叫做预映射,pre-image)变换成固定长度的输出文件,该输出文件就是上述输入文件的Hash值。不同文件对应的Hash值是不同的,因此用Hash值可以标识一个文件。常见的hash算法有CRC32,MD5, SHAl 等。
步骤12、在客户端上采取将文件的Hash值、虚拟路径和实际物理路径相结合的方式来存储和记录文件。在客户端上将文件存放在实际物理路径上后,根据文件的各种属性信息生成文件的虚拟路径。上述属性信息主要包括文件的类型、名称、相关人物、相关地区和发布时间等信息。上述虚拟路径为用户容易理解的文件标识信息,比如为电影/科幻/美国/终结者;电影/剧情/国产/周星驰/大话西游等,上述虚拟路径和客户端上的存储器的分区情况和文件目录结构,以及存放文件的实际物理路径没有关系,以摆脱文件的记录信息与物理路径之间的耦合。 在实际应用中,上述存放文件的实际物理路径可以根据文件的Hash值来确定,比如SHAl值为f90efb623b5abea70af63c470daa8674444fbldf的文件的实际物理路径可以为D/data/unimediaf He/f9/0e/f90efb623b5abea70af63c470daa8674444fbldf 在客户端上将一个文件的文件名、虚拟路径、实际物理路径和Hash值,以及和服务器端是否同步等信息之间的关联信息进行保存。比如,在客户端通过文件信息表来保存上述关联信息。上述文件信息表的格式如下
ID 文件名虚拟路径实际物理路径 Hash值和服务器端是
否同步
1终结者电影/科幻/美国/终D/Media/USA/终f91efc623b5a是
结者结者.MP4bea70af63c47
0dba8674512f
bled
2大话西游电影/剧情/国产/周D/Media/china/大F88efb623b5c否
星驰/大话西游话西游.MP4def70af63c47
0daa8671234f
blab步骤13、客户端向服务器发送携带需要同步的文件的Hash值、文件名和虚拟路径的文件同步请求,服务器查询本地有没有保存上述Hash值对应的文件。当客户端需要向服务器端同步某个文件时,通过查询本地保存的上述文件信息表获取该文件的Hash值、文件名和虚拟路径,向服务器发送携带该Hash值、文件名和虚拟路径的文件同步请求。服务器接收到该文件同步请求后,查询本地有没有保存上述Hash值对应的文件,如果有,则执行步骤14 ;否则,执行步骤15。步骤14、服务器在本地保存的文件信息表中添加上述文件对应的记录信息,“文件名”和“虚拟路径”字段中的值和上述文件同步请求中的相应信息保持一致。服务器获取上述文件同步请求中携带的Hash值、文件名和虚拟路径,并获取上述客户端的标识。服务器在本地保存的文件信息表中添加上述文件对应的记录信息。服务器本地保存的文件信息表的格式可以如下
权利要求
1.一种在不同设备之间进行文件同步处理的方法,其特征在于,包括 第一设备向第二设备发送携带文件的文件名、散列Hash值和虚拟路径的文件同步请求,所述第二设备获取所述Hash值对应的文件,将所述文件进行保存; 所述第二设备在本地保存的文件信息表中添加所述Hash值对应的文件的记录,所述记录中的虚拟路径、文件名字段的值和所述文件同步请求中的文件名和虚拟路径相等。
2.根据权利要求I所述的在不同设备之间进行文件同步处理的方法,其特征在于,所述方法还包括 在设备上将文件存放在实际物理路径上后,根据所述文件的各种属性信息生成虚拟路径,所述设备包括所述第一设备和所述第二设备; 在所述设备上保存的文件信息表中添加所述文件对应的记录,该记录中的字段包括文件名、虚拟路径、实际物理路径和Hash值。
3.根据权利要求2所述的在不同设备之间进行文件同步处理的方法,其特征在于,所述的第一设备向第二设备发送携带文件的文件名、Hash值和虚拟路径的文件同步请求,所述第二设备获取所述Hash值对应的文件,将所述文件进行保存包括 当客户端需要向服务器同步某个文件时,所述客户端通过查询本地保存的文件信息表获取所述文件的文件名、Hash值和虚拟路径,向服务器发送携带所述文件的文件名、Hash值和虚拟路径的文件同步请求; 所述服务器接收到所述文件同步请求后,查询本地有没有保存所述Hash值对应的文件,如果有,则记录所述Hash值对应的文件的实际物理路径;否则,通知客户端上传所述文件的文件数据,接收到所述客户端上传的所述文件的文件数据后,将所述文件数据保存在选定的实际物理路径上,并记录该实际物理路径。
4.根据权利要求3所述的在不同设备之间进行文件同步处理的方法,其特征在于,所述的所述第二设备在本地保存的文件信息表中添加所述Hash值对应的文件的记录,所述记录中的虚拟路径、文件名字段的值和所述文件同步请求中的文件名和虚拟路径相等包括 所述服务器在本地保存的文件信息表中添加所述文件对应的记录,该记录中的文件名和虚拟路径字段中的值设置为和从所述同步信息中获取的文件名和虚拟路径一致,实际物理路径字段的值设置为所述记录的实际物理路径,同步的客户端字段的值设置为所述客户端的标识; 所述服务器向所述客户端发送同步应答信息,所述客户端接收到所述同步应答信息后,将本地保存的文件信息表中所述文件的记录中的和服务器端是否同步字段的值更新为是。
5.根据权利要求2所述的在不同设备之间进行文件同步处理的方法,其特征在于,所述的第一设备向第二设备发送携带文件的文件名、Hash值和虚拟路径的文件同步请求,所述第二设备获取所述Hash值对应的文件,将所述文件进行保存包括 当客户端想与服务器中保存的文件信息表中记录的文件进行同步处理操作时,所述客户端向所述服务器发送文件同步请求,所述服务器接收到所述文件同步请求后,将本地保存的文件信息表中的文件名、虚拟路径和Hash值提取出来作为同步信息,向所述客户端发送携带所述同步信息的同步响应信息;当所述同步信息中的Hash值在客户端本地保存的文件信息表中没有记录,则所述客户端向所述服务器发送所述Hash值对应的文件数据的请求信息,所述服务器向所述客户端发送所述文件数据的下载链接信息,所述客户端根据所述下载链接信息下载所述文件数据,将下载的文件数据保存在选定的实际物理路径上。
6.根据权利要求5所述的在不同设备之间进行文件同步处理的方法,其特征在于,所述的所述第二设备在本地保存的文件信息表中添加所述Hash值对应的文件的记录,所述记录中的虚拟路径、文件名字段的值和所述文件同步请求中的文件名和虚拟路径相等包括 所述客户端在本地保存的文件信息表中添加或者更新所述Hash值对应的文件的记录,将所述记录中的“文件名”、“虚拟路径”字段的值设置为和从所述同步信息中获取的文件名和虚拟路径一致,将“和服务器端是否同步”字段的值设置为“是”; 所述客户端向所述服务器发送携带所述Hash值的同步处理完成信息,服务器接收到该同步处理完成信息后,在本地保存的文件信息表中的所述Hash值对应的记录中的同步的客户端字段中记录所述客户端的标识。
7.一种在不同设备之间进行文件同步处理的系统,其特征在于,包括 第一设备;用于向第二设备发送携带文件的文件名、散列Hash值和虚拟路径的文件同步请求,所述第二设备获取所述Hash值对应的文件,将所述文件进行保存; 第二设备;用于在本地保存的文件信息表中添加所述Hash值对应的文件的记录,所述记录中的虚拟路径、文件名字段的值和所述文件同步请求中的文件名和虚拟路径相等。
8.根据权利要求7所述的在不同设备之间进行文件同步处理的系统,其特征在于,所述的第一设备为客户端,所述客户端中包括 文件存储和管理模块311,用于将文件存放在设备上的实际物理路径上后,根据所述文件的各种属性信息生成虚拟路径;在所述设备上保存的文件信息表中添加所述文件对应的记录,该记录中的字段包括文件名、虚拟路径、实际物理路径、Hash值、和服务器是否同步。
所述的第二设备为服务器,所述服务器中包括 文件存储和管理模块321,用于将文件存放在设备上的实际物理路径上后,根据所述文件的各种属性信息生成虚拟路径;在所述设备上保存的文件信息表中添加所述文件对应的记录,该记录中的字段包括文件名、虚拟路径、实际物理路径、Hash值、同步的客户端。
9.根据权利要求8所述的在不同设备之间进行文件同步处理的系统,其特征在于,所述的客户端中包括 第一同步处理模块,用于当客户端需要向服务器同步某个文件时,通过查询所述文件存储和管理模块中保存的文件信息表获取所述文件的文件名、Hash值和虚拟路径,向服务器发送携带所述文件的文件名、Hash值和虚拟路径的文件同步请求; 所述的服务器中包括 第一同步处理模块,用于接收到所述客户端发送的文件同步请求后,查询服务器本地有没有保存所述Hash值对应的文件,如果有,则记录所述Hash值对应的文件的实际物理路径;否则,通知所述客户端上传所述文件的文件数据,接收到所述客户端上传的所述文件的文件数据后,将所述文件数据保存在选定的实际物理路径上,并记录该实际物理路径; 在所述文件存储和管理模块中保存的文件信息表中添加所述文件对应的记录,该记录中的文件名和虚拟路径字段中的值设置为和从所述同步信息中获取的文件名和虚拟路径一致,实际物理路径字段的值设置为所述记录的实际物理路径,同步的客户端字段的值设置为所述客户端的标识; 向所述客户端发送同步应答信息; 所述客户端中的第一同步处理模块,还用于接收到所述同步应答信息后,将所述文件存储和管理模块中保存的文件信息表中所述文件的记录中的和服务器端是否同步字段的值更新为是。
10.根据权利要求8所述的在不同设备之间进行文件同步处理的系统,其特征在于,所述的客户端中包括 第二同步处理模块,用于当客户端想与服务器中保存的文件信息表中记录的文件进行同步处理操作时,所述客户端向所述服务器发送文件同步请求; 所述的服务器中包括 第二同步处理模块,用于接收到所述客户端发送的所述文件同步请求后,将本地保存的文件信息表中的文件名、虚拟路径和Hash值提取出来作为同步信息,向所述客户端发送携带所述同步信息的同步响应信息; 所述的客户端中的第二同步处理模块,还用于当所述服务器发送过来的同步信息中的Hash值在客户端本地保存的文件信息表中没有记录,则向所述服务器发送所述Hash值对应的文件数据的请求信息,根据所述服务器发送过来的下载链接信息下载所述文件数据,将下载的文件数据保存在选定的实际物理路径上; 在本地保存的文件信息表中添加或者更新所述Hash值对应的文件的记录,将所述记录中的“文件名”、“虚拟路径”字段的值设置为和从所述同步信息中获取的文件名和虚拟路径一致,将“和服务器端是否同步”字段的值设置为“是”;向所述服务器发送携带所述Hash值的同步处理完成信息; 所述服务器中的第二同步处理模块,还用于接收到所述客户端发送的同步处理完成信息后,在本地保存的文件信息表中的所述Hash值对应的记录中的同步的客户端字段中记录所述客户端的标识。
全文摘要
本发明实施例提供了一种在不同设备之间进行文件同步处理的方法和装置。该方法主要包括第一设备向第二设备发送携带文件的文件名、散列Hash值和虚拟路径的文件同步请求,所述第二设备获取所述Hash值对应的文件,将所述文件进行保存;所述第二设备在本地保存的文件信息表中添加所述Hash值对应的文件的记录,所述记录中的虚拟路径、文件名字段的值和所述文件同步请求中的文件名和虚拟路径相等。本发明实施例可以摆脱设备上的文件目录结构和存储文件的实际物理路径进行文件同步处理,方便用户在不同设备之间管理影音文件等文件。
文档编号H04L29/08GK102624768SQ20111003871
公开日2012年8月1日 申请日期2011年1月28日 优先权日2011年1月28日
发明者李大龙, 赵东 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1