System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 资产同步方法、装置和电子设备制造方法及图纸_技高网

资产同步方法、装置和电子设备制造方法及图纸

技术编号:41290911 阅读:2 留言:0更新日期:2024-05-13 14:42
本公开的实施例提供资产同步方法、装置和电子设备。该方法包括:根据待同步资产集构建有向图,待同步资产集包括多个待同步资产,有向图包括至少一个有向边,有向边表示待同步资产之间的层级依赖关系,将多个第一待同步资产添加至待同步队列,第一待同步资产为有向图中入度为零的待同步资产,从待同步队列中取出第一待同步资产进行同步,若第一待同步资产资产同步成功,将同步成功的第一待同步资产对应的所有第二待同步资产加入待同步队列,其中,第一待同步资产与一个对应的第二待同步资产构成一个有向边。该方法能够确保子节点同步之前,其对应的父节点同步成功,从而提升有层级依赖关系的资产的同步准确性。

【技术实现步骤摘要】

本公开的实施例涉及同步,具体地,涉及资产同步方法、装置和电子设备


技术介绍

1、资产同步能力中需要实现各种类型资产的多端同步,多端同步包括本地端同步到云端以及云端同步到本地端。资产类型包括有层级依赖关系的资产和无层级依赖关系的资产,其中,有层级依赖关系的资产可以是文件与文件夹,以及标签与标签组等,无层级依赖关系的资产可以是空间库等。

2、针对无层级依赖关系的资产,可以通过简单的并发保证资产同步的准确性和同步的效率。然而针对有层级依赖关系的资产,例如文件夹与文件之间的层级依赖关系,采用简单的并发无法满足同步准确性。


技术实现思路

1、本公开实施例提供了一种资产同步方法、装置、电子设备和计算机存储介质,能够提升有层级依赖关系的资产的同步准确性。

2、第一方面,本公开提供了一种资产同步方法,包括:

3、根据待同步资产集构建有向图,所述待同步资产集包括多个待同步资产,所述有向图包括至少一个有向边,所述有向边表示所述待同步资产之间的层级依赖关系;将多个第一待同步资产添加至待同步队列,所述第一待同步资产为所述有向图中入度为零的所述待同步资产;从所述待同步队列中取出所述第一待同步资产进行同步;若所述第一待同步资产资产同步成功,将同步成功的所述第一待同步资产对应的所有第二待同步资产加入所述待同步队列,其中,所述第一待同步资产与一个对应的所述第二待同步资产构成一个所述有向边。

4、在本公开的一些实施例中,所述从所述待同步队列中取出所述第一待同步资产进行同步之前,还包括:

5、基于线程数并发多个线程。

6、所述从所述待同步队列中取出所述第一待同步资产进行同步包括:

7、基于所述多个线程,从所述待同步队列中取出多个所述第一待同步资产进行同步。

8、在本公开的一些实施例中,所述基于线程数并发多个线程包括:

9、根据预设线程数并发所述多个线程;或者,获取中央处理器cpu的核心数;根据中央处理器cpu的核心数并发所述多个线程,所述核心数与所述线程数相关。

10、在本公开的一些实施例中,所述将多个第一待同步资产添加至待同步队列之前,还包括:

11、基于拓扑排序算法,从所述有向图中获取多个所述第一待同步资产。

12、在本公开的一些实施例中,所述方法还包括:

13、若所述第一待同步资产资产同步失败,从所述待同步队列中的取出其他待同步资产进行同步。

14、在本公开的一些实施例中,所述方法还包括:

15、若所述待同步队列为空,从同步数据库获取最新待同步资产集;基于所述最新待同步资产集更新所述待同步资产集,并返回执行所述根据待同步资产集构建有向图。

16、在本公开的一些实施例中,所述根据待同步资产集构建有向图之前,还包括:

17、若用户对多个资产进行操作,得到多个所述待同步资产;将多个所述待同步资产写入同步数据库;触发同步请求以从所述同步数据库中获取所述待同步资产集。

18、在本公开的一些实施例中,所述方法还包括:

19、在同步完成后的预设时间段从同步数据库中获取第三待同步资产,所述第三待同步资产为同步失败的所述第一待同步资产;将所述第三待同步资产添加至所述待同步队列;从所述待同步队列中取出所述第三待同步资产进行同步。

20、第二方面,本公开提供了一种资产同步装置,包括:

21、构建模块,用于根据待同步资产集构建有向图,所述待同步资产集包括多个待同步资产,所述有向图包括至少一个有向边,所述有向边表示所述待同步资产之间的依赖关系。控制模块,用于将多个第一待同步资产添加至待同步队列,所述第一待同步资产为所述有向图中入度为零的所述待同步资产。同步模块,用于从所述待同步队列中取出所述第一待同步资产进行同步。所述控制模块,还用于若所述第一待同步资产资产同步成功,将同步成功的所述第一待同步资产对应的所有第二待同步资产加入所述待同步队列,其中,所述第一待同步资产与一个对应的所述第二待同步资产构成一个所述有向边。

22、第三方面,本公开提供了一种电子设备,包括处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一方法的步骤。

23、第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在由处理器执行时实现第一方面提供的任一方法的步骤。

24、本公开提供的技术方案中,通过根据待同步资产集构建有向图,待同步资产集包括多个待同步资产,有向图包括至少一个有向边,有向边表示待同步资产之间的层级依赖关系,将多个第一待同步资产添加至待同步队列,第一待同步资产为有向图中入度为零的待同步资产,从待同步队列中取出第一待同步资产进行同步,若第一待同步资产资产同步成功,将同步成功的第一待同步资产对应的所有第二待同步资产加入待同步队列,其中,第一待同步资产与一个对应的第二待同步资产构成一个有向边,能够确保子节点同步之前,其对应的父节点同步成功,从而提升有层级依赖关系的资产的同步准确性。

本文档来自技高网...

【技术保护点】

1.一种资产同步方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述从所述待同步队列中取出所述第一待同步资产进行同步之前,还包括:

3.根据权利要求2所述的方法,其特征在于,所述基于线程数并发多个线程包括:

4.根据权利要求1-3任一项所述的方法,其特征在于,所述将多个第一待同步资产添加至待同步队列之前,还包括:

5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:

6.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:

7.根据权利要求1-3任一项所述的方法,其特征在于,所述根据待同步资产集构建有向图之前,还包括:

8.根据权利要求5所述的方法,其特征在于,所述方法还包括:

9.一种资产同步装置,其特征在于,包括:

10.一种电子设备,其特征在于,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。

【技术特征摘要】

1.一种资产同步方法,其特征在于,包括:

2.根据权利要求1所述的方法,其特征在于,所述从所述待同步队列中取出所述第一待同步资产进行同步之前,还包括:

3.根据权利要求2所述的方法,其特征在于,所述基于线程数并发多个线程包括:

4.根据权利要求1-3任一项所述的方法,其特征在于,所述将多个第一待同步资产添加至待同步队列之前,还包括:

5.根据权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:

6.根...

【专利技术属性】
技术研发人员:余瑞银刘欣欣
申请(专利权)人:稿定厦门科技有限公司
类型:发明
国别省市:

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

1