1.一种多终端文件间的文件同步方法,其特征在于,包括:步骤1,用户在一终端对文件进行操作后,该终端将更新后的终端文件元数据发送给服务器;步骤2,所述服务器查询并获得本地服务器文件元数据,并将其与所述更新后的终端文件元数据进行比较,检测文件的同步冲突,确定修改、添加和删除的文件集合,从而计算得出更新操作;步骤3,所述服务器根据所述更新操作调整文件属性、更新服务器文件元数据;步骤4,另一终端向所述服务器发送获取文件元数据的请求;步骤5,所述服务器查询并获得更新后的服务器文件元数据,并将其发送给该另一终端;步骤6,所述另一终端查询并获得本地终端文件元数据,并将其与接收的所述更新后的服务器文件元数据进行比较,检测文件的同步冲突,确定修改、添加和删除的文件集合,从而计算得出同步操作;步骤7,所述另一终端执行所述同步操作,并根据执行结果调整同步后的文件属性、更新本地的终端元数据信息;其中,所述终端文件元数据或服务器文件元数据均包括:文件路径、文件指纹、向量时钟、文件删除信息。
2.如权利要求1所述的多终端文件间的文件同步方法,其特征在于,所述文件路径用以标识文件在同步目录中的位置;所述文件指纹用以产生文件内容的信息摘要;所述向量时钟用以解决文件同步过程中的文件一致性;所述文件删除信息包括显式的文件删除信息和隐式的文件删除信息,用以表示文件是否处于已删除的状态。
3.如权利要求2所述的多终端文件间的文件同步方法,其特征在于,根据所述文件路径来检测服务器或者其它终端设备对文件进行的添加和删除操作;根据所述向量时钟检测服务器或其它终端设备对文件修改操作以及检测文件同步冲突。
4.如权利要求1所述的多终端文件间的文件同步方法,其特征在于,所述步骤2中:假设更新后的终端文件元数据为A,本地服务器元数据为B,遍历A,B,若某一文件f在A中存在,在B中不存在,则生成添加文件元数据操作和添加文件操作;若某一文件f在A、B中同时存在,则比较向量时钟,若f小于或等于f’,则f为f’的历史修改版本或f未修改,不生成任何操作;若f大于f’,则f至少被修改过一次,生成更新文件元数据操作,并通过比较文件指纹对文件更新进行优化,如果文件指纹相同说明f至少被修改过一次,且修改过后的内容相同,不进行处理,如果文件指纹不相同,说明若f与f’发生冲突,则进行文件冲突处理;若某一文件f在A中不存在,在B存在,则生成删除文件元数据操作和删除文件操作。
5.如权利要求1所述的多终端文件间的文件同步方法,其特征在于,所述步骤6中:假设更新后的服务器文件元数据为M,本地服务器元数据为N,遍历M、N,若某一文件f在M中存在,在N中不存在,则生成添加文件元数据操作和添加文件操作;若某一文件f在M、N中同时存在,则比较向量时钟,若f小于或等于f’,则f为f’的历史修改版本或f未修改,不生成任何操作;若f大于f’,则f至少被修改过一次,生成更新文件元数据操作,并通过比较文件指纹对文件更新进行优化,如果文件指纹相同说明f至少被修改过一次,且修改过后的内容相同,不进行处理,如果文件指纹不相同,说明若f与f’发生冲突,则进行文件冲突处理;若某一文件f在M中不存在,在N存在,则生成删除文件元数据操作和删除文件操作。
6.一种多终端文件间的文件同步系统,其特征在于,包括:第一发送模块,用户在一终端对文件进行操作后,该终端将更新后的终端文件元数据发送给服务器;服务器比较模块,所述服务器查询并获得本地服务器文件元数据,并将其与所述更新后的终端文件元数据进行比较,检测文件的同步冲突,确定修改、添加和删除的文件集合,从而计算得出更新操作;服务器同步模块,所述服务器根据所述更新操作调整文件属性、更新服务器文件元数据;第二发送模块,另一终端向所述服务器发送获取文件元数据的请求;服务器发送模块,所述服务器查询并获得更新后的服务器文件元数据,并将其发送给该另一终端;终端比较模块,所述另一终端查询并获得本地终端文件元数据,并将其与接收的所述更新后的服务器文件元数据进行比较,检测文件的同步冲突,确定修改、添加和删除的文件集合,从而计算得出同步操作;终端更新模块,所述另一终端执行所述同步操作,并根据执行结果调整同步后的文件属性、更新本地的终端元数据信息;其中,所述终端文件元数据或服务器文件元数据均包括:文件路径、文件指纹、向量时钟、文件删除信息。
7.如权利要求6所述的多终端文件间的文件同步系统,其特征在于,所述文件路径用以标识文件在同步目录中的位置;所述文件指纹用以产生文件内容的信息摘要;所述向量时钟用以解决文件同步过程中的文件一致性;所述文件删除信息包括显式的文件删除信息和隐式的文件删除信息,用以表示文件是否处于已删除的状态。
8.如权利要求7所述的多终端文件间的文件同步系统,其特征在于,根据所述文件路径来检测服务器或者其它终端设备对文件进行的添加和删除操作;根据所述向量时钟检测服务器或其它终端设备对文件修改操作以及检测文件同步冲突。
9.如权利要求6所述的多终端文件间的文件同步系统,其特征在于,所述服务器比较模块中:假设更新后的终端文件元数据为A,本地服务器元数据为B,遍历A,B,若某一文件f在A中存在,在B中不存在,则生成添加文件元数据操作和添加文件操作;若某一文件f在A、B中同时存在,则比较向量时钟,若f小于或等于f’,则f为f’的历史修改版本或f未修改,不生成任何操作;若f大于f’,则f至少被修改过一次,生成更新文件元数据操作,并通过比较文件指纹对文件更新进行优化,如果文件指纹相同说明f至少被修改过一次,且修改过后的内容相同,不进行处理,如果文件指纹不相同,说明若f与f’发生冲突,则进行文件冲突处理;若某一文件f在A中不存在,在B存在,则生成删除文件元数据操作和删除文件操作。
10.如权利要求6所述的多终端文件间的文件同步系统,其特征在于,所述终端比较模块中:假设更新后的服务器文件元数据为M,本地服务器元数据为N,遍历M、N,若某一文件f在M中存在,在N中不存在,则生成添加文件元数据操作和添加文件操作;若某一文件f在M、N中同时存在,则比较向量时钟,若f小于或等于f’,则f为f’的历史修改版本或f未修改,不生成任何操作;若f大于f’,则f至少被修改过一次,生成更新文件元数据操作,并通过比较文件指纹对文件更新进行优化,如果文件指纹相同说明f至少被修改过一次,且修改过后的内容相同,不进行处理,如果文件指纹不相同,说明若f与f’发生冲突,则进行文件冲突处理;若某一文件f在M中不存在,在N存在,则生成删除文件元数据操作和删除文件操作。
展开