一种数据同步方法、更新方法及装置制造方法及图纸

技术编号:15334853 阅读:85 留言:0更新日期:2017-05-16 21:52
本申请公开了一种数据同步方法、更新方法及装置。本申请实施例中,网络侧接收到客户端设备发送的数据同步请求后,获取网络侧存储的对应的文件树,确定需要待同步给客户端设备的节点,并客户端设备发送数据同步命令,使客户端设备根据该数据同步命令进行数据同步。由于每次进行文件树同步时需要针对网络侧存储的文件树确定待同步给客户端设备的节点,而非将该文件树的全部节点同步给客户端设备,因此可以提高数据同步效率。

【技术实现步骤摘要】
一种数据同步方法、更新方法及装置
本申请涉及通信
,尤其涉及一种数据同步方法、更新方法及装置。
技术介绍
网络存储或者称云存储技术近年来发展迅速。网络存储技术一方面为客户端设备的本地文件提供网络存储功能,另一方面可以实现多客户端设备、多存储设备或者多平台储存数据的自动同步功能。用户的文件以树状形式存储在服务器端,其它客户端设备与服务端通信,获取或者提交文件树的变化,实现各客户端设备与服务器之间的文件同步,省去了用户在各个客户端设备之间对比和拷贝文件的过程,为移动时代用户的文件存储需求提供了方便。典型的同步流程为:客户端设备A的本地文件树发生变化后,提交变化信息到服务器,实现到客户端设备A与服务端数据一致;客户端设备B感知并获取到服务器端的变化信息,将客户端设备B的本地文件树同步为与服务器端一致。同步完成后,客户端设备A与客户端设备B的文件树结构达到一致。申请内容本申请实施例提供一种数据同步方法及装置,用以根据文件树上待同步给客户端设备的节点实现文件树更新。本申请实施例提供的数据同步方法,包括:接收客户端设备发送的数据同步请求,所述数据同步请求中包括文件树索引信息;根据所述文件树索引信息,获取网络侧存储的与所述文件树索引信息对应的第一文件树;确定所述第一文件树上待同步给所述客户端设备的节点,一个文件树中除根节点以外的每个节点对应的一个文件或文件夹;根据确定出的待同步给所述客户端设备的节点,向所述客户端设备发送数据同步命令,所述数据同步命令用于指示所述客户端设备对所述客户端设备存储的与所述文件树索引信息对应的第二文件树进行更新。优选地,所述确定所述第一文件树上待同步给所述客户端设备的节点,包括:确定数据同步方式,所确定的数据同步方式包括全量更新或差量更新;根据确定的同步方式,确定所述第一文件树上待同步给所述客户端设备的节点。优选地,所述数据同步请求中还包括与所述文件树索引信息对应的第二文件树的版本号;所述第一文件树以及所述第二文件树中,根节点的版本号与除根节点以外的其它所有节点中的最大版本号相同,文件树的版本号与该文件树的根节点的版本号相同;当文件树中的一个节点更新时,该节点的版本号递增。优选地,所述确定数据同步方式,包括:确定所述第一文件树中的有效节点数,其中,一个文件树上的有效节点是指该文件树上除被标记为已删除节点之外的所有节点;确定所述第一文件树与所述第二文件树的差量节点数,其中,所述第一文件树与所述第二文件树的差量节点是指所述第一文件树上版本号大于所述第二文件树的版本号的节点;若所述差量节点数大于或等于所述有效节点数的n倍,则确定采用全量更新,否则确定采用差量更新,n≥1。优选地,所述数据同步请求中还包括同步方式指示信息,所述同步方式指示信息所指示的同步方式包括全量更新或差量更新;所述确定数据同步方式,包括:根据所述数据同步请求中包括的同步方式指示信息,确定数据同步方式。优选地,若所述同步方式指示信息为全量更新指示信息,则所述全量更新指示信息是所述客户端设备在根据接收到的数据同步命令进行文件树同步操作失败后,携带于所述数据同步请求中的。优选地,所述根据确定的同步方式,确定所述第一文件树上待同步给所述客户端设备的节点,包括:若确定出的同步方式为全量更新,则将所述第一文件树上的有效节点确定为待同步给所述客户端设备的节点;其中,一个文件树上的有效节点是指该文件树上除被标记为已删除节点之外的所有节点;或者若确定出的同步方式为差量更新,则将所述第一文件树与所述第二文件树的差量节点确定为待同步给所述客户端设备的节点,其中,所述第一文件树与所述第二文件树的差量节点是指所述第一文件树上版本号大于所述第二文件树的版本号的节点。优选地,所述向所述客户端设备发送数据同步命令,包括:根据确定出的所述第一文件树上待同步给所述客户端设备的节点,以及分页大小参数,确定总分页页数,以及每页对应的节点的更新信息;其中,所述分页大小参数用节点数量表示,一个分页对应的节点数量等于所述分页大小参数;根据分页顺序,向所述客户端设备发送数据同步命令,其中携带当前分页对应的节点的更新信息、当前分页的页号以及总分页页数。其中,根据分页顺序,向所述客户端设备发送数据同步命令之后,还包括:接收所述客户端设备再次发送的数据同步请求,其中携带有所请求的分页的页号;根据所述客户端设备再次发送的数据同步请求中携带的分页页号,获取对应分页所对应的节点的更新信息;向所述客户端设备发送数据同步命令,其中携带有当前分页对应的节点的更新信息、当前分页的页号以及总分页页数。优选地,若在向所述客户端设备发送数据同步命令后,所述第一文件树的版本号发生更新,则还包括:将更新后的所述第一文件树上,版本号大于所述第一文件树更新前的版本号的节点的更新信息,发送给所述客户端设备;或者向所述客户端设备发送通知消息,所述通知消息用于通知所述第一文件树的版本号发生更新并征询所述客户端设备是否发起数据同步请求;其中,所述通知消息中包括所述第一文件树更新后的版本号。本申请实施例还提供了一种数据同步装置,包括:接收模块,用于接收客户端设备发送的数据同步请求,所述数据同步请求中包括文件树索引信息;获取模块,用于根据所述文件树索引信息,获取网络侧存储的与所述文件树索引信息对应的第一文件树;确定模块,用于确定所述第一文件树上待同步给所述客户端设备的节点,一个文件树中除根节点以外的每个节点对应的一个文件或文件夹;发送模块,用于根据确定出的待同步给所述客户端设备的节点,向所述客户端设备发送数据同步命令,所述数据同步命令用于指示所述客户端设备对所述客户端设备存储的与所述文件树索引信息对应的第二文件树进行更新。优选地,所述确定模块具体用于:确定数据同步方式,所确定的数据同步方式包括全量更新或差量更新;根据确定的同步方式,确定所述第一文件树上待同步给所述客户端设备的节点。其中,所述数据同步请求中还包括与所述文件树索引信息对应的第二文件树的版本号;所述第一文件树以及所述第二文件树中,根节点的版本号与除根节点以外的其它所有节点中的最大版本号相同,文件树的版本号与该文件树的根节点的版本号相同;当文件树中的一个节点更新时,该节点的版本号递增。优选地,所述确定模块具体用于:确定所述第一文件树中的有效节点数,其中,一个文件树上的有效节点是指该文件树上除被标记为已删除节点之外的所有节点;确定所述第一文件树与所述第二文件树的差量节点数,其中,所述第一文件树与所述第二文件树的差量节点是指所述第一文件树上版本号大于所述第二文件树的版本号的节点;若所述差量节点数大于或等于所述有效节点数的n倍,则确定采用全量更新,否则确定采用差量更新,n≥1。本申请实施例中,网络侧接收到客户端设备发送的数据同步请求后,获取网络侧存储的对应的文件树,确定该网络侧存储的文件树上需要待同步给客户端设备的节点,并向客户端设备发送数据同步命令,使客户端设备根据该数据同步命令进行数据同步。与每次文件树同步时将文件树的全部节点发送给客户端进行同步更新相比,可以提高数据同步效率。本申请实施例还提供一种数据更新方法及装置,用以实现基于文件树的数据更新。本实施例提供的数据更新方法,包括:接收数据同步命令,所述数据同步命令中包括文本文档来自技高网...
一种数据同步方法、更新方法及装置

