一种云盘文件同步方法和装置制造方法

文档序号:7779967阅读:230来源:国知局
一种云盘文件同步方法和装置制造方法
【专利摘要】本发明公开了一种云盘文件同步装置,包括云盘客户端和宿主云盘服务端、暂驻云盘服务端;云盘客户端设有显示界面、文件系统、本地数据库、客户端文件同步处理器;宿主云盘服务端和暂驻云盘服务端均包括相互连接的服务端文件同步处理器和云端数据库;显示界面、文件系统、本地数据库分别与客户端文件同步处理器连接;云盘客户端通过客户端文件同步处理器与宿主云盘服务端的服务端文件同步处理器连接;宿主云盘服务端的服务端文件同步处理器与暂驻云盘服务端的服务端云盘处理器连接;云盘客户端与宿主云盘服务端之间的距离小于云盘客户端与暂驻云盘服务端之间的距离时,云盘客户端与暂驻云盘服务端建立连接。
【专利说明】一种云盘文件同步方法和装置
【技术领域】
[0001]本发明涉及云存储领域,特别是指一种云盘文件同步方法和装置。
【背景技术】
[0002]云盘技术正在快速研究中,云盘系统也正在快速面世。云盘系统的一个重要功能就是文件同步,移动客户端因受流量和速度的限制,目前对同步的需求还不是太强烈,目前,对于云盘文件的同步技术的研究主要就是集中在PC客户端与云盘服务端之间的同步技术之上。
[0003]依据需求、方案或者技术的不同,现有公布的云盘文件同步技术或者产品中所体现的同步效果多少都一些差异,结果并不是太令人满意。有的同步技术比较简单,容忍较差的用户体验;有的同步技术力求保险,不惜浪费存储空间;有的同步技术注重体验,却要求配置较高的运行环境;有的同步形式单一,满足不了用户多样化需求。特别是对于海量文件、大文件的同步,各技术方案、云盘系统的表现也需要再提高。

【发明内容】

[0004]有鉴于此,本发明的目的在于提出一种云盘文件同步方法和装置,提供更好的用户体验。
[0005]基于上述目的本发明提供的云盘文件同步装置,包括设有操作系统的云盘客户端和云盘服务端;所述云盘客户端设有本地数据库、客户端文件同步处理器、同步文件集合、文件状态监控器;所述云盘服务端包括相互连接的服务端文件同步处理器和云端数据库,服务端文件同步处理器依据云盘客户端所发送的同步请求指令执行同步操作;客户端文件同步处理器分别与显示界面、文件系统、本地数据库、同步文件集合连接,文件状态监控器与文件系统、本地数据库和同步文件集合连接;云盘客户端通过客户端文件同步处理器与云盘服务端的服务端文件同步处理器连接;云盘客户端通过其操作系统的显示界面和操作系统的文件系统接收用户的操作指令;文件状态监控器触发文件同步,客户端同步文件处理器根据同步文件集合中记录的同步操作向服务端文件同步处理器发送文件同步请求指令,服务端文件同步处理器根据文件同步请求指令执行同步操作。
[0006]可选的,所述同步文件集合包括依据本地资源管理器文件创建的第一同步文件集合;所述云盘客户端和云盘服务端之间的文件实时同步触发后,若文件状态监控器监控到的用户操作时间超过设定阈值,所述客户端文件同步处理器根据用户对文件的操作计算同步任务,并将该同步任务存放于第四同步文件集合中。
[0007]可选的,所述同步文件集合还包括第四同步文件集合;所述云盘客户端和云盘服务端之间的文件定时同步触发后,若文件状态监控器监控到的用户操作时间大于设定阈值,所述客户端文件同步处理器根据用户对文件的操作计算同步任务,并将该同步操作存放于第四同步文件集合中;所述同步任务为同步操作执行时的依据。
[0008]可选的,所述同步文件集合包括依据本地资源管理器文件创建的第一同步文件集合、记录在本地数据库并在使用本地数据库的时候计算得到的第二同步文件集合、记录在云盘服务端数据库并在使用云盘服务端数据库的时候计算的第三同步文件集合以及记录了同步任务的第四同步文件集合;所述第四同步文件集合的同步任务计算所依据的因素包括所述第一同步文件集合、第二同步文件集合和第三同步文件集合。
[0009]可选的,所述云盘服务端还包括宿主云盘服务端和暂驻云盘服务端;若所述云盘客户端与宿主云盘服务端在设定的规则之内,云盘客户端与宿主云盘服务端直接连接;若所述云盘客户端与宿主云盘服务端在设定的规则之外,云盘客户端与依据规则所计算的最优暂驻云盘服务端直接连接。
[0010]进一步,本发明提供一种云盘文件同步方法,采用上述任意一种云盘文件同步装置进行文件同步,包括如下步骤:云盘客户端的文件状态监控器监控到本地文件发生变化,触发同步操作;云盘客户端的客户端文件同步处理器根据同步文件集合中的记录计算同步任务,并将计算结果存入第四同步文件集合中;客户端文件同步处理器根据同步任务,向云盘服务端的服务端文件同步处理器发送同步请求指令;服务端文件同步处理器与客户端文件同步处理器配合完成服务端与客户端的文件同步操作。
[0011]可选的,所述同步触发指令包括实时同步触发指令,计算同步任务的步骤执行之前,文件状态检测器监测到用户对文件操作完成,将用户的操作记录存入第一同步文件集

