System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本公开的实施例涉及同步,具体地,涉及资产同步方法、装置和电子设备。
技术介绍
1、资产同步通常指本地端文件系统中的文件和/或文件夹同步到其他本地端或云端,和/或云端的文件和/或文件夹同步到本地端,通常可以采用增量同步的方式将文件和/或文件夹从本地端同步到云端,或者将文件和/或文件夹从云端同步到本地端,以提升资产的同步效率。
2、然而,在文件系统的事件丢失的情况下,若采用增量同步会使资产同步的准确性降低,导致无法同时满足资产同步效率和资产同步的准确性。
技术实现思路
1、本公开实施例提供了一种资产同步方法、装置、电子设备和计算机存储介质,能够在提升资产同步效率的同时,提高资产同步的准确性。
2、第一方面,本公开提供了一种资产同步方法,包括:
3、在文件系统产生变更事件时获取变更资产的属性信息;根据所述变更资产的所述属性信息,确定所述变更资产的类型;若所述变更事件与上一次所述变更事件之间的时间差小于预设时间,根据所述变更资产的所述类型,比对所述变更资产得到第一待同步内容,并将所述第一待同步内容同步至云端;若所述变更事件与上一次所述变更事件之间的时间差大于或等于所述预设时间,根据所述变更资产的所述类型,比对所述文件系统中的所有资产和数据库得到第二待同步内容,并将所述第二待同步内容同步至所述云端。
4、在本公开的一些实施例中,所述根据所述变更资产的所述类型,比对所述变更资产得到第一待同步内容包括:
5、若所述变更资产为新增资产,基
6、在本公开的一些实施例中,所述根据所述变更资产的所述属性信息,确定所述变更资产的类型包括:
7、从所述变更资产的所述属性信息中获取所述变更资产的inode号;基于所述变更资产的所述inode号遍历所述数据库和所述文件系统;根据所述数据库和所述文件系统中是否存在所述变更资产的所述inode号,确定所述变更资产的类型。
8、在本公开的一些实施例中,所述根据所述数据库和所述文件系统中是否存在所述变更资产的所述inode号,确定所述变更资产的类型包括:
9、若所述文件系统中存在所述变更资产的所述inode号且所述数据库中不存在所述变更资产的所述inode号,确定所述变更资产为新增资产;若所述文件系统中不存在所述变更资产的所述inode号且所述数据库中存在所述变更资产的所述inode号,确定所述变更资产为删除资产;若所述文件系统中存在所述变更资产的所述inode号且所述数据库中存在所述变更资产的所述inode号,确定所述变更资产为更新资产。
10、在本公开的一些实施例中,所述根据所述变更资产的所述类型,比对所述文件系统中的所有资产和数据库得到第二待同步内容包括:
11、若所述变更资产为新增资产,将存在于所述文件系统且不存在于所述数据库的第一资产确定为所述第二待同步内容;若所述变更资产为删除资产,将不存在于所述文件系统且存在于所述数据库的第二资产确定为所述第二待同步内容;若所述变更资产为更新资产,根据存在于所述文件系统且存在于所述数据库的第三资产,确定所述第二待同步内容。
12、在本公开的一些实施例中,所述根据存在于所述文件系统且存在于所述数据库的第三资产,确定所述第二待同步内容包括:
13、根据所述第三资产的元数据信息,确定所述第三资产的更新类型;根据所述第三资产的所述更新类型,确定所述第二待同步内容。
14、在本公开的一些实施例中,所述根据所述第三资产的所述更新类型,确定所述第二待同步内容包括:
15、若所述第三资产的所述更新类型为资产名更新,确定所述第二待同步内容为所述文件系统中的所述第三资产的资产名称;若所述第三资产的所述更新类型为资产内容更新,比对所述文件系统和所述数据库中的所述第三资产的资产内容,确定所述第二待同步内容为所述文件系统和所述数据库中的所述第三资产的所述资产内容的差异。
16、在本公开的一些实施例中,所述方法还包括:
17、将所述变更资产的所述属性信息和所述变更资产在所述文件系统中的根路径进行匹配,确定所述变更资产的所述属性信息是否正确;若所述变更资产的所述属性信息正确,基于所述变更资产的所述属性信息获取所述变更资产的所述元数据信息。
18、第二方面,本公开提供了一种资产同步装置,包括:
19、获取模块,用于在文件系统产生变更事件时获取变更资产的属性信息;确定模块,用于根据所述变更资产的所述属性信息,确定所述变更资产的类型;增量模块,用于若所述变更事件与上一次所述变更事件之间的时间差小于预设时间,根据所述变更资产的所述类型,比对所述变更资产得到第一待同步内容;全量模块,用于若所述变更事件与上一次所述变更事件之间的时间差大于或等于所述预设时间,根据所述变更资产的所述类型,比对所述文件系统中的所有资产和数据库得到第二待同步内容;同步模块,用于将所述第一待同步内容同步至云端;还用于将所述第二待同步内容同步至所述云端。
20、第三方面,本公开提供了一种电子设备,包括处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现第一方面提供的任一方法的步骤。
21、第四方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序在由处理器执行时实现第一方面提供的任一方法的步骤。
22、本公开提供的技术方案中,通过在文件系统产生变更事件时获取变更资产的属性信息,根据变更资产的属性信息确定变更资产的类型,若变更事件与上一次变更事件之间的时间差小于预设时间,根据变更资产的类型比对变更资产得到第一待同步内容,并将第一待同步内容同步至云端,可以在文件系统正常产生变更事件的情况下,对文件系统中的增量资产进行比对从而实现增量资产同步。通过若变更事件与上一次变更事件之间的时间差大于或等于预设时间,根据变更资产的类型,比对文件系统中的所有资产和数据库得到第二待同步内容,并将第二待同步内容同步至云端,可以在文件系统产生的变更事件丢失的情况下,对文件系统中的全量资产进行比对从而实现全量资产同步。如此,在文件系统正常产生变更事件的情况下可以缩短资产同步所消耗的时间,在文件系统产生的变更事件丢失的情况下可以比较准确地将资产同步至云端,能够在提升资产同步效率的同时,提高资产同步的准确性。
本文档来自技高网...【技术保护点】
1.一种资产同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述变更资产的所述类型,比对所述变更资产得到第一待同步内容包括:
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述变更资产的所述属性信息,确定所述变更资产的类型包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述数据库和所述文件系统中是否存在所述变更资产的所述inode号,确定所述变更资产的类型包括:
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述变更资产的所述类型,比对所述文件系统中的所有资产和数据库得到第二待同步内容包括:
6.根据权利要求5所述的方法,其特征在于,所述根据存在于所述文件系统且存在于所述数据库的第三资产,确定所述第二待同步内容包括:
7.根据权利要求6所述的方法,其特征在于,所述根据所述第三资产的所述更新类型,确定所述第二待同步内容包括:
8.根据权利要求2所述的方法,其特征在于,所述方法还包括:
9.一种资产同步装置,其特征在于,包括:
>10.一种电子设备,其特征在于,包括:处理器,所述处理器用于执行存储于存储器的计算机程序,所述计算机程序被处理器执行时实现权利要求1-8任一项所述方法的步骤。
...【技术特征摘要】
1.一种资产同步方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述变更资产的所述类型,比对所述变更资产得到第一待同步内容包括:
3.根据权利要求1或2所述的方法,其特征在于,所述根据所述变更资产的所述属性信息,确定所述变更资产的类型包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述数据库和所述文件系统中是否存在所述变更资产的所述inode号,确定所述变更资产的类型包括:
5.根据权利要求1或2所述的方法,其特征在于,所述根据所述变更资产的所述类型,比对所述文件系统中的所有资产和数据库得...
【专利技术属性】
技术研发人员:徐彪,刘欣欣,
申请(专利权)人:稿定厦门科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。