网盘系统的同步方法、终端设备和网盘系统的制作方法

文档序号:9276897阅读:403来源:国知局
网盘系统的同步方法、终端设备和网盘系统的制作方法
【技术领域】
[0001]本发明涉及计算机信息存储领域,尤其涉及一种网盘系统的同步方法、终端设备和网盘系统。
【背景技术】
[0002]网盘是一种在线存储服务,用于向用户提供文件的存储、访问、备份、共享等文件管理功能。网盘可以看成是设置在网络上的硬盘,无论用户置身何地,只要能够通过任何终端设备接入互联网,就可以管理网盘中的文件。目前的网盘系统主要采用富客户端模式和同步模式为用户提供文件管理功能。
[0003]在富客户端(Rich Client)模式下,需要在每个客户端上实现专用的文件管理界面,用户可以通过该文件管理界面进行网盘系统的文件的读取、修改、删除和重命名等操作。在这种模式下,用户无法使用本地计算机系统的资源管理器进行对网盘系统的文件的操作。
[0004]在同步模式下,网盘系统的服务器的文件数据可以同步到本地终端设备的磁盘中,这样,用户可以通过本地终端设备的资源管理器进行文件的读取、修改、删除和重命名等操作,无需在每个客户端上实现专用的文件管理界面。具体而言,网盘系统可以监测网盘目录下的文件的变化,并根据文件的变化在网盘系统的服务器与本地终端设备之间进行文件数据的同步(或更新)。当本地终端设备上存储的网盘文件有变化时,可以将这种网盘文件的变化上传至服务器,当服务器存储的网盘文件有变化时,可以将这种网盘文件的变化下载至本地计算机系统。网盘系统的每一种变化操作会被本地终端设备转换为一个独立的同步任务。
[0005]然而,当用户频繁操作时,会产生多个同步任务,如果顺序执行同步任务,会使得网盘系统的同步效率很低。
[0006]因此,如何提高网盘系统的同步效率是亟待解决的问题。

【发明内容】

[0007]本发明实施例提供了一种网盘系统的同步方法、终端设备和网盘系统,能够提高网盘系统的同步的效率。
[0008]第一方面,提供了一种网盘系统的同步方法,包括:检测网盘系统的客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作;将多个变化操作转换为多个同步任务,多个同步任务用于实现客户端的网盘目录项与服务器的网盘目录项之间的同步;确定多个同步任务之间的依赖关系;将多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
[0009]第二方面,提供了一种终端设备,终端设备运行网盘系统的客户端,客户端包括:检测模块,用于检测客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作;转换模块,用于将将多个变化操作转换为多个同步任务,多个同步任务用于实现客户端的网盘目录项与服务器的网盘目录项之间的同步;确定模块,用于确定多个同步任务之间的依赖关系;执行模块,用于将多个同步任务中不存在依赖关系的同步任务分配给不同的线程并行执行。
[0010]第三方面,提供了一种网盘系统,包括:至少一个如第二方面所述的终端设备;和服务器,通过网络与终端设备连接,用于根据终端设备上运行的客户端的请求执行客户端与服务器之间的同步。
[0011 ] 基于上述技术方案,本发明实施例的网盘系统的方法、终端设备和网盘系统,通过将网盘系统的目录项的多个变化操作转换为多个同步任务,并根据多个同步任务之间的依赖关系,将不存在依赖关系的同步任务分配给不同的线程并行执行,能够在网盘系统的同步过程中实现多线程,从而能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
【附图说明】
[0012]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0013]图1是根据本发明一个实施例的网盘系统的示意性架构图。
[0014]图2是根据本发明的一个实施例的网盘系统的同步方法的示意性流程图。
[0015]图3是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。
[0016]图4是根据本发明的一个实施例的同步队列与线程的关系示意图。
[0017]图5是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。
[0018]图6是根据本发明的另一实施例的网盘系统的同步方法的示意性流程图。
[0019]图7是根据本发明的实施例的终端设备的结构示意图。
[0020]图8是根据本发明的另一实施例的网盘系统的结构示意图。
【具体实施方式】
[0021]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
[0022]为了提高网盘系统的同步效率,可以采用多线程的方式来执行同步任务。然而,当采用多线程并行执行同步任务时,如果两个并行执行的同步任务之间存在依赖关系,则会产生逻辑错误而导致同步失败。例如,用户在本地客户端新建了目录Dir,并进行了将F.txt文件复制到目录Dir下的操作,上述操作对应两个同步任务:A.上传任务-创建目录Dir, B.上传任务-上传文件F.txt,如果这两个同步任务并行执行,当执行同步任务B时,服务器上并不存在目录Dir,则会导致上传出错,再如,对目录或目录下的文件进行重命名或删除等操作也会遇到类似的问题。
[0023]本发明的实施例提供了一种网盘系统的同步方法、终端设备和网盘系统,能够提高网盘系统的同步效率,并避免因逻辑错误而导致的同步失败。
[0024]图1是根据本发明一个实施例的网盘系统100的示意性架构图。
[0025]本发明的实施例的网盘系统可以包括服务器和至少一个终端设备,服务器通过网络与终端设备连接。例如,终端设备可以是个人计算机、WEB设备(例如,安装了网页浏览器的终端设备)、移动终端等用户设备,每个终端设备上运行有网盘系统的客户端。服务器可以是普通的服务器,也可以是云端服务器或虚拟机服务器。在服务器和本地终端设备分别设置有网盘系统的目录和文件,服务器可以根据终端设备上运行的客户端的请求执行客户端与服务器之间的网盘目录和文件的同步。终端设备与服务器之间可以通过TCP/IP建立网络连接,本发明的实施例并不限于此,例如,服务器和终端设备之间还可以通过无线接入点(例如,WiFi设备)建立连接。
[0026]如图1所示,网盘系统100可以包括:服务器110、移动终端120、个人计算机130和WEB设140。个人计算机130可以通过互联网150与服务器110连接。移动终端120可以通过接入点(例如,基站或无线接入点)160以及互联网150与服务器110连接。WEB设备140可以通过互联网150与服务器110连接。
[0027]具体而言,为了能够实现在任意终端设备上的变更内容(或数据)在其它终端设备上也能够看到或者访问,通常采用同步技术实现服务器与客户端之间的同步,将本地终端设备的变更内容同步到服务器,然后由服务器将该变更内容同步到其它终端设备,同步任务的执行确保了本地终端设备上的内容与服务器端的内容的一致性。
[0028]应理解,本发明的实施例的适应范围并不限于上述终端设备和服务器,本发明实施例适用于任何能够通过网络进行连接的服务器和终端设备。
[0029]图2示出了根据本发明的一个实施例的同步数据的方法100的示意性流程图。图2的方法可以由图1的终端设备来执行。如图2所示,方法200包括如下内容。
[0030]210,检测网盘系统的客户端的网盘目录项和/或网盘系统的服务器的网盘目录项的多个变化操作。
[0031]例如,网盘目录项可以包括网盘目录或网盘目录下的文件或子目录等内容。上述多个变化操作可以包括:新建文件、新建目录,修改文件,重命名文件、重命名目录,删除文件、删除目录和修改权限中的至少一种操作。
[0032]应理解,上变化操作可以指本地客户端的网盘目录项的变化操作,也可以指服务器的网盘目录项
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1