一种文件分发同步方法及系统的制作方法

文档序号:7891420阅读:192来源:国知局
专利名称:一种文件分发同步方法及系统的制作方法
技术领域
本发明涉及数据保护技术,特别涉及一种文件分发同步方法及系统。
背景技术
图I为现有的文件对等同步的系统的结构示意图。现结合图1,对现有的文件对等同步的系统进行说明,具体如下现有的文件对等同步的系统包括示为台式计算机的第一机器102和示为膝上型或其他移动计算机的第二机器114,连接第一机器102和第二机器114的连接118可为有线、无线、光学或其他信道。 第一机器102可产生并提供诸如图形用户界面、命令线接口、语音激活或其它接口的用户接口 104来允许用户访问应用程序、文件、操作系统和其它资源。同步界面106可装设于第一机器102的操作系统中,同步界面106可向用户提供标识、激活和管理第一机器102与第二机器114间的同步时间的选择和选项。装设于第一机器102上的同步引擎108用于标识、存储和管理经同步文件集126,可与在第一机器102中维护的文件系统日志110通信以追踪并记录为经同步文件集126或其它中的同步或漫游所指定的文件、文件夹、目录、卷或其它内容或信息的状态。当第一机器102与第二机器114之间经由USB或无线连接建立连接时,第一机器102中的同步引擎108对第二机器114进行认证以确保适当开始文件同步;当已认证连接被验证时,第一机器102中的同步引擎108可启动自动文件漫游、镜像或同步活动。例如,第一机器102中的同步引擎108可访问经同步文件集126或文件系统日志110,以确定第一机器102上的哪些文件、文件夹、目录、卷或其他内容需要转移到第二机器114上,以及类似地,位于第二机器114上的哪些文件、文件夹、目录、卷或其它内容需要转移到第一机器102上,以在第一机器102与第二机器114之间维护一致或相容的文件集或其他信息集。现有的文件对等同步的系统中,当如第二机器114和第一机器102的需同步的机器数量较多时,如第二机器114的从服务器向如第一机器102的单一主服务器获取同步文件,作为主服务器的第一机器102的磁盘压力较大,同步性能较低,且在每次同步文件时都需要轮询文件系统中的所有文件,导致同步时间较长,同步失败率较高。

