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

数据同步方法、装置、系统、电子设备及可读存储介质制造方法及图纸

技术编号:40482426 阅读:6 留言:0更新日期:2024-02-26 19:16
本发明专利技术公开了一种数据同步方法、装置、系统、电子设备及可读存储介质,应用于分布式存储技术领域。其中,方法包括开启千亿桶功能的源站点主动向目标站点发送桶分片分裂完成通知请求,以将新分裂桶分片数据存储为同步进度对象数据。当检测到桶分片处于全量同步状态,向源站点发送源桶分片的分裂状态查询请求,并从存储池中获取源桶分片的同步进度对象数据;根据源桶分片的分裂状态和同步进度对象数据确定满足新桶分片全量同步触发条件,对源桶分片的新桶分片进行全量同步。本发明专利技术可以解决相关技术千亿桶的全量同步出现少对象的问题,能够实现目标站点在对分布式对象存储系统的千亿桶全量同步时与源站点的数据完全一致。

【技术实现步骤摘要】

本专利技术涉及分布式存储,特别是涉及一种数据同步方法、装置、系统、电子设备及可读存储介质


技术介绍

1、存储桶为对象存储针对用户可用的逻辑上的存放对象的容器,每个桶在创建的时候都会创建出固定数量的桶分片。目前分布式对象存储系统支持存储规模为千亿的存储桶,也即分布式对象存储系统支持千亿桶功能。该功能需要在创建桶之前开启千亿桶特性开关,这样创建的桶称为千亿桶,理论上可以支持千亿对象的存储。

2、相关技术的目标站点对分布式对象存储系统的桶分片进行全量同步时,首先向源站点发送列举对象索引请求,根据列举到的对象索引,再向源站点发送获取对象请求,从而将对象同步到目标站点。而由于千亿桶在创建时,其桶分片数量较少,当桶分片上的对象索引增加至预设阈值时,桶分片会自动分裂。当目标站点的桶分片在执行全量同步时,若源站点上的对应桶分片发生了自动分裂,相关技术中的目标站点就无法列举到已经迁移到新桶分片上的对象索引,从而导致千亿桶的全量同步出现少对象的情况。

3、鉴于此,实现目标站点在对分布式对象存储系统的千亿桶全量同步时与源站点的数据完全一致,是所属领域技术人员需要解决的技术问题。


技术实现思路

1、本专利技术提供了一种数据同步方法、装置、系统、电子设备及可读存储介质,能够实现目标站点在对分布式对象存储系统的千亿桶全量同步时与源站点的数据完全一致。

2、为解决上述技术问题,本专利技术提供以下技术方案:

3、本专利技术第一方面提供了一种数据同步方法,应用于同步源站点的千亿桶数据的目标站点,包括:

4、当检测到千亿桶的桶分片处于全量同步状态,向所述源站点发送源桶分片的分裂状态查询请求,并从存储池中获取所述源桶分片的同步进度对象数据;

5、根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件;

6、当满足新桶分片全量同步触发条件,对所述源桶分片的新桶分片进行全量同步;

7、其中,所述新桶分片为所述源桶分片自动分裂的桶分片,所述同步进度对象数据为解析所述源站点实时主动发送的桶分片分裂完成通知请求,并将解析得到的新分裂桶分片数据存储至所述存储池所得;所述新桶分片全量同步触发条件用于表示源桶分片在全量同步过程中发生自动分裂。

8、在第一种示例性的实施方式中,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件,包括:

9、当所述源桶分片为分裂完成状态,判断所述同步进度对象数据是否存在新桶分片;

10、若所述同步进度对象数据存在新桶分片,则满足新桶分片全量同步触发条件;

11、若所述同步进度对象数据不存在新桶分片,则不满足新桶分片全量同步触发条件。

12、在第二种示例性的实施方式中,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件,包括:

13、当所述源桶分片的分裂状态处于未分裂状态和正在分裂状态,则不满足新桶分片全量同步触发条件。

14、在第三种示例性的实施方式中,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件之后,还包括:

15、若所述源桶分片处于正在分裂状态,则退出当前全量同步流程;

16、若所述源桶分片未处于正在分裂状态,且不满足新桶分片全量同步触发条件,则向所述源站点的源桶分片发送列举对象索引请求,并根据列举到的对象索引同步相应对象。

17、在第四种示例性的实施方式中,所述检测到千亿桶的桶分片处于全量同步状态,包括:

18、向源站点的源桶分片发送列举对象索引请求;

19、若所述源站点的源桶分片没有对象索引,则所述源桶分片处于增量同步状态;

20、若所述源站点的源桶分片有对象索引,则所述源桶分片处于全量同步状态。

21、在第五种示例性的实施方式中,还包括:

22、预先在开始从源站点同步数据的启动时刻,为所述源站点当前各初始源桶分片在存储池中创建对应的对象;

23、当接收到所述源站点主动发送的桶分片分裂完成通知请求,通过解析所述桶分片分裂完成通知请求得到新分裂桶分片数据;

24、将所述新分裂桶分片数据,存储至所述新分裂桶分片所属初始桶分片对应的对象中。

25、在第六种示例性的实施方式中,所述通过解析所述桶分片分裂完成通知请求得到新分裂桶分片数据,包括:

26、根据预先设置的待存储标识信息,从所述桶分片分裂完成通知请求中读取所述待存储标识信息对应的待存储数据;

27、按照预设对象存储格式,从所述待存储数据中读取源站点标识、初始源桶标识、源桶分片标识及新桶分片标识,并将所述新桶分片标识作为新分裂桶分片数据。在第七种示例性的实施方式中,所述将所述新分裂桶分片数据,存储至所述新分裂桶分片所属初始桶分片对应的对象中,包括:

28、判断所述源桶分片标识对应的对象是否存在;

29、若所述源桶分片标识对应的对象存在,则按照所述初始源桶标识:所述源桶分片标识:所述新桶分片标识的格式,将所述新桶分片标识以数据的形式写入至所述源桶分片标识对应的对象中。

30、本专利技术第二方面提供了一种数据同步方法,应用于支持千亿桶功能的源站点,包括:

31、预先在创建桶之前,开启千亿桶功能;

32、每当检测到桶分片自动分裂完成,则主动向目标站点发送桶分片分裂完成通知请求,以使所述目标站点通过解析所述桶分片分裂完成通知请求,并将解析得到的新分裂桶分片数据存储至存储池;

33、其中,所述目标站点通过执行如前所述数据同步方法的步骤从所述源站点同步数据。

34、在第一种示例性的实施方式下,所述每当检测到桶分片自动分裂完成,则主动向目标站点发送桶分片分裂完成通知请求,包括:

35、当检测到源桶分片上的对象索引数量达到预设索引阈值,则为所述源桶分片设置分裂标识,并确定自动分裂的新桶分片号;所述分裂标识用于记录当前桶分片的分裂状态;

36、根据所述新桶分片号创建新桶分片,将所述源桶分片的至少一个对象索引迁移至所述新桶分片,并将所述源桶分片的分裂标识修改为已完成;

37、当检测到所述源桶分片的分裂标识为已完成,则根据所述源桶分片和对应自动分裂的新桶分片生成桶分片分裂完成通知请求。

38、在第二种示例性的实施方式下,所述每当检测到桶分片自动分裂完成,则主动向目标站点发送桶分片分裂完成通知请求,包括:

39、获取源站点标识、初始源桶标识、源桶分片标识及新桶分片标识;

40、将所述源站点标识、所述初始源桶标识、所述源桶分片标识及所述新桶分片标识,按照预设对象存储格式拼接为字符串;

41、基于预先设置的待存储标识信息,根据所述字符串生成桶分片分裂完成通知请求。

42本文档来自技高网...

【技术保护点】

1.一种数据同步方法,其特征在于,应用于同步源站点的千亿桶数据的目标站点,包括:

2.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件,包括:

3.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件,包括:

4.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件之后,还包括:

5.根据权利要求1所述的数据同步方法,其特征在于,所述检测到千亿桶的桶分片处于全量同步状态,包括:

6.根据权利要求1至5任意一项所述的数据同步方法,其特征在于,还包括:

7.根据权利要求6所述的数据同步方法,其特征在于,所述通过解析所述桶分片分裂完成通知请求得到新分裂桶分片数据,包括:

8.根据权利要求7所述的数据同步方法,其特征在于,所述将所述新分裂桶分片数据,存储至新分裂桶分片所属初始桶分片对应的对象中,包括:

9.一种数据同步方法,其特征在于,应用于支持千亿桶功能的源站点,包括:

10.根据权利要求9所述的数据同步方法,其特征在于,所述每当检测到桶分片自动分裂完成,则主动向目标站点发送桶分片分裂完成通知请求,包括:

11.根据权利要求9所述的数据同步方法,其特征在于,所述每当检测到桶分片自动分裂完成,则主动向目标站点发送桶分片分裂完成通知请求,包括:

12.一种数据同步装置,其特征在于,应用于同步源站点的千亿桶数据的目标站点,包括:

13.一种数据同步装置,其特征在于,应用于支持千亿桶功能的源站点,包括:

14.一种电子设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的计算机程序时实现如权利要求1至11任一项所述数据同步方法的步骤。

15.一种可读存储介质,其特征在于,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至11任一项所述数据同步方法的步骤。

16.一种数据同步系统,其特征在于,包括源站点和目标站点;

...

【技术特征摘要】

1.一种数据同步方法,其特征在于,应用于同步源站点的千亿桶数据的目标站点,包括:

2.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件,包括:

3.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件,包括:

4.根据权利要求1所述的数据同步方法,其特征在于,所述根据所述源桶分片的分裂状态和所述同步进度对象数据确定是否满足新桶分片全量同步触发条件之后,还包括:

5.根据权利要求1所述的数据同步方法,其特征在于,所述检测到千亿桶的桶分片处于全量同步状态,包括:

6.根据权利要求1至5任意一项所述的数据同步方法,其特征在于,还包括:

7.根据权利要求6所述的数据同步方法,其特征在于,所述通过解析所述桶分片分裂完成通知请求得到新分裂桶分片数据,包括:

8.根据权利要求7所述的数据同步方法,其特征在于,所述将所述新分裂桶分片数据,存储至新分裂桶分片所...

【专利技术属性】
技术研发人员:李欢欢何文龙陶桐桐
申请(专利权)人:济南浪潮数据技术有限公司
类型:发明
国别省市:

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

1