文件同步方法_3

文档序号:9767853阅读:来源:国知局
务器220,则在服务器220中存储着的多个块文件、元数据表、散列表和文件表等被传送到作为新的终端装置的第二终端装置420。
[0068]之后,如果在服务器220中存储的多个块文件、元数据表、散列表和文件表中产生变更事项,则通过向第二终端装置420传送变更事项来维持同步。下面,说明在第一终端装置410中存储的文件中产生变更事项,从而首先在第一终端装置410与服务器220之间实现反映变更事项的同步,之后在服务器220与第二终端装置420之间实现同步的过程。
[0069]当在第一终端装置410和服务器220实现同步的状态下第一终端装置410中存储的文件中具有变更事项时,为了通过反映变更事项来维持同步,用户利用自身的用户账号向服务器220请求用户认证(S410)。
[0070]接收到用户认证请求的服务器220在通过确认认证信息而认证成功时生成认证密钥和令牌密钥(S420),并且将这些密钥返回给用户(S430)。
[0071]由于在将产生变更事项的文件分割成多个块文件并计算出关于经分割的各个块文件的散列值之后,通过将散列值传送给服务器220而只传送服务器中未存储的块文件的过程与上述的内容相同,因此对重复的说明不进行记载。
[0072]为了进行同步而确定要传送给服务器的块文件之后,利用从服务器220获取的令牌密钥加密传送对象块文件(S440)。之后,向服务器220传送经加密的块文件(S450),月艮务器220将新接收到的块文件存储在存储器中。
[0073]此外,服务器220执行将变更事项反映到与用户账号相应的散列表、元数据表和文件表的更新(S460)。
[0074]之后,当用户想要进一步同步第二终端装置420时,用户通过第二终端装置420输入用户认证信息,第二终端装置420将包括所输入的所述用户认证信息的用户认证请求发送给服务器220 (S470)。
[0075]接收到用户认证信息的服务器220在通过进行用户认证步骤而用户认证成功时,将已更新的元数据表、文件表和散列表等传送给第二终端装置420 (S480)。
[0076]接收到已更新的各种表的第二终端装置420对已存储的元数据表和已更新的元数据表进行比较来检测出产生变更事项的文件,并且将针对用于在已存储的文件中反映变更事项的块文件的传送请求传递给服务器(S490)。
[0077]响应于传送请求而服务器将新增加或变更的块文件传送给第二传送装置420,则第二终端装置420接收该块文件并重新存储增加或变更的块文件,通过更新第二终端装置420中存储着的兀数据表等而完成同步。
[0078]如上所述,并非为了同步而传送整个文件,而是在优先从服务器220接收元数据表信息之后,只请求对产生变更事项的块文件的传送,从而能够使为了进行同步而传送的数据量最小化并使同步所需的时间最小化。
[0079]图5是用于说明通过利用元数据表来对又一终端装置进行同步的过程的图。
[0080]在本实施例中以在第一终端装置410、服务器220和第二终端装置420已同步的状态下因用户增加或变更第一终端装置410中已存储的文件而再次进行同步的过程为例进行说明。
[0081]S卩,说明在初期第一终端装置410、服务器220和第二终端装置420中存储有由块文件A、B、C构成的第一文件411和由块文件A、D构成的第二文件413而实现同步的状态下,用户通过第一终端装置410修改第一文件411和第二文件413时,经修改的内容通过服务器220在第二终端装置420中也实现同步的过程。
[0082]用户输入第一终端装置410与服务器220的同步请求信号,则判断第一终端装置410中已存储的第一文件411和第二文件413中是否产生变更事项。
[0083]具体来讲,由于在第一文件411和第二文件413的元数据中包括关于更新的信息,因此可通过元数据判断是否产生变更事项。
[0084]如果判断为产生变更事项,则计算出关于包括第一文件411中新包括的块文件E的各个块文件的散列值和第二文件413中所包括的各个块文件的散列值并传送给服务器220。
[0085]另外,处于在服务器220中尚未反映对第一文件411和第二文件413的变更事项的状态,因此存储器221中只存储有构成现有的第一文件411和第二文件413的块文件。
[0086]S卩,由于块文件E、F未存储在存储器221中,因此处于在散列表223中也未反映与块文件E、F相对应的散列值的状态。
[0087]因此,服务器220请求对新增加到第一终端装置410的块文件E和F的传送。如果从第一终端装置410接收到新的块文件,则将该新的块文件存储在存储器221中并更新散列表223、文件表310和元数据表320。
[0088]之后,用户可在通过第二终端装置420接入到服务器220之后,请求反映修改事项的同步。此时,用户通过第二终端装置420且利用自身的用户账号接入到服务器220并请求同步。
[0089]当用户在第二终端装置420中利用用户账号接入到服务器220时,向第二终端装置420传送与用户账号相对应的元数据表223。如上所述,由于元数据表223中包括关于文件更新的历史,因此利用该元数据表223可判断某文件中是否产生变更事项。
[0090]之后,接收关于服务器220中存储的多个块文件的散列值,并且对该散列值和第二终端装置420中存储的块文件的散列值进行比较,来向服务器220请求对第二终端装置420中未存储的块文件E和F的传送,从而完成同步。
[0091]另外,在上述的实施例中对一名用户通过自身账号使用户所使用的多个终端装置相互同步的过程进行了说明,但也可以通过给多个用户分配与其相对应的用户账号来实现同步。下面,对这样的实施例进行说明。
[0092]在一实施例中,第一用户具有第一用户账号,第二用户具有第二用户账号,并且在第一用户允许所述第二用户共享其自身的特定文件或一组文件的情况下,也可以扩展使用所说明的实施例。此时,图4至图5中的第一终端装置410表示第一用户在服务器220中注册的第一用户的终端装置中的一个,第二终端装置420表示第二用户在服务器220中注册的第二用户的终端装置中的一个。根据本实施例,具有能够进行个人之间的文件共享的效果。
[0093]在另一实施例中,第一用户具有第一用户账号,属于特定组的多个用户共享第二用户账号,并且在第一用户允许共享所述第二用户账号的多个用户共享其自身的特定文件或一组文件的情况下,也可以扩展适用所说明的实施例。此时,图4至图5中的第一终端装置410表示第一用户在服务器220中注册的第一用户的终端装置中的一个,第二终端装置420表示共享所述第二用户账号的所述特定组的用户在服务器220中注册的所述特定组的用户的终端装置中的一个。根据本实施例,具有能够进行个人与集体之间的文件共享的效果O
[0094]在又一实施例中,属于第一组的多个用户共享第一用户账号,属于第二组的多个用户共享第二用户账号,并且在共享所述第一用户账号的多个用户中的一个用户允许共享所述第二用户账号的多个用户共享其自身的特定文件或一组文件的情况下,也可以扩展适用所说明的实施例。此时,图4至图5中的第一终端装置410表示共享所述第一用户账号的所述第一组用户在服务器220中注册的所述第一组用户的终端装置中的一个,第二终端装置420表示共享所述第二用户账号的所述第二组用户在服务器220中注册的所述特定组用户终端装置中的一个。根据本实施例,具有能够进行集体与集体之间的文件共享的效果。
[0095]图6是用于说明根据本发明的一实施例按用户账号生成并管理元数据表、文件表和散列表的方法的图。
[0096]如图6所示,服务器220中可存储有与用户认证密钥相对应的多个散列表、文件表和元数据表。
[0097]当用户利用自身账号接入到服务器220来将增加或变更的块文件上传到服务器220时,与该账号相对应的散列表、文件表和元数据表也被更新。
[0098]在用户想要进一步同步其他终端装置的情况下,在该终端装置中利用用户账号接入到服务器220而接收与用户账号相对应的元数据表、文件表和散列表,则可接收已变更的文件的块文件,因此可取得与将文件原封不动地复制到实际要进行同步的终端装置中的情况相同的效果。
[0099]例如,在用户A想要对智能电话和服务器220进行同步的情况下,可通过自身的用户账号接入到服务器220之后,将智能电话中存储的文件的块文件传送给服务器220。
[0100]此时,在服务器220中生成并存储与用户A相对应的散列表、文件表和元数据表。之后,在用户想要进一步同步作为其他终端装置的平板电脑的情况下,通过平板电脑且利用自身的用户账号接入到服务器220之后,接收服务器220中存储的多个块文件、散列表
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1