口卞O
[0012]可选的,所述同步触发指令包括实时同步触发指令,在执行计算同步任务的步骤时,若文件状态监测器监测到用户对文件的操作时间超过设定阈值,则根据同步文件集合中第一同步文件集合计算同步任务,并将计算结果存入同步文件集合的第四同步文件集合中;所述第一同步文件集合依据本地资源管理器文件创建;所述第四同步文件集合为记载同步任务的文件集合。
[0013]可选的,所述同步触发指令包括全盘同步触发指令;所述同步任务计算的步骤执行之前,客户端文件同步处理器获取根据本地文件系统资源管理器记录所创建的第一同步文件集合以及根据本地数据库记录所创建的第二同步文件集合,服务端文件同步处理器获取依据云端数据库所创建的第三同步文件集合;在执行计算同步任务的步骤时,依据所述第一同步文件集合、第二同步文件集合和第三同步文件集合进行计算得到同步任务,并将同步任务记录在一个第四同步文件集合中。
[0014]可选的,所述同步触发指令包括选择同步触发指令,在云盘客户端的文件状态监控器监控到同步触发指令的步骤执行前,文件状态监测器接收待同步目标的选择信息;所述同步任务计算的步骤执行之前,客户端文件同步处理器获取根据本地文件系统资源管理器记录所创建的第一同步文件集合以及根据本地数据库记录所创建的第二同步文件集合,服务端文件同步处理器获取依据云端数据库所创建的第三同步文件集合;在执行计算同步任务的步骤时,依据所述第一同步文件集合、第二同步文件集合和第三同步文件集合进行计算得到同步任务,并将同步任务记录在一个第四同步文件集合中。
[0015]可选的,客户端文件同步处理器根据同步任务,向云盘服务端的服务端文件同步处理器发送同步请求指令时,若云盘客户端与宿主云盘服务端在设定的规则之内,则向宿主云盘服务端的服务端文件处理器发送同步请求指令。
[0016]可选的,客户端文件同步处理器根据同步任务,向云盘服务端的服务端文件同步处理器发送同步请求指令时,若云盘客户端与宿主云盘服务端在设定的规则之外,则向暂驻云盘服务端的服务端文件处理器发送同步请求指令;并且在暂驻云盘服务端的服务端文件同步处理器根据同步请求指令对暂驻云盘服务端的云端数据库进行同步操作之后,暂驻云盘服务端的服务端文件同步处理器将同步操作信息发送到宿主云盘服务端的服务端文件同步处理器,宿主云盘服务端的服务端文件同步处理器对其云盘数据库执行同步操作。
[0017]从上面所述可以看出,本发明提供的云盘文件同步装置,采用特殊的云盘文件同步方法,实现了云盘客户端和云盘服务端的文件同步。本发明实施例的云盘文件同步装置,在执行文件同步时先计算所有同步任务,然后执行所有同步任务,这样做可以达到减少服务请求次数的目的,从而节省客户端和服务端的资源,客户端和服务端的资源占用率显著降低。同时,本发明实施例的云盘文件同步装置,其云盘服务端包括宿主云盘服务端和暂驻云盘服务端,从而当用户与宿主云盘服务端之间的关系在设定的规则之外,可依据所述规则优选一个暂驻云盘服务端进行文件同步,因而可以显著提高文件同步效率,提高信号和文件传输速度,并进一步节省资源占用率。在实际应用中,本发明所提供的云盘同步文件装置,相比现有技术,存储空间节省效果显著,并且用户体验显著提高。此外,本发明的云盘文件同步装置,在空间、时间、环境、保险程度等方面达到了良好的协调,对于海量文件、大文件的同步,本发明的云盘文件同步装置具有更显著的优势。
[0018]进一步,本发明提供的云盘文件同步方法,实现了云盘客户端和云盘服务端的文件同步。本发明实施例的云盘文件同步方法,在执行文件同步时,先计算同步任务,然后执行同步任务,从而减少服务请求次数,节省客户端和服务端的资源。本发明实施例的云盘文件同步方法,采用宿主云盘服务端和暂驻云盘服务端,从而当用户与宿主云盘务端的关系在设定的规则之外,可依据规则优选一个暂驻云盘服务端进行文件同步,因而可以显著提高文件同步效率,提高信号和文件传输速度,并进一步节省资源占用率。
【专利附图】