【技术保护点】
一种数据同步方法,其特征在于,包括:接收客户端设备发送的数据同步请求,所述数据同步请求中包括文件树索引信息;根据所述文件树索引信息,获取网络侧存储的与所述文件树索引信息对应的第一文件树;确定所述第一文件树上待同步给所述客户端设备的节点,一个文件树中除根节点以外的每个节点对应的一个文件或文件夹;根据确定出的待同步给所述客户端设备的节点,向所述客户端设备发送数据同步命令,所述数据同步命令用于指示所述客户端设备对所述客户端设备存储的与所述文件树索引信息对应的第二文件树进行更新。

【技术特征摘要】
1.一种数据同步方法,其特征在于,包括:接收客户端设备发送的数据同步请求,所述数据同步请求中包括文件树索引信息;根据所述文件树索引信息,获取网络侧存储的与所述文件树索引信息对应的第一文件树;确定所述第一文件树上待同步给所述客户端设备的节点,一个文件树中除根节点以外的每个节点对应的一个文件或文件夹;根据确定出的待同步给所述客户端设备的节点,向所述客户端设备发送数据同步命令,所述数据同步命令用于指示所述客户端设备对所述客户端设备存储的与所述文件树索引信息对应的第二文件树进行更新。2.如权利要求1所述的方法,其特征在于,所述确定所述第一文件树上待同步给所述客户端设备的节点,包括:确定数据同步方式,所确定的数据同步方式包括全量更新或差量更新;根据确定的同步方式,确定所述第一文件树上待同步给所述客户端设备的节点。3.如权利要求2所述的方法,其特征在于,所述确定数据同步方式,包括:确定所述第一文件树中的有效节点数,其中,一个文件树上的有效节点是指该文件树上除被标记为已删除节点之外的所有节点;确定所述第一文件树与所述第二文件树的差量节点数,其中,所述第一文件树与所述第二文件树的差量节点是指所述第一文件树上版本号大于所述第二文件树的版本号的节点;若所述差量节点数大于或等于所述有效节点数的n倍,则确定采用全量更新,否则确定采用差量更新,n≥1。4.如权利要求3所述的方法,其特征在于,所述数据同步请求中还包括同步方式指示信息,所述同步方式指示信息所指示的同步方式包括全量更新或差量更新;所述确定数据同步方式,包括:根据所述数据同步请求中包括的同步方式指示信息,确定数据同步方式。5.如权利要求4所述的方法,其特征在于,若所述同步方式指示信息为全量更新指示信息,则所述全量更新指示信息是所述客户端设备在根据接收到的数据同步命令进行文件树同步操作失败后,携带于所述数据同步请求中的。6.如权利要求2至5中任一项所述的方法,其特征在于,所述根据确定的同步方式,确定所述第一文件树上待同步给所述客户端设备的节点,包括:若确定出的同步方式为全量更新,则将所述第一文件树上的有效节点确定为待同步给所述客户端设备的节点;其中,一个文件树上的有效节点是指该文件树上除被标记为已删除节点之外的所有节点;或者若确定出的同步方式为差量更新,则将所述第一文件树与所述第二文件树的差量节点确定为待同步给所述客户端设备的节点,其中,所述第一文件树与所述第二文件树的差量节点是指所述第一文件树上版本号大于所述第二文件树的版本号的节点。7.如权利要求2至5中任一项所述的方法,其特征在于,所述向所述客户端设备发送数据同步命令,包括:根据确定出的所述第一文件树上待同步给所述客户端设备的节点,以及分页大小参数,确定总分页页数,以及每页对应的节点的更新信息;其中,所述分页大小参数用节点数量表示,一个分页对应的节点数量等于所述分页大小参数;根据分页顺序,向所述客户端设备发送数据同步命令,其中携带当前分页对应的节点的更新信息、当前分页的页号以及总分页页数。8.如权利要求7所述的方法,其特征在于,根据分页顺序,向所述客户端设备发送数据同步命令之后,还包括:接收所述客户端设备再次发送的数据同步请求,其中携带有所请求的分页的页号;根据所述客户端设备再次发送的数据同步请求中携带的分页页号,获取对应分页所对应的节点的更新信息;向所述客户端设备发送数据同步命令,其中携带有当前分页对应的节点的更新信息、当前分页的页号以及总分页页数。9.如权利要求1所述的方法,其特征在于,若在向所述客户端设备发送数据同步命令后,所述第一文件树的版本号发生更新,则还包括:将更新后的所述第一文件树上,版本号大于所述第一文件树更新前的版本号的节点的更新信息,发送给所述客户端设备;或者向所述客户端设备发送通知消息,所述通知消息用于通知所述第一文件树的版本号发生更新并征询所述客户端设备是否发起数据同步请求;其中,所述通知消息中包括所述第一文件树更新后的版本号。10.如权利要求1至5、9中任一项所述的方法,其特征在于,所述数据同步请求中还包括与所述文件树索引信息对应的第二文件树的版本号;所述第一文件树以及所述第二文件树中,根节点的版本号与除根节点以外的其它所有节点中的最大版本号相同,文件树的版本号与该文件树的根节点的版本号相同;当文件树中的一个节点更新时,该节点的版本号递增。11.一种数据更新方法,其特征在于,包括:接收数据同步命令,所述数据同步命令中包括文件树索引信息以及节点的更新信息;其中,一个文件树中除根节点以外的每个节点对应一个文件或文件夹;根据所述文件树索引信息,获取对应的待同步的文件树;根据所述数据同步命令中包括的节点的更新信息,更新所述待同步的文件树;其中,一个文件树中,根节点的版本号与除根节点以外的其他所有节点中的最大版本号相同,文件树的版本号与该文件树的根节点的版本号相同,当文件树中的一个节点更新时,该节点的版本号递增。12.如权利要求11所述的方法,其特征在于,所述节点的更新信息包括:待修改文件名称的节点的在文件树中的位置信息以及修改后的文件名;所述更新所述待同步的文件树,包括:根据所述待修改文件名称的节点的位置信息,将所述待同步的文件树上相应节点的版本号加1,并更新该文件树的版本号;根据修改后的文件名称,更新节点与文件的关联关系中所述待修改文件名称的节点所对应的文件的名称。13.如权利要求11所述的方法,其特征在于,所述节点的更新信息包括:待修改文件夹名称的节点在文件树中的位置信息以及修改后的文件夹名称;所述更新所述待同步的文件树,包括:根据所述待修改文件夹名称的节点的位置信息,将所述待同步的文件树上相应节点的版本号加1;若所述待修改文件夹名称的节点下包含子节点,则分别更新所述待修改文件夹名称的节点下的所有子节点的版本号;其中,对于每个子节点,更新该子节点的版本号时,在该子节点当前的版本号上加上该子节点的父节点的版本差,所述父节点的版本差为该父节点更新后的版本号与更新前的版本号之差;更新所述待同步的文件树的版本号;根据修改后的文件夹名称,更新节点与文件夹的关联关系中,所述待修改文件夹名称的节点所对应的文件夹的名称。14.如权利要求11所述的方法,其特征在于,所述节点的更新信息包括:待删除的节点在文件树中的位置信息;所述更新待同步的文件树,包括:根据所述待删除的节点的位置信息,在所述待同步的文件树上将相应节点标记为删除;将所述被标记为删除的节点的版本号加1,并更新所述待同步的文件树的版本号。15.如权利要求11所述的方法,其特征在于,所述节点的更新信息包括:待删除的节点在文件树中的位置信息;所述更新所述待同步的文件树,包括:根据所述待删除的节点的位置信息,在所述待同步的文件树上将相应节点标记为删除,以及将所述被标记为删除的节点的所有子节点标记为删除;分别将所述标记为删除的节点的版本号加1,并更新所述待同步的文件树的版本号。16.如权利要求11所述的方法,其特征在于,所述节点的更新信息包括:新增加的节点在文件树中的位置信息以及所述新增加的节点所对应的文件;所述更新所述待同步的文件树,包括:根据所述新增加的节点的位置信息,在所述待同步的文件树上增加节点;将新增加的节点的版本号设置为所述待同步的文件树的版本号加1,并更新所述待同步的文件树的版本号;存储所述新增加的节点所对应的文件,建立所述新增加的节点与该节点所对应的文件的关联关系。17.如权利要求11所述的方法,其特征在于,所述节点的更新信息包括:新增加的节点在文件树中的位置信息以及所述新增加的节点所对应的文件夹;所述更新所述待同步的文件树,包括:根据所述新增加的节点的位置信息,在所述待同步的文件树上增加节点;将新增加的节点的版本号设置为所述待同步的文件树的版本号加1,并更新所述待同步的文件树的版本号;建立所述新增加的节点与该节点所对应的文件夹的关...

【专利技术属性】
技术研发人员:张俊武君卓龚悦
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1