发明内容
有鉴于此,本发明的目的在于提供一种文件分发同步方法,该方法能够提高同步性能,降低同步失败率,缩短同步时间。本发明的目的在于提供一种文件分发同步系统,该系统能够提高同步性能,降低同步失败率,缩短同步时间。为达到上述目的,本发明的技术方案具体是这样实现的一种文件分发同步方法,该方法包括A、第一主服务器根据接收到的调用同步命令,获得服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器;B、第一主服务器生成同步矩阵模型,并根据同步矩阵模型,发送获取同步状态信息请求至第一级从服务器;C、第一主服务器根据来自第一级从服务器的同步状态信息,生成需同步文件,并推送至第一级从服务器;D、第一主服务器根据来自第一级从服务器的同步完成响应,推送同步矩阵模型至第一级从服务器; E、第i级从服务器从接收到的同步矩阵模型中截取其为主服务器的同步子矩阵模型,并利用来自与其连接的第i+Ι级从服务器的同步状态信息,生成需同步文件;F、第i级从服务器推送需同步文件及同步矩阵模型至第i+Ι级从服务器;所述N为大于I的自然数;所述i为大于或等于I且小于或等于N-I的自然数。上述方法中,所述服务器路由信息至少包含N级从服务器的IP地址、第一主服务器的IP地址及用以表示服务器间通信成本的权重值;所述文件同步信息至少包含来源路径、目标服务器的IP地址、目标路径及用以标识是否删除目标文件的标识信息;所述同步参数至少包含矩阵数;所述矩阵数为一台服务器需要同时同步的服务器的数量。较佳地,所述步骤F之后进一步包括G、第i级从服务器根据第i+Ι级从服务器完成同步的情况,发送同步矩阵模型执行响应至第一主服务器;H、第一主服务器根据同步矩阵模型执行响应,重新生成同步矩阵模型,修改保存的服务器路由信息包含的权重值;所述同步矩阵模型执行响应中至少包含已完成同步的从服务器的IP地址及同步完成情况;所述同步完成情况为同步成功信息或同步失败信息。上述方法中,步骤A所述确定需同步文件的来源路径及需同步的N级从服务器包括Al、从调用同步命令中获取外部输入的磁盘路径;A2、比较磁盘路径与文件同步信息包含的来源路径,在磁盘路径与来源路径相同、或磁盘路径比来源路径更具体时,将磁盘路径作为需同步文件的来源路径,在磁盘路径比来源路径更具体时,将来源路径作为需同步文件的来源路径,在磁盘路径与来源路径完全不相同时,结束文件同步;A3、根据文件同步信息包含的目标路径及目标服务器的IP地址,确定需同步的N级从服务器。上述方法中,所述生成同步矩阵模型包括BI、第一主服务器根据需同步的N级从服务器及服务器路由信息,获得需同步的N级从服务器间的连接关系;B2、第一主服务器根据需同步的N级从服务器间的连接关系,生成树形数据结构,并将其作为同步矩阵模型;所述树形数据结构包含一个父节点及多级子节点,一个父节点连接第一级子节点包含的多个子节点,每一级的每一个子节点连接至少一个下一级的子节点;所述父节点记载第一主服务器的IP地址及需同步文件的来源路径;所述子节点记载与其级数对应的从服务器的IP地址、目标文件路径及权重值。上述方法中,所述生成需同步文件包括Cl、根据同步状态信息确定目标路径下的目标文件信息;C2、将目标文件信息与需同步文件的来源路径下的原文件信息进行比较,在目标文件信息与原文件信息不完全相同时,将原文件作为需同步文件,在目标文件信息与原文件信息完全相同时,不进行同步;
所述目标文件信息至少包含目标文件名称、目标文件时间及目标文件大小;所述原文件信息至少包含原文件名称、原文件时间及原文件大小。上述方法中,步骤E所述从接收到的同步矩阵模型中截取其为主服务器的同步子矩阵模型包括E1、根据其IP地址,从接收到的同步矩阵模型中查找记载所述IP地址的子节点;E2、从同步矩阵模型中选择以步骤El所述的子节点作为父节点的树形数据结构作为同步子矩阵模型。一种文件分发同步系统,该系统包含第一主服务器及N级从服务器;所述N级从服务器中的第一级从服务器连接第一主服务器,且第i级从服务器连接至少一个第i+Ι级从服务器;所述第一主服务器根据接收到的调用同步命令,获得服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器,生成同步矩阵模型,并根据同步矩阵模型,从与其连接的第一级从服务器获取同步状态信息,生成需同步文件,推送需同步文件至第一级从服务器,且在第一级从服务器完成同步后,推送同步矩阵模型至第一级从服务器;所述第i级从服务器从同步矩阵模型中截取以其为主服务器的同步子矩阵模型,根据同步子矩阵模型,从与其连接的第i+Ι级从服务器获取同步状态信息,生成需同步文件,推送需同步文件及同步矩阵模型至第i+Ι级从服务器;所述N为大于I的自然数;所述i为大于或等于I且小于或等于N-I的自然数。上述系统中,所述服务器路由信息至少包含N级从服务器的IP地址、第一主服务器的IP地址及用以表示服务器间通信成本的权重值;所述文件同步信息至少包含来源路径、目标服务器的IP地址、目标路径及用以标识是否删除目标文件的标识信息;所述同步参数至少包含矩阵数;所述矩阵数为一台服务器需要同时同步的服务器数量。较佳地,所述第i级从服务器还根据第i + Ι级从服务器完成同步的情况,发送同步矩阵模型执行响应至第一主服务器;所述第一主服务器还根据同步矩阵模型执行响应,重新生成同步矩阵模型,修改保存的服务器路由信息包含的权重值;所述同步矩阵模型执行响应中至少包含已完成同步的从服务器的IP地址及同步完成情况;所述同步完成情况为同步成功信息或同步失败信息。
上述系统中,所述第一主服务器包含
存储模块,用以保存服务器路由信息、文件同步信息、同步参数及同步矩阵模型;第一同步控制模块,根据接收到的调用同步命令,从存储模块读取服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器,并发送至第一模型生成模块;根据从存储模块读取的同步矩阵模型,从与其连接的第一级从服务器获取同步状态信息,生成需同步文件,通过第一链接模块推送需同步文件及同步矩阵模型至第一级从服务器;第一模型生成模块,根据需同步文件的来源路径及需同步的N级从服务器,生成同步矩阵模型,写入存储模块;第一链接模块,与第一级从服务器建立连接。上述系统中,所述第i级从服务器包含同步执行模块,根据通过第二链接模块接收到的需同步文件,完成文件的同步,并发送同步完成响应至第一主服务器,将通过第二链接模块接收到的同步矩阵模型发送给第二模型生成模块;第二模型生成模块,根据第i级从服务器的IP地址,从同步矩阵模型中截取以第i级从服务器为主服务器的同步子矩阵模型,发送同步子矩阵模型至第二同步控制模块;第二同步控制模块,根据同步子矩阵模型,从与其连接的第i+Ι级从服务器中获取同步状态信息,生成需同步文件,通过第二链接模块推送需同步文件及同步子矩阵模型至第i+Ι级从服务器;第二链接模块,与第i-Ι级从服务器和第i+Ι级从服务器建立连接。由上述的技术方案可见,本发明提供了一种文件分发同步方法及系统,第一主服务器根据接收到的调用同步命令,获得服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器;第一主服务器生成同步矩阵模型,并根据同步矩阵模型,发送获取同步状态信息请求至第一级从服务器;第一主服务器根据来自第一级从服务器的同步状态信息,生成需同步文件,并推送至第一级从服务器;第一主服务器根据来自第一级从服务器的同步完成响应,推送同步矩阵模型至第一级从服务器;第i级从服务器从接收到的同步矩阵模型中截取其为主服务器的同步子矩阵模型,并利用来自与其连接的第i+Ι级从服务器的同步状态信息,生成需同步文件;第i级从服务器推送需同步文件及同步矩阵模型至第i+Ι级从服务器。采用本发明的方法及系统,能够提高同步性能,降低同步失败率,缩短同步时间。