【附图说明】
[0019]图1为本发明实施例的云盘文件同步装置结构示意图;
[0020]图2为本发明实施例的实时同步方法流程示意图;
[0021]图3为本发明实施例的全盘同步方法流程示意图;
[0022]图4为本发明实施例的选择同步方法流程示意图。
【具体实施方式】
[0023]为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0024]本发明所述分布式云盘文件同步装置结构如图1所示,主要包括云盘客户端1、宿主云盘服务端2、暂驻云盘服务端3。云盘客户端I和宿主云盘服务端2相互连接,暂驻云盘服务端3与宿主云盘服务端2连接,当云盘客户端I与宿主云盘服务端2之间的关系处于设定的规则之外时,云盘客户端I与暂驻云盘服务端3建立连接,将文件更新的信息存放在暂驻云盘服务端3。
[0025]所述的设定规则,可以是云盘客户端I距离宿主云盘服务端2的距离小于某一设定阈值;若云盘客户端I距离宿主云盘服务端2的距离大于设定阈值,即认为云盘客户端I与宿主云盘服务端2的关系处于设定的规则之外。在上述情况下,距离最近的暂驻云盘服务端即是依据规则计算的最优暂驻云盘服务端。
[0026]在其它实施例中,所述设定规则也可以是关于占用率的规则:若宿主云盘服务端2的当前占用率超过设定阈值,即认为云盘客户端I与宿主云盘服务端2的关系处于设定的规则之外。在上述情况下,占用率最优且距离最近的暂驻云盘服务端即可作为依据规则计算的最优暂驻云盘服务端。
[0027]在其它实施例中,所述设定规则也可以是关于占用率的规则:若宿主云盘服务端2的当前占用率与当前需要执行的同步操作的综合因素值超过设定限值,即认为云盘客户端I与宿主云盘服务端2的关系处于设定规则之外。在上述情况下,占用率最优且距离最近的暂驻云盘服务端即可作为依据规则计算的最优暂驻云盘服务端。
[0028]在其它实施例中,所述设定规则也可以是关于区域的规则:若云盘客户端处于某一预先划分的区域,且这个云盘客户端的宿主云盘服务端处于预先划分的另一个区域,那么认为云盘客户端与宿主云盘服务端之间的关系处于设定的规则之外。在上述情况下,云盘客户端所在区域的暂驻云盘服务端即可作为一级规则计算的最优暂驻云盘服务端。
[0029]云盘客户端1:用于连接到云盘服务端的用户客户端。具体的,客户端可以是PC客户端、web客户端、手机客户端,或者其他客户程序。
[0030]宿主云盘服务端2:作为用户的主要云盘服务端,用户的主要文件及信息存放在宿主云盘服务端。一般来说,在分布式云盘系统中,每一位用户的数据的存放位置主要集中在某一个云盘服务节点上,本发明称这个记录了用户大部分数据的云盘服务节点为用户的宿主云盘服务端。
[0031]暂驻云盘服务端3:作为用户的暂时云盘服务端的宿主云盘服务端,用户的一些文件可能会临时存放在暂驻云盘服务端。正常情况下,用户不会一直呆在某一个地方,为了提高系统效率和用户体验,依据就近原则,当用户远离宿主云盘服务端,而离另一个云盘服务端比较近的时候,就将用户这一时段的数据保存在这个相对较近的云盘服务端,本发明称这个暂时记录用户临时数据的云盘服务节点为用户的暂驻云盘服务端。当然,在实现上,不同云盘系统也可以不设立暂驻云盘服务端,本发明实施例中设有暂驻云盘服务端。事实上,相对于某个云盘客户端A,其暂驻云盘服务端为B ;而相对于另一个云盘客户端C,B可能就成为宿主云盘服务端。
[0032]在一些实施例中,云盘客户端I包括显示界面11、文件系统12、本地数据库13、客户端文件同步处理器14、同步文件集合15、文件状态监控器16 ;宿主云盘服务端2包括服务端文件同步处理器21、云端数据库22。暂驻云盘服务端3的结构域宿主云盘服务端相同。
[0033]显示界面11:用于显示文件同步按钮、菜单、列表等。
[0034]文件系统12:属于操作系统中的文件系统,不是本装置的子系统,为本云盘文件同步装置所用。
[0035]本地数据库13:存放文件同步相关数据的本地数据库。记录这些数据的载体可以有多样,简单的如文本文件、access,复杂的如sqlite。本发明不局限使用哪种载体。
[0036]客户端文件同步处理器14:在客户端负责处理文件同步的业务模块。该模块运行在客户端,实施上,可以是一个大的模块,也可以细分该模块,不管怎样的程序划分方法,其实现的功能应当包括:计算同步文件集合、计算同步文件操作或任务、执行文件同步操作或任务,除此以外,与文件同步相关的、没有列入到其他模块之中的辅助功能也可以一并包含在该模块之中。
[0037]同步文件集合15:驻留在客户端程序的同步文件集合,本文提到的文件集合可以表现为树结构、列表结构、数组结构以及其他标准、第三方定义或自定义的文件对象集合。本发明的一些实施例中,同步文件集合包括四种:1,依据本地资源管理器文件创建的第一同步文件集合;2,记录在本地数据库并在使用本地数据库的时候计算得到的第二同步文件集合;3,记录在云盘服务端数据库并在使用云盘服务端数据库的时候计算的第三同步文件集合;4,由文件同步处理器依据前面3个同步文件集合,结合其他因素计算出来的、对每一个文件标明了要进行何种同步操作的第四同步文件集合,该集合记录了将要对文件执行的操作,是文件同步的依据;所述其他因素可以是用户体验等因素;所述同步操作包括上传、下载、修改名称、移动路径、删除等。
[0038]在一些实施例中,文件的上传可以采用并行上传的方法。还可以采用秒传的方法,就是当系统检测到服务端(即本发明实施例中所述的宿主云盘服务端和暂驻云盘服务端)已存在同样的文件,就不执行上传,而向用户显示上传完成。也还可以采用分片上传的方法,将文件分片存放在服务端,传输的时候将所述分片存放的文件进行传输,若系统检测到服务端已存在某一分片文件,就不上传该分片文件。在具体实施时,可采用算法将已有分片或者文件计算出一个索引进行存储。
[0039]文件状态监控器16:在客户端负责监控本地文件变化操作的业务模块。在客户端负责监控本地文件变化操作的业务模块。该模块是实现实时同步的一个关键模块,与文件同步处理器一起实现实时同步。具体实现上,可能会遇到一些情况,例如没有联网,导致不能进行实时同步,这里需要加入一些异常条件判断,并做相应的处理。当实时同步没有发生作用的时候,手工同步或者定时同步发挥了补救的作用。同时,由于实时同步的存在,手工同步或者定时同步才可以进行得很快,三种形式的同步相互配合,从而提高了用户体验。
[0040]服务端文件同步处理器:在服务端负责处理文件同步的业务模块,包括宿主云盘服务端的文件同步处理器21和暂驻云盘服务端的文件同步处理器31。服务端的文件同步处理器与客户端的文件同步处理器相对应,为客户端的文件同步处理器提供服务。同时,该模块要面对的是众多客户端,还有就是在分布式云盘架构中,还需要与其它云盘服务节点保持联系,例如:宿主云盘服务端的文件同步处理器需要与暂驻云盘服务端的文件同步处理器协调,以便向客户端文件同步处理器返回用户请求的完整的数据。
[0041]云端数据库:存放文件同步相关数据的服务端数据库,包括宿主云盘服务端的文件同步处理器22和暂驻云盘服务端的文件同步处理器32。云端数据库存放的数据包括结构化数据和非结构化数据,本发明不局限于采用何种数据库。
[0042]在实际的云盘系统中,客户端和服务端还会包含其他模块,这里只列出与文件同步相关的1?块。
[0043]由于是分布式云盘系统,可能存在多个服务节点,用户的数据可以按照某种规则存放在多个服务节点之上,例如,按照就近原则。但一般来说,用户的绝大部分数据还是主要存放在一个服务节点上。这样,当进行文件同步的时候,既需要与宿主服务端进行同步,还需要考虑与暂驻服务端的同步,而且,暂驻服务端可能会存在多个。当然,也可能用户所有数据均在宿主服务端, 这样客户端就只需要与宿主服务端进行文件同步了。[0044]依据文件同步的数量,可以将文件同步方法分为:变量同步、部分同步、全盘同步。其中,变量同步指的是对当前变化的部分进行同步;部分同步指的是对部分文件夹或者文件进行同步计算并执行同步;全盘同步指的是对全部文件夹或者文件进行同步计算并执行同步。
[0045]依据文件同步的触发条件,可以将文件同步方法分为:实时同步、手工同步、定时同步。其中,实时同步指的是当文件发生变化的时候,立即进行同步;手工同步指的是由用户通过点击菜单或者按钮来触发文件同步;定时同步指的是程序依照设定的任务计划来触发文件同步。
[0046]手工同步既可以是全盘同步,也可以是选择同步;同样,定时同步也可以进行全盘同步或者选择同步。本发明所述实时同步是一种变量同步,即只对当前变化的部分进行同步操作。
[0047]实时同步、手工同步、定时同步三种触发形式的同步可以依据不同的情况,例如不同客户端来进行选择。三种方式相互配合能够提供很好的用户体验。
[0048]进一步,本发明还提供一种云盘文件同步方法。在本发明实施例中,分别就实时同步、全盘同步、选择同步给出了实现流程,以便本发明上述实施例部分所提供的云盘文件同步装置实现其功能。
[0049]本发明实施例提供的实时同步方法流程如图2所示,包括以下步骤:
[0050]步骤1000:开始。
[0051]步骤1010:文件状态监控器监控到用户对文件操作完成。本步骤中,当用户通过操作系统的显示界面通过客户端文件同步处理器对本地数据库进行操作的时候,客户端文件状态监测器会监控到用户对本地数据库中文件的操作,第一同步文件集合中会随着用户对文件的操作而产生操作记录。具体实现上,可以在文件状态监控器上设定一个配置供用户选择,当监控到文件变更的时候,再判断是否通知客户端文件同步处理器立刻进行同步,这样可以节省同步操作动作的次数。若进行立刻更新,则进入下一步;若不进行立刻同步,则本地数据库可以对自身内部的文件和文件状态进行更新,而暂时不进行同步操作;这样,在手工同步或者定时同步的时候,就可以节省计算同步操作时间。
[0052]在一些实施例中,上述步骤1010包括下述过程:
[0053]步骤1011:文件状态监控器监控到用户在对文件进行操作,触发实时文件同步。
[0054]步骤1012:文件状态监控器监控到用户对文件进行的操作已完成。
[0055]步骤1013:文件状态监控器将用户对文件所作出的操作记录在同步文件集合的第一同步文件中。
[0056]步骤1020:客户端文件同步处理器计算同步任务,并将计算结果存入第四同步文件集合。该步骤需要根据客户端文件更新后的状态来决定同步操作的种类,同步操作的种类,具体包括文件修改和新建、文件名修改、文件删除、文件目录更改。所述计算包括记录的统计、记录的合并、记录的删除等。
[0057]在上述步骤中,若文件状态监控器监控到的用户操作持续时间超过了一个设定阈值,则将上述计算结果存入第四同步文件集合;若未超过设定阈值,则不进行计算,直接将第一同步文件集合中的操作记录作为同步任务。
[0058]步骤1030:客户端文件同步处理器根据上一步骤中所计算的同步任务,将文件同步请求指令发送到服务端文件同步处理器。本步骤中,若文件内容有更改,则客户端文件同步处理器将文件更改的同步任务传送到服务端文件同步处理器;若文件新增,则客户端文件同步处理器将文件新增的同步任务发送到服务端文件同步处理器;若文件名称更新,则客户端文件同步处理器将文件名称更改的同步任务发送到服务端文件同步处理器;若文件删除,则客户端文件同步处理器将文件被删除的同步任务发送到服务端文件同步处理器;若文件目录更改,则客户端文件同步处理器将文件目录更改的同步任务发送到服务端文件同步处理器。
[0059]在本实施例中,上一步骤所述的客户端文件同步处理器为宿主云盘服务的服务端文件同步处理器,或暂驻云盘服务端的服务端文件同步处理器。
[0060]在其它实施例中,不设定暂驻云盘服务端时,上一步骤所述的服务端文件同步处理器主要包括宿主云盘服务端的服务端文件同步处理器。若宿主云盘服务端与云盘客户端的关系处于设定规则之外,则客户端文件同步处理器与暂驻云盘服务端的服务端文件同步处理器建立连接,并将同步请求指令发送到暂驻云盘服务端的服务端文件同步处理器。若宿主云盘服务端与云盘客户端的关系处于设定规则之内,则客户端文件同步处理器与宿主云盘服务端的服务端文件同步处理器建立连接,并将同步请求指令发送到宿主云盘服务端的服务端文件同步处理器。
[0061]步骤1040:服务端文件同步处理器根据同步请求指令对云端数据库进行同步操作。本步骤中,若文件内容更改或新建,则服务端文件同步处理器上传更改后的文件;若文件名称修改或目录更改,则服务端文件同步处理器对文件名称或目录信息进行修改。
[0062]在步骤1040中,若客户端文件同步处理器与暂驻云盘服务端的服务端文件同步处理器建立了连接,则暂驻云盘服务端的云盘数据库接受同步操作,暂驻云盘服务端的服务端文件同步处理器将同步操作信息发送到宿主云盘服务端的服务端同步文件处理器。
[0063]步骤1050:结束。
[0064]通过上述步骤,实现云端数据库与云盘客户端本地数据库之间的文件实时同步。
[0065]在一些实施例中,本发明提供的全盘同步方法包括如图3所示的步骤,具体如下:
[0066]步骤2000:开始。
[0067]步骤2010:客户端文件同步处理器接收到全盘文件同步触发指令。本步骤中,当用户通过云盘客户端的显示界面发送触发全盘文件同步的指令时,或者,当客户端文件同步处理器内部的定时器到达设定的触发时间点时,客户端文件同步处理器接收到全盘文件同步触发指令或者判断要触发全盘文件同步。这里在具体实现上,还需要考虑到一些异常情况的处理,例如网络断开。
[0068]步骤2020:文件同步处理器获取第一同步文件集合、本地数据库记录的第二同步文件集合,获取云端数据库记录的第三同步文件集合。这三种同步文件集合的计算,可以是同时的,也可以按照任意次序先后进行。对于第二文件集合,如果内存中时刻维持着一个这样的集合,则无需每次都计算一次,以便节省计算时间,当然代价是占用了内存空间;也可以在全盘文件同步被触发以后再进行统计计算。对于第三文件集合,如果存在暂驻云盘服务端,则宿主云盘服务端的服务端文件同步处理器需要将用户存放的不同云盘服务端的数据进行整合,一并提供给客户端。
[0069]具体的,在一些实施例中,上述步骤2020进一步包括:[0070]步骤2021:云盘客户端的客户端文件同步处理器获取根据本地文件系统资源管理器的记录所创建的第一同步文件集合。
[0071]步骤2022:云盘客户端的客户端文件同步处理器获取根据本地数据库记录所创建的第二同步文件集合。
[0072]步骤2023:服务端文件同步处理器获取依据云端数据库所创建的第三同步文件集合,并将第三同步文件集合发送到客户端文件同步处理器。
[0073]上述步骤2021-2023可以按照任意顺序执行,也可以同时执行。
[0074]步骤2030:客户端文件同步处理器计算文件同步任务,客户端文件同步处理器根据第一至三同步文件集合,对文件同步任务进行计算,将计算结果存入第四同步文件集合中。所述计算包括操作记录的统计、操作记录的合并、操作记录的取消等。将前面步骤中产生的第一同步文件集合、第二同步文件集合、第三同步文件集合作为输入信息,经过计算得出每一个文件应该采取的同步操作并记录存入第四文件集合中。
[0075]步骤2040:客户端文件同步处理器根据同步任务计算结果将同步请求指令发送到服务端文件同步处理器。
[0076]上一步骤所述的服务端文件同步处理器主要包括宿主云盘服务端的服务端文件同步处理器。若宿主云盘服务端与云盘客户端的的关系处于设定规则之外,则客户端文件同步处理器与暂驻云盘服务端的服务端文件同步处理器建立连接,并将同步请求指令发送到暂驻云盘服务端的服务端文件同步处理器。若宿主云盘服务端与云盘客户端的关系处于设定规则之内,则客户端文件同步处理器与宿主云盘服务端的服务端文件同步处理器建立连接,并将同步请求指令发送到宿主云盘服务端的服务端文件同步处理器。
[0077]步骤2050:服务端文件同步处理器根据同步请求指令对云盘数据库执行同步操作。依据客户端文件同步处理器发送的同步请求指令,服务端文件同步处理器对云端数据库中的每一个文件执行同步操作。具体实现上,可以在显示界面上显示同步进度。
[0078]在上述步骤中,若客户端文件同步处理器与暂驻云盘服务端的服务端文件同步处理器建立了连接,则暂驻云盘服务端的云盘数据库得到接受同步操作,并将同步操作信息发送到宿主云盘服务端的服务端同步文件处理器。
[0079]步骤2060:结束。
[0080]在一些实施例中,本发明提供的选择同步方法包括如图4所示的以下步骤:
[0081]步骤3000:开始。
[0082]步骤3010:接收待同步目标的选择信息。本步骤中,所述目标包括文件和文件夹;用户通过显示界面向文件状态监测器发送选择指令,对文件进行选择,可以多选或单选。
[0083]步骤3020:客户端文件同步处理器接收选择文件同步触发指令。本步骤中,当用户通过云盘客户端的显示界面发送触发选择文件的同步触发指令时,或者,当客户端文件同步处理器内部的定时器到达设定的触发时间点时,客户端文件同步处理器接收到选择文件同步触发指令。这里在具体实现上,还需要考虑到一些异常情况的处理,例如网络断开。
[0084]步骤3030:客户端文件同步处理器获取本地选择的第一同步文件集合、本地数据库记录的第二同步文件集合,获取云端数据库记录的第三同步文件集合。由于该流程是选择性同步,因此只关注本地被选中的文件或者文件夹,如此,则该流程中的第二同步文件集合和第三同步文件集合就与全盘同步流程的第二同步文件集合和第三同步文件集合就有所不同,这里的第二同步文件集合和第三同步文件集合只应该包含在第一同步文件集合中的选中文件或文件夹所对应的文件或者文件夹。对于第三同步文件集合,如果存在暂驻云盘服务端,则宿主云盘服务端的文件同步处理器需要将用户存放的不同云盘服务端的数据进行整合,一并提供给客户端。
[0085]在一些实施例中,步骤3030可以包括如下过程:
[0086]步骤3031:云盘客户端的客户端文件同步处理器获取本地文件系统资源管理器所记录的第一同步文件集合。
[0087]步骤3032:云盘客户端的客户端文件同步处理器获取本地数据库记录的第二同步文件集合。
[0088]步骤3033:服务端文件同步处理器获取云端数据库的第三同步文件集合,并将第三同步文件集合发送到客户端文件同步处理器。
[0089]步骤3031-步骤3033可以同时执行,也可以按照任意顺序依次执行。
[0090]步骤3040:客户端文件同步处理器计算文件同步任务,并将文件同步任务存储于第四同步文件集合中。将前面步骤中产生的第一同步文件集合、第二同步文件集合、第三同步文件集合作为输入信息,得出文件同步任务,即需要对文件执行的同步操作。
[0091]步骤3050:客户端文件同步处理器根据文件同步任务,将同步请求指令发送到服务端同步文件处理器。依据前面步骤记录的同步操作,对每一个文件执行同步操作。具体实现上,可以在显示界面上显示同步进度。
[0092]上一步骤所述的服务端文件同步处理器主要包括宿主云盘服务端的服务端文件同步处理器。若宿主云盘服务端与云盘客户端的关系处于设定规则之外,则客户端文件同步处理器与暂驻云盘服务端的服务端文件同步处理器建立连接,并将同步请求指令发送到暂驻云盘服务端的服务端文件同步处理器。若宿主云盘服务端与云盘客户端的关系处于设定的规则之内,则客户端文件同步处理器与宿主云盘服务端的服务端文件同步处理器建立连接,并将同步请求指令发送到宿主云盘服务端的服务端文件同步处理器。
[0093]步骤3060:服务端文件同步处理器根据同步请求指令,对云盘数据库执行同步操作。
[0094]在上述步骤中,若客户端文件同步处理器与暂驻云盘服务端的服务端文件同步处理器建立了连接,则暂驻云盘服务端的云盘数据库接受同步操作,暂驻云盘服务端的服务端文件同步处理器将同步操作信息发送到宿主云盘服务端的服务端同步文件处理器,然后,宿主云盘服务端的服务端文件同步处理器对其云盘数据库执行同步操作。
[0095]步骤S3070:结束。
[0096]从上面所述可以看出,本发明提供的云盘文件同步装置,采用特殊的云盘文件同步方法,实现了云盘客户端和云盘服务端的文件同步。本发明实施例的云盘文件同步装置,在执行文件同步时先计算所有同步任务,然后执行所有同步任务,这样做可以达到减少服务请求次数的目的,从而节省客户端和服务端的资源,客户端和服务端的资源占用率显著降低。同时,本发明实施例的云盘文件同步装置,其云盘服务端包括宿主云盘服务端和暂驻云盘服务端,从而当用户距离宿主云盘服务端距离较远时,可选用任意一个距离较近的暂驻云盘服务端进行文件同步,从而可以显著提高文件同步效率,提高信号和文件传输速度,并进一步节省资源占用率。在实际应用中,本发明所提供的云盘同步文件装置,相比现有技术,存储空间节省效果显著,并且用户体验显著提高。此外,本发明的云盘文件同步装置,在空间、时间、环境、保险程度等方面达到了良好的协调,对于海量文件、大文件的同步,本发明的云盘文件同步装置具有更显著的优势。
[0097]本发明进一步提供的云盘文件同步方法,该方法以较高的效率和较低的资源占用率实现了云盘客户端和云盘服务端的文件同步。本发明实施例的云盘文件同步方法,先计算所有同步任务,然后执行所有同步任务,可以达到较少服务请求次数的目的,从而节省客户端和服务端的资源,客户端和服务端的资源占用率显著降低。同时,本发明实施例的云盘文件同步方法,采用暂驻云盘服务端提高文件同步的速度,从而提高了文件同步效率,进一步减少资源占用率。在实际应用中,本发明的云盘文件同步方法,在空间、时间、环境、保险程度方面达到了良好的协调,用户体验显著提高。
[0098]进一步,本发明提供的云盘文件同步方法,实现了云盘客户端和云盘服务端的文件同步。本发明实施例的云盘文件同步方法,在执行文件同步时,线计算同步任务,然后执行同步任务,从而减少服务请求次数,节省客户端和服务端的资源。本发明实施例的云盘文件同步方法,采用宿主云盘服务端和暂驻云盘服务端,从而当用户距离宿主云盘务端距离较远时,可选用任意一个距离较近的暂驻云盘服务端进行文件同步,因而可以显著提高文件同步效率,提高信号和文件传输速度,并进一步节省资源占用率。
[0099]所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
【权利要求】
1.一种云盘文件同步装置,其特征在于,包括设有操作系统的云盘客户端和云盘服务端;所述云盘客户端设有本地数据库、客户端文件同步处理器、同步文件集合、文件状态监控器;所述云盘服务端包括相互连接的服务端文件同步处理器和云端数据库,服务端文件同步处理器依据云盘客户端所发送的同步请求指令执行同步操作;客户端文件同步处理器分别与显示界面、文件系统、本地数据库、同步文件集合连接,文件状态监控器与文件系统、本地数据库和同步文件集合连接;云盘客户端通过客户端文件同步处理器与云盘服务端的服务端文件同步处理器连接;云盘客户端通过其操作系统的显示界面和操作系统的文件系统接收用户的操作指令;文件状态监控器触发文件同步,客户端同步文件处理器根据同步文件集合中记录的同步操作向服务端文件同步处理器发送文件同步请求指令,服务端文件同步处理器根据文件同步请求指令执行同步操作。
2.根据权利要求1所述的云盘文件同步装置,其特征在于,所述同步文件集合包括依据本地资源管理器文件创建的第一同步文件集合;所述云盘客户端和云盘服务端之间的文件实时同步触发后,若文件状态监控器监控到的用户操作时间超过设定阈值,所述客户端文件同步处理器根据用户对文件的操作计算同步任务,并将该同步任务存放于第四同步文件集合中;所述同步任务为同步操作执行时的依据。
3.根据权利要求1所述的云盘文件同步装置,其特征在于,所述同步文件集合包括依据本地资源管理器文件创建的第一同步文件集合、记录在本地数据库并在使用本地数据库的时候计算得到的第二同步文件集合、记录在云盘服务端数据库并在使用云盘服务端数据库的时候计算的第三同步文件集合以及记录了同步任务的第四同步文件集合;所述第四同步文件集合的同步任务计算所依据的因素包括所述第一同步文件集合、第二同步文件集合和第三同步文件集合。
4.根据权利要求1 所述的云盘文件同步装置,其特征在于,所述云盘服务端还包括宿主云盘服务端和暂驻云盘服务端;若所述云盘客户端与宿主云盘服务端在设定的规则之内,云盘客户端与宿主云盘服务端直接连接;若所述云盘客户端与宿主云盘服务端在设定的规则之外,云盘客户端与依据规则所计算的最优暂驻云盘服务端直接连接。
5.根据权利要求1所述的云盘文件同步装置,其特征在于,所述云盘客户端包括PC个人计算机客户端、或web网络客户端、或手机客户端。
6.—种云盘文件同步方法,其特征在于,米用权利要求1-5中任意一项所述的云盘文件同步装置进行文件同步,包括如下步骤: O云盘客户端的文件状态监控器监控到本地文件发生变化,触发同步操作; 2)云盘客户端的客户端文件同步处理器根据同步文件集合中的记录计算同步任务,并将计算结果存入第四同步文件集合中; 3)客户端文件同步处理器根据同步任务,向云盘服务端的服务端文件同步处理器发送同步请求指令; 4)服务端文件同步处理器与客户端文件同步处理器配合完成服务端与客户端的文件同步操作。
7.根据权利要求6所述的云盘文件同步方法,其特征在于,所述同步触发指令包括实时同步触发指令,计算同步任务的步骤执行之前,文件状态检测器监测到用户对文件操作完成,将用户的操作记录存入第一同步文件集合中;在执行计算同步任务的步骤时,若文件状态监测器监测到用户对文件的操作时间超过设定阈值,则根据同步文件集合中第一同步文件集合计算同步任务,并将计算结果存入同步文件集合的第四同步文件集合中;所述第一同步文件集合依据本地资源管理器文件创建;所述第四同步文件集合为记载同步任务的文件集合。
8.根据权利要求6所述的云盘文件同步方法,其特征在于,所述同步触发指令包括全盘同步触发指令;所述同步任务计算的步骤执行之前,客户端文件同步处理器获取根据本地文件系统资源管理器记录所创建的第一同步文件集合以及根据本地数据库记录所创建的第二同步文件集合,服务端文件同步处理器获取依据云端数据库所创建的第三同步文件集合; 在执行计算同步任务的步骤时,依据所述第一同步文件集合、第二同步文件集合和第三同步文件集合进行计算得到同步任务,并将同步任务记录在一个第四同步文件集合中。
9.根据权利要求6所述的云盘文件同步方法,其特征在于,所述同步触发指令包括选择同步触发指令,在云盘客户端的文件状态监控器监控到同步触发指令的步骤执行前,文件状态监测器接收待同步目标的选择信息; 所述同步任务计算的步骤执行之前,客户端文件同步处理器获取根据本地文件系统资源管理器记录所创建的第一同步文件集合以及根据本地数据库记录所创建的第二同步文件集合,服务端文件同步处理器获取依据云端数据库所创建的第三同步文件集合; 在执行计算同步任务的步骤时,依据所述第一同步文件集合、第二同步文件集合和第三同步文件集合进行计算得到同步任务,并将同步任务记录在一个第四同步文件集合中。
10.根据权利要求6所述的云盘文件同步方法,其特征在于,客户端文件同步处理器根据同步任务,向云盘服务端的服务端文件同步处理器发送同步请求指令时,若云盘客户端与宿主云盘服务端在设定的规则之内,则向宿主云盘服务端的服务端文件处理器发送同步请求指令; 若云盘客户端与宿主云盘服务端的在设定的规则范围之外,则向按照所述直接连接规则优选的暂驻云盘服务端的服务端文件处理器发送同步请求指令;并且在暂驻云盘服务端的服务端文件同步处理器根据同步请求指令对暂驻云盘服务端的云端数据库进行同步操作之后,暂驻云盘服务端的服务端文件同步处理器将同步操作信息发送到宿主云盘服务端的服务端文件同步处理器,宿主云盘服务端的服务端文件同步处理器对其云盘数据库执行同步操作。
【文档编号】H04L29/08GK103780675SQ201310675934
【公开日】2014年5月7日 申请日期:2013年12月11日 优先权日:2013年12月11日
【发明者】甘国华, 王东辉 申请人:北京荣之联科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1