一种服务端间文档增量同步方法、同步装置及存储介质制造方法及图纸

技术编号:25948171 阅读:19 留言:0更新日期:2020-10-17 03:40
本发明专利技术涉及一种服务端间文档增量同步方法、同步装置及存储介质,应用于源端服务器到目标端服务器的增量同步,所述源端服务器中维护一记录每个同步过的对象的同步记录表,所述同步方法具体为:以源端服务器上某一个目录为根节点,递归子节点,比对每个节点与同步记录表中的信息,获得差异信息,生成同步任务表,将所述同步任务表拆解成并发进行的多个子任务,并发传输至目标端服务器中,在每个子任务完成后,在所述同步记录表中更新各子任务的执行结果。与现有技术相比,本发明专利技术无需向对端服务器请求文档结构,在本地就能计算出差异,计算效率大大提高、对网络环境的依赖大大降低。

【技术实现步骤摘要】
一种服务端间文档增量同步方法、同步装置及存储介质
本专利技术涉及数据库
,尤其是涉及一种服务端间文档增量同步方法、同步装置及存储介质。
技术介绍
文档同步作为网盘的一项基础功能,在各个网盘产品中都有比较成熟的算法,来保证文件在客户端本地与服务器保持一致。通常地,文件同步为C/S架构:服务端保存每个终端的文件列表,客户端通过服务端提供的接口,来获取文件列表信息并在本地缓存。当客户端需要进行同步时,需要通过网络请求从服务器端获取目录的结构及文档对象的属性,结合客户端本地的文件缓存信息,来进行增量计算,做出同步决策。但是出于合规性要求,服务器与服务器之间的网络一般是物理隔离的,服务器-服务器之间只能通过交换设备进行文件的传输。在此种环境下,客户端-服务器的同步模式不适用于服务器-服务器的文档同步。因此,需要研发一种新方法来应用于服务器-服务器之间的文档同步。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种服务端间文档增量同步方法、同步装置及存储介质,无需向对端服务器请求文档结构,使用方便,同步时间短。本专利技术的目的可以通过以下技术方案来实现:一种服务端间文档增量同步方法,应用于源端服务器到目标端服务器的增量同步,所述源端服务器中维护一记录每个同步过的对象的同步记录表,所述同步方法具体为:以源端服务器上某一个目录为根节点,递归子节点,比对每个节点与同步记录表中的信息,获得差异信息,生成同步任务表,将所述同步任务表拆解成并发进行的多个子任务,并发传输至目标端服务器中,在每个子任务完成后,在所述同步记录表中更新各子任务的执行结果。进一步地,所述差异信息通过增量计算获得,进行所述增量计算时比较的文档对象属性包括文档id和版本标识。进一步地,所述增量计算的具体过程包括:1)读取源端服务器中各文档对象的版本标识,判断该版本标识是否在同步记录表中,若是,则执行步骤4),若否,则执行步骤2);2)判断与该版本标识关联的文档id是否在同步记录表中,若是,则执行步骤3),若否,则将对应的文档对象写入同步任务表中,并标记为上传;3)若该文档对象为目录,则对目录的子对象进行递归,当与该文档对象同一级的所有对象都遍历完成后,从同步记录表中取出所有记录,根据文件名查找源端服务器中不存在的对象,将这些对象写到同步任务表中,并标记为删除;若该文档对象为文件,直接将该文档对象写入同步任务表中,并标记为上传;4)不进行同步;5)从根节点开始向下递归,直到所有文件和目录都完成。进一步地,将所述同步任务表拆解成多个子任务具体为:对所述同步任务表中的每一条记录进行小粒度拆解。进一步地,所述小粒度拆解具体为:根据各同步任务的标记,调用与目标端服务器通信的对应的处理接口实现对文件的相应处理。将标记为“上传”的同步任务,调用向目标端服务器上传文件的接口,传递文件信息进行上传;将标记为“删除”的同步任务,调用向目标端服务器删除文件的接口,传递文件信息进行删除。进一步地,在所述同步记录表中更新各子任务的执行结果具体为:若待操作对象为文件,则在对象标记为上传时,在同步记录表中同时记录文档id及版本标识,在对象标记为删除时,从同步记录表中删除对应文档id的记录;若待操作对象为目录,则在对象标记为上传时,在同步记录表中记录上传目录中每个文件的文档id及版本标识,在对象标记为删除时,从同步记录表中删除对应文档id的记录,并且删除同步记录表中子对象的文档id的记录。进一步地,在同步记录表中记录文档id及版本标识时,若同步记录表中存在该文档id,则覆盖对应版本标识;否则,新增一条包含文档id及版本标识的同步记录。进一步地,所述源端服务器通过交换设备将信息传输至源端服务器。本专利技术还提供一种服务端间文档增量同步装置,设置于源端服务器,包括:增量计算模块,用于维护一记录每个同步过的对象的同步记录表,在执行同步任务时,以源端服务器上某一个目录为根节点,递归子节点,比对每个节点与同步记录表中的信息,获得差异信息,生成同步任务表;同步模块,用于将所述同步任务表拆解成并发进行的多个子任务,并发传输至目标端服务器中,在每个子任务完成后,在所述同步记录表中更新各子任务的执行结果。本专利技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行以实现所述的方法。与现有技术相比,本专利技术具有如下有益效果:1、本专利技术在源端服务器对文档同步结果进行记录,可以在不需要与目标端进行通信的情况下,即可实现文档的增量同步,无需向对端服务器请求文档结构,在本地就能计算出差异,计算效率大大提高、对网络环境的依赖大大降低。2、本专利技术在网络物理隔离的环境下,方便通过交换设备进行文件传输。3、本专利技术通过计算源端服务器和目标端服务器的文件差异,可以实现仅对变化部分进行同步,减少同步的时间,节省同步的带宽使用。4、通过将同步任务拆解成子任务,可以将一次同步任务分解并发进行,在发生异常导致单个子任务失败的时候,可以针对单个子任务进行重试,也可以在下一次进行增量同步时包含失败的子任务。5、本专利技术在增量计算和同步处理时对文件和目录进行分类处理,同步精度高,可靠性高。附图说明图1为本专利技术的同步过程原理图;图2为本专利技术增量计算过程示意图;图3为本专利技术同步记录表更新示意图;图4为实施例中通过交换设备进行传输的示意图。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。本实施例以本专利技术技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本专利技术的保护范围不限于下述的实施例。术语与定义增量计算:指通过比较同步对象在源端与目标端的差异,计算一次同步任务要包含的同步对象的计算过程。同步:指将文档通过网络从源端系统传输到目标端系统的过程。同步记录表:指源端系统对每个文档的同步结果进行记录的表。文档同步完成后会将文档信息更新或新增到该表,以用于下一次同步时进行增量计算。实施例1本实施例提供一种服务端间文档增量同步方法,应用于源端服务器(源端系统)到目标端服务器(对端服务器,目标端系统)的增量同步,所述源端服务器中维护一记录每个同步过的对象的同步记录表,所述同步方法具体为:以源端服务器上某一个目录为根节点,递归子节点,比对每个节点与同步记录表中的信息,获得差异信息,生成同步任务表,将所述同步任务表拆解成并发进行的多个子任务,调用对端文件系统API,并发传输至目标端服务器中,在每个子任务完成后,在所述同步记录表中更新各子任务的执行结果。通过上述过程的循环,实现两个系统间的文档增量同步。该同步方法适用于在两套系统间进行文档同步,在不需要向目标端发送网络请求获取文档结构和文档属性的情况下,通过在源端系统对同步内容进行计算和更新,实现文档的增量同步。<本文档来自技高网...