图I为现有的文件对等同步的系统的结构示意图;图2为本发明文件分发同步方法的流程图;图3为本发明文件分发同步系统的结构示意图。
具体实施例方式为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明提供了一种文件分发同步方法及系统,第一主服务器根据N级从服务器生成包含N级从服务器的IP地址的同步矩阵模型,并在成功向第一级从服务器主动推送需同步文件后,推送生成的同步矩阵模型至第一级从服务器,第一级从服务器从同步矩阵模型中截取以其IP地址作为父节点的同步子矩阵模型,并根据同步子矩阵模型,采用与第一主服务器相同的方法,完成与其连接的下一级从服务器的文件的同步,第i级从服务器按照第一级从服务器的方法,对第i+Ι级从服务器进行文件同步,依次类推,完成N级从服务器的文件同步。图2为本发明文件分发同步方法的流程图。现结合图2,对本发明文件分发同步方法进行说明,具体如下步骤201 :第一主服务器接收调用同步命令;该步骤中的调用同步命令中可进一步携带有磁盘路径;其中,磁盘路径用以指示 第一主服务器上进行同步的原文件的存储位置。步骤202 :第一主服务器确定需同步文件的来源路径及需同步的N级从服务器;该步骤包括步骤2021,第一主服务器获得预先保存的服务器路由信息、文件同步信息及同步参数;步骤2022,第一主服务器将磁盘路径与文件同步信息包含的来源路径进行比较,在磁盘路径与来源路径相同、或磁盘路径比来源路径更具体时,将磁盘路径作为需同步文件的来源路径,在磁盘路径比来源路径更具体时,将来源路径作为需同步文件的来源路径,在磁盘路径与来源路径完全不相同时,结束文件同步;步骤2023,第一主服务器根据文件同步信息包含的目标路径及目标服务器的IP地址,确定需同步的N级从服务器。其中,服务器路由信息至少包含N级从服务器的IP地址、第一主服务器的IP地址及用以表示服务器间通信成本的权重值;文件同步信息至少包含来源路径、目标服务器的IP地址、目标路径及用以标识是否删除目标文件的标识信息;同步参数至少包含矩阵数;矩阵数为一台服务器需要同时同步的服务器的数量;来源路径为第一主服务器上需要同步的文件磁盘路径;目标路径为文件需要同步到从服务器上的磁盘路径;N为大于I的整数。在所述步骤2022中,磁盘路径比来源路径更具体,指代磁盘路径所指示的存储位置上的文件是来源路径所指示的存储位置上的文件夹下的文件或文件夹下的子文件夹中的文件,比如来源路径所指示的是磁盘C下的文件夹A,磁盘路径所指示的是磁盘C下的文件夹A下的文件B,此时,磁盘路径比来源路径更具体,若磁盘路径所指示的是磁盘C,则来源路径比磁盘路径更具体。步骤203 :第一主服务器生成同步矩阵模型;该步骤包括步骤2031 :第一主服务器根据需同步的N级从服务器及服务器路由信息,获得需同步的N级从服务器间的连接关系;步骤2032 :第一主服务器根据需同步的N级从服务器间的连接关系,生成树形数据结构,并将其作为同步矩阵模型。步骤2032中的树形数据结构包含一个父节点及多级子节点,一个父节点连接第一级子节点包含的多个子节点,每一级的每一个子节点连接至少一个下一级的子节点。其中,父节点记载第一主服务器的IP地址及需同步文件的来源路径;子节点记载与其级数对应的从服务器的IP地址、目标文件路径及权重值。比如,同步参数中的矩阵数为2,则父节点连接的第一级子节点包含2个子结点,第一级子节点中的每一个子节点连接第二级子节点,且其连接的第二级子节点包含4个子节点,每两个子节点连接同一个第一级子节点,以此类推、步骤204 :第一主服务器发 送获取同步文件信息请求至第一级从服务器;该步骤中的获取同步文件信息请求至少携带有目标服务器的IP地址及目标路径,以便第一级从服务器确定是否为其自身。步骤205 :第一级从服务器发送获取同步文件信息响应至第一主服务器;该步骤中,第一级从服务器根据目标服务器的IP地址确定为其自身,根据目标路径确定其指示的文件是否已被同步,并将已同步或未同步作为同步结果,携带在获取同步文件信息响应中,发送给第一主服务器。获取同步文件信息响应中还携带有目标路径下的目标文件信息;目标文件信息至少包含目标文件名称、目标文件时间及目标文件大小;目标文件时间可为目标文件的创建时间或最近一次的修改时间。步骤206 :第一主服务器生成需同步文件;该步骤包括步骤2061,第一主服务器根据同步状态信息,确定目标路径下的目标文件信息;步骤2062,第一主服务器将目标文件信息与需同步文件的来源路径下的原文件信息进行比较,在目标文件信息与原文件信息不完全相同时,将原文件作为需同步文件,在目标文件信息与原文件信息完全相同时,不进行同步。在步骤2062中,原文件信息至少包含原文件名称、原文件时间及原文件大小;原文件时间为原文件的创建时间或最近一次修改时间。在步骤2062中,比较目标文件信息和原文件信息,可对目标文件信息包含的内容及原文件信息包含的内容进行编码,在进行比较时,比较各编码相加的和是否完全相同,如果是,则证明目标文件信息和原文件信息完全相同,不需要同步,否则,证明目标文件信息和原文件信息不完全相同,需要同步。在步骤2062中,目标文件信息与原文件信息不完全相同指代目标文件名称、目标文件时间及目标文件大小中至少有一种信息与原文件的相应内容不同;步骤207 :第一主服务器推送需同步文件至第一级从服务器;该步骤中的推送为第一主服务器主动向第一级从服务器输出需同步文件;需同步文件为需同步文件的来源路径下的原文件。步骤208 :第一级从服务器发送同步完成响应至第一主服务器;该步骤中,第一级从服务器根据第一主服务器推送的需同步文件,对目标路径下的目标文件进行同步,且在成功完成文件同步后,发送同步完成响应至第一主服务器。步骤209 :第一主服务器推送同步矩阵模型至第一级从服务器;该步骤中的推送为第一主服务器主动输出同步矩阵模型至第一级从服务。步骤210 :第一级从服务器生成同步子矩阵模型;
该步骤中的第一级从服务器也可为第i级从服务器;i为大于或等于I且小于或等于N-I的整数。该步骤包括步骤2101,第一级从服务器根据其IP地址,从第一主服务器推送的同步矩阵模型中查找记载该IP地址的子节点;步骤2102,第一级从服务器从同步矩阵模型中选择以步骤2101的子节点作为父节点的树形数据结构作为同步子矩阵模型。
从步骤210开始,第一级从服务器按照同步子矩阵模型,将其自身作为主服务器,对与其连接的下一级从服务器上的文件进行同步。步骤211 :第一级从服务器发送获取同步文件信息请求至第i+Ι级从服务器;该步骤的第一级从服务器也可为第i级从服务器。该步骤可采用与步骤204相同的方法,在此不再赘述。步骤212 :第i+Ι级从服务器发送获取同步文件信息响应至第一级从服务器;该步骤的第一级从服务器也可为第i级从服务器。该步骤可采用与步骤205相同的方法,在此不再赘述。步骤213 :第一级从服务器生成需同步文件;该步骤的第一级从服务器也可为第i级从服务器。该步骤中的第一级从服务器生成需同步文件的方法与步骤206中第一主服务器生成需同步文件的方法相同,指示需同步文件的来源路径位于第一级从服务器上,而不再是第一主服务器上。步骤214 :第一级从服务器推送需同步文件至第i+Ι级从服务器;该步骤的第一级从服务器也可为第i级从服务器。该步骤与步骤207的方法相同,只是推送的主体为第一级从服务器,不再是第一主服务器,在此不再赘述。步骤215 :第i+Ι级从服务器发送同步完成响应至第一级从服务器;该步骤的第i+Ι级从服务器也可发送同步完成响应至第i级从服务器。该步骤与步骤208的方法相同,只是执行的主体为第i+Ι级从服务器,在此不再赘述。步骤216 :第一级从服务器发送同步矩阵模型执行响应至第一主服务器;该步骤中,第一级从服务器根据其下一级从服务器反馈的同步矩阵模型执行响应,将与其连接的下一级从服务器的同步完成情况,携带在同步矩阵模型执行响应中,发送至第一主服务器中。其中,同步矩阵模型执行响应中至少包含已完成同步的从服务器的IP地址及同步完成情况;同步完成情况为同步成功信息或同步失败信息。步骤217 :第一主服务器重新生成同步矩阵模型。该步骤包括步骤2171,第一主服务器根据同步完成情况,增加与同步失败信息对应的目标服务器的通信链路的权重值;步骤2172,第一主服务器将与同步成功信息对应的子节点从同步矩阵模型中删除,重新生成同步矩阵模型。步骤2172中的与同步成功信息对应的子节点为记录有与同步成功信息对应的目标服务器的IP地址的子节点。第i+Ι级从服务器控制第i+2级从服务器的文件分发同步的方法与步骤210至步骤215的第i级从服务器控制第i+Ι级从服务器的文件分发同步的方法相同,在此不再赘述。图3为本发明文件分发同步系统的结构示意图。现结合图3,对本发明文件分发同步系统进行说明,具体如下本发明的文件分发同步系统包含第一主服务器30及N级从服务器。其中,N级从服务器中的第一级从服务器31连接第一主服务器30,且第i级从服务器连接至少一个第 i+Ι级从服务器32。第一主服务器30根据接收到的调用同步命令,获得服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器,生成同步矩阵模型,并根据同步矩阵模型,从与其连接的第一级从服务器31获取同步状态信息,生成需同步文件,推送需同步文件至第一级从服务器31,且在第一级从服务器31完成同步后,推送同步矩阵模型至第一级从服务器31。第i级从服务器从同步矩阵模型中截取以其为主服务器的同步子矩阵模型,根据同步子矩阵模型,从与其连接的第i+Ι级从服务器32获取同步状态信息,生成需同步文件,推送需同步文件及同步矩阵模型至第i+Ι级从服务器32。其中,N为大于I的自然数;i为大于或等于I且小于或等于N-I的自然数;服务器路由信息至少包含N级从服务器的IP地址、第一主服务器的IP地址及用以表示服务器间通信成本的权重值;文件同步信息至少包含来源路径、目标服务器的IP地址、目标路径及用以标识是否删除目标文件的标识信息;同步参数至少包含矩阵数;矩阵数为一台服务器需要同时同步的服务器数量。优选地,第一主服务器30还将接收到的服务器路由信息、文件同步信息及同步参数进行保存。优选地,第i级从服务器还根据第i+Ι级从服务器32完成同步的情况,发送同步矩阵模型执行响应至第一主服务器30 ;第一主服务器30还根据同步矩阵模型执行响应,重新生成同步矩阵模型,修改保存的服务器路由信息包含的权重值。其中,同步矩阵模型执行响应中至少包含已完成同步的从服务器的IP地址及同步完成情况;同步完成情况为同步成功信息或同步失败信息。其中,第一主服务器30包含存储模块301、第一同步控制模块302、第一模型生成模块303和第一链接模块304。存储模块301用以保存服务器路由信息、文件同步信息、同步参数及同步矩阵模型。第一同步控制模块302根据接收到的调用同步命令,从存储模块301读取服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器,并发送至第一模型生成模块303 ;根据从存储模块301读取的同步矩阵模型,从与其连接的第一级从服务器31获取同步状态信息,生成需同步文件,通过第一链接模块304推送需同步文件及同步矩阵模型至第一级从服务器31第一模型生成模块303根据需同步文件的来源路径及需同步的N级从服务器,生成同步矩阵模型,写入存储模块301。第一链接模块304与第一级从服务器31建立连接。其中,第i级从服务器包含同步执行模块311、第二模型生成模块312、第二同步控制模块313及第二链接模块314。同步执行模块311根据通过第二链接模块314接收到的需同步文件,完成文件的同步,并通过第二连接模块314发送同步完成响应至第一主服务器30,将通过第二链接模块314接收到的同步矩阵模型发送给第二模型生成模块312。第二模型生成模块312根据第i级从服务器的IP地址,从同步矩阵模型中截取以第i级从服务器为主服务器的同步子矩阵模型,发送同步子矩阵模型至第二同步控制模块313。第二同步控制模块313根据同步子矩阵模型,从与其连接的第i+Ι级从服务器32中获取同步状态信息,生成需同步文件,通过第二链接模块314推送需同步文件及同步子矩阵模型至第i+Ι级从服务器32。第二链接模块314与第i-Ι级从服务器和第i+Ι级从服务器32建立连接。本发明的上述较佳实施例中,文件分发同步不再由主服务器一个机器进行控制和执行,而是由第一主服务器和N级从服务器都可作为控制和执行文件分发同步的主服务器,N级从服务器为第一主服务器分担了部分文件分发同步任务,降低了第一主服务器的磁盘压力,提高了同步性能;另外,本发明在进行文件分发同步时,不再轮询文件系统中的所有文件,根据来源路径和目标路径确定需要同步文件,缩短了同步时间,提高了同步成功率。以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
权利要求
1.一种文件分发同步方法,其特征在于,该方法包括A、第一主服务器根据接收到的调用同步命令,获得服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器;B、第一主服务器生成同步矩阵模型,并根据同步矩阵模型,发送获取同步状态信息请求至第一级从服务器;C、第一主服务器根据来自第一级从服务器的同步状态信息,生成需同步文件,并推送至第一级从服务器;D、第一主服务器根据来自第一级从服务器的同步完成响应,推送同步矩阵模型至第一级从服务器;E、第i级从服务器从接收到的同步矩阵模型中截取其为主服务器的同步子矩阵模型,并利用来自与其连接的第i+Ι级从服务器的同步状态信息,生成需同步文件;F、第i级从服务器推送需同步文件及同步矩阵模型至第i+Ι级从服务器;所述N为大于I的自然数;所述i为大于或等于I且小于或等于N-I的自然数。
2.根据权利要求I所述的方法,其特征在于,所述服务器路由信息至少包含N级从服务器的IP地址、第一主服务器的IP地址及用以表示服务器间通信成本的权重值;所述文件同步信息至少包含来源路径、目标服务器的IP地址、目标路径及用以标识是否删除目标文件的标识信息;所述同步参数至少包含矩阵数;所述矩阵数为一台服务器需要同时同步的服务器的数量。
3.根据权利要求2所述的方法,其特征在于,所述步骤F之后进一步包括G、第i级从服务器根据第i+Ι级从服务器完成同步的情况,发送同步矩阵模型执行响应至第一主服务器;H、第一主服务器根据同步矩阵模型执行响应,重新生成同步矩阵模型,修改保存的服务器路由信息包含的权重值;所述同步矩阵模型执行响应中至少包含已完成同步的从服务器的IP地址及同步完成情况;所述同步完成情况为同步成功信息或同步失败信息。
4.根据权利要求2或3所述的方法,其特征在于,步骤A所述确定需同步文件的来源路径及需同步的N级从服务器包括Al、从调用同步命令中获取外部输入的磁盘路径;A2、比较磁盘路径与文件同步信息包含的来源路径,在磁盘路径与来源路径相同、或磁盘路径比来源路径更具体时,将磁盘路径作为需同步文件的来源路径,在磁盘路径比来源路径更具体时,将来源路径作为需同步文件的来源路径,在磁盘路径与来源路径完全不相同时,结束文件同步;A3、根据文件同步信息包含的目标路径及目标服务器的IP地址,确定需同步的N级从服务器。
5.根据权利要求2或3所述的方法,其特征在于,所述生成同步矩阵模型包括BI、第一主服务器根据需同步的N级从服务器及服务器路由信息,获得需同步的N级从服务器间的连接关系;B2、第一主服务器根据需同步的N级从服务器间的连接关系,生成树形数据结构,并将其作为同步矩阵模型; 所述树形数据结构包含一个父节点及多级子节点,一个父节点连接第一级子节点包含的多个子节点,每一级的每一个子节点连接至少一个下一级的子节点;所述父节点记载第一主服务器的IP地址及需同步文件的来源路径;所述子节点记载与其级数对应的从服务器的IP地址、目标文件路径及权重值。
6.根据权利要求2或3所述的方法,其特征在于,所述生成需同步文件包括 Cl、根据同步状态信息确定目标路径下的目标文件信息; C2、将目标文件信息与需同步文件的来源路径下的原文件信息进行比较,在目标文件信息与原文件信息不完全相同时,将原文件作为需同步文件,在目标文件信息与原文件信息完全相同时,不进行同步; 所述目标文件信息至少包含目标文件名称、目标文件时间及目标文件大小;所述原文件信息至少包含原文件名称、原文件时间及原文件大小。
7.根据权利要求5所述的方法,其特征在于,步骤E所述从接收到的同步矩阵模型中截取其为主服务器的同步子矩阵模型包括 E1、根据其IP地址,从接收到的同步矩阵模型中查找记载所述IP地址的子节点; E2、从同步矩阵模型中选择以步骤El所述的子节点作为父节点的树形数据结构作为同步子矩阵模型。
8.一种文件分发同步系统,其特征在于,该系统包含第一主服务器及N级从服务器; 所述N级从服务器中的第一级从服务器连接第一主服务器,且第i级从服务器连接至少一个第i+1级从服务器; 所述第一主服务器根据接收到的调用同步命令,获得服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器,生成同步矩阵模型,并根据同步矩阵模型,从与其连接的第一级从服务器获取同步状态信息,生成需同步文件,推送需同步文件至第一级从服务器,且在第一级从服务器完成同步后,推送同步矩阵模型至第一级从服务器; 所述第i级从服务器从同步矩阵模型中截取以其为主服务器的同步子矩阵模型,根据同步子矩阵模型,从与其连接的第i+1级从服务器获取同步状态信息,生成需同步文件,推送需同步文件及同步矩阵模型至第i+1级从服务器; 所述N为大于I的自然数;所述i为大于或等于I且小于或等于N-I的自然数。
9.根据权利要求8所述的系统,其特征在于,所述服务器路由信息至少包含N级从服务器的IP地址、第一主服务器的IP地址及用以表示服务器间通信成本的权重值; 所述文件同步信息至少包含来源路径、目标服务器的IP地址、目标路径及用以标识是否删除目标文件的标识信息; 所述同步参数至少包含矩阵数;所述矩阵数为一台服务器需要同时同步的服务器数量。
10.根据权利要求8所述的系统,其特征在于,所述第i级从服务器还根据第i+1级从服务器完成同步的情况,发送同步矩阵模型执行响应至第一主服务器; 所述第一主服务器还根据同步矩阵模型执行响应,重新生成同步矩阵模型,修改保存的服务器路由信息包含的权重值;所述同步矩阵模型执行响应中至少包含已完成同步的从服务器的IP地址及同步完成情況;所述同步完成情况为同步成功信息或同步失败信息。
11.根据权利要求9所述的系统,其特征在于,所述第一主服务器包含 存储模块,用以保存服务器路由信息、文件同步信息、同步參数及同步矩阵模型; 第一同步控制模块,根据接收到的调用同步命令,从存储模块读取服务器路由信息、文件同步信息及同步參数,确定需同步文件的来源路径及需同步的N级从服务器,并发送至第一模型生成模块;根据从存储模块读取的同步矩阵模型,从与其连接的第一级从服务器获取同步状态信息,生成需同步文件,通过第一链接模块推送需同步文件及同步矩阵模型至第一级从服务器; 第一模型生成模块,根据需同步文件的来源路径及需同步的N级从服务器,生成同步矩阵模型,写入存储模块; 第一链接模块,与第一级从服务器建立连接。
12.根据权利要求9所述的系统,其特征在于,所述第i级从服务器包含 同步执行模块,根据通过第二链接模块接收到的需同步文件,完成文件的同步,并发送同步完成响应至第一主服务器,将通过第二链接模块接收到的同步矩阵模型发送给第二模型生成模块; 第二模型生成模块,根据第i级从服务器的IP地址,从同步矩阵模型中截取以第i级从服务器为主服务器的同步子矩阵模型,发送同步子矩阵模型至第二同步控制模块; 第二同步控制模块,根据同步子矩阵模型,从与其连接的第i+Ι级从服务器中获取同步状态信息,生成需同步文件,通过第二链接模块推送需同步文件及同步子矩阵模型至第i+Ι级从服务器; 第二链接模块,与第i_l级从服务器和第i+Ι级从服务器建立连接。
全文摘要
本发明提供了一种文件分发同步方法及系统,第一主服务器根据调用同步命令,获得服务器路由信息、文件同步信息及同步参数,确定需同步文件的来源路径及需同步的N级从服务器;第一主服务器生成同步矩阵模型,发送获取同步状态信息请求至第一级从服务器;第一主服务器根据同步状态信息,生成需同步文件并推送至第一级从服务器;第一主服务器根据同步完成响应,推送同步矩阵模型至第一级从服务器;第i级从服务器从同步矩阵模型中截取其为主服务器的同步子矩阵模型,并利用同步状态信息生成需同步文件;第i级从服务器推送需同步文件及同步矩阵模型至第i+1级从服务器。采用本发明的方法及系统,能够提高同步性能,降低同步失败率,缩短同步时间。
文档编号H04L29/08GK102638569SQ20121006525
公开日2012年8月15日 申请日期2012年1月13日 优先权日2012年1月13日
发明者张汉辉 申请人:深圳市同洲视讯传媒有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1