【技术保护点】
1.一种服务端间文档增量同步方法,应用于源端服务器到目标端服务器的增量同步,其特征在于,所述源端服务器中维护一记录每个同步过的对象的同步记录表,所述同步方法具体为:/n以源端服务器上某一个目录为根节点,递归子节点,比对每个节点与同步记录表中的信息,获得差异信息,生成同步任务表,将所述同步任务表拆解成并发进行的多个子任务,并发传输至目标端服务器中,在每个子任务完成后,在所述同步记录表中更新各子任务的执行结果。/n

【技术特征摘要】
1.一种服务端间文档增量同步方法,应用于源端服务器到目标端服务器的增量同步,其特征在于,所述源端服务器中维护一记录每个同步过的对象的同步记录表,所述同步方法具体为:
以源端服务器上某一个目录为根节点,递归子节点,比对每个节点与同步记录表中的信息,获得差异信息,生成同步任务表,将所述同步任务表拆解成并发进行的多个子任务,并发传输至目标端服务器中,在每个子任务完成后,在所述同步记录表中更新各子任务的执行结果。


2.根据权利要求1所述的服务端间文档增量同步方法,其特征在于,所述差异信息通过增量计算获得,进行所述增量计算时比较的文档对象属性包括文档id和版本标识。


3.根据权利要求2所述的服务端间文档增量同步方法,其特征在于,所述增量计算的具体过程包括:
1)读取源端服务器中各文档对象的版本标识,判断该版本标识是否在同步记录表中,若是,则执行步骤4),若否,则执行步骤2);
2)判断与该版本标识关联的文档id是否在同步记录表中,若是,则执行步骤3),若否,则将对应的文档对象写入同步任务表中,并标记为上传;
3)若该文档对象为目录,则对目录的子对象进行递归,当与该文档对象同一级的所有对象都遍历完成后,从同步记录表中取出所有记录,根据文件名查找源端服务器中不存在的对象,将这些对象写到同步任务表中,并标记为删除;
若该文档对象为文件,直接将该文档对象写入同步任务表中,并标记为上传;
4)不进行同步;
5)从根节点开始向下递归,直到所有文件和目录都完成。


4.根据权利要求1所述的服务端间文档增量同步方法,其特征在于,将所述同步任务表拆解成多个子任务具体为:对所述同步任务表中的每一条记录进行小粒度拆解。


5.根据权利要求4所述的服务端间文档增量同...

【专利技术属性】
技术研发人员:毛正阳
申请(专利权)人:上海爱数信息技术股份有限公司
类型:发明
国别省市:上海;31

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

1